02 Taxonomy Bridge
Jupyter notebook from the Community Metabolic Ecology via NMDC × Pangenome Integration project.
NB02: File→Sample Bridge and Taxonomy→GTDB Mapping¶
Project: Community Metabolic Ecology via NMDC × Pangenome Integration
Requires: BERDL JupyterHub (Spark — get_spark_session() injected into kernel)
Purpose¶
NB01 confirmed that classifier files (nmdc:dobj-11-*) and metabolomics files (nmdc:dobj-12-*)
share zero file_id overlap — they are different workflow output types. The shared identifier
is the biosample/sample_id (e.g., nmdc:bsm-11-*). This notebook:
- Part 1: Find the
file_id → sample_idbridge innmdc_arkin - Part 2: Build sample inventory — samples with both metagenomics classifier AND metabolomics data
- Part 3: Map NMDC taxon names (centrifuge_gold) → GTDB species (
gtdb_species_clade) - Part 4: Compute bridge quality per sample
- Part 5: Save outputs
Inputs¶
nmdc_arkintables:centrifuge_gold,metabolomics_gold,abiotic_features,study_tablekbase_ke_pangenome:gtdb_species_clade
Outputs¶
data/sample_file_bridge.csv— sample_id ↔ file_id mapping for all omics typesdata/nmdc_sample_inventory.csv— updated with samples having paired omics (replaces NB01 empty file)data/taxon_bridge.tsv— NMDC taxon name → GTDB species clade mappings with confidence tiersdata/bridge_quality.csv— per-sample fraction of community abundance mapped to pangenome
# On BERDL JupyterHub — get_spark_session() is injected into the kernel; no import needed
spark = get_spark_session()
spark
<pyspark.sql.connect.session.SparkSession at 0x7d052d4fd400>
import os
import re
import pandas as pd
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
PROJECT_DIR = os.path.abspath(os.path.join(os.path.dirname('__file__'), '..'))
DATA_DIR = os.path.join(PROJECT_DIR, 'data')
FIGURES_DIR = os.path.join(PROJECT_DIR, 'figures')
os.makedirs(DATA_DIR, exist_ok=True)
os.makedirs(FIGURES_DIR, exist_ok=True)
print(f'DATA_DIR: {DATA_DIR}')
print(f'FIGURES_DIR: {FIGURES_DIR}')
DATA_DIR: /home/cjneely/repos/BERIL-research-observatory/projects/nmdc_community_metabolic_ecology/data FIGURES_DIR: /home/cjneely/repos/BERIL-research-observatory/projects/nmdc_community_metabolic_ecology/figures
Part 1: Find the file_id → sample_id Bridge¶
NB01 found that classifier tables and metabolomics tables use non-overlapping file_id namespaces.
The NMDC data model links files to biosamples through workflow activities.
We explore candidate tables in nmdc_arkin to find a file_id → sample_id mapping.
# Step 1a: Inspect candidate bridge tables — look for tables that have both file_id and sample_id
# Candidates from schema doc: sample_tokens_v1, taxonomy_dim, taxstring_lookup,
# embedding_metadata, taxonomy_embeddings, trait_unified
candidate_tables = [
'sample_tokens_v1',
'taxonomy_dim',
'taxstring_lookup',
'embedding_metadata',
'taxonomy_embeddings',
'trait_unified',
'biochemical_features',
'biochemical_embeddings',
'abiotic_embeddings',
]
bridge_candidates = [] # tables that have both file_id and sample_id
for tbl in candidate_tables:
try:
schema = spark.sql(f'DESCRIBE nmdc_arkin.{tbl}').toPandas()
cols = set(schema['col_name'].tolist())
has_file = 'file_id' in cols
has_sample = 'sample_id' in cols
n_cols = len(cols)
print(f'{tbl}: {n_cols} cols, file_id={has_file}, sample_id={has_sample}')
if has_file or has_sample:
print(f' -> columns: {sorted(cols)[:12]}')
if has_file and has_sample:
bridge_candidates.append(tbl)
print(f' *** BRIDGE CANDIDATE ***')
except Exception as e:
print(f'{tbl}: ERROR — {e}')
print(f'\nBridge candidates (have both file_id and sample_id): {bridge_candidates}')
sample_tokens_v1: 4 cols, file_id=False, sample_id=True -> columns: ['modality_id', 'sample_id', 'token_id', 'value'] taxonomy_dim: 8 cols, file_id=False, sample_id=False taxstring_lookup: 4 cols, file_id=False, sample_id=False embedding_metadata: 3 cols, file_id=False, sample_id=False taxonomy_embeddings: 19 cols, file_id=False, sample_id=True -> columns: ['coverage_fraction', 'embedding_dim_0', 'embedding_dim_1', 'embedding_dim_10', 'embedding_dim_11', 'embedding_dim_12', 'embedding_dim_13', 'embedding_dim_14', 'embedding_dim_15', 'embedding_dim_2', 'embedding_dim_3', 'embedding_dim_4'] trait_unified: 7 cols, file_id=False, sample_id=False biochemical_features: 21485 cols, file_id=False, sample_id=False biochemical_embeddings: 20 cols, file_id=False, sample_id=False abiotic_embeddings: 19 cols, file_id=False, sample_id=True -> columns: ['coverage_fraction', 'embedding_dim_0', 'embedding_dim_1', 'embedding_dim_10', 'embedding_dim_11', 'embedding_dim_12', 'embedding_dim_13', 'embedding_dim_14', 'embedding_dim_15', 'embedding_dim_2', 'embedding_dim_3', 'embedding_dim_4'] Bridge candidates (have both file_id and sample_id): []
# Step 1b: List all tables in nmdc_arkin to find any additional candidates
all_tables = spark.sql('SHOW TABLES IN nmdc_arkin').toPandas()
print(f'Total tables in nmdc_arkin: {len(all_tables)}')
print(all_tables['tableName'].sort_values().tolist())
Total tables in nmdc_arkin: 63 ['abiotic_embeddings', 'abiotic_features', 'annotation_crossrefs', 'annotation_hierarchies_unified', 'annotation_terms_unified', 'biochemical_embeddings', 'biochemical_features', 'biochemical_features_metadata', 'centrifuge_gold', 'cog_categories', 'cog_hierarchy_flat', 'contig_taxonomy', 'contig_taxonomy_backup', 'covstats_taxonomy_rollup', 'ec_hierarchy_flat', 'ec_hierarchy_graph', 'ec_terms', 'embedding_metadata', 'embeddings_v1', 'go_hierarchy_flat', 'go_hierarchy_graph', 'go_terms', 'gottcha_gold', 'kegg_ko_module', 'kegg_ko_pathway', 'kegg_ko_terms', 'kegg_module_terms', 'kegg_pathway_terms', 'kraken_gold', 'lipidomics_gold', 'metabolomics_gold', 'metacyc_hierarchy_flat', 'metacyc_hierarchy_graph', 'metacyc_pathway_reactions', 'metacyc_pathways', 'metacyc_reaction_ec', 'metatranscriptomics_gold', 'nom_feature_metadata', 'nom_gold', 'nom_matrix_optimized', 'omics_files_table', 'proteomics_gold', 'rhea_crossrefs', 'rhea_reactions', 'sample_file_lookup', 'sample_file_selections', 'sample_tokens_v1', 'study_table', 'taxonomy_dim', 'taxonomy_embeddings', 'taxonomy_family_embeddings', 'taxonomy_features', 'taxonomy_genus_embeddings', 'taxonomy_order_embeddings', 'taxonomy_phylum_embeddings', 'taxstring_lookup', 'trait_embeddings', 'trait_features', 'trait_sources', 'trait_taxonomy_mapping', 'trait_unified', 'unified_embeddings', 'vocab_registry_v1']
# Step 1c: Scan ALL tables in nmdc_arkin for file_id OR sample_id columns
# This finds any table not covered by the candidate list above
table_names = all_tables['tableName'].tolist()
file_id_tables = []
sample_id_tables = []
both_id_tables = []
for tbl in table_names:
try:
schema = spark.sql(f'DESCRIBE nmdc_arkin.{tbl}').toPandas()
cols = set(schema['col_name'].tolist())
has_file = 'file_id' in cols
has_sample = 'sample_id' in cols
if has_file:
file_id_tables.append(tbl)
if has_sample:
sample_id_tables.append(tbl)
if has_file and has_sample:
both_id_tables.append(tbl)
except Exception:
pass
print('Tables with file_id:', file_id_tables)
print()
print('Tables with sample_id:', sample_id_tables)
print()
print('Tables with BOTH file_id and sample_id (bridge candidates):', both_id_tables)
Tables with file_id: ['centrifuge_gold', 'covstats_taxonomy_rollup', 'gottcha_gold', 'kraken_gold', 'lipidomics_gold', 'nom_gold', 'omics_files_table', 'proteomics_gold', 'metabolomics_gold', 'metatranscriptomics_gold'] Tables with sample_id: ['sample_tokens_v1', 'contig_taxonomy', 'contig_taxonomy_backup', 'abiotic_embeddings', 'taxonomy_embeddings', 'taxonomy_features', 'trait_embeddings', 'trait_features', 'nom_matrix_optimized', 'omics_files_table', 'sample_file_lookup', 'sample_file_selections', 'abiotic_features'] Tables with BOTH file_id and sample_id (bridge candidates): ['omics_files_table']
# Step 1d: Inspect the bridge table(s) found above
# If both_id_tables is non-empty, show schema and sample rows for each
if both_id_tables:
for tbl in both_id_tables:
print(f'\n=== nmdc_arkin.{tbl} schema ===')
spark.sql(f'DESCRIBE nmdc_arkin.{tbl}').show(30, truncate=False)
n = spark.sql(f'SELECT COUNT(*) as n FROM nmdc_arkin.{tbl}').collect()[0]['n']
print(f'Row count: {n}')
print(f'Sample rows:')
spark.sql(f'SELECT * FROM nmdc_arkin.{tbl} LIMIT 5').show(truncate=False)
else:
print('No table with both file_id and sample_id found in nmdc_arkin.')
print('Will attempt bridge via file_name parsing (Step 1e).')
=== nmdc_arkin.omics_files_table schema === +---------------------+---------+-------+ |col_name |data_type|comment| +---------------------+---------+-------+ |file_id |string |NULL | |file_name |string |NULL | |file_url |string |NULL | |file_size_bytes |double |NULL | |file_type |string |NULL | |file_type_description|string |NULL | |md5_checksum |string |NULL | |omics_processing_id |string |NULL | |omics_processing_name|string |NULL | |workflow_id |string |NULL | |workflow_type |string |NULL | |sample_id |string |NULL | |study_id |string |NULL | +---------------------+---------+-------+ Row count: 385562 Sample rows: +---------------------+-----------------------+-------------------------------------------------+---------------+-------------+--------------------------------------------------------+--------------------------------+---------------------+------------------------------------------------------+-----------+-------------+--------------------+--------------------+ |file_id |file_name |file_url |file_size_bytes|file_type |file_type_description |md5_checksum |omics_processing_id |omics_processing_name |workflow_id|workflow_type|sample_id |study_id | +---------------------+-----------------------+-------------------------------------------------+---------------+-------------+--------------------------------------------------------+--------------------------------+---------------------+------------------------------------------------------+-----------+-------------+--------------------+--------------------+ |nmdc:dobj-11-5gw4sj93|202412_lipid_ref.sqlite|/api/data_object/nmdc%3Adobj-11-5gw4sj93/download|1.01738496E9 |Virus Summary|Tab separated file listing the viruses found by geNomad.|e61b91889283d6fbc055d574fc1e7285|nmdc:dgms-11-vfzh1754|Blanch_Nat_Lip_C_7_AB_M_07_POS_23Jan18_Brandi-WCSH5801|None |NULL |nmdc:bsm-13-cp77j103|nmdc:sty-11-aygzgv51| |nmdc:dobj-11-5gw4sj93|202412_lipid_ref.sqlite|/api/data_object/nmdc%3Adobj-11-5gw4sj93/download|1.01738496E9 |Virus Summary|Tab separated file listing the viruses found by geNomad.|e61b91889283d6fbc055d574fc1e7285|nmdc:dgms-11-vfzh1754|Blanch_Nat_Lip_C_7_AB_M_07_POS_23Jan18_Brandi-WCSH5801|None |NULL |nmdc:bsm-11-qpwvgx11|nmdc:sty-11-dcqce727| |nmdc:dobj-11-5gw4sj93|202412_lipid_ref.sqlite|/api/data_object/nmdc%3Adobj-11-5gw4sj93/download|1.01738496E9 |Virus Summary|Tab separated file listing the viruses found by geNomad.|e61b91889283d6fbc055d574fc1e7285|nmdc:dgms-11-vfzh1754|Blanch_Nat_Lip_C_7_AB_M_07_POS_23Jan18_Brandi-WCSH5801|None |NULL |nmdc:bsm-13-8e1rjf10|nmdc:sty-11-aygzgv51| |nmdc:dobj-11-5gw4sj93|202412_lipid_ref.sqlite|/api/data_object/nmdc%3Adobj-11-5gw4sj93/download|1.01738496E9 |Virus Summary|Tab separated file listing the viruses found by geNomad.|e61b91889283d6fbc055d574fc1e7285|nmdc:dgms-11-vfzh1754|Blanch_Nat_Lip_C_7_AB_M_07_POS_23Jan18_Brandi-WCSH5801|None |NULL |nmdc:bsm-11-whgy3b08|nmdc:sty-11-8ws97026| |nmdc:dobj-11-5gw4sj93|202412_lipid_ref.sqlite|/api/data_object/nmdc%3Adobj-11-5gw4sj93/download|1.01738496E9 |Virus Summary|Tab separated file listing the viruses found by geNomad.|e61b91889283d6fbc055d574fc1e7285|nmdc:dgms-11-vfzh1754|Blanch_Nat_Lip_C_7_AB_M_07_POS_23Jan18_Brandi-WCSH5801|None |NULL |nmdc:bsm-11-fdjmge85|nmdc:sty-11-dcqce727| +---------------------+-----------------------+-------------------------------------------------+---------------+-------------+--------------------------------------------------------+--------------------------------+---------------------+------------------------------------------------------+-----------+-------------+--------------------+--------------------+
# Step 1e: Explore sample_id format in abiotic_features
# to understand what ID format we need to bridge TO
print('=== abiotic_features sample_id examples ===')
abiotic_ids = spark.sql("""
SELECT sample_id
FROM nmdc_arkin.abiotic_features
LIMIT 10
""").toPandas()
print(abiotic_ids['sample_id'].tolist())
# Also check study_table: do study_ids appear in sample_ids?
print('\nStudy_id examples from study_table:')
study_ids = spark.sql("""
SELECT study_id FROM nmdc_arkin.study_table LIMIT 5
""").toPandas()
print(study_ids['study_id'].tolist())
# Check if sample_id in abiotic_features starts with 'nmdc:bsm-'
bsm_count = spark.sql("""
SELECT COUNT(*) as n
FROM nmdc_arkin.abiotic_features
WHERE sample_id LIKE 'nmdc:bsm-%'
""").collect()[0]['n']
print(f'\nabiotic_features rows where sample_id starts with nmdc:bsm-: {bsm_count}')
=== abiotic_features sample_id examples === ['nmdc:bsm-11-042nd237', 'nmdc:bsm-11-622k6044', 'nmdc:bsm-11-65a4xw75', 'nmdc:bsm-11-93mc8g67', 'nmdc:bsm-11-cpekyy11', 'nmdc:bsm-11-cwey4y35', 'nmdc:bsm-11-efm5hh51', 'nmdc:bsm-11-frgt4x11', 'nmdc:bsm-11-gk0czc37', 'nmdc:bsm-11-nq2tfm26'] Study_id examples from study_table: ['nmdc:sty-11-8fb6t785', 'nmdc:sty-11-33fbta56', 'nmdc:sty-11-aygzgv51', 'nmdc:sty-11-34xj1150', 'nmdc:sty-11-076c9980'] abiotic_features rows where sample_id starts with nmdc:bsm-: 13847
# Step 1f: Check if the sample_tokens_v1 table has more columns than documented
# and whether it contains file_id or a file reference field
try:
print('=== sample_tokens_v1 schema ===')
spark.sql('DESCRIBE nmdc_arkin.sample_tokens_v1').show(40, truncate=False)
n = spark.sql('SELECT COUNT(*) as n FROM nmdc_arkin.sample_tokens_v1').collect()[0]['n']
print(f'Row count: {n}')
print('Sample rows:')
spark.sql('SELECT * FROM nmdc_arkin.sample_tokens_v1 LIMIT 3').show(truncate=False)
except Exception as e:
print(f'sample_tokens_v1 error: {e}')
# Also check embeddings_v1 for sample_id format
try:
print('\n=== embeddings_v1 schema ===')
spark.sql('DESCRIBE nmdc_arkin.embeddings_v1').show(20, truncate=False)
n = spark.sql('SELECT COUNT(*) as n FROM nmdc_arkin.embeddings_v1').collect()[0]['n']
print(f'Row count: {n}')
# Show non-vector columns (sample_id etc.)
emb_schema = spark.sql('DESCRIBE nmdc_arkin.embeddings_v1').toPandas()
str_cols = emb_schema[emb_schema['data_type'] == 'string']['col_name'].tolist()
if str_cols:
cols_sql = ', '.join([f'`{c}`' for c in str_cols[:6]])
spark.sql(f'SELECT {cols_sql} FROM nmdc_arkin.embeddings_v1 LIMIT 5').show(truncate=False)
except Exception as e:
print(f'embeddings_v1 error: {e}')
=== sample_tokens_v1 schema === +-----------+-------------+-------+ |col_name |data_type |comment| +-----------+-------------+-------+ |sample_id |string |NULL | |token_id |array<bigint>|NULL | |modality_id|array<bigint>|NULL | |value |array<double>|NULL | +-----------+-------------+-------+ Row count: 5316 Sample rows: +--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |sample_id |token_id |modality_id |value | +--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |nmdc:bsm-11-3a6fv767|[4193, 5160, 432, 6305, 3675, 4718, 4581, 7642, 1970, 266, 1118, 494, 1472, 7036, 9327, 666, 5201, 1878, 2980, 594, 9705, 1201, 8041, 4043, 3347, 5238, 3178, 5631, 2200, 8427, 3543, 1882, 2122, 1930, 1402, 4155, 9762, 7796, 2454, 8901, 5929, 780, 743, 135, 8014, 4550, 4445, 4156, 906, 7133, 2000, 457, 937, 1112, 3113, 5662, 7714, 2169, 2058, 8086, 5776, 822, 3043, 8028, 7092, 4551, 1111, 1464, 1860, 7272, 8230, 4387, 3712, 2127, 246, 7936, 4044, 2431, 1380, 3243, 3042, 3457, 2559, 7301, 1623, 6046, 8593, 1278, 5263, 1079, 3430, 7649, 6553, 164, 6025, 4925, 8284, 3756, 4515, 5519, 1639, 8302, 3440, 9756, 2789, 9294, 3512, 10434, 3688, 5518, 3027, 3099, 8195, 5496, 4926, 473, 1445, 7313, 6082, 3074, 7571, 954, 9647, 2706, 5590, 7384, 4232, 5870, 3706, 3453, 5070, 3988, 4845, 835, 304, 8339, 9257, 5102, 8557, 2386, 1164, 1027, 626, 2850, 5022, 439, 3689, 1516, 2500, 4549, 9321, 7093, 6019, 936, 498, 3203, 2102, 5663, 3636, 407, 2131, 4489, 7907, 2737, 5249, 3374, 995, 3057, 3947, 4746, 9260, 7610, 2657, 4194, 5474, 7220, 1483, 5140, 1932, 1202, 8603, 8241, 7980, 9227, 2223, 4392, 5645, 9156, 1778, 4051, 4635, 1325, 2782, 2746, 2175, 5018, 2351, 1520, 4771, 7276, 9673, 10360, 2016, 6096, 4033, 4517, 6515, 7482, 7682, 5691, 3087, 2691, 8635, 3266, 2002, 9128, 7311, 4970, 8965, 4688, 2591, 459, 4124, 1542, 7241, 1051, 3149, 8376, 2206, 4058, 3726, 4179, 8624, 2586, 5340, 5539, 3649, 8382, 8819, 8521, 1010, 1151, 6347, 705, 3671, 8357, 5509, 3874, 1397, 9918, 1109, 4531, 8370, 6663, 2202, 6276, 3321, 541, 704, 10330, 1572, 5338, 4524, 1375, 350, 1436, 3108, 5999, 8359, 2366, 1787, 8541, 8209, 2840, 8552, 7109, 6240, 7145, 2696, 3447, 7749, 212, 4685, 9429, 7369, 6147, 3391, 1317, 2043, 5694, 3473, 2028, 6490, 2553, 3463, 5177, 2563, 5371, 2289, 5056, 3761, 3796, 578, 4422, 3045, 9230, 9687, 3111, 1815, 8383, 2622, 7694, 148, 2812, 2369, 5520, 7219, 2390, 3465, 4918, 7149, 3672, 8290, 314, 876, 9685, 2035, 1864, 698, 2854, 2512, 5255, 6152, 8033, 3749, 5236, 1556, 9563, 2220, 6111, 5878, 5809, 7669, 3982, 6767, 4143, 4743, 1608, 2129, 2059, 1255, 5610, 4662, 417, 4698, 7218, 3066, 8827, 7286, 6241, 10605, 2666, 8949, 4591, 5778, 3486, 6529, 2173, 719, 2268, 4477, 1008, 6022, 1591, 9337, 7820, 436, 9525, 1409, 10152, 1205, 5324, 8235, 707, 7615, 8583, 3059, 2869, 8364, 2428, 2832, 8483, 2435, 6008, 5370, 3703, 8166, 5240, 2138, 1069, 4193, 5160, 3675, 6305, 432, 4718, 1118, 9327, 1970, 5201, 266, 4581, 494, 7036, 7642, 1878, 1472, 666, 2122, 6019, 2200, 2559, 5645, 1720, 8339, 20471, 1623, 5776, 2058, 525, 20804, 20528, 3712, 906, 937, 3543, 743, 1556, 5140, 3417, 2707, 7714, 5070, 1380, 8014, 780, 8901, 6917, 2102, 4232, 2500, 2131, 4033, 1932, 4746, 9301, 1164, 526, 3074, 7133, 2737, 4925, 3430, 1991, 4193, 9230, 1070, 9448, 704, 8189, 6025, 8427, 3043, 7092, 5236, 858, 5971, 3119, 5875, 7571, 594, 3721, 4228, 3027, 630, 995, 1079, 3042, 20628, 4549, 2127, 7669, 599, 6409, 4099, 20717, 1464, 2041, 3391, 3321, 20492, 1051, 6439, 8195, 3672, 578, 9583, 2812, 3512, 7196, 6495, 20530, 718, 4714, 6206, 1481, 246, 8603, 9698, 1067, 9294, 3453, 954, 7313, 2386, 5453, 1112, 2356, 3549, 9130, 6611, 2658, 20507, 5171, 2716, 1889, 3947, 3609, 2657, 8200, 6652, 7982, 9695, 1050, 5498, 8164, 7796, 4550, 2789, 3111, 7145, 9257, 1445, 3117, 5324, 5662, 4926, 2454, 2850, 9756, 7146, 4124, 9128, 8241, 5002, 20722, 4743, 4635, 9260, 2351, 7682, 2045, 626, 2448, 8379, 7369, 2433, 7601, 20483, 5609, 20748, 3923, 20709, 9647, 457, 5249, 20563, 473, 5474, 2401, 20489, 5520, 9618, 8041, 5238, 2706, 3113, 3552, 7649, 876, 20645, 9004, 5160, 4193, 1991, 1087, 7936, 20520, 20794, 1202, 2683, 1639, 5028, 3199, 1396, 9927, 4551, 4136, 5972, 20685, 5880, 324, 2701, 10909, 1882, 1084, 6022, 6785, 1111, 5228, 3087, 1485, 8517, 3374, 9156, 3986, 383, 5370, 5878, 6276, 8483, 2233, 2289, 1151, 20467, 5610, 20767, 757, 4163, 8557, 8382, 2223, 7996, 5338, 20724, 6775, 936, 8028, 5914, 4970, 5004, 7482, 2832, 9563, 3698, 4445, 3099, 459, 6706, 4500, 7980, 164, 20575, 1216, 1930, 9762, 6595, 5398, 3688, 20772, 3706, 15299, 5341, 10907, 5277, 8634, 318, 706, 1669, 3489, 1957, 4157, 4918, 4155, 5332, 1860, 20540, 6092, 162, 4494, 10360, 3263, 5539, 3203, 3486, 2105, 4005, 1409, 20643, 7384, 7153, 1815, 2784, 8600, 2793, 548, 1670, 6784, 20734, 5861, 4802, 5263, 3612, 1325, 4133, 3130, 3178, 8883, 7646, 6226, 1232, 4532, 1939, 6114, 4044, 6046, 8598, 8230, 1402, 5956, 5221, 5102, 1008, 7694, 7752, 1337, 1201, 4043, 6334, 20469, 9939, 713, 5743, 231, 3301, 1177, 2203, 148, 2782, 10434, 8767, 314, 7109, 2043, 6147, 9687, 5056, 4131, 8479, 7447, 7301, 6096, 3405, 9721, 3876, 3955, 8635, 8302, 4515, 20741, 4202, 163, 3511, 3352, 5071, 8965, 1867, 754, 3649, 378, 2553, 9099, 8601, 20479, 4407, 7278, 20634, 10603, 2366, 9918, 4193, 5160, 432, 4718, 4581, 7642, 3675, 6305, 2980, 5201, 1118, 9327, 2559, 2131, 4232, 2500, 2102, 4194, 7036, 494, 246, 1970, 266, 21018, 1878, 1079, 21600, 822, 21089, 3932, 937, 2122, 906, 666, 1882, 1472, 707, 2737, 7714, 21723, 3712, 21206, 5140, 5645, 21126, 4746, 8901, 780, 2454, 22870, 21195, 2035, 8360, 22219, 21599, 21299, 21148, 21207, 3042, 3347, 9705, 2200, 3552, 2127, 22133, 706, 21090, 21145, 1623, 2212, 954, 2386, 7313, 9294, 3453, 4925, 8603, 3430, 9945, 4644, 2907, 5235, 9080, 7146, 9230, 21019, 21974, 1445, 9257, 21136, 21597, 6019, 9156, 3374, 2351, 7682, 4635, 9260, 8241, 21357, 5453, 9647, 594, 457, 2850, 4926, 9756, 1889, 4033, 2058, 1932, 5776, 7092, 5249, 4551, 3043, 8258, 1930, 1690, 9762, 4155, 2707, 2810, 21356, 704, 21819, 21403, 22442, 3027, 4228, 630, 7153, 23555, 2401, 22482, 8230, 21685, 1402, 1409, 2041, 1556, 8600, 4136, 25856, 22285, 2126] |[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] |[0.9953398108482361, 0.583466112613678, 0.3746611773967743, 0.36833545565605164, 0.36420950293540955, 0.3085910379886627, 0.18176154792308807, 0.13932596147060394, 0.1072697639465332, 0.10031399875879288, 0.10016142576932907, 0.09016254544258118, 0.08562183380126953, 0.0854121670126915, 0.07566772401332855, 0.05687941610813141, 0.05671565607190132, 0.05024909973144531, 0.03649469092488289, 0.0356021448969841, 0.03446195274591446, 0.0328974649310112, 0.03164534643292427, 0.031164202839136124, 0.03008214570581913, 0.029978055506944656, 0.028423678129911423, 0.025169938802719116, 0.022990096360445023, 0.022554924711585045, 0.022047536447644234, 0.021790074184536934, 0.021659430116415024, 0.021575486287474632, 0.021433766931295395, 0.02140446938574314, 0.02060827426612377, 0.020607927814126015, 0.02016913890838623, 0.018823731690645218, 0.018572330474853516, 0.01855614222586155, 0.01832478865981102, 0.018246136605739594, 0.017979132011532784, 0.017824405804276466, 0.017813056707382202, 0.01710447110235691, 0.016466770321130753, 0.01639488898217678, 0.015459742397069931, 0.015264921821653843, 0.014242597855627537, 0.013964173384010792, 0.013915498740971088, 0.013707704842090607, 0.013560845516622066, 0.013179641216993332, 0.01259075477719307, 0.01244182139635086, 0.011927388608455658, 0.011527808383107185, 0.010928301140666008, 0.010800761170685291, 0.010779065079987049, 0.010431423783302307, 0.010214454494416714, 0.009862788021564484, 0.009853390045464039, 0.009845994412899017, 0.009826309978961945, 0.009634912945330143, 0.009569020941853523, 0.009553510695695877, 0.009166157804429531, 0.009071667678654194, 0.008939927443861961, 0.008680503815412521, 0.008243479765951633, 0.008125655353069305, 0.008111032657325268, 0.007996169850230217, 0.00795776303857565, 0.007880986668169498, 0.007821419276297092, 0.007732407655566931, 0.007508024573326111, 0.007438039407134056, 0.007176682818681002, 0.007005621679127216, 0.006765028461813927, 0.006749312859028578, 0.006724866572767496, 0.0066049969755113125, 0.006598182022571564, 0.006569976452738047, 0.0065027945674955845, 0.006435257848352194, 0.006387495901435614, 0.00631867628544569, 0.0062819356098771095, 0.006203328724950552, 0.006165300961583853, 0.006098337471485138, 0.006041497457772493, 0.00592119712382555, 0.00587057787925005, 0.005824612453579903, 0.00570299569517374, 0.00557573139667511, 0.00543342437595129, 0.0053439815528690815, 0.005258891265839338, 0.005218170117586851, 0.005183305125683546, 0.005150170996785164, 0.005125291179865599, 0.0051214187406003475, 0.005067338235676289, 0.005038836505264044, 0.004986873362213373, 0.004973755683749914, 0.004966317676007748, 0.004956182092428207, 0.004900129046291113, 0.0048921722918748856, 0.004799898713827133, 0.004779015202075243, 0.004716289695352316, 0.004711704794317484, 0.004705071449279785, 0.004689870867878199, 0.004677834454923868, 0.004641224630177021, 0.004594272002577782, 0.004538337700068951, 0.004433016292750835, 0.004410392604768276, 0.0043954141438007355, 0.0043922909535467625, 0.004358239006251097, 0.004346724133938551, 0.004343457520008087, 0.004297143314033747, 0.004238266963511705, 0.00422980822622776, 0.004197981674224138, 0.004164773505181074, 0.004151574335992336, 0.004125946667045355, 0.004107548389583826, 0.004089532420039177, 0.004072020761668682, 0.004056459292769432, 0.004056408070027828, 0.004038432613015175, 0.00403187470510602, 0.003964041359722614, 0.003936743829399347, 0.00392960524186492, 0.0038194479420781136, 0.0037551887799054384, 0.0037452224642038345, 0.00373071595095098, 0.003703954629600048, 0.0036970668006688356, 0.0036814433988183737, 0.00367964175529778, 0.003669477067887783, 0.0036280686035752296, 0.0036176780704408884, 0.0035718614235520363, 0.003563677193596959, 0.0035605216398835182, 0.0035519462544471025, 0.0034771892242133617, 0.003451478434726596, 0.003436917206272483, 0.003367132507264614, 0.0033523414749652147, 0.003332009306177497, 0.0032775001600384712, 0.0032487025018781424, 0.003239353885874152, 0.0032221097499132156, 0.003218300174921751, 0.003203923348337412, 0.003197702579200268, 0.003138024592772126, 0.0031353486701846123, 0.0031290368642657995, 0.003122000489383936, 0.003106015967205167, 0.00306756142526865, 0.003059166483581066, 0.0030475477688014507, 0.003038819180801511, 0.0030175901483744383, 0.003011545166373253, 0.002996997442096472, 0.0029859531205147505, 0.002968581859022379, 0.0029512762557715178, 0.002950721886008978, 0.0029064456466585398, 0.0029053727630525827, 0.0028869821690022945, 0.0028811832889914513, 0.002878713421523571, 0.002876131096854806, 0.0028711685445159674, 0.0028543234802782536, 0.0028392295353114605, 0.002837151288986206, 0.0028311091009527445, 0.0028094451408833265, 0.0028044029604643583, 0.002798111643642187, 0.002791204024106264, 0.00278360303491354, 0.002778659574687481, 0.002764908829703927, 0.0027353118639439344, 0.0027341691311448812, 0.0027215417940169573, 0.002712523564696312, 0.0027118560392409563, 0.0026628091000020504, 0.002646250184625387, 0.00264476565644145, 0.002642747014760971, 0.00263366661965847, 0.0026309306267648935, 0.002619000617414713, 0.0026150462217628956, 0.0026128890458494425, 0.002604261040687561, 0.0025624081026762724, 0.0025598362553864717, 0.0025526462122797966, 0.002536776475608349, 0.0025162119418382645, 0.0024949070066213608, 0.002454517874866724, 0.0024483727756887674, 0.002421631943434477, 0.002407906111329794, 0.002358358819037676, 0.002344954526051879, 0.002334951888769865, 0.0023316002916544676, 0.002325773471966386, 0.002313549630343914, 0.002289613476023078, 0.0022888202220201492, 0.002283684443682432, 0.0022615387570112944, 0.0022469533141702414, 0.002223506337031722, 0.0022108890116214752, 0.002200319664552808, 0.002180232899263501, 0.0021665727254003286, 0.002158636227250099, 0.002153974026441574, 0.0021484277676790953, 0.0021364924032241106, 0.00213629100471735, 0.0021229851990938187, 0.0021087077911943197, 0.0021014148369431496, 0.002082669176161289, 0.002075565978884697, 0.002069806447252631, 0.002067205961793661, 0.0020671612583100796, 0.002040826017037034, 0.002037860918790102, 0.0020335710141807795, 0.002030540956184268, 0.0020226207561790943, 0.0020056625362485647, 0.0019724443554878235, 0.001971995458006859, 0.001969575881958008, 0.0019582491368055344, 0.0019560717046260834, 0.0019484733929857612, 0.0019351958762854338, 0.001933301449753344, 0.001917039742693305, 0.0019122634548693895, 0.0019085351377725601, 0.001907703815959394, 0.0018973719561472535, 0.0018960656598210335, 0.0018526602070778608, 0.0018517636926844716, 0.0018378732493147254, 0.0018254963215440512, 0.0018231573048979044, 0.0018150144023820758, 0.0018026124453172088, 0.00180064479354769, 0.0017910848837345839, 0.001772415591403842, 0.001763630541972816, 0.0017626062035560608, 0.0017406728584319353, 0.0017389508429914713, 0.0017353288130834699, 0.0017332505667582154, 0.0017078366363421082, 0.0017076384974643588, 0.0017067408189177513, 0.0017037499928846955, 0.0016927545657381415, 0.001692220219410956, 0.001691804500296712, 0.0016885497607290745, 0.0016864010831341147, 0.0016853638226166368, 0.0016819594893604517, 0.0016738082049414515, 0.0016736347461119294, 0.0016723702428862453, 0.0016715566162019968, 0.0016546931583434343, 0.0016507485415786505, 0.0016459051985293627, 0.0016403236659243703, 0.0016350389923900366, 0.0016333763487637043, 0.0016327231423929334, 0.001630256650969386, 0.0016299375565722585, 0.0016282697906717658, 0.0016258946852758527, 0.0016247613821178675, 0.001620610011741519, 0.0016174035845324397, 0.0016169549198821187, 0.0016087343683466315, 0.0016080812783911824, 0.0016024206997826695, 0.0015934741823002696, 0.0015922518214210868, 0.001576536218635738, 0.0015698596835136414, 0.0015624037478119135, 0.001557431067340076, 0.0015495342668145895, 0.0015491624362766743, 0.0015458528650924563, 0.0015434777596965432, 0.001537896110676229, 0.0015273268800228834, 0.001525628729723394, 0.001525248633697629, 0.00152459682431072, 0.0015216264873743057, 0.0015215077437460423, 0.001519682933576405, 0.001518954522907734, 0.0015118764713406563, 0.0015110572567209601, 0.0015035162214189768, 0.0015023238956928253, 0.0015009372727945447, 0.0015007847687229514, 0.0014991910429671407, 0.001499139703810215, 0.0014941066037863493, 0.001492675393819809, 0.001490868628025055, 0.0014852870954200625, 0.001480085658840835, 0.0014796460745856166, 0.0014753708383068442, 0.0014636513078585267, 0.0014632918173447251, 0.001462545245885849, 0.0014586183242499828, 0.0014579730341210961, 0.0014531634515151381, 0.0014509070897474885, 0.0014481162652373314, 0.0014300652546808124, 0.0014235920971259475, 0.0014211016241461039, 0.0014062845148146152, 0.0014050076715648174, 0.0014038794906809926, 0.001399901113472879, 0.0013989403378218412, 0.0013969263527542353, 0.001393469632603228, 0.0013888472458347678, 0.00138570973649621, 0.001384878414683044, 0.980969133846537, 0.5038362529533411, 0.36614868709298865, 0.35705171628985016, 0.31587969839971175, 0.24936224159254408, 0.17438829339163, 0.14948674797747802, 0.13718587745953115, 0.13482930109433583, 0.13194940356389354, 0.12400751293245353, 0.10755264770975562, 0.10755264770975557, 0.10546431914846566, 0.08834011175133676, 0.06046099372760238, 0.05077067709409816, 0.05041182021576231, 0.04709165398215321, 0.04642578228173733, 0.040022319425862554, 0.04002231942586255, 0.033984075446893205, 0.03297005141991735, 0.03198652558241388, 0.03036832752923264, 0.027944098616259048, 0.027944098616259048, 0.027316826696546427, 0.027316826696546424, 0.026646427156637155, 0.026029429008715455, 0.024253807496846917, 0.024253807496846917, 0.024030340473888273, 0.024030340473885334, 0.023933331869503527, 0.02300979327967549, 0.02114384840325694, 0.01948092239038159, 0.018973577057777437, 0.01896157655026881, 0.01881907498314856, 0.018790169284365114, 0.018168062995504143, 0.01816806299550414, 0.017279079506716002, 0.017012526146187066, 0.017012526146187066, 0.017012526146187066, 0.017012526146187066, 0.016279733752748247, 0.016279733752748247, 0.015450136110172019, 0.015426151404346987, 0.015342974523967786, 0.015342974523967786, 0.015342974523967786, 0.01510474717237093, 0.014893394311597573, 0.014452635333575421, 0.014452635333575421, 0.014328120766837175, 0.014328120766837173, 0.014037451207620844, 0.013883301819273964, 0.013883301819273964, 0.013883301819273962, 0.01388330181927396, 0.013793930503820445, 0.013512005729613594, 0.013192137619680811, 0.013192137619680811, 0.012897818878702744, 0.012897818878702744, 0.012897818878702744, 0.01227083236986394, 0.01227083236986394, 0.01227083236986394, 0.01203182523501462, 0.01159542794658871, 0.011188105870614095, 0.011188105870614095, 0.011188105870614095, 0.010901947841702486, 0.010682418978994957, 0.010675456992561259, 0.010675456992561257, 0.010386363309044268, 0.01018471339832397, 0.010053587492784996, 0.009977342019104062, 0.009977342019104062, 0.009977342019104062, 0.00997734201910406, 0.00984157512905079, 0.00981650280396884, 0.00973525244692195, 0.00973525244692195, 0.00973525244692195, 0.009690692675772725, 0.009626623033416909, 0.009603444613282806, 0.009581161160072394, 0.009581161160072394, 0.009581161160072394, 0.009581161160072392, 0.00957877594071835, 0.00946924952163082, 0.00946924952163082, 0.00946924952163082, 0.009363239772127916, 0.009363239772127916, 0.009363239772127916, 0.009363239772127914, 0.00901703639403978, 0.00899449912902527, 0.008724714509785526, 0.008724714509785526, 0.008442320846302021, 0.008442320846302021, 0.008442320846302021, 0.008442320846302021, 0.00844232084630202, 0.008265284564632174, 0.007952488528180656, 0.007873140230677733, 0.007873140230677733, 0.0077426055333571385, 0.0077426055333571385, 0.007576995879494286, 0.007559657169503475, 0.007559657169503475, 0.007559657169503475, 0.007502116300662716, 0.007494134989714564, 0.007494134989714564, 0.007494134989714564, 0.007164760659360015, 0.007164760659360015, 0.006920306254304378, 0.006769140428811295, 0.006769140428811295, 0.006769140428811295, 0.006769140428811295, 0.006748550073619386, 0.006748550073619386, 0.00669811389664435, 0.006686656689101921, 0.006686656689101921, 0.006678349194309147, 0.006678349194309147, 0.00661774015867989, 0.00658736428814925, 0.006146531205234897, 0.006086865758308669, 0.006086865758308669, 0.006086865758308669, 0.006086865758308669, 0.006050384133936468, 0.005978289349678377, 0.005978289349678376, 0.005923784029241655, 0.005907964112777375, 0.005907964112777375, 0.005814803968103641, 0.005803717794684473, 0.005803717794684473, 0.005803717794684473, 0.005803717794684472, 0.005787265897021233, 0.005725810822044982, 0.00570937625289849, 0.00553689940978178, 0.005458136204550152, 0.0054120525432518225, 0.005360684703670604, 0.005360684703670603, 0.005297256216434352, 0.005297256216434352, 0.005297256216434352, 0.0052972562164343515, 0.005284050867349639, 0.005284050867349639, 0.005123706024603926, 0.005123706024603926, 0.005074401297839932, 0.0049530507143945406, 0.004883471623038116, 0.004880127219306202, 0.004880127219306202, 0.004818806695165859, 0.004812216762179934, 0.004812216762179933, 0.004766524521495154, 0.004739037416638468, 0.004715191338947402, 0.004708745130718013, 0.004702745386625955, 0.004702745386625955, 0.004702745386625955, 0.004702745386625954, 0.004702745386625954, 0.004702745386625954, 0.00469880060075503, 0.004669698885867454, 0.004669698885867453, 0.004669698885867452, 0.004548599056252618, 0.00451909368885732, 0.00451909368885732, 0.00451909368885732, 0.004496801061726277, 0.0044927033771781835, 0.0044927033771781835, 0.004465751417691585, 0.0044336539080560376, 0.004396805326858634, 0.0043203050220490865, 0.0043203050220490865, 0.004294179734743708, 0.004294179734743708, 0.004140863134525135, 0.004116758046474944, 0.004115247509476981, 0.004103605498400082, 0.004083954246883336, 0.004080182746179867, 0.004059215240917609, 0.004059215240917609, 0.004009930900643904, 0.004009930900643904, 0.003997107798252111, 0.003997107798252111, 0.003902463517085336, 0.0038866436006210563, 0.0038832594432330796, 0.0038832594432330796, 0.0038298672251661364, 0.003824097848414344, 0.0037272314398060663, 0.0036251552636044283, 0.003602680177385299, 0.003602680177385299, 0.0035097891343833804, 0.0035097891343833804, 0.0034912068484849387, 0.0034590573532991544, 0.0034519424681882867, 0.0033289813520100634, 0.003312993247000899, 0.0031444326486687107, 0.0031237668634627553, 0.003123766863462755, 0.003122058475576512, 0.003067351328886377, 0.003067351328886377, 0.003067351328885927, 0.0030649253365415334, 0.0030649253365415334, 0.0030649253365415334, 0.0029348697217427312, 0.0029348697217427312, 0.0029212413529845216, 0.0029212413529845216, 0.0029097229859712252, 0.0028861867829325523, 0.002886186782932552, 0.0028781952787392566, 0.002789545645041968, 0.0027884845282224245, 0.0027884845282224245, 0.002706714315673166, 0.002694720549161474, 0.0026947205491614735, 0.002665125875483565, 0.0026281142023638496, 0.0026281142023638496, 0.0026281142023638496, 0.0026281142023638496, 0.0026060865996065637, 0.0026060865996065637, 0.0025555892631606617, 0.0025375166395194457, 0.002503246949343603, 0.002486479061080884, 0.0024677856688103674, 0.0024618623740568927, 0.0024618623740568927, 0.0024427999863121446, 0.0024427999863121446, 0.002442799986312144, 0.0023886347259885862, 0.0023200335611161817, 0.0023177258104154696, 0.0022680611601654174, 0.002236917840207848, 0.002236917840207848, 0.002236917840207848, 0.002236917840207848, 0.0022178462785424694, 0.0021675202087742783, 0.002136600304590993, 0.002135128094194772, 0.0020855889227924538, 0.0020855889227924538, 0.002084182254962511, 0.002084182254962511, 0.002038006854457881, 0.002015112825863312, 0.002008742047647993, 0.0020024528153938306, 0.001976021730734116, 0.001958601474782149, 0.0019324048347607581, 0.0019324048347607581, 0.001925463234817347, 0.001925463234817347, 0.001911172305124744, 0.0019057393054627203, 0.0018486968863095283, 0.0018382804090963534, 0.0018339197388235321, 0.001827414409772306, 0.0018218285114331146, 0.0018172588796348307, 0.0017650113629976163, 0.0017650113629976163, 0.0017650113629976163, 0.001765011362997616, 0.0017650113629976158, 0.0017613519879907372, 0.0017537172473774993, 0.0017348291641247225, 0.0017348291641247225, 0.0017255125380626402, 0.0016864030950921845, 0.0016864030950921843, 0.0016760854923569117, 0.0016760854923569117, 0.0016760854923569117, 0.0016665955811273729, 0.0016665955811273729, 0.0016419177346325142, 0.0016417546427102022, 0.0016353644973291091, 0.001635364497329109, 0.0016327030410218774, 0.0016327030410218774, 0.001629696033704247, 0.001623661632578697, 0.0016060782847055264, 0.0016060782847055264, 0.0016060782847044173, 0.0015996157672827983, 0.0015996157672827983, 0.0015949880339871905, 0.0015781182132730267, 0.0015781182132730267, 0.001512453328052094, 0.001511219945389608, 0.001511219945389608, 0.001511219945389608, 0.0015112199453896078, 0.0015112199453896078, 0.0015112199453896076, 0.0015072547730283937, 0.0015060315836110526, 0.0014959708506534213, 0.0014603484149144507, 0.0014484845988232075, 0.0014092569142090754, 0.0014092569142090754, 0.0014092569142090754, 0.0014075240625345084, 0.0014057402446342193, 0.0014057402446342193, 0.0014057402446342193, 0.001405740244634219, 0.0013881467035147953, 0.0013777618253615685, 0.0013777618253615685, 0.0013578727654356007, 0.001350982131717912, 0.001263813576540121, 0.0012352887993277244, 0.0012108657839614786, 0.0011939959632473146, 0.0011939959632473146, 0.0011934964942352337, 0.0011910195356651177, 0.0011857394346802615, 0.0011823552772922844, 0.0011823552772922844, 0.0011823552772922844, 0.0011823552772922841, 0.0011776154183000872, 0.0011754738174952256, 0.0011754738174952256, 0.990835, 0.624718, 0.535206, 0.504829, 0.475565, 0.475565, 0.27173, 0.261731, 0.235756, 0.192586, 0.192586, 0.192586, 0.070355, 0.049989, 0.049989, 0.049989, 0.049989, 0.049989, 0.049589, 0.049589, 0.04878, 0.047271, 0.047271, 0.04503, 0.04496, 0.041282, 0.034855, 0.033902, 0.032213, 0.030869, 0.029264, 0.029264, 0.029264, 0.028936, 0.025799, 0.025577, 0.025577, 0.024554, 0.024554, 0.023128, 0.020451, 0.020366, 0.020366, 0.020366, 0.020366, 0.020366, 0.020011, 0.020011, 0.020011, 0.019923, 0.019174, 0.018706, 0.017184, 0.015642, 0.015642, 0.015112, 0.014989, 0.014989, 0.014502, 0.013305, 0.013305, 0.012794, 0.012159, 0.011715, 0.011163, 0.011101, 0.01081, 0.01081, 0.01051, 0.010428, 0.009999, 0.009999, 0.009999, 0.009999, 0.009999, 0.00961, 0.00961, 0.00961, 0.009165, 0.009165, 0.009165, 0.009165, 0.009165, 0.009116, 0.008912, 0.008573, 0.00774, 0.007709, 0.007709, 0.007577, 0.007215, 0.006828, 0.006793, 0.006793, 0.006292, 0.006292, 0.006292, 0.006292, 0.006274, 0.006021, 0.0058, 0.005684, 0.005684, 0.005684, 0.00551, 0.00551, 0.00551, 0.004878, 0.004577, 0.004577, 0.004577, 0.004577, 0.004493, 0.004493, 0.004493, 0.004493, 0.004412, 0.004382, 0.004382, 0.004382, 0.004382, 0.004102, 0.004021, 0.004021, 0.004021, 0.004021, 0.004021, 0.004021, 0.003695, 0.003695, 0.003695, 0.003415, 0.003314, 0.003112, 0.003086, 0.003086, 0.003086, 0.003086, 0.003016, 0.002804, 0.002726, 0.002599, 0.002561, 0.00237, 0.00231, 0.00231] | |nmdc:bsm-11-2hve6455|[4193, 5160, 432, 4718, 3675, 6305, 4581, 7642, 1970, 266, 2980, 666, 494, 1472, 7036, 1878, 1118, 594, 9705, 8427, 822, 3347, 4155, 1930, 1201, 9762, 8041, 4043, 5238, 7796, 9327, 2200, 3543, 3178, 4550, 8014, 2559, 457, 1882, 743, 5929, 135, 5631, 4051, 5662, 7714, 7133, 8028, 2122, 3149, 4445, 4179, 3756, 2223, 6347, 8086, 2000, 1111, 9294, 1112, 4531, 4232, 5201, 1402, 541, 8195, 3688, 4156, 4524, 2127, 1623, 6025, 3043, 704, 7313, 7092, 2431, 2500, 1464, 954, 2169, 2102, 4551, 1860, 906, 3453, 2131, 8593, 7907, 3706, 2386, 4746, 4194, 7936, 3712, 2059, 7272, 937, 2454, 3113, 5140, 1380, 2058, 4044, 436, 9227, 780, 8901, 1639, 3243, 5645, 5518, 5776, 5496, 3703, 2369, 4387, 1787, 6046, 6240, 7649, 5694, 7571, 1325, 9128, 246, 5870, 5263, 7301, 835, 10360, 4124, 8230, 3057, 7615, 9647, 6553, 5519, 7311, 2746, 936, 7980, 4549, 3027, 3203, 7610, 164, 7109, 9683, 3430, 6147, 3671, 4925, 1079, 8284, 7093, 350, 7384, 5056, 5102, 5539, 5663, 876, 5338, 3108, 9687, 473, 7276, 4489, 304, 5691, 2289, 6096, 3947, 1542, 2043, 1516, 2737, 2591, 3266, 3512, 2657, 1397, 2691, 995, 4918, 3440, 5340, 10434, 439, 5371, 7145, 5240, 1278, 1436, 314, 1010, 8557, 9756, 1270, 7167, 1202, 459, 1027, 8883, 8624, 5999, 1232, 5070, 8819, 4685, 2860, 3111, 626, 1109, 8370, 3649, 3074, 3465, 3447, 1591, 4515, 8552, 4532, 4845, 1778, 5878, 9429, 8302, 1151, 5018, 1483, 9918, 4517, 1164, 2002, 5509, 6515, 1205, 4557, 8209, 2220, 3988, 3473, 3109, 6082, 2428, 7042, 5370, 2221, 3042, 6019, 8827, 6663, 2366, 4771, 5249, 407, 2716, 5610, 6890, 1657, 1051, 1520, 8241, 3874, 8541, 2016, 498, 5301, 548, 4432, 1317, 7749, 2586, 3636, 6485, 3294, 8965, 8357, 1776, 5590, 834, 3796, 7241, 7756, 2696, 8376, 9927, 5171, 1319, 3726, 6269, 5194, 4939, 3511, 3334, 8338, 5177, 578, 8521, 6145, 4477, 3087, 5198, 1670, 6276, 9260, 718, 5024, 3405, 8603, 4926, 8962, 5022, 8166, 9103, 2812, 2658, 2129, 9673, 8290, 5637, 3672, 2175, 7482, 536, 8240, 1396, 1481, 6092, 6241, 5266, 4970, 9578, 10330, 1608, 3486, 705, 2782, 7220, 9563, 8133, 2448, 5809, 5520, 4180, 344, 212, 4635, 406, 3409, 4422, 5538, 5778, 5304, 2351, 3321, 2563, 8949, 163, 1572, 267, 3689, 417, 1932, 3045, 7669, 5664, 7164, 6529, 7682, 3066, 2028, 4392, 9357, 9230, 8359, 5369, 7194, 2832, 670, 7286, 2927, 5381, 3471, 8635, 7191, 5404, 4431, 3986, 9685, 1255, 2335, 3463, 2704, 5002, 1445, 2206, 3391, 4193, 5160, 432, 4718, 4581, 3675, 1970, 6305, 266, 4550, 7796, 2559, 5645, 2369, 7642, 1991, 5140, 20645, 594, 9448, 1070, 8189, 1878, 20528, 5694, 6240, 7615, 1787, 4746, 2102, 2131, 2500, 4232, 2200, 2320, 2223, 7601, 20483, 1623, 8121, 666, 1820, 8241, 7092, 3043, 2860, 6079, 4737, 8189, 9038, 5301, 5160, 9004, 876, 1118, 8014, 8427, 5662, 495, 103, 4313, 954, 3453, 7313, 9294, 2386, 5338, 20724, 353, 6890, 7042, 3294, 9918, 2366, 107, 4549, 2122, 4551, 3057, 3203, 5331, 2059, 436, 704, 3703, 7133, 1464, 1882, 457, 20507, 5171, 2716, 7391, 1670, 548, 2356, 3549, 20722, 5002, 1084, 3975, 3900, 872, 6064, 7669, 3486, 6092, 10360, 4494, 162, 5166, 8703, 4886, 1970, 5160, 3474, 7337, 5263, 7821, 10330, 9227, 4380, 20748, 20709, 3923, 5609, 20734, 6784, 4918, 1957, 8195, 4157, 2289, 419, 526, 1164, 3074, 20467, 1151, 8045, 6165, 182, 906, 937, 3479, 5994, 3756, 9683, 7756, 6147, 7109, 9687, 5056, 5395, 700, 613, 1074, 1526, 5781, 9103, 5304, 9927, 1396, 626, 3087, 5228, 2058, 5776, 3221, 4043, 1201, 3108, 386, 8309, 494, 7036, 1472, 4471, 3240, 5631, 1520, 2869, 20474, 2796, 5213, 5778, 5852, 5177, 314, 2043, 5539, 3687, 8231, 8518, 493, 9395, 7111, 7276, 2221, 20557, 1402, 4845, 5910, 7644, 2861, 1777, 2296, 3137, 4980, 5198, 5637, 344, 723, 2016, 8521, 5878, 5370, 2578, 6532, 9649, 4557, 6284, 8901, 780, 2000, 5519, 3726, 8827, 9698, 1067, 9327, 7714, 2737, 2928, 554, 3111, 7145, 1548, 3557, 5743, 231, 1803, 20498, 8364, 2854, 246, 20489, 6648, 5520, 1079, 2658, 1087, 5572, 7937, 6653, 8416, 5324, 1051, 3512, 2295, 4271, 473, 5238, 8041, 4691, 3304, 20628, 3042, 7406, 8835, 6128, 4097, 20530, 6495, 7196, 1666, 6845, 137, 4633, 4128, 6498, 8376, 6583, 8337, 3882, 2587, 2069, 4846, 2776, 7437, 4368, 8738, 1023, 20543, 9668, 4454, 4600, 6928, 3266, 1860, 8479, 4841, 443, 20643, 1409, 1078, 20688, 20565, 5828, 2844, 6278, 7982, 4202, 1930, 9762, 4155, 6840, 7571, 8647, 20595, 3142, 4424, 3141, 5181, 7715, 3757, 232, 1910, 2460, 3248, 8573, 5618, 6772, 963, 5240, 3719, 7167, 960, 8710, 955, 5386, 3109, 4593, 5201, 9322, 5663, 4489, 695, 6529, 7384, 3874, 3606, 5236, 5971, 858, 4976, 3113, 6490, 698, 7523, 3688, 5973, 7518, 7195, 2927, 6326, 5951, 6813, 4697, 4759, 8425, 2865, 2743, 3798, 2351, 7682, 9260, 4635, 5888, 1776, 4065, 4710, 2746, 522, 1481, 718, 4714, 6206, 3708, 510, 20526, 20549, 5121, 1568, 3911, 4595, 4518, 520, 8028, 111, 5160, 4193, 432, 4718, 4581, 7642, 2980, 20989, 21012, 5236, 20979, 822, 22557, 20857, 21143, 304, 9227, 7907] |[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] |[0.9868063926696777, 0.6316705346107483, 0.362079918384552, 0.3117840588092804, 0.2785269618034363, 0.27743709087371826, 0.2275315821170807, 0.18075798451900482, 0.15191906690597534, 0.12916411459445953, 0.07994589954614639, 0.07448413223028183, 0.06192401424050331, 0.05930822715163231, 0.058357950299978256, 0.05246739834547043, 0.04866752400994301, 0.04139271751046181, 0.03507830202579498, 0.030753709375858307, 0.02742980793118477, 0.02628963813185692, 0.026188360527157784, 0.02603733539581299, 0.025857966393232346, 0.02499321848154068, 0.02492496185004711, 0.02436886541545391, 0.023489588871598244, 0.02278369478881359, 0.022668393328785896, 0.02233818918466568, 0.020478924736380577, 0.020357578992843628, 0.020019693300127983, 0.019845029339194298, 0.01728193275630474, 0.016893167048692703, 0.016668053343892097, 0.016657384112477303, 0.016543833538889885, 0.016318388283252716, 0.015284638851881027, 0.014989002607762814, 0.014742917381227016, 0.014679118990898132, 0.014477481134235859, 0.014286540448665619, 0.013913339003920555, 0.013170613907277584, 0.01312265545129776, 0.012712005525827408, 0.012196321040391922, 0.012159944511950016, 0.011979949660599232, 0.011787679977715015, 0.011786233633756638, 0.011556960642337799, 0.011223843321204185, 0.011171462945640087, 0.01115095429122448, 0.011054987087845802, 0.010968267917633057, 0.01094390545040369, 0.010660042054951191, 0.010491431690752506, 0.010484500788152218, 0.010453462600708008, 0.010262908414006233, 0.010243644006550312, 0.010164652019739151, 0.010151194408535957, 0.01000124029815197, 0.009978929534554482, 0.009862224571406841, 0.009774849750101566, 0.009767242707312107, 0.009713852778077126, 0.00963367149233818, 0.009518815204501152, 0.009472561068832874, 0.009375610388815403, 0.009282225742936134, 0.009027445688843727, 0.009011652320623398, 0.008970648981630802, 0.008835690096020699, 0.00858233030885458, 0.008506787940859795, 0.008436819538474083, 0.008349892683327198, 0.008261790499091148, 0.008224273100495338, 0.008177169598639011, 0.008020316250622272, 0.007976103574037552, 0.007920652627944946, 0.007918404415249825, 0.007899841293692589, 0.007853210903704166, 0.007786013185977936, 0.007679561618715525, 0.00763110863044858, 0.007606219500303268, 0.007516777608543634, 0.007474787998944521, 0.007457662373781204, 0.0073994980193674564, 0.007362056523561478, 0.007264220155775547, 0.007247231900691986, 0.007216261699795723, 0.007191650569438934, 0.007141211535781622, 0.007067050319164991, 0.007011024281382561, 0.0068925414234399796, 0.0066984593868255615, 0.006683472078293562, 0.006465214770287275, 0.0061551788821816444, 0.006092897616326809, 0.005877205170691013, 0.005869330372661352, 0.005834963638335466, 0.005829814821481705, 0.005700321868062019, 0.005664566997438669, 0.005632130894809961, 0.005501833278685808, 0.0054998984560370445, 0.005449459422379732, 0.005389004945755005, 0.005271837115287781, 0.005255873315036297, 0.0050648716278374195, 0.005062623415142298, 0.005005672574043274, 0.004990685731172562, 0.004984690807759762, 0.004974199924618006, 0.004863195586949587, 0.00481683574616909, 0.004758323077112436, 0.004744898062199354, 0.004685376305133104, 0.004678954835981131, 0.004599205683916807, 0.004465389531105757, 0.004377715289592743, 0.004334348253905773, 0.0042788018472492695, 0.004225280601531267, 0.004203504417091608, 0.004172393120825291, 0.004136319737881422, 0.004125489387661219, 0.004077288322150707, 0.00403441721573472, 0.004012642428278923, 0.004002289846539497, 0.003998177591711283, 0.0039894492365419865, 0.003964907489717007, 0.0038726520724594593, 0.0038568051531910896, 0.0038316790014505386, 0.003807800356298685, 0.003767931368201971, 0.003746398026123643, 0.003717196173965931, 0.003695625113323331, 0.0036875621881335974, 0.0036590867675840855, 0.003651736071333289, 0.0036491774953901768, 0.0035983892157673836, 0.0035649449564516544, 0.003553549526259303, 0.003540870500728488, 0.0035354436840862036, 0.003531675087288022, 0.0034964773803949356, 0.003480323823168874, 0.0034275369253009558, 0.0033719169441610575, 0.003336195833981037, 0.003326374338939786, 0.003303893841803074, 0.0032995250076055527, 0.003290405496954918, 0.0032645598985254765, 0.003258769866079092, 0.003235862124711275, 0.0032083308324217796, 0.003206477966159582, 0.003204979235306382, 0.0031460190657526255, 0.0031114614102989435, 0.003041123505681753, 0.003033267566934228, 0.0029944113921374083, 0.0029876672197133303, 0.002978868316859007, 0.002968256128951907, 0.0029626647010445595, 0.0029595771338790655, 0.0029377322643995285, 0.002925993874669075, 0.0028999929782003164, 0.0028858045116066933, 0.0028742323629558086, 0.0028685200959444046, 0.0028373461682349443, 0.002817978849634528, 0.0028087536338716745, 0.0027950836811214685, 0.0027886913157999516, 0.00278272177092731, 0.0027463757432997227, 0.002746215555816889, 0.0027388823218643665, 0.002734613139182329, 0.0027344452682882547, 0.0027020967099815607, 0.002689424902200699, 0.0026752676349133253, 0.002650745213031769, 0.0026435127947479486, 0.0026232460513710976, 0.0025957776233553886, 0.0025575796607881784, 0.0025552751030772924, 0.002517823362722993, 0.002450381638482213, 0.002448133658617735, 0.0024475669488310814, 0.0024462926667183638, 0.002445136196911335, 0.002442138735204935, 0.002437333343550563, 0.002430149121209979, 0.0024091906379908323, 0.0024054204113781452, 0.002394929528236389, 0.0023742252960801125, 0.0023599951528012753, 0.0023534856736660004, 0.002350717782974243, 0.002333482727408409, 0.002333234529942274, 0.0023327332455664873, 0.0023132339119911194, 0.0023115368094295263, 0.002306506037712097, 0.0022889443207532167, 0.002272740937769413, 0.002267539734020829, 0.002241186797618866, 0.002233511535450816, 0.0022179537918418646, 0.002197850029915571, 0.0021918551065027714, 0.002173870801925659, 0.002166992286220193, 0.0021573849953711033, 0.0021506408229470253, 0.0021269102580845356, 0.0021169199608266354, 0.0021154212299734354, 0.0021081482991576195, 0.0021004341542720795, 0.002077797893434763, 0.0020757541060447693, 0.0020712094847112894, 0.0020704600028693676, 0.002070184564217925, 0.0020644746255129576, 0.0020494782365858555, 0.0020419848151504993, 0.0020374886225908995, 0.0020356595050543547, 0.0020222330931574106, 0.002010075142607093, 0.002005811082199216, 0.001993018900975585, 0.0019850339740514755, 0.0019760418217629194, 0.001975109800696373, 0.0019692976493388414, 0.0019625534769147635, 0.0019572009332478046, 0.0019393234979361296, 0.0019180461531504989, 0.0019162659300491214, 0.0019101278157904744, 0.001907958067022264, 0.0019057771423831582, 0.001888123108074069, 0.0018855369416996837, 0.0018688843119889498, 0.0018665286479517817, 0.0018621401395648718, 0.0018613907741382718, 0.0018558833980932832, 0.0018523986218497157, 0.0018479025457054377, 0.0018420714186504483, 0.0018406949238851666, 0.0018329154700040817, 0.0018168273381888866, 0.0018164870562031865, 0.0018089361255988479, 0.0017924504354596138, 0.001788703608326614, 0.0017886202549561858, 0.0017806689720600843, 0.0017769532278180122, 0.0017737166490405798, 0.0017662231111899018, 0.001766171189956367, 0.0017575201345607638, 0.0017490072641521692, 0.0017467399593442678, 0.0017465566052123904, 0.0017459905939176679, 0.001744491863064468, 0.0017442359821870923, 0.0017354997107759118, 0.0017346934182569385, 0.0017170176142826676, 0.0017047221772372723, 0.0016856176080182195, 0.001685194205492735, 0.0016808900982141495, 0.0016723619773983955, 0.001668807351961732, 0.0016663923161104321, 0.0016587170539423823, 0.001657011453062296, 0.0016561585944145918, 0.0016553058521822095, 0.0016533707967028022, 0.00165120093151927, 0.001647825469262898, 0.001645577372983098, 0.0016381823224946856, 0.001627978403121233, 0.0016222705598920584, 0.001618600683286786, 0.0016157613135874271, 0.0016051878919824958, 0.0015973147237673402, 0.001584130572155118, 0.0015668954001739621, 0.001564647420309484, 0.0015622400678694248, 0.001556379720568657, 0.001552968518808484, 0.001548910979181528, 0.0015466628829017282, 0.00152653141412884, 0.0015227132244035602, 0.001522267353720963, 0.001517150434665382, 0.0015159394824877381, 0.0015120336320251226, 0.0015111807733774185, 0.0015000398270785809, 0.0014941111439839005, 0.0014855964109301567, 0.0014722741907462478, 0.0014719514874741435, 0.0014694796409457922, 0.0014676874270662665, 0.001461707055568695, 0.0014604873722419143, 0.0014574900269508362, 0.0014559912960976362, 0.0014552419306710362, 0.0014544925652444363, 0.0014544925652444363, 0.0014506311854347587, 0.0014484977582469583, 0.0014335749438032508, 0.0014327766839414835, 0.0014233412221074104, 0.0014136559329926968, 0.0014095314545556903, 0.0014065341092646122, 0.0014062850968912244, 0.0014050353784114122, 0.0014035366475582123, 0.0013841119362041354, 0.0013798478757962584, 0.0013775306288152933, 0.0013764366740360856, 0.0013687614118680358, 0.0013679085532203317, 0.0013675676891580224, 0.8990013413269249, 0.5043449985290517, 0.28210914694922734, 0.24970305761922457, 0.20030747747858052, 0.19856463458426815, 0.1960352960506067, 0.18035769759745685, 0.11373965805177368, 0.10568619110377137, 0.10568619110377137, 0.0887511589884977, 0.0887511589884977, 0.08045823781557387, 0.06431608697381068, 0.05535755287138223, 0.05306614833237985, 0.045641105801692804, 0.045416729835649136, 0.04514942608204896, 0.04514942608204896, 0.04514942608204896, 0.04393863219781128, 0.04093683852260866, 0.039575581230348815, 0.039575581230348815, 0.0395755812303488, 0.0395755812303488, 0.039123910208053045, 0.035685010656117865, 0.035685010656117865, 0.03568501065611786, 0.03568501065611786, 0.034759033042034516, 0.03011618583031611, 0.029851484005989592, 0.028088852916748685, 0.028088852916707315, 0.027485096321074074, 0.02729883012875027, 0.026200555529217677, 0.025057706735947167, 0.0245487346936929, 0.024359498908584083, 0.024359498908584083, 0.02353634596990232, 0.02353634596983609, 0.02353634596983609, 0.023274213752321058, 0.02327421375232105, 0.02275456531695977, 0.022366892049371742, 0.02236689204937174, 0.02236689204937174, 0.021928119564473027, 0.02169373384823394, 0.02040320336777124, 0.01929609069423303, 0.018291378468736144, 0.01829137846873497, 0.01829137846871738, 0.01820693698681134, 0.01820693698681134, 0.018206936986811337, 0.018206936986811337, 0.018206936986811337, 0.01769689427505467, 0.01769689427505467, 0.017442317348020948, 0.0171634140017359, 0.0171634140017359, 0.017163414001735898, 0.016416696765158768, 0.016416696765158764, 0.016416696765157324, 0.01640491940057569, 0.016127868514546874, 0.015876645005220655, 0.015052916329096038, 0.014993867895696183, 0.014702817500825046, 0.014448654700848065, 0.014448654700848065, 0.014448654700848062, 0.014448654700848062, 0.014315427051611847, 0.01431542705159747, 0.014054183691790411, 0.013947116741296606, 0.013942238124326814, 0.01394223812432681, 0.01394223812432681, 0.013796283649022701, 0.013391651380463348, 0.013391651380463348, 0.013004796265989478, 0.013004796265989478, 0.012993786551243355, 0.012993786551243355, 0.01208775773222753, 0.011729891499699876, 0.011729891499699876, 0.011729891499699873, 0.011729891499699873, 0.011470506660543504, 0.010687301815209199, 0.010391958641652647, 0.010391958641652647, 0.010391958641652646, 0.010391958641652646, 0.010275296067966662, 0.010275296067966662, 0.010208126789333272, 0.010208126789333272, 0.010208126789333269, 0.010208126789333269, 0.010208126707359579, 0.009963488825573283, 0.009701326306087348, 0.009536008873748085, 0.009536008873748085, 0.009477930103298352, 0.008820670334266261, 0.008820670334266261, 0.00882067033426626, 0.00882067033426626, 0.00878810582019151, 0.008788105820191487, 0.008640828158989849, 0.008640828158989849, 0.008640828158989847, 0.008640828158989847, 0.008640828158989847, 0.008640828158986695, 0.008584022071158994, 0.008584022071158992, 0.008584022071158992, 0.008482853903363424, 0.008482853903363424, 0.008351070648049174, 0.008351070648049049, 0.008051747816134722, 0.007825755744823016, 0.007825755744823016, 0.007685124315093537, 0.00768512431508882, 0.007506726533584269, 0.007375912941214445, 0.007375912941214445, 0.007312440421171177, 0.007312440421171177, 0.007312440421171175, 0.007312440421171175, 0.007306339624543531, 0.007306339624543531, 0.007124790438445534, 0.007124790438445534, 0.007124790438445532, 0.007124790438445532, 0.007072741759466841, 0.007072741759466841, 0.006868809520270303, 0.006868809520270303, 0.006841679158978548, 0.00684167915897848, 0.00684167915897848, 0.006622014138512511, 0.006622014138512511, 0.0065972432903030846, 0.006527967942976499, 0.006527967942976498, 0.0062952538852809325, 0.0062952538852759365, 0.006271638552178289, 0.006182247748964354, 0.006182247748964354, 0.006182247748964353, 0.006148370149644872, 0.0061483701496448705, 0.005739243089285256, 0.005739243089285255, 0.005739243089285255, 0.0056721040306453654, 0.005672104030645365, 0.005672104030645365, 0.0055960460929955404, 0.0055960460929955404, 0.0055877433539851615, 0.005528876732388459, 0.005528876732388459, 0.005243149383087236, 0.005201918506395792, 0.005201918506395792, 0.005201918506395791, 0.005201918506395791, 0.005201918506395791, 0.005201918506395791, 0.004934412740032188, 0.004676866220223916, 0.004676866220218749, 0.004541335621628401, 0.004541335621628401, 0.0045413356216284, 0.0045413356216284, 0.004429460758758621, 0.004429460758758619, 0.004429460758758619, 0.004418521748605126, 0.004418521748602609, 0.004409602869594437, 0.004409602869594437, 0.004409602869594436, 0.004409602869594436, 0.004364271126674694, 0.004364271126674694, 0.004318474753593113, 0.004318474753593113, 0.0043065660804869855, 0.004302222798522919, 0.004302222798522919, 0.004224710366447919, 0.004224710366447919, 0.004148864542568434, 0.004148864542568434, 0.004090694866217129, 0.00395522487156116, 0.00395522487156116, 0.003948780653205173, 0.003931902457479694, 0.003931902457479694, 0.003920347307324131, 0.003816987297235068, 0.003816987297235068, 0.0038169872972350673, 0.0038169872972350673, 0.0037996646726574513, 0.0037996646726574513, 0.003788887272993127, 0.0037643123776010924, 0.003692345205522077, 0.0036923452055220764, 0.0036923452055220764, 0.003680244619957072, 0.003680244619957071, 0.003680244619957071, 0.0036386198176921415, 0.0036002979298510487, 0.0036002979298510483, 0.0036002979298510483, 0.0033772148473896935, 0.0033645486251037892, 0.0033645486251037866, 0.0033370546402056705, 0.0033370546402056705, 0.0033370546402056696, 0.0033370546402056696, 0.003328590290703604, 0.003328590290703604, 0.0032912279651568983, 0.0032912279651568983, 0.00325926949042595, 0.003247754742893307, 0.0031911304668692394, 0.0031911304668692394, 0.0031911304668692385, 0.0031911304668687506, 0.0029914607043904366, 0.0029914607043904366, 0.0029914607043904358, 0.0029914607043904358, 0.0029776127053840733, 0.0029776127053840733, 0.002917382495263769, 0.002917382495263768, 0.002917382495263768, 0.00284222351597395, 0.002842223515973949, 0.002842223515973949, 0.0028173557015658338, 0.002817355701565733, 0.00278318518322983, 0.00278318518322983, 0.0027666908124221066, 0.0027666908124221066, 0.0027666908124221058, 0.0027666908124221058, 0.0026918348528041994, 0.0026918348528041994, 0.002691834852804199, 0.002691834852804199, 0.002691834852804199, 0.002691834852804199, 0.002675956621996028, 0.002613534569582229, 0.002613534569582229, 0.0025611828709316267, 0.0025611828709316267, 0.0025587385122448725, 0.0024770242073860315, 0.0024770242073860315, 0.0024560451454340155, 0.0024316015585664754, 0.0024316015585664754, 0.002423803852342616, 0.002423803852342616, 0.002421359493656184, 0.0024213594936561837, 0.0024213594936561837, 0.002421359493655863, 0.0024213594936558624, 0.0024213594936558624, 0.002418581813330008, 0.0024185818133300053, 0.00240048143826115, 0.00240048143826115, 0.0024004814382611495, 0.0024004814382611495, 0.002397643154000911, 0.0023976431540009106, 0.0023976431540009106, 0.0023540790258366616, 0.0023540790258357457, 0.002346018702562896, 0.002346018702562896, 0.002341291595681075, 0.002341291595681075, 0.0023412915956810745, 0.0023412915956810745, 0.0023412915956810745, 0.0022885459714569872, 0.0022885459714569872, 0.0021528840643421426, 0.00213357161058564, 0.00213357161058564, 0.002130096985014387, 0.002130096985014387, 0.0021300969850143866, 0.0021300969850143866, 0.0021300969850143866, 0.002086845977177135, 0.002086845977176864, 0.002074462573251408, 0.002074462573251408, 0.002033120589346929, 0.002033120589346929, 0.0020241512070601603, 0.0020241512070601603, 0.002024151207058344, 0.002024151207058344, 0.0020186665509967436, 0.0019571232556314876, 0.0019571232556314876, 0.0019048422615709987, 0.0019048422615709983, 0.0019048422615709983, 0.0018872267179772012, 0.0018872267179772012, 0.0018694697652031787, 0.0018694697652031787, 0.0018508643573478035, 0.0018374001832591963, 0.0018374001832591963, 0.001837400183259196, 0.001837400183259196, 0.0017835636887827168, 0.0017835636882162266, 0.001718909390886252, 0.0017189093908862516, 0.0017189093908860113, 0.001607489057524099, 0.001607489057524099, 0.0016074890575240987, 0.0016074890575240987, 0.0016074890575240987, 0.001580146582461938, 0.001580146582461938, 0.0015801465824619378, 0.0015801465824619378, 0.0014800591848295205, 0.0014800591848295205, 0.0014788370054861436, 0.0013534070626261823, 0.0013498011285308271, 0.0013498011285304336, 0.0012709352085875623, 0.0012709352085875623, 0.001270935208587562, 0.001270935208587562, 0.0012564508682701855, 0.0012564508682701855, 0.0011574038381779986, 0.0011574038381779986, 0.0011574038381779984, 0.0011574038381779984, 0.0011040420739543571, 0.0011040420739543571, 0.0010416200215405578, 0.0010416200215405578, 9.542574299982182E-4, 9.542574299972838E-4, 1.0, 1.0, 1.0, 1.0, 0.889971, 0.725649, 0.321776, 0.126508, 0.110029, 0.110029, 0.110029, 0.096869, 0.094452, 0.094452, 0.090494, 0.090002, 0.069869, 0.069869] | |nmdc:bsm-11-s8ktn043|[4193, 5160, 1970, 266, 432, 6305, 3675, 666, 4718, 8427, 1878, 9705, 1930, 4155, 9762, 4051, 2223, 3149, 4179, 3543, 5929, 6347, 1118, 4581, 135, 3688, 4531, 494, 3347, 1472, 541, 594, 7036, 4524, 743, 7714, 2200, 1111, 8028, 3706, 7642, 3178, 704, 2454, 8883, 8901, 9327, 1232, 780, 1882, 2059, 4532, 2369, 3756, 8195, 1860, 436, 3703, 2127, 6025, 5664, 5404, 8014, 350, 2000, 457, 7191, 1201, 10360, 7112, 5496, 1792, 5631, 4043, 3334, 5662, 7311, 5381, 8041, 1112, 1397, 7195, 9756, 5973, 2780, 5238, 1325, 9128, 5518, 5338, 5878, 7093, 3108, 9578, 2058, 3430, 9683, 4925, 2169, 5370, 5240, 5201, 7649, 5371, 4124, 6471, 5776, 7133, 7167, 7610, 4156, 2559, 3712, 1913, 9927, 7145, 3671, 7980, 2122, 7936, 2746, 7272, 3113, 936, 1396, 4515, 548, 3111, 1270, 8302, 7646, 1542, 3266, 8166, 4557, 7301, 4044, 5024, 2631, 2289, 1670, 5677, 1109, 2691, 8357, 7518, 6096, 2001, 5263, 5266, 1202, 2775, 7194, 6046, 3109, 4918, 459, 4445, 3027, 1464, 5340, 995, 7796, 9103, 5999, 1639, 5113, 2737, 3649, 7109, 1436, 4550, 5304, 5539, 5610, 3465, 7455, 3240, 2002, 9647, 5870, 835, 5102, 4926, 5194, 7042, 4685, 8240, 6147, 3042, 5691, 3203, 1319, 1205, 7571, 2428, 1516, 876, 4206, 8624, 5056, 3473, 1402, 2591, 6082, 6890, 8284, 6269, 9687, 3294, 6485, 1591, 4097, 3689, 6092, 3057, 7155, 2220, 8603, 6276, 3043, 164, 7092, 4471, 5198, 3405, 5002, 3243, 8086, 2221, 2980, 3512, 8949, 3471, 4180, 8635, 2448, 718, 7756, 4551, 10178, 3296, 5637, 4387, 4432, 3447, 3986, 536, 3295, 6458, 3409, 9429, 8552, 4746, 8827, 344, 1481, 8370, 7164, 265, 1657, 2126, 5369, 1413, 5509, 7450, 834, 5140, 2557, 6553, 6111, 8962, 4431, 3511, 9939, 2043, 5211, 6212, 2860, 913, 6838, 3874, 5645, 7369, 9294, 7152, 8541, 8338, 7749, 3248, 2108, 1483, 2927, 1445, 314, 5519, 3106, 3947, 8376, 2320, 2657, 1776, 2586, 2497, 767, 1641, 7313, 5027, 8088, 954, 4612, 6145, 9257, 3796, 418, 6737, 2850, 2481, 8819, 9618, 8230, 6580, 626, 7388, 6831, 1010, 181, 138, 4202, 4565, 4593, 3453, 5663, 1623, 2129, 5241, 906, 1337, 3634, 7645, 1051, 6241, 3066, 8048, 162, 5374, 3973, 2386, 9357, 4232, 4454, 163, 9918, 744, 4380, 9937, 6817, 8612, 7982, 5844, 4489, 2703, 6536, 5709, 3782, 937, 578, 1432, 5497, 1317, 2704, 3374, 2500, 9331, 5326, 6245, 9230, 4783, 6625, 2102, 9445, 6663, 9662, 2257, 5914, 4714, 1338, 711, 2366, 673, 5276, 4404, 1665, 8234, 5520, 1638, 3683, 6788, 212, 2812, 4193, 5160, 1970, 666, 266, 3675, 6305, 5266, 7194, 8166, 1991, 5160, 1970, 4886, 8427, 20528, 1913, 6471, 2369, 3688, 7112, 5404, 1792, 7191, 5664, 432, 7195, 7518, 5973, 2223, 1118, 5211, 1809, 1686, 7133, 1464, 3334, 2780, 5381, 6025, 8195, 7601, 7982, 350, 7152, 4532, 1232, 9128, 20483, 8883, 7646, 4124, 3543, 1698, 8014, 5677, 2775, 2001, 2631, 4193, 1991, 20645, 1413, 9939, 1109, 7775, 7418, 6458, 7714, 265, 10178, 7716, 856, 1325, 495, 2370, 2154, 5433, 9762, 1930, 2448, 3703, 704, 436, 2059, 1670, 548, 6089, 4155, 1878, 7571, 5875, 20724, 5338, 5304, 9103, 3119, 3875, 4443, 6386, 3496, 103, 9327, 170, 4718, 3240, 7980, 3474, 7337, 5194, 4079, 3147, 6096, 5411, 594, 5851, 135, 743, 2320, 5929, 4313, 9618, 2737, 20712, 8121, 4471, 5113, 4120, 7879, 5277, 8189, 9038, 4557, 1396, 9927, 10360, 3113, 7155, 7093, 8479, 20547, 5504, 6092, 5160, 2281, 162, 4494, 1970, 9004, 876, 5610, 20767, 1111, 457, 694, 4976, 5370, 5878, 20722, 5002, 4380, 6677, 7645, 2481, 6719, 20523, 7167, 5240, 4206, 5056, 6147, 9687, 7109, 20819, 1547, 3294, 6890, 7042, 8240, 7437, 8738, 3756, 20474, 5662, 20717, 6409, 9721, 3876, 3405, 902, 3203, 20518, 3683, 2927, 5201, 3276, 3986, 4917, 2263, 6018, 1664, 1860, 8357, 3997, 5326, 3111, 7145, 9647, 6206, 1481, 718, 4714, 1641, 6811, 7236, 4432, 20709, 3923, 5609, 20748, 3296, 1845, 3131, 5526, 6458, 1109, 3498, 7308, 3699, 1331, 2398, 958, 20611, 4612, 20734, 6784, 3178, 7391, 2289, 8612, 1271, 3261, 765, 3719, 20471, 2921, 3095, 7818, 5276, 6276, 1935, 6161, 6845, 1666, 137, 2778, 5744, 3190, 1318, 4981, 4071, 9447, 7441, 3219, 4172, 2903, 2680, 2964, 9230, 4202, 3109, 3877, 20804, 525, 6086, 3479, 6743, 6158, 4918, 3108, 7649, 237, 9842, 8245, 5369, 2784, 2578, 5302, 7839, 6114, 4489, 5663, 3430, 4925, 6919, 1211, 20632, 20738, 5994, 814, 3635, 1680, 4870, 8028, 8804, 7231, 5949, 20513, 1945, 386, 4420, 6737, 6479, 2101, 5771, 1397, 3761, 2268, 5046, 8765, 760, 3451, 8417, 5134, 9683, 7756, 8603, 3227, 3332, 6816, 3873, 4050, 4386, 960, 8710, 3649, 6284, 8870, 2405, 6671, 3917, 3912, 20473, 1226, 1757, 353, 2203, 378, 700, 5395, 1639, 8901, 780, 8337, 1055, 6081, 2861, 3057, 20659, 4270, 2571, 3706, 2792, 3467, 266, 913, 3634, 3471, 2983, 20773, 9301, 3263, 1819, 20815, 5518, 2587, 6583, 2546, 2058, 5776, 4409, 4276, 164, 20575, 4593, 1957, 4157, 4633, 4128, 1112, 3154, 1202, 1704, 20821, 1436, 459, 5213, 2796, 1244, 4581, 4193, 5160, 4524, 1970, 21182, 2223, 9945, 4532, 7646, 8883, 1232, 21268, 20833, 21533, 1109, 6458, 21006, 7418, 20895, 20831, 21655, 21123, 21532, 266, 21111, 432, 666, 2369, 780, 8427, 8901, 20523, 350, 590, 6815, 21369, 21995, 5211, 7194, 8166, 5266, 10178, 22273, 265, 21652, 3688, 3543, 2001, 2775, 2631, 5677, 743, 634, 21246, 20893, 5973, 22480, 21116, 21902, 21118, 3675, 3334, 1325, 3671, 20991, 21416, 20549, 2780, 5381, 6305, 21858, 21173, 21106, 22100, 21001, 21917, 20990, 20832, 3703, 704, 436, 2059, 21314, 21603, 20526, 22888, 21680, 21531, 21306, 21760, 22053, 7716, 856, 22397, 23110, 22856, 22267, 22889, 170, 103, 4313, 495, 22672, 21499, 20528, 7195, 20741, 8302, 21574, 21005, 135, 5929, 21244, 21115, 22595, 1055, 1792, 7191, 7112, 5664, 5404, 2927, 7109, 6147, 9687, 5056, 8240, 21455, 21305, 22299, 22167, 22549, 4443, 3875, 1270, 9683, 21140, 2454, 9756, 5466, 21752, 21459, 21360, 21196, 1319, 22128, 9103, 5304, 3276, 6025, 21635, 22906, 21595, 22107, 22987, 21763, 22097, 22022, 21558, 5263, 1882, 6089, 22102, 21004, 21573, 4718, 23812, 23791, 21741, 22357, 22710, 24347, 8014, 20872, 22271, 2058, 5776, 1125, 5433, 2154, 2108, 9939, 3261, 1271, 21367, 20999, 20840, 21242, 24291, 21885, 5113, 7152, 6485, 21153, 1205, 2428, 2559, 7571, 5875, 3119, 3634, 3471, 20996, 21409, 8066, 1930, 9762, 4155, 21688, 10332, 237, 3683, 20717, 20518, 6409, 4283, 1397, 21251, 21725, 21485, 21185, 21339, 2173, 1809, 21487, 626, 3087, 22424, 21648, 22784, 21332, 21120, 20874, 7601, 3427, 9333, 3344, 21923, 7042, 3294, 6890, 22712, 3465, 21187, 9445, 4672, 21110, 20824, 1686, 23738, 21486, 860, 20994, 6569, 20993, 21505, 21502, 5371, 767, 3706, 21414, 21498, 4714, 718, 6206, 1481, 22185, 21928, 7645, 7155, 21497, 6816, 4050, 3332, 4386, 3873, 7784, 20911, 20992, 21179, 21563, 21002, 5999, 5496, 21863, 21292, 23436, 21677, 21470, 22942, 23159, 4557, 21109, 23294, 9927, 1396, 22800, 5374, 5194, 5411, 3147, 4079, 22636, 21417, 8765, 5046, 7980, 22709, 7879, 4120, 5878, 5370, 21488, 21594, 21838, 548, 1670, 22901, 22281, 20474, 7714, 22746, 1111, 23093, 958, 20611, 6919, 21669, 21316, 3897, 20632, 23052, 20738, 8945, 21650, 22682, 673, 21262, 21525, 21175, 7455, 6902, 22224, 21651, 21732, 2813, 20892, 22917, 23090, 3616, 7642, 4581, 21176, 24033, 21029, 24242, 100, 21031, 11212, 3670, 21066, 6980, 20886, 21091, 359, 7314, 1118, 9327, 23193, 3113, 22421, 21861, 23699, 21218, 21484, 21009, 6671, 20724, 5338, 20483, 5504, 20547, 23368, 594, 8520, 3057, 22373, 22103, 22479, 3203, 5662, 995, 23879, 21954, 23076, 9506, 1473, 4869, 3207, 21351, 117157, 118515, 116570, 119894, 121957, 121471, 116802, 115355, 121256, 119893, 120641, 118771, 116120, 121682, 115451, 119175, 115112, 115979, 118677, 116050, 117811, 117665, 117055, 121253]|[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]|[0.965399444103241, 0.6677138209342957, 0.29238587617874146, 0.22947566211223602, 0.19523514807224274, 0.15710416436195374, 0.152867391705513, 0.13228657841682434, 0.09696498513221741, 0.07865703850984573, 0.0627659410238266, 0.04879164695739746, 0.04558374360203743, 0.04464663937687874, 0.04279952496290207, 0.04168836772441864, 0.03853396326303482, 0.03773858770728111, 0.03728433698415756, 0.03523756563663483, 0.0347154401242733, 0.03380782902240753, 0.03373424708843231, 0.03359993174672127, 0.032459378242492676, 0.03201627358794212, 0.03187595307826996, 0.031742993742227554, 0.030166305601596832, 0.02974403090775013, 0.029725542291998863, 0.0294145829975605, 0.028783176094293594, 0.028525227680802345, 0.02762666903436184, 0.024770764634013176, 0.023233341053128242, 0.02144286036491394, 0.020460041239857674, 0.020330369472503662, 0.020327769219875336, 0.020204398781061172, 0.020072024315595627, 0.01964580826461315, 0.019398679956793785, 0.0186427254229784, 0.018612561747431755, 0.018374793231487274, 0.018160315230488777, 0.01772698014974594, 0.01746676117181778, 0.01732480525970459, 0.017164679244160652, 0.016948485746979713, 0.016602905467152596, 0.016254667192697525, 0.015838105231523514, 0.015092683956027031, 0.01496878918260336, 0.014878318645060062, 0.014310089871287346, 0.014295605011284351, 0.014190856367349625, 0.013948827050626278, 0.013698330149054527, 0.013195405714213848, 0.01297577191144228, 0.012433275580406189, 0.012291043996810913, 0.012234299443662167, 0.012053272686898708, 0.011408951133489609, 0.011393571272492409, 0.011273957788944244, 0.011246491223573685, 0.01112134288996458, 0.01101861521601677, 0.010914608836174011, 0.010894759558141232, 0.010380733758211136, 0.01023984607309103, 0.01000717282295227, 0.009923318400979042, 0.009886719286441803, 0.00988049991428852, 0.009878898039460182, 0.00982768926769495, 0.009755962528288364, 0.009716921485960484, 0.009586801752448082, 0.009410313330590725, 0.009341028518974781, 0.009333711117506027, 0.009220877662301064, 0.008943651802837849, 0.00888071209192276, 0.008878909051418304, 0.00877381768077612, 0.008741135708987713, 0.008518729358911514, 0.008514165878295898, 0.008471001870930195, 0.008421609178185463, 0.008367499336600304, 0.008309083059430122, 0.008134229108691216, 0.00810971762984991, 0.008069532923400402, 0.008027642033994198, 0.008007548749446869, 0.00757804699242115, 0.007522255647927523, 0.0073925466276705265, 0.007363548967987299, 0.007272727321833372, 0.007245905697345734, 0.007239825092256069, 0.007139761466532946, 0.007137979380786419, 0.006869862787425518, 0.006808851379901171, 0.00678262859582901, 0.006760984659194946, 0.006725050043314695, 0.006583670154213905, 0.006571460515260696, 0.0065621910616755486, 0.0065593901090323925, 0.006522342097014189, 0.006492361892014742, 0.006353216711431742, 0.00632554292678833, 0.006199872586876154, 0.006136244162917137, 0.006071844138205051, 0.0060642133466899395, 0.006005686242133379, 0.006001501344144344, 0.005943767260760069, 0.0059431809931993484, 0.005940454080700874, 0.005901411175727844, 0.005809036083519459, 0.005780263803899288, 0.005720545072108507, 0.005701455287635326, 0.0056561678647994995, 0.005601793527603149, 0.005565880332142115, 0.005564081482589245, 0.005533240735530853, 0.005466504953801632, 0.005442918743938208, 0.0054366751573979855, 0.005432096775621176, 0.005426986608654261, 0.005413505248725414, 0.005408510100096464, 0.005338612012565136, 0.005327899940311909, 0.005298625212162733, 0.005269072949886322, 0.005256527103483677, 0.005256067495793104, 0.005221277009695768, 0.005170970689505339, 0.00504210963845253, 0.0050049745477736, 0.004940943792462349, 0.004819239489734173, 0.004788495600223541, 0.0047584958374500275, 0.004758079536259174, 0.004737406503409147, 0.0047053867019712925, 0.004699715878814459, 0.004673200659453869, 0.004629948176443577, 0.004598523955792189, 0.0045810420997440815, 0.00457341130822897, 0.004518362693488598, 0.004506985191255808, 0.004443963523954153, 0.0043997084721922874, 0.00439787469804287, 0.004391980357468128, 0.004373358562588692, 0.004369878210127354, 0.004351543728262186, 0.0043047452345490456, 0.004294536542147398, 0.004259572830051184, 0.004254439380019903, 0.004208164755254984, 0.004203230142593384, 0.0041560702957212925, 0.0041536325588822365, 0.004151333589106798, 0.004143670666962862, 0.004120171070098877, 0.0041039022617042065, 0.0040663559921085835, 0.0040143392980098724, 0.003991784993559122, 0.003987803123891354, 0.00393907492980361, 0.003858603537082672, 0.003842216683551669, 0.0037599285133183002, 0.0035935183987021446, 0.0035541856195777655, 0.0035368565004318953, 0.0035347489174455404, 0.003533213399350643, 0.0035132006742060184, 0.0035075806081295013, 0.0034881574101746082, 0.0034742094576358795, 0.00346359983086586, 0.0034545878879725933, 0.003450141754001379, 0.003430271055549383, 0.0034296049270778894, 0.003414781764149666, 0.0034032673574984074, 0.0033401024993509054, 0.0033258271869271994, 0.0033001878764480352, 0.0032940548844635487, 0.003285846672952175, 0.003285175422206521, 0.003260062774643302, 0.003253994043916464, 0.0032342555932700634, 0.003225766820833087, 0.0032256199046969414, 0.003215613542124629, 0.0031895963475108147, 0.0031616934575140476, 0.003154204459860921, 0.003109675832092762, 0.003096376545727253, 0.0030902402941137552, 0.0030770597513765097, 0.003076365916058421, 0.003070202888920903, 0.003057635622099042, 0.003052252810448408, 0.0030489221680909395, 0.003044422250241041, 0.0030393365304917097, 0.0030186937656253576, 0.0029845070093870163, 0.002982695819810033, 0.002919440856203437, 0.002915779361501336, 0.002900951076298952, 0.0028704553842544556, 0.0028600965160876513, 0.0027816742658615112, 0.002779315458610654, 0.002770574763417244, 0.0027541706804186106, 0.0027414497453719378, 0.0027143219485878944, 0.0027062473818659782, 0.0027062222361564636, 0.0026954184286296368, 0.002693988149985671, 0.002678917720913887, 0.00267414771951735, 0.002661522012203932, 0.0026592309586703777, 0.002657613717019558, 0.0026432068552821875, 0.0026423754170536995, 0.002629486145451665, 0.0026266074273735285, 0.002608722308650613, 0.00258220755495131, 0.002573697129264474, 0.00255158101208508, 0.002510939259082079, 0.0024983715265989304, 0.002484271302819252, 0.0024817101657390594, 0.002453908324241638, 0.0024518384598195553, 0.0024105345364660025, 0.0024058171547949314, 0.002401354955509305, 0.0023997125681489706, 0.0023979831021279097, 0.0023927753791213036, 0.002384589519351721, 0.002380423014983535, 0.00235739559866488, 0.0023490709718316793, 0.0023355998564511538, 0.002329020295292139, 0.0023211834486573935, 0.0022949608974158764, 0.002282751491293311, 0.0022819614969193935, 0.0022665185388177633, 0.0022616623900830746, 0.002250388963147998, 0.0022401202004402876, 0.002234439365565777, 0.002191228559240699, 0.0021777444053441286, 0.002170785330235958, 0.002169464947655797, 0.0021682388614863157, 0.002164958044886589, 0.0021641007624566555, 0.002151839667931199, 0.0021513612009584904, 0.0021503898315131664, 0.002131497021764517, 0.002113829832524061, 0.002100518438965082, 0.002089001005515456, 0.002077812561765313, 0.002074497053399682, 0.0020630990620702505, 0.002058041514828801, 0.002052830532193184, 0.0020493052434176207, 0.002036737510934472, 0.002026093192398548, 0.0020207413472235203, 0.0020134414080530405, 0.0019639183301478624, 0.0019625574350357056, 0.0019545876421034336, 0.0019490700215101242, 0.0019482402130961418, 0.0019479627953842282, 0.0019475464941933751, 0.0019402791513130069, 0.0019239346729591489, 0.0019153316970914602, 0.0019150804728269577, 0.0019135542679578066, 0.0019112195586785674, 0.0019103165250271559, 0.0019068331457674503, 0.0018972664838656783, 0.0018885803874582052, 0.001887054182589054, 0.0018842159770429134, 0.0018785959109663963, 0.0018776486394926906, 0.0018758093938231468, 0.001866153790615499, 0.0018624754156917334, 0.0018583342898637056, 0.0018438802799209952, 0.0018323211697861552, 0.0018156658625230193, 0.0018095989944413304, 0.0017999231349676847, 0.0017916669603437185, 0.0017693995032459497, 0.0017394660972058773, 0.001737627200782299, 0.001733011333271861, 0.0017320702318102121, 0.0017290340038016438, 0.0017187128541991115, 0.0017175093526020646, 0.0017164138844236732, 0.0017127355094999075, 0.0017034297343343496, 0.001703357440419495, 0.0016983626410365105, 0.0016977156046777964, 0.0016968362033367157, 0.0016893442953005433, 0.0016880633775144815, 0.0016820825403556228, 0.001681990921497345, 0.0016681354027241468, 0.0016627712175250053, 0.0016577134374529123, 0.001650356687605381, 0.0016446688678115606, 0.0016373292310163379, 0.0016367161879315972, 0.0016350302612408996, 0.0016225421568378806, 0.0016208048909902573, 0.0016131739830598235, 0.0016060909256339073, 0.0016048370162025094, 0.0015987064689397812, 0.0015889591304585338, 0.001577272778376937, 0.8770943912699064, 0.5556310089056057, 0.31164377604152493, 0.19109221225255404, 0.16735378887553592, 0.10235595154874656, 0.10074673435156349, 0.09641757547453578, 0.09641757547453576, 0.09641757547453575, 0.08623444331565004, 0.08256707336606678, 0.08256707336606678, 0.08100310776610199, 0.07579592291434621, 0.06945572941116475, 0.0683865681727468, 0.06838656817274678, 0.06833518777966999, 0.059104786250500176, 0.05844449735270935, 0.058444497352709346, 0.058444497352709346, 0.058444497352709346, 0.05844449735270934, 0.052895020611526816, 0.049265973608624544, 0.04926597360862454, 0.04926597360862454, 0.048782215477812696, 0.04580740650830319, 0.04463319497019415, 0.044176163202146755, 0.03736924281422306, 0.03183486212186357, 0.03177583206121082, 0.0316695220709499, 0.0309731239229746, 0.030973123922974598, 0.02999420771886844, 0.027131622830860787, 0.025708079492771676, 0.025556081932135426, 0.025224008931311746, 0.0247040715730997, 0.023601996878493486, 0.02360199687849348, 0.022391811171398004, 0.02212346792117302, 0.021247464942371907, 0.021138143414668457, 0.0211121170858466, 0.019708708256799927, 0.019677989668706264, 0.019149143153721713, 0.01912583570655067, 0.019125835706550666, 0.019125835706550662, 0.019049207735410797, 0.018559956242133982, 0.01855995624213398, 0.01855995624213398, 0.018558964478716758, 0.018469957487770458, 0.018111209172309486, 0.017889901746999386, 0.0178704621771555, 0.017870462177155495, 0.01734329564446388, 0.01727904596264181, 0.017279045962641803, 0.01699669041432653, 0.016996690414326523, 0.016850013135818794, 0.01681557024954853, 0.01642017884333069, 0.01642017884333069, 0.01642017884333069, 0.016315108708371263, 0.016192645560239853, 0.0161124383400989, 0.015893840432581977, 0.015893840432581973, 0.015893840432581973, 0.01589384043258197, 0.015202373916299599, 0.015202373916299597, 0.014940487962169142, 0.014633120543218183, 0.014552060144753154, 0.01402198112459194, 0.01386406117571196, 0.013797091469956177, 0.013797091469956174, 0.013773630475657085, 0.013773630475657083, 0.013748257442038907, 0.013661566243843475, 0.013661566243843473, 0.01339766655688618, 0.013397666556886179, 0.013367138367231295, 0.012970674648283163, 0.012922526296393434, 0.012772822880880167, 0.01273655907670124, 0.012671213748953764, 0.012616539593355198, 0.012616539593355196, 0.01258782215225821, 0.012587822152258208, 0.012587822152258206, 0.012532797506884673, 0.01252300170354851, 0.012421747592366821, 0.012251147771925198, 0.011910539765888243, 0.011448198992616171, 0.01139683470940198, 0.010753310741514435, 0.010684665005926871, 0.010574734485141927, 0.010554475164938883, 0.010137562996000613, 0.009975290363615419, 0.009937250950516422, 0.009923071250816233, 0.009859880314710015, 0.009859880314710015, 0.009729591800813508, 0.009459832151330113, 0.009459832151330111, 0.009375829286458508, 0.009210511890039132, 0.00921051189003913, 0.008326376451216838, 0.008302476463161495, 0.008266506160542076, 0.008002316496057715, 0.007712365147519599, 0.007612866608545469, 0.007612866608545468, 0.0074077095218799014, 0.007108836330052474, 0.006980866629506074, 0.006965995212579866, 0.006965995212579865, 0.006911956692171631, 0.006911956692171631, 0.006911956692171631, 0.006881549326486357, 0.006881549326486357, 0.0067888204795249945, 0.006769703987501904, 0.00671600145834495, 0.006664952223631518, 0.006465169789880786, 0.0064651697898807856, 0.0061400425563234405, 0.00614004255632344, 0.0060513980372859716, 0.00583018948625767, 0.005733852507821676, 0.0057338525078216756, 0.005650181908866501, 0.005546019262605487, 0.005415761558821232, 0.005415761558821231, 0.005258390050076639, 0.005191210916106866, 0.005191210916106866, 0.005191210916106865, 0.005191210916106864, 0.005088712922087156, 0.005088712922087155, 0.005045577153949997, 0.005045577153949996, 0.005045577153949994, 0.005020851132689084, 0.0050090456239917395, 0.005009045623991738, 0.004998050642757193, 0.004986697217079474, 0.004925192681529092, 0.004810019346917486, 0.004810019346917484, 0.00477944383454117, 0.004779443834541169, 0.004779443834541169, 0.004745874908317757, 0.004697263397877856, 0.004648440445491136, 0.0046484404454911355, 0.00463150293868459, 0.00449941112704165, 0.0044204154088439826, 0.004383634578761762, 0.0043219740796039425, 0.004321974079603942, 0.004321974079603942, 0.004321974079603942, 0.0041523754871947045, 0.00405527389440436, 0.004030365428949336, 0.004030365428949336, 0.004001216646280836, 0.004001216646280835, 0.0039648768236876936, 0.003932518150893212, 0.003932518150893212, 0.003932518150893211, 0.003932518150893211, 0.0038813794057556274, 0.0038616246867243333, 0.003861624686724333, 0.003845964994083059, 0.0038289720089371335, 0.003828972008937133, 0.0038289720089371326, 0.0038289720089371326, 0.0038125439765357787, 0.003733037777066507, 0.0037330377770665064, 0.0036673699495832768, 0.0036673699495832763, 0.003667369949583276, 0.0036673699495832755, 0.0036482797623848392, 0.003648279762384839, 0.0035805579274182315, 0.00352417340826673, 0.0034710914109512456, 0.003471091410951245, 0.0034479536207708606, 0.0034357705371684828, 0.0034357705371684823, 0.003409593218659267, 0.003408434114044139, 0.0033898542067440237, 0.0033650180342974824, 0.0033351241704830527, 0.0033351241704830527, 0.0032841968672922854, 0.0032782160807965726, 0.0032383142668926754, 0.0032264732158109356, 0.0032235935778685554, 0.003221952385614681, 0.0031964786653551633, 0.0031849258801275866, 0.0030049323988662058, 0.0030049323988662053, 0.002984080195444284, 0.0029840801954442837, 0.0029840801954442837, 0.002968071019470911, 0.0029680710194709106, 0.0029680710194709106, 0.0029436746462737527, 0.002926819702513107, 0.002826696906362655, 0.0028201784532021763, 0.002820178453202176, 0.002799308126184814, 0.002791899603114871, 0.0027581796469294466, 0.002758179646929446, 0.002758179646929446, 0.002755328201246642, 0.002702489865603204, 0.0026956230366636824, 0.002685896707110048, 0.0026850750034300573, 0.0026850750034300565, 0.002682473361304421, 0.0026713948101575644, 0.0026601309955906387, 0.0026601309955906383, 0.002590943163126093, 0.0025745684946446488, 0.0025564353339721673, 0.0025302855029160375, 0.0025137326190794182, 0.002449665709193525, 0.002449665709193525, 0.002442063867772206, 0.002428984673061885, 0.002423920135002384, 0.002423920135002384, 0.002385709554613107, 0.0023551028293779764, 0.0023551028293779756, 0.0022860962328678457, 0.0022860962328678453, 0.002245090591314916, 0.0022064168523754663, 0.0022057231214166204, 0.0022057231214166204, 0.0021226556354430833, 0.0021032029763358158, 0.0020924496430404934, 0.0020924496430404934, 0.0020868001155947957, 0.0020667564259028506, 0.0020163708168425033, 0.0020151726458105335, 0.0020151726458105335, 0.002012051359928933, 0.0020120513599289325, 0.002000653632129022, 0.0019981767407520096, 0.0019963341752154517, 0.0019963341752154513, 0.0019912877607513924, 0.0019912877607513924, 0.0019795084305807955, 0.001975401422480457, 0.0019754014224804568, 0.0019577107795966733, 0.001957710779596673, 0.0019410874151111143, 0.001935952396402674, 0.0019359523964026738, 0.0019359523964026738, 0.001919520336535665, 0.0019195203365356649, 0.001891418694937122, 0.0018650085889131236, 0.001840783383006247, 0.0018407833830062469, 0.0018407833830062466, 0.0018407833830062464, 0.0018407833830062464, 0.00183604104219904, 0.0018360410421990397, 0.0018111986271807364, 0.0017970249686790275, 0.001782767740265005, 0.0017827677402650049, 0.0017779146441523222, 0.001743767776607608, 0.0017437677766076077, 0.0017290516184823486, 0.0017290516184823483, 0.0017290516184823481, 0.0017167374408729428, 0.0017124351006884008, 0.0017055612236839845, 0.001697335125086346, 0.0016973351250863457, 0.0016874279623248617, 0.0016845503381153087, 0.0016845503381153085, 0.0016571682032557953, 0.0016521973037727422, 0.0016460252126584793, 0.0016305748475445546, 0.0016252485242175642, 0.0015727354064256616, 0.0015727354064256614, 0.0015727354064256614, 0.0015723064813335447, 0.0015639655999647763, 0.0015639655999647763, 0.0015639655999647763, 0.0015556287460616613, 0.0015497597217378383, 0.001549759721737838, 0.0015495976162452775, 0.0015475234714336329, 0.0015421770107783743, 0.0015274968984707157, 0.0015201266363244837, 0.0015071149016638611, 0.0014818908842748717, 0.0014815515702935496, 0.0014815515702935494, 0.0014526665866253655, 0.0014457755928919216, 0.0014457755928919216, 0.001442175038597533, 0.0014421750385975327, 0.0014295524578056972, 0.001429552457805697, 0.0014265484718612594, 0.0014241873701217901, 0.0014241873701217901, 0.0014215443457865637, 0.0014215443457865637, 0.001404700477556466, 0.0013996852759512225, 0.0013936127639252473, 0.001388623841533394, 0.0013788884501820399, 0.0013788884501820396, 0.001375487784552856, 0.0013384174546946354, 0.0013384174546946354, 0.001337521343586692, 0.0013173561251186468, 0.59264, 0.319786, 0.215177, 0.185221, 0.148761, 0.106235, 0.101677, 0.100404, 0.100404, 0.100404, 0.100404, 0.100204, 0.100204, 0.093398, 0.090506, 0.090506, 0.087449, 0.080085, 0.077817, 0.07667, 0.07667, 0.07667, 0.07667, 0.075735, 0.071341, 0.071069, 0.063496, 0.047369, 0.047277, 0.046669, 0.04575, 0.045117, 0.045117, 0.04274, 0.04274, 0.04274, 0.04274, 0.03863, 0.038386, 0.038386, 0.038386, 0.037345, 0.037345, 0.037345, 0.037345, 0.035758, 0.034901, 0.033924, 0.033924, 0.033924, 0.033924, 0.03379, 0.031488, 0.031488, 0.030377, 0.030102, 0.029222, 0.029222, 0.027803, 0.027803, 0.027416, 0.026754, 0.026359, 0.026359, 0.026264, 0.025516, 0.024902, 0.024673, 0.024673, 0.02317, 0.022989, 0.022057, 0.019743, 0.019743, 0.019743, 0.019743, 0.019743, 0.017451, 0.016762, 0.016762, 0.016762, 0.016762, 0.016416, 0.016416, 0.016016, 0.015841, 0.015841, 0.01446, 0.01446, 0.01446, 0.01446, 0.01434, 0.01434, 0.014304, 0.014304, 0.014304, 0.014304, 0.014304, 0.013523, 0.013066, 0.013066, 0.013066, 0.012849, 0.012849, 0.012687, 0.012567, 0.01238, 0.01238, 0.01238, 0.01238, 0.011208, 0.011208, 0.011164, 0.011164, 0.010421, 0.010421, 0.010324, 0.010324, 0.010324, 0.010324, 0.010324, 0.010229, 0.010229, 0.010229, 0.010229, 0.010229, 0.009978, 0.008986, 0.008986, 0.008886, 0.008886, 0.008886, 0.008876, 0.008876, 0.008675, 0.008675, 0.008468, 0.008468, 0.008468, 0.008468, 0.008329, 0.008329, 0.008329, 0.008329, 0.008314, 0.008314, 0.008087, 0.008087, 0.007974, 0.007937, 0.007751, 0.007751, 0.007588, 0.007588, 0.007588, 0.007462, 0.007462, 0.007412, 0.007412, 0.007147, 0.007147, 0.007058, 0.006995, 0.006688, 0.006688, 0.00639, 0.006338, 0.006287, 0.006287, 0.006287, 0.006287, 0.006287, 0.006105, 0.006053, 0.006053, 0.006053, 0.006053, 0.005728, 0.005728, 0.005728, 0.005716, 0.005716, 0.005464, 0.005464, 0.005406, 0.005406, 0.005305, 0.005305, 0.005282, 0.005282, 0.005193, 0.005132, 0.004901, 0.004901, 0.004901, 0.004901, 0.004901, 0.004845, 0.004845, 0.004845, 0.004615, 0.004615, 0.004595, 0.004595, 0.00452, 0.004507, 0.004507, 0.004507, 0.004481, 0.004462, 0.004307, 0.004284, 0.004284, 0.004284, 0.004284, 0.004214, 0.004214, 0.004211, 0.004211, 0.004211, 0.004211, 0.004206, 0.004206, 0.004183, 0.003889, 0.003814, 0.003814, 0.003752, 0.003752, 0.003752, 0.003727, 0.003684, 0.003602, 0.003404, 0.003237, 0.003237, 0.003237, 0.003226, 0.003226, 0.003226, 0.003226, 0.003226, 0.003173, 0.003167, 0.003167, 0.003166, 0.003156, 0.003156, 0.003127, 0.003111, 0.003086, 0.003086, 0.003086, 0.003086, 0.003077, 0.003077, 0.003077, 0.002976, 0.002976, 0.002976, 0.002941, 0.002941, 0.00276, 0.00276, 0.00276, 0.00276, 0.002741, 0.002681, 0.002681, 0.002681, 0.002631, 0.002605, 0.002605, 0.002605, 0.002605, 0.002605, 0.002576, 0.002537, 0.002528, 0.002528, 0.002528, 0.002528, 0.002508, 0.002508, 0.002508, 0.002508, 0.002439, 0.002439, 0.002439, 0.002419, 0.002419, 0.002397, 0.002397, 0.002394, 0.002367, 0.002367, 0.002349, 0.002349, 0.002297, 0.002297, 0.002297, 0.002297, 0.002286, 0.002255, 0.002209, 0.002209, 0.002209, 0.002197, 0.002192, 0.002192, 0.002188, 0.002188, 0.002181, 0.002181, 0.002177, 0.002173, 0.002173, 0.002143, 0.002143, 0.002143, 0.002133, 0.002133, 0.002133, 0.002133, 0.002126, 0.002126, 0.002126, 0.002125, 0.002092, 0.002084, 0.002084, 0.002084, 0.002084, 0.002084, 0.002082, 0.002082, 0.002063, 0.001984, 0.001827, 0.001804, 0.001803, 0.001779, 0.001771, 0.001771, 0.001739, 0.001736, 0.001728, 0.001693, 0.001693, 0.001627, 0.001533, 0.001533, 0.001533, 0.001527, 0.001527, 0.001527, 0.001527, 0.001527, 0.001473, 0.001473, 0.001473, 0.001473, 0.001473, 0.001473, 0.001427, 0.001427, 0.001425, 0.001425, 0.001425, 0.001425, 0.001419, 0.001419, 0.001419, 0.001364, 0.001364, 0.001348, 0.001341, 0.001321, 0.001321, 0.001321, 0.001321, 0.001321, 0.0013, 0.0013, 0.0013, 0.0013, 0.001262, 0.001262, 0.00126, 0.00126, 0.00126, 0.00125, 0.00125, 0.00125, 0.001237, 0.001216, 0.001216, 0.001216, 0.001216, 0.001212, 14.704392785049343, 13.246072706730299, 12.934162772825683, 12.814133299931399, 12.734241440785368, 12.067739654374002, 11.816398798132855, 11.665816266662794, 11.398039780669139, 11.092732669309825, 10.776369369220276, 10.228518258429922, 10.224717398271082, 9.863305611926723, 9.844083742842422, 9.650840826705585, 9.395633583246825, 9.367014288753012, 9.35249872734345, 9.308368534404476, 9.276140090877604, 9.055038443779253, 8.827951622471485, 8.788567896516017]| +--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ === embeddings_v1 schema === +--------+---------+-------+ |col_name|data_type|comment| +--------+---------+-------+ |dim_0 |float |NULL | |dim_1 |float |NULL | |dim_2 |float |NULL | |dim_3 |float |NULL | |dim_4 |float |NULL | |dim_5 |float |NULL | |dim_6 |float |NULL | |dim_7 |float |NULL | |dim_8 |float |NULL | |dim_9 |float |NULL | |dim_10 |float |NULL | |dim_11 |float |NULL | |dim_12 |float |NULL | |dim_13 |float |NULL | |dim_14 |float |NULL | |dim_15 |float |NULL | |dim_16 |float |NULL | |dim_17 |float |NULL | |dim_18 |float |NULL | |dim_19 |float |NULL | +--------+---------+-------+ only showing top 20 rows Row count: 5316 +--------------------+ |__index_level_0__ | +--------------------+ |nmdc:bsm-11-3a6fv767| |nmdc:bsm-11-2hve6455| |nmdc:bsm-11-s8ktn043| |nmdc:bsm-12-8496kx05| |nmdc:bsm-11-x1g8z726| +--------------------+
# Step 1g: Confirm the bridge table and check coverage via Spark SQL.
# NOTE: Do NOT convert omics_files_table to pandas and back to Spark —
# spark.createDataFrame(pandas_df) fails when the DataFrame has PyArrow-backed
# columns (ChunkedArray), which is always the case after .toPandas() on
# Spark Connect. Use omics_files_table directly in SQL for all subsequent joins.
if both_id_tables:
bridge_tbl_name = f'nmdc_arkin.{both_id_tables[0]}'
print(f'Bridge table: {bridge_tbl_name}')
# Coverage check: how many centrifuge / metabolomics file_ids are bridged to a sample_id?
clf_coverage = spark.sql(f"""
SELECT
COUNT(DISTINCT c.file_id) as clf_files_total,
COUNT(DISTINCT CASE WHEN b.sample_id IS NOT NULL THEN c.file_id END) as clf_files_bridged
FROM (SELECT DISTINCT file_id FROM nmdc_arkin.centrifuge_gold) c
LEFT JOIN {bridge_tbl_name} b ON c.file_id = b.file_id
""").toPandas()
met_coverage = spark.sql(f"""
SELECT
COUNT(DISTINCT m.file_id) as met_files_total,
COUNT(DISTINCT CASE WHEN b.sample_id IS NOT NULL THEN m.file_id END) as met_files_bridged
FROM (SELECT DISTINCT file_id FROM nmdc_arkin.metabolomics_gold) m
LEFT JOIN {bridge_tbl_name} b ON m.file_id = b.file_id
""").toPandas()
print('Classifier coverage:')
print(clf_coverage.to_string())
print('Metabolomics coverage:')
print(met_coverage.to_string())
file_bridge_found = True
else:
print('No direct bridge table found. Attempting file_name-based bridge...')
spark.sql("""
SELECT DISTINCT file_id, file_name FROM nmdc_arkin.centrifuge_gold LIMIT 5
""").show(truncate=False)
spark.sql("""
SELECT DISTINCT file_id, file_name FROM nmdc_arkin.metabolomics_gold LIMIT 5
""").show(truncate=False)
file_bridge_found = False
bridge_tbl_name = None
Bridge table: nmdc_arkin.omics_files_table Classifier coverage: clf_files_total clf_files_bridged 0 3577 3577 Metabolomics coverage: met_files_total met_files_bridged 0 2460 2460
# Step 1h: If no direct bridge was found, check nmdc_ncbi_biosamples for a cross-reference.
if not file_bridge_found:
print('Exploring nmdc_ncbi_biosamples for file → sample links...')
try:
ncbi_tables = spark.sql('SHOW TABLES IN nmdc_ncbi_biosamples').toPandas()
print('Tables in nmdc_ncbi_biosamples:', ncbi_tables['tableName'].tolist())
try:
spark.sql('DESCRIBE nmdc_ncbi_biosamples.biosamples_ids').show(20, truncate=False)
spark.sql('SELECT * FROM nmdc_ncbi_biosamples.biosamples_ids LIMIT 5').show(truncate=False)
except Exception as e:
print(f'biosamples_ids: {e}')
try:
link_schema = spark.sql('DESCRIBE nmdc_ncbi_biosamples.biosamples_links').toPandas()
print('\nbiosamples_links columns:', link_schema['col_name'].tolist())
spark.sql('SELECT * FROM nmdc_ncbi_biosamples.biosamples_links LIMIT 5').show(truncate=False)
except Exception as e:
print(f'biosamples_links: {e}')
except Exception as e:
print(f'nmdc_ncbi_biosamples exploration error: {e}')
else:
print(f'Bridge found: {bridge_tbl_name}. Skipping nmdc_ncbi_biosamples.')
Bridge found: nmdc_arkin.omics_files_table. Skipping nmdc_ncbi_biosamples.
Part 2: Sample Inventory — Samples with Both Omics Data Types¶
Using the bridge found in Part 1, identify sample_id values that have both
a metagenomics classifier file (centrifuge_gold) AND a metabolomics file (metabolomics_gold).
# Build sample overlap via the bridge
# Use omics_files_table directly in SQL — no pandas→Spark roundtrip.
# spark.createDataFrame(pandas_df) fails with ChunkedArray error when pandas_df
# was produced by .toPandas() on a Spark Connect DataFrame (PyArrow-backed columns).
if file_bridge_found and bridge_tbl_name:
# Samples with metagenomics (centrifuge) classifier data
clf_samples = spark.sql(f"""
SELECT DISTINCT b.sample_id
FROM (SELECT DISTINCT file_id FROM nmdc_arkin.centrifuge_gold) c
JOIN {bridge_tbl_name} b ON c.file_id = b.file_id
WHERE b.sample_id IS NOT NULL
""").toPandas()
# Samples with metabolomics data
met_samples = spark.sql(f"""
SELECT DISTINCT b.sample_id
FROM (SELECT DISTINCT file_id FROM nmdc_arkin.metabolomics_gold) m
JOIN {bridge_tbl_name} b ON m.file_id = b.file_id
WHERE b.sample_id IS NOT NULL
""").toPandas()
# Samples with BOTH
clf_set = set(clf_samples['sample_id'].tolist())
met_set = set(met_samples['sample_id'].tolist())
overlap_samples = clf_set & met_set
print(f'Samples with classifier data (centrifuge): {len(clf_set)}')
print(f'Samples with metabolomics data: {len(met_set)}')
print(f'Samples with BOTH (overlap): {len(overlap_samples)}')
overlap_sample_ids = list(overlap_samples)
else:
print('ERROR: No file→sample bridge available. Cannot compute sample overlap.')
clf_set = set()
met_set = set()
overlap_sample_ids = []
Samples with classifier data (centrifuge): 6361 Samples with metabolomics data: 1148 Samples with BOTH (overlap): 221
# Merge ecosystem metadata from study_table for overlap samples
# abiotic_features uses sample_id — join directly
if overlap_sample_ids:
# Load abiotic features for overlap samples
abiotic_df = spark.sql('SELECT * FROM nmdc_arkin.abiotic_features').toPandas()
abiotic_overlap = abiotic_df[abiotic_df['sample_id'].isin(overlap_sample_ids)].copy()
print(f'Abiotic features rows for overlap samples: {len(abiotic_overlap)}')
# Study table for ecosystem categorization
# study_id format: nmdc:sty-11-XXXXXXXX
# sample_id format: nmdc:bsm-11-XXXXXXXX (if biosample prefix)
# Link via file_bridge_df: get file_id → study linkage from file_name
# file_name for classifier: 'nmdc_wfrbt-11-krmkys65.1_kraken2_report.tsv'
# Study linkage must come through study_table
# For now, check what sample_id values look like
if overlap_sample_ids:
print(f'\nFirst 10 overlap sample_ids: {overlap_sample_ids[:10]}')
else:
print('No overlap samples — skipping ecosystem metadata merge.')
abiotic_overlap = pd.DataFrame()
Abiotic features rows for overlap samples: 221 First 10 overlap sample_ids: ['nmdc:bsm-11-rk62cv25', 'nmdc:bsm-11-q72ew015', 'nmdc:bsm-11-62fxv990', 'nmdc:bsm-11-j9v5kc93', 'nmdc:bsm-13-c0xjg970', 'nmdc:bsm-11-frgt4x11', 'nmdc:bsm-11-011z7z70', 'nmdc:bsm-11-ce1sg012', 'nmdc:bsm-11-h49t7j41', 'nmdc:bsm-13-amdcp906']
# Build per-sample file inventory with omics type labels.
# Use omics_files_table directly in SQL subqueries — no temp views needed.
if overlap_sample_ids and file_bridge_found and bridge_tbl_name:
# Overlap sample_ids as a SQL IN list (safe: IDs are nmdc:bsm-11-* strings)
# For large lists use a subquery approach instead of IN clause
# Here we use the SQL INTERSECT approach to keep it in Spark:
clf_file_df = spark.sql(f"""
SELECT DISTINCT b.sample_id, c.file_id as clf_file_id, c.file_name as clf_file_name
FROM (SELECT DISTINCT file_id, file_name FROM nmdc_arkin.centrifuge_gold) c
JOIN {bridge_tbl_name} b ON c.file_id = b.file_id
WHERE b.sample_id IN (
SELECT b2.sample_id FROM {bridge_tbl_name} b2
JOIN (SELECT DISTINCT file_id FROM nmdc_arkin.centrifuge_gold) c2 ON b2.file_id = c2.file_id
INTERSECT
SELECT b3.sample_id FROM {bridge_tbl_name} b3
JOIN (SELECT DISTINCT file_id FROM nmdc_arkin.metabolomics_gold) m3 ON b3.file_id = m3.file_id
)
""").toPandas()
met_file_df = spark.sql(f"""
SELECT DISTINCT b.sample_id, m.file_id as met_file_id, m.file_name as met_file_name
FROM (SELECT DISTINCT file_id, file_name FROM nmdc_arkin.metabolomics_gold) m
JOIN {bridge_tbl_name} b ON m.file_id = b.file_id
WHERE b.sample_id IN (
SELECT b2.sample_id FROM {bridge_tbl_name} b2
JOIN (SELECT DISTINCT file_id FROM nmdc_arkin.centrifuge_gold) c2 ON b2.file_id = c2.file_id
INTERSECT
SELECT b3.sample_id FROM {bridge_tbl_name} b3
JOIN (SELECT DISTINCT file_id FROM nmdc_arkin.metabolomics_gold) m3 ON b3.file_id = m3.file_id
)
""").toPandas()
inventory = clf_file_df.merge(met_file_df, on='sample_id', how='inner')
print(f'Inventory rows (sample × clf_file × met_file): {len(inventory)}')
print(f'Unique samples in inventory: {inventory["sample_id"].nunique()}')
print(inventory.head(5).to_string())
else:
print('Cannot build inventory — no bridge or no overlap samples.')
inventory = pd.DataFrame()
clf_file_df = pd.DataFrame()
met_file_df = pd.DataFrame()
Inventory rows (sample × clf_file × met_file): 646
Unique samples in inventory: 221
sample_id clf_file_id clf_file_name met_file_id met_file_name
0 nmdc:bsm-11-ahfq0n74 nmdc:dobj-11-ggpy8r50 nmdc_wfrbt-11-mcj39k52.1_centrifuge_report.tsv nmdc:dobj-12-716d9s20 20220119_JGI_MD_507130_BioS_final1_QE-139_HILICZ_USHXG01825_POS_MSMS_5RM_BESC-13-Corv-RM_2_Rg70to1050-CE102040-root-S1_Run922.csv
1 nmdc:bsm-11-ahfq0n74 nmdc:dobj-11-ggpy8r50 nmdc_wfrbt-11-mcj39k52.1_centrifuge_report.tsv nmdc:dobj-12-591x8e41 20220211_JGI_MD_507130_BioS_final1_IDX_C18_USDAY59443_POS_MSMS_5RM_BESC-13-Corv-RM_2_Rg80to1200-CE102040-root-S1_Run935.csv
2 nmdc:bsm-11-ahfq0n74 nmdc:dobj-11-ggpy8r50 nmdc_wfrbt-11-mcj39k52.1_centrifuge_report.tsv nmdc:dobj-12-mk76tz88 20220211_JGI_MD_507130_BioS_final1_IDX_C18_USDAY59443_NEG_MSMS_5RM_BESC-13-Corv-RM_2_Rg80to1200-CE102040-root-S1_Run936.csv
3 nmdc:bsm-11-ahfq0n74 nmdc:dobj-11-ggpy8r50 nmdc_wfrbt-11-mcj39k52.1_centrifuge_report.tsv nmdc:dobj-12-2nvkxm21 20220119_JGI_MD_507130_BioS_final1_QE-139_HILICZ_USHXG01825_NEG_MSMS_5RM_BESC-13-Corv-RM_2_Rg70to1050-CE102040-root-S1_Run923.csv
4 nmdc:bsm-11-v0hqhp22 nmdc:dobj-11-6qgzvr76 nmdc_wfrbt-11-11v82153.1_centrifuge_report.tsv nmdc:dobj-12-jr6te653 20220119_JGI_MD_507130_BioS_final1_QE-139_HILICZ_USHXG01825_POS_MSMS_17RZM_BESC-234-Corv-RZM_1_Rg70to1050-CE102040-rhizo-S1_Run344.csv
Part 3: NMDC Taxon Names → GTDB Species Clade¶
Map species-rank taxon names from centrifuge_gold to GTDB species clades
in kbase_ke_pangenome.gtdb_species_clade using normalized name matching.
Approach (following enigma_contamination_functional_potential NB02):
- Normalize genus name from NCBI species name (remove 's__' prefix, lowercase)
- Match at species level first (exact GTDB species name match)
- Fall back to genus-level match for unresolved taxa
- Report confidence tier:
species_exact,genus_proxy,unmapped
# Get all unique species-rank taxa from centrifuge_gold
# Using all files (not just overlap) to build a comprehensive bridge table
# centrifuge_gold: rank='species', label=taxon name, abundance=relative abundance
centrifuge_species = spark.sql("""
SELECT label as taxon_name, COUNT(DISTINCT file_id) as n_files,
AVG(abundance) as mean_abundance
FROM nmdc_arkin.centrifuge_gold
WHERE LOWER(rank) = 'species'
AND label IS NOT NULL
AND label != ''
GROUP BY label
ORDER BY n_files DESC
""").toPandas()
print(f'Unique species-rank taxa in centrifuge_gold: {len(centrifuge_species)}')
print('Most common taxa:')
print(centrifuge_species.head(10).to_string())
Unique species-rank taxa in centrifuge_gold: 4894
Most common taxa:
taxon_name n_files mean_abundance
0 Bradyrhizobium sp. ORS 278 3576 0.000740
1 Burkholderia cenocepacia 3575 0.000111
2 Rhodopseudomonas palustris 3575 0.012858
3 Pseudomonas fluorescens 3575 0.001186
4 Streptomyces albus 3575 0.000081
5 Bradyrhizobium sp. BTAi1 3575 0.004004
6 Stutzerimonas stutzeri 3575 0.000270
7 Ralstonia solanacearum 3574 0.000176
8 Nocardia cyriacigeorgica 3574 0.000206
9 Rhizorhabdus wittichii 3574 0.000295
# Normalization functions for name matching
def norm_species(x: str) -> str:
"""Normalize NCBI species name for GTDB matching.
NCBI: 'Candidatus Methylotenera versatilis' -> 'methylotenera_versatilis'
GTDB: 's__Methylotenera_versatilis' -> 'methylotenera_versatilis'
"""
if pd.isna(x) or not str(x).strip():
return ''
x = str(x).strip().lower()
# Remove GTDB prefix if present
x = re.sub(r'^s__', '', x)
# Remove 'candidatus' prefix
x = re.sub(r'^candidatus\s+', '', x)
# Replace spaces and special chars with underscore
x = re.sub(r'[^a-z0-9]+', '_', x)
return x.strip('_')
def norm_genus(x: str) -> str:
"""Extract and normalize genus from species name."""
if pd.isna(x) or not str(x).strip():
return ''
x = str(x).strip().lower()
x = re.sub(r'^s__', '', x)
x = re.sub(r'^g__', '', x)
x = re.sub(r'^candidatus\s+', '', x)
# Take first word as genus
parts = re.split(r'[^a-z0-9]', x)
genus = parts[0] if parts else ''
return re.sub(r'[^a-z0-9]', '_', genus).strip('_')
# Prepare centrifuge taxa with normalized names
centrifuge_species['species_norm'] = centrifuge_species['taxon_name'].map(norm_species)
centrifuge_species['genus_norm'] = centrifuge_species['taxon_name'].map(norm_genus)
centrifuge_species = centrifuge_species[centrifuge_species['species_norm'] != '']
print(f'Taxa with non-empty normalized name: {len(centrifuge_species)}')
print(centrifuge_species[['taxon_name', 'species_norm', 'genus_norm']].head(10).to_string())
Taxa with non-empty normalized name: 4894
taxon_name species_norm genus_norm
0 Bradyrhizobium sp. ORS 278 bradyrhizobium_sp_ors_278 bradyrhizobium
1 Burkholderia cenocepacia burkholderia_cenocepacia burkholderia
2 Rhodopseudomonas palustris rhodopseudomonas_palustris rhodopseudomonas
3 Pseudomonas fluorescens pseudomonas_fluorescens pseudomonas
4 Streptomyces albus streptomyces_albus streptomyces
5 Bradyrhizobium sp. BTAi1 bradyrhizobium_sp_btai1 bradyrhizobium
6 Stutzerimonas stutzeri stutzerimonas_stutzeri stutzerimonas
7 Ralstonia solanacearum ralstonia_solanacearum ralstonia
8 Nocardia cyriacigeorgica nocardia_cyriacigeorgica nocardia
9 Rhizorhabdus wittichii rhizorhabdus_wittichii rhizorhabdus
# Load GTDB species clades from pangenome
# GTDB species names look like: 's__Methylotenera_versatilis'
gtdb_species = spark.sql("""
SELECT DISTINCT gtdb_species_clade_id, GTDB_species
FROM kbase_ke_pangenome.gtdb_species_clade
""").toPandas()
print(f'GTDB species clades: {len(gtdb_species)}')
print('Sample GTDB species names:')
print(gtdb_species['GTDB_species'].head(10).tolist())
# Build normalized species and genus columns for GTDB
gtdb_species['species_norm'] = gtdb_species['GTDB_species'].map(norm_species)
gtdb_species['genus_norm'] = gtdb_species['GTDB_species'].map(norm_genus)
gtdb_species = gtdb_species[gtdb_species['species_norm'] != ''].drop_duplicates()
print(f'\nGTDB species with non-empty normalized name: {len(gtdb_species)}')
print(gtdb_species[['GTDB_species', 'species_norm', 'genus_norm']].head(5).to_string())
GTDB species clades: 27690
Sample GTDB species names:
['s__Rhizobium_phaseoli', 's__CAIPMZ01_sp903861715', 's__Pseudomonas_nitroreducens', 's__Leuconostoc_gelidum', 's__Prevotella_nigrescens', 's__Tractidigestivibacter_sp000752675', 's__Ellagibacter_isourolithinifaciens', 's__Limimorpha_sp900769945', 's__Succinivibrio_sp003456415', 's__VUNA01_sp002299625']
GTDB species with non-empty normalized name: 27690
GTDB_species species_norm genus_norm
0 s__Rhizobium_phaseoli rhizobium_phaseoli rhizobium
1 s__CAIPMZ01_sp903861715 caipmz01_sp903861715 caipmz01
2 s__Pseudomonas_nitroreducens pseudomonas_nitroreducens pseudomonas
3 s__Leuconostoc_gelidum leuconostoc_gelidum leuconostoc
4 s__Prevotella_nigrescens prevotella_nigrescens prevotella
# Step 3a: Species-level exact match (normalized NCBI species name == normalized GTDB species name)
species_exact = centrifuge_species.merge(
gtdb_species[['gtdb_species_clade_id', 'GTDB_species', 'species_norm']],
on='species_norm',
how='left'
)
species_exact['mapping_tier'] = species_exact['gtdb_species_clade_id'].apply(
lambda v: 'species_exact' if pd.notna(v) else 'unmapped'
)
mapped_species = species_exact[species_exact['mapping_tier'] == 'species_exact']
still_unmapped = species_exact[species_exact['mapping_tier'] == 'unmapped']
print(f'Species-exact matches: {mapped_species["taxon_name"].nunique()}')
print(f'Unmapped after species-exact: {still_unmapped["taxon_name"].nunique()}')
print(f'Species-exact match rate: {mapped_species["taxon_name"].nunique() / len(centrifuge_species):.1%}')
Species-exact matches: 1375 Unmapped after species-exact: 3519 Species-exact match rate: 28.1%
# Step 3b: Genus-level fallback for unmapped taxa
# Match on normalized genus; if one GTDB clade per genus, use it (species proxy)
# If multiple clades per genus, record as multi_clade_ambiguous
# Count GTDB species per genus
gtdb_genus_counts = (
gtdb_species.groupby('genus_norm')['gtdb_species_clade_id']
.nunique()
.rename('n_gtdb_clades_for_genus')
.reset_index()
)
# Best representative GTDB clade per genus (use first alphabetically when ambiguous)
gtdb_genus_rep = (
gtdb_species.sort_values(['genus_norm', 'GTDB_species'])
.drop_duplicates(subset=['genus_norm'])
[['genus_norm', 'gtdb_species_clade_id', 'GTDB_species']]
.rename(columns={'GTDB_species': 'GTDB_species_representative'})
)
genus_fallback = still_unmapped[['taxon_name', 'species_norm', 'genus_norm', 'n_files', 'mean_abundance']].merge(
gtdb_genus_rep,
on='genus_norm',
how='left'
).merge(
gtdb_genus_counts,
on='genus_norm',
how='left'
)
genus_fallback['n_gtdb_clades_for_genus'] = genus_fallback['n_gtdb_clades_for_genus'].fillna(0).astype(int)
genus_fallback['mapping_tier'] = genus_fallback.apply(
lambda row: (
'genus_proxy_unique' if row['n_gtdb_clades_for_genus'] == 1
else 'genus_proxy_ambiguous' if row['n_gtdb_clades_for_genus'] > 1
else 'unmapped'
),
axis=1
)
print('Genus fallback mapping tier distribution:')
print(genus_fallback['mapping_tier'].value_counts().to_string())
Genus fallback mapping tier distribution: mapping_tier unmapped 2022 genus_proxy_ambiguous 1352 genus_proxy_unique 145
# Step 3c: Combine species_exact and genus_fallback into the full bridge table
# Standardize columns for concatenation
species_exact_out = mapped_species[['taxon_name', 'species_norm', 'genus_norm',
'gtdb_species_clade_id', 'GTDB_species',
'n_files', 'mean_abundance', 'mapping_tier']].copy()
species_exact_out['n_gtdb_clades_for_genus'] = 1
species_exact_out['GTDB_species_representative'] = species_exact_out['GTDB_species']
genus_fallback_out = genus_fallback.copy()
genus_fallback_out['GTDB_species'] = genus_fallback_out.get('GTDB_species_representative',
pd.Series([''] * len(genus_fallback)))
# Keep only unmapped from genus_fallback (species-exact already captured)
genus_mapped = genus_fallback_out[genus_fallback_out['mapping_tier'] != 'unmapped'].copy()
truly_unmapped = genus_fallback_out[genus_fallback_out['mapping_tier'] == 'unmapped'].copy()
bridge = pd.concat([
species_exact_out[['taxon_name', 'species_norm', 'genus_norm',
'gtdb_species_clade_id', 'GTDB_species',
'n_files', 'mean_abundance', 'mapping_tier', 'n_gtdb_clades_for_genus']],
genus_mapped[['taxon_name', 'species_norm', 'genus_norm',
'gtdb_species_clade_id', 'GTDB_species_representative',
'n_files', 'mean_abundance', 'mapping_tier', 'n_gtdb_clades_for_genus']].rename(
columns={'GTDB_species_representative': 'GTDB_species'}),
truly_unmapped[['taxon_name', 'species_norm', 'genus_norm',
'n_files', 'mean_abundance', 'mapping_tier', 'n_gtdb_clades_for_genus']],
], ignore_index=True)
print(f'Total bridge rows: {len(bridge)}')
print('Mapping tier distribution:')
print(bridge['mapping_tier'].value_counts().to_string())
mapped_frac = bridge[bridge['mapping_tier'] != 'unmapped']['taxon_name'].nunique() / len(bridge)
print(f'\nOverall taxon mapping rate: {mapped_frac:.1%}')
Total bridge rows: 4894 Mapping tier distribution: mapping_tier unmapped 2022 species_exact 1375 genus_proxy_ambiguous 1352 genus_proxy_unique 145 Overall taxon mapping rate: 58.7%
Part 4: Bridge Quality Per Sample¶
For each overlap sample (samples with both classifier and metabolomics data),
compute the fraction of community abundance that has been mapped to a GTDB clade.
Quality metric: bridge_coverage = Σ(abundance_i) for mapped taxa / Σ(abundance_all_taxa)
Flag samples below 30% bridge coverage for exclusion.
# Compute bridge quality per classifier file.
# Use omics_files_table in SQL subqueries to filter to overlap samples —
# avoids spark.createDataFrame() which fails on PyArrow ChunkedArray columns.
if overlap_sample_ids and file_bridge_found and bridge_tbl_name and not clf_file_df.empty:
# Subquery: classifier files that belong to overlap samples
# (samples with BOTH centrifuge AND metabolomics, determined by SQL INTERSECT)
clf_data = spark.sql(f"""
SELECT c.file_id, c.label as taxon_name, c.abundance
FROM nmdc_arkin.centrifuge_gold c
JOIN {bridge_tbl_name} b ON c.file_id = b.file_id
WHERE b.sample_id IN (
SELECT b2.sample_id FROM {bridge_tbl_name} b2
JOIN (SELECT DISTINCT file_id FROM nmdc_arkin.centrifuge_gold) c2 ON b2.file_id = c2.file_id
INTERSECT
SELECT b3.sample_id FROM {bridge_tbl_name} b3
JOIN (SELECT DISTINCT file_id FROM nmdc_arkin.metabolomics_gold) m3 ON b3.file_id = m3.file_id
)
AND LOWER(c.rank) = 'species'
AND c.label IS NOT NULL AND c.label != ''
AND c.abundance > 0
""").toPandas()
print(f'Species-rank rows for overlap files: {len(clf_data)}')
print(f'Files in clf_data: {clf_data["file_id"].nunique()}')
if len(clf_data) > 0:
# Join with bridge to mark mapped vs unmapped taxa
mapped_taxa = set(bridge[bridge['mapping_tier'] != 'unmapped']['taxon_name'].tolist())
clf_data['is_mapped'] = clf_data['taxon_name'].isin(mapped_taxa)
# Compute bridge coverage per file
bridge_quality_file = clf_data.groupby('file_id').agg(
total_abundance=('abundance', 'sum'),
mapped_abundance=('abundance', lambda x: x[clf_data.loc[x.index, 'is_mapped']].sum()),
n_taxa=('taxon_name', 'nunique'),
n_mapped_taxa=('taxon_name', lambda x: x[clf_data.loc[x.index, 'is_mapped']].nunique())
).reset_index()
bridge_quality_file['bridge_coverage'] = (
bridge_quality_file['mapped_abundance'] / bridge_quality_file['total_abundance']
).fillna(0)
# Map file_id → sample_id via clf_file_df (already in pandas)
bridge_quality_file = bridge_quality_file.merge(
clf_file_df[['sample_id', 'clf_file_id']].rename(columns={'clf_file_id': 'file_id'}),
on='file_id', how='left'
)
print(f'\nBridge quality summary:')
print(bridge_quality_file[['file_id', 'sample_id', 'bridge_coverage',
'n_taxa', 'n_mapped_taxa']].describe().to_string())
print(f'\nFiles with >30% bridge coverage: '
f'{(bridge_quality_file["bridge_coverage"] >= 0.30).sum()} / {len(bridge_quality_file)}')
else:
print('No species-rank rows returned for overlap files.')
bridge_quality_file = pd.DataFrame()
else:
print('No overlap samples or bridge — skipping bridge quality computation.')
bridge_quality_file = pd.DataFrame()
Species-rank rows for overlap files: 126905
Files in clf_data: 220
Bridge quality summary:
bridge_coverage n_taxa n_mapped_taxa
count 220.000000 220.000000 220.00000
mean 0.935370 576.840909 512.70000
std 0.076238 350.603729 313.98018
min 0.314354 3.000000 1.00000
25% 0.899178 234.000000 200.75000
50% 0.960668 669.000000 597.00000
75% 0.986040 859.750000 764.00000
max 1.000000 1470.000000 1303.00000
Files with >30% bridge coverage: 220 / 220
# Summarize bridge quality by coverage threshold
if len(bridge_quality_file) > 0:
print('Bridge coverage distribution:')
for threshold in [0.10, 0.20, 0.30, 0.50, 0.70]:
n = (bridge_quality_file['bridge_coverage'] >= threshold).sum()
print(f' >= {threshold:.0%}: {n} / {len(bridge_quality_file)} files '
f'({n/len(bridge_quality_file):.1%})')
# Flag samples
BRIDGE_THRESHOLD = 0.30
bridge_quality_file['passes_bridge_qc'] = bridge_quality_file['bridge_coverage'] >= BRIDGE_THRESHOLD
n_pass = bridge_quality_file['passes_bridge_qc'].sum()
print(f'\nSamples passing QC (>={BRIDGE_THRESHOLD:.0%}): {n_pass}')
print(f'Samples failing QC (<{BRIDGE_THRESHOLD:.0%}): {len(bridge_quality_file) - n_pass}')
Bridge coverage distribution: >= 10%: 220 / 220 files (100.0%) >= 20%: 220 / 220 files (100.0%) >= 30%: 220 / 220 files (100.0%) >= 50%: 219 / 220 files (99.5%) >= 70%: 218 / 220 files (99.1%) Samples passing QC (>=30%): 220 Samples failing QC (<30%): 0
Part 5: Save Outputs and Figures¶
# Save outputs
bridge_path = os.path.join(DATA_DIR, 'taxon_bridge.tsv')
bridge.to_csv(bridge_path, sep='\t', index=False)
print(f'Saved: data/taxon_bridge.tsv ({len(bridge)} rows)')
if len(bridge_quality_file) > 0:
bq_path = os.path.join(DATA_DIR, 'bridge_quality.csv')
bridge_quality_file.to_csv(bq_path, index=False)
print(f'Saved: data/bridge_quality.csv ({len(bridge_quality_file)} rows)')
if not inventory.empty:
inv_path = os.path.join(DATA_DIR, 'nmdc_sample_inventory.csv')
inventory.to_csv(inv_path, index=False)
print(f'Saved: data/nmdc_sample_inventory.csv ({len(inventory)} rows, '
f'{inventory["sample_id"].nunique()} unique samples)')
else:
print('WARNING: No overlap samples found — nmdc_sample_inventory.csv not updated.')
Saved: data/taxon_bridge.tsv (4894 rows) Saved: data/bridge_quality.csv (220 rows) Saved: data/nmdc_sample_inventory.csv (646 rows, 221 unique samples)
# Figure: Bridge quality distribution and mapping tier breakdown
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
fig.suptitle('Taxonomy Bridge Quality', fontsize=14)
# Panel 1: Bridge coverage histogram
ax = axes[0]
if len(bridge_quality_file) > 0:
ax.hist(bridge_quality_file['bridge_coverage'], bins=30,
color='#4C9BE8', edgecolor='white')
ax.axvline(0.30, color='red', linestyle='--', label='30% threshold')
ax.set_xlabel('Bridge coverage (fraction of abundance mapped)')
ax.set_ylabel('Number of samples')
ax.set_title('Per-sample bridge coverage')
ax.legend()
else:
ax.text(0.5, 0.5, 'No bridge quality data', ha='center', va='center',
transform=ax.transAxes)
# Panel 2: Mapping tier breakdown (n taxa in each tier, weighted by n_files)
ax2 = axes[1]
if len(bridge) > 0:
tier_counts = bridge['mapping_tier'].value_counts()
colors = {
'species_exact': '#2ecc71',
'genus_proxy_unique': '#f39c12',
'genus_proxy_ambiguous': '#e67e22',
'unmapped': '#e74c3c'
}
bar_colors = [colors.get(t, '#95a5a6') for t in tier_counts.index]
ax2.bar(range(len(tier_counts)), tier_counts.values,
color=bar_colors, edgecolor='white')
ax2.set_xticks(range(len(tier_counts)))
ax2.set_xticklabels(tier_counts.index, rotation=30, ha='right', fontsize=9)
ax2.set_ylabel('Number of unique taxa')
ax2.set_title('Taxon mapping tier distribution')
for i, val in enumerate(tier_counts.values):
ax2.text(i, val + 0.5, str(val), ha='center', fontsize=9)
else:
ax2.text(0.5, 0.5, 'No bridge data', ha='center', va='center', transform=ax2.transAxes)
plt.tight_layout()
fig_path = os.path.join(FIGURES_DIR, 'bridge_quality_distribution.png')
plt.savefig(fig_path, dpi=150, bbox_inches='tight')
plt.show()
print(f'Saved: figures/bridge_quality_distribution.png')
Saved: figures/bridge_quality_distribution.png
Summary and Decisions for NB03¶
| Question | Finding |
|---|---|
| file→sample bridge table | nmdc_arkin.omics_files_table (has both file_id and sample_id) |
| Samples with both classifier + metabolomics | 221 (via sample bridge) |
| Species-exact GTDB matches | 1,375 of 4,894 centrifuge taxa (28.1%) |
| Genus-proxy unique matches | 145 |
| Genus-proxy ambiguous | 1,352 |
| Overall taxon mapping rate | 58.7% of centrifuge taxa (88.9% of rows, 93.5% of abundance) |
| Samples passing 30% bridge QC | 220 / 220 (100%) |
| Classifier used for bridge | centrifuge_gold (61.3% species-rank, best from NB01) |
Decision for NB03:
Use all 220 samples passing 30% bridge QC.
Include all three mapping tiers (species_exact, genus_proxy_unique, genus_proxy_ambiguous) in community weighting.
For genus_proxy_ambiguous taxa (which map to multiple GTDB clades), select one representative clade via alphabetical tiebreaking on gtdb_species_clade_id (sort_values + drop_duplicates).
This decision is documented in NB03 cell-17 with sensitivity notes in REPORT.md Limitations.