From 73119181134cda76a5ab307716fb4c0a9d3f6483 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 27 Oct 2023 10:55:48 -0400 Subject: [PATCH 01/43] chemgpt automodel and tokenizer --- src/models/lig_mod.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index ac937fad..356a3247 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -1,6 +1,12 @@ +import os +# for huggingface models: +os.environ['TRANSFORMERS_CACHE'] = '../hf_models/' + from torch import nn from torch_geometric.nn import (GCNConv, global_mean_pool as gep) +from transformers import AutoTokenizer, AutoModel + from src.models.prior_work import DGraphDTA class DGraphDTALigand(DGraphDTA): @@ -10,6 +16,11 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 print('DGraphDTA Loaded') num_features_mol = 78 + #### ChemGPT #### + + tokenizer = AutoTokenizer.from_pretrained("ncfrey/ChemGPT-4.7M") + model = AutoModel.from_pretrained("ncfrey/ChemGPT-4.7M") + # if ligand_feature == 'some new feature list': # num_features_mol = updated number From 27fccf814237aa39d9bf2786ffdb1e6a8cc519bc Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 27 Oct 2023 11:18:43 -0400 Subject: [PATCH 02/43] Added tokenizer and model to playground --- playground.py | 12 +++++++++++- src/models/lig_mod.py | 4 ---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/playground.py b/playground.py index bb1395b4..fc14e957 100644 --- a/playground.py +++ b/playground.py @@ -1,9 +1,19 @@ # %% from src.data_analysis.figures import prepare_df, fig3_edge_feat +from src.utils import config + +from transformers import AutoTokenizer, AutoModel + + df = prepare_df('results/model_media/model_stats.csv') # %% fig3_edge_feat(df, show=True, exclude=[]) # %% -print('test') \ No newline at end of file +print('test') + +#### ChemGPT #### + +tokenizer = AutoTokenizer.from_pretrained("ncfrey/ChemGPT-4.7M") +model = AutoModel.from_pretrained("ncfrey/ChemGPT-4.7M") \ No newline at end of file diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 356a3247..e0bdb006 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -1,7 +1,3 @@ -import os -# for huggingface models: -os.environ['TRANSFORMERS_CACHE'] = '../hf_models/' - from torch import nn from torch_geometric.nn import (GCNConv, global_mean_pool as gep) From 90d6e8a22476ec91c4f84a5b8884d49408a45838 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Mon, 30 Oct 2023 15:48:50 -0400 Subject: [PATCH 03/43] style: `init_dataset.py` comments + formating --- src/data_processing/init_dataset.py | 46 ++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/src/data_processing/init_dataset.py b/src/data_processing/init_dataset.py index 1b4ef65e..2f0d68a8 100644 --- a/src/data_processing/init_dataset.py +++ b/src/data_processing/init_dataset.py @@ -2,6 +2,7 @@ import sys import itertools from typing import Iterable +from src.utils import config as cfg # Add the project root directory to Python path so imports work if file is run PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../')) @@ -12,9 +13,32 @@ from src.train_test.utils import train_val_test_split def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Iterable[str], - pro_overlap:bool, data_root_dir:str, + pro_overlap:bool=False, data_root:str=cfg.DATA_ROOT, ligand_features:Iterable[str]=['original'], ligand_edges:Iterable[str]='binary') -> None: + """ + Creates the datasets for the given data, feature, and edge options. + + Parameters + ---------- + `data_opt` : Iterable[str] + The datasets to create. + `feat_opt` : Iterable[str] + The protein feature options to use. + `edge_opt` : Iterable[str] + The protein edge weight options to use. + `pro_overlap` : bool + Whether or not to create datasets with overlapping proteins, by default + False + `data_root` : str, optional + The root directory for the datasets, by default cfg.DATA_ROOT + `ligand_features` : Iterable[str], optional + Ligand features to use, by default ['original'] + `ligand_edges` : Iterable[str], optional + Ligand edges to use, by default 'binary' + """ + + # Loop through all combinations of data, feature, and edge options for data, FEATURE, EDGE, ligand_feature, ligand_edge in itertools.product( data_opt, feat_opt, edge_opt, ligand_features, ligand_edges): @@ -22,12 +46,12 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Ite if data in ['davis', 'kiba']: if FEATURE == 'msa': # position frequency matrix creation -> important for msa feature - create_pfm_np_files(f'{data_root_dir}/{data}/aln', processes=4) + create_pfm_np_files(f'{data_root}/{data}/aln', processes=4) dataset = DavisKibaDataset( - save_root=f'{data_root_dir}/DavisKibaDataset/{data}/', - data_root=f'{data_root_dir}/{data}/', - aln_dir=f'{data_root_dir}/{data}/aln/', + save_root=f'{data_root}/DavisKibaDataset/{data}/', + data_root=f'{data_root}/{data}/', + aln_dir=f'{data_root}/{data}/aln/', cmap_threshold=-0.5, feature_opt=FEATURE, af_conf_dir=f'../colabfold/{data}_af2_out/', # colabfold not needed if no structure required methods are used (see config) @@ -37,9 +61,9 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Ite ) elif data == 'PDBbind': dataset = PDBbindDataset( - save_root=f'{data_root_dir}/PDBbindDataset/', - data_root=f'{data_root_dir}/v2020-other-PL/', - aln_dir=f'{data_root_dir}/PDBbind_a3m', + save_root=f'{data_root}/PDBbindDataset/', + data_root=f'{data_root}/v2020-other-PL/', + aln_dir=f'{data_root}/PDBbind_a3m', cmap_threshold=8.0, overwrite=False, # overwrite old cmap.npy files af_conf_dir='../colabfold/pdbbind_af2_out/', @@ -50,8 +74,8 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Ite ) elif data == 'Platinum': dataset = PlatinumDataset( - save_root=f'{data_root_dir}/PlatinumDataset/', - data_root=f'{data_root_dir}/PlatinumDataset/raw', + save_root=f'{data_root}/PlatinumDataset/', + data_root=f'{data_root}/PlatinumDataset/raw', aln_dir=None, cmap_threshold=8.0, feature_opt=FEATURE, @@ -82,4 +106,4 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Ite pro_overlap=False, #/home/jyaacoub/projects/data/ #'/cluster/home/t122995uhn/projects/data/' - data_root_dir='/cluster/home/t122995uhn/projects/data/') \ No newline at end of file + data_root='/cluster/home/t122995uhn/projects/data/') \ No newline at end of file From 7c4930d7cfb67d43af934ac408e9398a0fef5972 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Tue, 31 Oct 2023 21:59:09 -0400 Subject: [PATCH 04/43] feat: dataset fold saving and loading #47 Needed for cross validation to get a nice distribution of model performance across the entire dataset. Still need code to create `train_val_test_split_kfolds` #47 #46 --- src/data_processing/datasets.py | 12 +++++++++++ src/data_processing/init_dataset.py | 31 ++++++++++++++++++++--------- src/utils/loader.py | 12 +++++++++-- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/src/data_processing/datasets.py b/src/data_processing/datasets.py index c6c6f6c2..c6051ff6 100644 --- a/src/data_processing/datasets.py +++ b/src/data_processing/datasets.py @@ -266,6 +266,18 @@ def save_subset(self, idxs:Iterable[int]|data.Sampler|data.DataLoader, torch.save(sub_lig, os.path.join(path, self.processed_file_names[2])) return path + def save_subset_folds(self, idxs:Iterable[Iterable[int]]|Iterable[data.Sampler]|Iterable[data.DataLoader], + subset_name:str) -> list[str]: + """ + Saves multiple folds of the same dataset for some subset (e.g.: training or val). + Name of each fold will be `subset_name` + fold number (e.g.: train0, train1, ...). + """ + paths = [] + for i, idx in enumerate(idxs): + p = self.save_subset(idx, f'{subset_name}{i}') + paths.append(p) + return paths + def load_subset(self, subset_name:str): path = os.path.join(self.root, subset_name) diff --git a/src/data_processing/init_dataset.py b/src/data_processing/init_dataset.py index 2f0d68a8..d0e79aaf 100644 --- a/src/data_processing/init_dataset.py +++ b/src/data_processing/init_dataset.py @@ -15,7 +15,11 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Iterable[str], pro_overlap:bool=False, data_root:str=cfg.DATA_ROOT, ligand_features:Iterable[str]=['original'], - ligand_edges:Iterable[str]='binary') -> None: + ligand_edges:Iterable[str]='binary', + k_folds:int=None, + random_seed:int=0, + train_split:float=0.8, + val_split:float=0.1,) -> None: """ Creates the datasets for the given data, feature, and edge options. @@ -36,6 +40,9 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Ite Ligand features to use, by default ['original'] `ligand_edges` : Iterable[str], optional Ligand edges to use, by default 'binary' + `k_folds` : int, optional + If not None, the number of folds to split the final training set into for + cross validation, by default None """ # Loop through all combinations of data, feature, and edge options @@ -86,16 +93,22 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Ite # saving training, validation, and test sets train_loader, val_loader, test_loader = train_val_test_split(dataset, - train_split=0.8, val_split=0.1, random_seed=0, - split_by_prot=not pro_overlap) + train_split=train_split, val_split=val_split, + random_seed=random_seed, split_by_prot=not pro_overlap, + k_folds=k_folds) + subset_names = ['train', 'val', 'test'] if pro_overlap: - dataset.save_subset(train_loader, 'train-overlap') - dataset.save_subset(val_loader, 'val-overlap') - dataset.save_subset(test_loader, 'test-overlap') + subset_names = [s+'-overlap' for s in subset_names] + + if k_folds is None: + dataset.save_subset(train_loader, subset_names[0]) + dataset.save_subset(val_loader, subset_names[1]) else: - dataset.save_subset(train_loader, 'train') - dataset.save_subset(val_loader, 'val') - dataset.save_subset(test_loader, 'test') + # loops through all k folds and saves as train1, train2, etc. + dataset.save_subset_folds(train_loader, subset_names[0]) + dataset.save_subset_folds(val_loader, subset_names[1]) + + dataset.save_subset(test_loader, subset_names[2]) del dataset # free up memory diff --git a/src/utils/loader.py b/src/utils/loader.py index 4bf6d373..9515a750 100644 --- a/src/utils/loader.py +++ b/src/utils/loader.py @@ -135,14 +135,22 @@ def load_dataset(data:str, pro_feature:str, edge_opt:str, subset:str=None, path: 'ligand_feature':cfg.LIG_FEAT_OPT, 'ligand_edge':cfg.LIG_EDGE_OPT}) def load_DataLoaders(data:str, pro_feature:str, edge_opt:str, path:str=cfg.DATA_ROOT, batch_train:int=64, datasets:Iterable[str]=['train', 'test', 'val'], + training_fold:int=0, # for cross-val protein_overlap:bool=False, - ligand_feature:str=None, ligand_edge:str=None): + ligand_feature:str=None, ligand_edge:str=None): loaders = {} # different list for subset so that loader keys are the same name as input if protein_overlap: subsets = [d+'-overlap' for d in datasets] - else: + elif training_fold > 0: # training folds are identified by train1, train2, etc. + subsets = [d+str(training_fold) for d in datasets] + try: + # making sure test set is not renamed + subsets[datasets.index('test')] = 'test' + except ValueError: + pass + else: # no overlap or cross-val subsets = datasets for d, s in zip(datasets, subsets): From 9c59c1d8414187e111d2749e769145f00792f0f1 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Tue, 31 Oct 2023 22:16:41 -0400 Subject: [PATCH 05/43] fix: `distributed.py` model key fix --- src/train_test/distributed.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/train_test/distributed.py b/src/train_test/distributed.py index 2dc65f93..37f78f91 100644 --- a/src/train_test/distributed.py +++ b/src/train_test/distributed.py @@ -34,7 +34,7 @@ def dtrain(args): media_save_p = f'{MEDIA_SAVE_DIR}/{DATA}/' MODEL_KEY = Loader.get_model_key(model=MODEL,data=DATA,pro_feature=FEATURE,edge=EDGEW, ligand_feature=ligand_feature, ligand_edge=ligand_edge, - batch_size=args.batch_size, + batch_size=args.batch_size*args.world_size, lr=args.learning_rate,dropout=args.dropout, n_epochs=args.num_epochs, pro_overlap=args.protein_overlap) From b7e3c103e6f46519aa77555b21ddff90e1da13be Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 11:10:58 -0400 Subject: [PATCH 06/43] results: PDBbind ESM w/anm --- ...001LR_0.4D_2000E_originalLF_binaryLE_his.png | Bin 0 -> 23112 bytes ...01LR_0.4D_2000E_originalLF_binaryLE_loss.png | Bin 0 -> 34372 bytes ...R_0.4D_2000E_originalLF_binaryLE_scatter.png | Bin 0 -> 69885 bytes results/model_media/model_stats.csv | 2 ++ 4 files changed, 2 insertions(+) create mode 100644 results/model_media/PDBbind/EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE_his.png create mode 100644 results/model_media/PDBbind/EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE_loss.png create mode 100644 results/model_media/PDBbind/EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE_scatter.png diff --git a/results/model_media/PDBbind/EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE_his.png b/results/model_media/PDBbind/EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE_his.png new file mode 100644 index 0000000000000000000000000000000000000000..0bec0f305b36b4b653faede1cbc8367bd03854b2 GIT binary patch literal 23112 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

KYSMGCK)OTZaX~>fkF0mp;1@0} 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 bg>y88sC`sraP}n>{39o$B>hd&=-K}Q!jXIh literal 0 HcmV?d00001 diff --git a/results/model_media/PDBbind/EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE_scatter.png b/results/model_media/PDBbind/EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE_scatter.png new file mode 100644 index 0000000000000000000000000000000000000000..af57322b2e2464744e639ba8b6dc157f08dae6fe GIT binary patch literal 69885 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

E@eQ4`>_dk#>?4_PjJZN!+O)9&EC0y=Nq- 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 vbKewPD5B6ezV Date: Wed, 1 Nov 2023 11:14:49 -0400 Subject: [PATCH 07/43] fix: update get_metrics to not save by default --- src/data_analysis/__init__.py | 2 +- src/data_analysis/metrics.py | 41 ++++++++++++++++++----------------- src/data_analysis/utils.py | 2 +- src/train_test/distributed.py | 26 +++++++++++++++++----- test.py | 4 ++-- train_test.py | 23 +++++++++++++++----- train_test_DDP.py | 11 +++++----- 7 files changed, 68 insertions(+), 41 deletions(-) diff --git a/src/data_analysis/__init__.py b/src/data_analysis/__init__.py index 614b61f1..4842dfe5 100644 --- a/src/data_analysis/__init__.py +++ b/src/data_analysis/__init__.py @@ -57,7 +57,7 @@ log_z = -np.log(z*1e-6) get_metrics(log_y, log_z, - save_results=save, + save_figs=save, save_path=save_path, model_key=f'{run_num}', csv_file=f'{save_path}/vina_stats.csv', diff --git a/src/data_analysis/metrics.py b/src/data_analysis/metrics.py index 6f3ce20a..abeb00a8 100644 --- a/src/data_analysis/metrics.py +++ b/src/data_analysis/metrics.py @@ -72,12 +72,13 @@ def concordance_index(y_true, y_pred) -> float: except: pass -def get_metrics(y_true: np.array, y_pred: np.array, save_results=True, +def get_metrics(y_true: np.array, y_pred: np.array, save_figs=True, save_path='results/model_media', model_key='trained_davis_test', csv_file='results/model_media/DGraphDTA_stats.csv', show=True, title_prefix='', + dataset='test', # for discriminating between test and val logs=None) -> Tuple[Number]: """ Display and save metrics @@ -88,7 +89,7 @@ def get_metrics(y_true: np.array, y_pred: np.array, save_results=True, The actual pkd values `y_pred` : np.array Predicted pkd values - `save_results` : bool, optional + `save_figs` : bool, optional If Fase dont save anything, by default True `save_path` : str, optional Media save path for models, by default 'results/model_media' @@ -107,12 +108,14 @@ def get_metrics(y_true: np.array, y_pred: np.array, save_results=True, Tuple[Number] Tuple for the stats (c_index, p_corr, s_corr, mse, mae, rmse) """ + dataset = '' if dataset == 'test' else dataset # To maintain compatibility with prev figs + plt.clf() plt.hist(y_true, bins=10, alpha=0.5) plt.hist(y_pred, bins=10, alpha=0.5) plt.legend(['Experimental', model_key]) plt.title(f'{title_prefix}Histogram of affinity values (pkd)') - if save_results: plt.savefig(f'{save_path}/{model_key}_his.png') + if save_figs: plt.savefig(f'{save_path}/{model_key}_his{dataset}.png') if show: plt.show() plt.clf() @@ -125,12 +128,12 @@ def get_metrics(y_true: np.array, y_pred: np.array, save_results=True, plt.ylabel(f'{model_key} prediction') plt.title(f'{title_prefix}Scatter plot of affinity values (pkd)') - if save_results: plt.savefig(f'{save_path}/{model_key}_scatter.png') + if save_figs: plt.savefig(f'{save_path}/{model_key}_scatter{dataset}.png') if show: plt.show() plt.clf() - - # Stats + ########### saving metrics to csv file ########### + # get metrics: try: # cindex throws zero division error if all values are the same c_index = concordance_index(y_true, y_pred) @@ -156,21 +159,19 @@ def get_metrics(y_true: np.array, y_pred: np.array, save_results=True, print(f"MAE: {mae:.3f}") print(f"RMSE: {rmse:.3f}") - # saving to csv file - if save_results: - # creating stats csv if it doesnt exist - if not os.path.exists(csv_file): - stats = pd.DataFrame(columns=['run', 'cindex', 'pearson', 'spearman', 'mse', 'mae', 'rmse']) - stats.set_index('run', inplace=True) - stats.to_csv(csv_file) - - # replacing existing record if run_num already exists - stats = pd.read_csv(csv_file, index_col=0) - stats.loc[model_key] = [c_index, p_corr[0], s_corr[0], mse, mae, rmse] - stats.to_csv(csv_file) + # creating stats csv if it doesnt exist + if not os.path.exists(csv_file): + stats = pd.DataFrame(columns=['run', 'cindex', 'pearson', 'spearman', 'mse', 'mae', 'rmse']) + stats.set_index('run', inplace=True) + stats.to_csv(csv_file) + + # replacing existing record if run_num already exists + stats = pd.read_csv(csv_file, index_col=0) + stats.loc[model_key] = [c_index, p_corr[0], s_corr[0], mse, mae, rmse] + stats.to_csv(csv_file) plt.clf() - # display train val plot + ############ display train val plot ########### if logs is not None: ax = plt.figure().gca() ax.xaxis.set_major_locator(MaxNLocator(integer=True)) @@ -183,7 +184,7 @@ def get_metrics(y_true: np.array, y_pred: np.array, save_results=True, # plt.xticks(range(0,NUM_EPOCHS+1, 2)) # plt.xlim(0, NUM_EPOCHS) plt.ylabel('Loss') - if save_results: plt.savefig(f'{save_path}/{model_key}_loss.png') + if save_figs: plt.savefig(f'{save_path}/{model_key}_loss{dataset}.png') if show: plt.show() return c_index, p_corr, s_corr, mse, mae, rmse diff --git a/src/data_analysis/utils.py b/src/data_analysis/utils.py index 87ed6f44..7b647f62 100644 --- a/src/data_analysis/utils.py +++ b/src/data_analysis/utils.py @@ -119,7 +119,7 @@ def count_missing_res(pdb_file: str) -> Tuple[int,int]: df_b = bins[i][1] pkd_y, pkd_z = df_b['actual_pkd'].to_numpy(), df_b['vina_pkd'].to_numpy() print(f'\nBin {i}, size: {len(df_b)}, {col}: {bins[i][0]}') - metrics.append(get_metrics(pkd_y, pkd_z, save_results=False, show=False)) + metrics.append(get_metrics(pkd_y, pkd_z, save_figs=False, show=False)) print("sample metrics:", *metrics[0]) # %% diff --git a/src/train_test/distributed.py b/src/train_test/distributed.py index 37f78f91..13d8c62a 100644 --- a/src/train_test/distributed.py +++ b/src/train_test/distributed.py @@ -11,7 +11,7 @@ from src.train_test.training import train, test from src.train_test.utils import CheckpointSaver, init_node, init_dist_gpu, print_device_info -from src.utils.config import MODEL_STATS_CSV, MEDIA_SAVE_DIR, MODEL_SAVE_DIR +from src.utils import config as cfg # distributed training fn def dtrain(args): @@ -31,7 +31,7 @@ def dtrain(args): ligand_feature = args.ligand_feature_opt[0] ligand_edge = args.ligand_edge_opt[0] - media_save_p = f'{MEDIA_SAVE_DIR}/{DATA}/' + media_save_p = f'{cfg.MEDIA_SAVE_DIR}/{DATA}/' MODEL_KEY = Loader.get_model_key(model=MODEL,data=DATA,pro_feature=FEATURE,edge=EDGEW, ligand_feature=ligand_feature, ligand_edge=ligand_edge, batch_size=args.batch_size*args.world_size, @@ -94,7 +94,7 @@ def dtrain(args): # ==== Load model ==== # args.gpu is the local rank for this process model = Loader.init_model(MODEL, FEATURE, EDGEW, args.dropout).cuda(args.gpu) - cp_saver = CheckpointSaver(model=model, save_path=f'{MODEL_SAVE_DIR}/{MODEL_KEY}.model', + cp_saver = CheckpointSaver(model=model, save_path=f'{cfg.MODEL_SAVE_DIR}/{MODEL_KEY}.model', train_all=False, patience=50, min_delta=0.2, dist_rank=args.rank) @@ -121,13 +121,27 @@ def dtrain(args): # ==== Evaluate ==== loss, pred, actual = test(model, loaders['test'], args.gpu) - print("Test loss:", loss) + torch.distributed.barrier() # Sync params across GPUs if args.rank == 0: + print("Test loss:", loss) get_metrics(actual, pred, - save_results=True, + save_figs=False, save_path=media_save_p, model_key=MODEL_KEY, - csv_file=MODEL_STATS_CSV, + csv_file=cfg.MODEL_STATS_CSV, show=False, logs=logs + ) + + # validation + loss, pred, actual = test(model, loaders['val'], args.gpu) + torch.distributed.barrier() # Sync params across GPUs + if args.rank == 0: + print(f'# Val loss: {loss}') + get_metrics(actual, pred, + save_figs=False, + save_path=media_save_p, + model_key=MODEL_KEY, + csv_file=cfg.MODEL_STATS_CSV_VAL, + show=False, ) \ No newline at end of file diff --git a/test.py b/test.py index 14d4c18a..311cbcad 100644 --- a/test.py +++ b/test.py @@ -57,7 +57,7 @@ loss, pred, actual = test(model, test_loader, device) print(f'# Test loss: {loss}') get_metrics(actual, pred, - save_results=True, + save_figs=False, save_path=media_save_p, model_key=MODEL_KEY, csv_file=cfg.MODEL_STATS_CSV, @@ -73,7 +73,7 @@ loss, pred, actual = test(model, val_loader, device) print(f'# Val loss: {loss}') get_metrics(actual, pred, - save_results=True, + save_figs=False, save_path=media_save_p, model_key=MODEL_KEY, csv_file=cfg.MODEL_STATS_CSV_VAL, diff --git a/train_test.py b/train_test.py index 5faa25bb..09b77e4d 100644 --- a/train_test.py +++ b/train_test.py @@ -17,7 +17,7 @@ VAL_SPLIT = args.val_split # 10% for validation (10%) SHUFFLE_DATA = not args.no_shuffle -SAVE_RESULTS = False +SAVE_FIGS = False SHOW_PLOTS = False #%% @@ -29,7 +29,6 @@ import matplotlib.pyplot as plt from src.utils import config as cfg # sets up env vars -from src.utils.config import MODEL_STATS_CSV, MEDIA_SAVE_DIR, MODEL_SAVE_DIR from src.train_test.training import train, test from src.train_test.utils import CheckpointSaver, print_device_info, debug @@ -65,9 +64,9 @@ print(f'# {MODEL_KEY} \n') # init paths for media and model checkpoints - media_save_p = f'{MEDIA_SAVE_DIR}/{DATA}/' + media_save_p = f'{cfg.MEDIA_SAVE_DIR}/{DATA}/' logs_out_p = f'{media_save_p}/train_log/{MODEL_KEY}.json' - model_save_p = f'{MODEL_SAVE_DIR}/{MODEL_KEY}.model' + model_save_p = f'{cfg.MODEL_SAVE_DIR}/{MODEL_KEY}.model' # create paths if they dont exist already: os.makedirs(media_save_p, exist_ok=True) @@ -135,14 +134,26 @@ loss, pred, actual = test(model, loaders['test'], device) print(f'# Test loss: {loss}') get_metrics(actual, pred, - save_results=SAVE_RESULTS, + save_figs=SAVE_FIGS, save_path=media_save_p, model_key=MODEL_KEY, - csv_file=MODEL_STATS_CSV, + csv_file=cfg.MODEL_STATS_CSV, show=SHOW_PLOTS, logs=logs ) plt.clf() + # validation + loss, pred, actual = test(model, loaders['val'], device) + print(f'# Val loss: {loss}') + get_metrics(actual, pred, + save_figs=SAVE_FIGS, + save_path=media_save_p, + model_key=MODEL_KEY, + csv_file=cfg.MODEL_STATS_CSV_VAL, + show=False, + ) + + # %% diff --git a/train_test_DDP.py b/train_test_DDP.py index 19be52f3..595889cb 100644 --- a/train_test_DDP.py +++ b/train_test_DDP.py @@ -2,15 +2,16 @@ import os import submitit -from src.utils import config as cfg # sets up env vars +from src.utils import config as cfg # sets up env vars from src.utils.arg_parse import parse_train_test_args from src.train_test import dtrain args = parse_train_test_args(verbose=True, distributed=True, - jyp_args=' -odir ./slurm_tests/edge_weights/%j'+ \ - ' -m DG -d davis -f nomsa -e af2-anm -lr 0.0001 -bs 32 -do 0.4 --train'+ \ - ' -s_t 4320 -s_m 10GB -s_nn 1 -s_ng 2') # 3days == 4320 mins - + jyp_args=' -odir ./slurm_out_DDP/%j' + + ' -m EDI -d PDBbind -f nomsa -e anm' + + ' -lr 0.00001 -bs 16 -do 0.2 --train' + + ' -s_t 4320 -s_m 18GB -s_nn 1 -s_ng 4 -s_cp 4') +# 3days == 4320 mins # %% PARSE ARGS os.makedirs(os.path.dirname(args.output_dir), exist_ok=True) From 00be24e0ec55a09c0b63f862317ae249c21409e8 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 11:52:44 -0400 Subject: [PATCH 08/43] feat: implement kfolds for davis #47 Davis is trivial since each protein has the exact same number of samples so we can just divide 442 (number of unique protiens) by k_folds and it should map exactly to equal folds in the final index list. #47 --- src/train_test/utils.py | 130 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 120 insertions(+), 10 deletions(-) diff --git a/src/train_test/utils.py b/src/train_test/utils.py index 577cb5a6..3c7c826a 100644 --- a/src/train_test/utils.py +++ b/src/train_test/utils.py @@ -16,6 +16,7 @@ from torch_geometric.data import InMemoryDataset from src.models.utils import BaseModel +from src.data_processing.datasets import DavisKibaDataset # Creating data indices for training and validation splits: @@ -85,24 +86,20 @@ def train_val_test_split(dataset: InMemoryDataset, train_indices, val_indices = indices[:tr_size], indices[tr_size:] elif split_by_prot: + # getting counts for each unique protein prot_counts = dataset.get_protein_counts() prots = list(prot_counts.keys()) np.random.shuffle(prots) - # NOTE: We want to ensure a diverse set of proteins across train, val, and test - # simple case is where proteins appear exactly once in the dataset - # Then we can simply split the proteins into train, val, and test - - # the following code doesnt consider diversity, it just splits the proteins into - # train, val, and test - + # selecting from unique proteins until we have enough for train count = 0 selected = {} - for p in prots: # O(n) + for p in prots: # O(k); k = number of proteins if count + prot_counts[p] <= tr_size: selected[p] = True count += prot_counts[p] - + + # looping through dataset to get indices for train and val train_indices = [] val_test_indices = [] for i in range(dataset_size): # O(n) @@ -144,8 +141,121 @@ def train_val_test_split(dataset: InMemoryDataset, return train_loader, val_loader, test_loader +def train_val_test_split_kfolds(dataset: InMemoryDataset, + train_split=.8, val_split=.1, + shuffle_dataset=True, random_seed=None, + batch_train=128, k_folds:int=5) -> tuple[DataLoader]: + """ + Same as train_val_test_split but splits the training set into k_folds. + This assumes that use_refined is False and split_by_prot is True. + + Parameters + ---------- + `dataset` : InMemoryDataset + The dataset to split + `train_split` : float, optional + How much goes to just training, by default .8 + `val_split` : float, optional + How much for validation (remainder goes to test), by default .1 + `shuffle_dataset` : bool, optional + self explainatory, by default True + `random_seed` : _type_, optional + seed for shuffle, by default None + `batch_train` : int, optional + size of batch, by default 128 + `k_folds` : int, optional + Number of folds to split the training set into, by default 5 + + Returns + ------- + tuple[DataLoader] + Train, val, and test loaders + """ + # WARNING: Currently only support Davis dataset + assert isinstance(dataset, DavisKibaDataset) and \ + 'davis' in dataset.raw_dir, 'Only support folds for Davis dataset' + + if random_seed is not None: + np.random.seed(random_seed) + torch.manual_seed(random_seed) + + # Get size for each dataset and indices + dataset_size = len(dataset) + indices = list(range(dataset_size)) + tr_size = int(np.floor(train_split * dataset_size)) + v_size = int(np.floor(val_split * dataset_size)) + te_size = dataset_size - tr_size - v_size + if shuffle_dataset: + np.random.shuffle(indices) # in-place shuffle + + ########## Splitting into train, val, and test ########## + # getting counts for each unique protein + prot_counts = dataset.get_protein_counts() + prots = list(prot_counts.keys()) + np.random.shuffle(prots) + + #### Getting test set + count = 0 + test_prots = {} + for p in prots: # O(k); k = number of proteins + if count + prot_counts[p] <= te_size: + test_prots[p] = True + count += prot_counts[p] + + # looping through dataset to get indices for test + test_indices = [i for i in range(dataset_size) if dataset[i]['prot_id'] in test_prots] + test_sampler = SubsetRandomSampler(test_indices) + test_loader = DataLoader(dataset, batch_size=1, # batch size 1 for testing + sampler=test_sampler, pin_memory=True) + + # removing selected proteins from prots + prots = [p for p in prots if p not in test_prots] + print(f'Number of unique proteins in test set: {len(test_prots)} == {count} samples') + + #### Getting train and val sets + # splitting up remaining proteins into k_folds + # for davis dataset creating folds is trivial since each protein has the exact same number of samples + # so we can just divide by k_folds + fold_size = len(prots) // k_folds + prot_folds = [] # list of lists of proteins for each fold + for i in range(k_folds): + prot_folds.append(set(prots[i*fold_size:(i+1)*fold_size])) # set for faster lookup + + print(f'Number of unique proteins in each fold: {fold_size}') + + ## looping through folds to create train and val loaders + train_loaders, val_loaders = [], [], [] + for i, fold in enumerate(k_folds): + train_indices, val_indices = [], [] + for idx in range(dataset_size): # O(n) + if dataset[idx]['prot_id'] in fold: + train_indices.append(idx) + elif dataset[idx]['prot_id'] not in test_prots: + val_indices.append(idx) + train_sampler = SubsetRandomSampler(train_indices) + val_sampler = SubsetRandomSampler(val_indices) + train_loaders.append(DataLoader(dataset, batch_size=batch_train, + sampler=train_sampler, pin_memory=True)) + val_loaders.append(DataLoader(dataset, batch_size=batch_train, + sampler=val_sampler, pin_memory=True)) + + t_count = len(train_sampler) + v_count = len(val_sampler) + te_count = len(test_sampler) + + print(f' Folds: {len(train_loaders)}') + print(f' Train0 size: {t_count}') + print(f' Val0 size: {v_count}') + print(f' Test size: {te_count}') + print(f' = {t_count+v_count+te_count}') + print(f'Dataset size: {dataset_size}') + assert te_count > 0, 'Test set is empty' + + return train_loaders, val_loaders, test_loader + + class CheckpointSaver: - # adapted from https://stackoverflow.com/questions/71998978/early-stopping-in-pytorch + # Adapted from https://stackoverflow.com/questions/71998978/early-stopping-in-pytorch def __init__(self, model:BaseModel, save_path=None, train_all=True, patience=30, min_delta=0.2, debug=False, dist_rank:int=None): """ From dfaa4e87a4a76bb77ba7c4f64ab2e8e73329eb25 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 13:02:42 -0400 Subject: [PATCH 09/43] feat: incorporated fold info into model key #48 Just add the number after the dataset declaration, this also impacts the prepare_df function in `figures` so some adjustment is made to accomidate. #46 --- src/data_analysis/figures.py | 1 + src/train_test/distributed.py | 7 ++++++- src/utils/arg_parse.py | 9 ++++++++- src/utils/loader.py | 13 ++++++++++--- test.py | 8 +++++--- train_test.py | 2 +- 6 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/data_analysis/figures.py b/src/data_analysis/figures.py index 8914f58d..3d393b88 100644 --- a/src/data_analysis/figures.py +++ b/src/data_analysis/figures.py @@ -255,6 +255,7 @@ def prepare_df(csv_p:str, old_csv_p='results/model_media/old_model_stats.csv') - # create data, feat, and overlap columns for easier filtering. df['data'] = df['run'].str.extract(r'_(davis|kiba|PDBbind)', expand=False) + df['fold'] = df['run'].str.extract(r'_(davis|kiba|PDBbind)(\d*)', expand=True)[1] # fold number if available df['feat'] = df['run'].str.extract(r'_(nomsa|msa|shannon)F_', expand=False) df['edge'] = df['run'].str.extract(r'_(binary|simple|anm|af2|af2-anm)E_', expand=False) df['ddp'] = df['run'].str.contains('DDP-') diff --git a/src/train_test/distributed.py b/src/train_test/distributed.py index 13d8c62a..80c91ead 100644 --- a/src/train_test/distributed.py +++ b/src/train_test/distributed.py @@ -37,10 +37,15 @@ def dtrain(args): batch_size=args.batch_size*args.world_size, lr=args.learning_rate,dropout=args.dropout, n_epochs=args.num_epochs, - pro_overlap=args.protein_overlap) + pro_overlap=args.protein_overlap, + fold=args.fold_selection) print(os.getcwd()) print(MODEL_KEY) + print(f'---------------- DATA OPT ----------------') + print(f" data_opt: {args.data_opt}") + print(f" protein_overlap: {args.protein_overlap}") + print(f" fold_selection: {args.fold_selection}\n") print(f"---------------- MODEL OPT ---------------") print(f" Selected og_model_opt: {args.model_opt}") print(f" Selected data_opt: {args.data_opt}") diff --git a/src/utils/arg_parse.py b/src/utils/arg_parse.py index 660a5aa9..bf9da700 100644 --- a/src/utils/arg_parse.py +++ b/src/utils/arg_parse.py @@ -105,6 +105,7 @@ def add_dataset_args(parser: argparse.ArgumentParser): - val_split - shuffle_data - rand_seed + - fold_selection """ # Add the argument for data_opt @@ -135,6 +136,11 @@ def add_dataset_args(parser: argparse.ArgumentParser): action='store', type=int, default=0, help='Random seed for shuffling (default: 0)' ) + parser.add_argument('-folds', + '--fold_selection', + action='store', type=int, default=None, + help='Fold selection (default: None - no fold selection)' + ) return parser def add_slurm_dist_args(parser: argparse.ArgumentParser): @@ -216,7 +222,8 @@ def parse_train_test_args(verbose=True, distributed=False, global_bs *= args.slurm_nnodes * args.slurm_ngpus print(f"---------------- DATA OPT ----------------") print(f" data_opt: {args.data_opt}") - print(f" protein_overlap: {args.protein_overlap}\n") + print(f" protein_overlap: {args.protein_overlap}") + print(f" fold_selection: {args.fold_selection}\n") print(f"---------------- MODEL OPT ---------------") print(f" Selected model_opt: {args.model_opt}") print(f" Selected data_opt: {args.data_opt}") diff --git a/src/utils/loader.py b/src/utils/loader.py index 5d67ad48..8ea9f054 100644 --- a/src/utils/loader.py +++ b/src/utils/loader.py @@ -29,8 +29,10 @@ class Loader(): @staticmethod @validate_args({'model': model_opt, 'data':data_opt, 'edge': edge_opt, 'pro_feature': pro_feature_opt, 'ligand_feature':cfg.LIG_FEAT_OPT, 'ligand_edge':cfg.LIG_EDGE_OPT}) - def get_model_key(model:str, data:str, pro_feature:str, edge:str, ligand_feature:str, ligand_edge:str, - batch_size:int, lr:float, dropout:float, n_epochs:int, pro_overlap:bool=False): + def get_model_key(model:str, data:str, pro_feature:str, edge:str, + batch_size:int, lr:float, dropout:float, n_epochs:int, pro_overlap:bool=False, + fold:int=None, ligand_feature:str=None, ligand_edge:str=None): + data += f'{fold}' if fold is not None else '' # for cross-val data += '-overlap' if pro_overlap else '' if model in ['EAT']: # no edgew or features for this model type @@ -39,7 +41,12 @@ def get_model_key(model:str, data:str, pro_feature:str, edge:str, ligand_feature else: model_key = f'{model}M_{data}D_{pro_feature}F_{edge}E_{batch_size}B_{lr}LR_{dropout}D_{n_epochs}E' - return model_key + f'_{ligand_feature}LF_{ligand_edge}LE' + # add ligand modifications if specified + if ligand_feature is not None: + model_key += f'_{ligand_feature}LF' + if ligand_edge is not None: + model_key += f'_{ligand_edge}LE' + return model_key @staticmethod @validate_args({'model': model_opt, 'edge': edge_opt, 'pro_feature': pro_feature_opt, diff --git a/test.py b/test.py index 311cbcad..eb391296 100644 --- a/test.py +++ b/test.py @@ -24,9 +24,11 @@ media_save_p = f'{cfg.MEDIA_SAVE_DIR}/{DATA}/' -MODEL_KEY = Loader.get_model_key(MODEL,DATA,FEATURE,EDGE, - BATCH_SIZE,LEARNING_RATE,DROPOUT,EPOCHS, - pro_overlap=args.protein_overlap) +MODEL_KEY = Loader.get_model_key(model=MODEL,data=DATA,pro_feature=FEATURE,edge=EDGE, + batch_size=BATCH_SIZE,lr=LEARNING_RATE, + dropout=DROPOUT,n_epochs=EPOCHS, + pro_overlap=args.protein_overlap, + fold=args.fold_selection) model_p_tmp = f'{cfg.MODEL_SAVE_DIR}/{MODEL_KEY}.model_tmp' model_p = f'{cfg.MODEL_SAVE_DIR}/{MODEL_KEY}.model' diff --git a/train_test.py b/train_test.py index 09b77e4d..90a76a8b 100644 --- a/train_test.py +++ b/train_test.py @@ -60,7 +60,7 @@ MODEL_KEY = Loader.get_model_key(model=MODEL,data=DATA,pro_feature=FEATURE,edge=EDGEW, ligand_feature=ligand_feature, ligand_edge=ligand_edge, batch_size=BATCH_SIZE,lr=LEARNING_RATE,dropout=DROPOUT,n_epochs=NUM_EPOCHS, - pro_overlap=args.protein_overlap) + pro_overlap=args.protein_overlap, fold=args.fold_selection) print(f'# {MODEL_KEY} \n') # init paths for media and model checkpoints From 5fab0c52373b0138f847bd6beb5fab5b2a016156 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 13:07:02 -0400 Subject: [PATCH 10/43] fix: kfold split #47 #46 --- src/train_test/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/train_test/utils.py b/src/train_test/utils.py index 3c7c826a..479502a1 100644 --- a/src/train_test/utils.py +++ b/src/train_test/utils.py @@ -229,9 +229,9 @@ def train_val_test_split_kfolds(dataset: InMemoryDataset, train_indices, val_indices = [], [] for idx in range(dataset_size): # O(n) if dataset[idx]['prot_id'] in fold: - train_indices.append(idx) - elif dataset[idx]['prot_id'] not in test_prots: val_indices.append(idx) + elif dataset[idx]['prot_id'] not in test_prots: + train_indices.append(idx) train_sampler = SubsetRandomSampler(train_indices) val_sampler = SubsetRandomSampler(val_indices) train_loaders.append(DataLoader(dataset, batch_size=batch_train, From 77e963c0504f2c4a704bc7075394cfb845996418 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 15:22:04 -0400 Subject: [PATCH 11/43] feat: fold data loading #49 - Added to argparse new -folds option to select the correct training fold. - Modifed Loader class to include fold info as part of the `subset` definition in the dataset loading. - Created new load_dataloaders specifically for DDP environments #49 #46 --- src/data_processing/datasets.py | 1 - src/train_test/distributed.py | 32 +++++--------- src/utils/arg_parse.py | 6 +-- src/utils/loader.py | 74 +++++++++++++++++++++++++++++---- test.py | 32 +++++++------- train_test.py | 1 + 6 files changed, 98 insertions(+), 48 deletions(-) diff --git a/src/data_processing/datasets.py b/src/data_processing/datasets.py index c7cbdcda..79ac6ad2 100644 --- a/src/data_processing/datasets.py +++ b/src/data_processing/datasets.py @@ -142,7 +142,6 @@ def __init__(self, save_root:str, data_root:str, aln_dir:str, self.only_download = only_download super(BaseDataset, self).__init__(save_root, *args, **kwargs) self.load() - @abc.abstractmethod def pdb_p(self, code) -> str: diff --git a/src/train_test/distributed.py b/src/train_test/distributed.py index 80c91ead..ea578215 100644 --- a/src/train_test/distributed.py +++ b/src/train_test/distributed.py @@ -71,28 +71,16 @@ def dtrain(args): # ==== Load up training dataset ==== - loaders = {} - datasets = ['train', 'test', 'val'] - # different list for subset so that loader keys are the same name as input - if args.protein_overlap: - subsets = [d+'-overlap' for d in datasets] - else: - subsets = datasets - - for d, s in zip(datasets, subsets): - dataset = Loader.load_dataset(DATA, FEATURE, EDGEW, subset=s) - sampler = DistributedSampler(dataset, shuffle=True, - num_replicas=args.world_size, - rank=args.rank, seed=args.rand_seed) - bs = 1 if d == 'test' else args.batch_size - loader = DataLoader(dataset=dataset, - sampler=sampler, - batch_size=bs, # batch size per gpu (https://stackoverflow.com/questions/73899097/distributed-data-parallel-ddp-batch-size) - num_workers=args.slurm_cpus_per_task, # number of subproc used for data loading - pin_memory=True, - drop_last=True - ) - loaders[d] = loader + loaders = Loader.load_distributed_DataLoaders( + num_replicas=args.world_size, rank=args.rank, seed=args.rand_seed, + data=DATA, pro_feature=FEATURE, edge_opt=EDGEW, + batch_train=args.batch_size, # local batch size (per gpu) + datasets=['train', 'test', 'val'], + training_fold=args.fold_selection, # default is None from arg_parse + protein_overlap=args.protein_overlap, + ligand_feature=ligand_feature, ligand_edge=ligand_edge, + num_workers=args.slurm_cpus_per_task, # number of subproc used for data loading + ) print(f"Data loaded") diff --git a/src/utils/arg_parse.py b/src/utils/arg_parse.py index bf9da700..565979d7 100644 --- a/src/utils/arg_parse.py +++ b/src/utils/arg_parse.py @@ -34,7 +34,7 @@ def add_model_args(parser: argparse.ArgumentParser): parser.add_argument('-e', '--edge_opt', choices=cfg.EDGE_OPT, - nargs='+', default=cfg.EDGE_OPT[0:1], required=False, + nargs='+', default=['binary'], required=False, help=f'Select one or more from {cfg.EDGE_OPT}. "simple" is just taking ' + \ 'the normalized values from the protein cmap, "binary" means no edge weights' ) @@ -53,13 +53,13 @@ def add_model_args(parser: argparse.ArgumentParser): parser.add_argument('-lf', '--ligand_feature_opt', choices=cfg.LIG_FEAT_OPT, - nargs='+', default=cfg.LIG_FEAT_OPT[0:1], required=False, + nargs='+', default=[None], required=False, help=f'Select one or more from {cfg.LIG_FEAT_OPT}.' ) parser.add_argument('-le', '--ligand_edge_opt', choices=cfg.LIG_EDGE_OPT, - nargs='+', default=cfg.LIG_EDGE_OPT[0:1], required=False, + nargs='+', default=[None], required=False, help=f'Select one or more from {cfg.LIG_EDGE_OPT}.' ) diff --git a/src/utils/loader.py b/src/utils/loader.py index 8ea9f054..58e3bef5 100644 --- a/src/utils/loader.py +++ b/src/utils/loader.py @@ -1,6 +1,7 @@ # TODO: create a trainer class for modularity from functools import wraps from typing import Iterable +from torch.utils.data.distributed import DistributedSampler from torch_geometric.loader import DataLoader from src.models.lig_mod import DGraphDTALigand @@ -144,23 +145,27 @@ def load_dataset(data:str, pro_feature:str, edge_opt:str, subset:str=None, path: 'ligand_feature':cfg.LIG_FEAT_OPT, 'ligand_edge':cfg.LIG_EDGE_OPT}) def load_DataLoaders(data:str, pro_feature:str, edge_opt:str, path:str=cfg.DATA_ROOT, batch_train:int=64, datasets:Iterable[str]=['train', 'test', 'val'], - training_fold:int=0, # for cross-val + training_fold:int=None, # for cross-val. None for no cross-val protein_overlap:bool=False, ligand_feature:str=None, ligand_edge:str=None): loaders = {} + # no overlap or cross-val + subsets = datasets - # different list for subset so that loader keys are the same name as input - if protein_overlap: - subsets = [d+'-overlap' for d in datasets] - elif training_fold > 0: # training folds are identified by train1, train2, etc. - subsets = [d+str(training_fold) for d in datasets] + # training folds are identified by train1, train2, etc. + # (see model_key fn above) + if training_fold is not None: + subsets = [d+str(training_fold) for d in subsets] try: # making sure test set is not renamed subsets[datasets.index('test')] = 'test' except ValueError: pass - else: # no overlap or cross-val - subsets = datasets + + # Overlap is identified by adding '-overlap' to the subset name (after cross-val) + if protein_overlap: + subsets = [d+'-overlap' for d in subsets] + for d, s in zip(datasets, subsets): dataset = Loader.load_dataset(data, pro_feature, edge_opt, @@ -174,4 +179,57 @@ def load_DataLoaders(data:str, pro_feature:str, edge_opt:str, path:str=cfg.DATA_ loaders[d] = loader return loaders + + @staticmethod + @validate_args({'data': data_opt, 'pro_feature': pro_feature_opt, 'edge_opt': edge_opt, + 'ligand_feature':cfg.LIG_FEAT_OPT, 'ligand_edge':cfg.LIG_EDGE_OPT}) + def load_distributed_DataLoaders(num_replicas:int, rank:int, seed:int, data:str, # additional args for distributed + + pro_feature:str, edge_opt:str, path:str=cfg.DATA_ROOT, + batch_train:int=64, datasets:Iterable[str]=['train', 'test', 'val'], + training_fold:int=None, # for cross-val. None for no cross-val + protein_overlap:bool=False, + + ligand_feature:str=None, ligand_edge:str=None, + + num_workers:int=4): + loaders = {} + # no overlap or cross-val + subsets = datasets + + # training folds are identified by train1, train2, etc. + # (see model_key fn above) + if training_fold is not None: + subsets = [d+str(training_fold) for d in subsets] + try: + # making sure test set is not renamed + subsets[datasets.index('test')] = 'test' + except ValueError: + pass + + # Overlap is identified by adding '-overlap' to the subset name (after cross-val) + if protein_overlap: + subsets = [d+'-overlap' for d in subsets] + + + for d, s in zip(datasets, subsets): + dataset = Loader.load_dataset(data, pro_feature, edge_opt, + subset=s, path=path, + ligand_feature=ligand_feature, + ligand_edge=ligand_edge) + sampler = DistributedSampler(dataset, shuffle=True, + num_replicas=num_replicas, + rank=rank, seed=seed) + + bs = 1 if d == 'test' else batch_train + loader = DataLoader(dataset=dataset, + sampler=sampler, + batch_size=bs, # should be per gpu batch size (local batch size) + num_workers=num_workers, + shuffle=False, + pin_memory=True, + drop_last=True) # drop last batch if not divisible by batch size + loaders[d] = loader + + return loaders \ No newline at end of file diff --git a/test.py b/test.py index eb391296..2127dc06 100644 --- a/test.py +++ b/test.py @@ -10,11 +10,13 @@ from src.utils.arg_parse import parse_train_test_args args = parse_train_test_args(verbose=True, jyp_args=' -m EDI -d PDBbind -f nomsa -e anm -lr 0.0001 -bs 20 -do 0.4 -ne 2000') -#%% +# %% MODEL = args.model_opt[0] DATA = args.data_opt[0] FEATURE = args.feature_opt[0] EDGE = args.edge_opt[0] +LIG_FEATURE = args.ligand_feature_opt[0] +LIG_EDGE = args.ligand_edge_opt[0] # Model Hyperparameters BATCH_SIZE = args.batch_size @@ -28,7 +30,9 @@ batch_size=BATCH_SIZE,lr=LEARNING_RATE, dropout=DROPOUT,n_epochs=EPOCHS, pro_overlap=args.protein_overlap, - fold=args.fold_selection) + fold=args.fold_selection, + ligand_feature=LIG_FEATURE, + ligand_edge=LIG_EDGE) model_p_tmp = f'{cfg.MODEL_SAVE_DIR}/{MODEL_KEY}.model_tmp' model_p = f'{cfg.MODEL_SAVE_DIR}/{MODEL_KEY}.model' @@ -41,7 +45,7 @@ -#%% Initialize model and load checkpoint +# %% Initialize model and load checkpoint model = Loader.init_model(MODEL, FEATURE, EDGE, DROPOUT) device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') @@ -50,13 +54,18 @@ model.to(device) -# %% Load test data -subset = 'test-overlap' if args.protein_overlap else 'test' -test_dataset = Loader.load_dataset(DATA, FEATURE, EDGE, subset=subset, path=cfg.DATA_ROOT) -test_loader = DataLoader(test_dataset, 1, shuffle=False) +# %% load test and val data +loaders = Loader.load_DataLoaders(DATA, FEATURE, EDGE, + datasets=['test', 'val'], + path=cfg.DATA_ROOT, + batch_train=1, # batch size is irrelevant for eval + protein_overlap=args.protein_overlap, + training_fold=args.fold_selection, + ligand_feature=LIG_FEATURE, + ligand_edge=LIG_EDGE) #%% Run model on test set -loss, pred, actual = test(model, test_loader, device) +loss, pred, actual = test(model, loaders['test'], device) print(f'# Test loss: {loss}') get_metrics(actual, pred, save_figs=False, @@ -66,13 +75,8 @@ show=False, ) -#%% Load Val data -subset = 'val-overlap' if args.protein_overlap else 'val' -val_dataset = Loader.load_dataset(DATA, FEATURE, EDGE, subset=subset, path=cfg.DATA_ROOT) -val_loader = DataLoader(val_dataset, 1, shuffle=False) - #%% Run model on val set -loss, pred, actual = test(model, val_loader, device) +loss, pred, actual = test(model, loaders['val'], device) print(f'# Val loss: {loss}') get_metrics(actual, pred, save_figs=False, diff --git a/train_test.py b/train_test.py index 90a76a8b..e4591c75 100644 --- a/train_test.py +++ b/train_test.py @@ -87,6 +87,7 @@ ligand_feature=ligand_feature, ligand_edge=ligand_edge, batch_train=BATCH_SIZE, datasets=['train', 'test', 'val'], + training_fold=args.fold_selection, # default is None from arg_parse protein_overlap=args.protein_overlap) From ef334ecc7407057e91b71e0499eb809aa8d7ef7b Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 16:06:12 -0400 Subject: [PATCH 12/43] fix(init_dataset): fix call to split fn #47 #46 --- src/data_processing/init_dataset.py | 18 +++++++++++++----- src/train_test/distributed.py | 1 - src/train_test/utils.py | 22 +++++++++------------- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/data_processing/init_dataset.py b/src/data_processing/init_dataset.py index d0e79aaf..47b4a1c4 100644 --- a/src/data_processing/init_dataset.py +++ b/src/data_processing/init_dataset.py @@ -10,7 +10,7 @@ from src.feature_extraction.protein_nodes import create_pfm_np_files from src.data_processing.datasets import DavisKibaDataset, PDBbindDataset, PlatinumDataset -from src.train_test.utils import train_val_test_split +from src.train_test.utils import train_val_test_split, train_val_test_split_kfolds def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Iterable[str], pro_overlap:bool=False, data_root:str=cfg.DATA_ROOT, @@ -92,10 +92,18 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Ite ) # saving training, validation, and test sets - train_loader, val_loader, test_loader = train_val_test_split(dataset, - train_split=train_split, val_split=val_split, - random_seed=random_seed, split_by_prot=not pro_overlap, - k_folds=k_folds) + if k_folds is None: + train_loader, val_loader, test_loader = train_val_test_split(dataset, + train_split=train_split, val_split=val_split, + random_seed=random_seed, split_by_prot=not pro_overlap) + else: + test_split = 1 - train_split - val_split + assert test_split > 0, f"Invalid train/val/test split: {train_split}/{val_split}/{test_split}" + assert not pro_overlap, f"No support for overlapping proteins with k-folds rn." + train_loader, val_loader, test_loader = train_val_test_split_kfolds(dataset, + k_folds=k_folds, test_split=test_split, + random_seed=random_seed) # only non-overlapping splits for k-folds + subset_names = ['train', 'val', 'test'] if pro_overlap: subset_names = [s+'-overlap' for s in subset_names] diff --git a/src/train_test/distributed.py b/src/train_test/distributed.py index ea578215..2b1d65f4 100644 --- a/src/train_test/distributed.py +++ b/src/train_test/distributed.py @@ -102,7 +102,6 @@ def dtrain(args): torch.distributed.barrier() # Sync params across GPUs before training - # ==== train ==== print("starting training:") logs = train(model=model, train_loader=loaders['train'], val_loader=loaders['val'], diff --git a/src/train_test/utils.py b/src/train_test/utils.py index 479502a1..dbe22aad 100644 --- a/src/train_test/utils.py +++ b/src/train_test/utils.py @@ -141,10 +141,10 @@ def train_val_test_split(dataset: InMemoryDataset, return train_loader, val_loader, test_loader -def train_val_test_split_kfolds(dataset: InMemoryDataset, - train_split=.8, val_split=.1, +def train_val_test_split_kfolds(dataset: InMemoryDataset, + k_folds:int=5, test_split=.1, shuffle_dataset=True, random_seed=None, - batch_train=128, k_folds:int=5) -> tuple[DataLoader]: + batch_train=128) -> tuple[DataLoader]: """ Same as train_val_test_split but splits the training set into k_folds. This assumes that use_refined is False and split_by_prot is True. @@ -153,18 +153,16 @@ def train_val_test_split_kfolds(dataset: InMemoryDataset, ---------- `dataset` : InMemoryDataset The dataset to split - `train_split` : float, optional - How much goes to just training, by default .8 - `val_split` : float, optional - How much for validation (remainder goes to test), by default .1 + `test_split` : float, optional + What percentage of the dataset to use for testing, by default .1 + `k_folds` : int, optional + Number of folds to split the training set into, by default 5 `shuffle_dataset` : bool, optional self explainatory, by default True `random_seed` : _type_, optional seed for shuffle, by default None `batch_train` : int, optional size of batch, by default 128 - `k_folds` : int, optional - Number of folds to split the training set into, by default 5 Returns ------- @@ -182,9 +180,7 @@ def train_val_test_split_kfolds(dataset: InMemoryDataset, # Get size for each dataset and indices dataset_size = len(dataset) indices = list(range(dataset_size)) - tr_size = int(np.floor(train_split * dataset_size)) - v_size = int(np.floor(val_split * dataset_size)) - te_size = dataset_size - tr_size - v_size + test_size = int(test_split * dataset_size) if shuffle_dataset: np.random.shuffle(indices) # in-place shuffle @@ -198,7 +194,7 @@ def train_val_test_split_kfolds(dataset: InMemoryDataset, count = 0 test_prots = {} for p in prots: # O(k); k = number of proteins - if count + prot_counts[p] <= te_size: + if count + prot_counts[p] <= test_size: test_prots[p] = True count += prot_counts[p] From b4ff288022794c717998278364557d11fd5dafa9 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 16:29:20 -0400 Subject: [PATCH 13/43] fix(split): created folds for davis #47 Creating folds for datasets now works with davis #46 --- playground.py | 39 ++++++++--------------------- src/data_processing/init_dataset.py | 2 +- src/train_test/utils.py | 4 +-- 3 files changed, 13 insertions(+), 32 deletions(-) diff --git a/playground.py b/playground.py index d82e4a9c..1cf7d005 100644 --- a/playground.py +++ b/playground.py @@ -1,31 +1,12 @@ -#%% -from src.data_processing.datasets import PDBbindDataset -from src.utils import config as cfg -import pandas as pd -import matplotlib.pyplot as plt - -# d0 = pd.read_csv(f'{cfg.DATA_ROOT}/DavisKibaDataset/davis/nomsa_anm/full/XY.csv', index_col=0) -d0 = pd.read_csv(f'{cfg.DATA_ROOT}/PDBbindDataset/nomsa_anm/full/XY.csv', index_col=0) - -d0['len'] = d0.prot_seq.str.len() - -# %% -n, bins, patches = plt.hist(d0['len'], bins=20) -# Set labels and title -plt.xlabel('Protein Sequence length') -plt.ylabel('Frequency') -plt.title('Histogram of Protein Sequence length (davis)') - -# Add counts to each bin -for count, x, patch in zip(n, bins, patches): - plt.text(x + 0.5, count, str(int(count)), ha='center', va='bottom') - -cutoff= 1500 -print(f"Eliminating codes above {cutoff} length would reduce the dataset by: {len(d0[d0['len'] > cutoff])}") -print(f"\t - Eliminates {len(d0[d0['len'] > cutoff].index.unique())} unique proteins") - -# %% -d PDBbind -f nomsa -e anm -from src.utils.loader import Loader -d1 = Loader.load_dataset('PDBbind', 'nomsa', 'anm') +# %% Creating Data folds for Davis +from src.data_processing.init_dataset import create_datasets + +create_datasets( + data_opt=['davis'], + feat_opt=['nomsa'], + edge_opt=['binary'], + pro_overlap=False, + k_folds=5 +) # %% diff --git a/src/data_processing/init_dataset.py b/src/data_processing/init_dataset.py index 47b4a1c4..15fc252c 100644 --- a/src/data_processing/init_dataset.py +++ b/src/data_processing/init_dataset.py @@ -15,7 +15,7 @@ def create_datasets(data_opt:Iterable[str], feat_opt:Iterable[str], edge_opt:Iterable[str], pro_overlap:bool=False, data_root:str=cfg.DATA_ROOT, ligand_features:Iterable[str]=['original'], - ligand_edges:Iterable[str]='binary', + ligand_edges:Iterable[str]=['binary'], k_folds:int=None, random_seed:int=0, train_split:float=0.8, diff --git a/src/train_test/utils.py b/src/train_test/utils.py index dbe22aad..c265a04d 100644 --- a/src/train_test/utils.py +++ b/src/train_test/utils.py @@ -220,8 +220,8 @@ def train_val_test_split_kfolds(dataset: InMemoryDataset, print(f'Number of unique proteins in each fold: {fold_size}') ## looping through folds to create train and val loaders - train_loaders, val_loaders = [], [], [] - for i, fold in enumerate(k_folds): + train_loaders, val_loaders = [], [] + for i, fold in enumerate(prot_folds): train_indices, val_indices = [], [] for idx in range(dataset_size): # O(n) if dataset[idx]['prot_id'] in fold: From fef45a21e417a05d58d51cb459d5c7ef15cf5f31 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Wed, 1 Nov 2023 17:15:56 -0400 Subject: [PATCH 14/43] perf(train_test): removed empty_cache() previously I had put this to save memory, but since #50 this should not be an issue anymore --- src/train_test/training.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/train_test/training.py b/src/train_test/training.py index 7e85519a..49f0861c 100644 --- a/src/train_test/training.py +++ b/src/train_test/training.py @@ -108,9 +108,6 @@ def train(model: BaseModel, train_loader:DataLoader, val_loader:DataLoader, # Update tqdm progress bar progress_bar.set_postfix({"Train Loss": train_loss / (progress_bar.n + 1)}) progress_bar.update(1) - del batch_pro, batch_mol, labels, predictions, loss - gc.collect() - torch.cuda.empty_cache() # Compute average training loss for the epoch train_loss /= len(train_loader) From 1374236ae7e8827fddaa97ce7a79480e7c6b32e9 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Thu, 2 Nov 2023 10:15:54 -0400 Subject: [PATCH 15/43] fix(metrics): create/fix csv if incomplete header --- src/data_analysis/metrics.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data_analysis/metrics.py b/src/data_analysis/metrics.py index abeb00a8..cdb9d094 100644 --- a/src/data_analysis/metrics.py +++ b/src/data_analysis/metrics.py @@ -159,8 +159,8 @@ def get_metrics(y_true: np.array, y_pred: np.array, save_figs=True, print(f"MAE: {mae:.3f}") print(f"RMSE: {rmse:.3f}") - # creating stats csv if it doesnt exist - if not os.path.exists(csv_file): + # creating stats csv if it doesnt exist or empty/incomplete header + if not os.path.exists(csv_file) or os.path.getsize(csv_file) < 40: stats = pd.DataFrame(columns=['run', 'cindex', 'pearson', 'spearman', 'mse', 'mae', 'rmse']) stats.set_index('run', inplace=True) stats.to_csv(csv_file) From 4a2aed8d601d62168bbccf56c591b7e4bdda77b0 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Thu, 2 Nov 2023 10:30:46 -0400 Subject: [PATCH 16/43] results(davis): 5-fold nomsa binary #46 --- ...omsaF_binaryE_64B_0.0001LR_0.4D_2000E.json | 4007 +++++++++++++++++ ...omsaF_binaryE_64B_0.0001LR_0.4D_2000E.json | 4007 +++++++++++++++++ ...omsaF_binaryE_64B_0.0001LR_0.4D_2000E.json | 4007 +++++++++++++++++ ...omsaF_binaryE_64B_0.0001LR_0.4D_2000E.json | 4007 +++++++++++++++++ ...omsaF_binaryE_64B_0.0001LR_0.4D_2000E.json | 4007 +++++++++++++++++ results/model_media/model_stats.csv | 5 + results/model_media/model_stats_val.csv | 6 + 7 files changed, 20046 insertions(+) create mode 100644 results/model_media/davis/train_log/DGM_davis0D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json create mode 100644 results/model_media/davis/train_log/DGM_davis1D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json create mode 100644 results/model_media/davis/train_log/DGM_davis2D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json create mode 100644 results/model_media/davis/train_log/DGM_davis3D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json create mode 100644 results/model_media/davis/train_log/DGM_davis4D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json diff --git a/results/model_media/davis/train_log/DGM_davis0D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json b/results/model_media/davis/train_log/DGM_davis0D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json new file mode 100644 index 00000000..7262ed66 --- /dev/null +++ b/results/model_media/davis/train_log/DGM_davis0D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json @@ -0,0 +1,4007 @@ +{ + "train_loss": [ + 3.798724649969591, + 1.1112874346679869, + 1.0965593432614562, + 1.0865836965563829, + 1.053134105940113, + 1.0548429564325088, + 1.0346014561182861, + 1.0169028230581079, + 1.0053640544095535, + 0.9885400293981628, + 0.9842151335756714, + 0.9642776878556345, + 0.9518947787468951, + 0.9530634262601899, + 0.9379500203996624, + 0.9335846307627652, + 0.9370301149626026, + 0.9290214272540643, + 0.921984021269947, + 0.9256017077087627, + 0.9096279223121999, + 0.909654020716291, + 0.9102953008236506, + 0.8997038315514542, + 0.9088478871031639, + 0.9180120238379237, + 0.9531684473886037, + 0.9485084807973024, + 0.9303112310736187, + 0.9431673451027739, + 0.9544205284629028, + 0.9557222468544948, + 0.9426645240333467, + 0.9486453191630702, + 0.9289037634473328, + 0.9284927634015361, + 0.9343938454757772, + 0.9396493941180932, + 0.9287055628744469, + 0.9143251233737039, + 0.9068136272855126, + 0.910014052912365, + 0.8887330727247288, + 0.8843728953271831, + 0.8781999978906153, + 0.8947964592036486, + 0.8895648712867626, + 0.8764880163088122, + 0.8832059861459863, + 0.8487540706992149, + 0.8567153592949978, + 0.833511638668699, + 0.8621232737231692, + 0.8292193548805123, + 0.8566851173883548, + 0.8728000862062524, + 0.858389375133252, + 0.8182565779040712, + 0.8109263996009798, + 0.8013793073070523, + 0.8029709620122151, + 0.8003030524614754, + 0.8385528510134519, + 0.810197553890743, + 0.8200747490111476, + 0.8005979667654096, + 0.8156178927430684, + 0.8018806396274392, + 0.8106340796712341, + 0.7831310025595744, + 0.7821241846188492, + 0.7769648787032938, + 0.8088142062545917, + 0.7877838264592562, + 0.7896829091399817, + 0.7747740151776451, + 0.759427057835487, + 0.7507151805593515, + 0.7635346822873532, + 0.7434434101258943, + 0.759978500277442, + 0.7405224415710031, + 0.7357159760020194, + 0.735320564097403, + 0.7221059415272981, + 0.7178583123040491, + 0.7235922643555961, + 0.7233314157352535, + 0.7289749632279078, + 0.7440617493943337, + 0.71578119442277, + 0.7321830850538857, + 0.7100396239133239, + 0.7366974293638807, + 0.7257863391384437, + 0.7278799341495977, + 0.7148177184005031, + 0.7205653365826753, + 0.6932602728452157, + 0.6963637919828797, + 0.6885811202797686, + 0.6960535532017367, + 0.692423706162231, + 0.689907130594465, + 0.7041933657516033, + 0.6863807632334371, + 0.6926409069915794, + 0.6983535818140442, + 0.6742742804622431, + 0.6800214136503523, + 0.6694165975857947, + 0.6675045638592965, + 0.6717593846928089, + 0.6635196677178418, + 0.6571699263989379, + 0.6557933837403216, + 0.6703205704461179, + 0.6595420111711237, + 0.6601608706814798, + 0.6508013606299319, + 0.6551255005716549, + 0.6590011878229609, + 0.6811789013559301, + 0.6437052366429148, + 0.6531924469800899, + 0.6392698043712418, + 0.6440999064400837, + 0.6386413966114732, + 0.6325359924579614, + 0.636195252293476, + 0.6337351398912774, + 0.6392334439885725, + 0.6443602947421395, + 0.6443462523571942, + 0.6391728040776486, + 0.6363489069158513, + 0.6298414646713376, + 0.6382369010592455, + 0.6337151770061309, + 0.6288941985377843, + 0.6326730056503497, + 0.620809551408167, + 0.618752593499258, + 0.6208956881400642, + 0.6250752685449175, + 0.6137672773924078, + 0.6173482669648409, + 0.6082519086858184, + 0.6082479248808794, + 0.6032247961205445, + 0.6084948714127599, + 0.6036358765961563, + 0.6008821357303621, + 0.600182986223005, + 0.60361616899023, + 0.5961598520044704, + 0.6022196333479444, + 0.5935243762551098, + 0.6031611000133581, + 0.5911564776611256, + 0.6003094326237656, + 0.5951357834519596, + 0.5841522238670139, + 0.5879103907295687, + 0.5980932502024764, + 0.5893094921740917, + 0.5866874321976204, + 0.5840697170944389, + 0.5887654468827291, + 0.5777101715177936, + 0.5811863867195739, + 0.5859699567796988, + 0.5776047789084438, + 0.5854061438676414, + 0.5817121943339295, + 0.5717076303762033, + 0.572186120583559, + 0.5743178725698308, + 0.5714132914530392, + 0.5746690244599038, + 0.5662783717890398, + 0.5795980849351723, + 0.5713619067809268, + 0.571775874253989, + 0.5675405371216459, + 0.5722208290335236, + 0.5639225991402926, + 0.559730277832495, + 0.5685065542248047, + 0.5677257457275274, + 0.5709693345956117, + 0.5605485759652719, + 0.5653277869117005, + 0.5709195412946039, + 0.5539830610361121, + 0.5621774468901325, + 0.5556764563471535, + 0.5645284690418557, + 0.5582465884084913, + 0.5533825719803116, + 0.5508605367091088, + 0.5590603030329451, + 0.5559893279743668, + 0.5637503710976981, + 0.557551136097959, + 0.5544327166535257, + 0.5469127954510739, + 0.5530889105928964, + 0.5467033461533738, + 0.5507864391357162, + 0.5543581951831095, + 0.5426143634870694, + 0.5438154137690497, + 0.5439070708457301, + 0.5435061531329374, + 0.5452434506255917, + 0.5476389268715083, + 0.546879459548434, + 0.5436470051743204, + 0.5463830498744953, + 0.5405365895217894, + 0.5421980323457937, + 0.5399165495159247, + 0.5484754578509462, + 0.5309139190281568, + 0.5342119514532045, + 0.5295390666146343, + 0.5241227569314865, + 0.528648451995959, + 0.5383415145611544, + 0.5320790984442839, + 0.527452187094302, + 0.5289674919634055, + 0.5302991590687623, + 0.5215259419030734, + 0.522754979618919, + 0.5412461725077863, + 0.5373168937429011, + 0.5297397365195489, + 0.523481475741856, + 0.5270886329039703, + 0.5262394009516873, + 0.5292455477679906, + 0.531102789081747, + 0.514079905362851, + 0.5251745232566052, + 0.5190788460069475, + 0.5194436827680204, + 0.5222992439062224, + 0.5188569383815341, + 0.5162468245452333, + 0.5114969427409705, + 0.5078881105880854, + 0.5115242559656455, + 0.515871667693332, + 0.508251229511853, + 0.5070164870094815, + 0.5045385293730902, + 0.5078171879189823, + 0.5077003598760027, + 0.5206143694391491, + 0.5063593630374207, + 0.4964153732569028, + 0.5086237336494689, + 0.5034613395138253, + 0.5178699515509314, + 0.5201354715574408, + 0.5164238290593529, + 0.5057196221471015, + 0.49400428413706815, + 0.5005589769953799, + 0.5016131184379989, + 0.5017446520131662, + 0.5026669784218346, + 0.4894780872634609, + 0.4926585598481358, + 0.4870148334390162, + 0.4988418414687527, + 0.4903523854410065, + 0.4855982706816554, + 0.48555727659607884, + 0.48860295898414896, + 0.49852136053167717, + 0.4808646738415282, + 0.48216514333809185, + 0.47496703121275713, + 0.4824752108470198, + 0.4911029898313754, + 0.4895402885039283, + 0.5024721389152224, + 0.51128038955391, + 0.4968734461278726, + 0.4834712326686134, + 0.49250116459000004, + 0.4946869046794712, + 0.48228528349452426, + 0.47573461130671546, + 0.4730763316997512, + 0.4831448351389042, + 0.4779615660941382, + 0.4768610861072664, + 0.4731483861052115, + 0.47954368728016494, + 0.47687978032030826, + 0.4765291908807164, + 0.4731032784333287, + 0.4756355999715467, + 0.4797823040971151, + 0.4733719652581288, + 0.4723090064521047, + 0.473815244112722, + 0.4693302628484523, + 0.46299587438503903, + 0.4792940806062032, + 0.4926932123503918, + 0.502144332724518, + 0.4803753815682474, + 0.4718588736785479, + 0.47598652998469654, + 0.46897646947692656, + 0.4645903989649876, + 0.4616495365510475, + 0.4552599180615094, + 0.4679351555417072, + 0.45959821115575433, + 0.46106442043540674, + 0.4711012831612829, + 0.4701011346180322, + 0.46513939277476857, + 0.46452032939875526, + 0.46529336418352724, + 0.45064327263185006, + 0.45910345336895103, + 0.4541711454316746, + 0.45583128898378905, + 0.4548734987798269, + 0.4520523605999232, + 0.47019371386925013, + 0.46298094100634984, + 0.45539188512603807, + 0.45003580016052686, + 0.4564164655129297, + 0.44693494654212157, + 0.44729380521479, + 0.45035965232583, + 0.44627212235185715, + 0.4580219038833354, + 0.45116005349186583, + 0.4556209885996598, + 0.46155980900385696, + 0.46563054056160313, + 0.46239380471248875, + 0.46049876561223185, + 0.44704146620558305, + 0.4575700022804263, + 0.4549289053642057, + 0.44692827228012433, + 0.44112638051447883, + 0.4617234097070286, + 0.46351811804720383, + 0.4514343237293605, + 0.4545266539177399, + 0.43883754366536026, + 0.43589750009756933, + 0.4489770837424363, + 0.4464114000422692, + 0.4422890581076663, + 0.43673310556451844, + 0.44353231330849346, + 0.4328024591282238, + 0.43799437761352333, + 0.4465983745724601, + 0.43931934747856327, + 0.44223331947118866, + 0.4349750987387943, + 0.42588318572223005, + 0.4393448223123492, + 0.437136064850318, + 0.438350110334723, + 0.43707999984651164, + 0.44285669422705604, + 0.4348401781228522, + 0.43206509824739686, + 0.4334377081045135, + 0.4326317991024675, + 0.42918368442616334, + 0.43950017167978694, + 0.4340067827213977, + 0.44101139562438024, + 0.42908841912671697, + 0.4309391348255337, + 0.44366299047701585, + 0.4333199092645528, + 0.42381810043747636, + 0.4267336660796714, + 0.42532339524648605, + 0.42792996409881734, + 0.440852029140845, + 0.4400895639274281, + 0.42270130873728967, + 0.42687699638466586, + 0.42207070860430734, + 0.41938578799959353, + 0.431828661556911, + 0.42326424032768706, + 0.42610004546536584, + 0.44050099881827287, + 0.4239486428461855, + 0.4248643614784658, + 0.4148085405793759, + 0.41783912172284693, + 0.4116757941355399, + 0.431006201090069, + 0.4297002721406998, + 0.42017398378170956, + 0.40795790854078184, + 0.42664883252723135, + 0.42381685959682186, + 0.4146675464301299, + 0.41754424593636386, + 0.4262938201997076, + 0.42999653727818704, + 0.4143424318812856, + 0.41693701519878634, + 0.41691099603970844, + 0.41412126040513364, + 0.42180037014300303, + 0.4176067441177842, + 0.4078244571360426, + 0.41384754824346726, + 0.4171984940197672, + 0.41737893575785356, + 0.4220458176727506, + 0.40982448175230524, + 0.40481353372289863, + 0.41041331700638894, + 0.40639090917389326, + 0.4172350178367319, + 0.411995537032228, + 0.4262810673120372, + 0.4161245900488228, + 0.4067512106161781, + 0.4108054112836673, + 0.40473937893724954, + 0.4065114469110783, + 0.40782530589843746, + 0.40277576608304216, + 0.40506653478568483, + 0.4165867105331443, + 0.4094927061679531, + 0.40813454387521525, + 0.40669330226582123, + 0.4008924913925862, + 0.40491444726876163, + 0.4103357787913321, + 0.4148111397497333, + 0.4046672579664338, + 0.4080410277419681, + 0.4138669213821217, + 0.3990730253882729, + 0.4093113501160334, + 0.3986515263921442, + 0.3979489372000782, + 0.3926418460278974, + 0.39754527716097116, + 0.4033188077447429, + 0.4085383323627874, + 0.39622720839051295, + 0.3972470887142037, + 0.39434700995820376, + 0.40209922371061935, + 0.40109233233496683, + 0.40273961079640125, + 0.4031035394068887, + 0.40416515526284863, + 0.40999507212538605, + 0.39253566120195826, + 0.39162953188842226, + 0.39768715960398, + 0.3963991250922556, + 0.3929269793486103, + 0.3916479813145753, + 0.40085345588692833, + 0.41195222125915576, + 0.39273015674009965, + 0.40197247742968595, + 0.4037443528390441, + 0.3957736336196052, + 0.38802128727191815, + 0.3913792212997828, + 0.4023336959541391, + 0.4018278605780288, + 0.3890862166311945, + 0.3852280456151255, + 0.40166231539863695, + 0.4116017588781654, + 0.39951021371221324, + 0.39338826907610674, + 0.39593704238488403, + 0.38920537059961474, + 0.40462837051543254, + 0.39217530199488915, + 0.39109111764106547, + 0.3943564538311339, + 0.3866256530359615, + 0.3813101350007983, + 0.39627322086933375, + 0.38825906555678136, + 0.3862399116602786, + 0.3924625984390212, + 0.38349130362363404, + 0.4058919918783214, + 0.4041848318816507, + 0.387085711577799, + 0.38547018876680905, + 0.384094822980942, + 0.3824716526844086, + 0.3858042553363408, + 0.38209754337388624, + 0.38672258380219476, + 0.3816462357155409, + 0.3877307605226197, + 0.39059908967180357, + 0.38057616404870054, + 0.3859951864779907, + 0.37884164746246934, + 0.3835215568656404, + 0.37804490608655894, + 0.3819947142598279, + 0.3874976383094941, + 0.3816808452801238, + 0.3770377216376478, + 0.37536260484509876, + 0.3779368747470029, + 0.380843523046748, + 0.3746652422239292, + 0.3702029010298055, + 0.3760395642107962, + 0.3828952489961907, + 0.375599109957889, + 0.3764762582901056, + 0.37921196071926605, + 0.3807766621174798, + 0.3932829188291177, + 0.380776601567272, + 0.37318576393871133, + 0.37268268463375553, + 0.36710705218511985, + 0.36913173030549234, + 0.3798026665703419, + 0.38155590184602534, + 0.37759210599945225, + 0.3786636945600721, + 0.3653074040758318, + 0.3771223530674564, + 0.3683077224647051, + 0.38635874557271827, + 0.3870290388048424, + 0.3702490437172057, + 0.36502623273805923, + 0.3692183878830996, + 0.3671008855309508, + 0.37347707949829395, + 0.36553426871833816, + 0.365123606990419, + 0.3715751679323682, + 0.36894066403947473, + 0.36444548784046, + 0.36666457594830876, + 0.3691712309483906, + 0.36488832933230136, + 0.3564876934416615, + 0.36464072314492607, + 0.36404301132722006, + 0.36384998294966303, + 0.36192360408718066, + 0.37331483959126366, + 0.36484203000043147, + 0.36714653254967944, + 0.3640255080108796, + 0.36875231480880977, + 0.36798746404252286, + 0.3701466153737511, + 0.3636747990828862, + 0.3578307254735483, + 0.3616394068168573, + 0.3590980374484981, + 0.3585370974814582, + 0.37303196155218354, + 0.36493604887698405, + 0.36488296229403683, + 0.3651844065021211, + 0.35232564948203005, + 0.3579084985983481, + 0.35731643070936747, + 0.3684661946393299, + 0.3857682291703122, + 0.35859025153545065, + 0.3605704414530085, + 0.3527880100140331, + 0.3685326278950187, + 0.35996516584917126, + 0.35680147238782056, + 0.3639519909732841, + 0.3613157442654127, + 0.35037509543359824, + 0.34912035658682156, + 0.3622078482710987, + 0.3510638433095603, + 0.36191782784799187, + 0.36108371868319467, + 0.368727293611712, + 0.36282587425059865, + 0.35750525842907777, + 0.3585715997189466, + 0.3486452362178298, + 0.3543510857673322, + 0.3581833763828427, + 0.35395681220662156, + 0.3490589151062094, + 0.35535039061207657, + 0.352296143422752, + 0.3464501290966611, + 0.3453489223876769, + 0.34933729399143737, + 0.36179463004847184, + 0.349696257701343, + 0.35389141067406815, + 0.3618347919873597, + 0.349727279025298, + 0.343804618907631, + 0.34333348175687345, + 0.3434941425395486, + 0.34825307908909403, + 0.34752963091437605, + 0.3457845360131803, + 0.3556296496626434, + 0.3528297476424901, + 0.34757505685364437, + 0.34309720597158694, + 0.34645052793626574, + 0.3505946834904885, + 0.3508728575644963, + 0.34816831599248843, + 0.34350541769455695, + 0.3506389949983413, + 0.35247452046141164, + 0.34674432545057315, + 0.34402276692906286, + 0.3464919236924397, + 0.3507595637055621, + 0.33617128538884883, + 0.34239136186123625, + 0.33724000450759123, + 0.3446875776104424, + 0.3428333560716851, + 0.34399920274198786, + 0.3491279175932254, + 0.3476502079550826, + 0.3415203550745041, + 0.34935743853859946, + 0.3446968555997271, + 0.34854839946106303, + 0.3688701576060567, + 0.34154040000147956, + 0.3383166098608336, + 0.3413983898049374, + 0.34377430156101146, + 0.3478448819027308, + 0.3426425864276354, + 0.3358565036788446, + 0.3332915975960023, + 0.3376384531959481, + 0.33464220955694485, + 0.3376906508870354, + 0.3382418823830031, + 0.3373727319642491, + 0.3341101298353632, + 0.33495196991170034, + 0.3334483059823786, + 0.3271119290284972, + 0.3283449429619932, + 0.3336847587987006, + 0.3270901678990151, + 0.3273191446102358, + 0.3319921802547091, + 0.33007300691251906, + 0.32998602673274663, + 0.3316000000736035, + 0.32864239891643554, + 0.32701592485702363, + 0.3310442424581503, + 0.3301319639662719, + 0.32790486603428465, + 0.3327083522767193, + 0.32726678959113925, + 0.3310078322682359, + 0.33217704218074634, + 0.3335286275987778, + 0.33017371361932807, + 0.3240113741282476, + 0.32415183353884325, + 0.3311022115409921, + 0.32813248386897076, + 0.3271976614866508, + 0.32870541213917626, + 0.32529579943176984, + 0.3311213056075555, + 0.32425275038848045, + 0.32659495126353494, + 0.33012358276942455, + 0.32792491551819014, + 0.32077966073943753, + 0.32182977108188, + 0.3245358331875152, + 0.3215606577683024, + 0.32508296154963495, + 0.3213738947024495, + 0.31517178059444517, + 0.32070865836393214, + 0.32558795550000774, + 0.32659959413726397, + 0.32033070933290214, + 0.3215661933218394, + 0.3243386265494226, + 0.3238518800221908, + 0.32632236563193323, + 0.32161790016890485, + 0.32162920338890605, + 0.3174060246243572, + 0.3196607342485441, + 0.3194696642800209, + 0.3309875366645395, + 0.3198560986508379, + 0.3175555571389672, + 0.32440070154583966, + 0.3189340782571094, + 0.31562532990350634, + 0.3168737123056745, + 0.31657741069565853, + 0.314585162622894, + 0.31815009496376967, + 0.31916268232537703, + 0.3201491139567135, + 0.3157935955530369, + 0.3161444945391894, + 0.3194228239949872, + 0.32236571025547633, + 0.3191617625774047, + 0.3163295248608797, + 0.3197654494930298, + 0.3117195920340876, + 0.3168062947132263, + 0.3147182886628292, + 0.3175005979198017, + 0.3244635809429377, + 0.3182508733453918, + 0.30906223849214, + 0.3119956860233338, + 0.3121843514764619, + 0.30683487309114466, + 0.313039678174558, + 0.31550684678923646, + 0.31460708625819706, + 0.3169901202224901, + 0.31565036851946915, + 0.31990804888923235, + 0.31260113747910073, + 0.3105326324746879, + 0.31353371004240776, + 0.312193877846914, + 0.30649884716701614, + 0.313325371490706, + 0.3118994719881439, + 0.315383248999487, + 0.3116052735665249, + 0.3071270477345686, + 0.30472116725411075, + 0.30661729882707656, + 0.31385407953975947, + 0.30990573341761707, + 0.31610868731086406, + 0.3143200899163882, + 0.3106815307842573, + 0.3012142021163432, + 0.3106525862925552, + 0.3076549893307759, + 0.31120210627395806, + 0.30869177710094037, + 0.3077763020992279, + 0.3094453438774708, + 0.3096973911861943, + 0.30239306352121204, + 0.3094024353572353, + 0.311431468985633, + 0.30660121026092896, + 0.3140890680264898, + 0.30454263723930997, + 0.302799299758053, + 0.30624894228755334, + 0.30420495270087816, + 0.2986589445125893, + 0.3058275993776704, + 0.3013959060613898, + 0.3056106987246953, + 0.30238860385315863, + 0.3036140231045379, + 0.3040573967717565, + 0.30130163369990814, + 0.29797504564878224, + 0.2978526219520547, + 0.29711950307182217, + 0.30826914139000827, + 0.30487720228002524, + 0.2996461100830762, + 0.30363569339161983, + 0.29780016327988845, + 0.3014163891371875, + 0.30151445394102766, + 0.2995860497339056, + 0.3009342542801064, + 0.29850214428698435, + 0.3000626415925653, + 0.29602888649164355, + 0.30042700595379057, + 0.30104259751873824, + 0.2980149219592959, + 0.3052350566451885, + 0.3012111216145553, + 0.29730786123406994, + 0.2976134030051552, + 0.29430635147001766, + 0.30112291337631714, + 0.2958844491374602, + 0.2987274355867405, + 0.29673926537964684, + 0.3018393925581959, + 0.2960514436712323, + 0.2978253960438551, + 0.29533777033927244, + 0.30136546250489693, + 0.29038337085521365, + 0.2976926075186387, + 0.2915854133631385, + 0.29732339467500146, + 0.2993137130644799, + 0.2979062147472703, + 0.29969493788453416, + 0.29645826716534224, + 0.2987507144359456, + 0.29468151952911864, + 0.29045428490602276, + 0.2917109408133894, + 0.29694119893265064, + 0.3004410671018953, + 0.2970728309488989, + 0.29030554606621967, + 0.28949891019396096, + 0.2942533778476697, + 0.29483342220841563, + 0.2986462760135668, + 0.2932166482353247, + 0.28819263908750054, + 0.293924994060388, + 0.29399993784999084, + 0.28961548967349604, + 0.29352019024893233, + 0.29164214870844046, + 0.2897377338841421, + 0.29537577915150637, + 0.29032209126523695, + 0.29222925999614807, + 0.29113320011178473, + 0.29014627552884614, + 0.29099103509924096, + 0.28661049504846975, + 0.2912813246546353, + 0.2908876801838113, + 0.29133010994563224, + 0.28932352921717575, + 0.29173799584240906, + 0.29122745303226355, + 0.2894286834649081, + 0.29583667982540546, + 0.2854068833275126, + 0.2900999407611491, + 0.2871333319659627, + 0.2905239787875512, + 0.28349342200597494, + 0.2877374542449866, + 0.28488999803974907, + 0.28620769200840857, + 0.2885800334781591, + 0.2910098262267922, + 0.2863069535361244, + 0.28608501804508385, + 0.2941716102547146, + 0.2902720477944667, + 0.2883777259948695, + 0.2928813525079678, + 0.291090208176945, + 0.28501189870344024, + 0.28940328755145406, + 0.28883207085277507, + 0.28909603320631777, + 0.2889395581803282, + 0.2858483660168695, + 0.2875892169921679, + 0.2872338192110215, + 0.28181554286510024, + 0.2872003829818709, + 0.2857024712653244, + 0.28730630119322637, + 0.29078618957111413, + 0.28846470705185095, + 0.2846006869255858, + 0.28539287634421745, + 0.2809744785719235, + 0.2811969944107879, + 0.28767510445429645, + 0.28119587847558547, + 0.28196190798296294, + 0.28511765740515627, + 0.28288467325817007, + 0.2784128041157573, + 0.2846987419263303, + 0.28160236135056804, + 0.2838757326228356, + 0.28561797693075575, + 0.28002881817519665, + 0.28791927710881837, + 0.28393340336346845, + 0.28567205032829296, + 0.28377527082253484, + 0.2863364083641166, + 0.28217083031157836, + 0.2802680999849459, + 0.2880159273447429, + 0.27834907833726036, + 0.28227528440410027, + 0.28603587092245025, + 0.27714166187023354, + 0.28559249834889483, + 0.28415114531686547, + 0.27904814133130085, + 0.2807123343081467, + 0.27321241273678587, + 0.27947943493587163, + 0.2802434308961353, + 0.28137451255927576, + 0.28760487978155824, + 0.2798005976580334, + 0.27835852304752634, + 0.2761959609794872, + 0.2779617373367333, + 0.2783813122773845, + 0.2860024416654026, + 0.28267524745714045, + 0.2770393896130247, + 0.2786412805273263, + 0.2798818718493896, + 0.2788784521082217, + 0.27633036870156225, + 0.28125388656574835, + 0.27760525922140034, + 0.27825816478067583, + 0.2782532597809392, + 0.27892530278875194, + 0.27735931368755457, + 0.2775381201940848, + 0.2811994325677189, + 0.28240658620241404, + 0.2844423194692131, + 0.2748564902795564, + 0.27632632605526425, + 0.28242732222200534, + 0.2761908952226515, + 0.2777798406278504, + 0.2811532372363846, + 0.2804296010826068, + 0.2740189105853302, + 0.27011855347053537, + 0.2753957522924796, + 0.2804215283842262, + 0.27824379900179874, + 0.2791428622484936, + 0.2776296557146566, + 0.2726064320106845, + 0.27318996126658146, + 0.2733214156878742, + 0.27864092641968613, + 0.2727287978856662, + 0.273687366265177, + 0.2751273564504465, + 0.27462175017399343, + 0.27611818999074833, + 0.27721005349508304, + 0.2761082849337147, + 0.2748377986013069, + 0.27280313939152323, + 0.26948127715594905, + 0.2675201288774746, + 0.2722931884981077, + 0.2704422266624116, + 0.27800051220308203, + 0.26974137029995066, + 0.27254499691547057, + 0.27170980990570986, + 0.2798231410187319, + 0.26846912769253284, + 0.27156418981172986, + 0.2771192432156214, + 0.2713593801067692, + 0.26657562417516467, + 0.27629393589788254, + 0.26773415571391945, + 0.27221219618135456, + 0.26939300459094734, + 0.27584160202459096, + 0.26888677987643156, + 0.2727839332244812, + 0.2705135422698948, + 0.27055050948184745, + 0.2760767236989937, + 0.270962661291709, + 0.2693288953126115, + 0.2669830067134505, + 0.2655580356341163, + 0.2717448091276833, + 0.27197772422264294, + 0.26906588869539605, + 0.2737431285806023, + 0.2738364557835305, + 0.2727923005056035, + 0.27044107714833104, + 0.26841957826133167, + 0.27216434007117507, + 0.2705494546436844, + 0.27218835417534415, + 0.26672703063041425, + 0.2683538290862826, + 0.26764935799603795, + 0.2648106922512299, + 0.2672772201216731, + 0.26686605045554834, + 0.26637046729479363, + 0.2626484843079194, + 0.2637922025487875, + 0.26489966120058245, + 0.26972251286337134, + 0.27079513611482736, + 0.269212552585528, + 0.2701639768522267, + 0.2665958038220803, + 0.2666215571583411, + 0.2688935447245016, + 0.26323303106363394, + 0.2714923354441055, + 0.265886030521597, + 0.2656717710026087, + 0.2697504276028102, + 0.2692381077380538, + 0.26682772475155214, + 0.2705157402880057, + 0.2656782922713764, + 0.26739265273014706, + 0.2689228789077713, + 0.2605090549369471, + 0.2645205560821003, + 0.26701991502138633, + 0.2691871463136024, + 0.26589433930313006, + 0.2675160703388832, + 0.26875629378568144, + 0.2637970771481047, + 0.26282265526598564, + 0.2639183388760923, + 0.2646977441151846, + 0.26263612695607935, + 0.264968242809541, + 0.2667916430109138, + 0.2644369119795364, + 0.26220980628937574, + 0.2637720517757198, + 0.2637675034184157, + 0.2647885847494963, + 0.26278124185740404, + 0.25885491574393865, + 0.26177804896590906, + 0.2576011291132608, + 0.26074243552230914, + 0.2671814817274473, + 0.2597725038054977, + 0.2601807223638628, + 0.2588917087216716, + 0.2610804914847153, + 0.2638523768041203, + 0.25975931301394006, + 0.2652076998902115, + 0.25923492472949194, + 0.2596429981325471, + 0.2655879645480202, + 0.2592867914108782, + 0.2626063969977405, + 0.2621658983204616, + 0.2578984671742271, + 0.2591704741883624, + 0.26087067168012307, + 0.2564400387443716, + 0.25983271097325766, + 0.256889370711526, + 0.25787194055542123, + 0.25651083146691867, + 0.25556066584992665, + 0.2638130397379216, + 0.2599150972150335, + 0.25865978202483525, + 0.26047645990568746, + 0.26126189671160616, + 0.25936136171734386, + 0.25464017195370764, + 0.2591746032739269, + 0.25572967123160484, + 0.26281927591218224, + 0.26576001677855804, + 0.2630552249114721, + 0.2607803487586319, + 0.2551663148840633, + 0.25913760654730805, + 0.2552256312232681, + 0.25819272723402087, + 0.2513119248724585, + 0.25872671510169815, + 0.2544614087437089, + 0.2611996670301992, + 0.262877009660917, + 0.2630426677496426, + 0.2635683026392617, + 0.2594642052056684, + 0.2591037264076668, + 0.2531174560695522, + 0.2526341263569367, + 0.2636160169890441, + 0.26014898009940024, + 0.2583692052176604, + 0.25873630305905954, + 0.25650210719589794, + 0.26093244613561245, + 0.24908052355802934, + 0.25834029441875966, + 0.25230751252115136, + 0.2595586444077506, + 0.2589623953190145, + 0.258753634476607, + 0.2572833980954842, + 0.25838665588437054, + 0.254948982393614, + 0.25639530438189295, + 0.25520416933598866, + 0.25143115497009105, + 0.25263954227966817, + 0.2518625707345636, + 0.25136497102404404, + 0.25518845143907387, + 0.2512647750123834, + 0.2537530205278039, + 0.25197437308181864, + 0.24950457775868498, + 0.2522669929145217, + 0.25069353963598745, + 0.25192036384870425, + 0.25170314550080797, + 0.252988340538166, + 0.25373966118110064, + 0.24942509507595217, + 0.2532930025939092, + 0.2516536067584558, + 0.25400931976553315, + 0.25788838216972276, + 0.2493557071837309, + 0.25037589568120716, + 0.2555086358310797, + 0.2504989467561245, + 0.2541789783204732, + 0.2478771804510089, + 0.25414869263882117, + 0.24771052190538392, + 0.2532634080561385, + 0.24921810023190413, + 0.25065967183138615, + 0.2486557481576908, + 0.24874825442397813, + 0.25631025229332915, + 0.24990444771649276, + 0.2520296380197236, + 0.2471437592583421, + 0.2455002824613534, + 0.24848225268475507, + 0.2493537215271036, + 0.2524887439638194, + 0.2563389590813206, + 0.2476932331492458, + 0.24341384265913601, + 0.24978451356177847, + 0.25158668897294123, + 0.2512794683206063, + 0.25150800135203094, + 0.25091336889688026, + 0.2505963701948478, + 0.24688328385341696, + 0.25079071033313094, + 0.2493094088486894, + 0.244314983549787, + 0.24916655472294635, + 0.2427487354782561, + 0.2497589693829098, + 0.24864738829866825, + 0.24858657734337566, + 0.24427161208533366, + 0.24677580494764018, + 0.2419033628526722, + 0.2522940898587534, + 0.24432760526907463, + 0.25176645167718786, + 0.24487130959099584, + 0.2465890493295198, + 0.2521089781816217, + 0.2502889071195315, + 0.24243633464742054, + 0.2472270074434328, + 0.24476757835289206, + 0.253363395753439, + 0.2443222227457922, + 0.2456100379039935, + 0.2501538551984987, + 0.24271178489909806, + 0.24513907237291702, + 0.24834610798626866, + 0.2469681405408211, + 0.24770996531340597, + 0.24708841241531598, + 0.24497036848342565, + 0.2502223977146938, + 0.24253157374167114, + 0.24284010347468774, + 0.24430360724802047, + 0.2429010643188013, + 0.24433455944049887, + 0.24572662993217462, + 0.24404003671641014, + 0.2482462723309385, + 0.2447014621085849, + 0.24625565770683122, + 0.24233012312926375, + 0.2424414776299798, + 0.24475930114518793, + 0.24938664784148015, + 0.2477302957576805, + 0.24855808209662045, + 0.24426941402734967, + 0.24085423412991955, + 0.2436248537164398, + 0.24120888296252727, + 0.2436687828807747, + 0.24577221493393364, + 0.24463904787151183, + 0.24314724792091216, + 0.2410969513209269, + 0.2406404144116407, + 0.24062291216048262, + 0.2476864738862631, + 0.24507805815006434, + 0.24120662796855064, + 0.24352572907320585, + 0.2397923417993186, + 0.2438621298988159, + 0.24710459976146618, + 0.24250154414809444, + 0.23877772288995053, + 0.24260375767786752, + 0.24006453192926694, + 0.24154106189499663, + 0.2394537298829047, + 0.239931745104355, + 0.24206510678913432, + 0.24280263023844006, + 0.2357125500137334, + 0.24592058229564892, + 0.2449422940463739, + 0.24085206862835254, + 0.24011672772353213, + 0.24097193264052136, + 0.24121231165933865, + 0.2411579735212552, + 0.2389528366255742, + 0.24034623792024745, + 0.23744548003926919, + 0.23665541438357363, + 0.23839893588505753, + 0.2437276705324832, + 0.23901983504596563, + 0.23951806818684762, + 0.241798879487571, + 0.24092923564443347, + 0.23936489172029204, + 0.23924340855113774, + 0.23507499391788372, + 0.2357274150242317, + 0.23658215970552843, + 0.23987506410329168, + 0.23713977489085009, + 0.2382866851615204, + 0.23365326087910465, + 0.23695051946053539, + 0.2380321977563225, + 0.23896510605714555, + 0.24035296663186237, + 0.24178306569291183, + 0.2387038192310191, + 0.23759606190663776, + 0.23881843717717524, + 0.23951419524916814, + 0.23803687648169855, + 0.23875579442430162, + 0.23927663611276617, + 0.23822237641781296, + 0.23469187123330726, + 0.23595002557603864, + 0.23372472348745446, + 0.23675515504969735, + 0.23593407491683413, + 0.24045520816397048, + 0.2348548011934037, + 0.233912716571253, + 0.23199620492619658, + 0.2366780451860632, + 0.23290990056065608, + 0.23860694974695051, + 0.2365926104093637, + 0.23937549960118823, + 0.2347899879035554, + 0.23244960024235173, + 0.23935608498877434, + 0.24077128088073263, + 0.2370449858532495, + 0.23228222457549624, + 0.2349652726693073, + 0.23397005013893685, + 0.23515974867245928, + 0.22975870687229735, + 0.23564560590625175, + 0.22840723246108136, + 0.23104262880878437, + 0.23271641323189124, + 0.23444688119085375, + 0.23878277370859996, + 0.22824158158939367, + 0.2335609908753989, + 0.22953707848701183, + 0.2322959302147047, + 0.23179199709770604, + 0.23209864129554422, + 0.23009483305458264, + 0.23515977149128642, + 0.235661699297049, + 0.23279849613877154, + 0.23540259648501782, + 0.233949923682787, + 0.23529910130443377, + 0.23069712026358016, + 0.22872466843472708, + 0.23175318045570126, + 0.23281241880746883, + 0.2331440794233244, + 0.23125553253001394, + 0.2279172472410838, + 0.23475668812313027, + 0.23058896922201647, + 0.23134321422922774, + 0.23473678232492476, + 0.22944507623142604, + 0.23027766474867267, + 0.2286461037199158, + 0.23215834606176852, + 0.22940830681302132, + 0.22972893496741761, + 0.23361164032672432, + 0.23608254917558363, + 0.23347014754965034, + 0.23077240669729604, + 0.22674978153626307, + 0.2300058829253511, + 0.2295428977265316, + 0.233207081182538, + 0.2309186436458055, + 0.2324088692141053, + 0.22812416992044868, + 0.22881850488882638, + 0.22816608886915155, + 0.23048994030279396, + 0.22780836759482592, + 0.22600256233541607, + 0.22803297271205836, + 0.22608564152960475, + 0.22930414832855037, + 0.23213062194725698, + 0.2306023213260491, + 0.22720118830214034, + 0.23023485249358397, + 0.2335359265982239, + 0.23030846140743305, + 0.22860109060148306, + 0.23120519708819254, + 0.2293238481706071, + 0.22498059511435323, + 0.22482645699315754, + 0.22894691356346694, + 0.22860256154431935, + 0.22415320266790073, + 0.22251050734738692, + 0.2288578189311361, + 0.22860399026150277, + 0.23206042531957502, + 0.22786797687342955, + 0.22429336062903069, + 0.2230501787805366, + 0.22799601866108926, + 0.22781777389301983, + 0.2319801071151772, + 0.22508327939778294, + 0.22630717401999398, + 0.226502880334444, + 0.2260721446234243, + 0.23582211577700912, + 0.22335612242443298, + 0.2281477932222985, + 0.2252117434789965, + 0.22366822964372254, + 0.2264781694187119, + 0.22210481287826092, + 0.2282843625469173, + 0.22729947180159688, + 0.22215218029756795, + 0.22691709659879725, + 0.22197271477066505, + 0.22045345893215149, + 0.22810591697203, + 0.22920700813150915, + 0.2297162029675752, + 0.22729898882967162, + 0.22916182275257707, + 0.22247559215805127, + 0.22338407626802767, + 0.2271507807412051, + 0.22327898052842884, + 0.22165570541396054, + 0.22581924413208385, + 0.22742101106086365, + 0.22659839216950106, + 0.22575304789941428, + 0.22254495377957093, + 0.22575761579455586, + 0.2261059426984519, + 0.2270339113213008, + 0.22622382360302618, + 0.21970914607007477, + 0.22020619582179762, + 0.22027249723410844, + 0.2250857454488219, + 0.22562432407603716, + 0.2241872474807528, + 0.22740750555632586, + 0.22242383713853925, + 0.22385031496393937, + 0.2211748195487425, + 0.2240865108576982, + 0.22072680422107743, + 0.21952109637496486, + 0.21833115998678343, + 0.2242496014353378, + 0.21872658463656355, + 0.22693186830330514, + 0.22054275584945437, + 0.22092670663644415, + 0.2249853990897992, + 0.21893765990670758, + 0.21920291591857186, + 0.2208048119252428, + 0.22891018352263381, + 0.22095219735967547, + 0.22147848769532522, + 0.2254702708817768, + 0.22413681321335951, + 0.22406337981536664, + 0.22432534457882156, + 0.22225000134267664, + 0.22093867656948551, + 0.21639579261114839, + 0.22164641168902682, + 0.22448651752055876, + 0.22328694481744404, + 0.21695196235250533, + 0.22325980825070577, + 0.21945363855336875, + 0.22210035553424184, + 0.2188461378689525, + 0.22045604387919107, + 0.21817783663043644, + 0.21643143403272655, + 0.22140212178754332, + 0.21886969986015686, + 0.21777374851617062, + 0.21961478317378585, + 0.22315874940712882, + 0.2200797167079757, + 0.21868270008172555, + 0.2200407599432206, + 0.22393325156609126, + 0.22501522130318646, + 0.21591543882162473, + 0.2190865720778886, + 0.21722187556394743, + 0.22025911750083943, + 0.21953121403841705, + 0.22065596175109484, + 0.22314404095280974, + 0.21664799730484274, + 0.21856520320673328, + 0.21678360277040654, + 0.22014163860008804, + 0.2190607600996345, + 0.2198576643402241, + 0.21795666281885784, + 0.21754208938232894, + 0.21836782170214694, + 0.219022487409823, + 0.21329650298239441, + 0.21867261547025646, + 0.21442974263101544, + 0.21545999922678558, + 0.2194176816555247, + 0.21641472651586163, + 0.21673511937317588, + 0.21828288665833093, + 0.21695365815135773, + 0.21295419121189585, + 0.21351490402451806, + 0.2191267715032221, + 0.21752315769627098, + 0.22006854858101327, + 0.21656289184608407, + 0.21986226890441202, + 0.21457027728222197, + 0.21773786022290814, + 0.21547787434304708, + 0.22163008727042136, + 0.21198546783628358, + 0.21300385752550416, + 0.21851778383557585, + 0.21753287418754003, + 0.21681538624375693, + 0.21122944337637692, + 0.21665702963572578, + 0.21696829272644874, + 0.21817430769682888, + 0.2176566923760584, + 0.21359167817057273, + 0.2118800432201965, + 0.21446460535014988, + 0.21456086369009192, + 0.21492772221007023, + 0.21945068739149548, + 0.21830489112218038, + 0.20689914152254024, + 0.2170486145108847, + 0.21396736148744822, + 0.21333584141852022, + 0.2147895662564021, + 0.21530967380065436, + 0.21585220619979165, + 0.2160526304804814, + 0.2173538052986749, + 0.21360925176616655, + 0.21906940629905153, + 0.2119258844296502, + 0.2192254821550591, + 0.21587153161314832, + 0.2118533428000793, + 0.21652289021714655, + 0.2108862128632787, + 0.21188075373103038, + 0.21191052809380428, + 0.20798538486823576, + 0.2114695512122882, + 0.2096198068829168, + 0.21467698401050922, + 0.21262279663815958, + 0.21615017031174188, + 0.21534639970322542, + 0.21120199297671563, + 0.2139662931436838, + 0.21040768270873514, + 0.21740951684135545, + 0.20772720906963224, + 0.21206273365799988, + 0.21527062243972805, + 0.21384151897675127, + 0.21603022167453434, + 0.21069895168225244, + 0.2131726736208532, + 0.21062716289739544, + 0.21136041305708594, + 0.21211357980920997, + 0.214727651487341, + 0.2100859026706547, + 0.2172872869052927, + 0.20838336148427442, + 0.21440654194740072, + 0.21088822813425498, + 0.20914705412673112, + 0.2129655538571127, + 0.21319122074758606, + 0.21038335921749793, + 0.20836170965560716, + 0.21424229001478273, + 0.20879870932834046, + 0.21218426582554428, + 0.2103655374714313, + 0.21085801928529135, + 0.21379986752553726, + 0.2146805064262828, + 0.21169651506200934, + 0.20935541576213154, + 0.20847886018398068, + 0.209779588340437, + 0.21227195351854514, + 0.21540304170551194, + 0.21040421970108872, + 0.21195937858877378, + 0.21107434310497494, + 0.20890084114951005, + 0.21031169267228894, + 0.2087839966446207, + 0.2057986947927134, + 0.2088987032173697, + 0.21158683900393843, + 0.2115864999797366, + 0.21117938931074437, + 0.20800807142191616, + 0.20708660254203673, + 0.21038592970482892, + 0.20800832732201807, + 0.21162428651631607, + 0.20510952192036838, + 0.20568761672676522, + 0.20676512303349165, + 0.21292879478578722, + 0.2096191286294513, + 0.21046586885239463, + 0.20794145534504263, + 0.21062973318536074, + 0.20940165875610592, + 0.2067881761551678, + 0.20694898590388558, + 0.20938273127951207, + 0.208889817178181, + 0.20863947388502435, + 0.20602992046567462, + 0.2094949476267083, + 0.21002441786503026, + 0.20996638856805427, + 0.20529578341347726, + 0.2083240041383955, + 0.20879611762707614, + 0.20907761230324295, + 0.20928245238014226, + 0.20674741337366334, + 0.20210051352858815, + 0.21070348986051407, + 0.20530544271242637, + 0.20376802700363805, + 0.20362144730848455, + 0.2052691770483959, + 0.20700287410778645, + 0.2047375780572995, + 0.20264245722647928, + 0.2087129747455182, + 0.20469002735541866, + 0.20942422251191434, + 0.20387140323695604, + 0.20657325741786522, + 0.20701015794176938, + 0.20813862201601085, + 0.20723425847868399, + 0.21033059381837144, + 0.20616022394030192, + 0.20351951179416447, + 0.20366973087009305, + 0.20655295392640777, + 0.20510919216382303, + 0.2069292325150529, + 0.20540683447961505, + 0.2029143185625337, + 0.20918073915286894, + 0.20401022408374042, + 0.2026306362196074, + 0.20507223041449027, + 0.20375323504927234, + 0.20406486588424863, + 0.19981043232143472, + 0.20714454397855367, + 0.2043883328551045, + 0.20553729126645703, + 0.20539687938179355, + 0.20886509061081832, + 0.20772307642254215, + 0.2056793635426266, + 0.2065965854491617, + 0.20336418798398398, + 0.20505560431002842, + 0.203370187576826, + 0.20515461192845114, + 0.20227810843856237, + 0.20081827452901854, + 0.20494599448693546, + 0.19998999343564114, + 0.20130560692365562, + 0.19938387652568587, + 0.20541897682125598, + 0.20264323239160606, + 0.20282282014676464, + 0.20244527277209162, + 0.20694167415016196, + 0.2027400912865085, + 0.20755227360395936, + 0.20246554336963443, + 0.20495188438450343, + 0.2044227443128505, + 0.20157374143287174, + 0.20578215288892615, + 0.20115112866465834, + 0.20010322659484336, + 0.20525385423873863, + 0.2052136882712398, + 0.20642304557748709, + 0.20537086270054636, + 0.2026247904502106, + 0.2021157157860856, + 0.20654348880679144, + 0.20281216299975866, + 0.2046508426103023, + 0.20575474167316696, + 0.2042209074066365, + 0.20402226163592724, + 0.2043366017167539, + 0.19884466616841268, + 0.20265077953639837, + 0.2019094219146473, + 0.20260763122623257, + 0.20007378502894158, + 0.20121622518479643, + 0.1991253386619031, + 0.2032439683760525, + 0.20518954797998207, + 0.1990120727369499, + 0.20083402216274987, + 0.19986715995982882, + 0.19880526069414997, + 0.20438324911263558, + 0.2013391892394387, + 0.1989022062162923, + 0.20409552308386164, + 0.2028588033295507, + 0.20038288910317859, + 0.19866704051909734, + 0.1987673081429134, + 0.19701878902493813, + 0.1973247759739102, + 0.20288151213244196, + 0.19967684204710096, + 0.2032137532413735, + 0.201073145283107, + 0.20264439531587725, + 0.19878532817809408, + 0.19697241885559091, + 0.20212556597483358, + 0.19732179645938794, + 0.20267768312724085, + 0.20245752363132502, + 0.20019001302961545, + 0.19629443316387202, + 0.2015058828392479, + 0.1943080169134503, + 0.19833999275819425, + 0.19464852289647, + 0.20021263580051585, + 0.20369748104739627, + 0.20064618392912983, + 0.20070947223095173, + 0.20031020244646144, + 0.19683821552321998, + 0.19334048445732405, + 0.2006939134335527, + 0.19972738829250547, + 0.1984033379276548, + 0.19998377845807724, + 0.19808835918454037, + 0.19778721153007006, + 0.19969636356509332, + 0.19745640824933391, + 0.19479975769358945, + 0.19996087047177444, + 0.19802898580396394, + 0.1966379887199411, + 0.19613651726793624, + 0.19920811423638818, + 0.20167819377524773, + 0.19575206039114557, + 0.19863566163277954, + 0.1969733063661314, + 0.1975663969612222, + 0.19937823320075368, + 0.20131201669573784, + 0.19759393441533551, + 0.19808659376006926, + 0.19768753943150288, + 0.19619658528414158, + 0.19677423063198543, + 0.19826280304860175, + 0.19739673648525133, + 0.19536879240885513, + 0.19562482750698332, + 0.19845925355529476, + 0.20047872905143813, + 0.19512691272035332, + 0.1942473345233942, + 0.19758917729937064, + 0.19476918480287816, + 0.19777627163410005, + 0.19578359857064867, + 0.1905322194224742, + 0.19538590755165536, + 0.19749330244787516, + 0.19614379883769456, + 0.193299261542658, + 0.19567412139978888, + 0.19776583674993217, + 0.1955120196716934, + 0.19594183110486751, + 0.19227211118678617, + 0.19262760759983497, + 0.1978349786690388, + 0.19534098874600975, + 0.1989023763806038, + 0.19473607001102755, + 0.19555320458441106, + 0.19410383724963537, + 0.1929647925250027, + 0.19659097669560702, + 0.19732257910357612, + 0.19794521029947457, + 0.19548657031257036, + 0.19651306754359776, + 0.1970350031231157, + 0.19681705974201907, + 0.19578098673772193, + 0.19753621786331546, + 0.19471419577854215, + 0.1934143051374077, + 0.19614041034867047, + 0.19426100059136156, + 0.19280446516435354, + 0.19130460243808842, + 0.1930360318679898, + 0.19513146860656025, + 0.19446655709455957, + 0.19340801169093277, + 0.19597054649121626, + 0.19250975272387538, + 0.19483005526313268, + 0.19246080735931884, + 0.19386458782257016, + 0.18799628631214665, + 0.19287520821493928, + 0.19368277465930317, + 0.19710150876563806, + 0.19170936439841393, + 0.19265279037997537, + 0.19727410691924144, + 0.19437774046059322, + 0.18959279150334657, + 0.1938404059023326, + 0.1929471704337051, + 0.19108051855675307, + 0.19457296383159878, + 0.19433808896337446, + 0.19062182320629328, + 0.19074854012635686, + 0.19663657366500353, + 0.19373463837868485, + 0.19300583832034277, + 0.19585355630697004, + 0.19576494628705926, + 0.19221181100923626, + 0.18930385610806422, + 0.1921598317147167, + 0.19420174757639566, + 0.19451878182533047, + 0.19476257875242728, + 0.19548887494290731, + 0.18936305840012677, + 0.19389375123203895, + 0.1910927625378702, + 0.19558148099741804, + 0.19231897663176972, + 0.19782305069820277, + 0.19361816193560988, + 0.19063022952179343, + 0.19397002937762062, + 0.188688928848104, + 0.192625128266769, + 0.1893557338599423, + 0.1892348278444887, + 0.19398384021498286, + 0.1917714703677148, + 0.19054771278520607, + 0.18985349414385969, + 0.1907110050511447, + 0.19437561568089218, + 0.1930064374882876, + 0.19192697134279058, + 0.18920798692425048, + 0.18750949343524032, + 0.18924790344397546, + 0.18951115606563446, + 0.19004355874823958, + 0.19062740074909243, + 0.18949441239237785, + 0.1928941940074211, + 0.19654986783520345, + 0.19078789606963822, + 0.19103129078215414, + 0.19218171135286036, + 0.18712703456720536, + 0.1883769179110498, + 0.1909497178954269, + 0.19150765956200044, + 0.18370402420640264, + 0.1920422782511977, + 0.19005908209841915, + 0.18924529977792173, + 0.19196796915935357, + 0.18768612031372042, + 0.1877139413940068, + 0.19201930699476955, + 0.19203474560313907, + 0.18736418956941966, + 0.18753637416026234, + 0.1926332797017803, + 0.1882683364745651, + 0.1950163121323816, + 0.19105769401923142, + 0.19015569497036552, + 0.19175681572077108, + 0.18985425453598892, + 0.19060892112188565, + 0.19180263155239666, + 0.18904515208294814, + 0.18669808812906527, + 0.18770302995036867, + 0.19006924462484748, + 0.1877717816453165, + 0.19322163372554044, + 0.18620633334775857, + 0.19156397285013935, + 0.1897862828649945, + 0.19088005186101303, + 0.18853809510639638, + 0.184423673174569, + 0.190292396931553, + 0.18891960650465994, + 0.18592874328847916, + 0.187486951517095, + 0.18811359089466, + 0.1906787546633512, + 0.18729189772512023, + 0.18521696536457138, + 0.18870447627881068, + 0.18546145661543223, + 0.18538867883150686, + 0.18386576556535125, + 0.18716546142650398, + 0.18683415114600496, + 0.18699619558209765, + 0.18363581294769177, + 0.18987043520338856, + 0.18981775201127982, + 0.1918371641589756, + 0.18695230921303188, + 0.18143715536569327 + ], + "val_loss": [ + 0.8638192769140005, + 0.8591075595468283, + 0.8521002713590861, + 0.8480885080993176, + 0.8473895153030753, + 0.84570297524333, + 0.840883822273463, + 0.8405080587603152, + 0.8264054181054235, + 0.8251041116192936, + 0.8173928072676062, + 0.8174574821256101, + 0.8182004502159543, + 0.8158228699583561, + 0.8192602294264362, + 0.8060632643231657, + 0.7922830144292675, + 0.7954330891603604, + 0.7957379395142198, + 0.8480961879715323, + 0.9079385515302419, + 0.9384895116090775, + 0.9333211850374937, + 0.8723765157163144, + 0.839827767945826, + 0.8306335997767746, + 0.8247281122021377, + 0.7886240101768636, + 0.7912763031665235, + 0.8048414009914268, + 0.8133876725507434, + 0.8050592972838786, + 0.8176135106739821, + 0.7979148594196885, + 0.7927666249102913, + 0.7922271100629587, + 0.7939800427411683, + 0.7902556709072087, + 0.7961948460899293, + 0.78644788635429, + 0.7827805747860112, + 0.830418660666328, + 0.9074882742716, + 0.9639139693696052, + 0.9869268875336275, + 0.9936503032105974, + 0.974712877109414, + 0.8255904085934163, + 0.8413981996010989, + 0.7623024504398928, + 0.7531499144854024, + 0.7616230691317469, + 0.8658488415647299, + 0.7667169476626441, + 0.8226352371973917, + 0.8023044717498123, + 0.7958855288103223, + 0.7406346085248515, + 0.7361912413965911, + 0.728377691633068, + 0.7217444316949695, + 0.7338293985696509, + 0.833222396671772, + 0.7451711897971108, + 0.7788474335568025, + 0.7422849172959104, + 0.7818266750313342, + 0.7342371487990021, + 0.7388768678065389, + 0.7097231365507468, + 0.7077688793418929, + 0.7055864175083115, + 0.7081854444229976, + 0.699350566114299, + 0.6848174377344549, + 0.6813400205690414, + 0.6845110490918159, + 0.6806345695396885, + 0.6697050766553729, + 0.6848044433398173, + 0.7066050187160726, + 0.6848147014155984, + 0.6902711712988093, + 0.7864225974772125, + 0.7794718101155013, + 0.7972694174502977, + 0.7681975015904754, + 0.8131272768718191, + 0.9157817401806824, + 0.8516679875319824, + 1.036148778325878, + 1.0755514898803085, + 0.8280653248541057, + 0.8712525396840647, + 0.9131848471704871, + 0.8519652151502669, + 0.8690648006042465, + 0.8679381606169045, + 0.8355661016190424, + 0.8605267897248268, + 0.9552873321343214, + 1.0894040605984627, + 0.9391035340260714, + 0.9583957716822624, + 0.8716831999830902, + 0.946951633458957, + 0.8258002425078302, + 0.8737882994581014, + 0.9793956696987152, + 0.930727455439046, + 0.8641265934333205, + 0.8636656070593745, + 0.8423563053365797, + 0.8658875152468681, + 0.9083874762989581, + 0.8808978580869734, + 0.9212828846648335, + 0.937745169736445, + 0.9136596117634326, + 0.9671778193674981, + 0.8945084702223539, + 0.9436771237757057, + 0.7189132474828511, + 0.7794967111200094, + 0.8008098967839032, + 0.7854038807563484, + 0.7731509579112753, + 0.7921806255355477, + 0.7523830487160013, + 0.8090152209624648, + 0.808296944340691, + 0.7892740034963935, + 0.7987257964327, + 0.7235528153833002, + 0.7627429112326354, + 0.6925731001887471, + 0.7500856261700392, + 0.7611066282261163, + 0.7180867075920105, + 0.7123188097495585, + 0.6836507816333324, + 0.7063590907258913, + 0.6890400369069539, + 0.703524113446474, + 0.6997895712964237, + 0.7013659939868375, + 0.6727068405831232, + 0.6584455570206046, + 0.646129840251524, + 0.6656800827360712, + 0.6975618818076328, + 0.6489330287382472, + 0.6354130983178038, + 0.6736314970534295, + 0.6466688971035183, + 0.6612178315001074, + 0.6764127308502793, + 0.6482038345886394, + 0.6592575765913352, + 0.6385153830982745, + 0.6753664137097075, + 0.6311197011033073, + 0.6499564662459306, + 0.6421420532919001, + 0.6326620617299341, + 0.6315321020083502, + 0.6360659023979679, + 0.6192103515844792, + 0.6199254566105082, + 0.6351884660776704, + 0.6223339446587488, + 0.6145653522456996, + 0.6152354698511772, + 0.6018414683989249, + 0.6228683465509676, + 0.6018408094649204, + 0.6102978420443833, + 0.6267143563891295, + 0.6145547597669065, + 0.6058510723873042, + 0.5922753855003975, + 0.6058877884410322, + 0.5903674189583399, + 0.6451304748654365, + 0.6103445180226117, + 0.6462415291694924, + 0.6040383140847553, + 0.6020231502479874, + 0.6108378259348684, + 0.6186154506460297, + 0.6134017552365549, + 0.6186218977847602, + 0.6084671824180987, + 0.6319007814512588, + 0.5736627127567772, + 0.6066457063076086, + 0.5999154856253881, + 0.5973330745473504, + 0.6129223171272316, + 0.5879097463795915, + 0.6147653613588773, + 0.6356006741290912, + 0.5896735420916229, + 0.5986464352812618, + 0.6385642912122421, + 0.5910100805689581, + 0.6069844443816692, + 0.6365416560904122, + 0.5988275932846591, + 0.5784862750908359, + 0.5945002555847168, + 0.5629563104303088, + 0.6384031586698257, + 0.5773644808097742, + 0.6329759627114981, + 0.5782943841186352, + 0.6268208991677966, + 0.5871763325762004, + 0.5897476256126538, + 0.5926559873507358, + 0.5902734644827433, + 0.5758964281994849, + 0.5772077524568886, + 0.6035265182319562, + 0.6299102623364888, + 0.6494241043692455, + 0.6034633664297872, + 0.62118012921419, + 0.5756186145124957, + 0.6017741940915584, + 0.6298345895018429, + 0.65025441381149, + 0.6955262893461622, + 0.6111526547698304, + 0.622270162019413, + 0.6078516628709622, + 0.6158460436388851, + 0.6261977705638856, + 0.5582498082658276, + 0.6451968590146862, + 0.6067283993121236, + 0.8924010095419362, + 0.5931959524925332, + 0.6633189230924472, + 0.5838147007802036, + 0.7064120279741474, + 0.6691009092377499, + 0.5897415730869398, + 0.6899627620703541, + 0.5675026566488668, + 0.576257009897381, + 0.5655314033967442, + 0.6075608210405334, + 0.5954134410247207, + 0.5839824814815074, + 0.5630652860738337, + 0.5921696028846781, + 0.5989012354635633, + 0.5985097834491171, + 0.7428884868044406, + 0.6180308908689767, + 0.5742184086353518, + 0.6235767499543726, + 0.6525627337396145, + 0.6951288027921692, + 0.5958398064249195, + 0.8927217184798792, + 0.6086018412257544, + 0.5931920375558548, + 0.6467628455138765, + 0.6428849952761084, + 0.5863523629843257, + 0.6633929768111557, + 0.5854467337368987, + 0.5796266980119981, + 0.5759125129436142, + 0.6503961817361414, + 0.5554850503103808, + 0.6024139906396158, + 0.6405984862707556, + 0.5715163667220622, + 0.566313419805374, + 0.5859629810613114, + 0.5728570288396441, + 0.6208840431063436, + 0.6064610137487761, + 0.5551734378794209, + 0.6254938241327181, + 0.6015196080785244, + 0.6880899564712308, + 0.6273217694018968, + 0.5848470626049675, + 0.6586183110717684, + 0.5737361738458275, + 0.6305935758515261, + 0.5985958599485457, + 0.5539811291033402, + 0.6407187715172767, + 0.558088733558543, + 0.5486618877854198, + 0.589086933946237, + 0.5840774440323002, + 0.6797422505449504, + 0.6119570006616414, + 0.5711500963545404, + 0.6619978386210278, + 0.5957541099865921, + 0.6732953573111444, + 0.5885676635138225, + 0.7573114325059578, + 0.5583154349005781, + 0.5761212063371204, + 0.5679058899404481, + 0.5885131242219359, + 0.7410695404396392, + 0.5783586728968657, + 0.5662086805677973, + 0.5845442576799542, + 0.626940686791204, + 0.5497246554470621, + 0.5617315572104417, + 0.6283037190092727, + 0.5478962980094366, + 0.6004230913589709, + 0.5413527668220922, + 0.53724874391919, + 0.6097288426477462, + 0.5767369383247569, + 0.6868903025635518, + 0.5754541580332443, + 0.6125764775555581, + 0.539601186546497, + 0.5611778930062428, + 0.6174480663030408, + 0.5532048158929683, + 0.5722748435335234, + 0.6056231743190438, + 0.6617672678432427, + 0.5785599442780949, + 0.6011094318237156, + 0.5334391861688346, + 0.5934281632304191, + 0.5296168235130608, + 0.568006246292498, + 0.6011558633763343, + 0.5915409059147351, + 0.5420506615773775, + 0.5966293927049264, + 0.6334692605421879, + 0.6381164526683278, + 0.683380788937211, + 0.653219350753352, + 0.5390926865977235, + 0.5719068389036692, + 0.5740147969336249, + 0.646572036948055, + 0.5486883601173759, + 0.5726696903351695, + 0.7629673885530792, + 0.5599796460825018, + 0.5398930669703986, + 0.5489042458706536, + 0.5239075633464381, + 0.5369659580872395, + 0.5358213420142419, + 0.5419302486465313, + 0.5422228117124177, + 0.551143027015496, + 0.5457970587187446, + 0.5712106130085886, + 0.544921649270691, + 0.5480167251895182, + 0.6703590884688311, + 0.6031351720914244, + 0.590165042981971, + 0.6416848838096485, + 0.5584173350711353, + 0.5365444456809201, + 0.5751544598024338, + 0.5725983161712065, + 0.5421909598400816, + 0.5341683071455918, + 0.5467633263091557, + 0.5460820545675233, + 0.5706231392803602, + 0.5911517735337839, + 0.7202560130041092, + 0.5572151470463723, + 0.5729522396693938, + 0.5241175772156567, + 0.5268860463984311, + 0.778009420633316, + 0.5722065200796351, + 0.5347798913368024, + 0.5306198705104179, + 0.5366227830410935, + 0.5371036318538245, + 0.5435564279090613, + 0.593651749624405, + 0.560114404023625, + 0.5613707915763371, + 0.5478080422966741, + 0.54527130065253, + 0.5478475096984766, + 0.5423713887459598, + 0.5622799705131911, + 0.619961313449312, + 0.5983849650598131, + 0.5841846386669204, + 0.5232169807772152, + 0.5202856202144176, + 0.5403220051084645, + 0.5236035879002884, + 0.656309785018675, + 0.5236182504682801, + 0.6125318848178722, + 0.5737974481191486, + 0.560685744782677, + 0.5512894911691546, + 0.5386489585973322, + 0.5235015503363684, + 0.53770969605539, + 0.5470956355682575, + 0.5790057323407382, + 0.5551216813852079, + 0.536059974366799, + 0.609303811029531, + 0.5704328343039379, + 0.5200951969483867, + 0.5381179880117998, + 0.5540824176569004, + 0.5243225531186908, + 0.5943640166136902, + 0.5692549764178694, + 0.625865640793927, + 0.611645630816929, + 0.5726790297892876, + 0.5646357311983593, + 0.5537003012083005, + 0.5476138727855868, + 0.5491771327913739, + 0.6605946600437165, + 0.5081520983250811, + 0.5371307036024519, + 0.5345254004816524, + 0.5528458551270887, + 0.5243868747202214, + 0.5379482520511374, + 0.5350568518042564, + 0.6433731564786285, + 0.5231580378371291, + 0.5379831147496589, + 0.5318978959112428, + 0.5840431009652093, + 0.5812128455552739, + 0.6015712373191491, + 0.570918976108078, + 0.5167431370122358, + 0.5378739943145774, + 0.5216583378612996, + 0.5485304890433327, + 0.5406050476594828, + 0.5565058709471487, + 0.5351581951137632, + 0.5597542951349169, + 0.5497472115326673, + 0.5117318914562929, + 0.5278695721761324, + 0.5485381001490168, + 0.5315925659553613, + 0.5412053662119434, + 0.5669513144064695, + 0.6226733481627889, + 0.517845862545073, + 0.5395900322240778, + 0.5658303186530247, + 0.5252602831053081, + 0.5487833310500718, + 0.5538618934922852, + 0.5077794313081541, + 0.6223276893841103, + 0.5621440650662407, + 0.5791606467682868, + 0.5427492450224236, + 0.5435418046312407, + 0.5319430553121492, + 0.5289445504778996, + 0.5385106284753419, + 0.5563074213045184, + 0.5282965438673273, + 0.5622756714059506, + 0.5991899037733674, + 0.502832719462458, + 0.5158377780171577, + 0.612120262440294, + 0.6049154256703332, + 0.535201211925596, + 0.582164951611776, + 0.5750212004524655, + 0.5381320663029328, + 0.5233485443866812, + 0.5808701205067337, + 0.5058069199207239, + 0.5227672070846893, + 0.5145402626134455, + 0.5583930403168779, + 0.545745128224371, + 0.5846345952595584, + 0.5431275476003066, + 0.6015014678356237, + 0.5173992586322129, + 0.5482455556513741, + 0.6508593594888226, + 0.5414669490826782, + 0.5657055941293947, + 0.531877121666912, + 0.5252176820416935, + 0.49472015589126384, + 0.5176991305896081, + 0.5983557468862273, + 0.5111848511034622, + 0.5373590890900232, + 0.5392500934365672, + 0.5098448219883721, + 0.5862780403345823, + 0.5756516886875034, + 0.5328036024817265, + 0.5774727107724175, + 0.5447444262681529, + 0.5720269553072285, + 0.5640623574843631, + 0.5285713803605177, + 0.5170768190408126, + 0.5119393253000453, + 0.5154049720265903, + 0.5156217769253999, + 0.5091384875704534, + 0.5517326254863292, + 0.5798948607873171, + 0.5808392642531544, + 0.5001227820059284, + 0.6001327090431005, + 0.5576940215891227, + 0.5223055030277465, + 0.5130616219015792, + 0.5396711953275372, + 0.5258441871963442, + 0.5292771052685566, + 0.5184623731474858, + 0.6012149179936387, + 0.5400526356417685, + 0.5363957400899381, + 0.5289320200681686, + 0.5501572517328895, + 0.5321849257335998, + 0.5236714291502722, + 0.5429610705585219, + 0.5406390694901347, + 0.5321447272319346, + 0.4946429268224165, + 0.5461769440677017, + 0.507354563428089, + 0.5051211500132922, + 0.5321352775907144, + 0.5618274248205125, + 0.5449684766470455, + 0.4987576640676707, + 0.5709388731047511, + 0.4985100067104213, + 0.5697895413381048, + 0.5463844212354161, + 0.5472666265442967, + 0.5533600829425268, + 0.523491681565065, + 0.5342818894772791, + 0.49822968983789906, + 0.4962079119344708, + 0.5550338192173513, + 0.499082627624739, + 0.590940850856714, + 0.5266319251502865, + 0.578898890025448, + 0.5049835106357932, + 0.5316312688053586, + 0.5330055906553752, + 0.5012186242034659, + 0.6095888603711501, + 0.5005537165678107, + 0.5036271388933529, + 0.5152888466371224, + 0.5357318644353655, + 0.5412394875427708, + 0.5210771170968655, + 0.49491571556427516, + 0.5022540360805579, + 0.5012351710698567, + 0.5744747085613199, + 0.5804825568804517, + 0.5088769562193193, + 0.5471457251289393, + 0.5101413808471988, + 0.525509616592899, + 0.5264128479291685, + 0.6011442169023212, + 0.5139357691514306, + 0.529408531577792, + 0.5256900739739649, + 0.4965155726997182, + 0.5776771701057442, + 0.49073637288529426, + 0.5072054647840559, + 0.554761090077227, + 0.5426305316272192, + 0.5120648412266746, + 0.5285811604582704, + 0.5679688172298484, + 0.4947320389561355, + 0.6180440908065066, + 0.4873366605257615, + 0.5286858368723187, + 0.511777899088338, + 0.525111672852654, + 0.5056712679797783, + 0.5192314048530534, + 0.5297266833600588, + 0.521568985801423, + 0.5115973058273084, + 0.5512194867187645, + 0.524932064890163, + 0.5005784898647108, + 0.5132633060333319, + 0.5147510315349791, + 0.5753694411832839, + 0.5078931337804533, + 0.5522365346492734, + 0.49260287068318576, + 0.5306984176742844, + 0.5118182162579614, + 0.5362504205782898, + 0.5233439182513393, + 0.523671911819838, + 0.5308137374056969, + 0.5380803486914374, + 0.5332056203013054, + 0.543846621166449, + 0.5186420268029905, + 0.5177344067429658, + 0.5012078474042937, + 0.5005498515325598, + 0.5309162658813875, + 0.503723302052822, + 0.5109324723714963, + 0.5172498544154223, + 0.5240033616893924, + 0.5421607036085334, + 0.5875950274406933, + 0.5581769484560937, + 0.5032304196385666, + 0.51697861693101, + 0.575493656413164, + 0.53372300270712, + 0.5303642679122277, + 0.49106129525462167, + 0.5416798306629061, + 0.5065241553355009, + 0.521579958195798, + 0.5191309020970948, + 0.5475331940455362, + 0.5291641912190244, + 0.4972005457617342, + 0.5052040252718143, + 0.5243615523679181, + 0.5514663215726614, + 0.4988605647813529, + 0.48529938821448015, + 0.49143916784087194, + 0.6042108765337616, + 0.5021427296102047, + 0.4910902341478504, + 0.4896550337027293, + 0.5348728047974873, + 0.5127303995774127, + 0.5175767758919392, + 0.5024647449026816, + 0.543273284449242, + 0.5206033396883868, + 0.5003663908981253, + 0.5103423585940619, + 0.4971230373601429, + 0.5136640429031104, + 0.5300750246969983, + 0.5321933786734008, + 0.5149102548602968, + 0.5026245863642543, + 0.5545188397576567, + 0.5187296673131641, + 0.5477575541706756, + 0.5470032434503083, + 0.477913561090827, + 0.5162260591634549, + 0.48548378032282924, + 0.5353185469808522, + 0.535792692063842, + 0.5594648091355339, + 0.49858435126952827, + 0.48770928782760165, + 0.5171330014942214, + 0.5148550244688522, + 0.5364969302143436, + 0.4914308526553214, + 0.5143246237188578, + 0.5079263360006735, + 0.5101446235727053, + 0.5694698316976428, + 0.5338142535299994, + 0.5334706536843441, + 0.5701967927743681, + 0.499501013092231, + 0.5071461918065324, + 0.5559398035809864, + 0.505116182018537, + 0.5695498387794942, + 0.5251314644468948, + 0.5174880355596543, + 0.4965357651177328, + 0.5056569274049252, + 0.5085174241801724, + 0.5105080348381307, + 0.5310089918086305, + 0.5130056639201939, + 0.5214083032507915, + 0.5441983243334108, + 0.5249245505256113, + 0.5120653819292784, + 0.5287232198752463, + 0.545946034474764, + 0.5122625891468487, + 0.49355001441435886, + 0.5060203069006093, + 0.49449782562442124, + 0.503137323516421, + 0.50908834656002, + 0.48942077516112475, + 0.5185100867296569, + 0.5107442130625713, + 0.4720243462943472, + 0.5103459470148664, + 0.5018552792957053, + 0.5337533623329364, + 0.5208742136543151, + 0.5193333275499754, + 0.4790831211488694, + 0.5571007738064508, + 0.5653935796581209, + 0.49107593719381837, + 0.553798072016798, + 0.49208037602948024, + 0.502599336381536, + 0.4773955837241374, + 0.4914015606918838, + 0.5430110873654485, + 0.5064559619873762, + 0.5229322443716228, + 0.5120561370393262, + 0.5313586485222913, + 0.49513827448827213, + 0.4813288420904428, + 0.5097082001680974, + 0.5275503358512651, + 0.5739614838326815, + 0.49072085950756444, + 0.5177229173015803, + 0.5182721974677407, + 0.5251541512086988, + 0.500193842954468, + 0.48803926093969496, + 0.5194963930814993, + 0.524565496284049, + 0.5144639404024929, + 0.4788279317319393, + 0.5262312434148043, + 0.5214777696470264, + 0.47837449869839477, + 0.5359851698274725, + 0.5204030687455088, + 0.5141845638398082, + 0.5012563550611958, + 0.49626787392771804, + 0.5221247455454432, + 0.49361541571561246, + 0.5041766291426029, + 0.5112960511818528, + 0.5508947634953074, + 0.5178912843985017, + 0.48870326931937597, + 0.5447408548381645, + 0.48529506160411984, + 0.495934784313431, + 0.47854526350274684, + 0.488373780855909, + 0.48645754313329237, + 0.4873672875459306, + 0.5085547214839607, + 0.5194080955523532, + 0.49585200002766217, + 0.5024481722561177, + 0.5123649894841946, + 0.52064147091005, + 0.5080907538416796, + 0.48164877013186924, + 0.5034860011015553, + 0.51394478387665, + 0.4849831759929657, + 0.5031907501339447, + 0.51483658477664, + 0.5133875971485395, + 0.4774652187596075, + 0.4946484885469545, + 0.4870328803779557, + 0.49431269011693074, + 0.4933329962659627, + 0.4974020057474263, + 0.4924754207779188, + 0.48350877122720703, + 0.4898560454836115, + 0.5168790393508971, + 0.48196444669738414, + 0.49508870200952515, + 0.4795101910829544, + 0.5042816382017918, + 0.4847762888297439, + 0.49407164691947403, + 0.48507038200623354, + 0.4931085048359819, + 0.4847318352898583, + 0.4884253280761186, + 0.5040598763793241, + 0.5085745977587066, + 0.4975805891561322, + 0.47620257001253774, + 0.4883201945398469, + 0.5167810483719222, + 0.5273493971326388, + 0.4841162084310781, + 0.4984975088678766, + 0.5151612866320647, + 0.5157876381475944, + 0.5091475850204006, + 0.4808005116239656, + 0.4895469916809816, + 0.4787153615965508, + 0.5115745463233907, + 0.4867316256277263, + 0.49528456463012843, + 0.501480457209982, + 0.5165172596112825, + 0.5191391391155775, + 0.48801561463042165, + 0.4848309958353639, + 0.48589799948385914, + 0.49777734832605347, + 0.47891400029184295, + 0.48309713474009186, + 0.47522807559580543, + 0.498434788454324, + 0.47524006364983507, + 0.5246824929141439, + 0.4771092400071211, + 0.48893709875410424, + 0.48053633678355256, + 0.5033635524450801, + 0.47969462173059585, + 0.49607018527458424, + 0.4870838966278825, + 0.4785027560312301, + 0.4903326037165243, + 0.4966373677831143, + 0.4951781094481703, + 0.49444101960398257, + 0.4872321987757459, + 0.47867795284837483, + 0.5184153369860723, + 0.4920704106276389, + 0.4757631976797711, + 0.4959076075349003, + 0.48945373855531216, + 0.5097673308802768, + 0.5085343111306428, + 0.5083983508637175, + 0.5028630604618229, + 0.4875870165298693, + 0.4929913333849981, + 0.49349176438408904, + 0.5202991890429984, + 0.47304711532779037, + 0.5090817720163614, + 0.4895273438422009, + 0.49105984091293065, + 0.5357691460172646, + 0.49469457142986356, + 0.5239993908384349, + 0.49163065457833, + 0.47754045710898935, + 0.5059141973324586, + 0.5152877013431862, + 0.49945086072548295, + 0.4920562006882392, + 0.4787348430021666, + 0.47712807939969937, + 0.49669888850767163, + 0.4842490114271641, + 0.4798035010579042, + 0.48349140954669567, + 0.47153792292810975, + 0.4895105853502173, + 0.474675390086486, + 0.5122311518643983, + 0.490720931236865, + 0.4929470501898322, + 0.4939680528768804, + 0.5211530616536038, + 0.47407424114644525, + 0.4834398527746089, + 0.4812468413205352, + 0.48364369275514035, + 0.4858972957415972, + 0.5197405113198329, + 0.4893407079856843, + 0.5165810159116517, + 0.48966428301064296, + 0.4867369102605153, + 0.5088452345691621, + 0.5156486280902755, + 0.5288476068992167, + 0.46789977863081733, + 0.4894088260072749, + 0.4939033958246, + 0.5143099114182406, + 0.4936344260757323, + 0.47703200109535826, + 0.5358618719852529, + 0.4910803968901746, + 0.5017043673142325, + 0.504742377466755, + 0.49212022517458537, + 0.4863607204228174, + 0.4870293366839178, + 0.5175767977314536, + 0.47704857828794045, + 0.49219422819442116, + 0.5101528672035783, + 0.4770915613684338, + 0.48198951688827946, + 0.49120711904251946, + 0.4804208555899095, + 0.5000565281254239, + 0.4923144954489544, + 0.48463170058093963, + 0.49652376521844416, + 0.49458997042384, + 0.48153530222189145, + 0.49346058438532053, + 0.5186429729452356, + 0.47542659310856833, + 0.5134559838392306, + 0.5019686057814396, + 0.4858317571459338, + 0.475977384817088, + 0.4813346084323712, + 0.4745836490008514, + 0.498111833864823, + 0.5045960278541315, + 0.48274837249773556, + 0.49089537604013456, + 0.49536124228616246, + 0.5057506647834089, + 0.4937112900894135, + 0.5152587769785896, + 0.5071204668376594, + 0.501358841342153, + 0.49920970128732733, + 0.5012805816426408, + 0.49141133669763803, + 0.5000836240360513, + 0.5151572183589451, + 0.4759385328827193, + 0.48869734347099436, + 0.5074504980118946, + 0.5179000358504708, + 0.5089824312890414, + 0.5219573046138976, + 0.4961271588632371, + 0.48973399732494727, + 0.5073673094331752, + 0.48711649259203116, + 0.5271122721256688, + 0.4829079312563408, + 0.4992009325302206, + 0.48259641928598285, + 0.510631456086412, + 0.5184375941986218, + 0.5097982522740494, + 0.4832393469871022, + 0.5108362794911955, + 0.4944440017279703, + 0.5344088557001669, + 0.5115904401405714, + 0.49601056361570955, + 0.49904663704219276, + 0.5190018799214158, + 0.49043449967866765, + 0.5063860368216411, + 0.48849825821234844, + 0.5110850003722589, + 0.5099427410284989, + 0.4901301649399102, + 0.5243307213240769, + 0.5047866646258626, + 0.5034762370050885, + 0.5270728921634145, + 0.5097223402466625, + 0.4936835924629122, + 0.48937849678914064, + 0.5244989992293995, + 0.5068400476302486, + 0.4795173047226854, + 0.5213214161805808, + 0.49340987756149846, + 0.49833197726402434, + 0.5087674190639518, + 0.5069001743802801, + 0.4850869435991626, + 0.4982640499365516, + 0.509799593873322, + 0.5104898198973388, + 0.4847279719368089, + 0.47864874053630047, + 0.503899353207089, + 0.505655844474677, + 0.498996792716207, + 0.4925177623168565, + 0.5124376128194854, + 0.4958565546956379, + 0.488438981177751, + 0.5152476748393383, + 0.5047453769308049, + 0.507876235601725, + 0.5114467002800666, + 0.48261711894883774, + 0.5008655885234475, + 0.504654166198452, + 0.5218485296063591, + 0.4898071218223777, + 0.5232857467926806, + 0.4999370779900346, + 0.49732768372632563, + 0.48692976909223945, + 0.5093922834726982, + 0.5126734664256218, + 0.5098208173178136, + 0.5087476591113955, + 0.4849551612569485, + 0.49163603428169156, + 0.5063516851136228, + 0.5292489388142713, + 0.5306714494479821, + 0.5006489431310911, + 0.5147776733501814, + 0.5174907202541362, + 0.5172035770781804, + 0.4862883579626214, + 0.5096285577572417, + 0.4948957745305961, + 0.5269650944392197, + 0.5312171840691008, + 0.5199610820680391, + 0.5178295655641705, + 0.49046295979642307, + 0.5336083031259478, + 0.5096838682307862, + 0.50593930244504, + 0.5083295663353056, + 0.5157497414737009, + 0.5249874722678214, + 0.5184498378250282, + 0.5041743157606107, + 0.5030230088916141, + 0.5075018479954452, + 0.5012780233460944, + 0.5061495600792114, + 0.5038841423578561, + 0.5105281917843968, + 0.5160491147398716, + 0.5046764883678406, + 0.4947659611236304, + 0.5263723410433159, + 0.5162621502531692, + 0.5225447992328555, + 0.5031489096814766, + 0.5165877159946831, + 0.5111450469179545, + 0.5157438969006762, + 0.5251239177421667, + 0.5132289158180356, + 0.516472970781615, + 0.5132583931088448, + 0.5311572959122713, + 0.5301261362677906, + 0.5233252933889162, + 0.5012355439830571, + 0.5096373395994306, + 0.5122885957185644, + 0.5177906376251485, + 0.516961390877259, + 0.5082035451661795, + 0.5118258950824384, + 0.49970741414581427, + 0.5257279777899384, + 0.49574321913532915, + 0.4968508522724733, + 0.5105084123380947, + 0.5017232940939721, + 0.5436944740067702, + 0.48794322393659967, + 0.5097319001506548, + 0.5092974548431812, + 0.5437432267004624, + 0.505310182069661, + 0.5489845512958709, + 0.5084594180982094, + 0.5232688140589744, + 0.5099735334049911, + 0.4908065271534724, + 0.5364705835992936, + 0.5527370449213777, + 0.4990973433596082, + 0.509860772365937, + 0.4905355133349076, + 0.5346157600870356, + 0.5045243062078952, + 0.514958514351747, + 0.5180654675787082, + 0.5125558607163839, + 0.5281169474299532, + 0.5503937165718525, + 0.5148407827364281, + 0.5068589078146033, + 0.511812389374245, + 0.5278601619414985, + 0.5002281640423462, + 0.521474823425524, + 0.5140524612215813, + 0.5359251002897508, + 0.5443296963174362, + 0.5053547528135823, + 0.5312824092397932, + 0.5180538187618368, + 0.5319237507879734, + 0.4729263995483052, + 0.5254015499784146, + 0.542841815034626, + 0.5122021365794354, + 0.5119862051185919, + 0.523886968527222, + 0.538968233380001, + 0.5138491011166479, + 0.519715030892985, + 0.5099489950836869, + 0.5034787086595316, + 0.5385882454487728, + 0.5247397930448642, + 0.5355877571302698, + 0.5175417922611814, + 0.5222613342688419, + 0.5277569689846132, + 0.523465158342151, + 0.5249236443080008, + 0.5314316332689486, + 0.5304573541739955, + 0.5222710135014494, + 0.5073962526774267, + 0.545292538945796, + 0.5352366946986876, + 0.526447597425431, + 0.5302467695437372, + 0.5631562377675436, + 0.5268587240250782, + 0.5542781498632394, + 0.5480283593991772, + 0.5257217177073471, + 0.5138825846137479, + 0.5085500946559478, + 0.5315149445086718, + 0.48223925885977226, + 0.5465463175205514, + 0.4831086801656056, + 0.5045695274427999, + 0.5119196995859966, + 0.5269278364896308, + 0.5137538734532427, + 0.5327770688279998, + 0.5125839371787151, + 0.546563521400094, + 0.5058093134488445, + 0.5596479054860538, + 0.5205691273004049, + 0.5680087149085011, + 0.4939303656981792, + 0.5209481797443004, + 0.5295663513417821, + 0.5124971631681546, + 0.5218275573308346, + 0.5466521351714618, + 0.5143199314945377, + 0.5429923545423663, + 0.5325193078344455, + 0.5620811385218986, + 0.5335130601830315, + 0.523761747503886, + 0.5141314950276865, + 0.5306712837307714, + 0.548595107436995, + 0.5201889699324965, + 0.5120925859606359, + 0.5571297132351901, + 0.5167891882680123, + 0.5222573978884612, + 0.5522858426789753, + 0.529387753654737, + 0.5211788587388583, + 0.513092189093004, + 0.5127614957105834, + 0.5141078992397524, + 0.5322513764898759, + 0.5243432214308996, + 0.5383510694606229, + 0.5234833679161965, + 0.5177514824143146, + 0.5376000408257824, + 0.5407675022812327, + 0.5303696364397184, + 0.5329289651999716, + 0.519902531671687, + 0.5155438823392615, + 0.5383144711959176, + 0.5340036323294044, + 0.5265449420607183, + 0.5094689531601034, + 0.5242754081438761, + 0.5234772096213419, + 0.5380190142255742, + 0.5219760504784062, + 0.555832666857168, + 0.529726193571696, + 0.5369250396033749, + 0.5721983539435314, + 0.5178964520484441, + 0.5688567920296919, + 0.5364825521712191, + 0.5291920600342565, + 0.5360463362594601, + 0.5464485550124664, + 0.5320506881340407, + 0.5655844489112496, + 0.512181818287354, + 0.5426828755880706, + 0.5479247016453883, + 0.5168703200557502, + 0.540773420757614, + 0.5415326426475076, + 0.5122497817617842, + 0.5668689551530406, + 0.5260755243594758, + 0.5153141557471826, + 0.5485105547530111, + 0.5393370727542788, + 0.5548354907281464, + 0.586447283194866, + 0.5416025566111784, + 0.5948634448053781, + 0.5589556202525273, + 0.5366806268692017, + 0.5529232041793876, + 0.5340148280491122, + 0.5445494460233021, + 0.5350026864820393, + 0.5214516906708013, + 0.5123498644970823, + 0.5088134578429162, + 0.5796630504541099, + 0.5194840992480749, + 0.5762748556182486, + 0.5190804586163722, + 0.5651219879277051, + 0.5587359467812348, + 0.5510364420129917, + 0.5381985740270465, + 0.5238881855795625, + 0.5524578889249824, + 0.5343994173541432, + 0.5423445434775204, + 0.5227165708784014, + 0.5257010053261183, + 0.5803880269115325, + 0.5577495495119364, + 0.5120641146233538, + 0.5071364955132595, + 0.5432874085701769, + 0.5493318432476372, + 0.5432501199946274, + 0.5248750555387233, + 0.5202061105752364, + 0.5339676025090739, + 0.5554576185997575, + 0.5595518215966877, + 0.5379114800016396, + 0.5662092549086083, + 0.5356338452547789, + 0.5444990113552194, + 0.5433019485673867, + 0.5188919537118636, + 0.5366939205967356, + 0.5248511744081042, + 0.540212834434351, + 0.5473082993994467, + 0.5346940356655978, + 0.5981600882107159, + 0.5620412292133551, + 0.5441485246963567, + 0.5221057162736542, + 0.5371719532471616, + 0.5535232213616836, + 0.5443547920265701, + 0.522976072068559, + 0.5352774204569869, + 0.5499563060700894, + 0.5451141991448821, + 0.521512267010985, + 0.5325556952273474, + 0.5299150946608279, + 0.5747478008968756, + 0.5487622086366173, + 0.5178870431031101, + 0.5715319357230328, + 0.5369050191133283, + 0.5399935563968029, + 0.5694882834795862, + 0.5581906855746638, + 0.553664690174628, + 0.561923047323944, + 0.575888170156395, + 0.5438727820815984, + 0.5424826502683573, + 0.5582148180808872, + 0.5152354063233361, + 0.5418622964702081, + 0.5432151927438099, + 0.5315763771533966, + 0.5618973566626664, + 0.553408302803291, + 0.5519864958245307, + 0.5362065002031159, + 0.5471479337255005, + 0.569026146485703, + 0.5433928326528985, + 0.5679782347462605, + 0.5428752546140458, + 0.564636985323159, + 0.5684355521545512, + 0.5291146616538753, + 0.5352357965894043, + 0.5688790772575885, + 0.5680165888566989, + 0.5421773523819866, + 0.5249857867311221, + 0.5368995102122426, + 0.5557987096253783, + 0.553441830407246, + 0.578796422117739, + 0.5391455410746857, + 0.5483360489597544, + 0.5492922914534575, + 0.539830871601589, + 0.5698257470095995, + 0.5149305594386533, + 0.578425210271962, + 0.5372746397275477, + 0.579395871903398, + 0.5716551686637104, + 0.5573055722459686, + 0.5558608534687665, + 0.5378064010175876, + 0.5567554570356151, + 0.5751425702270353, + 0.5262306408345466, + 0.5723579694516957, + 0.537438639451284, + 0.5546374247671337, + 0.540476420414052, + 0.5290600902837468, + 0.5484507540677441, + 0.5556858839467168, + 0.5420072564389556, + 0.5485666740627494, + 0.5275767581711989, + 0.5415701030171476, + 0.5631194452260389, + 0.5567452212562785, + 0.542323402952752, + 0.5482366465381346, + 0.5614445096987766, + 0.5457972638774663, + 0.571525644295616, + 0.5500746634672395, + 0.5681375839863904, + 0.5328371913870796, + 0.5544017609790899, + 0.5658008119440637, + 0.531005423644092, + 0.5602073681307956, + 0.5412313835520763, + 0.5590110652148723, + 0.538012514426373, + 0.5656538836483378, + 0.5243027078453452, + 0.5267587320005986, + 0.5789611260930542, + 0.573414881323697, + 0.5217016510141548, + 0.5375181615352631, + 0.5495999444450718, + 0.5397231619863305, + 0.5551642970938702, + 0.5675875957123935, + 0.5635052605415695, + 0.5340903517848347, + 0.5616812134743668, + 0.5547463070601225, + 0.5511560984014068, + 0.5596403692470631, + 0.5295560414611827, + 0.5541260662837886, + 0.5386328569613397, + 0.5776643425982911, + 0.5430255881743505, + 0.561782011835021, + 0.5676163900760003, + 0.5746803137299139, + 0.5321495242184028, + 0.553960360455676, + 0.5236102095077513, + 0.5741995524789673, + 0.5484922574600205, + 0.5374936114618322, + 0.5683199441758916, + 0.5532664802361978, + 0.5675410790980095, + 0.5198153138451744, + 0.5636465384450275, + 0.5631786935089622, + 0.5473574651870876, + 0.549478017486399, + 0.5342153592559044, + 0.5457584345829674, + 0.5179024595418014, + 0.5906445188797079, + 0.5399113890714944, + 0.5695280917512718, + 0.5917092284827958, + 0.5630208400485571, + 0.5876591092091985, + 0.5565542611468117, + 0.5515300901897717, + 0.5586495669354917, + 0.5375455871282611, + 0.5688933050609194, + 0.5172695746063255, + 0.5556851692323107, + 0.5452599368989468, + 0.5444500391662587, + 0.5730680607113754, + 0.5311268758785446, + 0.5518216057273093, + 0.5367070784559473, + 0.552103383737267, + 0.561006530909799, + 0.5430296000558883, + 0.5463869205559604, + 0.5463562996068504, + 0.5585363547812449, + 0.5385051438701339, + 0.5325756478472613, + 0.5702524611668196, + 0.5470346404763404, + 0.5513300220482051, + 0.5347588076489046, + 0.559989069972653, + 0.5543142217269633, + 0.5243781963479706, + 0.5661805564246606, + 0.561794520507101, + 0.5744318872923031, + 0.5480841231066733, + 0.564985527889803, + 0.542537688696757, + 0.5811296477448196, + 0.5336975503014401, + 0.5694365396280773, + 0.5690665167407133, + 0.5171533483371604, + 0.553845392348012, + 0.5367715963104274, + 0.5246696265006904, + 0.5486140523047652, + 0.5729511849523987, + 0.5552852828113828, + 0.5693131197593175, + 0.5259881156816846, + 0.5771511171362362, + 0.5680381672340445, + 0.5337195623258595, + 0.5429891949490411, + 0.5677442922198679, + 0.5222269986144965, + 0.5592768126458395, + 0.5666230874718167, + 0.5469736208615359, + 0.5376545262057334, + 0.5511275454482529, + 0.5542009678960312, + 0.5444833014364121, + 0.5834422506915871, + 0.5611177263665013, + 0.5555631839524722, + 0.5871004822605755, + 0.5427810710505583, + 0.5458623647777131, + 0.5275919560051989, + 0.5501787468325346, + 0.5521204782184214, + 0.5552167485584505, + 0.5501159731124062, + 0.5507184234331362, + 0.5709810689673759, + 0.5337984405516181, + 0.5637482281133999, + 0.5612245724070817, + 0.5236720759945456, + 0.57559381883475, + 0.5452415848441887, + 0.5547691457672045, + 0.5355311094608624, + 0.5798316289787181, + 0.5258034820581088, + 0.5301179351517931, + 0.5333452372986358, + 0.5525136362819467, + 0.5667189318395686, + 0.577286668762099, + 0.5321241062949411, + 0.5581310288805981, + 0.5031930791796185, + 0.5692068959586323, + 0.530811570188962, + 0.5594686442404054, + 0.5591767813079059, + 0.5421281897230074, + 0.532254702609498, + 0.5493798416049686, + 0.5554052462801338, + 0.558851510315435, + 0.5770507760869805, + 0.536994948348729, + 0.5681417079118546, + 0.5460045840125531, + 0.5285072326718364, + 0.5436261356924661, + 0.5348924439429539, + 0.5645687832206022, + 0.5584905887837521, + 0.5558458585757762, + 0.5590765902190469, + 0.5524509374052287, + 0.5486819378682413, + 0.5401790457370226, + 0.5471720098808873, + 0.5472012041020207, + 0.581095185605227, + 0.5527807598409709, + 0.5384823421307374, + 0.5919159438170027, + 0.5525071875425056, + 0.5664285300706979, + 0.5340300306444987, + 0.5276996369531843, + 0.5589099913806421, + 0.5382166145311202, + 0.5475199075124693, + 0.5675585409946506, + 0.5502220559224952, + 0.5414627651305637, + 0.5418640092568239, + 0.5287777109188028, + 0.5569789521134225, + 0.5373809135693591, + 0.5458524674264481, + 0.5325703849084675, + 0.5486767783120741, + 0.5520687968062703, + 0.5554910784878302, + 0.5513784757815301, + 0.5739794920606073, + 0.5406614779029042, + 0.5378097747743595, + 0.5323459224455291, + 0.5713117147912271, + 0.5536826410127105, + 0.551756054564612, + 0.5389888564823195, + 0.5422526390320854, + 0.5389155605167616, + 0.5270968817058019, + 0.5290516350534744, + 0.5419991622853558, + 0.5210665858874564, + 0.5683552680828143, + 0.5521510177350137, + 0.5321236507617868, + 0.5528822900290834, + 0.5505650564009557, + 0.5536711287102662, + 0.5622412213357165, + 0.5551926748594269, + 0.5635600639390759, + 0.5337335498305038, + 0.5411137672141194, + 0.564814139646478, + 0.5594873779424233, + 0.5411670929868706, + 0.6058505910914391, + 0.5509972798696253, + 0.5429891219799174, + 0.5435701820912072, + 0.5330903529567876, + 0.5414225539250765, + 0.5499639159825165, + 0.5472994339594152, + 0.5371532827441114, + 0.5721884372062049, + 0.5381048089417163, + 0.550295701410505, + 0.5433316961920355, + 0.5290257199376356, + 0.5464500827656593, + 0.5346455841790885, + 0.538690457100165, + 0.5659062294929754, + 0.5252206579927587, + 0.5269207538687624, + 0.5716343596461229, + 0.5105364152404945, + 0.5362595871381928, + 0.5333707337325905, + 0.571954054501839, + 0.515432182396762, + 0.5455970442853868, + 0.5491215868561994, + 0.5397376052860636, + 0.5302302175783552, + 0.5197596568556037, + 0.5334077134670224, + 0.5345474842441036, + 0.5401980052352883, + 0.5365840407379437, + 0.5421047034615185, + 0.5376774911244866, + 0.5363951231352985, + 0.5436269414145499, + 0.5291877787734848, + 0.5415582886722404, + 0.5351274697110057, + 0.5343200693489052, + 0.546872105926741, + 0.5759724276460474, + 0.5379802999726963, + 0.5281373859383166, + 0.550922057311982, + 0.5365693821455352, + 0.5442022788512986, + 0.5469055120833218, + 0.5579604652826674, + 0.5466820137400645, + 0.5090701606182847, + 0.5413274960650597, + 0.5706954566820059, + 0.5648201882955618, + 0.5523936929006595, + 0.553769224556163, + 0.5220316837367136, + 0.5233562480047113, + 0.5236413694365183, + 0.536624117399333, + 0.5326633185031824, + 0.5390207303920761, + 0.5349867435463238, + 0.5501715297170449, + 0.540688171266811, + 0.5251446512993425, + 0.574320692504989, + 0.521356459427625, + 0.5230678479012567, + 0.5457366662390996, + 0.5608565844013356, + 0.5559091520262882, + 0.5489024886890548, + 0.5409989802516065, + 0.5366967218171339, + 0.5175724389555398, + 0.5360743601515423, + 0.5227772353129694, + 0.5495447986002546, + 0.5545534239266999, + 0.5528087873011828, + 0.5336109171621501, + 0.5554296439455356, + 0.5381291291792877, + 0.5369310391397448, + 0.5645967065007426, + 0.5550997067650314, + 0.5479018899612129, + 0.5278506811766419, + 0.5341444619349204, + 0.5737460389151238, + 0.5515172473154962, + 0.5280856431869324, + 0.5666681534436065, + 0.5390090832544956, + 0.5567603400064399, + 0.5814248871000018, + 0.5465844359714538, + 0.5290134543494787, + 0.52523630768992, + 0.5373292710748501, + 0.5257485700625694, + 0.5598104236036306, + 0.5443310992035549, + 0.5379793090454769, + 0.5324699226272059, + 0.5411119184049312, + 0.5410593520384281, + 0.532990178570617, + 0.5582516644266434, + 0.5649302823119797, + 0.5430832084326539, + 0.5362257437605876, + 0.5564079755858984, + 0.5311297112843022, + 0.52149028039712, + 0.5455333789577708, + 0.5321734134922735, + 0.5624103927984834, + 0.5223598232143558, + 0.5606704154633917, + 0.5443907106120605, + 0.528603423316963, + 0.5311234589084052, + 0.5234995802456979, + 0.5221764206828083, + 0.5357807128166314, + 0.5630046942271292, + 0.5392985089856666, + 0.5268242140824441, + 0.5252377265307586, + 0.5271014091791585, + 0.5364433664886746, + 0.5279964160989039, + 0.539334756671451, + 0.5164533449336887, + 0.5298639794869814, + 0.5285013005544897, + 0.5560263586958172, + 0.538864870229736, + 0.5101778094074689, + 0.5226961548556573, + 0.5535210020607337, + 0.5261287952249404, + 0.5345416142663453, + 0.5325387951103039, + 0.5458570313407108, + 0.5399658196314704, + 0.5307521802256815, + 0.5490677287278232, + 0.5273325905844104, + 0.5467467095819302, + 0.573665400641039, + 0.5316057492047548, + 0.5216829646087717, + 0.5339036080229562, + 0.5442483390856069, + 0.5573280462354887, + 0.5390325517160818, + 0.5719130027689971, + 0.5371277688449482, + 0.5391669342119713, + 0.5310278113291134, + 0.514088068093406, + 0.5381430555367842, + 0.560379036446102, + 0.5245815298287198, + 0.559904690310941, + 0.5269028235925362, + 0.5406485026876908, + 0.517362271680031, + 0.520706455752952, + 0.5460524861759041, + 0.5425326974916971, + 0.5546521870041033, + 0.5821369420387782, + 0.5394283357076347, + 0.5496422124793753, + 0.5278494148456957, + 0.5184094467142131, + 0.5603233367437497, + 0.548888293444179, + 0.5131012672907673, + 0.5293906712555326, + 0.5561476928880438, + 0.5153120462840889, + 0.5578969356836752, + 0.5386463808536064, + 0.5195965894439724, + 0.5291941294330172, + 0.5173404248955193, + 0.5156540263909847, + 0.5417001473309938, + 0.5155184791743522, + 0.5214513820305001, + 0.551591396011645, + 0.5167076502228156, + 0.5427649457706138, + 0.5495697162928991, + 0.5182407416810747, + 0.5445438709692099, + 0.5244519306928851, + 0.5424242013657932, + 0.5497457633318845, + 0.5392237786902114, + 0.5421413056959864, + 0.5279466628708178, + 0.5303280921565602, + 0.5126773129042703, + 0.5301030458591413, + 0.5285260736069176, + 0.5439161038666498, + 0.5324471337895375, + 0.5080568469420541, + 0.5508490432228428, + 0.5380972236627712, + 0.5329229444498196, + 0.5226269140519435, + 0.5307165943610016, + 0.5264213622052921, + 0.5304735894867918, + 0.5393451726937201, + 0.568067807436455, + 0.5487117276235949, + 0.5420722336799372, + 0.5311946425877977, + 0.5672261729137972, + 0.5169939384824829, + 0.5556893353175838, + 0.5501320641924394, + 0.5390274697216227, + 0.54024642498116, + 0.5379020286578452, + 0.5147411533049308, + 0.5490914184541907, + 0.5091623519780114, + 0.5569110311975237, + 0.520601156441262, + 0.5117248932656366, + 0.5283789857232477, + 0.5141310828737915, + 0.5274880412092898, + 0.5268576072645373, + 0.5374370674311649, + 0.5878779379359912, + 0.5137211690482217, + 0.544732119870605, + 0.5225453659426421, + 0.532382570381742, + 0.5337772631726694, + 0.529654028400546, + 0.5265271727927029, + 0.5377419313648716, + 0.5539235415053554, + 0.5344075308472384, + 0.5153285642212723, + 0.5400264950236305, + 0.5225991292536492, + 0.5239586316165514, + 0.5100824245659169, + 0.5237703752762173, + 0.5341979487682693, + 0.5112467397470027, + 0.5207538891234436, + 0.549758599116467, + 0.5382749078329653, + 0.50755241002189, + 0.5337473632884212, + 0.5314728742290754, + 0.5461548731662333, + 0.5095974504656624, + 0.5153283652907703, + 0.5220575274026487, + 0.5377979040844366, + 0.5220784338656813, + 0.5499306630168576, + 0.507977128616767, + 0.5382890192617197, + 0.5271637044847012, + 0.5318805968476227, + 0.5422938417847035, + 0.5492846267530694, + 0.5321645301242824, + 0.5228842763113789, + 0.5135384742286988, + 0.519768359529553, + 0.5235960885882378, + 0.5258846989425365, + 0.5365288441855227, + 0.5420236748526804, + 0.5163008395989891, + 0.5214036821213085, + 0.5277184297621715, + 0.5274471181328408, + 0.5401214802055619, + 0.534075125050731, + 0.5147236568795052, + 0.5225179668166675, + 0.5015829233656405, + 0.5309513575513847, + 0.5173033951257822, + 0.5315698761143721, + 0.5238272610411514, + 0.5149525398155674, + 0.5440566201461479, + 0.5334175806725397, + 0.5000811699370388, + 0.537566284800414, + 0.5213882055220893, + 0.5411939045443432, + 0.5301836066413671, + 0.5232208995905239, + 0.5333177736436483, + 0.5263107349688653, + 0.526272442942718, + 0.5444860501535004, + 0.533574674942065, + 0.511716266424628, + 0.5182013715500944, + 0.5433328648767202, + 0.5247283633390907, + 0.5500210841652006, + 0.5203914441401138, + 0.5187354259425774, + 0.5248218700871803, + 0.51431478013983, + 0.5264697531063576, + 0.5156597052060533, + 0.5148642196436413, + 0.50669323396869, + 0.5360159510339144, + 0.5147821650956758, + 0.53544110354851, + 0.4936756136477925, + 0.5492551747360267, + 0.5445536907180213, + 0.5114392887859139, + 0.5146600735315587, + 0.5087801975489128, + 0.524346571858041, + 0.5163841055764351, + 0.5149208222574089, + 0.5368225041369442, + 0.5088834045804106, + 0.5358401667268481, + 0.5229745800141246, + 0.5378237288503442, + 0.5287644550320693, + 0.5223714426218067, + 0.502832806808874, + 0.5410491361515597, + 0.5101799874508288, + 0.5255966684839223, + 0.5192065360693959, + 0.5217858640768099, + 0.5275074014090932, + 0.509308911365224, + 0.5226384194567799 + ], + "best_epoch": 935 +} \ No newline at end of file diff --git a/results/model_media/davis/train_log/DGM_davis1D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json b/results/model_media/davis/train_log/DGM_davis1D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json new file mode 100644 index 00000000..b77172f3 --- /dev/null +++ b/results/model_media/davis/train_log/DGM_davis1D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json @@ -0,0 +1,4007 @@ +{ + "train_loss": [ + 3.7562585234277472, + 1.1063020009467726, + 1.0810075173957632, + 1.0737485026183113, + 1.0496036795164467, + 1.0416681154514307, + 1.0235913321603693, + 1.0163271385002939, + 1.0008230121857529, + 0.9843421876430511, + 0.9831688331172371, + 0.9678442369952843, + 0.9567340793321621, + 0.9434699289705775, + 0.940677946154313, + 0.9417373229968803, + 0.9360477505337208, + 0.9352542926822234, + 0.9206331047351937, + 0.9307542211327713, + 0.9124013495372341, + 0.9122176434195369, + 0.9157427735968467, + 0.9093108250323786, + 0.9072322908116772, + 0.9202634052626948, + 0.9237759859509059, + 0.9422254258430697, + 0.9260974584961885, + 0.9456689630034137, + 0.9380006723629954, + 0.9381325151942191, + 0.9199019257172897, + 0.9381282280800175, + 0.9052833537670815, + 0.929347125534253, + 0.9003207981130763, + 0.9252585914065714, + 0.8984768576806109, + 0.9074535110128035, + 0.8905408273505144, + 0.8802659511794009, + 0.8832342961877129, + 0.8853354852316212, + 0.8656966849614721, + 0.852150535979949, + 0.8391888042518852, + 0.8463214866201813, + 0.862729044682389, + 0.8456432130586481, + 0.852412496365903, + 0.8236868600232885, + 0.8598973631676549, + 0.8160533811384385, + 0.8313394399638935, + 0.8081889443031145, + 0.8118638931702401, + 0.7988590154033552, + 0.8264405833335098, + 0.8043850327668205, + 0.8015768632566164, + 0.7866416059274921, + 0.7958397984231284, + 0.8317180356574715, + 0.784315625416394, + 0.7812518203568386, + 0.7782192464906506, + 0.7893157541432877, + 0.7713657713720193, + 0.7770924660909796, + 0.7779962272363337, + 0.7658243889746681, + 0.784091737520075, + 0.7770811459021102, + 0.7608734495049223, + 0.751640151126669, + 0.7505708030148748, + 0.739401896862991, + 0.7423103757954519, + 0.7290096270199581, + 0.7282103468473169, + 0.7183458278303118, + 0.717840092809193, + 0.7153151639329913, + 0.7028110907939961, + 0.7229701517326387, + 0.7135651320538025, + 0.7176797572489179, + 0.7968577573742341, + 0.7426064892213461, + 0.7187977112624624, + 0.7373586950954676, + 0.7061961456358615, + 0.7065580559250776, + 0.6945200475895441, + 0.6818870718417183, + 0.6921779018704315, + 0.6876357925958955, + 0.6871608681293255, + 0.6891230566239138, + 0.7085914526829661, + 0.695707274093905, + 0.6962996304764295, + 0.6854889184373234, + 0.6813704211276241, + 0.6778499384948967, + 0.6815663678429178, + 0.6831979031591969, + 0.6885237184777537, + 0.6811630275863756, + 0.6750438656965527, + 0.669441113128848, + 0.6825166534210928, + 0.6845412206257885, + 0.670833466933408, + 0.6593905408675882, + 0.6672091218856496, + 0.6601297796364953, + 0.6503368797925634, + 0.6569672423993046, + 0.6603620986963995, + 0.6759233649717559, + 0.7171833644584049, + 0.680850648939245, + 0.6714926394847555, + 0.6595654899100645, + 0.6626368130383506, + 0.6580600392198709, + 0.6628576061867792, + 0.6533261902789822, + 0.6494196953895625, + 0.6374717663734331, + 0.6516928826131223, + 0.6434373078520327, + 0.6498837231769474, + 0.6589403526589775, + 0.639353171765622, + 0.6350427921576602, + 0.6394325278767752, + 0.6387347707507807, + 0.6401323463300682, + 0.6344034943376476, + 0.630598390981874, + 0.6183238906233318, + 0.6381636905834216, + 0.6272032860814614, + 0.6183445380277225, + 0.6224976829751552, + 0.6236209614196684, + 0.617492168321522, + 0.6228925245799785, + 0.6345524954230778, + 0.6205268264591511, + 0.6174743600668163, + 0.6265559284193071, + 0.6210080998912682, + 0.6244859206703824, + 0.6108031420988409, + 0.6149775133630552, + 0.6187302018273678, + 0.6217529942774263, + 0.6198125618883047, + 0.6204086455547846, + 0.6186538508178991, + 0.6142275391049706, + 0.6054902157378853, + 0.601411906518156, + 0.6042269286485987, + 0.6080837587424375, + 0.6102832330316761, + 0.6058120075442376, + 0.6052667672435442, + 0.6091288650801422, + 0.6020018366316408, + 0.6047550345278296, + 0.5962030944109692, + 0.5959254328719702, + 0.6045421243670883, + 0.5925750286981964, + 0.5911533119162653, + 0.5957591654761304, + 0.606022399158106, + 0.6050647154723833, + 0.5952507752571995, + 0.5927555327978703, + 0.5900165869851542, + 0.5937577301938235, + 0.5876669560413842, + 0.5800705257951302, + 0.5867133419903776, + 0.5861825427148685, + 0.5871057173391001, + 0.5886731053893355, + 0.59276290651445, + 0.5847620893531801, + 0.5791787830286799, + 0.5848086155518115, + 0.5817262349302798, + 0.5767471882591554, + 0.5751278978467717, + 0.5756696367163542, + 0.5750819793375442, + 0.5708339810599246, + 0.5743838743013344, + 0.5694899546603361, + 0.5708309877379043, + 0.5702319979348679, + 0.5632495412358086, + 0.5686638137661718, + 0.5640110057701758, + 0.5741280020422527, + 0.563127970864102, + 0.5656480637666647, + 0.5715231271830903, + 0.5698146968624278, + 0.5666569679838802, + 0.5759270144370171, + 0.574904662548402, + 0.5606044368300052, + 0.5586891221252785, + 0.5550361313039739, + 0.5616398278498503, + 0.5555014059357687, + 0.5631368902799551, + 0.5650925900251675, + 0.5523009265485342, + 0.5538937635605853, + 0.552551127036048, + 0.5469905829074186, + 0.5484377404145144, + 0.5491527446092815, + 0.5513894346739174, + 0.5517028129292191, + 0.5496956424314859, + 0.5522094235530505, + 0.5442281661936814, + 0.5441880233995958, + 0.5506666348478116, + 0.5419594153579587, + 0.5408470720075503, + 0.543551906305351, + 0.5282382974657444, + 0.5374767881467801, + 0.5453956670808501, + 0.5381050794997712, + 0.5444224695319065, + 0.5249296912541812, + 0.5352007879303136, + 0.5321861312066744, + 0.5275647749594592, + 0.533403357097862, + 0.5268703321114593, + 0.5370766927775804, + 0.5358291766193299, + 0.5266318099419458, + 0.5211851153101213, + 0.5184812821584557, + 0.5235468928306293, + 0.5152987405338784, + 0.5149786774217171, + 0.514469565362285, + 0.5111950544087894, + 0.5092150817314783, + 0.5189300805034076, + 0.5136113317073849, + 0.5157554210007008, + 0.5133388316891062, + 0.5153400770727465, + 0.5116094622407849, + 0.5102808843808254, + 0.5036679874729673, + 0.49846911180866965, + 0.5002300585719788, + 0.5045045350168459, + 0.5028480456441368, + 0.4970139799132624, + 0.5016941754232853, + 0.5025692068336571, + 0.4978567889979855, + 0.4944892943771243, + 0.4988303702404375, + 0.49840825939670613, + 0.5073748362059805, + 0.49598442641192253, + 0.5018863367879427, + 0.4911339652784374, + 0.4900726870454233, + 0.49340968534623814, + 0.49218623605571027, + 0.4922675525581618, + 0.4905673092749505, + 0.48866970493068024, + 0.4931702330503442, + 0.4973214759465751, + 0.49046574308556884, + 0.49144276367095996, + 0.49008863554863025, + 0.4960471318766976, + 0.49550358593372756, + 0.4785708053555875, + 0.4864469988311467, + 0.4858691824047573, + 0.4801519599939705, + 0.4728883221426506, + 0.47818280012554715, + 0.48063249428064453, + 0.4807263173573061, + 0.47698926145284914, + 0.48161591654387087, + 0.4807508397357544, + 0.48713605330305726, + 0.47771575552516754, + 0.47788522882381346, + 0.4744885845240832, + 0.4779568688106646, + 0.483191629695145, + 0.4799099113416234, + 0.47220058236783796, + 0.4740744775861775, + 0.47016240551566496, + 0.470393861960107, + 0.46908033209701927, + 0.47675881193045083, + 0.4789168084843443, + 0.48853001540771684, + 0.47237278511947084, + 0.4646478940131832, + 0.47216513010157724, + 0.46887352564785095, + 0.47018247470259666, + 0.4708351611589802, + 0.46250048204572924, + 0.4795837718708617, + 0.4636911217362509, + 0.45781347900629044, + 0.46072088400705147, + 0.46540214387922113, + 0.468293536693678, + 0.4640896223280408, + 0.46678451599057663, + 0.45294971431431785, + 0.46409122942055403, + 0.45241531168056554, + 0.4569115872275574, + 0.4580259505283395, + 0.4679525050730516, + 0.4685832829149127, + 0.44884747319174106, + 0.46628762725797634, + 0.4545466170193405, + 0.4548187389491348, + 0.4521340026608483, + 0.4575723767941334, + 0.4585980022217885, + 0.455975401907339, + 0.4488628935011884, + 0.4459877540371651, + 0.4530620753468906, + 0.45204707284084883, + 0.4636316250223632, + 0.4605005941715445, + 0.4579033859598163, + 0.44794085225380886, + 0.4454779514433412, + 0.45038181132087285, + 0.45004648040832, + 0.4526358507459681, + 0.4377236241867783, + 0.4463454492914203, + 0.4426074851224546, + 0.4436672049651452, + 0.4465692891349122, + 0.44133984016123534, + 0.4481173124882059, + 0.4474095921815353, + 0.45387010384544685, + 0.4390856534219845, + 0.4443365144643033, + 0.44500523013851695, + 0.43979079147590044, + 0.4368832556798553, + 0.4457163010419144, + 0.4402604793007585, + 0.4398104201785833, + 0.43719691833316005, + 0.43519780086495824, + 0.431455571101893, + 0.42973799553531755, + 0.42945705161683423, + 0.4343868842866807, + 0.43358467029413317, + 0.4393792867956723, + 0.43802961328889983, + 0.4362636845877867, + 0.42565530769823157, + 0.4261168955116097, + 0.4226779586461797, + 0.4528622116312521, + 0.4346389495269239, + 0.4277283752092163, + 0.4290377357433513, + 0.42629600024642567, + 0.4302901297306431, + 0.42722944163401194, + 0.4265469029511607, + 0.4238993348240488, + 0.423968903549494, + 0.4245691858573791, + 0.4255255498447732, + 0.4238188280311017, + 0.4293483567370005, + 0.4197761053475765, + 0.4160151368616553, + 0.41409898695140074, + 0.41571039893302714, + 0.42347241489826176, + 0.41966958583221525, + 0.42155639028649444, + 0.4281691871355615, + 0.4244899265695967, + 0.4170391405462672, + 0.4183555386208613, + 0.4210565712883932, + 0.42226139464008333, + 0.42717240129907924, + 0.4159487551391489, + 0.4205782149066801, + 0.4135975148244006, + 0.4150366422005385, + 0.42109551061434664, + 0.4122603663474048, + 0.4218206147147793, + 0.4156131778675664, + 0.40995893402976363, + 0.4066920355645888, + 0.4043166604952528, + 0.40677357843253953, + 0.4206043711154286, + 0.41496491570037075, + 0.40502723501226223, + 0.4104172527698931, + 0.41712412424955164, + 0.4086898808518499, + 0.40287369006635215, + 0.4096690009060438, + 0.40688164970789115, + 0.41032744155746714, + 0.41580306288618196, + 0.41516897962955523, + 0.402341250899826, + 0.4132021907318258, + 0.40569843924874927, + 0.4152415642452167, + 0.4125212240132535, + 0.40133704036610934, + 0.407634098720751, + 0.3992681472194851, + 0.40508729274119804, + 0.40214889828081524, + 0.40678830194181625, + 0.40580391072716554, + 0.4047164897625235, + 0.4006283602902284, + 0.400839771386179, + 0.3923017364280122, + 0.4077965128335202, + 0.39854723679910015, + 0.4092716854578311, + 0.4036901039655238, + 0.4022047276913391, + 0.40386776418200143, + 0.395626947500199, + 0.41884325333053546, + 0.40296122726816286, + 0.3986869527693462, + 0.39264853926381205, + 0.4036838025173645, + 0.40107563962242837, + 0.394799416993007, + 0.4006554673024274, + 0.39866653991584017, + 0.39564500504176187, + 0.40261529143387026, + 0.3969981298363263, + 0.3896308765783678, + 0.38923031409535935, + 0.3932639688412895, + 0.38877777219251575, + 0.40348254376025555, + 0.395891721767661, + 0.395875454313529, + 0.39902406891050324, + 0.3897526610688241, + 0.39475919301721296, + 0.3976024968338851, + 0.39002602274560966, + 0.3977414594695473, + 0.40858011239347836, + 0.3888649166837927, + 0.39265129566534396, + 0.3857117002824213, + 0.37694265255391235, + 0.386258626430771, + 0.3854819761720181, + 0.37659489288242587, + 0.3787512513566819, + 0.38430621529664466, + 0.38390272153991445, + 0.3816356159040323, + 0.3824818793923483, + 0.38422630594000906, + 0.37937607700489345, + 0.38412255945327817, + 0.3832097738206569, + 0.38123036891404277, + 0.3841125965460178, + 0.3800924500387834, + 0.38123766476408055, + 0.3828694501532874, + 0.3801815638928147, + 0.38059675891168804, + 0.377658317799734, + 0.37869165239667674, + 0.3820301004562994, + 0.37961187955869263, + 0.3715874621992082, + 0.38059269663071776, + 0.3854176110049727, + 0.36843392782665174, + 0.37552145206645726, + 0.3735162735737245, + 0.3697068744740628, + 0.37773137491777403, + 0.37419870905919905, + 0.3741026722828912, + 0.37362939980598764, + 0.3716022463270466, + 0.3711496504302783, + 0.37039501670554326, + 0.3674227976288635, + 0.3802758523744363, + 0.37981239502924846, + 0.37377733858558565, + 0.3723695583880768, + 0.3725942044835025, + 0.36834653270991935, + 0.3671137328951731, + 0.3617804121419742, + 0.3716411696239987, + 0.3714491791613058, + 0.37633856173479413, + 0.3689043905802458, + 0.37656529022192736, + 0.37053824642200356, + 0.3674828928841181, + 0.3732363880364173, + 0.37450905765665965, + 0.3718259874446494, + 0.36665947153731404, + 0.3598988750602036, + 0.3660424157453057, + 0.3627511344975379, + 0.36754669042856686, + 0.36591265878044865, + 0.37543734319690353, + 0.36410986929448375, + 0.36954841760502677, + 0.3597902977548608, + 0.36039214301569567, + 0.36329323695317506, + 0.3585525461520988, + 0.36717113485668046, + 0.36639628350871417, + 0.3629640227052688, + 0.3641945870211547, + 0.3663711318808867, + 0.3608761370204822, + 0.36181399783273355, + 0.3617996908724308, + 0.35412616444472506, + 0.3612366745857926, + 0.35682625277964714, + 0.35925804873193623, + 0.35953310019242657, + 0.35868102001647156, + 0.35552320466448045, + 0.3581762964344535, + 0.3582436199262966, + 0.3640485916070253, + 0.3596256970447867, + 0.35721769107545553, + 0.3517740519962271, + 0.359891570945034, + 0.3584802251149664, + 0.3530358753995885, + 0.3521301576850611, + 0.3593167399799605, + 0.35560228906868063, + 0.35304699180254695, + 0.3533541366731355, + 0.35236644430444874, + 0.3548382307297411, + 0.3537787454151506, + 0.3610830925211356, + 0.3565877997387622, + 0.3520437580695666, + 0.3581828411657147, + 0.3527977072636651, + 0.35630853173382787, + 0.35368401046830944, + 0.35443917822537074, + 0.3599255213838652, + 0.34802090209148345, + 0.3487475377134409, + 0.3514720822658834, + 0.3529492618191406, + 0.348932632897334, + 0.35470575523713677, + 0.3624368595466337, + 0.34890427270659247, + 0.3486499323278939, + 0.34603176601458946, + 0.3521459504323997, + 0.35276333275692545, + 0.34942629862155206, + 0.3616500438307768, + 0.3518776268746692, + 0.3456266125555888, + 0.3459895190808478, + 0.34166531358199015, + 0.34125124405648, + 0.34366796750131, + 0.3470213555585627, + 0.3413295501882968, + 0.346545523978109, + 0.3462240705352037, + 0.34413430629588593, + 0.34601191318499935, + 0.34182148255886285, + 0.3383797927380793, + 0.3413107425020011, + 0.3435176456011034, + 0.34014430956556163, + 0.3422143261549305, + 0.34257782329819436, + 0.34114606454057067, + 0.337433166329148, + 0.3456724424724003, + 0.33833146569196604, + 0.34152220415139417, + 0.34028814471004937, + 0.3462390852095246, + 0.335306258650001, + 0.3412524742225259, + 0.3369772399601951, + 0.34065120535637805, + 0.3368760274284568, + 0.33523839158475943, + 0.33853739162263335, + 0.33250924604247106, + 0.3400014124992973, + 0.3402105578782453, + 0.33723308335112506, + 0.3397022933109638, + 0.34565408324498104, + 0.33655806585850156, + 0.34286976751475523, + 0.33043854445538023, + 0.34047261829450953, + 0.33437817287417726, + 0.3342122923616969, + 0.33509332028186284, + 0.3376228211772278, + 0.34279357880034944, + 0.3416215168249534, + 0.3423895593106018, + 0.3377169856363025, + 0.3319644116161431, + 0.33627249334656867, + 0.34131334095464205, + 0.33225108758298627, + 0.33598494048398386, + 0.3407794102707405, + 0.34256102518386433, + 0.33769766198590806, + 0.3336640677503125, + 0.3366563668537213, + 0.3389763849408619, + 0.33127144975331396, + 0.33894054560326836, + 0.3361361563171542, + 0.3332680117521173, + 0.32992341163189404, + 0.3278581842449736, + 0.3342497714820805, + 0.3289027436314555, + 0.33050324783207624, + 0.33263864185923103, + 0.32693435648165714, + 0.3332256295686924, + 0.3356358773026627, + 0.33763430074472495, + 0.3288716866950923, + 0.3299846233919673, + 0.32815908645749636, + 0.3281257436852845, + 0.3274607003783232, + 0.3262143206671564, + 0.32856291178784786, + 0.33919914581155014, + 0.33007330135285673, + 0.3285799849470821, + 0.33322913130739595, + 0.3318099355159914, + 0.3323698423928168, + 0.3344493618844481, + 0.32658970981426194, + 0.32522870754589545, + 0.3195961697158099, + 0.32860126541158474, + 0.32660989224090486, + 0.3301647470563377, + 0.32889545428643535, + 0.32642867603547165, + 0.3263923408412332, + 0.329889915741137, + 0.32356069380537084, + 0.32648597926539386, + 0.32908113931935135, + 0.32715746899354714, + 0.32682117747444805, + 0.3284340274124335, + 0.33447891137126934, + 0.3263144944694793, + 0.32813067960948755, + 0.3343587734135557, + 0.3241862965639487, + 0.32704710416974275, + 0.32335431700065415, + 0.32748700665247366, + 0.3209425976460042, + 0.3232566160050189, + 0.32519234921954093, + 0.3272761674341532, + 0.32481443950342476, + 0.3249105463596203, + 0.32924371216708187, + 0.31868932331237226, + 0.329821852613981, + 0.3208465865195162, + 0.32568893242137514, + 0.3291433366066819, + 0.3246041972201534, + 0.32286616834022946, + 0.32194704871157626, + 0.32046450348713346, + 0.3199137225974955, + 0.32421487219494965, + 0.3201478737141561, + 0.33029701867758865, + 0.32721537432493786, + 0.32007329806753804, + 0.3199594822692306, + 0.32096068432343844, + 0.3190874660199662, + 0.32025437612394125, + 0.32126031935055505, + 0.31996841572042817, + 0.3188549345672495, + 0.3205560234799662, + 0.3221368448073984, + 0.3192545033717921, + 0.33125541868423103, + 0.32155842684346053, + 0.3222371751345717, + 0.32129034079861934, + 0.3209013580956955, + 0.3199930164552883, + 0.31944389256224354, + 0.31485440388937064, + 0.31748049563816566, + 0.32521863607547336, + 0.313821162270889, + 0.32024059702702073, + 0.31717495457340456, + 0.3201243920530839, + 0.32348524568892945, + 0.3216102895090522, + 0.31497648234738307, + 0.3222670252876362, + 0.3168424437226961, + 0.31749964602838415, + 0.3171452388953452, + 0.31633670934524377, + 0.3182014580417299, + 0.31596650939081605, + 0.31449853326407595, + 0.3186938520577887, + 0.3168880713402952, + 0.3159215733386143, + 0.3122266404250984, + 0.3160321863043472, + 0.31021504168504055, + 0.3182349519160454, + 0.31478463404381857, + 0.3102186250440571, + 0.31084529953561607, + 0.31772887060242144, + 0.31545311006908205, + 0.31369710832105135, + 0.31067893893916493, + 0.3115094547709649, + 0.3146254928606001, + 0.30826979397086923, + 0.31187399156642254, + 0.31605289832030964, + 0.3108939043152223, + 0.3117573794706608, + 0.3122669447281765, + 0.318964518019958, + 0.31114595165812275, + 0.3119375985001843, + 0.3120425209254938, + 0.3107568052816646, + 0.31279562508818387, + 0.31648922058260953, + 0.31039130192717096, + 0.31518210815294256, + 0.3120744117173944, + 0.31302460744430166, + 0.31145438575826656, + 0.31180932461098976, + 0.3068598064078468, + 0.3083348552659382, + 0.31010315645292447, + 0.3139263559360661, + 0.30582395312162713, + 0.3115725191908145, + 0.30941819819972055, + 0.3081106869760183, + 0.31240205615986744, + 0.3132332731209217, + 0.30763711840689, + 0.30859085527285707, + 0.308475754226612, + 0.3054972748964205, + 0.30965379158473527, + 0.3080337525940634, + 0.30457256325956333, + 0.30468931423916, + 0.30818102473467135, + 0.3106860491170887, + 0.31001493315972867, + 0.3085671494279159, + 0.30957294078344416, + 0.3084486925729553, + 0.30386632843233574, + 0.3063615396083404, + 0.3041266785074447, + 0.3123443493682219, + 0.31213140871592254, + 0.3088201164960041, + 0.2987280953447662, + 0.30620052539017223, + 0.3047505458560559, + 0.30583426132456426, + 0.3049669605580127, + 0.30771116697050016, + 0.30226538723921376, + 0.3050064638211457, + 0.30070213021693426, + 0.30159997040639414, + 0.3038501666477149, + 0.300873305323884, + 0.3041100245288115, + 0.3011197180683733, + 0.3072194332877795, + 0.30663353812507715, + 0.30299109023987153, + 0.30793498503756267, + 0.3066617509219169, + 0.30110641914086606, + 0.3042133767328678, + 0.3026464992923383, + 0.30130630952024134, + 0.30505494779653686, + 0.3020438104298319, + 0.30305132447579586, + 0.2993019170580654, + 0.29545894815993784, + 0.3017334714076205, + 0.3037911523361363, + 0.30141201826091574, + 0.30074792942003736, + 0.30030645715465787, + 0.30122533980016497, + 0.3004022246819069, + 0.29809120204584494, + 0.30329007024247345, + 0.29916506097153606, + 0.3008209629844453, + 0.30025330773164555, + 0.3064699180720414, + 0.29844029557062396, + 0.29998290878848743, + 0.3014160565154724, + 0.2944833719561771, + 0.2966373846424738, + 0.2975526020580202, + 0.2956777823468049, + 0.29609250612215166, + 0.30244688819581217, + 0.29765511224393815, + 0.30089713311227273, + 0.2975130236397187, + 0.2968183708824331, + 0.2952459735642059, + 0.3058342616036762, + 0.30714143343862227, + 0.294777435099632, + 0.295399549602323, + 0.29590318663564114, + 0.2910686269265796, + 0.2983007912925624, + 0.2972779848103038, + 0.2985497941163337, + 0.2972616455503469, + 0.2950434293996668, + 0.2954889449834915, + 0.294646273825648, + 0.29452668282485334, + 0.2986635643795178, + 0.29781186151167305, + 0.3027501408557553, + 0.29382285844842226, + 0.29143284869576813, + 0.29394395249562527, + 0.29547128067650924, + 0.29785628101876754, + 0.29233749736590303, + 0.29247000557156877, + 0.2962900004848063, + 0.2951917681922789, + 0.2893486607375495, + 0.2951364182847173, + 0.2960963810962092, + 0.2920899143391246, + 0.29297959940673196, + 0.2962936114816035, + 0.2923168156250445, + 0.28950858216402364, + 0.2923235299310644, + 0.2919857336225313, + 0.2920563566450041, + 0.2913599982743781, + 0.29229572736615433, + 0.2920144126445784, + 0.29607452100159926, + 0.287666434689855, + 0.2905303847318122, + 0.2913634655000329, + 0.29239619979549436, + 0.2891311243244814, + 0.30055614951599263, + 0.2883475171373616, + 0.2955281833864589, + 0.2953184510236578, + 0.2955055871539798, + 0.2883286320288247, + 0.28957350887586036, + 0.291021445122425, + 0.28910248106863884, + 0.28891073164475983, + 0.2840208537386736, + 0.29429464728004706, + 0.2878058802632655, + 0.2901710618845549, + 0.29209388707072365, + 0.28810783737091294, + 0.2934876138270357, + 0.2879512626392943, + 0.28728073040188634, + 0.28386640866551927, + 0.28398979686496817, + 0.28339576771887254, + 0.2860639953205436, + 0.2922409410027371, + 0.2921049622448577, + 0.28557085514706576, + 0.2899428367990693, + 0.2852679615219434, + 0.28261866959934023, + 0.2821997883430588, + 0.28823377330437167, + 0.28123347674829696, + 0.2880576417214644, + 0.2908238943221919, + 0.2842431037319363, + 0.2890760078741414, + 0.2879880769662445, + 0.2794412437894749, + 0.2880587897431504, + 0.2836476572268053, + 0.2822897135698741, + 0.28256106780505874, + 0.2812457328223672, + 0.28157991817967243, + 0.2814740432420637, + 0.28160804931632605, + 0.285462663204207, + 0.286129713770492, + 0.2817081675924566, + 0.28823606973508265, + 0.28578177615658407, + 0.2853744193193836, + 0.2836304166744426, + 0.2837974506712288, + 0.2850747775252259, + 0.28068723292047276, + 0.27747089561040794, + 0.2809342580821809, + 0.28093132384645464, + 0.2856909119686402, + 0.28409809156090293, + 0.28016231297899824, + 0.282732873574036, + 0.28262157092833556, + 0.2858564495436551, + 0.28699112517206676, + 0.2839456207662912, + 0.27942401938003686, + 0.27951779013744554, + 0.27936380750439854, + 0.27944019503481343, + 0.2817713436400034, + 0.28208946352910014, + 0.28212468596659485, + 0.281495360070868, + 0.27984751687479126, + 0.27497651653552274, + 0.2867958926302395, + 0.2855629829963276, + 0.285583711448567, + 0.2778196189643684, + 0.2838334621924235, + 0.2780032644293268, + 0.2715353395231638, + 0.27617530799285717, + 0.2795527287408573, + 0.28775815408255345, + 0.2811722038854882, + 0.2756008719939978, + 0.27498070726495816, + 0.2745541465676615, + 0.2816750864677746, + 0.27991189199872885, + 0.28098611209530167, + 0.28057032272743704, + 0.27693006791037705, + 0.2813097857257824, + 0.2746140992308793, + 0.277612940638984, + 0.2778477696103787, + 0.276823684205771, + 0.27286611380061243, + 0.27513363102838306, + 0.2761305342528069, + 0.2757900310594828, + 0.279356880130571, + 0.2769595176289114, + 0.2688780754850181, + 0.2762305401436506, + 0.2748094669739724, + 0.27542025222235134, + 0.27860047268348004, + 0.2841456628686518, + 0.2759492198341392, + 0.2697177691276923, + 0.2749393867949645, + 0.274027864582586, + 0.27476000916839377, + 0.2667540464983165, + 0.2738997822553375, + 0.27465622824266417, + 0.2780140350296501, + 0.27826249974264283, + 0.27552074345472394, + 0.2751070243970061, + 0.27783980237644745, + 0.2766517127781468, + 0.27275251116409943, + 0.2697752643866459, + 0.2714288401095601, + 0.26559365946879265, + 0.2697657288168913, + 0.2678637881549673, + 0.2735532867958604, + 0.2709837200273888, + 0.26895618546378175, + 0.2722398760167466, + 0.26949863068030333, + 0.2728807101031874, + 0.27176341257237513, + 0.2744365593515314, + 0.2756611690500506, + 0.27588649373786345, + 0.2714364131975247, + 0.2737667008220511, + 0.2693703567854126, + 0.2767893128176804, + 0.26963034514280815, + 0.26857799675532074, + 0.2690385122831899, + 0.2722930194815729, + 0.27204512909556017, + 0.2698872085683481, + 0.2701305046745943, + 0.2658823486075762, + 0.27330055450935153, + 0.2686658832742989, + 0.2710809731280676, + 0.27132915295888343, + 0.2700744271677113, + 0.26749297828963225, + 0.27056889744071055, + 0.27187773076652205, + 0.26458233478692694, + 0.2706554992813674, + 0.2673454010511666, + 0.26781829426617615, + 0.27076568893678143, + 0.26959627030548333, + 0.26648268181921786, + 0.269888050113705, + 0.263864609660632, + 0.266843798852295, + 0.2741797594723807, + 0.26872056152170315, + 0.27015431239540244, + 0.2660368797098734, + 0.26513000303133183, + 0.26442871042826305, + 0.2677189764375898, + 0.26608861434281966, + 0.2689882911092371, + 0.2656192298443128, + 0.265013560903364, + 0.2631484832819722, + 0.2653625052769751, + 0.2663257854879586, + 0.2650353794159875, + 0.2626305781020028, + 0.2715820738310934, + 0.2696426893991706, + 0.26820767983019533, + 0.2704740658413835, + 0.2646169131764122, + 0.2654020995961143, + 0.2612635382630546, + 0.26736767415743357, + 0.2682125639591924, + 0.2655402638975087, + 0.2711796305834427, + 0.25986642500425516, + 0.2655848800845513, + 0.26341442901652523, + 0.26619815043763284, + 0.2610679010231196, + 0.2646866605335146, + 0.2685890095963482, + 0.259746088039711, + 0.26211302474551246, + 0.26623955878802213, + 0.2666210425954984, + 0.2649151694359947, + 0.2668829340066203, + 0.26869661256454497, + 0.2641827448097482, + 0.2712156045099646, + 0.26315077844243895, + 0.26197577671173516, + 0.2566590809437022, + 0.2586560394068103, + 0.2621929315616596, + 0.2634466442561478, + 0.2616035625087923, + 0.25432929754348343, + 0.25891687027791044, + 0.2624881422112978, + 0.2633846615774369, + 0.2596646734949099, + 0.2602527231000797, + 0.26013527917091817, + 0.25591827178835325, + 0.26231344139904056, + 0.2608457335957329, + 0.25798982785108987, + 0.2573587437436577, + 0.2609971673185125, + 0.26337146044164805, + 0.2597437547947015, + 0.2585816631714503, + 0.26311112061393555, + 0.2590491264796494, + 0.2604432630178943, + 0.2576053223091346, + 0.2596432820634649, + 0.26497152781210814, + 0.25388897681432215, + 0.2587395030663374, + 0.25659355960945834, + 0.2607504402939515, + 0.2586162049317624, + 0.2625891915963968, + 0.25789238358719635, + 0.2559471306724286, + 0.26124241081171806, + 0.2554954997226824, + 0.25569887502568944, + 0.26021538321669313, + 0.256877196827385, + 0.25850399089720816, + 0.259125504676902, + 0.25977959941548584, + 0.25939058908332563, + 0.2546941536316358, + 0.2574920975674365, + 0.25153197645457515, + 0.2562553021851756, + 0.2614212166802781, + 0.254475644328247, + 0.25898107344039717, + 0.2572964298103107, + 0.2582184658485496, + 0.25388703122165407, + 0.2498855374878791, + 0.2509974911011505, + 0.2544926151929463, + 0.2514490687291192, + 0.2549147343929481, + 0.25629527959687814, + 0.25080392126916745, + 0.2608415804438817, + 0.2513749294769053, + 0.26010507172036246, + 0.2542860090265489, + 0.2485159117705687, + 0.25483838830781186, + 0.25393619512518245, + 0.2530990598768862, + 0.2534325435894345, + 0.25710272710109616, + 0.2501303422427095, + 0.25062428073906295, + 0.25187934253831884, + 0.26171921684039295, + 0.25440654199604595, + 0.2570270375841346, + 0.250550123190775, + 0.2514920418723187, + 0.2510879893248918, + 0.25315331309088235, + 0.2505702126531973, + 0.24657755173366824, + 0.25064428759573615, + 0.2499502316652726, + 0.2588506733560052, + 0.25265896487810197, + 0.2474893866853065, + 0.2542756252155984, + 0.25173161720532344, + 0.24826647096886, + 0.25588841227649367, + 0.24796604570741865, + 0.24995203653424522, + 0.2498448707237384, + 0.2488121887731625, + 0.2509069424293457, + 0.2482198611334741, + 0.25420981659824515, + 0.24602557785398915, + 0.2473886038549814, + 0.2529767017088124, + 0.24702969446083364, + 0.25191939438177724, + 0.2529677801882273, + 0.24509104370603776, + 0.2429669871128845, + 0.24850892912687603, + 0.2506942963740284, + 0.24802805174894016, + 0.256205031990048, + 0.250278527794309, + 0.2502493082320699, + 0.24702414100710587, + 0.2474367878676053, + 0.24870969769217371, + 0.25160667420128524, + 0.24635191091453082, + 0.2478126723387646, + 0.24502559031846874, + 0.2504648904370241, + 0.24873493298238844, + 0.24783603488453393, + 0.24760640382949, + 0.2425118178579193, + 0.25165042366593254, + 0.2500456461130388, + 0.2492240942951964, + 0.2451816955182576, + 0.25049515876246886, + 0.2502313607802404, + 0.24243602091702846, + 0.2471938069727534, + 0.24653841248665018, + 0.24284579152873623, + 0.2452083512947009, + 0.25146754297345236, + 0.24140311502467054, + 0.25280299993795813, + 0.24309507419927678, + 0.24699836829819627, + 0.24841471672320128, + 0.2465728195327183, + 0.24850406906701375, + 0.24352451362604394, + 0.24301645651015394, + 0.23699397997309765, + 0.24580971390544365, + 0.245946285841753, + 0.24624834994326947, + 0.2450127411172341, + 0.24328574866329858, + 0.24416143590704018, + 0.243626776604204, + 0.24466681708823831, + 0.2439848001539388, + 0.2445279518968286, + 0.24128390408038455, + 0.2435701110767662, + 0.24203360653183328, + 0.24191089730926246, + 0.2469951682909184, + 0.2429526276425074, + 0.2450579898745186, + 0.23971869817305505, + 0.24420811017456862, + 0.24353025627496228, + 0.2425985053033548, + 0.24475832133687783, + 0.2419357742937652, + 0.239300357508231, + 0.2355889525458171, + 0.24043034914231629, + 0.23952974592668747, + 0.24029887888569168, + 0.23961183405979694, + 0.24516840866376682, + 0.24417172808952015, + 0.23964847645377713, + 0.24549587507267975, + 0.23806560005343289, + 0.2375797721093082, + 0.24163614063087954, + 0.23552706524080366, + 0.24023371895587226, + 0.2417775958673943, + 0.23985517748406537, + 0.23480721681865804, + 0.23605645263983388, + 0.23851787163349103, + 0.23562758654037017, + 0.23742601880091685, + 0.24348951800689328, + 0.2430042358548224, + 0.24366431133337432, + 0.24300094823486854, + 0.23962427455567348, + 0.2356570000398551, + 0.24005154036953819, + 0.24080157305031377, + 0.23851120093444345, + 0.23677543987910227, + 0.2390736914880642, + 0.2404747709876855, + 0.2339910462680942, + 0.24080880259132348, + 0.23268095835963612, + 0.23891742512390063, + 0.23898778973711193, + 0.23959480373855305, + 0.24065174897477623, + 0.23993873591634476, + 0.23169186026632604, + 0.23695193797873976, + 0.23585204067511842, + 0.23457682374523048, + 0.24069461136748757, + 0.23401563485303967, + 0.2359121386559868, + 0.23612237255165883, + 0.2338098142301772, + 0.2363852952501597, + 0.23223465298863544, + 0.23706970464677438, + 0.23495548974084654, + 0.23362612112536343, + 0.2357260860297658, + 0.23211597463554653, + 0.23676089196827615, + 0.2376581212642406, + 0.23417898260956965, + 0.23643921292600556, + 0.23744706802970134, + 0.24007671056970362, + 0.23335000392710306, + 0.23631916193160532, + 0.23769977505088125, + 0.23541940103601153, + 0.23878237380950915, + 0.23871671329807798, + 0.23797631403288894, + 0.23123416913223285, + 0.23544875503907875, + 0.23465594210995172, + 0.23286825761381275, + 0.23849934100854106, + 0.23469922289719367, + 0.2273643232044687, + 0.23613961993941657, + 0.23294933908690188, + 0.22960537573784043, + 0.2318747277009879, + 0.2337928637150185, + 0.2339293078522252, + 0.23060996161449118, + 0.23682694816933403, + 0.2328738189481814, + 0.23068219323611222, + 0.2319322599080998, + 0.2326138027678799, + 0.23631428724114956, + 0.2331953432570448, + 0.2282776112557141, + 0.23100768273770353, + 0.23526311693969396, + 0.2332316490106672, + 0.23409458464552685, + 0.23232304264110618, + 0.2316796386939123, + 0.23390287279638403, + 0.23483079768124887, + 0.23631922448971038, + 0.23034293564828254, + 0.23586200440547425, + 0.23055678385591835, + 0.23236789150499604, + 0.22699343121471025, + 0.23304018987177527, + 0.23149641867533371, + 0.23233447662506265, + 0.23630215347223327, + 0.22801115779086537, + 0.2322923978164063, + 0.2366983026653437, + 0.23812607125256677, + 0.23338222505940576, + 0.232105633579992, + 0.22994619263022772, + 0.23175714136776301, + 0.23153179022697135, + 0.23089014495572002, + 0.2294562850261409, + 0.2366231164584557, + 0.23039420568797203, + 0.23233849848606353, + 0.2294705392798517, + 0.23125922223638504, + 0.22820750128090472, + 0.22773039806918996, + 0.22739644842763468, + 0.23272383872943642, + 0.22935501357614538, + 0.23139326731512033, + 0.22688855073309364, + 0.2312896875465226, + 0.22998071389859515, + 0.22935839374165196, + 0.22611252673038648, + 0.22251872057864153, + 0.22573698662927755, + 0.2312660504685037, + 0.2256350876586882, + 0.23135201114340934, + 0.22837069642299998, + 0.22516499323320407, + 0.22526302582524513, + 0.22527239531483673, + 0.22987246495423788, + 0.2322474441061007, + 0.2258707263652201, + 0.22819960468508507, + 0.22875973090688934, + 0.22908917165415457, + 0.22738818289421567, + 0.23588950716710966, + 0.22227789928413222, + 0.23032594369069334, + 0.2254468532598119, + 0.23296247525795702, + 0.22911366088378501, + 0.22788213049018874, + 0.22660409159309, + 0.22466509338661983, + 0.22390258040518388, + 0.2249751117917786, + 0.2243778616480461, + 0.22806483388106574, + 0.2298223204136077, + 0.22340482558246236, + 0.22625653912806, + 0.22540369953971573, + 0.2241858291790026, + 0.22527093070043702, + 0.2288587424300315, + 0.230394319901727, + 0.22103283709251187, + 0.22332447672416583, + 0.22805963447801655, + 0.22477513468263255, + 0.22264481749134965, + 0.2210332842498152, + 0.21871390641988783, + 0.22295069833220602, + 0.22888021490932514, + 0.22438472319417135, + 0.22319061852513103, + 0.22195379668134707, + 0.23113086363101315, + 0.22063234334224863, + 0.2182687991369937, + 0.22549774649265344, + 0.22425981366078424, + 0.22123941679453812, + 0.22842537175396896, + 0.22462344856004285, + 0.22590846902710765, + 0.22153148373776893, + 0.21860504170612002, + 0.22315397158276506, + 0.22122731531147108, + 0.22454576309918445, + 0.21977906489590987, + 0.22264738987550275, + 0.22150285137298914, + 0.22210188216561116, + 0.2249263563828503, + 0.22505242036319473, + 0.2182675868084808, + 0.22175685943756537, + 0.21889878148412395, + 0.22187277255152618, + 0.21778708649372017, + 0.2186572253419263, + 0.2202046298726664, + 0.22169267953251023, + 0.21878255412711645, + 0.22103018507885458, + 0.22417791187763214, + 0.21660519131553282, + 0.22227663311264292, + 0.21869968926243552, + 0.2202147872070426, + 0.21994817032783495, + 0.22078400182420962, + 0.2226292770640748, + 0.22239599348720882, + 0.21777443361357537, + 0.2165403036480422, + 0.22783524885955936, + 0.21851827712325145, + 0.21819869734187375, + 0.2212669927575583, + 0.21501828863396558, + 0.2201550887664068, + 0.21830411750640982, + 0.21749648066174912, + 0.22292855560825142, + 0.22073833298348233, + 0.22090075055097402, + 0.22047667979442198, + 0.21980539928347054, + 0.21723558001265797, + 0.22232823625252518, + 0.21975150683308048, + 0.21746120374045969, + 0.22175025906334048, + 0.21982633396527454, + 0.21706330822353517, + 0.22145815844724484, + 0.21672128069439522, + 0.2228962847769306, + 0.21486377939354023, + 0.21684512394318067, + 0.22388138232997615, + 0.21727611454038537, + 0.2196402129395338, + 0.21885548267991992, + 0.21754790878988553, + 0.22049065224188366, + 0.21625114470970921, + 0.21763918141546781, + 0.21687408706418235, + 0.2183121644239588, + 0.2209584628707453, + 0.21785215123211937, + 0.21652187188284114, + 0.21361688806729487, + 0.21623468954993316, + 0.2148036600919355, + 0.22023054371539516, + 0.21976197246370968, + 0.21432845862098152, + 0.21538916722350165, + 0.21498074426404015, + 0.21654083971389845, + 0.21566807191579715, + 0.2151553203816033, + 0.21495809453889864, + 0.2132155409037201, + 0.21644726399879116, + 0.21543480968245216, + 0.21317226391154645, + 0.217730474293756, + 0.21751586197154876, + 0.21284872025183035, + 0.21590927736520402, + 0.21582447688753179, + 0.21582914259148026, + 0.21534727264013404, + 0.21266534283404048, + 0.21189869785914908, + 0.21547482217966782, + 0.21419232219047502, + 0.2127513765793191, + 0.2197756987287227, + 0.21965913485382493, + 0.213870853897674, + 0.21299620548587875, + 0.21850420732837206, + 0.21621375195169396, + 0.21413422986830866, + 0.21364145219861458, + 0.21498766908029077, + 0.21644106347523973, + 0.213739124710589, + 0.2116582876396015, + 0.21290690122622233, + 0.20897434707674048, + 0.21321629606677214, + 0.21715436219337428, + 0.21450882041912286, + 0.21421537219635026, + 0.2137939619236492, + 0.21422276882859181, + 0.2146120658742452, + 0.21093610072343266, + 0.20935816585231537, + 0.21081338312180672, + 0.20707619523156764, + 0.21686499840109993, + 0.21110989938601168, + 0.20449932394349885, + 0.21042168293068533, + 0.2105903316585387, + 0.2097793153632398, + 0.21064259872034147, + 0.2096042873833431, + 0.21362953413198119, + 0.21210213014656615, + 0.21276064688448057, + 0.20913143462817604, + 0.20791710703847333, + 0.2082700178693604, + 0.2133807775362278, + 0.21122874313572404, + 0.2177933152531493, + 0.21472445493478567, + 0.2105308785786801, + 0.20944991737137056, + 0.20823581471743022, + 0.20954567567653248, + 0.21321676122394906, + 0.21151417391289265, + 0.2110948703943863, + 0.20907007233561545, + 0.21050373030490377, + 0.2077561717862064, + 0.210120309266726, + 0.20545038528774584, + 0.21337437050684785, + 0.20801606825310795, + 0.2104885338845489, + 0.20942539199389268, + 0.21037157605592993, + 0.21039484287199167, + 0.20403205156497178, + 0.21059788698586848, + 0.21343263480470542, + 0.20835036167800883, + 0.20673930390655357, + 0.21100772207813617, + 0.20324404407805258, + 0.20888167933563756, + 0.21182266543320286, + 0.20898854967480132, + 0.20590398040534616, + 0.21012896691258165, + 0.20927309756101728, + 0.20999899318025927, + 0.20870673352003735, + 0.2069089056736012, + 0.2082852667926694, + 0.20649124257870316, + 0.2067847866137777, + 0.20898780280536194, + 0.21081576001935778, + 0.20899680273932056, + 0.21417567668773166, + 0.2071804287829166, + 0.2050261820526936, + 0.20958927498463917, + 0.20633629783532306, + 0.2087049338858381, + 0.21042175896021478, + 0.20675450477418733, + 0.20656056367202635, + 0.20607222211105744, + 0.20529659477771695, + 0.2026506020041006, + 0.20273007773466706, + 0.20778704860421404, + 0.20888076112847717, + 0.20710343004571735, + 0.2060154061707517, + 0.2071747387352112, + 0.20075208290454444, + 0.20456159700403156, + 0.20883651379074344, + 0.20871633213491889, + 0.20507512059751956, + 0.20569025430065047, + 0.20848975361065672, + 0.20642856140806132, + 0.20886722046152806, + 0.20870551940862556, + 0.2069474897327454, + 0.20860976443856682, + 0.20753491089169493, + 0.20661614582352683, + 0.20927077119697216, + 0.20788464119618, + 0.20471919853445314, + 0.20703346060378197, + 0.20543605278157814, + 0.2007324795953542, + 0.20051480575809283, + 0.20498028451388856, + 0.20437986483734774, + 0.20444091686847923, + 0.2028242186002365, + 0.20697595835848503, + 0.20625877947708882, + 0.20180884434838725, + 0.20318207140465122, + 0.20377977633854483, + 0.19951322468692603, + 0.20209812525580054, + 0.2020786943779945, + 0.20469598469127892, + 0.203478671983454, + 0.20702562546385994, + 0.20472939223028286, + 0.20231619475990398, + 0.20164484921586487, + 0.20198287462547923, + 0.20164216661381476, + 0.20312388166528914, + 0.20557364320456525, + 0.19950765095913173, + 0.20323027518580722, + 0.2059015869348102, + 0.20350014233807906, + 0.1996415271381036, + 0.20383999349025367, + 0.204889379998538, + 0.19531290494019468, + 0.20100684144423095, + 0.1999157007273845, + 0.20379526735730583, + 0.2062269469113616, + 0.2010225840710354, + 0.20279783243740643, + 0.1994587051844515, + 0.20139411952494662, + 0.20437742180165347, + 0.2000839020230947, + 0.20549775910669146, + 0.2030281778168651, + 0.19938648847395993, + 0.19907085772244892, + 0.20419467351077528, + 0.20206160158123992, + 0.19797117148016205, + 0.20587768734914083, + 0.1985720223476626, + 0.20387470031823587, + 0.20375247159830384, + 0.199755616782273, + 0.19759804615181292, + 0.19788594267954793, + 0.2008559033844267, + 0.20385692293957924, + 0.19852218480171233, + 0.2013363160979037, + 0.20154645110819408, + 0.1980055872413589, + 0.20384922058859822, + 0.1954337848572556, + 0.19985630337023588, + 0.1971538792426957, + 0.1974554117484195, + 0.2004703909802373, + 0.2058054606689408, + 0.2012605204372254, + 0.19856753832139418, + 0.1993470779585934, + 0.20756983343477642, + 0.20327197568098065, + 0.1973691042712021, + 0.1989593489596831, + 0.2011595570114911, + 0.19874420068696688, + 0.20142600720389447, + 0.1980223959306147, + 0.20031232443219477, + 0.19779473256934946, + 0.20076614212165003, + 0.1985356078856263, + 0.1967526261398529, + 0.19709597118569122, + 0.1985725693316384, + 0.20209191160544251, + 0.19783028992411283, + 0.2025070592066108, + 0.19384940797804828, + 0.1986923967872601, + 0.19912750076570915, + 0.19504253874712307, + 0.19739156689164472, + 0.1983932696043625, + 0.1970585700614372, + 0.19579647716550608, + 0.19487131187914436, + 0.19797731413070216, + 0.1960587477075101, + 0.1964578097558008, + 0.19903612201065052, + 0.19453923643597998, + 0.19908801861682662, + 0.19247950948433046, + 0.19803697055359498, + 0.19770136096198623, + 0.19589499833164822, + 0.19642114233715455, + 0.19692540029206224, + 0.20445566934274242, + 0.19553200001700208, + 0.19444257406010904, + 0.19384527810214128, + 0.1959589297686695, + 0.19506335529051608, + 0.19673257332796443, + 0.1928741153477711, + 0.19548703967636333, + 0.19837821773410025, + 0.19330294124087152, + 0.19693960741999636, + 0.19157450160421774, + 0.19957546871269424, + 0.19899608214622197, + 0.19446902675126945, + 0.19169748909856885, + 0.19395960785949815, + 0.19361387495099586, + 0.19592253009529517, + 0.19628519042244108, + 0.1980207750078188, + 0.1951566658862824, + 0.19504855018940723, + 0.1949033061176288, + 0.1903819280722113, + 0.19648911152604615, + 0.19557351682232607, + 0.19901574031800168, + 0.19824085994666324, + 0.19115213395611863, + 0.19723350752646315, + 0.1963109469941222, + 0.19434006609854257, + 0.19562428297662954, + 0.1923074255062307, + 0.1912008382291718, + 0.19583004131053064, + 0.19993284696126384, + 0.19642472922494378, + 0.188806546305161, + 0.19510416347898019, + 0.19496493302684403, + 0.19527418699559815, + 0.1957664969946836, + 0.19538464770860264, + 0.19671677546547184, + 0.19406954347603136, + 0.19414184557911954, + 0.1936001139436635, + 0.1941577495312153, + 0.19447974219849898, + 0.19129089627768103, + 0.19235238642645403, + 0.19404327970664573, + 0.19118839916730418, + 0.1951918325156247, + 0.19204698351214694, + 0.19195785418733818, + 0.19055906636782832, + 0.1919776665670541, + 0.19248088538099867, + 0.19172939774081885, + 0.19149601918898682, + 0.1934674543425418, + 0.19415713211703783, + 0.19098681481612065, + 0.19730322015406251, + 0.19203130830227416, + 0.19015319317590662, + 0.19340863659841204, + 0.19466094034424888, + 0.19464518458636573, + 0.18823224013039005, + 0.19635378602829504, + 0.19626135553236174, + 0.19057655707713705, + 0.19000920570179228, + 0.19548772857168445, + 0.1955084426824106, + 0.19332983061551637, + 0.19367907164669637, + 0.18985209377362913, + 0.19228710433673285, + 0.19469248550724727, + 0.19240940959172875, + 0.19010573061929292, + 0.19663691552589427, + 0.19161827429354372, + 0.19238147065926356, + 0.19410935808001628, + 0.19115224143700954, + 0.19352236535365974, + 0.18797211999369826, + 0.18580134203144855, + 0.18722498061460094, + 0.1928025843997113, + 0.18941313706463722, + 0.19169928289277746, + 0.1909339191001877, + 0.18964176771262325, + 0.18970005554560038, + 0.18457450266551534, + 0.19234987330944806, + 0.1910087949829888, + 0.19014643710847112, + 0.19183483294464806, + 0.19123157691808607, + 0.18872569252477692, + 0.18776857674076286, + 0.19109837026178655, + 0.18964434849576803, + 0.18998350116170784, + 0.18590617004998417, + 0.19186452066451767, + 0.19429219968400507, + 0.18871193659699748, + 0.1888305461888603, + 0.19587882851401417, + 0.18884703680724818, + 0.1852087494846012, + 0.18963220895948715, + 0.1862905126318495, + 0.18391817029058613 + ], + "val_loss": [ + 0.9477667272090912, + 0.9440768783912062, + 0.9342383010312915, + 0.9296164521947503, + 0.9283623844385147, + 0.9274781228974461, + 0.924304964300245, + 0.9248235633596777, + 0.9029079323634506, + 0.9036517446860671, + 0.8928868966177106, + 0.8887544173747302, + 0.885147918900475, + 0.8732678056694567, + 0.8736651081591844, + 0.8623302900232375, + 0.8452002141624689, + 0.848892371635884, + 0.8546491622924804, + 0.9084527041763067, + 0.9812662411481142, + 1.005642917379737, + 0.9343806745484471, + 0.8947913259267807, + 0.8882493344135582, + 0.8937948323786259, + 0.8820364123210311, + 0.8909800698515028, + 0.8420208551455289, + 0.9348409011028707, + 0.9088470151182264, + 0.8644942521117628, + 0.8528331296518445, + 0.8833574759308249, + 0.8486317702569067, + 0.8989124287851155, + 0.8508983854204416, + 0.8549142862204462, + 0.9712261333595962, + 0.8782556097488851, + 0.9095068165101111, + 0.997210082411766, + 0.9565876451320946, + 0.932439845148474, + 0.8442393338307739, + 0.8481071303598583, + 0.8432172398082912, + 0.894034606218338, + 0.8850094920024276, + 0.8404659389518201, + 0.8780656740069389, + 0.8602600808255374, + 0.9339205285999924, + 0.8243962639011443, + 0.8496035980060697, + 0.7979315910954028, + 0.8010732424911111, + 0.8180975008988753, + 0.9179177911719307, + 0.8076139017473907, + 0.8123391799395904, + 0.8020455682883039, + 0.8475581127684564, + 0.8568093637935817, + 0.8253547354601324, + 0.7887420746032149, + 0.7952932639978826, + 0.8428876048885285, + 0.7931164664216339, + 0.8098918040748686, + 0.7965802626451477, + 0.8318117106333375, + 0.7999608323443681, + 0.8065070066135377, + 0.7699859040789306, + 0.7648369910661131, + 0.8404528351500631, + 0.7790986771695316, + 0.7910438717342914, + 0.7747427168302238, + 0.7793839960359037, + 0.7776212946046144, + 0.7802952428814024, + 0.7744719297625124, + 0.7806674293242395, + 0.8964218406006694, + 0.8450811319053173, + 0.7762833557091653, + 0.9987784832715988, + 0.8363700300455094, + 0.7985122974961996, + 0.8358245028182865, + 0.7874427121132612, + 0.8014904571231455, + 0.7770800858736038, + 0.7960690571926534, + 0.7776113219559193, + 0.8088957745581865, + 0.7973153879866004, + 0.8453785080462695, + 0.9418268028646708, + 0.7994128544814885, + 0.8028664755634963, + 0.8237435692921281, + 0.817193016409874, + 0.845853875298053, + 0.8204230007715523, + 0.8611170863732696, + 0.8378984957933426, + 0.8006515992805362, + 0.8565483523532749, + 0.8625043623149395, + 0.8551606129854917, + 0.8262980243191123, + 0.8145460117608309, + 0.8874875321984291, + 0.7964680186472833, + 0.8376710258424283, + 0.870243033580482, + 0.8639204799663276, + 0.9012292774394155, + 0.8316902062855661, + 0.8830520646646619, + 0.8068296324461699, + 0.8690480063669384, + 0.8172039441764355, + 0.8225758379790932, + 0.7588793630246073, + 0.8073577448725701, + 0.8125420657917857, + 0.7773868193617091, + 0.8075343485921621, + 0.8303525011520833, + 0.7613144495990127, + 0.8012126494664699, + 0.7518254069145769, + 0.7676568320952356, + 0.7641324192751199, + 0.7652319831075147, + 0.7459111875388771, + 0.7501316351350397, + 0.7489011226221919, + 0.7636403553187847, + 0.7420497286133468, + 0.7273436473216861, + 0.7522719388827681, + 0.7473861310631037, + 0.7369742153212429, + 0.7441068037413061, + 0.7362373802810908, + 0.7993222687859088, + 0.7979777038097382, + 0.7367289166897535, + 0.7264178107958287, + 0.7322063390165567, + 0.753888252004981, + 0.726911395508796, + 0.7474681699182838, + 0.8149493378121406, + 0.7522020875941962, + 0.7214403788559138, + 0.7162708500400186, + 0.7840401924215257, + 0.7708667646162212, + 0.7654325244016945, + 0.7602785998489707, + 0.7648165349848568, + 0.7527713282033801, + 0.7448857374023646, + 0.7597344223409891, + 0.7332452203147113, + 0.7521661583799869, + 0.7142708459869027, + 0.7508176720235497, + 0.7428586744237691, + 0.7359657882712781, + 0.701881017209962, + 0.7606876839417964, + 0.7359504754189402, + 0.7612209476530551, + 0.7604435638058931, + 0.7121346558444202, + 0.701830714661628, + 0.6848413477651775, + 0.6884110876359045, + 0.7109244551043957, + 0.7329064442310482, + 0.7380574424751103, + 0.782118057180196, + 0.7823009071871638, + 0.7454745646100491, + 0.7651684053707868, + 0.7149523894302547, + 0.7032593090087176, + 0.6692777329590172, + 0.6820346353575587, + 0.7011568459682167, + 0.7045629416592419, + 0.6565309070982039, + 0.6774181661196053, + 0.6770143443718553, + 0.69404327259399, + 0.699914127541706, + 0.7049530351534485, + 0.6799386333674192, + 0.6777596686966717, + 0.6472704178653658, + 0.6623166303616017, + 0.6682626778259874, + 0.6655571920797229, + 0.7331434364430607, + 0.6770023350603879, + 0.6586339779198169, + 0.6698276857379823, + 0.6853113676421344, + 0.74050547266379, + 0.6693408370018006, + 0.7104870157316328, + 0.665063868323341, + 0.7646217811852694, + 0.7399494125507772, + 0.6531136361882091, + 0.6384590562898665, + 0.7285620033275336, + 0.6462352205067873, + 0.6310992196202279, + 0.6618624079506844, + 0.7213525609113276, + 0.6589006954338401, + 0.6556947238277644, + 0.6821357280015945, + 0.673430347116664, + 0.6708420895040035, + 0.6431400027126074, + 0.6560444610659033, + 0.6892964885570109, + 0.6777396972291172, + 0.6338861347176135, + 0.6754531931132078, + 0.6335410061758011, + 0.621557020675391, + 0.6433045407291502, + 0.6318206624593585, + 0.6444080119486898, + 0.7017487161792815, + 0.6314381295349449, + 0.6168408285826444, + 0.6363093466032297, + 0.6212238053791225, + 0.7179321032017469, + 0.6461689254269004, + 0.633302355138585, + 0.6780364420264959, + 0.6886816482525319, + 0.6296750456560403, + 0.6275537142995745, + 0.6715710055548698, + 0.644015986751765, + 0.6205069970805198, + 0.6455381394363939, + 0.757799190049991, + 0.6504153251182287, + 0.6114715457195417, + 0.628428363869898, + 0.647126826737076, + 0.6242424795404077, + 0.7132992343045771, + 0.6144142871722579, + 0.5974072879180312, + 0.6281408534850925, + 0.6849019879475235, + 0.632977077877149, + 0.6661224707961082, + 0.6085073706693948, + 0.6140125942416489, + 0.6344657708425074, + 0.6187268810812384, + 0.6502798661822453, + 0.6234098467044532, + 0.635240955883637, + 0.6219862665049731, + 0.6295656103640794, + 0.5921950328629464, + 0.5992894833907485, + 0.697180468775332, + 0.5923278576694428, + 0.6122412296477705, + 0.5798350338824093, + 0.5977891688700765, + 0.623380948510021, + 0.6125303816981613, + 0.5943569412687794, + 0.6264105717651546, + 0.6744697549380362, + 0.5867701372131705, + 0.5846958445385099, + 0.5940698910970241, + 0.6154269132763147, + 0.5806464760098606, + 0.6085198622662574, + 0.5903180092805996, + 0.5763750163372606, + 0.57154401242733, + 0.5732672767713666, + 0.5860645355656743, + 0.578252005437389, + 0.5933593980967998, + 0.5731290325056762, + 0.5856766704935581, + 0.6101624255068601, + 0.5725337992887944, + 0.5822986296843737, + 0.6128443909808994, + 0.5892573924502358, + 0.5717708878219128, + 0.6186799444258213, + 0.5764302960364148, + 0.581313616456464, + 0.6154724823776633, + 0.5740892821224406, + 0.5660382261965424, + 0.6075344140408561, + 0.5786417565774172, + 0.5743114602053538, + 0.5819616211112588, + 0.5695282183820382, + 0.5784921684768051, + 0.5933933501131833, + 0.5918371004518121, + 0.5675418643280864, + 0.5881322676315903, + 0.5690855640685186, + 0.6012563379015774, + 0.5658668789779767, + 0.590038737328723, + 0.5898609259631484, + 0.5822349497582764, + 0.5899369607213885, + 0.5721521138213574, + 0.590735548781231, + 0.5653176767751574, + 0.584867603238672, + 0.5681536890100688, + 0.5741170433349907, + 0.5948743101675064, + 0.632740076072514, + 0.5761773091508076, + 0.573807583982125, + 0.5727268628310412, + 0.5954894660506398, + 0.5750063695013523, + 0.5784465000033379, + 0.6586678981781006, + 0.5890630973968655, + 0.5832671315874904, + 0.5700612471438944, + 0.5740013788919895, + 0.6016196039970965, + 0.5743425368797034, + 0.5629947181791067, + 0.5801114744972438, + 0.5634498440660536, + 0.5871902578044683, + 0.5677821706980467, + 0.56318449084647, + 0.5872260281350463, + 0.5898238302674145, + 0.568140090117231, + 0.5708759426139295, + 0.557196784298867, + 0.5736583681311458, + 0.557944034319371, + 0.571869572205469, + 0.6320309349801392, + 0.5552620124071836, + 0.5527419364312663, + 0.5583375149406493, + 0.563834001403302, + 0.558516522240825, + 0.5552193387411535, + 0.5837089272215963, + 0.5760627923766151, + 0.5653683505486697, + 0.6085363965248689, + 0.5500182476826012, + 0.5488835817202926, + 0.5516682690475136, + 0.5603079924825579, + 0.5522583036683499, + 0.5685810502851382, + 0.5621484300354496, + 0.5586433224612847, + 0.5558202885789797, + 0.551442214823328, + 0.5612840805668384, + 0.5599872516700998, + 0.5648228098638356, + 0.6027359067928046, + 0.5541744794696569, + 0.5500449486309662, + 0.5588464590720832, + 0.5688950282055885, + 0.5543662648648023, + 0.5664567974861712, + 0.5844401116482913, + 0.5505945010110735, + 0.5446364488918334, + 0.57493176960852, + 0.5474544984754175, + 0.5625666972482577, + 0.5533839880721644, + 0.5485247388016432, + 0.5401915018912404, + 0.547007609042339, + 0.5556722473818809, + 0.5537378620821982, + 0.5737838918343187, + 0.5479724957142025, + 0.5666551207657904, + 0.5425911205820739, + 0.5558827021392062, + 0.565857196925208, + 0.565065563027747, + 0.5598284920910374, + 0.5482942378148437, + 0.5690111686009913, + 0.5701205073157325, + 0.5483723850455136, + 0.5582319499924779, + 0.5481041841907427, + 0.5619504649192095, + 0.5557452131994068, + 0.5436416330281645, + 0.5469265176914633, + 0.5474047963507473, + 0.5450606340309605, + 0.5610946633387357, + 0.5577244627522304, + 0.5479990803636611, + 0.5466420980868861, + 0.5421645293710753, + 0.5613898898009211, + 0.5815075330203399, + 0.5452107412042096, + 0.5418280793819577, + 0.5334492771420628, + 0.5844660852570087, + 0.5670474073383958, + 0.5307307554408908, + 0.5534709763014689, + 0.5694878280395642, + 0.5659415172412992, + 0.5703584741568193, + 0.5390934074064717, + 0.5530945924110711, + 0.568986579682678, + 0.5676475798012689, + 0.5764618390705436, + 0.5472970648901537, + 0.5606216447893531, + 0.5520231408299878, + 0.5583691735053435, + 0.5732513022143394, + 0.5535660167923198, + 0.5529140656813979, + 0.56793067548424, + 0.5684952042531222, + 0.5468308613169939, + 0.5608317559584975, + 0.5551987423095852, + 0.5357740629464388, + 0.5353898098925128, + 0.5600399136077613, + 0.5468680848367512, + 0.537592380377464, + 0.5582350689219311, + 0.5763558444101363, + 0.5502246043412015, + 0.5535039687762037, + 0.5485102285631, + 0.5404973334632814, + 0.5377193554770201, + 0.5512580880429596, + 0.5426306989276781, + 0.5498345324071124, + 0.5621593589894474, + 0.5377205458236858, + 0.5601326185045764, + 0.5725544796790928, + 0.5508936047088355, + 0.5880690441001206, + 0.5489455472910777, + 0.5877371519105509, + 0.5520741566549987, + 0.5836138177663088, + 0.5482736182631924, + 0.5763898183358833, + 0.5317518368829042, + 0.5376870290841907, + 0.5483268920797855, + 0.5345886741997674, + 0.5307113234652207, + 0.523600313346833, + 0.5326756924157963, + 0.5541573124704883, + 0.5332733953604475, + 0.5326001297216862, + 0.5407093678833916, + 0.5227912788977847, + 0.549942912789993, + 0.5460249518975615, + 0.5286881751846522, + 0.543493278324604, + 0.5348071932792664, + 0.5253764796536415, + 0.544633864890784, + 0.5407428739592433, + 0.5287602452212014, + 0.5322927795117721, + 0.5343170417007059, + 0.5322422347031533, + 0.5403680773917585, + 0.5233079107245431, + 0.5302921864902601, + 0.5367618807358667, + 0.549587173317559, + 0.523711818526499, + 0.5537712841061875, + 0.5327508544782177, + 0.5294285634765401, + 0.5233477099100128, + 0.5395216658012941, + 0.5393901362083853, + 0.5339876942802221, + 0.5444374080048874, + 0.528733623959124, + 0.5459180583478883, + 0.5289633804699406, + 0.5302875840105117, + 0.5763844290515407, + 0.5287867532926611, + 0.5327310026623309, + 0.5223055246751755, + 0.5244474288076162, + 0.5245341672096402, + 0.5292421340942383, + 0.5287726183887571, + 0.5410109455231578, + 0.5182102209422738, + 0.570617619191762, + 0.5213509053457528, + 0.5261066106380895, + 0.5347511096275411, + 0.5633657889440655, + 0.5236586269456893, + 0.5215680707711726, + 0.5432643239852041, + 0.5158095414983108, + 0.5391773896990344, + 0.5200134243816137, + 0.5313286203192547, + 0.5309982381062582, + 0.5520562908845023, + 0.5218105340376497, + 0.5260875186650082, + 0.5309653713833541, + 0.5240035162772984, + 0.5447051138151437, + 0.5340596359455958, + 0.52635036513675, + 0.538385991146788, + 0.5354057178483345, + 0.5447732276283205, + 0.5308439376298338, + 0.5150892577366903, + 0.5363410194637254, + 0.5277529581217095, + 0.5249869839753956, + 0.5273618181003258, + 0.5309347468311898, + 0.5198988761869259, + 0.5284049545181915, + 0.5379289321019314, + 0.5330788845429197, + 0.5246458872687072, + 0.5400439988821745, + 0.560505541227758, + 0.5230979801854119, + 0.5284056724049151, + 0.5252649282221682, + 0.525726180919446, + 0.5258105000131763, + 0.5289951873593963, + 0.5593327124253846, + 0.5236494237324223, + 0.5242036337032914, + 0.5282005765591749, + 0.5241631343844346, + 0.5265784719376825, + 0.5343163526500575, + 0.5202570589957759, + 0.5305538113694638, + 0.5265394832473248, + 0.5463747646193952, + 0.5363468826864846, + 0.5151299824006855, + 0.5364681002334691, + 0.5475949136074633, + 0.5223694648477248, + 0.5239073912380263, + 0.5237413335125893, + 0.5350923724123277, + 0.5270700164837763, + 0.5271122393431142, + 0.5231860600877554, + 0.5209952996927314, + 0.5411364341154694, + 0.5231314040487632, + 0.5388919182354585, + 0.5271063783438876, + 0.5311287120217457, + 0.52848670684034, + 0.5275482495781034, + 0.5380493148928508, + 0.5385567212942988, + 0.5365772719494999, + 0.5205686216591857, + 0.5249742049956694, + 0.535524617950432, + 0.5304117550142109, + 0.546529889293015, + 0.5387292007682845, + 0.5276346001308412, + 0.5279629066004418, + 0.5479752242332324, + 0.5191932243178599, + 0.529987420514226, + 0.5206759807420894, + 0.5249806001200341, + 0.5296048284275457, + 0.5300867410842329, + 0.5279711847193539, + 0.5179132509045303, + 0.5378717480693013, + 0.5289413319667802, + 0.5237925519817509, + 0.5296863944269716, + 0.5347955280449241, + 0.5316823670524172, + 0.5324226901633665, + 0.538255164003931, + 0.5304923329968005, + 0.5367467579781078, + 0.5307480594841764, + 0.5114697991404682, + 0.5319894891232252, + 0.520782726816833, + 0.5280872464645654, + 0.5278474830440245, + 0.5230531828012317, + 0.5279337462736293, + 0.5260015823412687, + 0.5361175964470022, + 0.5153714675223455, + 0.5376595853362233, + 0.5301645616535098, + 0.5165921814972535, + 0.5289022949058563, + 0.527688371646218, + 0.5260031501762569, + 0.5278729253332131, + 0.5262936832732521, + 0.5278045896906406, + 0.5239484006189741, + 0.5283585195895284, + 0.5297094766050577, + 0.5306052468018606, + 0.528157530608587, + 0.5317840076982975, + 0.5190780275734141, + 0.5279825456673279, + 0.539663415378891, + 0.548066938854754, + 0.5218935169745237, + 0.5364339828491211, + 0.5333498001797125, + 0.5327773308847099, + 0.5338933830265887, + 0.5296493054367601, + 0.535627248021774, + 0.5324932011426426, + 0.5296920356922783, + 0.529634938784875, + 0.5308907488826662, + 0.5275077523430809, + 0.5371185863157735, + 0.5306159593164921, + 0.52719990410842, + 0.5262204176513479, + 0.5349247458623723, + 0.525340146315284, + 0.5269330099225045, + 0.5292671384289861, + 0.5287595116416923, + 0.5359054800122977, + 0.5305075988988392, + 0.5192168791312725, + 0.5397409714758397, + 0.5300241825752892, + 0.5347284278948792, + 0.5305301117710769, + 0.5216071610804647, + 0.5289839339675382, + 0.547903347061947, + 0.5230624349555001, + 0.5263941866578534, + 0.5351132592419162, + 0.5325371317798272, + 0.5330132650677115, + 0.5238266811706126, + 0.5319672067766078, + 0.530392000474967, + 0.5354554758640007, + 0.5225604343926534, + 0.5301800947985612, + 0.523438583232928, + 0.5376524596009403, + 0.5206260543083772, + 0.5400637362734415, + 0.5286877653561532, + 0.5345163784455508, + 0.527759648009669, + 0.5383834755746648, + 0.5366548990365118, + 0.5279274394968525, + 0.5304116701474413, + 0.5279374814708717, + 0.5273842746508308, + 0.5245499097276479, + 0.5248954927199521, + 0.5284185916418209, + 0.5237771280226298, + 0.5227782810223289, + 0.5224760538898409, + 0.523910101945512, + 0.5246436518151313, + 0.5273671566741541, + 0.5288518203189596, + 0.5330273724975996, + 0.5326907862443477, + 0.5359817065997049, + 0.5379045093664899, + 0.5278105661040172, + 0.5415011318866163, + 0.5349459685618058, + 0.5278231065138244, + 0.5304043306736276, + 0.5311836346285418, + 0.5376942691509612, + 0.5245918832253664, + 0.5199801975628361, + 0.5250981441000476, + 0.5422491986653768, + 0.5218095737043769, + 0.5312153728213161, + 0.5260658961371518, + 0.5261149508529342, + 0.5268917343229986, + 0.5323091001599096, + 0.5145567796193063, + 0.5454476705053821, + 0.5289558664662763, + 0.5227164115291089, + 0.5323202373459935, + 0.5324731534346938, + 0.5241445980151184, + 0.541225778509397, + 0.5424023699946702, + 0.5285665823495946, + 0.5177519965334796, + 0.5328389362897724, + 0.5204585445579142, + 0.5335976924747229, + 0.5296172958333045, + 0.5355495030991733, + 0.5249091369099915, + 0.532382216048427, + 0.5296112510957756, + 0.5301730113802477, + 0.5347061730339192, + 0.5355062803486362, + 0.5293062823708169, + 0.5179276859620586, + 0.5229728336562403, + 0.531616656621918, + 0.5368258824106306, + 0.5311315380036831, + 0.5468611426185817, + 0.5294963552849368, + 0.5219888433464803, + 0.5293708436423913, + 0.5215642699738965, + 0.5199351733550429, + 0.541939202719368, + 0.5335571635630914, + 0.523988709016703, + 0.5281561502953991, + 0.5427295674802736, + 0.5214028024114669, + 0.528438153816387, + 0.5412287803832442, + 0.5446497047552838, + 0.5230741850566119, + 0.5324893031502143, + 0.5309824811294674, + 0.523703426355496, + 0.5272410449921153, + 0.5270408387295902, + 0.5339438476832583, + 0.5360024087829516, + 0.5366434135008603, + 0.5335472046164795, + 0.5252393948612735, + 0.5344098390312866, + 0.542239561653696, + 0.5306310864398256, + 0.5288755176356063, + 0.5277277814806439, + 0.5290916581521742, + 0.5253483449458145, + 0.52457624116214, + 0.5284868757473304, + 0.5301872791489586, + 0.5178480174392461, + 0.5319513745722361, + 0.5389846587204374, + 0.5440320831199642, + 0.5234146996284835, + 0.5231335291522555, + 0.5287925882148556, + 0.5287644668715075, + 0.5271041461732239, + 0.5294853502768092, + 0.5276260706130416, + 0.5310057728318498, + 0.5268111116834916, + 0.5374526000465266, + 0.5381215183646418, + 0.5384272502735257, + 0.5229886876186356, + 0.5271175546338782, + 0.5273344255750999, + 0.531481259613065, + 0.5251125806476921, + 0.5230126562528312, + 0.53458789922297, + 0.5243898069951684, + 0.5379036915372126, + 0.5331910057924688, + 0.5371748600737192, + 0.5299905036576092, + 0.5361229203641414, + 0.5339570523239672, + 0.5248824016307481, + 0.5261241931351833, + 0.5306220104917884, + 0.5308385982178152, + 0.5231724894605577, + 0.5303886095527559, + 0.5228349829791114, + 0.5381263378774748, + 0.5301965245744213, + 0.5408599004498683, + 0.5275575813488104, + 0.5294887732597999, + 0.5160954510094597, + 0.524194907466881, + 0.5263905452331528, + 0.5336117688915692, + 0.5367193278856576, + 0.5399371300591156, + 0.5449272307567299, + 0.5350678862188942, + 0.5239953630894888, + 0.524738384783268, + 0.5309774211840704, + 0.52646938333055, + 0.5219734466634691, + 0.5264263405115344, + 0.527230320603121, + 0.5314909271954094, + 0.5346248740213924, + 0.5176763239549473, + 0.5356169259524904, + 0.5109757887665183, + 0.5284624188789167, + 0.5265982512501068, + 0.5312237320118584, + 0.5182313286350109, + 0.5320889120688662, + 0.5232940121321008, + 0.5240187557879835, + 0.5189292879425921, + 0.5255786595167592, + 0.5209777741925791, + 0.5235689510824159, + 0.5195023654960096, + 0.5220769437844865, + 0.5193843242828734, + 0.5249868872459047, + 0.5337245607632213, + 0.5214786013704724, + 0.518909174692817, + 0.5299215769395232, + 0.5143140110420064, + 0.5136234955163672, + 0.516079792752862, + 0.5129792328341864, + 0.5250454117893242, + 0.5333361894125119, + 0.540535794373136, + 0.525269621174084, + 0.5326581587316468, + 0.5196670107194222, + 0.5264498468954116, + 0.5408915392588824, + 0.5298734889598563, + 0.5200098435510881, + 0.5225608524400741, + 0.5233223179879133, + 0.5172222918947227, + 0.5232206988381222, + 0.5207373609999195, + 0.5223850733367726, + 0.5196560568874702, + 0.5230333664105273, + 0.5217421790584922, + 0.5246447788085788, + 0.521701150177978, + 0.5134914567228407, + 0.529644991690293, + 0.5228684177040123, + 0.526750906027155, + 0.5429969408665783, + 0.5274431794765405, + 0.5203671810217202, + 0.526465513400035, + 0.5167548381839879, + 0.5256110498332418, + 0.5155253655510024, + 0.5285217312048189, + 0.5095260495611, + 0.5177622341434471, + 0.5079417689761613, + 0.5210675511974842, + 0.5358054855954834, + 0.5191507448791526, + 0.5202343560056761, + 0.5191286206129007, + 0.5257818413549102, + 0.5179258779855445, + 0.5247790556633845, + 0.524669385002926, + 0.5225181645597331, + 0.5143232280970551, + 0.5091065009357407, + 0.5222645262605511, + 0.5226240524672903, + 0.5149901908123866, + 0.522357391321566, + 0.5242698792368173, + 0.5245314136613161, + 0.5131157217605505, + 0.5204645674908533, + 0.5146782732219435, + 0.5134488020208664, + 0.5254579939413816, + 0.520757986442186, + 0.5234767580870539, + 0.5153312858659774, + 0.5348640224197879, + 0.5202380570117384, + 0.5161380282603204, + 0.5227786293486133, + 0.5088804800994694, + 0.5248424713383428, + 0.5207256669760681, + 0.5285123772802762, + 0.5290342242107726, + 0.5207367475493812, + 0.5144043169799261, + 0.5213538140407763, + 0.5282324830419384, + 0.5108594932069537, + 0.5256900922628119, + 0.5187195658683776, + 0.5196329585975036, + 0.5172073494759388, + 0.5125463957432658, + 0.5186749991262332, + 0.5184001215035096, + 0.5170083523204084, + 0.509044758946402, + 0.5216748539824039, + 0.5104200455069077, + 0.5244343195692636, + 0.5158820067706984, + 0.5228089507203549, + 0.5247380109154619, + 0.5292113044532016, + 0.5179383867769503, + 0.5247461654187646, + 0.522139435634017, + 0.5181056548724883, + 0.5102215649094433, + 0.5239444854436442, + 0.5259964963886887, + 0.517735283402726, + 0.516210789163597, + 0.517572862614179, + 0.5143223234568722, + 0.5138988908962346, + 0.5183436312130653, + 0.5235044403700158, + 0.5122972985147498, + 0.5200170953816269, + 0.5178324153879658, + 0.5167746270191855, + 0.5173475228366442, + 0.512083042570157, + 0.5173113366472535, + 0.5279370517702773, + 0.5270592916756869, + 0.5226443304854911, + 0.5259952663327567, + 0.5191053860122338, + 0.5091891795222182, + 0.5201457166695036, + 0.5154177576594521, + 0.5175289370235987, + 0.515971486736089, + 0.5162952191545628, + 0.5248601959319785, + 0.5147566841857042, + 0.5267540277563967, + 0.5111630682426039, + 0.5188917279243469, + 0.5257085592136719, + 0.5124254585942254, + 0.527279703860404, + 0.524125776218716, + 0.5166370343300514, + 0.5202690151985735, + 0.5084845450590365, + 0.5196280044037849, + 0.5200526673463173, + 0.5146298746345565, + 0.534859155351296, + 0.5054544397396967, + 0.516204606165411, + 0.5261548694979865, + 0.5236430223914794, + 0.5146578531130217, + 0.5089976030169054, + 0.5165083891828545, + 0.5333922510966659, + 0.5243581401242409, + 0.5252419687109068, + 0.5144233408151194, + 0.5214750351267867, + 0.5251317906542681, + 0.5146422239369712, + 0.5195867236703634, + 0.5246496353298425, + 0.5105284919147379, + 0.514291580778081, + 0.5307329512666911, + 0.5271871376084164, + 0.5264269236009568, + 0.5139731967705302, + 0.5169394293159713, + 0.5214779473142699, + 0.5208820936561096, + 0.5058257691329345, + 0.5203639208688401, + 0.5105859084054828, + 0.5177126220660284, + 0.5213746474531945, + 0.5103216608520598, + 0.5122534278430976, + 0.5126550134504214, + 0.5252843475551344, + 0.5130914751964155, + 0.5164219510101248, + 0.5156864513410255, + 0.5123688572784886, + 0.5083838565798942, + 0.5178068861598148, + 0.5136273003008682, + 0.5154258463531732, + 0.5201136081479489, + 0.5094832123024389, + 0.5179027912963647, + 0.5098823804175481, + 0.5120242130127736, + 0.5220493349363096, + 0.5104481575661339, + 0.5189718714449555, + 0.5231614883290604, + 0.5209143807529472, + 0.51220572781167, + 0.506526986201061, + 0.5077157374704256, + 0.5208210541750304, + 0.5217553445370868, + 0.5161161944968626, + 0.5134983491676394, + 0.5178356146090664, + 0.5252604425069876, + 0.5163823310635053, + 0.5235923109343276, + 0.5167526467412245, + 0.5120098278392107, + 0.5101827889913693, + 0.5194284945726395, + 0.5193812698824332, + 0.5172055698931217, + 0.5235747963888571, + 0.5250425376347266, + 0.5054940173111391, + 0.5193578086793422, + 0.5208787932642736, + 0.5113727886229753, + 0.5237889684853144, + 0.5123103406978771, + 0.5156975651683752, + 0.5133179390395526, + 0.5110181931173429, + 0.512787288823165, + 0.512978149560513, + 0.5133017610060051, + 0.5176070797722787, + 0.5190556703833863, + 0.5192794245202095, + 0.520484798180405, + 0.5192322341725231, + 0.5170475319668185, + 0.5085105731792282, + 0.5244095768895931, + 0.5173447855631821, + 0.5121481366106309, + 0.5133635087928269, + 0.5226315471925773, + 0.4976817591465078, + 0.5237584284914192, + 0.5104845189023763, + 0.5096015366027131, + 0.5164609273197129, + 0.5142754696542398, + 0.5275080795865505, + 0.5144807254138868, + 0.5294137990684249, + 0.5139524056692608, + 0.5117919163662009, + 0.5129323104978539, + 0.5172771596233361, + 0.5224349177442491, + 0.5201640291139483, + 0.5137408033479005, + 0.5190958868479356, + 0.5032601694343611, + 0.5110351487179287, + 0.5144404566730373, + 0.5279070656979457, + 0.5096310188644566, + 0.5122952995123342, + 0.5165073302341625, + 0.5275819719885476, + 0.5212729891529306, + 0.5232869038591161, + 0.511593970755348, + 0.5141353545244783, + 0.5199221707764081, + 0.5096775447542313, + 0.5161030667484738, + 0.5187531918520107, + 0.5175529979984276, + 0.5064566161658149, + 0.5045500731735956, + 0.5166165877017193, + 0.5140082179219462, + 0.5151529156195466, + 0.5211712421267294, + 0.5122482395265251, + 0.5096028430387378, + 0.5067610767087899, + 0.5170238345628604, + 0.516464711149456, + 0.5077388889971189, + 0.5207957473234274, + 0.5104801451787353, + 0.5226275673718191, + 0.5160377826774493, + 0.5136143757379614, + 0.5192844410834369, + 0.513525874109473, + 0.5101189719280228, + 0.511489457753487, + 0.5091916252626106, + 0.5184860362438485, + 0.5145487818052061, + 0.5186515223816969, + 0.5248051477363334, + 0.5142119475523941, + 0.5156317031010985, + 0.5180016284051817, + 0.5118261167430319, + 0.5076481486787088, + 0.5179204580606893, + 0.5100651006796397, + 0.5025089306931477, + 0.5161820990499109, + 0.511243539233692, + 0.5103595430264249, + 0.5149158569285646, + 0.5061497773043812, + 0.5206996128545143, + 0.5183484133158345, + 0.5219542734441347, + 0.5113327136379666, + 0.52356311455369, + 0.5141522124584299, + 0.5127368262968958, + 0.5165705869090743, + 0.5214871135249268, + 0.519252886401955, + 0.5079044761136174, + 0.506080899713561, + 0.515698752028402, + 0.5183050555293448, + 0.5055176997208036, + 0.5128726040711626, + 0.5195614846074023, + 0.5211378792417236, + 0.5154309799196198, + 0.5248694863636046, + 0.5264190362184309, + 0.5132144483854063, + 0.515492930286564, + 0.5193245417322032, + 0.5116088400012814, + 0.5181003871373833, + 0.5182675676653161, + 0.5183448360068723, + 0.5275572081562132, + 0.5134678922360763, + 0.5114975357428193, + 0.5207660911488347, + 0.5127217126311734, + 0.5138188514742069, + 0.5227269570343196, + 0.5123049041256309, + 0.5194487866829149, + 0.5268318563350476, + 0.5134813648299315, + 0.5251087763463147, + 0.5232881472329609, + 0.5085353356786072, + 0.5201480346207973, + 0.5184336687729229, + 0.5121115216403268, + 0.520202907139901, + 0.5143005017889664, + 0.512767412699759, + 0.5052650948578957, + 0.5201278315391391, + 0.5186539265559986, + 0.5159786360454746, + 0.5088058020803146, + 0.5192392092198134, + 0.5208920061588287, + 0.5190719519741833, + 0.5192131422576495, + 0.5233709154184908, + 0.5197993304696865, + 0.5229377073002979, + 0.520555237296503, + 0.5167324329027906, + 0.5252096222247928, + 0.5180359693884384, + 0.5150415690382942, + 0.5297825033310801, + 0.5181749647192191, + 0.5193115445785225, + 0.5026744540897198, + 0.5213039711816236, + 0.5138615213567391, + 0.5320292823889758, + 0.5211506623076275, + 0.5281238680472597, + 0.5114736388321035, + 0.521677532827016, + 0.5166952828411013, + 0.5114511052728631, + 0.5275179088697769, + 0.5237853234400973, + 0.5234890710795298, + 0.5120192263799254, + 0.5061678575002588, + 0.5180819621891715, + 0.5190205916762352, + 0.5159016254823655, + 0.5166789056733251, + 0.5137674773577601, + 0.5212269170442596, + 0.5219681296031922, + 0.5232474040240049, + 0.538512806687504, + 0.5092327689635567, + 0.5266165406676009, + 0.5230338017223403, + 0.5203058122191578, + 0.5383968858630397, + 0.5141085198731161, + 0.5191467713448219, + 0.5223055676557123, + 0.5189617413561791, + 0.5238557566481177, + 0.5097673409152776, + 0.5126281581586227, + 0.5321652864571661, + 0.5265031635412015, + 0.5169941514323, + 0.5213891733437777, + 0.5249089969554916, + 0.5236756442580373, + 0.5311740515870043, + 0.5320539983687922, + 0.5298651448450983, + 0.5147033874294721, + 0.5283373233745806, + 0.5194869188941084, + 0.5229232883430086, + 0.5111419614870101, + 0.515633288922254, + 0.5224481431010645, + 0.5148708597756922, + 0.5289301063516177, + 0.5181309901527129, + 0.5105198525823653, + 0.5134094145265408, + 0.5200987325166352, + 0.5233858380350285, + 0.513435976067558, + 0.5387669406714849, + 0.5269784079166129, + 0.5118764270795509, + 0.515426661435049, + 0.5170604020939209, + 0.5135918040759861, + 0.5110917208949104, + 0.5227693183463998, + 0.513697304110974, + 0.5180817089974881, + 0.5178566327900626, + 0.5163599789724685, + 0.5177660289919004, + 0.5096895585302263, + 0.5221421462250874, + 0.5186832678620703, + 0.5236210741568357, + 0.5089220704394393, + 0.516532156674657, + 0.5173456106160301, + 0.5090004527010024, + 0.5147924602031708, + 0.5160649088677018, + 0.5214591600815766, + 0.5185608117259107, + 0.5161975724971853, + 0.5055760089308023, + 0.5177652291022241, + 0.5206477929605171, + 0.5133356553502381, + 0.5257532152987551, + 0.5215408356511034, + 0.5150760604650714, + 0.5172766859875992, + 0.5226395681500435, + 0.531564100086689, + 0.5179013384622522, + 0.5293568167602644, + 0.5198870714346413, + 0.5227004237589427, + 0.5237718396587298, + 0.5193928521825001, + 0.5207122577587142, + 0.5297137231798843, + 0.5266570633277297, + 0.5154322552727535, + 0.5382953347172588, + 0.5148293918813579, + 0.5119272007257678, + 0.5099919777130708, + 0.5172992894658819, + 0.5158693342236802, + 0.5265598324127495, + 0.524709111195989, + 0.5222946626949124, + 0.5099862447008491, + 0.5226615382940508, + 0.5147345077479258, + 0.5345553884049877, + 0.5196536663919687, + 0.5240643059136346, + 0.5220205713179894, + 0.5068022379418835, + 0.5121118335518986, + 0.5226573743857443, + 0.5149602164747193, + 0.5259544814238325, + 0.5173480209195986, + 0.5146936113247648, + 0.5174387656385079, + 0.520317994884681, + 0.5234188866685144, + 0.5199860055698082, + 0.5154284950927831, + 0.5213192901108414, + 0.5302684499765746, + 0.5347817950649187, + 0.5223861136008054, + 0.5170531291398219, + 0.5191733092069626, + 0.5237526338314638, + 0.5224989869631826, + 0.5179868595907464, + 0.5303731631487608, + 0.5202917172340676, + 0.5237583963549696, + 0.5168868226232007, + 0.523834302322939, + 0.5319580822717398, + 0.5237338019767777, + 0.5234600151656196, + 0.5162600381765514, + 0.5153931026114151, + 0.5358220101566985, + 0.5219315724913031, + 0.5248330743052065, + 0.519141310651321, + 0.5235395530937239, + 0.5155981557560153, + 0.5232328132144175, + 0.5172017073724419, + 0.526138898357749, + 0.5124179949634708, + 0.5191486830473877, + 0.5315623973147012, + 0.5216756917536258, + 0.5182333859964274, + 0.5186161062098108, + 0.5275290819699876, + 0.5242435317486525, + 0.5141323540825397, + 0.5204556279000826, + 0.5244554171338678, + 0.5239189272630028, + 0.5295351628097705, + 0.527892585110385, + 0.5244632620364428, + 0.5299503379268572, + 0.521007714944426, + 0.5227169463410973, + 0.5196853056550026, + 0.5153916761861183, + 0.5351882906688843, + 0.5324611578485928, + 0.518253217136953, + 0.5212766882614233, + 0.5327907749218866, + 0.5278526998357848, + 0.5256132954149507, + 0.530598451429978, + 0.5222530647064559, + 0.5239821085007861, + 0.5298991351737641, + 0.5172812851262278, + 0.52586129528936, + 0.513933639798779, + 0.5208983546472155, + 0.5097031840123236, + 0.5279441708116792, + 0.5142161111463792, + 0.5312201600288973, + 0.5234498909441754, + 0.5135500853299163, + 0.5187291355920024, + 0.513495655625593, + 0.5403012043097988, + 0.5285536971525289, + 0.5231452782871202, + 0.5236424784176051, + 0.505276711541228, + 0.5215380172245204, + 0.5056109732366167, + 0.5120424759457819, + 0.5244815655518323, + 0.53119060350582, + 0.5198072206228972, + 0.5177026610239409, + 0.5148158269468694, + 0.5283480294747278, + 0.5184666165965609, + 0.511802842724137, + 0.5190264082048088, + 0.5295926222926937, + 0.5262511867797002, + 0.5219251942471601, + 0.5274262637132778, + 0.5343749050283805, + 0.5204317244119011, + 0.5201355207595043, + 0.5271013421472162, + 0.5265492893173359, + 0.5213308822829277, + 0.5318144821096211, + 0.5285657741478644, + 0.5247683882014826, + 0.5157071117660962, + 0.5234597833128646, + 0.5287032354972325, + 0.5194245581980794, + 0.5266598606482148, + 0.5343447099090554, + 0.5225397914182395, + 0.5183141529676505, + 0.5349749379558488, + 0.5298395036370493, + 0.5166676269262098, + 0.5294406544882804, + 0.5359855084097944, + 0.521693270560354, + 0.531535092368722, + 0.5298262730240821, + 0.5305569602642208, + 0.5222184647107497, + 0.5341382824350148, + 0.5244933929294348, + 0.5187511348514817, + 0.5228044598712586, + 0.5178630862617866, + 0.53375059440732, + 0.5281925980467349, + 0.5328096215496771, + 0.5296786150778644, + 0.5220992013579234, + 0.5133992385584861, + 0.5221131113939919, + 0.5234830727567896, + 0.523386490251869, + 0.5285983170033433, + 0.5172089918516576, + 0.5164892674773001, + 0.5334905815077946, + 0.521518986299634, + 0.5218336065066979, + 0.5165398929617367, + 0.5109125259332359, + 0.523223006958142, + 0.5200872623594478, + 0.5242016408126802, + 0.5311906054383144, + 0.5323309245402925, + 0.521092928876169, + 0.5184746527811512, + 0.5313617790932768, + 0.521409928239882, + 0.5323906244011596, + 0.5205634999321773, + 0.5287216409109533, + 0.515345444274135, + 0.5198485711589456, + 0.5234810990397818, + 0.5241557792294771, + 0.5261667111888528, + 0.5197926734574139, + 0.528379904734902, + 0.5227155595086515, + 0.5232085076160728, + 0.5152203830890357, + 0.5222385529661551, + 0.5228232242050581, + 0.5199262291542255, + 0.5328016634564847, + 0.5127055944758467, + 0.5163724878337235, + 0.5104084272752516, + 0.5206748515833169, + 0.5218764987774194, + 0.5233407944208011, + 0.5246103908750228, + 0.5222596968524158, + 0.5320012191776187, + 0.5139412943623028, + 0.5165201283991336, + 0.5167371724033728, + 0.514385963161476, + 0.5279891697922722, + 0.5165357894264162, + 0.5176673046546056, + 0.5293669711332768, + 0.5114329144125804, + 0.5171361691085622, + 0.5263799376785755, + 0.513518015271984, + 0.5237410988193005, + 0.5132993575185537, + 0.5260647688759491, + 0.5155724316835404, + 0.5230148241040297, + 0.5164734305464662, + 0.5104394541936926, + 0.5224725980078802, + 0.5362256843829527, + 0.5088418333209119, + 0.508566255599726, + 0.5197333826450631, + 0.5241827752324753, + 0.5146867319126613, + 0.519997474248521, + 0.5121953200316056, + 0.5207640215288848, + 0.5143885760568082, + 0.5320698120631278, + 0.5189176713582129, + 0.5206065966980532, + 0.520696314284578, + 0.5193162530194968, + 0.5247361400630325, + 0.5208718503825367, + 0.5268250547116622, + 0.5133432160364464, + 0.5324043572880328, + 0.5263174247229472, + 0.5200421822839416, + 0.5213850412750617, + 0.5168258199817501, + 0.532827966962941, + 0.5223534286720678, + 0.5156068069394678, + 0.5174990629078821, + 0.5130888582090847, + 0.526250804355368, + 0.5176297325873748, + 0.518268610490486, + 0.5218432298162952, + 0.5272389960475266, + 0.516678995010443, + 0.5192327154567465, + 0.5225137295317837, + 0.5295545871602372, + 0.5076990808360279, + 0.525133213493973, + 0.5161875810008496, + 0.5133228247752413, + 0.51466546660522, + 0.5222654562210665, + 0.5179304772056639, + 0.5316274780896493, + 0.5202287479536608, + 0.5202018793672323, + 0.5238321176264435, + 0.5166236423538066, + 0.5047277472214773, + 0.522009311709553, + 0.5189850816503168, + 0.52224939474836, + 0.5194285204517655, + 0.5181632101535797, + 0.5087639686884359, + 0.5085089586442336, + 0.5221398632740601, + 0.5163566635688767, + 0.5218514157924801, + 0.519938995956909, + 0.5264911071863025, + 0.521785999299027, + 0.5075283123413101, + 0.5386848466470837, + 0.5209426469402387, + 0.5150723403901794, + 0.5255137715837919, + 0.5238299739779905, + 0.5118039883440361, + 0.5160011036554352, + 0.5209398766979575, + 0.5168312355643139, + 0.5230223012040369, + 0.5165456132730469, + 0.521338550245855, + 0.5188954737968743, + 0.513608553702943, + 0.5143153598881327, + 0.5245596472173929, + 0.5232611547340639, + 0.5103078344953247, + 0.5184190239058808, + 0.5295310200192034, + 0.5226172874448821, + 0.5163100497913546, + 0.5276087474776432, + 0.5303110943641514, + 0.516749546257779, + 0.5159803778864444, + 0.5222848954610526, + 0.525782025535591, + 0.5236015635309741, + 0.5034995178924874, + 0.5082409245194868, + 0.5292475962545723, + 0.5281261251773686, + 0.520845118444413, + 0.5156098744948394, + 0.52422727025114, + 0.5144200683338568, + 0.5102121245115996, + 0.525472934008576, + 0.5219957425491885, + 0.5234490594360978, + 0.5228158439742401, + 0.5154135091463103, + 0.527752326335758, + 0.5040630020201207, + 0.51436416299548, + 0.5237297568237409, + 0.5224502318771556, + 0.5116292950347997, + 0.5221095560584217, + 0.520677077700384, + 0.5166042033117264, + 0.5197266806382685, + 0.5187595212366432, + 0.5281063625821844, + 0.5210358823416754, + 0.5160865772049874, + 0.530002101440914, + 0.5125012808246538, + 0.5262719321763143, + 0.5191568110371009, + 0.5136192792560905, + 0.5272829556139186, + 0.5204234683653339, + 0.5270515690557659, + 0.5094576429342851, + 0.5210534279700368, + 0.5263245447771624, + 0.5131843738490716, + 0.5157747682649643, + 0.5149092260049656, + 0.5179446482565254, + 0.5091449943836779, + 0.5095822992036119, + 0.5319934418890625, + 0.5159384666476399, + 0.5216736341593787, + 0.5321695344289765, + 0.5167112167226151, + 0.5280559069477022, + 0.5223217688966543, + 0.5293466320959851, + 0.5227347745094448, + 0.5363897285889834, + 0.5268508279928937, + 0.5157010523602367, + 0.5139062594622373, + 0.5173790305387229, + 0.5007533350493759, + 0.5153360215481371, + 0.5129657197976485, + 0.5225541159976274, + 0.5130890411557629, + 0.5192806671140715, + 0.515621589566581, + 0.5101620841305703, + 0.5245698240818456, + 0.5043858716031536, + 0.5283840177580714, + 0.5200407766038552, + 0.5118584413314238, + 0.5169656445505098, + 0.5202474447898566, + 0.5204820670885966, + 0.5258552055805922, + 0.5135873429011554, + 0.5195188344223425, + 0.5183140803128481, + 0.5204654747154563, + 0.5182231296086683, + 0.5214037208817899, + 0.518060935032554, + 0.5144573650322855, + 0.5119470225647091, + 0.5219912567874416, + 0.5115235457895324, + 0.5137105277506635, + 0.5129990532295778, + 0.5208125662058591, + 0.5285253857029601, + 0.5154635524144396, + 0.518420347594656, + 0.5165547856129706, + 0.5107021991163492, + 0.5033356542233378, + 0.5168888268060983, + 0.5258320047520101, + 0.5187273208750411, + 0.5176545296097175, + 0.51239198371768, + 0.5222698955098167, + 0.521226424118504, + 0.5172860742313787, + 0.5165331782307476, + 0.5187130751786754, + 0.5174713825108483, + 0.5097000217065215, + 0.5133877423591912, + 0.5142635550582781, + 0.5153879400575534, + 0.5139063932583667, + 0.5115500760497526, + 0.5263761851470917, + 0.5261344698257744, + 0.5139816608978436, + 0.5168888719985262, + 0.5128905923804268, + 0.5065720211947337, + 0.5154520182637498, + 0.5057990118861199, + 0.4960430240258574, + 0.5205073621589691, + 0.5047794800251723, + 0.51051557790488, + 0.5220052279764786, + 0.5136861827922985, + 0.5145282118814066, + 0.5075349423917942, + 0.5233579392079264, + 0.5169625675072893, + 0.5173833236796781, + 0.522961310390383, + 0.5118352291639894, + 0.511249112803489, + 0.5136653022142127, + 0.5188328277319669, + 0.5177691363729536, + 0.5126897073816508, + 0.5123097793199122, + 0.5161190215614624, + 0.5029111479176208, + 0.5173465869622305, + 0.5060492805787362, + 0.4997363181551918, + 0.5052237417781725, + 0.5140839785570279, + 0.5211804626975208, + 0.5032854829216376, + 0.5077890972141177, + 0.5211476662894711, + 0.5157636035233736, + 0.4978874920867383, + 0.5227923502447084, + 0.5148447982268408, + 0.5132094824220985, + 0.5161999345291406, + 0.5342352548846975, + 0.5114339862833731, + 0.5167992878938094, + 0.5097133941482752, + 0.5141342295566573, + 0.5178161839488894, + 0.48873138361377644, + 0.5153336766641587, + 0.5239159092539921, + 0.5118860753020271, + 0.5101506982464343, + 0.496043870667927, + 0.5131404225714504, + 0.522789278649725, + 0.5108065831242129, + 0.5190072680357843, + 0.519762780959718, + 0.5114646068075672, + 0.5112222460797057, + 0.504474414489232, + 0.5186625238042325, + 0.5110744839999825, + 0.516044872906059, + 0.5126652482431382, + 0.5144069952191785, + 0.506608733953908, + 0.521390424692072, + 0.49966977194417267, + 0.5206359704723582, + 0.5052913180785253, + 0.5220053710974752, + 0.5001994394697249, + 0.5179891329957172, + 0.5004684597952291, + 0.5133057286497206, + 0.5068338282173499, + 0.5070614525582642, + 0.5181883156765252, + 0.5112948888447135, + 0.5138990085339173, + 0.5041561897844076, + 0.513134199148044, + 0.514626360242255, + 0.512731339992024, + 0.5157071792054921, + 0.5141069653443993, + 0.5148801478208043, + 0.51662310261745, + 0.5012260634452105, + 0.506754333875142, + 0.5189807492075488, + 0.5169570412719622, + 0.5143419039435685, + 0.5133135285228491, + 0.5169675554148853, + 0.5123545581242069, + 0.5110938247060404, + 0.5082918490516022, + 0.5057022048160433, + 0.5170209845062346, + 0.5191270999144763, + 0.5250833889236673, + 0.5048933821031824, + 0.5217505927197635, + 0.5094861102988943, + 0.5049827065202408, + 0.5011341350153089, + 0.5007096864050254, + 0.5187779340893031, + 0.5099334795493633, + 0.5217069949023425, + 0.5167226703604684, + 0.519409326906316, + 0.5176159116672352, + 0.5354762149043382, + 0.5099916050559841, + 0.512092071166262, + 0.5225104426033795, + 0.5157435890985653, + 0.5186833194456995, + 0.505893029505387, + 0.5099183847894893, + 0.5088012882741169, + 0.5160169788752682, + 0.5063474936177954, + 0.5150267555378377, + 0.5124476531054825, + 0.504351679654792, + 0.5216186944860965, + 0.5103926189010963, + 0.5186731768772006, + 0.5110504931304604, + 0.5171681232284755, + 0.5076023080619052, + 0.5073539616074413, + 0.4923151957103983, + 0.5076047974871472, + 0.5178433948662132, + 0.5191597937606275, + 0.5036584205226973, + 0.5079784512985498, + 0.51055453941226, + 0.5010374394943937, + 0.5033326879376545, + 0.501097895228304, + 0.5031521900324151, + 0.5063084224238992, + 0.5042422525817528, + 0.4994680874980986, + 0.5122282347641886, + 0.509629720938392, + 0.5156461463309825, + 0.4984297908609733, + 0.5077710129087791, + 0.5103644483024254, + 0.5026349049760028, + 0.5078584961825982, + 0.5132825557840988, + 0.5054613284068182, + 0.5098305521998554, + 0.5018441411782988, + 0.4970213769702241, + 0.5110409952001647, + 0.4990741103421897, + 0.5018046772107482 + ], + "best_epoch": 1882 +} \ No newline at end of file diff --git a/results/model_media/davis/train_log/DGM_davis2D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json b/results/model_media/davis/train_log/DGM_davis2D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json new file mode 100644 index 00000000..7bf955da --- /dev/null +++ b/results/model_media/davis/train_log/DGM_davis2D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json @@ -0,0 +1,4007 @@ +{ + "train_loss": [ + 3.858444983350392, + 1.174207966945587, + 1.158716731935466, + 1.1466813250601473, + 1.1056686794721386, + 1.1037512356899566, + 1.0853141693893922, + 1.0804237132772394, + 1.0580599242849817, + 1.044697788467101, + 1.0403015914768983, + 1.0279211793835374, + 1.0102863655132255, + 1.006163307263399, + 0.9986049103627511, + 0.9861834054921016, + 0.9924802265673967, + 0.9900044959027103, + 0.9713410932217533, + 0.9833079191431722, + 0.9665363873910466, + 0.9632798734516907, + 0.9731778337503427, + 0.9567538462009634, + 0.9509918577171611, + 0.9618076466547969, + 0.9697833490708917, + 0.9590485932630136, + 0.9983735891110307, + 1.0050915656241073, + 0.995085894924785, + 1.0014430574776565, + 0.9797701673405615, + 0.9704071599819245, + 0.9968680778364523, + 0.9866753380962103, + 0.9808222633937448, + 0.9752690275783568, + 0.9843175373173999, + 0.9524984022072696, + 0.9671245153298437, + 0.9564289219381248, + 0.931561584410682, + 0.9312915388232706, + 0.9195638383291548, + 0.9023487662002216, + 0.9158010598306262, + 0.9032536481225163, + 0.8974298179058489, + 0.8893200872004579, + 0.8961380266040473, + 0.8527692259952927, + 0.8648086259716877, + 0.8626383442534219, + 0.890461966668794, + 0.8530135523835454, + 0.8586221882782945, + 0.8480492517671089, + 0.870332183003061, + 0.8290820178043222, + 0.8337809762686764, + 0.8303954464807788, + 0.8298017674493133, + 0.8259854081801683, + 0.8241395175867124, + 0.8240942305426714, + 0.8308300973807635, + 0.8046703959618686, + 0.8172238393934494, + 0.8414628477909514, + 0.8107845541488504, + 0.8085910784542014, + 0.7944429509045516, + 0.8083588361557835, + 0.7992163991344814, + 0.7919705195711293, + 0.8009179328377458, + 0.805776081569151, + 0.7888446733446661, + 0.7789584368877455, + 0.7992528646683109, + 0.7617979760791548, + 0.7671785205602646, + 0.7571884492349552, + 0.7532876471587278, + 0.7750887867370877, + 0.7592212387819174, + 0.7761550719539324, + 0.851089281477148, + 0.7670610778102087, + 0.8328182663802707, + 0.7569245984065788, + 0.7688812880979037, + 0.7387027603542768, + 0.7361869983124442, + 0.7236245351783727, + 0.7305047226107084, + 0.7346976533623282, + 0.7123148741160693, + 0.7253078013111692, + 0.7195952346702235, + 0.7128067600344299, + 0.6998191630576, + 0.7082998972238022, + 0.7376853827763041, + 0.7268723163992987, + 0.7312136468355079, + 0.6954673476950108, + 0.6990273801057346, + 0.7061528188691956, + 0.7072619679825386, + 0.6941547944731669, + 0.7133194583750099, + 0.7140159283163715, + 0.690490271725239, + 0.6896629209091903, + 0.6826200821303082, + 0.6809848391590497, + 0.6838087051172687, + 0.6823393454723948, + 0.6879681927302926, + 0.6875591284683721, + 0.6798775462655846, + 0.6740043794206523, + 0.672746162212223, + 0.6724533894603405, + 0.6781414975996046, + 0.6592365529285659, + 0.6673323204940248, + 0.6647198926600477, + 0.6615873820601254, + 0.6496144231032888, + 0.6609925765327722, + 0.6589946261057431, + 0.6635424423427392, + 0.6565395489517337, + 0.6480010532366756, + 0.6527182011201477, + 0.6526635779290024, + 0.6477203993895732, + 0.6495689050228953, + 0.6580785414950199, + 0.6497781997153519, + 0.64066344891484, + 0.6466103012044131, + 0.6336379671178827, + 0.6381216816809199, + 0.6356117819700766, + 0.6458921477836571, + 0.6347492213506217, + 0.631334959310038, + 0.6315116803033636, + 0.6192270600968909, + 0.63354246826438, + 0.6322556646592027, + 0.6201193582619732, + 0.6232931819553587, + 0.6225123365355558, + 0.6274462700892661, + 0.6168541593494219, + 0.6135783954907995, + 0.6159340236165108, + 0.6233317505010042, + 0.6126558721657922, + 0.6244001554194212, + 0.645648128760335, + 0.6156759993700077, + 0.6155008383163618, + 0.615227884769622, + 0.6167070952212774, + 0.6153558365977868, + 0.6030460670134707, + 0.6130888911835645, + 0.6181240569264699, + 0.6066928207646451, + 0.6025063508967741, + 0.6035949873997166, + 0.607779843499172, + 0.5953029867614811, + 0.5944298737161203, + 0.59287176493111, + 0.5892555216492499, + 0.5989177545321827, + 0.6034090722874035, + 0.5926136384270971, + 0.5953455106996068, + 0.5913152647993616, + 0.5960962047133971, + 0.589220614129797, + 0.5858398479287048, + 0.5794939269804444, + 0.5992240879901141, + 0.604974089617576, + 0.5919410117335093, + 0.5873838681328917, + 0.5982338985718718, + 0.5951296864504662, + 0.5813642591921562, + 0.5779311798444582, + 0.5828313351315461, + 0.5722648602673949, + 0.5749087858409692, + 0.5764430586351167, + 0.566981480117967, + 0.5751205599590543, + 0.5637534775113294, + 0.5732102387268608, + 0.5762507798155878, + 0.5762254083899365, + 0.5790061014690165, + 0.5624222689926259, + 0.565990284586536, + 0.5576348300533375, + 0.5705147308129419, + 0.5603540238642365, + 0.5704554740555972, + 0.5702056874170762, + 0.5703103669921922, + 0.5616185198273134, + 0.5561297922779661, + 0.5572797497705947, + 0.5524216454464725, + 0.5578654166140141, + 0.5571260652547583, + 0.5551287964305381, + 0.5424163891315825, + 0.5419110369609401, + 0.540298580348674, + 0.5398521299619193, + 0.5488624493007631, + 0.5316867608725113, + 0.5407605692060715, + 0.5292833551582211, + 0.5331817746321907, + 0.5259090523927583, + 0.5241774055844782, + 0.5340494973875514, + 0.5389958730804811, + 0.5305121628744157, + 0.5196772147118134, + 0.5258415238618486, + 0.5173665862245662, + 0.5271556542029986, + 0.5240049626028865, + 0.5230644930393324, + 0.508163220234876, + 0.5136598115872353, + 0.5112143277506763, + 0.5054088223281257, + 0.5176424638849515, + 0.5205692286269927, + 0.5015868212264429, + 0.5109668377137512, + 0.5109630275962003, + 0.5040812931202967, + 0.5165247753239736, + 0.5619776105502512, + 0.5552439612624113, + 0.5175800771660396, + 0.5122649849304183, + 0.4896138381862312, + 0.4950943928587874, + 0.5009193458004829, + 0.4919494314728709, + 0.49915971252668523, + 0.5086044040294962, + 0.5307716287399104, + 0.5084472347609129, + 0.5005934062308492, + 0.5040793422074128, + 0.4936699676313167, + 0.4946547994327472, + 0.49935941432320746, + 0.49088516249250197, + 0.4962474635434807, + 0.48748453361315464, + 0.49452939671706353, + 0.4958010148655749, + 0.48392089294548796, + 0.484304022590775, + 0.4963948215366504, + 0.4820876763820284, + 0.4884095308840822, + 0.4823184690754348, + 0.4798682185419656, + 0.4857097177991262, + 0.4949102422353507, + 0.48701787601005775, + 0.48087936580545676, + 0.48942464165138905, + 0.47351967063746686, + 0.48431971241984895, + 0.4811798168249451, + 0.4743626251566118, + 0.48227981377723383, + 0.4784284993687172, + 0.47463545063083323, + 0.4784785227832991, + 0.4850833659780864, + 0.47841360402900146, + 0.4756324692466937, + 0.4605930523907008, + 0.47179225975767186, + 0.4648517294123268, + 0.4657421230996421, + 0.46946632129564564, + 0.4676727483715486, + 0.45840437324085365, + 0.4611665759155874, + 0.4522967463535818, + 0.45312580515257445, + 0.4653688479864269, + 0.46100361898131326, + 0.46804168684812497, + 0.46112189478374765, + 0.4554203565286569, + 0.46263320087839704, + 0.46564720346612304, + 0.45105573364080637, + 0.44721177580342014, + 0.45436515349222617, + 0.4570450506056303, + 0.4560707680402546, + 0.458067407529653, + 0.4570739345357323, + 0.456449057553704, + 0.4527369645347289, + 0.45754071533543256, + 0.4526655845321282, + 0.45046502093155083, + 0.45182477317135267, + 0.4562515866022773, + 0.46122504701262584, + 0.44939716458776313, + 0.43880810031513556, + 0.45331728835490503, + 0.44551086487299807, + 0.45429256052599043, + 0.46497387969894877, + 0.43796456075452883, + 0.43487167611308053, + 0.4428352756761812, + 0.43951404876209543, + 0.45555024093945456, + 0.4412858063862047, + 0.452053316951436, + 0.4320769884512512, + 0.445054131642622, + 0.4264403156457691, + 0.43537633566453554, + 0.4453835262139456, + 0.44794584267319887, + 0.4299235656310659, + 0.4410021807941457, + 0.4312136534043226, + 0.4249292266432663, + 0.4285119940791655, + 0.42877712329729983, + 0.43029775485305244, + 0.4252789908797916, + 0.42801859183094554, + 0.44679294488982324, + 0.44196334320607533, + 0.43458061960357774, + 0.422355419583049, + 0.4296711750829803, + 0.42779270706510325, + 0.42040997243483497, + 0.43401217302279005, + 0.4235075012829143, + 0.419559954936169, + 0.41828083606943806, + 0.4168126736098291, + 0.42169286979402243, + 0.41041435993957226, + 0.4186181810425327, + 0.42264434481068125, + 0.431368167902306, + 0.4197367708959164, + 0.41874279326186814, + 0.42953127538301167, + 0.4255920087502819, + 0.4230953121404035, + 0.41799536149162764, + 0.4145887727345075, + 0.4249525165316344, + 0.4217261439616527, + 0.41793838994355376, + 0.41528247698959225, + 0.41277985177956955, + 0.41423594916313433, + 0.4228309827318432, + 0.4185378739570441, + 0.4043124221288101, + 0.40547764250034585, + 0.4120259541983998, + 0.420120178400012, + 0.4070091387684192, + 0.4089913185264357, + 0.4161460823763948, + 0.4057663109392748, + 0.41031305814327085, + 0.4031806286504145, + 0.4212743571193302, + 0.40280839909061744, + 0.4084373570021686, + 0.40663477942484233, + 0.39616974755346956, + 0.40063362826083415, + 0.39847560072551264, + 0.4077619307814024, + 0.39542007728818723, + 0.3913997379544587, + 0.3993089363913106, + 0.40531922570381324, + 0.39187856100567986, + 0.4087145030270658, + 0.41220154363764533, + 0.39661321572572084, + 0.39973690517998617, + 0.3918240684958955, + 0.39417035056317984, + 0.3996062575745473, + 0.40469788002357204, + 0.39117352111942905, + 0.39444841654111124, + 0.3946885611713844, + 0.39200028363581096, + 0.3952076007022497, + 0.4132556255097965, + 0.418502714239995, + 0.3992043853785831, + 0.3966252016421943, + 0.39341660962647984, + 0.390706317465103, + 0.38372986938018316, + 0.38743402172073677, + 0.37915467351834525, + 0.3888995473355693, + 0.38295805837036273, + 0.3932842086282892, + 0.38924737409076193, + 0.38434878430280844, + 0.38425083777408714, + 0.38511191228752106, + 0.3815513985282784, + 0.3920299241530057, + 0.3929550776924562, + 0.3902812623547031, + 0.37808713900204466, + 0.37875690876822404, + 0.3813019149199083, + 0.37413357170896794, + 0.37747891489929014, + 0.37835281039232144, + 0.37367254046193504, + 0.36970409676888305, + 0.3698616390278853, + 0.37135458235210234, + 0.3723243456618684, + 0.3773365194997565, + 0.3748987485919524, + 0.36667926472808243, + 0.37580820886754296, + 0.37644010523066423, + 0.36948657778037614, + 0.3654513390626565, + 0.372074432562843, + 0.3722122340756454, + 0.3664370385548299, + 0.36620574336305306, + 0.3717245986337691, + 0.36751853389842065, + 0.36743045647255507, + 0.3718798719688293, + 0.3646733526436652, + 0.3594984697457118, + 0.36953866007290664, + 0.36218435067785987, + 0.365338548869806, + 0.36682938035885126, + 0.3600515678456617, + 0.36240243177507814, + 0.37284237898271017, + 0.3653490553960341, + 0.36478830597132716, + 0.3610482317842657, + 0.3649353545432517, + 0.36221583965675913, + 0.36223687904257473, + 0.35827124625763396, + 0.36217757450012256, + 0.3620466565491136, + 0.36695218505480237, + 0.36138710817065806, + 0.35984730703431533, + 0.359075101662074, + 0.3562457752428288, + 0.3580141294895691, + 0.3519306233500213, + 0.3556959763488274, + 0.35171658885223783, + 0.34960647744756046, + 0.35811571486362626, + 0.3596703353414842, + 0.3499108067334883, + 0.35021422642200545, + 0.35314039180243234, + 0.35176756820820887, + 0.35123440879041085, + 0.3512335979018007, + 0.3546049376431317, + 0.35858430456518214, + 0.3543168575893119, + 0.3436464850451877, + 0.352404459365373, + 0.3481107128311279, + 0.3496969389282053, + 0.35756408947801915, + 0.3489200212858868, + 0.34519480485526066, + 0.35031255406956974, + 0.34568657551177234, + 0.34485748593641347, + 0.34993602568995696, + 0.3399085844738768, + 0.3468768606503531, + 0.3435636888847712, + 0.34469191745971683, + 0.35164879296624335, + 0.34401172980529454, + 0.34655292041668107, + 0.3454007925608107, + 0.33765797718607504, + 0.3429741715494008, + 0.34415311557710715, + 0.3526598181723637, + 0.3394294205927703, + 0.3423672818980359, + 0.3439544712845521, + 0.34112207124448335, + 0.3437603373615931, + 0.34243318618528706, + 0.34533847790974725, + 0.3451335390499972, + 0.34204817565004214, + 0.33810638646603725, + 0.33816586787433617, + 0.3421519861388553, + 0.34104310019961376, + 0.3404676933069386, + 0.3452950964713133, + 0.3399110968802865, + 0.34043941280551093, + 0.33587150178302866, + 0.3395814721384271, + 0.3363055596441395, + 0.33507332809565626, + 0.3391353123926697, + 0.33976955301148265, + 0.3371116016401884, + 0.345036196639186, + 0.33594572992955507, + 0.3344518501676095, + 0.33240734737947447, + 0.3313936023468818, + 0.3392819310638154, + 0.3313266676523088, + 0.3359896220460489, + 0.3304371647821563, + 0.3312799823940347, + 0.3338212574396385, + 0.3378024513488607, + 0.3335648580234988, + 0.3332498841933245, + 0.3247418175323294, + 0.3340092546018894, + 0.3333125853176237, + 0.33351958900211603, + 0.337122533567227, + 0.34058218283026226, + 0.3326451926170321, + 0.33341456196108543, + 0.33184615277688073, + 0.3316603518612341, + 0.33092746379520366, + 0.33154818123998264, + 0.3282931684957823, + 0.3334593586737592, + 0.3320453979576217, + 0.3306310639548648, + 0.3285593480407189, + 0.3247732530242624, + 0.3318523926780038, + 0.3283649384690625, + 0.3246894948959168, + 0.323272682544106, + 0.3241488577382189, + 0.3257205275140862, + 0.32527642523362915, + 0.3290664472301072, + 0.3272052234727946, + 0.32683728462717404, + 0.3203701932006017, + 0.3197908940631042, + 0.32521330283254113, + 0.3225285566215395, + 0.326420795736373, + 0.32095970645751976, + 0.32412705059513586, + 0.32626890033392364, + 0.32482253793137156, + 0.3265884485186878, + 0.3209408386482285, + 0.3216681460755954, + 0.31534579879852065, + 0.31895240466324015, + 0.31635239143892896, + 0.3198134406535268, + 0.32062742386343646, + 0.3154632892482416, + 0.31983713332894015, + 0.31691538363649574, + 0.31623348594851086, + 0.320516004548935, + 0.3224387998188581, + 0.3212553892649186, + 0.3232230359078912, + 0.3202351381324391, + 0.3145596938441288, + 0.3171741894477642, + 0.32215533288201426, + 0.3202903895248696, + 0.31770168058004583, + 0.31628457523472264, + 0.3235557021100404, + 0.3179445005212811, + 0.32374577628112533, + 0.3162826492311575, + 0.3197307431677339, + 0.3151889806470922, + 0.3150875249917445, + 0.3152899253680527, + 0.3146761985159613, + 0.3109942972033487, + 0.31703233358304983, + 0.319159485678835, + 0.31450977648639716, + 0.31096264660722983, + 0.31222728678574985, + 0.3120219680090472, + 0.3137636515924234, + 0.3124741385277896, + 0.3164222764665836, + 0.3120745676612362, + 0.313234502740136, + 0.3127699756214469, + 0.3165476022612885, + 0.31538279540267194, + 0.3102255667921509, + 0.3070000064038082, + 0.3139889019937326, + 0.30802517578529837, + 0.3200065603348731, + 0.31904229757572533, + 0.31241609943911025, + 0.308028335201722, + 0.31154199192351706, + 0.31018542899359985, + 0.3129275308847883, + 0.3172245175842572, + 0.3154459957329596, + 0.3077455031192813, + 0.31332306377020086, + 0.3081722344508229, + 0.3116731140819529, + 0.3081276723516917, + 0.3144090175059046, + 0.3043594220681657, + 0.3113728098127, + 0.30704115104465673, + 0.306625470137423, + 0.31668119111442966, + 0.30503909141736657, + 0.3106638119194303, + 0.30347221247874634, + 0.31103238895170915, + 0.3098501657856349, + 0.30514658296007996, + 0.30894193848429835, + 0.3161368748566153, + 0.3108932765867185, + 0.30362242428352343, + 0.3039273994402328, + 0.30474930336351425, + 0.30938750455321157, + 0.30573990949022295, + 0.30345890115069324, + 0.29976498108323013, + 0.3002048678445524, + 0.30496065417128054, + 0.3095719656175065, + 0.30622215337185504, + 0.30198248417689166, + 0.3012726851240575, + 0.3093144527553874, + 0.30538877372028994, + 0.3102691549215386, + 0.3043835182255561, + 0.31407180257620065, + 0.29936272546432524, + 0.29961093336298195, + 0.305828531224292, + 0.3014948962979725, + 0.29988870117528543, + 0.3007176389536088, + 0.29956011638751634, + 0.3034807827141398, + 0.3013332250616328, + 0.3032827858702032, + 0.299745032683425, + 0.3022885421684029, + 0.297959565939752, + 0.2987071372261015, + 0.3002752554958931, + 0.3002505444605416, + 0.29680177543756614, + 0.3022825938595362, + 0.29921326525965053, + 0.30382842940224236, + 0.29873409841084336, + 0.29464518810858786, + 0.2990068495900168, + 0.3005448443422077, + 0.29473624175089763, + 0.2962594390348375, + 0.30045906102871495, + 0.29951335769431486, + 0.2999453190315389, + 0.296693404435838, + 0.29408132679054133, + 0.30080228374091855, + 0.3005059672696146, + 0.2940873552159341, + 0.2939695015333206, + 0.2916916836372118, + 0.2978318472783044, + 0.297971315038268, + 0.29090641473138007, + 0.3011930764792345, + 0.29377272913648267, + 0.2970299716264192, + 0.295237444175994, + 0.29405115545365607, + 0.2949538335363617, + 0.2919396689611655, + 0.29616219824926204, + 0.2979860507999903, + 0.2914865168398218, + 0.29040520576708906, + 0.2962276650598381, + 0.2982629344368564, + 0.2930189857846098, + 0.293498095546476, + 0.2926150593758541, + 0.2916725263489405, + 0.2994584795429346, + 0.29330887878456063, + 0.29530488341385985, + 0.29551464294735624, + 0.28955703821682605, + 0.2879282741804553, + 0.2938128272840463, + 0.2932648327691475, + 0.29137468082824614, + 0.2928422083537057, + 0.29216990877934007, + 0.2842394635878754, + 0.28702315694968633, + 0.2900345291976535, + 0.2888776509586824, + 0.2949115134525007, + 0.2882481565135061, + 0.2835790625451537, + 0.2940281274691452, + 0.292589309884503, + 0.2896875623579419, + 0.2887187505579505, + 0.286494895804457, + 0.2884800986184622, + 0.2909372863487913, + 0.2894241933052966, + 0.28664004126569365, + 0.28657501169255384, + 0.2876664469935661, + 0.28629270360580095, + 0.2885307629994296, + 0.28754795030534086, + 0.28366209157039085, + 0.28739991880930527, + 0.2880076923285147, + 0.29022783866943935, + 0.2855319071971222, + 0.28815656532433787, + 0.2840420683612335, + 0.28681717306626137, + 0.28153185459246877, + 0.2803462970181616, + 0.28301734618546404, + 0.28804919880099983, + 0.2821132673480369, + 0.2851882459031879, + 0.2852175331671668, + 0.283192698345363, + 0.282855121532757, + 0.28411649278043244, + 0.28649430541999477, + 0.2871215743516837, + 0.28295079181796734, + 0.28666284928719205, + 0.28211245634550347, + 0.27804495979795396, + 0.2813700241142092, + 0.2769209557420799, + 0.2827217178219867, + 0.2833065121727981, + 0.28322352052577954, + 0.2832568812807766, + 0.28250566594849486, + 0.2830995564386021, + 0.27693131316555747, + 0.2833043453867465, + 0.28261055189557943, + 0.27788826644375053, + 0.28249910808757905, + 0.27756969735242815, + 0.2786870167593526, + 0.28259107260893607, + 0.28039901164169523, + 0.2780411684606509, + 0.2790456164844721, + 0.27934889442968075, + 0.28090275690779776, + 0.2824238452900896, + 0.2781925593995538, + 0.28326889214074574, + 0.2747765060639527, + 0.2812272081556032, + 0.27816615431407177, + 0.28311244406899727, + 0.2838268089264814, + 0.277511674603191, + 0.2751721525821117, + 0.2740698238886004, + 0.2776482333956053, + 0.28037588626989346, + 0.2800193895053244, + 0.27239947172525464, + 0.27599127632807885, + 0.2753165365005943, + 0.27723346061617227, + 0.273328583448305, + 0.27606514376511265, + 0.2816203866233702, + 0.27982664353211356, + 0.27482877313429976, + 0.2791677137910864, + 0.27688366683934806, + 0.27588106487914693, + 0.27316291796596043, + 0.27126191118988424, + 0.2758799529939161, + 0.2758199667176431, + 0.28110080132038767, + 0.2724597171256575, + 0.2703925764660952, + 0.27303775099165944, + 0.272463499121254, + 0.27644424440071486, + 0.27442878727382475, + 0.27463571101267586, + 0.27075056195692004, + 0.2756444350033087, + 0.2752254565021405, + 0.26828424842737686, + 0.27502619911452314, + 0.2764135329821788, + 0.2727827581517193, + 0.27082604935979443, + 0.26819528634190015, + 0.27508607313652106, + 0.27087449199243785, + 0.2724579207382709, + 0.27248206696493, + 0.26501074688514803, + 0.2701855538361663, + 0.2770761752882773, + 0.2677802800084108, + 0.2751676233753061, + 0.2660005465833419, + 0.26953021555409884, + 0.2694872040187638, + 0.2693564690171032, + 0.2666838203730569, + 0.2690082446412847, + 0.2657198440625307, + 0.2644239101012092, + 0.2675259919831421, + 0.2643912502419238, + 0.26820276453749303, + 0.2713713375253415, + 0.2692586236237477, + 0.27040848594489264, + 0.2712796710556891, + 0.26485086770141525, + 0.26839600845214423, + 0.2681919100982015, + 0.27027038469432146, + 0.26481355143431856, + 0.2639970866399347, + 0.26893634069995775, + 0.26976212190424265, + 0.2615069189145933, + 0.26804141958303956, + 0.26499629463852364, + 0.25927095808407763, + 0.2664183304682146, + 0.26517958860468427, + 0.2694255061994452, + 0.2583099534558502, + 0.27303571994516096, + 0.26372536404531116, + 0.2642439503553081, + 0.26827166819608905, + 0.26269362819030745, + 0.2600341806592653, + 0.26436114598304855, + 0.26137021228397656, + 0.26323203523771477, + 0.2615965565991238, + 0.2611513261538033, + 0.2626066518155716, + 0.26155265847887466, + 0.26003215562791454, + 0.2601710806119424, + 0.2641728409973261, + 0.2558143626533973, + 0.26094894553178677, + 0.2621338820079233, + 0.2596812227780757, + 0.26879868557853254, + 0.2622779061226032, + 0.2652066855289794, + 0.2656866258596973, + 0.2547298442879948, + 0.26161364697785733, + 0.26333160808919404, + 0.2619700647309559, + 0.25351978908506556, + 0.25502314840070334, + 0.2598146470975621, + 0.26030089030617604, + 0.25972634670111017, + 0.2600091425388687, + 0.2611125580487995, + 0.25602234688670084, + 0.26076743352463305, + 0.25845283159946264, + 0.25755551305887164, + 0.25810092857922073, + 0.26246458719504445, + 0.2526761304604214, + 0.26480226942682666, + 0.2659349408889309, + 0.25770101478089796, + 0.2566047219348792, + 0.26178721413699857, + 0.25708276257260676, + 0.2579860367245448, + 0.2578264428558973, + 0.2574764759442128, + 0.2571828996517698, + 0.26467615736802236, + 0.2558512969187458, + 0.2519425120666076, + 0.2531130079419241, + 0.2546202692883915, + 0.2578255610415194, + 0.2579193663689385, + 0.254582555189911, + 0.25469890583750854, + 0.25168999552225485, + 0.25681169814108346, + 0.2530334592719964, + 0.2564557973118869, + 0.2546132882794975, + 0.2565578772808889, + 0.2544076242868643, + 0.253060298103167, + 0.255946755523164, + 0.2515336039251098, + 0.25383432779107984, + 0.2548538442410597, + 0.2527123470178347, + 0.252561033290415, + 0.25227018661329964, + 0.2574080824937432, + 0.250278374644435, + 0.24837899453573453, + 0.24895208864401605, + 0.24692694566551515, + 0.24980370950990496, + 0.25608067813155666, + 0.25399677137294585, + 0.254703518518728, + 0.2528981425506077, + 0.25025643339374926, + 0.2541100642549882, + 0.2510848071209699, + 0.2519054036382415, + 0.24950713161322138, + 0.25262826913540515, + 0.2551956408990359, + 0.24953491583933615, + 0.2543054433932545, + 0.24858695194580868, + 0.25195320800448046, + 0.2532401091051758, + 0.2553391285263435, + 0.2502857795959219, + 0.24720519004725716, + 0.25024436213167256, + 0.25341825892960806, + 0.24915106130610093, + 0.2517376931737368, + 0.2507512885564511, + 0.25297406597193955, + 0.25071315739634203, + 0.2475535714320998, + 0.2509979570700306, + 0.24879005043810115, + 0.2500150532601259, + 0.25061914080395065, + 0.24665439522480564, + 0.24895648632642872, + 0.24782253514451263, + 0.24646022616791616, + 0.24917121816551832, + 0.24703607072239167, + 0.24550815719245314, + 0.2479065532029951, + 0.24949821924352136, + 0.24881386236552525, + 0.2447079171167419, + 0.2471512821972917, + 0.2488976459642616, + 0.2433241859067015, + 0.24841163531002738, + 0.24626703319974266, + 0.24656770662304914, + 0.24338075803985837, + 0.24656152330190856, + 0.24498440843041336, + 0.24675239432341098, + 0.24557222600809842, + 0.24573815899932422, + 0.24655193628156585, + 0.2404724022584315, + 0.24433604902687514, + 0.2449065320911484, + 0.24735738188370104, + 0.24563063237109772, + 0.2509985054680787, + 0.24986097420528758, + 0.24518335510375666, + 0.23973115787639165, + 0.24525007804633553, + 0.24889075903033991, + 0.24614092707633972, + 0.2439178860566895, + 0.243761785635981, + 0.2410432399743285, + 0.2516615334214694, + 0.24289235870271284, + 0.24060328525778715, + 0.24453374759410865, + 0.24506519408469354, + 0.239180674955864, + 0.24113400397816565, + 0.23977566226770025, + 0.2372854621824595, + 0.24146070096653172, + 0.23722828783391084, + 0.2421270824416287, + 0.23876910247136512, + 0.24613856582329907, + 0.24692255078276637, + 0.24078951755521494, + 0.24263415300495217, + 0.24118910990769346, + 0.24044941960113403, + 0.24004914665691532, + 0.23956728916307654, + 0.24251166279983083, + 0.23901470435572508, + 0.24209831145788552, + 0.24281532175565532, + 0.2412837904362458, + 0.24187009341000873, + 0.23805209166663685, + 0.23806345067200585, + 0.23906521304348194, + 0.2373959158977283, + 0.2367138176507086, + 0.23857800782136962, + 0.2399671835147004, + 0.23937345832722998, + 0.24535818511352445, + 0.23850668604494235, + 0.24206503685734687, + 0.237271058751948, + 0.23619325510268913, + 0.23991664601575344, + 0.23818162528780895, + 0.24102482482768162, + 0.2366645499915796, + 0.24026838899946085, + 0.23917275596273327, + 0.2336534395819638, + 0.2416647265662385, + 0.23767284595547103, + 0.24060771857539265, + 0.24049579014927605, + 0.24040844820337284, + 0.23578399879464862, + 0.23924964952883554, + 0.23820045822804128, + 0.23770460048377148, + 0.2348892331117656, + 0.23645725654045102, + 0.23501579703859962, + 0.23259198078914156, + 0.23518793174387484, + 0.23345089694399626, + 0.23487579036469852, + 0.23561496929257014, + 0.23689415513762824, + 0.23496639688388196, + 0.2333211381876961, + 0.2504761941411991, + 0.24087929362231802, + 0.23085706302218298, + 0.23452581244802803, + 0.23726910869918466, + 0.23532022282036894, + 0.23472843708795146, + 0.23168612559203525, + 0.22947848216268812, + 0.23150776446275756, + 0.2365898971078456, + 0.23361235051572504, + 0.23277248408280837, + 0.23844174160379975, + 0.23297550776739825, + 0.23664000052218226, + 0.23635966357538643, + 0.2296752160192903, + 0.23484242361733856, + 0.23342026244928712, + 0.23395559900591223, + 0.23298164326640627, + 0.2296469681283932, + 0.23409487146155095, + 0.22623198438971232, + 0.23516548476509452, + 0.22747462361321902, + 0.2292287305555668, + 0.23227369535247303, + 0.23451136225771832, + 0.232459806503916, + 0.2334844443366068, + 0.22932961939717286, + 0.23033504249579315, + 0.2318863488437568, + 0.23005760237232808, + 0.23131654260321222, + 0.22981793728204222, + 0.2326804761880217, + 0.23260083169439974, + 0.23460261046954797, + 0.22758271927669052, + 0.22739561718378773, + 0.22439184721661817, + 0.22946250337298493, + 0.22986989767384639, + 0.22772523568550107, + 0.22973075836600695, + 0.23363582448412976, + 0.23173867901986528, + 0.2278874531809799, + 0.22431380073582635, + 0.2321981727871873, + 0.22908832467465864, + 0.22587768354991433, + 0.23013549016087975, + 0.22815930967529616, + 0.22718034539405907, + 0.23197194382502762, + 0.22721254131514637, + 0.22615610167030986, + 0.22904287409948737, + 0.2320636192946168, + 0.22804768778247023, + 0.22739348240732143, + 0.2298003194870752, + 0.23066654100455913, + 0.2265464539927308, + 0.22994497482485454, + 0.23087492278728647, + 0.2310077243282343, + 0.23116845879077183, + 0.22398427488219666, + 0.22842156804744895, + 0.22906363572617736, + 0.22538729459730858, + 0.22600008034651434, + 0.2251731675368839, + 0.22378029471508223, + 0.22609162067179925, + 0.22395050575506706, + 0.22845967442925097, + 0.22558215541041682, + 0.22944689291423978, + 0.2292798415384617, + 0.22767662571384273, + 0.22261198489023915, + 0.22899412343546247, + 0.2276017884225428, + 0.22462445838712952, + 0.22537231374395275, + 0.2266755258601831, + 0.22318720751205626, + 0.22447517463532973, + 0.2230017018370581, + 0.2280592828425109, + 0.22597150458450163, + 0.2266311951505664, + 0.22641041294731404, + 0.22590316608206396, + 0.22214347690298286, + 0.22490228852399535, + 0.2250982513451886, + 0.22437956908700663, + 0.2200573199750451, + 0.22077794218669425, + 0.22666608759512505, + 0.2220832615469893, + 0.2243253308083486, + 0.22614585780837668, + 0.22597385256833166, + 0.22392501611980276, + 0.21885143015932418, + 0.22119276068352778, + 0.2250171892219636, + 0.2186914817643685, + 0.2233011673321372, + 0.220120430035397, + 0.2240351397481488, + 0.2250549048897369, + 0.22518009282306795, + 0.22262446148554574, + 0.2251475562885495, + 0.22128773202681032, + 0.2225031681951215, + 0.22059903963431943, + 0.22104849454744602, + 0.2225860509941702, + 0.2149548550686067, + 0.21934826759228465, + 0.22378543705112708, + 0.2174596285436086, + 0.21579836062312308, + 0.22042551399165883, + 0.21528570316105353, + 0.22153390979320267, + 0.22220339071552414, + 0.21980918965812216, + 0.221889043363546, + 0.22215783997903085, + 0.2177297018827238, + 0.21689938778336806, + 0.21708055408187324, + 0.22195692444989168, + 0.22150009286102898, + 0.2207332146539145, + 0.22171071565080583, + 0.21931227955921617, + 0.2174848580123452, + 0.2171014434620966, + 0.2201142811988244, + 0.2227074562512133, + 0.2198121951158167, + 0.21897293144227534, + 0.217464615647832, + 0.2160235929049392, + 0.22193574594385032, + 0.22332902756784487, + 0.21630337215470155, + 0.21762117150236798, + 0.21796803996080835, + 0.21360347744943262, + 0.21744133415845557, + 0.2186396047159665, + 0.22229935734928657, + 0.21387078430196013, + 0.21836966569521193, + 0.21234247852857324, + 0.22098182570132277, + 0.21289366811787316, + 0.21417310794912256, + 0.21598857229957158, + 0.2131138730122044, + 0.223429247987562, + 0.21923206113734559, + 0.22352111451498685, + 0.21717475943369877, + 0.21843539419888722, + 0.21859116321401129, + 0.2155180921641375, + 0.2182514843778736, + 0.2152837854738857, + 0.2202809828558555, + 0.2163269157529971, + 0.21246342945114827, + 0.21473657116236947, + 0.21144952518233193, + 0.2128725480145863, + 0.21563947860675575, + 0.21424001869987638, + 0.21245101302725458, + 0.21129511976586113, + 0.21224263378501576, + 0.21599193944365058, + 0.21660436130490507, + 0.2168470966951517, + 0.21413063099864152, + 0.21306469150183763, + 0.21256501607266498, + 0.21160379385672487, + 0.21382573887489348, + 0.20923654206484466, + 0.21734188608711283, + 0.21320181978234184, + 0.21497247570311076, + 0.21374391587251734, + 0.2116409649286385, + 0.21254628330229894, + 0.21597870156191723, + 0.21148958286720496, + 0.21905044773565063, + 0.21576721403200966, + 0.215321946291065, + 0.21461900211984594, + 0.21438424548686735, + 0.21455984449566595, + 0.21235345131418573, + 0.2112198359068107, + 0.21296630769580693, + 0.20904082428971563, + 0.21277065186644548, + 0.21058750654135003, + 0.20799955126148753, + 0.212247911726754, + 0.2103477907381291, + 0.2120329960440186, + 0.2128585726250567, + 0.20888516503679552, + 0.21267877107298155, + 0.2130138323975539, + 0.2124750301845668, + 0.21312753307641646, + 0.21369817739335495, + 0.20874061249766146, + 0.20792389749649012, + 0.20997151192163746, + 0.21080093241271075, + 0.2062264169489435, + 0.21354490244584529, + 0.20998899147073974, + 0.21511819823687778, + 0.2058359050029598, + 0.20973040775284854, + 0.21187005014605934, + 0.2140569927467073, + 0.20793591121308483, + 0.20899877983461554, + 0.20898713635434524, + 0.21116135141809417, + 0.21498611782725888, + 0.2104706746933338, + 0.21005850927533998, + 0.20865954562668498, + 0.2071015313068342, + 0.20905824372721465, + 0.21033313739418255, + 0.20441186856136684, + 0.21128826211875915, + 0.20424620694102041, + 0.208117632562756, + 0.2096640613437018, + 0.20611906758244705, + 0.20515725448078245, + 0.20826784568619472, + 0.2081448061517027, + 0.20601532498334707, + 0.2094325624030391, + 0.2064152030553384, + 0.2110429060352049, + 0.20866224316692134, + 0.20514999324062821, + 0.20802436069804686, + 0.20986785401877825, + 0.20970921643898574, + 0.20763086941981806, + 0.20739373254279295, + 0.2083714041141195, + 0.20778479480643156, + 0.20336749343150254, + 0.20793697492017293, + 0.20633302876919463, + 0.20814994989469968, + 0.20563769603677845, + 0.20774859365713796, + 0.20708241110342904, + 0.2031885977515478, + 0.2096275841868525, + 0.2026027166184938, + 0.20699101546067256, + 0.20757006005375483, + 0.20346814891841797, + 0.20474061239738622, + 0.2064462886063741, + 0.20372120224349544, + 0.2078965195349278, + 0.20778439287665879, + 0.20712456757926156, + 0.20360162765049697, + 0.2055873885659632, + 0.21066285897080506, + 0.20892005357378668, + 0.20667700595379057, + 0.20496227551217472, + 0.20430131759266695, + 0.20346586888411086, + 0.20292903146555574, + 0.20559556891611958, + 0.20405189008580163, + 0.20247080593173383, + 0.20308979280828426, + 0.20631769180172535, + 0.2053502813488564, + 0.20917975309302045, + 0.2028621409646597, + 0.2001556153822155, + 0.21016200265024051, + 0.2018406915504041, + 0.2038803417378017, + 0.20443175115910237, + 0.20132344478416606, + 0.19998312548702918, + 0.19758983943554423, + 0.19705325276206392, + 0.20782404872289764, + 0.2038175207121292, + 0.2056134566152041, + 0.2054515659826201, + 0.20187152727059907, + 0.20180881394227163, + 0.2004849215120715, + 0.2002614301227785, + 0.1977564410053034, + 0.1993378509257547, + 0.20300806584605657, + 0.2013838783601464, + 0.2037610462994887, + 0.19645039136279432, + 0.1989080416727868, + 0.20142828832332058, + 0.20483458424357281, + 0.20312269873039893, + 0.2011172587866539, + 0.19913858924323083, + 0.19713316790600072, + 0.2011856254737038, + 0.20055487468861477, + 0.2021198866928754, + 0.20316667960449733, + 0.20047870719526248, + 0.19979635043075417, + 0.1971497077164482, + 0.19921149059116203, + 0.20154280999863367, + 0.201887862429319, + 0.19863877139005823, + 0.20435997406846704, + 0.20316199247728156, + 0.20082987019427645, + 0.19937216183199158, + 0.20176951605143076, + 0.20290441624250616, + 0.20410262331628562, + 0.2014824782358625, + 0.20603974558845936, + 0.20041235366876065, + 0.199193576872007, + 0.19869335735678126, + 0.19376703019649794, + 0.19811023435974068, + 0.1986946745459503, + 0.20180450009882722, + 0.20176503973634236, + 0.20252448530292383, + 0.1963645884601986, + 0.20053411554260356, + 0.19863946126654333, + 0.1999480005479005, + 0.19858487813366116, + 0.19890641597091058, + 0.19879884283636506, + 0.20030498678656436, + 0.20024036159539532, + 0.1989599321043227, + 0.20029817750842654, + 0.19855526168844934, + 0.19760651312005173, + 0.19940747805965056, + 0.19563461496958948, + 0.20001978799273526, + 0.20021301223141702, + 0.19589383315169664, + 0.19760638307381295, + 0.19445980630746676, + 0.19265305495248475, + 0.19258559342268683, + 0.19830427915199633, + 0.19353628912456447, + 0.19922522172069787, + 0.19280903252405585, + 0.19534688287155436, + 0.19504827583658677, + 0.19760575157017746, + 0.19683379952764474, + 0.19206178588194583, + 0.19781705557115217, + 0.19572691294999753, + 0.20033565345889567, + 0.1994341238678094, + 0.195643314349804, + 0.19832633008229167, + 0.19440898062826478, + 0.19783464336158305, + 0.19386125612286254, + 0.19740455054794795, + 0.19346527085391754, + 0.1955979634047876, + 0.19644445970950689, + 0.193410154000574, + 0.19400700834787676, + 0.19468271665685222, + 0.19401261944961748, + 0.1931689261695205, + 0.19635641638087023, + 0.1962837539898055, + 0.19441012261201848, + 0.1948944216776377, + 0.19418216758444679, + 0.196502774597832, + 0.19434472961231655, + 0.19163821000229875, + 0.19890642448382548, + 0.19401787136843718, + 0.19582984720667204, + 0.19145176644274675, + 0.1975987801521971, + 0.1908789870673819, + 0.1976604774702534, + 0.19141056774531573, + 0.19033033440931948, + 0.19685093106115265, + 0.191447000079062, + 0.19877846310319613, + 0.19406388498364238, + 0.19292670759210073, + 0.1904259840872378, + 0.19352667840533755, + 0.19124547084109908, + 0.18996310462201133, + 0.19570679635105695, + 0.19427876747199063, + 0.18998529274438133, + 0.19720768433816116, + 0.19322713738341535, + 0.19070873667261012, + 0.19160885737770286, + 0.19341186843015004, + 0.194123660658546, + 0.18633272463245037, + 0.19225709272451721, + 0.19215051619626514, + 0.19168778817348797, + 0.18883437215313542, + 0.19317225722840983, + 0.19571514726140812, + 0.1944234035595887, + 0.19508706322310077, + 0.19289984678228697, + 0.18965319380027437, + 0.19214479975539064, + 0.1900863046943002, + 0.19340753899915686, + 0.19099295281716808, + 0.19101843302101124, + 0.1961955395313578, + 0.19234134436696085, + 0.18977525340968499, + 0.19215484854084544, + 0.1934468405839591, + 0.19156922480598412, + 0.1889759793547224, + 0.19090522743977995, + 0.1928085083603312, + 0.19157982317713695, + 0.18969357524363364, + 0.19265837423981877, + 0.18753443864268174, + 0.19485605240654236, + 0.1908393651190063, + 0.18682440832849673, + 0.19060091666353224, + 0.19145695398638554, + 0.18641285552139128, + 0.18537841410880243, + 0.18946618942219182, + 0.18595360771151948, + 0.19026566082782564, + 0.1905126390317939, + 0.18972209942404647, + 0.19013884453963067, + 0.187785240949704, + 0.19017197061557928, + 0.18802736654011845, + 0.18584552027900283, + 0.1916203886093942, + 0.18931318722403287, + 0.19137109186933218, + 0.19058694979688579, + 0.18884195014549596, + 0.18625060372789382, + 0.18651066359348983, + 0.19241870809289477, + 0.18697833646066053, + 0.19057954945786648, + 0.1880234393066177, + 0.19297684810696802, + 0.19212024075916145, + 0.18837996709818414, + 0.18789966549690162, + 0.18832262254260276, + 0.19118935597735806, + 0.18545866876538694, + 0.19063677869463733, + 0.18674760329784876, + 0.1896516611309728, + 0.19193515195212232, + 0.18796392382672256, + 0.18643003498525887, + 0.18735686939676785, + 0.1832669914247246, + 0.18901658800518886, + 0.18283884640247633, + 0.18753115338948342, + 0.18643267264743463, + 0.18884271950908119, + 0.18821753085582354, + 0.19072507572892927, + 0.1909750043941428, + 0.19077914093253673, + 0.1822357758130616, + 0.18105503410351567, + 0.188936741652383, + 0.18383824546032496, + 0.18603952125068013, + 0.18815220637526078, + 0.18881343838556552, + 0.1861155351840347, + 0.1826185632798969, + 0.18661190238168937, + 0.18619879980825046, + 0.18559282196298332, + 0.18471216023201834, + 0.1852738901072777, + 0.1816867047220195, + 0.19169064282812748, + 0.18687615291263895, + 0.1785167911665269, + 0.18823523559131936, + 0.18109431694224704, + 0.18709952318727605, + 0.18781312361689972, + 0.1825655823735811, + 0.18076325043329589, + 0.18382108663223024, + 0.18252309275341053, + 0.1876087885247458, + 0.18076847617824873, + 0.18831527204642967, + 0.18492154956621543, + 0.18221924576156456, + 0.18475043313970807, + 0.18177516684961428, + 0.1822526236904916, + 0.18432143489924183, + 0.1846677095569465, + 0.18503521398188325, + 0.18146173981237668, + 0.18845451683438288, + 0.18615819038737805, + 0.18516061854881977, + 0.18529786758084954, + 0.18259603057529447, + 0.18127655219827815, + 0.18446083855886433, + 0.1814503342252145, + 0.1822218444306597, + 0.18529104422607007, + 0.1850029171105554, + 0.1845685809548796, + 0.18203569976869252, + 0.17863542652640504, + 0.18306991156042535, + 0.18166699392054605, + 0.18189899168270626, + 0.1818896580362174, + 0.18286021017620413, + 0.18455000862832371, + 0.1846741605493089, + 0.18073433662397326, + 0.18159351924673542, + 0.18277889761407304, + 0.18394388186685537, + 0.18183084915104444, + 0.1831090661044879, + 0.18296576265405168, + 0.17970241524210764, + 0.17929271206726813, + 0.18471931939693995, + 0.18293579941364832, + 0.18527596954552497, + 0.18419201244295372, + 0.18429040199356433, + 0.18205066749808985, + 0.18066032804172794, + 0.179659070612276, + 0.18093960659025915, + 0.18649527547590503, + 0.18514822917885007, + 0.18419890407051334, + 0.18370720959305537, + 0.18064487600180718, + 0.18513811964951798, + 0.1799234423404759, + 0.18038565196119682, + 0.1815416415774517, + 0.18370648441887502, + 0.17916124206412276, + 0.18132887904842696, + 0.17605207576231308, + 0.17946300729226308, + 0.1822019818549355, + 0.1749210942348619, + 0.17813101294236855, + 0.17956772503451607, + 0.1796528867585442, + 0.17665969632531797, + 0.18127613751337343, + 0.1784995931687705, + 0.18162669370731266, + 0.18004338503088974, + 0.18125932736732409, + 0.1783786202447677, + 0.17827599605870084, + 0.17619464973084606, + 0.17968928615992677, + 0.17753254330862278, + 0.1777491377999818, + 0.17753515891240915, + 0.18260047573379784, + 0.18213959878299169, + 0.1748387365536451, + 0.18305643553210463, + 0.18201165913464643, + 0.17601997833642027, + 0.1788538109585187, + 0.17903527202773897, + 0.17518199464186615, + 0.17266930118687338, + 0.17747858529540195, + 0.1792482589841436, + 0.18300382323016268, + 0.17919421245682904, + 0.1787332639707657, + 0.1798509659789594, + 0.1772868370862296, + 0.17898481967075747, + 0.17911723857056291, + 0.18253984344291532, + 0.17783585092229398, + 0.1792343252862516, + 0.18324540634653802, + 0.17515610362650877, + 0.1731353042026361, + 0.17996036821110487, + 0.1752554995708441, + 0.17645173452492655, + 0.18030116576644442, + 0.17707564393684996, + 0.1784887245631227, + 0.17755227321217731, + 0.17729250224597684, + 0.17930869600345417, + 0.17607757651648664, + 0.18023921845663077, + 0.17683521563198634, + 0.17504568088697184, + 0.17543677627521964, + 0.17881769268839, + 0.17904680657886904, + 0.1798638474973722, + 0.1789728726604982, + 0.17718735223761348, + 0.17752310552773856, + 0.17694372563289668, + 0.1761428318000669, + 0.17741617862710485, + 0.17622828404404883, + 0.17513359482442842, + 0.17491027891254252, + 0.17694845458418587, + 0.174136488281179, + 0.17630174731699014, + 0.177745000396596, + 0.17661227851063696, + 0.17673402032686755, + 0.1759011551441585, + 0.17927834951384305, + 0.17279000611639717, + 0.1731076212058738, + 0.17374165422092291, + 0.17533886577045427, + 0.17411483494587676, + 0.1790961589143022, + 0.1736065685999685, + 0.17072682109282605, + 0.17468580048508509, + 0.17309407783609557, + 0.17952760694041528, + 0.1792732565635274, + 0.17373113513180832, + 0.1749788796990563, + 0.17702079676120153, + 0.17241360493921404, + 0.17180456514313636, + 0.17345614695853187, + 0.17460722361039085, + 0.17656470528185733, + 0.17581544221814618, + 0.17364644317600067, + 0.1731303346155365, + 0.17361790060695112, + 0.17647447506541142, + 0.1728843304097926, + 0.17496663156116454, + 0.17301960983840514, + 0.1788943740581974, + 0.17441950725898467, + 0.17248272011483753, + 0.17508046089782628, + 0.17837830764791196, + 0.17435305906510953, + 0.17280477994130156, + 0.17710268080935154, + 0.17257281046058834, + 0.17411723753739297, + 0.17287547499317368, + 0.17282687034173114, + 0.1744587234996077, + 0.17495421948201886, + 0.16855685344387403, + 0.17347510859501244, + 0.1757510762821188, + 0.17464022875396074, + 0.176994409460563, + 0.17333620778407435, + 0.1701617807673934, + 0.17246336861163242, + 0.17253002426686728, + 0.1700174188076174, + 0.17281261942597156, + 0.17491825153361948, + 0.1742520470810137, + 0.17325850828217532, + 0.17153131918531675, + 0.17468030170882148, + 0.17258510461208107, + 0.17545375017739764, + 0.17117358994775592, + 0.16885719775572555, + 0.16995034021231423, + 0.17138161556368028, + 0.1709756871517349, + 0.17149891972610162, + 0.1738087046259177, + 0.1720828132031753, + 0.17317317149940797, + 0.17614382862281452, + 0.17500557368963, + 0.1725517695225684, + 0.1679226768983454, + 0.17213570689127441, + 0.17137607336414562, + 0.174428895244016, + 0.1717257136963194, + 0.170973260459755, + 0.17180848948441058, + 0.17384810033980586, + 0.17011152782024594, + 0.17134072103563253, + 0.1746431197600855, + 0.17479194107035387, + 0.1689029200250334, + 0.1695979317758426, + 0.17293096093079274, + 0.16555087656973197, + 0.1696696626691757, + 0.17158115117038836, + 0.16879086744108604, + 0.17109209459719307, + 0.1746889988632605, + 0.16941201297668826, + 0.16857695376175805, + 0.16995972977233453, + 0.17257586211700915, + 0.17271134305164354, + 0.16891840939333133, + 0.17367524428247538, + 0.17066845749946316, + 0.1688315356306914, + 0.17053791694627898, + 0.1688574320645234, + 0.16786732885770111, + 0.17306575591502205, + 0.16753822308893826, + 0.16834322111652622, + 0.1715263713831908, + 0.1721601718224995, + 0.17142423310399693, + 0.1707781538073919, + 0.16778166631139838, + 0.16900119895616758, + 0.16903923557137085, + 0.1726583005057289, + 0.17145136890744944, + 0.17140727772146735, + 0.16763624194468335, + 0.16864367321116525, + 0.17172755206584794, + 0.1722655190049531, + 0.16817124957070667, + 0.17144207404897938, + 0.17208173130254406, + 0.17099136948608296, + 0.17002138190558153, + 0.17109902037609517, + 0.16860693619680514, + 0.1670060224677308, + 0.16201466014637222, + 0.16483547239185564, + 0.1691112392638961, + 0.17153412686085573, + 0.1643205911635965, + 0.16157802017918282, + 0.16748405813270845, + 0.1626480538739797, + 0.16814611540161734, + 0.16890956735130205, + 0.16868494709794174, + 0.16550474609775234, + 0.1681205438427194, + 0.1677979856433307, + 0.1705391993276228 + ], + "val_loss": [ + 0.6837535398080945, + 0.6808617664501071, + 0.6797587664797902, + 0.6788604095578193, + 0.6755275866016746, + 0.6720871991477907, + 0.669990538712591, + 0.66478815311566, + 0.6668376801535487, + 0.6563610814511776, + 0.6535511678550392, + 0.6476569806225598, + 0.6435063809389249, + 0.6441168598365039, + 0.6386407050536945, + 0.6411911063361913, + 0.6649600686505437, + 0.6977602690923959, + 0.6809203153941781, + 0.7998637737706303, + 0.9309993218630552, + 0.9570437667891383, + 0.8579157117754221, + 0.7328343953937292, + 0.6827357977628707, + 0.6626586904749274, + 0.6309301418950781, + 0.6447104989551008, + 0.6724461554083974, + 0.6640056152828038, + 0.6686685571447015, + 0.6479264668072574, + 0.6524962862255052, + 0.6356058791046962, + 0.6682187886210158, + 0.6645116559579037, + 0.635511537711136, + 0.6977844673441723, + 0.6438897716230713, + 0.7399119395529852, + 0.6661961822886951, + 0.8087369620800018, + 0.9428851776057854, + 0.88209864316741, + 1.0147222491214052, + 0.7011527499649673, + 0.9510423514293507, + 0.6525656246114522, + 0.7418134901672602, + 0.6240785124246031, + 0.6359665503259748, + 0.6037412822595798, + 0.6328079692320898, + 0.628664293885231, + 0.700733122753445, + 0.604088193573989, + 0.6462942727375776, + 0.6138490027748048, + 0.6466229420853778, + 0.5933875548886135, + 0.6406642208108678, + 0.5885581656126305, + 0.6163986644241959, + 0.5946291871368885, + 0.6454422336420975, + 0.5993158546509221, + 0.6999778651399537, + 0.5951976311276667, + 0.6005147641757503, + 0.7749981650151312, + 0.5933891815599054, + 0.6165886717149988, + 0.6994654182693921, + 0.6095017658779398, + 0.6102645426406526, + 0.6125960581004619, + 0.6027425701962784, + 0.7046931099379435, + 0.7523130051326007, + 0.6099965433124452, + 0.5893700341810473, + 0.6008129945024848, + 0.6021792829269543, + 0.6635494680143893, + 0.6394275473430753, + 0.6854730729013682, + 0.7076674975454808, + 0.6079873693641276, + 0.9113620150834322, + 0.602537229238078, + 0.7915673543233425, + 0.5930563809582964, + 0.5805831997655332, + 0.5937357653863728, + 0.6149781595449895, + 0.6271460426039994, + 0.5945632127579301, + 0.6093598171602934, + 0.6008140129037202, + 0.6089845343027264, + 0.6471162027679384, + 0.6344640049617738, + 0.7077141489367932, + 0.6454454336781055, + 0.818502271710895, + 0.6428684640675784, + 0.6284463297575712, + 0.7232864298857749, + 0.6534511900506914, + 0.6204039753880352, + 0.6667952121701092, + 0.714537943713367, + 0.6049941268283874, + 0.6033269479172304, + 0.7000217665918171, + 0.6023433247581125, + 0.6448701062239707, + 0.6615013489034027, + 0.6222946045920252, + 0.6572003472596407, + 0.6385593974962831, + 0.6196728036273271, + 0.5914685219060629, + 0.627667985856533, + 0.6550549015402793, + 0.6023582355119288, + 0.6413759751245379, + 0.6004644507076591, + 0.6437074440065771, + 0.6012735252734274, + 0.7985110735986382, + 0.6397227428853511, + 0.604662419622764, + 0.5682519568828865, + 0.5857964702881873, + 0.6812779356027022, + 0.6913212132174522, + 0.6542202215176076, + 0.7445729196071624, + 0.6297222123481333, + 0.6423733507748693, + 0.590905107324943, + 0.6670662542106583, + 0.7120161442318931, + 0.5814269498456269, + 0.6815116106998176, + 0.6140546316746622, + 0.6271565557923168, + 0.5832146328873933, + 0.6004421330522746, + 0.5690246121026575, + 0.6689263287233189, + 0.6918769845739007, + 0.64861916215159, + 0.63613023115322, + 0.6712537494022399, + 0.6107523914659396, + 0.6459066923707724, + 0.5619223393267021, + 0.7006696683354676, + 0.6220101102720946, + 0.5960782773559913, + 0.5755178284831345, + 0.7520203066989779, + 0.8762653185985982, + 0.6451453178655356, + 0.5949934807373211, + 0.6132888892199844, + 0.6602453297236934, + 0.5501121526118368, + 0.5985354516888037, + 0.5970587618416175, + 0.628732377756387, + 0.5502285622991622, + 0.6296718073543162, + 0.7302644147537649, + 0.6113733191043138, + 0.6135588821023703, + 0.6638819013722241, + 0.6766543399076909, + 0.6648193206405267, + 0.5476524461992085, + 0.6118697854690254, + 0.5600887827109545, + 0.602060604793951, + 0.6159616459393874, + 0.6236383793642745, + 0.6255135208833963, + 0.5909668660722673, + 0.6560392479645089, + 0.6733227327466011, + 0.5933559009572491, + 0.5853262573946267, + 0.6411456990987062, + 0.6055487618781626, + 0.6983558352570981, + 0.5729147687554359, + 0.6519304474815726, + 0.5959925224306062, + 0.5782449707621709, + 0.584726607054472, + 0.5732763999141752, + 0.5922823722939938, + 0.6165207889396698, + 0.5767071139067411, + 0.5801151428371668, + 0.6991901749977842, + 0.6062897151568905, + 0.5996903289109469, + 0.5504642152227461, + 0.6478331433376298, + 0.5603071721736341, + 0.6272071243263782, + 0.539345578989014, + 0.6328383211046458, + 0.5580860541667789, + 0.6743434067815542, + 0.7433125905692577, + 0.5551517272368074, + 0.5391561783384532, + 0.5729662130121141, + 0.7045952447922901, + 0.5777107294183225, + 0.660094101447612, + 0.554440407268703, + 0.5591775984386913, + 0.6389930934179574, + 0.5773761197924614, + 0.5520537857664749, + 0.594756726687774, + 0.5982540355995297, + 0.5644620038103312, + 0.7290082804393023, + 0.5491717587457969, + 0.5990470403339714, + 0.5832724136067554, + 0.7680393058806658, + 0.6617012536386028, + 0.5361956256907433, + 0.6157856942154467, + 0.5188118814025074, + 0.6496217958396301, + 0.6028324401238934, + 0.5948959065135568, + 0.5678262147819624, + 0.5878142446279526, + 0.5412019022507593, + 0.5932982685044408, + 0.666997637716122, + 0.5423202239675448, + 0.5480596764944494, + 0.6859954008366913, + 0.5738623898243531, + 0.538457851507701, + 0.5162059548078105, + 0.7046908490592614, + 0.6630232523195445, + 0.6938623853260651, + 0.47693106001242996, + 0.5101493786321953, + 0.578515797026921, + 0.6451329969801008, + 0.4976959624094889, + 0.5472371845971793, + 0.535261289589107, + 0.46548208196181806, + 0.6858580060768873, + 0.5563647588016465, + 0.5028980616480112, + 0.5664669413119554, + 0.5383860894478858, + 0.6589322507148608, + 0.47812911914661527, + 0.6734559064265341, + 0.5241260897368193, + 0.6152611957513727, + 0.4796724751591682, + 0.6411422240547836, + 0.48126724706962704, + 0.7154760526726023, + 0.6229730058461428, + 0.502487138309516, + 0.5372827477753163, + 0.6141489777946845, + 0.5639543039724231, + 0.6028234343510122, + 0.5129163067089394, + 0.4873328515095636, + 0.5793962263967842, + 0.5182519261492416, + 0.47919087393675, + 0.6529558789916337, + 0.4585468405857682, + 0.598224809486419, + 0.4519195881439373, + 0.5799864204600453, + 0.45087615509983153, + 0.7130121544003487, + 0.5370883343974129, + 0.4949588841060176, + 0.5545310524292291, + 0.5041814696043729, + 0.5929030989762396, + 0.47828278618399056, + 0.5937392150517553, + 0.5646779598086141, + 0.49853473409311844, + 0.4630895641399547, + 0.4789579006610438, + 0.4909519900334999, + 0.49366675935452803, + 0.5929325230652467, + 0.4520480107632466, + 0.48391052150400354, + 0.4654077205923386, + 0.49085608643945305, + 0.5791329185245558, + 0.5034573413664475, + 0.5057015111087821, + 0.47901317324722187, + 0.6456027263891884, + 0.5355958627187647, + 0.4053811605437659, + 0.5766357364133, + 0.44580225329846146, + 0.6579559279489331, + 0.42611432953272016, + 0.46954717015614733, + 0.48713843862642536, + 0.47127818334265614, + 0.48908460250822827, + 0.6759211516007781, + 0.4203168395208195, + 0.5299526964314282, + 0.5175558125018143, + 0.44214976649964227, + 0.5896355043456424, + 0.4242501694679959, + 0.5453422988939565, + 0.5035021945543121, + 0.518365224916488, + 0.5241804264893289, + 0.4427198630408384, + 0.4751963686547242, + 0.42600643902551383, + 0.577619872026844, + 0.42009350846055893, + 0.45816900399513544, + 0.47692101332941095, + 0.44894164096331224, + 0.5203581050387583, + 0.41836173242190855, + 0.5267689580796286, + 0.4186901869252324, + 0.4356181456852937, + 0.48766829140949997, + 0.48541455877712, + 0.4234089504549047, + 0.4397804759297287, + 0.40301864868961274, + 0.5745774151640944, + 0.40588396662788, + 0.6065631951845717, + 0.4155703619646374, + 0.41367736806278116, + 0.433025543417898, + 0.46456981101655404, + 0.41098400128248613, + 0.4816622806538362, + 0.40838502717670055, + 0.40717748327879233, + 0.41863356342946645, + 0.5177804252307396, + 0.43658531292458064, + 0.5414316519454587, + 0.401873391965637, + 0.577525918680476, + 0.48549619981786235, + 0.40387307973578573, + 0.468524489516858, + 0.5057863884721883, + 0.3990491162694525, + 0.4654234148329124, + 0.43361134887090885, + 0.41211897000321185, + 0.5105684784561163, + 0.43883600720728283, + 0.42548896465450525, + 0.41854280966799706, + 0.4163602641056059, + 0.5526355350622907, + 0.4258788003877271, + 0.45340075324638746, + 0.40241534064989537, + 0.48559104252490215, + 0.38946849808853584, + 0.45288874020334335, + 0.4589950733672595, + 0.44478966168535405, + 0.42404575143009426, + 0.41915098689496516, + 0.43031090044532905, + 0.50510427201516, + 0.39839870092982893, + 0.44298090304946525, + 0.4393854301306419, + 0.3967147718387423, + 0.49749279429670423, + 0.43107709516189063, + 0.47102158718626014, + 0.42765676662675106, + 0.42324335826560855, + 0.4121347493317444, + 0.41746900185244157, + 0.4632350949163083, + 0.401131438172888, + 0.5036479368223808, + 0.4618144873878919, + 0.42771304300113117, + 0.4372929961420596, + 0.39876097525120713, + 0.5068366563296877, + 0.4212705817539245, + 0.44333554165496025, + 0.3933345776022179, + 0.39771110005676746, + 0.41640375182032585, + 0.4693370484863408, + 0.41215755843441004, + 0.4631826943485066, + 0.43612835081294177, + 0.45977474631508813, + 0.41180825109186114, + 0.4091412759560626, + 0.4399147013260517, + 0.41208955727342983, + 0.42108872370736206, + 0.456803050354938, + 0.4217199908278417, + 0.40706960519892166, + 0.42555121139157565, + 0.4429363260162063, + 0.4237496522720903, + 0.4026853613409912, + 0.48881404547719287, + 0.40046196670155043, + 0.41393236626172436, + 0.4534681942081079, + 0.4272033283195924, + 0.42852093777037226, + 0.42724264289136044, + 0.40891457196848935, + 0.4373244873568183, + 0.4328620851971209, + 0.3958024202496745, + 0.4374194480711594, + 0.4006634867168032, + 0.4023079953709384, + 0.443105529883178, + 0.43381703769555313, + 0.42781512745132205, + 0.41848901762859897, + 0.4217281610501232, + 0.4524538826488424, + 0.4317744905478321, + 0.4389239248004742, + 0.4080384608940221, + 0.41295626696082766, + 0.4553350954316556, + 0.41691684811958113, + 0.4138797532650642, + 0.4581472846795805, + 0.4186508358630817, + 0.4387610870646313, + 0.41140993334702214, + 0.44923786948202177, + 0.41714415507158265, + 0.41627688331354873, + 0.43609823449514806, + 0.43936356882331895, + 0.402437332784757, + 0.44825073358952067, + 0.44401784223155116, + 0.3993782053992618, + 0.45861873019021004, + 0.4509182140638586, + 0.4220305686350912, + 0.4625108718930278, + 0.404669621316134, + 0.42843005892646036, + 0.46980452559655533, + 0.41632333837042096, + 0.45341434557922183, + 0.42435119801957627, + 0.4287116137566045, + 0.40843609637231565, + 0.4075598667113809, + 0.40853130438772495, + 0.42188469010870905, + 0.41395667173783296, + 0.41214106370462106, + 0.42664181072614155, + 0.41931053138396235, + 0.4121475782128982, + 0.4062248788512079, + 0.4300654939084779, + 0.42130440290784466, + 0.40591106591164133, + 0.4180720241565723, + 0.4332333857077174, + 0.4169172756781336, + 0.43237835946783887, + 0.4010930150951026, + 0.40488450493721756, + 0.42852728168363685, + 0.4352570383809507, + 0.42205696292803624, + 0.4504865663329838, + 0.40279787381587084, + 0.4208511884644395, + 0.41721058402908967, + 0.40648567661410195, + 0.4356409998668823, + 0.41796305423486046, + 0.42068205640243833, + 0.418044707988156, + 0.42167363908956756, + 0.4372314041131176, + 0.41637065025279296, + 0.41767756597255357, + 0.454522404196905, + 0.4216564170725178, + 0.4039592461136635, + 0.39796440927893856, + 0.41100397828558927, + 0.4275628146540839, + 0.38404766720777844, + 0.43226385153247976, + 0.3987786326906644, + 0.40357568659528625, + 0.4086331015045289, + 0.4119035385956522, + 0.44109533933224154, + 0.4023881843662821, + 0.41005090275721157, + 0.411685478783329, + 0.40408824615878985, + 0.41760151762282477, + 0.3853190355526749, + 0.42444364015827885, + 0.42855948242358866, + 0.3903701618197374, + 0.4205900291039143, + 0.4209238364419434, + 0.3987040124746272, + 0.4067794808972394, + 0.402936849440448, + 0.4139486906817183, + 0.4132025605707895, + 0.38752829154836943, + 0.43604433501604944, + 0.4084512745059328, + 0.4028216365230037, + 0.3996644334984012, + 0.419211408807314, + 0.4013991788349813, + 0.42618972817726897, + 0.4133462386933388, + 0.3883523588592652, + 0.39802340772293976, + 0.4018145191890653, + 0.4142020750732627, + 0.4243126503744861, + 0.418480383977294, + 0.40552819799340795, + 0.43320295405283105, + 0.40025900498440026, + 0.38908744320215194, + 0.4751710381853627, + 0.38880115941283294, + 0.39016154573182577, + 0.40168910163047256, + 0.40665519118774685, + 0.3980171259958297, + 0.4089977950206958, + 0.40750284707464746, + 0.39712336740922183, + 0.39747001936193554, + 0.4226156859571347, + 0.40691272547701374, + 0.3988963561918354, + 0.423338451894233, + 0.39383831397572067, + 0.39520897296315527, + 0.4029860716982512, + 0.4059383014217019, + 0.39975988773803695, + 0.3971185566129861, + 0.4303483586292714, + 0.3825094315659953, + 0.39840793602052144, + 0.38093857089988886, + 0.3844005805789493, + 0.40746168481418865, + 0.395955541706644, + 0.4135718873236328, + 0.41253751003241634, + 0.39132114127860407, + 0.39519099275930786, + 0.3992330986919114, + 0.3856447619618848, + 0.40252633240888824, + 0.3834263891389128, + 0.41313587488839404, + 0.4101221415825421, + 0.4112391498521902, + 0.38053254603000825, + 0.40759644340723755, + 0.3825121673580725, + 0.3880395772488555, + 0.4158400769898435, + 0.3810199638013728, + 0.3879084972082637, + 0.38700432008481583, + 0.41271495455875995, + 0.3944566490506986, + 0.39509669656690677, + 0.40582393333315847, + 0.398096478622756, + 0.3751269219763344, + 0.39312025328399613, + 0.3906873691448709, + 0.38339346516877415, + 0.3955454476119485, + 0.4045528396731243, + 0.3718306876195129, + 0.41467662835202646, + 0.38944429710973055, + 0.3825744788249722, + 0.37604119479365183, + 0.40310202827677133, + 0.4000708508392563, + 0.3958066643652273, + 0.3915192643587943, + 0.3959655268525239, + 0.3889603042334784, + 0.3656437678204384, + 0.3732136897509918, + 0.41581396177061836, + 0.3863310683256714, + 0.3993420270911884, + 0.38621062339516354, + 0.4182585409929743, + 0.3845885500893928, + 0.39479142807540485, + 0.3653660714218859, + 0.3813328984571854, + 0.4026083049422596, + 0.3834329484205227, + 0.3917783496784978, + 0.3860267470445251, + 0.39568127194652336, + 0.3693709313054569, + 0.37833433248160875, + 0.40241907463641835, + 0.3867076639260631, + 0.38587021474959327, + 0.3928761314658914, + 0.4039034924702719, + 0.40239524518838155, + 0.37289051939442286, + 0.38655313982453665, + 0.39542148633045143, + 0.38088163633365185, + 0.3710941695171641, + 0.3746877934288932, + 0.39108446054451634, + 0.3718320832966128, + 0.39025647411472164, + 0.3595971638394985, + 0.41259849148336797, + 0.3670353934779996, + 0.3926146994024748, + 0.3779729972360656, + 0.4009223950502928, + 0.3773313765064813, + 0.3758555766718928, + 0.3784228878037538, + 0.3860819894907763, + 0.3987446767627262, + 0.373024118761532, + 0.4196148525486933, + 0.3657932123111095, + 0.39853077180159746, + 0.39399527135828977, + 0.36386465380201116, + 0.39558731981669554, + 0.38093320428743027, + 0.3851495717011858, + 0.3818944537459174, + 0.3728474951320095, + 0.3878117656160612, + 0.378932871716097, + 0.3800989979412407, + 0.39314479859312995, + 0.36366636312450284, + 0.36523084898944946, + 0.3839830731158145, + 0.3941168888530228, + 0.36646295788232236, + 0.3811379563412629, + 0.36742400837829337, + 0.3891682927380316, + 0.39935152895050124, + 0.3829256837867433, + 0.38073079808673355, + 0.3753415945218876, + 0.3812646411475725, + 0.3755155607301276, + 0.38644940700614827, + 0.3669610398821533, + 0.3830024469702039, + 0.36782202596659774, + 0.37202724103699436, + 0.3812757149746176, + 0.3685469924588688, + 0.38464754909218757, + 0.3711332143866457, + 0.38885290100588465, + 0.3605401061591692, + 0.3763812191056786, + 0.38207966000773014, + 0.36874254073773044, + 0.3862140415527392, + 0.3828715699259192, + 0.3794116145465523, + 0.36958769050543194, + 0.36678582336753607, + 0.3748989540734328, + 0.37484198991442097, + 0.36932086417800747, + 0.3911411770095583, + 0.3552202123828465, + 0.3860920940816868, + 0.36056693266145884, + 0.3745508866326418, + 0.3630712229118217, + 0.3868921609275276, + 0.3818535275233444, + 0.3723085123900091, + 0.364282512202044, + 0.37362535028369165, + 0.38523702283855527, + 0.37507627794402654, + 0.365230923704803, + 0.3586865286109969, + 0.37121991913882085, + 0.3732323421165347, + 0.3653968207014259, + 0.37512288373545744, + 0.3596379255352076, + 0.36124334715132134, + 0.3739671585150063, + 0.376194637111621, + 0.3891031113045756, + 0.36039479108003436, + 0.36600838734884744, + 0.38970514124375766, + 0.3530165718868375, + 0.3667775600479217, + 0.3619968327519018, + 0.3863549265603069, + 0.381904105655849, + 0.3745369661308359, + 0.36571124703623353, + 0.36675552586093546, + 0.366692001442425, + 0.37645135044003836, + 0.37754887926857916, + 0.36096077515976505, + 0.37888871165923776, + 0.3811111470189644, + 0.37367404317192265, + 0.3613807953282958, + 0.3841285335307475, + 0.36867340288008565, + 0.3640257812861819, + 0.390785597456852, + 0.37198388810502364, + 0.3792919623432681, + 0.3757828444708139, + 0.3726649800431915, + 0.3788888893090189, + 0.36986655467771923, + 0.36665857245970984, + 0.3873218736873241, + 0.3758348939096322, + 0.3777693632233422, + 0.36124477826524526, + 0.36602403706056064, + 0.365065261995187, + 0.3785124852496665, + 0.3925806866027415, + 0.36705674255499615, + 0.3848108613630757, + 0.37448668994766193, + 0.38008358684019183, + 0.37292965335655026, + 0.3581492556608282, + 0.396636048896471, + 0.3610747658909531, + 0.3691645634302404, + 0.3711364228278399, + 0.3975683670927538, + 0.3605935135070467, + 0.35721588277374394, + 0.37765974245266987, + 0.37459668023511766, + 0.36757818021578714, + 0.3968598719511647, + 0.37666292243520727, + 0.36836109539726747, + 0.3647618715884164, + 0.3666502754000248, + 0.3683351047511678, + 0.35701222690695433, + 0.36646296868857464, + 0.3785323765594512, + 0.37850116468034684, + 0.3631847762851976, + 0.37607628750556615, + 0.3777660636405926, + 0.3607564652862493, + 0.373096515215002, + 0.36451069422182625, + 0.3624970472941641, + 0.37700271186768075, + 0.3669932232965948, + 0.3640872778836638, + 0.3864326164126396, + 0.3636078827199526, + 0.3744205191847868, + 0.36709026597091, + 0.35732896301196887, + 0.38536355408432427, + 0.36870869581762233, + 0.36373659370583483, + 0.3946772708673961, + 0.3632907743536634, + 0.3816307298606262, + 0.35994532298645937, + 0.37317376265418717, + 0.3644854214799125, + 0.3674176646018168, + 0.37335643646365496, + 0.36689109980652573, + 0.3561392402043566, + 0.36863609771826306, + 0.3568495801708195, + 0.36271081313316245, + 0.38398718683747574, + 0.3662123025074834, + 0.3628107343305601, + 0.36981751580024136, + 0.38292521588737144, + 0.3709471451176796, + 0.3861052378430031, + 0.3793069562205346, + 0.3627990517532453, + 0.36985744422709105, + 0.3673429965856485, + 0.37389451898052356, + 0.38374921590439043, + 0.37806336108478716, + 0.3564064058737131, + 0.3665279156441102, + 0.3760578857443761, + 0.3716544849507045, + 0.365304532967275, + 0.3650567204807885, + 0.37170023664366453, + 0.36561702053877526, + 0.3878636681241915, + 0.364791821691324, + 0.3711238635412883, + 0.3651173364807619, + 0.38224856730375906, + 0.3570331345370505, + 0.3773483498138376, + 0.3740477379731601, + 0.36375657824391966, + 0.36355372005782555, + 0.36640674743102863, + 0.3785534505237592, + 0.3623719684197567, + 0.35731143182783853, + 0.3703739394783042, + 0.3673266817757394, + 0.3790828892728314, + 0.3684625845751725, + 0.3829455216182396, + 0.39080971939838494, + 0.3782155045890249, + 0.37748745690914803, + 0.367620714646182, + 0.36794029381126164, + 0.37625705140817445, + 0.3668572977592703, + 0.3740405569114955, + 0.3940475181560032, + 0.3724259139969945, + 0.36507374586071817, + 0.36864057392813265, + 0.36963855648064053, + 0.3743908711941913, + 0.3806287233193871, + 0.3711033267987659, + 0.3552874192217132, + 0.37515867259935476, + 0.3699617171019781, + 0.3704017789917998, + 0.3723552178533282, + 0.35758864785311745, + 0.3801324917527381, + 0.37069377342122606, + 0.3718645122862654, + 0.3795436802087352, + 0.36130079330760057, + 0.3698800865386147, + 0.3823034738685237, + 0.36604712587140964, + 0.4004361681058072, + 0.36727262745262124, + 0.3760558925278019, + 0.37295443754119334, + 0.3691749805671861, + 0.37083078749710696, + 0.3618428294255864, + 0.3639205311686965, + 0.36827754355035724, + 0.3709292475716211, + 0.36677562244294676, + 0.3670441181922797, + 0.3850596643402241, + 0.36909196886990686, + 0.3702861176483566, + 0.3773549327946967, + 0.3723895116272615, + 0.38114985507854726, + 0.36787105818511917, + 0.38356408741674386, + 0.36953686057822777, + 0.3784689217689447, + 0.3696250921377214, + 0.36984931985498404, + 0.36608545113122093, + 0.378039180469932, + 0.36937064814846965, + 0.3785871333820978, + 0.3736191811301978, + 0.37252388846245593, + 0.3602418202237459, + 0.358902268690872, + 0.3791280556964921, + 0.3731448003614787, + 0.37227132443222216, + 0.3786735142377438, + 0.3642466838093242, + 0.3746001537074335, + 0.36933793139760385, + 0.3639672724617412, + 0.36933424017042854, + 0.3785008790349821, + 0.3711935043975245, + 0.39019153581466526, + 0.3774353821936529, + 0.36713729811017404, + 0.3936333276593359, + 0.3859704881615471, + 0.3759029261214891, + 0.36833514959726016, + 0.39803869323222896, + 0.3659924418490846, + 0.39063455135328695, + 0.3940583012095885, + 0.3616583923168946, + 0.38096005432889796, + 0.38357728979899547, + 0.3723348793108016, + 0.3773258138768142, + 0.39055020706146026, + 0.39974596111569555, + 0.3794544554199092, + 0.3674509715317981, + 0.37191140685463325, + 0.3834591149148764, + 0.3783102504676208, + 0.3799050531262765, + 0.3865432990132831, + 0.37099584052339196, + 0.38605501363635997, + 0.3639021299663, + 0.3774588725937065, + 0.3773071348434314, + 0.3656004023971036, + 0.379213086279924, + 0.3692651260556886, + 0.38575388501631097, + 0.37331516967678907, + 0.39065102791646494, + 0.3818036047014175, + 0.37268090254510755, + 0.3660745721019339, + 0.369505228480557, + 0.3862582160974853, + 0.3597962742962409, + 0.37206060766184235, + 0.3744105990626849, + 0.37668243611697105, + 0.3808992578356992, + 0.36991472508525475, + 0.37156249323452356, + 0.37367158158449454, + 0.37691530623997094, + 0.37354639058467, + 0.3753616343630711, + 0.3970821817172691, + 0.35987903412315064, + 0.37540943902859, + 0.3714663624705281, + 0.3795810481271474, + 0.3913883244676981, + 0.3902887125732377, + 0.3769974338967586, + 0.3818793916114373, + 0.37300196320575196, + 0.381800970522454, + 0.40830559116438964, + 0.372556448134128, + 0.3811591125006089, + 0.3832184375380166, + 0.3756754530942999, + 0.3779302598937647, + 0.3613182806468103, + 0.3875190903549083, + 0.3677281805721577, + 0.3768778159021167, + 0.3710824285808485, + 0.38322396504227074, + 0.3637495646922616, + 0.37825380513095297, + 0.4046027757518459, + 0.3603005551965907, + 0.37837757492670787, + 0.37088268644874917, + 0.3751634854445001, + 0.396276630286593, + 0.3755277071264572, + 0.363931427692296, + 0.3779160494887037, + 0.3896302852779627, + 0.3827924464305397, + 0.37335816918639464, + 0.37944318787194786, + 0.38056532870978116, + 0.4097753388341516, + 0.3690816230518976, + 0.38873473968124017, + 0.3747514554823283, + 0.3760821299860254, + 0.3726070922741201, + 0.3827648816630244, + 0.3664260376739549, + 0.3756098891957663, + 0.3756380895327311, + 0.37518089354853146, + 0.3727368180960184, + 0.3835495174775133, + 0.393852992754546, + 0.3715407782350667, + 0.3800149720133049, + 0.3794213741552085, + 0.38196164622204376, + 0.3908688595634885, + 0.3717525679501705, + 0.3705980473197997, + 0.37181939621805216, + 0.3831368766957894, + 0.38499979426851494, + 0.36499667419993786, + 0.38387689686205706, + 0.3806288982159458, + 0.37263242280459963, + 0.3776828798290808, + 0.38408671957440677, + 0.38970841831178404, + 0.38027783130528403, + 0.3906279367976822, + 0.3808542860439047, + 0.3709471443406073, + 0.3885692238807678, + 0.37907815489452334, + 0.3852136171975872, + 0.3773490451159887, + 0.38242475453880614, + 0.3791089199949056, + 0.37726774855400436, + 0.37824785403499844, + 0.380381136626238, + 0.38063257026660724, + 0.3689251431758748, + 0.3772965500509599, + 0.38119459484005347, + 0.3651982549810782, + 0.37447817268548533, + 0.38233895318116995, + 0.36180731815402395, + 0.38181192431366073, + 0.37492653461522424, + 0.3745288506499492, + 0.386456472822465, + 0.3790864555805456, + 0.3855033048777841, + 0.3809566355368588, + 0.3752879138017306, + 0.3780777446081629, + 0.3822987914260011, + 0.37580431042588314, + 0.40356586187845095, + 0.37468826409312894, + 0.3787895614048466, + 0.3652134518517414, + 0.3650184815836838, + 0.40404349151067437, + 0.3953913409553934, + 0.38722406803281045, + 0.3900032487465069, + 0.3909702321747318, + 0.38529074024409055, + 0.3870869842125103, + 0.39394898489117625, + 0.39603235633694567, + 0.4007859368692152, + 0.37174433755280917, + 0.38499737784150057, + 0.3718191274383571, + 0.38371401493786833, + 0.38541910211497454, + 0.37593585191934836, + 0.3755564306193264, + 0.3753263709950261, + 0.3734240056015551, + 0.3836823515710421, + 0.3843616100726649, + 0.37960142015945164, + 0.3772528982342919, + 0.3990946112462552, + 0.380710304286913, + 0.3997477826895192, + 0.3853060810943134, + 0.3830415766802616, + 0.386007196753053, + 0.3808644520730013, + 0.37184015741513576, + 0.3782691014173906, + 0.39487718998279886, + 0.3829108715726761, + 0.3805554607737577, + 0.39533966763992795, + 0.3678601589112077, + 0.379824549582554, + 0.3793062760203611, + 0.3874881153635215, + 0.3879775673849508, + 0.39338689295109364, + 0.39146467606769875, + 0.376608108021901, + 0.374895642028423, + 0.3858859711326659, + 0.3837924890802242, + 0.41186931732809173, + 0.369529726204928, + 0.38138551686133726, + 0.3897563920065295, + 0.3814130401646253, + 0.38346902596531435, + 0.39473444352042864, + 0.3645650657039369, + 0.38139608786441387, + 0.3775456547504291, + 0.3912973064871039, + 0.37593924536486156, + 0.38307016613252926, + 0.3754398975986987, + 0.39925518227391876, + 0.37403912718291393, + 0.37945815915591086, + 0.39108853425714185, + 0.37412656244705433, + 0.3857519412005786, + 0.3719598032941576, + 0.37193593913689255, + 0.38278166220407, + 0.3747008765698411, + 0.3838770291476976, + 0.3761696136556566, + 0.38458746476098893, + 0.38781529718544333, + 0.3638020970916841, + 0.38273682740982623, + 0.3856707393017132, + 0.38776007711712734, + 0.3975633361376822, + 0.38268306220998055, + 0.3763594207644928, + 0.37280964700621555, + 0.38601479317003395, + 0.3791190316551365, + 0.3880427015887108, + 0.39573860992095433, + 0.3784767294418998, + 0.36942958770086987, + 0.38340279687545264, + 0.38136038347729484, + 0.3759206784365233, + 0.3751455123681808, + 0.3815393913362641, + 0.37419894434860906, + 0.37423882910516115, + 0.3715258357260609, + 0.37755492409924046, + 0.36166812872688753, + 0.38536510170670224, + 0.36602800915716216, + 0.3797293297306169, + 0.3696908468205947, + 0.38204813096381257, + 0.38913941842329225, + 0.37779933866113424, + 0.3703873946127715, + 0.3804659906309098, + 0.3814366984035587, + 0.38986644469550813, + 0.36952976739557925, + 0.3746271204785444, + 0.3857670478406362, + 0.37338496529846454, + 0.370262785765226, + 0.3814959750859998, + 0.37129457798146176, + 0.37956718186615035, + 0.4101309077319456, + 0.3793331005203072, + 0.3953621384338476, + 0.38091730935266244, + 0.38404768993787003, + 0.38917218883289023, + 0.3681339176022448, + 0.39561208969680595, + 0.3774361747287912, + 0.3915857879794203, + 0.3681540080753621, + 0.3849311194499023, + 0.3781217979849316, + 0.3784244095644681, + 0.379553277688683, + 0.37981119243777356, + 0.3787932648760034, + 0.37048146278539207, + 0.39184234481072056, + 0.38278377607057334, + 0.3805766853300156, + 0.3853700963809388, + 0.3725468560820445, + 0.37921501097152943, + 0.3632815808407031, + 0.3716031508811284, + 0.3684151535562705, + 0.3767846142349299, + 0.3781111675372813, + 0.36631338102160954, + 0.372517060150858, + 0.394205899478402, + 0.37723443313734606, + 0.38663280541659334, + 0.3720293559716083, + 0.3703671262774151, + 0.3901272768678609, + 0.3807299548701849, + 0.37103884111857044, + 0.37232549893669786, + 0.39578364305780267, + 0.3730590730905533, + 0.364998805540381, + 0.3819973274396034, + 0.3822696229326539, + 0.3901172902289545, + 0.39969619672046974, + 0.3894270069897175, + 0.390195880131796, + 0.3689595625502989, + 0.37398935182136483, + 0.3718751252250513, + 0.362190968557843, + 0.37186079400125893, + 0.3863296406896552, + 0.3909421256626956, + 0.3741649708885234, + 0.3783377046580426, + 0.3857764193962794, + 0.37237706653540953, + 0.3812313549366081, + 0.3829393460327992, + 0.3833721329225227, + 0.3813550238613971, + 0.37753934710053727, + 0.3707088081719121, + 0.37740739098226184, + 0.3780792190664215, + 0.3986884718411602, + 0.38940702775726094, + 0.39210240413376596, + 0.3720959872065578, + 0.39267251412093174, + 0.38317280791234226, + 0.3768691159901209, + 0.3828425316663925, + 0.38885491285764145, + 0.3771097584540257, + 0.39736040210700596, + 0.38897778919781556, + 0.38111618800321595, + 0.3851838379719993, + 0.37730317522655243, + 0.3772760228428524, + 0.3741895323095378, + 0.376460752543062, + 0.37707536010420883, + 0.39441727148951033, + 0.4062548018526286, + 0.3703890066943131, + 0.38665203184937125, + 0.37847370304807554, + 0.3736012060137, + 0.37862317005638035, + 0.37804798893630503, + 0.38560188679257407, + 0.37721840594895184, + 0.383334939845372, + 0.37627763717900964, + 0.37894174755201676, + 0.3808775645768037, + 0.3821446710964665, + 0.3749599485861836, + 0.3942823290970409, + 0.37676280793966727, + 0.38306960187619554, + 0.36301209818921054, + 0.38487399730365723, + 0.37953836972010324, + 0.3730740825471003, + 0.3888559109007474, + 0.3825969391153194, + 0.3727046236163005, + 0.38663352412404495, + 0.37266802660305987, + 0.3695019453036366, + 0.3715605513367336, + 0.38779849055281373, + 0.3781121348729357, + 0.3800113579869503, + 0.37606730202096517, + 0.3841039406659547, + 0.36359325708763207, + 0.3867233330616727, + 0.3589882801228669, + 0.3675373024540022, + 0.35938807440397796, + 0.37725997633533553, + 0.37670633451198227, + 0.3834542003867682, + 0.3693233373487601, + 0.3772535503201652, + 0.37794964321656155, + 0.3728017283545341, + 0.3846482292021392, + 0.37254492478678003, + 0.3843920539133251, + 0.3755660750583047, + 0.37441344583639874, + 0.3902344465604983, + 0.3816728527424857, + 0.35999823204183484, + 0.3796415008691838, + 0.37232238982105625, + 0.3733594804274617, + 0.37731922750826924, + 0.3855452048883308, + 0.38280309951805974, + 0.37277196597715373, + 0.36641843714751304, + 0.37584389428957365, + 0.37516340328729714, + 0.3769381753256312, + 0.3792038839776069, + 0.36716764788725414, + 0.3640797173604369, + 0.3760858992376598, + 0.40010358025319875, + 0.3642224775336217, + 0.37771410174318587, + 0.37490869394678156, + 0.3627267867239425, + 0.37076916080259253, + 0.37133349921205083, + 0.38404125822708013, + 0.3798854187334655, + 0.3780827131588012, + 0.3870179377263412, + 0.371917589372606, + 0.37205569114594256, + 0.3636309653666103, + 0.3779420932958601, + 0.37977192405378446, + 0.39225380377611146, + 0.3764851416752208, + 0.3767551513039507, + 0.3694220747041982, + 0.3590194519085344, + 0.38692563844670075, + 0.3745092121767811, + 0.3789011842745822, + 0.38241160387406126, + 0.36586223285412417, + 0.37696049820515326, + 0.3775358177954331, + 0.39262253540800884, + 0.36638791133009363, + 0.39317611087462867, + 0.377363993410836, + 0.3814287851098925, + 0.37001091133861336, + 0.37319910927908495, + 0.365641015447909, + 0.3830517098365817, + 0.3673404851986561, + 0.37343128815991805, + 0.38572725434205496, + 0.38770623377349694, + 0.3760594498744467, + 0.383450813536183, + 0.38830515565350654, + 0.39005896862363443, + 0.37205391001480165, + 0.3831721062568249, + 0.3753184887289535, + 0.3824510498321615, + 0.3709819552255794, + 0.3903767568495823, + 0.38822931914764924, + 0.37873451920750084, + 0.3951812669460196, + 0.38065742535982283, + 0.375957006655517, + 0.3774045249563642, + 0.3622659231419675, + 0.38130308750551195, + 0.37275745754013767, + 0.3868606593227014, + 0.3586562191921985, + 0.3658735098462785, + 0.3855890884617111, + 0.3738468198251212, + 0.3796451786998659, + 0.3767582349362783, + 0.39198817912256345, + 0.3617658568604384, + 0.3809036770864623, + 0.4006952675583307, + 0.39153286289947575, + 0.368624658882618, + 0.3681319052091567, + 0.36947983045247385, + 0.38006463258061557, + 0.3829198470280971, + 0.38010512150649445, + 0.3944302452320699, + 0.37966344886517617, + 0.3953854047664208, + 0.39801307183806783, + 0.37699830227647907, + 0.36671345616341566, + 0.38672917477670127, + 0.3778626452491153, + 0.40979573380900547, + 0.37728098628576845, + 0.38308584439218973, + 0.38719497769197914, + 0.3751557743351441, + 0.3633079784398433, + 0.37750839586660734, + 0.393629078232334, + 0.3880692296981579, + 0.36670439114095643, + 0.3958869151829276, + 0.402859221334802, + 0.3920087912178133, + 0.3808554761402775, + 0.3740920399548486, + 0.3763388515566476, + 0.38590932854567656, + 0.3711240070842905, + 0.37367402681556994, + 0.38698909274826293, + 0.3702194017561851, + 0.3862141929537756, + 0.38860056611010807, + 0.3701378634024877, + 0.3721503848413704, + 0.38746318241464905, + 0.3755054572451627, + 0.38876406007329933, + 0.3841810087847989, + 0.377904750907328, + 0.3764407993614441, + 0.38442221127334053, + 0.3711551977554336, + 0.38727427922422064, + 0.3701825421419926, + 0.3857160554820439, + 0.3846105095348321, + 0.3836200942256255, + 0.3794187814812176, + 0.3818287552683614, + 0.37521450647036547, + 0.372295854362892, + 0.36637627652671656, + 0.38461225024075246, + 0.3699929653113941, + 0.386651165765943, + 0.38798348990676457, + 0.38659926332475153, + 0.3812915422662627, + 0.387369098016643, + 0.37117469527001956, + 0.40141334201034623, + 0.38626982455316466, + 0.38037554262555207, + 0.3815532080945559, + 0.377385679926374, + 0.3844426921685226, + 0.36738615919603035, + 0.3836554892244749, + 0.3778020137484418, + 0.38349842303723564, + 0.36181967476441057, + 0.370484080069582, + 0.3759177381900372, + 0.3886038802244002, + 0.38555647623725237, + 0.36805271630291825, + 0.3896289841766702, + 0.36567319378082175, + 0.3941675794951152, + 0.36675411483738574, + 0.3772101546812337, + 0.368791223684093, + 0.399142009037314, + 0.38492169871169607, + 0.38908380691427735, + 0.37769887044269124, + 0.39388471097627187, + 0.3864737139025237, + 0.39288243939809037, + 0.38559674996649845, + 0.37954040252079724, + 0.3710895163851092, + 0.3772679006913677, + 0.39491884601302446, + 0.3758853215549607, + 0.3935197741549928, + 0.37363970004080327, + 0.39174108288716525, + 0.3669278035871685, + 0.3617735252773855, + 0.37375911987619476, + 0.384163208361133, + 0.36188056702085303, + 0.3738682438066462, + 0.3844557295786217, + 0.39582126392051575, + 0.3625365572341252, + 0.37982486326945947, + 0.3849298865243327, + 0.38872682910005096, + 0.3924055981857236, + 0.3764519375894452, + 0.39624446407251523, + 0.3813152010552585, + 0.37841205961594826, + 0.37536208428500684, + 0.37984951672551687, + 0.3890171767066931, + 0.38118441198021175, + 0.3711584886390483, + 0.3878883443365339, + 0.38973403828567826, + 0.3700893206056207, + 0.37942211285699157, + 0.3596868477150565, + 0.37793814358010425, + 0.3951095800031908, + 0.3754588472103933, + 0.3804334226733772, + 0.3685145524563268, + 0.36757776016020216, + 0.3798841486917809, + 0.39211280253948644, + 0.385395118559245, + 0.3814777583116665, + 0.37606833122554234, + 0.38054147822258527, + 0.36576702251622917, + 0.374082412730786, + 0.37154740272089837, + 0.3805157425638754, + 0.3703816435707267, + 0.3796118716796627, + 0.3916760769468965, + 0.36800685986527243, + 0.3839761290990282, + 0.37508760538185015, + 0.37736171927535905, + 0.3672704946482554, + 0.37669418496952856, + 0.394986255094409, + 0.38166287377825936, + 0.3926305481174495, + 0.3712387110397685, + 0.37847319231950677, + 0.37604376120434607, + 0.37241868913115467, + 0.3825780845276313, + 0.3718493506981758, + 0.3844245923421113, + 0.36802171483868734, + 0.3687321000383236, + 0.38461058570537715, + 0.37771788689424285, + 0.3724371691874694, + 0.37651836142176764, + 0.3838829263811931, + 0.3765300796483643, + 0.3782595325494185, + 0.3813180709752487, + 0.38529474080714865, + 0.3789022453594953, + 0.3839414155809209, + 0.38015147144906225, + 0.3867957315145759, + 0.37984425079193895, + 0.37541177719831464, + 0.3770717066829093, + 0.39463735950994305, + 0.3753883238183334, + 0.3850605132756755, + 0.38417336850543504, + 0.3964058991492493, + 0.37592439037980513, + 0.3952314827183727, + 0.3951889405056136, + 0.3775597244501114, + 0.3920240642270073, + 0.3693811653123703, + 0.39360020009917207, + 0.37852331006433815, + 0.3766352514619939, + 0.3809492495696759, + 0.3705048034491483, + 0.3623942623613402, + 0.380925595399458, + 0.3876116163271945, + 0.40374592662556097, + 0.37906985761947, + 0.38016629354679027, + 0.36952870441309643, + 0.3843758919887478, + 0.37516392299730794, + 0.385434905483271, + 0.38119326559826733, + 0.3737372713483637, + 0.39735256421554366, + 0.3675436539400835, + 0.37066923470410984, + 0.38695838912099134, + 0.36804384432616644, + 0.3742177089996403, + 0.3859797311917646, + 0.3861137574946042, + 0.38192882848379667, + 0.3845229818893131, + 0.40227791884099134, + 0.3757785179826897, + 0.3860652871604543, + 0.39364536448847504, + 0.38109325596888083, + 0.3786784706491744, + 0.37886036215350033, + 0.3716246157884598, + 0.38818464857758955, + 0.37868050878169013, + 0.37042432448943147, + 0.41458228628325744, + 0.3869499751017429, + 0.3823076684726402, + 0.37752934362215457, + 0.38283257675066124, + 0.37236537907156164, + 0.3853751906834077, + 0.39129950520582496, + 0.38944973842881153, + 0.38923948557057886, + 0.3830303386959713, + 0.37846693105821033, + 0.37357671827194283, + 0.3714690078573767, + 0.3916168086812831, + 0.3775854338542558, + 0.3822297599050216, + 0.3793116625456605, + 0.3929514407529496, + 0.3679944295552559, + 0.38746030963375233, + 0.3708787877054419, + 0.38440887646283955, + 0.3700822191487532, + 0.38909807375166566, + 0.3810508449270856, + 0.3736110797093716, + 0.3757331114466069, + 0.3670022520353086, + 0.3829576541786082, + 0.3658422005129978, + 0.3898669558024267, + 0.39216536877211183, + 0.39624803625047206, + 0.3792734333314002, + 0.37865189971635116, + 0.37774359310569705, + 0.36424334112671203, + 0.37282195620937275, + 0.38311779395735357, + 0.38385352161712943, + 0.3906214496237226, + 0.3986277248128317, + 0.3812250311370008, + 0.36766637340770103, + 0.3776061552227475, + 0.3755493813659996, + 0.37793326523387805, + 0.39623662959784267, + 0.3754869524098467, + 0.3919549393613124, + 0.3799830362870125, + 0.3718408123764675, + 0.3811363600339973, + 0.3852027991088107, + 0.38129336255369706, + 0.3768368430057308, + 0.37910751681774857, + 0.3696120387176052, + 0.3833690431434661, + 0.3764417010679608, + 0.39693975385744124, + 0.37044326015166007, + 0.3885492852772586, + 0.37872268102946693, + 0.3813441271980992, + 0.37644778907706494, + 0.37180379607889336, + 0.37453587343916295, + 0.3891799224889837, + 0.38464951659552754, + 0.3713601371011464, + 0.3798309126694221, + 0.3825002099387348, + 0.3563742612983333, + 0.3754721295379568, + 0.3704788845527219, + 0.3729895802563988, + 0.36596028856001794, + 0.39208755776635373, + 0.3795200266991742, + 0.3984757952275686, + 0.37530255106976257, + 0.37977339784847575, + 0.36864109223824926, + 0.38164987378404475, + 0.38044663781183774, + 0.4120289860060439, + 0.37418575074989346, + 0.3849812063272111, + 0.39876812665024775, + 0.369551450322615, + 0.4074994772381615, + 0.37630104889685756, + 0.3894298644794617, + 0.3803152416367084, + 0.38867534588789565, + 0.37942340364679694, + 0.36669671163836026, + 0.3701480823016027, + 0.3717624460288789, + 0.3678229474637192, + 0.3769474522094242, + 0.3768806296749972, + 0.3903251699579414, + 0.3878822501981631, + 0.3908340097637847, + 0.39220369324320925, + 0.3895687358628493, + 0.38773890197044236, + 0.374976735614473, + 0.3788365445099771, + 0.38060966511839067, + 0.3875335518445354, + 0.3881330037373118, + 0.3828476861352101, + 0.37818032677751034, + 0.37909373465226964, + 0.37750624739564953, + 0.3893093272752594, + 0.3737209455692209, + 0.3856386113446206, + 0.3727627988148015, + 0.36590264601400124, + 0.39178800958325155, + 0.3768159662606195, + 0.3826050908304751, + 0.37810095704044216, + 0.4058368493861053, + 0.3878775313613005, + 0.3662695350707509, + 0.3851590062462492, + 0.39128230363712646, + 0.3728647509939037, + 0.3910649190132972, + 0.35652816663496195, + 0.39369102821219715, + 0.3917432161513716, + 0.3753686304728035, + 0.37199380501988344, + 0.3796448712120764, + 0.3878347604360897, + 0.3871827221068088, + 0.3904258412600029, + 0.36611135771963743, + 0.3576687083230354, + 0.3862710998742841, + 0.37913734761532397, + 0.3884110474959016, + 0.36897727322648277, + 0.38790462714387103, + 0.3969571815803647, + 0.3694729723792989, + 0.3754483806260396, + 0.38554347299505026, + 0.37647972637787464, + 0.3903449478908442, + 0.3630619662813842, + 0.3579488917312119, + 0.39175333284365477, + 0.38560885256738403, + 0.3720290317491163, + 0.36656705518835225, + 0.37189732266706416, + 0.3935159865417518, + 0.3981384833168704, + 0.3696094875223935, + 0.36341430973261596, + 0.3664255702286027, + 0.38012521448545156, + 0.37614436714793553, + 0.388252289238153, + 0.3733554411825025, + 0.38614645886118526, + 0.3785639414214529, + 0.37278418719070033, + 0.3941046847263351, + 0.3627240644826088, + 0.3690239528601523, + 0.36780205925460907, + 0.39385272780200464, + 0.3997143936518114, + 0.3723404840915464, + 0.387651062652003, + 0.38752621626481415, + 0.3583999435999431, + 0.3545726059412118, + 0.375634396111127, + 0.39927082873764447, + 0.3791836708551273, + 0.38706284917425365, + 0.39165746807702817, + 0.3758955886878539, + 0.3819005150930025, + 0.379918502853252, + 0.36470054876990615, + 0.38606520235771313, + 0.3877273893856909, + 0.36492353061330507, + 0.3878788101952523, + 0.38703713133581913, + 0.3593219968432095, + 0.38166166124865414, + 0.37065779900876805, + 0.3872458762023598, + 0.3816642785503063, + 0.36740636416943745, + 0.37928852015174924, + 0.392095066444017, + 0.36986196382204073, + 0.3759407926816493, + 0.3860449382918887, + 0.35599878770299254, + 0.3993225325131789, + 0.3900081585161388, + 0.38640616392949595, + 0.36806550883338784, + 0.37494386355392634, + 0.37057696155970915, + 0.3805185284698382, + 0.3661005212459713, + 0.37441080196294935, + 0.3637500342796557, + 0.3807032219367102, + 0.3749227517982945, + 0.3582609899225645, + 0.3767741170944646, + 0.37199979212600737, + 0.3603883799572941, + 0.356624673405895, + 0.3690396206919104, + 0.36970415003597734, + 0.3547160868532956, + 0.37836428307928144, + 0.37055750531726517, + 0.365588925848715, + 0.38347503769909963, + 0.370709248597268, + 0.3782803049834911, + 0.37706904619699344, + 0.358912791730836, + 0.37971929118502884, + 0.3692536239046603, + 0.37936985635897147, + 0.37765956394723615, + 0.37266259114257994, + 0.38787698705564255, + 0.37813726627500727, + 0.3737308126874268, + 0.38923006895929574, + 0.3814131024410017, + 0.37779909078963103, + 0.3776297137606889, + 0.376341961347498, + 0.40392772203776983, + 0.37301896008430047, + 0.36248598573729396, + 0.37013696144567804, + 0.36790296422550456, + 0.3737851002952084, + 0.3764785824227147, + 0.375077718263492, + 0.3662866782397032, + 0.3847869264194742, + 0.3881523335818201, + 0.3944366325624287, + 0.37867725506657735, + 0.38451037836493923, + 0.3837242325418629, + 0.3815977957332507, + 0.3568998917704448, + 0.37447609023656697, + 0.38361924609635023, + 0.3830123268417083, + 0.36935513442149387, + 0.384773354860954, + 0.37975968993268905, + 0.36914933430962266, + 0.3690307994955219, + 0.37389452814823015, + 0.3944268192979507, + 0.37648996522184464, + 0.3697725668200292, + 0.394432557374239, + 0.37028988484526054, + 0.3816177181317471, + 0.38844952748622746, + 0.3810993680381216 + ], + "best_epoch": 769 +} \ No newline at end of file diff --git a/results/model_media/davis/train_log/DGM_davis3D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json b/results/model_media/davis/train_log/DGM_davis3D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json new file mode 100644 index 00000000..00c2ed3c --- /dev/null +++ b/results/model_media/davis/train_log/DGM_davis3D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json @@ -0,0 +1,4007 @@ +{ + "train_loss": [ + 3.843253838138346, + 1.1439942393931875, + 1.1347821401946383, + 1.1211366650242747, + 1.1131522099207516, + 1.0713432757583863, + 1.0841254793747437, + 1.0621405355860851, + 1.0501837754176437, + 1.0415849585794599, + 1.0158144449529471, + 1.0127051421469706, + 1.0041238891840711, + 0.9998160927710723, + 0.9825408493220075, + 0.9787757121072225, + 0.9791157548687209, + 0.9616239131685415, + 0.9721198138649478, + 0.9631781861917373, + 0.9560861042443595, + 0.9608176696154237, + 0.9436781395889499, + 0.9459920913849506, + 0.9558990859409418, + 0.955222088592184, + 0.9595108605189923, + 0.9846688087321133, + 0.9640488652683841, + 0.9880267327045736, + 0.9827790102618603, + 0.977780704483664, + 1.0037949807210569, + 0.9450397178347857, + 0.9771267605339823, + 0.9537819970193451, + 0.9437513901549248, + 0.9643046423518584, + 0.9724025770884716, + 0.9359834532430567, + 0.9186431875715226, + 0.9019671776589074, + 0.9355522388466663, + 0.8922959087313684, + 0.8918657955582157, + 0.9014440150302978, + 0.9129473333435556, + 0.8704413874246226, + 0.900296144507414, + 0.87973791390566, + 0.8682083799932266, + 0.8580161339026288, + 0.8840515637324632, + 0.8528916354696809, + 0.866774939274861, + 0.8447369712582029, + 0.860623122792851, + 0.8366668908828241, + 0.8413324442240724, + 0.8315810956792232, + 0.8414754631009205, + 0.8281700429420895, + 0.8385287111202266, + 0.8063473074348426, + 0.8136870232782115, + 0.807287625328529, + 0.8077060156530398, + 0.8036285595157029, + 0.8043028831344806, + 0.8101050393438778, + 0.8012880316586948, + 0.8219828959668707, + 0.8074896350457259, + 0.8168171300935599, + 0.7868190533224425, + 0.7939783994542675, + 0.7973954248830585, + 0.7709141780902271, + 0.8036504333004629, + 0.7882862216535887, + 0.8057278373215827, + 0.7834773138394019, + 0.7645630369568529, + 0.7647484615216592, + 0.7611127280475903, + 0.7749717208825372, + 0.7885243897012041, + 0.7580628316460943, + 0.7715614966225405, + 0.7553329474401255, + 0.7536323867235447, + 0.7581984394807025, + 0.7366500497092864, + 0.745576094767433, + 0.7294731008037467, + 0.740395193565294, + 0.7400166204919113, + 0.7367289140363412, + 0.7359674830515326, + 0.7270113935728381, + 0.7209681074929201, + 0.7400056296742401, + 0.7177772505288841, + 0.731342884386244, + 0.7145320846487774, + 0.7080718904185149, + 0.7162115158158943, + 0.7169146684964011, + 0.7155022104870687, + 0.7110136250502492, + 0.718973141689242, + 0.6976570170944089, + 0.7382963013612419, + 0.7121224646553671, + 0.7034284882704539, + 0.6989703843930016, + 0.7009919393876213, + 0.6871628903446754, + 0.6787918035877994, + 0.6842677824290618, + 0.6744484936395672, + 0.6705797189400972, + 0.6689357421606597, + 0.668976746019593, + 0.6582608700164256, + 0.6600123852537088, + 0.6644337758696153, + 0.6581030342887881, + 0.6561270374919008, + 0.6617550817461102, + 0.6591248461073893, + 0.6489203477541179, + 0.6575966935170574, + 0.6464980182015091, + 0.6439460963696424, + 0.6447246337960835, + 0.6457671408364378, + 0.6416038885781187, + 0.6383250618433477, + 0.6360391683510842, + 0.6311281141967862, + 0.636102730876829, + 0.633712161172387, + 0.6330151305836769, + 0.6503385651193879, + 0.6558242322522804, + 0.6245161306364405, + 0.6332259870539962, + 0.6355290642133885, + 0.6249068334378713, + 0.6297112227948897, + 0.6192731218401091, + 0.6222079716668538, + 0.6267309298887391, + 0.6257868765002014, + 0.6186361863660667, + 0.6171014397605065, + 0.618750607354875, + 0.6136706608570427, + 0.6186556206113356, + 0.6043178692597188, + 0.6113972609371312, + 0.6083968025775044, + 0.6113072250015531, + 0.6140101524355587, + 0.6032516909477535, + 0.6051552412700067, + 0.599438559195381, + 0.6025566963101823, + 0.5969761764299284, + 0.6054127710797121, + 0.6016406481114268, + 0.6014617919419075, + 0.601604795186249, + 0.6058067270537462, + 0.5932616432614487, + 0.5956471201855164, + 0.6000520899960416, + 0.5930015050286165, + 0.5928291781616906, + 0.5964106286938754, + 0.5982137051942341, + 0.589657107425248, + 0.5858318598403887, + 0.593217039423669, + 0.5939280557577595, + 0.586817838685827, + 0.5801436178889011, + 0.5759937563351144, + 0.5807314765599608, + 0.5797162468722261, + 0.5804774783711675, + 0.5882045131839492, + 0.584830632341877, + 0.5742885145055918, + 0.5710712070434005, + 0.5681754120288451, + 0.5689236425503266, + 0.567316387351488, + 0.5721148399327614, + 0.575705810535722, + 0.5790973875808753, + 0.5738925204892282, + 0.559260121243863, + 0.564904507855239, + 0.5572582754117945, + 0.5613248404229711, + 0.5581841640905735, + 0.5691152012055637, + 0.5569056003851576, + 0.5584164452310537, + 0.5552788399548435, + 0.5571003219718399, + 0.558065890671651, + 0.5536292536081346, + 0.556131659464145, + 0.547123115281203, + 0.5651581985018919, + 0.5484876909230384, + 0.5538805107603226, + 0.5497498326460643, + 0.5484877870035317, + 0.5452421365614317, + 0.546034306859129, + 0.5434832922382954, + 0.5433843505620225, + 0.5490634846243939, + 0.5423594354966118, + 0.5417404451801733, + 0.5434532389730398, + 0.5303037500271768, + 0.5308894009723619, + 0.5397147122267748, + 0.5562136112340937, + 0.5456741554034086, + 0.5317121808605692, + 0.5301817088427901, + 0.5341619716191585, + 0.5276645212977028, + 0.5346022395908467, + 0.5233722157159283, + 0.5417571442167451, + 0.5343142856438101, + 0.5319117943362042, + 0.5186689349085641, + 0.5232703051661238, + 0.5238542184690756, + 0.5203498325373498, + 0.5159666450019994, + 0.5247090076284906, + 0.5221895934453954, + 0.5218929926082034, + 0.522069415031858, + 0.5144615260644193, + 0.5060379311236685, + 0.5113341199359828, + 0.5109243416141696, + 0.5063287870147111, + 0.5168482215240872, + 0.5079067892686355, + 0.5010903815801707, + 0.5058297691695346, + 0.5010866049128625, + 0.5049116425901834, + 0.5043178580449951, + 0.5097898985459212, + 0.5062362291718736, + 0.5017534990914942, + 0.5022064551391119, + 0.5007065873867347, + 0.5038185391826498, + 0.5050719845468646, + 0.4972094855288421, + 0.5051473236179973, + 0.5000852024285523, + 0.4964785363319461, + 0.4950843294568223, + 0.5058346900723281, + 0.4944600250023457, + 0.487673709751821, + 0.49270589626822736, + 0.48978197622610015, + 0.49530044667697026, + 0.48762777072886015, + 0.48545607418233266, + 0.4895832486610654, + 0.48424558764312164, + 0.48762950445153963, + 0.4925378780423498, + 0.4892980184040369, + 0.4900226807964543, + 0.49061413129871606, + 0.48308870303758816, + 0.47897581517285, + 0.48950668640343326, + 0.49736010902589817, + 0.487878062653761, + 0.483146181295803, + 0.47897632895437486, + 0.46783056442677246, + 0.48015704063093007, + 0.473310220872332, + 0.47697384961726474, + 0.48937489330037237, + 0.4784064058420117, + 0.4722521240634421, + 0.47554566927162784, + 0.4752281776692238, + 0.47234105663888293, + 0.4847853055418086, + 0.4720922462139393, + 0.4707657280920839, + 0.4655070578896561, + 0.46402536138343664, + 0.4683417827119491, + 0.4753312837743869, + 0.4777381943961594, + 0.472171914460926, + 0.4590966521185234, + 0.4666621755191519, + 0.4568705701274923, + 0.45918495333724957, + 0.4570811790031341, + 0.4638562030930278, + 0.4728962217509015, + 0.4644841955620453, + 0.46330719440032736, + 0.4519360279378715, + 0.46228843586850754, + 0.4618066059071228, + 0.46870547538748913, + 0.45943537221912956, + 0.45456265644427457, + 0.4516507427156703, + 0.4539748679480852, + 0.4559090125825873, + 0.45328926409314746, + 0.4563121295596924, + 0.45520571179322306, + 0.45033106879771123, + 0.4666394999285051, + 0.4549002651399447, + 0.452669334340772, + 0.4440061979544309, + 0.4552485368505943, + 0.45014073988822706, + 0.44727071152965714, + 0.44432980620925044, + 0.4462891171909183, + 0.45122973380918885, + 0.450598705182869, + 0.4544887734588487, + 0.45248504605807044, + 0.4494417830958871, + 0.4438867325340312, + 0.4525395529516087, + 0.46171342243263325, + 0.45560749180249277, + 0.4559729403010541, + 0.43991868000226153, + 0.43535336285281034, + 0.4429320244609944, + 0.4400085292105203, + 0.44948324187447325, + 0.4502271136691782, + 0.4538656915966536, + 0.44756907615467817, + 0.43723824155156965, + 0.42945385984847884, + 0.43021292549106604, + 0.4349381145135574, + 0.4412707029470454, + 0.4293110007934409, + 0.4302774668882595, + 0.44520897330270587, + 0.4521016157089384, + 0.44538483757274283, + 0.4303270729110102, + 0.42725701027898333, + 0.43444977434454884, + 0.437355920135335, + 0.4357626947454331, + 0.4324249879577043, + 0.43313979096939226, + 0.4289958009644886, + 0.4379263337175905, + 0.44229697428095194, + 0.4331917802066159, + 0.43153167918233054, + 0.41952533576568946, + 0.4292747109808439, + 0.43127952376666245, + 0.42248962700732645, + 0.43423177520144574, + 0.4305756460372473, + 0.4383470942066308, + 0.4340124869022084, + 0.43324911147584577, + 0.44872752074266503, + 0.4182902678755895, + 0.4177175970873767, + 0.42188748770444856, + 0.41712829061538165, + 0.42779165348666576, + 0.4194096782319019, + 0.42003075409383495, + 0.41622003523255785, + 0.418106237163573, + 0.41453773435776586, + 0.42452539685267976, + 0.41521384459605976, + 0.4191760043356499, + 0.4215363841389586, + 0.4259740930004902, + 0.4202630735270999, + 0.408629584086179, + 0.41253491435085704, + 0.4159402532925818, + 0.41270550086728636, + 0.41174988855430683, + 0.4274808529398741, + 0.4222317984087701, + 0.41661702507844, + 0.40702710098992645, + 0.4227007417111126, + 0.4299992852918575, + 0.4118789077102224, + 0.40808453398293876, + 0.41242025133245197, + 0.4034452562340381, + 0.4096002584448987, + 0.40582517359657155, + 0.4043123844233941, + 0.40538996828297164, + 0.39998525119403755, + 0.40607704114785953, + 0.4076189507267501, + 0.4170116811613638, + 0.4005448830891058, + 0.405933382103871, + 0.42846125872245777, + 0.40664182754199196, + 0.40552802005657024, + 0.4013140851323224, + 0.40142685536043776, + 0.4165499277550019, + 0.4048717769514198, + 0.40112352138099494, + 0.41082683018197313, + 0.40753833906142256, + 0.39893820654440876, + 0.40134262704958945, + 0.4058229453130368, + 0.3918082097579548, + 0.4013750510621656, + 0.39991420117761095, + 0.4117766487429296, + 0.40441097010589816, + 0.4123534494668154, + 0.4019985972029483, + 0.3910083837944306, + 0.40109485008416734, + 0.40805842691998173, + 0.4066589159628182, + 0.39257771800632124, + 0.39382359103236825, + 0.3890716325765921, + 0.4021357669397914, + 0.40244001335824375, + 0.4006232653567396, + 0.3976383318644634, + 0.3941615028935342, + 0.3893867085225012, + 0.40243689903269514, + 0.3976283432755825, + 0.39563217705995574, + 0.3920717667331176, + 0.3921050571842245, + 0.3925176770340628, + 0.40138404640409114, + 0.3998588420153578, + 0.4021326257201609, + 0.3960855736231511, + 0.3948783151736837, + 0.39610211648321225, + 0.38808317003097453, + 0.38383629817538467, + 0.39708711935972874, + 0.3954372069701278, + 0.3855196058555889, + 0.3888599244260623, + 0.3939576290856384, + 0.3928342021978889, + 0.38893967321816764, + 0.38254281975603177, + 0.379360712070498, + 0.38463232171453215, + 0.39282986951386273, + 0.39604369962325126, + 0.38948867411746935, + 0.3792575849962929, + 0.37964755156723085, + 0.3923268413593981, + 0.3823069503953669, + 0.38020634814594056, + 0.3844328152267205, + 0.393657151643941, + 0.38926597013841013, + 0.3798404657881867, + 0.4060965331237009, + 0.38843760470305483, + 0.38279182095926234, + 0.38298171107297296, + 0.3813528903057239, + 0.3870266815361801, + 0.38333597682142184, + 0.3919412671228402, + 0.388104109562065, + 0.3739107924804914, + 0.3750201355368813, + 0.39163442967928075, + 0.38123457949677125, + 0.37406237880510784, + 0.37384660504301265, + 0.3719867463994977, + 0.38421945821242465, + 0.39984068172795273, + 0.3864300768833859, + 0.3842235510837447, + 0.38589826574766195, + 0.37571983157651373, + 0.37947661707326313, + 0.3786639633239961, + 0.37909205471582574, + 0.37438195778708333, + 0.37916333071796077, + 0.38285594187859745, + 0.37329744148793764, + 0.3771209766791185, + 0.3654771652529759, + 0.3801725027694201, + 0.3728227082388533, + 0.3699140581159504, + 0.3773212574102396, + 0.37707908037889953, + 0.3734609136426467, + 0.37252353794552795, + 0.3769877409002532, + 0.36900802464024424, + 0.37380944576365815, + 0.3718583581546333, + 0.3746061948773685, + 0.3611770492115635, + 0.36597632813307407, + 0.3647812031483723, + 0.36769363189264676, + 0.36393564748092117, + 0.37215949321862746, + 0.36744259527535894, + 0.37542938679868093, + 0.3776714513706832, + 0.38907498622918785, + 0.37201756440057343, + 0.35858423126850025, + 0.36483766298535414, + 0.38216210200102785, + 0.3807846824609977, + 0.36686745560242356, + 0.3770069961544652, + 0.36624937415968606, + 0.3661977816030292, + 0.3691530038825482, + 0.3655734914554957, + 0.36162443784711185, + 0.38254595807884917, + 0.36662901098628536, + 0.3672269860088277, + 0.3640957981622292, + 0.36753914330406057, + 0.36416517390063935, + 0.36941766832595224, + 0.35577072539121096, + 0.362648957106142, + 0.36038761006016856, + 0.3597563267942587, + 0.3566139638195374, + 0.36397899553591123, + 0.3677779015302201, + 0.36182101463979005, + 0.3715860117541089, + 0.36219109379703557, + 0.35849991865867487, + 0.3562288240135356, + 0.3593397360706439, + 0.36380442871820706, + 0.362620940706207, + 0.3726901745229411, + 0.3604448880897435, + 0.35904053620354165, + 0.36307774408737575, + 0.355279742437272, + 0.37265189962198764, + 0.35805077105760574, + 0.35413228798703367, + 0.35744023437903155, + 0.37246257149003037, + 0.356891560351099, + 0.3640549038051188, + 0.3497811192703759, + 0.35457505199464, + 0.358495420204944, + 0.3545839076553203, + 0.3592082354828624, + 0.34827185166211216, + 0.36014183871219496, + 0.35198896028604243, + 0.3427561410514215, + 0.3455347987463229, + 0.3457641818737783, + 0.34974762376832086, + 0.34798280460520026, + 0.35486784126563853, + 0.34988636154384334, + 0.3465338246554045, + 0.3445992536637132, + 0.347397706448529, + 0.34840767364377623, + 0.33958076309138463, + 0.34687513836368095, + 0.3474070428202123, + 0.34905025504666604, + 0.33988823356004033, + 0.3448158119422344, + 0.34370363092312783, + 0.35303134537456227, + 0.3427343107817089, + 0.3511184026241485, + 0.3394567602159787, + 0.3426084153731268, + 0.33785324759689944, + 0.33884138616796106, + 0.3416599540462706, + 0.34260476959377895, + 0.34282468540445427, + 0.33889166899368256, + 0.3370732644949954, + 0.33988207331830006, + 0.336424218330738, + 0.33945765275439604, + 0.3441140703868372, + 0.34451210090284884, + 0.33469625762978034, + 0.33308042769257457, + 0.33557045340332337, + 0.33504799891697484, + 0.3392443470656872, + 0.3440413650788047, + 0.3414333118011524, + 0.3373035607128147, + 0.3390773677958484, + 0.328256004181422, + 0.33753762489607547, + 0.3311955676088395, + 0.3365118640012171, + 0.3361351527445064, + 0.32785419547827516, + 0.33805337948781766, + 0.33428339905854015, + 0.3330174429524987, + 0.3344829871627771, + 0.3376049054443745, + 0.3297565593869865, + 0.336860565702928, + 0.33116451858834256, + 0.3285839842472431, + 0.33748635450846576, + 0.328701623892583, + 0.32489956787393137, + 0.33090256945875707, + 0.33169082097389213, + 0.33169490962854925, + 0.3283653705740816, + 0.3265885803677096, + 0.3310891100051213, + 0.3313646237508742, + 0.32854928609349426, + 0.32740324101999313, + 0.3257168459368904, + 0.33041016322680594, + 0.32891396762220404, + 0.3246781925322271, + 0.3245760597391454, + 0.3255980545312075, + 0.32603453480827116, + 0.32496697130538754, + 0.3192243831563581, + 0.3249520319256863, + 0.32406763046225706, + 0.32553994877298187, + 0.3257272551693251, + 0.31926635477371923, + 0.3240257381787238, + 0.3256382010962837, + 0.3266074739602263, + 0.32463557446844005, + 0.3202261111521922, + 0.3247598173393885, + 0.32053477037126665, + 0.31922894200892904, + 0.32172571432896735, + 0.321005473907557, + 0.32347038629367675, + 0.3210356877431091, + 0.3194832238968622, + 0.3191907661881275, + 0.3163491910597755, + 0.3196753894773089, + 0.32635320765337694, + 0.32306325370502986, + 0.3192371195182204, + 0.32033045947026073, + 0.32236100149918007, + 0.31873044341322654, + 0.31824784475647233, + 0.31960417073151454, + 0.317978915507031, + 0.31684166404412933, + 0.3194387104145131, + 0.32387052832365587, + 0.3201981822394429, + 0.3240250756312733, + 0.31368420449045537, + 0.32540115671220915, + 0.31406225289212414, + 0.31205822308005, + 0.3171968491450866, + 0.31924846528977885, + 0.32172765310830864, + 0.3184701251437419, + 0.3195960402511563, + 0.31456390082081953, + 0.31358967281512323, + 0.31971109239670215, + 0.31686751770164157, + 0.31756372858364523, + 0.3182645306345418, + 0.3170633841808771, + 0.31814504656483605, + 0.31463359708846345, + 0.31273350136731665, + 0.31202009737925845, + 0.31262814698089486, + 0.3147993907560966, + 0.3141560977370553, + 0.31824042762921084, + 0.31939925085981746, + 0.3128197374667949, + 0.31366794194706193, + 0.31891508444435207, + 0.31500557647800886, + 0.31721643627581236, + 0.3156561363956954, + 0.31173861163319805, + 0.3101293257911878, + 0.3078872841422909, + 0.31328952172485414, + 0.31465823887818795, + 0.31377586313277667, + 0.3209713236743047, + 0.31251497441000003, + 0.30934628570006667, + 0.3135155891611075, + 0.3080689120420649, + 0.3168796583884424, + 0.3086046421660419, + 0.3140220129719587, + 0.3102357121630132, + 0.3080462689448628, + 0.312004313792782, + 0.3110875986356494, + 0.31651114170193856, + 0.3059823845164633, + 0.31011995429207395, + 0.31503116160608324, + 0.30999613420729255, + 0.30834704839218796, + 0.3097548705691392, + 0.3065492692889154, + 0.3117014043650196, + 0.30927123962987235, + 0.30608972369984616, + 0.3064667673015887, + 0.3072242892055881, + 0.3120685295984606, + 0.3127570023440236, + 0.31002565140784516, + 0.31610814339704124, + 0.3065381015828051, + 0.3095563883361824, + 0.3108433999543998, + 0.3091239583981366, + 0.296027898085675, + 0.3163622665201868, + 0.3078189890751718, + 0.3048323705860991, + 0.30788713901595105, + 0.3043930714127202, + 0.3073643267131839, + 0.30639156511202, + 0.3032471343040741, + 0.3028048058183281, + 0.30504627960614084, + 0.3069125702661788, + 0.3076558820960438, + 0.30728140381947616, + 0.3091687994260638, + 0.3144772982601922, + 0.3032383525606953, + 0.30561204644297163, + 0.3050390393387503, + 0.302994345937587, + 0.30534307539828714, + 0.3050108945305728, + 0.3031552830608162, + 0.3059228520977534, + 0.30653622573344436, + 0.3051062608766227, + 0.301784088023784, + 0.3042602707100518, + 0.3063490508621319, + 0.2989748685672148, + 0.30098419827323386, + 0.3027229588078849, + 0.3071923225066779, + 0.30393599105736047, + 0.30237689598869144, + 0.30556517244642317, + 0.3054729597014518, + 0.3035450859646673, + 0.30349123965308894, + 0.2996732119607962, + 0.2992727086805036, + 0.3115919065358906, + 0.30589681662664825, + 0.30485355849463514, + 0.30185211530423783, + 0.29856654421992007, + 0.30059171108060456, + 0.2985456267291783, + 0.3013662539502503, + 0.3017000214488137, + 0.29602580047298244, + 0.3014686399773677, + 0.30061591006929705, + 0.30268611105878845, + 0.29768357393360395, + 0.30155512348297364, + 0.30164105781108325, + 0.3040127050005859, + 0.2985898948680221, + 0.296566564195498, + 0.29673306817657374, + 0.3047772677032494, + 0.29902999343613357, + 0.29748814882127783, + 0.29597615451763376, + 0.2958496443847297, + 0.2971767093357773, + 0.2982768256080114, + 0.2956037768191355, + 0.2977764915012143, + 0.2974457937846977, + 0.2963395986728873, + 0.3037300584723522, + 0.2929151566596302, + 0.2934895734605522, + 0.2963531176571054, + 0.2992539884339721, + 0.2987209805315989, + 0.29352230373541455, + 0.3011315625640878, + 0.29473433200201377, + 0.2966638045682589, + 0.29606206418569286, + 0.2937858981177485, + 0.29327440161852203, + 0.29502903964896143, + 0.2954914491349386, + 0.2937388465185564, + 0.29247164919949564, + 0.29649198712335406, + 0.29139867844345746, + 0.29344571629779104, + 0.2915609277944806, + 0.2960774965035769, + 0.2977281819594784, + 0.2939401160342836, + 0.2893566820496248, + 0.29493680154687607, + 0.29491044066709243, + 0.2902517215423057, + 0.2905571987121109, + 0.2983849694712396, + 0.29740816504448836, + 0.29644274054540815, + 0.2948850693603966, + 0.2883411508133532, + 0.29635788566872845, + 0.29046945504135696, + 0.2973780003690555, + 0.28523357052561693, + 0.2922681738319664, + 0.29110311380833204, + 0.29110973035242477, + 0.2920859072620243, + 0.2885937808721435, + 0.297805688863883, + 0.2974264956382246, + 0.2996959151597294, + 0.29182284295078986, + 0.29395051314809756, + 0.2976612390584649, + 0.29699712000970097, + 0.2894782109608862, + 0.2899839108398447, + 0.2843401270655721, + 0.2928834980970786, + 0.2899559213968417, + 0.28641248425251686, + 0.2892597797526721, + 0.28867522829377945, + 0.288855247079549, + 0.2905452297200546, + 0.2858710245063608, + 0.29044465506392203, + 0.29305569492737576, + 0.2866077978346794, + 0.28521316463664814, + 0.28794382381727174, + 0.29089648343988356, + 0.28573042467990717, + 0.28652686428027285, + 0.2868317232061566, + 0.2853309628410848, + 0.283916731616425, + 0.286252108014023, + 0.28635833029595253, + 0.28830392251328274, + 0.2873698611875162, + 0.28612663027219065, + 0.2858616168913574, + 0.2901869281680763, + 0.2836028233576178, + 0.28557737844716186, + 0.286282925306608, + 0.28831150081077234, + 0.2850067730924469, + 0.28485040080396495, + 0.2851982262682604, + 0.286768467662616, + 0.28325829963468335, + 0.28110026688160705, + 0.2842603881837674, + 0.2825751929298226, + 0.2859194668329841, + 0.28215453295505666, + 0.2843290480607949, + 0.2820478624041461, + 0.28555246259720046, + 0.28545689829082393, + 0.28595456958068477, + 0.2887946879119824, + 0.27861520289757685, + 0.28443402423883324, + 0.2834488627689382, + 0.2786245772192266, + 0.27917508612404024, + 0.28459901634626594, + 0.28110406139831234, + 0.2825315187176678, + 0.27856289997034095, + 0.28512060197721595, + 0.28130883648077404, + 0.2845759345389948, + 0.2852397892007067, + 0.2823009232824748, + 0.27904703427803207, + 0.27560327401487555, + 0.28030024707728735, + 0.2810078053935174, + 0.2796609282402173, + 0.28177291589669107, + 0.281125184039991, + 0.2784799703516843, + 0.28391205835973193, + 0.28299918863636675, + 0.28358761359440404, + 0.27872001983659583, + 0.28116516534101926, + 0.2803727463230582, + 0.2815728731556264, + 0.28401040430666386, + 0.2788444511203861, + 0.28167790639002815, + 0.27464417091633647, + 0.2765450131868018, + 0.2806989724684987, + 0.27663870022683607, + 0.2810868234802152, + 0.28296641768899067, + 0.2852825032021462, + 0.28228396597815436, + 0.2787292394415687, + 0.2724360634195704, + 0.27708940397079557, + 0.27496988657701965, + 0.27696706999687515, + 0.27433204357198043, + 0.28134011263827696, + 0.2786296759132136, + 0.2715482688708905, + 0.27471653358336606, + 0.27665497662579536, + 0.2775341884113071, + 0.27612268252789607, + 0.27340534464256167, + 0.28220210786040395, + 0.279019592089887, + 0.27720530480832045, + 0.27266109930179966, + 0.2705758337811367, + 0.27400102690319345, + 0.27531911665288034, + 0.27425889627425215, + 0.27629154404636724, + 0.26927430463234886, + 0.272062225518691, + 0.27553567208601104, + 0.2757105019823448, + 0.27718179924356423, + 0.2742485641530412, + 0.27434519612361774, + 0.27523523292567104, + 0.2764045037672015, + 0.27533684439522904, + 0.27067023619118097, + 0.2734360025532864, + 0.27486113385165944, + 0.2734575392392698, + 0.2733737483643498, + 0.2719246802188776, + 0.27588580701888704, + 0.26841242755963207, + 0.26794706786085676, + 0.273694831483706, + 0.27258440431641656, + 0.2703318484184658, + 0.2681872694998797, + 0.27026886649521215, + 0.2754455451122228, + 0.2742597524110982, + 0.27277128968067876, + 0.2675416396068055, + 0.2756275412243751, + 0.2730076575388938, + 0.2722166590278317, + 0.2729224957228621, + 0.2705124275690299, + 0.2675501159478002, + 0.2676781423881284, + 0.27126191207921946, + 0.26697068168935967, + 0.2683499931283524, + 0.2700244225218801, + 0.2787185374053161, + 0.27271476606809836, + 0.270998759595163, + 0.26742098681011633, + 0.26868862061092824, + 0.2720507964366144, + 0.27132039437173333, + 0.2682978305280026, + 0.271038118498457, + 0.26585730507489913, + 0.2641926256688369, + 0.27028901393359606, + 0.26808722404637403, + 0.265019534021456, + 0.2677089287928003, + 0.2673365440322486, + 0.2639400706986434, + 0.26717297845388666, + 0.26466677954386164, + 0.2701607762315979, + 0.2608191421244042, + 0.26651115051579255, + 0.2650572417612456, + 0.26434668388354815, + 0.26709572362364986, + 0.27214258417852816, + 0.2660824794127989, + 0.2709485136795263, + 0.2660570931820873, + 0.2726327945061165, + 0.2653621935908414, + 0.2636587092727194, + 0.26241585824272934, + 0.26685466068265445, + 0.2635472020351448, + 0.2614496851488491, + 0.2661241973847425, + 0.2701506944361823, + 0.2602747517003695, + 0.2671962499481403, + 0.2684332389338799, + 0.2639476065666763, + 0.2668218522909686, + 0.2665442795738395, + 0.2673459873346189, + 0.2632341226505721, + 0.2642501029385928, + 0.26846086385265633, + 0.26286539743065923, + 0.26304398999303763, + 0.26362837404241224, + 0.2637797618410522, + 0.26621130760759115, + 0.26156683475853293, + 0.2659122946792128, + 0.2601928260160233, + 0.2631123535895, + 0.2563585374058664, + 0.26339815930674776, + 0.2617616773942954, + 0.25577752496133005, + 0.2611028861020195, + 0.25765070656851574, + 0.25975672225896385, + 0.26325607754038705, + 0.26247208053531823, + 0.2603283315822711, + 0.2663184807298739, + 0.2659590200698175, + 0.26204313043550664, + 0.26700393626454966, + 0.2642893272514906, + 0.25981390013136657, + 0.25783563272719, + 0.25953396707430393, + 0.26409627048675816, + 0.2603709209550378, + 0.2567229555531239, + 0.2610453562153949, + 0.26068081347374644, + 0.26538263318454564, + 0.2629502482049487, + 0.26238580147501517, + 0.25894431170773197, + 0.25968866408488317, + 0.2614111536371013, + 0.2618860831838444, + 0.2522206777003965, + 0.25762520435671865, + 0.25762209514201695, + 0.2583108897023817, + 0.2587680203063082, + 0.2544086474176793, + 0.2613523069174926, + 0.25685918200303987, + 0.26389848078069694, + 0.2604289658973279, + 0.25585205663292687, + 0.25578633060484574, + 0.256202565203278, + 0.2551789108286697, + 0.26129936810834276, + 0.2565371002773383, + 0.25714984788713646, + 0.25994209272706986, + 0.25757642456278934, + 0.261485056106024, + 0.25709516238535474, + 0.25742445254207025, + 0.2545209234963211, + 0.2608679391478011, + 0.2578850793109441, + 0.2569197226584278, + 0.2578098194022303, + 0.2593282735020928, + 0.25782094447890674, + 0.2554518155170822, + 0.2566336088019646, + 0.25505410008806667, + 0.2630066807764622, + 0.2543149536041303, + 0.25429907969079135, + 0.25707287810445745, + 0.2563201733436321, + 0.25897108487773435, + 0.25384918452337657, + 0.25170366931706667, + 0.25252152938235756, + 0.2533842957024377, + 0.2591051960112584, + 0.2562713292427361, + 0.2548313717946319, + 0.2551219530769287, + 0.25275072178866237, + 0.25243195462857654, + 0.25453019323844484, + 0.2540153953492459, + 0.25125677985327743, + 0.25242359014913623, + 0.2493167872786339, + 0.25906447775410546, + 0.25516482112083605, + 0.24866762572750906, + 0.2499315975822417, + 0.2505438557791701, + 0.2527199279676917, + 0.24405588218770877, + 0.25666827362236433, + 0.2521643084159658, + 0.2513835535161883, + 0.2551701449377725, + 0.25268593898465846, + 0.25822838787217994, + 0.2525948788999277, + 0.2528319326029416, + 0.2528810395767764, + 0.2544732751936132, + 0.2475422673281625, + 0.2556708398406491, + 0.25250937141752317, + 0.24926239465209055, + 0.24911677087171494, + 0.2511971240628945, + 0.24563629504156076, + 0.24753767133981813, + 0.24976438518179342, + 0.24582614638254138, + 0.2545011545148638, + 0.2536643061421217, + 0.250448347994932, + 0.24631586408619682, + 0.24536465070970312, + 0.25274137404113095, + 0.25001758606704466, + 0.24778338100052685, + 0.24789140577159502, + 0.25017788072625186, + 0.251845171283702, + 0.24693999891997848, + 0.24550447968960357, + 0.2487834711541976, + 0.2482492556778337, + 0.24903760713302284, + 0.2431814657649928, + 0.24923472010182, + 0.24839470517518789, + 0.24573163281943353, + 0.2530349222600369, + 0.2506748300954197, + 0.2441474017687142, + 0.24403952723768957, + 0.24625816038506895, + 0.24745810912933452, + 0.25175657980086885, + 0.24642887676100425, + 0.25234999656220153, + 0.24847829796693807, + 0.2493503832463975, + 0.24809313864887125, + 0.24793885983069616, + 0.24344664890364817, + 0.24816460501791143, + 0.2470002442832602, + 0.24702058052015632, + 0.24440832384662028, + 0.24934002875344702, + 0.24299318558233649, + 0.24614543064091743, + 0.24683356651053565, + 0.2422871367485931, + 0.24261382532997366, + 0.24533549092847146, + 0.24656634346976236, + 0.2453110875973215, + 0.24933736144559332, + 0.24786994338001303, + 0.24591847092621713, + 0.2465860153165606, + 0.24327658736175556, + 0.24024828049165706, + 0.24064243170632724, + 0.2422426910413875, + 0.2477426259561322, + 0.24369222874484636, + 0.24569302297374404, + 0.24463422897277526, + 0.246268656059094, + 0.24195459937573943, + 0.24027932398706858, + 0.24346750997509692, + 0.24264898528259224, + 0.2431380031030465, + 0.2496937096998827, + 0.23810762765765922, + 0.24230169350041386, + 0.24921742978968595, + 0.2437415757627895, + 0.23923449857057605, + 0.24147795274442324, + 0.23608116773557078, + 0.24523459913700454, + 0.2435230635495091, + 0.2394637124572932, + 0.24646579977010658, + 0.23969312607270718, + 0.24428970219875953, + 0.24057598230914654, + 0.2447484788067776, + 0.2419998505855539, + 0.2404988115521982, + 0.24006668206852821, + 0.24125224629851297, + 0.24243716639609425, + 0.2406855601605965, + 0.2376351814111409, + 0.24044667916840937, + 0.24007331833894724, + 0.23932892401799835, + 0.24140394976122614, + 0.24050583757254426, + 0.24292150019822312, + 0.23479166845762472, + 0.2408105232838564, + 0.2423054701562948, + 0.2392197711238969, + 0.23897160147459595, + 0.24166298675082304, + 0.24192863863327205, + 0.23865177284960457, + 0.23449798728813606, + 0.23651907849268405, + 0.23829804040902963, + 0.24372079817612477, + 0.23971023625677074, + 0.23812236910560197, + 0.24003639327007933, + 0.23951179643327292, + 0.23854638109029344, + 0.24250326952697035, + 0.23885346620852138, + 0.2347804685180401, + 0.23852162047123615, + 0.23529037994338325, + 0.23978935703178125, + 0.23887415966190442, + 0.23453010030182228, + 0.24488577154676425, + 0.23733328048002683, + 0.23789451236442372, + 0.23815010707722578, + 0.23842284735292196, + 0.237736346725763, + 0.2329565833459831, + 0.23641275408237808, + 0.23627824647397808, + 0.23883859454397044, + 0.2360779235519446, + 0.24095858251561691, + 0.23702832111128908, + 0.23531455656033626, + 0.23355738827787295, + 0.23860232090360364, + 0.23801917829579372, + 0.23945500600820213, + 0.23330262603318216, + 0.23588335060977314, + 0.2367904201361345, + 0.23989676619005715, + 0.2407222008132633, + 0.23662699101652745, + 0.24027755708245138, + 0.2366386142365086, + 0.23648933741761133, + 0.2352153018996851, + 0.22899456444750627, + 0.2360001387491685, + 0.23564375648732108, + 0.2364227120804549, + 0.23657705114320196, + 0.23119026623906258, + 0.23723996885726514, + 0.2448687161993167, + 0.23589997948290198, + 0.23245394255885957, + 0.23617540014782018, + 0.2327929248153432, + 0.2372516809099931, + 0.23251146168956544, + 0.23382169253084284, + 0.22680161576546684, + 0.23563838577286506, + 0.23706880456945098, + 0.23165584990663304, + 0.2336547839072493, + 0.23287567267182963, + 0.2299023812402474, + 0.2329776853385833, + 0.23213377112716985, + 0.23085896807374215, + 0.2325533510877128, + 0.23707305887382638, + 0.22889748717332545, + 0.2315884820682688, + 0.23184227895711554, + 0.2327754369142688, + 0.2370439035092349, + 0.2298868772076683, + 0.23108666832987335, + 0.23290388764345024, + 0.2359137589946115, + 0.23562689891736383, + 0.23446592519151196, + 0.23081063533750323, + 0.2282002285819935, + 0.22893310225128763, + 0.23668757745813282, + 0.23701824778633798, + 0.2360662099122544, + 0.22815704366557896, + 0.22489143294093708, + 0.22614513395891234, + 0.2277441931077125, + 0.22848824910431004, + 0.22757921835830425, + 0.23065696760692114, + 0.23428522687451056, + 0.23666602938201714, + 0.23298717400436203, + 0.2289469855397574, + 0.2329429557598396, + 0.2287814913351843, + 0.22411961739517153, + 0.22762203077997076, + 0.22442913210545123, + 0.22849282802316856, + 0.231865970874948, + 0.2270080278444738, + 0.22596327914210734, + 0.22232602148151104, + 0.22806094582849668, + 0.2298099447264582, + 0.2283847695445082, + 0.2240190844800026, + 0.22506603159787464, + 0.2235102418187343, + 0.22697473122549752, + 0.2252220843598658, + 0.2247991618111821, + 0.22952561942929048, + 0.22825691801570128, + 0.227603400417495, + 0.22686551895529672, + 0.22176995925159634, + 0.22840773805038878, + 0.2299799769802556, + 0.2280961561211002, + 0.22690798385651564, + 0.2277085956391747, + 0.22668052692983323, + 0.22871114407877433, + 0.22923906372025885, + 0.22593020926875296, + 0.22212918979498597, + 0.2291981432604049, + 0.23054363455429125, + 0.22757329816067237, + 0.22764590020331502, + 0.22244574003881473, + 0.2244483280407002, + 0.2264377277835838, + 0.22525402171925807, + 0.22669544082386361, + 0.22314907598417777, + 0.22185726264960196, + 0.2281852562089045, + 0.2226752330394793, + 0.22921707906526018, + 0.2239317313619415, + 0.22634534179547264, + 0.2222978580983047, + 0.22410971958167347, + 0.22326388277764792, + 0.22567286280389487, + 0.22555020282136426, + 0.22595621599455826, + 0.22678050643655878, + 0.22321525983443838, + 0.2236240760200411, + 0.22708417491221722, + 0.226299927315669, + 0.2267421392803909, + 0.22304382552592758, + 0.22485410388376267, + 0.22171649595071202, + 0.2263411277065202, + 0.2228020990175978, + 0.22254289111602435, + 0.22291357106489182, + 0.21952225390444596, + 0.22504025174053444, + 0.22405375686239887, + 0.22226633090080203, + 0.21954946909271225, + 0.22089611070139184, + 0.21998928190763195, + 0.21829817844040555, + 0.2210508946706455, + 0.2232003820848657, + 0.22288623599312696, + 0.22145586764222822, + 0.22197248871249656, + 0.22413144538041913, + 0.22591516030152425, + 0.22535798562107826, + 0.22640134083061406, + 0.22003106384943782, + 0.22079851575470044, + 0.22144186455596443, + 0.22061485613759127, + 0.22309694782562234, + 0.2221704732963781, + 0.22247474374923787, + 0.21586466937731563, + 0.2230512836713778, + 0.2244350937697922, + 0.22242495787838484, + 0.22334141636472996, + 0.21602233040197952, + 0.21763766249870323, + 0.2211735423402918, + 0.22166931827729738, + 0.2201286340332333, + 0.2205136937454937, + 0.21993421859742124, + 0.21843317589305478, + 0.22261085984599918, + 0.22111208362939075, + 0.21528659484697724, + 0.21572682250611072, + 0.2198995863418866, + 0.21655939244865183, + 0.2178148968242383, + 0.22077834610455882, + 0.2204605583415761, + 0.22189412777100695, + 0.21831703036052227, + 0.21746533175793253, + 0.21607430848904366, + 0.2172747783368579, + 0.2165755187189835, + 0.21639905288884062, + 0.21610126607805674, + 0.2135793424691388, + 0.21797835977428073, + 0.22171612612423172, + 0.21809520720978456, + 0.2213919959773818, + 0.21921044243556773, + 0.22125418618767081, + 0.21474490489844986, + 0.21624427080794345, + 0.2181234040263286, + 0.22263116271526445, + 0.21624320804318584, + 0.21623280966665848, + 0.2184359231375249, + 0.21972908693554302, + 0.2182916429356609, + 0.213296028825403, + 0.21539758782022478, + 0.21750596241934075, + 0.2171657799394584, + 0.21156983757163025, + 0.21350360334639443, + 0.21747670989152204, + 0.21573526339971125, + 0.21890746669249575, + 0.21494325963734576, + 0.21760931661055405, + 0.21577287643599363, + 0.21663409336384362, + 0.21970860781490895, + 0.21833160855275996, + 0.21510831202363218, + 0.21803058044516418, + 0.21681483932399404, + 0.21717221767818726, + 0.21622667976146553, + 0.21507658451178505, + 0.2143237398068872, + 0.21226875440851767, + 0.21757890719726133, + 0.2153224365362909, + 0.21662247134943954, + 0.21412890358468048, + 0.21331918759820012, + 0.2134630731106993, + 0.21359032815310852, + 0.21270787099696284, + 0.21332740954814788, + 0.21717192171187213, + 0.21291466402975512, + 0.21330771215854247, + 0.21039908338463836, + 0.21356489315080496, + 0.2142887290687146, + 0.21293543393443698, + 0.21258140122517943, + 0.21179448573227308, + 0.21276452847430768, + 0.21316045685099907, + 0.21521079080876399, + 0.2124241091528096, + 0.2134507376603508, + 0.21512892343492412, + 0.21627554297447205, + 0.21386902622501452, + 0.2107826002924903, + 0.21244906002735617, + 0.21282640465698063, + 0.21595287752377748, + 0.21854516792688175, + 0.21401395290472938, + 0.20743851234816427, + 0.2119087074637596, + 0.21037955920960458, + 0.21161144609317367, + 0.20820839784502343, + 0.20931589970239467, + 0.21280502034579776, + 0.210330413945842, + 0.21398613273960315, + 0.21389736928777095, + 0.20670383690679275, + 0.2097243022379334, + 0.20842967241819652, + 0.20906311876649047, + 0.20976986408096515, + 0.2118208003373234, + 0.21160586583685198, + 0.212196459148102, + 0.213029073554154, + 0.20954742681440766, + 0.2105423055840599, + 0.212032388661491, + 0.20721126703454032, + 0.2095209770961636, + 0.2142639063367266, + 0.20945012452155123, + 0.2096556345475095, + 0.21015642093711653, + 0.21522206299441174, + 0.21174868282810586, + 0.21118900608956997, + 0.20143424888124312, + 0.20922845384631694, + 0.21298515254723058, + 0.21467595250614308, + 0.21025370290514334, + 0.20806271917946592, + 0.20818173989619307, + 0.211573044266666, + 0.20859883974757662, + 0.208475619643081, + 0.21127987043372143, + 0.21181928542973988, + 0.20766639610626764, + 0.2078157074069547, + 0.20863059417921706, + 0.20961070389264017, + 0.2070015726033941, + 0.20881818163214377, + 0.20562142076576415, + 0.20780219565905586, + 0.20796909184120824, + 0.20769143333098639, + 0.20569931540318245, + 0.20920257193202074, + 0.2040443763913918, + 0.2088655170218939, + 0.21219259720764186, + 0.20623508494267342, + 0.20554585800580452, + 0.2092065034502763, + 0.20647787976941448, + 0.20627665422582553, + 0.2082532955636413, + 0.20568663184388192, + 0.20339820675403336, + 0.2076365376388414, + 0.20911952078719537, + 0.20260863366931037, + 0.20663870793075922, + 0.20462763798851635, + 0.2089856316655463, + 0.21019331767206634, + 0.20889237781906603, + 0.20792304007964998, + 0.20961935113704094, + 0.20798060129985121, + 0.2048637827778338, + 0.20673984984518742, + 0.20466016033561502, + 0.20653358985172823, + 0.20445184233924088, + 0.20530470499648867, + 0.20592457806245865, + 0.20247476413686033, + 0.20561787444366816, + 0.2082223686435334, + 0.20519264963986866, + 0.2070823057148994, + 0.20503765993403053, + 0.20452175775622847, + 0.20265436924971136, + 0.19885680747669807, + 0.20691268284165193, + 0.20516687690743182, + 0.20637270705517313, + 0.21303533689844553, + 0.20546360404453487, + 0.20539265227978307, + 0.20317643124644466, + 0.20186572147967533, + 0.20054833246166445, + 0.20828465668861668, + 0.20251704937281326, + 0.20356013357033667, + 0.20363583621723247, + 0.20654132975368228, + 0.20773540925451675, + 0.20427643774260132, + 0.2026574558869827, + 0.20016391163383343, + 0.20141243185859425, + 0.20104709485877145, + 0.20911251158493518, + 0.20619848951057423, + 0.20213868008766528, + 0.20249750243465595, + 0.20150345605598088, + 0.20190123153816156, + 0.20361252019947473, + 0.2010705021347142, + 0.20443404985283234, + 0.20638843513796665, + 0.20494501125010336, + 0.20165510696181857, + 0.20187593088056777, + 0.1971041530576403, + 0.20274627033015427, + 0.1990966017706537, + 0.2046260266619066, + 0.20284913161746654, + 0.20203583933230193, + 0.20340507336966465, + 0.19908623515051202, + 0.20263285516686966, + 0.20087496329533175, + 0.2029724333355306, + 0.20452963228571724, + 0.202055995184014, + 0.1978294133820051, + 0.20040250949824423, + 0.1999232101588413, + 0.20049748243764043, + 0.19864135769201569, + 0.200256496227912, + 0.20080046776533583, + 0.1987552806232239, + 0.2016780834267933, + 0.20171849831561645, + 0.20204968474793927, + 0.20562836949205016, + 0.20350899401640782, + 0.200019651592532, + 0.1995012045472266, + 0.20691096024199224, + 0.20405777576922274, + 0.20147779705488564, + 0.19831959471575047, + 0.20074653850676938, + 0.1994632685019926, + 0.20249516643195248, + 0.1973648895166723, + 0.20032194801577669, + 0.20734814975262145, + 0.20406506387116902, + 0.19879465359348827, + 0.20085488299502094, + 0.19846386544726377, + 0.19821300668973316, + 0.20047170334592737, + 0.20021612054605517, + 0.19829756287755046, + 0.20221016624302496, + 0.20075308420392543, + 0.20020123761707198, + 0.20029994001343526, + 0.19771560976578872, + 0.2003805419270155, + 0.19703670529980052, + 0.20230551103152838, + 0.20157620033386386, + 0.20559059066035174, + 0.197726359230929, + 0.20121893596669738, + 0.19660438692905693, + 0.2002515886436028, + 0.19850552962532986, + 0.19667359151837469, + 0.20018067621723093, + 0.20356654081253645, + 0.1981062272512154, + 0.19709038608450374, + 0.1946769405064956, + 0.19602101101922842, + 0.20099339418776013, + 0.19573519800852504, + 0.1998929594032055, + 0.19241572391710307, + 0.201325405953292, + 0.19532007694907166, + 0.1981182005513528, + 0.1970375628279168, + 0.19580392780902287, + 0.19666912765784955, + 0.19513920785436417, + 0.19236483235494947, + 0.19374252330694644, + 0.1941560925673008, + 0.19443299379513992, + 0.19877204026861195, + 0.19617266940421488, + 0.1939652099365517, + 0.19386749231239403, + 0.19294462518400848, + 0.20181199450022969, + 0.1939577192490909, + 0.19297558847711954, + 0.19944587570152308, + 0.19911221954743005, + 0.19755124220013207, + 0.20112539636131171, + 0.19596042865430194, + 0.19527836608060528, + 0.19928020085179549, + 0.19423856869328515, + 0.19383733944990245, + 0.1966351199855148, + 0.19573901388279957, + 0.1950589066365608, + 0.19954996719596438, + 0.19282376721067115, + 0.19512160574485965, + 0.19876725348483976, + 0.19571084431172606, + 0.19442641244561304, + 0.19475003377608727, + 0.20034878386578814, + 0.19679337425265986, + 0.1953927118565453, + 0.19501081802396594, + 0.1951992781947087, + 0.19551103628394795, + 0.1955835965913406, + 0.19390010893447723, + 0.19551097342538779, + 0.1958079477972094, + 0.19620959126630488, + 0.1956731060039869, + 0.19714157084185926, + 0.1971837817462721, + 0.19517100438121363, + 0.19362625720813595, + 0.1961650677808086, + 0.19321520267157283, + 0.19019481230904262, + 0.1952008441007736, + 0.1955895542075709, + 0.19282128614733465, + 0.19536735257419524, + 0.19730519835745766, + 0.19287923490057238, + 0.1961802870029458, + 0.1922109685252575, + 0.19046046029764907, + 0.192314493609878, + 0.19137075431844894, + 0.19470684754839337, + 0.192675840638098, + 0.19301586393324052, + 0.191278820460308, + 0.19400402157070354, + 0.1929400150515596, + 0.1918927658909212, + 0.18743536861019175, + 0.1940703170339754, + 0.1916804042404826, + 0.1937874383235956, + 0.19260859327745036, + 0.1938228174398419, + 0.1966588275201413, + 0.19716078471506665, + 0.19307411176672468, + 0.19154089489848886, + 0.18829924265276984, + 0.19442804613824866, + 0.19131242219884337, + 0.19065848693388737, + 0.19387314340065412, + 0.19423331243723083, + 0.19166082148783, + 0.19421251297162767, + 0.19283656063461047, + 0.19273445857517377, + 0.1912832805441201, + 0.1925060132309863, + 0.18979038986908786, + 0.1934101203945037, + 0.1944482766257519, + 0.19037873022675378, + 0.1931695688824438, + 0.19292219320706383, + 0.193257269928049, + 0.19737397421271385, + 0.19067511842671805, + 0.18909364216389604, + 0.1892093612035405, + 0.19022475022171265, + 0.1988599904944286, + 0.19196372342073112, + 0.19286423902444405, + 0.1927918696296087, + 0.1925883457890249, + 0.19665350716566793, + 0.18792350992183288, + 0.19502397277106764, + 0.19658186082425386, + 0.19401639917911104, + 0.19135575498414278, + 0.19353104617583788, + 0.19045485177168772, + 0.19513123879849087, + 0.19098141078517253, + 0.19072819837980384, + 0.18885063452280462, + 0.18772053180199597, + 0.18610311141723276, + 0.19120555480462184, + 0.1886765107232506, + 0.18832531342271464, + 0.1900988633721564, + 0.1890818785213254, + 0.18959758225314183, + 0.1875872802663526, + 0.19270456821994822, + 0.18985178251893609, + 0.18693809403946474, + 0.19081132199638096, + 0.1843908538019136, + 0.18888354911954583, + 0.18764499355067552, + 0.1867839755901804, + 0.1903289215099295, + 0.1869447081195522, + 0.1839570824822491, + 0.18855932224513333, + 0.1871577847057645, + 0.18615491758957733, + 0.18652161024939384, + 0.18573084241779167, + 0.18838524804707685, + 0.18984532741789759, + 0.19176987098084272, + 0.1844043356232185, + 0.1876026915123492, + 0.18874514095079542, + 0.1912118278106709, + 0.19221728669188093, + 0.1899244910166056, + 0.18301251143262795, + 0.19031910738833477, + 0.1842653948607986, + 0.1892049709546374, + 0.18834476620730217 + ], + "val_loss": [ + 0.7374561782236453, + 0.7299648959327627, + 0.7235557788316115, + 0.7240036501560683, + 0.7147143485001576, + 0.7158401128318574, + 0.7090426672388006, + 0.7001509088792919, + 0.6962399532397588, + 0.6880846680314453, + 0.683966444414339, + 0.6801343275992958, + 0.6744762717941661, + 0.6743973773202778, + 0.6763845402517437, + 0.6821865463330422, + 0.6948247465454502, + 0.7242469387473883, + 0.7700745617901837, + 0.8394604211236224, + 0.9766859658706335, + 0.9941022933265309, + 0.8548015854608866, + 0.7727338399416135, + 0.7204938748000581, + 0.6993367668287254, + 0.6772303845227501, + 0.6537642457786902, + 0.6590892007505452, + 0.7117933572074513, + 0.662711757292718, + 0.6597631747523943, + 0.6778159428525854, + 0.6656432017500018, + 0.6583358135856228, + 0.7553869487694752, + 0.8944740563079163, + 0.7389671140246921, + 0.6695259869282628, + 0.8398976467641783, + 1.063923235108823, + 0.813223352862729, + 0.6845155810868299, + 0.9813880416346185, + 0.6848142054161908, + 1.0292327619261212, + 0.9773171479687278, + 0.6521577480950473, + 0.6546018451084326, + 0.6336129935987201, + 0.6937565590128486, + 0.6587317936398365, + 0.8510057455227699, + 0.6598366209202342, + 0.7155975968013575, + 0.6468513555548809, + 0.6589318127543838, + 0.613085173714308, + 0.7918917852235429, + 0.6334732566718702, + 0.92751669994107, + 0.6329900041038607, + 0.6271683321690854, + 0.6405447923842772, + 0.6101396167535841, + 0.6333728835998494, + 0.6188436498704516, + 0.8134238777429234, + 0.6213755246113848, + 0.8995061808346231, + 0.6256303513123666, + 0.7884245091290386, + 0.6413379091723466, + 0.686382592736203, + 0.6275270207796568, + 0.8155550759883574, + 0.6584628067082829, + 0.6858718950807312, + 1.0348300739754865, + 0.6293644087366116, + 0.698451881699356, + 0.6335400273034602, + 0.6671025124780926, + 0.8614827846119433, + 0.7948544832107461, + 0.63713085476631, + 0.7255424568774523, + 0.6886092812098839, + 0.6148283181735027, + 0.6646007962616873, + 0.7298254401963434, + 0.6278755966527962, + 0.6497696393433913, + 0.676087823179033, + 0.6894995521432088, + 0.659468316461569, + 0.6421301731908763, + 0.6329965935445127, + 0.6971488939023313, + 0.7717682902735693, + 0.6400243238902387, + 0.7117544282917623, + 0.6576097495393989, + 0.6445198087596599, + 0.6811875677955004, + 0.6986963135868679, + 0.6619858422581061, + 0.6728015067400756, + 0.6805015961513107, + 0.6236162328701697, + 0.6218388443007882, + 0.6351569122002448, + 0.7185827799509337, + 0.6174990921568724, + 0.6356563988015239, + 0.6515322610000034, + 0.5909041392582434, + 0.6283506695411087, + 0.6187672383255429, + 0.5848446956111325, + 0.5865683445224056, + 0.5887938075135519, + 0.648334468404452, + 0.5906556084476136, + 0.5893004974005399, + 0.6096783568737684, + 0.6637104078207487, + 0.6480540105682097, + 0.6210882017549909, + 0.638994775896455, + 0.6531924288949849, + 0.7021291760014899, + 0.6853429670503111, + 0.6244620646775505, + 0.6437551909942686, + 0.6609398954444461, + 0.6221991534586306, + 0.6125201168987486, + 0.6072605326771736, + 0.6101500237429583, + 0.6211187352920756, + 0.6225428133283133, + 0.6056217470286805, + 0.6200187016784409, + 0.6414292257877043, + 0.6166466397267801, + 0.620673097026201, + 0.5819990388405176, + 0.5897606878001013, + 0.58907613195019, + 0.590639415162581, + 0.5850684435831176, + 0.589449325553429, + 0.6322884064765624, + 0.5909581834703316, + 0.6131471831489492, + 0.5861603555120067, + 0.5778630024489061, + 0.5691879115722798, + 0.5834489481316673, + 0.5881295581290751, + 0.5739692827617681, + 0.609178771391327, + 0.5829849853007881, + 0.5646373191733419, + 0.5875356585523228, + 0.5806235447525978, + 0.6060346722786809, + 0.5814259078951529, + 0.5860286447001092, + 0.5775819049205309, + 0.5916895770732268, + 0.5850686703199222, + 0.5771150466652564, + 0.6848907490019445, + 0.5822932386287937, + 0.5818589624983294, + 0.5886251190562307, + 0.5903165594295219, + 0.6075651187587667, + 0.5875522164099011, + 0.660709405294907, + 0.5761845347322063, + 0.6361302577970941, + 0.5799036840045894, + 0.6131973599578128, + 0.612584999130096, + 0.5822183822776065, + 0.5809185664962839, + 0.5841573926585691, + 0.5995981868954352, + 0.5903947344164789, + 0.5964454821782348, + 0.6052540182883357, + 0.6077058586625406, + 0.5803499609047984, + 0.5980184495816996, + 0.595877414132342, + 0.7066866747207112, + 0.568235413711748, + 0.5664938814294191, + 0.6411612568262183, + 0.5815138785559454, + 0.5533561945697407, + 0.566180901578915, + 0.5943226855662134, + 0.5819593228307771, + 0.5486633114424753, + 0.5755143701846217, + 0.606528867174078, + 0.5840317804688289, + 0.6613278027485918, + 0.5462508338653012, + 0.5514604408799866, + 0.5416966581050261, + 0.6553046020828648, + 0.537171850601832, + 0.5494695464953964, + 0.5665523591968749, + 0.6038440959873023, + 0.5331815350570797, + 0.5541729837839986, + 0.553429480964019, + 0.5382801454376291, + 0.5207129245003065, + 0.5958060225770797, + 0.5411478504538536, + 0.5342972341143055, + 0.5405955735915973, + 0.5324987817877604, + 0.588039325159273, + 0.5282189828102235, + 0.5427351071510786, + 0.5253672241060822, + 0.538838392606488, + 0.5190670952936749, + 0.5818854793906212, + 0.5393321133322186, + 0.5177510921601896, + 0.6247225628222948, + 0.5300267429815398, + 0.5182146383104501, + 0.4983243703566216, + 0.5058470180741063, + 0.49983567252387234, + 0.5130157658347377, + 0.5081159052105597, + 0.5094975909149205, + 0.5137595594113256, + 0.49321055522671453, + 0.48543357761737743, + 0.4963588541212641, + 0.5406890447125022, + 0.4993735172866303, + 0.4949638843996289, + 0.5304877641208378, + 0.4795730009123131, + 0.5091744260747492, + 0.48624788794988466, + 0.4808824702085536, + 0.5721699347098669, + 0.4917583172152072, + 0.49593034395833074, + 0.4886518421548384, + 0.5124557842443018, + 0.49799233799179393, + 0.4864519493263445, + 0.4940587469365126, + 0.48649072895447415, + 0.4976177735277164, + 0.4812024793599123, + 0.5100710472023046, + 0.4873673168045503, + 0.48564374419274153, + 0.46807761156908523, + 0.47970910039212966, + 0.5468004186304263, + 0.4673503867270034, + 0.46626369075642693, + 0.4893682184226719, + 0.4839831742423552, + 0.4861867016664258, + 0.4780628228629077, + 0.48663281916100304, + 0.4851264363085782, + 0.47603293305929795, + 0.4643777406969924, + 0.4623915947237868, + 0.5028316494951277, + 0.4735106732006426, + 0.4837022923209049, + 0.5339814462687498, + 0.4616076909005642, + 0.4849736926916205, + 0.4906583484492184, + 0.5124043280511726, + 0.5515559656016621, + 0.47386876659260857, + 0.4657633055323436, + 0.45985295508562785, + 0.49999143353398934, + 0.4622241969645759, + 0.5184174920949671, + 0.4603732641970302, + 0.538248706471037, + 0.5118815720449259, + 0.48687109930647743, + 0.4569016179460802, + 0.4834696171736276, + 0.4580250869470614, + 0.4670113569792406, + 0.4658779608614651, + 0.47029463114377895, + 0.47118077979043677, + 0.5094517166783781, + 0.4725390110210872, + 0.5131671245175379, + 0.47201247908818866, + 0.4655101256054125, + 0.45929598803689453, + 0.506324132927406, + 0.47243471898966366, + 0.46146412745670035, + 0.47456342579773914, + 0.47096929179481517, + 0.44652499810413077, + 0.5097342634366618, + 0.5213945286325466, + 0.46467416512745396, + 0.4442217798880589, + 0.5562906617551674, + 0.468545549813612, + 0.4686210675188053, + 0.48172586218074515, + 0.46559522342350745, + 0.45252517081889104, + 0.46725037785959833, + 0.45048406968514126, + 0.4515210288910218, + 0.4780311999313625, + 0.5197095618479781, + 0.4508737404313352, + 0.46111175141952654, + 0.48517520284211196, + 0.44762511344419587, + 0.4737501048747404, + 0.4576154984993699, + 0.45701438110367754, + 0.46823875822218847, + 0.4675001135026967, + 0.4514090508038615, + 0.5017720294403442, + 0.4503658303508052, + 0.49404382995433277, + 0.4767969152257766, + 0.513244132982728, + 0.4789232912898799, + 0.4553382871787489, + 0.45833513595991665, + 0.44329477313124105, + 0.46741894729159494, + 0.46301016951968643, + 0.4501547678661199, + 0.4513427511225512, + 0.4568828480479158, + 0.44403845398330394, + 0.4877804858541047, + 0.45926702620438586, + 0.47712649513082006, + 0.4580464048518075, + 0.4448446806658197, + 0.44764231987021585, + 0.4521454761241689, + 0.4651799721666324, + 0.5001760756619918, + 0.4592645830118362, + 0.4352306749809671, + 0.4543722736890669, + 0.45171576402621505, + 0.4278055571111632, + 0.44044682843449673, + 0.4586230550237276, + 0.4647786590144222, + 0.43814468369991694, + 0.49013312682969334, + 0.4364545868686688, + 0.44441420925252234, + 0.4641320170075805, + 0.46515239027823196, + 0.4390525830288728, + 0.5061632395710474, + 0.47146504312569715, + 0.4433282619273221, + 0.45574706687051575, + 0.4431928622501868, + 0.464400316140166, + 0.48978192064865134, + 0.4503899348186858, + 0.4477855673312773, + 0.4308773783713947, + 0.46222032330654284, + 0.45474252270327675, + 0.4295993261499169, + 0.4560690462175343, + 0.4772718280185888, + 0.47797058228357336, + 0.43062777909231775, + 0.4860984051807059, + 0.47732321209745643, + 0.4367604154495545, + 0.44653276997951813, + 0.492279046939479, + 0.4462110396520591, + 0.4310440682794577, + 0.47943167866748054, + 0.4286147841470845, + 0.4373319812900858, + 0.45379759509254386, + 0.44803038940845447, + 0.430925346520028, + 0.43977335355256075, + 0.4274872150502087, + 0.510800192385544, + 0.4434347516500656, + 0.4492081736938821, + 0.4394703676671158, + 0.4552673197776815, + 0.4375462279781515, + 0.43313516092337206, + 0.4449752467787928, + 0.43555627133191366, + 0.46501332650214067, + 0.44270649961667297, + 0.43766685887987233, + 0.4345859514526379, + 0.4623920798623635, + 0.43825308698011034, + 0.4596781109770139, + 0.4455018189310292, + 0.4247746773891979, + 0.4275753802079477, + 0.46661265433570487, + 0.47390089825623566, + 0.43631655253745893, + 0.43786486695854016, + 0.4309494773638837, + 0.48781488536868567, + 0.4369010986461316, + 0.46259545293395166, + 0.4280763198564082, + 0.4295460128305871, + 0.48392741230350955, + 0.4429069152906721, + 0.4358110081772377, + 0.4480357973112, + 0.4553580695970191, + 0.42857446843459285, + 0.4538266992679349, + 0.42530041505341176, + 0.4271951881179839, + 0.4705459218886163, + 0.43046503845188355, + 0.49691944748715117, + 0.42506951128167136, + 0.4410519467919697, + 0.4356937774537522, + 0.4424133775410829, + 0.4513817513246595, + 0.4234761607913691, + 0.43185967676065584, + 0.44826184774254574, + 0.43221683375951314, + 0.42978329799011533, + 0.4272132296069169, + 0.4517162903499456, + 0.421071419607342, + 0.41782795959784663, + 0.5150110270644044, + 0.42537169379216655, + 0.4540183439758825, + 0.4304073235410967, + 0.42012085379273806, + 0.44074684298700756, + 0.4751270767531277, + 0.420133759762034, + 0.4250003890030914, + 0.4311156857436822, + 0.43468584690564943, + 0.4281495842208833, + 0.4297140297583408, + 0.42980435852789217, + 0.44196513170997304, + 0.43857365589082975, + 0.4679736843056701, + 0.4231972800176821, + 0.4297688356313257, + 0.4566113049693314, + 0.42037590094094657, + 0.4201714744400463, + 0.44293576570940607, + 0.4265176078396631, + 0.423969127283788, + 0.41289019913493114, + 0.4333460376034548, + 0.4401683027361646, + 0.4281967242512806, + 0.4540805277863034, + 0.4280135084035588, + 0.43445383223854467, + 0.41625495312482486, + 0.45295201967481846, + 0.4371721165392686, + 0.41122339408338804, + 0.45564645648370555, + 0.41582236301015923, + 0.42268586595669205, + 0.44530396775147063, + 0.40787335147184356, + 0.45503119218312665, + 0.42680751670289924, + 0.4120426944192545, + 0.436151455949854, + 0.4049659851524565, + 0.43682252052297565, + 0.4287339450078614, + 0.41515730989430055, + 0.40739438952993096, + 0.4258770071613936, + 0.4238281327955149, + 0.44568560824350073, + 0.41266861536114674, + 0.4426512728203778, + 0.4172191434068444, + 0.41342812467274476, + 0.4130827135946832, + 0.4508155149948082, + 0.4152412734189887, + 0.4171015616092417, + 0.4130611087620994, + 0.4167666889520155, + 0.4206625847950762, + 0.43493747910093744, + 0.4183785006127976, + 0.4122096639080548, + 0.4368460020970231, + 0.41770664761187853, + 0.4477898952907618, + 0.4166196325310954, + 0.4184942153500922, + 0.42384467936224407, + 0.40698199716891037, + 0.431703613438632, + 0.4064180723586936, + 0.42739010675821776, + 0.41954092821681205, + 0.4154085172225296, + 0.4312065718350587, + 0.4121786352522947, + 0.40807626244646533, + 0.43616207600513723, + 0.4025846606258441, + 0.41684910128421987, + 0.40629097781385537, + 0.4254703111371692, + 0.4371275177547409, + 0.42237066476387375, + 0.41489767159024876, + 0.45060925588103723, + 0.4034153426548949, + 0.4373245888999031, + 0.4263681483765443, + 0.4211897677569478, + 0.43937452887127426, + 0.41734357530044186, + 0.41881345079084975, + 0.4180432303498189, + 0.42285438701740385, + 0.41561807018279295, + 0.4445096605261903, + 0.4123293826310539, + 0.41392784946264677, + 0.4483274423206846, + 0.4225646267403607, + 0.4169723487769564, + 0.4106281820546698, + 0.4184990658160345, + 0.4149271610227448, + 0.43946958810412956, + 0.4252391636463595, + 0.41650209540248284, + 0.4330924223234624, + 0.4280282139180251, + 0.4199122636590475, + 0.4385356447303001, + 0.43438777574740445, + 0.43339423798484566, + 0.4192352473827792, + 0.42606041773601816, + 0.4428733834122986, + 0.42220333218574524, + 0.416317671675373, + 0.41494116601016784, + 0.42822731128767316, + 0.426254449757161, + 0.4214524785976535, + 0.4332379284142344, + 0.4336672531509841, + 0.42461028465150313, + 0.4149595545949759, + 0.4314349295548451, + 0.43100975999999563, + 0.4143271637091666, + 0.42327915058459764, + 0.433400926536616, + 0.42332775829888786, + 0.4138643993409695, + 0.41774289008735876, + 0.4237336552253476, + 0.42363654221925473, + 0.4289834709769046, + 0.42875812602815805, + 0.42730624283905383, + 0.43572646384069946, + 0.4103625372259153, + 0.42967157938552125, + 0.4203253331375711, + 0.4235355521287815, + 0.43281595553788876, + 0.4392475201115932, + 0.4363860898179772, + 0.43148490913028337, + 0.43232580614678656, + 0.41792725182977725, + 0.4184052734348325, + 0.41664061732130286, + 0.43662639859097974, + 0.43764225232564374, + 0.42482973511020344, + 0.4230283677210043, + 0.4273505953634963, + 0.4246478353937467, + 0.423075473372951, + 0.42339424876335224, + 0.42875438098462276, + 0.4326246115896437, + 0.43318492316721396, + 0.43734416034486556, + 0.4231808636981396, + 0.4274273263980393, + 0.4422895807634901, + 0.4450649970475538, + 0.43532300731282175, + 0.4320414885418651, + 0.4356419309559796, + 0.43542535446676206, + 0.4285599935201951, + 0.4228309134228362, + 0.41973695821232265, + 0.42532791109916607, + 0.4386328743931688, + 0.4358371186679528, + 0.4212022730735717, + 0.441507253749871, + 0.41511035346092634, + 0.414544118821253, + 0.42736216321771525, + 0.4241100685372029, + 0.42677497026728994, + 0.4161476464367207, + 0.4356742597380538, + 0.42493840003455124, + 0.4318597673633952, + 0.42781388028352346, + 0.425931677636173, + 0.41538843586121077, + 0.42228124433277564, + 0.4155820736684549, + 0.41620861743519333, + 0.41520206524450104, + 0.4110510137024117, + 0.43157815620487117, + 0.42749576132606576, + 0.41572030707273955, + 0.4213568330914886, + 0.42562126129129785, + 0.4370993463161551, + 0.430685512997486, + 0.44082251158945357, + 0.43781906449132496, + 0.4330922495343803, + 0.4229287389251921, + 0.42961297878696597, + 0.43483818883513226, + 0.41613477399503745, + 0.43146994392629023, + 0.43371586869528267, + 0.4397452861806493, + 0.4274378069389014, + 0.4369493878366035, + 0.43132241401407456, + 0.46722505223235966, + 0.4675086101080165, + 0.4392269149790575, + 0.4333441563318541, + 0.4318327437856315, + 0.43887847537795704, + 0.42060142787702287, + 0.4411171147208891, + 0.44750106886581137, + 0.43117661194668877, + 0.4289708898207288, + 0.43938331839479045, + 0.4178585680546584, + 0.43841024451417687, + 0.43918640626433453, + 0.43283836396388065, + 0.4317682063505973, + 0.4201051689868356, + 0.44225908581305434, + 0.4410293358895514, + 0.45238724084180076, + 0.42322606363414245, + 0.4274564818651588, + 0.4227020733150435, + 0.4150092383777654, + 0.43178058346664466, + 0.43645447285638916, + 0.4545965955397229, + 0.4709770154253936, + 0.4401514620324712, + 0.4287182205805072, + 0.4389280676841736, + 0.42475958449053175, + 0.4583076869631991, + 0.4507951706095978, + 0.43908549205940445, + 0.4477678554845445, + 0.4582256800782533, + 0.4251474439177984, + 0.4644727540420897, + 0.4544018458253072, + 0.45881435955748145, + 0.4589600718499702, + 0.440892812738448, + 0.42952131627150525, + 0.44617697881695667, + 0.45133198264204427, + 0.4624859821281315, + 0.4414381205483719, + 0.46365162334692334, + 0.43664152800668904, + 0.44933192155979296, + 0.4339028219749898, + 0.4316804250357328, + 0.43843066489990845, + 0.44427377408669316, + 0.43179561133369987, + 0.4472015061772164, + 0.45029817981484493, + 0.4344668201642272, + 0.45319776356588176, + 0.4335377960477346, + 0.424805417748881, + 0.4276784790886773, + 0.42028091112036764, + 0.40792352407250876, + 0.4432510920328858, + 0.419649890244559, + 0.4360486410650206, + 0.4307365526939616, + 0.43075247545853074, + 0.40978218290816854, + 0.42613766186031293, + 0.4241480481017519, + 0.43111480427560983, + 0.4252383227425593, + 0.441812081883351, + 0.4250717494222853, + 0.4342241168574051, + 0.4192070742540153, + 0.4276936310860846, + 0.4209958239469999, + 0.4259730631508577, + 0.43476574260879447, + 0.46738511553885026, + 0.4351756307353944, + 0.4531188327589153, + 0.4222285265539899, + 0.45275570958116906, + 0.4464924728244911, + 0.4512114558874825, + 0.442641620742686, + 0.44722358514497307, + 0.4275512562857734, + 0.41826788069289406, + 0.4444007522162096, + 0.44135400073395836, + 0.44318127466572654, + 0.42622111673340385, + 0.43903848087346115, + 0.4556049856322783, + 0.4409396543546959, + 0.42167463217988427, + 0.44921123144435293, + 0.43992502959790053, + 0.45180229907050545, + 0.45283696128998274, + 0.45070907280400946, + 0.47946156607365903, + 0.4456568368607097, + 0.45618232983497925, + 0.4479798561444989, + 0.46040858300747695, + 0.4820922812745895, + 0.4367597828860636, + 0.4169744214066017, + 0.4354863182906015, + 0.48752062298633436, + 0.48599085791243446, + 0.46271204037798774, + 0.4788575822740425, + 0.45318370487219023, + 0.46712046015409775, + 0.5024455643178504, + 0.48885307939332207, + 0.48110044094515436, + 0.48811909593181846, + 0.45745876532645874, + 0.46270366528151946, + 0.4672464156224404, + 0.4475078360166079, + 0.5057825803020854, + 0.46153774075670007, + 0.4572194106416938, + 0.4716428270862426, + 0.4649870454529185, + 0.4761025293925662, + 0.4513511267709143, + 0.4517698557472523, + 0.4369641342372806, + 0.4542081987968198, + 0.4841792617499093, + 0.46974526594082516, + 0.4573201930817263, + 0.4497877868053354, + 0.4479290453004248, + 0.42896609560207083, + 0.4675461588266455, + 0.4505395417412122, + 0.4387766705986894, + 0.44812820516066787, + 0.4334442766820207, + 0.4817827955624204, + 0.4766010199615985, + 0.460754899515046, + 0.46788484207641934, + 0.45099108243062175, + 0.4735872484283683, + 0.4775557733244366, + 0.47238918605410024, + 0.49219191589473205, + 0.5000031722916497, + 0.46634882706918834, + 0.48097844007942414, + 0.4668469117195518, + 0.47196521711202316, + 0.4728176797981615, + 0.4896016590021275, + 0.5057207732288925, + 0.4926207415115686, + 0.4863483382411945, + 0.4930645062783618, + 0.4797393449662644, + 0.4715628257872146, + 0.4418545780174526, + 0.4666525109866519, + 0.4536728004430547, + 0.4797232136314298, + 0.4862594120664361, + 0.4641794920151616, + 0.49257575233041506, + 0.4581025825974382, + 0.49430135867477937, + 0.5127438435583939, + 0.49098276080172737, + 0.47647183875978727, + 0.44444361365871665, + 0.44915712661581275, + 0.438206177526786, + 0.47497285764526437, + 0.4621322748285753, + 0.4468135486966298, + 0.4568241693907314, + 0.5065567403295894, + 0.5251340709718657, + 0.5057652627612338, + 0.49366718962972544, + 0.5297666837771734, + 0.4779892118624699, + 0.47583593023412024, + 0.47559556273030645, + 0.4738652604965516, + 0.48486214131116867, + 0.47453880227274364, + 0.4532811420015347, + 0.4870696386989252, + 0.4528498207161456, + 0.4702810354438829, + 0.46194150032084663, + 0.4771397331798518, + 0.46500582919444566, + 0.4568503232281885, + 0.4377049843746203, + 0.4422812952119627, + 0.4774008754778791, + 0.5060789104045174, + 0.49157330283412226, + 0.45454859719784174, + 0.4510390312399393, + 0.48547320582984405, + 0.5003111256677427, + 0.4806641576650702, + 0.46286325377446635, + 0.48761437207828334, + 0.48646368537052176, + 0.4756825692307802, + 0.48780448854337505, + 0.47636023853664045, + 0.5031656821568807, + 0.5072703450734233, + 0.5052917443307829, + 0.5008329745428062, + 0.5358224700630447, + 0.5156319375023429, + 0.5300404168205497, + 0.6428284812488674, + 0.570292823108626, + 0.5265831470857432, + 0.48871875637107426, + 0.5147061680937991, + 0.48871216573465015, + 0.497571959723661, + 0.5149136266590636, + 0.4807171978884273, + 0.5129035808789877, + 0.4790491619963705, + 0.47951479302144345, + 0.44688316747362233, + 0.48146610615062124, + 0.46542622222576613, + 0.4747621034398491, + 0.45657361464367974, + 0.45075153596239326, + 0.45694791829144515, + 0.49043793617575254, + 0.5008013720313708, + 0.48706965019673476, + 0.4712927653281777, + 0.4768160060967928, + 0.4702929780807024, + 0.45667020553424037, + 0.48158795496931783, + 0.48867936505947585, + 0.4946649745106697, + 0.48557333887359244, + 0.495845909839795, + 0.4980627672723782, + 0.4724110540600471, + 0.49346919146216944, + 0.49280140742107675, + 0.4897298147832906, + 0.5334026771195141, + 0.5067844070770122, + 0.4779933291820832, + 0.46508231450930054, + 0.4474596729801025, + 0.48047727677557206, + 0.46269726210538253, + 0.48411567941491984, + 0.46585823016034233, + 0.4717791561543206, + 0.486460975198834, + 0.46582993943198225, + 0.44991024808935176, + 0.4767291452045794, + 0.5081600940521852, + 0.4697560011236756, + 0.4738916863261918, + 0.4966567108108674, + 0.48327856455688123, + 0.48443629776622044, + 0.5103379797972278, + 0.4973612113131417, + 0.5312079275831764, + 0.48528593723420743, + 0.48775073803133434, + 0.5149078116188814, + 0.5169406627983223, + 0.522945147053695, + 0.4910056276453866, + 0.5286782430829825, + 0.5099631130327413, + 0.5600966531553386, + 0.5636191509756041, + 0.5054917523154506, + 0.5174132008795385, + 0.48999722200779267, + 0.5056825702389082, + 0.4826784372145747, + 0.48611352160389043, + 0.48295463704400593, + 0.49446389198671153, + 0.5054329477342558, + 0.5419493994595092, + 0.5294128522092914, + 0.5150117296495555, + 0.517968663646851, + 0.5085053601198726, + 0.5003906956609384, + 0.5005290671999072, + 0.5114249678121673, + 0.5058737055938921, + 0.5327122866371532, + 0.5742877946223741, + 0.5953698824217291, + 0.5562471843979977, + 0.5277416224097028, + 0.5954520713399958, + 0.5408523343963387, + 0.5421118083191506, + 0.536971460521957, + 0.5422828668429528, + 0.5415587135487132, + 0.5447332607927146, + 0.5280196070671082, + 0.5984217018624882, + 0.5888040442893534, + 0.5345316622176288, + 0.5409275111224916, + 0.5287157446146011, + 0.5411250444106114, + 0.49999170456035635, + 0.5296293846618982, + 0.5241554005094516, + 0.5429278161422706, + 0.5212458823750048, + 0.5254477663540545, + 0.5411736288188417, + 0.523348977720296, + 0.5591982665621205, + 0.5450927421082685, + 0.4717145218617386, + 0.4971619771770489, + 0.48678299343144454, + 0.48761393083834353, + 0.47225192731913224, + 0.450483136407939, + 0.4872835309325177, + 0.4918060748849386, + 0.4886342650394381, + 0.4971512526641657, + 0.5155021968631097, + 0.49002338016842617, + 0.48127557061336657, + 0.5104904700944453, + 0.4765822537887244, + 0.5069031471639504, + 0.5195884169251831, + 0.4809718516045882, + 0.48055413448148304, + 0.5131158928076426, + 0.5180509613803875, + 0.5070850632992792, + 0.5500055181759375, + 0.5102163212902752, + 0.46176568335956997, + 0.5313923875858755, + 0.5450047708955812, + 0.5149119477949025, + 0.5652857409951128, + 0.5400880418809844, + 0.505328966235673, + 0.5318004120095277, + 0.5357836254952867, + 0.5232333591506805, + 0.5133174338642462, + 0.5339862673922822, + 0.5172559843387132, + 0.5158982631968864, + 0.5256374543647707, + 0.4907589518913516, + 0.5241778431299292, + 0.5160488086166205, + 0.5193613598376144, + 0.5199984267905906, + 0.5263464320221065, + 0.5711833225724138, + 0.5437975556210235, + 0.5245201482816979, + 0.5547088774633996, + 0.5115703850248714, + 0.5406575545116707, + 0.5580903913503812, + 0.5068195380362464, + 0.501239107714759, + 0.5392672702854062, + 0.5234574489755395, + 0.4965940530837318, + 0.535493123586531, + 0.545003888875614, + 0.5184614822084521, + 0.5026696640768169, + 0.498017704045331, + 0.5358371449473464, + 0.5045475408802798, + 0.47367471102395176, + 0.5068353773267181, + 0.4717210022571646, + 0.49191665916163246, + 0.44346125000788844, + 0.5133465109967891, + 0.46978029627122997, + 0.5004440660553949, + 0.5131164818634222, + 0.4834179197564537, + 0.4779427831095678, + 0.506597546239694, + 0.5243806214428243, + 0.5597228607461776, + 0.5248114382963122, + 0.5115301458188045, + 0.5177269342504902, + 0.5366888819837276, + 0.5243857653328666, + 0.5263608142181679, + 0.47379983708630374, + 0.46631347608787044, + 0.45211973533402255, + 0.4589520331794097, + 0.49049123988291365, + 0.47599581353090425, + 0.4867208263848299, + 0.4992306580606066, + 0.48086679138151217, + 0.476109479220561, + 0.5206314816519066, + 0.5617145852726183, + 0.527309051266423, + 0.5201434052468817, + 0.5189389775932571, + 0.49500664337365713, + 0.5575254692891498, + 0.4937513748896711, + 0.5299603345769422, + 0.4802556831251692, + 0.5232126580344306, + 0.5658017843961716, + 0.5538913044664595, + 0.5327296188492098, + 0.516227807159777, + 0.5279260024796297, + 0.5321322076114607, + 0.539125122681812, + 0.5025608743322484, + 0.5460924735223806, + 0.5717874373550769, + 0.5589503579669528, + 0.5292142314583431, + 0.5058991222837825, + 0.5627963719544588, + 0.59660617335711, + 0.5517756230669257, + 0.5582631983690791, + 0.6154593015894477, + 0.563810852482731, + 0.5488629068857358, + 0.58894259068701, + 0.5695904312126431, + 0.6067277666779212, + 0.6099499349976764, + 0.5405636818412646, + 0.5531517410259924, + 0.5189288388247844, + 0.568019858388989, + 0.5445150018290237, + 0.5613586477659367, + 0.6075646416456612, + 0.5453857486998593, + 0.5077772379657368, + 0.5232383242727797, + 0.547803265169079, + 0.5125746526008035, + 0.5344667178061273, + 0.5194888279577832, + 0.5327570655463655, + 0.5148884735909509, + 0.5927972520391146, + 0.5516210755816212, + 0.5560169453606193, + 0.48575854273857894, + 0.5157865951826544, + 0.4942962343310132, + 0.5192102858865703, + 0.4953548471316879, + 0.4777581114551903, + 0.49667971627211865, + 0.5234732295351999, + 0.540358637770017, + 0.5269599653504513, + 0.541110948096087, + 0.5392157243633712, + 0.5496071939483101, + 0.502776375707285, + 0.5613768566169857, + 0.5425178745738518, + 0.5202712283734187, + 0.5258632677572744, + 0.5247714429357906, + 0.5693796723161215, + 0.5585605635963105, + 0.530891578046628, + 0.5416018942623962, + 0.5435129968840399, + 0.546611099469441, + 0.5845452123034147, + 0.5666143748863244, + 0.5067707825406098, + 0.5003517964555894, + 0.5034367204816254, + 0.5573750886100309, + 0.5773318884549318, + 0.5439012561131407, + 0.5277830947788409, + 0.4945206315383131, + 0.49009663370196466, + 0.5326951145665881, + 0.5151219139634459, + 0.5381218472748627, + 0.5449614330298371, + 0.5187722744397175, + 0.5114226879345046, + 0.5620891205322596, + 0.5598220306414144, + 0.535939613978068, + 0.5269481887420019, + 0.5476115451734743, + 0.5562308045265115, + 0.619394165682204, + 0.5675689921150973, + 0.5780452150437567, + 0.5958685784796138, + 0.536795294671147, + 0.5443034993461621, + 0.5781734922417888, + 0.5883351069541625, + 0.5684449310288017, + 0.5370644597727575, + 0.5156902023763569, + 0.5467129682685122, + 0.5236270198667491, + 0.480496911768928, + 0.49944696244266296, + 0.47064239538654135, + 0.5073448769104334, + 0.499112762602759, + 0.5180556151877951, + 0.5404834344891118, + 0.5231363475322723, + 0.6237696117641013, + 0.5492547921100517, + 0.5963288380959888, + 0.5402130526892933, + 0.5000692748085216, + 0.5359037052610038, + 0.5542787572851887, + 0.5679148247028575, + 0.5441808538672365, + 0.5637378457151814, + 0.5676870067362432, + 0.6113919132837543, + 0.551328189946987, + 0.5612559813408204, + 0.5891232266102309, + 0.5152981066961347, + 0.5225799638823962, + 0.5290359899769594, + 0.5765292598509494, + 0.5959748600000216, + 0.5704283511932985, + 0.5344882193538878, + 0.525160984814535, + 0.5477227024090143, + 0.5140225934209647, + 0.5372551550375827, + 0.4894147977048968, + 0.5287375596846328, + 0.5412578947934104, + 0.5565005010108889, + 0.5656992656489214, + 0.5734454681291993, + 0.5225425729597056, + 0.5642155071283564, + 0.5726767769198359, + 0.49942736649586833, + 0.5233011519835319, + 0.47833693413822737, + 0.5188509500872942, + 0.5532303202299425, + 0.5820860548151864, + 0.5692238183117208, + 0.5433876115230867, + 0.48712185236774846, + 0.532691694336173, + 0.540374388113434, + 0.5520022380867122, + 0.5007230359371062, + 0.5480436119768355, + 0.5228840510970281, + 0.511553008845191, + 0.5508689297202193, + 0.5080633259113924, + 0.5134528845456647, + 0.5151630352124755, + 0.4882433829990066, + 0.5138295365520466, + 0.4727856462568413, + 0.49213725917133283, + 0.478054916854074, + 0.4913281104814859, + 0.4929254502977854, + 0.5191457324925765, + 0.4634956641605607, + 0.4863026218465817, + 0.4982155864989316, + 0.4942874208000707, + 0.5077204812364078, + 0.45391231526931125, + 0.48201371467223875, + 0.49749602055476033, + 0.49049581637904965, + 0.49034910676655946, + 0.488844047817919, + 0.5137899869386061, + 0.4947010989266413, + 0.5229135225584478, + 0.5151348243708964, + 0.5496551473107603, + 0.5400667969643334, + 0.5065912272735142, + 0.4935414684407505, + 0.4962549269383336, + 0.5244223423026226, + 0.5578638340036074, + 0.4943933513613395, + 0.5265326362885074, + 0.4679098996667214, + 0.4805691041696219, + 0.4984054129432749, + 0.4525756745794673, + 0.5036358762026569, + 0.46748333313950785, + 0.49630945962336326, + 0.4545452591077781, + 0.4687737561072464, + 0.48232770306460654, + 0.5371480882167816, + 0.5184578043811116, + 0.4936839281408875, + 0.46981153076077686, + 0.472457988532605, + 0.4793247066806128, + 0.4823524648392642, + 0.4718671256193408, + 0.48119699501972873, + 0.48408737562504817, + 0.46317075735624924, + 0.484910474975168, + 0.4727027051748685, + 0.44484720411308015, + 0.4449577739255296, + 0.4272846599327929, + 0.4392798330496859, + 0.4468993374870883, + 0.45924358198672166, + 0.4617248166490484, + 0.5020137466490269, + 0.5087926557494534, + 0.4913772547410594, + 0.4782349321715258, + 0.45552262305109587, + 0.42722949514418473, + 0.44672725082915504, + 0.4583667702512977, + 0.4881348632000111, + 0.4840403998983495, + 0.47516285444115414, + 0.4696327650712596, + 0.4620723040015609, + 0.48646955290970245, + 0.4770629344806995, + 0.4778841845231292, + 0.42838261827228613, + 0.4633205165097743, + 0.4678015311559041, + 0.459975935978654, + 0.45322196187888397, + 0.480215138859219, + 0.4559350221153395, + 0.4424021344080015, + 0.4718482247611255, + 0.47624367804346995, + 0.4608684198953855, + 0.4733266945192475, + 0.4715392795149927, + 0.4583052082654135, + 0.4350329523469195, + 0.4433811488158909, + 0.4423662136182373, + 0.4285219670790765, + 0.4523176922934291, + 0.44434969897531434, + 0.4532264013441257, + 0.4421209412868376, + 0.4294974198449909, + 0.4609054621125077, + 0.4751392062753439, + 0.4482755127972291, + 0.43028594390201713, + 0.4395322736904577, + 0.42236055833873926, + 0.41791296330637034, + 0.4558970939689948, + 0.41459059433574663, + 0.4126047648857405, + 0.42083398602259015, + 0.4277074446349784, + 0.42548165937172777, + 0.4188513011200192, + 0.42880396383963987, + 0.45143001797942467, + 0.4175748556944323, + 0.4225610633507187, + 0.41934856057259035, + 0.4163833454504241, + 0.42239819478565527, + 0.4104951589517755, + 0.4096765938548394, + 0.41970271515993424, + 0.43270875704417255, + 0.39786663009888595, + 0.400948511896494, + 0.3878552627140357, + 0.42208254882306967, + 0.4231050751735399, + 0.404578354117679, + 0.42633765034469556, + 0.41817576355404323, + 0.42434860584268597, + 0.3976384612651151, + 0.4222322388517636, + 0.410373359274717, + 0.4297201514336062, + 0.4271858774907427, + 0.40297255309781543, + 0.4239040658245852, + 0.40846831789585175, + 0.40669744457175705, + 0.41672264071710313, + 0.43029850558090355, + 0.43010531085324877, + 0.42625140602252, + 0.42121657862523454, + 0.4238799640241964, + 0.3975912220776081, + 0.4287274954035694, + 0.42601904052275197, + 0.4101426345698627, + 0.39870626436845386, + 0.4188028131209222, + 0.4033225368777359, + 0.41100685483557575, + 0.42536203931143257, + 0.4024739659011916, + 0.4006894510469319, + 0.4046734006109613, + 0.4020565011894997, + 0.40747308928841425, + 0.40031873887795727, + 0.43995176451165735, + 0.4187179586424688, + 0.4128190563692723, + 0.4155218137060235, + 0.3968162325406332, + 0.3938610463138716, + 0.4016891367400042, + 0.40702164205320085, + 0.39892768886308244, + 0.40041512055437506, + 0.4024993571924207, + 0.41360515921756075, + 0.3995805018362992, + 0.41070587526041047, + 0.41081310528112047, + 0.39968363705010695, + 0.40887931379041187, + 0.39064380764547324, + 0.3900861582132401, + 0.40643030363652444, + 0.42065011253465473, + 0.4287721607144232, + 0.4068471831901942, + 0.4030568700766674, + 0.4122192128733904, + 0.39045426822095003, + 0.4158312054235994, + 0.4094668868354257, + 0.39576971417085993, + 0.3944411210278854, + 0.40746815492295557, + 0.40001925719143067, + 0.3989476507736577, + 0.39018775272056644, + 0.42200622530539095, + 0.4384983745116143, + 0.42031534883067195, + 0.4156811652176174, + 0.39939033548221176, + 0.3990513436082337, + 0.38410412129244687, + 0.40602763015546917, + 0.40921116059209095, + 0.4085670476204451, + 0.41966132792057814, + 0.42608284573128197, + 0.3937210288634639, + 0.39159849248136636, + 0.4114455719604904, + 0.40838403814690716, + 0.3989033220956723, + 0.4143397264228559, + 0.40354300046592584, + 0.3926790540486022, + 0.41284082892040413, + 0.3985622409087272, + 0.37784588738793023, + 0.3917145738378167, + 0.41780537872770684, + 0.4050581049013101, + 0.3940607448119992, + 0.39646078309297195, + 0.4134049489634273, + 0.42819972391481753, + 0.41759682083387434, + 0.41048340575286635, + 0.39456034916234606, + 0.4064252088881201, + 0.39684796796674715, + 0.40608400014447577, + 0.4207136313442463, + 0.3864567777785806, + 0.4012959412885485, + 0.3986003071437647, + 0.41280646055338927, + 0.41938227589851546, + 0.3987946025107378, + 0.39430258825513315, + 0.41271705833482153, + 0.40943225827298046, + 0.41184088599258734, + 0.4021412490487651, + 0.4588610708805514, + 0.4016683558806961, + 0.40914437568022144, + 0.3901758014029007, + 0.4211111796306975, + 0.42865895765063206, + 0.39954314325694684, + 0.41650746022293594, + 0.4013059730928989, + 0.42894833469418464, + 0.39655309400440736, + 0.4059246394921232, + 0.4252790831098402, + 0.41595189586097814, + 0.41780113293156945, + 0.4104455520663364, + 0.41247188338986884, + 0.4176237856578312, + 0.42071360715285494, + 0.41644786284477625, + 0.4089418157337256, + 0.39882865638966547, + 0.39494191281451485, + 0.3953140944035517, + 0.3947693208048557, + 0.38628630627544575, + 0.4117239054039489, + 0.36848386496673396, + 0.3943981990264154, + 0.403103279478756, + 0.4324063402083185, + 0.3831158630825855, + 0.4216115683961062, + 0.39459513825720843, + 0.3798321671324012, + 0.40231787918112527, + 0.39388109780388114, + 0.3827618059736711, + 0.4021805803877888, + 0.3931399437794347, + 0.39699597343986415, + 0.3908690938519107, + 0.38481547005106637, + 0.41015291561223105, + 0.3962257428577653, + 0.3923236862813801, + 0.37716519161139006, + 0.3733895162327422, + 0.38910325675811847, + 0.38723325846647777, + 0.39647374479215086, + 0.38377281011622627, + 0.3877989477765413, + 0.43698298425218207, + 0.39799159239793636, + 0.40160723388149044, + 0.402232382113091, + 0.400485267655717, + 0.4190115293740858, + 0.404092238917027, + 0.39863433062248393, + 0.4060272716997582, + 0.3900410074188753, + 0.39114604973130757, + 0.412454366499995, + 0.3896801146782107, + 0.4199196089542023, + 0.40475943661582325, + 0.37987083313917674, + 0.3901900275621885, + 0.38630194111186783, + 0.39830916061031596, + 0.3908118986306183, + 0.4101189762169932, + 0.3738772416268878, + 0.39506224457197536, + 0.39478618398676685, + 0.4032622565641815, + 0.4049747173708898, + 0.3977259661208976, + 0.3905930316972512, + 0.4000842194130391, + 0.3915453090297955, + 0.41009254608717227, + 0.3896355142839897, + 0.39145150001126305, + 0.3953163001893295, + 0.38671181603898236, + 0.3922498798296775, + 0.37099931400016317, + 0.3834253771598508, + 0.40645699651428946, + 0.37412010809337654, + 0.3730418911364711, + 0.3706967752875277, + 0.3850706603585018, + 0.3756651631269006, + 0.39415311884640913, + 0.3793748246597839, + 0.3759597140237873, + 0.37393940666713466, + 0.3829425726269866, + 0.3714791713167488, + 0.3854827098203478, + 0.3857078765645439, + 0.3848724721091581, + 0.373293680863248, + 0.37548728685044214, + 0.3872510823363691, + 0.38364394912841143, + 0.3864314404465718, + 0.3845075023946939, + 0.38314742636349464, + 0.38200827275207383, + 0.38741736366976925, + 0.3971206810394371, + 0.4004687440156201, + 0.38543867999342857, + 0.40078999129710374, + 0.39803164541997293, + 0.3917564760065741, + 0.3925151643170803, + 0.38510534420241543, + 0.3990703424392843, + 0.3975534389301399, + 0.37256236999859044, + 0.39772410594202856, + 0.3761430096663075, + 0.3757470942757748, + 0.39122457767802254, + 0.3998916426696527, + 0.3838972405151085, + 0.4065823781614502, + 0.38822259664259573, + 0.3883760014295946, + 0.3924746746542277, + 0.4110445475757674, + 0.3839762006414893, + 0.3815598859003297, + 0.3928070036970355, + 0.38175701323528716, + 0.39495545218664185, + 0.38502998700664365, + 0.3760642356664678, + 0.3813762846000401, + 0.37162137824904035, + 0.39010536695405107, + 0.38226910740321063, + 0.3839637069951421, + 0.3824412657384887, + 0.39195528493067366, + 0.39444322560994344, + 0.39606076831940884, + 0.38315372734710024, + 0.3747168588854464, + 0.3857971989078286, + 0.37748496048152447, + 0.3758753066261609, + 0.3823933987935752, + 0.39695481425956075, + 0.398145565211221, + 0.3976853507352464, + 0.38301395747902583, + 0.3851535821816436, + 0.37843316938314175, + 0.40025801917561044, + 0.400300712198203, + 0.39042090562482673, + 0.376712675700769, + 0.36795733703507316, + 0.39643047464275616, + 0.3803348858369353, + 0.3871008329277421, + 0.3835393988216917, + 0.38991403855659346, + 0.3860970391880399, + 0.3833600429611074, + 0.3847712423123511, + 0.4029205435840988, + 0.4022449929221177, + 0.38572046650504627, + 0.41636076705231345, + 0.37752857951470364, + 0.4072975830439432, + 0.39114209777319137, + 0.38247174608670637, + 0.3802446108426393, + 0.39221927031506726, + 0.3757646489589487, + 0.3872726965741611, + 0.37630525661379466, + 0.3660845689843466, + 0.3712713323579526, + 0.3856117210385424, + 0.3827413179118324, + 0.3743601158767203, + 0.38638974461750486, + 0.38582962445546815, + 0.3825219827071752, + 0.3767371903645036, + 0.37860503009761926, + 0.395336072386047, + 0.3702806850527356, + 0.3761499536476661, + 0.3709237431061029, + 0.3949891607173615, + 0.3803487154137757, + 0.3852810279040793, + 0.38394272713749494, + 0.38559038449584704, + 0.38204302443306387, + 0.39957341402309177, + 0.39643259065938585, + 0.3792940638039583, + 0.39264995723180934, + 0.4037692941794241, + 0.3781917214071677, + 0.38276667428421385, + 0.3847900082897625, + 0.3895702091632066, + 0.3798360093209295, + 0.37937207400430867, + 0.38312229739479076, + 0.38068617819406, + 0.39362480936364996, + 0.38207997262109944, + 0.4019464778104498, + 0.37226291509046233, + 0.38295752848326053, + 0.37691764655396526, + 0.37856514010877335, + 0.3765858330614405, + 0.3767296813980297, + 0.3986692021106496, + 0.37346066403444167, + 0.40414031631784675, + 0.38290158323483703, + 0.37610038994225087, + 0.36468055927091175, + 0.39052761754274, + 0.3794373750088759, + 0.3787597052373544, + 0.37989093942774665, + 0.39290811741195714, + 0.3945051608952107, + 0.3959471931060155, + 0.3748645216433538, + 0.38744684825018966, + 0.3838786178061532, + 0.3682670897378782, + 0.37809377813274847, + 0.37904212111032304, + 0.4025928198164444, + 0.3705013186245421, + 0.3861799919517872, + 0.38748939521610737, + 0.3723137218873074, + 0.3924597608224477, + 0.3704747957993805, + 0.3903565206277518, + 0.38791878473151614, + 0.38653538893494344, + 0.37236901968257663, + 0.3822838934885775, + 0.3825614214817315, + 0.38863078794545597, + 0.37165237395207823, + 0.39358304365089647, + 0.37218245583367937, + 0.39917110932278044, + 0.39428264430413645, + 0.37219253882627795, + 0.3842386993131152, + 0.3818013711637001, + 0.38256669512455477, + 0.37992846388599755, + 0.36929324653321577, + 0.38022582032890234, + 0.3731690274298559, + 0.39097160685025617, + 0.37791746878927507, + 0.4026695150468085, + 0.3780916297095425, + 0.3964631143313499, + 0.37537793510444, + 0.3800270199591731, + 0.39458472884179635, + 0.3894083360095083, + 0.3852661674911225, + 0.37511303398850154, + 0.38391930442073463, + 0.3885897810421424, + 0.3852638028056165, + 0.39152166268063915, + 0.3971332290704236, + 0.38541386373065134, + 0.41198208710799616, + 0.38279205849279224, + 0.38790650517438297, + 0.3879197629134136, + 0.3787253105576024, + 0.3736345736930768, + 0.37717300490188743, + 0.3702549277632325, + 0.3971234964735714, + 0.3879120131425651, + 0.381253906916597, + 0.37585800479131715, + 0.37545465408927864, + 0.36776815569833105, + 0.38099350422666767, + 0.38528428481960736, + 0.38887358194699995, + 0.3710301707924148, + 0.3763080647583177, + 0.39228822778404493, + 0.4120972479728085, + 0.3904153350280759, + 0.38610298959193406, + 0.4183443836223932, + 0.38015519397586217, + 0.3901641245149536, + 0.38119437528866124, + 0.3798631232599785, + 0.38846892351859513, + 0.38891747105222796, + 0.37787824700138084, + 0.3688577111971415, + 0.37062227245374224, + 0.39033852158873167, + 0.38777382478669836, + 0.3748433155318101, + 0.39520767523136774, + 0.3828927524916736, + 0.37559487689056514, + 0.37747150871120855, + 0.376431214335708, + 0.3799682802026286, + 0.3722645388801157, + 0.3814676414462335, + 0.39752936735749245, + 0.3823859778083401, + 0.39544541916499537, + 0.37337421989183367, + 0.3817687315038509, + 0.39283667747391227, + 0.3851721839818322, + 0.3840163415297866, + 0.38753440927852084, + 0.392038562634017, + 0.3760978668054313, + 0.3950344580973004, + 0.3926796394250827, + 0.37836285973726597, + 0.38471060308317345, + 0.37074729440342863, + 0.3731875242550432, + 0.40889558636433915, + 0.39646091503033665, + 0.3796125084138763, + 0.3939409390045905, + 0.3839761407264037, + 0.37640831534417324, + 0.3811794823196567, + 0.3869091089538954, + 0.4008254913015314, + 0.37829831388583524, + 0.3890850503043628, + 0.37905743570975314, + 0.3936416295552511, + 0.3745624571118826, + 0.38685389145932814, + 0.3817587786664565, + 0.37869379241709356, + 0.4124207220695637, + 0.3883584367548242, + 0.3883059544051871, + 0.40352925069538165, + 0.3768427018651072, + 0.38975632176906977, + 0.38389987488173777, + 0.38805319240063796, + 0.39781081784562566, + 0.3938537423303466, + 0.38017277099928004, + 0.40681481136032094, + 0.3899297318133859, + 0.37847907717029255, + 0.3929654614838921, + 0.3901143232130526, + 0.38268468262236793, + 0.38301630993086244, + 0.3876296513840372, + 0.3838897770109736, + 0.39579648948791957, + 0.3796877552421741, + 0.40522484084660254, + 0.39034086576214544, + 0.39302474653555286, + 0.3868993240190141, + 0.3697884896149238, + 0.4050287130162304, + 0.384292914532125, + 0.3787344790259261, + 0.4021602748076857, + 0.37545771055199484, + 0.3866164961622821, + 0.3833710700158536, + 0.388387721227367, + 0.3886698064290815, + 0.39584622000930486, + 0.3751530547706801, + 0.3910020312846259, + 0.38503843847156305, + 0.3890889576739735, + 0.38795035554349055, + 0.3783777555289828, + 0.37504469821758474, + 0.39364298445713003, + 0.3741534808765591, + 0.3871874142277204, + 0.3798944293003943, + 0.3902599263338395, + 0.3900022333786811, + 0.39432103543277874, + 0.3906204209168568, + 0.38348554753135017, + 0.3754845681818731, + 0.39666157291719206, + 0.3867525898012114 + ], + "best_epoch": 1809 +} \ No newline at end of file diff --git a/results/model_media/davis/train_log/DGM_davis4D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json b/results/model_media/davis/train_log/DGM_davis4D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json new file mode 100644 index 00000000..dd4e4296 --- /dev/null +++ b/results/model_media/davis/train_log/DGM_davis4D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E.json @@ -0,0 +1,4007 @@ +{ + "train_loss": [ + 3.8278967149486482, + 1.1221009280659466, + 1.0946994288233411, + 1.093840687590487, + 1.0553079514819033, + 1.0507936935768039, + 1.0497841088349236, + 1.0287643804592614, + 1.0116050368399812, + 1.01193830523144, + 0.9825299115096083, + 0.980949926786932, + 0.9673128487663373, + 0.9613053282209594, + 0.9519522656966289, + 0.9569148293036056, + 0.946464166898661, + 0.9391676663152942, + 0.936153451517086, + 0.9297842341864441, + 0.9318928623992961, + 0.9241199908149501, + 0.9128064099157188, + 0.9201712472243205, + 0.9252996602017813, + 0.9275772373419797, + 0.9271034130324889, + 0.9118984046135524, + 0.9566775637652852, + 0.9493771782462073, + 0.9540396229862798, + 0.9501359478884807, + 0.9373138416154835, + 0.9549356520222068, + 0.9227694586472984, + 0.956334324997645, + 0.9044125103636792, + 0.9397934971394554, + 0.9085940440234385, + 0.921263635135472, + 0.9058323207054714, + 0.9088540778901923, + 0.9013659386166109, + 0.8845647098986726, + 0.8894038027146652, + 0.8797625268437544, + 0.846113692634615, + 0.8514211293390661, + 0.8637682298204109, + 0.8680461482966647, + 0.8261729088314915, + 0.8431756030710489, + 0.8254337143325954, + 0.845973464565196, + 0.8029447034831756, + 0.7981778397556429, + 0.8030906308776823, + 0.7849028204155412, + 0.7866353043369464, + 0.8000664880539611, + 0.7875535230241693, + 0.81601788186621, + 0.7989459211243195, + 0.8147534690912663, + 0.8832015196789899, + 0.7842116093857, + 0.7836314935248703, + 0.7743196474509343, + 0.76226389528059, + 0.7611699697356844, + 0.7542701910708342, + 0.7589944049070125, + 0.749285034166401, + 0.7826221693457096, + 0.7497147458487251, + 0.772090156773111, + 0.7547576629755667, + 0.7714166418409938, + 0.7370356760988295, + 0.771641029546689, + 0.7433239405184707, + 0.753675932946958, + 0.7304856297170784, + 0.7245190237005797, + 0.716411660376348, + 0.7273894057323689, + 0.7052910052032294, + 0.7057455986876606, + 0.7240867566997791, + 0.7046717393324471, + 0.7029333308385253, + 0.7003863713828034, + 0.6958388709938932, + 0.69314989076218, + 0.702399994289912, + 0.6976162940955752, + 0.6870002305544567, + 0.6945278579282687, + 0.6825532722676132, + 0.6712674393604046, + 0.6775715838506495, + 0.6566778663834182, + 0.6781386413118419, + 0.6821538166549552, + 0.6943955759376564, + 0.6912924193607026, + 0.6868585975777254, + 0.6862752618896703, + 0.6778890630547476, + 0.6754276388823617, + 0.6706759456556648, + 0.6585456230230745, + 0.6525754830785581, + 0.6524710495820725, + 0.651346381465348, + 0.6461838485194433, + 0.6581611552797604, + 0.6631487135316935, + 0.6340527215124837, + 0.6548242847501493, + 0.6506949648860807, + 0.6409321029327417, + 0.640060397977984, + 0.6495334269830686, + 0.6386343598042848, + 0.6394183340687132, + 0.6343496364105966, + 0.6369681051779458, + 0.6355387960378969, + 0.6303329382656897, + 0.6342778066548032, + 0.6277296741495929, + 0.6414019121289622, + 0.6425426320256463, + 0.6241416311577747, + 0.6279638968062106, + 0.636370051848261, + 0.6341606798140627, + 0.6257099897222992, + 0.6269489209579978, + 0.6211936889510405, + 0.6189161515088273, + 0.6185052333509221, + 0.6192685330845992, + 0.6097265105729133, + 0.6063208101842057, + 0.6105317436619994, + 0.6103807142575274, + 0.6050770029471755, + 0.6081117761116648, + 0.5939388972802243, + 0.6041605417204347, + 0.5941807307856556, + 0.5882360068821686, + 0.5969521271947184, + 0.5969616883195037, + 0.5898798480399253, + 0.5878465949520238, + 0.5895529469538584, + 0.5813510071705369, + 0.5869674009527585, + 0.58974496872617, + 0.5772902625886833, + 0.5752943574505693, + 0.5810785202234522, + 0.5834968910313243, + 0.5916080709558338, + 0.5721327688072119, + 0.5690161100943392, + 0.5729542159397536, + 0.5630715057461438, + 0.572936961213963, + 0.5654793810503033, + 0.5709304737371188, + 0.577095510916721, + 0.5599090418902344, + 0.5639517520880183, + 0.5630234109335824, + 0.5609913915857073, + 0.5661262237112219, + 0.5555294152960504, + 0.557932939115139, + 0.5676161258859161, + 0.5571598594679552, + 0.5752904471413639, + 0.5643279339553033, + 0.5557332252824085, + 0.5537374083056539, + 0.552877014151114, + 0.5525385910304892, + 0.5528206641529182, + 0.5656174119827179, + 0.5576238068333905, + 0.544518928467397, + 0.5432265079450497, + 0.5354702177546895, + 0.5407355630383957, + 0.5370112268409862, + 0.5462842556437472, + 0.542070750170171, + 0.5307033565991065, + 0.5392019461621257, + 0.5575442471002278, + 0.547396263563227, + 0.5429293885827065, + 0.524808923526445, + 0.5358455861592809, + 0.5323853596076139, + 0.5362346882559935, + 0.5240774776083028, + 0.535309708593615, + 0.5259756659137391, + 0.5239892627225018, + 0.5237296611970239, + 0.511101441140699, + 0.5272767882874876, + 0.5097485623976948, + 0.5180391623255085, + 0.5138570110287645, + 0.5125383460553992, + 0.5222513377320471, + 0.5118443188675601, + 0.5110511492718669, + 0.5113179960487059, + 0.5148784844291284, + 0.5076356833518105, + 0.5128739396623414, + 0.5017813734087413, + 0.5073377817707718, + 0.5067013661397315, + 0.4980532021922039, + 0.5080800335335288, + 0.4982465099508733, + 0.49510222563848777, + 0.48649894214313094, + 0.5014882268897336, + 0.49574911226475205, + 0.49978272163600374, + 0.49755783868094344, + 0.49673631247536687, + 0.48375704960649596, + 0.49165873791180525, + 0.4827303199599217, + 0.48358683519918855, + 0.4983114343793953, + 0.48655403535755426, + 0.48842617314620285, + 0.4873968930136493, + 0.4830770700731698, + 0.48130513017207105, + 0.48528342576403366, + 0.4871241106844908, + 0.4815070452428086, + 0.477537292156703, + 0.48170361296495784, + 0.48788195880758506, + 0.48115560688055337, + 0.4750840697241457, + 0.4734453708279428, + 0.4686288123506326, + 0.4708494829942383, + 0.46433245342213303, + 0.4739778376423722, + 0.4737395487679601, + 0.4749197680445463, + 0.47399176402311577, + 0.47803858343523353, + 0.4680103596657422, + 0.46343261754319026, + 0.46344928957821785, + 0.4689963929147543, + 0.46546000845430435, + 0.4746762073653586, + 0.46606055963150117, + 0.45295038652078656, + 0.4675957395957535, + 0.47274717737000793, + 0.47020169084562974, + 0.46603891684820775, + 0.46617999528722126, + 0.44966653330776346, + 0.451079032046507, + 0.4489790586056909, + 0.4603757991371878, + 0.46073066580452415, + 0.464498082619887, + 0.4563988021491297, + 0.4550814890178734, + 0.4558770184177363, + 0.44708573439911053, + 0.4505952035910205, + 0.4454357222345407, + 0.45444034809252426, + 0.4499868891625766, + 0.44790503395369546, + 0.45806119646358046, + 0.46092992613882106, + 0.4622952233965367, + 0.4554983596130052, + 0.4491271893421747, + 0.4459705079441469, + 0.4421955560083175, + 0.44143649422485765, + 0.43266580591768306, + 0.4475087933242321, + 0.43773445993338944, + 0.439465434178018, + 0.4326009335394245, + 0.4378403146223572, + 0.44250485117636595, + 0.4540221786051527, + 0.4387953022246944, + 0.44366569534497735, + 0.4482087677823316, + 0.44406301430181455, + 0.4349991039779533, + 0.44297131333188744, + 0.4353650489781663, + 0.4291146483053179, + 0.42325642029106064, + 0.43303837705599635, + 0.4325059913444814, + 0.42739074247032866, + 0.4482636819982861, + 0.4385168039508095, + 0.4532732807861024, + 0.4440538005516994, + 0.433190667903737, + 0.43026338549959403, + 0.4325051966581736, + 0.4255519909121027, + 0.42125046180543885, + 0.432941770682763, + 0.45248642973832487, + 0.435895357292503, + 0.4246142132801722, + 0.42138080546868845, + 0.42326879415995566, + 0.42985753670058013, + 0.41728135186821314, + 0.41727674437611834, + 0.4299074867884441, + 0.418763473445417, + 0.4207306673905982, + 0.423939482069606, + 0.4305349305479704, + 0.4313021715119158, + 0.41618684122206256, + 0.4227116318194674, + 0.41195736154221896, + 0.41986319881751444, + 0.4159966106685138, + 0.41200282965605106, + 0.4240626999329856, + 0.4189603097806036, + 0.4150480011899036, + 0.444374116327925, + 0.4275121995400718, + 0.41379943211496617, + 0.41406486193784986, + 0.41361783840477284, + 0.40533430636759515, + 0.40822022546647874, + 0.4177004712700106, + 0.4047142458912389, + 0.40849502451556385, + 0.406835924464944, + 0.41380875144765106, + 0.4020224776891732, + 0.4102424347409892, + 0.409838308779171, + 0.41565313027600753, + 0.412747915920689, + 0.40381541077751126, + 0.39875360396070747, + 0.3962056840028925, + 0.4068354400388043, + 0.4041408903827608, + 0.401432136725346, + 0.40500329205356883, + 0.4039576771804607, + 0.40122386886977557, + 0.4006226683963932, + 0.40638572175989945, + 0.40530999763739, + 0.4048729423698811, + 0.3964685047789255, + 0.3945605194213405, + 0.3995163854638305, + 0.4024030131290756, + 0.39293916508463145, + 0.39611712244019237, + 0.3956466309103434, + 0.3939678439576375, + 0.4069420864499944, + 0.39750159109709066, + 0.3965425771018115, + 0.3887875803310897, + 0.388357276564043, + 0.3892100099820194, + 0.38843511363301114, + 0.386776876402298, + 0.395577502445586, + 0.38344676956972656, + 0.3806288507493103, + 0.3902464952815797, + 0.3842096249385515, + 0.37879665779532296, + 0.3843765347365624, + 0.382254330862325, + 0.3782994319618486, + 0.3760076082966091, + 0.37806391283500673, + 0.3971851399520141, + 0.38777025190438646, + 0.3802199342141026, + 0.38137154923550115, + 0.38523596235703755, + 0.3841408641241929, + 0.39194542102677166, + 0.40655169722511675, + 0.38503807065748946, + 0.3924002994613105, + 0.3816197911744516, + 0.37844035845399826, + 0.37272428040718514, + 0.3726557338489191, + 0.36799070484728635, + 0.3768939797250387, + 0.39172634086787883, + 0.3788042795778059, + 0.38016160143879546, + 0.3721531313431706, + 0.3853656783492388, + 0.372772195460073, + 0.37120350009701203, + 0.3784348768796253, + 0.3713436873727723, + 0.3731928995173228, + 0.3697956385719518, + 0.3736751416161795, + 0.36692172773297727, + 0.36838275520563496, + 0.3802622160629222, + 0.369290865334933, + 0.37085603005699697, + 0.3716565699377112, + 0.38571945908868643, + 0.3824830810790276, + 0.3760213334886098, + 0.36195430227039216, + 0.36162423613501404, + 0.3674236860403059, + 0.3648101159201318, + 0.36401557770698983, + 0.36160594769883264, + 0.36336788083585236, + 0.37467478494802864, + 0.3747779147313106, + 0.36744322013052255, + 0.3600132254358877, + 0.36274790984143046, + 0.3690375886949777, + 0.3727925840719104, + 0.3640119383867034, + 0.3613680905717261, + 0.37431327547105286, + 0.36369822594126683, + 0.36428473442331555, + 0.36716736189375165, + 0.3727353464454505, + 0.3662519893917506, + 0.35910995111399946, + 0.3660279582528507, + 0.3683369308133428, + 0.3631940616565777, + 0.3546403430333078, + 0.3589157575897111, + 0.3569514145584483, + 0.363060794782251, + 0.36101281106033745, + 0.35394647915273814, + 0.3612059797203578, + 0.35419389999964657, + 0.353429751937788, + 0.3535520855579583, + 0.34788274582210155, + 0.355581725858175, + 0.3507632358466785, + 0.3642132824903856, + 0.36741306260228157, + 0.3556619588020416, + 0.35624239134714697, + 0.3520420383166049, + 0.3493227249778369, + 0.3505190628416398, + 0.35784825644003165, + 0.3494401139786738, + 0.35682259130957694, + 0.350685043341189, + 0.3474488349937064, + 0.34703560829185665, + 0.35155019141018573, + 0.34793845179487864, + 0.35097824399800676, + 0.3578252658743884, + 0.35038325026193085, + 0.35435173492705674, + 0.34339801081378396, + 0.34780940587052805, + 0.34032278211539374, + 0.351592627368383, + 0.339786061146311, + 0.3410369568438076, + 0.3384062079683915, + 0.3387635159061143, + 0.3325163737666035, + 0.3402625699945648, + 0.3377090151776378, + 0.33557626305165306, + 0.3271896948017203, + 0.34065084295468434, + 0.3392101780687323, + 0.332958999773251, + 0.3301370605514976, + 0.3339202796619374, + 0.33293078827092154, + 0.32878457144733186, + 0.33032234859055964, + 0.3303994024604928, + 0.33119145019596946, + 0.33183311943783667, + 0.337622809013346, + 0.34688645240853627, + 0.333309406512662, + 0.3388753087539514, + 0.3308332229592483, + 0.33230027292304365, + 0.3227790046898481, + 0.32616254750743, + 0.32402426797908157, + 0.33143630148641096, + 0.33022140364390407, + 0.3304138630455585, + 0.32634841802965375, + 0.3244419532075478, + 0.3245740791915371, + 0.3200229177015023, + 0.3249039627357902, + 0.33267948459314856, + 0.32474751636708854, + 0.33543878519798026, + 0.32489608141706083, + 0.327552696736097, + 0.3209959671258834, + 0.31949391987624554, + 0.31843764830276877, + 0.32388154228705185, + 0.31909997858130157, + 0.31806600658978473, + 0.3208673669561605, + 0.31968302589382736, + 0.3191470183005366, + 0.31535062620029913, + 0.3185238494557954, + 0.3174423281991445, + 0.31447295724030805, + 0.3111403662273112, + 0.32034697218714486, + 0.32371614168141466, + 0.31521360565196066, + 0.31960579889016255, + 0.3105142599911697, + 0.31353414917347416, + 0.3245186931381561, + 0.3231195717727068, + 0.31837532869410406, + 0.30838740562253136, + 0.31428731961216166, + 0.317784378587646, + 0.3191490887084705, + 0.31108525081108046, + 0.3143116660854396, + 0.30971209785609793, + 0.31340592937549755, + 0.317706278182174, + 0.31516579239868525, + 0.3165134107261527, + 0.3116493983303799, + 0.31000135539116874, + 0.3057747639704138, + 0.31345345613895553, + 0.31063430405138265, + 0.313426456757282, + 0.30828638077243564, + 0.3070971949585359, + 0.3063246530794968, + 0.3046109664366341, + 0.30372037994026585, + 0.302988490285842, + 0.30081259539990973, + 0.30383930795886566, + 0.3063108464616463, + 0.29865561782068145, + 0.3000595545448109, + 0.29975214895818253, + 0.2986170740469414, + 0.3082478963669055, + 0.30519293577932166, + 0.300995673326885, + 0.3014985486957311, + 0.3023585353519525, + 0.30104533262873767, + 0.3006850738285957, + 0.30230181389156696, + 0.30278944555704623, + 0.2968950619223317, + 0.29542369468731594, + 0.2947736273551412, + 0.29920584725175664, + 0.29587379607138437, + 0.299516559206526, + 0.2946656667411143, + 0.29624005182770197, + 0.29489211107232255, + 0.29458109793994264, + 0.2946207460258214, + 0.29173761740580617, + 0.29708435354125756, + 0.2935856792429929, + 0.29530293613833725, + 0.2926895328546548, + 0.2942450867198846, + 0.2986008629156709, + 0.2944651527947317, + 0.2942560024317296, + 0.29395835801105563, + 0.3008097848240805, + 0.2909113154761009, + 0.2949097763585509, + 0.29489747269926797, + 0.29464048846125973, + 0.28669466597861365, + 0.286953208489407, + 0.29215179284567433, + 0.2970869548953262, + 0.2921752712686457, + 0.291904930532809, + 0.28895362882929687, + 0.2832641152797653, + 0.29164160668111805, + 0.289042782741988, + 0.28917899013903486, + 0.2881203860032946, + 0.2878306863408524, + 0.28465637392234694, + 0.2916914023078355, + 0.29126305581177164, + 0.2956997366512523, + 0.28733771682454523, + 0.2867109196162538, + 0.2879735573653374, + 0.2896798455355337, + 0.28422856476769176, + 0.28771178648683127, + 0.2852826054862501, + 0.28610481589386705, + 0.28117738398881886, + 0.28202321469184044, + 0.28439511209091994, + 0.2857326841725746, + 0.2878260678285877, + 0.2800435108758348, + 0.2864777546595125, + 0.2816079198253044, + 0.28275098064020504, + 0.27610595881269995, + 0.2798938902019993, + 0.28300751671887037, + 0.28451225433740823, + 0.27876759169409887, + 0.27844885332457975, + 0.2797002420521373, + 0.2769739065007898, + 0.2778872629633352, + 0.2815916048126416, + 0.2771678981385641, + 0.2846785888260363, + 0.27480497947625887, + 0.27889220342155396, + 0.27953815664923043, + 0.27955335006694493, + 0.27610571550972324, + 0.27809560928067, + 0.27944592939510987, + 0.27537738637935266, + 0.2723488972951938, + 0.2776724809763417, + 0.2791146834499142, + 0.27801971060249825, + 0.27278243487372117, + 0.2766755696489899, + 0.2801721736604215, + 0.28099918894861875, + 0.27650016310967895, + 0.27509574153844046, + 0.2768838126673695, + 0.2726974614114492, + 0.27656321031482595, + 0.27829630675238354, + 0.27458081487277897, + 0.27227007726282343, + 0.27438167271553177, + 0.2761376092193112, + 0.2751221533968537, + 0.27144819676829934, + 0.27222197355800554, + 0.2694354441201447, + 0.27143832866459994, + 0.2739360900682285, + 0.27904531902319324, + 0.27112697203277436, + 0.2716351430747808, + 0.273192036683576, + 0.274243808596542, + 0.272416113192452, + 0.2718654484733155, + 0.2727363734007251, + 0.2695056904833937, + 0.27204469562545647, + 0.2693814071898721, + 0.2711953574693517, + 0.265939996788284, + 0.2721067792260241, + 0.26989659007304223, + 0.2724662552711672, + 0.2715875155035833, + 0.27151380015692844, + 0.2716527722037798, + 0.2734368806849046, + 0.2676317665968148, + 0.26995682316160424, + 0.2680210261187594, + 0.2708835892506151, + 0.27199123469945446, + 0.2688798529583234, + 0.266899157327026, + 0.27066802160797104, + 0.27110688511178405, + 0.2679600147732271, + 0.26534762250795824, + 0.26480649753643815, + 0.2700015753219279, + 0.2697805631732793, + 0.26303905955639784, + 0.2674895959961064, + 0.2671712363490564, + 0.2634027981871145, + 0.26580460548931417, + 0.2675160603718861, + 0.26597914891461655, + 0.26791534306418047, + 0.26530225627447246, + 0.26516341154489537, + 0.26504721635543155, + 0.26598227671102476, + 0.2642175665200218, + 0.2681650040849997, + 0.2628588330623443, + 0.26294017649448875, + 0.2627897596177025, + 0.2690121543769589, + 0.257495825873809, + 0.26903863665258554, + 0.26383499640844554, + 0.2630390081866053, + 0.26283483164552196, + 0.2646424446266502, + 0.2623748244348648, + 0.2593325035179455, + 0.2630764471638037, + 0.2679184883452329, + 0.26647522441189353, + 0.2631043686701602, + 0.2650099248674355, + 0.2637648251507397, + 0.2569173666167047, + 0.25935401378816497, + 0.261698196939086, + 0.26227741389198017, + 0.258461110628334, + 0.2577950249515451, + 0.2605886037227908, + 0.2620996774142556, + 0.267904915647933, + 0.26076228604089735, + 0.265608442295631, + 0.2676560465742375, + 0.2667416819477967, + 0.2587808841614531, + 0.2578633818890749, + 0.25844313637367894, + 0.2622661316311765, + 0.2603549423394004, + 0.258783390912755, + 0.2603463532068643, + 0.2577086994799298, + 0.2574002417986607, + 0.2585495263222755, + 0.25968004479981244, + 0.2585059140805997, + 0.2615746423406036, + 0.26127973197160675, + 0.2533872793125848, + 0.25879280450797115, + 0.2610245483001873, + 0.25710235210279747, + 0.2594856069460742, + 0.2568265318916678, + 0.25478618622010707, + 0.25895592846818294, + 0.2540168368860203, + 0.2560630426410551, + 0.2594358293172376, + 0.25174741113656446, + 0.25581694929500115, + 0.2582721204407536, + 0.25809648929988455, + 0.25307849413447153, + 0.2581405457478282, + 0.2557793900993402, + 0.25095553727295744, + 0.2545633138829248, + 0.2560413791898972, + 0.2573858827018055, + 0.2588272053494634, + 0.25563929844705313, + 0.2562915442609473, + 0.2540273142130844, + 0.2539597663469036, + 0.25375079821460755, + 0.2591626329532026, + 0.25370650746551093, + 0.25372876931593147, + 0.25264487067243263, + 0.2516442702177785, + 0.2519814126804794, + 0.2506792402246696, + 0.2481761756857667, + 0.25159063928359804, + 0.2497348940813043, + 0.24975407436985994, + 0.2541478263681333, + 0.25316907013348383, + 0.24405618757586175, + 0.25144926440720405, + 0.25604907271016863, + 0.2517210569105835, + 0.2498195508362339, + 0.252310843082958, + 0.24557524180218532, + 0.2521050952075067, + 0.2514267969738127, + 0.2501465573376362, + 0.2497825608430171, + 0.2477561307511647, + 0.24909157625431247, + 0.24632090671512732, + 0.25446479864441574, + 0.25441758011701304, + 0.24667723002287073, + 0.24753148619650686, + 0.2535060565549615, + 0.24510887115847768, + 0.24858177007513335, + 0.2525026550453052, + 0.24857713031256715, + 0.2397031909944749, + 0.24643186281432308, + 0.246999695631834, + 0.2451297958718826, + 0.2450828937577205, + 0.25022135603734674, + 0.2485089639011459, + 0.250195637189613, + 0.24539942546364138, + 0.245701060350696, + 0.24881810884657474, + 0.25334792143604706, + 0.2470179190253695, + 0.2495170169605098, + 0.250174272326816, + 0.25053610028727874, + 0.24448862079611688, + 0.24736428977316102, + 0.24582182382443926, + 0.24477920290255695, + 0.24424039365452693, + 0.24262911729203196, + 0.24540858372653784, + 0.24354238802965028, + 0.2495406048585756, + 0.24093386342304962, + 0.24541187501474984, + 0.24300899856576794, + 0.24424014518170073, + 0.2418772044069719, + 0.24341390730853513, + 0.24718885461081846, + 0.2436078608255176, + 0.2423413776195732, + 0.2360478856863206, + 0.2398727050789231, + 0.24037646577223537, + 0.24322218055499503, + 0.24129682958079934, + 0.24366669670243288, + 0.24338016686124883, + 0.24110165211276927, + 0.24803586917765, + 0.23885486010265977, + 0.23949803911068768, + 0.24784521108072238, + 0.23823561368296758, + 0.24678638045194534, + 0.24781232591337832, + 0.24080496005160337, + 0.23803866763048498, + 0.2386437247481324, + 0.2418299503105436, + 0.24139212965734602, + 0.24010742909560448, + 0.2411696675864997, + 0.24145070364231666, + 0.24025113238223567, + 0.24387542491680697, + 0.2434957745216856, + 0.23848754263860708, + 0.23894090018878134, + 0.241027250398677, + 0.23635156273887992, + 0.240038598204268, + 0.2393929994154733, + 0.24168132299459294, + 0.23787252094608158, + 0.2434622565249771, + 0.23702111233014256, + 0.2406572545402836, + 0.24358117922379321, + 0.2415947059671115, + 0.23700818924619688, + 0.24152576168508907, + 0.24200293032781167, + 0.23876241169546963, + 0.24403672161924397, + 0.24286283095923739, + 0.23636266871156522, + 0.23840587477173783, + 0.23642457770212516, + 0.23890359909057432, + 0.23594113539085484, + 0.23587414843748228, + 0.2397197160535368, + 0.23994915029927857, + 0.23944962414806195, + 0.24270286240064232, + 0.23681298213731208, + 0.23661796622924022, + 0.2397319715464309, + 0.24254072670919977, + 0.2358179156705968, + 0.22862896731486632, + 0.23547418411509724, + 0.23509995224698224, + 0.2370394540189451, + 0.24201094203746817, + 0.23707329257515378, + 0.23093223915472857, + 0.23523473817186183, + 0.23599095063589676, + 0.23967055081398494, + 0.23651593758641012, + 0.2355290863045921, + 0.23347620555883036, + 0.234638363745744, + 0.23351465932009943, + 0.23403178642708636, + 0.23404248003435577, + 0.23243636839184045, + 0.2379560946680075, + 0.23896757965970888, + 0.23457780225784877, + 0.23349515481883712, + 0.23275639959856084, + 0.2320986590477935, + 0.2354852697428535, + 0.23682071891939124, + 0.23351307908482505, + 0.23593403337286906, + 0.23195214781783313, + 0.23630016222711503, + 0.22886559254152486, + 0.23223268177256495, + 0.2333579978822001, + 0.23011340546903225, + 0.23136421911499172, + 0.23251272890220856, + 0.2348289836555627, + 0.24258473947436632, + 0.23280096998374805, + 0.23193164261478943, + 0.22999587954359343, + 0.23262852531260936, + 0.2310210028807445, + 0.22971797147448586, + 0.23527307334952863, + 0.22833074675440418, + 0.2309073521741219, + 0.235633696885001, + 0.23496002556277504, + 0.22925837687721284, + 0.23372752098914454, + 0.23352653579930588, + 0.23077862378751898, + 0.23003005040896013, + 0.22628224235108763, + 0.22809854210945474, + 0.23630093454438097, + 0.2294603961897616, + 0.23073887711408153, + 0.23023367552634547, + 0.22903782037308804, + 0.226502732365124, + 0.23125749378646768, + 0.23063036526377448, + 0.22679968759555935, + 0.22762387488671684, + 0.23171320304724363, + 0.23067919906782383, + 0.23017012473518728, + 0.23139205853809422, + 0.23076286965594756, + 0.22787774988556794, + 0.2264094853502678, + 0.231678867303181, + 0.22357966559694, + 0.22397482818736472, + 0.2281174329815911, + 0.22822329939426653, + 0.22417130369416238, + 0.23287180429987678, + 0.2282331131006542, + 0.23090293685741284, + 0.22672740717479042, + 0.22990649517614037, + 0.22634032057257997, + 0.23341277809727118, + 0.23345548653219692, + 0.22594186908424177, + 0.2245329283927524, + 0.22373712302730547, + 0.2206952297835158, + 0.23054987648588493, + 0.22738078853040472, + 0.2241213810558059, + 0.22899243147357515, + 0.22650867987758605, + 0.2286072000082663, + 0.22498262273407205, + 0.22702809364099527, + 0.22865182905812567, + 0.22132600225715815, + 0.22831616326935888, + 0.22608622550768287, + 0.2262885914509972, + 0.225789613693076, + 0.22784454836553372, + 0.22248839689043837, + 0.22186355619769163, + 0.22230243564067242, + 0.21821185923397726, + 0.2280968128452683, + 0.22266004475312243, + 0.22020598669931432, + 0.22500102378531783, + 0.2255903899110277, + 0.22554563240208678, + 0.22563619695419312, + 0.22417749136098122, + 0.22232154161660664, + 0.22435119106281468, + 0.2273038653368505, + 0.22533270733390615, + 0.22562193903702976, + 0.22586947996111661, + 0.22300287358601212, + 0.22819386383708878, + 0.22595969989503684, + 0.22420789044488787, + 0.22600619473866543, + 0.21924320833567218, + 0.2248057638245978, + 0.22151467781629264, + 0.22365321635900082, + 0.2236973424168194, + 0.22212438790802339, + 0.21952034176641574, + 0.22173929079536683, + 0.22092439780075207, + 0.2188998316083069, + 0.22117960959349992, + 0.22241446906671897, + 0.22683284557121733, + 0.22183150799235693, + 0.22346175147145525, + 0.22052705294853395, + 0.22281566947906195, + 0.2179680941770597, + 0.21714058908527203, + 0.2186376403976843, + 0.21936031098220923, + 0.2255494088228596, + 0.22191246362812472, + 0.22035241175166131, + 0.22012708610898293, + 0.21807102437474227, + 0.2193783006772122, + 0.22057668464517816, + 0.22319626920328883, + 0.2175230020109345, + 0.22048616768279036, + 0.21947629810325317, + 0.21764304089841457, + 0.21672072017352, + 0.22037495736713195, + 0.21925207982329945, + 0.22085197514713087, + 0.21830178383484067, + 0.21915751317913873, + 0.2181671682439583, + 0.22060620351680107, + 0.21603720169802754, + 0.22192032890965233, + 0.2184588515168004, + 0.21579330780430936, + 0.22305036485541163, + 0.22067223734369404, + 0.21900634951428177, + 0.21764849391895644, + 0.2179752575614181, + 0.22445348388408728, + 0.21906694917775252, + 0.21530512262181878, + 0.2229437194245611, + 0.21775383943686083, + 0.21642690213345245, + 0.21796085659253062, + 0.21783083716217116, + 0.2205820394212801, + 0.21000499717729748, + 0.2136118573370179, + 0.2196127284756478, + 0.2214635774152982, + 0.21864215442305288, + 0.2171236660890858, + 0.21688615531305963, + 0.2179118935970284, + 0.2174614392359375, + 0.2186368394141365, + 0.21699134272814444, + 0.21627876275556376, + 0.214659007136413, + 0.21893606599039706, + 0.2159649422276915, + 0.2154603065323119, + 0.21793447784941078, + 0.22028556214962675, + 0.2143197098470094, + 0.21770477024463492, + 0.21762157014164576, + 0.21622620531625977, + 0.21326345110156403, + 0.22120478001333796, + 0.21270833240573989, + 0.21836602723300919, + 0.21440441554971615, + 0.21712791190796962, + 0.21978129457463236, + 0.21581762948653, + 0.2180674006476214, + 0.21547534669123752, + 0.21069283286057666, + 0.21224211093799525, + 0.21773489875482516, + 0.21625191964289814, + 0.2135873937852473, + 0.21484595350344485, + 0.21159710043078236, + 0.2137518338340078, + 0.21314090965517535, + 0.2119573466018442, + 0.21469343844051517, + 0.2134894993813599, + 0.21414197926573894, + 0.21225208035690404, + 0.2140432571525175, + 0.21025746098312983, + 0.2095648498208069, + 0.21114977099428145, + 0.21557061898092458, + 0.21174735922493249, + 0.2146249700499116, + 0.21438745307179613, + 0.21254657199404464, + 0.21337543747131207, + 0.20819118385702, + 0.2119676853146623, + 0.2132852163552177, + 0.2176560551020383, + 0.2114111532834892, + 0.21099677745068313, + 0.20957319650960504, + 0.21380778057241218, + 0.2104214188028646, + 0.21545292998753465, + 0.21066245325947694, + 0.2135708606153173, + 0.210696644988776, + 0.2128667030915987, + 0.21136513025710366, + 0.21062868341353747, + 0.2099336399249848, + 0.21505094155230942, + 0.21227932597680635, + 0.20987657997065193, + 0.21293847054393022, + 0.21233952737156728, + 0.2105843958130608, + 0.2122300436760619, + 0.2121914272822278, + 0.21075925244820007, + 0.21255759162476556, + 0.21093734737266512, + 0.2084443246420969, + 0.2114710606946019, + 0.20982335253558107, + 0.2089132637667813, + 0.2126108474868001, + 0.20862387651548758, + 0.20796393750714073, + 0.20702925383837045, + 0.20872100245426684, + 0.20723347779905463, + 0.2111006206011071, + 0.21291449696010112, + 0.20788405433977628, + 0.2123268526422304, + 0.2098445224693916, + 0.20876333147183568, + 0.20723080876984, + 0.2051420520195282, + 0.2087488074645677, + 0.20729843486423372, + 0.20846678061704887, + 0.20599474128474116, + 0.20878816019143945, + 0.20870359114518292, + 0.2065181565318176, + 0.20978590791566362, + 0.20717523622415937, + 0.21053244488100425, + 0.21033507248461708, + 0.20913903670379713, + 0.20836973397620598, + 0.20872070949132504, + 0.20328118151843824, + 0.20684739694737428, + 0.2042768767835924, + 0.2065124240164694, + 0.20657447918142327, + 0.2067567205817753, + 0.20788246855693335, + 0.20669185038909732, + 0.2069458835686185, + 0.2008715355047962, + 0.2073549691287818, + 0.20849626513065384, + 0.2071978015790552, + 0.20650493316410035, + 0.20605894821139498, + 0.20322198001235353, + 0.20684930503126175, + 0.1993024231398899, + 0.2077961892535443, + 0.20262817091282584, + 0.20669188244043396, + 0.20851806389462008, + 0.2023273979258888, + 0.20947560675200017, + 0.20196364157409305, + 0.2101488508162991, + 0.20686829667365403, + 0.20675975718642167, + 0.2050468222390941, + 0.20504078880852036, + 0.20672160606462242, + 0.20701862924123882, + 0.204098663413926, + 0.200780003916922, + 0.20052294738752185, + 0.20544753054981538, + 0.2059948261100626, + 0.20499739737679532, + 0.19878242142648428, + 0.19925780709394636, + 0.20607486612887205, + 0.20290222820240555, + 0.20428385716162323, + 0.19995875143079841, + 0.2009972456335191, + 0.20333796481518276, + 0.20639596481579744, + 0.197067918648061, + 0.20116324336109423, + 0.2013649769882807, + 0.20394916028280283, + 0.20044487538883007, + 0.20812408781492212, + 0.20612589426442474, + 0.20379322704400624, + 0.20123880925147156, + 0.20150151635136673, + 0.204487890893184, + 0.20403792869714854, + 0.20435309549072764, + 0.20161570663399556, + 0.2012383042612681, + 0.20385820809867083, + 0.20069472330273488, + 0.20194244996324504, + 0.2025355932853493, + 0.19922238181492216, + 0.20096039462073392, + 0.20603497608654178, + 0.19946870867785746, + 0.19626022912792562, + 0.2040261627800601, + 0.20495491488706954, + 0.20211417795715408, + 0.20423984665412098, + 0.20402010096865633, + 0.20033465587064025, + 0.19937632768631167, + 0.20309142844215175, + 0.20040786954582937, + 0.20046580727889718, + 0.20230185409471532, + 0.1994012518909878, + 0.19550251622248913, + 0.20102680405030957, + 0.20008222338088988, + 0.19920761074190355, + 0.20381407171268673, + 0.1959089198792728, + 0.20341083516681066, + 0.19633667838497335, + 0.2006433222373665, + 0.20060359020847193, + 0.19774209662130096, + 0.2001176703254182, + 0.1994447699710496, + 0.1994678170071344, + 0.20206331280881867, + 0.19593155670668871, + 0.19908906361981996, + 0.2021492838242521, + 0.196840662780238, + 0.19865860047551223, + 0.19979767179572178, + 0.19949970336994244, + 0.20020864149642065, + 0.20258803775493667, + 0.20008390569257847, + 0.19832595821539223, + 0.19775063743751392, + 0.19964060372739292, + 0.1987872089896547, + 0.19828728366147255, + 0.19800945797548758, + 0.19530650430961566, + 0.20227866372433795, + 0.19676792688794642, + 0.20022690805372992, + 0.19960395607451445, + 0.19415972871711656, + 0.19626657650647425, + 0.1986479864631644, + 0.1960218155053055, + 0.1978501980985881, + 0.1962745578573215, + 0.19712149564626602, + 0.20231875554649822, + 0.19712498838272258, + 0.19674298337346444, + 0.19877547568615653, + 0.1925125202313988, + 0.1928800567206076, + 0.19730967020287232, + 0.1964229463106569, + 0.19898412470927826, + 0.1946005989327427, + 0.19597698458911558, + 0.19387769084942783, + 0.19607688937532275, + 0.19782195074178116, + 0.1981372847812879, + 0.19676857400431813, + 0.1979646076082076, + 0.20244582245651135, + 0.197601171175808, + 0.194406006888893, + 0.19319795904790654, + 0.19646652684699825, + 0.19759173271745073, + 0.19390683144261778, + 0.19422935549423515, + 0.19879518352425873, + 0.19917240269747405, + 0.19887356803213296, + 0.19556046121583634, + 0.19278386412274912, + 0.19780214701493734, + 0.19594461909111807, + 0.19729986398454882, + 0.19671913827755041, + 0.1953691299687552, + 0.19978495404101193, + 0.1896310582059225, + 0.19732976205295222, + 0.1955359995555444, + 0.193627560237313, + 0.1945922228625915, + 0.1968690327602228, + 0.19644123664120033, + 0.19422790646875976, + 0.1939441113510737, + 0.19529558529921637, + 0.19189534038478284, + 0.19270285939503656, + 0.18991969386259838, + 0.18911557432679293, + 0.19507510342488163, + 0.19223649140977914, + 0.19469543844576775, + 0.19506841604727618, + 0.19420000488636294, + 0.19299627108147638, + 0.19718463354435498, + 0.19454870214137962, + 0.1964094556504774, + 0.19386359524477745, + 0.18893691414430877, + 0.19434576300794587, + 0.19207164248157488, + 0.18756561777799538, + 0.1863317927374467, + 0.19254103754200155, + 0.19042417741504616, + 0.1932877109706079, + 0.19529725225129088, + 0.1930058912717198, + 0.19375748046019314, + 0.18730774242575093, + 0.19322627148195962, + 0.19255511058154212, + 0.19350986567328773, + 0.19041638165977626, + 0.18959921561239212, + 0.18763967786249547, + 0.19128887202798306, + 0.18925047561745434, + 0.19180291666196594, + 0.19796423412190503, + 0.19429773640683376, + 0.19262325119129137, + 0.19357658729487712, + 0.19280296837732241, + 0.1955954005174777, + 0.19180802110692158, + 0.19113932844343662, + 0.1910274275016305, + 0.18996670520388675, + 0.19327682615820052, + 0.19124369675310865, + 0.18501300497655251, + 0.19145345647787623, + 0.18808521276149587, + 0.19077144198742443, + 0.19483671119096385, + 0.1894665834819754, + 0.1919847726735399, + 0.18901140308555434, + 0.1922416440831157, + 0.19218360918686486, + 0.19059912421835742, + 0.18781358332318418, + 0.19097835011491926, + 0.18695589707408897, + 0.1901363614981204, + 0.1888935269857108, + 0.18830035225237393, + 0.18590850867734698, + 0.18652456229835196, + 0.1887474767950251, + 0.19147071178322053, + 0.18948402863584066, + 0.1867730078682442, + 0.1947054664572649, + 0.18832778538528241, + 0.1860000142631562, + 0.18852380063707708, + 0.19053558647724866, + 0.19029578375096662, + 0.18662989739149854, + 0.1902084202554665, + 0.19094399252081803, + 0.18903180008650333, + 0.18612265935594408, + 0.18627301846045552, + 0.18456555905841268, + 0.18561314230629072, + 0.19170186072357298, + 0.18681582471142427, + 0.18860088479373568, + 0.18826255063604183, + 0.18229753987996294, + 0.1840268052341676, + 0.18978023732617358, + 0.19041383168126685, + 0.18438216077665517, + 0.18961605483135527, + 0.1840584822137474, + 0.18745050427356832, + 0.18605352991661375, + 0.18453603566281104, + 0.18514467588692166, + 0.19037490129044088, + 0.18776198818950968, + 0.18949466804474963, + 0.18259460619440296, + 0.1865584561125528, + 0.18481210785580585, + 0.18884784783649003, + 0.18298503362080631, + 0.18512310344587446, + 0.1873643762048553, + 0.18916214516547858, + 0.18470380780497572, + 0.18718097611811968, + 0.1886703794585662, + 0.19031636653635248, + 0.18224206895224357, + 0.18607380104484758, + 0.18837156544090608, + 0.18648053137960358, + 0.18800870501566044, + 0.185411462814031, + 0.18727533502832933, + 0.1797607161865884, + 0.1871160065795615, + 0.18205309365717434, + 0.1822219855575923, + 0.18781453941374926, + 0.1892705148103252, + 0.18687999795188107, + 0.184734593307017, + 0.18672624903935767, + 0.17991452163587043, + 0.18080517881472044, + 0.18601363672133847, + 0.1851036496166336, + 0.1827365795133099, + 0.18611767061123907, + 0.18113594050389417, + 0.18249503183740856, + 0.1871042886846944, + 0.18690830006065198, + 0.18285269327404052, + 0.18695280344828086, + 0.1832097988148961, + 0.1832452075723155, + 0.1845174205688408, + 0.1822807765061226, + 0.18282719354084678, + 0.18477067097173802, + 0.18885444531984188, + 0.18696640553846725, + 0.1867154273651425, + 0.183390887485869, + 0.18649217482344838, + 0.18714344038573258, + 0.18200055603082105, + 0.18457154236768514, + 0.17997687601775578, + 0.18559572084492573, + 0.17986033907327398, + 0.18091312213152094, + 0.18557574891776493, + 0.182548371971161, + 0.1801937769164242, + 0.18625230131088397, + 0.18037185894365743, + 0.1827737398059237, + 0.18328287734883628, + 0.18357604771748692, + 0.1818379834063651, + 0.18388771255653433, + 0.18379823971632003, + 0.18306273197172782, + 0.18554976417311111, + 0.18238793890894428, + 0.18222050382625946, + 0.1868840119622694, + 0.18454000754599048, + 0.1810132037608916, + 0.17885232754282354, + 0.1823640051687096, + 0.17858226182683148, + 0.18414088752086133, + 0.18612457216131983, + 0.1896231816216565, + 0.17970306755277118, + 0.17885332702062218, + 0.1826711002904518, + 0.1791035197689645, + 0.18359533899633831, + 0.18533618969485255, + 0.18552688434258702, + 0.1785180956678863, + 0.18359559945958226, + 0.1810511687810853, + 0.18377698662664868, + 0.17666313955243157, + 0.18209728888371504, + 0.18265322826791197, + 0.1827884136379088, + 0.1820850045342379, + 0.17985381387843066, + 0.18344543262993218, + 0.18213275495063133, + 0.1793960775090122, + 0.1872953527978976, + 0.17899716127340914, + 0.17995734214379044, + 0.18204322871218664, + 0.18190507608935835, + 0.18165393869014854, + 0.18055554942282684, + 0.17957188848163874, + 0.1816290211964733, + 0.17974505537180893, + 0.180614280448102, + 0.1809092333306769, + 0.18517011026606747, + 0.18147316203530497, + 0.17974170527331554, + 0.1782713742889233, + 0.18189332289073398, + 0.18062727530155295, + 0.17984774561120262, + 0.1837160702284437, + 0.1769358975980027, + 0.17822851576401214, + 0.18178883615892738, + 0.1805667996193187, + 0.1773201018952456, + 0.1745467516723386, + 0.17904296340766845, + 0.1785533536707077, + 0.17890444468424277, + 0.1820801020233716, + 0.17834749604480185, + 0.17489587169590382, + 0.17506909235769844, + 0.17440346101639165, + 0.17630801561948822, + 0.17803086864476556, + 0.1786502397506737, + 0.18128193227787598, + 0.17555138232451706, + 0.1815336647244522, + 0.1780569737015909, + 0.17918710986832762, + 0.1791751898548367, + 0.17451741342827817, + 0.1781211170142995, + 0.17357807632697164, + 0.178256264706099, + 0.17626619477390135, + 0.17744315311820144, + 0.17669759936567292, + 0.17857634516479015, + 0.17956173612271945, + 0.176025454573414, + 0.17939217340333774, + 0.1794784464138119, + 0.17891868992330903, + 0.17538659808718982, + 0.17606192058379022, + 0.1775223776761546, + 0.17988496299706191, + 0.18028696458325388, + 0.17965882749876277, + 0.17774685268541193, + 0.17835944319063157, + 0.17360995188586115, + 0.17761221664435817, + 0.17958821428668664, + 0.17851645192967572, + 0.17640484933202205, + 0.17877660528828762, + 0.17410977644811243, + 0.17774369024841732, + 0.1774535990787249, + 0.1737742109509652, + 0.17864713919617167, + 0.17681131326815477, + 0.17938879467604607, + 0.17664941455217384, + 0.178376054190872, + 0.1754212236196241, + 0.17553169212820174, + 0.17649556739809388, + 0.177255209376776, + 0.178686975019958, + 0.17911273517989015, + 0.1775121452970194, + 0.17508590654196107, + 0.17436032611069388, + 0.17794803725180702, + 0.17705890813686714, + 0.17125206638773435, + 0.1743990995606909, + 0.17529409742069318, + 0.18056813034376032, + 0.17652965667181802, + 0.17697472292526217, + 0.1735569930868944, + 0.16988470855863885, + 0.18036529141544558, + 0.17280951804616965, + 0.178199709753503, + 0.17388907933590397, + 0.16808901136112472, + 0.174882487450141, + 0.17101695357126995, + 0.1743856500978394, + 0.176703764636058, + 0.1763041265375174, + 0.17506320652012763, + 0.17304251578149182, + 0.1745763523979891, + 0.17405371651220664, + 0.1760756564283334, + 0.1741288549557974, + 0.1730525631792036, + 0.17443975801046235, + 0.17217674266385496, + 0.17472292003207393, + 0.1764183255826518, + 0.17276257275381693, + 0.17389349446519517, + 0.17376366521061712, + 0.1723217797774141, + 0.17169124676612416, + 0.17450660126768167, + 0.1764432145772796, + 0.17552086485307605, + 0.16962821401897876, + 0.17196059306858585, + 0.17588960103425355, + 0.17450789602519512, + 0.17079077375585636, + 0.1762537569119004, + 0.17497374669536256, + 0.16769105454635785, + 0.17395603594920905, + 0.1717574535162641, + 0.1719411316272967, + 0.17070575083112893, + 0.17567114103383646, + 0.17212544097031696, + 0.17313895955099365, + 0.17496265652488582, + 0.17578513268525525, + 0.16913954624416014, + 0.17415605611441767, + 0.17321106085219296, + 0.17227515694036527, + 0.17157409812580368, + 0.17372589875243305, + 0.17439662419755483, + 0.17383784450440676, + 0.17030383448978603, + 0.16828516565966808, + 0.17228451717483462, + 0.1737472749338269, + 0.17519481303372159, + 0.17253571073740906, + 0.1696123193514075, + 0.16764683211827794, + 0.1729670169362481, + 0.17314195067076815, + 0.17406325887790636, + 0.17393945885862544, + 0.17057146535805734, + 0.1694998637709663, + 0.17071536528782763, + 0.17001373132102585, + 0.17040609650677158, + 0.17555835114174953, + 0.17283057787199, + 0.17085192844000624, + 0.1708926671377784, + 0.17121501209433465, + 0.16763586849522064, + 0.1740354199420903, + 0.17337590968524663, + 0.17201018850564173, + 0.1702555652690515, + 0.16896066190127065, + 0.17158799261523658, + 0.1722895496152918, + 0.17326855788082346, + 0.16795560526848993, + 0.17407000951912982, + 0.1727440254214932, + 0.16837235451921037, + 0.17213157988975153, + 0.16752711830562667, + 0.17347815028757965, + 0.16828958206340072, + 0.17418481997609278, + 0.1709764276259224, + 0.17150986182644687, + 0.16708581129682967, + 0.17138536513030483, + 0.16689242935528972, + 0.17070821352337628, + 0.17199711418846167, + 0.16901085211609954, + 0.16962443901681495, + 0.16750624174419387, + 0.16683721148780903, + 0.16639837023193715, + 0.17203708756830394, + 0.17352547490790532, + 0.1715318858666755, + 0.16983412715661175, + 0.17269963371039776, + 0.16944927085427447, + 0.16648124832510025, + 0.16889556807151565, + 0.16675060359046048, + 0.16754300107504747, + 0.17065983098115622, + 0.1669490687497214, + 0.17134909952728325, + 0.17099187906179866, + 0.16768728832832477, + 0.1690754655982157, + 0.17032176701657636, + 0.17025915381784087, + 0.16840700593549215, + 0.16743297268270338, + 0.16750557232365565, + 0.16815629051046752, + 0.17061141428131113, + 0.1719771393015404, + 0.17088664612147508, + 0.16876076367876894, + 0.1695035715103034, + 0.16548096332064724, + 0.16697205351982786, + 0.16787806619391216, + 0.16630039333968477, + 0.16851998643730492, + 0.16607819912643762, + 0.16654568120272076, + 0.16451393514467927, + 0.16606960100361115, + 0.16776315915620318, + 0.16250770626555056, + 0.16695690535775878, + 0.16782745840345098, + 0.16638969834865108, + 0.1638757442239522, + 0.16691487989944892, + 0.16714705570367375, + 0.16617918262494608, + 0.16619152899099163, + 0.16934160660554426, + 0.1683852418856378, + 0.16773192731709718, + 0.16438085376212933, + 0.16645323782986254, + 0.16643199652156593, + 0.16649609229357296, + 0.16849680756429217, + 0.17012654190836907, + 0.16723715588767601, + 0.16838650956415446, + 0.16499896224691957, + 0.1701702796479243, + 0.16682692928291604, + 0.16659093321799862, + 0.16769638163507583, + 0.16803086856985608, + 0.16627581949827286, + 0.16443398137412527, + 0.16443452885195659, + 0.16825881340301627, + 0.1662408937036922, + 0.17057588287764705, + 0.16462802248444675, + 0.16245640566047778, + 0.16487907744863362, + 0.16662165022169703, + 0.1662813390262033, + 0.16711244152731985, + 0.1676055505834289, + 0.1630903064062813, + 0.16584872060539, + 0.1622264068170044, + 0.16768233002316288, + 0.16314184339284526, + 0.16913854764434205, + 0.1660564167413503, + 0.1672361173563213, + 0.16548600355624554, + 0.16485648983137988, + 0.16518526667175418, + 0.1680217894203615, + 0.16626108091918537, + 0.16644671416319562, + 0.1612789428276774, + 0.16509767930706726, + 0.165109187009926, + 0.1672138207124967, + 0.16367325130359908, + 0.16229728671892232, + 0.16206282129563138, + 0.17029756397274165, + 0.16330256166611293, + 0.16296318682752572, + 0.16480102529893442, + 0.1657252663533108, + 0.1638722465843562, + 0.16644222260057787, + 0.16392507818138266, + 0.16163812788929963, + 0.16274744674459607, + 0.16127824409786992, + 0.1638603944146873, + 0.16651894752622434, + 0.16180710397781833, + 0.16300427862630448, + 0.16517460757532032, + 0.16283384667732537, + 0.16256383404816174, + 0.16444125875179014, + 0.1639124128445637, + 0.16315850919839167, + 0.16353939681806984, + 0.16388645634810575, + 0.1672567376238366, + 0.16234777073142329, + 0.16527266490587464, + 0.16387602271535218, + 0.1668063900116312, + 0.16363658971404052, + 0.16131946757355065, + 0.16103743136378912, + 0.1633950655965636, + 0.16405794682448308, + 0.16111314835476664, + 0.16225615945780195, + 0.16168623608782104, + 0.1610133448924189, + 0.15987983311096857, + 0.16042975551122943, + 0.15977917876002312, + 0.1625823242021811, + 0.16182657468475795, + 0.16500295674422577, + 0.16183052956913785, + 0.1639511024769707, + 0.16351483857703192, + 0.1655396669324568, + 0.16096142622362533 + ], + "val_loss": [ + 0.869319573403841, + 0.8658220882875374, + 0.8645614545388394, + 0.8605845726757164, + 0.857733523091638, + 0.8538283770342907, + 0.8501462062080223, + 0.8456144532166332, + 0.8399297919977142, + 0.8312990162746016, + 0.8226547831871424, + 0.8223008880144861, + 0.8127273280532604, + 0.8066570274083011, + 0.8068128166248999, + 0.8001995567815849, + 0.7951012781136725, + 0.7999805396938898, + 0.8430166699620615, + 0.9100407449954964, + 0.9829131099114935, + 1.0375911277460765, + 0.9445280411157263, + 0.8686781100120889, + 0.8329473205180054, + 0.8158229623573372, + 0.7856074740594051, + 0.7822318747190826, + 0.8824998546526375, + 0.8604452751621784, + 0.8521208297236856, + 0.8494190026007323, + 0.7900951594024538, + 0.8659286543457623, + 0.7893714574221746, + 0.8212408290345625, + 0.7896232119907277, + 0.8063684474867601, + 0.9966265390324126, + 0.9992704393948058, + 0.8577930837566684, + 0.9402417629643018, + 0.9787754722680133, + 0.9227677965200091, + 0.7926716859149466, + 0.9335394639028124, + 0.8018058659845447, + 0.7789146396589567, + 0.801493304949927, + 0.7511546644887113, + 0.7622524202543209, + 0.8440775011767105, + 0.8058217374989426, + 0.7834131732044449, + 0.7433584705780608, + 0.7359421624835715, + 0.7306318068876863, + 0.7314824372170919, + 0.7312467514750469, + 0.7843584425029266, + 0.7417348077161664, + 1.0755376002066825, + 0.7870784619576242, + 0.8749288164572903, + 0.7604933454576566, + 0.7581721970654396, + 0.7392370243029422, + 0.7373194125963443, + 0.7290542494079255, + 0.7261167420410967, + 0.7563881641814867, + 0.7766605396137898, + 0.7669689309255905, + 0.7642004453094609, + 0.7563181993473007, + 0.8613681048154831, + 0.76278126513563, + 0.9071792915283915, + 0.7941310812371323, + 0.749055956299585, + 0.768543837075851, + 0.7749722808184304, + 0.7796256628830031, + 0.8006815185478653, + 0.7678984128926174, + 0.7600737281412964, + 0.8078554142715342, + 0.8251235519636826, + 0.7798103278570147, + 0.8204261219375822, + 0.7827387045485428, + 0.7886774376124502, + 0.8045582825160889, + 0.8303582481591099, + 0.7885339329669993, + 0.7896738278129732, + 0.7356951904359711, + 0.7762497114803059, + 0.7471148086913738, + 0.7955436678042254, + 0.76705754440592, + 0.7616776538765934, + 0.82870927228626, + 0.7803868962878204, + 0.7519597517977278, + 1.0666947756187026, + 0.7663395783628326, + 0.7644915328506964, + 0.8604008164930056, + 0.7275264816560659, + 0.719262343573283, + 0.7281381444309849, + 0.7846964870590761, + 0.7060886780361095, + 0.7118566563824215, + 0.7134864598299455, + 0.7658975359546133, + 0.7497371791760965, + 0.805305770183184, + 0.7902587582637747, + 0.8033480294138552, + 0.7492196674806526, + 0.7499134554920426, + 0.8000766101730875, + 0.8091364829655153, + 0.7551208842680397, + 0.758823088807873, + 0.7203707531857563, + 0.7453947896698871, + 0.7774813626724554, + 0.7933813600116465, + 0.7893499406166824, + 0.8335648342428437, + 0.8023983053414219, + 0.7688677310943604, + 0.841788672539125, + 0.8292186087872608, + 0.766404175121023, + 0.8035029332680874, + 0.7428230333130762, + 0.7267550671001873, + 0.7435018161020006, + 0.8411551261522684, + 0.7612638150353029, + 0.799236389976668, + 0.7694645234080683, + 0.7909639869109694, + 0.7629776759499527, + 0.6807484361062567, + 0.696792291275349, + 0.7015119554946222, + 0.7507615265357925, + 0.7467990337186549, + 0.6787121130310627, + 0.7549029291573778, + 0.7100803162229349, + 0.6963329312716982, + 0.6859638976853296, + 0.6343061537201325, + 0.7152262188224907, + 0.6785336481519493, + 0.6792903049590896, + 0.6442659750625671, + 0.6418758039474937, + 0.6540052008601915, + 0.7264444508915207, + 0.6700855481202703, + 0.6423811525869442, + 0.6410486905454064, + 0.6427836953213506, + 0.6182034417358507, + 0.6756915157234453, + 0.631589653890535, + 0.6925836325768965, + 0.6523216174219746, + 0.6324341802083584, + 0.6255415373717446, + 0.6310141560767429, + 0.7895588453253171, + 0.640019775514143, + 0.7293590225773044, + 0.6484637252694692, + 0.6231600297951555, + 0.7664250562708061, + 0.6809048732765108, + 0.6855286855183272, + 0.6197016188897282, + 0.6130721225930624, + 0.7298762657376657, + 0.6729783732668463, + 0.6055866485147412, + 0.6634105483227106, + 0.6176817628992609, + 0.6257381860660501, + 0.6111692558211016, + 0.6055162665490286, + 0.6082501534754073, + 0.6577416966972222, + 0.6056054612756314, + 0.6073633818494448, + 0.6200915666588818, + 0.6317985809845738, + 0.619583686230233, + 0.751344432684043, + 0.5916427085007799, + 0.6036418942532625, + 0.6126822386924402, + 0.6238098962299795, + 0.6053117885736816, + 0.5957758360688227, + 0.680756791618215, + 0.6308864439691765, + 0.6304389728480074, + 0.5979893306068268, + 0.5878766822258392, + 0.6245848489364227, + 0.6085908400366106, + 0.6641020842165832, + 0.6075142845848059, + 0.6122541570901332, + 0.6053611839930695, + 0.5943209409085383, + 0.6366404155605888, + 0.6428787004516785, + 0.5959359501230429, + 0.6237231154578278, + 0.5722634695268359, + 0.6471566316413592, + 0.5812389094113226, + 0.595195892592331, + 0.6043482436742409, + 0.6113689603306443, + 0.5826260490141001, + 0.5774667046919285, + 0.5684395462095019, + 0.6324881110115942, + 0.5861727814358401, + 0.5723221899537616, + 0.5950839180185135, + 0.584261626902833, + 0.591360330491899, + 0.6017727975744799, + 0.6279709239164928, + 0.5898772364100778, + 0.5604420993252691, + 0.5756696697818228, + 0.5677541001105165, + 0.5824870920055601, + 0.5522168567067528, + 0.5700469992112324, + 0.570921547598688, + 0.5730264725904148, + 0.585121004920767, + 0.5464794491081083, + 0.5795679553804627, + 0.5493106148374008, + 0.5679634912163917, + 0.5732882202389729, + 0.559040840804936, + 0.566287401749427, + 0.5704272593629648, + 0.5608483905152205, + 0.557588472165706, + 0.5851090272372387, + 0.5677280000309988, + 0.5740064001047468, + 0.5902773525161915, + 0.5559309271938471, + 0.5537006899669586, + 0.5592445922589087, + 0.655305646606777, + 0.578115319945367, + 0.5578643175582569, + 0.5443875455039452, + 0.5993865930351866, + 0.5752276484012963, + 0.6195679997957974, + 0.6240743020975805, + 0.5448663694986019, + 0.5510117966143122, + 0.5466000539172127, + 0.5632456820682589, + 0.573075624698975, + 0.5682207922933691, + 0.603775424546147, + 0.5727335468428322, + 0.5707365305342499, + 0.55317305109228, + 0.537066481850413, + 0.5420132953314537, + 0.5443963622618242, + 0.5411274001024753, + 0.579005481002022, + 0.5445335629923516, + 0.5758514245410999, + 0.6009773418127772, + 0.5485024910408959, + 0.542578128884625, + 0.5528700397046934, + 0.5553052077316735, + 0.5209304986364511, + 0.5466621275093541, + 0.5450402637158173, + 0.5433844283268036, + 0.5354701865307359, + 0.569334453016699, + 0.523145259285054, + 0.5383252702900264, + 0.5450539560651922, + 0.6125480989218656, + 0.5470660960817911, + 0.6326662506122726, + 0.5415330017770988, + 0.5325478676661669, + 0.556532243435013, + 0.5350472474784915, + 0.5162539980486485, + 0.5212880957377962, + 0.5485474827463728, + 0.5589152103660247, + 0.5186221095262072, + 0.5307437943418073, + 0.5474644113410578, + 0.7523602070567389, + 0.5690941251141121, + 0.6182794074418517, + 0.5943681836262884, + 0.5329603422208723, + 0.5579879641790976, + 0.545290367621704, + 0.535191244176443, + 0.5157082762894591, + 0.6834722640868052, + 0.5175504511971228, + 0.534450130890606, + 0.5290625431036284, + 0.5171217846050186, + 0.5348067782420934, + 0.5520687751298075, + 0.5207992874728291, + 0.516117076142635, + 0.5371563254928509, + 0.5304720241251031, + 0.6395897660460548, + 0.5303345221818526, + 0.513559461710133, + 0.5155793623928632, + 0.5231580589897931, + 0.5517149936318039, + 0.5133782362597658, + 0.527253445438446, + 0.5683284651260846, + 0.5438110522634114, + 0.531125900128026, + 0.5948922896774553, + 0.5277353997885093, + 0.6108932643134711, + 0.5193598779852513, + 0.5301882837063083, + 0.5480664541793381, + 0.5279145322751299, + 0.5078458824603123, + 0.5005044112506558, + 0.5121808868583224, + 0.5184865475769704, + 0.5138710268733866, + 0.59235079867165, + 0.5095683790810676, + 0.489437422827335, + 0.6159271902000778, + 0.5090358199941623, + 0.4923377516118428, + 0.49786962606068924, + 0.5178625036843811, + 0.5215746098315814, + 0.49685677849541765, + 0.5034086541300752, + 0.5167344070221326, + 0.5131495701792896, + 0.5151704292721957, + 0.5114067554114813, + 0.49833123500498167, + 0.5369869824498892, + 0.5163955327729324, + 0.5132866541010676, + 0.5125343713415674, + 0.5025952517900739, + 0.5227314527539244, + 0.48681714839346885, + 0.4956970591489394, + 0.5548992837885821, + 0.5200404891160777, + 0.4983417682303396, + 0.5861820777743516, + 0.5722616945438267, + 0.4941508217191559, + 0.563852807983801, + 0.4943604383453536, + 0.5005430229813287, + 0.5056324579180723, + 0.5032808648826308, + 0.49156920015825945, + 0.5445715140197875, + 0.49304277350016623, + 0.5226196329199136, + 0.4988949597404333, + 0.487170185796995, + 0.4855652575448425, + 0.5149809289246753, + 0.4824574876626454, + 0.4917623081184217, + 0.4968751852585743, + 0.4919077805692263, + 0.4999465280218072, + 0.5032164071495813, + 0.49255322490247944, + 0.5255361276255157, + 0.48284399957138013, + 0.4882396492470303, + 0.6707122261714504, + 0.4971177447054266, + 0.49371513626846786, + 0.5554404890849199, + 0.4945978888791582, + 0.5067859392961016, + 0.4901170835392662, + 0.480636360308896, + 0.4906056449616732, + 0.4702150434289262, + 0.4932772870040891, + 0.5014199770914098, + 0.48860608548674933, + 0.5240055626084332, + 0.48072923189001043, + 0.47782707547050823, + 0.4823310137796496, + 0.4852100749610901, + 0.4844823343769075, + 0.4889131324752851, + 0.4807703612142254, + 0.49705009011121143, + 0.5062099653324225, + 0.47379098461480834, + 0.479449697750542, + 0.4949015077450369, + 0.48762316625573704, + 0.49762404818054157, + 0.4957093386980985, + 0.48107888458117126, + 0.4789304363384215, + 0.4827775831996317, + 0.4788078656195697, + 0.48011623112855095, + 0.4834673836078994, + 0.46324546255608906, + 0.5039998556835106, + 0.4755354750388111, + 0.4847942096663706, + 0.48079484750808454, + 0.4726034246345825, + 0.46015812038915255, + 0.4823009982895869, + 0.5231699778962072, + 0.4955589925079236, + 0.4826938031095428, + 0.48846735131186264, + 0.49257905492965826, + 0.478749193869677, + 0.47039240489556755, + 0.494422356654183, + 0.49267597268587987, + 0.4818425745049671, + 0.5412749950044665, + 0.4752122050555176, + 0.497879000837881, + 0.4862086930233671, + 0.47984701276936353, + 0.48378368867673427, + 0.4839884559104937, + 0.5104963796280594, + 0.482185806578, + 0.4906641415471817, + 0.46137111465143693, + 0.46570721247334435, + 0.47698896268595864, + 0.4779481782650867, + 0.4687507918205516, + 0.5299578659146665, + 0.46094655471640716, + 0.48336255873401973, + 0.5150232877054937, + 0.47517704953024364, + 0.4662255395978061, + 0.48051592441702107, + 0.46680086630071144, + 0.4716452878355666, + 0.4744846926025867, + 0.46301041432959306, + 0.4947973959854838, + 0.46793376451361, + 0.47142837452982744, + 0.46346058833261344, + 0.49535347219677195, + 0.4978969652536718, + 0.5000581808412077, + 0.4896557619402477, + 0.4682041811027441, + 0.49633627373119255, + 0.4944658934500585, + 0.4699823573815176, + 0.46588928186536643, + 0.4754639856043238, + 0.4649460933182433, + 0.4729633196285107, + 0.47200195011065665, + 0.459935302374862, + 0.4722103999173044, + 0.4653805057035692, + 0.4653888403056526, + 0.46903046196977416, + 0.46277284744218083, + 0.4672118399477373, + 0.45768885653331337, + 0.4515365673893928, + 0.4497708013247564, + 0.46750817286321916, + 0.4564395746979189, + 0.45625874132243355, + 0.4555501102256667, + 0.4623494034195431, + 0.46540327007596166, + 0.46925645843933683, + 0.4520690661479147, + 0.4678771434413516, + 0.45562566243426267, + 0.452761168529964, + 0.4582660520555878, + 0.45881085360916446, + 0.44704986383846723, + 0.4535398506952158, + 0.4474232870277511, + 0.4500742149567344, + 0.45584727648129486, + 0.4469001931545089, + 0.44503600575052293, + 0.46366556935259196, + 0.4715954373059065, + 0.45602011325746683, + 0.4656706122311214, + 0.4484655643835754, + 0.47422057832871756, + 0.4534766097070582, + 0.46657398155699653, + 0.4644106424200427, + 0.456956710010004, + 0.45419682521395477, + 0.44858085051605323, + 0.4632241632200284, + 0.4630987383144717, + 0.46061513040226, + 0.4586209020498826, + 0.4570105671994837, + 0.46501772833359706, + 0.4585430517186781, + 0.4573440325056506, + 0.45685946815142253, + 0.461967486795599, + 0.47107373762606497, + 0.46115481634399885, + 0.46680942624919564, + 0.46441269659364304, + 0.4558959373073787, + 0.458256567884461, + 0.4808467976771385, + 0.4784325852559554, + 0.45859845788835224, + 0.463127456167825, + 0.4565259100818805, + 0.4594879279260984, + 0.4644682052578912, + 0.4484832208569958, + 0.45981190883391815, + 0.46363532312175104, + 0.4573038984384635, + 0.4688602647665574, + 0.45456719281522173, + 0.45718218579450737, + 0.4532665849063007, + 0.47078168609864024, + 0.449882782715182, + 0.4533209351525384, + 0.47319610581273236, + 0.4527159068026546, + 0.4659318942352232, + 0.4463952954308725, + 0.4629352676818226, + 0.4512130134032074, + 0.4538180533802159, + 0.452888687057084, + 0.4654592088793954, + 0.45341960624483113, + 0.45694460454453006, + 0.45591047660206413, + 0.4604384463213115, + 0.4639832778407418, + 0.45863228953578117, + 0.45920053275206674, + 0.4490246483719493, + 0.455994241033591, + 0.4435439654008811, + 0.4488772900791906, + 0.4566446296163801, + 0.45752460245289894, + 0.4539992989725377, + 0.4500821396478463, + 0.4533375768293907, + 0.4604477641559823, + 0.45679068841960235, + 0.45663769415254335, + 0.4408748418356415, + 0.46134189715754825, + 0.45605990726988854, + 0.45068460844838654, + 0.45522497849909205, + 0.44720540994621183, + 0.45934679089619, + 0.45650943471343225, + 0.4583947925228087, + 0.44840150476848506, + 0.45374068207141144, + 0.46386716719885096, + 0.45115836995446224, + 0.4628974163514865, + 0.46216360928984473, + 0.46780340895842176, + 0.4570455683664565, + 0.45381312040858957, + 0.4545461355094203, + 0.464236623876874, + 0.4557444313008069, + 0.45656618949570077, + 0.44260626195380126, + 0.4536451063517212, + 0.4696746443381466, + 0.4435288585408265, + 0.4571494957644644, + 0.4602414423695216, + 0.44903030532344906, + 0.45589365164682, + 0.45567051493787175, + 0.45451968096067613, + 0.45364470647771404, + 0.45546740403466196, + 0.4517294818406408, + 0.45293378857446903, + 0.46916600172576234, + 0.46630366729061873, + 0.4583767579317216, + 0.45529009202068826, + 0.44842306726348463, + 0.4837828483039805, + 0.45976598328540486, + 0.4479397232672312, + 0.45953144869207496, + 0.44743183204702225, + 0.4585310510045523, + 0.4655339719214987, + 0.44904947627184305, + 0.4512855896967497, + 0.4660142414567779, + 0.46129873743090016, + 0.45531854795639864, + 0.4480094490516706, + 0.4542239655583469, + 0.4553370553332504, + 0.45347515388717313, + 0.45323527440939276, + 0.4524773324689693, + 0.44871912702794625, + 0.4630656610158867, + 0.4508872400767293, + 0.45504435411295346, + 0.45099216224120775, + 0.4605150853132223, + 0.46158562224577127, + 0.4568181778837265, + 0.45579749275649706, + 0.44940590120274126, + 0.4463972064767437, + 0.4617410973647149, + 0.4502405196060819, + 0.4509786033528823, + 0.44764017233490405, + 0.45118535511863295, + 0.469278807411004, + 0.45437177114401867, + 0.4637748554001102, + 0.46584330428481463, + 0.45850150474678186, + 0.46750399986624225, + 0.46682131824824197, + 0.4624078361463385, + 0.45734107218043185, + 0.442961230329855, + 0.4541646314894287, + 0.45373093640482254, + 0.45555579551658315, + 0.4508045195484063, + 0.4593647260342287, + 0.4581331235429564, + 0.45385089617345975, + 0.46298047131578246, + 0.45705068944981436, + 0.458740009948701, + 0.45458583754812737, + 0.4541003498142159, + 0.4557871981748346, + 0.45717041983257933, + 0.46299745891304933, + 0.4664278628237276, + 0.46172034370794285, + 0.44632051027020864, + 0.4629182427313672, + 0.46003036510412504, + 0.45164722734388996, + 0.4535343766069399, + 0.4554449169789946, + 0.4668678255872352, + 0.4690866217547354, + 0.4537051136883155, + 0.4678612113986389, + 0.4531363900624642, + 0.46454179353089103, + 0.4659498510517584, + 0.46196322315316424, + 0.45001294021775207, + 0.45516939136670925, + 0.45411595026261165, + 0.46186385819329373, + 0.4608343802609885, + 0.4550688195502363, + 0.4664652287056782, + 0.46228429614930944, + 0.46065429219602977, + 0.46631350333477, + 0.4586161157727825, + 0.4707694853528358, + 0.46586373960318783, + 0.4551149278806231, + 0.452479830407257, + 0.46705117440538435, + 0.46927698177400506, + 0.4653783977727394, + 0.46942913131115127, + 0.4758377244320126, + 0.464139641293448, + 0.4576233565998095, + 0.45744188124572027, + 0.46307066609488284, + 0.4595245501217264, + 0.4590608272477087, + 0.4655252672053021, + 0.4533825701394354, + 0.46106781898534865, + 0.45897110386299955, + 0.46355901947679806, + 0.47704885619151105, + 0.46550059295119156, + 0.4645028731207846, + 0.4641433062427397, + 0.45712130584653066, + 0.45930495438816765, + 0.46108184353426007, + 0.47212307948018817, + 0.46725880830402833, + 0.45350151355322227, + 0.4697202766231396, + 0.4691428390930474, + 0.4679352180746171, + 0.4689477366396697, + 0.4650829618639616, + 0.45337516061697963, + 0.4694332012062309, + 0.46135699871719915, + 0.4630408619883953, + 0.4604106863921351, + 0.4742829466507916, + 0.46337057513827234, + 0.4751534611098917, + 0.46296208995781524, + 0.4652682876604306, + 0.4631751263051305, + 0.4793778150103964, + 0.47038272160795486, + 0.4640614909978292, + 0.4584865536854928, + 0.45840262509994656, + 0.47228358873917936, + 0.4596996285029721, + 0.47242383623119805, + 0.46516541575491205, + 0.4763050203328021, + 0.4677755982777755, + 0.4604818921547428, + 0.4651300714881417, + 0.46114677971394463, + 0.464921831176476, + 0.4616904429199331, + 0.45726699480248323, + 0.46275955552224024, + 0.45735980564986456, + 0.4559541674420597, + 0.46137305042784976, + 0.48130345184156803, + 0.4657767022299266, + 0.4639880449471838, + 0.4725046907074705, + 0.4702304983792086, + 0.46306107527890566, + 0.4550689612389037, + 0.4645068996546633, + 0.47955331513349597, + 0.47646825026765643, + 0.4691874191770891, + 0.4687942987713256, + 0.4615599036115749, + 0.46891910454583724, + 0.4718991546630046, + 0.47539740691314936, + 0.45817023055369865, + 0.4776618248665234, + 0.4742983152601778, + 0.46273865683722387, + 0.47749739461887, + 0.47662302861214584, + 0.468235931664997, + 0.4623328687760597, + 0.4645504354946708, + 0.47249401525414764, + 0.46934314772307156, + 0.46489110021607905, + 0.46271743621194666, + 0.46372955503273217, + 0.4629907007308127, + 0.47024813722903247, + 0.4687620531304751, + 0.46270465174358877, + 0.4724529042898913, + 0.46586518377593034, + 0.47359345996814095, + 0.47383613923861906, + 0.4783395652137472, + 0.4672319309699001, + 0.47435234438246454, + 0.4647982373626072, + 0.47348671030822626, + 0.47174420931196986, + 0.4517940878615636, + 0.4617315673084189, + 0.48010656707331045, + 0.4738996925480462, + 0.4638287288470598, + 0.47200924172543035, + 0.4692887108357825, + 0.47475847844364044, + 0.4754829403848937, + 0.4724921065776087, + 0.46743736080039877, + 0.47047678636757273, + 0.4744575679616397, + 0.46952267475594506, + 0.4731974986575387, + 0.4771043063191899, + 0.4856999118907759, + 0.4703697390918878, + 0.4773974917563946, + 0.4742016753403425, + 0.47539506290887806, + 0.4754152672634606, + 0.4751511911822326, + 0.48192750318228345, + 0.4743231194835796, + 0.47529354446752736, + 0.4776938756579303, + 0.46706975519121346, + 0.4716324847056923, + 0.4789249829131639, + 0.4711091227910807, + 0.4801397946149851, + 0.4718544891802594, + 0.47355520951418567, + 0.4726757688433106, + 0.4821143140399223, + 0.4749652910016825, + 0.4703574008820298, + 0.49090613786647297, + 0.471185644561178, + 0.4777031746266567, + 0.4758378718222256, + 0.47032295425523474, + 0.47331712538578424, + 0.4650242985492707, + 0.47221120588161636, + 0.4747699288264231, + 0.46221232081199604, + 0.47417294061798826, + 0.4726504164969504, + 0.47697716434514265, + 0.47417213785159124, + 0.48174118907303065, + 0.4796573297935538, + 0.47866712709123, + 0.4723359002978597, + 0.4715695046519591, + 0.4776910371154109, + 0.4687267768095775, + 0.47987009895999116, + 0.47658027428993394, + 0.4725100522670132, + 0.472108213937875, + 0.4650639025676794, + 0.48171408464627186, + 0.48518938700253345, + 0.47681106829451936, + 0.47587720957565044, + 0.4795915120455201, + 0.4806023615374544, + 0.474796134728871, + 0.48259054875497126, + 0.47240567205092276, + 0.46593571457091765, + 0.48692983559175695, + 0.4725921568895567, + 0.4785414665393217, + 0.47852525844362126, + 0.47996827378218254, + 0.4764283135616086, + 0.48321087122754564, + 0.48397662542502295, + 0.48281457114414905, + 0.4678073010522401, + 0.47000501736337935, + 0.4720394839097869, + 0.49049942346194375, + 0.4725029208148263, + 0.4781272941004591, + 0.4726783709547269, + 0.4745677033010085, + 0.47518319367706013, + 0.47634693521077753, + 0.4816462114573939, + 0.479481107487304, + 0.47527536031781664, + 0.4767226481400655, + 0.4789240130178451, + 0.469614961783469, + 0.48196280273575204, + 0.4754450938058456, + 0.4790176193213023, + 0.475016156109106, + 0.4827378387128126, + 0.47404725444348844, + 0.4859942475572952, + 0.4726124026108511, + 0.4702064242148744, + 0.4796575842893694, + 0.4769158001248556, + 0.4648923003872161, + 0.4722167433531259, + 0.4912231376167409, + 0.47645648998483253, + 0.476587104554995, + 0.48171052074197296, + 0.48595972636333074, + 0.48081573591068255, + 0.4740066572175928, + 0.4785016978100638, + 0.4701980334700994, + 0.49192013505268395, + 0.47910910954766245, + 0.48195703271201373, + 0.4770324471187834, + 0.4841967004825395, + 0.49132161467695185, + 0.4728673137626218, + 0.4783264956113052, + 0.4882552233533036, + 0.4773658607695083, + 0.48849705371974844, + 0.4733754800806518, + 0.4861186954693543, + 0.48223560196852466, + 0.47787033358633696, + 0.48162001067441496, + 0.48328684782048303, + 0.47831922705307695, + 0.47955596593281546, + 0.4923831503684015, + 0.4796439332484986, + 0.4806401663928304, + 0.47857881542463526, + 0.48840289269798404, + 0.4852081325644324, + 0.47625328691470076, + 0.48277171951976705, + 0.4743526669005942, + 0.48579535634237264, + 0.46767630016870226, + 0.4808585732054605, + 0.48685538789737093, + 0.48520775559619184, + 0.4760510948380029, + 0.4866260810396129, + 0.48023621951431844, + 0.48877002935749986, + 0.48216091327548743, + 0.4798484942854764, + 0.48027840625573265, + 0.4929032578947954, + 0.4872524851290734, + 0.48300655109594653, + 0.4765640135198069, + 0.4875239622435555, + 0.4781685580880976, + 0.48025212502696113, + 0.48426619972767176, + 0.4810754111911877, + 0.48297440911732975, + 0.482337619463425, + 0.4870433886226895, + 0.5014009889290971, + 0.48142506885735026, + 0.4853388190315756, + 0.47924517560189206, + 0.4808540782840019, + 0.49038799947368944, + 0.48360226502507386, + 0.47794266313199424, + 0.48091172754304506, + 0.48666517494431505, + 0.481178467286609, + 0.488107543929581, + 0.47751228177095256, + 0.48133606084584574, + 0.4849969288649834, + 0.48576239638131513, + 0.4867282150129518, + 0.4829574709783409, + 0.4745215029926993, + 0.48307130726949166, + 0.4757143154428958, + 0.48238838097944586, + 0.4729268208752016, + 0.4843365161817139, + 0.49199058133155016, + 0.48580326525500067, + 0.48888627986678945, + 0.48367193600174085, + 0.484650125109916, + 0.48496109277784194, + 0.4810722117531057, + 0.4795497589511797, + 0.49824179181862754, + 0.4842985432881845, + 0.4754659880825083, + 0.4803097330479804, + 0.4846723413512851, + 0.47977805821679487, + 0.48994558382251985, + 0.4864056965482424, + 0.4772107291199458, + 0.4858270916268678, + 0.49113999249438856, + 0.4956592613945474, + 0.4831515870348786, + 0.49786068227055136, + 0.48413549538341305, + 0.4882580469368048, + 0.48810193801708296, + 0.48177961791453167, + 0.46626213313001824, + 0.48348160479526336, + 0.4823144356823941, + 0.4950586943445357, + 0.49776408764749697, + 0.4895941666958584, + 0.4848253914738545, + 0.4836600318043324, + 0.48854982952344655, + 0.4871388077273045, + 0.4898044100811099, + 0.48300147851359615, + 0.4785582168274615, + 0.479457862720073, + 0.487007484112092, + 0.48270985945296213, + 0.488476613751074, + 0.48487406133685307, + 0.4852927960076717, + 0.48141131486395844, + 0.4885268545532824, + 0.47982900949890717, + 0.4842650150804477, + 0.4793817955896775, + 0.47956509139817993, + 0.48188732317312205, + 0.4809791686417288, + 0.4820586106605289, + 0.4859210281031128, + 0.4771789135776056, + 0.4776055208836536, + 0.4849356301889772, + 0.4821702997580294, + 0.4856024212891191, + 0.48905954276090935, + 0.48979824136434885, + 0.48681770211312897, + 0.480417208848465, + 0.4755267890167411, + 0.48221205583779164, + 0.48349613837157207, + 0.48442582117396416, + 0.47746652569088815, + 0.47835866574735203, + 0.48201881058469237, + 0.49116437918091393, + 0.477853845786696, + 0.49038189896298234, + 0.47955203546682396, + 0.49267178985391213, + 0.48203690249559816, + 0.4846713423507333, + 0.4936945286932884, + 0.48545311890957676, + 0.48766433969925504, + 0.4890518578499449, + 0.4757202121896209, + 0.48321307415748577, + 0.49118380254367366, + 0.4843818360451519, + 0.4881665076196463, + 0.4803557293082823, + 0.48753705280215803, + 0.48765752329883805, + 0.49646837821970863, + 0.4938671528207452, + 0.4837065844751715, + 0.4905321644268459, + 0.48856887338523114, + 0.47518521446541107, + 0.4848519363903429, + 0.48066458025391784, + 0.48715535112718367, + 0.4773631386097004, + 0.4927760064721119, + 0.484292836941874, + 0.48881514902445433, + 0.4855986152809248, + 0.48232279968145025, + 0.4806138395131229, + 0.4849443051400202, + 0.4883372142310647, + 0.4846379881919676, + 0.48246486884884043, + 0.47994436454083994, + 0.47561247184162914, + 0.4823817260007946, + 0.4839564304313544, + 0.479498220840469, + 0.4846132186897862, + 0.48966888737786246, + 0.48125003614246914, + 0.4759445856157017, + 0.4927079917607739, + 0.48468265473752853, + 0.49252573648854775, + 0.47718046644018086, + 0.4860175208760852, + 0.47756991284080297, + 0.4962797879931483, + 0.4864309743153358, + 0.4788349949241425, + 0.48302372921039405, + 0.48001878217272237, + 0.4770603063880993, + 0.4880634336465835, + 0.48488315345203303, + 0.48266551879245834, + 0.4832807041645746, + 0.4788782318769281, + 0.48173255185282465, + 0.49053174531906396, + 0.49015225176923877, + 0.4923866109989853, + 0.48930189823619574, + 0.486469323121303, + 0.47870970787799566, + 0.48214448898829415, + 0.4890337433506095, + 0.4773389079386413, + 0.49274613053947464, + 0.4727713915257131, + 0.47456378129406285, + 0.4783133081404537, + 0.48189044673085574, + 0.48359497901646936, + 0.48245548319593295, + 0.4836752089469817, + 0.4795492742945586, + 0.47678839421202707, + 0.4867503052932934, + 0.4826736206648849, + 0.48298573634427333, + 0.4868297453181459, + 0.4733589155633137, + 0.47170338413330265, + 0.47622778801056725, + 0.4804812669599743, + 0.47298614566315367, + 0.48894218466502715, + 0.4777428800498236, + 0.4846918874178979, + 0.48911703464922957, + 0.4819890944089415, + 0.4788331849818224, + 0.483555528301611, + 0.48098574208757694, + 0.48281701055708826, + 0.4899681123150288, + 0.4707461990281401, + 0.4701486361179366, + 0.4774666602550781, + 0.4823935269535918, + 0.48694518816949106, + 0.48607565905107747, + 0.4783212078471545, + 0.4771234713500388, + 0.47799495795562147, + 0.49257997276839316, + 0.4751069436834407, + 0.47791404077356836, + 0.4753284005185937, + 0.4771840981809501, + 0.47423976958807873, + 0.48741814051263865, + 0.48026981324249185, + 0.49414242526266655, + 0.48029291976091776, + 0.4813341095746237, + 0.4892255023054509, + 0.48060227214942225, + 0.4924211182690461, + 0.4771782480547042, + 0.483226751332895, + 0.4794532924158364, + 0.48560972571518857, + 0.4815772700022502, + 0.48363751298130814, + 0.4772843636897763, + 0.47973290263501234, + 0.48736463915921346, + 0.4785375683287899, + 0.4798561593360571, + 0.48151569328613086, + 0.4756745087215677, + 0.47739975859904776, + 0.472384479896906, + 0.4768180059302733, + 0.476799285828265, + 0.48649983292064036, + 0.4771537365102916, + 0.47821799818081334, + 0.4805745386500304, + 0.48682540025301163, + 0.4859467943623965, + 0.48327345171829694, + 0.481188445413732, + 0.4963074231799762, + 0.49050275532525955, + 0.4782317727804184, + 0.47474906957323987, + 0.4832802035324051, + 0.4728487888126668, + 0.48785978267656593, + 0.47700612383322366, + 0.4714566275844889, + 0.48162118995741726, + 0.4833849174228598, + 0.47902560863554117, + 0.48130018621015486, + 0.47462483241393916, + 0.4811230726317076, + 0.4844449408919023, + 0.47935079429186433, + 0.4789133861966723, + 0.49565125810591143, + 0.48306799295788955, + 0.4798763841355545, + 0.48326709147133157, + 0.47519379043011895, + 0.4900609996760298, + 0.4664806573026174, + 0.4725419570992039, + 0.4738265153017815, + 0.464337192554341, + 0.48002253213816, + 0.4784517535281996, + 0.4730226134724287, + 0.4760354228425737, + 0.48297924122700175, + 0.4777205676697363, + 0.47481382794745536, + 0.48293595311529264, + 0.4870438810328515, + 0.47389383703548776, + 0.4748243365453623, + 0.46820819040154477, + 0.47582628800188675, + 0.48961973849141194, + 0.4777126229274878, + 0.4797496637385563, + 0.47247668790717956, + 0.4753650009901409, + 0.4762037736111242, + 0.47424810823524394, + 0.47440806965425003, + 0.47944635652841616, + 0.47468535440794407, + 0.49361436347426646, + 0.4785580896430211, + 0.475361855766534, + 0.4779918798559671, + 0.4773348372339142, + 0.48035213718729386, + 0.48358091336242987, + 0.4791562821637525, + 0.4830274423079408, + 0.4850324399212476, + 0.48586596144049105, + 0.4832370014624889, + 0.47380667749556704, + 0.4733854270293321, + 0.47952581306355613, + 0.47921080637655883, + 0.47754959730327645, + 0.48481545140384696, + 0.4815421218265701, + 0.4823501866808055, + 0.47992344915653656, + 0.48184645826877825, + 0.4748506710095982, + 0.47495925002549044, + 0.48610022157944, + 0.4877268239871195, + 0.4744340422218217, + 0.4834334913182566, + 0.4745261532209634, + 0.47387732010817224, + 0.47138220087431526, + 0.4787509914765314, + 0.4778978453439952, + 0.4796450489406833, + 0.4762372958055888, + 0.48407415246257157, + 0.4795749798692, + 0.48343156735379117, + 0.4981141973410295, + 0.4875057749359038, + 0.4805399797140082, + 0.4632360488512968, + 0.4748682970200744, + 0.48048295931089724, + 0.4698924412551134, + 0.4835688687307993, + 0.5061826939698177, + 0.4809774468436904, + 0.48587451742524396, + 0.4758797676918933, + 0.4839818690986238, + 0.47179898685854244, + 0.47056088312697336, + 0.47962972305852536, + 0.49462001179962095, + 0.47937764055291976, + 0.4884460326403391, + 0.48436725757250293, + 0.475698243621849, + 0.4820659892655999, + 0.4728957564178686, + 0.4777416025242117, + 0.46957877756752836, + 0.47894416010660873, + 0.47807073273102707, + 0.4857025853728494, + 0.48488488182701106, + 0.47615562131802314, + 0.47435443416021833, + 0.47949568828124645, + 0.4940786999991305, + 0.47249763303770154, + 0.4815804418663814, + 0.47210360482175195, + 0.47745926812058315, + 0.48591910578879943, + 0.4774910231073196, + 0.4764559911171266, + 0.47221599082484933, + 0.47117595115875693, + 0.48343396225680474, + 0.47369755909943684, + 0.47688445352973047, + 0.4824885522136016, + 0.4772198853477084, + 0.48310248763370606, + 0.47771552582453736, + 0.465466388815408, + 0.4809716624966598, + 0.4763273820442327, + 0.481113146686876, + 0.47791154496091226, + 0.4755241613314734, + 0.46742366823782944, + 0.48980761250084426, + 0.47423283430973506, + 0.4850997677976153, + 0.4690320367184299, + 0.4839700851463208, + 0.4771542474375028, + 0.47511493376244407, + 0.4714394553328853, + 0.46382066777329445, + 0.4706182102546522, + 0.47270154698011296, + 0.47479606937639507, + 0.4808619645023045, + 0.477500239657154, + 0.4740890782152538, + 0.4723387288016615, + 0.4842588981965568, + 0.46690599705339464, + 0.4743022451795082, + 0.47350926562990847, + 0.4771599879524115, + 0.4780684295482092, + 0.47215327187525447, + 0.4714384786490104, + 0.48851254235052627, + 0.4758196678556115, + 0.48227069895722935, + 0.47295535125675703, + 0.4710396715315025, + 0.47502963346322574, + 0.4685734013682484, + 0.4659607910301469, + 0.48266220010791805, + 0.4646911419625114, + 0.4777780245584211, + 0.47999963627886927, + 0.48059688941649226, + 0.48186680849140834, + 0.4800888421154211, + 0.47175701949549054, + 0.48576555335936306, + 0.4816815757826644, + 0.48043307676474445, + 0.4725477617424744, + 0.47261017437811087, + 0.4824100848513863, + 0.4662954187741593, + 0.4724001468773595, + 0.47577208700219553, + 0.4664697255069637, + 0.4760120487582578, + 0.48067294879737926, + 0.47621548018090043, + 0.49281930691893605, + 0.4777113801507975, + 0.46396905364621577, + 0.47921442215229915, + 0.4805606395365244, + 0.47274502237321786, + 0.47434233231413886, + 0.47291867596048903, + 0.46943354279788896, + 0.46915170216809465, + 0.47643335817482724, + 0.47986411735982104, + 0.47516591518104684, + 0.4872475891193117, + 0.4743781966235803, + 0.4814142981517488, + 0.47867096052084296, + 0.4752659822760868, + 0.4690594775209495, + 0.47871657782577887, + 0.4809176800520081, + 0.48271099372811793, + 0.4729906381542671, + 0.473536436698478, + 0.47130231618466056, + 0.4794321959096299, + 0.4696574855626684, + 0.47203805161140727, + 0.4748812265138714, + 0.4758590606563018, + 0.4685950118975422, + 0.46717227352516594, + 0.471247383515373, + 0.4789403009562226, + 0.47850726410418365, + 0.47613042895541896, + 0.4759499847028806, + 0.47134790602224286, + 0.4674821581119245, + 0.472785393886285, + 0.4822344160982385, + 0.47700040313872477, + 0.48275961735038964, + 0.46840616362449905, + 0.46941900956451454, + 0.4768044904999278, + 0.47405595564723846, + 0.47704315245998685, + 0.48085831207397156, + 0.4854348216301212, + 0.47125026764185446, + 0.47700623310302914, + 0.4723836302512511, + 0.47395917146567657, + 0.4860126184077277, + 0.48725048059117926, + 0.47774269068697806, + 0.47452912118471036, + 0.4736329044091953, + 0.47779931249489715, + 0.4727837595631402, + 0.47284873169902936, + 0.480731802676939, + 0.46965201422242525, + 0.47904749181618106, + 0.47975313458984425, + 0.4806486976105742, + 0.47144584021396396, + 0.47899444121201185, + 0.478699724166093, + 0.48389394364196314, + 0.47083759905226213, + 0.47725510922911385, + 0.47117718117499546, + 0.4746451707779856, + 0.46855373380120835, + 0.4699761526040587, + 0.4652217021134839, + 0.4770840908665805, + 0.46826777479285936, + 0.4665046260392024, + 0.4710962166217246, + 0.4767665891134579, + 0.47205434831179094, + 0.4640124889605409, + 0.4696043276077933, + 0.472437956737893, + 0.4731230629041387, + 0.4679538788910708, + 0.48226730053029754, + 0.4708089968897907, + 0.4721265078893251, + 0.47002997195505236, + 0.47776394096800656, + 0.4707305068542889, + 0.4814894228306857, + 0.4804247078893942, + 0.468879595899629, + 0.4798405771943213, + 0.471221405402645, + 0.4793322318028771, + 0.4739239440784868, + 0.479865957262606, + 0.4735686798202693, + 0.478283517741169, + 0.48117842632963, + 0.4728773686535522, + 0.47437662542068276, + 0.48073814080394134, + 0.4706351903466373, + 0.4801485241388661, + 0.47276659781837005, + 0.47891393123427406, + 0.47928786536409373, + 0.4821127671580088, + 0.4753861981416009, + 0.48587478179111515, + 0.46670235189362375, + 0.47407895245263915, + 0.4847519428087735, + 0.46314065566381823, + 0.4677658731648025, + 0.4684926146421868, + 0.4729232695574328, + 0.4848134074828599, + 0.4728644322407578, + 0.4732742002430226, + 0.47869838046889013, + 0.4878080298104436, + 0.4769078253407918, + 0.47613552347574584, + 0.48087186171429186, + 0.4826840442796069, + 0.4828628904539643, + 0.4760778582330894, + 0.474467577003167, + 0.4636489712178752, + 0.46971991478678693, + 0.4818550793454752, + 0.4863734503083088, + 0.48050551120113266, + 0.4813102648799667, + 0.47447612394539485, + 0.4871263355093851, + 0.4762105557040861, + 0.4795927769786409, + 0.4744472524252193, + 0.47297487668033844, + 0.47402782935273263, + 0.47122736446312574, + 0.47628277002382147, + 0.48423693578968, + 0.47401738334910004, + 0.4754718452052449, + 0.4747537433279185, + 0.4741891477872752, + 0.4791406600067044, + 0.47511572403488234, + 0.48865966103469227, + 0.4757238314858728, + 0.4828233278155922, + 0.4716692813531866, + 0.46981646218589584, + 0.48480676073463164, + 0.4663969297579164, + 0.4722981916988445, + 0.46700274926772994, + 0.48616579374724844, + 0.47776096579492516, + 0.4779897873754142, + 0.4731820840072953, + 0.47469675657619914, + 0.4764971767525197, + 0.48411948952497075, + 0.46887314686809767, + 0.473509519732647, + 0.47570544100052353, + 0.4770087586710207, + 0.4732871036029825, + 0.46751123642778947, + 0.4763861954287929, + 0.47621171492928954, + 0.4756240484656076, + 0.4791298764961188, + 0.4777220339817275, + 0.48664004814317335, + 0.47828516566351686, + 0.4744922405400549, + 0.46714415305282875, + 0.47982695869854597, + 0.47105906451407104, + 0.47526673142481257, + 0.47475137551671387, + 0.4890823647315356, + 0.47631718193079875, + 0.4766354270823614, + 0.46665537578379174, + 0.4833934252053578, + 0.465888225354243, + 0.47585333217249576, + 0.46638412024658904, + 0.4654726363348225, + 0.4646973989599564, + 0.471501565999099, + 0.4766824369750782, + 0.4838174184944189, + 0.4664480802645144, + 0.4721803250975054, + 0.47085410430718844, + 0.4754184632234595, + 0.4746968967949478, + 0.46825828086668964, + 0.4641340367484793, + 0.47283395954073937, + 0.47200249842682246, + 0.47695342042057, + 0.4736773480846356, + 0.46770962709575015, + 0.46866692348344097, + 0.46862493735876254, + 0.4763386202639485, + 0.4703396675548606, + 0.4746965110296361, + 0.4745636903912289, + 0.4802012308079929, + 0.47790167151097523, + 0.4714036065431491, + 0.48208711529431125, + 0.46868539044664365, + 0.46204606912250307, + 0.46481839161091315, + 0.47080179254548254, + 0.4633029741319233, + 0.4725895823513898, + 0.47030237846704853, + 0.46183742076742, + 0.47798876670197615, + 0.46789337682442356, + 0.46915650516131285, + 0.46592355872846647, + 0.4649705174021389, + 0.4801315850555807, + 0.4789180353659777, + 0.47183885189833635, + 0.4589896618777112, + 0.47314725495196025, + 0.4692754228431058, + 0.46814621009734875, + 0.46815608421351806, + 0.47556992448622315, + 0.47726656466579426, + 0.4775379544284604, + 0.46471980726486634, + 0.46989140146641983, + 0.4752293193985635, + 0.47907172168074846, + 0.47348126928120043, + 0.46802920418586696, + 0.4799724268553083, + 0.48320022536755863, + 0.4783504520930737, + 0.47165849748125765, + 0.47938962609939145, + 0.4781869563964162, + 0.47847239218136095, + 0.47830165162996713, + 0.46890958290089885, + 0.4737508478483286, + 0.46896071423754004, + 0.4642496671631416, + 0.4675695878383072, + 0.4717572914507992, + 0.4715872627222933, + 0.47046069457919437, + 0.4726278779022564, + 0.4708895963905604, + 0.4678205161282501, + 0.4679031399448952, + 0.4741761340228111, + 0.47209579089981873, + 0.4765619796711996, + 0.47423509466503916, + 0.4745075501956001, + 0.45669017427499936, + 0.46189981242094796, + 0.47572428437303305, + 0.4591457913419322, + 0.47142055525980237, + 0.47067277242656774, + 0.472927166979356, + 0.47352051571802606, + 0.47601425100583583, + 0.46388669155540885, + 0.4751758272675461, + 0.4707486356849816, + 0.4800880432250932, + 0.46812302278949464, + 0.4787721252812252, + 0.47962410471062683, + 0.4704621240457363, + 0.46206276290573134, + 0.47076441391815815, + 0.46516725164978395, + 0.47773684561252594, + 0.45347555068213524, + 0.46211424991011574, + 0.47445132304719334, + 0.46249434273165413, + 0.46957999961352515, + 0.47289607396450295, + 0.4700207000693688, + 0.4656627872735767, + 0.4720178058795934, + 0.4690912934202499, + 0.47854288695211783, + 0.4748419014241193, + 0.474639991619512, + 0.4722345873828506, + 0.46931248983783447, + 0.46278049347323297, + 0.48065375082239686, + 0.47071822315835987, + 0.46982385502870094, + 0.4648478031284681, + 0.4715201666084937, + 0.4705421907395259, + 0.47924435160828316, + 0.469115055442496, + 0.4708251550720713, + 0.46949863911666684, + 0.469820184506201, + 0.47530081822061404, + 0.46426700715519803, + 0.4595338419565078, + 0.47331348164371745, + 0.4681720830905476, + 0.4726867208535031, + 0.47244021350641296, + 0.46988653167745614, + 0.47458137818738394, + 0.4735213685093492, + 0.4684778181597568, + 0.4742507878143946, + 0.47146191938390325, + 0.470507452370324, + 0.47785002802616455, + 0.4808610844361338, + 0.4770737439043349, + 0.47141418878321467, + 0.4712628966703357, + 0.47583235272189534, + 0.4778251611551898, + 0.46739431221286365, + 0.4711240431916597, + 0.4696582616902944, + 0.47039134490671175, + 0.47327304066787196, + 0.4716030882337658, + 0.47357088928910374, + 0.4612371164082314, + 0.4691989058264004, + 0.4688639009591607, + 0.4740104937171339, + 0.46344533331793203, + 0.4637428565909497, + 0.47118677191733643, + 0.4672907913841464, + 0.4690867560064976, + 0.4701561574131273, + 0.4639488561808255, + 0.46927771339170543, + 0.48565535842586893, + 0.4748522865961878, + 0.46277029408073245, + 0.4732959115336346, + 0.4720539143617568, + 0.47533520963323495, + 0.4766898023522829, + 0.4639039769409651, + 0.4701162212695197, + 0.46776925599663965, + 0.482320315575021, + 0.477813287492258, + 0.468034369470755, + 0.47399711458528615, + 0.4742619170290446, + 0.4725060768867983, + 0.4722522571668904, + 0.4762253511829599, + 0.4644538034174412, + 0.46799897980113253, + 0.4657063696926869, + 0.48103888395934224, + 0.47321502783290864, + 0.4730447066291404, + 0.4780846834014428, + 0.4845885154692995, + 0.46891907253442894, + 0.470431985067069, + 0.4825457474009936, + 0.4676582977682049, + 0.47105968955354427, + 0.4638104098210818, + 0.47388675889134946, + 0.46635053363202295, + 0.4626078978727897, + 0.4695965511112822, + 0.46861228592559157, + 0.46710100356652123, + 0.46149448890951517, + 0.4746724735883749, + 0.46502148517525294, + 0.465532060878082, + 0.46281114088494824, + 0.4771657155753753, + 0.4714062799705215, + 0.470309186227485, + 0.471982842183627, + 0.46920864362163045, + 0.4686376650029434, + 0.47021709898408187, + 0.4655537677000288, + 0.4654570900896811, + 0.4674022617835428, + 0.47643309290358143, + 0.47735606877084863, + 0.4639045963616458, + 0.46927702510505015, + 0.46898771058459465, + 0.4668361263886846, + 0.4672014631994745, + 0.4847974796873778, + 0.4757118514593107, + 0.4721448087815128, + 0.46841188529730743, + 0.4711015033202543, + 0.4698429165133808, + 0.4710215807630097, + 0.4652868519131801, + 0.46368105307429, + 0.4673253066560074, + 0.47318680995951845, + 0.4703491355218162, + 0.4748102790831745, + 0.46749880847644554, + 0.46823330106654104, + 0.4695196637816458, + 0.4704607444021469, + 0.4731094700562016, + 0.4700939243502287, + 0.47558060992636764, + 0.47448401116339645, + 0.4749826185450137, + 0.4607110877608297, + 0.4634606615276951, + 0.4695911252196508, + 0.4822865719935038, + 0.4762937152387956, + 0.4714174154431963, + 0.47088489140852363, + 0.4728501746641382, + 0.4740831063269092, + 0.46048008814679897, + 0.4658762642143137, + 0.4687036424692922, + 0.4655734471246005, + 0.47050948936214493, + 0.46913658931054714, + 0.46402264327436393, + 0.46704447370847263, + 0.48049847323851413, + 0.4718017366445477, + 0.4722048555338104, + 0.47065503485655097, + 0.47315245338944234, + 0.4729032761449589, + 0.47394236146489227, + 0.4689716149369782, + 0.476411760938971, + 0.4666353289713993, + 0.4667232572949626, + 0.4685967557098231, + 0.48149630997094317, + 0.4730776212741312, + 0.4781142213979332, + 0.47247854362561714, + 0.476950479143633, + 0.471324893274956, + 0.466817925297038, + 0.4744175319806729, + 0.4672617317410186, + 0.47958963539967514, + 0.4705054654279746, + 0.4667318845469314, + 0.4689858705520697, + 0.47145205950967584, + 0.46901598830492774, + 0.4619097359982005, + 0.4720054496267631, + 0.4689001076011806, + 0.46696115380464437, + 0.47670357166340643, + 0.46425980697975056, + 0.463036946048371, + 0.4625298110592875, + 0.472319620244867, + 0.4689707577295871, + 0.4668497174854828, + 0.47555847994349226, + 0.48123288313375717, + 0.47531234925729926, + 0.4715112319864131, + 0.4801633610049647, + 0.4700973186447672, + 0.46387958700603144, + 0.4623531725693141, + 0.45876937631516945, + 0.46896661143484863, + 0.46684570034968675, + 0.46475144829572995, + 0.4691715747782826, + 0.4662307414236052, + 0.46571069120370545, + 0.4630350301698613, + 0.4605163485008146 + ], + "best_epoch": 620 +} \ No newline at end of file diff --git a/results/model_media/model_stats.csv b/results/model_media/model_stats.csv index fbc108d9..5c425f51 100644 --- a/results/model_media/model_stats.csv +++ b/results/model_media/model_stats.csv @@ -21,3 +21,8 @@ DGM_kibaD_nomsaF_af2E_128B_0.0001LR_0.4D_2000E,0.7421544771099204,0.732030831449 DGM_davisD_nomsaF_af2E_64B_0.0001LR_0.4D_2000E,0.8371815910480507,0.7268638307639713,0.6356548295003425,0.4133190204335282,0.3667126292760789,0.642898919297216 EDIM_PDBbindD_nomsaF_anmE_32B_0.0001LR_0.4D_2000E_originalLF_binaryLE,0.6929249918113332,0.5373233573074141,0.5551808770122657,2.6186518594530783,1.258185145017263,1.6182249100335462 EDIM_PDBbindD_nomsaF_anmE_64B_0.0001LR_0.4D_2000E_originalLF_binaryLE,0.6904623260666497,0.5184772560303198,0.5502737601079014,2.8358724195646863,1.322164628956769,1.6840048751606054 +DGM_davis4D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8372000580825498,0.7097254405448715,0.6167136172064404,0.4038543732328936,0.3597778618417262,0.6354953762482412 +DGM_davis1D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8259045903365158,0.6727098716351115,0.5969862332191551,0.4777166877928197,0.3703959785636244,0.6911705200547978 +DGM_davis3D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.842545467746034,0.7168413490003224,0.623085263864242,0.4159492493391408,0.3558861870119901,0.6449412758842008 +DGM_davis2D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8219248012487749,0.6776357016678246,0.5900163003204868,0.4347317921133404,0.368497045519577,0.6593419386883717 +DGM_davis0D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8118490670490435,0.681294197609124,0.5718484991508404,0.42935783222492513,0.35005875178466256,0.6552540211436517 diff --git a/results/model_media/model_stats_val.csv b/results/model_media/model_stats_val.csv index e69de29b..f59dc6c7 100644 --- a/results/model_media/model_stats_val.csv +++ b/results/model_media/model_stats_val.csv @@ -0,0 +1,6 @@ +run,cindex,pearson,spearman,mse,mae,rmse +DGM_davis4D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8283315494528303,0.7069918172461128,0.6043805206997321,0.4413566391511215,0.3769707157421256,0.6643467762781133 +DGM_davis0D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8124934102025569,0.6909827817401493,0.5899715229081308,0.4697099884212956,0.3777247017505122,0.6853539147194649 +DGM_davis3D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8195586154273969,0.717774769130841,0.5720718176514452,0.3657891513377326,0.3382081135692242,0.6048050523414406 +DGM_davis2D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.8233405467261639,0.7040322378359025,0.5687852322102779,0.3543421502907676,0.3433588875976263,0.5952664531877868 +DGM_davis1D_nomsaF_binaryE_64B_0.0001LR_0.4D_2000E,0.82715800662027,0.7083018179748569,0.6132060396459778,0.4895027135441312,0.3843769813986386,0.699644705221251 From 8e327b6f51c05c39e2287490609f3b2839b8a58b Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Thu, 2 Nov 2023 11:12:03 -0400 Subject: [PATCH 17/43] fix: backwards compatibility with no ligand change This is an issue since newer models with no ligand change might be called differently although they are the same model! Need to unify the naming across all usage of ligand features and edge options --- src/data_processing/datasets.py | 2 ++ src/utils/config.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/data_processing/datasets.py b/src/data_processing/datasets.py index 79ac6ad2..2cfb9dc9 100644 --- a/src/data_processing/datasets.py +++ b/src/data_processing/datasets.py @@ -115,6 +115,8 @@ def __init__(self, save_root:str, data_root:str, aln_dir:str, self.edge_opt = edge_opt # check ligand options: + ligand_feature = ligand_feature or 'original' + ligand_edge = ligand_edge or 'binary' assert ligand_feature in self.LIGAND_FEATURE_OPTIONS, \ f"Invalid ligand_feature '{ligand_feature}', choose from {self.LIGAND_FEATURE_OPTIONS}" self.ligand_feature = ligand_feature diff --git a/src/utils/config.py b/src/utils/config.py index 174e3b31..543919d3 100644 --- a/src/utils/config.py +++ b/src/utils/config.py @@ -12,8 +12,8 @@ EDGE_OPT = ['simple', 'binary'] + STRUCT_EDGE_OPT PRO_FEAT_OPT = ['nomsa', 'msa', 'shannon'] -LIG_FEAT_OPT = ['original'] -LIG_EDGE_OPT = ['binary'] +LIG_FEAT_OPT = [None, 'original'] +LIG_EDGE_OPT = [None, 'binary'] DATA_OPT = ['davis', 'kiba', 'PDBbind'] From 46974c9ab4fca13fbe13a5f718d1a3c3aba45dac Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Thu, 2 Nov 2023 11:13:09 -0400 Subject: [PATCH 18/43] fix: added `slurm_out_DDP` to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 012e5965..344d076f 100644 --- a/.gitignore +++ b/.gitignore @@ -208,5 +208,6 @@ lib/mgltools_x86_64Linux2_1.5.7p1.tar.gz log_test/ slurm_tests/ +slurm_out_DDP/ /*.sh results/model_checkpoints/ours/*.model* From 7f24ec2a95bbc2becd74307e2aac992325952f88 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 27 Oct 2023 10:55:48 -0400 Subject: [PATCH 19/43] chemgpt automodel and tokenizer --- src/models/lig_mod.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index ac937fad..356a3247 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -1,6 +1,12 @@ +import os +# for huggingface models: +os.environ['TRANSFORMERS_CACHE'] = '../hf_models/' + from torch import nn from torch_geometric.nn import (GCNConv, global_mean_pool as gep) +from transformers import AutoTokenizer, AutoModel + from src.models.prior_work import DGraphDTA class DGraphDTALigand(DGraphDTA): @@ -10,6 +16,11 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 print('DGraphDTA Loaded') num_features_mol = 78 + #### ChemGPT #### + + tokenizer = AutoTokenizer.from_pretrained("ncfrey/ChemGPT-4.7M") + model = AutoModel.from_pretrained("ncfrey/ChemGPT-4.7M") + # if ligand_feature == 'some new feature list': # num_features_mol = updated number From 2a12e2bf7d0639669f8cdb1f805d34abc1f674ee Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 27 Oct 2023 11:18:43 -0400 Subject: [PATCH 20/43] Added tokenizer and model to playground --- playground.py | 25 ++++++++++++++++--------- src/models/lig_mod.py | 4 ---- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/playground.py b/playground.py index 1cf7d005..fc14e957 100644 --- a/playground.py +++ b/playground.py @@ -1,12 +1,19 @@ -# %% Creating Data folds for Davis -from src.data_processing.init_dataset import create_datasets +# %% +from src.data_analysis.figures import prepare_df, fig3_edge_feat +from src.utils import config + +from transformers import AutoTokenizer, AutoModel -create_datasets( - data_opt=['davis'], - feat_opt=['nomsa'], - edge_opt=['binary'], - pro_overlap=False, - k_folds=5 -) + +df = prepare_df('results/model_media/model_stats.csv') # %% +fig3_edge_feat(df, show=True, exclude=[]) + +# %% +print('test') + +#### ChemGPT #### + +tokenizer = AutoTokenizer.from_pretrained("ncfrey/ChemGPT-4.7M") +model = AutoModel.from_pretrained("ncfrey/ChemGPT-4.7M") \ No newline at end of file diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 356a3247..e0bdb006 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -1,7 +1,3 @@ -import os -# for huggingface models: -os.environ['TRANSFORMERS_CACHE'] = '../hf_models/' - from torch import nn from torch_geometric.nn import (GCNConv, global_mean_pool as gep) From 8bf6ecbaa8d5bee7bb771b2b77435ab5871a9859 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Thu, 2 Nov 2023 11:13:09 -0400 Subject: [PATCH 21/43] fix: added `slurm_out_DDP` to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2b2946a7..344d076f 100644 --- a/.gitignore +++ b/.gitignore @@ -207,6 +207,7 @@ lib/mgltools_x86_64Linux2_1.5.7/MGLToolsPckgs/AutoDockTools/Utilities24/* lib/mgltools_x86_64Linux2_1.5.7p1.tar.gz log_test/ +slurm_tests/ slurm_out_DDP/ /*.sh results/model_checkpoints/ours/*.model* From 438b45e3a2d2cb9c42d9072c413e963d2027730a Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 12:16:45 -0400 Subject: [PATCH 22/43] changed num_features_mol --- src/models/lig_mod.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index e0bdb006..1181eaab 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -10,7 +10,7 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 super(DGraphDTA, self).__init__(*args, **kwargs) print('DGraphDTA Loaded') - num_features_mol = 78 + num_features_mol = 128 #### ChemGPT #### From 35a705626519d82847e34bc13faf291aa5c0110c Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 12:34:02 -0400 Subject: [PATCH 23/43] modified forward_mol for chemGPT --- src/models/lig_mod.py | 44 +++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 1181eaab..02a8633e 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -1,7 +1,9 @@ +import torch from torch import nn from torch_geometric.nn import (GCNConv, global_mean_pool as gep) from transformers import AutoTokenizer, AutoModel +from selfies import encoder from src.models.prior_work import DGraphDTA @@ -27,24 +29,26 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 self.mol_fc_g2 = nn.Linear(1024, output_dim) def forward_mol(self, data_mol): - # get graph input - mol_x, mol_edge_index, mol_batch = data_mol.x, data_mol.edge_index, data_mol.batch - - x = self.mol_conv1(mol_x, mol_edge_index) - x = self.relu(x) - - # mol_edge_index, _ = dropout_adj(mol_edge_index, training=self.training) - x = self.mol_conv2(x, mol_edge_index) - x = self.relu(x) - - # mol_edge_index, _ = dropout_adj(mol_edge_index, training=self.training) - x = self.mol_conv3(x, mol_edge_index) - x = self.relu(x) - x = gep(x, mol_batch) # global pooling - - # flatten - x = self.relu(self.mol_fc_g1(x)) - x = self.dropout(x) - x = self.mol_fc_g2(x) - x = self.dropout(x) + # get smiles list input + mol_x = data_mol.x + + # get tokenizer and model + tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + + # get selifes from smile + selfies = [encoder(s) for s in mol_x] + + # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token + tokenizer.add_special_tokens({'pad_token': '[PAD]'}) + + # get tokens + res = tokenizer(selfies, return_tensors="pt", padding=True) + + # model + model_output = model(**res).last_hidden_state + + # flatten to [L, 128] + x = torch.mean(model_output, dim=1) + return x \ No newline at end of file From dbf2c9cdab4dd22597d6e6f4a1bdd4a7a024bd11 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 14:08:21 -0400 Subject: [PATCH 24/43] moved model tokenizer selfies to __inti__ --- src/models/__init__.py | 13 ++++++++++--- src/models/lig_mod.py | 20 +++++++------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/models/__init__.py b/src/models/__init__.py index e20e89a3..8b8000a2 100644 --- a/src/models/__init__.py +++ b/src/models/__init__.py @@ -13,10 +13,17 @@ def display_models(): print('device:', device) for data in ['davis', 'kiba']: - model_file_name = f'results/model_checkpoints/prior_work/DGraphDTA_{data}_t2.model' - model = DGraphDTA() - model.to(device) + # get tokenizer and model + tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + # get selifes from smile + selfies = [encoder(s) for s in data] + + # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token + tokenizer.add_special_tokens({'pad_token': '[PAD]'}) + + # stuff that was here before cp = torch.load(model_file_name, map_location=device) # loading checkpoint model.safe_load_state_dict(cp) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 02a8633e..89d46b39 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -32,23 +32,17 @@ def forward_mol(self, data_mol): # get smiles list input mol_x = data_mol.x - # get tokenizer and model - tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) - model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) - - # get selifes from smile - selfies = [encoder(s) for s in mol_x] - - # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token - tokenizer.add_special_tokens({'pad_token': '[PAD]'}) - # get tokens - res = tokenizer(selfies, return_tensors="pt", padding=True) + res = self.tokenizer(selfies, return_tensors="pt", padding=True) # model - model_output = model(**res).last_hidden_state + model_output = self.model(**res).last_hidden_state # flatten to [L, 128] x = torch.mean(model_output, dim=1) - + + x = self.relu(self.mol_fc_g1(x)) + x = self.dropout(x) + x = self.mol_fc_g2(x) + x = self.dropout(x) return x \ No newline at end of file From 9ae46c90fc13940ec14e7e354479e09b163565d3 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 14:19:08 -0400 Subject: [PATCH 25/43] Revert "moved model tokenizer selfies to __inti__" This reverts commit dbf2c9cdab4dd22597d6e6f4a1bdd4a7a024bd11. --- src/models/__init__.py | 13 +++---------- src/models/lig_mod.py | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/models/__init__.py b/src/models/__init__.py index 8b8000a2..e20e89a3 100644 --- a/src/models/__init__.py +++ b/src/models/__init__.py @@ -13,17 +13,10 @@ def display_models(): print('device:', device) for data in ['davis', 'kiba']: - # get tokenizer and model - tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) - model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + model_file_name = f'results/model_checkpoints/prior_work/DGraphDTA_{data}_t2.model' + model = DGraphDTA() + model.to(device) - # get selifes from smile - selfies = [encoder(s) for s in data] - - # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token - tokenizer.add_special_tokens({'pad_token': '[PAD]'}) - - # stuff that was here before cp = torch.load(model_file_name, map_location=device) # loading checkpoint model.safe_load_state_dict(cp) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 89d46b39..02a8633e 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -32,17 +32,23 @@ def forward_mol(self, data_mol): # get smiles list input mol_x = data_mol.x + # get tokenizer and model + tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + + # get selifes from smile + selfies = [encoder(s) for s in mol_x] + + # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token + tokenizer.add_special_tokens({'pad_token': '[PAD]'}) + # get tokens - res = self.tokenizer(selfies, return_tensors="pt", padding=True) + res = tokenizer(selfies, return_tensors="pt", padding=True) # model - model_output = self.model(**res).last_hidden_state + model_output = model(**res).last_hidden_state # flatten to [L, 128] x = torch.mean(model_output, dim=1) - - x = self.relu(self.mol_fc_g1(x)) - x = self.dropout(x) - x = self.mol_fc_g2(x) - x = self.dropout(x) + return x \ No newline at end of file From b3d0bf0f0696d66976fe40d92e56643a7de6ddb3 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Thu, 2 Nov 2023 14:42:49 -0400 Subject: [PATCH 26/43] perf: dataset anm creation --- src/data_processing/datasets.py | 16 ++++--- src/feature_extraction/protein_edges.py | 61 +++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 6 deletions(-) diff --git a/src/data_processing/datasets.py b/src/data_processing/datasets.py index 2cfb9dc9..6dba0ee1 100644 --- a/src/data_processing/datasets.py +++ b/src/data_processing/datasets.py @@ -166,7 +166,6 @@ def edgew_p(self, code) -> str: return os.path.join(dirname, f'{code}.npy') def af_conf_files(self, code) -> list[str]: - if 'af2' not in self.edge_opt: return [] # removing () from string since file names cannot include them and localcolabfold replaces them with _ code = re.sub(r'[()]', '_', code) # localcolabfold has 'unrelaxed' as the first part after the code/ID. @@ -312,11 +311,13 @@ def process(self): if self.only_download: return - if not os.path.isfile(self.processed_paths[0]): - self.df = self.pre_process() - else: + # checking for XY.csv + if (os.path.isfile(self.processed_paths[0]) and # file exists + not (os.path.getsize(self.processed_paths[0]) <= 50)): # and is not empty self.df = pd.read_csv(self.processed_paths[0], index_col=0) print(f'{self.processed_paths[0]} file found, using it to create the dataset') + else: + self.df = self.pre_process() self.df = self.filter_pro_len(self.df, self.max_seq_len) print(f'Number of codes: {len(self.df)}') @@ -340,9 +341,10 @@ def process(self): pro_feat = torch.cat((pro_feat, torch.Tensor(extra_feat)), axis=1) + # for perf we only search for them if need be if 'af2' in self.edge_opt: af_confs = self.af_conf_files(code) - else: + else: af_confs = None # Check to see if edge weights already generated: @@ -589,7 +591,7 @@ def pdb_p(self, code, safe=True): code = re.sub(r'[()]', '_', code) # davis and kiba dont have their own structures so this must be made using # af or some other method beforehand. - if 'af2' not in self.edge_opt: return None + if self.edge_opt not in cfg.STRUCT_EDGE_OPT: return None file = glob(os.path.join(self.af_conf_dir, f'highQ/{code}_unrelaxed_rank_001*.pdb')) # should only be one file @@ -733,6 +735,8 @@ def pre_process(self): lig_r = [r for i,r in enumerate(lig_r) if codes[prot_c[i]] not in invalid_codes] prot_c = [c for c in prot_c if codes[c] not in invalid_codes] + assert len(prot_c) > 10, f"Not enough proteins in dataset, {len(prot_c)} total." + # creating binding dataframe: # code,SMILE,pkd,prot_seq df = pd.DataFrame({ diff --git a/src/feature_extraction/protein_edges.py b/src/feature_extraction/protein_edges.py index 1024f5c0..23f910f8 100644 --- a/src/feature_extraction/protein_edges.py +++ b/src/feature_extraction/protein_edges.py @@ -233,6 +233,7 @@ def get_target_edge_weights(pdb_fp:str, target_seq:str, edge_opt:str, # treat all edges as the same if no confirmations are found return np.ones(shape=(len(target_seq), len(target_seq))) else: + # NOTE: af2-anm gets run here: ew = get_af_edge_weights(chains=chains, anm_cc=('anm' in edge_opt)) assert len(ew) == len(target_seq), f'Mismatch sequence length for {pdb_fp}' return ew @@ -301,3 +302,63 @@ def pdb_p(code, safe=True): n_modes=5, n_cpu=4, af_confs=af_confs) np.save(out_fp, pro_edge_weight) + + ################################ ANM VERSION IS PRETTY MUCH THE SAME: + # for multiprocessing across multiple job arrays + from tqdm import tqdm + import pandas as pd + import numpy as np + import os, re + + from glob import glob + from src.data_processing.datasets import BaseDataset + from src.feature_extraction.protein_edges import get_target_edge_weights + + data = 'davis' + edgew = 'anm' + data_dir = '/cluster/home/t122995uhn/projects/data/' + csv = f'{data_dir}/DavisKibaDataset/davis/nomsa_anm_original_binary/full/XY.csv' + raw_dir = f'{data_dir}/{data}/' + af_conf_dir = f'../colabfold/{data}_af2_out/' + + def pdb_p(code, safe=True): + code = re.sub(r'[()]', '_', code) + # davis and kiba dont have their own structures so this must be made using + # af or some other method beforehand. + file = glob(os.path.join(af_conf_dir, f'highQ/{code}_unrelaxed_rank_001*.pdb')) + # should only be one file + assert not safe or len(file) == 1, f'Incorrect pdb pathing, {len(file)}# of structures for {code}.' + return file[0] if len(file) >= 1 else None + + + # Get protein names: + df = pd.read_csv(csv, index_col=0) + unique_df = BaseDataset.get_unique_prots(df) + + #%%## Get job partition ### + num_arrays = 140 # NOTE: number of ARRAYS HERE + array_idx = 46#${SLURM_ARRAY_TASK_ID} + partition_size = len(unique_df) / num_arrays + start, end = int(array_idx*partition_size), int((array_idx+1)*partition_size) + + unique_df_part = unique_df[start:end] + + print(unique_df_part.index) + + #%%### Run anm simulation ### + np_dir = os.path.join(raw_dir, 'edge_weights', 'anm') + os.makedirs(np_dir, exist_ok=True) + + # running + for code, (prot_id, pro_seq) in tqdm( + unique_df_part[['prot_id', 'prot_seq']].iterrows(), + desc='Running edgw', + total=len(unique_df_part)): + out_fp = os.path.join(np_dir, f"{code}.npy") + + if not os.path.isfile(out_fp): + pro_edge_weight = get_target_edge_weights(pdb_p(code), pro_seq, + edge_opt='anm', + n_modes=5, n_cpu=4) + np.save(out_fp, pro_edge_weight) + From 7da5695783b732b6668f05e23b4e0b0e12a0756e Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 14:44:23 -0400 Subject: [PATCH 27/43] moved model/tokenizer to init, add chemGPT option --- src/models/lig_mod.py | 23 ++++++++++++++--------- src/utils/config.py | 2 +- src/utils/loader.py | 2 +- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 02a8633e..8bfd3853 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -16,8 +16,12 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 #### ChemGPT #### - tokenizer = AutoTokenizer.from_pretrained("ncfrey/ChemGPT-4.7M") - model = AutoModel.from_pretrained("ncfrey/ChemGPT-4.7M") + # get tokenizer and model + self.tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + self.model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + + # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token + self.tokenizer.add_special_tokens({'pad_token': '[PAD]'}) # if ligand_feature == 'some new feature list': # num_features_mol = updated number @@ -32,23 +36,24 @@ def forward_mol(self, data_mol): # get smiles list input mol_x = data_mol.x - # get tokenizer and model - tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) - model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + # get selifes from smile selfies = [encoder(s) for s in mol_x] - # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token - tokenizer.add_special_tokens({'pad_token': '[PAD]'}) + # get tokens - res = tokenizer(selfies, return_tensors="pt", padding=True) + res = self.tokenizer(selfies, return_tensors="pt", padding=True) # model - model_output = model(**res).last_hidden_state + model_output = self.model(**res).last_hidden_state # flatten to [L, 128] x = torch.mean(model_output, dim=1) + x = self.relu(self.mol_fc_g1(x)) + x = self.dropout(x) + x = self.mol_fc_g2(x) + x = self.dropout(x) return x \ No newline at end of file diff --git a/src/utils/config.py b/src/utils/config.py index 543919d3..e2c20eff 100644 --- a/src/utils/config.py +++ b/src/utils/config.py @@ -12,7 +12,7 @@ EDGE_OPT = ['simple', 'binary'] + STRUCT_EDGE_OPT PRO_FEAT_OPT = ['nomsa', 'msa', 'shannon'] -LIG_FEAT_OPT = [None, 'original'] +LIG_FEAT_OPT = [None, 'original', 'chemGPT'] LIG_EDGE_OPT = [None, 'binary'] DATA_OPT = ['davis', 'kiba', 'PDBbind'] diff --git a/src/utils/loader.py b/src/utils/loader.py index 58e3bef5..f8e49ba1 100644 --- a/src/utils/loader.py +++ b/src/utils/loader.py @@ -59,7 +59,7 @@ def init_model(model:str, pro_feature:str, edge:str, dropout:float, ligand_featu (ligand_edge is not None and ligand_edge != 'binary'): print('WARNING: currently no support for combining pro and lig modifications, using original pro features.') #TODO: add support for above. - return DGraphDTALigand(ligand_feature, ligand_edge) + return DGraphDTALigand(ligand_feature, ligand_edge, dropout=dropout) if model == 'DG': model = DGraphDTA(num_features_pro=num_feat_pro, From 5aa5a8a0c6c8ea4bcff38ee68202252f43a7eb0f Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 15:30:18 -0400 Subject: [PATCH 28/43] passed options for pr_feat and edge_weight_opt --- src/models/lig_mod.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 8bfd3853..d8d5e11d 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -9,7 +9,7 @@ class DGraphDTALigand(DGraphDTA): def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128, *args, **kwargs): - super(DGraphDTA, self).__init__(*args, **kwargs) + super(DGraphDTA, self).__init__(pro_feat=None, edge_weight_opt='binary', *args, **kwargs) print('DGraphDTA Loaded') num_features_mol = 128 From 0da826de20d0fb880009b43efa33176750d4225d Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 15:42:41 -0400 Subject: [PATCH 29/43] removed dropout from loader --- src/utils/loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/loader.py b/src/utils/loader.py index f8e49ba1..58e3bef5 100644 --- a/src/utils/loader.py +++ b/src/utils/loader.py @@ -59,7 +59,7 @@ def init_model(model:str, pro_feature:str, edge:str, dropout:float, ligand_featu (ligand_edge is not None and ligand_edge != 'binary'): print('WARNING: currently no support for combining pro and lig modifications, using original pro features.') #TODO: add support for above. - return DGraphDTALigand(ligand_feature, ligand_edge, dropout=dropout) + return DGraphDTALigand(ligand_feature, ligand_edge) if model == 'DG': model = DGraphDTA(num_features_pro=num_feat_pro, From 33ad92701382db16ebcfffda7fc3dd22390b7386 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 15:52:30 -0400 Subject: [PATCH 30/43] added try, except --- src/models/lig_mod.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index d8d5e11d..9278bacc 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -38,10 +38,15 @@ def forward_mol(self, data_mol): - # get selifes from smile - selfies = [encoder(s) for s in mol_x] - + + try: + # get selifes from smile + selfies = [encoder(s) for s in mol_x] + except AttributeError as e: + print(mol_x) + raise e + # get tokens res = self.tokenizer(selfies, return_tensors="pt", padding=True) From 49546f4de6b62e1f0cf04d1b4dc4739be60a5f1c Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 15:58:00 -0400 Subject: [PATCH 31/43] changed .x to .lig_seq --- src/models/lig_mod.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 9278bacc..94373224 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -34,7 +34,7 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 def forward_mol(self, data_mol): # get smiles list input - mol_x = data_mol.x + mol_x = data_mol.lig_seq From b5ca2308f3e32790f0264e0ace5ed5e83d0af0be Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 16:06:26 -0400 Subject: [PATCH 32/43] added to data_mol.x.device --- src/models/lig_mod.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 94373224..b229c17a 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -51,6 +51,9 @@ def forward_mol(self, data_mol): # get tokens res = self.tokenizer(selfies, return_tensors="pt", padding=True) + res['input_ids'] = res['input_ids'].to(data_mol.x.device) + res['attention_mask'] = res['attention_mask'].to(data_mol.x.device) + # model model_output = self.model(**res).last_hidden_state From 9d4232ca0684faa023e126041199eab69b581621 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 16:17:12 -0400 Subject: [PATCH 33/43] print device --- src/models/lig_mod.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index b229c17a..6b28512c 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -20,6 +20,8 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 self.tokenizer = AutoTokenizer.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) self.model = AutoModel.from_pretrained("../hf_models/models--ncfrey--ChemGPT-4.7M/snapshots/7438a282460b3038e17a27e25b85b1376e9a23e2/", local_files_only=True) + self.model.requires_grad_(False) # freeze weights + # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token self.tokenizer.add_special_tokens({'pad_token': '[PAD]'}) @@ -36,9 +38,7 @@ def forward_mol(self, data_mol): # get smiles list input mol_x = data_mol.lig_seq - - - + print(data_mol.x.device, self.model.device) try: # get selifes from smile From 3eefc8a8f77392eb202c220103216c97b5e596ba Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 16:28:57 -0400 Subject: [PATCH 34/43] token_type_ids to device --- src/models/lig_mod.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 6b28512c..b73b9f58 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -53,6 +53,7 @@ def forward_mol(self, data_mol): res['input_ids'] = res['input_ids'].to(data_mol.x.device) res['attention_mask'] = res['attention_mask'].to(data_mol.x.device) + res['token_type_ids'] = res['token_type_ids'].to(data_mol.x.device) # model model_output = self.model(**res).last_hidden_state From 2710631289798164648cea0f7ce4cd01202ff526 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Thu, 2 Nov 2023 16:35:04 -0400 Subject: [PATCH 35/43] defined relu --- src/models/lig_mod.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index b73b9f58..21f9a648 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -25,6 +25,8 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token self.tokenizer.add_special_tokens({'pad_token': '[PAD]'}) + self.relu = nn.ReLU() + # if ligand_feature == 'some new feature list': # num_features_mol = updated number From 18aeee02d91fa8c9a3aa2def6d9f4cf572226a0b Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 3 Nov 2023 10:08:16 -0400 Subject: [PATCH 36/43] updated mol_fc_g1 input dimensions --- src/models/lig_mod.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 21f9a648..d49f3885 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -33,7 +33,7 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 self.mol_conv1 = GCNConv(num_features_mol, num_features_mol) self.mol_conv2 = GCNConv(num_features_mol, num_features_mol * 2) self.mol_conv3 = GCNConv(num_features_mol * 2, num_features_mol * 4) - self.mol_fc_g1 = nn.Linear(num_features_mol * 4, 1024) + self.mol_fc_g1 = nn.Linear(num_features_mol, 1024) self.mol_fc_g2 = nn.Linear(1024, output_dim) def forward_mol(self, data_mol): From 1b245ad3b22749d675a4ca4829d3e3cec309a3ca Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 3 Nov 2023 10:10:53 -0400 Subject: [PATCH 37/43] removed convolutional layers --- src/models/lig_mod.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index d49f3885..b9bcdc65 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -30,9 +30,7 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 # if ligand_feature == 'some new feature list': # num_features_mol = updated number - self.mol_conv1 = GCNConv(num_features_mol, num_features_mol) - self.mol_conv2 = GCNConv(num_features_mol, num_features_mol * 2) - self.mol_conv3 = GCNConv(num_features_mol * 2, num_features_mol * 4) + self.mol_fc_g1 = nn.Linear(num_features_mol, 1024) self.mol_fc_g2 = nn.Linear(1024, output_dim) From 87114227d3beb4681af975ff275a50748c4b1322 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 3 Nov 2023 10:30:10 -0400 Subject: [PATCH 38/43] added dropout to lig_mod --- src/models/lig_mod.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index b9bcdc65..a6380f92 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -8,8 +8,8 @@ from src.models.prior_work import DGraphDTA class DGraphDTALigand(DGraphDTA): - def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128, *args, **kwargs): - super(DGraphDTA, self).__init__(pro_feat=None, edge_weight_opt='binary', *args, **kwargs) + def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128,, dropout=0.2, *args, **kwargs): + super(DGraphDTA, self).__init__(dropout=dropout, pro_feat=None, edge_weight_opt='binary', *args, **kwargs) print('DGraphDTA Loaded') num_features_mol = 128 @@ -26,6 +26,7 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 self.tokenizer.add_special_tokens({'pad_token': '[PAD]'}) self.relu = nn.ReLU() + self.dropout = nn.Dropout(dropout) # if ligand_feature == 'some new feature list': # num_features_mol = updated number From 9df2ba2b820afc7a2151db05237942a0f57f515a Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 3 Nov 2023 10:31:08 -0400 Subject: [PATCH 39/43] fixed typo --- src/models/lig_mod.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index a6380f92..657f98c4 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -8,7 +8,7 @@ from src.models.prior_work import DGraphDTA class DGraphDTALigand(DGraphDTA): - def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128,, dropout=0.2, *args, **kwargs): + def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128, dropout=0.2, *args, **kwargs): super(DGraphDTA, self).__init__(dropout=dropout, pro_feat=None, edge_weight_opt='binary', *args, **kwargs) print('DGraphDTA Loaded') From 61dda481c5992de358a09d673966a54e1a543ebe Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 3 Nov 2023 10:35:21 -0400 Subject: [PATCH 40/43] changed DGraphDTA to DGraphDTALigand --- src/models/lig_mod.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 657f98c4..e555793a 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -9,7 +9,7 @@ class DGraphDTALigand(DGraphDTA): def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128, dropout=0.2, *args, **kwargs): - super(DGraphDTA, self).__init__(dropout=dropout, pro_feat=None, edge_weight_opt='binary', *args, **kwargs) + super(DGraphDTALigand, self).__init__(dropout=dropout, pro_feat=None, edge_weight_opt='binary', *args, **kwargs) print('DGraphDTA Loaded') num_features_mol = 128 @@ -25,8 +25,8 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token self.tokenizer.add_special_tokens({'pad_token': '[PAD]'}) - self.relu = nn.ReLU() - self.dropout = nn.Dropout(dropout) + # self.relu = nn.ReLU() + # self.dropout = nn.Dropout(dropout) # if ligand_feature == 'some new feature list': # num_features_mol = updated number From 10d5a7b636f70cbc2fb861b5c4eda6a91dc8d841 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 3 Nov 2023 10:38:21 -0400 Subject: [PATCH 41/43] removed pro_feat --- src/models/lig_mod.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index e555793a..8d72bb11 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -9,7 +9,7 @@ class DGraphDTALigand(DGraphDTA): def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128, dropout=0.2, *args, **kwargs): - super(DGraphDTALigand, self).__init__(dropout=dropout, pro_feat=None, edge_weight_opt='binary', *args, **kwargs) + super(DGraphDTALigand, self).__init__(dropout=dropout, edge_weight_opt='binary', *args, **kwargs) print('DGraphDTA Loaded') num_features_mol = 128 From c386b1d9180295adf0109b0480d109cb35e5dae2 Mon Sep 17 00:00:00 2001 From: papiClafoutis Date: Fri, 3 Nov 2023 10:56:16 -0400 Subject: [PATCH 42/43] removed print and try statements --- src/models/lig_mod.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 8d72bb11..8c399da9 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -39,15 +39,9 @@ def forward_mol(self, data_mol): # get smiles list input mol_x = data_mol.lig_seq - print(data_mol.x.device, self.model.device) - - try: - # get selifes from smile - selfies = [encoder(s) for s in mol_x] - except AttributeError as e: - print(mol_x) - raise e + # get selifes from smile + selfies = [encoder(s) for s in mol_x] # get tokens res = self.tokenizer(selfies, return_tensors="pt", padding=True) From cc9ae9e340e240f51b33663a8cc9b549a6bd12d3 Mon Sep 17 00:00:00 2001 From: jyaacoub Date: Fri, 3 Nov 2023 13:01:44 -0400 Subject: [PATCH 43/43] fix: added 'CD' for chemGPT model #52 Model architecture changes should be under a different name for consistency and clarity --- src/models/lig_mod.py | 17 +++++------------ src/train_test/distributed.py | 3 ++- src/utils/config.py | 4 ++-- src/utils/loader.py | 32 ++++++++++++++++---------------- test.py | 2 +- train_test.py | 2 +- 6 files changed, 27 insertions(+), 33 deletions(-) diff --git a/src/models/lig_mod.py b/src/models/lig_mod.py index 8c399da9..f7588cd2 100644 --- a/src/models/lig_mod.py +++ b/src/models/lig_mod.py @@ -7,9 +7,9 @@ from src.models.prior_work import DGraphDTA -class DGraphDTALigand(DGraphDTA): - def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=128, dropout=0.2, *args, **kwargs): - super(DGraphDTALigand, self).__init__(dropout=dropout, edge_weight_opt='binary', *args, **kwargs) +class ChemDTA(DGraphDTA): + def __init__(self, mol_output_dim=128, dropout=0.2, *args, **kwargs): + super(ChemDTA, self).__init__(dropout=dropout, edge_weight_opt='binary', *args, **kwargs) print('DGraphDTA Loaded') num_features_mol = 128 @@ -23,17 +23,10 @@ def __init__(self, ligand_feature='original', ligand_edge='binary', output_dim=1 self.model.requires_grad_(False) # freeze weights # adding a new token '[PAD]' to the tokenizer, and then using it as the padding token - self.tokenizer.add_special_tokens({'pad_token': '[PAD]'}) - - # self.relu = nn.ReLU() - # self.dropout = nn.Dropout(dropout) - - # if ligand_feature == 'some new feature list': - # num_features_mol = updated number - + self.tokenizer.add_special_tokens({'pad_token': '[PAD]'}) self.mol_fc_g1 = nn.Linear(num_features_mol, 1024) - self.mol_fc_g2 = nn.Linear(1024, output_dim) + self.mol_fc_g2 = nn.Linear(1024, mol_output_dim) def forward_mol(self, data_mol): # get smiles list input diff --git a/src/train_test/distributed.py b/src/train_test/distributed.py index 2b1d65f4..b3601337 100644 --- a/src/train_test/distributed.py +++ b/src/train_test/distributed.py @@ -86,7 +86,8 @@ def dtrain(args): # ==== Load model ==== # args.gpu is the local rank for this process - model = Loader.init_model(MODEL, FEATURE, EDGEW, args.dropout).cuda(args.gpu) + model = Loader.init_model(model=MODEL, pro_feature=FEATURE, pro_edge=EDGEW, + dropout=args.dropout).cuda(args.gpu) cp_saver = CheckpointSaver(model=model, save_path=f'{cfg.MODEL_SAVE_DIR}/{MODEL_KEY}.model', train_all=False, patience=50, min_delta=0.2, diff --git a/src/utils/config.py b/src/utils/config.py index e2c20eff..f6378654 100644 --- a/src/utils/config.py +++ b/src/utils/config.py @@ -6,13 +6,13 @@ confProDy(verbosity='none') # stop printouts from prody -MODEL_OPT = ['DG', 'DGI', 'ED', 'EDA', 'EDI', 'EDAI', 'EAT'] +MODEL_OPT = ['DG', 'DGI', 'ED', 'EDA', 'EDI', 'EDAI', 'EAT', 'CD'] STRUCT_EDGE_OPT = ['anm', 'af2', 'af2-anm'] # edge options that require structural info (pdbs) EDGE_OPT = ['simple', 'binary'] + STRUCT_EDGE_OPT PRO_FEAT_OPT = ['nomsa', 'msa', 'shannon'] -LIG_FEAT_OPT = [None, 'original', 'chemGPT'] +LIG_FEAT_OPT = [None, 'original'] LIG_EDGE_OPT = [None, 'binary'] DATA_OPT = ['davis', 'kiba', 'PDBbind'] diff --git a/src/utils/loader.py b/src/utils/loader.py index 58e3bef5..236b9cdc 100644 --- a/src/utils/loader.py +++ b/src/utils/loader.py @@ -4,7 +4,7 @@ from torch.utils.data.distributed import DistributedSampler from torch_geometric.loader import DataLoader -from src.models.lig_mod import DGraphDTALigand +from src.models.lig_mod import ChemDTA from src.models.pro_mod import EsmDTA, EsmAttentionDTA from src.models.prior_work import DGraphDTA, DGraphDTAImproved from src.data_processing.datasets import PDBbindDataset, DavisKibaDataset @@ -52,53 +52,53 @@ def get_model_key(model:str, data:str, pro_feature:str, edge:str, @staticmethod @validate_args({'model': model_opt, 'edge': edge_opt, 'pro_feature': pro_feature_opt, 'ligand_feature':cfg.LIG_FEAT_OPT, 'ligand_edge':cfg.LIG_EDGE_OPT}) - def init_model(model:str, pro_feature:str, edge:str, dropout:float, ligand_feature:str=None, ligand_edge:str=None): - num_feat_pro = 54 if 'msa' in pro_feature else 34 - - if (ligand_feature is not None and ligand_feature != 'original') or \ - (ligand_edge is not None and ligand_edge != 'binary'): - print('WARNING: currently no support for combining pro and lig modifications, using original pro features.') - #TODO: add support for above. - return DGraphDTALigand(ligand_feature, ligand_edge) - + def init_model(model:str, pro_feature:str, pro_edge:str, dropout:float, + ligand_feature:str=None, ligand_edge:str=None): + # node and edge features that dont change architecture are changed at the dataset level and not model level (e.g.: nomsa) + # here they are only used to set the input dimensions: + num_feat_pro = 34 if pro_feature == 'shannon' else 54 + if model == 'DG': model = DGraphDTA(num_features_pro=num_feat_pro, - dropout=dropout, edge_weight_opt=edge) + dropout=dropout, edge_weight_opt=pro_edge) elif model == 'DGI': model = DGraphDTAImproved(num_features_pro=num_feat_pro, output_dim=128, # 128 is the same as the original model - dropout=dropout, edge_weight_opt=edge) + dropout=dropout, edge_weight_opt=pro_edge) elif model == 'ED': model = EsmDTA(esm_head='facebook/esm2_t6_8M_UR50D', num_features_pro=320, # only esm features pro_emb_dim=54, # inital embedding size after first GCN layer dropout=dropout, pro_feat='esm_only', - edge_weight_opt=edge) + edge_weight_opt=pro_edge) elif model == 'EDA': model = EsmDTA(esm_head='facebook/esm2_t6_8M_UR50D', num_features_pro=320+num_feat_pro, # esm features + other features pro_emb_dim=54, # inital embedding size after first GCN layer dropout=dropout, pro_feat='all', # to include all feats - edge_weight_opt=edge) + edge_weight_opt=pro_edge) elif model == 'EDI': model = EsmDTA(esm_head='facebook/esm2_t6_8M_UR50D', num_features_pro=320, pro_emb_dim=512, # increase embedding size dropout=dropout, pro_feat='esm_only', - edge_weight_opt=edge) + edge_weight_opt=pro_edge) elif model == 'EDAI': model = EsmDTA(esm_head='facebook/esm2_t6_8M_UR50D', num_features_pro=320 + num_feat_pro, pro_emb_dim=512, dropout=dropout, pro_feat='all', - edge_weight_opt=edge) + edge_weight_opt=pro_edge) elif model == 'EAT': # this model only needs protein sequence, no additional features. model = EsmAttentionDTA(esm_head='facebook/esm2_t6_8M_UR50D', dropout=dropout) + elif model == 'CD': + # this model only needs sequence, no additional features. + model = ChemDTA(dropout=dropout) return model diff --git a/test.py b/test.py index 2127dc06..326a9532 100644 --- a/test.py +++ b/test.py @@ -46,7 +46,7 @@ # %% Initialize model and load checkpoint -model = Loader.init_model(MODEL, FEATURE, EDGE, DROPOUT) +model = Loader.init_model(model=MODEL, pro_feature=FEATURE, pro_edge=EDGE, dropout=DROPOUT) device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') mdl_dict = torch.load(model_p, map_location=device) diff --git a/train_test.py b/train_test.py index e4591c75..beca4ba8 100644 --- a/train_test.py +++ b/train_test.py @@ -94,7 +94,7 @@ # ==== LOAD MODEL ==== device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') print(f'#Device: {device}') - model = Loader.init_model(model=MODEL, pro_feature=FEATURE, edge=EDGEW, dropout=DROPOUT, + model = Loader.init_model(model=MODEL, pro_feature=FEATURE, pro_edge=EDGEW, dropout=DROPOUT, ligand_feature=ligand_feature, ligand_edge=ligand_edge).to(device) cp_saver.new_model(model, save_path=model_save_p)