diff --git a/doc/command-line.md b/doc/command-line.md index 46d832aee4..18eeec79c2 100644 --- a/doc/command-line.md +++ b/doc/command-line.md @@ -233,7 +233,7 @@ using a collection of genomes with taxonomic information. These commands use LCA databases (created with `lca index`, below, or prepared databases such as -[genbank-k31.lca.json.gz, from the LCA tutorial](tutorials-lca.html). +[genbank-k31.lca.json.gz](databases.html)). ### `sourmash lca classify` diff --git a/sourmash_lib/commands.py b/sourmash_lib/commands.py index 5129f1d5fa..34b7e3a605 100644 --- a/sourmash_lib/commands.py +++ b/sourmash_lib/commands.py @@ -999,7 +999,7 @@ def gather(args): if args.output_unassigned: if not found: notify('nothing found - entire query signature unassigned.') - if not query.minhash.get_mins(): + elif not query.minhash.get_mins(): notify('no unassigned hashes! not saving.') else: outname = args.output_unassigned.name @@ -1007,7 +1007,7 @@ def gather(args): e = sourmash_lib.MinHash(ksize=query.minhash.ksize, n=0, max_hash=new_max_hash) - e.add_many(query.minhash.get_mins()) + e.add_many(next_query.minhash.get_mins()) sig.save_signatures([ sig.SourmashSignature(e) ], args.output_unassigned) diff --git a/sourmash_lib/lca/__init__.py b/sourmash_lib/lca/__init__.py index de2a61bfae..6ef40737b3 100644 --- a/sourmash_lib/lca/__init__.py +++ b/sourmash_lib/lca/__init__.py @@ -2,4 +2,5 @@ from .command_classify import classify from .command_summarize import summarize_main from .command_rankinfo import rankinfo_main +from .command_gather import gather_main from .__main__ import main diff --git a/sourmash_lib/lca/__main__.py b/sourmash_lib/lca/__main__.py index f97b5a0db9..ccdc082db6 100644 --- a/sourmash_lib/lca/__main__.py +++ b/sourmash_lib/lca/__main__.py @@ -5,7 +5,7 @@ import sys import argparse -from . import classify, index, summarize_main, rankinfo_main +from . import classify, index, summarize_main, rankinfo_main, gather_main from .command_compare_csv import compare_csv from sourmash_lib.logging import set_quiet, error @@ -33,6 +33,7 @@ def main(sysv_args): 'index': index, 'summarize': summarize_main, 'rankinfo': rankinfo_main, + 'gather': gather_main, 'compare_csv': compare_csv} parser = argparse.ArgumentParser( diff --git a/sourmash_lib/lca/command_classify.py b/sourmash_lib/lca/command_classify.py index 721a3f3d81..2c517b8b37 100644 --- a/sourmash_lib/lca/command_classify.py +++ b/sourmash_lib/lca/command_classify.py @@ -80,7 +80,7 @@ def classify(args): """ main single-genome classification function. """ - p = argparse.ArgumentParser() + p = argparse.ArgumentParser(prog="sourmash lca classify") p.add_argument('--db', nargs='+', action='append') p.add_argument('--query', nargs='+', action='append') p.add_argument('--threshold', type=int, default=DEFAULT_THRESHOLD) @@ -109,7 +109,6 @@ def classify(args): # load all the databases dblist, ksize, scaled = lca_utils.load_databases(args.db, args.scaled) - notify('ksize={} scaled={}', ksize, scaled) # find all the queries notify('finding query signatures...') diff --git a/sourmash_lib/lca/command_compare_csv.py b/sourmash_lib/lca/command_compare_csv.py index 1801c74597..9651385ad3 100644 --- a/sourmash_lib/lca/command_compare_csv.py +++ b/sourmash_lib/lca/command_compare_csv.py @@ -15,7 +15,7 @@ from sourmash_lib.lca.command_index import load_taxonomy_assignments def compare_csv(args): - p = argparse.ArgumentParser() + p = argparse.ArgumentParser(prog="sourmash lca compare_csv") p.add_argument('csv1', help='taxonomy spreadsheet output by classify') p.add_argument('csv2', help='custom taxonomy spreadsheet') p.add_argument('-d', '--debug', action='store_true') diff --git a/sourmash_lib/lca/command_gather.py b/sourmash_lib/lca/command_gather.py new file mode 100644 index 0000000000..dee8be128b --- /dev/null +++ b/sourmash_lib/lca/command_gather.py @@ -0,0 +1,292 @@ +#! /usr/bin/env python +""" +Execute a greedy search on lineages attached to hashvals in the query. + +Mimics `sourmash gather` but provides taxonomic information. +""" +from __future__ import print_function, division +import sys +import argparse +import csv +from collections import Counter, defaultdict, namedtuple + +import sourmash_lib +from sourmash_lib import sourmash_args +from sourmash_lib.logging import notify, error, print_results +from sourmash_lib.lca import lca_utils +from sourmash_lib.lca.lca_utils import debug, set_debug +from sourmash_lib.search import format_bp + +LCAGatherResult = namedtuple('LCAGatherResult', + 'intersect_bp, f_unique_to_query, f_unique_weighted, average_abund, lineage, f_match, name, n_equal_matches') + + +def format_lineage(lineage_tup): + """ + Pretty print lineage. + """ + # list of ranks present + present = [ l.rank for l in lineage_tup if l.name ] + d = dict(lineage_tup) # rank: value + + if 'genus' in present: + genus = d['genus'] + if 'strain' in present: + name = d['strain'] + elif 'species' in present: + species = d['species'] + if species.startswith(genus + ' ') or \ + species.startswith(genus + '_'): + name = species + else: + name = '{} {}'.format(genus, species) + else: + name = '{} sp.'.format(genus) + elif len(present) < 3: + lineage_str = lca_utils.zip_lineage(lineage_tup, truncate_empty=True) + lineage_str = "; ".join(lineage_str) + name = lineage_str + ' - (no further assignment)' + elif len(present) > 1 and 'superkingdom' in present: + lowest_rank = present[-1] + name = '{}; {} {}'.format(d['superkingdom'], lowest_rank, + d[lowest_rank]) + else: + lineage_str = lca_utils.zip_lineage(lineage_tup, truncate_empty=True) + lineage_str = "; ".join(lineage_str) + name = lineage_str + + return name + + +def gather_signature(query_sig, dblist, ignore_abundance): + """ + Decompose 'query_sig' using the given list of databases. + """ + notify('loaded query: {}... (k={})', query_sig.name()[:30], + query_sig.minhash.ksize) + + # extract the basic set of mins + query_mins = set(query_sig.minhash.get_mins()) + n_mins = len(query_mins) + + if query_sig.minhash.track_abundance and not ignore_abundance: + orig_abunds = query_sig.minhash.get_mins(with_abundance=True) + else: + if query_sig.minhash.track_abundance and ignore_abundance: + notify('** ignoring abundance') + orig_abunds = { k: 1 for k in query_mins } + sum_abunds = sum(orig_abunds.values()) + + + # collect all mentioned lineage_ids -> md5s, from across the databases + md5_to_lineage = {} + md5_to_name = {} + + x = set() + for hashval in query_mins: + for lca_db in dblist: + lineage_ids = lca_db.hashval_to_lineage_id.get(hashval, []) + for lid in lineage_ids: + md5 = lca_db.lineage_id_to_signature[lid] + x.add((lca_db, lid, md5)) + + for lca_db, lid, md5 in x: + md5_to_lineage[md5] = lca_db.lineage_dict[lid] + if lca_db.signature_to_name: + md5_to_name[md5] = lca_db.signature_to_name[md5] + else: + md5_to_name[md5] = '' + + # now! do the gather: + while 1: + # find all of the assignments for the current set of hashes + assignments = defaultdict(set) + for hashval in query_mins: + for lca_db in dblist: + lineage_ids = lca_db.hashval_to_lineage_id.get(hashval, []) + for lid in lineage_ids: + md5 = lca_db.lineage_id_to_signature[lid] + signature_size = lca_db.lineage_id_counts[lid] + assignments[hashval].add((md5, signature_size)) + + # none? quit. + if not assignments: + break + + # count the distinct signatures. + counts = Counter() + for hashval, md5_set in assignments.items(): + for (md5, sigsize) in md5_set: + counts[(md5, sigsize)] += 1 + + # collect the most abundant assignments + common_iter = iter(counts.most_common()) + best_list = [] + (md5, sigsize), top_count = next(common_iter) + + best_list.append((md5_to_name[md5], md5, sigsize)) + for (md5, sigsize), count in common_iter: + if count != top_count: + break + best_list.append((md5_to_name[md5], md5, sigsize)) + + # sort on name and pick the top (for consistency). + best_list.sort() + _, top_md5, top_sigsize = best_list[0] + + equiv_counts = len(best_list) - 1 + + # now, remove from query mins. + intersect_mins = set() + for hashval, md5_set in assignments.items(): + if (top_md5, top_sigsize) in md5_set: + query_mins.remove(hashval) + intersect_mins.add(hashval) + + # should match! + assert top_count == len(intersect_mins) + + # calculate size of match (# of hashvals belonging to that sig) + match_size = top_sigsize + + # construct 'result' object + intersect_bp = top_count * query_sig.minhash.scaled + f_unique_weighted = sum((orig_abunds[k] for k in intersect_mins)) \ + / sum_abunds + average_abund = sum((orig_abunds[k] for k in intersect_mins)) \ + / len(intersect_mins) + f_match = len(intersect_mins) / match_size + + result = LCAGatherResult(intersect_bp = intersect_bp, + f_unique_to_query= top_count / n_mins, + f_unique_weighted=f_unique_weighted, + average_abund=average_abund, + f_match=f_match, + lineage=md5_to_lineage[top_md5], + name=md5_to_name[top_md5], + n_equal_matches=equiv_counts) + + f_unassigned = len(query_mins) / n_mins + est_bp = len(query_mins) * query_sig.minhash.scaled + + yield result, f_unassigned, est_bp, query_mins + + ## done. + + + +def gather_main(args): + """ + Do a greedy search for the hash components of a query against an LCA db. + + Here we don't actually do a least-common-ancestor search of any kind; we + do essentially the same kind of search as we do in `sourmash gather`, with + the main difference that we are implicitly combining different genomes of + identical lineages. + + This takes advantage of the structure of the LCA db, where we store the + full lineage information for each known hash, as opposed to storing only + the least-common-ancestor information for it. + """ + p = argparse.ArgumentParser(prog="sourmash lca gather") + p.add_argument('query') + p.add_argument('db', nargs='+') + p.add_argument('-d', '--debug', action='store_true') + p.add_argument('-o', '--output', type=argparse.FileType('wt'), + help='output CSV containing matches to this file') + p.add_argument('--output-unassigned', type=argparse.FileType('wt'), + help='output unassigned portions of the query as a signature to this file') + p.add_argument('--ignore-abundance', action='store_true', + help='do NOT use k-mer abundances if present') + args = p.parse_args(args) + + if args.debug: + set_debug(args.debug) + + # load all the databases + dblist, ksize, scaled = lca_utils.load_databases(args.db, None) + + # for each query, gather all the matches across databases + query_sig = sourmash_args.load_query_signature(args.query, ksize, 'DNA') + debug('classifying', query_sig.name()) + + # make sure we're looking at the same scaled value as database + query_sig.minhash = query_sig.minhash.downsample_scaled(scaled) + + # do the classification, output results + found = [] + for result, f_unassigned, est_bp, remaining_mins in gather_signature(query_sig, dblist, args.ignore_abundance): + # is this our first time through the loop? print headers, if so. + if not len(found): + print_results("") + print_results("overlap p_query p_match ") + print_results("--------- ------- --------") + + # output! + pct_query = '{:.1f}%'.format(result.f_unique_to_query*100) + pct_match = '{:.1f}%'.format(result.f_match*100) + str_bp = format_bp(result.intersect_bp) + name = format_lineage(result.lineage) + + equal_match_str = "" + if result.n_equal_matches: + equal_match_str = " (** {} equal matches)".format(result.n_equal_matches) + + print_results('{:9} {:>6} {:>6} {}{}', str_bp, pct_query, + pct_match, name, equal_match_str) + + found.append(result) + + if found: + print_results('') + if f_unassigned: + print_results('{:.1f}% ({}) of hashes have no assignment.', f_unassigned*100, + format_bp(est_bp)) + else: + print_results('Query is completely assigned.') + print_results('') + # nothing found. + else: + est_bp = len(query_sig.minhash.get_mins()) * query_sig.minhash.scaled + print_results('') + print_results('No assignment for est {} of sequence.', + format_bp(est_bp)) + print_results('') + + if not found: + sys.exit(0) + + if args.output: + fieldnames = ['intersect_bp', 'f_match', 'f_unique_to_query', 'f_unique_weighted', + 'average_abund', 'name', 'n_equal_matches'] + list(lca_utils.taxlist()) + + w = csv.DictWriter(args.output, fieldnames=fieldnames) + w.writeheader() + for result in found: + lineage = result.lineage + d = dict(result._asdict()) + del d['lineage'] + + for (rank, value) in lineage: + d[rank] = value + + w.writerow(d) + + if args.output_unassigned: + if not found: + notify('nothing found - entire query signature unassigned.') + elif not remaining_mins: + notify('no unassigned hashes! not saving.') + else: + outname = args.output_unassigned.name + notify('saving unassigned hashes to "{}"', outname) + + e = query_sig.minhash.copy_and_clear() + e.add_many(remaining_mins) + + sourmash_lib.save_signatures([ sourmash_lib.SourmashSignature(e) ], + args.output_unassigned) + + +if __name__ == '__main__': + sys.exit(gather_main(sys.argv[1:])) diff --git a/sourmash_lib/lca/command_index.py b/sourmash_lib/lca/command_index.py index 639f5f9a9b..6c59411d16 100644 --- a/sourmash_lib/lca/command_index.py +++ b/sourmash_lib/lca/command_index.py @@ -99,7 +99,7 @@ def index(args): """ main function for building an LCA database. """ - p = argparse.ArgumentParser() + p = argparse.ArgumentParser(prog="sourmash lca index") p.add_argument('csv', help='taxonomy spreadsheet') p.add_argument('lca_db_out', help='name to save database to') p.add_argument('signatures', nargs='+', @@ -163,6 +163,7 @@ def index(args): # load signatures, construct index of hashvals to lineages hashval_to_lineage = defaultdict(set) md5_to_lineage = {} + md5_to_name = {} notify('finding signatures...') if args.traverse_directory: @@ -214,6 +215,7 @@ def index(args): # store md5 -> lineage too md5_to_lineage[sig.md5sum()] = lineage_idx + md5_to_name[sig.md5sum()] = sig.name() notify(u'\r\033[K', end=u'') notify('...found {} genomes with lineage assignments!!', @@ -242,7 +244,8 @@ def index(args): db.hashval_to_lineage_id = hashval_to_lineage db.ksize = int(args.ksize) db.scaled = int(args.scaled) - db.signatures_to_lineage = md5_to_lineage + db.signatures_to_lineage_id = md5_to_lineage + db.signatures_to_name = md5_to_name db.save(db_outfile) diff --git a/sourmash_lib/lca/command_rankinfo.py b/sourmash_lib/lca/command_rankinfo.py index 833fba84e4..40a1dd43f0 100644 --- a/sourmash_lib/lca/command_rankinfo.py +++ b/sourmash_lib/lca/command_rankinfo.py @@ -45,9 +45,9 @@ def make_lca_counts(dblist): def rankinfo_main(args): """ - main summarization function: + rankinfo! """ - p = argparse.ArgumentParser() + p = argparse.ArgumentParser(prog="sourmash lca rankinfo") p.add_argument('db', nargs='+') p.add_argument('--scaled', type=float) p.add_argument('-d', '--debug', action='store_true') diff --git a/sourmash_lib/lca/command_summarize.py b/sourmash_lib/lca/command_summarize.py index b94d8fd480..7f28dbbb60 100644 --- a/sourmash_lib/lca/command_summarize.py +++ b/sourmash_lib/lca/command_summarize.py @@ -60,7 +60,7 @@ def summarize_main(args): """ main summarization function. """ - p = argparse.ArgumentParser() + p = argparse.ArgumentParser(prog="sourmash lca summarize") p.add_argument('--db', nargs='+', action='append') p.add_argument('--query', nargs='+', action='append') p.add_argument('--threshold', type=int, default=DEFAULT_THRESHOLD) @@ -92,7 +92,6 @@ def summarize_main(args): # load all the databases dblist, ksize, scaled = lca_utils.load_databases(args.db, args.scaled) - notify('ksize={} scaled={}', ksize, scaled) # find all the queries notify('finding query signatures...') diff --git a/sourmash_lib/lca/lca_utils.py b/sourmash_lib/lca/lca_utils.py index 83e8d8781c..ffe8a8e93c 100644 --- a/sourmash_lib/lca/lca_utils.py +++ b/sourmash_lib/lca/lca_utils.py @@ -21,7 +21,7 @@ # ordered list of taxonomic ranks -def taxlist(include_strain=False): +def taxlist(include_strain=True): for k in ['superkingdom', 'phylum', 'class', 'order', 'family', 'genus', 'species']: yield k @@ -117,17 +117,19 @@ class LCA_Database(object): Wrapper class for taxonomic database. obj.lineage_dict: key 'lineage_id' => lineage tuple [(name, rank), ...] - obj.hashval_to_lineage_id: key 'hashval' => 'lineage_id' + obj.hashval_to_lineage_id: key 'hashval' => set('lineage_id') obj.ksize: k-mer size obj.scaled: scaled value - obj.signatures_to_lineage: key 'md5sum' => 'lineage_id' + obj.signatures_to_lineage_id: key 'md5sum' => 'lineage_id' + obj.signatures_to_name: key 'md5sum' => 'name' from original signature """ def __init__(self): self.lineage_dict = None self.hashval_to_lineage_id = None self.ksize = None self.scaled = None - self.signatures_to_lineage = None + self.signatures_to_lineage_id = None + self.signatures_to_name = None def load(self, db_name): "Load from a JSON file." @@ -136,7 +138,10 @@ def load(self, db_name): xopen = gzip.open with xopen(db_name, 'rt') as fp: - load_d = json.load(fp) + try: + load_d = json.load(fp) + except json.decoder.JSONDecodeError: + raise ValueError("cannot parse database file '{}'; is it a valid LCA db?".format(db_name)) version = load_d['version'] assert version == '1.0' @@ -161,16 +166,27 @@ def load(self, db_name): # JSON doesn't have a 64 bit type so stores them as strings) hashval_to_lineage_id_2 = load_d['hashval_assignments'] hashval_to_lineage_id = {} + lineage_id_counts = defaultdict(int) + for k, v in hashval_to_lineage_id_2.items(): hashval_to_lineage_id[int(k)] = v + for vv in v: + lineage_id_counts[vv] += 1 - signatures_to_lineage = load_d['signatures_to_lineage'] + signatures_to_lineage_id = load_d['signatures_to_lineage'] + signatures_to_name = load_d.get('signatures_to_name', None) self.lineage_dict = lineage_dict self.hashval_to_lineage_id = hashval_to_lineage_id self.ksize = ksize self.scaled = scaled - self.signatures_to_lineage = signatures_to_lineage + self.signature_to_lineage_id = signatures_to_lineage_id + self.signature_to_name = signatures_to_name + lineage_id_to_signature = {} + for k, v in signatures_to_lineage_id.items(): + lineage_id_to_signature[v] = k + self.lineage_id_to_signature = lineage_id_to_signature + self.lineage_id_counts = lineage_id_counts def save(self, db_name): "Save to a JSON file." @@ -196,7 +212,8 @@ def save(self, db_name): # convert values from sets to lists, so that JSON knows how to save save_d['hashval_assignments'] = \ dict((k, list(v)) for (k, v) in self.hashval_to_lineage_id.items()) - save_d['signatures_to_lineage'] = self.signatures_to_lineage + save_d['signatures_to_lineage'] = self.signatures_to_lineage_id + save_d['signatures_to_name'] = self.signatures_to_name json.dump(save_d, fp) def downsample_scaled(self, scaled): @@ -258,12 +275,13 @@ def load_databases(filenames, scaled=None): dblist.append(lca_db) - notify(u'\r\033[K', end=u'') - notify('loaded {} databases.', len(dblist)) - ksize = ksize_vals.pop() scaled = scaled_vals.pop() + notify(u'\r\033[K', end=u'') + notify('loaded {} LCA databases. ksize={}, scaled={}', len(dblist), + ksize, scaled) + return dblist, ksize, scaled diff --git a/sourmash_lib/search.py b/sourmash_lib/search.py index 9f5f81f972..d858dcb30e 100644 --- a/sourmash_lib/search.py +++ b/sourmash_lib/search.py @@ -127,7 +127,7 @@ def find_best(dblist, query): return None, None, None # take the best result - results.sort(key=lambda x: (-x[0], x[1].md5sum())) # reverse sort on similarity + results.sort(key=lambda x: (-x[0], x[1].name())) # reverse sort on similarity, and then on name best_similarity, best_leaf = results[0] return best_similarity, best_leaf, filename diff --git a/tests/test-data/47+63.fa.sig b/tests/test-data/47+63.fa.sig new file mode 100644 index 0000000000..073e0bcbeb --- /dev/null +++ b/tests/test-data/47+63.fa.sig @@ -0,0 +1 @@ +[{"class":"sourmash_signature","email":"","hash_function":"0.murmur64","license":"CC0","signatures":[{"ksize":31,"max_hash":18446744073709552,"md5sum":"19e73bf529950a4a8ebd640519423b35","mins":[2925290528259,7397951382043,26390034908046,36191627174349,46822418898135,47180432856748,65325381835497,74037001801154,83631867214312,86442965329695,89858161015356,90806331781332,95108107091043,109728134835863,125296899385152,141805235471354,153783847123278,157255282423883,160902593196961,166163367169365,174979625787948,175032069345452,182141449646872,187503667710897,191814288543916,192890223167288,196037984804395,203335269479450,204822233856042,209233297808434,210990374921109,216861451361880,227683744949779,245029062906088,248581735034297,251186192464160,258255664267571,265587486568360,269368370464968,274235329360733,287831833139065,293035680952788,295357672887769,303548064148961,309969810458414,316701230964482,316897730501733,319335385321196,324290895668437,335605928681508,341001360876621,349347535027435,351258437206186,373471575728001,374188784960382,380562917179168,384016070832594,395356088720884,396054053894786,399215565767837,399215750881719,414934253467214,430191392037330,437506450440821,444273467310604,457671098462976,461477875054528,473505790593386,489519873805078,494381455384554,495601542123242,506336140549160,518803929727716,536713413896697,537757852470225,538244971589768,549192277958979,550069279000761,561316274253850,569061433009767,578397933313938,582924953100697,595681341596523,626475972546369,632243908286808,654100189449365,668365295793413,671677182717796,694523064126211,697547171219962,698360853391060,698383699159430,699304671955329,703696716274708,726292867622433,734019394597526,735119835330596,737721455578775,738543439712395,748275069435017,750168693442959,763201112060730,763669867104092,763903450865190,767121298622699,767417571203746,772051111454828,772152509572841,798319271383660,813805466325024,826077010431743,828356750400476,831736232379626,843025850509368,845050451776051,852042280696332,875246525542985,904962988643425,905308801557271,906900833647951,916185332282483,917277762192278,917334002968300,920956096920505,930950142910172,933691189676382,934117578798841,936230738064974,938188383682602,941861412444067,942726201014166,945032973428091,951217347666850,961017555998937,964218423186297,972618046502811,974637708612999,980565419407507,992940514834332,996549857630112,998926194132937,1014496787753945,1024634573363382,1028460419483054,1033874047074353,1037163054983442,1045088944681707,1048574231977270,1056506578664023,1057491059487351,1060760398971021,1061967838052170,1066520357980609,1071759691375436,1080440645655398,1086288713384900,1089204340626863,1090505634288396,1093123453947031,1093780160574614,1094807962005299,1118646614510530,1119614160374606,1130113935525204,1144614443668767,1163159397520386,1163303408022562,1174386415542665,1182168703505980,1191391064481088,1200797929442729,1208460365112124,1234453656762891,1234698668275227,1241668290204495,1243711623939695,1245003263018464,1250484435790357,1256754510605581,1264563878337445,1280559509676354,1282472909138162,1292246474868788,1296553378083571,1300214247397513,1311078551896352,1313826623773576,1314579091305857,1325524051301607,1332430917176015,1332675238905364,1334939013056183,1337600826833551,1339674524726757,1341661245836409,1341942310569850,1344850241954264,1370039456672284,1372351037556570,1383348406006914,1387385057191781,1388584147493453,1396964107951550,1401298565016323,1410486644494794,1418743862991832,1420081602859846,1424366051167663,1431140791675340,1457429906997387,1458716224614631,1459144447544839,1465076638017898,1468663744355213,1476939334625119,1480237325649862,1481088686107013,1492314148312178,1504262319315651,1505172916296130,1521780633605083,1522237249746592,1528071377900249,1546368847550532,1555637141656241,1556284449775147,1558324681023092,1560969323307091,1569318833056381,1591204462547614,1600688746972553,1603093475242546,1617237167349710,1619286790649678,1622309948672121,1628201100274523,1633815225207084,1645673596073883,1648716913052297,1652765950688817,1658743399661231,1659819081077302,1666913529898081,1679605700468270,1679921198649960,1680089532480362,1689682641477370,1705950022227142,1717459770518422,1719690455811654,1745324659468599,1747303538361662,1750530525839386,1762621869823670,1766154871452422,1768074570558590,1778201561133905,1780288814569870,1781805678833298,1787025898307575,1801404378718274,1802232213372715,1804215890133513,1813163351446427,1818925318022107,1819091566970620,1821246620845572,1831822327838518,1832408978761242,1835694527640110,1840320929072049,1842060817177608,1845664541012305,1846495837486874,1856791461736081,1860030910962345,1862153320764207,1867578456400407,1870278489144074,1910324702460153,1937494292258243,1968345824207972,1977923456470816,1979691191211071,1981752378561978,1987210877457747,1996672784729607,1999133750243675,2011354377485272,2017517839581062,2024291985865500,2030916441428059,2059880114534091,2060560658024761,2064432037950349,2083858695302000,2097280377232511,2099121913442760,2104210209064238,2107076373938295,2108459225069649,2111395821264557,2135890156111278,2147628766136779,2148277682163663,2154050039033300,2154825108832254,2157543511093753,2164107595577716,2182965638264818,2197844428920029,2204899458948058,2207484772689862,2214585329667475,2216291576857764,2249382176770011,2282851679505524,2284008883123690,2294311150128150,2295851772366195,2296330477067902,2297300047218453,2300003729256754,2307128673346491,2309328595812376,2341149645621931,2359599974602456,2360988166250281,2365100930739182,2365101583995089,2368070257601382,2391657757985839,2398709852888712,2400026944838468,2410681029165949,2412591449989948,2426508439798144,2431689886658063,2434636409776451,2434817960891416,2439360431069834,2442924938559564,2447704465950372,2451185988965285,2466530448132713,2466909570912171,2468169126671752,2469990435969385,2472082629869597,2484069800626695,2486783619425529,2498928723235105,2516300104537043,2529686136078992,2531603179656151,2535379300081535,2545009932051689,2547409441873208,2556506799873846,2573496573602154,2575271828359827,2583040424187016,2583468225494252,2594709561160407,2601526047213631,2606628075888049,2607585442845824,2611080508323464,2620375519634887,2625753537877756,2626910805885551,2633023374568506,2642503504311045,2651833968467605,2658287974480506,2668521248016496,2671313026437821,2680497019271975,2693519224664396,2707831053578465,2715915477263655,2734700729661142,2742018183825055,2751785297738513,2758720834995819,2758979243701204,2764250636697336,2787100655005297,2796704110243902,2832223063283424,2840131111024087,2848124500620503,2860695977896818,2868567544019176,2875768840498356,2881697295591721,2889740392149462,2896177891093468,2904033648694661,2905361464861211,2911124480176230,2911599257101941,2921971427799899,2946143480195981,2947035710205399,2956539890231005,2959335482526692,2959566715003402,2965352172439193,2965439340704221,2973978384800223,2975093256580654,2975414282596751,2977316941548719,2983750706789338,2985749744661602,2993577870679042,2995240248615334,3002144816290295,3005445693257298,3005543539398257,3006825969228148,3007436553703536,3037243067032125,3049610843618123,3061176921317878,3074112617890076,3076040588704705,3083176156972821,3086123334924126,3089319907683113,3101693309309556,3103506635288743,3110882600220192,3112903104807973,3126462642335525,3138943638252170,3160234728942373,3164386809673569,3175607440806275,3190439500089370,3191603569657769,3192369183577062,3193346797759720,3194861056078031,3219171897424954,3219575037594274,3224535741992415,3225652520990690,3243947082373306,3253156487699363,3257337304537355,3272928147712512,3273345746404244,3275046616104436,3275876017733599,3278668472321042,3280780868469494,3280794856819360,3285404600033524,3299027911208090,3309878495036042,3312036573217165,3333652145199727,3335087116356546,3346073604734971,3365198599599379,3365586794581106,3369243531861603,3377357612999215,3378502887959344,3379556656256325,3380683064402177,3381845747007120,3383302464154854,3402608390039987,3405149696809115,3405393044390619,3415139398115166,3415475306791216,3418693183078260,3431010040648861,3433893111687059,3443405929340821,3443814552613298,3444648483822568,3458841677994973,3463857637926984,3468005713457978,3468306935523998,3484417521606056,3485163641925480,3485345404315595,3485684351025169,3490218326835149,3501438911492802,3502652434217727,3509072379429744,3535903464263126,3539901139312850,3540376200850317,3549947024705822,3556230614643794,3569439133907194,3580260758329980,3584444323393668,3586259833614913,3600497750427469,3609452627397093,3611915615904413,3613882437854401,3624379228154857,3632115466215379,3633516585258144,3636013168823101,3644503150656777,3648590415100172,3650411848640853,3651208352182968,3663160485730853,3665217012698891,3670531861702815,3678142299238288,3679723249740163,3688280883691690,3688327457349314,3705003329123112,3718621708258333,3722526932992524,3726938239845979,3728715138302811,3737946633507459,3740458701179796,3742193997053523,3746284516790765,3750533866251628,3762751701280063,3767814128506980,3779767620249001,3786173858770873,3797500278748845,3797572839534654,3809879441266392,3821170295134013,3821630362687996,3825757657900286,3827560739565438,3856495945466312,3856632581492180,3860116438298861,3862694398476978,3869850399187705,3872628172162502,3873324719285632,3880243619746497,3887523678289264,3899793396857493,3908511683767038,3911082399615065,3917275362273600,3929160579967105,3941525993199884,3942048398609850,3949404714704001,3951447621965404,3968940236457600,3973437909773411,3977362201597748,3983919240708090,3991304962417620,3996232480056804,4001338100305267,4003000776821491,4010634521845832,4011194441900352,4012917626427041,4018474899910568,4020678940249116,4026688740814878,4037588403031850,4039922936524250,4039932863104502,4041139896587433,4044662871102224,4049703973786608,4062261174287869,4065415697051189,4071633959541762,4079083296648701,4086687744224011,4114248458913135,4123781140489537,4134892291048521,4135928574382122,4143693188392502,4154752706236746,4157669782790617,4167383773226728,4167492383925201,4168181927338698,4175996866082730,4176623816804364,4188349160298046,4199346559716278,4199937026193161,4200142600556427,4214771019264212,4225632034684502,4253320341425011,4267533238822472,4289359014707288,4295704004397925,4301841948469269,4302934567016197,4305626904573311,4312242836327385,4316505852417381,4320671705521862,4320948899808113,4332389830901236,4332584479772575,4335310014667247,4345864924315697,4356160430961353,4357880027267574,4369068622168572,4383134213334340,4393722386432944,4405185846773600,4409442890926800,4418995118878418,4421125787216995,4437545167361411,4438817177523704,4444824473102486,4454575698901762,4458728897870062,4462449521144694,4467196354294999,4474000580782956,4474046785524256,4474574743148389,4481408122328948,4486507708773899,4501876131664304,4532427908015373,4535830530899372,4552805172103424,4561703129830313,4562273139429756,4562889929649950,4577457918883209,4577958025008691,4580199770736665,4607450449118254,4620004533537053,4640301477916105,4641399081470667,4641794721319090,4645238665720809,4645621983164383,4646458337623997,4665559789434328,4671025914890237,4671062938394354,4676205735481526,4681240613933899,4696193088102148,4704195358103927,4708213524509388,4721521787903217,4723274946162868,4729163773640834,4730341942998122,4751422453008817,4755912323473330,4756833761182793,4762437486337017,4784620939372924,4784854530655115,4785601845773156,4793495469956659,4794337453617434,4800291638880957,4804645672015140,4811729290308862,4817878202402319,4819311564829320,4823251614359045,4828732317464211,4836894122787451,4859353321888294,4859467776000605,4868100857196342,4875972042816124,4879638248944748,4881531428270387,4902345078498684,4907673099841830,4912787048821119,4930034114903088,4952413633841153,4957117546097581,4962024566226233,4964966617138828,4975540053830624,4986110732910751,4995563329299788,4999915977157470,5011891458604349,5017724733800167,5021445876086138,5045163363224076,5047944681561823,5059239413878415,5082075970958360,5090517135844571,5095238786157913,5095997925642684,5101214857653244,5102026127818781,5108455108876502,5112547786374962,5127124574162351,5128951178677788,5132612621833970,5143420500944709,5145276514713692,5149437337079666,5150315306295015,5150426384165948,5154406455748760,5156461422732999,5161207050871469,5161248283909416,5164496015188591,5169183503623442,5174341244024506,5178681082547978,5185496711050665,5199397406461572,5216652140931560,5222282340592980,5236341345649495,5260023793294245,5265232429826960,5273272937856228,5277050637122870,5284015351506042,5291703312055669,5302053963299700,5314446308863251,5316323217920338,5319128074583642,5327554389775897,5334935043856488,5372175647130534,5379968233240165,5385746119086850,5394080989067132,5400291293650351,5406614253824595,5408167860716448,5408684428107176,5412454472585029,5419089032931253,5425776155703968,5433304691996431,5435448562589939,5442550985028476,5443519792343783,5458279931832152,5470523383371739,5475821882378207,5477177690474931,5484161477936466,5490569127868792,5493319803023083,5493870604473986,5494363692102912,5495499148937672,5503103710464614,5525784499514800,5536775761553566,5544364757593219,5545802799820933,5551558523406896,5554380825386759,5557919753549640,5560825696398560,5579977210132164,5593426453232836,5595805533420086,5603538322319793,5611751716804501,5613862108602356,5614909593083489,5621064494334548,5630820724993122,5637312677638017,5646619733332345,5653701086020480,5658909534123937,5667246937392321,5685769039380624,5699319238678867,5710195316669727,5712513634730123,5714049549411876,5718933939076632,5722219703153811,5759061891073762,5760917932621246,5775786807466214,5779727192598359,5782454578043069,5787478509200132,5795310516601245,5799653338299710,5817139504392687,5818962864882161,5828565941868585,5838532420889856,5846508833190611,5854937355756548,5856022939536906,5858993021903933,5870645665739004,5876393418760803,5891024028896298,5894685367317522,5905923307105350,5908696090042283,5915859656997442,5916931928833529,5924879546681533,5932662790863585,5935312555770245,5935661430493388,5947101870703205,5950972051903959,5951041949791953,5972218700939363,5973250287141740,5973677832178283,5990178361033769,6001206595929325,6002276243709531,6006897308518556,6011214467146689,6016555602340361,6027671084996298,6029374529344504,6030811056861793,6043316342842623,6045838883225433,6053804686685524,6053958863313339,6055268730727559,6085590822787717,6128284886205816,6137419131615699,6142688368084569,6144042650109511,6144095475272536,6158322788243107,6167018513092476,6167607991565253,6171707826744820,6174144459043731,6177692002705307,6181251707047392,6192358086666249,6194877677308546,6198857031919734,6200081358996517,6207302580763824,6216154454451807,6218233647565127,6218512470330013,6220604711061324,6236798857143890,6244874563473516,6249074081912395,6250557402527662,6251868356478317,6256321719332215,6264775741996340,6270623030455246,6274969421000503,6300447716613718,6307115079760207,6324812402453371,6353191312166053,6359135369542064,6368768790664617,6371090203570186,6373927709843793,6379348598089064,6385800661078082,6407210526643342,6408730838629478,6436083078959781,6436814879261326,6445879733828998,6482532068799143,6494216993344366,6499734594021057,6503186772282900,6516226128433302,6523391982496272,6546752598032205,6558599467268843,6568196183285198,6578237361036784,6578503095620162,6587654701564589,6595708386553174,6618676721046335,6621057137514784,6622760768363465,6630093742634040,6643521507427133,6662203303202718,6674364905825227,6678173806211118,6692574202860978,6699624106317412,6704989683409671,6720191931854899,6741215022206694,6742696713154438,6747763101536606,6752595765235073,6771281046319400,6788002061659117,6794299705676629,6801783177540135,6805314972544938,6845320561422543,6871074917650344,6878773843563416,6885815333874594,6888484602467342,6898143968669196,6900004638975216,6919747802868531,6925667026147338,6933453950416148,6938223955509899,6967131174911621,6968626913917078,6969879544962764,6973244897917836,6980494356161697,6993040182965693,7013532370262403,7016766698233684,7021458253363648,7038117440889701,7047751781972594,7078519684380004,7079136072514786,7090263369022454,7090827224293435,7098844983687608,7103287349340715,7112480093601650,7117602179959460,7117702213846209,7138333125007121,7140267571474431,7152477932457527,7159009930103737,7163383528300707,7163778957994361,7164516813412020,7179002153816766,7179903040144596,7182765199375506,7191096990307504,7193706102549630,7228437063271890,7229216536358274,7232125512735235,7244564678730935,7244768482327881,7245566857344055,7248035515958267,7262289934411894,7285678364340995,7286552397490444,7289711990915466,7291166276647549,7305136552146877,7312457538294268,7316330078533123,7326575126577204,7328477651553143,7338010137201066,7354010904401429,7363914809349690,7368773239687673,7369067702745463,7372069375963896,7372949260070506,7378192097899948,7384234111099756,7386045769570324,7390506088312346,7398773968230003,7407505476310295,7413103855739244,7416878995770443,7417992892826458,7418488700207131,7427800180129173,7430512069482015,7435984239692232,7436873913790602,7457626872755122,7461417070760230,7464791273301861,7465698531247575,7465989092511044,7468955978108988,7470414970130956,7476626636382557,7496125413626459,7496331600674721,7496586171914845,7499741802632764,7507971309059323,7520995594935128,7523568386509127,7524079580225271,7535413758699104,7547834066144263,7558348891266390,7562422547591358,7574807836993530,7577833848718658,7578638579275105,7583764379769101,7597146399455249,7610703887034738,7612217782008852,7612590563938043,7632486697445093,7635781595842092,7652643882172024,7658477424630193,7658594690166121,7662988662313759,7670573068797315,7692157387739297,7692684970839720,7692715035163949,7692872154514462,7700977357734436,7708512355032444,7710242527125752,7713386097094125,7716490464557575,7719367164738556,7724711616367069,7727688737658572,7728376014820122,7734200858227759,7737983217239889,7738701740734266,7748491852382750,7775101063842022,7779960077213875,7794053661517357,7800931705061909,7807627836703959,7809275090934984,7813351823453750,7818433714447086,7826881780965015,7841588711354365,7852366441407035,7855477820333867,7860940256961100,7868991532284921,7885848475582109,7888074400901569,7888500835141269,7900170751256211,7905781741383824,7915002755515393,7916680314419175,7929090546906102,7931707661135896,7932664861586881,7936886244974173,7944913299381989,7955707767338343,7957474102755475,7959145831679961,7965254194340254,7969662040440070,7980381451760704,7980587376998310,7980735420462798,7985722197062386,7987424295175338,7995443309794354,7997135431578468,8006897017337402,8006976419849250,8011722895901690,8020262137556052,8027888930993228,8028030091531706,8032268170160689,8036544756403250,8042606792528101,8059389868173903,8059450627794768,8065220473196449,8065582408992410,8077418220136860,8082463447862295,8082820682426435,8095523873680122,8097390569526238,8101747032613392,8106928489710751,8112104031271206,8136369282029634,8173481093695052,8181586463868245,8194969512324171,8201561228078010,8205287009351885,8216440810041214,8243069565420263,8246362229814725,8246716772071880,8249298655984594,8250387434460343,8255193598573136,8262954804685181,8264880757955296,8269769863632137,8284234491989688,8289349890472704,8303400292309646,8309633984147819,8322561813637125,8325237800434916,8325244982386600,8332190045511090,8333295411468735,8336794237476945,8342359556228636,8343422431629489,8348222101988490,8348990845348274,8349929839053237,8353187069342082,8355184882068744,8357480319128064,8359032487697274,8372801112194483,8378780774433401,8390262752827048,8391968117889949,8392149294258272,8397902100674760,8437064789335853,8440380356686069,8444597753784738,8451164588916518,8452834615819362,8457432590283505,8462195561662212,8462356309409364,8468076223787436,8471415745047933,8492172722223897,8513163154527267,8515344063519634,8520471745574237,8522204087666054,8526397555774454,8529230741888138,8533878116076637,8541155088407770,8550168506511268,8552407797606671,8554633315621859,8555174066389539,8558151645997922,8576579691621984,8581367096989732,8598659143101208,8599129846364328,8601522207106423,8602281558256184,8606118628054373,8609962853072397,8626391389132139,8642764308475012,8654788098657391,8656720607859172,8668647436071212,8676906171988104,8681093783245916,8681657579012301,8684040140251633,8694259890202010,8720400968274939,8723528441052177,8734134339123262,8744943197261790,8756024741015291,8765499574275666,8771763736993583,8781771689282057,8788645315265601,8789521527155337,8800564096781294,8802869383602903,8804388443116965,8833617601200992,8839028706384124,8848441586602708,8851257701148635,8861373802714789,8863519477739503,8864760219124956,8867353885504610,8868704959256862,8869726068715730,8873178736038157,8895481679956001,8896675958607703,8917771334029599,8922546229199542,8935766685372472,8941687890115326,8946727890515135,8953024300985451,8976689351398218,8981576765955511,8989003157868761,9014303703878842,9032187371857715,9037381687162545,9038550674961458,9051912387029910,9060898928960346,9064531090448266,9067993556866039,9073037543243418,9074741782974562,9079888527353695,9086751601932227,9090741520266450,9091979750057327,9108055709626815,9118451715638510,9126355422536516,9150924106375181,9154695178495413,9156606782616571,9157375841856013,9158676476944194,9162668962659557,9165398869818013,9167897025495661,9169656716086699,9170930061820260,9173729001963953,9180835981759675,9181392291811972,9218987363983060,9220215058481045,9230781676144500,9240969247386165,9249469378126723,9271020411926998,9335430691435020,9352141537262568,9355129827150685,9358554525655764,9365839127076720,9369093634111987,9380627712808545,9394976106188444,9397328261168293,9403765537033865,9408921495622508,9418107590281736,9419050885946372,9422324913293330,9423486081818391,9424880153466631,9431002060282822,9435750849137196,9438440967152456,9449340008831532,9451923415826938,9461773699588349,9481386469401705,9484371784536628,9484984344438553,9535833980442651,9538837225746487,9570293654144253,9571330378157840,9573924489710217,9575165150956720,9580743881484339,9615883008659902,9624758856235873,9630291603264391,9641362208707358,9654460153869349,9655820024254396,9657079142409314,9659932051785010,9662025225596157,9667241625101916,9672577363633156,9677328620414229,9680945785313483,9710300281092436,9725792147964753,9730102559873491,9734113097684625,9745464335501377,9765786817226776,9782799358625264,9793594547272040,9799889278686304,9810257422545913,9810585298035378,9818968963003545,9849134001046702,9852441706161363,9855206514878035,9861618221073016,9870764755744667,9906275973443018,9925919096295581,9943414292728350,9949019217971450,9954313852436822,9956729180121161,9963611887803061,9965461136179694,9971538903925806,9972659184707003,9987074046553413,9988183784680681,9989307766906661,9992489863586669,9994394125866496,9999648366321789,10000031604968879,10004925495910091,10008184940193864,10010370056943249,10023685800384052,10024518507785908,10032518948661767,10038212235930891,10040986745269183,10060828780412828,10063209359600748,10063600315370974,10065868826751899,10069449569085214,10083178186730993,10083835921342635,10087308692864238,10127093259012746,10137337268168058,10154032807160608,10154307535853042,10155542068394802,10160572363193486,10175620188550308,10176491974309391,10180241838937158,10194722954029343,10199671620517651,10199695570402626,10213139479075307,10217695934166737,10224107621925080,10232055143615071,10243488805517527,10246709309375903,10250309444905037,10263727029912731,10266820110531598,10271469102327032,10275743124733814,10281974844357620,10296558578829119,10306671241348195,10309932015401873,10334247661646447,10338954267321910,10362411781950181,10363856866900979,10364382029087166,10372218357405989,10378769233943499,10400718449268838,10401822723036473,10420088526584073,10429449856647102,10438647586807590,10440487445875223,10440838933113584,10444872472907940,10466519528405133,10467269725152768,10469454767792558,10482250308230673,10483827694271696,10488747371854077,10500385026427457,10500488552967312,10501260356111404,10512322942799654,10523297170953308,10526510768148749,10543343012752730,10545121874221728,10548308070444431,10548369311321575,10569936885011978,10570501131760442,10576973213646289,10583112117834044,10584639348411680,10594696458041961,10608578244765171,10620592192554759,10621082248937070,10628643234912171,10628921785417252,10629062237330307,10633505584587868,10646006703435010,10650028403614625,10651121348848499,10651345084987832,10654625803270603,10666212884489150,10688559968805974,10695927691488062,10699195330093884,10706304398299584,10706909043141392,10729128988836847,10766441205077631,10774595446367799,10784226394558794,10789995657189753,10802291531494117,10808364573742279,10818898059592134,10827594971106799,10839803231136688,10842762916923867,10845347885148728,10847253104607377,10852276831524456,10854428106437565,10885189706501902,10887994298217623,10894930198422418,10898755272190895,10913442039163653,10914509218958331,10917306751752594,10921844952698928,10923207650640427,10928023009400926,10929092524133184,10932202328627689,10948651072438721,10951948612195804,10965247315180552,10972909371352109,10975117317621830,10989202769093484,10990409005986868,10991558669034873,11001665093098228,11014427382218185,11024320739845292,11042536781194006,11054833551017746,11062402375665545,11069851171800453,11090552698103596,11090658585225857,11095383304270179,11099369753166044,11099551546210604,11106506387649741,11123159825527527,11127177251318180,11129859357638708,11150199869893669,11151387183049239,11151502397313142,11154110766156613,11155371761778170,11158629464450723,11159414148224323,11164777782395177,11169430954279703,11175202072568888,11175852637265303,11184082345585609,11200002087496543,11206266985990044,11226519618035312,11254820718151050,11259273102107656,11261264491503353,11265599260848364,11280555107389759,11287893566206082,11294033441021320,11294773174907559,11305713023756983,11319884533641300,11327586528497295,11328275638112363,11332552015667182,11339380783297842,11340864658831256,11345675657880008,11345676553858105,11357460555425130,11358086643159577,11364648346737734,11389085993650118,11390806798887033,11401700519195899,11409131295056209,11412775300232418,11417029279499404,11418837401792416,11425662918976551,11425674126078597,11426226096713572,11428645865887160,11438749233694215,11439459859045383,11441352104880750,11454513203644820,11461197052190285,11479308399516360,11480479501736039,11482045627548411,11504102260549809,11519358680969077,11532404505521434,11544013273650036,11549882026188551,11557042562885581,11568498682605843,11568678400586201,11578506049932280,11580137502987103,11582679596601249,11583507699894777,11585101265495681,11591047076552913,11597838643220140,11602974466808884,11611075089640896,11611748354430947,11617014574952198,11630644392646970,11635654976144153,11657305088193972,11658683525550614,11675090294053441,11675693720283985,11682179864909511,11684720239124533,11688194680736119,11693102982874445,11698756388262452,11708423865084678,11713690607980814,11715198530711638,11715865254416537,11719221642455460,11720785116417048,11720873374212079,11730215861616220,11734286258484747,11738267971902102,11741745751488248,11742706162990999,11753431031818860,11764356908364626,11764874035248246,11776764748856507,11776942132964186,11780837550785665,11785179977172715,11786257969749074,11794754868481503,11811220919611763,11812158072536409,11832905268834899,11851393982879753,11852586198115184,11853010088136902,11867361302652812,11867650483762221,11870483176868986,11898179901887368,11909747036535415,11913133672980273,11915166616058954,11926548936220126,11926805367659349,11933874408252082,11941423373859996,11943720753021897,11944383058348300,11944816331130113,11947591791853532,11950260926652836,11957777053959725,11958326503192345,11971876905384523,11975100060815344,12003675199241448,12008453650739367,12015639579945326,12017280196275791,12020813104002531,12021776657102177,12028404727423728,12038984699485340,12044509607056046,12048806622801494,12064775457651800,12068867551957576,12082781112646069,12085458622840725,12100943786761249,12103342077182428,12110485781570692,12120377787831548,12125020327675301,12130816680520314,12142933439996132,12155534792479002,12157910100394424,12180082671639635,12186122156905100,12200556590308310,12206961056205598,12216273376124566,12247196809844638,12270468054721839,12272177606302533,12278465206346582,12283300256073245,12309693411990179,12313776804764473,12315740660505432,12317737462653854,12331039831738345,12332506101262263,12334476628613713,12334531906613812,12345475198663391,12347889475047477,12347909851317459,12371619531441513,12388152182711242,12390527382979238,12399457458248220,12399946676042065,12400047520221171,12414844391454468,12419850567303984,12427118539066615,12438014718231534,12442226783163244,12454152316786214,12456127570195279,12456974565702299,12468960135907940,12474505023309244,12482618753698829,12493121285865448,12493531949000940,12496980807002515,12520510172302125,12537207717978996,12544032455101983,12549910268086697,12561212829273378,12562621625488566,12567396522160703,12574953991866005,12576978802157283,12581297128593136,12582417504397196,12593140979984180,12595025894277088,12598104253633453,12603845745843686,12606498330358134,12606901469342342,12626861709059593,12632687195472462,12639418814809649,12640167527828266,12640428361474198,12640818042674893,12640969010574572,12643494240426710,12673433235167362,12678598650222967,12686784777563923,12696892670705054,12708456140034254,12717959780809396,12726377376546299,12727033270826653,12727451946669105,12743533106187231,12771267826669947,12786352863464886,12807665721211120,12809522469790774,12818427882691906,12819996417836695,12823282271321919,12829072084255416,12834860563514747,12848207419401226,12855844760930756,12859899907121954,12868140593650867,12868775358248804,12880367229968159,12882980822794716,12887418415101226,12900385538356311,12906788489234465,12934350686066194,12946489524267653,12947522776480207,12955628525207272,12963051823146860,12965962908737325,12969038927449240,12974390471676060,12985447175738467,12985493722134421,13006729868315951,13013340987113008,13035980728818146,13036712601500114,13045600513120125,13052620397276151,13054236155028234,13072501768493061,13099158956896694,13104310576837531,13111577005851999,13114710504214063,13121909629776355,13127052312166869,13131340694012302,13136566433737611,13154198718450725,13165906763126222,13170738127259843,13174101013456127,13184920558769854,13189380579282347,13199996563430952,13201807925580353,13211066578415956,13211782471313872,13212061616770885,13212165395243922,13238503442128074,13241104178731895,13241168864292142,13241450032861794,13248655970715829,13254044124605936,13257737390535834,13267936932487740,13280579253065923,13298750975340353,13314547425279234,13334201253531043,13347417735653001,13350157202852563,13353560065022737,13357601360650186,13359331313196874,13385015528950604,13386085962502095,13392648285436965,13394551832655184,13414514599248518,13423145336408826,13423985507124709,13428472113899924,13442145389950277,13452686859689485,13466915673127210,13472766006472691,13489343668600089,13494212405375710,13495705064166062,13502956667923325,13508489645714817,13509178757772730,13511175763453019,13516547793277979,13517706451256090,13519875476747795,13544313444890724,13552576650306647,13570582888476349,13581522598681686,13588669826245287,13606027345535991,13617631557607803,13621326447410048,13621397819727220,13630191002096322,13634793775983156,13639851440986869,13641606518127186,13649712080213198,13651091819607497,13654427643263871,13669670567123455,13692915679570837,13697542413338103,13699244375297918,13700132194249732,13702229819892376,13704275954624893,13706325468204188,13711378433916464,13713126833679041,13714567785435526,13725507831112260,13732875764071009,13741640976152344,13751009984842370,13751355444615875,13752528537770243,13758183684987635,13772233025470893,13779343273469876,13806888829912490,13810189191668783,13819216056468458,13836967928987258,13841506126069216,13844723334748155,13851419674057285,13851804964013356,13855148698755421,13860370948717274,13860591920719937,13869499215642030,13885432559815038,13892745650858214,13893729230139344,13894176996423815,13899662982568281,13903640450103285,13927268834765068,13930075501042467,13944345475258344,13948849305450763,13950003362814608,13952318012300341,13957891625399498,13965952880287033,13965992746518202,13969065894497400,13982564979542470,13996482893584239,14012374992832944,14015507053297472,14020512831650303,14021767660954154,14022387662308266,14041235400538814,14050877619339410,14068336590289394,14070452446274375,14073196557139903,14079413477735954,14082060161725832,14089660453835508,14104609562657279,14110176260429603,14110846566699118,14111754638843301,14113954118968165,14115700381311298,14116084203345559,14136333045989523,14141721173215486,14155975414531428,14175692216668231,14177050809138713,14187963108760817,14188374719646123,14199253731869253,14206687970696716,14210270522420558,14215487446995196,14221732530161551,14228747898918402,14232996386333408,14240099294539079,14240931409922495,14245988562300971,14249502033018713,14249687565938747,14250698500890187,14258964967231840,14262886155232322,14274483320198377,14286491830383354,14291469615410543,14292472000295936,14295837452356585,14298173613618098,14301257753026067,14310015895186965,14312644574968166,14324162382494344,14327796466197481,14328346609794800,14330165162804822,14334872702153449,14335504292083940,14358712927579207,14373358653447165,14382653933328395,14389328610898075,14412375459733818,14419408012320654,14419921321665188,14420517295463922,14422482515005653,14428963789076396,14433829777128924,14434491585844546,14441663522114382,14447076836883551,14453826393896267,14458414754313519,14460517698166413,14474428436715615,14499310299171024,14502523747605405,14503374543528179,14540918644501586,14545143474688100,14546173469934987,14549609943559194,14559345024889908,14572798606348625,14591042865966381,14604151534357376,14606919734830311,14607574529846282,14630990679638089,14631058148494236,14651923318081732,14657604036440419,14660498729179366,14686694622392691,14690256368300896,14693014696087872,14699312209892116,14714972951681498,14727357539437919,14753483946970413,14755563140273075,14755965578235618,14764626632313599,14773705053327044,14774424971091441,14776126161075338,14777180456645831,14782806494910422,14784179132609967,14789280323954198,14796095030944430,14802524498404394,14805119697076881,14816837023868332,14819207660612212,14832874204975299,14841572903295226,14875244788896295,14880698080993082,14883492855733875,14884715585223534,14891249907937290,14899776943325306,14912124553248599,14914637529083995,14927475356531675,14939491797730666,14940182819303564,14945635561516349,14948084549356910,14948446551537791,14950087955881572,14959164006691718,14969572759318726,14972120173118520,14977645952278382,14981979822436646,14988165815323633,14993931438103578,14995330188668762,14999867324523228,15006561064342947,15014220467166698,15015143178733208,15016747917580341,15017581694255009,15027872686689687,15029223449524697,15029421099140855,15030279194177507,15036546311204155,15047851634879837,15049206174008406,15064441595557983,15066002393956736,15067340188537424,15068737776024543,15081726781697934,15083561199479055,15100586527842091,15100895887756881,15125038963644248,15125825668976374,15132962157165167,15142340753501357,15142771204200772,15144509730846110,15144908199448686,15144983031311469,15149385225563368,15163502675118430,15169763864701641,15188528526614937,15212200426217138,15227318255741609,15232762341410261,15235610343655303,15249106376606939,15250808075404806,15258347128439790,15264731568598059,15269511085038233,15275297064012400,15281435895520542,15285891219756998,15286093688825701,15289862125703132,15290148594297788,15293123874907838,15305964656672387,15320795701669972,15329295210127478,15345070383303245,15353149026108168,15353232670298897,15355335603796124,15356453151175679,15373930811061691,15397171895399395,15407310719467201,15416018244148923,15428180744186198,15430571383432346,15431617843729266,15433887937403854,15452893020203867,15453212547751568,15467422080353387,15469490756626048,15484872489499858,15485469980475937,15486304467213949,15490588941327161,15493669981706537,15500366938118891,15505519386765147,15507002730562560,15507596083915355,15510353559011411,15514535598456693,15515999929535991,15522061334524465,15544311106200778,15544548900805204,15557041324109368,15561952874606530,15572863590946325,15577133638656672,15578855835529187,15584544164633761,15585305674396933,15586021008360415,15586572984402845,15591835587885800,15600022327961011,15607922224614041,15618067512755640,15627340304611938,15638216907788849,15638858384127971,15642870227425833,15651638904781067,15659367639512437,15663152139200473,15663518386052835,15668753861818902,15669831866387505,15678947651292970,15682550662690976,15684129061048451,15684714219805662,15687701212595998,15689677439468810,15695115813510797,15700741802774887,15701006667851545,15702846415375903,15703962508930357,15721982912314664,15755103109741170,15755440794212771,15760850159052851,15763329664260405,15763347842500031,15768790414358471,15783285537872233,15783457873235222,15789976943224909,15815973513115164,15828816982020122,15840334179132579,15843352451900485,15843600775555820,15863820783079073,15866236940451977,15872362195905201,15875675232290550,15879801226947188,15890892365015163,15897401962344850,15911275554215588,15911665623700279,15915302121110625,15939128572044103,15944489120018696,15954518713119826,15964603511322079,15966264651417527,15979755963656160,16003094114347164,16004817238396021,16038301793476863,16060832251885914,16062107659438725,16069046551508727,16074486970716033,16080740588460730,16083877262816687,16090383828959085,16093240548996996,16127193854760523,16140981467932346,16144336314735217,16150040833847011,16152783913026412,16178760128679429,16181654573567669,16184318280736106,16190571409547135,16191892773280294,16211596379781820,16225653430698144,16233112123839300,16235839769165041,16240762741306135,16266712848564625,16280927247624124,16307595056946704,16309137054392802,16310681306790082,16315681986373983,16341765762990956,16347036755860703,16349624325715789,16356347789934648,16359131609074861,16362066780194864,16369281391114209,16369945946899217,16372297199748151,16373987141658826,16377409889399924,16386085273604579,16396880383990556,16398733126926655,16419509766610091,16419901644544820,16422440467412931,16432971637241688,16433327633528711,16435742390682375,16437965595938221,16447014000822092,16448682699618749,16452048761762229,16457674212534286,16458193998413945,16462708921584182,16465114761860846,16467984634116524,16483944183054084,16492537636527687,16499668866369559,16514937777288269,16515317531532600,16515763893503398,16517537506431523,16520680878383534,16549193848756349,16551638786295881,16557075823478085,16561729019896847,16568638052909005,16569637258340730,16574236353677299,16591958210106118,16594902459898391,16606580432110149,16618755587989745,16626806031696348,16629787832374700,16650212270002998,16650283216078512,16653981254978641,16654463028053744,16660067927175777,16662173317527607,16681703184890456,16682373593295548,16685180422791776,16698836185067210,16710176517292164,16724720235210872,16725294155137383,16727032133352391,16729903330833289,16738231483083309,16739182735043548,16741586841667302,16753484567013429,16755872335309848,16759630605474370,16810005023919202,16820470058192790,16843019140494565,16850886838136612,16867020968629490,16867864576520806,16868617407655959,16870410864242800,16879575300669180,16886381613931407,16887131664281014,16890451337099671,16893613954731672,16913880033664423,16942918462021910,16947503499298974,16954247022723534,16956760996707076,16966208347117891,16974976960555336,16974996106586527,16976062143580028,16977273505567584,16981100707531732,16986912710655502,16989134716990479,17001105496098528,17001625874486973,17004131992558114,17008056242821339,17011749486628658,17018029384954439,17019281824197645,17022002414706187,17023649823777761,17027024912981538,17027708820603609,17027724390296374,17028905071969344,17033234045807732,17039633394164779,17041956186643831,17043911086147728,17044227183900592,17045020641718652,17053515690985016,17065736283826551,17066204322105669,17066890141401799,17069702342298005,17072355840387059,17086180968300670,17092924242292896,17109970886679733,17115701285838058,17128001588707458,17143215310364176,17150277478457455,17156795393603011,17157898465093855,17158828067013858,17159011651238619,17164804932271093,17184647258662518,17189985997758617,17192344156604394,17196706052792205,17219161189129714,17220596644754506,17233175158773315,17246076311509922,17255087609386479,17255995767294112,17264493723089078,17270538843510702,17282090993143952,17283049372339150,17291979671712321,17293149261210524,17296137849004163,17304784741854216,17313632977406292,17329472456864413,17334864272182912,17341517372421961,17353053843653375,17378407166143928,17391219400155350,17391436242706241,17398282123693718,17400913153559823,17407246841014078,17413919734842125,17420499051739414,17422062281526649,17423105453982540,17425090194197669,17435530177003750,17440523469292889,17441789247813820,17466786275120017,17470441567829100,17476827515285484,17479085198776952,17484120239214373,17488816545423819,17496728290093656,17497098710311670,17499228377170813,17500477193853245,17517159540441318,17541513425567569,17554939460224349,17558580292594243,17559431629269263,17561448044068445,17575560135721806,17600607133597719,17602282637407016,17608993167118462,17612331367634278,17612661692978454,17624682438741740,17641686744036386,17644039113805944,17645312266322218,17659621059389953,17660743105223332,17661459152369712,17676740506186425,17697682504000309,17707842984156022,17710801222146557,17712409569723362,17712893886367554,17714216772557464,17729422012525851,17732456419233492,17741767011633464,17746510075374564,17759977925515375,17767687613087632,17770981472959907,17778432694523101,17780417672471981,17780633004635622,17800329108711822,17810904352266449,17811294904961592,17820414995546733,17824058019135158,17824692487924143,17829961694570784,17837924490120715,17838730974038612,17840541840864217,17844481483540230,17851847109708456,17853025423149005,17862392392198693,17863284124973089,17864179561603861,17864592832666958,17868918610462163,17875253398653485,17893885025675099,17896653342000979,17905797190497744,17905846546240170,17919141917693070,17922025141068374,17927103791988031,17961387047243191,17965956572473636,17983136277324499,17988399353053093,17994870382615510,18001311042217802,18006237324341425,18009042115164135,18014657110806736,18020974854298469,18021886555673319,18026004208911747,18028316562390501,18033529755426165,18055041696562277,18055087872299409,18055587125968368,18063228282000881,18068141364358640,18082663742446595,18136432192167355,18138810838881859,18139979326512529,18162150874995819,18176398171978336,18179155755591764,18196224826654508,18200162616918760,18214396067041321,18215688955701607,18219379302426418,18241422988672837,18258026885319486,18258704607599735,18265102179546859,18277532214379777,18309896670692432,18312928450191138,18320706645413560,18325796935244911,18330874810048231,18336172353658611,18337191336507655,18354768007590930,18362561943328805,18366897023001689,18379087767248948,18390199754916829,18395298635755745,18396190684827929,18400962357421119,18412761413118797,18417094802826718,18417594946606594,18423285819437783,18429692224833089,18435861506577465,18438159643459969,18444487060015322,18444666364288446],"molecule":"DNA","num":0,"seed":42}],"version":0.4}] \ No newline at end of file diff --git a/tests/test-data/47.fa.sig b/tests/test-data/47.fa.sig new file mode 100644 index 0000000000..b77a2ac2a3 --- /dev/null +++ b/tests/test-data/47.fa.sig @@ -0,0 +1 @@ +[{"class":"sourmash_signature","email":"","filename":"47.fa","hash_function":"0.murmur64","license":"CC0","name":"NC_009665.1 Shewanella baltica OS185, complete genome","signatures":[{"ksize":31,"max_hash":18446744073709552,"md5sum":"09a08691ce52952152f0e866a59f6261","mins":[2925290528259,7397951382043,9478766578752,26390034908046,31811219567311,36191627174349,39112643786682,46822418898135,47180432856748,60017138985701,60046869099761,65325381835497,73805228897455,74037001801154,75800414195236,81855770871884,83631867214312,86442965329695,89858161015356,90806331781332,95108107091043,97258972896665,109728134835863,111162670259148,113585458770972,116166720583475,121382935674939,125296899385152,141176320451685,141284968207060,141805235471354,147190179068733,149024066888166,153783847123278,157255282423883,160902593196961,162823771630571,166163367169365,174979625787948,175032069345452,182141449646872,187503667710897,191814288543916,192890223167288,195186364664284,196037984804395,197033160819668,203335269479450,204822233856042,209233297808434,210990374921109,214600505227173,216861451361880,217827490079709,224612774123844,227683744949779,228540468204721,228644441858825,228848037454334,235478348737722,240579984608212,245029062906088,248581735034297,251186192464160,258255664267571,258924003299576,265587486568360,269368370464968,274235329360733,287831833139065,293035680952788,294558365931778,295357672887769,303548064148961,303884611876696,306041902505698,307504482597750,309969810458414,316701230964482,316897730501733,318378982650332,318568418472400,318769251839299,319335385321196,324290895668437,335605928681508,339214912158009,341001360876621,349347535027435,351258437206186,360700437330047,367327558614874,373471575728001,374188784960382,380562917179168,384016070832594,386412107814027,389279696836396,393985777467936,395356088720884,396054053894786,399215565767837,399215750881719,411030707384650,414934253467214,423759820188444,430191392037330,431262729545883,437506450440821,438105428895659,438530381378884,439044119332850,444273467310604,449680755457024,450506164772110,457138551847407,457671098462976,461477875054528,473505790593386,481815788294090,487479264340595,489519873805078,494381455384554,495601542123242,500121418104925,502603922576313,506180131137999,506336140549160,516283812540815,518803929727716,536385923460112,536713413896697,537757852470225,538244971589768,540208451183188,540588787405694,542763181011925,549192277958979,550069279000761,553900351455263,554447489693319,559226934389812,561316274253850,569061433009767,578397933313938,578899728742280,582924953100697,583572058199369,589631402773527,595681341596523,615537076898013,626475972546369,632243908286808,639824119626438,645743921515803,648018730756195,654100189449365,668365295793413,670523964406925,671677182717796,671759739945458,676515376899555,677670347980377,684837528099741,687895771489510,693758846688308,694523064126211,697547171219962,698360853391060,698383699159430,699304671955329,703696716274708,706932232475763,708449170262947,726292867622433,726450649964317,727800693698567,728799639190186,734019394597526,735119835330596,737721455578775,738543439712395,741951415758063,748275069435017,750168693442959,763201112060730,763669867104092,763903450865190,767121298622699,767417571203746,770436202573059,771683466150501,772051111454828,772152509572841,787291725467630,798319271383660,802162977380527,806341566938246,813805466325024,815570804752811,816564335333987,817024725405204,817504754626588,821706687072387,826077010431743,828356750400476,831736232379626,843025850509368,843740928711723,845050451776051,852042280696332,857912135260852,871829709114624,873254290207218,875246525542985,889897273652095,894040289596463,897620767964532,904962988643425,905308801557271,906900833647951,909442865612931,912697620927191,913789208155712,916185332282483,917277762192278,917334002968300,919561883055202,920956096920505,929046426661708,930950142910172,933691189676382,934117578798841,936230738064974,938188383682602,941861412444067,942726201014166,945032973428091,947084478373286,948779805509636,951217347666850,955636489177710,961017555998937,961314440978493,964218423186297,968212926455014,968926587713112,969379511837489,972618046502811,974637708612999,980196796037373,980565419407507,983225283458250,987541215674501,992940514834332,996549857630112,998926194132937,1014496787753945,1017704359447639,1020480845863237,1024292399670426,1024634573363382,1028460419483054,1033874047074353,1035843403340873,1037163054983442,1039558325527817,1045088944681707,1045785088974313,1048574231977270,1051002783372661,1056506578664023,1057491059487351,1059437143082343,1059853068042602,1060760398971021,1061967838052170,1066520357980609,1069224019506529,1071759691375436,1072369963153950,1080440645655398,1083957482733017,1085596610204486,1086288713384900,1088705827145973,1089204340626863,1090298523330765,1090505634288396,1093123453947031,1093780160574614,1094807962005299,1096801323900100,1103535113750718,1105423537109674,1110277142974534,1113000955148039,1118646614510530,1119281509125641,1119614160374606,1120783033143617,1129279349995602,1130113935525204,1130881986044393,1132820492214112,1144614443668767,1147223276986948,1147680055727668,1158195764117399,1163159397520386,1163303408022562,1164535774717695,1174386415542665,1182168703505980,1186019430315229,1190006012882786,1191391064481088,1200797929442729,1203248128742846,1208460365112124,1225631809302250,1234453656762891,1234698668275227,1237451114108962,1241245219164313,1241546710850109,1241668290204495,1242418821754022,1243711623939695,1244290020173228,1244346278691061,1245003263018464,1250484435790357,1256754510605581,1264563878337445,1269060350975578,1270154727600023,1271923497273997,1273115659423672,1280559509676354,1282472909138162,1285880210646676,1287498565406779,1291218968991828,1292246474868788,1292487278268025,1296553378083571,1300214247397513,1311078551896352,1311449533649890,1313826623773576,1314579091305857,1322276316890973,1325524051301607,1332430917176015,1332675238905364,1334939013056183,1337600826833551,1339674524726757,1341661245836409,1341942310569850,1344850241954264,1348761416973437,1356904466129199,1369078449955986,1370039456672284,1370854092951821,1372351037556570,1376501003787476,1378471035008080,1383348406006914,1387085462947589,1387385057191781,1388584147493453,1390384276015810,1396964107951550,1401298565016323,1407230822931784,1410486644494794,1410786461048450,1414537954260326,1418743862991832,1420081602859846,1424366051167663,1431140791675340,1438960590550765,1443983103542619,1449677011803774,1457429906997387,1458641089226597,1458716224614631,1459144447544839,1461511802747479,1465076638017898,1465867789405739,1467827467674025,1468663744355213,1476939334625119,1480237325649862,1481088686107013,1483592564337201,1492314148312178,1498457281550692,1499617447616390,1503853002568292,1504262319315651,1505172916296130,1513668920373911,1519648405600154,1520931632741619,1521780633605083,1522237249746592,1522582599941917,1523518586763814,1528071377900249,1529728378502178,1531967467499308,1535306641925593,1535658178776979,1539307118095840,1546368847550532,1548019688923957,1552083355029650,1555637141656241,1555928090783844,1556284449775147,1558324681023092,1560969323307091,1569318833056381,1573222947937990,1584949879718000,1588978430427079,1591204462547614,1598261363578814,1600688746972553,1603093475242546,1605199952752847,1617237167349710,1618568234848372,1619286790649678,1621192910003941,1622309948672121,1628201100274523,1632271494883561,1633815225207084,1634399357702189,1637441524349088,1642637371934077,1643195637784435,1643598557356785,1645422696089427,1645673596073883,1645866259200502,1648716913052297,1652765950688817,1654033476941478,1658743399661231,1659819081077302,1662433005161059,1666913529898081,1679605700468270,1679921198649960,1680089532480362,1683724693448022,1689682641477370,1691706033392643,1696089597402537,1705950022227142,1714068118984789,1717459770518422,1718014979380734,1719690455811654,1734728075132632,1739172733710985,1745324659468599,1747303538361662,1749145577098552,1750021468273833,1750530525839386,1757623281396842,1758538630442116,1761579455667380,1762621869823670,1766019454242846,1766154871452422,1768074570558590,1769506068128510,1770988073934927,1778201561133905,1778315567513725,1780288814569870,1781805678833298,1786019351090790,1787025898307575,1793358709247570,1801404378718274,1802232213372715,1804215890133513,1808123394894591,1808805306365691,1810435102767883,1813163351446427,1818925318022107,1819091566970620,1821246620845572,1825289420275521,1829618500803507,1831822327838518,1832408978761242,1835694527640110,1837046808494825,1840320929072049,1842060817177608,1844561134226776,1845664541012305,1846495837486874,1846814283210937,1848195902901531,1849342199305473,1852955637970413,1853064829868822,1854709332537365,1856791461736081,1860030910962345,1862153320764207,1862209616890144,1867578456400407,1870278489144074,1871450013370760,1880743049410508,1880811582956504,1885064900552256,1888527800896759,1899912419788159,1909513665427200,1909893462067689,1910324702460153,1920155014152585,1923031184773399,1923724551213831,1928488418125995,1935392806238480,1936981590066389,1937494292258243,1941935226774825,1942786308149620,1943419695090025,1947698435893922,1947827395290642,1948000063884420,1951286173673455,1957196594968485,1961156417600790,1968345824207972,1973565525696890,1976759223622041,1977637922131648,1977923456470816,1979621033784766,1979691191211071,1981752378561978,1987210877457747,1993564537623510,1996672784729607,1999133750243675,2011354377485272,2017517839581062,2021272596821928,2024291985865500,2030916441428059,2030943399237635,2035149501864507,2047630125224977,2052394950437991,2059880114534091,2060560658024761,2064432037950349,2083858695302000,2088434760658037,2092860563281190,2095578868362462,2097280377232511,2099121913442760,2104210209064238,2107076373938295,2108459225069649,2111395821264557,2122246048824157,2123504523298871,2125171930737142,2127588293738580,2135890156111278,2147601242872786,2147628766136779,2148277682163663,2148629935713334,2148648462894137,2154050039033300,2154825108832254,2157543511093753,2159292319817060,2159391483345580,2163811550162994,2163911364872485,2164107595577716,2166610246026701,2169130162448361,2169401527323023,2182965638264818,2189902950844361,2191089458213993,2194321556975056,2197255584699767,2197550753498976,2197844428920029,2204899458948058,2207484772689862,2214585329667475,2216291576857764,2218560589085471,2222579004644118,2225440067596925,2231678593259696,2239881880935087,2246651203996116,2249382176770011,2251553784168898,2262343143065292,2269891656332884,2277357511613050,2282851679505524,2284008883123690,2294311150128150,2295851772366195,2296330477067902,2297300047218453,2299522719885844,2300003729256754,2305986746818130,2307128673346491,2309328595812376,2314348683023278,2325178911253636,2337363146012963,2338273922165178,2340650536569632,2341149645621931,2349169861378449,2350865952696907,2355373744763135,2359599974602456,2360988166250281,2364165589013103,2365100930739182,2365101583995089,2368070257601382,2379436665071024,2387981834215976,2391376217204289,2391657757985839,2398709852888712,2400026944838468,2402208725828096,2409550806440554,2410681029165949,2412591449989948,2413992919514685,2416809210551017,2420810333651625,2426508439798144,2431689886658063,2434636409776451,2434817960891416,2439360431069834,2442924938559564,2444743697540746,2447704465950372,2451185988965285,2459766139292236,2466530448132713,2466909570912171,2468169126671752,2469990435969385,2472082629869597,2484069800626695,2484707593134371,2486433068244510,2486783619425529,2489988128759413,2497895029394563,2498928723235105,2502877897637973,2507836460937176,2516300104537043,2529686136078992,2531603179656151,2535379300081535,2540748246632844,2542081767873586,2543849372306944,2545009932051689,2547409441873208,2556506799873846,2556532058925046,2570487229611126,2573496573602154,2573521798941261,2575271828359827,2583040424187016,2583468225494252,2583541506767529,2590282004204866,2594709561160407,2598736648640020,2600008000392449,2601526047213631,2604919231758350,2606628075888049,2607585442845824,2608738783833234,2611080508323464,2611611650962181,2618806127233677,2620375519634887,2623788431218018,2625753537877756,2626910805885551,2633023374568506,2641610347651893,2642503504311045,2651833968467605,2658287974480506,2661391357250546,2662023298318235,2665833107218149,2668521248016496,2671313026437821,2675525837460390,2678336928677512,2680497019271975,2693519224664396,2696615422431379,2697093257227995,2703119946699707,2707831053578465,2708218678481553,2715915477263655,2729224055534831,2731006551655845,2732055421730493,2734700729661142,2738859769218570,2742018183825055,2743081343023861,2743888467937942,2751785297738513,2757079557005164,2758720834995819,2758979243701204,2764250636697336,2766608515295278,2771029262532041,2771167327169082,2774929020087483,2787100655005297,2789215679189400,2794721456334777,2796704110243902,2822847943723684,2823690427545053,2824112773494385,2828383286324950,2832223063283424,2839310794637108,2839525055055156,2840131111024087,2845086895593857,2848124500620503,2850392763711528,2851615637093918,2852640851512226,2858440556030254,2859863407402383,2860695977896818,2868567544019176,2868722569049791,2875394822256464,2875768840498356,2876952463837377,2877071122530509,2881697295591721,2885101058817579,2888998206990875,2889740392149462,2892701240258741,2893195916828713,2893601424052339,2896177891093468,2903470979230250,2904033648694661,2905361464861211,2908444575023598,2911124480176230,2911599257101941,2921971427799899,2927511611173972,2932335002147816,2942563058582163,2946143480195981,2946208695315985,2947035710205399,2948810955001129,2950953756094034,2952664814352903,2956213777269798,2956539890231005,2958358510714643,2959335482526692,2959566715003402,2965352172439193,2965439340704221,2965855909473064,2966360689949309,2973978384800223,2975093256580654,2975414282596751,2977316941548719,2977663445217111,2983750706789338,2984126693118897,2985749744661602,2993577870679042,2995240248615334,2997216190337734,2997475303842149,2998782348202460,3002144816290295,3004601117971759,3005445693257298,3005543539398257,3006825969228148,3007008399287583,3007436553703536,3016063581505292,3024440815482041,3029401793589254,3035917551240430,3037029199949908,3037243067032125,3049610843618123,3052077662817141,3055458832740035,3061176921317878,3072032250423585,3074112617890076,3076040588704705,3079164924470365,3083176156972821,3086123334924126,3089319907683113,3098540992604022,3101693309309556,3103506635288743,3110882600220192,3112903104807973,3120960716235347,3125993645599853,3126462642335525,3127239755462313,3127515727740291,3132674664095953,3136116654223153,3138943638252170,3140104823595207,3153220014750330,3158074449437715,3160234728942373,3164386809673569,3173783571944417,3175607440806275,3180308189083804,3184825950572980,3190439500089370,3191603569657769,3192369183577062,3193298901760522,3193346797759720,3194861056078031,3196931220104868,3201112500492023,3202793460581380,3219171897424954,3219575037594274,3224535741992415,3225652520990690,3226382984631204,3230186294385431,3243947082373306,3244627180010006,3248922800662151,3253156487699363,3255370232763973,3257337304537355,3265267353090335,3272928147712512,3273345746404244,3275046616104436,3275876017733599,3276867668269439,3278668472321042,3278714300330291,3280780868469494,3280794856819360,3285404600033524,3289047034753180,3294550813104021,3298089165637310,3299027911208090,3306709449273253,3309878495036042,3312036573217165,3320827905894255,3323347352904912,3332103278994362,3333652145199727,3335087116356546,3336332604419491,3346073604734971,3346508186700073,3362515004859132,3365198599599379,3365586794581106,3366181769304978,3367829027870594,3369243531861603,3377357612999215,3378502887959344,3379556656256325,3380377839647911,3380683064402177,3381845747007120,3382728295376857,3383075891087465,3383302464154854,3383677243861212,3384640865212142,3390849838258698,3402608390039987,3404656276789459,3405149696809115,3405393044390619,3408568306290700,3409525642139599,3409848562939689,3415139398115166,3415475306791216,3417433407494643,3418693183078260,3419312829124670,3421667659970361,3425688845571110,3430483417325813,3431010040648861,3433786393292948,3433893111687059,3434270543355054,3439118720682675,3443405929340821,3443814552613298,3444188614792340,3444648483822568,3452335392026500,3454079754241547,3458841677994973,3459090134521778,3463857637926984,3466754010283942,3468005713457978,3468306935523998,3469621823753300,3484417521606056,3484887355924665,3485163641925480,3485345404315595,3485684351025169,3486271024140478,3486481363201290,3490218326835149,3493226173405941,3495557286227599,3501438911492802,3502652434217727,3509064061394091,3509072379429744,3523958917267613,3531208508664527,3532553615695946,3535903464263126,3539565874451621,3539901139312850,3540376200850317,3541349497756661,3544819360646120,3549947024705822,3556230614643794,3561873326260814,3567631654480233,3569439133907194,3569585416963919,3580260758329980,3584444323393668,3586259833614913,3598107344839577,3599693059706844,3600497750427469,3609452627397093,3611915615904413,3613882437854401,3624379228154857,3628580997551890,3632115466215379,3633516585258144,3636013168823101,3644503150656777,3645611623206895,3648590415100172,3650411848640853,3651208352182968,3659962641982274,3663160485730853,3665217012698891,3670531861702815,3678142299238288,3679412885698189,3679723249740163,3688280883691690,3688327457349314,3690688866820810,3705003329123112,3718621708258333,3722526932992524,3723634868396071,3726938239845979,3728715138302811,3734192362762123,3737946633507459,3740458701179796,3742193997053523,3746284516790765,3750533866251628,3752117756365521,3756936323992755,3757543406733882,3762486477132181,3762751701280063,3767814128506980,3773610790058654,3776595480654768,3776811730885528,3779767620249001,3786173858770873,3794100680281451,3794855359477272,3797500278748845,3797572839534654,3801836630743327,3806047581097738,3809879441266392,3810799390411918,3821170295134013,3821630362687996,3822296640796331,3823175201590864,3825757657900286,3827560739565438,3831533818899493,3835198273307888,3835558444026950,3837899280987896,3841522241190425,3842446209291097,3856495945466312,3856632581492180,3860116438298861,3862694398476978,3863189469668600,3869850399187705,3871935007496414,3872628172162502,3873324719285632,3878833882038024,3880243619746497,3880529063199350,3882311402640088,3887523678289264,3893564413662650,3899793396857493,3908511683767038,3911082399615065,3917275362273600,3921777467979712,3925362829074370,3928994435189027,3929160579967105,3929583967036139,3934142879673460,3941494939757571,3941525993199884,3942048398609850,3949319172964121,3949404714704001,3951447621965404,3968940236457600,3972341462705556,3973437909773411,3977362201597748,3980515012130917,3982398317594569,3983919240708090,3991304962417620,3996232480056804,4001338100305267,4003000776821491,4010634521845832,4011194441900352,4012917626427041,4018474899910568,4020678940249116,4020893102640326,4023604165179706,4026092267698298,4026688740814878,4034351439123543,4036574510586483,4037588403031850,4039922936524250,4039932863104502,4040392164753436,4041139896587433,4044662871102224,4049703973786608,4051543922389363,4052681338148215,4055364557376134,4062261174287869,4065415697051189,4071633959541762,4079083296648701,4086687744224011,4094432968332287,4097518435638924,4102324633120593,4103314051061542,4114248458913135,4122077681924969,4123781140489537,4132460402529320,4134892291048521,4135928574382122,4138840172908252,4139231196428117,4143693188392502,4150745968454974,4151459023776703,4154752706236746,4156105039099431,4157256439982237,4157669782790617,4166107478621219,4167383773226728,4167492383925201,4168181927338698,4175996866082730,4176623816804364,4183402718643845,4188349160298046,4195677986920473,4198198981311457,4199209071018538,4199346559716278,4199937026193161,4200142600556427,4201374728073667,4210305409366342,4211040452351221,4214771019264212,4225632034684502,4234174233250830,4245383804030219,4245913779845337,4253320341425011,4255227426589464,4257521149254292,4264631484544901,4266389306044662,4267533238822472,4275580175408244,4289359014707288,4295704004397925,4300982165488644,4301841948469269,4302934567016197,4305626904573311,4312242836327385,4316505852417381,4320671705521862,4320948899808113,4329077654347637,4330412836235513,4332389830901236,4332584479772575,4335310014667247,4337120565239620,4340454370272718,4345864924315697,4346218796838410,4352222894063447,4354953199641044,4356160430961353,4357880027267574,4367125746948875,4369068622168572,4371927952461526,4374872954793723,4377274169565988,4382694020890333,4383134213334340,4387047294147332,4388622108830575,4393722386432944,4394935128907327,4405185846773600,4409442890926800,4418995118878418,4419676464130546,4421125787216995,4425233123315500,4430853131113411,4433648774646017,4434408204046953,4435949176623047,4437545167361411,4438317402421127,4438817177523704,4443045313246981,4444824473102486,4445273578631201,4454575698901762,4458728897870062,4461351844352989,4462449521144694,4464228910638153,4467196354294999,4474000580782956,4474046785524256,4474574743148389,4481408122328948,4486507708773899,4495575342843287,4496415696378542,4501876131664304,4508459014863643,4517133177825796,4525521793503217,4528035909846301,4532427908015373,4535830530899372,4538230925800141,4539716842839588,4551316076842289,4552805172103424,4561703129830313,4562273139429756,4562889929649950,4572477816005275,4573883165195550,4577060828696911,4577457918883209,4577958025008691,4580199770736665,4582265498314074,4585370103466467,4595548152987374,4602434211109390,4607450449118254,4620004533537053,4621113398888425,4622580510893583,4630992980149087,4634141648884370,4640301477916105,4641399081470667,4641458089041250,4641794721319090,4641810465552112,4645238665720809,4645621983164383,4646458337623997,4647556566493222,4651299169613798,4663702386772812,4665559789434328,4669236331860436,4671025914890237,4671062938394354,4676205735481526,4681240613933899,4683821965014649,4689342516749982,4690119446223188,4694128337468791,4696124657031960,4696193088102148,4696638008353613,4698423835133356,4699216184918082,4704195358103927,4708213524509388,4721521787903217,4723274946162868,4729163773640834,4730341942998122,4750145321126258,4751422453008817,4755912323473330,4756833761182793,4758803188341003,4762437486337017,4762834014218571,4778822146835476,4784620939372924,4784854530655115,4785601845773156,4786683724318639,4788364915970531,4791650559342688,4792800308786051,4793495469956659,4794337453617434,4797047238512497,4800291638880957,4804645672015140,4806827593856676,4811729290308862,4813583810073804,4817878202402319,4819210711953623,4819297775674748,4819311564829320,4822240770685261,4823251614359045,4825955485244615,4828732317464211,4833444690765931,4836894122787451,4838221388703602,4848960069162027,4856643780511233,4859353321888294,4859467776000605,4861078197128753,4868100857196342,4869271395674487,4875972042816124,4879638248944748,4881531428270387,4894597037736842,4900275904853327,4902345078498684,4907673099841830,4912787048821119,4914549573455980,4930034114903088,4938885956719683,4938984906671371,4952413633841153,4957117546097581,4962024566226233,4964966617138828,4966376651170584,4973778510774167,4975540053830624,4978106676024424,4986110732910751,4995563329299788,4996212995257738,4999915977157470,5011891458604349,5012633125949878,5017724733800167,5018157783395788,5018781410893851,5019357482030347,5021445876086138,5030617336717801,5033368364296409,5038003571725954,5045163363224076,5047944681561823,5054098670441464,5057486321357458,5057790328506277,5059239413878415,5059653728314562,5075357793289723,5078143579563766,5082075970958360,5086177235816634,5090517135844571,5095238786157913,5095997925642684,5096759450835327,5097502836207144,5101214857653244,5102026127818781,5102867437873560,5108455108876502,5109339895416818,5112547786374962,5113517669186741,5113987619419017,5125513112408495,5127124574162351,5127331696245969,5128951178677788,5132612621833970,5143420500944709,5145276514713692,5146830226631178,5148881101936222,5149206177910233,5149437337079666,5149863467137139,5150315306295015,5150426384165948,5152031727525643,5154406455748760,5156461422732999,5157379504662047,5161207050871469,5161248283909416,5164496015188591,5169183503623442,5170033828188437,5172451986737288,5173899903805393,5174341244024506,5174660761082943,5178681082547978,5185496711050665,5199397406461572,5199519828192191,5216652140931560,5222047064350262,5222282340592980,5225960701910860,5230003976759540,5231985318055496,5236341345649495,5238635836185856,5239269458643567,5242274139089145,5247586236105385,5251993594243967,5256157883002967,5260023793294245,5262424254200249,5262515077905251,5265232429826960,5273272937856228,5277050637122870,5284015351506042,5291703312055669,5298034705538719,5302053963299700,5304711911200062,5313230992694743,5314446308863251,5316323217920338,5318153535798629,5319128074583642,5326372158895078,5327554389775897,5328891577748554,5333028765846132,5333952601578012,5334935043856488,5335020091722251,5340420023836909,5345704507186657,5349788779068053,5351104001242138,5358493250319346,5361787265106398,5364846600059577,5367133911213099,5367718245082904,5370226527358712,5372175647130534,5375274967884629,5379968233240165,5380736206240325,5381546956953785,5383368125410553,5385746119086850,5386810090653851,5388894770243354,5390748522455977,5394080989067132,5396868798166091,5397913443318485,5398598214938688,5400291293650351,5403110884625308,5406614253824595,5408167860716448,5408684428107176,5410632742040879,5412454472585029,5415609710834006,5419089032931253,5425776155703968,5426343929555151,5430164168254949,5433304691996431,5435448562589939,5440154526785082,5442550985028476,5443519792343783,5444690183081885,5450650932615338,5455725933689601,5458279931832152,5465378018390073,5465468293521107,5470523383371739,5470969344336539,5475821882378207,5477177690474931,5482250465546522,5484161477936466,5489284312856062,5489369658364069,5490569127868792,5491063328575234,5493319803023083,5493870604473986,5494363692102912,5495499148937672,5503103710464614,5503513389639664,5507615794296947,5508503680735494,5517653225284855,5521521718617004,5525271231853414,5525784499514800,5536775761553566,5543069752424250,5544364757593219,5545802799820933,5551558523406896,5554380825386759,5557919753549640,5559553479542169,5560825696398560,5570645491117548,5571611222021582,5575596617449768,5579977210132164,5592415623299140,5593426453232836,5595805533420086,5602700450924399,5603538322319793,5611751716804501,5613862108602356,5614909593083489,5620948070768841,5621064494334548,5624980176214575,5626090376879123,5630820724993122,5631339882742194,5637312677638017,5642756368786070,5646619733332345,5653701086020480,5656741558549497,5658909534123937,5663092617828839,5663224746690969,5663385121189069,5667246937392321,5680063203437155,5685769039380624,5697986357589265,5699319238678867,5710195316669727,5710364792755140,5712513634730123,5714049549411876,5717070125530008,5717707514404603,5718933939076632,5719318350374149,5722219703153811,5737673156168293,5740477961003848,5743439881123553,5746087812806105,5757334188672719,5759061891073762,5759605430401092,5760917932621246,5762846753375421,5768847482599071,5775786807466214,5778465954807704,5779727192598359,5782454578043069,5784207630429531,5787478509200132,5795310516601245,5799653338299710,5812168700056249,5813405909746709,5814659226632216,5815769481430106,5816254259189301,5817139504392687,5818962864882161,5820855454510934,5828565941868585,5832544070159164,5838532420889856,5842761102579491,5846508833190611,5848249740129972,5854937355756548,5856022939536906,5858993021903933,5870645665739004,5876393418760803,5876736261749158,5877001606837482,5879985416123329,5885444131631387,5891024028896298,5894685367317522,5898490390630341,5899953571983439,5903023130181011,5903484378223350,5903666264650934,5903694388453077,5905923307105350,5908696090042283,5913584686996270,5915859656997442,5915879684950182,5916931928833529,5919430186483428,5924117520799744,5924879546681533,5932662790863585,5935312555770245,5935661430493388,5937817448042430,5947101870703205,5950972051903959,5951041949791953,5951726048170658,5972218700939363,5973250287141740,5973677832178283,5977031849078959,5990178361033769,5990570628261118,6001206595929325,6002276243709531,6006751473613523,6006897308518556,6011214467146689,6016555602340361,6023708485790729,6027671084996298,6028501758004444,6029374529344504,6030811056861793,6032097611334280,6035955206980948,6036393255326821,6043316342842623,6045838883225433,6052608603431831,6053804686685524,6053958863313339,6055268730727559,6056807484550007,6058584581621317,6059626128614092,6070104051324693,6083108464119662,6085590822787717,6090956327042002,6094860440146813,6095038202403332,6096229123772452,6097073203191647,6103891026698555,6104688884599994,6107758160260988,6122246130680759,6124004526649147,6125907283269891,6128284886205816,6132924004245246,6137419131615699,6137499190958511,6139205116246240,6142105213155394,6142688368084569,6142913125046520,6144042650109511,6144095475272536,6148853279972165,6157729055897116,6158322788243107,6160835787414693,6164759784469239,6167018513092476,6167607991565253,6171707826744820,6174144459043731,6177490881631784,6177692002705307,6180599532722384,6180617553423208,6181251707047392,6182491554240294,6190932940940803,6192358086666249,6194877677308546,6198857031919734,6200081358996517,6202082397019416,6205024632916134,6207302580763824,6211423761058583,6215284878845774,6215440151333948,6216154454451807,6218233647565127,6218512470330013,6220604711061324,6227071256308643,6233498546819624,6236798857143890,6243407719027967,6244874563473516,6245142031174040,6246838555534920,6249074081912395,6249758679502616,6250557402527662,6251868356478317,6256321719332215,6261686455216337,6264775741996340,6270623030455246,6274969421000503,6280006843403268,6281149158892909,6296961749764111,6300447716613718,6304297838290460,6306042178881559,6307115079760207,6312245698368186,6322233760419356,6323173079753451,6324812402453371,6335023550154225,6353191312166053,6354692547077099,6357396963255601,6358389478584958,6359135369542064,6368768790664617,6371090203570186,6372329995436972,6373927709843793,6374693910197545,6379348598089064,6381541745622015,6385800661078082,6388937996347478,6390863793314128,6393248753656632,6407210526643342,6408730838629478,6417566655445436,6423382525818443,6425609470770570,6436083078959781,6436814879261326,6442916426075876,6445879733828998,6454320146259766,6454656458940756,6458237633544796,6459246249643680,6462957099049843,6466065562806689,6471689417982028,6482532068799143,6489722108699832,6490299073029283,6494216993344366,6499734594021057,6503186772282900,6504859169508928,6507830449842499,6510975929277435,6512429809706119,6516226128433302,6523391982496272,6534435207304569,6546595430555691,6546752598032205,6558599467268843,6559912537272461,6565025138801153,6568196183285198,6571097539012216,6578237361036784,6578503095620162,6585680325396501,6587654701564589,6595708386553174,6608001737567202,6616149821789620,6618251453481948,6618435915029628,6618676721046335,6621057137514784,6622760768363465,6623916460399609,6627687708278604,6627783782930560,6630093742634040,6633679848040650,6641201043777485,6643521507427133,6645310761621776,6648932781635955,6662203303202718,6668468822319197,6674364905825227,6678173806211118,6678617623247346,6682614209582006,6684865188797781,6688488067507556,6692574202860978,6699342662745446,6699601051457480,6699624106317412,6704989683409671,6712177752369021,6720191931854899,6721985110519865,6728831533279314,6729387689420763,6740158910360226,6740782983077394,6741215022206694,6742696713154438,6745753170262651,6747208404406959,6747763101536606,6749753901939374,6752595765235073,6754613815657166,6755291783706242,6759785636657525,6760588036724092,6771281046319400,6778747192742624,6785714707329795,6788002061659117,6788203480253865,6793843162054529,6794299705676629,6801783177540135,6803312883106461,6805314972544938,6818759912474922,6820988811787355,6823062398472026,6826362904176932,6827299283549200,6828195113056916,6828673134192974,6830256824394694,6832757900847449,6839800914177389,6844288668932623,6844336660738179,6845320561422543,6867967645790541,6871074917650344,6871762569059759,6876239502460282,6878773843563416,6885815333874594,6888484602467342,6898143968669196,6900004638975216,6905914351227176,6910834673790415,6911812457892129,6914055104334094,6919747802868531,6923486337221090,6925667026147338,6933453950416148,6938107292471175,6938223955509899,6941024220883212,6942033581849643,6943458456583346,6945905024717815,6958904824641253,6965104736708795,6966317419189633,6967131174911621,6967523404032078,6968626913917078,6969723087551023,6969879544962764,6973244897917836,6976680325243925,6979025352783650,6979370520679168,6980494356161697,6984882368689931,6991429378659097,6993040182965693,6995106444038232,7013532370262403,7016766698233684,7021458253363648,7024829388289761,7037699445900528,7038117440889701,7047751781972594,7068328396622979,7078519684380004,7079136072514786,7079683617185872,7080593167563472,7081754833089042,7090263369022454,7090827224293435,7098844983687608,7103287349340715,7106775558992670,7107670335907433,7112480093601650,7115518871031565,7117602179959460,7117702213846209,7121896123546063,7132927597129919,7134741662059672,7138333125007121,7140267571474431,7142051916052761,7151557370156782,7151630939274842,7152477932457527,7159009930103737,7163383528300707,7163778957994361,7164516813412020,7165245447295611,7179002153816766,7179903040144596,7182233643190269,7182765199375506,7184665213216156,7186047534415508,7191096990307504,7192853768347715,7193706102549630,7194390208322086,7203674420028153,7205356147061987,7205440304046385,7212278254469221,7213120783173544,7222827358840359,7224545604825492,7225295067327053,7228437063271890,7229216536358274,7229486634256081,7232125512735235,7235403866067319,7239097855225524,7242588962722849,7244564678730935,7244768482327881,7245566857344055,7246915842148466,7248035515958267,7248740619006619,7261781244132035,7262289934411894,7266821489213820,7276326602211605,7277092712154010,7277675196574359,7279500143289769,7285678364340995,7286552397490444,7289711990915466,7291166276647549,7291878183300562,7293014405240845,7293120299138230,7296021783720685,7302877510804560,7305136552146877,7308326077425136,7309526818453637,7312457538294268,7316330078533123,7326575126577204,7328477651553143,7334460645181314,7338010137201066,7344453486207090,7348071649723458,7351715416841733,7354010904401429,7358759012302734,7360258178944323,7363914809349690,7368773239687673,7368990891984284,7369067702745463,7370610419112862,7372069375963896,7372949260070506,7378192097899948,7384234111099756,7386045769570324,7390506088312346,7390710096067356,7398773968230003,7399651877743543,7407156702916619,7407505476310295,7412075044877324,7413103855739244,7416878995770443,7417889495517890,7417992892826458,7418488700207131,7425782918083640,7426542400535424,7427800180129173,7428977237077501,7430512069482015,7435984239692232,7436873913790602,7437474890639138,7443107233720726,7444471858317499,7445843328639391,7447921740402688,7457626872755122,7461417070760230,7462663569101078,7463631301411392,7464791273301861,7465698531247575,7465989092511044,7468955978108988,7470414970130956,7470691742535496,7472016146671178,7475500532623013,7476427212005998,7476626636382557,7490128336689868,7496125413626459,7496331600674721,7496586171914845,7497334675461455,7498030447626019,7498854721985035,7499741802632764,7501028258951772,7507971309059323,7513140878034397,7520995594935128,7522857939238615,7523568386509127,7524079580225271,7531837667095752,7535413758699104,7541987648743096,7547834066144263,7549509942679840,7558348891266390,7562422547591358,7567376160342247,7570266295972391,7570701292061586,7574807836993530,7575973317107614,7577088488345910,7577833848718658,7578638579275105,7580092247778121,7583079410262922,7583396165831142,7583764379769101,7590281297167973,7594145655959215,7596032551054600,7597146399455249,7598973979549112,7607301189042080,7609709905585175,7610703887034738,7612217782008852,7612590563938043,7614314828758987,7626611098574312,7632486697445093,7635361684630569,7635781595842092,7637503540227229,7652643882172024,7654546417001702,7658477424630193,7658594690166121,7658756342775449,7659221163244052,7662988662313759,7670573068797315,7670620641239355,7672952384552853,7688048940346303,7689154854909634,7692157387739297,7692684970839720,7692715035163949,7692872154514462,7699490741028377,7700977357734436,7702985130021974,7704411344416172,7708512355032444,7710242527125752,7713386097094125,7716490464557575,7719367164738556,7721077927518745,7721609917312402,7724275439905728,7724711616367069,7727393378005013,7727688737658572,7728376014820122,7729310710317073,7734200858227759,7737983217239889,7738701740734266,7739863878221100,7748491852382750,7761354279867729,7764178055458929,7766279931264675,7771590301023685,7774873548808587,7775101063842022,7779960077213875,7786006720140585,7786623092023665,7788620682842041,7789614831618262,7790698030398764,7794053661517357,7797582785345941,7799750768370576,7800931705061909,7806696954752845,7807627836703959,7809275090934984,7810562577473506,7810998696754018,7812875292301653,7813351823453750,7815570269509758,7818433714447086,7818985241100641,7820811550237674,7826881780965015,7841588711354365,7852366441407035,7855477820333867,7858337898821330,7860940256961100,7862242994456228,7868991532284921,7875449163603356,7877526742599223,7884811158802680,7885098411306234,7885848475582109,7888074400901569,7888437547783278,7888500835141269,7899000176906699,7900170751256211,7900621082983922,7905781741383824,7915002755515393,7916680314419175,7929090546906102,7930649670973791,7931707661135896,7932664861586881,7936886244974173,7944913299381989,7945929831888496,7947631560228941,7950990573236144,7954932398971022,7955707767338343,7957474102755475,7959145831679961,7961836057698682,7965048882911994,7965254194340254,7969662040440070,7980381451760704,7980587376998310,7980735420462798,7985722197062386,7987424295175338,7995443309794354,7997135431578468,8006897017337402,8006976419849250,8011722895901690,8020262137556052,8021771731265660,8022639767891247,8027888930993228,8028030091531706,8031622641498868,8032268170160689,8036544756403250,8042606792528101,8059389868173903,8059450627794768,8065220473196449,8065582408992410,8066856250710691,8071865664728388,8077418220136860,8082463447862295,8082820682426435,8089588938475723,8095523873680122,8097390569526238,8101747032613392,8105559582340911,8106928489710751,8111834837966998,8112104031271206,8114237531654532,8127670090034835,8129591252255075,8130207971385588,8136369282029634,8142129094140152,8142634926688230,8146423080936368,8147298843986804,8152440707511793,8154879940866529,8161574196354384,8170876711488279,8173481093695052,8174511269651377,8178398099602601,8180578302229082,8181586463868245,8192542128082353,8194052295501546,8194969512324171,8201561228078010,8205287009351885,8213078648151372,8214059341854817,8216440810041214,8217581100021235,8234783421929082,8243069565420263,8246362229814725,8246571670186657,8246716772071880,8249298655984594,8250387434460343,8251262500438279,8253292038013840,8255193598573136,8256150707384279,8262954804685181,8264880757955296,8269769863632137,8271331264772547,8279296087284122,8279996819873290,8282488428172923,8284234491989688,8289349890472704,8289498162240419,8302834672979549,8303400292309646,8309633984147819,8318696076968435,8322561813637125,8324890577048813,8325237800434916,8325244982386600,8325938551251775,8326972902154084,8332190045511090,8333273920187213,8333295411468735,8336642144860625,8336794237476945,8340676844945415,8342359556228636,8343138042400877,8343422431629489,8348222101988490,8348990845348274,8349203373840720,8349929839053237,8353187069342082,8355184882068744,8355216613777188,8357480319128064,8358858858741708,8359032487697274,8359937481115835,8365483157606045,8369163766277845,8369986014094300,8370512453717737,8372233568621885,8372801112194483,8378780774433401,8384716609191558,8390262752827048,8391964943990114,8391968117889949,8392149294258272,8397902100674760,8401772412872195,8408375889672914,8411174366535457,8415585315618209,8416272151484023,8422456048756653,8425746898298470,8430090272302554,8437064789335853,8438071844029923,8440380356686069,8442951603563362,8444597753784738,8451164588916518,8452143133964194,8452834615819362,8457432590283505,8457870432601145,8460876401008247,8462195561662212,8462356309409364,8462779787380437,8463894151036866,8468076223787436,8469301843796323,8471378426717330,8471415745047933,8471563440277386,8472404382970836,8478129640091772,8478656700478130,8492172722223897,8498566054392581,8499229793648454,8506577707409417,8509132075144310,8512769287132428,8513163154527267,8513504634548185,8515344063519634,8520471745574237,8522204087666054,8524148859687867,8526397555774454,8529230741888138,8532559561743484,8532654039076026,8533878116076637,8533995416155386,8534972628296620,8535864863010513,8535971593214147,8536095899242944,8541155088407770,8542730575053594,8543114315775141,8544314610710198,8550168506511268,8552407797606671,8554633315621859,8555174066389539,8557956937889635,8558151645997922,8564419827076679,8573037870741832,8576579691621984,8581367096989732,8582261197731227,8584103263448365,8586129879796676,8588390118640027,8598659143101208,8599129846364328,8601522207106423,8602281558256184,8606118628054373,8609962853072397,8614121798757181,8617181526340432,8624540329478798,8626391389132139,8637210920266035,8642764308475012,8643781560678532,8649648448925106,8654788098657391,8656720607859172,8663480084138334,8668647436071212,8676906171988104,8681093783245916,8681657579012301,8681913385441783,8684040140251633,8684751768894594,8687233995374161,8689451052146568,8694259890202010,8707543506731647,8712178326749055,8713167337349649,8720400968274939,8721624366660549,8723528441052177,8728082879135077,8729412146383037,8730722008863330,8734134339123262,8744943197261790,8752084776243496,8752229489182462,8756024741015291,8764086372954576,8765499574275666,8771763736993583,8774891003290900,8776098695299089,8781771689282057,8786064399236492,8788645315265601,8789521527155337,8800564096781294,8802869383602903,8804388443116965,8822012246032459,8824420613904824,8833617601200992,8839028706384124,8845997843748149,8848441586602708,8851257701148635,8853468904397509,8861373802714789,8863519477739503,8864760219124956,8867353885504610,8868704959256862,8869726068715730,8873178736038157,8877414428990774,8877639105413482,8888927845730161,8893272613048649,8895434307439131,8895481679956001,8896675958607703,8906632086442921,8909764344727962,8910696373745749,8914511413857104,8917771334029599,8922546229199542,8935766685372472,8941687890115326,8946727890515135,8953024300985451,8953097697609406,8973117667284369,8976689351398218,8979052050754475,8979138566806786,8981576765955511,8984458105294828,8989003157868761,8998231894652099,9003633319081270,9007488636990326,9014303703878842,9017342455231486,9017775639960192,9017891402481729,9021516015590569,9021894799811309,9026119584500749,9032187371857715,9032210357540524,9037381687162545,9038550674961458,9043118071475817,9045075196494312,9048587505711843,9051912387029910,9056929643995395,9060898928960346,9062131144374189,9064531090448266,9067993556866039,9069591997036415,9073037543243418,9073542014929237,9074741782974562,9074896498908993,9074954160428210,9079318768294079,9079888527353695,9086751601932227,9090741520266450,9091979750057327,9094268438464734,9095103196939357,9107447274695798,9108055709626815,9118451715638510,9125362263593744,9126355422536516,9129589011938145,9141233415372106,9145865355932391,9146655579064944,9150924106375181,9154695178495413,9154906598387783,9156606782616571,9157375841856013,9158676476944194,9162668962659557,9164560080137859,9164808695055580,9165398869818013,9167897025495661,9169656716086699,9170930061820260,9173729001963953,9180092141515547,9180835981759675,9181392291811972,9182988335016139,9191103445945706,9191895644403376,9192998929861767,9211473363037424,9213354462894451,9216455003394783,9218987363983060,9220215058481045,9224473925896720,9230580606053228,9230781676144500,9233097697027556,9240969247386165,9241853489961590,9244558133126668,9247060266595808,9249469378126723,9262046728311117,9263681010079025,9271020411926998,9281037194537819,9285141224306324,9286405859692622,9287536154919442,9292441630319582,9305483767431545,9307808415233512,9310504704434237,9312863640688829,9321928567260274,9335430691435020,9349870750958121,9351366438163042,9352141537262568,9355129827150685,9355940792017453,9356671043680573,9358554525655764,9365839127076720,9369093634111987,9375641216209833,9380627712808545,9391486822118482,9394976106188444,9397328261168293,9403765537033865,9404565557844940,9408921495622508,9418107590281736,9419050885946372,9422324913293330,9423486081818391,9424880153466631,9431002060282822,9431492779408494,9435750849137196,9435999454995538,9436467803114520,9438440967152456,9449047384009255,9449340008831532,9449825490510575,9450124549058915,9450266223912705,9451923415826938,9453754181386129,9455474915077424,9461773699588349,9474415802799799,9475829378737099,9475995871994700,9481386469401705,9484371784536628,9484984344438553,9488440660460028,9494545505111169,9499991472364593,9500280517945270,9506279993556395,9512690141526979,9517376601859417,9535833980442651,9538837225746487,9543648898717657,9547557360432895,9566613425099599,9570293654144253,9571330378157840,9573924489710217,9575165150956720,9575447421008044,9575885834850839,9580743881484339,9583968797309156,9584561427927733,9592438802141140,9595887445842995,9602902468421116,9606089004061910,9612716915528679,9615883008659902,9618201274077735,9624534057788017,9624758856235873,9627779818273370,9630291603264391,9635050901818979,9638553113056923,9640256664119083,9641362208707358,9645470246174746,9654460153869349,9655820024254396,9657079142409314,9659932051785010,9662025225596157,9667241625101916,9667276386502943,9670575633086786,9672577363633156,9677328620414229,9678605646922309,9680945785313483,9681067738687093,9681267064784409,9684623279089548,9692893983377486,9703534916274044,9704279295656371,9710300281092436,9713887926847430,9722172985687510,9725792147964753,9730102559873491,9731503574801034,9732040155273334,9734113097684625,9745464335501377,9759300027118446,9765786817226776,9774084603677009,9775954892341561,9781535106471005,9782799358625264,9787218473221709,9788457577027091,9790881050593378,9791716416162907,9793594547272040,9797573432707706,9799889278686304,9800030295823990,9800643300496312,9801531586161304,9806868721015896,9810257422545913,9810585298035378,9818968963003545,9827735758375406,9830504103227308,9839088699938530,9840344155855293,9842146939578796,9847076554159479,9849134001046702,9852441706161363,9855206514878035,9858589834827721,9861618221073016,9868175191633702,9870764755744667,9884359216488201,9885568741169094,9888383442614567,9889475178157085,9897712283656982,9905482398851907,9905509887050233,9906275973443018,9914537510086498,9916047888280925,9925919096295581,9927737657495008,9929573922212347,9929764483111561,9936648632787612,9936930189944836,9942546535848415,9943414292728350,9943562503792795,9943864011523125,9944926015830475,9949019217971450,9954313852436822,9956729180121161,9957485611486827,9959245907790498,9959649353025290,9963611887803061,9965461136179694,9971538903925806,9972659184707003,9977300414299533,9978079501560780,9984981814399679,9987074046553413,9988183784680681,9989307766906661,9992489863586669,9994394125866496,9999648366321789,10000031604968879,10002844747369936,10004925495910091,10008184940193864,10008461597296659,10010370056943249,10012185312140615,10013671898596744,10015492885655362,10023685800384052,10024272312740748,10024518507785908,10032518948661767,10035990167276835,10037675774604732,10038212235930891,10039680011817758,10040986745269183,10043143509796825,10059920635183403,10060828780412828,10063209359600748,10063600315370974,10065868826751899,10069449569085214,10079621948289706,10079780537607131,10083178186730993,10083835921342635,10087308692864238,10097389948237264,10099505447983235,10114762120457964,10122602940701424,10127093259012746,10137337268168058,10147088443674066,10154032807160608,10154307535853042,10155542068394802,10160572363193486,10168672086600643,10171123087736692,10175620188550308,10176491974309391,10180241838937158,10185718177412770,10194722954029343,10196461247193047,10198150880968885,10199671620517651,10199695570402626,10213139479075307,10213463533232206,10216483252367678,10217695934166737,10224107621925080,10224341861439251,10225134693123796,10228698111458386,10232055143615071,10240074124610978,10243488805517527,10246709309375903,10250309444905037,10255002992865388,10263727029912731,10264525977886481,10266632870176478,10266820110531598,10268623122698602,10270163349933746,10271469102327032,10272466256560721,10275743124733814,10276224552844118,10279570843072650,10280390537061924,10281974844357620,10296558578829119,10297624439979852,10300473582041388,10303678734793518,10306671241348195,10308330126619188,10309932015401873,10313330243851850,10322521592618940,10324994061564475,10327639436128444,10327836487278240,10328062775184436,10333141638123601,10334247661646447,10336137590649056,10338920736989409,10338954267321910,10343961504376443,10344652626799903,10345084432193915,10349133099508569,10353863721850444,10359698556732429,10362411781950181,10363323817948865,10363856866900979,10364382029087166,10372218357405989,10378769233943499,10383366177443313,10389930038194229,10391227460972667,10392794184418963,10398456973956573,10400718449268838,10401822723036473,10402496249924470,10405138061495149,10414467140029313,10416168489938655,10418627906817111,10419717389280422,10420088526584073,10427907045176189,10429449856647102,10429527060520295,10435742830395507,10437768643316041,10438557857523653,10438647586807590,10440006848965726,10440487445875223,10440675814381911,10440838933113584,10442812714871140,10444872472907940,10444918775580154,10446053077534203,10447329823526441,10447915458986158,10449478084214979,10452337317481683,10455776599349428,10466519528405133,10467269725152768,10469454767792558,10470445288089220,10475593353115645,10479056751944619,10481951551463793,10482250308230673,10483827694271696,10488747371854077,10500385026427457,10500488552967312,10501260356111404,10512322942799654,10523297170953308,10524197477213077,10526510768148749,10536793015345856,10543343012752730,10545121874221728,10548308070444431,10548369311321575,10552704438057457,10563044468102777,10564172672934646,10569936885011978,10570501131760442,10572007743658085,10573848693130061,10576973213646289,10578269597246868,10583112117834044,10584639348411680,10594696458041961,10595951863277111,10608578244765171,10614584966626439,10620592192554759,10620798042888920,10620903315872377,10621082248937070,10628643234912171,10628921785417252,10629062237330307,10633505584587868,10635387052790493,10636120887409717,10646006703435010,10647477117223054,10650028403614625,10651121348848499,10651345084987832,10654625803270603,10658173942822862,10662504984834470,10666212884489150,10674748481093869,10682941113641784,10687323304253849,10688559968805974,10691866174146243,10694995464922729,10695927691488062,10696210215422820,10699195330093884,10706304398299584,10706909043141392,10711714669403874,10718007421668166,10729128988836847,10731904283058389,10739494197398891,10739801112151611,10754362437493971,10756057668895469,10760825923948907,10766441205077631,10772046172473065,10774595446367799,10784226394558794,10788763405851951,10789995657189753,10791861050542069,10802291531494117,10808364573742279,10818898059592134,10824560278958441,10827594971106799,10829139547484424,10839803231136688,10840559858292177,10842762916923867,10845347885148728,10846960440347385,10847253104607377,10848123266416937,10852276831524456,10854428106437565,10861241406654155,10862767928581833,10885189706501902,10885610118151807,10887994298217623,10889705602128169,10889922295232389,10891169429104356,10894930198422418,10898755272190895,10899505158719250,10908847810397854,10913442039163653,10914509218958331,10917306751752594,10921844952698928,10923207650640427,10926914968716545,10928023009400926,10929092524133184,10932202328627689,10936661551264740,10948651072438721,10951948612195804,10957392874098981,10962850107056207,10965247315180552,10967958009290469,10972909371352109,10973378500551496,10974341394948959,10975117317621830,10984973432275198,10987375778918246,10989202769093484,10990409005986868,10991558669034873,10992487444525627,10993385229040135,10995462961190157,10997692366332970,10998901653014457,11001665093098228,11008808435120331,11014427382218185,11019805073365185,11022642525947194,11023763375301913,11024320739845292,11024882796236184,11026937591363346,11027888013301225,11029825398794377,11038025471456068,11042536781194006,11054833551017746,11056592382175061,11060604597813501,11062402375665545,11065372708374227,11067445870108559,11069851171800453,11078922436292795,11080633936367688,11084732592274012,11086682643753664,11090552698103596,11090658585225857,11093188409391605,11095383304270179,11097675961341227,11099369753166044,11099551546210604,11106506387649741,11107790185802013,11123159825527527,11127177251318180,11129601052279134,11129859357638708,11135583018648230,11140988948695005,11145709417931599,11150199869893669,11151387183049239,11151502397313142,11154110766156613,11155371761778170,11157295858466191,11158629464450723,11159414148224323,11164777782395177,11169430954279703,11175202072568888,11175852637265303,11182614329697619,11184082345585609,11189705813167959,11200002087496543,11206266985990044,11212811284757912,11221071832453748,11221944462355990,11226519618035312,11228541607320093,11242771850103375,11246366304663746,11247749010895948,11248516680815322,11253108954825869,11254820718151050,11259273102107656,11261264491503353,11265599260848364,11266044641422248,11273050277652437,11280555107389759,11282775695475018,11287600375177114,11287893566206082,11289098740261755,11294033441021320,11294773174907559,11296245208210814,11296470298526751,11305713023756983,11314863622778589,11315258511556799,11318554733251064,11318702654300182,11319884533641300,11327586528497295,11327962158491035,11328275638112363,11330273278512837,11332552015667182,11332697629166595,11339380783297842,11340864658831256,11341499658993269,11345417090314925,11345675657880008,11345676553858105,11347392098829511,11350409656754127,11351342558936179,11356129989349558,11357460555425130,11358086643159577,11364648346737734,11364824056279735,11375384258325108,11383750361347134,11385168267308423,11389085993650118,11390806798887033,11397120253984795,11401700519195899,11407990305495344,11409131295056209,11409539605925674,11412775300232418,11415931058237717,11417029279499404,11418837401792416,11419050457279467,11425460679750797,11425662918976551,11425674126078597,11426226096713572,11428009680185526,11428645865887160,11438749233694215,11438964462131562,11439459859045383,11441352104880750,11449215149184077,11451628260579985,11452907797520228,11454513203644820,11456881578527630,11457346667741182,11459692638425608,11461197052190285,11462322406268747,11463847343590781,11467023328231824,11475621626604237,11478518643790981,11479308399516360,11480479501736039,11481618683495992,11482045627548411,11484846169745779,11495135828909763,11495940916242717,11496597527405109,11501735487559917,11504102260549809,11519358680969077,11520326123589592,11524872224376445,11528838411980010,11529868184218561,11530775986224529,11532404505521434,11540894335577353,11542654016596156,11544013273650036,11549882026188551,11555345985992577,11557042562885581,11560241639867312,11564144512113061,11568498682605843,11568678400586201,11571509198989020,11578506049932280,11579799804334255,11580137502987103,11581727638901896,11582679596601249,11583117656203215,11583507699894777,11585101265495681,11591047076552913,11597838643220140,11599758357243289,11602974466808884,11606641527777687,11611075089640896,11611748354430947,11612441214023420,11614076397936832,11617014574952198,11619486235348603,11620240919983985,11630644392646970,11635654976144153,11647860207129349,11653989895623444,11654096880041734,11657305088193972,11658683525550614,11664834793123518,11668903396015121,11672731802674267,11675090294053441,11675693720283985,11677165015385087,11678549904666632,11682179864909511,11684720239124533,11686779979541908,11687293075071490,11688194680736119,11688237614883154,11692359880827672,11693102982874445,11698756388262452,11706304165327067,11708423865084678,11713690607980814,11715198530711638,11715865254416537,11719221642455460,11720785116417048,11720873374212079,11724825796758899,11730215861616220,11730467845423531,11731164734577661,11732952721643258,11734286258484747,11738267971902102,11741745751488248,11741795538258227,11742706162990999,11752793473682764,11753431031818860,11760357200965436,11763018637241008,11764356908364626,11764874035248246,11765704631176088,11770706878359270,11776764748856507,11776942132964186,11777247958775743,11779851101536854,11780837550785665,11784146238668811,11785019194973166,11785179977172715,11786257969749074,11788283962253789,11790027713938832,11794754868481503,11801008269183730,11805477304749933,11805878919584950,11806503727533719,11807259505447243,11807669581624359,11808975572599296,11811220919611763,11811523671191877,11812158072536409,11823032149508223,11832905268834899,11837866263209531,11840295016246440,11840740382069149,11851393982879753,11852586198115184,11853010088136902,11863824190392357,11865542872711201,11867361302652812,11867622238392053,11867650483762221,11868412894656304,11870483176868986,11898179901887368,11902610012478374,11905938593275593,11909747036535415,11913133672980273,11913579970744326,11915166616058954,11917437865006221,11921035710134156,11923308867485120,11926548936220126,11926805367659349,11927305572643559,11933874408252082,11937995919116415,11939403507435534,11941423373859996,11943720753021897,11944383058348300,11944816331130113,11947591791853532,11949017351281018,11950260926652836,11950767340516423,11952970464557834,11957777053959725,11958250094792465,11958326503192345,11958460182520420,11971876905384523,11975100060815344,11982172621189391,11983457002283111,12003675199241448,12005848174188578,12006522182584979,12008453650739367,12010943352799406,12015639579945326,12017040715051459,12017280196275791,12020813104002531,12021776657102177,12028404727423728,12031148585055714,12035410219539172,12038634615780325,12038984699485340,12044509607056046,12044968098240593,12048218812219413,12048806622801494,12058410162198406,12063913410743326,12064775457651800,12066617975736949,12068867551957576,12071821708133242,12078782315854672,12082781112646069,12085458622840725,12093768254366446,12100943786761249,12103342077182428,12107118790447412,12110485781570692,12116763440852785,12120377787831548,12125020327675301,12128081806219839,12130816680520314,12135336896340352,12142933439996132,12151932314546584,12155534792479002,12157910100394424,12160896977780321,12177544020169884,12179235809448305,12180040689184058,12180082671639635,12186122156905100,12191783234987303,12192518732233721,12194188433406465,12200556590308310,12206961056205598,12213487168281093,12216273376124566,12217037909052392,12226080030988795,12245236639338607,12247196809844638,12248146350462714,12262311222789758,12270437462627588,12270468054721839,12272177606302533,12272459725983251,12278383271194356,12278465206346582,12283300256073245,12288007619457690,12291976925956833,12293363361122131,12309693411990179,12312452990243375,12313776804764473,12315740660505432,12317737462653854,12318972117511665,12321231790044265,12331039831738345,12331300696945968,12332506101262263,12334476628613713,12334531906613812,12339633893332240,12340540257772691,12345475198663391,12347889475047477,12347909851317459,12360123775491680,12365750013844755,12370916479710467,12371561019916631,12371619531441513,12373603008943996,12376979801050250,12383499878769639,12385506900879288,12386587160860313,12388152182711242,12390527382979238,12399457458248220,12399946676042065,12400047520221171,12403402985696867,12414844391454468,12418785272430115,12419850567303984,12423854238100384,12427118539066615,12438014718231534,12442226783163244,12453429222313446,12454152316786214,12456127570195279,12456974565702299,12462037008975433,12466553139749819,12468960135907940,12474505023309244,12474737975133205,12475509972236592,12482618753698829,12484792688815182,12493121285865448,12493531949000940,12495098079276198,12496980807002515,12502404720988619,12505394079431787,12516465480475702,12520510172302125,12524882028709030,12534442305927340,12537207717978996,12537660041547670,12544032455101983,12547299118310242,12548400145943534,12549910268086697,12559911253268655,12561212829273378,12562621625488566,12567396522160703,12568269490941488,12574953991866005,12576978802157283,12579381981407506,12581297128593136,12582417504397196,12593140979984180,12595025894277088,12595568697579144,12598104253633453,12603845745843686,12606498330358134,12606901469342342,12612529707466049,12615183521565762,12626861709059593,12627315009999764,12632687195472462,12639293891627838,12639418814809649,12640167527828266,12640428361474198,12640818042674893,12640871580590329,12640969010574572,12643494240426710,12652136957477942,12652319841467466,12653336178984584,12669546391130781,12673433235167362,12675636205599614,12678598650222967,12686784777563923,12692097685841819,12694087866558340,12695944838331405,12696892670705054,12701707285742221,12702962657957826,12704004077140774,12708456140034254,12714535709904775,12715273171560431,12717959780809396,12726377376546299,12726436436675201,12727033270826653,12727451946669105,12728089463396868,12732375258004085,12733418262925777,12738924440303227,12743533106187231,12753329851400984,12755303856704861,12771267826669947,12771598737920523,12781473711050942,12783187525335089,12784227033504239,12784609326080007,12786352863464886,12801400431375545,12801458013719616,12805335924853732,12807665721211120,12809522469790774,12809632657832569,12811342685032672,12812182344672176,12818427882691906,12819996417836695,12823282271321919,12829072084255416,12830088505582363,12833367241791767,12834860563514747,12841765441041049,12846385534139025,12848207419401226,12855844760930756,12859899907121954,12865701070922173,12868140593650867,12868775358248804,12875124642594600,12876334808558683,12880367229968159,12881424980533677,12882980822794716,12885114452454742,12887418415101226,12897909619055754,12900385538356311,12906788489234465,12908599797018073,12916112665929539,12918769262556623,12926924362852450,12932353138648641,12933527428631618,12934033598192671,12934350686066194,12935326619280462,12940588789639096,12946489524267653,12947522776480207,12955628525207272,12962843219163460,12963051823146860,12965554585695816,12965962908737325,12969038927449240,12974390471676060,12979430248880345,12979490664124573,12981848516554289,12985447175738467,12985493722134421,12986155313057080,12988371356512075,12993874964553291,13006729868315951,13013340987113008,13035980728818146,13036179358537986,13036645177838759,13036712601500114,13039280823665945,13045554401715049,13045600513120125,13052620397276151,13054236155028234,13056240047123862,13072501768493061,13072617923580734,13078916872324125,13080772514935469,13084504306404264,13086192967607976,13098251820355349,13099158956896694,13104310576837531,13104339456644663,13105958370560896,13106875818164772,13111138396854003,13111577005851999,13112638257280506,13114710504214063,13121300725611891,13121909629776355,13122025064383559,13127052312166869,13131340694012302,13136566433737611,13154101095403837,13154198718450725,13154555158306370,13161267336530233,13164318985726929,13165906763126222,13167979789890447,13168110604938660,13169610591191174,13170738127259843,13174101013456127,13175983907317617,13181966685315968,13184920558769854,13185428376339990,13189380579282347,13192157399149307,13198474033954862,13199022280418750,13199996563430952,13200108351974202,13201807925580353,13204068426067383,13204462037481647,13208555149000976,13211066578415956,13211782471313872,13212061616770885,13212165395243922,13224389449907250,13233545463558187,13238503442128074,13241104178731895,13241168864292142,13241450032861794,13248655970715829,13254044124605936,13254407272590223,13257737390535834,13262295991057322,13265037473491891,13267936932487740,13268996306113479,13270587658638306,13275333794285672,13276579099396774,13277158900551235,13277894633414167,13278754087006669,13280579253065923,13298750975340353,13302754854003883,13314547425279234,13315440480385562,13334201253531043,13341251444506381,13344119991216847,13347417735653001,13350157202852563,13353560065022737,13357601360650186,13359331313196874,13371096247956838,13372563355342461,13381234858826658,13385015528950604,13386085962502095,13392333467703344,13392648285436965,13394339089063032,13394551832655184,13402693157045406,13411243783632080,13411581109556372,13412383321315676,13413384478433494,13414514599248518,13423145336408826,13423985507124709,13428472113899924,13441217894362634,13441764089885110,13442145389950277,13442492834263372,13446542370234933,13448612638765991,13452686859689485,13466915673127210,13472766006472691,13479031376600774,13485627420255013,13489343668600089,13494212405375710,13495705064166062,13498151694534672,13501680776202759,13502956667923325,13505729133720187,13508489645714817,13509178757772730,13511175763453019,13516547793277979,13517706451256090,13519875476747795,13521772043996142,13526044181112873,13532220158545162,13544313444890724,13545457425167339,13546292946364632,13552576650306647,13560284735647415,13568144225858544,13570582888476349,13572007215372631,13579292169199361,13581522598681686,13584670639804403,13588669826245287,13594750552645450,13604060080584622,13606027345535991,13617631557607803,13618539821196872,13621326447410048,13621397819727220,13630191002096322,13634793775983156,13639851440986869,13641546138989675,13641606518127186,13649712080213198,13650051593032688,13651091819607497,13654427643263871,13655297823287389,13656122678588204,13669670567123455,13679106791368898,13682988765515845,13683384323434122,13685822158536416,13689486854312196,13692915679570837,13693027758544966,13697542413338103,13698474516655449,13698940649521784,13699244375297918,13700132194249732,13700395889419752,13701739894308740,13702229819892376,13704275954624893,13704352361096222,13706325468204188,13706670591280801,13707739578231116,13711378433916464,13713126833679041,13714567785435526,13725507831112260,13732875764071009,13741640976152344,13751009984842370,13751355444615875,13752515134941761,13752528537770243,13754252433328047,13758183684987635,13761510571679661,13763495093063765,13763737248840023,13769064518094184,13769616521296557,13772233025470893,13779343273469876,13782374358651901,13784328184108875,13796714897651986,13797271737130311,13806888829912490,13810189191668783,13819216056468458,13830139162136642,13834956579150593,13836967928987258,13841506126069216,13844723334748155,13851419674057285,13851804964013356,13852009236228299,13855148698755421,13860370948717274,13860591920719937,13863190387760047,13866281554758808,13869499215642030,13872276184090322,13883742410074464,13885432559815038,13892745650858214,13893729230139344,13894176996423815,13899662982568281,13903640450103285,13915571727313717,13915751473207815,13924477533272165,13927268834765068,13927696780643085,13930075501042467,13931574119523082,13932773453065067,13944345475258344,13944744739592850,13946019636961185,13947359127055804,13948733294751772,13948849305450763,13950003362814608,13951639188915106,13952318012300341,13957499193946800,13957891625399498,13963970693218754,13965952880287033,13965992746518202,13968491336408470,13969065894497400,13982564979542470,13988336481457298,13988537842078882,13996482893584239,14008782205566643,14010800531316406,14012374992832944,14015507053297472,14020512831650303,14021767660954154,14022387662308266,14028827379125338,14033262874705267,14036809823113558,14039082912681460,14041235400538814,14050877619339410,14053671836796726,14059703515141024,14066003779541480,14068336590289394,14068514727840577,14070452446274375,14073196557139903,14077628043807881,14079413477735954,14082060161725832,14086400253454584,14089660453835508,14093701509746096,14093782787475587,14104609562657279,14105474512409513,14110176260429603,14110846566699118,14111754638843301,14113954118968165,14115700381311298,14116084203345559,14116757201838538,14126627189476844,14129104187791374,14134252052809090,14136333045989523,14141721173215486,14142180399257488,14144286736225168,14147641612048676,14155975414531428,14159319817299730,14166972826657757,14167756848708160,14168406404233927,14175692216668231,14177050809138713,14182196956346963,14182395945348617,14182522370557503,14183668773352145,14187963108760817,14188374719646123,14194895524216878,14199253731869253,14200690083582668,14206687970696716,14209853920811090,14210270522420558,14215487446995196,14221732530161551,14226640214180071,14228466984618789,14228747898918402,14232996386333408,14233668407191507,14240099294539079,14240931409922495,14241368478491777,14245988562300971,14249502033018713,14249687565938747,14250698500890187,14253371408889777,14257631509009617,14258964967231840,14262886155232322,14267007162424724,14270247164026926,14271254001084489,14274483320198377,14274835544974226,14282336913974875,14284383355599952,14286491830383354,14291469615410543,14292177888930623,14292472000295936,14295837452356585,14298173613618098,14301257753026067,14306645039357579,14310015895186965,14312644574968166,14314489483212131,14318196470777373,14324162382494344,14327796466197481,14328346609794800,14330165162804822,14331141876120768,14334872702153449,14335504292083940,14341688237268043,14355465370177113,14356635961829550,14358501668762854,14358712927579207,14371667519001998,14373358653447165,14382653933328395,14389328610898075,14396743849723041,14403258144398461,14412375459733818,14419304139943345,14419408012320654,14419921321665188,14420517295463922,14421526836577881,14422482515005653,14428672766558377,14428963789076396,14433829777128924,14434491585844546,14441663522114382,14447076836883551,14453826393896267,14458414754313519,14460517698166413,14462888447275103,14463327792076139,14466639418787131,14473045986857112,14473621415900765,14474428436715615,14499310299171024,14502523747605405,14503354640357478,14503374543528179,14503421058685682,14506805831023499,14532022272038796,14533166699323342,14533912823231087,14540918644501586,14545143474688100,14546173469934987,14549609943559194,14552911878947037,14559345024889908,14572798606348625,14577681860555800,14584989944454173,14588926759145188,14591042865966381,14604151534357376,14606919734830311,14607574529846282,14609506155169308,14611213899966353,14622201375555281,14630990679638089,14631058148494236,14642640937827937,14643031895991669,14651923318081732,14656739959494770,14657604036440419,14660498729179366,14669778228653280,14674786028678808,14679329027774886,14680624844186736,14686694622392691,14689336054562019,14690256368300896,14693014696087872,14696133465591728,14697396774309339,14699312209892116,14710079784099482,14714972951681498,14718737202293924,14723600578234977,14727357539437919,14745825891890849,14753483946970413,14755563140273075,14755965578235618,14763159151224600,14764626632313599,14767178168674763,14773705053327044,14774424971091441,14775120243637151,14776126161075338,14777180456645831,14782806494910422,14784179132609967,14789280323954198,14792259226342467,14796095030944430,14802524498404394,14805119697076881,14808357837092866,14812335544631245,14814818422854695,14814866777217318,14816837023868332,14818468476875375,14819019180401048,14819207660612212,14821775114466739,14822972850892928,14831940328373824,14832874204975299,14833648039540838,14838200055945191,14841572903295226,14844521188313039,14847956454072103,14848728342207420,14862317369956557,14875244788896295,14877010452958052,14878500342798560,14880698080993082,14883492855733875,14884715585223534,14885001023521200,14885277650679824,14885514754372569,14890608256545870,14891249907937290,14894841507741510,14896432925297083,14899776943325306,14912124553248599,14912527776416275,14914637529083995,14927475356531675,14935912020884502,14936652050795629,14939491797730666,14939629686310269,14940182819303564,14944948556154171,14945635561516349,14948084549356910,14948446551537791,14949218635729694,14950087955881572,14952347763435515,14959164006691718,14961785319983417,14969572759318726,14971749865458474,14972120173118520,14977645952278382,14981979822436646,14988165815323633,14988877042506897,14993137347899829,14993931438103578,14995330188668762,14995498956830547,14996000077091154,14999867324523228,15002117713677743,15005212809692919,15006561064342947,15014220467166698,15015143178733208,15015832834168182,15016747917580341,15017581694255009,15023369839042379,15025234321810668,15027872686689687,15027965624651774,15028626060466021,15029223449524697,15029421099140855,15030279194177507,15035193036474483,15036546311204155,15040592624783964,15045563863877798,15047851634879837,15049206174008406,15058256367816154,15061551128577232,15064441595557983,15066002393956736,15067340188537424,15068416282122043,15068737776024543,15075955407954330,15081726781697934,15083561199479055,15093027538264168,15094447720794002,15100586527842091,15100895887756881,15100923564154126,15113939304708511,15124747624370744,15125038963644248,15125825668976374,15129837287101752,15132962157165167,15142340753501357,15142771204200772,15143222831944000,15144509730846110,15144908199448686,15144983031311469,15146266898753650,15149385225563368,15151128984083655,15152827565413011,15155535079044825,15163502675118430,15163608007084548,15164714333985887,15166301729740851,15168611383865707,15169763864701641,15186748056330061,15188528526614937,15193432864725218,15194881156695303,15198814250439862,15201662707583210,15205461449086049,15212200426217138,15213176306218798,15216511057457596,15223439233922134,15223468402959842,15227318255741609,15231273354612283,15232762341410261,15235610343655303,15244577355919854,15245960594532078,15247433843914559,15249106376606939,15250808075404806,15250896481067742,15258347128439790,15259612081001691,15264731568598059,15269511085038233,15270167427090968,15275297064012400,15281435895520542,15285891219756998,15286093688825701,15289862125703132,15290148594297788,15293123874907838,15298758428575449,15302533346414874,15303593678697230,15304616612479818,15304832061714010,15304847733090522,15305964656672387,15320795701669972,15326286490335430,15329295210127478,15332234480025938,15334331246873691,15345070383303245,15353149026108168,15353232670298897,15355335603796124,15356453151175679,15373930811061691,15377210030466896,15378726728075414,15379533653675249,15379705621247200,15383101065751713,15389713624455313,15390882193918153,15397171895399395,15402636785814262,15407310719467201,15407689229789196,15408822912493961,15409962731524859,15413173941024438,15413515751683038,15416018244148923,15419969270171951,15423153342341016,15428180744186198,15430571383432346,15431617843729266,15433887937403854,15437233971050551,15450715294654043,15452893020203867,15453212547751568,15461080320924835,15462712554318219,15467422080353387,15469490756626048,15484285765017800,15484872489499858,15485469980475937,15485540626374727,15486304467213949,15489723346328738,15490588941327161,15493669981706537,15494125152072718,15500366938118891,15503520406029992,15505519386765147,15507002730562560,15507596083915355,15510353559011411,15514535598456693,15515999929535991,15522061334524465,15529140775061671,15530230344187268,15544311106200778,15544548900805204,15545602100255398,15550480026583451,15557041324109368,15559289591149294,15561564170785191,15561952874606530,15564933328360346,15569147522045783,15572863590946325,15576367136356714,15577133638656672,15578855835529187,15584544164633761,15585305674396933,15586021008360415,15586572984402845,15591835587885800,15595116715517183,15600022327961011,15605001570186520,15607870388183703,15607922224614041,15614292833802726,15618067512755640,15624018957338891,15627340304611938,15638216907788849,15638858384127971,15642870227425833,15646298279506026,15651638904781067,15652623828656547,15659367639512437,15663152139200473,15663518386052835,15668753861818902,15669831866387505,15678947651292970,15682293644901354,15682550662690976,15682651083715691,15684129061048451,15684714219805662,15687701212595998,15689677439468810,15695115813510797,15695286443123085,15700741802774887,15701006667851545,15702846415375903,15703609923212388,15703962508930357,15721982912314664,15743385922200831,15748859641437205,15754569858261273,15755103109741170,15755440794212771,15757615898310353,15760850159052851,15762209549139285,15763329664260405,15763347842500031,15764824185348051,15765990586747192,15766276644999494,15768790414358471,15778030936010985,15778073642134042,15783285537872233,15783457873235222,15783601313856694,15786952156025848,15789976943224909,15810883487535993,15812065825937453,15815973513115164,15816359902190124,15818396444990604,15822569260611075,15827802457455271,15828816982020122,15830964443377814,15840334179132579,15843352451900485,15843600775555820,15846238303690403,15863820783079073,15866236940451977,15867439138551076,15872362195905201,15875675232290550,15878101641545005,15878818841668229,15879020355620882,15879801226947188,15882817785917695,15884400676036182,15887607544869391,15890892365015163,15892366657661960,15892644929711368,15895961844448293,15896204034306061,15897401962344850,15904895288630879,15911275554215588,15911665623700279,15915302121110625,15920977380773424,15922176557778000,15927341566519732,15931653898476584,15934933731048989,15939128572044103,15944489120018696,15954518713119826,15962749062304179,15964603511322079,15966264651417527,15979755963656160,15989521035310443,15992440720931469,16003094114347164,16004817238396021,16011025198707647,16012437984901399,16018234336000847,16033495765775843,16038301793476863,16041339465547053,16049606674888102,16049891952869470,16053420407977591,16060832251885914,16062107659438725,16069046551508727,16069174976182272,16074486970716033,16080740588460730,16083877262816687,16090383828959085,16093240548996996,16098091349807463,16098172275019426,16099819217713851,16108376586576329,16125621753305299,16126978195698598,16127193854760523,16134101469312376,16140981467932346,16144336314735217,16145343445599154,16149410584199209,16150040833847011,16152783913026412,16158129834797633,16160771084575630,16176635623269431,16178760128679429,16181654573567669,16184318280736106,16188822750519283,16190571409547135,16191892773280294,16195655847208731,16198734954314842,16211596379781820,16219147118653087,16220746069769206,16225653430698144,16233112123839300,16233654384438564,16235839769165041,16240762741306135,16250616875540489,16263334721549532,16263780136827362,16266712848564625,16270015344285096,16271083150992386,16280927247624124,16281915533551056,16289174359879745,16289936972512243,16293042607710037,16299677703726115,16307595056946704,16309137054392802,16310681306790082,16315681986373983,16317875420686187,16322691175661967,16327416205924614,16330104654201385,16333887903434801,16336789007686054,16339994308760050,16341765762990956,16347036755860703,16349055180152841,16349624325715789,16356347789934648,16359131609074861,16362066780194864,16369009637282998,16369281391114209,16369945946899217,16372297199748151,16373987141658826,16375988586939943,16377409889399924,16379852130875662,16383306457978105,16386085273604579,16389519573583307,16394940965979110,16396880383990556,16398154649330003,16398733126926655,16400068126248119,16411790303732795,16417759312392243,16419509766610091,16419901644544820,16422440467412931,16426184098291933,16428705781520359,16432971637241688,16433327633528711,16435742390682375,16437965595938221,16445322365770696,16447014000822092,16448682699618749,16448829682806061,16452048761762229,16457674212534286,16458193998413945,16460001490402451,16461454427883020,16462708921584182,16465114761860846,16465741257369090,16467984634116524,16473606709399091,16482765139128458,16483944183054084,16492537636527687,16492753413249082,16495982586896225,16499668866369559,16512946688413824,16514937777288269,16515317531532600,16515515620455784,16515763893503398,16517530335877295,16517537506431523,16520680878383534,16522040144005904,16536209470153361,16549193848756349,16551638786295881,16553191501416196,16555675508895642,16556142033974396,16557075823478085,16560847038118314,16561729019896847,16568638052909005,16569637258340730,16573238078421961,16574236353677299,16578960500697920,16582822217918014,16589279792859879,16591958210106118,16594902459898391,16605131007727492,16606580432110149,16614318900004042,16615202652663010,16618755587989745,16626806031696348,16629787832374700,16631291003094984,16649312379995411,16650212270002998,16650283216078512,16651090716262974,16652944391354801,16653981254978641,16654463028053744,16654924393162193,16660067927175777,16662173317527607,16664243102641776,16666335390036133,16681703184890456,16682373593295548,16682578612688855,16685180422791776,16686094229531741,16690146533382363,16698836185067210,16705001871343701,16708636667018243,16710176517292164,16711961207359232,16724720235210872,16725294155137383,16727032133352391,16727688366022871,16729903330833289,16730086424088046,16736716353986757,16737373768108148,16738231483083309,16739182735043548,16741586841667302,16747302145863252,16753484567013429,16755872335309848,16759630605474370,16761517688376276,16762470025066864,16783509929261859,16784815745535597,16787458448627887,16788378238902865,16788943958964328,16792514152922390,16804992154815880,16810005023919202,16820470058192790,16827645998999199,16830315094868687,16834728273804865,16834972450595855,16837630758069802,16838337071218776,16843019140494565,16845510952053197,16850886838136612,16854336811041325,16858777046733835,16862894270178946,16867020968629490,16867864576520806,16868617407655959,16868967869968917,16870410864242800,16873469111493195,16879575300669180,16880613203851258,16886381613931407,16887131664281014,16888158543374642,16890451337099671,16893613954731672,16895785673304080,16897929991993805,16899560454680533,16913880033664423,16915167008196857,16919853192670914,16923906246184599,16936593144852542,16942918462021910,16945631443389494,16947503499298974,16954247022723534,16956760996707076,16966208347117891,16967956019390437,16972536001685219,16974976960555336,16974996106586527,16976062143580028,16977273505567584,16981100707531732,16983782183294117,16986912710655502,16987865244712954,16989134716990479,16989387007759710,16999582099196194,17000582419359490,17001105496098528,17001625874486973,17004131992558114,17008056242821339,17011749486628658,17014229777897844,17018029384954439,17019281824197645,17022002414706187,17023649823777761,17027024912981538,17027708820603609,17027724390296374,17028905071969344,17033234045807732,17039633394164779,17041956186643831,17043911086147728,17044227183900592,17045020641718652,17047039786296372,17048296154567372,17053515690985016,17057095725127500,17065736283826551,17066204322105669,17066614080750842,17066890141401799,17069702342298005,17070031206981939,17072355840387059,17086180968300670,17092924242292896,17104993056562977,17105192154942325,17109970886679733,17115701285838058,17117697441697646,17125687975796961,17127731933707424,17128001588707458,17138834595066375,17143215310364176,17148449573094945,17150277478457455,17156795393603011,17157898465093855,17158828067013858,17159011651238619,17164804932271093,17171938449805958,17172705597475016,17173738199873813,17179028413037838,17184647258662518,17189985997758617,17192344156604394,17196706052792205,17207135836467323,17215506044805401,17219161189129714,17220596644754506,17233175158773315,17246076311509922,17255087609386479,17255995767294112,17259853567766215,17264169344327606,17264493723089078,17270538843510702,17271660415976271,17276987541026097,17282090993143952,17283049372339150,17291560172494026,17291979671712321,17292310452468705,17293149261210524,17296137849004163,17296192463290079,17304784741854216,17308433563518540,17313632977406292,17318960805851472,17320236078883475,17321015553228474,17321174101274260,17321666593584496,17323038726279631,17329308502917698,17329472456864413,17334589990132684,17334864272182912,17341517372421961,17351099007094397,17353053843653375,17366561361017324,17374440012919698,17378407166143928,17383067517360975,17391219400155350,17391436242706241,17393048485135831,17395137850335402,17396392214119358,17398282123693718,17400913153559823,17407246841014078,17413919734842125,17420499051739414,17421399034054265,17422062281526649,17423105453982540,17424289896774390,17425090194197669,17425614571955386,17432341969660318,17435530177003750,17439323243822026,17440523469292889,17441789247813820,17466786275120017,17470441567829100,17476597996427511,17476827515285484,17479085198776952,17484120239214373,17485776963997171,17486966299030886,17486988765689599,17488816545423819,17496728290093656,17497098710311670,17499228377170813,17500477193853245,17517159540441318,17523212990532497,17523973238515804,17527155984508354,17527974390318800,17541513425567569,17544483234277015,17554939460224349,17558580292594243,17559431629269263,17561448044068445,17562043899076409,17564200744376749,17568398735638434,17572077476907682,17575183081748977,17575560135721806,17578541772101901,17582290334182417,17587104794159329,17593208073575946,17596039699851909,17599396608009249,17600395630340514,17600607133597719,17602282637407016,17608993167118462,17612331367634278,17612661692978454,17613143173683718,17620186225453340,17622683372375560,17624682438741740,17637276506512333,17638727474061409,17641686744036386,17644039113805944,17645312266322218,17650070599794961,17653795308183431,17653847556747406,17657497846454029,17659159129272154,17659621059389953,17660743105223332,17661459152369712,17675621085369441,17676740506186425,17688285802217756,17696080779036912,17697163249179507,17697682504000309,17707842984156022,17709737359906993,17710801222146557,17712409569723362,17712893886367554,17714216772557464,17716382248321539,17720864955352360,17725080861093763,17729422012525851,17732456419233492,17741767011633464,17742935181641766,17746510075374564,17747383804315050,17756105008438482,17759977925515375,17760075502845602,17762550181642638,17767687613087632,17767859597836083,17769865028645273,17770964005963097,17770981472959907,17778432694523101,17780417672471981,17780633004635622,17781695742071988,17794405366215460,17798330281681371,17800329108711822,17805181966455568,17806610508162479,17807775056747143,17810904352266449,17811294904961592,17812394543477172,17816589074280916,17820414995546733,17822270975275609,17824058019135158,17824692487924143,17829073738411995,17829961694570784,17837924490120715,17838730974038612,17840541840864217,17843709229402181,17844481483540230,17848382043638116,17851847109708456,17853025423149005,17859332251377907,17861897896064008,17862392392198693,17863284124973089,17864179561603861,17864592832666958,17868918610462163,17871331243165860,17873251325535856,17875253398653485,17877847214982476,17881080524524475,17889149793462925,17892154693253238,17893885025675099,17896653342000979,17903487860911815,17903975998539248,17905797190497744,17905846546240170,17906626648911419,17919141917693070,17922025141068374,17927103791988031,17933163310113598,17937781070124082,17948193446220343,17961387047243191,17965956572473636,17970314287831337,17970920336945917,17981163734458850,17983136277324499,17988399353053093,17988976441880620,17994870382615510,18001307487480335,18001311042217802,18006237324341425,18006674318531347,18009042115164135,18014189215438894,18014657110806736,18020974854298469,18021886555673319,18026004208911747,18026232516319011,18028316562390501,18028401974332903,18032295415917214,18033529755426165,18041417715473006,18042108482583522,18051621313730146,18055041696562277,18055087872299409,18055587125968368,18061732028717577,18063228282000881,18065517227719762,18068141364358640,18069471533986377,18075555160804033,18076181993827292,18082663742446595,18089241107640661,18096458958758462,18097497168766291,18099088172925428,18100450631735810,18103384897215847,18129411267420255,18131898498754493,18133412567042816,18136432192167355,18138184127031654,18138810838881859,18139979326512529,18143945517551573,18148249253291380,18162150874995819,18163443951512529,18176398171978336,18179155755591764,18179306742222141,18195325370888256,18196224826654508,18198481066177520,18200162616918760,18200433284258315,18201109647268708,18210889187587826,18214396067041321,18215366819351334,18215593970961402,18215688955701607,18218596306288915,18219379302426418,18219480778356908,18219492177590913,18223532024009924,18229457516235802,18230262104505569,18235829425519784,18241422988672837,18244762343715926,18257416541434878,18258026885319486,18258589056361348,18258704607599735,18265102179546859,18275143099845195,18277496942328603,18277532214379777,18306497644679138,18307189866355692,18308565966347727,18309896670692432,18310224044923199,18310260983673763,18311678202467591,18312928450191138,18316793768442045,18320199194413158,18320706645413560,18321247174629916,18325796935244911,18330874810048231,18332434291015304,18336172353658611,18337191336507655,18340192768781464,18354768007590930,18354809741903140,18361245509159168,18362561943328805,18366897023001689,18367494137613346,18377045322936582,18379087767248948,18389507703197237,18390199754916829,18395298635755745,18396190684827929,18400962357421119,18402740084326073,18403600751028920,18410807087565130,18411318682491459,18412761413118797,18417094802826718,18417594946606594,18423285819437783,18429692224833089,18434322404441043,18434966080784818,18435861506577465,18436307626060546,18438159643459969,18440518503779835,18441289041766013,18444487060015322,18444666364288446],"molecule":"DNA","num":0,"seed":42}],"version":0.4}] \ No newline at end of file diff --git a/tests/test-data/63.fa.sig b/tests/test-data/63.fa.sig new file mode 100644 index 0000000000..c17ef02315 --- /dev/null +++ b/tests/test-data/63.fa.sig @@ -0,0 +1 @@ +[{"class":"sourmash_signature","email":"","filename":"63.fa","hash_function":"0.murmur64","license":"CC0","name":"NC_011663.1 Shewanella baltica OS223, complete genome","signatures":[{"ksize":31,"max_hash":18446744073709552,"md5sum":"38729c6374925585db28916b82a6f513","mins":[2925290528259,4550472317399,7397951382043,13950946236093,18944997319943,23965553957178,26390034908046,36191627174349,39116644913079,45540178190062,46822418898135,47180432856748,47367865367011,50188964065828,65325381835497,71315379183989,74037001801154,76190207226452,76733150364607,83631867214312,86442965329695,89858161015356,90806331781332,95108107091043,101072116806558,109728134835863,117764718466551,125296899385152,126550040779683,131219583539670,135497977128744,138537198116911,141805235471354,144854809628393,153783847123278,154055696317370,157255282423883,159984546139167,160902593196961,166163367169365,173817709369233,174979625787948,175032069345452,182141449646872,186033286918724,187503667710897,189372881188038,191814288543916,192890223167288,194756913683551,196037984804395,196583081113717,197511952689884,203335269479450,204822233856042,209233297808434,210990374921109,216861451361880,220853041487844,220923489229742,227683744949779,235388211895357,244969519314153,245029062906088,248581735034297,251186192464160,256982811990450,258255664267571,265587486568360,266208269658242,269368370464968,274235329360733,287831833139065,293035680952788,295357672887769,303548064148961,307854560177526,308368577694671,309969810458414,312508185357838,316701230964482,316897730501733,319335385321196,324290895668437,328294702120808,333432074251696,335605928681508,337243852456192,337788124062930,338296399583721,341001360876621,341707613453589,349282729367235,349347535027435,351258437206186,360629153151276,364874268407945,370407120162642,370595193569972,371700279077049,373471575728001,374188784960382,380562917179168,381400955129871,384016070832594,385242214102144,394797505266453,395356088720884,396054053894786,399215565767837,399215750881719,401601210843243,411114364557568,413011122735307,414934253467214,423964724934678,426125170072817,430191392037330,431514229123485,437290714565213,437506450440821,444196295289556,444273467310604,444519598728863,457671098462976,461477875054528,473505790593386,479169447884417,489519873805078,494381455384554,495601542123242,499291264639906,502817538324491,506336140549160,514225777616243,517767750601700,518803929727716,528657857026586,531621018151405,531911437550984,536713413896697,537757852470225,538244971589768,549192277958979,550069279000761,551298730569376,553354665477159,560183238975729,561316274253850,565120453207608,569061433009767,578397933313938,582924953100697,584608245878528,595681341596523,597246199104774,598744731403748,600409846627222,618082707842705,622540719875971,623112432173232,623564286058606,626475972546369,629214339204581,630564503284386,632243908286808,635842404828277,636454008801855,637963474663087,651565303681692,654100189449365,658694830193748,659359272720991,668365295793413,670476914395432,671677182717796,681398943911705,687743951317806,693383660447783,694523064126211,697547171219962,698360853391060,698383699159430,698714184393962,699304671955329,699414001750549,702028024437135,702655743925993,703696716274708,712467878162751,715119064036805,717098217279451,720002464362774,726292867622433,727685109931740,727786563214130,732669904526146,734019394597526,734554562642182,735119835330596,736734785664407,737721455578775,738157827715680,738543439712395,748275069435017,750168693442959,755428520351338,760914553470842,763201112060730,763669867104092,763903450865190,766769547808498,767121298622699,767417571203746,772051111454828,772152509572841,772219237112224,773253991876737,773640117883594,778719831734053,788541066253130,792800620274218,793126364353395,798319271383660,801192084570519,801979719204052,806030682122869,813805466325024,826029246264765,826077010431743,828356750400476,831736232379626,833989830989481,842811510495576,843025850509368,845050451776051,850325922079257,852042280696332,852616072150159,869440701256868,871739984144307,873878962991102,875246525542985,885732713802105,900984329565111,904962988643425,905308801557271,906900833647951,916185332282483,917277762192278,917334002968300,920956096920505,923846800950923,927733683191258,930950142910172,931188320066855,933691189676382,934117578798841,934829751321026,936230738064974,938188383682602,941382244559733,941861412444067,942726201014166,945032973428091,948088536983824,950251614016922,951217347666850,953311674641424,961017555998937,964218423186297,965844189572501,972618046502811,974258465646756,974637708612999,980565419407507,986147003709405,987407484206883,992940514834332,995584120548026,996549857630112,998926194132937,1000937685539434,1013410477239192,1014496787753945,1024634573363382,1028460419483054,1033874047074353,1037163054983442,1040756065933066,1045088944681707,1048574231977270,1051364708814767,1056506578664023,1057491059487351,1057829590018958,1059199927925541,1060460577561031,1060760398971021,1061967838052170,1062598334481497,1066520357980609,1071759691375436,1075576974119467,1076194665589715,1076307473155886,1080440645655398,1086288713384900,1089204340626863,1090505634288396,1092749687333011,1093123453947031,1093780160574614,1094807962005299,1106831352465275,1118646614510530,1119614160374606,1127740241225995,1130113935525204,1141800182705337,1141957433258847,1144614443668767,1153321625273873,1154225306393882,1163159397520386,1163303408022562,1167323239732974,1171405306002670,1174386415542665,1175414485855042,1177706510708587,1182168703505980,1185081332506550,1187776202203922,1188893606724299,1191391064481088,1197375422019658,1200797929442729,1202982399470063,1208460365112124,1216183572752189,1216349299615743,1217760228928876,1229437984652935,1232027701338500,1234453656762891,1234698668275227,1241668290204495,1243711623939695,1245003263018464,1247153420491991,1250484435790357,1256754510605581,1258709409617632,1261831186742139,1264563878337445,1278259882696625,1280559509676354,1282472909138162,1292246474868788,1294492972700075,1296553378083571,1300214247397513,1300724144234399,1304554095644208,1306972413335965,1310819837267255,1310835683752449,1311078551896352,1313445683077905,1313826623773576,1314579091305857,1320340005211507,1325524051301607,1327738097851136,1332430917176015,1332675238905364,1334939013056183,1337600826833551,1338522631065263,1339674524726757,1341661245836409,1341942310569850,1344850241954264,1346444314218596,1351570661987737,1355274635861570,1358877729391906,1362862766300078,1367870608065681,1370039456672284,1370746553808697,1371431531962106,1372351037556570,1377792461855597,1383348406006914,1387385057191781,1388584147493453,1396964107951550,1400398296107299,1401298565016323,1407177952341116,1410486644494794,1414568563679456,1417984842495635,1418743862991832,1420081602859846,1423937616614171,1424366051167663,1429198692194983,1431140791675340,1432423484009425,1443327278633039,1450861996451357,1452845116328517,1455020177231177,1457429906997387,1458716224614631,1459144447544839,1465076638017898,1466391743844010,1468663744355213,1470580811951805,1472835164326678,1476939334625119,1480237325649862,1480539429325015,1481088686107013,1484226042988529,1492314148312178,1492550216115797,1497353541354036,1499289039133439,1504262319315651,1505096985478881,1505172916296130,1507126472384732,1509264042384987,1514218641840864,1519203024139040,1521780633605083,1522237249746592,1523791718968068,1528071377900249,1535451811798960,1537397570523640,1538118443000138,1545740833177405,1546368847550532,1553692785951588,1554071056896812,1555637141656241,1556284449775147,1558324681023092,1559450514209843,1560969323307091,1561680258145617,1569318833056381,1580482970750366,1588956381434551,1591204462547614,1592943214430038,1596940098556068,1599643181368601,1600494020961221,1600688746972553,1602101064988014,1603093475242546,1608467868376532,1613230042071034,1617237167349710,1619286790649678,1620827732630844,1622309948672121,1623966948730132,1624318503960075,1626639019435247,1628201100274523,1633815225207084,1638727302192255,1642353838656017,1643453621271585,1645673596073883,1648716913052297,1652765950688817,1658104204669725,1658743399661231,1659819081077302,1662485779876221,1666913529898081,1669812089421733,1679605700468270,1679921198649960,1680089532480362,1682746046505721,1686298869637573,1688481990617362,1689682641477370,1690389336617199,1691171280116985,1695663032921673,1699809983366070,1705950022227142,1709048685481388,1712457316704754,1712827460605989,1717459770518422,1719016742757524,1719690455811654,1720716306077049,1731588874078275,1737929931793243,1742230705053471,1744646337710934,1745324659468599,1747303538361662,1750530525839386,1750848466069991,1762621869823670,1766154871452422,1768074570558590,1772504621686320,1778201561133905,1780288814569870,1781805678833298,1787025898307575,1793456012680375,1797142702056877,1797145955746037,1797367475778719,1800147823225056,1800236363852916,1800292312232821,1801404378718274,1802232213372715,1804215890133513,1806220280793222,1808685369384027,1812018140268588,1813163351446427,1818925318022107,1819091566970620,1821246620845572,1831822327838518,1832408978761242,1832446933549908,1833926924520737,1835694527640110,1840320929072049,1842060817177608,1845664541012305,1846495837486874,1856791461736081,1858474922519628,1860030910962345,1862153320764207,1867578456400407,1870278489144074,1873261502540924,1885528658573969,1894756346141601,1900541751009950,1901209651803518,1901291971170255,1901876532182375,1902791616557208,1908153712615768,1910324702460153,1911464021342251,1917279203885894,1921273856324485,1930938144553240,1934075675835507,1934298906146492,1937494292258243,1939414707320138,1940094016678579,1940349446359845,1943195916125611,1946261780746826,1957568197413107,1961412299515744,1968345824207972,1977923456470816,1977965122461301,1979691191211071,1980374385622179,1981752378561978,1986523359754220,1987210877457747,1988980021478572,1996672784729607,1999133750243675,2011354377485272,2012874059058878,2014266663706516,2017517839581062,2022546455157095,2024291985865500,2026552431475137,2030916441428059,2038730607060260,2042859086816241,2050342367296606,2055202564805434,2059880114534091,2060560658024761,2061302384344128,2064432037950349,2064820419581597,2083858695302000,2087593304215351,2094083749006424,2095898151245418,2097280377232511,2099121913442760,2099462838437830,2103311335893154,2104210209064238,2105296453788320,2107076373938295,2108459225069649,2111395821264557,2111781716293290,2128337797349122,2135890156111278,2137755589431662,2142250867012638,2142644727013638,2147628766136779,2148277682163663,2151003212774236,2154050039033300,2154825108832254,2157543511093753,2159559528918973,2160176312000315,2160324368330875,2162577581063898,2164107595577716,2176988842247011,2181533165000933,2182965638264818,2187598499331444,2189722857501195,2190906838663940,2197844428920029,2199416705656232,2204899458948058,2207484772689862,2211251305477479,2214585329667475,2216291576857764,2230429649730384,2230499997873756,2233374767701498,2237267871356954,2249026723401047,2249382176770011,2252148298922995,2282851679505524,2284008883123690,2284430348204299,2289542722841620,2291237331288700,2294311150128150,2295851772366195,2296330477067902,2297300047218453,2297432045933256,2300003729256754,2307128673346491,2309328595812376,2311901346223486,2318110633163391,2318934737046572,2324238767058056,2341149645621931,2341499707179628,2347050480883180,2348231529227808,2349507317182586,2349825918922019,2350362296145783,2359599974602456,2360988166250281,2365100930739182,2365101583995089,2368070257601382,2368316853240052,2375746870819817,2377178146794550,2382084067881576,2385503149484476,2385595359290641,2386455839922464,2391657757985839,2392696292165175,2398709852888712,2400026944838468,2406393959209312,2409651860889698,2410681029165949,2412591449989948,2416801677490020,2426508439798144,2431689886658063,2432443095396045,2434636409776451,2434817960891416,2439360431069834,2442924938559564,2447704465950372,2451185988965285,2451335219119778,2466530448132713,2466909570912171,2468169126671752,2469990435969385,2472082629869597,2484069800626695,2486783619425529,2494166617182106,2496262488317655,2498928723235105,2503728397420013,2504935182899326,2510936514907563,2514588516976413,2516300104537043,2516615505374811,2529686136078992,2529757512285754,2531603179656151,2535379300081535,2536540298562196,2537131228360750,2545009932051689,2547409441873208,2556506799873846,2562322499824421,2566619437831302,2569272697162382,2573496573602154,2575271828359827,2577332320388602,2582286025195040,2583040424187016,2583468225494252,2588404706278861,2593389934385770,2594360169365119,2594709561160407,2597669806698660,2599462021052813,2600325642328760,2601526047213631,2606628075888049,2607585442845824,2611080508323464,2615637595599978,2620375519634887,2625753537877756,2626910805885551,2629378920027678,2630791796680663,2633023374568506,2636060748463825,2642503504311045,2642896503944011,2647702649265595,2651833968467605,2658287974480506,2668521248016496,2671313026437821,2671398445852750,2677246953723931,2680497019271975,2681476812723673,2681688690783031,2683246311949145,2693519224664396,2698689094049392,2707831053578465,2715915477263655,2716578540554404,2734700729661142,2737421785282245,2742018183825055,2742141972024096,2751785297738513,2752147920224584,2758379916840243,2758720834995819,2758979243701204,2759926223357146,2761431364716452,2764250636697336,2765183622501164,2771385955352873,2787100655005297,2794658818174763,2796704110243902,2798287443905216,2798322134667150,2819699168008416,2823296594306435,2825639876500433,2827393174086051,2830986947810877,2832223063283424,2840131111024087,2848124500620503,2850303080077087,2857548210960220,2859967373892809,2860695977896818,2868567544019176,2869950221815451,2874478035430398,2875768840498356,2881697295591721,2889009360623809,2889740392149462,2892327330159456,2896177891093468,2899892307914794,2904033648694661,2905361464861211,2906932245374500,2911124480176230,2911599257101941,2921971427799899,2924433965541354,2928681715178239,2932316419447329,2941649814209169,2946143480195981,2946321521010318,2947035710205399,2950640741434545,2952714905200090,2953540238859553,2956539890231005,2959335482526692,2959566715003402,2961679237758947,2965352172439193,2965439340704221,2965950633977302,2973978384800223,2974389005017021,2975093256580654,2975414282596751,2977316941548719,2983750706789338,2985749744661602,2993577870679042,2995240248615334,2999606817239118,3000133614988345,3002144816290295,3005445693257298,3005543539398257,3006068427214846,3006825969228148,3007436553703536,3009353123519576,3009879725684408,3011102094194039,3014955625381722,3035569961506260,3037243067032125,3044971913771990,3049610843618123,3056598953438835,3058282989031583,3060978444911194,3061176921317878,3063484099651207,3074112617890076,3076040588704705,3083176156972821,3083894323700064,3084542708185897,3086123334924126,3087642706090516,3089319907683113,3095652405939026,3101693309309556,3103506635288743,3103723994300125,3104057316763627,3110882600220192,3112903104807973,3114065706400821,3126462642335525,3127233513015486,3135911618150412,3138943638252170,3155618345518179,3160234728942373,3164386809673569,3173337239261818,3175607440806275,3187782335419440,3190439500089370,3191603569657769,3192369183577062,3193346797759720,3194861056078031,3199730308565073,3202842543008174,3215163473676920,3216620904572420,3219171897424954,3219575037594274,3223165789803264,3224535741992415,3225652520990690,3242521498997924,3243947082373306,3250589381907882,3251201051516647,3253156487699363,3257337304537355,3272928147712512,3273345746404244,3273455155749328,3275046616104436,3275876017733599,3276795248980256,3278668472321042,3280780868469494,3280794856819360,3282504976610485,3285404600033524,3291688382088694,3299027911208090,3309878495036042,3312036573217165,3315214714717367,3316733753186879,3320924500756368,3321523572005253,3322765801173894,3331435560359461,3333652145199727,3335087116356546,3335131382305523,3339857783542570,3346073604734971,3349764598731466,3359742817020406,3359946222588919,3362158184502934,3363044683709605,3365198599599379,3365586794581106,3369243531861603,3377357612999215,3378502887959344,3379556656256325,3380271898400315,3380683064402177,3381845747007120,3382194366074501,3383302464154854,3390004150029672,3392713809155776,3396510059796443,3402399487500761,3402608390039987,3405135139021774,3405149696809115,3405393044390619,3406073672541821,3409127489900273,3415139398115166,3415475306791216,3418693183078260,3431010040648861,3433893111687059,3442408921142835,3442892234692145,3443405929340821,3443814552613298,3444648483822568,3450598427318554,3458841677994973,3463857637926984,3466717314703766,3468005713457978,3468306935523998,3476218946140045,3477671288317241,3482209838567431,3484417521606056,3485163641925480,3485345404315595,3485684351025169,3489716365352044,3490218326835149,3496034375933097,3496927759647254,3501438911492802,3501605155319176,3502652434217727,3506373791709328,3508110471552336,3509072379429744,3522367029305364,3523617734835555,3525633782648726,3526392686886988,3535903464263126,3539901139312850,3540376200850317,3549947024705822,3552108775050946,3556230614643794,3569439133907194,3571316365062188,3574306253032309,3576162331242874,3580260758329980,3584444323393668,3586259833614913,3591860672649222,3600497750427469,3600830075661157,3609452627397093,3611915615904413,3613882437854401,3621421484619367,3622877473302676,3624379228154857,3629216192438886,3632115466215379,3633516585258144,3634906107194620,3636013168823101,3644503150656777,3647071999472194,3648486681146863,3648590415100172,3650411848640853,3651208352182968,3652128421562312,3656809320682474,3663160485730853,3665217012698891,3670531861702815,3671760492215784,3672142134405475,3675775119596083,3677241624891815,3678142299238288,3679723249740163,3681869903468458,3686489672677129,3688280883691690,3688327457349314,3693932188146288,3705003329123112,3717407943997266,3718621708258333,3719578355011258,3720637385401222,3722526932992524,3726938239845979,3728715138302811,3730126559106774,3737946633507459,3740458701179796,3742193997053523,3742234596917242,3746284516790765,3748081334630687,3750533866251628,3752113241891676,3762029049082585,3762751701280063,3764820504193506,3765408152696993,3767814128506980,3774512692458152,3779767620249001,3784106736164980,3785218675925174,3786173858770873,3791490899732442,3792618824893518,3797500278748845,3797572839534654,3807583511277136,3808139090545696,3809879441266392,3817002980250587,3821170295134013,3821583371411656,3821630362687996,3825757657900286,3827430957263349,3827560739565438,3835953940403171,3838735004282207,3854418337562031,3856495945466312,3856632581492180,3860116438298861,3862694398476978,3863738703644495,3869850399187705,3870413121329386,3872121521356678,3872628172162502,3873324719285632,3880243619746497,3887523678289264,3895543606604936,3899793396857493,3907221612214493,3908280143480975,3908511683767038,3911082399615065,3917275362273600,3919329961567492,3921698054272911,3929160579967105,3934625885954180,3935344037868472,3941525993199884,3942048398609850,3949404714704001,3951447621965404,3955893898658897,3968940236457600,3969914685581241,3973437909773411,3974439738742238,3974884051240316,3977362201597748,3979182335035265,3981349448512541,3983688318248752,3983919240708090,3988823560476515,3991304962417620,3996232480056804,4001338100305267,4003000776821491,4010634521845832,4010843628806486,4011194441900352,4012917626427041,4014500024147982,4016225827426866,4018474899910568,4020678940249116,4026688740814878,4031918591272287,4034809919461185,4037588403031850,4039922936524250,4039932863104502,4040574608674437,4041139896587433,4041872990193158,4044662871102224,4049368939697671,4049703973786608,4053851627999337,4060744208423493,4062261174287869,4065415697051189,4068573234330842,4071633959541762,4073835315653206,4076846825357774,4079083296648701,4081004427180528,4086687744224011,4089226616645108,4097469103782424,4107887608841281,4114248458913135,4114343888383846,4119621966564488,4120642288889696,4123781140489537,4132938192487530,4134892291048521,4135928574382122,4143693188392502,4146607129757067,4154333523980713,4154752706236746,4154870399231204,4157669782790617,4161040214839097,4165710956052375,4167383773226728,4167492383925201,4168181927338698,4172772824248916,4175996866082730,4176623816804364,4177011602951503,4180091758040141,4181901601551230,4183391742729367,4188349160298046,4192843946846883,4197298171025153,4199346559716278,4199937026193161,4200142600556427,4214771019264212,4215582065649959,4219986862600637,4225632034684502,4228066473660175,4228645799747418,4238632143676429,4253320341425011,4255700538587916,4256775531402776,4259508008844151,4267533238822472,4276068588949150,4289359014707288,4291309135357292,4291681176800862,4295704004397925,4297182086971339,4301841948469269,4302934567016197,4305626904573311,4312242836327385,4316505852417381,4316904893589599,4316945036052182,4317078081505616,4317422028288966,4319428928391780,4320671705521862,4320948899808113,4321895279026225,4332389830901236,4332584479772575,4335310014667247,4345864924315697,4349990949165001,4356160430961353,4357880027267574,4369068622168572,4373860960273698,4381988283585309,4383134213334340,4393722386432944,4396253792760348,4397522735467217,4405185846773600,4409442890926800,4411810134796150,4418995118878418,4421125787216995,4437545167361411,4438817177523704,4444824473102486,4445062840118079,4454575698901762,4458591608285019,4458728897870062,4462449521144694,4466692510919550,4467196354294999,4467568428111961,4473513246905919,4474000580782956,4474046785524256,4474574743148389,4481408122328948,4484145294717318,4484402946653100,4486507708773899,4486975012628738,4497702687497656,4499856296475689,4500028349770179,4500630405545048,4501876131664304,4528214817956822,4532427908015373,4535830530899372,4541577773165123,4543700870914372,4552805172103424,4561703129830313,4562273139429756,4562889929649950,4565834153211579,4573722402896435,4577457918883209,4577958025008691,4580199770736665,4580353634394552,4589368018406258,4595427440105692,4598596070144322,4606699947177076,4607450449118254,4609112952479794,4613982013879466,4620004533537053,4621781324879751,4625645650398470,4634249736656772,4638719988526137,4640301477916105,4640518507314105,4641399081470667,4641794721319090,4645238665720809,4645621983164383,4646458337623997,4652026280650077,4653873516606103,4658079460193832,4665559789434328,4665715316999671,4668242832840992,4670796977014993,4671025914890237,4671062938394354,4676205735481526,4676683626882003,4678953511037049,4681240613933899,4689320811962225,4692908964849533,4696193088102148,4704195358103927,4708213524509388,4719261186528920,4721521787903217,4723274946162868,4728819432363533,4729163773640834,4730341942998122,4730493691532331,4737131202167177,4739486119895556,4745352351350096,4745940331555049,4747354617127312,4751422453008817,4755286169023364,4755841017162123,4755912323473330,4756833761182793,4760074424405483,4762437486337017,4769979165221157,4776830747495994,4780869466523606,4784620939372924,4784854530655115,4784960269821774,4785601845773156,4793495469956659,4794337453617434,4800291638880957,4803115735233530,4804645672015140,4805893216574402,4806679764920158,4811729290308862,4817878202402319,4819311564829320,4823251614359045,4825298177502391,4827011615233835,4828117842424667,4828732317464211,4835736860545211,4836894122787451,4842656966937005,4848071008956361,4857129012656990,4859353321888294,4859467776000605,4859849392390603,4865270528419335,4867360470630358,4868100857196342,4875972042816124,4878610157475814,4879638248944748,4881531428270387,4883085485434756,4901450877660648,4902345078498684,4907673099841830,4911078209866511,4912787048821119,4913269610096771,4917312639789602,4927397100040965,4930034114903088,4934031744913600,4941067275317682,4949578709897161,4952413633841153,4953773437884696,4957117546097581,4962024566226233,4964966617138828,4975226570860151,4975540053830624,4986110732910751,4995563329299788,4999915977157470,5002056492229942,5006774552951727,5006929223505003,5009560616993369,5011891458604349,5012847090206147,5017724733800167,5021333195096243,5021445876086138,5023785116027497,5032209299980010,5045163363224076,5047944681561823,5056182885286156,5059239413878415,5066776986395776,5073647426884964,5082075970958360,5086440629066369,5087182732073845,5090517135844571,5092533829369071,5093869377835176,5095238786157913,5095997925642684,5097991563922208,5101214857653244,5102026127818781,5102715480695317,5107792502157973,5108455108876502,5111881437192243,5112547786374962,5124695659957290,5126251354950045,5127124574162351,5128951178677788,5132612621833970,5143420500944709,5145276514713692,5146076759962970,5149437337079666,5150315306295015,5150426384165948,5154406455748760,5156097648832284,5156461422732999,5159084802671573,5161207050871469,5161248283909416,5164496015188591,5168741136958562,5169183503623442,5174341244024506,5175517983450337,5178681082547978,5185496711050665,5189447618805589,5199397406461572,5210093218542459,5216652140931560,5222282340592980,5226896358843829,5232675033262932,5236341345649495,5241779126216109,5260023793294245,5260441842663055,5265232429826960,5269315881525070,5271118414757758,5272010381461258,5273272937856228,5276753284521288,5277050637122870,5284015351506042,5291703312055669,5302053963299700,5304145080779837,5304463365763770,5306712077765058,5312331308812989,5314446308863251,5316323217920338,5319128074583642,5325429115684951,5327554389775897,5329749554849635,5333350248619291,5333588429074391,5334935043856488,5344450649206065,5347417569933680,5349744287355670,5351378986429919,5360234560170868,5363374768894673,5372175647130534,5379052587485175,5379968233240165,5381644047795232,5385746119086850,5394080989067132,5396776081740647,5400291293650351,5401392461039875,5406614253824595,5408167860716448,5408684428107176,5409849367090568,5411331443175255,5412454472585029,5414566165245797,5415695371666931,5419089032931253,5419410149086480,5421212445663696,5425776155703968,5426094979776865,5426200656191416,5426776912686778,5430190436911117,5431006377098396,5432406524156108,5433304691996431,5435448562589939,5435896905179181,5441547898208015,5442550985028476,5443519792343783,5458279931832152,5469790646236118,5470523383371739,5475821882378207,5476748191248660,5477177690474931,5477215546181338,5482349529630549,5484161477936466,5490569127868792,5490578216302488,5490912405243552,5492060493233102,5493319803023083,5493870604473986,5494363692102912,5494461157119817,5495499148937672,5503103710464614,5504970710328213,5510245439146833,5525287503688276,5525784499514800,5531925548111268,5536775761553566,5544364757593219,5544889822531729,5545802799820933,5551558523406896,5554380825386759,5557919753549640,5560825696398560,5564194416776227,5565788618996121,5573849240853901,5577945889491415,5579977210132164,5593426453232836,5593438101378020,5594762061635643,5595805533420086,5601051424903560,5603538322319793,5608980121089557,5611751716804501,5611829232056058,5613862108602356,5614909593083489,5621064494334548,5630820724993122,5637312677638017,5646619733332345,5649080003160590,5650780390758170,5653701086020480,5653796862203418,5658725183825313,5658909534123937,5667246937392321,5669207929458084,5671169627021226,5672283937076147,5674772751954606,5674881982886485,5678334281220081,5681070425108334,5681381324642587,5682063334177189,5684172435072091,5685175185189040,5685769039380624,5699319238678867,5710195316669727,5712513634730123,5714049549411876,5716073879150693,5718933939076632,5722219703153811,5722341925100693,5732397687710195,5738107664095562,5743071426668400,5759061891073762,5760917932621246,5775786807466214,5779727192598359,5782454578043069,5787478509200132,5795310516601245,5796008702306245,5797972692335571,5798138329907864,5799653338299710,5815038103915452,5817139504392687,5818962864882161,5819777108642550,5828565941868585,5838532420889856,5844299901048343,5846508833190611,5852387775678533,5854217826149760,5854563651692443,5854937355756548,5855201829880411,5856022939536906,5858993021903933,5870645665739004,5871947947418314,5873135456761229,5876393418760803,5882204502376649,5883561342053177,5891024028896298,5894685367317522,5902538428609386,5905923307105350,5907421027818445,5907964555669659,5908300976016885,5908696090042283,5911342541254411,5915859656997442,5916931928833529,5924879546681533,5932662790863585,5935312555770245,5935661430493388,5936458244198872,5947101870703205,5950972051903959,5951041949791953,5959591833211920,5961453615564711,5972218700939363,5973250287141740,5973677832178283,5980413028217525,5980915072408561,5986049797838103,5990178361033769,5991408956923883,6001206595929325,6002276243709531,6006897308518556,6007168673792231,6008701405300969,6011214467146689,6016555602340361,6019980584840889,6021343266087840,6022056684496736,6027671084996298,6029374529344504,6030086882034018,6030811056861793,6037875804029086,6043316342842623,6045838883225433,6046240594537014,6053804686685524,6053958863313339,6055268730727559,6060349809324070,6064665258673946,6068333876328613,6068413376064084,6080103762457043,6080478088147904,6085590822787717,6092446030543778,6101803614000155,6117554783717693,6120258253633213,6128284886205816,6130127235214495,6132418324607306,6137419131615699,6138942623995374,6142558454313357,6142688368084569,6143696702746869,6144042650109511,6144095475272536,6146897441024279,6148741765621578,6150235479601000,6158322788243107,6167018513092476,6167607991565253,6171707826744820,6171923593198502,6174144459043731,6177692002705307,6181251707047392,6185543954775815,6192358086666249,6194877677308546,6195005368075242,6198857031919734,6200081358996517,6207302580763824,6207378542225127,6216154454451807,6218233647565127,6218512470330013,6220604711061324,6231011149213503,6233949281800277,6236798857143890,6241164988469477,6242104415956598,6244874563473516,6246083992156972,6248681770169460,6249074081912395,6249533555014967,6250557402527662,6251868356478317,6256321719332215,6259204915009277,6259490107650645,6264775741996340,6268090550897346,6270106477308228,6270623030455246,6274969421000503,6279802006819506,6287214058061018,6288468968814880,6289720240431181,6296712520206538,6299817571175342,6300447716613718,6304110312835221,6307115079760207,6324812402453371,6332989569253355,6340198968767374,6341635725848363,6349550838587158,6351329315387062,6353191312166053,6359135369542064,6368768790664617,6371090203570186,6373927709843793,6379348598089064,6381058024466487,6383412722218595,6385800661078082,6400930699922041,6407210526643342,6408730838629478,6425194770628412,6436083078959781,6436814879261326,6437833183669176,6445879733828998,6446194468328979,6458546881927714,6469735836499302,6470372839856936,6475189364234877,6481335505362132,6482532068799143,6491310187238988,6494216993344366,6499734594021057,6503186772282900,6516226128433302,6517101056822953,6517695732739152,6523391982496272,6546752598032205,6549492551082113,6551592776053236,6551734714654604,6558599467268843,6564596315827620,6568196183285198,6578237361036784,6578503095620162,6580538367081886,6581567286410558,6583498920293870,6584870489517466,6587654701564589,6595708386553174,6597195012498438,6603273865988070,6603801197985057,6610618463004567,6618676721046335,6621057137514784,6621510191241835,6622760768363465,6624459779043431,6630093742634040,6633360677360828,6633666298104507,6638722800576445,6642050646677695,6643521507427133,6645793620729168,6647201893197819,6662203303202718,6664034784936039,6669190164030483,6669210952944500,6674364905825227,6678173806211118,6692574202860978,6699624106317412,6704989683409671,6707775008358828,6708073103705065,6712531926902947,6714278367622692,6720191931854899,6724452753537983,6724547078953919,6736575983773817,6739415899010945,6739727103059450,6741215022206694,6741585788244645,6742696713154438,6743224373710056,6747763101536606,6748010265803706,6752595765235073,6758210091802458,6771281046319400,6776659810263253,6782379660111174,6788002061659117,6788800055371110,6794299705676629,6798835098061557,6801783177540135,6804076005396559,6805314972544938,6810553630647669,6820466834405823,6830268541445025,6832523371438991,6834697416576859,6838813212939647,6840422052000127,6845320561422543,6853445475844952,6855214185488087,6863430375872751,6871074917650344,6872105304806432,6877362362192847,6878773843563416,6885815333874594,6888484602467342,6898143968669196,6900004638975216,6901304183540564,6905543811188124,6906188072934282,6919747802868531,6923858050003624,6925667026147338,6931518999817042,6933453950416148,6938223955509899,6939538382301357,6945044492009436,6946506722091422,6950938208624374,6958833224242820,6961314590681632,6962254218994978,6967131174911621,6968626913917078,6969420545456348,6969879544962764,6972390154085602,6973244897917836,6980494356161697,6983701355572818,6988956838531038,6993040182965693,6994857505801835,7005617682351029,7008681951900339,7013532370262403,7016766698233684,7020516223480066,7021458253363648,7028222229541558,7032222151023244,7033834244257850,7038117440889701,7039791823564250,7041664067028645,7047751781972594,7051101474207745,7066853754241037,7074680907709588,7078519684380004,7079136072514786,7080754326247108,7088092836502881,7089736549891749,7090263369022454,7090827224293435,7098844983687608,7098947119329460,7103287349340715,7112480093601650,7117602179959460,7117702213846209,7122417539516003,7127491990243549,7131364697338399,7131708477987584,7138333125007121,7140267571474431,7145928955462648,7152477932457527,7159009930103737,7159750340676197,7161951879191571,7162737726252938,7163383528300707,7163778957994361,7164516813412020,7165802414192656,7174995651546188,7175045659768963,7179002153816766,7179903040144596,7180233253963581,7181910283448288,7182765199375506,7191096990307504,7193706102549630,7194559521713885,7200246343648885,7203819464442554,7208185024842025,7228437063271890,7229216536358274,7232125512735235,7244564678730935,7244768482327881,7245566857344055,7245574171883060,7248035515958267,7250821157176171,7251981552147018,7253494878650207,7262289934411894,7273694576417704,7278382313447813,7285678364340995,7286552397490444,7289711990915466,7291166276647549,7293749228355547,7304251828684959,7305136552146877,7308279153931179,7312457538294268,7316330078533123,7326575126577204,7328477651553143,7329499380916402,7329807274879697,7333784851848575,7338010137201066,7354010904401429,7355017730071395,7356265961127969,7363433267890641,7363914809349690,7368773239687673,7369067702745463,7372069375963896,7372949260070506,7378192097899948,7379423885191995,7382680312753356,7384234111099756,7386045769570324,7389238093282141,7390506088312346,7391350761414346,7392869637529531,7398773968230003,7403437559059845,7404428308705632,7407505476310295,7408970363179738,7411992302004671,7413103855739244,7416878995770443,7417992892826458,7418488700207131,7424981804351790,7427800180129173,7430512069482015,7432189412984237,7435984239692232,7436873913790602,7441160207213155,7454883912305228,7457626872755122,7457676720105276,7458849252908765,7461417070760230,7464791273301861,7465698531247575,7465989092511044,7468955978108988,7470414970130956,7474020170149742,7476626636382557,7480445069076273,7486839313625142,7492881688861731,7496125413626459,7496331600674721,7496586171914845,7499741802632764,7507614839065812,7507971309059323,7515642971443426,7520995594935128,7522972726042717,7523568386509127,7524079580225271,7524269576290377,7526100758240945,7535413758699104,7543114741067816,7547834066144263,7548479757390478,7551894748287854,7558348891266390,7560368518128933,7562422547591358,7573494827827009,7573960972444709,7574807836993530,7577833848718658,7578638579275105,7583610161177745,7583764379769101,7597146399455249,7597942637150096,7610703887034738,7612217782008852,7612590563938043,7621333387572882,7632486697445093,7635562158981132,7635781595842092,7638726889694521,7652643882172024,7652746090759244,7658477424630193,7658594690166121,7662918821795672,7662988662313759,7663381927516823,7669465419287648,7670573068797315,7681671824852632,7684983390580586,7686401160104927,7692157387739297,7692684970839720,7692715035163949,7692872154514462,7700450128758357,7700977357734436,7701360910594079,7702583314023198,7708512355032444,7710242527125752,7713386097094125,7715596322079470,7716490464557575,7717433898725477,7719367164738556,7721926065964333,7724711616367069,7727688737658572,7728376014820122,7733140741473168,7734200858227759,7736185792522281,7737696128793781,7737983217239889,7738013935898363,7738701740734266,7741777943023382,7741858774779160,7744489504895257,7745446514374882,7748491852382750,7749831849631228,7755681710231848,7762078342885466,7763953570263003,7765228989282823,7766386543812808,7767211022402663,7774524311327627,7775101063842022,7779960077213875,7782860521094284,7789581952394575,7794053661517357,7800931705061909,7802574315480743,7804528105537226,7805530729586763,7807627836703959,7809275090934984,7811145204113168,7813351823453750,7818433714447086,7826881780965015,7841588711354365,7852366441407035,7855477820333867,7859038279032217,7860940256961100,7862261310643205,7862674829720928,7868991532284921,7876379670914445,7880427676195188,7880565443755679,7884420955280740,7885848475582109,7887337325195822,7888074400901569,7888500835141269,7888937940310086,7900170751256211,7905781741383824,7908426346953647,7913734655033026,7915002755515393,7916235800659173,7916680314419175,7929090546906102,7931707661135896,7932664861586881,7936886244974173,7944913299381989,7950277937806623,7952207776184888,7953795569892508,7955707767338343,7957474102755475,7959145831679961,7961026550920941,7965254194340254,7965797077819465,7966607859360283,7968378065126981,7969662040440070,7969835594231926,7970712198889854,7976449267333913,7980381451760704,7980587376998310,7980735420462798,7985722197062386,7987424295175338,7990659870433573,7991803781551882,7995443309794354,7997135431578468,8004620727574476,8005398354408904,8006897017337402,8006976419849250,8011722895901690,8015488350182668,8020262137556052,8024303669159872,8027888930993228,8028030091531706,8032268170160689,8036544756403250,8039577302774424,8042606792528101,8059143994487654,8059389868173903,8059450627794768,8065220473196449,8065582408992410,8070786000530785,8071396031944763,8074839622143824,8075309354229708,8076610463040794,8077418220136860,8082463447862295,8082820682426435,8092520438536915,8095523873680122,8097390569526238,8101747032613392,8103902946642787,8106928489710751,8109224611652256,8111613278325699,8112104031271206,8115533670214246,8118745605497599,8125559994293293,8127077118203350,8133101547438502,8136369282029634,8146147122452530,8153430278421622,8155913468349843,8167731037663294,8169890334648200,8172486649475348,8173481093695052,8177258178550692,8181586463868245,8183290120256302,8194969512324171,8201561228078010,8205287009351885,8215247147279808,8216440810041214,8227083500433512,8243069565420263,8246362229814725,8246716772071880,8249298655984594,8250387434460343,8253509245362164,8255193598573136,8262954804685181,8264880757955296,8269769863632137,8270990875667143,8274176242117714,8274986624684933,8284234491989688,8284461011307366,8289349890472704,8290108606340090,8296059295412068,8303400292309646,8307300282278026,8309633984147819,8313010571574396,8316237693009389,8322561813637125,8325237800434916,8325244982386600,8332190045511090,8333295411468735,8336794237476945,8342359556228636,8343422431629489,8348222101988490,8348990845348274,8349929839053237,8350563913948977,8353187069342082,8355184882068744,8357480319128064,8359032487697274,8361648235426638,8369781975534209,8372656358571690,8372801112194483,8378780774433401,8386972491027812,8390262752827048,8391968117889949,8392149294258272,8393630583129955,8393768386118269,8394309279691674,8397902100674760,8403981740338541,8407164258966016,8408897871278743,8409167580578255,8411553661563705,8416499164135253,8425355410005479,8437064789335853,8440361071453676,8440380356686069,8444597753784738,8451164588916518,8452575040883450,8452834615819362,8457432590283505,8462195561662212,8462356309409364,8462601346948942,8463298727839656,8463870357489053,8468076223787436,8471415745047933,8476431185538894,8477713132692627,8480147732306155,8492172722223897,8495387612202410,8513163154527267,8515344063519634,8515639951840653,8519080382417862,8520471745574237,8521019872666823,8522204087666054,8526397555774454,8528661500257743,8529230741888138,8533878116076637,8538998791228153,8541155088407770,8542383026666838,8547220901137808,8547645173766124,8550168506511268,8552407797606671,8554633315621859,8555174066389539,8558151645997922,8569931984640589,8574564019658606,8576579691621984,8580540441959762,8581367096989732,8581514741937545,8592127243488072,8598659143101208,8599129846364328,8601522207106423,8602281558256184,8606118628054373,8609444821815491,8609962853072397,8624651084037382,8626391389132139,8629842463638108,8636146645526997,8640904163379570,8642764308475012,8647452929444976,8650858010075363,8651780938129367,8654788098657391,8656720607859172,8662946654635648,8668647436071212,8669031552930922,8676906171988104,8679183398969712,8681093783245916,8681657579012301,8682204342697103,8684040140251633,8684097483512102,8691127371410028,8694259890202010,8697654461669357,8699889133691465,8708531679191487,8712816602478712,8716771680701038,8720400968274939,8723528441052177,8724633171674147,8734134339123262,8734939213517479,8737898110156975,8738848475519027,8742554330928741,8744943197261790,8746710561869625,8748523887526601,8750131088989198,8753449625405863,8756024741015291,8760543221800194,8764085725594982,8765499574275666,8770160446142554,8770647022715746,8771763736993583,8781771689282057,8782517514351572,8784173941687753,8784230938553258,8784888250030492,8788645315265601,8789521527155337,8800564096781294,8802869383602903,8804388443116965,8811449372278684,8813402029006119,8830429684254879,8832496384750559,8833617601200992,8833874796390384,8838258102521647,8839028706384124,8842110080684260,8848441586602708,8851257701148635,8861373802714789,8863519477739503,8864760219124956,8865357049212759,8867353885504610,8868704959256862,8869726068715730,8870411403952522,8870975675141120,8873178736038157,8873416249089902,8881792922329529,8884591107643972,8885940282302452,8889459042870122,8895481679956001,8896675958607703,8899181735854770,8900925086486215,8902963558752899,8905988019435537,8908910033277314,8917771334029599,8920188523017581,8922546229199542,8923711240385159,8935766685372472,8936182321294398,8941687890115326,8946727890515135,8948253205690631,8950897215480549,8953024300985451,8965975649138527,8970258327898599,8974686868338460,8976689351398218,8977775722619601,8981576765955511,8989003157868761,8992303867068716,8995450059777411,8995595104860000,8998229369170752,8998333901341575,9007405002778383,9014303703878842,9017776523155640,9020092873224846,9020173374348412,9020279343602461,9026610997051785,9026963896191446,9032187371857715,9034758804495639,9036597582387230,9037381687162545,9038550674961458,9039001997861868,9051912387029910,9055987575748925,9056936895811173,9057135080376354,9060898928960346,9062482327476992,9064531090448266,9067993556866039,9069803512872245,9073037543243418,9074741782974562,9079888527353695,9080889860839475,9084555404746480,9084826088867128,9086751601932227,9087302249170271,9087576855511302,9089480345230505,9090741520266450,9091629224023527,9091979750057327,9092694428107073,9105108221601351,9108055709626815,9118451715638510,9126355422536516,9140764221167599,9142373407161024,9144094536673321,9144763081997956,9145366708442528,9150924106375181,9153419337108811,9154695178495413,9156606782616571,9157112220513543,9157375841856013,9158676476944194,9161053565831887,9161337887056687,9162668962659557,9163686286137704,9165398869818013,9167720671191036,9167897025495661,9169656716086699,9170930061820260,9173729001963953,9176741363031246,9178557764270561,9180835981759675,9181392291811972,9181647265316049,9183382094237528,9189377040357435,9192183509335590,9193828975544017,9197217346928151,9197639212324748,9199102551691123,9203464725118485,9205300319657392,9216804553823594,9218987363983060,9220053901174655,9220215058481045,9223158651063983,9224216334262965,9230781676144500,9232717679435813,9235929505977478,9240086077502048,9240969247386165,9245305719984166,9247406544769797,9249469378126723,9253137291868229,9257234088108504,9258873442401546,9259919463922290,9265832866076313,9268110165919737,9268857065896189,9269629584818881,9271020411926998,9275826854508675,9282900582141549,9287514586971559,9294005080674515,9306667536052907,9310534519872777,9310837736724043,9312102571474905,9328521019473374,9335430691435020,9336501470800389,9342185161395307,9342406668720703,9345184722377331,9346395652886793,9352141537262568,9353138111214170,9355129827150685,9358554525655764,9362733354659581,9364121803157784,9365839127076720,9369093634111987,9372297233789740,9380627712808545,9380933549226423,9394976106188444,9397328261168293,9403248687345795,9403765537033865,9408921495622508,9410138343134520,9418107590281736,9419050885946372,9420051724802624,9422324913293330,9423486081818391,9424880153466631,9431002060282822,9432374689589104,9432764163393778,9435750849137196,9438440967152456,9443709445789282,9449340008831532,9451923415826938,9453971573089998,9461773699588349,9473529131534515,9474996141555628,9481386469401705,9483868523475839,9484142791155130,9484371784536628,9484645634751184,9484984344438553,9487829549383095,9495020829401274,9495968673212120,9497284116324424,9508600366209138,9535833980442651,9535883884558145,9537366154450470,9538837225746487,9551446569230932,9551720811964044,9551725517957536,9562955436175690,9566896437282927,9570293654144253,9571330378157840,9573924489710217,9575165150956720,9580433067657888,9580743881484339,9598138185689963,9601786400945688,9615883008659902,9616163690573767,9618606069248566,9624758856235873,9630291603264391,9635200697180429,9635826108626528,9636075715404256,9637587220059630,9639877956221422,9640617546856002,9641362208707358,9642086587237218,9642337236891028,9643465351021225,9654460153869349,9655820024254396,9657079142409314,9659932051785010,9662025225596157,9667241625101916,9668769821075358,9672577363633156,9677328620414229,9680568650978196,9680945785313483,9688158907192595,9693354057581157,9696973072157205,9697428811713558,9698607611846425,9698807166117128,9709604996254756,9710300281092436,9725792147964753,9730102559873491,9731226214799060,9733007182191687,9734113097684625,9745464335501377,9754378080750969,9760103873246112,9762030899670571,9765786817226776,9776966614037415,9780333903305516,9781403088681411,9782799358625264,9790409908022705,9793594547272040,9794922532119317,9799346924173133,9799889278686304,9806805952939348,9810257422545913,9810585298035378,9811253944348670,9812581143154385,9818968963003545,9829825895615971,9834719687524431,9837155339404081,9837735072016789,9849134001046702,9852441706161363,9855152778377622,9855206514878035,9861618221073016,9863827557020603,9863849833214072,9867562002147561,9870764755744667,9906275973443018,9913889302549808,9921463461654856,9925919096295581,9938343239429508,9938930592288659,9943414292728350,9949019217971450,9950089238873519,9953036062253257,9954313852436822,9956729180121161,9962236941487274,9963611887803061,9965461136179694,9969612722104891,9971538903925806,9972659184707003,9979873792406303,9987074046553413,9988183784680681,9989307766906661,9992012151567792,9992489863586669,9994065414699288,9994394125866496,9997181429474537,9999648366321789,10000031604968879,10001967542883816,10004355354687945,10004753411179897,10004925495910091,10008184940193864,10010370056943249,10023685800384052,10024132264331194,10024518507785908,10032518948661767,10032947249799590,10037809897743304,10038212235930891,10040986745269183,10060828780412828,10063209359600748,10063600315370974,10065868826751899,10069449569085214,10071227734029562,10076125937720394,10077012618270702,10079618128399396,10083178186730993,10083835921342635,10084552716356418,10086482396608517,10087308692864238,10104690390397810,10122880171361730,10124513873425872,10126854974524407,10127093259012746,10130357815395880,10137337268168058,10141780637088783,10153687203860503,10154032807160608,10154307535853042,10155542068394802,10157935620629841,10159191120083975,10160572363193486,10172862470119258,10175620188550308,10176491974309391,10179148177005597,10179832358163856,10180241838937158,10184847409912504,10194722954029343,10196534456267718,10196953099771532,10197930644589487,10198464083483418,10199671620517651,10199695570402626,10206312343978520,10212901875202215,10213139479075307,10217695934166737,10224107621925080,10227034461812365,10232055143615071,10243488805517527,10246053140844231,10246709309375903,10250309444905037,10251928862092099,10255076774065681,10263727029912731,10266820110531598,10271469102327032,10275712382795572,10275743124733814,10279338798178278,10281974844357620,10282227974464305,10282399988125373,10296558578829119,10302531287111450,10304142630006743,10306665063854963,10306671241348195,10309932015401873,10316871801998077,10322210269356740,10322320701863881,10324442106918300,10327807866799501,10331778067925764,10334247661646447,10336141908355459,10338954267321910,10340440885802174,10343162122531277,10345027200202891,10346321946888164,10347621019337155,10351850845125227,10359452484332996,10360599392353768,10362411781950181,10363856866900979,10364382029087166,10372061926860233,10372218357405989,10378769233943499,10378785729437771,10400718449268838,10401822723036473,10402346001657631,10406767930735150,10410213171505987,10412731504017633,10416000710440513,10416079388720589,10420088526584073,10422572464663919,10423223119950014,10426807564427788,10428445873198724,10429449856647102,10438647586807590,10440487445875223,10440838933113584,10444872472907940,10449211795777491,10464407743036647,10466519528405133,10467269725152768,10469454767792558,10476986481775175,10482250308230673,10482598498169765,10483468440563572,10483827694271696,10488747371854077,10490741508258984,10500385026427457,10500488552967312,10501260356111404,10501722215268520,10506658427947222,10511491526436323,10512322942799654,10516207559148761,10522280817607587,10523297170953308,10526510768148749,10528288350222639,10538317185124237,10543343012752730,10545121874221728,10548308070444431,10548369311321575,10551722700063187,10563948380463051,10564465419174573,10569204159673697,10569936885011978,10570501131760442,10576973213646289,10583112117834044,10584639348411680,10591610358127492,10594696458041961,10595652543794428,10597827758570119,10600222809763305,10608578244765171,10617981318070703,10620592192554759,10621082248937070,10621656190299780,10628643234912171,10628921785417252,10629062237330307,10632137486945645,10633505584587868,10637542099362928,10638061479519323,10646006703435010,10649758462203594,10650028403614625,10651121348848499,10651345084987832,10654625803270603,10656235398052009,10666212884489150,10672573019071811,10679689448876826,10687860359404343,10688559968805974,10688935894510913,10695927691488062,10697244763415996,10697779432468828,10699195330093884,10701317947376546,10706304398299584,10706909043141392,10724752029096689,10726920750492941,10729128988836847,10734679576996129,10737172643669774,10738624568526464,10745410459322373,10754439973590718,10754612019663754,10754840975650305,10761458124736280,10766441205077631,10774595446367799,10778630114435824,10778869901743880,10784226394558794,10789995657189753,10799170614170616,10802291531494117,10808364573742279,10818898059592134,10822530870864592,10827594971106799,10829185368558325,10830397172609159,10836112530778301,10838960805917388,10839803231136688,10841253641469924,10842762916923867,10845347885148728,10847253104607377,10851869476873826,10852276831524456,10854428106437565,10857916072243305,10860164830890134,10861464877346456,10863865955661974,10869288228094102,10875559469012941,10882881345336643,10885189706501902,10887641846422423,10887994298217623,10889635463689148,10892582539342036,10894930198422418,10898755272190895,10900258521549713,10907247415705018,10912096677076413,10912468397273952,10913442039163653,10914509218958331,10917306751752594,10919154244168193,10921613838119163,10921844952698928,10923207650640427,10924903323766904,10925760073226515,10928023009400926,10929092524133184,10929712481962051,10932202328627689,10936209061534667,10948587907569371,10948651072438721,10951948612195804,10960839231611790,10961324577373192,10965247315180552,10969273755543103,10972909371352109,10973254456737732,10973954138229191,10975117317621830,10985120232295908,10989202769093484,10990148085591047,10990409005986868,10991558669034873,11001665093098228,11010187031870645,11014427382218185,11015340076911785,11024320739845292,11030107171117866,11033359423251282,11042536781194006,11052146708659621,11054833551017746,11059015179729846,11059724780690779,11061697713450470,11062402375665545,11069851171800453,11077507793952323,11089805668676955,11090552698103596,11090658585225857,11095383304270179,11099369753166044,11099443876685639,11099551546210604,11101013986140276,11106506387649741,11118512285647959,11118595812639787,11123159825527527,11127177251318180,11128665035036595,11129859357638708,11140065829460222,11141140926208750,11147089278236103,11147132552690535,11148812667899998,11150199869893669,11151387183049239,11151502397313142,11152017569182815,11154110766156613,11155371761778170,11156287884240722,11158612187535409,11158629464450723,11159414148224323,11161634288723506,11164777782395177,11169430954279703,11170123366563371,11173782300694681,11175202072568888,11175565813291353,11175852637265303,11181798592805054,11181991100493978,11181994897247651,11184082345585609,11200002087496543,11204988889480187,11206266985990044,11206560578270874,11208382996235211,11208848071296690,11208883644682396,11209337141935661,11211007053218650,11223651527838218,11226519618035312,11240903893878375,11254820718151050,11257541020758021,11259273102107656,11261264491503353,11265599260848364,11265748427379316,11270555388667442,11273495836304423,11275385001301449,11278181039608867,11280555107389759,11285939002885039,11287893566206082,11290096082576279,11294033441021320,11294538894871341,11294773174907559,11300136534963911,11302401895117972,11305713023756983,11308533382477988,11319884533641300,11320460996284466,11327586528497295,11327788291086163,11328275638112363,11332552015667182,11339380783297842,11340864658831256,11345675657880008,11345676553858105,11350091204264207,11357460555425130,11358086643159577,11363343901357001,11364648346737734,11373180683878968,11376187659958324,11389069542696819,11389085993650118,11390806798887033,11401700519195899,11403781057496463,11409131295056209,11412389566727105,11412775300232418,11417029279499404,11418837401792416,11421908057100484,11422650008295200,11425662918976551,11425674126078597,11426226096713572,11428645865887160,11428726096079765,11438432952800869,11438749233694215,11439459859045383,11441352104880750,11443654407917900,11449443817155297,11452383134434032,11454513203644820,11461197052190285,11467461219160217,11471896734320266,11479308399516360,11480479501736039,11481525923581615,11482045627548411,11486735344192741,11487334506766987,11492165643845175,11502614114611772,11504102260549809,11506002168816672,11508511752461603,11511943811198664,11519358680969077,11532404505521434,11544013273650036,11549882026188551,11552173788839264,11557042562885581,11563775874866474,11565733501856956,11568498682605843,11568678400586201,11577027148599435,11578506049932280,11580137502987103,11582679596601249,11583507699894777,11585101265495681,11585602648201715,11591010700913996,11591047076552913,11597838643220140,11602974466808884,11603600057077164,11607744254139892,11611075089640896,11611748354430947,11617014574952198,11618524239247374,11618542975088094,11630642998651872,11630644392646970,11633366940305309,11635654976144153,11641472090021925,11656889598074910,11657305088193972,11658290320353828,11658683525550614,11661261117256173,11669172662936110,11673471530068312,11675090294053441,11675693720283985,11678347472951403,11682179864909511,11684720239124533,11688194680736119,11693102982874445,11695198210730881,11698756388262452,11705418166137340,11708423865084678,11713690607980814,11715198530711638,11715865254416537,11719221642455460,11720785116417048,11720873374212079,11729906547745977,11730215861616220,11734135498068733,11734286258484747,11738267971902102,11741745751488248,11742706162990999,11753431031818860,11760283991541332,11764356908364626,11764874035248246,11765888369402689,11766277124024897,11774539519322805,11775224796384506,11775268638007780,11776764748856507,11776942132964186,11780837550785665,11785179977172715,11786257969749074,11794754868481503,11806924283192272,11807414633626556,11808079978291033,11811131114446293,11811220919611763,11812158072536409,11821385353119483,11829589265980831,11830306135038023,11832905268834899,11844495882926956,11847454270904827,11849673093092482,11851393982879753,11852586198115184,11853010088136902,11855549547891459,11865871168473280,11867361302652812,11867650483762221,11870483176868986,11873041640016411,11875203851983460,11894361955867873,11898179901887368,11902205768982124,11908023918868100,11909747036535415,11913133672980273,11915166616058954,11915355711841884,11915998238827549,11916592149001280,11919527016797167,11921515414457723,11924342814255502,11926548936220126,11926805367659349,11933874408252082,11941423373859996,11942641559491017,11943720753021897,11944383058348300,11944816331130113,11945878175058106,11946983372457097,11947591791853532,11949638025485827,11950260926652836,11954080001324195,11957777053959725,11958326503192345,11971151405717771,11971876905384523,11975100060815344,11977092281022112,11985901107764494,11988505539494082,11990977878901109,12002472308960452,12002640382918785,12003675199241448,12006152178822785,12008453650739367,12015639579945326,12017280196275791,12020813104002531,12021776657102177,12028404727423728,12038984699485340,12039188241767432,12044509607056046,12048806622801494,12051854023871552,12064775457651800,12068867551957576,12074697710387413,12075311552203459,12077762649844883,12082781112646069,12084574037871764,12085458622840725,12095848659926241,12100943786761249,12103181888338504,12103342077182428,12107570552158084,12110485781570692,12115465620881652,12120271099670822,12120377787831548,12125020327675301,12126157816621216,12130816680520314,12138087342617106,12142933439996132,12155534792479002,12157910100394424,12161240480327489,12180082671639635,12180585227923233,12186122156905100,12193021349236348,12195477889298302,12200556590308310,12206961056205598,12209415880387974,12209801129892265,12210314949080074,12216273376124566,12232375265126369,12232730423776242,12247196809844638,12252787846207710,12256052919408540,12258059120145898,12263515421972286,12267705797264087,12270286861002009,12270468054721839,12270555442661518,12272177606302533,12278465206346582,12283300256073245,12283401561200311,12287926682400907,12296222835104371,12296820332233663,12303801642442928,12308285254704879,12309693411990179,12313776804764473,12315202162866781,12315207049934046,12315740660505432,12317737462653854,12318619168163236,12324460369042616,12331039831738345,12332506101262263,12333514223027768,12334476628613713,12334531906613812,12338305387707689,12340480227036543,12344352953082555,12345475198663391,12347889475047477,12347909851317459,12348984482613842,12351058834484070,12370584345785125,12371619531441513,12378093444154909,12382677140019637,12388152182711242,12390527382979238,12394812233113833,12397727946590385,12397876891941263,12399457458248220,12399946676042065,12400047520221171,12405443348799387,12411872215293379,12414844391454468,12416637915847691,12419850567303984,12422291487048270,12427118539066615,12431826184921182,12433655594115296,12438014718231534,12442226783163244,12447792032805379,12451756713951097,12454152316786214,12456127570195279,12456974565702299,12459098291635081,12459682501675724,12461500353394548,12468960135907940,12474505023309244,12482618753698829,12483487650973637,12484042018246148,12493121285865448,12493531949000940,12496153179323050,12496980807002515,12507272727771134,12509925643507198,12518321496058049,12520510172302125,12520676894792717,12520923198368458,12522185666784768,12537207717978996,12544032455101983,12549910268086697,12549984233150919,12561212829273378,12562621625488566,12564478154644261,12565472974205299,12567396522160703,12574953991866005,12576978802157283,12577735179930810,12581297128593136,12582417504397196,12588761464768613,12593140979984180,12595025894277088,12598104253633453,12603845745843686,12606498330358134,12606901469342342,12612150643542099,12616328366097284,12616804915889120,12626861709059593,12632687195472462,12632877370509020,12639418814809649,12640167527828266,12640428361474198,12640818042674893,12640969010574572,12643494240426710,12648154041204525,12649728621420009,12663246977448881,12665311296655878,12672602214310202,12673433235167362,12677222041198131,12678598650222967,12686784777563923,12689491560869302,12689747806173574,12696892670705054,12699131424983717,12704873713509812,12706444340854109,12708456140034254,12708947544688479,12717959780809396,12725278628820408,12726377376546299,12727033270826653,12727451946669105,12728609040123221,12732289199228764,12743533106187231,12744154603604224,12744582863031207,12753765690440504,12757066236294652,12763333410197074,12763622227660696,12765318712019179,12767461214123574,12771267826669947,12771271434832766,12786352863464886,12791039593741032,12807665721211120,12809522469790774,12812219134042656,12815737553583106,12818427882691906,12819996417836695,12823282271321919,12829072084255416,12829476237406130,12834860563514747,12836268768934776,12839962036566577,12844733648085249,12846697038313617,12848207419401226,12849610059774631,12855844760930756,12856329358872922,12859899907121954,12862703186291722,12868140593650867,12868775358248804,12878995927947374,12880367229968159,12882980822794716,12885096273299911,12887418415101226,12891360431882375,12899091919482854,12900385538356311,12905429635634528,12905692293007666,12906788489234465,12908918208484790,12914133462565182,12916597819623486,12917606324274906,12927617411585993,12927643921060549,12930688332553359,12934350686066194,12938980103044533,12946489524267653,12946566221188718,12947498840965122,12947522776480207,12948080613899642,12955628525207272,12955751803056504,12956105567109482,12963051823146860,12965962908737325,12966841617454724,12969038927449240,12974390471676060,12977226874213721,12984262343738292,12985447175738467,12985493722134421,12992253276160962,13006729868315951,13013340987113008,13024057432246161,13024381576306167,13025387612752500,13035980728818146,13036712601500114,13045600513120125,13052620397276151,13054092485386589,13054236155028234,13064661100685731,13072501768493061,13076878689179067,13078572400562073,13087887536529400,13089196076037122,13095065334602578,13099158956896694,13100332410846032,13101953020852801,13104310576837531,13111577005851999,13114710504214063,13121909629776355,13125923793919885,13127052312166869,13131340694012302,13136566433737611,13154198718450725,13161415791524131,13165906763126222,13170738127259843,13171457864347215,13173346736287826,13174101013456127,13178301051103108,13180513572315636,13184920558769854,13189380579282347,13189931555333206,13199996563430952,13201217534286755,13201807925580353,13207338579601475,13210353545775075,13211066578415956,13211782471313872,13212061616770885,13212165395243922,13226427284217852,13234370539005730,13236634090362774,13238503442128074,13241104178731895,13241168864292142,13241450032861794,13244435867492390,13248655970715829,13254044124605936,13257737390535834,13267000919019282,13267936932487740,13271241935162677,13280579253065923,13282031195456371,13283754265526543,13291686689127392,13298750975340353,13299748738344826,13302554742173335,13314547425279234,13319948227125321,13320420872897251,13322363408500421,13334201253531043,13335658832145523,13335793951712856,13341697171605447,13347417735653001,13349762651012157,13350157202852563,13351999147017999,13353105338922322,13353560065022737,13354308078114141,13356738691919271,13357601360650186,13357777396369660,13359331313196874,13366826205821166,13368583862334403,13377783353267179,13381451339846643,13381463615587834,13385015528950604,13386085962502095,13391317927982365,13392648285436965,13394551832655184,13395404051517109,13398670081004882,13400424231648754,13414514599248518,13421468939724196,13421914072312530,13422513191685049,13423145336408826,13423985507124709,13425535532287600,13428472113899924,13432304326725595,13434089379448321,13442145389950277,13449787085268158,13450297184222915,13452686859689485,13458666141057862,13460158878440690,13460707130413039,13466324773783696,13466915673127210,13472766006472691,13475163848403231,13479722850761988,13480475246113038,13483935819663029,13489343668600089,13491793275562421,13492922551522469,13494212405375710,13495705064166062,13496578331102873,13498115501938661,13502294894809469,13502956667923325,13508489645714817,13509178757772730,13511175763453019,13516547793277979,13517096887074591,13517706451256090,13519875476747795,13534796579194791,13536760109792498,13544313444890724,13546188892694360,13550385209337680,13550826895184846,13552576650306647,13565333800457376,13566103316134218,13570582888476349,13572474456641402,13573232562684901,13573812546471498,13577556238494057,13581522598681686,13588669826245287,13589817490954814,13593552113285088,13597147770176233,13597925645597752,13599350900514499,13600455937242955,13603584733156082,13606027345535991,13616619781513376,13617631557607803,13621326447410048,13621397819727220,13624051916065155,13630191002096322,13633620941174365,13634793775983156,13639851440986869,13640894707400926,13641606518127186,13646923852005472,13649712080213198,13650210377673533,13651091819607497,13651608859118419,13654427643263871,13658284418429714,13660502914513022,13669670567123455,13678455803703467,13680384031643874,13684209880729452,13692915679570837,13697107073013916,13697542413338103,13699244375297918,13700132194249732,13702229819892376,13704275954624893,13706325468204188,13709847705415370,13711378433916464,13713126833679041,13714567785435526,13716137377044165,13725507831112260,13727719554216964,13732875764071009,13733715420630549,13741167003840776,13741640976152344,13747934773389159,13748019953915162,13751009984842370,13751355444615875,13752528537770243,13758183684987635,13761196487629879,13768364341578355,13769717386191937,13772233025470893,13775099387736730,13777389667865043,13779193834002005,13779343273469876,13783090634865873,13788511193264457,13792876019743227,13806888829912490,13810189191668783,13812724327885179,13812787107447014,13817281563439503,13819216056468458,13836967928987258,13837797409998221,13839575757828409,13841506126069216,13844723334748155,13851419674057285,13851804964013356,13855148698755421,13860370948717274,13860591920719937,13863369609343673,13869499215642030,13880535898359667,13885432559815038,13885655208775719,13888286109395766,13889067944081094,13892103020384430,13892745650858214,13893729230139344,13894176996423815,13899539385676851,13899662982568281,13900800882545442,13903640450103285,13912471423586370,13915479520055915,13927268834765068,13930075501042467,13934376089480231,13939640716669681,13943906738910314,13944345475258344,13948067910027087,13948849305450763,13950003362814608,13952318012300341,13954241713643000,13957891625399498,13962475538041667,13965952880287033,13965992746518202,13969065894497400,13973873959866261,13973975217502633,13977253714955139,13980089127547653,13980251368951520,13982564979542470,13988342852603836,13990556415047062,13994731628884224,13995788227041302,13996482893584239,13999899007027615,14003981992485830,14011910995017831,14012374992832944,14013217052263591,14014139243194211,14014245139738092,14015507053297472,14020084142502079,14020512831650303,14021767660954154,14022387662308266,14024048892876207,14028210972184975,14028413705759475,14031728644121479,14032607565016799,14040011506200800,14041235400538814,14043155616226056,14050877619339410,14054606050486682,14058900062976140,14068014186041757,14068336590289394,14070452446274375,14073196557139903,14078263357677895,14079413477735954,14080066225503973,14082060161725832,14082924359301487,14089660453835508,14097413515224558,14098134531900237,14100156126841218,14104609562657279,14108295823070985,14110176260429603,14110846566699118,14111683252929542,14111754638843301,14113954118968165,14115700381311298,14116084203345559,14116262159822071,14118499555389589,14130408476214262,14136333045989523,14140326674960210,14141721173215486,14144055360914058,14148463071587919,14153016738442982,14154977816991154,14155975414531428,14157654079691198,14164161800878394,14172509973561101,14175692216668231,14177050809138713,14178906646157311,14182748633123194,14187963108760817,14188374719646123,14195241543657573,14199253731869253,14206687970696716,14210270522420558,14215169574069725,14215487446995196,14216235072155258,14216815637469021,14221732530161551,14223983097652588,14224068397405677,14228747898918402,14232996386333408,14240099294539079,14240931409922495,14241836658261553,14245988562300971,14249502033018713,14249687565938747,14250698500890187,14252150350133713,14258964967231840,14262886155232322,14265027566645368,14269635702889801,14272184634180062,14274483320198377,14286491830383354,14288578362756140,14291469615410543,14292472000295936,14295837452356585,14298173613618098,14301257753026067,14306183975145525,14310015895186965,14312644574968166,14313406026871827,14316275813435798,14324046111985296,14324162382494344,14327796466197481,14328346609794800,14330165162804822,14334872702153449,14335504292083940,14348901888548568,14349694944734589,14354691446106556,14358712927579207,14361182737613332,14367338647715234,14373358653447165,14377687185916087,14382653933328395,14389328610898075,14394881294681167,14395773024997894,14412375459733818,14417058048931154,14419408012320654,14419543889278265,14419921321665188,14420517295463922,14422482515005653,14424431392247406,14425089420361947,14428963789076396,14430041824596695,14431778710317696,14433829777128924,14434491585844546,14441663522114382,14447076836883551,14452272957197920,14452953847840233,14453826393896267,14457911302704022,14458414754313519,14459032874392331,14460517698166413,14474428436715615,14484126976680776,14486000255831641,14486482190989317,14486688729309047,14490346112381667,14495252825099916,14499310299171024,14502523747605405,14503374543528179,14518760367352883,14520484026405910,14520523492819317,14522374602858312,14529743691651008,14530895847000131,14533293345882871,14533881753163408,14540918644501586,14541038147489782,14544565705546702,14545119728791898,14545143474688100,14546173469934987,14546950089114982,14549609943559194,14550595762050225,14556533343840630,14559345024889908,14572798606348625,14586151667610008,14591042865966381,14594358540722423,14597249351408083,14604151534357376,14605286985819094,14606919734830311,14607574529846282,14612303110337878,14615308468487258,14616719913389540,14624808109756912,14627170591637528,14629700307326754,14630990679638089,14631058148494236,14631592206687850,14634273551714656,14644503421772784,14649557850029947,14651923318081732,14653944011582470,14656311355977165,14657428090327995,14657604036440419,14660498729179366,14661525238412521,14661571640483758,14665151964517830,14667818466333059,14667887619466478,14668685675655734,14682369744095231,14686694622392691,14689136417247410,14689925418874652,14690256368300896,14693014696087872,14699312209892116,14714972951681498,14717202699896960,14718104616195713,14721121520888939,14725344942979782,14727357539437919,14731094891037597,14735849798460939,14748981659235018,14753483946970413,14755563140273075,14755965578235618,14762529320475548,14764626632313599,14773705053327044,14774424971091441,14776126161075338,14777180456645831,14778438956721458,14782806494910422,14784179132609967,14788298711427135,14789280323954198,14793729824905262,14795588947820074,14796095030944430,14802524498404394,14802871040723160,14805119697076881,14816837023868332,14817193876879236,14819207660612212,14825309849899806,14832649404008041,14832874204975299,14841572903295226,14843228258391975,14867172379036342,14870547288257970,14870966209589309,14872596463440126,14875244788896295,14875381698615063,14880698080993082,14883492855733875,14884715585223534,14886553319298264,14886760885556864,14891249907937290,14896102249534025,14899776943325306,14901170136723141,14912124553248599,14914637529083995,14923768734921150,14927475356531675,14931070622748085,14932128317822464,14936488056973006,14939491797730666,14940182819303564,14945635561516349,14946184679427012,14946461852662808,14948084549356910,14948446551537791,14950087955881572,14955259859229041,14959164006691718,14959879541079484,14965284707003980,14965423294444288,14969572759318726,14972120173118520,14977645952278382,14980399363855563,14981979822436646,14982086157893159,14983194443165565,14988165815323633,14993931438103578,14995330188668762,14999867324523228,15006561064342947,15012111756331265,15014220467166698,15015143178733208,15016747917580341,15017581694255009,15027872686689687,15029223449524697,15029421099140855,15030279194177507,15035221909747542,15036546311204155,15039016426253545,15047851634879837,15049002718573923,15049206174008406,15053346072083521,15062104346670796,15064441595557983,15066002393956736,15066248594100780,15067340188537424,15068737776024543,15074812809725285,15076415543655217,15077707600112524,15081726781697934,15083561199479055,15094135577988729,15100586527842091,15100895887756881,15102916238189824,15105535781519277,15116572812194862,15119049194648737,15119364074336061,15125038963644248,15125825668976374,15132962157165167,15136429429441543,15137082733015950,15142340753501357,15142771204200772,15144509730846110,15144908199448686,15144983031311469,15148559483986296,15149385225563368,15154630818232126,15160605890681429,15161531771304283,15162347554758104,15163502675118430,15169763864701641,15176552743308913,15180178091915825,15180542353613847,15180584383482208,15188528526614937,15189413185888776,15208520395012921,15208750046543455,15212200426217138,15227318255741609,15230987915584006,15231021927697063,15232762341410261,15235610343655303,15235940695207259,15236962250830291,15237359393424484,15246816456164871,15249106376606939,15249706293397504,15250808075404806,15258347128439790,15261325410662335,15264731568598059,15269511085038233,15270685254846067,15271999905664798,15273539450147272,15275297064012400,15278958849739502,15281435895520542,15285891219756998,15286093688825701,15287593664509791,15289216934672906,15289862125703132,15290148594297788,15293123874907838,15293182038900352,15293645217732226,15299580313640187,15305964656672387,15306717541883905,15307253298108768,15311297318614703,15312452203678738,15314450403376168,15320795701669972,15323517768047447,15327507236726425,15328510915961246,15329295210127478,15341118628483735,15345070383303245,15345125892343611,15347814684162793,15350044437706640,15353149026108168,15353232670298897,15353560384857675,15355335603796124,15356453151175679,15373930811061691,15383429430446016,15397171895399395,15397714938008717,15399047611286521,15407310719467201,15416018244148923,15420331379087852,15422639254858208,15423849348726518,15427700916526085,15428180744186198,15430571383432346,15431617843729266,15433887937403854,15435323600513692,15440395009514642,15452122315683979,15452893020203867,15453212547751568,15455501413558991,15460176292435540,15462583387869582,15467422080353387,15469490756626048,15470882985899462,15482994955456858,15484173299282197,15484872489499858,15485469980475937,15486304467213949,15487350504789638,15490588941327161,15491583096713568,15492393791023748,15493669981706537,15500366938118891,15502621595004668,15505519386765147,15505574369060822,15507002730562560,15507596083915355,15508961945139367,15509959425170992,15510353559011411,15514535598456693,15515999929535991,15520925704648893,15522061334524465,15522535607692803,15534018111390967,15535143794747681,15541941411191912,15544311106200778,15544548900805204,15546317358086874,15548524218287149,15557041324109368,15560985952069394,15561952874606530,15566576834971175,15569162342244587,15572863590946325,15577133638656672,15578342327203108,15578855835529187,15583702740356037,15584544164633761,15585305674396933,15586021008360415,15586572984402845,15589664130788769,15591725629706008,15591835587885800,15600022327961011,15607295863535585,15607922224614041,15609335762508274,15618067512755640,15622298857392805,15627058763799697,15627340304611938,15630540170717466,15632960102416693,15633826576330465,15638216907788849,15638858384127971,15642870227425833,15646398545914329,15651638904781067,15659367639512437,15663152139200473,15663328758094326,15663518386052835,15665466143502026,15668753861818902,15669831866387505,15678947651292970,15682550662690976,15684129061048451,15684714219805662,15685720052383568,15687701212595998,15689677439468810,15690787323220986,15695115813510797,15700741802774887,15701006667851545,15702846415375903,15703962508930357,15704863872433113,15708565750105863,15712661333238613,15713676720006796,15721982912314664,15724009739721668,15734864201421320,15735526608963708,15747072816599513,15755103109741170,15755440794212771,15757655394026279,15760850159052851,15763329664260405,15763347842500031,15768290846396154,15768790414358471,15771335490643202,15775430111926025,15779539730846437,15782503260567645,15783285537872233,15783457873235222,15788485549669269,15789578978089590,15789976943224909,15815973513115164,15827668242360976,15828816982020122,15836027530140851,15840334179132579,15843352451900485,15843600775555820,15850629388872569,15856599929346677,15858472897572714,15862471597714265,15863820783079073,15866236940451977,15872237508205510,15872362195905201,15875441792071432,15875675232290550,15879801226947188,15885288784193762,15886622651670213,15890892365015163,15893531204246694,15897401962344850,15906340120401315,15911275554215588,15911665623700279,15915302121110625,15929095843806677,15936857080419564,15937966068964410,15939128572044103,15942294347954403,15944489120018696,15947799685112623,15950810185660122,15951245132791578,15954518713119826,15955148149270868,15964603511322079,15966264651417527,15971851268005300,15979755963656160,15980573084169774,15988715093923408,15992587277784956,15995125981757130,15996510118296691,16003094114347164,16003140191180923,16004817238396021,16005398242861922,16011459785052628,16018446377180066,16020878297532268,16027627388696968,16029458430644052,16030694108593481,16034236792251998,16034525251814468,16034983761592996,16038301793476863,16046531724225850,16060832251885914,16061260687253150,16061782006846042,16061864710345917,16062107659438725,16062126410990904,16063267034774544,16068775512666918,16069046551508727,16074486970716033,16078205716009594,16080740588460730,16083877262816687,16090383828959085,16093240548996996,16094586933607974,16095534305784346,16100320419524573,16100367571904401,16101369009466497,16105015545889947,16112103922334415,16116526388299685,16117917347854731,16120352726850564,16127193854760523,16133443983594261,16140981467932346,16141034606926221,16144336314735217,16149265475211648,16150040833847011,16152783913026412,16161207778152920,16162431360492115,16172266596086346,16174694833891312,16175177075901135,16178760128679429,16181654573567669,16184318280736106,16187175465801236,16190571409547135,16191892773280294,16194604792338484,16197234251528011,16203717232904224,16205094133158569,16211596379781820,16214165140670292,16222085433520808,16225653430698144,16226175893934181,16232827850921026,16232879761043264,16233112123839300,16235839769165041,16238168570863362,16240238424856187,16240762741306135,16243928721228007,16244975726182655,16260035380139182,16260845001474054,16262693077001559,16264698063563820,16266712848564625,16280927247624124,16285231420960465,16307595056946704,16307951982401723,16309137054392802,16310681306790082,16312561878704069,16312770958996932,16315681986373983,16317916292886363,16318142278966024,16322992301675770,16326980298830476,16340878351385153,16341631078822258,16341765762990956,16344386984734169,16347036755860703,16347588955891873,16349624325715789,16354850499974803,16356347789934648,16356612357153481,16359131609074861,16362066780194864,16365789041511778,16366474475380606,16367467787980037,16369281391114209,16369945946899217,16371513179077382,16372297199748151,16373987141658826,16376198685113602,16376801678126739,16377409889399924,16386085273604579,16396880383990556,16398733126926655,16399995796956960,16404482717922927,16419509766610091,16419901644544820,16422440467412931,16431504741295613,16432971637241688,16433327633528711,16435742390682375,16436934401638026,16437965595938221,16442543340364424,16447014000822092,16448682699618749,16448694170228736,16449874025980925,16450690918804765,16452048761762229,16457674212534286,16458193998413945,16462708921584182,16463091501301962,16465114761860846,16465120270600982,16467984634116524,16471768032344118,16483944183054084,16492537636527687,16495989716457454,16497815380221164,16499668866369559,16511518960700260,16514937777288269,16515317531532600,16515763893503398,16517537506431523,16520680878383534,16528575556857601,16545733416918453,16549193848756349,16551638786295881,16551950824707495,16553580690041101,16557075823478085,16557622410594911,16561729019896847,16568638052909005,16569637258340730,16574236353677299,16579013171395585,16589547714857710,16589699574162660,16591958210106118,16593504637950067,16594902459898391,16597325276377050,16605918285966819,16606580432110149,16610275696347712,16613342366245440,16618755587989745,16620145335129622,16626806031696348,16627492809843158,16628850845685145,16629787832374700,16639264165576493,16640125030088682,16640885497737107,16650212270002998,16650283216078512,16651922820531350,16653981254978641,16654463028053744,16660067927175777,16662173317527607,16680510934158810,16680561622616533,16681703184890456,16682373593295548,16683370222392777,16685180422791776,16689070891238240,16690482654703766,16693110746762578,16695572956327954,16698836185067210,16701956823305074,16703748939565094,16708313260115034,16710176517292164,16710559192935968,16715146526807170,16723897963678559,16724720235210872,16725294155137383,16727032133352391,16728617677318426,16729903330833289,16738231483083309,16739182735043548,16741586841667302,16748052258655621,16753484567013429,16755872335309848,16759630605474370,16770317161224453,16781529885866521,16790832050869615,16794869894044860,16804435888556957,16806577309208351,16810005023919202,16820470058192790,16823502750640122,16830808420468113,16834585049588482,16835383911593327,16843019140494565,16843470568018147,16845624208838007,16850886838136612,16853500585157421,16867020968629490,16867864576520806,16868617407655959,16868995983462599,16870191809073980,16870410864242800,16871035110851631,16873285741528950,16879575300669180,16886381613931407,16887131664281014,16890451337099671,16893613954731672,16904808506504605,16906302534491199,16913880033664423,16927073596682644,16932303526577817,16938552604164274,16942918462021910,16943992912828536,16946796236946721,16946891861601499,16947503499298974,16954247022723534,16956760996707076,16962140177483474,16965324067224038,16966208347117891,16966288341250307,16974928251104354,16974976960555336,16974996106586527,16976062143580028,16977273505567584,16978106126234654,16981100707531732,16986912710655502,16988076401714671,16989134716990479,16993284480102555,16999277768258162,17001105496098528,17001625874486973,17004131992558114,17004653707426806,17008056242821339,17010630988250026,17011749486628658,17012043753575418,17012833537545574,17012961214609946,17018029384954439,17019281824197645,17019567982933477,17020453662805895,17022002414706187,17023649823777761,17024720259097538,17027024912981538,17027708820603609,17027724390296374,17028905071969344,17033234045807732,17039633394164779,17041956186643831,17043911086147728,17044227183900592,17045020641718652,17053515690985016,17057625560583053,17061147464856536,17065736283826551,17066204322105669,17066890141401799,17069702342298005,17072355840387059,17073899007528806,17079370707234233,17083995713147359,17086180968300670,17086729799181588,17092924242292896,17099823267028374,17109970886679733,17115609728681850,17115701285838058,17123770859038573,17126111370551570,17128001588707458,17137453008591868,17143215310364176,17148520678822028,17149911306286158,17150277478457455,17156795393603011,17157898465093855,17158828067013858,17159011651238619,17164804932271093,17166238296990702,17169462933515083,17183821169135232,17184647258662518,17186046317572781,17187089371311171,17187953830759362,17189985997758617,17192344156604394,17196706052792205,17197787441563201,17219161189129714,17220298721334363,17220596644754506,17223793252771328,17226202100493419,17229146874971723,17229711692736590,17233175158773315,17246076311509922,17253960997681551,17254418065865558,17255087609386479,17255995767294112,17259835753342812,17260765999229191,17264493723089078,17266202911425676,17270142522772385,17270315441865085,17270538843510702,17279346919275792,17282090993143952,17283049372339150,17287308980519422,17291831163747378,17291979671712321,17293149261210524,17293672805669573,17294786701918124,17296137849004163,17304784741854216,17313632977406292,17316550266876212,17318692992816441,17319678699176484,17329472456864413,17334864272182912,17341517372421961,17350493188966563,17353053843653375,17356450551100592,17361459937027549,17366983669838823,17374030449048011,17376228701452293,17378407166143928,17384549204332200,17388171487087893,17390942323634254,17391219400155350,17391436242706241,17396707198829202,17398282123693718,17400652202709747,17400913153559823,17402765624273936,17407246841014078,17407426140293546,17411561521038686,17413919734842125,17419751217564568,17420104524816546,17420485858384051,17420499051739414,17422062281526649,17423105453982540,17424603372802588,17425090194197669,17429451938052494,17434671597288182,17435530177003750,17436880586844845,17440523469292889,17441789247813820,17444828676918251,17449218340958120,17453531113236656,17455682577560844,17459797692635710,17462899646868656,17466786275120017,17469533283184289,17469793035926815,17470441567829100,17470553723629372,17476827515285484,17479085198776952,17479606979027524,17482162292356881,17484120239214373,17486065626693618,17488816545423819,17492552714657461,17495168335254171,17496728290093656,17497098710311670,17499228377170813,17499405596516174,17500477193853245,17503587588672849,17509297579594984,17517159540441318,17541513425567569,17549550257204532,17554939460224349,17557110727324424,17558580292594243,17559431629269263,17561308627872597,17561448044068445,17575560135721806,17577145952506174,17578206520670377,17578443574662836,17582264107806662,17600607133597719,17600742857183071,17602282637407016,17602421941387749,17608558726968620,17608993167118462,17609153518381219,17612331367634278,17612661692978454,17617501881367841,17624682438741740,17634636486838908,17636045194545382,17636697018575467,17641686744036386,17644039113805944,17645312266322218,17648036628500448,17648654551195334,17649827707409978,17654605406803051,17659151263914508,17659621059389953,17660743105223332,17661459152369712,17663870523590598,17669690965056750,17676740506186425,17680247160773935,17683919063883369,17684983449309621,17687312381466046,17695758922408170,17697682504000309,17701077865761339,17707842984156022,17710801222146557,17712409569723362,17712893886367554,17714216772557464,17724374962463603,17729422012525851,17732456419233492,17732883134864219,17735784358608079,17739008654014794,17741767011633464,17745817163447253,17746048334435768,17746097465586084,17746510075374564,17751474508572071,17754583581253314,17759977925515375,17767687613087632,17770981472959907,17776801117888552,17778432694523101,17780417672471981,17780633004635622,17788814020175258,17800329108711822,17804753485051696,17808423895668929,17810904352266449,17811294904961592,17820414995546733,17822389231945555,17822754688428992,17824058019135158,17824692487924143,17825578992465786,17828557450318443,17829961694570784,17837924490120715,17838730974038612,17839479752655995,17840541840864217,17844481483540230,17851847109708456,17853025423149005,17858621723903710,17862392392198693,17863284124973089,17864179561603861,17864592832666958,17868918610462163,17874140595461808,17875253398653485,17886201118232867,17889210293831194,17893885025675099,17896653342000979,17897530801963500,17899962937369458,17905797190497744,17905846546240170,17918445343593208,17919141917693070,17922025141068374,17926997493031437,17927103791988031,17937654095049111,17939317258777532,17943850737738299,17957869302232059,17960883452908748,17961387047243191,17965956572473636,17968648867149500,17982550082813185,17983136277324499,17986809951266796,17988399353053093,17992768183819834,17993406082650772,17994870382615510,17996626721764095,18001052491537957,18001311042217802,18005492007967208,18005654000109885,18006237324341425,18009042115164135,18014657110806736,18020223752353121,18020974854298469,18021886555673319,18021977349239142,18025297591294553,18025990996334243,18026004208911747,18028316562390501,18028689821463165,18028750965578870,18033529755426165,18034259808131599,18040783877464002,18041292302459796,18045296264870451,18047765377766084,18055041696562277,18055087872299409,18055202394875922,18055587125968368,18056175313091286,18063228282000881,18068141364358640,18073505561056499,18082663742446595,18103391723450706,18128418480848031,18129647245646890,18133139401742517,18136432192167355,18136446741098044,18138810838881859,18139979326512529,18144683812945242,18148112805994599,18162150874995819,18167996487849658,18171316446408821,18171388681157994,18176398171978336,18179155755591764,18192955804156397,18196133156509510,18196224826654508,18200162616918760,18202136593857712,18202307391092451,18202693116385381,18206082138173204,18212687689930990,18214396067041321,18215688955701607,18219379302426418,18219974968329184,18221275900037908,18223508196000123,18223722170355650,18224739650203902,18231210235164500,18239788102481133,18241422988672837,18251366028776903,18258026885319486,18258704607599735,18264270499497472,18265102179546859,18276178788453575,18277532214379777,18286308776218058,18292647811673026,18309896670692432,18312531677561972,18312928450191138,18318512805857755,18320706645413560,18325796935244911,18330283146493020,18330874810048231,18336172353658611,18337191336507655,18339590117968112,18345440651863510,18352607575179916,18352917019852258,18354768007590930,18355594602361787,18358922153576498,18362561943328805,18362962670225728,18366897023001689,18367801753285595,18379087767248948,18381374117454963,18387301731718687,18387581519957645,18389284618749271,18390199754916829,18395298635755745,18396190684827929,18399039864999227,18400962357421119,18404059324034888,18404723916877195,18410857770319952,18412761413118797,18414602864713505,18417094802826718,18417594946606594,18423285819437783,18429692224833089,18434895555056928,18435861506577465,18437428333588590,18438159643459969,18444487060015322,18444666364288446],"molecule":"DNA","num":0,"seed":42}],"version":0.4}] \ No newline at end of file diff --git a/tests/test-data/lca/47+63.lca.json b/tests/test-data/lca/47+63.lca.json new file mode 100644 index 0000000000..fbfc4121de --- /dev/null +++ b/tests/test-data/lca/47+63.lca.json @@ -0,0 +1 @@ +{"version": "1.0", "type": "sourmash_lca", "license": "CC0", "ksize": 31, "scaled": 10000, "lineages": {"32": {"superkingdom": "Bacteria", "phylum": "Proteobacteria", "class": "Gammaproteobacteria", "order": "Alteromonadales", "family": "Shewanellaceae", "genus": "Shewanella", "species": "Shewanella baltica", "strain": "Shewanella baltica OS185"}, "48": {"superkingdom": "Bacteria", "phylum": "Proteobacteria", "class": "Gammaproteobacteria", "order": "Alteromonadales", "family": "Shewanellaceae", "genus": "Shewanella", "species": "Shewanella baltica", "strain": "Shewanella baltica OS223"}}, "hashval_assignments": {"2925290528259": [32, 48], "7397951382043": [32, 48], "9478766578752": [32], "26390034908046": [32, 48], "31811219567311": [32], "36191627174349": [32, 48], "39112643786682": [32], "46822418898135": [32, 48], "47180432856748": [32, 48], "60017138985701": [32], "60046869099761": [32], "65325381835497": [32, 48], "73805228897455": [32], "74037001801154": [32, 48], "75800414195236": [32], "81855770871884": [32], "83631867214312": [32, 48], "86442965329695": [32, 48], "89858161015356": [32, 48], "90806331781332": [32, 48], "95108107091043": [32, 48], "97258972896665": [32], "109728134835863": [32, 48], "111162670259148": [32], "113585458770972": [32], "116166720583475": [32], "121382935674939": [32], "125296899385152": [32, 48], "141176320451685": [32], "141284968207060": [32], "141805235471354": [32, 48], "147190179068733": [32], "149024066888166": [32], "153783847123278": [32, 48], "157255282423883": [32, 48], "160902593196961": [32, 48], "162823771630571": [32], "166163367169365": [32, 48], "174979625787948": [32, 48], "175032069345452": [32, 48], "182141449646872": [32, 48], "187503667710897": [32, 48], "191814288543916": [32, 48], "192890223167288": [32, 48], "195186364664284": [32], "196037984804395": [32, 48], "197033160819668": [32], "203335269479450": [32, 48], "204822233856042": [32, 48], "209233297808434": [32, 48], "210990374921109": [32, 48], "214600505227173": [32], "216861451361880": [32, 48], "217827490079709": [32], "224612774123844": [32], "227683744949779": [32, 48], "228540468204721": [32], "228644441858825": [32], "228848037454334": [32], "235478348737722": [32], "240579984608212": [32], "245029062906088": [32, 48], "248581735034297": [32, 48], "251186192464160": [32, 48], "258255664267571": [32, 48], "258924003299576": [32], "265587486568360": [32, 48], "269368370464968": [32, 48], "274235329360733": [32, 48], "287831833139065": [32, 48], "293035680952788": [32, 48], "294558365931778": [32], "295357672887769": [32, 48], "303548064148961": [32, 48], "303884611876696": [32], "306041902505698": [32], "307504482597750": [32], "309969810458414": [32, 48], "316701230964482": [32, 48], "316897730501733": [32, 48], "318378982650332": [32], "318568418472400": [32], "318769251839299": [32], "319335385321196": [32, 48], "324290895668437": [32, 48], "335605928681508": [32, 48], "339214912158009": [32], "341001360876621": [32, 48], "349347535027435": [32, 48], "351258437206186": [32, 48], "360700437330047": [32], "367327558614874": [32], "373471575728001": [32, 48], "374188784960382": [32, 48], "380562917179168": [32, 48], "384016070832594": [32, 48], "386412107814027": [32], "389279696836396": [32], "393985777467936": [32], "395356088720884": [32, 48], "396054053894786": [32, 48], "399215565767837": [32, 48], "399215750881719": [32, 48], "411030707384650": [32], "414934253467214": [32, 48], "423759820188444": [32], "430191392037330": [32, 48], "431262729545883": [32], "437506450440821": [32, 48], "438105428895659": [32], "438530381378884": [32], "439044119332850": [32], "444273467310604": [32, 48], "449680755457024": [32], "450506164772110": [32], "457138551847407": [32], "457671098462976": [32, 48], "461477875054528": [32, 48], "473505790593386": [32, 48], "481815788294090": [32], "487479264340595": [32], "489519873805078": [32, 48], "494381455384554": [32, 48], "495601542123242": [32, 48], "500121418104925": [32], "502603922576313": [32], "506180131137999": [32], "506336140549160": [32, 48], "516283812540815": [32], "518803929727716": [32, 48], "536385923460112": [32], "536713413896697": [32, 48], "537757852470225": [32, 48], "538244971589768": [32, 48], "540208451183188": [32], "540588787405694": [32], "542763181011925": [32], "549192277958979": [32, 48], "550069279000761": [32, 48], "553900351455263": [32], "554447489693319": [32], "559226934389812": [32], "561316274253850": [32, 48], "569061433009767": [32, 48], "578397933313938": [32, 48], "578899728742280": [32], "582924953100697": [32, 48], "583572058199369": [32], "589631402773527": [32], "595681341596523": [32, 48], "615537076898013": [32], "626475972546369": [32, 48], "632243908286808": [32, 48], "639824119626438": [32], "645743921515803": [32], "648018730756195": [32], "654100189449365": [32, 48], "668365295793413": [32, 48], "670523964406925": [32], "671677182717796": [32, 48], "671759739945458": [32], "676515376899555": [32], "677670347980377": [32], "684837528099741": [32], "687895771489510": [32], "693758846688308": [32], "694523064126211": [32, 48], "697547171219962": [32, 48], "698360853391060": [32, 48], "698383699159430": [32, 48], "699304671955329": [32, 48], "703696716274708": [32, 48], "706932232475763": [32], "708449170262947": [32], "726292867622433": [32, 48], "726450649964317": [32], "727800693698567": [32], "728799639190186": [32], "734019394597526": [32, 48], "735119835330596": [32, 48], "737721455578775": [32, 48], "738543439712395": [32, 48], "741951415758063": [32], "748275069435017": [32, 48], "750168693442959": [32, 48], "763201112060730": [32, 48], "763669867104092": [32, 48], "763903450865190": [32, 48], "767121298622699": [32, 48], "767417571203746": [32, 48], "770436202573059": [32], "771683466150501": [32], "772051111454828": [32, 48], "772152509572841": [32, 48], "787291725467630": [32], "798319271383660": [32, 48], "802162977380527": [32], "806341566938246": [32], "813805466325024": [32, 48], "815570804752811": [32], "816564335333987": [32], "817024725405204": [32], "817504754626588": [32], "821706687072387": [32], "826077010431743": [32, 48], "828356750400476": [32, 48], "831736232379626": [32, 48], "843025850509368": [32, 48], "843740928711723": [32], "845050451776051": [32, 48], "852042280696332": [32, 48], "857912135260852": [32], "871829709114624": [32], "873254290207218": [32], "875246525542985": [32, 48], "889897273652095": [32], "894040289596463": [32], "897620767964532": [32], "904962988643425": [32, 48], "905308801557271": [32, 48], "906900833647951": [32, 48], "909442865612931": [32], "912697620927191": [32], "913789208155712": [32], "916185332282483": [32, 48], "917277762192278": [32, 48], "917334002968300": [32, 48], "919561883055202": [32], "920956096920505": [32, 48], "929046426661708": [32], "930950142910172": [32, 48], "933691189676382": [32, 48], "934117578798841": [32, 48], "936230738064974": [32, 48], "938188383682602": [32, 48], "941861412444067": [32, 48], "942726201014166": [32, 48], "945032973428091": [32, 48], "947084478373286": [32], "948779805509636": [32], "951217347666850": [32, 48], "955636489177710": [32], "961017555998937": [32, 48], "961314440978493": [32], "964218423186297": [32, 48], "968212926455014": [32], "968926587713112": [32], "969379511837489": [32], "972618046502811": [32, 48], "974637708612999": [32, 48], "980196796037373": [32], "980565419407507": [32, 48], "983225283458250": [32], "987541215674501": [32], "992940514834332": [32, 48], "996549857630112": [32, 48], "998926194132937": [32, 48], "1014496787753945": [32, 48], "1017704359447639": [32], "1020480845863237": [32], "1024292399670426": [32], "1024634573363382": [32, 48], "1028460419483054": [32, 48], "1033874047074353": [32, 48], "1035843403340873": [32], "1037163054983442": [32, 48], "1039558325527817": [32], "1045088944681707": [32, 48], "1045785088974313": [32], "1048574231977270": [32, 48], "1051002783372661": [32], "1056506578664023": [32, 48], "1057491059487351": [32, 48], "1059437143082343": [32], "1059853068042602": [32], "1060760398971021": [32, 48], "1061967838052170": [32, 48], "1066520357980609": [32, 48], "1069224019506529": [32], "1071759691375436": [32, 48], "1072369963153950": [32], "1080440645655398": [32, 48], "1083957482733017": [32], "1085596610204486": [32], "1086288713384900": [32, 48], "1088705827145973": [32], "1089204340626863": [32, 48], "1090298523330765": [32], "1090505634288396": [32, 48], "1093123453947031": [32, 48], "1093780160574614": [32, 48], "1094807962005299": [32, 48], "1096801323900100": [32], "1103535113750718": [32], "1105423537109674": [32], "1110277142974534": [32], "1113000955148039": [32], "1118646614510530": [32, 48], "1119281509125641": [32], "1119614160374606": [32, 48], "1120783033143617": [32], "1129279349995602": [32], "1130113935525204": [32, 48], "1130881986044393": [32], "1132820492214112": [32], "1144614443668767": [32, 48], "1147223276986948": [32], "1147680055727668": [32], "1158195764117399": [32], "1163159397520386": [32, 48], "1163303408022562": [32, 48], "1164535774717695": [32], "1174386415542665": [32, 48], "1182168703505980": [32, 48], "1186019430315229": [32], "1190006012882786": [32], "1191391064481088": [32, 48], "1200797929442729": [32, 48], "1203248128742846": [32], "1208460365112124": [32, 48], "1225631809302250": [32], "1234453656762891": [32, 48], "1234698668275227": [32, 48], "1237451114108962": [32], "1241245219164313": [32], "1241546710850109": [32], "1241668290204495": [32, 48], "1242418821754022": [32], "1243711623939695": [32, 48], "1244290020173228": [32], "1244346278691061": [32], "1245003263018464": [32, 48], "1250484435790357": [32, 48], "1256754510605581": [32, 48], "1264563878337445": [32, 48], "1269060350975578": [32], "1270154727600023": [32], "1271923497273997": [32], "1273115659423672": [32], "1280559509676354": [32, 48], "1282472909138162": [32, 48], "1285880210646676": [32], "1287498565406779": [32], "1291218968991828": [32], "1292246474868788": [32, 48], "1292487278268025": [32], "1296553378083571": [32, 48], "1300214247397513": [32, 48], "1311078551896352": [32, 48], "1311449533649890": [32], "1313826623773576": [32, 48], "1314579091305857": [32, 48], "1322276316890973": [32], "1325524051301607": [32, 48], "1332430917176015": [32, 48], "1332675238905364": [32, 48], "1334939013056183": [32, 48], "1337600826833551": [32, 48], "1339674524726757": [32, 48], "1341661245836409": [32, 48], "1341942310569850": [32, 48], "1344850241954264": [32, 48], "1348761416973437": [32], "1356904466129199": [32], "1369078449955986": [32], "1370039456672284": [32, 48], "1370854092951821": [32], "1372351037556570": [32, 48], "1376501003787476": [32], "1378471035008080": [32], "1383348406006914": [32, 48], "1387085462947589": [32], "1387385057191781": [32, 48], "1388584147493453": [32, 48], "1390384276015810": [32], "1396964107951550": [32, 48], "1401298565016323": [32, 48], "1407230822931784": [32], "1410486644494794": [32, 48], "1410786461048450": [32], "1414537954260326": [32], "1418743862991832": [32, 48], "1420081602859846": [32, 48], "1424366051167663": [32, 48], "1431140791675340": [32, 48], "1438960590550765": [32], "1443983103542619": [32], "1449677011803774": [32], "1457429906997387": [32, 48], "1458641089226597": [32], "1458716224614631": [32, 48], "1459144447544839": [32, 48], "1461511802747479": [32], "1465076638017898": [32, 48], "1465867789405739": [32], "1467827467674025": [32], "1468663744355213": [32, 48], "1476939334625119": [32, 48], "1480237325649862": [32, 48], "1481088686107013": [32, 48], "1483592564337201": [32], "1492314148312178": [32, 48], "1498457281550692": [32], "1499617447616390": [32], "1503853002568292": [32], "1504262319315651": [32, 48], "1505172916296130": [32, 48], "1513668920373911": [32], "1519648405600154": [32], "1520931632741619": [32], "1521780633605083": [32, 48], "1522237249746592": [32, 48], "1522582599941917": [32], "1523518586763814": [32], "1528071377900249": [32, 48], "1529728378502178": [32], "1531967467499308": [32], "1535306641925593": [32], "1535658178776979": [32], "1539307118095840": [32], "1546368847550532": [32, 48], "1548019688923957": [32], "1552083355029650": [32], "1555637141656241": [32, 48], "1555928090783844": [32], "1556284449775147": [32, 48], "1558324681023092": [32, 48], "1560969323307091": [32, 48], "1569318833056381": [32, 48], "1573222947937990": [32], "1584949879718000": [32], "1588978430427079": [32], "1591204462547614": [32, 48], "1598261363578814": [32], "1600688746972553": [32, 48], "1603093475242546": [32, 48], "1605199952752847": [32], "1617237167349710": [32, 48], "1618568234848372": [32], "1619286790649678": [32, 48], "1621192910003941": [32], "1622309948672121": [32, 48], "1628201100274523": [32, 48], "1632271494883561": [32], "1633815225207084": [32, 48], "1634399357702189": [32], "1637441524349088": [32], "1642637371934077": [32], "1643195637784435": [32], "1643598557356785": [32], "1645422696089427": [32], "1645673596073883": [32, 48], "1645866259200502": [32], "1648716913052297": [32, 48], "1652765950688817": [32, 48], "1654033476941478": [32], "1658743399661231": [32, 48], "1659819081077302": [32, 48], "1662433005161059": [32], "1666913529898081": [32, 48], "1679605700468270": [32, 48], "1679921198649960": [32, 48], "1680089532480362": [32, 48], "1683724693448022": [32], "1689682641477370": [32, 48], "1691706033392643": [32], "1696089597402537": [32], "1705950022227142": [32, 48], "1714068118984789": [32], "1717459770518422": [32, 48], "1718014979380734": [32], "1719690455811654": [32, 48], "1734728075132632": [32], "1739172733710985": [32], "1745324659468599": [32, 48], "1747303538361662": [32, 48], "1749145577098552": [32], "1750021468273833": [32], "1750530525839386": [32, 48], "1757623281396842": [32], "1758538630442116": [32], "1761579455667380": [32], "1762621869823670": [32, 48], "1766019454242846": [32], "1766154871452422": [32, 48], "1768074570558590": [32, 48], "1769506068128510": [32], "1770988073934927": [32], "1778201561133905": [32, 48], "1778315567513725": [32], "1780288814569870": [32, 48], "1781805678833298": [32, 48], "1786019351090790": [32], "1787025898307575": [32, 48], "1793358709247570": [32], "1801404378718274": [32, 48], "1802232213372715": [32, 48], "1804215890133513": [32, 48], "1808123394894591": [32], "1808805306365691": [32], "1810435102767883": [32], "1813163351446427": [32, 48], "1818925318022107": [32, 48], "1819091566970620": [32, 48], "1821246620845572": [32, 48], "1825289420275521": [32], "1829618500803507": [32], "1831822327838518": [32, 48], "1832408978761242": [32, 48], "1835694527640110": [32, 48], "1837046808494825": [32], "1840320929072049": [32, 48], "1842060817177608": [32, 48], "1844561134226776": [32], "4550472317399": [48], "13950946236093": [48], "18944997319943": [48], "23965553957178": [48], "39116644913079": [48], "45540178190062": [48], "47367865367011": [48], "50188964065828": [48], "71315379183989": [48], "76190207226452": [48], "76733150364607": [48], "101072116806558": [48], "117764718466551": [48], "126550040779683": [48], "131219583539670": [48], "135497977128744": [48], "138537198116911": [48], "144854809628393": [48], "154055696317370": [48], "159984546139167": [48], "173817709369233": [48], "186033286918724": [48], "189372881188038": [48], "194756913683551": [48], "196583081113717": [48], "197511952689884": [48], "220853041487844": [48], "220923489229742": [48], "235388211895357": [48], "244969519314153": [48], "256982811990450": [48], "266208269658242": [48], "307854560177526": [48], "308368577694671": [48], "312508185357838": [48], "328294702120808": [48], "333432074251696": [48], "337243852456192": [48], "337788124062930": [48], "338296399583721": [48], "341707613453589": [48], "349282729367235": [48], "360629153151276": [48], "364874268407945": [48], "370407120162642": [48], "370595193569972": [48], "371700279077049": [48], "381400955129871": [48], "385242214102144": [48], "394797505266453": [48], "401601210843243": [48], "411114364557568": [48], "413011122735307": [48], "423964724934678": [48], "426125170072817": [48], "431514229123485": [48], "437290714565213": [48], "444196295289556": [48], "444519598728863": [48], "479169447884417": [48], "499291264639906": [48], "502817538324491": [48], "514225777616243": [48], "517767750601700": [48], "528657857026586": [48], "531621018151405": [48], "531911437550984": [48], "551298730569376": [48], "553354665477159": [48], "560183238975729": [48], "565120453207608": [48], "584608245878528": [48], "597246199104774": [48], "598744731403748": [48], "600409846627222": [48], "618082707842705": [48], "622540719875971": [48], "623112432173232": [48], "623564286058606": [48], "629214339204581": [48], "630564503284386": [48], "635842404828277": [48], "636454008801855": [48], "637963474663087": [48], "651565303681692": [48], "658694830193748": [48], "659359272720991": [48], "670476914395432": [48], "681398943911705": [48], "687743951317806": [48], "693383660447783": [48], "698714184393962": [48], "699414001750549": [48], "702028024437135": [48], "702655743925993": [48], "712467878162751": [48], "715119064036805": [48], "717098217279451": [48], "720002464362774": [48], "727685109931740": [48], "727786563214130": [48], "732669904526146": [48], "734554562642182": [48], "736734785664407": [48], "738157827715680": [48], "755428520351338": [48], "760914553470842": [48], "766769547808498": [48], "772219237112224": [48], "773253991876737": [48], "773640117883594": [48], "778719831734053": [48], "788541066253130": [48], "792800620274218": [48], "793126364353395": [48], "801192084570519": [48], "801979719204052": [48], "806030682122869": [48], "826029246264765": [48], "833989830989481": [48], "842811510495576": [48], "850325922079257": [48], "852616072150159": [48], "869440701256868": [48], "871739984144307": [48], "873878962991102": [48], "885732713802105": [48], "900984329565111": [48], "923846800950923": [48], "927733683191258": [48], "931188320066855": [48], "934829751321026": [48], "941382244559733": [48], "948088536983824": [48], "950251614016922": [48], "953311674641424": [48], "965844189572501": [48], "974258465646756": [48], "986147003709405": [48], "987407484206883": [48], "995584120548026": [48], "1000937685539434": [48], "1013410477239192": [48], "1040756065933066": [48], "1051364708814767": [48], "1057829590018958": [48], "1059199927925541": [48], "1060460577561031": [48], "1062598334481497": [48], "1075576974119467": [48], "1076194665589715": [48], "1076307473155886": [48], "1092749687333011": [48], "1106831352465275": [48], "1127740241225995": [48], "1141800182705337": [48], "1141957433258847": [48], "1153321625273873": [48], "1154225306393882": [48], "1167323239732974": [48], "1171405306002670": [48], "1175414485855042": [48], "1177706510708587": [48], "1185081332506550": [48], "1187776202203922": [48], "1188893606724299": [48], "1197375422019658": [48], "1202982399470063": [48], "1216183572752189": [48], "1216349299615743": [48], "1217760228928876": [48], "1229437984652935": [48], "1232027701338500": [48], "1247153420491991": [48], "1258709409617632": [48], "1261831186742139": [48], "1278259882696625": [48], "1294492972700075": [48], "1300724144234399": [48], "1304554095644208": [48], "1306972413335965": [48], "1310819837267255": [48], "1310835683752449": [48], "1313445683077905": [48], "1320340005211507": [48], "1327738097851136": [48], "1338522631065263": [48], "1346444314218596": [48], "1351570661987737": [48], "1355274635861570": [48], "1358877729391906": [48], "1362862766300078": [48], "1367870608065681": [48], "1370746553808697": [48], "1371431531962106": [48], "1377792461855597": [48], "1400398296107299": [48], "1407177952341116": [48], "1414568563679456": [48], "1417984842495635": [48], "1423937616614171": [48], "1429198692194983": [48], "1432423484009425": [48], "1443327278633039": [48], "1450861996451357": [48], "1452845116328517": [48], "1455020177231177": [48], "1466391743844010": [48], "1470580811951805": [48], "1472835164326678": [48], "1480539429325015": [48], "1484226042988529": [48], "1492550216115797": [48], "1497353541354036": [48], "1499289039133439": [48], "1505096985478881": [48], "1507126472384732": [48], "1509264042384987": [48], "1514218641840864": [48], "1519203024139040": [48], "1523791718968068": [48], "1535451811798960": [48], "1537397570523640": [48], "1538118443000138": [48], "1545740833177405": [48], "1553692785951588": [48], "1554071056896812": [48], "1559450514209843": [48], "1561680258145617": [48], "1580482970750366": [48], "1588956381434551": [48], "1592943214430038": [48], "1596940098556068": [48], "1599643181368601": [48], "1600494020961221": [48], "1602101064988014": [48], "1608467868376532": [48], "1613230042071034": [48], "1620827732630844": [48], "1623966948730132": [48], "1624318503960075": [48], "1626639019435247": [48], "1638727302192255": [48], "1642353838656017": [48], "1643453621271585": [48], "1658104204669725": [48], "1662485779876221": [48], "1669812089421733": [48], "1682746046505721": [48], "1686298869637573": [48], "1688481990617362": [48], "1690389336617199": [48], "1691171280116985": [48], "1695663032921673": [48], "1699809983366070": [48], "1709048685481388": [48], "1712457316704754": [48], "1712827460605989": [48], "1719016742757524": [48], "1720716306077049": [48], "1731588874078275": [48], "1737929931793243": [48], "1742230705053471": [48], "1744646337710934": [48], "1750848466069991": [48], "1772504621686320": [48], "1793456012680375": [48], "1797142702056877": [48], "1797145955746037": [48], "1797367475778719": [48], "1800147823225056": [48], "1800236363852916": [48], "1800292312232821": [48], "1806220280793222": [48], "1808685369384027": [48], "1812018140268588": [48], "1832446933549908": [48], "1833926924520737": [48]}, "signatures_to_lineage": {"09a08691ce52952152f0e866a59f6261": 32, "38729c6374925585db28916b82a6f513": 48}, "signatures_to_name": {"09a08691ce52952152f0e866a59f6261": "NC_009665.1 Shewanella baltica OS185, complete genome", "38729c6374925585db28916b82a6f513": "NC_011663.1 Shewanella baltica OS223, complete genome"}} \ No newline at end of file diff --git a/tests/test-data/lca/classify-by-both.csv b/tests/test-data/lca/classify-by-both.csv index fa4f55dcfc..f003b730c2 100644 --- a/tests/test-data/lca/classify-by-both.csv +++ b/tests/test-data/lca/classify-by-both.csv @@ -1,21 +1,21 @@ -ID,status,superkingdom,phylum,class,order,family,genus,species -TARA_ANE_MAG_00011,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,,, -TARA_ANE_MAG_00015,found,Bacteria,Chloroflexi,Dehalococcoidetes,,,, -TARA_ANE_MAG_00041,found,Bacteria,Bacteroidetes,Flavobacteriia,Flavobacteriales,,, -TARA_ANE_MAG_00044,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,,, -TARA_ANE_MAG_00063,found,Archaea,Euryarchaeota,,,,, -TARA_ANE_MAG_00068,found,Bacteria,Candidatus_Marinimicrobia ,,,,, -TARA_ANE_MAG_00069,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,,, -TARA_ANW_MAG_00005,found,Bacteria,Proteobacteria,Gammaproteobacteria,,,, -TARA_ANW_MAG_00020,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rhodospirillales,Rhodospirillaceae,, -TARA_ANW_MAG_00034,found,Bacteria,Bacteroidetes,Flavobacteriia,Flavobacteriales,,, -TARA_ANW_MAG_00051,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,Pelagibacteraceae,, -TARA_ANW_MAG_00083,found,Eukaryota,Haptophyta,Prymnesiophyceae,Isochrysidales,Noelaerhabdaceae,Emiliania, -TARA_ANW_MAG_00084,found,Eukaryota,Cryptophyta,Cryptophyceae,Pyrenomonadales,Geminigeraceae,Guillardia, -TARA_ANW_MAG_00085,found,Eukaryota,Haptophyta,Prymnesiophyceae,Isochrysidales,Noelaerhabdaceae,Emiliania, -TARA_ASE_MAG_00007,found,Bacteria,Proteobacteria,Gammaproteobacteria,,,, -TARA_ASE_MAG_00009,found,Archaea,Euryarchaeota,,,,, -TARA_ASE_MAG_00015,found,Bacteria,Bacteroidetes,Flavobacteriia,Flavobacteriales,,, -TARA_ASE_MAG_00018,found,Archaea,Euryarchaeota,,,,, -TARA_ASE_MAG_00028,found,Bacteria,Planctomycetes,Planctomycetia,Planctomycetales,Planctomycetaceae,, -TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,Alteromonas,Alteromonas_macleodii +ID,status,superkingdom,phylum,class,order,family,genus,species,strain +TARA_ANE_MAG_00011,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,,,, +TARA_ANE_MAG_00015,found,Bacteria,Chloroflexi,Dehalococcoidetes,,,,, +TARA_ANE_MAG_00041,found,Bacteria,Bacteroidetes,Flavobacteriia,Flavobacteriales,,,, +TARA_ANE_MAG_00044,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,,,, +TARA_ANE_MAG_00063,found,Archaea,Euryarchaeota,,,,,, +TARA_ANE_MAG_00068,found,Bacteria,Candidatus_Marinimicrobia ,,,,,, +TARA_ANE_MAG_00069,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,,,, +TARA_ANW_MAG_00005,found,Bacteria,Proteobacteria,Gammaproteobacteria,,,,, +TARA_ANW_MAG_00020,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rhodospirillales,Rhodospirillaceae,,, +TARA_ANW_MAG_00034,found,Bacteria,Bacteroidetes,Flavobacteriia,Flavobacteriales,,,, +TARA_ANW_MAG_00051,found,Bacteria,Proteobacteria,Alphaproteobacteria,Rickettsiales,Pelagibacteraceae,,, +TARA_ANW_MAG_00083,found,Eukaryota,Haptophyta,Prymnesiophyceae,Isochrysidales,Noelaerhabdaceae,Emiliania,, +TARA_ANW_MAG_00084,found,Eukaryota,Cryptophyta,Cryptophyceae,Pyrenomonadales,Geminigeraceae,Guillardia,, +TARA_ANW_MAG_00085,found,Eukaryota,Haptophyta,Prymnesiophyceae,Isochrysidales,Noelaerhabdaceae,Emiliania,, +TARA_ASE_MAG_00007,found,Bacteria,Proteobacteria,Gammaproteobacteria,,,,, +TARA_ASE_MAG_00009,found,Archaea,Euryarchaeota,,,,,, +TARA_ASE_MAG_00015,found,Bacteria,Bacteroidetes,Flavobacteriia,Flavobacteriales,,,, +TARA_ASE_MAG_00018,found,Archaea,Euryarchaeota,,,,,, +TARA_ASE_MAG_00028,found,Bacteria,Planctomycetes,Planctomycetia,Planctomycetales,Planctomycetaceae,,, +TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,Alteromonas,Alteromonas_macleodii, diff --git a/tests/test_lca.py b/tests/test_lca.py index 917588077c..4b2272b8c9 100644 --- a/tests/test_lca.py +++ b/tests/test_lca.py @@ -170,7 +170,7 @@ def test_basic_index_and_classify_with_tsv_and_gz(): assert 'ID,status,superkingdom,phylum,class,order,family,genus,species' in out assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,Alteromonas,Alteromonas_macleodii' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_basic_index_and_classify(): @@ -203,7 +203,7 @@ def test_basic_index_and_classify(): assert 'ID,status,superkingdom,phylum,class,order,family,genus,species' in out assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,Alteromonas,Alteromonas_macleodii' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_index_traverse(): @@ -295,7 +295,7 @@ def test_single_classify(): assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,Alteromonas,Alteromonas_macleodii' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_single_classify_empty(): @@ -310,9 +310,9 @@ def test_single_classify_empty(): print(out) print(err) - assert 'data/GCF_000005845.2_ASM584v2_genomic.fna.gz,nomatch,,,,,,,' in out + assert 'data/GCF_000005845.2_ASM584v2_genomic.fna.gz,nomatch,,,,,,,,' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_single_classify_traverse(): @@ -333,7 +333,7 @@ def test_single_classify_traverse(): assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,Alteromonas,Alteromonas_macleodii' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_multi_query_classify_traverse(): @@ -421,7 +421,7 @@ def test_unassigned_internal_index_and_classify(): assert 'ID,status,superkingdom,phylum,class,order,family,genus,species' in out assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,unassigned,Alteromonadaceae,unassigned,Alteromonas_macleodii' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_unassigned_last_index_and_classify(): @@ -452,9 +452,9 @@ def test_unassigned_last_index_and_classify(): print(err) assert 'ID,status,superkingdom,phylum,class,order,family,genus,species' in out - assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,,\r\n' in out + assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,Alteromonadaceae,,,\r\n' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_index_and_classify_internal_unassigned_multi(): @@ -487,9 +487,9 @@ def test_index_and_classify_internal_unassigned_multi(): print(err) assert 'ID,status,superkingdom,phylum,class,order,family,genus,species' in out - assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,unassigned,unassigned,Alteromonadaceae,,\r\n' in out + assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,unassigned,unassigned,Alteromonadaceae,,,\r\n' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err # classify input_sig2 cmd = ['lca', 'classify', '--db', lca_db, '--query', input_sig2] @@ -500,9 +500,9 @@ def test_index_and_classify_internal_unassigned_multi(): print(err) assert 'ID,status,superkingdom,phylum,class,order,family,genus,species' in out - assert 'TARA_PSW_MAG_00136,found,Eukaryota,Chlorophyta,Prasinophyceae,unassigned,unassigned,Ostreococcus,\r\n' in out + assert 'TARA_PSW_MAG_00136,found,Eukaryota,Chlorophyta,Prasinophyceae,unassigned,unassigned,Ostreococcus,,\r\n' in out assert 'classified 1 signatures total' in err - assert 'loaded 1 databases' in err + assert 'loaded 1 LCA databases' in err def test_multi_db_classify(): @@ -519,9 +519,9 @@ def test_multi_db_classify(): print(err) assert 'ID,status,superkingdom,phylum,class,order,family,genus,species' in out - assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,,,' in out + assert 'TARA_ASE_MAG_00031,found,Bacteria,Proteobacteria,Gammaproteobacteria,Alteromonadales,,,,' in out assert 'classified 1 signatures total' in err - assert 'loaded 2 databases' in err + assert 'loaded 2 LCA databases' in err def test_classify_unknown_hashes(): @@ -719,6 +719,7 @@ def test_rankinfo_on_multi(): lines.remove('family: 695 (19.2%)') lines.remove('genus: 681 (18.8%)') lines.remove('species: 200 (5.5%)') + lines.remove('strain: 0 (0.0%)') assert not lines @@ -742,6 +743,7 @@ def test_rankinfo_on_single(): lines.remove('family: 695 (19.2%)') lines.remove('genus: 681 (18.8%)') lines.remove('species: 200 (5.5%)') + lines.remove('strain: 0 (0.0%)') assert not lines @@ -789,3 +791,77 @@ def test_compare_csv_real(): assert '13 incompatible at rank family' in err assert '0 incompatible at rank genus' in err assert '0 incompatible at rank species' in err + + +def test_single_gather(): + with utils.TempDirectory() as location: + db1 = utils.get_test_data('lca/delmont-1.lca.json') + input_sig = utils.get_test_data('lca/TARA_ASE_MAG_00031.sig') + in_dir = os.path.join(location, 'sigs') + os.mkdir(in_dir) + shutil.copyfile(input_sig, os.path.join(in_dir, 'q.sig')) + + cmd = ['lca', 'gather', input_sig, db1] + status, out, err = utils.runscript('sourmash', cmd) + + print(cmd) + print(out) + print(err) + + assert '2.0 Mbp 100.0% 100.0% Alteromonas_macleodii' in out + assert 'Query is completely assigned.' + + +def test_gather_unknown_hashes(): + with utils.TempDirectory() as location: + taxcsv = utils.get_test_data('lca-root/tax.csv') + input_sig1 = utils.get_test_data('lca-root/TARA_MED_MAG_00029.fa.sig') + input_sig2 = utils.get_test_data('lca-root/TOBG_MED-875.fna.gz.sig') + lca_db = os.path.join(location, 'lca-root.lca.json') + + cmd = ['lca', 'index', taxcsv, lca_db, input_sig2] + status, out, err = utils.runscript('sourmash', cmd) + + print(cmd) + print(out) + print(err) + + assert os.path.exists(lca_db) + + assert '...found 1 genomes with lineage assignments!!' in err + assert '1 assigned lineages out of 2 distinct lineages in spreadsheet' in err + + cmd = ['lca', 'gather', input_sig1, lca_db] + status, out, err = utils.runscript('sourmash', cmd) + + print(cmd) + print(out) + print(err) + + assert '270.0 kbp 11.5% 21.4% Archaea; family novelFamily_I' in out + assert '88.5% (2.1 Mbp) of hashes have no assignment.' in out + + +def test_gather_equiv_results(): + with utils.TempDirectory() as location: + query_sig = utils.get_test_data('47+63.fa.sig') + lca_db = utils.get_test_data('lca/47+63.lca.json') + + cmd = ['lca', 'gather', query_sig, lca_db, '-o', 'matches.csv'] + status, out, err = utils.runscript('sourmash', cmd, + in_directory=location) + + print(cmd) + print(out) + print(err) + + assert '2.7 Mbp 100.0%' in out + assert 'Shewanella baltica' in out + assert '(** 1 equal matches)' + assert ('OS223' in out) or ('OS185' in out) + + assert os.path.exists(lca_db) + + r = csv.DictReader(open(os.path.join(location, 'matches.csv'))) + row = next(r) + assert row['n_equal_matches'] == '1' diff --git a/tests/test_sourmash.py b/tests/test_sourmash.py index 52ecb5e424..b54c48ce40 100644 --- a/tests/test_sourmash.py +++ b/tests/test_sourmash.py @@ -2549,13 +2549,14 @@ def test_gather_metagenome_output_unassigned(): testdata2_glob = utils.get_test_data('gather/GCF_000009505.1*.sig') testdata2_sigs = glob.glob(testdata2_glob)[0] - cmd = 'gather {} {} -k 21'.format('unassigned.sig', testdata2_sigs) + cmd = 'gather {} {} {} -k 21'.format('unassigned.sig', testdata_sigs, testdata2_sigs) status, out, err = utils.runscript('sourmash', cmd.split(' '), in_directory=location) print(out) print(err) - assert '4.7 Mbp 32.1% 100.0% NC_011294.1 Salmonella enterica subsp...' in out + assert '4.9 Mbp 33.2% 100.0% NC_003198.1' not in out + assert '1.3 Mbp 13.6% 28.2% NC_011294.1 Salmonella enterica subsp...' in out def test_gather_metagenome_downsample():