diff --git a/.gitignore b/.gitignore index 183e206..4fa759b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,5 @@ /c_api/gpu/bin/ /tests/test /tests/gtest/ +/build/ faiss/python/swigfaiss_avx2.swig diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..31ef6b0 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,34 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) Launch", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build/demos/acorn", + "args": ["7119", "10", "../amazon/"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "description": "Set Disassembly Flavor to Intel", + "text": "-gdb-set disassembly-flavor intel", + "ignoreFailures": true + } + ], + "miDebuggerPath": "/usr/bin/gdb" // Add this line to specify the path to gdb + } + + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6269c37 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,76 @@ +{ + "files.associations": { + "cmath": "cpp", + "iostream": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "any": "cpp", + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "bitset": "cpp", + "chrono": "cpp", + "cinttypes": "cpp", + "codecvt": "cpp", + "compare": "cpp", + "concepts": "cpp", + "condition_variable": "cpp", + "csignal": "cpp", + "cstdint": "cpp", + "deque": "cpp", + "forward_list": "cpp", + "list": "cpp", + "map": "cpp", + "set": "cpp", + "string": "cpp", + "unordered_map": "cpp", + "unordered_set": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "ratio": "cpp", + "regex": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "future": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "iosfwd": "cpp", + "istream": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "numbers": "cpp", + "ostream": "cpp", + "semaphore": "cpp", + "span": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "stop_token": "cpp", + "streambuf": "cpp", + "thread": "cpp", + "typeinfo": "cpp", + "valarray": "cpp", + "variant": "cpp" + } +} \ No newline at end of file diff --git a/09-26-2024_amazon/MB16/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt b/09-26-2024_amazon/MB16/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt new file mode 100644 index 0000000..2057849 --- /dev/null +++ b/09-26-2024_amazon/MB16/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt @@ -0,0 +1,127 @@ +Start time: 14:56 +Max threads available: 8 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[3.616 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.010 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.012 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.45 (41445132) + 3. nb of reciprocal neighbors: 28.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.98 (38980189) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.17 (7748818) + 3. nb of reciprocal neighbors: 59.31 + 4. nb of neighbors that are also neighbor-of-neighbors: 118.97 (7424372) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 145.11 (566353) + 3. nb of reciprocal neighbors: 124.20 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.73 (564885) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.33 (30729) + 3. nb of reciprocal neighbors: 144.21 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.88 (30635) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.12 (226) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999918 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727387786.000 +[72.995 s] *** Done filter_ids_map 72.995 +[72.995 s] *** Start search 1727387859.000000 +[73.756 s] *** Search done. Query time: 0.760178 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[73.756 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.817 +[85.093 s] -----DONE----- diff --git a/09-26-2024_amazon/MB16/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12_M_beta=16.txt b/09-26-2024_amazon/MB16/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12_M_beta=16.txt new file mode 100644 index 0000000..9ac1d9e --- /dev/null +++ b/09-26-2024_amazon/MB16/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12_M_beta=16.txt @@ -0,0 +1,127 @@ +Start time: 15:00 +Max threads available: 8 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[3.967 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.007 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.008 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.45 (41445132) + 3. nb of reciprocal neighbors: 28.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.98 (38980189) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.17 (7748818) + 3. nb of reciprocal neighbors: 59.31 + 4. nb of neighbors that are also neighbor-of-neighbors: 118.97 (7424372) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 145.11 (566353) + 3. nb of reciprocal neighbors: 124.20 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.73 (564885) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.33 (30729) + 3. nb of reciprocal neighbors: 144.21 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.88 (30635) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.12 (226) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999918 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727388063.000 +[71.455 s] *** Done filter_ids_map 71.455 +[71.455 s] *** Start search 1727388134.000000 +[72.193 s] *** Search done. Query time: 0.738209 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[72.193 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.817 +[83.013 s] -----DONE----- diff --git a/09-26-2024_amazon/MB32/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt b/09-26-2024_amazon/MB32/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt new file mode 100644 index 0000000..cd2fc15 --- /dev/null +++ b/09-26-2024_amazon/MB32/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt @@ -0,0 +1,28 @@ +Start time: 14:52 +Max threads available: 8 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[3.632 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.010 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.011 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +terminate called after throwing an instance of 'faiss::FaissException' + what(): Error in faiss::FileIOReader::FileIOReader(const char*) at /home/haixu/ACORN/faiss/impl/io.cpp:67: Error: 'f' failed: could not open ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index for reading: No such file or directory diff --git a/09-26-2024_amazon/MB64/summary_amazon_n=1000000_gamma=12.txt b/09-26-2024_amazon/MB64/summary_amazon_n=1000000_gamma=12.txt new file mode 100644 index 0000000..4799c9d --- /dev/null +++ b/09-26-2024_amazon/MB64/summary_amazon_n=1000000_gamma=12.txt @@ -0,0 +1,142 @@ +Start time: 14:21 +Max threads available: 8 +Start time: 14:21 +Max threads available: 8 +Start time: 14:23 +Max threads available: 8 +[Config] N: 1000000, nq: 10, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[0.413 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.029 s] Loaded 10 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +Start time: 14:25 +Max threads available: 8 +[Config] N: 1000000, nq: 10, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[0.411 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.018 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.019 s] Loaded 10 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.79 (146791111) + 3. nb of reciprocal neighbors: 113.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145621160) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.49 (3107032) + 3. nb of reciprocal neighbors: 197.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.35 (3104773) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 150.17 (31536) + 3. nb of reciprocal neighbors: 149.82 + 4. nb of neighbors that are also neighbor-of-neighbors: 150.00 (31501) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999985 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727385944.000 +[3.776 s] *** Done filter_ids_map 3.776 +[3.776 s] *** Start search 1727385948.000000 +[3.803 s] *** Search done. Query time: 0.026980 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[3.803 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.950 +[41.694 s] -----DONE----- diff --git a/09-26-2024_amazon/MB64/summary_amazon_n=1000000_nq=100_gamma=12.txt b/09-26-2024_amazon/MB64/summary_amazon_n=1000000_nq=100_gamma=12.txt new file mode 100644 index 0000000..e9a3c08 --- /dev/null +++ b/09-26-2024_amazon/MB64/summary_amazon_n=1000000_nq=100_gamma=12.txt @@ -0,0 +1,106 @@ +Start time: 14:27 +Max threads available: 8 +[Config] N: 1000000, nq: 100, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[0.501 s] Loaded metadata, 100000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.010 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.010 s] Loaded 100 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.79 (146791111) + 3. nb of reciprocal neighbors: 113.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145621160) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.49 (3107032) + 3. nb of reciprocal neighbors: 197.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.35 (3104773) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 150.17 (31536) + 3. nb of reciprocal neighbors: 149.82 + 4. nb of neighbors that are also neighbor-of-neighbors: 150.00 (31501) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999985 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 100 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727386068.000 +[11.614 s] *** Done filter_ids_map 11.614 +[11.614 s] *** Start search 1727386079.000000 +[11.694 s] *** Search done. Query time: 0.079378 +config nq: 100 dis size:1000nns size:1000id map:100000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[11.694 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.925 +[47.785 s] -----DONE----- diff --git a/09-26-2024_amazon/MB64/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt b/09-26-2024_amazon/MB64/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt new file mode 100644 index 0000000..7bff154 --- /dev/null +++ b/09-26-2024_amazon/MB64/summary_amazon_n=1000000_nq=5000_efs=150_gamma=12.txt @@ -0,0 +1,106 @@ +Start time: 14:49 +Max threads available: 8 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[4.077 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.013 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.014 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.79 (146791111) + 3. nb of reciprocal neighbors: 113.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145621160) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.49 (3107032) + 3. nb of reciprocal neighbors: 197.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.35 (3104773) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 150.17 (31536) + 3. nb of reciprocal neighbors: 149.82 + 4. nb of neighbors that are also neighbor-of-neighbors: 150.00 (31501) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999985 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727387391.000 +[71.700 s] *** Done filter_ids_map 71.700 +[71.700 s] *** Start search 1727387463.000000 +[73.527 s] *** Search done. Query time: 1.826660 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[73.528 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.922 +[112.091 s] -----DONE----- diff --git a/09-26-2024_wikicohere/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt b/09-26-2024_wikicohere/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..eb34eb6 --- /dev/null +++ b/09-26-2024_wikicohere/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt @@ -0,0 +1,26 @@ +Start time: 21:12 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[143.026 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +Error: query vectors have different dimensionality (768) than base vectors (384) +[0.248 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.249 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + diff --git a/09-26-2024_wikicohere/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=16.txt b/09-26-2024_wikicohere/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..d847c7f --- /dev/null +++ b/09-26-2024_wikicohere/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=16.txt @@ -0,0 +1,275 @@ +Start time: 19:25 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[29.344 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +Error: query vectors have different dimensionality (768) than base vectors (384) +[0.120 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.122 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[26.545 s] Loaded base vectors from ../wikicohere//base.fbin +[26.545 s] Adding vectors to indexes +[649.108 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[18.116 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.82 (37816300) + 3. nb of reciprocal neighbors: 14.31 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31822122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.62 (6653105) + 3. nb of reciprocal neighbors: 19.26 + 4. nb of neighbors that are also neighbor-of-neighbors: 50.90 (3176299) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.79 (494876) + 3. nb of reciprocal neighbors: 81.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.71 (482831) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.76 (30610) + 3. nb of reciprocal neighbors: 143.59 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.51 (30557) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.56 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999865 nodes + level 1: 62402 nodes + level 2: 3903 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727404645.000 +[51.748 s] *** Done filter_ids_map 51.748 +[51.748 s] *** Start search 1727404697.000000 +[51.987 s] *** Search done. Query time: 0.238089 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[51.987 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.026 +[761.995 s] -----DONE----- +Start time: 21:25 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[44.339 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.158 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.159 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[29.876 s] Loaded base vectors from ../wikicohere//base.fbin +[29.876 s] Adding vectors to indexes +[403.745 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[23.029 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 39.18 (39184751) + 3. nb of reciprocal neighbors: 20.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 33.14 (33136542) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 54.27 (3386495) + 3. nb of reciprocal neighbors: 29.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 48.83 (3047163) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 75.15 (293293) + 3. nb of reciprocal neighbors: 71.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 74.63 (291293) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.46 (15007) + 3. nb of reciprocal neighbors: 70.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.31 (14976) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999776 nodes + level 1: 62399 nodes + level 2: 3902 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727411593.000 +[103.264 s] *** Done filter_ids_map 103.264 +[103.264 s] *** Start search 1727411697.000000 +[103.404 s] *** Search done. Query time: 0.139494 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[103.404 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.24663 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.50546 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.98386 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.06367 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 4 nn's (425&0): 503757 (1590,522,3226,494,1955,1926,731,0,22,332,263,627,657,1634,51,2,856,213,2830,879,757,272,2419,3836,221,216,3189,1177,846,3333,2015,3943,3347,8,1589,517,3656,1876,122,1311,3,371,2735,299,48,3567,1199,3549,118,11,2835,515,1844,19,425,1052,496,233,268,1423,314,1516,1731,1111,1463,1499,1769,1355 ) 581218 (3623,236,35,953,3405,1042,923,138,170,2630,1003,1267,851,2262,0,332,55,2839,147,840,2280,3256,237,1237,165,2273,504,2112,855,2755,1562,555,869,85,1128,1317,744,68,102,31,425,624,494,123,2784,962,69,3110,36,1059,447,11,1210,731,2,133,2336,6,2173,3496 ) 496650 (2735,3226,14,111,2981,721,31,373,85,0,1877,281,549,1721,595,2070,1,947,1596,3554,2722,425,11,327,43,3791,1398,1268,1193,1783,2242,285,119,90,302,35,233,786,1264,52 ) 963374 (1714,1596,788,1210,1142,826,41,214,1305,601,1193,1159,731,1680,960,136,1,551,143,20,607,0,440,2566,2096,1812,2342,164,3644,540,6,501,1113,474,1969,30,308,249,266,356,425,717,85,202,384,1194,719 ) 601608 (123,23,1450,714,448,3591,55,425,601,72,1894,213,857,731,1835,194,37,163,634,154,209,3049,555,0,1,51,2,85,513,1620,639,702,342,50,518,455,3,117,25,12,15,335 ) 342993 (344,359,69,1612,188,2488,946,295,469,92,14,80,1448,57,84,196,8,215,87,2809,85,513,16,221,1165,6,0,52,947,2214,442,217,231,3626,1340,622,1817,373,1189,570,152,1351,208,1851,288,3337,272,37,308,914,249,1282,156,251,1077,170,868,1663,264,348,375,187,933,2386,1158,1035,1006,211,723,15,138,301,1666,859,974,328,425,233,1305,1701,818,10,1329,417,1827,166,3478,1315,616,1020,102,766,178,714,66,1889,109,3532,771,2695,1215,1174,961,2600,311,123 ) 277903 (493,1839,425,1305,2413,1441,677,1673,85,150,681,873,1682,2251,214,372,1181,1119,123,798,933,2466,288,587,2475,207,1037,1869,98,783,2765,965,2419,657,311,3423,3122,7,788,0,328,344,960,290,119,1466,434 ) 131708 (1106,107,496,85,1213,3933,425,887,1839,263,1452,1132,435,2978,965,547,256,146,1305,80,624,37,6,139,1056,332,311,55,86,12,266,681,873,3,442,452,1048,1,163,436,136,2376,69,513,2075,233,0,2279,1158,1179,845,460,1181,534,58,403,647,565,825,5,372,44,27,520,51 ) 176268 (510,409,2463,840,160,2578,517,263,76,3621,55,311,3074,109,155,334,425,0,344,1805,12,1087,2160,85,57,123,913,375,22,1447,69,4,367,229,1566,16,3856,241,255,2283,625,3813,300,2573,1151,938,1495,45,3206,9,541,2870,531,3166,3234,207,98,1672,794,493,250,1673,1255,1835,744 ) 613608 (583,215,131,1381,361,1598,517,319,368,2978,889,0,114,3567,3621,57,332,123,1769,425,383,555,55,1305,631,1683,263,933,221,456,3110,69 ) + dis: 9.14637 8.97815 8.95104 8.90352 8.90089 8.89826 8.89628 8.85902 8.80992 8.80873 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.020 +[586.317 s] -----DONE----- diff --git a/09-26-2024_wikicohere/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=16.txt b/09-26-2024_wikicohere/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..c1df629 --- /dev/null +++ b/09-26-2024_wikicohere/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=16.txt @@ -0,0 +1,275 @@ +Start time: 19:38 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[46.457 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +Error: query vectors have different dimensionality (768) than base vectors (384) +[0.130 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.147 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[25.370 s] Loaded base vectors from ../wikicohere//base.fbin +[25.370 s] Adding vectors to indexes +[650.672 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[22.867 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727405452.000 +[84.280 s] *** Done filter_ids_map 84.280 +[84.280 s] *** Start search 1727405537.000000 +[84.777 s] *** Search done. Query time: 0.497522 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[84.778 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.026 +[818.826 s] -----DONE----- +Start time: 21:36 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[28.688 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.049 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.050 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[22.676 s] Loaded base vectors from ../wikicohere//base.fbin +[22.676 s] Adding vectors to indexes +[316.363 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[17.830 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 39.21 (39212851) + 3. nb of reciprocal neighbors: 20.26 + 4. nb of neighbors that are also neighbor-of-neighbors: 33.21 (33205084) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 54.38 (3393743) + 3. nb of reciprocal neighbors: 30.06 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.01 (3058577) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 75.11 (293162) + 3. nb of reciprocal neighbors: 71.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 74.58 (291075) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.49 (15012) + 3. nb of reciprocal neighbors: 70.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.30 (14974) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999679 nodes + level 1: 62398 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727412132.000 +[63.999 s] *** Done filter_ids_map 63.999 +[63.999 s] *** Start search 1727412196.000000 +[64.086 s] *** Search done. Query time: 0.087023 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[64.086 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.24663 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.50546 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.98386 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.06367 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 4 nn's (425&0): 503757 (1590,522,3226,494,1955,1926,731,0,22,332,263,627,657,1634,51,2,856,213,2830,879,757,272,2419,3836,221,216,3189,1177,846,3333,2015,3943,3347,8,1589,517,3656,1876,122,1311,3,371,2735,299,48,3567,1199,3549,118,11,2835,515,1844,19,425,1052,496,233,268,1423,314,1516,1731,1111,1463,1499,1769,1355 ) 581218 (3623,236,35,953,3405,1042,923,138,170,2630,1003,1267,851,2262,0,332,55,2839,147,840,2280,3256,237,1237,165,2273,504,2112,855,2755,1562,555,869,85,1128,1317,744,68,102,31,425,624,494,123,2784,962,69,3110,36,1059,447,11,1210,731,2,133,2336,6,2173,3496 ) 496650 (2735,3226,14,111,2981,721,31,373,85,0,1877,281,549,1721,595,2070,1,947,1596,3554,2722,425,11,327,43,3791,1398,1268,1193,1783,2242,285,119,90,302,35,233,786,1264,52 ) 963374 (1714,1596,788,1210,1142,826,41,214,1305,601,1193,1159,731,1680,960,136,1,551,143,20,607,0,440,2566,2096,1812,2342,164,3644,540,6,501,1113,474,1969,30,308,249,266,356,425,717,85,202,384,1194,719 ) 601608 (123,23,1450,714,448,3591,55,425,601,72,1894,213,857,731,1835,194,37,163,634,154,209,3049,555,0,1,51,2,85,513,1620,639,702,342,50,518,455,3,117,25,12,15,335 ) 277903 (493,1839,425,1305,2413,1441,677,1673,85,150,681,873,1682,2251,214,372,1181,1119,123,798,933,2466,288,587,2475,207,1037,1869,98,783,2765,965,2419,657,311,3423,3122,7,788,0,328,344,960,290,119,1466,434 ) 392495 (1736,698,624,98,1427,12,1723,378,123,412,111,1305,947,178,163,428,0,1005,285,425,1501,889,438,1434,722,709,787,1282,5,7,845,919,697,1521,155,583,1181,2025,1359,1613,3583,604,3503,6,2330,941,1548,521,58,467,649 ) 176268 (510,409,2463,840,160,2578,517,263,76,3621,55,311,3074,109,155,334,425,0,344,1805,12,1087,2160,85,57,123,913,375,22,1447,69,4,367,229,1566,16,3856,241,255,2283,625,3813,300,2573,1151,938,1495,45,3206,9,541,2870,531,3166,3234,207,98,1672,794,493,250,1673,1255,1835,744 ) 613608 (583,215,131,1381,361,1598,517,319,368,2978,889,0,114,3567,3621,57,332,123,1769,425,383,555,55,1305,631,1683,263,933,221,456,3110,69 ) 372487 (67,141,2168,11,889,1037,2339,1900,233,1264,114,1693,10,1462,1665,1596,407,81,3,2630,1013,14,2519,1305,383,1642,535,425,0,3853,2159,937,255,263,2279,3032,3322,1311,1443,497,85,3836,3737,3436,723,442,139,1587,1420,2968,323,911,1502,736,155,2123,1957,718,373,840,628,867,419,2097,91,242,217,914 ) + dis: 9.14637 8.97815 8.95104 8.90352 8.90089 8.89628 8.84882 8.80992 8.80873 8.78549 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.018 +[437.114 s] -----DONE----- diff --git a/09-26-2024_wikicohere/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=32.txt b/09-26-2024_wikicohere/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..85b2ac8 --- /dev/null +++ b/09-26-2024_wikicohere/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,251 @@ +Start time: 19:52 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[52.602 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +Error: query vectors have different dimensionality (768) than base vectors (384) +[0.187 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.188 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[21.681 s] Loaded base vectors from ../wikicohere//base.fbin +[21.681 s] Adding vectors to indexes +[1052.711 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[17.185 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.43 (76426462) + 3. nb of reciprocal neighbors: 32.13 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.47 (71465461) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.87 (4340167) + 3. nb of reciprocal neighbors: 86.48 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.93 (3935755) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.81 (165094) + 3. nb of reciprocal neighbors: 155.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.72 (165004) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999923 nodes + level 1: 31250 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727406718.000 +[81.328 s] *** Done filter_ids_map 81.328 +[81.328 s] *** Start search 1727406799.000000 +[81.439 s] *** Search done. Query time: 0.111497 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[81.440 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.144 +[1225.955 s] -----DONE----- +Start time: 21:43 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[50.713 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.119 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.120 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[35.313 s] Loaded base vectors from ../wikicohere//base.fbin +[35.313 s] Adding vectors to indexes +[519.339 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[14.519 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 59.85 (59845106) + 3. nb of reciprocal neighbors: 43.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.85 (55854996) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 77.82 (2432099) + 3. nb of reciprocal neighbors: 75.85 + 4. nb of neighbors that are also neighbor-of-neighbors: 77.07 (2408858) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 78.26 (76538) + 3. nb of reciprocal neighbors: 78.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 78.19 (76473) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.33 (684) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999877 nodes + level 1: 31253 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727412818.000 +[52.026 s] *** Done filter_ids_map 52.026 +[52.026 s] *** Start search 1727412870.000000 +[52.145 s] *** Search done. Query time: 0.119359 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[52.145 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.24663 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.50546 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.98386 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 665997 (859,578,1293,250,1685,109,2636,667,375,2917,1234,110,2137,1795,445,1673,1675,244,2890,2748,2040,281,72,413,985,122,1045,337,209,669,3054,913,1321,783,3584,182,2037,2521,0,323,58 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.06367 8.0422 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 4 nn's (425&0): 503757 (1590,522,3226,494,1955,1926,731,0,22,332,263,627,657,1634,51,2,856,213,2830,879,757,272,2419,3836,221,216,3189,1177,846,3333,2015,3943,3347,8,1589,517,3656,1876,122,1311,3,371,2735,299,48,3567,1199,3549,118,11,2835,515,1844,19,425,1052,496,233,268,1423,314,1516,1731,1111,1463,1499,1769,1355 ) 581218 (3623,236,35,953,3405,1042,923,138,170,2630,1003,1267,851,2262,0,332,55,2839,147,840,2280,3256,237,1237,165,2273,504,2112,855,2755,1562,555,869,85,1128,1317,744,68,102,31,425,624,494,123,2784,962,69,3110,36,1059,447,11,1210,731,2,133,2336,6,2173,3496 ) 769632 (3909,425,8,85,402,2935,624,1450,923,700,55,1851,947,193,2365,699,528,657,45,3642,123,1,163,525,273,519,1157,1318,601,394,23,430,2763,543,213,417,428,3946,201,2519,0,2,98,138,1228,447,744,3165,942,638,794,318,800,122,1462,1986,3458 ) 496650 (2735,3226,14,111,2981,721,31,373,85,0,1877,281,549,1721,595,2070,1,947,1596,3554,2722,425,11,327,43,3791,1398,1268,1193,1783,2242,285,119,90,302,35,233,786,1264,52 ) 963374 (1714,1596,788,1210,1142,826,41,214,1305,601,1193,1159,731,1680,960,136,1,551,143,20,607,0,440,2566,2096,1812,2342,164,3644,540,6,501,1113,474,1969,30,308,249,266,356,425,717,85,202,384,1194,719 ) 601608 (123,23,1450,714,448,3591,55,425,601,72,1894,213,857,731,1835,194,37,163,634,154,209,3049,555,0,1,51,2,85,513,1620,639,702,342,50,518,455,3,117,25,12,15,335 ) 342993 (344,359,69,1612,188,2488,946,295,469,92,14,80,1448,57,84,196,8,215,87,2809,85,513,16,221,1165,6,0,52,947,2214,442,217,231,3626,1340,622,1817,373,1189,570,152,1351,208,1851,288,3337,272,37,308,914,249,1282,156,251,1077,170,868,1663,264,348,375,187,933,2386,1158,1035,1006,211,723,15,138,301,1666,859,974,328,425,233,1305,1701,818,10,1329,417,1827,166,3478,1315,616,1020,102,766,178,714,66,1889,109,3532,771,2695,1215,1174,961,2600,311,123 ) 131708 (1106,107,496,85,1213,3933,425,887,1839,263,1452,1132,435,2978,965,547,256,146,1305,80,624,37,6,139,1056,332,311,55,86,12,266,681,873,3,442,452,1048,1,163,436,136,2376,69,513,2075,233,0,2279,1158,1179,845,460,1181,534,58,403,647,565,825,5,372,44,27,520,51 ) 392495 (1736,698,624,98,1427,12,1723,378,123,412,111,1305,947,178,163,428,0,1005,285,425,1501,889,438,1434,722,709,787,1282,5,7,845,919,697,1521,155,583,1181,2025,1359,1613,3583,604,3503,6,2330,941,1548,521,58,467,649 ) 209781 (769,14,496,233,1305,213,3247,425,319,1634,2608,2280,791,2239,79,403,243,2526,434,2592,2193,437,345,1282,1613,409,0,268,3599,11,3023,2884,1696 ) + dis: 9.14637 8.97815 8.95996 8.95104 8.90352 8.90089 8.89826 8.85902 8.84882 8.84124 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.018 +[648.968 s] -----DONE----- diff --git a/09-26-2024_wikicohere/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=32.txt b/09-26-2024_wikicohere/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..e776f4f --- /dev/null +++ b/09-26-2024_wikicohere/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1,251 @@ +Start time: 20:14 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[45.603 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +Error: query vectors have different dimensionality (768) than base vectors (384) +[0.141 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.143 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[30.616 s] Loaded base vectors from ../wikicohere//base.fbin +[30.616 s] Adding vectors to indexes +[1074.598 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[15.149 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727407997.000 +[76.737 s] *** Done filter_ids_map 76.737 +[76.737 s] *** Start search 1727408073.000000 +[76.947 s] *** Search done. Query time: 0.209473 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[76.947 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.140 +[1233.532 s] -----DONE----- +Start time: 21:55 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[42.448 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.116 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.117 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[26.257 s] Loaded base vectors from ../wikicohere//base.fbin +[26.257 s] Adding vectors to indexes +[523.322 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[16.270 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 59.86 (59855432) + 3. nb of reciprocal neighbors: 43.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.87 (55865202) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 77.79 (2431272) + 3. nb of reciprocal neighbors: 75.80 + 4. nb of neighbors that are also neighbor-of-neighbors: 77.03 (2407622) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 78.25 (76533) + 3. nb of reciprocal neighbors: 78.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 78.18 (76460) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.33 (684) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999897 nodes + level 1: 31253 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727413492.000 +[51.354 s] *** Done filter_ids_map 51.354 +[51.354 s] *** Start search 1727413544.000000 +[51.660 s] *** Search done. Query time: 0.305895 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[51.660 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.24663 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.50546 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.98386 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.06367 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 4 nn's (425&0): 503757 (1590,522,3226,494,1955,1926,731,0,22,332,263,627,657,1634,51,2,856,213,2830,879,757,272,2419,3836,221,216,3189,1177,846,3333,2015,3943,3347,8,1589,517,3656,1876,122,1311,3,371,2735,299,48,3567,1199,3549,118,11,2835,515,1844,19,425,1052,496,233,268,1423,314,1516,1731,1111,1463,1499,1769,1355 ) 581218 (3623,236,35,953,3405,1042,923,138,170,2630,1003,1267,851,2262,0,332,55,2839,147,840,2280,3256,237,1237,165,2273,504,2112,855,2755,1562,555,869,85,1128,1317,744,68,102,31,425,624,494,123,2784,962,69,3110,36,1059,447,11,1210,731,2,133,2336,6,2173,3496 ) 509077 (537,33,419,1850,898,5,3752,2639,2,495,128,236,425,717,2525,3189,957,834,1236,78,609,2360,271,2091,1672,3232,3595,14,13,0,440,1474,2747,104,2453,1513,41,113,233,1305,84,70,1701,2544,3248,3423,1473 ) 769632 (3909,425,8,85,402,2935,624,1450,923,700,55,1851,947,193,2365,699,528,657,45,3642,123,1,163,525,273,519,1157,1318,601,394,23,430,2763,543,213,417,428,3946,201,2519,0,2,98,138,1228,447,744,3165,942,638,794,318,800,122,1462,1986,3458 ) 496650 (2735,3226,14,111,2981,721,31,373,85,0,1877,281,549,1721,595,2070,1,947,1596,3554,2722,425,11,327,43,3791,1398,1268,1193,1783,2242,285,119,90,302,35,233,786,1264,52 ) 117005 (52,160,2479,431,1339,1161,343,2177,55,35,1447,425,803,335,133,123,1210,1063,0,1620,229,295,1743,165,2283,539,11,158,2427,368,1136,1151,62,1237,298,1,721,31,3989,1195,242,2457,895,717,5,836,1122,1107 ) 963374 (1714,1596,788,1210,1142,826,41,214,1305,601,1193,1159,731,1680,960,136,1,551,143,20,607,0,440,2566,2096,1812,2342,164,3644,540,6,501,1113,474,1969,30,308,249,266,356,425,717,85,202,384,1194,719 ) 695859 (45,234,229,173,3413,1237,1142,1042,393,3797,1195,311,105,3922,1426,0,2457,3,208,1074,2108,877,8,236,3405,1,344,1122,895,3781,2098,41,160,2270,1417,256,368,1136,1368,840,1841,470,1559,425,2185,3108 ) 601608 (123,23,1450,714,448,3591,55,425,601,72,1894,213,857,731,1835,194,37,163,634,154,209,3049,555,0,1,51,2,85,513,1620,639,702,342,50,518,455,3,117,25,12,15,335 ) 342993 (344,359,69,1612,188,2488,946,295,469,92,14,80,1448,57,84,196,8,215,87,2809,85,513,16,221,1165,6,0,52,947,2214,442,217,231,3626,1340,622,1817,373,1189,570,152,1351,208,1851,288,3337,272,37,308,914,249,1282,156,251,1077,170,868,1663,264,348,375,187,933,2386,1158,1035,1006,211,723,15,138,301,1666,859,974,328,425,233,1305,1701,818,10,1329,417,1827,166,3478,1315,616,1020,102,766,178,714,66,1889,109,3532,771,2695,1215,1174,961,2600,311,123 ) + dis: 9.14637 8.97815 8.96931 8.95996 8.95104 8.91304 8.90352 8.90119 8.90089 8.89826 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.018 +[646.524 s] -----DONE----- diff --git a/09-26-2024_wikicohere/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=64.txt b/09-26-2024_wikicohere/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..718718f --- /dev/null +++ b/09-26-2024_wikicohere/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1,233 @@ +Start time: 20:35 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[28.815 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +Error: query vectors have different dimensionality (768) than base vectors (384) +[0.149 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.151 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[18.301 s] Loaded base vectors from ../wikicohere//base.fbin +[18.301 s] Adding vectors to indexes +[1966.352 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[18.513 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727410173.000 +[47.061 s] *** Done filter_ids_map 47.061 +[47.061 s] *** Start search 1727410220.000000 +[47.520 s] *** Search done. Query time: 0.458669 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[47.520 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.144 +[2099.098 s] -----DONE----- +Start time: 22:06 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[42.670 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.106 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.108 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[25.365 s] Loaded base vectors from ../wikicohere//base.fbin +[25.365 s] Adding vectors to indexes +[964.217 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[15.613 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 71.91 (71905599) + 3. nb of reciprocal neighbors: 64.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 69.60 (69603853) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 79.79 (1248971) + 3. nb of reciprocal neighbors: 79.69 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.10 (1238205) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.90 (15100) + 3. nb of reciprocal neighbors: 71.90 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.90 (15100) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999905 nodes + level 1: 15652 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727414627.000 +[61.837 s] *** Done filter_ids_map 61.837 +[61.837 s] *** Start search 1727414688.000000 +[62.046 s] *** Search done. Query time: 0.209161 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[62.046 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.99071 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.46938 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.78043 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.00473 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 4 nn's (425&0): 503757 (1590,522,3226,494,1955,1926,731,0,22,332,263,627,657,1634,51,2,856,213,2830,879,757,272,2419,3836,221,216,3189,1177,846,3333,2015,3943,3347,8,1589,517,3656,1876,122,1311,3,371,2735,299,48,3567,1199,3549,118,11,2835,515,1844,19,425,1052,496,233,268,1423,314,1516,1731,1111,1463,1499,1769,1355 ) 581218 (3623,236,35,953,3405,1042,923,138,170,2630,1003,1267,851,2262,0,332,55,2839,147,840,2280,3256,237,1237,165,2273,504,2112,855,2755,1562,555,869,85,1128,1317,744,68,102,31,425,624,494,123,2784,962,69,3110,36,1059,447,11,1210,731,2,133,2336,6,2173,3496 ) 509077 (537,33,419,1850,898,5,3752,2639,2,495,128,236,425,717,2525,3189,957,834,1236,78,609,2360,271,2091,1672,3232,3595,14,13,0,440,1474,2747,104,2453,1513,41,113,233,1305,84,70,1701,2544,3248,3423,1473 ) 769632 (3909,425,8,85,402,2935,624,1450,923,700,55,1851,947,193,2365,699,528,657,45,3642,123,1,163,525,273,519,1157,1318,601,394,23,430,2763,543,213,417,428,3946,201,2519,0,2,98,138,1228,447,744,3165,942,638,794,318,800,122,1462,1986,3458 ) 496650 (2735,3226,14,111,2981,721,31,373,85,0,1877,281,549,1721,595,2070,1,947,1596,3554,2722,425,11,327,43,3791,1398,1268,1193,1783,2242,285,119,90,302,35,233,786,1264,52 ) 117005 (52,160,2479,431,1339,1161,343,2177,55,35,1447,425,803,335,133,123,1210,1063,0,1620,229,295,1743,165,2283,539,11,158,2427,368,1136,1151,62,1237,298,1,721,31,3989,1195,242,2457,895,717,5,836,1122,1107 ) 963374 (1714,1596,788,1210,1142,826,41,214,1305,601,1193,1159,731,1680,960,136,1,551,143,20,607,0,440,2566,2096,1812,2342,164,3644,540,6,501,1113,474,1969,30,308,249,266,356,425,717,85,202,384,1194,719 ) 601608 (123,23,1450,714,448,3591,55,425,601,72,1894,213,857,731,1835,194,37,163,634,154,209,3049,555,0,1,51,2,85,513,1620,639,702,342,50,518,455,3,117,25,12,15,335 ) 342993 (344,359,69,1612,188,2488,946,295,469,92,14,80,1448,57,84,196,8,215,87,2809,85,513,16,221,1165,6,0,52,947,2214,442,217,231,3626,1340,622,1817,373,1189,570,152,1351,208,1851,288,3337,272,37,308,914,249,1282,156,251,1077,170,868,1663,264,348,375,187,933,2386,1158,1035,1006,211,723,15,138,301,1666,859,974,328,425,233,1305,1701,818,10,1329,417,1827,166,3478,1315,616,1020,102,766,178,714,66,1889,109,3532,771,2695,1215,1174,961,2600,311,123 ) 392495 (1736,698,624,98,1427,12,1723,378,123,412,111,1305,947,178,163,428,0,1005,285,425,1501,889,438,1434,722,709,787,1282,5,7,845,919,697,1521,155,583,1181,2025,1359,1613,3583,604,3503,6,2330,941,1548,521,58,467,649 ) + dis: 9.14637 8.97815 8.96931 8.95996 8.95104 8.91304 8.90352 8.90089 8.89826 8.84882 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.020 +[1102.081 s] -----DONE----- diff --git a/09-26-2024_wikicohere/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=64.txt b/09-26-2024_wikicohere/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..a843215 --- /dev/null +++ b/09-26-2024_wikicohere/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1,148 @@ +Start time: 21:11 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[48.930 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +Error: query vectors have different dimensionality (768) than base vectors (384) +[0.146 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.147 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +Start time: 22:25 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[46.848 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.119 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.121 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[33.778 s] Loaded base vectors from ../wikicohere//base.fbin +[33.778 s] Adding vectors to indexes +[981.267 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[22.371 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 71.90 (71902211) + 3. nb of reciprocal neighbors: 64.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 69.59 (69587523) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 79.80 (1249070) + 3. nb of reciprocal neighbors: 79.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.09 (1237937) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 72.12 (15146) + 3. nb of reciprocal neighbors: 72.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.12 (15146) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15649 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727415780.000 +[60.145 s] *** Done filter_ids_map 60.145 +[60.145 s] *** Start search 1727415840.000000 +[60.276 s] *** Search done. Query time: 0.130473 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[60.276 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.99071 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.46938 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 7.78043 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 8.00473 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 -3.40282e+38 +query 4 nn's (425&0): 503757 (1590,522,3226,494,1955,1926,731,0,22,332,263,627,657,1634,51,2,856,213,2830,879,757,272,2419,3836,221,216,3189,1177,846,3333,2015,3943,3347,8,1589,517,3656,1876,122,1311,3,371,2735,299,48,3567,1199,3549,118,11,2835,515,1844,19,425,1052,496,233,268,1423,314,1516,1731,1111,1463,1499,1769,1355 ) 581218 (3623,236,35,953,3405,1042,923,138,170,2630,1003,1267,851,2262,0,332,55,2839,147,840,2280,3256,237,1237,165,2273,504,2112,855,2755,1562,555,869,85,1128,1317,744,68,102,31,425,624,494,123,2784,962,69,3110,36,1059,447,11,1210,731,2,133,2336,6,2173,3496 ) 769632 (3909,425,8,85,402,2935,624,1450,923,700,55,1851,947,193,2365,699,528,657,45,3642,123,1,163,525,273,519,1157,1318,601,394,23,430,2763,543,213,417,428,3946,201,2519,0,2,98,138,1228,447,744,3165,942,638,794,318,800,122,1462,1986,3458 ) 496650 (2735,3226,14,111,2981,721,31,373,85,0,1877,281,549,1721,595,2070,1,947,1596,3554,2722,425,11,327,43,3791,1398,1268,1193,1783,2242,285,119,90,302,35,233,786,1264,52 ) 117005 (52,160,2479,431,1339,1161,343,2177,55,35,1447,425,803,335,133,123,1210,1063,0,1620,229,295,1743,165,2283,539,11,158,2427,368,1136,1151,62,1237,298,1,721,31,3989,1195,242,2457,895,717,5,836,1122,1107 ) 963374 (1714,1596,788,1210,1142,826,41,214,1305,601,1193,1159,731,1680,960,136,1,551,143,20,607,0,440,2566,2096,1812,2342,164,3644,540,6,501,1113,474,1969,30,308,249,266,356,425,717,85,202,384,1194,719 ) 601608 (123,23,1450,714,448,3591,55,425,601,72,1894,213,857,731,1835,194,37,163,634,154,209,3049,555,0,1,51,2,85,513,1620,639,702,342,50,518,455,3,117,25,12,15,335 ) 342993 (344,359,69,1612,188,2488,946,295,469,92,14,80,1448,57,84,196,8,215,87,2809,85,513,16,221,1165,6,0,52,947,2214,442,217,231,3626,1340,622,1817,373,1189,570,152,1351,208,1851,288,3337,272,37,308,914,249,1282,156,251,1077,170,868,1663,264,348,375,187,933,2386,1158,1035,1006,211,723,15,138,301,1666,859,974,328,425,233,1305,1701,818,10,1329,417,1827,166,3478,1315,616,1020,102,766,178,714,66,1889,109,3532,771,2695,1215,1174,961,2600,311,123 ) 277903 (493,1839,425,1305,2413,1441,677,1673,85,150,681,873,1682,2251,214,372,1181,1119,123,798,933,2466,288,587,2475,207,1037,1869,98,783,2765,965,2419,657,311,3423,3122,7,788,0,328,344,960,290,119,1466,434 ) 209781 (769,14,496,233,1305,213,3247,425,319,1634,2608,2280,791,2239,79,403,243,2526,434,2592,2193,437,345,1282,1613,409,0,268,3599,11,3023,2884,1696 ) + dis: 9.14637 8.97815 8.95996 8.95104 8.91304 8.90352 8.90089 8.89826 8.89628 8.84124 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.020 +[1126.914 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..ea9eb2e --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt @@ -0,0 +1,555 @@ +Start time: 11:37 +Max threads available: 64 +[Config] N: 1000000, nq: 10, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[0.358 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 10 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.558 s] Loaded base vectors from ../amazon//base.fbin +[2.558 s] Adding vectors to indexes +[46.110 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.288 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.75 (40754158) + 3. nb of reciprocal neighbors: 25.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 37.85 (37851496) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 56.68 (3537177) + 3. nb of reciprocal neighbors: 34.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 51.73 (3227935) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 75.86 (296066) + 3. nb of reciprocal neighbors: 72.26 + 4. nb of neighbors that are also neighbor-of-neighbors: 75.27 (293762) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.40 (14995) + 3. nb of reciprocal neighbors: 70.41 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.02 (14915) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999114 nodes + level 1: 62378 nodes + level 2: 3898 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727462313.000 +[1.354 s] *** Done filter_ids_map 0.801 +[1.354 s] *** Start search 1727462314.000000 +[1.369 s] *** Search done. Query time: 0.014584 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[1.369 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.875454 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 462904 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 797462 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.860469 0.866668 0.872413 0.875454 0.878698 0.886692 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 462904 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 797462 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.860469 0.866668 0.872413 0.875454 0.878698 0.886692 +GT Filename: ../amazon/gt_1m.bin.txt +Error opening ground truth file ../amazon/gt_1m.bin.txt +[50.373 s] -----DONE----- +Start time: 11:43 +Max threads available: 64 +[Config] N: 1000000, nq: 10, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[0.331 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.025 s] Loaded 10 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[1.973 s] Loaded base vectors from ../amazon//base.fbin +[1.973 s] Adding vectors to indexes +[47.304 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.413 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.75 (40747790) + 3. nb of reciprocal neighbors: 25.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 37.84 (37836943) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 56.86 (3548047) + 3. nb of reciprocal neighbors: 35.06 + 4. nb of neighbors that are also neighbor-of-neighbors: 52.01 (3245838) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 75.76 (295700) + 3. nb of reciprocal neighbors: 72.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 75.20 (293513) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.41 (14997) + 3. nb of reciprocal neighbors: 70.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.00 (14911) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999100 nodes + level 1: 62379 nodes + level 2: 3898 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727462635.000 +[1.400 s] *** Done filter_ids_map 0.856 +[1.400 s] *** Start search 1727462636.000000 +[1.413 s] *** Search done. Query time: 0.012936 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[1.414 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 462904 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 797462 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.813061 0.826604 0.843287 0.858033 0.860469 0.866668 0.875454 0.877067 0.878698 0.886692 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 17252 (BRAND=LADStudio,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 506220 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 515810 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 165249 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 825598 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 172842 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 240996 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 460435 (BRAND=BKRGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.890296 0.902555 0.904858 0.909263 0.910841 0.93386 0.941141 0.943533 0.94813 0.949383 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.660 +[52.684 s] -----DONE----- +Start time: 12:45 +Max threads available: 64 +[Config] N: 1000000, nq: 10, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[0.349 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.023 s] Loaded 10 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.306 s] Loaded base vectors from ../amazon//base.fbin +[2.306 s] Adding vectors to indexes +[79.264 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.183 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458064) + 3. nb of reciprocal neighbors: 28.02 + 4. nb of neighbors that are also neighbor-of-neighbors: 39.00 (38999818) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.83 (7789991) + 3. nb of reciprocal neighbors: 60.78 + 4. nb of neighbors that are also neighbor-of-neighbors: 120.02 (7489852) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.23 (578537) + 3. nb of reciprocal neighbors: 122.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.90 (577247) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.81 (30620) + 3. nb of reciprocal neighbors: 143.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.34 (30521) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.12 (226) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999447 nodes + level 1: 62396 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727466396.000 +[1.637 s] *** Done filter_ids_map 1.164 +[1.637 s] *** Start search 1727466398.000000 +[1.662 s] *** Search done. Query time: 0.024564 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[1.662 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872973 0.875454 0.877067 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.810 +[84.043 s] -----DONE----- +Start time: 13:35 +Max threads available: 64 +[Config] N: 1000000, nq: 10, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[0.669 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.071 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.072 s] Loaded 10 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[3.125 s] Loaded base vectors from ../amazon//base.fbin +[3.125 s] Adding vectors to indexes +[153.161 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[3.104 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.44 (41443346) + 3. nb of reciprocal neighbors: 28.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.98 (38975787) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.61 (7776045) + 3. nb of reciprocal neighbors: 60.36 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.81 (7476302) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 147.87 (577124) + 3. nb of reciprocal neighbors: 122.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.52 (575777) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.26 (30714) + 3. nb of reciprocal neighbors: 144.21 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.90 (30640) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.12 (226) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999530 nodes + level 1: 62396 nodes + level 2: 3903 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727469472.000 +[2.697 s] *** Done filter_ids_map 1.343 +[2.697 s] *** Start search 1727469475.000000 +[2.776 s] *** Search done. Query time: 0.079255 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[2.777 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 0.908578 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Error opening ground truth file ../amazon/gt_1M.bin.txt +[163.805 s] -----DONE----- +Start time: 17:29 +Start time: 20:39 +Start time: 20:53 +Start time: 21:08 +Start time: 21:11 diff --git a/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..f114045 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 21:11 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.883 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.018 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727496672.000 +[378.030 s] *** Done Query 375.165 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[378.030 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 823173 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 834954 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 673455 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 141508 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 174285 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 820847 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 199117 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=2) 829387 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.901182 0.943421 0.969713 0.973311 1.00312 1.07538 1.09536 1.10321 1.13607 1.147 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 462904 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 797462 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.860469 0.872413 0.875454 0.878698 0.886692 0.890296 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 33296 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 155867 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 696390 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 50953 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 128946 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 303322 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 920628 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 883952 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 861370 (BRAND=PNPGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.912508 0.91376 0.925422 0.939252 0.943901 0.962728 0.974426 0.974879 0.980917 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 823173 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 834954 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 673455 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 141508 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 174285 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 820847 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 199117 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=2) 829387 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.901182 0.943421 0.969713 0.973311 1.00312 1.07538 1.09536 1.10321 1.13607 1.147 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 462904 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 797462 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.860469 0.872413 0.875454 0.878698 0.886692 0.890296 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.311 +[389.856 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..1720ceb --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 21:35 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.680 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727498158.000 +[383.803 s] *** Done Query 380.797 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[383.803 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.810 +[395.842 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..9b82eea --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 21:17 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.787 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727497064.000 +[362.826 s] *** Done Query 360.292 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[362.826 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 240996 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 460435 (BRAND=BKRGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 823173 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 241509 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 816349 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 834954 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 725533 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 673455 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.901182 0.943421 0.94813 0.949383 0.969713 0.971911 0.972729 0.973311 1.0026 1.00312 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 0.877067 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 33296 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 155867 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 696390 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 50953 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 755329 (BRAND=RideinStyle,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 128946 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 303322 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 646739 (BRAND=JBPrint,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.909263 0.912508 0.91376 0.925422 0.939252 0.939704 0.943901 0.962728 0.97213 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 240996 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 460435 (BRAND=BKRGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 823173 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 241509 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 816349 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 834954 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 725533 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 673455 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.901182 0.943421 0.94813 0.949383 0.969713 0.971911 0.972729 0.973311 1.0026 1.00312 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 0.877067 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.461 +[375.088 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..e8c8591 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 21:23 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.909 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.026 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727497440.000 +[366.058 s] *** Done Query 363.508 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[366.059 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 506220 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 515810 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 165249 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 825598 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 172842 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 240996 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 460435 (BRAND=BKRGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.890296 0.901182 0.904858 0.910841 0.93386 0.941141 0.943421 0.943533 0.94813 0.949383 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 447454 (BRAND=JenuineCrafts,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 33296 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.843287 0.860469 0.893332 0.893466 0.89625 0.908578 0.909263 0.910413 0.912508 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 506220 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 515810 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 165249 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 825598 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 172842 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 240996 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 460435 (BRAND=BKRGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.890296 0.901182 0.904858 0.910841 0.93386 0.941141 0.943421 0.943533 0.94813 0.949383 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.605 +[378.232 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..64c99f9 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 21:30 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.853 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.026 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727497820.000 +[324.815 s] *** Done Query 322.041 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[324.815 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.734 +[336.872 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..d1710ad --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt @@ -0,0 +1,7 @@ +Start time: 09:59 +Start time: 10:00 +Start time: 10:02 +Start time: 10:43 +Start time: 18:39 +Start time: 21:11 +Start time: 21:56 diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=10_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=10_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..2f00836 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=10_gamma=1_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 09:59 +[Config] N: 1000000, nq: 10, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.821 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.016 s] Loaded 10 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 10 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 36.73 (36728014) + 3. nb of reciprocal neighbors: 11.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 30.65 (30645015) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 44.05 (2749047) + 3. nb of reciprocal neighbors: 9.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.78 (922125) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 60.70 (236927) + 3. nb of reciprocal neighbors: 45.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.76 (217612) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.28 (14968) + 3. nb of reciprocal neighbors: 70.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.16 (14944) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999152 nodes + level 1: 62395 nodes + level 2: 3901 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727456370.000 +[5.379 s] *** Done filter_ids_map 5.379 +[5.379 s] *** Start search 1727456375.000000 +[5.391 s] *** Search done. Query time: 0.011752 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[5.391 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) 882233 (0,399,425,611,2866,321,411,82,121,129,23,2230,433,36,1438,550,112,634,1727,1206,1354,727,826,1554,109,1319,236,1367 ) 475214 (115,3582,842,1,7,2776,112,1438,41,214,81,2114,2007,708,1604,272,233,1083,1846,1701,177,576,3090,4,425,122,251,2577,1327,347,3839,1013,1544,1777,0,21 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 168.472 177.194 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.000 +[15.143 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=20_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=20_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..170f528 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=10_efs=20_gamma=1_M_beta=16.txt @@ -0,0 +1,3 @@ +Start time: 09:59 +[Config] N: 1000000, nq: 10, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..5632967 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt @@ -0,0 +1,26 @@ +Start time: 21:56 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[15.111 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.027 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.027 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..669e3da --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt @@ -0,0 +1,124 @@ +Start time: 21:44 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.285 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.025 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.026 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727498709.000 +[458.503 s] *** Done Query 452.155 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[458.503 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[477.320 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..e92195b --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt @@ -0,0 +1,124 @@ +Start time: 21:20 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.658 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.033 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.033 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727497229.000 +[482.446 s] *** Done Query 475.958 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[482.446 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[501.799 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..b6f0747 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt @@ -0,0 +1,124 @@ +Start time: 21:28 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.973 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727497737.000 +[476.675 s] *** Done Query 469.435 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[476.675 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[496.495 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..4a26fc5 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt @@ -0,0 +1,124 @@ +Start time: 21:36 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.505 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.031 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.032 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727498238.000 +[447.195 s] *** Done Query 440.420 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[447.195 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[466.389 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..a647784 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=16.txt @@ -0,0 +1,137 @@ +Start time: 09:19 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.089 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[4.378 s] Loaded base vectors from ../wikicohere//base.fbin +[4.378 s] Adding vectors to indexes +[70.064 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[4.367 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 36.73 (36726818) + 3. nb of reciprocal neighbors: 11.15 + 4. nb of neighbors that are also neighbor-of-neighbors: 30.65 (30652430) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 44.22 (2759755) + 3. nb of reciprocal neighbors: 9.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.98 (934714) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 60.74 (237078) + 3. nb of reciprocal neighbors: 45.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.81 (217821) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.16 (14944) + 3. nb of reciprocal neighbors: 70.51 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.02 (14915) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999202 nodes + level 1: 62390 nodes + level 2: 3899 nodes + level 3: 207 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727454046.000 +[8.675 s] *** Done filter_ids_map 8.675 +[8.675 s] *** Start search 1727454055.000000 +[8.687 s] *** Search done. Query time: 0.011929 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.687 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 648799 (2977,272,2414,2459,1698,41,1894,3582,3238,184,2199,1742,914,726,209,110,1362,2478,1011,1155,514,3317,2155,3145,1674,318,5,1536,255,1438,1521,1288,1259,0,1,2815,619,3609,3649,420,305,1738,89,674,570,26,425,1058,190,567,1579,130,46,108,102,1194,1007,1745,968,161,1644,173,1167,2587,3618,3376,2848,1716,951,1193,1216,2230,501,414,482,174,1563,152 ) 318182 (1685,2313,11,611,660,267,112,1438,166,1731,1328,464,130,27,331,1249,253,6,837,878,748,1354,1246,1412,950,1983,52,3361,1798,2230,304,16,2102,2648,172,498,44,10,499,251,570,125,3470,726,257,1742,340,995,666,1826,1901,705,475,129,2268,3791,888,205,585,768,613,2736,1100,817,2223,820,425,784,183,199,2030,1883,2459,1349,2491,28,1995,3692,81,272,885,526,1644,29,2065,1259,1593,1306,1816,1021,2768,3577,1204,678,2105,909,0,1231,2178,15,85,1171,2216,2919,1652,14,2676,214,3190,71,114,93,775,305,2060,231,1608,845,21,309,1285,2515,19,1845,1940,2806,2966,2310,269,675,3491,2518,1723,3774,2863 ) 360947 (1068,1,1673,154,1565,2685,2634,995,167,112,2116,332,272,1597,1224,82,2230,570,2882,1405,1745,3548,52,8,3484,202,2785,1837,425,19,175,1568,853,268,1995,129,314,2079,134,0,2441,247,4,122,111,89,1397,1291,1552,1083,424,2805,1093,18 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.176 150.931 155.02 155.424 155.9 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.020 +[91.838 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..05dbc2f --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 09:21 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[6.011 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 10 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 36.73 (36726818) + 3. nb of reciprocal neighbors: 11.15 + 4. nb of neighbors that are also neighbor-of-neighbors: 30.65 (30652430) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 44.22 (2759755) + 3. nb of reciprocal neighbors: 9.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.98 (934714) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 60.74 (237078) + 3. nb of reciprocal neighbors: 45.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.81 (217821) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.16 (14944) + 3. nb of reciprocal neighbors: 70.51 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.02 (14915) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999202 nodes + level 1: 62390 nodes + level 2: 3899 nodes + level 3: 207 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727454069.000 +[12.367 s] *** Done filter_ids_map 12.367 +[12.367 s] *** Start search 1727454082.000000 +[12.382 s] *** Search done. Query time: 0.014771 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[12.382 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 318182 (1685,2313,11,611,660,267,112,1438,166,1731,1328,464,130,27,331,1249,253,6,837,878,748,1354,1246,1412,950,1983,52,3361,1798,2230,304,16,2102,2648,172,498,44,10,499,251,570,125,3470,726,257,1742,340,995,666,1826,1901,705,475,129,2268,3791,888,205,585,768,613,2736,1100,817,2223,820,425,784,183,199,2030,1883,2459,1349,2491,28,1995,3692,81,272,885,526,1644,29,2065,1259,1593,1306,1816,1021,2768,3577,1204,678,2105,909,0,1231,2178,15,85,1171,2216,2919,1652,14,2676,214,3190,71,114,93,775,305,2060,231,1608,845,21,309,1285,2515,19,1845,1940,2806,2966,2310,269,675,3491,2518,1723,3774,2863 ) 325853 (19,195,3484,289,775,2,995,2586,411,611,2634,1815,27,2646,41,331,1419,3982,526,774,276,2171,950,8,159,0,502,1,425,723,211,357,214,1083,536,453,1141,183,184,2493,2323,165,3288,3958 ) 648809 (314,172,1,909,158,2230,387,1799,0,16,41,214,28,138,410,257,398,995,167,112,272,425,82,3507,1789,623,66,1765,331,837,2767,494,3341,531,1404,2815,195,525,1917,1845,2011,899,2251,121,2313,135,334,43,372,5,111,883,47,547,2116,1393,790,129,8,36,804,10,491,183,1754,1153,2761,130 ) 235631 (19,172,3198,114,1567,1259,3609,2155,1644,843,154,6,1,354,621,155,2536,1845,13,301,1078,214,0,820,2681,272,425,26,3022,3548,166,1254,770,3810,2414,1257,564,792,387,3498,995,726,1493 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.176 155.424 157.272 157.555 158.971 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.020 +[22.399 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..b01e9ff --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=16.txt @@ -0,0 +1,140 @@ +Start time: 14:33 +Max threads available: 64 +[Config] N: 1000000, nq: 10, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[1.354 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.080 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.087 s] Loaded 10 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../yfcc//base.fbin ... +#pts = 10000000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//base.fbin ... +#pts in part = 10000000, #dims = 192, size = 7680000000B +Finished reading part of the bin file. +Finished converting part data to float. +[4.716 s] Loaded base vectors from ../yfcc//base.fbin +[4.716 s] Adding vectors to indexes +[48.490 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[0.697 s] Wrote hybrid index to file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.55 (40545380) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.40 (36403464) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.99 (8361339) + 3. nb of reciprocal neighbors: 81.06 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.60 (8149846) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 145.94 (569616) + 3. nb of reciprocal neighbors: 117.02 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.59 (568255) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 144.98 (30446) + 3. nb of reciprocal neighbors: 142.90 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.50 (30346) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.00 (224) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999187 nodes + level 1: 62396 nodes + level 2: 3901 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727472878.000 +[2.771 s] *** Done filter_ids_map 0.821 +[2.771 s] *** Start search 1727472881.000000 +[2.783 s] *** Search done. Query time: 0.011947 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[2.783 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.110 +[54.966 s] -----DONE----- +Start time: 21:11 diff --git a/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..b9e3824 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 21:11 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[11.087 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.081 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.089 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727496725.000 +[356.347 s] *** Done Query 352.825 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[356.347 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.123 +[370.383 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..894cc21 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 21:37 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.922 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.078 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.086 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727498291.000 +[383.847 s] *** Done Query 380.422 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[383.847 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.241 +[396.783 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..a0583fb --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 21:18 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.094 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.077 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.085 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727497096.000 +[369.256 s] *** Done Query 365.805 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[369.256 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.168 +[382.435 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..235e65f --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 21:24 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.299 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.077 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.084 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727497481.000 +[396.030 s] *** Done Query 392.473 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[396.030 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.203 +[409.221 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt new file mode 100644 index 0000000..8df4201 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 21:31 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.736 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.071 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.078 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727497892.000 +[384.918 s] *** Done Query 381.568 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[384.918 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.226 +[397.556 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..34e9788 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt @@ -0,0 +1,553 @@ +Start time: 11:41 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.782 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[1.948 s] Loaded base vectors from ../amazon//base.fbin +[1.948 s] Adding vectors to indexes +[41.894 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.386 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.76 (40755605) + 3. nb of reciprocal neighbors: 25.59 + 4. nb of neighbors that are also neighbor-of-neighbors: 37.87 (37867370) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 57.07 (3561132) + 3. nb of reciprocal neighbors: 35.49 + 4. nb of neighbors that are also neighbor-of-neighbors: 52.20 (3257134) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 75.86 (296094) + 3. nb of reciprocal neighbors: 72.31 + 4. nb of neighbors that are also neighbor-of-neighbors: 75.28 (293831) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.30 (14974) + 3. nb of reciprocal neighbors: 70.30 + 4. nb of neighbors that are also neighbor-of-neighbors: 70.92 (14893) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999008 nodes + level 1: 62382 nodes + level 2: 3895 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727462528.000 +[15.894 s] *** Done filter_ids_map 13.188 +[15.894 s] *** Start search 1727462543.000000 +[16.101 s] *** Search done. Query time: 0.206327 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.101 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.858033 0.860469 0.866668 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.858033 0.860469 0.866668 0.872973 0.875454 0.877067 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 0.908578 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.860469 0.866668 0.872413 0.872973 0.875454 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.858033 0.860469 0.866668 0.872973 0.875454 0.877067 +GT Filename: ../amazon/gt_1m.bin.txt +Error opening ground truth file ../amazon/gt_1m.bin.txt +[70.736 s] -----DONE----- +Start time: 11:46 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.969 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.018 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.119 s] Loaded base vectors from ../amazon//base.fbin +[2.119 s] Adding vectors to indexes +[45.472 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.352 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.76 (40763012) + 3. nb of reciprocal neighbors: 25.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 37.87 (37868605) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 56.87 (3548991) + 3. nb of reciprocal neighbors: 35.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 52.09 (3250327) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 75.82 (295926) + 3. nb of reciprocal neighbors: 72.21 + 4. nb of neighbors that are also neighbor-of-neighbors: 75.25 (293685) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.42 (14998) + 3. nb of reciprocal neighbors: 70.45 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.03 (14917) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.25 (228) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999063 nodes + level 1: 62383 nodes + level 2: 3901 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727462853.000 +[16.494 s] *** Done filter_ids_map 13.883 +[16.494 s] *** Start search 1727462870.000000 +[16.766 s] *** Search done. Query time: 0.271541 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.766 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.686 +[75.195 s] -----DONE----- +Start time: 12:49 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.898 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.016 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.110 s] Loaded base vectors from ../amazon//base.fbin +[2.110 s] Adding vectors to indexes +[77.302 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.264 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458370) + 3. nb of reciprocal neighbors: 28.02 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38989971) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.95 (7797123) + 3. nb of reciprocal neighbors: 61.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 120.22 (7502071) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.27 (578715) + 3. nb of reciprocal neighbors: 121.99 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577349) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.92 (30644) + 3. nb of reciprocal neighbors: 143.89 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.48 (30551) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.12 (226) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999383 nodes + level 1: 62395 nodes + level 2: 3902 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727466651.000 +[16.298 s] *** Done filter_ids_map 13.637 +[16.298 s] *** Start search 1727466668.000000 +[16.576 s] *** Search done. Query time: 0.278143 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.577 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 582549 (BRAND=Stickios,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.900859 0.908578 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.760 +[106.941 s] -----DONE----- +Start time: 13:42 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.844 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.024 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.025 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.074 s] Loaded base vectors from ../amazon//base.fbin +[2.074 s] Adding vectors to indexes +[76.413 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.107 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727469851.000 +[16.215 s] *** Done filter_ids_map 13.534 +[16.215 s] *** Start search 1727469867.000000 +[16.430 s] *** Search done. Query time: 0.215646 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.430 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Error opening ground truth file ../amazon/gt_1M.bin.txt +[105.566 s] -----DONE----- +Start time: 17:31 +Start time: 20:56 +Start time: 21:42 diff --git a/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..c32e20f --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 21:42 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.852 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.030 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727498556.000 +[374.525 s] *** Done Query 371.729 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[374.526 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 823173 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 834954 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 673455 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 141508 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 174285 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 820847 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 199117 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=2) 829387 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.901182 0.943421 0.969713 0.973311 1.00312 1.07538 1.09536 1.10321 1.13607 1.147 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 462904 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 797462 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.860469 0.872413 0.875454 0.878698 0.886692 0.890296 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 33296 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 155867 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 696390 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 50953 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 128946 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 303322 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 920628 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 883952 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 861370 (BRAND=PNPGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.912508 0.91376 0.925422 0.939252 0.943901 0.962728 0.974426 0.974879 0.980917 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 823173 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 834954 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 673455 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 141508 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 174285 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 820847 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 199117 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=2) 829387 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.901182 0.943421 0.969713 0.973311 1.00312 1.07538 1.09536 1.10321 1.13607 1.147 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 462904 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 797462 (BRAND=mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.860469 0.872413 0.875454 0.878698 0.886692 0.890296 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.311 +[386.787 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..5eab01c --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 20:58 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.862 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727495906.000 +[20.027 s] *** Done Query 17.146 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[20.027 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[31.927 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..e42c392 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt @@ -0,0 +1,26 @@ +Start time: 21:48 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.048 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.032 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.033 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + diff --git a/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..d69d261 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 20:57 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.763 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.025 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727495840.000 +[18.418 s] *** Done Query 15.500 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[18.418 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 506220 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 515810 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 165249 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 825598 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 172842 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 240996 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 460435 (BRAND=BKRGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.890296 0.901182 0.904858 0.910841 0.93386 0.941141 0.943421 0.943533 0.94813 0.949383 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 447454 (BRAND=JenuineCrafts,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 33296 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.843287 0.860469 0.893332 0.893466 0.89625 0.908578 0.909263 0.910413 0.912508 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 112868 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 110722 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 506220 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 515810 (BRAND=StickerU,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 165249 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 825598 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 809155 (BRAND=StickersTees,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 172842 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 240996 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 460435 (BRAND=BKRGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.890296 0.901182 0.904858 0.910841 0.93386 0.941141 0.943421 0.943533 0.94813 0.949383 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[30.286 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..d0c15b1 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt @@ -0,0 +1,125 @@ +Start time: 20:57 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.825 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.018 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 41.46 (41458478) + 3. nb of reciprocal neighbors: 28.01 + 4. nb of neighbors that are also neighbor-of-neighbors: 38.99 (38992122) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 124.63 (7777538) + 3. nb of reciprocal neighbors: 60.34 + 4. nb of neighbors that are also neighbor-of-neighbors: 119.85 (7479037) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 148.29 (578768) + 3. nb of reciprocal neighbors: 121.91 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.92 (577343) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.22 (30706) + 3. nb of reciprocal neighbors: 144.18 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.74 (30605) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.19 (227) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999351 nodes + level 1: 62396 nodes + level 2: 3902 nodes + level 3: 208 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727495872.000 +[20.842 s] *** Done Query 17.943 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[20.842 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 0.909263 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[32.771 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..62ca142 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt @@ -0,0 +1,3 @@ +Start time: 10:48 +Start time: 18:45 +Start time: 21:52 diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..7d0dc41 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt @@ -0,0 +1,26 @@ +Start time: 21:52 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.006 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.025 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.026 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..1225036 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 18:49 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.072 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727488214.000 +[43.026 s] *** Done filter_ids_map 31.883 +[43.026 s] *** Start search 1727488257.000000 +[43.316 s] *** Search done. Query time: 0.290474 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[43.317 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.075 +[61.946 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..c69f64d --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 18:46 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.167 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727488022.000 +[39.155 s] *** Done filter_ids_map 27.909 +[39.155 s] *** Start search 1727488061.000000 +[39.423 s] *** Search done. Query time: 0.267970 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[39.424 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.061 +[58.163 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..850e629 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 18:47 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.135 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727488089.000 +[40.557 s] *** Done filter_ids_map 29.398 +[40.557 s] *** Start search 1727488129.000000 +[40.802 s] *** Search done. Query time: 0.244545 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[40.803 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.067 +[59.600 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..f6011ec --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 18:48 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.110 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 37.80 (37799850) + 3. nb of reciprocal neighbors: 14.28 + 4. nb of neighbors that are also neighbor-of-neighbors: 31.82 (31821625) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 106.37 (6637573) + 3. nb of reciprocal neighbors: 18.76 + 4. nb of neighbors that are also neighbor-of-neighbors: 49.98 (3119151) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 126.70 (494496) + 3. nb of reciprocal neighbors: 81.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 123.57 (482278) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.45 (30754) + 3. nb of reciprocal neighbors: 144.55 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.20 (30703) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.62 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999850 nodes + level 1: 62403 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727488153.000 +[36.139 s] *** Done filter_ids_map 24.932 +[36.140 s] *** Start search 1727488190.000000 +[36.449 s] *** Search done. Query time: 0.309761 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[36.450 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) 384962 (137,885,165,338,1028,1160,1626,880,612,2914,667,3281,3645,43,1784,2566,312,166,20,919,603,531,2425,367,874,869,514,804,851,1795,45,900,683,591,94,1787,1136,484,204,1568,1937,3701,1126,2408,2082,3054,1951,1253,72,1979,178 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 189.75 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 534549 (750,232,0,116,425,158,90,3618,233,387,26,1298,559,1381,459,580,1469,631,140,355,562,492 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) 918303 (750,495,929,841,459,774,1928,8,449,1096,48,1660,175,6,3053,936,842,534,3524,2036,339,582,131,1849,167,1753,813,410,561,458,1114,844,637,2719,1369,446,3862,0,579,19,464,687,2972,623,790,178,999,368,398,1457,1967,3304,2344,47,31,425,214,114,2688,380,44,414,10,735,728,2436,880,317,66,3907,1850,3148,313,2785,1930,3712,494,944 ) 645620 (1983,205,897,17,531,726,81,916,3853,603,343,2102,340,73,560,296,89,456,207,2839,109,1081,36,1748,854,885,106,161,3339,783,399,550,63,32,364,278,192,1351,1433,1120,1931,3220,1162,574,3512,741,2414,158,1230,425,2313,138,301,272,1745,748,217,610,2903,880,400,308,1493,139,312,3203,449,707,3548,1637,0,3279,2305 ) + dis: 144.115 146.321 146.703 147.99 149.134 150.173 150.176 150.931 151.054 152.295 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.072 +[55.151 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..75b5b2c --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=16.txt @@ -0,0 +1,137 @@ +Start time: 09:21 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[6.073 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[3.629 s] Loaded base vectors from ../wikicohere//base.fbin +[3.629 s] Adding vectors to indexes +[70.827 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[4.547 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 36.73 (36728014) + 3. nb of reciprocal neighbors: 11.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 30.65 (30645015) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 44.05 (2749047) + 3. nb of reciprocal neighbors: 9.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.78 (922125) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 60.70 (236927) + 3. nb of reciprocal neighbors: 45.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.76 (217612) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.28 (14968) + 3. nb of reciprocal neighbors: 70.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.16 (14944) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999152 nodes + level 1: 62395 nodes + level 2: 3901 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727454173.000 +[10.977 s] *** Done filter_ids_map 10.977 +[10.977 s] *** Start search 1727454184.000000 +[11.001 s] *** Search done. Query time: 0.024560 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[11.001 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) 882233 (0,399,425,611,2866,321,411,82,121,129,23,2230,433,36,1438,550,112,634,1727,1206,1354,727,826,1554,109,1319,236,1367 ) 475214 (115,3582,842,1,7,2776,112,1438,41,214,81,2114,2007,708,1604,272,233,1083,1846,1701,177,576,3090,4,425,122,251,2577,1327,347,3839,1013,1544,1777,0,21 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 168.472 177.194 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.024 +[94.270 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..cad171d --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 09:23 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[6.068 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=16_efc=40_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 40 + * efSearch: 10 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 36.73 (36728014) + 3. nb of reciprocal neighbors: 11.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 30.65 (30645015) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 44.05 (2749047) + 3. nb of reciprocal neighbors: 9.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.78 (922125) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 60.70 (236927) + 3. nb of reciprocal neighbors: 45.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.76 (217612) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.28 (14968) + 3. nb of reciprocal neighbors: 70.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.16 (14944) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 14.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.19 (227) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999152 nodes + level 1: 62395 nodes + level 2: 3901 nodes + level 3: 209 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727454203.000 +[8.680 s] *** Done filter_ids_map 8.680 +[8.680 s] *** Start search 1727454211.000000 +[8.700 s] *** Search done. Query time: 0.019505 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.700 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) 882233 (0,399,425,611,2866,321,411,82,121,129,23,2230,433,36,1438,550,112,634,1727,1206,1354,727,826,1554,109,1319,236,1367 ) 475214 (115,3582,842,1,7,2776,112,1438,41,214,81,2114,2007,708,1604,272,233,1083,1846,1701,177,576,3090,4,425,122,251,2577,1327,347,3839,1013,1544,1777,0,21 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 168.472 177.194 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.020 +[18.805 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..829395d --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=16.txt @@ -0,0 +1,140 @@ +Start time: 14:38 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.785 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.074 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.084 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../yfcc//base.fbin ... +#pts = 10000000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//base.fbin ... +#pts in part = 10000000, #dims = 192, size = 7680000000B +Finished reading part of the bin file. +Finished converting part data to float. +[4.884 s] Loaded base vectors from ../yfcc//base.fbin +[4.884 s] Adding vectors to indexes +[53.418 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.195 s] Wrote hybrid index to file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727473153.000 +[24.475 s] *** Done filter_ids_map 20.354 +[24.475 s] *** Start search 1727473178.000000 +[24.613 s] *** Search done. Query time: 0.138319 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.614 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.232 +[91.050 s] -----DONE----- +Start time: 21:44 diff --git a/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..cad19d4 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=16.txt @@ -0,0 +1,126 @@ +Start time: 21:44 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.860 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.079 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.085 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727498690.000 +[379.588 s] *** Done Query 376.052 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[379.588 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.123 +[392.483 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..d2a964b --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=16.txt @@ -0,0 +1,128 @@ +Start time: 14:42 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.734 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.080 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.090 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727473353.000 +[25.591 s] *** Done filter_ids_map 21.248 +[25.591 s] *** Start search 1727473378.000000 +[25.946 s] *** Search done. Query time: 0.355452 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.946 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.241 +[38.558 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..4b77fbe --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=16.txt @@ -0,0 +1,27 @@ +Start time: 21:51 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.922 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.081 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.089 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + diff --git a/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..a307f46 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=16.txt @@ -0,0 +1,128 @@ +Start time: 14:41 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.854 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.093 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.101 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727473273.000 +[24.845 s] *** Done filter_ids_map 20.898 +[24.845 s] *** Start search 1727473298.000000 +[24.897 s] *** Search done. Query time: 0.052314 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.899 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.203 +[37.510 s] -----DONE----- diff --git a/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt new file mode 100644 index 0000000..f32e034 --- /dev/null +++ b/09-27-2024_experiments/MB16_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=16.txt @@ -0,0 +1,128 @@ +Start time: 14:41 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.807 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.068 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.076 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=16_efc=100_Mb=16_gamma=12_N1000000_M16.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 56 + indx 2: 248 + indx 3: 440 + indx 4: 632 + indx 5: 824 + indx 6: 1016 + indx 7: 1208 + * level probabilities + level 0: 0.937500 + level 1: 0.058594 + level 2: 0.003662 + level 3: 0.000229 + level 4: 0.000014 + level 5: 0.000001 + level 6: 0.000000 + level 7: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 5 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 56 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 40.56 (40555559) + 3. nb of reciprocal neighbors: 24.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 36.41 (36412652) +========= LEVEL 1 ======= +* stats on level 1, max 192 neighbors per vertex: + 1. nb of nodes: 62403 + 2. neighbors per node: 133.59 (8336274) + 3. nb of reciprocal neighbors: 79.93 + 4. nb of neighbors that are also neighbor-of-neighbors: 130.08 (8117246) +========= LEVEL 2 ======= +* stats on level 2, max 192 neighbors per vertex: + 1. nb of nodes: 3903 + 2. neighbors per node: 146.08 (570158) + 3. nb of reciprocal neighbors: 117.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.75 (568844) +========= LEVEL 3 ======= +* stats on level 3, max 192 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 145.82 (30623) + 3. nb of reciprocal neighbors: 143.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.38 (30529) +========= LEVEL 4 ======= +* stats on level 4, max 192 neighbors per vertex: + 1. nb of nodes: 16 + 2. neighbors per node: 14.25 (228) + 3. nb of reciprocal neighbors: 13.75 + 4. nb of neighbors that are also neighbor-of-neighbors: 14.06 (225) +========= LEVEL 5 ======= +* stats on level 5, max 192 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999340 nodes + level 1: 62392 nodes + level 2: 3903 nodes + level 3: 210 nodes + level 4: 16 nodes + level 5: 1 nodes + level 6: 0 nodes + level 7: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727473313.000 +[25.017 s] *** Done filter_ids_map 20.674 +[25.017 s] *** Start search 1727473338.000000 +[25.345 s] *** Search done. Query time: 0.327533 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.346 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) + dis: 45162 48036 49224 49225 49871 52040 52257 52552 53337 54033 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 481676 (7,13,24,6583,1448) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 159289 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.226 +[37.975 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..fb584a3 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,5 @@ +Start time: 22:06 +Start time: 22:07 +Start time: 22:13 +Start time: 22:14 +Start time: 22:29 diff --git a/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..c0514d5 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,379 @@ +Start time: 11:50 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.894 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.161 s] Loaded base vectors from ../amazon//base.fbin +[2.161 s] Adding vectors to indexes +[84.030 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.359 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 63.37 (63371374) + 3. nb of reciprocal neighbors: 51.51 + 4. nb of neighbors that are also neighbor-of-neighbors: 61.89 (61886753) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 79.48 (2484203) + 3. nb of reciprocal neighbors: 79.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.03 (2469909) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 78.26 (76539) + 3. nb of reciprocal neighbors: 78.08 + 4. nb of neighbors that are also neighbor-of-neighbors: 78.13 (76412) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.33 (684) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999506 nodes + level 1: 31236 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727463124.000 +[16.334 s] *** Done filter_ids_map 13.625 +[16.334 s] *** Start search 1727463140.000000 +[16.597 s] *** Search done. Query time: 0.262862 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.600 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 0.866668 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.816 +[113.280 s] -----DONE----- +Start time: 12:53 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.947 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.024 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.025 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.112 s] Loaded base vectors from ../amazon//base.fbin +[2.112 s] Adding vectors to indexes +[126.171 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.257 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.92 (82915894) + 3. nb of reciprocal neighbors: 58.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.18 (81178642) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.45 (5733681) + 3. nb of reciprocal neighbors: 169.38 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.29 (5728430) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.22 (183101) + 3. nb of reciprocal neighbors: 184.63 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.85 (182738) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.89 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999700 nodes + level 1: 31248 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727466964.000 +[15.983 s] *** Done filter_ids_map 13.429 +[15.983 s] *** Start search 1727466980.000000 +[16.278 s] *** Search done. Query time: 0.294796 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.281 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872973 0.875454 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.866 +[156.050 s] -----DONE----- +Start time: 13:47 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.876 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.140 s] Loaded base vectors from ../amazon//base.fbin +[2.140 s] Adding vectors to indexes +[121.522 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.320 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.92 (82915297) + 3. nb of reciprocal neighbors: 58.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.18 (81178531) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.47 (5734281) + 3. nb of reciprocal neighbors: 169.42 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.30 (5728979) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.25 (183128) + 3. nb of reciprocal neighbors: 184.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.87 (182755) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.89 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999684 nodes + level 1: 31246 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727470159.000 +[16.378 s] *** Done filter_ids_map 13.809 +[16.378 s] *** Start search 1727470175.000000 +[16.648 s] *** Search done. Query time: 0.270516 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.648 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +GT Filename: ../amazon/gt_1M.bin.txt +Error opening ground truth file ../amazon/gt_1M.bin.txt +[152.557 s] -----DONE----- +Start time: 17:34 +Start time: 20:58 diff --git a/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..aee9353 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 20:58 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.815 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727495941.000 +[16.899 s] *** Done Query 14.360 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.899 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.877067 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 547366 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 303322 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 241509 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 30959 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 861370 (BRAND=PNPGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 796363 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 443635 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 151345 (BRAND=GTGraphicsExpress,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.822587 0.909263 0.961291 0.962728 0.971911 0.977635 0.980917 0.999456 1.01409 1.04689 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.877067 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[30.369 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..274b453 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 22:40 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.818 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727502064.000 +[367.508 s] *** Done filter_ids_map 364.609 +[378.115 s] *** Done Query 10.607 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[378.115 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.880 +[391.715 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..bdbb330 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 20:59 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.715 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.024 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727495973.000 +[18.494 s] *** Done Query 15.609 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[18.495 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 0.908578 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[32.071 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..6387be7 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 22:29 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.899 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727501357.000 +[332.894 s] *** Done filter_ids_map 329.961 +[336.838 s] *** Done Query 3.945 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[336.839 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.757 +[350.636 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..dc89c91 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 22:34 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.833 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727501709.000 +[334.459 s] *** Done filter_ids_map 331.669 +[340.307 s] *** Done Query 5.848 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[340.308 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.840 +[353.825 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..9303d42 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 22:01 diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..095a54c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,5 @@ +Start time: 22:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikichohere/ +terminate called after throwing an instance of 'std::__ios_failure' + what(): basic_ios::clear: iostream error diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..095a54c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,5 @@ +Start time: 22:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikichohere/ +terminate called after throwing an instance of 'std::__ios_failure' + what(): basic_ios::clear: iostream error diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..095a54c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikichohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,5 @@ +Start time: 22:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikichohere/ +terminate called after throwing an instance of 'std::__ios_failure' + what(): basic_ios::clear: iostream error diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..ac0f0fc --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 23:43 diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..f7ecb11 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,2 @@ +Start time: 10:53 +Start time: 18:51 diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..19096ae --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 18:51 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.095 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.021 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727488284.000 +[34.115 s] *** Done filter_ids_map 24.711 +[34.115 s] *** Start search 1727488318.000000 +[34.361 s] *** Search done. Query time: 0.245201 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[34.361 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.104 +[55.497 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..fdc780a --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 00:00 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.458 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.047 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.047 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727506822.000 +[449.525 s] *** Done filter_ids_map 440.093 +[452.224 s] *** Done Query 2.699 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[452.224 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[472.657 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..16e168e --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 18:52 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.276 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727488344.000 +[35.260 s] *** Done filter_ids_map 26.206 +[35.260 s] *** Start search 1727488379.000000 +[35.620 s] *** Search done. Query time: 0.360387 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[35.622 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.124 +[55.972 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..4c3091a --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 23:43 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.652 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.031 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.032 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727505831.000 +[465.265 s] *** Done filter_ids_map 454.335 +[467.690 s] *** Done Query 2.425 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[467.690 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[488.119 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..5f2d2a6 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 23:51 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.536 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.030 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.030 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727506328.000 +[466.618 s] *** Done filter_ids_map 453.218 +[468.751 s] *** Done Query 2.133 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[468.751 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[489.011 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..3cc2542 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,125 @@ +Start time: 09:23 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.941 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[3.492 s] Loaded base vectors from ../wikicohere//base.fbin +[3.492 s] Adding vectors to indexes +[145.506 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[4.279 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 54.34 (54339955) + 3. nb of reciprocal neighbors: 30.30 + 4. nb of neighbors that are also neighbor-of-neighbors: 50.24 (50240989) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 62.60 (1956385) + 3. nb of reciprocal neighbors: 46.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.29 (1727978) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 76.08 (74405) + 3. nb of reciprocal neighbors: 74.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 76.02 (74343) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.30 (683) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999621 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727454374.000 +[8.720 s] *** Done filter_ids_map 8.720 +[8.720 s] *** Start search 1727454382.000000 +[8.735 s] *** Search done. Query time: 0.014460 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.735 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 199.396 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 994273 (0,1529,3,58,332,2011,425,5,3321,1157 ) 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 471526 (2654,2402,187,229,331,81,852,233,776,3560,3327,442,2,221,87,1564,85,3953,1282,452,944,1311,1161,619,362,1398,2328,868,2058,3580,30,980,1104,1894,1500,1675,1913,102,2181,21,3046,3,184,0,1746,2290,482,2071,3401,103,1,428,1060,345,1021,1487,2397,161,10,2546,3070,425,2630,805,1884,723,119 ) 686119 (0,1474,5,2183,425,503,902,1194 ) 451509 (85,57,425,164,2553,2437,1270,1268,0 ) 416872 (169,2847,55,998,208,3074,2923,289,0,1447,177,425,1291,1343 ) 652952 (0,230,1313,678,233,1305,1769,425,1119,503 ) 222673 (373,1221,551,281,307,3026,1450,686,2328,215,723,2630,27,1766,1667,1113,0,211,1035,199,161,1305,121,351,425 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) 713910 (752,1053,327,869,27,3791,309,177,1352,1,2829,31,91,597,517,277,954,950,24,28,2954,90,138,2116,420,1065,1012,1572,161,407,2148,1078,1777,574,1851,367,263,425,1398,343,160,0,45,862,843,442,6,1048,455,2547,1558,318,1591,19 ) + dis: 151.419 154.257 154.992 155.278 155.561 156.071 156.076 157.429 157.805 158.225 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.076 +[167.032 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..02942f2 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 09:26 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.979 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 54.34 (54339955) + 3. nb of reciprocal neighbors: 30.30 + 4. nb of neighbors that are also neighbor-of-neighbors: 50.24 (50240989) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 62.60 (1956385) + 3. nb of reciprocal neighbors: 46.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.29 (1727978) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 76.08 (74405) + 3. nb of reciprocal neighbors: 74.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 76.02 (74343) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.30 (683) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999621 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727454398.000 +[8.792 s] *** Done filter_ids_map 8.792 +[8.792 s] *** Start search 1727454407.000000 +[8.806 s] *** Search done. Query time: 0.013825 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.806 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 199.396 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 994273 (0,1529,3,58,332,2011,425,5,3321,1157 ) 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 686119 (0,1474,5,2183,425,503,902,1194 ) 652952 (0,230,1313,678,233,1305,1769,425,1119,503 ) 222673 (373,1221,551,281,307,3026,1450,686,2328,215,723,2630,27,1766,1667,1113,0,211,1035,199,161,1305,121,351,425 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) 713910 (752,1053,327,869,27,3791,309,177,1352,1,2829,31,91,597,517,277,954,950,24,28,2954,90,138,2116,420,1065,1012,1572,161,407,2148,1078,1777,574,1851,367,263,425,1398,343,160,0,45,862,843,442,6,1048,455,2547,1558,318,1591,19 ) 730924 (643,0,553,639,723,2773,109,425,1631,1747,327,3350,722,287,1268,2553,1215,1679,892,31,2630,1037,1534,1103,3623,1730,1676,1356,1324,2006,249,662,3797,301 ) 852436 (0,635,425,1305,328,1511,1183,1769,6,1548,713,613,1733,2630,106 ) 99263 (1038,1081,0,332,923,634,2835,1337,3,1063,425,55,960,1099,2713,1102,1443 ) + dis: 151.419 154.257 155.278 156.076 157.429 157.805 158.225 161.052 163.2 164.769 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.050 +[19.500 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..802e36c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 22:07 diff --git a/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..536265b --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,127 @@ +Start time: 14:43 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.803 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.082 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.092 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../yfcc//base.fbin ... +#pts = 10000000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//base.fbin ... +#pts in part = 10000000, #dims = 192, size = 7680000000B +Finished reading part of the bin file. +Finished converting part data to float. +[4.902 s] Loaded base vectors from ../yfcc//base.fbin +[4.902 s] Adding vectors to indexes +[82.198 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[0.890 s] Wrote hybrid index to file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81719722) + 3. nb of reciprocal neighbors: 53.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.52 (79521907) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.74 (5711436) + 3. nb of reciprocal neighbors: 168.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.65 (5708556) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.52 (181437) + 3. nb of reciprocal neighbors: 181.80 + 4. nb of neighbors that are also neighbor-of-neighbors: 185.19 (181118) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.04 (676) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999575 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727473477.000 +[24.901 s] *** Done filter_ids_map 20.729 +[24.901 s] *** Start search 1727473502.000000 +[25.085 s] *** Search done. Query time: 0.183401 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.086 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 235972 (3,22,24,90,338,27443,7903,1448) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 762956 (10,17,24,94,187394,174787,138365,103038,92074,59786,54948,48375,47702,44841,36273,33706,30959,28842,24607,23280,21031,18613,16318,15108,14275,11492,10989,9570,9554,8165,6919,5876,5755,3729,2796,1723,1698,1697,1686,1674,1558,1448,1439,1404,1403,1362,1283,1194,1113,743,706) 613329 (5,23,24,1448) 885168 (7,23,24,91935,75649,48430,39752,17344,11860,11533,7935,7052,6320,5927,5648,3878,3290,2842,2621,1528,1448,932,636,463) 940849 (6,23,24,149697,31788,16926,16925,16924,15538,11809,10677,8662,7438,6869,6275,6256,5879,3916,3525,3459,2840,1996,1906,1850,1590,1448,1445,1306,936,814,657,655,641,637,636,611,607,606,605,604) + dis: 101307 108202 113214 114734 117814 119478 120517 123806 124612 125636 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.379 +[121.426 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..078faad --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:45 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.831 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.076 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.084 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81719722) + 3. nb of reciprocal neighbors: 53.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.52 (79521907) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.74 (5711436) + 3. nb of reciprocal neighbors: 168.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.65 (5708556) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.52 (181437) + 3. nb of reciprocal neighbors: 181.80 + 4. nb of neighbors that are also neighbor-of-neighbors: 185.19 (181118) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.04 (676) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999575 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727473519.000 +[24.615 s] *** Done filter_ids_map 20.771 +[24.615 s] *** Start search 1727473544.000000 +[24.676 s] *** Search done. Query time: 0.061134 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.676 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) 989411 (4,17,29,1539) 847124 (10,13,29,118,161638,154660,90598,80119,42325,25621,24242,23220,11877,11087,6509,4696,4221,4168,3996,3677,3212,3207,2096,1901,1004,564,498) + dis: 45162 48036 49225 49871 52040 52257 52552 53337 54033 54428 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 22983 (7,18,24,10088,3157,1448,1253,1173) 662433 (2,16,24,57798,23994,18845,1448,894,849) 736420 (10,15,24,161497,155859,117705,24331,23803,14429,6126,5845,5572,5570,3741,3546,3408,2954,2624,2124,1993,1891,1821,1448) 507296 (2,16,24,46845,14550,12433,5702,4881,4781,4601,4322,4226,3984,3777,3353,3085,2663,2212,2171,1448,939,676,649) 21618 (7,17,24,94,6288,1448) 845245 (4,19,24,40980,22462,2827,1448,1447,910,676) 500758 (7,14,24,31746,11085,7749,5846,5845,5844,3049,1448,1148,1039) 268183 (6,21,24,56970,42311,13888,3979,3557,2065,1448,911,426) + dis: 101307 113214 126139 136692 136856 143097 143947 153044 157257 158163 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.213 +[38.840 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..fc41a6c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:47 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.825 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.076 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.085 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81719722) + 3. nb of reciprocal neighbors: 53.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.52 (79521907) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.74 (5711436) + 3. nb of reciprocal neighbors: 168.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.65 (5708556) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.52 (181437) + 3. nb of reciprocal neighbors: 181.80 + 4. nb of neighbors that are also neighbor-of-neighbors: 185.19 (181118) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.04 (676) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999575 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727473686.000 +[24.342 s] *** Done filter_ids_map 19.961 +[24.342 s] *** Start search 1727473710.000000 +[24.769 s] *** Search done. Query time: 0.427208 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.769 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 135830 (10,21,24,101,17122,9172,6785,1543,1448,930,751,745) 235972 (3,22,24,90,338,27443,7903,1448) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 762956 (10,17,24,94,187394,174787,138365,103038,92074,59786,54948,48375,47702,44841,36273,33706,30959,28842,24607,23280,21031,18613,16318,15108,14275,11492,10989,9570,9554,8165,6919,5876,5755,3729,2796,1723,1698,1697,1686,1674,1558,1448,1439,1404,1403,1362,1283,1194,1113,743,706) 613329 (5,23,24,1448) + dis: 101307 107501 108202 113214 114734 117637 117814 119478 120517 123806 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.392 +[38.998 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..651e3c5 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:45 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.831 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.088 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.097 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81719722) + 3. nb of reciprocal neighbors: 53.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.52 (79521907) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.74 (5711436) + 3. nb of reciprocal neighbors: 168.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.65 (5708556) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.52 (181437) + 3. nb of reciprocal neighbors: 181.80 + 4. nb of neighbors that are also neighbor-of-neighbors: 185.19 (181118) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.04 (676) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999575 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727473561.000 +[24.667 s] *** Done filter_ids_map 20.656 +[24.667 s] *** Start search 1727473585.000000 +[24.745 s] *** Search done. Query time: 0.078672 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.745 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 22983 (7,18,24,10088,3157,1448,1253,1173) 662433 (2,16,24,57798,23994,18845,1448,894,849) 736420 (10,15,24,161497,155859,117705,24331,23803,14429,6126,5845,5572,5570,3741,3546,3408,2954,2624,2124,1993,1891,1821,1448) 867930 (11,12,24,48126,22602,21804,13364,12681,11733,3841,3081,1784,1448,1349) 507296 (2,16,24,46845,14550,12433,5702,4881,4781,4601,4322,4226,3984,3777,3353,3085,2663,2212,2171,1448,939,676,649) 21618 (7,17,24,94,6288,1448) 144275 (6,16,24,18175,1448) + dis: 101307 113214 114734 126139 136692 136856 140973 143097 143947 147660 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.276 +[38.926 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..e654b0b --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:46 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.747 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.071 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.078 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81719722) + 3. nb of reciprocal neighbors: 53.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.52 (79521907) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.74 (5711436) + 3. nb of reciprocal neighbors: 168.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.65 (5708556) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.52 (181437) + 3. nb of reciprocal neighbors: 181.80 + 4. nb of neighbors that are also neighbor-of-neighbors: 185.19 (181118) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.04 (676) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999575 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727473601.000 +[25.445 s] *** Done filter_ids_map 21.139 +[25.445 s] *** Start search 1727473626.000000 +[25.800 s] *** Search done. Query time: 0.354230 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.801 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 235972 (3,22,24,90,338,27443,7903,1448) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 762956 (10,17,24,94,187394,174787,138365,103038,92074,59786,54948,48375,47702,44841,36273,33706,30959,28842,24607,23280,21031,18613,16318,15108,14275,11492,10989,9570,9554,8165,6919,5876,5755,3729,2796,1723,1698,1697,1686,1674,1558,1448,1439,1404,1403,1362,1283,1194,1113,743,706) 885168 (7,23,24,91935,75649,48430,39752,17344,11860,11533,7935,7052,6320,5927,5648,3878,3290,2842,2621,1528,1448,932,636,463) 940849 (6,23,24,149697,31788,16926,16925,16924,15538,11809,10677,8662,7438,6869,6275,6256,5879,3916,3525,3459,2840,1996,1906,1850,1590,1448,1445,1306,936,814,657,655,641,637,636,611,607,606,605,604) 22983 (7,18,24,10088,3157,1448,1253,1173) 203738 (6,17,24,92,15678,11904,8646,5881,5347,1625,1448,1288,859) + dis: 101307 113214 114734 117814 119478 120517 124612 125636 126139 127054 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.328 +[39.924 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..7051ddd --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:47 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.819 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.070 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.077 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81719722) + 3. nb of reciprocal neighbors: 53.16 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.52 (79521907) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.74 (5711436) + 3. nb of reciprocal neighbors: 168.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.65 (5708556) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.52 (181437) + 3. nb of reciprocal neighbors: 181.80 + 4. nb of neighbors that are also neighbor-of-neighbors: 185.19 (181118) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.04 (676) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999575 nodes + level 1: 31247 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727473644.000 +[25.576 s] *** Done filter_ids_map 21.231 +[25.576 s] *** Start search 1727473669.000000 +[25.988 s] *** Search done. Query time: 0.411716 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.989 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 235972 (3,22,24,90,338,27443,7903,1448) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 762956 (10,17,24,94,187394,174787,138365,103038,92074,59786,54948,48375,47702,44841,36273,33706,30959,28842,24607,23280,21031,18613,16318,15108,14275,11492,10989,9570,9554,8165,6919,5876,5755,3729,2796,1723,1698,1697,1686,1674,1558,1448,1439,1404,1403,1362,1283,1194,1113,743,706) 613329 (5,23,24,1448) 885168 (7,23,24,91935,75649,48430,39752,17344,11860,11533,7935,7052,6320,5927,5648,3878,3290,2842,2621,1528,1448,932,636,463) 940849 (6,23,24,149697,31788,16926,16925,16924,15538,11809,10677,8662,7438,6869,6275,6256,5879,3916,3525,3459,2840,1996,1906,1850,1590,1448,1445,1306,936,814,657,655,641,637,636,611,607,606,605,604) + dis: 101307 108202 113214 114734 117814 119478 120517 123806 124612 125636 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.370 +[40.270 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..15166e4 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1,380 @@ +Start time: 11:55 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.954 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.154 s] Loaded base vectors from ../amazon//base.fbin +[2.154 s] Adding vectors to indexes +[82.009 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.591 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 63.36 (63360356) + 3. nb of reciprocal neighbors: 51.49 + 4. nb of neighbors that are also neighbor-of-neighbors: 61.87 (61874016) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 79.48 (2484205) + 3. nb of reciprocal neighbors: 79.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.03 (2470036) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 78.26 (76538) + 3. nb of reciprocal neighbors: 78.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 78.12 (76402) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.33 (684) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999512 nodes + level 1: 31239 nodes + level 2: 978 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.001 s] *** Start filter_ids_map 1727463398.000 +[16.254 s] *** Done filter_ids_map 13.594 +[16.254 s] *** Start search 1727463415.000000 +[16.516 s] *** Search done. Query time: 0.261968 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.516 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.802 +[112.941 s] -----DONE----- +Start time: 12:59 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.904 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.106 s] Loaded base vectors from ../amazon//base.fbin +[2.106 s] Adding vectors to indexes +[126.641 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.337 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.92 (82915163) + 3. nb of reciprocal neighbors: 58.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.18 (81175962) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.43 (5733070) + 3. nb of reciprocal neighbors: 169.35 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.27 (5727838) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.00 (182885) + 3. nb of reciprocal neighbors: 184.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.62 (182517) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999701 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727467294.000 +[16.545 s] *** Done filter_ids_map 13.958 +[16.545 s] *** Start search 1727467311.000000 +[16.898 s] *** Search done. Query time: 0.353658 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.898 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.859 +[158.097 s] -----DONE----- +Start time: 13:52 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.814 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.016 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.124 s] Loaded base vectors from ../amazon//base.fbin +[2.124 s] Adding vectors to indexes +[121.644 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.257 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727470473.000 +[15.637 s] *** Done filter_ids_map 13.089 +[15.637 s] *** Start search 1727470489.000000 +[15.917 s] *** Search done. Query time: 0.280296 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[15.917 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Error opening ground truth file ../amazon/gt_1M.bin.txt +[152.030 s] -----DONE----- +Start time: 17:36 +Start time: 21:01 +Start time: 22:47 diff --git a/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..c763c8d --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 21:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.783 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.025 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.026 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727496114.000 +[19.107 s] *** Done Query 16.202 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[19.107 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.877067 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 502095 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 547366 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 303322 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 241509 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 30959 (BRAND=EMCGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 861370 (BRAND=PNPGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 796363 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 443635 (BRAND=SMJDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 151345 (BRAND=GTGraphicsExpress,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.822587 0.909263 0.961291 0.962728 0.971911 0.977635 0.980917 0.999456 1.01409 1.04689 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 942242 (BRAND=FancoElectronics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.877067 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[32.602 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..0a0c021 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 22:59 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.805 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.024 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.027 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727503199.000 +[341.291 s] *** Done filter_ids_map 338.389 +[350.078 s] *** Done Query 8.787 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[350.078 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.880 +[363.533 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..6809241 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 21:02 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.792 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.025 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.025 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727496148.000 +[17.794 s] *** Done Query 14.834 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[17.794 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.875454 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 0.908578 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 227459 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) + dis: 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 0.875454 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[31.369 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..e455a66 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 22:47 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.838 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727502458.000 +[342.263 s] *** Done filter_ids_map 339.309 +[346.238 s] *** Done Query 3.975 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[346.238 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.757 +[359.707 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..a78d1c6 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 22:53 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.797 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727502819.000 +[359.845 s] *** Done filter_ids_map 356.709 +[365.732 s] *** Done Query 5.888 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[365.733 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.840 +[379.205 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..9303d42 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 22:01 diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..3fa2763 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,3 @@ +Start time: 22:02 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikichohere/ diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..095a54c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,5 @@ +Start time: 22:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikichohere/ +terminate called after throwing an instance of 'std::__ios_failure' + what(): basic_ios::clear: iostream error diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..095a54c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikichohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,5 @@ +Start time: 22:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikichohere/ +terminate called after throwing an instance of 'std::__ios_failure' + what(): basic_ios::clear: iostream error diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..02111d3 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1,3 @@ +Start time: 10:58 +Start time: 18:56 +Start time: 00:08 diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..e96d18c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 18:56 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.122 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.021 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727488616.000 +[37.208 s] *** Done filter_ids_map 26.169 +[37.208 s] *** Start search 1727488653.000000 +[37.505 s] *** Search done. Query time: 0.297037 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[37.505 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.104 +[57.739 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..fce2705 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 00:24 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.578 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727508293.000 +[455.947 s] *** Done filter_ids_map 444.822 +[458.629 s] *** Done Query 2.681 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[458.629 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[478.986 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..9c454fb --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 18:57 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.180 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727488679.000 +[42.351 s] *** Done filter_ids_map 31.208 +[42.351 s] *** Start search 1727488721.000000 +[42.727 s] *** Search done. Query time: 0.376082 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[42.727 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.124 +[63.302 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..0b5b31e --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 00:08 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.554 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727507300.000 +[459.255 s] *** Done filter_ids_map 448.171 +[460.942 s] *** Done Query 1.687 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[460.942 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[481.372 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..ad44c70 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 00:16 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.455 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.031 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.031 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727507787.000 +[474.274 s] *** Done filter_ids_map 463.437 +[477.444 s] *** Done Query 3.171 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[477.444 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[497.788 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..932087d --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1,125 @@ +Start time: 09:26 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.886 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[3.441 s] Loaded base vectors from ../wikicohere//base.fbin +[3.442 s] Adding vectors to indexes +[146.393 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[4.632 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 54.34 (54341139) + 3. nb of reciprocal neighbors: 30.30 + 4. nb of neighbors that are also neighbor-of-neighbors: 50.24 (50241135) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 62.79 (1962550) + 3. nb of reciprocal neighbors: 46.78 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.46 (1733218) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 75.69 (74020) + 3. nb of reciprocal neighbors: 73.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 75.63 (73964) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.26 (682) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999591 nodes + level 1: 31250 nodes + level 2: 975 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727454570.000 +[8.702 s] *** Done filter_ids_map 8.702 +[8.702 s] *** Start search 1727454579.000000 +[8.718 s] *** Search done. Query time: 0.016044 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.718 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 199.396 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 171736 (524,513,151,161,2223,2805,1137,628,1,1741,3492,400,2036,205,2496,41,266,596,1884,2288,2679,239,0,2801,124,470,208,6,19,862,2072,425,211,101,252,2149,16,837,158 ) 994273 (0,1529,3,58,332,2011,425,5,3321,1157 ) 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 471526 (2654,2402,187,229,331,81,852,233,776,3560,3327,442,2,221,87,1564,85,3953,1282,452,944,1311,1161,619,362,1398,2328,868,2058,3580,30,980,1104,1894,1500,1675,1913,102,2181,21,3046,3,184,0,1746,2290,482,2071,3401,103,1,428,1060,345,1021,1487,2397,161,10,2546,3070,425,2630,805,1884,723,119 ) 686119 (0,1474,5,2183,425,503,902,1194 ) 451509 (85,57,425,164,2553,2437,1270,1268,0 ) 416872 (169,2847,55,998,208,3074,2923,289,0,1447,177,425,1291,1343 ) 652952 (0,230,1313,678,233,1305,1769,425,1119,503 ) 222673 (373,1221,551,281,307,3026,1450,686,2328,215,723,2630,27,1766,1667,1113,0,211,1035,199,161,1305,121,351,425 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) + dis: 150.865 151.419 154.257 154.992 155.278 155.561 156.071 156.076 157.429 157.805 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.090 +[167.976 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..0ac062c --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 09:29 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.911 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.016 s] Loaded 50 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=40_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 40 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 54.34 (54341139) + 3. nb of reciprocal neighbors: 30.30 + 4. nb of neighbors that are also neighbor-of-neighbors: 50.24 (50241135) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 62.79 (1962550) + 3. nb of reciprocal neighbors: 46.78 + 4. nb of neighbors that are also neighbor-of-neighbors: 55.46 (1733218) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 75.69 (74020) + 3. nb of reciprocal neighbors: 73.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 75.63 (73964) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 25.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.26 (682) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999591 nodes + level 1: 31250 nodes + level 2: 975 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727454595.000 +[8.883 s] *** Done filter_ids_map 8.883 +[8.883 s] *** Start search 1727454603.000000 +[8.899 s] *** Search done. Query time: 0.016624 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.900 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 199.396 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 994273 (0,1529,3,58,332,2011,425,5,3321,1157 ) 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 686119 (0,1474,5,2183,425,503,902,1194 ) 652952 (0,230,1313,678,233,1305,1769,425,1119,503 ) 222673 (373,1221,551,281,307,3026,1450,686,2328,215,723,2630,27,1766,1667,1113,0,211,1035,199,161,1305,121,351,425 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) 713910 (752,1053,327,869,27,3791,309,177,1352,1,2829,31,91,597,517,277,954,950,24,28,2954,90,138,2116,420,1065,1012,1572,161,407,2148,1078,1777,574,1851,367,263,425,1398,343,160,0,45,862,843,442,6,1048,455,2547,1558,318,1591,19 ) 672255 (206,1427,425,268,1572,1356,1268,1119,3269,604,914,1004,55,1558,0,463,1048 ) 730924 (643,0,553,639,723,2773,109,425,1631,1747,327,3350,722,287,1268,2553,1215,1679,892,31,2630,1037,1534,1103,3623,1730,1676,1356,1324,2006,249,662,3797,301 ) 852436 (0,635,425,1305,328,1511,1183,1769,6,1548,713,613,1733,2630,106 ) + dis: 151.419 154.257 155.278 156.076 157.429 157.805 158.225 160.853 161.052 163.2 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.052 +[19.532 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..00b5daa --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1,127 @@ +Start time: 14:48 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.868 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.087 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.096 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../yfcc//base.fbin ... +#pts = 10000000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//base.fbin ... +#pts in part = 10000000, #dims = 192, size = 7680000000B +Finished reading part of the bin file. +Finished converting part data to float. +[4.840 s] Loaded base vectors from ../yfcc//base.fbin +[4.840 s] Adding vectors to indexes +[95.768 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.483 s] Wrote hybrid index to file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727473824.000 +[23.665 s] *** Done filter_ids_map 19.528 +[23.665 s] *** Start search 1727473848.000000 +[23.976 s] *** Search done. Query time: 0.311455 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[23.978 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 21414 (4,23,24,50145,43748,33546,16645,13042,9918,9656,5894,5650,4404,3868,3030,1641,1448,1355,933) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) + dis: 101307 106103 106515 106945 107113 107501 108202 108943 109321 112167 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.375 +[134.602 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..d16af4e --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:50 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.815 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.079 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.090 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727473866.000 +[24.857 s] *** Done filter_ids_map 20.581 +[24.857 s] *** Start search 1727473890.000000 +[25.190 s] *** Search done. Query time: 0.332855 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.191 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 292282 (3,18,24,58096,1448) 343096 (9,22,24,152170,103319,86870,80413,60004,52803,40484,29121,24600,16929,15735,15728,15538,14389,13548,13037,11332,10262,9179,8229,6464,4823,4761,4448,3091,2896,2339,1978,1448,415) 160858 (8,19,24,99,20144,13386,3221,1547,1448) 491832 (5,20,24,139,164995,153208,67044,22164,13037,8030,8029,6454,6424,3505,2170,1448,1399) 116992 (3,19,24,43581,3922,1448) 123435 (3,18,24,6900,1448,775) 613329 (5,23,24,1448) 940849 (6,23,24,149697,31788,16926,16925,16924,15538,11809,10677,8662,7438,6869,6275,6256,5879,3916,3525,3459,2840,1996,1906,1850,1590,1448,1445,1306,936,814,657,655,641,637,636,611,607,606,605,604) 454582 (10,17,24,70951,15313,5520,3824,1448,911) 893388 (7,23,24,99223,29336,15573,9879,7777,3546,2686,2200,2161,1556,1448,939,832) + dis: 106515 118412 120976 121087 121132 123430 123806 125636 126049 127988 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.211 +[39.440 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..4c8b6a8 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:53 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.924 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.094 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.102 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727474033.000 +[24.556 s] *** Done filter_ids_map 20.633 +[24.556 s] *** Start search 1727474057.000000 +[24.824 s] *** Search done. Query time: 0.267930 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.824 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 487665 (6,15,24,14104,13468,3732,1554,1448) 173457 (4,17,24,30403,13078,6899,3763,1448) 724664 (5,15,24,99,2034,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 21414 (4,23,24,50145,43748,33546,16645,13042,9918,9656,5894,5650,4404,3868,3030,1641,1448,1355,933) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) + dis: 94257 101307 102220 106103 106515 106945 107113 107501 108202 108943 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.388 +[39.032 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..a9b1454 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:51 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.813 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.071 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.078 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727473907.000 +[25.307 s] *** Done filter_ids_map 20.975 +[25.307 s] *** Start search 1727473933.000000 +[25.735 s] *** Search done. Query time: 0.427687 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.736 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 292282 (3,18,24,58096,1448) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 343096 (9,22,24,152170,103319,86870,80413,60004,52803,40484,29121,24600,16929,15735,15728,15538,14389,13548,13037,11332,10262,9179,8229,6464,4823,4761,4448,3091,2896,2339,1978,1448,415) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 881303 (4,18,24,107,13729,10657,6187,1448) 160858 (8,19,24,99,20144,13386,3221,1547,1448) 491832 (5,20,24,139,164995,153208,67044,22164,13037,8030,8029,6454,6424,3505,2170,1448,1399) 116992 (3,19,24,43581,3922,1448) 123435 (3,18,24,6900,1448,775) 613329 (5,23,24,1448) + dis: 106515 109321 118412 119478 119772 120976 121087 121132 123430 123806 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.273 +[40.070 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..f4e142d --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:52 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.929 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.083 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.094 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727473950.000 +[23.857 s] *** Done filter_ids_map 19.555 +[23.857 s] *** Start search 1727473974.000000 +[24.258 s] *** Search done. Query time: 0.401248 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.259 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 893287 (6,17,24,90,364,125422,97386,50560,33092,28943,26597,15170,9515,7572,5894,4177,3431,1657,1448) 367118 (5,17,24,147893,46354,34965,18312,17293,15289,3110,1448) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 343096 (9,22,24,152170,103319,86870,80413,60004,52803,40484,29121,24600,16929,15735,15728,15538,14389,13548,13037,11332,10262,9179,8229,6464,4823,4761,4448,3091,2896,2339,1978,1448,415) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 881303 (4,18,24,107,13729,10657,6187,1448) + dis: 106103 106515 108943 109321 112431 114050 114734 118412 119478 119772 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.331 +[38.800 s] -----DONE----- diff --git a/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..a629be5 --- /dev/null +++ b/09-27-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,116 @@ +Start time: 14:52 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.777 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.084 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.093 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727473991.000 +[24.245 s] *** Done filter_ids_map 19.976 +[24.245 s] *** Start search 1727474015.000000 +[24.683 s] *** Search done. Query time: 0.438026 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.684 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 21414 (4,23,24,50145,43748,33546,16645,13042,9918,9656,5894,5650,4404,3868,3030,1641,1448,1355,933) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) + dis: 101307 106103 106515 106945 107113 107501 108202 108943 109321 112167 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.366 +[38.967 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..3530c51 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1,353 @@ +Start time: 11:59 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.149 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.129 s] Loaded base vectors from ../amazon//base.fbin +[2.129 s] Adding vectors to indexes +[143.329 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.593 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 75.30 (75302736) + 3. nb of reciprocal neighbors: 71.20 + 4. nb of neighbors that are also neighbor-of-neighbors: 74.52 (74518185) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 79.89 (1250564) + 3. nb of reciprocal neighbors: 79.89 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.25 (1240512) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.98 (15116) + 3. nb of reciprocal neighbors: 71.98 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.98 (15116) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999735 nodes + level 1: 15647 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727463739.000 +[15.559 s] *** Done filter_ids_map 13.012 +[15.559 s] *** Start search 1727463754.000000 +[15.803 s] *** Search done. Query time: 0.244244 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[15.803 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.838 +[173.446 s] -----DONE----- +Start time: 13:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.953 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.131 s] Loaded base vectors from ../amazon//base.fbin +[2.131 s] Adding vectors to indexes +[232.894 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.599 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.80 (146799068) + 3. nb of reciprocal neighbors: 113.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.63 (145632556) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.43 (3106050) + 3. nb of reciprocal neighbors: 197.56 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.29 (3103816) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.84 (31046) + 3. nb of reciprocal neighbors: 147.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.63 (31003) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999856 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727467733.000 +[15.992 s] *** Done filter_ids_map 13.314 +[15.992 s] *** Start search 1727467749.000000 +[16.429 s] *** Search done. Query time: 0.437387 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.429 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.933 +[267.521 s] -----DONE----- +Start time: 13:57 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.824 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.149 s] Loaded base vectors from ../amazon//base.fbin +[2.149 s] Adding vectors to indexes +[231.585 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.839 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.80 (146797326) + 3. nb of reciprocal neighbors: 113.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.63 (145629009) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.45 (3106268) + 3. nb of reciprocal neighbors: 197.59 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.30 (3104039) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.44 (30752) + 3. nb of reciprocal neighbors: 146.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.27 (30716) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999855 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727470906.000 +[15.862 s] *** Done filter_ids_map 13.269 +[15.862 s] *** Start search 1727470922.000000 +[16.385 s] *** Search done. Query time: 0.522356 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.386 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Error opening ground truth file ../amazon/gt_1M.bin.txt +[267.021 s] -----DONE----- +Start time: 17:39 +Start time: 21:04 +Start time: 23:05 diff --git a/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..9316ad1 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 21:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.794 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.024 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.026 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727496291.000 +[19.396 s] *** Done Query 16.534 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[19.398 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 624798 (BRAND=Hatoke,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.908578 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.002 +[37.422 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..4d7aff3 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 23:18 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.783 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727504304.000 +[334.562 s] *** Done filter_ids_map 331.656 +[348.012 s] *** Done Query 13.450 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[348.012 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.940 +[366.031 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..f2da097 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 21:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.768 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.025 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727496329.000 +[20.326 s] *** Done Query 17.373 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[20.326 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.003 +[38.239 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..62f8ebe --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 23:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.779 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727503569.000 +[338.159 s] *** Done filter_ids_map 335.278 +[344.451 s] *** Done Query 6.292 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[344.451 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.892 +[362.350 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..ca0bd6b --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 23:11 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.082 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727503933.000 +[341.569 s] *** Done filter_ids_map 338.634 +[351.005 s] *** Done Query 9.436 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[351.006 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.925 +[369.231 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..d896e02 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1,3 @@ +Start time: 11:04 +Start time: 19:02 +Start time: 00:32 diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..292b7ee --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 19:02 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.119 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727488950.000 +[43.534 s] *** Done filter_ids_map 32.501 +[43.534 s] *** Start search 1727488994.000000 +[43.910 s] *** Search done. Query time: 0.375541 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[43.911 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 141688 (340,166,412,2683,492,432,3498,1224,3069,272,425,110,1257,3359,129,561,1738,634,476,252,1804,928,3691,350,2863,134,3258,271,2558,613,807,828,3138,301,195,889,1167,0,701,3609,19,2103,136,420,590,139,3396,1349,2786,3327,5,663,2575,11,1235,3882,407,1564,845,924,592,39,1698,35,269,144,2324,1064,523,1798,677,2998,42,3771,864,224,1070,4,2491,1270,522,770,553,585,841,293,2806,3212,1845,1981,802,392,1272 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) + dis: 144.115 146.226 146.251 146.321 146.703 147.99 149.134 150.176 150.176 150.931 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.136 +[69.636 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..ddf2063 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 00:49 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.573 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727509785.000 +[464.057 s] *** Done filter_ids_map 453.126 +[470.783 s] *** Done Query 6.726 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[470.783 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[495.694 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..5577f59 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 19:03 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.120 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727489025.000 +[40.215 s] *** Done filter_ids_map 29.011 +[40.216 s] *** Start search 1727489065.000000 +[40.496 s] *** Search done. Query time: 0.280356 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[40.496 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.158 +[64.869 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..6d2b8d6 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 00:32 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.470 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727508781.000 +[456.759 s] *** Done filter_ids_map 445.760 +[459.370 s] *** Done Query 2.611 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[459.370 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[483.827 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..c357932 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 00:40 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.463 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727509271.000 +[475.600 s] *** Done filter_ids_map 464.571 +[480.887 s] *** Done Query 5.287 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[480.887 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[505.603 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..20137fb --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1,116 @@ +Start time: 09:30 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.984 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[3.444 s] Loaded base vectors from ../wikicohere//base.fbin +[3.444 s] Adding vectors to indexes +[290.279 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[4.743 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 64.41 (64413553) + 3. nb of reciprocal neighbors: 49.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 61.70 (61696276) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 74.32 (1163401) + 3. nb of reciprocal neighbors: 69.06 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.62 (1136679) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.75 (15068) + 3. nb of reciprocal neighbors: 71.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.75 (15067) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15648 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727454912.000 +[8.691 s] *** Done filter_ids_map 8.691 +[8.691 s] *** Start search 1727454921.000000 +[8.707 s] *** Search done. Query time: 0.016193 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.707 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.649 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 994273 (0,1529,3,58,332,2011,425,5,3321,1157 ) 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 471526 (2654,2402,187,229,331,81,852,233,776,3560,3327,442,2,221,87,1564,85,3953,1282,452,944,1311,1161,619,362,1398,2328,868,2058,3580,30,980,1104,1894,1500,1675,1913,102,2181,21,3046,3,184,0,1746,2290,482,2071,3401,103,1,428,1060,345,1021,1487,2397,161,10,2546,3070,425,2630,805,1884,723,119 ) 451509 (85,57,425,164,2553,2437,1270,1268,0 ) 222673 (373,1221,551,281,307,3026,1450,686,2328,215,723,2630,27,1766,1667,1113,0,211,1035,199,161,1305,121,351,425 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) 713910 (752,1053,327,869,27,3791,309,177,1352,1,2829,31,91,597,517,277,954,950,24,28,2954,90,138,2116,420,1065,1012,1572,161,407,2148,1078,1777,574,1851,367,263,425,1398,343,160,0,45,862,843,442,6,1048,455,2547,1558,318,1591,19 ) 828762 (123,1555,154,3315,1806,163,233,2287,9,55,1334,5,249,389,1837,12,947,723,1591,106,35,2,1820,396,161,923,3503,602,826,3221,467,2630,13,1896,840,0,425,3,183,108,37,139,511,277 ) 259680 (1032,651,85,723,301,373,3119,0,548,138,1730,2638,45,1037,2815,352,1081,1053,1188,3366,526,344,403,75,2775,205,960,595,947,686,857,246,425,428,3084,195,2402,14,2869,1255,470,1213,3319,13,3234,424,3078,255,473,1169 ) 86037 (85,1746,0,954,229,1491,1087,190,32,161,21,6,26,829,155,1081,41,721,31,2525,331,2883,1311,119,3138,3563,332,442,115,266,2974,2393,1648,1143,2815,1021,917,2116,864,96,1381,425,993,3095,205,1132,166,3119,44,1698,45,2789,2402 ) + dis: 151.419 154.257 154.992 155.561 157.429 157.805 158.225 158.782 158.885 159.845 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.040 +[312.880 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..35f0c7a --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:35 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[6.028 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 10 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 64.41 (64413553) + 3. nb of reciprocal neighbors: 49.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 61.70 (61696276) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 74.32 (1163401) + 3. nb of reciprocal neighbors: 69.06 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.62 (1136679) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.75 (15068) + 3. nb of reciprocal neighbors: 71.68 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.75 (15067) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15648 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727454938.000 +[9.225 s] *** Done filter_ids_map 9.225 +[9.225 s] *** Start search 1727454947.000000 +[9.242 s] *** Search done. Query time: 0.017308 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[9.242 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.649 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 994273 (0,1529,3,58,332,2011,425,5,3321,1157 ) 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 471526 (2654,2402,187,229,331,81,852,233,776,3560,3327,442,2,221,87,1564,85,3953,1282,452,944,1311,1161,619,362,1398,2328,868,2058,3580,30,980,1104,1894,1500,1675,1913,102,2181,21,3046,3,184,0,1746,2290,482,2071,3401,103,1,428,1060,345,1021,1487,2397,161,10,2546,3070,425,2630,805,1884,723,119 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) 713910 (752,1053,327,869,27,3791,309,177,1352,1,2829,31,91,597,517,277,954,950,24,28,2954,90,138,2116,420,1065,1012,1572,161,407,2148,1078,1777,574,1851,367,263,425,1398,343,160,0,45,862,843,442,6,1048,455,2547,1558,318,1591,19 ) 828762 (123,1555,154,3315,1806,163,233,2287,9,55,1334,5,249,389,1837,12,947,723,1591,106,35,2,1820,396,161,923,3503,602,826,3221,467,2630,13,1896,840,0,425,3,183,108,37,139,511,277 ) 86037 (85,1746,0,954,229,1491,1087,190,32,161,21,6,26,829,155,1081,41,721,31,2525,331,2883,1311,119,3138,3563,332,442,115,266,2974,2393,1648,1143,2815,1021,917,2116,864,96,1381,425,993,3095,205,1132,166,3119,44,1698,45,2789,2402 ) 471419 (14,21,241,659,782,377,367,425,3213,2533,41,3400,920,2727,58,1258,0,3004,224,638 ) 510565 (3402,163,155,1084,129,85,2173,77,5,48,973,2387,3364,425,523,0,359,367,6,378,210,1,12,1741,1153,514,720,3503,967,1157,511,1777,1962,852,1141,2822,470,2496,249,428,123,3652,489,273,35,15,4,2277,26,205,1097,21,1558 ) 828763 (914,85,3444,123,2289,1087,3021,192,542,161,1434,826,773,221,3095,947,522,718,680,373,890,13,0,21,1157,425,610,3239,3364,2630,102,1319,19,1817,114,1220,210,51,297,2037,582,1245,2546,1016,2937,1577 ) + dis: 151.419 154.257 154.992 157.805 158.225 158.782 159.845 161.222 163.115 163.247 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.038 +[21.141 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..e8b7a38 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1,118 @@ +Start time: 14:54 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.738 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.087 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.095 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../yfcc//base.fbin ... +#pts = 10000000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//base.fbin ... +#pts in part = 10000000, #dims = 192, size = 7680000000B +Finished reading part of the bin file. +Finished converting part data to float. +[5.064 s] Loaded base vectors from ../yfcc//base.fbin +[5.064 s] Adding vectors to indexes +[164.467 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.066 s] Wrote hybrid index to file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.93 (144929204) + 3. nb of reciprocal neighbors: 107.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.14 (144137871) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.87 (3065996) + 3. nb of reciprocal neighbors: 192.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.85 (3065610) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.81 (31040) + 3. nb of reciprocal neighbors: 147.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.67 (31010) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727474244.000 +[23.426 s] *** Done filter_ids_map 19.573 +[23.427 s] *** Start search 1727474267.000000 +[23.775 s] *** Search done. Query time: 0.348953 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[23.776 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 932128 (9,16,30,192,115931,27584,27583,22538,10703,4372,3737,3286,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 903823 (4,15,30,192,84231,24713,22538,10703,9980,4705,4372,1301,1089,1028,1025,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 873965 (32,54081,45503,24713,22538,10703,9980,5699,4705,4372,3220,1301,1176,1028,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) + dis: 190155 198220 202466 208042 208144 210248 210455 210701 225677 228048 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) 635927 (9,19,30,92,132810,94842,94841,94840,94839,94838,94837,94836,94835,94834,94833,94832,94831,94830,94829,94828,94827,94826,94825,94824,90778,90488,81396,74682,72395,69276,68490,68333,67927,67577,56936,53976,50423,48013,47261,45258,42743,42443,41265,40171,37958,34455,30547,30545,29936,27272,27266,27061,26884,26788,26753,25238,25233,24459,24096,21901,20917,20232,19456,17505,14388,14387,12976,10806,10508,10028,10008,9156,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8359,8231,8229,8214,8203,8119,8106,8052,7359,7253,7216,7215,7163,7098,7086,7059,6002,5693,5538,5495,5453,5373,5294,5215,5086,5030,4840,4816,4810,4786,4616,4095,4074,4053,3880,3688,3633,3607,3280,2943,2777,2213,2196,2195,2194,2193,2154,1825,1651,1295,1123,1120,969,866,742,731,469,465,456) 194112 (9,19,30,92,114472,114471,114470,114469,114468,110048,79573,78249,77295,77088,73770,68674,63442,57396,42795,34070,30946,30824,29412,28070,27310,27263,26753,23771,20225,16980,15367,13381,12974,11932,11041,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8583,8231,8229,8203,8119,8106,7359,7249,7216,7215,7098,7086,7059,6829,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4808,4662,4616,4095,4053,3880,3688,3607,3491,3351,3280,2777,2567,2213,2196,2195,2194,2193,1814,1123,1120,969,860,742,731,472,469,465) 536884 (9,13,30,92,67609,51177,43430,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8602,8601,8231,8203,8119,8106,7359,7216,7215,7098,7086,7059,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3652,3607,3597,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 68373 (9,14,30,92,172892,172891,172890,172889,172888,172887,172886,172885,152493,151085,112184,109093,97577,76135,72537,68466,67099,66304,63590,59970,59692,58904,58502,51247,47722,47667,42729,41235,34067,27534,21685,20298,19163,17528,17249,17214,15712,12979,10769,10474,10339,8678,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8606,8357,8231,8203,8119,8106,7846,7359,7216,7215,7201,7098,7086,7062,7059,6002,5693,5538,5495,5453,5419,5396,5373,5215,5086,5030,4816,4616,4102,4095,4053,3905,3880,3688,3615,3607,3490,3280,2777,2213,2196,2195,2194,2193,2148,2142,1804,1123,1120,969,742,731,469,465) + dis: 114016 131799 146567 149159 153364 154649 161935 166615 173390 174642 +query 4 nn's (1448&24): 900230 (7,20,24,149337,1448) 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 86554 (4,23,24,91,144762,144761,144760,144759,117940,89785,82745,65382,36003,23447,21444,14891,13578,13532,11529,11497,10260,10072,8077,7756,7417,6051,5938,4972,4836,4376,4079,3916,3799,3274,3206,3081,2777,2609,2200,1984,1874,1688,1541,1516,1448,1342,1250,945,655,574,504,431) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 845336 (4,17,24,133,13532,1448) + dis: 63768 67213 79863 79882 81201 82370 88500 94257 95551 100714 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.491 +[207.167 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..6c3b3e2 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=1_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 14:57 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.777 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.077 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.086 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.93 (144929204) + 3. nb of reciprocal neighbors: 107.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.14 (144137871) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.87 (3065996) + 3. nb of reciprocal neighbors: 192.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.85 (3065610) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.81 (31040) + 3. nb of reciprocal neighbors: 147.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.67 (31010) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727474288.000 +[24.089 s] *** Done filter_ids_map 19.730 +[24.089 s] *** Start search 1727474313.000000 +[24.504 s] *** Search done. Query time: 0.414913 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.504 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 932128 (9,16,30,192,115931,27584,27583,22538,10703,4372,3737,3286,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 903823 (4,15,30,192,84231,24713,22538,10703,9980,4705,4372,1301,1089,1028,1025,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 873965 (32,54081,45503,24713,22538,10703,9980,5699,4705,4372,3220,1301,1176,1028,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) + dis: 190155 198220 202466 208042 208144 210248 210455 210701 225677 228048 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) 635927 (9,19,30,92,132810,94842,94841,94840,94839,94838,94837,94836,94835,94834,94833,94832,94831,94830,94829,94828,94827,94826,94825,94824,90778,90488,81396,74682,72395,69276,68490,68333,67927,67577,56936,53976,50423,48013,47261,45258,42743,42443,41265,40171,37958,34455,30547,30545,29936,27272,27266,27061,26884,26788,26753,25238,25233,24459,24096,21901,20917,20232,19456,17505,14388,14387,12976,10806,10508,10028,10008,9156,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8359,8231,8229,8214,8203,8119,8106,8052,7359,7253,7216,7215,7163,7098,7086,7059,6002,5693,5538,5495,5453,5373,5294,5215,5086,5030,4840,4816,4810,4786,4616,4095,4074,4053,3880,3688,3633,3607,3280,2943,2777,2213,2196,2195,2194,2193,2154,1825,1651,1295,1123,1120,969,866,742,731,469,465,456) 194112 (9,19,30,92,114472,114471,114470,114469,114468,110048,79573,78249,77295,77088,73770,68674,63442,57396,42795,34070,30946,30824,29412,28070,27310,27263,26753,23771,20225,16980,15367,13381,12974,11932,11041,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8583,8231,8229,8203,8119,8106,7359,7249,7216,7215,7098,7086,7059,6829,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4808,4662,4616,4095,4053,3880,3688,3607,3491,3351,3280,2777,2567,2213,2196,2195,2194,2193,1814,1123,1120,969,860,742,731,472,469,465) 536884 (9,13,30,92,67609,51177,43430,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8602,8601,8231,8203,8119,8106,7359,7216,7215,7098,7086,7059,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3652,3607,3597,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 68373 (9,14,30,92,172892,172891,172890,172889,172888,172887,172886,172885,152493,151085,112184,109093,97577,76135,72537,68466,67099,66304,63590,59970,59692,58904,58502,51247,47722,47667,42729,41235,34067,27534,21685,20298,19163,17528,17249,17214,15712,12979,10769,10474,10339,8678,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8606,8357,8231,8203,8119,8106,7846,7359,7216,7215,7201,7098,7086,7062,7059,6002,5693,5538,5495,5453,5419,5396,5373,5215,5086,5030,4816,4616,4102,4095,4053,3905,3880,3688,3615,3607,3490,3280,2777,2213,2196,2195,2194,2193,2148,2142,1804,1123,1120,969,742,731,469,465) + dis: 114016 131799 146567 149159 153364 154649 161935 166615 173390 174642 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 116992 (3,19,24,43581,3922,1448) 857611 (8,23,24,1593,1448,594) 397787 (9,23,24,91498,52467,52466,52465,18811,12296,9541,8423,6768,6614,5614,4404,2139,1526,1448,540) 473527 (1,22,24,149,2063,1448) 525788 (7,23,24,11260,7777,3120,2686,2200,1556,1448,832) 794259 (5,13,24,6183,1448,1226) 657555 (9,23,24,4019,1448) 629643 (7,14,24,16539,2459,1448,747) + dis: 101307 107501 121132 124994 125042 129360 129455 130100 131821 135508 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.305 +[43.023 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..62ed640 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 15:00 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.797 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.073 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.080 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.93 (144929204) + 3. nb of reciprocal neighbors: 107.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.14 (144137871) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.87 (3065996) + 3. nb of reciprocal neighbors: 192.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.85 (3065610) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.81 (31040) + 3. nb of reciprocal neighbors: 147.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.67 (31010) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727474474.000 +[24.898 s] *** Done filter_ids_map 20.555 +[24.898 s] *** Start search 1727474499.000000 +[25.491 s] *** Search done. Query time: 0.593262 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.491 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 932128 (9,16,30,192,115931,27584,27583,22538,10703,4372,3737,3286,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 903823 (4,15,30,192,84231,24713,22538,10703,9980,4705,4372,1301,1089,1028,1025,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 873965 (32,54081,45503,24713,22538,10703,9980,5699,4705,4372,3220,1301,1176,1028,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) + dis: 190155 198220 202466 208042 208144 210248 210455 210701 225677 228048 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) 635927 (9,19,30,92,132810,94842,94841,94840,94839,94838,94837,94836,94835,94834,94833,94832,94831,94830,94829,94828,94827,94826,94825,94824,90778,90488,81396,74682,72395,69276,68490,68333,67927,67577,56936,53976,50423,48013,47261,45258,42743,42443,41265,40171,37958,34455,30547,30545,29936,27272,27266,27061,26884,26788,26753,25238,25233,24459,24096,21901,20917,20232,19456,17505,14388,14387,12976,10806,10508,10028,10008,9156,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8359,8231,8229,8214,8203,8119,8106,8052,7359,7253,7216,7215,7163,7098,7086,7059,6002,5693,5538,5495,5453,5373,5294,5215,5086,5030,4840,4816,4810,4786,4616,4095,4074,4053,3880,3688,3633,3607,3280,2943,2777,2213,2196,2195,2194,2193,2154,1825,1651,1295,1123,1120,969,866,742,731,469,465,456) 194112 (9,19,30,92,114472,114471,114470,114469,114468,110048,79573,78249,77295,77088,73770,68674,63442,57396,42795,34070,30946,30824,29412,28070,27310,27263,26753,23771,20225,16980,15367,13381,12974,11932,11041,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8583,8231,8229,8203,8119,8106,7359,7249,7216,7215,7098,7086,7059,6829,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4808,4662,4616,4095,4053,3880,3688,3607,3491,3351,3280,2777,2567,2213,2196,2195,2194,2193,1814,1123,1120,969,860,742,731,472,469,465) 536884 (9,13,30,92,67609,51177,43430,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8602,8601,8231,8203,8119,8106,7359,7216,7215,7098,7086,7059,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3652,3607,3597,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 68373 (9,14,30,92,172892,172891,172890,172889,172888,172887,172886,172885,152493,151085,112184,109093,97577,76135,72537,68466,67099,66304,63590,59970,59692,58904,58502,51247,47722,47667,42729,41235,34067,27534,21685,20298,19163,17528,17249,17214,15712,12979,10769,10474,10339,8678,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8606,8357,8231,8203,8119,8106,7846,7359,7216,7215,7201,7098,7086,7062,7059,6002,5693,5538,5495,5453,5419,5396,5373,5215,5086,5030,4816,4616,4102,4095,4053,3905,3880,3688,3615,3607,3490,3280,2777,2213,2196,2195,2194,2193,2148,2142,1804,1123,1120,969,742,731,469,465) + dis: 114016 131799 146567 149159 153364 154649 161935 166615 173390 174642 +query 4 nn's (1448&24): 900230 (7,20,24,149337,1448) 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 86554 (4,23,24,91,144762,144761,144760,144759,117940,89785,82745,65382,36003,23447,21444,14891,13578,13532,11529,11497,10260,10072,8077,7756,7417,6051,5938,4972,4836,4376,4079,3916,3799,3274,3206,3081,2777,2609,2200,1984,1874,1688,1541,1516,1448,1342,1250,945,655,574,504,431) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) + dis: 63768 67213 79863 79882 81201 82370 88500 94257 95551 98027 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.501 +[44.203 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..528d436 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=1_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 14:58 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.817 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.080 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.088 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.93 (144929204) + 3. nb of reciprocal neighbors: 107.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.14 (144137871) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.87 (3065996) + 3. nb of reciprocal neighbors: 192.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.85 (3065610) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.81 (31040) + 3. nb of reciprocal neighbors: 147.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.67 (31010) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727474335.000 +[24.566 s] *** Done filter_ids_map 20.164 +[24.566 s] *** Start search 1727474359.000000 +[24.993 s] *** Search done. Query time: 0.427336 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.994 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 932128 (9,16,30,192,115931,27584,27583,22538,10703,4372,3737,3286,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 903823 (4,15,30,192,84231,24713,22538,10703,9980,4705,4372,1301,1089,1028,1025,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 873965 (32,54081,45503,24713,22538,10703,9980,5699,4705,4372,3220,1301,1176,1028,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) + dis: 190155 198220 202466 208042 208144 210248 210455 210701 225677 228048 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) 635927 (9,19,30,92,132810,94842,94841,94840,94839,94838,94837,94836,94835,94834,94833,94832,94831,94830,94829,94828,94827,94826,94825,94824,90778,90488,81396,74682,72395,69276,68490,68333,67927,67577,56936,53976,50423,48013,47261,45258,42743,42443,41265,40171,37958,34455,30547,30545,29936,27272,27266,27061,26884,26788,26753,25238,25233,24459,24096,21901,20917,20232,19456,17505,14388,14387,12976,10806,10508,10028,10008,9156,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8359,8231,8229,8214,8203,8119,8106,8052,7359,7253,7216,7215,7163,7098,7086,7059,6002,5693,5538,5495,5453,5373,5294,5215,5086,5030,4840,4816,4810,4786,4616,4095,4074,4053,3880,3688,3633,3607,3280,2943,2777,2213,2196,2195,2194,2193,2154,1825,1651,1295,1123,1120,969,866,742,731,469,465,456) 194112 (9,19,30,92,114472,114471,114470,114469,114468,110048,79573,78249,77295,77088,73770,68674,63442,57396,42795,34070,30946,30824,29412,28070,27310,27263,26753,23771,20225,16980,15367,13381,12974,11932,11041,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8583,8231,8229,8203,8119,8106,7359,7249,7216,7215,7098,7086,7059,6829,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4808,4662,4616,4095,4053,3880,3688,3607,3491,3351,3280,2777,2567,2213,2196,2195,2194,2193,1814,1123,1120,969,860,742,731,472,469,465) 536884 (9,13,30,92,67609,51177,43430,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8602,8601,8231,8203,8119,8106,7359,7216,7215,7098,7086,7059,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3652,3607,3597,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 68373 (9,14,30,92,172892,172891,172890,172889,172888,172887,172886,172885,152493,151085,112184,109093,97577,76135,72537,68466,67099,66304,63590,59970,59692,58904,58502,51247,47722,47667,42729,41235,34067,27534,21685,20298,19163,17528,17249,17214,15712,12979,10769,10474,10339,8678,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8606,8357,8231,8203,8119,8106,7846,7359,7216,7215,7201,7098,7086,7062,7059,6002,5693,5538,5495,5453,5419,5396,5373,5215,5086,5030,4816,4616,4102,4095,4053,3905,3880,3688,3615,3607,3490,3280,2777,2213,2196,2195,2194,2193,2148,2142,1804,1123,1120,969,742,731,469,465) + dis: 114016 131799 146567 149159 153364 154649 161935 166615 173390 174642 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 966417 (5,23,24,22074,8153,4894,4736,1448) 962340 (6,22,24,55967,20902,15475,14404,6260,5845,4749,4739,3807,3525,3457,3270,2489,2436,1850,1448,834,751) 245071 (4,18,24,127528,23183,21720,21633,16703,15569,11289,11288,5525,5359,3919,3741,3644,3536,3120,2918,2470,1942,1539,1516,1498,1448,1025,937,478,435) 214612 (4,18,24,132,151753,43308,38635,15646,7871,3784,1448) + dis: 101307 106515 106945 107501 108202 109321 112308 113379 114532 114576 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.386 +[43.676 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..c002c0c --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 14:59 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.820 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.088 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.098 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.93 (144929204) + 3. nb of reciprocal neighbors: 107.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.14 (144137871) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.87 (3065996) + 3. nb of reciprocal neighbors: 192.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.85 (3065610) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.81 (31040) + 3. nb of reciprocal neighbors: 147.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.67 (31010) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727474380.000 +[24.915 s] *** Done filter_ids_map 20.536 +[24.915 s] *** Start search 1727474405.000000 +[25.354 s] *** Search done. Query time: 0.439009 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.354 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 932128 (9,16,30,192,115931,27584,27583,22538,10703,4372,3737,3286,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 903823 (4,15,30,192,84231,24713,22538,10703,9980,4705,4372,1301,1089,1028,1025,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 873965 (32,54081,45503,24713,22538,10703,9980,5699,4705,4372,3220,1301,1176,1028,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) + dis: 190155 198220 202466 208042 208144 210248 210455 210701 225677 228048 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) 635927 (9,19,30,92,132810,94842,94841,94840,94839,94838,94837,94836,94835,94834,94833,94832,94831,94830,94829,94828,94827,94826,94825,94824,90778,90488,81396,74682,72395,69276,68490,68333,67927,67577,56936,53976,50423,48013,47261,45258,42743,42443,41265,40171,37958,34455,30547,30545,29936,27272,27266,27061,26884,26788,26753,25238,25233,24459,24096,21901,20917,20232,19456,17505,14388,14387,12976,10806,10508,10028,10008,9156,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8359,8231,8229,8214,8203,8119,8106,8052,7359,7253,7216,7215,7163,7098,7086,7059,6002,5693,5538,5495,5453,5373,5294,5215,5086,5030,4840,4816,4810,4786,4616,4095,4074,4053,3880,3688,3633,3607,3280,2943,2777,2213,2196,2195,2194,2193,2154,1825,1651,1295,1123,1120,969,866,742,731,469,465,456) 194112 (9,19,30,92,114472,114471,114470,114469,114468,110048,79573,78249,77295,77088,73770,68674,63442,57396,42795,34070,30946,30824,29412,28070,27310,27263,26753,23771,20225,16980,15367,13381,12974,11932,11041,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8583,8231,8229,8203,8119,8106,7359,7249,7216,7215,7098,7086,7059,6829,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4808,4662,4616,4095,4053,3880,3688,3607,3491,3351,3280,2777,2567,2213,2196,2195,2194,2193,1814,1123,1120,969,860,742,731,472,469,465) 536884 (9,13,30,92,67609,51177,43430,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8602,8601,8231,8203,8119,8106,7359,7216,7215,7098,7086,7059,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3652,3607,3597,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 68373 (9,14,30,92,172892,172891,172890,172889,172888,172887,172886,172885,152493,151085,112184,109093,97577,76135,72537,68466,67099,66304,63590,59970,59692,58904,58502,51247,47722,47667,42729,41235,34067,27534,21685,20298,19163,17528,17249,17214,15712,12979,10769,10474,10339,8678,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8606,8357,8231,8203,8119,8106,7846,7359,7216,7215,7201,7098,7086,7062,7059,6002,5693,5538,5495,5453,5419,5396,5373,5215,5086,5030,4816,4616,4102,4095,4053,3905,3880,3688,3615,3607,3490,3280,2777,2213,2196,2195,2194,2193,2148,2142,1804,1123,1120,969,742,731,469,465) + dis: 114016 131799 146567 149159 153364 154649 161935 166615 173390 174642 +query 4 nn's (1448&24): 900230 (7,20,24,149337,1448) 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 86554 (4,23,24,91,144762,144761,144760,144759,117940,89785,82745,65382,36003,23447,21444,14891,13578,13532,11529,11497,10260,10072,8077,7756,7417,6051,5938,4972,4836,4376,4079,3916,3799,3274,3206,3081,2777,2609,2200,1984,1874,1688,1541,1516,1448,1342,1250,945,655,574,504,431) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 845336 (4,17,24,133,13532,1448) + dis: 63768 67213 79863 79882 81201 82370 88500 94257 95551 100714 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.447 +[43.983 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..ab5cd7d --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 15:00 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.946 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.095 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.105 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.93 (144929204) + 3. nb of reciprocal neighbors: 107.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.14 (144137871) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.87 (3065996) + 3. nb of reciprocal neighbors: 192.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.85 (3065610) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.81 (31040) + 3. nb of reciprocal neighbors: 147.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.67 (31010) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999805 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727474427.000 +[25.115 s] *** Done filter_ids_map 21.203 +[25.121 s] *** Start search 1727474453.000000 +[25.463 s] *** Search done. Query time: 0.342292 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.464 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 932128 (9,16,30,192,115931,27584,27583,22538,10703,4372,3737,3286,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 903823 (4,15,30,192,84231,24713,22538,10703,9980,4705,4372,1301,1089,1028,1025,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 873965 (32,54081,45503,24713,22538,10703,9980,5699,4705,4372,3220,1301,1176,1028,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) + dis: 190155 198220 202466 208042 208144 210248 210455 210701 225677 228048 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) 635927 (9,19,30,92,132810,94842,94841,94840,94839,94838,94837,94836,94835,94834,94833,94832,94831,94830,94829,94828,94827,94826,94825,94824,90778,90488,81396,74682,72395,69276,68490,68333,67927,67577,56936,53976,50423,48013,47261,45258,42743,42443,41265,40171,37958,34455,30547,30545,29936,27272,27266,27061,26884,26788,26753,25238,25233,24459,24096,21901,20917,20232,19456,17505,14388,14387,12976,10806,10508,10028,10008,9156,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8359,8231,8229,8214,8203,8119,8106,8052,7359,7253,7216,7215,7163,7098,7086,7059,6002,5693,5538,5495,5453,5373,5294,5215,5086,5030,4840,4816,4810,4786,4616,4095,4074,4053,3880,3688,3633,3607,3280,2943,2777,2213,2196,2195,2194,2193,2154,1825,1651,1295,1123,1120,969,866,742,731,469,465,456) 194112 (9,19,30,92,114472,114471,114470,114469,114468,110048,79573,78249,77295,77088,73770,68674,63442,57396,42795,34070,30946,30824,29412,28070,27310,27263,26753,23771,20225,16980,15367,13381,12974,11932,11041,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8583,8231,8229,8203,8119,8106,7359,7249,7216,7215,7098,7086,7059,6829,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4808,4662,4616,4095,4053,3880,3688,3607,3491,3351,3280,2777,2567,2213,2196,2195,2194,2193,1814,1123,1120,969,860,742,731,472,469,465) 536884 (9,13,30,92,67609,51177,43430,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8602,8601,8231,8203,8119,8106,7359,7216,7215,7098,7086,7059,6002,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3652,3607,3597,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 68373 (9,14,30,92,172892,172891,172890,172889,172888,172887,172886,172885,152493,151085,112184,109093,97577,76135,72537,68466,67099,66304,63590,59970,59692,58904,58502,51247,47722,47667,42729,41235,34067,27534,21685,20298,19163,17528,17249,17214,15712,12979,10769,10474,10339,8678,8673,8672,8671,8670,8669,8668,8667,8666,8665,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8606,8357,8231,8203,8119,8106,7846,7359,7216,7215,7201,7098,7086,7062,7059,6002,5693,5538,5495,5453,5419,5396,5373,5215,5086,5030,4816,4616,4102,4095,4053,3905,3880,3688,3615,3607,3490,3280,2777,2213,2196,2195,2194,2193,2148,2142,1804,1123,1120,969,742,731,469,465) + dis: 114016 131799 146567 149159 153364 154649 161935 166615 173390 174642 +query 4 nn's (1448&24): 900230 (7,20,24,149337,1448) 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 86554 (4,23,24,91,144762,144761,144760,144759,117940,89785,82745,65382,36003,23447,21444,14891,13578,13532,11529,11497,10260,10072,8077,7756,7417,6051,5938,4972,4836,4376,4079,3916,3799,3274,3206,3081,2777,2609,2200,1984,1874,1688,1541,1516,1448,1342,1250,945,655,574,504,431) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 845336 (4,17,24,133,13532,1448) + dis: 63768 67213 79863 79882 81201 82370 88500 94257 95551 100714 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.484 +[44.293 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..451b888 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1,353 @@ +Start time: 12:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.944 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.127 s] Loaded base vectors from ../amazon//base.fbin +[2.127 s] Adding vectors to indexes +[141.153 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[3.120 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 75.31 (75305251) + 3. nb of reciprocal neighbors: 71.20 + 4. nb of neighbors that are also neighbor-of-neighbors: 74.52 (74521458) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 79.89 (1250546) + 3. nb of reciprocal neighbors: 79.89 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.26 (1240618) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.85 (15088) + 3. nb of reciprocal neighbors: 71.85 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.85 (15088) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999716 nodes + level 1: 15643 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727464080.000 +[16.084 s] *** Done filter_ids_map 13.510 +[16.084 s] *** Start search 1727464097.000000 +[16.370 s] *** Search done. Query time: 0.286062 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.371 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.858033 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.843 +[172.723 s] -----DONE----- +Start time: 13:12 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.969 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.018 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.158 s] Loaded base vectors from ../amazon//base.fbin +[2.158 s] Adding vectors to indexes +[248.273 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.875 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.82 (146815495) + 3. nb of reciprocal neighbors: 113.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.65 (145647989) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.44 (3106137) + 3. nb of reciprocal neighbors: 197.57 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.30 (3103912) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.50 (30976) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.32 (30938) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999838 nodes + level 1: 15644 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727468211.000 +[15.704 s] *** Done filter_ids_map 13.169 +[15.704 s] *** Start search 1727468227.000000 +[16.193 s] *** Search done. Query time: 0.489298 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.194 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.931 +[283.668 s] -----DONE----- +Start time: 14:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.860 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.024 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.026 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../amazon//base.fbin ... +#pts = 2000640, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//base.fbin ... +#pts in part = 2000640, #dims = 384, size = 3072983040B +Finished reading part of the bin file. +Finished converting part data to float. +[2.121 s] Loaded base vectors from ../amazon//base.fbin +[2.121 s] Adding vectors to indexes +[234.404 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.808 s] Wrote hybrid index to file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727471368.000 +[16.243 s] *** Done filter_ids_map 13.658 +[16.243 s] *** Start search 1727471384.000000 +[16.654 s] *** Search done. Query time: 0.411274 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[16.656 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Error opening ground truth file ../amazon/gt_1M.bin.txt +[270.108 s] -----DONE----- +Start time: 17:42 +Start time: 21:08 +Start time: 23:24 diff --git a/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..d1afc90 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt @@ -0,0 +1,26 @@ +Start time: 21:08 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.971 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + diff --git a/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..75f770e --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 23:37 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.849 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727505452.000 +[344.180 s] *** Done filter_ids_map 341.670 +[358.058 s] *** Done Query 13.877 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[358.058 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.940 +[376.296 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..c0bced4 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt @@ -0,0 +1,106 @@ +Start time: 17:43 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.776 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.017 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727484233.000 +[19.033 s] *** Done filter_ids_map 16.087 +[19.033 s] *** Start search 1727484252.000000 +[19.501 s] *** Search done. Query time: 0.468327 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[19.502 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.835 +[37.456 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..b03eaae --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 23:24 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.786 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727504671.000 +[359.188 s] *** Done filter_ids_map 356.308 +[366.973 s] *** Done Query 7.785 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[366.973 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.892 +[385.137 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..a4181e0 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 23:30 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.900 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query.fbin ... +#pts = 7119, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query.fbin ... +#pts in part = 7119, #dims = 384, size = 10934784B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_labels.txt +Number of lines loaded: 7119 +Value of N: 7119 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727505058.000 +[362.361 s] *** Done filter_ids_map 359.401 +[373.327 s] *** Done Query 10.967 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 7119 +metadata_strings size: 2000640 +[373.327 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +query 2 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 3 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 4 nn's (CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) 346582 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.726577 0.817011 0.822587 0.826604 0.831042 0.843287 0.860469 0.866668 0.872413 0.872973 +GT Filename: ../amazon/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.925 +[391.622 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..c752d4a --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1,3 @@ +Start time: 11:09 +Start time: 19:08 +Start time: 00:57 diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..66271d2 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 19:08 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.133 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.030 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727489319.000 +[48.630 s] *** Done filter_ids_map 34.971 +[48.630 s] *** Start search 1727489368.000000 +[48.886 s] *** Search done. Query time: 0.255636 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[48.886 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) 632467 (449,142,59,230,896,50,239,130,152,995,2529,339,473,47,1769,1563,41,387,214,785,2398,916,317,3618,355,574,3317,66,953,690,2790,2473,7,684,2921,424,2041,1349,704,2369,9,3344,3449,1250,0,338,474,837,2294,2558,660,3080,159,350,2350,1015,1150,312,727,3609,166,3977,820,425,842,111,2928,292,1903,3459,2583,949,116,1521,1908,1078,24,567,238,1369,107,43,1335,1470,402 ) 364293 (2306,1537,181,1989,82,713,755,721,2092,106,3553,321,91,253,1769,727,194,3043,3378,66,138,1878,195,1205,3061,820,425,390,127,317,1227,354,0,876,196,680,3320,2260,3080,1869,2848,477,585,916,1767,580,9,3899,708 ) 141688 (340,166,412,2683,492,432,3498,1224,3069,272,425,110,1257,3359,129,561,1738,634,476,252,1804,928,3691,350,2863,134,3258,271,2558,613,807,828,3138,301,195,889,1167,0,701,3609,19,2103,136,420,590,139,3396,1349,2786,3327,5,663,2575,11,1235,3882,407,1564,845,924,592,39,1698,35,269,144,2324,1064,523,1798,677,2998,42,3771,864,224,1070,4,2491,1270,522,770,553,585,841,293,2806,3212,1845,1981,802,392,1272 ) 198851 (995,3319,1816,813,288,839,2155,502,766,1567,798,1594,1094,2967,963,0,1566,134,3080,1721,214,350,3298,842,175,1833,663,564,1507,458,3718,1078,232,2398,2238,632,675,1297,159,425,665,3427,285,30,529,2230 ) + dis: 144.115 146.226 146.251 146.321 146.703 147.99 149.134 150.176 150.176 150.931 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.136 +[73.378 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..f00f0c0 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 01:14 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.449 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727511271.000 +[473.037 s] *** Done filter_ids_map 461.995 +[479.706 s] *** Done Query 6.669 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[479.706 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[504.359 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..7f65c04 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 19:09 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.067 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727489398.000 +[39.221 s] *** Done filter_ids_map 28.129 +[39.221 s] *** Start search 1727489437.000000 +[39.515 s] *** Search done. Query time: 0.293803 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[39.515 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1m.bin.txt +Recall@10: 0.158 +[63.717 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..c67c273 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 00:57 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.576 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.024 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727510290.000 +[460.324 s] *** Done filter_ids_map 449.060 +[462.965 s] *** Done Query 2.640 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[462.965 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[487.705 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..131e681 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 01:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.505 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727510782.000 +[455.276 s] *** Done filter_ids_map 444.253 +[458.750 s] *** Done Query 3.473 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[458.750 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Error opening ground truth file ../wikicohere/gt_1M.bin.txt +[483.487 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..51b47e0 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1,116 @@ +Start time: 09:35 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.980 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wikicohere//base.fbin ... +#pts = 1000000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//base.fbin ... +#pts in part = 1000000, #dims = 768, size = 3072000000B +Finished reading part of the bin file. +Finished converting part data to float. +[3.428 s] Loaded base vectors from ../wikicohere//base.fbin +[3.428 s] Adding vectors to indexes +[300.115 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[5.213 s] Wrote hybrid index to file: ../wikicohere//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 64.40 (64398220) + 3. nb of reciprocal neighbors: 49.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 61.68 (61681935) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 74.35 (1163748) + 3. nb of reciprocal neighbors: 69.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.64 (1137016) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.96 (15112) + 3. nb of reciprocal neighbors: 71.89 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.96 (15112) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999784 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727455266.000 +[8.683 s] *** Done filter_ids_map 8.683 +[8.683 s] *** Start search 1727455275.000000 +[8.701 s] *** Search done. Query time: 0.017664 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.701 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.649 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 994273 (0,1529,3,58,332,2011,425,5,3321,1157 ) 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 471526 (2654,2402,187,229,331,81,852,233,776,3560,3327,442,2,221,87,1564,85,3953,1282,452,944,1311,1161,619,362,1398,2328,868,2058,3580,30,980,1104,1894,1500,1675,1913,102,2181,21,3046,3,184,0,1746,2290,482,2071,3401,103,1,428,1060,345,1021,1487,2397,161,10,2546,3070,425,2630,805,1884,723,119 ) 686119 (0,1474,5,2183,425,503,902,1194 ) 451509 (85,57,425,164,2553,2437,1270,1268,0 ) 652952 (0,230,1313,678,233,1305,1769,425,1119,503 ) 222673 (373,1221,551,281,307,3026,1450,686,2328,215,723,2630,27,1766,1667,1113,0,211,1035,199,161,1305,121,351,425 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) 713910 (752,1053,327,869,27,3791,309,177,1352,1,2829,31,91,597,517,277,954,950,24,28,2954,90,138,2116,420,1065,1012,1572,161,407,2148,1078,1777,574,1851,367,263,425,1398,343,160,0,45,862,843,442,6,1048,455,2547,1558,318,1591,19 ) 828762 (123,1555,154,3315,1806,163,233,2287,9,55,1334,5,249,389,1837,12,947,723,1591,106,35,2,1820,396,161,923,3503,602,826,3221,467,2630,13,1896,840,0,425,3,183,108,37,139,511,277 ) + dis: 151.419 154.257 154.992 155.278 155.561 156.076 157.429 157.805 158.225 158.782 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.048 +[323.179 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..e8afa58 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=50_efs=10,20,40,80,150_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:41 +[Config] N: 1000000, nq: 50, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.941 s] Loaded metadata, 50000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.017 s] Loaded 50 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=40_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 40 + * efSearch: 10 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 64.40 (64398220) + 3. nb of reciprocal neighbors: 49.04 + 4. nb of neighbors that are also neighbor-of-neighbors: 61.68 (61681935) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 74.35 (1163748) + 3. nb of reciprocal neighbors: 69.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.64 (1137016) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 71.96 (15112) + 3. nb of reciprocal neighbors: 71.89 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.96 (15112) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999784 nodes + level 1: 15650 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 50 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727455291.000 +[8.853 s] *** Done filter_ids_map 8.853 +[8.853 s] *** Start search 1727455300.000000 +[8.872 s] *** Search done. Query time: 0.019155 +config nq: 50 dis size:500nns size:500id map:50000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.872 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.649 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 388945 (425,0,1914,123,388,1152,837,1153,3450,1845,840,2686,1676,85,3390,517,3070,2679 ) 471526 (2654,2402,187,229,331,81,852,233,776,3560,3327,442,2,221,87,1564,85,3953,1282,452,944,1311,1161,619,362,1398,2328,868,2058,3580,30,980,1104,1894,1500,1675,1913,102,2181,21,3046,3,184,0,1746,2290,482,2071,3401,103,1,428,1060,345,1021,1487,2397,161,10,2546,3070,425,2630,805,1884,723,119 ) 332549 (1053,1188,750,37,52,1357,3,1778,1648,723,15,425,0,55,35,2805,1636,2382,2258 ) 713910 (752,1053,327,869,27,3791,309,177,1352,1,2829,31,91,597,517,277,954,950,24,28,2954,90,138,2116,420,1065,1012,1572,161,407,2148,1078,1777,574,1851,367,263,425,1398,343,160,0,45,862,843,442,6,1048,455,2547,1558,318,1591,19 ) 828762 (123,1555,154,3315,1806,163,233,2287,9,55,1334,5,249,389,1837,12,947,723,1591,106,35,2,1820,396,161,923,3503,602,826,3221,467,2630,13,1896,840,0,425,3,183,108,37,139,511,277 ) 86037 (85,1746,0,954,229,1491,1087,190,32,161,21,6,26,829,155,1081,41,721,31,2525,331,2883,1311,119,3138,3563,332,442,115,266,2974,2393,1648,1143,2815,1021,917,2116,864,96,1381,425,993,3095,205,1132,166,3119,44,1698,45,2789,2402 ) 471419 (14,21,241,659,782,377,367,425,3213,2533,41,3400,920,2727,58,1258,0,3004,224,638 ) 510565 (3402,163,155,1084,129,85,2173,77,5,48,973,2387,3364,425,523,0,359,367,6,378,210,1,12,1741,1153,514,720,3503,967,1157,511,1777,1962,852,1141,2822,470,2496,249,428,123,3652,489,273,35,15,4,2277,26,205,1097,21,1558 ) 828763 (914,85,3444,123,2289,1087,3021,192,542,161,1434,826,773,221,3095,947,522,718,680,373,890,13,0,21,1157,425,610,3239,3364,2630,102,1319,19,1817,114,1220,210,51,297,2037,582,1245,2546,1016,2937,1577 ) 266091 (3435,20,42,247,1500,2838,279,2148,452,2177,373,85,1425,883,726,662,1048,1877,2026,3190,551,41,3400,1690,2864,72,269,3241,473,0,14,26,858,3721,1558,51,2328,432,847,1097,21,425,631,233,288,68,1421,3178,549,258,1361,2324,320,720,947,3619,1511,1423,1325 ) + dis: 154.257 154.992 157.805 158.225 158.782 159.845 161.222 163.115 163.247 163.271 +GT Filename: ../wikicohere/gt_1m.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.040 +[20.680 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..f8bb149 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1,118 @@ +Start time: 15:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.777 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.073 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.081 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../yfcc//base.fbin ... +#pts = 10000000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//base.fbin ... +#pts in part = 10000000, #dims = 192, size = 7680000000B +Finished reading part of the bin file. +Finished converting part data to float. +[5.322 s] Loaded base vectors from ../yfcc//base.fbin +[5.322 s] Adding vectors to indexes +[167.154 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[1.985 s] Wrote hybrid index to file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727474688.000 +[24.054 s] *** Done filter_ids_map 20.093 +[24.054 s] *** Start search 1727474712.000000 +[24.399 s] *** Search done. Query time: 0.344744 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.399 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 436221 (5,23,24,34553,31598,30839,21873,21590,16629,9790,7248,6778,5687,1448,945,426) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) 734948 (9,15,24,2416,1448) + dis: 67213 79863 79882 81201 82370 88860 94257 95551 98027 99992 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.484 +[211.026 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..f427b86 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=10_gamma=10_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 15:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.752 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.072 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.079 s] Loaded 5000 queries +--ACORN index created +SearchOnly 10 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 10 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 10 +[0.000 s] *** Start filter_ids_map 1727474734.000 +[24.611 s] *** Done filter_ids_map 20.230 +[24.611 s] *** Start search 1727474758.000000 +[24.991 s] *** Search done. Query time: 0.379361 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.991 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 116992 (3,19,24,43581,3922,1448) 397787 (9,23,24,91498,52467,52466,52465,18811,12296,9541,8423,6768,6614,5614,4404,2139,1526,1448,540) 6918 (4,14,24,90,346,74138,59104,48534,15534,12445,10943,3965,3575,2686,1556,1448,1226,1155,463) 473527 (1,22,24,149,2063,1448) 525788 (7,23,24,11260,7777,3120,2686,2200,1556,1448,832) + dis: 101307 107501 108202 112167 113214 121132 125042 127828 129360 129455 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.307 +[43.541 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..f8312af --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 15:08 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.872 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.079 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.086 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727474920.000 +[23.608 s] *** Done filter_ids_map 19.775 +[23.608 s] *** Start search 1727474943.000000 +[24.152 s] *** Search done. Query time: 0.543817 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[24.153 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 436221 (5,23,24,34553,31598,30839,21873,21590,16629,9790,7248,6778,5687,1448,945,426) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) 734948 (9,15,24,2416,1448) + dis: 67213 79863 79882 81201 82370 88860 94257 95551 98027 99992 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.493 +[42.845 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..fcb4285 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=20_gamma=10_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 15:06 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.794 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.077 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.085 s] Loaded 5000 queries +--ACORN index created +SearchOnly 20 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 20 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 20 +[0.000 s] *** Start filter_ids_map 1727474779.000 +[25.591 s] *** Done filter_ids_map 21.086 +[25.591 s] *** Start search 1727474805.000000 +[26.013 s] *** Search done. Query time: 0.421997 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[26.013 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) 966417 (5,23,24,22074,8153,4894,4736,1448) 844874 (5,23,24,90,336,38006,30575,25449,18721,18152,11533,6908,6045,3561,2652,2089,1448,666) 214612 (4,18,24,132,151753,43308,38635,15646,7871,3784,1448) 235972 (3,22,24,90,338,27443,7903,1448) 116992 (3,19,24,43581,3922,1448) + dis: 101307 107501 108202 109321 112167 112308 113214 114576 117814 121132 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.387 +[44.711 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..6c30c2e --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 15:06 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.832 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.081 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.091 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727474826.000 +[25.953 s] *** Done filter_ids_map 21.548 +[25.953 s] *** Start search 1727474852.000000 +[26.393 s] *** Search done. Query time: 0.439431 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[26.394 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 173457 (4,17,24,30403,13078,6899,3763,1448) 9105 (6,20,24,6288,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) 966417 (5,23,24,22074,8153,4894,4736,1448) + dis: 81201 101307 101561 106103 107501 108202 108943 109321 112167 112308 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.446 +[45.019 s] -----DONE----- diff --git a/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..e87b765 --- /dev/null +++ b/09-27-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,107 @@ +Start time: 15:07 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.792 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.082 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.091 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727474873.000 +[24.797 s] *** Done filter_ids_map 20.394 +[24.797 s] *** Start search 1727474898.000000 +[25.269 s] *** Search done. Query time: 0.471656 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[25.269 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) 845336 (4,17,24,133,13532,1448) 173457 (4,17,24,30403,13078,6899,3763,1448) 9105 (6,20,24,6288,1448) 724664 (5,15,24,99,2034,1448) + dis: 79882 81201 82370 94257 95551 98027 100714 101307 101561 102220 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.478 +[43.798 s] -----DONE----- diff --git a/09-27-2024_experiments/summary_amazon.txt b/09-27-2024_experiments/summary_amazon.txt new file mode 100644 index 0000000..f2a9c1a --- /dev/null +++ b/09-27-2024_experiments/summary_amazon.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,100,40,32,32,1,0.757,3.945, 329.961 +1000000,5000,100,80,32,32,1,0.840,5.848, 331.669 +1000000,5000,100,150,32,32,1,0.880,10.607, 364.609 +1000000,5000,100,40,32,32,10,0.757,3.975, 339.309 +1000000,5000,100,80,32,32,10,0.840,5.888, 356.709 +1000000,5000,100,150,32,32,10,0.880,8.787, 338.389 +1000000,5000,100,40,64,64,1,0.892,6.292, 335.278 +1000000,5000,100,80,64,64,1,0.925,9.436, 338.634 +1000000,5000,100,150,64,64,1,0.940,13.450, 331.656 +1000000,5000,100,40,64,64,10,0.892,7.785, 356.308 +1000000,5000,100,80,64,64,10,0.925,10.967, 359.401 +1000000,5000,100,150,64,64,10,0.940,13.877, 341.670 diff --git a/09-27-2024_experiments/summary_amazon_efc100.txt b/09-27-2024_experiments/summary_amazon_efc100.txt new file mode 100644 index 0000000..69e5658 --- /dev/null +++ b/09-27-2024_experiments/summary_amazon_efc100.txt @@ -0,0 +1,31 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,100,10,16,16,1,0.311,0.236644,15.088 +1000000,5000,100,20,16,16,1,0.461,0.183346,13.844 +1000000,5000,100,40,16,16,1,0.605,0.406628,16.496 +1000000,5000,100,80,16,16,1,0.734,0.462834,14.527 +1000000,5000,100,150,16,16,1,0.810,0.339717,13.747 +1000000,5000,100,10,16,16,10,0.311,0.350683,16.040 +1000000,5000,100,20,16,16,10,0.461,0.140437,13.632 +1000000,5000,100,40,16,16,10,0.605,0.287484,15.033 +1000000,5000,100,80,16,16,10,0.734,0.352963,14.252 +1000000,5000,100,150,16,16,10,0.810,0.486932,15.851 +1000000,5000,100,10,32,32,1,0.508,0.168673,13.804 +1000000,5000,100,20,32,32,1,0.647,0.204490,13.844 +1000000,5000,100,40,32,32,1,0.757,0.247885,14.409 +1000000,5000,100,80,32,32,1,0.840,0.385375,14.007 +1000000,5000,100,150,32,32,1,0.880,0.488154,14.837 +1000000,5000,100,10,32,32,10,0.508,0.161625,14.119 +1000000,5000,100,20,32,32,10,0.647,0.205994,13.989 +1000000,5000,100,40,32,32,10,0.757,0.437305,15.606 +1000000,5000,100,80,32,32,10,0.840,0.401132,13.994 +1000000,5000,100,150,32,32,10,0.880,0.475391,14.108 +1000000,5000,100,10,64,64,1,0.727,0.439874,16.023 +1000000,5000,100,20,64,64,1,0.835,0.407763,15.659 +1000000,5000,100,40,64,64,1,0.892,0.533505,16.011 +1000000,5000,100,80,64,64,1,0.925,0.602833,15.210 +1000000,5000,100,150,64,64,1,0.940,0.849950,15.914 +1000000,5000,100,10,64,64,10,0.727,0.414090,16.027 +1000000,5000,100,20,64,64,10,0.835,0.468327,16.087 +1000000,5000,100,40,64,64,10,0.892,0.541032,14.887 +1000000,5000,100,80,64,64,10,0.925,0.643416,15.694 +1000000,5000,100,150,64,64,10,0.940,0.813682,14.666 diff --git a/09-27-2024_experiments/summary_amazon_efc40.txt b/09-27-2024_experiments/summary_amazon_efc40.txt new file mode 100644 index 0000000..82b51a6 --- /dev/null +++ b/09-27-2024_experiments/summary_amazon_efc40.txt @@ -0,0 +1,31 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,40,10,16,16,1,0.282,0.294751,16.069 +1000000,5000,40,20,16,16,1,0.413,0.152859,14.247 +1000000,5000,40,40,16,16,1,0.545,0.238480,13.929 +1000000,5000,40,80,16,16,1,0.654,0.417456,16.118 +1000000,5000,40,150,16,16,1,0.732,0.336339,13.885 +1000000,5000,40,10,16,16,10,0.294,0.056172,13.270 +1000000,5000,40,20,16,16,10,0.419,0.269702,15.384 +1000000,5000,40,40,16,16,10,0.543,0.273087,15.604 +1000000,5000,40,80,16,16,10,0.653,0.421323,15.472 +1000000,5000,40,150,16,16,10,0.729,0.402490,13.737 +1000000,5000,40,10,32,32,1,0.491,0.267488,15.377 +1000000,5000,40,20,32,32,1,0.623,0.229357,15.718 +1000000,5000,40,40,32,32,1,0.726,0.302061,14.611 +1000000,5000,40,80,32,32,1,0.800,0.387328,14.186 +1000000,5000,40,150,32,32,1,0.842,0.506997,13.510 +1000000,5000,40,10,32,32,10,0.482,0.256024,15.170 +1000000,5000,40,20,32,32,10,0.612,0.271184,15.616 +1000000,5000,40,40,32,32,10,0.712,0.296364,13.770 +1000000,5000,40,80,32,32,10,0.785,0.396935,15.806 +1000000,5000,40,150,32,32,10,0.826,0.516765,14.153 +1000000,5000,40,10,64,64,1,0.616,0.225046,14.513 +1000000,5000,40,20,64,64,1,0.714,0.186787,16.004 +1000000,5000,40,40,64,64,1,0.782,0.326737,15.323 +1000000,5000,40,80,64,64,1,0.828,0.423210,13.915 +1000000,5000,40,150,64,64,1,0.854,0.485970,14.365 +1000000,5000,40,10,64,64,10,0.619,0.300520,14.572 +1000000,5000,40,20,64,64,10,0.715,0.314935,18.154 +1000000,5000,40,40,64,64,10,0.785,0.274405,13.864 +1000000,5000,40,80,64,64,10,0.832,0.429380,15.067 +1000000,5000,40,150,64,64,10,0.861,0.586645,14.516 diff --git a/09-27-2024_experiments/summary_wikichohere.txt b/09-27-2024_experiments/summary_wikichohere.txt new file mode 100644 index 0000000..be00204 --- /dev/null +++ b/09-27-2024_experiments/summary_wikichohere.txt @@ -0,0 +1,6 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time +1000000,5000,100,40,32,32,1,, +1000000,5000,100,80,32,32,1,, +1000000,5000,100,150,32,32,1,, +1000000,5000,100,40,32,32,10,, +1000000,5000,100,80,32,32,10,, diff --git a/09-27-2024_experiments/summary_wikicohere.txt b/09-27-2024_experiments/summary_wikicohere.txt new file mode 100644 index 0000000..92c4bbc --- /dev/null +++ b/09-27-2024_experiments/summary_wikicohere.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,100,40,32,32,1,,2.425, 454.335 +1000000,5000,100,80,32,32,1,,2.133, 453.218 +1000000,5000,100,150,32,32,1,,2.699, 440.093 +1000000,5000,100,40,32,32,10,,1.687, 448.171 +1000000,5000,100,80,32,32,10,,3.171, 463.437 +1000000,5000,100,150,32,32,10,,2.681, 444.822 +1000000,5000,100,40,64,64,1,,2.611, 445.760 +1000000,5000,100,80,64,64,1,,5.287, 464.571 +1000000,5000,100,150,64,64,1,,6.726, 453.126 +1000000,5000,100,40,64,64,10,,2.640, 449.060 +1000000,5000,100,80,64,64,10,,3.473, 444.253 +1000000,5000,100,150,64,64,10,,6.669, 461.995 diff --git a/09-27-2024_experiments/summary_wikicohere_efc40.txt b/09-27-2024_experiments/summary_wikicohere_efc40.txt new file mode 100644 index 0000000..472fe5d --- /dev/null +++ b/09-27-2024_experiments/summary_wikicohere_efc40.txt @@ -0,0 +1,31 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,40,10,16,16,1,0.056,0.268965,24.238 +1000000,5000,40,20,16,16,1,0.060,0.323115,24.696 +1000000,5000,40,40,16,16,1,0.064,0.236549,26.729 +1000000,5000,40,80,16,16,1,0.067,0.040139,24.699 +1000000,5000,40,150,16,16,1,0.069,0.299416,27.474 +1000000,5000,40,10,16,16,10,0.056,0.256828,30.149 +1000000,5000,40,20,16,16,10,0.060,0.033761,26.080 +1000000,5000,40,40,16,16,10,0.064,0.035767,25.251 +1000000,5000,40,80,16,16,10,0.067,0.288486,25.920 +1000000,5000,40,150,16,16,10,0.069,0.286011,30.942 +1000000,5000,40,10,32,32,1,0.068,0.035618,25.338 +1000000,5000,40,20,32,32,1,0.075,0.333407,31.009 +1000000,5000,40,40,32,32,1,0.082,0.339779,25.582 +1000000,5000,40,80,32,32,1,0.087,0.305141,25.054 +1000000,5000,40,150,32,32,1,0.090,0.060813,24.726 +1000000,5000,40,10,32,32,10,0.068,0.246021,24.783 +1000000,5000,40,20,32,32,10,0.075,0.289014,26.461 +1000000,5000,40,40,32,32,10,0.082,0.273015,26.942 +1000000,5000,40,80,32,32,10,0.087,0.311055,25.324 +1000000,5000,40,150,32,32,10,0.090,0.342757,26.817 +1000000,5000,40,10,64,64,1,0.064,0.297138,24.900 +1000000,5000,40,20,64,64,1,0.071,0.277798,27.542 +1000000,5000,40,40,64,64,1,0.077,0.305784,25.175 +1000000,5000,40,80,64,64,1,0.083,0.345697,25.323 +1000000,5000,40,150,64,64,1,0.086,0.427557,29.959 +1000000,5000,40,10,64,64,10,0.064,0.331597,24.997 +1000000,5000,40,20,64,64,10,0.071,0.314331,25.674 +1000000,5000,40,40,64,64,10,0.077,0.343332,33.547 +1000000,5000,40,80,64,64,10,0.083,0.135766,25.289 +1000000,5000,40,150,64,64,10,0.086,0.193794,24.591 diff --git a/09-27-2024_experiments/summary_yfcc.txt b/09-27-2024_experiments/summary_yfcc.txt new file mode 100644 index 0000000..3b2b493 --- /dev/null +++ b/09-27-2024_experiments/summary_yfcc.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,100,40,32,32,1,0.331,2.382, 357.846 +1000000,5000,100,80,32,32,1,0.366,4.455, 367.064 +1000000,5000,100,150,32,32,1,0.388,6.160, 382.588 +1000000,5000,100,40,32,32,10,0.331,2.662, 359.546 +1000000,5000,100,80,32,32,10,0.366,3.720, 380.957 +1000000,5000,100,150,32,32,10,0.388,4.974, 375.280 +1000000,5000,100,40,64,64,1,0.446,5.006, 374.075 +1000000,5000,100,80,64,64,1,0.478,7.076, 374.498 +1000000,5000,100,150,64,64,1,0.493,9.931, 366.576 +1000000,5000,100,40,64,64,10,0.446,4.919, 365.268 +1000000,5000,100,80,64,64,10,0.478,6.628, 365.208 +1000000,5000,100,150,64,64,10,0.493,9.871, 366.123 \ No newline at end of file diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..d1ef4cc --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,126 @@ +Start time: 12:06 +Start time: 12:07 +Max threads available: 64 +[Config] N: 1000000, nq: 10, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[5.817 s] Loaded metadata, 10000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.030 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.031 s] Loaded 10 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wiki_normalized//base.fbin ... +#pts = 1000000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//base.fbin ... +#pts in part = 1000000, #dims = 769, size = 3076000000B +Finished reading part of the bin file. +Finished converting part data to float. +[2.189 s] Loaded base vectors from ../wiki_normalized//base.fbin +[2.189 s] Adding vectors to indexes +[256.334 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.219 s] Wrote hybrid index to file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.30 (77296747) + 3. nb of reciprocal neighbors: 34.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.15 (72147613) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.60 (4456799) + 3. nb of reciprocal neighbors: 94.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.14 (4129985) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 170.42 (166670) + 3. nb of reciprocal neighbors: 158.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 170.34 (166589) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999825 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 10 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727550719.000 +[8.755 s] *** Done filter_ids_map 1.147 +[8.757 s] *** Done Query 0.002 +config nq: 10 dis size:100nns size:100id map:10000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[8.757 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) 475214 (115,3582,842,1,7,2776,112,1438,41,214,81,2114,2007,708,1604,272,233,1083,1846,1701,177,576,3090,4,425,122,251,2577,1327,347,3839,1013,1544,1777,0,21 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 0.73111 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.090 +[276.499 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..d9f1b6c --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 12:28 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.202 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.30 (77296747) + 3. nb of reciprocal neighbors: 34.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.15 (72147613) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.60 (4456799) + 3. nb of reciprocal neighbors: 94.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.14 (4129985) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 170.42 (166670) + 3. nb of reciprocal neighbors: 158.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 170.34 (166589) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999825 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727551751.000 +[467.170 s] *** Done filter_ids_map 456.137 +[471.264 s] *** Done Query 4.094 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[471.264 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) 475214 (115,3582,842,1,7,2776,112,1438,41,214,81,2114,2007,708,1604,272,233,1083,1846,1701,177,576,3090,4,425,122,251,2577,1327,347,3839,1013,1544,1777,0,21 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 0.73111 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.157 +[491.541 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..010c7b1 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 12:12 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.197 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.30 (77296747) + 3. nb of reciprocal neighbors: 34.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.15 (72147613) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.60 (4456799) + 3. nb of reciprocal neighbors: 94.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.14 (4129985) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 170.42 (166670) + 3. nb of reciprocal neighbors: 158.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 170.34 (166589) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999825 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727550753.000 +[470.229 s] *** Done filter_ids_map 459.104 +[472.726 s] *** Done Query 2.497 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[472.726 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) 475214 (115,3582,842,1,7,2776,112,1438,41,214,81,2114,2007,708,1604,272,233,1083,1846,1701,177,576,3090,4,425,122,251,2577,1327,347,3839,1013,1544,1777,0,21 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 0.73111 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.131 +[492.836 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..9366c9b --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 12:20 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.327 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.30 (77296747) + 3. nb of reciprocal neighbors: 34.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.15 (72147613) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.60 (4456799) + 3. nb of reciprocal neighbors: 94.25 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.14 (4129985) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 170.42 (166670) + 3. nb of reciprocal neighbors: 158.37 + 4. nb of neighbors that are also neighbor-of-neighbors: 170.34 (166589) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999825 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727551254.000 +[465.372 s] *** Done filter_ids_map 454.080 +[468.591 s] *** Done Query 3.219 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[468.591 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) 475214 (115,3582,842,1,7,2776,112,1438,41,214,81,2114,2007,708,1604,272,233,1083,1846,1701,177,576,3090,4,425,122,251,2577,1327,347,3839,1013,1544,1777,0,21 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 0.73111 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.146 +[489.061 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..bc3b6c5 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 08:44 diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..375c6d8 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 09:01 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.168 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.027 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727539319.000 +[494.177 s] *** Done filter_ids_map 483.034 +[498.312 s] *** Done Query 4.134 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[498.312 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.163 +[518.783 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..f55d0a7 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 08:44 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.377 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727538289.000 +[485.568 s] *** Done filter_ids_map 472.170 +[487.991 s] *** Done Query 2.424 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[487.992 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.141 +[508.248 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..3c751cf --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 08:53 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.141 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727538806.000 +[480.466 s] *** Done filter_ids_map 469.356 +[483.686 s] *** Done Query 3.220 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[483.686 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.153 +[503.947 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..27e0812 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 01:22 diff --git a/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..e15d241 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,115 @@ +Start time: 01:35 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.822 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.079 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.090 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727512548.000 +[386.820 s] *** Done filter_ids_map 382.588 +[392.981 s] *** Done Query 6.160 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[392.981 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 487665 (6,15,24,14104,13468,3732,1554,1448) 173457 (4,17,24,30403,13078,6899,3763,1448) 724664 (5,15,24,99,2034,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 21414 (4,23,24,50145,43748,33546,16645,13042,9918,9656,5894,5650,4404,3868,3030,1641,1448,1355,933) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) + dis: 94257 101307 102220 106103 106515 106945 107113 107501 108202 108943 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.388 +[407.229 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..8810b56 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,115 @@ +Start time: 01:22 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.890 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.076 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.084 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727511774.000 +[362.214 s] *** Done filter_ids_map 357.846 +[364.596 s] *** Done Query 2.382 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[364.596 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 893287 (6,17,24,90,364,125422,97386,50560,33092,28943,26597,15170,9515,7572,5894,4177,3431,1657,1448) 367118 (5,17,24,147893,46354,34965,18312,17293,15289,3110,1448) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 343096 (9,22,24,152170,103319,86870,80413,60004,52803,40484,29121,24600,16929,15735,15728,15538,14389,13548,13037,11332,10262,9179,8229,6464,4823,4761,4448,3091,2896,2339,1978,1448,415) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 881303 (4,18,24,107,13729,10657,6187,1448) + dis: 106103 106515 108943 109321 112431 114050 114734 118412 119478 119772 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.331 +[378.749 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..10ae40b --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,115 @@ +Start time: 01:29 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.795 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.076 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.085 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727512155.000 +[371.393 s] *** Done filter_ids_map 367.064 +[375.848 s] *** Done Query 4.455 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[375.848 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 21414 (4,23,24,50145,43748,33546,16645,13042,9918,9656,5894,5650,4404,3868,3030,1641,1448,1355,933) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) + dis: 101307 106103 106515 106945 107113 107501 108202 108943 109321 112167 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.366 +[389.966 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..56c2c62 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1,125 @@ +Start time: 12:07 +Start time: 12:37 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.428 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.030 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.031 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wiki_normalized//base.fbin ... +#pts = 1000000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//base.fbin ... +#pts in part = 1000000, #dims = 769, size = 3076000000B +Finished reading part of the bin file. +Finished converting part data to float. +[2.034 s] Loaded base vectors from ../wiki_normalized//base.fbin +[2.034 s] Adding vectors to indexes +[253.594 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[4.238 s] Wrote hybrid index to file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.31 (77305345) + 3. nb of reciprocal neighbors: 34.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.16 (72164791) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.98 (4468764) + 3. nb of reciprocal neighbors: 95.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.59 (4143912) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 169.38 (165653) + 3. nb of reciprocal neighbors: 156.83 + 4. nb of neighbors that are also neighbor-of-neighbors: 169.28 (165552) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.22 (681) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999806 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727552507.000 +[529.791 s] *** Done filter_ids_map 518.889 +[532.408 s] *** Done Query 2.617 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[532.408 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.164 +[808.181 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..6fd825e --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 13:07 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.417 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.031 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.031 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.31 (77305345) + 3. nb of reciprocal neighbors: 34.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.16 (72164791) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.98 (4468764) + 3. nb of reciprocal neighbors: 95.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.59 (4143912) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 169.38 (165653) + 3. nb of reciprocal neighbors: 156.83 + 4. nb of neighbors that are also neighbor-of-neighbors: 169.28 (165552) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.22 (681) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999806 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727554084.000 +[460.763 s] *** Done filter_ids_map 447.440 +[463.734 s] *** Done Query 2.972 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[463.735 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.171 +[484.031 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..f8802f6 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 12:50 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.270 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.31 (77305345) + 3. nb of reciprocal neighbors: 34.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.16 (72164791) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.98 (4468764) + 3. nb of reciprocal neighbors: 95.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.59 (4143912) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 169.38 (165653) + 3. nb of reciprocal neighbors: 156.83 + 4. nb of neighbors that are also neighbor-of-neighbors: 169.28 (165552) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.22 (681) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999806 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727553065.000 +[480.028 s] *** Done filter_ids_map 469.099 +[482.635 s] *** Done Query 2.607 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[482.635 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.145 +[502.742 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..4b73dbc --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 12:59 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.377 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 77.31 (77305345) + 3. nb of reciprocal neighbors: 34.60 + 4. nb of neighbors that are also neighbor-of-neighbors: 72.16 (72164791) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 142.98 (4468764) + 3. nb of reciprocal neighbors: 95.09 + 4. nb of neighbors that are also neighbor-of-neighbors: 132.59 (4143912) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 169.38 (165653) + 3. nb of reciprocal neighbors: 156.83 + 4. nb of neighbors that are also neighbor-of-neighbors: 169.28 (165552) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.22 (681) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999806 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727553576.000 +[475.740 s] *** Done filter_ids_map 462.382 +[479.103 s] *** Done Query 3.363 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[479.103 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 432699 (155,206,307,1,867,473,1071,573,326,1943,173,397,54,334,67,300,30,236,243,246,734,27,401,1363,2595,189,1618,3652,46,464,1406,392,605,2157,211,1560,477,152,1642,1496,679,51,308,12,715,63,579,332,3111,108,354,737,677,2890,585,3721,185,728,1596,186 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.859555 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.604864 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601614 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.601052 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.64882 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.160 +[499.625 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..f76715d --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 09:10 diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..eb8c7a1 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 09:27 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.212 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727540861.000 +[462.855 s] *** Done filter_ids_map 451.391 +[465.520 s] *** Done Query 2.665 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[465.520 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.163 +[485.491 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..b79cc15 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 09:10 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.460 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.027 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.027 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727539847.000 +[467.728 s] *** Done filter_ids_map 459.312 +[470.234 s] *** Done Query 2.506 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[470.234 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.141 +[491.068 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..b810374 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,113 @@ +Start time: 09:18 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.106 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727540344.000 +[483.890 s] *** Done filter_ids_map 472.671 +[487.156 s] *** Done Query 3.266 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[487.156 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 150.908 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.401 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.392 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.215 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.153 +[507.165 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..ae367ef --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 01:42 diff --git a/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..cf1d493 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,115 @@ +Start time: 01:55 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.397 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.084 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.094 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727513746.000 +[378.773 s] *** Done filter_ids_map 375.280 +[383.747 s] *** Done Query 4.974 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[383.748 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 487665 (6,15,24,14104,13468,3732,1554,1448) 173457 (4,17,24,30403,13078,6899,3763,1448) 724664 (5,15,24,99,2034,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 21414 (4,23,24,50145,43748,33546,16645,13042,9918,9656,5894,5650,4404,3868,3030,1641,1448,1355,933) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) + dis: 94257 101307 102220 106103 106515 106945 107113 107501 108202 108943 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.388 +[399.251 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..1cf9911 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,115 @@ +Start time: 01:42 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.845 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.071 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.078 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727512958.000 +[363.832 s] *** Done filter_ids_map 359.546 +[366.494 s] *** Done Query 2.662 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[366.494 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 893287 (6,17,24,90,364,125422,97386,50560,33092,28943,26597,15170,9515,7572,5894,4177,3431,1657,1448) 367118 (5,17,24,147893,46354,34965,18312,17293,15289,3110,1448) 814306 (5,23,24,90,353,167914,167913,126757,111290,95066,90848,85570,57288,52958,48266,46305,38128,32863,31875,30091,28636,25285,23406,19932,18721,15218,13657,12258,12257,11531,11131,9240,7762,7543,7388,6969,6941,6934,6602,6479,6025,5808,5592,5519,4604,4404,3976,3907,3715,3514,3352,3335,3200,3121,3030,2657,2614,2513,2424,2211,2017,1875,1841,1838,1644,1528,1448,1338,1337,1135,933,821,767,733,704,655,651,540) 343096 (9,22,24,152170,103319,86870,80413,60004,52803,40484,29121,24600,16929,15735,15728,15538,14389,13548,13037,11332,10262,9179,8229,6464,4823,4761,4448,3091,2896,2339,1978,1448,415) 454900 (10,15,24,81175,16047,15573,12058,10476,8558,7307,7264,5717,4455,4351,3955,3778,1448,1361,1319,1128) 881303 (4,18,24,107,13729,10657,6187,1448) + dis: 106103 106515 108943 109321 112431 114050 114734 118412 119478 119772 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.331 +[380.563 s] -----DONE----- diff --git a/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..a7dec68 --- /dev/null +++ b/09-28-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,115 @@ +Start time: 01:48 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.033 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.073 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.081 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727513340.000 +[384.662 s] *** Done filter_ids_map 380.957 +[388.382 s] *** Done Query 3.720 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[388.382 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 202876 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (108758): 118295 (6,14,30) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 208751 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 118295 (6,14,30) 54566 (10,18,24,164814,164813,164812,164811,164703,158070,155367,152319,150953,149480,145807,140906,137420,136507,135128,134834,133708,133078,123928,121707,120220,119826,117664,116019,115097,114033,109462,109205,107208,105723,105616,105608,99722,97596,97577,92607,92582,90139,88157,87269,83854,83059,82414,81387,79573,78574,77896,77895,77878,77505,76899,76508,76376,76367,73587,72013,68696,68688,68650,68490,68466,67577,66034,63715,62357,61971,61966,61883,58154,58152,54503,52400,51739,51228,50429,50421,50400,50328,49657,49433,49398,48819,47877,47446,45952,45642,43051,42683,42443,42145,41269,41255,41244,41211,41188,41184,38278,37955,37947,35895,35845,35190,33706,33439,31788,30792,30535,30357,29967,29320,28401,27993,27534,27460,26880,26788,25719,25530,25238,25231,24867,24866,24863,24859,24857,24856,24855,24100,23749,23670,23669,23161,21771,20896,18061,17927,17800,17736,17690,17481,17480,17479,17478,17477,17476,17475,17474,17473,17248,16978,16969,16763,16570,15899,15891,15676,15343,15342,15325,15167,14734,14686,14518,13816,13803,13723,12973,12653,12652,11479,11417,11144,11140,11138,10918,10898,10769,10762,10472,10470,10469,10468,10467,10466,10465,10349,10339,9720,9701,8661,8655,8653,8644,8637,8620,8380,8348,8208,8203,8055,7467,7177,7162,7143,7109,7104,7098,7095,7081,7077,7070,7069,7066,7065,7058,6599,6577,6417,6180,6073,5693,5538,5498,5474,5453,5443,5365,5334,5227,5215,5195,5172,5062,4808,4679,4662,4607,4055,4053,4005,3688,3620,3615,3614,3611,3475,3394,3392,3280,2678,2557,2460,2359,2213,2154,2148,1938,1800,1771,1698,1446,1289,1215,1204,1120,969,754,742,469,465,458) 15652 (9,20,30,92,108930,108929,108928,12572,11071,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8231,8203,8119,8106,7359,7216,7215,7098,7089,7086,7059,6002,5714,5693,5538,5495,5453,5373,5215,5086,5030,4816,4616,4095,4053,3880,3688,3607,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465) 952637 (8,14,25,185826,183586,174642,171251,168224,164227,160680,155327,144508,142205,137344,135228,134960,132810,130347,122307,116571,112011,110709,109609,106543,104249,98487,97974,96323,95071,92616,88157,83311,82277,80863,80510,79581,79537,77046,77005,76893,76880,76011,69991,69273,69267,68645,67761,67486,67081,67077,66312,65394,63297,63289,63259,62528,61964,61075,59802,58721,57848,54233,54192,54064,53525,52961,50146,49699,49643,48706,43778,43292,42683,42073,41223,41207,41200,41192,40628,40013,38305,37955,37949,37829,34619,34279,34150,34005,33678,33674,33512,33074,31934,30946,30698,29411,28397,28103,28077,27612,27329,27302,27296,26883,26851,26039,25863,25861,25654,25609,24671,24465,24159,22952,22430,21774,19407,18992,18061,17777,17736,17663,17531,17195,16979,16565,16434,15513,15446,15367,14374,14013,13999,13383,13363,13329,13308,13292,12863,12830,12660,12227,11741,11579,11141,11140,11136,11041,10344,10123,9093,8771,8741,8655,8647,8646,8645,8644,8632,8624,8620,8359,8224,8218,8204,8028,7793,7218,7177,7162,7148,7108,7107,7098,7079,7070,6763,6599,6577,6576,6039,6010,5823,5693,5674,5454,5453,5422,5413,5408,5374,5287,5215,5211,5206,5196,5163,5085,5047,4837,4679,4615,4095,4074,4054,3923,3652,3620,3615,3401,3280,2598,2448,2213,2148,1814,1808,1586,1481,1289,1184,969,965,860,470,465,464,456) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 126312 137525 149415 167476 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (1448&24): 173457 (4,17,24,30403,13078,6899,3763,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 292282 (3,18,24,58096,1448) 947801 (6,16,24,176439,79281,21449,3505,2064,1448) 21414 (4,23,24,50145,43748,33546,16645,13042,9918,9656,5894,5650,4404,3868,3030,1641,1448,1355,933) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) + dis: 101307 106103 106515 106945 107113 107501 108202 108943 109321 112167 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.366 +[402.794 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..c5e262c --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1,115 @@ +Start time: 13:15 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.149 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wiki_normalized//base.fbin ... +#pts = 1000000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//base.fbin ... +#pts in part = 1000000, #dims = 769, size = 3076000000B +Finished reading part of the bin file. +Finished converting part data to float. +[2.021 s] Loaded base vectors from ../wiki_normalized//base.fbin +[2.021 s] Adding vectors to indexes +[527.844 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[2.568 s] Wrote hybrid index to file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.45 (132445137) + 3. nb of reciprocal neighbors: 71.99 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128677708) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.80 (2736086) + 3. nb of reciprocal neighbors: 153.64 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.27 (2712210) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.01 (30873) + 3. nb of reciprocal neighbors: 146.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.98 (30866) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999922 nodes + level 1: 15649 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727555105.000 +[516.765 s] *** Done filter_ids_map 506.248 +[520.872 s] *** Done Query 4.107 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[520.872 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 337927 (9,1085,2023,94,425,2129,454,3392,158,39,2114,81,0,463,2769,29,766,1577,804,1255,2947,3075,2977,1109,956,461,366,1884,754,350,438,650,116,1143,897,178,1500,1770,548,2620,21,3024,562,6,214,831,225,279,35,1547,147,2970,2158 ) 174907 (28,2688,841,3200,9,3478,1321,585,3878,2528,184,3810,984,2194,1703,900,693,57,2848,3015,3326,3255,2626,5,23,139,839,2685,1493,790,890,0,1938,1343,653,425,2871,741,102,406,264,121,2072,420,811,632,2837,1141,1933,3521,94,130,981,1072,2312,178,217,1253,27,1255,435 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) + dis: 0.560535 0.561951 0.565938 0.566801 0.571218 0.574752 0.575336 0.575574 0.576801 0.578277 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.180 +[1073.034 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..bad4eca --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 13:50 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.339 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.030 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.45 (132445137) + 3. nb of reciprocal neighbors: 71.99 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128677708) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.80 (2736086) + 3. nb of reciprocal neighbors: 153.64 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.27 (2712210) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.01 (30873) + 3. nb of reciprocal neighbors: 146.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.98 (30866) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999922 nodes + level 1: 15649 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727556657.000 +[450.122 s] *** Done filter_ids_map 438.964 +[454.560 s] *** Done Query 4.437 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[454.560 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 337927 (9,1085,2023,94,425,2129,454,3392,158,39,2114,81,0,463,2769,29,766,1577,804,1255,2947,3075,2977,1109,956,461,366,1884,754,350,438,650,116,1143,897,178,1500,1770,548,2620,21,3024,562,6,214,831,225,279,35,1547,147,2970,2158 ) 174907 (28,2688,841,3200,9,3478,1321,585,3878,2528,184,3810,984,2194,1703,900,693,57,2848,3015,3326,3255,2626,5,23,139,839,2685,1493,790,890,0,1938,1343,653,425,2871,741,102,406,264,121,2072,420,811,632,2837,1141,1933,3521,94,130,981,1072,2312,178,217,1253,27,1255,435 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) + dis: 0.560535 0.561951 0.565938 0.566801 0.571218 0.574752 0.575336 0.575574 0.576801 0.578277 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.184 +[479.485 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..2e9ec2a --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 13:33 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.395 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.45 (132445137) + 3. nb of reciprocal neighbors: 71.99 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128677708) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.80 (2736086) + 3. nb of reciprocal neighbors: 153.64 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.27 (2712210) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.01 (30873) + 3. nb of reciprocal neighbors: 146.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.98 (30866) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999922 nodes + level 1: 15649 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727555656.000 +[452.306 s] *** Done filter_ids_map 441.172 +[456.077 s] *** Done Query 3.771 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[456.077 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 0.560535 0.561951 0.565938 0.566801 0.575336 0.575574 0.576801 0.578277 0.583393 0.584332 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.163 +[480.943 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..1c0c0ed --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 13:42 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.407 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.030 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.030 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.45 (132445137) + 3. nb of reciprocal neighbors: 71.99 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128677708) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.80 (2736086) + 3. nb of reciprocal neighbors: 153.64 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.27 (2712210) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.01 (30873) + 3. nb of reciprocal neighbors: 146.72 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.98 (30866) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999922 nodes + level 1: 15649 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727556146.000 +[473.190 s] *** Done filter_ids_map 462.320 +[478.234 s] *** Done Query 5.045 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[478.235 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 337927 (9,1085,2023,94,425,2129,454,3392,158,39,2114,81,0,463,2769,29,766,1577,804,1255,2947,3075,2977,1109,956,461,366,1884,754,350,438,650,116,1143,897,178,1500,1770,548,2620,21,3024,562,6,214,831,225,279,35,1547,147,2970,2158 ) 174907 (28,2688,841,3200,9,3478,1321,585,3878,2528,184,3810,984,2194,1703,900,693,57,2848,3015,3326,3255,2626,5,23,139,839,2685,1493,790,890,0,1938,1343,653,425,2871,741,102,406,264,121,2072,420,811,632,2837,1141,1933,3521,94,130,981,1072,2312,178,217,1253,27,1255,435 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) + dis: 0.560535 0.561951 0.565938 0.566801 0.571218 0.574752 0.575336 0.575574 0.576801 0.578277 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.177 +[503.072 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..f8c704d --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 09:35 diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..6fd08c8 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 09:52 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.589 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.028 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727542375.000 +[456.722 s] *** Done filter_ids_map 445.693 +[461.427 s] *** Done Query 4.704 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[461.427 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.199 +[486.260 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..e6299ef --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 09:35 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.327 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727541356.000 +[481.147 s] *** Done filter_ids_map 474.112 +[485.149 s] *** Done Query 4.002 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[485.149 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.177 +[509.680 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..6c8e110 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 09:44 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.398 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.031 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.031 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727541875.000 +[463.810 s] *** Done filter_ids_map 453.048 +[467.339 s] *** Done Query 3.529 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[467.339 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.191 +[492.238 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..7c6d1d7 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 02:02 diff --git a/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..ca34ba9 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,106 @@ +Start time: 02:15 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.746 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.089 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.099 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727514961.000 +[370.825 s] *** Done filter_ids_map 366.576 +[380.756 s] *** Done Query 9.931 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[380.756 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 436221 (5,23,24,34553,31598,30839,21873,21590,16629,9790,7248,6778,5687,1448,945,426) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) 734948 (9,15,24,2416,1448) + dis: 67213 79863 79882 81201 82370 88860 94257 95551 98027 99992 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.493 +[399.369 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..d68e96d --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,106 @@ +Start time: 02:02 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.721 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.082 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.088 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727514151.000 +[377.732 s] *** Done filter_ids_map 374.075 +[382.739 s] *** Done Query 5.006 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[382.739 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 173457 (4,17,24,30403,13078,6899,3763,1448) 9105 (6,20,24,6288,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) 966417 (5,23,24,22074,8153,4894,4736,1448) + dis: 81201 101307 101561 106103 107501 108202 108943 109321 112167 112308 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.446 +[401.985 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..d9ac8bb --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,106 @@ +Start time: 02:08 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.812 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.075 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.083 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727514555.000 +[378.796 s] *** Done filter_ids_map 374.498 +[385.873 s] *** Done Query 7.076 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[385.873 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) 845336 (4,17,24,133,13532,1448) 173457 (4,17,24,30403,13078,6899,3763,1448) 9105 (6,20,24,6288,1448) 724664 (5,15,24,99,2034,1448) + dis: 79882 81201 82370 94257 95551 98027 100714 101307 101561 102220 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.478 +[404.388 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..d3b86f7 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1,115 @@ +Start time: 13:58 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.311 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 0 +[0.000 s] Loading database vectors +Reading bin file ../wiki_normalized//base.fbin ... +#pts = 1000000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//base.fbin ... +#pts in part = 1000000, #dims = 769, size = 3076000000B +Finished reading part of the bin file. +Finished converting part data to float. +[2.020 s] Loaded base vectors from ../wiki_normalized//base.fbin +[2.020 s] Adding vectors to indexes +[541.530 s] Added 1000000 vectors to indexes +====================Write Index==================== + +[5.201 s] Wrote hybrid index to file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 100 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.44 (132444808) + 3. nb of reciprocal neighbors: 71.98 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128679013) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.83 (2736657) + 3. nb of reciprocal neighbors: 153.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.31 (2712812) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.19 (30700) + 3. nb of reciprocal neighbors: 145.87 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.15 (30692) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999914 nodes + level 1: 15647 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 100 +[0.000 s] *** Start filter_ids_map 1727557686.000 +[572.804 s] *** Done filter_ids_map 562.409 +[576.847 s] *** Done Query 4.043 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[576.847 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 202934 (495,935,125,742,2649,1928,1011,718,2207,998,3053,6,2461,2058,574,1040,3272,3896,1678,23,2829,809,1173,1072,3069,425,2944,33,534,508,1319,2353,473,2028,1936,35,1722,989,1349,1617,585,912,50,67,1857,1600,2020,1975,929,15,796,561,728,502,3491,0,663,1192,43,2375,2528,134,3583,2,888,2543,1168,553,1455,316,2686,2681,3095,1877,636,552,2434,1202,2401,338,3021,3439,253,999,1746,2248,291,1402,2837,3870,680,68,1653 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 337927 (9,1085,2023,94,425,2129,454,3392,158,39,2114,81,0,463,2769,29,766,1577,804,1255,2947,3075,2977,1109,956,461,366,1884,754,350,438,650,116,1143,897,178,1500,1770,548,2620,21,3024,562,6,214,831,225,279,35,1547,147,2970,2158 ) 174907 (28,2688,841,3200,9,3478,1321,585,3878,2528,184,3810,984,2194,1703,900,693,57,2848,3015,3326,3255,2626,5,23,139,839,2685,1493,790,890,0,1938,1343,653,425,2871,741,102,406,264,121,2072,420,811,632,2837,1141,1933,3521,94,130,981,1072,2312,178,217,1253,27,1255,435 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) + dis: 0.560535 0.561951 0.56572 0.565938 0.566801 0.571218 0.574752 0.575336 0.575574 0.576801 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.181 +[1145.386 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..b8196d7 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 14:34 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.504 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.44 (132444808) + 3. nb of reciprocal neighbors: 71.98 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128679013) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.83 (2736657) + 3. nb of reciprocal neighbors: 153.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.31 (2712812) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.19 (30700) + 3. nb of reciprocal neighbors: 145.87 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.15 (30692) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999914 nodes + level 1: 15647 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727559306.000 +[457.634 s] *** Done filter_ids_map 446.505 +[462.165 s] *** Done Query 4.532 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[462.165 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 202934 (495,935,125,742,2649,1928,1011,718,2207,998,3053,6,2461,2058,574,1040,3272,3896,1678,23,2829,809,1173,1072,3069,425,2944,33,534,508,1319,2353,473,2028,1936,35,1722,989,1349,1617,585,912,50,67,1857,1600,2020,1975,929,15,796,561,728,502,3491,0,663,1192,43,2375,2528,134,3583,2,888,2543,1168,553,1455,316,2686,2681,3095,1877,636,552,2434,1202,2401,338,3021,3439,253,999,1746,2248,291,1402,2837,3870,680,68,1653 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 337927 (9,1085,2023,94,425,2129,454,3392,158,39,2114,81,0,463,2769,29,766,1577,804,1255,2947,3075,2977,1109,956,461,366,1884,754,350,438,650,116,1143,897,178,1500,1770,548,2620,21,3024,562,6,214,831,225,279,35,1547,147,2970,2158 ) 174907 (28,2688,841,3200,9,3478,1321,585,3878,2528,184,3810,984,2194,1703,900,693,57,2848,3015,3326,3255,2626,5,23,139,839,2685,1493,790,890,0,1938,1343,653,425,2871,741,102,406,264,121,2072,420,811,632,2837,1141,1933,3521,94,130,981,1072,2312,178,217,1253,27,1255,435 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) + dis: 0.560535 0.561951 0.56572 0.565938 0.566801 0.571218 0.574752 0.575336 0.575574 0.576801 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.186 +[487.071 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..9047834 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 14:17 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.385 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.022 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.44 (132444808) + 3. nb of reciprocal neighbors: 71.98 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128679013) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.83 (2736657) + 3. nb of reciprocal neighbors: 153.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.31 (2712812) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.19 (30700) + 3. nb of reciprocal neighbors: 145.87 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.15 (30692) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999914 nodes + level 1: 15647 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727558293.000 +[463.596 s] *** Done filter_ids_map 452.509 +[467.432 s] *** Done Query 3.836 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[467.432 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 202934 (495,935,125,742,2649,1928,1011,718,2207,998,3053,6,2461,2058,574,1040,3272,3896,1678,23,2829,809,1173,1072,3069,425,2944,33,534,508,1319,2353,473,2028,1936,35,1722,989,1349,1617,585,912,50,67,1857,1600,2020,1975,929,15,796,561,728,502,3491,0,663,1192,43,2375,2528,134,3583,2,888,2543,1168,553,1455,316,2686,2681,3095,1877,636,552,2434,1202,2401,338,3021,3439,253,999,1746,2248,291,1402,2837,3870,680,68,1653 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) + dis: 0.560535 0.561951 0.56572 0.565938 0.566801 0.575336 0.575574 0.576801 0.578277 0.583393 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.165 +[492.100 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..0620a3e --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wiki_normalized_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 14:26 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wiki_normalized/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wiki_normalized//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.410 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wiki_normalized//query.fbin ... +#pts = 5000, #dims = 769 +Number of parts: 1 +Reading bin file ../wiki_normalized//query.fbin ... +#pts in part = 5000, #dims = 769, size = 15380000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.038 s] Loaded query vectors from ../wiki_normalized//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wiki_normalized//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.039 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wiki_normalized//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 132.44 (132444808) + 3. nb of reciprocal neighbors: 71.98 + 4. nb of neighbors that are also neighbor-of-neighbors: 128.68 (128679013) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 174.83 (2736657) + 3. nb of reciprocal neighbors: 153.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 173.31 (2712812) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 146.19 (30700) + 3. nb of reciprocal neighbors: 145.87 + 4. nb of neighbors that are also neighbor-of-neighbors: 146.15 (30692) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999914 nodes + level 1: 15647 nodes + level 2: 209 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727558794.000 +[473.398 s] *** Done filter_ids_map 462.180 +[478.510 s] *** Done Query 5.112 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[478.510 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.678214 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.681652 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.679504 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 0.677998 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 202934 (495,935,125,742,2649,1928,1011,718,2207,998,3053,6,2461,2058,574,1040,3272,3896,1678,23,2829,809,1173,1072,3069,425,2944,33,534,508,1319,2353,473,2028,1936,35,1722,989,1349,1617,585,912,50,67,1857,1600,2020,1975,929,15,796,561,728,502,3491,0,663,1192,43,2375,2528,134,3583,2,888,2543,1168,553,1455,316,2686,2681,3095,1877,636,552,2434,1202,2401,338,3021,3439,253,999,1746,2248,291,1402,2837,3870,680,68,1653 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 337927 (9,1085,2023,94,425,2129,454,3392,158,39,2114,81,0,463,2769,29,766,1577,804,1255,2947,3075,2977,1109,956,461,366,1884,754,350,438,650,116,1143,897,178,1500,1770,548,2620,21,3024,562,6,214,831,225,279,35,1547,147,2970,2158 ) 174907 (28,2688,841,3200,9,3478,1321,585,3878,2528,184,3810,984,2194,1703,900,693,57,2848,3015,3326,3255,2626,5,23,139,839,2685,1493,790,890,0,1938,1343,653,425,2871,741,102,406,264,121,2072,420,811,632,2837,1141,1933,3521,94,130,981,1072,2312,178,217,1253,27,1255,435 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) + dis: 0.560535 0.561951 0.56572 0.565938 0.566801 0.571218 0.574752 0.575336 0.575574 0.576801 +GT Filename: ../wiki_normalized/gt_1M.bin.txt +Recall@10: 0.178 +[503.271 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..5a0df37 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:00 diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..59a081f --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 10:17 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.409 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.028 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.029 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.001 s] *** Start filter_ids_map 1727543870.000 +[459.078 s] *** Done filter_ids_map 447.909 +[463.772 s] *** Done Query 4.694 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[463.772 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.199 +[488.186 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..20dd582 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 10:00 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.477 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.023 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727542867.000 +[477.789 s] *** Done filter_ids_map 466.682 +[482.059 s] *** Done Query 4.270 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[482.059 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.177 +[506.910 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..9445bd1 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,104 @@ +Start time: 10:09 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.548 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query.fbin ... +#pts = 5000, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query.fbin ... +#pts in part = 5000, #dims = 768, size = 15360000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.031 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_labels.txt +Number of lines loaded: 5000 +Value of N: 5000 +[0.032 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727543382.000 +[454.728 s] *** Done filter_ids_map 443.469 +[458.288 s] *** Done Query 3.560 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 5000 +metadata_strings size: 35000000 +[458.288 s] Query results (vector ids, then distances): +query 0 nn's (397&477): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 166.737 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (588&495): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.79 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (3419&637): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.115 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (1795&72): 460759 (631,1141,1580,476,216,317,2748,1795,1252,2,670,13,616,2078,2680,1025,301,4,195,2190,102,1022,3679,913,308,72,146,277,2427,6,1113,2162,1306,1281,403,63,269,1160,3121,3155,3809,457,2424,3305,3564,3602,1396,115,117,547,3054,74 ) 231196 (176,56,1111,72,821,29,1175,1417,1622,1773,1795,24,28,2,131,1690,265,26,185,89,60,54 ) 231230 (1795,3278,628,1408,257,2060,308,72,228,951,1585,37,1547,486,654,115,2189,1269,9,1945,712,73,562,1540,1633,2736,114,6,626,3213,168,20,42,103 ) 312 (1482,3895,2514,516,1,72,578,248,2820,331,556,1112,3214,1037,2889,11,2141,3972,1365,786,1018,743,2811,747,157,41,1153,129,1698,2735,143,19,354,3155,2365,100,1795,24,28,20,42,247,3815,348,2424,2164,152,2207,545,2994,586,530,1028,320,1643,954,3378,514,387,184,1818,783,2042,481,1638,1404,1152 ) 231214 (1795,331,142,586,197,1330,6,2207,42,72,71,565,1028,320,2511,3532,796,70,1543,102,2181,2740,664,432,10,784,24,28,2000,373,3979,35,594,1809,74,1077,3569,269,2275,718,1487,700,892,158,254,17,316,608,572 ) 460725 (35,2933,3602,381,72,316,352,1795,1175,1258,10,466,1216,3939,2,1754,556,948,3315,213,1656,399,859,1436,783,1584,153,3205,868,0,838,8,1457,3223,604,510,552,572,476,749,2773,2424,1695,1174,1028,350,31,1442,2524,306,1180,1352,2987,1508,199,546,1414,396,3557,183,1132,2831,1621,2145,269,2448,242,207,329,3528,147,71,15,29,17,849,270 ) 231188 (1028,228,41,1111,1795,1593,691,974,3831,491,520,2118,2092,1135,38,177,471,26,153,479,1164,1004,133,2414,1697,46,82,3680,37,1310,1424,550,86,3163,1254,3810,1801,1681,2867,955,489,167,72,1384,963,772,2354,3102,280,179,9,126,2533,1709 ) 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) 460569 (72,2424,654,143,1114,166,1754,331,1973,3087,1987,82,3136,586,929,3684,1795,887,2344,2655,26,10,2314,1797 ) 460682 (1795,499,1303,1358,310,1770,1818,248,1002,2,105,265,3497,262,72,2820,329,231,668,417,2829,403,1658,114,965,416,122,27,3813,752,0,21,1245,1632,1045 ) + dis: 157.381 159.76 160.317 160.824 162.475 164.427 165.916 166.649 166.809 167.461 +query 4 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +GT Filename: ../wikicohere/gt_1M.bin.txt +Recall@10: 0.191 +[483.061 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..dbd2ce8 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 02:22 diff --git a/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..104fe86 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,106 @@ +Start time: 02:35 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.730 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.074 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.081 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727516154.000 +[370.415 s] *** Done filter_ids_map 366.123 +[380.287 s] *** Done Query 9.871 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[380.287 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 328390 (6,12,24,29119,26746,2170,1448,1004) 446687 (4,23,24,121537,117409,82275,33450,33449,15103,13596,9771,7777,7689,6475,6320,5907,2971,2615,1723,1539,1448,1311,933) 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 436221 (5,23,24,34553,31598,30839,21873,21590,16629,9790,7248,6778,5687,1448,945,426) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) 734948 (9,15,24,2416,1448) + dis: 67213 79863 79882 81201 82370 88860 94257 95551 98027 99992 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.493 +[398.882 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..ad01391 --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,106 @@ +Start time: 02:22 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.803 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.087 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.097 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727515362.000 +[369.667 s] *** Done filter_ids_map 365.268 +[374.586 s] *** Done Query 4.919 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[374.586 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 173457 (4,17,24,30403,13078,6899,3763,1448) 9105 (6,20,24,6288,1448) 930918 (8,15,24,110,34328,3327,2915,2914,1448,396) 812082 (10,20,24,101,95625,91600,81272,78478,56346,55469,50715,47578,35709,33166,32883,22734,22280,18932,14229,13117,11083,7337,7247,6520,4781,4653,4561,4537,4226,3909,3407,3277,2787,2435,2396,2258,1978,1926,1821,1640,1616,1448,1126,1051,1041,1025,933,894,638,592) 61477 (8,18,24,69877,11615,7311,7307,6127,1448) 920261 (4,20,24,98936,65725,13901,6502,3328,2733,2732,2277,2220,2207,2197,1448,1428,501) 96316 (6,22,24,55227,27658,26095,9468,6759,6199,1448,439) 186745 (10,16,24,92,163243,121332,102576,50813,27228,27227,27222,27218,27217,26616,26589,8504,7749,6691,5341,5340,5235,5153,4121,4119,3280,2787,1590,1448,1113,859,854) 966417 (5,23,24,22074,8153,4894,4736,1448) + dis: 81201 101307 101561 106103 107501 108202 108943 109321 112167 112308 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.446 +[393.133 s] -----DONE----- diff --git a/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..11e449e --- /dev/null +++ b/09-28-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,106 @@ +Start time: 02:29 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.734 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query.fbin ... +#pts = 100000, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query.fbin ... +#pts in part = 100000, #dims = 192, size = 76800000B +Finished reading part of the bin file. +Finished converting part data to float. +[0.079 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata for 81545: 4559&90 +loaded metadata from: ../yfcc//query_labels.txt +Number of lines loaded: 100000 +Value of N: 100000 +[0.088 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 5000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727515758.000 +[369.494 s] *** Done filter_ids_map 365.208 +[376.122 s] *** Done Query 6.628 +config nq: 5000 dis size:50000nns size:50000id map:5000000000 +aq_strings size: 100000 +metadata_strings size: 9998928 +[376.122 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (852&770): 940178 (7,20,30,192,88188,79259,45503,43732,27584,24712,16121,11823,9631,6235,4772,4372,1477,1176,1135,852,791,770,697) 876961 (7,21,30,181,100922,54081,27584,24713,22538,10703,4372,1176,1028,852,770,697) 181108 (7,17,30,125,96020,27584,24712,22538,10703,4372,3286,852,770,697) 234988 (8,21,30,181,58928,43732,37588,27584,22539,22538,11823,4372,1176,852,770,697) 943014 (7,21,30,181,169352,100922,27584,24713,24712,22538,10703,4855,4372,1028,852,770,697) 498004 (10,20,32,125,157468,88188,24712,19215,11823,9980,5897,5699,4372,3220,852,791,770,698,697) 190505 (32,192,54081,22538,20144,10703,4372,852,770,697) 854097 (10,15,25,192,104327,88188,54081,43732,25583,11823,7264,5996,4372,852,791,770,697) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) + dis: 190155 192056 198220 202466 208144 210455 210701 228048 232596 3.40282e+38 +query 2 nn's (108758): 555191 (9,18,25,116,108758,107161,81436,47792,20787,11695,7880,4869,3256,1686,923) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165362 171565 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (5693&2213): 302806 (9,13,30,92,124981,124980,124979,124978,124977,124976,124975,124974,124973,124972,124971,124970,124969,124968,124967,124966,124965,124964,124963,124962,124961,124960,124959,124958,124957,124956,124955,124954,124953,124952,124951,124950,124949,124948,124947,124946,124945,122989,122966,122951,117917,110030,101954,101167,100248,98810,98682,96127,95996,92585,92542,92514,92474,92461,90907,89012,88557,88516,88515,86928,86376,84433,81615,81383,80882,79170,79168,76697,76318,74390,73368,69268,68652,67609,67079,65448,63713,63340,63339,63332,63314,63230,63224,57507,51177,50208,49684,49402,49398,47875,45954,45373,45285,45106,44062,43495,43430,43051,42743,42628,42346,41250,40865,40071,37354,35276,35003,34889,34634,34150,32430,32087,31922,31917,31916,31826,30913,30393,30088,29421,28752,28100,27611,27302,27272,26788,26753,26684,26237,25756,25719,25232,24855,24483,22464,22245,20215,18992,17800,17539,17527,15711,15332,12976,12972,12554,11479,11142,11041,10764,10692,10343,10008,9928,9889,9445,8697,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8606,8359,8348,8231,8221,8217,8204,8203,8119,8106,7788,7573,7359,7218,7216,7215,7214,7178,7153,7148,7121,7114,7113,7112,7104,7098,7086,7078,7074,7069,7059,6702,6574,6108,6002,5693,5538,5495,5453,5449,5391,5373,5227,5215,5203,5196,5177,5086,5062,5030,4970,4841,4816,4726,4670,4616,4344,4134,4110,4095,4063,4053,4051,3880,3688,3632,3615,3607,3597,3280,3246,2777,2588,2485,2451,2213,2196,2195,2194,2193,2149,2148,1801,1294,1293,1202,1165,1123,1120,969,957,742,731,472,469,465,463) 639449 (7,20,190739,186723,183337,178414,175268,171887,168050,165733,146263,128390,128065,126917,126540,124323,123597,122973,113204,109609,106987,105258,103445,103280,92707,88354,87633,87617,86210,84815,78790,76891,76318,74685,70891,70536,68019,67577,66036,63598,60097,59568,57595,54715,53412,50839,50150,49797,48986,47471,47056,45888,45409,43193,42795,42656,41329,41255,40862,40446,39112,37415,35190,34237,33972,33171,32462,32322,32141,31071,30946,30392,30064,28306,28131,28129,28070,27837,27781,27291,27014,26663,24673,22239,21772,20215,17528,17524,17492,17488,17473,17390,17356,15399,15367,14496,12988,12123,10507,10506,10494,10466,9836,9723,9333,9332,8647,8646,8614,8601,8387,8358,8239,8219,8214,8125,7253,7214,7190,7159,7133,7131,7130,7118,7113,7112,7110,7109,7097,7076,7074,7072,7071,7069,7066,6599,5709,5693,5397,5370,5218,5174,5117,5081,5070,5047,5042,4812,4679,4662,4583,4493,4096,4074,4005,3615,3611,3607,3486,3343,3280,2588,2583,2448,2369,2213,2196,2154,2149,2148,2074,1776,1771,1770,1768,1766,1651,1299,1289,1202,965,860,854,592,530,477,474,472,469,460) 197516 (9,18,30,92,108642,108641,108640,108639,108638,108637,108636,108635,108634,108633,108632,108631,108630,108629,108628,108627,101495,76841,67071,65338,63297,48598,47881,45106,43495,41738,31937,31934,31338,28070,26237,20236,19998,17190,15448,12974,10764,10760,9996,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8607,8348,8231,8203,8119,8106,8055,7359,7249,7216,7215,7159,7148,7146,7131,7119,7098,7086,7059,6829,6599,6113,6002,5693,5538,5495,5453,5443,5373,5227,5215,5211,5086,5047,5030,4816,4726,4616,4095,4058,4053,4006,3880,3754,3688,3615,3607,3476,3280,2777,2352,2213,2195,2194,2193,1770,1123,1120,969,860,854,742,731,472,469,465,463) 567916 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 567917 (10,14,30,92,13006,13005,13004,13003,13002,13001,13000,12999,12998,12997,12996,12995,12994,12993,12992,12991,12990,12989,12988,12987,12986,12985,12984,12983,12982,12981,12980,12979,12978,12977,12976,12975,12974,12973,12972,12971,12970,12969,12968,12967,12966,12965,12964,8840,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8359,8231,8203,8182,8119,8106,7772,7359,7249,7216,7215,7098,7086,7059,6266,6002,5693,5538,5495,5453,5421,5373,5215,5086,5030,4840,4816,4800,4726,4616,4095,4053,3880,3688,3607,3490,3280,2777,2213,2196,2195,2194,2193,1123,1120,969,742,731,469,465,456) 97304 (5,20,54,92,116862,116861,116860,61959,41240,37419,30220,24035,24032,15337,15336,15326,15316,12988,7177,7131,5693,2213,1770,1476,866,860,630) 738270 (10,18,30,92,110073,110072,110071,110070,110069,110068,110067,110066,110065,110064,110063,110062,110061,110060,110059,110058,110057,110056,110055,110054,110053,110052,110051,110050,110049,110048,110047,110046,110045,110044,110043,110042,110041,110040,110039,110038,110037,110036,110035,110034,110033,110032,110031,110030,110029,110028,110027,109303,109095,107198,106988,106549,103911,100794,99159,98115,97783,92914,92568,92477,88145,87628,84902,84896,84455,83459,81647,79581,79199,79174,77878,77045,75796,74429,73856,73664,72487,71323,69991,69961,68674,68645,68190,67577,66052,65728,64780,63285,63254,63248,63239,63238,63229,61964,59985,58830,58672,57507,57300,57176,55527,51193,51184,51183,50840,50418,46653,45881,45789,43905,42802,42745,42744,42730,42721,42692,42683,42680,42670,42147,41819,41793,41269,41265,41255,41250,41246,41223,41206,41205,40772,39631,39015,38485,35846,35293,35276,35237,34072,33630,33178,31937,31934,31922,30792,30543,29421,28117,28103,28092,28077,28074,27608,27311,27302,27272,27095,26880,26788,26465,26033,25867,25823,25653,25374,24326,24187,23587,22590,21320,20232,20229,19679,19265,19157,18992,17510,17498,17483,17458,16980,16570,16508,15335,15167,14518,14379,13381,12995,12974,12972,12809,12572,11479,11139,11041,10928,10900,10508,10334,9889,9689,9317,8857,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8387,8326,8231,8228,8221,8214,8208,8203,8119,8106,8055,7790,7359,7221,7218,7216,7215,7201,7190,7183,7180,7167,7165,7148,7143,7134,7131,7128,7119,7106,7105,7104,7103,7098,7086,7074,7069,7059,6829,6344,6210,6002,5737,5714,5693,5538,5495,5477,5454,5453,5415,5391,5373,5246,5227,5215,5211,5202,5177,5163,5103,5086,5062,5041,5030,4816,4722,4616,4615,4096,4095,4053,4006,3880,3688,3615,3607,3493,3280,2943,2808,2777,2213,2196,2195,2194,2193,2154,2149,2074,2012,1825,1814,1810,1800,1323,1289,1215,1204,1165,1123,1120,969,777,742,731,474,469,465,464) 220779 (10,14,30,92,41835,41834,41833,41832,41831,41830,41829,41828,41827,41826,41825,41824,41823,41822,41821,41820,41819,41818,41817,41188,31917,31916,27286,26787,25229,24879,23335,22952,21968,12989,12971,11138,8673,8672,8671,8670,8669,8668,8667,8666,8665,8664,8663,8662,8661,8660,8659,8658,8657,8656,8655,8654,8653,8652,8651,8650,8649,8648,8647,8646,8645,8644,8643,8642,8641,8640,8639,8638,8637,8636,8635,8634,8633,8632,8631,8630,8629,8628,8627,8626,8625,8624,8623,8622,8621,8620,8619,8618,8617,8616,8615,8614,8613,8612,8608,8607,8606,8242,8231,8229,8209,8203,8182,8119,8106,7772,7468,7359,7216,7215,7153,7143,7098,7086,7059,6002,5693,5538,5499,5495,5494,5453,5373,5365,5215,5086,5030,4816,4812,4726,4616,4607,4095,4053,3880,3688,3607,3280,3246,2777,2407,2213,2195,2194,2193,2155,2013,1894,1807,1123,1120,969,742,731,469,465,436) 803702 (11,13,24,75225,42443,32602,24223,24221,22495,16161,15446,9705,9445,8075,6475,4800,4321,1480,1086) 248804 (7,23,29,166472,166470,147611,139522,128848,119770,111902,110579,106852,102600,102599,102595,102592,102584,97738,92489,83999,76312,73368,72515,72513,71018,68486,67083,63322,61960,60210,59472,59053,57924,51748,50028,46556,46552,46551,45835,44050,43771,42723,42559,41179,39345,38347,37952,34889,30221,24762,22792,21506,20249,20227,19300,17505,16567,15317,12301,11492,11479,11139,10921,10583,10244,9701,8653,8623,7249,7070,7059,6829,5706,5693,5479,5211,5062,5042,5040,4654,4607,3617,2808,2356,2213,969,746,472,465,456) + dis: 114016 129580 131799 134772 134772 146567 149159 153214 153364 154649 +query 4 nn's (1448&24): 947795 (6,23,24,65169,43570,22839,11125,8009,6659,5894,3069,2848,2748,1448,1025,852) 857579 (5,20,24,90,346,150869,20656,10262,8097,7298,6441,4316,3774,3594,2195,1830,1448,1306,1132,1041,951,861,554) 990437 (5,23,24,74063,46444,40346,38537,38242,34478,31469,15064,13471,11632,11131,10558,9820,4358,3809,3638,3193,2949,1448,1311,881) 487665 (6,15,24,14104,13468,3732,1554,1448) 786442 (6,18,24,112,3297,2782,2105,1448,435) 729385 (6,14,24,15044,9222,3505,1448,1146,554) 845336 (4,17,24,133,13532,1448) 173457 (4,17,24,30403,13078,6899,3763,1448) 9105 (6,20,24,6288,1448) 724664 (5,15,24,99,2034,1448) + dis: 79882 81201 82370 94257 95551 98027 100714 101307 101561 102220 +GT Filename: ../yfcc/gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.478 +[394.613 s] -----DONE----- diff --git a/09-28-2024_experiments/summary_wiki_normalized.txt b/09-28-2024_experiments/summary_wiki_normalized.txt new file mode 100644 index 0000000..ef44d42 --- /dev/null +++ b/09-28-2024_experiments/summary_wiki_normalized.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,100,40,32,32,1,0.131,2.497, 459.104 +1000000,5000,100,80,32,32,1,0.146,3.219, 454.080 +1000000,5000,100,150,32,32,1,0.157,4.094, 456.137 +1000000,5000,100,40,32,32,10,0.145,2.607, 469.099 +1000000,5000,100,80,32,32,10,0.160,3.363, 462.382 +1000000,5000,100,150,32,32,10,0.171,2.972, 447.440 +1000000,5000,100,40,64,64,1,0.163,3.771, 441.172 +1000000,5000,100,80,64,64,1,0.177,5.045, 462.320 +1000000,5000,100,150,64,64,1,0.184,4.437, 438.964 +1000000,5000,100,40,64,64,10,0.165,3.836, 452.509 +1000000,5000,100,80,64,64,10,0.178,5.112, 462.180 +1000000,5000,100,150,64,64,10,0.186,4.532, 446.505 diff --git a/09-28-2024_experiments/summary_wikicohere.txt b/09-28-2024_experiments/summary_wikicohere.txt new file mode 100644 index 0000000..74eb1ab --- /dev/null +++ b/09-28-2024_experiments/summary_wikicohere.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,5000,100,40,32,32,1,0.141,2.424, 472.170 +1000000,5000,100,80,32,32,1,0.153,3.220, 469.356 +1000000,5000,100,150,32,32,1,0.163,4.134, 483.034 +1000000,5000,100,40,32,32,10,0.141,2.506, 459.312 +1000000,5000,100,80,32,32,10,0.153,3.266, 472.671 +1000000,5000,100,150,32,32,10,0.163,2.665, 451.391 +1000000,5000,100,40,64,64,1,0.177,4.002, 474.112 +1000000,5000,100,80,64,64,1,0.191,3.529, 453.048 +1000000,5000,100,150,64,64,1,0.199,4.704, 445.693 +1000000,5000,100,40,64,64,10,0.177,4.270, 466.682 +1000000,5000,100,80,64,64,10,0.191,3.560, 443.469 +1000000,5000,100,150,64,64,10,0.199,4.694, 447.909 diff --git a/09-28-2024_experiments/summary_yfcc.txt b/09-28-2024_experiments/summary_yfcc.txt new file mode 100644 index 0000000..62372a0 --- /dev/null +++ b/09-28-2024_experiments/summary_yfcc.txt @@ -0,0 +1,12 @@ +1000000,5000,100,40,32,32,1,0.331,2.382, 357.846 +1000000,5000,100,80,32,32,1,0.366,4.455, 367.064 +1000000,5000,100,150,32,32,1,0.388,6.160, 382.588 +1000000,5000,100,40,32,32,10,0.331,2.662, 359.546 +1000000,5000,100,80,32,32,10,0.366,3.720, 380.957 +1000000,5000,100,150,32,32,10,0.388,4.974, 375.280 +1000000,5000,100,40,64,64,1,0.446,5.006, 374.075 +1000000,5000,100,80,64,64,1,0.478,7.076, 374.498 +1000000,5000,100,150,64,64,1,0.493,9.931, 366.576 +1000000,5000,100,40,64,64,10,0.446,4.919, 365.268 +1000000,5000,100,80,64,64,10,0.478,6.628, 365.208 +1000000,5000,100,150,64,64,10,0.493,9.871, 366.123 diff --git a/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=150_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..275fbe0 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:09 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.034 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.016 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727802581.000 +[79.163 s] *** Done filter_ids_map 78.242 +[82.025 s] *** Done Query 2.862 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[82.025 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.922 +[89.311 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=40_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..f8bb9b0 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:06 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.317 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.023 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727802402.000 +[82.286 s] *** Done filter_ids_map 81.321 +[83.682 s] *** Done Query 1.395 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[83.682 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 356368 (BRAND=Leacree,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 437423 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 563749 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 799148 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 289009 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 858851 (BRAND=MarketplaceAutoParts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.814075 0.818852 0.845059 0.878824 0.899179 0.906705 0.916746 0.91842 0.924825 0.929039 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.781 +[90.922 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=80_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..7ffebb2 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=1000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:08 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.046 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.022 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727802493.000 +[77.979 s] *** Done filter_ids_map 76.899 +[79.550 s] *** Done Query 1.572 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[79.550 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.883 +[86.605 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..4e64f87 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,2 @@ +Start time: 10:04 +Start time: 10:06 diff --git a/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..becab49 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.133 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.018 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.019 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..9333244 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.647 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.018 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.018 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..0fedcd3 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.566 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.046 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.047 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..29fc0a1 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,2 @@ +Start time: 10:07 +Start time: 10:08 diff --git a/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..2614868 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,4 @@ +Start time: 10:08 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 diff --git a/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..6fdab4d --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:07 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[14.735 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.025 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +Warning: nq is greater than the number of loaded queries, setting nq to 966 +[0.025 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..4def685 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:08 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[15.319 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +Warning: nq is greater than the number of loaded queries, setting nq to 966 +[0.014 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..695cfe5 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:12 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.675 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.020 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.020 s] Loaded 900 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727802773.000 +[95.547 s] *** Done filter_ids_map 89.587 +[98.241 s] *** Done Query 2.694 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[98.241 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.467 +[112.155 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..c5c6d4e --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:08 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.431 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.014 s] Loaded 900 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727802539.000 +[99.329 s] *** Done filter_ids_map 94.377 +[100.070 s] *** Done Query 0.741 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[100.070 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.362 +[113.699 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..9555a30 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:10 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.420 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.014 s] Loaded 900 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727802659.000 +[94.079 s] *** Done filter_ids_map 88.698 +[95.247 s] *** Done Query 1.168 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[95.248 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.421 +[108.903 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..5809f4e --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:10 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.096 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.019 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.019 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727802644.000 +[85.565 s] *** Done filter_ids_map 83.621 +[88.051 s] *** Done Query 2.486 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[88.051 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.977 +[95.697 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..2bae985 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:07 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.020 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.012 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.012 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727802456.000 +[84.705 s] *** Done filter_ids_map 82.833 +[85.955 s] *** Done Query 1.250 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[85.955 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 735526 (10,16,36) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 64191 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) 677047 (5,18,26,17285,16414,7528,6472,6090,4413,3985,1986,1311,638,608,455,415) 386631 (5,14,26,25630,11326,6682,6475,4794,3306,2971,2788,1927,1155,455) + dis: 68765 76720 98045 98045 99226 100354 107019 109436 109784 110719 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.924 +[93.539 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..30fd1ad --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:09 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.018 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.021 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.021 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727802551.000 +[82.004 s] *** Done filter_ids_map 80.175 +[83.641 s] *** Done Query 1.637 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[83.641 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 735526 (10,16,36) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 64191 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) 677047 (5,18,26,17285,16414,7528,6472,6090,4413,3985,1986,1311,638,608,455,415) 386631 (5,14,26,25630,11326,6682,6475,4794,3306,2971,2788,1927,1155,455) + dis: 68765 76720 98045 98045 99226 100354 107019 109436 109784 110719 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.958 +[91.103 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..92f2cb6 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1,2 @@ +Start time: 10:04 +Start time: 10:07 diff --git a/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..691e79c --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[9.890 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.030 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.030 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..5acf668 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.226 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.014 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..7215c4d --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.283 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.015 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=0_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..13d33ce --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 10:11 diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=150_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..3c8a614 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:13 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.474 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.015 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.016 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727802840.000 +[77.146 s] *** Done filter_ids_map 76.073 +[79.462 s] *** Done Query 2.316 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[79.462 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.922 +[87.061 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=40_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..1387d3c --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:11 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[1.993 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.015 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.016 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727802671.000 +[73.997 s] *** Done filter_ids_map 72.884 +[75.060 s] *** Done Query 1.062 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[75.060 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 356368 (BRAND=Leacree,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 437423 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 563749 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 799148 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 289009 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 858851 (BRAND=MarketplaceAutoParts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.814075 0.818852 0.845059 0.878824 0.899179 0.906705 0.916746 0.91842 0.924825 0.929039 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.781 +[81.779 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=80_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..2a4a45e --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=1000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:12 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[1.940 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.016 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727802753.000 +[75.932 s] *** Done filter_ids_map 74.832 +[77.548 s] *** Done Query 1.616 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[77.548 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.883 +[84.494 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..2087517 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 10:04 diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..7a3378d --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.002 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.015 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.016 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..34b4521 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:04 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[8.655 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.025 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.025 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..68898ce --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.018 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.015 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.016 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..6a11b8c --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 10:14 diff --git a/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..09bfabc --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:18 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.669 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.023 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.023 s] Loaded 900 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727803145.000 +[100.657 s] *** Done filter_ids_map 93.974 +[103.433 s] *** Done Query 2.776 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[103.433 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.467 +[117.565 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..15bf281 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:14 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.587 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.020 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.020 s] Loaded 900 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727802892.000 +[101.545 s] *** Done filter_ids_map 95.720 +[102.943 s] *** Done Query 1.398 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[102.944 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.362 +[116.838 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..117255b --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:16 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.572 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.014 s] Loaded 900 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727803020.000 +[103.198 s] *** Done filter_ids_map 96.649 +[104.367 s] *** Done Query 1.168 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[104.367 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.421 +[121.238 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..367f14f --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 10:12 diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..ad5b18a --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:15 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.616 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.052 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.052 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727802933.000 +[82.227 s] *** Done filter_ids_map 80.169 +[88.157 s] *** Done Query 5.930 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[88.157 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.977 +[100.746 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..82acd85 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:12 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.009 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.013 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.013 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727802740.000 +[83.970 s] *** Done filter_ids_map 82.161 +[85.016 s] *** Done Query 1.046 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[85.016 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 735526 (10,16,36) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 64191 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) 677047 (5,18,26,17285,16414,7528,6472,6090,4413,3985,1986,1311,638,608,455,415) 386631 (5,14,26,25630,11326,6682,6475,4794,3306,2971,2788,1927,1155,455) + dis: 68765 76720 98045 98045 99226 100354 107019 109436 109784 110719 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.924 +[92.335 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..ddb9629 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 10:13 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.039 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.013 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.014 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 81.72 (81721257) + 3. nb of reciprocal neighbors: 53.17 + 4. nb of neighbors that are also neighbor-of-neighbors: 79.53 (79529956) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 182.80 (5713130) + 3. nb of reciprocal neighbors: 168.70 + 4. nb of neighbors that are also neighbor-of-neighbors: 182.71 (5710464) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 185.16 (181083) + 3. nb of reciprocal neighbors: 181.33 + 4. nb of neighbors that are also neighbor-of-neighbors: 184.79 (180725) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.74 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.11 (678) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999649 nodes + level 1: 31247 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727802834.000 +[84.138 s] *** Done filter_ids_map 82.311 +[85.763 s] *** Done Query 1.626 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[85.763 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 735526 (10,16,36) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 64191 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) 677047 (5,18,26,17285,16414,7528,6472,6090,4413,3985,1986,1311,638,608,455,415) 386631 (5,14,26,25630,11326,6682,6475,4794,3306,2971,2788,1927,1155,455) + dis: 68765 76720 98045 98045 99226 100354 107019 109436 109784 110719 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.958 +[93.277 s] -----DONE----- diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..1d373b9 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 10:05 diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..b5da2ea --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.514 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.046 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.046 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..48f9aa2 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.070 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.015 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.015 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..879d6f7 --- /dev/null +++ b/10-01-2024_experiments/MB32_gamma10/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,27 @@ +Start time: 10:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.013 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.041 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.041 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=0_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..a518065 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:15 diff --git a/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=150_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..ffb0d12 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:18 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.086 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.019 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.020 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727803116.000 +[76.210 s] *** Done filter_ids_map 75.151 +[80.196 s] *** Done Query 3.986 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[80.196 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.973 +[92.106 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=40_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..61de22b --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:15 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.099 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.041 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.041 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727802935.000 +[71.663 s] *** Done filter_ids_map 70.426 +[73.203 s] *** Done Query 1.540 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[73.203 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.918 +[88.175 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=80_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..eb099bb --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=1000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:16 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.093 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.029 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.029 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727803023.000 +[76.266 s] *** Done filter_ids_map 74.845 +[79.824 s] *** Done Query 3.558 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[79.824 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.954 +[94.343 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..1d373b9 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:05 diff --git a/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..dd5a76a --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,27 @@ +Start time: 10:05 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.095 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.015 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.016 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..838ca37 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,27 @@ +Start time: 10:06 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[9.047 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.020 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +Warning: nq is greater than the number of loaded queries, setting nq to 3653 +[0.020 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..46ee5a1 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:20 diff --git a/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..7cb51c5 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:25 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.708 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.014 s] Loaded 900 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727803529.000 +[91.209 s] *** Done filter_ids_map 85.334 +[94.246 s] *** Done Query 3.037 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[94.246 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +query 1 nn's (2&787): 448010 (305,588,724,934,916,1292,44,2749,1507,2,1014,1363,787,1359,1933,3200,1493,2499,2166,19,1145,590,363,883,208,1221,229,209,1022,333,579,996,1458,420,164,3258,340,1298,353,2552,663,1288,2768,2129,28,734,3323,406,3590,2211,444,3078,2398,3918,927,884,248,0,231,467,1510,837,1118,511,1674,2199,2898,9,147,809 ) 472768 (141,43,2554,391,2519,879,447,7,152,448,862,671,355,1014,26,9,412,3043,331,20,68,1843,2469,11,592,988,787,1748,1477,2,2196,138,1405,1092,13,60,2790,1050,166,623,184,1686,82,1400,183,155,1730,1071,191,565,1943,161,579,1540,3758,736,453,521,305,1097,1879,0 ) 323417 (1343,3326,248,172,1505,3644,3560,81,1272,2141,3365,103,7,3554,5,2871,1614,3816,2125,1794,1241,110,1197,3466,1977,134,51,339,342,3523,715,2652,2371,2114,2533,144,461,787,845,366,305,1403,2,794,1452,218,66,477,912,1400,512,242,3639,1158,87,96,347,3674,495,1085,790,3601,1615,2544,1843,1770,1862 ) 879989 (449,1085,120,35,424,354,548,249,24,28,2196,763,3521,1117,2564,3058,200,3468,218,433,529,2,659,115,62,1174,1843,2469,2798,924,39,774,101,12,48,81,1255,108,561,3583,139,1369,910,475,212,0,1871,256,308,543,83,476,1141,899,3188,1109,841,380,3,1695,3190,474,3200,3154,2072,9,412,2801,787,1257,343,473 ) 721900 (199,461,1022,680,3644,612,340,357,722,68,282,653,2466,3020,1531,81,1256,1272,1276,2646,111,3878,2528,244,2397,2101,441,2067,200,294,1422,787,0,585,305,39,902,2587,733,368,1879,13,161,936,2769,362,728,1843,1956,1050,926,675,1907,20,584,3754,2875,2,519,303,2114,317,645,449,1874,1469,3368,1071,601,944,434,1943,24,28,206,1247 ) 192886 (20,42,247,1469,43,178,1249,883,1317,24,28,627,296,51,33,364,91,0,138,1770,548,27,473,1258,905,728,2528,48,118,471,949,2634,401,3459,2041,866,756,1076,2381,1031,1161,338,397,1725,1280,112,274,1155,1237,652,245,643,1983,36,130,82,141,1057,959,590,1104,277,632,619,305,924,1757,359,714,110,3868,218,592,94,675,1798,11,844,3583,3094,3089,19,255,705,72,71,269,2374,502,787,1954,2,183,87,264,139,1316,362,953,666,2456,89,501,485,1730,1081,1698,1424,812,10,257,155 ) 101139 (158,1330,2031,841,19,1723,1297,497,1496,2880,2681,89,2259,787,2792,1352,843,817,2507,312,331,88,2145,534,943,1194,1277,1234,2,1197,2301,51,880,1502,3512,3480,140,2836,876,809,3315,3800 ) 542466 (1579,3008,2313,252,2590,878,2232,240,2756,1878,1082,257,345,501,3666,1395,845,456,1242,440,650,1177,2772,1331,2316,130,387,980,631,1021,269,787,207,1742,2,1433,712,172,868,2446,740,108,910,51,175,159,865,2974,158,582,1869,30,1894,35,350,89,466,199,2805,675,1956,940,1608,543,3919,853,3251,510,2885,129,1685,1409,1052,459,13,96,27,3557,2178,11,1288,480,41,943,29,2575,1148 ) 192355 (229,1359,2837,1107,675,2467,548,2332,2297,1016,569,68,854,0,1363,71,10,2448,3722,804,2801,1583,787,1033,972,1887,855,112,1438,985,555,757,1152,125,1719,1918,1322,3538,138,677,574,2785,501,293,1403,14,2,755,478,80,1782,577 ) 111179 (728,1868,727,196,495,2071,1874,101,171,127,108,2,449,1321,912,141,87,1247,342,280,26,432,2369,1109,735,1640,967,9,884,505,6,1262,154,936,145,402,1340,787,2174,3055,3016,707,94,2467,473,174,1062,355,725,3427,2945,354,1007,1010,1989,115 ) + dis: 138.937 141.701 143.579 143.906 144.049 144.801 144.818 144.912 145.397 146.198 +query 2 nn's (643&257): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165.436 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.015 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.573 +[118.648 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..c2baec9 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:20 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.514 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.022 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.022 s] Loaded 900 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727803271.000 +[103.100 s] *** Done filter_ids_map 98.346 +[104.473 s] *** Done Query 1.372 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[104.473 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +query 1 nn's (2&787): 448010 (305,588,724,934,916,1292,44,2749,1507,2,1014,1363,787,1359,1933,3200,1493,2499,2166,19,1145,590,363,883,208,1221,229,209,1022,333,579,996,1458,420,164,3258,340,1298,353,2552,663,1288,2768,2129,28,734,3323,406,3590,2211,444,3078,2398,3918,927,884,248,0,231,467,1510,837,1118,511,1674,2199,2898,9,147,809 ) 472768 (141,43,2554,391,2519,879,447,7,152,448,862,671,355,1014,26,9,412,3043,331,20,68,1843,2469,11,592,988,787,1748,1477,2,2196,138,1405,1092,13,60,2790,1050,166,623,184,1686,82,1400,183,155,1730,1071,191,565,1943,161,579,1540,3758,736,453,521,305,1097,1879,0 ) 323417 (1343,3326,248,172,1505,3644,3560,81,1272,2141,3365,103,7,3554,5,2871,1614,3816,2125,1794,1241,110,1197,3466,1977,134,51,339,342,3523,715,2652,2371,2114,2533,144,461,787,845,366,305,1403,2,794,1452,218,66,477,912,1400,512,242,3639,1158,87,96,347,3674,495,1085,790,3601,1615,2544,1843,1770,1862 ) 879989 (449,1085,120,35,424,354,548,249,24,28,2196,763,3521,1117,2564,3058,200,3468,218,433,529,2,659,115,62,1174,1843,2469,2798,924,39,774,101,12,48,81,1255,108,561,3583,139,1369,910,475,212,0,1871,256,308,543,83,476,1141,899,3188,1109,841,380,3,1695,3190,474,3200,3154,2072,9,412,2801,787,1257,343,473 ) 721900 (199,461,1022,680,3644,612,340,357,722,68,282,653,2466,3020,1531,81,1256,1272,1276,2646,111,3878,2528,244,2397,2101,441,2067,200,294,1422,787,0,585,305,39,902,2587,733,368,1879,13,161,936,2769,362,728,1843,1956,1050,926,675,1907,20,584,3754,2875,2,519,303,2114,317,645,449,1874,1469,3368,1071,601,944,434,1943,24,28,206,1247 ) 192886 (20,42,247,1469,43,178,1249,883,1317,24,28,627,296,51,33,364,91,0,138,1770,548,27,473,1258,905,728,2528,48,118,471,949,2634,401,3459,2041,866,756,1076,2381,1031,1161,338,397,1725,1280,112,274,1155,1237,652,245,643,1983,36,130,82,141,1057,959,590,1104,277,632,619,305,924,1757,359,714,110,3868,218,592,94,675,1798,11,844,3583,3094,3089,19,255,705,72,71,269,2374,502,787,1954,2,183,87,264,139,1316,362,953,666,2456,89,501,485,1730,1081,1698,1424,812,10,257,155 ) 101139 (158,1330,2031,841,19,1723,1297,497,1496,2880,2681,89,2259,787,2792,1352,843,817,2507,312,331,88,2145,534,943,1194,1277,1234,2,1197,2301,51,880,1502,3512,3480,140,2836,876,809,3315,3800 ) 542466 (1579,3008,2313,252,2590,878,2232,240,2756,1878,1082,257,345,501,3666,1395,845,456,1242,440,650,1177,2772,1331,2316,130,387,980,631,1021,269,787,207,1742,2,1433,712,172,868,2446,740,108,910,51,175,159,865,2974,158,582,1869,30,1894,35,350,89,466,199,2805,675,1956,940,1608,543,3919,853,3251,510,2885,129,1685,1409,1052,459,13,96,27,3557,2178,11,1288,480,41,943,29,2575,1148 ) 192355 (229,1359,2837,1107,675,2467,548,2332,2297,1016,569,68,854,0,1363,71,10,2448,3722,804,2801,1583,787,1033,972,1887,855,112,1438,985,555,757,1152,125,1719,1918,1322,3538,138,677,574,2785,501,293,1403,14,2,755,478,80,1782,577 ) 111179 (728,1868,727,196,495,2071,1874,101,171,127,108,2,449,1321,912,141,87,1247,342,280,26,432,2369,1109,735,1640,967,9,884,505,6,1262,154,936,145,402,1340,787,2174,3055,3016,707,94,2467,473,174,1062,355,725,3427,2945,354,1007,1010,1989,115 ) + dis: 138.937 141.701 143.579 143.906 144.049 144.801 144.818 144.912 145.397 146.198 +query 2 nn's (643&257): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165.436 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.015 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.479 +[122.525 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..2049771 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:23 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[9.576 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.064 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.064 s] Loaded 900 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727803402.000 +[96.081 s] *** Done filter_ids_map 90.743 +[98.053 s] *** Done Query 1.972 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[98.053 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +query 1 nn's (2&787): 448010 (305,588,724,934,916,1292,44,2749,1507,2,1014,1363,787,1359,1933,3200,1493,2499,2166,19,1145,590,363,883,208,1221,229,209,1022,333,579,996,1458,420,164,3258,340,1298,353,2552,663,1288,2768,2129,28,734,3323,406,3590,2211,444,3078,2398,3918,927,884,248,0,231,467,1510,837,1118,511,1674,2199,2898,9,147,809 ) 472768 (141,43,2554,391,2519,879,447,7,152,448,862,671,355,1014,26,9,412,3043,331,20,68,1843,2469,11,592,988,787,1748,1477,2,2196,138,1405,1092,13,60,2790,1050,166,623,184,1686,82,1400,183,155,1730,1071,191,565,1943,161,579,1540,3758,736,453,521,305,1097,1879,0 ) 323417 (1343,3326,248,172,1505,3644,3560,81,1272,2141,3365,103,7,3554,5,2871,1614,3816,2125,1794,1241,110,1197,3466,1977,134,51,339,342,3523,715,2652,2371,2114,2533,144,461,787,845,366,305,1403,2,794,1452,218,66,477,912,1400,512,242,3639,1158,87,96,347,3674,495,1085,790,3601,1615,2544,1843,1770,1862 ) 879989 (449,1085,120,35,424,354,548,249,24,28,2196,763,3521,1117,2564,3058,200,3468,218,433,529,2,659,115,62,1174,1843,2469,2798,924,39,774,101,12,48,81,1255,108,561,3583,139,1369,910,475,212,0,1871,256,308,543,83,476,1141,899,3188,1109,841,380,3,1695,3190,474,3200,3154,2072,9,412,2801,787,1257,343,473 ) 721900 (199,461,1022,680,3644,612,340,357,722,68,282,653,2466,3020,1531,81,1256,1272,1276,2646,111,3878,2528,244,2397,2101,441,2067,200,294,1422,787,0,585,305,39,902,2587,733,368,1879,13,161,936,2769,362,728,1843,1956,1050,926,675,1907,20,584,3754,2875,2,519,303,2114,317,645,449,1874,1469,3368,1071,601,944,434,1943,24,28,206,1247 ) 192886 (20,42,247,1469,43,178,1249,883,1317,24,28,627,296,51,33,364,91,0,138,1770,548,27,473,1258,905,728,2528,48,118,471,949,2634,401,3459,2041,866,756,1076,2381,1031,1161,338,397,1725,1280,112,274,1155,1237,652,245,643,1983,36,130,82,141,1057,959,590,1104,277,632,619,305,924,1757,359,714,110,3868,218,592,94,675,1798,11,844,3583,3094,3089,19,255,705,72,71,269,2374,502,787,1954,2,183,87,264,139,1316,362,953,666,2456,89,501,485,1730,1081,1698,1424,812,10,257,155 ) 101139 (158,1330,2031,841,19,1723,1297,497,1496,2880,2681,89,2259,787,2792,1352,843,817,2507,312,331,88,2145,534,943,1194,1277,1234,2,1197,2301,51,880,1502,3512,3480,140,2836,876,809,3315,3800 ) 542466 (1579,3008,2313,252,2590,878,2232,240,2756,1878,1082,257,345,501,3666,1395,845,456,1242,440,650,1177,2772,1331,2316,130,387,980,631,1021,269,787,207,1742,2,1433,712,172,868,2446,740,108,910,51,175,159,865,2974,158,582,1869,30,1894,35,350,89,466,199,2805,675,1956,940,1608,543,3919,853,3251,510,2885,129,1685,1409,1052,459,13,96,27,3557,2178,11,1288,480,41,943,29,2575,1148 ) 192355 (229,1359,2837,1107,675,2467,548,2332,2297,1016,569,68,854,0,1363,71,10,2448,3722,804,2801,1583,787,1033,972,1887,855,112,1438,985,555,757,1152,125,1719,1918,1322,3538,138,677,574,2785,501,293,1403,14,2,755,478,80,1782,577 ) 111179 (728,1868,727,196,495,2071,1874,101,171,127,108,2,449,1321,912,141,87,1247,342,280,26,432,2369,1109,735,1640,967,9,884,505,6,1262,154,936,145,402,1340,787,2174,3055,3016,707,94,2467,473,174,1062,355,725,3427,2945,354,1007,1010,1989,115 ) + dis: 138.937 141.701 143.579 143.906 144.049 144.801 144.818 144.912 145.397 146.198 +query 2 nn's (643&257): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165.436 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.015 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.538 +[119.397 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..78b944d --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:17 diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..ffc557c --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:20 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[2.984 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.013 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.013 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727803233.000 +[84.073 s] *** Done filter_ids_map 82.144 +[87.667 s] *** Done Query 3.594 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[87.667 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.994 +[99.930 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..da73dc0 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:17 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.660 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.034 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.034 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727803036.000 +[81.460 s] *** Done filter_ids_map 79.559 +[82.969 s] *** Done Query 1.509 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[82.969 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.971 +[95.928 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..7c8b211 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:18 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.071 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.013 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.013 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727803133.000 +[83.699 s] *** Done filter_ids_map 81.903 +[85.968 s] *** Done Query 2.270 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[85.968 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.988 +[98.567 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..56cf4d8 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:06 diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..acc87e6 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,27 @@ +Start time: 10:07 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.025 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.012 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.012 s] Loaded 5000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..1fd9327 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,27 @@ +Start time: 10:06 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.346 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.019 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.019 s] Loaded 5000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..0580302 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma1/summary_yfcc_n=1000000_nq=5000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,27 @@ +Start time: 10:06 +Max threads available: 64 +[Config] N: 1000000, nq: 5000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[10.096 s] Loaded metadata, 5000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.019 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +Warning: nq is greater than the number of loaded queries, setting nq to 1016 +[0.019 s] Loaded 5000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=0_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..9b2139a --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:19 diff --git a/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=150_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..2564715 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:23 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[2.018 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.017 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727803395.000 +[78.580 s] *** Done filter_ids_map 75.039 +[82.054 s] *** Done Query 3.475 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[82.055 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.973 +[93.821 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=40_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..166f876 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:19 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[1.988 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.018 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.018 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727803209.000 +[80.171 s] *** Done filter_ids_map 79.069 +[81.714 s] *** Done Query 1.543 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[81.714 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.918 +[93.617 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=80_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..9d6f597 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=1000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:21 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[1.990 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.017 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727803303.000 +[76.313 s] *** Done filter_ids_map 75.156 +[78.671 s] *** Done Query 2.358 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[78.671 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.954 +[90.481 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..502a55d --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:27 diff --git a/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..5126bf1 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:31 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.492 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.009 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.010 s] Loaded 900 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727803878.000 +[94.110 s] *** Done filter_ids_map 84.919 +[97.175 s] *** Done Query 3.066 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[97.175 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +query 1 nn's (2&787): 448010 (305,588,724,934,916,1292,44,2749,1507,2,1014,1363,787,1359,1933,3200,1493,2499,2166,19,1145,590,363,883,208,1221,229,209,1022,333,579,996,1458,420,164,3258,340,1298,353,2552,663,1288,2768,2129,28,734,3323,406,3590,2211,444,3078,2398,3918,927,884,248,0,231,467,1510,837,1118,511,1674,2199,2898,9,147,809 ) 472768 (141,43,2554,391,2519,879,447,7,152,448,862,671,355,1014,26,9,412,3043,331,20,68,1843,2469,11,592,988,787,1748,1477,2,2196,138,1405,1092,13,60,2790,1050,166,623,184,1686,82,1400,183,155,1730,1071,191,565,1943,161,579,1540,3758,736,453,521,305,1097,1879,0 ) 323417 (1343,3326,248,172,1505,3644,3560,81,1272,2141,3365,103,7,3554,5,2871,1614,3816,2125,1794,1241,110,1197,3466,1977,134,51,339,342,3523,715,2652,2371,2114,2533,144,461,787,845,366,305,1403,2,794,1452,218,66,477,912,1400,512,242,3639,1158,87,96,347,3674,495,1085,790,3601,1615,2544,1843,1770,1862 ) 879989 (449,1085,120,35,424,354,548,249,24,28,2196,763,3521,1117,2564,3058,200,3468,218,433,529,2,659,115,62,1174,1843,2469,2798,924,39,774,101,12,48,81,1255,108,561,3583,139,1369,910,475,212,0,1871,256,308,543,83,476,1141,899,3188,1109,841,380,3,1695,3190,474,3200,3154,2072,9,412,2801,787,1257,343,473 ) 721900 (199,461,1022,680,3644,612,340,357,722,68,282,653,2466,3020,1531,81,1256,1272,1276,2646,111,3878,2528,244,2397,2101,441,2067,200,294,1422,787,0,585,305,39,902,2587,733,368,1879,13,161,936,2769,362,728,1843,1956,1050,926,675,1907,20,584,3754,2875,2,519,303,2114,317,645,449,1874,1469,3368,1071,601,944,434,1943,24,28,206,1247 ) 192886 (20,42,247,1469,43,178,1249,883,1317,24,28,627,296,51,33,364,91,0,138,1770,548,27,473,1258,905,728,2528,48,118,471,949,2634,401,3459,2041,866,756,1076,2381,1031,1161,338,397,1725,1280,112,274,1155,1237,652,245,643,1983,36,130,82,141,1057,959,590,1104,277,632,619,305,924,1757,359,714,110,3868,218,592,94,675,1798,11,844,3583,3094,3089,19,255,705,72,71,269,2374,502,787,1954,2,183,87,264,139,1316,362,953,666,2456,89,501,485,1730,1081,1698,1424,812,10,257,155 ) 101139 (158,1330,2031,841,19,1723,1297,497,1496,2880,2681,89,2259,787,2792,1352,843,817,2507,312,331,88,2145,534,943,1194,1277,1234,2,1197,2301,51,880,1502,3512,3480,140,2836,876,809,3315,3800 ) 542466 (1579,3008,2313,252,2590,878,2232,240,2756,1878,1082,257,345,501,3666,1395,845,456,1242,440,650,1177,2772,1331,2316,130,387,980,631,1021,269,787,207,1742,2,1433,712,172,868,2446,740,108,910,51,175,159,865,2974,158,582,1869,30,1894,35,350,89,466,199,2805,675,1956,940,1608,543,3919,853,3251,510,2885,129,1685,1409,1052,459,13,96,27,3557,2178,11,1288,480,41,943,29,2575,1148 ) 192355 (229,1359,2837,1107,675,2467,548,2332,2297,1016,569,68,854,0,1363,71,10,2448,3722,804,2801,1583,787,1033,972,1887,855,112,1438,985,555,757,1152,125,1719,1918,1322,3538,138,677,574,2785,501,293,1403,14,2,755,478,80,1782,577 ) 111179 (728,1868,727,196,495,2071,1874,101,171,127,108,2,449,1321,912,141,87,1247,342,280,26,432,2369,1109,735,1640,967,9,884,505,6,1262,154,936,145,402,1340,787,2174,3055,3016,707,94,2467,473,174,1062,355,725,3427,2945,354,1007,1010,1989,115 ) + dis: 138.937 141.701 143.579 143.906 144.049 144.801 144.818 144.912 145.397 146.198 +query 2 nn's (643&257): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165.436 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.015 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.573 +[114.509 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..b69be86 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:27 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.580 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.008 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.008 s] Loaded 900 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727803645.000 +[94.005 s] *** Done filter_ids_map 84.759 +[95.324 s] *** Done Query 1.318 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[95.324 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +query 1 nn's (2&787): 448010 (305,588,724,934,916,1292,44,2749,1507,2,1014,1363,787,1359,1933,3200,1493,2499,2166,19,1145,590,363,883,208,1221,229,209,1022,333,579,996,1458,420,164,3258,340,1298,353,2552,663,1288,2768,2129,28,734,3323,406,3590,2211,444,3078,2398,3918,927,884,248,0,231,467,1510,837,1118,511,1674,2199,2898,9,147,809 ) 472768 (141,43,2554,391,2519,879,447,7,152,448,862,671,355,1014,26,9,412,3043,331,20,68,1843,2469,11,592,988,787,1748,1477,2,2196,138,1405,1092,13,60,2790,1050,166,623,184,1686,82,1400,183,155,1730,1071,191,565,1943,161,579,1540,3758,736,453,521,305,1097,1879,0 ) 323417 (1343,3326,248,172,1505,3644,3560,81,1272,2141,3365,103,7,3554,5,2871,1614,3816,2125,1794,1241,110,1197,3466,1977,134,51,339,342,3523,715,2652,2371,2114,2533,144,461,787,845,366,305,1403,2,794,1452,218,66,477,912,1400,512,242,3639,1158,87,96,347,3674,495,1085,790,3601,1615,2544,1843,1770,1862 ) 879989 (449,1085,120,35,424,354,548,249,24,28,2196,763,3521,1117,2564,3058,200,3468,218,433,529,2,659,115,62,1174,1843,2469,2798,924,39,774,101,12,48,81,1255,108,561,3583,139,1369,910,475,212,0,1871,256,308,543,83,476,1141,899,3188,1109,841,380,3,1695,3190,474,3200,3154,2072,9,412,2801,787,1257,343,473 ) 721900 (199,461,1022,680,3644,612,340,357,722,68,282,653,2466,3020,1531,81,1256,1272,1276,2646,111,3878,2528,244,2397,2101,441,2067,200,294,1422,787,0,585,305,39,902,2587,733,368,1879,13,161,936,2769,362,728,1843,1956,1050,926,675,1907,20,584,3754,2875,2,519,303,2114,317,645,449,1874,1469,3368,1071,601,944,434,1943,24,28,206,1247 ) 192886 (20,42,247,1469,43,178,1249,883,1317,24,28,627,296,51,33,364,91,0,138,1770,548,27,473,1258,905,728,2528,48,118,471,949,2634,401,3459,2041,866,756,1076,2381,1031,1161,338,397,1725,1280,112,274,1155,1237,652,245,643,1983,36,130,82,141,1057,959,590,1104,277,632,619,305,924,1757,359,714,110,3868,218,592,94,675,1798,11,844,3583,3094,3089,19,255,705,72,71,269,2374,502,787,1954,2,183,87,264,139,1316,362,953,666,2456,89,501,485,1730,1081,1698,1424,812,10,257,155 ) 101139 (158,1330,2031,841,19,1723,1297,497,1496,2880,2681,89,2259,787,2792,1352,843,817,2507,312,331,88,2145,534,943,1194,1277,1234,2,1197,2301,51,880,1502,3512,3480,140,2836,876,809,3315,3800 ) 542466 (1579,3008,2313,252,2590,878,2232,240,2756,1878,1082,257,345,501,3666,1395,845,456,1242,440,650,1177,2772,1331,2316,130,387,980,631,1021,269,787,207,1742,2,1433,712,172,868,2446,740,108,910,51,175,159,865,2974,158,582,1869,30,1894,35,350,89,466,199,2805,675,1956,940,1608,543,3919,853,3251,510,2885,129,1685,1409,1052,459,13,96,27,3557,2178,11,1288,480,41,943,29,2575,1148 ) 192355 (229,1359,2837,1107,675,2467,548,2332,2297,1016,569,68,854,0,1363,71,10,2448,3722,804,2801,1583,787,1033,972,1887,855,112,1438,985,555,757,1152,125,1719,1918,1322,3538,138,677,574,2785,501,293,1403,14,2,755,478,80,1782,577 ) 111179 (728,1868,727,196,495,2071,1874,101,171,127,108,2,449,1321,912,141,87,1247,342,280,26,432,2369,1109,735,1640,967,9,884,505,6,1262,154,936,145,402,1340,787,2174,3055,3016,707,94,2467,473,174,1062,355,725,3427,2945,354,1007,1010,1989,115 ) + dis: 138.937 141.701 143.579 143.906 144.049 144.801 144.818 144.912 145.397 146.198 +query 2 nn's (643&257): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165.436 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.015 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.479 +[112.745 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..1c3cdc9 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:29 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[7.482 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.006 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.006 s] Loaded 900 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727803762.000 +[92.026 s] *** Done filter_ids_map 83.451 +[94.144 s] *** Done Query 2.119 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[94.144 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +query 1 nn's (2&787): 448010 (305,588,724,934,916,1292,44,2749,1507,2,1014,1363,787,1359,1933,3200,1493,2499,2166,19,1145,590,363,883,208,1221,229,209,1022,333,579,996,1458,420,164,3258,340,1298,353,2552,663,1288,2768,2129,28,734,3323,406,3590,2211,444,3078,2398,3918,927,884,248,0,231,467,1510,837,1118,511,1674,2199,2898,9,147,809 ) 472768 (141,43,2554,391,2519,879,447,7,152,448,862,671,355,1014,26,9,412,3043,331,20,68,1843,2469,11,592,988,787,1748,1477,2,2196,138,1405,1092,13,60,2790,1050,166,623,184,1686,82,1400,183,155,1730,1071,191,565,1943,161,579,1540,3758,736,453,521,305,1097,1879,0 ) 323417 (1343,3326,248,172,1505,3644,3560,81,1272,2141,3365,103,7,3554,5,2871,1614,3816,2125,1794,1241,110,1197,3466,1977,134,51,339,342,3523,715,2652,2371,2114,2533,144,461,787,845,366,305,1403,2,794,1452,218,66,477,912,1400,512,242,3639,1158,87,96,347,3674,495,1085,790,3601,1615,2544,1843,1770,1862 ) 879989 (449,1085,120,35,424,354,548,249,24,28,2196,763,3521,1117,2564,3058,200,3468,218,433,529,2,659,115,62,1174,1843,2469,2798,924,39,774,101,12,48,81,1255,108,561,3583,139,1369,910,475,212,0,1871,256,308,543,83,476,1141,899,3188,1109,841,380,3,1695,3190,474,3200,3154,2072,9,412,2801,787,1257,343,473 ) 721900 (199,461,1022,680,3644,612,340,357,722,68,282,653,2466,3020,1531,81,1256,1272,1276,2646,111,3878,2528,244,2397,2101,441,2067,200,294,1422,787,0,585,305,39,902,2587,733,368,1879,13,161,936,2769,362,728,1843,1956,1050,926,675,1907,20,584,3754,2875,2,519,303,2114,317,645,449,1874,1469,3368,1071,601,944,434,1943,24,28,206,1247 ) 192886 (20,42,247,1469,43,178,1249,883,1317,24,28,627,296,51,33,364,91,0,138,1770,548,27,473,1258,905,728,2528,48,118,471,949,2634,401,3459,2041,866,756,1076,2381,1031,1161,338,397,1725,1280,112,274,1155,1237,652,245,643,1983,36,130,82,141,1057,959,590,1104,277,632,619,305,924,1757,359,714,110,3868,218,592,94,675,1798,11,844,3583,3094,3089,19,255,705,72,71,269,2374,502,787,1954,2,183,87,264,139,1316,362,953,666,2456,89,501,485,1730,1081,1698,1424,812,10,257,155 ) 101139 (158,1330,2031,841,19,1723,1297,497,1496,2880,2681,89,2259,787,2792,1352,843,817,2507,312,331,88,2145,534,943,1194,1277,1234,2,1197,2301,51,880,1502,3512,3480,140,2836,876,809,3315,3800 ) 542466 (1579,3008,2313,252,2590,878,2232,240,2756,1878,1082,257,345,501,3666,1395,845,456,1242,440,650,1177,2772,1331,2316,130,387,980,631,1021,269,787,207,1742,2,1433,712,172,868,2446,740,108,910,51,175,159,865,2974,158,582,1869,30,1894,35,350,89,466,199,2805,675,1956,940,1608,543,3919,853,3251,510,2885,129,1685,1409,1052,459,13,96,27,3557,2178,11,1288,480,41,943,29,2575,1148 ) 192355 (229,1359,2837,1107,675,2467,548,2332,2297,1016,569,68,854,0,1363,71,10,2448,3722,804,2801,1583,787,1033,972,1887,855,112,1438,985,555,757,1152,125,1719,1918,1322,3538,138,677,574,2785,501,293,1403,14,2,755,478,80,1782,577 ) 111179 (728,1868,727,196,495,2071,1874,101,171,127,108,2,449,1321,912,141,87,1247,342,280,26,432,2369,1109,735,1640,967,9,884,505,6,1262,154,936,145,402,1340,787,2174,3055,3016,707,94,2467,473,174,1062,355,725,3427,2945,354,1007,1010,1989,115 ) + dis: 138.937 141.701 143.579 143.906 144.049 144.801 144.818 144.912 145.397 146.198 +query 2 nn's (643&257): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165.436 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.015 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.538 +[111.502 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..f53a8be --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 10:22 diff --git a/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..7a86506 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:25 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.305 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.012 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.013 s] Loaded 1000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727803528.000 +[81.635 s] *** Done filter_ids_map 79.384 +[86.338 s] *** Done Query 4.703 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[86.338 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.994 +[104.730 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..b6db759 --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:22 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[3.024 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.012 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.012 s] Loaded 1000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727803333.000 +[82.887 s] *** Done filter_ids_map 81.059 +[84.343 s] *** Done Query 1.456 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[84.343 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.971 +[96.382 s] -----DONE----- diff --git a/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=10_M_beta=64.txt b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..b3740eb --- /dev/null +++ b/10-01-2024_experiments/MB64_gamma10/summary_yfcc_n=1000000_nq=1000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 10:23 +Max threads available: 64 +[Config] N: 1000000, nq: 1000, dataset_path: ../yfcc/ +loaded metadata for 81545: 9,19 +loaded metadata from: ../yfcc//base_labels.txt +Number of lines loaded: 9998928 +Value of N: 1000000 +[2.993 s] Loaded metadata, 1000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../yfcc//query_dense.fbin ... +#pts = 1016, #dims = 192 +Number of parts: 1 +Reading bin file ../yfcc//query_dense.fbin ... +#pts in part = 1016, #dims = 192, size = 780288B +Finished reading part of the bin file. +Finished converting part data to float. +[0.012 s] Loaded query vectors from ../yfcc//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../yfcc//query_dense_labels.txt +Number of lines loaded: 1016 +Value of N: 1016 +[0.012 s] Loaded 1000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../yfcc//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 144.95 (144952326) + 3. nb of reciprocal neighbors: 107.73 + 4. nb of neighbors that are also neighbor-of-neighbors: 144.16 (144162019) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 195.88 (3066114) + 3. nb of reciprocal neighbors: 192.66 + 4. nb of neighbors that are also neighbor-of-neighbors: 195.86 (3065721) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 148.13 (31108) + 3. nb of reciprocal neighbors: 147.77 + 4. nb of neighbors that are also neighbor-of-neighbors: 148.01 (31083) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999796 nodes + level 1: 15642 nodes + level 2: 208 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 1000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727803431.000 +[75.191 s] *** Done filter_ids_map 73.263 +[77.552 s] *** Done Query 2.361 +config nq: 1000 dis size:10000nns size:10000id map:1000000000 +aq_strings size: 1016 +metadata_strings size: 9998928 +[77.552 s] Query results (vector ids, then distances): +query 0 nn's (29): 814696 (5,12,29) 444786 (4,22,29,117913,32952,26736,24803,23917,23901,23210,22765,22536,21763,15298,14050,13901,13417,12396,11087,9728,9368,8515,7344,7335,6655,5867,5664,3577,3575,3185,2161,1996,1541,1439,1322,1286,908,877,537,426) 314496 (7,22,29) 178696 (10,15,29,3348) 682876 (7,14,29,40669,24232) 436682 (6,17,29) 5353 (7,23,29) 111392 (10,21,29,181459,171295,141457,134740,99833,51819,26335,20874,13298,13074,11433,10174,6432,6098,5599,3217,493,435) 143619 (10,15,29) 346873 (1,16,29,19696,1435,850) + dis: 45162 48036 49224 49225 49871 50932 52040 52257 52552 53337 +query 1 nn's (3): 932430 (3,17,24,15527) 574356 (3,18,39,2509,1453,1278,390) 673003 (3,14,30) 469635 (3,23,24,91,115033,96741,63083,62977,55312,44006,39833,38988,31820,10796,6334,4765,4455,3990,3668,908) 298785 (3,22,30) 595042 (3,19,30) 604737 (3,14,30,9347,6938,3729,3157) 688131 (3,16,24,96373,10015,7819,4791) 7218 (3,19,30,110,75609,75608,75607,75606,57333,48964,33576,26144,26140,11313,10262,9666,9336,6177,6174,6171,6039,5413,3615,3353,2919,2914,2912,2619,925,746) 75064 (3,18,33,65033,2954) + dis: 53954 58345 60522 61111 62252 66432 66486 66544 66715 66810 +query 2 nn's (36): 390974 (10,19,36,101,20348,3182) 718986 (10,18,36,90,338,4864) 289100 (10,16,36,90,367,28382,17368,8347,7985,7765,7476,7334,6821,4836,3179,1516,934,535) 432369 (8,16,36,90,349,1343,488) 676767 (8,18,36) 459625 (10,18,36) 497309 (8,16,36,40089,22203,7531,6208,5779,5706,4300,3335,3166,2840,2837,2544,660) 136788 (9,18,36,25086,19244,6288,1616) 305439 (9,13,36,26070) 509350 (9,20,36,90,337) + dis: 54829 55831 56012 57397 58284 58575 58757 59596 60627 61606 +query 3 nn's (29): 306736 (8,20,29,16493,13333,10861) 601546 (8,13,29) 351923 (5,18,29,189732,137218,105761,105513,8505,6481,5898,5858,4006,607,606) 810692 (4,15,29,33097,11326,486,431) 969441 (8,20,29,13333,10861,5570,3386,3385) 514446 (4,17,29,5972,4941) 889305 (6,15,29,71546) 115157 (9,16,29,26782,8698,5212,1691) 840172 (6,12,29,132021,66119,26957,25240,8514,6962,4720,1885) 339300 (6,16,29) + dis: 39712 46152 49322 50588 50833 51328 51353 51808 52348 52450 +query 4 nn's (26): 308852 (4,15,26,163215,87543,47884,39046,3031) 56996 (7,13,26,13828,11262) 838849 (9,17,26,15228,14852,5776,4583,3809,3732,3457,2838,2303,2134,2013,1583,918,905,653) 301070 (9,16,26) 97405 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 97406 (4,15,26,94,27761,27750,10065,6464,6199,3752,3404,903,828,455) 279464 (5,17,26,92,64586,30939,12277,12275,12274,3216) 836888 (7,21,26,137084,70552,27724,25106,24551,7641,4930,2170,2065) 181525 (3,12,26,19937) 339269 (6,22,26,27327,10533,10532,9624,6706,6311,5745,2836,2440,1338) + dis: 68765 76720 88230 96771 98045 98045 99226 100354 107019 109436 +GT Filename: ../yfcc/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.988 +[89.646 s] -----DONE----- diff --git a/10-01-2024_experiments/summary_amazon.txt b/10-01-2024_experiments/summary_amazon.txt new file mode 100644 index 0000000..341468e --- /dev/null +++ b/10-01-2024_experiments/summary_amazon.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,1000,100,40,32,32,1,0.781,1.395, 81.321 +1000000,1000,100,80,32,32,1,0.883,1.572, 76.899 +1000000,1000,100,150,32,32,1,0.922,2.862, 78.242 +1000000,1000,100,40,32,32,10,0.781,1.062, 72.884 +1000000,1000,100,80,32,32,10,0.883,1.616, 74.832 +1000000,1000,100,150,32,32,10,0.922,2.316, 76.073 +1000000,1000,100,40,64,64,1,0.918,1.540, 70.426 +1000000,1000,100,80,64,64,1,0.954,3.558, 74.845 +1000000,1000,100,150,64,64,1,0.973,3.986, 75.151 +1000000,1000,100,40,64,64,10,0.918,1.543, 79.069 +1000000,1000,100,80,64,64,10,0.954,2.358, 75.156 +1000000,1000,100,150,64,64,10,0.973,3.475, 75.039 diff --git a/10-01-2024_experiments/summary_wikicohere.txt b/10-01-2024_experiments/summary_wikicohere.txt new file mode 100644 index 0000000..34457fc --- /dev/null +++ b/10-01-2024_experiments/summary_wikicohere.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,900,100,40,32,32,1,0.362,0.741, 94.377 +1000000,900,100,80,32,32,1,0.421,1.168, 88.698 +1000000,900,100,150,32,32,1,0.467,2.694, 89.587 +1000000,900,100,40,32,32,10,0.362,1.398, 95.720 +1000000,900,100,80,32,32,10,0.421,1.168, 96.649 +1000000,900,100,150,32,32,10,0.467,2.776, 93.974 +1000000,900,100,40,64,64,1,0.479,1.372, 98.346 +1000000,900,100,80,64,64,1,0.538,1.972, 90.743 +1000000,900,100,150,64,64,1,0.573,3.037, 85.334 +1000000,900,100,40,64,64,10,0.479,1.318, 84.759 +1000000,900,100,80,64,64,10,0.538,2.119, 83.451 +1000000,900,100,150,64,64,10,0.573,3.066, 84.919 diff --git a/10-01-2024_experiments/summary_yfcc.txt b/10-01-2024_experiments/summary_yfcc.txt new file mode 100644 index 0000000..daad7ec --- /dev/null +++ b/10-01-2024_experiments/summary_yfcc.txt @@ -0,0 +1,13 @@ +N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time +1000000,1000,100,40,32,32,1,0.924,1.250, 82.833 +1000000,1000,100,80,32,32,1,0.958,1.637, 80.175 +1000000,1000,100,150,32,32,1,0.977,2.486, 83.621 +1000000,1000,100,40,32,32,10,0.924,1.046, 82.161 +1000000,1000,100,80,32,32,10,0.958,1.626, 82.311 +1000000,1000,100,150,32,32,10,0.977,5.930, 80.169 +1000000,1000,100,40,64,64,1,0.971,1.509, 79.559 +1000000,1000,100,80,64,64,1,0.988,2.270, 81.903 +1000000,1000,100,150,64,64,1,0.994,3.594, 82.144 +1000000,1000,100,40,64,64,10,0.971,1.456, 81.059 +1000000,1000,100,80,64,64,10,0.988,2.361, 73.263 +1000000,1000,100,150,64,64,10,0.994,4.703, 79.384 diff --git a/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..190ff7a --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 08:40 diff --git a/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=150_gamma=1_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..6e754da --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 08:48 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.347 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.015 s] Loaded 3000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727884097.000 +[211.364 s] *** Done filter_ids_map 209.697 +[217.549 s] *** Done Query 6.185 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[217.549 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.924 +[227.364 s] -----DONE----- diff --git a/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=40_gamma=1_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..57a09d8 --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 08:40 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.480 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.017 s] Loaded 3000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727883647.000 +[212.983 s] *** Done filter_ids_map 210.979 +[215.783 s] *** Done Query 2.800 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[215.783 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 356368 (BRAND=Leacree,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 437423 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 563749 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 799148 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 289009 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 858851 (BRAND=MarketplaceAutoParts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.814075 0.818852 0.845059 0.878824 0.899179 0.906705 0.916746 0.91842 0.924825 0.929039 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.782 +[225.741 s] -----DONE----- diff --git a/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=80_gamma=1_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..92f7983 --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma1/summary_amazon_n=1000000_nq=3000_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 08:44 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.396 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.016 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.017 s] Loaded 3000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727883874.000 +[208.933 s] *** Done filter_ids_map 207.234 +[212.993 s] *** Done Query 4.060 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[212.993 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.878 +[222.929 s] -----DONE----- diff --git a/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=0_gamma=10_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..e0a4652 --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 08:51 diff --git a/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=150_gamma=10_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..3439cbf --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 08:59 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.401 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.010 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.010 s] Loaded 3000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727884774.000 +[221.463 s] *** Done filter_ids_map 219.711 +[227.658 s] *** Done Query 6.195 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[227.658 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.924 +[237.629 s] -----DONE----- diff --git a/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=40_gamma=10_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..702c93a --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 08:51 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.398 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.009 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.010 s] Loaded 3000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727884325.000 +[207.971 s] *** Done filter_ids_map 206.250 +[210.710 s] *** Done Query 2.739 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[210.711 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 15448 (BRAND=Frienda,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=4) + dis: 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.858033 0.860469 0.866668 0.872413 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 356368 (BRAND=Leacree,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 437423 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 563749 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 799148 (BRAND=DRIVETECHAMERICA,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 289009 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 858851 (BRAND=MarketplaceAutoParts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.814075 0.818852 0.845059 0.878824 0.899179 0.906705 0.916746 0.91842 0.924825 0.929039 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.782 +[220.656 s] -----DONE----- diff --git a/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=80_gamma=10_M_beta=32.txt b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..26d5597 --- /dev/null +++ b/10-02-2024_experiments/MB32_gamma10/summary_amazon_n=1000000_nq=3000_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 08:55 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.414 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.009 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.010 s] Loaded 3000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 82.89 (82894638) + 3. nb of reciprocal neighbors: 58.07 + 4. nb of neighbors that are also neighbor-of-neighbors: 81.16 (81157090) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 183.48 (5734462) + 3. nb of reciprocal neighbors: 169.43 + 4. nb of neighbors that are also neighbor-of-neighbors: 183.31 (5729113) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 187.10 (182979) + 3. nb of reciprocal neighbors: 184.44 + 4. nb of neighbors that are also neighbor-of-neighbors: 186.72 (182617) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.33 (684) + 3. nb of reciprocal neighbors: 24.81 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.07 (677) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999666 nodes + level 1: 31250 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727884547.000 +[212.093 s] *** Done filter_ids_map 210.391 +[216.291 s] *** Done Query 4.198 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[216.291 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 757875 (BRAND=HZGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Magnets,RATING=4) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.826604 0.831042 0.843287 0.844991 0.858033 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.878 +[226.174 s] -----DONE----- diff --git a/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=0_gamma=1_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..5f22bf5 --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 09:03 diff --git a/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=150_gamma=1_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=150_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..f796e13 --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=150_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:11 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.385 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.014 s] Loaded 3000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727885478.000 +[221.328 s] *** Done filter_ids_map 219.657 +[232.969 s] *** Done Query 11.641 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[232.969 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.975 +[247.628 s] -----DONE----- diff --git a/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=40_gamma=1_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..6607ca2 --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:03 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.405 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.010 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.010 s] Loaded 3000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727885017.000 +[207.527 s] *** Done filter_ids_map 205.795 +[211.611 s] *** Done Query 4.084 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[211.611 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.919 +[226.106 s] -----DONE----- diff --git a/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=80_gamma=1_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..825afcb --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma1/summary_amazon_n=1000000_nq=3000_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:07 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.399 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.015 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.016 s] Loaded 3000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727885244.000 +[211.937 s] *** Done filter_ids_map 209.916 +[218.213 s] *** Done Query 6.276 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[218.213 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.957 +[232.696 s] -----DONE----- diff --git a/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=0_gamma=10_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=0_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..364d291 --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=0_gamma=10_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 09:15 diff --git a/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=150_gamma=10_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=150_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..7a7eed8 --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=150_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:23 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.389 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.009 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.010 s] Loaded 3000 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1727886195.000 +[226.253 s] *** Done filter_ids_map 224.272 +[238.280 s] *** Done Query 12.027 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[238.280 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 221122 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,RATING=5) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) + dis: 0.691424 0.74367 0.780706 0.803099 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.975 +[252.867 s] -----DONE----- diff --git a/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=40_gamma=10_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=40_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..74e32c4 --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=40_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:15 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.443 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.014 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.015 s] Loaded 3000 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1727885727.000 +[212.446 s] *** Done filter_ids_map 210.379 +[218.284 s] *** Done Query 5.838 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[218.284 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) + dis: 0.726577 0.813061 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 0.866668 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.919 +[233.031 s] -----DONE----- diff --git a/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=80_gamma=10_M_beta=64.txt b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=80_gamma=10_M_beta=64.txt new file mode 100644 index 0000000..ef3d0a6 --- /dev/null +++ b/10-02-2024_experiments/MB64_gamma10/summary_amazon_n=1000000_nq=3000_efs=80_gamma=10_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 09:19 +Max threads available: 64 +[Config] N: 1000000, nq: 3000, dataset_path: ../amazon/ +loaded metadata for 81545: BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5 +loaded metadata from: ../amazon//base_labels.txt +Number of lines loaded: 2000640 +Value of N: 1000000 +[5.431 s] Loaded metadata, 3000000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../amazon//query_dense.fbin ... +#pts = 3653, #dims = 384 +Number of parts: 1 +Reading bin file ../amazon//query_dense.fbin ... +#pts in part = 3653, #dims = 384, size = 5611008B +Finished reading part of the bin file. +Finished converting part data to float. +[0.009 s] Loaded query vectors from ../amazon//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../amazon//query_dense_labels.txt +Number of lines loaded: 3653 +Value of N: 3653 +[0.010 s] Loaded 3000 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../amazon//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 146.78 (146784951) + 3. nb of reciprocal neighbors: 113.71 + 4. nb of neighbors that are also neighbor-of-neighbors: 145.62 (145617570) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 198.46 (3106430) + 3. nb of reciprocal neighbors: 197.61 + 4. nb of neighbors that are also neighbor-of-neighbors: 198.32 (3104244) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 147.46 (30966) + 3. nb of reciprocal neighbors: 147.10 + 4. nb of neighbors that are also neighbor-of-neighbors: 147.30 (30934) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999827 nodes + level 1: 15646 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 3000 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1727885961.000 +[211.989 s] *** Done filter_ids_map 209.913 +[218.269 s] *** Done Query 6.279 +config nq: 3000 dis size:30000nns size:30000id map:3000000000 +aq_strings size: 3653 +metadata_strings size: 2000640 +[218.269 s] Query results (vector ids, then distances): +query 0 nn's (CAT=ExteriorAccessories): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 1 nn's (CAT=ExteriorAccessories&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 2 nn's (CAT=BumperStickersDecalsMagnets): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 974846 (BRAND=Tallew,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 537973 (BRAND=VisionSigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 512423 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 261674 (BRAND=WOKNOW,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 441787 (BRAND=NepaDesigns,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=4) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 369312 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=3) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.813061 0.813929 0.817011 0.822587 0.826604 0.831042 0.843287 0.844991 0.860469 +query 3 nn's (CAT=BumperStickersDecalsMagnets&RATING=5): 947804 (BRAND=AKWallArt,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 81545 (BRAND=GTGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 252823 (BRAND=Generic,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 182389 (BRAND=Mycustomvinyl,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 418696 (BRAND=StickerCollective,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 758610 (BRAND=StickerLife,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 610045 (BRAND=Gotsticker,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 581952 (BRAND=WSQ,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=BumperStickers,RATING=5) 763470 (BRAND=IONGraphics,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) 481206 (BRAND=KWH,CAT=Automotive,CAT=ExteriorAccessories,CAT=BumperStickersDecalsMagnets,CAT=Decals,RATING=5) + dis: 0.726577 0.822587 0.843287 0.860469 0.866668 0.891758 0.893332 0.893466 0.89625 0.898504 +query 4 nn's (CAT=ReplacementParts): 506316 (BRAND=Newparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 698519 (BRAND=Arnott,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 176345 (BRAND=Bilstein,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 463671 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 69799 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 58384 (BRAND=Mercedes-Benz,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=2) 866193 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) 859183 (BRAND=UNITYAUTOMOTIVE,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=3) 345685 (BRAND=TRQ,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=5) 587716 (BRAND=AMAutoparts,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Struts,RATING=4) + dis: 0.691424 0.74367 0.780706 0.814075 0.818852 0.836913 0.845059 0.852808 0.878824 0.887579 +GT Filename: ../amazon/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.957 +[232.806 s] -----DONE----- diff --git a/10-02-2024_experiments/summary_amazon.txt b/10-02-2024_experiments/summary_amazon.txt new file mode 100644 index 0000000..d87cba0 --- /dev/null +++ b/10-02-2024_experiments/summary_amazon.txt @@ -0,0 +1,12 @@ +1000000,3000,100,40,32,32,1,0.782,2.800, 210.979 +1000000,3000,100,80,32,32,1,0.878,4.060, 207.234 +1000000,3000,100,150,32,32,1,0.924,6.185, 209.697 +1000000,3000,100,40,32,32,10,0.782,2.739, 206.250 +1000000,3000,100,80,32,32,10,0.878,4.198, 210.391 +1000000,3000,100,150,32,32,10,0.924,6.195, 219.711 +1000000,3000,100,40,64,64,1,0.919,4.084, 205.795 +1000000,3000,100,80,64,64,1,0.957,6.276, 209.916 +1000000,3000,100,150,64,64,1,0.975,11.641, 219.657 +1000000,3000,100,40,64,64,10,0.919,5.838, 210.379 +1000000,3000,100,80,64,64,10,0.957,6.279, 209.913 +1000000,3000,100,150,64,64,10,0.975,12.027, 224.272 diff --git a/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..0c6f381 --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=10_efs=0_gamma=1_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 23:56 diff --git a/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..7e3bb65 --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 00:05 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.398 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.018 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.018 s] Loaded 900 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1732521965.000 +[226.193 s] *** Done filter_ids_map 221.394 +[228.828 s] *** Done Query 2.636 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[228.829 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.467 +[259.574 s] -----DONE----- diff --git a/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..1835779 --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 23:56 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.200 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.010 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.010 s] Loaded 900 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1732521432.000 +[229.382 s] *** Done filter_ids_map 224.745 +[230.432 s] *** Done Query 1.050 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[230.432 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.362 +[260.863 s] -----DONE----- diff --git a/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=32.txt new file mode 100644 index 0000000..f94060a --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 00:01 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.305 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.017 s] Loaded 900 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1732521697.000 +[226.712 s] *** Done filter_ids_map 221.988 +[229.285 s] *** Done Query 2.573 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[229.285 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.421 +[259.784 s] -----DONE----- diff --git a/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..874e9fc --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=10_M_beta=32.txt @@ -0,0 +1 @@ +Start time: 00:10 diff --git a/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..0c01e52 --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=150_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 00:18 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.245 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.019 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.019 s] Loaded 900 queries +--ACORN index created +SearchOnly 150 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 150 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 150 +[0.000 s] *** Start filter_ids_map 1732522754.000 +[227.125 s] *** Done filter_ids_map 222.650 +[229.768 s] *** Done Query 2.643 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[229.768 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.467 +[260.141 s] -----DONE----- diff --git a/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..fe4824e --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 00:10 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.292 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.019 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.019 s] Loaded 900 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1732522228.000 +[227.014 s] *** Done filter_ids_map 222.527 +[228.095 s] *** Done Query 1.081 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[228.095 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.362 +[258.543 s] -----DONE----- diff --git a/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=32.txt b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=32.txt new file mode 100644 index 0000000..9353dbc --- /dev/null +++ b/11-24-2024_experiments/MB32_gamma10/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=10_M_beta=32.txt @@ -0,0 +1,114 @@ +Start time: 00:14 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.263 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.010 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.010 s] Loaded 900 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=32_efc=100_Mb=32_gamma=12_N1000000_M32.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 112 + indx 2: 496 + indx 3: 880 + indx 4: 1264 + indx 5: 1648 + * level probabilities + level 0: 0.968750 + level 1: 0.030273 + level 2: 0.000946 + level 3: 0.000030 + level 4: 0.000001 + level 5: 0.000000 + * efConstruction: 100 + * efSearch: 80 + * max_level: 4 + * entry_point: 118295 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 112 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 76.42 (76421901) + 3. nb of reciprocal neighbors: 32.12 + 4. nb of neighbors that are also neighbor-of-neighbors: 71.46 (71458740) +========= LEVEL 1 ======= +* stats on level 1, max 384 neighbors per vertex: + 1. nb of nodes: 31254 + 2. neighbors per node: 138.63 (4332801) + 3. nb of reciprocal neighbors: 85.97 + 4. nb of neighbors that are also neighbor-of-neighbors: 125.58 (3925019) +========= LEVEL 2 ======= +* stats on level 2, max 384 neighbors per vertex: + 1. nb of nodes: 978 + 2. neighbors per node: 168.78 (165065) + 3. nb of reciprocal neighbors: 155.65 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.69 (164975) +========= LEVEL 3 ======= +* stats on level 3, max 384 neighbors per vertex: + 1. nb of nodes: 27 + 2. neighbors per node: 25.30 (683) + 3. nb of reciprocal neighbors: 24.67 + 4. nb of neighbors that are also neighbor-of-neighbors: 25.19 (680) +========= LEVEL 4 ======= +* stats on level 4, max 384 neighbors per vertex: + 1. nb of nodes: 1 + 2. neighbors per node: 0.00 (0) + 3. nb of reciprocal neighbors: 0.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 0.00 (0) +METADATA VEC for number nodes per level + level 0: 999908 nodes + level 1: 31253 nodes + level 2: 977 nodes + level 3: 27 nodes + level 4: 1 nodes + level 5: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 80 +[0.000 s] *** Start filter_ids_map 1732522491.000 +[226.795 s] *** Done filter_ids_map 222.346 +[228.511 s] *** Done Query 1.715 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[228.511 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 667005 (21,651,1710,3332,1272,41,425,81,1130,475,0,272 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 161.128 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 1 nn's (2&787): 27412 (1788,553,15,1678,3276,27,3560,2648,1999,23,2394,249,35,736,991,1115,1645,47,321,1015,2266,2844,1210,2303,294,9,530,1122,2775,3,675,854,678,1001,413,1951,912,1469,1699,77,214,2688,1238,510,1053,96,2,2596,596,639,405,1532,581,940,569,26,155,1188,1354,787,2174,514,735,2048,802,2728,108,8,3102,111,1152,191,1653,1,534,3008,257,168,30,1446,222,94,360,212,461,2095,2461,380,623,64,481,1200,760,883,158,1392,627,2669,1885,76,1171,2382,235,303,2916,3429 ) 193382 (1053,88,551,979,109,4,14,2,1797,2383,25,536,0,1500,1698,3593,1940,408,666,2048,1359,728,677,214,143,1379,470,3001,26,1188,2058,257,19,1420,2353,787,2174,2789,2034,288,103,141,1113,312,1236,553,3,305,975 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 184.404 205.018 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 2 nn's (643&257): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 151.574 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 118295 (309,667,224,0,241,553,1498,826,229,726,45,110,468,300 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 152.233 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.421 +[258.926 s] -----DONE----- diff --git a/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=1_M_beta=64.txt b/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..6c8d8de --- /dev/null +++ b/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=0_gamma=1_M_beta=64.txt @@ -0,0 +1 @@ +Start time: 00:23 diff --git a/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=64.txt b/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..8e4788e --- /dev/null +++ b/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=40_gamma=1_M_beta=64.txt @@ -0,0 +1,105 @@ +Start time: 00:23 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.309 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.019 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.019 s] Loaded 900 queries +--ACORN index created +SearchOnly 40 +====================Read Index==================== + +[0.000 s] Read hybrid index from file: ../wikicohere//hybrid_index_M=64_efc=100_Mb=64_gamma=12_N1000000_M64.index +==================================== +============ ACORN INDEX ============= +==================================== +========= METADATA ======= + * cumulative max num neighbors per level + indx 0: 0 + indx 1: 224 + indx 2: 992 + indx 3: 1760 + indx 4: 2528 + * level probabilities + level 0: 0.984375 + level 1: 0.015381 + level 2: 0.000240 + level 3: 0.000004 + level 4: 0.000000 + * efConstruction: 100 + * efSearch: 40 + * max_level: 3 + * entry_point: 803702 + * gamma: 12 +========= LEVEL STATS OF ACORN ======= +========= LEVEL 0 ======= +* stats on level 0, max 224 neighbors per vertex: + 1. nb of nodes: 1000000 + 2. neighbors per node: 129.98 (129977090) + 3. nb of reciprocal neighbors: 66.58 + 4. nb of neighbors that are also neighbor-of-neighbors: 126.43 (126430006) +========= LEVEL 1 ======= +* stats on level 1, max 768 neighbors per vertex: + 1. nb of nodes: 15653 + 2. neighbors per node: 170.96 (2676034) + 3. nb of reciprocal neighbors: 146.23 + 4. nb of neighbors that are also neighbor-of-neighbors: 168.00 (2629693) +========= LEVEL 2 ======= +* stats on level 2, max 768 neighbors per vertex: + 1. nb of nodes: 210 + 2. neighbors per node: 149.78 (31453) + 3. nb of reciprocal neighbors: 149.46 + 4. nb of neighbors that are also neighbor-of-neighbors: 149.74 (31446) +========= LEVEL 3 ======= +* stats on level 3, max 768 neighbors per vertex: + 1. nb of nodes: 5 + 2. neighbors per node: 4.00 (20) + 3. nb of reciprocal neighbors: 4.00 + 4. nb of neighbors that are also neighbor-of-neighbors: 4.00 (20) +METADATA VEC for number nodes per level + level 0: 999946 nodes + level 1: 15653 nodes + level 2: 210 nodes + level 3: 5 nodes + level 4: 0 nodes +============================================== +====================Search Results==================== +============================================== +==================== ACORN INDEX ==================== +[0.000 s] Searching the 10 nearest neighbors of 900 vectors in the index, efsearch 40 +[0.000 s] *** Start filter_ids_map 1732523044.000 +[225.797 s] *** Done filter_ids_map 220.139 +[227.891 s] *** Done Query 2.094 +config nq: 900 dis size:9000nns size:9000id map:900000000 +aq_strings size: 966 +metadata_strings size: 35000000 +[227.891 s] Query results (vector ids, then distances): +query 0 nn's (425&0): 638742 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 670450 (387,653,1077,0,492,70,139,2346,19,461,1368,425,2507,2160,712 ) 132219 (1657,2711,1253,843,2657,529,3507,7,995,453,158,217,2414,3512,828,272,532,167,424,1568,3582,2488,347,2848,2232,3319,706,809,3977,1118,1975,820,425,27,878,1230,2458,2048,313,1681,152,3449,13,16,3053,387,84,0,321,567 ) 877173 (1640,2579,2801,1343,2141,3365,555,794,495,66,611,666,2087,2136,3852,532,2556,1085,985,156,1241,651,748,1710,15,1874,2872,345,612,1144,718,142,264,714,2742,449,0,632,2244,81,3554,1109,169,412,447,433,741,1412,2469,3928,191,425,936,2139,1452,52,3668,2686,2312,3039,585,355,1230 ) 324742 (2536,1084,1845,2,464,89,461,108,425,1252,612,1341,924,115,239,449,176,916,152,489,7,155,2039,129,259,2888,6,1682,1587,27,13,1349,0,161,484,763,285,2089,574,1933,11,3037,3163,1579,564,2305,1614,1531,735,166,195,148,41,752,1686,501,1262,1741,1097,21 ) 457970 (73,1084,129,940,425,214,205,432,3498,336,578,892,621,1585,184,224,2896,125,2441,108,1221,1981,1175,314,0,1238,229,760,3579,783,323,1082,1109,1081,395,668,762,2018,131,2202,1153,37,2970,100,1158,773,1219,41,7,449,135,1120,111,820,495,35,410,501,2997,142,3943,409,156 ) 440163 (1247,3040,304,321,2997,3103,318,610,2790,3229,26,1798,482,3138,1430,935,988,157,820,425,3560,134,611,2103,3660,1114,1246,514,3053,750,5,449,748,557,1580,3538,809,2458,1369,175,1367,0,1986,474,107,1047,19,919,1702,1291,6 ) 781349 (2589,387,995,531,1565,529,2966,129,2230,399,105,1564,1083,1344,2554,272,425,3073,3212,264,81,214,2232,748,1329,30,951,1779,355,726,17,20,1782,829,992,0,2459,1230,331,1746,2030,3285,96,8,7,424,870,909,350,2252,2839,2060,1777,1632,766,2927,502,1754,1687,837,2634,1552,343,158,2234,2373,3484,878,2551,1070,21,1846,3169,3004,1948,338,841,750,5,884,495,1623,420,1021 ) 295689 (2848,602,729,1306,809,2467,71,1961,3245,919,3069,425,2872,1010,1545,3018,562,842,2963,1174,604,1630,318,9,0,3,1101,3970,3279,3121,1007,3535,2275,2488 ) 530059 (264,623,2949,412,1097,21,564,1914,1149,3498,1030,995,2491,425,1841,249,414,74,75,0,1842,1746,255,3484,1351,1748,663,748,715,1419,1565 ) + dis: 143.142 143.454 144.115 144.372 146.226 146.251 146.321 146.703 147.77 147.99 +query 1 nn's (2&787): 448010 (305,588,724,934,916,1292,44,2749,1507,2,1014,1363,787,1359,1933,3200,1493,2499,2166,19,1145,590,363,883,208,1221,229,209,1022,333,579,996,1458,420,164,3258,340,1298,353,2552,663,1288,2768,2129,28,734,3323,406,3590,2211,444,3078,2398,3918,927,884,248,0,231,467,1510,837,1118,511,1674,2199,2898,9,147,809 ) 472768 (141,43,2554,391,2519,879,447,7,152,448,862,671,355,1014,26,9,412,3043,331,20,68,1843,2469,11,592,988,787,1748,1477,2,2196,138,1405,1092,13,60,2790,1050,166,623,184,1686,82,1400,183,155,1730,1071,191,565,1943,161,579,1540,3758,736,453,521,305,1097,1879,0 ) 323417 (1343,3326,248,172,1505,3644,3560,81,1272,2141,3365,103,7,3554,5,2871,1614,3816,2125,1794,1241,110,1197,3466,1977,134,51,339,342,3523,715,2652,2371,2114,2533,144,461,787,845,366,305,1403,2,794,1452,218,66,477,912,1400,512,242,3639,1158,87,96,347,3674,495,1085,790,3601,1615,2544,1843,1770,1862 ) 879989 (449,1085,120,35,424,354,548,249,24,28,2196,763,3521,1117,2564,3058,200,3468,218,433,529,2,659,115,62,1174,1843,2469,2798,924,39,774,101,12,48,81,1255,108,561,3583,139,1369,910,475,212,0,1871,256,308,543,83,476,1141,899,3188,1109,841,380,3,1695,3190,474,3200,3154,2072,9,412,2801,787,1257,343,473 ) 721900 (199,461,1022,680,3644,612,340,357,722,68,282,653,2466,3020,1531,81,1256,1272,1276,2646,111,3878,2528,244,2397,2101,441,2067,200,294,1422,787,0,585,305,39,902,2587,733,368,1879,13,161,936,2769,362,728,1843,1956,1050,926,675,1907,20,584,3754,2875,2,519,303,2114,317,645,449,1874,1469,3368,1071,601,944,434,1943,24,28,206,1247 ) 192886 (20,42,247,1469,43,178,1249,883,1317,24,28,627,296,51,33,364,91,0,138,1770,548,27,473,1258,905,728,2528,48,118,471,949,2634,401,3459,2041,866,756,1076,2381,1031,1161,338,397,1725,1280,112,274,1155,1237,652,245,643,1983,36,130,82,141,1057,959,590,1104,277,632,619,305,924,1757,359,714,110,3868,218,592,94,675,1798,11,844,3583,3094,3089,19,255,705,72,71,269,2374,502,787,1954,2,183,87,264,139,1316,362,953,666,2456,89,501,485,1730,1081,1698,1424,812,10,257,155 ) 101139 (158,1330,2031,841,19,1723,1297,497,1496,2880,2681,89,2259,787,2792,1352,843,817,2507,312,331,88,2145,534,943,1194,1277,1234,2,1197,2301,51,880,1502,3512,3480,140,2836,876,809,3315,3800 ) 542466 (1579,3008,2313,252,2590,878,2232,240,2756,1878,1082,257,345,501,3666,1395,845,456,1242,440,650,1177,2772,1331,2316,130,387,980,631,1021,269,787,207,1742,2,1433,712,172,868,2446,740,108,910,51,175,159,865,2974,158,582,1869,30,1894,35,350,89,466,199,2805,675,1956,940,1608,543,3919,853,3251,510,2885,129,1685,1409,1052,459,13,96,27,3557,2178,11,1288,480,41,943,29,2575,1148 ) 192355 (229,1359,2837,1107,675,2467,548,2332,2297,1016,569,68,854,0,1363,71,10,2448,3722,804,2801,1583,787,1033,972,1887,855,112,1438,985,555,757,1152,125,1719,1918,1322,3538,138,677,574,2785,501,293,1403,14,2,755,478,80,1782,577 ) 111179 (728,1868,727,196,495,2071,1874,101,171,127,108,2,449,1321,912,141,87,1247,342,280,26,432,2369,1109,735,1640,967,9,884,505,6,1262,154,936,145,402,1340,787,2174,3055,3016,707,94,2467,473,174,1062,355,725,3427,2945,354,1007,1010,1989,115 ) + dis: 138.937 141.701 143.579 143.906 144.049 144.801 144.818 144.912 145.397 146.198 +query 2 nn's (643&257): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 165.436 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +query 3 nn's (726&0): 530396 (3657,2990,20,75,3845,175,2429,632,1802,847,1704,1290,209,153,1916,2529,948,522,1097,1233,2305,3037,2189,251,9,3918,3992,1959,900,94,880,3881,1611,30,664,96,163,1022,1938,3930,1975,680,225,1449,3116,0,3535,1549,511,147,1047,110,2915,374,1419,2,773,1623,19,43,101,829,726,2065 ) 447993 (39,2731,183,2534,46,687,19,57,43,715,3590,4,1460,1702,1127,488,2064,833,2,312,305,1742,66,879,13,1655,584,683,954,229,218,726,340,2052,370,2801,387,820,2424,2294,1309,2544,0,585,9,3434,355,3378,1197,927,837,3523,718,2474,267,610,1118,379,3537,363,785,724,530,527,1119,1340,2558,2089,339,175,3053 ) 480187 (2,1687,726,773,579,804,363,533,1580,296,837,0,602,21,412,843,66,63,305,3542,679,373,2638,561,1738,2031,793,569,355,161,2754,1617,2458,420,459,3705,1379,2005,944,2815,1153,129,456,2060,1221,1118,1916,776,3446,495,3594,3845,1641,453,914,1011,110,2529,1141,1132,3791,3509 ) 738602 (1412,538,2936,1898,3220,21,2993,2305,19,2521,950,357,41,2990,458,1423,69,554,42,89,24,28,684,20,247,1663,912,3201,13,2785,373,726,992,776,563,948,16,2153,2807,1577,566,1493,914,741,140,534,2129,305,139,2856,387,152,470,1617,131,0,175,967,96,916,420,296,1352,1010,3611,346,101,1758,2122,3233,3632,465,931 ) 132233 (3960,878,3930,3484,41,158,2711,172,1,1827,20,729,3494,44,2065,0,209,110,11,2768,1235,3882,1320,726,1948,501,1253,343,865,3319,995,473,152,444,2590,1076,3143,47,708,550,112,411,611,1078,24,28,1803,837,331,1687,240,1617,2469,634,101,301,1014,1288,139,2706,305,226,1606,143,175,1419 ) 938 (496,1534,1792,405,1512,565,75,891,643,378,259,411,2234,2541,2667,671,1,101,675,52,1188,231,134,1259,550,527,2,1797,728,480,538,85,3139,208,1649,229,1152,726,992,0,2531,754,878,2067,1345,611,2256,1419,138,883,26,884,1633,1728,130,808,706,1542 ) 57279 (453,2458,420,305,1926,249,57,96,1623,355,140,3484,531,158,340,726,1534,2065,1272,101,3910,46,890,1330,530,1141,3198,108,990,829,130,178,3319,489,2781,534,6,3666,773,363,0,612,1214,3390,208,1754,229,1948,734,1975,2749,1698,29,183,257,584,1084,1153,1845 ) 226110 (995,414,2677,217,1234,2468,3444,384,712,43,800,837,2373,3484,158,2,1778,87,312,16,944,1268,670,30,2116,159,1170,139,1026,41,357,82,614,726,752,2188,570,313,2870,2938,352,1878,1065,564,538,2708,1269,3791,331,1915,828,19,15,574,85,1151,1257,807,183,3693,489,783,2843,1363,762,1097,1829,151,1826,817,912,2399,9,1855,1540,719,545,205,122,3451,1772,21,154,501,3524,3545,1266,3455,983,301,2223,1905,460,1377,673,2507,11,3903,1084,129,3450,3824,458,1398,0,13,373,870,562,400,2162 ) 412893 (1496,387,1330,354,152,1376,1238,574,1769,727,111,2371,352,0,558,2303,24,28,1084,41,1153,1845,36,708,255,726,718,27,1701,279,495,45,229,496,29,2150,1113,15,3377,1438,130,1773,1028,320,2560,1129,931 ) 933489 (81,305,366,2605,1174,111,1412,20,299,37,2499,3974,43,679,1071,136,2420,2107,3528,1901,3897,161,374,910,650,786,2336,1149,0,3299,183,1764,30,2166,201,1194,82,2275,1525,998,1915,1491,63,2259,13,1934,1093,1216,3412,1734,1527,984,2572,1577,1065,2802,3147,981,125,3,209,2968,267,510,1735,726,2410,968,2183,1493,1773,522,1818,671,2507,373,1363 ) + dis: 139.93 140.034 140.836 141.632 141.704 141.816 142.231 142.254 142.328 142.504 +query 4 nn's (1166&0): 803702 (295,344,1447,505,1128,655,38,816,547,157,647,846,629,1,801,699,0,1283,3091,533,165 ) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) -1 (Not Found) + dis: 167.015 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 3.40282e+38 +GT Filename: ../wikicohere/dense_gt_1M.bin.txt +Mismatch between number of queries in ground truth file and nns2 +Recall@10: 0.479 +[283.840 s] -----DONE----- diff --git a/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=64.txt b/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=64.txt new file mode 100644 index 0000000..a3111bb --- /dev/null +++ b/11-24-2024_experiments/MB64_gamma1/summary_wikicohere_n=1000000_nq=900_efs=80_gamma=1_M_beta=64.txt @@ -0,0 +1,26 @@ +Start time: 00:27 +Max threads available: 64 +[Config] N: 1000000, nq: 900, dataset_path: ../wikicohere/ +loaded metadata for 81545: 17,285,787,596,1082,769,697,67,583,299,722,518 +loaded metadata from: ../wikicohere//base_labels.txt +Number of lines loaded: 35000000 +Value of N: 1000000 +[11.287 s] Loaded metadata, 900000000 attributes found +[0.000 s] Loading query vectors and attributes +Reading bin file ../wikicohere//query_dense.fbin ... +#pts = 966, #dims = 768 +Number of parts: 1 +Reading bin file ../wikicohere//query_dense.fbin ... +#pts in part = 966, #dims = 768, size = 2967552B +Finished reading part of the bin file. +Finished converting part data to float. +[0.017 s] Loaded query vectors from ../wikicohere//query.fbin +Invalid dataset in load_aq +loaded metadata from: ../wikicohere//query_dense_labels.txt +Number of lines loaded: 966 +Value of N: 966 +[0.017 s] Loaded 900 queries +--ACORN index created +SearchOnly 80 +====================Read Index==================== + diff --git a/11-24-2024_experiments/summary_wikicohere.txt b/11-24-2024_experiments/summary_wikicohere.txt new file mode 100644 index 0000000..57b8b73 --- /dev/null +++ b/11-24-2024_experiments/summary_wikicohere.txt @@ -0,0 +1,7 @@ +1000000,900,100,40,32,32,1,0.362,1.050, 224.745 +1000000,900,100,80,32,32,1,0.421,2.573, 221.988 +1000000,900,100,150,32,32,1,0.467,2.636, 221.394 +1000000,900,100,40,32,32,10,0.362,1.081, 222.527 +1000000,900,100,80,32,32,10,0.421,1.715, 222.346 +1000000,900,100,150,32,32,10,0.467,2.643, 222.650 +1000000,900,100,40,64,64,1,0.479,2.094, 220.139 diff --git a/CMakeLists.txt b/CMakeLists.txt index 76ba69b..e84880a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,8 +13,9 @@ project(faiss LANGUAGES CXX) include(GNUInstallDirs) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) + list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") # Valid values are "generic", "avx2". @@ -77,7 +78,6 @@ if(NOT nlohmann_json_POPULATED) add_subdirectory(${nlohmann_json_SOURCE_DIR} ${nlohmann_json_BINARY_DIR}) endif() -target_include_directories(faiss PUBLIC ${nlohmann_json_SOURCE_DIR}/include) find_package(ZLIB REQUIRED) target_link_libraries(faiss PUBLIC ${ZLIB_LIBRARIES}) diff --git a/Datasets/sift1M/sift_base.fvecs b/Datasets/sift1M/sift_base.fvecs new file mode 100644 index 0000000..e3b90ae Binary files /dev/null and b/Datasets/sift1M/sift_base.fvecs differ diff --git a/Datasets/sift1M/sift_query.fvecs b/Datasets/sift1M/sift_query.fvecs new file mode 100644 index 0000000..88622e3 Binary files /dev/null and b/Datasets/sift1M/sift_query.fvecs differ diff --git a/Datasets/sift1M/siftsmall_base.fvecs:Zone.Identifier b/Datasets/sift1M/siftsmall_base.fvecs:Zone.Identifier new file mode 100644 index 0000000..e69de29 diff --git a/Datasets/sift1M/siftsmall_learn.fvecs b/Datasets/sift1M/siftsmall_learn.fvecs new file mode 100644 index 0000000..9ea42f0 Binary files /dev/null and b/Datasets/sift1M/siftsmall_learn.fvecs differ diff --git a/Datasets/sift1M/siftsmall_learn.fvecs:Zone.Identifier b/Datasets/sift1M/siftsmall_learn.fvecs:Zone.Identifier new file mode 100644 index 0000000..e69de29 diff --git a/Datasets/sift1M/siftsmall_query.fvecs:Zone.Identifier b/Datasets/sift1M/siftsmall_query.fvecs:Zone.Identifier new file mode 100644 index 0000000..e69de29 diff --git a/Explain.md b/Explain.md new file mode 100644 index 0000000..a8203a5 --- /dev/null +++ b/Explain.md @@ -0,0 +1,68 @@ +# FAISS HNSW and ACORN Implementation + +## Overview + +This document provides an overview of the HNSW (Hierarchical Navigable Small World) and ACORN (Approximate COntent-based Retrieval Network) implementations in the FAISS library. These algorithms are used for efficient similarity search in high-dimensional spaces. + +## Code Structure + +### `faiss/impl/HNSW.h` + +The `HNSW` struct in [`faiss/impl/HNSW.h`](faiss/impl/HNSW.h) contains the core implementation of the HNSW algorithm. Key methods include: + +- `add_with_locks`: Adds a point to all levels up to `pt_level` and builds the link structure. +- `hybrid_add_with_locks`: Similar to `add_with_locks` but for hybrid indices. +- `search`: Searches for the `k` nearest neighbors of a query point. +- `search_level_0`: Searches only in level 0 from a given vertex. +- `hybrid_search`: Searches for the `k` nearest neighbors with additional filtering options. +- `reset`, `clear_neighbor_tables`, `print_neighbor_stats`, `print_edges`: Utility functions for managing and debugging the HNSW structure. + +### `faiss/IndexHNSW.h` + +The [`faiss/IndexHNSW.h`](faiss/IndexHNSW.h) file defines several index structures that use HNSW for efficient access: + +- `IndexHNSW`: Base class for HNSW indices. +- `IndexHNSWFlat`: Flat index with HNSW structure. +- `IndexHNSWPQ`: PQ (Product Quantization) index with HNSW structure. +- `IndexHNSWSQ`: SQ (Scalar Quantization) index with HNSW structure. +- `IndexHNSW2Level`: Two-level index with HNSW structure. +- `IndexHNSWHybridOld`: Hybrid index inheriting from `IndexHNSWFlat`. + + + +## ACORN Implementation + +### Overview + +ACORN (Approximate COntent-based Retrieval Network) is an indexing method implemented in FAISS for efficient similarity search. It is designed to handle large-scale datasets with high-dimensional vectors. ACORN uses a combination of hashing and graph-based search to quickly approximate nearest neighbors. + +### Code Structure + +#### `faiss/impl/ACORN.h` + +The `ACORN` struct in [`faiss/impl/ACORN.h`](faiss/impl/ACORN.h) contains the core implementation of the ACORN algorithm. Key methods include: + +- `add`: Adds a new vector to the index. +- `search`: Searches for the `k` nearest neighbors of a query vector. +- `remove`: Removes a vector from the index. +- `update`: Updates an existing vector in the index. +- `rebuild`: Rebuilds the index to optimize search performance. + +#### `faiss/IndexACORN.h` + +The [`faiss/IndexACORN.h`](faiss/IndexACORN.h) file defines the index structure that uses ACORN for efficient access: + +- `IndexACORN`: Base class for ACORN indices. + +#### `benchs/acorn/README.md` + +The [`benchs/acorn/README.md`](benchs/acorn/README.md) file explains the benchmarking process for the ACORN indexing method. It provides instructions for running benchmarks and analyzing the performance of the ACORN index. + +### How ACORN Works + +1. **Initialization**: The ACORN index is initialized with parameters such as the number of hash tables and the dimensionality of the vectors. +2. **Adding Vectors**: Vectors are added to the index using the `add` method. Each vector is hashed into multiple hash tables. +3. **Searching**: To find the `k` nearest neighbors of a query vector, the `search` method is used. The query vector is hashed, and candidate vectors are retrieved from the hash tables. A graph-based search is then performed to refine the results. +4. **Updating and Removing Vectors**: Vectors can be updated or removed from the index using the `update` and `remove` methods, respectively. +5. **Rebuilding the Index**: The `rebuild` method can be used to optimize the index for better search performance. + diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt index 6b4141d..b9633a4 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt @@ -104,5 +104,18 @@ target_link_libraries(utils PRIVATE faiss) # add_executable(test_laion_arb_pred EXCLUDE_FROM_ALL test_laion_arb_pred.cpp) # target_link_libraries(test_laion_arb_pred PRIVATE faiss) +include_directories(${CMAKE_SOURCE_DIR}/third_party/robin-map/) + + add_executable(test_acorn EXCLUDE_FROM_ALL test_acorn.cpp) +target_include_directories(test_acorn PUBLIC ${nlohmann_json_SOURCE_DIR}/include) target_link_libraries(test_acorn PRIVATE faiss) + +add_executable(acorn EXCLUDE_FROM_ALL acorn.cpp) +target_include_directories(acorn PUBLIC ${nlohmann_json_SOURCE_DIR}/include) +target_link_libraries(acorn PRIVATE faiss) + + +add_executable(label EXCLUDE_FROM_ALL MutiLabel.cpp) +target_include_directories(label PUBLIC ${nlohmann_json_SOURCE_DIR}/include) +target_link_libraries(label PRIVATE faiss) diff --git a/demos/MutiLabel.cpp b/demos/MutiLabel.cpp new file mode 100644 index 0000000..14e85ab --- /dev/null +++ b/demos/MutiLabel.cpp @@ -0,0 +1,46 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include "utils.cpp" + +// Example usage: + +int main() { + std::vector query_labels = { + "CAT=ExteriorAccessories&RATING=4|RATING=5", + "CAT=ExteriorAccessories&RATING=5", + "CAT=Automotive&RATING=4|RATING=5&CAT=ReplacementParts|CAT=ExteriorAccessories", + "CAT=ReplacementParts&RATING=5", + // Add more query labels as needed + }; + + std::vector base_labels = { + "BRAND=Caltric,CAT=Automotive,CAT=MotorcyclePowersports,CAT=Parts,CAT=Filters,CAT=OilFilters,RATING=5", + "BRAND=APL,CAT=Automotive,CAT=TiresWheels,CAT=AccessoriesParts,CAT=LugNutsAccessories,CAT=LugNuts,RATING=4", + "BRAND=Cardone,CAT=Automotive,CAT=ReplacementParts,CAT=BrakeSystem,CAT=CalipersParts,CAT=CaliperBrackets,RATING=5", + "BRAND=Monroe,CAT=Automotive,CAT=ReplacementParts,CAT=ShocksStrutsSuspension,CAT=Stabilizers,RATING=5", + "BRAND=SEGADEN,CAT=Automotive,CAT=ExteriorAccessories,RATING=4", + // Add more base labels as needed + }; + + for ( auto& query_label_str : query_labels) { + MultiLabel query_label = MultiLabel::fromQuery(query_label_str); + std::cout << "Query Label: " << query_label_str << std::endl; + std::cout << "Preprocessed Query: " << std::endl; + query_label.printQuery(); + for ( auto& base_label_str : base_labels) { + MultiLabel base_ml = MultiLabel::fromBase(base_label_str); + bool result = query_label.isSubsetOf(base_ml); + std::cout << "Base Label: " << base_label_str << std::endl; + std::cout << "Is Subset: " << (result ? "True" : "False") << "\n" << std::endl; + } + std::cout << "-----------------------------------\n" << std::endl; + } + + return 0; +} diff --git a/demos/acorn.cpp b/demos/acorn.cpp new file mode 100644 index 0000000..0ecae19 --- /dev/null +++ b/demos/acorn.cpp @@ -0,0 +1,404 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "utils.cpp" + +// Additional includes +#include + +// Custom classes (SingleLabel and MultiLabel) + +// Configuration structure +struct Config { + size_t N; // Number of vectors + size_t nq; // Number of queries + std::string dataset_path; // Path to the dataset + std::string base_file; // Path to the base vectors + std::string query_file; // Path to the query vectors + std::string ground_truth_file; // Path to the ground truth file + int efc = 100; // HNSW construction parameter + int efs = 100; // HNSW search parameter + int k = 10; // Number of nearest neighbors + int d = 384; // Dimension of vectors (to be overwritten) + int M = 16; // HNSW parameter M + int M_beta = 16; // Compression parameter + int gamma = 12; // ACORN parameter + std::string assignment_type = "rand"; + int alpha = 0; + std::string dataset_name = "default_dataset"; // Dataset name + int n_centroids; // Number of centroids (gamma) + int searchOnly = 0; // Search only mode +}; + +// Function prototypes +void parseArguments(int argc, char* argv[], Config& config); +void loadMetadata(const Config& config, std::vector& metadata, std::vector& metadata_strings); +size_t loadQueryData(const Config& config, float*& xq, std::vector& aq, std::vector& aq_strings); +void loadGroundTruth(const Config& config, const std::vector& nns2); +void addVectorsToIndexes(const Config& config, faiss::IndexACORNFlat* hybrid_index_ACORNFlat); +void writeIndexesToFiles(const Config& config, faiss::IndexACORNFlat* hybrid_index_ACORNFlat); +void printIndexStats( faiss::IndexACORNFlat* hybrid_index_ACORNFlat); +void searchIndexes(const Config& config, faiss::IndexACORNFlat* hybrid_index_ACORNFlat, float* xq, std::vector& aq_strings, const std::vector& metadata_strings); +void prepareFilterIdsMap(const Config& config, const std::vector& aq_strings, const std::vector& metadata_strings, std::vector& filter_ids_map); +faiss::Index* readIndexesfromFiles(const Config& config); +// Main function +int main(int argc, char* argv[]) { + int max_threads = omp_get_max_threads(); + std::cout << "Max threads available: " << max_threads << std::endl; + double t0 = elapsed(); + + Config config; + parseArguments(argc, argv, config); + + std::vector metadata; + std::vector metadata_strings; + loadMetadata(config, metadata, metadata_strings); + + float* xq; + std::vector aq; + std::vector aq_strings; + config.d = loadQueryData(config, xq, aq, aq_strings); + + + + // ACORN-gamma + faiss::IndexACORNFlat index_ACORNFlat(config.d, config.M, config.gamma, metadata, config.M*2, faiss::METRIC_L2); + faiss::IndexACORNFlat *hybrid_index_ACORNFlat = &index_ACORNFlat; + hybrid_index_ACORNFlat->acorn.efSearch = config.efs; // default is 16 HybridHNSW.capp + hybrid_index_ACORNFlat->acorn.efConstruction = config.efc; // default is 100 HybridHNSW.capp + debug("ACORN index created%s\n", ""); + + + // ACORN-1 + faiss::IndexACORNFlat hybrid_index_gamma1(config.d, config.M, 1, metadata, config.M*2); + hybrid_index_gamma1.acorn.efSearch = config.efs; // default is 16 HybridHNSW.capp + + std::cout << "SearchOnly " << config.searchOnly << std::endl; + if(config.searchOnly >= 1){ + faiss::Index *index = readIndexesfromFiles(config); + hybrid_index_ACORNFlat = dynamic_cast(index); + hybrid_index_ACORNFlat->acorn.efSearch = config.searchOnly; + + }else{ + addVectorsToIndexes(config, hybrid_index_ACORNFlat); + + writeIndexesToFiles(config, hybrid_index_ACORNFlat); + } + printIndexStats( hybrid_index_ACORNFlat); + + searchIndexes(config, hybrid_index_ACORNFlat, xq, aq_strings, metadata_strings); + + + + + printf("[%.3f s] -----DONE-----\n", elapsed() - t0); + + delete[] xq; + return 0; +} + +// Function implementations +void parseArguments(int argc, char* argv[], Config& config) { + if (argc < 4) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + config.N = strtoul(argv[1], NULL, 10); + config.nq = strtoul(argv[2], NULL, 10); + config.dataset_path = argv[3]; + config.base_file= argv[4]; + config.query_file= argv[5]; + config.ground_truth_file= argv[6]; + config.efc = atoi(argv[7]); + config.M = atoi(argv[8]); + config.M_beta = config.M; + config.searchOnly = atoi(argv[9]); + + // Optional: parse more arguments for other configurations + // For example: + // config.gamma = atoi(argv[4]); + // config.M = atoi(argv[5]); + // config.M_beta = atoi(argv[6]); + + config.n_centroids = config.gamma; + std::cout << "[Config] N: " << config.N << ", nq: " << config.nq << ", dataset_path: " << config.dataset_path << std::endl; +} + +void loadMetadata(const Config& config, std::vector& metadata, std::vector& metadata_strings) { + double t0 = elapsed(); + // Placeholder for loading metadata + // Implement actual data loading based on your dataset format + // For now, we simulate loading metadata + + // fake the orginal metadata since it will have segment fault + metadata = std::vector(config.N*config.nq, 0); + metadata_strings = load_metadata_strings(config.dataset_path + "/base_labels.txt", config.N); + + //assert(config.N == metadata.size()); + printf("[%.3f s] Loaded metadata, %ld attributes found\n", elapsed() - t0, metadata.size()); +} + +size_t loadQueryData(const Config& config, float*& xq, std::vector& aq, std::vector& aq_strings) { + double t0 = elapsed(); + printf("[%.3f s] Loading query vectors and attributes\n", elapsed() - t0); + + size_t d2; + size_t nq_loaded; + // Placeholder for loading query vectors + // Implement actual data loading based on your dataset format + + // Example: Load from files (to be replaced with actual file paths) + + xq = fbin_read((config.dataset_path + "/query_dense.fbin").c_str(), &d2, &nq_loaded); + + printf("[%.3f s] Loaded query vectors from %s\n", elapsed() - t0, (config.dataset_path + "/query.fbin").c_str()); + aq = load_aq(config.dataset_name, config.n_centroids, config.alpha, config.N); + aq_strings = load_metadata_strings(config.dataset_path + "/query_dense_labels.txt", nq_loaded); + + // Adjust nq if necessary + if (config.nq > nq_loaded) { + printf("Warning: nq is greater than the number of loaded queries, setting nq to %ld\n", nq_loaded); + } + //aq.resize(config.nq); + //aq_strings.resize(config.nq); + + printf("[%.3f s] Loaded %ld queries\n", elapsed() - t0, config.nq); + + return d2; +} + +void loadGroundTruth(const Config& config, const std::vector& nns2) { + size_t nq = config.nq; + size_t k = config.k; + + const std::string& gt_filename = config.dataset_path + config.ground_truth_file; + // Open the ground truth file + std::cout << "GT Filename: " << gt_filename << std::endl; + std::ifstream reader(gt_filename); + if (!reader.is_open()) { + std::cerr << "Error opening ground truth file " << gt_filename << std::endl; + return ; + } + + size_t npts, ndims; + // Read header (number of points and dimensions) + reader >> npts >> ndims; + reader.ignore(std::numeric_limits::max(), '\n'); // Skip to the next line + + if (npts != nq) { + std::cerr << "Mismatch between number of queries in ground truth file and nns2" << std::endl; + } + + size_t gt_k = std::min(k, ndims); + + // Read the ground truth IDs + std::vector> gt_sets(nq); + std::string line; + for (size_t i = 0; i < nq; ++i) { + std::getline(reader, line); + std::istringstream iss(line); + int32_t id; + size_t count = 0; + // Read up to gt_k IDs per query + while (iss >> id && count < gt_k) { + gt_sets[i].insert(id); + count++; + } + } + + // Skip the distances + reader.close(); + + // Compute recall + size_t total_correct = 0; + for (size_t i = 0; i < nq; ++i) { + size_t correct = 0; + const auto& gt_set = gt_sets[i]; + for (size_t j = 0; j < k; ++j) { + faiss::idx_t ann_id = nns2[j + i * k]; + if (gt_set.find(ann_id) != gt_set.end()) { + correct++; + } + } + total_correct += correct; + } + double recall = static_cast(total_correct) / (nq * k); + + printf("Recall@%ld: %.3f\n", k, recall); +} + +void addVectorsToIndexes(const Config& config, faiss::IndexACORNFlat* hybrid_index_ACORNFlat) { + double t0 = elapsed(); + printf("[%.3f s] Loading database vectors\n", elapsed() - t0); + + size_t nb, d2; + // Placeholder for loading base vectors + float* xb = fbin_read((config.dataset_path + "/base.fbin").c_str(), &d2, &nb); + + if (config.d != d2) { + printf("Error: base vectors have different dimensionality (%ld) than query vectors (%d)\n", d2, config.d); + } + + printf("[%.3f s] Loaded base vectors from %s\n", elapsed() - t0, (config.dataset_path + "/base.fbin").c_str()); + + printf("[%.3f s] Adding vectors to indexes\n", elapsed() - t0); + hybrid_index_ACORNFlat->add(config.N, xb); + + //delete[] xb; + + printf("[%.3f s] Added %ld vectors to indexes\n", elapsed() - t0, config.N); +} + +void writeIndexesToFiles(const Config& config, faiss::IndexACORNFlat* hybrid_index_ACORNFlat) { + double t0 = elapsed(); + std::cout << "====================Write Index====================\n" << std::endl; + + std::stringstream filepath_stream; + filepath_stream << config.dataset_path << "/hybrid_index_M=" << config.M << "_efc=" << config.efc << "_Mb=" << config.M_beta << "_gamma=" << config.gamma <<"_N"<< config.N<<"_M"<printStats(false); +} + +void searchIndexes(const Config& config, faiss::IndexACORNFlat* hybrid_index_ACORNFlat, float* xq, std::vector& aq_strings, const std::vector& metadata_strings) { + double t0 = elapsed(); + printf("==============================================\n"); + printf("====================Search Results====================\n"); + printf("==============================================\n"); + + + int nq_print = std::min(5, (int)config.nq); + + + // Searching the hybrid index + printf("==================== ACORN INDEX ====================\n"); + printf("[%.3f s] Searching the %d nearest neighbors of %ld vectors in the index, efsearch %d\n", + elapsed() - t0, config.k, config.nq, hybrid_index_ACORNFlat->acorn.efSearch); + + std::vector nns2(config.k * config.nq); + std::vector dis2(config.k * config.nq); + + printf("[%.3f s] *** Start filter_ids_map %.3f\n", elapsed() - t0); + + + + std::vector filter_ids_map(config.nq * config.N); + std::vector query_labels(config.nq); + std::vector base_labels(config.N); + + #pragma omp parallel for schedule(dynamic, 128) + for (size_t xq_idx = 0; xq_idx < config.nq; xq_idx++) { + query_labels[xq_idx] = MultiLabel::fromQuery(aq_strings[xq_idx]); + } + + #pragma omp parallel for schedule(dynamic, 128) + for (size_t xb_idx = 0; xb_idx < config.N; xb_idx++) { + base_labels[xb_idx] = MultiLabel::fromBase(metadata_strings[xb_idx]); + } + + // Prepare filter_ids_map + double t1_f = elapsed(); + //#pragma omp parallel for schedule(dynamic, 128) + for (size_t xq_idx = 0; xq_idx < config.nq; xq_idx++) { + for (size_t xb_idx = 0; xb_idx < config.N; xb_idx++) { + + filter_ids_map[xq_idx * config.N + xb_idx] = query_labels[xq_idx].isSubsetOf(base_labels[xb_idx]); + } + } + double t2_f = elapsed(); + + printf("[%.3f s] *** Done filter_ids_map %.3f\n", elapsed() - t0, t2_f - t1_f); + + double t3 = elapsed(); + hybrid_index_ACORNFlat->search(config.nq, xq, config.k, dis2.data(), nns2.data(), filter_ids_map.data()); + + double t4 = elapsed(); + + printf("[%.3f s] *** Done Query %.3f\n", elapsed() - t0, t4 - t3); + + + // print config.nq, xq, config.k, dis2.data(), nns2.data(), filter_ids_map.data() + std::cout << "config nq: " << config.nq <<" dis size:"<< dis2.size() << "nns size:"<< nns2.size() <<"id map:"<< filter_ids_map.size() << std::endl; + + std::cout << "aq_strings size: " << aq_strings.size() << std::endl; + std::cout<< "metadata_strings size: " << metadata_strings.size() << std::endl; + + + printf("[%.3f s] Query results (vector ids, then distances):\n", elapsed() - t0); + for (int i = 0; i < nq_print; i++) { + printf("query %2d nn's (%s): ", i, aq_strings[i].c_str()); + for (int j = 0; j < config.k; j++) { + int id = nns2[j + i * config.k]; + if (id < 0 || id >= metadata_strings.size() ){ + printf("%d (Not Found) ", id); + }else{ + printf("%7ld (%s) ", id, metadata_strings[id].c_str()); + } + } + printf("\n dis: \t"); + for (int j = 0; j < config.k; j++) { + printf("%7g ", dis2[j + i * config.k]); + } + printf("\n"); + } + + + loadGroundTruth(config, nns2); +} + +void prepareFilterIdsMap( + const Config& config, + const std::vector& aq_strings, + const std::vector& metadata_strings, + std::vector& filter_ids_map) { + + } diff --git a/demos/test_acorn.cpp b/demos/test_acorn.cpp index 91038a3..2f65054 100644 --- a/demos/test_acorn.cpp +++ b/demos/test_acorn.cpp @@ -42,7 +42,151 @@ #include "utils.cpp" +#include +#include +#include +#include +#include +#include +#include +class SingleLabel { +public: + std::set values; + + // Constructor that parses a label string and populates the values set + SingleLabel(const std::string& labelStr) { + parseLabel(labelStr); + } + + // Parses the label string and fills the values set + void parseLabel(const std::string& labelStr) { + std::stringstream ss(labelStr); + std::string item; + while (std::getline(ss, item, ',')) { + // Trim whitespace + item.erase(std::remove_if(item.begin(), item.end(), ::isspace), item.end()); + if (!item.empty()) { + int val = std::stoi(item); + values.insert(val); + } + } + } + + // Overload operator<= to check if this label is a subset of another label + bool operator<=(const SingleLabel& other) const { + // Check if values is a subset of other.values + return std::includes(other.values.begin(), other.values.end(), values.begin(), values.end()); + } + + // Prints the values (for debugging purposes) + void print() const { + std::cout << "{ "; + for (int val : values) { + std::cout << val << " "; + } + std::cout << "}" << std::endl; + } +}; + +class MultiLabel { +public: + std::map> conditions; + + // Constructor that parses a label string and populates the conditions map + MultiLabel(const std::string& labelStr) { + std::string str = labelStr; + + // Preprocess the input string: + // Replace all occurrences of '&&' with '&' and '||' with '|' + replaceAll(str, "&&", "&"); + replaceAll(str, "||", "|"); + + // Split by '&' to get individual conditions + std::vector conditionsVec; + std::stringstream ss(str); + std::string condition; + while (std::getline(ss, condition, '&')) { + conditionsVec.push_back(condition); + } + + // Process each condition + for (const auto& cond : conditionsVec) { + // Split by '|' to handle OR conditions + std::stringstream ssCond(cond); + std::string subCond; + while (std::getline(ssCond, subCond, '|')) { + // Split by '=' to get field and value + size_t eqPos = subCond.find('='); + if (eqPos == std::string::npos) { + continue; // Invalid condition, skip it + } + std::string field = subCond.substr(0, eqPos); + std::string value = subCond.substr(eqPos + 1); + + // Trim whitespace + field.erase(std::remove_if(field.begin(), field.end(), ::isspace), field.end()); + value.erase(std::remove_if(value.begin(), value.end(), ::isspace), value.end()); + + // Insert into conditions map + conditions[field].insert(value); + } + } + } + + // Corrected operator<= function + bool operator<=(const MultiLabel& other) const { + // For each field in this label + for (const auto& thisCond : conditions) { + const std::string& field = thisCond.first; + const std::set& thisValues = thisCond.second; + + // Check if the field exists in the other label + auto it = other.conditions.find(field); + if (it == other.conditions.end()) { + return false; // Field not found, cannot be a subset + } + const std::set& otherValues = it->second; + + // Check if thisValues is a subset of otherValues + if (!std::includes(otherValues.begin(), otherValues.end(), thisValues.begin(), thisValues.end())) { + return false; // Values are not a subset + } + } + return true; // All conditions are satisfied + } + + // Prints the conditions (for debugging purposes) + void print() const { + for (const auto& cond : conditions) { + const std::string& field = cond.first; + const std::set& values = cond.second; + std::cout << field << "="; + bool first = true; + for (const auto& val : values) { + if (!first) { + std::cout << "|"; + } + std::cout << val; + first = false; + } + std::cout << " "; + } + std::cout << std::endl; + } + +private: + // Helper function to replace all occurrences of a substring with another string + void replaceAll(std::string& str, const std::string& from, const std::string& to) { + if (from.empty()) + return; + size_t start_pos = 0; + while ((start_pos = str.find(from, start_pos)) != std::string::npos) { + str.replace(start_pos, from.length(), to); + start_pos += to.length(); // Handles case where 'to' is a substring of 'from' + } + } +}; // create indices for debugging, write indices to file, and get recall stats for all queries int main(int argc, char *argv[]) { @@ -54,7 +198,7 @@ int main(int argc, char *argv[]) { int efc = 40; // default is 40 int efs = 16; // default is 16 int k = 10; // search parameter - size_t d = 128; // dimension of the vectors to index - will be overwritten by the dimension of the dataset + size_t d = 384; // dimension of the vectors to index - will be overwritten by the dimension of the dataset int M; // HSNW param M TODO change M back int M_beta; // param for compression // float attr_sel = 0.001; @@ -116,16 +260,19 @@ int main(int argc, char *argv[]) { n_centroids = gamma; std::vector metadata = load_ab(dataset, gamma, assignment_type, N); + std::vector metadata_strings = load_metadata_strings("../amazon/amazon_base_labels.txt", N); metadata.resize(N); + metadata_strings.resize(N); assert(N == metadata.size()); printf("[%.3f s] Loaded metadata, %ld attr's found\n", elapsed() - t0, metadata.size()); - + size_t nq; float* xq; std::vector aq; + std::vector aq_strings; { // load query vectors and attributes printf("[%.3f s] Loading query vectors and attributes\n", elapsed() - t0); @@ -134,8 +281,10 @@ int main(int argc, char *argv[]) { bool is_base = 0; // load_data(dataset, is_base, &d2, &nq, xq); std::string filename = get_file_name(dataset, is_base); - xq = fvecs_read(filename.c_str(), &d2, &nq); - assert(d == d2 || !"query does not have same dimension as expected 128"); + //xq = fvecs_read(filename.c_str(), &d2, &nq); + xq = fbin_read("../amazon/amazon_query.fbin", &d2, &nq); + + assert(d == d2 || !"query does not have same dimension as expected"); if (d != d2) { d = d2; } @@ -144,8 +293,13 @@ int main(int argc, char *argv[]) { printf("[%.3f s] Loaded query vectors from %s\n", elapsed() - t0, filename.c_str()); aq = load_aq(dataset, n_centroids, alpha, N); printf("[%.3f s] Loaded %ld %s queries\n", elapsed() - t0, nq, dataset.c_str()); - + + aq_strings = load_metadata_strings("../amazon/amazon_query_labels.txt", nq); } + + nq = 10; + //aq.resize(10); + aq_strings.resize(10); // nq = 1; int gt_size = 100; if (dataset=="sift1M_test" || dataset=="paper") { @@ -161,13 +315,13 @@ int main(int argc, char *argv[]) { printf("[%.3f s] Index Params -- d: %ld, M: %d, N: %ld, gamma: %d\n", elapsed() - t0, d, M, N, gamma); // base HNSW index - faiss::IndexHNSWFlat base_index(d, M, 1); // gamma = 1 - base_index.hnsw.efConstruction = efc; // default is 40 in HNSW.capp - base_index.hnsw.efSearch = efs; // default is 16 in HNSW.capp + faiss::IndexHNSWFlat base_index_HNSWFlat(d, M, 1); // gamma = 1 + base_index_HNSWFlat.hnsw.efConstruction = efc; // default is 40 in HNSW.capp + base_index_HNSWFlat.hnsw.efSearch = efs; // default is 16 in HNSW.capp // ACORN-gamma - faiss::IndexACORNFlat hybrid_index(d, M, gamma, metadata, M_beta); - hybrid_index.acorn.efSearch = efs; // default is 16 HybridHNSW.capp + faiss::IndexACORNFlat hybrid_index_ACORNFlat(d, M, gamma, metadata, M_beta); + hybrid_index_ACORNFlat.acorn.efSearch = efs; // default is 16 HybridHNSW.capp debug("ACORN index created%s\n", ""); @@ -187,7 +341,8 @@ int main(int argc, char *argv[]) { size_t nb, d2; bool is_base = 1; std::string filename = get_file_name(dataset, is_base); - float* xb = fvecs_read(filename.c_str(), &d2, &nb); + //float* xb = fvecs_read(filename.c_str(), &d2, &nb); + float* xb = fbin_read("../amazon/amazon_base.fbin", &d2, &nb); assert(d == d2 || !"dataset does not dim 128 as expected"); printf("[%.3f s] Loaded base vectors from file: %s\n", elapsed() - t0, filename.c_str()); @@ -202,11 +357,11 @@ int main(int argc, char *argv[]) { printf("[%.3f s] Adding the vectors to the index\n", elapsed() - t0); - base_index.add(N, xb); + base_index_HNSWFlat.add(N, xb); printf("[%.3f s] Vectors added to base index \n", elapsed() - t0); std::cout << "Base index vectors added: " << nb << std::endl; - hybrid_index.add(N, xb); + hybrid_index_ACORNFlat.add(N, xb); printf("[%.3f s] Vectors added to hybrid index \n", elapsed() - t0); std::cout << "Hybrid index vectors added" << nb << std::endl; // printf("SKIPPED creating ACORN-gamma\n"); @@ -235,7 +390,7 @@ int main(int argc, char *argv[]) { filepath_stream << "./tmp/" << dataset << "/hybrid" << "_M=" << M << "_efc" << efc << "_Mb=" << M_beta << "_gamma=" << gamma << ".json"; } std::string filepath = filepath_stream.str(); - write_index(&hybrid_index, filepath.c_str()); + write_index(&hybrid_index_ACORNFlat, filepath.c_str()); printf("[%.3f s] Wrote hybrid index to file: %s\n", elapsed() - t0, filepath.c_str()); // write hybrid_gamma1 index @@ -260,7 +415,7 @@ int main(int argc, char *argv[]) { filepath_stream << "./tmp/" << dataset << "/base" << "_M=" << M << "_efc=" << efc << ".json"; } std::string filepath = filepath_stream.str(); - write_index(&base_index, filepath.c_str()); + write_index(&base_index_HNSWFlat, filepath.c_str()); printf("[%.3f s] Wrote base index to file: %s\n", elapsed() - t0, filepath.c_str()); } @@ -276,11 +431,11 @@ int main(int argc, char *argv[]) { printf("====================================\n"); printf("============ BASE INDEX =============\n"); printf("====================================\n"); - base_index.printStats(false); + base_index_HNSWFlat.printStats(false); printf("====================================\n"); printf("============ ACORN INDEX =============\n"); printf("====================================\n"); - hybrid_index.printStats(false); + hybrid_index_ACORNFlat.printStats(false); } @@ -301,7 +456,7 @@ int main(int argc, char *argv[]) { elapsed() - t0, k, nq, - base_index.hnsw.efSearch); + base_index_HNSWFlat.hnsw.efSearch); std::vector nns(k * nq); std::vector dis(k * nq); @@ -312,7 +467,7 @@ int main(int argc, char *argv[]) { double t1 = elapsed(); - base_index.search(nq, xq, k, dis.data(), nns.data()); + base_index_HNSWFlat.search(nq, xq, k, dis.data(), nns.data()); double t2 = elapsed(); printf("[%.3f s] Query results (vector ids, then distances):\n", @@ -324,7 +479,7 @@ int main(int argc, char *argv[]) { printf("query %2d nn's: ", i); for (int j = 0; j < k; j++) { // printf("%7ld (%d) ", nns[j + i * k], metadata.size()); - printf("%7ld (%d) ", nns[j + i * k], metadata[nns[j + i * k]]); + printf("%7ld (%s) ", nns[j + i * k], metadata_strings[nns[j + i * k]].c_str()); } printf("\n dis: \t"); for (int j = 0; j < k; j++) { @@ -369,32 +524,41 @@ int main(int argc, char *argv[]) { elapsed() - t0, k, nq, - hybrid_index.acorn.efSearch); + hybrid_index_ACORNFlat.acorn.efSearch); std::vector nns2(k * nq); std::vector dis2(k * nq); + std::cout << "Start Preprocessing meta data" << std::endl; // create filter_ids_map, ie a bitmap of the ids that are in the filter std::vector filter_ids_map(nq * N); + std::cout<< "nq: " << nq << std::endl; + std::cout<<"N: " << N << std::endl; + std::cout << "aq_strings size: " << aq_strings.size() << std::endl; + std::cout << "metadata_strings size: " << metadata_strings.size() << std::endl; for (int xq = 0; xq < nq; xq++) { for (int xb = 0; xb < N; xb++) { - filter_ids_map[xq * N + xb] = (bool) (metadata[xb] == aq[xq]); + MultiLabel label_base = MultiLabel(metadata_strings[xb]); + MultiLabel label_query = MultiLabel(aq_strings[xq]); + filter_ids_map[xq * N + xb] = (bool) (label_query <= label_base); } } + std::cout << "Start Search meta data" << std::endl; double t1_x = elapsed(); - hybrid_index.search(nq, xq, k, dis2.data(), nns2.data(), filter_ids_map.data()); // TODO change first argument back to nq + hybrid_index_ACORNFlat.search(nq, xq, k, dis2.data(), nns2.data(), filter_ids_map.data()); // TODO change first argument back to nq double t2_x = elapsed(); printf("[%.3f s] Query results (vector ids, then distances):\n", elapsed() - t0); - int nq_print = std::min(5, (int) nq); + int nq_print = std::min(5, (int) nq); + for (int i = 0; i < nq_print; i++) { - printf("query %2d nn's (%d): ", i, aq[i]); + printf("query %2d nn's (%s): ", i, aq_strings[i].c_str()); for (int j = 0; j < k; j++) { - printf("%7ld (%d) ", nns2[j + i * k], metadata[nns2[j + i * k]]); + printf("%7ld (%s) ", nns2[j + i * k], metadata_strings[nns2[j + i * k]].c_str()); } printf("\n dis: \t"); for (int j = 0; j < k; j++) { diff --git a/demos/tsl/.clang-format b/demos/tsl/.clang-format new file mode 100644 index 0000000..9d15924 --- /dev/null +++ b/demos/tsl/.clang-format @@ -0,0 +1,2 @@ +DisableFormat: true +SortIncludes: false diff --git a/demos/tsl/robin_growth_policy.h b/demos/tsl/robin_growth_policy.h new file mode 100644 index 0000000..6bfa9e5 --- /dev/null +++ b/demos/tsl/robin_growth_policy.h @@ -0,0 +1,330 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_GROWTH_POLICY_H +#define TSL_ROBIN_GROWTH_POLICY_H + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#ifndef tsl_assert +# ifdef TSL_DEBUG +# define tsl_assert(expr) assert(expr) +# else +# define tsl_assert(expr) (static_cast(0)) +# endif +#endif + + +/** + * If exceptions are enabled, throw the exception passed in parameter, otherwise call std::terminate. + */ +#ifndef TSL_THROW_OR_TERMINATE +# if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || (defined (_MSC_VER) && defined (_CPPUNWIND))) && !defined(TSL_NO_EXCEPTIONS) +# define TSL_THROW_OR_TERMINATE(ex, msg) throw ex(msg) +# else +# ifdef NDEBUG +# define TSL_THROW_OR_TERMINATE(ex, msg) std::terminate() +# else +# include +# define TSL_THROW_OR_TERMINATE(ex, msg) do { std::fprintf(stderr, msg); std::terminate(); } while(0) +# endif +# endif +#endif + + +#ifndef TSL_LIKELY +# if defined(__GNUC__) || defined(__clang__) +# define TSL_LIKELY(exp) (__builtin_expect(!!(exp), true)) +# else +# define TSL_LIKELY(exp) (exp) +# endif +#endif + + +namespace tsl { +namespace rh { + +/** + * Grow the hash table by a factor of GrowthFactor keeping the bucket count to a power of two. It allows + * the table to use a mask operation instead of a modulo operation to map a hash to a bucket. + * + * GrowthFactor must be a power of two >= 2. + */ +template +class power_of_two_growth_policy { +public: + /** + * Called on the hash table creation and on rehash. The number of buckets for the table is passed in parameter. + * This number is a minimum, the policy may update this value with a higher value if needed (but not lower). + * + * If 0 is given, min_bucket_count_in_out must still be 0 after the policy creation and + * bucket_for_hash must always return 0 in this case. + */ + explicit power_of_two_growth_policy(std::size_t& min_bucket_count_in_out) { + if(min_bucket_count_in_out > max_bucket_count()) { + TSL_THROW_OR_TERMINATE(std::length_error, "The hash table exceeds its maxmimum size."); + } + + if(min_bucket_count_in_out > 0) { + min_bucket_count_in_out = round_up_to_power_of_two(min_bucket_count_in_out); + m_mask = min_bucket_count_in_out - 1; + } + else { + m_mask = 0; + } + } + + /** + * Return the bucket [0, bucket_count()) to which the hash belongs. + * If bucket_count() is 0, it must always return 0. + */ + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return hash & m_mask; + } + + /** + * Return the number of buckets that should be used on next growth. + */ + std::size_t next_bucket_count() const { + if((m_mask + 1) > max_bucket_count() / GrowthFactor) { + TSL_THROW_OR_TERMINATE(std::length_error, "The hash table exceeds its maxmimum size."); + } + + return (m_mask + 1) * GrowthFactor; + } + + /** + * Return the maximum number of buckets supported by the policy. + */ + std::size_t max_bucket_count() const { + // Largest power of two. + return ((std::numeric_limits::max)() / 2) + 1; + } + + /** + * Reset the growth policy as if it was created with a bucket count of 0. + * After a clear, the policy must always return 0 when bucket_for_hash is called. + */ + void clear() noexcept { + m_mask = 0; + } + +private: + static std::size_t round_up_to_power_of_two(std::size_t value) { + if(is_power_of_two(value)) { + return value; + } + + if(value == 0) { + return 1; + } + + --value; + for(std::size_t i = 1; i < sizeof(std::size_t) * CHAR_BIT; i *= 2) { + value |= value >> i; + } + + return value + 1; + } + + static constexpr bool is_power_of_two(std::size_t value) { + return value != 0 && (value & (value - 1)) == 0; + } + +protected: + static_assert(is_power_of_two(GrowthFactor) && GrowthFactor >= 2, "GrowthFactor must be a power of two >= 2."); + + std::size_t m_mask; +}; + + +/** + * Grow the hash table by GrowthFactor::num / GrowthFactor::den and use a modulo to map a hash + * to a bucket. Slower but it can be useful if you want a slower growth. + */ +template> +class mod_growth_policy { +public: + explicit mod_growth_policy(std::size_t& min_bucket_count_in_out) { + if(min_bucket_count_in_out > max_bucket_count()) { + TSL_THROW_OR_TERMINATE(std::length_error, "The hash table exceeds its maxmimum size."); + } + + if(min_bucket_count_in_out > 0) { + m_mod = min_bucket_count_in_out; + } + else { + m_mod = 1; + } + } + + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return hash % m_mod; + } + + std::size_t next_bucket_count() const { + if(m_mod == max_bucket_count()) { + TSL_THROW_OR_TERMINATE(std::length_error, "The hash table exceeds its maxmimum size."); + } + + const double next_bucket_count = std::ceil(double(m_mod) * REHASH_SIZE_MULTIPLICATION_FACTOR); + if(!std::isnormal(next_bucket_count)) { + TSL_THROW_OR_TERMINATE(std::length_error, "The hash table exceeds its maxmimum size."); + } + + if(next_bucket_count > double(max_bucket_count())) { + return max_bucket_count(); + } + else { + return std::size_t(next_bucket_count); + } + } + + std::size_t max_bucket_count() const { + return MAX_BUCKET_COUNT; + } + + void clear() noexcept { + m_mod = 1; + } + +private: + static constexpr double REHASH_SIZE_MULTIPLICATION_FACTOR = 1.0 * GrowthFactor::num / GrowthFactor::den; + static const std::size_t MAX_BUCKET_COUNT = + std::size_t(double( + (std::numeric_limits::max)() / REHASH_SIZE_MULTIPLICATION_FACTOR + )); + + static_assert(REHASH_SIZE_MULTIPLICATION_FACTOR >= 1.1, "Growth factor should be >= 1.1."); + + std::size_t m_mod; +}; + + + +namespace detail { + +static constexpr const std::array PRIMES = {{ + 1ul, 5ul, 17ul, 29ul, 37ul, 53ul, 67ul, 79ul, 97ul, 131ul, 193ul, 257ul, 389ul, 521ul, 769ul, 1031ul, + 1543ul, 2053ul, 3079ul, 6151ul, 12289ul, 24593ul, 49157ul, 98317ul, 196613ul, 393241ul, 786433ul, + 1572869ul, 3145739ul, 6291469ul, 12582917ul, 25165843ul, 50331653ul, 100663319ul, 201326611ul, + 402653189ul, 805306457ul, 1610612741ul, 3221225473ul, 4294967291ul +}}; + +template +static constexpr std::size_t mod(std::size_t hash) { return hash % PRIMES[IPrime]; } + +// MOD_PRIME[iprime](hash) returns hash % PRIMES[iprime]. This table allows for faster modulo as the +// compiler can optimize the modulo code better with a constant known at the compilation. +static constexpr const std::array MOD_PRIME = {{ + &mod<0>, &mod<1>, &mod<2>, &mod<3>, &mod<4>, &mod<5>, &mod<6>, &mod<7>, &mod<8>, &mod<9>, &mod<10>, + &mod<11>, &mod<12>, &mod<13>, &mod<14>, &mod<15>, &mod<16>, &mod<17>, &mod<18>, &mod<19>, &mod<20>, + &mod<21>, &mod<22>, &mod<23>, &mod<24>, &mod<25>, &mod<26>, &mod<27>, &mod<28>, &mod<29>, &mod<30>, + &mod<31>, &mod<32>, &mod<33>, &mod<34>, &mod<35>, &mod<36>, &mod<37> , &mod<38>, &mod<39> +}}; + +} + +/** + * Grow the hash table by using prime numbers as bucket count. Slower than tsl::rh::power_of_two_growth_policy in + * general but will probably distribute the values around better in the buckets with a poor hash function. + * + * To allow the compiler to optimize the modulo operation, a lookup table is used with constant primes numbers. + * + * With a switch the code would look like: + * \code + * switch(iprime) { // iprime is the current prime of the hash table + * case 0: hash % 5ul; + * break; + * case 1: hash % 17ul; + * break; + * case 2: hash % 29ul; + * break; + * ... + * } + * \endcode + * + * Due to the constant variable in the modulo the compiler is able to optimize the operation + * by a series of multiplications, substractions and shifts. + * + * The 'hash % 5' could become something like 'hash - (hash * 0xCCCCCCCD) >> 34) * 5' in a 64 bits environement. + */ +class prime_growth_policy { +public: + explicit prime_growth_policy(std::size_t& min_bucket_count_in_out) { + auto it_prime = std::lower_bound(detail::PRIMES.begin(), + detail::PRIMES.end(), min_bucket_count_in_out); + if(it_prime == detail::PRIMES.end()) { + TSL_THROW_OR_TERMINATE(std::length_error, "The hash table exceeds its maxmimum size."); + } + + m_iprime = static_cast(std::distance(detail::PRIMES.begin(), it_prime)); + if(min_bucket_count_in_out > 0) { + min_bucket_count_in_out = *it_prime; + } + else { + min_bucket_count_in_out = 0; + } + } + + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return detail::MOD_PRIME[m_iprime](hash); + } + + std::size_t next_bucket_count() const { + if(m_iprime + 1 >= detail::PRIMES.size()) { + TSL_THROW_OR_TERMINATE(std::length_error, "The hash table exceeds its maxmimum size."); + } + + return detail::PRIMES[m_iprime + 1]; + } + + std::size_t max_bucket_count() const { + return detail::PRIMES.back(); + } + + void clear() noexcept { + m_iprime = 0; + } + +private: + unsigned int m_iprime; + + static_assert((std::numeric_limits::max)() >= detail::PRIMES.size(), + "The type of m_iprime is not big enough."); +}; + +} +} + +#endif diff --git a/demos/tsl/robin_hash.h b/demos/tsl/robin_hash.h new file mode 100644 index 0000000..5ecc962 --- /dev/null +++ b/demos/tsl/robin_hash.h @@ -0,0 +1,1285 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_HASH_H +#define TSL_ROBIN_HASH_H + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "robin_growth_policy.h" + + +namespace tsl { + +namespace detail_robin_hash { + +template +struct make_void { + using type = void; +}; + +template +struct has_is_transparent: std::false_type { +}; + +template +struct has_is_transparent::type>: std::true_type { +}; + +template +struct is_power_of_two_policy: std::false_type { +}; + +template +struct is_power_of_two_policy>: std::true_type { +}; + + + +using truncated_hash_type = std::uint_least32_t; + +/** + * Helper class that store a truncated hash if StoreHash is true and nothing otherwise. + */ +template +class bucket_entry_hash { +public: + bool bucket_hash_equal(std::size_t /*hash*/) const noexcept { + return true; + } + + truncated_hash_type truncated_hash() const noexcept { + return 0; + } + +protected: + void set_hash(truncated_hash_type /*hash*/) noexcept { + } +}; + +template<> +class bucket_entry_hash { +public: + bool bucket_hash_equal(std::size_t hash) const noexcept { + return m_hash == truncated_hash_type(hash); + } + + truncated_hash_type truncated_hash() const noexcept { + return m_hash; + } + +protected: + void set_hash(truncated_hash_type hash) noexcept { + m_hash = truncated_hash_type(hash); + } + +private: + truncated_hash_type m_hash; +}; + + +/** + * Each bucket entry has: + * - A value of type `ValueType`. + * - An integer to store how far the value of the bucket, if any, is from its ideal bucket + * (ex: if the current bucket 5 has the value 'foo' and `hash('foo') % nb_buckets` == 3, + * `dist_from_ideal_bucket()` will return 2 as the current value of the bucket is two + * buckets away from its ideal bucket) + * If there is no value in the bucket (i.e. `empty()` is true) `dist_from_ideal_bucket()` will be < 0. + * - A marker which tells us if the bucket is the last bucket of the bucket array (useful for the + * iterator of the hash table). + * - If `StoreHash` is true, 32 bits of the hash of the value, if any, are also stored in the bucket. + * If the size of the hash is more than 32 bits, it is truncated. We don't store the full hash + * as storing the hash is a potential opportunity to use the unused space due to the alignement + * of the bucket_entry structure. We can thus potentially store the hash without any extra space + * (which would not be possible with 64 bits of the hash). + */ +template +class bucket_entry: public bucket_entry_hash { + using bucket_hash = bucket_entry_hash; + +public: + using value_type = ValueType; + using distance_type = std::int_least16_t; + + + bucket_entry() noexcept: bucket_hash(), m_dist_from_ideal_bucket(EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET), + m_last_bucket(false) + { + tsl_assert(empty()); + } + + bucket_entry(bool last_bucket) noexcept: bucket_hash(), m_dist_from_ideal_bucket(EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET), + m_last_bucket(last_bucket) + { + tsl_assert(empty()); + } + + bucket_entry(const bucket_entry& other) noexcept(std::is_nothrow_copy_constructible::value): + bucket_hash(other), + m_dist_from_ideal_bucket(EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET), + m_last_bucket(other.m_last_bucket) + { + if(!other.empty()) { + ::new (static_cast(std::addressof(m_value))) value_type(other.value()); + m_dist_from_ideal_bucket = other.m_dist_from_ideal_bucket; + } + } + + /** + * Never really used, but still necessary as we must call resize on an empty `std::vector`. + * and we need to support move-only types. See robin_hash constructor for details. + */ + bucket_entry(bucket_entry&& other) noexcept(std::is_nothrow_move_constructible::value): + bucket_hash(std::move(other)), + m_dist_from_ideal_bucket(EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET), + m_last_bucket(other.m_last_bucket) + { + if(!other.empty()) { + ::new (static_cast(std::addressof(m_value))) value_type(std::move(other.value())); + m_dist_from_ideal_bucket = other.m_dist_from_ideal_bucket; + } + } + + bucket_entry& operator=(const bucket_entry& other) + noexcept(std::is_nothrow_copy_constructible::value) + { + if(this != &other) { + clear(); + + bucket_hash::operator=(other); + if(!other.empty()) { + ::new (static_cast(std::addressof(m_value))) value_type(other.value()); + } + + m_dist_from_ideal_bucket = other.m_dist_from_ideal_bucket; + m_last_bucket = other.m_last_bucket; + } + + return *this; + } + + bucket_entry& operator=(bucket_entry&& ) = delete; + + ~bucket_entry() noexcept { + clear(); + } + + void clear() noexcept { + if(!empty()) { + destroy_value(); + m_dist_from_ideal_bucket = EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET; + } + } + + bool empty() const noexcept { + return m_dist_from_ideal_bucket == EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET; + } + + value_type& value() noexcept { + tsl_assert(!empty()); + return *reinterpret_cast(std::addressof(m_value)); + } + + const value_type& value() const noexcept { + tsl_assert(!empty()); + return *reinterpret_cast(std::addressof(m_value)); + } + + distance_type dist_from_ideal_bucket() const noexcept { + return m_dist_from_ideal_bucket; + } + + bool last_bucket() const noexcept { + return m_last_bucket; + } + + void set_as_last_bucket() noexcept { + m_last_bucket = true; + } + + template + void set_value_of_empty_bucket(distance_type dist_from_ideal_bucket, + truncated_hash_type hash, Args&&... value_type_args) + { + tsl_assert(dist_from_ideal_bucket >= 0); + tsl_assert(empty()); + + ::new (static_cast(std::addressof(m_value))) value_type(std::forward(value_type_args)...); + this->set_hash(hash); + m_dist_from_ideal_bucket = dist_from_ideal_bucket; + + tsl_assert(!empty()); + } + + void swap_with_value_in_bucket(distance_type& dist_from_ideal_bucket, + truncated_hash_type& hash, value_type& value) + { + tsl_assert(!empty()); + + using std::swap; + swap(value, this->value()); + swap(dist_from_ideal_bucket, m_dist_from_ideal_bucket); + + // Avoid warning of unused variable if StoreHash is false + (void) hash; + if(StoreHash) { + const truncated_hash_type tmp_hash = this->truncated_hash(); + this->set_hash(hash); + hash = tmp_hash; + } + } + + static truncated_hash_type truncate_hash(std::size_t hash) noexcept { + return truncated_hash_type(hash); + } + +private: + void destroy_value() noexcept { + tsl_assert(!empty()); + value().~value_type(); + } + +private: + using storage = typename std::aligned_storage::type; + + static const distance_type EMPTY_MARKER_DIST_FROM_IDEAL_BUCKET = -1; + + distance_type m_dist_from_ideal_bucket; + bool m_last_bucket; + storage m_value; +}; + + + +/** + * Internal common class used by `robin_map` and `robin_set`. + * + * ValueType is what will be stored by `robin_hash` (usually `std::pair` for map and `Key` for set). + * + * `KeySelect` should be a `FunctionObject` which takes a `ValueType` in parameter and returns a + * reference to the key. + * + * `ValueSelect` should be a `FunctionObject` which takes a `ValueType` in parameter and returns a + * reference to the value. `ValueSelect` should be void if there is no value (in a set for example). + * + * The strong exception guarantee only holds if the expression + * `std::is_nothrow_swappable::value && std::is_nothrow_move_constructible::value` is true. + * + * Behaviour is undefined if the destructor of `ValueType` throws. + */ +template +class robin_hash: private Hash, private KeyEqual, private GrowthPolicy { +private: + template + using has_mapped_type = typename std::integral_constant::value>; + + static_assert(noexcept(std::declval().bucket_for_hash(std::size_t(0))), "GrowthPolicy::bucket_for_hash must be noexcept."); + static_assert(noexcept(std::declval().clear()), "GrowthPolicy::clear must be noexcept."); + +public: + template + class robin_iterator; + + using key_type = typename KeySelect::key_type; + using value_type = ValueType; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + using hasher = Hash; + using key_equal = KeyEqual; + using allocator_type = Allocator; + using reference = value_type&; + using const_reference = const value_type&; + using pointer = value_type*; + using const_pointer = const value_type*; + using iterator = robin_iterator; + using const_iterator = robin_iterator; + + +private: + /** + * Either store the hash because we are asked by the `StoreHash` template parameter + * or store the hash because it doesn't cost us anything in size and can be used to speed up rehash. + */ + static constexpr bool STORE_HASH = StoreHash || + ( + (sizeof(tsl::detail_robin_hash::bucket_entry) == + sizeof(tsl::detail_robin_hash::bucket_entry)) + && + (sizeof(std::size_t) == sizeof(truncated_hash_type) || + is_power_of_two_policy::value) + && + // Don't store the hash for primitive types with default hash. + (!std::is_arithmetic::value || + !std::is_same>::value) + ); + + /** + * Only use the stored hash on lookup if we are explictly asked. We are not sure how slow + * the KeyEqual operation is. An extra comparison may slow things down with a fast KeyEqual. + */ + static constexpr bool USE_STORED_HASH_ON_LOOKUP = StoreHash; + + /** + * We can only use the hash on rehash if the size of the hash type is the same as the stored one or + * if we use a power of two modulo. In the case of the power of two modulo, we just mask + * the least significant bytes, we just have to check that the truncated_hash_type didn't truncated + * more bytes. + */ + static bool USE_STORED_HASH_ON_REHASH(size_type bucket_count) { + (void) bucket_count; + if(STORE_HASH && sizeof(std::size_t) == sizeof(truncated_hash_type)) { + return true; + } + else if(STORE_HASH && is_power_of_two_policy::value) { + tsl_assert(bucket_count > 0); + return (bucket_count - 1) <= (std::numeric_limits::max)(); + } + else { + return false; + } + } + + using bucket_entry = tsl::detail_robin_hash::bucket_entry; + using distance_type = typename bucket_entry::distance_type; + + using buckets_allocator = typename std::allocator_traits::template rebind_alloc; + using buckets_container_type = std::vector; + + +public: + /** + * The 'operator*()' and 'operator->()' methods return a const reference and const pointer respectively to the + * stored value type. + * + * In case of a map, to get a mutable reference to the value associated to a key (the '.second' in the + * stored pair), you have to call 'value()'. + * + * The main reason for this is that if we returned a `std::pair&` instead + * of a `const std::pair&`, the user may modify the key which will put the map in a undefined state. + */ + template + class robin_iterator { + friend class robin_hash; + + private: + using iterator_bucket = typename std::conditional::type; + + + robin_iterator(iterator_bucket it) noexcept: m_iterator(it) { + } + + public: + using iterator_category = std::forward_iterator_tag; + using value_type = const typename robin_hash::value_type; + using difference_type = std::ptrdiff_t; + using reference = value_type&; + using pointer = value_type*; + + + robin_iterator() noexcept { + } + + robin_iterator(const robin_iterator& other) noexcept: m_iterator(other.m_iterator) { + } + + const typename robin_hash::key_type& key() const { + return KeySelect()(m_iterator->value()); + } + + template::value && IsConst>::type* = nullptr> + const typename U::value_type& value() const { + return U()(m_iterator->value()); + } + + template::value && !IsConst>::type* = nullptr> + typename U::value_type& value() { + return U()(m_iterator->value()); + } + + reference operator*() const { + return m_iterator->value(); + } + + pointer operator->() const { + return std::addressof(m_iterator->value()); + } + + robin_iterator& operator++() { + while(true) { + if(m_iterator->last_bucket()) { + ++m_iterator; + return *this; + } + + ++m_iterator; + if(!m_iterator->empty()) { + return *this; + } + } + } + + robin_iterator operator++(int) { + robin_iterator tmp(*this); + ++*this; + + return tmp; + } + + friend bool operator==(const robin_iterator& lhs, const robin_iterator& rhs) { + return lhs.m_iterator == rhs.m_iterator; + } + + friend bool operator!=(const robin_iterator& lhs, const robin_iterator& rhs) { + return !(lhs == rhs); + } + + private: + iterator_bucket m_iterator; + }; + + +public: + robin_hash(size_type bucket_count, + const Hash& hash, + const KeyEqual& equal, + const Allocator& alloc, + float max_load_factor): Hash(hash), + KeyEqual(equal), + GrowthPolicy(bucket_count), + m_buckets(alloc), + m_first_or_empty_bucket(static_empty_bucket_ptr()), + m_bucket_count(bucket_count), + m_nb_elements(0), + m_grow_on_next_insert(false) + { + if(bucket_count > max_bucket_count()) { + TSL_THROW_OR_TERMINATE(std::length_error, "The map exceeds its maxmimum size."); + } + + if(m_bucket_count > 0) { + /* + * We can't use the `vector(size_type count, const Allocator& alloc)` constructor + * as it's only available in C++14 and we need to support C++11. We thus must resize after using + * the `vector(const Allocator& alloc)` constructor. + * + * We can't use `vector(size_type count, const T& value, const Allocator& alloc)` as it requires the + * value T to be copyable. + */ + m_buckets.resize(m_bucket_count); + m_first_or_empty_bucket = m_buckets.data(); + + tsl_assert(!m_buckets.empty()); + m_buckets.back().set_as_last_bucket(); + } + + + this->max_load_factor(max_load_factor); + } + + robin_hash(const robin_hash& other): Hash(other), + KeyEqual(other), + GrowthPolicy(other), + m_buckets(other.m_buckets), + m_first_or_empty_bucket(m_buckets.empty()?static_empty_bucket_ptr():m_buckets.data()), + m_bucket_count(other.m_bucket_count), + m_nb_elements(other.m_nb_elements), + m_load_threshold(other.m_load_threshold), + m_max_load_factor(other.m_max_load_factor), + m_grow_on_next_insert(other.m_grow_on_next_insert) + { + } + + robin_hash(robin_hash&& other) noexcept(std::is_nothrow_move_constructible::value && + std::is_nothrow_move_constructible::value && + std::is_nothrow_move_constructible::value && + std::is_nothrow_move_constructible::value) + : Hash(std::move(static_cast(other))), + KeyEqual(std::move(static_cast(other))), + GrowthPolicy(std::move(static_cast(other))), + m_buckets(std::move(other.m_buckets)), + m_first_or_empty_bucket(m_buckets.empty()?static_empty_bucket_ptr():m_buckets.data()), + m_bucket_count(other.m_bucket_count), + m_nb_elements(other.m_nb_elements), + m_load_threshold(other.m_load_threshold), + m_max_load_factor(other.m_max_load_factor), + m_grow_on_next_insert(other.m_grow_on_next_insert) + { + other.GrowthPolicy::clear(); + other.m_buckets.clear(); + other.m_first_or_empty_bucket = static_empty_bucket_ptr(); + other.m_bucket_count = 0; + other.m_nb_elements = 0; + other.m_load_threshold = 0; + other.m_grow_on_next_insert = false; + } + + robin_hash& operator=(const robin_hash& other) { + if(&other != this) { + Hash::operator=(other); + KeyEqual::operator=(other); + GrowthPolicy::operator=(other); + + m_buckets = other.m_buckets; + m_first_or_empty_bucket = m_buckets.empty()?static_empty_bucket_ptr(): + m_buckets.data(); + m_bucket_count = other.m_bucket_count; + m_nb_elements = other.m_nb_elements; + m_load_threshold = other.m_load_threshold; + m_max_load_factor = other.m_max_load_factor; + m_grow_on_next_insert = other.m_grow_on_next_insert; + } + + return *this; + } + + robin_hash& operator=(robin_hash&& other) { + other.swap(*this); + other.clear(); + + return *this; + } + + allocator_type get_allocator() const { + return m_buckets.get_allocator(); + } + + + /* + * Iterators + */ + iterator begin() noexcept { + auto begin = m_buckets.begin(); + while(begin != m_buckets.end() && begin->empty()) { + ++begin; + } + + return iterator(begin); + } + + const_iterator begin() const noexcept { + return cbegin(); + } + + const_iterator cbegin() const noexcept { + auto begin = m_buckets.cbegin(); + while(begin != m_buckets.cend() && begin->empty()) { + ++begin; + } + + return const_iterator(begin); + } + + iterator end() noexcept { + return iterator(m_buckets.end()); + } + + const_iterator end() const noexcept { + return cend(); + } + + const_iterator cend() const noexcept { + return const_iterator(m_buckets.cend()); + } + + + /* + * Capacity + */ + bool empty() const noexcept { + return m_nb_elements == 0; + } + + size_type size() const noexcept { + return m_nb_elements; + } + + size_type max_size() const noexcept { + return m_buckets.max_size(); + } + + /* + * Modifiers + */ + void clear() noexcept { + for(auto& bucket: m_buckets) { + bucket.clear(); + } + + m_nb_elements = 0; + m_grow_on_next_insert = false; + } + + + + template + std::pair insert(P&& value) { + return insert_impl(KeySelect()(value), std::forward

(value)); + } + + template + iterator insert(const_iterator hint, P&& value) { + if(hint != cend() && compare_keys(KeySelect()(*hint), KeySelect()(value))) { + return mutable_iterator(hint); + } + + return insert(std::forward

(value)).first; + } + + template + void insert(InputIt first, InputIt last) { + if(std::is_base_of::iterator_category>::value) + { + const auto nb_elements_insert = std::distance(first, last); + const size_type nb_free_buckets = m_load_threshold - size(); + tsl_assert(m_load_threshold >= size()); + + if(nb_elements_insert > 0 && nb_free_buckets < size_type(nb_elements_insert)) { + reserve(size() + size_type(nb_elements_insert)); + } + } + + for(; first != last; ++first) { + insert(*first); + } + } + + + + template + std::pair insert_or_assign(K&& key, M&& obj) { + auto it = try_emplace(std::forward(key), std::forward(obj)); + if(!it.second) { + it.first.value() = std::forward(obj); + } + + return it; + } + + template + iterator insert_or_assign(const_iterator hint, K&& key, M&& obj) { + if(hint != cend() && compare_keys(KeySelect()(*hint), key)) { + auto it = mutable_iterator(hint); + it.value() = std::forward(obj); + + return it; + } + + return insert_or_assign(std::forward(key), std::forward(obj)).first; + } + + + template + std::pair emplace(Args&&... args) { + return insert(value_type(std::forward(args)...)); + } + + template + iterator emplace_hint(const_iterator hint, Args&&... args) { + return insert(hint, value_type(std::forward(args)...)); + } + + + + template + std::pair try_emplace(K&& key, Args&&... args) { + return insert_impl(key, std::piecewise_construct, + std::forward_as_tuple(std::forward(key)), + std::forward_as_tuple(std::forward(args)...)); + } + + template + iterator try_emplace(const_iterator hint, K&& key, Args&&... args) { + if(hint != cend() && compare_keys(KeySelect()(*hint), key)) { + return mutable_iterator(hint); + } + + return try_emplace(std::forward(key), std::forward(args)...).first; + } + + /** + * Here to avoid `template size_type erase(const K& key)` being used when + * we use an `iterator` instead of a `const_iterator`. + */ + iterator erase(iterator pos) { + erase_from_bucket(pos); + + /** + * Erase bucket used a backward shift after clearing the bucket. + * Check if there is a new value in the bucket, if not get the next non-empty. + */ + if(pos.m_iterator->empty()) { + ++pos; + } + + return pos; + } + + iterator erase(const_iterator pos) { + return erase(mutable_iterator(pos)); + } + + iterator erase(const_iterator first, const_iterator last) { + if(first == last) { + return mutable_iterator(first); + } + + auto first_mutable = mutable_iterator(first); + auto last_mutable = mutable_iterator(last); + for(auto it = first_mutable.m_iterator; it != last_mutable.m_iterator; ++it) { + if(!it->empty()) { + it->clear(); + m_nb_elements--; + } + } + + if(last_mutable == end()) { + return end(); + } + + + /* + * Backward shift on the values which come after the deleted values. + * We try to move the values closer to their ideal bucket. + */ + std::size_t icloser_bucket = std::size_t(std::distance(m_buckets.begin(), first_mutable.m_iterator)); + std::size_t ito_move_closer_value = std::size_t(std::distance(m_buckets.begin(), last_mutable.m_iterator)); + tsl_assert(ito_move_closer_value > icloser_bucket); + + const std::size_t ireturn_bucket = ito_move_closer_value - + (std::min)(ito_move_closer_value - icloser_bucket, + std::size_t(m_buckets[ito_move_closer_value].dist_from_ideal_bucket())); + + while(ito_move_closer_value < m_buckets.size() && m_buckets[ito_move_closer_value].dist_from_ideal_bucket() > 0) { + icloser_bucket = ito_move_closer_value - + (std::min)(ito_move_closer_value - icloser_bucket, + std::size_t(m_buckets[ito_move_closer_value].dist_from_ideal_bucket())); + + + tsl_assert(m_buckets[icloser_bucket].empty()); + const distance_type new_distance = distance_type(m_buckets[ito_move_closer_value].dist_from_ideal_bucket() - + (ito_move_closer_value - icloser_bucket)); + m_buckets[icloser_bucket].set_value_of_empty_bucket(new_distance, + m_buckets[ito_move_closer_value].truncated_hash(), + std::move(m_buckets[ito_move_closer_value].value())); + m_buckets[ito_move_closer_value].clear(); + + + ++icloser_bucket; + ++ito_move_closer_value; + } + + + return iterator(m_buckets.begin() + ireturn_bucket); + } + + + template + size_type erase(const K& key) { + return erase(key, hash_key(key)); + } + + template + size_type erase(const K& key, std::size_t hash) { + auto it = find(key, hash); + if(it != end()) { + erase_from_bucket(it); + + return 1; + } + else { + return 0; + } + } + + + + + + void swap(robin_hash& other) { + using std::swap; + + swap(static_cast(*this), static_cast(other)); + swap(static_cast(*this), static_cast(other)); + swap(static_cast(*this), static_cast(other)); + swap(m_buckets, other.m_buckets); + swap(m_first_or_empty_bucket, other.m_first_or_empty_bucket); + swap(m_bucket_count, other.m_bucket_count); + swap(m_nb_elements, other.m_nb_elements); + swap(m_load_threshold, other.m_load_threshold); + swap(m_max_load_factor, other.m_max_load_factor); + swap(m_grow_on_next_insert, other.m_grow_on_next_insert); + } + + + /* + * Lookup + */ + template::value>::type* = nullptr> + typename U::value_type& at(const K& key) { + return at(key, hash_key(key)); + } + + template::value>::type* = nullptr> + typename U::value_type& at(const K& key, std::size_t hash) { + return const_cast(static_cast(this)->at(key, hash)); + } + + + template::value>::type* = nullptr> + const typename U::value_type& at(const K& key) const { + return at(key, hash_key(key)); + } + + template::value>::type* = nullptr> + const typename U::value_type& at(const K& key, std::size_t hash) const { + auto it = find(key, hash); + if(it != cend()) { + return it.value(); + } + else { + TSL_THROW_OR_TERMINATE(std::out_of_range, "Couldn't find key."); + } + } + + template::value>::type* = nullptr> + typename U::value_type& operator[](K&& key) { + return try_emplace(std::forward(key)).first.value(); + } + + + template + size_type count(const K& key) const { + return count(key, hash_key(key)); + } + + template + size_type count(const K& key, std::size_t hash) const { + if(find(key, hash) != cend()) { + return 1; + } + else { + return 0; + } + } + + + template + iterator find(const K& key) { + return find_impl(key, hash_key(key)); + } + + template + iterator find(const K& key, std::size_t hash) { + return find_impl(key, hash); + } + + + template + const_iterator find(const K& key) const { + return find_impl(key, hash_key(key)); + } + + template + const_iterator find(const K& key, std::size_t hash) const { + return find_impl(key, hash); + } + + + template + std::pair equal_range(const K& key) { + return equal_range(key, hash_key(key)); + } + + template + std::pair equal_range(const K& key, std::size_t hash) { + iterator it = find(key, hash); + return std::make_pair(it, (it == end())?it:std::next(it)); + } + + + template + std::pair equal_range(const K& key) const { + return equal_range(key, hash_key(key)); + } + + template + std::pair equal_range(const K& key, std::size_t hash) const { + const_iterator it = find(key, hash); + return std::make_pair(it, (it == cend())?it:std::next(it)); + } + + /* + * Bucket interface + */ + size_type bucket_count() const { + return m_bucket_count; + } + + size_type max_bucket_count() const { + return (std::min)(GrowthPolicy::max_bucket_count(), m_buckets.max_size()); + } + + /* + * Hash policy + */ + float load_factor() const { + if(bucket_count() == 0) { + return 0; + } + + return float(m_nb_elements)/float(bucket_count()); + } + + float max_load_factor() const { + return m_max_load_factor; + } + + void max_load_factor(float ml) { + m_max_load_factor = (std::max)(0.1f, (std::min)(ml, 0.95f)); + m_load_threshold = size_type(float(bucket_count())*m_max_load_factor); + } + + void rehash(size_type count) { + count = (std::max)(count, size_type(std::ceil(float(size())/max_load_factor()))); + rehash_impl(count); + } + + void reserve(size_type count) { + rehash(size_type(std::ceil(float(count)/max_load_factor()))); + } + + /* + * Observers + */ + hasher hash_function() const { + return static_cast(*this); + } + + key_equal key_eq() const { + return static_cast(*this); + } + + + /* + * Other + */ + iterator mutable_iterator(const_iterator pos) { + return iterator(m_buckets.begin() + std::distance(m_buckets.cbegin(), pos.m_iterator)); + } + +private: + template + std::size_t hash_key(const K& key) const { + return Hash::operator()(key); + } + + template + bool compare_keys(const K1& key1, const K2& key2) const { + return KeyEqual::operator()(key1, key2); + } + + std::size_t bucket_for_hash(std::size_t hash) const { + const std::size_t bucket = GrowthPolicy::bucket_for_hash(hash); + tsl_assert(bucket < m_buckets.size() || (bucket == 0 && m_buckets.empty())); + + return bucket; + } + + template::value>::type* = nullptr> + std::size_t next_bucket(std::size_t index) const noexcept { + tsl_assert(index < bucket_count()); + + return (index + 1) & this->m_mask; + } + + template::value>::type* = nullptr> + std::size_t next_bucket(std::size_t index) const noexcept { + tsl_assert(index < bucket_count()); + + index++; + return (index != bucket_count())?index:0; + } + + + + template + iterator find_impl(const K& key, std::size_t hash) { + return mutable_iterator(static_cast(this)->find(key, hash)); + } + + template + const_iterator find_impl(const K& key, std::size_t hash) const { + std::size_t ibucket = bucket_for_hash(hash); + distance_type dist_from_ideal_bucket = 0; + + while(dist_from_ideal_bucket <= (m_first_or_empty_bucket + ibucket)->dist_from_ideal_bucket()) { + if(TSL_LIKELY((!USE_STORED_HASH_ON_LOOKUP || (m_first_or_empty_bucket + ibucket)->bucket_hash_equal(hash)) && + compare_keys(KeySelect()((m_first_or_empty_bucket + ibucket)->value()), key))) + { + return const_iterator(m_buckets.begin() + ibucket); + } + + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + + return cend(); + } + + void erase_from_bucket(iterator pos) { + pos.m_iterator->clear(); + m_nb_elements--; + + /** + * Backward shift, swap the empty bucket, previous_ibucket, with the values on its right, ibucket, + * until we cross another empty bucket or if the other bucket has a distance_from_ideal_bucket == 0. + * + * We try to move the values closer to their ideal bucket. + */ + std::size_t previous_ibucket = std::size_t(std::distance(m_buckets.begin(), pos.m_iterator)); + std::size_t ibucket = next_bucket(previous_ibucket); + + while(m_buckets[ibucket].dist_from_ideal_bucket() > 0) { + tsl_assert(m_buckets[previous_ibucket].empty()); + + const distance_type new_distance = distance_type(m_buckets[ibucket].dist_from_ideal_bucket() - 1); + m_buckets[previous_ibucket].set_value_of_empty_bucket(new_distance, m_buckets[ibucket].truncated_hash(), + std::move(m_buckets[ibucket].value())); + m_buckets[ibucket].clear(); + + previous_ibucket = ibucket; + ibucket = next_bucket(ibucket); + } + } + + template + std::pair insert_impl(const K& key, Args&&... value_type_args) { + const std::size_t hash = hash_key(key); + + std::size_t ibucket = bucket_for_hash(hash); + distance_type dist_from_ideal_bucket = 0; + + while(dist_from_ideal_bucket <= (m_first_or_empty_bucket + ibucket)->dist_from_ideal_bucket()) { + if((!USE_STORED_HASH_ON_LOOKUP || (m_first_or_empty_bucket + ibucket)->bucket_hash_equal(hash)) && + compare_keys(KeySelect()((m_first_or_empty_bucket + ibucket)->value()), key)) + { + return std::make_pair(iterator(m_buckets.begin() + ibucket), false); + } + + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + + if(grow_on_high_load()) { + ibucket = bucket_for_hash(hash); + dist_from_ideal_bucket = 0; + + while(dist_from_ideal_bucket <= (m_first_or_empty_bucket + ibucket)->dist_from_ideal_bucket()) { + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + } + + + if((m_first_or_empty_bucket + ibucket)->empty()) { + (m_first_or_empty_bucket + ibucket)->set_value_of_empty_bucket(dist_from_ideal_bucket, bucket_entry::truncate_hash(hash), + std::forward(value_type_args)...); + } + else { + insert_value(ibucket, dist_from_ideal_bucket, bucket_entry::truncate_hash(hash), + std::forward(value_type_args)...); + } + + + m_nb_elements++; + /* + * The value will be inserted in ibucket in any case, either because it was + * empty or by stealing the bucket (robin hood). + */ + return std::make_pair(iterator(m_buckets.begin() + ibucket), true); + } + + + template + void insert_value(std::size_t ibucket, distance_type dist_from_ideal_bucket, + truncated_hash_type hash, Args&&... value_type_args) + { + insert_value(ibucket, dist_from_ideal_bucket, hash, value_type(std::forward(value_type_args)...)); + } + + void insert_value(std::size_t ibucket, distance_type dist_from_ideal_bucket, + truncated_hash_type hash, value_type&& value) + { + m_buckets[ibucket].swap_with_value_in_bucket(dist_from_ideal_bucket, hash, value); + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + + while(!m_buckets[ibucket].empty()) { + if(dist_from_ideal_bucket > m_buckets[ibucket].dist_from_ideal_bucket()) { + if(dist_from_ideal_bucket >= REHASH_ON_HIGH_NB_PROBES__NPROBES && + load_factor() >= REHASH_ON_HIGH_NB_PROBES__MIN_LOAD_FACTOR) + { + /** + * The number of probes is really high, rehash the map on the next insert. + * Difficult to do now as rehash may throw an exception. + */ + m_grow_on_next_insert = true; + } + + m_buckets[ibucket].swap_with_value_in_bucket(dist_from_ideal_bucket, hash, value); + } + + ibucket = next_bucket(ibucket); + dist_from_ideal_bucket++; + } + + m_buckets[ibucket].set_value_of_empty_bucket(dist_from_ideal_bucket, hash, std::move(value)); + } + + + void rehash_impl(size_type count) { + robin_hash new_table(count, static_cast(*this), static_cast(*this), + get_allocator(), m_max_load_factor); + + const bool use_stored_hash = USE_STORED_HASH_ON_REHASH(new_table.bucket_count()); + for(auto& bucket: m_buckets) { + if(bucket.empty()) { + continue; + } + + const std::size_t hash = use_stored_hash?bucket.truncated_hash(): + new_table.hash_key(KeySelect()(bucket.value())); + + new_table.insert_value_on_rehash(new_table.bucket_for_hash(hash), 0, + bucket_entry::truncate_hash(hash), std::move(bucket.value())); + } + + new_table.m_nb_elements = m_nb_elements; + new_table.swap(*this); + } + + void insert_value_on_rehash(std::size_t ibucket, distance_type dist_from_ideal_bucket, + truncated_hash_type hash, value_type&& value) + { + while(true) { + if(dist_from_ideal_bucket > m_buckets[ibucket].dist_from_ideal_bucket()) { + if(m_buckets[ibucket].empty()) { + m_buckets[ibucket].set_value_of_empty_bucket(dist_from_ideal_bucket, hash, std::move(value)); + return; + } + else { + m_buckets[ibucket].swap_with_value_in_bucket(dist_from_ideal_bucket, hash, value); + } + } + + dist_from_ideal_bucket++; + ibucket = next_bucket(ibucket); + } + } + + + + /** + * Return true if the map has been rehashed. + */ + bool grow_on_high_load() { + if(m_grow_on_next_insert || size() >= m_load_threshold) { + rehash_impl(GrowthPolicy::next_bucket_count()); + m_grow_on_next_insert = false; + + return true; + } + + return false; + } + + +public: + static const size_type DEFAULT_INIT_BUCKETS_SIZE = 16; + static constexpr float DEFAULT_MAX_LOAD_FACTOR = 0.5f; + +private: + static const distance_type REHASH_ON_HIGH_NB_PROBES__NPROBES = 128; + static constexpr float REHASH_ON_HIGH_NB_PROBES__MIN_LOAD_FACTOR = 0.15f; + + + /** + * Return an always valid pointer to an static empty bucket_entry with last_bucket() == true. + */ + bucket_entry* static_empty_bucket_ptr() { + static bucket_entry empty_bucket(true); + return &empty_bucket; + } + +private: + buckets_container_type m_buckets; + + /** + * Points to m_buckets.data() if !m_buckets.empty() otherwise points to static_empty_bucket_ptr. + * This variable is useful to avoid the cost of checking if m_buckets is empty when trying + * to find an element. + */ + bucket_entry* m_first_or_empty_bucket; + + /** + * Used a lot in find, avoid the call to m_buckets.size() which is a bit slower. + */ + size_type m_bucket_count; + + size_type m_nb_elements; + + size_type m_load_threshold; + float m_max_load_factor; + + bool m_grow_on_next_insert; +}; + +} + +} + +#endif diff --git a/demos/tsl/robin_map.h b/demos/tsl/robin_map.h new file mode 100644 index 0000000..5958e70 --- /dev/null +++ b/demos/tsl/robin_map.h @@ -0,0 +1,668 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_MAP_H +#define TSL_ROBIN_MAP_H + + +#include +#include +#include +#include +#include +#include +#include "robin_hash.h" + + +namespace tsl { + + +/** + * Implementation of a hash map using open-adressing and the robin hood hashing algorithm with backward shift deletion. + * + * For operations modifying the hash map (insert, erase, rehash, ...), the strong exception guarantee + * is only guaranteed when the expression `std::is_nothrow_swappable>::value && + * std::is_nothrow_move_constructible>::value` is true, otherwise if an exception + * is thrown during the swap or the move, the hash map may end up in a undefined state. Per the standard + * a `Key` or `T` with a noexcept copy constructor and no move constructor also satisfies the + * `std::is_nothrow_move_constructible>::value` criterion (and will thus guarantee the + * strong exception for the map). + * + * When `StoreHash` is true, 32 bits of the hash are stored alongside the values. It can improve + * the performance during lookups if the `KeyEqual` function takes time (if it engenders a cache-miss for example) + * as we then compare the stored hashes before comparing the keys. When `tsl::rh::power_of_two_growth_policy` is used + * as `GrowthPolicy`, it may also speed-up the rehash process as we can avoid to recalculate the hash. + * When it is detected that storing the hash will not incur any memory penality due to alignement (i.e. + * `sizeof(tsl::detail_robin_hash::bucket_entry) == + * sizeof(tsl::detail_robin_hash::bucket_entry)`) and `tsl::rh::power_of_two_growth_policy` is + * used, the hash will be stored even if `StoreHash` is false so that we can speed-up the rehash (but it will + * not be used on lookups unless `StoreHash` is true). + * + * `GrowthPolicy` defines how the map grows and consequently how a hash value is mapped to a bucket. + * By default the map uses `tsl::rh::power_of_two_growth_policy`. This policy keeps the number of buckets + * to a power of two and uses a mask to map the hash to a bucket instead of the slow modulo. + * Other growth policies are available and you may define your own growth policy, + * check `tsl::rh::power_of_two_growth_policy` for the interface. + * + * If the destructor of `Key` or `T` throws an exception, the behaviour of the class is undefined. + * + * Iterators invalidation: + * - clear, operator=, reserve, rehash: always invalidate the iterators. + * - insert, emplace, emplace_hint, operator[]: if there is an effective insert, invalidate the iterators. + * - erase: always invalidate the iterators. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator>, + bool StoreHash = false, + class GrowthPolicy = tsl::rh::power_of_two_growth_policy<2>> +class robin_map { +private: + template + using has_is_transparent = tsl::detail_robin_hash::has_is_transparent; + + class KeySelect { + public: + using key_type = Key; + + const key_type& operator()(const std::pair& key_value) const noexcept { + return key_value.first; + } + + key_type& operator()(std::pair& key_value) noexcept { + return key_value.first; + } + }; + + class ValueSelect { + public: + using value_type = T; + + const value_type& operator()(const std::pair& key_value) const noexcept { + return key_value.second; + } + + value_type& operator()(std::pair& key_value) noexcept { + return key_value.second; + } + }; + + using ht = detail_robin_hash::robin_hash, KeySelect, ValueSelect, + Hash, KeyEqual, Allocator, StoreHash, GrowthPolicy>; + +public: + using key_type = typename ht::key_type; + using mapped_type = T; + using value_type = typename ht::value_type; + using size_type = typename ht::size_type; + using difference_type = typename ht::difference_type; + using hasher = typename ht::hasher; + using key_equal = typename ht::key_equal; + using allocator_type = typename ht::allocator_type; + using reference = typename ht::reference; + using const_reference = typename ht::const_reference; + using pointer = typename ht::pointer; + using const_pointer = typename ht::const_pointer; + using iterator = typename ht::iterator; + using const_iterator = typename ht::const_iterator; + + +public: + /* + * Constructors + */ + robin_map(): robin_map(ht::DEFAULT_INIT_BUCKETS_SIZE) { + } + + explicit robin_map(size_type bucket_count, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + m_ht(bucket_count, hash, equal, alloc, ht::DEFAULT_MAX_LOAD_FACTOR) + { + } + + robin_map(size_type bucket_count, + const Allocator& alloc): robin_map(bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_map(size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_map(bucket_count, hash, KeyEqual(), alloc) + { + } + + explicit robin_map(const Allocator& alloc): robin_map(ht::DEFAULT_INIT_BUCKETS_SIZE, alloc) { + } + + template + robin_map(InputIt first, InputIt last, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): robin_map(bucket_count, hash, equal, alloc) + { + insert(first, last); + } + + template + robin_map(InputIt first, InputIt last, + size_type bucket_count, + const Allocator& alloc): robin_map(first, last, bucket_count, Hash(), KeyEqual(), alloc) + { + } + + template + robin_map(InputIt first, InputIt last, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_map(first, last, bucket_count, hash, KeyEqual(), alloc) + { + } + + robin_map(std::initializer_list init, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + robin_map(init.begin(), init.end(), bucket_count, hash, equal, alloc) + { + } + + robin_map(std::initializer_list init, + size_type bucket_count, + const Allocator& alloc): + robin_map(init.begin(), init.end(), bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_map(std::initializer_list init, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): + robin_map(init.begin(), init.end(), bucket_count, hash, KeyEqual(), alloc) + { + } + + robin_map& operator=(std::initializer_list ilist) { + m_ht.clear(); + + m_ht.reserve(ilist.size()); + m_ht.insert(ilist.begin(), ilist.end()); + + return *this; + } + + allocator_type get_allocator() const { return m_ht.get_allocator(); } + + + /* + * Iterators + */ + iterator begin() noexcept { return m_ht.begin(); } + const_iterator begin() const noexcept { return m_ht.begin(); } + const_iterator cbegin() const noexcept { return m_ht.cbegin(); } + + iterator end() noexcept { return m_ht.end(); } + const_iterator end() const noexcept { return m_ht.end(); } + const_iterator cend() const noexcept { return m_ht.cend(); } + + + /* + * Capacity + */ + bool empty() const noexcept { return m_ht.empty(); } + size_type size() const noexcept { return m_ht.size(); } + size_type max_size() const noexcept { return m_ht.max_size(); } + + /* + * Modifiers + */ + void clear() noexcept { m_ht.clear(); } + + + + std::pair insert(const value_type& value) { + return m_ht.insert(value); + } + + template::value>::type* = nullptr> + std::pair insert(P&& value) { + return m_ht.emplace(std::forward

(value)); + } + + std::pair insert(value_type&& value) { + return m_ht.insert(std::move(value)); + } + + + iterator insert(const_iterator hint, const value_type& value) { + return m_ht.insert(hint, value); + } + + template::value>::type* = nullptr> + iterator insert(const_iterator hint, P&& value) { + return m_ht.emplace_hint(hint, std::forward

(value)); + } + + iterator insert(const_iterator hint, value_type&& value) { + return m_ht.insert(hint, std::move(value)); + } + + + template + void insert(InputIt first, InputIt last) { + m_ht.insert(first, last); + } + + void insert(std::initializer_list ilist) { + m_ht.insert(ilist.begin(), ilist.end()); + } + + + + + template + std::pair insert_or_assign(const key_type& k, M&& obj) { + return m_ht.insert_or_assign(k, std::forward(obj)); + } + + template + std::pair insert_or_assign(key_type&& k, M&& obj) { + return m_ht.insert_or_assign(std::move(k), std::forward(obj)); + } + + template + iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj) { + return m_ht.insert_or_assign(hint, k, std::forward(obj)); + } + + template + iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj) { + return m_ht.insert_or_assign(hint, std::move(k), std::forward(obj)); + } + + + + /** + * Due to the way elements are stored, emplace will need to move or copy the key-value once. + * The method is equivalent to insert(value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + std::pair emplace(Args&&... args) { + return m_ht.emplace(std::forward(args)...); + } + + + + /** + * Due to the way elements are stored, emplace_hint will need to move or copy the key-value once. + * The method is equivalent to insert(hint, value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + iterator emplace_hint(const_iterator hint, Args&&... args) { + return m_ht.emplace_hint(hint, std::forward(args)...); + } + + + + + template + std::pair try_emplace(const key_type& k, Args&&... args) { + return m_ht.try_emplace(k, std::forward(args)...); + } + + template + std::pair try_emplace(key_type&& k, Args&&... args) { + return m_ht.try_emplace(std::move(k), std::forward(args)...); + } + + template + iterator try_emplace(const_iterator hint, const key_type& k, Args&&... args) { + return m_ht.try_emplace(hint, k, std::forward(args)...); + } + + template + iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args) { + return m_ht.try_emplace(hint, std::move(k), std::forward(args)...); + } + + + + + iterator erase(iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator first, const_iterator last) { return m_ht.erase(first, last); } + size_type erase(const key_type& key) { return m_ht.erase(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + size_type erase(const key_type& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type erase(const K& key) { return m_ht.erase(key); } + + /** + * @copydoc erase(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + template::value>::type* = nullptr> + size_type erase(const K& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + + + void swap(robin_map& other) { other.m_ht.swap(m_ht); } + + + + /* + * Lookup + */ + T& at(const Key& key) { return m_ht.at(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + T& at(const Key& key, std::size_t precalculated_hash) { return m_ht.at(key, precalculated_hash); } + + + const T& at(const Key& key) const { return m_ht.at(key); } + + /** + * @copydoc at(const Key& key, std::size_t precalculated_hash) + */ + const T& at(const Key& key, std::size_t precalculated_hash) const { return m_ht.at(key, precalculated_hash); } + + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + T& at(const K& key) { return m_ht.at(key); } + + /** + * @copydoc at(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + T& at(const K& key, std::size_t precalculated_hash) { return m_ht.at(key, precalculated_hash); } + + + /** + * @copydoc at(const K& key) + */ + template::value>::type* = nullptr> + const T& at(const K& key) const { return m_ht.at(key); } + + /** + * @copydoc at(const K& key, std::size_t precalculated_hash) + */ + template::value>::type* = nullptr> + const T& at(const K& key, std::size_t precalculated_hash) const { return m_ht.at(key, precalculated_hash); } + + + + + T& operator[](const Key& key) { return m_ht[key]; } + T& operator[](Key&& key) { return m_ht[std::move(key)]; } + + + + + size_type count(const Key& key) const { return m_ht.count(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + size_type count(const Key& key, std::size_t precalculated_hash) const { + return m_ht.count(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type count(const K& key) const { return m_ht.count(key); } + + /** + * @copydoc count(const K& key) const + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + size_type count(const K& key, std::size_t precalculated_hash) const { return m_ht.count(key, precalculated_hash); } + + + + + iterator find(const Key& key) { return m_ht.find(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + iterator find(const Key& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + const_iterator find(const Key& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const Key& key, std::size_t precalculated_hash) + */ + const_iterator find(const Key& key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + iterator find(const K& key) { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + iterator find(const K& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + /** + * @copydoc find(const K& key) + */ + template::value>::type* = nullptr> + const_iterator find(const K& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + const_iterator find(const K& key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + + + + std::pair equal_range(const Key& key) { return m_ht.equal_range(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + std::pair equal_range(const Key& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const Key& key, std::size_t precalculated_hash) + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) { return m_ht.equal_range(key); } + + + /** + * @copydoc equal_range(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * @copydoc equal_range(const K& key) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const K& key, std::size_t precalculated_hash) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + + + + /* + * Bucket interface + */ + size_type bucket_count() const { return m_ht.bucket_count(); } + size_type max_bucket_count() const { return m_ht.max_bucket_count(); } + + + /* + * Hash policy + */ + float load_factor() const { return m_ht.load_factor(); } + float max_load_factor() const { return m_ht.max_load_factor(); } + void max_load_factor(float ml) { m_ht.max_load_factor(ml); } + + void rehash(size_type count) { m_ht.rehash(count); } + void reserve(size_type count) { m_ht.reserve(count); } + + + /* + * Observers + */ + hasher hash_function() const { return m_ht.hash_function(); } + key_equal key_eq() const { return m_ht.key_eq(); } + + /* + * Other + */ + + /** + * Convert a const_iterator to an iterator. + */ + iterator mutable_iterator(const_iterator pos) { + return m_ht.mutable_iterator(pos); + } + + friend bool operator==(const robin_map& lhs, const robin_map& rhs) { + if(lhs.size() != rhs.size()) { + return false; + } + + for(const auto& element_lhs: lhs) { + const auto it_element_rhs = rhs.find(element_lhs.first); + if(it_element_rhs == rhs.cend() || element_lhs.second != it_element_rhs->second) { + return false; + } + } + + return true; + } + + friend bool operator!=(const robin_map& lhs, const robin_map& rhs) { + return !operator==(lhs, rhs); + } + + friend void swap(robin_map& lhs, robin_map& rhs) { + lhs.swap(rhs); + } + +private: + ht m_ht; +}; + + +/** + * Same as `tsl::robin_map`. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator>, + bool StoreHash = false> +using robin_pg_map = robin_map; + +} // end namespace tsl + +#endif diff --git a/demos/tsl/robin_set.h b/demos/tsl/robin_set.h new file mode 100644 index 0000000..4e4667e --- /dev/null +++ b/demos/tsl/robin_set.h @@ -0,0 +1,535 @@ +/** + * MIT License + * + * Copyright (c) 2017 Tessil + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_ROBIN_SET_H +#define TSL_ROBIN_SET_H + + +#include +#include +#include +#include +#include +#include +#include "robin_hash.h" + + +namespace tsl { + + +/** + * Implementation of a hash set using open-adressing and the robin hood hashing algorithm with backward shift deletion. + * + * For operations modifying the hash set (insert, erase, rehash, ...), the strong exception guarantee + * is only guaranteed when the expression `std::is_nothrow_swappable::value && + * std::is_nothrow_move_constructible::value` is true, otherwise if an exception + * is thrown during the swap or the move, the hash set may end up in a undefined state. Per the standard + * a `Key` with a noexcept copy constructor and no move constructor also satisfies the + * `std::is_nothrow_move_constructible::value` criterion (and will thus guarantee the + * strong exception for the set). + * + * When `StoreHash` is true, 32 bits of the hash are stored alongside the values. It can improve + * the performance during lookups if the `KeyEqual` function takes time (or engenders a cache-miss for example) + * as we then compare the stored hashes before comparing the keys. When `tsl::rh::power_of_two_growth_policy` is used + * as `GrowthPolicy`, it may also speed-up the rehash process as we can avoid to recalculate the hash. + * When it is detected that storing the hash will not incur any memory penality due to alignement (i.e. + * `sizeof(tsl::detail_robin_hash::bucket_entry) == + * sizeof(tsl::detail_robin_hash::bucket_entry)`) and `tsl::rh::power_of_two_growth_policy` is + * used, the hash will be stored even if `StoreHash` is false so that we can speed-up the rehash (but it will + * not be used on lookups unless `StoreHash` is true). + * + * `GrowthPolicy` defines how the set grows and consequently how a hash value is mapped to a bucket. + * By default the set uses `tsl::rh::power_of_two_growth_policy`. This policy keeps the number of buckets + * to a power of two and uses a mask to set the hash to a bucket instead of the slow modulo. + * Other growth policies are available and you may define your own growth policy, + * check `tsl::rh::power_of_two_growth_policy` for the interface. + * + * If the destructor of `Key` throws an exception, the behaviour of the class is undefined. + * + * Iterators invalidation: + * - clear, operator=, reserve, rehash: always invalidate the iterators. + * - insert, emplace, emplace_hint, operator[]: if there is an effective insert, invalidate the iterators. + * - erase: always invalidate the iterators. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator, + bool StoreHash = false, + class GrowthPolicy = tsl::rh::power_of_two_growth_policy<2>> +class robin_set { +private: + template + using has_is_transparent = tsl::detail_robin_hash::has_is_transparent; + + class KeySelect { + public: + using key_type = Key; + + const key_type& operator()(const Key& key) const noexcept { + return key; + } + + key_type& operator()(Key& key) noexcept { + return key; + } + }; + + using ht = detail_robin_hash::robin_hash; + +public: + using key_type = typename ht::key_type; + using value_type = typename ht::value_type; + using size_type = typename ht::size_type; + using difference_type = typename ht::difference_type; + using hasher = typename ht::hasher; + using key_equal = typename ht::key_equal; + using allocator_type = typename ht::allocator_type; + using reference = typename ht::reference; + using const_reference = typename ht::const_reference; + using pointer = typename ht::pointer; + using const_pointer = typename ht::const_pointer; + using iterator = typename ht::iterator; + using const_iterator = typename ht::const_iterator; + + + /* + * Constructors + */ + robin_set(): robin_set(ht::DEFAULT_INIT_BUCKETS_SIZE) { + } + + explicit robin_set(size_type bucket_count, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + m_ht(bucket_count, hash, equal, alloc, ht::DEFAULT_MAX_LOAD_FACTOR) + { + } + + robin_set(size_type bucket_count, + const Allocator& alloc): robin_set(bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_set(size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_set(bucket_count, hash, KeyEqual(), alloc) + { + } + + explicit robin_set(const Allocator& alloc): robin_set(ht::DEFAULT_INIT_BUCKETS_SIZE, alloc) { + } + + template + robin_set(InputIt first, InputIt last, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): robin_set(bucket_count, hash, equal, alloc) + { + insert(first, last); + } + + template + robin_set(InputIt first, InputIt last, + size_type bucket_count, + const Allocator& alloc): robin_set(first, last, bucket_count, Hash(), KeyEqual(), alloc) + { + } + + template + robin_set(InputIt first, InputIt last, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): robin_set(first, last, bucket_count, hash, KeyEqual(), alloc) + { + } + + robin_set(std::initializer_list init, + size_type bucket_count = ht::DEFAULT_INIT_BUCKETS_SIZE, + const Hash& hash = Hash(), + const KeyEqual& equal = KeyEqual(), + const Allocator& alloc = Allocator()): + robin_set(init.begin(), init.end(), bucket_count, hash, equal, alloc) + { + } + + robin_set(std::initializer_list init, + size_type bucket_count, + const Allocator& alloc): + robin_set(init.begin(), init.end(), bucket_count, Hash(), KeyEqual(), alloc) + { + } + + robin_set(std::initializer_list init, + size_type bucket_count, + const Hash& hash, + const Allocator& alloc): + robin_set(init.begin(), init.end(), bucket_count, hash, KeyEqual(), alloc) + { + } + + + robin_set& operator=(std::initializer_list ilist) { + m_ht.clear(); + + m_ht.reserve(ilist.size()); + m_ht.insert(ilist.begin(), ilist.end()); + + return *this; + } + + allocator_type get_allocator() const { return m_ht.get_allocator(); } + + + /* + * Iterators + */ + iterator begin() noexcept { return m_ht.begin(); } + const_iterator begin() const noexcept { return m_ht.begin(); } + const_iterator cbegin() const noexcept { return m_ht.cbegin(); } + + iterator end() noexcept { return m_ht.end(); } + const_iterator end() const noexcept { return m_ht.end(); } + const_iterator cend() const noexcept { return m_ht.cend(); } + + + /* + * Capacity + */ + bool empty() const noexcept { return m_ht.empty(); } + size_type size() const noexcept { return m_ht.size(); } + size_type max_size() const noexcept { return m_ht.max_size(); } + + /* + * Modifiers + */ + void clear() noexcept { m_ht.clear(); } + + + + + std::pair insert(const value_type& value) { + return m_ht.insert(value); + } + + std::pair insert(value_type&& value) { + return m_ht.insert(std::move(value)); + } + + iterator insert(const_iterator hint, const value_type& value) { + return m_ht.insert(hint, value); + } + + iterator insert(const_iterator hint, value_type&& value) { + return m_ht.insert(hint, std::move(value)); + } + + template + void insert(InputIt first, InputIt last) { + m_ht.insert(first, last); + } + + void insert(std::initializer_list ilist) { + m_ht.insert(ilist.begin(), ilist.end()); + } + + + + + /** + * Due to the way elements are stored, emplace will need to move or copy the key-value once. + * The method is equivalent to insert(value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + std::pair emplace(Args&&... args) { + return m_ht.emplace(std::forward(args)...); + } + + + + /** + * Due to the way elements are stored, emplace_hint will need to move or copy the key-value once. + * The method is equivalent to insert(hint, value_type(std::forward(args)...)); + * + * Mainly here for compatibility with the std::unordered_map interface. + */ + template + iterator emplace_hint(const_iterator hint, Args&&... args) { + return m_ht.emplace_hint(hint, std::forward(args)...); + } + + + + iterator erase(iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator first, const_iterator last) { return m_ht.erase(first, last); } + size_type erase(const key_type& key) { return m_ht.erase(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + size_type erase(const key_type& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type erase(const K& key) { return m_ht.erase(key); } + + /** + * @copydoc erase(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup to the value if you already have the hash. + */ + template::value>::type* = nullptr> + size_type erase(const K& key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + + + void swap(robin_set& other) { other.m_ht.swap(m_ht); } + + + + /* + * Lookup + */ + size_type count(const Key& key) const { return m_ht.count(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + size_type count(const Key& key, std::size_t precalculated_hash) const { return m_ht.count(key, precalculated_hash); } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + size_type count(const K& key) const { return m_ht.count(key); } + + /** + * @copydoc count(const K& key) const + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + size_type count(const K& key, std::size_t precalculated_hash) const { return m_ht.count(key, precalculated_hash); } + + + + + iterator find(const Key& key) { return m_ht.find(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + iterator find(const Key& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + const_iterator find(const Key& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const Key& key, std::size_t precalculated_hash) + */ + const_iterator find(const Key& key, std::size_t precalculated_hash) const { return m_ht.find(key, precalculated_hash); } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + iterator find(const K& key) { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + iterator find(const K& key, std::size_t precalculated_hash) { return m_ht.find(key, precalculated_hash); } + + /** + * @copydoc find(const K& key) + */ + template::value>::type* = nullptr> + const_iterator find(const K& key) const { return m_ht.find(key); } + + /** + * @copydoc find(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + const_iterator find(const K& key, std::size_t precalculated_hash) const { return m_ht.find(key, precalculated_hash); } + + + + + std::pair equal_range(const Key& key) { return m_ht.equal_range(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + std::pair equal_range(const Key& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const Key& key, std::size_t precalculated_hash) + */ + std::pair equal_range(const Key& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef KeyEqual::is_transparent exists. + * If so, K must be hashable and comparable to Key. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const K& key) + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The hash value should be the same + * as hash_function()(key). Usefull to speed-up the lookup if you already have the hash. + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * @copydoc equal_range(const K& key) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key) const { return m_ht.equal_range(key); } + + /** + * @copydoc equal_range(const K& key, std::size_t precalculated_hash) + */ + template::value>::type* = nullptr> + std::pair equal_range(const K& key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + + + + /* + * Bucket interface + */ + size_type bucket_count() const { return m_ht.bucket_count(); } + size_type max_bucket_count() const { return m_ht.max_bucket_count(); } + + + /* + * Hash policy + */ + float load_factor() const { return m_ht.load_factor(); } + float max_load_factor() const { return m_ht.max_load_factor(); } + void max_load_factor(float ml) { m_ht.max_load_factor(ml); } + + void rehash(size_type count) { m_ht.rehash(count); } + void reserve(size_type count) { m_ht.reserve(count); } + + + /* + * Observers + */ + hasher hash_function() const { return m_ht.hash_function(); } + key_equal key_eq() const { return m_ht.key_eq(); } + + + /* + * Other + */ + + /** + * Convert a const_iterator to an iterator. + */ + iterator mutable_iterator(const_iterator pos) { + return m_ht.mutable_iterator(pos); + } + + friend bool operator==(const robin_set& lhs, const robin_set& rhs) { + if(lhs.size() != rhs.size()) { + return false; + } + + for(const auto& element_lhs: lhs) { + const auto it_element_rhs = rhs.find(element_lhs); + if(it_element_rhs == rhs.cend()) { + return false; + } + } + + return true; + } + + friend bool operator!=(const robin_set& lhs, const robin_set& rhs) { + return !operator==(lhs, rhs); + } + + friend void swap(robin_set& lhs, robin_set& rhs) { + lhs.swap(rhs); + } + +private: + ht m_ht; +}; + + +/** + * Same as `tsl::robin_set`. + */ +template, + class KeyEqual = std::equal_to, + class Allocator = std::allocator, + bool StoreHash = false> +using robin_pg_set = robin_set; + +} // end namespace tsl + +#endif + diff --git a/demos/tsl/sparse_growth_policy.h b/demos/tsl/sparse_growth_policy.h new file mode 100644 index 0000000..d73aaaf --- /dev/null +++ b/demos/tsl/sparse_growth_policy.h @@ -0,0 +1,301 @@ +/** + * MIT License + * + * Copyright (c) 2017 Thibaut Goetghebuer-Planchon + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_SPARSE_GROWTH_POLICY_H +#define TSL_SPARSE_GROWTH_POLICY_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace tsl { +namespace sh { + +/** + * Grow the hash table by a factor of GrowthFactor keeping the bucket count to a + * power of two. It allows the table to use a mask operation instead of a modulo + * operation to map a hash to a bucket. + * + * GrowthFactor must be a power of two >= 2. + */ +template +class power_of_two_growth_policy { + public: + /** + * Called on the hash table creation and on rehash. The number of buckets for + * the table is passed in parameter. This number is a minimum, the policy may + * update this value with a higher value if needed (but not lower). + * + * If 0 is given, min_bucket_count_in_out must still be 0 after the policy + * creation and bucket_for_hash must always return 0 in this case. + */ + explicit power_of_two_growth_policy(std::size_t &min_bucket_count_in_out) { + if (min_bucket_count_in_out > max_bucket_count()) { + throw std::length_error("The hash table exceeds its maximum size."); + } + + if (min_bucket_count_in_out > 0) { + min_bucket_count_in_out = + round_up_to_power_of_two(min_bucket_count_in_out); + m_mask = min_bucket_count_in_out - 1; + } else { + m_mask = 0; + } + } + + /** + * Return the bucket [0, bucket_count()) to which the hash belongs. + * If bucket_count() is 0, it must always return 0. + */ + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return hash & m_mask; + } + + /** + * Return the number of buckets that should be used on next growth. + */ + std::size_t next_bucket_count() const { + if ((m_mask + 1) > max_bucket_count() / GrowthFactor) { + throw std::length_error("The hash table exceeds its maximum size."); + } + + return (m_mask + 1) * GrowthFactor; + } + + /** + * Return the maximum number of buckets supported by the policy. + */ + std::size_t max_bucket_count() const { + // Largest power of two. + return (std::numeric_limits::max() / 2) + 1; + } + + /** + * Reset the growth policy as if it was created with a bucket count of 0. + * After a clear, the policy must always return 0 when bucket_for_hash is + * called. + */ + void clear() noexcept { m_mask = 0; } + + private: + static std::size_t round_up_to_power_of_two(std::size_t value) { + if (is_power_of_two(value)) { + return value; + } + + if (value == 0) { + return 1; + } + + --value; + for (std::size_t i = 1; i < sizeof(std::size_t) * CHAR_BIT; i *= 2) { + value |= value >> i; + } + + return value + 1; + } + + static constexpr bool is_power_of_two(std::size_t value) { + return value != 0 && (value & (value - 1)) == 0; + } + + protected: + static_assert(is_power_of_two(GrowthFactor) && GrowthFactor >= 2, + "GrowthFactor must be a power of two >= 2."); + + std::size_t m_mask; +}; + +/** + * Grow the hash table by GrowthFactor::num / GrowthFactor::den and use a modulo + * to map a hash to a bucket. Slower but it can be useful if you want a slower + * growth. + */ +template > +class mod_growth_policy { + public: + explicit mod_growth_policy(std::size_t &min_bucket_count_in_out) { + if (min_bucket_count_in_out > max_bucket_count()) { + throw std::length_error("The hash table exceeds its maximum size."); + } + + if (min_bucket_count_in_out > 0) { + m_mod = min_bucket_count_in_out; + } else { + m_mod = 1; + } + } + + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return hash % m_mod; + } + + std::size_t next_bucket_count() const { + if (m_mod == max_bucket_count()) { + throw std::length_error("The hash table exceeds its maximum size."); + } + + const double next_bucket_count = + std::ceil(double(m_mod) * REHASH_SIZE_MULTIPLICATION_FACTOR); + if (!std::isnormal(next_bucket_count)) { + throw std::length_error("The hash table exceeds its maximum size."); + } + + if (next_bucket_count > double(max_bucket_count())) { + return max_bucket_count(); + } else { + return std::size_t(next_bucket_count); + } + } + + std::size_t max_bucket_count() const { return MAX_BUCKET_COUNT; } + + void clear() noexcept { m_mod = 1; } + + private: + static constexpr double REHASH_SIZE_MULTIPLICATION_FACTOR = + 1.0 * GrowthFactor::num / GrowthFactor::den; + static const std::size_t MAX_BUCKET_COUNT = + std::size_t(double(std::numeric_limits::max() / + REHASH_SIZE_MULTIPLICATION_FACTOR)); + + static_assert(REHASH_SIZE_MULTIPLICATION_FACTOR >= 1.1, + "Growth factor should be >= 1.1."); + + std::size_t m_mod; +}; + +/** + * Grow the hash table by using prime numbers as bucket count. Slower than + * tsl::sh::power_of_two_growth_policy in general but will probably distribute + * the values around better in the buckets with a poor hash function. + * + * To allow the compiler to optimize the modulo operation, a lookup table is + * used with constant primes numbers. + * + * With a switch the code would look like: + * \code + * switch(iprime) { // iprime is the current prime of the hash table + * case 0: hash % 5ul; + * break; + * case 1: hash % 17ul; + * break; + * case 2: hash % 29ul; + * break; + * ... + * } + * \endcode + * + * Due to the constant variable in the modulo the compiler is able to optimize + * the operation by a series of multiplications, substractions and shifts. + * + * The 'hash % 5' could become something like 'hash - (hash * 0xCCCCCCCD) >> 34) + * * 5' in a 64 bits environment. + */ +class prime_growth_policy { + public: + explicit prime_growth_policy(std::size_t &min_bucket_count_in_out) { + auto it_prime = std::lower_bound(primes().begin(), primes().end(), + min_bucket_count_in_out); + if (it_prime == primes().end()) { + throw std::length_error("The hash table exceeds its maximum size."); + } + + m_iprime = + static_cast(std::distance(primes().begin(), it_prime)); + if (min_bucket_count_in_out > 0) { + min_bucket_count_in_out = *it_prime; + } else { + min_bucket_count_in_out = 0; + } + } + + std::size_t bucket_for_hash(std::size_t hash) const noexcept { + return mod_prime()[m_iprime](hash); + } + + std::size_t next_bucket_count() const { + if (m_iprime + 1 >= primes().size()) { + throw std::length_error("The hash table exceeds its maximum size."); + } + + return primes()[m_iprime + 1]; + } + + std::size_t max_bucket_count() const { return primes().back(); } + + void clear() noexcept { m_iprime = 0; } + + private: + static const std::array &primes() { + static const std::array PRIMES = { + {1ul, 5ul, 17ul, 29ul, 37ul, + 53ul, 67ul, 79ul, 97ul, 131ul, + 193ul, 257ul, 389ul, 521ul, 769ul, + 1031ul, 1543ul, 2053ul, 3079ul, 6151ul, + 12289ul, 24593ul, 49157ul, 98317ul, 196613ul, + 393241ul, 786433ul, 1572869ul, 3145739ul, 6291469ul, + 12582917ul, 25165843ul, 50331653ul, 100663319ul, 201326611ul, + 402653189ul, 805306457ul, 1610612741ul, 3221225473ul, 4294967291ul}}; + + static_assert( + std::numeric_limits::max() >= PRIMES.size(), + "The type of m_iprime is not big enough."); + + return PRIMES; + } + + static const std::array &mod_prime() { + // MOD_PRIME[iprime](hash) returns hash % PRIMES[iprime]. This table allows + // for faster modulo as the compiler can optimize the modulo code better + // with a constant known at the compilation. + static const std::array MOD_PRIME = { + {&mod<0>, &mod<1>, &mod<2>, &mod<3>, &mod<4>, &mod<5>, &mod<6>, + &mod<7>, &mod<8>, &mod<9>, &mod<10>, &mod<11>, &mod<12>, &mod<13>, + &mod<14>, &mod<15>, &mod<16>, &mod<17>, &mod<18>, &mod<19>, &mod<20>, + &mod<21>, &mod<22>, &mod<23>, &mod<24>, &mod<25>, &mod<26>, &mod<27>, + &mod<28>, &mod<29>, &mod<30>, &mod<31>, &mod<32>, &mod<33>, &mod<34>, + &mod<35>, &mod<36>, &mod<37>, &mod<38>, &mod<39>}}; + + return MOD_PRIME; + } + + template + static std::size_t mod(std::size_t hash) { + return hash % primes()[IPrime]; + } + + private: + unsigned int m_iprime; +}; + +} // namespace sh +} // namespace tsl + +#endif diff --git a/demos/tsl/sparse_hash.h b/demos/tsl/sparse_hash.h new file mode 100644 index 0000000..e2115b4 --- /dev/null +++ b/demos/tsl/sparse_hash.h @@ -0,0 +1,2215 @@ +/** + * MIT License + * + * Copyright (c) 2017 Thibaut Goetghebuer-Planchon + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_SPARSE_HASH_H +#define TSL_SPARSE_HASH_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "sparse_growth_policy.h" + +#ifdef __INTEL_COMPILER +#include // For _popcnt32 and _popcnt64 +#endif + +#ifdef _MSC_VER +#include // For __cpuid, __popcnt and __popcnt64 +#endif + +#ifdef TSL_DEBUG +#define tsl_sh_assert(expr) assert(expr) +#else +#define tsl_sh_assert(expr) (static_cast(0)) +#endif + +namespace tsl { + +namespace sh { +enum class probing { linear, quadratic }; + +enum class exception_safety { basic, strong }; + +enum class sparsity { high, medium, low }; +} // namespace sh + +namespace detail_popcount { +/** + * Define the popcount(ll) methods and pick-up the best depending on the + * compiler. + */ + +// From Wikipedia: https://en.wikipedia.org/wiki/Hamming_weight +inline int fallback_popcountll(unsigned long long int x) { + static_assert( + sizeof(unsigned long long int) == sizeof(std::uint64_t), + "sizeof(unsigned long long int) must be equal to sizeof(std::uint64_t). " + "Open a feature request if you need support for a platform where it " + "isn't the case."); + + const std::uint64_t m1 = 0x5555555555555555ull; + const std::uint64_t m2 = 0x3333333333333333ull; + const std::uint64_t m4 = 0x0f0f0f0f0f0f0f0full; + const std::uint64_t h01 = 0x0101010101010101ull; + + x -= (x >> 1ull) & m1; + x = (x & m2) + ((x >> 2ull) & m2); + x = (x + (x >> 4ull)) & m4; + return static_cast((x * h01) >> (64ull - 8ull)); +} + +inline int fallback_popcount(unsigned int x) { + static_assert(sizeof(unsigned int) == sizeof(std::uint32_t) || + sizeof(unsigned int) == sizeof(std::uint64_t), + "sizeof(unsigned int) must be equal to sizeof(std::uint32_t) " + "or sizeof(std::uint64_t). " + "Open a feature request if you need support for a platform " + "where it isn't the case."); + + if (sizeof(unsigned int) == sizeof(std::uint32_t)) { + const std::uint32_t m1 = 0x55555555; + const std::uint32_t m2 = 0x33333333; + const std::uint32_t m4 = 0x0f0f0f0f; + const std::uint32_t h01 = 0x01010101; + + x -= (x >> 1) & m1; + x = (x & m2) + ((x >> 2) & m2); + x = (x + (x >> 4)) & m4; + return static_cast((x * h01) >> (32 - 8)); + } else { + return fallback_popcountll(x); + } +} + +#if defined(__clang__) || defined(__GNUC__) +inline int popcountll(unsigned long long int value) { + return __builtin_popcountll(value); +} + +inline int popcount(unsigned int value) { return __builtin_popcount(value); } + +#elif defined(_MSC_VER) +/** + * We need to check for popcount support at runtime on Windows with __cpuid + * See https://msdn.microsoft.com/en-us/library/bb385231.aspx + */ +inline bool has_popcount_support() { + int cpu_infos[4]; + __cpuid(cpu_infos, 1); + return (cpu_infos[2] & (1 << 23)) != 0; +} + +inline int popcountll(unsigned long long int value) { +#ifdef _WIN64 + static_assert( + sizeof(unsigned long long int) == sizeof(std::int64_t), + "sizeof(unsigned long long int) must be equal to sizeof(std::int64_t). "); + + static const bool has_popcount = has_popcount_support(); + return has_popcount + ? static_cast(__popcnt64(static_cast(value))) + : fallback_popcountll(value); +#else + return fallback_popcountll(value); +#endif +} + +inline int popcount(unsigned int value) { + static_assert(sizeof(unsigned int) == sizeof(std::int32_t), + "sizeof(unsigned int) must be equal to sizeof(std::int32_t). "); + + static const bool has_popcount = has_popcount_support(); + return has_popcount + ? static_cast(__popcnt(static_cast(value))) + : fallback_popcount(value); +} + +#elif defined(__INTEL_COMPILER) +inline int popcountll(unsigned long long int value) { + static_assert(sizeof(unsigned long long int) == sizeof(__int64), ""); + return _popcnt64(static_cast<__int64>(value)); +} + +inline int popcount(unsigned int value) { + return _popcnt32(static_cast(value)); +} + +#else +inline int popcountll(unsigned long long int x) { + return fallback_popcountll(x); +} + +inline int popcount(unsigned int x) { return fallback_popcount(x); } + +#endif +} // namespace detail_popcount + +namespace detail_sparse_hash { + +template +struct make_void { + using type = void; +}; + +template +struct has_is_transparent : std::false_type {}; + +template +struct has_is_transparent::type> + : std::true_type {}; + +template +struct is_power_of_two_policy : std::false_type {}; + +template +struct is_power_of_two_policy> + : std::true_type {}; + +inline constexpr bool is_power_of_two(std::size_t value) { + return value != 0 && (value & (value - 1)) == 0; +} + +inline std::size_t round_up_to_power_of_two(std::size_t value) { + if (is_power_of_two(value)) { + return value; + } + + if (value == 0) { + return 1; + } + + --value; + for (std::size_t i = 1; i < sizeof(std::size_t) * CHAR_BIT; i *= 2) { + value |= value >> i; + } + + return value + 1; +} + +template +static T numeric_cast(U value, + const char *error_message = "numeric_cast() failed.") { + T ret = static_cast(value); + if (static_cast(ret) != value) { + throw std::runtime_error(error_message); + } + + const bool is_same_signedness = + (std::is_unsigned::value && std::is_unsigned::value) || + (std::is_signed::value && std::is_signed::value); + if (!is_same_signedness && (ret < T{}) != (value < U{})) { + throw std::runtime_error(error_message); + } + + return ret; +} + +/** + * Fixed size type used to represent size_type values on serialization. Need to + * be big enough to represent a std::size_t on 32 and 64 bits platforms, and + * must be the same size on both platforms. + */ +using slz_size_type = std::uint64_t; +static_assert(std::numeric_limits::max() >= + std::numeric_limits::max(), + "slz_size_type must be >= std::size_t"); + +template +static T deserialize_value(Deserializer &deserializer) { + // MSVC < 2017 is not conformant, circumvent the problem by removing the + // template keyword +#if defined(_MSC_VER) && _MSC_VER < 1910 + return deserializer.Deserializer::operator()(); +#else + return deserializer.Deserializer::template operator()(); +#endif +} + +/** + * WARNING: the sparse_array class doesn't free the ressources allocated through + * the allocator passed in parameter in each method. You have to manually call + * `clear(Allocator&)` when you don't need a sparse_array object anymore. + * + * The reason is that the sparse_array doesn't store the allocator to avoid + * wasting space in each sparse_array when the allocator has a size > 0. It only + * allocates/deallocates objects with the allocator that is passed in parameter. + * + * + * + * Index denotes a value between [0, BITMAP_NB_BITS), it is an index similar to + * std::vector. Offset denotes the real position in `m_values` corresponding to + * an index. + * + * We are using raw pointers instead of std::vector to avoid loosing + * 2*sizeof(size_t) bytes to store the capacity and size of the vector in each + * sparse_array. We know we can only store up to BITMAP_NB_BITS elements in the + * array, we don't need such big types. + * + * + * T must be nothrow move constructible and/or copy constructible. + * Behaviour is undefined if the destructor of T throws an exception. + * + * See https://smerity.com/articles/2015/google_sparsehash.html for details on + * the idea behinds the implementation. + * + * TODO Check to use std::realloc and std::memmove when possible + */ +template +class sparse_array { + public: + using value_type = T; + using size_type = std::uint_least8_t; + using allocator_type = Allocator; + using iterator = value_type *; + using const_iterator = const value_type *; + + private: + static const size_type CAPACITY_GROWTH_STEP = + (Sparsity == tsl::sh::sparsity::high) ? 2 + : (Sparsity == tsl::sh::sparsity::medium) + ? 4 + : 8; // (Sparsity == tsl::sh::sparsity::low) + + /** + * Bitmap size configuration. + * Use 32 bits for the bitmap on 32-bits or less environnement as popcount on + * 64 bits numbers is slow on these environnement. Use 64 bits bitmap + * otherwise. + */ +#if SIZE_MAX <= UINT32_MAX + using bitmap_type = std::uint_least32_t; + static const std::size_t BITMAP_NB_BITS = 32; + static const std::size_t BUCKET_SHIFT = 5; +#else + using bitmap_type = std::uint_least64_t; + static const std::size_t BITMAP_NB_BITS = 64; + static const std::size_t BUCKET_SHIFT = 6; +#endif + + static const std::size_t BUCKET_MASK = BITMAP_NB_BITS - 1; + + static_assert(is_power_of_two(BITMAP_NB_BITS), + "BITMAP_NB_BITS must be a power of two."); + static_assert(std::numeric_limits::digits >= BITMAP_NB_BITS, + "bitmap_type must be able to hold at least BITMAP_NB_BITS."); + static_assert((std::size_t(1) << BUCKET_SHIFT) == BITMAP_NB_BITS, + "(1 << BUCKET_SHIFT) must be equal to BITMAP_NB_BITS."); + static_assert(std::numeric_limits::max() >= BITMAP_NB_BITS, + "size_type must be big enough to hold BITMAP_NB_BITS."); + static_assert(std::is_unsigned::value, + "bitmap_type must be unsigned."); + static_assert((std::numeric_limits::max() & BUCKET_MASK) == + BITMAP_NB_BITS - 1, + ""); + + public: + /** + * Map an ibucket [0, bucket_count) in the hash table to a sparse_ibucket + * (a sparse_array holds multiple buckets, so there is less sparse_array than + * bucket_count). + * + * The bucket ibucket is in + * m_sparse_buckets[sparse_ibucket(ibucket)][index_in_sparse_bucket(ibucket)] + * instead of something like m_buckets[ibucket] in a classical hash table. + */ + static std::size_t sparse_ibucket(std::size_t ibucket) { + return ibucket >> BUCKET_SHIFT; + } + + /** + * Map an ibucket [0, bucket_count) in the hash table to an index in the + * sparse_array which corresponds to the bucket. + * + * The bucket ibucket is in + * m_sparse_buckets[sparse_ibucket(ibucket)][index_in_sparse_bucket(ibucket)] + * instead of something like m_buckets[ibucket] in a classical hash table. + */ + static typename sparse_array::size_type index_in_sparse_bucket( + std::size_t ibucket) { + return static_cast( + ibucket & sparse_array::BUCKET_MASK); + } + + static std::size_t nb_sparse_buckets(std::size_t bucket_count) noexcept { + if (bucket_count == 0) { + return 0; + } + + return std::max( + 1, sparse_ibucket(tsl::detail_sparse_hash::round_up_to_power_of_two( + bucket_count))); + } + + public: + sparse_array() noexcept + : m_values(nullptr), + m_bitmap_vals(0), + m_bitmap_deleted_vals(0), + m_nb_elements(0), + m_capacity(0), + m_last_array(false) {} + + explicit sparse_array(bool last_bucket) noexcept + : m_values(nullptr), + m_bitmap_vals(0), + m_bitmap_deleted_vals(0), + m_nb_elements(0), + m_capacity(0), + m_last_array(last_bucket) {} + + sparse_array(size_type capacity, Allocator &alloc) + : m_values(nullptr), + m_bitmap_vals(0), + m_bitmap_deleted_vals(0), + m_nb_elements(0), + m_capacity(capacity), + m_last_array(false) { + if (m_capacity > 0) { + m_values = alloc.allocate(m_capacity); + tsl_sh_assert(m_values != + nullptr); // allocate should throw if there is a failure + } + } + + sparse_array(const sparse_array &other, Allocator &alloc) + : m_values(nullptr), + m_bitmap_vals(other.m_bitmap_vals), + m_bitmap_deleted_vals(other.m_bitmap_deleted_vals), + m_nb_elements(0), + m_capacity(other.m_capacity), + m_last_array(other.m_last_array) { + tsl_sh_assert(other.m_capacity >= other.m_nb_elements); + if (m_capacity == 0) { + return; + } + + m_values = alloc.allocate(m_capacity); + tsl_sh_assert(m_values != + nullptr); // allocate should throw if there is a failure + try { + for (size_type i = 0; i < other.m_nb_elements; i++) { + construct_value(alloc, m_values + i, other.m_values[i]); + m_nb_elements++; + } + } catch (...) { + clear(alloc); + throw; + } + } + + sparse_array(sparse_array &&other) noexcept + : m_values(other.m_values), + m_bitmap_vals(other.m_bitmap_vals), + m_bitmap_deleted_vals(other.m_bitmap_deleted_vals), + m_nb_elements(other.m_nb_elements), + m_capacity(other.m_capacity), + m_last_array(other.m_last_array) { + other.m_values = nullptr; + other.m_bitmap_vals = 0; + other.m_bitmap_deleted_vals = 0; + other.m_nb_elements = 0; + other.m_capacity = 0; + } + + sparse_array(sparse_array &&other, Allocator &alloc) + : m_values(nullptr), + m_bitmap_vals(other.m_bitmap_vals), + m_bitmap_deleted_vals(other.m_bitmap_deleted_vals), + m_nb_elements(0), + m_capacity(other.m_capacity), + m_last_array(other.m_last_array) { + tsl_sh_assert(other.m_capacity >= other.m_nb_elements); + if (m_capacity == 0) { + return; + } + + m_values = alloc.allocate(m_capacity); + tsl_sh_assert(m_values != + nullptr); // allocate should throw if there is a failure + try { + for (size_type i = 0; i < other.m_nb_elements; i++) { + construct_value(alloc, m_values + i, std::move(other.m_values[i])); + m_nb_elements++; + } + } catch (...) { + clear(alloc); + throw; + } + } + + sparse_array &operator=(const sparse_array &) = delete; + sparse_array &operator=(sparse_array &&) = delete; + + ~sparse_array() noexcept { + // The code that manages the sparse_array must have called clear before + // destruction. See documentation of sparse_array for more details. + tsl_sh_assert(m_capacity == 0 && m_nb_elements == 0 && m_values == nullptr); + } + + iterator begin() noexcept { return m_values; } + iterator end() noexcept { return m_values + m_nb_elements; } + const_iterator begin() const noexcept { return cbegin(); } + const_iterator end() const noexcept { return cend(); } + const_iterator cbegin() const noexcept { return m_values; } + const_iterator cend() const noexcept { return m_values + m_nb_elements; } + + bool empty() const noexcept { return m_nb_elements == 0; } + + size_type size() const noexcept { return m_nb_elements; } + + void clear(allocator_type &alloc) noexcept { + destroy_and_deallocate_values(alloc, m_values, m_nb_elements, m_capacity); + + m_values = nullptr; + m_bitmap_vals = 0; + m_bitmap_deleted_vals = 0; + m_nb_elements = 0; + m_capacity = 0; + } + + bool last() const noexcept { return m_last_array; } + + void set_as_last() noexcept { m_last_array = true; } + + bool has_value(size_type index) const noexcept { + tsl_sh_assert(index < BITMAP_NB_BITS); + return (m_bitmap_vals & (bitmap_type(1) << index)) != 0; + } + + bool has_deleted_value(size_type index) const noexcept { + tsl_sh_assert(index < BITMAP_NB_BITS); + return (m_bitmap_deleted_vals & (bitmap_type(1) << index)) != 0; + } + + iterator value(size_type index) noexcept { + tsl_sh_assert(has_value(index)); + return m_values + index_to_offset(index); + } + + const_iterator value(size_type index) const noexcept { + tsl_sh_assert(has_value(index)); + return m_values + index_to_offset(index); + } + + /** + * Return iterator to set value. + */ + template + iterator set(allocator_type &alloc, size_type index, Args &&...value_args) { + tsl_sh_assert(!has_value(index)); + + const size_type offset = index_to_offset(index); + insert_at_offset(alloc, offset, std::forward(value_args)...); + + m_bitmap_vals = (m_bitmap_vals | (bitmap_type(1) << index)); + m_bitmap_deleted_vals = + (m_bitmap_deleted_vals & ~(bitmap_type(1) << index)); + + m_nb_elements++; + + tsl_sh_assert(has_value(index)); + tsl_sh_assert(!has_deleted_value(index)); + + return m_values + offset; + } + + iterator erase(allocator_type &alloc, iterator position) { + const size_type offset = + static_cast(std::distance(begin(), position)); + return erase(alloc, position, offset_to_index(offset)); + } + + // Return the next value or end if no next value + iterator erase(allocator_type &alloc, iterator position, size_type index) { + tsl_sh_assert(has_value(index)); + tsl_sh_assert(!has_deleted_value(index)); + + const size_type offset = + static_cast(std::distance(begin(), position)); + erase_at_offset(alloc, offset); + + m_bitmap_vals = (m_bitmap_vals & ~(bitmap_type(1) << index)); + m_bitmap_deleted_vals = (m_bitmap_deleted_vals | (bitmap_type(1) << index)); + + m_nb_elements--; + + tsl_sh_assert(!has_value(index)); + tsl_sh_assert(has_deleted_value(index)); + + return m_values + offset; + } + + void swap(sparse_array &other) { + using std::swap; + + swap(m_values, other.m_values); + swap(m_bitmap_vals, other.m_bitmap_vals); + swap(m_bitmap_deleted_vals, other.m_bitmap_deleted_vals); + swap(m_nb_elements, other.m_nb_elements); + swap(m_capacity, other.m_capacity); + swap(m_last_array, other.m_last_array); + } + + static iterator mutable_iterator(const_iterator pos) { + return const_cast(pos); + } + + template + void serialize(Serializer &serializer) const { + const slz_size_type sparse_bucket_size = m_nb_elements; + serializer(sparse_bucket_size); + + const slz_size_type bitmap_vals = m_bitmap_vals; + serializer(bitmap_vals); + + const slz_size_type bitmap_deleted_vals = m_bitmap_deleted_vals; + serializer(bitmap_deleted_vals); + + for (const value_type &value : *this) { + serializer(value); + } + } + + template + static sparse_array deserialize_hash_compatible(Deserializer &deserializer, + Allocator &alloc) { + const slz_size_type sparse_bucket_size = + deserialize_value(deserializer); + const slz_size_type bitmap_vals = + deserialize_value(deserializer); + const slz_size_type bitmap_deleted_vals = + deserialize_value(deserializer); + + if (sparse_bucket_size > BITMAP_NB_BITS) { + throw std::runtime_error( + "Deserialized sparse_bucket_size is too big for the platform. " + "Maximum should be BITMAP_NB_BITS."); + } + + sparse_array sarray; + if (sparse_bucket_size == 0) { + return sarray; + } + + sarray.m_bitmap_vals = numeric_cast( + bitmap_vals, "Deserialized bitmap_vals is too big."); + sarray.m_bitmap_deleted_vals = numeric_cast( + bitmap_deleted_vals, "Deserialized bitmap_deleted_vals is too big."); + + sarray.m_capacity = numeric_cast( + sparse_bucket_size, "Deserialized sparse_bucket_size is too big."); + sarray.m_values = alloc.allocate(sarray.m_capacity); + + try { + for (size_type ivalue = 0; ivalue < sarray.m_capacity; ivalue++) { + construct_value(alloc, sarray.m_values + ivalue, + deserialize_value(deserializer)); + sarray.m_nb_elements++; + } + } catch (...) { + sarray.clear(alloc); + throw; + } + + return sarray; + } + + /** + * Deserialize the values of the bucket and insert them all in sparse_hash + * through sparse_hash.insert(...). + */ + template + static void deserialize_values_into_sparse_hash(Deserializer &deserializer, + SparseHash &sparse_hash) { + const slz_size_type sparse_bucket_size = + deserialize_value(deserializer); + + const slz_size_type bitmap_vals = + deserialize_value(deserializer); + static_cast(bitmap_vals); // Ignore, not needed + + const slz_size_type bitmap_deleted_vals = + deserialize_value(deserializer); + static_cast(bitmap_deleted_vals); // Ignore, not needed + + for (slz_size_type ivalue = 0; ivalue < sparse_bucket_size; ivalue++) { + sparse_hash.insert(deserialize_value(deserializer)); + } + } + + private: + template + static void construct_value(allocator_type &alloc, value_type *value, + Args &&...value_args) { + std::allocator_traits::construct( + alloc, value, std::forward(value_args)...); + } + + static void destroy_value(allocator_type &alloc, value_type *value) noexcept { + std::allocator_traits::destroy(alloc, value); + } + + static void destroy_and_deallocate_values( + allocator_type &alloc, value_type *values, size_type nb_values, + size_type capacity_values) noexcept { + for (size_type i = 0; i < nb_values; i++) { + destroy_value(alloc, values + i); + } + + alloc.deallocate(values, capacity_values); + } + + static size_type popcount(bitmap_type val) noexcept { + if (sizeof(bitmap_type) <= sizeof(unsigned int)) { + return static_cast( + tsl::detail_popcount::popcount(static_cast(val))); + } else { + return static_cast(tsl::detail_popcount::popcountll(val)); + } + } + + size_type index_to_offset(size_type index) const noexcept { + tsl_sh_assert(index < BITMAP_NB_BITS); + return popcount(m_bitmap_vals & + ((bitmap_type(1) << index) - bitmap_type(1))); + } + + // TODO optimize + size_type offset_to_index(size_type offset) const noexcept { + tsl_sh_assert(offset < m_nb_elements); + + bitmap_type bitmap_vals = m_bitmap_vals; + size_type index = 0; + size_type nb_ones = 0; + + while (bitmap_vals != 0) { + if ((bitmap_vals & 0x1) == 1) { + if (nb_ones == offset) { + break; + } + + nb_ones++; + } + + index++; + bitmap_vals = bitmap_vals >> 1; + } + + return index; + } + + size_type next_capacity() const noexcept { + return static_cast(m_capacity + CAPACITY_GROWTH_STEP); + } + + /** + * Insertion + * + * Two situations: + * - Either we are in a situation where + * std::is_nothrow_move_constructible::value is true. In this + * case, on insertion we just reallocate m_values when we reach its capacity + * (i.e. m_nb_elements == m_capacity), otherwise we just put the new value at + * its appropriate place. We can easily keep the strong exception guarantee as + * moving the values around is safe. + * - Otherwise we are in a situation where + * std::is_nothrow_move_constructible::value is false. In this + * case on EACH insertion we allocate a new area of m_nb_elements + 1 where we + * copy the values of m_values into it and put the new value there. On + * success, we set m_values to this new area. Even if slower, it's the only + * way to preserve to strong exception guarantee. + */ + template ::value>::type * = nullptr> + void insert_at_offset(allocator_type &alloc, size_type offset, + Args &&...value_args) { + if (m_nb_elements < m_capacity) { + insert_at_offset_no_realloc(alloc, offset, + std::forward(value_args)...); + } else { + insert_at_offset_realloc(alloc, offset, next_capacity(), + std::forward(value_args)...); + } + } + + template ::value>::type * = nullptr> + void insert_at_offset(allocator_type &alloc, size_type offset, + Args &&...value_args) { + insert_at_offset_realloc(alloc, offset, m_nb_elements + 1, + std::forward(value_args)...); + } + + template ::value>::type * = nullptr> + void insert_at_offset_no_realloc(allocator_type &alloc, size_type offset, + Args &&...value_args) { + tsl_sh_assert(offset <= m_nb_elements); + tsl_sh_assert(m_nb_elements < m_capacity); + + for (size_type i = m_nb_elements; i > offset; i--) { + construct_value(alloc, m_values + i, std::move(m_values[i - 1])); + destroy_value(alloc, m_values + i - 1); + } + + try { + construct_value(alloc, m_values + offset, + std::forward(value_args)...); + } catch (...) { + for (size_type i = offset; i < m_nb_elements; i++) { + construct_value(alloc, m_values + i, std::move(m_values[i + 1])); + destroy_value(alloc, m_values + i + 1); + } + throw; + } + } + + template ::value>::type * = nullptr> + void insert_at_offset_realloc(allocator_type &alloc, size_type offset, + size_type new_capacity, Args &&...value_args) { + tsl_sh_assert(new_capacity > m_nb_elements); + + value_type *new_values = alloc.allocate(new_capacity); + // Allocate should throw if there is a failure + tsl_sh_assert(new_values != nullptr); + + try { + construct_value(alloc, new_values + offset, + std::forward(value_args)...); + } catch (...) { + alloc.deallocate(new_values, new_capacity); + throw; + } + + // Should not throw from here + for (size_type i = 0; i < offset; i++) { + construct_value(alloc, new_values + i, std::move(m_values[i])); + } + + for (size_type i = offset; i < m_nb_elements; i++) { + construct_value(alloc, new_values + i + 1, std::move(m_values[i])); + } + + destroy_and_deallocate_values(alloc, m_values, m_nb_elements, m_capacity); + + m_values = new_values; + m_capacity = new_capacity; + } + + template ::value>::type * = nullptr> + void insert_at_offset_realloc(allocator_type &alloc, size_type offset, + size_type new_capacity, Args &&...value_args) { + tsl_sh_assert(new_capacity > m_nb_elements); + + value_type *new_values = alloc.allocate(new_capacity); + // Allocate should throw if there is a failure + tsl_sh_assert(new_values != nullptr); + + size_type nb_new_values = 0; + try { + for (size_type i = 0; i < offset; i++) { + construct_value(alloc, new_values + i, m_values[i]); + nb_new_values++; + } + + construct_value(alloc, new_values + offset, + std::forward(value_args)...); + nb_new_values++; + + for (size_type i = offset; i < m_nb_elements; i++) { + construct_value(alloc, new_values + i + 1, m_values[i]); + nb_new_values++; + } + } catch (...) { + destroy_and_deallocate_values(alloc, new_values, nb_new_values, + new_capacity); + throw; + } + + tsl_sh_assert(nb_new_values == m_nb_elements + 1); + + destroy_and_deallocate_values(alloc, m_values, m_nb_elements, m_capacity); + + m_values = new_values; + m_capacity = new_capacity; + } + + /** + * Erasure + * + * Two situations: + * - Either we are in a situation where + * std::is_nothrow_move_constructible::value is true. Simply + * destroy the value and left-shift move the value on the right of offset. + * - Otherwise we are in a situation where + * std::is_nothrow_move_constructible::value is false. Copy all + * the values except the one at offset into a new heap area. On success, we + * set m_values to this new area. Even if slower, it's the only way to + * preserve to strong exception guarantee. + */ + template ::value>::type * = nullptr> + void erase_at_offset(allocator_type &alloc, size_type offset) noexcept { + tsl_sh_assert(offset < m_nb_elements); + + destroy_value(alloc, m_values + offset); + + for (size_type i = offset + 1; i < m_nb_elements; i++) { + construct_value(alloc, m_values + i - 1, std::move(m_values[i])); + destroy_value(alloc, m_values + i); + } + } + + template ::value>::type * = nullptr> + void erase_at_offset(allocator_type &alloc, size_type offset) { + tsl_sh_assert(offset < m_nb_elements); + + // Erasing the last element, don't need to reallocate. We keep the capacity. + if (offset + 1 == m_nb_elements) { + destroy_value(alloc, m_values + offset); + return; + } + + tsl_sh_assert(m_nb_elements > 1); + const size_type new_capacity = m_nb_elements - 1; + + value_type *new_values = alloc.allocate(new_capacity); + // Allocate should throw if there is a failure + tsl_sh_assert(new_values != nullptr); + + size_type nb_new_values = 0; + try { + for (size_type i = 0; i < m_nb_elements; i++) { + if (i != offset) { + construct_value(alloc, new_values + nb_new_values, m_values[i]); + nb_new_values++; + } + } + } catch (...) { + destroy_and_deallocate_values(alloc, new_values, nb_new_values, + new_capacity); + throw; + } + + tsl_sh_assert(nb_new_values == m_nb_elements - 1); + + destroy_and_deallocate_values(alloc, m_values, m_nb_elements, m_capacity); + + m_values = new_values; + m_capacity = new_capacity; + } + + private: + value_type *m_values; + + bitmap_type m_bitmap_vals; + bitmap_type m_bitmap_deleted_vals; + + size_type m_nb_elements; + size_type m_capacity; + bool m_last_array; +}; + +/** + * Internal common class used by `sparse_map` and `sparse_set`. + * + * `ValueType` is what will be stored by `sparse_hash` (usually `std::pair` for map and `Key` for set). + * + * `KeySelect` should be a `FunctionObject` which takes a `ValueType` in + * parameter and returns a reference to the key. + * + * `ValueSelect` should be a `FunctionObject` which takes a `ValueType` in + * parameter and returns a reference to the value. `ValueSelect` should be void + * if there is no value (in a set for example). + * + * The strong exception guarantee only holds if `ExceptionSafety` is set to + * `tsl::sh::exception_safety::strong`. + * + * `ValueType` must be nothrow move constructible and/or copy constructible. + * Behaviour is undefined if the destructor of `ValueType` throws. + * + * + * The class holds its buckets in a 2-dimensional fashion. Instead of having a + * linear `std::vector` for [0, bucket_count) where each bucket stores + * one value, we have a `std::vector` (m_sparse_buckets_data) + * where each `sparse_array` stores multiple values (up to + * `sparse_array::BITMAP_NB_BITS`). To convert a one dimensional `ibucket` + * position to a position in `std::vector` and a position in + * `sparse_array`, use respectively the methods + * `sparse_array::sparse_ibucket(ibucket)` and + * `sparse_array::index_in_sparse_bucket(ibucket)`. + */ +template +class sparse_hash : private Allocator, + private Hash, + private KeyEqual, + private GrowthPolicy { + private: + template + using has_mapped_type = + typename std::integral_constant::value>; + + static_assert( + noexcept(std::declval().bucket_for_hash(std::size_t(0))), + "GrowthPolicy::bucket_for_hash must be noexcept."); + static_assert(noexcept(std::declval().clear()), + "GrowthPolicy::clear must be noexcept."); + + public: + template + class sparse_iterator; + + using key_type = typename KeySelect::key_type; + using value_type = ValueType; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + using hasher = Hash; + using key_equal = KeyEqual; + using allocator_type = Allocator; + using reference = value_type &; + using const_reference = const value_type &; + using pointer = value_type *; + using const_pointer = const value_type *; + using iterator = sparse_iterator; + using const_iterator = sparse_iterator; + + private: + using sparse_array = + tsl::detail_sparse_hash::sparse_array; + + using sparse_buckets_allocator = typename std::allocator_traits< + allocator_type>::template rebind_alloc; + using sparse_buckets_container = + std::vector; + + public: + /** + * The `operator*()` and `operator->()` methods return a const reference and + * const pointer respectively to the stored value type (`Key` for a set, + * `std::pair` for a map). + * + * In case of a map, to get a mutable reference to the value `T` associated to + * a key (the `.second` in the stored pair), you have to call `value()`. + */ + template + class sparse_iterator { + friend class sparse_hash; + + private: + using sparse_bucket_iterator = typename std::conditional< + IsConst, typename sparse_buckets_container::const_iterator, + typename sparse_buckets_container::iterator>::type; + + using sparse_array_iterator = + typename std::conditional::type; + + /** + * sparse_array_it should be nullptr if sparse_bucket_it == + * m_sparse_buckets_data.end(). (TODO better way?) + */ + sparse_iterator(sparse_bucket_iterator sparse_bucket_it, + sparse_array_iterator sparse_array_it) + : m_sparse_buckets_it(sparse_bucket_it), + m_sparse_array_it(sparse_array_it) {} + + public: + using iterator_category = std::forward_iterator_tag; + using value_type = const typename sparse_hash::value_type; + using difference_type = std::ptrdiff_t; + using reference = value_type &; + using pointer = value_type *; + + sparse_iterator() noexcept {} + + // Copy constructor from iterator to const_iterator. + template ::type * = nullptr> + sparse_iterator(const sparse_iterator &other) noexcept + : m_sparse_buckets_it(other.m_sparse_buckets_it), + m_sparse_array_it(other.m_sparse_array_it) {} + + sparse_iterator(const sparse_iterator &other) = default; + sparse_iterator(sparse_iterator &&other) = default; + sparse_iterator &operator=(const sparse_iterator &other) = default; + sparse_iterator &operator=(sparse_iterator &&other) = default; + + const typename sparse_hash::key_type &key() const { + return KeySelect()(*m_sparse_array_it); + } + + template ::value && + IsConst>::type * = nullptr> + const typename U::value_type &value() const { + return U()(*m_sparse_array_it); + } + + template ::value && + !IsConst>::type * = nullptr> + typename U::value_type &value() { + return U()(*m_sparse_array_it); + } + + reference operator*() const { return *m_sparse_array_it; } + + pointer operator->() const { return std::addressof(*m_sparse_array_it); } + + sparse_iterator &operator++() { + tsl_sh_assert(m_sparse_array_it != nullptr); + ++m_sparse_array_it; + + if (m_sparse_array_it == m_sparse_buckets_it->end()) { + do { + if (m_sparse_buckets_it->last()) { + ++m_sparse_buckets_it; + m_sparse_array_it = nullptr; + return *this; + } + + ++m_sparse_buckets_it; + } while (m_sparse_buckets_it->empty()); + + m_sparse_array_it = m_sparse_buckets_it->begin(); + } + + return *this; + } + + sparse_iterator operator++(int) { + sparse_iterator tmp(*this); + ++*this; + + return tmp; + } + + friend bool operator==(const sparse_iterator &lhs, + const sparse_iterator &rhs) { + return lhs.m_sparse_buckets_it == rhs.m_sparse_buckets_it && + lhs.m_sparse_array_it == rhs.m_sparse_array_it; + } + + friend bool operator!=(const sparse_iterator &lhs, + const sparse_iterator &rhs) { + return !(lhs == rhs); + } + + private: + sparse_bucket_iterator m_sparse_buckets_it; + sparse_array_iterator m_sparse_array_it; + }; + + public: + sparse_hash(size_type bucket_count, const Hash &hash, const KeyEqual &equal, + const Allocator &alloc, float max_load_factor) + : Allocator(alloc), + Hash(hash), + KeyEqual(equal), + GrowthPolicy(bucket_count), + m_sparse_buckets_data(alloc), + m_sparse_buckets(static_empty_sparse_bucket_ptr()), + m_bucket_count(bucket_count), + m_nb_elements(0), + m_nb_deleted_buckets(0) { + if (m_bucket_count > max_bucket_count()) { + throw std::length_error("The map exceeds its maximum size."); + } + + if (m_bucket_count > 0) { + /* + * We can't use the `vector(size_type count, const Allocator& alloc)` + * constructor as it's only available in C++14 and we need to support + * C++11. We thus must resize after using the `vector(const Allocator& + * alloc)` constructor. + * + * We can't use `vector(size_type count, const T& value, const Allocator& + * alloc)` as it requires the value T to be copyable. + */ + m_sparse_buckets_data.resize( + sparse_array::nb_sparse_buckets(bucket_count)); + m_sparse_buckets = m_sparse_buckets_data.data(); + + tsl_sh_assert(!m_sparse_buckets_data.empty()); + m_sparse_buckets_data.back().set_as_last(); + } + + this->max_load_factor(max_load_factor); + + // Check in the constructor instead of outside of a function to avoid + // compilation issues when value_type is not complete. + static_assert(std::is_nothrow_move_constructible::value || + std::is_copy_constructible::value, + "Key, and T if present, must be nothrow move constructible " + "and/or copy constructible."); + } + + ~sparse_hash() { clear(); } + + sparse_hash(const sparse_hash &other) + : Allocator(std::allocator_traits< + Allocator>::select_on_container_copy_construction(other)), + Hash(other), + KeyEqual(other), + GrowthPolicy(other), + m_sparse_buckets_data( + std::allocator_traits< + Allocator>::select_on_container_copy_construction(other)), + m_bucket_count(other.m_bucket_count), + m_nb_elements(other.m_nb_elements), + m_nb_deleted_buckets(other.m_nb_deleted_buckets), + m_load_threshold_rehash(other.m_load_threshold_rehash), + m_load_threshold_clear_deleted(other.m_load_threshold_clear_deleted), + m_max_load_factor(other.m_max_load_factor) { + copy_buckets_from(other), + m_sparse_buckets = m_sparse_buckets_data.empty() + ? static_empty_sparse_bucket_ptr() + : m_sparse_buckets_data.data(); + } + + sparse_hash(sparse_hash &&other) noexcept( + std::is_nothrow_move_constructible::value + &&std::is_nothrow_move_constructible::value + &&std::is_nothrow_move_constructible::value + &&std::is_nothrow_move_constructible::value + &&std::is_nothrow_move_constructible< + sparse_buckets_container>::value) + : Allocator(std::move(other)), + Hash(std::move(other)), + KeyEqual(std::move(other)), + GrowthPolicy(std::move(other)), + m_sparse_buckets_data(std::move(other.m_sparse_buckets_data)), + m_sparse_buckets(m_sparse_buckets_data.empty() + ? static_empty_sparse_bucket_ptr() + : m_sparse_buckets_data.data()), + m_bucket_count(other.m_bucket_count), + m_nb_elements(other.m_nb_elements), + m_nb_deleted_buckets(other.m_nb_deleted_buckets), + m_load_threshold_rehash(other.m_load_threshold_rehash), + m_load_threshold_clear_deleted(other.m_load_threshold_clear_deleted), + m_max_load_factor(other.m_max_load_factor) { + other.GrowthPolicy::clear(); + other.m_sparse_buckets_data.clear(); + other.m_sparse_buckets = static_empty_sparse_bucket_ptr(); + other.m_bucket_count = 0; + other.m_nb_elements = 0; + other.m_nb_deleted_buckets = 0; + other.m_load_threshold_rehash = 0; + other.m_load_threshold_clear_deleted = 0; + } + + sparse_hash &operator=(const sparse_hash &other) { + if (this != &other) { + clear(); + + if (std::allocator_traits< + Allocator>::propagate_on_container_copy_assignment::value) { + Allocator::operator=(other); + } + + Hash::operator=(other); + KeyEqual::operator=(other); + GrowthPolicy::operator=(other); + + if (std::allocator_traits< + Allocator>::propagate_on_container_copy_assignment::value) { + m_sparse_buckets_data = + sparse_buckets_container(static_cast(other)); + } else { + if (m_sparse_buckets_data.size() != + other.m_sparse_buckets_data.size()) { + m_sparse_buckets_data = + sparse_buckets_container(static_cast(*this)); + } else { + m_sparse_buckets_data.clear(); + } + } + + copy_buckets_from(other); + m_sparse_buckets = m_sparse_buckets_data.empty() + ? static_empty_sparse_bucket_ptr() + : m_sparse_buckets_data.data(); + + m_bucket_count = other.m_bucket_count; + m_nb_elements = other.m_nb_elements; + m_nb_deleted_buckets = other.m_nb_deleted_buckets; + m_load_threshold_rehash = other.m_load_threshold_rehash; + m_load_threshold_clear_deleted = other.m_load_threshold_clear_deleted; + m_max_load_factor = other.m_max_load_factor; + } + + return *this; + } + + sparse_hash &operator=(sparse_hash &&other) { + clear(); + + if (std::allocator_traits< + Allocator>::propagate_on_container_move_assignment::value) { + static_cast(*this) = + std::move(static_cast(other)); + m_sparse_buckets_data = std::move(other.m_sparse_buckets_data); + } else if (static_cast(*this) != + static_cast(other)) { + move_buckets_from(std::move(other)); + } else { + static_cast(*this) = + std::move(static_cast(other)); + m_sparse_buckets_data = std::move(other.m_sparse_buckets_data); + } + + m_sparse_buckets = m_sparse_buckets_data.empty() + ? static_empty_sparse_bucket_ptr() + : m_sparse_buckets_data.data(); + + static_cast(*this) = std::move(static_cast(other)); + static_cast(*this) = std::move(static_cast(other)); + static_cast(*this) = + std::move(static_cast(other)); + m_bucket_count = other.m_bucket_count; + m_nb_elements = other.m_nb_elements; + m_nb_deleted_buckets = other.m_nb_deleted_buckets; + m_load_threshold_rehash = other.m_load_threshold_rehash; + m_load_threshold_clear_deleted = other.m_load_threshold_clear_deleted; + m_max_load_factor = other.m_max_load_factor; + + other.GrowthPolicy::clear(); + other.m_sparse_buckets_data.clear(); + other.m_sparse_buckets = static_empty_sparse_bucket_ptr(); + other.m_bucket_count = 0; + other.m_nb_elements = 0; + other.m_nb_deleted_buckets = 0; + other.m_load_threshold_rehash = 0; + other.m_load_threshold_clear_deleted = 0; + + return *this; + } + + allocator_type get_allocator() const { + return static_cast(*this); + } + + /* + * Iterators + */ + iterator begin() noexcept { + auto begin = m_sparse_buckets_data.begin(); + while (begin != m_sparse_buckets_data.end() && begin->empty()) { + ++begin; + } + + return iterator(begin, (begin != m_sparse_buckets_data.end()) + ? begin->begin() + : nullptr); + } + + const_iterator begin() const noexcept { return cbegin(); } + + const_iterator cbegin() const noexcept { + auto begin = m_sparse_buckets_data.cbegin(); + while (begin != m_sparse_buckets_data.cend() && begin->empty()) { + ++begin; + } + + return const_iterator(begin, (begin != m_sparse_buckets_data.cend()) + ? begin->cbegin() + : nullptr); + } + + iterator end() noexcept { + return iterator(m_sparse_buckets_data.end(), nullptr); + } + + const_iterator end() const noexcept { return cend(); } + + const_iterator cend() const noexcept { + return const_iterator(m_sparse_buckets_data.cend(), nullptr); + } + + /* + * Capacity + */ + bool empty() const noexcept { return m_nb_elements == 0; } + + size_type size() const noexcept { return m_nb_elements; } + + size_type max_size() const noexcept { + return std::min(std::allocator_traits::max_size(), + m_sparse_buckets_data.max_size()); + } + + /* + * Modifiers + */ + void clear() noexcept { + for (auto &bucket : m_sparse_buckets_data) { + bucket.clear(*this); + } + + m_nb_elements = 0; + m_nb_deleted_buckets = 0; + } + + template + std::pair insert(P &&value) { + return insert_impl(KeySelect()(value), std::forward

(value)); + } + + template + iterator insert_hint(const_iterator hint, P &&value) { + if (hint != cend() && + compare_keys(KeySelect()(*hint), KeySelect()(value))) { + return mutable_iterator(hint); + } + + return insert(std::forward

(value)).first; + } + + template + void insert(InputIt first, InputIt last) { + if (std::is_base_of< + std::forward_iterator_tag, + typename std::iterator_traits::iterator_category>::value) { + const auto nb_elements_insert = std::distance(first, last); + const size_type nb_free_buckets = m_load_threshold_rehash - size(); + tsl_sh_assert(m_load_threshold_rehash >= size()); + + if (nb_elements_insert > 0 && + nb_free_buckets < size_type(nb_elements_insert)) { + reserve(size() + size_type(nb_elements_insert)); + } + } + + for (; first != last; ++first) { + insert(*first); + } + } + + template + std::pair insert_or_assign(K &&key, M &&obj) { + auto it = try_emplace(std::forward(key), std::forward(obj)); + if (!it.second) { + it.first.value() = std::forward(obj); + } + + return it; + } + + template + iterator insert_or_assign(const_iterator hint, K &&key, M &&obj) { + if (hint != cend() && compare_keys(KeySelect()(*hint), key)) { + auto it = mutable_iterator(hint); + it.value() = std::forward(obj); + + return it; + } + + return insert_or_assign(std::forward(key), std::forward(obj)).first; + } + + template + std::pair emplace(Args &&...args) { + return insert(value_type(std::forward(args)...)); + } + + template + iterator emplace_hint(const_iterator hint, Args &&...args) { + return insert_hint(hint, value_type(std::forward(args)...)); + } + + template + std::pair try_emplace(K &&key, Args &&...args) { + return insert_impl(key, std::piecewise_construct, + std::forward_as_tuple(std::forward(key)), + std::forward_as_tuple(std::forward(args)...)); + } + + template + iterator try_emplace_hint(const_iterator hint, K &&key, Args &&...args) { + if (hint != cend() && compare_keys(KeySelect()(*hint), key)) { + return mutable_iterator(hint); + } + + return try_emplace(std::forward(key), std::forward(args)...).first; + } + + /** + * Here to avoid `template size_type erase(const K& key)` being used + * when we use an iterator instead of a const_iterator. + */ + iterator erase(iterator pos) { + tsl_sh_assert(pos != end() && m_nb_elements > 0); + auto it_sparse_array_next = + pos.m_sparse_buckets_it->erase(*this, pos.m_sparse_array_it); + m_nb_elements--; + m_nb_deleted_buckets++; + + if (it_sparse_array_next == pos.m_sparse_buckets_it->end()) { + auto it_sparse_buckets_next = pos.m_sparse_buckets_it; + do { + ++it_sparse_buckets_next; + } while (it_sparse_buckets_next != m_sparse_buckets_data.end() && + it_sparse_buckets_next->empty()); + + if (it_sparse_buckets_next == m_sparse_buckets_data.end()) { + return end(); + } else { + return iterator(it_sparse_buckets_next, + it_sparse_buckets_next->begin()); + } + } else { + return iterator(pos.m_sparse_buckets_it, it_sparse_array_next); + } + } + + iterator erase(const_iterator pos) { return erase(mutable_iterator(pos)); } + + iterator erase(const_iterator first, const_iterator last) { + if (first == last) { + return mutable_iterator(first); + } + + // TODO Optimize, could avoid the call to std::distance. + const size_type nb_elements_to_erase = + static_cast(std::distance(first, last)); + auto to_delete = mutable_iterator(first); + for (size_type i = 0; i < nb_elements_to_erase; i++) { + to_delete = erase(to_delete); + } + + return to_delete; + } + + template + size_type erase(const K &key) { + return erase(key, hash_key(key)); + } + + template + size_type erase(const K &key, std::size_t hash) { + return erase_impl(key, hash); + } + + void swap(sparse_hash &other) { + using std::swap; + + if (std::allocator_traits::propagate_on_container_swap::value) { + swap(static_cast(*this), static_cast(other)); + } else { + tsl_sh_assert(static_cast(*this) == + static_cast(other)); + } + + swap(static_cast(*this), static_cast(other)); + swap(static_cast(*this), static_cast(other)); + swap(static_cast(*this), + static_cast(other)); + swap(m_sparse_buckets_data, other.m_sparse_buckets_data); + swap(m_sparse_buckets, other.m_sparse_buckets); + swap(m_bucket_count, other.m_bucket_count); + swap(m_nb_elements, other.m_nb_elements); + swap(m_nb_deleted_buckets, other.m_nb_deleted_buckets); + swap(m_load_threshold_rehash, other.m_load_threshold_rehash); + swap(m_load_threshold_clear_deleted, other.m_load_threshold_clear_deleted); + swap(m_max_load_factor, other.m_max_load_factor); + } + + /* + * Lookup + */ + template < + class K, class U = ValueSelect, + typename std::enable_if::value>::type * = nullptr> + typename U::value_type &at(const K &key) { + return at(key, hash_key(key)); + } + + template < + class K, class U = ValueSelect, + typename std::enable_if::value>::type * = nullptr> + typename U::value_type &at(const K &key, std::size_t hash) { + return const_cast( + static_cast(this)->at(key, hash)); + } + + template < + class K, class U = ValueSelect, + typename std::enable_if::value>::type * = nullptr> + const typename U::value_type &at(const K &key) const { + return at(key, hash_key(key)); + } + + template < + class K, class U = ValueSelect, + typename std::enable_if::value>::type * = nullptr> + const typename U::value_type &at(const K &key, std::size_t hash) const { + auto it = find(key, hash); + if (it != cend()) { + return it.value(); + } else { + throw std::out_of_range("Couldn't find key."); + } + } + + template < + class K, class U = ValueSelect, + typename std::enable_if::value>::type * = nullptr> + typename U::value_type &operator[](K &&key) { + return try_emplace(std::forward(key)).first.value(); + } + + template + bool contains(const K &key) const { + return contains(key, hash_key(key)); + } + + template + bool contains(const K &key, std::size_t hash) const { + return count(key, hash) != 0; + } + + template + size_type count(const K &key) const { + return count(key, hash_key(key)); + } + + template + size_type count(const K &key, std::size_t hash) const { + if (find(key, hash) != cend()) { + return 1; + } else { + return 0; + } + } + + template + iterator find(const K &key) { + return find_impl(key, hash_key(key)); + } + + template + iterator find(const K &key, std::size_t hash) { + return find_impl(key, hash); + } + + template + const_iterator find(const K &key) const { + return find_impl(key, hash_key(key)); + } + + template + const_iterator find(const K &key, std::size_t hash) const { + return find_impl(key, hash); + } + + template + std::pair equal_range(const K &key) { + return equal_range(key, hash_key(key)); + } + + template + std::pair equal_range(const K &key, std::size_t hash) { + iterator it = find(key, hash); + return std::make_pair(it, (it == end()) ? it : std::next(it)); + } + + template + std::pair equal_range(const K &key) const { + return equal_range(key, hash_key(key)); + } + + template + std::pair equal_range( + const K &key, std::size_t hash) const { + const_iterator it = find(key, hash); + return std::make_pair(it, (it == cend()) ? it : std::next(it)); + } + + /* + * Bucket interface + */ + size_type bucket_count() const { return m_bucket_count; } + + size_type max_bucket_count() const { + return m_sparse_buckets_data.max_size(); + } + + /* + * Hash policy + */ + float load_factor() const { + if (bucket_count() == 0) { + return 0; + } + + return float(m_nb_elements) / float(bucket_count()); + } + + float max_load_factor() const { return m_max_load_factor; } + + void max_load_factor(float ml) { + m_max_load_factor = std::max(0.1f, std::min(ml, 0.8f)); + m_load_threshold_rehash = + size_type(float(bucket_count()) * m_max_load_factor); + + const float max_load_factor_with_deleted_buckets = + m_max_load_factor + 0.5f * (1.0f - m_max_load_factor); + tsl_sh_assert(max_load_factor_with_deleted_buckets > 0.0f && + max_load_factor_with_deleted_buckets <= 1.0f); + m_load_threshold_clear_deleted = + size_type(float(bucket_count()) * max_load_factor_with_deleted_buckets); + } + + void rehash(size_type count) { + count = std::max(count, + size_type(std::ceil(float(size()) / max_load_factor()))); + rehash_impl(count); + } + + void reserve(size_type count) { + rehash(size_type(std::ceil(float(count) / max_load_factor()))); + } + + /* + * Observers + */ + hasher hash_function() const { return static_cast(*this); } + + key_equal key_eq() const { return static_cast(*this); } + + /* + * Other + */ + iterator mutable_iterator(const_iterator pos) { + auto it_sparse_buckets = + m_sparse_buckets_data.begin() + + std::distance(m_sparse_buckets_data.cbegin(), pos.m_sparse_buckets_it); + + return iterator(it_sparse_buckets, + sparse_array::mutable_iterator(pos.m_sparse_array_it)); + } + + template + void serialize(Serializer &serializer) const { + serialize_impl(serializer); + } + + template + void deserialize(Deserializer &deserializer, bool hash_compatible) { + deserialize_impl(deserializer, hash_compatible); + } + + private: + template + std::size_t hash_key(const K &key) const { + return Hash::operator()(key); + } + + template + bool compare_keys(const K1 &key1, const K2 &key2) const { + return KeyEqual::operator()(key1, key2); + } + + size_type bucket_for_hash(std::size_t hash) const { + const std::size_t bucket = GrowthPolicy::bucket_for_hash(hash); + tsl_sh_assert(sparse_array::sparse_ibucket(bucket) < + m_sparse_buckets_data.size() || + (bucket == 0 && m_sparse_buckets_data.empty())); + + return bucket; + } + + template ::value>::type * = + nullptr> + size_type next_bucket(size_type ibucket, size_type iprobe) const { + (void)iprobe; + if (Probing == tsl::sh::probing::linear) { + return (ibucket + 1) & this->m_mask; + } else { + tsl_sh_assert(Probing == tsl::sh::probing::quadratic); + return (ibucket + iprobe) & this->m_mask; + } + } + + template ::value>::type * = + nullptr> + size_type next_bucket(size_type ibucket, size_type iprobe) const { + (void)iprobe; + if (Probing == tsl::sh::probing::linear) { + ibucket++; + return (ibucket != bucket_count()) ? ibucket : 0; + } else { + tsl_sh_assert(Probing == tsl::sh::probing::quadratic); + ibucket += iprobe; + return (ibucket < bucket_count()) ? ibucket : ibucket % bucket_count(); + } + } + + // TODO encapsulate m_sparse_buckets_data to avoid the managing the allocator + void copy_buckets_from(const sparse_hash &other) { + m_sparse_buckets_data.reserve(other.m_sparse_buckets_data.size()); + + try { + for (const auto &bucket : other.m_sparse_buckets_data) { + m_sparse_buckets_data.emplace_back(bucket, + static_cast(*this)); + } + } catch (...) { + clear(); + throw; + } + + tsl_sh_assert(m_sparse_buckets_data.empty() || + m_sparse_buckets_data.back().last()); + } + + void move_buckets_from(sparse_hash &&other) { + m_sparse_buckets_data.reserve(other.m_sparse_buckets_data.size()); + + try { + for (auto &&bucket : other.m_sparse_buckets_data) { + m_sparse_buckets_data.emplace_back(std::move(bucket), + static_cast(*this)); + } + } catch (...) { + clear(); + throw; + } + + tsl_sh_assert(m_sparse_buckets_data.empty() || + m_sparse_buckets_data.back().last()); + } + + template + std::pair insert_impl(const K &key, + Args &&...value_type_args) { + if (size() >= m_load_threshold_rehash) { + rehash_impl(GrowthPolicy::next_bucket_count()); + } else if (size() + m_nb_deleted_buckets >= + m_load_threshold_clear_deleted) { + clear_deleted_buckets(); + } + tsl_sh_assert(!m_sparse_buckets_data.empty()); + + /** + * We must insert the value in the first empty or deleted bucket we find. If + * we first find a deleted bucket, we still have to continue the search + * until we find an empty bucket or until we have searched all the buckets + * to be sure that the value is not in the hash table. We thus remember the + * position, if any, of the first deleted bucket we have encountered so we + * can insert it there if needed. + */ + bool found_first_deleted_bucket = false; + std::size_t sparse_ibucket_first_deleted = 0; + typename sparse_array::size_type index_in_sparse_bucket_first_deleted = 0; + + const std::size_t hash = hash_key(key); + std::size_t ibucket = bucket_for_hash(hash); + + std::size_t probe = 0; + while (true) { + std::size_t sparse_ibucket = sparse_array::sparse_ibucket(ibucket); + auto index_in_sparse_bucket = + sparse_array::index_in_sparse_bucket(ibucket); + + if (m_sparse_buckets[sparse_ibucket].has_value(index_in_sparse_bucket)) { + auto value_it = + m_sparse_buckets[sparse_ibucket].value(index_in_sparse_bucket); + if (compare_keys(key, KeySelect()(*value_it))) { + return std::make_pair( + iterator(m_sparse_buckets_data.begin() + sparse_ibucket, + value_it), + false); + } + } else if (m_sparse_buckets[sparse_ibucket].has_deleted_value( + index_in_sparse_bucket) && + probe < m_bucket_count) { + if (!found_first_deleted_bucket) { + found_first_deleted_bucket = true; + sparse_ibucket_first_deleted = sparse_ibucket; + index_in_sparse_bucket_first_deleted = index_in_sparse_bucket; + } + } else if (found_first_deleted_bucket) { + auto it = insert_in_bucket(sparse_ibucket_first_deleted, + index_in_sparse_bucket_first_deleted, + std::forward(value_type_args)...); + m_nb_deleted_buckets--; + + return it; + } else { + return insert_in_bucket(sparse_ibucket, index_in_sparse_bucket, + std::forward(value_type_args)...); + } + + probe++; + ibucket = next_bucket(ibucket, probe); + } + } + + template + std::pair insert_in_bucket( + std::size_t sparse_ibucket, + typename sparse_array::size_type index_in_sparse_bucket, + Args &&...value_type_args) { + auto value_it = m_sparse_buckets[sparse_ibucket].set( + *this, index_in_sparse_bucket, std::forward(value_type_args)...); + m_nb_elements++; + + return std::make_pair( + iterator(m_sparse_buckets_data.begin() + sparse_ibucket, value_it), + true); + } + + template + size_type erase_impl(const K &key, std::size_t hash) { + std::size_t ibucket = bucket_for_hash(hash); + + std::size_t probe = 0; + while (true) { + const std::size_t sparse_ibucket = sparse_array::sparse_ibucket(ibucket); + const auto index_in_sparse_bucket = + sparse_array::index_in_sparse_bucket(ibucket); + + if (m_sparse_buckets[sparse_ibucket].has_value(index_in_sparse_bucket)) { + auto value_it = + m_sparse_buckets[sparse_ibucket].value(index_in_sparse_bucket); + if (compare_keys(key, KeySelect()(*value_it))) { + m_sparse_buckets[sparse_ibucket].erase(*this, value_it, + index_in_sparse_bucket); + m_nb_elements--; + m_nb_deleted_buckets++; + + return 1; + } + } else if (!m_sparse_buckets[sparse_ibucket].has_deleted_value( + index_in_sparse_bucket) || + probe >= m_bucket_count) { + return 0; + } + + probe++; + ibucket = next_bucket(ibucket, probe); + } + } + + template + iterator find_impl(const K &key, std::size_t hash) { + return mutable_iterator( + static_cast(this)->find(key, hash)); + } + + template + const_iterator find_impl(const K &key, std::size_t hash) const { + std::size_t ibucket = bucket_for_hash(hash); + + std::size_t probe = 0; + while (true) { + const std::size_t sparse_ibucket = sparse_array::sparse_ibucket(ibucket); + const auto index_in_sparse_bucket = + sparse_array::index_in_sparse_bucket(ibucket); + + if (m_sparse_buckets[sparse_ibucket].has_value(index_in_sparse_bucket)) { + auto value_it = + m_sparse_buckets[sparse_ibucket].value(index_in_sparse_bucket); + if (compare_keys(key, KeySelect()(*value_it))) { + return const_iterator(m_sparse_buckets_data.cbegin() + sparse_ibucket, + value_it); + } + } else if (!m_sparse_buckets[sparse_ibucket].has_deleted_value( + index_in_sparse_bucket) || + probe >= m_bucket_count) { + return cend(); + } + + probe++; + ibucket = next_bucket(ibucket, probe); + } + } + + void clear_deleted_buckets() { + // TODO could be optimized, we could do it in-place instead of allocating a + // new bucket array. + rehash_impl(m_bucket_count); + tsl_sh_assert(m_nb_deleted_buckets == 0); + } + + template ::type + * = nullptr> + void rehash_impl(size_type count) { + sparse_hash new_table(count, static_cast(*this), + static_cast(*this), + static_cast(*this), m_max_load_factor); + + for (auto &bucket : m_sparse_buckets_data) { + for (auto &val : bucket) { + new_table.insert_on_rehash(std::move(val)); + } + + // TODO try to reuse some of the memory + bucket.clear(*this); + } + + new_table.swap(*this); + } + + /** + * TODO: For now we copy each element into the new map. We could move + * them if they are nothrow_move_constructible without triggering + * any exception if we reserve enough space in the sparse arrays beforehand. + */ + template ::type * = nullptr> + void rehash_impl(size_type count) { + sparse_hash new_table(count, static_cast(*this), + static_cast(*this), + static_cast(*this), m_max_load_factor); + + for (const auto &bucket : m_sparse_buckets_data) { + for (const auto &val : bucket) { + new_table.insert_on_rehash(val); + } + } + + new_table.swap(*this); + } + + template + void insert_on_rehash(K &&key_value) { + const key_type &key = KeySelect()(key_value); + + const std::size_t hash = hash_key(key); + std::size_t ibucket = bucket_for_hash(hash); + + std::size_t probe = 0; + while (true) { + std::size_t sparse_ibucket = sparse_array::sparse_ibucket(ibucket); + auto index_in_sparse_bucket = + sparse_array::index_in_sparse_bucket(ibucket); + + if (!m_sparse_buckets[sparse_ibucket].has_value(index_in_sparse_bucket)) { + m_sparse_buckets[sparse_ibucket].set(*this, index_in_sparse_bucket, + std::forward(key_value)); + m_nb_elements++; + + return; + } else { + tsl_sh_assert(!compare_keys( + key, KeySelect()(*m_sparse_buckets[sparse_ibucket].value( + index_in_sparse_bucket)))); + } + + probe++; + ibucket = next_bucket(ibucket, probe); + } + } + + template + void serialize_impl(Serializer &serializer) const { + const slz_size_type version = SERIALIZATION_PROTOCOL_VERSION; + serializer(version); + + const slz_size_type bucket_count = m_bucket_count; + serializer(bucket_count); + + const slz_size_type nb_sparse_buckets = m_sparse_buckets_data.size(); + serializer(nb_sparse_buckets); + + const slz_size_type nb_elements = m_nb_elements; + serializer(nb_elements); + + const slz_size_type nb_deleted_buckets = m_nb_deleted_buckets; + serializer(nb_deleted_buckets); + + const float max_load_factor = m_max_load_factor; + serializer(max_load_factor); + + for (const auto &bucket : m_sparse_buckets_data) { + bucket.serialize(serializer); + } + } + + template + void deserialize_impl(Deserializer &deserializer, bool hash_compatible) { + tsl_sh_assert( + m_bucket_count == 0 && + m_sparse_buckets_data.empty()); // Current hash table must be empty + + const slz_size_type version = + deserialize_value(deserializer); + // For now we only have one version of the serialization protocol. + // If it doesn't match there is a problem with the file. + if (version != SERIALIZATION_PROTOCOL_VERSION) { + throw std::runtime_error( + "Can't deserialize the sparse_map/set. The " + "protocol version header is invalid."); + } + + const slz_size_type bucket_count_ds = + deserialize_value(deserializer); + const slz_size_type nb_sparse_buckets = + deserialize_value(deserializer); + const slz_size_type nb_elements = + deserialize_value(deserializer); + const slz_size_type nb_deleted_buckets = + deserialize_value(deserializer); + const float max_load_factor = deserialize_value(deserializer); + + if (!hash_compatible) { + this->max_load_factor(max_load_factor); + reserve(numeric_cast(nb_elements, + "Deserialized nb_elements is too big.")); + for (slz_size_type ibucket = 0; ibucket < nb_sparse_buckets; ibucket++) { + sparse_array::deserialize_values_into_sparse_hash(deserializer, *this); + } + } else { + m_bucket_count = numeric_cast( + bucket_count_ds, "Deserialized bucket_count is too big."); + + GrowthPolicy::operator=(GrowthPolicy(m_bucket_count)); + // GrowthPolicy should not modify the bucket count we got from + // deserialization + if (m_bucket_count != bucket_count_ds) { + throw std::runtime_error( + "The GrowthPolicy is not the same even though " + "hash_compatible is true."); + } + + if (nb_sparse_buckets != + sparse_array::nb_sparse_buckets(m_bucket_count)) { + throw std::runtime_error("Deserialized nb_sparse_buckets is invalid."); + } + + m_nb_elements = numeric_cast( + nb_elements, "Deserialized nb_elements is too big."); + m_nb_deleted_buckets = numeric_cast( + nb_deleted_buckets, "Deserialized nb_deleted_buckets is too big."); + + m_sparse_buckets_data.reserve(numeric_cast( + nb_sparse_buckets, "Deserialized nb_sparse_buckets is too big.")); + for (slz_size_type ibucket = 0; ibucket < nb_sparse_buckets; ibucket++) { + m_sparse_buckets_data.emplace_back( + sparse_array::deserialize_hash_compatible( + deserializer, static_cast(*this))); + } + + if (!m_sparse_buckets_data.empty()) { + m_sparse_buckets_data.back().set_as_last(); + m_sparse_buckets = m_sparse_buckets_data.data(); + } + + this->max_load_factor(max_load_factor); + if (load_factor() > this->max_load_factor()) { + throw std::runtime_error( + "Invalid max_load_factor. Check that the serializer and " + "deserializer support " + "floats correctly as they can be converted implicitely to ints."); + } + } + } + + public: + static const size_type DEFAULT_INIT_BUCKET_COUNT = 0; + static constexpr float DEFAULT_MAX_LOAD_FACTOR = 0.5f; + + /** + * Protocol version currenlty used for serialization. + */ + static const slz_size_type SERIALIZATION_PROTOCOL_VERSION = 1; + + /** + * Return an always valid pointer to an static empty bucket_entry with + * last_bucket() == true. + */ + sparse_array *static_empty_sparse_bucket_ptr() { + static sparse_array empty_sparse_bucket(true); + return &empty_sparse_bucket; + } + + private: + sparse_buckets_container m_sparse_buckets_data; + + /** + * Points to m_sparse_buckets_data.data() if !m_sparse_buckets_data.empty() + * otherwise points to static_empty_sparse_bucket_ptr. This variable is useful + * to avoid the cost of checking if m_sparse_buckets_data is empty when trying + * to find an element. + * + * TODO Remove m_sparse_buckets_data and only use a pointer instead of a + * pointer+vector to save some space in the sparse_hash object. + */ + sparse_array *m_sparse_buckets; + + size_type m_bucket_count; + size_type m_nb_elements; + size_type m_nb_deleted_buckets; + + /** + * Maximum that m_nb_elements can reach before a rehash occurs automatically + * to grow the hash table. + */ + size_type m_load_threshold_rehash; + + /** + * Maximum that m_nb_elements + m_nb_deleted_buckets can reach before cleaning + * up the buckets marked as deleted. + */ + size_type m_load_threshold_clear_deleted; + float m_max_load_factor; +}; + +} // namespace detail_sparse_hash +} // namespace tsl + +#endif diff --git a/demos/tsl/sparse_map.h b/demos/tsl/sparse_map.h new file mode 100644 index 0000000..601742d --- /dev/null +++ b/demos/tsl/sparse_map.h @@ -0,0 +1,800 @@ +/** + * MIT License + * + * Copyright (c) 2017 Thibaut Goetghebuer-Planchon + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_SPARSE_MAP_H +#define TSL_SPARSE_MAP_H + +#include +#include +#include +#include +#include +#include + +#include "sparse_hash.h" + +namespace tsl { + +/** + * Implementation of a sparse hash map using open-addressing with quadratic + * probing. The goal on the hash map is to be the most memory efficient + * possible, even at low load factor, while keeping reasonable performances. + * + * `GrowthPolicy` defines how the map grows and consequently how a hash value is + * mapped to a bucket. By default the map uses + * `tsl::sh::power_of_two_growth_policy`. This policy keeps the number of + * buckets to a power of two and uses a mask to map the hash to a bucket instead + * of the slow modulo. Other growth policies are available and you may define + * your own growth policy, check `tsl::sh::power_of_two_growth_policy` for the + * interface. + * + * `ExceptionSafety` defines the exception guarantee provided by the class. By + * default only the basic exception safety is guaranteed which mean that all + * resources used by the hash map will be freed (no memory leaks) but the hash + * map may end-up in an undefined state if an exception is thrown (undefined + * here means that some elements may be missing). This can ONLY happen on rehash + * (either on insert or if `rehash` is called explicitly) and will occur if the + * Allocator can't allocate memory (`std::bad_alloc`) or if the copy constructor + * (when a nothrow move constructor is not available) throws an exception. This + * can be avoided by calling `reserve` beforehand. This basic guarantee is + * similar to the one of `google::sparse_hash_map` and `spp::sparse_hash_map`. + * It is possible to ask for the strong exception guarantee with + * `tsl::sh::exception_safety::strong`, the drawback is that the map will be + * slower on rehashes and will also need more memory on rehashes. + * + * `Sparsity` defines how much the hash set will compromise between insertion + * speed and memory usage. A high sparsity means less memory usage but longer + * insertion times, and vice-versa for low sparsity. The default + * `tsl::sh::sparsity::medium` sparsity offers a good compromise. It doesn't + * change the lookup speed. + * + * `Key` and `T` must be nothrow move constructible and/or copy constructible. + * + * If the destructor of `Key` or `T` throws an exception, the behaviour of the + * class is undefined. + * + * Iterators invalidation: + * - clear, operator=, reserve, rehash: always invalidate the iterators. + * - insert, emplace, emplace_hint, operator[]: if there is an effective + * insert, invalidate the iterators. + * - erase: always invalidate the iterators. + */ +template , + class KeyEqual = std::equal_to, + class Allocator = std::allocator>, + class GrowthPolicy = tsl::sh::power_of_two_growth_policy<2>, + tsl::sh::exception_safety ExceptionSafety = + tsl::sh::exception_safety::basic, + tsl::sh::sparsity Sparsity = tsl::sh::sparsity::medium> +class sparse_map { + private: + template + using has_is_transparent = tsl::detail_sparse_hash::has_is_transparent; + + class KeySelect { + public: + using key_type = Key; + + const key_type &operator()( + const std::pair &key_value) const noexcept { + return key_value.first; + } + + key_type &operator()(std::pair &key_value) noexcept { + return key_value.first; + } + }; + + class ValueSelect { + public: + using value_type = T; + + const value_type &operator()( + const std::pair &key_value) const noexcept { + return key_value.second; + } + + value_type &operator()(std::pair &key_value) noexcept { + return key_value.second; + } + }; + + using ht = detail_sparse_hash::sparse_hash< + std::pair, KeySelect, ValueSelect, Hash, KeyEqual, Allocator, + GrowthPolicy, ExceptionSafety, Sparsity, tsl::sh::probing::quadratic>; + + public: + using key_type = typename ht::key_type; + using mapped_type = T; + using value_type = typename ht::value_type; + using size_type = typename ht::size_type; + using difference_type = typename ht::difference_type; + using hasher = typename ht::hasher; + using key_equal = typename ht::key_equal; + using allocator_type = typename ht::allocator_type; + using reference = typename ht::reference; + using const_reference = typename ht::const_reference; + using pointer = typename ht::pointer; + using const_pointer = typename ht::const_pointer; + using iterator = typename ht::iterator; + using const_iterator = typename ht::const_iterator; + + public: + /* + * Constructors + */ + sparse_map() : sparse_map(ht::DEFAULT_INIT_BUCKET_COUNT) {} + + explicit sparse_map(size_type bucket_count, const Hash &hash = Hash(), + const KeyEqual &equal = KeyEqual(), + const Allocator &alloc = Allocator()) + : m_ht(bucket_count, hash, equal, alloc, ht::DEFAULT_MAX_LOAD_FACTOR) {} + + sparse_map(size_type bucket_count, const Allocator &alloc) + : sparse_map(bucket_count, Hash(), KeyEqual(), alloc) {} + + sparse_map(size_type bucket_count, const Hash &hash, const Allocator &alloc) + : sparse_map(bucket_count, hash, KeyEqual(), alloc) {} + + explicit sparse_map(const Allocator &alloc) + : sparse_map(ht::DEFAULT_INIT_BUCKET_COUNT, alloc) {} + + template + sparse_map(InputIt first, InputIt last, + size_type bucket_count = ht::DEFAULT_INIT_BUCKET_COUNT, + const Hash &hash = Hash(), const KeyEqual &equal = KeyEqual(), + const Allocator &alloc = Allocator()) + : sparse_map(bucket_count, hash, equal, alloc) { + insert(first, last); + } + + template + sparse_map(InputIt first, InputIt last, size_type bucket_count, + const Allocator &alloc) + : sparse_map(first, last, bucket_count, Hash(), KeyEqual(), alloc) {} + + template + sparse_map(InputIt first, InputIt last, size_type bucket_count, + const Hash &hash, const Allocator &alloc) + : sparse_map(first, last, bucket_count, hash, KeyEqual(), alloc) {} + + sparse_map(std::initializer_list init, + size_type bucket_count = ht::DEFAULT_INIT_BUCKET_COUNT, + const Hash &hash = Hash(), const KeyEqual &equal = KeyEqual(), + const Allocator &alloc = Allocator()) + : sparse_map(init.begin(), init.end(), bucket_count, hash, equal, alloc) { + } + + sparse_map(std::initializer_list init, size_type bucket_count, + const Allocator &alloc) + : sparse_map(init.begin(), init.end(), bucket_count, Hash(), KeyEqual(), + alloc) {} + + sparse_map(std::initializer_list init, size_type bucket_count, + const Hash &hash, const Allocator &alloc) + : sparse_map(init.begin(), init.end(), bucket_count, hash, KeyEqual(), + alloc) {} + + sparse_map &operator=(std::initializer_list ilist) { + m_ht.clear(); + + m_ht.reserve(ilist.size()); + m_ht.insert(ilist.begin(), ilist.end()); + + return *this; + } + + allocator_type get_allocator() const { return m_ht.get_allocator(); } + + /* + * Iterators + */ + iterator begin() noexcept { return m_ht.begin(); } + const_iterator begin() const noexcept { return m_ht.begin(); } + const_iterator cbegin() const noexcept { return m_ht.cbegin(); } + + iterator end() noexcept { return m_ht.end(); } + const_iterator end() const noexcept { return m_ht.end(); } + const_iterator cend() const noexcept { return m_ht.cend(); } + + /* + * Capacity + */ + bool empty() const noexcept { return m_ht.empty(); } + size_type size() const noexcept { return m_ht.size(); } + size_type max_size() const noexcept { return m_ht.max_size(); } + + /* + * Modifiers + */ + void clear() noexcept { m_ht.clear(); } + + std::pair insert(const value_type &value) { + return m_ht.insert(value); + } + + template ::value>::type * = nullptr> + std::pair insert(P &&value) { + return m_ht.emplace(std::forward

(value)); + } + + std::pair insert(value_type &&value) { + return m_ht.insert(std::move(value)); + } + + iterator insert(const_iterator hint, const value_type &value) { + return m_ht.insert_hint(hint, value); + } + + template ::value>::type * = nullptr> + iterator insert(const_iterator hint, P &&value) { + return m_ht.emplace_hint(hint, std::forward

(value)); + } + + iterator insert(const_iterator hint, value_type &&value) { + return m_ht.insert_hint(hint, std::move(value)); + } + + template + void insert(InputIt first, InputIt last) { + m_ht.insert(first, last); + } + + void insert(std::initializer_list ilist) { + m_ht.insert(ilist.begin(), ilist.end()); + } + + template + std::pair insert_or_assign(const key_type &k, M &&obj) { + return m_ht.insert_or_assign(k, std::forward(obj)); + } + + template + std::pair insert_or_assign(key_type &&k, M &&obj) { + return m_ht.insert_or_assign(std::move(k), std::forward(obj)); + } + + template + iterator insert_or_assign(const_iterator hint, const key_type &k, M &&obj) { + return m_ht.insert_or_assign(hint, k, std::forward(obj)); + } + + template + iterator insert_or_assign(const_iterator hint, key_type &&k, M &&obj) { + return m_ht.insert_or_assign(hint, std::move(k), std::forward(obj)); + } + + /** + * Due to the way elements are stored, emplace will need to move or copy the + * key-value once. The method is equivalent to + * `insert(value_type(std::forward(args)...));`. + * + * Mainly here for compatibility with the `std::unordered_map` interface. + */ + template + std::pair emplace(Args &&...args) { + return m_ht.emplace(std::forward(args)...); + } + + /** + * Due to the way elements are stored, emplace_hint will need to move or copy + * the key-value once. The method is equivalent to `insert(hint, + * value_type(std::forward(args)...));`. + * + * Mainly here for compatibility with the `std::unordered_map` interface. + */ + template + iterator emplace_hint(const_iterator hint, Args &&...args) { + return m_ht.emplace_hint(hint, std::forward(args)...); + } + + template + std::pair try_emplace(const key_type &k, Args &&...args) { + return m_ht.try_emplace(k, std::forward(args)...); + } + + template + std::pair try_emplace(key_type &&k, Args &&...args) { + return m_ht.try_emplace(std::move(k), std::forward(args)...); + } + + template + iterator try_emplace(const_iterator hint, const key_type &k, Args &&...args) { + return m_ht.try_emplace_hint(hint, k, std::forward(args)...); + } + + template + iterator try_emplace(const_iterator hint, key_type &&k, Args &&...args) { + return m_ht.try_emplace_hint(hint, std::move(k), + std::forward(args)...); + } + + iterator erase(iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator first, const_iterator last) { + return m_ht.erase(first, last); + } + size_type erase(const key_type &key) { return m_ht.erase(key); } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + size_type erase(const key_type &key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type erase(const K &key) { + return m_ht.erase(key); + } + + /** + * @copydoc erase(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type erase(const K &key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + void swap(sparse_map &other) { other.m_ht.swap(m_ht); } + + /* + * Lookup + */ + T &at(const Key &key) { return m_ht.at(key); } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + T &at(const Key &key, std::size_t precalculated_hash) { + return m_ht.at(key, precalculated_hash); + } + + const T &at(const Key &key) const { return m_ht.at(key); } + + /** + * @copydoc at(const Key& key, std::size_t precalculated_hash) + */ + const T &at(const Key &key, std::size_t precalculated_hash) const { + return m_ht.at(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + T &at(const K &key) { + return m_ht.at(key); + } + + /** + * @copydoc at(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + T &at(const K &key, std::size_t precalculated_hash) { + return m_ht.at(key, precalculated_hash); + } + + /** + * @copydoc at(const K& key) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + const T &at(const K &key) const { + return m_ht.at(key); + } + + /** + * @copydoc at(const K& key, std::size_t precalculated_hash) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + const T &at(const K &key, std::size_t precalculated_hash) const { + return m_ht.at(key, precalculated_hash); + } + + T &operator[](const Key &key) { return m_ht[key]; } + T &operator[](Key &&key) { return m_ht[std::move(key)]; } + + size_type count(const Key &key) const { return m_ht.count(key); } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + size_type count(const Key &key, std::size_t precalculated_hash) const { + return m_ht.count(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type count(const K &key) const { + return m_ht.count(key); + } + + /** + * @copydoc count(const K& key) const + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type count(const K &key, std::size_t precalculated_hash) const { + return m_ht.count(key, precalculated_hash); + } + + iterator find(const Key &key) { return m_ht.find(key); } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + iterator find(const Key &key, std::size_t precalculated_hash) { + return m_ht.find(key, precalculated_hash); + } + + const_iterator find(const Key &key) const { return m_ht.find(key); } + + /** + * @copydoc find(const Key& key, std::size_t precalculated_hash) + */ + const_iterator find(const Key &key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + iterator find(const K &key) { + return m_ht.find(key); + } + + /** + * @copydoc find(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + iterator find(const K &key, std::size_t precalculated_hash) { + return m_ht.find(key, precalculated_hash); + } + + /** + * @copydoc find(const K& key) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + const_iterator find(const K &key) const { + return m_ht.find(key); + } + + /** + * @copydoc find(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + const_iterator find(const K &key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + bool contains(const Key &key) const { return m_ht.contains(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The + * hash value should be the same as hash_function()(key). Useful to speed-up + * the lookup if you already have the hash. + */ + bool contains(const Key &key, std::size_t precalculated_hash) const { + return m_ht.contains(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * KeyEqual::is_transparent exists. If so, K must be hashable and comparable + * to Key. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + bool contains(const K &key) const { + return m_ht.contains(key); + } + + /** + * @copydoc contains(const K& key) const + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The + * hash value should be the same as hash_function()(key). Useful to speed-up + * the lookup if you already have the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + bool contains(const K &key, std::size_t precalculated_hash) const { + return m_ht.contains(key, precalculated_hash); + } + + std::pair equal_range(const Key &key) { + return m_ht.equal_range(key); + } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + std::pair equal_range(const Key &key, + std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + std::pair equal_range(const Key &key) const { + return m_ht.equal_range(key); + } + + /** + * @copydoc equal_range(const Key& key, std::size_t precalculated_hash) + */ + std::pair equal_range( + const Key &key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range(const K &key) { + return m_ht.equal_range(key); + } + + /** + * @copydoc equal_range(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range(const K &key, + std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * @copydoc equal_range(const K& key) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range(const K &key) const { + return m_ht.equal_range(key); + } + + /** + * @copydoc equal_range(const K& key, std::size_t precalculated_hash) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range( + const K &key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /* + * Bucket interface + */ + size_type bucket_count() const { return m_ht.bucket_count(); } + size_type max_bucket_count() const { return m_ht.max_bucket_count(); } + + /* + * Hash policy + */ + float load_factor() const { return m_ht.load_factor(); } + float max_load_factor() const { return m_ht.max_load_factor(); } + void max_load_factor(float ml) { m_ht.max_load_factor(ml); } + + void rehash(size_type count) { m_ht.rehash(count); } + void reserve(size_type count) { m_ht.reserve(count); } + + /* + * Observers + */ + hasher hash_function() const { return m_ht.hash_function(); } + key_equal key_eq() const { return m_ht.key_eq(); } + + /* + * Other + */ + + /** + * Convert a `const_iterator` to an `iterator`. + */ + iterator mutable_iterator(const_iterator pos) { + return m_ht.mutable_iterator(pos); + } + + /** + * Serialize the map through the `serializer` parameter. + * + * The `serializer` parameter must be a function object that supports the + * following call: + * - `template void operator()(const U& value);` where the types + * `std::uint64_t`, `float` and `std::pair` must be supported for U. + * + * The implementation leaves binary compatibility (endianness, IEEE 754 for + * floats, ...) of the types it serializes in the hands of the `Serializer` + * function object if compatibility is required. + */ + template + void serialize(Serializer &serializer) const { + m_ht.serialize(serializer); + } + + /** + * Deserialize a previously serialized map through the `deserializer` + * parameter. + * + * The `deserializer` parameter must be a function object that supports the + * following calls: + * - `template U operator()();` where the types `std::uint64_t`, + * `float` and `std::pair` must be supported for U. + * + * If the deserialized hash map type is hash compatible with the serialized + * map, the deserialization process can be sped up by setting + * `hash_compatible` to true. To be hash compatible, the Hash, KeyEqual and + * GrowthPolicy must behave the same way than the ones used on the serialized + * map. The `std::size_t` must also be of the same size as the one on the + * platform used to serialize the map. If these criteria are not met, the + * behaviour is undefined with `hash_compatible` sets to true. + * + * The behaviour is undefined if the type `Key` and `T` of the `sparse_map` + * are not the same as the types used during serialization. + * + * The implementation leaves binary compatibility (endianness, IEEE 754 for + * floats, size of int, ...) of the types it deserializes in the hands of the + * `Deserializer` function object if compatibility is required. + */ + template + static sparse_map deserialize(Deserializer &deserializer, + bool hash_compatible = false) { + sparse_map map(0); + map.m_ht.deserialize(deserializer, hash_compatible); + + return map; + } + + friend bool operator==(const sparse_map &lhs, const sparse_map &rhs) { + if (lhs.size() != rhs.size()) { + return false; + } + + for (const auto &element_lhs : lhs) { + const auto it_element_rhs = rhs.find(element_lhs.first); + if (it_element_rhs == rhs.cend() || + element_lhs.second != it_element_rhs->second) { + return false; + } + } + + return true; + } + + friend bool operator!=(const sparse_map &lhs, const sparse_map &rhs) { + return !operator==(lhs, rhs); + } + + friend void swap(sparse_map &lhs, sparse_map &rhs) { lhs.swap(rhs); } + + private: + ht m_ht; +}; + +/** + * Same as `tsl::sparse_map`. + */ +template , + class KeyEqual = std::equal_to, + class Allocator = std::allocator>> +using sparse_pg_map = + sparse_map; + +} // end namespace tsl + +#endif diff --git a/demos/tsl/sparse_set.h b/demos/tsl/sparse_set.h new file mode 100644 index 0000000..3ce6a58 --- /dev/null +++ b/demos/tsl/sparse_set.h @@ -0,0 +1,655 @@ +/** + * MIT License + * + * Copyright (c) 2017 Thibaut Goetghebuer-Planchon + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef TSL_SPARSE_SET_H +#define TSL_SPARSE_SET_H + +#include +#include +#include +#include +#include +#include + +#include "sparse_hash.h" + +namespace tsl { + +/** + * Implementation of a sparse hash set using open-addressing with quadratic + * probing. The goal on the hash set is to be the most memory efficient + * possible, even at low load factor, while keeping reasonable performances. + * + * `GrowthPolicy` defines how the set grows and consequently how a hash value is + * mapped to a bucket. By default the set uses + * `tsl::sh::power_of_two_growth_policy`. This policy keeps the number of + * buckets to a power of two and uses a mask to map the hash to a bucket instead + * of the slow modulo. Other growth policies are available and you may define + * your own growth policy, check `tsl::sh::power_of_two_growth_policy` for the + * interface. + * + * `ExceptionSafety` defines the exception guarantee provided by the class. By + * default only the basic exception safety is guaranteed which mean that all + * resources used by the hash set will be freed (no memory leaks) but the hash + * set may end-up in an undefined state if an exception is thrown (undefined + * here means that some elements may be missing). This can ONLY happen on rehash + * (either on insert or if `rehash` is called explicitly) and will occur if the + * Allocator can't allocate memory (`std::bad_alloc`) or if the copy constructor + * (when a nothrow move constructor is not available) throws an exception. This + * can be avoided by calling `reserve` beforehand. This basic guarantee is + * similar to the one of `google::sparse_hash_map` and `spp::sparse_hash_map`. + * It is possible to ask for the strong exception guarantee with + * `tsl::sh::exception_safety::strong`, the drawback is that the set will be + * slower on rehashes and will also need more memory on rehashes. + * + * `Sparsity` defines how much the hash set will compromise between insertion + * speed and memory usage. A high sparsity means less memory usage but longer + * insertion times, and vice-versa for low sparsity. The default + * `tsl::sh::sparsity::medium` sparsity offers a good compromise. It doesn't + * change the lookup speed. + * + * `Key` must be nothrow move constructible and/or copy constructible. + * + * If the destructor of `Key` throws an exception, the behaviour of the class is + * undefined. + * + * Iterators invalidation: + * - clear, operator=, reserve, rehash: always invalidate the iterators. + * - insert, emplace, emplace_hint: if there is an effective insert, invalidate + * the iterators. + * - erase: always invalidate the iterators. + */ +template , + class KeyEqual = std::equal_to, + class Allocator = std::allocator, + class GrowthPolicy = tsl::sh::power_of_two_growth_policy<2>, + tsl::sh::exception_safety ExceptionSafety = + tsl::sh::exception_safety::basic, + tsl::sh::sparsity Sparsity = tsl::sh::sparsity::medium> +class sparse_set { + private: + template + using has_is_transparent = tsl::detail_sparse_hash::has_is_transparent; + + class KeySelect { + public: + using key_type = Key; + + const key_type &operator()(const Key &key) const noexcept { return key; } + + key_type &operator()(Key &key) noexcept { return key; } + }; + + using ht = + detail_sparse_hash::sparse_hash; + + public: + using key_type = typename ht::key_type; + using value_type = typename ht::value_type; + using size_type = typename ht::size_type; + using difference_type = typename ht::difference_type; + using hasher = typename ht::hasher; + using key_equal = typename ht::key_equal; + using allocator_type = typename ht::allocator_type; + using reference = typename ht::reference; + using const_reference = typename ht::const_reference; + using pointer = typename ht::pointer; + using const_pointer = typename ht::const_pointer; + using iterator = typename ht::iterator; + using const_iterator = typename ht::const_iterator; + + /* + * Constructors + */ + sparse_set() : sparse_set(ht::DEFAULT_INIT_BUCKET_COUNT) {} + + explicit sparse_set(size_type bucket_count, const Hash &hash = Hash(), + const KeyEqual &equal = KeyEqual(), + const Allocator &alloc = Allocator()) + : m_ht(bucket_count, hash, equal, alloc, ht::DEFAULT_MAX_LOAD_FACTOR) {} + + sparse_set(size_type bucket_count, const Allocator &alloc) + : sparse_set(bucket_count, Hash(), KeyEqual(), alloc) {} + + sparse_set(size_type bucket_count, const Hash &hash, const Allocator &alloc) + : sparse_set(bucket_count, hash, KeyEqual(), alloc) {} + + explicit sparse_set(const Allocator &alloc) + : sparse_set(ht::DEFAULT_INIT_BUCKET_COUNT, alloc) {} + + template + sparse_set(InputIt first, InputIt last, + size_type bucket_count = ht::DEFAULT_INIT_BUCKET_COUNT, + const Hash &hash = Hash(), const KeyEqual &equal = KeyEqual(), + const Allocator &alloc = Allocator()) + : sparse_set(bucket_count, hash, equal, alloc) { + insert(first, last); + } + + template + sparse_set(InputIt first, InputIt last, size_type bucket_count, + const Allocator &alloc) + : sparse_set(first, last, bucket_count, Hash(), KeyEqual(), alloc) {} + + template + sparse_set(InputIt first, InputIt last, size_type bucket_count, + const Hash &hash, const Allocator &alloc) + : sparse_set(first, last, bucket_count, hash, KeyEqual(), alloc) {} + + sparse_set(std::initializer_list init, + size_type bucket_count = ht::DEFAULT_INIT_BUCKET_COUNT, + const Hash &hash = Hash(), const KeyEqual &equal = KeyEqual(), + const Allocator &alloc = Allocator()) + : sparse_set(init.begin(), init.end(), bucket_count, hash, equal, alloc) { + } + + sparse_set(std::initializer_list init, size_type bucket_count, + const Allocator &alloc) + : sparse_set(init.begin(), init.end(), bucket_count, Hash(), KeyEqual(), + alloc) {} + + sparse_set(std::initializer_list init, size_type bucket_count, + const Hash &hash, const Allocator &alloc) + : sparse_set(init.begin(), init.end(), bucket_count, hash, KeyEqual(), + alloc) {} + + sparse_set &operator=(std::initializer_list ilist) { + m_ht.clear(); + + m_ht.reserve(ilist.size()); + m_ht.insert(ilist.begin(), ilist.end()); + + return *this; + } + + allocator_type get_allocator() const { return m_ht.get_allocator(); } + + /* + * Iterators + */ + iterator begin() noexcept { return m_ht.begin(); } + const_iterator begin() const noexcept { return m_ht.begin(); } + const_iterator cbegin() const noexcept { return m_ht.cbegin(); } + + iterator end() noexcept { return m_ht.end(); } + const_iterator end() const noexcept { return m_ht.end(); } + const_iterator cend() const noexcept { return m_ht.cend(); } + + /* + * Capacity + */ + bool empty() const noexcept { return m_ht.empty(); } + size_type size() const noexcept { return m_ht.size(); } + size_type max_size() const noexcept { return m_ht.max_size(); } + + /* + * Modifiers + */ + void clear() noexcept { m_ht.clear(); } + + std::pair insert(const value_type &value) { + return m_ht.insert(value); + } + + std::pair insert(value_type &&value) { + return m_ht.insert(std::move(value)); + } + + iterator insert(const_iterator hint, const value_type &value) { + return m_ht.insert_hint(hint, value); + } + + iterator insert(const_iterator hint, value_type &&value) { + return m_ht.insert_hint(hint, std::move(value)); + } + + template + void insert(InputIt first, InputIt last) { + m_ht.insert(first, last); + } + + void insert(std::initializer_list ilist) { + m_ht.insert(ilist.begin(), ilist.end()); + } + + /** + * Due to the way elements are stored, emplace will need to move or copy the + * key-value once. The method is equivalent to + * `insert(value_type(std::forward(args)...));`. + * + * Mainly here for compatibility with the `std::unordered_map` interface. + */ + template + std::pair emplace(Args &&...args) { + return m_ht.emplace(std::forward(args)...); + } + + /** + * Due to the way elements are stored, emplace_hint will need to move or copy + * the key-value once. The method is equivalent to `insert(hint, + * value_type(std::forward(args)...));`. + * + * Mainly here for compatibility with the `std::unordered_map` interface. + */ + template + iterator emplace_hint(const_iterator hint, Args &&...args) { + return m_ht.emplace_hint(hint, std::forward(args)...); + } + + iterator erase(iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator pos) { return m_ht.erase(pos); } + iterator erase(const_iterator first, const_iterator last) { + return m_ht.erase(first, last); + } + size_type erase(const key_type &key) { return m_ht.erase(key); } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + size_type erase(const key_type &key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type erase(const K &key) { + return m_ht.erase(key); + } + + /** + * @copydoc erase(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type erase(const K &key, std::size_t precalculated_hash) { + return m_ht.erase(key, precalculated_hash); + } + + void swap(sparse_set &other) { other.m_ht.swap(m_ht); } + + /* + * Lookup + */ + size_type count(const Key &key) const { return m_ht.count(key); } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + size_type count(const Key &key, std::size_t precalculated_hash) const { + return m_ht.count(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type count(const K &key) const { + return m_ht.count(key); + } + + /** + * @copydoc count(const K& key) const + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + size_type count(const K &key, std::size_t precalculated_hash) const { + return m_ht.count(key, precalculated_hash); + } + + iterator find(const Key &key) { return m_ht.find(key); } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + iterator find(const Key &key, std::size_t precalculated_hash) { + return m_ht.find(key, precalculated_hash); + } + + const_iterator find(const Key &key) const { return m_ht.find(key); } + + /** + * @copydoc find(const Key& key, std::size_t precalculated_hash) + */ + const_iterator find(const Key &key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + iterator find(const K &key) { + return m_ht.find(key); + } + + /** + * @copydoc find(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + iterator find(const K &key, std::size_t precalculated_hash) { + return m_ht.find(key, precalculated_hash); + } + + /** + * @copydoc find(const K& key) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + const_iterator find(const K &key) const { + return m_ht.find(key); + } + + /** + * @copydoc find(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + const_iterator find(const K &key, std::size_t precalculated_hash) const { + return m_ht.find(key, precalculated_hash); + } + + bool contains(const Key &key) const { return m_ht.contains(key); } + + /** + * Use the hash value 'precalculated_hash' instead of hashing the key. The + * hash value should be the same as hash_function()(key). Useful to speed-up + * the lookup if you already have the hash. + */ + bool contains(const Key &key, std::size_t precalculated_hash) const { + return m_ht.contains(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * KeyEqual::is_transparent exists. If so, K must be hashable and comparable + * to Key. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + bool contains(const K &key) const { + return m_ht.contains(key); + } + + /** + * @copydoc contains(const K& key) const + * + * Use the hash value 'precalculated_hash' instead of hashing the key. The + * hash value should be the same as hash_function()(key). Useful to speed-up + * the lookup if you already have the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + bool contains(const K &key, std::size_t precalculated_hash) const { + return m_ht.contains(key, precalculated_hash); + } + + std::pair equal_range(const Key &key) { + return m_ht.equal_range(key); + } + + /** + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + std::pair equal_range(const Key &key, + std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + std::pair equal_range(const Key &key) const { + return m_ht.equal_range(key); + } + + /** + * @copydoc equal_range(const Key& key, std::size_t precalculated_hash) + */ + std::pair equal_range( + const Key &key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * This overload only participates in the overload resolution if the typedef + * `KeyEqual::is_transparent` exists. If so, `K` must be hashable and + * comparable to `Key`. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range(const K &key) { + return m_ht.equal_range(key); + } + + /** + * @copydoc equal_range(const K& key) + * + * Use the hash value `precalculated_hash` instead of hashing the key. The + * hash value should be the same as `hash_function()(key)`, otherwise the + * behaviour is undefined. Useful to speed-up the lookup if you already have + * the hash. + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range(const K &key, + std::size_t precalculated_hash) { + return m_ht.equal_range(key, precalculated_hash); + } + + /** + * @copydoc equal_range(const K& key) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range(const K &key) const { + return m_ht.equal_range(key); + } + + /** + * @copydoc equal_range(const K& key, std::size_t precalculated_hash) + */ + template < + class K, class KE = KeyEqual, + typename std::enable_if::value>::type * = nullptr> + std::pair equal_range( + const K &key, std::size_t precalculated_hash) const { + return m_ht.equal_range(key, precalculated_hash); + } + + /* + * Bucket interface + */ + size_type bucket_count() const { return m_ht.bucket_count(); } + size_type max_bucket_count() const { return m_ht.max_bucket_count(); } + + /* + * Hash policy + */ + float load_factor() const { return m_ht.load_factor(); } + float max_load_factor() const { return m_ht.max_load_factor(); } + void max_load_factor(float ml) { m_ht.max_load_factor(ml); } + + void rehash(size_type count) { m_ht.rehash(count); } + void reserve(size_type count) { m_ht.reserve(count); } + + /* + * Observers + */ + hasher hash_function() const { return m_ht.hash_function(); } + key_equal key_eq() const { return m_ht.key_eq(); } + + /* + * Other + */ + + /** + * Convert a `const_iterator` to an `iterator`. + */ + iterator mutable_iterator(const_iterator pos) { + return m_ht.mutable_iterator(pos); + } + + /** + * Serialize the set through the `serializer` parameter. + * + * The `serializer` parameter must be a function object that supports the + * following call: + * - `void operator()(const U& value);` where the types `std::uint64_t`, + * `float` and `Key` must be supported for U. + * + * The implementation leaves binary compatibility (endianness, IEEE 754 for + * floats, ...) of the types it serializes in the hands of the `Serializer` + * function object if compatibility is required. + */ + template + void serialize(Serializer &serializer) const { + m_ht.serialize(serializer); + } + + /** + * Deserialize a previously serialized set through the `deserializer` + * parameter. + * + * The `deserializer` parameter must be a function object that supports the + * following calls: + * - `template U operator()();` where the types `std::uint64_t`, + * `float` and `Key` must be supported for U. + * + * If the deserialized hash set type is hash compatible with the serialized + * set, the deserialization process can be sped up by setting + * `hash_compatible` to true. To be hash compatible, the Hash, KeyEqual and + * GrowthPolicy must behave the same way than the ones used on the serialized + * set. The `std::size_t` must also be of the same size as the one on the + * platform used to serialize the set. If these criteria are not met, the + * behaviour is undefined with `hash_compatible` sets to true. + * + * The behaviour is undefined if the type `Key` of the `sparse_set` is not the + * same as the type used during serialization. + * + * The implementation leaves binary compatibility (endianness, IEEE 754 for + * floats, size of int, ...) of the types it deserializes in the hands of the + * `Deserializer` function object if compatibility is required. + */ + template + static sparse_set deserialize(Deserializer &deserializer, + bool hash_compatible = false) { + sparse_set set(0); + set.m_ht.deserialize(deserializer, hash_compatible); + + return set; + } + + friend bool operator==(const sparse_set &lhs, const sparse_set &rhs) { + if (lhs.size() != rhs.size()) { + return false; + } + + for (const auto &element_lhs : lhs) { + const auto it_element_rhs = rhs.find(element_lhs); + if (it_element_rhs == rhs.cend()) { + return false; + } + } + + return true; + } + + friend bool operator!=(const sparse_set &lhs, const sparse_set &rhs) { + return !operator==(lhs, rhs); + } + + friend void swap(sparse_set &lhs, sparse_set &rhs) { lhs.swap(rhs); } + + private: + ht m_ht; +}; + +/** + * Same as `tsl::sparse_set`. + */ +template , + class KeyEqual = std::equal_to, + class Allocator = std::allocator> +using sparse_pg_set = + sparse_set; + +} // end namespace tsl + +#endif diff --git a/demos/utils.cpp b/demos/utils.cpp index e3455be..4b5569b 100644 --- a/demos/utils.cpp +++ b/demos/utils.cpp @@ -16,7 +16,14 @@ #include #include - +#include +#include +#include +#include +#include +#include +#include +#include // added these #include #include @@ -39,6 +46,8 @@ #include // for std::accumulate #include // for std::mean and std::stdev #include +#include +#include // #include // for convenience using json = nlohmann::json; @@ -88,7 +97,8 @@ float* fvecs_read(const char* fname, size_t* d_out, size_t* n_out) { abort(); } int d; - fread(&d, 1, sizeof(int), f); + int size = fread(&d, 1, sizeof(int), f); + printf("Dimension: %d\n", d); assert((d > 0 && d < 1000000) || !"unreasonable dimension"); fseek(f, 0, SEEK_SET); struct stat st; @@ -111,6 +121,97 @@ float* fvecs_read(const char* fname, size_t* d_out, size_t* n_out) { return x; } + + +#define PARTSIZE 10000000 +#define ALIGNMENT 512 +template T *aligned_malloc(const size_t n, const size_t alignment) +{ +#ifdef _WINDOWS + return (T *)_aligned_malloc(sizeof(T) * n, alignment); +#else + return static_cast(aligned_alloc(alignment, sizeof(T) * n)); +#endif +} + +template inline int get_num_parts(const char *filename) +{ + std::ifstream reader; + reader.exceptions(std::ios::failbit | std::ios::badbit); + reader.open(filename, std::ios::binary); + std::cout << "Reading bin file " << filename << " ...\n"; + int npts_i32, ndims_i32; + reader.read((char *)&npts_i32, sizeof(int)); + reader.read((char *)&ndims_i32, sizeof(int)); + std::cout << "#pts = " << npts_i32 << ", #dims = " << ndims_i32 << std::endl; + reader.close(); + uint32_t num_parts = + (npts_i32 % PARTSIZE) == 0 ? npts_i32 / PARTSIZE : (uint32_t)std::floor(npts_i32 / PARTSIZE) + 1; + std::cout << "Number of parts: " << num_parts << std::endl; + return num_parts; +} + +template +inline void load_bin_as_float(const char *filename, float *&data, size_t &npts, size_t &ndims, int part_num) +{ + try { + std::ifstream reader; + reader.exceptions(std::ios::failbit | std::ios::badbit); + reader.open(filename, std::ios::binary); + + std::cout << "Reading bin file " << filename << " ...\n"; + int npts_i32, ndims_i32; + reader.read((char *)&npts_i32, sizeof(int)); + reader.read((char *)&ndims_i32, sizeof(int)); + uint64_t start_id = part_num * PARTSIZE; + uint64_t end_id = (std::min)(start_id + PARTSIZE, (uint64_t)npts_i32); + npts = end_id - start_id; + ndims = (uint64_t)ndims_i32; + std::cout << "#pts in part = " << npts << ", #dims = " << ndims << ", size = " << npts * ndims * sizeof(T) << "B" + << std::endl; + + reader.seekg(start_id * ndims * sizeof(T) + 2 * sizeof(uint32_t), std::ios::beg); + T *data_T = new T[npts * ndims]; + reader.read((char *)data_T, sizeof(T) * npts * ndims); + std::cout << "Finished reading part of the bin file." << std::endl; + reader.close(); + data = aligned_malloc(npts * ndims, ALIGNMENT); +#pragma omp parallel for schedule(dynamic, 32768) + for (int64_t i = 0; i < (int64_t)npts; i++) + { + for (int64_t j = 0; j < (int64_t)ndims; j++) + { + float cur_val_float = (float)data_T[i * ndims + j]; + std::memcpy((char *)(data + i * ndims + j), (char *)&cur_val_float, sizeof(float)); + } + } + delete[] data_T; + std::cout << "Finished converting part data to float." << std::endl; + } catch (const std::ios_base::failure& e) { + std::cerr << "I/O error: " << e.what() << std::endl; + } catch (const std::exception& e) { + std::cerr << "Exception: " << e.what() << std::endl; + } +} + +float* fbin_read(const char* fname, size_t* d_out, size_t* n_out) { + float *base_data = nullptr; + int num_parts = get_num_parts(fname); + + size_t npoints, dim; + for (int p = 0; p < num_parts; p++) + { + size_t start_id = p * PARTSIZE; + load_bin_as_float(fname, base_data, npoints, dim, p); + size_t end_id = start_id + npoints; + + *d_out = dim; + *n_out = npoints; + } + + return base_data; +} + // not very clean, but works as long as sizeof(int) == sizeof(float) int* ivecs_read(const char* fname, size_t* d_out, size_t* n_out) { return (int*)fvecs_read(fname, d_out, n_out); @@ -371,6 +472,37 @@ std::vector load_aq(std::string dataset, int n_centroids, int alpha, int N) } +} + + // Helper function to replace all occurrences of a substring with another string + void replaceAll(std::string& str, const std::string& from, const std::string& to) { + if (from.empty()) + return; + size_t start_pos = 0; + while ((start_pos = str.find(from, start_pos)) != std::string::npos) { + str.replace(start_pos, from.length(), to); + start_pos += to.length(); // Handles case where 'to' is a substring of 'from' + } + } + +std::vector load_metadata_strings(std::string file_name, int N) { + + std::vector lines; + std::ifstream file(file_name); + std::string line; + + while (std::getline(file, line)) { + lines.push_back(line); + if (lines.size() == 81546) { + std::cout << "loaded metadata for 81545: " << lines[81545] << std::endl; + } + } + file.close(); + + printf("loaded metadata from: %s\n", file_name.c_str()); + printf("Number of lines loaded: %zu\n", lines.size()); + printf("Value of N: %d\n", N); + return lines; } // assignment_type can be "rand", "soft", "soft_squared", "hard" @@ -461,7 +593,7 @@ std::vector load_gt(std::string dataset, int n_centroids, int alph std::vector v_tmp = load_json_to_vector(filepath); std::vector v(v_tmp.begin(), v_tmp.end()); printf("loaded gt from: %s\n", filepath.c_str()); - + printf("gt size: %ld\n", v.size()); // // print out data for debugging // for (faiss::idx_t i : v) { // std::cout << i << " "; @@ -548,8 +680,91 @@ std::vector load_gt(std::string dataset, int n_centroids, int alph +class MultiLabel { +public: + tsl::robin_set base_clause; // For base labels + std::vector> query_clause; // For query labels,first level is AND, second level is OR + // Constructors + MultiLabel() {} + static MultiLabel fromBase(const std::string& base_label) { + MultiLabel ml; + + std::istringstream new_iss(base_label); + std::string token; + while (getline(new_iss, token, ',')) + { + token.erase(std::remove(token.begin(), token.end(), '\n'), token.end()); + token.erase(std::remove(token.begin(), token.end(), '\r'), token.end()); + ml.base_clause.insert(token); + } + return ml; + } + + + static MultiLabel fromQuery(std::string& query_label) { + MultiLabel ml; + std::istringstream new_iss(query_label); + std::string token; + std::vector> lbls(0); + while (getline(new_iss, token, '&')) + { + std::vector or_clause(0); + std::istringstream inner_iss(token); + while (getline(inner_iss, token, '|')) + { + token.erase(std::remove(token.begin(), token.end(), '\n'), token.end()); + token.erase(std::remove(token.begin(), token.end(), '\r'), token.end()); + or_clause.push_back(token); + } + + ml.query_clause.push_back(or_clause); + } + return ml; + } + void printQuery() { + for (uint32_t k = 0; k < this->query_clause.size(); k++) + { + for (uint32_t l = 0; l < this->query_clause[k].size(); l++) + { + std::cout << this->query_clause[k][l]; + if (l < this->query_clause[k].size() - 1) { + std::cout << "|"; + } + } + if(k < this->query_clause.size() - 1) { + std::cout << "&"; + } + } + std::cout << std::endl; + } + // Method to check if the query label is a subset of the base label + bool isSubsetOf(const MultiLabel& base_label) const { + bool pass = true; + for (uint32_t k = 0; k < this->query_clause.size(); k++) + { + // check OR clause inside AND clause + bool or_pass = false; + for (uint32_t l = 0; l < this->query_clause[k].size(); l++) + { + if (base_label.base_clause.find(this->query_clause[k][l]) != base_label.base_clause.end()) + { + or_pass = true; + break; + } + } + + // if any OR clause is not satisfied, then AND clause is not satisfied otherwise AND clause is satisfied + if (or_pass == false) { + pass = false; + break; + } + + } + return pass; + } +}; diff --git a/faiss/IndexACORN.cpp b/faiss/IndexACORN.cpp index 336a42a..c008f06 100644 --- a/faiss/IndexACORN.cpp +++ b/faiss/IndexACORN.cpp @@ -319,14 +319,14 @@ void IndexACORN::search( for (idx_t i0 = 0; i0 < n; i0 += check_period) { idx_t i1 = std::min(i0 + check_period, n); -#pragma omp parallel +//#pragma omp parallel { VisitedTable vt(ntotal); DistanceComputer* dis = storage_distance_computer(storage); ScopeDeleter1 del(dis); -#pragma omp for reduction(+ : n1, n2, n3, ndis, nreorder, candidates_loop) +//#pragma omp for reduction(+ : n1, n2, n3, ndis, nreorder, candidates_loop) for (idx_t i = i0; i < i1; i++) { idx_t* idxi = labels + i * k; float* simi = distances + i * k; diff --git a/run_acorn_amazon.sh b/run_acorn_amazon.sh new file mode 100644 index 0000000..d2f0ac4 --- /dev/null +++ b/run_acorn_amazon.sh @@ -0,0 +1,72 @@ +export debugSearchFlag=0 +#! /bin/bash + + + +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -B build +# build with openmp +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-fopenmp" -DCMAKE_CXX_FLAGS="-fopenmp" -B build +#make -C build -j faiss +#make -C build utils +make -C build -j acorn + + +#../DiskANN_CPP/DiskANN/build/apps/utils/compute_filtered_groundtruth --K 10 --base_file ./base.fbin --base_labels ./base_labels.txt --dist_fn l2 --data_type float --gt_file gt_1M.bin --query_file query.fbin --query_label ./query_labels.txt + +########################################## +# TESTING SIFT1M and PAPER +########################################## +now=$(date +"%m-%d-%Y") + + + # run +N=1000000 +nq=10 +gamma=1 # expansion factor +dataset=amazon +M_beta=16 # max degree, use same M and M_beta for now +gt="dense_gt_1M.bin.txt" +efc=100 # build limit +efs=0 # search limi0t, 0 for build only, >1 for search only + +header=" N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time" +summary_file=${now}_experiments/summary_${dataset}.txt +rm -f $summary_file +echo $header>> $summary_file +echo $header +for M_beta in 32 64; do + for gamma in 1 10; do + parent_dir=${now}_experiments + mkdir -p ${parent_dir} + dir=${parent_dir}/MB${M_beta}_gamma${gamma} + mkdir -p ${dir} + efs=0 + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + #echo "Running acorn with N=${N}, nq=${nq}, efc=${efc} efs=${efs}, M=${M_beta}, M_beta=${M_beta}, gamma=${gamma}" + #./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + for efs in 40 80 150; do + nq=3000 + txtfile=${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + rm -f $txtfile + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${txtfile} + ./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${txtfile} + # Extract Query time + query_time=$(grep -oP 'Done Query \K[0-9.]+(?=)' "$txtfile") + bitmap_time=$(grep -oP 'Done filter_ids_map \K[0-9.]+(?=)' "$txtfile") + # Extract Recall@10 + recall=$(grep -oP 'Recall@10: \K[0-9.]+(?=)' "$txtfile") + # Print the results + #echo " N, nq, efc, efs,, M, M_beta, gamma, recall, query_time" + row="$N,$nq,$efc,$efs,$M_beta,$M_beta,$gamma,$recall,$query_time, $bitmap_time" + echo $row >> $summary_file + echo $row + done + done +done + + + + + + + diff --git a/run_acorn_wiki.sh b/run_acorn_wiki.sh new file mode 100644 index 0000000..42bddb3 --- /dev/null +++ b/run_acorn_wiki.sh @@ -0,0 +1,72 @@ +export debugSearchFlag=0 +#! /bin/bash + + + +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -B build +# build with openmp +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-fopenmp" -DCMAKE_CXX_FLAGS="-fopenmp" -B build +#make -C build -j faiss +#make -C build utils +make -C build -j acorn + + +#../DiskANN_CPP/DiskANN/build/apps/utils/compute_filtered_groundtruth --K 10 --base_file ./base.fbin --base_labels ./base_labels.txt --dist_fn l2 --data_type float --gt_file gt_1M.bin --query_file query.fbin --query_label ./query_labels.txt + +########################################## +# TESTING SIFT1M and PAPER +########################################## +now=$(date +"%m-%d-%Y") + + + # run +N=1000000 +nq=10 +gamma=1 # expansion factor +dataset=wikicohere +M_beta=16 # max degree, use same M and M_beta for now +gt="dense_gt_1M.bin.txt" +efc=100 # build limit +efs=0 # search limi0t, 0 for build only, >1 for search only + +header=" N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time" +summary_file=${now}_experiments/summary_${dataset}.txt +rm -f $summary_file +echo $header>> $summary_file +echo $header +for M_beta in 32 64; do + for gamma in 1 10; do + parent_dir=${now}_experiments + mkdir -p ${parent_dir} + dir=${parent_dir}/MB${M_beta}_gamma${gamma} + mkdir -p ${dir} + efs=0 + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + #echo "Running acorn with N=${N}, nq=${nq}, efc=${efc} efs=${efs}, M=${M_beta}, M_beta=${M_beta}, gamma=${gamma}" + #./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + for efs in 40 80 150; do + nq=900 + txtfile=${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + rm -f $txtfile + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${txtfile} + ./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${txtfile} + # Extract Query time + query_time=$(grep -oP 'Done Query \K[0-9.]+(?=)' "$txtfile") + bitmap_time=$(grep -oP 'Done filter_ids_map \K[0-9.]+(?=)' "$txtfile") + # Extract Recall@10 + recall=$(grep -oP 'Recall@10: \K[0-9.]+(?=)' "$txtfile") + # Print the results + #echo " N, nq, efc, efs,, M, M_beta, gamma, recall, query_time" + row="$N,$nq,$efc,$efs,$M_beta,$M_beta,$gamma,$recall,$query_time, $bitmap_time" + echo $row >> $summary_file + echo $row + done + done +done + + + + + + + diff --git a/run_acorn_wikinormalized.sh b/run_acorn_wikinormalized.sh new file mode 100644 index 0000000..7206b58 --- /dev/null +++ b/run_acorn_wikinormalized.sh @@ -0,0 +1,72 @@ +export debugSearchFlag=0 +#! /bin/bash + + + +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -B build +# build with openmp +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-fopenmp" -DCMAKE_CXX_FLAGS="-fopenmp" -B build +#make -C build -j faiss +#make -C build utils +make -C build -j acorn + + +#../DiskANN_CPP/DiskANN/build/apps/utils/compute_filtered_groundtruth --K 10 --base_file ./base.fbin --base_labels ./base_labels.txt --dist_fn l2 --data_type float --gt_file gt_1M.bin --query_file query.fbin --query_label ./query_labels.txt + +########################################## +# TESTING SIFT1M and PAPER +########################################## +now=$(date +"%m-%d-%Y") + + + # run +N=1000000 +nq=10 +gamma=1 # expansion factor +dataset=wiki_normalized +M_beta=16 # max degree, use same M and M_beta for now +gt="gt_1M.bin.txt" +efc=100 # build limit +efs=0 # search limi0t, 0 for build only, >1 for search only + +header=" N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time" +summary_file=${now}_experiments/summary_${dataset}.txt +rm -f $summary_file +echo $header>> $summary_file +echo $header +for M_beta in 32 64; do + for gamma in 1 10; do + parent_dir=${now}_experiments + mkdir -p ${parent_dir} + dir=${parent_dir}/MB${M_beta}_gamma${gamma} + mkdir -p ${dir} + efs=0 + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + #echo "Running acorn with N=${N}, nq=${nq}, efc=${efc} efs=${efs}, M=${M_beta}, M_beta=${M_beta}, gamma=${gamma}" + ./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + for efs in 40 80 150; do + nq=5000 + txtfile=${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + rm -f $txtfile + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${txtfile} + ./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${txtfile} + # Extract Query time + query_time=$(grep -oP 'Done Query \K[0-9.]+(?=)' "$txtfile") + bitmap_time=$(grep -oP 'Done filter_ids_map \K[0-9.]+(?=)' "$txtfile") + # Extract Recall@10 + recall=$(grep -oP 'Recall@10: \K[0-9.]+(?=)' "$txtfile") + # Print the results + #echo " N, nq, efc, efs,, M, M_beta, gamma, recall, query_time" + row="$N,$nq,$efc,$efs,$M_beta,$M_beta,$gamma,$recall,$query_time, $bitmap_time" + echo $row >> $summary_file + echo $row + done + done +done + + + + + + + diff --git a/run_acorn_yfcc.sh b/run_acorn_yfcc.sh new file mode 100644 index 0000000..0776ed1 --- /dev/null +++ b/run_acorn_yfcc.sh @@ -0,0 +1,72 @@ +export debugSearchFlag=0 +#! /bin/bash + + + +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -B build +# build with openmp +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-fopenmp" -DCMAKE_CXX_FLAGS="-fopenmp" -B build +#make -C build -j faiss +#make -C build utils +make -C build -j acorn + + +#../DiskANN_CPP/DiskANN/build/apps/utils/compute_filtered_groundtruth --K 10 --base_file ./base.fbin --base_labels ./base_labels.txt --dist_fn l2 --data_type float --gt_file gt_1M.bin --query_file query.fbin --query_label ./query_labels.txt + +########################################## +# TESTING SIFT1M and PAPER +########################################## +now=$(date +"%m-%d-%Y") + + + # run +N=1000000 +nq=10 +gamma=1 # expansion factor +dataset=yfcc +M_beta=16 # max degree, use same M and M_beta for now +gt="dense_gt_1M.bin.txt" +efc=100 # build limit +efs=0 # search limi0t, 0 for build only, >1 for search only + +header=" N, nq, efc, efs, M, M_beta, gamma, recall, query_time, bitmap_time" +summary_file=${now}_experiments/summary_${dataset}.txt +rm -f $summary_file +echo $header>> $summary_file +echo $header +for M_beta in 32 64; do + for gamma in 1 10; do + parent_dir=${now}_experiments + mkdir -p ${parent_dir} + dir=${parent_dir}/MB${M_beta}_gamma${gamma} + mkdir -p ${dir} + efs=0 + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + #echo "Running acorn with N=${N}, nq=${nq}, efc=${efc} efs=${efs}, M=${M_beta}, M_beta=${M_beta}, gamma=${gamma}" + #./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + for efs in 40 80 150; do + nq=1000 + txtfile=${dir}/summary_${dataset}_n=${N}_nq=${nq}_efs=${efs}_gamma=${gamma}_M_beta=${M_beta}.txt + rm -f $txtfile + TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${txtfile} + ./build/demos/acorn $N $nq ../$dataset/ . . $gt $efc $M_beta $efs &>> ${txtfile} + # Extract Query time + query_time=$(grep -oP 'Done Query \K[0-9.]+(?=)' "$txtfile") + bitmap_time=$(grep -oP 'Done filter_ids_map \K[0-9.]+(?=)' "$txtfile") + # Extract Recall@10 + recall=$(grep -oP 'Recall@10: \K[0-9.]+(?=)' "$txtfile") + # Print the results + #echo " N, nq, efc, efs,, M, M_beta, gamma, recall, query_time" + row="$N,$nq,$efc,$efs,$M_beta,$M_beta,$gamma,$recall,$query_time, $bitmap_time" + echo $row >> $summary_file + echo $row + done + done +done + + + + + + + diff --git a/run_all.sh b/run_all.sh new file mode 100644 index 0000000..43b9701 --- /dev/null +++ b/run_all.sh @@ -0,0 +1,3 @@ +. run_acorn_amazon.sh +. run_acorn_wiki.sh +. run_acorn_yfcc.sh \ No newline at end of file diff --git a/run_simple_test.sh b/run_simple_test.sh index 03bf8ee..dcd6b0c 100644 --- a/run_simple_test.sh +++ b/run_simple_test.sh @@ -3,10 +3,10 @@ export debugSearchFlag=0 -cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -B build +#cmake -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -B build -make -C build -j faiss -make -C build utils +#make -C build -j faiss +#make -C build utils make -C build test_acorn @@ -18,9 +18,9 @@ now=$(date +"%m-%d-%Y") # run of sift1M test -N=1000000 +N=10000 gamma=12 -dataset=sift1M_test +dataset=sift1M M=32 M_beta=64 @@ -34,7 +34,7 @@ mkdir ${dir} TZ='America/Los_Angeles' date +"Start time: %H:%M" &>> ${dir}/summary_sift_n=${N}_gamma=${gamma}.txt -./build/demos/test_acorn $N $gamma $dataset $M $M_beta &>> ${dir}/summary_sift_n=${N}_gamma=${gamma}.txt +./build/demos/test_acorn $N $gamma $dataset $M $M_beta #&>> ${dir}/summary_sift_n=${N}_gamma=${gamma}.txt diff --git a/siftsmall/base_attrs.txt b/siftsmall/base_attrs.txt new file mode 100644 index 0000000..87ad4de --- /dev/null +++ b/siftsmall/base_attrs.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +6,7,8 +0 +6 +4,6,9,10,11 +6 +6 +4,12 +6,8 +3,5,13,14,15,16 +5,6,17,18 +5,6,19 +6,14,17,20,21 +2,12 +13 +6,22 +10 +6,10,17 +5,6,11,23 +6 +6,24,25 +6 +4,7,24,26 +3,14,21,27 +3,6,14,23 +6,14,15,28 +5,6,14,29,30 +2,7,31 +6,25,32 +5,6,8,19,33 +6,11 +4,10,14,15,17 +6,13,34 +6,13,15,17,35 +3,4,8,14,36 +3,5,6,21 +4,6,7 +2,5,33 +6,14,16,37 +5,38 +6,10,14 +3,5,7,14 +28 +6,39 +2,3 +5,6,7,29 +6,8 +26,35 +5 +6,21 +5,6,7,13,14,40 +6,14 +5,6,41 +3,6,13,34 +5,6,22 +3,4,5,6,29 +3,5,6 +6,28 +3,4,6,25 +6,21 +6,14,37 +4,6,34 +5,6,15,22 +4,6,28 +5,6,17,29,42 +6,43 +6,11,26 +3,6,7,25 +5,6,44 +7,38 +6,13,45 +2,5,6,21,40 +6 +4,6,14,40,41 +10 +5,6,7,23 +6,14,20,31 +6,12,44 +5,6,7,17,45 +6,12,18 +6,11 +7,20,46 +3 +2,6,17 +31,46,47 +2,5,26 +0 +4,5,6,14,42 +4,5,6,11,27,37,41,48 +2,3,4,6 +5,14 +5,6,17,28 +2,5,6 +4,5,6,20 +12,20,49 +6,7 +6,14,19 +3,6,22 +30,37 +6,16,42 +2,4,6,10 +6,17 +14 +4,5,10 +6,10 +3,6,16,17 +4,5,6,50 +4 +50 +14,21,35 +6,14 +2,4,16 +5,15,22 +6,17 +6,8,43 +6,29 +6,11,14,17,24,25 +6,12,14,15,18 +10,14,22 +6,7,14,25 +49 +6 +3,5,6,25,32 +4,18,21 +4,6 +6 +0 +6,31,32,36 +6,26 +5,6,19,22,30 +3,5,20,43 +6,34 +5,19 +5,6,22 +3 +4,6,25 +5,6,7,25 +6,12 +5,6,10,13,17,18,19,42 +3,8 +7,17,28,37,46 +6,21 +6,46 +5,6,46 +5,6 +2,6,7,19,20,28,47 +6,41 +3,5,6 +5,12 +6,44 +3,29 +2,4,6,15 +5,6,14,16,35 +6,48 +5,6,15 +4,6,14 +6,14,22,25 +14,33 +3,6,31,32,39 +6,25 +5,13 +5,6 +6,15,21 +0 +6,14,15,39 +3,6,11,13,21,36 +3,33 +5,6,25,29,48 +4,6,17,20 +3,4,5,6 +5,6 +2,3,5,6,16,17 +6 +4,5,13 +5,6,36,38 +2,6 +5,6,9,14 +3,6,11,14 +6 +5,6,24 +5,6,12,38,48 +4,6,24 +6,8,23 +3,5,6,22 +5,6,17,26,41 +13,14,16,41 +6 +6,49 +3,4,6,21,34 +2,6,17,18 +5,6,28 +6,26 +4,6,16,17 +4,5,7,8,28 +6,8,16,38 +3,5,6,25,31 +3,4,5,6,7,14,22,25 +6,14,37 +5,6,14 +6,7,13,20 +4,5,6,25 +7 +5,6,25 +5,46 +5,6,44 +4,5,6,12,19,21 +6,20 +4,6 +5,6,14,17,20,26 +4,6 +3,14,22 +4,6 +6 +5,6,14,17 +6,22,38 +6,14,39 +6,12,15,47 +5,6,12,22,42 +5,6,20 +4,6,8,15 +3,4,6,22,28 +6,9,28 +6,14,25 +6,11,22 +6,7,30 +5,7 +6 +7,34 +5,6,7,14 +3,6,37 +7,14,46 +5 +5,6,7 +2,6,7,8,50 +6,22,25 +6,7,14,42 +6,14,17 +5,6 +4,5,6,50 +4,6,13,14,36 +5,6,7,15,16,22 +6,14,30 +6 +5,6 +3,5,6,12 +5,6 +6,17 +5,6,12,14,25 +3,5,6,28 +3,6 +5,6,20,23 +4,6,27 +4,6,40 +3,6,12,18 +28 +5 +17 +5,6,7,14 +3,4,5,6 +5,6,14 +4,6,49 +5,6,7,17,18 +6,9 +5,21 +5,7,17,42 +0 +4,5,6,7,34,40 +3,14,35 +3,4,5,6,21 +6,11 +6,14 +6,20,38 +5,17,20,25 +5,6,13,15 +5,6,14 +6,12,14,37 +6 +16 +18,23,28 +5,6,47,51 +6 +0 +3,6,25 +2,4,6,10,20 +6,10,12,44 +6 +5,13 +5,18,22,40 +5 +2,3,19,37 +4,5,6,22,47,48 +6,21,22 +6 +5,6 +6 +6,7,15,18 +5,6,7 +0 +3,6,15,17 +6,7,14,21 +5,7,17,23 +4,5,22,29 +5,6,15,25 +2,6,14,49 +10 +3,6,14,44 +17,25 +6,7,9,38 +6 +4,5,6,11 +5,6,14,35 +4,5,6 +6,7,32 +6,40 +2,6,25 +4,6,17 +2,6,17,21,28 +4,17,44 +6,34,46 +17,22,35 +6,7 +2,5,6,26 +5,6,14 +4,6,10,48 +4,5,15,20 +4,6 +22,44,47 +3 +0 +4,6,43 +6,14,50 +5,6,25,33 +5,6,15,18,29 +4,5,6,25,44,46,48 +5,6,11,14 +5,19,20 +5,6,11 +2,21 +6,22,32,39 +4,6 +5,12,13,14,36,45 +4,6,13,17,23,44 +5,6,14,15 +6,34 +14,22 +10,21 +5,7,42 +6,20,42 +2,4,7 +6,29,35 +6,14 +5,6 +2,23,29,38,51 +6,7,50 +4,6,14,17,42 +12 +4 +5,6,26 +17 +3,6,13 +6,7,22,28,36 +6,14,16,28 +5,6,10,14,29 +5,6,25 +5,10,12,14,38 +3,6,7,14,37,42 +2 +6,14,23 +5,6,21,30 +5,6,20,48 +6,7,35 +6,14,20,45 +5,6,25 +6 +17,36 +3,5,6,14 +5,6 +5,13,16 +4,14 +6 +6,18 +5,6,20,23 +6,16 +5,6,12,48 +5,34 +4,5,6 +6 +6,7,8,18,28 +17 +6,14,30 +6,46 +6,12,14 +4,5 +6,13,14,40 +5,16,17,29 +3,6,15,25 +15,18,48 +6,13,15,44 +5,27 +4,5,15,41 +6,18 +4,5,6,16,34 +6 +22 +6,14 +2,3,4,6,7 +4,6,14,27 +10,20 +2,5,6,14,42,49 +19 +6,18,29,36 +5,14,42 +4,6,13,16 +5,6,14 +3,5,6,14,15,24,30,35,43,46 +3,5,6,31 +7 +6,14,19,25,33 +6,30,42 +3,4,6 +6,14,22 +5,15 +2,5,6 +8 +5,14,32,43 +4,5,6,15,17 +4,6,25 +6 +3,5,9 +5,6,14,17,26 +4,12,17,37,42,49 +12 +3,6,17,36 +5,6,13,49 +2,6,35 +3,22 +2,5,6 +2,6,31 +14,17,21,22,30 +6,14 +5,6,14 +3,20,22,47 +3,4,6 +6,37,46 +4,5,6,14,15,41 +6,16 +6,14 +4,20 +3,8 +5,6 +3,6,14 +5,10 +2,6 +4,14 +4,32,33,48 +6,29 +6,10,25,46 +4,6 +3,5,6,14,16,46,47 +6,8,12,36 +4,18,25,39,43 +6,19,28,46 +0 +14,19 +5,15,21,41 +3,4,5,6,7 +2,6 +4,5,6,14,22 +3,4,6,7 +3,6 +6,8 +5,6,14,17 +6,7 +14,43 +6,18,26 +6,19 +2,5,6,41,50 +3,5,6,7,20,23,25 +3,6,18 +0 +0 +5,7,28,42 +6,14,28,51 +3,4 +6 +3,5,6,29,34 +3,5,6,14,22 +6 +5,6,34 +6,14,26 +0 +4,6,14,25,27,28 +5,6,19 +4,6,7,14 +3,6 +6 +6,10,14 +6,14,17,37,39 +3,6,13,17,19,31 +14,21,22,46 +4,5,6,7,14,15,17 +6,25 +4,5,8,17 +6,8,17,22 +6,14 +6 +2,5,6,17,34 +4,5,18,26,45 +6,34 +4,6,17,26 +3,4 +4,6,12,14 +4,5,12,14 +3,4,13,20,25 +6,10,14 +6,50 +6,41 +5,11,28 +6,14,17,46 +17,48 +6,17 +3,6,14 +5,6,14,18 +5,6,14,16 +5,14,49 +6,7,14,37 +6,20 +6,14 +14 +0 +2,3,5,14,22 +4,6,25 +14,22,40 +5,6,7,11 +4,20,26 +5,6,7,14 +0 +6,20,34 +6,14,16,44,49 +5,6,14,40 +6,14 +2,6,10 +3,6,28,49 +5,6 +15 +5 +2,6,36,47 +3,6,42 +5,6,18,26 +0 +38 +6 +0 +3,4,6 +6,11,22 +6,10 +5,6,13,27,40 +0 +6,17 +6,14,28 +5,13,34 +14,43 +6,17,37 +4,5,6,10,47 +6 +6,8,44 +6,7,10,15,36 +14,23,45,47 +5,6,27,34 +6,7,25 +5,6,7,13 +6,14,42 +5,6,23,28 +5,14 +6,22,38 +4,6,37 +6,12 +4,6,46,49 +6,40 +3,6,22,32,43 +6,28 +40 +2,6,7 +5,22 +3,6,25,49 +10,17,47 +3,6,14 +2,6 +7,43 +5,6 +6,13,22 +6,12,14,36,39 +2,5,6,30 +5,6,7,15 +3 +3,4,6,7,8,11,14,27 +4,5,6,7 +6,9,11,44 +3 +6,7,22 +6,22 +4,6,25 +6,13,18 +23 +6,22 +5,6,8,12,17 +5,27 +4 +2,4,20 +6 +5,6,15,22,25 +6,18,24,25 +6,20,29 +7 +5,6,7,13,14 +8,10,17,37 +6 +6,8 +3,6,14 +6,16 +6,12,13,14,22,25 +4,5,6,20 +5,7,11,37,50 +0 +6,13,14,29 +6,8,16,18,22 +5,6,10,14 +4,35 +6,14,20 +14,21 +5,6,17,21,50 +4,6,21,48 +4,6,17 +5,6 +4,5,6,13,26 +4,5,6,22 +5,12,15,43,44 +5,6,13,16 +6,10,14,21,28,44,49 +3,5,6,22,34 +5,6,17,42 +5,6,7,13,14 +6,23 +2,7,22,28 +15,41,49 +2,3,5,14,17,46,47 +6,40 +3,4,5,6 +2,6,35,50 +6,7,14,36,42 +4,6,14,18,22,36,38 +5,6,14,35 +4,6,7,9,11,14,20 +5,6,17 +5,6 +6,48 +5,6,7,17,21,35 +2 +2,6,7 +12,22 +5,6,7,14,19 +6,14,16,22 +4,6,17,25,35 +4,5,6,11,22 +6,17,20 +6 +5,6,20 +3,6,13,25 +5,14,17,28,30 +3,25 +5,6,29 +3,4,6,17,30 +5,6,14,46 +5,14 +5,6,14,18,31 +3,4,6,18 +5,6,7 +0 +5,6,7,30,46 +17 +5,6,10 +6,7 +4,5,6,14,46 +5,6,12,14 +0 +5,6,10 +6,12,21,23,49 +2,3,8,10,17,48 +3 +2,5,6,36,49 +6,7,10,14 +4,6,24,44 +6 +5,6 +4,6,23,27 +3,6,7 +2,6,29 +3,5,6,14,28 +5,6,7 +5,6 +6,14 +5,14,26 +6 +5,6,34 +5 +6,51 +5,6 +6 +3,13,48 +3,6,7,12,14 +6,7,45,46 +6 +5,6,14,21 +6,7,8,21,31,37 +6,20 +6,15,17 +3,13,15 +4,6,14,16,46,48,50 +2,7 +6,22 +3,6,14,15,17,34,35 +6,15 +3,5,6,14,39 +6,7,14 +5,6,14 +0 +6,26 +6,8,17,25 +3,4,5,6,14,17,44 +6,14,16,17,18 +3,5,7,17,42 +5,6,14 +3,6 +4,6,9,47 +4,6,7,22,33 +6 +4,17,20,45 +3,6,7 +2,13,20 +6,35,44 +4,6,14,36 +6,7,14,17,22 +5,19,20 +6,14 +6,20 +3,5,6,20,42 +3,4,5,6,7 +3,5,6,17 +5,7,9,20 +5,6,22 +5,6,20,35 +5,6,9,12,40 +4,6,19,27 +6,14,28,30 +4,6,25,46 +2,6 +6,14 +14,20,46 +6,20 +6,7,20,28 +6,13,25 +4 +6,36,46 +6,14,18,19,25 +6,14 +6,7,44 +4,5,28,51 +4,6,42 +6,22,28 +15 +6,17,28 +2,5,6,12 +5,6,28 +10,14 +5,6,22 +5,6,17,21,22,25 +2,5,8,22 +6,12,17,19,33 +4,6,16 +6,15,18 +5,7 +6,13 +6,17,25 +2 +3,6,16,46 +12 +6,32,44 +5,6,14,18,23 +6,8,20,31,43 +3,5,45,51 +4,6,8,23 +5,6,14,18,43 +13,21 +3,6 +15 +6,14,17,22,30,37 +6 +6 +3,5,6,7,41 +6,15,25 +6,7,12 +5,6,9,13,16 +6,7,21,29,49 +4,22 +6,12,13,28 +2,3,6,21 +22 +3,6,27 +6,40 +5,6 +5,16,22 +4,5,6,14,21,28,39 +4,6,17,20,39 +6 +3,16 +4,6,11,13,22 +6 +2,5,33 +2,4,5,14,23 +3,6,17,27 +2,3,6,14 +5,6,17,21 +6,8 +6,18,46 +2,3,6 +6,17 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +5,6,17 +4,6,17,33,48 +6,42 +6,9,16,19,33 +6,51 +8 +5,6 +3,4,6,7 +5,6,7,12 +3,6,12,21 +4,5,7 +5,6 +5,6,7,49 +6,14,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +6,10,14,25,31,49 +6,16,29,30 +5,6,25,28,31,36,46 +2,4,6,7 +2,3,14,17,31 +6,18 +5,6,17,44 +5,6,44 +6 +6,7,17,22,25,28 +6,11,17,22 +5,6,44 +6,16 +6 +3 +4,20 +5,12,21 +6,7,12,19,22,49 +6,17,19,26 +6,14 +6,14,22 +5,22 +6,8,14,25,26,51 +4,6,26 +3,6,22,31,49 +12,24 +3,6,11,13,33,42 +14,50 +6 +14,26 +3,5,6,8,32,44,46 +5,6,13,22 +3,6,7,14,39 +4,6,46 +4,6,7,14,46 +5,7,51 +3,6,23,32,48 +6,8,17 +6,14,21,43 +5,6,9,17 +5,6,7,14 +6,22,48 +6,14 +17 +3,6,14 +6,48 +5,6,20,21 +4,6,14,17,19,21,33 +5,22 +6,7,44 +6,13,40,49 +6,40 +6,14,15 +3,6,17,42 +12 +4,6,20 +5,6,42 +5,6,14,25,29,47 +4,6,17 +5,6,7,22,42 +5,6,14,28 +5 +6 +6,14 +9,14,16 +6 +3,5,6,16,37 +4,6 +6,42 +3,6,14,23,31,43 +6,17 +3,5,6 +6,14,15,30 +5,14 +6,14 +6,13,14,17 +6,10,12 +4,48 +4,5,6,14,31,49 +4,6,16,31 +2,3,4,6,7 +4,6,48 +14 +5,6,12,19 +5,34 +5,6,8 +4,6,42 +25 +6,13 +6,22,29 +3,6,21,22 +4,6,34,41,48 +4,5,6,8,15,20 +4,6,7 +4,5,6,19 +2,5,6,14,28 +5,6,49 +6,7,17 +6,11,14,36 +5,6,14 +3,6,11,47 +5,9 +5 +4,5,6 +4,6,15,46 +6,14 +4,6,17,25 +6,44 +5,6,15,48 +6,17 +3,5,6,12,20,51 +4,6 +5,6,10,15,22,42 +6,7,10,15 +20 +4,20,25 +4,6,8,16,29 +6,14,22 +3,5,6,28,35 +5,6,46 +6,23,40 +5,6,22,23,51 +3,6,7,14,19,22 +3,6,44 +3,11,25,38,48 +4,6,25 +2,6,7,17,29,33 +2,5,6,21 +3,4,6,14,16 +2,5,6,14,51 +6,7,18,28,47 +5,6,8,20 +0 +14,49 +2,4,5,6,12,32 +6,10,48 +6 +6,13,30,31,35,40 +5,6,34 +6,14,20,23,30,48 +2,6,32,44 +5,33,35 +4,5,6,25 +4,6,14 +6,25 +4,6,20 +6,17,33 +2,6,7,14,22,38 +5,13,30,33 +6,7,17,18,29 +5,6,8,28 +5 +6,14,22 +39,47 +13,20 +4,5,6,8,20,22 +6 +6,36 +5,6,11,14,19,38 +5,6,28 +4,6 +5,6,10,14,40 +5,6 +4,6,7,22,23 +6,7,47 +6,19 +3,5,6,20,22 +6,7 +3,5,10,14,15 +3,5,6,17 +5,6,7,14 +6,14 +2,6,12,14,34 +6,20 +6,17,18,28 +6,13,17,41 +14,43 +14,45 +6 +4,5,7,14,45 +7,14 +6,14 +6,7,22,25,39,47,51 +6,14,23 +6,17,24 +6,7 +5,6,13,14 +5,6,10 +2,6,8 +5,6,49 +4,6,30,34,45,49 +6,29 +3,6,13,15 +6,26 +2,3,21 +6 +4,6 +4,6,23,35 +13,16 +5,6,17,33,42,48 +3,6,16,20,30 +5 +5,6,16,34 +5,22 +6,22,51 +5 +6,13,14 +3,4,17,20,44 +4,44 +4,6,14 +20 +2,6 +6,20,22 +5,6,21 +5,6,42 +6,17 +4,17,18 +4,5,6,13 +4,6,12,15,17 +5,14 +6,14,28,33,39,42,49 +3,6,7,18,22,25,28,51 +17,28,45 +6,7,14,21 +14,20,46 +6 +5,6,21 +5,6,16,22 +6 +3 +3,5,22 +6,21 +6,30,48 +6,7,22,44 +3,4,5,6,14 +3,5,6,14,16 +6,21 +6 +6,16,22,37 +4,6,22,30,37 +6,18,48 +6,9,12,44,50 +5,7,14,25,42 +2,5,6,18,35 +3,10,25 +2,4,5,6,12,14,22 +6 +6,7,13,17 +4,5,42 +3,6,14,15,27 +9,46 +5,6,9,13 +5,6,35 +6,13,17,25,45 +6,18,20,40 +5,6,44 +2,3,14,18,25,46 +25,42 +4,6,22,29 +6,10,13 +3,4,5,6,28,42 +6,34 +6,17,23,29 +6,17,43 +2,6,21 +6 +6,7,10,17,37 +4,5,6,44 +3,5 +20 +6,34 +6,15,42 +6,20,33,42 +0 +6 +6,12,18 +49 +6,14,39 +5,22,40 +5,6,25,49 +5,6 +48,51 +14,19 +6,21 +3,11,36 +5,14,48 +5,6 +0 +2,14 +4,6,7,18,20 +6,11,17,22,30 +4,5,22 +5,14,30,46 +6 +2,6,23,49 +8,22 +6,7,48 +3,5,6,33,39 +14,17 +6,9,14,22,25 +5,6,7,15,17,23 +3,6,49 +4,5,6,7,15 +6 +6,20 +3,5,6 +4,15,20,26 +4,19 +6,14,39 +6,28,50 +3,6,7 +5,14,16,25,34,43 +6,22 +5,20 +6,8,14 +5,20 +6,22,48 +4,28 +6,14,19,20,28 +3,5,6,14 +3,4,14,19,22 +5,13 +4,6 +4,14,22 +6 +13,30 +39 +4,5,6,14 +6,22 +6,22 +3,5,7,14,21,44 +4,5,6,20,27,30,43 +3,5,6 +6,33 +3,6,13,19,48,51 +6,18,34 +3,6,35 +3 +5,6 +15 +6,11,14,17 +6,14 +5,6,20,30 +5,6,17,45 +6,16,40 +5,6 +3,5,6,21,22,34 +5,6,7,20,37 +6,14,20,41 +6,17,19,20,22 +3,6,14 +10,43,47 +6,22 +6,7,10,17,41 +5,6,17 +0 +3,6 +3,4,6 +5,6,20 +4,5,6 +4,6,20 +14,42 +5,6,22 +6 +5 +18,40 +19,20,29,42 +5 +5,6,12,22 +6,14,15,19,48 +2,23 +6 +5,6,28 +14 +5,6,14,17,44 +5,6,19,30,51 +2,5,14,17,45 +6,14,22 +3,6,48 +6 +6,17 +14,20,42 +3,15,38 +6,23 +6,14 +3,6,8,12,13,21 +4,6,14,22 +19 +8,23,28 +6,9,14,41 +4,6,14,17,22,45 +3,4,5,6 +6 +4,22,39 +6,15 +5,6,33 +6,14,17,20 +6,14,21 +6 +4,5,6,25,39 +5,6,13,14,20,23,36,43 +0 +6 +19 +6,7,10,16 +3,4,5,6 +4,5,6,42 +6,12,17,19,22,44 +6,50 +3,5,6,18 +6,14 +5,6,21 +4,6,7 +4,5,28,30,38 +5,30 +43 +5,20,21,28 +5,6,20,39,41 +6,22 +6,22,33 +4 +4,5,6,38 +5,6,14,30 +17,28 +6 +6,14,17,20 +14,17,50 +4,5,6,7,15,47 +6,7,19 +14 +4,34 +5,7,14 +7,25,33 +4,6 +5,6 +2,6 +5,7,38 +3,4,5,6,14,15,22,29 +6,14,22,33 +5,6,7 +6 +12,14,20,28 +4,6,18,49 +5,6,17 +4,6,33,34,36,42 +6,7,20,25,30 +6,17,34,50 +3,20 +5 +5,6,17,21 +13,26,33,46 +6,14,42,43 +3,7,14,29 +2,6,28,44 +13,14 +3,6,10,44 +6,46 +3,5,6,22 +4,6,27 +2,4,14 +3,4,5,6,11,30 +6,38 +6,7,14 +14,19,48 +3,5,6 +5,6,7,44 +5,14 +6,28,34,44 +6,7,14,22,35,46 +3,6 +3,6,50 +6,30,46,49 +6 +6,8 +16,22,29 +2,29 +6 +5,6,25,49 +30,46 +6,18,19,25 +5,6,36 +4,6,7,50 +6,17,46 +6,17,21 +3,4,14,17 +5,6,14 +2,5,6 +4,6,17 +4,5,14,29 +5,6,10,14,20 +0 +5,7,44,51 +6,14 +6,9,12,13 +6,38 +5,10,27,28,36 +5,46 +5,6,27 +18,20 +5,6,26 +6,11,25 +4,19,26 +0 +3,4,6,16,21,27,28 +3,7,30,46 +6 +5,6,7,14,25,48 +6,7 +6,12,22 +13,17 +3,4,5,6,14,45 +2,5,6,13,25 +6,14 +12,18,25 +4,5,6,7,12,30 +6,7,17,36 +4,5,6,13,14,34 +6,8,14 +6,7,20 +3,6,13,48 +5,14,30,51 +4,9,25,39 +5,6,10,17 +4,6,14 +2,6,14 +5,13 +2,5,6,22,35 +0 +7,28 +0 +3,12 +2,5,7,32,46 +4,6,14 +24,36 +4,6,14 +6,46 +14 +5,6,7,40,41 +6,7,17,22 +6,7,16,33,45 +13,21,22,47 +4,5,6,10,15 +4,6,7,45 +5,6,7,22,24 +6,30 +6,7,11,14,15 +3,5,25,45 +5,6,46 +2,5,6,42 +6 +5,6,14,15 +4,6,8 +5,6 +2,6,12 +4,6,13,51 +6,9,13 +22 +6,8,14,20,25,26,33,35 +6,9 +5,6,21,44 +6,13 +5,6,20,35 +20,47 +5,6 +3,5,6,14,19 +4,6,12,42 +6,7,47 +6,14 +6,44 +5,6,14,39,48 +2,6,25,42 +3,4,6,7,14 +3,5,6 +14,37 +6,19,42 +4,5,6,7,46 +5,6,17,19,25 +3,6,17,19,49 +12 +2,33 +5,6,43,45 +3,20 +5 +2,6,10,14,22 +2,3,5,6,20,45 +4,8 +6,22,25,36,42 +4 +6,8,20,49 +6 +6,7,14,23,32 +6,28 +5,12,14 +3,4,6,21 +5,6,17 +6,17 +3,6,23 +6,11,14 +14,20 +4,6 +6,15,22 +4,6,44 +6,7 +4,5,6,8,9,14,26 +2,5,6,18,29 +4,6,7 +3,17,18 +2,3,5,14,32 +6,18 +5,6,16 +2,5,6,14,20,28 +6,14 +6,14,22 +0 +23 +5 +5,10,17 +5 +6,37 +6 +4,5,14 +3,6,7,15,25 +6,28 +4,14,22,51 +6 +6,12 +6,12 +9,13 +6,14,19,25 +5,6,49 +5,6,13,14 +6,14,18 +3,5,6,14 +4,6,7,14,17,22 +6,13 +17,22,28,46 +6,44 +8,20,23,25 +5,6 +15,20 +4,6,14,20,21,30,35,47 +2,13 +3,6,11 +5 +6,26 +5 +4,5,6,13,17,33 +5,6,15,17 +4 +4,6,22,23,48 +4,6,16,19,43 +26 +4,5,6,7,14 +6,22 +17,46 +5,6,14 +7,14 +6,7,12,14 +6,14,30,32 +6,20,23 +5,6 +5,6,14,28 +7,43 +6,17,23 +5,6,47 +14,28,39 +6 +14 +5,6,38 +6,25 +5,20,43 +0 +5 +3,5,18 +6,7,20 +4,5,6,17,29 +7,16,27,49 +6 +3,6,14,20,22,41 +5,6,7,9,12,22,46 +13,14,29,44 +5,7,14 +5,6,29 +6,26 +5,6,13,21 +6,28 +6,14,17,50 +6,43 +5,15,48 +6,14 +6 +5,6 +6,16,17,49 +6 +6,25 +4,5,13 +5,6,22 +6,22 +2,6,8 +5 +6,7 +6,20 +6,23 +4,13,14 +6 +4,6,7,27,34 +5,6 +14 +6 +5,7,17,46 +6,14,23 +14,19,22 +7 +5,14,17,25 +3,5,6,7,44 +6,15 +3,4,6,20,22 +7,8,14,31 +4,5,6,42 +5,6,7,14,15,17,20 +6,22,23,27 +6,14,27 +5,6,20 +3,5,6,26 +6,22,36 +2,5,6,46 +14,36 +3,6 +4,6,14 +4,5,6,14,34,50 +5,14,17,22,47 +7,14,22,25 +6,20,25 +6,9,13,14,17,25,42 +5,12 +2,3,4,5,6 +2,3,6,12,13,19,48 +6,24 +6 +6 +6,7 +6 +5,6 +6,22 +4,6,14 +3,6,20 +6,7,20 +5,6,7,30 +3,20 +5,6,7 +4,6,22 +11,20,31 +5,6,24,34 +5,6,14,17,41 +6 +6,7,28,31,42,43 +2,6,16 +6,14,30 +7 +6,20 +6,25,50 +5,18,23,25 +6,17 +26,38 +4,5,6,8,12,14,17 +6,14,29 +5,48 +5,6,20,23 +5,14 +6,11,14,26 +5,6,16 +4,5,6 +4,5,6 +7,20 +3,5,6,14,25 +4,5,22 +6,15,18,41,43,45 +6,7,10,15,49 +19,31 +5,6 +5,6,14,17,39 +6,14,20 +2 +3,6,8,28 +6,41 +4,5,6 +6,7,12,30,49 +4,6,17 +3,5,6,22 +6,13 +3,4,5,6,14,31,45 +3,6,7,28,40 +2,3,6,19,51 +5 +29,51 +5,6 +3,6,14,20 +4,6 +14,18,20,36 +6,14,17,18 +3,6,14,18 +5,28 +8,14,38 +4,14,46 +4,6,14,17 +6,17,19,25,27 +6,22,30,35,38 +2,5,13,14 +3,6,7 +3,6,28,45 +6,24,29 +3,6 +5,6,7,9,14 +5,6,18,27 +14,15,19,22,29,42,43 +0 +11,17,18,50 +5,14,23,31,42 +6,14 +5,21,38 +6,14,29 +6 +4,6,7 +14,42 +3,6,29 +2,4,17,25 +6,14 +5,9,19,22 +5,6,14,40,42 +6 +6,44 +4,5,6,13,19,22 +6,22 +2,5,6,22,32 +3,20 +5,6,23 +6 +6,22 +6 +4,5,20 +3,6,41 +5,6,14,42 +2,4,5,6,25 +4,6,22,25,42 +5 +3,6,25,29 +5,6,7,16,39 +3,5 +2,6,14 +5,6,15 +5,6,43 +5,6,8 +3,7,8,25 +6,17 +3,29 +4,5,21 +28 +4,5,6,7,13,30 +0 +0 +7,39,50 +9,14,18,20,36 +6,9,14 +6,33 +5,6,8,14 +3,6,50 +5,6,14,22,39 +3,5,26 +6,22,33,48 +4,6,15,17,30,38 +6,8,14,28,32,47 +6,7,21,25 +6,7,17 +5,11,14,32,40 +5,6,7,21 +28 +6,10 +3,4,6,14 +6,7,13,47 +4,6,10,20 +2,5,13,20 +7,29 +20,27 +3,10,22 +2,5,12,14,22 +6,14 +6,17,22 +19,42 +4,5 +4,5,6 +6,14,36,37 +3,5,6,14,22 +5,6,16,25,29 +5,6 +20 +6,14 +6,14,18,22,51 +5,6,14,31 +3,6,17,20 +5,6,28 +0 +5,6,14 +2,6,17,48 +6,12 +2,3,4,6,14,17 +6,20,22,32 +4,5,18 +6,14,27 +14 +6,10,20,44 +25,39 +5,6,7,29,42 +3,6,20,21,23,43 +3,6,8 +6,22 +6 +0 +5,6,30 +6 +33 +4,5,6,13,31 +2,5 +16 +7 +4,6 +3,5,6,7 +6,14,15,25 +6,14 +5,14 +0 +6,7,14 +3,6,25 +4,6,17,24,46 +5,14,17 +6,11,14,37 +4,19,28 +14,19,36 +5,7,9,35 +6,9,12,22 +3,25,26,37,45 +3,7 +3,6,22 +5,6,11,22,30,32 +6 +5,48 +2,6,31,42,51 +4,6,10,13,14,15,22,46 +6,21 +2,5,11,14,25 +2,5,12,13,43 +2,23,49 +4,6,22,50 +6,14,21 +5,12,33 +20 +6,16 +4,5,6,13 +18 +6,19,36 +3,5,6,15,25,28 +2,6,14,21,40 +6,7,20,26 +5,6,10,17,20 +17 +6,21,33 +5,14 +3,4,6,14 +5,12,21,29,51 +6,16 +2,5,22 +6,15,28 +4,6,31,42 +5,6,44 +5,6,7,8,9,34 +6,20,39 +4,6 +4,6,20,35 +6 +2,5,6,21 +6,14 +3,5,6 +6,16 +4,6 +6,17,28 +6 +22 +6,36 +7,14 +3,6 +3,5,6 +6,21,22 +2,4,6,25,36 +3,6 +6,9,16,46 +6 +3,10,14,26 +4,5,6,17,20,22,49 +2,6,14,16,38 +27 +6 +5,6 +4,5,12,16,22,28,46 +5,13 +5 +2,22 +5 +2,6,14 +5,6,7,20 +9,14,37 +6,7,23,28 +6,28 +6,14,20 +12,16,17,29 +6,44 +4,5,6 +6,7,16,43 +5,9,12 +14,20,43 +6,7,13,15 +6,14,20,21 +3,6,14,15,22 +5,6,43 +3 +12 +6,30,33 +5,11 +3,6,14,27 +4,6 +3,6,20,22,39 +5,15 +6,14,20,21,28,40,44 +5,6 +6,20,45 +0 +3,6 +4,6,15 +3,6,14,21 +6 +4 +6,37 +6,8,21 +4,7,9,17 +6,17 +4,5,6 +6,25 +3,5,6,38 +3,6,12,14 +6,11 +6,10,13,28,50 +4,28 +6,34 +3,6,21,45 +2,6,21,29 +14,17 +3,4,42 +48 +4,17 +4,6,44 +6 +5,6,14,23 +3,5,6,7,20 +3,13,18,23 +5,23,36 +6,7,14,30,46 +5 +6,9,49 +5,42 +6,41 +5,7,10,13,46 +49 +5,6 +3,6,12,13 +6 +3,6,13,14,23,28 +6,37 +6 +3,5,13,21 +8,10,36 +4,6 +25 +6,14,31 +3,4,14 +5,6,29,51 +4,14,25,51 +4,8 +2,5,14 +3,5,6,7,12 +7 +4,6 +6,21 +6,36 +4,6,21,26,33,46 +0 +2,3,6,15 +13 +5,43 +4,30 +4,6,7,15,29,31,38,43 +2,6,9,30,41 +3,5,6,10,22,35 +20,23,40 +6,15,16,31 +5,6,17,20 +3,6 +9 +4,6,17,29 +5,6,14,21 +4,5,6,21,40 +5,6,7,14 +6,17,36,42 +5,14 +6,8 +2,6,9,46 +6 +4,5,6 +6 +6,22,38,47 +5,6,13,20,27 +6,10,14,31 +3,4,22 +6,15,19 +2,4,5,30,42,48 +4,14,45 +5,16,22 +6,18,20 +14,16 +3,5,6,28 +44 +5,10,14,18,22,48 +3,4,5,6 +10,25 +17,49 +4,5 +6,20 +5,6,13,20,45 +16 +0 +6 +5,6 +12,20 +6 +5,6,38 +4,6,17 +6,13 +3,6,13,20,36 +6 +12,14 +5,6 +6,26 +5,6,20,25,35 +3,6,14,26 +6 +4,5,22 +2,6,7,20 +4,5,6,12,13 +20,46 +4,5,12,14,27,38 +4,6,12,22 +5,6,18 +5,6,20 +6,22,50 +3,6,49 +3,5,6,7,12,23,25,41 +3,7,14 +4,6,36 +6,27,44 +3,6,14,22 +3,20 +6,8,33,43 +6,14 +5,6 +6,17 +2,5,6,25,37 +3,4,10,13,29 +6,18,40,46 +6,8,14,18,44 +3,6,27 +3,4,5,6,9 +2,6,8 +6,13,19 +2,6,12,17 +0 +0 +6,7,14 +5,6,19,23 +2,3,7,44 +7 +6 +3,4,7,32 +6 +6,14 +5,49 +8,23 +4,6,23,28,33 +20 +4,5,6,14 +5 +4,5,6,10,19,29,42 +15,30 +6,13,30,46 +6,11,20,26 +6,21 +2,14,18,43 +4,10,25 +5,7,22 +6,7,41 +20,31 +4,6,14,40 +10,28 +5,6,12,14 +5,6,7,23 +3,18,22 +6,12 +4,6,13,14,19 +2,5,6,21,31 +6,8 +14 +2,10 +6,7,21,27,34 +3,5,13,18,26 +6,11 +34 +6,51 +4,6,10,29 +5 +5,6,14,21 +4,6 +4,5,11 +3,6,22,38 +2,6,10,20,22,33 +5,6,30,33 +6,14,17 +6,9,20,27,30 +14,25,36 +6,7,15,19,21,24,25 +5 +5 +5,6,12 +14 +4,5,6,14 +6 +6,14,16,30 +4,5,6,19 +3 +12,13,14,44 +6,50 +5,6 +6 +5,8,21 +2,3 +3,6,14,28 +5,6 +3,4,6,20 +6,7,15 +4,5,6,12 +6,13 +6,27,31 +6,22,25 +6,14 +30 +6,14,15,46 +6,13 +6 +2,9,28,39 +5,6,10,14,21 +3,6,9 +5,22,29 +5,6,12,16,22,26 +6,44 +3,4,5 +25,28 +4,6,20,49 +5,6,14,46 +3,15 +4,25 +0 +6,25 +6,14 +4,6,13 +3 +6,28 +5,6,22 +4,5,6,7,42 +31 +14 +5,6,10 +6,11 +4,5,6,25 +6,46 +6,13,24,27 +4,5,6,18,21 +6,11,23 +4,6,20,22 +6,12,20,29,37 +5,6,7,25,43,46 +40,45,50 +5,22 +6,7 +4,6,10,25,30 +4,5,17 +4,6,7,22 +6,22 +4,6,22,25 +5,6,16 +5,6,7 +6,14,48 +6,7,14,20,33,46 +6 +4,5,41 +3,5,13,27,29 +6,14,16 +5,21,37,38,47,49 +14 +6,7,13,24 +4,5,6,14 +5,6,19 +6 +6 +5,11 +5,11,46 +4,5,6,39,40 +16 +4,6,14,21,28,41 +6,14,18 +5,6,20,38 +7,16,36,46 +13 +5,14,20 +3,6 +5,12,21,26 +4,6,10,13,22,26 +6,29 +2,3,6,28 +3,19 +6,47 +4,7,14,15,25 +3,6,18,36 +2,5,6,21 +2,3,5,6 +6,13,14,17,23,30 +5,20,31 +16,22,37 +5,6 +5,6,36,42 +5,6,14,22 +5,6 +23 +5,14 +3,6,42 +6,7,12,23 +5,6,13,25 +6,7,17,41,42 +4,6,22 +3,4,5,10,25 +6,36 +5,6,25,31 +3,6,14,15 +5,6 +5,20 +6,14 +3,6 +5,6,23 +5,6,13 +2,6,22 +3,6,19,22 +6,22 +2 +3,13,31,49 +5,6,14,21 +2,5,37 +4,5,6,16,20 +3,5,16,25 +4,5,50 +6,7,16,17,22,25,35,39 +3,4,6,18,21 +6 +6,32 +5,6,22 +5,6,18 +6,7,10 +5,6,22,25 +5,6,17 +8,12,40,46 +4,5,6 +2,5,6,22,44 +10,23,42 +4,6,13,25,46,49 +6,32 +5,6,16,17 +6,17 +6,11,14,20,33 +6 +5,6,7,21 +6,14,16 +5,6,14,17 +0 +5,6,14,35 +22 +2,5,6,12,46 +5,14,16,49 +5,6,14,17,18,48 +5,6,19,28 +6,14,18,19 +14,16,30 +6,10,13,15,17,27,38 +5,6 +4,14,16 +5,14,24,29 +5,29 +6 +4,6,12,17 +3,6,16 +6,11 +4,14,30 +5,6,25 +3,6,15,25 +4,6,21,46 +6,17,24,28 +6,7,8,23,25 +2,5,6,14,19 +4,5,37 +49 +5,6,7,13,17 +5,17,48 +2,6,22 +5,6,14 +4 +30 +6,17,25 +6,10,14,40 +7,13 +3,6,22 +6,14,18,22 +2,6,8,14,24 +5,6,49 +5,6,7,13,17 +25 +5,6,15 +3,6,12,20 +6,7,20 +3,5,6,25 +5,6,13 +6,25,26 +4,10,14,28 +3 +5,6,7,14,26 +6,41 +6,14,45 +6,17,30,42 +3,6,7,41 +5,6,13,17,38 +5,6,14,42,51 +17,18,20,25 +6,7,29 +5,6,44 +5,31 +13,25,48 +6 +6,14,18,48 +4,6,10,31 +6 +3,14,15,16,25 +4,5,6,38 +5,6,14 +36 +2,7,12,18 +3,13,43 +4,5,18,30 +6,10 +3,6 +6,25 +6,14 +6 +4,6,17 +6,14 +5,6 +5,6,19 +6,10,29 +4,6,13 +5,6,12,14,28,37 +2,4,5,6,11 +5,6,7,50 +5,7,12,19 +0 +14,17 +6,10,15 +6,25 +6 +6,22,49 +6,20,22 +6,7 +6,14,21,28 +5,6,23,47 +5,6 +5,15 +5 +4,6,11,14,46 +5,6,20,22 +6,14,17,43 +5,7,19,49 +4,5,6 +5,6,13,34 +3,4,5,6,16 +3,5,6,45 +2,15 +5,6,31 +25 +5,6,14,18 +5,17,20,41 +0 +4,6,35,47 +35,41 +50 +6,7 +4,5,6,13,49 +5,6,10,13 +4,6 +6,17,19 +3,6 +4,6,7,21,33 +18,22,43 +6,14 +20,46 +6,14,20 +6,33 +5,6,8,10,14,21,45,51 +5,6 +6,9,22 +6,14,22 +3,6,44 +19,28 +4,14 +2,4,6,12,16,51 +13 +5,6,14,20,44 +7,42 +3,5,6,20 +6,7,14 +5,6,14 +6,35 +5,6,17 +6 +5,9,14 +4,6,14,18 +6,7,13,14,25 +5,6,14,16,19,44 +6,8,49 +5 +5,6,12,29 +5,6,14 +3,5,6,14 +3,5,6,7,19,44 +5,6,22 +6,20 +5,6,28 +5,6 +15 +6,13,15,38 +6 +5,6,43 +2,14,25 +3,5,6,14,34 +4,5,14,25,30,44 +3,18,27 +6,14,22,40 +5,6,14,36 +6 +5 +6,20,50 +6 +4,14,22 +6,15,41 +5,14,25 +6,16,25,38 +2,6,25,29,30,32 +6 +3,6,10,13 +4,5,6 +6 +17,50 +6 +5 +3,6,14 +2,6,7 +4,5,6,13 +6,14,20 +3 +3,6,28,42 +6,13,14,48 +6,23,25 +6,14,28,45 +34 +6,14,44,46 +4,6,14,22 +6,17,18 +4,5,6,47 +6,19,39,41 +6,49 +3,4,6,7,8,31 +6,14 +6,26,31 +3,6,14,48 +5,21,22,31 +3,4,5,6,7 +3,5,6 +6 +6,20,29,36 +5,6,10,22 +3 +4,6,37 +6 +2,10,22,45 +6,37 +4,6,14 +6,21,25,29 +3,5,6,14 +7,25,50 +5,6,10,27 +4,5,6,17 +6,22,42 +37 +6,10 +6,9,21 +25 +3,5,6,13,14,21,46 +3,5,6 +6 +3,4,5,20,21,27,30,36 +4,6,11 +2,5,6,44 +6,12,13,15 +3,10,14 +5 +6,9,14 +4,5,6,28 +10,14 +0 +3,6,14,17,33,38 +0 +6,10 +3,5,6,37,45 +5,6,9,28,33,36 +3,14 +4,5,6 +6,17,27 +6,12 +5,6,11,17,21,25,30,38 +6,14 +3,14,35,36,42 +5,6,8,23 +6 +14,20,32 +6,14 +6,13,32,37,46 +2,6,18,32,50 +4,18,22 +6 +3,7,19,25,28 +6 +2,6,7,25 +4,5,6 +5,6,51 +6,7,29,34 +5,9,14 +6 +5,16 +6 +20,28 +3,16,22 +5,6,7,9,47 +6,43 +4,7,14,15,25 +5,6,9,40 +5 +3,4,6,10,31 +5,11 +3,6,43 +4,6,14 +6,9,25 +4,20 +6 +6,20 +5,6,14,29,49 +6,10 +6,9,10,22,42 +6,31 +4,5,6 +6 +17 +5,6,7,13,17,30,51 +4,5,38 +6,7,21 +6,37 +11,17,22 +3,4,6 +3,6,18,28,30,34,42 +6 +6,7 +6,13,15 +4,6 +0 +13 +6,15,25,38 +4,6,14,28,38 +6,14,38,44,51 +5,6,21 +4,5,6,22 +7,18 +3,6 +14,49 +4,5,6,7,10,15,22 +4,6,49 +6,16,21,22 +4,5,6,7,20 +6 +7,8,14,41,43 +6,21 +5,6,19 +4,6 +4,6,19,23,25 +3,5 +3,6,21,30 +4,6,14 +14,15 +0 +5,6 +6,16 +7,14 +6,14 +14,17,19 +6,23 +4,5,6,13 +3,5,7,11,30 +5,14,21,29,44 +30,42 +6,43 +4,6,22 +5,6,29 +3,6 +5,14,21,28 +22,47 +2,6,17,22 +8,14 +5,6,7,16,19,20 +3,6,48 +3,5,6,21 +6 +4,6,10,14 +6 +25 +4,21,23,27,32 +3,4 +2,6 +3,4,6,27,43 +6,14 +5,6,13,30,31 +6 +5,14 +6,14,43 +6,14,22 +6 +5,6 +7 +6,7 +3,6,25 +4,6,13,14 +5,6,20 +3,6,7,19,22 +6,14 +6,13,42 +6,7 +22 +6,13,14,43,46 +4,5,6,13,14 +0 +5 +4,5,6,8,10 +4,5,25 +6 +5,6 +6,7,37 +3,4,6,11,12,29 +4,6,10,35 +25,29,30 +5,6,17,25,27 +3,4,6,10,17,22 +6,11,13,17,22,25 +3,6,13,49 +5,6,25,26,32,36 +14,22 +4,6 +6,14,18 +13,14,17 +3,6 +5,6,21,44 +5,6,7,8,25,50 +6,32,42 +12,47 +29,35 +5,6,10,14,16 +5,6 +6 +5,6,51 +4,5,15,20,48 +6,14,44 +5,6,14,37 +6,14 +5,6,14 +3,5,20 +6,8 +2,3,6,10,14,20,27 +5,6,7,17 +4,6,18,20 +6,14,25 +2 +4,6,14,17,20,22 +5,19,22 +5,6,21,33,42 +6 +6,19 +47 +6 +12,13,28 +6,25 +5,12,14,31,34,36,43 +7,34 +6 +4,5 +18 +6,14 +5,6,10,17 +2,3,4,6,17,43 +4,49 +3,5,6,7 +4,5,14,17,25 +4,5,6 +4,6,7,19,34,48 +3,4,14 +4,6,14,19 +5,6,17,23 +6 +6,17 +18 +6,7,28 +4,6,7,14,28,30 +5,42 +0 +4,6,7,14 +3,5,6 +2,6,17 +5,6,14 +2,5,14,32 +5,6,7 +4,6 +6,14 +5,6,8,13 +38 +2,3,6,7,19,21 +5,7,14,45,50 +2,5,6,23 +3,4,5,6,14,15,17,22 +5 +4,6,13,33 +5,40,47 +4,5,7,14,16,31 +4,5,6,14,25,42,43 +6,50 +3,4,5 +7 +3,5,6 +4,6,14 +4,6,21 +6,20 +3,6,7 +33 +4,12 +6,13,14,25,36,37 +3,6 +5,14,22,33 +2,6,12 +6,14,25 +6 +6,28 +6,27 +5,6,14,48 +5,6,10,11,12,21 +6,41,46 +6,22 +5,6,35 +3,6,14,26 +3,6,14 +5,6,8,15,31 +4,6,14,17,50 +5,6,7 +6,23 +5,6,11,13,14,21 +11,14 +23 +4,6,15,20,26 +4,5,18,26 +6,13,14,29 +6,12,14 +2,18,22,46 +6,22 +3,6,9,17,18 +0 +2,6,17,31,48 +4 +7,41 +6,15,18,21 +6,36 +6,9,14,43 +5,6,8,9,10 +4,6,14 +6,10,17 +3,5,6,15 +5,8 +6,25,28,41 +6,20 +3,6,14,19,42,47 +6,14 +6,14,25,46 +4,5,6,14,25,34 +2,3,5,6,7,15 +2,4,11,14,31 +6,8,21 +3,5,32 +5,6,11,14,42,50 +5,6,22 +4 +2,5,6,14 +4,6,27,48 +6,9,14 +5,6,50 +14,19 +6,33 +6 +6,10,13,20 +7 +5,17,29 +6,17,20,22 +0 +5 +2,6,14,23,29,46 +7,8,14 +5,6 +21,35 +5,6,17,35 +4,5,14,20,34 +8 +5,29 +6,10,17 +4,12,41 +5,7,15,17 +5,18,23,35 +2,5,14,15,26 +6,37,45 +4,6,17,35 +5,12 +4,17 +6,7,24,28,46 +5,14 +5,6,45 +6,14 +5,6,22 +5,22,30 +6,14 +5,6,14,42 +6,25 +6,14,16,30 +6,13,44 +0 +3,5,6,8 +3,6,50 +14,32 +6,10,20 +5,6,29 +10 +3,6,14,20 +6,10,15,22,38 +6,46 +6 +3,6,34 +3,24 +6,42 +5,6,14,35 +3,4,6,7,15,17,18,20 +2,4,13,16,17 +6 +6,22,35 +4,6,21,25,28 +6 +3,4,6 +4,6,14 +3,5,6,7,10,50 +2,4,6,10,22,28,40 +3,6 +4,6,19,26 +3,5,6,7 +3,5,6,46 +0 +0 +4,5,6,37 +6,35,41,42 +5,6,13 +2,6,13 +4,5,7,17,30 +19,22 +3,4,6,18 +5,30,33,38,49 +3,6,14 +6,13 +4,6,29 +6,25,44 +6,12 +4 +3,6,18,19,33,49 +4,6,34,41 +6,42 +5,14,40,51 +3,6,10,39 +5,6,20,33,46 +5,6,14,16,20,22,35 +6,10,18,21,42 +4,6,16,20,42 +6 +6,15,29 +0 +6,25 +2,3,28,42 +4,5,6,19 +5,7,14,49 +4,5,6,44 +6,17 +4,5,7,11,14 +21,22,23,31 +5,6,29 +20,25 +5,6,14,21 +3,4,5,9,15,21,25 +2,6,17,20,23,50 +6,13,51 +5,6,7,13,17 +4,5 +6,36 +2,6,12,29 +6,33 +4,6,20,25,48 +4,6,14 +16,48 +7,37 +6,17,20,21 +6,7,10,14 +5,17 +7,14,40 +4,6,19 +6,14,16,17 +3,6,7,22 +4,5,6,13 +4,5,6 +5,6,25 +6,29,44 +6,22 +4,6 +6,20 +6,21 +14 +22 +4,7,14,16,33 +6,31 +5,6,7,14,21,27,41 +6,14,19 +6,25 +5,6,21 +5,6,31 +7,14,15 +6,20 +5,6,30,38 +2,5 +5,6,7,14,16,18 +5,6,17 +5,6,14 +6,18,30 +5,6,17,46,49 +3,6,7 +20 +3,6,41 +6,7,12,25 +0 +6,20,49 +6,25,27,32,38 +6,11,19,28,48 +3,5,6 +6,23,25 +6,12,43 +6 +6 +5,14 +27 +3,5,6,51 +5,6 +3,5,6,20,47 +3,5,16 +6,7 +26 +6,17,29 +5,11 +6,46 +5,6,46 +5,27 +7,8,45,50 +4,6,21 +5,6,18 +6,14,20 +6,26,33 +27 +6,13,17,20,21,44 +4,48 +6,28,42 +12,16 +4,6,12,17 +5,6,13,44 +6,19 +12,25,31 +3,6,7,21,37 +13 +5,14 +3,6,14 +5,6,7,16 +14 +19,22,36 +12,50 +3,5,6,7,46 +5,6,16,25 +35 +6,35 +3,6,22,26 +6,8,15,37 +4,6,7,17,25 +12,20 +6 +3,37 +6,14,41,42 +5,49 +4,5,7 +6,19 +4,6,25 +5,6,29 +3,6,13,17,28,31 +4,6,12,14 +6,49 +6,7,17,48 +3,4,6,23 +20 +5,6,27 +3,4,5,6 +5,7,10 +4,5,6 +6,15,45 +4,6,47 +3,22,23 +24 +6,7,18 +5,7,18,37,50 +6,19,37 +6,7,30,43 +5,6,10,13,50 +4,5,14,37,51 +5,6,20 +6,7,15,17 +5,6 +5,6 +6 +6,21 +5,6,7,22 +6,25 +6 +6,22 +6,14 +6,21 +6,7,25,41 +19 +6,13 +0 +3,6 +6,14,15 +3,6,14,25 +6,13,21 +7,16,22 +6,14,38 +5,6,16 +5,6,17 +3,4,7,15,45,46 +5,6 +6,20,35 +6 +5,14 +4,6,14,48,49 +2,5,6 +22 +6 +3,6,14 +2,3,5,6,14,46 +4,5,7,22,35 +5,14,19 +6,8,17 +5,6,26 +6,12 +6,10,29 +7,47 +3,5,25,33,36 +6,17,22 +3,10,14 +3,20,35,46 +5,6,18,25,32 +5,6,7 +14 +7 +5,6,12,35,36 +22,36 +12,19 +5,22,27 +4,6,14 +4,5,6,14,20,41,44,51 +6,18,47 +6,47 +6 +5,6 +3,20 +6,15,22,34 +4,5,6 +3,5,6,7,14,18,48 +6 +6,16 +4,6,14,47 +5,6,7,14,20,31 +3,5,6,14,35 +6,8,22 +5,6,14,19 +5,10,11 +3,6,12,14 +5,6,16,25,49 +18,29 +4,5,6 +6,17 +6,22 +2,5,6,18,30 +3,6,12,14,22 +6,25,36 +4,39 +3,6,12,14,18,22 +4,6,26,44 +6,17,25,37 +5,6,21,37 +6 +14,15,19,42 +5,6,14,18,38 +14 +6,25 +3,6,22,28 +20 +6,40 +6,17,21,41 +4,19 +7,27,28,40 +6,14 +5,25,34 +5 +6,14,38 +4,5,25,44 +4,6,17 +6,12,19,41 +6,22,49 +6,14,20,37 +3,17,18,27 +5,22 +6,41,42 +4,7,8,14,17,20 +6,38 +3,4,6,22,47 +3,4,6,8,12,30 +5,6,8 +6,13,15 +5,17,20 +4,6,15,51 +6,24,27,41,51 +3,6 +3,34 +2,14,23 +6,7,15 +6,22,29,42 +5,6,12,13,15,18 +4,6,36 +6,14 +5,6,17,20,46 +3,6,12,16,34 +5,19 +5,6,10,17 +5,6 +6,7,13,14,17,22,51 +6 +6 +3,5,6,21,22,35 +6,7,21,42 +10,20,27 +3,4,5,6,27 +5,6,40 +5,14 +5,6,14,22 +4,6,7,47 +3,6,20,27 +5,6,14,16 +2,4,5,51 +6,20 +6,7,14 +4,5,6,12,14 +6,7,14,28 +4,6,14,16,20,22 +15,22 +5,6,41 +3,6,25,29,37 +3,6,21 +6,7,40 +5,6,14,51 +3,5,6,14 +5,32 +6,25 +3,5,6,19,20,27,49 +4,6 +6,17 +2,6,10,19 +4,6,13,18,21 +3,6 +3,6,44 +0 +3,5,46 +5,8,20 +3,5,6,7,17,24 +4,6,48 +6,14,15,16 +5,6,14,18 +4 +14,22 +6,14 +5,6,14 +3,6,20 +0 +14 +5 +3,4,5,6,14,16 +2,6 +6,14,17,20 +6 +3,5,6,16,39,50 +4,13,28 +2,5 +4,6 +6,14,34 +6,14,20 +4,5,7,24 +4,6,13,32,45 +4,12,14,29 +3,5,14,30 +5,14,23 +6,19,21,25 +6 +3,4,5,6,8,32 +6 +6,14 +5,6 +6,14,30 +5,6,25 +4,6,7,8,13,33 +5,6,20,28 +5,6 +5,6,14,17,30,32 +4,6 +2,5,6,14,17 +5,6,29 +5,28 +5,6,13,43 +5,14,25 +4,5 +6,12 +20 +6,18 +12,14 +4,5,6 +4,6,27,29 +3,6,20 +6,12,14,39 +5,6,14,16,46 +4,5,7,11,13,40 +6 +6,11,16 +14,24,28 +3,4,6,20,21 +4,5,6,10,36 +5,6,23 +6,7,15,28 +6,25 +4,6,10,14,20 +5,6,13 +6,12,39 +4,6,7,45 +6,20,45 +6 +5 +2,4,6,17 +5,6,7,14,22,46 +3,6,16,19,42 +3,41 +6,7 +3,6,7,17 +4,22,25,28 +6,15,38 +7,28,49 +5,6,7,25 +2,4,5,6,7,22 +5,6,17 +0 +6,14,19,22 +3,13 +3,6,13,33 +4,5,11,20,36 +6,22 +3 +7,14 +7,28 +4,48 +7,14,19,20,22 +3,6,14,22 +4,6,8,9,36 +6,11,22,25 +4,5,6,16,17,42 +3,14 +4,5,6,12,21 +4,14,23,39 +2,5,6,28 +7,14,20,35,36 +6,14,38,51 +6,36 +3,20 +5,22 +6,11,36 +5 +5,6,7,10,16,46 +5,6,12,14,15,25 +6,18,25,26 +4,11,38 +12,22,35 +6,16,49 +5,6,19,39 +2,3,6,20,49 +3,7,14,23 +8,14 +5,6,7,36,40 +5,6,27 +4,6,15,17,19 +3,5,6,7 +3,5,6,7,14,25,44 +4,5,6,22,25 +4,5,6,7,10,13,14,28,33 +5,6,15,16,24 +6,14,17,44 +5,6,7 +3,5,6,10,34 +5,6,25,29 +5,6 +5,6,44 +8,21,30,41 +6,9,15,39 +21 +5,7 +6,14,32 +4,6,30 +3,6,7,21,25,42 +6,32,47 +5,7,17,28,38 +6,20 +6,14 +3,5,6,30 +5,14,40,50 +5,13,21,43 +6,32 +5,6,12 +31 +3,30,33 +5,6,22 +5,6 +3,6,14 +12,28,51 +0 +5,11,14,15 +6,7,28 +6,46 +5,6 +2,4,6,17,22 +6,22,42 +6,14,17 +3,6,12,17,26,46 +2,4,6,7,20,21 +6,42 +3,4,5,6 +6,14,21,25 +3,6,22,43 +6 +4,6,7,14,17 +6,7 +6,14 +4,6,14,48 +0 +3,5,6 +6,7,19,36 +23,28 +46 +6,9,14 +3,5,6,32,35 +4,5,6,23,31 +6,7,12,21,29 +6,14,17,41 +13,36 +5,6,16,20 +3,4,5,10,16,43 +3,4,25 +5,6,8,14,17,22 +5,14,43 +6,16,42 +3,6,32 +25,26 +6,14,16,35 +15 +5,6 +5,6,25 +6,14,15 +6 +6,7,9,14 +2,6,7,21,46 +6,17,24,25,43 +5,6,14,46 +5,6,7,28,33 +20,49 +11,14,20 +2,6,14,20 +6 +6,14,35 +0 +6,15,20,28,32 +5 +6 +4 +6,14,17,25 +3,6,10,13 +5,8,22,46 +3,6,17,20,21 +7,28,49 +5,6,42 +10,20,25 +4,5,6,14,17,21,51 +25 +6,7,22,33,47 +5 +5,6,8,27,42,43 +14 +3,6,7 +6,9,24,47 +4,5,22,25,45 +4,6,34 +3,12 +20 +36 +6,11,22 +5,6,7,30,50 +14,22 +14 +6,25 +4,5,6,14,42 +2,6 +5,6 +3,4,6,14 +2,14,20 +26,40 +20 +6,19,22,25 +4,6,20,22 +5,6,15,17 +6,16,20,46 +6,15 +5,6,15 +6,38 +5,6 +6,14,22,34,36 +5,6,7,13,14,24,35,49 +3,6,36 +6,22 +6 +5,15 +5,6,14,16,28,48 +4,20 +6,7,18 +6,7,16 +35 +6,32,41 +5,6,18 +3,6 +6,23 +5,6,7,40 +3,5,7 +5,6 +6,49 +5,6,15 +4,6,21,25 +4,6,11,21,40 +3,5,13,14 +2,4,23,37 +5,6,17,27,43 +4,6,14,22,28,41,45,47 +6,14,19,50 +0 +5,6,20 +4,6,11,14,16,33 +3,5,6,39 +5,6,14 +14 +6,14 +5,6,17,22,29 +7,15,16,38 +5,6,7 +4,28 +5,6,21,25,28 +6 +6,34 +5,6,31 +5,6,12,17,23 +6,20,25 +6,14,22,44 +5,6,15,17,22,27 +5,6,51 +2 +5,6,41 +6,10 +2,3,5,6,24,25,31 +2,4,6,13,14,17,42 +3,5,8,14,20 +2,7,14 +5,6 +2,3,4,5,6,14,18,35,39 +6,42 +6,7 +4 +5,6,15,18 +2,6,12,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +5,7 +6,26 +5,6,14,42 +4,6,7,37,44 +6,28,33,47 +12,28 +5,17,22,51 +6,8,9,21,25,29 +4,6,22 +6,8 +5,6 +6,14 +5,6,13,41 +22,24,39,51 +6,14,17,25,31,42 +6,19 +6,14,35 +6,14,38 +6,12,14 +3,5,6,14,20,25 +5,6,28,48 +4,6,15 +4,12,46,51 +2,3,5,6,17,20,51 +5,6,26,28 +3,5,6 +6,29 +4,6 +4,14,41 +4,6,7,14,50 +6 +6,17,47 +5,6,8,14,20,21,25 +5,6,14,26,33 +6,16,17,28,29 +3,5,6,16 +3,8,44 +25,48 +6,28 +3,6,13,38,49 +0 +0 +4,5,6 +6,12,19 +6,7 +2,5,6,7,36 +5,6,7,14,21 +4,6,14 +6,17,42 +26 +5,13,14,39 +5,6,7,32,34 +2,5,6 +6,37 +3,14,41 +5,17 +3,14,16 +4,5,14 +5,17 +6 +6,16,22,24 +5 +3,14,20,29 +3,5,6,10 +13,14,18 +4,14,16,43 +7,33,43 +5,22 +5,6 +6,12,13,20,36,41 +6,22 +6,17,24,28 +0 +2,4,5 +6,20,43 +6 +6,10,14 +5,46 +4,6,32,38 +4,6,8,28,32,35 +6,14,19,20 +7,15 +6,7 +2,5,6,16 +6,17,42 +4,6,25 +4,6 +3,4,5,6 +5,6,7,19,21 +4,6,25,49 +7,30,31,49 +5,14 +6,12,14,28,37,48 +14,29 +6,14,32 +3,14 +6 +5,6,14 +6,7,25 +5 +5,11,23 +5,6,14,22 +0 +6,34 +6,19,20,24 +3,4,6,14 +6,7,51 +4,5,6,9,12,17,25 +14,17,18,19,22 +5,44 +6,25 +5,6,12,14 +3,5,6,12 +5,6,17 +3,5,6,12,13,47 +24 +6,15,22,46 +5,50 +6,20,46 +6,17 +6,12,14,19,25 +5,46 +6,19 +3,6 +6 +3,6,17,21,49 +5,6,12,28 +3,38 +6 +6,14,21,25 +5,6,14 +2,14,23 +3,5 +5,6 +6,17 +6 +6,7 +4,5,13,20,22 +3,6,32 +3,4,5,6,14,41 +2,16,42 +6,17,29 +6,14,21,48 +3,5 +2,6,14 +29,40 +5,6,30 +5 +31,38,39,49 +2,3 +7,14,17,20,31 +10,14,20,31 +6 +17 +5,6,14,47 +3,5,14 +6,13,15 +5,6,35 +4,6,13,20 +5,6,7,14,17,36 +5,6,19 +6,31 +5,6,14 +4,7,17 +2,5,6,14 +4,5,6,18,20 +19,42 +6,22,47 +3,6,42 +3,5,6,7,14 +6,14,15,32 +6,23,41 +6,14 +5,6,16,17,21,28,41,48 +5,6,13,20,44 +3,6,16,20 +6,13,14,28 +5,6,14 +2,17,25 +6,18 +6,9 +5,6,14,17,20,30,31 +4,6 +4,5,14,22,28,46 +6,14,17,25 +5,22,31,47 +4,5,6,7,44,46 +5,14,27 +3,16,42 +2,5,6,13,22,23,36,44 +3,4 +6,12 +3,6,39 +0 +6 +2,5,7,14,30 +6,16 +2,6,17,37,48 +4,5,6,13,25,42 +4,46 +2,17,22 +3,4,5,6,14,16 +21 +4,5,6,27 +5 +5,6,44,46 +6 +4,6,7,16,18,20,46 +2,3,4 +2,4,6 +2,5,6,11,14 +5,6,7,14 +4,6,11,28 +5,6,21 +5,6,13,17,20,21 +4,5,6,7 +6 +12,14,24 +5,7,14,28 +5,6,7,16,17 +6,30 +26 +5,20,36 +3 +3,5,6,19,20,25,35 +4,5,6,19 +17,36 +5,6,13,20,23,36 +3,4,5,6 +0 +4,5,23,25 +3,6,17,21,41 +7,17,22,38 +5,6 +4,6,14,25,34 +2,5,6,14,44 +6 +2,5,6,14 +5,7,19 +6,14,16 +6 +5,13 +2,16,20 +5,6,12,18,20,22 +38 +5,21,36 +6,14,25,38 +5,6,14,17 +0 +6,30,51 +6,14,25 +17 +3,5,14 +6,14,34 +3,6,8,42 +2,5 +5,6,30,40 +4,6,14 +3,5,6,7,39 +6,7,42 +6,17 +3,4,6,14,20,22 +3,5,6,9,47 +5,13,22,41 +23 +5,6,14 +6,17,35 +6,14,19,21,32 +5,6,17,22,48 +6,7,25,26 +2,6,49 +5,6,8,14,22,48 +6,14,15,18,22,28 +5,6,7,22 +14,29 +4,5,6 +6,10,13 +4 +5,6,21 +6,16,21,24 +4,28 +5 +5,6 +6 +6,14,17,20,22,42 +0 +4,6,40 +4,5,6,12,20,42 +5,6,14,37 +5 +12 +6,16 +6,15 +44 +5,6 +5,6,7,11 +2,14,22,42 +6,8,15,44 +5,14,49 +2,6,14 +14,20,49 +4,6,7,13,32 +2,20 +5 +50 +2,3,4,6 +4,6,18,44 +13,22,31 +3,4,6 +6,7,14 +5,17 +6,14 +6,14 +4,6 +5 +5,6,15,25,42 +5,30 +5,6,35 +3,5 +6 +4,6,50 +2,4,6,7,14,28 +6,14,27 +6,20,25,27 +6,14,17,22 +6,7,22 +3,6,21 +4,6,14,51 +3,5,38 +6,19 +2,6,25,42 +29 +6,11,18 +5,6,16 +2,5,20,25,30,42 +44 +6,20,28,42 +14,41 +5,6,14,40,44 +6,14 +5,6 +4,6 +6,7 +4,20 +9,14 +5,6,10,14,19,22,29 +3,11 +5,6,14,47 +2,3,5,6,20 +5,10,13,17 +23 +5,19 +0 +5,6,15,28 +6,12,14,17,25,29,42 +7,17 +3,6 +6,33,49 +3,4,6,7,21,25,42 +4,16,25 +6,8,14,20 +5,6,21,50 +3,4,6,12 +0 +3,6,14 +6 +5,6,14,40 +41 +6,7 +5,9,11,14,22 +6 +6,44 +5,10,12,20 +6 +14 +6,7 +5,6,20,44 +3,5,6 +6,7,25,46 +3,6 +3,5,6,16 +12,47 +6,22,33 +5,6,8,10,11,28 +6,10,12 +6 +6,20,25,31,48 +6,20 +5,18 +5,14 +4,5 +5,25 +5,6,15 +4,6,14,17,25,30,35 +6,10,23 +2,12 +6,14 +6,22 +2,5,6,14,17 +2,5,6,7,43 +6,13,40 +8 +14 +4,5 +3,6,14,28 +6,14,37 +6,8,20,21,22 +5,6,20 +5,20,25,32 +3,14,22 +3,6,7,8,29,35 +6,17,18 +22 +6,46 +4,6,11,14 +6,14,20,29,32 +3,6,25,37 +5,8,30 +5,6,14 +5,6,18,48 +2,3,5,6,33,51 +2,6 +0 +6,17 +6,14 +5,6,13,14,25 +5,6,7,13,29,30,49 +5,6,15,17 +4,15,46 +4,12 +5,6 +6,20 +5,6,14,30,35 +5,18 +6,7,12 +6,44 +6,7,17 +3,5 +12,16,26 +8,17 +6 +3,5,6,14,25 +2,6,29,40,42 +6,7,21,37,46 +5,6,26 +17,27 +5,6,20,35 +3,5,6,17 +4,5,14,25 +3,21,27,43 +5,6,20,40 +6,11,24,51 +5,15,18,22,28,30 +17,34,51 +5,44 +2,5,34,35 +3,4,6 +7,11,28,37 +5,6,14,22,28 +3,19 +6,14,24 +6 +0 +6,14,35 +5,16 +3,11,44,51 +4,5,6,8 +5,6,12 +5,6 +18,23 +6,27 +22 +3,7,21,39,49 +5,6 +5,9,13 +3,5,6,30 +5,6,31 +6,37 +5,6,9,12,20,25,28 +5,6 +5,17 +4,6,26 +2,6,7,8 +6,24 +5,6,10,42,46 +6,22 +3,5,6 +6,9,14,15 +4,13 +5,6,8,22,46 +5,6,35 +5,6,7,23 +6,13 +6,23 +4,5,7,14,18 +5,20 +21 +5,14 +0 +2,3,6,45 +2,6,12,17 +3,4,6,25,34 +3,6 +4,6,14,17 +6 +6,14 +0 +5,6 +6,13,14 +6,17,21,23,31 +6,18 +3,11 +3,5,14 +5,25,32 +6,8,14,22,44 +3,6,17 +6,7 +4,6,37,47 +3,12 +5,6,14,19 +5,6,12 +6,11,21,30 +4,6,12,22,29 +4,22 +5,6,9,20,21,22,46 +6,30 +5,6,19,20,35 +6 +5,6 +14,24,40 +4,5,6,14 +5,6,7,41 +14,45 +6,17,19,41 +19,21,33,34 +4,5,6,14,25,35,51 +20,29,35 +3,4,6,20 +9,10 +6,25 +14 +4,6,8,9,16 +6,12,14 +5,20,48 +44 +6,14,46 +4,6,9 +4,5 +6,7,14 +5,6,25,46 +3,6,14 +2,5,6 +42 +5,6,26 +2,6,17,34 +6,42 +3,14,22,29,42 +4,5,6,7 +5,6,21,25 +3,17,23,26 +5,6,7 +25,31 +6,13 +2,5,6 +6,12 +3,7 +6,21,34 +5,6,17,34 +6,13,14,41 +6,7,14 +6 +3,6,8,14,17,22,25,27 +6,49 +2,6,21,27 +7,14,18,22 +13 +6,12,16,24,43 +2,5,25 +5,6,14,33,43 +5,6 +5,6 +5,6,8,11,14,16,18,46 +21 +4,6,26,48 +3,4,5,6,7,17,47 +8,13,14,22 +6,17,22,25 +6,22 +6,7,11,28 +3,10 +6,14 +3,5,6 +6,12,26 +5,6,28 +6,14,33,36 +2,5,28 +5,6 +6,22 +6 +5,29 +5,6,10,26 +5,6,22,26 +5,6,7,16,46,47 +3,6 +6,15 +6,14,16,17,21 +4,5,6,46 +6,22 +6 +4,5,6,19,20,25 +0 +6,20 +44 +2,6,17 +4,6,20,28 +13,14,17 +5,6,12,17,18,42 +4,6,7,11,12 +26 +5,23,49 +6,25 +6,7,14,42 +5,6 +3,5,6,9,14,18,25,40,41 +5,19 +5,6,10,13 +4,6,7,14,17,38,49 +3,4,6,7 +4,22,28 +4,6,12,13,19,46 +6,46,49 +6 +2,5,6,12,37,43 +0 +3,5,6 +6,32 +3,50 +4,5,42 +4,5,35,39 +6 +4,15,29,49,51 +5,6,17 +7,12,13 +5,6,22,40 +4,6,14,22,25 +6 +5,27,28,29 +7,16 +4,6,7,14,18,48 +4,5,6,40 +4,5,6,13,49 +6,36 +17,19,35 +4 +5,6,13,14,48,49 +3,5,6 +4,5,7 +3,5,24 +6,27 +5,6 +6,8,14,17 +5,6,10,31 +4,6 +4,5,6,14,21,23,32,44 +6,17,41 +26,35 +5,6,7 +14 +4,5,18 +5,13,31,34 +6,14,20,21 +6 +6,14 +6,18 +3,14 +3,5,6,7 +6 +5,6,14 +28,43 +6,41 +6,14 +4,6,17 +6 +4,5,6,22 +5,6,14 +4,6 +0 +6,7,46 +6,7,20,36 +4,6,13,14,21 +4,14 +6 +21 +5,29 +2,13,19 +2,5,6,8,21,46 +3,6,12 +5,6,15,25,49 +7,29,35 +12 +6,31 +6 +25,30 +6,18 +28,32,47 +5,17,20 +6 +4,13,21,29,36 +17,29 +5 +5,6,7 +14,43,48 +5,25 +10,14,44 +6,12,18,27 +6,7,22 +6 +12,21,46 +6,12,14,17,22,29 +6,14 +4,6,14,19 +3,5 +23,39 +10,20,35 +0 +2,6,7,11,14 +6,13,24 +6,41 +5,6,7,28 +6,25,46 +4,5,7 +6,16,40 +4,5,14,19,22,49 +6,14,42,49 +4,6,12 +5,8,28 +6,19,25 +6,13,15 +5,23,30,42 +3,5,6,15 +6,19 +12,17 +6,7,20 +4,13,22,46 +6,47 +5,6 +3,5,6,20 +5,6 +5,6 +6,14,39 +5,17,28 +5 +6,20 +4,6,28 +6,19,38 +6,20,26 +11,19,28,33 +6,28 +6,25 +6,10,14 +5,6,14,16,25 +46 +5,6,14,17 +3,6,31 +6,14,15,17,21 +3,20 +12,14,34 +5,6,15 +14 +4,14,19,22 +6,12 +4,5,6,22,28 +4,5,6,24 +5,6,27,48 +2,6,7,41 +6,15,25 +6,45,47 +5,6 +4,6,17,22 +14,17,20 +2,3,5,17,21 +5,6,20,36 +4,6,14,15,21,37 +2,4,5,45 +3,5,6 +3,5,6,17 +6,14,48 +5,6,31 +6 +5,36 +6,42 +5,6,7 +2,6 +6,28 +6,43 +5 +4,6,7,14,18 +6 +5,6,31 +6 +6,21,38 +42 +3,5,6,12,19,33 +4,6,7 +6,9,22,35 +6,20,21,29 +4,6,14 +5,6,10,43 +4,5,6,7,12,28 +6 +6 +3,22 +4,7 +10,13 +3,6 +6,14,16,34 +5,6,25,42,48 +3,5,7,22 +3,4,5,6,7 +6,7,14,43,50 +5,6,7,14,38,49 +6 +5,6,22,30 +5,7,21,41 +6,14,42 +3,4,5 +4,6,20,25,44 +6,13,14 +6,23 +7 +4,14,22 +2,4 +6,7,17 +6,13,14 +5,6,17,46 +5,6,42 +4,6,38 +26,42 +5,28 +5,6,14,22 +21,50 +7,42 +5,8,10,42,51 +6,25 +5,6,28 +4,6,24,28 +6,11,14,21 +6,45 +4,6 +6,17,25 +2,6 +4,14,38 +5,6,10,16,39 +6 +3,49 +5,6,17,42 +6,22 +4 +3,5,6,20,42 +4 +5,6,15,20 +4,5,7,10,17 +6,17 +5,19,27 +3,5,7,24,29 +2,4,6 +5,11,12 +3,6 +0 +3,4,6,20 +2,6,8,14,18,28 +6,14,20 +5,6,28,41 +4,18,19,25 +3,5,6,12,20 +3,5,6,42,43,50 +6,17 +4,7,17,20 +6 +5,6 +2 +5,10 +6 +14 +6,20 +6 +2,5,14 +5,6,14 +6,14,42,46 +4,6,7,39 +3,14,42 +7,19,22,38 +3,6,44,48 +5,6,29,42 +6,41 +3,6,14 +5,6,15 +6,13,37 +3,4,22 +5,6,14,45 +2,6 +5,6,23,38 +2,6 +5,17,28,50 +5,6,17,29,43 +5,6,9 +4,5,6,22,27 +4,6 +5,6,20,22 +4,5,6,10,45 +4,7 +5,41 +6,10,15,38 +3,6,7,13,22 +3,6,12,22,39 +9,19 +5,6,13,14 +6,14,42 +6,12,14 +5,6,14,17 +5,6,7,15,20 +2,5,28,33 +6,21,47 +6 +4,5,6,42 +4,6,7,30 +6,10 +5,6,22,49 +7,17,31 +6,14,39,42 +14,50 +8 +2,3,5,6 +4,6 +17,39 +5,46 +6 +4,6,7,25,28,34 +3,5,33 +4,5,11,14,48 +6 +5,6 +5,6,49 +3,5,6,7,14,41 +6,30 +4,6 +5,6,12,22,40,41 +6,14,20,49 +5,14 +6,7,22 +2,4,5,17,48 +6,31 +5,11,17 +6,14 +6,14 +6,17 +5 +2,6,18,20,48 +5,6,25 +6,9,21,24 +3,5,6 +6 +5,6,14,46,48 +6,41,51 +6,14,20 +5,34 +6,14,16 +5,6,22,44,48 +3,6,16,19,29 +6,48 +5,6,14,51 +2,5,19,23,27,47 +0 +6 +6,21,46 +5,6,9 +6,18 +5,6,14,19 +5,6,12 +4,5,6 +5,7,8,11,17 +4,17,26 +17,37 +5 +5,6,24,34 +6,18,32 +6,14,22,44 +23 +6,10,14,23 +2,6,14 +6,10,35 +6,8 +3,6,12,39,45 +6,16,26 +4,14,44 +3,5,6 +6 +5,39 +3,13 +6,14,20,21,41 +3,16,25 +16,31 +17,32 +4,10,22,27 +6,15 +6 +5,6,13,18,20,22 +5,22,33 +5,6,20,22 +6 +5,6,7,45,48 +6,14,22,28,49 +3,6,14 +5,6,13,33 +44 +6,13 +4,17,22 +6,13,14,19 +5,14,22,35 +4,24,28 +6 +5,6,13 +6 +6,22,35 +3,6 +12,20,28,41 +3,5,6,14,46 +4,5 +2,36 +14 +6,7,14,21,33 +5,6,22,36 +6,13,21,22,28,35,44 +3,6,16,29,40 +4,6,22 +14,17 +6,19,22,29,38 +4,5,6,12,20 +4,5,6,7,13,30,38 +5,6 +3,37,44 +4,5,10,22 +6,8 +3,14 +0 +5,14 +6,17,26 +6,23 +5,6,16,17,19 +4,5,6,21 +6,7,9,17,31 +4,5,6,7,27,47 +5,6 +3,6 +6,16,27,41 +6,15,28,36 +6,15,22 +5,7,14,17 +4,5,6,12,17,31 +2,4,8 +6,21 +3,5,6,14,42 +6,14,17 +4,6,14,22,25 +7,10,40 +5,14 +5,6,41 +2,4,5,6 +6,16,31 +6 +5,6,17 +6,31 +8,22 +5,6,17,28 +5,6,14,18,51 +5,6,14,18,20 +6,16 +6 +6 +21 +5,6 +2,5,6,17 +6,7 +4,6,15 +5,14,29 +2,4,5,6,15,17 +6,20,22,25 +6,11 +2,36 +5,6,12,20,38 +3,6,16,17,19 +4,6,9,14,20,27 +6,7,14,21,37 +6,14,21 +6,7 +2,22 +6,7,36,46 +4,14,27 +6,16,20 +6,51 +6 +6,7,49 +5,6,7,49 +3,5,6,14,20,51 +6,13,14,30 +5,6,14,20,30 +5,31 +5,6,14,42 +5,6,11 +4,6,17 +4,5,6,7 +14 +5,14,30 +6,13 +4,17,21,46 +5,6,7,16,35,40 +5,6 +6 +6,31,44,45,46 +5,14,19 +5,10 +6,18 +6 +4 +6,9,17,22,25,35 +6,19 +3,20 +2,23 +3,6,14 +5,6,20,22 +4,5,47 +6 +6,18,22,50 +6,11,17 +3,10,20 +6,37 +6,14,24 +19,20,25,40,43,47 +3,25,45 +6,25 +2,3,5,6,15,20,46 +6,14 +4,5,6,12,25 +6,17,20 +14 +4,5,6,12 +2,7,13,28 +6,17 +6,20 +6,7 +4,5,6,14,44,46 +6,16,33 +6,23 +0 +0 +6,9,14,17,28,30 +4,6,29 +2,34,43,47,48 +0 +6,25 +2,6,7,21 +5,24,28,40 +6,14 +5,6,7 +2,4,5,6,16 +5,14,20,50 +6 +5,6,21 +4,5,14 +0 +6,14,15 +4,5,6,19 +5,17 +14,21 +0 +4,6,7,26 +0 +3,6,8 +6,20,26,51 +5,7,14,20 +3,5,6,21,26 +6,15,42,49 +5,6 +6,17,20 +5,6 +4,13,14,16,20,37 +47 +6,22,23,42,49 +5,32 +5,13,17,22 +5,6,21 +6,14,20,22,28 +3,6,7,17,51 +4,5,6,7 +2,3,5,6,43 +3,6 +5,6,7,37 +15,32 +6,50 +2,3,21 +5,6 +4,6,15 +5,6,22 +6,14,29 +5,6,14 +3,6 +5,6,20,45 +4,6 +6,8,17,39,41 +6,12,23 +4,6,10 +17,22,39 +6 +3,5,6 +17,23,34,38 +3,36 +4,5,6,13,14,19,25,35 +6,7,14,18 +5,7,9,25,27 +5,13 +33 +4,40 +6,23 +17,21,42 +20 +5,6,25,33 +2,3,20,39 +5,6,16 +14 +5,7,17,21,29 +6,7,21,32 +5,6,7,14,15,21 +6 +6,14,25 +5,6,32 +6,12,21 +4,5,6,12,17,46 +20,38 +18 +5,6,14,37 +6,41 +2,19,29,35,45 +6 +3,5,6,14 +5,6,17,20 +3,6,44 +3,6,13 +4,14 +6,7,12,42,50 +6,19,34,36,43 +6,20 +3,6,35 +6,15,21,25,28 +4,5,14 +6,7,12,14 +3,6,20,41 +6 +6,11,19 +5,6,38 +14,17,18,20 +5,6,41 +6,14,18,42 +2,20 +5,8,11,26 +6,13,25 +6,14,43 +6,24 +6 +5,6,13 +5,50 +3,13,14 +6,14,21 +5,6 +2,7,10,17 +39,51 +3,4,6,14,42 +5,6,34 +6,7,14 +17,20,37 +4,22 +5,6,11,14,22 +6,13 +6,25 +5,6,7,10 +5,6 +6,25,26 +6,14,25,46 +6,14 +4,14 +6,22 +6,14,20,22,28 +3,6,7,10 +14,24,42 +5,6,13 +6,14,42 +6,13 +6,14,32 +5,6,14,42 +3,6,17,28,42,47 +6,10 +3,12,16,25,28 +4,6,7,13,14 +3,6,14,49 +5,6,18,24 +5,6,10 +6,7,47 +6,22,48 +6,20 +4,6,17,22,25 +6,22,33,39 +5,6,11,14,30 +5,6,21 +3,23 +0 +0 +6,21 +2,4,6,10,14,24 +3,6 +2,14,22,29 +12,22,42,48 +6,20,33 +5,22,36 +4,5,6,7,17,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +3,17,21,31 +3 +3,6,25 +6,13 +11,14 +6,17,34,41,42 +6 +5,6,13,16 +20,28,34 +2,6,7,17 +5,6,20,36 +6,14,20 +4,6,9 +0 +6,12 +3,5,31,39,47 +5,6,16,23,34 +5,6,17 +6,14,18,21,42 +6,13 +3,4,6,43 +5,6,14,21,35 +5,6,12 +4,5 +3,5,6,12 +11,45 +17 +5,6,15,17,19 +5,6,28 +2,6,19,25,47 +5,6 +6,48,51 +5,8,17 +6,38,49 +5,6,12,23 +4,5,6,45 +4,5,6,28,29 +6,29 +2,7 +3,5,21,36 +7,12,17,21,25,38 +6 +6 +17,19,31,42 +5,6,22 +6,7,19,36,42 +5,6,14 +6 +3,6,7,38,46 +5,17,43 +6,14,21,28 +6,11,21,48 +5,23,47 +8,22,40 +6,16,20,42 +5,6,12,13,14 +5,6 +5,6 +4,5,6,32,50 +5,6,15,20,23,26,44 +6,14,20,28 +4,9 +33 +6,7,12,13,17,28,42 +0 +5,6,13 +3,4,5,6,22 +28 +6,15,51 +11,12,14,15,25,32 +3,4,5,6 +33 +6,44 +6,24,26 +5,6,38 +6 +6,51 +3,6,12 +5,6,21,42 +3,6,20 +5,17 +5,6,7,22 +4,6,7 +6,16,30,38,47 +6,18 +4,6,7,12 +6,19,22 +2,14,48 +3,6 +3,4,6,7,14,21 +4,5,6,17 +6,17 +5,6,14 +6 +3 +3,6,7,14,18,19 +17,22,31 +0 +4,6,19 +4,6,12 +4,5,6 +5,6 +0 +3,6,23 +2,6,7 +6,14,39 +3,4,17,42,48 +6,14,19,29 +3,5,6,46,48 +12,13,22,44 +20 +3,4,5,6 +38 +6,20,33 +2,6 +4 +3,6 +14,17 +6,14 +5,6,21 +5,6,7,17,18 +5,6,7 +6,14,17,25 +3 +4,6,14 +6,7,22,25 +5,14,17,28 +7,16,18 +6,14 +6,29 +5,6 +5,6,11,26,32,48 +6,17,43 +10,16 +6,14,40 +2,5,6 +4,5,6,12,22 +5 +2,6,14,32 +4,5,6,19,27 +4,6 +8,13,22,39 +3,5,6,10,28 +4,6 +5,31 +3,4,6,13,20,22,28,43 +4,5 +3,5,6,12 +7,13,15,44 +14,46 +6,14,27 +0 +6,9,23 +6 +5,6,14,25,42 +46 +5 +0 +6,20 +4,6,17 +4,5,6,10,35 +5,25 +5,37,38 +4,6,23 +3,5,6,15,21,25 +5,6,10,14,17 +3,6,28,30 +6,21 +3,6,14 +4,8,13,19,31,48 +5,6,25,29,42 +6,27 +3,12,22 +6,14,41 +4,32,48 +0 +3,5,6,21,47 +6,8,19,42 +17,25 +5,6,20 +4,6,51 +6,8,22,36 +5,6,29,46 +5,26 +6,20,21,45,48 +5,6,7,14,27 +2,5,6,7,20 +5,6,14,20,42 +5,18 +5,6,7,17 +5,6,14,20,23 +6,7,40 +6,12,14,40,51 +3,4,38 +5,14 +5,6,7,22 +6 +6 +5,22 +2,3,22 +19,20,21,48 +6,14,22 +6,14 +2,4,6 +4,6,9,21,41,47 +5,13,46 +5,6,11,14,19,23 +4 +5,7,17 +2,5,10,20,49 +3,6,22,36 +3 +2,5,6 +2,6 +2,5,6,20 +0 +4,5,6 +4,6,7,14,43 +26 +6,44 +3,6 +4,5,6,29,48 +0 +5 +3,4,6,14,16,20,22,25,47 +14,32 +2,6,14 +2,6,14,25 +4,5,6,8,14 +4,5,6,14,28 +4,5,7,20,22,49 +6,12,20 +4 +6,7,11 +6,13,22,23 +5,6,15 +5,17 +11,14 +5,27 +3,6,14,32,42 +5,11,32 +2,5,6,33,50 +6,7,22 +29 +5,6,14,22 +5,6 +5,6,17 +3,5,6,7,18,26 +4,5,6,14,22,26 +4,6,25,48 +3,5,10,12,23 +6,27 +6,46 +4,6,15,17,20 +5,6,22 +6,14,32 +6,14,23 +6,25,38 +6,14,15,42,44 +5,6 +6,17,23 +5,6,14 +6,14 +3,4,6 +4,5,14 +2,6,14,34,35 +6,25 +3,6,14 +5,6,17 +6,38 +6,14,17,44 +6,7,13,14 +2,3,5,6,8 +2,5,7,40,49 +3,6,12,14,22,23 +7,12 +6,14 +3,6,25,29,34 +6,19,20,26 +3,6,19,26,27 +5,6,14 +6,12,17,19 +6,30,46 +3,5,6,20,22 +28 +2,14 +4,5,6 +5,6,22,27,33 +6,26,43 +5,6,13,41 +6,7,9,11,29 +5,6,8 +19,33,48 +17 +6,7 +5,20 +6 +8,14 +6 +4,5,6 +6,14,25 +9 +6,29,49 +12 +0 +5,6,9 +6,14 +3,5,6,39,40,48 +5,6 +5,6 +3,14 +6,17,33 +26 +3,5,6,13,14,32 +3,7,25 +6,17,23,24 +5,6 +3,4,6,7 +6 +4,5,14 +5,6 +2,5,6,16 +2,15,22,51 +17 +2,4,6,36 +14,34 +3,11,14 +5,12,28 +6,20 +4,5,6 +5,6,14,20,22 +4,10,13,19 +5 +4,14 +6,8,18,23,42 +5,6,14,27 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +5,23,44 +3,5,6,12,26 +6,15,30 +5,6,14,17,44 +3,6,10,17,20 +0 +6,17 +0 +3,5,30 +4 +5,6,10 +4,6,11,16,25,29 +5,6,14 +5,6,14,22 +5,43 +2,4,5,6,22 +0 +5,6,13,36 +3,6 +2,15,21,37 +2,4,6,18,29,35 +3,14 +6,14,34,47 +7,14,22 +4 +5,6 +5,6,19,25 +6,22 +4,5,6 +6 +6,43,46 +6,12,13 +6 +3,31,34 +49 +6,7 +14,15,16,25 +12,17,22 +6,23,25 +5,6,7,22 +2,8,31 +3,6,20 +5,6,23,29 +6,17 +2,14,21 +12,14,44 +5,8 +12 +2,3,7,30 +4,41 +6,10,23,25,35 +17,27,28 +6,14 +4,14,20,22 +4,5,6 +6,14 +14,26 +4,6,13,21,25 +20 +6,12,14,25 +6,14 +6,43 +4,6,7 +6 +5,6 +6,18,19 +6,14,28 +4,6,19,20,33 +4 +2,6,22 +5,6,8,28,34 +5,6 +6 +6,7,49 +6 +5,6,14,16 +2,6,25,37 +3,19,47,50 +18,25 +6 +4,5,6,9 +3,6,11,15,19 +4,6,38 +13,17 +6,17,18 +5,6 +13,17 +3,6,14,19 +3,30 +7,16 +5,6,7 +0 +2,47 +3,25 +12 +5,14,20,33,43 +5,6,23 +3,5,6,14 +5,14,38,40 +6,7,20,22 +5,6,7,14 +3,5,6,22 +6 +6,25 +6,14,17,41 +5,14,21,25,33 +5,6,25 +5,6,22 +6,37 +5,6,19,29 +4,6,42 +5,6,13 +6,12 +6,13,17,46 +6,14,16,28 +4,6,14,38 +6,11,15,22,25 +6,10,35 +6,8,12 +6,9,12,13,33 +6,14,17 +3,5,6,16,17 +4,6 +14,22,51 +4,6,21 +2,4,6 +6,13,14 +6 +14,35 +6,9,32 +5,6,25 +3,5,6,22,25 +6,19 +14 +6,28 +3,4,6,14,41,46 +4,5,6,9,14,20 +3,6,11,16 +6,7,18,22 +6,29 +5,6,16,33 +2,4,6,13,35 +4,6,22 +5,6,20,26 +5,6,14,20 +2,17,23 +6 +6,16,22,30 +4,6,7,17 +4,5,6,22 +6,17 +6,40,41 +6,22,26 +3,4,5,6,16 +4,6,29,36 +6,33 +14 +4,5,6,7,22,25 +7,9,14,19 +4,5,14 +2,4,5,6 +6,11,35 +6,45 +2,6,15 +6,14,48 +6 +6 +6,14,27,33,35 +5,6,13,19 +5 +6,32 +4,5,6,15,17,18 +6,26 +5,6,13,45 +21,23 +6,14 +6,14,18 +6,12,17,22,27,31,41,43 +6,14,49 +5,14 +6,14,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +5,6,13 +6,7,22,33,35,42 +2,6,18,38 +0 +6,10,13,49 +4,5,22,45 +5 +3,6 +5,14,20,28 +4,6 +3,6,29 +6,7,10,13,17 +5,21 +5 +5,14,22,35 +22 +2,3,6,21 +5,6,12,14,25 +6,13,29 +5,6 +5,6 +5,6,14,16,36 +6 +4,7 +5 +5,6,46 +4,5,6,17,33 +5,6,7,22 +0 +6,12,22 +6,33 +5,13,17 +6 +6,37,46 +7,10,14,15,26,28 +6,14,43 +6,12,20,28 +4,14,17,25 +4,5,8 +3,5,8,41,42 +4,8,14 +3 +5 +3,6,22,25,45 +29,43 +2,5,6,9,14 +4,5,6,12,17,27 +6 +19,22,41 +2,6,22,30 +6,42 +6,10,14,35,42 +2,6 +6,7,49 +6,13,45 +6,22 +15 +6,14 +6,16,19,26,41 +5,6,25 +4,20,22 +6,7,17,37 +3,5,6,14,19 +3,6 +17 +22,42 +7,8,12,22,38 +4,5 +4,5,7,10,22 +6,7 +6,17,42,46 +4,5,6,19,44 +5,6,35 +4,5,6,10,24 +5,6 +4,5,6,33 +6,13,21 +23 +5,33 +6 +8,17,29,41 +3,5 +6,13 +4,6,7,25 +6,14 +6,14 +6 +5,6 +5,6,13,17 +5,14,24 +3,4,9,12,14,17,20 +48 +22 +6,39 +4,5,8,10,31,49 +5,6,14 +6 +13,14 +4,5,8,20 +5,6 +6,7,12 +0 +4 +5,14,18 +6 +6,11,25,46 +3,6,10,14,46 +5,6 +19,20,28 +3,5,6 +6,7,40 +6 +6,12,14,22 +5,6,14 +5,6 +4,6,14,38 +6,13,26 +6 +5,6,18,29 +5,47 +6,14 +48,49,50 +3,6,14,44 +5,7,12,27,42 +5,6,12,14 +5,6 +6,14,22,30 +6,25 +2,5 +5,6,11,37 +5,6 +6,7 +6 +6,45 +3,6 +4,6,14,17,18 +5,6,14,42 +4,6,8,23,27 +6,14 +6 +5,6,21 +10,14,19,21 +6,36 +6,12,18,22,23,25,42 +4,6,7 +3,6,30 +6 +3,6,22,23,26 +5,8 +3,5,6,10,15,17,18,28 +10,14,27,43 +6,7 +6,12 +13,17 +6,13 +6,12,14,17,24,27 +5,11,33 +5,6,13,19,25 +6,19,35 +0 +6,14 +6 +6,12,47 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +6,14,22 +17 +3,6,17 +18,42 +6 +5 +2,20,30,33,38 +4,6,7,12,22 +5,6,20,25,47 +3,5,6,21 +4,6,7,47 +4,50 +6 +6 +6,10,30 +6,21 +5,6 +6,22 +4,6,14 +5,14 +5,6,18 +6 +2,3,5,14,25 +5,20 +14,15,48 +5,6,7 +33 +6,23,25 +6 +4,6,14,23 +4,5,8,25 +2,6,10,14 +6,12 +5,6,23,35 +23 +6,14 +4,5,6,30,46 +3,6 +5,6 +6,15 +6,25 +3,4,14,19,36 +4,6,17,20 +7,46 +6,7,10,16,17,26 +6,19 +12,15,48 +6,35 +5,6,14 +4,5,21,44,49 +6 +0 +6,27,36 +6,7,14,26 +6,20 +5,6 +4,6 +5,49 +2,3,5,17 +6,14,50 +14,27,30 +5,6,10 +4,6,11,21,26 +16 +5,6,7,21 +6,16,18,22 +6 +4,26 +3,5,6,21 +6 +14,22 +6 +6,24 +5,6,14,15,25 +5,6,38 +5,6 +3,6,11,13 +6,30,38 +4,5,40 +6,10 +6 +5,14,20 +2,3 +6,7,16 +3,4,6,12 +27 +6,14,20 +47 +6,14,20 +6,9,27 +6,33 +6 +5,6,12,18 +3,5,6,7,51 +5,6 +5,23,39,41 +6 +0 +2,5,6 +6,22,45 +30 +5,9 +14,25 +14 +3,29,45 +6 +5,6,7,16 +3,4,6,17 +15,22 +5,6 +6,17 +5,6,48 +6,14,18 +25 +4,6,19 +6,14,25 +3,21,29 +5,6,14,22 +6,13,14 +4,6 +4,5,6,20 +5,6 +4,6,13,22 +5,6,11,48 +3,6 +14,42 +4,5,6,15 +2,6,11 +6,22 +4,5,13,17,25 +4,5,6,25,27 +14,22,28 +5,6,19,46 +6,14,17,23 +6,7,11,30,46 +4,6,22 +3,4,6 +39 +6,14 +6 +6,25 +3,4,15,42 +2,5,14,20,34 +0 +5,6 +6,29,48 +3,4,6,14,17 +6,12,20 +6,15 +6 +5,13,21 +3,6,19,27,30 +5,6,17 +21,34 +6,14 +5,6,7,14,30 +6,14,30 +6,19 +5,6,25 +5,19 +5,6,11,12,14,35 +3,6,7 +6,14 +5,6,25 +7,46,49 +5,6 +5,6,25 +6,11,14 +2,4,5,6,8,14,51 +15,16,33 +6,40,41 +8 +4,6,7,17,20 +3,6,14,36 +3,6,42 +2,3,6,18 +6 +4,6,11,14,17 +4,5,6,14,33 +6,8,14,39,45 +5,6,13,14,18,22 +6,9,17,41 +5,6,7,14,15,23 +3,6,7,14 +3,13,14 +6,14,25 +4,5,6,46 +3,6 +6,17,34,41 +3,5,6,14,36 +6,22,33 +5,17,21,25 +3,6,20,34 +5,17,25,49 +3,6,16,25,40 +3,5,6,20 +6 +7 +6,7,18,33 +5,6 +13,16,22 +6 +5,8,22,41 +18,49 +6,31 +5,6,14,21 +6 +5,6,47 +15,45,48,51 +4,5 +6 +7,29 +4,6,8,22,29 +5,6,10,22 +4,6,13,25,37 +6,49 +5,49 +6,8,14 +6,7,25 +6 +3,6,17 +2,4 +4,6,12 +6,22 +2,3,4,5,6 +7,17 +6 +4,5,6,14,22,32,48 +5,6,25 +4,6,16,48 +5 +0 +3,10,11 +16,20 +6,19,32,35,41,42,49 +5,6,12,14 +6,7,23 +3,7,23 +17,31,46 +13,15 +5,6,13,14,43 +4,8,20,43 +6,10,28,32 +4,6,14 +6,21 +14,19 +5,6,14,18 +2,4,5 +6 +6,31 +5,6,14 +3,6,7,14 +6,17,26,43 +5,7,14 +6,39 +6,16 +2,6,17,38,43 +5,7,12 +3,6,17,46 +5,6,7,17,19,21 +6,40 +3,6 +6,22,49 +4,5,6,14 +6,14,30 +6,13,28,38 +3,5,35 +5,6 +7,16,27 +6,29 +5,6,14 +6,29 +4,6,7,25,33 +6,17,18 +3,6 +6 +22 +4,6,14,34 +5,6,46 +4,5,6,15 +19,20,24,36 +3,4,14,17,20 +6,14,16,22,28 +9,14,15,16,48 +0 +47 +6,8,13,20,46 +5,42 +3,6,39,48 +6,10 +6,17 +5,6 +5,6,7,9,14 +6,49 +6,7,14 +6,10,14,16,17,40 +2,4,13,14,25 +2,5 +5,17,25 +5,6,25 +6,50 +4,6,7 +5,6,28,47 +6 +4,5,6,22,44 +5,7,9,12,20,28,32 +6,14,46 +14,19 +4,5,6,10 +6,22,29 +4,6,28,29,46 +5,6,17,35,48 +5,6,30,49 +5 +5,6,10,28,42,49 +5,6,13,14,18,45 +4,6,25,37 +5,6,12 +4,15,39 +6,15 +22 +5,6,13,25,27 +3,4,6,35 +6,28,38,42 +6,14,16,25,36 +5,12 +5,6,14,15,25,26 +6,7,13 +6,30 +4,6 +4,6 +6,12 +3,6,7,42 +3,5,6,48 +6,15,50 +4,5,12,14,15 +6,7,13,14 +2,4,6,9,17,33,34,37 +6,14 +5,6,39 +3,6,14 +3,5,6,7 +4,6,11,39 +4,5,7 +6 +5,22 +6 +6,7,14,45 +35,50 +2,6,12,43 +3,6,8,19 +3,5,6,18,43 +3,14,16 +2,4,17,21,29 +4,5 +5,6,7 +6,22 +6,13,19,22 +5,6,14,17,34 +2,6,30 +5,6,10 +6,31 +21,30 +4,6,18,25,30,49 +0 +6,14,34,46 +4,6,12,25,50 +4,13,15,17,44 +3,6,11,48 +7,14,45,51 +4,5,6 +37 +3,12,14,15,44 +2,4,6,23 +4,15,29 +6,15 +6,28 +5,17,20,27,37,48 +5,6,7,14 +7,48 +5,6,7,10 +2,5,6,14,17,32 +6,28 +5,6,32,46 +7,41 +6 +5 +5,6,30 +6,14 +5,6,22,30 +44 +6 +6,22 +4,5,6 +6,12,50 +3,5,6,17 +3,6,28 +5,6,44 +6,14,21 +6,8,13,14,33 +14,21 +5,6,8,25 +4,14 +5,6 +6,7,15 +3,14,22,24,38,48 +6 +5,6,14 +3,4,5,28,40 +5 +4,5,6,24 +2,4,10,14,38 +3,6,12 +4,5,7,15,25,37 +10,17,22 +6,14 +2,5,6,17,31 +5,6,14,38 +6,14,17 +6,7,49 +6,25,40 +5,6,14,35,40 +6 +4,6,27,33 +5,6,14,22,25 +6,21,22 +3,5,17,18,42 +4,6,44 +3,37 +3,6,20,44 +5,6,12,14,32 +6,10,33 +2,7,18 +5,6,13,38 +3,6,7,11,15,30 +3,14 +3,5,6,26 +5,6,11,13 +5 +5,6,26,35 +4,5,6,19 +4,5 +6 +0 +6 +4,15,26 +6 +4,6,12,13,14 +4,5,6,15 +5,42,43,49 +6,14,17 +6,19,29,49 +6,14 +5,6,14,17,18,43 +6,17,31,42 +5,6,51 +6,37,47 +6,16,26,38 +10,15,18,37 +4,6,21,27 +17 +3,6,25,33 +3,5,14,15,17 +4,5,6,7 +3,4,5,6,22,41 +6,41 +15,38,42 +5,6,11,21,49 +6,50 +7 +3,4,6,20,22 +10 +5,6,22,43,50 +5,6,16,17,25 +15 +4,5,6,10,14 +6,21,42 +4,6,7,41 +4,5,6 +6,7,9,20,25,42,51 +5,6,20 +4,5,7,21,25 +4,25 +4,6 +2,5,6,17,22 +6,15 +6,12 +5,6,14,22,46 +3,6,28 +6 +5,14,49 +6,7,14 +5,6,14 +5,6 +6 +4,5,39 +5,6,30,33 +6,14,16 +6,8,10,14,48 +6 +6 +3,6,28 +4 +2,6,25 +5,16,18,20 +11 +3,6,44 +23,35,42 +6,39 +13,26,45 +6,9,28 +6 +5,12,29,34 +10,20 +5,6,14,20,31 +5,7,18 +4,5,13,22,41 +11 +14,18,41 +6 +3,6,7 +5,6,7,14,35 +5,6,19 +6,14,20 +4,5,6,7,11,14,38,42,43,44 +2,4,6,22,23,41 +18,20,23,33 +6 +2,4,6,37 +3,6,7,41 +5,9,18,28 +6,12,14,25,30,41 +25 +2,3,5,6,16,41,45 +6,7,22,23,47 +4,6,12,13,14,21,50 +5,12,14,17,22,26,28,39 +2,3,6,41,43 +5,6,7,18 +6,22 +6,14,17 +6 +6,13 +0 +2,13,14,22,31 +5,6,8 +6,21 +5 +6 +5,6 +5,6,8,28 +4,5,13 +5,7,14 +4,5,6,13,14,17,31 +4,5,6,16 +6,21,36 +3,5,6,15,40 +2,6,10,22 +6,7,22 +3,5,6,17,21 +6 +5,6,13,17 +5,6,21 +6,16 +5,6,9,11,13 +3,6,7,10,14,15,16 +6,7,22 +6,11 +4,6,12 +4,6,14,38 +6,14,29 +6,41 +5,6,41 +6,17,26,35 +3,4,6 +0 +6,7,26,40 +2,5,6,7,30,38 +5,6 +6,7,12,17 +5,6,20 +21,26 +2,5,6,28 +2,4,6,34 +36 +6,12,14,32,34 +6,12,28 +11 +5,12,14,36,42 +7 +0 +17,28,46 +6,50 +4,6 +5,6,17 +6,14,22,31 +6,14,17 +3,13,17,25 +6,13,46 +2,3,12 +3,5,6,22 +4,5,6,7 +6 +3,4,6,12,21 +5,14,21 +36 +2,6 +2,6,28 +5,6 +5,6,14 +3,33 +3,5,25 +6,7,13,14,22 +6,46 +3,6,22,41 +47 +3,5,6,7,19 +3,6,17 +10,28 +5,6,45 +6 +17 +6,24,47 +6,10,17,27 +5,6,7,8,32 +3,6,7,22,38 +6,14 +5,6,12 +6,17,30 +3,6,10,12,15,26 +2,6 +2,4,8,25,35 +4,5,6,14,22 +6,14,15,42 +4,14 +5,6,40 +16 +6 +13,19 +6,10 +6,14,21,36 +3,6 +3,22,43 +6,15 +3,4,6,16,25 +2,6,14 +3,4,6,27 +2,14,22 +6,14,21,27,47 +5,17 +3,5,10,13,41 +5,6,51 +6,20,25,34 +38 +6,7,12,14,22 +4,6,14 +0 +4,5,6,41 +4,6,13 +5,6,9,14,46 +2,6,14,18,20 +5,6,23,41 +6,25 +4,5,6,7,14,21,22,25,26 +3,6,21 +6,23 +5,14,15,27 +15,33,34 +3,5,6,23,28,42 +5,12,14,24,30,35 +3,6 +6,45 +6 +6,20,47 +6,40 +7,28,45 +6,17 +6 +6,7,45 +3,6,42 +4,5,6,16 +0 +42 +5,6 +4,5,17,22,26,43 +5,6,14 +7,10,21 +4,17,44 +6,14 +6,10,17,34 +6 +6,14,21,30 +5,21,37 +6,12 +6,15,22,46 +3,5,6 +6 +14 +3,6,7,10,14,25,49 +3,5,22,42 +3,13 +6,14,29 +5,6,14,17 +4,5,6,7 +25,34,49 +6,15,17,18,20 +6,8,50 +2,6,11,48 +5,6,28 +5,6,7,19,29,32 +3,14 +4,5,14 +3,46 +3,4,5,14,17,44 +3,5,6,25,27 +3,5,6 +5,14,23,48 +6,22,26 +6,14,20,21 +6,13,21 +6,20 +5,6,14,27 +5,12,14,17 +5,6,46 +4,6,7,14,20,25 +3,4,5,6,7,8 +6,14 +7 +4 +5 +3,5,6,10,33 +2,4,7,14 +3,5,6,22 +5,6,14,36,50 +5,15,18,26,28 +5,6,20,39,50 +2,4,6,13 +3,5,6,15,22,25 +5 +2,6,28 +5,6,28,36,41,45 +14,27 +3,5,6,20,22 +6 +0 +6,46 +6,9,17,38 +4,6,10,42 +3,5,6,27,41 +5,6,38,43,44 +5,6 +3,5,6,27 +0 +6,7 +6,7,17,20,26,44 +6 +5,6,14,28,41 +6,14 +4,8,28 +5,6,13,15,19,20,25,35 +6 +13,14 +4,6,22,23 +6,17,41,44 +2,5,7,25 +4,6,8 +2,15 +3,5,26 +5,6,26 +5,6,15,19,25 +2,4,5,6,30,46 +2,4,6 +5,6,14 +4,6,13,38,42 +5,6,14 +4,6,36 +0 +22,48 +3,5,7,11,20,23,42 +2,5 +6,41,42,47 +6,38 +6,15,19,30 +6,49 +6,11,15,19,22,36 +5,6,10 +3,6,22,49 +4,6,14,17,23 +2,5,6,45 +6,28,46 +3,6,19,38 +3,5,6,14 +5,6,14,19 +6,22 +4,6,7,9 +3,6 +6,35,40 +6,18 +6,25,50 +6 +17,22 +5,6,13 +5,6,7,46 +5,6,20 +3,6,7,22 +4,5,6,10,49 +6,14,26,28,49 +5,6,9,14,21,22 +4,5,36 +6,12,14,38 +3,4,6,32 +3,5,15,17,20 +4,6,17,20 +14,38 +5,6,30,32 +4,6 +5,6,14 +4,6,48 +8 +4,6,14,21,25 +5,6,10,17,41 +5,49 +4,6,28 +25,30 +6 +12,14,17,21 +3,6 +3,5,6,7 +5,6 +5 +5,6,10,14,19,46 +5,14,42 +6,7,14 +6,13,18 +3,6,43 +5,6,22 +3,4,5,6 +7 +3,4,6,14,17 +6,14 +3,6,14 +6,22,32,35 +2,4,5,6,15 +6 +5 +4,6,8,14,26,46 +5,6,8,15,17 +6,12,20 +6,20,26 +5,6,20,25 +5,6 +4,6 +5,6,7 +15 +5,6,22,28,29 +5,6,19,25 +6,21,25,31 +22,33 +6,13,15,21,28 +6,14,17 +2,6,22,23 +5,17,20 +4,5,6,20 +4,6,12,19,30 +4,6,28 +4,6,18 +14 +5,6 +5,6,14,31 +0 +4,6,7,15 +4,6 +14 +5,6 +6,7,29 +3,5,6,22 +5,6,17,20,32 +6,20 +6,32 +5,6,7,22 +6,7,10,27,36 +5,6,17 +6,21,41 +0 +13 +7,18 +3,6 +5,6,39 +3,5,12,14 +2,5,6,10,14,22,23,33 +46 +4,6,12,17,22 +6,7,37 +6,20,25 +2,6,7,11,24,47 +5 +5,6,14,20 +6 +3,6,9,47 +49 +6 +5,6,7,19,25,45 +5,6 +14,46 +5,6,20 +6 +5,14,17,19,41 +6,11,29 +5 +6,23 +3,4,14,22 +14,48 +3,6 +35 +0 +6,28 +0 +6 +5,12,17,20 +3,4,11,15,28 +5,6,9,14,22,34 +4,20 +20 +6,17,19,41 +6,7 +5,13,16 +5,6,10,15 +3,6 +28,40,47 +6,17 +3,14,21 +3,5,6 +5,6,17,18,37 +4,25 +2,6,14 +2,6,32 +5 +8,17 +3,5,6,7,14 +4,6,13,14,17,23,32 +16 +5,6,14,42 +5,6,35 +3,5,6,7,17,22 +4,6,18,41 +3,5,6,42 +6,12,14,48 +6,29,51 +4,6,14,16,31,48 +6,17 +5,6,17,29 +4 +13,22,45 +6 +6,31,34 +6,16,30 +2,6 +6,19,29 +5 +6,16,25,29 +6,20 +5,6,24,34,51 +5,6,14 +3,5,6,12 +6,30,43 +5,6,14,18,22,23 +6,17 +8,10 +4,5,6,8,14,22,27 +2,3,5,6 +3,4,5,6,14 +6 +5,6,7,13,14 +5,8 +4,6,15,23 +6,14 +28 +6,14,19 +5,6,14,41 +5,6,14,28,42 +6,16,27,28 +2,6,14 +6,27 +3,6,18,22,42 +4,6 +5 +6,18 +4,5,6,28 +3,6,12,13,20,24 +5,6,13,14,17 +7,11,28 +4,6,21,22 +6,8 +3,4,6,12 +3,6,14 +4,6,7,8 +6 +5,6 +14 +3,5 +30 +6,16,17,36 +6 +6,10,36 +5,14 +6,14,25 +42 +4,5,6,14,21,26,47 +14,25 +6,14 +6,13,16,37 +6,13 +6,51 +4,5,6,29 +6,34 +5 +5,16 +3,6,13,35,36 +4,6,36 +5,42 +5,6,14 +6,25 +5,47 +10,25,43 +3,6 +6,7,8,21,51 +6,14,39,46 +6,14,25 +5,14 +20,22,43 +6 +6,23 +3,5,6 +4,6,10,17,19 +6,14,17,30,47 +5,12,14 +6,12,17,18 +3,10,12,13 +5,14 +5,19 +5 +6,7,21,47 +4,6,14 +3,6,7,17 +6,14 +3,5,6,18,25,34 +6,22,49 +15,21 +5,6,51 +5,13,15,25 +6,19 +6 +6 +5,6 +5,6,20 +6,48 +6,20,29 +6,12 +2,17 +5,6,10,34 +6,14 +5,6,9 +5,6,22 +2,6,33 +3,6,41 +5,6,17,28 +3,6,16 +6 +2 +6,9,20,41 +6,7,14,44 +5,6,10 +6,22 +4,6,7,12 +4,6,17 +0 +3,6,50 +6,10,14 +3,5,14,18 +5,6,14,20 +5,6,25 +3,12,14,28,47 +5,6,17 +6,20 +6 +6,14,22 +6,16 +6,28 +6,14 +5,6,21,23,33,49,51 +6,7,15,20,31 +4,6 +3,6,31 +0 +14,23 +5,46,48 +3,4,5 +28 +5,13 +5,6 +6,17 +4,5,6,39 +6,21,28,30,43,51 +7,14,31 +14,19,22 +4,6,13,14,15,41 +5,6,7,21 +6,17,20,25 +5,19,25 +5,6 +23 +14 +6,14,18,23 +6 +6,14,25 +31,49 +5,6,10,17,25 +5,6,20,36 +6 +5,6 +5,6,34 +4,6,7,8,25 +5,6,25 +3,4,5,6,7,21 +6 +4,5,7,30,45 +5,6,17 +6,11,27 +6,12,14,20,22 +0 +5,6,14,25 +5,6 +2,6,14 +2,5,6,23 +3,4,5,6,14,18,36,42 +3,5,27 +5,6,7 +5,14,17,26,36 +25,38 +3,7,8,34 +3,14,21,30,34,42 +4,5,6 +3,5,17 +3,5,6,29 +6,23,35 +2,5,6,28,33 +5,6 +3,4,6 +16 +6,46 +3,6,14,48 +4,18 +5,6,17,26 +4,6,7,9,14,17,21,47 +3,17 +0 +5,6,10,14,43 +4,6,33 +15,29 +6,15,21,40 +0 +6,17,25 +6,28 +14 +6,14,43 +5,6,20 +5,6,42 +4,5,49 +6,49 +4,6 +4,5,10,14,47 +6,13 +2,14,17 +6,19,25 +4,6,11 +2,6,7,13,41,49 +14,17,48 +5,6,7,11 +4,5,7 +5,6 +3,5,6,7,14 +2,4,6 +4,5,6,16,20,51 +6,14 +3,4,5,17,19 +5,6,11 +4,5,6,20,25 +6,19,24 +29 +3,6,14 +4,5,14,47 +6,28 +6,10,37 +5,6,20,42 +6 +5,6,10,15,34,47 +5,7,14,33 +5 +5,6,13,14 +3,6 +3,26,41 +5,6,14 +6,21 +2,4,5,6,16 +4,5,7,14,15 +4,5,7,14,22,49 +5,6 +2,7,11,14 +5,6,28 +13,14,19 +6,7,34 +5,6,20,38 +4,6 +9,25 +6,43,48 +14,20 +6,38 +13,14,19,26,29,38 +6,8,14,43 +2,3,16,17,25 +3,5,13,42 +2,3,6,14,22,45 +4,6,7,17 +5,6,13,33 +4,20,38 +2,6,12,39 +6,15,25 +0 +3,6,12,29,44 +6,21 +2,3,6,38,42 +3,14,21,47 +4,6,7,14,26 +5 +6,17,20 +5,6,22,28,30 +6,43,47 +6,14,16,45 +14 +6,10,27 +6,12,23 +6,23,46 +4,5 +4,6,10,14,15 +3 +4,6,14,38,51 +2,5,20 +6,16 +30 +4,5,21,33 +5,6,7,14,17 +6,17,19,41 +5,6,7,14,18,21 +0 +5,6 +7,18,25,26,39 +5,6,21 +3,6 +5,6,13,49 +3,4,6,13,47 +6,14,15 +6,14,48 +5,6,7 +4,6,20 +5 +3,6,15,32,51 +5 +3,7,22,25 +6,7 +4,5,14,19,30 +5,6,17 +2,7 +4,30,41 +5,23,41 +6 +6,12,16,22 +6 +6,13,14,49 +5,22,35 +4,6,16 +6,33 +8 +6,7,14,17 +7 +4,6,44 +2,5,6,7,13 +2,4,5,15 +0 +5,6,35,40,41 +3,6,14,15,29 +6,14,51 +3,6,10,41 +3,4,5,6,12,20,31 +6,42 +4,6,14,44 +4,5,7,12,14,19,22 +6,16,44 +3,17,28,29 +4 +5,6,7,41 +3,23,47 +4,6 +3,5,6,10,13,17,21,25,31 +5 +6 +6,13,17,51 +6 +3,5,14,38 +14,22 +3,4,6,14,17,20,28 +6,7 +6,10,41 +3 +6 +6,10,14,31 +4,6,8,19,46 +14,15,32 +14,28,46 +6,29,35 +5,7,22 +6,18,19,30 +6,12,28,44 +4,5,7,24 +3,4,5,14 +6,48 +5,6,10 +5 +5,6,27 +47 +6,30,39,43 +3,6,8,20,32 +3,6,8,20 +6,14,28,36 +14 +6,15,20 +3 +3,6,13 +5,6,7,8,15 +4,6,50 +6,13,14,17 +5,6,7 +6,14,21 +4,6,14,37 +6,21,22,40 +2,5,49 +5,6,7,10,47 +14 +6,13,39 +5,6,17 +6,14 +4,6,32 +6,12,19 +7 +6,14,48 +0 +5,6,7 +6 +6 +5,6,44 +5,6,40 +5,6,20,22 +6,28,43 +20 +4,6,14 +5,21 +3,4,32 +5,26,30,33,38 +2,6,20 +2,5,6,17,36,37 +6,8,14,43 +6,12 +5,6,19 +5,7,17,21,30 +3,5,6,10,22 +5,6,37 +6 +14,15,16,21,23 +6,48 +5,6,14,30 +5,11,14,20,25,44 +6,9,14,37,51 +6,20,22 +6,14 +12,14 +6,7,9,14,15 +17,24 +6,13 +5,6,17,33 +0 +4,5,6,14,15,19 +5,50 +5,6,14 +14,16,23,39 +0 +4,5,6 +5,6,14,25 +6 +4,12,25 +4,5,6,7,17,22,25,38 +44 +2,4,5,6,7,37,41,42 +6,29 +6,8,14,17 +3,5,6,48 +6,17 +5,6,10,14 +4,6,17,41 +6,10,17,20,23,29,45,51 +6,8,27,42 +6,14,21,25 +14,20 +6 +6,15,32 +3,5,6,7,12,14,41 +4,6,30,40 +3,6,8 +6,10,13,16,17 +6 +2,6,14 +19,29 +6,45 +5,6,15,25 +2,4,5,6,14,22 +42 +5,6 +3,6 +4,5,7 +5,6 +3,5 +6,7 +4,22,42 +5,20 +5,6 +5,10,34 +5 +6,17,22,25 +6,14,16 +6 +6,47 +5,6,22,49 +5,6,17,18 +4,14,51 +5,6,22 +5,19 +0 +4,6 +6,7,14 +6,13,14,24,38 +6,17,20,22,25,48 +5,6,14,22 +6,22,26,32,49 +5,6,14 +6,12,13,23 +4,5 +6,46 +5,6,14 +6,7,19,21,25 +4,6 +14,25,50 +3,4,10,28 +5,6,14,15 +4,5,23 +5,6,9,23,44 +5,6 +0 +5,10,14,31 +11 +21,33 +6 +5,6,12,31 +5,12 +6,26,29 +5,6 +5,6,7,12,13,45,50 +6 +6,19 +6,22 +5,6 +5,6,28 +6,7,43,45 +26 +6,18,42 +6,14,22,31 +6,22,30 +3,44,48 +2,5,14 +4,6 +4,5,6 +4,6 +5,14 +4,21,51 +6,14 +5,25 +7,14,22,28 +6,10,14,15,25 +6 +4,5,14 +6,12,17 +5,17,18,41 +5,6,14,16 +5,20,41,45 +5,14,17,22,23,24,38 +5,22 +6 +3 +6,17,22 +4,6,32,36 +6,7,25 +7,10,26,33 +6,15,17 +5,6 +6,14,44 +10 +3,6,14,15,17,51 +3,6,20,33 +6,9 +14,16,21 +6,22,23,42 +6,10 +3,6,11 +3,5,7,34 +3,5,6,7,12,33 +6 +4,5,6,8,14 +4,6,28,36 +4,17 +6,25,47 +5,20,25 +3,6,7 +3,6,28,34 +6,13,14 +6,15,17,22,33,50 +5,6,25 +5,6,14,17,22,29 +6,7,20,22 +6 +4,5,10,14,17,41 +6,7,14 +12,40,46 +5,6,26 +5,6,21 +2,6,9,14,20,42 +6,15,44,51 +4,5,6,13 +6 +4,7 +5,6,7,17,22,36 +6,21 +3,5,6,20,30 +3,5,6,28,48 +4,6,12 +3,4,5,6,20 +3,6,10,17 +0 +2,6,23 +12,21 +4,6,9,14,19 +6,26,42 +6 +6 +5,19 +5,6,12,13 +6,22 +5,6,15,18,45 +6,17,35 +2,6,42 +3,6,7 +5 +5,20,26,42 +6 +5,6,7,36 +5,6,13,15,42 +3,6,14 +6,36,44 +5,6,17,20,22,40,41,48,50 +5,6,14 +6,28 +5,6,15,18,32 +14,21 +14,15,25 +6,41 +5,6,14 +6,7,45 +4,14,49 +6,18,25 +0 +6 +0 +5,6,17 +6,14 +6,14,23,44,48 +5,6,14,16 +5,6,7,13,31 +3,6,7 +5,6,7,14,30 +6,14 +16 +6 +2,6,17,47 +5,6 +5,6,14 +3,6,14,21,22 +12 +6,14,29 +6,19 +6,12,14,20 +6,46 +3,6,13,43 +6,7,13,29 +3,5,6,17,26,31,44 +4,5,6,13,14,17,20,22,24,47 +5,6,20,22 +5,6,37 +6,20,25 +5,6,28 +3,9,14,20,50 +5,6,23,40 +4,14 +3,5,6,7 +5,19 +3,6,14,24,42,51 +12,21 +6,7,20,50 +4,6,7,14,17,20,30 +6,12,28,36 +4,7,25 +5,6,14,33,36 +3,5,6,19 +4,6,25,34 +3,5,6,7 +5,6,17,20,21 +5,6,24,37 +6,41 +12,48 +6 +6,11,27 +3,35 +6,20,39 +3,4,6,41 +6,20 +6,37 +4,6,26,41 +5,6,14 +4,15 +3,7,35,48 +5,6,17,18,44 +6,7,25 +5,6,47 +6,16 +5,6,8,22,37 +3,6,28,34 +12 +4,6 +4,6,14,46 +3,6,18,22,28 +6,7 +4,5,6,14,17,34,45 +4,14 +3,42 +6,14,39 +5,6,7,18 +4,5,6,17,25 +6,7,15 +3,5,6,22,25 +6,10,14,26 +8 +3,6,31 +6,9,10,38,43 +6,14 +5,17,37 +3,6,7,14 +6,22,23 +4,5,6,11,13,17,23,40 +14,29,43 +2,10,20 +0 +5,6,22 +3,9,17,36,51 +5,6,22 +5,6,14,24,43 +5,6,41 +7,14,25,32,48 +2,6,29,35 +4,6 +5,6,19,25,28 +4,6,45 +0 +3,29,51 +4,6,13,31 +6,20 +5,7,14 +6,25 +5,14,21,28 +5,6,44 +3 +5,20 +3,5,6,14 +3,6,13,22 +6,14,17 +6,25 +6,14 +6,42 +2,4,6 +5,6,38 +4,14,46,47 +6,27 +6,11,43 +29,42 +5,6,7 +6,14 +4,5,6,14,17 +10 +5,6,10,13 +6,35,46 +3,6 +14,20,21,23,31,42 +3,6,22,51 +4,5,6,19 +4,5,14,17,32 +6,18,24 +4,6,8,17,29,46,51 +6,43 +4,6,21,22 +6,11,12,20 +3,14 +4,6,16,29,36,47 +5,6 +2,6 +4,6,14,27,43 +27,37 +6,11,13,14 +7 +6,14,20,22 +5,6,14 +5,6,12,18,28 +2,3,6,17,18,20,21,29,49 +29 +3,6,9,14,15 +3,6 +5,12,18,25 +7,27 +8,20,21 +6,7,50 +3,4,6,22 +6 +5,6,17,25 +5,6 +0 +6,12,40 +7,21,22,39 +6,28,37 +4,6,7,14,17,47 +6,25,38 +3,5,6,25 +4,6,14,16,21,48 +4,6,14,36 +6,7,11,36 +6,13,46 +5,6 +5,6,8,17,40 +4,48 +6,14,19 +5,6,19,33,41,44 +6,51 +6,16,31 +6 +12,14,23 +5 +5,6,22,30 +0 +2,14,20 +5,6,29 +6,12,15,17,21,43 +3,5,42,49 +6,14,17,36 +6,8 +5,6,14,20 +5,6,35,42,47 +2,5,6,7,37,42,44 +6,22 +5,7 +3,5,6,7 +4,6,22 +6,12,14 +2,42 +29 +3,6,13 +6,7,12,22,23 +2,6 +5,17 +2,5,6,19,29 +6,22 +4,6,8,12,14,23 +0 +5,6,21,43 +4,5,6,20,26 +6 +6,7,14,20,25,37 +4,22 +3,4,35,43 +7,19 +2,6 +4,5,6,21,46 +3,17,20,23,42 +6,18 +4,14,17,21,39,50 +4,6,8 +4,5 +6,9,20,36 +4,6,46 +6,10,18 +5 +4,5,6,11,16,21 +4,5,6,44 +4,6,19,22 +29 +3 +12,23 +5,6,14 +12,31 +3,4,6 +4,5,6,28 +5,6,15,18,25,43,45 +2,6,17,19,30 +31,37 +4,6,25,48 +6,41 +7,14 +6,21 +5,6,17,26 +5,6,28,30 +3,5,6,40,42 +4,11 +3,6 +5,6,12,13,29,37,48,49 +4,5,15,43 +6,14,17,22 +2,4 +5,14,30 +5,6,26,33,46 +6,10,35 +6,23,25,36 +6,46 +5 +4,6,19,50 +14,27 +5,6,14,38 +5,6 +8,23 +5,6,7,14,16,17 +6,28,43 +6,20,30 +6,14,51 +6 +6,10,16 +6,17,25,28 +2,5 +4,5,6 +5,6,20 +0 +4,6,12,33 +3,5,6,8,22 +16,20 +6,22,46 +6 +12,14,21,31,49 +6 +6 +4,6,23 +6,24 +6,13 +19,28 +4,6,17,21,22 +6,17,44,46 +5,6,27 +4,6 +3,6,24 +27,28 +3,6,14 +5 +5,6 +6 +6,20 +6,48 +16,28 +6,8 +5,6,14,34 +2,3,4,5,12 +4,5,6,13 +2,6,17 +3,6,21,25,27 +6,9,22 +5,17 +0 +2,48 +3,22,34 +14,45 +5,6,31 +4,6,32 +5,11,20,44,45,46 +5,6 +2,4,5,6,14,44 +4,14,15,49 +2,4,5,6,7,14,47 +5,6,8,11,30 +5,6,14,21,30 +3,5,6,7,13,14,26,42,46 +5,6,26,50 +5 +3,5,6,14 +6 +3,6,14,21 +6,7 +3,4,6,12,27 +18,21,25 +6,7,23,41 +4,27 +5,6,14,16,25 +4,6 +3,6,7,12,22 +0 +13,22,49 +5,7 +3,6 +6,14 +4,6,40,41 +4,6,21,29 +5,6,22 +4 +6,13,20 +2,4,6,7,24,36 +3,4,5,7,27,42 +5,6,7,11,21 +5,6,18 +6 +3,4,6,33,34,42 +5,6,21,26 +5,6,20 +32 +6,13 +5,24 +6,8,14 +0 +6,7,14,40 +49 +3,5,10,17,18 +3,5,6,14,25 +6,12,22,25 +14 +5,6,22 +2,6,17 +5,6,40,43 +3,6,35,45 +3,6,17 +2,6 +6,30 +44 +3,5 +4,5,6,8,20,41 +5,6,14,45 +7,9,42 +6,7,11,26 +6,14 +7,23 +4,18,38 +6,12,44 +5,6,13,17,44,48 +2,4,6 +21 +6,16 +2,6 +3,5,14 +2,42 +7,25,26 +4,5,14,49 +6,22,45,49 +5,6,7,30 +4,6,12,14 +6,7,43 +5,6,8,48 +3,5,6,14 +4,41 +6 +6,44,50 +6 +3,6,13 +6,20 +4,5,6,11,21,29 +3,5,6,28 +0 +3,25 +5,6,18 +5,11,14,25 +5,6,28 +6,7,24,41 +40 +12 +6 +5,6,14,21,36 +3,5,20,39 +3,6,7,19,41 +4,6,14 +5,6,12 +3,6,14,22,25,30,41 +3,4,22 +6 +4,5,6,7,11,19,38 +6,14,23 +6,27 +2,6,13,20,49 +6,36,40 +5,6,38 +25 +6,12,13,25,51 +6,14,17 +5 +6,7,25 +6,7,14 +0 +5,15 +5,20,27,36,46 +5,6,7,15,27,46 +5,6 +15 +6,7,14,33,41 +4,12,17,19,50 +20 +5,10,43 +5,6,12,14,43 +6,14,37 +4,6 +4,6 +5,6,22,26,29 +2,5,6,14,15,42 +3,6,7 +5,6,28 +4,6,22 +5,25 +6,20,29,49 +5,6,14,17 +6,12 +10,16,20,39 +5,6,14,29,48 +6,14 +5,6,7,21 +6 +4,5,6,21,22,23,25 +14,20 +3,6,36,39 +5,6,35 +2 +5,6,14 +12,17 +5,12 +3,19 +4,6,24,38 +6,7,17 +6,46,51 +5,6 +3,28 +14 +6,14,17,21,25,42 +5,6,8,14,42,49 +5,6,42 +6,20,25 +34 +0 +3,6,18,22 +13 +6,20,28 +5,6,26,33,48 +6 +5,6,36 +6 +4,7,34 +3,6,21,32 +5,6,14,33 +7,10,14,22,42 +23,43 +5,43 +6,49 +6,12 +12,14 +6 +7,26,32,34 +12 +2,6,14,22,27,30,38 +6,7,14,41 +5,6,9,18,36 +6,14 +2,7,21,43 +6 +6,22,26 +3,21,27 +6,27,28 +4,5,30 +5,6,19 +6,13,14,19,37,44 +4,5,6,20,33 +3,5,6,12,14 +6,17,20,45 +6,16 +3,6,17,45,46 +5,6,10,13,17 +5,6,12,43 +3,6,8 +3,6,17,33,37 +5,28,42 +4,5,6,20,30 +14,20,42 +6,11,12,26 +4,6,37 +4,5,6,25,39,41 +6 +14,30 +4,5,6,14 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +6,22,38 +6,13 +6,37,38 +6,16 +2,5,6,20,21,38 +6,37,39 +6,14,25 +2,6,7,31 +3,5,6,12,13,14,25,40 +6,20 +2,5,6 +6,21,41 +6,11,41 +5,6,14 +4,6,7,19 +6,9 +5,10,23,29 +5,6,45 +14 +4,6,30 +3,4,5,6,21 +25 +6,14,17 +6,12,35 +12,42 +5,6,15,46 +5,6,17,46,50 +44 +6,17,22,45 +3,5,24 +7,14,19,39 +4,5,6,14,17 +4,6,17 +2,26 +5,6,10,14 +5,14,20 +2,6,50 +2,3,5,6,14,25 +4,28 +6,13,24 +0 +5,6,47 +25,30,31 +3,14,19 +12,14,37 +2,6,7 +6,7,22 +6,7,24,46 +9,30,38,49 +2,5,6 +4,11,13,20,24,25 +6,10,14,16,17,26 +5,6,12,17,18,22,29,44 +5,6,43 +6,12 +3,6,45 +6 +3,5,6,12 +4,5,6,17,24,48 +5,6,13,14,20 +6,15,22 +6,20 +4,6,23 +3,6,7,22 +5,10,17,22,51 +3,6,7,41 +4,5,6,26,44 +4,14,18,21 +4,6,7,14 +6 +4,5,6 +3,5,6 +5,6,10,14 +3,6,14,21,36 +3,6,47 +7,20 +2,6,7,11 +5,6,7 +4,5,6 +5,7 +3,6 +2,6,41 +25 +38,51 +5,6,7,14,22,48 +4,6,16,20,38,39 +6,18,47 +5,17,38 +2 +6,17 +12,49 +2,6,22,29 +4,6,13,20 +4,7,20,41,50 +5,6,50 +2,26 +6 +12,21,22,32 +3,12,13,14,17 +6,23,36,41,51 +4,5,6,14,20,22 +5,6,10,17,19 +5,6 +4,12,14,16,29 +3,4,5,6,13,14,20,28 +2,4,5,6,14,51 +5,6,12,14,26,29,42 +5,6,7,17 +5,6,22,25,33 +3 +4,6,17 +10 +3,5,6 +6,29,38,40 +21,28,32,46 +4,6,7,15,16 +2,6 +4,5 +6 +6,12,14,17 +2,6,10,33 +6,38 +5,6,22 +5,17 +5,6,18 +2,4,6,42 +5,6,14,16,22,24 +5,7,14,15,25,33 +50 +2,7,16,30,34 +6,22,41 +0 +22,29,46 +6 +6,7,14,26,29 +6,14,17 +5,6,48 +0 +5,17 +14 +3,9,14,27 +6,9,17 +2,3,4,5,6,20 +0 +25,28 +5,6,8,10 +6,7,30,31,44 +30,48 +2,3,5,14 +5,6 +4,5,6,28,30 +4,5,6,7,21 +3,6,20 +6 +12,38 +6,16,17,25,26,32 +3,4,6,14,18,33,43 +2,4,6 +5,14,25 +6 +21,23,25 +6,29,35 +5,6,14,25,34,45,46 +3,6,12,13,14,22 +6 +6,17,40 +5,32 +2,6,7,14,29 +3,5,6,20 +4 +5,6,14,15,25,34 +3,33 +6,33 +4,14,22,25,32,42 +2,14,17 +4,12,14,27 +2,4,6 +0 +14,15,19,21,22,34 +6,13 +11 +5,6,22 +6,14,25 +5,6,7,13,14,30 +3,4,5,6 +3,4,5,6,7,17,39 +8,32,46 +4,5,6,7,43 +3 +4,6,26,34 +6 +3,6,25 +22 +3,5,6,13,22 +6,13,14 +4,7,25 +6,8,14,46 +4,6,49 +5 +44 +5,6,10,43 +3,5,6,12 +5,33 +6,25 +5,6,39 +6,20,29 +5,6,9,14,22,39 +4,6,43 +6,20 +48 +6,42 +3,4,6,12,26 +2,5,6,7,14,17,23 +6,13,18,24,38 +5,6,11 +5,6 +4,6,35 +6,18 +12,22,30,44 +5,6,7,28 +5,6,29 +21 +4,6,12,31 +6 +4,6,14,18 +3,5,6,10,25,28 +4,5,6,7 +0 +0 +6,14,17,25,31 +7,13 +6,14 +5,6,14 +6,14 +2,6,7 +2,4,5,28 +0 +5,6,15,46 +5,6 +5,6,7,18,20,25,41 +4,6,17,22,46 +4,6,14,50 +5,6,30,34 +14 +4,6,14,34,42 +4,7,14 +5,6 +5,11 +7,29 +4,7,14,17 +2,4,13,21 +4,6,25 +5,13 +5,6,7,11,14,28 +3,6,14 +5,6 +3,6 +17 +6,17,29,30,33,39 +5,6,9,20,25 +6,27 +4,5,37 +3,4,5,6,10,30 +6 +6,41,42 +5,6,22,42 +6,7,30,31,43 +4,6,7,13,15,17,51 +4,5,6,45 +28 +6,17,45 +2,3,9,17,41 +6,7,17,19 +6,20,35 +5,12 +2,3,5,14,17,22,41 +37 +3,6,13,17,37 +6,19 +6,27 +4,14,23 +5 +6,10,14,21 +28,50 +3,6,10,14 +3,4,5,6,25 +3,17,22,50 +2,6,14,48 +5,6,7,20,22 +5,6,16,38 +6,14 +17,34,42 +8,13 +5,18,23 +6,13,14 +5,18,22,25 +2,4,6 +3,6,7,19,36 +2,3,5,6,13,14,22 +6,7,13 +6,20,43 +6,17,29 +3,6,25 +3,6,20 +3,6,14,24 +4,6,20,49 +17,22 +5,6,14,48 +4,5,6,20,28 +5,6,10,13,14 +22 +6 +5,6,7,48 +6,7 +3,5,6,21,24,32,44 +3 +5,6,7,14 +3,6,20,41 +5,6,40 +6,14,16,23,47 +3,5,6,18 +4,6,14,19 +14,21,26,28 +5 +7 +6,7,43 +6,14,34 +5,6,7,17,28 +4,14,20 +3,6,14,16,44 +3,19 +5,6,7 +4,6,34 +6,14,25 +3,8,19 +5,6,21,23,48 +5,14 +3,6,17,22 +4,5,20 +6,8,31 +6,7,30 +6,12,44 +6,22 +6 +12,17,28,39 +5,6,9,14,30,50 +5,6,14 +2,5,6,29 +5,23 +5,26,29 +6,7,8,30 +6,7,14,21 +5,6,14 +0 +6,17 +6,13,14,42 +4,6,25,33 +7,19 +4,5,42 +5,6,16,17,39 +4,5,6 +5 +2,3,4,5,6,14 +5,6,7,50 +2,6 +2,6,18,21,40 +4,14 +3,4,5,6,22 +6,13 +4,6,33,46 +4,6,10,12,17 +5,6,20,49 +3 +5,6,21 +3,5,6,7,11,14,19,20 +6,14,17,25,51 +5,37 +5 +6,12,23 +5,6 +6,8,43 +4,6 +4,11,40 +5,6,32 +4,6 +2,6,14,41 +5,13,18,21 +22 +6,14 +6,18 +6,13,14 +5 +4,5,6,14,18,22 +3,5,6,22,33 +6,13,14,15,17 +5 +21 +5,6 +6,42 +5,6,13,14,46 +6 +5,6,17,50 +6,14 +5,6,13,14 +5,6,14,28,34 +3,6,8,20 +6 +8,14 +6,10,14,36 +6 +4,36 +6,8,21,28,45 +4,6,17 +6,40 +2,6 +6,7,28,45 +14,51 +4,5,6,14,15,23 +4,6,20,23,36,38 +6,21,25,40,49 +4,7,31 +2,3,5,14,28,34,49 +5,6,17 +2,3,4,6,17,20,22 +6 +6,7,30,42 +5,17 +6,14,22 +6,15 +4,6,11,25 +5,6 +6,14 +14,15 +6,17 +5,6 +4,5,6 +2,5,6,12,33 +6 +6,39 +6,25 +4,20,26 +25,36 +6 +5,6,9,14,20,22 +5,6,14,20,28,51 +4,15,42 +5,6,21 +5,6,25 +5,17 +5,17,48 +6 +6 +5,6,13,16,43,44 +2,6,20,31,39 +0 +6 +5,6 +6 +4,6,14,20,39,45,46 +4,6,14,17,26,41,43 +0 +3,6,21 +6,20 +6,7,22,32,49 +0 +7,25 +5,7,22,23,32,35 +4,5,6 +5,6,11 +13,16,38,42 +35 +5,6,51 +6,47 +5,6,42 +12,20,22 +4,6,20,51 +2,4,6,7 +5,6,14,27 +3,12,14 +6,32,34,41 +14,17,46 +2,17,23,41 +5,6,10 +6,12,14,20 +6,7,9 +5,6,14,15,20 +6,14,30 +0 +6,16 +29,40 +14,20 +6,7,10,36,39,49 +6 +6 +6 +4,6,17 +4,6,14,27,30 +6 +6,7,14,21 +5,14 +5,12 +6,7,12,20 +5,31 +6,14 +5,6,11,14,17 +17,50 +6,14 +2,5,6,7,18,19 +17,22 +6,8,26 +5 +22 +4,5,6,13,25 +5,6,25 +3,28 +22 +28,50 +6,18,22,27 +0 +6,12,25 +6,20 +12,25 +6,10,20 +4,6,7,12 +6,15 +6 +4,6,20 +4,5,13,20,46 +6 +10 +6 +3,6,13,14,48 +3,6,7,13,51 +2 +6 +11,14,16,19 +5,12,17,18,33 +6,8,25 +2,5,18,23,30,44 +3,4,5,6 +5,6,8 +4,6 +6,25 +5,6,10 +4,5,6,14,21,23,25 +6,10,11,25,31 +2,4,9,23 +14 +6,17,47 +4,6,14,49 +3,5,6,37 +6,29 +3,6,30 +3,15,29 +5,6,10,14,42 +14,33,39 +2,5,17,25 +3,6,14,17,20,25,37,38 +2,6,13 +3,6,14,34 +6,11,16,22 +6,14,16,22,24 +3,4,6,16,21,28 +5,6,17,20 +5,6,15,20,34 +3,6,23,26 +3,6,19,30 +2,5,14,19,22 +3,5,34,50 +5,44 +5,6,7 +5,6,36 +3,5,6 +4,20,21 +6,11,22,35 +46,49 +4,14,29 +7 +5,14,15,17 +14,17,19,49 +3,6,24 +2,5,14,44 +6,37 +4,6,8 +3,14,30 +6,15,22 +6,39 +3,5,6,12,20,28,32 +4,5,6,8,17,25,50 +3,5,6,14,26,46 +4,6,33,46 +3,6,9 +5,6,14,17 +5,6,18,39 +4,6,14 +6 +6,20 +4 +2,3,6,17,20 +4,6,24,25,41 +13,22,50 +3,5,6 +6,25 +4,14,41 +2,7,25,40 +20,26 +4,6,11,26 +6,7,14,15 +3,6 +18,25 +4,13 +5,6,17 +3,4,6,9,49,51 +4,5 +6,13,14,17,25 +4,6,16,23 +6,14,28 +2,6,14,38 +5,6,14,17 +5,6,7,14,17 +5,6,28 +6 +5,6,7 +6 +15,22,36,43 +6,13,43 +5,6,33 +13,22,45 +6,7,14,40,41 +3,4,28 +3,4 +5,6,7,14,15,26 +20,48 +5,6,14 +5,14 +4,5,6,10,28 +6,18,21,27,37 +4,6,28 +6,14,29 +6,17 +4,6,46 +6,7,14,20,22,26,48 +6,26,29 +7,10,23,25,28,48 +21 +4,6,13 +6,32,41 +5,6 +4,6,21 +8,13,15,16,23 +6 +3,41,43 +6,12,14,31,33 +5,6,7,14,22,23,25 +6,18,19,49 +3,5,6,17,21,22 +6 +4,6 +7,12,44 +5,6,22 +4,5,6 +4,6,16,50 +3,5,6 +6 +2,13,14,19 +5,25,29,35,36 +5,6,7,22 +6,14,42 +5 +6,28 +5,7,21,32 +22,38 +4,6 +5,6,7,14,16 +5 +5,16,22 +2,4,6 +4,7,43 +12,16,34,38 +2,5,7,14,50 +6,12,14 +6,25 +15,18,20 +3,6,15,20,44,51 +4,6 +6,28 +5,12,14,43 +4,6,42 +3,16 +5,19,26 +17,22 +7,20,40 +6 +3,5,6,14,23 +3,6 +6 +6,34,37 +3,4,6 +0 +3,5,6,22,44 +5,12,14 +4,6,12,22 +7,9,28 +5,6,20,49,50 +5,6,14 +6 +12,36 +2,13,21,42 +5,6,18 +6,7 +6,13,14,30,37 +5,6,13,17,37 +3,5,6,30,50 +5,13,25 +2,5 +5,6,25 +3,17,40 +6,21 +14 +6,7 +5,6,12,44 +5,6,19,39 +3,5,6 +5,20,41 +14,22,47 +2,4,40,45 +3,6 +3,6,18 +5,6,51 +5,6,8,14,21,25 +5,25,31 +4,6,14,17,27,40 +2,5,6 +4 +5,6,10,25,33 +6,7 +3,6,14 +3,14 +4,6,13 +21 +3,9,37 +6,17,37,42,51 +3,5,6,21,34 +5,6,28,47 +5,6,14 +6,28,34 +6 +3,4,14,29,42 +6,7 +5,21 +4,6,11,21 +5,6,12,14,25,37 +6,7,21 +8,12,23,25 +4,5,6,20,21,22 +6,22 +5,6,23 +3,6,21 +6,7,25,29 +3,6,41 +4,6,23,43 +3,6,16 +3,6,9,17,39 +6,21 +3,6,14,25,26,36,48 +6,12,14,16 +4,5,6,14,31,42 +6,13,46 +5,7,14,27 +6,14,21,27 +3,6,7,14,22,49 +3,4,6,43 +5,14,41,49 +16 +15 +6,14 +3,5,6,14,40 +5,30 +6,12,14 +5 +6,7 +6,14,20 +5,6,19,45 +2,4,5 +9,17 +6,16 +4,22 +6,34 +6,12 +5,6,7,17,40 +5,42,50 +6,20,39 +5,6 +2,4,6,10,14,36,46 +6,14,44 +6 +6,7,18,25 +5,6,15,17,22,46 +6,17 +4,5,6,13,22,30 +6,26,38,47 +4,5,6 +4,6 +2,3,5,6,28 +6,18,20,36 +5 +3,35 +6,10 +6,14,22 +6,46 +6,13,25 +12 +5,14 +4,5,6,40,45 +6,22,26 +6,31 +6 +4,6,14 +6,14,17,28 +6,14,15,25,29 +6 +6,14,17 +3,6,25 +3,6 +0 +5,6,15,17,45 +5,6 +10,21,38 +3,5,21,27,29 +3,6 +3,5,25,35,44 +14 +3,5 +6,12,14,16,17 +6,7,14,17,20,40 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +5,13 +7 +5,7,26 +2,4,5,17,25 +5,28 +20,46 +5,14,21 +5,6,9,51 +5,6,16 +5,6,14 +5,6,17,18,47 +4,6,24,25 +4,5,6,7,14,17 +3,6 +5,6,18,37,50 +6 +3,5,6,13,20 +6,9,17,21 +3,6,7,13 +6,16,18 +4,6 +4,6,18,38,42 +2,5,29 +5,14 +6 +4,7,12 +4,5,6,11,14 +19,31 +6,41 +5,14,33 +2,5,6,11 +3,6 +6,46 +4,6,14,21 +4,6,10,22,24 +6 +5,6,16 +42 +6,20,43 +7,14,16,22 +3,5,6,12,14,20 +6,28 +3,16,17,24 +6,14,17,20,42,50 +5,6,13 +4,6,25,37 +6,12,13,22 +6,12,14,22 +3,14 +6,36 +5,6,16 +3,5,6,13,20,38 +3,23 +0 +5,6,13,14 +3,6,35 +6,7,22 +4,6,25 +14,18 +6,7 +19 +3,22 +3,6,18,20,28,33 +6,14 +6,38 +3,33 +6,17,20 +3,5,14,42 +5,6 +5,28 +5,6,41 +6,7,17,21 +4,5,6,46 +5,6,14,15,25,30 +2,6,20,30 +6,14,17,19 +5,6,14,22,38 +3,6,22 +3,5,6,42 +3,5,6,25 +4,6,18,29,46 +4,34,36 +3,25 +5,6,10,34 +5,6,13,28 +5,6,9,26 +5,6,10,13,39 +21 +3,6,7 +6 +2,5,6,21,22 +12,33 +3,4,5,6,28,34,42 +5,6,14 +14,21,25 +3,7,8,13 +5,6,13,48 +6,50 +4,5,6 +3,5,6,7,17,25 +6,8,14,17 +3,4,20,25 +6,10,14 +6 +6,46 +4,6,29,32,34 +6,8,37 +3,6,14,23 +14,22,43 +6,19,21,25 +3,6,28 +6,45 +5,14,17 +3,6 +5,11,23,43 +4,6,11,20 +3,5,17,20 +26 +6,14 +5,6 +5,6,17,41 +5,6,14,17,49 +6,12 +5,14,27,32 +6,42 +5,6,14,19,26 +14 +3,5,6,14,17 +6,14,42 +2,25 +6,22 +6 +6,7,25 +6,9,39 +3,5,22,41 +6,22 +5,30,48 +7,30 +2,6,12,17 +2,6,48 +25 +5,6,14,27 +5,6,14,17,18,22 +7,13,22,35 +2,6,17,46 +49 +5,46 +5,6,18 +3,4,6,13,14,43 +5,6,18 +22 +6,11,14 +5,51 +5,6,49 +4,43 +14,16,26 +6,14,16 +6,7,14,20,25 +21,25 +3,5,14 +0 +3,4,6,10,28 +4,14,51 +6,16,48 +6,20 +2,5,6 +4,5,6,40 +16 +6,7,9,16 +3,39 +5 +6,21 +6,40 +5,6,10,46 +2,3,5,6,13 +3,17 +5,20 +3,5,6 +6,17 +4,42 +5,15 +6,8,50 +6,14 +4,5,6 +6,7 +3,5,6 +6,25,29,30 +6,27,37 +6,7,10,14,20,28 +5,12,43 +6,7,14,17 +3,5,6,14 +2,26 +3,5,6,17,29,50 +4,6,18,22,34 +6,12,14,19,34 +4,6,10,23 +6,19,22,25,49 +6,36 +5,12,14 +3,5,14,25 +4,5,17,22 +4,5,6,14,22 +6,8,12,21,45 +22 +6 +2,6,17,48 +6,7,11 +18 +5,6,33 +4,5,6,7,15,46,48 +5,20 +5,6,12,29 +4,5 +4,6,14,48 +6,7,17 +4,5,7,20,49 +6,7,11,39 +6,14 +3,4,5,6,7,15 +5,6,7 +5,6,14,35,40 +5,6,13 +0 +5,6,14,18,32 +5,6,46 +3,6,7,14,16 +5,6,13 +5,6,14 +3,5,6,17 +6,7,25,43,46,49 +5 +10,12 +5,6 +6,37,46,48 +3,7,50 +4,5,6 +5,6,7 +5,6,18 +4,6,20 +6 +5,6,14 +4,14,25 +6,7,14,20 +6,35 +5,13,20 +4,17 +6,7,25,36 +3,4,5,6,33 +5,17,21,43 +6,14,21 +14,21,41 +3,6,15,29,33 +40,47 +5,6 +4,6,7,18,26,33 +3,4 +6,38 +6,15 +3 +4,6,7,35 +14,17 +4,6,20 +6,14,21 +2,6,17,24,50 +4,5,8,16 +6,18,21 +6,14,21 +6,13,14,19,24,47 +6,11,20,43,49 +5,6,10,16 +5,13,15,49 +2,3,7,15,28,30,47 +4,25 +8,21 +2,6,14,22 +6 +4,5,6 +5,37,45,46 +0 +4,5,6,8,15,45 +5,6,13,46 +22,39,44 +5 +3,6,14,20 +5 +6,14,15,25,29 +5 +6,7,22 +6 +5,6,10,17,31 +6 +0 +5,7,17 +6,32,42,46,49 +0 +5,6 +2,5,6 +17 +2,5,6,16,17,44 +6,14,16,21,47 +5,6,46 +6,14 +4,6 +3,6,14,20,22 +2,6,17,21 +6 +4,6,14,42 +3,6,18 +4,5,6 +6,22,27,28 +6,32 +6,14,24,38 +2,5,19,39 +17 +6,14,19,31 +5,43 +14,20,40 +6,23,28 +6,21,36,46 +4,6,28,37 +2,3,5,6,12,20 +4,6,40,46 +0 +6,9,11,17,28 +2,6,15,25 +3,4,7,17,18,25 +2,5,6,27,51 +5,6,11,15,33 +2,7,8 +5,6,17,23 +6,13,32 +4,29 +6,20 +5,6,12,28 +2,5,6,14,22 +4,5,6 +3,6,14,18,43,51 +5,6,20,39 +3,4,6,7,25 +3,5,6 +3,5,6,19,30 +5,6,7,11 +6 +6,7,14 +14,22,28 +24,49 +14 +6 +5,6,15 +6,7,25 +6,14,22,44 +5,14,30 +6,12 +5,6,14,17,22 +5,6,20,36 +0 +6,13,27 +5,6,10,12,13,17 +5,6,14,50 +13,14 +4,6,17 +5,6 +7,19,20,25,28 +2,4,18,27 +12,14,36,49 +6,14 +6,14,21,32 +5,6 +4,5,16,32,40 +5,6,21,40 +16 +5,6,10 +49,50 +5,6 +5,9,14,46 +3,6,7 +6,16,19,26 +4,5,14 +4,6 +5,14 +14,17 +3,6,13,20 +5,6,26 +4,5,6 +5,6,14 +4,6,17,43 +6,12,28 +3,14,48 +5,6,14,17,47 +3,5,6,25,49 +6,19,41 +6,7 +4,6,14 +5,17,27,28 +6,7 +5,7,22,35 +3,6,10 +4 +14 +6,13,18 +41 +6 +5,6,14,22,25,28 +6,7,26,34 +5,14 +6,34 +5,6 +2,6,14,26,38 +6,7,13 +6,17,28 +13,17 +0 +5,25,28,40 +4,6,10,44 +5,6 +4,6,7,8,41 +4,11,49 +6,7,13,22,30 +6,8 +4,5,6 +6 +5,6,14,50 +5,22,29 +4,5,33,37 +6,44 +6,22,28,30 +7,16,27 +4,5,14,17 +2,5,6,16 +5,6,7,14 +4,6,17 +5,6 +2,25 +5,20,25 +6,14,19 +3,6 +5,6,7,13 +5,49 +3,6,21,36 +4,5,6,20,28 +6,9,27 +19,45 +3,6,17 +6 +5,6,22,33,45 +6,19 +3,6,15 +2,3,6 +5,12,14,17,20 +5,6,7,22,42 +5,6,7,28,48 +6,29 +2,6,7,38 +5,6,18,26,46 +6 +6 +6,17,34 +6,7,17 +22,25,32,36 +3,6 +36 +5,6,41,47 +6,14,22,23,27,30 +5,6,14,21,22 +20,23 +0 +6,14,15 +5 +5,6,16,20 +5,14,17,40,42 +6,14,23,27,37 +5,6 +2,5,6 +2,5,6,12 +6,16 +6,17,22,29 +6,14,22,29,37 +6,25 +5,6,47 +4,5,6 +6,19,23,49 +6,8,14,17,20 +4,5,6,25 +3,6,14,42,46 +3,5,6,29,50 +5 +6,14,25 +5,6,18,23,28,38 +6,14,49 +4,6 +5,7,19,22 +3,17,28 +6,21 +2,6,17,27 +3,7,21,25,46 +6,7 +6,49 +6 +6,22 +4,6,14,35 +5,6,14,20,21,46 +6,7 +6 +6,24 +4,5,6 +6,14,15,30 +6,10,22 +2,4,6 +5,6,7,14,15 +6,19,22 +14 +6 +5,6 +5,32,45 +6,14,43 +6,46 +4,5,6,11,17 +6,14,16,21,35 +7,8,13,19 +6,20 +6,20 +6,23 +6,13 +0 +4,6,14 +3,5,12,20 +6,26 +6,28 +2,6 +5 +6 +6,7,44 +6,49 +11,12,20 +6,15,25,39 +4,5 +5,6,25 +6,10 +3,6,8,21 +4,5,6,7 +4,5 +6,16,22,41 +3,6,7,38 +4,5,6,28 +6,20 +51 +4,5,6,7 +24 +5,6,20,25,37 +3,4,6,27,45 +28 +5,12 +6,29 +4,6,9 +6,12,22 +6,7 +5,6,15 +6,13,29 +32 +3,5,6,20 +2,4,5,6,34,42 +6,23 +5,6,15 +5,6,14 +3,11 +4,6,28 +14,21,32 +5,6,30,48 +6,14 +6,12,14 +6 +5,6,14,35,40 +2 +3,6,20 +6,12,14,20,24 +4,6 +6,14,15 +6,7,9,14,36,42 +3,6,7,14 +14,30 +6,42 +5 +6,11,14,17,20,23,35 +3 +7,20 +6,18,27 +5,6 +15,32 +2,3,4,6,15 +3,5,6,14,22,33 +4,6,14,17,20,22,29,40 +5,6,14,45 +6,40 +6,12,27,34 +5,6,14,16 +4,7,22,27 +6,30 +6 +9,14,21,23,29,33 +6,12,17,25 +6 +13 +13,14,25,38 +6,11,22,23,42 +6,25 +5,6,14,16 +6 +0 +6,11,25 +6,7,48 +3,33,43 +6,20 +5,6,7 +6,7 +3,5,6,14 +4,6,28 +3,11 +17,25,35 +6,38 +3,6,17,22 +3,6,14,22 +2,6,19 +3,4,6,14,17,22,41 +3,5,6,8 +6,15 +5,6,23 +20 +3,6,8,15,25 +5,14,44 +23,30 +4,5,6,25,27 +5,6,14,38 +3 +3,6,7,14 +3,7,14 +2,6,7,14 +6,13,41 +5,6,7,9,44 +4,14,20 +6 +0 +4,6,20,22 +5,6,14,17 +14 +5,6,23,24,46 +5,22 +6,14,17,28 +2,6 +5,6,28,34 +6,10,12 +17,22 +6,14,15,22 +5,22,27 +3,5,6,7,21,22 +5,6,10,22 +5,6,48 +5 +6,23,38,42 +7,14 +5,6 +3,5,30 +5,6 +5,6,14,49 +2,5,6,14 +5,6,14,47 +6,17 +16,49 +2,6,14 +4,6,7,14,15,16 +5,6 +4,5,6,14,17,25 +6,13,14,17 +5,6,14,16,28 +5,6 +3,6,46,49 +4,5 +14,22 +4,6,14 +3,6,17 +6,28 +6,14,17 +5,12 +3,5,6,14 +13 +14,22,41 +5,13 +5,6,27 +6,12,17,46 +12,14,19,27,29 +5,8,41 +3,6,35,41 +3,13,14,17 +2,5,6,12,14,25,37,38 +6,17 +4,6 +5,6,18,28 +2,5 +6 +25 +3,42 +5,7,14,21 +4,6,17 +6,14,18,34 +3,5,6,16,18,46 +3,6,23,25 +4,5,6,12,17,26,37 +2,4,5,6 +4,6 +7,14 +6,14 +2,14,28,45 +6 +7,12,15,19 +2 +6,33 +5,6,14 +3,6,30,48 +6 +4,6,17,23 +5,6,9,10 +5,6,8,14 +6 +3,21 +3,6,17,25 +5,6 +6,12,24,25,26,30 +3,4,19,20,25,33 +5,8,17 +14,15,43 +6,14,17,25 +5,6,14 +3,6,23,28,33 +6,11,38 +6,14,16 +4,6,42 +6,24,35 +14,20,28 +14,17 +15 +4,6,7 +4,5,13,25,50 +5,12,14 +8,17 +4,5,6,13,14 +4,5,6,49 +10,21,30 +6,14 +6 +0 +7,13,32 +6 +4,6,17 +6,14,24 +5,6,7,13,14,51 +3,6,29,42 +5,17,22 +5,6,7,43 +6 +6 +6,12,13,14,51 +3,4,5,6,17 +6,14,48 +3,6,14,42 +5,18 +4,5,7,21,22,33 +6 +6,17,28 +0 +6,21,44 +6 +4,5,8,14,16,24 +6,14 +6,17,35 +14,28 +2,6 +4,6,13,25,30,39,46 +5,17 +6,11 +2,6,11,14 +6,28 +13 +6,14 +4,5,6,20,25,33,47 +4,6,11,32 +5,33,45 +14,17,18,49 +5,6,12,14,19,49 +0 +3,12 +6 +3,6,14 +6,7,10,22 +4,6 +6,7,14,25 +3,6,40,50 +4,6 +4,14,20 +5,6 +6,14 +4,5,6,14,51 +6,46 +4,6 +6,10,28 +6,19,25,44 +4,5 +3,6,18,21,49 +2,5,6 +14,27,47 +4,5,6,14,20,27,42 +6,21 +5,6,14 +5,20 +5,6,10 +6,10 +6,28 +5,6,15,32,40 +6,7,14,24 +3,6,9 +3,6,16,23 +7,14,17,49 +6,15,17 +4,7 +6,7,9,34 +4,6,12,14,35,42 +4,6,12,17,27 +3,5,6,7,14,20 +6,7,11,12,15 +3,4,5,14,26,28 +3,5,6,15 +6,10,22 +4,5,6,38,44 +0 +4,13,30 +5,6,14 +4,6,11,14,22,26 +5,6,14 +6,30 +5,20,26 +5,23,51 +5,6,10,14,22,25,29 +6,12,16,28 +4,5,7,28 +48 +6 +2,7,14,41 +4,14 +5,6,7,12,15,29 +5,6,8,14,15,18,25,40,50 +3,14,18,21,23 +4,5,6,7,25 +4,5,6,19,25,30,40 +5,6,29 +7,13,21,25 +4,6,14 +42 +5,6 +33 +3,5,6,11,15,16,22 +6,45 +6,14 +16 +0 +2,6,14,27 +6,18 +4,7,28,51 +6 +6,7,8,21,42 +14 +5,6,18,20 +3,6,22,23 +6,13,22,46 +6,20,35 +6,21,23 +2,5,6,7,20,25 +5,22 +2,6,25,40 +45,47 +5,6,17,19,20 +30 +4,5,6,14,17,32 +6,11,38 +6,7 +2,4,5,17 +5,6,14 +5,6,13 +2,3,5,6,21 +6,14,25 +3,5,6,20 +5,6,11,14 +6,14 +6,39 +6,18,49 +12 +5,6,8,13 +4,6,10,14,20,25,30 +6,13,15,23 +7,14,43 +4,6,22 +3,7,25,26 +6 +6,14,51 +42 +6 +6,17,28,33 +4,5,6,7,12,15,21,24,29 +20 +8,23,25 +5,6,7,42 +6,34 +3,6,11,13 +5,6 +5,6,14,25,28,49 +3,6,25 +5,14,17,21 +5,32 +4,6,19,28 +5,14,22 +3,28,47 +6,13,17 +5,20,35 +6,7,15,33 +9,46 +3,5,8,21 +5,6 +6,12,14 +5,6,21,43 +5,6 +6,7 +5,6,8,21 +6 +5,6,7,17 +3,5,6,11,22 +6,14,21 +6,26 +5,6,44 +5,42 +2,13,21 +4,5,6,7,49 +4,6,24 +6,12 +4,5,6,37 +6,14 +3,6,15 +14,18,23 +2,8,19 +5,6,19 +5,28 +6,42 +3,4,6,14,26 +4,6,7,28,35 +4,6,8,14,17,19,25,32 +6,32 +3,5,6,7,14,17,33 +5,6,7,9,17,46 +4,6,12,14 +6,49 +5,6,22 +5,6,7,14,34 +14 +5,6,14 +6,28 +5 +6 +6,14,19 +4,6,14,22,34,38 +2,3,33 +4,6,23,37,39,50 +8,14,45 +5,6 +3,5,6,46 +0 +5 +6,8 +4,5,7,20,33 +6,16,18,22,40 +3,7 +6,49 +5,6,14,21,28 +3,4,5,21 +3,5,6 +0 +5,6,10,13,14 +3,6,7,17,25,29 +6,34 +6 +39 +4,5,6 +3,6,49 +4,6,25 +6,42 +4,5,6 +4,5,6,7,14 +4,5,29 +4,6,14 +6,17,19 +14 +10 +7,16,23 +5,6,17,21 +2,6,14 +5,6 +4,5,6,19,32,42 +5,17 +5,6 +5,25 +5,6 +6,13 +6,14,17 +5,6,12,26,44 +5,6,13,22 +6,23,49 +7,13,25,50,51 +4,6,22,34,49 +6,28,47 +5,22 +5,6 +4,6,12,14,25,38 +6,13,17 +5,6,14,26,38 +2,6,10 +4,5 +3,6,7,13 +6,7,14,20,25,43 +5,6,22 +5,6 +6,19 +6 +5,6,14,17 +6,15,29 +6,16,22 +6,15 +7,13,34 +5,6,14,15,20 +6,14,35 +5,6,14,24 +6,7 +3,5,6,13 +4,5,6,27 +3,6,23 +3 +6,16 +4,6 +5,7,14,28,33 +5,6 +2 +6 +5,6,17,22 +4,6,7,12,20 +6,16,17 +6 +4,6,25 +6,7,11,13 +5,49 +6,33 +6,38 +2 +2,4,6,14,25,28 +4,5,20,32 +6,32 +3,6,7,33 +6,10,39 +2,4,6,12 +3,5 +2,6,14 +6,14,15,20 +5,19 +6,16,27 +6,17,20 +0 +5,6,14 +6,14 +5,6,17 +5,6,10,43 +7,42 +4,6,20 +5,7,17,28 +35,49 +2,5,35 +5,6,19 +5,12,21 +0 +5,6 +5,6,20,29 +4,5,6,14 +5,20,43,44 +4,6,8,12,14,20,33,49 +5,6 +5,6,24,25 +3,4,5,6,23,25,42 +3,4,5,28 +6 +6,14 +6,14 +4,7,12 +6,19,20,23,34 +2,4,22 +5,6,13,16 +14 +5,10,14 +29 +7,14 +5,6,14,17 +6,25,49 +6,12,13,23,28 +4,6,15 +6 +12,14,40 +6 +6,26,46 +5,6,14,22,38 +6,14,17,44 +4,6,17,25 +5,6,14,19 +4,16,17,20,40 +7,17 +4,6,44 +5,6,34 +4,6,8,12,20 +6 +4,5,6,14,16,19 +2,4,6,19,32 +2,5,7,46 +39 +6,14,15 +5 +3,6,15,27 +14 +2,6,23 +6,21 +5,45 +6,8 +4 +5,6 +4,5,6,21 +2,6,14,15 +2,4,6,14,17,22 +6,14 +6,20,25 +5,6,14 +17 +6,40 +6,10 +6,7 +2,6,17 +6,22 +3,5,6,40 +0 +4,6,24,45 +6 +5,6,7 +5,6,7,15,21 +49 +2,5,6,10,43 +43 +3,6,47 +4,6,20,21 +3,6 +2,6,17,20,25,29,47 +2,3 +2,6,17 +6,23,34,40 +6,11,13 +5,6,14,17 +2,6,35 +5,14,19,22 +7,26 +6,7,16 +4,14,25 +7,17 +5,6 +6,21,27,50 +6,13,14,20 +5,6,8,39 +3,5,6 +4,5,6,14,25 +3,4,5,6,12 +6,12 +6,7 +6 +3,6,13 +5,6 +6,11,14 +5,6 +6,14,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +3,6,25 +3,6,7,27 +5,6,15 +4,5,6,7,8,12,17 +4,7 +4,6,12,17 +4,13 +6,14 +3,5,6,14,45 +13,14,16,32,45,49 +4,6,14,25 +6,16,43 +6,12,19,25 +4,6 +2,5,6,19 +5,6,12,25 +6 +3,6 +5,6,15 +20 +6,7,27 +2,5 +6 +5,6,13 +6,22,43 +6,7,13 +4,6,12,40 +6 +5,6,14 +2,6,17 +5 +6,17 +5 +3,7 +6 +6,8,13,14,20,22 +6,10,14 +6,22,47 +3,4,6 +5 +3,6,20 +6,22 +2,4,5,6,13,17 +5,6,13 +6,7 +3,5,6,14,28,34 +6,7 +4,5,6,7,8,20 +6,19,46 +6,23 +5,6,8,14,22 +6 +6,43 +6,25,40 +4 +3,5,6,20 +14,15,42 +6,13 +3,14,22,38,42,45 +5,6,22,33 +6 +6,25 +5 +6,14 +5,6,28,44 +5 +0 +6,28 +6 +6,20 +5,6,39 +6 +6,14,19 +5,6,11 +6 +6,15 +4,10,13,20,32 +8,14 +8 +11,13,17,22,43 +6,33 +3,5,6 +5,6,14,28 +6,35 +6,14 +10,27 +4,5,23 +6,7,20,23 +6 +5,6 +6 +6,8,17 +5,6 +39 +8,13 +14 +12 +5 +6,14,25 +5,13 +6,35 +3,4,6,47 +6,35 +4,14,20,28 +6,20,42 +5,6,14,17,45 +5 +4,6,26,33 +5,6,47 +6,20,35,50 +5,6,8,17 +4,6,12 +0 +5,6,17 +6 +6,14,44 +3,12,14,20 +6,22 +6,19 +5,6,43 +3,5,10,16 +6 +4,5,6,7,20 +6,14,27 +4,5 +3,6,20 +6,12,19 +3,4 +0 +3,5,14,26,42 +4,6,22 +4,5,6 +14 +6,7 +6,7 +6,13,17 +5 +0 +6 +6,14 +3,5,6,22,26,50 +3,6,26 +5 +5,6 +6 +3,4,6 +6,17,28,50 +6 +4,6,11,13 +4,6 +6 +5 +6,14 +6,14,24 +3,5,6 +5 +5,6,14 +5,20 +6,20 +12 +4,6,12,14 +4,6,20 +35,42 +6 +6,14,16,39 +6,7,13,17,45 +4,5,6,7,14,28,45,47 +50 +6 +5,6,12 +6,12,15 +6 +0 +5,6,7,12,15 +3,4,5,14,23,28 +6,12 +4,15 +4,34 +6 +6,19,20 +6,10,14 +6,17,39 +0 +3,5 +6,24 +3,6,14 +33 +4,6,33 +4,7,19 +3,4,6,14 +6,24 +5,6,7,12,14 +6,14 +6,20 +4,5,7 +13,17 +6 +3,5,6,14,15,20 +5,6,12 +6 +5,6 +6 +4,6,12 +5,44 +6 +5 +3,6,44 +4 +4,6 +3,6,7,14 +5,6,14 +5 +5,6 +3,5,6,15 +5,6,11 +6,13 +6,50 +6,7,17,39 +6 +5 +5,14,26 +6 +5 +7,14 +6,7,39 +6 +4,6,17 +6,7,17,23,28,47 +5,6,14,17 +6,14,17 +5,15 +3,4,6,14 +0 +6,14,17 +4,5,6,20,26,35 +5,6 +14,23,42 +3,6 +8,42 +3,6 +6,14 +3,4,6,10 +5,6 +5,6,14 +5,26,28,50 +4,6,33 +5,6 +6,14 +6 +4,6,14 +6,8,10,14 +4,6 +5,6,26,42,43 +14,24 +6,45 +6,14,15 +6,19,38 +5,6,26 +0 +4,20 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +5,35 +4 +5,23 +5,14 +5 +19,20,28 +4,8,23,28,42 +14 +0 +5,33 +4,14,23 +19,33,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +5,14 +4,5,11 +4,19 +4,23 +14 +5,13,42 +5,13 +0 +14,28 +4 +0 +10,11,14 +33 +5,14,44,50 +8,14,15,28 +4,11,42 diff --git a/siftsmall/query_attrs.txt b/siftsmall/query_attrs.txt new file mode 100644 index 0000000..319d1dc --- /dev/null +++ b/siftsmall/query_attrs.txt @@ -0,0 +1,100 @@ +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 +35 \ No newline at end of file diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index b/siftsmall/siftsmall_R20_L40_SR32_stitched_index new file mode 100644 index 0000000..f8eab81 Binary files /dev/null and b/siftsmall/siftsmall_R20_L40_SR32_stitched_index differ diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index.data b/siftsmall/siftsmall_R20_L40_SR32_stitched_index.data new file mode 100644 index 0000000..07e31f5 Binary files /dev/null and b/siftsmall/siftsmall_R20_L40_SR32_stitched_index.data differ diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full new file mode 100644 index 0000000..413cb1c Binary files /dev/null and b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full differ diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full.data b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full.data new file mode 100644 index 0000000..07e31f5 Binary files /dev/null and b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full.data differ diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_labels.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_labels.txt new file mode 100644 index 0000000..0d9f6fb --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_labels.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +7,6,8 +0 +6 +9,4,6,10,11 +6 +6 +12,4 +6,8 +13,3,14,5,15,16 +17,5,6,18 +5,6,19 +20,17,14,6,21 +12,2 +13 +22,6 +10 +17,6,10 +5,6,23,11 +6 +24,25,6 +6 +24,26,7,4 +27,3,14,21 +3,14,6,23 +14,6,28,15 +14,5,6,29,30 +31,2,7 +32,25,6 +33,5,6,19,8 +6,11 +17,4,14,15,10 +34,13,6 +35,13,17,6,15 +36,3,4,14,8 +3,5,6,21 +7,4,6 +33,2,5 +37,14,6,16 +38,5 +14,6,10 +7,3,14,5 +28 +39,6 +2,3 +7,5,6,29 +6,8 +35,26 +5 +6,21 +40,13,7,14,5,6 +14,6 +41,5,6 +34,13,3,6 +22,5,6 +3,4,5,6,29 +3,5,6 +6,28 +25,3,4,6 +6,21 +37,14,6 +34,4,6 +22,5,6,15 +4,6,28 +17,5,6,42,29 +6,43 +26,6,11 +25,7,3,6 +44,5,6 +38,7 +45,13,6 +40,2,5,6,21 +6 +40,41,4,14,6 +10 +7,5,6,23 +31,20,14,6 +44,12,6 +45,17,7,5,6 +12,6,18 +6,11 +20,7,46 +3 +2,17,6 +31,47,46 +26,2,5 +0 +4,14,5,6,42 +37,27,48,41,4,5,6,11 +2,3,4,6 +14,5 +17,5,6,28 +2,5,6 +20,4,5,6 +12,20,49 +7,6 +14,6,19 +22,3,6 +37,30 +6,16,42 +2,4,6,10 +17,6 +14 +4,5,10 +6,10 +17,3,6,16 +50,4,5,6 +4 +50 +35,14,21 +14,6 +2,4,16 +22,5,15 +17,6 +6,8,43 +6,29 +24,25,17,14,6,11 +12,14,6,15,18 +22,14,10 +25,7,14,6 +49 +6 +32,25,3,5,6 +4,21,18 +4,6 +6 +0 +31,32,36,6 +26,6 +22,5,6,19,30 +20,3,5,43 +34,6 +5,19 +22,5,6 +3 +25,4,6 +25,7,5,6 +12,6 +13,17,5,6,19,10,42,18 +3,8 +37,17,7,28,46 +6,21 +6,46 +5,6,46 +5,6 +47,2,20,7,6,28,19 +41,6 +3,5,6 +12,5 +44,6 +3,29 +2,4,6,15 +35,14,5,6,16 +48,6 +5,6,15 +4,14,6 +25,22,14,6 +33,14 +39,31,32,3,6 +25,6 +13,5 +5,6 +6,21,15 +0 +39,14,6,15 +36,13,3,6,21,11 +33,3 +48,25,5,6,29 +20,17,4,6 +3,4,5,6 +5,6 +2,17,3,5,6,16 +6 +13,4,5 +36,38,5,6 +2,6 +9,14,5,6 +3,14,6,11 +6 +24,5,6 +38,48,12,5,6 +24,4,6 +6,23,8 +22,3,5,6 +41,26,17,5,6 +41,13,14,16 +6 +6,49 +34,3,4,6,21 +2,17,6,18 +5,6,28 +26,6 +17,4,6,16 +7,4,5,28,8 +38,6,16,8 +31,25,3,5,6 +25,22,7,3,4,14,5,6 +37,14,6 +14,5,6 +13,20,7,6 +25,4,5,6 +7 +25,5,6 +5,46 +44,5,6 +12,4,5,6,21,19 +20,6 +4,6 +26,20,17,14,5,6 +4,6 +22,3,14 +4,6 +6 +17,14,5,6 +38,22,6 +39,14,6 +47,12,6,15 +12,22,5,6,42 +20,5,6 +4,6,15,8 +22,3,4,6,28 +9,6,28 +25,14,6 +22,6,11 +7,6,30 +7,5 +6 +34,7 +7,14,5,6 +37,3,6 +7,14,46 +5 +7,5,6 +50,2,7,6,8 +25,22,6 +7,14,6,42 +17,14,6 +5,6 +50,4,5,6 +36,13,4,14,6 +22,7,5,6,15,16 +14,6,30 +6 +5,6 +12,3,5,6 +5,6 +17,6 +12,25,14,5,6 +3,5,6,28 +3,6 +20,5,6,23 +27,4,6 +40,4,6 +12,3,6,18 +28 +5 +17 +7,14,5,6 +3,4,5,6 +14,5,6 +4,6,49 +17,7,5,6,18 +9,6 +5,21 +17,7,5,42 +0 +40,34,7,4,5,6 +35,3,14 +3,4,5,6,21 +6,11 +14,6 +38,20,6 +25,20,17,5 +13,5,6,15 +14,5,6 +37,12,14,6 +6 +16 +28,18,23 +51,47,5,6 +6 +0 +25,3,6 +2,20,4,6,10 +44,12,6,10 +6 +13,5 +40,22,5,18 +5 +37,2,3,19 +47,48,22,4,5,6 +22,6,21 +6 +5,6 +6 +7,6,15,18 +7,5,6 +0 +17,3,6,15 +7,14,6,21 +17,7,5,23 +22,4,5,29 +25,5,6,15 +2,14,6,49 +10 +44,3,14,6 +25,17 +9,38,7,6 +6 +4,5,6,11 +35,14,5,6 +4,5,6 +32,7,6 +40,6 +2,25,6 +17,4,6 +2,17,6,21,28 +44,17,4 +34,6,46 +35,22,17 +7,6 +26,2,5,6 +14,5,6 +48,4,6,10 +20,4,5,15 +4,6 +47,44,22 +3 +0 +4,6,43 +50,14,6 +33,25,5,6 +5,6,15,18,29 +48,44,25,4,5,6,46 +14,5,6,11 +20,5,19 +5,6,11 +2,21 +39,32,22,6 +4,6 +45,36,12,13,14,5 +44,13,17,4,6,23 +14,5,6,15 +34,6 +22,14 +21,10 +7,5,42 +20,6,42 +2,7,4 +35,6,29 +14,6 +5,6 +51,38,2,23,29 +50,7,6 +17,4,14,6,42 +12 +4 +26,5,6 +17 +13,3,6 +36,22,7,6,28 +14,6,28,16 +14,5,6,10,29 +25,5,6 +38,12,14,5,10 +37,7,3,14,6,42 +2 +14,6,23 +5,6,21,30 +48,20,5,6 +35,7,6 +45,20,14,6 +25,5,6 +6 +36,17 +3,14,5,6 +5,6 +13,5,16 +4,14 +6 +6,18 +20,5,6,23 +6,16 +48,12,5,6 +34,5 +4,5,6 +6 +7,6,28,18,8 +17 +14,6,30 +6,46 +12,14,6 +4,5 +40,13,14,6 +17,5,16,29 +25,3,6,15 +48,15,18 +44,13,6,15 +27,5 +41,4,5,15 +6,18 +34,4,5,6,16 +6 +22 +14,6 +2,7,3,4,6 +27,4,14,6 +20,10 +2,14,5,6,42,49 +19 +36,6,18,29 +14,5,42 +13,4,6,16 +14,5,6 +24,35,3,14,5,6,15,46,30,43 +31,3,5,6 +7 +33,25,14,6,19 +6,42,30 +3,4,6 +22,14,6 +5,15 +2,5,6 +8 +32,14,5,43 +17,4,5,6,15 +25,4,6 +6 +9,3,5 +26,17,14,5,6 +37,12,17,4,42,49 +12 +36,17,3,6 +13,5,6,49 +35,2,6 +22,3 +2,5,6 +31,2,6 +22,17,14,21,30 +14,6 +14,5,6 +47,20,22,3 +3,4,6 +37,6,46 +41,4,14,5,6,15 +6,16 +14,6 +20,4 +3,8 +5,6 +3,14,6 +5,10 +2,6 +4,14 +32,48,33,4 +6,29 +25,6,10,46 +4,6 +47,3,14,5,6,16,46 +36,12,6,8 +39,25,4,18,43 +6,28,19,46 +0 +14,19 +41,5,21,15 +7,3,4,5,6 +2,6 +22,4,14,5,6 +7,3,4,6 +3,6 +6,8 +17,14,5,6 +7,6 +14,43 +26,6,18 +6,19 +50,41,2,5,6 +25,20,7,3,5,6,23 +3,6,18 +0 +0 +7,5,28,42 +51,14,6,28 +3,4 +6 +34,3,5,6,29 +22,3,14,5,6 +6 +34,5,6 +26,14,6 +0 +27,25,4,14,6,28 +5,6,19 +7,4,14,6 +3,6 +6 +14,6,10 +39,37,17,14,6 +31,13,17,3,6,19 +22,14,21,46 +17,7,4,14,5,6,15 +25,6 +17,4,5,8 +22,17,6,8 +14,6 +6 +34,2,17,5,6 +45,26,4,5,18 +34,6 +26,17,4,6 +3,4 +12,4,14,6 +12,4,14,5 +13,25,20,3,4 +14,6,10 +50,6 +41,6 +5,28,11 +17,14,6,46 +48,17 +17,6 +3,14,6 +14,5,6,18 +14,5,6,16 +14,5,49 +37,7,14,6 +20,6 +14,6 +14 +0 +2,22,3,14,5 +25,4,6 +40,22,14 +7,5,6,11 +26,20,4 +7,14,5,6 +0 +34,20,6 +44,14,6,16,49 +40,14,5,6 +14,6 +2,6,10 +3,6,28,49 +5,6 +15 +5 +47,36,2,6 +3,6,42 +26,5,6,18 +0 +38 +6 +0 +3,4,6 +22,6,11 +6,10 +40,27,13,5,6 +0 +17,6 +14,6,28 +34,13,5 +14,43 +37,17,6 +47,4,5,6,10 +6 +44,6,8 +36,7,6,15,10 +45,47,14,23 +34,27,5,6 +25,7,6 +13,7,5,6 +14,6,42 +5,6,28,23 +14,5 +38,22,6 +37,4,6 +12,6 +4,6,46,49 +40,6 +32,22,3,6,43 +6,28 +40 +2,7,6 +22,5 +25,3,6,49 +47,17,10 +3,14,6 +2,6 +7,43 +5,6 +13,22,6 +39,36,12,14,6 +2,5,6,30 +7,5,6,15 +3 +27,7,3,4,14,6,8,11 +7,4,5,6 +9,44,6,11 +3 +22,7,6 +22,6 +25,4,6 +13,6,18 +23 +22,6 +12,17,5,6,8 +27,5 +4 +2,20,4 +6 +25,22,5,6,15 +24,25,6,18 +20,6,29 +7 +13,7,14,5,6 +37,17,10,8 +6 +6,8 +3,14,6 +6,16 +12,13,25,22,14,6 +20,4,5,6 +50,37,7,5,11 +0 +13,14,6,29 +22,6,16,18,8 +14,5,6,10 +35,4 +20,14,6 +14,21 +50,17,5,6,21 +48,4,6,21 +17,4,6 +5,6 +26,13,4,5,6 +22,4,5,6 +44,12,5,15,43 +13,5,6,16 +44,14,6,21,28,10,49 +34,22,3,5,6 +17,5,6,42 +13,7,14,5,6 +6,23 +2,22,7,28 +41,15,49 +47,2,17,3,14,5,46 +40,6 +3,4,5,6 +50,35,2,6 +36,7,14,6,42 +36,38,22,4,14,6,18 +35,14,5,6 +9,20,7,4,14,6,11 +17,5,6 +5,6 +48,6 +35,17,7,5,6,21 +2 +2,7,6 +12,22 +7,14,5,6,19 +22,14,6,16 +35,25,17,4,6 +22,4,5,6,11 +20,17,6 +6 +20,5,6 +13,25,3,6 +17,14,5,28,30 +25,3 +5,6,29 +17,3,4,6,30 +14,5,6,46 +14,5 +31,14,5,6,18 +3,4,6,18 +7,5,6 +0 +7,5,6,46,30 +17 +5,6,10 +7,6 +4,14,5,6,46 +12,14,5,6 +0 +5,6,10 +12,6,21,23,49 +48,2,17,3,10,8 +3 +36,2,5,6,49 +7,14,6,10 +24,44,4,6 +6 +5,6 +27,4,6,23 +7,3,6 +2,6,29 +3,14,5,6,28 +7,5,6 +5,6 +14,6 +26,14,5 +6 +34,5,6 +5 +51,6 +5,6 +6 +48,13,3 +12,7,3,14,6 +45,7,6,46 +6 +14,5,6,21 +31,37,7,6,21,8 +20,6 +17,6,15 +13,3,15 +50,48,4,14,6,16,46 +2,7 +22,6 +34,35,17,3,14,6,15 +6,15 +39,3,14,5,6 +7,14,6 +14,5,6 +0 +26,6 +25,17,6,8 +44,17,3,4,14,5,6 +17,14,6,16,18 +17,7,3,5,42 +14,5,6 +3,6 +47,9,4,6 +33,22,7,4,6 +6 +45,20,17,4 +7,3,6 +13,2,20 +35,44,6 +36,4,14,6 +22,17,7,14,6 +20,5,19 +14,6 +20,6 +20,3,5,6,42 +7,3,4,5,6 +17,3,5,6 +9,20,7,5 +22,5,6 +35,20,5,6 +40,9,12,5,6 +27,4,6,19 +14,6,28,30 +25,4,6,46 +2,6 +14,6 +20,14,46 +20,6 +20,7,6,28 +13,25,6 +4 +36,6,46 +25,14,6,19,18 +14,6 +44,7,6 +51,4,5,28 +4,6,42 +22,6,28 +15 +17,6,28 +12,2,5,6 +5,6,28 +14,10 +22,5,6 +25,22,17,5,6,21 +2,22,5,8 +33,12,17,6,19 +4,6,16 +6,15,18 +7,5 +13,6 +25,17,6 +2 +3,6,16,46 +12 +32,44,6 +14,5,6,18,23 +31,20,6,8,43 +51,45,3,5 +4,6,23,8 +14,5,6,18,43 +13,21 +3,6 +15 +37,22,17,14,6,30 +6 +6 +41,7,3,5,6 +25,6,15 +12,7,6 +9,13,5,6,16 +7,6,21,29,49 +22,4 +12,13,6,28 +2,3,6,21 +22 +27,3,6 +40,6 +5,6 +22,5,16 +39,4,14,5,6,21,28 +39,20,17,4,6 +6 +3,16 +13,22,4,6,11 +6 +33,2,5 +2,4,14,5,23 +27,17,3,6 +2,3,14,6 +17,5,6,21 +6,8 +6,18,46 +2,3,6 +17,6 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +17,5,6 +48,33,17,4,6 +6,42 +9,33,6,19,16 +51,6 +8 +5,6 +7,3,4,6 +12,7,5,6 +12,3,6,21 +7,4,5 +5,6 +7,5,6,49 +14,6,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +31,25,14,6,10,49 +6,16,29,30 +31,36,25,5,6,28,46 +2,7,4,6 +31,2,17,3,14 +6,18 +44,17,5,6 +44,5,6 +6 +25,22,17,7,6,28 +22,17,6,11 +44,5,6 +6,16 +6 +3 +20,4 +12,5,21 +12,22,7,6,19,49 +26,17,6,19 +14,6 +22,14,6 +22,5 +51,26,25,14,6,8 +26,4,6 +31,22,3,6,49 +24,12 +33,13,3,6,42,11 +50,14 +6 +26,14 +32,44,3,5,6,8,46 +13,22,5,6 +39,7,3,14,6 +4,6,46 +7,4,14,6,46 +51,7,5 +32,48,3,6,23 +17,6,8 +14,6,21,43 +9,17,5,6 +7,14,5,6 +48,22,6 +14,6 +17 +3,14,6 +48,6 +20,5,6,21 +33,17,4,14,6,21,19 +22,5 +44,7,6 +40,13,6,49 +40,6 +14,6,15 +17,3,6,42 +12 +20,4,6 +5,6,42 +47,25,14,5,6,29 +17,4,6 +22,7,5,6,42 +14,5,6,28 +5 +6 +14,6 +9,14,16 +6 +37,3,5,6,16 +4,6 +6,42 +31,3,14,6,23,43 +17,6 +3,5,6 +14,6,15,30 +14,5 +14,6 +13,17,14,6 +12,6,10 +48,4 +31,4,14,5,6,49 +31,4,6,16 +2,7,3,4,6 +48,4,6 +14 +12,5,6,19 +34,5 +5,6,8 +4,6,42 +25 +13,6 +22,6,29 +22,3,6,21 +34,48,41,4,6 +20,4,5,6,15,8 +7,4,6 +4,5,6,19 +2,14,5,6,28 +5,6,49 +17,7,6 +36,14,6,11 +14,5,6 +47,3,6,11 +9,5 +5 +4,5,6 +4,6,15,46 +14,6 +25,17,4,6 +44,6 +48,5,6,15 +17,6 +51,12,20,3,5,6 +4,6 +22,5,6,15,10,42 +7,6,15,10 +20 +25,20,4 +4,6,16,8,29 +22,14,6 +35,3,5,6,28 +5,6,46 +40,6,23 +51,22,5,6,23 +22,7,3,14,6,19 +44,3,6 +38,48,25,3,11 +25,4,6 +33,2,17,7,6,29 +2,5,6,21 +3,4,14,6,16 +51,2,14,5,6 +47,7,6,28,18 +20,5,6,8 +0 +14,49 +32,12,2,4,5,6 +48,6,10 +6 +31,40,35,13,6,30 +34,5,6 +48,20,14,6,23,30 +32,44,2,6 +35,33,5 +25,4,5,6 +4,14,6 +25,6 +20,4,6 +33,17,6 +38,2,22,7,14,6 +33,13,5,30 +17,7,6,18,29 +5,6,28,8 +5 +22,14,6 +39,47 +13,20 +20,22,4,5,6,8 +6 +36,6 +38,14,5,6,19,11 +5,6,28 +4,6 +40,14,5,6,10 +5,6 +22,7,4,6,23 +47,7,6 +6,19 +20,22,3,5,6 +7,6 +3,14,5,15,10 +17,3,5,6 +7,14,5,6 +14,6 +34,12,2,14,6 +20,6 +17,6,28,18 +41,13,17,6 +14,43 +45,14 +6 +45,7,4,14,5 +7,14 +14,6 +39,51,47,25,22,7,6 +14,6,23 +24,17,6 +7,6 +13,14,5,6 +5,6,10 +2,6,8 +5,6,49 +45,34,4,6,30,49 +6,29 +13,3,6,15 +26,6 +2,3,21 +6 +4,6 +35,4,6,23 +13,16 +48,33,17,5,6,42 +20,3,6,16,30 +5 +34,5,6,16 +22,5 +51,22,6 +5 +13,14,6 +44,20,17,3,4 +44,4 +4,14,6 +20 +2,6 +20,22,6 +5,6,21 +5,6,42 +17,6 +17,4,18 +13,4,5,6 +12,17,4,6,15 +14,5 +39,33,14,6,28,42,49 +51,25,22,7,3,6,28,18 +45,17,28 +7,14,6,21 +20,14,46 +6 +5,6,21 +22,5,6,16 +6 +3 +22,3,5 +6,21 +48,6,30 +44,22,7,6 +3,4,14,5,6 +3,14,5,6,16 +6,21 +6 +37,22,6,16 +37,22,4,6,30 +48,6,18 +50,9,44,12,6 +25,7,14,5,42 +35,2,5,6,18 +25,3,10 +12,2,22,4,14,5,6 +6 +13,17,7,6 +4,5,42 +27,3,14,6,15 +9,46 +9,13,5,6 +35,5,6 +45,13,25,17,6 +40,20,6,18 +44,5,6 +2,25,3,14,18,46 +25,42 +22,4,6,29 +13,6,10 +3,4,5,6,28,42 +34,6 +17,6,23,29 +17,6,43 +2,6,21 +6 +37,17,7,6,10 +44,4,5,6 +3,5 +20 +34,6 +6,15,42 +33,20,6,42 +0 +6 +12,6,18 +49 +39,14,6 +40,22,5 +25,5,6,49 +5,6 +51,48 +14,19 +6,21 +36,3,11 +48,14,5 +5,6 +0 +2,14 +20,7,4,6,18 +22,17,6,11,30 +22,4,5 +14,5,46,30 +6 +2,6,23,49 +22,8 +48,7,6 +39,33,3,5,6 +17,14 +9,25,22,14,6 +17,7,5,6,15,23 +3,6,49 +7,4,5,6,15 +6 +20,6 +3,5,6 +26,20,4,15 +4,19 +39,14,6 +50,6,28 +7,3,6 +34,25,14,5,16,43 +22,6 +20,5 +14,6,8 +20,5 +48,22,6 +4,28 +20,14,6,28,19 +3,14,5,6 +22,3,4,14,19 +13,5 +4,6 +22,4,14 +6 +13,30 +39 +4,14,5,6 +22,6 +22,6 +44,7,3,14,5,21 +27,20,4,5,6,30,43 +3,5,6 +33,6 +51,48,13,3,6,19 +34,6,18 +35,3,6 +3 +5,6 +15 +17,14,6,11 +14,6 +20,5,6,30 +45,17,5,6 +40,6,16 +5,6 +34,22,3,5,6,21 +37,20,7,5,6 +41,20,14,6 +20,22,17,6,19 +3,14,6 +47,10,43 +22,6 +41,17,7,6,10 +17,5,6 +0 +3,6 +3,4,6 +20,5,6 +4,5,6 +20,4,6 +14,42 +22,5,6 +6 +5 +40,18 +20,19,42,29 +5 +12,22,5,6 +48,14,6,15,19 +2,23 +6 +5,6,28 +14 +44,17,14,5,6 +51,5,6,19,30 +45,2,17,14,5 +22,14,6 +48,3,6 +6 +17,6 +20,14,42 +38,3,15 +6,23 +14,6 +12,13,3,6,21,8 +22,4,14,6 +19 +28,23,8 +9,41,14,6 +45,22,17,4,14,6 +3,4,5,6 +6 +39,22,4 +6,15 +33,5,6 +20,17,14,6 +14,6,21 +6 +39,25,4,5,6 +36,13,20,14,5,6,23,43 +0 +6 +19 +7,6,10,16 +3,4,5,6 +4,5,6,42 +44,12,22,17,6,19 +50,6 +3,5,6,18 +14,6 +5,6,21 +7,4,6 +38,4,5,28,30 +5,30 +43 +20,5,21,28 +39,41,20,5,6 +22,6 +33,22,6 +4 +38,4,5,6 +14,5,6,30 +17,28 +6 +20,17,14,6 +50,17,14 +47,7,4,5,6,15 +7,6,19 +14 +34,4 +7,14,5 +33,25,7 +4,6 +5,6 +2,6 +38,7,5 +22,3,4,14,5,6,15,29 +33,22,14,6 +7,5,6 +6 +12,20,14,28 +4,6,18,49 +17,5,6 +34,36,33,4,6,42 +25,20,7,6,30 +50,34,17,6 +20,3 +5 +17,5,6,21 +33,26,13,46 +14,6,42,43 +7,3,14,29 +44,2,6,28 +13,14 +44,3,6,10 +6,46 +22,3,5,6 +27,4,6 +2,4,14 +3,4,5,6,11,30 +38,6 +7,14,6 +48,14,19 +3,5,6 +44,7,5,6 +14,5 +34,44,6,28 +35,22,7,14,6,46 +3,6 +50,3,6 +6,46,30,49 +6 +6,8 +22,16,29 +2,29 +6 +25,5,6,49 +46,30 +25,6,19,18 +36,5,6 +50,7,4,6 +17,6,46 +17,6,21 +17,3,4,14 +14,5,6 +2,5,6 +17,4,6 +4,14,5,29 +20,14,5,6,10 +0 +51,44,7,5 +14,6 +9,12,13,6 +38,6 +36,27,5,28,10 +5,46 +27,5,6 +20,18 +26,5,6 +25,6,11 +26,4,19 +0 +27,3,4,6,21,28,16 +7,3,46,30 +6 +48,25,7,14,5,6 +7,6 +12,22,6 +13,17 +45,3,4,14,5,6 +13,2,25,5,6 +14,6 +12,25,18 +12,7,4,5,6,30 +36,17,7,6 +34,13,4,14,5,6 +14,6,8 +20,7,6 +48,13,3,6 +51,14,5,30 +39,9,25,4 +17,5,6,10 +4,14,6 +2,14,6 +13,5 +35,2,22,5,6 +0 +7,28 +0 +12,3 +32,2,7,5,46 +4,14,6 +24,36 +4,14,6 +6,46 +14 +40,41,7,5,6 +22,17,7,6 +45,33,7,6,16 +47,13,22,21 +4,5,6,15,10 +45,7,4,6 +24,22,7,5,6 +6,30 +7,14,6,15,11 +45,25,3,5 +5,6,46 +2,5,6,42 +6 +14,5,6,15 +4,6,8 +5,6 +12,2,6 +51,13,4,6 +9,13,6 +22 +35,33,26,25,20,14,6,8 +9,6 +44,5,6,21 +13,6 +35,20,5,6 +47,20 +5,6 +3,14,5,6,19 +12,4,6,42 +47,7,6 +14,6 +44,6 +39,48,14,5,6 +2,25,6,42 +7,3,4,14,6 +3,5,6 +37,14 +6,19,42 +7,4,5,6,46 +25,17,5,6,19 +17,3,6,19,49 +12 +33,2 +45,5,6,43 +20,3 +5 +2,22,14,6,10 +45,2,20,3,5,6 +4,8 +36,25,22,6,42 +4 +20,6,8,49 +6 +32,7,14,6,23 +6,28 +12,14,5 +3,4,6,21 +17,5,6 +17,6 +3,6,23 +14,6,11 +20,14 +4,6 +22,6,15 +44,4,6 +7,6 +9,26,4,14,5,6,8 +2,5,6,18,29 +7,4,6 +17,3,18 +32,2,3,14,5 +6,18 +5,6,16 +2,20,14,5,6,28 +14,6 +22,14,6 +0 +23 +5 +17,5,10 +5 +37,6 +6 +4,14,5 +25,7,3,6,15 +6,28 +51,22,4,14 +6 +12,6 +12,6 +9,13 +25,14,6,19 +5,6,49 +13,14,5,6 +14,6,18 +3,14,5,6 +22,17,7,4,14,6 +13,6 +22,17,28,46 +44,6 +25,20,23,8 +5,6 +20,15 +47,35,20,4,14,6,21,30 +13,2 +3,6,11 +5 +26,6 +5 +33,13,17,4,5,6 +17,5,6,15 +4 +48,22,4,6,23 +4,6,19,16,43 +26 +7,4,14,5,6 +22,6 +17,46 +14,5,6 +7,14 +12,7,14,6 +32,14,6,30 +20,6,23 +5,6 +14,5,6,28 +7,43 +17,6,23 +47,5,6 +39,14,28 +6 +14 +38,5,6 +25,6 +20,5,43 +0 +5 +3,5,18 +20,7,6 +17,4,5,6,29 +27,7,16,49 +6 +41,20,22,3,14,6 +9,12,22,7,5,6,46 +44,13,14,29 +7,14,5 +5,6,29 +26,6 +13,5,6,21 +6,28 +50,17,14,6 +6,43 +48,5,15 +14,6 +6 +5,6 +17,6,16,49 +6 +25,6 +13,4,5 +22,5,6 +22,6 +2,6,8 +5 +7,6 +20,6 +6,23 +13,4,14 +6 +34,27,7,4,6 +5,6 +14 +6 +17,7,5,46 +14,6,23 +22,14,19 +7 +25,17,14,5 +44,7,3,5,6 +6,15 +20,22,3,4,6 +31,7,14,8 +4,5,6,42 +20,17,7,14,5,6,15 +27,22,6,23 +27,14,6 +20,5,6 +26,3,5,6 +36,22,6 +2,5,6,46 +36,14 +3,6 +4,14,6 +50,34,4,14,5,6 +47,22,17,14,5 +25,22,7,14 +25,20,6 +9,13,25,17,14,6,42 +12,5 +2,3,4,5,6 +48,12,13,2,3,6,19 +24,6 +6 +6 +7,6 +6 +5,6 +22,6 +4,14,6 +20,3,6 +20,7,6 +7,5,6,30 +20,3 +7,5,6 +22,4,6 +31,20,11 +24,34,5,6 +41,17,14,5,6 +6 +31,7,6,28,42,43 +2,6,16 +14,6,30 +7 +20,6 +50,25,6 +25,5,18,23 +17,6 +38,26 +12,17,4,14,5,6,8 +14,6,29 +48,5 +20,5,6,23 +14,5 +26,14,6,11 +5,6,16 +4,5,6 +4,5,6 +20,7 +25,3,14,5,6 +22,4,5 +45,41,6,15,18,43 +7,6,15,10,49 +31,19 +5,6 +39,17,14,5,6 +20,14,6 +2 +3,6,28,8 +41,6 +4,5,6 +12,7,6,30,49 +17,4,6 +22,3,5,6 +13,6 +45,31,3,4,14,5,6 +40,7,3,6,28 +51,2,3,6,19 +5 +51,29 +5,6 +20,3,14,6 +4,6 +36,20,14,18 +17,14,6,18 +3,14,6,18 +5,28 +38,14,8 +4,14,46 +17,4,14,6 +27,25,17,6,19 +35,38,22,6,30 +13,2,14,5 +7,3,6 +45,3,6,28 +24,6,29 +3,6 +9,7,14,5,6 +27,5,6,18 +22,14,15,19,42,29,43 +0 +50,17,18,11 +31,14,5,42,23 +14,6 +38,5,21 +14,6,29 +6 +7,4,6 +14,42 +3,6,29 +2,25,17,4 +14,6 +9,22,5,19 +40,14,5,6,42 +6 +44,6 +13,22,4,5,6,19 +22,6 +32,2,22,5,6 +20,3 +5,6,23 +6 +22,6 +6 +20,4,5 +41,3,6 +14,5,6,42 +2,25,4,5,6 +25,22,4,6,42 +5 +25,3,6,29 +39,7,5,6,16 +3,5 +2,14,6 +5,6,15 +5,6,43 +5,6,8 +25,7,3,8 +17,6 +3,29 +4,5,21 +28 +13,7,4,5,6,30 +0 +0 +39,50,7 +9,36,20,14,18 +9,14,6 +33,6 +14,5,6,8 +50,3,6 +39,22,14,5,6 +26,3,5 +48,33,22,6 +38,17,4,6,15,30 +47,32,14,6,28,8 +25,7,6,21 +17,7,6 +40,32,14,5,11 +7,5,6,21 +28 +6,10 +3,4,14,6 +47,13,7,6 +20,4,6,10 +13,2,20,5 +7,29 +27,20 +22,3,10 +12,2,22,14,5 +14,6 +22,17,6 +19,42 +4,5 +4,5,6 +37,36,14,6 +22,3,14,5,6 +25,5,6,16,29 +5,6 +20 +14,6 +51,22,14,6,18 +31,14,5,6 +20,17,3,6 +5,6,28 +0 +14,5,6 +48,2,17,6 +12,6 +2,17,3,4,14,6 +32,20,22,6 +4,5,18 +27,14,6 +14 +44,20,6,10 +39,25 +7,5,6,42,29 +20,3,6,21,23,43 +3,6,8 +22,6 +6 +0 +5,6,30 +6 +33 +31,13,4,5,6 +2,5 +16 +7 +4,6 +7,3,5,6 +25,14,6,15 +14,6 +14,5 +0 +7,14,6 +25,3,6 +24,17,4,6,46 +17,14,5 +37,14,6,11 +4,28,19 +36,14,19 +9,35,7,5 +9,12,22,6 +45,37,26,25,3 +7,3 +22,3,6 +32,22,5,6,11,30 +6 +48,5 +51,31,2,6,42 +13,22,4,14,6,15,10,46 +6,21 +2,25,14,5,11 +12,13,2,5,43 +2,23,49 +50,22,4,6 +14,6,21 +33,12,5 +20 +6,16 +13,4,5,6 +18 +36,6,19 +25,3,5,6,28,15 +40,2,14,6,21 +26,20,7,6 +20,17,5,6,10 +17 +33,6,21 +14,5 +3,4,14,6 +51,12,5,21,29 +6,16 +2,22,5 +6,28,15 +31,4,6,42 +44,5,6 +9,34,7,5,6,8 +39,20,6 +4,6 +35,20,4,6 +6 +2,5,6,21 +14,6 +3,5,6 +6,16 +4,6 +17,6,28 +6 +22 +36,6 +7,14 +3,6 +3,5,6 +22,6,21 +36,2,25,4,6 +3,6 +9,6,16,46 +6 +26,3,14,10 +20,22,17,4,5,6,49 +38,2,14,6,16 +27 +6 +5,6 +12,22,4,5,28,16,46 +13,5 +5 +2,22 +5 +2,14,6 +20,7,5,6 +37,9,14 +7,6,28,23 +6,28 +20,14,6 +12,17,16,29 +44,6 +4,5,6 +7,6,16,43 +9,12,5 +20,14,43 +13,7,6,15 +20,14,6,21 +22,3,14,6,15 +5,6,43 +3 +12 +33,6,30 +5,11 +27,3,14,6 +4,6 +39,20,22,3,6 +5,15 +40,44,20,14,6,21,28 +5,6 +45,20,6 +0 +3,6 +4,6,15 +3,14,6,21 +6 +4 +37,6 +6,21,8 +9,17,7,4 +17,6 +4,5,6 +25,6 +38,3,5,6 +12,3,14,6 +6,11 +50,13,6,28,10 +4,28 +34,6 +45,3,6,21 +2,6,21,29 +17,14 +3,4,42 +48 +17,4 +44,4,6 +6 +14,5,6,23 +20,7,3,5,6 +13,3,18,23 +36,5,23 +7,14,6,46,30 +5 +9,6,49 +5,42 +41,6 +13,7,5,10,46 +49 +5,6 +12,13,3,6 +6 +13,3,14,6,28,23 +37,6 +6 +13,3,5,21 +36,10,8 +4,6 +25 +31,14,6 +3,4,14 +51,5,6,29 +51,25,4,14 +4,8 +2,14,5 +12,7,3,5,6 +7 +4,6 +6,21 +36,6 +33,26,4,6,21,46 +0 +2,3,6,15 +13 +5,43 +4,30 +31,38,7,4,6,15,29,43 +9,41,2,6,30 +35,22,3,5,6,10 +40,20,23 +31,6,15,16 +20,17,5,6 +3,6 +9 +17,4,6,29 +14,5,6,21 +40,4,5,6,21 +7,14,5,6 +36,17,6,42 +14,5 +6,8 +9,2,6,46 +6 +4,5,6 +6 +47,38,22,6 +27,13,20,5,6 +31,14,6,10 +22,3,4 +6,15,19 +48,2,4,5,42,30 +45,4,14 +22,5,16 +20,6,18 +14,16 +3,5,6,28 +44 +48,22,14,5,10,18 +3,4,5,6 +25,10 +17,49 +4,5 +20,6 +45,13,20,5,6 +16 +0 +6 +5,6 +12,20 +6 +38,5,6 +17,4,6 +13,6 +36,13,20,3,6 +6 +12,14 +5,6 +26,6 +35,25,20,5,6 +26,3,14,6 +6 +22,4,5 +2,20,7,6 +12,13,4,5,6 +20,46 +38,27,12,4,14,5 +12,22,4,6 +5,6,18 +20,5,6 +50,22,6 +3,6,49 +41,12,25,7,3,5,6,23 +7,3,14 +36,4,6 +27,44,6 +22,3,14,6 +20,3 +33,6,8,43 +14,6 +5,6 +17,6 +37,2,25,5,6 +13,3,4,10,29 +40,6,18,46 +44,14,6,18,8 +27,3,6 +9,3,4,5,6 +2,6,8 +13,6,19 +12,2,17,6 +0 +0 +7,14,6 +5,6,19,23 +44,2,7,3 +7 +6 +32,7,3,4 +6 +14,6 +5,49 +23,8 +33,4,6,28,23 +20 +4,14,5,6 +5 +4,5,6,19,10,42,29 +15,30 +13,6,46,30 +26,20,6,11 +6,21 +2,14,18,43 +25,4,10 +22,7,5 +41,7,6 +31,20 +40,4,14,6 +28,10 +12,14,5,6 +7,5,6,23 +22,3,18 +12,6 +13,4,14,6,19 +31,2,5,6,21 +6,8 +14 +2,10 +34,27,7,6,21 +26,13,3,5,18 +6,11 +34 +51,6 +4,6,10,29 +5 +14,5,6,21 +4,6 +4,5,11 +38,22,3,6 +33,2,20,22,6,10 +33,5,6,30 +17,14,6 +9,27,20,6,30 +36,25,14 +24,25,7,6,21,15,19 +5 +5 +12,5,6 +14 +4,14,5,6 +6 +14,6,16,30 +4,5,6,19 +3 +44,12,13,14 +50,6 +5,6 +6 +5,21,8 +2,3 +3,14,6,28 +5,6 +20,3,4,6 +7,6,15 +12,4,5,6 +13,6 +31,27,6 +25,22,6 +14,6 +30 +14,6,15,46 +13,6 +6 +39,9,2,28 +14,5,6,21,10 +9,3,6 +22,5,29 +26,12,22,5,6,16 +44,6 +3,4,5 +25,28 +20,4,6,49 +14,5,6,46 +3,15 +25,4 +0 +25,6 +14,6 +13,4,6 +3 +6,28 +22,5,6 +7,4,5,6,42 +31 +14 +5,6,10 +6,11 +25,4,5,6 +6,46 +24,27,13,6 +4,5,6,21,18 +6,23,11 +20,22,4,6 +37,12,20,6,29 +25,7,5,6,46,43 +45,50,40 +22,5 +7,6 +25,4,6,10,30 +17,4,5 +22,7,4,6 +22,6 +25,22,4,6 +5,6,16 +7,5,6 +48,14,6 +33,20,7,14,6,46 +6 +41,4,5 +27,13,3,5,29 +14,6,16 +37,47,38,5,21,49 +14 +24,13,7,6 +4,14,5,6 +5,6,19 +6 +6 +5,11 +5,46,11 +39,40,4,5,6 +16 +41,4,14,6,21,28 +14,6,18 +38,20,5,6 +36,7,16,46 +13 +20,14,5 +3,6 +26,12,5,21 +26,13,22,4,6,10 +6,29 +2,3,6,28 +3,19 +47,6 +25,7,4,14,15 +36,3,6,18 +2,5,6,21 +2,3,5,6 +13,17,14,6,23,30 +31,20,5 +37,22,16 +5,6 +36,5,6,42 +22,14,5,6 +5,6 +23 +14,5 +3,6,42 +12,7,6,23 +13,25,5,6 +41,17,7,6,42 +22,4,6 +25,3,4,5,10 +36,6 +31,25,5,6 +3,14,6,15 +5,6 +20,5 +14,6 +3,6 +5,6,23 +13,5,6 +2,22,6 +22,3,6,19 +22,6 +2 +31,13,3,49 +14,5,6,21 +37,2,5 +20,4,5,6,16 +25,3,5,16 +50,4,5 +39,35,25,22,17,7,6,16 +3,4,6,21,18 +6 +32,6 +22,5,6 +5,6,18 +7,6,10 +25,22,5,6 +17,5,6 +40,12,8,46 +4,5,6 +44,2,22,5,6 +10,42,23 +13,25,4,6,46,49 +32,6 +17,5,6,16 +17,6 +33,20,14,6,11 +6 +7,5,6,21 +14,6,16 +17,14,5,6 +0 +35,14,5,6 +22 +12,2,5,6,46 +14,5,16,49 +48,17,14,5,6,18 +5,6,28,19 +14,6,19,18 +14,16,30 +38,27,13,17,6,15,10 +5,6 +4,14,16 +24,14,5,29 +5,29 +6 +12,17,4,6 +3,6,16 +6,11 +4,14,30 +25,5,6 +25,3,6,15 +4,6,21,46 +24,17,6,28 +25,7,6,23,8 +2,14,5,6,19 +37,4,5 +49 +13,17,7,5,6 +48,17,5 +2,22,6 +14,5,6 +4 +30 +25,17,6 +40,14,6,10 +13,7 +22,3,6 +22,14,6,18 +24,2,14,6,8 +5,6,49 +13,17,7,5,6 +25 +5,6,15 +12,20,3,6 +20,7,6 +25,3,5,6 +13,5,6 +26,25,6 +4,14,28,10 +3 +26,7,14,5,6 +41,6 +45,14,6 +17,6,42,30 +41,7,3,6 +38,13,17,5,6 +51,14,5,6,42 +25,20,17,18 +7,6,29 +44,5,6 +31,5 +48,13,25 +6 +48,14,6,18 +31,4,6,10 +6 +25,3,14,15,16 +38,4,5,6 +14,5,6 +36 +12,2,7,18 +13,3,43 +4,5,18,30 +6,10 +3,6 +25,6 +14,6 +6 +17,4,6 +14,6 +5,6 +5,6,19 +6,10,29 +13,4,6 +37,12,14,5,6,28 +2,4,5,6,11 +50,7,5,6 +12,7,5,19 +0 +17,14 +6,15,10 +25,6 +6 +22,6,49 +20,22,6 +7,6 +14,6,21,28 +47,5,6,23 +5,6 +5,15 +5 +4,14,6,46,11 +20,22,5,6 +17,14,6,43 +7,5,19,49 +4,5,6 +34,13,5,6 +3,4,5,6,16 +45,3,5,6 +2,15 +31,5,6 +25 +14,5,6,18 +41,20,17,5 +0 +47,35,4,6 +35,41 +50 +7,6 +13,4,5,6,49 +13,5,6,10 +4,6 +17,6,19 +3,6 +33,7,4,6,21 +22,18,43 +14,6 +20,46 +20,14,6 +33,6 +51,45,14,5,6,21,10,8 +5,6 +9,22,6 +22,14,6 +44,3,6 +28,19 +4,14 +51,12,2,4,6,16 +13 +44,20,14,5,6 +7,42 +20,3,5,6 +7,14,6 +14,5,6 +35,6 +17,5,6 +6 +9,14,5 +4,14,6,18 +13,25,7,14,6 +44,14,5,6,19,16 +6,8,49 +5 +12,5,6,29 +14,5,6 +3,14,5,6 +44,7,3,5,6,19 +22,5,6 +20,6 +5,6,28 +5,6 +15 +38,13,6,15 +6 +5,6,43 +2,25,14 +34,3,14,5,6 +44,25,4,14,5,30 +27,3,18 +40,22,14,6 +36,14,5,6 +6 +5 +50,20,6 +6 +22,4,14 +41,6,15 +25,14,5 +38,25,6,16 +32,2,25,6,29,30 +6 +13,3,6,10 +4,5,6 +6 +50,17 +6 +5 +3,14,6 +2,7,6 +13,4,5,6 +20,14,6 +3 +3,6,28,42 +48,13,14,6 +25,6,23 +45,14,6,28 +34 +44,14,6,46 +22,4,14,6 +17,6,18 +47,4,5,6 +39,41,6,19 +6,49 +31,7,3,4,6,8 +14,6 +31,26,6 +48,3,14,6 +31,22,5,21 +7,3,4,5,6 +3,5,6 +6 +36,20,6,29 +22,5,6,10 +3 +37,4,6 +6 +45,2,22,10 +37,6 +4,14,6 +25,6,21,29 +3,14,5,6 +50,25,7 +27,5,6,10 +17,4,5,6 +22,6,42 +37 +6,10 +9,6,21 +25 +13,3,14,5,6,21,46 +3,5,6 +6 +36,27,20,3,4,5,21,30 +4,6,11 +44,2,5,6 +12,13,6,15 +3,14,10 +5 +9,14,6 +4,5,6,28 +14,10 +0 +38,33,17,3,14,6 +0 +6,10 +45,37,3,5,6 +9,36,33,5,6,28 +3,14 +4,5,6 +27,17,6 +12,6 +38,25,17,5,6,21,11,30 +14,6 +36,35,3,14,42 +5,6,23,8 +6 +32,20,14 +14,6 +37,32,13,6,46 +50,32,2,6,18 +22,4,18 +6 +25,7,3,28,19 +6 +2,25,7,6 +4,5,6 +51,5,6 +34,7,6,29 +9,14,5 +6 +5,16 +6 +20,28 +22,3,16 +47,9,7,5,6 +6,43 +25,7,4,14,15 +40,9,5,6 +5 +31,3,4,6,10 +5,11 +3,6,43 +4,14,6 +9,25,6 +20,4 +6 +20,6 +14,5,6,29,49 +6,10 +9,22,6,10,42 +31,6 +4,5,6 +6 +17 +51,13,17,7,5,6,30 +38,4,5 +7,6,21 +37,6 +22,17,11 +3,4,6 +34,3,6,28,42,18,30 +6 +7,6 +13,6,15 +4,6 +0 +13 +38,25,6,15 +38,4,14,6,28 +51,38,44,14,6 +5,6,21 +22,4,5,6 +7,18 +3,6 +14,49 +22,7,4,5,6,15,10 +4,6,49 +22,6,21,16 +20,7,4,5,6 +6 +41,7,14,8,43 +6,21 +5,6,19 +4,6 +25,4,6,19,23 +3,5 +3,6,21,30 +4,14,6 +14,15 +0 +5,6 +6,16 +7,14 +14,6 +17,14,19 +6,23 +13,4,5,6 +7,3,5,11,30 +44,14,5,21,29 +42,30 +6,43 +22,4,6 +5,6,29 +3,6 +14,5,21,28 +47,22 +2,22,17,6 +14,8 +20,7,5,6,19,16 +48,3,6 +3,5,6,21 +6 +4,14,6,10 +6 +25 +32,27,4,21,23 +3,4 +2,6 +27,3,4,6,43 +14,6 +31,13,5,6,30 +6 +14,5 +14,6,43 +22,14,6 +6 +5,6 +7 +7,6 +25,3,6 +13,4,14,6 +20,5,6 +22,7,3,6,19 +14,6 +13,6,42 +7,6 +22 +13,14,6,46,43 +13,4,14,5,6 +0 +5 +4,5,6,10,8 +25,4,5 +6 +5,6 +37,7,6 +12,3,4,6,29,11 +35,4,6,10 +25,29,30 +27,25,17,5,6 +22,17,3,4,6,10 +13,25,22,17,6,11 +13,3,6,49 +32,36,26,25,5,6 +22,14 +4,6 +14,6,18 +13,17,14 +3,6 +44,5,6,21 +50,25,7,5,6,8 +32,6,42 +47,12 +35,29 +14,5,6,10,16 +5,6 +6 +51,5,6 +48,20,4,5,15 +44,14,6 +37,14,5,6 +14,6 +14,5,6 +20,3,5 +6,8 +27,2,20,3,14,6,10 +17,7,5,6 +20,4,6,18 +25,14,6 +2 +20,22,17,4,14,6 +22,5,19 +33,5,6,21,42 +6 +6,19 +47 +6 +12,13,28 +25,6 +31,34,36,12,14,5,43 +34,7 +6 +4,5 +18 +14,6 +17,5,6,10 +2,17,3,4,6,43 +4,49 +7,3,5,6 +25,17,4,14,5 +4,5,6 +34,48,7,4,6,19 +3,4,14 +4,14,6,19 +17,5,6,23 +6 +17,6 +18 +7,6,28 +7,4,14,6,28,30 +5,42 +0 +7,4,14,6 +3,5,6 +2,17,6 +14,5,6 +32,2,14,5 +7,5,6 +4,6 +14,6 +13,5,6,8 +38 +2,7,3,6,21,19 +45,50,7,14,5 +2,5,6,23 +22,17,3,4,14,5,6,15 +5 +33,13,4,6 +40,47,5 +31,7,4,14,5,16 +25,4,14,5,6,42,43 +50,6 +3,4,5 +7 +3,5,6 +4,14,6 +4,6,21 +20,6 +7,3,6 +33 +12,4 +37,36,13,25,14,6 +3,6 +33,22,14,5 +12,2,6 +25,14,6 +6 +6,28 +27,6 +48,14,5,6 +12,5,6,21,10,11 +41,6,46 +22,6 +35,5,6 +26,3,14,6 +3,14,6 +31,5,6,15,8 +50,17,4,14,6 +7,5,6 +6,23 +13,14,5,6,21,11 +14,11 +23 +26,20,4,6,15 +26,4,5,18 +13,14,6,29 +12,14,6 +2,22,18,46 +22,6 +9,17,3,6,18 +0 +31,48,2,17,6 +4 +41,7 +6,21,15,18 +36,6 +9,14,6,43 +9,5,6,10,8 +4,14,6 +17,6,10 +3,5,6,15 +5,8 +41,25,6,28 +20,6 +47,3,14,6,19,42 +14,6 +25,14,6,46 +34,25,4,14,5,6 +2,7,3,5,6,15 +31,2,4,14,11 +6,21,8 +32,3,5 +50,14,5,6,42,11 +22,5,6 +4 +2,14,5,6 +27,48,4,6 +9,14,6 +50,5,6 +14,19 +33,6 +6 +13,20,6,10 +7 +17,5,29 +20,22,17,6 +0 +5 +2,14,6,23,46,29 +7,14,8 +5,6 +35,21 +35,17,5,6 +34,20,4,14,5 +8 +5,29 +17,6,10 +41,12,4 +17,7,5,15 +35,5,18,23 +26,2,14,5,15 +45,37,6 +35,17,4,6 +12,5 +17,4 +24,7,6,28,46 +14,5 +45,5,6 +14,6 +22,5,6 +22,5,30 +14,6 +14,5,6,42 +25,6 +14,6,16,30 +44,13,6 +0 +3,5,6,8 +50,3,6 +32,14 +20,6,10 +5,6,29 +10 +20,3,14,6 +38,22,6,15,10 +6,46 +6 +34,3,6 +24,3 +6,42 +35,14,5,6 +20,17,7,3,4,6,15,18 +13,2,17,4,16 +6 +35,22,6 +25,4,6,21,28 +6 +3,4,6 +4,14,6 +50,7,3,5,6,10 +40,2,22,4,6,28,10 +3,6 +26,4,6,19 +7,3,5,6 +3,5,6,46 +0 +0 +37,4,5,6 +35,41,6,42 +13,5,6 +13,2,6 +17,7,4,5,30 +22,19 +3,4,6,18 +38,33,5,30,49 +3,14,6 +13,6 +4,6,29 +44,25,6 +12,6 +4 +33,3,6,19,18,49 +34,41,4,6 +6,42 +51,40,14,5 +39,3,6,10 +33,20,5,6,46 +35,20,22,14,5,6,16 +6,21,10,42,18 +20,4,6,16,42 +6 +6,15,29 +0 +25,6 +2,3,28,42 +4,5,6,19 +7,14,5,49 +44,4,5,6 +17,6 +7,4,14,5,11 +31,22,21,23 +5,6,29 +25,20 +14,5,6,21 +9,25,3,4,5,21,15 +50,2,20,17,6,23 +51,13,6 +13,17,7,5,6 +4,5 +36,6 +12,2,6,29 +33,6 +48,25,20,4,6 +4,14,6 +48,16 +37,7 +20,17,6,21 +7,14,6,10 +17,5 +40,7,14 +4,6,19 +17,14,6,16 +22,7,3,6 +13,4,5,6 +4,5,6 +25,5,6 +44,6,29 +22,6 +4,6 +20,6 +6,21 +14 +22 +33,7,4,14,16 +31,6 +27,41,7,14,5,6,21 +14,6,19 +25,6 +5,6,21 +31,5,6 +7,14,15 +20,6 +38,5,6,30 +2,5 +7,14,5,6,16,18 +17,5,6 +14,5,6 +6,18,30 +17,5,6,46,49 +7,3,6 +20 +41,3,6 +12,25,7,6 +0 +20,6,49 +32,38,27,25,6 +48,6,28,19,11 +3,5,6 +25,6,23 +12,6,43 +6 +6 +14,5 +27 +51,3,5,6 +5,6 +47,20,3,5,6 +3,5,16 +7,6 +26 +17,6,29 +5,11 +6,46 +5,6,46 +27,5 +45,50,7,8 +4,6,21 +5,6,18 +20,14,6 +33,26,6 +27 +44,13,20,17,6,21 +48,4 +6,28,42 +12,16 +12,17,4,6 +44,13,5,6 +6,19 +31,12,25 +37,7,3,6,21 +13 +14,5 +3,14,6 +7,5,6,16 +14 +36,22,19 +50,12 +7,3,5,6,46 +25,5,6,16 +35 +35,6 +26,22,3,6 +37,6,15,8 +25,17,7,4,6 +12,20 +6 +37,3 +41,14,6,42 +5,49 +7,4,5 +6,19 +25,4,6 +5,6,29 +31,13,17,3,6,28 +12,4,14,6 +6,49 +48,17,7,6 +3,4,6,23 +20 +27,5,6 +3,4,5,6 +7,5,10 +4,5,6 +45,6,15 +47,4,6 +22,3,23 +24 +7,6,18 +50,37,7,5,18 +37,6,19 +7,6,30,43 +50,13,5,6,10 +51,37,4,14,5 +20,5,6 +17,7,6,15 +5,6 +5,6 +6 +6,21 +22,7,5,6 +25,6 +6 +22,6 +14,6 +6,21 +41,25,7,6 +19 +13,6 +0 +3,6 +14,6,15 +25,3,14,6 +13,6,21 +22,7,16 +38,14,6 +5,6,16 +17,5,6 +45,7,3,4,15,46 +5,6 +35,20,6 +6 +14,5 +48,4,14,6,49 +2,5,6 +22 +6 +3,14,6 +2,3,14,5,6,46 +35,22,7,4,5 +14,5,19 +17,6,8 +26,5,6 +12,6 +6,10,29 +47,7 +36,33,25,3,5 +22,17,6 +3,14,10 +35,20,3,46 +32,25,5,6,18 +7,5,6 +14 +7 +36,35,12,5,6 +36,22 +12,19 +27,22,5 +4,14,6 +51,41,44,20,4,14,5,6 +47,6,18 +47,6 +6 +5,6 +20,3 +34,22,6,15 +4,5,6 +48,7,3,14,5,6,18 +6 +6,16 +47,4,14,6 +31,20,7,14,5,6 +35,3,14,5,6 +22,6,8 +14,5,6,19 +5,10,11 +12,3,14,6 +25,5,6,16,49 +18,29 +4,5,6 +17,6 +22,6 +2,5,6,18,30 +12,22,3,14,6 +36,25,6 +39,4 +12,22,3,14,6,18 +44,26,4,6 +37,25,17,6 +37,5,6,21 +6 +14,15,19,42 +38,14,5,6,18 +14 +25,6 +22,3,6,28 +20 +40,6 +41,17,6,21 +4,19 +40,27,7,28 +14,6 +34,25,5 +5 +38,14,6 +44,25,4,5 +17,4,6 +41,12,6,19 +22,6,49 +37,20,14,6 +27,17,3,18 +22,5 +41,6,42 +20,17,7,4,14,8 +38,6 +47,22,3,4,6 +12,3,4,6,8,30 +5,6,8 +13,6,15 +20,17,5 +51,4,6,15 +51,24,27,41,6 +3,6 +34,3 +2,14,23 +7,6,15 +22,6,42,29 +12,13,5,6,15,18 +36,4,6 +14,6 +20,17,5,6,46 +34,12,3,6,16 +5,19 +17,5,6,10 +5,6 +51,13,22,17,7,14,6 +6 +6 +35,22,3,5,6,21 +7,6,21,42 +27,20,10 +27,3,4,5,6 +40,5,6 +14,5 +22,14,5,6 +47,7,4,6 +27,20,3,6 +14,5,6,16 +51,2,4,5 +20,6 +7,14,6 +12,4,14,5,6 +7,14,6,28 +20,22,4,14,6,16 +22,15 +41,5,6 +37,25,3,6,29 +3,6,21 +40,7,6 +51,14,5,6 +3,14,5,6 +32,5 +25,6 +27,20,3,5,6,19,49 +4,6 +17,6 +2,6,19,10 +13,4,6,21,18 +3,6 +44,3,6 +0 +3,5,46 +20,5,8 +24,17,7,3,5,6 +48,4,6 +14,6,15,16 +14,5,6,18 +4 +22,14 +14,6 +14,5,6 +20,3,6 +0 +14 +5 +3,4,14,5,6,16 +2,6 +20,17,14,6 +6 +39,50,3,5,6,16 +13,4,28 +2,5 +4,6 +34,14,6 +20,14,6 +24,7,4,5 +45,32,13,4,6 +12,4,14,29 +3,14,5,30 +14,5,23 +25,6,21,19 +6 +32,3,4,5,6,8 +6 +14,6 +5,6 +14,6,30 +25,5,6 +33,13,7,4,6,8 +20,5,6,28 +5,6 +32,17,14,5,6,30 +4,6 +2,17,14,5,6 +5,6,29 +5,28 +13,5,6,43 +25,14,5 +4,5 +12,6 +20 +6,18 +12,14 +4,5,6 +27,4,6,29 +20,3,6 +39,12,14,6 +14,5,6,16,46 +40,13,7,4,5,11 +6 +6,16,11 +24,14,28 +20,3,4,6,21 +36,4,5,6,10 +5,6,23 +7,6,28,15 +25,6 +20,4,14,6,10 +13,5,6 +39,12,6 +45,7,4,6 +45,20,6 +6 +5 +2,17,4,6 +22,7,14,5,6,46 +3,6,19,16,42 +41,3 +7,6 +17,7,3,6 +25,22,4,28 +38,6,15 +7,28,49 +25,7,5,6 +2,22,7,4,5,6 +17,5,6 +0 +22,14,6,19 +13,3 +33,13,3,6 +36,20,4,5,11 +22,6 +3 +7,14 +7,28 +48,4 +20,22,7,14,19 +22,3,14,6 +9,36,4,6,8 +25,22,6,11 +17,4,5,6,16,42 +3,14 +12,4,5,6,21 +39,4,14,23 +2,5,6,28 +36,35,20,7,14 +51,38,14,6 +36,6 +20,3 +22,5 +36,6,11 +5 +7,5,6,10,16,46 +12,25,14,5,6,15 +26,25,6,18 +38,4,11 +35,12,22 +6,16,49 +39,5,6,19 +2,20,3,6,49 +7,3,14,23 +14,8 +40,36,7,5,6 +27,5,6 +17,4,6,15,19 +7,3,5,6 +44,25,7,3,14,5,6 +25,22,4,5,6 +33,13,7,4,14,5,6,28,10 +24,5,6,15,16 +44,17,14,6 +7,5,6 +34,3,5,6,10 +25,5,6,29 +5,6 +44,5,6 +41,21,8,30 +39,9,6,15 +21 +7,5 +32,14,6 +4,6,30 +25,7,3,6,21,42 +47,32,6 +38,17,7,5,28 +20,6 +14,6 +3,5,6,30 +50,40,14,5 +13,5,21,43 +32,6 +12,5,6 +31 +33,3,30 +22,5,6 +5,6 +3,14,6 +51,12,28 +0 +14,5,15,11 +7,6,28 +6,46 +5,6 +2,22,17,4,6 +22,6,42 +17,14,6 +26,12,17,3,6,46 +2,20,7,4,6,21 +6,42 +3,4,5,6 +25,14,6,21 +22,3,6,43 +6 +17,7,4,14,6 +7,6 +14,6 +48,4,14,6 +0 +3,5,6 +36,7,6,19 +28,23 +46 +9,14,6 +32,35,3,5,6 +31,4,5,6,23 +12,7,6,21,29 +41,17,14,6 +36,13 +20,5,6,16 +3,4,5,10,16,43 +25,3,4 +22,17,14,5,6,8 +14,5,43 +6,16,42 +32,3,6 +26,25 +35,14,6,16 +15 +5,6 +25,5,6 +14,6,15 +6 +9,7,14,6 +2,7,6,21,46 +24,25,17,6,43 +14,5,6,46 +33,7,5,6,28 +20,49 +20,14,11 +2,20,14,6 +6 +35,14,6 +0 +32,20,6,28,15 +5 +6 +4 +25,17,14,6 +13,3,6,10 +22,5,8,46 +20,17,3,6,21 +7,28,49 +5,6,42 +25,20,10 +51,17,4,14,5,6,21 +25 +47,33,22,7,6 +5 +27,5,6,42,8,43 +14 +7,3,6 +24,47,9,6 +45,25,22,4,5 +34,4,6 +12,3 +20 +36 +22,6,11 +50,7,5,6,30 +22,14 +14 +25,6 +4,14,5,6,42 +2,6 +5,6 +3,4,14,6 +2,20,14 +40,26 +20 +25,22,6,19 +20,22,4,6 +17,5,6,15 +20,6,16,46 +6,15 +5,6,15 +38,6 +5,6 +34,36,22,14,6 +24,35,13,7,14,5,6,49 +36,3,6 +22,6 +6 +5,15 +48,14,5,6,28,16 +20,4 +7,6,18 +7,6,16 +35 +32,41,6 +5,6,18 +3,6 +6,23 +40,7,5,6 +7,3,5 +5,6 +6,49 +5,6,15 +25,4,6,21 +40,4,6,21,11 +13,3,14,5 +37,2,4,23 +27,17,5,6,43 +45,47,41,22,4,14,6,28 +50,14,6,19 +0 +20,5,6 +33,4,14,6,16,11 +39,3,5,6 +14,5,6 +14 +14,6 +22,17,5,6,29 +38,7,15,16 +7,5,6 +4,28 +25,5,6,21,28 +6 +34,6 +31,5,6 +12,17,5,6,23 +25,20,6 +44,22,14,6 +27,22,17,5,6,15 +51,5,6 +2 +41,5,6 +6,10 +24,31,2,25,3,5,6 +13,2,17,4,14,6,42 +20,3,14,5,8 +2,7,14 +5,6 +39,35,2,3,4,14,5,6,18 +6,42 +7,6 +4 +5,6,15,18 +12,2,6,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +7,5 +26,6 +14,5,6,42 +37,44,7,4,6 +47,33,6,28 +12,28 +51,22,17,5 +9,25,6,21,8,29 +22,4,6 +6,8 +5,6 +14,6 +41,13,5,6 +39,51,24,22 +31,25,17,14,6,42 +6,19 +35,14,6 +38,14,6 +12,14,6 +25,20,3,14,5,6 +48,5,6,28 +4,6,15 +51,12,4,46 +51,2,20,17,3,5,6 +26,5,6,28 +3,5,6 +6,29 +4,6 +41,4,14 +50,7,4,14,6 +6 +47,17,6 +25,20,14,5,6,21,8 +33,26,14,5,6 +17,6,28,16,29 +3,5,6,16 +44,3,8 +48,25 +6,28 +38,13,3,6,49 +0 +0 +4,5,6 +12,6,19 +7,6 +36,2,7,5,6 +7,14,5,6,21 +4,14,6 +17,6,42 +26 +39,13,14,5 +32,34,7,5,6 +2,5,6 +37,6 +41,3,14 +17,5 +3,14,16 +4,14,5 +17,5 +6 +24,22,6,16 +5 +20,3,14,29 +3,5,6,10 +13,14,18 +4,14,16,43 +33,7,43 +22,5 +5,6 +36,41,12,13,20,6 +22,6 +24,17,6,28 +0 +2,4,5 +20,6,43 +6 +14,6,10 +5,46 +32,38,4,6 +32,35,4,6,28,8 +20,14,6,19 +7,15 +7,6 +2,5,6,16 +17,6,42 +25,4,6 +4,6 +3,4,5,6 +7,5,6,21,19 +25,4,6,49 +31,7,30,49 +14,5 +37,48,12,14,6,28 +14,29 +32,14,6 +3,14 +6 +14,5,6 +25,7,6 +5 +5,23,11 +22,14,5,6 +0 +34,6 +24,20,6,19 +3,4,14,6 +51,7,6 +9,12,25,17,4,5,6 +22,17,14,19,18 +44,5 +25,6 +12,14,5,6 +12,3,5,6 +17,5,6 +47,12,13,3,5,6 +24 +22,6,15,46 +50,5 +20,6,46 +17,6 +12,25,14,6,19 +5,46 +6,19 +3,6 +6 +17,3,6,21,49 +12,5,6,28 +38,3 +6 +25,14,6,21 +14,5,6 +2,14,23 +3,5 +5,6 +17,6 +6 +7,6 +13,20,22,4,5 +32,3,6 +41,3,4,14,5,6 +2,16,42 +17,6,29 +48,14,6,21 +3,5 +2,14,6 +40,29 +5,6,30 +5 +39,31,38,49 +2,3 +31,20,17,7,14 +31,20,14,10 +6 +17 +47,14,5,6 +3,14,5 +13,6,15 +35,5,6 +13,20,4,6 +36,17,7,14,5,6 +5,6,19 +31,6 +14,5,6 +17,7,4 +2,14,5,6 +20,4,5,6,18 +19,42 +47,22,6 +3,6,42 +7,3,14,5,6 +32,14,6,15 +41,6,23 +14,6 +48,41,17,5,6,21,28,16 +44,13,20,5,6 +20,3,6,16 +13,14,6,28 +14,5,6 +2,25,17 +6,18 +9,6 +31,20,17,14,5,6,30 +4,6 +22,4,14,5,28,46 +25,17,14,6 +31,47,22,5 +44,7,4,5,6,46 +27,14,5 +3,16,42 +36,44,13,2,22,5,6,23 +3,4 +12,6 +39,3,6 +0 +6 +2,7,14,5,30 +6,16 +37,48,2,17,6 +13,25,4,5,6,42 +4,46 +2,22,17 +3,4,14,5,6,16 +21 +27,4,5,6 +5 +44,5,6,46 +6 +20,7,4,6,16,18,46 +2,3,4 +2,4,6 +2,14,5,6,11 +7,14,5,6 +4,6,28,11 +5,6,21 +13,20,17,5,6,21 +7,4,5,6 +6 +24,12,14 +7,14,5,28 +17,7,5,6,16 +6,30 +26 +36,20,5 +3 +35,25,20,3,5,6,19 +4,5,6,19 +36,17 +36,13,20,5,6,23 +3,4,5,6 +0 +25,4,5,23 +41,17,3,6,21 +38,22,17,7 +5,6 +34,25,4,14,6 +44,2,14,5,6 +6 +2,14,5,6 +7,5,19 +14,6,16 +6 +13,5 +2,20,16 +12,20,22,5,6,18 +38 +36,5,21 +38,25,14,6 +17,14,5,6 +0 +51,6,30 +25,14,6 +17 +3,14,5 +34,14,6 +3,6,42,8 +2,5 +40,5,6,30 +4,14,6 +39,7,3,5,6 +7,6,42 +17,6 +20,22,3,4,14,6 +47,9,3,5,6 +41,13,22,5 +23 +14,5,6 +35,17,6 +32,14,6,21,19 +48,22,17,5,6 +26,25,7,6 +2,6,49 +48,22,14,5,6,8 +22,14,6,28,15,18 +22,7,5,6 +14,29 +4,5,6 +13,6,10 +4 +5,6,21 +24,6,21,16 +4,28 +5 +5,6 +6 +20,22,17,14,6,42 +0 +40,4,6 +12,20,4,5,6,42 +37,14,5,6 +5 +12 +6,16 +6,15 +44 +5,6 +7,5,6,11 +2,22,14,42 +44,6,15,8 +14,5,49 +2,14,6 +20,14,49 +32,13,7,4,6 +2,20 +5 +50 +2,3,4,6 +44,4,6,18 +31,13,22 +3,4,6 +7,14,6 +17,5 +14,6 +14,6 +4,6 +5 +25,5,6,15,42 +5,30 +35,5,6 +3,5 +6 +50,4,6 +2,7,4,14,6,28 +27,14,6 +27,25,20,6 +22,17,14,6 +22,7,6 +3,6,21 +51,4,14,6 +38,3,5 +6,19 +2,25,6,42 +29 +6,18,11 +5,6,16 +2,25,20,5,42,30 +44 +20,6,28,42 +41,14 +40,44,14,5,6 +14,6 +5,6 +4,6 +7,6 +20,4 +9,14 +22,14,5,6,19,10,29 +3,11 +47,14,5,6 +2,20,3,5,6 +13,17,5,10 +23 +5,19 +0 +5,6,28,15 +12,25,17,14,6,42,29 +17,7 +3,6 +33,6,49 +25,7,3,4,6,21,42 +25,4,16 +20,14,6,8 +50,5,6,21 +12,3,4,6 +0 +3,14,6 +6 +40,14,5,6 +41 +7,6 +9,22,14,5,11 +6 +44,6 +12,20,5,10 +6 +14 +7,6 +44,20,5,6 +3,5,6 +25,7,6,46 +3,6 +3,5,6,16 +47,12 +33,22,6 +5,6,28,10,8,11 +12,6,10 +6 +31,48,25,20,6 +20,6 +5,18 +14,5 +4,5 +25,5 +5,6,15 +35,25,17,4,14,6,30 +6,10,23 +12,2 +14,6 +22,6 +2,17,14,5,6 +2,7,5,6,43 +40,13,6 +8 +14 +4,5 +3,14,6,28 +37,14,6 +20,22,6,21,8 +20,5,6 +32,25,20,5 +22,3,14 +35,7,3,6,8,29 +17,6,18 +22 +6,46 +4,14,6,11 +32,20,14,6,29 +37,25,3,6 +5,8,30 +14,5,6 +48,5,6,18 +51,33,2,3,5,6 +2,6 +0 +17,6 +14,6 +13,25,14,5,6 +13,7,5,6,29,30,49 +17,5,6,15 +4,15,46 +12,4 +5,6 +20,6 +35,14,5,6,30 +5,18 +12,7,6 +44,6 +17,7,6 +3,5 +26,12,16 +17,8 +6 +25,3,14,5,6 +40,2,6,42,29 +37,7,6,21,46 +26,5,6 +27,17 +35,20,5,6 +17,3,5,6 +25,4,14,5 +27,3,21,43 +40,20,5,6 +51,24,6,11 +22,5,28,15,18,30 +51,34,17 +44,5 +34,35,2,5 +3,4,6 +37,7,28,11 +22,14,5,6,28 +3,19 +24,14,6 +6 +0 +35,14,6 +5,16 +51,44,3,11 +4,5,6,8 +12,5,6 +5,6 +18,23 +27,6 +22 +39,7,3,21,49 +5,6 +9,13,5 +3,5,6,30 +31,5,6 +37,6 +9,12,25,20,5,6,28 +5,6 +17,5 +26,4,6 +2,7,6,8 +24,6 +5,6,10,42,46 +22,6 +3,5,6 +9,14,6,15 +13,4 +22,5,6,8,46 +35,5,6 +7,5,6,23 +13,6 +6,23 +7,4,14,5,18 +20,5 +21 +14,5 +0 +45,2,3,6 +12,2,17,6 +34,25,3,4,6 +3,6 +17,4,14,6 +6 +14,6 +0 +5,6 +13,14,6 +31,17,6,21,23 +6,18 +3,11 +3,14,5 +32,25,5 +44,22,14,6,8 +17,3,6 +7,6 +37,47,4,6 +12,3 +14,5,6,19 +12,5,6 +6,21,11,30 +12,22,4,6,29 +22,4 +9,20,22,5,6,21,46 +6,30 +35,20,5,6,19 +6 +5,6 +24,40,14 +4,14,5,6 +41,7,5,6 +45,14 +41,17,6,19 +34,33,21,19 +51,35,25,4,14,5,6 +35,20,29 +20,3,4,6 +9,10 +25,6 +14 +9,4,6,16,8 +12,14,6 +48,20,5 +44 +14,6,46 +9,4,6 +4,5 +7,14,6 +25,5,6,46 +3,14,6 +2,5,6 +42 +26,5,6 +34,2,17,6 +6,42 +22,3,14,42,29 +7,4,5,6 +25,5,6,21 +26,17,3,23 +7,5,6 +31,25 +13,6 +2,5,6 +12,6 +7,3 +34,6,21 +34,17,5,6 +41,13,14,6 +7,14,6 +6 +27,25,22,17,3,14,6,8 +6,49 +27,2,6,21 +22,7,14,18 +13 +24,12,6,16,43 +2,25,5 +33,14,5,6,43 +5,6 +5,6 +14,5,6,16,18,8,46,11 +21 +48,26,4,6 +47,17,7,3,4,5,6 +13,22,14,8 +25,22,17,6 +22,6 +7,6,28,11 +3,10 +14,6 +3,5,6 +26,12,6 +5,6,28 +36,33,14,6 +2,5,28 +5,6 +22,6 +6 +5,29 +26,5,6,10 +26,22,5,6 +47,7,5,6,16,46 +3,6 +6,15 +17,14,6,21,16 +4,5,6,46 +22,6 +6 +25,20,4,5,6,19 +0 +20,6 +44 +2,17,6 +20,4,6,28 +13,17,14 +12,17,5,6,42,18 +12,7,4,6,11 +26 +5,23,49 +25,6 +7,14,6,42 +5,6 +40,9,41,25,3,14,5,6,18 +5,19 +13,5,6,10 +38,17,7,4,14,6,49 +7,3,4,6 +22,4,28 +12,13,4,6,19,46 +6,46,49 +6 +37,12,2,5,6,43 +0 +3,5,6 +32,6 +50,3 +4,5,42 +39,35,4,5 +6 +51,4,15,29,49 +17,5,6 +12,13,7 +40,22,5,6 +25,22,4,14,6 +6 +27,5,28,29 +7,16 +48,7,4,14,6,18 +40,4,5,6 +13,4,5,6,49 +36,6 +35,17,19 +4 +48,13,14,5,6,49 +3,5,6 +7,4,5 +24,3,5 +27,6 +5,6 +17,14,6,8 +31,5,6,10 +4,6 +32,44,4,14,5,6,21,23 +41,17,6 +35,26 +7,5,6 +14 +4,5,18 +31,34,13,5 +20,14,6,21 +6 +14,6 +6,18 +3,14 +7,3,5,6 +6 +14,5,6 +28,43 +41,6 +14,6 +17,4,6 +6 +22,4,5,6 +14,5,6 +4,6 +0 +7,6,46 +36,20,7,6 +13,4,14,6,21 +4,14 +6 +21 +5,29 +13,2,19 +2,5,6,21,8,46 +12,3,6 +25,5,6,15,49 +35,7,29 +12 +31,6 +6 +25,30 +6,18 +47,32,28 +20,17,5 +6 +36,13,4,21,29 +17,29 +5 +7,5,6 +48,14,43 +25,5 +44,14,10 +27,12,6,18 +22,7,6 +6 +12,21,46 +12,22,17,14,6,29 +14,6 +4,14,6,19 +3,5 +39,23 +35,20,10 +0 +2,7,14,6,11 +24,13,6 +41,6 +7,5,6,28 +25,6,46 +7,4,5 +40,6,16 +22,4,14,5,19,49 +14,6,42,49 +12,4,6 +5,28,8 +25,6,19 +13,6,15 +5,42,23,30 +3,5,6,15 +6,19 +12,17 +20,7,6 +13,22,4,46 +47,6 +5,6 +20,3,5,6 +5,6 +5,6 +39,14,6 +17,5,28 +5 +20,6 +4,6,28 +38,6,19 +26,20,6 +33,28,19,11 +6,28 +25,6 +14,6,10 +25,14,5,6,16 +46 +17,14,5,6 +31,3,6 +17,14,6,21,15 +20,3 +34,12,14 +5,6,15 +14 +22,4,14,19 +12,6 +22,4,5,6,28 +24,4,5,6 +27,48,5,6 +41,2,7,6 +25,6,15 +45,47,6 +5,6 +22,17,4,6 +20,17,14 +2,17,3,5,21 +36,20,5,6 +37,4,14,6,21,15 +45,2,4,5 +3,5,6 +17,3,5,6 +48,14,6 +31,5,6 +6 +36,5 +6,42 +7,5,6 +2,6 +6,28 +6,43 +5 +7,4,14,6,18 +6 +31,5,6 +6 +38,6,21 +42 +33,12,3,5,6,19 +7,4,6 +9,35,22,6 +20,6,21,29 +4,14,6 +5,6,10,43 +12,7,4,5,6,28 +6 +6 +22,3 +7,4 +13,10 +3,6 +34,14,6,16 +48,25,5,6,42 +22,7,3,5 +7,3,4,5,6 +50,7,14,6,43 +38,7,14,5,6,49 +6 +22,5,6,30 +41,7,5,21 +14,6,42 +3,4,5 +44,25,20,4,6 +13,14,6 +6,23 +7 +22,4,14 +2,4 +17,7,6 +13,14,6 +17,5,6,46 +5,6,42 +38,4,6 +26,42 +5,28 +22,14,5,6 +50,21 +7,42 +51,5,10,42,8 +25,6 +5,6,28 +24,4,6,28 +14,6,21,11 +45,6 +4,6 +25,17,6 +2,6 +38,4,14 +39,5,6,10,16 +6 +3,49 +17,5,6,42 +22,6 +4 +20,3,5,6,42 +4 +20,5,6,15 +17,7,4,5,10 +17,6 +27,5,19 +24,7,3,5,29 +2,4,6 +12,5,11 +3,6 +0 +20,3,4,6 +2,14,6,28,18,8 +20,14,6 +41,5,6,28 +25,4,19,18 +12,20,3,5,6 +50,3,5,6,42,43 +17,6 +20,17,7,4 +6 +5,6 +2 +5,10 +6 +14 +20,6 +6 +2,14,5 +14,5,6 +14,6,42,46 +39,7,4,6 +3,14,42 +38,22,7,19 +48,44,3,6 +5,6,42,29 +41,6 +3,14,6 +5,6,15 +37,13,6 +22,3,4 +45,14,5,6 +2,6 +38,5,6,23 +2,6 +50,17,5,28 +17,5,6,29,43 +9,5,6 +27,22,4,5,6 +4,6 +20,22,5,6 +45,4,5,6,10 +7,4 +41,5 +38,6,15,10 +13,22,7,3,6 +39,12,22,3,6 +9,19 +13,14,5,6 +14,6,42 +12,14,6 +17,14,5,6 +20,7,5,6,15 +33,2,5,28 +47,6,21 +6 +4,5,6,42 +7,4,6,30 +6,10 +22,5,6,49 +31,17,7 +39,14,6,42 +50,14 +8 +2,3,5,6 +4,6 +39,17 +5,46 +6 +34,25,7,4,6,28 +33,3,5 +48,4,14,5,11 +6 +5,6 +5,6,49 +41,7,3,14,5,6 +6,30 +4,6 +40,41,12,22,5,6 +20,14,6,49 +14,5 +22,7,6 +48,2,17,4,5 +31,6 +17,5,11 +14,6 +14,6 +17,6 +5 +48,2,20,6,18 +25,5,6 +24,9,6,21 +3,5,6 +6 +48,14,5,6,46 +51,41,6 +20,14,6 +34,5 +14,6,16 +48,44,22,5,6 +3,6,19,16,29 +48,6 +51,14,5,6 +47,27,2,5,19,23 +0 +6 +6,21,46 +9,5,6 +6,18 +14,5,6,19 +12,5,6 +4,5,6 +17,7,5,8,11 +26,17,4 +37,17 +5 +24,34,5,6 +32,6,18 +44,22,14,6 +23 +14,6,10,23 +2,14,6 +35,6,10 +6,8 +39,45,12,3,6 +26,6,16 +44,4,14 +3,5,6 +6 +39,5 +13,3 +41,20,14,6,21 +25,3,16 +31,16 +32,17 +27,22,4,10 +6,15 +6 +13,20,22,5,6,18 +33,22,5 +20,22,5,6 +6 +45,48,7,5,6 +22,14,6,28,49 +3,14,6 +33,13,5,6 +44 +13,6 +22,17,4 +13,14,6,19 +35,22,14,5 +24,4,28 +6 +13,5,6 +6 +35,22,6 +3,6 +41,12,20,28 +3,14,5,6,46 +4,5 +36,2 +14 +33,7,14,6,21 +36,22,5,6 +35,44,13,22,6,21,28 +40,3,6,16,29 +22,4,6 +17,14 +38,22,6,19,29 +12,20,4,5,6 +38,13,7,4,5,6,30 +5,6 +37,44,3 +22,4,5,10 +6,8 +3,14 +0 +14,5 +26,17,6 +6,23 +17,5,6,19,16 +4,5,6,21 +31,9,17,7,6 +47,27,7,4,5,6 +5,6 +3,6 +27,41,6,16 +36,6,28,15 +22,6,15 +17,7,14,5 +31,12,17,4,5,6 +2,4,8 +6,21 +3,14,5,6,42 +17,14,6 +25,22,4,14,6 +40,7,10 +14,5 +41,5,6 +2,4,5,6 +31,6,16 +6 +17,5,6 +31,6 +22,8 +17,5,6,28 +51,14,5,6,18 +20,14,5,6,18 +6,16 +6 +6 +21 +5,6 +2,17,5,6 +7,6 +4,6,15 +14,5,29 +2,17,4,5,6,15 +25,20,22,6 +6,11 +36,2 +38,12,20,5,6 +17,3,6,19,16 +9,27,20,4,14,6 +37,7,14,6,21 +14,6,21 +7,6 +2,22 +36,7,6,46 +27,4,14 +20,6,16 +51,6 +6 +7,6,49 +7,5,6,49 +51,20,3,14,5,6 +13,14,6,30 +20,14,5,6,30 +31,5 +14,5,6,42 +5,6,11 +17,4,6 +7,4,5,6 +14 +14,5,30 +13,6 +17,4,21,46 +40,35,7,5,6,16 +5,6 +6 +45,31,44,6,46 +14,5,19 +5,10 +6,18 +6 +4 +9,35,25,22,17,6 +6,19 +20,3 +2,23 +3,14,6 +20,22,5,6 +47,4,5 +6 +50,22,6,18 +17,6,11 +20,3,10 +37,6 +24,14,6 +40,47,25,20,19,43 +45,25,3 +25,6 +2,20,3,5,6,15,46 +14,6 +12,25,4,5,6 +20,17,6 +14 +12,4,5,6 +13,2,7,28 +17,6 +20,6 +7,6 +44,4,14,5,6,46 +33,6,16 +6,23 +0 +0 +9,17,14,6,28,30 +4,6,29 +47,34,48,2,43 +0 +25,6 +2,7,6,21 +24,40,5,28 +14,6 +7,5,6 +2,4,5,6,16 +50,20,14,5 +6 +5,6,21 +4,14,5 +0 +14,6,15 +4,5,6,19 +17,5 +14,21 +0 +26,7,4,6 +0 +3,6,8 +51,26,20,6 +20,7,14,5 +26,3,5,6,21 +6,15,42,49 +5,6 +20,17,6 +5,6 +37,13,20,4,14,16 +47 +22,6,42,23,49 +32,5 +13,22,17,5 +5,6,21 +20,22,14,6,28 +51,17,7,3,6 +7,4,5,6 +2,3,5,6,43 +3,6 +37,7,5,6 +32,15 +50,6 +2,3,21 +5,6 +4,6,15 +22,5,6 +14,6,29 +14,5,6 +3,6 +45,20,5,6 +4,6 +39,41,17,6,8 +12,6,23 +4,6,10 +39,22,17 +6 +3,5,6 +34,38,17,23 +36,3 +35,13,25,4,14,5,6,19 +7,14,6,18 +9,27,25,7,5 +13,5 +33 +40,4 +6,23 +17,21,42 +20 +33,25,5,6 +39,2,20,3 +5,6,16 +14 +17,7,5,21,29 +32,7,6,21 +7,14,5,6,21,15 +6 +25,14,6 +32,5,6 +12,6,21 +12,17,4,5,6,46 +38,20 +18 +37,14,5,6 +41,6 +45,35,2,19,29 +6 +3,14,5,6 +20,17,5,6 +44,3,6 +13,3,6 +4,14 +50,12,7,6,42 +34,36,6,19,43 +20,6 +35,3,6 +25,6,21,28,15 +4,14,5 +12,7,14,6 +41,20,3,6 +6 +6,19,11 +38,5,6 +20,17,14,18 +41,5,6 +14,6,42,18 +2,20 +26,5,8,11 +13,25,6 +14,6,43 +24,6 +6 +13,5,6 +50,5 +13,3,14 +14,6,21 +5,6 +2,17,7,10 +39,51 +3,4,14,6,42 +34,5,6 +7,14,6 +37,20,17 +22,4 +22,14,5,6,11 +13,6 +25,6 +7,5,6,10 +5,6 +26,25,6 +25,14,6,46 +14,6 +4,14 +22,6 +20,22,14,6,28 +7,3,6,10 +24,14,42 +13,5,6 +14,6,42 +13,6 +32,14,6 +14,5,6,42 +47,17,3,6,28,42 +6,10 +12,25,3,28,16 +13,7,4,14,6 +3,14,6,49 +24,5,6,18 +5,6,10 +47,7,6 +48,22,6 +20,6 +25,22,17,4,6 +39,33,22,6 +14,5,6,11,30 +5,6,21 +3,23 +0 +0 +6,21 +24,2,4,14,6,10 +3,6 +2,22,14,29 +48,12,22,42 +33,20,6 +36,22,5 +17,7,4,5,6,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +31,17,3,21 +3 +25,3,6 +13,6 +14,11 +34,41,17,6,42 +6 +13,5,6,16 +34,20,28 +2,17,7,6 +36,20,5,6 +20,14,6 +9,4,6 +0 +12,6 +39,31,47,3,5 +34,5,6,16,23 +17,5,6 +14,6,21,42,18 +13,6 +3,4,6,43 +35,14,5,6,21 +12,5,6 +4,5 +12,3,5,6 +45,11 +17 +17,5,6,15,19 +5,6,28 +47,2,25,6,19 +5,6 +51,48,6 +17,5,8 +38,6,49 +12,5,6,23 +45,4,5,6 +4,5,6,28,29 +6,29 +2,7 +36,3,5,21 +38,12,25,17,7,21 +6 +6 +31,17,19,42 +22,5,6 +36,7,6,19,42 +14,5,6 +6 +38,7,3,6,46 +17,5,43 +14,6,21,28 +48,6,21,11 +47,5,23 +40,22,8 +20,6,16,42 +12,13,14,5,6 +5,6 +5,6 +50,32,4,5,6 +44,26,20,5,6,15,23 +20,14,6,28 +9,4 +33 +12,13,17,7,6,28,42 +0 +13,5,6 +22,3,4,5,6 +28 +51,6,15 +32,12,25,14,15,11 +3,4,5,6 +33 +44,6 +24,26,6 +38,5,6 +6 +51,6 +12,3,6 +5,6,21,42 +20,3,6 +17,5 +22,7,5,6 +7,4,6 +47,38,6,16,30 +6,18 +12,7,4,6 +22,6,19 +48,2,14 +3,6 +7,3,4,14,6,21 +17,4,5,6 +17,6 +14,5,6 +6 +3 +7,3,14,6,19,18 +31,22,17 +0 +4,6,19 +12,4,6 +4,5,6 +5,6 +0 +3,6,23 +2,7,6 +39,14,6 +48,17,3,4,42 +14,6,19,29 +48,3,5,6,46 +44,12,13,22 +20 +3,4,5,6 +38 +33,20,6 +2,6 +4 +3,6 +17,14 +14,6 +5,6,21 +17,7,5,6,18 +7,5,6 +25,17,14,6 +3 +4,14,6 +25,22,7,6 +17,14,5,28 +7,16,18 +14,6 +6,29 +5,6 +32,48,26,5,6,11 +17,6,43 +10,16 +40,14,6 +2,5,6 +12,22,4,5,6 +5 +32,2,14,6 +27,4,5,6,19 +4,6 +39,13,22,8 +3,5,6,28,10 +4,6 +31,5 +13,20,22,3,4,6,28,43 +4,5 +12,3,5,6 +44,13,7,15 +14,46 +27,14,6 +0 +9,6,23 +6 +25,14,5,6,42 +46 +5 +0 +20,6 +17,4,6 +35,4,5,6,10 +25,5 +37,38,5 +4,6,23 +25,3,5,6,21,15 +17,14,5,6,10 +3,6,28,30 +6,21 +3,14,6 +31,48,13,4,19,8 +25,5,6,42,29 +27,6 +12,22,3 +41,14,6 +32,48,4 +0 +47,3,5,6,21 +6,19,42,8 +25,17 +20,5,6 +51,4,6 +36,22,6,8 +5,6,46,29 +26,5 +45,48,20,6,21 +27,7,14,5,6 +2,20,7,5,6 +20,14,5,6,42 +5,18 +17,7,5,6 +20,14,5,6,23 +40,7,6 +51,40,12,14,6 +38,3,4 +14,5 +22,7,5,6 +6 +6 +22,5 +2,22,3 +48,20,21,19 +22,14,6 +14,6 +2,4,6 +47,9,41,4,6,21 +13,5,46 +14,5,6,19,23,11 +4 +17,7,5 +2,20,5,10,49 +36,22,3,6 +3 +2,5,6 +2,6 +2,20,5,6 +0 +4,5,6 +7,4,14,6,43 +26 +44,6 +3,6 +48,4,5,6,29 +0 +5 +47,25,20,22,3,4,14,6,16 +32,14 +2,14,6 +2,25,14,6 +4,14,5,6,8 +4,14,5,6,28 +20,22,7,4,5,49 +12,20,6 +4 +7,6,11 +13,22,6,23 +5,6,15 +17,5 +14,11 +27,5 +32,3,14,6,42 +32,5,11 +50,33,2,5,6 +22,7,6 +29 +22,14,5,6 +5,6 +17,5,6 +26,7,3,5,6,18 +26,22,4,14,5,6 +48,25,4,6 +12,3,5,10,23 +27,6 +6,46 +20,17,4,6,15 +22,5,6 +32,14,6 +14,6,23 +38,25,6 +44,14,6,15,42 +5,6 +17,6,23 +14,5,6 +14,6 +3,4,6 +4,14,5 +34,35,2,14,6 +25,6 +3,14,6 +17,5,6 +38,6 +44,17,14,6 +13,7,14,6 +2,3,5,6,8 +40,2,7,5,49 +12,22,3,14,6,23 +12,7 +14,6 +34,25,3,6,29 +26,20,6,19 +27,26,3,6,19 +14,5,6 +12,17,6,19 +6,46,30 +20,22,3,5,6 +28 +2,14 +4,5,6 +27,33,22,5,6 +26,6,43 +41,13,5,6 +9,7,6,29,11 +5,6,8 +48,33,19 +17 +7,6 +20,5 +6 +14,8 +6 +4,5,6 +25,14,6 +9 +6,29,49 +12 +0 +9,5,6 +14,6 +39,40,48,3,5,6 +5,6 +5,6 +3,14 +33,17,6 +26 +32,13,3,14,5,6 +25,7,3 +24,17,6,23 +5,6 +7,3,4,6 +6 +4,14,5 +5,6 +2,5,6,16 +51,2,22,15 +17 +36,2,4,6 +34,14 +3,14,11 +12,5,28 +20,6 +4,5,6 +20,22,14,5,6 +13,4,19,10 +5 +4,14 +6,42,18,23,8 +27,14,5,6 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +44,5,23 +26,12,3,5,6 +6,15,30 +44,17,14,5,6 +20,17,3,6,10 +0 +17,6 +0 +3,5,30 +4 +5,6,10 +25,4,6,16,29,11 +14,5,6 +22,14,5,6 +5,43 +2,22,4,5,6 +0 +36,13,5,6 +3,6 +37,2,21,15 +35,2,4,6,18,29 +3,14 +47,34,14,6 +22,7,14 +4 +5,6 +25,5,6,19 +22,6 +4,5,6 +6 +6,46,43 +12,13,6 +6 +31,34,3 +49 +7,6 +25,14,15,16 +12,22,17 +25,6,23 +22,7,5,6 +31,2,8 +20,3,6 +5,6,23,29 +17,6 +2,14,21 +44,12,14 +5,8 +12 +2,7,3,30 +41,4 +35,25,6,10,23 +27,17,28 +14,6 +20,22,4,14 +4,5,6 +14,6 +26,14 +13,25,4,6,21 +20 +12,25,14,6 +14,6 +6,43 +7,4,6 +6 +5,6 +6,19,18 +14,6,28 +33,20,4,6,19 +4 +2,22,6 +34,5,6,28,8 +5,6 +6 +7,6,49 +6 +14,5,6,16 +37,2,25,6 +50,47,3,19 +25,18 +6 +9,4,5,6 +3,6,15,19,11 +38,4,6 +13,17 +17,6,18 +5,6 +13,17 +3,14,6,19 +3,30 +7,16 +7,5,6 +0 +47,2 +25,3 +12 +33,20,14,5,43 +5,6,23 +3,14,5,6 +40,38,14,5 +20,22,7,6 +7,14,5,6 +22,3,5,6 +6 +25,6 +41,17,14,6 +33,25,14,5,21 +25,5,6 +22,5,6 +37,6 +5,6,19,29 +4,6,42 +13,5,6 +12,6 +13,17,6,46 +14,6,28,16 +38,4,14,6 +25,22,6,15,11 +35,6,10 +12,6,8 +9,33,12,13,6 +17,14,6 +17,3,5,6,16 +4,6 +51,22,14 +4,6,21 +2,4,6 +13,14,6 +6 +35,14 +32,9,6 +25,5,6 +25,22,3,5,6 +6,19 +14 +6,28 +41,3,4,14,6,46 +9,20,4,14,5,6 +3,6,16,11 +22,7,6,18 +6,29 +33,5,6,16 +35,13,2,4,6 +22,4,6 +26,20,5,6 +20,14,5,6 +2,17,23 +6 +22,6,16,30 +17,7,4,6 +22,4,5,6 +17,6 +40,41,6 +26,22,6 +3,4,5,6,16 +36,4,6,29 +33,6 +14 +25,22,7,4,5,6 +9,7,14,19 +4,14,5 +2,4,5,6 +35,6,11 +45,6 +2,6,15 +48,14,6 +6 +6 +35,27,33,14,6 +13,5,6,19 +5 +32,6 +17,4,5,6,15,18 +26,6 +45,13,5,6 +21,23 +14,6 +14,6,18 +31,27,41,12,22,17,6,43 +14,6,49 +14,5 +14,6,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +13,5,6 +35,33,22,7,6,42 +38,2,6,18 +0 +13,6,10,49 +45,22,4,5 +5 +3,6 +20,14,5,28 +4,6 +3,6,29 +13,17,7,6,10 +5,21 +5 +35,22,14,5 +22 +2,3,6,21 +12,25,14,5,6 +13,6,29 +5,6 +5,6 +36,14,5,6,16 +6 +7,4 +5 +5,6,46 +33,17,4,5,6 +22,7,5,6 +0 +12,22,6 +33,6 +13,17,5 +6 +37,6,46 +26,7,14,28,15,10 +14,6,43 +12,20,6,28 +25,17,4,14 +4,5,8 +41,3,5,42,8 +4,14,8 +3 +5 +45,25,22,3,6 +29,43 +9,2,14,5,6 +27,12,17,4,5,6 +6 +41,22,19 +2,22,6,30 +6,42 +35,14,6,10,42 +2,6 +7,6,49 +45,13,6 +22,6 +15 +14,6 +41,26,6,19,16 +25,5,6 +20,22,4 +37,17,7,6 +3,14,5,6,19 +3,6 +17 +22,42 +38,12,22,7,8 +4,5 +22,7,4,5,10 +7,6 +17,6,42,46 +44,4,5,6,19 +35,5,6 +24,4,5,6,10 +5,6 +33,4,5,6 +13,6,21 +23 +33,5 +6 +41,17,8,29 +3,5 +13,6 +25,7,4,6 +14,6 +14,6 +6 +5,6 +13,17,5,6 +24,14,5 +9,12,20,17,3,4,14 +48 +22 +39,6 +31,4,5,10,8,49 +14,5,6 +6 +13,14 +20,4,5,8 +5,6 +12,7,6 +0 +4 +14,5,18 +6 +25,6,46,11 +3,14,6,10,46 +5,6 +20,28,19 +3,5,6 +40,7,6 +6 +12,22,14,6 +14,5,6 +5,6 +38,4,14,6 +26,13,6 +6 +5,6,18,29 +47,5 +14,6 +50,48,49 +44,3,14,6 +27,12,7,5,42 +12,14,5,6 +5,6 +22,14,6,30 +25,6 +2,5 +37,5,6,11 +5,6 +7,6 +6 +45,6 +3,6 +17,4,14,6,18 +14,5,6,42 +27,4,6,23,8 +14,6 +6 +5,6,21 +14,21,19,10 +36,6 +12,25,22,6,42,18,23 +7,4,6 +3,6,30 +6 +26,22,3,6,23 +5,8 +17,3,5,6,28,15,10,18 +27,14,10,43 +7,6 +12,6 +13,17 +13,6 +24,27,12,17,14,6 +33,5,11 +13,25,5,6,19 +35,6,19 +0 +14,6 +6 +47,12,6 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +22,14,6 +17 +17,3,6 +42,18 +6 +5 +38,33,2,20,30 +12,22,7,4,6 +47,25,20,5,6 +3,5,6,21 +47,7,4,6 +50,4 +6 +6 +6,10,30 +6,21 +5,6 +22,6 +4,14,6 +14,5 +5,6,18 +6 +2,25,3,14,5 +20,5 +48,14,15 +7,5,6 +33 +25,6,23 +6 +4,14,6,23 +25,4,5,8 +2,14,6,10 +12,6 +35,5,6,23 +23 +14,6 +4,5,6,46,30 +3,6 +5,6 +6,15 +25,6 +36,3,4,14,19 +20,17,4,6 +7,46 +26,17,7,6,10,16 +6,19 +48,12,15 +35,6 +14,5,6 +44,4,5,21,49 +6 +0 +36,27,6 +26,7,14,6 +20,6 +5,6 +4,6 +5,49 +2,17,3,5 +50,14,6 +27,14,30 +5,6,10 +26,4,6,21,11 +16 +7,5,6,21 +22,6,16,18 +6 +26,4 +3,5,6,21 +6 +22,14 +6 +24,6 +25,14,5,6,15 +38,5,6 +5,6 +13,3,6,11 +38,6,30 +40,4,5 +6,10 +6 +20,14,5 +2,3 +7,6,16 +12,3,4,6 +27 +20,14,6 +47 +20,14,6 +9,27,6 +33,6 +6 +12,5,6,18 +51,7,3,5,6 +5,6 +39,41,5,23 +6 +0 +2,5,6 +45,22,6 +30 +9,5 +25,14 +14 +45,3,29 +6 +7,5,6,16 +17,3,4,6 +22,15 +5,6 +17,6 +48,5,6 +14,6,18 +25 +4,6,19 +25,14,6 +3,21,29 +22,14,5,6 +13,14,6 +4,6 +20,4,5,6 +5,6 +13,22,4,6 +48,5,6,11 +3,6 +14,42 +4,5,6,15 +2,6,11 +22,6 +13,25,17,4,5 +27,25,4,5,6 +22,14,28 +5,6,19,46 +17,14,6,23 +7,6,46,11,30 +22,4,6 +3,4,6 +39 +14,6 +6 +25,6 +3,4,15,42 +34,2,20,14,5 +0 +5,6 +48,6,29 +17,3,4,14,6 +12,20,6 +6,15 +6 +13,5,21 +27,3,6,19,30 +17,5,6 +34,21 +14,6 +7,14,5,6,30 +14,6,30 +6,19 +25,5,6 +5,19 +35,12,14,5,6,11 +7,3,6 +14,6 +25,5,6 +7,46,49 +5,6 +25,5,6 +14,6,11 +51,2,4,14,5,6,8 +33,15,16 +40,41,6 +8 +20,17,7,4,6 +36,3,14,6 +3,6,42 +2,3,6,18 +6 +17,4,14,6,11 +33,4,14,5,6 +39,45,14,6,8 +13,22,14,5,6,18 +9,41,17,6 +7,14,5,6,15,23 +7,3,14,6 +13,3,14 +25,14,6 +4,5,6,46 +3,6 +34,41,17,6 +36,3,14,5,6 +33,22,6 +25,17,5,21 +34,20,3,6 +25,17,5,49 +40,25,3,6,16 +20,3,5,6 +6 +7 +33,7,6,18 +5,6 +13,22,16 +6 +41,22,5,8 +18,49 +31,6 +14,5,6,21 +6 +47,5,6 +51,45,48,15 +4,5 +6 +7,29 +22,4,6,8,29 +22,5,6,10 +37,13,25,4,6 +6,49 +5,49 +14,6,8 +25,7,6 +6 +17,3,6 +2,4 +12,4,6 +22,6 +2,3,4,5,6 +17,7 +6 +32,48,22,4,14,5,6 +25,5,6 +48,4,6,16 +5 +0 +3,10,11 +20,16 +32,35,41,6,19,42,49 +12,14,5,6 +7,6,23 +7,3,23 +31,17,46 +13,15 +13,14,5,6,43 +20,4,8,43 +32,6,28,10 +4,14,6 +6,21 +14,19 +14,5,6,18 +2,4,5 +6 +31,6 +14,5,6 +7,3,14,6 +26,17,6,43 +7,14,5 +39,6 +6,16 +38,2,17,6,43 +12,7,5 +17,3,6,46 +17,7,5,6,21,19 +40,6 +3,6 +22,6,49 +4,14,5,6 +14,6,30 +38,13,6,28 +35,3,5 +5,6 +27,7,16 +6,29 +14,5,6 +6,29 +33,25,7,4,6 +17,6,18 +3,6 +6 +22 +34,4,14,6 +5,6,46 +4,5,6,15 +24,36,20,19 +20,17,3,4,14 +22,14,6,28,16 +9,48,14,15,16 +0 +47 +13,20,6,8,46 +5,42 +39,48,3,6 +6,10 +17,6 +5,6 +9,7,14,5,6 +6,49 +7,14,6 +40,17,14,6,10,16 +13,2,25,4,14 +2,5 +25,17,5 +25,5,6 +50,6 +7,4,6 +47,5,6,28 +6 +44,22,4,5,6 +32,9,12,20,7,5,28 +14,6,46 +14,19 +4,5,6,10 +22,6,29 +4,6,28,46,29 +35,48,17,5,6 +5,6,30,49 +5 +5,6,28,10,42,49 +45,13,14,5,6,18 +37,25,4,6 +12,5,6 +39,4,15 +6,15 +22 +27,13,25,5,6 +35,3,4,6 +38,6,28,42 +36,25,14,6,16 +12,5 +26,25,14,5,6,15 +13,7,6 +6,30 +4,6 +4,6 +12,6 +7,3,6,42 +48,3,5,6 +50,6,15 +12,4,14,5,15 +13,7,14,6 +37,9,34,33,2,17,4,6 +14,6 +39,5,6 +3,14,6 +7,3,5,6 +39,4,6,11 +7,4,5 +6 +22,5 +6 +45,7,14,6 +50,35 +12,2,6,43 +3,6,19,8 +3,5,6,18,43 +3,14,16 +2,17,4,21,29 +4,5 +7,5,6 +22,6 +13,22,6,19 +34,17,14,5,6 +2,6,30 +5,6,10 +31,6 +21,30 +25,4,6,18,30,49 +0 +34,14,6,46 +50,12,25,4,6 +44,13,17,4,15 +48,3,6,11 +51,45,7,14 +4,5,6 +37 +44,12,3,14,15 +2,4,6,23 +4,15,29 +6,15 +6,28 +37,27,48,20,17,5 +7,14,5,6 +48,7 +7,5,6,10 +32,2,17,14,5,6 +6,28 +32,5,6,46 +41,7 +6 +5 +5,6,30 +14,6 +22,5,6,30 +44 +6 +22,6 +4,5,6 +50,12,6 +17,3,5,6 +3,6,28 +44,5,6 +14,6,21 +33,13,14,6,8 +14,21 +25,5,6,8 +4,14 +5,6 +7,6,15 +24,38,48,22,3,14 +6 +14,5,6 +40,3,4,5,28 +5 +24,4,5,6 +38,2,4,14,10 +12,3,6 +37,25,7,4,5,15 +22,17,10 +14,6 +31,2,17,5,6 +38,14,5,6 +17,14,6 +7,6,49 +40,25,6 +40,35,14,5,6 +6 +27,33,4,6 +25,22,14,5,6 +22,6,21 +17,3,5,42,18 +44,4,6 +37,3 +44,20,3,6 +32,12,14,5,6 +33,6,10 +2,7,18 +38,13,5,6 +7,3,6,15,11,30 +3,14 +26,3,5,6 +13,5,6,11 +5 +35,26,5,6 +4,5,6,19 +4,5 +6 +0 +6 +26,4,15 +6 +12,13,4,14,6 +4,5,6,15 +5,42,43,49 +17,14,6 +6,19,29,49 +14,6 +17,14,5,6,18,43 +31,17,6,42 +51,5,6 +37,47,6 +38,26,6,16 +37,15,10,18 +27,4,6,21 +17 +33,25,3,6 +17,3,14,5,15 +7,4,5,6 +41,22,3,4,5,6 +41,6 +38,15,42 +5,6,21,11,49 +50,6 +7 +20,22,3,4,6 +10 +50,22,5,6,43 +25,17,5,6,16 +15 +4,14,5,6,10 +6,21,42 +41,7,4,6 +4,5,6 +51,9,25,20,7,6,42 +20,5,6 +25,7,4,5,21 +25,4 +4,6 +2,22,17,5,6 +6,15 +12,6 +22,14,5,6,46 +3,6,28 +6 +14,5,49 +7,14,6 +14,5,6 +5,6 +6 +39,4,5 +33,5,6,30 +14,6,16 +48,14,6,10,8 +6 +6 +3,6,28 +4 +2,25,6 +20,5,16,18 +11 +44,3,6 +35,42,23 +39,6 +45,26,13 +9,6,28 +6 +34,12,5,29 +20,10 +31,20,14,5,6 +7,5,18 +41,13,22,4,5 +11 +41,14,18 +6 +7,3,6 +35,7,14,5,6 +5,6,19 +20,14,6 +38,44,7,4,14,5,6,42,11,43 +41,2,22,4,6,23 +33,20,18,23 +6 +37,2,4,6 +41,7,3,6 +9,5,28,18 +41,12,25,14,6,30 +25 +45,41,2,3,5,6,16 +47,22,7,6,23 +50,12,13,4,14,6,21 +39,26,12,22,17,14,5,28 +41,2,3,6,43 +7,5,6,18 +22,6 +17,14,6 +6 +13,6 +0 +31,13,2,22,14 +5,6,8 +6,21 +5 +6 +5,6 +5,6,28,8 +13,4,5 +7,14,5 +31,13,17,4,14,5,6 +4,5,6,16 +36,6,21 +40,3,5,6,15 +2,22,6,10 +22,7,6 +17,3,5,6,21 +6 +13,17,5,6 +5,6,21 +6,16 +9,13,5,6,11 +7,3,14,6,15,10,16 +22,7,6 +6,11 +12,4,6 +38,4,14,6 +14,6,29 +41,6 +41,5,6 +35,26,17,6 +3,4,6 +0 +40,26,7,6 +38,2,7,5,6,30 +5,6 +12,17,7,6 +20,5,6 +26,21 +2,5,6,28 +34,2,4,6 +36 +32,34,12,14,6 +12,6,28 +11 +36,12,14,5,42 +7 +0 +17,28,46 +50,6 +4,6 +17,5,6 +31,22,14,6 +17,14,6 +13,25,17,3 +13,6,46 +12,2,3 +22,3,5,6 +7,4,5,6 +6 +12,3,4,6,21 +14,5,21 +36 +2,6 +2,6,28 +5,6 +14,5,6 +33,3 +25,3,5 +13,22,7,14,6 +6,46 +41,22,3,6 +47 +7,3,5,6,19 +17,3,6 +28,10 +45,5,6 +6 +17 +24,47,6 +27,17,6,10 +32,7,5,6,8 +38,22,7,3,6 +14,6 +12,5,6 +17,6,30 +26,12,3,6,15,10 +2,6 +35,2,25,4,8 +22,4,14,5,6 +14,6,15,42 +4,14 +40,5,6 +16 +6 +13,19 +6,10 +36,14,6,21 +3,6 +22,3,43 +6,15 +25,3,4,6,16 +2,14,6 +27,3,4,6 +2,22,14 +47,27,14,6,21 +17,5 +41,13,3,5,10 +51,5,6 +34,25,20,6 +38 +12,22,7,14,6 +4,14,6 +0 +41,4,5,6 +13,4,6 +9,14,5,6,46 +2,20,14,6,18 +41,5,6,23 +25,6 +26,25,22,7,4,14,5,6,21 +3,6,21 +6,23 +27,14,5,15 +34,33,15 +3,5,6,28,42,23 +24,35,12,14,5,30 +3,6 +45,6 +6 +47,20,6 +40,6 +45,7,28 +17,6 +6 +45,7,6 +3,6,42 +4,5,6,16 +0 +42 +5,6 +26,22,17,4,5,43 +14,5,6 +7,21,10 +44,17,4 +14,6 +34,17,6,10 +6 +14,6,21,30 +37,5,21 +12,6 +22,6,15,46 +3,5,6 +6 +14 +25,7,3,14,6,10,49 +22,3,5,42 +13,3 +14,6,29 +17,14,5,6 +7,4,5,6 +34,25,49 +20,17,6,15,18 +50,6,8 +48,2,6,11 +5,6,28 +32,7,5,6,19,29 +3,14 +4,14,5 +3,46 +44,17,3,4,14,5 +27,25,3,5,6 +3,5,6 +48,14,5,23 +26,22,6 +20,14,6,21 +13,6,21 +20,6 +27,14,5,6 +12,17,14,5 +5,6,46 +25,20,7,4,14,6 +7,3,4,5,6,8 +14,6 +7 +4 +5 +33,3,5,6,10 +2,7,4,14 +22,3,5,6 +50,36,14,5,6 +26,5,28,15,18 +39,50,20,5,6 +13,2,4,6 +25,22,3,5,6,15 +5 +2,6,28 +45,36,41,5,6,28 +27,14 +20,22,3,5,6 +6 +0 +6,46 +9,38,17,6 +4,6,10,42 +27,41,3,5,6 +38,44,5,6,43 +5,6 +27,3,5,6 +0 +7,6 +44,26,20,17,7,6 +6 +41,14,5,6,28 +14,6 +4,28,8 +35,13,25,20,5,6,15,19 +6 +13,14 +22,4,6,23 +41,44,17,6 +2,25,7,5 +4,6,8 +2,15 +26,3,5 +26,5,6 +25,5,6,15,19 +2,4,5,6,46,30 +2,4,6 +14,5,6 +38,13,4,6,42 +14,5,6 +36,4,6 +0 +48,22 +20,7,3,5,42,23,11 +2,5 +47,41,6,42 +38,6 +6,15,19,30 +6,49 +36,22,6,15,19,11 +5,6,10 +22,3,6,49 +17,4,14,6,23 +45,2,5,6 +6,28,46 +38,3,6,19 +3,14,5,6 +14,5,6,19 +22,6 +9,7,4,6 +3,6 +40,35,6 +6,18 +50,25,6 +6 +22,17 +13,5,6 +7,5,6,46 +20,5,6 +22,7,3,6 +4,5,6,10,49 +26,14,6,28,49 +9,22,14,5,6,21 +36,4,5 +38,12,14,6 +32,3,4,6 +20,17,3,5,15 +20,17,4,6 +38,14 +32,5,6,30 +4,6 +14,5,6 +48,4,6 +8 +25,4,14,6,21 +41,17,5,6,10 +5,49 +4,6,28 +25,30 +6 +12,17,14,21 +3,6 +7,3,5,6 +5,6 +5 +14,5,6,19,10,46 +14,5,42 +7,14,6 +13,6,18 +3,6,43 +22,5,6 +3,4,5,6 +7 +17,3,4,14,6 +14,6 +3,14,6 +32,35,22,6 +2,4,5,6,15 +6 +5 +26,4,14,6,8,46 +17,5,6,15,8 +12,20,6 +26,20,6 +25,20,5,6 +5,6 +4,6 +7,5,6 +15 +22,5,6,28,29 +25,5,6,19 +31,25,6,21 +33,22 +13,6,21,28,15 +17,14,6 +2,22,6,23 +20,17,5 +20,4,5,6 +12,4,6,19,30 +4,6,28 +4,6,18 +14 +5,6 +31,14,5,6 +0 +7,4,6,15 +4,6 +14 +5,6 +7,6,29 +22,3,5,6 +32,20,17,5,6 +20,6 +32,6 +22,7,5,6 +36,27,7,6,10 +17,5,6 +41,6,21 +0 +13 +7,18 +3,6 +39,5,6 +12,3,14,5 +33,2,22,14,5,6,10,23 +46 +12,22,17,4,6 +37,7,6 +25,20,6 +24,47,2,7,6,11 +5 +20,14,5,6 +6 +47,9,3,6 +49 +6 +45,25,7,5,6,19 +5,6 +14,46 +20,5,6 +6 +41,17,14,5,19 +6,29,11 +5 +6,23 +22,3,4,14 +48,14 +3,6 +35 +0 +6,28 +0 +6 +12,20,17,5 +3,4,28,15,11 +9,34,22,14,5,6 +20,4 +20 +41,17,6,19 +7,6 +13,5,16 +5,6,15,10 +3,6 +40,47,28 +17,6 +3,14,21 +3,5,6 +37,17,5,6,18 +25,4 +2,14,6 +32,2,6 +5 +17,8 +7,3,14,5,6 +32,13,17,4,14,6,23 +16 +14,5,6,42 +35,5,6 +22,17,7,3,5,6 +41,4,6,18 +3,5,6,42 +48,12,14,6 +51,6,29 +31,48,4,14,6,16 +17,6 +17,5,6,29 +4 +45,13,22 +6 +31,34,6 +6,16,30 +2,6 +6,19,29 +5 +25,6,16,29 +20,6 +51,24,34,5,6 +14,5,6 +12,3,5,6 +6,30,43 +22,14,5,6,18,23 +17,6 +10,8 +27,22,4,14,5,6,8 +2,3,5,6 +3,4,14,5,6 +6 +13,7,14,5,6 +5,8 +4,6,15,23 +14,6 +28 +14,6,19 +41,14,5,6 +14,5,6,28,42 +27,6,28,16 +2,14,6 +27,6 +22,3,6,42,18 +4,6 +5 +6,18 +4,5,6,28 +24,12,13,20,3,6 +13,17,14,5,6 +7,28,11 +22,4,6,21 +6,8 +12,3,4,6 +3,14,6 +7,4,6,8 +6 +5,6 +14 +3,5 +30 +36,17,6,16 +6 +36,6,10 +14,5 +25,14,6 +42 +47,26,4,14,5,6,21 +25,14 +14,6 +37,13,6,16 +13,6 +51,6 +4,5,6,29 +34,6 +5 +5,16 +36,35,13,3,6 +36,4,6 +5,42 +14,5,6 +25,6 +47,5 +25,10,43 +3,6 +51,7,6,21,8 +39,14,6,46 +25,14,6 +14,5 +20,22,43 +6 +6,23 +3,5,6 +17,4,6,19,10 +47,17,14,6,30 +12,14,5 +12,17,6,18 +12,13,3,10 +14,5 +5,19 +5 +47,7,6,21 +4,14,6 +17,7,3,6 +14,6 +34,25,3,5,6,18 +22,6,49 +21,15 +51,5,6 +13,25,5,15 +6,19 +6 +6 +5,6 +20,5,6 +48,6 +20,6,29 +12,6 +2,17 +34,5,6,10 +14,6 +9,5,6 +22,5,6 +33,2,6 +41,3,6 +17,5,6,28 +3,6,16 +6 +2 +9,41,20,6 +44,7,14,6 +5,6,10 +22,6 +12,7,4,6 +17,4,6 +0 +50,3,6 +14,6,10 +3,14,5,18 +20,14,5,6 +25,5,6 +47,12,3,14,28 +17,5,6 +20,6 +6 +22,14,6 +6,16 +6,28 +14,6 +51,33,5,6,21,23,49 +31,20,7,6,15 +4,6 +31,3,6 +0 +14,23 +48,5,46 +3,4,5 +28 +13,5 +5,6 +17,6 +39,4,5,6 +51,6,21,28,30,43 +31,7,14 +22,14,19 +41,13,4,14,6,15 +7,5,6,21 +25,20,17,6 +25,5,19 +5,6 +23 +14 +14,6,18,23 +6 +25,14,6 +31,49 +25,17,5,6,10 +36,20,5,6 +6 +5,6 +34,5,6 +25,7,4,6,8 +25,5,6 +7,3,4,5,6,21 +6 +45,7,4,5,30 +17,5,6 +27,6,11 +12,20,22,14,6 +0 +25,14,5,6 +5,6 +2,14,6 +2,5,6,23 +36,3,4,14,5,6,42,18 +27,3,5 +7,5,6 +36,26,17,14,5 +38,25 +34,7,3,8 +34,3,14,21,42,30 +4,5,6 +17,3,5 +3,5,6,29 +35,6,23 +33,2,5,6,28 +5,6 +3,4,6 +16 +6,46 +48,3,14,6 +4,18 +26,17,5,6 +47,9,17,7,4,14,6,21 +17,3 +0 +14,5,6,10,43 +33,4,6 +15,29 +40,6,21,15 +0 +25,17,6 +6,28 +14 +14,6,43 +20,5,6 +5,6,42 +4,5,49 +6,49 +4,6 +47,4,14,5,10 +13,6 +2,17,14 +25,6,19 +4,6,11 +41,13,2,7,6,49 +48,17,14 +7,5,6,11 +7,4,5 +5,6 +7,3,14,5,6 +2,4,6 +51,20,4,5,6,16 +14,6 +17,3,4,5,19 +5,6,11 +25,20,4,5,6 +24,6,19 +29 +3,14,6 +47,4,14,5 +6,28 +37,6,10 +20,5,6,42 +6 +47,34,5,6,15,10 +33,7,14,5 +5 +13,14,5,6 +3,6 +41,26,3 +14,5,6 +6,21 +2,4,5,6,16 +7,4,14,5,15 +22,7,4,14,5,49 +5,6 +2,7,14,11 +5,6,28 +13,14,19 +34,7,6 +38,20,5,6 +4,6 +9,25 +48,6,43 +20,14 +38,6 +38,26,13,14,19,29 +14,6,8,43 +2,25,17,3,16 +13,3,5,42 +45,2,22,3,14,6 +17,7,4,6 +33,13,5,6 +38,20,4 +39,12,2,6 +25,6,15 +0 +44,12,3,6,29 +6,21 +38,2,3,6,42 +47,3,14,21 +26,7,4,14,6 +5 +20,17,6 +22,5,6,28,30 +47,6,43 +45,14,6,16 +14 +27,6,10 +12,6,23 +6,23,46 +4,5 +4,14,6,15,10 +3 +51,38,4,14,6 +2,20,5 +6,16 +30 +33,4,5,21 +17,7,14,5,6 +41,17,6,19 +7,14,5,6,21,18 +0 +5,6 +39,26,25,7,18 +5,6,21 +3,6 +13,5,6,49 +47,13,3,4,6 +14,6,15 +48,14,6 +7,5,6 +20,4,6 +5 +51,32,3,6,15 +5 +25,22,7,3 +7,6 +4,14,5,19,30 +17,5,6 +2,7 +41,4,30 +41,5,23 +6 +12,22,6,16 +6 +13,14,6,49 +35,22,5 +4,6,16 +33,6 +8 +17,7,14,6 +7 +44,4,6 +13,2,7,5,6 +2,4,5,15 +0 +40,35,41,5,6 +3,14,6,15,29 +51,14,6 +41,3,6,10 +31,12,20,3,4,5,6 +6,42 +44,4,14,6 +12,22,7,4,14,5,19 +44,6,16 +17,3,28,29 +4 +41,7,5,6 +47,3,23 +4,6 +31,13,25,17,3,5,6,21,10 +5 +6 +51,13,17,6 +6 +38,3,14,5 +22,14 +20,17,3,4,14,6,28 +7,6 +41,6,10 +3 +6 +31,14,6,10 +4,6,19,8,46 +32,14,15 +14,28,46 +35,6,29 +22,7,5 +6,19,18,30 +44,12,6,28 +24,7,4,5 +3,4,14,5 +48,6 +5,6,10 +5 +27,5,6 +47 +39,6,30,43 +32,20,3,6,8 +20,3,6,8 +36,14,6,28 +14 +20,6,15 +3 +13,3,6 +7,5,6,15,8 +50,4,6 +13,17,14,6 +7,5,6 +14,6,21 +37,4,14,6 +40,22,6,21 +2,5,49 +47,7,5,6,10 +14 +39,13,6 +17,5,6 +14,6 +32,4,6 +12,6,19 +7 +48,14,6 +0 +7,5,6 +6 +6 +44,5,6 +40,5,6 +20,22,5,6 +6,28,43 +20 +4,14,6 +5,21 +32,3,4 +38,33,26,5,30 +2,20,6 +37,36,2,17,5,6 +14,6,8,43 +12,6 +5,6,19 +17,7,5,21,30 +22,3,5,6,10 +37,5,6 +6 +14,21,15,16,23 +48,6 +14,5,6,30 +44,25,20,14,5,11 +51,37,9,14,6 +20,22,6 +14,6 +12,14 +9,7,14,6,15 +24,17 +13,6 +33,17,5,6 +0 +4,14,5,6,15,19 +50,5 +14,5,6 +39,14,16,23 +0 +4,5,6 +25,14,5,6 +6 +12,25,4 +38,25,22,17,7,4,5,6 +44 +37,41,2,7,4,5,6,42 +6,29 +17,14,6,8 +48,3,5,6 +17,6 +14,5,6,10 +41,17,4,6 +51,45,20,17,6,10,23,29 +27,6,42,8 +25,14,6,21 +20,14 +6 +32,6,15 +41,12,7,3,14,5,6 +40,4,6,30 +3,6,8 +13,17,6,10,16 +6 +2,14,6 +19,29 +45,6 +25,5,6,15 +2,22,4,14,5,6 +42 +5,6 +3,6 +7,4,5 +5,6 +3,5 +7,6 +22,4,42 +20,5 +5,6 +34,5,10 +5 +25,22,17,6 +14,6,16 +6 +47,6 +22,5,6,49 +17,5,6,18 +51,4,14 +22,5,6 +5,19 +0 +4,6 +7,14,6 +24,38,13,14,6 +48,25,20,22,17,6 +22,14,5,6 +32,26,22,6,49 +14,5,6 +12,13,6,23 +4,5 +6,46 +14,5,6 +25,7,6,21,19 +4,6 +50,25,14 +3,4,28,10 +14,5,6,15 +4,5,23 +9,44,5,6,23 +5,6 +0 +31,14,5,10 +11 +33,21 +6 +31,12,5,6 +12,5 +26,6,29 +5,6 +45,50,12,13,7,5,6 +6 +6,19 +22,6 +5,6 +5,6,28 +45,7,6,43 +26 +6,42,18 +31,22,14,6 +22,6,30 +48,44,3 +2,14,5 +4,6 +4,5,6 +4,6 +14,5 +51,4,21 +14,6 +25,5 +22,7,14,28 +25,14,6,15,10 +6 +4,14,5 +12,17,6 +41,17,5,18 +14,5,6,16 +45,41,20,5 +24,38,22,17,14,5,23 +22,5 +6 +3 +22,17,6 +32,36,4,6 +25,7,6 +33,26,7,10 +17,6,15 +5,6 +44,14,6 +10 +51,17,3,14,6,15 +33,20,3,6 +9,6 +14,21,16 +22,6,42,23 +6,10 +3,6,11 +34,7,3,5 +33,12,7,3,5,6 +6 +4,14,5,6,8 +36,4,6,28 +17,4 +47,25,6 +25,20,5 +7,3,6 +34,3,6,28 +13,14,6 +50,33,22,17,6,15 +25,5,6 +22,17,14,5,6,29 +20,22,7,6 +6 +41,17,4,14,5,10 +7,14,6 +40,12,46 +26,5,6 +5,6,21 +9,2,20,14,6,42 +51,44,6,15 +13,4,5,6 +6 +7,4 +36,22,17,7,5,6 +6,21 +20,3,5,6,30 +48,3,5,6,28 +12,4,6 +20,3,4,5,6 +17,3,6,10 +0 +2,6,23 +12,21 +9,4,14,6,19 +26,6,42 +6 +6 +5,19 +12,13,5,6 +22,6 +45,5,6,15,18 +35,17,6 +2,6,42 +7,3,6 +5 +26,20,5,42 +6 +36,7,5,6 +13,5,6,15,42 +3,14,6 +36,44,6 +50,40,48,41,20,22,17,5,6 +14,5,6 +6,28 +32,5,6,15,18 +14,21 +25,14,15 +41,6 +14,5,6 +45,7,6 +4,14,49 +25,6,18 +0 +6 +0 +17,5,6 +14,6 +48,44,14,6,23 +14,5,6,16 +31,13,7,5,6 +7,3,6 +7,14,5,6,30 +14,6 +16 +6 +47,2,17,6 +5,6 +14,5,6 +22,3,14,6,21 +12 +14,6,29 +6,19 +12,20,14,6 +6,46 +13,3,6,43 +13,7,6,29 +31,44,26,17,3,5,6 +24,47,13,20,22,17,4,14,5,6 +20,22,5,6 +37,5,6 +25,20,6 +5,6,28 +50,9,20,3,14 +40,5,6,23 +4,14 +7,3,5,6 +5,19 +51,24,3,14,6,42 +12,21 +50,20,7,6 +20,17,7,4,14,6,30 +36,12,6,28 +25,7,4 +36,33,14,5,6 +3,5,6,19 +34,25,4,6 +7,3,5,6 +20,17,5,6,21 +24,37,5,6 +41,6 +48,12 +6 +27,6,11 +35,3 +39,20,6 +41,3,4,6 +20,6 +37,6 +41,26,4,6 +14,5,6 +4,15 +35,48,7,3 +44,17,5,6,18 +25,7,6 +47,5,6 +6,16 +37,22,5,6,8 +34,3,6,28 +12 +4,6 +4,14,6,46 +22,3,6,28,18 +7,6 +45,34,17,4,14,5,6 +4,14 +3,42 +39,14,6 +7,5,6,18 +25,17,4,5,6 +7,6,15 +25,22,3,5,6 +26,14,6,10 +8 +31,3,6 +9,38,6,10,43 +14,6 +37,17,5 +7,3,14,6 +22,6,23 +40,13,17,4,5,6,23,11 +14,29,43 +2,20,10 +0 +22,5,6 +51,9,36,17,3 +22,5,6 +24,14,5,6,43 +41,5,6 +32,48,25,7,14 +35,2,6,29 +4,6 +25,5,6,28,19 +45,4,6 +0 +51,3,29 +31,13,4,6 +20,6 +7,14,5 +25,6 +14,5,21,28 +44,5,6 +3 +20,5 +3,14,5,6 +13,22,3,6 +17,14,6 +25,6 +14,6 +6,42 +2,4,6 +38,5,6 +47,4,14,46 +27,6 +6,11,43 +42,29 +7,5,6 +14,6 +17,4,14,5,6 +10 +13,5,6,10 +35,6,46 +3,6 +31,20,14,21,42,23 +51,22,3,6 +4,5,6,19 +32,17,4,14,5 +24,6,18 +51,17,4,6,8,46,29 +6,43 +22,4,6,21 +12,20,6,11 +3,14 +47,36,4,6,16,29 +5,6 +2,6 +27,4,14,6,43 +37,27 +13,14,6,11 +7 +20,22,14,6 +14,5,6 +12,5,6,28,18 +2,20,17,3,6,21,18,29,49 +29 +9,3,14,6,15 +3,6 +12,25,5,18 +27,7 +20,21,8 +50,7,6 +22,3,4,6 +6 +25,17,5,6 +5,6 +0 +40,12,6 +39,22,7,21 +37,6,28 +47,17,7,4,14,6 +38,25,6 +25,3,5,6 +48,4,14,6,21,16 +36,4,14,6 +36,7,6,11 +13,6,46 +5,6 +40,17,5,6,8 +48,4 +14,6,19 +33,41,44,5,6,19 +51,6 +31,6,16 +6 +12,14,23 +5 +22,5,6,30 +0 +2,20,14 +5,6,29 +12,17,6,21,15,43 +3,5,42,49 +36,17,14,6 +6,8 +20,14,5,6 +47,35,5,6,42 +37,44,2,7,5,6,42 +22,6 +7,5 +7,3,5,6 +22,4,6 +12,14,6 +2,42 +29 +13,3,6 +12,22,7,6,23 +2,6 +17,5 +2,5,6,19,29 +22,6 +12,4,14,6,23,8 +0 +5,6,21,43 +26,20,4,5,6 +6 +37,25,20,7,14,6 +22,4 +35,3,4,43 +7,19 +2,6 +4,5,6,21,46 +20,17,3,42,23 +6,18 +39,50,17,4,14,21 +4,6,8 +4,5 +9,36,20,6 +4,6,46 +6,10,18 +5 +4,5,6,21,16,11 +44,4,5,6 +22,4,6,19 +29 +3 +12,23 +14,5,6 +31,12 +3,4,6 +4,5,6,28 +45,25,5,6,15,18,43 +2,17,6,19,30 +31,37 +48,25,4,6 +41,6 +7,14 +6,21 +26,17,5,6 +5,6,28,30 +40,3,5,6,42 +4,11 +3,6 +37,48,12,13,5,6,29,49 +4,5,15,43 +22,17,14,6 +2,4 +14,5,30 +33,26,5,6,46 +35,6,10 +36,25,6,23 +6,46 +5 +50,4,6,19 +27,14 +38,14,5,6 +5,6 +23,8 +17,7,14,5,6,16 +6,28,43 +20,6,30 +51,14,6 +6 +6,10,16 +25,17,6,28 +2,5 +4,5,6 +20,5,6 +0 +33,12,4,6 +22,3,5,6,8 +20,16 +22,6,46 +6 +31,12,14,21,49 +6 +6 +4,6,23 +24,6 +13,6 +28,19 +22,17,4,6,21 +44,17,6,46 +27,5,6 +4,6 +24,3,6 +27,28 +3,14,6 +5 +5,6 +6 +20,6 +48,6 +28,16 +6,8 +34,14,5,6 +12,2,3,4,5 +13,4,5,6 +2,17,6 +27,25,3,6,21 +9,22,6 +17,5 +0 +48,2 +34,22,3 +45,14 +31,5,6 +32,4,6 +45,44,20,5,46,11 +5,6 +44,2,4,14,5,6 +4,14,15,49 +47,2,7,4,14,5,6 +5,6,8,11,30 +14,5,6,21,30 +26,13,7,3,14,5,6,42,46 +50,26,5,6 +5 +3,14,5,6 +6 +3,14,6,21 +7,6 +27,12,3,4,6 +25,21,18 +41,7,6,23 +27,4 +25,14,5,6,16 +4,6 +12,22,7,3,6 +0 +13,22,49 +7,5 +3,6 +14,6 +40,41,4,6 +4,6,21,29 +22,5,6 +4 +13,20,6 +24,36,2,7,4,6 +27,7,3,4,5,42 +7,5,6,21,11 +5,6,18 +6 +34,33,3,4,6,42 +26,5,6,21 +20,5,6 +32 +13,6 +24,5 +14,6,8 +0 +40,7,14,6 +49 +17,3,5,10,18 +25,3,14,5,6 +12,25,22,6 +14 +22,5,6 +2,17,6 +40,5,6,43 +45,35,3,6 +17,3,6 +2,6 +6,30 +44 +3,5 +41,20,4,5,6,8 +45,14,5,6 +9,7,42 +26,7,6,11 +14,6 +7,23 +38,4,18 +44,12,6 +48,44,13,17,5,6 +2,4,6 +21 +6,16 +2,6 +3,14,5 +2,42 +26,25,7 +4,14,5,49 +45,22,6,49 +7,5,6,30 +12,4,14,6 +7,6,43 +48,5,6,8 +3,14,5,6 +41,4 +6 +50,44,6 +6 +13,3,6 +20,6 +4,5,6,21,29,11 +3,5,6,28 +0 +25,3 +5,6,18 +25,14,5,11 +5,6,28 +24,41,7,6 +40 +12 +6 +36,14,5,6,21 +39,20,3,5 +41,7,3,6,19 +4,14,6 +12,5,6 +41,25,22,3,14,6,30 +22,3,4 +6 +38,7,4,5,6,19,11 +14,6,23 +27,6 +13,2,20,6,49 +40,36,6 +38,5,6 +25 +51,12,13,25,6 +17,14,6 +5 +25,7,6 +7,14,6 +0 +5,15 +36,27,20,5,46 +27,7,5,6,15,46 +5,6 +15 +33,41,7,14,6 +50,12,17,4,19 +20 +5,10,43 +12,14,5,6,43 +37,14,6 +4,6 +4,6 +26,22,5,6,29 +2,14,5,6,15,42 +7,3,6 +5,6,28 +22,4,6 +25,5 +20,6,29,49 +17,14,5,6 +12,6 +39,20,10,16 +48,14,5,6,29 +14,6 +7,5,6,21 +6 +25,22,4,5,6,21,23 +20,14 +39,36,3,6 +35,5,6 +2 +14,5,6 +12,17 +12,5 +3,19 +24,38,4,6 +17,7,6 +51,6,46 +5,6 +3,28 +14 +25,17,14,6,21,42 +14,5,6,42,8,49 +5,6,42 +25,20,6 +34 +0 +22,3,6,18 +13 +20,6,28 +48,33,26,5,6 +6 +36,5,6 +6 +34,7,4 +32,3,6,21 +33,14,5,6 +22,7,14,10,42 +23,43 +5,43 +6,49 +12,6 +12,14 +6 +32,34,26,7 +12 +38,27,2,22,14,6,30 +41,7,14,6 +9,36,5,6,18 +14,6 +2,7,21,43 +6 +26,22,6 +27,3,21 +27,6,28 +4,5,30 +5,6,19 +37,44,13,14,6,19 +33,20,4,5,6 +12,3,14,5,6 +45,20,17,6 +6,16 +45,17,3,6,46 +13,17,5,6,10 +12,5,6,43 +3,6,8 +37,33,17,3,6 +5,28,42 +20,4,5,6,30 +20,14,42 +26,12,6,11 +37,4,6 +39,41,25,4,5,6 +6 +14,30 +4,14,5,6 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +38,22,6 +13,6 +37,38,6 +6,16 +38,2,20,5,6,21 +39,37,6 +25,14,6 +31,2,7,6 +40,12,13,25,3,14,5,6 +20,6 +2,5,6 +41,6,21 +41,6,11 +14,5,6 +7,4,6,19 +9,6 +5,10,23,29 +45,5,6 +14 +4,6,30 +3,4,5,6,21 +25 +17,14,6 +35,12,6 +12,42 +5,6,15,46 +50,17,5,6,46 +44 +45,22,17,6 +24,3,5 +39,7,14,19 +17,4,14,5,6 +17,4,6 +26,2 +14,5,6,10 +20,14,5 +50,2,6 +2,25,3,14,5,6 +4,28 +24,13,6 +0 +47,5,6 +31,25,30 +3,14,19 +37,12,14 +2,7,6 +22,7,6 +24,7,6,46 +9,38,30,49 +2,5,6 +24,13,25,20,4,11 +26,17,14,6,10,16 +44,12,22,17,5,6,18,29 +5,6,43 +12,6 +45,3,6 +6 +12,3,5,6 +24,48,17,4,5,6 +13,20,14,5,6 +22,6,15 +20,6 +4,6,23 +22,7,3,6 +51,22,17,5,10 +41,7,3,6 +44,26,4,5,6 +4,14,21,18 +7,4,14,6 +6 +4,5,6 +3,5,6 +14,5,6,10 +36,3,14,6,21 +47,3,6 +20,7 +2,7,6,11 +7,5,6 +4,5,6 +7,5 +3,6 +41,2,6 +25 +51,38 +48,22,7,14,5,6 +39,38,20,4,6,16 +47,6,18 +38,17,5 +2 +17,6 +12,49 +2,22,6,29 +13,20,4,6 +50,41,20,7,4 +50,5,6 +26,2 +6 +32,12,22,21 +12,13,17,3,14 +51,36,41,6,23 +20,22,4,14,5,6 +17,5,6,19,10 +5,6 +12,4,14,16,29 +13,20,3,4,14,5,6,28 +51,2,4,14,5,6 +26,12,14,5,6,42,29 +17,7,5,6 +33,25,22,5,6 +3 +17,4,6 +10 +3,5,6 +40,38,6,29 +32,21,28,46 +7,4,6,15,16 +2,6 +4,5 +6 +12,17,14,6 +33,2,6,10 +38,6 +22,5,6 +17,5 +5,6,18 +2,4,6,42 +24,22,14,5,6,16 +33,25,7,14,5,15 +50 +34,2,7,16,30 +41,22,6 +0 +22,46,29 +6 +26,7,14,6,29 +17,14,6 +48,5,6 +0 +17,5 +14 +9,27,3,14 +9,17,6 +2,20,3,4,5,6 +0 +25,28 +5,6,10,8 +31,44,7,6,30 +48,30 +2,3,14,5 +5,6 +4,5,6,28,30 +7,4,5,6,21 +20,3,6 +6 +38,12 +32,26,25,17,6,16 +33,3,4,14,6,18,43 +2,4,6 +25,14,5 +6 +25,21,23 +35,6,29 +45,34,25,14,5,6,46 +12,13,22,3,14,6 +6 +40,17,6 +32,5 +2,7,14,6,29 +20,3,5,6 +4 +34,25,14,5,6,15 +33,3 +33,6 +32,25,22,4,14,42 +2,17,14 +27,12,4,14 +2,4,6 +0 +34,22,14,21,15,19 +13,6 +11 +22,5,6 +25,14,6 +13,7,14,5,6,30 +3,4,5,6 +39,17,7,3,4,5,6 +32,8,46 +7,4,5,6,43 +3 +34,26,4,6 +6 +25,3,6 +22 +13,22,3,5,6 +13,14,6 +25,7,4 +14,6,8,46 +4,6,49 +5 +44 +5,6,10,43 +12,3,5,6 +33,5 +25,6 +39,5,6 +20,6,29 +39,9,22,14,5,6 +4,6,43 +20,6 +48 +6,42 +26,12,3,4,6 +2,17,7,14,5,6,23 +24,38,13,6,18 +5,6,11 +5,6 +35,4,6 +6,18 +44,12,22,30 +7,5,6,28 +5,6,29 +21 +31,12,4,6 +6 +4,14,6,18 +25,3,5,6,28,10 +7,4,5,6 +0 +0 +31,25,17,14,6 +13,7 +14,6 +14,5,6 +14,6 +2,7,6 +2,4,5,28 +0 +5,6,15,46 +5,6 +41,25,20,7,5,6,18 +22,17,4,6,46 +50,4,14,6 +34,5,6,30 +14 +34,4,14,6,42 +7,4,14 +5,6 +5,11 +7,29 +17,7,4,14 +13,2,4,21 +25,4,6 +13,5 +7,14,5,6,28,11 +3,14,6 +5,6 +3,6 +17 +39,33,17,6,29,30 +9,25,20,5,6 +27,6 +37,4,5 +3,4,5,6,10,30 +6 +41,6,42 +22,5,6,42 +31,7,6,30,43 +51,13,17,7,4,6,15 +45,4,5,6 +28 +45,17,6 +9,41,2,17,3 +17,7,6,19 +35,20,6 +12,5 +41,2,22,17,3,14,5 +37 +37,13,17,3,6 +6,19 +27,6 +4,14,23 +5 +14,6,21,10 +50,28 +3,14,6,10 +25,3,4,5,6 +50,22,17,3 +48,2,14,6 +20,22,7,5,6 +38,5,6,16 +14,6 +34,17,42 +13,8 +5,18,23 +13,14,6 +25,22,5,18 +2,4,6 +36,7,3,6,19 +13,2,22,3,14,5,6 +13,7,6 +20,6,43 +17,6,29 +25,3,6 +20,3,6 +24,3,14,6 +20,4,6,49 +22,17 +48,14,5,6 +20,4,5,6,28 +13,14,5,6,10 +22 +6 +48,7,5,6 +7,6 +24,32,44,3,5,6,21 +3 +7,14,5,6 +41,20,3,6 +40,5,6 +47,14,6,16,23 +3,5,6,18 +4,14,6,19 +26,14,21,28 +5 +7 +7,6,43 +34,14,6 +17,7,5,6,28 +20,4,14 +44,3,14,6,16 +3,19 +7,5,6 +34,4,6 +25,14,6 +3,19,8 +48,5,6,21,23 +14,5 +22,17,3,6 +20,4,5 +31,6,8 +7,6,30 +44,12,6 +22,6 +6 +39,12,17,28 +50,9,14,5,6,30 +14,5,6 +2,5,6,29 +5,23 +26,5,29 +7,6,8,30 +7,14,6,21 +14,5,6 +0 +17,6 +13,14,6,42 +33,25,4,6 +7,19 +4,5,42 +39,17,5,6,16 +4,5,6 +5 +2,3,4,14,5,6 +50,7,5,6 +2,6 +40,2,6,21,18 +4,14 +22,3,4,5,6 +13,6 +33,4,6,46 +12,17,4,6,10 +20,5,6,49 +3 +5,6,21 +20,7,3,14,5,6,19,11 +51,25,17,14,6 +37,5 +5 +12,6,23 +5,6 +6,8,43 +4,6 +40,4,11 +32,5,6 +4,6 +41,2,14,6 +13,5,21,18 +22 +14,6 +6,18 +13,14,6 +5 +22,4,14,5,6,18 +33,22,3,5,6 +13,17,14,6,15 +5 +21 +5,6 +6,42 +13,14,5,6,46 +6 +50,17,5,6 +14,6 +13,14,5,6 +34,14,5,6,28 +20,3,6,8 +6 +14,8 +36,14,6,10 +6 +36,4 +45,6,21,28,8 +17,4,6 +40,6 +2,6 +45,7,6,28 +51,14 +4,14,5,6,15,23 +36,38,20,4,6,23 +40,25,6,21,49 +31,7,4 +34,2,3,14,5,28,49 +17,5,6 +2,20,22,17,3,4,6 +6 +7,6,42,30 +17,5 +22,14,6 +6,15 +25,4,6,11 +5,6 +14,6 +14,15 +17,6 +5,6 +4,5,6 +33,12,2,5,6 +6 +39,6 +25,6 +26,20,4 +36,25 +6 +9,20,22,14,5,6 +51,20,14,5,6,28 +4,15,42 +5,6,21 +25,5,6 +17,5 +48,17,5 +6 +6 +44,13,5,6,16,43 +39,31,2,20,6 +0 +6 +5,6 +6 +39,45,20,4,14,6,46 +41,26,17,4,14,6,43 +0 +3,6,21 +20,6 +32,22,7,6,49 +0 +25,7 +32,35,22,7,5,23 +4,5,6 +5,6,11 +38,13,16,42 +35 +51,5,6 +47,6 +5,6,42 +12,20,22 +51,20,4,6 +2,7,4,6 +27,14,5,6 +12,3,14 +32,34,41,6 +17,14,46 +41,2,17,23 +5,6,10 +12,20,14,6 +9,7,6 +20,14,5,6,15 +14,6,30 +0 +6,16 +40,29 +20,14 +39,36,7,6,10,49 +6 +6 +6 +17,4,6 +27,4,14,6,30 +6 +7,14,6,21 +14,5 +12,5 +12,20,7,6 +31,5 +14,6 +17,14,5,6,11 +50,17 +14,6 +2,7,5,6,19,18 +22,17 +26,6,8 +5 +22 +13,25,4,5,6 +25,5,6 +3,28 +22 +50,28 +27,22,6,18 +0 +12,25,6 +20,6 +12,25 +20,6,10 +12,7,4,6 +6,15 +6 +20,4,6 +13,20,4,5,46 +6 +10 +6 +48,13,3,14,6 +51,13,7,3,6 +2 +6 +14,19,16,11 +33,12,17,5,18 +25,6,8 +44,2,5,18,23,30 +3,4,5,6 +5,6,8 +4,6 +25,6 +5,6,10 +25,4,14,5,6,21,23 +31,25,6,10,11 +9,2,4,23 +14 +47,17,6 +4,14,6,49 +37,3,5,6 +6,29 +3,6,30 +3,15,29 +14,5,6,10,42 +39,33,14 +2,25,17,5 +37,38,25,20,17,3,14,6 +13,2,6 +34,3,14,6 +22,6,16,11 +24,22,14,6,16 +3,4,6,21,28,16 +20,17,5,6 +34,20,5,6,15 +26,3,6,23 +3,6,19,30 +2,22,14,5,19 +50,34,3,5 +44,5 +7,5,6 +36,5,6 +3,5,6 +20,4,21 +35,22,6,11 +46,49 +4,14,29 +7 +17,14,5,15 +17,14,19,49 +24,3,6 +44,2,14,5 +37,6 +4,6,8 +3,14,30 +22,6,15 +39,6 +32,12,20,3,5,6,28 +50,25,17,4,5,6,8 +26,3,14,5,6,46 +33,4,6,46 +9,3,6 +17,14,5,6 +39,5,6,18 +4,14,6 +6 +20,6 +4 +2,20,17,3,6 +24,41,25,4,6 +50,13,22 +3,5,6 +25,6 +41,4,14 +40,2,25,7 +26,20 +26,4,6,11 +7,14,6,15 +3,6 +25,18 +13,4 +17,5,6 +51,9,3,4,6,49 +4,5 +13,25,17,14,6 +4,6,16,23 +14,6,28 +38,2,14,6 +17,14,5,6 +17,7,14,5,6 +5,6,28 +6 +7,5,6 +6 +36,22,15,43 +13,6,43 +33,5,6 +45,13,22 +40,41,7,14,6 +3,4,28 +3,4 +26,7,14,5,6,15 +48,20 +14,5,6 +14,5 +4,5,6,28,10 +37,27,6,21,18 +4,6,28 +14,6,29 +17,6 +4,6,46 +48,26,20,22,7,14,6 +26,6,29 +48,25,7,28,10,23 +21 +13,4,6 +32,41,6 +5,6 +4,6,21 +13,15,16,23,8 +6 +41,3,43 +31,33,12,14,6 +25,22,7,14,5,6,23 +6,19,18,49 +22,17,3,5,6,21 +6 +4,6 +44,12,7 +22,5,6 +4,5,6 +50,4,6,16 +3,5,6 +6 +13,2,14,19 +36,35,25,5,29 +22,7,5,6 +14,6,42 +5 +6,28 +32,7,5,21 +38,22 +4,6 +7,14,5,6,16 +5 +22,5,16 +2,4,6 +7,4,43 +34,38,12,16 +50,2,7,14,5 +12,14,6 +25,6 +20,15,18 +51,44,20,3,6,15 +4,6 +6,28 +12,14,5,43 +4,6,42 +3,16 +26,5,19 +22,17 +40,20,7 +6 +3,14,5,6,23 +3,6 +6 +37,34,6 +3,4,6 +0 +44,22,3,5,6 +12,14,5 +12,22,4,6 +9,7,28 +50,20,5,6,49 +14,5,6 +6 +36,12 +13,2,21,42 +5,6,18 +7,6 +37,13,14,6,30 +37,13,17,5,6 +50,3,5,6,30 +13,25,5 +2,5 +25,5,6 +40,17,3 +6,21 +14 +7,6 +44,12,5,6 +39,5,6,19 +3,5,6 +41,20,5 +47,22,14 +45,40,2,4 +3,6 +3,6,18 +51,5,6 +25,14,5,6,21,8 +31,25,5 +40,27,17,4,14,6 +2,5,6 +4 +33,25,5,6,10 +7,6 +3,14,6 +3,14 +13,4,6 +21 +37,9,3 +51,37,17,6,42 +34,3,5,6,21 +47,5,6,28 +14,5,6 +34,6,28 +6 +3,4,14,42,29 +7,6 +5,21 +4,6,21,11 +37,12,25,14,5,6 +7,6,21 +12,25,23,8 +20,22,4,5,6,21 +22,6 +5,6,23 +3,6,21 +25,7,6,29 +41,3,6 +4,6,23,43 +3,6,16 +39,9,17,3,6 +6,21 +36,48,26,25,3,14,6 +12,14,6,16 +31,4,14,5,6,42 +13,6,46 +27,7,14,5 +27,14,6,21 +22,7,3,14,6,49 +3,4,6,43 +41,14,5,49 +16 +15 +14,6 +40,3,14,5,6 +5,30 +12,14,6 +5 +7,6 +20,14,6 +45,5,6,19 +2,4,5 +9,17 +6,16 +22,4 +34,6 +12,6 +40,17,7,5,6 +50,5,42 +39,20,6 +5,6 +36,2,4,14,6,10,46 +44,14,6 +6 +25,7,6,18 +22,17,5,6,15,46 +17,6 +13,22,4,5,6,30 +47,38,26,6 +4,5,6 +4,6 +2,3,5,6,28 +36,20,6,18 +5 +35,3 +6,10 +22,14,6 +6,46 +13,25,6 +12 +14,5 +45,40,4,5,6 +26,22,6 +31,6 +6 +4,14,6 +17,14,6,28 +25,14,6,15,29 +6 +17,14,6 +25,3,6 +3,6 +0 +45,17,5,6,15 +5,6 +38,21,10 +27,3,5,21,29 +3,6 +35,44,25,3,5 +14 +3,5 +12,17,14,6,16 +40,20,17,7,14,6 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +13,5 +7 +26,7,5 +2,25,17,4,5 +5,28 +20,46 +14,5,21 +51,9,5,6 +5,6,16 +14,5,6 +47,17,5,6,18 +24,25,4,6 +17,7,4,14,5,6 +3,6 +50,37,5,6,18 +6 +13,20,3,5,6 +9,17,6,21 +13,7,3,6 +6,16,18 +4,6 +38,4,6,42,18 +2,5,29 +14,5 +6 +12,7,4 +4,14,5,6,11 +31,19 +41,6 +33,14,5 +2,5,6,11 +3,6 +6,46 +4,14,6,21 +24,22,4,6,10 +6 +5,6,16 +42 +20,6,43 +22,7,14,16 +12,20,3,14,5,6 +6,28 +24,17,3,16 +50,20,17,14,6,42 +13,5,6 +37,25,4,6 +12,13,22,6 +12,22,14,6 +3,14 +36,6 +5,6,16 +38,13,20,3,5,6 +3,23 +0 +13,14,5,6 +35,3,6 +22,7,6 +25,4,6 +14,18 +7,6 +19 +22,3 +33,20,3,6,28,18 +14,6 +38,6 +33,3 +20,17,6 +3,14,5,42 +5,6 +5,28 +41,5,6 +17,7,6,21 +4,5,6,46 +25,14,5,6,15,30 +2,20,6,30 +17,14,6,19 +38,22,14,5,6 +22,3,6 +3,5,6,42 +25,3,5,6 +4,6,18,46,29 +34,36,4 +25,3 +34,5,6,10 +13,5,6,28 +9,26,5,6 +39,13,5,6,10 +21 +7,3,6 +6 +2,22,5,6,21 +33,12 +34,3,4,5,6,28,42 +14,5,6 +25,14,21 +13,7,3,8 +48,13,5,6 +50,6 +4,5,6 +25,17,7,3,5,6 +17,14,6,8 +25,20,3,4 +14,6,10 +6 +6,46 +32,34,4,6,29 +37,6,8 +3,14,6,23 +22,14,43 +25,6,21,19 +3,6,28 +45,6 +17,14,5 +3,6 +5,23,11,43 +20,4,6,11 +20,17,3,5 +26 +14,6 +5,6 +41,17,5,6 +17,14,5,6,49 +12,6 +32,27,14,5 +6,42 +26,14,5,6,19 +14 +17,3,14,5,6 +14,6,42 +2,25 +22,6 +6 +25,7,6 +39,9,6 +41,22,3,5 +22,6 +48,5,30 +7,30 +12,2,17,6 +48,2,6 +25 +27,14,5,6 +22,17,14,5,6,18 +35,13,22,7 +2,17,6,46 +49 +5,46 +5,6,18 +13,3,4,14,6,43 +5,6,18 +22 +14,6,11 +51,5 +5,6,49 +4,43 +26,14,16 +14,6,16 +25,20,7,14,6 +25,21 +3,14,5 +0 +3,4,6,28,10 +51,4,14 +48,6,16 +20,6 +2,5,6 +40,4,5,6 +16 +9,7,6,16 +39,3 +5 +6,21 +40,6 +5,6,10,46 +13,2,3,5,6 +17,3 +20,5 +3,5,6 +17,6 +4,42 +5,15 +50,6,8 +14,6 +4,5,6 +7,6 +3,5,6 +25,6,29,30 +37,27,6 +20,7,14,6,28,10 +12,5,43 +17,7,14,6 +3,14,5,6 +26,2 +50,17,3,5,6,29 +34,22,4,6,18 +34,12,14,6,19 +4,6,10,23 +25,22,6,19,49 +36,6 +12,14,5 +25,3,14,5 +22,17,4,5 +22,4,14,5,6 +45,12,6,21,8 +22 +6 +48,2,17,6 +7,6,11 +18 +33,5,6 +48,7,4,5,6,15,46 +20,5 +12,5,6,29 +4,5 +48,4,14,6 +17,7,6 +20,7,4,5,49 +39,7,6,11 +14,6 +7,3,4,5,6,15 +7,5,6 +40,35,14,5,6 +13,5,6 +0 +32,14,5,6,18 +5,6,46 +7,3,14,6,16 +13,5,6 +14,5,6 +17,3,5,6 +25,7,6,46,43,49 +5 +12,10 +5,6 +37,48,6,46 +50,7,3 +4,5,6 +7,5,6 +5,6,18 +20,4,6 +6 +14,5,6 +25,4,14 +20,7,14,6 +35,6 +13,20,5 +17,4 +36,25,7,6 +33,3,4,5,6 +17,5,21,43 +14,6,21 +41,14,21 +33,3,6,15,29 +40,47 +5,6 +33,26,7,4,6,18 +3,4 +38,6 +6,15 +3 +35,7,4,6 +17,14 +20,4,6 +14,6,21 +24,50,2,17,6 +4,5,16,8 +6,21,18 +14,6,21 +24,47,13,14,6,19 +20,6,11,43,49 +5,6,10,16 +13,5,15,49 +47,2,7,3,28,15,30 +25,4 +21,8 +2,22,14,6 +6 +4,5,6 +45,37,5,46 +0 +45,4,5,6,15,8 +13,5,6,46 +39,44,22 +5 +20,3,14,6 +5 +25,14,6,15,29 +5 +22,7,6 +6 +31,17,5,6,10 +6 +0 +17,7,5 +32,6,42,46,49 +0 +5,6 +2,5,6 +17 +44,2,17,5,6,16 +47,14,6,21,16 +5,6,46 +14,6 +4,6 +20,22,3,14,6 +2,17,6,21 +6 +4,14,6,42 +3,6,18 +4,5,6 +27,22,6,28 +32,6 +24,38,14,6 +39,2,5,19 +17 +31,14,6,19 +5,43 +40,20,14 +6,28,23 +36,6,21,46 +37,4,6,28 +12,2,20,3,5,6 +40,4,6,46 +0 +9,17,6,28,11 +2,25,6,15 +25,17,7,3,4,18 +51,27,2,5,6 +33,5,6,15,11 +2,7,8 +17,5,6,23 +32,13,6 +4,29 +20,6 +12,5,6,28 +2,22,14,5,6 +4,5,6 +51,3,14,6,18,43 +39,20,5,6 +25,7,3,4,6 +3,5,6 +3,5,6,19,30 +7,5,6,11 +6 +7,14,6 +22,14,28 +24,49 +14 +6 +5,6,15 +25,7,6 +44,22,14,6 +14,5,30 +12,6 +22,17,14,5,6 +36,20,5,6 +0 +27,13,6 +12,13,17,5,6,10 +50,14,5,6 +13,14 +17,4,6 +5,6 +25,20,7,28,19 +27,2,4,18 +36,12,14,49 +14,6 +32,14,6,21 +5,6 +40,32,4,5,16 +40,5,6,21 +16 +5,6,10 +50,49 +5,6 +9,14,5,46 +7,3,6 +26,6,19,16 +4,14,5 +4,6 +14,5 +17,14 +13,20,3,6 +26,5,6 +4,5,6 +14,5,6 +17,4,6,43 +12,6,28 +48,3,14 +47,17,14,5,6 +25,3,5,6,49 +41,6,19 +7,6 +4,14,6 +27,17,5,28 +7,6 +35,22,7,5 +3,6,10 +4 +14 +13,6,18 +41 +6 +25,22,14,5,6,28 +34,26,7,6 +14,5 +34,6 +5,6 +38,26,2,14,6 +13,7,6 +17,6,28 +13,17 +0 +40,25,5,28 +44,4,6,10 +5,6 +41,7,4,6,8 +4,11,49 +13,22,7,6,30 +6,8 +4,5,6 +6 +50,14,5,6 +22,5,29 +37,33,4,5 +44,6 +22,6,28,30 +27,7,16 +17,4,14,5 +2,5,6,16 +7,14,5,6 +17,4,6 +5,6 +2,25 +25,20,5 +14,6,19 +3,6 +13,7,5,6 +5,49 +36,3,6,21 +20,4,5,6,28 +9,27,6 +45,19 +17,3,6 +6 +45,33,22,5,6 +6,19 +3,6,15 +2,3,6 +12,20,17,14,5 +22,7,5,6,42 +48,7,5,6,28 +6,29 +38,2,7,6 +26,5,6,18,46 +6 +6 +34,17,6 +17,7,6 +32,36,25,22 +3,6 +36 +47,41,5,6 +27,22,14,6,23,30 +22,14,5,6,21 +20,23 +0 +14,6,15 +5 +20,5,6,16 +40,17,14,5,42 +37,27,14,6,23 +5,6 +2,5,6 +12,2,5,6 +6,16 +22,17,6,29 +37,22,14,6,29 +25,6 +47,5,6 +4,5,6 +6,19,23,49 +20,17,14,6,8 +25,4,5,6 +3,14,6,42,46 +50,3,5,6,29 +5 +25,14,6 +38,5,6,28,18,23 +14,6,49 +4,6 +22,7,5,19 +17,3,28 +6,21 +27,2,17,6 +25,7,3,21,46 +7,6 +6,49 +6 +22,6 +35,4,14,6 +20,14,5,6,21,46 +7,6 +6 +24,6 +4,5,6 +14,6,15,30 +22,6,10 +2,4,6 +7,14,5,6,15 +22,6,19 +14 +6 +5,6 +45,32,5 +14,6,43 +6,46 +17,4,5,6,11 +35,14,6,21,16 +13,7,19,8 +20,6 +20,6 +6,23 +13,6 +0 +4,14,6 +12,20,3,5 +26,6 +6,28 +2,6 +5 +6 +44,7,6 +6,49 +12,20,11 +39,25,6,15 +4,5 +25,5,6 +6,10 +3,6,21,8 +7,4,5,6 +4,5 +41,22,6,16 +38,7,3,6 +4,5,6,28 +20,6 +51 +7,4,5,6 +24 +37,25,20,5,6 +45,27,3,4,6 +28 +12,5 +6,29 +9,4,6 +12,22,6 +7,6 +5,6,15 +13,6,29 +32 +20,3,5,6 +34,2,4,5,6,42 +6,23 +5,6,15 +14,5,6 +3,11 +4,6,28 +32,14,21 +48,5,6,30 +14,6 +12,14,6 +6 +40,35,14,5,6 +2 +20,3,6 +24,12,20,14,6 +4,6 +14,6,15 +9,36,7,14,6,42 +7,3,14,6 +14,30 +6,42 +5 +35,20,17,14,6,23,11 +3 +20,7 +27,6,18 +5,6 +32,15 +2,3,4,6,15 +33,22,3,14,5,6 +40,20,22,17,4,14,6,29 +45,14,5,6 +40,6 +34,27,12,6 +14,5,6,16 +27,22,7,4 +6,30 +6 +9,33,14,21,23,29 +12,25,17,6 +6 +13 +38,13,25,14 +22,6,42,23,11 +25,6 +14,5,6,16 +6 +0 +25,6,11 +48,7,6 +33,3,43 +20,6 +7,5,6 +7,6 +3,14,5,6 +4,6,28 +3,11 +35,25,17 +38,6 +22,17,3,6 +22,3,14,6 +2,6,19 +41,22,17,3,4,14,6 +3,5,6,8 +6,15 +5,6,23 +20 +25,3,6,15,8 +44,14,5 +23,30 +27,25,4,5,6 +38,14,5,6 +3 +7,3,14,6 +7,3,14 +2,7,14,6 +41,13,6 +9,44,7,5,6 +20,4,14 +6 +0 +20,22,4,6 +17,14,5,6 +14 +24,5,6,23,46 +22,5 +17,14,6,28 +2,6 +34,5,6,28 +12,6,10 +22,17 +22,14,6,15 +27,22,5 +22,7,3,5,6,21 +22,5,6,10 +48,5,6 +5 +38,6,42,23 +7,14 +5,6 +3,5,30 +5,6 +14,5,6,49 +2,14,5,6 +47,14,5,6 +17,6 +16,49 +2,14,6 +7,4,14,6,15,16 +5,6 +25,17,4,14,5,6 +13,17,14,6 +14,5,6,28,16 +5,6 +3,6,46,49 +4,5 +22,14 +4,14,6 +17,3,6 +6,28 +17,14,6 +12,5 +3,14,5,6 +13 +41,22,14 +13,5 +27,5,6 +12,17,6,46 +27,12,14,19,29 +41,5,8 +35,41,3,6 +13,17,3,14 +37,38,12,2,25,14,5,6 +17,6 +4,6 +5,6,28,18 +2,5 +6 +25 +3,42 +7,14,5,21 +17,4,6 +34,14,6,18 +3,5,6,16,18,46 +25,3,6,23 +37,26,12,17,4,5,6 +2,4,5,6 +4,6 +7,14 +14,6 +45,2,14,28 +6 +12,7,15,19 +2 +33,6 +14,5,6 +48,3,6,30 +6 +17,4,6,23 +9,5,6,10 +14,5,6,8 +6 +3,21 +25,17,3,6 +5,6 +24,26,12,25,6,30 +33,25,20,3,4,19 +17,5,8 +14,15,43 +25,17,14,6 +14,5,6 +33,3,6,28,23 +38,6,11 +14,6,16 +4,6,42 +24,35,6 +20,14,28 +17,14 +15 +7,4,6 +50,13,25,4,5 +12,14,5 +17,8 +13,4,14,5,6 +4,5,6,49 +21,10,30 +14,6 +6 +0 +32,13,7 +6 +17,4,6 +24,14,6 +51,13,7,14,5,6 +3,6,42,29 +22,17,5 +7,5,6,43 +6 +6 +51,12,13,14,6 +17,3,4,5,6 +48,14,6 +3,14,6,42 +5,18 +33,22,7,4,5,21 +6 +17,6,28 +0 +44,6,21 +6 +24,4,14,5,16,8 +14,6 +35,17,6 +14,28 +2,6 +39,13,25,4,6,46,30 +17,5 +6,11 +2,14,6,11 +6,28 +13 +14,6 +47,33,25,20,4,5,6 +32,4,6,11 +45,33,5 +17,14,18,49 +12,14,5,6,19,49 +0 +12,3 +6 +3,14,6 +22,7,6,10 +4,6 +25,7,14,6 +50,40,3,6 +4,6 +20,4,14 +5,6 +14,6 +51,4,14,5,6 +6,46 +4,6 +6,28,10 +44,25,6,19 +4,5 +3,6,21,18,49 +2,5,6 +47,27,14 +27,20,4,14,5,6,42 +6,21 +14,5,6 +20,5 +5,6,10 +6,10 +6,28 +40,32,5,6,15 +24,7,14,6 +9,3,6 +3,6,16,23 +17,7,14,49 +17,6,15 +7,4 +9,34,7,6 +35,12,4,14,6,42 +27,12,17,4,6 +20,7,3,14,5,6 +12,7,6,15,11 +26,3,4,14,5,28 +3,5,6,15 +22,6,10 +38,44,4,5,6 +0 +13,4,30 +14,5,6 +26,22,4,14,6,11 +14,5,6 +6,30 +26,20,5 +51,5,23 +25,22,14,5,6,10,29 +12,6,28,16 +7,4,5,28 +48 +6 +41,2,7,14 +4,14 +12,7,5,6,15,29 +50,40,25,14,5,6,15,18,8 +3,14,21,18,23 +25,7,4,5,6 +40,25,4,5,6,19,30 +5,6,29 +13,25,7,21 +4,14,6 +42 +5,6 +33 +22,3,5,6,15,16,11 +45,6 +14,6 +16 +0 +27,2,14,6 +6,18 +51,7,4,28 +6 +7,6,21,42,8 +14 +20,5,6,18 +22,3,6,23 +13,22,6,46 +35,20,6 +6,21,23 +2,25,20,7,5,6 +22,5 +40,2,25,6 +45,47 +20,17,5,6,19 +30 +32,17,4,14,5,6 +38,6,11 +7,6 +2,17,4,5 +14,5,6 +13,5,6 +2,3,5,6,21 +25,14,6 +20,3,5,6 +14,5,6,11 +14,6 +39,6 +6,18,49 +12 +13,5,6,8 +25,20,4,14,6,10,30 +13,6,15,23 +7,14,43 +22,4,6 +26,25,7,3 +6 +51,14,6 +42 +6 +33,17,6,28 +24,12,7,4,5,6,21,15,29 +20 +25,23,8 +7,5,6,42 +34,6 +13,3,6,11 +5,6 +25,14,5,6,28,49 +25,3,6 +17,14,5,21 +32,5 +4,6,28,19 +22,14,5 +47,3,28 +13,17,6 +35,20,5 +33,7,6,15 +9,46 +3,5,21,8 +5,6 +12,14,6 +5,6,21,43 +5,6 +7,6 +5,6,21,8 +6 +17,7,5,6 +22,3,5,6,11 +14,6,21 +26,6 +44,5,6 +5,42 +13,2,21 +7,4,5,6,49 +24,4,6 +12,6 +37,4,5,6 +14,6 +3,6,15 +14,18,23 +2,19,8 +5,6,19 +5,28 +6,42 +26,3,4,14,6 +35,7,4,6,28 +32,25,17,4,14,6,19,8 +32,6 +33,17,7,3,14,5,6 +9,17,7,5,6,46 +12,4,14,6 +6,49 +22,5,6 +34,7,14,5,6 +14 +14,5,6 +6,28 +5 +6 +14,6,19 +34,38,22,4,14,6 +33,2,3 +39,50,37,4,6,23 +45,14,8 +5,6 +3,5,6,46 +0 +5 +6,8 +33,20,7,4,5 +40,22,6,16,18 +7,3 +6,49 +14,5,6,21,28 +3,4,5,21 +3,5,6 +0 +13,14,5,6,10 +25,17,7,3,6,29 +34,6 +6 +39 +4,5,6 +3,6,49 +25,4,6 +6,42 +4,5,6 +7,4,14,5,6 +4,5,29 +4,14,6 +17,6,19 +14 +10 +7,16,23 +17,5,6,21 +2,14,6 +5,6 +32,4,5,6,19,42 +17,5 +5,6 +25,5 +5,6 +13,6 +17,14,6 +44,26,12,5,6 +13,22,5,6 +6,23,49 +51,50,13,25,7 +34,22,4,6,49 +47,6,28 +22,5 +5,6 +38,12,25,4,14,6 +13,17,6 +38,26,14,5,6 +2,6,10 +4,5 +13,7,3,6 +25,20,7,14,6,43 +22,5,6 +5,6 +6,19 +6 +17,14,5,6 +6,15,29 +22,6,16 +6,15 +34,13,7 +20,14,5,6,15 +35,14,6 +24,14,5,6 +7,6 +13,3,5,6 +27,4,5,6 +3,6,23 +3 +6,16 +4,6 +33,7,14,5,28 +5,6 +2 +6 +22,17,5,6 +12,20,7,4,6 +17,6,16 +6 +25,4,6 +13,7,6,11 +5,49 +33,6 +38,6 +2 +2,25,4,14,6,28 +32,20,4,5 +32,6 +33,7,3,6 +39,6,10 +12,2,4,6 +3,5 +2,14,6 +20,14,6,15 +5,19 +27,6,16 +20,17,6 +0 +14,5,6 +14,6 +17,5,6 +5,6,10,43 +7,42 +20,4,6 +17,7,5,28 +35,49 +35,2,5 +5,6,19 +12,5,21 +0 +5,6 +20,5,6,29 +4,14,5,6 +44,20,5,43 +33,12,20,4,14,6,8,49 +5,6 +24,25,5,6 +25,3,4,5,6,42,23 +3,4,5,28 +6 +14,6 +14,6 +12,7,4 +34,20,6,19,23 +2,22,4 +13,5,6,16 +14 +14,5,10 +29 +7,14 +17,14,5,6 +25,6,49 +12,13,6,28,23 +4,6,15 +6 +40,12,14 +6 +26,6,46 +38,22,14,5,6 +44,17,14,6 +25,17,4,6 +14,5,6,19 +40,20,17,4,16 +17,7 +44,4,6 +34,5,6 +12,20,4,6,8 +6 +4,14,5,6,19,16 +32,2,4,6,19 +2,7,5,46 +39 +14,6,15 +5 +27,3,6,15 +14 +2,6,23 +6,21 +45,5 +6,8 +4 +5,6 +4,5,6,21 +2,14,6,15 +2,22,17,4,14,6 +14,6 +25,20,6 +14,5,6 +17 +40,6 +6,10 +7,6 +2,17,6 +22,6 +40,3,5,6 +0 +45,24,4,6 +6 +7,5,6 +7,5,6,21,15 +49 +2,5,6,10,43 +43 +47,3,6 +20,4,6,21 +3,6 +47,2,25,20,17,6,29 +2,3 +2,17,6 +40,34,6,23 +13,6,11 +17,14,5,6 +35,2,6 +22,14,5,19 +26,7 +7,6,16 +25,4,14 +17,7 +5,6 +50,27,6,21 +13,20,14,6 +39,5,6,8 +3,5,6 +25,4,14,5,6 +12,3,4,5,6 +12,6 +7,6 +6 +13,3,6 +5,6 +14,6,11 +5,6 +14,6,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +25,3,6 +27,7,3,6 +5,6,15 +12,17,7,4,5,6,8 +7,4 +12,17,4,6 +13,4 +14,6 +45,3,14,5,6 +45,32,13,14,16,49 +25,4,14,6 +6,16,43 +12,25,6,19 +4,6 +2,5,6,19 +12,25,5,6 +6 +3,6 +5,6,15 +20 +27,7,6 +2,5 +6 +13,5,6 +22,6,43 +13,7,6 +40,12,4,6 +6 +14,5,6 +2,17,6 +5 +17,6 +5 +7,3 +6 +13,20,22,14,6,8 +14,6,10 +47,22,6 +3,4,6 +5 +20,3,6 +22,6 +13,2,17,4,5,6 +13,5,6 +7,6 +34,3,14,5,6,28 +7,6 +20,7,4,5,6,8 +6,19,46 +6,23 +22,14,5,6,8 +6 +6,43 +40,25,6 +4 +20,3,5,6 +14,15,42 +13,6 +45,38,22,3,14,42 +33,22,5,6 +6 +25,6 +5 +14,6 +44,5,6,28 +5 +0 +6,28 +6 +20,6 +39,5,6 +6 +14,6,19 +5,6,11 +6 +6,15 +32,13,20,4,10 +14,8 +8 +13,22,17,11,43 +33,6 +3,5,6 +14,5,6,28 +35,6 +14,6 +27,10 +4,5,23 +20,7,6,23 +6 +5,6 +6 +17,6,8 +5,6 +39 +13,8 +14 +12 +5 +25,14,6 +13,5 +35,6 +47,3,4,6 +35,6 +20,4,14,28 +20,6,42 +45,17,14,5,6 +5 +33,26,4,6 +47,5,6 +50,35,20,6 +17,5,6,8 +12,4,6 +0 +17,5,6 +6 +44,14,6 +12,20,3,14 +22,6 +6,19 +5,6,43 +3,5,10,16 +6 +20,7,4,5,6 +27,14,6 +4,5 +20,3,6 +12,6,19 +3,4 +0 +26,3,14,5,42 +22,4,6 +4,5,6 +14 +7,6 +7,6 +13,17,6 +5 +0 +6 +14,6 +50,26,22,3,5,6 +26,3,6 +5 +5,6 +6 +3,4,6 +50,17,6,28 +6 +13,4,6,11 +4,6 +6 +5 +14,6 +24,14,6 +3,5,6 +5 +14,5,6 +20,5 +20,6 +12 +12,4,14,6 +20,4,6 +35,42 +6 +39,14,6,16 +45,13,17,7,6 +45,47,7,4,14,5,6,28 +50 +6 +12,5,6 +12,6,15 +6 +0 +12,7,5,6,15 +3,4,14,5,28,23 +12,6 +4,15 +34,4 +6 +20,6,19 +14,6,10 +39,17,6 +0 +3,5 +24,6 +3,14,6 +33 +33,4,6 +7,4,19 +3,4,14,6 +24,6 +12,7,14,5,6 +14,6 +20,6 +7,4,5 +13,17 +6 +20,3,14,5,6,15 +12,5,6 +6 +5,6 +6 +12,4,6 +44,5 +6 +5 +44,3,6 +4 +4,6 +7,3,14,6 +14,5,6 +5 +5,6 +3,5,6,15 +5,6,11 +13,6 +50,6 +39,17,7,6 +6 +5 +26,14,5 +6 +5 +7,14 +39,7,6 +6 +17,4,6 +47,17,7,6,28,23 +17,14,5,6 +17,14,6 +5,15 +3,4,14,6 +0 +17,14,6 +35,26,20,4,5,6 +5,6 +14,42,23 +3,6 +42,8 +3,6 +14,6 +3,4,6,10 +5,6 +14,5,6 +50,26,5,28 +33,4,6 +5,6 +14,6 +6 +4,14,6 +14,6,10,8 +4,6 +26,5,6,42,43 +24,14 +45,6 +14,6,15 +38,6,19 +26,5,6 +0 +20,4 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +35,5 +4 +5,23 +14,5 +5 +20,28,19 +4,28,42,23,8 +14 +0 +33,5 +4,14,23 +33,19,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +14,5 +4,5,11 +4,19 +4,23 +14 +13,5,42 +13,5 +0 +14,28 +4 +0 +14,10,11 +33 +50,44,14,5 +14,28,15,8 +4,42,11 diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_labels_to_medoids.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_labels_to_medoids.txt new file mode 100644 index 0000000..5ec4132 --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_labels_to_medoids.txt @@ -0,0 +1,50 @@ +35, 2793 +30, 9332 +9, 1125 +48, 2440 +12, 127 +11, 5189 +32, 3470 +50, 3 +2, 5199 +17, 5525 +26, 6119 +45, 1710 +16, 2034 +49, 2684 +13, 8147 +5, 6358 +43, 4667 +51, 8013 +7, 8339 +8, 3272 +28, 7331 +4, 5464 +40, 9141 +18, 4645 +10, 101 +27, 1657 +42, 5100 +44, 6292 +37, 3605 +29, 363 +41, 491 +20, 9974 +21, 2968 +39, 4682 +14, 9136 +22, 558 +34, 6421 +23, 8013 +19, 764 +24, 4042 +31, 7431 +6, 5730 +36, 7108 +46, 8795 +25, 6201 +47, 8800 +15, 3323 +33, 9977 +38, 7458 +3, 3198 diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_universal_label.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_universal_label.txt new file mode 100644 index 0000000..573541a --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_full_universal_label.txt @@ -0,0 +1 @@ +0 diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_label_formatted.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_label_formatted.txt new file mode 100644 index 0000000..0d9f6fb --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_label_formatted.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +7,6,8 +0 +6 +9,4,6,10,11 +6 +6 +12,4 +6,8 +13,3,14,5,15,16 +17,5,6,18 +5,6,19 +20,17,14,6,21 +12,2 +13 +22,6 +10 +17,6,10 +5,6,23,11 +6 +24,25,6 +6 +24,26,7,4 +27,3,14,21 +3,14,6,23 +14,6,28,15 +14,5,6,29,30 +31,2,7 +32,25,6 +33,5,6,19,8 +6,11 +17,4,14,15,10 +34,13,6 +35,13,17,6,15 +36,3,4,14,8 +3,5,6,21 +7,4,6 +33,2,5 +37,14,6,16 +38,5 +14,6,10 +7,3,14,5 +28 +39,6 +2,3 +7,5,6,29 +6,8 +35,26 +5 +6,21 +40,13,7,14,5,6 +14,6 +41,5,6 +34,13,3,6 +22,5,6 +3,4,5,6,29 +3,5,6 +6,28 +25,3,4,6 +6,21 +37,14,6 +34,4,6 +22,5,6,15 +4,6,28 +17,5,6,42,29 +6,43 +26,6,11 +25,7,3,6 +44,5,6 +38,7 +45,13,6 +40,2,5,6,21 +6 +40,41,4,14,6 +10 +7,5,6,23 +31,20,14,6 +44,12,6 +45,17,7,5,6 +12,6,18 +6,11 +20,7,46 +3 +2,17,6 +31,47,46 +26,2,5 +0 +4,14,5,6,42 +37,27,48,41,4,5,6,11 +2,3,4,6 +14,5 +17,5,6,28 +2,5,6 +20,4,5,6 +12,20,49 +7,6 +14,6,19 +22,3,6 +37,30 +6,16,42 +2,4,6,10 +17,6 +14 +4,5,10 +6,10 +17,3,6,16 +50,4,5,6 +4 +50 +35,14,21 +14,6 +2,4,16 +22,5,15 +17,6 +6,8,43 +6,29 +24,25,17,14,6,11 +12,14,6,15,18 +22,14,10 +25,7,14,6 +49 +6 +32,25,3,5,6 +4,21,18 +4,6 +6 +0 +31,32,36,6 +26,6 +22,5,6,19,30 +20,3,5,43 +34,6 +5,19 +22,5,6 +3 +25,4,6 +25,7,5,6 +12,6 +13,17,5,6,19,10,42,18 +3,8 +37,17,7,28,46 +6,21 +6,46 +5,6,46 +5,6 +47,2,20,7,6,28,19 +41,6 +3,5,6 +12,5 +44,6 +3,29 +2,4,6,15 +35,14,5,6,16 +48,6 +5,6,15 +4,14,6 +25,22,14,6 +33,14 +39,31,32,3,6 +25,6 +13,5 +5,6 +6,21,15 +0 +39,14,6,15 +36,13,3,6,21,11 +33,3 +48,25,5,6,29 +20,17,4,6 +3,4,5,6 +5,6 +2,17,3,5,6,16 +6 +13,4,5 +36,38,5,6 +2,6 +9,14,5,6 +3,14,6,11 +6 +24,5,6 +38,48,12,5,6 +24,4,6 +6,23,8 +22,3,5,6 +41,26,17,5,6 +41,13,14,16 +6 +6,49 +34,3,4,6,21 +2,17,6,18 +5,6,28 +26,6 +17,4,6,16 +7,4,5,28,8 +38,6,16,8 +31,25,3,5,6 +25,22,7,3,4,14,5,6 +37,14,6 +14,5,6 +13,20,7,6 +25,4,5,6 +7 +25,5,6 +5,46 +44,5,6 +12,4,5,6,21,19 +20,6 +4,6 +26,20,17,14,5,6 +4,6 +22,3,14 +4,6 +6 +17,14,5,6 +38,22,6 +39,14,6 +47,12,6,15 +12,22,5,6,42 +20,5,6 +4,6,15,8 +22,3,4,6,28 +9,6,28 +25,14,6 +22,6,11 +7,6,30 +7,5 +6 +34,7 +7,14,5,6 +37,3,6 +7,14,46 +5 +7,5,6 +50,2,7,6,8 +25,22,6 +7,14,6,42 +17,14,6 +5,6 +50,4,5,6 +36,13,4,14,6 +22,7,5,6,15,16 +14,6,30 +6 +5,6 +12,3,5,6 +5,6 +17,6 +12,25,14,5,6 +3,5,6,28 +3,6 +20,5,6,23 +27,4,6 +40,4,6 +12,3,6,18 +28 +5 +17 +7,14,5,6 +3,4,5,6 +14,5,6 +4,6,49 +17,7,5,6,18 +9,6 +5,21 +17,7,5,42 +0 +40,34,7,4,5,6 +35,3,14 +3,4,5,6,21 +6,11 +14,6 +38,20,6 +25,20,17,5 +13,5,6,15 +14,5,6 +37,12,14,6 +6 +16 +28,18,23 +51,47,5,6 +6 +0 +25,3,6 +2,20,4,6,10 +44,12,6,10 +6 +13,5 +40,22,5,18 +5 +37,2,3,19 +47,48,22,4,5,6 +22,6,21 +6 +5,6 +6 +7,6,15,18 +7,5,6 +0 +17,3,6,15 +7,14,6,21 +17,7,5,23 +22,4,5,29 +25,5,6,15 +2,14,6,49 +10 +44,3,14,6 +25,17 +9,38,7,6 +6 +4,5,6,11 +35,14,5,6 +4,5,6 +32,7,6 +40,6 +2,25,6 +17,4,6 +2,17,6,21,28 +44,17,4 +34,6,46 +35,22,17 +7,6 +26,2,5,6 +14,5,6 +48,4,6,10 +20,4,5,15 +4,6 +47,44,22 +3 +0 +4,6,43 +50,14,6 +33,25,5,6 +5,6,15,18,29 +48,44,25,4,5,6,46 +14,5,6,11 +20,5,19 +5,6,11 +2,21 +39,32,22,6 +4,6 +45,36,12,13,14,5 +44,13,17,4,6,23 +14,5,6,15 +34,6 +22,14 +21,10 +7,5,42 +20,6,42 +2,7,4 +35,6,29 +14,6 +5,6 +51,38,2,23,29 +50,7,6 +17,4,14,6,42 +12 +4 +26,5,6 +17 +13,3,6 +36,22,7,6,28 +14,6,28,16 +14,5,6,10,29 +25,5,6 +38,12,14,5,10 +37,7,3,14,6,42 +2 +14,6,23 +5,6,21,30 +48,20,5,6 +35,7,6 +45,20,14,6 +25,5,6 +6 +36,17 +3,14,5,6 +5,6 +13,5,16 +4,14 +6 +6,18 +20,5,6,23 +6,16 +48,12,5,6 +34,5 +4,5,6 +6 +7,6,28,18,8 +17 +14,6,30 +6,46 +12,14,6 +4,5 +40,13,14,6 +17,5,16,29 +25,3,6,15 +48,15,18 +44,13,6,15 +27,5 +41,4,5,15 +6,18 +34,4,5,6,16 +6 +22 +14,6 +2,7,3,4,6 +27,4,14,6 +20,10 +2,14,5,6,42,49 +19 +36,6,18,29 +14,5,42 +13,4,6,16 +14,5,6 +24,35,3,14,5,6,15,46,30,43 +31,3,5,6 +7 +33,25,14,6,19 +6,42,30 +3,4,6 +22,14,6 +5,15 +2,5,6 +8 +32,14,5,43 +17,4,5,6,15 +25,4,6 +6 +9,3,5 +26,17,14,5,6 +37,12,17,4,42,49 +12 +36,17,3,6 +13,5,6,49 +35,2,6 +22,3 +2,5,6 +31,2,6 +22,17,14,21,30 +14,6 +14,5,6 +47,20,22,3 +3,4,6 +37,6,46 +41,4,14,5,6,15 +6,16 +14,6 +20,4 +3,8 +5,6 +3,14,6 +5,10 +2,6 +4,14 +32,48,33,4 +6,29 +25,6,10,46 +4,6 +47,3,14,5,6,16,46 +36,12,6,8 +39,25,4,18,43 +6,28,19,46 +0 +14,19 +41,5,21,15 +7,3,4,5,6 +2,6 +22,4,14,5,6 +7,3,4,6 +3,6 +6,8 +17,14,5,6 +7,6 +14,43 +26,6,18 +6,19 +50,41,2,5,6 +25,20,7,3,5,6,23 +3,6,18 +0 +0 +7,5,28,42 +51,14,6,28 +3,4 +6 +34,3,5,6,29 +22,3,14,5,6 +6 +34,5,6 +26,14,6 +0 +27,25,4,14,6,28 +5,6,19 +7,4,14,6 +3,6 +6 +14,6,10 +39,37,17,14,6 +31,13,17,3,6,19 +22,14,21,46 +17,7,4,14,5,6,15 +25,6 +17,4,5,8 +22,17,6,8 +14,6 +6 +34,2,17,5,6 +45,26,4,5,18 +34,6 +26,17,4,6 +3,4 +12,4,14,6 +12,4,14,5 +13,25,20,3,4 +14,6,10 +50,6 +41,6 +5,28,11 +17,14,6,46 +48,17 +17,6 +3,14,6 +14,5,6,18 +14,5,6,16 +14,5,49 +37,7,14,6 +20,6 +14,6 +14 +0 +2,22,3,14,5 +25,4,6 +40,22,14 +7,5,6,11 +26,20,4 +7,14,5,6 +0 +34,20,6 +44,14,6,16,49 +40,14,5,6 +14,6 +2,6,10 +3,6,28,49 +5,6 +15 +5 +47,36,2,6 +3,6,42 +26,5,6,18 +0 +38 +6 +0 +3,4,6 +22,6,11 +6,10 +40,27,13,5,6 +0 +17,6 +14,6,28 +34,13,5 +14,43 +37,17,6 +47,4,5,6,10 +6 +44,6,8 +36,7,6,15,10 +45,47,14,23 +34,27,5,6 +25,7,6 +13,7,5,6 +14,6,42 +5,6,28,23 +14,5 +38,22,6 +37,4,6 +12,6 +4,6,46,49 +40,6 +32,22,3,6,43 +6,28 +40 +2,7,6 +22,5 +25,3,6,49 +47,17,10 +3,14,6 +2,6 +7,43 +5,6 +13,22,6 +39,36,12,14,6 +2,5,6,30 +7,5,6,15 +3 +27,7,3,4,14,6,8,11 +7,4,5,6 +9,44,6,11 +3 +22,7,6 +22,6 +25,4,6 +13,6,18 +23 +22,6 +12,17,5,6,8 +27,5 +4 +2,20,4 +6 +25,22,5,6,15 +24,25,6,18 +20,6,29 +7 +13,7,14,5,6 +37,17,10,8 +6 +6,8 +3,14,6 +6,16 +12,13,25,22,14,6 +20,4,5,6 +50,37,7,5,11 +0 +13,14,6,29 +22,6,16,18,8 +14,5,6,10 +35,4 +20,14,6 +14,21 +50,17,5,6,21 +48,4,6,21 +17,4,6 +5,6 +26,13,4,5,6 +22,4,5,6 +44,12,5,15,43 +13,5,6,16 +44,14,6,21,28,10,49 +34,22,3,5,6 +17,5,6,42 +13,7,14,5,6 +6,23 +2,22,7,28 +41,15,49 +47,2,17,3,14,5,46 +40,6 +3,4,5,6 +50,35,2,6 +36,7,14,6,42 +36,38,22,4,14,6,18 +35,14,5,6 +9,20,7,4,14,6,11 +17,5,6 +5,6 +48,6 +35,17,7,5,6,21 +2 +2,7,6 +12,22 +7,14,5,6,19 +22,14,6,16 +35,25,17,4,6 +22,4,5,6,11 +20,17,6 +6 +20,5,6 +13,25,3,6 +17,14,5,28,30 +25,3 +5,6,29 +17,3,4,6,30 +14,5,6,46 +14,5 +31,14,5,6,18 +3,4,6,18 +7,5,6 +0 +7,5,6,46,30 +17 +5,6,10 +7,6 +4,14,5,6,46 +12,14,5,6 +0 +5,6,10 +12,6,21,23,49 +48,2,17,3,10,8 +3 +36,2,5,6,49 +7,14,6,10 +24,44,4,6 +6 +5,6 +27,4,6,23 +7,3,6 +2,6,29 +3,14,5,6,28 +7,5,6 +5,6 +14,6 +26,14,5 +6 +34,5,6 +5 +51,6 +5,6 +6 +48,13,3 +12,7,3,14,6 +45,7,6,46 +6 +14,5,6,21 +31,37,7,6,21,8 +20,6 +17,6,15 +13,3,15 +50,48,4,14,6,16,46 +2,7 +22,6 +34,35,17,3,14,6,15 +6,15 +39,3,14,5,6 +7,14,6 +14,5,6 +0 +26,6 +25,17,6,8 +44,17,3,4,14,5,6 +17,14,6,16,18 +17,7,3,5,42 +14,5,6 +3,6 +47,9,4,6 +33,22,7,4,6 +6 +45,20,17,4 +7,3,6 +13,2,20 +35,44,6 +36,4,14,6 +22,17,7,14,6 +20,5,19 +14,6 +20,6 +20,3,5,6,42 +7,3,4,5,6 +17,3,5,6 +9,20,7,5 +22,5,6 +35,20,5,6 +40,9,12,5,6 +27,4,6,19 +14,6,28,30 +25,4,6,46 +2,6 +14,6 +20,14,46 +20,6 +20,7,6,28 +13,25,6 +4 +36,6,46 +25,14,6,19,18 +14,6 +44,7,6 +51,4,5,28 +4,6,42 +22,6,28 +15 +17,6,28 +12,2,5,6 +5,6,28 +14,10 +22,5,6 +25,22,17,5,6,21 +2,22,5,8 +33,12,17,6,19 +4,6,16 +6,15,18 +7,5 +13,6 +25,17,6 +2 +3,6,16,46 +12 +32,44,6 +14,5,6,18,23 +31,20,6,8,43 +51,45,3,5 +4,6,23,8 +14,5,6,18,43 +13,21 +3,6 +15 +37,22,17,14,6,30 +6 +6 +41,7,3,5,6 +25,6,15 +12,7,6 +9,13,5,6,16 +7,6,21,29,49 +22,4 +12,13,6,28 +2,3,6,21 +22 +27,3,6 +40,6 +5,6 +22,5,16 +39,4,14,5,6,21,28 +39,20,17,4,6 +6 +3,16 +13,22,4,6,11 +6 +33,2,5 +2,4,14,5,23 +27,17,3,6 +2,3,14,6 +17,5,6,21 +6,8 +6,18,46 +2,3,6 +17,6 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +17,5,6 +48,33,17,4,6 +6,42 +9,33,6,19,16 +51,6 +8 +5,6 +7,3,4,6 +12,7,5,6 +12,3,6,21 +7,4,5 +5,6 +7,5,6,49 +14,6,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +31,25,14,6,10,49 +6,16,29,30 +31,36,25,5,6,28,46 +2,7,4,6 +31,2,17,3,14 +6,18 +44,17,5,6 +44,5,6 +6 +25,22,17,7,6,28 +22,17,6,11 +44,5,6 +6,16 +6 +3 +20,4 +12,5,21 +12,22,7,6,19,49 +26,17,6,19 +14,6 +22,14,6 +22,5 +51,26,25,14,6,8 +26,4,6 +31,22,3,6,49 +24,12 +33,13,3,6,42,11 +50,14 +6 +26,14 +32,44,3,5,6,8,46 +13,22,5,6 +39,7,3,14,6 +4,6,46 +7,4,14,6,46 +51,7,5 +32,48,3,6,23 +17,6,8 +14,6,21,43 +9,17,5,6 +7,14,5,6 +48,22,6 +14,6 +17 +3,14,6 +48,6 +20,5,6,21 +33,17,4,14,6,21,19 +22,5 +44,7,6 +40,13,6,49 +40,6 +14,6,15 +17,3,6,42 +12 +20,4,6 +5,6,42 +47,25,14,5,6,29 +17,4,6 +22,7,5,6,42 +14,5,6,28 +5 +6 +14,6 +9,14,16 +6 +37,3,5,6,16 +4,6 +6,42 +31,3,14,6,23,43 +17,6 +3,5,6 +14,6,15,30 +14,5 +14,6 +13,17,14,6 +12,6,10 +48,4 +31,4,14,5,6,49 +31,4,6,16 +2,7,3,4,6 +48,4,6 +14 +12,5,6,19 +34,5 +5,6,8 +4,6,42 +25 +13,6 +22,6,29 +22,3,6,21 +34,48,41,4,6 +20,4,5,6,15,8 +7,4,6 +4,5,6,19 +2,14,5,6,28 +5,6,49 +17,7,6 +36,14,6,11 +14,5,6 +47,3,6,11 +9,5 +5 +4,5,6 +4,6,15,46 +14,6 +25,17,4,6 +44,6 +48,5,6,15 +17,6 +51,12,20,3,5,6 +4,6 +22,5,6,15,10,42 +7,6,15,10 +20 +25,20,4 +4,6,16,8,29 +22,14,6 +35,3,5,6,28 +5,6,46 +40,6,23 +51,22,5,6,23 +22,7,3,14,6,19 +44,3,6 +38,48,25,3,11 +25,4,6 +33,2,17,7,6,29 +2,5,6,21 +3,4,14,6,16 +51,2,14,5,6 +47,7,6,28,18 +20,5,6,8 +0 +14,49 +32,12,2,4,5,6 +48,6,10 +6 +31,40,35,13,6,30 +34,5,6 +48,20,14,6,23,30 +32,44,2,6 +35,33,5 +25,4,5,6 +4,14,6 +25,6 +20,4,6 +33,17,6 +38,2,22,7,14,6 +33,13,5,30 +17,7,6,18,29 +5,6,28,8 +5 +22,14,6 +39,47 +13,20 +20,22,4,5,6,8 +6 +36,6 +38,14,5,6,19,11 +5,6,28 +4,6 +40,14,5,6,10 +5,6 +22,7,4,6,23 +47,7,6 +6,19 +20,22,3,5,6 +7,6 +3,14,5,15,10 +17,3,5,6 +7,14,5,6 +14,6 +34,12,2,14,6 +20,6 +17,6,28,18 +41,13,17,6 +14,43 +45,14 +6 +45,7,4,14,5 +7,14 +14,6 +39,51,47,25,22,7,6 +14,6,23 +24,17,6 +7,6 +13,14,5,6 +5,6,10 +2,6,8 +5,6,49 +45,34,4,6,30,49 +6,29 +13,3,6,15 +26,6 +2,3,21 +6 +4,6 +35,4,6,23 +13,16 +48,33,17,5,6,42 +20,3,6,16,30 +5 +34,5,6,16 +22,5 +51,22,6 +5 +13,14,6 +44,20,17,3,4 +44,4 +4,14,6 +20 +2,6 +20,22,6 +5,6,21 +5,6,42 +17,6 +17,4,18 +13,4,5,6 +12,17,4,6,15 +14,5 +39,33,14,6,28,42,49 +51,25,22,7,3,6,28,18 +45,17,28 +7,14,6,21 +20,14,46 +6 +5,6,21 +22,5,6,16 +6 +3 +22,3,5 +6,21 +48,6,30 +44,22,7,6 +3,4,14,5,6 +3,14,5,6,16 +6,21 +6 +37,22,6,16 +37,22,4,6,30 +48,6,18 +50,9,44,12,6 +25,7,14,5,42 +35,2,5,6,18 +25,3,10 +12,2,22,4,14,5,6 +6 +13,17,7,6 +4,5,42 +27,3,14,6,15 +9,46 +9,13,5,6 +35,5,6 +45,13,25,17,6 +40,20,6,18 +44,5,6 +2,25,3,14,18,46 +25,42 +22,4,6,29 +13,6,10 +3,4,5,6,28,42 +34,6 +17,6,23,29 +17,6,43 +2,6,21 +6 +37,17,7,6,10 +44,4,5,6 +3,5 +20 +34,6 +6,15,42 +33,20,6,42 +0 +6 +12,6,18 +49 +39,14,6 +40,22,5 +25,5,6,49 +5,6 +51,48 +14,19 +6,21 +36,3,11 +48,14,5 +5,6 +0 +2,14 +20,7,4,6,18 +22,17,6,11,30 +22,4,5 +14,5,46,30 +6 +2,6,23,49 +22,8 +48,7,6 +39,33,3,5,6 +17,14 +9,25,22,14,6 +17,7,5,6,15,23 +3,6,49 +7,4,5,6,15 +6 +20,6 +3,5,6 +26,20,4,15 +4,19 +39,14,6 +50,6,28 +7,3,6 +34,25,14,5,16,43 +22,6 +20,5 +14,6,8 +20,5 +48,22,6 +4,28 +20,14,6,28,19 +3,14,5,6 +22,3,4,14,19 +13,5 +4,6 +22,4,14 +6 +13,30 +39 +4,14,5,6 +22,6 +22,6 +44,7,3,14,5,21 +27,20,4,5,6,30,43 +3,5,6 +33,6 +51,48,13,3,6,19 +34,6,18 +35,3,6 +3 +5,6 +15 +17,14,6,11 +14,6 +20,5,6,30 +45,17,5,6 +40,6,16 +5,6 +34,22,3,5,6,21 +37,20,7,5,6 +41,20,14,6 +20,22,17,6,19 +3,14,6 +47,10,43 +22,6 +41,17,7,6,10 +17,5,6 +0 +3,6 +3,4,6 +20,5,6 +4,5,6 +20,4,6 +14,42 +22,5,6 +6 +5 +40,18 +20,19,42,29 +5 +12,22,5,6 +48,14,6,15,19 +2,23 +6 +5,6,28 +14 +44,17,14,5,6 +51,5,6,19,30 +45,2,17,14,5 +22,14,6 +48,3,6 +6 +17,6 +20,14,42 +38,3,15 +6,23 +14,6 +12,13,3,6,21,8 +22,4,14,6 +19 +28,23,8 +9,41,14,6 +45,22,17,4,14,6 +3,4,5,6 +6 +39,22,4 +6,15 +33,5,6 +20,17,14,6 +14,6,21 +6 +39,25,4,5,6 +36,13,20,14,5,6,23,43 +0 +6 +19 +7,6,10,16 +3,4,5,6 +4,5,6,42 +44,12,22,17,6,19 +50,6 +3,5,6,18 +14,6 +5,6,21 +7,4,6 +38,4,5,28,30 +5,30 +43 +20,5,21,28 +39,41,20,5,6 +22,6 +33,22,6 +4 +38,4,5,6 +14,5,6,30 +17,28 +6 +20,17,14,6 +50,17,14 +47,7,4,5,6,15 +7,6,19 +14 +34,4 +7,14,5 +33,25,7 +4,6 +5,6 +2,6 +38,7,5 +22,3,4,14,5,6,15,29 +33,22,14,6 +7,5,6 +6 +12,20,14,28 +4,6,18,49 +17,5,6 +34,36,33,4,6,42 +25,20,7,6,30 +50,34,17,6 +20,3 +5 +17,5,6,21 +33,26,13,46 +14,6,42,43 +7,3,14,29 +44,2,6,28 +13,14 +44,3,6,10 +6,46 +22,3,5,6 +27,4,6 +2,4,14 +3,4,5,6,11,30 +38,6 +7,14,6 +48,14,19 +3,5,6 +44,7,5,6 +14,5 +34,44,6,28 +35,22,7,14,6,46 +3,6 +50,3,6 +6,46,30,49 +6 +6,8 +22,16,29 +2,29 +6 +25,5,6,49 +46,30 +25,6,19,18 +36,5,6 +50,7,4,6 +17,6,46 +17,6,21 +17,3,4,14 +14,5,6 +2,5,6 +17,4,6 +4,14,5,29 +20,14,5,6,10 +0 +51,44,7,5 +14,6 +9,12,13,6 +38,6 +36,27,5,28,10 +5,46 +27,5,6 +20,18 +26,5,6 +25,6,11 +26,4,19 +0 +27,3,4,6,21,28,16 +7,3,46,30 +6 +48,25,7,14,5,6 +7,6 +12,22,6 +13,17 +45,3,4,14,5,6 +13,2,25,5,6 +14,6 +12,25,18 +12,7,4,5,6,30 +36,17,7,6 +34,13,4,14,5,6 +14,6,8 +20,7,6 +48,13,3,6 +51,14,5,30 +39,9,25,4 +17,5,6,10 +4,14,6 +2,14,6 +13,5 +35,2,22,5,6 +0 +7,28 +0 +12,3 +32,2,7,5,46 +4,14,6 +24,36 +4,14,6 +6,46 +14 +40,41,7,5,6 +22,17,7,6 +45,33,7,6,16 +47,13,22,21 +4,5,6,15,10 +45,7,4,6 +24,22,7,5,6 +6,30 +7,14,6,15,11 +45,25,3,5 +5,6,46 +2,5,6,42 +6 +14,5,6,15 +4,6,8 +5,6 +12,2,6 +51,13,4,6 +9,13,6 +22 +35,33,26,25,20,14,6,8 +9,6 +44,5,6,21 +13,6 +35,20,5,6 +47,20 +5,6 +3,14,5,6,19 +12,4,6,42 +47,7,6 +14,6 +44,6 +39,48,14,5,6 +2,25,6,42 +7,3,4,14,6 +3,5,6 +37,14 +6,19,42 +7,4,5,6,46 +25,17,5,6,19 +17,3,6,19,49 +12 +33,2 +45,5,6,43 +20,3 +5 +2,22,14,6,10 +45,2,20,3,5,6 +4,8 +36,25,22,6,42 +4 +20,6,8,49 +6 +32,7,14,6,23 +6,28 +12,14,5 +3,4,6,21 +17,5,6 +17,6 +3,6,23 +14,6,11 +20,14 +4,6 +22,6,15 +44,4,6 +7,6 +9,26,4,14,5,6,8 +2,5,6,18,29 +7,4,6 +17,3,18 +32,2,3,14,5 +6,18 +5,6,16 +2,20,14,5,6,28 +14,6 +22,14,6 +0 +23 +5 +17,5,10 +5 +37,6 +6 +4,14,5 +25,7,3,6,15 +6,28 +51,22,4,14 +6 +12,6 +12,6 +9,13 +25,14,6,19 +5,6,49 +13,14,5,6 +14,6,18 +3,14,5,6 +22,17,7,4,14,6 +13,6 +22,17,28,46 +44,6 +25,20,23,8 +5,6 +20,15 +47,35,20,4,14,6,21,30 +13,2 +3,6,11 +5 +26,6 +5 +33,13,17,4,5,6 +17,5,6,15 +4 +48,22,4,6,23 +4,6,19,16,43 +26 +7,4,14,5,6 +22,6 +17,46 +14,5,6 +7,14 +12,7,14,6 +32,14,6,30 +20,6,23 +5,6 +14,5,6,28 +7,43 +17,6,23 +47,5,6 +39,14,28 +6 +14 +38,5,6 +25,6 +20,5,43 +0 +5 +3,5,18 +20,7,6 +17,4,5,6,29 +27,7,16,49 +6 +41,20,22,3,14,6 +9,12,22,7,5,6,46 +44,13,14,29 +7,14,5 +5,6,29 +26,6 +13,5,6,21 +6,28 +50,17,14,6 +6,43 +48,5,15 +14,6 +6 +5,6 +17,6,16,49 +6 +25,6 +13,4,5 +22,5,6 +22,6 +2,6,8 +5 +7,6 +20,6 +6,23 +13,4,14 +6 +34,27,7,4,6 +5,6 +14 +6 +17,7,5,46 +14,6,23 +22,14,19 +7 +25,17,14,5 +44,7,3,5,6 +6,15 +20,22,3,4,6 +31,7,14,8 +4,5,6,42 +20,17,7,14,5,6,15 +27,22,6,23 +27,14,6 +20,5,6 +26,3,5,6 +36,22,6 +2,5,6,46 +36,14 +3,6 +4,14,6 +50,34,4,14,5,6 +47,22,17,14,5 +25,22,7,14 +25,20,6 +9,13,25,17,14,6,42 +12,5 +2,3,4,5,6 +48,12,13,2,3,6,19 +24,6 +6 +6 +7,6 +6 +5,6 +22,6 +4,14,6 +20,3,6 +20,7,6 +7,5,6,30 +20,3 +7,5,6 +22,4,6 +31,20,11 +24,34,5,6 +41,17,14,5,6 +6 +31,7,6,28,42,43 +2,6,16 +14,6,30 +7 +20,6 +50,25,6 +25,5,18,23 +17,6 +38,26 +12,17,4,14,5,6,8 +14,6,29 +48,5 +20,5,6,23 +14,5 +26,14,6,11 +5,6,16 +4,5,6 +4,5,6 +20,7 +25,3,14,5,6 +22,4,5 +45,41,6,15,18,43 +7,6,15,10,49 +31,19 +5,6 +39,17,14,5,6 +20,14,6 +2 +3,6,28,8 +41,6 +4,5,6 +12,7,6,30,49 +17,4,6 +22,3,5,6 +13,6 +45,31,3,4,14,5,6 +40,7,3,6,28 +51,2,3,6,19 +5 +51,29 +5,6 +20,3,14,6 +4,6 +36,20,14,18 +17,14,6,18 +3,14,6,18 +5,28 +38,14,8 +4,14,46 +17,4,14,6 +27,25,17,6,19 +35,38,22,6,30 +13,2,14,5 +7,3,6 +45,3,6,28 +24,6,29 +3,6 +9,7,14,5,6 +27,5,6,18 +22,14,15,19,42,29,43 +0 +50,17,18,11 +31,14,5,42,23 +14,6 +38,5,21 +14,6,29 +6 +7,4,6 +14,42 +3,6,29 +2,25,17,4 +14,6 +9,22,5,19 +40,14,5,6,42 +6 +44,6 +13,22,4,5,6,19 +22,6 +32,2,22,5,6 +20,3 +5,6,23 +6 +22,6 +6 +20,4,5 +41,3,6 +14,5,6,42 +2,25,4,5,6 +25,22,4,6,42 +5 +25,3,6,29 +39,7,5,6,16 +3,5 +2,14,6 +5,6,15 +5,6,43 +5,6,8 +25,7,3,8 +17,6 +3,29 +4,5,21 +28 +13,7,4,5,6,30 +0 +0 +39,50,7 +9,36,20,14,18 +9,14,6 +33,6 +14,5,6,8 +50,3,6 +39,22,14,5,6 +26,3,5 +48,33,22,6 +38,17,4,6,15,30 +47,32,14,6,28,8 +25,7,6,21 +17,7,6 +40,32,14,5,11 +7,5,6,21 +28 +6,10 +3,4,14,6 +47,13,7,6 +20,4,6,10 +13,2,20,5 +7,29 +27,20 +22,3,10 +12,2,22,14,5 +14,6 +22,17,6 +19,42 +4,5 +4,5,6 +37,36,14,6 +22,3,14,5,6 +25,5,6,16,29 +5,6 +20 +14,6 +51,22,14,6,18 +31,14,5,6 +20,17,3,6 +5,6,28 +0 +14,5,6 +48,2,17,6 +12,6 +2,17,3,4,14,6 +32,20,22,6 +4,5,18 +27,14,6 +14 +44,20,6,10 +39,25 +7,5,6,42,29 +20,3,6,21,23,43 +3,6,8 +22,6 +6 +0 +5,6,30 +6 +33 +31,13,4,5,6 +2,5 +16 +7 +4,6 +7,3,5,6 +25,14,6,15 +14,6 +14,5 +0 +7,14,6 +25,3,6 +24,17,4,6,46 +17,14,5 +37,14,6,11 +4,28,19 +36,14,19 +9,35,7,5 +9,12,22,6 +45,37,26,25,3 +7,3 +22,3,6 +32,22,5,6,11,30 +6 +48,5 +51,31,2,6,42 +13,22,4,14,6,15,10,46 +6,21 +2,25,14,5,11 +12,13,2,5,43 +2,23,49 +50,22,4,6 +14,6,21 +33,12,5 +20 +6,16 +13,4,5,6 +18 +36,6,19 +25,3,5,6,28,15 +40,2,14,6,21 +26,20,7,6 +20,17,5,6,10 +17 +33,6,21 +14,5 +3,4,14,6 +51,12,5,21,29 +6,16 +2,22,5 +6,28,15 +31,4,6,42 +44,5,6 +9,34,7,5,6,8 +39,20,6 +4,6 +35,20,4,6 +6 +2,5,6,21 +14,6 +3,5,6 +6,16 +4,6 +17,6,28 +6 +22 +36,6 +7,14 +3,6 +3,5,6 +22,6,21 +36,2,25,4,6 +3,6 +9,6,16,46 +6 +26,3,14,10 +20,22,17,4,5,6,49 +38,2,14,6,16 +27 +6 +5,6 +12,22,4,5,28,16,46 +13,5 +5 +2,22 +5 +2,14,6 +20,7,5,6 +37,9,14 +7,6,28,23 +6,28 +20,14,6 +12,17,16,29 +44,6 +4,5,6 +7,6,16,43 +9,12,5 +20,14,43 +13,7,6,15 +20,14,6,21 +22,3,14,6,15 +5,6,43 +3 +12 +33,6,30 +5,11 +27,3,14,6 +4,6 +39,20,22,3,6 +5,15 +40,44,20,14,6,21,28 +5,6 +45,20,6 +0 +3,6 +4,6,15 +3,14,6,21 +6 +4 +37,6 +6,21,8 +9,17,7,4 +17,6 +4,5,6 +25,6 +38,3,5,6 +12,3,14,6 +6,11 +50,13,6,28,10 +4,28 +34,6 +45,3,6,21 +2,6,21,29 +17,14 +3,4,42 +48 +17,4 +44,4,6 +6 +14,5,6,23 +20,7,3,5,6 +13,3,18,23 +36,5,23 +7,14,6,46,30 +5 +9,6,49 +5,42 +41,6 +13,7,5,10,46 +49 +5,6 +12,13,3,6 +6 +13,3,14,6,28,23 +37,6 +6 +13,3,5,21 +36,10,8 +4,6 +25 +31,14,6 +3,4,14 +51,5,6,29 +51,25,4,14 +4,8 +2,14,5 +12,7,3,5,6 +7 +4,6 +6,21 +36,6 +33,26,4,6,21,46 +0 +2,3,6,15 +13 +5,43 +4,30 +31,38,7,4,6,15,29,43 +9,41,2,6,30 +35,22,3,5,6,10 +40,20,23 +31,6,15,16 +20,17,5,6 +3,6 +9 +17,4,6,29 +14,5,6,21 +40,4,5,6,21 +7,14,5,6 +36,17,6,42 +14,5 +6,8 +9,2,6,46 +6 +4,5,6 +6 +47,38,22,6 +27,13,20,5,6 +31,14,6,10 +22,3,4 +6,15,19 +48,2,4,5,42,30 +45,4,14 +22,5,16 +20,6,18 +14,16 +3,5,6,28 +44 +48,22,14,5,10,18 +3,4,5,6 +25,10 +17,49 +4,5 +20,6 +45,13,20,5,6 +16 +0 +6 +5,6 +12,20 +6 +38,5,6 +17,4,6 +13,6 +36,13,20,3,6 +6 +12,14 +5,6 +26,6 +35,25,20,5,6 +26,3,14,6 +6 +22,4,5 +2,20,7,6 +12,13,4,5,6 +20,46 +38,27,12,4,14,5 +12,22,4,6 +5,6,18 +20,5,6 +50,22,6 +3,6,49 +41,12,25,7,3,5,6,23 +7,3,14 +36,4,6 +27,44,6 +22,3,14,6 +20,3 +33,6,8,43 +14,6 +5,6 +17,6 +37,2,25,5,6 +13,3,4,10,29 +40,6,18,46 +44,14,6,18,8 +27,3,6 +9,3,4,5,6 +2,6,8 +13,6,19 +12,2,17,6 +0 +0 +7,14,6 +5,6,19,23 +44,2,7,3 +7 +6 +32,7,3,4 +6 +14,6 +5,49 +23,8 +33,4,6,28,23 +20 +4,14,5,6 +5 +4,5,6,19,10,42,29 +15,30 +13,6,46,30 +26,20,6,11 +6,21 +2,14,18,43 +25,4,10 +22,7,5 +41,7,6 +31,20 +40,4,14,6 +28,10 +12,14,5,6 +7,5,6,23 +22,3,18 +12,6 +13,4,14,6,19 +31,2,5,6,21 +6,8 +14 +2,10 +34,27,7,6,21 +26,13,3,5,18 +6,11 +34 +51,6 +4,6,10,29 +5 +14,5,6,21 +4,6 +4,5,11 +38,22,3,6 +33,2,20,22,6,10 +33,5,6,30 +17,14,6 +9,27,20,6,30 +36,25,14 +24,25,7,6,21,15,19 +5 +5 +12,5,6 +14 +4,14,5,6 +6 +14,6,16,30 +4,5,6,19 +3 +44,12,13,14 +50,6 +5,6 +6 +5,21,8 +2,3 +3,14,6,28 +5,6 +20,3,4,6 +7,6,15 +12,4,5,6 +13,6 +31,27,6 +25,22,6 +14,6 +30 +14,6,15,46 +13,6 +6 +39,9,2,28 +14,5,6,21,10 +9,3,6 +22,5,29 +26,12,22,5,6,16 +44,6 +3,4,5 +25,28 +20,4,6,49 +14,5,6,46 +3,15 +25,4 +0 +25,6 +14,6 +13,4,6 +3 +6,28 +22,5,6 +7,4,5,6,42 +31 +14 +5,6,10 +6,11 +25,4,5,6 +6,46 +24,27,13,6 +4,5,6,21,18 +6,23,11 +20,22,4,6 +37,12,20,6,29 +25,7,5,6,46,43 +45,50,40 +22,5 +7,6 +25,4,6,10,30 +17,4,5 +22,7,4,6 +22,6 +25,22,4,6 +5,6,16 +7,5,6 +48,14,6 +33,20,7,14,6,46 +6 +41,4,5 +27,13,3,5,29 +14,6,16 +37,47,38,5,21,49 +14 +24,13,7,6 +4,14,5,6 +5,6,19 +6 +6 +5,11 +5,46,11 +39,40,4,5,6 +16 +41,4,14,6,21,28 +14,6,18 +38,20,5,6 +36,7,16,46 +13 +20,14,5 +3,6 +26,12,5,21 +26,13,22,4,6,10 +6,29 +2,3,6,28 +3,19 +47,6 +25,7,4,14,15 +36,3,6,18 +2,5,6,21 +2,3,5,6 +13,17,14,6,23,30 +31,20,5 +37,22,16 +5,6 +36,5,6,42 +22,14,5,6 +5,6 +23 +14,5 +3,6,42 +12,7,6,23 +13,25,5,6 +41,17,7,6,42 +22,4,6 +25,3,4,5,10 +36,6 +31,25,5,6 +3,14,6,15 +5,6 +20,5 +14,6 +3,6 +5,6,23 +13,5,6 +2,22,6 +22,3,6,19 +22,6 +2 +31,13,3,49 +14,5,6,21 +37,2,5 +20,4,5,6,16 +25,3,5,16 +50,4,5 +39,35,25,22,17,7,6,16 +3,4,6,21,18 +6 +32,6 +22,5,6 +5,6,18 +7,6,10 +25,22,5,6 +17,5,6 +40,12,8,46 +4,5,6 +44,2,22,5,6 +10,42,23 +13,25,4,6,46,49 +32,6 +17,5,6,16 +17,6 +33,20,14,6,11 +6 +7,5,6,21 +14,6,16 +17,14,5,6 +0 +35,14,5,6 +22 +12,2,5,6,46 +14,5,16,49 +48,17,14,5,6,18 +5,6,28,19 +14,6,19,18 +14,16,30 +38,27,13,17,6,15,10 +5,6 +4,14,16 +24,14,5,29 +5,29 +6 +12,17,4,6 +3,6,16 +6,11 +4,14,30 +25,5,6 +25,3,6,15 +4,6,21,46 +24,17,6,28 +25,7,6,23,8 +2,14,5,6,19 +37,4,5 +49 +13,17,7,5,6 +48,17,5 +2,22,6 +14,5,6 +4 +30 +25,17,6 +40,14,6,10 +13,7 +22,3,6 +22,14,6,18 +24,2,14,6,8 +5,6,49 +13,17,7,5,6 +25 +5,6,15 +12,20,3,6 +20,7,6 +25,3,5,6 +13,5,6 +26,25,6 +4,14,28,10 +3 +26,7,14,5,6 +41,6 +45,14,6 +17,6,42,30 +41,7,3,6 +38,13,17,5,6 +51,14,5,6,42 +25,20,17,18 +7,6,29 +44,5,6 +31,5 +48,13,25 +6 +48,14,6,18 +31,4,6,10 +6 +25,3,14,15,16 +38,4,5,6 +14,5,6 +36 +12,2,7,18 +13,3,43 +4,5,18,30 +6,10 +3,6 +25,6 +14,6 +6 +17,4,6 +14,6 +5,6 +5,6,19 +6,10,29 +13,4,6 +37,12,14,5,6,28 +2,4,5,6,11 +50,7,5,6 +12,7,5,19 +0 +17,14 +6,15,10 +25,6 +6 +22,6,49 +20,22,6 +7,6 +14,6,21,28 +47,5,6,23 +5,6 +5,15 +5 +4,14,6,46,11 +20,22,5,6 +17,14,6,43 +7,5,19,49 +4,5,6 +34,13,5,6 +3,4,5,6,16 +45,3,5,6 +2,15 +31,5,6 +25 +14,5,6,18 +41,20,17,5 +0 +47,35,4,6 +35,41 +50 +7,6 +13,4,5,6,49 +13,5,6,10 +4,6 +17,6,19 +3,6 +33,7,4,6,21 +22,18,43 +14,6 +20,46 +20,14,6 +33,6 +51,45,14,5,6,21,10,8 +5,6 +9,22,6 +22,14,6 +44,3,6 +28,19 +4,14 +51,12,2,4,6,16 +13 +44,20,14,5,6 +7,42 +20,3,5,6 +7,14,6 +14,5,6 +35,6 +17,5,6 +6 +9,14,5 +4,14,6,18 +13,25,7,14,6 +44,14,5,6,19,16 +6,8,49 +5 +12,5,6,29 +14,5,6 +3,14,5,6 +44,7,3,5,6,19 +22,5,6 +20,6 +5,6,28 +5,6 +15 +38,13,6,15 +6 +5,6,43 +2,25,14 +34,3,14,5,6 +44,25,4,14,5,30 +27,3,18 +40,22,14,6 +36,14,5,6 +6 +5 +50,20,6 +6 +22,4,14 +41,6,15 +25,14,5 +38,25,6,16 +32,2,25,6,29,30 +6 +13,3,6,10 +4,5,6 +6 +50,17 +6 +5 +3,14,6 +2,7,6 +13,4,5,6 +20,14,6 +3 +3,6,28,42 +48,13,14,6 +25,6,23 +45,14,6,28 +34 +44,14,6,46 +22,4,14,6 +17,6,18 +47,4,5,6 +39,41,6,19 +6,49 +31,7,3,4,6,8 +14,6 +31,26,6 +48,3,14,6 +31,22,5,21 +7,3,4,5,6 +3,5,6 +6 +36,20,6,29 +22,5,6,10 +3 +37,4,6 +6 +45,2,22,10 +37,6 +4,14,6 +25,6,21,29 +3,14,5,6 +50,25,7 +27,5,6,10 +17,4,5,6 +22,6,42 +37 +6,10 +9,6,21 +25 +13,3,14,5,6,21,46 +3,5,6 +6 +36,27,20,3,4,5,21,30 +4,6,11 +44,2,5,6 +12,13,6,15 +3,14,10 +5 +9,14,6 +4,5,6,28 +14,10 +0 +38,33,17,3,14,6 +0 +6,10 +45,37,3,5,6 +9,36,33,5,6,28 +3,14 +4,5,6 +27,17,6 +12,6 +38,25,17,5,6,21,11,30 +14,6 +36,35,3,14,42 +5,6,23,8 +6 +32,20,14 +14,6 +37,32,13,6,46 +50,32,2,6,18 +22,4,18 +6 +25,7,3,28,19 +6 +2,25,7,6 +4,5,6 +51,5,6 +34,7,6,29 +9,14,5 +6 +5,16 +6 +20,28 +22,3,16 +47,9,7,5,6 +6,43 +25,7,4,14,15 +40,9,5,6 +5 +31,3,4,6,10 +5,11 +3,6,43 +4,14,6 +9,25,6 +20,4 +6 +20,6 +14,5,6,29,49 +6,10 +9,22,6,10,42 +31,6 +4,5,6 +6 +17 +51,13,17,7,5,6,30 +38,4,5 +7,6,21 +37,6 +22,17,11 +3,4,6 +34,3,6,28,42,18,30 +6 +7,6 +13,6,15 +4,6 +0 +13 +38,25,6,15 +38,4,14,6,28 +51,38,44,14,6 +5,6,21 +22,4,5,6 +7,18 +3,6 +14,49 +22,7,4,5,6,15,10 +4,6,49 +22,6,21,16 +20,7,4,5,6 +6 +41,7,14,8,43 +6,21 +5,6,19 +4,6 +25,4,6,19,23 +3,5 +3,6,21,30 +4,14,6 +14,15 +0 +5,6 +6,16 +7,14 +14,6 +17,14,19 +6,23 +13,4,5,6 +7,3,5,11,30 +44,14,5,21,29 +42,30 +6,43 +22,4,6 +5,6,29 +3,6 +14,5,21,28 +47,22 +2,22,17,6 +14,8 +20,7,5,6,19,16 +48,3,6 +3,5,6,21 +6 +4,14,6,10 +6 +25 +32,27,4,21,23 +3,4 +2,6 +27,3,4,6,43 +14,6 +31,13,5,6,30 +6 +14,5 +14,6,43 +22,14,6 +6 +5,6 +7 +7,6 +25,3,6 +13,4,14,6 +20,5,6 +22,7,3,6,19 +14,6 +13,6,42 +7,6 +22 +13,14,6,46,43 +13,4,14,5,6 +0 +5 +4,5,6,10,8 +25,4,5 +6 +5,6 +37,7,6 +12,3,4,6,29,11 +35,4,6,10 +25,29,30 +27,25,17,5,6 +22,17,3,4,6,10 +13,25,22,17,6,11 +13,3,6,49 +32,36,26,25,5,6 +22,14 +4,6 +14,6,18 +13,17,14 +3,6 +44,5,6,21 +50,25,7,5,6,8 +32,6,42 +47,12 +35,29 +14,5,6,10,16 +5,6 +6 +51,5,6 +48,20,4,5,15 +44,14,6 +37,14,5,6 +14,6 +14,5,6 +20,3,5 +6,8 +27,2,20,3,14,6,10 +17,7,5,6 +20,4,6,18 +25,14,6 +2 +20,22,17,4,14,6 +22,5,19 +33,5,6,21,42 +6 +6,19 +47 +6 +12,13,28 +25,6 +31,34,36,12,14,5,43 +34,7 +6 +4,5 +18 +14,6 +17,5,6,10 +2,17,3,4,6,43 +4,49 +7,3,5,6 +25,17,4,14,5 +4,5,6 +34,48,7,4,6,19 +3,4,14 +4,14,6,19 +17,5,6,23 +6 +17,6 +18 +7,6,28 +7,4,14,6,28,30 +5,42 +0 +7,4,14,6 +3,5,6 +2,17,6 +14,5,6 +32,2,14,5 +7,5,6 +4,6 +14,6 +13,5,6,8 +38 +2,7,3,6,21,19 +45,50,7,14,5 +2,5,6,23 +22,17,3,4,14,5,6,15 +5 +33,13,4,6 +40,47,5 +31,7,4,14,5,16 +25,4,14,5,6,42,43 +50,6 +3,4,5 +7 +3,5,6 +4,14,6 +4,6,21 +20,6 +7,3,6 +33 +12,4 +37,36,13,25,14,6 +3,6 +33,22,14,5 +12,2,6 +25,14,6 +6 +6,28 +27,6 +48,14,5,6 +12,5,6,21,10,11 +41,6,46 +22,6 +35,5,6 +26,3,14,6 +3,14,6 +31,5,6,15,8 +50,17,4,14,6 +7,5,6 +6,23 +13,14,5,6,21,11 +14,11 +23 +26,20,4,6,15 +26,4,5,18 +13,14,6,29 +12,14,6 +2,22,18,46 +22,6 +9,17,3,6,18 +0 +31,48,2,17,6 +4 +41,7 +6,21,15,18 +36,6 +9,14,6,43 +9,5,6,10,8 +4,14,6 +17,6,10 +3,5,6,15 +5,8 +41,25,6,28 +20,6 +47,3,14,6,19,42 +14,6 +25,14,6,46 +34,25,4,14,5,6 +2,7,3,5,6,15 +31,2,4,14,11 +6,21,8 +32,3,5 +50,14,5,6,42,11 +22,5,6 +4 +2,14,5,6 +27,48,4,6 +9,14,6 +50,5,6 +14,19 +33,6 +6 +13,20,6,10 +7 +17,5,29 +20,22,17,6 +0 +5 +2,14,6,23,46,29 +7,14,8 +5,6 +35,21 +35,17,5,6 +34,20,4,14,5 +8 +5,29 +17,6,10 +41,12,4 +17,7,5,15 +35,5,18,23 +26,2,14,5,15 +45,37,6 +35,17,4,6 +12,5 +17,4 +24,7,6,28,46 +14,5 +45,5,6 +14,6 +22,5,6 +22,5,30 +14,6 +14,5,6,42 +25,6 +14,6,16,30 +44,13,6 +0 +3,5,6,8 +50,3,6 +32,14 +20,6,10 +5,6,29 +10 +20,3,14,6 +38,22,6,15,10 +6,46 +6 +34,3,6 +24,3 +6,42 +35,14,5,6 +20,17,7,3,4,6,15,18 +13,2,17,4,16 +6 +35,22,6 +25,4,6,21,28 +6 +3,4,6 +4,14,6 +50,7,3,5,6,10 +40,2,22,4,6,28,10 +3,6 +26,4,6,19 +7,3,5,6 +3,5,6,46 +0 +0 +37,4,5,6 +35,41,6,42 +13,5,6 +13,2,6 +17,7,4,5,30 +22,19 +3,4,6,18 +38,33,5,30,49 +3,14,6 +13,6 +4,6,29 +44,25,6 +12,6 +4 +33,3,6,19,18,49 +34,41,4,6 +6,42 +51,40,14,5 +39,3,6,10 +33,20,5,6,46 +35,20,22,14,5,6,16 +6,21,10,42,18 +20,4,6,16,42 +6 +6,15,29 +0 +25,6 +2,3,28,42 +4,5,6,19 +7,14,5,49 +44,4,5,6 +17,6 +7,4,14,5,11 +31,22,21,23 +5,6,29 +25,20 +14,5,6,21 +9,25,3,4,5,21,15 +50,2,20,17,6,23 +51,13,6 +13,17,7,5,6 +4,5 +36,6 +12,2,6,29 +33,6 +48,25,20,4,6 +4,14,6 +48,16 +37,7 +20,17,6,21 +7,14,6,10 +17,5 +40,7,14 +4,6,19 +17,14,6,16 +22,7,3,6 +13,4,5,6 +4,5,6 +25,5,6 +44,6,29 +22,6 +4,6 +20,6 +6,21 +14 +22 +33,7,4,14,16 +31,6 +27,41,7,14,5,6,21 +14,6,19 +25,6 +5,6,21 +31,5,6 +7,14,15 +20,6 +38,5,6,30 +2,5 +7,14,5,6,16,18 +17,5,6 +14,5,6 +6,18,30 +17,5,6,46,49 +7,3,6 +20 +41,3,6 +12,25,7,6 +0 +20,6,49 +32,38,27,25,6 +48,6,28,19,11 +3,5,6 +25,6,23 +12,6,43 +6 +6 +14,5 +27 +51,3,5,6 +5,6 +47,20,3,5,6 +3,5,16 +7,6 +26 +17,6,29 +5,11 +6,46 +5,6,46 +27,5 +45,50,7,8 +4,6,21 +5,6,18 +20,14,6 +33,26,6 +27 +44,13,20,17,6,21 +48,4 +6,28,42 +12,16 +12,17,4,6 +44,13,5,6 +6,19 +31,12,25 +37,7,3,6,21 +13 +14,5 +3,14,6 +7,5,6,16 +14 +36,22,19 +50,12 +7,3,5,6,46 +25,5,6,16 +35 +35,6 +26,22,3,6 +37,6,15,8 +25,17,7,4,6 +12,20 +6 +37,3 +41,14,6,42 +5,49 +7,4,5 +6,19 +25,4,6 +5,6,29 +31,13,17,3,6,28 +12,4,14,6 +6,49 +48,17,7,6 +3,4,6,23 +20 +27,5,6 +3,4,5,6 +7,5,10 +4,5,6 +45,6,15 +47,4,6 +22,3,23 +24 +7,6,18 +50,37,7,5,18 +37,6,19 +7,6,30,43 +50,13,5,6,10 +51,37,4,14,5 +20,5,6 +17,7,6,15 +5,6 +5,6 +6 +6,21 +22,7,5,6 +25,6 +6 +22,6 +14,6 +6,21 +41,25,7,6 +19 +13,6 +0 +3,6 +14,6,15 +25,3,14,6 +13,6,21 +22,7,16 +38,14,6 +5,6,16 +17,5,6 +45,7,3,4,15,46 +5,6 +35,20,6 +6 +14,5 +48,4,14,6,49 +2,5,6 +22 +6 +3,14,6 +2,3,14,5,6,46 +35,22,7,4,5 +14,5,19 +17,6,8 +26,5,6 +12,6 +6,10,29 +47,7 +36,33,25,3,5 +22,17,6 +3,14,10 +35,20,3,46 +32,25,5,6,18 +7,5,6 +14 +7 +36,35,12,5,6 +36,22 +12,19 +27,22,5 +4,14,6 +51,41,44,20,4,14,5,6 +47,6,18 +47,6 +6 +5,6 +20,3 +34,22,6,15 +4,5,6 +48,7,3,14,5,6,18 +6 +6,16 +47,4,14,6 +31,20,7,14,5,6 +35,3,14,5,6 +22,6,8 +14,5,6,19 +5,10,11 +12,3,14,6 +25,5,6,16,49 +18,29 +4,5,6 +17,6 +22,6 +2,5,6,18,30 +12,22,3,14,6 +36,25,6 +39,4 +12,22,3,14,6,18 +44,26,4,6 +37,25,17,6 +37,5,6,21 +6 +14,15,19,42 +38,14,5,6,18 +14 +25,6 +22,3,6,28 +20 +40,6 +41,17,6,21 +4,19 +40,27,7,28 +14,6 +34,25,5 +5 +38,14,6 +44,25,4,5 +17,4,6 +41,12,6,19 +22,6,49 +37,20,14,6 +27,17,3,18 +22,5 +41,6,42 +20,17,7,4,14,8 +38,6 +47,22,3,4,6 +12,3,4,6,8,30 +5,6,8 +13,6,15 +20,17,5 +51,4,6,15 +51,24,27,41,6 +3,6 +34,3 +2,14,23 +7,6,15 +22,6,42,29 +12,13,5,6,15,18 +36,4,6 +14,6 +20,17,5,6,46 +34,12,3,6,16 +5,19 +17,5,6,10 +5,6 +51,13,22,17,7,14,6 +6 +6 +35,22,3,5,6,21 +7,6,21,42 +27,20,10 +27,3,4,5,6 +40,5,6 +14,5 +22,14,5,6 +47,7,4,6 +27,20,3,6 +14,5,6,16 +51,2,4,5 +20,6 +7,14,6 +12,4,14,5,6 +7,14,6,28 +20,22,4,14,6,16 +22,15 +41,5,6 +37,25,3,6,29 +3,6,21 +40,7,6 +51,14,5,6 +3,14,5,6 +32,5 +25,6 +27,20,3,5,6,19,49 +4,6 +17,6 +2,6,19,10 +13,4,6,21,18 +3,6 +44,3,6 +0 +3,5,46 +20,5,8 +24,17,7,3,5,6 +48,4,6 +14,6,15,16 +14,5,6,18 +4 +22,14 +14,6 +14,5,6 +20,3,6 +0 +14 +5 +3,4,14,5,6,16 +2,6 +20,17,14,6 +6 +39,50,3,5,6,16 +13,4,28 +2,5 +4,6 +34,14,6 +20,14,6 +24,7,4,5 +45,32,13,4,6 +12,4,14,29 +3,14,5,30 +14,5,23 +25,6,21,19 +6 +32,3,4,5,6,8 +6 +14,6 +5,6 +14,6,30 +25,5,6 +33,13,7,4,6,8 +20,5,6,28 +5,6 +32,17,14,5,6,30 +4,6 +2,17,14,5,6 +5,6,29 +5,28 +13,5,6,43 +25,14,5 +4,5 +12,6 +20 +6,18 +12,14 +4,5,6 +27,4,6,29 +20,3,6 +39,12,14,6 +14,5,6,16,46 +40,13,7,4,5,11 +6 +6,16,11 +24,14,28 +20,3,4,6,21 +36,4,5,6,10 +5,6,23 +7,6,28,15 +25,6 +20,4,14,6,10 +13,5,6 +39,12,6 +45,7,4,6 +45,20,6 +6 +5 +2,17,4,6 +22,7,14,5,6,46 +3,6,19,16,42 +41,3 +7,6 +17,7,3,6 +25,22,4,28 +38,6,15 +7,28,49 +25,7,5,6 +2,22,7,4,5,6 +17,5,6 +0 +22,14,6,19 +13,3 +33,13,3,6 +36,20,4,5,11 +22,6 +3 +7,14 +7,28 +48,4 +20,22,7,14,19 +22,3,14,6 +9,36,4,6,8 +25,22,6,11 +17,4,5,6,16,42 +3,14 +12,4,5,6,21 +39,4,14,23 +2,5,6,28 +36,35,20,7,14 +51,38,14,6 +36,6 +20,3 +22,5 +36,6,11 +5 +7,5,6,10,16,46 +12,25,14,5,6,15 +26,25,6,18 +38,4,11 +35,12,22 +6,16,49 +39,5,6,19 +2,20,3,6,49 +7,3,14,23 +14,8 +40,36,7,5,6 +27,5,6 +17,4,6,15,19 +7,3,5,6 +44,25,7,3,14,5,6 +25,22,4,5,6 +33,13,7,4,14,5,6,28,10 +24,5,6,15,16 +44,17,14,6 +7,5,6 +34,3,5,6,10 +25,5,6,29 +5,6 +44,5,6 +41,21,8,30 +39,9,6,15 +21 +7,5 +32,14,6 +4,6,30 +25,7,3,6,21,42 +47,32,6 +38,17,7,5,28 +20,6 +14,6 +3,5,6,30 +50,40,14,5 +13,5,21,43 +32,6 +12,5,6 +31 +33,3,30 +22,5,6 +5,6 +3,14,6 +51,12,28 +0 +14,5,15,11 +7,6,28 +6,46 +5,6 +2,22,17,4,6 +22,6,42 +17,14,6 +26,12,17,3,6,46 +2,20,7,4,6,21 +6,42 +3,4,5,6 +25,14,6,21 +22,3,6,43 +6 +17,7,4,14,6 +7,6 +14,6 +48,4,14,6 +0 +3,5,6 +36,7,6,19 +28,23 +46 +9,14,6 +32,35,3,5,6 +31,4,5,6,23 +12,7,6,21,29 +41,17,14,6 +36,13 +20,5,6,16 +3,4,5,10,16,43 +25,3,4 +22,17,14,5,6,8 +14,5,43 +6,16,42 +32,3,6 +26,25 +35,14,6,16 +15 +5,6 +25,5,6 +14,6,15 +6 +9,7,14,6 +2,7,6,21,46 +24,25,17,6,43 +14,5,6,46 +33,7,5,6,28 +20,49 +20,14,11 +2,20,14,6 +6 +35,14,6 +0 +32,20,6,28,15 +5 +6 +4 +25,17,14,6 +13,3,6,10 +22,5,8,46 +20,17,3,6,21 +7,28,49 +5,6,42 +25,20,10 +51,17,4,14,5,6,21 +25 +47,33,22,7,6 +5 +27,5,6,42,8,43 +14 +7,3,6 +24,47,9,6 +45,25,22,4,5 +34,4,6 +12,3 +20 +36 +22,6,11 +50,7,5,6,30 +22,14 +14 +25,6 +4,14,5,6,42 +2,6 +5,6 +3,4,14,6 +2,20,14 +40,26 +20 +25,22,6,19 +20,22,4,6 +17,5,6,15 +20,6,16,46 +6,15 +5,6,15 +38,6 +5,6 +34,36,22,14,6 +24,35,13,7,14,5,6,49 +36,3,6 +22,6 +6 +5,15 +48,14,5,6,28,16 +20,4 +7,6,18 +7,6,16 +35 +32,41,6 +5,6,18 +3,6 +6,23 +40,7,5,6 +7,3,5 +5,6 +6,49 +5,6,15 +25,4,6,21 +40,4,6,21,11 +13,3,14,5 +37,2,4,23 +27,17,5,6,43 +45,47,41,22,4,14,6,28 +50,14,6,19 +0 +20,5,6 +33,4,14,6,16,11 +39,3,5,6 +14,5,6 +14 +14,6 +22,17,5,6,29 +38,7,15,16 +7,5,6 +4,28 +25,5,6,21,28 +6 +34,6 +31,5,6 +12,17,5,6,23 +25,20,6 +44,22,14,6 +27,22,17,5,6,15 +51,5,6 +2 +41,5,6 +6,10 +24,31,2,25,3,5,6 +13,2,17,4,14,6,42 +20,3,14,5,8 +2,7,14 +5,6 +39,35,2,3,4,14,5,6,18 +6,42 +7,6 +4 +5,6,15,18 +12,2,6,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +7,5 +26,6 +14,5,6,42 +37,44,7,4,6 +47,33,6,28 +12,28 +51,22,17,5 +9,25,6,21,8,29 +22,4,6 +6,8 +5,6 +14,6 +41,13,5,6 +39,51,24,22 +31,25,17,14,6,42 +6,19 +35,14,6 +38,14,6 +12,14,6 +25,20,3,14,5,6 +48,5,6,28 +4,6,15 +51,12,4,46 +51,2,20,17,3,5,6 +26,5,6,28 +3,5,6 +6,29 +4,6 +41,4,14 +50,7,4,14,6 +6 +47,17,6 +25,20,14,5,6,21,8 +33,26,14,5,6 +17,6,28,16,29 +3,5,6,16 +44,3,8 +48,25 +6,28 +38,13,3,6,49 +0 +0 +4,5,6 +12,6,19 +7,6 +36,2,7,5,6 +7,14,5,6,21 +4,14,6 +17,6,42 +26 +39,13,14,5 +32,34,7,5,6 +2,5,6 +37,6 +41,3,14 +17,5 +3,14,16 +4,14,5 +17,5 +6 +24,22,6,16 +5 +20,3,14,29 +3,5,6,10 +13,14,18 +4,14,16,43 +33,7,43 +22,5 +5,6 +36,41,12,13,20,6 +22,6 +24,17,6,28 +0 +2,4,5 +20,6,43 +6 +14,6,10 +5,46 +32,38,4,6 +32,35,4,6,28,8 +20,14,6,19 +7,15 +7,6 +2,5,6,16 +17,6,42 +25,4,6 +4,6 +3,4,5,6 +7,5,6,21,19 +25,4,6,49 +31,7,30,49 +14,5 +37,48,12,14,6,28 +14,29 +32,14,6 +3,14 +6 +14,5,6 +25,7,6 +5 +5,23,11 +22,14,5,6 +0 +34,6 +24,20,6,19 +3,4,14,6 +51,7,6 +9,12,25,17,4,5,6 +22,17,14,19,18 +44,5 +25,6 +12,14,5,6 +12,3,5,6 +17,5,6 +47,12,13,3,5,6 +24 +22,6,15,46 +50,5 +20,6,46 +17,6 +12,25,14,6,19 +5,46 +6,19 +3,6 +6 +17,3,6,21,49 +12,5,6,28 +38,3 +6 +25,14,6,21 +14,5,6 +2,14,23 +3,5 +5,6 +17,6 +6 +7,6 +13,20,22,4,5 +32,3,6 +41,3,4,14,5,6 +2,16,42 +17,6,29 +48,14,6,21 +3,5 +2,14,6 +40,29 +5,6,30 +5 +39,31,38,49 +2,3 +31,20,17,7,14 +31,20,14,10 +6 +17 +47,14,5,6 +3,14,5 +13,6,15 +35,5,6 +13,20,4,6 +36,17,7,14,5,6 +5,6,19 +31,6 +14,5,6 +17,7,4 +2,14,5,6 +20,4,5,6,18 +19,42 +47,22,6 +3,6,42 +7,3,14,5,6 +32,14,6,15 +41,6,23 +14,6 +48,41,17,5,6,21,28,16 +44,13,20,5,6 +20,3,6,16 +13,14,6,28 +14,5,6 +2,25,17 +6,18 +9,6 +31,20,17,14,5,6,30 +4,6 +22,4,14,5,28,46 +25,17,14,6 +31,47,22,5 +44,7,4,5,6,46 +27,14,5 +3,16,42 +36,44,13,2,22,5,6,23 +3,4 +12,6 +39,3,6 +0 +6 +2,7,14,5,30 +6,16 +37,48,2,17,6 +13,25,4,5,6,42 +4,46 +2,22,17 +3,4,14,5,6,16 +21 +27,4,5,6 +5 +44,5,6,46 +6 +20,7,4,6,16,18,46 +2,3,4 +2,4,6 +2,14,5,6,11 +7,14,5,6 +4,6,28,11 +5,6,21 +13,20,17,5,6,21 +7,4,5,6 +6 +24,12,14 +7,14,5,28 +17,7,5,6,16 +6,30 +26 +36,20,5 +3 +35,25,20,3,5,6,19 +4,5,6,19 +36,17 +36,13,20,5,6,23 +3,4,5,6 +0 +25,4,5,23 +41,17,3,6,21 +38,22,17,7 +5,6 +34,25,4,14,6 +44,2,14,5,6 +6 +2,14,5,6 +7,5,19 +14,6,16 +6 +13,5 +2,20,16 +12,20,22,5,6,18 +38 +36,5,21 +38,25,14,6 +17,14,5,6 +0 +51,6,30 +25,14,6 +17 +3,14,5 +34,14,6 +3,6,42,8 +2,5 +40,5,6,30 +4,14,6 +39,7,3,5,6 +7,6,42 +17,6 +20,22,3,4,14,6 +47,9,3,5,6 +41,13,22,5 +23 +14,5,6 +35,17,6 +32,14,6,21,19 +48,22,17,5,6 +26,25,7,6 +2,6,49 +48,22,14,5,6,8 +22,14,6,28,15,18 +22,7,5,6 +14,29 +4,5,6 +13,6,10 +4 +5,6,21 +24,6,21,16 +4,28 +5 +5,6 +6 +20,22,17,14,6,42 +0 +40,4,6 +12,20,4,5,6,42 +37,14,5,6 +5 +12 +6,16 +6,15 +44 +5,6 +7,5,6,11 +2,22,14,42 +44,6,15,8 +14,5,49 +2,14,6 +20,14,49 +32,13,7,4,6 +2,20 +5 +50 +2,3,4,6 +44,4,6,18 +31,13,22 +3,4,6 +7,14,6 +17,5 +14,6 +14,6 +4,6 +5 +25,5,6,15,42 +5,30 +35,5,6 +3,5 +6 +50,4,6 +2,7,4,14,6,28 +27,14,6 +27,25,20,6 +22,17,14,6 +22,7,6 +3,6,21 +51,4,14,6 +38,3,5 +6,19 +2,25,6,42 +29 +6,18,11 +5,6,16 +2,25,20,5,42,30 +44 +20,6,28,42 +41,14 +40,44,14,5,6 +14,6 +5,6 +4,6 +7,6 +20,4 +9,14 +22,14,5,6,19,10,29 +3,11 +47,14,5,6 +2,20,3,5,6 +13,17,5,10 +23 +5,19 +0 +5,6,28,15 +12,25,17,14,6,42,29 +17,7 +3,6 +33,6,49 +25,7,3,4,6,21,42 +25,4,16 +20,14,6,8 +50,5,6,21 +12,3,4,6 +0 +3,14,6 +6 +40,14,5,6 +41 +7,6 +9,22,14,5,11 +6 +44,6 +12,20,5,10 +6 +14 +7,6 +44,20,5,6 +3,5,6 +25,7,6,46 +3,6 +3,5,6,16 +47,12 +33,22,6 +5,6,28,10,8,11 +12,6,10 +6 +31,48,25,20,6 +20,6 +5,18 +14,5 +4,5 +25,5 +5,6,15 +35,25,17,4,14,6,30 +6,10,23 +12,2 +14,6 +22,6 +2,17,14,5,6 +2,7,5,6,43 +40,13,6 +8 +14 +4,5 +3,14,6,28 +37,14,6 +20,22,6,21,8 +20,5,6 +32,25,20,5 +22,3,14 +35,7,3,6,8,29 +17,6,18 +22 +6,46 +4,14,6,11 +32,20,14,6,29 +37,25,3,6 +5,8,30 +14,5,6 +48,5,6,18 +51,33,2,3,5,6 +2,6 +0 +17,6 +14,6 +13,25,14,5,6 +13,7,5,6,29,30,49 +17,5,6,15 +4,15,46 +12,4 +5,6 +20,6 +35,14,5,6,30 +5,18 +12,7,6 +44,6 +17,7,6 +3,5 +26,12,16 +17,8 +6 +25,3,14,5,6 +40,2,6,42,29 +37,7,6,21,46 +26,5,6 +27,17 +35,20,5,6 +17,3,5,6 +25,4,14,5 +27,3,21,43 +40,20,5,6 +51,24,6,11 +22,5,28,15,18,30 +51,34,17 +44,5 +34,35,2,5 +3,4,6 +37,7,28,11 +22,14,5,6,28 +3,19 +24,14,6 +6 +0 +35,14,6 +5,16 +51,44,3,11 +4,5,6,8 +12,5,6 +5,6 +18,23 +27,6 +22 +39,7,3,21,49 +5,6 +9,13,5 +3,5,6,30 +31,5,6 +37,6 +9,12,25,20,5,6,28 +5,6 +17,5 +26,4,6 +2,7,6,8 +24,6 +5,6,10,42,46 +22,6 +3,5,6 +9,14,6,15 +13,4 +22,5,6,8,46 +35,5,6 +7,5,6,23 +13,6 +6,23 +7,4,14,5,18 +20,5 +21 +14,5 +0 +45,2,3,6 +12,2,17,6 +34,25,3,4,6 +3,6 +17,4,14,6 +6 +14,6 +0 +5,6 +13,14,6 +31,17,6,21,23 +6,18 +3,11 +3,14,5 +32,25,5 +44,22,14,6,8 +17,3,6 +7,6 +37,47,4,6 +12,3 +14,5,6,19 +12,5,6 +6,21,11,30 +12,22,4,6,29 +22,4 +9,20,22,5,6,21,46 +6,30 +35,20,5,6,19 +6 +5,6 +24,40,14 +4,14,5,6 +41,7,5,6 +45,14 +41,17,6,19 +34,33,21,19 +51,35,25,4,14,5,6 +35,20,29 +20,3,4,6 +9,10 +25,6 +14 +9,4,6,16,8 +12,14,6 +48,20,5 +44 +14,6,46 +9,4,6 +4,5 +7,14,6 +25,5,6,46 +3,14,6 +2,5,6 +42 +26,5,6 +34,2,17,6 +6,42 +22,3,14,42,29 +7,4,5,6 +25,5,6,21 +26,17,3,23 +7,5,6 +31,25 +13,6 +2,5,6 +12,6 +7,3 +34,6,21 +34,17,5,6 +41,13,14,6 +7,14,6 +6 +27,25,22,17,3,14,6,8 +6,49 +27,2,6,21 +22,7,14,18 +13 +24,12,6,16,43 +2,25,5 +33,14,5,6,43 +5,6 +5,6 +14,5,6,16,18,8,46,11 +21 +48,26,4,6 +47,17,7,3,4,5,6 +13,22,14,8 +25,22,17,6 +22,6 +7,6,28,11 +3,10 +14,6 +3,5,6 +26,12,6 +5,6,28 +36,33,14,6 +2,5,28 +5,6 +22,6 +6 +5,29 +26,5,6,10 +26,22,5,6 +47,7,5,6,16,46 +3,6 +6,15 +17,14,6,21,16 +4,5,6,46 +22,6 +6 +25,20,4,5,6,19 +0 +20,6 +44 +2,17,6 +20,4,6,28 +13,17,14 +12,17,5,6,42,18 +12,7,4,6,11 +26 +5,23,49 +25,6 +7,14,6,42 +5,6 +40,9,41,25,3,14,5,6,18 +5,19 +13,5,6,10 +38,17,7,4,14,6,49 +7,3,4,6 +22,4,28 +12,13,4,6,19,46 +6,46,49 +6 +37,12,2,5,6,43 +0 +3,5,6 +32,6 +50,3 +4,5,42 +39,35,4,5 +6 +51,4,15,29,49 +17,5,6 +12,13,7 +40,22,5,6 +25,22,4,14,6 +6 +27,5,28,29 +7,16 +48,7,4,14,6,18 +40,4,5,6 +13,4,5,6,49 +36,6 +35,17,19 +4 +48,13,14,5,6,49 +3,5,6 +7,4,5 +24,3,5 +27,6 +5,6 +17,14,6,8 +31,5,6,10 +4,6 +32,44,4,14,5,6,21,23 +41,17,6 +35,26 +7,5,6 +14 +4,5,18 +31,34,13,5 +20,14,6,21 +6 +14,6 +6,18 +3,14 +7,3,5,6 +6 +14,5,6 +28,43 +41,6 +14,6 +17,4,6 +6 +22,4,5,6 +14,5,6 +4,6 +0 +7,6,46 +36,20,7,6 +13,4,14,6,21 +4,14 +6 +21 +5,29 +13,2,19 +2,5,6,21,8,46 +12,3,6 +25,5,6,15,49 +35,7,29 +12 +31,6 +6 +25,30 +6,18 +47,32,28 +20,17,5 +6 +36,13,4,21,29 +17,29 +5 +7,5,6 +48,14,43 +25,5 +44,14,10 +27,12,6,18 +22,7,6 +6 +12,21,46 +12,22,17,14,6,29 +14,6 +4,14,6,19 +3,5 +39,23 +35,20,10 +0 +2,7,14,6,11 +24,13,6 +41,6 +7,5,6,28 +25,6,46 +7,4,5 +40,6,16 +22,4,14,5,19,49 +14,6,42,49 +12,4,6 +5,28,8 +25,6,19 +13,6,15 +5,42,23,30 +3,5,6,15 +6,19 +12,17 +20,7,6 +13,22,4,46 +47,6 +5,6 +20,3,5,6 +5,6 +5,6 +39,14,6 +17,5,28 +5 +20,6 +4,6,28 +38,6,19 +26,20,6 +33,28,19,11 +6,28 +25,6 +14,6,10 +25,14,5,6,16 +46 +17,14,5,6 +31,3,6 +17,14,6,21,15 +20,3 +34,12,14 +5,6,15 +14 +22,4,14,19 +12,6 +22,4,5,6,28 +24,4,5,6 +27,48,5,6 +41,2,7,6 +25,6,15 +45,47,6 +5,6 +22,17,4,6 +20,17,14 +2,17,3,5,21 +36,20,5,6 +37,4,14,6,21,15 +45,2,4,5 +3,5,6 +17,3,5,6 +48,14,6 +31,5,6 +6 +36,5 +6,42 +7,5,6 +2,6 +6,28 +6,43 +5 +7,4,14,6,18 +6 +31,5,6 +6 +38,6,21 +42 +33,12,3,5,6,19 +7,4,6 +9,35,22,6 +20,6,21,29 +4,14,6 +5,6,10,43 +12,7,4,5,6,28 +6 +6 +22,3 +7,4 +13,10 +3,6 +34,14,6,16 +48,25,5,6,42 +22,7,3,5 +7,3,4,5,6 +50,7,14,6,43 +38,7,14,5,6,49 +6 +22,5,6,30 +41,7,5,21 +14,6,42 +3,4,5 +44,25,20,4,6 +13,14,6 +6,23 +7 +22,4,14 +2,4 +17,7,6 +13,14,6 +17,5,6,46 +5,6,42 +38,4,6 +26,42 +5,28 +22,14,5,6 +50,21 +7,42 +51,5,10,42,8 +25,6 +5,6,28 +24,4,6,28 +14,6,21,11 +45,6 +4,6 +25,17,6 +2,6 +38,4,14 +39,5,6,10,16 +6 +3,49 +17,5,6,42 +22,6 +4 +20,3,5,6,42 +4 +20,5,6,15 +17,7,4,5,10 +17,6 +27,5,19 +24,7,3,5,29 +2,4,6 +12,5,11 +3,6 +0 +20,3,4,6 +2,14,6,28,18,8 +20,14,6 +41,5,6,28 +25,4,19,18 +12,20,3,5,6 +50,3,5,6,42,43 +17,6 +20,17,7,4 +6 +5,6 +2 +5,10 +6 +14 +20,6 +6 +2,14,5 +14,5,6 +14,6,42,46 +39,7,4,6 +3,14,42 +38,22,7,19 +48,44,3,6 +5,6,42,29 +41,6 +3,14,6 +5,6,15 +37,13,6 +22,3,4 +45,14,5,6 +2,6 +38,5,6,23 +2,6 +50,17,5,28 +17,5,6,29,43 +9,5,6 +27,22,4,5,6 +4,6 +20,22,5,6 +45,4,5,6,10 +7,4 +41,5 +38,6,15,10 +13,22,7,3,6 +39,12,22,3,6 +9,19 +13,14,5,6 +14,6,42 +12,14,6 +17,14,5,6 +20,7,5,6,15 +33,2,5,28 +47,6,21 +6 +4,5,6,42 +7,4,6,30 +6,10 +22,5,6,49 +31,17,7 +39,14,6,42 +50,14 +8 +2,3,5,6 +4,6 +39,17 +5,46 +6 +34,25,7,4,6,28 +33,3,5 +48,4,14,5,11 +6 +5,6 +5,6,49 +41,7,3,14,5,6 +6,30 +4,6 +40,41,12,22,5,6 +20,14,6,49 +14,5 +22,7,6 +48,2,17,4,5 +31,6 +17,5,11 +14,6 +14,6 +17,6 +5 +48,2,20,6,18 +25,5,6 +24,9,6,21 +3,5,6 +6 +48,14,5,6,46 +51,41,6 +20,14,6 +34,5 +14,6,16 +48,44,22,5,6 +3,6,19,16,29 +48,6 +51,14,5,6 +47,27,2,5,19,23 +0 +6 +6,21,46 +9,5,6 +6,18 +14,5,6,19 +12,5,6 +4,5,6 +17,7,5,8,11 +26,17,4 +37,17 +5 +24,34,5,6 +32,6,18 +44,22,14,6 +23 +14,6,10,23 +2,14,6 +35,6,10 +6,8 +39,45,12,3,6 +26,6,16 +44,4,14 +3,5,6 +6 +39,5 +13,3 +41,20,14,6,21 +25,3,16 +31,16 +32,17 +27,22,4,10 +6,15 +6 +13,20,22,5,6,18 +33,22,5 +20,22,5,6 +6 +45,48,7,5,6 +22,14,6,28,49 +3,14,6 +33,13,5,6 +44 +13,6 +22,17,4 +13,14,6,19 +35,22,14,5 +24,4,28 +6 +13,5,6 +6 +35,22,6 +3,6 +41,12,20,28 +3,14,5,6,46 +4,5 +36,2 +14 +33,7,14,6,21 +36,22,5,6 +35,44,13,22,6,21,28 +40,3,6,16,29 +22,4,6 +17,14 +38,22,6,19,29 +12,20,4,5,6 +38,13,7,4,5,6,30 +5,6 +37,44,3 +22,4,5,10 +6,8 +3,14 +0 +14,5 +26,17,6 +6,23 +17,5,6,19,16 +4,5,6,21 +31,9,17,7,6 +47,27,7,4,5,6 +5,6 +3,6 +27,41,6,16 +36,6,28,15 +22,6,15 +17,7,14,5 +31,12,17,4,5,6 +2,4,8 +6,21 +3,14,5,6,42 +17,14,6 +25,22,4,14,6 +40,7,10 +14,5 +41,5,6 +2,4,5,6 +31,6,16 +6 +17,5,6 +31,6 +22,8 +17,5,6,28 +51,14,5,6,18 +20,14,5,6,18 +6,16 +6 +6 +21 +5,6 +2,17,5,6 +7,6 +4,6,15 +14,5,29 +2,17,4,5,6,15 +25,20,22,6 +6,11 +36,2 +38,12,20,5,6 +17,3,6,19,16 +9,27,20,4,14,6 +37,7,14,6,21 +14,6,21 +7,6 +2,22 +36,7,6,46 +27,4,14 +20,6,16 +51,6 +6 +7,6,49 +7,5,6,49 +51,20,3,14,5,6 +13,14,6,30 +20,14,5,6,30 +31,5 +14,5,6,42 +5,6,11 +17,4,6 +7,4,5,6 +14 +14,5,30 +13,6 +17,4,21,46 +40,35,7,5,6,16 +5,6 +6 +45,31,44,6,46 +14,5,19 +5,10 +6,18 +6 +4 +9,35,25,22,17,6 +6,19 +20,3 +2,23 +3,14,6 +20,22,5,6 +47,4,5 +6 +50,22,6,18 +17,6,11 +20,3,10 +37,6 +24,14,6 +40,47,25,20,19,43 +45,25,3 +25,6 +2,20,3,5,6,15,46 +14,6 +12,25,4,5,6 +20,17,6 +14 +12,4,5,6 +13,2,7,28 +17,6 +20,6 +7,6 +44,4,14,5,6,46 +33,6,16 +6,23 +0 +0 +9,17,14,6,28,30 +4,6,29 +47,34,48,2,43 +0 +25,6 +2,7,6,21 +24,40,5,28 +14,6 +7,5,6 +2,4,5,6,16 +50,20,14,5 +6 +5,6,21 +4,14,5 +0 +14,6,15 +4,5,6,19 +17,5 +14,21 +0 +26,7,4,6 +0 +3,6,8 +51,26,20,6 +20,7,14,5 +26,3,5,6,21 +6,15,42,49 +5,6 +20,17,6 +5,6 +37,13,20,4,14,16 +47 +22,6,42,23,49 +32,5 +13,22,17,5 +5,6,21 +20,22,14,6,28 +51,17,7,3,6 +7,4,5,6 +2,3,5,6,43 +3,6 +37,7,5,6 +32,15 +50,6 +2,3,21 +5,6 +4,6,15 +22,5,6 +14,6,29 +14,5,6 +3,6 +45,20,5,6 +4,6 +39,41,17,6,8 +12,6,23 +4,6,10 +39,22,17 +6 +3,5,6 +34,38,17,23 +36,3 +35,13,25,4,14,5,6,19 +7,14,6,18 +9,27,25,7,5 +13,5 +33 +40,4 +6,23 +17,21,42 +20 +33,25,5,6 +39,2,20,3 +5,6,16 +14 +17,7,5,21,29 +32,7,6,21 +7,14,5,6,21,15 +6 +25,14,6 +32,5,6 +12,6,21 +12,17,4,5,6,46 +38,20 +18 +37,14,5,6 +41,6 +45,35,2,19,29 +6 +3,14,5,6 +20,17,5,6 +44,3,6 +13,3,6 +4,14 +50,12,7,6,42 +34,36,6,19,43 +20,6 +35,3,6 +25,6,21,28,15 +4,14,5 +12,7,14,6 +41,20,3,6 +6 +6,19,11 +38,5,6 +20,17,14,18 +41,5,6 +14,6,42,18 +2,20 +26,5,8,11 +13,25,6 +14,6,43 +24,6 +6 +13,5,6 +50,5 +13,3,14 +14,6,21 +5,6 +2,17,7,10 +39,51 +3,4,14,6,42 +34,5,6 +7,14,6 +37,20,17 +22,4 +22,14,5,6,11 +13,6 +25,6 +7,5,6,10 +5,6 +26,25,6 +25,14,6,46 +14,6 +4,14 +22,6 +20,22,14,6,28 +7,3,6,10 +24,14,42 +13,5,6 +14,6,42 +13,6 +32,14,6 +14,5,6,42 +47,17,3,6,28,42 +6,10 +12,25,3,28,16 +13,7,4,14,6 +3,14,6,49 +24,5,6,18 +5,6,10 +47,7,6 +48,22,6 +20,6 +25,22,17,4,6 +39,33,22,6 +14,5,6,11,30 +5,6,21 +3,23 +0 +0 +6,21 +24,2,4,14,6,10 +3,6 +2,22,14,29 +48,12,22,42 +33,20,6 +36,22,5 +17,7,4,5,6,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +31,17,3,21 +3 +25,3,6 +13,6 +14,11 +34,41,17,6,42 +6 +13,5,6,16 +34,20,28 +2,17,7,6 +36,20,5,6 +20,14,6 +9,4,6 +0 +12,6 +39,31,47,3,5 +34,5,6,16,23 +17,5,6 +14,6,21,42,18 +13,6 +3,4,6,43 +35,14,5,6,21 +12,5,6 +4,5 +12,3,5,6 +45,11 +17 +17,5,6,15,19 +5,6,28 +47,2,25,6,19 +5,6 +51,48,6 +17,5,8 +38,6,49 +12,5,6,23 +45,4,5,6 +4,5,6,28,29 +6,29 +2,7 +36,3,5,21 +38,12,25,17,7,21 +6 +6 +31,17,19,42 +22,5,6 +36,7,6,19,42 +14,5,6 +6 +38,7,3,6,46 +17,5,43 +14,6,21,28 +48,6,21,11 +47,5,23 +40,22,8 +20,6,16,42 +12,13,14,5,6 +5,6 +5,6 +50,32,4,5,6 +44,26,20,5,6,15,23 +20,14,6,28 +9,4 +33 +12,13,17,7,6,28,42 +0 +13,5,6 +22,3,4,5,6 +28 +51,6,15 +32,12,25,14,15,11 +3,4,5,6 +33 +44,6 +24,26,6 +38,5,6 +6 +51,6 +12,3,6 +5,6,21,42 +20,3,6 +17,5 +22,7,5,6 +7,4,6 +47,38,6,16,30 +6,18 +12,7,4,6 +22,6,19 +48,2,14 +3,6 +7,3,4,14,6,21 +17,4,5,6 +17,6 +14,5,6 +6 +3 +7,3,14,6,19,18 +31,22,17 +0 +4,6,19 +12,4,6 +4,5,6 +5,6 +0 +3,6,23 +2,7,6 +39,14,6 +48,17,3,4,42 +14,6,19,29 +48,3,5,6,46 +44,12,13,22 +20 +3,4,5,6 +38 +33,20,6 +2,6 +4 +3,6 +17,14 +14,6 +5,6,21 +17,7,5,6,18 +7,5,6 +25,17,14,6 +3 +4,14,6 +25,22,7,6 +17,14,5,28 +7,16,18 +14,6 +6,29 +5,6 +32,48,26,5,6,11 +17,6,43 +10,16 +40,14,6 +2,5,6 +12,22,4,5,6 +5 +32,2,14,6 +27,4,5,6,19 +4,6 +39,13,22,8 +3,5,6,28,10 +4,6 +31,5 +13,20,22,3,4,6,28,43 +4,5 +12,3,5,6 +44,13,7,15 +14,46 +27,14,6 +0 +9,6,23 +6 +25,14,5,6,42 +46 +5 +0 +20,6 +17,4,6 +35,4,5,6,10 +25,5 +37,38,5 +4,6,23 +25,3,5,6,21,15 +17,14,5,6,10 +3,6,28,30 +6,21 +3,14,6 +31,48,13,4,19,8 +25,5,6,42,29 +27,6 +12,22,3 +41,14,6 +32,48,4 +0 +47,3,5,6,21 +6,19,42,8 +25,17 +20,5,6 +51,4,6 +36,22,6,8 +5,6,46,29 +26,5 +45,48,20,6,21 +27,7,14,5,6 +2,20,7,5,6 +20,14,5,6,42 +5,18 +17,7,5,6 +20,14,5,6,23 +40,7,6 +51,40,12,14,6 +38,3,4 +14,5 +22,7,5,6 +6 +6 +22,5 +2,22,3 +48,20,21,19 +22,14,6 +14,6 +2,4,6 +47,9,41,4,6,21 +13,5,46 +14,5,6,19,23,11 +4 +17,7,5 +2,20,5,10,49 +36,22,3,6 +3 +2,5,6 +2,6 +2,20,5,6 +0 +4,5,6 +7,4,14,6,43 +26 +44,6 +3,6 +48,4,5,6,29 +0 +5 +47,25,20,22,3,4,14,6,16 +32,14 +2,14,6 +2,25,14,6 +4,14,5,6,8 +4,14,5,6,28 +20,22,7,4,5,49 +12,20,6 +4 +7,6,11 +13,22,6,23 +5,6,15 +17,5 +14,11 +27,5 +32,3,14,6,42 +32,5,11 +50,33,2,5,6 +22,7,6 +29 +22,14,5,6 +5,6 +17,5,6 +26,7,3,5,6,18 +26,22,4,14,5,6 +48,25,4,6 +12,3,5,10,23 +27,6 +6,46 +20,17,4,6,15 +22,5,6 +32,14,6 +14,6,23 +38,25,6 +44,14,6,15,42 +5,6 +17,6,23 +14,5,6 +14,6 +3,4,6 +4,14,5 +34,35,2,14,6 +25,6 +3,14,6 +17,5,6 +38,6 +44,17,14,6 +13,7,14,6 +2,3,5,6,8 +40,2,7,5,49 +12,22,3,14,6,23 +12,7 +14,6 +34,25,3,6,29 +26,20,6,19 +27,26,3,6,19 +14,5,6 +12,17,6,19 +6,46,30 +20,22,3,5,6 +28 +2,14 +4,5,6 +27,33,22,5,6 +26,6,43 +41,13,5,6 +9,7,6,29,11 +5,6,8 +48,33,19 +17 +7,6 +20,5 +6 +14,8 +6 +4,5,6 +25,14,6 +9 +6,29,49 +12 +0 +9,5,6 +14,6 +39,40,48,3,5,6 +5,6 +5,6 +3,14 +33,17,6 +26 +32,13,3,14,5,6 +25,7,3 +24,17,6,23 +5,6 +7,3,4,6 +6 +4,14,5 +5,6 +2,5,6,16 +51,2,22,15 +17 +36,2,4,6 +34,14 +3,14,11 +12,5,28 +20,6 +4,5,6 +20,22,14,5,6 +13,4,19,10 +5 +4,14 +6,42,18,23,8 +27,14,5,6 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +44,5,23 +26,12,3,5,6 +6,15,30 +44,17,14,5,6 +20,17,3,6,10 +0 +17,6 +0 +3,5,30 +4 +5,6,10 +25,4,6,16,29,11 +14,5,6 +22,14,5,6 +5,43 +2,22,4,5,6 +0 +36,13,5,6 +3,6 +37,2,21,15 +35,2,4,6,18,29 +3,14 +47,34,14,6 +22,7,14 +4 +5,6 +25,5,6,19 +22,6 +4,5,6 +6 +6,46,43 +12,13,6 +6 +31,34,3 +49 +7,6 +25,14,15,16 +12,22,17 +25,6,23 +22,7,5,6 +31,2,8 +20,3,6 +5,6,23,29 +17,6 +2,14,21 +44,12,14 +5,8 +12 +2,7,3,30 +41,4 +35,25,6,10,23 +27,17,28 +14,6 +20,22,4,14 +4,5,6 +14,6 +26,14 +13,25,4,6,21 +20 +12,25,14,6 +14,6 +6,43 +7,4,6 +6 +5,6 +6,19,18 +14,6,28 +33,20,4,6,19 +4 +2,22,6 +34,5,6,28,8 +5,6 +6 +7,6,49 +6 +14,5,6,16 +37,2,25,6 +50,47,3,19 +25,18 +6 +9,4,5,6 +3,6,15,19,11 +38,4,6 +13,17 +17,6,18 +5,6 +13,17 +3,14,6,19 +3,30 +7,16 +7,5,6 +0 +47,2 +25,3 +12 +33,20,14,5,43 +5,6,23 +3,14,5,6 +40,38,14,5 +20,22,7,6 +7,14,5,6 +22,3,5,6 +6 +25,6 +41,17,14,6 +33,25,14,5,21 +25,5,6 +22,5,6 +37,6 +5,6,19,29 +4,6,42 +13,5,6 +12,6 +13,17,6,46 +14,6,28,16 +38,4,14,6 +25,22,6,15,11 +35,6,10 +12,6,8 +9,33,12,13,6 +17,14,6 +17,3,5,6,16 +4,6 +51,22,14 +4,6,21 +2,4,6 +13,14,6 +6 +35,14 +32,9,6 +25,5,6 +25,22,3,5,6 +6,19 +14 +6,28 +41,3,4,14,6,46 +9,20,4,14,5,6 +3,6,16,11 +22,7,6,18 +6,29 +33,5,6,16 +35,13,2,4,6 +22,4,6 +26,20,5,6 +20,14,5,6 +2,17,23 +6 +22,6,16,30 +17,7,4,6 +22,4,5,6 +17,6 +40,41,6 +26,22,6 +3,4,5,6,16 +36,4,6,29 +33,6 +14 +25,22,7,4,5,6 +9,7,14,19 +4,14,5 +2,4,5,6 +35,6,11 +45,6 +2,6,15 +48,14,6 +6 +6 +35,27,33,14,6 +13,5,6,19 +5 +32,6 +17,4,5,6,15,18 +26,6 +45,13,5,6 +21,23 +14,6 +14,6,18 +31,27,41,12,22,17,6,43 +14,6,49 +14,5 +14,6,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +13,5,6 +35,33,22,7,6,42 +38,2,6,18 +0 +13,6,10,49 +45,22,4,5 +5 +3,6 +20,14,5,28 +4,6 +3,6,29 +13,17,7,6,10 +5,21 +5 +35,22,14,5 +22 +2,3,6,21 +12,25,14,5,6 +13,6,29 +5,6 +5,6 +36,14,5,6,16 +6 +7,4 +5 +5,6,46 +33,17,4,5,6 +22,7,5,6 +0 +12,22,6 +33,6 +13,17,5 +6 +37,6,46 +26,7,14,28,15,10 +14,6,43 +12,20,6,28 +25,17,4,14 +4,5,8 +41,3,5,42,8 +4,14,8 +3 +5 +45,25,22,3,6 +29,43 +9,2,14,5,6 +27,12,17,4,5,6 +6 +41,22,19 +2,22,6,30 +6,42 +35,14,6,10,42 +2,6 +7,6,49 +45,13,6 +22,6 +15 +14,6 +41,26,6,19,16 +25,5,6 +20,22,4 +37,17,7,6 +3,14,5,6,19 +3,6 +17 +22,42 +38,12,22,7,8 +4,5 +22,7,4,5,10 +7,6 +17,6,42,46 +44,4,5,6,19 +35,5,6 +24,4,5,6,10 +5,6 +33,4,5,6 +13,6,21 +23 +33,5 +6 +41,17,8,29 +3,5 +13,6 +25,7,4,6 +14,6 +14,6 +6 +5,6 +13,17,5,6 +24,14,5 +9,12,20,17,3,4,14 +48 +22 +39,6 +31,4,5,10,8,49 +14,5,6 +6 +13,14 +20,4,5,8 +5,6 +12,7,6 +0 +4 +14,5,18 +6 +25,6,46,11 +3,14,6,10,46 +5,6 +20,28,19 +3,5,6 +40,7,6 +6 +12,22,14,6 +14,5,6 +5,6 +38,4,14,6 +26,13,6 +6 +5,6,18,29 +47,5 +14,6 +50,48,49 +44,3,14,6 +27,12,7,5,42 +12,14,5,6 +5,6 +22,14,6,30 +25,6 +2,5 +37,5,6,11 +5,6 +7,6 +6 +45,6 +3,6 +17,4,14,6,18 +14,5,6,42 +27,4,6,23,8 +14,6 +6 +5,6,21 +14,21,19,10 +36,6 +12,25,22,6,42,18,23 +7,4,6 +3,6,30 +6 +26,22,3,6,23 +5,8 +17,3,5,6,28,15,10,18 +27,14,10,43 +7,6 +12,6 +13,17 +13,6 +24,27,12,17,14,6 +33,5,11 +13,25,5,6,19 +35,6,19 +0 +14,6 +6 +47,12,6 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +22,14,6 +17 +17,3,6 +42,18 +6 +5 +38,33,2,20,30 +12,22,7,4,6 +47,25,20,5,6 +3,5,6,21 +47,7,4,6 +50,4 +6 +6 +6,10,30 +6,21 +5,6 +22,6 +4,14,6 +14,5 +5,6,18 +6 +2,25,3,14,5 +20,5 +48,14,15 +7,5,6 +33 +25,6,23 +6 +4,14,6,23 +25,4,5,8 +2,14,6,10 +12,6 +35,5,6,23 +23 +14,6 +4,5,6,46,30 +3,6 +5,6 +6,15 +25,6 +36,3,4,14,19 +20,17,4,6 +7,46 +26,17,7,6,10,16 +6,19 +48,12,15 +35,6 +14,5,6 +44,4,5,21,49 +6 +0 +36,27,6 +26,7,14,6 +20,6 +5,6 +4,6 +5,49 +2,17,3,5 +50,14,6 +27,14,30 +5,6,10 +26,4,6,21,11 +16 +7,5,6,21 +22,6,16,18 +6 +26,4 +3,5,6,21 +6 +22,14 +6 +24,6 +25,14,5,6,15 +38,5,6 +5,6 +13,3,6,11 +38,6,30 +40,4,5 +6,10 +6 +20,14,5 +2,3 +7,6,16 +12,3,4,6 +27 +20,14,6 +47 +20,14,6 +9,27,6 +33,6 +6 +12,5,6,18 +51,7,3,5,6 +5,6 +39,41,5,23 +6 +0 +2,5,6 +45,22,6 +30 +9,5 +25,14 +14 +45,3,29 +6 +7,5,6,16 +17,3,4,6 +22,15 +5,6 +17,6 +48,5,6 +14,6,18 +25 +4,6,19 +25,14,6 +3,21,29 +22,14,5,6 +13,14,6 +4,6 +20,4,5,6 +5,6 +13,22,4,6 +48,5,6,11 +3,6 +14,42 +4,5,6,15 +2,6,11 +22,6 +13,25,17,4,5 +27,25,4,5,6 +22,14,28 +5,6,19,46 +17,14,6,23 +7,6,46,11,30 +22,4,6 +3,4,6 +39 +14,6 +6 +25,6 +3,4,15,42 +34,2,20,14,5 +0 +5,6 +48,6,29 +17,3,4,14,6 +12,20,6 +6,15 +6 +13,5,21 +27,3,6,19,30 +17,5,6 +34,21 +14,6 +7,14,5,6,30 +14,6,30 +6,19 +25,5,6 +5,19 +35,12,14,5,6,11 +7,3,6 +14,6 +25,5,6 +7,46,49 +5,6 +25,5,6 +14,6,11 +51,2,4,14,5,6,8 +33,15,16 +40,41,6 +8 +20,17,7,4,6 +36,3,14,6 +3,6,42 +2,3,6,18 +6 +17,4,14,6,11 +33,4,14,5,6 +39,45,14,6,8 +13,22,14,5,6,18 +9,41,17,6 +7,14,5,6,15,23 +7,3,14,6 +13,3,14 +25,14,6 +4,5,6,46 +3,6 +34,41,17,6 +36,3,14,5,6 +33,22,6 +25,17,5,21 +34,20,3,6 +25,17,5,49 +40,25,3,6,16 +20,3,5,6 +6 +7 +33,7,6,18 +5,6 +13,22,16 +6 +41,22,5,8 +18,49 +31,6 +14,5,6,21 +6 +47,5,6 +51,45,48,15 +4,5 +6 +7,29 +22,4,6,8,29 +22,5,6,10 +37,13,25,4,6 +6,49 +5,49 +14,6,8 +25,7,6 +6 +17,3,6 +2,4 +12,4,6 +22,6 +2,3,4,5,6 +17,7 +6 +32,48,22,4,14,5,6 +25,5,6 +48,4,6,16 +5 +0 +3,10,11 +20,16 +32,35,41,6,19,42,49 +12,14,5,6 +7,6,23 +7,3,23 +31,17,46 +13,15 +13,14,5,6,43 +20,4,8,43 +32,6,28,10 +4,14,6 +6,21 +14,19 +14,5,6,18 +2,4,5 +6 +31,6 +14,5,6 +7,3,14,6 +26,17,6,43 +7,14,5 +39,6 +6,16 +38,2,17,6,43 +12,7,5 +17,3,6,46 +17,7,5,6,21,19 +40,6 +3,6 +22,6,49 +4,14,5,6 +14,6,30 +38,13,6,28 +35,3,5 +5,6 +27,7,16 +6,29 +14,5,6 +6,29 +33,25,7,4,6 +17,6,18 +3,6 +6 +22 +34,4,14,6 +5,6,46 +4,5,6,15 +24,36,20,19 +20,17,3,4,14 +22,14,6,28,16 +9,48,14,15,16 +0 +47 +13,20,6,8,46 +5,42 +39,48,3,6 +6,10 +17,6 +5,6 +9,7,14,5,6 +6,49 +7,14,6 +40,17,14,6,10,16 +13,2,25,4,14 +2,5 +25,17,5 +25,5,6 +50,6 +7,4,6 +47,5,6,28 +6 +44,22,4,5,6 +32,9,12,20,7,5,28 +14,6,46 +14,19 +4,5,6,10 +22,6,29 +4,6,28,46,29 +35,48,17,5,6 +5,6,30,49 +5 +5,6,28,10,42,49 +45,13,14,5,6,18 +37,25,4,6 +12,5,6 +39,4,15 +6,15 +22 +27,13,25,5,6 +35,3,4,6 +38,6,28,42 +36,25,14,6,16 +12,5 +26,25,14,5,6,15 +13,7,6 +6,30 +4,6 +4,6 +12,6 +7,3,6,42 +48,3,5,6 +50,6,15 +12,4,14,5,15 +13,7,14,6 +37,9,34,33,2,17,4,6 +14,6 +39,5,6 +3,14,6 +7,3,5,6 +39,4,6,11 +7,4,5 +6 +22,5 +6 +45,7,14,6 +50,35 +12,2,6,43 +3,6,19,8 +3,5,6,18,43 +3,14,16 +2,17,4,21,29 +4,5 +7,5,6 +22,6 +13,22,6,19 +34,17,14,5,6 +2,6,30 +5,6,10 +31,6 +21,30 +25,4,6,18,30,49 +0 +34,14,6,46 +50,12,25,4,6 +44,13,17,4,15 +48,3,6,11 +51,45,7,14 +4,5,6 +37 +44,12,3,14,15 +2,4,6,23 +4,15,29 +6,15 +6,28 +37,27,48,20,17,5 +7,14,5,6 +48,7 +7,5,6,10 +32,2,17,14,5,6 +6,28 +32,5,6,46 +41,7 +6 +5 +5,6,30 +14,6 +22,5,6,30 +44 +6 +22,6 +4,5,6 +50,12,6 +17,3,5,6 +3,6,28 +44,5,6 +14,6,21 +33,13,14,6,8 +14,21 +25,5,6,8 +4,14 +5,6 +7,6,15 +24,38,48,22,3,14 +6 +14,5,6 +40,3,4,5,28 +5 +24,4,5,6 +38,2,4,14,10 +12,3,6 +37,25,7,4,5,15 +22,17,10 +14,6 +31,2,17,5,6 +38,14,5,6 +17,14,6 +7,6,49 +40,25,6 +40,35,14,5,6 +6 +27,33,4,6 +25,22,14,5,6 +22,6,21 +17,3,5,42,18 +44,4,6 +37,3 +44,20,3,6 +32,12,14,5,6 +33,6,10 +2,7,18 +38,13,5,6 +7,3,6,15,11,30 +3,14 +26,3,5,6 +13,5,6,11 +5 +35,26,5,6 +4,5,6,19 +4,5 +6 +0 +6 +26,4,15 +6 +12,13,4,14,6 +4,5,6,15 +5,42,43,49 +17,14,6 +6,19,29,49 +14,6 +17,14,5,6,18,43 +31,17,6,42 +51,5,6 +37,47,6 +38,26,6,16 +37,15,10,18 +27,4,6,21 +17 +33,25,3,6 +17,3,14,5,15 +7,4,5,6 +41,22,3,4,5,6 +41,6 +38,15,42 +5,6,21,11,49 +50,6 +7 +20,22,3,4,6 +10 +50,22,5,6,43 +25,17,5,6,16 +15 +4,14,5,6,10 +6,21,42 +41,7,4,6 +4,5,6 +51,9,25,20,7,6,42 +20,5,6 +25,7,4,5,21 +25,4 +4,6 +2,22,17,5,6 +6,15 +12,6 +22,14,5,6,46 +3,6,28 +6 +14,5,49 +7,14,6 +14,5,6 +5,6 +6 +39,4,5 +33,5,6,30 +14,6,16 +48,14,6,10,8 +6 +6 +3,6,28 +4 +2,25,6 +20,5,16,18 +11 +44,3,6 +35,42,23 +39,6 +45,26,13 +9,6,28 +6 +34,12,5,29 +20,10 +31,20,14,5,6 +7,5,18 +41,13,22,4,5 +11 +41,14,18 +6 +7,3,6 +35,7,14,5,6 +5,6,19 +20,14,6 +38,44,7,4,14,5,6,42,11,43 +41,2,22,4,6,23 +33,20,18,23 +6 +37,2,4,6 +41,7,3,6 +9,5,28,18 +41,12,25,14,6,30 +25 +45,41,2,3,5,6,16 +47,22,7,6,23 +50,12,13,4,14,6,21 +39,26,12,22,17,14,5,28 +41,2,3,6,43 +7,5,6,18 +22,6 +17,14,6 +6 +13,6 +0 +31,13,2,22,14 +5,6,8 +6,21 +5 +6 +5,6 +5,6,28,8 +13,4,5 +7,14,5 +31,13,17,4,14,5,6 +4,5,6,16 +36,6,21 +40,3,5,6,15 +2,22,6,10 +22,7,6 +17,3,5,6,21 +6 +13,17,5,6 +5,6,21 +6,16 +9,13,5,6,11 +7,3,14,6,15,10,16 +22,7,6 +6,11 +12,4,6 +38,4,14,6 +14,6,29 +41,6 +41,5,6 +35,26,17,6 +3,4,6 +0 +40,26,7,6 +38,2,7,5,6,30 +5,6 +12,17,7,6 +20,5,6 +26,21 +2,5,6,28 +34,2,4,6 +36 +32,34,12,14,6 +12,6,28 +11 +36,12,14,5,42 +7 +0 +17,28,46 +50,6 +4,6 +17,5,6 +31,22,14,6 +17,14,6 +13,25,17,3 +13,6,46 +12,2,3 +22,3,5,6 +7,4,5,6 +6 +12,3,4,6,21 +14,5,21 +36 +2,6 +2,6,28 +5,6 +14,5,6 +33,3 +25,3,5 +13,22,7,14,6 +6,46 +41,22,3,6 +47 +7,3,5,6,19 +17,3,6 +28,10 +45,5,6 +6 +17 +24,47,6 +27,17,6,10 +32,7,5,6,8 +38,22,7,3,6 +14,6 +12,5,6 +17,6,30 +26,12,3,6,15,10 +2,6 +35,2,25,4,8 +22,4,14,5,6 +14,6,15,42 +4,14 +40,5,6 +16 +6 +13,19 +6,10 +36,14,6,21 +3,6 +22,3,43 +6,15 +25,3,4,6,16 +2,14,6 +27,3,4,6 +2,22,14 +47,27,14,6,21 +17,5 +41,13,3,5,10 +51,5,6 +34,25,20,6 +38 +12,22,7,14,6 +4,14,6 +0 +41,4,5,6 +13,4,6 +9,14,5,6,46 +2,20,14,6,18 +41,5,6,23 +25,6 +26,25,22,7,4,14,5,6,21 +3,6,21 +6,23 +27,14,5,15 +34,33,15 +3,5,6,28,42,23 +24,35,12,14,5,30 +3,6 +45,6 +6 +47,20,6 +40,6 +45,7,28 +17,6 +6 +45,7,6 +3,6,42 +4,5,6,16 +0 +42 +5,6 +26,22,17,4,5,43 +14,5,6 +7,21,10 +44,17,4 +14,6 +34,17,6,10 +6 +14,6,21,30 +37,5,21 +12,6 +22,6,15,46 +3,5,6 +6 +14 +25,7,3,14,6,10,49 +22,3,5,42 +13,3 +14,6,29 +17,14,5,6 +7,4,5,6 +34,25,49 +20,17,6,15,18 +50,6,8 +48,2,6,11 +5,6,28 +32,7,5,6,19,29 +3,14 +4,14,5 +3,46 +44,17,3,4,14,5 +27,25,3,5,6 +3,5,6 +48,14,5,23 +26,22,6 +20,14,6,21 +13,6,21 +20,6 +27,14,5,6 +12,17,14,5 +5,6,46 +25,20,7,4,14,6 +7,3,4,5,6,8 +14,6 +7 +4 +5 +33,3,5,6,10 +2,7,4,14 +22,3,5,6 +50,36,14,5,6 +26,5,28,15,18 +39,50,20,5,6 +13,2,4,6 +25,22,3,5,6,15 +5 +2,6,28 +45,36,41,5,6,28 +27,14 +20,22,3,5,6 +6 +0 +6,46 +9,38,17,6 +4,6,10,42 +27,41,3,5,6 +38,44,5,6,43 +5,6 +27,3,5,6 +0 +7,6 +44,26,20,17,7,6 +6 +41,14,5,6,28 +14,6 +4,28,8 +35,13,25,20,5,6,15,19 +6 +13,14 +22,4,6,23 +41,44,17,6 +2,25,7,5 +4,6,8 +2,15 +26,3,5 +26,5,6 +25,5,6,15,19 +2,4,5,6,46,30 +2,4,6 +14,5,6 +38,13,4,6,42 +14,5,6 +36,4,6 +0 +48,22 +20,7,3,5,42,23,11 +2,5 +47,41,6,42 +38,6 +6,15,19,30 +6,49 +36,22,6,15,19,11 +5,6,10 +22,3,6,49 +17,4,14,6,23 +45,2,5,6 +6,28,46 +38,3,6,19 +3,14,5,6 +14,5,6,19 +22,6 +9,7,4,6 +3,6 +40,35,6 +6,18 +50,25,6 +6 +22,17 +13,5,6 +7,5,6,46 +20,5,6 +22,7,3,6 +4,5,6,10,49 +26,14,6,28,49 +9,22,14,5,6,21 +36,4,5 +38,12,14,6 +32,3,4,6 +20,17,3,5,15 +20,17,4,6 +38,14 +32,5,6,30 +4,6 +14,5,6 +48,4,6 +8 +25,4,14,6,21 +41,17,5,6,10 +5,49 +4,6,28 +25,30 +6 +12,17,14,21 +3,6 +7,3,5,6 +5,6 +5 +14,5,6,19,10,46 +14,5,42 +7,14,6 +13,6,18 +3,6,43 +22,5,6 +3,4,5,6 +7 +17,3,4,14,6 +14,6 +3,14,6 +32,35,22,6 +2,4,5,6,15 +6 +5 +26,4,14,6,8,46 +17,5,6,15,8 +12,20,6 +26,20,6 +25,20,5,6 +5,6 +4,6 +7,5,6 +15 +22,5,6,28,29 +25,5,6,19 +31,25,6,21 +33,22 +13,6,21,28,15 +17,14,6 +2,22,6,23 +20,17,5 +20,4,5,6 +12,4,6,19,30 +4,6,28 +4,6,18 +14 +5,6 +31,14,5,6 +0 +7,4,6,15 +4,6 +14 +5,6 +7,6,29 +22,3,5,6 +32,20,17,5,6 +20,6 +32,6 +22,7,5,6 +36,27,7,6,10 +17,5,6 +41,6,21 +0 +13 +7,18 +3,6 +39,5,6 +12,3,14,5 +33,2,22,14,5,6,10,23 +46 +12,22,17,4,6 +37,7,6 +25,20,6 +24,47,2,7,6,11 +5 +20,14,5,6 +6 +47,9,3,6 +49 +6 +45,25,7,5,6,19 +5,6 +14,46 +20,5,6 +6 +41,17,14,5,19 +6,29,11 +5 +6,23 +22,3,4,14 +48,14 +3,6 +35 +0 +6,28 +0 +6 +12,20,17,5 +3,4,28,15,11 +9,34,22,14,5,6 +20,4 +20 +41,17,6,19 +7,6 +13,5,16 +5,6,15,10 +3,6 +40,47,28 +17,6 +3,14,21 +3,5,6 +37,17,5,6,18 +25,4 +2,14,6 +32,2,6 +5 +17,8 +7,3,14,5,6 +32,13,17,4,14,6,23 +16 +14,5,6,42 +35,5,6 +22,17,7,3,5,6 +41,4,6,18 +3,5,6,42 +48,12,14,6 +51,6,29 +31,48,4,14,6,16 +17,6 +17,5,6,29 +4 +45,13,22 +6 +31,34,6 +6,16,30 +2,6 +6,19,29 +5 +25,6,16,29 +20,6 +51,24,34,5,6 +14,5,6 +12,3,5,6 +6,30,43 +22,14,5,6,18,23 +17,6 +10,8 +27,22,4,14,5,6,8 +2,3,5,6 +3,4,14,5,6 +6 +13,7,14,5,6 +5,8 +4,6,15,23 +14,6 +28 +14,6,19 +41,14,5,6 +14,5,6,28,42 +27,6,28,16 +2,14,6 +27,6 +22,3,6,42,18 +4,6 +5 +6,18 +4,5,6,28 +24,12,13,20,3,6 +13,17,14,5,6 +7,28,11 +22,4,6,21 +6,8 +12,3,4,6 +3,14,6 +7,4,6,8 +6 +5,6 +14 +3,5 +30 +36,17,6,16 +6 +36,6,10 +14,5 +25,14,6 +42 +47,26,4,14,5,6,21 +25,14 +14,6 +37,13,6,16 +13,6 +51,6 +4,5,6,29 +34,6 +5 +5,16 +36,35,13,3,6 +36,4,6 +5,42 +14,5,6 +25,6 +47,5 +25,10,43 +3,6 +51,7,6,21,8 +39,14,6,46 +25,14,6 +14,5 +20,22,43 +6 +6,23 +3,5,6 +17,4,6,19,10 +47,17,14,6,30 +12,14,5 +12,17,6,18 +12,13,3,10 +14,5 +5,19 +5 +47,7,6,21 +4,14,6 +17,7,3,6 +14,6 +34,25,3,5,6,18 +22,6,49 +21,15 +51,5,6 +13,25,5,15 +6,19 +6 +6 +5,6 +20,5,6 +48,6 +20,6,29 +12,6 +2,17 +34,5,6,10 +14,6 +9,5,6 +22,5,6 +33,2,6 +41,3,6 +17,5,6,28 +3,6,16 +6 +2 +9,41,20,6 +44,7,14,6 +5,6,10 +22,6 +12,7,4,6 +17,4,6 +0 +50,3,6 +14,6,10 +3,14,5,18 +20,14,5,6 +25,5,6 +47,12,3,14,28 +17,5,6 +20,6 +6 +22,14,6 +6,16 +6,28 +14,6 +51,33,5,6,21,23,49 +31,20,7,6,15 +4,6 +31,3,6 +0 +14,23 +48,5,46 +3,4,5 +28 +13,5 +5,6 +17,6 +39,4,5,6 +51,6,21,28,30,43 +31,7,14 +22,14,19 +41,13,4,14,6,15 +7,5,6,21 +25,20,17,6 +25,5,19 +5,6 +23 +14 +14,6,18,23 +6 +25,14,6 +31,49 +25,17,5,6,10 +36,20,5,6 +6 +5,6 +34,5,6 +25,7,4,6,8 +25,5,6 +7,3,4,5,6,21 +6 +45,7,4,5,30 +17,5,6 +27,6,11 +12,20,22,14,6 +0 +25,14,5,6 +5,6 +2,14,6 +2,5,6,23 +36,3,4,14,5,6,42,18 +27,3,5 +7,5,6 +36,26,17,14,5 +38,25 +34,7,3,8 +34,3,14,21,42,30 +4,5,6 +17,3,5 +3,5,6,29 +35,6,23 +33,2,5,6,28 +5,6 +3,4,6 +16 +6,46 +48,3,14,6 +4,18 +26,17,5,6 +47,9,17,7,4,14,6,21 +17,3 +0 +14,5,6,10,43 +33,4,6 +15,29 +40,6,21,15 +0 +25,17,6 +6,28 +14 +14,6,43 +20,5,6 +5,6,42 +4,5,49 +6,49 +4,6 +47,4,14,5,10 +13,6 +2,17,14 +25,6,19 +4,6,11 +41,13,2,7,6,49 +48,17,14 +7,5,6,11 +7,4,5 +5,6 +7,3,14,5,6 +2,4,6 +51,20,4,5,6,16 +14,6 +17,3,4,5,19 +5,6,11 +25,20,4,5,6 +24,6,19 +29 +3,14,6 +47,4,14,5 +6,28 +37,6,10 +20,5,6,42 +6 +47,34,5,6,15,10 +33,7,14,5 +5 +13,14,5,6 +3,6 +41,26,3 +14,5,6 +6,21 +2,4,5,6,16 +7,4,14,5,15 +22,7,4,14,5,49 +5,6 +2,7,14,11 +5,6,28 +13,14,19 +34,7,6 +38,20,5,6 +4,6 +9,25 +48,6,43 +20,14 +38,6 +38,26,13,14,19,29 +14,6,8,43 +2,25,17,3,16 +13,3,5,42 +45,2,22,3,14,6 +17,7,4,6 +33,13,5,6 +38,20,4 +39,12,2,6 +25,6,15 +0 +44,12,3,6,29 +6,21 +38,2,3,6,42 +47,3,14,21 +26,7,4,14,6 +5 +20,17,6 +22,5,6,28,30 +47,6,43 +45,14,6,16 +14 +27,6,10 +12,6,23 +6,23,46 +4,5 +4,14,6,15,10 +3 +51,38,4,14,6 +2,20,5 +6,16 +30 +33,4,5,21 +17,7,14,5,6 +41,17,6,19 +7,14,5,6,21,18 +0 +5,6 +39,26,25,7,18 +5,6,21 +3,6 +13,5,6,49 +47,13,3,4,6 +14,6,15 +48,14,6 +7,5,6 +20,4,6 +5 +51,32,3,6,15 +5 +25,22,7,3 +7,6 +4,14,5,19,30 +17,5,6 +2,7 +41,4,30 +41,5,23 +6 +12,22,6,16 +6 +13,14,6,49 +35,22,5 +4,6,16 +33,6 +8 +17,7,14,6 +7 +44,4,6 +13,2,7,5,6 +2,4,5,15 +0 +40,35,41,5,6 +3,14,6,15,29 +51,14,6 +41,3,6,10 +31,12,20,3,4,5,6 +6,42 +44,4,14,6 +12,22,7,4,14,5,19 +44,6,16 +17,3,28,29 +4 +41,7,5,6 +47,3,23 +4,6 +31,13,25,17,3,5,6,21,10 +5 +6 +51,13,17,6 +6 +38,3,14,5 +22,14 +20,17,3,4,14,6,28 +7,6 +41,6,10 +3 +6 +31,14,6,10 +4,6,19,8,46 +32,14,15 +14,28,46 +35,6,29 +22,7,5 +6,19,18,30 +44,12,6,28 +24,7,4,5 +3,4,14,5 +48,6 +5,6,10 +5 +27,5,6 +47 +39,6,30,43 +32,20,3,6,8 +20,3,6,8 +36,14,6,28 +14 +20,6,15 +3 +13,3,6 +7,5,6,15,8 +50,4,6 +13,17,14,6 +7,5,6 +14,6,21 +37,4,14,6 +40,22,6,21 +2,5,49 +47,7,5,6,10 +14 +39,13,6 +17,5,6 +14,6 +32,4,6 +12,6,19 +7 +48,14,6 +0 +7,5,6 +6 +6 +44,5,6 +40,5,6 +20,22,5,6 +6,28,43 +20 +4,14,6 +5,21 +32,3,4 +38,33,26,5,30 +2,20,6 +37,36,2,17,5,6 +14,6,8,43 +12,6 +5,6,19 +17,7,5,21,30 +22,3,5,6,10 +37,5,6 +6 +14,21,15,16,23 +48,6 +14,5,6,30 +44,25,20,14,5,11 +51,37,9,14,6 +20,22,6 +14,6 +12,14 +9,7,14,6,15 +24,17 +13,6 +33,17,5,6 +0 +4,14,5,6,15,19 +50,5 +14,5,6 +39,14,16,23 +0 +4,5,6 +25,14,5,6 +6 +12,25,4 +38,25,22,17,7,4,5,6 +44 +37,41,2,7,4,5,6,42 +6,29 +17,14,6,8 +48,3,5,6 +17,6 +14,5,6,10 +41,17,4,6 +51,45,20,17,6,10,23,29 +27,6,42,8 +25,14,6,21 +20,14 +6 +32,6,15 +41,12,7,3,14,5,6 +40,4,6,30 +3,6,8 +13,17,6,10,16 +6 +2,14,6 +19,29 +45,6 +25,5,6,15 +2,22,4,14,5,6 +42 +5,6 +3,6 +7,4,5 +5,6 +3,5 +7,6 +22,4,42 +20,5 +5,6 +34,5,10 +5 +25,22,17,6 +14,6,16 +6 +47,6 +22,5,6,49 +17,5,6,18 +51,4,14 +22,5,6 +5,19 +0 +4,6 +7,14,6 +24,38,13,14,6 +48,25,20,22,17,6 +22,14,5,6 +32,26,22,6,49 +14,5,6 +12,13,6,23 +4,5 +6,46 +14,5,6 +25,7,6,21,19 +4,6 +50,25,14 +3,4,28,10 +14,5,6,15 +4,5,23 +9,44,5,6,23 +5,6 +0 +31,14,5,10 +11 +33,21 +6 +31,12,5,6 +12,5 +26,6,29 +5,6 +45,50,12,13,7,5,6 +6 +6,19 +22,6 +5,6 +5,6,28 +45,7,6,43 +26 +6,42,18 +31,22,14,6 +22,6,30 +48,44,3 +2,14,5 +4,6 +4,5,6 +4,6 +14,5 +51,4,21 +14,6 +25,5 +22,7,14,28 +25,14,6,15,10 +6 +4,14,5 +12,17,6 +41,17,5,18 +14,5,6,16 +45,41,20,5 +24,38,22,17,14,5,23 +22,5 +6 +3 +22,17,6 +32,36,4,6 +25,7,6 +33,26,7,10 +17,6,15 +5,6 +44,14,6 +10 +51,17,3,14,6,15 +33,20,3,6 +9,6 +14,21,16 +22,6,42,23 +6,10 +3,6,11 +34,7,3,5 +33,12,7,3,5,6 +6 +4,14,5,6,8 +36,4,6,28 +17,4 +47,25,6 +25,20,5 +7,3,6 +34,3,6,28 +13,14,6 +50,33,22,17,6,15 +25,5,6 +22,17,14,5,6,29 +20,22,7,6 +6 +41,17,4,14,5,10 +7,14,6 +40,12,46 +26,5,6 +5,6,21 +9,2,20,14,6,42 +51,44,6,15 +13,4,5,6 +6 +7,4 +36,22,17,7,5,6 +6,21 +20,3,5,6,30 +48,3,5,6,28 +12,4,6 +20,3,4,5,6 +17,3,6,10 +0 +2,6,23 +12,21 +9,4,14,6,19 +26,6,42 +6 +6 +5,19 +12,13,5,6 +22,6 +45,5,6,15,18 +35,17,6 +2,6,42 +7,3,6 +5 +26,20,5,42 +6 +36,7,5,6 +13,5,6,15,42 +3,14,6 +36,44,6 +50,40,48,41,20,22,17,5,6 +14,5,6 +6,28 +32,5,6,15,18 +14,21 +25,14,15 +41,6 +14,5,6 +45,7,6 +4,14,49 +25,6,18 +0 +6 +0 +17,5,6 +14,6 +48,44,14,6,23 +14,5,6,16 +31,13,7,5,6 +7,3,6 +7,14,5,6,30 +14,6 +16 +6 +47,2,17,6 +5,6 +14,5,6 +22,3,14,6,21 +12 +14,6,29 +6,19 +12,20,14,6 +6,46 +13,3,6,43 +13,7,6,29 +31,44,26,17,3,5,6 +24,47,13,20,22,17,4,14,5,6 +20,22,5,6 +37,5,6 +25,20,6 +5,6,28 +50,9,20,3,14 +40,5,6,23 +4,14 +7,3,5,6 +5,19 +51,24,3,14,6,42 +12,21 +50,20,7,6 +20,17,7,4,14,6,30 +36,12,6,28 +25,7,4 +36,33,14,5,6 +3,5,6,19 +34,25,4,6 +7,3,5,6 +20,17,5,6,21 +24,37,5,6 +41,6 +48,12 +6 +27,6,11 +35,3 +39,20,6 +41,3,4,6 +20,6 +37,6 +41,26,4,6 +14,5,6 +4,15 +35,48,7,3 +44,17,5,6,18 +25,7,6 +47,5,6 +6,16 +37,22,5,6,8 +34,3,6,28 +12 +4,6 +4,14,6,46 +22,3,6,28,18 +7,6 +45,34,17,4,14,5,6 +4,14 +3,42 +39,14,6 +7,5,6,18 +25,17,4,5,6 +7,6,15 +25,22,3,5,6 +26,14,6,10 +8 +31,3,6 +9,38,6,10,43 +14,6 +37,17,5 +7,3,14,6 +22,6,23 +40,13,17,4,5,6,23,11 +14,29,43 +2,20,10 +0 +22,5,6 +51,9,36,17,3 +22,5,6 +24,14,5,6,43 +41,5,6 +32,48,25,7,14 +35,2,6,29 +4,6 +25,5,6,28,19 +45,4,6 +0 +51,3,29 +31,13,4,6 +20,6 +7,14,5 +25,6 +14,5,21,28 +44,5,6 +3 +20,5 +3,14,5,6 +13,22,3,6 +17,14,6 +25,6 +14,6 +6,42 +2,4,6 +38,5,6 +47,4,14,46 +27,6 +6,11,43 +42,29 +7,5,6 +14,6 +17,4,14,5,6 +10 +13,5,6,10 +35,6,46 +3,6 +31,20,14,21,42,23 +51,22,3,6 +4,5,6,19 +32,17,4,14,5 +24,6,18 +51,17,4,6,8,46,29 +6,43 +22,4,6,21 +12,20,6,11 +3,14 +47,36,4,6,16,29 +5,6 +2,6 +27,4,14,6,43 +37,27 +13,14,6,11 +7 +20,22,14,6 +14,5,6 +12,5,6,28,18 +2,20,17,3,6,21,18,29,49 +29 +9,3,14,6,15 +3,6 +12,25,5,18 +27,7 +20,21,8 +50,7,6 +22,3,4,6 +6 +25,17,5,6 +5,6 +0 +40,12,6 +39,22,7,21 +37,6,28 +47,17,7,4,14,6 +38,25,6 +25,3,5,6 +48,4,14,6,21,16 +36,4,14,6 +36,7,6,11 +13,6,46 +5,6 +40,17,5,6,8 +48,4 +14,6,19 +33,41,44,5,6,19 +51,6 +31,6,16 +6 +12,14,23 +5 +22,5,6,30 +0 +2,20,14 +5,6,29 +12,17,6,21,15,43 +3,5,42,49 +36,17,14,6 +6,8 +20,14,5,6 +47,35,5,6,42 +37,44,2,7,5,6,42 +22,6 +7,5 +7,3,5,6 +22,4,6 +12,14,6 +2,42 +29 +13,3,6 +12,22,7,6,23 +2,6 +17,5 +2,5,6,19,29 +22,6 +12,4,14,6,23,8 +0 +5,6,21,43 +26,20,4,5,6 +6 +37,25,20,7,14,6 +22,4 +35,3,4,43 +7,19 +2,6 +4,5,6,21,46 +20,17,3,42,23 +6,18 +39,50,17,4,14,21 +4,6,8 +4,5 +9,36,20,6 +4,6,46 +6,10,18 +5 +4,5,6,21,16,11 +44,4,5,6 +22,4,6,19 +29 +3 +12,23 +14,5,6 +31,12 +3,4,6 +4,5,6,28 +45,25,5,6,15,18,43 +2,17,6,19,30 +31,37 +48,25,4,6 +41,6 +7,14 +6,21 +26,17,5,6 +5,6,28,30 +40,3,5,6,42 +4,11 +3,6 +37,48,12,13,5,6,29,49 +4,5,15,43 +22,17,14,6 +2,4 +14,5,30 +33,26,5,6,46 +35,6,10 +36,25,6,23 +6,46 +5 +50,4,6,19 +27,14 +38,14,5,6 +5,6 +23,8 +17,7,14,5,6,16 +6,28,43 +20,6,30 +51,14,6 +6 +6,10,16 +25,17,6,28 +2,5 +4,5,6 +20,5,6 +0 +33,12,4,6 +22,3,5,6,8 +20,16 +22,6,46 +6 +31,12,14,21,49 +6 +6 +4,6,23 +24,6 +13,6 +28,19 +22,17,4,6,21 +44,17,6,46 +27,5,6 +4,6 +24,3,6 +27,28 +3,14,6 +5 +5,6 +6 +20,6 +48,6 +28,16 +6,8 +34,14,5,6 +12,2,3,4,5 +13,4,5,6 +2,17,6 +27,25,3,6,21 +9,22,6 +17,5 +0 +48,2 +34,22,3 +45,14 +31,5,6 +32,4,6 +45,44,20,5,46,11 +5,6 +44,2,4,14,5,6 +4,14,15,49 +47,2,7,4,14,5,6 +5,6,8,11,30 +14,5,6,21,30 +26,13,7,3,14,5,6,42,46 +50,26,5,6 +5 +3,14,5,6 +6 +3,14,6,21 +7,6 +27,12,3,4,6 +25,21,18 +41,7,6,23 +27,4 +25,14,5,6,16 +4,6 +12,22,7,3,6 +0 +13,22,49 +7,5 +3,6 +14,6 +40,41,4,6 +4,6,21,29 +22,5,6 +4 +13,20,6 +24,36,2,7,4,6 +27,7,3,4,5,42 +7,5,6,21,11 +5,6,18 +6 +34,33,3,4,6,42 +26,5,6,21 +20,5,6 +32 +13,6 +24,5 +14,6,8 +0 +40,7,14,6 +49 +17,3,5,10,18 +25,3,14,5,6 +12,25,22,6 +14 +22,5,6 +2,17,6 +40,5,6,43 +45,35,3,6 +17,3,6 +2,6 +6,30 +44 +3,5 +41,20,4,5,6,8 +45,14,5,6 +9,7,42 +26,7,6,11 +14,6 +7,23 +38,4,18 +44,12,6 +48,44,13,17,5,6 +2,4,6 +21 +6,16 +2,6 +3,14,5 +2,42 +26,25,7 +4,14,5,49 +45,22,6,49 +7,5,6,30 +12,4,14,6 +7,6,43 +48,5,6,8 +3,14,5,6 +41,4 +6 +50,44,6 +6 +13,3,6 +20,6 +4,5,6,21,29,11 +3,5,6,28 +0 +25,3 +5,6,18 +25,14,5,11 +5,6,28 +24,41,7,6 +40 +12 +6 +36,14,5,6,21 +39,20,3,5 +41,7,3,6,19 +4,14,6 +12,5,6 +41,25,22,3,14,6,30 +22,3,4 +6 +38,7,4,5,6,19,11 +14,6,23 +27,6 +13,2,20,6,49 +40,36,6 +38,5,6 +25 +51,12,13,25,6 +17,14,6 +5 +25,7,6 +7,14,6 +0 +5,15 +36,27,20,5,46 +27,7,5,6,15,46 +5,6 +15 +33,41,7,14,6 +50,12,17,4,19 +20 +5,10,43 +12,14,5,6,43 +37,14,6 +4,6 +4,6 +26,22,5,6,29 +2,14,5,6,15,42 +7,3,6 +5,6,28 +22,4,6 +25,5 +20,6,29,49 +17,14,5,6 +12,6 +39,20,10,16 +48,14,5,6,29 +14,6 +7,5,6,21 +6 +25,22,4,5,6,21,23 +20,14 +39,36,3,6 +35,5,6 +2 +14,5,6 +12,17 +12,5 +3,19 +24,38,4,6 +17,7,6 +51,6,46 +5,6 +3,28 +14 +25,17,14,6,21,42 +14,5,6,42,8,49 +5,6,42 +25,20,6 +34 +0 +22,3,6,18 +13 +20,6,28 +48,33,26,5,6 +6 +36,5,6 +6 +34,7,4 +32,3,6,21 +33,14,5,6 +22,7,14,10,42 +23,43 +5,43 +6,49 +12,6 +12,14 +6 +32,34,26,7 +12 +38,27,2,22,14,6,30 +41,7,14,6 +9,36,5,6,18 +14,6 +2,7,21,43 +6 +26,22,6 +27,3,21 +27,6,28 +4,5,30 +5,6,19 +37,44,13,14,6,19 +33,20,4,5,6 +12,3,14,5,6 +45,20,17,6 +6,16 +45,17,3,6,46 +13,17,5,6,10 +12,5,6,43 +3,6,8 +37,33,17,3,6 +5,28,42 +20,4,5,6,30 +20,14,42 +26,12,6,11 +37,4,6 +39,41,25,4,5,6 +6 +14,30 +4,14,5,6 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +38,22,6 +13,6 +37,38,6 +6,16 +38,2,20,5,6,21 +39,37,6 +25,14,6 +31,2,7,6 +40,12,13,25,3,14,5,6 +20,6 +2,5,6 +41,6,21 +41,6,11 +14,5,6 +7,4,6,19 +9,6 +5,10,23,29 +45,5,6 +14 +4,6,30 +3,4,5,6,21 +25 +17,14,6 +35,12,6 +12,42 +5,6,15,46 +50,17,5,6,46 +44 +45,22,17,6 +24,3,5 +39,7,14,19 +17,4,14,5,6 +17,4,6 +26,2 +14,5,6,10 +20,14,5 +50,2,6 +2,25,3,14,5,6 +4,28 +24,13,6 +0 +47,5,6 +31,25,30 +3,14,19 +37,12,14 +2,7,6 +22,7,6 +24,7,6,46 +9,38,30,49 +2,5,6 +24,13,25,20,4,11 +26,17,14,6,10,16 +44,12,22,17,5,6,18,29 +5,6,43 +12,6 +45,3,6 +6 +12,3,5,6 +24,48,17,4,5,6 +13,20,14,5,6 +22,6,15 +20,6 +4,6,23 +22,7,3,6 +51,22,17,5,10 +41,7,3,6 +44,26,4,5,6 +4,14,21,18 +7,4,14,6 +6 +4,5,6 +3,5,6 +14,5,6,10 +36,3,14,6,21 +47,3,6 +20,7 +2,7,6,11 +7,5,6 +4,5,6 +7,5 +3,6 +41,2,6 +25 +51,38 +48,22,7,14,5,6 +39,38,20,4,6,16 +47,6,18 +38,17,5 +2 +17,6 +12,49 +2,22,6,29 +13,20,4,6 +50,41,20,7,4 +50,5,6 +26,2 +6 +32,12,22,21 +12,13,17,3,14 +51,36,41,6,23 +20,22,4,14,5,6 +17,5,6,19,10 +5,6 +12,4,14,16,29 +13,20,3,4,14,5,6,28 +51,2,4,14,5,6 +26,12,14,5,6,42,29 +17,7,5,6 +33,25,22,5,6 +3 +17,4,6 +10 +3,5,6 +40,38,6,29 +32,21,28,46 +7,4,6,15,16 +2,6 +4,5 +6 +12,17,14,6 +33,2,6,10 +38,6 +22,5,6 +17,5 +5,6,18 +2,4,6,42 +24,22,14,5,6,16 +33,25,7,14,5,15 +50 +34,2,7,16,30 +41,22,6 +0 +22,46,29 +6 +26,7,14,6,29 +17,14,6 +48,5,6 +0 +17,5 +14 +9,27,3,14 +9,17,6 +2,20,3,4,5,6 +0 +25,28 +5,6,10,8 +31,44,7,6,30 +48,30 +2,3,14,5 +5,6 +4,5,6,28,30 +7,4,5,6,21 +20,3,6 +6 +38,12 +32,26,25,17,6,16 +33,3,4,14,6,18,43 +2,4,6 +25,14,5 +6 +25,21,23 +35,6,29 +45,34,25,14,5,6,46 +12,13,22,3,14,6 +6 +40,17,6 +32,5 +2,7,14,6,29 +20,3,5,6 +4 +34,25,14,5,6,15 +33,3 +33,6 +32,25,22,4,14,42 +2,17,14 +27,12,4,14 +2,4,6 +0 +34,22,14,21,15,19 +13,6 +11 +22,5,6 +25,14,6 +13,7,14,5,6,30 +3,4,5,6 +39,17,7,3,4,5,6 +32,8,46 +7,4,5,6,43 +3 +34,26,4,6 +6 +25,3,6 +22 +13,22,3,5,6 +13,14,6 +25,7,4 +14,6,8,46 +4,6,49 +5 +44 +5,6,10,43 +12,3,5,6 +33,5 +25,6 +39,5,6 +20,6,29 +39,9,22,14,5,6 +4,6,43 +20,6 +48 +6,42 +26,12,3,4,6 +2,17,7,14,5,6,23 +24,38,13,6,18 +5,6,11 +5,6 +35,4,6 +6,18 +44,12,22,30 +7,5,6,28 +5,6,29 +21 +31,12,4,6 +6 +4,14,6,18 +25,3,5,6,28,10 +7,4,5,6 +0 +0 +31,25,17,14,6 +13,7 +14,6 +14,5,6 +14,6 +2,7,6 +2,4,5,28 +0 +5,6,15,46 +5,6 +41,25,20,7,5,6,18 +22,17,4,6,46 +50,4,14,6 +34,5,6,30 +14 +34,4,14,6,42 +7,4,14 +5,6 +5,11 +7,29 +17,7,4,14 +13,2,4,21 +25,4,6 +13,5 +7,14,5,6,28,11 +3,14,6 +5,6 +3,6 +17 +39,33,17,6,29,30 +9,25,20,5,6 +27,6 +37,4,5 +3,4,5,6,10,30 +6 +41,6,42 +22,5,6,42 +31,7,6,30,43 +51,13,17,7,4,6,15 +45,4,5,6 +28 +45,17,6 +9,41,2,17,3 +17,7,6,19 +35,20,6 +12,5 +41,2,22,17,3,14,5 +37 +37,13,17,3,6 +6,19 +27,6 +4,14,23 +5 +14,6,21,10 +50,28 +3,14,6,10 +25,3,4,5,6 +50,22,17,3 +48,2,14,6 +20,22,7,5,6 +38,5,6,16 +14,6 +34,17,42 +13,8 +5,18,23 +13,14,6 +25,22,5,18 +2,4,6 +36,7,3,6,19 +13,2,22,3,14,5,6 +13,7,6 +20,6,43 +17,6,29 +25,3,6 +20,3,6 +24,3,14,6 +20,4,6,49 +22,17 +48,14,5,6 +20,4,5,6,28 +13,14,5,6,10 +22 +6 +48,7,5,6 +7,6 +24,32,44,3,5,6,21 +3 +7,14,5,6 +41,20,3,6 +40,5,6 +47,14,6,16,23 +3,5,6,18 +4,14,6,19 +26,14,21,28 +5 +7 +7,6,43 +34,14,6 +17,7,5,6,28 +20,4,14 +44,3,14,6,16 +3,19 +7,5,6 +34,4,6 +25,14,6 +3,19,8 +48,5,6,21,23 +14,5 +22,17,3,6 +20,4,5 +31,6,8 +7,6,30 +44,12,6 +22,6 +6 +39,12,17,28 +50,9,14,5,6,30 +14,5,6 +2,5,6,29 +5,23 +26,5,29 +7,6,8,30 +7,14,6,21 +14,5,6 +0 +17,6 +13,14,6,42 +33,25,4,6 +7,19 +4,5,42 +39,17,5,6,16 +4,5,6 +5 +2,3,4,14,5,6 +50,7,5,6 +2,6 +40,2,6,21,18 +4,14 +22,3,4,5,6 +13,6 +33,4,6,46 +12,17,4,6,10 +20,5,6,49 +3 +5,6,21 +20,7,3,14,5,6,19,11 +51,25,17,14,6 +37,5 +5 +12,6,23 +5,6 +6,8,43 +4,6 +40,4,11 +32,5,6 +4,6 +41,2,14,6 +13,5,21,18 +22 +14,6 +6,18 +13,14,6 +5 +22,4,14,5,6,18 +33,22,3,5,6 +13,17,14,6,15 +5 +21 +5,6 +6,42 +13,14,5,6,46 +6 +50,17,5,6 +14,6 +13,14,5,6 +34,14,5,6,28 +20,3,6,8 +6 +14,8 +36,14,6,10 +6 +36,4 +45,6,21,28,8 +17,4,6 +40,6 +2,6 +45,7,6,28 +51,14 +4,14,5,6,15,23 +36,38,20,4,6,23 +40,25,6,21,49 +31,7,4 +34,2,3,14,5,28,49 +17,5,6 +2,20,22,17,3,4,6 +6 +7,6,42,30 +17,5 +22,14,6 +6,15 +25,4,6,11 +5,6 +14,6 +14,15 +17,6 +5,6 +4,5,6 +33,12,2,5,6 +6 +39,6 +25,6 +26,20,4 +36,25 +6 +9,20,22,14,5,6 +51,20,14,5,6,28 +4,15,42 +5,6,21 +25,5,6 +17,5 +48,17,5 +6 +6 +44,13,5,6,16,43 +39,31,2,20,6 +0 +6 +5,6 +6 +39,45,20,4,14,6,46 +41,26,17,4,14,6,43 +0 +3,6,21 +20,6 +32,22,7,6,49 +0 +25,7 +32,35,22,7,5,23 +4,5,6 +5,6,11 +38,13,16,42 +35 +51,5,6 +47,6 +5,6,42 +12,20,22 +51,20,4,6 +2,7,4,6 +27,14,5,6 +12,3,14 +32,34,41,6 +17,14,46 +41,2,17,23 +5,6,10 +12,20,14,6 +9,7,6 +20,14,5,6,15 +14,6,30 +0 +6,16 +40,29 +20,14 +39,36,7,6,10,49 +6 +6 +6 +17,4,6 +27,4,14,6,30 +6 +7,14,6,21 +14,5 +12,5 +12,20,7,6 +31,5 +14,6 +17,14,5,6,11 +50,17 +14,6 +2,7,5,6,19,18 +22,17 +26,6,8 +5 +22 +13,25,4,5,6 +25,5,6 +3,28 +22 +50,28 +27,22,6,18 +0 +12,25,6 +20,6 +12,25 +20,6,10 +12,7,4,6 +6,15 +6 +20,4,6 +13,20,4,5,46 +6 +10 +6 +48,13,3,14,6 +51,13,7,3,6 +2 +6 +14,19,16,11 +33,12,17,5,18 +25,6,8 +44,2,5,18,23,30 +3,4,5,6 +5,6,8 +4,6 +25,6 +5,6,10 +25,4,14,5,6,21,23 +31,25,6,10,11 +9,2,4,23 +14 +47,17,6 +4,14,6,49 +37,3,5,6 +6,29 +3,6,30 +3,15,29 +14,5,6,10,42 +39,33,14 +2,25,17,5 +37,38,25,20,17,3,14,6 +13,2,6 +34,3,14,6 +22,6,16,11 +24,22,14,6,16 +3,4,6,21,28,16 +20,17,5,6 +34,20,5,6,15 +26,3,6,23 +3,6,19,30 +2,22,14,5,19 +50,34,3,5 +44,5 +7,5,6 +36,5,6 +3,5,6 +20,4,21 +35,22,6,11 +46,49 +4,14,29 +7 +17,14,5,15 +17,14,19,49 +24,3,6 +44,2,14,5 +37,6 +4,6,8 +3,14,30 +22,6,15 +39,6 +32,12,20,3,5,6,28 +50,25,17,4,5,6,8 +26,3,14,5,6,46 +33,4,6,46 +9,3,6 +17,14,5,6 +39,5,6,18 +4,14,6 +6 +20,6 +4 +2,20,17,3,6 +24,41,25,4,6 +50,13,22 +3,5,6 +25,6 +41,4,14 +40,2,25,7 +26,20 +26,4,6,11 +7,14,6,15 +3,6 +25,18 +13,4 +17,5,6 +51,9,3,4,6,49 +4,5 +13,25,17,14,6 +4,6,16,23 +14,6,28 +38,2,14,6 +17,14,5,6 +17,7,14,5,6 +5,6,28 +6 +7,5,6 +6 +36,22,15,43 +13,6,43 +33,5,6 +45,13,22 +40,41,7,14,6 +3,4,28 +3,4 +26,7,14,5,6,15 +48,20 +14,5,6 +14,5 +4,5,6,28,10 +37,27,6,21,18 +4,6,28 +14,6,29 +17,6 +4,6,46 +48,26,20,22,7,14,6 +26,6,29 +48,25,7,28,10,23 +21 +13,4,6 +32,41,6 +5,6 +4,6,21 +13,15,16,23,8 +6 +41,3,43 +31,33,12,14,6 +25,22,7,14,5,6,23 +6,19,18,49 +22,17,3,5,6,21 +6 +4,6 +44,12,7 +22,5,6 +4,5,6 +50,4,6,16 +3,5,6 +6 +13,2,14,19 +36,35,25,5,29 +22,7,5,6 +14,6,42 +5 +6,28 +32,7,5,21 +38,22 +4,6 +7,14,5,6,16 +5 +22,5,16 +2,4,6 +7,4,43 +34,38,12,16 +50,2,7,14,5 +12,14,6 +25,6 +20,15,18 +51,44,20,3,6,15 +4,6 +6,28 +12,14,5,43 +4,6,42 +3,16 +26,5,19 +22,17 +40,20,7 +6 +3,14,5,6,23 +3,6 +6 +37,34,6 +3,4,6 +0 +44,22,3,5,6 +12,14,5 +12,22,4,6 +9,7,28 +50,20,5,6,49 +14,5,6 +6 +36,12 +13,2,21,42 +5,6,18 +7,6 +37,13,14,6,30 +37,13,17,5,6 +50,3,5,6,30 +13,25,5 +2,5 +25,5,6 +40,17,3 +6,21 +14 +7,6 +44,12,5,6 +39,5,6,19 +3,5,6 +41,20,5 +47,22,14 +45,40,2,4 +3,6 +3,6,18 +51,5,6 +25,14,5,6,21,8 +31,25,5 +40,27,17,4,14,6 +2,5,6 +4 +33,25,5,6,10 +7,6 +3,14,6 +3,14 +13,4,6 +21 +37,9,3 +51,37,17,6,42 +34,3,5,6,21 +47,5,6,28 +14,5,6 +34,6,28 +6 +3,4,14,42,29 +7,6 +5,21 +4,6,21,11 +37,12,25,14,5,6 +7,6,21 +12,25,23,8 +20,22,4,5,6,21 +22,6 +5,6,23 +3,6,21 +25,7,6,29 +41,3,6 +4,6,23,43 +3,6,16 +39,9,17,3,6 +6,21 +36,48,26,25,3,14,6 +12,14,6,16 +31,4,14,5,6,42 +13,6,46 +27,7,14,5 +27,14,6,21 +22,7,3,14,6,49 +3,4,6,43 +41,14,5,49 +16 +15 +14,6 +40,3,14,5,6 +5,30 +12,14,6 +5 +7,6 +20,14,6 +45,5,6,19 +2,4,5 +9,17 +6,16 +22,4 +34,6 +12,6 +40,17,7,5,6 +50,5,42 +39,20,6 +5,6 +36,2,4,14,6,10,46 +44,14,6 +6 +25,7,6,18 +22,17,5,6,15,46 +17,6 +13,22,4,5,6,30 +47,38,26,6 +4,5,6 +4,6 +2,3,5,6,28 +36,20,6,18 +5 +35,3 +6,10 +22,14,6 +6,46 +13,25,6 +12 +14,5 +45,40,4,5,6 +26,22,6 +31,6 +6 +4,14,6 +17,14,6,28 +25,14,6,15,29 +6 +17,14,6 +25,3,6 +3,6 +0 +45,17,5,6,15 +5,6 +38,21,10 +27,3,5,21,29 +3,6 +35,44,25,3,5 +14 +3,5 +12,17,14,6,16 +40,20,17,7,14,6 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +13,5 +7 +26,7,5 +2,25,17,4,5 +5,28 +20,46 +14,5,21 +51,9,5,6 +5,6,16 +14,5,6 +47,17,5,6,18 +24,25,4,6 +17,7,4,14,5,6 +3,6 +50,37,5,6,18 +6 +13,20,3,5,6 +9,17,6,21 +13,7,3,6 +6,16,18 +4,6 +38,4,6,42,18 +2,5,29 +14,5 +6 +12,7,4 +4,14,5,6,11 +31,19 +41,6 +33,14,5 +2,5,6,11 +3,6 +6,46 +4,14,6,21 +24,22,4,6,10 +6 +5,6,16 +42 +20,6,43 +22,7,14,16 +12,20,3,14,5,6 +6,28 +24,17,3,16 +50,20,17,14,6,42 +13,5,6 +37,25,4,6 +12,13,22,6 +12,22,14,6 +3,14 +36,6 +5,6,16 +38,13,20,3,5,6 +3,23 +0 +13,14,5,6 +35,3,6 +22,7,6 +25,4,6 +14,18 +7,6 +19 +22,3 +33,20,3,6,28,18 +14,6 +38,6 +33,3 +20,17,6 +3,14,5,42 +5,6 +5,28 +41,5,6 +17,7,6,21 +4,5,6,46 +25,14,5,6,15,30 +2,20,6,30 +17,14,6,19 +38,22,14,5,6 +22,3,6 +3,5,6,42 +25,3,5,6 +4,6,18,46,29 +34,36,4 +25,3 +34,5,6,10 +13,5,6,28 +9,26,5,6 +39,13,5,6,10 +21 +7,3,6 +6 +2,22,5,6,21 +33,12 +34,3,4,5,6,28,42 +14,5,6 +25,14,21 +13,7,3,8 +48,13,5,6 +50,6 +4,5,6 +25,17,7,3,5,6 +17,14,6,8 +25,20,3,4 +14,6,10 +6 +6,46 +32,34,4,6,29 +37,6,8 +3,14,6,23 +22,14,43 +25,6,21,19 +3,6,28 +45,6 +17,14,5 +3,6 +5,23,11,43 +20,4,6,11 +20,17,3,5 +26 +14,6 +5,6 +41,17,5,6 +17,14,5,6,49 +12,6 +32,27,14,5 +6,42 +26,14,5,6,19 +14 +17,3,14,5,6 +14,6,42 +2,25 +22,6 +6 +25,7,6 +39,9,6 +41,22,3,5 +22,6 +48,5,30 +7,30 +12,2,17,6 +48,2,6 +25 +27,14,5,6 +22,17,14,5,6,18 +35,13,22,7 +2,17,6,46 +49 +5,46 +5,6,18 +13,3,4,14,6,43 +5,6,18 +22 +14,6,11 +51,5 +5,6,49 +4,43 +26,14,16 +14,6,16 +25,20,7,14,6 +25,21 +3,14,5 +0 +3,4,6,28,10 +51,4,14 +48,6,16 +20,6 +2,5,6 +40,4,5,6 +16 +9,7,6,16 +39,3 +5 +6,21 +40,6 +5,6,10,46 +13,2,3,5,6 +17,3 +20,5 +3,5,6 +17,6 +4,42 +5,15 +50,6,8 +14,6 +4,5,6 +7,6 +3,5,6 +25,6,29,30 +37,27,6 +20,7,14,6,28,10 +12,5,43 +17,7,14,6 +3,14,5,6 +26,2 +50,17,3,5,6,29 +34,22,4,6,18 +34,12,14,6,19 +4,6,10,23 +25,22,6,19,49 +36,6 +12,14,5 +25,3,14,5 +22,17,4,5 +22,4,14,5,6 +45,12,6,21,8 +22 +6 +48,2,17,6 +7,6,11 +18 +33,5,6 +48,7,4,5,6,15,46 +20,5 +12,5,6,29 +4,5 +48,4,14,6 +17,7,6 +20,7,4,5,49 +39,7,6,11 +14,6 +7,3,4,5,6,15 +7,5,6 +40,35,14,5,6 +13,5,6 +0 +32,14,5,6,18 +5,6,46 +7,3,14,6,16 +13,5,6 +14,5,6 +17,3,5,6 +25,7,6,46,43,49 +5 +12,10 +5,6 +37,48,6,46 +50,7,3 +4,5,6 +7,5,6 +5,6,18 +20,4,6 +6 +14,5,6 +25,4,14 +20,7,14,6 +35,6 +13,20,5 +17,4 +36,25,7,6 +33,3,4,5,6 +17,5,21,43 +14,6,21 +41,14,21 +33,3,6,15,29 +40,47 +5,6 +33,26,7,4,6,18 +3,4 +38,6 +6,15 +3 +35,7,4,6 +17,14 +20,4,6 +14,6,21 +24,50,2,17,6 +4,5,16,8 +6,21,18 +14,6,21 +24,47,13,14,6,19 +20,6,11,43,49 +5,6,10,16 +13,5,15,49 +47,2,7,3,28,15,30 +25,4 +21,8 +2,22,14,6 +6 +4,5,6 +45,37,5,46 +0 +45,4,5,6,15,8 +13,5,6,46 +39,44,22 +5 +20,3,14,6 +5 +25,14,6,15,29 +5 +22,7,6 +6 +31,17,5,6,10 +6 +0 +17,7,5 +32,6,42,46,49 +0 +5,6 +2,5,6 +17 +44,2,17,5,6,16 +47,14,6,21,16 +5,6,46 +14,6 +4,6 +20,22,3,14,6 +2,17,6,21 +6 +4,14,6,42 +3,6,18 +4,5,6 +27,22,6,28 +32,6 +24,38,14,6 +39,2,5,19 +17 +31,14,6,19 +5,43 +40,20,14 +6,28,23 +36,6,21,46 +37,4,6,28 +12,2,20,3,5,6 +40,4,6,46 +0 +9,17,6,28,11 +2,25,6,15 +25,17,7,3,4,18 +51,27,2,5,6 +33,5,6,15,11 +2,7,8 +17,5,6,23 +32,13,6 +4,29 +20,6 +12,5,6,28 +2,22,14,5,6 +4,5,6 +51,3,14,6,18,43 +39,20,5,6 +25,7,3,4,6 +3,5,6 +3,5,6,19,30 +7,5,6,11 +6 +7,14,6 +22,14,28 +24,49 +14 +6 +5,6,15 +25,7,6 +44,22,14,6 +14,5,30 +12,6 +22,17,14,5,6 +36,20,5,6 +0 +27,13,6 +12,13,17,5,6,10 +50,14,5,6 +13,14 +17,4,6 +5,6 +25,20,7,28,19 +27,2,4,18 +36,12,14,49 +14,6 +32,14,6,21 +5,6 +40,32,4,5,16 +40,5,6,21 +16 +5,6,10 +50,49 +5,6 +9,14,5,46 +7,3,6 +26,6,19,16 +4,14,5 +4,6 +14,5 +17,14 +13,20,3,6 +26,5,6 +4,5,6 +14,5,6 +17,4,6,43 +12,6,28 +48,3,14 +47,17,14,5,6 +25,3,5,6,49 +41,6,19 +7,6 +4,14,6 +27,17,5,28 +7,6 +35,22,7,5 +3,6,10 +4 +14 +13,6,18 +41 +6 +25,22,14,5,6,28 +34,26,7,6 +14,5 +34,6 +5,6 +38,26,2,14,6 +13,7,6 +17,6,28 +13,17 +0 +40,25,5,28 +44,4,6,10 +5,6 +41,7,4,6,8 +4,11,49 +13,22,7,6,30 +6,8 +4,5,6 +6 +50,14,5,6 +22,5,29 +37,33,4,5 +44,6 +22,6,28,30 +27,7,16 +17,4,14,5 +2,5,6,16 +7,14,5,6 +17,4,6 +5,6 +2,25 +25,20,5 +14,6,19 +3,6 +13,7,5,6 +5,49 +36,3,6,21 +20,4,5,6,28 +9,27,6 +45,19 +17,3,6 +6 +45,33,22,5,6 +6,19 +3,6,15 +2,3,6 +12,20,17,14,5 +22,7,5,6,42 +48,7,5,6,28 +6,29 +38,2,7,6 +26,5,6,18,46 +6 +6 +34,17,6 +17,7,6 +32,36,25,22 +3,6 +36 +47,41,5,6 +27,22,14,6,23,30 +22,14,5,6,21 +20,23 +0 +14,6,15 +5 +20,5,6,16 +40,17,14,5,42 +37,27,14,6,23 +5,6 +2,5,6 +12,2,5,6 +6,16 +22,17,6,29 +37,22,14,6,29 +25,6 +47,5,6 +4,5,6 +6,19,23,49 +20,17,14,6,8 +25,4,5,6 +3,14,6,42,46 +50,3,5,6,29 +5 +25,14,6 +38,5,6,28,18,23 +14,6,49 +4,6 +22,7,5,19 +17,3,28 +6,21 +27,2,17,6 +25,7,3,21,46 +7,6 +6,49 +6 +22,6 +35,4,14,6 +20,14,5,6,21,46 +7,6 +6 +24,6 +4,5,6 +14,6,15,30 +22,6,10 +2,4,6 +7,14,5,6,15 +22,6,19 +14 +6 +5,6 +45,32,5 +14,6,43 +6,46 +17,4,5,6,11 +35,14,6,21,16 +13,7,19,8 +20,6 +20,6 +6,23 +13,6 +0 +4,14,6 +12,20,3,5 +26,6 +6,28 +2,6 +5 +6 +44,7,6 +6,49 +12,20,11 +39,25,6,15 +4,5 +25,5,6 +6,10 +3,6,21,8 +7,4,5,6 +4,5 +41,22,6,16 +38,7,3,6 +4,5,6,28 +20,6 +51 +7,4,5,6 +24 +37,25,20,5,6 +45,27,3,4,6 +28 +12,5 +6,29 +9,4,6 +12,22,6 +7,6 +5,6,15 +13,6,29 +32 +20,3,5,6 +34,2,4,5,6,42 +6,23 +5,6,15 +14,5,6 +3,11 +4,6,28 +32,14,21 +48,5,6,30 +14,6 +12,14,6 +6 +40,35,14,5,6 +2 +20,3,6 +24,12,20,14,6 +4,6 +14,6,15 +9,36,7,14,6,42 +7,3,14,6 +14,30 +6,42 +5 +35,20,17,14,6,23,11 +3 +20,7 +27,6,18 +5,6 +32,15 +2,3,4,6,15 +33,22,3,14,5,6 +40,20,22,17,4,14,6,29 +45,14,5,6 +40,6 +34,27,12,6 +14,5,6,16 +27,22,7,4 +6,30 +6 +9,33,14,21,23,29 +12,25,17,6 +6 +13 +38,13,25,14 +22,6,42,23,11 +25,6 +14,5,6,16 +6 +0 +25,6,11 +48,7,6 +33,3,43 +20,6 +7,5,6 +7,6 +3,14,5,6 +4,6,28 +3,11 +35,25,17 +38,6 +22,17,3,6 +22,3,14,6 +2,6,19 +41,22,17,3,4,14,6 +3,5,6,8 +6,15 +5,6,23 +20 +25,3,6,15,8 +44,14,5 +23,30 +27,25,4,5,6 +38,14,5,6 +3 +7,3,14,6 +7,3,14 +2,7,14,6 +41,13,6 +9,44,7,5,6 +20,4,14 +6 +0 +20,22,4,6 +17,14,5,6 +14 +24,5,6,23,46 +22,5 +17,14,6,28 +2,6 +34,5,6,28 +12,6,10 +22,17 +22,14,6,15 +27,22,5 +22,7,3,5,6,21 +22,5,6,10 +48,5,6 +5 +38,6,42,23 +7,14 +5,6 +3,5,30 +5,6 +14,5,6,49 +2,14,5,6 +47,14,5,6 +17,6 +16,49 +2,14,6 +7,4,14,6,15,16 +5,6 +25,17,4,14,5,6 +13,17,14,6 +14,5,6,28,16 +5,6 +3,6,46,49 +4,5 +22,14 +4,14,6 +17,3,6 +6,28 +17,14,6 +12,5 +3,14,5,6 +13 +41,22,14 +13,5 +27,5,6 +12,17,6,46 +27,12,14,19,29 +41,5,8 +35,41,3,6 +13,17,3,14 +37,38,12,2,25,14,5,6 +17,6 +4,6 +5,6,28,18 +2,5 +6 +25 +3,42 +7,14,5,21 +17,4,6 +34,14,6,18 +3,5,6,16,18,46 +25,3,6,23 +37,26,12,17,4,5,6 +2,4,5,6 +4,6 +7,14 +14,6 +45,2,14,28 +6 +12,7,15,19 +2 +33,6 +14,5,6 +48,3,6,30 +6 +17,4,6,23 +9,5,6,10 +14,5,6,8 +6 +3,21 +25,17,3,6 +5,6 +24,26,12,25,6,30 +33,25,20,3,4,19 +17,5,8 +14,15,43 +25,17,14,6 +14,5,6 +33,3,6,28,23 +38,6,11 +14,6,16 +4,6,42 +24,35,6 +20,14,28 +17,14 +15 +7,4,6 +50,13,25,4,5 +12,14,5 +17,8 +13,4,14,5,6 +4,5,6,49 +21,10,30 +14,6 +6 +0 +32,13,7 +6 +17,4,6 +24,14,6 +51,13,7,14,5,6 +3,6,42,29 +22,17,5 +7,5,6,43 +6 +6 +51,12,13,14,6 +17,3,4,5,6 +48,14,6 +3,14,6,42 +5,18 +33,22,7,4,5,21 +6 +17,6,28 +0 +44,6,21 +6 +24,4,14,5,16,8 +14,6 +35,17,6 +14,28 +2,6 +39,13,25,4,6,46,30 +17,5 +6,11 +2,14,6,11 +6,28 +13 +14,6 +47,33,25,20,4,5,6 +32,4,6,11 +45,33,5 +17,14,18,49 +12,14,5,6,19,49 +0 +12,3 +6 +3,14,6 +22,7,6,10 +4,6 +25,7,14,6 +50,40,3,6 +4,6 +20,4,14 +5,6 +14,6 +51,4,14,5,6 +6,46 +4,6 +6,28,10 +44,25,6,19 +4,5 +3,6,21,18,49 +2,5,6 +47,27,14 +27,20,4,14,5,6,42 +6,21 +14,5,6 +20,5 +5,6,10 +6,10 +6,28 +40,32,5,6,15 +24,7,14,6 +9,3,6 +3,6,16,23 +17,7,14,49 +17,6,15 +7,4 +9,34,7,6 +35,12,4,14,6,42 +27,12,17,4,6 +20,7,3,14,5,6 +12,7,6,15,11 +26,3,4,14,5,28 +3,5,6,15 +22,6,10 +38,44,4,5,6 +0 +13,4,30 +14,5,6 +26,22,4,14,6,11 +14,5,6 +6,30 +26,20,5 +51,5,23 +25,22,14,5,6,10,29 +12,6,28,16 +7,4,5,28 +48 +6 +41,2,7,14 +4,14 +12,7,5,6,15,29 +50,40,25,14,5,6,15,18,8 +3,14,21,18,23 +25,7,4,5,6 +40,25,4,5,6,19,30 +5,6,29 +13,25,7,21 +4,14,6 +42 +5,6 +33 +22,3,5,6,15,16,11 +45,6 +14,6 +16 +0 +27,2,14,6 +6,18 +51,7,4,28 +6 +7,6,21,42,8 +14 +20,5,6,18 +22,3,6,23 +13,22,6,46 +35,20,6 +6,21,23 +2,25,20,7,5,6 +22,5 +40,2,25,6 +45,47 +20,17,5,6,19 +30 +32,17,4,14,5,6 +38,6,11 +7,6 +2,17,4,5 +14,5,6 +13,5,6 +2,3,5,6,21 +25,14,6 +20,3,5,6 +14,5,6,11 +14,6 +39,6 +6,18,49 +12 +13,5,6,8 +25,20,4,14,6,10,30 +13,6,15,23 +7,14,43 +22,4,6 +26,25,7,3 +6 +51,14,6 +42 +6 +33,17,6,28 +24,12,7,4,5,6,21,15,29 +20 +25,23,8 +7,5,6,42 +34,6 +13,3,6,11 +5,6 +25,14,5,6,28,49 +25,3,6 +17,14,5,21 +32,5 +4,6,28,19 +22,14,5 +47,3,28 +13,17,6 +35,20,5 +33,7,6,15 +9,46 +3,5,21,8 +5,6 +12,14,6 +5,6,21,43 +5,6 +7,6 +5,6,21,8 +6 +17,7,5,6 +22,3,5,6,11 +14,6,21 +26,6 +44,5,6 +5,42 +13,2,21 +7,4,5,6,49 +24,4,6 +12,6 +37,4,5,6 +14,6 +3,6,15 +14,18,23 +2,19,8 +5,6,19 +5,28 +6,42 +26,3,4,14,6 +35,7,4,6,28 +32,25,17,4,14,6,19,8 +32,6 +33,17,7,3,14,5,6 +9,17,7,5,6,46 +12,4,14,6 +6,49 +22,5,6 +34,7,14,5,6 +14 +14,5,6 +6,28 +5 +6 +14,6,19 +34,38,22,4,14,6 +33,2,3 +39,50,37,4,6,23 +45,14,8 +5,6 +3,5,6,46 +0 +5 +6,8 +33,20,7,4,5 +40,22,6,16,18 +7,3 +6,49 +14,5,6,21,28 +3,4,5,21 +3,5,6 +0 +13,14,5,6,10 +25,17,7,3,6,29 +34,6 +6 +39 +4,5,6 +3,6,49 +25,4,6 +6,42 +4,5,6 +7,4,14,5,6 +4,5,29 +4,14,6 +17,6,19 +14 +10 +7,16,23 +17,5,6,21 +2,14,6 +5,6 +32,4,5,6,19,42 +17,5 +5,6 +25,5 +5,6 +13,6 +17,14,6 +44,26,12,5,6 +13,22,5,6 +6,23,49 +51,50,13,25,7 +34,22,4,6,49 +47,6,28 +22,5 +5,6 +38,12,25,4,14,6 +13,17,6 +38,26,14,5,6 +2,6,10 +4,5 +13,7,3,6 +25,20,7,14,6,43 +22,5,6 +5,6 +6,19 +6 +17,14,5,6 +6,15,29 +22,6,16 +6,15 +34,13,7 +20,14,5,6,15 +35,14,6 +24,14,5,6 +7,6 +13,3,5,6 +27,4,5,6 +3,6,23 +3 +6,16 +4,6 +33,7,14,5,28 +5,6 +2 +6 +22,17,5,6 +12,20,7,4,6 +17,6,16 +6 +25,4,6 +13,7,6,11 +5,49 +33,6 +38,6 +2 +2,25,4,14,6,28 +32,20,4,5 +32,6 +33,7,3,6 +39,6,10 +12,2,4,6 +3,5 +2,14,6 +20,14,6,15 +5,19 +27,6,16 +20,17,6 +0 +14,5,6 +14,6 +17,5,6 +5,6,10,43 +7,42 +20,4,6 +17,7,5,28 +35,49 +35,2,5 +5,6,19 +12,5,21 +0 +5,6 +20,5,6,29 +4,14,5,6 +44,20,5,43 +33,12,20,4,14,6,8,49 +5,6 +24,25,5,6 +25,3,4,5,6,42,23 +3,4,5,28 +6 +14,6 +14,6 +12,7,4 +34,20,6,19,23 +2,22,4 +13,5,6,16 +14 +14,5,10 +29 +7,14 +17,14,5,6 +25,6,49 +12,13,6,28,23 +4,6,15 +6 +40,12,14 +6 +26,6,46 +38,22,14,5,6 +44,17,14,6 +25,17,4,6 +14,5,6,19 +40,20,17,4,16 +17,7 +44,4,6 +34,5,6 +12,20,4,6,8 +6 +4,14,5,6,19,16 +32,2,4,6,19 +2,7,5,46 +39 +14,6,15 +5 +27,3,6,15 +14 +2,6,23 +6,21 +45,5 +6,8 +4 +5,6 +4,5,6,21 +2,14,6,15 +2,22,17,4,14,6 +14,6 +25,20,6 +14,5,6 +17 +40,6 +6,10 +7,6 +2,17,6 +22,6 +40,3,5,6 +0 +45,24,4,6 +6 +7,5,6 +7,5,6,21,15 +49 +2,5,6,10,43 +43 +47,3,6 +20,4,6,21 +3,6 +47,2,25,20,17,6,29 +2,3 +2,17,6 +40,34,6,23 +13,6,11 +17,14,5,6 +35,2,6 +22,14,5,19 +26,7 +7,6,16 +25,4,14 +17,7 +5,6 +50,27,6,21 +13,20,14,6 +39,5,6,8 +3,5,6 +25,4,14,5,6 +12,3,4,5,6 +12,6 +7,6 +6 +13,3,6 +5,6 +14,6,11 +5,6 +14,6,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +25,3,6 +27,7,3,6 +5,6,15 +12,17,7,4,5,6,8 +7,4 +12,17,4,6 +13,4 +14,6 +45,3,14,5,6 +45,32,13,14,16,49 +25,4,14,6 +6,16,43 +12,25,6,19 +4,6 +2,5,6,19 +12,25,5,6 +6 +3,6 +5,6,15 +20 +27,7,6 +2,5 +6 +13,5,6 +22,6,43 +13,7,6 +40,12,4,6 +6 +14,5,6 +2,17,6 +5 +17,6 +5 +7,3 +6 +13,20,22,14,6,8 +14,6,10 +47,22,6 +3,4,6 +5 +20,3,6 +22,6 +13,2,17,4,5,6 +13,5,6 +7,6 +34,3,14,5,6,28 +7,6 +20,7,4,5,6,8 +6,19,46 +6,23 +22,14,5,6,8 +6 +6,43 +40,25,6 +4 +20,3,5,6 +14,15,42 +13,6 +45,38,22,3,14,42 +33,22,5,6 +6 +25,6 +5 +14,6 +44,5,6,28 +5 +0 +6,28 +6 +20,6 +39,5,6 +6 +14,6,19 +5,6,11 +6 +6,15 +32,13,20,4,10 +14,8 +8 +13,22,17,11,43 +33,6 +3,5,6 +14,5,6,28 +35,6 +14,6 +27,10 +4,5,23 +20,7,6,23 +6 +5,6 +6 +17,6,8 +5,6 +39 +13,8 +14 +12 +5 +25,14,6 +13,5 +35,6 +47,3,4,6 +35,6 +20,4,14,28 +20,6,42 +45,17,14,5,6 +5 +33,26,4,6 +47,5,6 +50,35,20,6 +17,5,6,8 +12,4,6 +0 +17,5,6 +6 +44,14,6 +12,20,3,14 +22,6 +6,19 +5,6,43 +3,5,10,16 +6 +20,7,4,5,6 +27,14,6 +4,5 +20,3,6 +12,6,19 +3,4 +0 +26,3,14,5,42 +22,4,6 +4,5,6 +14 +7,6 +7,6 +13,17,6 +5 +0 +6 +14,6 +50,26,22,3,5,6 +26,3,6 +5 +5,6 +6 +3,4,6 +50,17,6,28 +6 +13,4,6,11 +4,6 +6 +5 +14,6 +24,14,6 +3,5,6 +5 +14,5,6 +20,5 +20,6 +12 +12,4,14,6 +20,4,6 +35,42 +6 +39,14,6,16 +45,13,17,7,6 +45,47,7,4,14,5,6,28 +50 +6 +12,5,6 +12,6,15 +6 +0 +12,7,5,6,15 +3,4,14,5,28,23 +12,6 +4,15 +34,4 +6 +20,6,19 +14,6,10 +39,17,6 +0 +3,5 +24,6 +3,14,6 +33 +33,4,6 +7,4,19 +3,4,14,6 +24,6 +12,7,14,5,6 +14,6 +20,6 +7,4,5 +13,17 +6 +20,3,14,5,6,15 +12,5,6 +6 +5,6 +6 +12,4,6 +44,5 +6 +5 +44,3,6 +4 +4,6 +7,3,14,6 +14,5,6 +5 +5,6 +3,5,6,15 +5,6,11 +13,6 +50,6 +39,17,7,6 +6 +5 +26,14,5 +6 +5 +7,14 +39,7,6 +6 +17,4,6 +47,17,7,6,28,23 +17,14,5,6 +17,14,6 +5,15 +3,4,14,6 +0 +17,14,6 +35,26,20,4,5,6 +5,6 +14,42,23 +3,6 +42,8 +3,6 +14,6 +3,4,6,10 +5,6 +14,5,6 +50,26,5,28 +33,4,6 +5,6 +14,6 +6 +4,14,6 +14,6,10,8 +4,6 +26,5,6,42,43 +24,14 +45,6 +14,6,15 +38,6,19 +26,5,6 +0 +20,4 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +35,5 +4 +5,23 +14,5 +5 +20,28,19 +4,28,42,23,8 +14 +0 +33,5 +4,14,23 +33,19,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +14,5 +4,5,11 +4,19 +4,23 +14 +13,5,42 +13,5 +0 +14,28 +4 +0 +14,10,11 +33 +50,44,14,5 +14,28,15,8 +4,42,11 diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels.txt new file mode 100644 index 0000000..87ad4de --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +6,7,8 +0 +6 +4,6,9,10,11 +6 +6 +4,12 +6,8 +3,5,13,14,15,16 +5,6,17,18 +5,6,19 +6,14,17,20,21 +2,12 +13 +6,22 +10 +6,10,17 +5,6,11,23 +6 +6,24,25 +6 +4,7,24,26 +3,14,21,27 +3,6,14,23 +6,14,15,28 +5,6,14,29,30 +2,7,31 +6,25,32 +5,6,8,19,33 +6,11 +4,10,14,15,17 +6,13,34 +6,13,15,17,35 +3,4,8,14,36 +3,5,6,21 +4,6,7 +2,5,33 +6,14,16,37 +5,38 +6,10,14 +3,5,7,14 +28 +6,39 +2,3 +5,6,7,29 +6,8 +26,35 +5 +6,21 +5,6,7,13,14,40 +6,14 +5,6,41 +3,6,13,34 +5,6,22 +3,4,5,6,29 +3,5,6 +6,28 +3,4,6,25 +6,21 +6,14,37 +4,6,34 +5,6,15,22 +4,6,28 +5,6,17,29,42 +6,43 +6,11,26 +3,6,7,25 +5,6,44 +7,38 +6,13,45 +2,5,6,21,40 +6 +4,6,14,40,41 +10 +5,6,7,23 +6,14,20,31 +6,12,44 +5,6,7,17,45 +6,12,18 +6,11 +7,20,46 +3 +2,6,17 +31,46,47 +2,5,26 +0 +4,5,6,14,42 +4,5,6,11,27,37,41,48 +2,3,4,6 +5,14 +5,6,17,28 +2,5,6 +4,5,6,20 +12,20,49 +6,7 +6,14,19 +3,6,22 +30,37 +6,16,42 +2,4,6,10 +6,17 +14 +4,5,10 +6,10 +3,6,16,17 +4,5,6,50 +4 +50 +14,21,35 +6,14 +2,4,16 +5,15,22 +6,17 +6,8,43 +6,29 +6,11,14,17,24,25 +6,12,14,15,18 +10,14,22 +6,7,14,25 +49 +6 +3,5,6,25,32 +4,18,21 +4,6 +6 +0 +6,31,32,36 +6,26 +5,6,19,22,30 +3,5,20,43 +6,34 +5,19 +5,6,22 +3 +4,6,25 +5,6,7,25 +6,12 +5,6,10,13,17,18,19,42 +3,8 +7,17,28,37,46 +6,21 +6,46 +5,6,46 +5,6 +2,6,7,19,20,28,47 +6,41 +3,5,6 +5,12 +6,44 +3,29 +2,4,6,15 +5,6,14,16,35 +6,48 +5,6,15 +4,6,14 +6,14,22,25 +14,33 +3,6,31,32,39 +6,25 +5,13 +5,6 +6,15,21 +0 +6,14,15,39 +3,6,11,13,21,36 +3,33 +5,6,25,29,48 +4,6,17,20 +3,4,5,6 +5,6 +2,3,5,6,16,17 +6 +4,5,13 +5,6,36,38 +2,6 +5,6,9,14 +3,6,11,14 +6 +5,6,24 +5,6,12,38,48 +4,6,24 +6,8,23 +3,5,6,22 +5,6,17,26,41 +13,14,16,41 +6 +6,49 +3,4,6,21,34 +2,6,17,18 +5,6,28 +6,26 +4,6,16,17 +4,5,7,8,28 +6,8,16,38 +3,5,6,25,31 +3,4,5,6,7,14,22,25 +6,14,37 +5,6,14 +6,7,13,20 +4,5,6,25 +7 +5,6,25 +5,46 +5,6,44 +4,5,6,12,19,21 +6,20 +4,6 +5,6,14,17,20,26 +4,6 +3,14,22 +4,6 +6 +5,6,14,17 +6,22,38 +6,14,39 +6,12,15,47 +5,6,12,22,42 +5,6,20 +4,6,8,15 +3,4,6,22,28 +6,9,28 +6,14,25 +6,11,22 +6,7,30 +5,7 +6 +7,34 +5,6,7,14 +3,6,37 +7,14,46 +5 +5,6,7 +2,6,7,8,50 +6,22,25 +6,7,14,42 +6,14,17 +5,6 +4,5,6,50 +4,6,13,14,36 +5,6,7,15,16,22 +6,14,30 +6 +5,6 +3,5,6,12 +5,6 +6,17 +5,6,12,14,25 +3,5,6,28 +3,6 +5,6,20,23 +4,6,27 +4,6,40 +3,6,12,18 +28 +5 +17 +5,6,7,14 +3,4,5,6 +5,6,14 +4,6,49 +5,6,7,17,18 +6,9 +5,21 +5,7,17,42 +0 +4,5,6,7,34,40 +3,14,35 +3,4,5,6,21 +6,11 +6,14 +6,20,38 +5,17,20,25 +5,6,13,15 +5,6,14 +6,12,14,37 +6 +16 +18,23,28 +5,6,47,51 +6 +0 +3,6,25 +2,4,6,10,20 +6,10,12,44 +6 +5,13 +5,18,22,40 +5 +2,3,19,37 +4,5,6,22,47,48 +6,21,22 +6 +5,6 +6 +6,7,15,18 +5,6,7 +0 +3,6,15,17 +6,7,14,21 +5,7,17,23 +4,5,22,29 +5,6,15,25 +2,6,14,49 +10 +3,6,14,44 +17,25 +6,7,9,38 +6 +4,5,6,11 +5,6,14,35 +4,5,6 +6,7,32 +6,40 +2,6,25 +4,6,17 +2,6,17,21,28 +4,17,44 +6,34,46 +17,22,35 +6,7 +2,5,6,26 +5,6,14 +4,6,10,48 +4,5,15,20 +4,6 +22,44,47 +3 +0 +4,6,43 +6,14,50 +5,6,25,33 +5,6,15,18,29 +4,5,6,25,44,46,48 +5,6,11,14 +5,19,20 +5,6,11 +2,21 +6,22,32,39 +4,6 +5,12,13,14,36,45 +4,6,13,17,23,44 +5,6,14,15 +6,34 +14,22 +10,21 +5,7,42 +6,20,42 +2,4,7 +6,29,35 +6,14 +5,6 +2,23,29,38,51 +6,7,50 +4,6,14,17,42 +12 +4 +5,6,26 +17 +3,6,13 +6,7,22,28,36 +6,14,16,28 +5,6,10,14,29 +5,6,25 +5,10,12,14,38 +3,6,7,14,37,42 +2 +6,14,23 +5,6,21,30 +5,6,20,48 +6,7,35 +6,14,20,45 +5,6,25 +6 +17,36 +3,5,6,14 +5,6 +5,13,16 +4,14 +6 +6,18 +5,6,20,23 +6,16 +5,6,12,48 +5,34 +4,5,6 +6 +6,7,8,18,28 +17 +6,14,30 +6,46 +6,12,14 +4,5 +6,13,14,40 +5,16,17,29 +3,6,15,25 +15,18,48 +6,13,15,44 +5,27 +4,5,15,41 +6,18 +4,5,6,16,34 +6 +22 +6,14 +2,3,4,6,7 +4,6,14,27 +10,20 +2,5,6,14,42,49 +19 +6,18,29,36 +5,14,42 +4,6,13,16 +5,6,14 +3,5,6,14,15,24,30,35,43,46 +3,5,6,31 +7 +6,14,19,25,33 +6,30,42 +3,4,6 +6,14,22 +5,15 +2,5,6 +8 +5,14,32,43 +4,5,6,15,17 +4,6,25 +6 +3,5,9 +5,6,14,17,26 +4,12,17,37,42,49 +12 +3,6,17,36 +5,6,13,49 +2,6,35 +3,22 +2,5,6 +2,6,31 +14,17,21,22,30 +6,14 +5,6,14 +3,20,22,47 +3,4,6 +6,37,46 +4,5,6,14,15,41 +6,16 +6,14 +4,20 +3,8 +5,6 +3,6,14 +5,10 +2,6 +4,14 +4,32,33,48 +6,29 +6,10,25,46 +4,6 +3,5,6,14,16,46,47 +6,8,12,36 +4,18,25,39,43 +6,19,28,46 +0 +14,19 +5,15,21,41 +3,4,5,6,7 +2,6 +4,5,6,14,22 +3,4,6,7 +3,6 +6,8 +5,6,14,17 +6,7 +14,43 +6,18,26 +6,19 +2,5,6,41,50 +3,5,6,7,20,23,25 +3,6,18 +0 +0 +5,7,28,42 +6,14,28,51 +3,4 +6 +3,5,6,29,34 +3,5,6,14,22 +6 +5,6,34 +6,14,26 +0 +4,6,14,25,27,28 +5,6,19 +4,6,7,14 +3,6 +6 +6,10,14 +6,14,17,37,39 +3,6,13,17,19,31 +14,21,22,46 +4,5,6,7,14,15,17 +6,25 +4,5,8,17 +6,8,17,22 +6,14 +6 +2,5,6,17,34 +4,5,18,26,45 +6,34 +4,6,17,26 +3,4 +4,6,12,14 +4,5,12,14 +3,4,13,20,25 +6,10,14 +6,50 +6,41 +5,11,28 +6,14,17,46 +17,48 +6,17 +3,6,14 +5,6,14,18 +5,6,14,16 +5,14,49 +6,7,14,37 +6,20 +6,14 +14 +0 +2,3,5,14,22 +4,6,25 +14,22,40 +5,6,7,11 +4,20,26 +5,6,7,14 +0 +6,20,34 +6,14,16,44,49 +5,6,14,40 +6,14 +2,6,10 +3,6,28,49 +5,6 +15 +5 +2,6,36,47 +3,6,42 +5,6,18,26 +0 +38 +6 +0 +3,4,6 +6,11,22 +6,10 +5,6,13,27,40 +0 +6,17 +6,14,28 +5,13,34 +14,43 +6,17,37 +4,5,6,10,47 +6 +6,8,44 +6,7,10,15,36 +14,23,45,47 +5,6,27,34 +6,7,25 +5,6,7,13 +6,14,42 +5,6,23,28 +5,14 +6,22,38 +4,6,37 +6,12 +4,6,46,49 +6,40 +3,6,22,32,43 +6,28 +40 +2,6,7 +5,22 +3,6,25,49 +10,17,47 +3,6,14 +2,6 +7,43 +5,6 +6,13,22 +6,12,14,36,39 +2,5,6,30 +5,6,7,15 +3 +3,4,6,7,8,11,14,27 +4,5,6,7 +6,9,11,44 +3 +6,7,22 +6,22 +4,6,25 +6,13,18 +23 +6,22 +5,6,8,12,17 +5,27 +4 +2,4,20 +6 +5,6,15,22,25 +6,18,24,25 +6,20,29 +7 +5,6,7,13,14 +8,10,17,37 +6 +6,8 +3,6,14 +6,16 +6,12,13,14,22,25 +4,5,6,20 +5,7,11,37,50 +0 +6,13,14,29 +6,8,16,18,22 +5,6,10,14 +4,35 +6,14,20 +14,21 +5,6,17,21,50 +4,6,21,48 +4,6,17 +5,6 +4,5,6,13,26 +4,5,6,22 +5,12,15,43,44 +5,6,13,16 +6,10,14,21,28,44,49 +3,5,6,22,34 +5,6,17,42 +5,6,7,13,14 +6,23 +2,7,22,28 +15,41,49 +2,3,5,14,17,46,47 +6,40 +3,4,5,6 +2,6,35,50 +6,7,14,36,42 +4,6,14,18,22,36,38 +5,6,14,35 +4,6,7,9,11,14,20 +5,6,17 +5,6 +6,48 +5,6,7,17,21,35 +2 +2,6,7 +12,22 +5,6,7,14,19 +6,14,16,22 +4,6,17,25,35 +4,5,6,11,22 +6,17,20 +6 +5,6,20 +3,6,13,25 +5,14,17,28,30 +3,25 +5,6,29 +3,4,6,17,30 +5,6,14,46 +5,14 +5,6,14,18,31 +3,4,6,18 +5,6,7 +0 +5,6,7,30,46 +17 +5,6,10 +6,7 +4,5,6,14,46 +5,6,12,14 +0 +5,6,10 +6,12,21,23,49 +2,3,8,10,17,48 +3 +2,5,6,36,49 +6,7,10,14 +4,6,24,44 +6 +5,6 +4,6,23,27 +3,6,7 +2,6,29 +3,5,6,14,28 +5,6,7 +5,6 +6,14 +5,14,26 +6 +5,6,34 +5 +6,51 +5,6 +6 +3,13,48 +3,6,7,12,14 +6,7,45,46 +6 +5,6,14,21 +6,7,8,21,31,37 +6,20 +6,15,17 +3,13,15 +4,6,14,16,46,48,50 +2,7 +6,22 +3,6,14,15,17,34,35 +6,15 +3,5,6,14,39 +6,7,14 +5,6,14 +0 +6,26 +6,8,17,25 +3,4,5,6,14,17,44 +6,14,16,17,18 +3,5,7,17,42 +5,6,14 +3,6 +4,6,9,47 +4,6,7,22,33 +6 +4,17,20,45 +3,6,7 +2,13,20 +6,35,44 +4,6,14,36 +6,7,14,17,22 +5,19,20 +6,14 +6,20 +3,5,6,20,42 +3,4,5,6,7 +3,5,6,17 +5,7,9,20 +5,6,22 +5,6,20,35 +5,6,9,12,40 +4,6,19,27 +6,14,28,30 +4,6,25,46 +2,6 +6,14 +14,20,46 +6,20 +6,7,20,28 +6,13,25 +4 +6,36,46 +6,14,18,19,25 +6,14 +6,7,44 +4,5,28,51 +4,6,42 +6,22,28 +15 +6,17,28 +2,5,6,12 +5,6,28 +10,14 +5,6,22 +5,6,17,21,22,25 +2,5,8,22 +6,12,17,19,33 +4,6,16 +6,15,18 +5,7 +6,13 +6,17,25 +2 +3,6,16,46 +12 +6,32,44 +5,6,14,18,23 +6,8,20,31,43 +3,5,45,51 +4,6,8,23 +5,6,14,18,43 +13,21 +3,6 +15 +6,14,17,22,30,37 +6 +6 +3,5,6,7,41 +6,15,25 +6,7,12 +5,6,9,13,16 +6,7,21,29,49 +4,22 +6,12,13,28 +2,3,6,21 +22 +3,6,27 +6,40 +5,6 +5,16,22 +4,5,6,14,21,28,39 +4,6,17,20,39 +6 +3,16 +4,6,11,13,22 +6 +2,5,33 +2,4,5,14,23 +3,6,17,27 +2,3,6,14 +5,6,17,21 +6,8 +6,18,46 +2,3,6 +6,17 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +5,6,17 +4,6,17,33,48 +6,42 +6,9,16,19,33 +6,51 +8 +5,6 +3,4,6,7 +5,6,7,12 +3,6,12,21 +4,5,7 +5,6 +5,6,7,49 +6,14,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +6,10,14,25,31,49 +6,16,29,30 +5,6,25,28,31,36,46 +2,4,6,7 +2,3,14,17,31 +6,18 +5,6,17,44 +5,6,44 +6 +6,7,17,22,25,28 +6,11,17,22 +5,6,44 +6,16 +6 +3 +4,20 +5,12,21 +6,7,12,19,22,49 +6,17,19,26 +6,14 +6,14,22 +5,22 +6,8,14,25,26,51 +4,6,26 +3,6,22,31,49 +12,24 +3,6,11,13,33,42 +14,50 +6 +14,26 +3,5,6,8,32,44,46 +5,6,13,22 +3,6,7,14,39 +4,6,46 +4,6,7,14,46 +5,7,51 +3,6,23,32,48 +6,8,17 +6,14,21,43 +5,6,9,17 +5,6,7,14 +6,22,48 +6,14 +17 +3,6,14 +6,48 +5,6,20,21 +4,6,14,17,19,21,33 +5,22 +6,7,44 +6,13,40,49 +6,40 +6,14,15 +3,6,17,42 +12 +4,6,20 +5,6,42 +5,6,14,25,29,47 +4,6,17 +5,6,7,22,42 +5,6,14,28 +5 +6 +6,14 +9,14,16 +6 +3,5,6,16,37 +4,6 +6,42 +3,6,14,23,31,43 +6,17 +3,5,6 +6,14,15,30 +5,14 +6,14 +6,13,14,17 +6,10,12 +4,48 +4,5,6,14,31,49 +4,6,16,31 +2,3,4,6,7 +4,6,48 +14 +5,6,12,19 +5,34 +5,6,8 +4,6,42 +25 +6,13 +6,22,29 +3,6,21,22 +4,6,34,41,48 +4,5,6,8,15,20 +4,6,7 +4,5,6,19 +2,5,6,14,28 +5,6,49 +6,7,17 +6,11,14,36 +5,6,14 +3,6,11,47 +5,9 +5 +4,5,6 +4,6,15,46 +6,14 +4,6,17,25 +6,44 +5,6,15,48 +6,17 +3,5,6,12,20,51 +4,6 +5,6,10,15,22,42 +6,7,10,15 +20 +4,20,25 +4,6,8,16,29 +6,14,22 +3,5,6,28,35 +5,6,46 +6,23,40 +5,6,22,23,51 +3,6,7,14,19,22 +3,6,44 +3,11,25,38,48 +4,6,25 +2,6,7,17,29,33 +2,5,6,21 +3,4,6,14,16 +2,5,6,14,51 +6,7,18,28,47 +5,6,8,20 +0 +14,49 +2,4,5,6,12,32 +6,10,48 +6 +6,13,30,31,35,40 +5,6,34 +6,14,20,23,30,48 +2,6,32,44 +5,33,35 +4,5,6,25 +4,6,14 +6,25 +4,6,20 +6,17,33 +2,6,7,14,22,38 +5,13,30,33 +6,7,17,18,29 +5,6,8,28 +5 +6,14,22 +39,47 +13,20 +4,5,6,8,20,22 +6 +6,36 +5,6,11,14,19,38 +5,6,28 +4,6 +5,6,10,14,40 +5,6 +4,6,7,22,23 +6,7,47 +6,19 +3,5,6,20,22 +6,7 +3,5,10,14,15 +3,5,6,17 +5,6,7,14 +6,14 +2,6,12,14,34 +6,20 +6,17,18,28 +6,13,17,41 +14,43 +14,45 +6 +4,5,7,14,45 +7,14 +6,14 +6,7,22,25,39,47,51 +6,14,23 +6,17,24 +6,7 +5,6,13,14 +5,6,10 +2,6,8 +5,6,49 +4,6,30,34,45,49 +6,29 +3,6,13,15 +6,26 +2,3,21 +6 +4,6 +4,6,23,35 +13,16 +5,6,17,33,42,48 +3,6,16,20,30 +5 +5,6,16,34 +5,22 +6,22,51 +5 +6,13,14 +3,4,17,20,44 +4,44 +4,6,14 +20 +2,6 +6,20,22 +5,6,21 +5,6,42 +6,17 +4,17,18 +4,5,6,13 +4,6,12,15,17 +5,14 +6,14,28,33,39,42,49 +3,6,7,18,22,25,28,51 +17,28,45 +6,7,14,21 +14,20,46 +6 +5,6,21 +5,6,16,22 +6 +3 +3,5,22 +6,21 +6,30,48 +6,7,22,44 +3,4,5,6,14 +3,5,6,14,16 +6,21 +6 +6,16,22,37 +4,6,22,30,37 +6,18,48 +6,9,12,44,50 +5,7,14,25,42 +2,5,6,18,35 +3,10,25 +2,4,5,6,12,14,22 +6 +6,7,13,17 +4,5,42 +3,6,14,15,27 +9,46 +5,6,9,13 +5,6,35 +6,13,17,25,45 +6,18,20,40 +5,6,44 +2,3,14,18,25,46 +25,42 +4,6,22,29 +6,10,13 +3,4,5,6,28,42 +6,34 +6,17,23,29 +6,17,43 +2,6,21 +6 +6,7,10,17,37 +4,5,6,44 +3,5 +20 +6,34 +6,15,42 +6,20,33,42 +0 +6 +6,12,18 +49 +6,14,39 +5,22,40 +5,6,25,49 +5,6 +48,51 +14,19 +6,21 +3,11,36 +5,14,48 +5,6 +0 +2,14 +4,6,7,18,20 +6,11,17,22,30 +4,5,22 +5,14,30,46 +6 +2,6,23,49 +8,22 +6,7,48 +3,5,6,33,39 +14,17 +6,9,14,22,25 +5,6,7,15,17,23 +3,6,49 +4,5,6,7,15 +6 +6,20 +3,5,6 +4,15,20,26 +4,19 +6,14,39 +6,28,50 +3,6,7 +5,14,16,25,34,43 +6,22 +5,20 +6,8,14 +5,20 +6,22,48 +4,28 +6,14,19,20,28 +3,5,6,14 +3,4,14,19,22 +5,13 +4,6 +4,14,22 +6 +13,30 +39 +4,5,6,14 +6,22 +6,22 +3,5,7,14,21,44 +4,5,6,20,27,30,43 +3,5,6 +6,33 +3,6,13,19,48,51 +6,18,34 +3,6,35 +3 +5,6 +15 +6,11,14,17 +6,14 +5,6,20,30 +5,6,17,45 +6,16,40 +5,6 +3,5,6,21,22,34 +5,6,7,20,37 +6,14,20,41 +6,17,19,20,22 +3,6,14 +10,43,47 +6,22 +6,7,10,17,41 +5,6,17 +0 +3,6 +3,4,6 +5,6,20 +4,5,6 +4,6,20 +14,42 +5,6,22 +6 +5 +18,40 +19,20,29,42 +5 +5,6,12,22 +6,14,15,19,48 +2,23 +6 +5,6,28 +14 +5,6,14,17,44 +5,6,19,30,51 +2,5,14,17,45 +6,14,22 +3,6,48 +6 +6,17 +14,20,42 +3,15,38 +6,23 +6,14 +3,6,8,12,13,21 +4,6,14,22 +19 +8,23,28 +6,9,14,41 +4,6,14,17,22,45 +3,4,5,6 +6 +4,22,39 +6,15 +5,6,33 +6,14,17,20 +6,14,21 +6 +4,5,6,25,39 +5,6,13,14,20,23,36,43 +0 +6 +19 +6,7,10,16 +3,4,5,6 +4,5,6,42 +6,12,17,19,22,44 +6,50 +3,5,6,18 +6,14 +5,6,21 +4,6,7 +4,5,28,30,38 +5,30 +43 +5,20,21,28 +5,6,20,39,41 +6,22 +6,22,33 +4 +4,5,6,38 +5,6,14,30 +17,28 +6 +6,14,17,20 +14,17,50 +4,5,6,7,15,47 +6,7,19 +14 +4,34 +5,7,14 +7,25,33 +4,6 +5,6 +2,6 +5,7,38 +3,4,5,6,14,15,22,29 +6,14,22,33 +5,6,7 +6 +12,14,20,28 +4,6,18,49 +5,6,17 +4,6,33,34,36,42 +6,7,20,25,30 +6,17,34,50 +3,20 +5 +5,6,17,21 +13,26,33,46 +6,14,42,43 +3,7,14,29 +2,6,28,44 +13,14 +3,6,10,44 +6,46 +3,5,6,22 +4,6,27 +2,4,14 +3,4,5,6,11,30 +6,38 +6,7,14 +14,19,48 +3,5,6 +5,6,7,44 +5,14 +6,28,34,44 +6,7,14,22,35,46 +3,6 +3,6,50 +6,30,46,49 +6 +6,8 +16,22,29 +2,29 +6 +5,6,25,49 +30,46 +6,18,19,25 +5,6,36 +4,6,7,50 +6,17,46 +6,17,21 +3,4,14,17 +5,6,14 +2,5,6 +4,6,17 +4,5,14,29 +5,6,10,14,20 +0 +5,7,44,51 +6,14 +6,9,12,13 +6,38 +5,10,27,28,36 +5,46 +5,6,27 +18,20 +5,6,26 +6,11,25 +4,19,26 +0 +3,4,6,16,21,27,28 +3,7,30,46 +6 +5,6,7,14,25,48 +6,7 +6,12,22 +13,17 +3,4,5,6,14,45 +2,5,6,13,25 +6,14 +12,18,25 +4,5,6,7,12,30 +6,7,17,36 +4,5,6,13,14,34 +6,8,14 +6,7,20 +3,6,13,48 +5,14,30,51 +4,9,25,39 +5,6,10,17 +4,6,14 +2,6,14 +5,13 +2,5,6,22,35 +0 +7,28 +0 +3,12 +2,5,7,32,46 +4,6,14 +24,36 +4,6,14 +6,46 +14 +5,6,7,40,41 +6,7,17,22 +6,7,16,33,45 +13,21,22,47 +4,5,6,10,15 +4,6,7,45 +5,6,7,22,24 +6,30 +6,7,11,14,15 +3,5,25,45 +5,6,46 +2,5,6,42 +6 +5,6,14,15 +4,6,8 +5,6 +2,6,12 +4,6,13,51 +6,9,13 +22 +6,8,14,20,25,26,33,35 +6,9 +5,6,21,44 +6,13 +5,6,20,35 +20,47 +5,6 +3,5,6,14,19 +4,6,12,42 +6,7,47 +6,14 +6,44 +5,6,14,39,48 +2,6,25,42 +3,4,6,7,14 +3,5,6 +14,37 +6,19,42 +4,5,6,7,46 +5,6,17,19,25 +3,6,17,19,49 +12 +2,33 +5,6,43,45 +3,20 +5 +2,6,10,14,22 +2,3,5,6,20,45 +4,8 +6,22,25,36,42 +4 +6,8,20,49 +6 +6,7,14,23,32 +6,28 +5,12,14 +3,4,6,21 +5,6,17 +6,17 +3,6,23 +6,11,14 +14,20 +4,6 +6,15,22 +4,6,44 +6,7 +4,5,6,8,9,14,26 +2,5,6,18,29 +4,6,7 +3,17,18 +2,3,5,14,32 +6,18 +5,6,16 +2,5,6,14,20,28 +6,14 +6,14,22 +0 +23 +5 +5,10,17 +5 +6,37 +6 +4,5,14 +3,6,7,15,25 +6,28 +4,14,22,51 +6 +6,12 +6,12 +9,13 +6,14,19,25 +5,6,49 +5,6,13,14 +6,14,18 +3,5,6,14 +4,6,7,14,17,22 +6,13 +17,22,28,46 +6,44 +8,20,23,25 +5,6 +15,20 +4,6,14,20,21,30,35,47 +2,13 +3,6,11 +5 +6,26 +5 +4,5,6,13,17,33 +5,6,15,17 +4 +4,6,22,23,48 +4,6,16,19,43 +26 +4,5,6,7,14 +6,22 +17,46 +5,6,14 +7,14 +6,7,12,14 +6,14,30,32 +6,20,23 +5,6 +5,6,14,28 +7,43 +6,17,23 +5,6,47 +14,28,39 +6 +14 +5,6,38 +6,25 +5,20,43 +0 +5 +3,5,18 +6,7,20 +4,5,6,17,29 +7,16,27,49 +6 +3,6,14,20,22,41 +5,6,7,9,12,22,46 +13,14,29,44 +5,7,14 +5,6,29 +6,26 +5,6,13,21 +6,28 +6,14,17,50 +6,43 +5,15,48 +6,14 +6 +5,6 +6,16,17,49 +6 +6,25 +4,5,13 +5,6,22 +6,22 +2,6,8 +5 +6,7 +6,20 +6,23 +4,13,14 +6 +4,6,7,27,34 +5,6 +14 +6 +5,7,17,46 +6,14,23 +14,19,22 +7 +5,14,17,25 +3,5,6,7,44 +6,15 +3,4,6,20,22 +7,8,14,31 +4,5,6,42 +5,6,7,14,15,17,20 +6,22,23,27 +6,14,27 +5,6,20 +3,5,6,26 +6,22,36 +2,5,6,46 +14,36 +3,6 +4,6,14 +4,5,6,14,34,50 +5,14,17,22,47 +7,14,22,25 +6,20,25 +6,9,13,14,17,25,42 +5,12 +2,3,4,5,6 +2,3,6,12,13,19,48 +6,24 +6 +6 +6,7 +6 +5,6 +6,22 +4,6,14 +3,6,20 +6,7,20 +5,6,7,30 +3,20 +5,6,7 +4,6,22 +11,20,31 +5,6,24,34 +5,6,14,17,41 +6 +6,7,28,31,42,43 +2,6,16 +6,14,30 +7 +6,20 +6,25,50 +5,18,23,25 +6,17 +26,38 +4,5,6,8,12,14,17 +6,14,29 +5,48 +5,6,20,23 +5,14 +6,11,14,26 +5,6,16 +4,5,6 +4,5,6 +7,20 +3,5,6,14,25 +4,5,22 +6,15,18,41,43,45 +6,7,10,15,49 +19,31 +5,6 +5,6,14,17,39 +6,14,20 +2 +3,6,8,28 +6,41 +4,5,6 +6,7,12,30,49 +4,6,17 +3,5,6,22 +6,13 +3,4,5,6,14,31,45 +3,6,7,28,40 +2,3,6,19,51 +5 +29,51 +5,6 +3,6,14,20 +4,6 +14,18,20,36 +6,14,17,18 +3,6,14,18 +5,28 +8,14,38 +4,14,46 +4,6,14,17 +6,17,19,25,27 +6,22,30,35,38 +2,5,13,14 +3,6,7 +3,6,28,45 +6,24,29 +3,6 +5,6,7,9,14 +5,6,18,27 +14,15,19,22,29,42,43 +0 +11,17,18,50 +5,14,23,31,42 +6,14 +5,21,38 +6,14,29 +6 +4,6,7 +14,42 +3,6,29 +2,4,17,25 +6,14 +5,9,19,22 +5,6,14,40,42 +6 +6,44 +4,5,6,13,19,22 +6,22 +2,5,6,22,32 +3,20 +5,6,23 +6 +6,22 +6 +4,5,20 +3,6,41 +5,6,14,42 +2,4,5,6,25 +4,6,22,25,42 +5 +3,6,25,29 +5,6,7,16,39 +3,5 +2,6,14 +5,6,15 +5,6,43 +5,6,8 +3,7,8,25 +6,17 +3,29 +4,5,21 +28 +4,5,6,7,13,30 +0 +0 +7,39,50 +9,14,18,20,36 +6,9,14 +6,33 +5,6,8,14 +3,6,50 +5,6,14,22,39 +3,5,26 +6,22,33,48 +4,6,15,17,30,38 +6,8,14,28,32,47 +6,7,21,25 +6,7,17 +5,11,14,32,40 +5,6,7,21 +28 +6,10 +3,4,6,14 +6,7,13,47 +4,6,10,20 +2,5,13,20 +7,29 +20,27 +3,10,22 +2,5,12,14,22 +6,14 +6,17,22 +19,42 +4,5 +4,5,6 +6,14,36,37 +3,5,6,14,22 +5,6,16,25,29 +5,6 +20 +6,14 +6,14,18,22,51 +5,6,14,31 +3,6,17,20 +5,6,28 +0 +5,6,14 +2,6,17,48 +6,12 +2,3,4,6,14,17 +6,20,22,32 +4,5,18 +6,14,27 +14 +6,10,20,44 +25,39 +5,6,7,29,42 +3,6,20,21,23,43 +3,6,8 +6,22 +6 +0 +5,6,30 +6 +33 +4,5,6,13,31 +2,5 +16 +7 +4,6 +3,5,6,7 +6,14,15,25 +6,14 +5,14 +0 +6,7,14 +3,6,25 +4,6,17,24,46 +5,14,17 +6,11,14,37 +4,19,28 +14,19,36 +5,7,9,35 +6,9,12,22 +3,25,26,37,45 +3,7 +3,6,22 +5,6,11,22,30,32 +6 +5,48 +2,6,31,42,51 +4,6,10,13,14,15,22,46 +6,21 +2,5,11,14,25 +2,5,12,13,43 +2,23,49 +4,6,22,50 +6,14,21 +5,12,33 +20 +6,16 +4,5,6,13 +18 +6,19,36 +3,5,6,15,25,28 +2,6,14,21,40 +6,7,20,26 +5,6,10,17,20 +17 +6,21,33 +5,14 +3,4,6,14 +5,12,21,29,51 +6,16 +2,5,22 +6,15,28 +4,6,31,42 +5,6,44 +5,6,7,8,9,34 +6,20,39 +4,6 +4,6,20,35 +6 +2,5,6,21 +6,14 +3,5,6 +6,16 +4,6 +6,17,28 +6 +22 +6,36 +7,14 +3,6 +3,5,6 +6,21,22 +2,4,6,25,36 +3,6 +6,9,16,46 +6 +3,10,14,26 +4,5,6,17,20,22,49 +2,6,14,16,38 +27 +6 +5,6 +4,5,12,16,22,28,46 +5,13 +5 +2,22 +5 +2,6,14 +5,6,7,20 +9,14,37 +6,7,23,28 +6,28 +6,14,20 +12,16,17,29 +6,44 +4,5,6 +6,7,16,43 +5,9,12 +14,20,43 +6,7,13,15 +6,14,20,21 +3,6,14,15,22 +5,6,43 +3 +12 +6,30,33 +5,11 +3,6,14,27 +4,6 +3,6,20,22,39 +5,15 +6,14,20,21,28,40,44 +5,6 +6,20,45 +0 +3,6 +4,6,15 +3,6,14,21 +6 +4 +6,37 +6,8,21 +4,7,9,17 +6,17 +4,5,6 +6,25 +3,5,6,38 +3,6,12,14 +6,11 +6,10,13,28,50 +4,28 +6,34 +3,6,21,45 +2,6,21,29 +14,17 +3,4,42 +48 +4,17 +4,6,44 +6 +5,6,14,23 +3,5,6,7,20 +3,13,18,23 +5,23,36 +6,7,14,30,46 +5 +6,9,49 +5,42 +6,41 +5,7,10,13,46 +49 +5,6 +3,6,12,13 +6 +3,6,13,14,23,28 +6,37 +6 +3,5,13,21 +8,10,36 +4,6 +25 +6,14,31 +3,4,14 +5,6,29,51 +4,14,25,51 +4,8 +2,5,14 +3,5,6,7,12 +7 +4,6 +6,21 +6,36 +4,6,21,26,33,46 +0 +2,3,6,15 +13 +5,43 +4,30 +4,6,7,15,29,31,38,43 +2,6,9,30,41 +3,5,6,10,22,35 +20,23,40 +6,15,16,31 +5,6,17,20 +3,6 +9 +4,6,17,29 +5,6,14,21 +4,5,6,21,40 +5,6,7,14 +6,17,36,42 +5,14 +6,8 +2,6,9,46 +6 +4,5,6 +6 +6,22,38,47 +5,6,13,20,27 +6,10,14,31 +3,4,22 +6,15,19 +2,4,5,30,42,48 +4,14,45 +5,16,22 +6,18,20 +14,16 +3,5,6,28 +44 +5,10,14,18,22,48 +3,4,5,6 +10,25 +17,49 +4,5 +6,20 +5,6,13,20,45 +16 +0 +6 +5,6 +12,20 +6 +5,6,38 +4,6,17 +6,13 +3,6,13,20,36 +6 +12,14 +5,6 +6,26 +5,6,20,25,35 +3,6,14,26 +6 +4,5,22 +2,6,7,20 +4,5,6,12,13 +20,46 +4,5,12,14,27,38 +4,6,12,22 +5,6,18 +5,6,20 +6,22,50 +3,6,49 +3,5,6,7,12,23,25,41 +3,7,14 +4,6,36 +6,27,44 +3,6,14,22 +3,20 +6,8,33,43 +6,14 +5,6 +6,17 +2,5,6,25,37 +3,4,10,13,29 +6,18,40,46 +6,8,14,18,44 +3,6,27 +3,4,5,6,9 +2,6,8 +6,13,19 +2,6,12,17 +0 +0 +6,7,14 +5,6,19,23 +2,3,7,44 +7 +6 +3,4,7,32 +6 +6,14 +5,49 +8,23 +4,6,23,28,33 +20 +4,5,6,14 +5 +4,5,6,10,19,29,42 +15,30 +6,13,30,46 +6,11,20,26 +6,21 +2,14,18,43 +4,10,25 +5,7,22 +6,7,41 +20,31 +4,6,14,40 +10,28 +5,6,12,14 +5,6,7,23 +3,18,22 +6,12 +4,6,13,14,19 +2,5,6,21,31 +6,8 +14 +2,10 +6,7,21,27,34 +3,5,13,18,26 +6,11 +34 +6,51 +4,6,10,29 +5 +5,6,14,21 +4,6 +4,5,11 +3,6,22,38 +2,6,10,20,22,33 +5,6,30,33 +6,14,17 +6,9,20,27,30 +14,25,36 +6,7,15,19,21,24,25 +5 +5 +5,6,12 +14 +4,5,6,14 +6 +6,14,16,30 +4,5,6,19 +3 +12,13,14,44 +6,50 +5,6 +6 +5,8,21 +2,3 +3,6,14,28 +5,6 +3,4,6,20 +6,7,15 +4,5,6,12 +6,13 +6,27,31 +6,22,25 +6,14 +30 +6,14,15,46 +6,13 +6 +2,9,28,39 +5,6,10,14,21 +3,6,9 +5,22,29 +5,6,12,16,22,26 +6,44 +3,4,5 +25,28 +4,6,20,49 +5,6,14,46 +3,15 +4,25 +0 +6,25 +6,14 +4,6,13 +3 +6,28 +5,6,22 +4,5,6,7,42 +31 +14 +5,6,10 +6,11 +4,5,6,25 +6,46 +6,13,24,27 +4,5,6,18,21 +6,11,23 +4,6,20,22 +6,12,20,29,37 +5,6,7,25,43,46 +40,45,50 +5,22 +6,7 +4,6,10,25,30 +4,5,17 +4,6,7,22 +6,22 +4,6,22,25 +5,6,16 +5,6,7 +6,14,48 +6,7,14,20,33,46 +6 +4,5,41 +3,5,13,27,29 +6,14,16 +5,21,37,38,47,49 +14 +6,7,13,24 +4,5,6,14 +5,6,19 +6 +6 +5,11 +5,11,46 +4,5,6,39,40 +16 +4,6,14,21,28,41 +6,14,18 +5,6,20,38 +7,16,36,46 +13 +5,14,20 +3,6 +5,12,21,26 +4,6,10,13,22,26 +6,29 +2,3,6,28 +3,19 +6,47 +4,7,14,15,25 +3,6,18,36 +2,5,6,21 +2,3,5,6 +6,13,14,17,23,30 +5,20,31 +16,22,37 +5,6 +5,6,36,42 +5,6,14,22 +5,6 +23 +5,14 +3,6,42 +6,7,12,23 +5,6,13,25 +6,7,17,41,42 +4,6,22 +3,4,5,10,25 +6,36 +5,6,25,31 +3,6,14,15 +5,6 +5,20 +6,14 +3,6 +5,6,23 +5,6,13 +2,6,22 +3,6,19,22 +6,22 +2 +3,13,31,49 +5,6,14,21 +2,5,37 +4,5,6,16,20 +3,5,16,25 +4,5,50 +6,7,16,17,22,25,35,39 +3,4,6,18,21 +6 +6,32 +5,6,22 +5,6,18 +6,7,10 +5,6,22,25 +5,6,17 +8,12,40,46 +4,5,6 +2,5,6,22,44 +10,23,42 +4,6,13,25,46,49 +6,32 +5,6,16,17 +6,17 +6,11,14,20,33 +6 +5,6,7,21 +6,14,16 +5,6,14,17 +0 +5,6,14,35 +22 +2,5,6,12,46 +5,14,16,49 +5,6,14,17,18,48 +5,6,19,28 +6,14,18,19 +14,16,30 +6,10,13,15,17,27,38 +5,6 +4,14,16 +5,14,24,29 +5,29 +6 +4,6,12,17 +3,6,16 +6,11 +4,14,30 +5,6,25 +3,6,15,25 +4,6,21,46 +6,17,24,28 +6,7,8,23,25 +2,5,6,14,19 +4,5,37 +49 +5,6,7,13,17 +5,17,48 +2,6,22 +5,6,14 +4 +30 +6,17,25 +6,10,14,40 +7,13 +3,6,22 +6,14,18,22 +2,6,8,14,24 +5,6,49 +5,6,7,13,17 +25 +5,6,15 +3,6,12,20 +6,7,20 +3,5,6,25 +5,6,13 +6,25,26 +4,10,14,28 +3 +5,6,7,14,26 +6,41 +6,14,45 +6,17,30,42 +3,6,7,41 +5,6,13,17,38 +5,6,14,42,51 +17,18,20,25 +6,7,29 +5,6,44 +5,31 +13,25,48 +6 +6,14,18,48 +4,6,10,31 +6 +3,14,15,16,25 +4,5,6,38 +5,6,14 +36 +2,7,12,18 +3,13,43 +4,5,18,30 +6,10 +3,6 +6,25 +6,14 +6 +4,6,17 +6,14 +5,6 +5,6,19 +6,10,29 +4,6,13 +5,6,12,14,28,37 +2,4,5,6,11 +5,6,7,50 +5,7,12,19 +0 +14,17 +6,10,15 +6,25 +6 +6,22,49 +6,20,22 +6,7 +6,14,21,28 +5,6,23,47 +5,6 +5,15 +5 +4,6,11,14,46 +5,6,20,22 +6,14,17,43 +5,7,19,49 +4,5,6 +5,6,13,34 +3,4,5,6,16 +3,5,6,45 +2,15 +5,6,31 +25 +5,6,14,18 +5,17,20,41 +0 +4,6,35,47 +35,41 +50 +6,7 +4,5,6,13,49 +5,6,10,13 +4,6 +6,17,19 +3,6 +4,6,7,21,33 +18,22,43 +6,14 +20,46 +6,14,20 +6,33 +5,6,8,10,14,21,45,51 +5,6 +6,9,22 +6,14,22 +3,6,44 +19,28 +4,14 +2,4,6,12,16,51 +13 +5,6,14,20,44 +7,42 +3,5,6,20 +6,7,14 +5,6,14 +6,35 +5,6,17 +6 +5,9,14 +4,6,14,18 +6,7,13,14,25 +5,6,14,16,19,44 +6,8,49 +5 +5,6,12,29 +5,6,14 +3,5,6,14 +3,5,6,7,19,44 +5,6,22 +6,20 +5,6,28 +5,6 +15 +6,13,15,38 +6 +5,6,43 +2,14,25 +3,5,6,14,34 +4,5,14,25,30,44 +3,18,27 +6,14,22,40 +5,6,14,36 +6 +5 +6,20,50 +6 +4,14,22 +6,15,41 +5,14,25 +6,16,25,38 +2,6,25,29,30,32 +6 +3,6,10,13 +4,5,6 +6 +17,50 +6 +5 +3,6,14 +2,6,7 +4,5,6,13 +6,14,20 +3 +3,6,28,42 +6,13,14,48 +6,23,25 +6,14,28,45 +34 +6,14,44,46 +4,6,14,22 +6,17,18 +4,5,6,47 +6,19,39,41 +6,49 +3,4,6,7,8,31 +6,14 +6,26,31 +3,6,14,48 +5,21,22,31 +3,4,5,6,7 +3,5,6 +6 +6,20,29,36 +5,6,10,22 +3 +4,6,37 +6 +2,10,22,45 +6,37 +4,6,14 +6,21,25,29 +3,5,6,14 +7,25,50 +5,6,10,27 +4,5,6,17 +6,22,42 +37 +6,10 +6,9,21 +25 +3,5,6,13,14,21,46 +3,5,6 +6 +3,4,5,20,21,27,30,36 +4,6,11 +2,5,6,44 +6,12,13,15 +3,10,14 +5 +6,9,14 +4,5,6,28 +10,14 +0 +3,6,14,17,33,38 +0 +6,10 +3,5,6,37,45 +5,6,9,28,33,36 +3,14 +4,5,6 +6,17,27 +6,12 +5,6,11,17,21,25,30,38 +6,14 +3,14,35,36,42 +5,6,8,23 +6 +14,20,32 +6,14 +6,13,32,37,46 +2,6,18,32,50 +4,18,22 +6 +3,7,19,25,28 +6 +2,6,7,25 +4,5,6 +5,6,51 +6,7,29,34 +5,9,14 +6 +5,16 +6 +20,28 +3,16,22 +5,6,7,9,47 +6,43 +4,7,14,15,25 +5,6,9,40 +5 +3,4,6,10,31 +5,11 +3,6,43 +4,6,14 +6,9,25 +4,20 +6 +6,20 +5,6,14,29,49 +6,10 +6,9,10,22,42 +6,31 +4,5,6 +6 +17 +5,6,7,13,17,30,51 +4,5,38 +6,7,21 +6,37 +11,17,22 +3,4,6 +3,6,18,28,30,34,42 +6 +6,7 +6,13,15 +4,6 +0 +13 +6,15,25,38 +4,6,14,28,38 +6,14,38,44,51 +5,6,21 +4,5,6,22 +7,18 +3,6 +14,49 +4,5,6,7,10,15,22 +4,6,49 +6,16,21,22 +4,5,6,7,20 +6 +7,8,14,41,43 +6,21 +5,6,19 +4,6 +4,6,19,23,25 +3,5 +3,6,21,30 +4,6,14 +14,15 +0 +5,6 +6,16 +7,14 +6,14 +14,17,19 +6,23 +4,5,6,13 +3,5,7,11,30 +5,14,21,29,44 +30,42 +6,43 +4,6,22 +5,6,29 +3,6 +5,14,21,28 +22,47 +2,6,17,22 +8,14 +5,6,7,16,19,20 +3,6,48 +3,5,6,21 +6 +4,6,10,14 +6 +25 +4,21,23,27,32 +3,4 +2,6 +3,4,6,27,43 +6,14 +5,6,13,30,31 +6 +5,14 +6,14,43 +6,14,22 +6 +5,6 +7 +6,7 +3,6,25 +4,6,13,14 +5,6,20 +3,6,7,19,22 +6,14 +6,13,42 +6,7 +22 +6,13,14,43,46 +4,5,6,13,14 +0 +5 +4,5,6,8,10 +4,5,25 +6 +5,6 +6,7,37 +3,4,6,11,12,29 +4,6,10,35 +25,29,30 +5,6,17,25,27 +3,4,6,10,17,22 +6,11,13,17,22,25 +3,6,13,49 +5,6,25,26,32,36 +14,22 +4,6 +6,14,18 +13,14,17 +3,6 +5,6,21,44 +5,6,7,8,25,50 +6,32,42 +12,47 +29,35 +5,6,10,14,16 +5,6 +6 +5,6,51 +4,5,15,20,48 +6,14,44 +5,6,14,37 +6,14 +5,6,14 +3,5,20 +6,8 +2,3,6,10,14,20,27 +5,6,7,17 +4,6,18,20 +6,14,25 +2 +4,6,14,17,20,22 +5,19,22 +5,6,21,33,42 +6 +6,19 +47 +6 +12,13,28 +6,25 +5,12,14,31,34,36,43 +7,34 +6 +4,5 +18 +6,14 +5,6,10,17 +2,3,4,6,17,43 +4,49 +3,5,6,7 +4,5,14,17,25 +4,5,6 +4,6,7,19,34,48 +3,4,14 +4,6,14,19 +5,6,17,23 +6 +6,17 +18 +6,7,28 +4,6,7,14,28,30 +5,42 +0 +4,6,7,14 +3,5,6 +2,6,17 +5,6,14 +2,5,14,32 +5,6,7 +4,6 +6,14 +5,6,8,13 +38 +2,3,6,7,19,21 +5,7,14,45,50 +2,5,6,23 +3,4,5,6,14,15,17,22 +5 +4,6,13,33 +5,40,47 +4,5,7,14,16,31 +4,5,6,14,25,42,43 +6,50 +3,4,5 +7 +3,5,6 +4,6,14 +4,6,21 +6,20 +3,6,7 +33 +4,12 +6,13,14,25,36,37 +3,6 +5,14,22,33 +2,6,12 +6,14,25 +6 +6,28 +6,27 +5,6,14,48 +5,6,10,11,12,21 +6,41,46 +6,22 +5,6,35 +3,6,14,26 +3,6,14 +5,6,8,15,31 +4,6,14,17,50 +5,6,7 +6,23 +5,6,11,13,14,21 +11,14 +23 +4,6,15,20,26 +4,5,18,26 +6,13,14,29 +6,12,14 +2,18,22,46 +6,22 +3,6,9,17,18 +0 +2,6,17,31,48 +4 +7,41 +6,15,18,21 +6,36 +6,9,14,43 +5,6,8,9,10 +4,6,14 +6,10,17 +3,5,6,15 +5,8 +6,25,28,41 +6,20 +3,6,14,19,42,47 +6,14 +6,14,25,46 +4,5,6,14,25,34 +2,3,5,6,7,15 +2,4,11,14,31 +6,8,21 +3,5,32 +5,6,11,14,42,50 +5,6,22 +4 +2,5,6,14 +4,6,27,48 +6,9,14 +5,6,50 +14,19 +6,33 +6 +6,10,13,20 +7 +5,17,29 +6,17,20,22 +0 +5 +2,6,14,23,29,46 +7,8,14 +5,6 +21,35 +5,6,17,35 +4,5,14,20,34 +8 +5,29 +6,10,17 +4,12,41 +5,7,15,17 +5,18,23,35 +2,5,14,15,26 +6,37,45 +4,6,17,35 +5,12 +4,17 +6,7,24,28,46 +5,14 +5,6,45 +6,14 +5,6,22 +5,22,30 +6,14 +5,6,14,42 +6,25 +6,14,16,30 +6,13,44 +0 +3,5,6,8 +3,6,50 +14,32 +6,10,20 +5,6,29 +10 +3,6,14,20 +6,10,15,22,38 +6,46 +6 +3,6,34 +3,24 +6,42 +5,6,14,35 +3,4,6,7,15,17,18,20 +2,4,13,16,17 +6 +6,22,35 +4,6,21,25,28 +6 +3,4,6 +4,6,14 +3,5,6,7,10,50 +2,4,6,10,22,28,40 +3,6 +4,6,19,26 +3,5,6,7 +3,5,6,46 +0 +0 +4,5,6,37 +6,35,41,42 +5,6,13 +2,6,13 +4,5,7,17,30 +19,22 +3,4,6,18 +5,30,33,38,49 +3,6,14 +6,13 +4,6,29 +6,25,44 +6,12 +4 +3,6,18,19,33,49 +4,6,34,41 +6,42 +5,14,40,51 +3,6,10,39 +5,6,20,33,46 +5,6,14,16,20,22,35 +6,10,18,21,42 +4,6,16,20,42 +6 +6,15,29 +0 +6,25 +2,3,28,42 +4,5,6,19 +5,7,14,49 +4,5,6,44 +6,17 +4,5,7,11,14 +21,22,23,31 +5,6,29 +20,25 +5,6,14,21 +3,4,5,9,15,21,25 +2,6,17,20,23,50 +6,13,51 +5,6,7,13,17 +4,5 +6,36 +2,6,12,29 +6,33 +4,6,20,25,48 +4,6,14 +16,48 +7,37 +6,17,20,21 +6,7,10,14 +5,17 +7,14,40 +4,6,19 +6,14,16,17 +3,6,7,22 +4,5,6,13 +4,5,6 +5,6,25 +6,29,44 +6,22 +4,6 +6,20 +6,21 +14 +22 +4,7,14,16,33 +6,31 +5,6,7,14,21,27,41 +6,14,19 +6,25 +5,6,21 +5,6,31 +7,14,15 +6,20 +5,6,30,38 +2,5 +5,6,7,14,16,18 +5,6,17 +5,6,14 +6,18,30 +5,6,17,46,49 +3,6,7 +20 +3,6,41 +6,7,12,25 +0 +6,20,49 +6,25,27,32,38 +6,11,19,28,48 +3,5,6 +6,23,25 +6,12,43 +6 +6 +5,14 +27 +3,5,6,51 +5,6 +3,5,6,20,47 +3,5,16 +6,7 +26 +6,17,29 +5,11 +6,46 +5,6,46 +5,27 +7,8,45,50 +4,6,21 +5,6,18 +6,14,20 +6,26,33 +27 +6,13,17,20,21,44 +4,48 +6,28,42 +12,16 +4,6,12,17 +5,6,13,44 +6,19 +12,25,31 +3,6,7,21,37 +13 +5,14 +3,6,14 +5,6,7,16 +14 +19,22,36 +12,50 +3,5,6,7,46 +5,6,16,25 +35 +6,35 +3,6,22,26 +6,8,15,37 +4,6,7,17,25 +12,20 +6 +3,37 +6,14,41,42 +5,49 +4,5,7 +6,19 +4,6,25 +5,6,29 +3,6,13,17,28,31 +4,6,12,14 +6,49 +6,7,17,48 +3,4,6,23 +20 +5,6,27 +3,4,5,6 +5,7,10 +4,5,6 +6,15,45 +4,6,47 +3,22,23 +24 +6,7,18 +5,7,18,37,50 +6,19,37 +6,7,30,43 +5,6,10,13,50 +4,5,14,37,51 +5,6,20 +6,7,15,17 +5,6 +5,6 +6 +6,21 +5,6,7,22 +6,25 +6 +6,22 +6,14 +6,21 +6,7,25,41 +19 +6,13 +0 +3,6 +6,14,15 +3,6,14,25 +6,13,21 +7,16,22 +6,14,38 +5,6,16 +5,6,17 +3,4,7,15,45,46 +5,6 +6,20,35 +6 +5,14 +4,6,14,48,49 +2,5,6 +22 +6 +3,6,14 +2,3,5,6,14,46 +4,5,7,22,35 +5,14,19 +6,8,17 +5,6,26 +6,12 +6,10,29 +7,47 +3,5,25,33,36 +6,17,22 +3,10,14 +3,20,35,46 +5,6,18,25,32 +5,6,7 +14 +7 +5,6,12,35,36 +22,36 +12,19 +5,22,27 +4,6,14 +4,5,6,14,20,41,44,51 +6,18,47 +6,47 +6 +5,6 +3,20 +6,15,22,34 +4,5,6 +3,5,6,7,14,18,48 +6 +6,16 +4,6,14,47 +5,6,7,14,20,31 +3,5,6,14,35 +6,8,22 +5,6,14,19 +5,10,11 +3,6,12,14 +5,6,16,25,49 +18,29 +4,5,6 +6,17 +6,22 +2,5,6,18,30 +3,6,12,14,22 +6,25,36 +4,39 +3,6,12,14,18,22 +4,6,26,44 +6,17,25,37 +5,6,21,37 +6 +14,15,19,42 +5,6,14,18,38 +14 +6,25 +3,6,22,28 +20 +6,40 +6,17,21,41 +4,19 +7,27,28,40 +6,14 +5,25,34 +5 +6,14,38 +4,5,25,44 +4,6,17 +6,12,19,41 +6,22,49 +6,14,20,37 +3,17,18,27 +5,22 +6,41,42 +4,7,8,14,17,20 +6,38 +3,4,6,22,47 +3,4,6,8,12,30 +5,6,8 +6,13,15 +5,17,20 +4,6,15,51 +6,24,27,41,51 +3,6 +3,34 +2,14,23 +6,7,15 +6,22,29,42 +5,6,12,13,15,18 +4,6,36 +6,14 +5,6,17,20,46 +3,6,12,16,34 +5,19 +5,6,10,17 +5,6 +6,7,13,14,17,22,51 +6 +6 +3,5,6,21,22,35 +6,7,21,42 +10,20,27 +3,4,5,6,27 +5,6,40 +5,14 +5,6,14,22 +4,6,7,47 +3,6,20,27 +5,6,14,16 +2,4,5,51 +6,20 +6,7,14 +4,5,6,12,14 +6,7,14,28 +4,6,14,16,20,22 +15,22 +5,6,41 +3,6,25,29,37 +3,6,21 +6,7,40 +5,6,14,51 +3,5,6,14 +5,32 +6,25 +3,5,6,19,20,27,49 +4,6 +6,17 +2,6,10,19 +4,6,13,18,21 +3,6 +3,6,44 +0 +3,5,46 +5,8,20 +3,5,6,7,17,24 +4,6,48 +6,14,15,16 +5,6,14,18 +4 +14,22 +6,14 +5,6,14 +3,6,20 +0 +14 +5 +3,4,5,6,14,16 +2,6 +6,14,17,20 +6 +3,5,6,16,39,50 +4,13,28 +2,5 +4,6 +6,14,34 +6,14,20 +4,5,7,24 +4,6,13,32,45 +4,12,14,29 +3,5,14,30 +5,14,23 +6,19,21,25 +6 +3,4,5,6,8,32 +6 +6,14 +5,6 +6,14,30 +5,6,25 +4,6,7,8,13,33 +5,6,20,28 +5,6 +5,6,14,17,30,32 +4,6 +2,5,6,14,17 +5,6,29 +5,28 +5,6,13,43 +5,14,25 +4,5 +6,12 +20 +6,18 +12,14 +4,5,6 +4,6,27,29 +3,6,20 +6,12,14,39 +5,6,14,16,46 +4,5,7,11,13,40 +6 +6,11,16 +14,24,28 +3,4,6,20,21 +4,5,6,10,36 +5,6,23 +6,7,15,28 +6,25 +4,6,10,14,20 +5,6,13 +6,12,39 +4,6,7,45 +6,20,45 +6 +5 +2,4,6,17 +5,6,7,14,22,46 +3,6,16,19,42 +3,41 +6,7 +3,6,7,17 +4,22,25,28 +6,15,38 +7,28,49 +5,6,7,25 +2,4,5,6,7,22 +5,6,17 +0 +6,14,19,22 +3,13 +3,6,13,33 +4,5,11,20,36 +6,22 +3 +7,14 +7,28 +4,48 +7,14,19,20,22 +3,6,14,22 +4,6,8,9,36 +6,11,22,25 +4,5,6,16,17,42 +3,14 +4,5,6,12,21 +4,14,23,39 +2,5,6,28 +7,14,20,35,36 +6,14,38,51 +6,36 +3,20 +5,22 +6,11,36 +5 +5,6,7,10,16,46 +5,6,12,14,15,25 +6,18,25,26 +4,11,38 +12,22,35 +6,16,49 +5,6,19,39 +2,3,6,20,49 +3,7,14,23 +8,14 +5,6,7,36,40 +5,6,27 +4,6,15,17,19 +3,5,6,7 +3,5,6,7,14,25,44 +4,5,6,22,25 +4,5,6,7,10,13,14,28,33 +5,6,15,16,24 +6,14,17,44 +5,6,7 +3,5,6,10,34 +5,6,25,29 +5,6 +5,6,44 +8,21,30,41 +6,9,15,39 +21 +5,7 +6,14,32 +4,6,30 +3,6,7,21,25,42 +6,32,47 +5,7,17,28,38 +6,20 +6,14 +3,5,6,30 +5,14,40,50 +5,13,21,43 +6,32 +5,6,12 +31 +3,30,33 +5,6,22 +5,6 +3,6,14 +12,28,51 +0 +5,11,14,15 +6,7,28 +6,46 +5,6 +2,4,6,17,22 +6,22,42 +6,14,17 +3,6,12,17,26,46 +2,4,6,7,20,21 +6,42 +3,4,5,6 +6,14,21,25 +3,6,22,43 +6 +4,6,7,14,17 +6,7 +6,14 +4,6,14,48 +0 +3,5,6 +6,7,19,36 +23,28 +46 +6,9,14 +3,5,6,32,35 +4,5,6,23,31 +6,7,12,21,29 +6,14,17,41 +13,36 +5,6,16,20 +3,4,5,10,16,43 +3,4,25 +5,6,8,14,17,22 +5,14,43 +6,16,42 +3,6,32 +25,26 +6,14,16,35 +15 +5,6 +5,6,25 +6,14,15 +6 +6,7,9,14 +2,6,7,21,46 +6,17,24,25,43 +5,6,14,46 +5,6,7,28,33 +20,49 +11,14,20 +2,6,14,20 +6 +6,14,35 +0 +6,15,20,28,32 +5 +6 +4 +6,14,17,25 +3,6,10,13 +5,8,22,46 +3,6,17,20,21 +7,28,49 +5,6,42 +10,20,25 +4,5,6,14,17,21,51 +25 +6,7,22,33,47 +5 +5,6,8,27,42,43 +14 +3,6,7 +6,9,24,47 +4,5,22,25,45 +4,6,34 +3,12 +20 +36 +6,11,22 +5,6,7,30,50 +14,22 +14 +6,25 +4,5,6,14,42 +2,6 +5,6 +3,4,6,14 +2,14,20 +26,40 +20 +6,19,22,25 +4,6,20,22 +5,6,15,17 +6,16,20,46 +6,15 +5,6,15 +6,38 +5,6 +6,14,22,34,36 +5,6,7,13,14,24,35,49 +3,6,36 +6,22 +6 +5,15 +5,6,14,16,28,48 +4,20 +6,7,18 +6,7,16 +35 +6,32,41 +5,6,18 +3,6 +6,23 +5,6,7,40 +3,5,7 +5,6 +6,49 +5,6,15 +4,6,21,25 +4,6,11,21,40 +3,5,13,14 +2,4,23,37 +5,6,17,27,43 +4,6,14,22,28,41,45,47 +6,14,19,50 +0 +5,6,20 +4,6,11,14,16,33 +3,5,6,39 +5,6,14 +14 +6,14 +5,6,17,22,29 +7,15,16,38 +5,6,7 +4,28 +5,6,21,25,28 +6 +6,34 +5,6,31 +5,6,12,17,23 +6,20,25 +6,14,22,44 +5,6,15,17,22,27 +5,6,51 +2 +5,6,41 +6,10 +2,3,5,6,24,25,31 +2,4,6,13,14,17,42 +3,5,8,14,20 +2,7,14 +5,6 +2,3,4,5,6,14,18,35,39 +6,42 +6,7 +4 +5,6,15,18 +2,6,12,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +5,7 +6,26 +5,6,14,42 +4,6,7,37,44 +6,28,33,47 +12,28 +5,17,22,51 +6,8,9,21,25,29 +4,6,22 +6,8 +5,6 +6,14 +5,6,13,41 +22,24,39,51 +6,14,17,25,31,42 +6,19 +6,14,35 +6,14,38 +6,12,14 +3,5,6,14,20,25 +5,6,28,48 +4,6,15 +4,12,46,51 +2,3,5,6,17,20,51 +5,6,26,28 +3,5,6 +6,29 +4,6 +4,14,41 +4,6,7,14,50 +6 +6,17,47 +5,6,8,14,20,21,25 +5,6,14,26,33 +6,16,17,28,29 +3,5,6,16 +3,8,44 +25,48 +6,28 +3,6,13,38,49 +0 +0 +4,5,6 +6,12,19 +6,7 +2,5,6,7,36 +5,6,7,14,21 +4,6,14 +6,17,42 +26 +5,13,14,39 +5,6,7,32,34 +2,5,6 +6,37 +3,14,41 +5,17 +3,14,16 +4,5,14 +5,17 +6 +6,16,22,24 +5 +3,14,20,29 +3,5,6,10 +13,14,18 +4,14,16,43 +7,33,43 +5,22 +5,6 +6,12,13,20,36,41 +6,22 +6,17,24,28 +0 +2,4,5 +6,20,43 +6 +6,10,14 +5,46 +4,6,32,38 +4,6,8,28,32,35 +6,14,19,20 +7,15 +6,7 +2,5,6,16 +6,17,42 +4,6,25 +4,6 +3,4,5,6 +5,6,7,19,21 +4,6,25,49 +7,30,31,49 +5,14 +6,12,14,28,37,48 +14,29 +6,14,32 +3,14 +6 +5,6,14 +6,7,25 +5 +5,11,23 +5,6,14,22 +0 +6,34 +6,19,20,24 +3,4,6,14 +6,7,51 +4,5,6,9,12,17,25 +14,17,18,19,22 +5,44 +6,25 +5,6,12,14 +3,5,6,12 +5,6,17 +3,5,6,12,13,47 +24 +6,15,22,46 +5,50 +6,20,46 +6,17 +6,12,14,19,25 +5,46 +6,19 +3,6 +6 +3,6,17,21,49 +5,6,12,28 +3,38 +6 +6,14,21,25 +5,6,14 +2,14,23 +3,5 +5,6 +6,17 +6 +6,7 +4,5,13,20,22 +3,6,32 +3,4,5,6,14,41 +2,16,42 +6,17,29 +6,14,21,48 +3,5 +2,6,14 +29,40 +5,6,30 +5 +31,38,39,49 +2,3 +7,14,17,20,31 +10,14,20,31 +6 +17 +5,6,14,47 +3,5,14 +6,13,15 +5,6,35 +4,6,13,20 +5,6,7,14,17,36 +5,6,19 +6,31 +5,6,14 +4,7,17 +2,5,6,14 +4,5,6,18,20 +19,42 +6,22,47 +3,6,42 +3,5,6,7,14 +6,14,15,32 +6,23,41 +6,14 +5,6,16,17,21,28,41,48 +5,6,13,20,44 +3,6,16,20 +6,13,14,28 +5,6,14 +2,17,25 +6,18 +6,9 +5,6,14,17,20,30,31 +4,6 +4,5,14,22,28,46 +6,14,17,25 +5,22,31,47 +4,5,6,7,44,46 +5,14,27 +3,16,42 +2,5,6,13,22,23,36,44 +3,4 +6,12 +3,6,39 +0 +6 +2,5,7,14,30 +6,16 +2,6,17,37,48 +4,5,6,13,25,42 +4,46 +2,17,22 +3,4,5,6,14,16 +21 +4,5,6,27 +5 +5,6,44,46 +6 +4,6,7,16,18,20,46 +2,3,4 +2,4,6 +2,5,6,11,14 +5,6,7,14 +4,6,11,28 +5,6,21 +5,6,13,17,20,21 +4,5,6,7 +6 +12,14,24 +5,7,14,28 +5,6,7,16,17 +6,30 +26 +5,20,36 +3 +3,5,6,19,20,25,35 +4,5,6,19 +17,36 +5,6,13,20,23,36 +3,4,5,6 +0 +4,5,23,25 +3,6,17,21,41 +7,17,22,38 +5,6 +4,6,14,25,34 +2,5,6,14,44 +6 +2,5,6,14 +5,7,19 +6,14,16 +6 +5,13 +2,16,20 +5,6,12,18,20,22 +38 +5,21,36 +6,14,25,38 +5,6,14,17 +0 +6,30,51 +6,14,25 +17 +3,5,14 +6,14,34 +3,6,8,42 +2,5 +5,6,30,40 +4,6,14 +3,5,6,7,39 +6,7,42 +6,17 +3,4,6,14,20,22 +3,5,6,9,47 +5,13,22,41 +23 +5,6,14 +6,17,35 +6,14,19,21,32 +5,6,17,22,48 +6,7,25,26 +2,6,49 +5,6,8,14,22,48 +6,14,15,18,22,28 +5,6,7,22 +14,29 +4,5,6 +6,10,13 +4 +5,6,21 +6,16,21,24 +4,28 +5 +5,6 +6 +6,14,17,20,22,42 +0 +4,6,40 +4,5,6,12,20,42 +5,6,14,37 +5 +12 +6,16 +6,15 +44 +5,6 +5,6,7,11 +2,14,22,42 +6,8,15,44 +5,14,49 +2,6,14 +14,20,49 +4,6,7,13,32 +2,20 +5 +50 +2,3,4,6 +4,6,18,44 +13,22,31 +3,4,6 +6,7,14 +5,17 +6,14 +6,14 +4,6 +5 +5,6,15,25,42 +5,30 +5,6,35 +3,5 +6 +4,6,50 +2,4,6,7,14,28 +6,14,27 +6,20,25,27 +6,14,17,22 +6,7,22 +3,6,21 +4,6,14,51 +3,5,38 +6,19 +2,6,25,42 +29 +6,11,18 +5,6,16 +2,5,20,25,30,42 +44 +6,20,28,42 +14,41 +5,6,14,40,44 +6,14 +5,6 +4,6 +6,7 +4,20 +9,14 +5,6,10,14,19,22,29 +3,11 +5,6,14,47 +2,3,5,6,20 +5,10,13,17 +23 +5,19 +0 +5,6,15,28 +6,12,14,17,25,29,42 +7,17 +3,6 +6,33,49 +3,4,6,7,21,25,42 +4,16,25 +6,8,14,20 +5,6,21,50 +3,4,6,12 +0 +3,6,14 +6 +5,6,14,40 +41 +6,7 +5,9,11,14,22 +6 +6,44 +5,10,12,20 +6 +14 +6,7 +5,6,20,44 +3,5,6 +6,7,25,46 +3,6 +3,5,6,16 +12,47 +6,22,33 +5,6,8,10,11,28 +6,10,12 +6 +6,20,25,31,48 +6,20 +5,18 +5,14 +4,5 +5,25 +5,6,15 +4,6,14,17,25,30,35 +6,10,23 +2,12 +6,14 +6,22 +2,5,6,14,17 +2,5,6,7,43 +6,13,40 +8 +14 +4,5 +3,6,14,28 +6,14,37 +6,8,20,21,22 +5,6,20 +5,20,25,32 +3,14,22 +3,6,7,8,29,35 +6,17,18 +22 +6,46 +4,6,11,14 +6,14,20,29,32 +3,6,25,37 +5,8,30 +5,6,14 +5,6,18,48 +2,3,5,6,33,51 +2,6 +0 +6,17 +6,14 +5,6,13,14,25 +5,6,7,13,29,30,49 +5,6,15,17 +4,15,46 +4,12 +5,6 +6,20 +5,6,14,30,35 +5,18 +6,7,12 +6,44 +6,7,17 +3,5 +12,16,26 +8,17 +6 +3,5,6,14,25 +2,6,29,40,42 +6,7,21,37,46 +5,6,26 +17,27 +5,6,20,35 +3,5,6,17 +4,5,14,25 +3,21,27,43 +5,6,20,40 +6,11,24,51 +5,15,18,22,28,30 +17,34,51 +5,44 +2,5,34,35 +3,4,6 +7,11,28,37 +5,6,14,22,28 +3,19 +6,14,24 +6 +0 +6,14,35 +5,16 +3,11,44,51 +4,5,6,8 +5,6,12 +5,6 +18,23 +6,27 +22 +3,7,21,39,49 +5,6 +5,9,13 +3,5,6,30 +5,6,31 +6,37 +5,6,9,12,20,25,28 +5,6 +5,17 +4,6,26 +2,6,7,8 +6,24 +5,6,10,42,46 +6,22 +3,5,6 +6,9,14,15 +4,13 +5,6,8,22,46 +5,6,35 +5,6,7,23 +6,13 +6,23 +4,5,7,14,18 +5,20 +21 +5,14 +0 +2,3,6,45 +2,6,12,17 +3,4,6,25,34 +3,6 +4,6,14,17 +6 +6,14 +0 +5,6 +6,13,14 +6,17,21,23,31 +6,18 +3,11 +3,5,14 +5,25,32 +6,8,14,22,44 +3,6,17 +6,7 +4,6,37,47 +3,12 +5,6,14,19 +5,6,12 +6,11,21,30 +4,6,12,22,29 +4,22 +5,6,9,20,21,22,46 +6,30 +5,6,19,20,35 +6 +5,6 +14,24,40 +4,5,6,14 +5,6,7,41 +14,45 +6,17,19,41 +19,21,33,34 +4,5,6,14,25,35,51 +20,29,35 +3,4,6,20 +9,10 +6,25 +14 +4,6,8,9,16 +6,12,14 +5,20,48 +44 +6,14,46 +4,6,9 +4,5 +6,7,14 +5,6,25,46 +3,6,14 +2,5,6 +42 +5,6,26 +2,6,17,34 +6,42 +3,14,22,29,42 +4,5,6,7 +5,6,21,25 +3,17,23,26 +5,6,7 +25,31 +6,13 +2,5,6 +6,12 +3,7 +6,21,34 +5,6,17,34 +6,13,14,41 +6,7,14 +6 +3,6,8,14,17,22,25,27 +6,49 +2,6,21,27 +7,14,18,22 +13 +6,12,16,24,43 +2,5,25 +5,6,14,33,43 +5,6 +5,6 +5,6,8,11,14,16,18,46 +21 +4,6,26,48 +3,4,5,6,7,17,47 +8,13,14,22 +6,17,22,25 +6,22 +6,7,11,28 +3,10 +6,14 +3,5,6 +6,12,26 +5,6,28 +6,14,33,36 +2,5,28 +5,6 +6,22 +6 +5,29 +5,6,10,26 +5,6,22,26 +5,6,7,16,46,47 +3,6 +6,15 +6,14,16,17,21 +4,5,6,46 +6,22 +6 +4,5,6,19,20,25 +0 +6,20 +44 +2,6,17 +4,6,20,28 +13,14,17 +5,6,12,17,18,42 +4,6,7,11,12 +26 +5,23,49 +6,25 +6,7,14,42 +5,6 +3,5,6,9,14,18,25,40,41 +5,19 +5,6,10,13 +4,6,7,14,17,38,49 +3,4,6,7 +4,22,28 +4,6,12,13,19,46 +6,46,49 +6 +2,5,6,12,37,43 +0 +3,5,6 +6,32 +3,50 +4,5,42 +4,5,35,39 +6 +4,15,29,49,51 +5,6,17 +7,12,13 +5,6,22,40 +4,6,14,22,25 +6 +5,27,28,29 +7,16 +4,6,7,14,18,48 +4,5,6,40 +4,5,6,13,49 +6,36 +17,19,35 +4 +5,6,13,14,48,49 +3,5,6 +4,5,7 +3,5,24 +6,27 +5,6 +6,8,14,17 +5,6,10,31 +4,6 +4,5,6,14,21,23,32,44 +6,17,41 +26,35 +5,6,7 +14 +4,5,18 +5,13,31,34 +6,14,20,21 +6 +6,14 +6,18 +3,14 +3,5,6,7 +6 +5,6,14 +28,43 +6,41 +6,14 +4,6,17 +6 +4,5,6,22 +5,6,14 +4,6 +0 +6,7,46 +6,7,20,36 +4,6,13,14,21 +4,14 +6 +21 +5,29 +2,13,19 +2,5,6,8,21,46 +3,6,12 +5,6,15,25,49 +7,29,35 +12 +6,31 +6 +25,30 +6,18 +28,32,47 +5,17,20 +6 +4,13,21,29,36 +17,29 +5 +5,6,7 +14,43,48 +5,25 +10,14,44 +6,12,18,27 +6,7,22 +6 +12,21,46 +6,12,14,17,22,29 +6,14 +4,6,14,19 +3,5 +23,39 +10,20,35 +0 +2,6,7,11,14 +6,13,24 +6,41 +5,6,7,28 +6,25,46 +4,5,7 +6,16,40 +4,5,14,19,22,49 +6,14,42,49 +4,6,12 +5,8,28 +6,19,25 +6,13,15 +5,23,30,42 +3,5,6,15 +6,19 +12,17 +6,7,20 +4,13,22,46 +6,47 +5,6 +3,5,6,20 +5,6 +5,6 +6,14,39 +5,17,28 +5 +6,20 +4,6,28 +6,19,38 +6,20,26 +11,19,28,33 +6,28 +6,25 +6,10,14 +5,6,14,16,25 +46 +5,6,14,17 +3,6,31 +6,14,15,17,21 +3,20 +12,14,34 +5,6,15 +14 +4,14,19,22 +6,12 +4,5,6,22,28 +4,5,6,24 +5,6,27,48 +2,6,7,41 +6,15,25 +6,45,47 +5,6 +4,6,17,22 +14,17,20 +2,3,5,17,21 +5,6,20,36 +4,6,14,15,21,37 +2,4,5,45 +3,5,6 +3,5,6,17 +6,14,48 +5,6,31 +6 +5,36 +6,42 +5,6,7 +2,6 +6,28 +6,43 +5 +4,6,7,14,18 +6 +5,6,31 +6 +6,21,38 +42 +3,5,6,12,19,33 +4,6,7 +6,9,22,35 +6,20,21,29 +4,6,14 +5,6,10,43 +4,5,6,7,12,28 +6 +6 +3,22 +4,7 +10,13 +3,6 +6,14,16,34 +5,6,25,42,48 +3,5,7,22 +3,4,5,6,7 +6,7,14,43,50 +5,6,7,14,38,49 +6 +5,6,22,30 +5,7,21,41 +6,14,42 +3,4,5 +4,6,20,25,44 +6,13,14 +6,23 +7 +4,14,22 +2,4 +6,7,17 +6,13,14 +5,6,17,46 +5,6,42 +4,6,38 +26,42 +5,28 +5,6,14,22 +21,50 +7,42 +5,8,10,42,51 +6,25 +5,6,28 +4,6,24,28 +6,11,14,21 +6,45 +4,6 +6,17,25 +2,6 +4,14,38 +5,6,10,16,39 +6 +3,49 +5,6,17,42 +6,22 +4 +3,5,6,20,42 +4 +5,6,15,20 +4,5,7,10,17 +6,17 +5,19,27 +3,5,7,24,29 +2,4,6 +5,11,12 +3,6 +0 +3,4,6,20 +2,6,8,14,18,28 +6,14,20 +5,6,28,41 +4,18,19,25 +3,5,6,12,20 +3,5,6,42,43,50 +6,17 +4,7,17,20 +6 +5,6 +2 +5,10 +6 +14 +6,20 +6 +2,5,14 +5,6,14 +6,14,42,46 +4,6,7,39 +3,14,42 +7,19,22,38 +3,6,44,48 +5,6,29,42 +6,41 +3,6,14 +5,6,15 +6,13,37 +3,4,22 +5,6,14,45 +2,6 +5,6,23,38 +2,6 +5,17,28,50 +5,6,17,29,43 +5,6,9 +4,5,6,22,27 +4,6 +5,6,20,22 +4,5,6,10,45 +4,7 +5,41 +6,10,15,38 +3,6,7,13,22 +3,6,12,22,39 +9,19 +5,6,13,14 +6,14,42 +6,12,14 +5,6,14,17 +5,6,7,15,20 +2,5,28,33 +6,21,47 +6 +4,5,6,42 +4,6,7,30 +6,10 +5,6,22,49 +7,17,31 +6,14,39,42 +14,50 +8 +2,3,5,6 +4,6 +17,39 +5,46 +6 +4,6,7,25,28,34 +3,5,33 +4,5,11,14,48 +6 +5,6 +5,6,49 +3,5,6,7,14,41 +6,30 +4,6 +5,6,12,22,40,41 +6,14,20,49 +5,14 +6,7,22 +2,4,5,17,48 +6,31 +5,11,17 +6,14 +6,14 +6,17 +5 +2,6,18,20,48 +5,6,25 +6,9,21,24 +3,5,6 +6 +5,6,14,46,48 +6,41,51 +6,14,20 +5,34 +6,14,16 +5,6,22,44,48 +3,6,16,19,29 +6,48 +5,6,14,51 +2,5,19,23,27,47 +0 +6 +6,21,46 +5,6,9 +6,18 +5,6,14,19 +5,6,12 +4,5,6 +5,7,8,11,17 +4,17,26 +17,37 +5 +5,6,24,34 +6,18,32 +6,14,22,44 +23 +6,10,14,23 +2,6,14 +6,10,35 +6,8 +3,6,12,39,45 +6,16,26 +4,14,44 +3,5,6 +6 +5,39 +3,13 +6,14,20,21,41 +3,16,25 +16,31 +17,32 +4,10,22,27 +6,15 +6 +5,6,13,18,20,22 +5,22,33 +5,6,20,22 +6 +5,6,7,45,48 +6,14,22,28,49 +3,6,14 +5,6,13,33 +44 +6,13 +4,17,22 +6,13,14,19 +5,14,22,35 +4,24,28 +6 +5,6,13 +6 +6,22,35 +3,6 +12,20,28,41 +3,5,6,14,46 +4,5 +2,36 +14 +6,7,14,21,33 +5,6,22,36 +6,13,21,22,28,35,44 +3,6,16,29,40 +4,6,22 +14,17 +6,19,22,29,38 +4,5,6,12,20 +4,5,6,7,13,30,38 +5,6 +3,37,44 +4,5,10,22 +6,8 +3,14 +0 +5,14 +6,17,26 +6,23 +5,6,16,17,19 +4,5,6,21 +6,7,9,17,31 +4,5,6,7,27,47 +5,6 +3,6 +6,16,27,41 +6,15,28,36 +6,15,22 +5,7,14,17 +4,5,6,12,17,31 +2,4,8 +6,21 +3,5,6,14,42 +6,14,17 +4,6,14,22,25 +7,10,40 +5,14 +5,6,41 +2,4,5,6 +6,16,31 +6 +5,6,17 +6,31 +8,22 +5,6,17,28 +5,6,14,18,51 +5,6,14,18,20 +6,16 +6 +6 +21 +5,6 +2,5,6,17 +6,7 +4,6,15 +5,14,29 +2,4,5,6,15,17 +6,20,22,25 +6,11 +2,36 +5,6,12,20,38 +3,6,16,17,19 +4,6,9,14,20,27 +6,7,14,21,37 +6,14,21 +6,7 +2,22 +6,7,36,46 +4,14,27 +6,16,20 +6,51 +6 +6,7,49 +5,6,7,49 +3,5,6,14,20,51 +6,13,14,30 +5,6,14,20,30 +5,31 +5,6,14,42 +5,6,11 +4,6,17 +4,5,6,7 +14 +5,14,30 +6,13 +4,17,21,46 +5,6,7,16,35,40 +5,6 +6 +6,31,44,45,46 +5,14,19 +5,10 +6,18 +6 +4 +6,9,17,22,25,35 +6,19 +3,20 +2,23 +3,6,14 +5,6,20,22 +4,5,47 +6 +6,18,22,50 +6,11,17 +3,10,20 +6,37 +6,14,24 +19,20,25,40,43,47 +3,25,45 +6,25 +2,3,5,6,15,20,46 +6,14 +4,5,6,12,25 +6,17,20 +14 +4,5,6,12 +2,7,13,28 +6,17 +6,20 +6,7 +4,5,6,14,44,46 +6,16,33 +6,23 +0 +0 +6,9,14,17,28,30 +4,6,29 +2,34,43,47,48 +0 +6,25 +2,6,7,21 +5,24,28,40 +6,14 +5,6,7 +2,4,5,6,16 +5,14,20,50 +6 +5,6,21 +4,5,14 +0 +6,14,15 +4,5,6,19 +5,17 +14,21 +0 +4,6,7,26 +0 +3,6,8 +6,20,26,51 +5,7,14,20 +3,5,6,21,26 +6,15,42,49 +5,6 +6,17,20 +5,6 +4,13,14,16,20,37 +47 +6,22,23,42,49 +5,32 +5,13,17,22 +5,6,21 +6,14,20,22,28 +3,6,7,17,51 +4,5,6,7 +2,3,5,6,43 +3,6 +5,6,7,37 +15,32 +6,50 +2,3,21 +5,6 +4,6,15 +5,6,22 +6,14,29 +5,6,14 +3,6 +5,6,20,45 +4,6 +6,8,17,39,41 +6,12,23 +4,6,10 +17,22,39 +6 +3,5,6 +17,23,34,38 +3,36 +4,5,6,13,14,19,25,35 +6,7,14,18 +5,7,9,25,27 +5,13 +33 +4,40 +6,23 +17,21,42 +20 +5,6,25,33 +2,3,20,39 +5,6,16 +14 +5,7,17,21,29 +6,7,21,32 +5,6,7,14,15,21 +6 +6,14,25 +5,6,32 +6,12,21 +4,5,6,12,17,46 +20,38 +18 +5,6,14,37 +6,41 +2,19,29,35,45 +6 +3,5,6,14 +5,6,17,20 +3,6,44 +3,6,13 +4,14 +6,7,12,42,50 +6,19,34,36,43 +6,20 +3,6,35 +6,15,21,25,28 +4,5,14 +6,7,12,14 +3,6,20,41 +6 +6,11,19 +5,6,38 +14,17,18,20 +5,6,41 +6,14,18,42 +2,20 +5,8,11,26 +6,13,25 +6,14,43 +6,24 +6 +5,6,13 +5,50 +3,13,14 +6,14,21 +5,6 +2,7,10,17 +39,51 +3,4,6,14,42 +5,6,34 +6,7,14 +17,20,37 +4,22 +5,6,11,14,22 +6,13 +6,25 +5,6,7,10 +5,6 +6,25,26 +6,14,25,46 +6,14 +4,14 +6,22 +6,14,20,22,28 +3,6,7,10 +14,24,42 +5,6,13 +6,14,42 +6,13 +6,14,32 +5,6,14,42 +3,6,17,28,42,47 +6,10 +3,12,16,25,28 +4,6,7,13,14 +3,6,14,49 +5,6,18,24 +5,6,10 +6,7,47 +6,22,48 +6,20 +4,6,17,22,25 +6,22,33,39 +5,6,11,14,30 +5,6,21 +3,23 +0 +0 +6,21 +2,4,6,10,14,24 +3,6 +2,14,22,29 +12,22,42,48 +6,20,33 +5,22,36 +4,5,6,7,17,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +3,17,21,31 +3 +3,6,25 +6,13 +11,14 +6,17,34,41,42 +6 +5,6,13,16 +20,28,34 +2,6,7,17 +5,6,20,36 +6,14,20 +4,6,9 +0 +6,12 +3,5,31,39,47 +5,6,16,23,34 +5,6,17 +6,14,18,21,42 +6,13 +3,4,6,43 +5,6,14,21,35 +5,6,12 +4,5 +3,5,6,12 +11,45 +17 +5,6,15,17,19 +5,6,28 +2,6,19,25,47 +5,6 +6,48,51 +5,8,17 +6,38,49 +5,6,12,23 +4,5,6,45 +4,5,6,28,29 +6,29 +2,7 +3,5,21,36 +7,12,17,21,25,38 +6 +6 +17,19,31,42 +5,6,22 +6,7,19,36,42 +5,6,14 +6 +3,6,7,38,46 +5,17,43 +6,14,21,28 +6,11,21,48 +5,23,47 +8,22,40 +6,16,20,42 +5,6,12,13,14 +5,6 +5,6 +4,5,6,32,50 +5,6,15,20,23,26,44 +6,14,20,28 +4,9 +33 +6,7,12,13,17,28,42 +0 +5,6,13 +3,4,5,6,22 +28 +6,15,51 +11,12,14,15,25,32 +3,4,5,6 +33 +6,44 +6,24,26 +5,6,38 +6 +6,51 +3,6,12 +5,6,21,42 +3,6,20 +5,17 +5,6,7,22 +4,6,7 +6,16,30,38,47 +6,18 +4,6,7,12 +6,19,22 +2,14,48 +3,6 +3,4,6,7,14,21 +4,5,6,17 +6,17 +5,6,14 +6 +3 +3,6,7,14,18,19 +17,22,31 +0 +4,6,19 +4,6,12 +4,5,6 +5,6 +0 +3,6,23 +2,6,7 +6,14,39 +3,4,17,42,48 +6,14,19,29 +3,5,6,46,48 +12,13,22,44 +20 +3,4,5,6 +38 +6,20,33 +2,6 +4 +3,6 +14,17 +6,14 +5,6,21 +5,6,7,17,18 +5,6,7 +6,14,17,25 +3 +4,6,14 +6,7,22,25 +5,14,17,28 +7,16,18 +6,14 +6,29 +5,6 +5,6,11,26,32,48 +6,17,43 +10,16 +6,14,40 +2,5,6 +4,5,6,12,22 +5 +2,6,14,32 +4,5,6,19,27 +4,6 +8,13,22,39 +3,5,6,10,28 +4,6 +5,31 +3,4,6,13,20,22,28,43 +4,5 +3,5,6,12 +7,13,15,44 +14,46 +6,14,27 +0 +6,9,23 +6 +5,6,14,25,42 +46 +5 +0 +6,20 +4,6,17 +4,5,6,10,35 +5,25 +5,37,38 +4,6,23 +3,5,6,15,21,25 +5,6,10,14,17 +3,6,28,30 +6,21 +3,6,14 +4,8,13,19,31,48 +5,6,25,29,42 +6,27 +3,12,22 +6,14,41 +4,32,48 +0 +3,5,6,21,47 +6,8,19,42 +17,25 +5,6,20 +4,6,51 +6,8,22,36 +5,6,29,46 +5,26 +6,20,21,45,48 +5,6,7,14,27 +2,5,6,7,20 +5,6,14,20,42 +5,18 +5,6,7,17 +5,6,14,20,23 +6,7,40 +6,12,14,40,51 +3,4,38 +5,14 +5,6,7,22 +6 +6 +5,22 +2,3,22 +19,20,21,48 +6,14,22 +6,14 +2,4,6 +4,6,9,21,41,47 +5,13,46 +5,6,11,14,19,23 +4 +5,7,17 +2,5,10,20,49 +3,6,22,36 +3 +2,5,6 +2,6 +2,5,6,20 +0 +4,5,6 +4,6,7,14,43 +26 +6,44 +3,6 +4,5,6,29,48 +0 +5 +3,4,6,14,16,20,22,25,47 +14,32 +2,6,14 +2,6,14,25 +4,5,6,8,14 +4,5,6,14,28 +4,5,7,20,22,49 +6,12,20 +4 +6,7,11 +6,13,22,23 +5,6,15 +5,17 +11,14 +5,27 +3,6,14,32,42 +5,11,32 +2,5,6,33,50 +6,7,22 +29 +5,6,14,22 +5,6 +5,6,17 +3,5,6,7,18,26 +4,5,6,14,22,26 +4,6,25,48 +3,5,10,12,23 +6,27 +6,46 +4,6,15,17,20 +5,6,22 +6,14,32 +6,14,23 +6,25,38 +6,14,15,42,44 +5,6 +6,17,23 +5,6,14 +6,14 +3,4,6 +4,5,14 +2,6,14,34,35 +6,25 +3,6,14 +5,6,17 +6,38 +6,14,17,44 +6,7,13,14 +2,3,5,6,8 +2,5,7,40,49 +3,6,12,14,22,23 +7,12 +6,14 +3,6,25,29,34 +6,19,20,26 +3,6,19,26,27 +5,6,14 +6,12,17,19 +6,30,46 +3,5,6,20,22 +28 +2,14 +4,5,6 +5,6,22,27,33 +6,26,43 +5,6,13,41 +6,7,9,11,29 +5,6,8 +19,33,48 +17 +6,7 +5,20 +6 +8,14 +6 +4,5,6 +6,14,25 +9 +6,29,49 +12 +0 +5,6,9 +6,14 +3,5,6,39,40,48 +5,6 +5,6 +3,14 +6,17,33 +26 +3,5,6,13,14,32 +3,7,25 +6,17,23,24 +5,6 +3,4,6,7 +6 +4,5,14 +5,6 +2,5,6,16 +2,15,22,51 +17 +2,4,6,36 +14,34 +3,11,14 +5,12,28 +6,20 +4,5,6 +5,6,14,20,22 +4,10,13,19 +5 +4,14 +6,8,18,23,42 +5,6,14,27 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +5,23,44 +3,5,6,12,26 +6,15,30 +5,6,14,17,44 +3,6,10,17,20 +0 +6,17 +0 +3,5,30 +4 +5,6,10 +4,6,11,16,25,29 +5,6,14 +5,6,14,22 +5,43 +2,4,5,6,22 +0 +5,6,13,36 +3,6 +2,15,21,37 +2,4,6,18,29,35 +3,14 +6,14,34,47 +7,14,22 +4 +5,6 +5,6,19,25 +6,22 +4,5,6 +6 +6,43,46 +6,12,13 +6 +3,31,34 +49 +6,7 +14,15,16,25 +12,17,22 +6,23,25 +5,6,7,22 +2,8,31 +3,6,20 +5,6,23,29 +6,17 +2,14,21 +12,14,44 +5,8 +12 +2,3,7,30 +4,41 +6,10,23,25,35 +17,27,28 +6,14 +4,14,20,22 +4,5,6 +6,14 +14,26 +4,6,13,21,25 +20 +6,12,14,25 +6,14 +6,43 +4,6,7 +6 +5,6 +6,18,19 +6,14,28 +4,6,19,20,33 +4 +2,6,22 +5,6,8,28,34 +5,6 +6 +6,7,49 +6 +5,6,14,16 +2,6,25,37 +3,19,47,50 +18,25 +6 +4,5,6,9 +3,6,11,15,19 +4,6,38 +13,17 +6,17,18 +5,6 +13,17 +3,6,14,19 +3,30 +7,16 +5,6,7 +0 +2,47 +3,25 +12 +5,14,20,33,43 +5,6,23 +3,5,6,14 +5,14,38,40 +6,7,20,22 +5,6,7,14 +3,5,6,22 +6 +6,25 +6,14,17,41 +5,14,21,25,33 +5,6,25 +5,6,22 +6,37 +5,6,19,29 +4,6,42 +5,6,13 +6,12 +6,13,17,46 +6,14,16,28 +4,6,14,38 +6,11,15,22,25 +6,10,35 +6,8,12 +6,9,12,13,33 +6,14,17 +3,5,6,16,17 +4,6 +14,22,51 +4,6,21 +2,4,6 +6,13,14 +6 +14,35 +6,9,32 +5,6,25 +3,5,6,22,25 +6,19 +14 +6,28 +3,4,6,14,41,46 +4,5,6,9,14,20 +3,6,11,16 +6,7,18,22 +6,29 +5,6,16,33 +2,4,6,13,35 +4,6,22 +5,6,20,26 +5,6,14,20 +2,17,23 +6 +6,16,22,30 +4,6,7,17 +4,5,6,22 +6,17 +6,40,41 +6,22,26 +3,4,5,6,16 +4,6,29,36 +6,33 +14 +4,5,6,7,22,25 +7,9,14,19 +4,5,14 +2,4,5,6 +6,11,35 +6,45 +2,6,15 +6,14,48 +6 +6 +6,14,27,33,35 +5,6,13,19 +5 +6,32 +4,5,6,15,17,18 +6,26 +5,6,13,45 +21,23 +6,14 +6,14,18 +6,12,17,22,27,31,41,43 +6,14,49 +5,14 +6,14,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +5,6,13 +6,7,22,33,35,42 +2,6,18,38 +0 +6,10,13,49 +4,5,22,45 +5 +3,6 +5,14,20,28 +4,6 +3,6,29 +6,7,10,13,17 +5,21 +5 +5,14,22,35 +22 +2,3,6,21 +5,6,12,14,25 +6,13,29 +5,6 +5,6 +5,6,14,16,36 +6 +4,7 +5 +5,6,46 +4,5,6,17,33 +5,6,7,22 +0 +6,12,22 +6,33 +5,13,17 +6 +6,37,46 +7,10,14,15,26,28 +6,14,43 +6,12,20,28 +4,14,17,25 +4,5,8 +3,5,8,41,42 +4,8,14 +3 +5 +3,6,22,25,45 +29,43 +2,5,6,9,14 +4,5,6,12,17,27 +6 +19,22,41 +2,6,22,30 +6,42 +6,10,14,35,42 +2,6 +6,7,49 +6,13,45 +6,22 +15 +6,14 +6,16,19,26,41 +5,6,25 +4,20,22 +6,7,17,37 +3,5,6,14,19 +3,6 +17 +22,42 +7,8,12,22,38 +4,5 +4,5,7,10,22 +6,7 +6,17,42,46 +4,5,6,19,44 +5,6,35 +4,5,6,10,24 +5,6 +4,5,6,33 +6,13,21 +23 +5,33 +6 +8,17,29,41 +3,5 +6,13 +4,6,7,25 +6,14 +6,14 +6 +5,6 +5,6,13,17 +5,14,24 +3,4,9,12,14,17,20 +48 +22 +6,39 +4,5,8,10,31,49 +5,6,14 +6 +13,14 +4,5,8,20 +5,6 +6,7,12 +0 +4 +5,14,18 +6 +6,11,25,46 +3,6,10,14,46 +5,6 +19,20,28 +3,5,6 +6,7,40 +6 +6,12,14,22 +5,6,14 +5,6 +4,6,14,38 +6,13,26 +6 +5,6,18,29 +5,47 +6,14 +48,49,50 +3,6,14,44 +5,7,12,27,42 +5,6,12,14 +5,6 +6,14,22,30 +6,25 +2,5 +5,6,11,37 +5,6 +6,7 +6 +6,45 +3,6 +4,6,14,17,18 +5,6,14,42 +4,6,8,23,27 +6,14 +6 +5,6,21 +10,14,19,21 +6,36 +6,12,18,22,23,25,42 +4,6,7 +3,6,30 +6 +3,6,22,23,26 +5,8 +3,5,6,10,15,17,18,28 +10,14,27,43 +6,7 +6,12 +13,17 +6,13 +6,12,14,17,24,27 +5,11,33 +5,6,13,19,25 +6,19,35 +0 +6,14 +6 +6,12,47 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +6,14,22 +17 +3,6,17 +18,42 +6 +5 +2,20,30,33,38 +4,6,7,12,22 +5,6,20,25,47 +3,5,6,21 +4,6,7,47 +4,50 +6 +6 +6,10,30 +6,21 +5,6 +6,22 +4,6,14 +5,14 +5,6,18 +6 +2,3,5,14,25 +5,20 +14,15,48 +5,6,7 +33 +6,23,25 +6 +4,6,14,23 +4,5,8,25 +2,6,10,14 +6,12 +5,6,23,35 +23 +6,14 +4,5,6,30,46 +3,6 +5,6 +6,15 +6,25 +3,4,14,19,36 +4,6,17,20 +7,46 +6,7,10,16,17,26 +6,19 +12,15,48 +6,35 +5,6,14 +4,5,21,44,49 +6 +0 +6,27,36 +6,7,14,26 +6,20 +5,6 +4,6 +5,49 +2,3,5,17 +6,14,50 +14,27,30 +5,6,10 +4,6,11,21,26 +16 +5,6,7,21 +6,16,18,22 +6 +4,26 +3,5,6,21 +6 +14,22 +6 +6,24 +5,6,14,15,25 +5,6,38 +5,6 +3,6,11,13 +6,30,38 +4,5,40 +6,10 +6 +5,14,20 +2,3 +6,7,16 +3,4,6,12 +27 +6,14,20 +47 +6,14,20 +6,9,27 +6,33 +6 +5,6,12,18 +3,5,6,7,51 +5,6 +5,23,39,41 +6 +0 +2,5,6 +6,22,45 +30 +5,9 +14,25 +14 +3,29,45 +6 +5,6,7,16 +3,4,6,17 +15,22 +5,6 +6,17 +5,6,48 +6,14,18 +25 +4,6,19 +6,14,25 +3,21,29 +5,6,14,22 +6,13,14 +4,6 +4,5,6,20 +5,6 +4,6,13,22 +5,6,11,48 +3,6 +14,42 +4,5,6,15 +2,6,11 +6,22 +4,5,13,17,25 +4,5,6,25,27 +14,22,28 +5,6,19,46 +6,14,17,23 +6,7,11,30,46 +4,6,22 +3,4,6 +39 +6,14 +6 +6,25 +3,4,15,42 +2,5,14,20,34 +0 +5,6 +6,29,48 +3,4,6,14,17 +6,12,20 +6,15 +6 +5,13,21 +3,6,19,27,30 +5,6,17 +21,34 +6,14 +5,6,7,14,30 +6,14,30 +6,19 +5,6,25 +5,19 +5,6,11,12,14,35 +3,6,7 +6,14 +5,6,25 +7,46,49 +5,6 +5,6,25 +6,11,14 +2,4,5,6,8,14,51 +15,16,33 +6,40,41 +8 +4,6,7,17,20 +3,6,14,36 +3,6,42 +2,3,6,18 +6 +4,6,11,14,17 +4,5,6,14,33 +6,8,14,39,45 +5,6,13,14,18,22 +6,9,17,41 +5,6,7,14,15,23 +3,6,7,14 +3,13,14 +6,14,25 +4,5,6,46 +3,6 +6,17,34,41 +3,5,6,14,36 +6,22,33 +5,17,21,25 +3,6,20,34 +5,17,25,49 +3,6,16,25,40 +3,5,6,20 +6 +7 +6,7,18,33 +5,6 +13,16,22 +6 +5,8,22,41 +18,49 +6,31 +5,6,14,21 +6 +5,6,47 +15,45,48,51 +4,5 +6 +7,29 +4,6,8,22,29 +5,6,10,22 +4,6,13,25,37 +6,49 +5,49 +6,8,14 +6,7,25 +6 +3,6,17 +2,4 +4,6,12 +6,22 +2,3,4,5,6 +7,17 +6 +4,5,6,14,22,32,48 +5,6,25 +4,6,16,48 +5 +0 +3,10,11 +16,20 +6,19,32,35,41,42,49 +5,6,12,14 +6,7,23 +3,7,23 +17,31,46 +13,15 +5,6,13,14,43 +4,8,20,43 +6,10,28,32 +4,6,14 +6,21 +14,19 +5,6,14,18 +2,4,5 +6 +6,31 +5,6,14 +3,6,7,14 +6,17,26,43 +5,7,14 +6,39 +6,16 +2,6,17,38,43 +5,7,12 +3,6,17,46 +5,6,7,17,19,21 +6,40 +3,6 +6,22,49 +4,5,6,14 +6,14,30 +6,13,28,38 +3,5,35 +5,6 +7,16,27 +6,29 +5,6,14 +6,29 +4,6,7,25,33 +6,17,18 +3,6 +6 +22 +4,6,14,34 +5,6,46 +4,5,6,15 +19,20,24,36 +3,4,14,17,20 +6,14,16,22,28 +9,14,15,16,48 +0 +47 +6,8,13,20,46 +5,42 +3,6,39,48 +6,10 +6,17 +5,6 +5,6,7,9,14 +6,49 +6,7,14 +6,10,14,16,17,40 +2,4,13,14,25 +2,5 +5,17,25 +5,6,25 +6,50 +4,6,7 +5,6,28,47 +6 +4,5,6,22,44 +5,7,9,12,20,28,32 +6,14,46 +14,19 +4,5,6,10 +6,22,29 +4,6,28,29,46 +5,6,17,35,48 +5,6,30,49 +5 +5,6,10,28,42,49 +5,6,13,14,18,45 +4,6,25,37 +5,6,12 +4,15,39 +6,15 +22 +5,6,13,25,27 +3,4,6,35 +6,28,38,42 +6,14,16,25,36 +5,12 +5,6,14,15,25,26 +6,7,13 +6,30 +4,6 +4,6 +6,12 +3,6,7,42 +3,5,6,48 +6,15,50 +4,5,12,14,15 +6,7,13,14 +2,4,6,9,17,33,34,37 +6,14 +5,6,39 +3,6,14 +3,5,6,7 +4,6,11,39 +4,5,7 +6 +5,22 +6 +6,7,14,45 +35,50 +2,6,12,43 +3,6,8,19 +3,5,6,18,43 +3,14,16 +2,4,17,21,29 +4,5 +5,6,7 +6,22 +6,13,19,22 +5,6,14,17,34 +2,6,30 +5,6,10 +6,31 +21,30 +4,6,18,25,30,49 +0 +6,14,34,46 +4,6,12,25,50 +4,13,15,17,44 +3,6,11,48 +7,14,45,51 +4,5,6 +37 +3,12,14,15,44 +2,4,6,23 +4,15,29 +6,15 +6,28 +5,17,20,27,37,48 +5,6,7,14 +7,48 +5,6,7,10 +2,5,6,14,17,32 +6,28 +5,6,32,46 +7,41 +6 +5 +5,6,30 +6,14 +5,6,22,30 +44 +6 +6,22 +4,5,6 +6,12,50 +3,5,6,17 +3,6,28 +5,6,44 +6,14,21 +6,8,13,14,33 +14,21 +5,6,8,25 +4,14 +5,6 +6,7,15 +3,14,22,24,38,48 +6 +5,6,14 +3,4,5,28,40 +5 +4,5,6,24 +2,4,10,14,38 +3,6,12 +4,5,7,15,25,37 +10,17,22 +6,14 +2,5,6,17,31 +5,6,14,38 +6,14,17 +6,7,49 +6,25,40 +5,6,14,35,40 +6 +4,6,27,33 +5,6,14,22,25 +6,21,22 +3,5,17,18,42 +4,6,44 +3,37 +3,6,20,44 +5,6,12,14,32 +6,10,33 +2,7,18 +5,6,13,38 +3,6,7,11,15,30 +3,14 +3,5,6,26 +5,6,11,13 +5 +5,6,26,35 +4,5,6,19 +4,5 +6 +0 +6 +4,15,26 +6 +4,6,12,13,14 +4,5,6,15 +5,42,43,49 +6,14,17 +6,19,29,49 +6,14 +5,6,14,17,18,43 +6,17,31,42 +5,6,51 +6,37,47 +6,16,26,38 +10,15,18,37 +4,6,21,27 +17 +3,6,25,33 +3,5,14,15,17 +4,5,6,7 +3,4,5,6,22,41 +6,41 +15,38,42 +5,6,11,21,49 +6,50 +7 +3,4,6,20,22 +10 +5,6,22,43,50 +5,6,16,17,25 +15 +4,5,6,10,14 +6,21,42 +4,6,7,41 +4,5,6 +6,7,9,20,25,42,51 +5,6,20 +4,5,7,21,25 +4,25 +4,6 +2,5,6,17,22 +6,15 +6,12 +5,6,14,22,46 +3,6,28 +6 +5,14,49 +6,7,14 +5,6,14 +5,6 +6 +4,5,39 +5,6,30,33 +6,14,16 +6,8,10,14,48 +6 +6 +3,6,28 +4 +2,6,25 +5,16,18,20 +11 +3,6,44 +23,35,42 +6,39 +13,26,45 +6,9,28 +6 +5,12,29,34 +10,20 +5,6,14,20,31 +5,7,18 +4,5,13,22,41 +11 +14,18,41 +6 +3,6,7 +5,6,7,14,35 +5,6,19 +6,14,20 +4,5,6,7,11,14,38,42,43,44 +2,4,6,22,23,41 +18,20,23,33 +6 +2,4,6,37 +3,6,7,41 +5,9,18,28 +6,12,14,25,30,41 +25 +2,3,5,6,16,41,45 +6,7,22,23,47 +4,6,12,13,14,21,50 +5,12,14,17,22,26,28,39 +2,3,6,41,43 +5,6,7,18 +6,22 +6,14,17 +6 +6,13 +0 +2,13,14,22,31 +5,6,8 +6,21 +5 +6 +5,6 +5,6,8,28 +4,5,13 +5,7,14 +4,5,6,13,14,17,31 +4,5,6,16 +6,21,36 +3,5,6,15,40 +2,6,10,22 +6,7,22 +3,5,6,17,21 +6 +5,6,13,17 +5,6,21 +6,16 +5,6,9,11,13 +3,6,7,10,14,15,16 +6,7,22 +6,11 +4,6,12 +4,6,14,38 +6,14,29 +6,41 +5,6,41 +6,17,26,35 +3,4,6 +0 +6,7,26,40 +2,5,6,7,30,38 +5,6 +6,7,12,17 +5,6,20 +21,26 +2,5,6,28 +2,4,6,34 +36 +6,12,14,32,34 +6,12,28 +11 +5,12,14,36,42 +7 +0 +17,28,46 +6,50 +4,6 +5,6,17 +6,14,22,31 +6,14,17 +3,13,17,25 +6,13,46 +2,3,12 +3,5,6,22 +4,5,6,7 +6 +3,4,6,12,21 +5,14,21 +36 +2,6 +2,6,28 +5,6 +5,6,14 +3,33 +3,5,25 +6,7,13,14,22 +6,46 +3,6,22,41 +47 +3,5,6,7,19 +3,6,17 +10,28 +5,6,45 +6 +17 +6,24,47 +6,10,17,27 +5,6,7,8,32 +3,6,7,22,38 +6,14 +5,6,12 +6,17,30 +3,6,10,12,15,26 +2,6 +2,4,8,25,35 +4,5,6,14,22 +6,14,15,42 +4,14 +5,6,40 +16 +6 +13,19 +6,10 +6,14,21,36 +3,6 +3,22,43 +6,15 +3,4,6,16,25 +2,6,14 +3,4,6,27 +2,14,22 +6,14,21,27,47 +5,17 +3,5,10,13,41 +5,6,51 +6,20,25,34 +38 +6,7,12,14,22 +4,6,14 +0 +4,5,6,41 +4,6,13 +5,6,9,14,46 +2,6,14,18,20 +5,6,23,41 +6,25 +4,5,6,7,14,21,22,25,26 +3,6,21 +6,23 +5,14,15,27 +15,33,34 +3,5,6,23,28,42 +5,12,14,24,30,35 +3,6 +6,45 +6 +6,20,47 +6,40 +7,28,45 +6,17 +6 +6,7,45 +3,6,42 +4,5,6,16 +0 +42 +5,6 +4,5,17,22,26,43 +5,6,14 +7,10,21 +4,17,44 +6,14 +6,10,17,34 +6 +6,14,21,30 +5,21,37 +6,12 +6,15,22,46 +3,5,6 +6 +14 +3,6,7,10,14,25,49 +3,5,22,42 +3,13 +6,14,29 +5,6,14,17 +4,5,6,7 +25,34,49 +6,15,17,18,20 +6,8,50 +2,6,11,48 +5,6,28 +5,6,7,19,29,32 +3,14 +4,5,14 +3,46 +3,4,5,14,17,44 +3,5,6,25,27 +3,5,6 +5,14,23,48 +6,22,26 +6,14,20,21 +6,13,21 +6,20 +5,6,14,27 +5,12,14,17 +5,6,46 +4,6,7,14,20,25 +3,4,5,6,7,8 +6,14 +7 +4 +5 +3,5,6,10,33 +2,4,7,14 +3,5,6,22 +5,6,14,36,50 +5,15,18,26,28 +5,6,20,39,50 +2,4,6,13 +3,5,6,15,22,25 +5 +2,6,28 +5,6,28,36,41,45 +14,27 +3,5,6,20,22 +6 +0 +6,46 +6,9,17,38 +4,6,10,42 +3,5,6,27,41 +5,6,38,43,44 +5,6 +3,5,6,27 +0 +6,7 +6,7,17,20,26,44 +6 +5,6,14,28,41 +6,14 +4,8,28 +5,6,13,15,19,20,25,35 +6 +13,14 +4,6,22,23 +6,17,41,44 +2,5,7,25 +4,6,8 +2,15 +3,5,26 +5,6,26 +5,6,15,19,25 +2,4,5,6,30,46 +2,4,6 +5,6,14 +4,6,13,38,42 +5,6,14 +4,6,36 +0 +22,48 +3,5,7,11,20,23,42 +2,5 +6,41,42,47 +6,38 +6,15,19,30 +6,49 +6,11,15,19,22,36 +5,6,10 +3,6,22,49 +4,6,14,17,23 +2,5,6,45 +6,28,46 +3,6,19,38 +3,5,6,14 +5,6,14,19 +6,22 +4,6,7,9 +3,6 +6,35,40 +6,18 +6,25,50 +6 +17,22 +5,6,13 +5,6,7,46 +5,6,20 +3,6,7,22 +4,5,6,10,49 +6,14,26,28,49 +5,6,9,14,21,22 +4,5,36 +6,12,14,38 +3,4,6,32 +3,5,15,17,20 +4,6,17,20 +14,38 +5,6,30,32 +4,6 +5,6,14 +4,6,48 +8 +4,6,14,21,25 +5,6,10,17,41 +5,49 +4,6,28 +25,30 +6 +12,14,17,21 +3,6 +3,5,6,7 +5,6 +5 +5,6,10,14,19,46 +5,14,42 +6,7,14 +6,13,18 +3,6,43 +5,6,22 +3,4,5,6 +7 +3,4,6,14,17 +6,14 +3,6,14 +6,22,32,35 +2,4,5,6,15 +6 +5 +4,6,8,14,26,46 +5,6,8,15,17 +6,12,20 +6,20,26 +5,6,20,25 +5,6 +4,6 +5,6,7 +15 +5,6,22,28,29 +5,6,19,25 +6,21,25,31 +22,33 +6,13,15,21,28 +6,14,17 +2,6,22,23 +5,17,20 +4,5,6,20 +4,6,12,19,30 +4,6,28 +4,6,18 +14 +5,6 +5,6,14,31 +0 +4,6,7,15 +4,6 +14 +5,6 +6,7,29 +3,5,6,22 +5,6,17,20,32 +6,20 +6,32 +5,6,7,22 +6,7,10,27,36 +5,6,17 +6,21,41 +0 +13 +7,18 +3,6 +5,6,39 +3,5,12,14 +2,5,6,10,14,22,23,33 +46 +4,6,12,17,22 +6,7,37 +6,20,25 +2,6,7,11,24,47 +5 +5,6,14,20 +6 +3,6,9,47 +49 +6 +5,6,7,19,25,45 +5,6 +14,46 +5,6,20 +6 +5,14,17,19,41 +6,11,29 +5 +6,23 +3,4,14,22 +14,48 +3,6 +35 +0 +6,28 +0 +6 +5,12,17,20 +3,4,11,15,28 +5,6,9,14,22,34 +4,20 +20 +6,17,19,41 +6,7 +5,13,16 +5,6,10,15 +3,6 +28,40,47 +6,17 +3,14,21 +3,5,6 +5,6,17,18,37 +4,25 +2,6,14 +2,6,32 +5 +8,17 +3,5,6,7,14 +4,6,13,14,17,23,32 +16 +5,6,14,42 +5,6,35 +3,5,6,7,17,22 +4,6,18,41 +3,5,6,42 +6,12,14,48 +6,29,51 +4,6,14,16,31,48 +6,17 +5,6,17,29 +4 +13,22,45 +6 +6,31,34 +6,16,30 +2,6 +6,19,29 +5 +6,16,25,29 +6,20 +5,6,24,34,51 +5,6,14 +3,5,6,12 +6,30,43 +5,6,14,18,22,23 +6,17 +8,10 +4,5,6,8,14,22,27 +2,3,5,6 +3,4,5,6,14 +6 +5,6,7,13,14 +5,8 +4,6,15,23 +6,14 +28 +6,14,19 +5,6,14,41 +5,6,14,28,42 +6,16,27,28 +2,6,14 +6,27 +3,6,18,22,42 +4,6 +5 +6,18 +4,5,6,28 +3,6,12,13,20,24 +5,6,13,14,17 +7,11,28 +4,6,21,22 +6,8 +3,4,6,12 +3,6,14 +4,6,7,8 +6 +5,6 +14 +3,5 +30 +6,16,17,36 +6 +6,10,36 +5,14 +6,14,25 +42 +4,5,6,14,21,26,47 +14,25 +6,14 +6,13,16,37 +6,13 +6,51 +4,5,6,29 +6,34 +5 +5,16 +3,6,13,35,36 +4,6,36 +5,42 +5,6,14 +6,25 +5,47 +10,25,43 +3,6 +6,7,8,21,51 +6,14,39,46 +6,14,25 +5,14 +20,22,43 +6 +6,23 +3,5,6 +4,6,10,17,19 +6,14,17,30,47 +5,12,14 +6,12,17,18 +3,10,12,13 +5,14 +5,19 +5 +6,7,21,47 +4,6,14 +3,6,7,17 +6,14 +3,5,6,18,25,34 +6,22,49 +15,21 +5,6,51 +5,13,15,25 +6,19 +6 +6 +5,6 +5,6,20 +6,48 +6,20,29 +6,12 +2,17 +5,6,10,34 +6,14 +5,6,9 +5,6,22 +2,6,33 +3,6,41 +5,6,17,28 +3,6,16 +6 +2 +6,9,20,41 +6,7,14,44 +5,6,10 +6,22 +4,6,7,12 +4,6,17 +0 +3,6,50 +6,10,14 +3,5,14,18 +5,6,14,20 +5,6,25 +3,12,14,28,47 +5,6,17 +6,20 +6 +6,14,22 +6,16 +6,28 +6,14 +5,6,21,23,33,49,51 +6,7,15,20,31 +4,6 +3,6,31 +0 +14,23 +5,46,48 +3,4,5 +28 +5,13 +5,6 +6,17 +4,5,6,39 +6,21,28,30,43,51 +7,14,31 +14,19,22 +4,6,13,14,15,41 +5,6,7,21 +6,17,20,25 +5,19,25 +5,6 +23 +14 +6,14,18,23 +6 +6,14,25 +31,49 +5,6,10,17,25 +5,6,20,36 +6 +5,6 +5,6,34 +4,6,7,8,25 +5,6,25 +3,4,5,6,7,21 +6 +4,5,7,30,45 +5,6,17 +6,11,27 +6,12,14,20,22 +0 +5,6,14,25 +5,6 +2,6,14 +2,5,6,23 +3,4,5,6,14,18,36,42 +3,5,27 +5,6,7 +5,14,17,26,36 +25,38 +3,7,8,34 +3,14,21,30,34,42 +4,5,6 +3,5,17 +3,5,6,29 +6,23,35 +2,5,6,28,33 +5,6 +3,4,6 +16 +6,46 +3,6,14,48 +4,18 +5,6,17,26 +4,6,7,9,14,17,21,47 +3,17 +0 +5,6,10,14,43 +4,6,33 +15,29 +6,15,21,40 +0 +6,17,25 +6,28 +14 +6,14,43 +5,6,20 +5,6,42 +4,5,49 +6,49 +4,6 +4,5,10,14,47 +6,13 +2,14,17 +6,19,25 +4,6,11 +2,6,7,13,41,49 +14,17,48 +5,6,7,11 +4,5,7 +5,6 +3,5,6,7,14 +2,4,6 +4,5,6,16,20,51 +6,14 +3,4,5,17,19 +5,6,11 +4,5,6,20,25 +6,19,24 +29 +3,6,14 +4,5,14,47 +6,28 +6,10,37 +5,6,20,42 +6 +5,6,10,15,34,47 +5,7,14,33 +5 +5,6,13,14 +3,6 +3,26,41 +5,6,14 +6,21 +2,4,5,6,16 +4,5,7,14,15 +4,5,7,14,22,49 +5,6 +2,7,11,14 +5,6,28 +13,14,19 +6,7,34 +5,6,20,38 +4,6 +9,25 +6,43,48 +14,20 +6,38 +13,14,19,26,29,38 +6,8,14,43 +2,3,16,17,25 +3,5,13,42 +2,3,6,14,22,45 +4,6,7,17 +5,6,13,33 +4,20,38 +2,6,12,39 +6,15,25 +0 +3,6,12,29,44 +6,21 +2,3,6,38,42 +3,14,21,47 +4,6,7,14,26 +5 +6,17,20 +5,6,22,28,30 +6,43,47 +6,14,16,45 +14 +6,10,27 +6,12,23 +6,23,46 +4,5 +4,6,10,14,15 +3 +4,6,14,38,51 +2,5,20 +6,16 +30 +4,5,21,33 +5,6,7,14,17 +6,17,19,41 +5,6,7,14,18,21 +0 +5,6 +7,18,25,26,39 +5,6,21 +3,6 +5,6,13,49 +3,4,6,13,47 +6,14,15 +6,14,48 +5,6,7 +4,6,20 +5 +3,6,15,32,51 +5 +3,7,22,25 +6,7 +4,5,14,19,30 +5,6,17 +2,7 +4,30,41 +5,23,41 +6 +6,12,16,22 +6 +6,13,14,49 +5,22,35 +4,6,16 +6,33 +8 +6,7,14,17 +7 +4,6,44 +2,5,6,7,13 +2,4,5,15 +0 +5,6,35,40,41 +3,6,14,15,29 +6,14,51 +3,6,10,41 +3,4,5,6,12,20,31 +6,42 +4,6,14,44 +4,5,7,12,14,19,22 +6,16,44 +3,17,28,29 +4 +5,6,7,41 +3,23,47 +4,6 +3,5,6,10,13,17,21,25,31 +5 +6 +6,13,17,51 +6 +3,5,14,38 +14,22 +3,4,6,14,17,20,28 +6,7 +6,10,41 +3 +6 +6,10,14,31 +4,6,8,19,46 +14,15,32 +14,28,46 +6,29,35 +5,7,22 +6,18,19,30 +6,12,28,44 +4,5,7,24 +3,4,5,14 +6,48 +5,6,10 +5 +5,6,27 +47 +6,30,39,43 +3,6,8,20,32 +3,6,8,20 +6,14,28,36 +14 +6,15,20 +3 +3,6,13 +5,6,7,8,15 +4,6,50 +6,13,14,17 +5,6,7 +6,14,21 +4,6,14,37 +6,21,22,40 +2,5,49 +5,6,7,10,47 +14 +6,13,39 +5,6,17 +6,14 +4,6,32 +6,12,19 +7 +6,14,48 +0 +5,6,7 +6 +6 +5,6,44 +5,6,40 +5,6,20,22 +6,28,43 +20 +4,6,14 +5,21 +3,4,32 +5,26,30,33,38 +2,6,20 +2,5,6,17,36,37 +6,8,14,43 +6,12 +5,6,19 +5,7,17,21,30 +3,5,6,10,22 +5,6,37 +6 +14,15,16,21,23 +6,48 +5,6,14,30 +5,11,14,20,25,44 +6,9,14,37,51 +6,20,22 +6,14 +12,14 +6,7,9,14,15 +17,24 +6,13 +5,6,17,33 +0 +4,5,6,14,15,19 +5,50 +5,6,14 +14,16,23,39 +0 +4,5,6 +5,6,14,25 +6 +4,12,25 +4,5,6,7,17,22,25,38 +44 +2,4,5,6,7,37,41,42 +6,29 +6,8,14,17 +3,5,6,48 +6,17 +5,6,10,14 +4,6,17,41 +6,10,17,20,23,29,45,51 +6,8,27,42 +6,14,21,25 +14,20 +6 +6,15,32 +3,5,6,7,12,14,41 +4,6,30,40 +3,6,8 +6,10,13,16,17 +6 +2,6,14 +19,29 +6,45 +5,6,15,25 +2,4,5,6,14,22 +42 +5,6 +3,6 +4,5,7 +5,6 +3,5 +6,7 +4,22,42 +5,20 +5,6 +5,10,34 +5 +6,17,22,25 +6,14,16 +6 +6,47 +5,6,22,49 +5,6,17,18 +4,14,51 +5,6,22 +5,19 +0 +4,6 +6,7,14 +6,13,14,24,38 +6,17,20,22,25,48 +5,6,14,22 +6,22,26,32,49 +5,6,14 +6,12,13,23 +4,5 +6,46 +5,6,14 +6,7,19,21,25 +4,6 +14,25,50 +3,4,10,28 +5,6,14,15 +4,5,23 +5,6,9,23,44 +5,6 +0 +5,10,14,31 +11 +21,33 +6 +5,6,12,31 +5,12 +6,26,29 +5,6 +5,6,7,12,13,45,50 +6 +6,19 +6,22 +5,6 +5,6,28 +6,7,43,45 +26 +6,18,42 +6,14,22,31 +6,22,30 +3,44,48 +2,5,14 +4,6 +4,5,6 +4,6 +5,14 +4,21,51 +6,14 +5,25 +7,14,22,28 +6,10,14,15,25 +6 +4,5,14 +6,12,17 +5,17,18,41 +5,6,14,16 +5,20,41,45 +5,14,17,22,23,24,38 +5,22 +6 +3 +6,17,22 +4,6,32,36 +6,7,25 +7,10,26,33 +6,15,17 +5,6 +6,14,44 +10 +3,6,14,15,17,51 +3,6,20,33 +6,9 +14,16,21 +6,22,23,42 +6,10 +3,6,11 +3,5,7,34 +3,5,6,7,12,33 +6 +4,5,6,8,14 +4,6,28,36 +4,17 +6,25,47 +5,20,25 +3,6,7 +3,6,28,34 +6,13,14 +6,15,17,22,33,50 +5,6,25 +5,6,14,17,22,29 +6,7,20,22 +6 +4,5,10,14,17,41 +6,7,14 +12,40,46 +5,6,26 +5,6,21 +2,6,9,14,20,42 +6,15,44,51 +4,5,6,13 +6 +4,7 +5,6,7,17,22,36 +6,21 +3,5,6,20,30 +3,5,6,28,48 +4,6,12 +3,4,5,6,20 +3,6,10,17 +0 +2,6,23 +12,21 +4,6,9,14,19 +6,26,42 +6 +6 +5,19 +5,6,12,13 +6,22 +5,6,15,18,45 +6,17,35 +2,6,42 +3,6,7 +5 +5,20,26,42 +6 +5,6,7,36 +5,6,13,15,42 +3,6,14 +6,36,44 +5,6,17,20,22,40,41,48,50 +5,6,14 +6,28 +5,6,15,18,32 +14,21 +14,15,25 +6,41 +5,6,14 +6,7,45 +4,14,49 +6,18,25 +0 +6 +0 +5,6,17 +6,14 +6,14,23,44,48 +5,6,14,16 +5,6,7,13,31 +3,6,7 +5,6,7,14,30 +6,14 +16 +6 +2,6,17,47 +5,6 +5,6,14 +3,6,14,21,22 +12 +6,14,29 +6,19 +6,12,14,20 +6,46 +3,6,13,43 +6,7,13,29 +3,5,6,17,26,31,44 +4,5,6,13,14,17,20,22,24,47 +5,6,20,22 +5,6,37 +6,20,25 +5,6,28 +3,9,14,20,50 +5,6,23,40 +4,14 +3,5,6,7 +5,19 +3,6,14,24,42,51 +12,21 +6,7,20,50 +4,6,7,14,17,20,30 +6,12,28,36 +4,7,25 +5,6,14,33,36 +3,5,6,19 +4,6,25,34 +3,5,6,7 +5,6,17,20,21 +5,6,24,37 +6,41 +12,48 +6 +6,11,27 +3,35 +6,20,39 +3,4,6,41 +6,20 +6,37 +4,6,26,41 +5,6,14 +4,15 +3,7,35,48 +5,6,17,18,44 +6,7,25 +5,6,47 +6,16 +5,6,8,22,37 +3,6,28,34 +12 +4,6 +4,6,14,46 +3,6,18,22,28 +6,7 +4,5,6,14,17,34,45 +4,14 +3,42 +6,14,39 +5,6,7,18 +4,5,6,17,25 +6,7,15 +3,5,6,22,25 +6,10,14,26 +8 +3,6,31 +6,9,10,38,43 +6,14 +5,17,37 +3,6,7,14 +6,22,23 +4,5,6,11,13,17,23,40 +14,29,43 +2,10,20 +0 +5,6,22 +3,9,17,36,51 +5,6,22 +5,6,14,24,43 +5,6,41 +7,14,25,32,48 +2,6,29,35 +4,6 +5,6,19,25,28 +4,6,45 +0 +3,29,51 +4,6,13,31 +6,20 +5,7,14 +6,25 +5,14,21,28 +5,6,44 +3 +5,20 +3,5,6,14 +3,6,13,22 +6,14,17 +6,25 +6,14 +6,42 +2,4,6 +5,6,38 +4,14,46,47 +6,27 +6,11,43 +29,42 +5,6,7 +6,14 +4,5,6,14,17 +10 +5,6,10,13 +6,35,46 +3,6 +14,20,21,23,31,42 +3,6,22,51 +4,5,6,19 +4,5,14,17,32 +6,18,24 +4,6,8,17,29,46,51 +6,43 +4,6,21,22 +6,11,12,20 +3,14 +4,6,16,29,36,47 +5,6 +2,6 +4,6,14,27,43 +27,37 +6,11,13,14 +7 +6,14,20,22 +5,6,14 +5,6,12,18,28 +2,3,6,17,18,20,21,29,49 +29 +3,6,9,14,15 +3,6 +5,12,18,25 +7,27 +8,20,21 +6,7,50 +3,4,6,22 +6 +5,6,17,25 +5,6 +0 +6,12,40 +7,21,22,39 +6,28,37 +4,6,7,14,17,47 +6,25,38 +3,5,6,25 +4,6,14,16,21,48 +4,6,14,36 +6,7,11,36 +6,13,46 +5,6 +5,6,8,17,40 +4,48 +6,14,19 +5,6,19,33,41,44 +6,51 +6,16,31 +6 +12,14,23 +5 +5,6,22,30 +0 +2,14,20 +5,6,29 +6,12,15,17,21,43 +3,5,42,49 +6,14,17,36 +6,8 +5,6,14,20 +5,6,35,42,47 +2,5,6,7,37,42,44 +6,22 +5,7 +3,5,6,7 +4,6,22 +6,12,14 +2,42 +29 +3,6,13 +6,7,12,22,23 +2,6 +5,17 +2,5,6,19,29 +6,22 +4,6,8,12,14,23 +0 +5,6,21,43 +4,5,6,20,26 +6 +6,7,14,20,25,37 +4,22 +3,4,35,43 +7,19 +2,6 +4,5,6,21,46 +3,17,20,23,42 +6,18 +4,14,17,21,39,50 +4,6,8 +4,5 +6,9,20,36 +4,6,46 +6,10,18 +5 +4,5,6,11,16,21 +4,5,6,44 +4,6,19,22 +29 +3 +12,23 +5,6,14 +12,31 +3,4,6 +4,5,6,28 +5,6,15,18,25,43,45 +2,6,17,19,30 +31,37 +4,6,25,48 +6,41 +7,14 +6,21 +5,6,17,26 +5,6,28,30 +3,5,6,40,42 +4,11 +3,6 +5,6,12,13,29,37,48,49 +4,5,15,43 +6,14,17,22 +2,4 +5,14,30 +5,6,26,33,46 +6,10,35 +6,23,25,36 +6,46 +5 +4,6,19,50 +14,27 +5,6,14,38 +5,6 +8,23 +5,6,7,14,16,17 +6,28,43 +6,20,30 +6,14,51 +6 +6,10,16 +6,17,25,28 +2,5 +4,5,6 +5,6,20 +0 +4,6,12,33 +3,5,6,8,22 +16,20 +6,22,46 +6 +12,14,21,31,49 +6 +6 +4,6,23 +6,24 +6,13 +19,28 +4,6,17,21,22 +6,17,44,46 +5,6,27 +4,6 +3,6,24 +27,28 +3,6,14 +5 +5,6 +6 +6,20 +6,48 +16,28 +6,8 +5,6,14,34 +2,3,4,5,12 +4,5,6,13 +2,6,17 +3,6,21,25,27 +6,9,22 +5,17 +0 +2,48 +3,22,34 +14,45 +5,6,31 +4,6,32 +5,11,20,44,45,46 +5,6 +2,4,5,6,14,44 +4,14,15,49 +2,4,5,6,7,14,47 +5,6,8,11,30 +5,6,14,21,30 +3,5,6,7,13,14,26,42,46 +5,6,26,50 +5 +3,5,6,14 +6 +3,6,14,21 +6,7 +3,4,6,12,27 +18,21,25 +6,7,23,41 +4,27 +5,6,14,16,25 +4,6 +3,6,7,12,22 +0 +13,22,49 +5,7 +3,6 +6,14 +4,6,40,41 +4,6,21,29 +5,6,22 +4 +6,13,20 +2,4,6,7,24,36 +3,4,5,7,27,42 +5,6,7,11,21 +5,6,18 +6 +3,4,6,33,34,42 +5,6,21,26 +5,6,20 +32 +6,13 +5,24 +6,8,14 +0 +6,7,14,40 +49 +3,5,10,17,18 +3,5,6,14,25 +6,12,22,25 +14 +5,6,22 +2,6,17 +5,6,40,43 +3,6,35,45 +3,6,17 +2,6 +6,30 +44 +3,5 +4,5,6,8,20,41 +5,6,14,45 +7,9,42 +6,7,11,26 +6,14 +7,23 +4,18,38 +6,12,44 +5,6,13,17,44,48 +2,4,6 +21 +6,16 +2,6 +3,5,14 +2,42 +7,25,26 +4,5,14,49 +6,22,45,49 +5,6,7,30 +4,6,12,14 +6,7,43 +5,6,8,48 +3,5,6,14 +4,41 +6 +6,44,50 +6 +3,6,13 +6,20 +4,5,6,11,21,29 +3,5,6,28 +0 +3,25 +5,6,18 +5,11,14,25 +5,6,28 +6,7,24,41 +40 +12 +6 +5,6,14,21,36 +3,5,20,39 +3,6,7,19,41 +4,6,14 +5,6,12 +3,6,14,22,25,30,41 +3,4,22 +6 +4,5,6,7,11,19,38 +6,14,23 +6,27 +2,6,13,20,49 +6,36,40 +5,6,38 +25 +6,12,13,25,51 +6,14,17 +5 +6,7,25 +6,7,14 +0 +5,15 +5,20,27,36,46 +5,6,7,15,27,46 +5,6 +15 +6,7,14,33,41 +4,12,17,19,50 +20 +5,10,43 +5,6,12,14,43 +6,14,37 +4,6 +4,6 +5,6,22,26,29 +2,5,6,14,15,42 +3,6,7 +5,6,28 +4,6,22 +5,25 +6,20,29,49 +5,6,14,17 +6,12 +10,16,20,39 +5,6,14,29,48 +6,14 +5,6,7,21 +6 +4,5,6,21,22,23,25 +14,20 +3,6,36,39 +5,6,35 +2 +5,6,14 +12,17 +5,12 +3,19 +4,6,24,38 +6,7,17 +6,46,51 +5,6 +3,28 +14 +6,14,17,21,25,42 +5,6,8,14,42,49 +5,6,42 +6,20,25 +34 +0 +3,6,18,22 +13 +6,20,28 +5,6,26,33,48 +6 +5,6,36 +6 +4,7,34 +3,6,21,32 +5,6,14,33 +7,10,14,22,42 +23,43 +5,43 +6,49 +6,12 +12,14 +6 +7,26,32,34 +12 +2,6,14,22,27,30,38 +6,7,14,41 +5,6,9,18,36 +6,14 +2,7,21,43 +6 +6,22,26 +3,21,27 +6,27,28 +4,5,30 +5,6,19 +6,13,14,19,37,44 +4,5,6,20,33 +3,5,6,12,14 +6,17,20,45 +6,16 +3,6,17,45,46 +5,6,10,13,17 +5,6,12,43 +3,6,8 +3,6,17,33,37 +5,28,42 +4,5,6,20,30 +14,20,42 +6,11,12,26 +4,6,37 +4,5,6,25,39,41 +6 +14,30 +4,5,6,14 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +6,22,38 +6,13 +6,37,38 +6,16 +2,5,6,20,21,38 +6,37,39 +6,14,25 +2,6,7,31 +3,5,6,12,13,14,25,40 +6,20 +2,5,6 +6,21,41 +6,11,41 +5,6,14 +4,6,7,19 +6,9 +5,10,23,29 +5,6,45 +14 +4,6,30 +3,4,5,6,21 +25 +6,14,17 +6,12,35 +12,42 +5,6,15,46 +5,6,17,46,50 +44 +6,17,22,45 +3,5,24 +7,14,19,39 +4,5,6,14,17 +4,6,17 +2,26 +5,6,10,14 +5,14,20 +2,6,50 +2,3,5,6,14,25 +4,28 +6,13,24 +0 +5,6,47 +25,30,31 +3,14,19 +12,14,37 +2,6,7 +6,7,22 +6,7,24,46 +9,30,38,49 +2,5,6 +4,11,13,20,24,25 +6,10,14,16,17,26 +5,6,12,17,18,22,29,44 +5,6,43 +6,12 +3,6,45 +6 +3,5,6,12 +4,5,6,17,24,48 +5,6,13,14,20 +6,15,22 +6,20 +4,6,23 +3,6,7,22 +5,10,17,22,51 +3,6,7,41 +4,5,6,26,44 +4,14,18,21 +4,6,7,14 +6 +4,5,6 +3,5,6 +5,6,10,14 +3,6,14,21,36 +3,6,47 +7,20 +2,6,7,11 +5,6,7 +4,5,6 +5,7 +3,6 +2,6,41 +25 +38,51 +5,6,7,14,22,48 +4,6,16,20,38,39 +6,18,47 +5,17,38 +2 +6,17 +12,49 +2,6,22,29 +4,6,13,20 +4,7,20,41,50 +5,6,50 +2,26 +6 +12,21,22,32 +3,12,13,14,17 +6,23,36,41,51 +4,5,6,14,20,22 +5,6,10,17,19 +5,6 +4,12,14,16,29 +3,4,5,6,13,14,20,28 +2,4,5,6,14,51 +5,6,12,14,26,29,42 +5,6,7,17 +5,6,22,25,33 +3 +4,6,17 +10 +3,5,6 +6,29,38,40 +21,28,32,46 +4,6,7,15,16 +2,6 +4,5 +6 +6,12,14,17 +2,6,10,33 +6,38 +5,6,22 +5,17 +5,6,18 +2,4,6,42 +5,6,14,16,22,24 +5,7,14,15,25,33 +50 +2,7,16,30,34 +6,22,41 +0 +22,29,46 +6 +6,7,14,26,29 +6,14,17 +5,6,48 +0 +5,17 +14 +3,9,14,27 +6,9,17 +2,3,4,5,6,20 +0 +25,28 +5,6,8,10 +6,7,30,31,44 +30,48 +2,3,5,14 +5,6 +4,5,6,28,30 +4,5,6,7,21 +3,6,20 +6 +12,38 +6,16,17,25,26,32 +3,4,6,14,18,33,43 +2,4,6 +5,14,25 +6 +21,23,25 +6,29,35 +5,6,14,25,34,45,46 +3,6,12,13,14,22 +6 +6,17,40 +5,32 +2,6,7,14,29 +3,5,6,20 +4 +5,6,14,15,25,34 +3,33 +6,33 +4,14,22,25,32,42 +2,14,17 +4,12,14,27 +2,4,6 +0 +14,15,19,21,22,34 +6,13 +11 +5,6,22 +6,14,25 +5,6,7,13,14,30 +3,4,5,6 +3,4,5,6,7,17,39 +8,32,46 +4,5,6,7,43 +3 +4,6,26,34 +6 +3,6,25 +22 +3,5,6,13,22 +6,13,14 +4,7,25 +6,8,14,46 +4,6,49 +5 +44 +5,6,10,43 +3,5,6,12 +5,33 +6,25 +5,6,39 +6,20,29 +5,6,9,14,22,39 +4,6,43 +6,20 +48 +6,42 +3,4,6,12,26 +2,5,6,7,14,17,23 +6,13,18,24,38 +5,6,11 +5,6 +4,6,35 +6,18 +12,22,30,44 +5,6,7,28 +5,6,29 +21 +4,6,12,31 +6 +4,6,14,18 +3,5,6,10,25,28 +4,5,6,7 +0 +0 +6,14,17,25,31 +7,13 +6,14 +5,6,14 +6,14 +2,6,7 +2,4,5,28 +0 +5,6,15,46 +5,6 +5,6,7,18,20,25,41 +4,6,17,22,46 +4,6,14,50 +5,6,30,34 +14 +4,6,14,34,42 +4,7,14 +5,6 +5,11 +7,29 +4,7,14,17 +2,4,13,21 +4,6,25 +5,13 +5,6,7,11,14,28 +3,6,14 +5,6 +3,6 +17 +6,17,29,30,33,39 +5,6,9,20,25 +6,27 +4,5,37 +3,4,5,6,10,30 +6 +6,41,42 +5,6,22,42 +6,7,30,31,43 +4,6,7,13,15,17,51 +4,5,6,45 +28 +6,17,45 +2,3,9,17,41 +6,7,17,19 +6,20,35 +5,12 +2,3,5,14,17,22,41 +37 +3,6,13,17,37 +6,19 +6,27 +4,14,23 +5 +6,10,14,21 +28,50 +3,6,10,14 +3,4,5,6,25 +3,17,22,50 +2,6,14,48 +5,6,7,20,22 +5,6,16,38 +6,14 +17,34,42 +8,13 +5,18,23 +6,13,14 +5,18,22,25 +2,4,6 +3,6,7,19,36 +2,3,5,6,13,14,22 +6,7,13 +6,20,43 +6,17,29 +3,6,25 +3,6,20 +3,6,14,24 +4,6,20,49 +17,22 +5,6,14,48 +4,5,6,20,28 +5,6,10,13,14 +22 +6 +5,6,7,48 +6,7 +3,5,6,21,24,32,44 +3 +5,6,7,14 +3,6,20,41 +5,6,40 +6,14,16,23,47 +3,5,6,18 +4,6,14,19 +14,21,26,28 +5 +7 +6,7,43 +6,14,34 +5,6,7,17,28 +4,14,20 +3,6,14,16,44 +3,19 +5,6,7 +4,6,34 +6,14,25 +3,8,19 +5,6,21,23,48 +5,14 +3,6,17,22 +4,5,20 +6,8,31 +6,7,30 +6,12,44 +6,22 +6 +12,17,28,39 +5,6,9,14,30,50 +5,6,14 +2,5,6,29 +5,23 +5,26,29 +6,7,8,30 +6,7,14,21 +5,6,14 +0 +6,17 +6,13,14,42 +4,6,25,33 +7,19 +4,5,42 +5,6,16,17,39 +4,5,6 +5 +2,3,4,5,6,14 +5,6,7,50 +2,6 +2,6,18,21,40 +4,14 +3,4,5,6,22 +6,13 +4,6,33,46 +4,6,10,12,17 +5,6,20,49 +3 +5,6,21 +3,5,6,7,11,14,19,20 +6,14,17,25,51 +5,37 +5 +6,12,23 +5,6 +6,8,43 +4,6 +4,11,40 +5,6,32 +4,6 +2,6,14,41 +5,13,18,21 +22 +6,14 +6,18 +6,13,14 +5 +4,5,6,14,18,22 +3,5,6,22,33 +6,13,14,15,17 +5 +21 +5,6 +6,42 +5,6,13,14,46 +6 +5,6,17,50 +6,14 +5,6,13,14 +5,6,14,28,34 +3,6,8,20 +6 +8,14 +6,10,14,36 +6 +4,36 +6,8,21,28,45 +4,6,17 +6,40 +2,6 +6,7,28,45 +14,51 +4,5,6,14,15,23 +4,6,20,23,36,38 +6,21,25,40,49 +4,7,31 +2,3,5,14,28,34,49 +5,6,17 +2,3,4,6,17,20,22 +6 +6,7,30,42 +5,17 +6,14,22 +6,15 +4,6,11,25 +5,6 +6,14 +14,15 +6,17 +5,6 +4,5,6 +2,5,6,12,33 +6 +6,39 +6,25 +4,20,26 +25,36 +6 +5,6,9,14,20,22 +5,6,14,20,28,51 +4,15,42 +5,6,21 +5,6,25 +5,17 +5,17,48 +6 +6 +5,6,13,16,43,44 +2,6,20,31,39 +0 +6 +5,6 +6 +4,6,14,20,39,45,46 +4,6,14,17,26,41,43 +0 +3,6,21 +6,20 +6,7,22,32,49 +0 +7,25 +5,7,22,23,32,35 +4,5,6 +5,6,11 +13,16,38,42 +35 +5,6,51 +6,47 +5,6,42 +12,20,22 +4,6,20,51 +2,4,6,7 +5,6,14,27 +3,12,14 +6,32,34,41 +14,17,46 +2,17,23,41 +5,6,10 +6,12,14,20 +6,7,9 +5,6,14,15,20 +6,14,30 +0 +6,16 +29,40 +14,20 +6,7,10,36,39,49 +6 +6 +6 +4,6,17 +4,6,14,27,30 +6 +6,7,14,21 +5,14 +5,12 +6,7,12,20 +5,31 +6,14 +5,6,11,14,17 +17,50 +6,14 +2,5,6,7,18,19 +17,22 +6,8,26 +5 +22 +4,5,6,13,25 +5,6,25 +3,28 +22 +28,50 +6,18,22,27 +0 +6,12,25 +6,20 +12,25 +6,10,20 +4,6,7,12 +6,15 +6 +4,6,20 +4,5,13,20,46 +6 +10 +6 +3,6,13,14,48 +3,6,7,13,51 +2 +6 +11,14,16,19 +5,12,17,18,33 +6,8,25 +2,5,18,23,30,44 +3,4,5,6 +5,6,8 +4,6 +6,25 +5,6,10 +4,5,6,14,21,23,25 +6,10,11,25,31 +2,4,9,23 +14 +6,17,47 +4,6,14,49 +3,5,6,37 +6,29 +3,6,30 +3,15,29 +5,6,10,14,42 +14,33,39 +2,5,17,25 +3,6,14,17,20,25,37,38 +2,6,13 +3,6,14,34 +6,11,16,22 +6,14,16,22,24 +3,4,6,16,21,28 +5,6,17,20 +5,6,15,20,34 +3,6,23,26 +3,6,19,30 +2,5,14,19,22 +3,5,34,50 +5,44 +5,6,7 +5,6,36 +3,5,6 +4,20,21 +6,11,22,35 +46,49 +4,14,29 +7 +5,14,15,17 +14,17,19,49 +3,6,24 +2,5,14,44 +6,37 +4,6,8 +3,14,30 +6,15,22 +6,39 +3,5,6,12,20,28,32 +4,5,6,8,17,25,50 +3,5,6,14,26,46 +4,6,33,46 +3,6,9 +5,6,14,17 +5,6,18,39 +4,6,14 +6 +6,20 +4 +2,3,6,17,20 +4,6,24,25,41 +13,22,50 +3,5,6 +6,25 +4,14,41 +2,7,25,40 +20,26 +4,6,11,26 +6,7,14,15 +3,6 +18,25 +4,13 +5,6,17 +3,4,6,9,49,51 +4,5 +6,13,14,17,25 +4,6,16,23 +6,14,28 +2,6,14,38 +5,6,14,17 +5,6,7,14,17 +5,6,28 +6 +5,6,7 +6 +15,22,36,43 +6,13,43 +5,6,33 +13,22,45 +6,7,14,40,41 +3,4,28 +3,4 +5,6,7,14,15,26 +20,48 +5,6,14 +5,14 +4,5,6,10,28 +6,18,21,27,37 +4,6,28 +6,14,29 +6,17 +4,6,46 +6,7,14,20,22,26,48 +6,26,29 +7,10,23,25,28,48 +21 +4,6,13 +6,32,41 +5,6 +4,6,21 +8,13,15,16,23 +6 +3,41,43 +6,12,14,31,33 +5,6,7,14,22,23,25 +6,18,19,49 +3,5,6,17,21,22 +6 +4,6 +7,12,44 +5,6,22 +4,5,6 +4,6,16,50 +3,5,6 +6 +2,13,14,19 +5,25,29,35,36 +5,6,7,22 +6,14,42 +5 +6,28 +5,7,21,32 +22,38 +4,6 +5,6,7,14,16 +5 +5,16,22 +2,4,6 +4,7,43 +12,16,34,38 +2,5,7,14,50 +6,12,14 +6,25 +15,18,20 +3,6,15,20,44,51 +4,6 +6,28 +5,12,14,43 +4,6,42 +3,16 +5,19,26 +17,22 +7,20,40 +6 +3,5,6,14,23 +3,6 +6 +6,34,37 +3,4,6 +0 +3,5,6,22,44 +5,12,14 +4,6,12,22 +7,9,28 +5,6,20,49,50 +5,6,14 +6 +12,36 +2,13,21,42 +5,6,18 +6,7 +6,13,14,30,37 +5,6,13,17,37 +3,5,6,30,50 +5,13,25 +2,5 +5,6,25 +3,17,40 +6,21 +14 +6,7 +5,6,12,44 +5,6,19,39 +3,5,6 +5,20,41 +14,22,47 +2,4,40,45 +3,6 +3,6,18 +5,6,51 +5,6,8,14,21,25 +5,25,31 +4,6,14,17,27,40 +2,5,6 +4 +5,6,10,25,33 +6,7 +3,6,14 +3,14 +4,6,13 +21 +3,9,37 +6,17,37,42,51 +3,5,6,21,34 +5,6,28,47 +5,6,14 +6,28,34 +6 +3,4,14,29,42 +6,7 +5,21 +4,6,11,21 +5,6,12,14,25,37 +6,7,21 +8,12,23,25 +4,5,6,20,21,22 +6,22 +5,6,23 +3,6,21 +6,7,25,29 +3,6,41 +4,6,23,43 +3,6,16 +3,6,9,17,39 +6,21 +3,6,14,25,26,36,48 +6,12,14,16 +4,5,6,14,31,42 +6,13,46 +5,7,14,27 +6,14,21,27 +3,6,7,14,22,49 +3,4,6,43 +5,14,41,49 +16 +15 +6,14 +3,5,6,14,40 +5,30 +6,12,14 +5 +6,7 +6,14,20 +5,6,19,45 +2,4,5 +9,17 +6,16 +4,22 +6,34 +6,12 +5,6,7,17,40 +5,42,50 +6,20,39 +5,6 +2,4,6,10,14,36,46 +6,14,44 +6 +6,7,18,25 +5,6,15,17,22,46 +6,17 +4,5,6,13,22,30 +6,26,38,47 +4,5,6 +4,6 +2,3,5,6,28 +6,18,20,36 +5 +3,35 +6,10 +6,14,22 +6,46 +6,13,25 +12 +5,14 +4,5,6,40,45 +6,22,26 +6,31 +6 +4,6,14 +6,14,17,28 +6,14,15,25,29 +6 +6,14,17 +3,6,25 +3,6 +0 +5,6,15,17,45 +5,6 +10,21,38 +3,5,21,27,29 +3,6 +3,5,25,35,44 +14 +3,5 +6,12,14,16,17 +6,7,14,17,20,40 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +5,13 +7 +5,7,26 +2,4,5,17,25 +5,28 +20,46 +5,14,21 +5,6,9,51 +5,6,16 +5,6,14 +5,6,17,18,47 +4,6,24,25 +4,5,6,7,14,17 +3,6 +5,6,18,37,50 +6 +3,5,6,13,20 +6,9,17,21 +3,6,7,13 +6,16,18 +4,6 +4,6,18,38,42 +2,5,29 +5,14 +6 +4,7,12 +4,5,6,11,14 +19,31 +6,41 +5,14,33 +2,5,6,11 +3,6 +6,46 +4,6,14,21 +4,6,10,22,24 +6 +5,6,16 +42 +6,20,43 +7,14,16,22 +3,5,6,12,14,20 +6,28 +3,16,17,24 +6,14,17,20,42,50 +5,6,13 +4,6,25,37 +6,12,13,22 +6,12,14,22 +3,14 +6,36 +5,6,16 +3,5,6,13,20,38 +3,23 +0 +5,6,13,14 +3,6,35 +6,7,22 +4,6,25 +14,18 +6,7 +19 +3,22 +3,6,18,20,28,33 +6,14 +6,38 +3,33 +6,17,20 +3,5,14,42 +5,6 +5,28 +5,6,41 +6,7,17,21 +4,5,6,46 +5,6,14,15,25,30 +2,6,20,30 +6,14,17,19 +5,6,14,22,38 +3,6,22 +3,5,6,42 +3,5,6,25 +4,6,18,29,46 +4,34,36 +3,25 +5,6,10,34 +5,6,13,28 +5,6,9,26 +5,6,10,13,39 +21 +3,6,7 +6 +2,5,6,21,22 +12,33 +3,4,5,6,28,34,42 +5,6,14 +14,21,25 +3,7,8,13 +5,6,13,48 +6,50 +4,5,6 +3,5,6,7,17,25 +6,8,14,17 +3,4,20,25 +6,10,14 +6 +6,46 +4,6,29,32,34 +6,8,37 +3,6,14,23 +14,22,43 +6,19,21,25 +3,6,28 +6,45 +5,14,17 +3,6 +5,11,23,43 +4,6,11,20 +3,5,17,20 +26 +6,14 +5,6 +5,6,17,41 +5,6,14,17,49 +6,12 +5,14,27,32 +6,42 +5,6,14,19,26 +14 +3,5,6,14,17 +6,14,42 +2,25 +6,22 +6 +6,7,25 +6,9,39 +3,5,22,41 +6,22 +5,30,48 +7,30 +2,6,12,17 +2,6,48 +25 +5,6,14,27 +5,6,14,17,18,22 +7,13,22,35 +2,6,17,46 +49 +5,46 +5,6,18 +3,4,6,13,14,43 +5,6,18 +22 +6,11,14 +5,51 +5,6,49 +4,43 +14,16,26 +6,14,16 +6,7,14,20,25 +21,25 +3,5,14 +0 +3,4,6,10,28 +4,14,51 +6,16,48 +6,20 +2,5,6 +4,5,6,40 +16 +6,7,9,16 +3,39 +5 +6,21 +6,40 +5,6,10,46 +2,3,5,6,13 +3,17 +5,20 +3,5,6 +6,17 +4,42 +5,15 +6,8,50 +6,14 +4,5,6 +6,7 +3,5,6 +6,25,29,30 +6,27,37 +6,7,10,14,20,28 +5,12,43 +6,7,14,17 +3,5,6,14 +2,26 +3,5,6,17,29,50 +4,6,18,22,34 +6,12,14,19,34 +4,6,10,23 +6,19,22,25,49 +6,36 +5,12,14 +3,5,14,25 +4,5,17,22 +4,5,6,14,22 +6,8,12,21,45 +22 +6 +2,6,17,48 +6,7,11 +18 +5,6,33 +4,5,6,7,15,46,48 +5,20 +5,6,12,29 +4,5 +4,6,14,48 +6,7,17 +4,5,7,20,49 +6,7,11,39 +6,14 +3,4,5,6,7,15 +5,6,7 +5,6,14,35,40 +5,6,13 +0 +5,6,14,18,32 +5,6,46 +3,6,7,14,16 +5,6,13 +5,6,14 +3,5,6,17 +6,7,25,43,46,49 +5 +10,12 +5,6 +6,37,46,48 +3,7,50 +4,5,6 +5,6,7 +5,6,18 +4,6,20 +6 +5,6,14 +4,14,25 +6,7,14,20 +6,35 +5,13,20 +4,17 +6,7,25,36 +3,4,5,6,33 +5,17,21,43 +6,14,21 +14,21,41 +3,6,15,29,33 +40,47 +5,6 +4,6,7,18,26,33 +3,4 +6,38 +6,15 +3 +4,6,7,35 +14,17 +4,6,20 +6,14,21 +2,6,17,24,50 +4,5,8,16 +6,18,21 +6,14,21 +6,13,14,19,24,47 +6,11,20,43,49 +5,6,10,16 +5,13,15,49 +2,3,7,15,28,30,47 +4,25 +8,21 +2,6,14,22 +6 +4,5,6 +5,37,45,46 +0 +4,5,6,8,15,45 +5,6,13,46 +22,39,44 +5 +3,6,14,20 +5 +6,14,15,25,29 +5 +6,7,22 +6 +5,6,10,17,31 +6 +0 +5,7,17 +6,32,42,46,49 +0 +5,6 +2,5,6 +17 +2,5,6,16,17,44 +6,14,16,21,47 +5,6,46 +6,14 +4,6 +3,6,14,20,22 +2,6,17,21 +6 +4,6,14,42 +3,6,18 +4,5,6 +6,22,27,28 +6,32 +6,14,24,38 +2,5,19,39 +17 +6,14,19,31 +5,43 +14,20,40 +6,23,28 +6,21,36,46 +4,6,28,37 +2,3,5,6,12,20 +4,6,40,46 +0 +6,9,11,17,28 +2,6,15,25 +3,4,7,17,18,25 +2,5,6,27,51 +5,6,11,15,33 +2,7,8 +5,6,17,23 +6,13,32 +4,29 +6,20 +5,6,12,28 +2,5,6,14,22 +4,5,6 +3,6,14,18,43,51 +5,6,20,39 +3,4,6,7,25 +3,5,6 +3,5,6,19,30 +5,6,7,11 +6 +6,7,14 +14,22,28 +24,49 +14 +6 +5,6,15 +6,7,25 +6,14,22,44 +5,14,30 +6,12 +5,6,14,17,22 +5,6,20,36 +0 +6,13,27 +5,6,10,12,13,17 +5,6,14,50 +13,14 +4,6,17 +5,6 +7,19,20,25,28 +2,4,18,27 +12,14,36,49 +6,14 +6,14,21,32 +5,6 +4,5,16,32,40 +5,6,21,40 +16 +5,6,10 +49,50 +5,6 +5,9,14,46 +3,6,7 +6,16,19,26 +4,5,14 +4,6 +5,14 +14,17 +3,6,13,20 +5,6,26 +4,5,6 +5,6,14 +4,6,17,43 +6,12,28 +3,14,48 +5,6,14,17,47 +3,5,6,25,49 +6,19,41 +6,7 +4,6,14 +5,17,27,28 +6,7 +5,7,22,35 +3,6,10 +4 +14 +6,13,18 +41 +6 +5,6,14,22,25,28 +6,7,26,34 +5,14 +6,34 +5,6 +2,6,14,26,38 +6,7,13 +6,17,28 +13,17 +0 +5,25,28,40 +4,6,10,44 +5,6 +4,6,7,8,41 +4,11,49 +6,7,13,22,30 +6,8 +4,5,6 +6 +5,6,14,50 +5,22,29 +4,5,33,37 +6,44 +6,22,28,30 +7,16,27 +4,5,14,17 +2,5,6,16 +5,6,7,14 +4,6,17 +5,6 +2,25 +5,20,25 +6,14,19 +3,6 +5,6,7,13 +5,49 +3,6,21,36 +4,5,6,20,28 +6,9,27 +19,45 +3,6,17 +6 +5,6,22,33,45 +6,19 +3,6,15 +2,3,6 +5,12,14,17,20 +5,6,7,22,42 +5,6,7,28,48 +6,29 +2,6,7,38 +5,6,18,26,46 +6 +6 +6,17,34 +6,7,17 +22,25,32,36 +3,6 +36 +5,6,41,47 +6,14,22,23,27,30 +5,6,14,21,22 +20,23 +0 +6,14,15 +5 +5,6,16,20 +5,14,17,40,42 +6,14,23,27,37 +5,6 +2,5,6 +2,5,6,12 +6,16 +6,17,22,29 +6,14,22,29,37 +6,25 +5,6,47 +4,5,6 +6,19,23,49 +6,8,14,17,20 +4,5,6,25 +3,6,14,42,46 +3,5,6,29,50 +5 +6,14,25 +5,6,18,23,28,38 +6,14,49 +4,6 +5,7,19,22 +3,17,28 +6,21 +2,6,17,27 +3,7,21,25,46 +6,7 +6,49 +6 +6,22 +4,6,14,35 +5,6,14,20,21,46 +6,7 +6 +6,24 +4,5,6 +6,14,15,30 +6,10,22 +2,4,6 +5,6,7,14,15 +6,19,22 +14 +6 +5,6 +5,32,45 +6,14,43 +6,46 +4,5,6,11,17 +6,14,16,21,35 +7,8,13,19 +6,20 +6,20 +6,23 +6,13 +0 +4,6,14 +3,5,12,20 +6,26 +6,28 +2,6 +5 +6 +6,7,44 +6,49 +11,12,20 +6,15,25,39 +4,5 +5,6,25 +6,10 +3,6,8,21 +4,5,6,7 +4,5 +6,16,22,41 +3,6,7,38 +4,5,6,28 +6,20 +51 +4,5,6,7 +24 +5,6,20,25,37 +3,4,6,27,45 +28 +5,12 +6,29 +4,6,9 +6,12,22 +6,7 +5,6,15 +6,13,29 +32 +3,5,6,20 +2,4,5,6,34,42 +6,23 +5,6,15 +5,6,14 +3,11 +4,6,28 +14,21,32 +5,6,30,48 +6,14 +6,12,14 +6 +5,6,14,35,40 +2 +3,6,20 +6,12,14,20,24 +4,6 +6,14,15 +6,7,9,14,36,42 +3,6,7,14 +14,30 +6,42 +5 +6,11,14,17,20,23,35 +3 +7,20 +6,18,27 +5,6 +15,32 +2,3,4,6,15 +3,5,6,14,22,33 +4,6,14,17,20,22,29,40 +5,6,14,45 +6,40 +6,12,27,34 +5,6,14,16 +4,7,22,27 +6,30 +6 +9,14,21,23,29,33 +6,12,17,25 +6 +13 +13,14,25,38 +6,11,22,23,42 +6,25 +5,6,14,16 +6 +0 +6,11,25 +6,7,48 +3,33,43 +6,20 +5,6,7 +6,7 +3,5,6,14 +4,6,28 +3,11 +17,25,35 +6,38 +3,6,17,22 +3,6,14,22 +2,6,19 +3,4,6,14,17,22,41 +3,5,6,8 +6,15 +5,6,23 +20 +3,6,8,15,25 +5,14,44 +23,30 +4,5,6,25,27 +5,6,14,38 +3 +3,6,7,14 +3,7,14 +2,6,7,14 +6,13,41 +5,6,7,9,44 +4,14,20 +6 +0 +4,6,20,22 +5,6,14,17 +14 +5,6,23,24,46 +5,22 +6,14,17,28 +2,6 +5,6,28,34 +6,10,12 +17,22 +6,14,15,22 +5,22,27 +3,5,6,7,21,22 +5,6,10,22 +5,6,48 +5 +6,23,38,42 +7,14 +5,6 +3,5,30 +5,6 +5,6,14,49 +2,5,6,14 +5,6,14,47 +6,17 +16,49 +2,6,14 +4,6,7,14,15,16 +5,6 +4,5,6,14,17,25 +6,13,14,17 +5,6,14,16,28 +5,6 +3,6,46,49 +4,5 +14,22 +4,6,14 +3,6,17 +6,28 +6,14,17 +5,12 +3,5,6,14 +13 +14,22,41 +5,13 +5,6,27 +6,12,17,46 +12,14,19,27,29 +5,8,41 +3,6,35,41 +3,13,14,17 +2,5,6,12,14,25,37,38 +6,17 +4,6 +5,6,18,28 +2,5 +6 +25 +3,42 +5,7,14,21 +4,6,17 +6,14,18,34 +3,5,6,16,18,46 +3,6,23,25 +4,5,6,12,17,26,37 +2,4,5,6 +4,6 +7,14 +6,14 +2,14,28,45 +6 +7,12,15,19 +2 +6,33 +5,6,14 +3,6,30,48 +6 +4,6,17,23 +5,6,9,10 +5,6,8,14 +6 +3,21 +3,6,17,25 +5,6 +6,12,24,25,26,30 +3,4,19,20,25,33 +5,8,17 +14,15,43 +6,14,17,25 +5,6,14 +3,6,23,28,33 +6,11,38 +6,14,16 +4,6,42 +6,24,35 +14,20,28 +14,17 +15 +4,6,7 +4,5,13,25,50 +5,12,14 +8,17 +4,5,6,13,14 +4,5,6,49 +10,21,30 +6,14 +6 +0 +7,13,32 +6 +4,6,17 +6,14,24 +5,6,7,13,14,51 +3,6,29,42 +5,17,22 +5,6,7,43 +6 +6 +6,12,13,14,51 +3,4,5,6,17 +6,14,48 +3,6,14,42 +5,18 +4,5,7,21,22,33 +6 +6,17,28 +0 +6,21,44 +6 +4,5,8,14,16,24 +6,14 +6,17,35 +14,28 +2,6 +4,6,13,25,30,39,46 +5,17 +6,11 +2,6,11,14 +6,28 +13 +6,14 +4,5,6,20,25,33,47 +4,6,11,32 +5,33,45 +14,17,18,49 +5,6,12,14,19,49 +0 +3,12 +6 +3,6,14 +6,7,10,22 +4,6 +6,7,14,25 +3,6,40,50 +4,6 +4,14,20 +5,6 +6,14 +4,5,6,14,51 +6,46 +4,6 +6,10,28 +6,19,25,44 +4,5 +3,6,18,21,49 +2,5,6 +14,27,47 +4,5,6,14,20,27,42 +6,21 +5,6,14 +5,20 +5,6,10 +6,10 +6,28 +5,6,15,32,40 +6,7,14,24 +3,6,9 +3,6,16,23 +7,14,17,49 +6,15,17 +4,7 +6,7,9,34 +4,6,12,14,35,42 +4,6,12,17,27 +3,5,6,7,14,20 +6,7,11,12,15 +3,4,5,14,26,28 +3,5,6,15 +6,10,22 +4,5,6,38,44 +0 +4,13,30 +5,6,14 +4,6,11,14,22,26 +5,6,14 +6,30 +5,20,26 +5,23,51 +5,6,10,14,22,25,29 +6,12,16,28 +4,5,7,28 +48 +6 +2,7,14,41 +4,14 +5,6,7,12,15,29 +5,6,8,14,15,18,25,40,50 +3,14,18,21,23 +4,5,6,7,25 +4,5,6,19,25,30,40 +5,6,29 +7,13,21,25 +4,6,14 +42 +5,6 +33 +3,5,6,11,15,16,22 +6,45 +6,14 +16 +0 +2,6,14,27 +6,18 +4,7,28,51 +6 +6,7,8,21,42 +14 +5,6,18,20 +3,6,22,23 +6,13,22,46 +6,20,35 +6,21,23 +2,5,6,7,20,25 +5,22 +2,6,25,40 +45,47 +5,6,17,19,20 +30 +4,5,6,14,17,32 +6,11,38 +6,7 +2,4,5,17 +5,6,14 +5,6,13 +2,3,5,6,21 +6,14,25 +3,5,6,20 +5,6,11,14 +6,14 +6,39 +6,18,49 +12 +5,6,8,13 +4,6,10,14,20,25,30 +6,13,15,23 +7,14,43 +4,6,22 +3,7,25,26 +6 +6,14,51 +42 +6 +6,17,28,33 +4,5,6,7,12,15,21,24,29 +20 +8,23,25 +5,6,7,42 +6,34 +3,6,11,13 +5,6 +5,6,14,25,28,49 +3,6,25 +5,14,17,21 +5,32 +4,6,19,28 +5,14,22 +3,28,47 +6,13,17 +5,20,35 +6,7,15,33 +9,46 +3,5,8,21 +5,6 +6,12,14 +5,6,21,43 +5,6 +6,7 +5,6,8,21 +6 +5,6,7,17 +3,5,6,11,22 +6,14,21 +6,26 +5,6,44 +5,42 +2,13,21 +4,5,6,7,49 +4,6,24 +6,12 +4,5,6,37 +6,14 +3,6,15 +14,18,23 +2,8,19 +5,6,19 +5,28 +6,42 +3,4,6,14,26 +4,6,7,28,35 +4,6,8,14,17,19,25,32 +6,32 +3,5,6,7,14,17,33 +5,6,7,9,17,46 +4,6,12,14 +6,49 +5,6,22 +5,6,7,14,34 +14 +5,6,14 +6,28 +5 +6 +6,14,19 +4,6,14,22,34,38 +2,3,33 +4,6,23,37,39,50 +8,14,45 +5,6 +3,5,6,46 +0 +5 +6,8 +4,5,7,20,33 +6,16,18,22,40 +3,7 +6,49 +5,6,14,21,28 +3,4,5,21 +3,5,6 +0 +5,6,10,13,14 +3,6,7,17,25,29 +6,34 +6 +39 +4,5,6 +3,6,49 +4,6,25 +6,42 +4,5,6 +4,5,6,7,14 +4,5,29 +4,6,14 +6,17,19 +14 +10 +7,16,23 +5,6,17,21 +2,6,14 +5,6 +4,5,6,19,32,42 +5,17 +5,6 +5,25 +5,6 +6,13 +6,14,17 +5,6,12,26,44 +5,6,13,22 +6,23,49 +7,13,25,50,51 +4,6,22,34,49 +6,28,47 +5,22 +5,6 +4,6,12,14,25,38 +6,13,17 +5,6,14,26,38 +2,6,10 +4,5 +3,6,7,13 +6,7,14,20,25,43 +5,6,22 +5,6 +6,19 +6 +5,6,14,17 +6,15,29 +6,16,22 +6,15 +7,13,34 +5,6,14,15,20 +6,14,35 +5,6,14,24 +6,7 +3,5,6,13 +4,5,6,27 +3,6,23 +3 +6,16 +4,6 +5,7,14,28,33 +5,6 +2 +6 +5,6,17,22 +4,6,7,12,20 +6,16,17 +6 +4,6,25 +6,7,11,13 +5,49 +6,33 +6,38 +2 +2,4,6,14,25,28 +4,5,20,32 +6,32 +3,6,7,33 +6,10,39 +2,4,6,12 +3,5 +2,6,14 +6,14,15,20 +5,19 +6,16,27 +6,17,20 +0 +5,6,14 +6,14 +5,6,17 +5,6,10,43 +7,42 +4,6,20 +5,7,17,28 +35,49 +2,5,35 +5,6,19 +5,12,21 +0 +5,6 +5,6,20,29 +4,5,6,14 +5,20,43,44 +4,6,8,12,14,20,33,49 +5,6 +5,6,24,25 +3,4,5,6,23,25,42 +3,4,5,28 +6 +6,14 +6,14 +4,7,12 +6,19,20,23,34 +2,4,22 +5,6,13,16 +14 +5,10,14 +29 +7,14 +5,6,14,17 +6,25,49 +6,12,13,23,28 +4,6,15 +6 +12,14,40 +6 +6,26,46 +5,6,14,22,38 +6,14,17,44 +4,6,17,25 +5,6,14,19 +4,16,17,20,40 +7,17 +4,6,44 +5,6,34 +4,6,8,12,20 +6 +4,5,6,14,16,19 +2,4,6,19,32 +2,5,7,46 +39 +6,14,15 +5 +3,6,15,27 +14 +2,6,23 +6,21 +5,45 +6,8 +4 +5,6 +4,5,6,21 +2,6,14,15 +2,4,6,14,17,22 +6,14 +6,20,25 +5,6,14 +17 +6,40 +6,10 +6,7 +2,6,17 +6,22 +3,5,6,40 +0 +4,6,24,45 +6 +5,6,7 +5,6,7,15,21 +49 +2,5,6,10,43 +43 +3,6,47 +4,6,20,21 +3,6 +2,6,17,20,25,29,47 +2,3 +2,6,17 +6,23,34,40 +6,11,13 +5,6,14,17 +2,6,35 +5,14,19,22 +7,26 +6,7,16 +4,14,25 +7,17 +5,6 +6,21,27,50 +6,13,14,20 +5,6,8,39 +3,5,6 +4,5,6,14,25 +3,4,5,6,12 +6,12 +6,7 +6 +3,6,13 +5,6 +6,11,14 +5,6 +6,14,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +3,6,25 +3,6,7,27 +5,6,15 +4,5,6,7,8,12,17 +4,7 +4,6,12,17 +4,13 +6,14 +3,5,6,14,45 +13,14,16,32,45,49 +4,6,14,25 +6,16,43 +6,12,19,25 +4,6 +2,5,6,19 +5,6,12,25 +6 +3,6 +5,6,15 +20 +6,7,27 +2,5 +6 +5,6,13 +6,22,43 +6,7,13 +4,6,12,40 +6 +5,6,14 +2,6,17 +5 +6,17 +5 +3,7 +6 +6,8,13,14,20,22 +6,10,14 +6,22,47 +3,4,6 +5 +3,6,20 +6,22 +2,4,5,6,13,17 +5,6,13 +6,7 +3,5,6,14,28,34 +6,7 +4,5,6,7,8,20 +6,19,46 +6,23 +5,6,8,14,22 +6 +6,43 +6,25,40 +4 +3,5,6,20 +14,15,42 +6,13 +3,14,22,38,42,45 +5,6,22,33 +6 +6,25 +5 +6,14 +5,6,28,44 +5 +0 +6,28 +6 +6,20 +5,6,39 +6 +6,14,19 +5,6,11 +6 +6,15 +4,10,13,20,32 +8,14 +8 +11,13,17,22,43 +6,33 +3,5,6 +5,6,14,28 +6,35 +6,14 +10,27 +4,5,23 +6,7,20,23 +6 +5,6 +6 +6,8,17 +5,6 +39 +8,13 +14 +12 +5 +6,14,25 +5,13 +6,35 +3,4,6,47 +6,35 +4,14,20,28 +6,20,42 +5,6,14,17,45 +5 +4,6,26,33 +5,6,47 +6,20,35,50 +5,6,8,17 +4,6,12 +0 +5,6,17 +6 +6,14,44 +3,12,14,20 +6,22 +6,19 +5,6,43 +3,5,10,16 +6 +4,5,6,7,20 +6,14,27 +4,5 +3,6,20 +6,12,19 +3,4 +0 +3,5,14,26,42 +4,6,22 +4,5,6 +14 +6,7 +6,7 +6,13,17 +5 +0 +6 +6,14 +3,5,6,22,26,50 +3,6,26 +5 +5,6 +6 +3,4,6 +6,17,28,50 +6 +4,6,11,13 +4,6 +6 +5 +6,14 +6,14,24 +3,5,6 +5 +5,6,14 +5,20 +6,20 +12 +4,6,12,14 +4,6,20 +35,42 +6 +6,14,16,39 +6,7,13,17,45 +4,5,6,7,14,28,45,47 +50 +6 +5,6,12 +6,12,15 +6 +0 +5,6,7,12,15 +3,4,5,14,23,28 +6,12 +4,15 +4,34 +6 +6,19,20 +6,10,14 +6,17,39 +0 +3,5 +6,24 +3,6,14 +33 +4,6,33 +4,7,19 +3,4,6,14 +6,24 +5,6,7,12,14 +6,14 +6,20 +4,5,7 +13,17 +6 +3,5,6,14,15,20 +5,6,12 +6 +5,6 +6 +4,6,12 +5,44 +6 +5 +3,6,44 +4 +4,6 +3,6,7,14 +5,6,14 +5 +5,6 +3,5,6,15 +5,6,11 +6,13 +6,50 +6,7,17,39 +6 +5 +5,14,26 +6 +5 +7,14 +6,7,39 +6 +4,6,17 +6,7,17,23,28,47 +5,6,14,17 +6,14,17 +5,15 +3,4,6,14 +0 +6,14,17 +4,5,6,20,26,35 +5,6 +14,23,42 +3,6 +8,42 +3,6 +6,14 +3,4,6,10 +5,6 +5,6,14 +5,26,28,50 +4,6,33 +5,6 +6,14 +6 +4,6,14 +6,8,10,14 +4,6 +5,6,26,42,43 +14,24 +6,45 +6,14,15 +6,19,38 +5,6,26 +0 +4,20 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +5,35 +4 +5,23 +5,14 +5 +19,20,28 +4,8,23,28,42 +14 +0 +5,33 +4,14,23 +19,33,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +5,14 +4,5,11 +4,19 +4,23 +14 +5,13,42 +5,13 +0 +14,28 +4 +0 +10,11,14 +33 +5,14,44,50 +8,14,15,28 +4,11,42 diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels_map.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels_map.txt new file mode 100644 index 0000000..427d02b --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels_map.txt @@ -0,0 +1,51 @@ +46 50 +29 49 +49 51 +42 47 +24 46 +48 45 +31 44 +20 42 +43 40 +50 39 +38 36 +37 35 +33 33 +28 43 +41 32 +44 37 +12 13 +13 12 +15 28 +19 16 +32 41 +26 11 +34 48 +14 21 +4 4 +18 10 +39 34 +11 2 +36 38 +1 6 +9 20 +22 23 +5 3 +40 9 +0 0 +17 19 +23 8 +21 18 +8 22 +16 15 +47 24 +27 30 +35 27 +7 17 +10 25 +45 31 +6 7 +3 14 +30 26 +2 5 +25 29 diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels_to_medoids.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels_to_medoids.txt new file mode 100644 index 0000000..773c9d6 --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_labels_to_medoids.txt @@ -0,0 +1,50 @@ +3, 3198 +38, 7458 +33, 9977 +15, 3323 +47, 8800 +25, 6201 +46, 8795 +36, 7108 +6, 5730 +31, 7431 +24, 4042 +19, 764 +23, 8013 +34, 6421 +22, 558 +14, 9136 +39, 4682 +21, 2968 +20, 9974 +41, 491 +29, 363 +16, 2034 +45, 1710 +26, 6119 +2, 5199 +32, 3470 +50, 3 +11, 5189 +40, 9141 +12, 127 +17, 5525 +30, 9332 +48, 2440 +9, 1125 +35, 2793 +49, 2684 +13, 8147 +42, 5100 +5, 6358 +43, 4667 +51, 8013 +7, 8339 +8, 3272 +37, 3605 +28, 7331 +4, 5464 +18, 4645 +10, 101 +27, 1657 +44, 6292 diff --git a/siftsmall/siftsmall_R20_L40_SR32_stitched_index_universal_label.txt b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_universal_label.txt new file mode 100644 index 0000000..573541a --- /dev/null +++ b/siftsmall/siftsmall_R20_L40_SR32_stitched_index_universal_label.txt @@ -0,0 +1 @@ +0 diff --git a/siftsmall/siftsmall_R32_L50_filtered_index b/siftsmall/siftsmall_R32_L50_filtered_index new file mode 100644 index 0000000..d7bafe3 Binary files /dev/null and b/siftsmall/siftsmall_R32_L50_filtered_index differ diff --git a/siftsmall/siftsmall_R32_L50_filtered_index.data b/siftsmall/siftsmall_R32_L50_filtered_index.data new file mode 100644 index 0000000..07e31f5 Binary files /dev/null and b/siftsmall/siftsmall_R32_L50_filtered_index.data differ diff --git a/siftsmall/siftsmall_R32_L50_filtered_index_label_formatted.txt b/siftsmall/siftsmall_R32_L50_filtered_index_label_formatted.txt new file mode 100644 index 0000000..0d9f6fb --- /dev/null +++ b/siftsmall/siftsmall_R32_L50_filtered_index_label_formatted.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +7,6,8 +0 +6 +9,4,6,10,11 +6 +6 +12,4 +6,8 +13,3,14,5,15,16 +17,5,6,18 +5,6,19 +20,17,14,6,21 +12,2 +13 +22,6 +10 +17,6,10 +5,6,23,11 +6 +24,25,6 +6 +24,26,7,4 +27,3,14,21 +3,14,6,23 +14,6,28,15 +14,5,6,29,30 +31,2,7 +32,25,6 +33,5,6,19,8 +6,11 +17,4,14,15,10 +34,13,6 +35,13,17,6,15 +36,3,4,14,8 +3,5,6,21 +7,4,6 +33,2,5 +37,14,6,16 +38,5 +14,6,10 +7,3,14,5 +28 +39,6 +2,3 +7,5,6,29 +6,8 +35,26 +5 +6,21 +40,13,7,14,5,6 +14,6 +41,5,6 +34,13,3,6 +22,5,6 +3,4,5,6,29 +3,5,6 +6,28 +25,3,4,6 +6,21 +37,14,6 +34,4,6 +22,5,6,15 +4,6,28 +17,5,6,42,29 +6,43 +26,6,11 +25,7,3,6 +44,5,6 +38,7 +45,13,6 +40,2,5,6,21 +6 +40,41,4,14,6 +10 +7,5,6,23 +31,20,14,6 +44,12,6 +45,17,7,5,6 +12,6,18 +6,11 +20,7,46 +3 +2,17,6 +31,47,46 +26,2,5 +0 +4,14,5,6,42 +37,27,48,41,4,5,6,11 +2,3,4,6 +14,5 +17,5,6,28 +2,5,6 +20,4,5,6 +12,20,49 +7,6 +14,6,19 +22,3,6 +37,30 +6,16,42 +2,4,6,10 +17,6 +14 +4,5,10 +6,10 +17,3,6,16 +50,4,5,6 +4 +50 +35,14,21 +14,6 +2,4,16 +22,5,15 +17,6 +6,8,43 +6,29 +24,25,17,14,6,11 +12,14,6,15,18 +22,14,10 +25,7,14,6 +49 +6 +32,25,3,5,6 +4,21,18 +4,6 +6 +0 +31,32,36,6 +26,6 +22,5,6,19,30 +20,3,5,43 +34,6 +5,19 +22,5,6 +3 +25,4,6 +25,7,5,6 +12,6 +13,17,5,6,19,10,42,18 +3,8 +37,17,7,28,46 +6,21 +6,46 +5,6,46 +5,6 +47,2,20,7,6,28,19 +41,6 +3,5,6 +12,5 +44,6 +3,29 +2,4,6,15 +35,14,5,6,16 +48,6 +5,6,15 +4,14,6 +25,22,14,6 +33,14 +39,31,32,3,6 +25,6 +13,5 +5,6 +6,21,15 +0 +39,14,6,15 +36,13,3,6,21,11 +33,3 +48,25,5,6,29 +20,17,4,6 +3,4,5,6 +5,6 +2,17,3,5,6,16 +6 +13,4,5 +36,38,5,6 +2,6 +9,14,5,6 +3,14,6,11 +6 +24,5,6 +38,48,12,5,6 +24,4,6 +6,23,8 +22,3,5,6 +41,26,17,5,6 +41,13,14,16 +6 +6,49 +34,3,4,6,21 +2,17,6,18 +5,6,28 +26,6 +17,4,6,16 +7,4,5,28,8 +38,6,16,8 +31,25,3,5,6 +25,22,7,3,4,14,5,6 +37,14,6 +14,5,6 +13,20,7,6 +25,4,5,6 +7 +25,5,6 +5,46 +44,5,6 +12,4,5,6,21,19 +20,6 +4,6 +26,20,17,14,5,6 +4,6 +22,3,14 +4,6 +6 +17,14,5,6 +38,22,6 +39,14,6 +47,12,6,15 +12,22,5,6,42 +20,5,6 +4,6,15,8 +22,3,4,6,28 +9,6,28 +25,14,6 +22,6,11 +7,6,30 +7,5 +6 +34,7 +7,14,5,6 +37,3,6 +7,14,46 +5 +7,5,6 +50,2,7,6,8 +25,22,6 +7,14,6,42 +17,14,6 +5,6 +50,4,5,6 +36,13,4,14,6 +22,7,5,6,15,16 +14,6,30 +6 +5,6 +12,3,5,6 +5,6 +17,6 +12,25,14,5,6 +3,5,6,28 +3,6 +20,5,6,23 +27,4,6 +40,4,6 +12,3,6,18 +28 +5 +17 +7,14,5,6 +3,4,5,6 +14,5,6 +4,6,49 +17,7,5,6,18 +9,6 +5,21 +17,7,5,42 +0 +40,34,7,4,5,6 +35,3,14 +3,4,5,6,21 +6,11 +14,6 +38,20,6 +25,20,17,5 +13,5,6,15 +14,5,6 +37,12,14,6 +6 +16 +28,18,23 +51,47,5,6 +6 +0 +25,3,6 +2,20,4,6,10 +44,12,6,10 +6 +13,5 +40,22,5,18 +5 +37,2,3,19 +47,48,22,4,5,6 +22,6,21 +6 +5,6 +6 +7,6,15,18 +7,5,6 +0 +17,3,6,15 +7,14,6,21 +17,7,5,23 +22,4,5,29 +25,5,6,15 +2,14,6,49 +10 +44,3,14,6 +25,17 +9,38,7,6 +6 +4,5,6,11 +35,14,5,6 +4,5,6 +32,7,6 +40,6 +2,25,6 +17,4,6 +2,17,6,21,28 +44,17,4 +34,6,46 +35,22,17 +7,6 +26,2,5,6 +14,5,6 +48,4,6,10 +20,4,5,15 +4,6 +47,44,22 +3 +0 +4,6,43 +50,14,6 +33,25,5,6 +5,6,15,18,29 +48,44,25,4,5,6,46 +14,5,6,11 +20,5,19 +5,6,11 +2,21 +39,32,22,6 +4,6 +45,36,12,13,14,5 +44,13,17,4,6,23 +14,5,6,15 +34,6 +22,14 +21,10 +7,5,42 +20,6,42 +2,7,4 +35,6,29 +14,6 +5,6 +51,38,2,23,29 +50,7,6 +17,4,14,6,42 +12 +4 +26,5,6 +17 +13,3,6 +36,22,7,6,28 +14,6,28,16 +14,5,6,10,29 +25,5,6 +38,12,14,5,10 +37,7,3,14,6,42 +2 +14,6,23 +5,6,21,30 +48,20,5,6 +35,7,6 +45,20,14,6 +25,5,6 +6 +36,17 +3,14,5,6 +5,6 +13,5,16 +4,14 +6 +6,18 +20,5,6,23 +6,16 +48,12,5,6 +34,5 +4,5,6 +6 +7,6,28,18,8 +17 +14,6,30 +6,46 +12,14,6 +4,5 +40,13,14,6 +17,5,16,29 +25,3,6,15 +48,15,18 +44,13,6,15 +27,5 +41,4,5,15 +6,18 +34,4,5,6,16 +6 +22 +14,6 +2,7,3,4,6 +27,4,14,6 +20,10 +2,14,5,6,42,49 +19 +36,6,18,29 +14,5,42 +13,4,6,16 +14,5,6 +24,35,3,14,5,6,15,46,30,43 +31,3,5,6 +7 +33,25,14,6,19 +6,42,30 +3,4,6 +22,14,6 +5,15 +2,5,6 +8 +32,14,5,43 +17,4,5,6,15 +25,4,6 +6 +9,3,5 +26,17,14,5,6 +37,12,17,4,42,49 +12 +36,17,3,6 +13,5,6,49 +35,2,6 +22,3 +2,5,6 +31,2,6 +22,17,14,21,30 +14,6 +14,5,6 +47,20,22,3 +3,4,6 +37,6,46 +41,4,14,5,6,15 +6,16 +14,6 +20,4 +3,8 +5,6 +3,14,6 +5,10 +2,6 +4,14 +32,48,33,4 +6,29 +25,6,10,46 +4,6 +47,3,14,5,6,16,46 +36,12,6,8 +39,25,4,18,43 +6,28,19,46 +0 +14,19 +41,5,21,15 +7,3,4,5,6 +2,6 +22,4,14,5,6 +7,3,4,6 +3,6 +6,8 +17,14,5,6 +7,6 +14,43 +26,6,18 +6,19 +50,41,2,5,6 +25,20,7,3,5,6,23 +3,6,18 +0 +0 +7,5,28,42 +51,14,6,28 +3,4 +6 +34,3,5,6,29 +22,3,14,5,6 +6 +34,5,6 +26,14,6 +0 +27,25,4,14,6,28 +5,6,19 +7,4,14,6 +3,6 +6 +14,6,10 +39,37,17,14,6 +31,13,17,3,6,19 +22,14,21,46 +17,7,4,14,5,6,15 +25,6 +17,4,5,8 +22,17,6,8 +14,6 +6 +34,2,17,5,6 +45,26,4,5,18 +34,6 +26,17,4,6 +3,4 +12,4,14,6 +12,4,14,5 +13,25,20,3,4 +14,6,10 +50,6 +41,6 +5,28,11 +17,14,6,46 +48,17 +17,6 +3,14,6 +14,5,6,18 +14,5,6,16 +14,5,49 +37,7,14,6 +20,6 +14,6 +14 +0 +2,22,3,14,5 +25,4,6 +40,22,14 +7,5,6,11 +26,20,4 +7,14,5,6 +0 +34,20,6 +44,14,6,16,49 +40,14,5,6 +14,6 +2,6,10 +3,6,28,49 +5,6 +15 +5 +47,36,2,6 +3,6,42 +26,5,6,18 +0 +38 +6 +0 +3,4,6 +22,6,11 +6,10 +40,27,13,5,6 +0 +17,6 +14,6,28 +34,13,5 +14,43 +37,17,6 +47,4,5,6,10 +6 +44,6,8 +36,7,6,15,10 +45,47,14,23 +34,27,5,6 +25,7,6 +13,7,5,6 +14,6,42 +5,6,28,23 +14,5 +38,22,6 +37,4,6 +12,6 +4,6,46,49 +40,6 +32,22,3,6,43 +6,28 +40 +2,7,6 +22,5 +25,3,6,49 +47,17,10 +3,14,6 +2,6 +7,43 +5,6 +13,22,6 +39,36,12,14,6 +2,5,6,30 +7,5,6,15 +3 +27,7,3,4,14,6,8,11 +7,4,5,6 +9,44,6,11 +3 +22,7,6 +22,6 +25,4,6 +13,6,18 +23 +22,6 +12,17,5,6,8 +27,5 +4 +2,20,4 +6 +25,22,5,6,15 +24,25,6,18 +20,6,29 +7 +13,7,14,5,6 +37,17,10,8 +6 +6,8 +3,14,6 +6,16 +12,13,25,22,14,6 +20,4,5,6 +50,37,7,5,11 +0 +13,14,6,29 +22,6,16,18,8 +14,5,6,10 +35,4 +20,14,6 +14,21 +50,17,5,6,21 +48,4,6,21 +17,4,6 +5,6 +26,13,4,5,6 +22,4,5,6 +44,12,5,15,43 +13,5,6,16 +44,14,6,21,28,10,49 +34,22,3,5,6 +17,5,6,42 +13,7,14,5,6 +6,23 +2,22,7,28 +41,15,49 +47,2,17,3,14,5,46 +40,6 +3,4,5,6 +50,35,2,6 +36,7,14,6,42 +36,38,22,4,14,6,18 +35,14,5,6 +9,20,7,4,14,6,11 +17,5,6 +5,6 +48,6 +35,17,7,5,6,21 +2 +2,7,6 +12,22 +7,14,5,6,19 +22,14,6,16 +35,25,17,4,6 +22,4,5,6,11 +20,17,6 +6 +20,5,6 +13,25,3,6 +17,14,5,28,30 +25,3 +5,6,29 +17,3,4,6,30 +14,5,6,46 +14,5 +31,14,5,6,18 +3,4,6,18 +7,5,6 +0 +7,5,6,46,30 +17 +5,6,10 +7,6 +4,14,5,6,46 +12,14,5,6 +0 +5,6,10 +12,6,21,23,49 +48,2,17,3,10,8 +3 +36,2,5,6,49 +7,14,6,10 +24,44,4,6 +6 +5,6 +27,4,6,23 +7,3,6 +2,6,29 +3,14,5,6,28 +7,5,6 +5,6 +14,6 +26,14,5 +6 +34,5,6 +5 +51,6 +5,6 +6 +48,13,3 +12,7,3,14,6 +45,7,6,46 +6 +14,5,6,21 +31,37,7,6,21,8 +20,6 +17,6,15 +13,3,15 +50,48,4,14,6,16,46 +2,7 +22,6 +34,35,17,3,14,6,15 +6,15 +39,3,14,5,6 +7,14,6 +14,5,6 +0 +26,6 +25,17,6,8 +44,17,3,4,14,5,6 +17,14,6,16,18 +17,7,3,5,42 +14,5,6 +3,6 +47,9,4,6 +33,22,7,4,6 +6 +45,20,17,4 +7,3,6 +13,2,20 +35,44,6 +36,4,14,6 +22,17,7,14,6 +20,5,19 +14,6 +20,6 +20,3,5,6,42 +7,3,4,5,6 +17,3,5,6 +9,20,7,5 +22,5,6 +35,20,5,6 +40,9,12,5,6 +27,4,6,19 +14,6,28,30 +25,4,6,46 +2,6 +14,6 +20,14,46 +20,6 +20,7,6,28 +13,25,6 +4 +36,6,46 +25,14,6,19,18 +14,6 +44,7,6 +51,4,5,28 +4,6,42 +22,6,28 +15 +17,6,28 +12,2,5,6 +5,6,28 +14,10 +22,5,6 +25,22,17,5,6,21 +2,22,5,8 +33,12,17,6,19 +4,6,16 +6,15,18 +7,5 +13,6 +25,17,6 +2 +3,6,16,46 +12 +32,44,6 +14,5,6,18,23 +31,20,6,8,43 +51,45,3,5 +4,6,23,8 +14,5,6,18,43 +13,21 +3,6 +15 +37,22,17,14,6,30 +6 +6 +41,7,3,5,6 +25,6,15 +12,7,6 +9,13,5,6,16 +7,6,21,29,49 +22,4 +12,13,6,28 +2,3,6,21 +22 +27,3,6 +40,6 +5,6 +22,5,16 +39,4,14,5,6,21,28 +39,20,17,4,6 +6 +3,16 +13,22,4,6,11 +6 +33,2,5 +2,4,14,5,23 +27,17,3,6 +2,3,14,6 +17,5,6,21 +6,8 +6,18,46 +2,3,6 +17,6 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +17,5,6 +48,33,17,4,6 +6,42 +9,33,6,19,16 +51,6 +8 +5,6 +7,3,4,6 +12,7,5,6 +12,3,6,21 +7,4,5 +5,6 +7,5,6,49 +14,6,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +31,25,14,6,10,49 +6,16,29,30 +31,36,25,5,6,28,46 +2,7,4,6 +31,2,17,3,14 +6,18 +44,17,5,6 +44,5,6 +6 +25,22,17,7,6,28 +22,17,6,11 +44,5,6 +6,16 +6 +3 +20,4 +12,5,21 +12,22,7,6,19,49 +26,17,6,19 +14,6 +22,14,6 +22,5 +51,26,25,14,6,8 +26,4,6 +31,22,3,6,49 +24,12 +33,13,3,6,42,11 +50,14 +6 +26,14 +32,44,3,5,6,8,46 +13,22,5,6 +39,7,3,14,6 +4,6,46 +7,4,14,6,46 +51,7,5 +32,48,3,6,23 +17,6,8 +14,6,21,43 +9,17,5,6 +7,14,5,6 +48,22,6 +14,6 +17 +3,14,6 +48,6 +20,5,6,21 +33,17,4,14,6,21,19 +22,5 +44,7,6 +40,13,6,49 +40,6 +14,6,15 +17,3,6,42 +12 +20,4,6 +5,6,42 +47,25,14,5,6,29 +17,4,6 +22,7,5,6,42 +14,5,6,28 +5 +6 +14,6 +9,14,16 +6 +37,3,5,6,16 +4,6 +6,42 +31,3,14,6,23,43 +17,6 +3,5,6 +14,6,15,30 +14,5 +14,6 +13,17,14,6 +12,6,10 +48,4 +31,4,14,5,6,49 +31,4,6,16 +2,7,3,4,6 +48,4,6 +14 +12,5,6,19 +34,5 +5,6,8 +4,6,42 +25 +13,6 +22,6,29 +22,3,6,21 +34,48,41,4,6 +20,4,5,6,15,8 +7,4,6 +4,5,6,19 +2,14,5,6,28 +5,6,49 +17,7,6 +36,14,6,11 +14,5,6 +47,3,6,11 +9,5 +5 +4,5,6 +4,6,15,46 +14,6 +25,17,4,6 +44,6 +48,5,6,15 +17,6 +51,12,20,3,5,6 +4,6 +22,5,6,15,10,42 +7,6,15,10 +20 +25,20,4 +4,6,16,8,29 +22,14,6 +35,3,5,6,28 +5,6,46 +40,6,23 +51,22,5,6,23 +22,7,3,14,6,19 +44,3,6 +38,48,25,3,11 +25,4,6 +33,2,17,7,6,29 +2,5,6,21 +3,4,14,6,16 +51,2,14,5,6 +47,7,6,28,18 +20,5,6,8 +0 +14,49 +32,12,2,4,5,6 +48,6,10 +6 +31,40,35,13,6,30 +34,5,6 +48,20,14,6,23,30 +32,44,2,6 +35,33,5 +25,4,5,6 +4,14,6 +25,6 +20,4,6 +33,17,6 +38,2,22,7,14,6 +33,13,5,30 +17,7,6,18,29 +5,6,28,8 +5 +22,14,6 +39,47 +13,20 +20,22,4,5,6,8 +6 +36,6 +38,14,5,6,19,11 +5,6,28 +4,6 +40,14,5,6,10 +5,6 +22,7,4,6,23 +47,7,6 +6,19 +20,22,3,5,6 +7,6 +3,14,5,15,10 +17,3,5,6 +7,14,5,6 +14,6 +34,12,2,14,6 +20,6 +17,6,28,18 +41,13,17,6 +14,43 +45,14 +6 +45,7,4,14,5 +7,14 +14,6 +39,51,47,25,22,7,6 +14,6,23 +24,17,6 +7,6 +13,14,5,6 +5,6,10 +2,6,8 +5,6,49 +45,34,4,6,30,49 +6,29 +13,3,6,15 +26,6 +2,3,21 +6 +4,6 +35,4,6,23 +13,16 +48,33,17,5,6,42 +20,3,6,16,30 +5 +34,5,6,16 +22,5 +51,22,6 +5 +13,14,6 +44,20,17,3,4 +44,4 +4,14,6 +20 +2,6 +20,22,6 +5,6,21 +5,6,42 +17,6 +17,4,18 +13,4,5,6 +12,17,4,6,15 +14,5 +39,33,14,6,28,42,49 +51,25,22,7,3,6,28,18 +45,17,28 +7,14,6,21 +20,14,46 +6 +5,6,21 +22,5,6,16 +6 +3 +22,3,5 +6,21 +48,6,30 +44,22,7,6 +3,4,14,5,6 +3,14,5,6,16 +6,21 +6 +37,22,6,16 +37,22,4,6,30 +48,6,18 +50,9,44,12,6 +25,7,14,5,42 +35,2,5,6,18 +25,3,10 +12,2,22,4,14,5,6 +6 +13,17,7,6 +4,5,42 +27,3,14,6,15 +9,46 +9,13,5,6 +35,5,6 +45,13,25,17,6 +40,20,6,18 +44,5,6 +2,25,3,14,18,46 +25,42 +22,4,6,29 +13,6,10 +3,4,5,6,28,42 +34,6 +17,6,23,29 +17,6,43 +2,6,21 +6 +37,17,7,6,10 +44,4,5,6 +3,5 +20 +34,6 +6,15,42 +33,20,6,42 +0 +6 +12,6,18 +49 +39,14,6 +40,22,5 +25,5,6,49 +5,6 +51,48 +14,19 +6,21 +36,3,11 +48,14,5 +5,6 +0 +2,14 +20,7,4,6,18 +22,17,6,11,30 +22,4,5 +14,5,46,30 +6 +2,6,23,49 +22,8 +48,7,6 +39,33,3,5,6 +17,14 +9,25,22,14,6 +17,7,5,6,15,23 +3,6,49 +7,4,5,6,15 +6 +20,6 +3,5,6 +26,20,4,15 +4,19 +39,14,6 +50,6,28 +7,3,6 +34,25,14,5,16,43 +22,6 +20,5 +14,6,8 +20,5 +48,22,6 +4,28 +20,14,6,28,19 +3,14,5,6 +22,3,4,14,19 +13,5 +4,6 +22,4,14 +6 +13,30 +39 +4,14,5,6 +22,6 +22,6 +44,7,3,14,5,21 +27,20,4,5,6,30,43 +3,5,6 +33,6 +51,48,13,3,6,19 +34,6,18 +35,3,6 +3 +5,6 +15 +17,14,6,11 +14,6 +20,5,6,30 +45,17,5,6 +40,6,16 +5,6 +34,22,3,5,6,21 +37,20,7,5,6 +41,20,14,6 +20,22,17,6,19 +3,14,6 +47,10,43 +22,6 +41,17,7,6,10 +17,5,6 +0 +3,6 +3,4,6 +20,5,6 +4,5,6 +20,4,6 +14,42 +22,5,6 +6 +5 +40,18 +20,19,42,29 +5 +12,22,5,6 +48,14,6,15,19 +2,23 +6 +5,6,28 +14 +44,17,14,5,6 +51,5,6,19,30 +45,2,17,14,5 +22,14,6 +48,3,6 +6 +17,6 +20,14,42 +38,3,15 +6,23 +14,6 +12,13,3,6,21,8 +22,4,14,6 +19 +28,23,8 +9,41,14,6 +45,22,17,4,14,6 +3,4,5,6 +6 +39,22,4 +6,15 +33,5,6 +20,17,14,6 +14,6,21 +6 +39,25,4,5,6 +36,13,20,14,5,6,23,43 +0 +6 +19 +7,6,10,16 +3,4,5,6 +4,5,6,42 +44,12,22,17,6,19 +50,6 +3,5,6,18 +14,6 +5,6,21 +7,4,6 +38,4,5,28,30 +5,30 +43 +20,5,21,28 +39,41,20,5,6 +22,6 +33,22,6 +4 +38,4,5,6 +14,5,6,30 +17,28 +6 +20,17,14,6 +50,17,14 +47,7,4,5,6,15 +7,6,19 +14 +34,4 +7,14,5 +33,25,7 +4,6 +5,6 +2,6 +38,7,5 +22,3,4,14,5,6,15,29 +33,22,14,6 +7,5,6 +6 +12,20,14,28 +4,6,18,49 +17,5,6 +34,36,33,4,6,42 +25,20,7,6,30 +50,34,17,6 +20,3 +5 +17,5,6,21 +33,26,13,46 +14,6,42,43 +7,3,14,29 +44,2,6,28 +13,14 +44,3,6,10 +6,46 +22,3,5,6 +27,4,6 +2,4,14 +3,4,5,6,11,30 +38,6 +7,14,6 +48,14,19 +3,5,6 +44,7,5,6 +14,5 +34,44,6,28 +35,22,7,14,6,46 +3,6 +50,3,6 +6,46,30,49 +6 +6,8 +22,16,29 +2,29 +6 +25,5,6,49 +46,30 +25,6,19,18 +36,5,6 +50,7,4,6 +17,6,46 +17,6,21 +17,3,4,14 +14,5,6 +2,5,6 +17,4,6 +4,14,5,29 +20,14,5,6,10 +0 +51,44,7,5 +14,6 +9,12,13,6 +38,6 +36,27,5,28,10 +5,46 +27,5,6 +20,18 +26,5,6 +25,6,11 +26,4,19 +0 +27,3,4,6,21,28,16 +7,3,46,30 +6 +48,25,7,14,5,6 +7,6 +12,22,6 +13,17 +45,3,4,14,5,6 +13,2,25,5,6 +14,6 +12,25,18 +12,7,4,5,6,30 +36,17,7,6 +34,13,4,14,5,6 +14,6,8 +20,7,6 +48,13,3,6 +51,14,5,30 +39,9,25,4 +17,5,6,10 +4,14,6 +2,14,6 +13,5 +35,2,22,5,6 +0 +7,28 +0 +12,3 +32,2,7,5,46 +4,14,6 +24,36 +4,14,6 +6,46 +14 +40,41,7,5,6 +22,17,7,6 +45,33,7,6,16 +47,13,22,21 +4,5,6,15,10 +45,7,4,6 +24,22,7,5,6 +6,30 +7,14,6,15,11 +45,25,3,5 +5,6,46 +2,5,6,42 +6 +14,5,6,15 +4,6,8 +5,6 +12,2,6 +51,13,4,6 +9,13,6 +22 +35,33,26,25,20,14,6,8 +9,6 +44,5,6,21 +13,6 +35,20,5,6 +47,20 +5,6 +3,14,5,6,19 +12,4,6,42 +47,7,6 +14,6 +44,6 +39,48,14,5,6 +2,25,6,42 +7,3,4,14,6 +3,5,6 +37,14 +6,19,42 +7,4,5,6,46 +25,17,5,6,19 +17,3,6,19,49 +12 +33,2 +45,5,6,43 +20,3 +5 +2,22,14,6,10 +45,2,20,3,5,6 +4,8 +36,25,22,6,42 +4 +20,6,8,49 +6 +32,7,14,6,23 +6,28 +12,14,5 +3,4,6,21 +17,5,6 +17,6 +3,6,23 +14,6,11 +20,14 +4,6 +22,6,15 +44,4,6 +7,6 +9,26,4,14,5,6,8 +2,5,6,18,29 +7,4,6 +17,3,18 +32,2,3,14,5 +6,18 +5,6,16 +2,20,14,5,6,28 +14,6 +22,14,6 +0 +23 +5 +17,5,10 +5 +37,6 +6 +4,14,5 +25,7,3,6,15 +6,28 +51,22,4,14 +6 +12,6 +12,6 +9,13 +25,14,6,19 +5,6,49 +13,14,5,6 +14,6,18 +3,14,5,6 +22,17,7,4,14,6 +13,6 +22,17,28,46 +44,6 +25,20,23,8 +5,6 +20,15 +47,35,20,4,14,6,21,30 +13,2 +3,6,11 +5 +26,6 +5 +33,13,17,4,5,6 +17,5,6,15 +4 +48,22,4,6,23 +4,6,19,16,43 +26 +7,4,14,5,6 +22,6 +17,46 +14,5,6 +7,14 +12,7,14,6 +32,14,6,30 +20,6,23 +5,6 +14,5,6,28 +7,43 +17,6,23 +47,5,6 +39,14,28 +6 +14 +38,5,6 +25,6 +20,5,43 +0 +5 +3,5,18 +20,7,6 +17,4,5,6,29 +27,7,16,49 +6 +41,20,22,3,14,6 +9,12,22,7,5,6,46 +44,13,14,29 +7,14,5 +5,6,29 +26,6 +13,5,6,21 +6,28 +50,17,14,6 +6,43 +48,5,15 +14,6 +6 +5,6 +17,6,16,49 +6 +25,6 +13,4,5 +22,5,6 +22,6 +2,6,8 +5 +7,6 +20,6 +6,23 +13,4,14 +6 +34,27,7,4,6 +5,6 +14 +6 +17,7,5,46 +14,6,23 +22,14,19 +7 +25,17,14,5 +44,7,3,5,6 +6,15 +20,22,3,4,6 +31,7,14,8 +4,5,6,42 +20,17,7,14,5,6,15 +27,22,6,23 +27,14,6 +20,5,6 +26,3,5,6 +36,22,6 +2,5,6,46 +36,14 +3,6 +4,14,6 +50,34,4,14,5,6 +47,22,17,14,5 +25,22,7,14 +25,20,6 +9,13,25,17,14,6,42 +12,5 +2,3,4,5,6 +48,12,13,2,3,6,19 +24,6 +6 +6 +7,6 +6 +5,6 +22,6 +4,14,6 +20,3,6 +20,7,6 +7,5,6,30 +20,3 +7,5,6 +22,4,6 +31,20,11 +24,34,5,6 +41,17,14,5,6 +6 +31,7,6,28,42,43 +2,6,16 +14,6,30 +7 +20,6 +50,25,6 +25,5,18,23 +17,6 +38,26 +12,17,4,14,5,6,8 +14,6,29 +48,5 +20,5,6,23 +14,5 +26,14,6,11 +5,6,16 +4,5,6 +4,5,6 +20,7 +25,3,14,5,6 +22,4,5 +45,41,6,15,18,43 +7,6,15,10,49 +31,19 +5,6 +39,17,14,5,6 +20,14,6 +2 +3,6,28,8 +41,6 +4,5,6 +12,7,6,30,49 +17,4,6 +22,3,5,6 +13,6 +45,31,3,4,14,5,6 +40,7,3,6,28 +51,2,3,6,19 +5 +51,29 +5,6 +20,3,14,6 +4,6 +36,20,14,18 +17,14,6,18 +3,14,6,18 +5,28 +38,14,8 +4,14,46 +17,4,14,6 +27,25,17,6,19 +35,38,22,6,30 +13,2,14,5 +7,3,6 +45,3,6,28 +24,6,29 +3,6 +9,7,14,5,6 +27,5,6,18 +22,14,15,19,42,29,43 +0 +50,17,18,11 +31,14,5,42,23 +14,6 +38,5,21 +14,6,29 +6 +7,4,6 +14,42 +3,6,29 +2,25,17,4 +14,6 +9,22,5,19 +40,14,5,6,42 +6 +44,6 +13,22,4,5,6,19 +22,6 +32,2,22,5,6 +20,3 +5,6,23 +6 +22,6 +6 +20,4,5 +41,3,6 +14,5,6,42 +2,25,4,5,6 +25,22,4,6,42 +5 +25,3,6,29 +39,7,5,6,16 +3,5 +2,14,6 +5,6,15 +5,6,43 +5,6,8 +25,7,3,8 +17,6 +3,29 +4,5,21 +28 +13,7,4,5,6,30 +0 +0 +39,50,7 +9,36,20,14,18 +9,14,6 +33,6 +14,5,6,8 +50,3,6 +39,22,14,5,6 +26,3,5 +48,33,22,6 +38,17,4,6,15,30 +47,32,14,6,28,8 +25,7,6,21 +17,7,6 +40,32,14,5,11 +7,5,6,21 +28 +6,10 +3,4,14,6 +47,13,7,6 +20,4,6,10 +13,2,20,5 +7,29 +27,20 +22,3,10 +12,2,22,14,5 +14,6 +22,17,6 +19,42 +4,5 +4,5,6 +37,36,14,6 +22,3,14,5,6 +25,5,6,16,29 +5,6 +20 +14,6 +51,22,14,6,18 +31,14,5,6 +20,17,3,6 +5,6,28 +0 +14,5,6 +48,2,17,6 +12,6 +2,17,3,4,14,6 +32,20,22,6 +4,5,18 +27,14,6 +14 +44,20,6,10 +39,25 +7,5,6,42,29 +20,3,6,21,23,43 +3,6,8 +22,6 +6 +0 +5,6,30 +6 +33 +31,13,4,5,6 +2,5 +16 +7 +4,6 +7,3,5,6 +25,14,6,15 +14,6 +14,5 +0 +7,14,6 +25,3,6 +24,17,4,6,46 +17,14,5 +37,14,6,11 +4,28,19 +36,14,19 +9,35,7,5 +9,12,22,6 +45,37,26,25,3 +7,3 +22,3,6 +32,22,5,6,11,30 +6 +48,5 +51,31,2,6,42 +13,22,4,14,6,15,10,46 +6,21 +2,25,14,5,11 +12,13,2,5,43 +2,23,49 +50,22,4,6 +14,6,21 +33,12,5 +20 +6,16 +13,4,5,6 +18 +36,6,19 +25,3,5,6,28,15 +40,2,14,6,21 +26,20,7,6 +20,17,5,6,10 +17 +33,6,21 +14,5 +3,4,14,6 +51,12,5,21,29 +6,16 +2,22,5 +6,28,15 +31,4,6,42 +44,5,6 +9,34,7,5,6,8 +39,20,6 +4,6 +35,20,4,6 +6 +2,5,6,21 +14,6 +3,5,6 +6,16 +4,6 +17,6,28 +6 +22 +36,6 +7,14 +3,6 +3,5,6 +22,6,21 +36,2,25,4,6 +3,6 +9,6,16,46 +6 +26,3,14,10 +20,22,17,4,5,6,49 +38,2,14,6,16 +27 +6 +5,6 +12,22,4,5,28,16,46 +13,5 +5 +2,22 +5 +2,14,6 +20,7,5,6 +37,9,14 +7,6,28,23 +6,28 +20,14,6 +12,17,16,29 +44,6 +4,5,6 +7,6,16,43 +9,12,5 +20,14,43 +13,7,6,15 +20,14,6,21 +22,3,14,6,15 +5,6,43 +3 +12 +33,6,30 +5,11 +27,3,14,6 +4,6 +39,20,22,3,6 +5,15 +40,44,20,14,6,21,28 +5,6 +45,20,6 +0 +3,6 +4,6,15 +3,14,6,21 +6 +4 +37,6 +6,21,8 +9,17,7,4 +17,6 +4,5,6 +25,6 +38,3,5,6 +12,3,14,6 +6,11 +50,13,6,28,10 +4,28 +34,6 +45,3,6,21 +2,6,21,29 +17,14 +3,4,42 +48 +17,4 +44,4,6 +6 +14,5,6,23 +20,7,3,5,6 +13,3,18,23 +36,5,23 +7,14,6,46,30 +5 +9,6,49 +5,42 +41,6 +13,7,5,10,46 +49 +5,6 +12,13,3,6 +6 +13,3,14,6,28,23 +37,6 +6 +13,3,5,21 +36,10,8 +4,6 +25 +31,14,6 +3,4,14 +51,5,6,29 +51,25,4,14 +4,8 +2,14,5 +12,7,3,5,6 +7 +4,6 +6,21 +36,6 +33,26,4,6,21,46 +0 +2,3,6,15 +13 +5,43 +4,30 +31,38,7,4,6,15,29,43 +9,41,2,6,30 +35,22,3,5,6,10 +40,20,23 +31,6,15,16 +20,17,5,6 +3,6 +9 +17,4,6,29 +14,5,6,21 +40,4,5,6,21 +7,14,5,6 +36,17,6,42 +14,5 +6,8 +9,2,6,46 +6 +4,5,6 +6 +47,38,22,6 +27,13,20,5,6 +31,14,6,10 +22,3,4 +6,15,19 +48,2,4,5,42,30 +45,4,14 +22,5,16 +20,6,18 +14,16 +3,5,6,28 +44 +48,22,14,5,10,18 +3,4,5,6 +25,10 +17,49 +4,5 +20,6 +45,13,20,5,6 +16 +0 +6 +5,6 +12,20 +6 +38,5,6 +17,4,6 +13,6 +36,13,20,3,6 +6 +12,14 +5,6 +26,6 +35,25,20,5,6 +26,3,14,6 +6 +22,4,5 +2,20,7,6 +12,13,4,5,6 +20,46 +38,27,12,4,14,5 +12,22,4,6 +5,6,18 +20,5,6 +50,22,6 +3,6,49 +41,12,25,7,3,5,6,23 +7,3,14 +36,4,6 +27,44,6 +22,3,14,6 +20,3 +33,6,8,43 +14,6 +5,6 +17,6 +37,2,25,5,6 +13,3,4,10,29 +40,6,18,46 +44,14,6,18,8 +27,3,6 +9,3,4,5,6 +2,6,8 +13,6,19 +12,2,17,6 +0 +0 +7,14,6 +5,6,19,23 +44,2,7,3 +7 +6 +32,7,3,4 +6 +14,6 +5,49 +23,8 +33,4,6,28,23 +20 +4,14,5,6 +5 +4,5,6,19,10,42,29 +15,30 +13,6,46,30 +26,20,6,11 +6,21 +2,14,18,43 +25,4,10 +22,7,5 +41,7,6 +31,20 +40,4,14,6 +28,10 +12,14,5,6 +7,5,6,23 +22,3,18 +12,6 +13,4,14,6,19 +31,2,5,6,21 +6,8 +14 +2,10 +34,27,7,6,21 +26,13,3,5,18 +6,11 +34 +51,6 +4,6,10,29 +5 +14,5,6,21 +4,6 +4,5,11 +38,22,3,6 +33,2,20,22,6,10 +33,5,6,30 +17,14,6 +9,27,20,6,30 +36,25,14 +24,25,7,6,21,15,19 +5 +5 +12,5,6 +14 +4,14,5,6 +6 +14,6,16,30 +4,5,6,19 +3 +44,12,13,14 +50,6 +5,6 +6 +5,21,8 +2,3 +3,14,6,28 +5,6 +20,3,4,6 +7,6,15 +12,4,5,6 +13,6 +31,27,6 +25,22,6 +14,6 +30 +14,6,15,46 +13,6 +6 +39,9,2,28 +14,5,6,21,10 +9,3,6 +22,5,29 +26,12,22,5,6,16 +44,6 +3,4,5 +25,28 +20,4,6,49 +14,5,6,46 +3,15 +25,4 +0 +25,6 +14,6 +13,4,6 +3 +6,28 +22,5,6 +7,4,5,6,42 +31 +14 +5,6,10 +6,11 +25,4,5,6 +6,46 +24,27,13,6 +4,5,6,21,18 +6,23,11 +20,22,4,6 +37,12,20,6,29 +25,7,5,6,46,43 +45,50,40 +22,5 +7,6 +25,4,6,10,30 +17,4,5 +22,7,4,6 +22,6 +25,22,4,6 +5,6,16 +7,5,6 +48,14,6 +33,20,7,14,6,46 +6 +41,4,5 +27,13,3,5,29 +14,6,16 +37,47,38,5,21,49 +14 +24,13,7,6 +4,14,5,6 +5,6,19 +6 +6 +5,11 +5,46,11 +39,40,4,5,6 +16 +41,4,14,6,21,28 +14,6,18 +38,20,5,6 +36,7,16,46 +13 +20,14,5 +3,6 +26,12,5,21 +26,13,22,4,6,10 +6,29 +2,3,6,28 +3,19 +47,6 +25,7,4,14,15 +36,3,6,18 +2,5,6,21 +2,3,5,6 +13,17,14,6,23,30 +31,20,5 +37,22,16 +5,6 +36,5,6,42 +22,14,5,6 +5,6 +23 +14,5 +3,6,42 +12,7,6,23 +13,25,5,6 +41,17,7,6,42 +22,4,6 +25,3,4,5,10 +36,6 +31,25,5,6 +3,14,6,15 +5,6 +20,5 +14,6 +3,6 +5,6,23 +13,5,6 +2,22,6 +22,3,6,19 +22,6 +2 +31,13,3,49 +14,5,6,21 +37,2,5 +20,4,5,6,16 +25,3,5,16 +50,4,5 +39,35,25,22,17,7,6,16 +3,4,6,21,18 +6 +32,6 +22,5,6 +5,6,18 +7,6,10 +25,22,5,6 +17,5,6 +40,12,8,46 +4,5,6 +44,2,22,5,6 +10,42,23 +13,25,4,6,46,49 +32,6 +17,5,6,16 +17,6 +33,20,14,6,11 +6 +7,5,6,21 +14,6,16 +17,14,5,6 +0 +35,14,5,6 +22 +12,2,5,6,46 +14,5,16,49 +48,17,14,5,6,18 +5,6,28,19 +14,6,19,18 +14,16,30 +38,27,13,17,6,15,10 +5,6 +4,14,16 +24,14,5,29 +5,29 +6 +12,17,4,6 +3,6,16 +6,11 +4,14,30 +25,5,6 +25,3,6,15 +4,6,21,46 +24,17,6,28 +25,7,6,23,8 +2,14,5,6,19 +37,4,5 +49 +13,17,7,5,6 +48,17,5 +2,22,6 +14,5,6 +4 +30 +25,17,6 +40,14,6,10 +13,7 +22,3,6 +22,14,6,18 +24,2,14,6,8 +5,6,49 +13,17,7,5,6 +25 +5,6,15 +12,20,3,6 +20,7,6 +25,3,5,6 +13,5,6 +26,25,6 +4,14,28,10 +3 +26,7,14,5,6 +41,6 +45,14,6 +17,6,42,30 +41,7,3,6 +38,13,17,5,6 +51,14,5,6,42 +25,20,17,18 +7,6,29 +44,5,6 +31,5 +48,13,25 +6 +48,14,6,18 +31,4,6,10 +6 +25,3,14,15,16 +38,4,5,6 +14,5,6 +36 +12,2,7,18 +13,3,43 +4,5,18,30 +6,10 +3,6 +25,6 +14,6 +6 +17,4,6 +14,6 +5,6 +5,6,19 +6,10,29 +13,4,6 +37,12,14,5,6,28 +2,4,5,6,11 +50,7,5,6 +12,7,5,19 +0 +17,14 +6,15,10 +25,6 +6 +22,6,49 +20,22,6 +7,6 +14,6,21,28 +47,5,6,23 +5,6 +5,15 +5 +4,14,6,46,11 +20,22,5,6 +17,14,6,43 +7,5,19,49 +4,5,6 +34,13,5,6 +3,4,5,6,16 +45,3,5,6 +2,15 +31,5,6 +25 +14,5,6,18 +41,20,17,5 +0 +47,35,4,6 +35,41 +50 +7,6 +13,4,5,6,49 +13,5,6,10 +4,6 +17,6,19 +3,6 +33,7,4,6,21 +22,18,43 +14,6 +20,46 +20,14,6 +33,6 +51,45,14,5,6,21,10,8 +5,6 +9,22,6 +22,14,6 +44,3,6 +28,19 +4,14 +51,12,2,4,6,16 +13 +44,20,14,5,6 +7,42 +20,3,5,6 +7,14,6 +14,5,6 +35,6 +17,5,6 +6 +9,14,5 +4,14,6,18 +13,25,7,14,6 +44,14,5,6,19,16 +6,8,49 +5 +12,5,6,29 +14,5,6 +3,14,5,6 +44,7,3,5,6,19 +22,5,6 +20,6 +5,6,28 +5,6 +15 +38,13,6,15 +6 +5,6,43 +2,25,14 +34,3,14,5,6 +44,25,4,14,5,30 +27,3,18 +40,22,14,6 +36,14,5,6 +6 +5 +50,20,6 +6 +22,4,14 +41,6,15 +25,14,5 +38,25,6,16 +32,2,25,6,29,30 +6 +13,3,6,10 +4,5,6 +6 +50,17 +6 +5 +3,14,6 +2,7,6 +13,4,5,6 +20,14,6 +3 +3,6,28,42 +48,13,14,6 +25,6,23 +45,14,6,28 +34 +44,14,6,46 +22,4,14,6 +17,6,18 +47,4,5,6 +39,41,6,19 +6,49 +31,7,3,4,6,8 +14,6 +31,26,6 +48,3,14,6 +31,22,5,21 +7,3,4,5,6 +3,5,6 +6 +36,20,6,29 +22,5,6,10 +3 +37,4,6 +6 +45,2,22,10 +37,6 +4,14,6 +25,6,21,29 +3,14,5,6 +50,25,7 +27,5,6,10 +17,4,5,6 +22,6,42 +37 +6,10 +9,6,21 +25 +13,3,14,5,6,21,46 +3,5,6 +6 +36,27,20,3,4,5,21,30 +4,6,11 +44,2,5,6 +12,13,6,15 +3,14,10 +5 +9,14,6 +4,5,6,28 +14,10 +0 +38,33,17,3,14,6 +0 +6,10 +45,37,3,5,6 +9,36,33,5,6,28 +3,14 +4,5,6 +27,17,6 +12,6 +38,25,17,5,6,21,11,30 +14,6 +36,35,3,14,42 +5,6,23,8 +6 +32,20,14 +14,6 +37,32,13,6,46 +50,32,2,6,18 +22,4,18 +6 +25,7,3,28,19 +6 +2,25,7,6 +4,5,6 +51,5,6 +34,7,6,29 +9,14,5 +6 +5,16 +6 +20,28 +22,3,16 +47,9,7,5,6 +6,43 +25,7,4,14,15 +40,9,5,6 +5 +31,3,4,6,10 +5,11 +3,6,43 +4,14,6 +9,25,6 +20,4 +6 +20,6 +14,5,6,29,49 +6,10 +9,22,6,10,42 +31,6 +4,5,6 +6 +17 +51,13,17,7,5,6,30 +38,4,5 +7,6,21 +37,6 +22,17,11 +3,4,6 +34,3,6,28,42,18,30 +6 +7,6 +13,6,15 +4,6 +0 +13 +38,25,6,15 +38,4,14,6,28 +51,38,44,14,6 +5,6,21 +22,4,5,6 +7,18 +3,6 +14,49 +22,7,4,5,6,15,10 +4,6,49 +22,6,21,16 +20,7,4,5,6 +6 +41,7,14,8,43 +6,21 +5,6,19 +4,6 +25,4,6,19,23 +3,5 +3,6,21,30 +4,14,6 +14,15 +0 +5,6 +6,16 +7,14 +14,6 +17,14,19 +6,23 +13,4,5,6 +7,3,5,11,30 +44,14,5,21,29 +42,30 +6,43 +22,4,6 +5,6,29 +3,6 +14,5,21,28 +47,22 +2,22,17,6 +14,8 +20,7,5,6,19,16 +48,3,6 +3,5,6,21 +6 +4,14,6,10 +6 +25 +32,27,4,21,23 +3,4 +2,6 +27,3,4,6,43 +14,6 +31,13,5,6,30 +6 +14,5 +14,6,43 +22,14,6 +6 +5,6 +7 +7,6 +25,3,6 +13,4,14,6 +20,5,6 +22,7,3,6,19 +14,6 +13,6,42 +7,6 +22 +13,14,6,46,43 +13,4,14,5,6 +0 +5 +4,5,6,10,8 +25,4,5 +6 +5,6 +37,7,6 +12,3,4,6,29,11 +35,4,6,10 +25,29,30 +27,25,17,5,6 +22,17,3,4,6,10 +13,25,22,17,6,11 +13,3,6,49 +32,36,26,25,5,6 +22,14 +4,6 +14,6,18 +13,17,14 +3,6 +44,5,6,21 +50,25,7,5,6,8 +32,6,42 +47,12 +35,29 +14,5,6,10,16 +5,6 +6 +51,5,6 +48,20,4,5,15 +44,14,6 +37,14,5,6 +14,6 +14,5,6 +20,3,5 +6,8 +27,2,20,3,14,6,10 +17,7,5,6 +20,4,6,18 +25,14,6 +2 +20,22,17,4,14,6 +22,5,19 +33,5,6,21,42 +6 +6,19 +47 +6 +12,13,28 +25,6 +31,34,36,12,14,5,43 +34,7 +6 +4,5 +18 +14,6 +17,5,6,10 +2,17,3,4,6,43 +4,49 +7,3,5,6 +25,17,4,14,5 +4,5,6 +34,48,7,4,6,19 +3,4,14 +4,14,6,19 +17,5,6,23 +6 +17,6 +18 +7,6,28 +7,4,14,6,28,30 +5,42 +0 +7,4,14,6 +3,5,6 +2,17,6 +14,5,6 +32,2,14,5 +7,5,6 +4,6 +14,6 +13,5,6,8 +38 +2,7,3,6,21,19 +45,50,7,14,5 +2,5,6,23 +22,17,3,4,14,5,6,15 +5 +33,13,4,6 +40,47,5 +31,7,4,14,5,16 +25,4,14,5,6,42,43 +50,6 +3,4,5 +7 +3,5,6 +4,14,6 +4,6,21 +20,6 +7,3,6 +33 +12,4 +37,36,13,25,14,6 +3,6 +33,22,14,5 +12,2,6 +25,14,6 +6 +6,28 +27,6 +48,14,5,6 +12,5,6,21,10,11 +41,6,46 +22,6 +35,5,6 +26,3,14,6 +3,14,6 +31,5,6,15,8 +50,17,4,14,6 +7,5,6 +6,23 +13,14,5,6,21,11 +14,11 +23 +26,20,4,6,15 +26,4,5,18 +13,14,6,29 +12,14,6 +2,22,18,46 +22,6 +9,17,3,6,18 +0 +31,48,2,17,6 +4 +41,7 +6,21,15,18 +36,6 +9,14,6,43 +9,5,6,10,8 +4,14,6 +17,6,10 +3,5,6,15 +5,8 +41,25,6,28 +20,6 +47,3,14,6,19,42 +14,6 +25,14,6,46 +34,25,4,14,5,6 +2,7,3,5,6,15 +31,2,4,14,11 +6,21,8 +32,3,5 +50,14,5,6,42,11 +22,5,6 +4 +2,14,5,6 +27,48,4,6 +9,14,6 +50,5,6 +14,19 +33,6 +6 +13,20,6,10 +7 +17,5,29 +20,22,17,6 +0 +5 +2,14,6,23,46,29 +7,14,8 +5,6 +35,21 +35,17,5,6 +34,20,4,14,5 +8 +5,29 +17,6,10 +41,12,4 +17,7,5,15 +35,5,18,23 +26,2,14,5,15 +45,37,6 +35,17,4,6 +12,5 +17,4 +24,7,6,28,46 +14,5 +45,5,6 +14,6 +22,5,6 +22,5,30 +14,6 +14,5,6,42 +25,6 +14,6,16,30 +44,13,6 +0 +3,5,6,8 +50,3,6 +32,14 +20,6,10 +5,6,29 +10 +20,3,14,6 +38,22,6,15,10 +6,46 +6 +34,3,6 +24,3 +6,42 +35,14,5,6 +20,17,7,3,4,6,15,18 +13,2,17,4,16 +6 +35,22,6 +25,4,6,21,28 +6 +3,4,6 +4,14,6 +50,7,3,5,6,10 +40,2,22,4,6,28,10 +3,6 +26,4,6,19 +7,3,5,6 +3,5,6,46 +0 +0 +37,4,5,6 +35,41,6,42 +13,5,6 +13,2,6 +17,7,4,5,30 +22,19 +3,4,6,18 +38,33,5,30,49 +3,14,6 +13,6 +4,6,29 +44,25,6 +12,6 +4 +33,3,6,19,18,49 +34,41,4,6 +6,42 +51,40,14,5 +39,3,6,10 +33,20,5,6,46 +35,20,22,14,5,6,16 +6,21,10,42,18 +20,4,6,16,42 +6 +6,15,29 +0 +25,6 +2,3,28,42 +4,5,6,19 +7,14,5,49 +44,4,5,6 +17,6 +7,4,14,5,11 +31,22,21,23 +5,6,29 +25,20 +14,5,6,21 +9,25,3,4,5,21,15 +50,2,20,17,6,23 +51,13,6 +13,17,7,5,6 +4,5 +36,6 +12,2,6,29 +33,6 +48,25,20,4,6 +4,14,6 +48,16 +37,7 +20,17,6,21 +7,14,6,10 +17,5 +40,7,14 +4,6,19 +17,14,6,16 +22,7,3,6 +13,4,5,6 +4,5,6 +25,5,6 +44,6,29 +22,6 +4,6 +20,6 +6,21 +14 +22 +33,7,4,14,16 +31,6 +27,41,7,14,5,6,21 +14,6,19 +25,6 +5,6,21 +31,5,6 +7,14,15 +20,6 +38,5,6,30 +2,5 +7,14,5,6,16,18 +17,5,6 +14,5,6 +6,18,30 +17,5,6,46,49 +7,3,6 +20 +41,3,6 +12,25,7,6 +0 +20,6,49 +32,38,27,25,6 +48,6,28,19,11 +3,5,6 +25,6,23 +12,6,43 +6 +6 +14,5 +27 +51,3,5,6 +5,6 +47,20,3,5,6 +3,5,16 +7,6 +26 +17,6,29 +5,11 +6,46 +5,6,46 +27,5 +45,50,7,8 +4,6,21 +5,6,18 +20,14,6 +33,26,6 +27 +44,13,20,17,6,21 +48,4 +6,28,42 +12,16 +12,17,4,6 +44,13,5,6 +6,19 +31,12,25 +37,7,3,6,21 +13 +14,5 +3,14,6 +7,5,6,16 +14 +36,22,19 +50,12 +7,3,5,6,46 +25,5,6,16 +35 +35,6 +26,22,3,6 +37,6,15,8 +25,17,7,4,6 +12,20 +6 +37,3 +41,14,6,42 +5,49 +7,4,5 +6,19 +25,4,6 +5,6,29 +31,13,17,3,6,28 +12,4,14,6 +6,49 +48,17,7,6 +3,4,6,23 +20 +27,5,6 +3,4,5,6 +7,5,10 +4,5,6 +45,6,15 +47,4,6 +22,3,23 +24 +7,6,18 +50,37,7,5,18 +37,6,19 +7,6,30,43 +50,13,5,6,10 +51,37,4,14,5 +20,5,6 +17,7,6,15 +5,6 +5,6 +6 +6,21 +22,7,5,6 +25,6 +6 +22,6 +14,6 +6,21 +41,25,7,6 +19 +13,6 +0 +3,6 +14,6,15 +25,3,14,6 +13,6,21 +22,7,16 +38,14,6 +5,6,16 +17,5,6 +45,7,3,4,15,46 +5,6 +35,20,6 +6 +14,5 +48,4,14,6,49 +2,5,6 +22 +6 +3,14,6 +2,3,14,5,6,46 +35,22,7,4,5 +14,5,19 +17,6,8 +26,5,6 +12,6 +6,10,29 +47,7 +36,33,25,3,5 +22,17,6 +3,14,10 +35,20,3,46 +32,25,5,6,18 +7,5,6 +14 +7 +36,35,12,5,6 +36,22 +12,19 +27,22,5 +4,14,6 +51,41,44,20,4,14,5,6 +47,6,18 +47,6 +6 +5,6 +20,3 +34,22,6,15 +4,5,6 +48,7,3,14,5,6,18 +6 +6,16 +47,4,14,6 +31,20,7,14,5,6 +35,3,14,5,6 +22,6,8 +14,5,6,19 +5,10,11 +12,3,14,6 +25,5,6,16,49 +18,29 +4,5,6 +17,6 +22,6 +2,5,6,18,30 +12,22,3,14,6 +36,25,6 +39,4 +12,22,3,14,6,18 +44,26,4,6 +37,25,17,6 +37,5,6,21 +6 +14,15,19,42 +38,14,5,6,18 +14 +25,6 +22,3,6,28 +20 +40,6 +41,17,6,21 +4,19 +40,27,7,28 +14,6 +34,25,5 +5 +38,14,6 +44,25,4,5 +17,4,6 +41,12,6,19 +22,6,49 +37,20,14,6 +27,17,3,18 +22,5 +41,6,42 +20,17,7,4,14,8 +38,6 +47,22,3,4,6 +12,3,4,6,8,30 +5,6,8 +13,6,15 +20,17,5 +51,4,6,15 +51,24,27,41,6 +3,6 +34,3 +2,14,23 +7,6,15 +22,6,42,29 +12,13,5,6,15,18 +36,4,6 +14,6 +20,17,5,6,46 +34,12,3,6,16 +5,19 +17,5,6,10 +5,6 +51,13,22,17,7,14,6 +6 +6 +35,22,3,5,6,21 +7,6,21,42 +27,20,10 +27,3,4,5,6 +40,5,6 +14,5 +22,14,5,6 +47,7,4,6 +27,20,3,6 +14,5,6,16 +51,2,4,5 +20,6 +7,14,6 +12,4,14,5,6 +7,14,6,28 +20,22,4,14,6,16 +22,15 +41,5,6 +37,25,3,6,29 +3,6,21 +40,7,6 +51,14,5,6 +3,14,5,6 +32,5 +25,6 +27,20,3,5,6,19,49 +4,6 +17,6 +2,6,19,10 +13,4,6,21,18 +3,6 +44,3,6 +0 +3,5,46 +20,5,8 +24,17,7,3,5,6 +48,4,6 +14,6,15,16 +14,5,6,18 +4 +22,14 +14,6 +14,5,6 +20,3,6 +0 +14 +5 +3,4,14,5,6,16 +2,6 +20,17,14,6 +6 +39,50,3,5,6,16 +13,4,28 +2,5 +4,6 +34,14,6 +20,14,6 +24,7,4,5 +45,32,13,4,6 +12,4,14,29 +3,14,5,30 +14,5,23 +25,6,21,19 +6 +32,3,4,5,6,8 +6 +14,6 +5,6 +14,6,30 +25,5,6 +33,13,7,4,6,8 +20,5,6,28 +5,6 +32,17,14,5,6,30 +4,6 +2,17,14,5,6 +5,6,29 +5,28 +13,5,6,43 +25,14,5 +4,5 +12,6 +20 +6,18 +12,14 +4,5,6 +27,4,6,29 +20,3,6 +39,12,14,6 +14,5,6,16,46 +40,13,7,4,5,11 +6 +6,16,11 +24,14,28 +20,3,4,6,21 +36,4,5,6,10 +5,6,23 +7,6,28,15 +25,6 +20,4,14,6,10 +13,5,6 +39,12,6 +45,7,4,6 +45,20,6 +6 +5 +2,17,4,6 +22,7,14,5,6,46 +3,6,19,16,42 +41,3 +7,6 +17,7,3,6 +25,22,4,28 +38,6,15 +7,28,49 +25,7,5,6 +2,22,7,4,5,6 +17,5,6 +0 +22,14,6,19 +13,3 +33,13,3,6 +36,20,4,5,11 +22,6 +3 +7,14 +7,28 +48,4 +20,22,7,14,19 +22,3,14,6 +9,36,4,6,8 +25,22,6,11 +17,4,5,6,16,42 +3,14 +12,4,5,6,21 +39,4,14,23 +2,5,6,28 +36,35,20,7,14 +51,38,14,6 +36,6 +20,3 +22,5 +36,6,11 +5 +7,5,6,10,16,46 +12,25,14,5,6,15 +26,25,6,18 +38,4,11 +35,12,22 +6,16,49 +39,5,6,19 +2,20,3,6,49 +7,3,14,23 +14,8 +40,36,7,5,6 +27,5,6 +17,4,6,15,19 +7,3,5,6 +44,25,7,3,14,5,6 +25,22,4,5,6 +33,13,7,4,14,5,6,28,10 +24,5,6,15,16 +44,17,14,6 +7,5,6 +34,3,5,6,10 +25,5,6,29 +5,6 +44,5,6 +41,21,8,30 +39,9,6,15 +21 +7,5 +32,14,6 +4,6,30 +25,7,3,6,21,42 +47,32,6 +38,17,7,5,28 +20,6 +14,6 +3,5,6,30 +50,40,14,5 +13,5,21,43 +32,6 +12,5,6 +31 +33,3,30 +22,5,6 +5,6 +3,14,6 +51,12,28 +0 +14,5,15,11 +7,6,28 +6,46 +5,6 +2,22,17,4,6 +22,6,42 +17,14,6 +26,12,17,3,6,46 +2,20,7,4,6,21 +6,42 +3,4,5,6 +25,14,6,21 +22,3,6,43 +6 +17,7,4,14,6 +7,6 +14,6 +48,4,14,6 +0 +3,5,6 +36,7,6,19 +28,23 +46 +9,14,6 +32,35,3,5,6 +31,4,5,6,23 +12,7,6,21,29 +41,17,14,6 +36,13 +20,5,6,16 +3,4,5,10,16,43 +25,3,4 +22,17,14,5,6,8 +14,5,43 +6,16,42 +32,3,6 +26,25 +35,14,6,16 +15 +5,6 +25,5,6 +14,6,15 +6 +9,7,14,6 +2,7,6,21,46 +24,25,17,6,43 +14,5,6,46 +33,7,5,6,28 +20,49 +20,14,11 +2,20,14,6 +6 +35,14,6 +0 +32,20,6,28,15 +5 +6 +4 +25,17,14,6 +13,3,6,10 +22,5,8,46 +20,17,3,6,21 +7,28,49 +5,6,42 +25,20,10 +51,17,4,14,5,6,21 +25 +47,33,22,7,6 +5 +27,5,6,42,8,43 +14 +7,3,6 +24,47,9,6 +45,25,22,4,5 +34,4,6 +12,3 +20 +36 +22,6,11 +50,7,5,6,30 +22,14 +14 +25,6 +4,14,5,6,42 +2,6 +5,6 +3,4,14,6 +2,20,14 +40,26 +20 +25,22,6,19 +20,22,4,6 +17,5,6,15 +20,6,16,46 +6,15 +5,6,15 +38,6 +5,6 +34,36,22,14,6 +24,35,13,7,14,5,6,49 +36,3,6 +22,6 +6 +5,15 +48,14,5,6,28,16 +20,4 +7,6,18 +7,6,16 +35 +32,41,6 +5,6,18 +3,6 +6,23 +40,7,5,6 +7,3,5 +5,6 +6,49 +5,6,15 +25,4,6,21 +40,4,6,21,11 +13,3,14,5 +37,2,4,23 +27,17,5,6,43 +45,47,41,22,4,14,6,28 +50,14,6,19 +0 +20,5,6 +33,4,14,6,16,11 +39,3,5,6 +14,5,6 +14 +14,6 +22,17,5,6,29 +38,7,15,16 +7,5,6 +4,28 +25,5,6,21,28 +6 +34,6 +31,5,6 +12,17,5,6,23 +25,20,6 +44,22,14,6 +27,22,17,5,6,15 +51,5,6 +2 +41,5,6 +6,10 +24,31,2,25,3,5,6 +13,2,17,4,14,6,42 +20,3,14,5,8 +2,7,14 +5,6 +39,35,2,3,4,14,5,6,18 +6,42 +7,6 +4 +5,6,15,18 +12,2,6,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +7,5 +26,6 +14,5,6,42 +37,44,7,4,6 +47,33,6,28 +12,28 +51,22,17,5 +9,25,6,21,8,29 +22,4,6 +6,8 +5,6 +14,6 +41,13,5,6 +39,51,24,22 +31,25,17,14,6,42 +6,19 +35,14,6 +38,14,6 +12,14,6 +25,20,3,14,5,6 +48,5,6,28 +4,6,15 +51,12,4,46 +51,2,20,17,3,5,6 +26,5,6,28 +3,5,6 +6,29 +4,6 +41,4,14 +50,7,4,14,6 +6 +47,17,6 +25,20,14,5,6,21,8 +33,26,14,5,6 +17,6,28,16,29 +3,5,6,16 +44,3,8 +48,25 +6,28 +38,13,3,6,49 +0 +0 +4,5,6 +12,6,19 +7,6 +36,2,7,5,6 +7,14,5,6,21 +4,14,6 +17,6,42 +26 +39,13,14,5 +32,34,7,5,6 +2,5,6 +37,6 +41,3,14 +17,5 +3,14,16 +4,14,5 +17,5 +6 +24,22,6,16 +5 +20,3,14,29 +3,5,6,10 +13,14,18 +4,14,16,43 +33,7,43 +22,5 +5,6 +36,41,12,13,20,6 +22,6 +24,17,6,28 +0 +2,4,5 +20,6,43 +6 +14,6,10 +5,46 +32,38,4,6 +32,35,4,6,28,8 +20,14,6,19 +7,15 +7,6 +2,5,6,16 +17,6,42 +25,4,6 +4,6 +3,4,5,6 +7,5,6,21,19 +25,4,6,49 +31,7,30,49 +14,5 +37,48,12,14,6,28 +14,29 +32,14,6 +3,14 +6 +14,5,6 +25,7,6 +5 +5,23,11 +22,14,5,6 +0 +34,6 +24,20,6,19 +3,4,14,6 +51,7,6 +9,12,25,17,4,5,6 +22,17,14,19,18 +44,5 +25,6 +12,14,5,6 +12,3,5,6 +17,5,6 +47,12,13,3,5,6 +24 +22,6,15,46 +50,5 +20,6,46 +17,6 +12,25,14,6,19 +5,46 +6,19 +3,6 +6 +17,3,6,21,49 +12,5,6,28 +38,3 +6 +25,14,6,21 +14,5,6 +2,14,23 +3,5 +5,6 +17,6 +6 +7,6 +13,20,22,4,5 +32,3,6 +41,3,4,14,5,6 +2,16,42 +17,6,29 +48,14,6,21 +3,5 +2,14,6 +40,29 +5,6,30 +5 +39,31,38,49 +2,3 +31,20,17,7,14 +31,20,14,10 +6 +17 +47,14,5,6 +3,14,5 +13,6,15 +35,5,6 +13,20,4,6 +36,17,7,14,5,6 +5,6,19 +31,6 +14,5,6 +17,7,4 +2,14,5,6 +20,4,5,6,18 +19,42 +47,22,6 +3,6,42 +7,3,14,5,6 +32,14,6,15 +41,6,23 +14,6 +48,41,17,5,6,21,28,16 +44,13,20,5,6 +20,3,6,16 +13,14,6,28 +14,5,6 +2,25,17 +6,18 +9,6 +31,20,17,14,5,6,30 +4,6 +22,4,14,5,28,46 +25,17,14,6 +31,47,22,5 +44,7,4,5,6,46 +27,14,5 +3,16,42 +36,44,13,2,22,5,6,23 +3,4 +12,6 +39,3,6 +0 +6 +2,7,14,5,30 +6,16 +37,48,2,17,6 +13,25,4,5,6,42 +4,46 +2,22,17 +3,4,14,5,6,16 +21 +27,4,5,6 +5 +44,5,6,46 +6 +20,7,4,6,16,18,46 +2,3,4 +2,4,6 +2,14,5,6,11 +7,14,5,6 +4,6,28,11 +5,6,21 +13,20,17,5,6,21 +7,4,5,6 +6 +24,12,14 +7,14,5,28 +17,7,5,6,16 +6,30 +26 +36,20,5 +3 +35,25,20,3,5,6,19 +4,5,6,19 +36,17 +36,13,20,5,6,23 +3,4,5,6 +0 +25,4,5,23 +41,17,3,6,21 +38,22,17,7 +5,6 +34,25,4,14,6 +44,2,14,5,6 +6 +2,14,5,6 +7,5,19 +14,6,16 +6 +13,5 +2,20,16 +12,20,22,5,6,18 +38 +36,5,21 +38,25,14,6 +17,14,5,6 +0 +51,6,30 +25,14,6 +17 +3,14,5 +34,14,6 +3,6,42,8 +2,5 +40,5,6,30 +4,14,6 +39,7,3,5,6 +7,6,42 +17,6 +20,22,3,4,14,6 +47,9,3,5,6 +41,13,22,5 +23 +14,5,6 +35,17,6 +32,14,6,21,19 +48,22,17,5,6 +26,25,7,6 +2,6,49 +48,22,14,5,6,8 +22,14,6,28,15,18 +22,7,5,6 +14,29 +4,5,6 +13,6,10 +4 +5,6,21 +24,6,21,16 +4,28 +5 +5,6 +6 +20,22,17,14,6,42 +0 +40,4,6 +12,20,4,5,6,42 +37,14,5,6 +5 +12 +6,16 +6,15 +44 +5,6 +7,5,6,11 +2,22,14,42 +44,6,15,8 +14,5,49 +2,14,6 +20,14,49 +32,13,7,4,6 +2,20 +5 +50 +2,3,4,6 +44,4,6,18 +31,13,22 +3,4,6 +7,14,6 +17,5 +14,6 +14,6 +4,6 +5 +25,5,6,15,42 +5,30 +35,5,6 +3,5 +6 +50,4,6 +2,7,4,14,6,28 +27,14,6 +27,25,20,6 +22,17,14,6 +22,7,6 +3,6,21 +51,4,14,6 +38,3,5 +6,19 +2,25,6,42 +29 +6,18,11 +5,6,16 +2,25,20,5,42,30 +44 +20,6,28,42 +41,14 +40,44,14,5,6 +14,6 +5,6 +4,6 +7,6 +20,4 +9,14 +22,14,5,6,19,10,29 +3,11 +47,14,5,6 +2,20,3,5,6 +13,17,5,10 +23 +5,19 +0 +5,6,28,15 +12,25,17,14,6,42,29 +17,7 +3,6 +33,6,49 +25,7,3,4,6,21,42 +25,4,16 +20,14,6,8 +50,5,6,21 +12,3,4,6 +0 +3,14,6 +6 +40,14,5,6 +41 +7,6 +9,22,14,5,11 +6 +44,6 +12,20,5,10 +6 +14 +7,6 +44,20,5,6 +3,5,6 +25,7,6,46 +3,6 +3,5,6,16 +47,12 +33,22,6 +5,6,28,10,8,11 +12,6,10 +6 +31,48,25,20,6 +20,6 +5,18 +14,5 +4,5 +25,5 +5,6,15 +35,25,17,4,14,6,30 +6,10,23 +12,2 +14,6 +22,6 +2,17,14,5,6 +2,7,5,6,43 +40,13,6 +8 +14 +4,5 +3,14,6,28 +37,14,6 +20,22,6,21,8 +20,5,6 +32,25,20,5 +22,3,14 +35,7,3,6,8,29 +17,6,18 +22 +6,46 +4,14,6,11 +32,20,14,6,29 +37,25,3,6 +5,8,30 +14,5,6 +48,5,6,18 +51,33,2,3,5,6 +2,6 +0 +17,6 +14,6 +13,25,14,5,6 +13,7,5,6,29,30,49 +17,5,6,15 +4,15,46 +12,4 +5,6 +20,6 +35,14,5,6,30 +5,18 +12,7,6 +44,6 +17,7,6 +3,5 +26,12,16 +17,8 +6 +25,3,14,5,6 +40,2,6,42,29 +37,7,6,21,46 +26,5,6 +27,17 +35,20,5,6 +17,3,5,6 +25,4,14,5 +27,3,21,43 +40,20,5,6 +51,24,6,11 +22,5,28,15,18,30 +51,34,17 +44,5 +34,35,2,5 +3,4,6 +37,7,28,11 +22,14,5,6,28 +3,19 +24,14,6 +6 +0 +35,14,6 +5,16 +51,44,3,11 +4,5,6,8 +12,5,6 +5,6 +18,23 +27,6 +22 +39,7,3,21,49 +5,6 +9,13,5 +3,5,6,30 +31,5,6 +37,6 +9,12,25,20,5,6,28 +5,6 +17,5 +26,4,6 +2,7,6,8 +24,6 +5,6,10,42,46 +22,6 +3,5,6 +9,14,6,15 +13,4 +22,5,6,8,46 +35,5,6 +7,5,6,23 +13,6 +6,23 +7,4,14,5,18 +20,5 +21 +14,5 +0 +45,2,3,6 +12,2,17,6 +34,25,3,4,6 +3,6 +17,4,14,6 +6 +14,6 +0 +5,6 +13,14,6 +31,17,6,21,23 +6,18 +3,11 +3,14,5 +32,25,5 +44,22,14,6,8 +17,3,6 +7,6 +37,47,4,6 +12,3 +14,5,6,19 +12,5,6 +6,21,11,30 +12,22,4,6,29 +22,4 +9,20,22,5,6,21,46 +6,30 +35,20,5,6,19 +6 +5,6 +24,40,14 +4,14,5,6 +41,7,5,6 +45,14 +41,17,6,19 +34,33,21,19 +51,35,25,4,14,5,6 +35,20,29 +20,3,4,6 +9,10 +25,6 +14 +9,4,6,16,8 +12,14,6 +48,20,5 +44 +14,6,46 +9,4,6 +4,5 +7,14,6 +25,5,6,46 +3,14,6 +2,5,6 +42 +26,5,6 +34,2,17,6 +6,42 +22,3,14,42,29 +7,4,5,6 +25,5,6,21 +26,17,3,23 +7,5,6 +31,25 +13,6 +2,5,6 +12,6 +7,3 +34,6,21 +34,17,5,6 +41,13,14,6 +7,14,6 +6 +27,25,22,17,3,14,6,8 +6,49 +27,2,6,21 +22,7,14,18 +13 +24,12,6,16,43 +2,25,5 +33,14,5,6,43 +5,6 +5,6 +14,5,6,16,18,8,46,11 +21 +48,26,4,6 +47,17,7,3,4,5,6 +13,22,14,8 +25,22,17,6 +22,6 +7,6,28,11 +3,10 +14,6 +3,5,6 +26,12,6 +5,6,28 +36,33,14,6 +2,5,28 +5,6 +22,6 +6 +5,29 +26,5,6,10 +26,22,5,6 +47,7,5,6,16,46 +3,6 +6,15 +17,14,6,21,16 +4,5,6,46 +22,6 +6 +25,20,4,5,6,19 +0 +20,6 +44 +2,17,6 +20,4,6,28 +13,17,14 +12,17,5,6,42,18 +12,7,4,6,11 +26 +5,23,49 +25,6 +7,14,6,42 +5,6 +40,9,41,25,3,14,5,6,18 +5,19 +13,5,6,10 +38,17,7,4,14,6,49 +7,3,4,6 +22,4,28 +12,13,4,6,19,46 +6,46,49 +6 +37,12,2,5,6,43 +0 +3,5,6 +32,6 +50,3 +4,5,42 +39,35,4,5 +6 +51,4,15,29,49 +17,5,6 +12,13,7 +40,22,5,6 +25,22,4,14,6 +6 +27,5,28,29 +7,16 +48,7,4,14,6,18 +40,4,5,6 +13,4,5,6,49 +36,6 +35,17,19 +4 +48,13,14,5,6,49 +3,5,6 +7,4,5 +24,3,5 +27,6 +5,6 +17,14,6,8 +31,5,6,10 +4,6 +32,44,4,14,5,6,21,23 +41,17,6 +35,26 +7,5,6 +14 +4,5,18 +31,34,13,5 +20,14,6,21 +6 +14,6 +6,18 +3,14 +7,3,5,6 +6 +14,5,6 +28,43 +41,6 +14,6 +17,4,6 +6 +22,4,5,6 +14,5,6 +4,6 +0 +7,6,46 +36,20,7,6 +13,4,14,6,21 +4,14 +6 +21 +5,29 +13,2,19 +2,5,6,21,8,46 +12,3,6 +25,5,6,15,49 +35,7,29 +12 +31,6 +6 +25,30 +6,18 +47,32,28 +20,17,5 +6 +36,13,4,21,29 +17,29 +5 +7,5,6 +48,14,43 +25,5 +44,14,10 +27,12,6,18 +22,7,6 +6 +12,21,46 +12,22,17,14,6,29 +14,6 +4,14,6,19 +3,5 +39,23 +35,20,10 +0 +2,7,14,6,11 +24,13,6 +41,6 +7,5,6,28 +25,6,46 +7,4,5 +40,6,16 +22,4,14,5,19,49 +14,6,42,49 +12,4,6 +5,28,8 +25,6,19 +13,6,15 +5,42,23,30 +3,5,6,15 +6,19 +12,17 +20,7,6 +13,22,4,46 +47,6 +5,6 +20,3,5,6 +5,6 +5,6 +39,14,6 +17,5,28 +5 +20,6 +4,6,28 +38,6,19 +26,20,6 +33,28,19,11 +6,28 +25,6 +14,6,10 +25,14,5,6,16 +46 +17,14,5,6 +31,3,6 +17,14,6,21,15 +20,3 +34,12,14 +5,6,15 +14 +22,4,14,19 +12,6 +22,4,5,6,28 +24,4,5,6 +27,48,5,6 +41,2,7,6 +25,6,15 +45,47,6 +5,6 +22,17,4,6 +20,17,14 +2,17,3,5,21 +36,20,5,6 +37,4,14,6,21,15 +45,2,4,5 +3,5,6 +17,3,5,6 +48,14,6 +31,5,6 +6 +36,5 +6,42 +7,5,6 +2,6 +6,28 +6,43 +5 +7,4,14,6,18 +6 +31,5,6 +6 +38,6,21 +42 +33,12,3,5,6,19 +7,4,6 +9,35,22,6 +20,6,21,29 +4,14,6 +5,6,10,43 +12,7,4,5,6,28 +6 +6 +22,3 +7,4 +13,10 +3,6 +34,14,6,16 +48,25,5,6,42 +22,7,3,5 +7,3,4,5,6 +50,7,14,6,43 +38,7,14,5,6,49 +6 +22,5,6,30 +41,7,5,21 +14,6,42 +3,4,5 +44,25,20,4,6 +13,14,6 +6,23 +7 +22,4,14 +2,4 +17,7,6 +13,14,6 +17,5,6,46 +5,6,42 +38,4,6 +26,42 +5,28 +22,14,5,6 +50,21 +7,42 +51,5,10,42,8 +25,6 +5,6,28 +24,4,6,28 +14,6,21,11 +45,6 +4,6 +25,17,6 +2,6 +38,4,14 +39,5,6,10,16 +6 +3,49 +17,5,6,42 +22,6 +4 +20,3,5,6,42 +4 +20,5,6,15 +17,7,4,5,10 +17,6 +27,5,19 +24,7,3,5,29 +2,4,6 +12,5,11 +3,6 +0 +20,3,4,6 +2,14,6,28,18,8 +20,14,6 +41,5,6,28 +25,4,19,18 +12,20,3,5,6 +50,3,5,6,42,43 +17,6 +20,17,7,4 +6 +5,6 +2 +5,10 +6 +14 +20,6 +6 +2,14,5 +14,5,6 +14,6,42,46 +39,7,4,6 +3,14,42 +38,22,7,19 +48,44,3,6 +5,6,42,29 +41,6 +3,14,6 +5,6,15 +37,13,6 +22,3,4 +45,14,5,6 +2,6 +38,5,6,23 +2,6 +50,17,5,28 +17,5,6,29,43 +9,5,6 +27,22,4,5,6 +4,6 +20,22,5,6 +45,4,5,6,10 +7,4 +41,5 +38,6,15,10 +13,22,7,3,6 +39,12,22,3,6 +9,19 +13,14,5,6 +14,6,42 +12,14,6 +17,14,5,6 +20,7,5,6,15 +33,2,5,28 +47,6,21 +6 +4,5,6,42 +7,4,6,30 +6,10 +22,5,6,49 +31,17,7 +39,14,6,42 +50,14 +8 +2,3,5,6 +4,6 +39,17 +5,46 +6 +34,25,7,4,6,28 +33,3,5 +48,4,14,5,11 +6 +5,6 +5,6,49 +41,7,3,14,5,6 +6,30 +4,6 +40,41,12,22,5,6 +20,14,6,49 +14,5 +22,7,6 +48,2,17,4,5 +31,6 +17,5,11 +14,6 +14,6 +17,6 +5 +48,2,20,6,18 +25,5,6 +24,9,6,21 +3,5,6 +6 +48,14,5,6,46 +51,41,6 +20,14,6 +34,5 +14,6,16 +48,44,22,5,6 +3,6,19,16,29 +48,6 +51,14,5,6 +47,27,2,5,19,23 +0 +6 +6,21,46 +9,5,6 +6,18 +14,5,6,19 +12,5,6 +4,5,6 +17,7,5,8,11 +26,17,4 +37,17 +5 +24,34,5,6 +32,6,18 +44,22,14,6 +23 +14,6,10,23 +2,14,6 +35,6,10 +6,8 +39,45,12,3,6 +26,6,16 +44,4,14 +3,5,6 +6 +39,5 +13,3 +41,20,14,6,21 +25,3,16 +31,16 +32,17 +27,22,4,10 +6,15 +6 +13,20,22,5,6,18 +33,22,5 +20,22,5,6 +6 +45,48,7,5,6 +22,14,6,28,49 +3,14,6 +33,13,5,6 +44 +13,6 +22,17,4 +13,14,6,19 +35,22,14,5 +24,4,28 +6 +13,5,6 +6 +35,22,6 +3,6 +41,12,20,28 +3,14,5,6,46 +4,5 +36,2 +14 +33,7,14,6,21 +36,22,5,6 +35,44,13,22,6,21,28 +40,3,6,16,29 +22,4,6 +17,14 +38,22,6,19,29 +12,20,4,5,6 +38,13,7,4,5,6,30 +5,6 +37,44,3 +22,4,5,10 +6,8 +3,14 +0 +14,5 +26,17,6 +6,23 +17,5,6,19,16 +4,5,6,21 +31,9,17,7,6 +47,27,7,4,5,6 +5,6 +3,6 +27,41,6,16 +36,6,28,15 +22,6,15 +17,7,14,5 +31,12,17,4,5,6 +2,4,8 +6,21 +3,14,5,6,42 +17,14,6 +25,22,4,14,6 +40,7,10 +14,5 +41,5,6 +2,4,5,6 +31,6,16 +6 +17,5,6 +31,6 +22,8 +17,5,6,28 +51,14,5,6,18 +20,14,5,6,18 +6,16 +6 +6 +21 +5,6 +2,17,5,6 +7,6 +4,6,15 +14,5,29 +2,17,4,5,6,15 +25,20,22,6 +6,11 +36,2 +38,12,20,5,6 +17,3,6,19,16 +9,27,20,4,14,6 +37,7,14,6,21 +14,6,21 +7,6 +2,22 +36,7,6,46 +27,4,14 +20,6,16 +51,6 +6 +7,6,49 +7,5,6,49 +51,20,3,14,5,6 +13,14,6,30 +20,14,5,6,30 +31,5 +14,5,6,42 +5,6,11 +17,4,6 +7,4,5,6 +14 +14,5,30 +13,6 +17,4,21,46 +40,35,7,5,6,16 +5,6 +6 +45,31,44,6,46 +14,5,19 +5,10 +6,18 +6 +4 +9,35,25,22,17,6 +6,19 +20,3 +2,23 +3,14,6 +20,22,5,6 +47,4,5 +6 +50,22,6,18 +17,6,11 +20,3,10 +37,6 +24,14,6 +40,47,25,20,19,43 +45,25,3 +25,6 +2,20,3,5,6,15,46 +14,6 +12,25,4,5,6 +20,17,6 +14 +12,4,5,6 +13,2,7,28 +17,6 +20,6 +7,6 +44,4,14,5,6,46 +33,6,16 +6,23 +0 +0 +9,17,14,6,28,30 +4,6,29 +47,34,48,2,43 +0 +25,6 +2,7,6,21 +24,40,5,28 +14,6 +7,5,6 +2,4,5,6,16 +50,20,14,5 +6 +5,6,21 +4,14,5 +0 +14,6,15 +4,5,6,19 +17,5 +14,21 +0 +26,7,4,6 +0 +3,6,8 +51,26,20,6 +20,7,14,5 +26,3,5,6,21 +6,15,42,49 +5,6 +20,17,6 +5,6 +37,13,20,4,14,16 +47 +22,6,42,23,49 +32,5 +13,22,17,5 +5,6,21 +20,22,14,6,28 +51,17,7,3,6 +7,4,5,6 +2,3,5,6,43 +3,6 +37,7,5,6 +32,15 +50,6 +2,3,21 +5,6 +4,6,15 +22,5,6 +14,6,29 +14,5,6 +3,6 +45,20,5,6 +4,6 +39,41,17,6,8 +12,6,23 +4,6,10 +39,22,17 +6 +3,5,6 +34,38,17,23 +36,3 +35,13,25,4,14,5,6,19 +7,14,6,18 +9,27,25,7,5 +13,5 +33 +40,4 +6,23 +17,21,42 +20 +33,25,5,6 +39,2,20,3 +5,6,16 +14 +17,7,5,21,29 +32,7,6,21 +7,14,5,6,21,15 +6 +25,14,6 +32,5,6 +12,6,21 +12,17,4,5,6,46 +38,20 +18 +37,14,5,6 +41,6 +45,35,2,19,29 +6 +3,14,5,6 +20,17,5,6 +44,3,6 +13,3,6 +4,14 +50,12,7,6,42 +34,36,6,19,43 +20,6 +35,3,6 +25,6,21,28,15 +4,14,5 +12,7,14,6 +41,20,3,6 +6 +6,19,11 +38,5,6 +20,17,14,18 +41,5,6 +14,6,42,18 +2,20 +26,5,8,11 +13,25,6 +14,6,43 +24,6 +6 +13,5,6 +50,5 +13,3,14 +14,6,21 +5,6 +2,17,7,10 +39,51 +3,4,14,6,42 +34,5,6 +7,14,6 +37,20,17 +22,4 +22,14,5,6,11 +13,6 +25,6 +7,5,6,10 +5,6 +26,25,6 +25,14,6,46 +14,6 +4,14 +22,6 +20,22,14,6,28 +7,3,6,10 +24,14,42 +13,5,6 +14,6,42 +13,6 +32,14,6 +14,5,6,42 +47,17,3,6,28,42 +6,10 +12,25,3,28,16 +13,7,4,14,6 +3,14,6,49 +24,5,6,18 +5,6,10 +47,7,6 +48,22,6 +20,6 +25,22,17,4,6 +39,33,22,6 +14,5,6,11,30 +5,6,21 +3,23 +0 +0 +6,21 +24,2,4,14,6,10 +3,6 +2,22,14,29 +48,12,22,42 +33,20,6 +36,22,5 +17,7,4,5,6,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +31,17,3,21 +3 +25,3,6 +13,6 +14,11 +34,41,17,6,42 +6 +13,5,6,16 +34,20,28 +2,17,7,6 +36,20,5,6 +20,14,6 +9,4,6 +0 +12,6 +39,31,47,3,5 +34,5,6,16,23 +17,5,6 +14,6,21,42,18 +13,6 +3,4,6,43 +35,14,5,6,21 +12,5,6 +4,5 +12,3,5,6 +45,11 +17 +17,5,6,15,19 +5,6,28 +47,2,25,6,19 +5,6 +51,48,6 +17,5,8 +38,6,49 +12,5,6,23 +45,4,5,6 +4,5,6,28,29 +6,29 +2,7 +36,3,5,21 +38,12,25,17,7,21 +6 +6 +31,17,19,42 +22,5,6 +36,7,6,19,42 +14,5,6 +6 +38,7,3,6,46 +17,5,43 +14,6,21,28 +48,6,21,11 +47,5,23 +40,22,8 +20,6,16,42 +12,13,14,5,6 +5,6 +5,6 +50,32,4,5,6 +44,26,20,5,6,15,23 +20,14,6,28 +9,4 +33 +12,13,17,7,6,28,42 +0 +13,5,6 +22,3,4,5,6 +28 +51,6,15 +32,12,25,14,15,11 +3,4,5,6 +33 +44,6 +24,26,6 +38,5,6 +6 +51,6 +12,3,6 +5,6,21,42 +20,3,6 +17,5 +22,7,5,6 +7,4,6 +47,38,6,16,30 +6,18 +12,7,4,6 +22,6,19 +48,2,14 +3,6 +7,3,4,14,6,21 +17,4,5,6 +17,6 +14,5,6 +6 +3 +7,3,14,6,19,18 +31,22,17 +0 +4,6,19 +12,4,6 +4,5,6 +5,6 +0 +3,6,23 +2,7,6 +39,14,6 +48,17,3,4,42 +14,6,19,29 +48,3,5,6,46 +44,12,13,22 +20 +3,4,5,6 +38 +33,20,6 +2,6 +4 +3,6 +17,14 +14,6 +5,6,21 +17,7,5,6,18 +7,5,6 +25,17,14,6 +3 +4,14,6 +25,22,7,6 +17,14,5,28 +7,16,18 +14,6 +6,29 +5,6 +32,48,26,5,6,11 +17,6,43 +10,16 +40,14,6 +2,5,6 +12,22,4,5,6 +5 +32,2,14,6 +27,4,5,6,19 +4,6 +39,13,22,8 +3,5,6,28,10 +4,6 +31,5 +13,20,22,3,4,6,28,43 +4,5 +12,3,5,6 +44,13,7,15 +14,46 +27,14,6 +0 +9,6,23 +6 +25,14,5,6,42 +46 +5 +0 +20,6 +17,4,6 +35,4,5,6,10 +25,5 +37,38,5 +4,6,23 +25,3,5,6,21,15 +17,14,5,6,10 +3,6,28,30 +6,21 +3,14,6 +31,48,13,4,19,8 +25,5,6,42,29 +27,6 +12,22,3 +41,14,6 +32,48,4 +0 +47,3,5,6,21 +6,19,42,8 +25,17 +20,5,6 +51,4,6 +36,22,6,8 +5,6,46,29 +26,5 +45,48,20,6,21 +27,7,14,5,6 +2,20,7,5,6 +20,14,5,6,42 +5,18 +17,7,5,6 +20,14,5,6,23 +40,7,6 +51,40,12,14,6 +38,3,4 +14,5 +22,7,5,6 +6 +6 +22,5 +2,22,3 +48,20,21,19 +22,14,6 +14,6 +2,4,6 +47,9,41,4,6,21 +13,5,46 +14,5,6,19,23,11 +4 +17,7,5 +2,20,5,10,49 +36,22,3,6 +3 +2,5,6 +2,6 +2,20,5,6 +0 +4,5,6 +7,4,14,6,43 +26 +44,6 +3,6 +48,4,5,6,29 +0 +5 +47,25,20,22,3,4,14,6,16 +32,14 +2,14,6 +2,25,14,6 +4,14,5,6,8 +4,14,5,6,28 +20,22,7,4,5,49 +12,20,6 +4 +7,6,11 +13,22,6,23 +5,6,15 +17,5 +14,11 +27,5 +32,3,14,6,42 +32,5,11 +50,33,2,5,6 +22,7,6 +29 +22,14,5,6 +5,6 +17,5,6 +26,7,3,5,6,18 +26,22,4,14,5,6 +48,25,4,6 +12,3,5,10,23 +27,6 +6,46 +20,17,4,6,15 +22,5,6 +32,14,6 +14,6,23 +38,25,6 +44,14,6,15,42 +5,6 +17,6,23 +14,5,6 +14,6 +3,4,6 +4,14,5 +34,35,2,14,6 +25,6 +3,14,6 +17,5,6 +38,6 +44,17,14,6 +13,7,14,6 +2,3,5,6,8 +40,2,7,5,49 +12,22,3,14,6,23 +12,7 +14,6 +34,25,3,6,29 +26,20,6,19 +27,26,3,6,19 +14,5,6 +12,17,6,19 +6,46,30 +20,22,3,5,6 +28 +2,14 +4,5,6 +27,33,22,5,6 +26,6,43 +41,13,5,6 +9,7,6,29,11 +5,6,8 +48,33,19 +17 +7,6 +20,5 +6 +14,8 +6 +4,5,6 +25,14,6 +9 +6,29,49 +12 +0 +9,5,6 +14,6 +39,40,48,3,5,6 +5,6 +5,6 +3,14 +33,17,6 +26 +32,13,3,14,5,6 +25,7,3 +24,17,6,23 +5,6 +7,3,4,6 +6 +4,14,5 +5,6 +2,5,6,16 +51,2,22,15 +17 +36,2,4,6 +34,14 +3,14,11 +12,5,28 +20,6 +4,5,6 +20,22,14,5,6 +13,4,19,10 +5 +4,14 +6,42,18,23,8 +27,14,5,6 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +44,5,23 +26,12,3,5,6 +6,15,30 +44,17,14,5,6 +20,17,3,6,10 +0 +17,6 +0 +3,5,30 +4 +5,6,10 +25,4,6,16,29,11 +14,5,6 +22,14,5,6 +5,43 +2,22,4,5,6 +0 +36,13,5,6 +3,6 +37,2,21,15 +35,2,4,6,18,29 +3,14 +47,34,14,6 +22,7,14 +4 +5,6 +25,5,6,19 +22,6 +4,5,6 +6 +6,46,43 +12,13,6 +6 +31,34,3 +49 +7,6 +25,14,15,16 +12,22,17 +25,6,23 +22,7,5,6 +31,2,8 +20,3,6 +5,6,23,29 +17,6 +2,14,21 +44,12,14 +5,8 +12 +2,7,3,30 +41,4 +35,25,6,10,23 +27,17,28 +14,6 +20,22,4,14 +4,5,6 +14,6 +26,14 +13,25,4,6,21 +20 +12,25,14,6 +14,6 +6,43 +7,4,6 +6 +5,6 +6,19,18 +14,6,28 +33,20,4,6,19 +4 +2,22,6 +34,5,6,28,8 +5,6 +6 +7,6,49 +6 +14,5,6,16 +37,2,25,6 +50,47,3,19 +25,18 +6 +9,4,5,6 +3,6,15,19,11 +38,4,6 +13,17 +17,6,18 +5,6 +13,17 +3,14,6,19 +3,30 +7,16 +7,5,6 +0 +47,2 +25,3 +12 +33,20,14,5,43 +5,6,23 +3,14,5,6 +40,38,14,5 +20,22,7,6 +7,14,5,6 +22,3,5,6 +6 +25,6 +41,17,14,6 +33,25,14,5,21 +25,5,6 +22,5,6 +37,6 +5,6,19,29 +4,6,42 +13,5,6 +12,6 +13,17,6,46 +14,6,28,16 +38,4,14,6 +25,22,6,15,11 +35,6,10 +12,6,8 +9,33,12,13,6 +17,14,6 +17,3,5,6,16 +4,6 +51,22,14 +4,6,21 +2,4,6 +13,14,6 +6 +35,14 +32,9,6 +25,5,6 +25,22,3,5,6 +6,19 +14 +6,28 +41,3,4,14,6,46 +9,20,4,14,5,6 +3,6,16,11 +22,7,6,18 +6,29 +33,5,6,16 +35,13,2,4,6 +22,4,6 +26,20,5,6 +20,14,5,6 +2,17,23 +6 +22,6,16,30 +17,7,4,6 +22,4,5,6 +17,6 +40,41,6 +26,22,6 +3,4,5,6,16 +36,4,6,29 +33,6 +14 +25,22,7,4,5,6 +9,7,14,19 +4,14,5 +2,4,5,6 +35,6,11 +45,6 +2,6,15 +48,14,6 +6 +6 +35,27,33,14,6 +13,5,6,19 +5 +32,6 +17,4,5,6,15,18 +26,6 +45,13,5,6 +21,23 +14,6 +14,6,18 +31,27,41,12,22,17,6,43 +14,6,49 +14,5 +14,6,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +13,5,6 +35,33,22,7,6,42 +38,2,6,18 +0 +13,6,10,49 +45,22,4,5 +5 +3,6 +20,14,5,28 +4,6 +3,6,29 +13,17,7,6,10 +5,21 +5 +35,22,14,5 +22 +2,3,6,21 +12,25,14,5,6 +13,6,29 +5,6 +5,6 +36,14,5,6,16 +6 +7,4 +5 +5,6,46 +33,17,4,5,6 +22,7,5,6 +0 +12,22,6 +33,6 +13,17,5 +6 +37,6,46 +26,7,14,28,15,10 +14,6,43 +12,20,6,28 +25,17,4,14 +4,5,8 +41,3,5,42,8 +4,14,8 +3 +5 +45,25,22,3,6 +29,43 +9,2,14,5,6 +27,12,17,4,5,6 +6 +41,22,19 +2,22,6,30 +6,42 +35,14,6,10,42 +2,6 +7,6,49 +45,13,6 +22,6 +15 +14,6 +41,26,6,19,16 +25,5,6 +20,22,4 +37,17,7,6 +3,14,5,6,19 +3,6 +17 +22,42 +38,12,22,7,8 +4,5 +22,7,4,5,10 +7,6 +17,6,42,46 +44,4,5,6,19 +35,5,6 +24,4,5,6,10 +5,6 +33,4,5,6 +13,6,21 +23 +33,5 +6 +41,17,8,29 +3,5 +13,6 +25,7,4,6 +14,6 +14,6 +6 +5,6 +13,17,5,6 +24,14,5 +9,12,20,17,3,4,14 +48 +22 +39,6 +31,4,5,10,8,49 +14,5,6 +6 +13,14 +20,4,5,8 +5,6 +12,7,6 +0 +4 +14,5,18 +6 +25,6,46,11 +3,14,6,10,46 +5,6 +20,28,19 +3,5,6 +40,7,6 +6 +12,22,14,6 +14,5,6 +5,6 +38,4,14,6 +26,13,6 +6 +5,6,18,29 +47,5 +14,6 +50,48,49 +44,3,14,6 +27,12,7,5,42 +12,14,5,6 +5,6 +22,14,6,30 +25,6 +2,5 +37,5,6,11 +5,6 +7,6 +6 +45,6 +3,6 +17,4,14,6,18 +14,5,6,42 +27,4,6,23,8 +14,6 +6 +5,6,21 +14,21,19,10 +36,6 +12,25,22,6,42,18,23 +7,4,6 +3,6,30 +6 +26,22,3,6,23 +5,8 +17,3,5,6,28,15,10,18 +27,14,10,43 +7,6 +12,6 +13,17 +13,6 +24,27,12,17,14,6 +33,5,11 +13,25,5,6,19 +35,6,19 +0 +14,6 +6 +47,12,6 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +22,14,6 +17 +17,3,6 +42,18 +6 +5 +38,33,2,20,30 +12,22,7,4,6 +47,25,20,5,6 +3,5,6,21 +47,7,4,6 +50,4 +6 +6 +6,10,30 +6,21 +5,6 +22,6 +4,14,6 +14,5 +5,6,18 +6 +2,25,3,14,5 +20,5 +48,14,15 +7,5,6 +33 +25,6,23 +6 +4,14,6,23 +25,4,5,8 +2,14,6,10 +12,6 +35,5,6,23 +23 +14,6 +4,5,6,46,30 +3,6 +5,6 +6,15 +25,6 +36,3,4,14,19 +20,17,4,6 +7,46 +26,17,7,6,10,16 +6,19 +48,12,15 +35,6 +14,5,6 +44,4,5,21,49 +6 +0 +36,27,6 +26,7,14,6 +20,6 +5,6 +4,6 +5,49 +2,17,3,5 +50,14,6 +27,14,30 +5,6,10 +26,4,6,21,11 +16 +7,5,6,21 +22,6,16,18 +6 +26,4 +3,5,6,21 +6 +22,14 +6 +24,6 +25,14,5,6,15 +38,5,6 +5,6 +13,3,6,11 +38,6,30 +40,4,5 +6,10 +6 +20,14,5 +2,3 +7,6,16 +12,3,4,6 +27 +20,14,6 +47 +20,14,6 +9,27,6 +33,6 +6 +12,5,6,18 +51,7,3,5,6 +5,6 +39,41,5,23 +6 +0 +2,5,6 +45,22,6 +30 +9,5 +25,14 +14 +45,3,29 +6 +7,5,6,16 +17,3,4,6 +22,15 +5,6 +17,6 +48,5,6 +14,6,18 +25 +4,6,19 +25,14,6 +3,21,29 +22,14,5,6 +13,14,6 +4,6 +20,4,5,6 +5,6 +13,22,4,6 +48,5,6,11 +3,6 +14,42 +4,5,6,15 +2,6,11 +22,6 +13,25,17,4,5 +27,25,4,5,6 +22,14,28 +5,6,19,46 +17,14,6,23 +7,6,46,11,30 +22,4,6 +3,4,6 +39 +14,6 +6 +25,6 +3,4,15,42 +34,2,20,14,5 +0 +5,6 +48,6,29 +17,3,4,14,6 +12,20,6 +6,15 +6 +13,5,21 +27,3,6,19,30 +17,5,6 +34,21 +14,6 +7,14,5,6,30 +14,6,30 +6,19 +25,5,6 +5,19 +35,12,14,5,6,11 +7,3,6 +14,6 +25,5,6 +7,46,49 +5,6 +25,5,6 +14,6,11 +51,2,4,14,5,6,8 +33,15,16 +40,41,6 +8 +20,17,7,4,6 +36,3,14,6 +3,6,42 +2,3,6,18 +6 +17,4,14,6,11 +33,4,14,5,6 +39,45,14,6,8 +13,22,14,5,6,18 +9,41,17,6 +7,14,5,6,15,23 +7,3,14,6 +13,3,14 +25,14,6 +4,5,6,46 +3,6 +34,41,17,6 +36,3,14,5,6 +33,22,6 +25,17,5,21 +34,20,3,6 +25,17,5,49 +40,25,3,6,16 +20,3,5,6 +6 +7 +33,7,6,18 +5,6 +13,22,16 +6 +41,22,5,8 +18,49 +31,6 +14,5,6,21 +6 +47,5,6 +51,45,48,15 +4,5 +6 +7,29 +22,4,6,8,29 +22,5,6,10 +37,13,25,4,6 +6,49 +5,49 +14,6,8 +25,7,6 +6 +17,3,6 +2,4 +12,4,6 +22,6 +2,3,4,5,6 +17,7 +6 +32,48,22,4,14,5,6 +25,5,6 +48,4,6,16 +5 +0 +3,10,11 +20,16 +32,35,41,6,19,42,49 +12,14,5,6 +7,6,23 +7,3,23 +31,17,46 +13,15 +13,14,5,6,43 +20,4,8,43 +32,6,28,10 +4,14,6 +6,21 +14,19 +14,5,6,18 +2,4,5 +6 +31,6 +14,5,6 +7,3,14,6 +26,17,6,43 +7,14,5 +39,6 +6,16 +38,2,17,6,43 +12,7,5 +17,3,6,46 +17,7,5,6,21,19 +40,6 +3,6 +22,6,49 +4,14,5,6 +14,6,30 +38,13,6,28 +35,3,5 +5,6 +27,7,16 +6,29 +14,5,6 +6,29 +33,25,7,4,6 +17,6,18 +3,6 +6 +22 +34,4,14,6 +5,6,46 +4,5,6,15 +24,36,20,19 +20,17,3,4,14 +22,14,6,28,16 +9,48,14,15,16 +0 +47 +13,20,6,8,46 +5,42 +39,48,3,6 +6,10 +17,6 +5,6 +9,7,14,5,6 +6,49 +7,14,6 +40,17,14,6,10,16 +13,2,25,4,14 +2,5 +25,17,5 +25,5,6 +50,6 +7,4,6 +47,5,6,28 +6 +44,22,4,5,6 +32,9,12,20,7,5,28 +14,6,46 +14,19 +4,5,6,10 +22,6,29 +4,6,28,46,29 +35,48,17,5,6 +5,6,30,49 +5 +5,6,28,10,42,49 +45,13,14,5,6,18 +37,25,4,6 +12,5,6 +39,4,15 +6,15 +22 +27,13,25,5,6 +35,3,4,6 +38,6,28,42 +36,25,14,6,16 +12,5 +26,25,14,5,6,15 +13,7,6 +6,30 +4,6 +4,6 +12,6 +7,3,6,42 +48,3,5,6 +50,6,15 +12,4,14,5,15 +13,7,14,6 +37,9,34,33,2,17,4,6 +14,6 +39,5,6 +3,14,6 +7,3,5,6 +39,4,6,11 +7,4,5 +6 +22,5 +6 +45,7,14,6 +50,35 +12,2,6,43 +3,6,19,8 +3,5,6,18,43 +3,14,16 +2,17,4,21,29 +4,5 +7,5,6 +22,6 +13,22,6,19 +34,17,14,5,6 +2,6,30 +5,6,10 +31,6 +21,30 +25,4,6,18,30,49 +0 +34,14,6,46 +50,12,25,4,6 +44,13,17,4,15 +48,3,6,11 +51,45,7,14 +4,5,6 +37 +44,12,3,14,15 +2,4,6,23 +4,15,29 +6,15 +6,28 +37,27,48,20,17,5 +7,14,5,6 +48,7 +7,5,6,10 +32,2,17,14,5,6 +6,28 +32,5,6,46 +41,7 +6 +5 +5,6,30 +14,6 +22,5,6,30 +44 +6 +22,6 +4,5,6 +50,12,6 +17,3,5,6 +3,6,28 +44,5,6 +14,6,21 +33,13,14,6,8 +14,21 +25,5,6,8 +4,14 +5,6 +7,6,15 +24,38,48,22,3,14 +6 +14,5,6 +40,3,4,5,28 +5 +24,4,5,6 +38,2,4,14,10 +12,3,6 +37,25,7,4,5,15 +22,17,10 +14,6 +31,2,17,5,6 +38,14,5,6 +17,14,6 +7,6,49 +40,25,6 +40,35,14,5,6 +6 +27,33,4,6 +25,22,14,5,6 +22,6,21 +17,3,5,42,18 +44,4,6 +37,3 +44,20,3,6 +32,12,14,5,6 +33,6,10 +2,7,18 +38,13,5,6 +7,3,6,15,11,30 +3,14 +26,3,5,6 +13,5,6,11 +5 +35,26,5,6 +4,5,6,19 +4,5 +6 +0 +6 +26,4,15 +6 +12,13,4,14,6 +4,5,6,15 +5,42,43,49 +17,14,6 +6,19,29,49 +14,6 +17,14,5,6,18,43 +31,17,6,42 +51,5,6 +37,47,6 +38,26,6,16 +37,15,10,18 +27,4,6,21 +17 +33,25,3,6 +17,3,14,5,15 +7,4,5,6 +41,22,3,4,5,6 +41,6 +38,15,42 +5,6,21,11,49 +50,6 +7 +20,22,3,4,6 +10 +50,22,5,6,43 +25,17,5,6,16 +15 +4,14,5,6,10 +6,21,42 +41,7,4,6 +4,5,6 +51,9,25,20,7,6,42 +20,5,6 +25,7,4,5,21 +25,4 +4,6 +2,22,17,5,6 +6,15 +12,6 +22,14,5,6,46 +3,6,28 +6 +14,5,49 +7,14,6 +14,5,6 +5,6 +6 +39,4,5 +33,5,6,30 +14,6,16 +48,14,6,10,8 +6 +6 +3,6,28 +4 +2,25,6 +20,5,16,18 +11 +44,3,6 +35,42,23 +39,6 +45,26,13 +9,6,28 +6 +34,12,5,29 +20,10 +31,20,14,5,6 +7,5,18 +41,13,22,4,5 +11 +41,14,18 +6 +7,3,6 +35,7,14,5,6 +5,6,19 +20,14,6 +38,44,7,4,14,5,6,42,11,43 +41,2,22,4,6,23 +33,20,18,23 +6 +37,2,4,6 +41,7,3,6 +9,5,28,18 +41,12,25,14,6,30 +25 +45,41,2,3,5,6,16 +47,22,7,6,23 +50,12,13,4,14,6,21 +39,26,12,22,17,14,5,28 +41,2,3,6,43 +7,5,6,18 +22,6 +17,14,6 +6 +13,6 +0 +31,13,2,22,14 +5,6,8 +6,21 +5 +6 +5,6 +5,6,28,8 +13,4,5 +7,14,5 +31,13,17,4,14,5,6 +4,5,6,16 +36,6,21 +40,3,5,6,15 +2,22,6,10 +22,7,6 +17,3,5,6,21 +6 +13,17,5,6 +5,6,21 +6,16 +9,13,5,6,11 +7,3,14,6,15,10,16 +22,7,6 +6,11 +12,4,6 +38,4,14,6 +14,6,29 +41,6 +41,5,6 +35,26,17,6 +3,4,6 +0 +40,26,7,6 +38,2,7,5,6,30 +5,6 +12,17,7,6 +20,5,6 +26,21 +2,5,6,28 +34,2,4,6 +36 +32,34,12,14,6 +12,6,28 +11 +36,12,14,5,42 +7 +0 +17,28,46 +50,6 +4,6 +17,5,6 +31,22,14,6 +17,14,6 +13,25,17,3 +13,6,46 +12,2,3 +22,3,5,6 +7,4,5,6 +6 +12,3,4,6,21 +14,5,21 +36 +2,6 +2,6,28 +5,6 +14,5,6 +33,3 +25,3,5 +13,22,7,14,6 +6,46 +41,22,3,6 +47 +7,3,5,6,19 +17,3,6 +28,10 +45,5,6 +6 +17 +24,47,6 +27,17,6,10 +32,7,5,6,8 +38,22,7,3,6 +14,6 +12,5,6 +17,6,30 +26,12,3,6,15,10 +2,6 +35,2,25,4,8 +22,4,14,5,6 +14,6,15,42 +4,14 +40,5,6 +16 +6 +13,19 +6,10 +36,14,6,21 +3,6 +22,3,43 +6,15 +25,3,4,6,16 +2,14,6 +27,3,4,6 +2,22,14 +47,27,14,6,21 +17,5 +41,13,3,5,10 +51,5,6 +34,25,20,6 +38 +12,22,7,14,6 +4,14,6 +0 +41,4,5,6 +13,4,6 +9,14,5,6,46 +2,20,14,6,18 +41,5,6,23 +25,6 +26,25,22,7,4,14,5,6,21 +3,6,21 +6,23 +27,14,5,15 +34,33,15 +3,5,6,28,42,23 +24,35,12,14,5,30 +3,6 +45,6 +6 +47,20,6 +40,6 +45,7,28 +17,6 +6 +45,7,6 +3,6,42 +4,5,6,16 +0 +42 +5,6 +26,22,17,4,5,43 +14,5,6 +7,21,10 +44,17,4 +14,6 +34,17,6,10 +6 +14,6,21,30 +37,5,21 +12,6 +22,6,15,46 +3,5,6 +6 +14 +25,7,3,14,6,10,49 +22,3,5,42 +13,3 +14,6,29 +17,14,5,6 +7,4,5,6 +34,25,49 +20,17,6,15,18 +50,6,8 +48,2,6,11 +5,6,28 +32,7,5,6,19,29 +3,14 +4,14,5 +3,46 +44,17,3,4,14,5 +27,25,3,5,6 +3,5,6 +48,14,5,23 +26,22,6 +20,14,6,21 +13,6,21 +20,6 +27,14,5,6 +12,17,14,5 +5,6,46 +25,20,7,4,14,6 +7,3,4,5,6,8 +14,6 +7 +4 +5 +33,3,5,6,10 +2,7,4,14 +22,3,5,6 +50,36,14,5,6 +26,5,28,15,18 +39,50,20,5,6 +13,2,4,6 +25,22,3,5,6,15 +5 +2,6,28 +45,36,41,5,6,28 +27,14 +20,22,3,5,6 +6 +0 +6,46 +9,38,17,6 +4,6,10,42 +27,41,3,5,6 +38,44,5,6,43 +5,6 +27,3,5,6 +0 +7,6 +44,26,20,17,7,6 +6 +41,14,5,6,28 +14,6 +4,28,8 +35,13,25,20,5,6,15,19 +6 +13,14 +22,4,6,23 +41,44,17,6 +2,25,7,5 +4,6,8 +2,15 +26,3,5 +26,5,6 +25,5,6,15,19 +2,4,5,6,46,30 +2,4,6 +14,5,6 +38,13,4,6,42 +14,5,6 +36,4,6 +0 +48,22 +20,7,3,5,42,23,11 +2,5 +47,41,6,42 +38,6 +6,15,19,30 +6,49 +36,22,6,15,19,11 +5,6,10 +22,3,6,49 +17,4,14,6,23 +45,2,5,6 +6,28,46 +38,3,6,19 +3,14,5,6 +14,5,6,19 +22,6 +9,7,4,6 +3,6 +40,35,6 +6,18 +50,25,6 +6 +22,17 +13,5,6 +7,5,6,46 +20,5,6 +22,7,3,6 +4,5,6,10,49 +26,14,6,28,49 +9,22,14,5,6,21 +36,4,5 +38,12,14,6 +32,3,4,6 +20,17,3,5,15 +20,17,4,6 +38,14 +32,5,6,30 +4,6 +14,5,6 +48,4,6 +8 +25,4,14,6,21 +41,17,5,6,10 +5,49 +4,6,28 +25,30 +6 +12,17,14,21 +3,6 +7,3,5,6 +5,6 +5 +14,5,6,19,10,46 +14,5,42 +7,14,6 +13,6,18 +3,6,43 +22,5,6 +3,4,5,6 +7 +17,3,4,14,6 +14,6 +3,14,6 +32,35,22,6 +2,4,5,6,15 +6 +5 +26,4,14,6,8,46 +17,5,6,15,8 +12,20,6 +26,20,6 +25,20,5,6 +5,6 +4,6 +7,5,6 +15 +22,5,6,28,29 +25,5,6,19 +31,25,6,21 +33,22 +13,6,21,28,15 +17,14,6 +2,22,6,23 +20,17,5 +20,4,5,6 +12,4,6,19,30 +4,6,28 +4,6,18 +14 +5,6 +31,14,5,6 +0 +7,4,6,15 +4,6 +14 +5,6 +7,6,29 +22,3,5,6 +32,20,17,5,6 +20,6 +32,6 +22,7,5,6 +36,27,7,6,10 +17,5,6 +41,6,21 +0 +13 +7,18 +3,6 +39,5,6 +12,3,14,5 +33,2,22,14,5,6,10,23 +46 +12,22,17,4,6 +37,7,6 +25,20,6 +24,47,2,7,6,11 +5 +20,14,5,6 +6 +47,9,3,6 +49 +6 +45,25,7,5,6,19 +5,6 +14,46 +20,5,6 +6 +41,17,14,5,19 +6,29,11 +5 +6,23 +22,3,4,14 +48,14 +3,6 +35 +0 +6,28 +0 +6 +12,20,17,5 +3,4,28,15,11 +9,34,22,14,5,6 +20,4 +20 +41,17,6,19 +7,6 +13,5,16 +5,6,15,10 +3,6 +40,47,28 +17,6 +3,14,21 +3,5,6 +37,17,5,6,18 +25,4 +2,14,6 +32,2,6 +5 +17,8 +7,3,14,5,6 +32,13,17,4,14,6,23 +16 +14,5,6,42 +35,5,6 +22,17,7,3,5,6 +41,4,6,18 +3,5,6,42 +48,12,14,6 +51,6,29 +31,48,4,14,6,16 +17,6 +17,5,6,29 +4 +45,13,22 +6 +31,34,6 +6,16,30 +2,6 +6,19,29 +5 +25,6,16,29 +20,6 +51,24,34,5,6 +14,5,6 +12,3,5,6 +6,30,43 +22,14,5,6,18,23 +17,6 +10,8 +27,22,4,14,5,6,8 +2,3,5,6 +3,4,14,5,6 +6 +13,7,14,5,6 +5,8 +4,6,15,23 +14,6 +28 +14,6,19 +41,14,5,6 +14,5,6,28,42 +27,6,28,16 +2,14,6 +27,6 +22,3,6,42,18 +4,6 +5 +6,18 +4,5,6,28 +24,12,13,20,3,6 +13,17,14,5,6 +7,28,11 +22,4,6,21 +6,8 +12,3,4,6 +3,14,6 +7,4,6,8 +6 +5,6 +14 +3,5 +30 +36,17,6,16 +6 +36,6,10 +14,5 +25,14,6 +42 +47,26,4,14,5,6,21 +25,14 +14,6 +37,13,6,16 +13,6 +51,6 +4,5,6,29 +34,6 +5 +5,16 +36,35,13,3,6 +36,4,6 +5,42 +14,5,6 +25,6 +47,5 +25,10,43 +3,6 +51,7,6,21,8 +39,14,6,46 +25,14,6 +14,5 +20,22,43 +6 +6,23 +3,5,6 +17,4,6,19,10 +47,17,14,6,30 +12,14,5 +12,17,6,18 +12,13,3,10 +14,5 +5,19 +5 +47,7,6,21 +4,14,6 +17,7,3,6 +14,6 +34,25,3,5,6,18 +22,6,49 +21,15 +51,5,6 +13,25,5,15 +6,19 +6 +6 +5,6 +20,5,6 +48,6 +20,6,29 +12,6 +2,17 +34,5,6,10 +14,6 +9,5,6 +22,5,6 +33,2,6 +41,3,6 +17,5,6,28 +3,6,16 +6 +2 +9,41,20,6 +44,7,14,6 +5,6,10 +22,6 +12,7,4,6 +17,4,6 +0 +50,3,6 +14,6,10 +3,14,5,18 +20,14,5,6 +25,5,6 +47,12,3,14,28 +17,5,6 +20,6 +6 +22,14,6 +6,16 +6,28 +14,6 +51,33,5,6,21,23,49 +31,20,7,6,15 +4,6 +31,3,6 +0 +14,23 +48,5,46 +3,4,5 +28 +13,5 +5,6 +17,6 +39,4,5,6 +51,6,21,28,30,43 +31,7,14 +22,14,19 +41,13,4,14,6,15 +7,5,6,21 +25,20,17,6 +25,5,19 +5,6 +23 +14 +14,6,18,23 +6 +25,14,6 +31,49 +25,17,5,6,10 +36,20,5,6 +6 +5,6 +34,5,6 +25,7,4,6,8 +25,5,6 +7,3,4,5,6,21 +6 +45,7,4,5,30 +17,5,6 +27,6,11 +12,20,22,14,6 +0 +25,14,5,6 +5,6 +2,14,6 +2,5,6,23 +36,3,4,14,5,6,42,18 +27,3,5 +7,5,6 +36,26,17,14,5 +38,25 +34,7,3,8 +34,3,14,21,42,30 +4,5,6 +17,3,5 +3,5,6,29 +35,6,23 +33,2,5,6,28 +5,6 +3,4,6 +16 +6,46 +48,3,14,6 +4,18 +26,17,5,6 +47,9,17,7,4,14,6,21 +17,3 +0 +14,5,6,10,43 +33,4,6 +15,29 +40,6,21,15 +0 +25,17,6 +6,28 +14 +14,6,43 +20,5,6 +5,6,42 +4,5,49 +6,49 +4,6 +47,4,14,5,10 +13,6 +2,17,14 +25,6,19 +4,6,11 +41,13,2,7,6,49 +48,17,14 +7,5,6,11 +7,4,5 +5,6 +7,3,14,5,6 +2,4,6 +51,20,4,5,6,16 +14,6 +17,3,4,5,19 +5,6,11 +25,20,4,5,6 +24,6,19 +29 +3,14,6 +47,4,14,5 +6,28 +37,6,10 +20,5,6,42 +6 +47,34,5,6,15,10 +33,7,14,5 +5 +13,14,5,6 +3,6 +41,26,3 +14,5,6 +6,21 +2,4,5,6,16 +7,4,14,5,15 +22,7,4,14,5,49 +5,6 +2,7,14,11 +5,6,28 +13,14,19 +34,7,6 +38,20,5,6 +4,6 +9,25 +48,6,43 +20,14 +38,6 +38,26,13,14,19,29 +14,6,8,43 +2,25,17,3,16 +13,3,5,42 +45,2,22,3,14,6 +17,7,4,6 +33,13,5,6 +38,20,4 +39,12,2,6 +25,6,15 +0 +44,12,3,6,29 +6,21 +38,2,3,6,42 +47,3,14,21 +26,7,4,14,6 +5 +20,17,6 +22,5,6,28,30 +47,6,43 +45,14,6,16 +14 +27,6,10 +12,6,23 +6,23,46 +4,5 +4,14,6,15,10 +3 +51,38,4,14,6 +2,20,5 +6,16 +30 +33,4,5,21 +17,7,14,5,6 +41,17,6,19 +7,14,5,6,21,18 +0 +5,6 +39,26,25,7,18 +5,6,21 +3,6 +13,5,6,49 +47,13,3,4,6 +14,6,15 +48,14,6 +7,5,6 +20,4,6 +5 +51,32,3,6,15 +5 +25,22,7,3 +7,6 +4,14,5,19,30 +17,5,6 +2,7 +41,4,30 +41,5,23 +6 +12,22,6,16 +6 +13,14,6,49 +35,22,5 +4,6,16 +33,6 +8 +17,7,14,6 +7 +44,4,6 +13,2,7,5,6 +2,4,5,15 +0 +40,35,41,5,6 +3,14,6,15,29 +51,14,6 +41,3,6,10 +31,12,20,3,4,5,6 +6,42 +44,4,14,6 +12,22,7,4,14,5,19 +44,6,16 +17,3,28,29 +4 +41,7,5,6 +47,3,23 +4,6 +31,13,25,17,3,5,6,21,10 +5 +6 +51,13,17,6 +6 +38,3,14,5 +22,14 +20,17,3,4,14,6,28 +7,6 +41,6,10 +3 +6 +31,14,6,10 +4,6,19,8,46 +32,14,15 +14,28,46 +35,6,29 +22,7,5 +6,19,18,30 +44,12,6,28 +24,7,4,5 +3,4,14,5 +48,6 +5,6,10 +5 +27,5,6 +47 +39,6,30,43 +32,20,3,6,8 +20,3,6,8 +36,14,6,28 +14 +20,6,15 +3 +13,3,6 +7,5,6,15,8 +50,4,6 +13,17,14,6 +7,5,6 +14,6,21 +37,4,14,6 +40,22,6,21 +2,5,49 +47,7,5,6,10 +14 +39,13,6 +17,5,6 +14,6 +32,4,6 +12,6,19 +7 +48,14,6 +0 +7,5,6 +6 +6 +44,5,6 +40,5,6 +20,22,5,6 +6,28,43 +20 +4,14,6 +5,21 +32,3,4 +38,33,26,5,30 +2,20,6 +37,36,2,17,5,6 +14,6,8,43 +12,6 +5,6,19 +17,7,5,21,30 +22,3,5,6,10 +37,5,6 +6 +14,21,15,16,23 +48,6 +14,5,6,30 +44,25,20,14,5,11 +51,37,9,14,6 +20,22,6 +14,6 +12,14 +9,7,14,6,15 +24,17 +13,6 +33,17,5,6 +0 +4,14,5,6,15,19 +50,5 +14,5,6 +39,14,16,23 +0 +4,5,6 +25,14,5,6 +6 +12,25,4 +38,25,22,17,7,4,5,6 +44 +37,41,2,7,4,5,6,42 +6,29 +17,14,6,8 +48,3,5,6 +17,6 +14,5,6,10 +41,17,4,6 +51,45,20,17,6,10,23,29 +27,6,42,8 +25,14,6,21 +20,14 +6 +32,6,15 +41,12,7,3,14,5,6 +40,4,6,30 +3,6,8 +13,17,6,10,16 +6 +2,14,6 +19,29 +45,6 +25,5,6,15 +2,22,4,14,5,6 +42 +5,6 +3,6 +7,4,5 +5,6 +3,5 +7,6 +22,4,42 +20,5 +5,6 +34,5,10 +5 +25,22,17,6 +14,6,16 +6 +47,6 +22,5,6,49 +17,5,6,18 +51,4,14 +22,5,6 +5,19 +0 +4,6 +7,14,6 +24,38,13,14,6 +48,25,20,22,17,6 +22,14,5,6 +32,26,22,6,49 +14,5,6 +12,13,6,23 +4,5 +6,46 +14,5,6 +25,7,6,21,19 +4,6 +50,25,14 +3,4,28,10 +14,5,6,15 +4,5,23 +9,44,5,6,23 +5,6 +0 +31,14,5,10 +11 +33,21 +6 +31,12,5,6 +12,5 +26,6,29 +5,6 +45,50,12,13,7,5,6 +6 +6,19 +22,6 +5,6 +5,6,28 +45,7,6,43 +26 +6,42,18 +31,22,14,6 +22,6,30 +48,44,3 +2,14,5 +4,6 +4,5,6 +4,6 +14,5 +51,4,21 +14,6 +25,5 +22,7,14,28 +25,14,6,15,10 +6 +4,14,5 +12,17,6 +41,17,5,18 +14,5,6,16 +45,41,20,5 +24,38,22,17,14,5,23 +22,5 +6 +3 +22,17,6 +32,36,4,6 +25,7,6 +33,26,7,10 +17,6,15 +5,6 +44,14,6 +10 +51,17,3,14,6,15 +33,20,3,6 +9,6 +14,21,16 +22,6,42,23 +6,10 +3,6,11 +34,7,3,5 +33,12,7,3,5,6 +6 +4,14,5,6,8 +36,4,6,28 +17,4 +47,25,6 +25,20,5 +7,3,6 +34,3,6,28 +13,14,6 +50,33,22,17,6,15 +25,5,6 +22,17,14,5,6,29 +20,22,7,6 +6 +41,17,4,14,5,10 +7,14,6 +40,12,46 +26,5,6 +5,6,21 +9,2,20,14,6,42 +51,44,6,15 +13,4,5,6 +6 +7,4 +36,22,17,7,5,6 +6,21 +20,3,5,6,30 +48,3,5,6,28 +12,4,6 +20,3,4,5,6 +17,3,6,10 +0 +2,6,23 +12,21 +9,4,14,6,19 +26,6,42 +6 +6 +5,19 +12,13,5,6 +22,6 +45,5,6,15,18 +35,17,6 +2,6,42 +7,3,6 +5 +26,20,5,42 +6 +36,7,5,6 +13,5,6,15,42 +3,14,6 +36,44,6 +50,40,48,41,20,22,17,5,6 +14,5,6 +6,28 +32,5,6,15,18 +14,21 +25,14,15 +41,6 +14,5,6 +45,7,6 +4,14,49 +25,6,18 +0 +6 +0 +17,5,6 +14,6 +48,44,14,6,23 +14,5,6,16 +31,13,7,5,6 +7,3,6 +7,14,5,6,30 +14,6 +16 +6 +47,2,17,6 +5,6 +14,5,6 +22,3,14,6,21 +12 +14,6,29 +6,19 +12,20,14,6 +6,46 +13,3,6,43 +13,7,6,29 +31,44,26,17,3,5,6 +24,47,13,20,22,17,4,14,5,6 +20,22,5,6 +37,5,6 +25,20,6 +5,6,28 +50,9,20,3,14 +40,5,6,23 +4,14 +7,3,5,6 +5,19 +51,24,3,14,6,42 +12,21 +50,20,7,6 +20,17,7,4,14,6,30 +36,12,6,28 +25,7,4 +36,33,14,5,6 +3,5,6,19 +34,25,4,6 +7,3,5,6 +20,17,5,6,21 +24,37,5,6 +41,6 +48,12 +6 +27,6,11 +35,3 +39,20,6 +41,3,4,6 +20,6 +37,6 +41,26,4,6 +14,5,6 +4,15 +35,48,7,3 +44,17,5,6,18 +25,7,6 +47,5,6 +6,16 +37,22,5,6,8 +34,3,6,28 +12 +4,6 +4,14,6,46 +22,3,6,28,18 +7,6 +45,34,17,4,14,5,6 +4,14 +3,42 +39,14,6 +7,5,6,18 +25,17,4,5,6 +7,6,15 +25,22,3,5,6 +26,14,6,10 +8 +31,3,6 +9,38,6,10,43 +14,6 +37,17,5 +7,3,14,6 +22,6,23 +40,13,17,4,5,6,23,11 +14,29,43 +2,20,10 +0 +22,5,6 +51,9,36,17,3 +22,5,6 +24,14,5,6,43 +41,5,6 +32,48,25,7,14 +35,2,6,29 +4,6 +25,5,6,28,19 +45,4,6 +0 +51,3,29 +31,13,4,6 +20,6 +7,14,5 +25,6 +14,5,21,28 +44,5,6 +3 +20,5 +3,14,5,6 +13,22,3,6 +17,14,6 +25,6 +14,6 +6,42 +2,4,6 +38,5,6 +47,4,14,46 +27,6 +6,11,43 +42,29 +7,5,6 +14,6 +17,4,14,5,6 +10 +13,5,6,10 +35,6,46 +3,6 +31,20,14,21,42,23 +51,22,3,6 +4,5,6,19 +32,17,4,14,5 +24,6,18 +51,17,4,6,8,46,29 +6,43 +22,4,6,21 +12,20,6,11 +3,14 +47,36,4,6,16,29 +5,6 +2,6 +27,4,14,6,43 +37,27 +13,14,6,11 +7 +20,22,14,6 +14,5,6 +12,5,6,28,18 +2,20,17,3,6,21,18,29,49 +29 +9,3,14,6,15 +3,6 +12,25,5,18 +27,7 +20,21,8 +50,7,6 +22,3,4,6 +6 +25,17,5,6 +5,6 +0 +40,12,6 +39,22,7,21 +37,6,28 +47,17,7,4,14,6 +38,25,6 +25,3,5,6 +48,4,14,6,21,16 +36,4,14,6 +36,7,6,11 +13,6,46 +5,6 +40,17,5,6,8 +48,4 +14,6,19 +33,41,44,5,6,19 +51,6 +31,6,16 +6 +12,14,23 +5 +22,5,6,30 +0 +2,20,14 +5,6,29 +12,17,6,21,15,43 +3,5,42,49 +36,17,14,6 +6,8 +20,14,5,6 +47,35,5,6,42 +37,44,2,7,5,6,42 +22,6 +7,5 +7,3,5,6 +22,4,6 +12,14,6 +2,42 +29 +13,3,6 +12,22,7,6,23 +2,6 +17,5 +2,5,6,19,29 +22,6 +12,4,14,6,23,8 +0 +5,6,21,43 +26,20,4,5,6 +6 +37,25,20,7,14,6 +22,4 +35,3,4,43 +7,19 +2,6 +4,5,6,21,46 +20,17,3,42,23 +6,18 +39,50,17,4,14,21 +4,6,8 +4,5 +9,36,20,6 +4,6,46 +6,10,18 +5 +4,5,6,21,16,11 +44,4,5,6 +22,4,6,19 +29 +3 +12,23 +14,5,6 +31,12 +3,4,6 +4,5,6,28 +45,25,5,6,15,18,43 +2,17,6,19,30 +31,37 +48,25,4,6 +41,6 +7,14 +6,21 +26,17,5,6 +5,6,28,30 +40,3,5,6,42 +4,11 +3,6 +37,48,12,13,5,6,29,49 +4,5,15,43 +22,17,14,6 +2,4 +14,5,30 +33,26,5,6,46 +35,6,10 +36,25,6,23 +6,46 +5 +50,4,6,19 +27,14 +38,14,5,6 +5,6 +23,8 +17,7,14,5,6,16 +6,28,43 +20,6,30 +51,14,6 +6 +6,10,16 +25,17,6,28 +2,5 +4,5,6 +20,5,6 +0 +33,12,4,6 +22,3,5,6,8 +20,16 +22,6,46 +6 +31,12,14,21,49 +6 +6 +4,6,23 +24,6 +13,6 +28,19 +22,17,4,6,21 +44,17,6,46 +27,5,6 +4,6 +24,3,6 +27,28 +3,14,6 +5 +5,6 +6 +20,6 +48,6 +28,16 +6,8 +34,14,5,6 +12,2,3,4,5 +13,4,5,6 +2,17,6 +27,25,3,6,21 +9,22,6 +17,5 +0 +48,2 +34,22,3 +45,14 +31,5,6 +32,4,6 +45,44,20,5,46,11 +5,6 +44,2,4,14,5,6 +4,14,15,49 +47,2,7,4,14,5,6 +5,6,8,11,30 +14,5,6,21,30 +26,13,7,3,14,5,6,42,46 +50,26,5,6 +5 +3,14,5,6 +6 +3,14,6,21 +7,6 +27,12,3,4,6 +25,21,18 +41,7,6,23 +27,4 +25,14,5,6,16 +4,6 +12,22,7,3,6 +0 +13,22,49 +7,5 +3,6 +14,6 +40,41,4,6 +4,6,21,29 +22,5,6 +4 +13,20,6 +24,36,2,7,4,6 +27,7,3,4,5,42 +7,5,6,21,11 +5,6,18 +6 +34,33,3,4,6,42 +26,5,6,21 +20,5,6 +32 +13,6 +24,5 +14,6,8 +0 +40,7,14,6 +49 +17,3,5,10,18 +25,3,14,5,6 +12,25,22,6 +14 +22,5,6 +2,17,6 +40,5,6,43 +45,35,3,6 +17,3,6 +2,6 +6,30 +44 +3,5 +41,20,4,5,6,8 +45,14,5,6 +9,7,42 +26,7,6,11 +14,6 +7,23 +38,4,18 +44,12,6 +48,44,13,17,5,6 +2,4,6 +21 +6,16 +2,6 +3,14,5 +2,42 +26,25,7 +4,14,5,49 +45,22,6,49 +7,5,6,30 +12,4,14,6 +7,6,43 +48,5,6,8 +3,14,5,6 +41,4 +6 +50,44,6 +6 +13,3,6 +20,6 +4,5,6,21,29,11 +3,5,6,28 +0 +25,3 +5,6,18 +25,14,5,11 +5,6,28 +24,41,7,6 +40 +12 +6 +36,14,5,6,21 +39,20,3,5 +41,7,3,6,19 +4,14,6 +12,5,6 +41,25,22,3,14,6,30 +22,3,4 +6 +38,7,4,5,6,19,11 +14,6,23 +27,6 +13,2,20,6,49 +40,36,6 +38,5,6 +25 +51,12,13,25,6 +17,14,6 +5 +25,7,6 +7,14,6 +0 +5,15 +36,27,20,5,46 +27,7,5,6,15,46 +5,6 +15 +33,41,7,14,6 +50,12,17,4,19 +20 +5,10,43 +12,14,5,6,43 +37,14,6 +4,6 +4,6 +26,22,5,6,29 +2,14,5,6,15,42 +7,3,6 +5,6,28 +22,4,6 +25,5 +20,6,29,49 +17,14,5,6 +12,6 +39,20,10,16 +48,14,5,6,29 +14,6 +7,5,6,21 +6 +25,22,4,5,6,21,23 +20,14 +39,36,3,6 +35,5,6 +2 +14,5,6 +12,17 +12,5 +3,19 +24,38,4,6 +17,7,6 +51,6,46 +5,6 +3,28 +14 +25,17,14,6,21,42 +14,5,6,42,8,49 +5,6,42 +25,20,6 +34 +0 +22,3,6,18 +13 +20,6,28 +48,33,26,5,6 +6 +36,5,6 +6 +34,7,4 +32,3,6,21 +33,14,5,6 +22,7,14,10,42 +23,43 +5,43 +6,49 +12,6 +12,14 +6 +32,34,26,7 +12 +38,27,2,22,14,6,30 +41,7,14,6 +9,36,5,6,18 +14,6 +2,7,21,43 +6 +26,22,6 +27,3,21 +27,6,28 +4,5,30 +5,6,19 +37,44,13,14,6,19 +33,20,4,5,6 +12,3,14,5,6 +45,20,17,6 +6,16 +45,17,3,6,46 +13,17,5,6,10 +12,5,6,43 +3,6,8 +37,33,17,3,6 +5,28,42 +20,4,5,6,30 +20,14,42 +26,12,6,11 +37,4,6 +39,41,25,4,5,6 +6 +14,30 +4,14,5,6 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +38,22,6 +13,6 +37,38,6 +6,16 +38,2,20,5,6,21 +39,37,6 +25,14,6 +31,2,7,6 +40,12,13,25,3,14,5,6 +20,6 +2,5,6 +41,6,21 +41,6,11 +14,5,6 +7,4,6,19 +9,6 +5,10,23,29 +45,5,6 +14 +4,6,30 +3,4,5,6,21 +25 +17,14,6 +35,12,6 +12,42 +5,6,15,46 +50,17,5,6,46 +44 +45,22,17,6 +24,3,5 +39,7,14,19 +17,4,14,5,6 +17,4,6 +26,2 +14,5,6,10 +20,14,5 +50,2,6 +2,25,3,14,5,6 +4,28 +24,13,6 +0 +47,5,6 +31,25,30 +3,14,19 +37,12,14 +2,7,6 +22,7,6 +24,7,6,46 +9,38,30,49 +2,5,6 +24,13,25,20,4,11 +26,17,14,6,10,16 +44,12,22,17,5,6,18,29 +5,6,43 +12,6 +45,3,6 +6 +12,3,5,6 +24,48,17,4,5,6 +13,20,14,5,6 +22,6,15 +20,6 +4,6,23 +22,7,3,6 +51,22,17,5,10 +41,7,3,6 +44,26,4,5,6 +4,14,21,18 +7,4,14,6 +6 +4,5,6 +3,5,6 +14,5,6,10 +36,3,14,6,21 +47,3,6 +20,7 +2,7,6,11 +7,5,6 +4,5,6 +7,5 +3,6 +41,2,6 +25 +51,38 +48,22,7,14,5,6 +39,38,20,4,6,16 +47,6,18 +38,17,5 +2 +17,6 +12,49 +2,22,6,29 +13,20,4,6 +50,41,20,7,4 +50,5,6 +26,2 +6 +32,12,22,21 +12,13,17,3,14 +51,36,41,6,23 +20,22,4,14,5,6 +17,5,6,19,10 +5,6 +12,4,14,16,29 +13,20,3,4,14,5,6,28 +51,2,4,14,5,6 +26,12,14,5,6,42,29 +17,7,5,6 +33,25,22,5,6 +3 +17,4,6 +10 +3,5,6 +40,38,6,29 +32,21,28,46 +7,4,6,15,16 +2,6 +4,5 +6 +12,17,14,6 +33,2,6,10 +38,6 +22,5,6 +17,5 +5,6,18 +2,4,6,42 +24,22,14,5,6,16 +33,25,7,14,5,15 +50 +34,2,7,16,30 +41,22,6 +0 +22,46,29 +6 +26,7,14,6,29 +17,14,6 +48,5,6 +0 +17,5 +14 +9,27,3,14 +9,17,6 +2,20,3,4,5,6 +0 +25,28 +5,6,10,8 +31,44,7,6,30 +48,30 +2,3,14,5 +5,6 +4,5,6,28,30 +7,4,5,6,21 +20,3,6 +6 +38,12 +32,26,25,17,6,16 +33,3,4,14,6,18,43 +2,4,6 +25,14,5 +6 +25,21,23 +35,6,29 +45,34,25,14,5,6,46 +12,13,22,3,14,6 +6 +40,17,6 +32,5 +2,7,14,6,29 +20,3,5,6 +4 +34,25,14,5,6,15 +33,3 +33,6 +32,25,22,4,14,42 +2,17,14 +27,12,4,14 +2,4,6 +0 +34,22,14,21,15,19 +13,6 +11 +22,5,6 +25,14,6 +13,7,14,5,6,30 +3,4,5,6 +39,17,7,3,4,5,6 +32,8,46 +7,4,5,6,43 +3 +34,26,4,6 +6 +25,3,6 +22 +13,22,3,5,6 +13,14,6 +25,7,4 +14,6,8,46 +4,6,49 +5 +44 +5,6,10,43 +12,3,5,6 +33,5 +25,6 +39,5,6 +20,6,29 +39,9,22,14,5,6 +4,6,43 +20,6 +48 +6,42 +26,12,3,4,6 +2,17,7,14,5,6,23 +24,38,13,6,18 +5,6,11 +5,6 +35,4,6 +6,18 +44,12,22,30 +7,5,6,28 +5,6,29 +21 +31,12,4,6 +6 +4,14,6,18 +25,3,5,6,28,10 +7,4,5,6 +0 +0 +31,25,17,14,6 +13,7 +14,6 +14,5,6 +14,6 +2,7,6 +2,4,5,28 +0 +5,6,15,46 +5,6 +41,25,20,7,5,6,18 +22,17,4,6,46 +50,4,14,6 +34,5,6,30 +14 +34,4,14,6,42 +7,4,14 +5,6 +5,11 +7,29 +17,7,4,14 +13,2,4,21 +25,4,6 +13,5 +7,14,5,6,28,11 +3,14,6 +5,6 +3,6 +17 +39,33,17,6,29,30 +9,25,20,5,6 +27,6 +37,4,5 +3,4,5,6,10,30 +6 +41,6,42 +22,5,6,42 +31,7,6,30,43 +51,13,17,7,4,6,15 +45,4,5,6 +28 +45,17,6 +9,41,2,17,3 +17,7,6,19 +35,20,6 +12,5 +41,2,22,17,3,14,5 +37 +37,13,17,3,6 +6,19 +27,6 +4,14,23 +5 +14,6,21,10 +50,28 +3,14,6,10 +25,3,4,5,6 +50,22,17,3 +48,2,14,6 +20,22,7,5,6 +38,5,6,16 +14,6 +34,17,42 +13,8 +5,18,23 +13,14,6 +25,22,5,18 +2,4,6 +36,7,3,6,19 +13,2,22,3,14,5,6 +13,7,6 +20,6,43 +17,6,29 +25,3,6 +20,3,6 +24,3,14,6 +20,4,6,49 +22,17 +48,14,5,6 +20,4,5,6,28 +13,14,5,6,10 +22 +6 +48,7,5,6 +7,6 +24,32,44,3,5,6,21 +3 +7,14,5,6 +41,20,3,6 +40,5,6 +47,14,6,16,23 +3,5,6,18 +4,14,6,19 +26,14,21,28 +5 +7 +7,6,43 +34,14,6 +17,7,5,6,28 +20,4,14 +44,3,14,6,16 +3,19 +7,5,6 +34,4,6 +25,14,6 +3,19,8 +48,5,6,21,23 +14,5 +22,17,3,6 +20,4,5 +31,6,8 +7,6,30 +44,12,6 +22,6 +6 +39,12,17,28 +50,9,14,5,6,30 +14,5,6 +2,5,6,29 +5,23 +26,5,29 +7,6,8,30 +7,14,6,21 +14,5,6 +0 +17,6 +13,14,6,42 +33,25,4,6 +7,19 +4,5,42 +39,17,5,6,16 +4,5,6 +5 +2,3,4,14,5,6 +50,7,5,6 +2,6 +40,2,6,21,18 +4,14 +22,3,4,5,6 +13,6 +33,4,6,46 +12,17,4,6,10 +20,5,6,49 +3 +5,6,21 +20,7,3,14,5,6,19,11 +51,25,17,14,6 +37,5 +5 +12,6,23 +5,6 +6,8,43 +4,6 +40,4,11 +32,5,6 +4,6 +41,2,14,6 +13,5,21,18 +22 +14,6 +6,18 +13,14,6 +5 +22,4,14,5,6,18 +33,22,3,5,6 +13,17,14,6,15 +5 +21 +5,6 +6,42 +13,14,5,6,46 +6 +50,17,5,6 +14,6 +13,14,5,6 +34,14,5,6,28 +20,3,6,8 +6 +14,8 +36,14,6,10 +6 +36,4 +45,6,21,28,8 +17,4,6 +40,6 +2,6 +45,7,6,28 +51,14 +4,14,5,6,15,23 +36,38,20,4,6,23 +40,25,6,21,49 +31,7,4 +34,2,3,14,5,28,49 +17,5,6 +2,20,22,17,3,4,6 +6 +7,6,42,30 +17,5 +22,14,6 +6,15 +25,4,6,11 +5,6 +14,6 +14,15 +17,6 +5,6 +4,5,6 +33,12,2,5,6 +6 +39,6 +25,6 +26,20,4 +36,25 +6 +9,20,22,14,5,6 +51,20,14,5,6,28 +4,15,42 +5,6,21 +25,5,6 +17,5 +48,17,5 +6 +6 +44,13,5,6,16,43 +39,31,2,20,6 +0 +6 +5,6 +6 +39,45,20,4,14,6,46 +41,26,17,4,14,6,43 +0 +3,6,21 +20,6 +32,22,7,6,49 +0 +25,7 +32,35,22,7,5,23 +4,5,6 +5,6,11 +38,13,16,42 +35 +51,5,6 +47,6 +5,6,42 +12,20,22 +51,20,4,6 +2,7,4,6 +27,14,5,6 +12,3,14 +32,34,41,6 +17,14,46 +41,2,17,23 +5,6,10 +12,20,14,6 +9,7,6 +20,14,5,6,15 +14,6,30 +0 +6,16 +40,29 +20,14 +39,36,7,6,10,49 +6 +6 +6 +17,4,6 +27,4,14,6,30 +6 +7,14,6,21 +14,5 +12,5 +12,20,7,6 +31,5 +14,6 +17,14,5,6,11 +50,17 +14,6 +2,7,5,6,19,18 +22,17 +26,6,8 +5 +22 +13,25,4,5,6 +25,5,6 +3,28 +22 +50,28 +27,22,6,18 +0 +12,25,6 +20,6 +12,25 +20,6,10 +12,7,4,6 +6,15 +6 +20,4,6 +13,20,4,5,46 +6 +10 +6 +48,13,3,14,6 +51,13,7,3,6 +2 +6 +14,19,16,11 +33,12,17,5,18 +25,6,8 +44,2,5,18,23,30 +3,4,5,6 +5,6,8 +4,6 +25,6 +5,6,10 +25,4,14,5,6,21,23 +31,25,6,10,11 +9,2,4,23 +14 +47,17,6 +4,14,6,49 +37,3,5,6 +6,29 +3,6,30 +3,15,29 +14,5,6,10,42 +39,33,14 +2,25,17,5 +37,38,25,20,17,3,14,6 +13,2,6 +34,3,14,6 +22,6,16,11 +24,22,14,6,16 +3,4,6,21,28,16 +20,17,5,6 +34,20,5,6,15 +26,3,6,23 +3,6,19,30 +2,22,14,5,19 +50,34,3,5 +44,5 +7,5,6 +36,5,6 +3,5,6 +20,4,21 +35,22,6,11 +46,49 +4,14,29 +7 +17,14,5,15 +17,14,19,49 +24,3,6 +44,2,14,5 +37,6 +4,6,8 +3,14,30 +22,6,15 +39,6 +32,12,20,3,5,6,28 +50,25,17,4,5,6,8 +26,3,14,5,6,46 +33,4,6,46 +9,3,6 +17,14,5,6 +39,5,6,18 +4,14,6 +6 +20,6 +4 +2,20,17,3,6 +24,41,25,4,6 +50,13,22 +3,5,6 +25,6 +41,4,14 +40,2,25,7 +26,20 +26,4,6,11 +7,14,6,15 +3,6 +25,18 +13,4 +17,5,6 +51,9,3,4,6,49 +4,5 +13,25,17,14,6 +4,6,16,23 +14,6,28 +38,2,14,6 +17,14,5,6 +17,7,14,5,6 +5,6,28 +6 +7,5,6 +6 +36,22,15,43 +13,6,43 +33,5,6 +45,13,22 +40,41,7,14,6 +3,4,28 +3,4 +26,7,14,5,6,15 +48,20 +14,5,6 +14,5 +4,5,6,28,10 +37,27,6,21,18 +4,6,28 +14,6,29 +17,6 +4,6,46 +48,26,20,22,7,14,6 +26,6,29 +48,25,7,28,10,23 +21 +13,4,6 +32,41,6 +5,6 +4,6,21 +13,15,16,23,8 +6 +41,3,43 +31,33,12,14,6 +25,22,7,14,5,6,23 +6,19,18,49 +22,17,3,5,6,21 +6 +4,6 +44,12,7 +22,5,6 +4,5,6 +50,4,6,16 +3,5,6 +6 +13,2,14,19 +36,35,25,5,29 +22,7,5,6 +14,6,42 +5 +6,28 +32,7,5,21 +38,22 +4,6 +7,14,5,6,16 +5 +22,5,16 +2,4,6 +7,4,43 +34,38,12,16 +50,2,7,14,5 +12,14,6 +25,6 +20,15,18 +51,44,20,3,6,15 +4,6 +6,28 +12,14,5,43 +4,6,42 +3,16 +26,5,19 +22,17 +40,20,7 +6 +3,14,5,6,23 +3,6 +6 +37,34,6 +3,4,6 +0 +44,22,3,5,6 +12,14,5 +12,22,4,6 +9,7,28 +50,20,5,6,49 +14,5,6 +6 +36,12 +13,2,21,42 +5,6,18 +7,6 +37,13,14,6,30 +37,13,17,5,6 +50,3,5,6,30 +13,25,5 +2,5 +25,5,6 +40,17,3 +6,21 +14 +7,6 +44,12,5,6 +39,5,6,19 +3,5,6 +41,20,5 +47,22,14 +45,40,2,4 +3,6 +3,6,18 +51,5,6 +25,14,5,6,21,8 +31,25,5 +40,27,17,4,14,6 +2,5,6 +4 +33,25,5,6,10 +7,6 +3,14,6 +3,14 +13,4,6 +21 +37,9,3 +51,37,17,6,42 +34,3,5,6,21 +47,5,6,28 +14,5,6 +34,6,28 +6 +3,4,14,42,29 +7,6 +5,21 +4,6,21,11 +37,12,25,14,5,6 +7,6,21 +12,25,23,8 +20,22,4,5,6,21 +22,6 +5,6,23 +3,6,21 +25,7,6,29 +41,3,6 +4,6,23,43 +3,6,16 +39,9,17,3,6 +6,21 +36,48,26,25,3,14,6 +12,14,6,16 +31,4,14,5,6,42 +13,6,46 +27,7,14,5 +27,14,6,21 +22,7,3,14,6,49 +3,4,6,43 +41,14,5,49 +16 +15 +14,6 +40,3,14,5,6 +5,30 +12,14,6 +5 +7,6 +20,14,6 +45,5,6,19 +2,4,5 +9,17 +6,16 +22,4 +34,6 +12,6 +40,17,7,5,6 +50,5,42 +39,20,6 +5,6 +36,2,4,14,6,10,46 +44,14,6 +6 +25,7,6,18 +22,17,5,6,15,46 +17,6 +13,22,4,5,6,30 +47,38,26,6 +4,5,6 +4,6 +2,3,5,6,28 +36,20,6,18 +5 +35,3 +6,10 +22,14,6 +6,46 +13,25,6 +12 +14,5 +45,40,4,5,6 +26,22,6 +31,6 +6 +4,14,6 +17,14,6,28 +25,14,6,15,29 +6 +17,14,6 +25,3,6 +3,6 +0 +45,17,5,6,15 +5,6 +38,21,10 +27,3,5,21,29 +3,6 +35,44,25,3,5 +14 +3,5 +12,17,14,6,16 +40,20,17,7,14,6 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +13,5 +7 +26,7,5 +2,25,17,4,5 +5,28 +20,46 +14,5,21 +51,9,5,6 +5,6,16 +14,5,6 +47,17,5,6,18 +24,25,4,6 +17,7,4,14,5,6 +3,6 +50,37,5,6,18 +6 +13,20,3,5,6 +9,17,6,21 +13,7,3,6 +6,16,18 +4,6 +38,4,6,42,18 +2,5,29 +14,5 +6 +12,7,4 +4,14,5,6,11 +31,19 +41,6 +33,14,5 +2,5,6,11 +3,6 +6,46 +4,14,6,21 +24,22,4,6,10 +6 +5,6,16 +42 +20,6,43 +22,7,14,16 +12,20,3,14,5,6 +6,28 +24,17,3,16 +50,20,17,14,6,42 +13,5,6 +37,25,4,6 +12,13,22,6 +12,22,14,6 +3,14 +36,6 +5,6,16 +38,13,20,3,5,6 +3,23 +0 +13,14,5,6 +35,3,6 +22,7,6 +25,4,6 +14,18 +7,6 +19 +22,3 +33,20,3,6,28,18 +14,6 +38,6 +33,3 +20,17,6 +3,14,5,42 +5,6 +5,28 +41,5,6 +17,7,6,21 +4,5,6,46 +25,14,5,6,15,30 +2,20,6,30 +17,14,6,19 +38,22,14,5,6 +22,3,6 +3,5,6,42 +25,3,5,6 +4,6,18,46,29 +34,36,4 +25,3 +34,5,6,10 +13,5,6,28 +9,26,5,6 +39,13,5,6,10 +21 +7,3,6 +6 +2,22,5,6,21 +33,12 +34,3,4,5,6,28,42 +14,5,6 +25,14,21 +13,7,3,8 +48,13,5,6 +50,6 +4,5,6 +25,17,7,3,5,6 +17,14,6,8 +25,20,3,4 +14,6,10 +6 +6,46 +32,34,4,6,29 +37,6,8 +3,14,6,23 +22,14,43 +25,6,21,19 +3,6,28 +45,6 +17,14,5 +3,6 +5,23,11,43 +20,4,6,11 +20,17,3,5 +26 +14,6 +5,6 +41,17,5,6 +17,14,5,6,49 +12,6 +32,27,14,5 +6,42 +26,14,5,6,19 +14 +17,3,14,5,6 +14,6,42 +2,25 +22,6 +6 +25,7,6 +39,9,6 +41,22,3,5 +22,6 +48,5,30 +7,30 +12,2,17,6 +48,2,6 +25 +27,14,5,6 +22,17,14,5,6,18 +35,13,22,7 +2,17,6,46 +49 +5,46 +5,6,18 +13,3,4,14,6,43 +5,6,18 +22 +14,6,11 +51,5 +5,6,49 +4,43 +26,14,16 +14,6,16 +25,20,7,14,6 +25,21 +3,14,5 +0 +3,4,6,28,10 +51,4,14 +48,6,16 +20,6 +2,5,6 +40,4,5,6 +16 +9,7,6,16 +39,3 +5 +6,21 +40,6 +5,6,10,46 +13,2,3,5,6 +17,3 +20,5 +3,5,6 +17,6 +4,42 +5,15 +50,6,8 +14,6 +4,5,6 +7,6 +3,5,6 +25,6,29,30 +37,27,6 +20,7,14,6,28,10 +12,5,43 +17,7,14,6 +3,14,5,6 +26,2 +50,17,3,5,6,29 +34,22,4,6,18 +34,12,14,6,19 +4,6,10,23 +25,22,6,19,49 +36,6 +12,14,5 +25,3,14,5 +22,17,4,5 +22,4,14,5,6 +45,12,6,21,8 +22 +6 +48,2,17,6 +7,6,11 +18 +33,5,6 +48,7,4,5,6,15,46 +20,5 +12,5,6,29 +4,5 +48,4,14,6 +17,7,6 +20,7,4,5,49 +39,7,6,11 +14,6 +7,3,4,5,6,15 +7,5,6 +40,35,14,5,6 +13,5,6 +0 +32,14,5,6,18 +5,6,46 +7,3,14,6,16 +13,5,6 +14,5,6 +17,3,5,6 +25,7,6,46,43,49 +5 +12,10 +5,6 +37,48,6,46 +50,7,3 +4,5,6 +7,5,6 +5,6,18 +20,4,6 +6 +14,5,6 +25,4,14 +20,7,14,6 +35,6 +13,20,5 +17,4 +36,25,7,6 +33,3,4,5,6 +17,5,21,43 +14,6,21 +41,14,21 +33,3,6,15,29 +40,47 +5,6 +33,26,7,4,6,18 +3,4 +38,6 +6,15 +3 +35,7,4,6 +17,14 +20,4,6 +14,6,21 +24,50,2,17,6 +4,5,16,8 +6,21,18 +14,6,21 +24,47,13,14,6,19 +20,6,11,43,49 +5,6,10,16 +13,5,15,49 +47,2,7,3,28,15,30 +25,4 +21,8 +2,22,14,6 +6 +4,5,6 +45,37,5,46 +0 +45,4,5,6,15,8 +13,5,6,46 +39,44,22 +5 +20,3,14,6 +5 +25,14,6,15,29 +5 +22,7,6 +6 +31,17,5,6,10 +6 +0 +17,7,5 +32,6,42,46,49 +0 +5,6 +2,5,6 +17 +44,2,17,5,6,16 +47,14,6,21,16 +5,6,46 +14,6 +4,6 +20,22,3,14,6 +2,17,6,21 +6 +4,14,6,42 +3,6,18 +4,5,6 +27,22,6,28 +32,6 +24,38,14,6 +39,2,5,19 +17 +31,14,6,19 +5,43 +40,20,14 +6,28,23 +36,6,21,46 +37,4,6,28 +12,2,20,3,5,6 +40,4,6,46 +0 +9,17,6,28,11 +2,25,6,15 +25,17,7,3,4,18 +51,27,2,5,6 +33,5,6,15,11 +2,7,8 +17,5,6,23 +32,13,6 +4,29 +20,6 +12,5,6,28 +2,22,14,5,6 +4,5,6 +51,3,14,6,18,43 +39,20,5,6 +25,7,3,4,6 +3,5,6 +3,5,6,19,30 +7,5,6,11 +6 +7,14,6 +22,14,28 +24,49 +14 +6 +5,6,15 +25,7,6 +44,22,14,6 +14,5,30 +12,6 +22,17,14,5,6 +36,20,5,6 +0 +27,13,6 +12,13,17,5,6,10 +50,14,5,6 +13,14 +17,4,6 +5,6 +25,20,7,28,19 +27,2,4,18 +36,12,14,49 +14,6 +32,14,6,21 +5,6 +40,32,4,5,16 +40,5,6,21 +16 +5,6,10 +50,49 +5,6 +9,14,5,46 +7,3,6 +26,6,19,16 +4,14,5 +4,6 +14,5 +17,14 +13,20,3,6 +26,5,6 +4,5,6 +14,5,6 +17,4,6,43 +12,6,28 +48,3,14 +47,17,14,5,6 +25,3,5,6,49 +41,6,19 +7,6 +4,14,6 +27,17,5,28 +7,6 +35,22,7,5 +3,6,10 +4 +14 +13,6,18 +41 +6 +25,22,14,5,6,28 +34,26,7,6 +14,5 +34,6 +5,6 +38,26,2,14,6 +13,7,6 +17,6,28 +13,17 +0 +40,25,5,28 +44,4,6,10 +5,6 +41,7,4,6,8 +4,11,49 +13,22,7,6,30 +6,8 +4,5,6 +6 +50,14,5,6 +22,5,29 +37,33,4,5 +44,6 +22,6,28,30 +27,7,16 +17,4,14,5 +2,5,6,16 +7,14,5,6 +17,4,6 +5,6 +2,25 +25,20,5 +14,6,19 +3,6 +13,7,5,6 +5,49 +36,3,6,21 +20,4,5,6,28 +9,27,6 +45,19 +17,3,6 +6 +45,33,22,5,6 +6,19 +3,6,15 +2,3,6 +12,20,17,14,5 +22,7,5,6,42 +48,7,5,6,28 +6,29 +38,2,7,6 +26,5,6,18,46 +6 +6 +34,17,6 +17,7,6 +32,36,25,22 +3,6 +36 +47,41,5,6 +27,22,14,6,23,30 +22,14,5,6,21 +20,23 +0 +14,6,15 +5 +20,5,6,16 +40,17,14,5,42 +37,27,14,6,23 +5,6 +2,5,6 +12,2,5,6 +6,16 +22,17,6,29 +37,22,14,6,29 +25,6 +47,5,6 +4,5,6 +6,19,23,49 +20,17,14,6,8 +25,4,5,6 +3,14,6,42,46 +50,3,5,6,29 +5 +25,14,6 +38,5,6,28,18,23 +14,6,49 +4,6 +22,7,5,19 +17,3,28 +6,21 +27,2,17,6 +25,7,3,21,46 +7,6 +6,49 +6 +22,6 +35,4,14,6 +20,14,5,6,21,46 +7,6 +6 +24,6 +4,5,6 +14,6,15,30 +22,6,10 +2,4,6 +7,14,5,6,15 +22,6,19 +14 +6 +5,6 +45,32,5 +14,6,43 +6,46 +17,4,5,6,11 +35,14,6,21,16 +13,7,19,8 +20,6 +20,6 +6,23 +13,6 +0 +4,14,6 +12,20,3,5 +26,6 +6,28 +2,6 +5 +6 +44,7,6 +6,49 +12,20,11 +39,25,6,15 +4,5 +25,5,6 +6,10 +3,6,21,8 +7,4,5,6 +4,5 +41,22,6,16 +38,7,3,6 +4,5,6,28 +20,6 +51 +7,4,5,6 +24 +37,25,20,5,6 +45,27,3,4,6 +28 +12,5 +6,29 +9,4,6 +12,22,6 +7,6 +5,6,15 +13,6,29 +32 +20,3,5,6 +34,2,4,5,6,42 +6,23 +5,6,15 +14,5,6 +3,11 +4,6,28 +32,14,21 +48,5,6,30 +14,6 +12,14,6 +6 +40,35,14,5,6 +2 +20,3,6 +24,12,20,14,6 +4,6 +14,6,15 +9,36,7,14,6,42 +7,3,14,6 +14,30 +6,42 +5 +35,20,17,14,6,23,11 +3 +20,7 +27,6,18 +5,6 +32,15 +2,3,4,6,15 +33,22,3,14,5,6 +40,20,22,17,4,14,6,29 +45,14,5,6 +40,6 +34,27,12,6 +14,5,6,16 +27,22,7,4 +6,30 +6 +9,33,14,21,23,29 +12,25,17,6 +6 +13 +38,13,25,14 +22,6,42,23,11 +25,6 +14,5,6,16 +6 +0 +25,6,11 +48,7,6 +33,3,43 +20,6 +7,5,6 +7,6 +3,14,5,6 +4,6,28 +3,11 +35,25,17 +38,6 +22,17,3,6 +22,3,14,6 +2,6,19 +41,22,17,3,4,14,6 +3,5,6,8 +6,15 +5,6,23 +20 +25,3,6,15,8 +44,14,5 +23,30 +27,25,4,5,6 +38,14,5,6 +3 +7,3,14,6 +7,3,14 +2,7,14,6 +41,13,6 +9,44,7,5,6 +20,4,14 +6 +0 +20,22,4,6 +17,14,5,6 +14 +24,5,6,23,46 +22,5 +17,14,6,28 +2,6 +34,5,6,28 +12,6,10 +22,17 +22,14,6,15 +27,22,5 +22,7,3,5,6,21 +22,5,6,10 +48,5,6 +5 +38,6,42,23 +7,14 +5,6 +3,5,30 +5,6 +14,5,6,49 +2,14,5,6 +47,14,5,6 +17,6 +16,49 +2,14,6 +7,4,14,6,15,16 +5,6 +25,17,4,14,5,6 +13,17,14,6 +14,5,6,28,16 +5,6 +3,6,46,49 +4,5 +22,14 +4,14,6 +17,3,6 +6,28 +17,14,6 +12,5 +3,14,5,6 +13 +41,22,14 +13,5 +27,5,6 +12,17,6,46 +27,12,14,19,29 +41,5,8 +35,41,3,6 +13,17,3,14 +37,38,12,2,25,14,5,6 +17,6 +4,6 +5,6,28,18 +2,5 +6 +25 +3,42 +7,14,5,21 +17,4,6 +34,14,6,18 +3,5,6,16,18,46 +25,3,6,23 +37,26,12,17,4,5,6 +2,4,5,6 +4,6 +7,14 +14,6 +45,2,14,28 +6 +12,7,15,19 +2 +33,6 +14,5,6 +48,3,6,30 +6 +17,4,6,23 +9,5,6,10 +14,5,6,8 +6 +3,21 +25,17,3,6 +5,6 +24,26,12,25,6,30 +33,25,20,3,4,19 +17,5,8 +14,15,43 +25,17,14,6 +14,5,6 +33,3,6,28,23 +38,6,11 +14,6,16 +4,6,42 +24,35,6 +20,14,28 +17,14 +15 +7,4,6 +50,13,25,4,5 +12,14,5 +17,8 +13,4,14,5,6 +4,5,6,49 +21,10,30 +14,6 +6 +0 +32,13,7 +6 +17,4,6 +24,14,6 +51,13,7,14,5,6 +3,6,42,29 +22,17,5 +7,5,6,43 +6 +6 +51,12,13,14,6 +17,3,4,5,6 +48,14,6 +3,14,6,42 +5,18 +33,22,7,4,5,21 +6 +17,6,28 +0 +44,6,21 +6 +24,4,14,5,16,8 +14,6 +35,17,6 +14,28 +2,6 +39,13,25,4,6,46,30 +17,5 +6,11 +2,14,6,11 +6,28 +13 +14,6 +47,33,25,20,4,5,6 +32,4,6,11 +45,33,5 +17,14,18,49 +12,14,5,6,19,49 +0 +12,3 +6 +3,14,6 +22,7,6,10 +4,6 +25,7,14,6 +50,40,3,6 +4,6 +20,4,14 +5,6 +14,6 +51,4,14,5,6 +6,46 +4,6 +6,28,10 +44,25,6,19 +4,5 +3,6,21,18,49 +2,5,6 +47,27,14 +27,20,4,14,5,6,42 +6,21 +14,5,6 +20,5 +5,6,10 +6,10 +6,28 +40,32,5,6,15 +24,7,14,6 +9,3,6 +3,6,16,23 +17,7,14,49 +17,6,15 +7,4 +9,34,7,6 +35,12,4,14,6,42 +27,12,17,4,6 +20,7,3,14,5,6 +12,7,6,15,11 +26,3,4,14,5,28 +3,5,6,15 +22,6,10 +38,44,4,5,6 +0 +13,4,30 +14,5,6 +26,22,4,14,6,11 +14,5,6 +6,30 +26,20,5 +51,5,23 +25,22,14,5,6,10,29 +12,6,28,16 +7,4,5,28 +48 +6 +41,2,7,14 +4,14 +12,7,5,6,15,29 +50,40,25,14,5,6,15,18,8 +3,14,21,18,23 +25,7,4,5,6 +40,25,4,5,6,19,30 +5,6,29 +13,25,7,21 +4,14,6 +42 +5,6 +33 +22,3,5,6,15,16,11 +45,6 +14,6 +16 +0 +27,2,14,6 +6,18 +51,7,4,28 +6 +7,6,21,42,8 +14 +20,5,6,18 +22,3,6,23 +13,22,6,46 +35,20,6 +6,21,23 +2,25,20,7,5,6 +22,5 +40,2,25,6 +45,47 +20,17,5,6,19 +30 +32,17,4,14,5,6 +38,6,11 +7,6 +2,17,4,5 +14,5,6 +13,5,6 +2,3,5,6,21 +25,14,6 +20,3,5,6 +14,5,6,11 +14,6 +39,6 +6,18,49 +12 +13,5,6,8 +25,20,4,14,6,10,30 +13,6,15,23 +7,14,43 +22,4,6 +26,25,7,3 +6 +51,14,6 +42 +6 +33,17,6,28 +24,12,7,4,5,6,21,15,29 +20 +25,23,8 +7,5,6,42 +34,6 +13,3,6,11 +5,6 +25,14,5,6,28,49 +25,3,6 +17,14,5,21 +32,5 +4,6,28,19 +22,14,5 +47,3,28 +13,17,6 +35,20,5 +33,7,6,15 +9,46 +3,5,21,8 +5,6 +12,14,6 +5,6,21,43 +5,6 +7,6 +5,6,21,8 +6 +17,7,5,6 +22,3,5,6,11 +14,6,21 +26,6 +44,5,6 +5,42 +13,2,21 +7,4,5,6,49 +24,4,6 +12,6 +37,4,5,6 +14,6 +3,6,15 +14,18,23 +2,19,8 +5,6,19 +5,28 +6,42 +26,3,4,14,6 +35,7,4,6,28 +32,25,17,4,14,6,19,8 +32,6 +33,17,7,3,14,5,6 +9,17,7,5,6,46 +12,4,14,6 +6,49 +22,5,6 +34,7,14,5,6 +14 +14,5,6 +6,28 +5 +6 +14,6,19 +34,38,22,4,14,6 +33,2,3 +39,50,37,4,6,23 +45,14,8 +5,6 +3,5,6,46 +0 +5 +6,8 +33,20,7,4,5 +40,22,6,16,18 +7,3 +6,49 +14,5,6,21,28 +3,4,5,21 +3,5,6 +0 +13,14,5,6,10 +25,17,7,3,6,29 +34,6 +6 +39 +4,5,6 +3,6,49 +25,4,6 +6,42 +4,5,6 +7,4,14,5,6 +4,5,29 +4,14,6 +17,6,19 +14 +10 +7,16,23 +17,5,6,21 +2,14,6 +5,6 +32,4,5,6,19,42 +17,5 +5,6 +25,5 +5,6 +13,6 +17,14,6 +44,26,12,5,6 +13,22,5,6 +6,23,49 +51,50,13,25,7 +34,22,4,6,49 +47,6,28 +22,5 +5,6 +38,12,25,4,14,6 +13,17,6 +38,26,14,5,6 +2,6,10 +4,5 +13,7,3,6 +25,20,7,14,6,43 +22,5,6 +5,6 +6,19 +6 +17,14,5,6 +6,15,29 +22,6,16 +6,15 +34,13,7 +20,14,5,6,15 +35,14,6 +24,14,5,6 +7,6 +13,3,5,6 +27,4,5,6 +3,6,23 +3 +6,16 +4,6 +33,7,14,5,28 +5,6 +2 +6 +22,17,5,6 +12,20,7,4,6 +17,6,16 +6 +25,4,6 +13,7,6,11 +5,49 +33,6 +38,6 +2 +2,25,4,14,6,28 +32,20,4,5 +32,6 +33,7,3,6 +39,6,10 +12,2,4,6 +3,5 +2,14,6 +20,14,6,15 +5,19 +27,6,16 +20,17,6 +0 +14,5,6 +14,6 +17,5,6 +5,6,10,43 +7,42 +20,4,6 +17,7,5,28 +35,49 +35,2,5 +5,6,19 +12,5,21 +0 +5,6 +20,5,6,29 +4,14,5,6 +44,20,5,43 +33,12,20,4,14,6,8,49 +5,6 +24,25,5,6 +25,3,4,5,6,42,23 +3,4,5,28 +6 +14,6 +14,6 +12,7,4 +34,20,6,19,23 +2,22,4 +13,5,6,16 +14 +14,5,10 +29 +7,14 +17,14,5,6 +25,6,49 +12,13,6,28,23 +4,6,15 +6 +40,12,14 +6 +26,6,46 +38,22,14,5,6 +44,17,14,6 +25,17,4,6 +14,5,6,19 +40,20,17,4,16 +17,7 +44,4,6 +34,5,6 +12,20,4,6,8 +6 +4,14,5,6,19,16 +32,2,4,6,19 +2,7,5,46 +39 +14,6,15 +5 +27,3,6,15 +14 +2,6,23 +6,21 +45,5 +6,8 +4 +5,6 +4,5,6,21 +2,14,6,15 +2,22,17,4,14,6 +14,6 +25,20,6 +14,5,6 +17 +40,6 +6,10 +7,6 +2,17,6 +22,6 +40,3,5,6 +0 +45,24,4,6 +6 +7,5,6 +7,5,6,21,15 +49 +2,5,6,10,43 +43 +47,3,6 +20,4,6,21 +3,6 +47,2,25,20,17,6,29 +2,3 +2,17,6 +40,34,6,23 +13,6,11 +17,14,5,6 +35,2,6 +22,14,5,19 +26,7 +7,6,16 +25,4,14 +17,7 +5,6 +50,27,6,21 +13,20,14,6 +39,5,6,8 +3,5,6 +25,4,14,5,6 +12,3,4,5,6 +12,6 +7,6 +6 +13,3,6 +5,6 +14,6,11 +5,6 +14,6,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +25,3,6 +27,7,3,6 +5,6,15 +12,17,7,4,5,6,8 +7,4 +12,17,4,6 +13,4 +14,6 +45,3,14,5,6 +45,32,13,14,16,49 +25,4,14,6 +6,16,43 +12,25,6,19 +4,6 +2,5,6,19 +12,25,5,6 +6 +3,6 +5,6,15 +20 +27,7,6 +2,5 +6 +13,5,6 +22,6,43 +13,7,6 +40,12,4,6 +6 +14,5,6 +2,17,6 +5 +17,6 +5 +7,3 +6 +13,20,22,14,6,8 +14,6,10 +47,22,6 +3,4,6 +5 +20,3,6 +22,6 +13,2,17,4,5,6 +13,5,6 +7,6 +34,3,14,5,6,28 +7,6 +20,7,4,5,6,8 +6,19,46 +6,23 +22,14,5,6,8 +6 +6,43 +40,25,6 +4 +20,3,5,6 +14,15,42 +13,6 +45,38,22,3,14,42 +33,22,5,6 +6 +25,6 +5 +14,6 +44,5,6,28 +5 +0 +6,28 +6 +20,6 +39,5,6 +6 +14,6,19 +5,6,11 +6 +6,15 +32,13,20,4,10 +14,8 +8 +13,22,17,11,43 +33,6 +3,5,6 +14,5,6,28 +35,6 +14,6 +27,10 +4,5,23 +20,7,6,23 +6 +5,6 +6 +17,6,8 +5,6 +39 +13,8 +14 +12 +5 +25,14,6 +13,5 +35,6 +47,3,4,6 +35,6 +20,4,14,28 +20,6,42 +45,17,14,5,6 +5 +33,26,4,6 +47,5,6 +50,35,20,6 +17,5,6,8 +12,4,6 +0 +17,5,6 +6 +44,14,6 +12,20,3,14 +22,6 +6,19 +5,6,43 +3,5,10,16 +6 +20,7,4,5,6 +27,14,6 +4,5 +20,3,6 +12,6,19 +3,4 +0 +26,3,14,5,42 +22,4,6 +4,5,6 +14 +7,6 +7,6 +13,17,6 +5 +0 +6 +14,6 +50,26,22,3,5,6 +26,3,6 +5 +5,6 +6 +3,4,6 +50,17,6,28 +6 +13,4,6,11 +4,6 +6 +5 +14,6 +24,14,6 +3,5,6 +5 +14,5,6 +20,5 +20,6 +12 +12,4,14,6 +20,4,6 +35,42 +6 +39,14,6,16 +45,13,17,7,6 +45,47,7,4,14,5,6,28 +50 +6 +12,5,6 +12,6,15 +6 +0 +12,7,5,6,15 +3,4,14,5,28,23 +12,6 +4,15 +34,4 +6 +20,6,19 +14,6,10 +39,17,6 +0 +3,5 +24,6 +3,14,6 +33 +33,4,6 +7,4,19 +3,4,14,6 +24,6 +12,7,14,5,6 +14,6 +20,6 +7,4,5 +13,17 +6 +20,3,14,5,6,15 +12,5,6 +6 +5,6 +6 +12,4,6 +44,5 +6 +5 +44,3,6 +4 +4,6 +7,3,14,6 +14,5,6 +5 +5,6 +3,5,6,15 +5,6,11 +13,6 +50,6 +39,17,7,6 +6 +5 +26,14,5 +6 +5 +7,14 +39,7,6 +6 +17,4,6 +47,17,7,6,28,23 +17,14,5,6 +17,14,6 +5,15 +3,4,14,6 +0 +17,14,6 +35,26,20,4,5,6 +5,6 +14,42,23 +3,6 +42,8 +3,6 +14,6 +3,4,6,10 +5,6 +14,5,6 +50,26,5,28 +33,4,6 +5,6 +14,6 +6 +4,14,6 +14,6,10,8 +4,6 +26,5,6,42,43 +24,14 +45,6 +14,6,15 +38,6,19 +26,5,6 +0 +20,4 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +35,5 +4 +5,23 +14,5 +5 +20,28,19 +4,28,42,23,8 +14 +0 +33,5 +4,14,23 +33,19,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +14,5 +4,5,11 +4,19 +4,23 +14 +13,5,42 +13,5 +0 +14,28 +4 +0 +14,10,11 +33 +50,44,14,5 +14,28,15,8 +4,42,11 diff --git a/siftsmall/siftsmall_R32_L50_filtered_index_labels.json b/siftsmall/siftsmall_R32_L50_filtered_index_labels.json new file mode 100644 index 0000000..df8608b --- /dev/null +++ b/siftsmall/siftsmall_R32_L50_filtered_index_labels.json @@ -0,0 +1,10002 @@ +[ + 2, + 6, + 6, + 0, + 6, + 4, + 6, + 6, + 4, + 6, + 3, + 5, + 5, + 6, + 2, + 13, + 6, + 10, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 6, + 5, + 2, + 6, + 5, + 6, + 4, + 6, + 6, + 3, + 3, + 4, + 2, + 6, + 5, + 6, + 3, + 28, + 6, + 2, + 5, + 6, + 26, + 5, + 6, + 5, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 5, + 6, + 6, + 3, + 5, + 7, + 6, + 2, + 6, + 4, + 10, + 5, + 6, + 6, + 5, + 6, + 6, + 7, + 3, + 2, + 31, + 2, + 0, + 4, + 4, + 2, + 5, + 5, + 2, + 4, + 12, + 6, + 6, + 3, + 30, + 6, + 2, + 6, + 14, + 4, + 6, + 3, + 4, + 4, + 50, + 14, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 6, + 10, + 6, + 49, + 6, + 3, + 4, + 4, + 6, + 0, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 3, + 4, + 5, + 6, + 5, + 3, + 7, + 6, + 6, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 3, + 2, + 5, + 6, + 5, + 4, + 6, + 14, + 3, + 6, + 5, + 5, + 6, + 0, + 6, + 3, + 3, + 5, + 4, + 3, + 5, + 2, + 6, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 5, + 4, + 6, + 3, + 5, + 13, + 6, + 6, + 3, + 2, + 5, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 5, + 6, + 4, + 7, + 5, + 5, + 5, + 4, + 6, + 4, + 5, + 4, + 3, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 5, + 4, + 3, + 6, + 6, + 6, + 6, + 5, + 6, + 7, + 5, + 3, + 7, + 5, + 5, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 5, + 6, + 6, + 5, + 3, + 5, + 6, + 5, + 3, + 3, + 5, + 4, + 4, + 3, + 28, + 5, + 17, + 5, + 3, + 5, + 4, + 5, + 6, + 5, + 5, + 0, + 4, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 6, + 16, + 18, + 5, + 6, + 0, + 3, + 2, + 6, + 6, + 5, + 5, + 5, + 2, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 0, + 3, + 6, + 5, + 4, + 5, + 2, + 10, + 3, + 17, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 2, + 4, + 2, + 4, + 6, + 17, + 6, + 2, + 5, + 4, + 4, + 4, + 22, + 3, + 0, + 4, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 5, + 6, + 14, + 10, + 5, + 6, + 2, + 6, + 6, + 5, + 2, + 6, + 4, + 12, + 4, + 5, + 17, + 3, + 6, + 6, + 5, + 5, + 5, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 17, + 3, + 5, + 5, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 6, + 6, + 17, + 6, + 6, + 6, + 4, + 6, + 5, + 3, + 15, + 6, + 5, + 4, + 6, + 4, + 6, + 22, + 6, + 2, + 4, + 10, + 2, + 19, + 6, + 5, + 4, + 5, + 3, + 3, + 7, + 6, + 6, + 3, + 6, + 5, + 2, + 8, + 5, + 4, + 4, + 6, + 3, + 5, + 4, + 12, + 3, + 5, + 2, + 3, + 2, + 2, + 14, + 6, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 5, + 3, + 5, + 2, + 4, + 4, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 0, + 14, + 5, + 3, + 2, + 4, + 3, + 3, + 6, + 5, + 6, + 14, + 6, + 6, + 2, + 3, + 3, + 0, + 0, + 5, + 6, + 3, + 6, + 3, + 3, + 6, + 5, + 6, + 0, + 4, + 5, + 4, + 3, + 6, + 6, + 6, + 3, + 14, + 4, + 6, + 4, + 6, + 6, + 6, + 2, + 4, + 6, + 4, + 3, + 4, + 4, + 3, + 6, + 6, + 6, + 5, + 6, + 17, + 6, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 14, + 0, + 2, + 4, + 14, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 2, + 3, + 5, + 15, + 5, + 2, + 3, + 5, + 0, + 38, + 6, + 0, + 3, + 6, + 6, + 5, + 0, + 6, + 6, + 5, + 14, + 6, + 4, + 6, + 6, + 6, + 14, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 4, + 6, + 3, + 6, + 40, + 2, + 5, + 3, + 10, + 3, + 2, + 7, + 5, + 6, + 6, + 2, + 5, + 3, + 3, + 4, + 6, + 3, + 6, + 6, + 4, + 6, + 23, + 6, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 6, + 7, + 5, + 8, + 6, + 6, + 3, + 6, + 6, + 4, + 5, + 0, + 6, + 6, + 5, + 4, + 6, + 14, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 5, + 6, + 3, + 5, + 5, + 6, + 2, + 15, + 2, + 6, + 3, + 2, + 6, + 4, + 5, + 4, + 5, + 5, + 6, + 5, + 2, + 2, + 12, + 5, + 6, + 4, + 4, + 6, + 6, + 5, + 3, + 5, + 3, + 5, + 3, + 5, + 5, + 5, + 3, + 5, + 0, + 5, + 17, + 5, + 6, + 4, + 5, + 0, + 5, + 6, + 2, + 3, + 2, + 6, + 4, + 6, + 5, + 4, + 3, + 2, + 3, + 5, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 6, + 6, + 3, + 4, + 2, + 6, + 3, + 6, + 3, + 6, + 5, + 0, + 6, + 6, + 3, + 6, + 3, + 5, + 3, + 4, + 4, + 6, + 4, + 3, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 3, + 3, + 3, + 5, + 5, + 5, + 5, + 4, + 6, + 4, + 2, + 6, + 14, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 15, + 6, + 2, + 5, + 10, + 5, + 5, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 3, + 12, + 6, + 5, + 6, + 3, + 4, + 5, + 13, + 3, + 15, + 6, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 4, + 6, + 2, + 22, + 3, + 6, + 5, + 5, + 4, + 4, + 6, + 3, + 4, + 6, + 2, + 2, + 3, + 2, + 5, + 6, + 6, + 2, + 6, + 5, + 2, + 6, + 5, + 6, + 5, + 4, + 6, + 6, + 6, + 8, + 5, + 3, + 5, + 3, + 4, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 2, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 12, + 3, + 14, + 6, + 14, + 3, + 5, + 3, + 4, + 4, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 17, + 3, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 12, + 4, + 5, + 5, + 4, + 5, + 5, + 5, + 6, + 6, + 9, + 6, + 3, + 4, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 4, + 4, + 4, + 2, + 4, + 14, + 5, + 5, + 5, + 4, + 25, + 6, + 6, + 3, + 4, + 4, + 4, + 4, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 5, + 6, + 3, + 4, + 5, + 6, + 20, + 4, + 4, + 6, + 3, + 5, + 6, + 5, + 3, + 3, + 3, + 4, + 2, + 2, + 3, + 2, + 6, + 5, + 0, + 14, + 2, + 6, + 6, + 6, + 5, + 6, + 2, + 5, + 4, + 4, + 6, + 4, + 6, + 2, + 5, + 6, + 5, + 5, + 6, + 39, + 13, + 4, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 6, + 3, + 6, + 3, + 3, + 5, + 6, + 2, + 6, + 6, + 6, + 14, + 14, + 6, + 4, + 7, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 5, + 4, + 6, + 3, + 6, + 2, + 6, + 4, + 4, + 13, + 5, + 3, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 4, + 4, + 20, + 2, + 6, + 5, + 5, + 6, + 4, + 4, + 4, + 5, + 6, + 3, + 17, + 6, + 14, + 6, + 5, + 5, + 6, + 3, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 4, + 3, + 9, + 5, + 5, + 6, + 6, + 5, + 2, + 25, + 4, + 6, + 3, + 6, + 6, + 6, + 2, + 6, + 6, + 4, + 3, + 20, + 6, + 6, + 6, + 0, + 6, + 6, + 49, + 6, + 5, + 5, + 5, + 48, + 14, + 6, + 3, + 5, + 5, + 0, + 2, + 4, + 6, + 4, + 5, + 6, + 2, + 8, + 6, + 3, + 14, + 6, + 5, + 3, + 4, + 6, + 6, + 3, + 4, + 4, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 4, + 4, + 6, + 13, + 39, + 4, + 6, + 6, + 3, + 4, + 3, + 6, + 3, + 6, + 3, + 3, + 5, + 15, + 6, + 6, + 5, + 5, + 6, + 5, + 3, + 5, + 6, + 6, + 3, + 10, + 6, + 6, + 5, + 0, + 3, + 3, + 5, + 4, + 4, + 14, + 5, + 6, + 5, + 18, + 19, + 5, + 5, + 6, + 2, + 6, + 5, + 14, + 5, + 5, + 2, + 6, + 3, + 6, + 6, + 14, + 3, + 6, + 6, + 3, + 4, + 19, + 8, + 6, + 4, + 3, + 6, + 4, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 0, + 6, + 19, + 6, + 3, + 4, + 6, + 6, + 3, + 6, + 5, + 4, + 4, + 5, + 43, + 5, + 5, + 6, + 6, + 4, + 4, + 5, + 17, + 6, + 6, + 14, + 4, + 6, + 14, + 4, + 5, + 7, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 6, + 12, + 4, + 5, + 4, + 6, + 6, + 3, + 5, + 5, + 13, + 6, + 3, + 2, + 13, + 3, + 6, + 3, + 4, + 2, + 3, + 6, + 6, + 14, + 3, + 5, + 5, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 16, + 2, + 6, + 5, + 30, + 6, + 5, + 4, + 6, + 6, + 3, + 5, + 2, + 4, + 4, + 5, + 0, + 5, + 6, + 6, + 6, + 5, + 5, + 5, + 18, + 5, + 6, + 4, + 0, + 3, + 3, + 6, + 5, + 6, + 6, + 13, + 3, + 2, + 6, + 12, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 4, + 5, + 4, + 2, + 5, + 2, + 0, + 7, + 0, + 3, + 2, + 4, + 24, + 4, + 6, + 14, + 5, + 6, + 6, + 13, + 4, + 4, + 5, + 6, + 6, + 3, + 5, + 2, + 6, + 5, + 4, + 5, + 2, + 4, + 6, + 22, + 6, + 6, + 5, + 6, + 5, + 20, + 5, + 3, + 4, + 6, + 6, + 6, + 5, + 2, + 3, + 3, + 14, + 6, + 4, + 5, + 3, + 12, + 2, + 5, + 3, + 5, + 2, + 2, + 4, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 6, + 3, + 6, + 14, + 4, + 6, + 4, + 6, + 4, + 2, + 4, + 3, + 2, + 6, + 5, + 2, + 6, + 6, + 0, + 23, + 5, + 5, + 5, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 6, + 6, + 9, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 17, + 6, + 8, + 5, + 15, + 4, + 2, + 3, + 5, + 6, + 5, + 4, + 5, + 4, + 4, + 4, + 26, + 4, + 6, + 17, + 5, + 7, + 6, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 14, + 6, + 14, + 5, + 6, + 5, + 0, + 5, + 3, + 6, + 4, + 7, + 6, + 3, + 5, + 13, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 5, + 6, + 14, + 7, + 5, + 3, + 6, + 3, + 7, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 2, + 14, + 3, + 4, + 4, + 5, + 7, + 6, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 4, + 11, + 5, + 5, + 6, + 6, + 2, + 6, + 7, + 6, + 6, + 5, + 6, + 26, + 4, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 4, + 7, + 3, + 4, + 6, + 6, + 19, + 5, + 5, + 6, + 2, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 3, + 2, + 5, + 29, + 5, + 3, + 4, + 14, + 6, + 3, + 5, + 8, + 4, + 4, + 6, + 6, + 2, + 3, + 3, + 6, + 3, + 5, + 5, + 14, + 0, + 11, + 5, + 6, + 5, + 6, + 6, + 4, + 14, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 5, + 2, + 4, + 5, + 3, + 5, + 3, + 2, + 5, + 5, + 5, + 3, + 6, + 3, + 4, + 28, + 4, + 0, + 0, + 7, + 9, + 6, + 6, + 5, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 28, + 6, + 3, + 6, + 4, + 2, + 7, + 20, + 3, + 2, + 6, + 6, + 19, + 4, + 4, + 6, + 3, + 5, + 5, + 20, + 6, + 6, + 5, + 3, + 5, + 0, + 5, + 2, + 6, + 2, + 6, + 4, + 6, + 14, + 6, + 25, + 5, + 3, + 3, + 6, + 6, + 0, + 5, + 6, + 33, + 4, + 2, + 16, + 7, + 4, + 3, + 6, + 6, + 5, + 0, + 6, + 3, + 4, + 5, + 6, + 4, + 14, + 5, + 6, + 3, + 3, + 3, + 5, + 6, + 5, + 2, + 4, + 6, + 2, + 2, + 2, + 4, + 6, + 5, + 20, + 6, + 4, + 18, + 6, + 3, + 2, + 6, + 5, + 17, + 6, + 5, + 3, + 5, + 6, + 2, + 6, + 4, + 5, + 5, + 6, + 4, + 4, + 6, + 2, + 6, + 3, + 6, + 4, + 6, + 6, + 22, + 6, + 7, + 3, + 3, + 6, + 2, + 3, + 6, + 6, + 3, + 4, + 2, + 27, + 6, + 5, + 4, + 5, + 5, + 2, + 5, + 2, + 5, + 9, + 6, + 6, + 6, + 12, + 6, + 4, + 6, + 5, + 14, + 6, + 6, + 3, + 5, + 3, + 12, + 6, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 6, + 0, + 3, + 4, + 3, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 3, + 3, + 6, + 6, + 4, + 6, + 3, + 2, + 14, + 3, + 48, + 4, + 4, + 6, + 5, + 3, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 49, + 5, + 3, + 6, + 3, + 6, + 6, + 3, + 8, + 4, + 25, + 6, + 3, + 5, + 4, + 4, + 2, + 3, + 7, + 4, + 6, + 6, + 4, + 0, + 2, + 13, + 5, + 4, + 4, + 2, + 3, + 20, + 6, + 5, + 3, + 9, + 4, + 5, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 4, + 6, + 6, + 5, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 14, + 3, + 44, + 5, + 3, + 10, + 17, + 4, + 6, + 5, + 16, + 0, + 6, + 5, + 12, + 6, + 5, + 4, + 6, + 3, + 6, + 12, + 5, + 6, + 5, + 3, + 6, + 4, + 2, + 4, + 20, + 4, + 4, + 5, + 5, + 6, + 3, + 3, + 3, + 4, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 2, + 3, + 6, + 6, + 3, + 3, + 2, + 6, + 2, + 0, + 0, + 6, + 5, + 2, + 7, + 6, + 3, + 6, + 6, + 5, + 8, + 4, + 20, + 4, + 5, + 4, + 15, + 6, + 6, + 6, + 2, + 4, + 5, + 6, + 20, + 4, + 10, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 14, + 2, + 6, + 3, + 6, + 34, + 6, + 4, + 5, + 5, + 4, + 4, + 3, + 2, + 5, + 6, + 6, + 14, + 6, + 5, + 5, + 5, + 14, + 4, + 6, + 6, + 4, + 3, + 12, + 6, + 5, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 6, + 30, + 6, + 6, + 6, + 2, + 5, + 3, + 5, + 5, + 6, + 3, + 25, + 4, + 5, + 3, + 4, + 0, + 6, + 6, + 4, + 3, + 6, + 5, + 4, + 31, + 14, + 5, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 5, + 40, + 5, + 6, + 4, + 4, + 4, + 6, + 4, + 5, + 5, + 6, + 6, + 6, + 4, + 3, + 6, + 5, + 14, + 6, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 16, + 4, + 6, + 5, + 7, + 13, + 5, + 3, + 5, + 4, + 6, + 2, + 3, + 6, + 4, + 3, + 2, + 2, + 6, + 5, + 16, + 5, + 5, + 5, + 5, + 23, + 5, + 3, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 2, + 3, + 6, + 2, + 3, + 5, + 2, + 4, + 3, + 4, + 6, + 3, + 6, + 6, + 5, + 5, + 6, + 5, + 5, + 8, + 4, + 2, + 10, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 0, + 5, + 22, + 2, + 5, + 5, + 5, + 6, + 14, + 6, + 5, + 4, + 5, + 5, + 6, + 4, + 3, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 2, + 4, + 49, + 5, + 5, + 2, + 5, + 4, + 30, + 6, + 6, + 7, + 3, + 6, + 2, + 5, + 5, + 25, + 5, + 3, + 6, + 3, + 5, + 6, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 5, + 5, + 17, + 6, + 5, + 5, + 13, + 6, + 6, + 4, + 6, + 3, + 4, + 5, + 36, + 2, + 3, + 4, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 6, + 4, + 5, + 2, + 5, + 5, + 0, + 14, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 5, + 3, + 3, + 2, + 5, + 25, + 5, + 5, + 0, + 4, + 35, + 50, + 6, + 4, + 5, + 4, + 6, + 3, + 4, + 18, + 6, + 20, + 6, + 6, + 5, + 5, + 6, + 6, + 3, + 19, + 4, + 2, + 13, + 5, + 7, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 5, + 5, + 15, + 6, + 6, + 5, + 2, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 6, + 2, + 6, + 3, + 4, + 6, + 17, + 6, + 5, + 3, + 2, + 4, + 6, + 3, + 3, + 6, + 6, + 6, + 34, + 6, + 4, + 6, + 4, + 6, + 6, + 3, + 6, + 6, + 3, + 5, + 3, + 3, + 6, + 6, + 5, + 3, + 4, + 6, + 2, + 6, + 4, + 6, + 3, + 7, + 5, + 4, + 6, + 37, + 6, + 6, + 25, + 3, + 3, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 4, + 10, + 0, + 3, + 0, + 6, + 3, + 5, + 3, + 4, + 6, + 6, + 5, + 6, + 3, + 5, + 6, + 14, + 6, + 6, + 2, + 4, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 6, + 20, + 3, + 5, + 6, + 4, + 5, + 5, + 3, + 5, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 6, + 17, + 5, + 4, + 6, + 6, + 11, + 3, + 3, + 6, + 6, + 6, + 4, + 0, + 13, + 6, + 4, + 6, + 5, + 4, + 7, + 3, + 14, + 4, + 4, + 6, + 4, + 6, + 7, + 6, + 5, + 4, + 4, + 3, + 3, + 4, + 14, + 0, + 5, + 6, + 7, + 6, + 14, + 6, + 4, + 3, + 5, + 30, + 6, + 4, + 5, + 3, + 5, + 22, + 2, + 8, + 5, + 3, + 3, + 6, + 4, + 6, + 25, + 4, + 3, + 2, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 7, + 6, + 3, + 4, + 5, + 3, + 6, + 6, + 6, + 22, + 6, + 4, + 0, + 5, + 4, + 4, + 6, + 5, + 6, + 3, + 4, + 25, + 5, + 3, + 6, + 3, + 5, + 14, + 4, + 6, + 13, + 3, + 5, + 5, + 6, + 12, + 29, + 5, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 3, + 6, + 2, + 5, + 4, + 6, + 2, + 4, + 5, + 5, + 6, + 6, + 47, + 6, + 12, + 6, + 5, + 7, + 6, + 4, + 18, + 6, + 5, + 2, + 4, + 3, + 4, + 4, + 4, + 3, + 4, + 5, + 6, + 6, + 18, + 6, + 4, + 5, + 0, + 4, + 3, + 2, + 5, + 2, + 5, + 4, + 6, + 5, + 38, + 2, + 5, + 2, + 3, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 7, + 3, + 4, + 4, + 6, + 3, + 33, + 4, + 6, + 3, + 5, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 3, + 3, + 5, + 4, + 5, + 6, + 5, + 11, + 23, + 4, + 4, + 6, + 6, + 2, + 6, + 3, + 0, + 2, + 4, + 7, + 6, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 4, + 2, + 2, + 6, + 3, + 5, + 5, + 4, + 2, + 4, + 6, + 5, + 14, + 6, + 6, + 6, + 7, + 5, + 6, + 0, + 5, + 2, + 7, + 5, + 21, + 5, + 4, + 8, + 5, + 6, + 4, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 0, + 3, + 3, + 14, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 3, + 2, + 6, + 6, + 4, + 6, + 3, + 4, + 3, + 2, + 3, + 4, + 3, + 3, + 0, + 0, + 4, + 6, + 5, + 2, + 4, + 19, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 4, + 6, + 6, + 0, + 6, + 2, + 4, + 5, + 4, + 6, + 4, + 21, + 5, + 20, + 5, + 3, + 2, + 6, + 5, + 4, + 6, + 2, + 6, + 4, + 4, + 16, + 7, + 6, + 6, + 5, + 7, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 6, + 4, + 6, + 6, + 14, + 22, + 4, + 6, + 5, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 2, + 5, + 5, + 5, + 6, + 5, + 3, + 20, + 3, + 6, + 0, + 6, + 6, + 6, + 3, + 6, + 6, + 6, + 6, + 5, + 27, + 3, + 5, + 3, + 3, + 6, + 26, + 6, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 6, + 6, + 27, + 6, + 4, + 6, + 12, + 4, + 5, + 6, + 12, + 3, + 13, + 5, + 3, + 5, + 14, + 19, + 12, + 3, + 5, + 35, + 6, + 3, + 6, + 4, + 12, + 6, + 3, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 3, + 20, + 5, + 3, + 5, + 4, + 6, + 4, + 3, + 24, + 6, + 5, + 6, + 6, + 5, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 19, + 6, + 0, + 3, + 6, + 3, + 6, + 7, + 6, + 5, + 5, + 3, + 5, + 6, + 6, + 5, + 4, + 2, + 22, + 6, + 3, + 2, + 4, + 5, + 6, + 5, + 6, + 6, + 7, + 3, + 6, + 3, + 3, + 5, + 5, + 14, + 7, + 5, + 22, + 12, + 5, + 4, + 4, + 6, + 6, + 6, + 5, + 3, + 6, + 4, + 3, + 6, + 6, + 4, + 5, + 3, + 6, + 5, + 5, + 3, + 5, + 18, + 4, + 6, + 6, + 2, + 3, + 6, + 4, + 3, + 4, + 6, + 5, + 6, + 14, + 5, + 14, + 6, + 3, + 20, + 6, + 6, + 4, + 7, + 6, + 5, + 5, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 5, + 4, + 6, + 3, + 3, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 10, + 3, + 5, + 5, + 5, + 4, + 3, + 5, + 2, + 6, + 6, + 4, + 6, + 4, + 15, + 5, + 3, + 3, + 6, + 5, + 3, + 5, + 6, + 3, + 4, + 6, + 2, + 4, + 3, + 3, + 0, + 3, + 5, + 3, + 4, + 6, + 5, + 4, + 14, + 6, + 5, + 3, + 0, + 14, + 5, + 3, + 2, + 6, + 6, + 3, + 4, + 2, + 4, + 6, + 6, + 4, + 4, + 4, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 5, + 4, + 5, + 5, + 5, + 4, + 2, + 5, + 5, + 5, + 5, + 4, + 6, + 20, + 6, + 12, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 6, + 14, + 3, + 4, + 5, + 6, + 6, + 4, + 5, + 6, + 4, + 6, + 6, + 5, + 2, + 5, + 3, + 3, + 6, + 3, + 4, + 6, + 7, + 5, + 2, + 5, + 0, + 6, + 3, + 3, + 4, + 6, + 3, + 7, + 7, + 4, + 7, + 3, + 4, + 6, + 4, + 3, + 4, + 4, + 2, + 7, + 6, + 6, + 3, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 12, + 6, + 5, + 2, + 3, + 8, + 5, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 6, + 5, + 3, + 5, + 5, + 5, + 8, + 6, + 21, + 5, + 6, + 4, + 3, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 5, + 31, + 3, + 5, + 5, + 3, + 12, + 0, + 5, + 6, + 6, + 5, + 2, + 6, + 6, + 3, + 2, + 6, + 3, + 6, + 3, + 6, + 4, + 6, + 6, + 4, + 0, + 3, + 6, + 23, + 46, + 6, + 3, + 4, + 6, + 6, + 13, + 5, + 3, + 3, + 5, + 5, + 6, + 3, + 25, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 2, + 6, + 5, + 5, + 20, + 11, + 2, + 6, + 6, + 0, + 6, + 5, + 6, + 4, + 6, + 3, + 5, + 3, + 7, + 5, + 10, + 4, + 25, + 6, + 5, + 5, + 14, + 3, + 6, + 4, + 4, + 3, + 20, + 36, + 6, + 5, + 14, + 14, + 6, + 4, + 2, + 5, + 3, + 2, + 26, + 20, + 6, + 4, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 35, + 6, + 5, + 3, + 6, + 5, + 3, + 5, + 6, + 5, + 4, + 4, + 3, + 2, + 5, + 4, + 6, + 0, + 5, + 4, + 3, + 5, + 14, + 6, + 5, + 7, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 5, + 2, + 5, + 6, + 2, + 2, + 3, + 2, + 5, + 2, + 6, + 6, + 4, + 5, + 2, + 2, + 4, + 0, + 6, + 6, + 4, + 6, + 3, + 6, + 5, + 6, + 5, + 4, + 6, + 12, + 5, + 6, + 4, + 6, + 5, + 6, + 5, + 22, + 6, + 6, + 6, + 6, + 6, + 3, + 5, + 4, + 4, + 2, + 5, + 3, + 6, + 4, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 3, + 3, + 25, + 6, + 3, + 0, + 0, + 4, + 6, + 6, + 2, + 5, + 4, + 6, + 26, + 5, + 5, + 2, + 6, + 3, + 5, + 3, + 4, + 5, + 6, + 6, + 5, + 3, + 3, + 13, + 4, + 7, + 5, + 5, + 6, + 6, + 6, + 0, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 6, + 7, + 6, + 2, + 6, + 4, + 4, + 3, + 5, + 4, + 7, + 5, + 6, + 14, + 6, + 3, + 6, + 5, + 6, + 5, + 5, + 5, + 0, + 6, + 6, + 3, + 6, + 4, + 14, + 5, + 6, + 5, + 3, + 5, + 3, + 24, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 3, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 2, + 6, + 6, + 3, + 2, + 29, + 5, + 5, + 31, + 2, + 7, + 10, + 6, + 17, + 5, + 3, + 6, + 5, + 4, + 5, + 5, + 6, + 5, + 4, + 2, + 4, + 19, + 6, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 4, + 6, + 5, + 4, + 5, + 3, + 2, + 3, + 6, + 3, + 0, + 6, + 2, + 6, + 2, + 4, + 4, + 2, + 3, + 21, + 4, + 5, + 5, + 6, + 4, + 2, + 2, + 2, + 5, + 4, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 6, + 26, + 5, + 3, + 3, + 4, + 17, + 5, + 3, + 0, + 4, + 3, + 7, + 5, + 4, + 2, + 6, + 2, + 5, + 6, + 6, + 5, + 2, + 5, + 38, + 5, + 6, + 5, + 0, + 6, + 6, + 17, + 3, + 6, + 3, + 2, + 5, + 4, + 3, + 6, + 6, + 3, + 3, + 5, + 23, + 5, + 6, + 6, + 5, + 6, + 2, + 5, + 6, + 5, + 14, + 4, + 6, + 4, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 0, + 4, + 4, + 5, + 5, + 12, + 6, + 6, + 44, + 5, + 5, + 2, + 6, + 5, + 2, + 14, + 4, + 2, + 5, + 50, + 2, + 4, + 13, + 3, + 6, + 5, + 6, + 6, + 4, + 5, + 5, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 6, + 6, + 6, + 3, + 4, + 3, + 6, + 2, + 29, + 6, + 5, + 2, + 44, + 6, + 14, + 5, + 6, + 5, + 4, + 6, + 4, + 9, + 5, + 3, + 5, + 2, + 5, + 23, + 5, + 0, + 5, + 6, + 7, + 3, + 6, + 3, + 4, + 6, + 5, + 3, + 0, + 3, + 6, + 5, + 41, + 6, + 5, + 6, + 6, + 5, + 6, + 14, + 6, + 5, + 3, + 6, + 3, + 3, + 12, + 6, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 2, + 6, + 6, + 2, + 2, + 6, + 8, + 14, + 4, + 3, + 6, + 6, + 5, + 5, + 3, + 3, + 6, + 22, + 6, + 4, + 6, + 3, + 5, + 5, + 5, + 2, + 2, + 0, + 6, + 6, + 5, + 5, + 5, + 4, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 3, + 12, + 8, + 6, + 3, + 2, + 6, + 5, + 17, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 17, + 5, + 2, + 3, + 7, + 5, + 3, + 6, + 6, + 0, + 6, + 5, + 3, + 4, + 5, + 5, + 18, + 6, + 22, + 3, + 5, + 5, + 3, + 5, + 6, + 5, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 3, + 6, + 4, + 5, + 5, + 5, + 6, + 6, + 4, + 5, + 21, + 5, + 0, + 2, + 2, + 3, + 3, + 4, + 6, + 6, + 0, + 5, + 6, + 6, + 6, + 3, + 3, + 5, + 6, + 3, + 6, + 4, + 3, + 5, + 5, + 6, + 4, + 4, + 5, + 6, + 5, + 6, + 5, + 14, + 4, + 5, + 14, + 6, + 19, + 4, + 20, + 3, + 9, + 6, + 14, + 4, + 6, + 5, + 44, + 6, + 4, + 4, + 6, + 5, + 3, + 2, + 42, + 5, + 2, + 6, + 3, + 4, + 5, + 3, + 5, + 25, + 6, + 2, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 3, + 6, + 2, + 7, + 13, + 6, + 2, + 5, + 5, + 5, + 5, + 21, + 4, + 3, + 8, + 6, + 6, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 2, + 5, + 6, + 6, + 5, + 5, + 5, + 5, + 3, + 6, + 6, + 4, + 6, + 6, + 4, + 0, + 6, + 44, + 2, + 4, + 13, + 5, + 4, + 26, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 3, + 4, + 4, + 6, + 6, + 2, + 0, + 3, + 6, + 3, + 4, + 4, + 6, + 4, + 5, + 7, + 5, + 4, + 6, + 5, + 7, + 4, + 4, + 4, + 6, + 17, + 4, + 5, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 26, + 5, + 14, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 28, + 6, + 6, + 4, + 6, + 4, + 5, + 4, + 0, + 6, + 6, + 4, + 4, + 6, + 21, + 5, + 2, + 2, + 3, + 5, + 7, + 12, + 6, + 6, + 25, + 6, + 28, + 5, + 6, + 4, + 17, + 5, + 5, + 14, + 5, + 10, + 6, + 6, + 6, + 12, + 6, + 6, + 4, + 3, + 23, + 10, + 0, + 2, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 6, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 12, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 6, + 11, + 6, + 6, + 6, + 5, + 46, + 5, + 3, + 6, + 3, + 12, + 5, + 14, + 4, + 6, + 4, + 4, + 5, + 2, + 6, + 6, + 5, + 4, + 14, + 2, + 5, + 4, + 2, + 3, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 42, + 3, + 4, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 3, + 4, + 10, + 3, + 6, + 5, + 3, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 6, + 7, + 4, + 2, + 6, + 6, + 5, + 5, + 4, + 26, + 5, + 5, + 21, + 7, + 5, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 4, + 5, + 6, + 3, + 5, + 6, + 4, + 3, + 4, + 5, + 4, + 6, + 5, + 3, + 2, + 5, + 3, + 0, + 3, + 2, + 6, + 5, + 4, + 3, + 3, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 14, + 6, + 6, + 2, + 5, + 6, + 4, + 3, + 7, + 3, + 5, + 6, + 3, + 5, + 6, + 3, + 5, + 2, + 5, + 2, + 5, + 5, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 6, + 3, + 3, + 9, + 5, + 6, + 6, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 5, + 7, + 6, + 14, + 8, + 2, + 4, + 17, + 5, + 6, + 4, + 3, + 4, + 6, + 5, + 5, + 3, + 6, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 5, + 6, + 6, + 6, + 5, + 2, + 5, + 6, + 3, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 3, + 6, + 5, + 2, + 0, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 17, + 5, + 5, + 6, + 6, + 23, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 3, + 6, + 5, + 3, + 6, + 3, + 16, + 17, + 4, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 5, + 44, + 6, + 4, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 3, + 12, + 3, + 4, + 2, + 14, + 6, + 5, + 6, + 3, + 4, + 14, + 6, + 4, + 4, + 5, + 3, + 4, + 6, + 3, + 0, + 5, + 6, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 6, + 6, + 6, + 5, + 4, + 2, + 6, + 3, + 6, + 4, + 7, + 5, + 5, + 2, + 6, + 6, + 5, + 6, + 8, + 5, + 5, + 5, + 6, + 6, + 6, + 21, + 5, + 2, + 6, + 4, + 5, + 2, + 6, + 6, + 2, + 5, + 3, + 4, + 6, + 6, + 6, + 2, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 5, + 5, + 4, + 4, + 14, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 6, + 3, + 2, + 3, + 5, + 4, + 6, + 6, + 6, + 3, + 6, + 6, + 19, + 3, + 6, + 2, + 6, + 4, + 6, + 14, + 4, + 2, + 6, + 6, + 6, + 4, + 6, + 6, + 0, + 0, + 6, + 4, + 2, + 0, + 6, + 2, + 5, + 6, + 5, + 2, + 5, + 6, + 5, + 4, + 0, + 6, + 4, + 5, + 14, + 0, + 4, + 0, + 3, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 4, + 47, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 2, + 3, + 5, + 15, + 6, + 2, + 5, + 4, + 5, + 6, + 5, + 3, + 5, + 4, + 6, + 6, + 4, + 17, + 6, + 3, + 17, + 3, + 4, + 6, + 5, + 5, + 33, + 4, + 6, + 17, + 20, + 5, + 2, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 4, + 20, + 18, + 5, + 6, + 2, + 6, + 3, + 5, + 3, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 6, + 3, + 6, + 6, + 5, + 14, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 39, + 3, + 5, + 6, + 17, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 3, + 14, + 5, + 6, + 6, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 0, + 0, + 6, + 2, + 3, + 2, + 12, + 6, + 5, + 4, + 25, + 5, + 12, + 0, + 5, + 3, + 3, + 3, + 3, + 6, + 11, + 6, + 6, + 5, + 20, + 2, + 5, + 6, + 4, + 0, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 4, + 3, + 11, + 17, + 5, + 5, + 2, + 5, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 2, + 3, + 7, + 6, + 6, + 17, + 5, + 6, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 8, + 6, + 5, + 5, + 5, + 4, + 5, + 6, + 4, + 33, + 6, + 0, + 5, + 3, + 28, + 6, + 11, + 3, + 33, + 6, + 6, + 5, + 6, + 6, + 3, + 5, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 3, + 3, + 4, + 6, + 5, + 6, + 3, + 3, + 17, + 0, + 4, + 4, + 4, + 5, + 0, + 3, + 2, + 6, + 3, + 6, + 3, + 12, + 20, + 3, + 38, + 6, + 2, + 4, + 3, + 14, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 6, + 5, + 7, + 6, + 6, + 5, + 5, + 6, + 10, + 6, + 2, + 4, + 5, + 2, + 4, + 4, + 8, + 3, + 4, + 5, + 3, + 4, + 3, + 7, + 14, + 6, + 0, + 6, + 6, + 5, + 46, + 5, + 0, + 6, + 4, + 4, + 5, + 5, + 4, + 3, + 5, + 3, + 6, + 3, + 4, + 5, + 6, + 3, + 6, + 4, + 0, + 3, + 6, + 17, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 2, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 19, + 6, + 6, + 2, + 4, + 5, + 5, + 4, + 5, + 2, + 3, + 3, + 2, + 2, + 2, + 0, + 4, + 4, + 26, + 6, + 3, + 4, + 0, + 5, + 3, + 14, + 2, + 2, + 4, + 4, + 4, + 6, + 4, + 6, + 6, + 5, + 5, + 11, + 5, + 3, + 5, + 2, + 6, + 29, + 5, + 5, + 5, + 3, + 4, + 4, + 3, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 2, + 2, + 3, + 7, + 6, + 3, + 6, + 3, + 5, + 6, + 6, + 3, + 28, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 19, + 17, + 6, + 5, + 6, + 8, + 6, + 4, + 6, + 9, + 6, + 12, + 0, + 5, + 6, + 3, + 5, + 5, + 3, + 6, + 26, + 3, + 3, + 6, + 5, + 3, + 6, + 4, + 5, + 2, + 2, + 17, + 2, + 14, + 3, + 5, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 5, + 2, + 3, + 6, + 5, + 14, + 6, + 5, + 3, + 6, + 5, + 3, + 0, + 6, + 0, + 3, + 4, + 5, + 4, + 5, + 5, + 5, + 2, + 0, + 5, + 3, + 2, + 2, + 3, + 6, + 7, + 4, + 5, + 5, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 49, + 6, + 14, + 12, + 6, + 5, + 2, + 3, + 5, + 6, + 2, + 12, + 5, + 12, + 2, + 4, + 6, + 17, + 6, + 4, + 4, + 6, + 14, + 4, + 20, + 6, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 4, + 4, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 18, + 6, + 4, + 3, + 4, + 13, + 6, + 5, + 13, + 3, + 3, + 7, + 5, + 0, + 2, + 3, + 12, + 5, + 5, + 3, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 6, + 3, + 4, + 14, + 4, + 2, + 6, + 6, + 14, + 6, + 5, + 3, + 6, + 14, + 6, + 3, + 4, + 3, + 6, + 6, + 5, + 2, + 4, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 4, + 6, + 14, + 4, + 7, + 4, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 4, + 6, + 5, + 21, + 6, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 5, + 5, + 5, + 5, + 6, + 2, + 0, + 6, + 4, + 5, + 3, + 5, + 4, + 3, + 6, + 5, + 5, + 5, + 22, + 2, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 5, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 6, + 7, + 6, + 6, + 4, + 4, + 3, + 4, + 3, + 5, + 3, + 29, + 2, + 4, + 6, + 19, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 15, + 6, + 6, + 5, + 4, + 6, + 3, + 3, + 17, + 22, + 7, + 4, + 4, + 6, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 23, + 5, + 6, + 8, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 5, + 3, + 48, + 22, + 6, + 4, + 5, + 6, + 13, + 4, + 5, + 6, + 0, + 4, + 5, + 6, + 6, + 3, + 5, + 19, + 3, + 6, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 5, + 5, + 6, + 48, + 3, + 5, + 5, + 5, + 6, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 3, + 4, + 5, + 4, + 6, + 6, + 5, + 10, + 6, + 6, + 4, + 3, + 6, + 3, + 5, + 3, + 10, + 6, + 6, + 13, + 6, + 6, + 5, + 5, + 6, + 0, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 2, + 6, + 17, + 3, + 18, + 6, + 5, + 2, + 4, + 5, + 3, + 4, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 5, + 6, + 2, + 5, + 14, + 5, + 33, + 6, + 6, + 4, + 4, + 2, + 6, + 5, + 23, + 6, + 4, + 3, + 5, + 6, + 6, + 3, + 4, + 7, + 6, + 6, + 12, + 6, + 5, + 4, + 6, + 0, + 6, + 6, + 6, + 5, + 4, + 5, + 2, + 6, + 14, + 5, + 4, + 16, + 5, + 6, + 6, + 4, + 3, + 6, + 14, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 4, + 6, + 6, + 5, + 2, + 6, + 3, + 27, + 6, + 47, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 5, + 6, + 0, + 2, + 6, + 30, + 5, + 14, + 14, + 3, + 6, + 5, + 3, + 15, + 5, + 6, + 5, + 6, + 25, + 4, + 6, + 3, + 5, + 6, + 4, + 4, + 5, + 4, + 5, + 3, + 14, + 4, + 2, + 6, + 4, + 4, + 14, + 5, + 6, + 6, + 4, + 3, + 39, + 6, + 6, + 6, + 3, + 2, + 0, + 5, + 6, + 3, + 6, + 6, + 6, + 5, + 3, + 5, + 21, + 6, + 5, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 5, + 7, + 5, + 5, + 6, + 2, + 15, + 6, + 8, + 4, + 3, + 3, + 2, + 6, + 4, + 4, + 6, + 5, + 6, + 5, + 3, + 3, + 6, + 4, + 3, + 6, + 3, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 7, + 6, + 5, + 13, + 6, + 5, + 18, + 6, + 5, + 6, + 5, + 15, + 4, + 6, + 7, + 4, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 3, + 2, + 4, + 6, + 2, + 7, + 6, + 4, + 5, + 4, + 5, + 0, + 3, + 16, + 6, + 5, + 6, + 3, + 17, + 13, + 5, + 4, + 6, + 4, + 6, + 14, + 5, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 6, + 2, + 5, + 3, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 3, + 5, + 7, + 6, + 5, + 6, + 4, + 6, + 3, + 6, + 22, + 4, + 5, + 4, + 19, + 3, + 6, + 9, + 0, + 47, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 2, + 5, + 5, + 6, + 4, + 5, + 6, + 4, + 5, + 6, + 14, + 4, + 6, + 4, + 5, + 5, + 5, + 5, + 5, + 4, + 5, + 4, + 6, + 22, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 4, + 6, + 2, + 6, + 5, + 3, + 3, + 4, + 4, + 6, + 5, + 6, + 6, + 35, + 2, + 3, + 3, + 3, + 2, + 4, + 5, + 6, + 6, + 5, + 2, + 5, + 6, + 21, + 4, + 0, + 6, + 4, + 4, + 3, + 7, + 4, + 37, + 3, + 2, + 4, + 6, + 6, + 5, + 5, + 7, + 5, + 2, + 6, + 5, + 7, + 6, + 5, + 5, + 6, + 5, + 44, + 6, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 6, + 14, + 5, + 4, + 5, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 2, + 3, + 4, + 10, + 6, + 2, + 5, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 3, + 4, + 3, + 3, + 5, + 6, + 2, + 5, + 3, + 3, + 3, + 5, + 5, + 5, + 4, + 4, + 6, + 0, + 6, + 4, + 6, + 4, + 4, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 6, + 10, + 4, + 17, + 3, + 3, + 4, + 3, + 6, + 15, + 5, + 6, + 7, + 3, + 10, + 5, + 5, + 15, + 4, + 6, + 4, + 4, + 6, + 5, + 4, + 4, + 4, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 4, + 2, + 5, + 11, + 3, + 23, + 6, + 13, + 6, + 6, + 5, + 10, + 5, + 5, + 4, + 11, + 14, + 6, + 3, + 5, + 5, + 6, + 4, + 2, + 18, + 6, + 2, + 3, + 5, + 6, + 25, + 2, + 6, + 4, + 5, + 2, + 5, + 6, + 6, + 6, + 6, + 0, + 2, + 5, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 2, + 6, + 3, + 6, + 5, + 5, + 6, + 5, + 3, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 6, + 3, + 0, + 6, + 2, + 5, + 6, + 5, + 21, + 2, + 2, + 36, + 6, + 6, + 11, + 5, + 7, + 0, + 17, + 6, + 4, + 5, + 6, + 6, + 3, + 6, + 2, + 3, + 4, + 6, + 3, + 5, + 36, + 2, + 2, + 5, + 5, + 3, + 3, + 6, + 6, + 3, + 47, + 3, + 3, + 10, + 5, + 6, + 17, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 3, + 2, + 2, + 4, + 6, + 4, + 5, + 16, + 6, + 13, + 6, + 6, + 3, + 3, + 6, + 3, + 2, + 3, + 2, + 6, + 5, + 3, + 5, + 6, + 38, + 6, + 4, + 0, + 4, + 4, + 5, + 2, + 5, + 6, + 4, + 3, + 6, + 5, + 15, + 3, + 5, + 3, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 3, + 4, + 0, + 42, + 5, + 4, + 5, + 7, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 6, + 14, + 3, + 3, + 3, + 6, + 5, + 4, + 25, + 6, + 6, + 2, + 5, + 5, + 3, + 4, + 3, + 3, + 3, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 4, + 3, + 6, + 7, + 4, + 5, + 3, + 2, + 3, + 5, + 5, + 5, + 2, + 3, + 5, + 2, + 5, + 14, + 3, + 6, + 0, + 6, + 6, + 4, + 3, + 5, + 5, + 3, + 0, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 13, + 4, + 6, + 2, + 4, + 2, + 3, + 5, + 5, + 2, + 2, + 5, + 4, + 5, + 4, + 0, + 22, + 3, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 3, + 4, + 2, + 6, + 3, + 3, + 5, + 6, + 4, + 3, + 6, + 6, + 6, + 6, + 17, + 5, + 5, + 5, + 3, + 4, + 6, + 5, + 4, + 6, + 3, + 3, + 4, + 14, + 5, + 4, + 5, + 4, + 8, + 4, + 5, + 5, + 4, + 25, + 6, + 12, + 3, + 3, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 3, + 7, + 3, + 6, + 3, + 6, + 2, + 6, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 5, + 15, + 5, + 5, + 6, + 22, + 6, + 6, + 2, + 5, + 4, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 4, + 4, + 14, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 0, + 13, + 7, + 3, + 5, + 3, + 2, + 46, + 4, + 6, + 6, + 2, + 5, + 5, + 6, + 3, + 49, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 5, + 6, + 3, + 14, + 3, + 35, + 0, + 6, + 0, + 6, + 5, + 3, + 5, + 4, + 20, + 6, + 6, + 5, + 5, + 3, + 28, + 6, + 3, + 3, + 5, + 4, + 2, + 2, + 5, + 8, + 3, + 4, + 16, + 5, + 5, + 3, + 4, + 3, + 6, + 6, + 4, + 6, + 5, + 4, + 13, + 6, + 6, + 6, + 2, + 6, + 5, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 6, + 8, + 4, + 2, + 3, + 6, + 5, + 5, + 4, + 6, + 28, + 6, + 5, + 5, + 6, + 2, + 6, + 3, + 4, + 5, + 6, + 4, + 3, + 5, + 7, + 4, + 6, + 3, + 3, + 4, + 6, + 5, + 14, + 3, + 30, + 6, + 6, + 6, + 5, + 6, + 42, + 4, + 14, + 6, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 4, + 5, + 5, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 5, + 20, + 6, + 6, + 3, + 4, + 6, + 5, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 5, + 6, + 5, + 5, + 2, + 3, + 5, + 3, + 6, + 2, + 6, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 3, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 0, + 14, + 5, + 3, + 28, + 5, + 5, + 6, + 4, + 6, + 7, + 14, + 4, + 5, + 6, + 5, + 5, + 23, + 14, + 6, + 6, + 6, + 31, + 5, + 5, + 6, + 5, + 5, + 4, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 0, + 5, + 5, + 2, + 2, + 3, + 3, + 5, + 5, + 25, + 3, + 3, + 4, + 3, + 3, + 6, + 2, + 5, + 3, + 16, + 6, + 3, + 4, + 5, + 4, + 3, + 0, + 5, + 4, + 15, + 6, + 0, + 6, + 6, + 14, + 6, + 5, + 5, + 4, + 6, + 4, + 4, + 6, + 2, + 6, + 4, + 2, + 14, + 5, + 4, + 5, + 3, + 2, + 4, + 6, + 3, + 5, + 4, + 6, + 29, + 3, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 2, + 4, + 4, + 5, + 2, + 5, + 13, + 6, + 5, + 4, + 9, + 6, + 14, + 6, + 13, + 6, + 2, + 3, + 2, + 4, + 5, + 4, + 2, + 6, + 0, + 3, + 6, + 2, + 3, + 4, + 5, + 6, + 5, + 6, + 6, + 14, + 6, + 6, + 6, + 4, + 4, + 3, + 4, + 2, + 6, + 30, + 4, + 5, + 6, + 5, + 0, + 5, + 7, + 5, + 3, + 5, + 3, + 6, + 6, + 5, + 4, + 5, + 3, + 5, + 3, + 6, + 4, + 5, + 2, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 8, + 6, + 7, + 4, + 2, + 2, + 0, + 5, + 3, + 6, + 3, + 3, + 6, + 4, + 4, + 6, + 3, + 4, + 5, + 3, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 14, + 3, + 6, + 6, + 3, + 6, + 6, + 4, + 14, + 14, + 6, + 5, + 6, + 6, + 4, + 3, + 6, + 5, + 5, + 5, + 47, + 6, + 3, + 3, + 6, + 14, + 6, + 3, + 3, + 5, + 4, + 6, + 5, + 6, + 4, + 6, + 2, + 5, + 14, + 6, + 5, + 6, + 4, + 6, + 7, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 5, + 6, + 20, + 4, + 5, + 3, + 5, + 2, + 2, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 6, + 12, + 6, + 17, + 6, + 5, + 0, + 4, + 5, + 5, + 14, + 0, + 4, + 5, + 6, + 4, + 4, + 44, + 2, + 6, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 6, + 14, + 6, + 6, + 3, + 4, + 3, + 6, + 6, + 2, + 19, + 6, + 5, + 2, + 42, + 5, + 3, + 4, + 5, + 3, + 6, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 0, + 4, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 4, + 5, + 5, + 0, + 5, + 11, + 21, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 26, + 6, + 6, + 6, + 3, + 2, + 4, + 4, + 4, + 5, + 4, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 5, + 5, + 5, + 5, + 6, + 3, + 6, + 4, + 6, + 7, + 6, + 5, + 6, + 10, + 3, + 3, + 6, + 14, + 6, + 6, + 3, + 3, + 3, + 6, + 4, + 4, + 4, + 6, + 5, + 3, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 12, + 5, + 5, + 2, + 6, + 4, + 6, + 4, + 5, + 6, + 3, + 3, + 4, + 3, + 3, + 0, + 2, + 12, + 4, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 2, + 3, + 5, + 5, + 6, + 5, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 14, + 14, + 6, + 5, + 6, + 4, + 6, + 0, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 16, + 6, + 2, + 5, + 5, + 3, + 12, + 6, + 6, + 6, + 6, + 3, + 6, + 3, + 4, + 5, + 5, + 6, + 5, + 3, + 5, + 4, + 3, + 5, + 3, + 12, + 6, + 4, + 6, + 4, + 5, + 3, + 4, + 3, + 5, + 5, + 6, + 12, + 6, + 6, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 3, + 5, + 6, + 5, + 6, + 5, + 3, + 12, + 4, + 4, + 3, + 6, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 3, + 6, + 8, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 14, + 2, + 0, + 5, + 3, + 5, + 5, + 5, + 7, + 2, + 4, + 5, + 4, + 0, + 3, + 4, + 6, + 5, + 6, + 5, + 5, + 3, + 5, + 3, + 3, + 6, + 6, + 6, + 6, + 2, + 5, + 4, + 6, + 6, + 29, + 5, + 6, + 4, + 10, + 5, + 6, + 3, + 14, + 3, + 4, + 4, + 6, + 4, + 6, + 4, + 6, + 3, + 4, + 5, + 2, + 4, + 27, + 6, + 7, + 6, + 5, + 5, + 2, + 29, + 3, + 3, + 5, + 7, + 8, + 6, + 3, + 6, + 5, + 5, + 0, + 6, + 7, + 6, + 4, + 6, + 3, + 4, + 4, + 6, + 6, + 5, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 12, + 5, + 5, + 0, + 2, + 5, + 6, + 3, + 6, + 6, + 5, + 5, + 2, + 6, + 5, + 3, + 4, + 6, + 2, + 29, + 3, + 6, + 2, + 5, + 2, + 6, + 4, + 0, + 5, + 4, + 6, + 6, + 4, + 3, + 7, + 2, + 4, + 3, + 6, + 4, + 4, + 4, + 6, + 4, + 6, + 5, + 4, + 4, + 4, + 29, + 3, + 12, + 5, + 12, + 3, + 4, + 5, + 2, + 31, + 4, + 6, + 7, + 6, + 5, + 5, + 3, + 4, + 3, + 5, + 4, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 4, + 14, + 5, + 5, + 8, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 2, + 4, + 5, + 0, + 4, + 3, + 16, + 6, + 6, + 12, + 6, + 6, + 4, + 6, + 6, + 19, + 4, + 6, + 5, + 4, + 3, + 27, + 3, + 5, + 5, + 6, + 6, + 6, + 16, + 6, + 5, + 2, + 4, + 2, + 3, + 6, + 5, + 0, + 2, + 3, + 14, + 5, + 4, + 5, + 5, + 2, + 4, + 2, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 3, + 6, + 3, + 18, + 6, + 4, + 5, + 4, + 3, + 0, + 13, + 5, + 3, + 6, + 4, + 4, + 5, + 4, + 6, + 2, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 32, + 6, + 5, + 6, + 0, + 6, + 49, + 3, + 3, + 6, + 14, + 5, + 2, + 5, + 3, + 3, + 2, + 6, + 44, + 3, + 4, + 5, + 7, + 6, + 6, + 7, + 4, + 6, + 5, + 2, + 21, + 6, + 2, + 3, + 2, + 7, + 4, + 6, + 5, + 4, + 6, + 5, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 3, + 0, + 3, + 5, + 5, + 5, + 6, + 40, + 12, + 6, + 5, + 3, + 3, + 4, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 2, + 6, + 5, + 25, + 6, + 6, + 5, + 6, + 6, + 0, + 5, + 5, + 5, + 5, + 15, + 6, + 4, + 20, + 5, + 5, + 6, + 4, + 4, + 5, + 2, + 3, + 5, + 4, + 5, + 6, + 5, + 6, + 10, + 5, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 2, + 5, + 12, + 5, + 3, + 4, + 6, + 6, + 5, + 3, + 14, + 6, + 5, + 5, + 6, + 34, + 0, + 3, + 13, + 6, + 5, + 6, + 5, + 6, + 4, + 3, + 5, + 7, + 23, + 5, + 6, + 6, + 12, + 6, + 7, + 12, + 2, + 6, + 5, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 5, + 6, + 4, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 5, + 4, + 14, + 6, + 4, + 4, + 6, + 14, + 4, + 14, + 3, + 6, + 3, + 17, + 6, + 6, + 6, + 6, + 6, + 2, + 6, + 6, + 2, + 3, + 6, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 5, + 14, + 4, + 3, + 25, + 6, + 6, + 12, + 5, + 5, + 44, + 6, + 3, + 7, + 4, + 4, + 2, + 5, + 5, + 2, + 2, + 4, + 6, + 0, + 5, + 25, + 3, + 12, + 2, + 6, + 6, + 9, + 2, + 4, + 6, + 5, + 5, + 6, + 3, + 6, + 3, + 4, + 5, + 6, + 6, + 4, + 3, + 5, + 3, + 4, + 4, + 4, + 6, + 4, + 3, + 5, + 3, + 3, + 7, + 2, + 5, + 4, + 5, + 3, + 2, + 25, + 38, + 5, + 4, + 6, + 5, + 2, + 6, + 12, + 2, + 4, + 4, + 5, + 2, + 6, + 12, + 3, + 6, + 4, + 5, + 5, + 4, + 3, + 2, + 5, + 5, + 5, + 3, + 4, + 10, + 3, + 6, + 21, + 4, + 2, + 4, + 6, + 6, + 2, + 6, + 5, + 5, + 5, + 2, + 5, + 5, + 50, + 2, + 6, + 0, + 22, + 6, + 6, + 6, + 5, + 0, + 5, + 14, + 3, + 6, + 2, + 0, + 25, + 5, + 6, + 30, + 2, + 5, + 4, + 4, + 3, + 6, + 12, + 6, + 3, + 2, + 5, + 6, + 21, + 6, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 4, + 5, + 3, + 6, + 4, + 2, + 4, + 2, + 0, + 14, + 6, + 11, + 5, + 6, + 5, + 3, + 3, + 8, + 4, + 3, + 4, + 6, + 3, + 22, + 3, + 6, + 4, + 6, + 4, + 5, + 44, + 5, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 48, + 6, + 3, + 2, + 6, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 21, + 4, + 6, + 4, + 3, + 4, + 0, + 0, + 6, + 7, + 6, + 5, + 6, + 2, + 2, + 0, + 5, + 5, + 5, + 4, + 4, + 5, + 14, + 4, + 4, + 5, + 5, + 7, + 4, + 2, + 4, + 5, + 5, + 3, + 5, + 3, + 17, + 6, + 5, + 6, + 4, + 3, + 6, + 6, + 5, + 6, + 4, + 4, + 28, + 6, + 2, + 6, + 6, + 5, + 2, + 37, + 3, + 6, + 6, + 4, + 5, + 6, + 28, + 3, + 3, + 3, + 2, + 5, + 5, + 6, + 17, + 8, + 5, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 6, + 3, + 3, + 3, + 4, + 17, + 5, + 4, + 5, + 22, + 6, + 5, + 6, + 3, + 3, + 5, + 3, + 5, + 6, + 3, + 4, + 14, + 5, + 7, + 6, + 6, + 5, + 4, + 3, + 3, + 5, + 4, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 6, + 6, + 6, + 6, + 12, + 5, + 5, + 2, + 5, + 5, + 6, + 6, + 5, + 0, + 6, + 6, + 4, + 7, + 4, + 5, + 4, + 5, + 2, + 5, + 2, + 2, + 4, + 3, + 6, + 4, + 4, + 5, + 3, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 6, + 4, + 4, + 5, + 4, + 2, + 5, + 22, + 6, + 6, + 6, + 5, + 4, + 3, + 6, + 5, + 21, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 5, + 3, + 6, + 8, + 6, + 6, + 4, + 6, + 4, + 6, + 2, + 6, + 14, + 4, + 4, + 6, + 4, + 2, + 5, + 2, + 6, + 6, + 5, + 6, + 6, + 4, + 5, + 6, + 14, + 6, + 5, + 4, + 2, + 6, + 6, + 6, + 4, + 25, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 2, + 0, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 6, + 0, + 7, + 5, + 4, + 5, + 13, + 35, + 5, + 6, + 5, + 12, + 4, + 2, + 5, + 3, + 6, + 14, + 2, + 5, + 6, + 6, + 5, + 6, + 0, + 6, + 29, + 14, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 17, + 6, + 2, + 17, + 6, + 5, + 22, + 4, + 5, + 3, + 22, + 28, + 6, + 0, + 6, + 6, + 12, + 6, + 4, + 6, + 6, + 4, + 4, + 6, + 10, + 6, + 3, + 3, + 2, + 6, + 11, + 5, + 6, + 2, + 3, + 5, + 4, + 6, + 5, + 4, + 6, + 2, + 14, + 6, + 4, + 3, + 6, + 3, + 3, + 5, + 14, + 2, + 3, + 2, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 2, + 3, + 5, + 5, + 5, + 3, + 4, + 6, + 46, + 4, + 7, + 5, + 14, + 3, + 2, + 6, + 4, + 3, + 6, + 6, + 3, + 4, + 3, + 4, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 2, + 4, + 13, + 3, + 6, + 4, + 2, + 20, + 4, + 6, + 3, + 18, + 4, + 5, + 3, + 4, + 6, + 4, + 6, + 2, + 5, + 5, + 5, + 6, + 5, + 6, + 15, + 6, + 5, + 13, + 6, + 3, + 3, + 5, + 20, + 5, + 5, + 4, + 6, + 4, + 6, + 6, + 4, + 6, + 6, + 7, + 21, + 4, + 6, + 5, + 4, + 8, + 6, + 3, + 6, + 5, + 6, + 3, + 6, + 4, + 7, + 5, + 4, + 4, + 3, + 6, + 2, + 5, + 5, + 6, + 5, + 6, + 5, + 22, + 4, + 5, + 5, + 5, + 2, + 4, + 12, + 2, + 6, + 6, + 15, + 3, + 4, + 6, + 5, + 4, + 3, + 5, + 17, + 7, + 6, + 3, + 3, + 6, + 6, + 3, + 0, + 3, + 5, + 4, + 7, + 5, + 5, + 6, + 12, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 2, + 5, + 3, + 6, + 14, + 6, + 5, + 5, + 3, + 5, + 14, + 2, + 3, + 3, + 5, + 5, + 5, + 4, + 2, + 4, + 5, + 6, + 3, + 3, + 4, + 21, + 3, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 6, + 5, + 4, + 5, + 6, + 8, + 4, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 3, + 6, + 3, + 6, + 4, + 6, + 5, + 6, + 3, + 3, + 5, + 16, + 15, + 6, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 2, + 9, + 6, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 2, + 6, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 4, + 2, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 3, + 0, + 5, + 5, + 10, + 3, + 3, + 3, + 14, + 3, + 6, + 6, + 4, + 5, + 4, + 0, + 6, + 5, + 7, + 5, + 2, + 5, + 20, + 5, + 5, + 5, + 5, + 5, + 4, + 4, + 3, + 5, + 6, + 3, + 6, + 3, + 6, + 4, + 4, + 2, + 5, + 6, + 4, + 4, + 19, + 6, + 5, + 2, + 3, + 6, + 4, + 4, + 6, + 5, + 42, + 6, + 7, + 3, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 4, + 14, + 6, + 19, + 3, + 3, + 6, + 6, + 3, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 5, + 2, + 6, + 5, + 3, + 3, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 5, + 21, + 3, + 6, + 2, + 12, + 3, + 5, + 14, + 3, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 3, + 14, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 3, + 26, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 5, + 14, + 3, + 6, + 2, + 6, + 6, + 6, + 6, + 3, + 6, + 5, + 7, + 2, + 2, + 25, + 5, + 5, + 7, + 2, + 49, + 5, + 5, + 3, + 5, + 22, + 6, + 5, + 5, + 4, + 14, + 6, + 6, + 21, + 3, + 0, + 3, + 4, + 6, + 6, + 2, + 4, + 16, + 6, + 3, + 5, + 6, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 4, + 6, + 3, + 6, + 6, + 6, + 5, + 6, + 3, + 2, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 3, + 4, + 4, + 6, + 22, + 6, + 2, + 6, + 18, + 5, + 4, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 5, + 5, + 0, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 5, + 10, + 5, + 6, + 3, + 4, + 5, + 5, + 4, + 6, + 5, + 4, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 14, + 3, + 40, + 5, + 4, + 3, + 6, + 6, + 3, + 4, + 14, + 4, + 6, + 2, + 4, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 4, + 8, + 2, + 6, + 4, + 5, + 0, + 4, + 5, + 22, + 5, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 0, + 5, + 6, + 0, + 5, + 2, + 17, + 2, + 6, + 5, + 6, + 4, + 3, + 2, + 6, + 4, + 3, + 4, + 6, + 6, + 6, + 2, + 17, + 6, + 5, + 14, + 6, + 6, + 4, + 2, + 4, + 0, + 6, + 2, + 3, + 2, + 5, + 2, + 5, + 6, + 4, + 6, + 5, + 2, + 4, + 3, + 5, + 3, + 3, + 3, + 5, + 6, + 6, + 14, + 24, + 14, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 5, + 5, + 13, + 4, + 5, + 7, + 2, + 12, + 6, + 6, + 5, + 4, + 5, + 16, + 5, + 49, + 5, + 5, + 3, + 6, + 4, + 4, + 5, + 14, + 3, + 5, + 4, + 5, + 4, + 6, + 3, + 5, + 3, + 6, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 14, + 6, + 41, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 13, + 0, + 5, + 4, + 5, + 4, + 4, + 6, + 6, + 4, + 6, + 5, + 5, + 4, + 6, + 6, + 7, + 4, + 2, + 5, + 4, + 5, + 2, + 5, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 19, + 3, + 6, + 5, + 6, + 3, + 2, + 5, + 5, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 22, + 3, + 36, + 5, + 6, + 5, + 20, + 0, + 6, + 5, + 5, + 5, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 6, + 4, + 3, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 3, + 6, + 2, + 3, + 6, + 6, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 2, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 7, + 6, + 6, + 6, + 6, + 0, + 4, + 3, + 6, + 6, + 2, + 5, + 6, + 6, + 6, + 11, + 6, + 4, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 4, + 6, + 51, + 4, + 24, + 5, + 3, + 28, + 5, + 6, + 4, + 6, + 6, + 5, + 6, + 32, + 3, + 2, + 6, + 5, + 5, + 3, + 4, + 14, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 6, + 4, + 6, + 6, + 3, + 14, + 6, + 5, + 6, + 3, + 7, + 6, + 5, + 15, + 2, + 3, + 4, + 5, + 6, + 6, + 5, + 4, + 6, + 6, + 9, + 6, + 6, + 13, + 13, + 6, + 6, + 5, + 6, + 0, + 6, + 6, + 3, + 6, + 5, + 6, + 3, + 4, + 3, + 17, + 6, + 3, + 3, + 2, + 3, + 3, + 6, + 5, + 20, + 3, + 5, + 23, + 4, + 5, + 3, + 3, + 3, + 2, + 6, + 5, + 4, + 6, + 0, + 4, + 5, + 14, + 5, + 5, + 6, + 2, + 5, + 6, + 17, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 7, + 5, + 3, + 5, + 5, + 2, + 5, + 6, + 16, + 2, + 4, + 5, + 4, + 6, + 5, + 5, + 3, + 4, + 14, + 4, + 3, + 6, + 6, + 5, + 3, + 13, + 14, + 5, + 5, + 6, + 12, + 5, + 3, + 3, + 2, + 6, + 4, + 5, + 2, + 6, + 25, + 3, + 5, + 4, + 6, + 3, + 3, + 4, + 2, + 4, + 7, + 6, + 2, + 6, + 7, + 2, + 6, + 5, + 3, + 6, + 4, + 5, + 5, + 6, + 3, + 3, + 5, + 6, + 3, + 5, + 14, + 6, + 5, + 3, + 6, + 6, + 4, + 6, + 14, + 14, + 15, + 4, + 4, + 5, + 8, + 4, + 4, + 10, + 6, + 6, + 0, + 7, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 3, + 5, + 4, + 6, + 6, + 0, + 6, + 6, + 4, + 6, + 6, + 14, + 2, + 4, + 5, + 6, + 2, + 6, + 13, + 6, + 4, + 4, + 5, + 14, + 5, + 0, + 3, + 6, + 3, + 6, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 4, + 6, + 4, + 6, + 6, + 4, + 3, + 2, + 14, + 4, + 6, + 5, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 3, + 7, + 6, + 4, + 6, + 4, + 4, + 3, + 6, + 3, + 3, + 6, + 4, + 0, + 4, + 5, + 4, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 48, + 6, + 2, + 4, + 5, + 5, + 3, + 4, + 4, + 5, + 7, + 4, + 42, + 5, + 33, + 3, + 6, + 6, + 16, + 0, + 2, + 6, + 4, + 6, + 6, + 14, + 5, + 3, + 6, + 6, + 6, + 2, + 5, + 2, + 45, + 5, + 30, + 4, + 6, + 6, + 2, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 7, + 4, + 3, + 6, + 6, + 42, + 6, + 6, + 4, + 20, + 8, + 5, + 6, + 3, + 5, + 5, + 3, + 5, + 5, + 4, + 5, + 3, + 6, + 5, + 6, + 9, + 3, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 2, + 4, + 4, + 6, + 4, + 6, + 3, + 14, + 2, + 5, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 5, + 4, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 4, + 2, + 4, + 8, + 5, + 3, + 0, + 5, + 6, + 4, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 6, + 39, + 4, + 3, + 4, + 6, + 4, + 4, + 4, + 4, + 6, + 14, + 10, + 7, + 5, + 2, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 7, + 4, + 6, + 5, + 5, + 4, + 6, + 5, + 2, + 4, + 3, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 7, + 5, + 6, + 5, + 6, + 3, + 4, + 3, + 3, + 6, + 4, + 5, + 5, + 2, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 2, + 4, + 6, + 3, + 6, + 2, + 3, + 2, + 6, + 5, + 6, + 6, + 0, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 35, + 2, + 5, + 5, + 0, + 5, + 5, + 4, + 5, + 4, + 5, + 5, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 2, + 5, + 14, + 5, + 29, + 7, + 5, + 6, + 6, + 4, + 6, + 12, + 6, + 6, + 5, + 6, + 4, + 5, + 4, + 7, + 4, + 5, + 4, + 6, + 4, + 2, + 2, + 39, + 6, + 5, + 3, + 14, + 2, + 6, + 5, + 6, + 4, + 5, + 4, + 2, + 2, + 6, + 6, + 5, + 17, + 6, + 6, + 6, + 2, + 6, + 3, + 0, + 4, + 6, + 5, + 5, + 49, + 2, + 43, + 3, + 4, + 3, + 2, + 2, + 2, + 6, + 6, + 5, + 2, + 5, + 7, + 6, + 4, + 7, + 5, + 6, + 6, + 5, + 3, + 4, + 3, + 6, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 3, + 44, + 3, + 3, + 5, + 4, + 4, + 4, + 4, + 6, + 3, + 13, + 4, + 6, + 6, + 4, + 2, + 5, + 6, + 3, + 5, + 20, + 6, + 2, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 6, + 2, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 14, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 4, + 8, + 8, + 11, + 6, + 3, + 5, + 6, + 6, + 10, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 39, + 8, + 14, + 12, + 5, + 6, + 5, + 6, + 3, + 6, + 4, + 6, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 0, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 0, + 3, + 4, + 4, + 14, + 6, + 6, + 6, + 5, + 0, + 6, + 6, + 3, + 3, + 5, + 5, + 6, + 3, + 6, + 6, + 4, + 4, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 5, + 6, + 12, + 4, + 4, + 35, + 6, + 6, + 6, + 4, + 50, + 6, + 5, + 6, + 6, + 0, + 5, + 3, + 6, + 4, + 4, + 6, + 6, + 6, + 6, + 0, + 3, + 6, + 3, + 33, + 4, + 4, + 3, + 6, + 5, + 6, + 6, + 4, + 13, + 6, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 6, + 5, + 3, + 0, + 6, + 4, + 5, + 14, + 3, + 8, + 3, + 6, + 3, + 5, + 5, + 5, + 4, + 5, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 6, + 6, + 5, + 0, + 4, + 5, + 14, + 0, + 0, + 5, + 0, + 4, + 5, + 4, + 5, + 4, + 5, + 5, + 5, + 19, + 4, + 14, + 0, + 5, + 4, + 19, + 5, + 4, + 14, + 5, + 0, + 5, + 4, + 0, + 4, + 14, + 4, + 4, + 8, + 0, + 5, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 14, + 4, + 0, + 10, + 33, + 5, + 8, + 4 +] \ No newline at end of file diff --git a/siftsmall/siftsmall_R32_L50_filtered_index_labels.txt b/siftsmall/siftsmall_R32_L50_filtered_index_labels.txt new file mode 100644 index 0000000..87ad4de --- /dev/null +++ b/siftsmall/siftsmall_R32_L50_filtered_index_labels.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +6,7,8 +0 +6 +4,6,9,10,11 +6 +6 +4,12 +6,8 +3,5,13,14,15,16 +5,6,17,18 +5,6,19 +6,14,17,20,21 +2,12 +13 +6,22 +10 +6,10,17 +5,6,11,23 +6 +6,24,25 +6 +4,7,24,26 +3,14,21,27 +3,6,14,23 +6,14,15,28 +5,6,14,29,30 +2,7,31 +6,25,32 +5,6,8,19,33 +6,11 +4,10,14,15,17 +6,13,34 +6,13,15,17,35 +3,4,8,14,36 +3,5,6,21 +4,6,7 +2,5,33 +6,14,16,37 +5,38 +6,10,14 +3,5,7,14 +28 +6,39 +2,3 +5,6,7,29 +6,8 +26,35 +5 +6,21 +5,6,7,13,14,40 +6,14 +5,6,41 +3,6,13,34 +5,6,22 +3,4,5,6,29 +3,5,6 +6,28 +3,4,6,25 +6,21 +6,14,37 +4,6,34 +5,6,15,22 +4,6,28 +5,6,17,29,42 +6,43 +6,11,26 +3,6,7,25 +5,6,44 +7,38 +6,13,45 +2,5,6,21,40 +6 +4,6,14,40,41 +10 +5,6,7,23 +6,14,20,31 +6,12,44 +5,6,7,17,45 +6,12,18 +6,11 +7,20,46 +3 +2,6,17 +31,46,47 +2,5,26 +0 +4,5,6,14,42 +4,5,6,11,27,37,41,48 +2,3,4,6 +5,14 +5,6,17,28 +2,5,6 +4,5,6,20 +12,20,49 +6,7 +6,14,19 +3,6,22 +30,37 +6,16,42 +2,4,6,10 +6,17 +14 +4,5,10 +6,10 +3,6,16,17 +4,5,6,50 +4 +50 +14,21,35 +6,14 +2,4,16 +5,15,22 +6,17 +6,8,43 +6,29 +6,11,14,17,24,25 +6,12,14,15,18 +10,14,22 +6,7,14,25 +49 +6 +3,5,6,25,32 +4,18,21 +4,6 +6 +0 +6,31,32,36 +6,26 +5,6,19,22,30 +3,5,20,43 +6,34 +5,19 +5,6,22 +3 +4,6,25 +5,6,7,25 +6,12 +5,6,10,13,17,18,19,42 +3,8 +7,17,28,37,46 +6,21 +6,46 +5,6,46 +5,6 +2,6,7,19,20,28,47 +6,41 +3,5,6 +5,12 +6,44 +3,29 +2,4,6,15 +5,6,14,16,35 +6,48 +5,6,15 +4,6,14 +6,14,22,25 +14,33 +3,6,31,32,39 +6,25 +5,13 +5,6 +6,15,21 +0 +6,14,15,39 +3,6,11,13,21,36 +3,33 +5,6,25,29,48 +4,6,17,20 +3,4,5,6 +5,6 +2,3,5,6,16,17 +6 +4,5,13 +5,6,36,38 +2,6 +5,6,9,14 +3,6,11,14 +6 +5,6,24 +5,6,12,38,48 +4,6,24 +6,8,23 +3,5,6,22 +5,6,17,26,41 +13,14,16,41 +6 +6,49 +3,4,6,21,34 +2,6,17,18 +5,6,28 +6,26 +4,6,16,17 +4,5,7,8,28 +6,8,16,38 +3,5,6,25,31 +3,4,5,6,7,14,22,25 +6,14,37 +5,6,14 +6,7,13,20 +4,5,6,25 +7 +5,6,25 +5,46 +5,6,44 +4,5,6,12,19,21 +6,20 +4,6 +5,6,14,17,20,26 +4,6 +3,14,22 +4,6 +6 +5,6,14,17 +6,22,38 +6,14,39 +6,12,15,47 +5,6,12,22,42 +5,6,20 +4,6,8,15 +3,4,6,22,28 +6,9,28 +6,14,25 +6,11,22 +6,7,30 +5,7 +6 +7,34 +5,6,7,14 +3,6,37 +7,14,46 +5 +5,6,7 +2,6,7,8,50 +6,22,25 +6,7,14,42 +6,14,17 +5,6 +4,5,6,50 +4,6,13,14,36 +5,6,7,15,16,22 +6,14,30 +6 +5,6 +3,5,6,12 +5,6 +6,17 +5,6,12,14,25 +3,5,6,28 +3,6 +5,6,20,23 +4,6,27 +4,6,40 +3,6,12,18 +28 +5 +17 +5,6,7,14 +3,4,5,6 +5,6,14 +4,6,49 +5,6,7,17,18 +6,9 +5,21 +5,7,17,42 +0 +4,5,6,7,34,40 +3,14,35 +3,4,5,6,21 +6,11 +6,14 +6,20,38 +5,17,20,25 +5,6,13,15 +5,6,14 +6,12,14,37 +6 +16 +18,23,28 +5,6,47,51 +6 +0 +3,6,25 +2,4,6,10,20 +6,10,12,44 +6 +5,13 +5,18,22,40 +5 +2,3,19,37 +4,5,6,22,47,48 +6,21,22 +6 +5,6 +6 +6,7,15,18 +5,6,7 +0 +3,6,15,17 +6,7,14,21 +5,7,17,23 +4,5,22,29 +5,6,15,25 +2,6,14,49 +10 +3,6,14,44 +17,25 +6,7,9,38 +6 +4,5,6,11 +5,6,14,35 +4,5,6 +6,7,32 +6,40 +2,6,25 +4,6,17 +2,6,17,21,28 +4,17,44 +6,34,46 +17,22,35 +6,7 +2,5,6,26 +5,6,14 +4,6,10,48 +4,5,15,20 +4,6 +22,44,47 +3 +0 +4,6,43 +6,14,50 +5,6,25,33 +5,6,15,18,29 +4,5,6,25,44,46,48 +5,6,11,14 +5,19,20 +5,6,11 +2,21 +6,22,32,39 +4,6 +5,12,13,14,36,45 +4,6,13,17,23,44 +5,6,14,15 +6,34 +14,22 +10,21 +5,7,42 +6,20,42 +2,4,7 +6,29,35 +6,14 +5,6 +2,23,29,38,51 +6,7,50 +4,6,14,17,42 +12 +4 +5,6,26 +17 +3,6,13 +6,7,22,28,36 +6,14,16,28 +5,6,10,14,29 +5,6,25 +5,10,12,14,38 +3,6,7,14,37,42 +2 +6,14,23 +5,6,21,30 +5,6,20,48 +6,7,35 +6,14,20,45 +5,6,25 +6 +17,36 +3,5,6,14 +5,6 +5,13,16 +4,14 +6 +6,18 +5,6,20,23 +6,16 +5,6,12,48 +5,34 +4,5,6 +6 +6,7,8,18,28 +17 +6,14,30 +6,46 +6,12,14 +4,5 +6,13,14,40 +5,16,17,29 +3,6,15,25 +15,18,48 +6,13,15,44 +5,27 +4,5,15,41 +6,18 +4,5,6,16,34 +6 +22 +6,14 +2,3,4,6,7 +4,6,14,27 +10,20 +2,5,6,14,42,49 +19 +6,18,29,36 +5,14,42 +4,6,13,16 +5,6,14 +3,5,6,14,15,24,30,35,43,46 +3,5,6,31 +7 +6,14,19,25,33 +6,30,42 +3,4,6 +6,14,22 +5,15 +2,5,6 +8 +5,14,32,43 +4,5,6,15,17 +4,6,25 +6 +3,5,9 +5,6,14,17,26 +4,12,17,37,42,49 +12 +3,6,17,36 +5,6,13,49 +2,6,35 +3,22 +2,5,6 +2,6,31 +14,17,21,22,30 +6,14 +5,6,14 +3,20,22,47 +3,4,6 +6,37,46 +4,5,6,14,15,41 +6,16 +6,14 +4,20 +3,8 +5,6 +3,6,14 +5,10 +2,6 +4,14 +4,32,33,48 +6,29 +6,10,25,46 +4,6 +3,5,6,14,16,46,47 +6,8,12,36 +4,18,25,39,43 +6,19,28,46 +0 +14,19 +5,15,21,41 +3,4,5,6,7 +2,6 +4,5,6,14,22 +3,4,6,7 +3,6 +6,8 +5,6,14,17 +6,7 +14,43 +6,18,26 +6,19 +2,5,6,41,50 +3,5,6,7,20,23,25 +3,6,18 +0 +0 +5,7,28,42 +6,14,28,51 +3,4 +6 +3,5,6,29,34 +3,5,6,14,22 +6 +5,6,34 +6,14,26 +0 +4,6,14,25,27,28 +5,6,19 +4,6,7,14 +3,6 +6 +6,10,14 +6,14,17,37,39 +3,6,13,17,19,31 +14,21,22,46 +4,5,6,7,14,15,17 +6,25 +4,5,8,17 +6,8,17,22 +6,14 +6 +2,5,6,17,34 +4,5,18,26,45 +6,34 +4,6,17,26 +3,4 +4,6,12,14 +4,5,12,14 +3,4,13,20,25 +6,10,14 +6,50 +6,41 +5,11,28 +6,14,17,46 +17,48 +6,17 +3,6,14 +5,6,14,18 +5,6,14,16 +5,14,49 +6,7,14,37 +6,20 +6,14 +14 +0 +2,3,5,14,22 +4,6,25 +14,22,40 +5,6,7,11 +4,20,26 +5,6,7,14 +0 +6,20,34 +6,14,16,44,49 +5,6,14,40 +6,14 +2,6,10 +3,6,28,49 +5,6 +15 +5 +2,6,36,47 +3,6,42 +5,6,18,26 +0 +38 +6 +0 +3,4,6 +6,11,22 +6,10 +5,6,13,27,40 +0 +6,17 +6,14,28 +5,13,34 +14,43 +6,17,37 +4,5,6,10,47 +6 +6,8,44 +6,7,10,15,36 +14,23,45,47 +5,6,27,34 +6,7,25 +5,6,7,13 +6,14,42 +5,6,23,28 +5,14 +6,22,38 +4,6,37 +6,12 +4,6,46,49 +6,40 +3,6,22,32,43 +6,28 +40 +2,6,7 +5,22 +3,6,25,49 +10,17,47 +3,6,14 +2,6 +7,43 +5,6 +6,13,22 +6,12,14,36,39 +2,5,6,30 +5,6,7,15 +3 +3,4,6,7,8,11,14,27 +4,5,6,7 +6,9,11,44 +3 +6,7,22 +6,22 +4,6,25 +6,13,18 +23 +6,22 +5,6,8,12,17 +5,27 +4 +2,4,20 +6 +5,6,15,22,25 +6,18,24,25 +6,20,29 +7 +5,6,7,13,14 +8,10,17,37 +6 +6,8 +3,6,14 +6,16 +6,12,13,14,22,25 +4,5,6,20 +5,7,11,37,50 +0 +6,13,14,29 +6,8,16,18,22 +5,6,10,14 +4,35 +6,14,20 +14,21 +5,6,17,21,50 +4,6,21,48 +4,6,17 +5,6 +4,5,6,13,26 +4,5,6,22 +5,12,15,43,44 +5,6,13,16 +6,10,14,21,28,44,49 +3,5,6,22,34 +5,6,17,42 +5,6,7,13,14 +6,23 +2,7,22,28 +15,41,49 +2,3,5,14,17,46,47 +6,40 +3,4,5,6 +2,6,35,50 +6,7,14,36,42 +4,6,14,18,22,36,38 +5,6,14,35 +4,6,7,9,11,14,20 +5,6,17 +5,6 +6,48 +5,6,7,17,21,35 +2 +2,6,7 +12,22 +5,6,7,14,19 +6,14,16,22 +4,6,17,25,35 +4,5,6,11,22 +6,17,20 +6 +5,6,20 +3,6,13,25 +5,14,17,28,30 +3,25 +5,6,29 +3,4,6,17,30 +5,6,14,46 +5,14 +5,6,14,18,31 +3,4,6,18 +5,6,7 +0 +5,6,7,30,46 +17 +5,6,10 +6,7 +4,5,6,14,46 +5,6,12,14 +0 +5,6,10 +6,12,21,23,49 +2,3,8,10,17,48 +3 +2,5,6,36,49 +6,7,10,14 +4,6,24,44 +6 +5,6 +4,6,23,27 +3,6,7 +2,6,29 +3,5,6,14,28 +5,6,7 +5,6 +6,14 +5,14,26 +6 +5,6,34 +5 +6,51 +5,6 +6 +3,13,48 +3,6,7,12,14 +6,7,45,46 +6 +5,6,14,21 +6,7,8,21,31,37 +6,20 +6,15,17 +3,13,15 +4,6,14,16,46,48,50 +2,7 +6,22 +3,6,14,15,17,34,35 +6,15 +3,5,6,14,39 +6,7,14 +5,6,14 +0 +6,26 +6,8,17,25 +3,4,5,6,14,17,44 +6,14,16,17,18 +3,5,7,17,42 +5,6,14 +3,6 +4,6,9,47 +4,6,7,22,33 +6 +4,17,20,45 +3,6,7 +2,13,20 +6,35,44 +4,6,14,36 +6,7,14,17,22 +5,19,20 +6,14 +6,20 +3,5,6,20,42 +3,4,5,6,7 +3,5,6,17 +5,7,9,20 +5,6,22 +5,6,20,35 +5,6,9,12,40 +4,6,19,27 +6,14,28,30 +4,6,25,46 +2,6 +6,14 +14,20,46 +6,20 +6,7,20,28 +6,13,25 +4 +6,36,46 +6,14,18,19,25 +6,14 +6,7,44 +4,5,28,51 +4,6,42 +6,22,28 +15 +6,17,28 +2,5,6,12 +5,6,28 +10,14 +5,6,22 +5,6,17,21,22,25 +2,5,8,22 +6,12,17,19,33 +4,6,16 +6,15,18 +5,7 +6,13 +6,17,25 +2 +3,6,16,46 +12 +6,32,44 +5,6,14,18,23 +6,8,20,31,43 +3,5,45,51 +4,6,8,23 +5,6,14,18,43 +13,21 +3,6 +15 +6,14,17,22,30,37 +6 +6 +3,5,6,7,41 +6,15,25 +6,7,12 +5,6,9,13,16 +6,7,21,29,49 +4,22 +6,12,13,28 +2,3,6,21 +22 +3,6,27 +6,40 +5,6 +5,16,22 +4,5,6,14,21,28,39 +4,6,17,20,39 +6 +3,16 +4,6,11,13,22 +6 +2,5,33 +2,4,5,14,23 +3,6,17,27 +2,3,6,14 +5,6,17,21 +6,8 +6,18,46 +2,3,6 +6,17 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +5,6,17 +4,6,17,33,48 +6,42 +6,9,16,19,33 +6,51 +8 +5,6 +3,4,6,7 +5,6,7,12 +3,6,12,21 +4,5,7 +5,6 +5,6,7,49 +6,14,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +6,10,14,25,31,49 +6,16,29,30 +5,6,25,28,31,36,46 +2,4,6,7 +2,3,14,17,31 +6,18 +5,6,17,44 +5,6,44 +6 +6,7,17,22,25,28 +6,11,17,22 +5,6,44 +6,16 +6 +3 +4,20 +5,12,21 +6,7,12,19,22,49 +6,17,19,26 +6,14 +6,14,22 +5,22 +6,8,14,25,26,51 +4,6,26 +3,6,22,31,49 +12,24 +3,6,11,13,33,42 +14,50 +6 +14,26 +3,5,6,8,32,44,46 +5,6,13,22 +3,6,7,14,39 +4,6,46 +4,6,7,14,46 +5,7,51 +3,6,23,32,48 +6,8,17 +6,14,21,43 +5,6,9,17 +5,6,7,14 +6,22,48 +6,14 +17 +3,6,14 +6,48 +5,6,20,21 +4,6,14,17,19,21,33 +5,22 +6,7,44 +6,13,40,49 +6,40 +6,14,15 +3,6,17,42 +12 +4,6,20 +5,6,42 +5,6,14,25,29,47 +4,6,17 +5,6,7,22,42 +5,6,14,28 +5 +6 +6,14 +9,14,16 +6 +3,5,6,16,37 +4,6 +6,42 +3,6,14,23,31,43 +6,17 +3,5,6 +6,14,15,30 +5,14 +6,14 +6,13,14,17 +6,10,12 +4,48 +4,5,6,14,31,49 +4,6,16,31 +2,3,4,6,7 +4,6,48 +14 +5,6,12,19 +5,34 +5,6,8 +4,6,42 +25 +6,13 +6,22,29 +3,6,21,22 +4,6,34,41,48 +4,5,6,8,15,20 +4,6,7 +4,5,6,19 +2,5,6,14,28 +5,6,49 +6,7,17 +6,11,14,36 +5,6,14 +3,6,11,47 +5,9 +5 +4,5,6 +4,6,15,46 +6,14 +4,6,17,25 +6,44 +5,6,15,48 +6,17 +3,5,6,12,20,51 +4,6 +5,6,10,15,22,42 +6,7,10,15 +20 +4,20,25 +4,6,8,16,29 +6,14,22 +3,5,6,28,35 +5,6,46 +6,23,40 +5,6,22,23,51 +3,6,7,14,19,22 +3,6,44 +3,11,25,38,48 +4,6,25 +2,6,7,17,29,33 +2,5,6,21 +3,4,6,14,16 +2,5,6,14,51 +6,7,18,28,47 +5,6,8,20 +0 +14,49 +2,4,5,6,12,32 +6,10,48 +6 +6,13,30,31,35,40 +5,6,34 +6,14,20,23,30,48 +2,6,32,44 +5,33,35 +4,5,6,25 +4,6,14 +6,25 +4,6,20 +6,17,33 +2,6,7,14,22,38 +5,13,30,33 +6,7,17,18,29 +5,6,8,28 +5 +6,14,22 +39,47 +13,20 +4,5,6,8,20,22 +6 +6,36 +5,6,11,14,19,38 +5,6,28 +4,6 +5,6,10,14,40 +5,6 +4,6,7,22,23 +6,7,47 +6,19 +3,5,6,20,22 +6,7 +3,5,10,14,15 +3,5,6,17 +5,6,7,14 +6,14 +2,6,12,14,34 +6,20 +6,17,18,28 +6,13,17,41 +14,43 +14,45 +6 +4,5,7,14,45 +7,14 +6,14 +6,7,22,25,39,47,51 +6,14,23 +6,17,24 +6,7 +5,6,13,14 +5,6,10 +2,6,8 +5,6,49 +4,6,30,34,45,49 +6,29 +3,6,13,15 +6,26 +2,3,21 +6 +4,6 +4,6,23,35 +13,16 +5,6,17,33,42,48 +3,6,16,20,30 +5 +5,6,16,34 +5,22 +6,22,51 +5 +6,13,14 +3,4,17,20,44 +4,44 +4,6,14 +20 +2,6 +6,20,22 +5,6,21 +5,6,42 +6,17 +4,17,18 +4,5,6,13 +4,6,12,15,17 +5,14 +6,14,28,33,39,42,49 +3,6,7,18,22,25,28,51 +17,28,45 +6,7,14,21 +14,20,46 +6 +5,6,21 +5,6,16,22 +6 +3 +3,5,22 +6,21 +6,30,48 +6,7,22,44 +3,4,5,6,14 +3,5,6,14,16 +6,21 +6 +6,16,22,37 +4,6,22,30,37 +6,18,48 +6,9,12,44,50 +5,7,14,25,42 +2,5,6,18,35 +3,10,25 +2,4,5,6,12,14,22 +6 +6,7,13,17 +4,5,42 +3,6,14,15,27 +9,46 +5,6,9,13 +5,6,35 +6,13,17,25,45 +6,18,20,40 +5,6,44 +2,3,14,18,25,46 +25,42 +4,6,22,29 +6,10,13 +3,4,5,6,28,42 +6,34 +6,17,23,29 +6,17,43 +2,6,21 +6 +6,7,10,17,37 +4,5,6,44 +3,5 +20 +6,34 +6,15,42 +6,20,33,42 +0 +6 +6,12,18 +49 +6,14,39 +5,22,40 +5,6,25,49 +5,6 +48,51 +14,19 +6,21 +3,11,36 +5,14,48 +5,6 +0 +2,14 +4,6,7,18,20 +6,11,17,22,30 +4,5,22 +5,14,30,46 +6 +2,6,23,49 +8,22 +6,7,48 +3,5,6,33,39 +14,17 +6,9,14,22,25 +5,6,7,15,17,23 +3,6,49 +4,5,6,7,15 +6 +6,20 +3,5,6 +4,15,20,26 +4,19 +6,14,39 +6,28,50 +3,6,7 +5,14,16,25,34,43 +6,22 +5,20 +6,8,14 +5,20 +6,22,48 +4,28 +6,14,19,20,28 +3,5,6,14 +3,4,14,19,22 +5,13 +4,6 +4,14,22 +6 +13,30 +39 +4,5,6,14 +6,22 +6,22 +3,5,7,14,21,44 +4,5,6,20,27,30,43 +3,5,6 +6,33 +3,6,13,19,48,51 +6,18,34 +3,6,35 +3 +5,6 +15 +6,11,14,17 +6,14 +5,6,20,30 +5,6,17,45 +6,16,40 +5,6 +3,5,6,21,22,34 +5,6,7,20,37 +6,14,20,41 +6,17,19,20,22 +3,6,14 +10,43,47 +6,22 +6,7,10,17,41 +5,6,17 +0 +3,6 +3,4,6 +5,6,20 +4,5,6 +4,6,20 +14,42 +5,6,22 +6 +5 +18,40 +19,20,29,42 +5 +5,6,12,22 +6,14,15,19,48 +2,23 +6 +5,6,28 +14 +5,6,14,17,44 +5,6,19,30,51 +2,5,14,17,45 +6,14,22 +3,6,48 +6 +6,17 +14,20,42 +3,15,38 +6,23 +6,14 +3,6,8,12,13,21 +4,6,14,22 +19 +8,23,28 +6,9,14,41 +4,6,14,17,22,45 +3,4,5,6 +6 +4,22,39 +6,15 +5,6,33 +6,14,17,20 +6,14,21 +6 +4,5,6,25,39 +5,6,13,14,20,23,36,43 +0 +6 +19 +6,7,10,16 +3,4,5,6 +4,5,6,42 +6,12,17,19,22,44 +6,50 +3,5,6,18 +6,14 +5,6,21 +4,6,7 +4,5,28,30,38 +5,30 +43 +5,20,21,28 +5,6,20,39,41 +6,22 +6,22,33 +4 +4,5,6,38 +5,6,14,30 +17,28 +6 +6,14,17,20 +14,17,50 +4,5,6,7,15,47 +6,7,19 +14 +4,34 +5,7,14 +7,25,33 +4,6 +5,6 +2,6 +5,7,38 +3,4,5,6,14,15,22,29 +6,14,22,33 +5,6,7 +6 +12,14,20,28 +4,6,18,49 +5,6,17 +4,6,33,34,36,42 +6,7,20,25,30 +6,17,34,50 +3,20 +5 +5,6,17,21 +13,26,33,46 +6,14,42,43 +3,7,14,29 +2,6,28,44 +13,14 +3,6,10,44 +6,46 +3,5,6,22 +4,6,27 +2,4,14 +3,4,5,6,11,30 +6,38 +6,7,14 +14,19,48 +3,5,6 +5,6,7,44 +5,14 +6,28,34,44 +6,7,14,22,35,46 +3,6 +3,6,50 +6,30,46,49 +6 +6,8 +16,22,29 +2,29 +6 +5,6,25,49 +30,46 +6,18,19,25 +5,6,36 +4,6,7,50 +6,17,46 +6,17,21 +3,4,14,17 +5,6,14 +2,5,6 +4,6,17 +4,5,14,29 +5,6,10,14,20 +0 +5,7,44,51 +6,14 +6,9,12,13 +6,38 +5,10,27,28,36 +5,46 +5,6,27 +18,20 +5,6,26 +6,11,25 +4,19,26 +0 +3,4,6,16,21,27,28 +3,7,30,46 +6 +5,6,7,14,25,48 +6,7 +6,12,22 +13,17 +3,4,5,6,14,45 +2,5,6,13,25 +6,14 +12,18,25 +4,5,6,7,12,30 +6,7,17,36 +4,5,6,13,14,34 +6,8,14 +6,7,20 +3,6,13,48 +5,14,30,51 +4,9,25,39 +5,6,10,17 +4,6,14 +2,6,14 +5,13 +2,5,6,22,35 +0 +7,28 +0 +3,12 +2,5,7,32,46 +4,6,14 +24,36 +4,6,14 +6,46 +14 +5,6,7,40,41 +6,7,17,22 +6,7,16,33,45 +13,21,22,47 +4,5,6,10,15 +4,6,7,45 +5,6,7,22,24 +6,30 +6,7,11,14,15 +3,5,25,45 +5,6,46 +2,5,6,42 +6 +5,6,14,15 +4,6,8 +5,6 +2,6,12 +4,6,13,51 +6,9,13 +22 +6,8,14,20,25,26,33,35 +6,9 +5,6,21,44 +6,13 +5,6,20,35 +20,47 +5,6 +3,5,6,14,19 +4,6,12,42 +6,7,47 +6,14 +6,44 +5,6,14,39,48 +2,6,25,42 +3,4,6,7,14 +3,5,6 +14,37 +6,19,42 +4,5,6,7,46 +5,6,17,19,25 +3,6,17,19,49 +12 +2,33 +5,6,43,45 +3,20 +5 +2,6,10,14,22 +2,3,5,6,20,45 +4,8 +6,22,25,36,42 +4 +6,8,20,49 +6 +6,7,14,23,32 +6,28 +5,12,14 +3,4,6,21 +5,6,17 +6,17 +3,6,23 +6,11,14 +14,20 +4,6 +6,15,22 +4,6,44 +6,7 +4,5,6,8,9,14,26 +2,5,6,18,29 +4,6,7 +3,17,18 +2,3,5,14,32 +6,18 +5,6,16 +2,5,6,14,20,28 +6,14 +6,14,22 +0 +23 +5 +5,10,17 +5 +6,37 +6 +4,5,14 +3,6,7,15,25 +6,28 +4,14,22,51 +6 +6,12 +6,12 +9,13 +6,14,19,25 +5,6,49 +5,6,13,14 +6,14,18 +3,5,6,14 +4,6,7,14,17,22 +6,13 +17,22,28,46 +6,44 +8,20,23,25 +5,6 +15,20 +4,6,14,20,21,30,35,47 +2,13 +3,6,11 +5 +6,26 +5 +4,5,6,13,17,33 +5,6,15,17 +4 +4,6,22,23,48 +4,6,16,19,43 +26 +4,5,6,7,14 +6,22 +17,46 +5,6,14 +7,14 +6,7,12,14 +6,14,30,32 +6,20,23 +5,6 +5,6,14,28 +7,43 +6,17,23 +5,6,47 +14,28,39 +6 +14 +5,6,38 +6,25 +5,20,43 +0 +5 +3,5,18 +6,7,20 +4,5,6,17,29 +7,16,27,49 +6 +3,6,14,20,22,41 +5,6,7,9,12,22,46 +13,14,29,44 +5,7,14 +5,6,29 +6,26 +5,6,13,21 +6,28 +6,14,17,50 +6,43 +5,15,48 +6,14 +6 +5,6 +6,16,17,49 +6 +6,25 +4,5,13 +5,6,22 +6,22 +2,6,8 +5 +6,7 +6,20 +6,23 +4,13,14 +6 +4,6,7,27,34 +5,6 +14 +6 +5,7,17,46 +6,14,23 +14,19,22 +7 +5,14,17,25 +3,5,6,7,44 +6,15 +3,4,6,20,22 +7,8,14,31 +4,5,6,42 +5,6,7,14,15,17,20 +6,22,23,27 +6,14,27 +5,6,20 +3,5,6,26 +6,22,36 +2,5,6,46 +14,36 +3,6 +4,6,14 +4,5,6,14,34,50 +5,14,17,22,47 +7,14,22,25 +6,20,25 +6,9,13,14,17,25,42 +5,12 +2,3,4,5,6 +2,3,6,12,13,19,48 +6,24 +6 +6 +6,7 +6 +5,6 +6,22 +4,6,14 +3,6,20 +6,7,20 +5,6,7,30 +3,20 +5,6,7 +4,6,22 +11,20,31 +5,6,24,34 +5,6,14,17,41 +6 +6,7,28,31,42,43 +2,6,16 +6,14,30 +7 +6,20 +6,25,50 +5,18,23,25 +6,17 +26,38 +4,5,6,8,12,14,17 +6,14,29 +5,48 +5,6,20,23 +5,14 +6,11,14,26 +5,6,16 +4,5,6 +4,5,6 +7,20 +3,5,6,14,25 +4,5,22 +6,15,18,41,43,45 +6,7,10,15,49 +19,31 +5,6 +5,6,14,17,39 +6,14,20 +2 +3,6,8,28 +6,41 +4,5,6 +6,7,12,30,49 +4,6,17 +3,5,6,22 +6,13 +3,4,5,6,14,31,45 +3,6,7,28,40 +2,3,6,19,51 +5 +29,51 +5,6 +3,6,14,20 +4,6 +14,18,20,36 +6,14,17,18 +3,6,14,18 +5,28 +8,14,38 +4,14,46 +4,6,14,17 +6,17,19,25,27 +6,22,30,35,38 +2,5,13,14 +3,6,7 +3,6,28,45 +6,24,29 +3,6 +5,6,7,9,14 +5,6,18,27 +14,15,19,22,29,42,43 +0 +11,17,18,50 +5,14,23,31,42 +6,14 +5,21,38 +6,14,29 +6 +4,6,7 +14,42 +3,6,29 +2,4,17,25 +6,14 +5,9,19,22 +5,6,14,40,42 +6 +6,44 +4,5,6,13,19,22 +6,22 +2,5,6,22,32 +3,20 +5,6,23 +6 +6,22 +6 +4,5,20 +3,6,41 +5,6,14,42 +2,4,5,6,25 +4,6,22,25,42 +5 +3,6,25,29 +5,6,7,16,39 +3,5 +2,6,14 +5,6,15 +5,6,43 +5,6,8 +3,7,8,25 +6,17 +3,29 +4,5,21 +28 +4,5,6,7,13,30 +0 +0 +7,39,50 +9,14,18,20,36 +6,9,14 +6,33 +5,6,8,14 +3,6,50 +5,6,14,22,39 +3,5,26 +6,22,33,48 +4,6,15,17,30,38 +6,8,14,28,32,47 +6,7,21,25 +6,7,17 +5,11,14,32,40 +5,6,7,21 +28 +6,10 +3,4,6,14 +6,7,13,47 +4,6,10,20 +2,5,13,20 +7,29 +20,27 +3,10,22 +2,5,12,14,22 +6,14 +6,17,22 +19,42 +4,5 +4,5,6 +6,14,36,37 +3,5,6,14,22 +5,6,16,25,29 +5,6 +20 +6,14 +6,14,18,22,51 +5,6,14,31 +3,6,17,20 +5,6,28 +0 +5,6,14 +2,6,17,48 +6,12 +2,3,4,6,14,17 +6,20,22,32 +4,5,18 +6,14,27 +14 +6,10,20,44 +25,39 +5,6,7,29,42 +3,6,20,21,23,43 +3,6,8 +6,22 +6 +0 +5,6,30 +6 +33 +4,5,6,13,31 +2,5 +16 +7 +4,6 +3,5,6,7 +6,14,15,25 +6,14 +5,14 +0 +6,7,14 +3,6,25 +4,6,17,24,46 +5,14,17 +6,11,14,37 +4,19,28 +14,19,36 +5,7,9,35 +6,9,12,22 +3,25,26,37,45 +3,7 +3,6,22 +5,6,11,22,30,32 +6 +5,48 +2,6,31,42,51 +4,6,10,13,14,15,22,46 +6,21 +2,5,11,14,25 +2,5,12,13,43 +2,23,49 +4,6,22,50 +6,14,21 +5,12,33 +20 +6,16 +4,5,6,13 +18 +6,19,36 +3,5,6,15,25,28 +2,6,14,21,40 +6,7,20,26 +5,6,10,17,20 +17 +6,21,33 +5,14 +3,4,6,14 +5,12,21,29,51 +6,16 +2,5,22 +6,15,28 +4,6,31,42 +5,6,44 +5,6,7,8,9,34 +6,20,39 +4,6 +4,6,20,35 +6 +2,5,6,21 +6,14 +3,5,6 +6,16 +4,6 +6,17,28 +6 +22 +6,36 +7,14 +3,6 +3,5,6 +6,21,22 +2,4,6,25,36 +3,6 +6,9,16,46 +6 +3,10,14,26 +4,5,6,17,20,22,49 +2,6,14,16,38 +27 +6 +5,6 +4,5,12,16,22,28,46 +5,13 +5 +2,22 +5 +2,6,14 +5,6,7,20 +9,14,37 +6,7,23,28 +6,28 +6,14,20 +12,16,17,29 +6,44 +4,5,6 +6,7,16,43 +5,9,12 +14,20,43 +6,7,13,15 +6,14,20,21 +3,6,14,15,22 +5,6,43 +3 +12 +6,30,33 +5,11 +3,6,14,27 +4,6 +3,6,20,22,39 +5,15 +6,14,20,21,28,40,44 +5,6 +6,20,45 +0 +3,6 +4,6,15 +3,6,14,21 +6 +4 +6,37 +6,8,21 +4,7,9,17 +6,17 +4,5,6 +6,25 +3,5,6,38 +3,6,12,14 +6,11 +6,10,13,28,50 +4,28 +6,34 +3,6,21,45 +2,6,21,29 +14,17 +3,4,42 +48 +4,17 +4,6,44 +6 +5,6,14,23 +3,5,6,7,20 +3,13,18,23 +5,23,36 +6,7,14,30,46 +5 +6,9,49 +5,42 +6,41 +5,7,10,13,46 +49 +5,6 +3,6,12,13 +6 +3,6,13,14,23,28 +6,37 +6 +3,5,13,21 +8,10,36 +4,6 +25 +6,14,31 +3,4,14 +5,6,29,51 +4,14,25,51 +4,8 +2,5,14 +3,5,6,7,12 +7 +4,6 +6,21 +6,36 +4,6,21,26,33,46 +0 +2,3,6,15 +13 +5,43 +4,30 +4,6,7,15,29,31,38,43 +2,6,9,30,41 +3,5,6,10,22,35 +20,23,40 +6,15,16,31 +5,6,17,20 +3,6 +9 +4,6,17,29 +5,6,14,21 +4,5,6,21,40 +5,6,7,14 +6,17,36,42 +5,14 +6,8 +2,6,9,46 +6 +4,5,6 +6 +6,22,38,47 +5,6,13,20,27 +6,10,14,31 +3,4,22 +6,15,19 +2,4,5,30,42,48 +4,14,45 +5,16,22 +6,18,20 +14,16 +3,5,6,28 +44 +5,10,14,18,22,48 +3,4,5,6 +10,25 +17,49 +4,5 +6,20 +5,6,13,20,45 +16 +0 +6 +5,6 +12,20 +6 +5,6,38 +4,6,17 +6,13 +3,6,13,20,36 +6 +12,14 +5,6 +6,26 +5,6,20,25,35 +3,6,14,26 +6 +4,5,22 +2,6,7,20 +4,5,6,12,13 +20,46 +4,5,12,14,27,38 +4,6,12,22 +5,6,18 +5,6,20 +6,22,50 +3,6,49 +3,5,6,7,12,23,25,41 +3,7,14 +4,6,36 +6,27,44 +3,6,14,22 +3,20 +6,8,33,43 +6,14 +5,6 +6,17 +2,5,6,25,37 +3,4,10,13,29 +6,18,40,46 +6,8,14,18,44 +3,6,27 +3,4,5,6,9 +2,6,8 +6,13,19 +2,6,12,17 +0 +0 +6,7,14 +5,6,19,23 +2,3,7,44 +7 +6 +3,4,7,32 +6 +6,14 +5,49 +8,23 +4,6,23,28,33 +20 +4,5,6,14 +5 +4,5,6,10,19,29,42 +15,30 +6,13,30,46 +6,11,20,26 +6,21 +2,14,18,43 +4,10,25 +5,7,22 +6,7,41 +20,31 +4,6,14,40 +10,28 +5,6,12,14 +5,6,7,23 +3,18,22 +6,12 +4,6,13,14,19 +2,5,6,21,31 +6,8 +14 +2,10 +6,7,21,27,34 +3,5,13,18,26 +6,11 +34 +6,51 +4,6,10,29 +5 +5,6,14,21 +4,6 +4,5,11 +3,6,22,38 +2,6,10,20,22,33 +5,6,30,33 +6,14,17 +6,9,20,27,30 +14,25,36 +6,7,15,19,21,24,25 +5 +5 +5,6,12 +14 +4,5,6,14 +6 +6,14,16,30 +4,5,6,19 +3 +12,13,14,44 +6,50 +5,6 +6 +5,8,21 +2,3 +3,6,14,28 +5,6 +3,4,6,20 +6,7,15 +4,5,6,12 +6,13 +6,27,31 +6,22,25 +6,14 +30 +6,14,15,46 +6,13 +6 +2,9,28,39 +5,6,10,14,21 +3,6,9 +5,22,29 +5,6,12,16,22,26 +6,44 +3,4,5 +25,28 +4,6,20,49 +5,6,14,46 +3,15 +4,25 +0 +6,25 +6,14 +4,6,13 +3 +6,28 +5,6,22 +4,5,6,7,42 +31 +14 +5,6,10 +6,11 +4,5,6,25 +6,46 +6,13,24,27 +4,5,6,18,21 +6,11,23 +4,6,20,22 +6,12,20,29,37 +5,6,7,25,43,46 +40,45,50 +5,22 +6,7 +4,6,10,25,30 +4,5,17 +4,6,7,22 +6,22 +4,6,22,25 +5,6,16 +5,6,7 +6,14,48 +6,7,14,20,33,46 +6 +4,5,41 +3,5,13,27,29 +6,14,16 +5,21,37,38,47,49 +14 +6,7,13,24 +4,5,6,14 +5,6,19 +6 +6 +5,11 +5,11,46 +4,5,6,39,40 +16 +4,6,14,21,28,41 +6,14,18 +5,6,20,38 +7,16,36,46 +13 +5,14,20 +3,6 +5,12,21,26 +4,6,10,13,22,26 +6,29 +2,3,6,28 +3,19 +6,47 +4,7,14,15,25 +3,6,18,36 +2,5,6,21 +2,3,5,6 +6,13,14,17,23,30 +5,20,31 +16,22,37 +5,6 +5,6,36,42 +5,6,14,22 +5,6 +23 +5,14 +3,6,42 +6,7,12,23 +5,6,13,25 +6,7,17,41,42 +4,6,22 +3,4,5,10,25 +6,36 +5,6,25,31 +3,6,14,15 +5,6 +5,20 +6,14 +3,6 +5,6,23 +5,6,13 +2,6,22 +3,6,19,22 +6,22 +2 +3,13,31,49 +5,6,14,21 +2,5,37 +4,5,6,16,20 +3,5,16,25 +4,5,50 +6,7,16,17,22,25,35,39 +3,4,6,18,21 +6 +6,32 +5,6,22 +5,6,18 +6,7,10 +5,6,22,25 +5,6,17 +8,12,40,46 +4,5,6 +2,5,6,22,44 +10,23,42 +4,6,13,25,46,49 +6,32 +5,6,16,17 +6,17 +6,11,14,20,33 +6 +5,6,7,21 +6,14,16 +5,6,14,17 +0 +5,6,14,35 +22 +2,5,6,12,46 +5,14,16,49 +5,6,14,17,18,48 +5,6,19,28 +6,14,18,19 +14,16,30 +6,10,13,15,17,27,38 +5,6 +4,14,16 +5,14,24,29 +5,29 +6 +4,6,12,17 +3,6,16 +6,11 +4,14,30 +5,6,25 +3,6,15,25 +4,6,21,46 +6,17,24,28 +6,7,8,23,25 +2,5,6,14,19 +4,5,37 +49 +5,6,7,13,17 +5,17,48 +2,6,22 +5,6,14 +4 +30 +6,17,25 +6,10,14,40 +7,13 +3,6,22 +6,14,18,22 +2,6,8,14,24 +5,6,49 +5,6,7,13,17 +25 +5,6,15 +3,6,12,20 +6,7,20 +3,5,6,25 +5,6,13 +6,25,26 +4,10,14,28 +3 +5,6,7,14,26 +6,41 +6,14,45 +6,17,30,42 +3,6,7,41 +5,6,13,17,38 +5,6,14,42,51 +17,18,20,25 +6,7,29 +5,6,44 +5,31 +13,25,48 +6 +6,14,18,48 +4,6,10,31 +6 +3,14,15,16,25 +4,5,6,38 +5,6,14 +36 +2,7,12,18 +3,13,43 +4,5,18,30 +6,10 +3,6 +6,25 +6,14 +6 +4,6,17 +6,14 +5,6 +5,6,19 +6,10,29 +4,6,13 +5,6,12,14,28,37 +2,4,5,6,11 +5,6,7,50 +5,7,12,19 +0 +14,17 +6,10,15 +6,25 +6 +6,22,49 +6,20,22 +6,7 +6,14,21,28 +5,6,23,47 +5,6 +5,15 +5 +4,6,11,14,46 +5,6,20,22 +6,14,17,43 +5,7,19,49 +4,5,6 +5,6,13,34 +3,4,5,6,16 +3,5,6,45 +2,15 +5,6,31 +25 +5,6,14,18 +5,17,20,41 +0 +4,6,35,47 +35,41 +50 +6,7 +4,5,6,13,49 +5,6,10,13 +4,6 +6,17,19 +3,6 +4,6,7,21,33 +18,22,43 +6,14 +20,46 +6,14,20 +6,33 +5,6,8,10,14,21,45,51 +5,6 +6,9,22 +6,14,22 +3,6,44 +19,28 +4,14 +2,4,6,12,16,51 +13 +5,6,14,20,44 +7,42 +3,5,6,20 +6,7,14 +5,6,14 +6,35 +5,6,17 +6 +5,9,14 +4,6,14,18 +6,7,13,14,25 +5,6,14,16,19,44 +6,8,49 +5 +5,6,12,29 +5,6,14 +3,5,6,14 +3,5,6,7,19,44 +5,6,22 +6,20 +5,6,28 +5,6 +15 +6,13,15,38 +6 +5,6,43 +2,14,25 +3,5,6,14,34 +4,5,14,25,30,44 +3,18,27 +6,14,22,40 +5,6,14,36 +6 +5 +6,20,50 +6 +4,14,22 +6,15,41 +5,14,25 +6,16,25,38 +2,6,25,29,30,32 +6 +3,6,10,13 +4,5,6 +6 +17,50 +6 +5 +3,6,14 +2,6,7 +4,5,6,13 +6,14,20 +3 +3,6,28,42 +6,13,14,48 +6,23,25 +6,14,28,45 +34 +6,14,44,46 +4,6,14,22 +6,17,18 +4,5,6,47 +6,19,39,41 +6,49 +3,4,6,7,8,31 +6,14 +6,26,31 +3,6,14,48 +5,21,22,31 +3,4,5,6,7 +3,5,6 +6 +6,20,29,36 +5,6,10,22 +3 +4,6,37 +6 +2,10,22,45 +6,37 +4,6,14 +6,21,25,29 +3,5,6,14 +7,25,50 +5,6,10,27 +4,5,6,17 +6,22,42 +37 +6,10 +6,9,21 +25 +3,5,6,13,14,21,46 +3,5,6 +6 +3,4,5,20,21,27,30,36 +4,6,11 +2,5,6,44 +6,12,13,15 +3,10,14 +5 +6,9,14 +4,5,6,28 +10,14 +0 +3,6,14,17,33,38 +0 +6,10 +3,5,6,37,45 +5,6,9,28,33,36 +3,14 +4,5,6 +6,17,27 +6,12 +5,6,11,17,21,25,30,38 +6,14 +3,14,35,36,42 +5,6,8,23 +6 +14,20,32 +6,14 +6,13,32,37,46 +2,6,18,32,50 +4,18,22 +6 +3,7,19,25,28 +6 +2,6,7,25 +4,5,6 +5,6,51 +6,7,29,34 +5,9,14 +6 +5,16 +6 +20,28 +3,16,22 +5,6,7,9,47 +6,43 +4,7,14,15,25 +5,6,9,40 +5 +3,4,6,10,31 +5,11 +3,6,43 +4,6,14 +6,9,25 +4,20 +6 +6,20 +5,6,14,29,49 +6,10 +6,9,10,22,42 +6,31 +4,5,6 +6 +17 +5,6,7,13,17,30,51 +4,5,38 +6,7,21 +6,37 +11,17,22 +3,4,6 +3,6,18,28,30,34,42 +6 +6,7 +6,13,15 +4,6 +0 +13 +6,15,25,38 +4,6,14,28,38 +6,14,38,44,51 +5,6,21 +4,5,6,22 +7,18 +3,6 +14,49 +4,5,6,7,10,15,22 +4,6,49 +6,16,21,22 +4,5,6,7,20 +6 +7,8,14,41,43 +6,21 +5,6,19 +4,6 +4,6,19,23,25 +3,5 +3,6,21,30 +4,6,14 +14,15 +0 +5,6 +6,16 +7,14 +6,14 +14,17,19 +6,23 +4,5,6,13 +3,5,7,11,30 +5,14,21,29,44 +30,42 +6,43 +4,6,22 +5,6,29 +3,6 +5,14,21,28 +22,47 +2,6,17,22 +8,14 +5,6,7,16,19,20 +3,6,48 +3,5,6,21 +6 +4,6,10,14 +6 +25 +4,21,23,27,32 +3,4 +2,6 +3,4,6,27,43 +6,14 +5,6,13,30,31 +6 +5,14 +6,14,43 +6,14,22 +6 +5,6 +7 +6,7 +3,6,25 +4,6,13,14 +5,6,20 +3,6,7,19,22 +6,14 +6,13,42 +6,7 +22 +6,13,14,43,46 +4,5,6,13,14 +0 +5 +4,5,6,8,10 +4,5,25 +6 +5,6 +6,7,37 +3,4,6,11,12,29 +4,6,10,35 +25,29,30 +5,6,17,25,27 +3,4,6,10,17,22 +6,11,13,17,22,25 +3,6,13,49 +5,6,25,26,32,36 +14,22 +4,6 +6,14,18 +13,14,17 +3,6 +5,6,21,44 +5,6,7,8,25,50 +6,32,42 +12,47 +29,35 +5,6,10,14,16 +5,6 +6 +5,6,51 +4,5,15,20,48 +6,14,44 +5,6,14,37 +6,14 +5,6,14 +3,5,20 +6,8 +2,3,6,10,14,20,27 +5,6,7,17 +4,6,18,20 +6,14,25 +2 +4,6,14,17,20,22 +5,19,22 +5,6,21,33,42 +6 +6,19 +47 +6 +12,13,28 +6,25 +5,12,14,31,34,36,43 +7,34 +6 +4,5 +18 +6,14 +5,6,10,17 +2,3,4,6,17,43 +4,49 +3,5,6,7 +4,5,14,17,25 +4,5,6 +4,6,7,19,34,48 +3,4,14 +4,6,14,19 +5,6,17,23 +6 +6,17 +18 +6,7,28 +4,6,7,14,28,30 +5,42 +0 +4,6,7,14 +3,5,6 +2,6,17 +5,6,14 +2,5,14,32 +5,6,7 +4,6 +6,14 +5,6,8,13 +38 +2,3,6,7,19,21 +5,7,14,45,50 +2,5,6,23 +3,4,5,6,14,15,17,22 +5 +4,6,13,33 +5,40,47 +4,5,7,14,16,31 +4,5,6,14,25,42,43 +6,50 +3,4,5 +7 +3,5,6 +4,6,14 +4,6,21 +6,20 +3,6,7 +33 +4,12 +6,13,14,25,36,37 +3,6 +5,14,22,33 +2,6,12 +6,14,25 +6 +6,28 +6,27 +5,6,14,48 +5,6,10,11,12,21 +6,41,46 +6,22 +5,6,35 +3,6,14,26 +3,6,14 +5,6,8,15,31 +4,6,14,17,50 +5,6,7 +6,23 +5,6,11,13,14,21 +11,14 +23 +4,6,15,20,26 +4,5,18,26 +6,13,14,29 +6,12,14 +2,18,22,46 +6,22 +3,6,9,17,18 +0 +2,6,17,31,48 +4 +7,41 +6,15,18,21 +6,36 +6,9,14,43 +5,6,8,9,10 +4,6,14 +6,10,17 +3,5,6,15 +5,8 +6,25,28,41 +6,20 +3,6,14,19,42,47 +6,14 +6,14,25,46 +4,5,6,14,25,34 +2,3,5,6,7,15 +2,4,11,14,31 +6,8,21 +3,5,32 +5,6,11,14,42,50 +5,6,22 +4 +2,5,6,14 +4,6,27,48 +6,9,14 +5,6,50 +14,19 +6,33 +6 +6,10,13,20 +7 +5,17,29 +6,17,20,22 +0 +5 +2,6,14,23,29,46 +7,8,14 +5,6 +21,35 +5,6,17,35 +4,5,14,20,34 +8 +5,29 +6,10,17 +4,12,41 +5,7,15,17 +5,18,23,35 +2,5,14,15,26 +6,37,45 +4,6,17,35 +5,12 +4,17 +6,7,24,28,46 +5,14 +5,6,45 +6,14 +5,6,22 +5,22,30 +6,14 +5,6,14,42 +6,25 +6,14,16,30 +6,13,44 +0 +3,5,6,8 +3,6,50 +14,32 +6,10,20 +5,6,29 +10 +3,6,14,20 +6,10,15,22,38 +6,46 +6 +3,6,34 +3,24 +6,42 +5,6,14,35 +3,4,6,7,15,17,18,20 +2,4,13,16,17 +6 +6,22,35 +4,6,21,25,28 +6 +3,4,6 +4,6,14 +3,5,6,7,10,50 +2,4,6,10,22,28,40 +3,6 +4,6,19,26 +3,5,6,7 +3,5,6,46 +0 +0 +4,5,6,37 +6,35,41,42 +5,6,13 +2,6,13 +4,5,7,17,30 +19,22 +3,4,6,18 +5,30,33,38,49 +3,6,14 +6,13 +4,6,29 +6,25,44 +6,12 +4 +3,6,18,19,33,49 +4,6,34,41 +6,42 +5,14,40,51 +3,6,10,39 +5,6,20,33,46 +5,6,14,16,20,22,35 +6,10,18,21,42 +4,6,16,20,42 +6 +6,15,29 +0 +6,25 +2,3,28,42 +4,5,6,19 +5,7,14,49 +4,5,6,44 +6,17 +4,5,7,11,14 +21,22,23,31 +5,6,29 +20,25 +5,6,14,21 +3,4,5,9,15,21,25 +2,6,17,20,23,50 +6,13,51 +5,6,7,13,17 +4,5 +6,36 +2,6,12,29 +6,33 +4,6,20,25,48 +4,6,14 +16,48 +7,37 +6,17,20,21 +6,7,10,14 +5,17 +7,14,40 +4,6,19 +6,14,16,17 +3,6,7,22 +4,5,6,13 +4,5,6 +5,6,25 +6,29,44 +6,22 +4,6 +6,20 +6,21 +14 +22 +4,7,14,16,33 +6,31 +5,6,7,14,21,27,41 +6,14,19 +6,25 +5,6,21 +5,6,31 +7,14,15 +6,20 +5,6,30,38 +2,5 +5,6,7,14,16,18 +5,6,17 +5,6,14 +6,18,30 +5,6,17,46,49 +3,6,7 +20 +3,6,41 +6,7,12,25 +0 +6,20,49 +6,25,27,32,38 +6,11,19,28,48 +3,5,6 +6,23,25 +6,12,43 +6 +6 +5,14 +27 +3,5,6,51 +5,6 +3,5,6,20,47 +3,5,16 +6,7 +26 +6,17,29 +5,11 +6,46 +5,6,46 +5,27 +7,8,45,50 +4,6,21 +5,6,18 +6,14,20 +6,26,33 +27 +6,13,17,20,21,44 +4,48 +6,28,42 +12,16 +4,6,12,17 +5,6,13,44 +6,19 +12,25,31 +3,6,7,21,37 +13 +5,14 +3,6,14 +5,6,7,16 +14 +19,22,36 +12,50 +3,5,6,7,46 +5,6,16,25 +35 +6,35 +3,6,22,26 +6,8,15,37 +4,6,7,17,25 +12,20 +6 +3,37 +6,14,41,42 +5,49 +4,5,7 +6,19 +4,6,25 +5,6,29 +3,6,13,17,28,31 +4,6,12,14 +6,49 +6,7,17,48 +3,4,6,23 +20 +5,6,27 +3,4,5,6 +5,7,10 +4,5,6 +6,15,45 +4,6,47 +3,22,23 +24 +6,7,18 +5,7,18,37,50 +6,19,37 +6,7,30,43 +5,6,10,13,50 +4,5,14,37,51 +5,6,20 +6,7,15,17 +5,6 +5,6 +6 +6,21 +5,6,7,22 +6,25 +6 +6,22 +6,14 +6,21 +6,7,25,41 +19 +6,13 +0 +3,6 +6,14,15 +3,6,14,25 +6,13,21 +7,16,22 +6,14,38 +5,6,16 +5,6,17 +3,4,7,15,45,46 +5,6 +6,20,35 +6 +5,14 +4,6,14,48,49 +2,5,6 +22 +6 +3,6,14 +2,3,5,6,14,46 +4,5,7,22,35 +5,14,19 +6,8,17 +5,6,26 +6,12 +6,10,29 +7,47 +3,5,25,33,36 +6,17,22 +3,10,14 +3,20,35,46 +5,6,18,25,32 +5,6,7 +14 +7 +5,6,12,35,36 +22,36 +12,19 +5,22,27 +4,6,14 +4,5,6,14,20,41,44,51 +6,18,47 +6,47 +6 +5,6 +3,20 +6,15,22,34 +4,5,6 +3,5,6,7,14,18,48 +6 +6,16 +4,6,14,47 +5,6,7,14,20,31 +3,5,6,14,35 +6,8,22 +5,6,14,19 +5,10,11 +3,6,12,14 +5,6,16,25,49 +18,29 +4,5,6 +6,17 +6,22 +2,5,6,18,30 +3,6,12,14,22 +6,25,36 +4,39 +3,6,12,14,18,22 +4,6,26,44 +6,17,25,37 +5,6,21,37 +6 +14,15,19,42 +5,6,14,18,38 +14 +6,25 +3,6,22,28 +20 +6,40 +6,17,21,41 +4,19 +7,27,28,40 +6,14 +5,25,34 +5 +6,14,38 +4,5,25,44 +4,6,17 +6,12,19,41 +6,22,49 +6,14,20,37 +3,17,18,27 +5,22 +6,41,42 +4,7,8,14,17,20 +6,38 +3,4,6,22,47 +3,4,6,8,12,30 +5,6,8 +6,13,15 +5,17,20 +4,6,15,51 +6,24,27,41,51 +3,6 +3,34 +2,14,23 +6,7,15 +6,22,29,42 +5,6,12,13,15,18 +4,6,36 +6,14 +5,6,17,20,46 +3,6,12,16,34 +5,19 +5,6,10,17 +5,6 +6,7,13,14,17,22,51 +6 +6 +3,5,6,21,22,35 +6,7,21,42 +10,20,27 +3,4,5,6,27 +5,6,40 +5,14 +5,6,14,22 +4,6,7,47 +3,6,20,27 +5,6,14,16 +2,4,5,51 +6,20 +6,7,14 +4,5,6,12,14 +6,7,14,28 +4,6,14,16,20,22 +15,22 +5,6,41 +3,6,25,29,37 +3,6,21 +6,7,40 +5,6,14,51 +3,5,6,14 +5,32 +6,25 +3,5,6,19,20,27,49 +4,6 +6,17 +2,6,10,19 +4,6,13,18,21 +3,6 +3,6,44 +0 +3,5,46 +5,8,20 +3,5,6,7,17,24 +4,6,48 +6,14,15,16 +5,6,14,18 +4 +14,22 +6,14 +5,6,14 +3,6,20 +0 +14 +5 +3,4,5,6,14,16 +2,6 +6,14,17,20 +6 +3,5,6,16,39,50 +4,13,28 +2,5 +4,6 +6,14,34 +6,14,20 +4,5,7,24 +4,6,13,32,45 +4,12,14,29 +3,5,14,30 +5,14,23 +6,19,21,25 +6 +3,4,5,6,8,32 +6 +6,14 +5,6 +6,14,30 +5,6,25 +4,6,7,8,13,33 +5,6,20,28 +5,6 +5,6,14,17,30,32 +4,6 +2,5,6,14,17 +5,6,29 +5,28 +5,6,13,43 +5,14,25 +4,5 +6,12 +20 +6,18 +12,14 +4,5,6 +4,6,27,29 +3,6,20 +6,12,14,39 +5,6,14,16,46 +4,5,7,11,13,40 +6 +6,11,16 +14,24,28 +3,4,6,20,21 +4,5,6,10,36 +5,6,23 +6,7,15,28 +6,25 +4,6,10,14,20 +5,6,13 +6,12,39 +4,6,7,45 +6,20,45 +6 +5 +2,4,6,17 +5,6,7,14,22,46 +3,6,16,19,42 +3,41 +6,7 +3,6,7,17 +4,22,25,28 +6,15,38 +7,28,49 +5,6,7,25 +2,4,5,6,7,22 +5,6,17 +0 +6,14,19,22 +3,13 +3,6,13,33 +4,5,11,20,36 +6,22 +3 +7,14 +7,28 +4,48 +7,14,19,20,22 +3,6,14,22 +4,6,8,9,36 +6,11,22,25 +4,5,6,16,17,42 +3,14 +4,5,6,12,21 +4,14,23,39 +2,5,6,28 +7,14,20,35,36 +6,14,38,51 +6,36 +3,20 +5,22 +6,11,36 +5 +5,6,7,10,16,46 +5,6,12,14,15,25 +6,18,25,26 +4,11,38 +12,22,35 +6,16,49 +5,6,19,39 +2,3,6,20,49 +3,7,14,23 +8,14 +5,6,7,36,40 +5,6,27 +4,6,15,17,19 +3,5,6,7 +3,5,6,7,14,25,44 +4,5,6,22,25 +4,5,6,7,10,13,14,28,33 +5,6,15,16,24 +6,14,17,44 +5,6,7 +3,5,6,10,34 +5,6,25,29 +5,6 +5,6,44 +8,21,30,41 +6,9,15,39 +21 +5,7 +6,14,32 +4,6,30 +3,6,7,21,25,42 +6,32,47 +5,7,17,28,38 +6,20 +6,14 +3,5,6,30 +5,14,40,50 +5,13,21,43 +6,32 +5,6,12 +31 +3,30,33 +5,6,22 +5,6 +3,6,14 +12,28,51 +0 +5,11,14,15 +6,7,28 +6,46 +5,6 +2,4,6,17,22 +6,22,42 +6,14,17 +3,6,12,17,26,46 +2,4,6,7,20,21 +6,42 +3,4,5,6 +6,14,21,25 +3,6,22,43 +6 +4,6,7,14,17 +6,7 +6,14 +4,6,14,48 +0 +3,5,6 +6,7,19,36 +23,28 +46 +6,9,14 +3,5,6,32,35 +4,5,6,23,31 +6,7,12,21,29 +6,14,17,41 +13,36 +5,6,16,20 +3,4,5,10,16,43 +3,4,25 +5,6,8,14,17,22 +5,14,43 +6,16,42 +3,6,32 +25,26 +6,14,16,35 +15 +5,6 +5,6,25 +6,14,15 +6 +6,7,9,14 +2,6,7,21,46 +6,17,24,25,43 +5,6,14,46 +5,6,7,28,33 +20,49 +11,14,20 +2,6,14,20 +6 +6,14,35 +0 +6,15,20,28,32 +5 +6 +4 +6,14,17,25 +3,6,10,13 +5,8,22,46 +3,6,17,20,21 +7,28,49 +5,6,42 +10,20,25 +4,5,6,14,17,21,51 +25 +6,7,22,33,47 +5 +5,6,8,27,42,43 +14 +3,6,7 +6,9,24,47 +4,5,22,25,45 +4,6,34 +3,12 +20 +36 +6,11,22 +5,6,7,30,50 +14,22 +14 +6,25 +4,5,6,14,42 +2,6 +5,6 +3,4,6,14 +2,14,20 +26,40 +20 +6,19,22,25 +4,6,20,22 +5,6,15,17 +6,16,20,46 +6,15 +5,6,15 +6,38 +5,6 +6,14,22,34,36 +5,6,7,13,14,24,35,49 +3,6,36 +6,22 +6 +5,15 +5,6,14,16,28,48 +4,20 +6,7,18 +6,7,16 +35 +6,32,41 +5,6,18 +3,6 +6,23 +5,6,7,40 +3,5,7 +5,6 +6,49 +5,6,15 +4,6,21,25 +4,6,11,21,40 +3,5,13,14 +2,4,23,37 +5,6,17,27,43 +4,6,14,22,28,41,45,47 +6,14,19,50 +0 +5,6,20 +4,6,11,14,16,33 +3,5,6,39 +5,6,14 +14 +6,14 +5,6,17,22,29 +7,15,16,38 +5,6,7 +4,28 +5,6,21,25,28 +6 +6,34 +5,6,31 +5,6,12,17,23 +6,20,25 +6,14,22,44 +5,6,15,17,22,27 +5,6,51 +2 +5,6,41 +6,10 +2,3,5,6,24,25,31 +2,4,6,13,14,17,42 +3,5,8,14,20 +2,7,14 +5,6 +2,3,4,5,6,14,18,35,39 +6,42 +6,7 +4 +5,6,15,18 +2,6,12,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +5,7 +6,26 +5,6,14,42 +4,6,7,37,44 +6,28,33,47 +12,28 +5,17,22,51 +6,8,9,21,25,29 +4,6,22 +6,8 +5,6 +6,14 +5,6,13,41 +22,24,39,51 +6,14,17,25,31,42 +6,19 +6,14,35 +6,14,38 +6,12,14 +3,5,6,14,20,25 +5,6,28,48 +4,6,15 +4,12,46,51 +2,3,5,6,17,20,51 +5,6,26,28 +3,5,6 +6,29 +4,6 +4,14,41 +4,6,7,14,50 +6 +6,17,47 +5,6,8,14,20,21,25 +5,6,14,26,33 +6,16,17,28,29 +3,5,6,16 +3,8,44 +25,48 +6,28 +3,6,13,38,49 +0 +0 +4,5,6 +6,12,19 +6,7 +2,5,6,7,36 +5,6,7,14,21 +4,6,14 +6,17,42 +26 +5,13,14,39 +5,6,7,32,34 +2,5,6 +6,37 +3,14,41 +5,17 +3,14,16 +4,5,14 +5,17 +6 +6,16,22,24 +5 +3,14,20,29 +3,5,6,10 +13,14,18 +4,14,16,43 +7,33,43 +5,22 +5,6 +6,12,13,20,36,41 +6,22 +6,17,24,28 +0 +2,4,5 +6,20,43 +6 +6,10,14 +5,46 +4,6,32,38 +4,6,8,28,32,35 +6,14,19,20 +7,15 +6,7 +2,5,6,16 +6,17,42 +4,6,25 +4,6 +3,4,5,6 +5,6,7,19,21 +4,6,25,49 +7,30,31,49 +5,14 +6,12,14,28,37,48 +14,29 +6,14,32 +3,14 +6 +5,6,14 +6,7,25 +5 +5,11,23 +5,6,14,22 +0 +6,34 +6,19,20,24 +3,4,6,14 +6,7,51 +4,5,6,9,12,17,25 +14,17,18,19,22 +5,44 +6,25 +5,6,12,14 +3,5,6,12 +5,6,17 +3,5,6,12,13,47 +24 +6,15,22,46 +5,50 +6,20,46 +6,17 +6,12,14,19,25 +5,46 +6,19 +3,6 +6 +3,6,17,21,49 +5,6,12,28 +3,38 +6 +6,14,21,25 +5,6,14 +2,14,23 +3,5 +5,6 +6,17 +6 +6,7 +4,5,13,20,22 +3,6,32 +3,4,5,6,14,41 +2,16,42 +6,17,29 +6,14,21,48 +3,5 +2,6,14 +29,40 +5,6,30 +5 +31,38,39,49 +2,3 +7,14,17,20,31 +10,14,20,31 +6 +17 +5,6,14,47 +3,5,14 +6,13,15 +5,6,35 +4,6,13,20 +5,6,7,14,17,36 +5,6,19 +6,31 +5,6,14 +4,7,17 +2,5,6,14 +4,5,6,18,20 +19,42 +6,22,47 +3,6,42 +3,5,6,7,14 +6,14,15,32 +6,23,41 +6,14 +5,6,16,17,21,28,41,48 +5,6,13,20,44 +3,6,16,20 +6,13,14,28 +5,6,14 +2,17,25 +6,18 +6,9 +5,6,14,17,20,30,31 +4,6 +4,5,14,22,28,46 +6,14,17,25 +5,22,31,47 +4,5,6,7,44,46 +5,14,27 +3,16,42 +2,5,6,13,22,23,36,44 +3,4 +6,12 +3,6,39 +0 +6 +2,5,7,14,30 +6,16 +2,6,17,37,48 +4,5,6,13,25,42 +4,46 +2,17,22 +3,4,5,6,14,16 +21 +4,5,6,27 +5 +5,6,44,46 +6 +4,6,7,16,18,20,46 +2,3,4 +2,4,6 +2,5,6,11,14 +5,6,7,14 +4,6,11,28 +5,6,21 +5,6,13,17,20,21 +4,5,6,7 +6 +12,14,24 +5,7,14,28 +5,6,7,16,17 +6,30 +26 +5,20,36 +3 +3,5,6,19,20,25,35 +4,5,6,19 +17,36 +5,6,13,20,23,36 +3,4,5,6 +0 +4,5,23,25 +3,6,17,21,41 +7,17,22,38 +5,6 +4,6,14,25,34 +2,5,6,14,44 +6 +2,5,6,14 +5,7,19 +6,14,16 +6 +5,13 +2,16,20 +5,6,12,18,20,22 +38 +5,21,36 +6,14,25,38 +5,6,14,17 +0 +6,30,51 +6,14,25 +17 +3,5,14 +6,14,34 +3,6,8,42 +2,5 +5,6,30,40 +4,6,14 +3,5,6,7,39 +6,7,42 +6,17 +3,4,6,14,20,22 +3,5,6,9,47 +5,13,22,41 +23 +5,6,14 +6,17,35 +6,14,19,21,32 +5,6,17,22,48 +6,7,25,26 +2,6,49 +5,6,8,14,22,48 +6,14,15,18,22,28 +5,6,7,22 +14,29 +4,5,6 +6,10,13 +4 +5,6,21 +6,16,21,24 +4,28 +5 +5,6 +6 +6,14,17,20,22,42 +0 +4,6,40 +4,5,6,12,20,42 +5,6,14,37 +5 +12 +6,16 +6,15 +44 +5,6 +5,6,7,11 +2,14,22,42 +6,8,15,44 +5,14,49 +2,6,14 +14,20,49 +4,6,7,13,32 +2,20 +5 +50 +2,3,4,6 +4,6,18,44 +13,22,31 +3,4,6 +6,7,14 +5,17 +6,14 +6,14 +4,6 +5 +5,6,15,25,42 +5,30 +5,6,35 +3,5 +6 +4,6,50 +2,4,6,7,14,28 +6,14,27 +6,20,25,27 +6,14,17,22 +6,7,22 +3,6,21 +4,6,14,51 +3,5,38 +6,19 +2,6,25,42 +29 +6,11,18 +5,6,16 +2,5,20,25,30,42 +44 +6,20,28,42 +14,41 +5,6,14,40,44 +6,14 +5,6 +4,6 +6,7 +4,20 +9,14 +5,6,10,14,19,22,29 +3,11 +5,6,14,47 +2,3,5,6,20 +5,10,13,17 +23 +5,19 +0 +5,6,15,28 +6,12,14,17,25,29,42 +7,17 +3,6 +6,33,49 +3,4,6,7,21,25,42 +4,16,25 +6,8,14,20 +5,6,21,50 +3,4,6,12 +0 +3,6,14 +6 +5,6,14,40 +41 +6,7 +5,9,11,14,22 +6 +6,44 +5,10,12,20 +6 +14 +6,7 +5,6,20,44 +3,5,6 +6,7,25,46 +3,6 +3,5,6,16 +12,47 +6,22,33 +5,6,8,10,11,28 +6,10,12 +6 +6,20,25,31,48 +6,20 +5,18 +5,14 +4,5 +5,25 +5,6,15 +4,6,14,17,25,30,35 +6,10,23 +2,12 +6,14 +6,22 +2,5,6,14,17 +2,5,6,7,43 +6,13,40 +8 +14 +4,5 +3,6,14,28 +6,14,37 +6,8,20,21,22 +5,6,20 +5,20,25,32 +3,14,22 +3,6,7,8,29,35 +6,17,18 +22 +6,46 +4,6,11,14 +6,14,20,29,32 +3,6,25,37 +5,8,30 +5,6,14 +5,6,18,48 +2,3,5,6,33,51 +2,6 +0 +6,17 +6,14 +5,6,13,14,25 +5,6,7,13,29,30,49 +5,6,15,17 +4,15,46 +4,12 +5,6 +6,20 +5,6,14,30,35 +5,18 +6,7,12 +6,44 +6,7,17 +3,5 +12,16,26 +8,17 +6 +3,5,6,14,25 +2,6,29,40,42 +6,7,21,37,46 +5,6,26 +17,27 +5,6,20,35 +3,5,6,17 +4,5,14,25 +3,21,27,43 +5,6,20,40 +6,11,24,51 +5,15,18,22,28,30 +17,34,51 +5,44 +2,5,34,35 +3,4,6 +7,11,28,37 +5,6,14,22,28 +3,19 +6,14,24 +6 +0 +6,14,35 +5,16 +3,11,44,51 +4,5,6,8 +5,6,12 +5,6 +18,23 +6,27 +22 +3,7,21,39,49 +5,6 +5,9,13 +3,5,6,30 +5,6,31 +6,37 +5,6,9,12,20,25,28 +5,6 +5,17 +4,6,26 +2,6,7,8 +6,24 +5,6,10,42,46 +6,22 +3,5,6 +6,9,14,15 +4,13 +5,6,8,22,46 +5,6,35 +5,6,7,23 +6,13 +6,23 +4,5,7,14,18 +5,20 +21 +5,14 +0 +2,3,6,45 +2,6,12,17 +3,4,6,25,34 +3,6 +4,6,14,17 +6 +6,14 +0 +5,6 +6,13,14 +6,17,21,23,31 +6,18 +3,11 +3,5,14 +5,25,32 +6,8,14,22,44 +3,6,17 +6,7 +4,6,37,47 +3,12 +5,6,14,19 +5,6,12 +6,11,21,30 +4,6,12,22,29 +4,22 +5,6,9,20,21,22,46 +6,30 +5,6,19,20,35 +6 +5,6 +14,24,40 +4,5,6,14 +5,6,7,41 +14,45 +6,17,19,41 +19,21,33,34 +4,5,6,14,25,35,51 +20,29,35 +3,4,6,20 +9,10 +6,25 +14 +4,6,8,9,16 +6,12,14 +5,20,48 +44 +6,14,46 +4,6,9 +4,5 +6,7,14 +5,6,25,46 +3,6,14 +2,5,6 +42 +5,6,26 +2,6,17,34 +6,42 +3,14,22,29,42 +4,5,6,7 +5,6,21,25 +3,17,23,26 +5,6,7 +25,31 +6,13 +2,5,6 +6,12 +3,7 +6,21,34 +5,6,17,34 +6,13,14,41 +6,7,14 +6 +3,6,8,14,17,22,25,27 +6,49 +2,6,21,27 +7,14,18,22 +13 +6,12,16,24,43 +2,5,25 +5,6,14,33,43 +5,6 +5,6 +5,6,8,11,14,16,18,46 +21 +4,6,26,48 +3,4,5,6,7,17,47 +8,13,14,22 +6,17,22,25 +6,22 +6,7,11,28 +3,10 +6,14 +3,5,6 +6,12,26 +5,6,28 +6,14,33,36 +2,5,28 +5,6 +6,22 +6 +5,29 +5,6,10,26 +5,6,22,26 +5,6,7,16,46,47 +3,6 +6,15 +6,14,16,17,21 +4,5,6,46 +6,22 +6 +4,5,6,19,20,25 +0 +6,20 +44 +2,6,17 +4,6,20,28 +13,14,17 +5,6,12,17,18,42 +4,6,7,11,12 +26 +5,23,49 +6,25 +6,7,14,42 +5,6 +3,5,6,9,14,18,25,40,41 +5,19 +5,6,10,13 +4,6,7,14,17,38,49 +3,4,6,7 +4,22,28 +4,6,12,13,19,46 +6,46,49 +6 +2,5,6,12,37,43 +0 +3,5,6 +6,32 +3,50 +4,5,42 +4,5,35,39 +6 +4,15,29,49,51 +5,6,17 +7,12,13 +5,6,22,40 +4,6,14,22,25 +6 +5,27,28,29 +7,16 +4,6,7,14,18,48 +4,5,6,40 +4,5,6,13,49 +6,36 +17,19,35 +4 +5,6,13,14,48,49 +3,5,6 +4,5,7 +3,5,24 +6,27 +5,6 +6,8,14,17 +5,6,10,31 +4,6 +4,5,6,14,21,23,32,44 +6,17,41 +26,35 +5,6,7 +14 +4,5,18 +5,13,31,34 +6,14,20,21 +6 +6,14 +6,18 +3,14 +3,5,6,7 +6 +5,6,14 +28,43 +6,41 +6,14 +4,6,17 +6 +4,5,6,22 +5,6,14 +4,6 +0 +6,7,46 +6,7,20,36 +4,6,13,14,21 +4,14 +6 +21 +5,29 +2,13,19 +2,5,6,8,21,46 +3,6,12 +5,6,15,25,49 +7,29,35 +12 +6,31 +6 +25,30 +6,18 +28,32,47 +5,17,20 +6 +4,13,21,29,36 +17,29 +5 +5,6,7 +14,43,48 +5,25 +10,14,44 +6,12,18,27 +6,7,22 +6 +12,21,46 +6,12,14,17,22,29 +6,14 +4,6,14,19 +3,5 +23,39 +10,20,35 +0 +2,6,7,11,14 +6,13,24 +6,41 +5,6,7,28 +6,25,46 +4,5,7 +6,16,40 +4,5,14,19,22,49 +6,14,42,49 +4,6,12 +5,8,28 +6,19,25 +6,13,15 +5,23,30,42 +3,5,6,15 +6,19 +12,17 +6,7,20 +4,13,22,46 +6,47 +5,6 +3,5,6,20 +5,6 +5,6 +6,14,39 +5,17,28 +5 +6,20 +4,6,28 +6,19,38 +6,20,26 +11,19,28,33 +6,28 +6,25 +6,10,14 +5,6,14,16,25 +46 +5,6,14,17 +3,6,31 +6,14,15,17,21 +3,20 +12,14,34 +5,6,15 +14 +4,14,19,22 +6,12 +4,5,6,22,28 +4,5,6,24 +5,6,27,48 +2,6,7,41 +6,15,25 +6,45,47 +5,6 +4,6,17,22 +14,17,20 +2,3,5,17,21 +5,6,20,36 +4,6,14,15,21,37 +2,4,5,45 +3,5,6 +3,5,6,17 +6,14,48 +5,6,31 +6 +5,36 +6,42 +5,6,7 +2,6 +6,28 +6,43 +5 +4,6,7,14,18 +6 +5,6,31 +6 +6,21,38 +42 +3,5,6,12,19,33 +4,6,7 +6,9,22,35 +6,20,21,29 +4,6,14 +5,6,10,43 +4,5,6,7,12,28 +6 +6 +3,22 +4,7 +10,13 +3,6 +6,14,16,34 +5,6,25,42,48 +3,5,7,22 +3,4,5,6,7 +6,7,14,43,50 +5,6,7,14,38,49 +6 +5,6,22,30 +5,7,21,41 +6,14,42 +3,4,5 +4,6,20,25,44 +6,13,14 +6,23 +7 +4,14,22 +2,4 +6,7,17 +6,13,14 +5,6,17,46 +5,6,42 +4,6,38 +26,42 +5,28 +5,6,14,22 +21,50 +7,42 +5,8,10,42,51 +6,25 +5,6,28 +4,6,24,28 +6,11,14,21 +6,45 +4,6 +6,17,25 +2,6 +4,14,38 +5,6,10,16,39 +6 +3,49 +5,6,17,42 +6,22 +4 +3,5,6,20,42 +4 +5,6,15,20 +4,5,7,10,17 +6,17 +5,19,27 +3,5,7,24,29 +2,4,6 +5,11,12 +3,6 +0 +3,4,6,20 +2,6,8,14,18,28 +6,14,20 +5,6,28,41 +4,18,19,25 +3,5,6,12,20 +3,5,6,42,43,50 +6,17 +4,7,17,20 +6 +5,6 +2 +5,10 +6 +14 +6,20 +6 +2,5,14 +5,6,14 +6,14,42,46 +4,6,7,39 +3,14,42 +7,19,22,38 +3,6,44,48 +5,6,29,42 +6,41 +3,6,14 +5,6,15 +6,13,37 +3,4,22 +5,6,14,45 +2,6 +5,6,23,38 +2,6 +5,17,28,50 +5,6,17,29,43 +5,6,9 +4,5,6,22,27 +4,6 +5,6,20,22 +4,5,6,10,45 +4,7 +5,41 +6,10,15,38 +3,6,7,13,22 +3,6,12,22,39 +9,19 +5,6,13,14 +6,14,42 +6,12,14 +5,6,14,17 +5,6,7,15,20 +2,5,28,33 +6,21,47 +6 +4,5,6,42 +4,6,7,30 +6,10 +5,6,22,49 +7,17,31 +6,14,39,42 +14,50 +8 +2,3,5,6 +4,6 +17,39 +5,46 +6 +4,6,7,25,28,34 +3,5,33 +4,5,11,14,48 +6 +5,6 +5,6,49 +3,5,6,7,14,41 +6,30 +4,6 +5,6,12,22,40,41 +6,14,20,49 +5,14 +6,7,22 +2,4,5,17,48 +6,31 +5,11,17 +6,14 +6,14 +6,17 +5 +2,6,18,20,48 +5,6,25 +6,9,21,24 +3,5,6 +6 +5,6,14,46,48 +6,41,51 +6,14,20 +5,34 +6,14,16 +5,6,22,44,48 +3,6,16,19,29 +6,48 +5,6,14,51 +2,5,19,23,27,47 +0 +6 +6,21,46 +5,6,9 +6,18 +5,6,14,19 +5,6,12 +4,5,6 +5,7,8,11,17 +4,17,26 +17,37 +5 +5,6,24,34 +6,18,32 +6,14,22,44 +23 +6,10,14,23 +2,6,14 +6,10,35 +6,8 +3,6,12,39,45 +6,16,26 +4,14,44 +3,5,6 +6 +5,39 +3,13 +6,14,20,21,41 +3,16,25 +16,31 +17,32 +4,10,22,27 +6,15 +6 +5,6,13,18,20,22 +5,22,33 +5,6,20,22 +6 +5,6,7,45,48 +6,14,22,28,49 +3,6,14 +5,6,13,33 +44 +6,13 +4,17,22 +6,13,14,19 +5,14,22,35 +4,24,28 +6 +5,6,13 +6 +6,22,35 +3,6 +12,20,28,41 +3,5,6,14,46 +4,5 +2,36 +14 +6,7,14,21,33 +5,6,22,36 +6,13,21,22,28,35,44 +3,6,16,29,40 +4,6,22 +14,17 +6,19,22,29,38 +4,5,6,12,20 +4,5,6,7,13,30,38 +5,6 +3,37,44 +4,5,10,22 +6,8 +3,14 +0 +5,14 +6,17,26 +6,23 +5,6,16,17,19 +4,5,6,21 +6,7,9,17,31 +4,5,6,7,27,47 +5,6 +3,6 +6,16,27,41 +6,15,28,36 +6,15,22 +5,7,14,17 +4,5,6,12,17,31 +2,4,8 +6,21 +3,5,6,14,42 +6,14,17 +4,6,14,22,25 +7,10,40 +5,14 +5,6,41 +2,4,5,6 +6,16,31 +6 +5,6,17 +6,31 +8,22 +5,6,17,28 +5,6,14,18,51 +5,6,14,18,20 +6,16 +6 +6 +21 +5,6 +2,5,6,17 +6,7 +4,6,15 +5,14,29 +2,4,5,6,15,17 +6,20,22,25 +6,11 +2,36 +5,6,12,20,38 +3,6,16,17,19 +4,6,9,14,20,27 +6,7,14,21,37 +6,14,21 +6,7 +2,22 +6,7,36,46 +4,14,27 +6,16,20 +6,51 +6 +6,7,49 +5,6,7,49 +3,5,6,14,20,51 +6,13,14,30 +5,6,14,20,30 +5,31 +5,6,14,42 +5,6,11 +4,6,17 +4,5,6,7 +14 +5,14,30 +6,13 +4,17,21,46 +5,6,7,16,35,40 +5,6 +6 +6,31,44,45,46 +5,14,19 +5,10 +6,18 +6 +4 +6,9,17,22,25,35 +6,19 +3,20 +2,23 +3,6,14 +5,6,20,22 +4,5,47 +6 +6,18,22,50 +6,11,17 +3,10,20 +6,37 +6,14,24 +19,20,25,40,43,47 +3,25,45 +6,25 +2,3,5,6,15,20,46 +6,14 +4,5,6,12,25 +6,17,20 +14 +4,5,6,12 +2,7,13,28 +6,17 +6,20 +6,7 +4,5,6,14,44,46 +6,16,33 +6,23 +0 +0 +6,9,14,17,28,30 +4,6,29 +2,34,43,47,48 +0 +6,25 +2,6,7,21 +5,24,28,40 +6,14 +5,6,7 +2,4,5,6,16 +5,14,20,50 +6 +5,6,21 +4,5,14 +0 +6,14,15 +4,5,6,19 +5,17 +14,21 +0 +4,6,7,26 +0 +3,6,8 +6,20,26,51 +5,7,14,20 +3,5,6,21,26 +6,15,42,49 +5,6 +6,17,20 +5,6 +4,13,14,16,20,37 +47 +6,22,23,42,49 +5,32 +5,13,17,22 +5,6,21 +6,14,20,22,28 +3,6,7,17,51 +4,5,6,7 +2,3,5,6,43 +3,6 +5,6,7,37 +15,32 +6,50 +2,3,21 +5,6 +4,6,15 +5,6,22 +6,14,29 +5,6,14 +3,6 +5,6,20,45 +4,6 +6,8,17,39,41 +6,12,23 +4,6,10 +17,22,39 +6 +3,5,6 +17,23,34,38 +3,36 +4,5,6,13,14,19,25,35 +6,7,14,18 +5,7,9,25,27 +5,13 +33 +4,40 +6,23 +17,21,42 +20 +5,6,25,33 +2,3,20,39 +5,6,16 +14 +5,7,17,21,29 +6,7,21,32 +5,6,7,14,15,21 +6 +6,14,25 +5,6,32 +6,12,21 +4,5,6,12,17,46 +20,38 +18 +5,6,14,37 +6,41 +2,19,29,35,45 +6 +3,5,6,14 +5,6,17,20 +3,6,44 +3,6,13 +4,14 +6,7,12,42,50 +6,19,34,36,43 +6,20 +3,6,35 +6,15,21,25,28 +4,5,14 +6,7,12,14 +3,6,20,41 +6 +6,11,19 +5,6,38 +14,17,18,20 +5,6,41 +6,14,18,42 +2,20 +5,8,11,26 +6,13,25 +6,14,43 +6,24 +6 +5,6,13 +5,50 +3,13,14 +6,14,21 +5,6 +2,7,10,17 +39,51 +3,4,6,14,42 +5,6,34 +6,7,14 +17,20,37 +4,22 +5,6,11,14,22 +6,13 +6,25 +5,6,7,10 +5,6 +6,25,26 +6,14,25,46 +6,14 +4,14 +6,22 +6,14,20,22,28 +3,6,7,10 +14,24,42 +5,6,13 +6,14,42 +6,13 +6,14,32 +5,6,14,42 +3,6,17,28,42,47 +6,10 +3,12,16,25,28 +4,6,7,13,14 +3,6,14,49 +5,6,18,24 +5,6,10 +6,7,47 +6,22,48 +6,20 +4,6,17,22,25 +6,22,33,39 +5,6,11,14,30 +5,6,21 +3,23 +0 +0 +6,21 +2,4,6,10,14,24 +3,6 +2,14,22,29 +12,22,42,48 +6,20,33 +5,22,36 +4,5,6,7,17,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +3,17,21,31 +3 +3,6,25 +6,13 +11,14 +6,17,34,41,42 +6 +5,6,13,16 +20,28,34 +2,6,7,17 +5,6,20,36 +6,14,20 +4,6,9 +0 +6,12 +3,5,31,39,47 +5,6,16,23,34 +5,6,17 +6,14,18,21,42 +6,13 +3,4,6,43 +5,6,14,21,35 +5,6,12 +4,5 +3,5,6,12 +11,45 +17 +5,6,15,17,19 +5,6,28 +2,6,19,25,47 +5,6 +6,48,51 +5,8,17 +6,38,49 +5,6,12,23 +4,5,6,45 +4,5,6,28,29 +6,29 +2,7 +3,5,21,36 +7,12,17,21,25,38 +6 +6 +17,19,31,42 +5,6,22 +6,7,19,36,42 +5,6,14 +6 +3,6,7,38,46 +5,17,43 +6,14,21,28 +6,11,21,48 +5,23,47 +8,22,40 +6,16,20,42 +5,6,12,13,14 +5,6 +5,6 +4,5,6,32,50 +5,6,15,20,23,26,44 +6,14,20,28 +4,9 +33 +6,7,12,13,17,28,42 +0 +5,6,13 +3,4,5,6,22 +28 +6,15,51 +11,12,14,15,25,32 +3,4,5,6 +33 +6,44 +6,24,26 +5,6,38 +6 +6,51 +3,6,12 +5,6,21,42 +3,6,20 +5,17 +5,6,7,22 +4,6,7 +6,16,30,38,47 +6,18 +4,6,7,12 +6,19,22 +2,14,48 +3,6 +3,4,6,7,14,21 +4,5,6,17 +6,17 +5,6,14 +6 +3 +3,6,7,14,18,19 +17,22,31 +0 +4,6,19 +4,6,12 +4,5,6 +5,6 +0 +3,6,23 +2,6,7 +6,14,39 +3,4,17,42,48 +6,14,19,29 +3,5,6,46,48 +12,13,22,44 +20 +3,4,5,6 +38 +6,20,33 +2,6 +4 +3,6 +14,17 +6,14 +5,6,21 +5,6,7,17,18 +5,6,7 +6,14,17,25 +3 +4,6,14 +6,7,22,25 +5,14,17,28 +7,16,18 +6,14 +6,29 +5,6 +5,6,11,26,32,48 +6,17,43 +10,16 +6,14,40 +2,5,6 +4,5,6,12,22 +5 +2,6,14,32 +4,5,6,19,27 +4,6 +8,13,22,39 +3,5,6,10,28 +4,6 +5,31 +3,4,6,13,20,22,28,43 +4,5 +3,5,6,12 +7,13,15,44 +14,46 +6,14,27 +0 +6,9,23 +6 +5,6,14,25,42 +46 +5 +0 +6,20 +4,6,17 +4,5,6,10,35 +5,25 +5,37,38 +4,6,23 +3,5,6,15,21,25 +5,6,10,14,17 +3,6,28,30 +6,21 +3,6,14 +4,8,13,19,31,48 +5,6,25,29,42 +6,27 +3,12,22 +6,14,41 +4,32,48 +0 +3,5,6,21,47 +6,8,19,42 +17,25 +5,6,20 +4,6,51 +6,8,22,36 +5,6,29,46 +5,26 +6,20,21,45,48 +5,6,7,14,27 +2,5,6,7,20 +5,6,14,20,42 +5,18 +5,6,7,17 +5,6,14,20,23 +6,7,40 +6,12,14,40,51 +3,4,38 +5,14 +5,6,7,22 +6 +6 +5,22 +2,3,22 +19,20,21,48 +6,14,22 +6,14 +2,4,6 +4,6,9,21,41,47 +5,13,46 +5,6,11,14,19,23 +4 +5,7,17 +2,5,10,20,49 +3,6,22,36 +3 +2,5,6 +2,6 +2,5,6,20 +0 +4,5,6 +4,6,7,14,43 +26 +6,44 +3,6 +4,5,6,29,48 +0 +5 +3,4,6,14,16,20,22,25,47 +14,32 +2,6,14 +2,6,14,25 +4,5,6,8,14 +4,5,6,14,28 +4,5,7,20,22,49 +6,12,20 +4 +6,7,11 +6,13,22,23 +5,6,15 +5,17 +11,14 +5,27 +3,6,14,32,42 +5,11,32 +2,5,6,33,50 +6,7,22 +29 +5,6,14,22 +5,6 +5,6,17 +3,5,6,7,18,26 +4,5,6,14,22,26 +4,6,25,48 +3,5,10,12,23 +6,27 +6,46 +4,6,15,17,20 +5,6,22 +6,14,32 +6,14,23 +6,25,38 +6,14,15,42,44 +5,6 +6,17,23 +5,6,14 +6,14 +3,4,6 +4,5,14 +2,6,14,34,35 +6,25 +3,6,14 +5,6,17 +6,38 +6,14,17,44 +6,7,13,14 +2,3,5,6,8 +2,5,7,40,49 +3,6,12,14,22,23 +7,12 +6,14 +3,6,25,29,34 +6,19,20,26 +3,6,19,26,27 +5,6,14 +6,12,17,19 +6,30,46 +3,5,6,20,22 +28 +2,14 +4,5,6 +5,6,22,27,33 +6,26,43 +5,6,13,41 +6,7,9,11,29 +5,6,8 +19,33,48 +17 +6,7 +5,20 +6 +8,14 +6 +4,5,6 +6,14,25 +9 +6,29,49 +12 +0 +5,6,9 +6,14 +3,5,6,39,40,48 +5,6 +5,6 +3,14 +6,17,33 +26 +3,5,6,13,14,32 +3,7,25 +6,17,23,24 +5,6 +3,4,6,7 +6 +4,5,14 +5,6 +2,5,6,16 +2,15,22,51 +17 +2,4,6,36 +14,34 +3,11,14 +5,12,28 +6,20 +4,5,6 +5,6,14,20,22 +4,10,13,19 +5 +4,14 +6,8,18,23,42 +5,6,14,27 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +5,23,44 +3,5,6,12,26 +6,15,30 +5,6,14,17,44 +3,6,10,17,20 +0 +6,17 +0 +3,5,30 +4 +5,6,10 +4,6,11,16,25,29 +5,6,14 +5,6,14,22 +5,43 +2,4,5,6,22 +0 +5,6,13,36 +3,6 +2,15,21,37 +2,4,6,18,29,35 +3,14 +6,14,34,47 +7,14,22 +4 +5,6 +5,6,19,25 +6,22 +4,5,6 +6 +6,43,46 +6,12,13 +6 +3,31,34 +49 +6,7 +14,15,16,25 +12,17,22 +6,23,25 +5,6,7,22 +2,8,31 +3,6,20 +5,6,23,29 +6,17 +2,14,21 +12,14,44 +5,8 +12 +2,3,7,30 +4,41 +6,10,23,25,35 +17,27,28 +6,14 +4,14,20,22 +4,5,6 +6,14 +14,26 +4,6,13,21,25 +20 +6,12,14,25 +6,14 +6,43 +4,6,7 +6 +5,6 +6,18,19 +6,14,28 +4,6,19,20,33 +4 +2,6,22 +5,6,8,28,34 +5,6 +6 +6,7,49 +6 +5,6,14,16 +2,6,25,37 +3,19,47,50 +18,25 +6 +4,5,6,9 +3,6,11,15,19 +4,6,38 +13,17 +6,17,18 +5,6 +13,17 +3,6,14,19 +3,30 +7,16 +5,6,7 +0 +2,47 +3,25 +12 +5,14,20,33,43 +5,6,23 +3,5,6,14 +5,14,38,40 +6,7,20,22 +5,6,7,14 +3,5,6,22 +6 +6,25 +6,14,17,41 +5,14,21,25,33 +5,6,25 +5,6,22 +6,37 +5,6,19,29 +4,6,42 +5,6,13 +6,12 +6,13,17,46 +6,14,16,28 +4,6,14,38 +6,11,15,22,25 +6,10,35 +6,8,12 +6,9,12,13,33 +6,14,17 +3,5,6,16,17 +4,6 +14,22,51 +4,6,21 +2,4,6 +6,13,14 +6 +14,35 +6,9,32 +5,6,25 +3,5,6,22,25 +6,19 +14 +6,28 +3,4,6,14,41,46 +4,5,6,9,14,20 +3,6,11,16 +6,7,18,22 +6,29 +5,6,16,33 +2,4,6,13,35 +4,6,22 +5,6,20,26 +5,6,14,20 +2,17,23 +6 +6,16,22,30 +4,6,7,17 +4,5,6,22 +6,17 +6,40,41 +6,22,26 +3,4,5,6,16 +4,6,29,36 +6,33 +14 +4,5,6,7,22,25 +7,9,14,19 +4,5,14 +2,4,5,6 +6,11,35 +6,45 +2,6,15 +6,14,48 +6 +6 +6,14,27,33,35 +5,6,13,19 +5 +6,32 +4,5,6,15,17,18 +6,26 +5,6,13,45 +21,23 +6,14 +6,14,18 +6,12,17,22,27,31,41,43 +6,14,49 +5,14 +6,14,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +5,6,13 +6,7,22,33,35,42 +2,6,18,38 +0 +6,10,13,49 +4,5,22,45 +5 +3,6 +5,14,20,28 +4,6 +3,6,29 +6,7,10,13,17 +5,21 +5 +5,14,22,35 +22 +2,3,6,21 +5,6,12,14,25 +6,13,29 +5,6 +5,6 +5,6,14,16,36 +6 +4,7 +5 +5,6,46 +4,5,6,17,33 +5,6,7,22 +0 +6,12,22 +6,33 +5,13,17 +6 +6,37,46 +7,10,14,15,26,28 +6,14,43 +6,12,20,28 +4,14,17,25 +4,5,8 +3,5,8,41,42 +4,8,14 +3 +5 +3,6,22,25,45 +29,43 +2,5,6,9,14 +4,5,6,12,17,27 +6 +19,22,41 +2,6,22,30 +6,42 +6,10,14,35,42 +2,6 +6,7,49 +6,13,45 +6,22 +15 +6,14 +6,16,19,26,41 +5,6,25 +4,20,22 +6,7,17,37 +3,5,6,14,19 +3,6 +17 +22,42 +7,8,12,22,38 +4,5 +4,5,7,10,22 +6,7 +6,17,42,46 +4,5,6,19,44 +5,6,35 +4,5,6,10,24 +5,6 +4,5,6,33 +6,13,21 +23 +5,33 +6 +8,17,29,41 +3,5 +6,13 +4,6,7,25 +6,14 +6,14 +6 +5,6 +5,6,13,17 +5,14,24 +3,4,9,12,14,17,20 +48 +22 +6,39 +4,5,8,10,31,49 +5,6,14 +6 +13,14 +4,5,8,20 +5,6 +6,7,12 +0 +4 +5,14,18 +6 +6,11,25,46 +3,6,10,14,46 +5,6 +19,20,28 +3,5,6 +6,7,40 +6 +6,12,14,22 +5,6,14 +5,6 +4,6,14,38 +6,13,26 +6 +5,6,18,29 +5,47 +6,14 +48,49,50 +3,6,14,44 +5,7,12,27,42 +5,6,12,14 +5,6 +6,14,22,30 +6,25 +2,5 +5,6,11,37 +5,6 +6,7 +6 +6,45 +3,6 +4,6,14,17,18 +5,6,14,42 +4,6,8,23,27 +6,14 +6 +5,6,21 +10,14,19,21 +6,36 +6,12,18,22,23,25,42 +4,6,7 +3,6,30 +6 +3,6,22,23,26 +5,8 +3,5,6,10,15,17,18,28 +10,14,27,43 +6,7 +6,12 +13,17 +6,13 +6,12,14,17,24,27 +5,11,33 +5,6,13,19,25 +6,19,35 +0 +6,14 +6 +6,12,47 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +6,14,22 +17 +3,6,17 +18,42 +6 +5 +2,20,30,33,38 +4,6,7,12,22 +5,6,20,25,47 +3,5,6,21 +4,6,7,47 +4,50 +6 +6 +6,10,30 +6,21 +5,6 +6,22 +4,6,14 +5,14 +5,6,18 +6 +2,3,5,14,25 +5,20 +14,15,48 +5,6,7 +33 +6,23,25 +6 +4,6,14,23 +4,5,8,25 +2,6,10,14 +6,12 +5,6,23,35 +23 +6,14 +4,5,6,30,46 +3,6 +5,6 +6,15 +6,25 +3,4,14,19,36 +4,6,17,20 +7,46 +6,7,10,16,17,26 +6,19 +12,15,48 +6,35 +5,6,14 +4,5,21,44,49 +6 +0 +6,27,36 +6,7,14,26 +6,20 +5,6 +4,6 +5,49 +2,3,5,17 +6,14,50 +14,27,30 +5,6,10 +4,6,11,21,26 +16 +5,6,7,21 +6,16,18,22 +6 +4,26 +3,5,6,21 +6 +14,22 +6 +6,24 +5,6,14,15,25 +5,6,38 +5,6 +3,6,11,13 +6,30,38 +4,5,40 +6,10 +6 +5,14,20 +2,3 +6,7,16 +3,4,6,12 +27 +6,14,20 +47 +6,14,20 +6,9,27 +6,33 +6 +5,6,12,18 +3,5,6,7,51 +5,6 +5,23,39,41 +6 +0 +2,5,6 +6,22,45 +30 +5,9 +14,25 +14 +3,29,45 +6 +5,6,7,16 +3,4,6,17 +15,22 +5,6 +6,17 +5,6,48 +6,14,18 +25 +4,6,19 +6,14,25 +3,21,29 +5,6,14,22 +6,13,14 +4,6 +4,5,6,20 +5,6 +4,6,13,22 +5,6,11,48 +3,6 +14,42 +4,5,6,15 +2,6,11 +6,22 +4,5,13,17,25 +4,5,6,25,27 +14,22,28 +5,6,19,46 +6,14,17,23 +6,7,11,30,46 +4,6,22 +3,4,6 +39 +6,14 +6 +6,25 +3,4,15,42 +2,5,14,20,34 +0 +5,6 +6,29,48 +3,4,6,14,17 +6,12,20 +6,15 +6 +5,13,21 +3,6,19,27,30 +5,6,17 +21,34 +6,14 +5,6,7,14,30 +6,14,30 +6,19 +5,6,25 +5,19 +5,6,11,12,14,35 +3,6,7 +6,14 +5,6,25 +7,46,49 +5,6 +5,6,25 +6,11,14 +2,4,5,6,8,14,51 +15,16,33 +6,40,41 +8 +4,6,7,17,20 +3,6,14,36 +3,6,42 +2,3,6,18 +6 +4,6,11,14,17 +4,5,6,14,33 +6,8,14,39,45 +5,6,13,14,18,22 +6,9,17,41 +5,6,7,14,15,23 +3,6,7,14 +3,13,14 +6,14,25 +4,5,6,46 +3,6 +6,17,34,41 +3,5,6,14,36 +6,22,33 +5,17,21,25 +3,6,20,34 +5,17,25,49 +3,6,16,25,40 +3,5,6,20 +6 +7 +6,7,18,33 +5,6 +13,16,22 +6 +5,8,22,41 +18,49 +6,31 +5,6,14,21 +6 +5,6,47 +15,45,48,51 +4,5 +6 +7,29 +4,6,8,22,29 +5,6,10,22 +4,6,13,25,37 +6,49 +5,49 +6,8,14 +6,7,25 +6 +3,6,17 +2,4 +4,6,12 +6,22 +2,3,4,5,6 +7,17 +6 +4,5,6,14,22,32,48 +5,6,25 +4,6,16,48 +5 +0 +3,10,11 +16,20 +6,19,32,35,41,42,49 +5,6,12,14 +6,7,23 +3,7,23 +17,31,46 +13,15 +5,6,13,14,43 +4,8,20,43 +6,10,28,32 +4,6,14 +6,21 +14,19 +5,6,14,18 +2,4,5 +6 +6,31 +5,6,14 +3,6,7,14 +6,17,26,43 +5,7,14 +6,39 +6,16 +2,6,17,38,43 +5,7,12 +3,6,17,46 +5,6,7,17,19,21 +6,40 +3,6 +6,22,49 +4,5,6,14 +6,14,30 +6,13,28,38 +3,5,35 +5,6 +7,16,27 +6,29 +5,6,14 +6,29 +4,6,7,25,33 +6,17,18 +3,6 +6 +22 +4,6,14,34 +5,6,46 +4,5,6,15 +19,20,24,36 +3,4,14,17,20 +6,14,16,22,28 +9,14,15,16,48 +0 +47 +6,8,13,20,46 +5,42 +3,6,39,48 +6,10 +6,17 +5,6 +5,6,7,9,14 +6,49 +6,7,14 +6,10,14,16,17,40 +2,4,13,14,25 +2,5 +5,17,25 +5,6,25 +6,50 +4,6,7 +5,6,28,47 +6 +4,5,6,22,44 +5,7,9,12,20,28,32 +6,14,46 +14,19 +4,5,6,10 +6,22,29 +4,6,28,29,46 +5,6,17,35,48 +5,6,30,49 +5 +5,6,10,28,42,49 +5,6,13,14,18,45 +4,6,25,37 +5,6,12 +4,15,39 +6,15 +22 +5,6,13,25,27 +3,4,6,35 +6,28,38,42 +6,14,16,25,36 +5,12 +5,6,14,15,25,26 +6,7,13 +6,30 +4,6 +4,6 +6,12 +3,6,7,42 +3,5,6,48 +6,15,50 +4,5,12,14,15 +6,7,13,14 +2,4,6,9,17,33,34,37 +6,14 +5,6,39 +3,6,14 +3,5,6,7 +4,6,11,39 +4,5,7 +6 +5,22 +6 +6,7,14,45 +35,50 +2,6,12,43 +3,6,8,19 +3,5,6,18,43 +3,14,16 +2,4,17,21,29 +4,5 +5,6,7 +6,22 +6,13,19,22 +5,6,14,17,34 +2,6,30 +5,6,10 +6,31 +21,30 +4,6,18,25,30,49 +0 +6,14,34,46 +4,6,12,25,50 +4,13,15,17,44 +3,6,11,48 +7,14,45,51 +4,5,6 +37 +3,12,14,15,44 +2,4,6,23 +4,15,29 +6,15 +6,28 +5,17,20,27,37,48 +5,6,7,14 +7,48 +5,6,7,10 +2,5,6,14,17,32 +6,28 +5,6,32,46 +7,41 +6 +5 +5,6,30 +6,14 +5,6,22,30 +44 +6 +6,22 +4,5,6 +6,12,50 +3,5,6,17 +3,6,28 +5,6,44 +6,14,21 +6,8,13,14,33 +14,21 +5,6,8,25 +4,14 +5,6 +6,7,15 +3,14,22,24,38,48 +6 +5,6,14 +3,4,5,28,40 +5 +4,5,6,24 +2,4,10,14,38 +3,6,12 +4,5,7,15,25,37 +10,17,22 +6,14 +2,5,6,17,31 +5,6,14,38 +6,14,17 +6,7,49 +6,25,40 +5,6,14,35,40 +6 +4,6,27,33 +5,6,14,22,25 +6,21,22 +3,5,17,18,42 +4,6,44 +3,37 +3,6,20,44 +5,6,12,14,32 +6,10,33 +2,7,18 +5,6,13,38 +3,6,7,11,15,30 +3,14 +3,5,6,26 +5,6,11,13 +5 +5,6,26,35 +4,5,6,19 +4,5 +6 +0 +6 +4,15,26 +6 +4,6,12,13,14 +4,5,6,15 +5,42,43,49 +6,14,17 +6,19,29,49 +6,14 +5,6,14,17,18,43 +6,17,31,42 +5,6,51 +6,37,47 +6,16,26,38 +10,15,18,37 +4,6,21,27 +17 +3,6,25,33 +3,5,14,15,17 +4,5,6,7 +3,4,5,6,22,41 +6,41 +15,38,42 +5,6,11,21,49 +6,50 +7 +3,4,6,20,22 +10 +5,6,22,43,50 +5,6,16,17,25 +15 +4,5,6,10,14 +6,21,42 +4,6,7,41 +4,5,6 +6,7,9,20,25,42,51 +5,6,20 +4,5,7,21,25 +4,25 +4,6 +2,5,6,17,22 +6,15 +6,12 +5,6,14,22,46 +3,6,28 +6 +5,14,49 +6,7,14 +5,6,14 +5,6 +6 +4,5,39 +5,6,30,33 +6,14,16 +6,8,10,14,48 +6 +6 +3,6,28 +4 +2,6,25 +5,16,18,20 +11 +3,6,44 +23,35,42 +6,39 +13,26,45 +6,9,28 +6 +5,12,29,34 +10,20 +5,6,14,20,31 +5,7,18 +4,5,13,22,41 +11 +14,18,41 +6 +3,6,7 +5,6,7,14,35 +5,6,19 +6,14,20 +4,5,6,7,11,14,38,42,43,44 +2,4,6,22,23,41 +18,20,23,33 +6 +2,4,6,37 +3,6,7,41 +5,9,18,28 +6,12,14,25,30,41 +25 +2,3,5,6,16,41,45 +6,7,22,23,47 +4,6,12,13,14,21,50 +5,12,14,17,22,26,28,39 +2,3,6,41,43 +5,6,7,18 +6,22 +6,14,17 +6 +6,13 +0 +2,13,14,22,31 +5,6,8 +6,21 +5 +6 +5,6 +5,6,8,28 +4,5,13 +5,7,14 +4,5,6,13,14,17,31 +4,5,6,16 +6,21,36 +3,5,6,15,40 +2,6,10,22 +6,7,22 +3,5,6,17,21 +6 +5,6,13,17 +5,6,21 +6,16 +5,6,9,11,13 +3,6,7,10,14,15,16 +6,7,22 +6,11 +4,6,12 +4,6,14,38 +6,14,29 +6,41 +5,6,41 +6,17,26,35 +3,4,6 +0 +6,7,26,40 +2,5,6,7,30,38 +5,6 +6,7,12,17 +5,6,20 +21,26 +2,5,6,28 +2,4,6,34 +36 +6,12,14,32,34 +6,12,28 +11 +5,12,14,36,42 +7 +0 +17,28,46 +6,50 +4,6 +5,6,17 +6,14,22,31 +6,14,17 +3,13,17,25 +6,13,46 +2,3,12 +3,5,6,22 +4,5,6,7 +6 +3,4,6,12,21 +5,14,21 +36 +2,6 +2,6,28 +5,6 +5,6,14 +3,33 +3,5,25 +6,7,13,14,22 +6,46 +3,6,22,41 +47 +3,5,6,7,19 +3,6,17 +10,28 +5,6,45 +6 +17 +6,24,47 +6,10,17,27 +5,6,7,8,32 +3,6,7,22,38 +6,14 +5,6,12 +6,17,30 +3,6,10,12,15,26 +2,6 +2,4,8,25,35 +4,5,6,14,22 +6,14,15,42 +4,14 +5,6,40 +16 +6 +13,19 +6,10 +6,14,21,36 +3,6 +3,22,43 +6,15 +3,4,6,16,25 +2,6,14 +3,4,6,27 +2,14,22 +6,14,21,27,47 +5,17 +3,5,10,13,41 +5,6,51 +6,20,25,34 +38 +6,7,12,14,22 +4,6,14 +0 +4,5,6,41 +4,6,13 +5,6,9,14,46 +2,6,14,18,20 +5,6,23,41 +6,25 +4,5,6,7,14,21,22,25,26 +3,6,21 +6,23 +5,14,15,27 +15,33,34 +3,5,6,23,28,42 +5,12,14,24,30,35 +3,6 +6,45 +6 +6,20,47 +6,40 +7,28,45 +6,17 +6 +6,7,45 +3,6,42 +4,5,6,16 +0 +42 +5,6 +4,5,17,22,26,43 +5,6,14 +7,10,21 +4,17,44 +6,14 +6,10,17,34 +6 +6,14,21,30 +5,21,37 +6,12 +6,15,22,46 +3,5,6 +6 +14 +3,6,7,10,14,25,49 +3,5,22,42 +3,13 +6,14,29 +5,6,14,17 +4,5,6,7 +25,34,49 +6,15,17,18,20 +6,8,50 +2,6,11,48 +5,6,28 +5,6,7,19,29,32 +3,14 +4,5,14 +3,46 +3,4,5,14,17,44 +3,5,6,25,27 +3,5,6 +5,14,23,48 +6,22,26 +6,14,20,21 +6,13,21 +6,20 +5,6,14,27 +5,12,14,17 +5,6,46 +4,6,7,14,20,25 +3,4,5,6,7,8 +6,14 +7 +4 +5 +3,5,6,10,33 +2,4,7,14 +3,5,6,22 +5,6,14,36,50 +5,15,18,26,28 +5,6,20,39,50 +2,4,6,13 +3,5,6,15,22,25 +5 +2,6,28 +5,6,28,36,41,45 +14,27 +3,5,6,20,22 +6 +0 +6,46 +6,9,17,38 +4,6,10,42 +3,5,6,27,41 +5,6,38,43,44 +5,6 +3,5,6,27 +0 +6,7 +6,7,17,20,26,44 +6 +5,6,14,28,41 +6,14 +4,8,28 +5,6,13,15,19,20,25,35 +6 +13,14 +4,6,22,23 +6,17,41,44 +2,5,7,25 +4,6,8 +2,15 +3,5,26 +5,6,26 +5,6,15,19,25 +2,4,5,6,30,46 +2,4,6 +5,6,14 +4,6,13,38,42 +5,6,14 +4,6,36 +0 +22,48 +3,5,7,11,20,23,42 +2,5 +6,41,42,47 +6,38 +6,15,19,30 +6,49 +6,11,15,19,22,36 +5,6,10 +3,6,22,49 +4,6,14,17,23 +2,5,6,45 +6,28,46 +3,6,19,38 +3,5,6,14 +5,6,14,19 +6,22 +4,6,7,9 +3,6 +6,35,40 +6,18 +6,25,50 +6 +17,22 +5,6,13 +5,6,7,46 +5,6,20 +3,6,7,22 +4,5,6,10,49 +6,14,26,28,49 +5,6,9,14,21,22 +4,5,36 +6,12,14,38 +3,4,6,32 +3,5,15,17,20 +4,6,17,20 +14,38 +5,6,30,32 +4,6 +5,6,14 +4,6,48 +8 +4,6,14,21,25 +5,6,10,17,41 +5,49 +4,6,28 +25,30 +6 +12,14,17,21 +3,6 +3,5,6,7 +5,6 +5 +5,6,10,14,19,46 +5,14,42 +6,7,14 +6,13,18 +3,6,43 +5,6,22 +3,4,5,6 +7 +3,4,6,14,17 +6,14 +3,6,14 +6,22,32,35 +2,4,5,6,15 +6 +5 +4,6,8,14,26,46 +5,6,8,15,17 +6,12,20 +6,20,26 +5,6,20,25 +5,6 +4,6 +5,6,7 +15 +5,6,22,28,29 +5,6,19,25 +6,21,25,31 +22,33 +6,13,15,21,28 +6,14,17 +2,6,22,23 +5,17,20 +4,5,6,20 +4,6,12,19,30 +4,6,28 +4,6,18 +14 +5,6 +5,6,14,31 +0 +4,6,7,15 +4,6 +14 +5,6 +6,7,29 +3,5,6,22 +5,6,17,20,32 +6,20 +6,32 +5,6,7,22 +6,7,10,27,36 +5,6,17 +6,21,41 +0 +13 +7,18 +3,6 +5,6,39 +3,5,12,14 +2,5,6,10,14,22,23,33 +46 +4,6,12,17,22 +6,7,37 +6,20,25 +2,6,7,11,24,47 +5 +5,6,14,20 +6 +3,6,9,47 +49 +6 +5,6,7,19,25,45 +5,6 +14,46 +5,6,20 +6 +5,14,17,19,41 +6,11,29 +5 +6,23 +3,4,14,22 +14,48 +3,6 +35 +0 +6,28 +0 +6 +5,12,17,20 +3,4,11,15,28 +5,6,9,14,22,34 +4,20 +20 +6,17,19,41 +6,7 +5,13,16 +5,6,10,15 +3,6 +28,40,47 +6,17 +3,14,21 +3,5,6 +5,6,17,18,37 +4,25 +2,6,14 +2,6,32 +5 +8,17 +3,5,6,7,14 +4,6,13,14,17,23,32 +16 +5,6,14,42 +5,6,35 +3,5,6,7,17,22 +4,6,18,41 +3,5,6,42 +6,12,14,48 +6,29,51 +4,6,14,16,31,48 +6,17 +5,6,17,29 +4 +13,22,45 +6 +6,31,34 +6,16,30 +2,6 +6,19,29 +5 +6,16,25,29 +6,20 +5,6,24,34,51 +5,6,14 +3,5,6,12 +6,30,43 +5,6,14,18,22,23 +6,17 +8,10 +4,5,6,8,14,22,27 +2,3,5,6 +3,4,5,6,14 +6 +5,6,7,13,14 +5,8 +4,6,15,23 +6,14 +28 +6,14,19 +5,6,14,41 +5,6,14,28,42 +6,16,27,28 +2,6,14 +6,27 +3,6,18,22,42 +4,6 +5 +6,18 +4,5,6,28 +3,6,12,13,20,24 +5,6,13,14,17 +7,11,28 +4,6,21,22 +6,8 +3,4,6,12 +3,6,14 +4,6,7,8 +6 +5,6 +14 +3,5 +30 +6,16,17,36 +6 +6,10,36 +5,14 +6,14,25 +42 +4,5,6,14,21,26,47 +14,25 +6,14 +6,13,16,37 +6,13 +6,51 +4,5,6,29 +6,34 +5 +5,16 +3,6,13,35,36 +4,6,36 +5,42 +5,6,14 +6,25 +5,47 +10,25,43 +3,6 +6,7,8,21,51 +6,14,39,46 +6,14,25 +5,14 +20,22,43 +6 +6,23 +3,5,6 +4,6,10,17,19 +6,14,17,30,47 +5,12,14 +6,12,17,18 +3,10,12,13 +5,14 +5,19 +5 +6,7,21,47 +4,6,14 +3,6,7,17 +6,14 +3,5,6,18,25,34 +6,22,49 +15,21 +5,6,51 +5,13,15,25 +6,19 +6 +6 +5,6 +5,6,20 +6,48 +6,20,29 +6,12 +2,17 +5,6,10,34 +6,14 +5,6,9 +5,6,22 +2,6,33 +3,6,41 +5,6,17,28 +3,6,16 +6 +2 +6,9,20,41 +6,7,14,44 +5,6,10 +6,22 +4,6,7,12 +4,6,17 +0 +3,6,50 +6,10,14 +3,5,14,18 +5,6,14,20 +5,6,25 +3,12,14,28,47 +5,6,17 +6,20 +6 +6,14,22 +6,16 +6,28 +6,14 +5,6,21,23,33,49,51 +6,7,15,20,31 +4,6 +3,6,31 +0 +14,23 +5,46,48 +3,4,5 +28 +5,13 +5,6 +6,17 +4,5,6,39 +6,21,28,30,43,51 +7,14,31 +14,19,22 +4,6,13,14,15,41 +5,6,7,21 +6,17,20,25 +5,19,25 +5,6 +23 +14 +6,14,18,23 +6 +6,14,25 +31,49 +5,6,10,17,25 +5,6,20,36 +6 +5,6 +5,6,34 +4,6,7,8,25 +5,6,25 +3,4,5,6,7,21 +6 +4,5,7,30,45 +5,6,17 +6,11,27 +6,12,14,20,22 +0 +5,6,14,25 +5,6 +2,6,14 +2,5,6,23 +3,4,5,6,14,18,36,42 +3,5,27 +5,6,7 +5,14,17,26,36 +25,38 +3,7,8,34 +3,14,21,30,34,42 +4,5,6 +3,5,17 +3,5,6,29 +6,23,35 +2,5,6,28,33 +5,6 +3,4,6 +16 +6,46 +3,6,14,48 +4,18 +5,6,17,26 +4,6,7,9,14,17,21,47 +3,17 +0 +5,6,10,14,43 +4,6,33 +15,29 +6,15,21,40 +0 +6,17,25 +6,28 +14 +6,14,43 +5,6,20 +5,6,42 +4,5,49 +6,49 +4,6 +4,5,10,14,47 +6,13 +2,14,17 +6,19,25 +4,6,11 +2,6,7,13,41,49 +14,17,48 +5,6,7,11 +4,5,7 +5,6 +3,5,6,7,14 +2,4,6 +4,5,6,16,20,51 +6,14 +3,4,5,17,19 +5,6,11 +4,5,6,20,25 +6,19,24 +29 +3,6,14 +4,5,14,47 +6,28 +6,10,37 +5,6,20,42 +6 +5,6,10,15,34,47 +5,7,14,33 +5 +5,6,13,14 +3,6 +3,26,41 +5,6,14 +6,21 +2,4,5,6,16 +4,5,7,14,15 +4,5,7,14,22,49 +5,6 +2,7,11,14 +5,6,28 +13,14,19 +6,7,34 +5,6,20,38 +4,6 +9,25 +6,43,48 +14,20 +6,38 +13,14,19,26,29,38 +6,8,14,43 +2,3,16,17,25 +3,5,13,42 +2,3,6,14,22,45 +4,6,7,17 +5,6,13,33 +4,20,38 +2,6,12,39 +6,15,25 +0 +3,6,12,29,44 +6,21 +2,3,6,38,42 +3,14,21,47 +4,6,7,14,26 +5 +6,17,20 +5,6,22,28,30 +6,43,47 +6,14,16,45 +14 +6,10,27 +6,12,23 +6,23,46 +4,5 +4,6,10,14,15 +3 +4,6,14,38,51 +2,5,20 +6,16 +30 +4,5,21,33 +5,6,7,14,17 +6,17,19,41 +5,6,7,14,18,21 +0 +5,6 +7,18,25,26,39 +5,6,21 +3,6 +5,6,13,49 +3,4,6,13,47 +6,14,15 +6,14,48 +5,6,7 +4,6,20 +5 +3,6,15,32,51 +5 +3,7,22,25 +6,7 +4,5,14,19,30 +5,6,17 +2,7 +4,30,41 +5,23,41 +6 +6,12,16,22 +6 +6,13,14,49 +5,22,35 +4,6,16 +6,33 +8 +6,7,14,17 +7 +4,6,44 +2,5,6,7,13 +2,4,5,15 +0 +5,6,35,40,41 +3,6,14,15,29 +6,14,51 +3,6,10,41 +3,4,5,6,12,20,31 +6,42 +4,6,14,44 +4,5,7,12,14,19,22 +6,16,44 +3,17,28,29 +4 +5,6,7,41 +3,23,47 +4,6 +3,5,6,10,13,17,21,25,31 +5 +6 +6,13,17,51 +6 +3,5,14,38 +14,22 +3,4,6,14,17,20,28 +6,7 +6,10,41 +3 +6 +6,10,14,31 +4,6,8,19,46 +14,15,32 +14,28,46 +6,29,35 +5,7,22 +6,18,19,30 +6,12,28,44 +4,5,7,24 +3,4,5,14 +6,48 +5,6,10 +5 +5,6,27 +47 +6,30,39,43 +3,6,8,20,32 +3,6,8,20 +6,14,28,36 +14 +6,15,20 +3 +3,6,13 +5,6,7,8,15 +4,6,50 +6,13,14,17 +5,6,7 +6,14,21 +4,6,14,37 +6,21,22,40 +2,5,49 +5,6,7,10,47 +14 +6,13,39 +5,6,17 +6,14 +4,6,32 +6,12,19 +7 +6,14,48 +0 +5,6,7 +6 +6 +5,6,44 +5,6,40 +5,6,20,22 +6,28,43 +20 +4,6,14 +5,21 +3,4,32 +5,26,30,33,38 +2,6,20 +2,5,6,17,36,37 +6,8,14,43 +6,12 +5,6,19 +5,7,17,21,30 +3,5,6,10,22 +5,6,37 +6 +14,15,16,21,23 +6,48 +5,6,14,30 +5,11,14,20,25,44 +6,9,14,37,51 +6,20,22 +6,14 +12,14 +6,7,9,14,15 +17,24 +6,13 +5,6,17,33 +0 +4,5,6,14,15,19 +5,50 +5,6,14 +14,16,23,39 +0 +4,5,6 +5,6,14,25 +6 +4,12,25 +4,5,6,7,17,22,25,38 +44 +2,4,5,6,7,37,41,42 +6,29 +6,8,14,17 +3,5,6,48 +6,17 +5,6,10,14 +4,6,17,41 +6,10,17,20,23,29,45,51 +6,8,27,42 +6,14,21,25 +14,20 +6 +6,15,32 +3,5,6,7,12,14,41 +4,6,30,40 +3,6,8 +6,10,13,16,17 +6 +2,6,14 +19,29 +6,45 +5,6,15,25 +2,4,5,6,14,22 +42 +5,6 +3,6 +4,5,7 +5,6 +3,5 +6,7 +4,22,42 +5,20 +5,6 +5,10,34 +5 +6,17,22,25 +6,14,16 +6 +6,47 +5,6,22,49 +5,6,17,18 +4,14,51 +5,6,22 +5,19 +0 +4,6 +6,7,14 +6,13,14,24,38 +6,17,20,22,25,48 +5,6,14,22 +6,22,26,32,49 +5,6,14 +6,12,13,23 +4,5 +6,46 +5,6,14 +6,7,19,21,25 +4,6 +14,25,50 +3,4,10,28 +5,6,14,15 +4,5,23 +5,6,9,23,44 +5,6 +0 +5,10,14,31 +11 +21,33 +6 +5,6,12,31 +5,12 +6,26,29 +5,6 +5,6,7,12,13,45,50 +6 +6,19 +6,22 +5,6 +5,6,28 +6,7,43,45 +26 +6,18,42 +6,14,22,31 +6,22,30 +3,44,48 +2,5,14 +4,6 +4,5,6 +4,6 +5,14 +4,21,51 +6,14 +5,25 +7,14,22,28 +6,10,14,15,25 +6 +4,5,14 +6,12,17 +5,17,18,41 +5,6,14,16 +5,20,41,45 +5,14,17,22,23,24,38 +5,22 +6 +3 +6,17,22 +4,6,32,36 +6,7,25 +7,10,26,33 +6,15,17 +5,6 +6,14,44 +10 +3,6,14,15,17,51 +3,6,20,33 +6,9 +14,16,21 +6,22,23,42 +6,10 +3,6,11 +3,5,7,34 +3,5,6,7,12,33 +6 +4,5,6,8,14 +4,6,28,36 +4,17 +6,25,47 +5,20,25 +3,6,7 +3,6,28,34 +6,13,14 +6,15,17,22,33,50 +5,6,25 +5,6,14,17,22,29 +6,7,20,22 +6 +4,5,10,14,17,41 +6,7,14 +12,40,46 +5,6,26 +5,6,21 +2,6,9,14,20,42 +6,15,44,51 +4,5,6,13 +6 +4,7 +5,6,7,17,22,36 +6,21 +3,5,6,20,30 +3,5,6,28,48 +4,6,12 +3,4,5,6,20 +3,6,10,17 +0 +2,6,23 +12,21 +4,6,9,14,19 +6,26,42 +6 +6 +5,19 +5,6,12,13 +6,22 +5,6,15,18,45 +6,17,35 +2,6,42 +3,6,7 +5 +5,20,26,42 +6 +5,6,7,36 +5,6,13,15,42 +3,6,14 +6,36,44 +5,6,17,20,22,40,41,48,50 +5,6,14 +6,28 +5,6,15,18,32 +14,21 +14,15,25 +6,41 +5,6,14 +6,7,45 +4,14,49 +6,18,25 +0 +6 +0 +5,6,17 +6,14 +6,14,23,44,48 +5,6,14,16 +5,6,7,13,31 +3,6,7 +5,6,7,14,30 +6,14 +16 +6 +2,6,17,47 +5,6 +5,6,14 +3,6,14,21,22 +12 +6,14,29 +6,19 +6,12,14,20 +6,46 +3,6,13,43 +6,7,13,29 +3,5,6,17,26,31,44 +4,5,6,13,14,17,20,22,24,47 +5,6,20,22 +5,6,37 +6,20,25 +5,6,28 +3,9,14,20,50 +5,6,23,40 +4,14 +3,5,6,7 +5,19 +3,6,14,24,42,51 +12,21 +6,7,20,50 +4,6,7,14,17,20,30 +6,12,28,36 +4,7,25 +5,6,14,33,36 +3,5,6,19 +4,6,25,34 +3,5,6,7 +5,6,17,20,21 +5,6,24,37 +6,41 +12,48 +6 +6,11,27 +3,35 +6,20,39 +3,4,6,41 +6,20 +6,37 +4,6,26,41 +5,6,14 +4,15 +3,7,35,48 +5,6,17,18,44 +6,7,25 +5,6,47 +6,16 +5,6,8,22,37 +3,6,28,34 +12 +4,6 +4,6,14,46 +3,6,18,22,28 +6,7 +4,5,6,14,17,34,45 +4,14 +3,42 +6,14,39 +5,6,7,18 +4,5,6,17,25 +6,7,15 +3,5,6,22,25 +6,10,14,26 +8 +3,6,31 +6,9,10,38,43 +6,14 +5,17,37 +3,6,7,14 +6,22,23 +4,5,6,11,13,17,23,40 +14,29,43 +2,10,20 +0 +5,6,22 +3,9,17,36,51 +5,6,22 +5,6,14,24,43 +5,6,41 +7,14,25,32,48 +2,6,29,35 +4,6 +5,6,19,25,28 +4,6,45 +0 +3,29,51 +4,6,13,31 +6,20 +5,7,14 +6,25 +5,14,21,28 +5,6,44 +3 +5,20 +3,5,6,14 +3,6,13,22 +6,14,17 +6,25 +6,14 +6,42 +2,4,6 +5,6,38 +4,14,46,47 +6,27 +6,11,43 +29,42 +5,6,7 +6,14 +4,5,6,14,17 +10 +5,6,10,13 +6,35,46 +3,6 +14,20,21,23,31,42 +3,6,22,51 +4,5,6,19 +4,5,14,17,32 +6,18,24 +4,6,8,17,29,46,51 +6,43 +4,6,21,22 +6,11,12,20 +3,14 +4,6,16,29,36,47 +5,6 +2,6 +4,6,14,27,43 +27,37 +6,11,13,14 +7 +6,14,20,22 +5,6,14 +5,6,12,18,28 +2,3,6,17,18,20,21,29,49 +29 +3,6,9,14,15 +3,6 +5,12,18,25 +7,27 +8,20,21 +6,7,50 +3,4,6,22 +6 +5,6,17,25 +5,6 +0 +6,12,40 +7,21,22,39 +6,28,37 +4,6,7,14,17,47 +6,25,38 +3,5,6,25 +4,6,14,16,21,48 +4,6,14,36 +6,7,11,36 +6,13,46 +5,6 +5,6,8,17,40 +4,48 +6,14,19 +5,6,19,33,41,44 +6,51 +6,16,31 +6 +12,14,23 +5 +5,6,22,30 +0 +2,14,20 +5,6,29 +6,12,15,17,21,43 +3,5,42,49 +6,14,17,36 +6,8 +5,6,14,20 +5,6,35,42,47 +2,5,6,7,37,42,44 +6,22 +5,7 +3,5,6,7 +4,6,22 +6,12,14 +2,42 +29 +3,6,13 +6,7,12,22,23 +2,6 +5,17 +2,5,6,19,29 +6,22 +4,6,8,12,14,23 +0 +5,6,21,43 +4,5,6,20,26 +6 +6,7,14,20,25,37 +4,22 +3,4,35,43 +7,19 +2,6 +4,5,6,21,46 +3,17,20,23,42 +6,18 +4,14,17,21,39,50 +4,6,8 +4,5 +6,9,20,36 +4,6,46 +6,10,18 +5 +4,5,6,11,16,21 +4,5,6,44 +4,6,19,22 +29 +3 +12,23 +5,6,14 +12,31 +3,4,6 +4,5,6,28 +5,6,15,18,25,43,45 +2,6,17,19,30 +31,37 +4,6,25,48 +6,41 +7,14 +6,21 +5,6,17,26 +5,6,28,30 +3,5,6,40,42 +4,11 +3,6 +5,6,12,13,29,37,48,49 +4,5,15,43 +6,14,17,22 +2,4 +5,14,30 +5,6,26,33,46 +6,10,35 +6,23,25,36 +6,46 +5 +4,6,19,50 +14,27 +5,6,14,38 +5,6 +8,23 +5,6,7,14,16,17 +6,28,43 +6,20,30 +6,14,51 +6 +6,10,16 +6,17,25,28 +2,5 +4,5,6 +5,6,20 +0 +4,6,12,33 +3,5,6,8,22 +16,20 +6,22,46 +6 +12,14,21,31,49 +6 +6 +4,6,23 +6,24 +6,13 +19,28 +4,6,17,21,22 +6,17,44,46 +5,6,27 +4,6 +3,6,24 +27,28 +3,6,14 +5 +5,6 +6 +6,20 +6,48 +16,28 +6,8 +5,6,14,34 +2,3,4,5,12 +4,5,6,13 +2,6,17 +3,6,21,25,27 +6,9,22 +5,17 +0 +2,48 +3,22,34 +14,45 +5,6,31 +4,6,32 +5,11,20,44,45,46 +5,6 +2,4,5,6,14,44 +4,14,15,49 +2,4,5,6,7,14,47 +5,6,8,11,30 +5,6,14,21,30 +3,5,6,7,13,14,26,42,46 +5,6,26,50 +5 +3,5,6,14 +6 +3,6,14,21 +6,7 +3,4,6,12,27 +18,21,25 +6,7,23,41 +4,27 +5,6,14,16,25 +4,6 +3,6,7,12,22 +0 +13,22,49 +5,7 +3,6 +6,14 +4,6,40,41 +4,6,21,29 +5,6,22 +4 +6,13,20 +2,4,6,7,24,36 +3,4,5,7,27,42 +5,6,7,11,21 +5,6,18 +6 +3,4,6,33,34,42 +5,6,21,26 +5,6,20 +32 +6,13 +5,24 +6,8,14 +0 +6,7,14,40 +49 +3,5,10,17,18 +3,5,6,14,25 +6,12,22,25 +14 +5,6,22 +2,6,17 +5,6,40,43 +3,6,35,45 +3,6,17 +2,6 +6,30 +44 +3,5 +4,5,6,8,20,41 +5,6,14,45 +7,9,42 +6,7,11,26 +6,14 +7,23 +4,18,38 +6,12,44 +5,6,13,17,44,48 +2,4,6 +21 +6,16 +2,6 +3,5,14 +2,42 +7,25,26 +4,5,14,49 +6,22,45,49 +5,6,7,30 +4,6,12,14 +6,7,43 +5,6,8,48 +3,5,6,14 +4,41 +6 +6,44,50 +6 +3,6,13 +6,20 +4,5,6,11,21,29 +3,5,6,28 +0 +3,25 +5,6,18 +5,11,14,25 +5,6,28 +6,7,24,41 +40 +12 +6 +5,6,14,21,36 +3,5,20,39 +3,6,7,19,41 +4,6,14 +5,6,12 +3,6,14,22,25,30,41 +3,4,22 +6 +4,5,6,7,11,19,38 +6,14,23 +6,27 +2,6,13,20,49 +6,36,40 +5,6,38 +25 +6,12,13,25,51 +6,14,17 +5 +6,7,25 +6,7,14 +0 +5,15 +5,20,27,36,46 +5,6,7,15,27,46 +5,6 +15 +6,7,14,33,41 +4,12,17,19,50 +20 +5,10,43 +5,6,12,14,43 +6,14,37 +4,6 +4,6 +5,6,22,26,29 +2,5,6,14,15,42 +3,6,7 +5,6,28 +4,6,22 +5,25 +6,20,29,49 +5,6,14,17 +6,12 +10,16,20,39 +5,6,14,29,48 +6,14 +5,6,7,21 +6 +4,5,6,21,22,23,25 +14,20 +3,6,36,39 +5,6,35 +2 +5,6,14 +12,17 +5,12 +3,19 +4,6,24,38 +6,7,17 +6,46,51 +5,6 +3,28 +14 +6,14,17,21,25,42 +5,6,8,14,42,49 +5,6,42 +6,20,25 +34 +0 +3,6,18,22 +13 +6,20,28 +5,6,26,33,48 +6 +5,6,36 +6 +4,7,34 +3,6,21,32 +5,6,14,33 +7,10,14,22,42 +23,43 +5,43 +6,49 +6,12 +12,14 +6 +7,26,32,34 +12 +2,6,14,22,27,30,38 +6,7,14,41 +5,6,9,18,36 +6,14 +2,7,21,43 +6 +6,22,26 +3,21,27 +6,27,28 +4,5,30 +5,6,19 +6,13,14,19,37,44 +4,5,6,20,33 +3,5,6,12,14 +6,17,20,45 +6,16 +3,6,17,45,46 +5,6,10,13,17 +5,6,12,43 +3,6,8 +3,6,17,33,37 +5,28,42 +4,5,6,20,30 +14,20,42 +6,11,12,26 +4,6,37 +4,5,6,25,39,41 +6 +14,30 +4,5,6,14 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +6,22,38 +6,13 +6,37,38 +6,16 +2,5,6,20,21,38 +6,37,39 +6,14,25 +2,6,7,31 +3,5,6,12,13,14,25,40 +6,20 +2,5,6 +6,21,41 +6,11,41 +5,6,14 +4,6,7,19 +6,9 +5,10,23,29 +5,6,45 +14 +4,6,30 +3,4,5,6,21 +25 +6,14,17 +6,12,35 +12,42 +5,6,15,46 +5,6,17,46,50 +44 +6,17,22,45 +3,5,24 +7,14,19,39 +4,5,6,14,17 +4,6,17 +2,26 +5,6,10,14 +5,14,20 +2,6,50 +2,3,5,6,14,25 +4,28 +6,13,24 +0 +5,6,47 +25,30,31 +3,14,19 +12,14,37 +2,6,7 +6,7,22 +6,7,24,46 +9,30,38,49 +2,5,6 +4,11,13,20,24,25 +6,10,14,16,17,26 +5,6,12,17,18,22,29,44 +5,6,43 +6,12 +3,6,45 +6 +3,5,6,12 +4,5,6,17,24,48 +5,6,13,14,20 +6,15,22 +6,20 +4,6,23 +3,6,7,22 +5,10,17,22,51 +3,6,7,41 +4,5,6,26,44 +4,14,18,21 +4,6,7,14 +6 +4,5,6 +3,5,6 +5,6,10,14 +3,6,14,21,36 +3,6,47 +7,20 +2,6,7,11 +5,6,7 +4,5,6 +5,7 +3,6 +2,6,41 +25 +38,51 +5,6,7,14,22,48 +4,6,16,20,38,39 +6,18,47 +5,17,38 +2 +6,17 +12,49 +2,6,22,29 +4,6,13,20 +4,7,20,41,50 +5,6,50 +2,26 +6 +12,21,22,32 +3,12,13,14,17 +6,23,36,41,51 +4,5,6,14,20,22 +5,6,10,17,19 +5,6 +4,12,14,16,29 +3,4,5,6,13,14,20,28 +2,4,5,6,14,51 +5,6,12,14,26,29,42 +5,6,7,17 +5,6,22,25,33 +3 +4,6,17 +10 +3,5,6 +6,29,38,40 +21,28,32,46 +4,6,7,15,16 +2,6 +4,5 +6 +6,12,14,17 +2,6,10,33 +6,38 +5,6,22 +5,17 +5,6,18 +2,4,6,42 +5,6,14,16,22,24 +5,7,14,15,25,33 +50 +2,7,16,30,34 +6,22,41 +0 +22,29,46 +6 +6,7,14,26,29 +6,14,17 +5,6,48 +0 +5,17 +14 +3,9,14,27 +6,9,17 +2,3,4,5,6,20 +0 +25,28 +5,6,8,10 +6,7,30,31,44 +30,48 +2,3,5,14 +5,6 +4,5,6,28,30 +4,5,6,7,21 +3,6,20 +6 +12,38 +6,16,17,25,26,32 +3,4,6,14,18,33,43 +2,4,6 +5,14,25 +6 +21,23,25 +6,29,35 +5,6,14,25,34,45,46 +3,6,12,13,14,22 +6 +6,17,40 +5,32 +2,6,7,14,29 +3,5,6,20 +4 +5,6,14,15,25,34 +3,33 +6,33 +4,14,22,25,32,42 +2,14,17 +4,12,14,27 +2,4,6 +0 +14,15,19,21,22,34 +6,13 +11 +5,6,22 +6,14,25 +5,6,7,13,14,30 +3,4,5,6 +3,4,5,6,7,17,39 +8,32,46 +4,5,6,7,43 +3 +4,6,26,34 +6 +3,6,25 +22 +3,5,6,13,22 +6,13,14 +4,7,25 +6,8,14,46 +4,6,49 +5 +44 +5,6,10,43 +3,5,6,12 +5,33 +6,25 +5,6,39 +6,20,29 +5,6,9,14,22,39 +4,6,43 +6,20 +48 +6,42 +3,4,6,12,26 +2,5,6,7,14,17,23 +6,13,18,24,38 +5,6,11 +5,6 +4,6,35 +6,18 +12,22,30,44 +5,6,7,28 +5,6,29 +21 +4,6,12,31 +6 +4,6,14,18 +3,5,6,10,25,28 +4,5,6,7 +0 +0 +6,14,17,25,31 +7,13 +6,14 +5,6,14 +6,14 +2,6,7 +2,4,5,28 +0 +5,6,15,46 +5,6 +5,6,7,18,20,25,41 +4,6,17,22,46 +4,6,14,50 +5,6,30,34 +14 +4,6,14,34,42 +4,7,14 +5,6 +5,11 +7,29 +4,7,14,17 +2,4,13,21 +4,6,25 +5,13 +5,6,7,11,14,28 +3,6,14 +5,6 +3,6 +17 +6,17,29,30,33,39 +5,6,9,20,25 +6,27 +4,5,37 +3,4,5,6,10,30 +6 +6,41,42 +5,6,22,42 +6,7,30,31,43 +4,6,7,13,15,17,51 +4,5,6,45 +28 +6,17,45 +2,3,9,17,41 +6,7,17,19 +6,20,35 +5,12 +2,3,5,14,17,22,41 +37 +3,6,13,17,37 +6,19 +6,27 +4,14,23 +5 +6,10,14,21 +28,50 +3,6,10,14 +3,4,5,6,25 +3,17,22,50 +2,6,14,48 +5,6,7,20,22 +5,6,16,38 +6,14 +17,34,42 +8,13 +5,18,23 +6,13,14 +5,18,22,25 +2,4,6 +3,6,7,19,36 +2,3,5,6,13,14,22 +6,7,13 +6,20,43 +6,17,29 +3,6,25 +3,6,20 +3,6,14,24 +4,6,20,49 +17,22 +5,6,14,48 +4,5,6,20,28 +5,6,10,13,14 +22 +6 +5,6,7,48 +6,7 +3,5,6,21,24,32,44 +3 +5,6,7,14 +3,6,20,41 +5,6,40 +6,14,16,23,47 +3,5,6,18 +4,6,14,19 +14,21,26,28 +5 +7 +6,7,43 +6,14,34 +5,6,7,17,28 +4,14,20 +3,6,14,16,44 +3,19 +5,6,7 +4,6,34 +6,14,25 +3,8,19 +5,6,21,23,48 +5,14 +3,6,17,22 +4,5,20 +6,8,31 +6,7,30 +6,12,44 +6,22 +6 +12,17,28,39 +5,6,9,14,30,50 +5,6,14 +2,5,6,29 +5,23 +5,26,29 +6,7,8,30 +6,7,14,21 +5,6,14 +0 +6,17 +6,13,14,42 +4,6,25,33 +7,19 +4,5,42 +5,6,16,17,39 +4,5,6 +5 +2,3,4,5,6,14 +5,6,7,50 +2,6 +2,6,18,21,40 +4,14 +3,4,5,6,22 +6,13 +4,6,33,46 +4,6,10,12,17 +5,6,20,49 +3 +5,6,21 +3,5,6,7,11,14,19,20 +6,14,17,25,51 +5,37 +5 +6,12,23 +5,6 +6,8,43 +4,6 +4,11,40 +5,6,32 +4,6 +2,6,14,41 +5,13,18,21 +22 +6,14 +6,18 +6,13,14 +5 +4,5,6,14,18,22 +3,5,6,22,33 +6,13,14,15,17 +5 +21 +5,6 +6,42 +5,6,13,14,46 +6 +5,6,17,50 +6,14 +5,6,13,14 +5,6,14,28,34 +3,6,8,20 +6 +8,14 +6,10,14,36 +6 +4,36 +6,8,21,28,45 +4,6,17 +6,40 +2,6 +6,7,28,45 +14,51 +4,5,6,14,15,23 +4,6,20,23,36,38 +6,21,25,40,49 +4,7,31 +2,3,5,14,28,34,49 +5,6,17 +2,3,4,6,17,20,22 +6 +6,7,30,42 +5,17 +6,14,22 +6,15 +4,6,11,25 +5,6 +6,14 +14,15 +6,17 +5,6 +4,5,6 +2,5,6,12,33 +6 +6,39 +6,25 +4,20,26 +25,36 +6 +5,6,9,14,20,22 +5,6,14,20,28,51 +4,15,42 +5,6,21 +5,6,25 +5,17 +5,17,48 +6 +6 +5,6,13,16,43,44 +2,6,20,31,39 +0 +6 +5,6 +6 +4,6,14,20,39,45,46 +4,6,14,17,26,41,43 +0 +3,6,21 +6,20 +6,7,22,32,49 +0 +7,25 +5,7,22,23,32,35 +4,5,6 +5,6,11 +13,16,38,42 +35 +5,6,51 +6,47 +5,6,42 +12,20,22 +4,6,20,51 +2,4,6,7 +5,6,14,27 +3,12,14 +6,32,34,41 +14,17,46 +2,17,23,41 +5,6,10 +6,12,14,20 +6,7,9 +5,6,14,15,20 +6,14,30 +0 +6,16 +29,40 +14,20 +6,7,10,36,39,49 +6 +6 +6 +4,6,17 +4,6,14,27,30 +6 +6,7,14,21 +5,14 +5,12 +6,7,12,20 +5,31 +6,14 +5,6,11,14,17 +17,50 +6,14 +2,5,6,7,18,19 +17,22 +6,8,26 +5 +22 +4,5,6,13,25 +5,6,25 +3,28 +22 +28,50 +6,18,22,27 +0 +6,12,25 +6,20 +12,25 +6,10,20 +4,6,7,12 +6,15 +6 +4,6,20 +4,5,13,20,46 +6 +10 +6 +3,6,13,14,48 +3,6,7,13,51 +2 +6 +11,14,16,19 +5,12,17,18,33 +6,8,25 +2,5,18,23,30,44 +3,4,5,6 +5,6,8 +4,6 +6,25 +5,6,10 +4,5,6,14,21,23,25 +6,10,11,25,31 +2,4,9,23 +14 +6,17,47 +4,6,14,49 +3,5,6,37 +6,29 +3,6,30 +3,15,29 +5,6,10,14,42 +14,33,39 +2,5,17,25 +3,6,14,17,20,25,37,38 +2,6,13 +3,6,14,34 +6,11,16,22 +6,14,16,22,24 +3,4,6,16,21,28 +5,6,17,20 +5,6,15,20,34 +3,6,23,26 +3,6,19,30 +2,5,14,19,22 +3,5,34,50 +5,44 +5,6,7 +5,6,36 +3,5,6 +4,20,21 +6,11,22,35 +46,49 +4,14,29 +7 +5,14,15,17 +14,17,19,49 +3,6,24 +2,5,14,44 +6,37 +4,6,8 +3,14,30 +6,15,22 +6,39 +3,5,6,12,20,28,32 +4,5,6,8,17,25,50 +3,5,6,14,26,46 +4,6,33,46 +3,6,9 +5,6,14,17 +5,6,18,39 +4,6,14 +6 +6,20 +4 +2,3,6,17,20 +4,6,24,25,41 +13,22,50 +3,5,6 +6,25 +4,14,41 +2,7,25,40 +20,26 +4,6,11,26 +6,7,14,15 +3,6 +18,25 +4,13 +5,6,17 +3,4,6,9,49,51 +4,5 +6,13,14,17,25 +4,6,16,23 +6,14,28 +2,6,14,38 +5,6,14,17 +5,6,7,14,17 +5,6,28 +6 +5,6,7 +6 +15,22,36,43 +6,13,43 +5,6,33 +13,22,45 +6,7,14,40,41 +3,4,28 +3,4 +5,6,7,14,15,26 +20,48 +5,6,14 +5,14 +4,5,6,10,28 +6,18,21,27,37 +4,6,28 +6,14,29 +6,17 +4,6,46 +6,7,14,20,22,26,48 +6,26,29 +7,10,23,25,28,48 +21 +4,6,13 +6,32,41 +5,6 +4,6,21 +8,13,15,16,23 +6 +3,41,43 +6,12,14,31,33 +5,6,7,14,22,23,25 +6,18,19,49 +3,5,6,17,21,22 +6 +4,6 +7,12,44 +5,6,22 +4,5,6 +4,6,16,50 +3,5,6 +6 +2,13,14,19 +5,25,29,35,36 +5,6,7,22 +6,14,42 +5 +6,28 +5,7,21,32 +22,38 +4,6 +5,6,7,14,16 +5 +5,16,22 +2,4,6 +4,7,43 +12,16,34,38 +2,5,7,14,50 +6,12,14 +6,25 +15,18,20 +3,6,15,20,44,51 +4,6 +6,28 +5,12,14,43 +4,6,42 +3,16 +5,19,26 +17,22 +7,20,40 +6 +3,5,6,14,23 +3,6 +6 +6,34,37 +3,4,6 +0 +3,5,6,22,44 +5,12,14 +4,6,12,22 +7,9,28 +5,6,20,49,50 +5,6,14 +6 +12,36 +2,13,21,42 +5,6,18 +6,7 +6,13,14,30,37 +5,6,13,17,37 +3,5,6,30,50 +5,13,25 +2,5 +5,6,25 +3,17,40 +6,21 +14 +6,7 +5,6,12,44 +5,6,19,39 +3,5,6 +5,20,41 +14,22,47 +2,4,40,45 +3,6 +3,6,18 +5,6,51 +5,6,8,14,21,25 +5,25,31 +4,6,14,17,27,40 +2,5,6 +4 +5,6,10,25,33 +6,7 +3,6,14 +3,14 +4,6,13 +21 +3,9,37 +6,17,37,42,51 +3,5,6,21,34 +5,6,28,47 +5,6,14 +6,28,34 +6 +3,4,14,29,42 +6,7 +5,21 +4,6,11,21 +5,6,12,14,25,37 +6,7,21 +8,12,23,25 +4,5,6,20,21,22 +6,22 +5,6,23 +3,6,21 +6,7,25,29 +3,6,41 +4,6,23,43 +3,6,16 +3,6,9,17,39 +6,21 +3,6,14,25,26,36,48 +6,12,14,16 +4,5,6,14,31,42 +6,13,46 +5,7,14,27 +6,14,21,27 +3,6,7,14,22,49 +3,4,6,43 +5,14,41,49 +16 +15 +6,14 +3,5,6,14,40 +5,30 +6,12,14 +5 +6,7 +6,14,20 +5,6,19,45 +2,4,5 +9,17 +6,16 +4,22 +6,34 +6,12 +5,6,7,17,40 +5,42,50 +6,20,39 +5,6 +2,4,6,10,14,36,46 +6,14,44 +6 +6,7,18,25 +5,6,15,17,22,46 +6,17 +4,5,6,13,22,30 +6,26,38,47 +4,5,6 +4,6 +2,3,5,6,28 +6,18,20,36 +5 +3,35 +6,10 +6,14,22 +6,46 +6,13,25 +12 +5,14 +4,5,6,40,45 +6,22,26 +6,31 +6 +4,6,14 +6,14,17,28 +6,14,15,25,29 +6 +6,14,17 +3,6,25 +3,6 +0 +5,6,15,17,45 +5,6 +10,21,38 +3,5,21,27,29 +3,6 +3,5,25,35,44 +14 +3,5 +6,12,14,16,17 +6,7,14,17,20,40 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +5,13 +7 +5,7,26 +2,4,5,17,25 +5,28 +20,46 +5,14,21 +5,6,9,51 +5,6,16 +5,6,14 +5,6,17,18,47 +4,6,24,25 +4,5,6,7,14,17 +3,6 +5,6,18,37,50 +6 +3,5,6,13,20 +6,9,17,21 +3,6,7,13 +6,16,18 +4,6 +4,6,18,38,42 +2,5,29 +5,14 +6 +4,7,12 +4,5,6,11,14 +19,31 +6,41 +5,14,33 +2,5,6,11 +3,6 +6,46 +4,6,14,21 +4,6,10,22,24 +6 +5,6,16 +42 +6,20,43 +7,14,16,22 +3,5,6,12,14,20 +6,28 +3,16,17,24 +6,14,17,20,42,50 +5,6,13 +4,6,25,37 +6,12,13,22 +6,12,14,22 +3,14 +6,36 +5,6,16 +3,5,6,13,20,38 +3,23 +0 +5,6,13,14 +3,6,35 +6,7,22 +4,6,25 +14,18 +6,7 +19 +3,22 +3,6,18,20,28,33 +6,14 +6,38 +3,33 +6,17,20 +3,5,14,42 +5,6 +5,28 +5,6,41 +6,7,17,21 +4,5,6,46 +5,6,14,15,25,30 +2,6,20,30 +6,14,17,19 +5,6,14,22,38 +3,6,22 +3,5,6,42 +3,5,6,25 +4,6,18,29,46 +4,34,36 +3,25 +5,6,10,34 +5,6,13,28 +5,6,9,26 +5,6,10,13,39 +21 +3,6,7 +6 +2,5,6,21,22 +12,33 +3,4,5,6,28,34,42 +5,6,14 +14,21,25 +3,7,8,13 +5,6,13,48 +6,50 +4,5,6 +3,5,6,7,17,25 +6,8,14,17 +3,4,20,25 +6,10,14 +6 +6,46 +4,6,29,32,34 +6,8,37 +3,6,14,23 +14,22,43 +6,19,21,25 +3,6,28 +6,45 +5,14,17 +3,6 +5,11,23,43 +4,6,11,20 +3,5,17,20 +26 +6,14 +5,6 +5,6,17,41 +5,6,14,17,49 +6,12 +5,14,27,32 +6,42 +5,6,14,19,26 +14 +3,5,6,14,17 +6,14,42 +2,25 +6,22 +6 +6,7,25 +6,9,39 +3,5,22,41 +6,22 +5,30,48 +7,30 +2,6,12,17 +2,6,48 +25 +5,6,14,27 +5,6,14,17,18,22 +7,13,22,35 +2,6,17,46 +49 +5,46 +5,6,18 +3,4,6,13,14,43 +5,6,18 +22 +6,11,14 +5,51 +5,6,49 +4,43 +14,16,26 +6,14,16 +6,7,14,20,25 +21,25 +3,5,14 +0 +3,4,6,10,28 +4,14,51 +6,16,48 +6,20 +2,5,6 +4,5,6,40 +16 +6,7,9,16 +3,39 +5 +6,21 +6,40 +5,6,10,46 +2,3,5,6,13 +3,17 +5,20 +3,5,6 +6,17 +4,42 +5,15 +6,8,50 +6,14 +4,5,6 +6,7 +3,5,6 +6,25,29,30 +6,27,37 +6,7,10,14,20,28 +5,12,43 +6,7,14,17 +3,5,6,14 +2,26 +3,5,6,17,29,50 +4,6,18,22,34 +6,12,14,19,34 +4,6,10,23 +6,19,22,25,49 +6,36 +5,12,14 +3,5,14,25 +4,5,17,22 +4,5,6,14,22 +6,8,12,21,45 +22 +6 +2,6,17,48 +6,7,11 +18 +5,6,33 +4,5,6,7,15,46,48 +5,20 +5,6,12,29 +4,5 +4,6,14,48 +6,7,17 +4,5,7,20,49 +6,7,11,39 +6,14 +3,4,5,6,7,15 +5,6,7 +5,6,14,35,40 +5,6,13 +0 +5,6,14,18,32 +5,6,46 +3,6,7,14,16 +5,6,13 +5,6,14 +3,5,6,17 +6,7,25,43,46,49 +5 +10,12 +5,6 +6,37,46,48 +3,7,50 +4,5,6 +5,6,7 +5,6,18 +4,6,20 +6 +5,6,14 +4,14,25 +6,7,14,20 +6,35 +5,13,20 +4,17 +6,7,25,36 +3,4,5,6,33 +5,17,21,43 +6,14,21 +14,21,41 +3,6,15,29,33 +40,47 +5,6 +4,6,7,18,26,33 +3,4 +6,38 +6,15 +3 +4,6,7,35 +14,17 +4,6,20 +6,14,21 +2,6,17,24,50 +4,5,8,16 +6,18,21 +6,14,21 +6,13,14,19,24,47 +6,11,20,43,49 +5,6,10,16 +5,13,15,49 +2,3,7,15,28,30,47 +4,25 +8,21 +2,6,14,22 +6 +4,5,6 +5,37,45,46 +0 +4,5,6,8,15,45 +5,6,13,46 +22,39,44 +5 +3,6,14,20 +5 +6,14,15,25,29 +5 +6,7,22 +6 +5,6,10,17,31 +6 +0 +5,7,17 +6,32,42,46,49 +0 +5,6 +2,5,6 +17 +2,5,6,16,17,44 +6,14,16,21,47 +5,6,46 +6,14 +4,6 +3,6,14,20,22 +2,6,17,21 +6 +4,6,14,42 +3,6,18 +4,5,6 +6,22,27,28 +6,32 +6,14,24,38 +2,5,19,39 +17 +6,14,19,31 +5,43 +14,20,40 +6,23,28 +6,21,36,46 +4,6,28,37 +2,3,5,6,12,20 +4,6,40,46 +0 +6,9,11,17,28 +2,6,15,25 +3,4,7,17,18,25 +2,5,6,27,51 +5,6,11,15,33 +2,7,8 +5,6,17,23 +6,13,32 +4,29 +6,20 +5,6,12,28 +2,5,6,14,22 +4,5,6 +3,6,14,18,43,51 +5,6,20,39 +3,4,6,7,25 +3,5,6 +3,5,6,19,30 +5,6,7,11 +6 +6,7,14 +14,22,28 +24,49 +14 +6 +5,6,15 +6,7,25 +6,14,22,44 +5,14,30 +6,12 +5,6,14,17,22 +5,6,20,36 +0 +6,13,27 +5,6,10,12,13,17 +5,6,14,50 +13,14 +4,6,17 +5,6 +7,19,20,25,28 +2,4,18,27 +12,14,36,49 +6,14 +6,14,21,32 +5,6 +4,5,16,32,40 +5,6,21,40 +16 +5,6,10 +49,50 +5,6 +5,9,14,46 +3,6,7 +6,16,19,26 +4,5,14 +4,6 +5,14 +14,17 +3,6,13,20 +5,6,26 +4,5,6 +5,6,14 +4,6,17,43 +6,12,28 +3,14,48 +5,6,14,17,47 +3,5,6,25,49 +6,19,41 +6,7 +4,6,14 +5,17,27,28 +6,7 +5,7,22,35 +3,6,10 +4 +14 +6,13,18 +41 +6 +5,6,14,22,25,28 +6,7,26,34 +5,14 +6,34 +5,6 +2,6,14,26,38 +6,7,13 +6,17,28 +13,17 +0 +5,25,28,40 +4,6,10,44 +5,6 +4,6,7,8,41 +4,11,49 +6,7,13,22,30 +6,8 +4,5,6 +6 +5,6,14,50 +5,22,29 +4,5,33,37 +6,44 +6,22,28,30 +7,16,27 +4,5,14,17 +2,5,6,16 +5,6,7,14 +4,6,17 +5,6 +2,25 +5,20,25 +6,14,19 +3,6 +5,6,7,13 +5,49 +3,6,21,36 +4,5,6,20,28 +6,9,27 +19,45 +3,6,17 +6 +5,6,22,33,45 +6,19 +3,6,15 +2,3,6 +5,12,14,17,20 +5,6,7,22,42 +5,6,7,28,48 +6,29 +2,6,7,38 +5,6,18,26,46 +6 +6 +6,17,34 +6,7,17 +22,25,32,36 +3,6 +36 +5,6,41,47 +6,14,22,23,27,30 +5,6,14,21,22 +20,23 +0 +6,14,15 +5 +5,6,16,20 +5,14,17,40,42 +6,14,23,27,37 +5,6 +2,5,6 +2,5,6,12 +6,16 +6,17,22,29 +6,14,22,29,37 +6,25 +5,6,47 +4,5,6 +6,19,23,49 +6,8,14,17,20 +4,5,6,25 +3,6,14,42,46 +3,5,6,29,50 +5 +6,14,25 +5,6,18,23,28,38 +6,14,49 +4,6 +5,7,19,22 +3,17,28 +6,21 +2,6,17,27 +3,7,21,25,46 +6,7 +6,49 +6 +6,22 +4,6,14,35 +5,6,14,20,21,46 +6,7 +6 +6,24 +4,5,6 +6,14,15,30 +6,10,22 +2,4,6 +5,6,7,14,15 +6,19,22 +14 +6 +5,6 +5,32,45 +6,14,43 +6,46 +4,5,6,11,17 +6,14,16,21,35 +7,8,13,19 +6,20 +6,20 +6,23 +6,13 +0 +4,6,14 +3,5,12,20 +6,26 +6,28 +2,6 +5 +6 +6,7,44 +6,49 +11,12,20 +6,15,25,39 +4,5 +5,6,25 +6,10 +3,6,8,21 +4,5,6,7 +4,5 +6,16,22,41 +3,6,7,38 +4,5,6,28 +6,20 +51 +4,5,6,7 +24 +5,6,20,25,37 +3,4,6,27,45 +28 +5,12 +6,29 +4,6,9 +6,12,22 +6,7 +5,6,15 +6,13,29 +32 +3,5,6,20 +2,4,5,6,34,42 +6,23 +5,6,15 +5,6,14 +3,11 +4,6,28 +14,21,32 +5,6,30,48 +6,14 +6,12,14 +6 +5,6,14,35,40 +2 +3,6,20 +6,12,14,20,24 +4,6 +6,14,15 +6,7,9,14,36,42 +3,6,7,14 +14,30 +6,42 +5 +6,11,14,17,20,23,35 +3 +7,20 +6,18,27 +5,6 +15,32 +2,3,4,6,15 +3,5,6,14,22,33 +4,6,14,17,20,22,29,40 +5,6,14,45 +6,40 +6,12,27,34 +5,6,14,16 +4,7,22,27 +6,30 +6 +9,14,21,23,29,33 +6,12,17,25 +6 +13 +13,14,25,38 +6,11,22,23,42 +6,25 +5,6,14,16 +6 +0 +6,11,25 +6,7,48 +3,33,43 +6,20 +5,6,7 +6,7 +3,5,6,14 +4,6,28 +3,11 +17,25,35 +6,38 +3,6,17,22 +3,6,14,22 +2,6,19 +3,4,6,14,17,22,41 +3,5,6,8 +6,15 +5,6,23 +20 +3,6,8,15,25 +5,14,44 +23,30 +4,5,6,25,27 +5,6,14,38 +3 +3,6,7,14 +3,7,14 +2,6,7,14 +6,13,41 +5,6,7,9,44 +4,14,20 +6 +0 +4,6,20,22 +5,6,14,17 +14 +5,6,23,24,46 +5,22 +6,14,17,28 +2,6 +5,6,28,34 +6,10,12 +17,22 +6,14,15,22 +5,22,27 +3,5,6,7,21,22 +5,6,10,22 +5,6,48 +5 +6,23,38,42 +7,14 +5,6 +3,5,30 +5,6 +5,6,14,49 +2,5,6,14 +5,6,14,47 +6,17 +16,49 +2,6,14 +4,6,7,14,15,16 +5,6 +4,5,6,14,17,25 +6,13,14,17 +5,6,14,16,28 +5,6 +3,6,46,49 +4,5 +14,22 +4,6,14 +3,6,17 +6,28 +6,14,17 +5,12 +3,5,6,14 +13 +14,22,41 +5,13 +5,6,27 +6,12,17,46 +12,14,19,27,29 +5,8,41 +3,6,35,41 +3,13,14,17 +2,5,6,12,14,25,37,38 +6,17 +4,6 +5,6,18,28 +2,5 +6 +25 +3,42 +5,7,14,21 +4,6,17 +6,14,18,34 +3,5,6,16,18,46 +3,6,23,25 +4,5,6,12,17,26,37 +2,4,5,6 +4,6 +7,14 +6,14 +2,14,28,45 +6 +7,12,15,19 +2 +6,33 +5,6,14 +3,6,30,48 +6 +4,6,17,23 +5,6,9,10 +5,6,8,14 +6 +3,21 +3,6,17,25 +5,6 +6,12,24,25,26,30 +3,4,19,20,25,33 +5,8,17 +14,15,43 +6,14,17,25 +5,6,14 +3,6,23,28,33 +6,11,38 +6,14,16 +4,6,42 +6,24,35 +14,20,28 +14,17 +15 +4,6,7 +4,5,13,25,50 +5,12,14 +8,17 +4,5,6,13,14 +4,5,6,49 +10,21,30 +6,14 +6 +0 +7,13,32 +6 +4,6,17 +6,14,24 +5,6,7,13,14,51 +3,6,29,42 +5,17,22 +5,6,7,43 +6 +6 +6,12,13,14,51 +3,4,5,6,17 +6,14,48 +3,6,14,42 +5,18 +4,5,7,21,22,33 +6 +6,17,28 +0 +6,21,44 +6 +4,5,8,14,16,24 +6,14 +6,17,35 +14,28 +2,6 +4,6,13,25,30,39,46 +5,17 +6,11 +2,6,11,14 +6,28 +13 +6,14 +4,5,6,20,25,33,47 +4,6,11,32 +5,33,45 +14,17,18,49 +5,6,12,14,19,49 +0 +3,12 +6 +3,6,14 +6,7,10,22 +4,6 +6,7,14,25 +3,6,40,50 +4,6 +4,14,20 +5,6 +6,14 +4,5,6,14,51 +6,46 +4,6 +6,10,28 +6,19,25,44 +4,5 +3,6,18,21,49 +2,5,6 +14,27,47 +4,5,6,14,20,27,42 +6,21 +5,6,14 +5,20 +5,6,10 +6,10 +6,28 +5,6,15,32,40 +6,7,14,24 +3,6,9 +3,6,16,23 +7,14,17,49 +6,15,17 +4,7 +6,7,9,34 +4,6,12,14,35,42 +4,6,12,17,27 +3,5,6,7,14,20 +6,7,11,12,15 +3,4,5,14,26,28 +3,5,6,15 +6,10,22 +4,5,6,38,44 +0 +4,13,30 +5,6,14 +4,6,11,14,22,26 +5,6,14 +6,30 +5,20,26 +5,23,51 +5,6,10,14,22,25,29 +6,12,16,28 +4,5,7,28 +48 +6 +2,7,14,41 +4,14 +5,6,7,12,15,29 +5,6,8,14,15,18,25,40,50 +3,14,18,21,23 +4,5,6,7,25 +4,5,6,19,25,30,40 +5,6,29 +7,13,21,25 +4,6,14 +42 +5,6 +33 +3,5,6,11,15,16,22 +6,45 +6,14 +16 +0 +2,6,14,27 +6,18 +4,7,28,51 +6 +6,7,8,21,42 +14 +5,6,18,20 +3,6,22,23 +6,13,22,46 +6,20,35 +6,21,23 +2,5,6,7,20,25 +5,22 +2,6,25,40 +45,47 +5,6,17,19,20 +30 +4,5,6,14,17,32 +6,11,38 +6,7 +2,4,5,17 +5,6,14 +5,6,13 +2,3,5,6,21 +6,14,25 +3,5,6,20 +5,6,11,14 +6,14 +6,39 +6,18,49 +12 +5,6,8,13 +4,6,10,14,20,25,30 +6,13,15,23 +7,14,43 +4,6,22 +3,7,25,26 +6 +6,14,51 +42 +6 +6,17,28,33 +4,5,6,7,12,15,21,24,29 +20 +8,23,25 +5,6,7,42 +6,34 +3,6,11,13 +5,6 +5,6,14,25,28,49 +3,6,25 +5,14,17,21 +5,32 +4,6,19,28 +5,14,22 +3,28,47 +6,13,17 +5,20,35 +6,7,15,33 +9,46 +3,5,8,21 +5,6 +6,12,14 +5,6,21,43 +5,6 +6,7 +5,6,8,21 +6 +5,6,7,17 +3,5,6,11,22 +6,14,21 +6,26 +5,6,44 +5,42 +2,13,21 +4,5,6,7,49 +4,6,24 +6,12 +4,5,6,37 +6,14 +3,6,15 +14,18,23 +2,8,19 +5,6,19 +5,28 +6,42 +3,4,6,14,26 +4,6,7,28,35 +4,6,8,14,17,19,25,32 +6,32 +3,5,6,7,14,17,33 +5,6,7,9,17,46 +4,6,12,14 +6,49 +5,6,22 +5,6,7,14,34 +14 +5,6,14 +6,28 +5 +6 +6,14,19 +4,6,14,22,34,38 +2,3,33 +4,6,23,37,39,50 +8,14,45 +5,6 +3,5,6,46 +0 +5 +6,8 +4,5,7,20,33 +6,16,18,22,40 +3,7 +6,49 +5,6,14,21,28 +3,4,5,21 +3,5,6 +0 +5,6,10,13,14 +3,6,7,17,25,29 +6,34 +6 +39 +4,5,6 +3,6,49 +4,6,25 +6,42 +4,5,6 +4,5,6,7,14 +4,5,29 +4,6,14 +6,17,19 +14 +10 +7,16,23 +5,6,17,21 +2,6,14 +5,6 +4,5,6,19,32,42 +5,17 +5,6 +5,25 +5,6 +6,13 +6,14,17 +5,6,12,26,44 +5,6,13,22 +6,23,49 +7,13,25,50,51 +4,6,22,34,49 +6,28,47 +5,22 +5,6 +4,6,12,14,25,38 +6,13,17 +5,6,14,26,38 +2,6,10 +4,5 +3,6,7,13 +6,7,14,20,25,43 +5,6,22 +5,6 +6,19 +6 +5,6,14,17 +6,15,29 +6,16,22 +6,15 +7,13,34 +5,6,14,15,20 +6,14,35 +5,6,14,24 +6,7 +3,5,6,13 +4,5,6,27 +3,6,23 +3 +6,16 +4,6 +5,7,14,28,33 +5,6 +2 +6 +5,6,17,22 +4,6,7,12,20 +6,16,17 +6 +4,6,25 +6,7,11,13 +5,49 +6,33 +6,38 +2 +2,4,6,14,25,28 +4,5,20,32 +6,32 +3,6,7,33 +6,10,39 +2,4,6,12 +3,5 +2,6,14 +6,14,15,20 +5,19 +6,16,27 +6,17,20 +0 +5,6,14 +6,14 +5,6,17 +5,6,10,43 +7,42 +4,6,20 +5,7,17,28 +35,49 +2,5,35 +5,6,19 +5,12,21 +0 +5,6 +5,6,20,29 +4,5,6,14 +5,20,43,44 +4,6,8,12,14,20,33,49 +5,6 +5,6,24,25 +3,4,5,6,23,25,42 +3,4,5,28 +6 +6,14 +6,14 +4,7,12 +6,19,20,23,34 +2,4,22 +5,6,13,16 +14 +5,10,14 +29 +7,14 +5,6,14,17 +6,25,49 +6,12,13,23,28 +4,6,15 +6 +12,14,40 +6 +6,26,46 +5,6,14,22,38 +6,14,17,44 +4,6,17,25 +5,6,14,19 +4,16,17,20,40 +7,17 +4,6,44 +5,6,34 +4,6,8,12,20 +6 +4,5,6,14,16,19 +2,4,6,19,32 +2,5,7,46 +39 +6,14,15 +5 +3,6,15,27 +14 +2,6,23 +6,21 +5,45 +6,8 +4 +5,6 +4,5,6,21 +2,6,14,15 +2,4,6,14,17,22 +6,14 +6,20,25 +5,6,14 +17 +6,40 +6,10 +6,7 +2,6,17 +6,22 +3,5,6,40 +0 +4,6,24,45 +6 +5,6,7 +5,6,7,15,21 +49 +2,5,6,10,43 +43 +3,6,47 +4,6,20,21 +3,6 +2,6,17,20,25,29,47 +2,3 +2,6,17 +6,23,34,40 +6,11,13 +5,6,14,17 +2,6,35 +5,14,19,22 +7,26 +6,7,16 +4,14,25 +7,17 +5,6 +6,21,27,50 +6,13,14,20 +5,6,8,39 +3,5,6 +4,5,6,14,25 +3,4,5,6,12 +6,12 +6,7 +6 +3,6,13 +5,6 +6,11,14 +5,6 +6,14,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +3,6,25 +3,6,7,27 +5,6,15 +4,5,6,7,8,12,17 +4,7 +4,6,12,17 +4,13 +6,14 +3,5,6,14,45 +13,14,16,32,45,49 +4,6,14,25 +6,16,43 +6,12,19,25 +4,6 +2,5,6,19 +5,6,12,25 +6 +3,6 +5,6,15 +20 +6,7,27 +2,5 +6 +5,6,13 +6,22,43 +6,7,13 +4,6,12,40 +6 +5,6,14 +2,6,17 +5 +6,17 +5 +3,7 +6 +6,8,13,14,20,22 +6,10,14 +6,22,47 +3,4,6 +5 +3,6,20 +6,22 +2,4,5,6,13,17 +5,6,13 +6,7 +3,5,6,14,28,34 +6,7 +4,5,6,7,8,20 +6,19,46 +6,23 +5,6,8,14,22 +6 +6,43 +6,25,40 +4 +3,5,6,20 +14,15,42 +6,13 +3,14,22,38,42,45 +5,6,22,33 +6 +6,25 +5 +6,14 +5,6,28,44 +5 +0 +6,28 +6 +6,20 +5,6,39 +6 +6,14,19 +5,6,11 +6 +6,15 +4,10,13,20,32 +8,14 +8 +11,13,17,22,43 +6,33 +3,5,6 +5,6,14,28 +6,35 +6,14 +10,27 +4,5,23 +6,7,20,23 +6 +5,6 +6 +6,8,17 +5,6 +39 +8,13 +14 +12 +5 +6,14,25 +5,13 +6,35 +3,4,6,47 +6,35 +4,14,20,28 +6,20,42 +5,6,14,17,45 +5 +4,6,26,33 +5,6,47 +6,20,35,50 +5,6,8,17 +4,6,12 +0 +5,6,17 +6 +6,14,44 +3,12,14,20 +6,22 +6,19 +5,6,43 +3,5,10,16 +6 +4,5,6,7,20 +6,14,27 +4,5 +3,6,20 +6,12,19 +3,4 +0 +3,5,14,26,42 +4,6,22 +4,5,6 +14 +6,7 +6,7 +6,13,17 +5 +0 +6 +6,14 +3,5,6,22,26,50 +3,6,26 +5 +5,6 +6 +3,4,6 +6,17,28,50 +6 +4,6,11,13 +4,6 +6 +5 +6,14 +6,14,24 +3,5,6 +5 +5,6,14 +5,20 +6,20 +12 +4,6,12,14 +4,6,20 +35,42 +6 +6,14,16,39 +6,7,13,17,45 +4,5,6,7,14,28,45,47 +50 +6 +5,6,12 +6,12,15 +6 +0 +5,6,7,12,15 +3,4,5,14,23,28 +6,12 +4,15 +4,34 +6 +6,19,20 +6,10,14 +6,17,39 +0 +3,5 +6,24 +3,6,14 +33 +4,6,33 +4,7,19 +3,4,6,14 +6,24 +5,6,7,12,14 +6,14 +6,20 +4,5,7 +13,17 +6 +3,5,6,14,15,20 +5,6,12 +6 +5,6 +6 +4,6,12 +5,44 +6 +5 +3,6,44 +4 +4,6 +3,6,7,14 +5,6,14 +5 +5,6 +3,5,6,15 +5,6,11 +6,13 +6,50 +6,7,17,39 +6 +5 +5,14,26 +6 +5 +7,14 +6,7,39 +6 +4,6,17 +6,7,17,23,28,47 +5,6,14,17 +6,14,17 +5,15 +3,4,6,14 +0 +6,14,17 +4,5,6,20,26,35 +5,6 +14,23,42 +3,6 +8,42 +3,6 +6,14 +3,4,6,10 +5,6 +5,6,14 +5,26,28,50 +4,6,33 +5,6 +6,14 +6 +4,6,14 +6,8,10,14 +4,6 +5,6,26,42,43 +14,24 +6,45 +6,14,15 +6,19,38 +5,6,26 +0 +4,20 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +5,35 +4 +5,23 +5,14 +5 +19,20,28 +4,8,23,28,42 +14 +0 +5,33 +4,14,23 +19,33,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +5,14 +4,5,11 +4,19 +4,23 +14 +5,13,42 +5,13 +0 +14,28 +4 +0 +10,11,14 +33 +5,14,44,50 +8,14,15,28 +4,11,42 diff --git a/siftsmall/siftsmall_R32_L50_filtered_index_labels_map.txt b/siftsmall/siftsmall_R32_L50_filtered_index_labels_map.txt new file mode 100644 index 0000000..427d02b --- /dev/null +++ b/siftsmall/siftsmall_R32_L50_filtered_index_labels_map.txt @@ -0,0 +1,51 @@ +46 50 +29 49 +49 51 +42 47 +24 46 +48 45 +31 44 +20 42 +43 40 +50 39 +38 36 +37 35 +33 33 +28 43 +41 32 +44 37 +12 13 +13 12 +15 28 +19 16 +32 41 +26 11 +34 48 +14 21 +4 4 +18 10 +39 34 +11 2 +36 38 +1 6 +9 20 +22 23 +5 3 +40 9 +0 0 +17 19 +23 8 +21 18 +8 22 +16 15 +47 24 +27 30 +35 27 +7 17 +10 25 +45 31 +6 7 +3 14 +30 26 +2 5 +25 29 diff --git a/siftsmall/siftsmall_R32_L50_filtered_index_labels_to_medoids.txt b/siftsmall/siftsmall_R32_L50_filtered_index_labels_to_medoids.txt new file mode 100644 index 0000000..2fab227 --- /dev/null +++ b/siftsmall/siftsmall_R32_L50_filtered_index_labels_to_medoids.txt @@ -0,0 +1,51 @@ +51, 2654 +50, 4146 +49, 9652 +48, 7002 +47, 3035 +46, 882 +45, 9285 +44, 1761 +43, 1523 +42, 4574 +41, 7285 +40, 9646 +39, 8633 +38, 8331 +37, 2976 +36, 8070 +35, 3945 +34, 7789 +33, 7556 +32, 787 +31, 8966 +30, 298 +12, 606 +11, 4944 +10, 75 +9, 550 +8, 8681 +7, 4570 +6, 7752 +5, 6016 +4, 9955 +3, 710 +2, 5636 +13, 1969 +0, 3876 +29, 7700 +14, 5044 +15, 1628 +16, 5981 +17, 8401 +18, 1381 +19, 5275 +20, 9850 +21, 2793 +22, 5076 +23, 1572 +24, 3975 +25, 7818 +26, 3433 +27, 8927 +28, 7895 diff --git a/siftsmall/siftsmall_R32_L50_filtered_index_universal_label.txt b/siftsmall/siftsmall_R32_L50_filtered_index_universal_label.txt new file mode 100644 index 0000000..573541a --- /dev/null +++ b/siftsmall/siftsmall_R32_L50_filtered_index_universal_label.txt @@ -0,0 +1 @@ +0 diff --git a/siftsmall/siftsmall_base.bin b/siftsmall/siftsmall_base.bin new file mode 100644 index 0000000..07e31f5 Binary files /dev/null and b/siftsmall/siftsmall_base.bin differ diff --git a/siftsmall/siftsmall_base.fvecs b/siftsmall/siftsmall_base.fvecs new file mode 100644 index 0000000..e3b90ae Binary files /dev/null and b/siftsmall/siftsmall_base.fvecs differ diff --git a/siftsmall/siftsmall_groundtruth.ivecs b/siftsmall/siftsmall_groundtruth.ivecs new file mode 100644 index 0000000..9948ffa Binary files /dev/null and b/siftsmall/siftsmall_groundtruth.ivecs differ diff --git a/siftsmall/siftsmall_gt_35.bin b/siftsmall/siftsmall_gt_35.bin new file mode 100644 index 0000000..2a481bc Binary files /dev/null and b/siftsmall/siftsmall_gt_35.bin differ diff --git a/siftsmall/siftsmall_learn.fvecs b/siftsmall/siftsmall_learn.fvecs new file mode 100644 index 0000000..9ea42f0 Binary files /dev/null and b/siftsmall/siftsmall_learn.fvecs differ diff --git a/siftsmall/siftsmall_query.bin b/siftsmall/siftsmall_query.bin new file mode 100644 index 0000000..6ba8224 Binary files /dev/null and b/siftsmall/siftsmall_query.bin differ diff --git a/siftsmall/siftsmall_query.fvecs b/siftsmall/siftsmall_query.fvecs new file mode 100644 index 0000000..88622e3 Binary files /dev/null and b/siftsmall/siftsmall_query.fvecs differ diff --git a/siftsmall/testing_data/base_attrs_sift0m_nc=12_assignment=rand.json b/siftsmall/testing_data/base_attrs_sift0m_nc=12_assignment=rand.json new file mode 100644 index 0000000..df8608b --- /dev/null +++ b/siftsmall/testing_data/base_attrs_sift0m_nc=12_assignment=rand.json @@ -0,0 +1,10002 @@ +[ + 2, + 6, + 6, + 0, + 6, + 4, + 6, + 6, + 4, + 6, + 3, + 5, + 5, + 6, + 2, + 13, + 6, + 10, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 6, + 5, + 2, + 6, + 5, + 6, + 4, + 6, + 6, + 3, + 3, + 4, + 2, + 6, + 5, + 6, + 3, + 28, + 6, + 2, + 5, + 6, + 26, + 5, + 6, + 5, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 5, + 6, + 6, + 3, + 5, + 7, + 6, + 2, + 6, + 4, + 10, + 5, + 6, + 6, + 5, + 6, + 6, + 7, + 3, + 2, + 31, + 2, + 0, + 4, + 4, + 2, + 5, + 5, + 2, + 4, + 12, + 6, + 6, + 3, + 30, + 6, + 2, + 6, + 14, + 4, + 6, + 3, + 4, + 4, + 50, + 14, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 6, + 10, + 6, + 49, + 6, + 3, + 4, + 4, + 6, + 0, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 3, + 4, + 5, + 6, + 5, + 3, + 7, + 6, + 6, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 3, + 2, + 5, + 6, + 5, + 4, + 6, + 14, + 3, + 6, + 5, + 5, + 6, + 0, + 6, + 3, + 3, + 5, + 4, + 3, + 5, + 2, + 6, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 5, + 4, + 6, + 3, + 5, + 13, + 6, + 6, + 3, + 2, + 5, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 5, + 6, + 4, + 7, + 5, + 5, + 5, + 4, + 6, + 4, + 5, + 4, + 3, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 5, + 4, + 3, + 6, + 6, + 6, + 6, + 5, + 6, + 7, + 5, + 3, + 7, + 5, + 5, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 5, + 6, + 6, + 5, + 3, + 5, + 6, + 5, + 3, + 3, + 5, + 4, + 4, + 3, + 28, + 5, + 17, + 5, + 3, + 5, + 4, + 5, + 6, + 5, + 5, + 0, + 4, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 6, + 16, + 18, + 5, + 6, + 0, + 3, + 2, + 6, + 6, + 5, + 5, + 5, + 2, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 0, + 3, + 6, + 5, + 4, + 5, + 2, + 10, + 3, + 17, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 2, + 4, + 2, + 4, + 6, + 17, + 6, + 2, + 5, + 4, + 4, + 4, + 22, + 3, + 0, + 4, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 5, + 6, + 14, + 10, + 5, + 6, + 2, + 6, + 6, + 5, + 2, + 6, + 4, + 12, + 4, + 5, + 17, + 3, + 6, + 6, + 5, + 5, + 5, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 17, + 3, + 5, + 5, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 6, + 6, + 17, + 6, + 6, + 6, + 4, + 6, + 5, + 3, + 15, + 6, + 5, + 4, + 6, + 4, + 6, + 22, + 6, + 2, + 4, + 10, + 2, + 19, + 6, + 5, + 4, + 5, + 3, + 3, + 7, + 6, + 6, + 3, + 6, + 5, + 2, + 8, + 5, + 4, + 4, + 6, + 3, + 5, + 4, + 12, + 3, + 5, + 2, + 3, + 2, + 2, + 14, + 6, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 5, + 3, + 5, + 2, + 4, + 4, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 0, + 14, + 5, + 3, + 2, + 4, + 3, + 3, + 6, + 5, + 6, + 14, + 6, + 6, + 2, + 3, + 3, + 0, + 0, + 5, + 6, + 3, + 6, + 3, + 3, + 6, + 5, + 6, + 0, + 4, + 5, + 4, + 3, + 6, + 6, + 6, + 3, + 14, + 4, + 6, + 4, + 6, + 6, + 6, + 2, + 4, + 6, + 4, + 3, + 4, + 4, + 3, + 6, + 6, + 6, + 5, + 6, + 17, + 6, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 14, + 0, + 2, + 4, + 14, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 2, + 3, + 5, + 15, + 5, + 2, + 3, + 5, + 0, + 38, + 6, + 0, + 3, + 6, + 6, + 5, + 0, + 6, + 6, + 5, + 14, + 6, + 4, + 6, + 6, + 6, + 14, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 4, + 6, + 3, + 6, + 40, + 2, + 5, + 3, + 10, + 3, + 2, + 7, + 5, + 6, + 6, + 2, + 5, + 3, + 3, + 4, + 6, + 3, + 6, + 6, + 4, + 6, + 23, + 6, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 6, + 7, + 5, + 8, + 6, + 6, + 3, + 6, + 6, + 4, + 5, + 0, + 6, + 6, + 5, + 4, + 6, + 14, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 5, + 6, + 3, + 5, + 5, + 6, + 2, + 15, + 2, + 6, + 3, + 2, + 6, + 4, + 5, + 4, + 5, + 5, + 6, + 5, + 2, + 2, + 12, + 5, + 6, + 4, + 4, + 6, + 6, + 5, + 3, + 5, + 3, + 5, + 3, + 5, + 5, + 5, + 3, + 5, + 0, + 5, + 17, + 5, + 6, + 4, + 5, + 0, + 5, + 6, + 2, + 3, + 2, + 6, + 4, + 6, + 5, + 4, + 3, + 2, + 3, + 5, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 6, + 6, + 3, + 4, + 2, + 6, + 3, + 6, + 3, + 6, + 5, + 0, + 6, + 6, + 3, + 6, + 3, + 5, + 3, + 4, + 4, + 6, + 4, + 3, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 3, + 3, + 3, + 5, + 5, + 5, + 5, + 4, + 6, + 4, + 2, + 6, + 14, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 15, + 6, + 2, + 5, + 10, + 5, + 5, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 3, + 12, + 6, + 5, + 6, + 3, + 4, + 5, + 13, + 3, + 15, + 6, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 4, + 6, + 2, + 22, + 3, + 6, + 5, + 5, + 4, + 4, + 6, + 3, + 4, + 6, + 2, + 2, + 3, + 2, + 5, + 6, + 6, + 2, + 6, + 5, + 2, + 6, + 5, + 6, + 5, + 4, + 6, + 6, + 6, + 8, + 5, + 3, + 5, + 3, + 4, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 2, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 12, + 3, + 14, + 6, + 14, + 3, + 5, + 3, + 4, + 4, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 17, + 3, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 12, + 4, + 5, + 5, + 4, + 5, + 5, + 5, + 6, + 6, + 9, + 6, + 3, + 4, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 4, + 4, + 4, + 2, + 4, + 14, + 5, + 5, + 5, + 4, + 25, + 6, + 6, + 3, + 4, + 4, + 4, + 4, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 5, + 6, + 3, + 4, + 5, + 6, + 20, + 4, + 4, + 6, + 3, + 5, + 6, + 5, + 3, + 3, + 3, + 4, + 2, + 2, + 3, + 2, + 6, + 5, + 0, + 14, + 2, + 6, + 6, + 6, + 5, + 6, + 2, + 5, + 4, + 4, + 6, + 4, + 6, + 2, + 5, + 6, + 5, + 5, + 6, + 39, + 13, + 4, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 6, + 3, + 6, + 3, + 3, + 5, + 6, + 2, + 6, + 6, + 6, + 14, + 14, + 6, + 4, + 7, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 5, + 4, + 6, + 3, + 6, + 2, + 6, + 4, + 4, + 13, + 5, + 3, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 4, + 4, + 20, + 2, + 6, + 5, + 5, + 6, + 4, + 4, + 4, + 5, + 6, + 3, + 17, + 6, + 14, + 6, + 5, + 5, + 6, + 3, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 4, + 3, + 9, + 5, + 5, + 6, + 6, + 5, + 2, + 25, + 4, + 6, + 3, + 6, + 6, + 6, + 2, + 6, + 6, + 4, + 3, + 20, + 6, + 6, + 6, + 0, + 6, + 6, + 49, + 6, + 5, + 5, + 5, + 48, + 14, + 6, + 3, + 5, + 5, + 0, + 2, + 4, + 6, + 4, + 5, + 6, + 2, + 8, + 6, + 3, + 14, + 6, + 5, + 3, + 4, + 6, + 6, + 3, + 4, + 4, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 4, + 4, + 6, + 13, + 39, + 4, + 6, + 6, + 3, + 4, + 3, + 6, + 3, + 6, + 3, + 3, + 5, + 15, + 6, + 6, + 5, + 5, + 6, + 5, + 3, + 5, + 6, + 6, + 3, + 10, + 6, + 6, + 5, + 0, + 3, + 3, + 5, + 4, + 4, + 14, + 5, + 6, + 5, + 18, + 19, + 5, + 5, + 6, + 2, + 6, + 5, + 14, + 5, + 5, + 2, + 6, + 3, + 6, + 6, + 14, + 3, + 6, + 6, + 3, + 4, + 19, + 8, + 6, + 4, + 3, + 6, + 4, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 0, + 6, + 19, + 6, + 3, + 4, + 6, + 6, + 3, + 6, + 5, + 4, + 4, + 5, + 43, + 5, + 5, + 6, + 6, + 4, + 4, + 5, + 17, + 6, + 6, + 14, + 4, + 6, + 14, + 4, + 5, + 7, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 6, + 12, + 4, + 5, + 4, + 6, + 6, + 3, + 5, + 5, + 13, + 6, + 3, + 2, + 13, + 3, + 6, + 3, + 4, + 2, + 3, + 6, + 6, + 14, + 3, + 5, + 5, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 16, + 2, + 6, + 5, + 30, + 6, + 5, + 4, + 6, + 6, + 3, + 5, + 2, + 4, + 4, + 5, + 0, + 5, + 6, + 6, + 6, + 5, + 5, + 5, + 18, + 5, + 6, + 4, + 0, + 3, + 3, + 6, + 5, + 6, + 6, + 13, + 3, + 2, + 6, + 12, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 4, + 5, + 4, + 2, + 5, + 2, + 0, + 7, + 0, + 3, + 2, + 4, + 24, + 4, + 6, + 14, + 5, + 6, + 6, + 13, + 4, + 4, + 5, + 6, + 6, + 3, + 5, + 2, + 6, + 5, + 4, + 5, + 2, + 4, + 6, + 22, + 6, + 6, + 5, + 6, + 5, + 20, + 5, + 3, + 4, + 6, + 6, + 6, + 5, + 2, + 3, + 3, + 14, + 6, + 4, + 5, + 3, + 12, + 2, + 5, + 3, + 5, + 2, + 2, + 4, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 6, + 3, + 6, + 14, + 4, + 6, + 4, + 6, + 4, + 2, + 4, + 3, + 2, + 6, + 5, + 2, + 6, + 6, + 0, + 23, + 5, + 5, + 5, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 6, + 6, + 9, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 17, + 6, + 8, + 5, + 15, + 4, + 2, + 3, + 5, + 6, + 5, + 4, + 5, + 4, + 4, + 4, + 26, + 4, + 6, + 17, + 5, + 7, + 6, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 14, + 6, + 14, + 5, + 6, + 5, + 0, + 5, + 3, + 6, + 4, + 7, + 6, + 3, + 5, + 13, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 5, + 6, + 14, + 7, + 5, + 3, + 6, + 3, + 7, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 2, + 14, + 3, + 4, + 4, + 5, + 7, + 6, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 4, + 11, + 5, + 5, + 6, + 6, + 2, + 6, + 7, + 6, + 6, + 5, + 6, + 26, + 4, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 4, + 7, + 3, + 4, + 6, + 6, + 19, + 5, + 5, + 6, + 2, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 3, + 2, + 5, + 29, + 5, + 3, + 4, + 14, + 6, + 3, + 5, + 8, + 4, + 4, + 6, + 6, + 2, + 3, + 3, + 6, + 3, + 5, + 5, + 14, + 0, + 11, + 5, + 6, + 5, + 6, + 6, + 4, + 14, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 5, + 2, + 4, + 5, + 3, + 5, + 3, + 2, + 5, + 5, + 5, + 3, + 6, + 3, + 4, + 28, + 4, + 0, + 0, + 7, + 9, + 6, + 6, + 5, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 28, + 6, + 3, + 6, + 4, + 2, + 7, + 20, + 3, + 2, + 6, + 6, + 19, + 4, + 4, + 6, + 3, + 5, + 5, + 20, + 6, + 6, + 5, + 3, + 5, + 0, + 5, + 2, + 6, + 2, + 6, + 4, + 6, + 14, + 6, + 25, + 5, + 3, + 3, + 6, + 6, + 0, + 5, + 6, + 33, + 4, + 2, + 16, + 7, + 4, + 3, + 6, + 6, + 5, + 0, + 6, + 3, + 4, + 5, + 6, + 4, + 14, + 5, + 6, + 3, + 3, + 3, + 5, + 6, + 5, + 2, + 4, + 6, + 2, + 2, + 2, + 4, + 6, + 5, + 20, + 6, + 4, + 18, + 6, + 3, + 2, + 6, + 5, + 17, + 6, + 5, + 3, + 5, + 6, + 2, + 6, + 4, + 5, + 5, + 6, + 4, + 4, + 6, + 2, + 6, + 3, + 6, + 4, + 6, + 6, + 22, + 6, + 7, + 3, + 3, + 6, + 2, + 3, + 6, + 6, + 3, + 4, + 2, + 27, + 6, + 5, + 4, + 5, + 5, + 2, + 5, + 2, + 5, + 9, + 6, + 6, + 6, + 12, + 6, + 4, + 6, + 5, + 14, + 6, + 6, + 3, + 5, + 3, + 12, + 6, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 6, + 0, + 3, + 4, + 3, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 3, + 3, + 6, + 6, + 4, + 6, + 3, + 2, + 14, + 3, + 48, + 4, + 4, + 6, + 5, + 3, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 49, + 5, + 3, + 6, + 3, + 6, + 6, + 3, + 8, + 4, + 25, + 6, + 3, + 5, + 4, + 4, + 2, + 3, + 7, + 4, + 6, + 6, + 4, + 0, + 2, + 13, + 5, + 4, + 4, + 2, + 3, + 20, + 6, + 5, + 3, + 9, + 4, + 5, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 4, + 6, + 6, + 5, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 14, + 3, + 44, + 5, + 3, + 10, + 17, + 4, + 6, + 5, + 16, + 0, + 6, + 5, + 12, + 6, + 5, + 4, + 6, + 3, + 6, + 12, + 5, + 6, + 5, + 3, + 6, + 4, + 2, + 4, + 20, + 4, + 4, + 5, + 5, + 6, + 3, + 3, + 3, + 4, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 2, + 3, + 6, + 6, + 3, + 3, + 2, + 6, + 2, + 0, + 0, + 6, + 5, + 2, + 7, + 6, + 3, + 6, + 6, + 5, + 8, + 4, + 20, + 4, + 5, + 4, + 15, + 6, + 6, + 6, + 2, + 4, + 5, + 6, + 20, + 4, + 10, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 14, + 2, + 6, + 3, + 6, + 34, + 6, + 4, + 5, + 5, + 4, + 4, + 3, + 2, + 5, + 6, + 6, + 14, + 6, + 5, + 5, + 5, + 14, + 4, + 6, + 6, + 4, + 3, + 12, + 6, + 5, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 6, + 30, + 6, + 6, + 6, + 2, + 5, + 3, + 5, + 5, + 6, + 3, + 25, + 4, + 5, + 3, + 4, + 0, + 6, + 6, + 4, + 3, + 6, + 5, + 4, + 31, + 14, + 5, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 5, + 40, + 5, + 6, + 4, + 4, + 4, + 6, + 4, + 5, + 5, + 6, + 6, + 6, + 4, + 3, + 6, + 5, + 14, + 6, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 16, + 4, + 6, + 5, + 7, + 13, + 5, + 3, + 5, + 4, + 6, + 2, + 3, + 6, + 4, + 3, + 2, + 2, + 6, + 5, + 16, + 5, + 5, + 5, + 5, + 23, + 5, + 3, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 2, + 3, + 6, + 2, + 3, + 5, + 2, + 4, + 3, + 4, + 6, + 3, + 6, + 6, + 5, + 5, + 6, + 5, + 5, + 8, + 4, + 2, + 10, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 0, + 5, + 22, + 2, + 5, + 5, + 5, + 6, + 14, + 6, + 5, + 4, + 5, + 5, + 6, + 4, + 3, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 2, + 4, + 49, + 5, + 5, + 2, + 5, + 4, + 30, + 6, + 6, + 7, + 3, + 6, + 2, + 5, + 5, + 25, + 5, + 3, + 6, + 3, + 5, + 6, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 5, + 5, + 17, + 6, + 5, + 5, + 13, + 6, + 6, + 4, + 6, + 3, + 4, + 5, + 36, + 2, + 3, + 4, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 6, + 4, + 5, + 2, + 5, + 5, + 0, + 14, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 5, + 3, + 3, + 2, + 5, + 25, + 5, + 5, + 0, + 4, + 35, + 50, + 6, + 4, + 5, + 4, + 6, + 3, + 4, + 18, + 6, + 20, + 6, + 6, + 5, + 5, + 6, + 6, + 3, + 19, + 4, + 2, + 13, + 5, + 7, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 5, + 5, + 15, + 6, + 6, + 5, + 2, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 6, + 2, + 6, + 3, + 4, + 6, + 17, + 6, + 5, + 3, + 2, + 4, + 6, + 3, + 3, + 6, + 6, + 6, + 34, + 6, + 4, + 6, + 4, + 6, + 6, + 3, + 6, + 6, + 3, + 5, + 3, + 3, + 6, + 6, + 5, + 3, + 4, + 6, + 2, + 6, + 4, + 6, + 3, + 7, + 5, + 4, + 6, + 37, + 6, + 6, + 25, + 3, + 3, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 4, + 10, + 0, + 3, + 0, + 6, + 3, + 5, + 3, + 4, + 6, + 6, + 5, + 6, + 3, + 5, + 6, + 14, + 6, + 6, + 2, + 4, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 6, + 20, + 3, + 5, + 6, + 4, + 5, + 5, + 3, + 5, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 6, + 17, + 5, + 4, + 6, + 6, + 11, + 3, + 3, + 6, + 6, + 6, + 4, + 0, + 13, + 6, + 4, + 6, + 5, + 4, + 7, + 3, + 14, + 4, + 4, + 6, + 4, + 6, + 7, + 6, + 5, + 4, + 4, + 3, + 3, + 4, + 14, + 0, + 5, + 6, + 7, + 6, + 14, + 6, + 4, + 3, + 5, + 30, + 6, + 4, + 5, + 3, + 5, + 22, + 2, + 8, + 5, + 3, + 3, + 6, + 4, + 6, + 25, + 4, + 3, + 2, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 7, + 6, + 3, + 4, + 5, + 3, + 6, + 6, + 6, + 22, + 6, + 4, + 0, + 5, + 4, + 4, + 6, + 5, + 6, + 3, + 4, + 25, + 5, + 3, + 6, + 3, + 5, + 14, + 4, + 6, + 13, + 3, + 5, + 5, + 6, + 12, + 29, + 5, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 3, + 6, + 2, + 5, + 4, + 6, + 2, + 4, + 5, + 5, + 6, + 6, + 47, + 6, + 12, + 6, + 5, + 7, + 6, + 4, + 18, + 6, + 5, + 2, + 4, + 3, + 4, + 4, + 4, + 3, + 4, + 5, + 6, + 6, + 18, + 6, + 4, + 5, + 0, + 4, + 3, + 2, + 5, + 2, + 5, + 4, + 6, + 5, + 38, + 2, + 5, + 2, + 3, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 7, + 3, + 4, + 4, + 6, + 3, + 33, + 4, + 6, + 3, + 5, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 3, + 3, + 5, + 4, + 5, + 6, + 5, + 11, + 23, + 4, + 4, + 6, + 6, + 2, + 6, + 3, + 0, + 2, + 4, + 7, + 6, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 4, + 2, + 2, + 6, + 3, + 5, + 5, + 4, + 2, + 4, + 6, + 5, + 14, + 6, + 6, + 6, + 7, + 5, + 6, + 0, + 5, + 2, + 7, + 5, + 21, + 5, + 4, + 8, + 5, + 6, + 4, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 0, + 3, + 3, + 14, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 3, + 2, + 6, + 6, + 4, + 6, + 3, + 4, + 3, + 2, + 3, + 4, + 3, + 3, + 0, + 0, + 4, + 6, + 5, + 2, + 4, + 19, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 4, + 6, + 6, + 0, + 6, + 2, + 4, + 5, + 4, + 6, + 4, + 21, + 5, + 20, + 5, + 3, + 2, + 6, + 5, + 4, + 6, + 2, + 6, + 4, + 4, + 16, + 7, + 6, + 6, + 5, + 7, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 6, + 4, + 6, + 6, + 14, + 22, + 4, + 6, + 5, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 2, + 5, + 5, + 5, + 6, + 5, + 3, + 20, + 3, + 6, + 0, + 6, + 6, + 6, + 3, + 6, + 6, + 6, + 6, + 5, + 27, + 3, + 5, + 3, + 3, + 6, + 26, + 6, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 6, + 6, + 27, + 6, + 4, + 6, + 12, + 4, + 5, + 6, + 12, + 3, + 13, + 5, + 3, + 5, + 14, + 19, + 12, + 3, + 5, + 35, + 6, + 3, + 6, + 4, + 12, + 6, + 3, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 3, + 20, + 5, + 3, + 5, + 4, + 6, + 4, + 3, + 24, + 6, + 5, + 6, + 6, + 5, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 19, + 6, + 0, + 3, + 6, + 3, + 6, + 7, + 6, + 5, + 5, + 3, + 5, + 6, + 6, + 5, + 4, + 2, + 22, + 6, + 3, + 2, + 4, + 5, + 6, + 5, + 6, + 6, + 7, + 3, + 6, + 3, + 3, + 5, + 5, + 14, + 7, + 5, + 22, + 12, + 5, + 4, + 4, + 6, + 6, + 6, + 5, + 3, + 6, + 4, + 3, + 6, + 6, + 4, + 5, + 3, + 6, + 5, + 5, + 3, + 5, + 18, + 4, + 6, + 6, + 2, + 3, + 6, + 4, + 3, + 4, + 6, + 5, + 6, + 14, + 5, + 14, + 6, + 3, + 20, + 6, + 6, + 4, + 7, + 6, + 5, + 5, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 5, + 4, + 6, + 3, + 3, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 10, + 3, + 5, + 5, + 5, + 4, + 3, + 5, + 2, + 6, + 6, + 4, + 6, + 4, + 15, + 5, + 3, + 3, + 6, + 5, + 3, + 5, + 6, + 3, + 4, + 6, + 2, + 4, + 3, + 3, + 0, + 3, + 5, + 3, + 4, + 6, + 5, + 4, + 14, + 6, + 5, + 3, + 0, + 14, + 5, + 3, + 2, + 6, + 6, + 3, + 4, + 2, + 4, + 6, + 6, + 4, + 4, + 4, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 5, + 4, + 5, + 5, + 5, + 4, + 2, + 5, + 5, + 5, + 5, + 4, + 6, + 20, + 6, + 12, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 6, + 14, + 3, + 4, + 5, + 6, + 6, + 4, + 5, + 6, + 4, + 6, + 6, + 5, + 2, + 5, + 3, + 3, + 6, + 3, + 4, + 6, + 7, + 5, + 2, + 5, + 0, + 6, + 3, + 3, + 4, + 6, + 3, + 7, + 7, + 4, + 7, + 3, + 4, + 6, + 4, + 3, + 4, + 4, + 2, + 7, + 6, + 6, + 3, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 12, + 6, + 5, + 2, + 3, + 8, + 5, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 6, + 5, + 3, + 5, + 5, + 5, + 8, + 6, + 21, + 5, + 6, + 4, + 3, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 5, + 31, + 3, + 5, + 5, + 3, + 12, + 0, + 5, + 6, + 6, + 5, + 2, + 6, + 6, + 3, + 2, + 6, + 3, + 6, + 3, + 6, + 4, + 6, + 6, + 4, + 0, + 3, + 6, + 23, + 46, + 6, + 3, + 4, + 6, + 6, + 13, + 5, + 3, + 3, + 5, + 5, + 6, + 3, + 25, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 2, + 6, + 5, + 5, + 20, + 11, + 2, + 6, + 6, + 0, + 6, + 5, + 6, + 4, + 6, + 3, + 5, + 3, + 7, + 5, + 10, + 4, + 25, + 6, + 5, + 5, + 14, + 3, + 6, + 4, + 4, + 3, + 20, + 36, + 6, + 5, + 14, + 14, + 6, + 4, + 2, + 5, + 3, + 2, + 26, + 20, + 6, + 4, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 35, + 6, + 5, + 3, + 6, + 5, + 3, + 5, + 6, + 5, + 4, + 4, + 3, + 2, + 5, + 4, + 6, + 0, + 5, + 4, + 3, + 5, + 14, + 6, + 5, + 7, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 5, + 2, + 5, + 6, + 2, + 2, + 3, + 2, + 5, + 2, + 6, + 6, + 4, + 5, + 2, + 2, + 4, + 0, + 6, + 6, + 4, + 6, + 3, + 6, + 5, + 6, + 5, + 4, + 6, + 12, + 5, + 6, + 4, + 6, + 5, + 6, + 5, + 22, + 6, + 6, + 6, + 6, + 6, + 3, + 5, + 4, + 4, + 2, + 5, + 3, + 6, + 4, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 3, + 3, + 25, + 6, + 3, + 0, + 0, + 4, + 6, + 6, + 2, + 5, + 4, + 6, + 26, + 5, + 5, + 2, + 6, + 3, + 5, + 3, + 4, + 5, + 6, + 6, + 5, + 3, + 3, + 13, + 4, + 7, + 5, + 5, + 6, + 6, + 6, + 0, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 6, + 7, + 6, + 2, + 6, + 4, + 4, + 3, + 5, + 4, + 7, + 5, + 6, + 14, + 6, + 3, + 6, + 5, + 6, + 5, + 5, + 5, + 0, + 6, + 6, + 3, + 6, + 4, + 14, + 5, + 6, + 5, + 3, + 5, + 3, + 24, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 3, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 2, + 6, + 6, + 3, + 2, + 29, + 5, + 5, + 31, + 2, + 7, + 10, + 6, + 17, + 5, + 3, + 6, + 5, + 4, + 5, + 5, + 6, + 5, + 4, + 2, + 4, + 19, + 6, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 4, + 6, + 5, + 4, + 5, + 3, + 2, + 3, + 6, + 3, + 0, + 6, + 2, + 6, + 2, + 4, + 4, + 2, + 3, + 21, + 4, + 5, + 5, + 6, + 4, + 2, + 2, + 2, + 5, + 4, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 6, + 26, + 5, + 3, + 3, + 4, + 17, + 5, + 3, + 0, + 4, + 3, + 7, + 5, + 4, + 2, + 6, + 2, + 5, + 6, + 6, + 5, + 2, + 5, + 38, + 5, + 6, + 5, + 0, + 6, + 6, + 17, + 3, + 6, + 3, + 2, + 5, + 4, + 3, + 6, + 6, + 3, + 3, + 5, + 23, + 5, + 6, + 6, + 5, + 6, + 2, + 5, + 6, + 5, + 14, + 4, + 6, + 4, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 0, + 4, + 4, + 5, + 5, + 12, + 6, + 6, + 44, + 5, + 5, + 2, + 6, + 5, + 2, + 14, + 4, + 2, + 5, + 50, + 2, + 4, + 13, + 3, + 6, + 5, + 6, + 6, + 4, + 5, + 5, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 6, + 6, + 6, + 3, + 4, + 3, + 6, + 2, + 29, + 6, + 5, + 2, + 44, + 6, + 14, + 5, + 6, + 5, + 4, + 6, + 4, + 9, + 5, + 3, + 5, + 2, + 5, + 23, + 5, + 0, + 5, + 6, + 7, + 3, + 6, + 3, + 4, + 6, + 5, + 3, + 0, + 3, + 6, + 5, + 41, + 6, + 5, + 6, + 6, + 5, + 6, + 14, + 6, + 5, + 3, + 6, + 3, + 3, + 12, + 6, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 2, + 6, + 6, + 2, + 2, + 6, + 8, + 14, + 4, + 3, + 6, + 6, + 5, + 5, + 3, + 3, + 6, + 22, + 6, + 4, + 6, + 3, + 5, + 5, + 5, + 2, + 2, + 0, + 6, + 6, + 5, + 5, + 5, + 4, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 3, + 12, + 8, + 6, + 3, + 2, + 6, + 5, + 17, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 17, + 5, + 2, + 3, + 7, + 5, + 3, + 6, + 6, + 0, + 6, + 5, + 3, + 4, + 5, + 5, + 18, + 6, + 22, + 3, + 5, + 5, + 3, + 5, + 6, + 5, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 3, + 6, + 4, + 5, + 5, + 5, + 6, + 6, + 4, + 5, + 21, + 5, + 0, + 2, + 2, + 3, + 3, + 4, + 6, + 6, + 0, + 5, + 6, + 6, + 6, + 3, + 3, + 5, + 6, + 3, + 6, + 4, + 3, + 5, + 5, + 6, + 4, + 4, + 5, + 6, + 5, + 6, + 5, + 14, + 4, + 5, + 14, + 6, + 19, + 4, + 20, + 3, + 9, + 6, + 14, + 4, + 6, + 5, + 44, + 6, + 4, + 4, + 6, + 5, + 3, + 2, + 42, + 5, + 2, + 6, + 3, + 4, + 5, + 3, + 5, + 25, + 6, + 2, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 3, + 6, + 2, + 7, + 13, + 6, + 2, + 5, + 5, + 5, + 5, + 21, + 4, + 3, + 8, + 6, + 6, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 2, + 5, + 6, + 6, + 5, + 5, + 5, + 5, + 3, + 6, + 6, + 4, + 6, + 6, + 4, + 0, + 6, + 44, + 2, + 4, + 13, + 5, + 4, + 26, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 3, + 4, + 4, + 6, + 6, + 2, + 0, + 3, + 6, + 3, + 4, + 4, + 6, + 4, + 5, + 7, + 5, + 4, + 6, + 5, + 7, + 4, + 4, + 4, + 6, + 17, + 4, + 5, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 26, + 5, + 14, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 28, + 6, + 6, + 4, + 6, + 4, + 5, + 4, + 0, + 6, + 6, + 4, + 4, + 6, + 21, + 5, + 2, + 2, + 3, + 5, + 7, + 12, + 6, + 6, + 25, + 6, + 28, + 5, + 6, + 4, + 17, + 5, + 5, + 14, + 5, + 10, + 6, + 6, + 6, + 12, + 6, + 6, + 4, + 3, + 23, + 10, + 0, + 2, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 6, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 12, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 6, + 11, + 6, + 6, + 6, + 5, + 46, + 5, + 3, + 6, + 3, + 12, + 5, + 14, + 4, + 6, + 4, + 4, + 5, + 2, + 6, + 6, + 5, + 4, + 14, + 2, + 5, + 4, + 2, + 3, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 42, + 3, + 4, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 3, + 4, + 10, + 3, + 6, + 5, + 3, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 6, + 7, + 4, + 2, + 6, + 6, + 5, + 5, + 4, + 26, + 5, + 5, + 21, + 7, + 5, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 4, + 5, + 6, + 3, + 5, + 6, + 4, + 3, + 4, + 5, + 4, + 6, + 5, + 3, + 2, + 5, + 3, + 0, + 3, + 2, + 6, + 5, + 4, + 3, + 3, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 14, + 6, + 6, + 2, + 5, + 6, + 4, + 3, + 7, + 3, + 5, + 6, + 3, + 5, + 6, + 3, + 5, + 2, + 5, + 2, + 5, + 5, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 6, + 3, + 3, + 9, + 5, + 6, + 6, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 5, + 7, + 6, + 14, + 8, + 2, + 4, + 17, + 5, + 6, + 4, + 3, + 4, + 6, + 5, + 5, + 3, + 6, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 5, + 6, + 6, + 6, + 5, + 2, + 5, + 6, + 3, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 3, + 6, + 5, + 2, + 0, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 17, + 5, + 5, + 6, + 6, + 23, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 3, + 6, + 5, + 3, + 6, + 3, + 16, + 17, + 4, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 5, + 44, + 6, + 4, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 3, + 12, + 3, + 4, + 2, + 14, + 6, + 5, + 6, + 3, + 4, + 14, + 6, + 4, + 4, + 5, + 3, + 4, + 6, + 3, + 0, + 5, + 6, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 6, + 6, + 6, + 5, + 4, + 2, + 6, + 3, + 6, + 4, + 7, + 5, + 5, + 2, + 6, + 6, + 5, + 6, + 8, + 5, + 5, + 5, + 6, + 6, + 6, + 21, + 5, + 2, + 6, + 4, + 5, + 2, + 6, + 6, + 2, + 5, + 3, + 4, + 6, + 6, + 6, + 2, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 5, + 5, + 4, + 4, + 14, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 6, + 3, + 2, + 3, + 5, + 4, + 6, + 6, + 6, + 3, + 6, + 6, + 19, + 3, + 6, + 2, + 6, + 4, + 6, + 14, + 4, + 2, + 6, + 6, + 6, + 4, + 6, + 6, + 0, + 0, + 6, + 4, + 2, + 0, + 6, + 2, + 5, + 6, + 5, + 2, + 5, + 6, + 5, + 4, + 0, + 6, + 4, + 5, + 14, + 0, + 4, + 0, + 3, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 4, + 47, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 2, + 3, + 5, + 15, + 6, + 2, + 5, + 4, + 5, + 6, + 5, + 3, + 5, + 4, + 6, + 6, + 4, + 17, + 6, + 3, + 17, + 3, + 4, + 6, + 5, + 5, + 33, + 4, + 6, + 17, + 20, + 5, + 2, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 4, + 20, + 18, + 5, + 6, + 2, + 6, + 3, + 5, + 3, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 6, + 3, + 6, + 6, + 5, + 14, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 39, + 3, + 5, + 6, + 17, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 3, + 14, + 5, + 6, + 6, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 0, + 0, + 6, + 2, + 3, + 2, + 12, + 6, + 5, + 4, + 25, + 5, + 12, + 0, + 5, + 3, + 3, + 3, + 3, + 6, + 11, + 6, + 6, + 5, + 20, + 2, + 5, + 6, + 4, + 0, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 4, + 3, + 11, + 17, + 5, + 5, + 2, + 5, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 2, + 3, + 7, + 6, + 6, + 17, + 5, + 6, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 8, + 6, + 5, + 5, + 5, + 4, + 5, + 6, + 4, + 33, + 6, + 0, + 5, + 3, + 28, + 6, + 11, + 3, + 33, + 6, + 6, + 5, + 6, + 6, + 3, + 5, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 3, + 3, + 4, + 6, + 5, + 6, + 3, + 3, + 17, + 0, + 4, + 4, + 4, + 5, + 0, + 3, + 2, + 6, + 3, + 6, + 3, + 12, + 20, + 3, + 38, + 6, + 2, + 4, + 3, + 14, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 6, + 5, + 7, + 6, + 6, + 5, + 5, + 6, + 10, + 6, + 2, + 4, + 5, + 2, + 4, + 4, + 8, + 3, + 4, + 5, + 3, + 4, + 3, + 7, + 14, + 6, + 0, + 6, + 6, + 5, + 46, + 5, + 0, + 6, + 4, + 4, + 5, + 5, + 4, + 3, + 5, + 3, + 6, + 3, + 4, + 5, + 6, + 3, + 6, + 4, + 0, + 3, + 6, + 17, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 2, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 19, + 6, + 6, + 2, + 4, + 5, + 5, + 4, + 5, + 2, + 3, + 3, + 2, + 2, + 2, + 0, + 4, + 4, + 26, + 6, + 3, + 4, + 0, + 5, + 3, + 14, + 2, + 2, + 4, + 4, + 4, + 6, + 4, + 6, + 6, + 5, + 5, + 11, + 5, + 3, + 5, + 2, + 6, + 29, + 5, + 5, + 5, + 3, + 4, + 4, + 3, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 2, + 2, + 3, + 7, + 6, + 3, + 6, + 3, + 5, + 6, + 6, + 3, + 28, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 19, + 17, + 6, + 5, + 6, + 8, + 6, + 4, + 6, + 9, + 6, + 12, + 0, + 5, + 6, + 3, + 5, + 5, + 3, + 6, + 26, + 3, + 3, + 6, + 5, + 3, + 6, + 4, + 5, + 2, + 2, + 17, + 2, + 14, + 3, + 5, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 5, + 2, + 3, + 6, + 5, + 14, + 6, + 5, + 3, + 6, + 5, + 3, + 0, + 6, + 0, + 3, + 4, + 5, + 4, + 5, + 5, + 5, + 2, + 0, + 5, + 3, + 2, + 2, + 3, + 6, + 7, + 4, + 5, + 5, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 49, + 6, + 14, + 12, + 6, + 5, + 2, + 3, + 5, + 6, + 2, + 12, + 5, + 12, + 2, + 4, + 6, + 17, + 6, + 4, + 4, + 6, + 14, + 4, + 20, + 6, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 4, + 4, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 18, + 6, + 4, + 3, + 4, + 13, + 6, + 5, + 13, + 3, + 3, + 7, + 5, + 0, + 2, + 3, + 12, + 5, + 5, + 3, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 6, + 3, + 4, + 14, + 4, + 2, + 6, + 6, + 14, + 6, + 5, + 3, + 6, + 14, + 6, + 3, + 4, + 3, + 6, + 6, + 5, + 2, + 4, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 4, + 6, + 14, + 4, + 7, + 4, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 4, + 6, + 5, + 21, + 6, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 5, + 5, + 5, + 5, + 6, + 2, + 0, + 6, + 4, + 5, + 3, + 5, + 4, + 3, + 6, + 5, + 5, + 5, + 22, + 2, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 5, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 6, + 7, + 6, + 6, + 4, + 4, + 3, + 4, + 3, + 5, + 3, + 29, + 2, + 4, + 6, + 19, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 15, + 6, + 6, + 5, + 4, + 6, + 3, + 3, + 17, + 22, + 7, + 4, + 4, + 6, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 23, + 5, + 6, + 8, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 5, + 3, + 48, + 22, + 6, + 4, + 5, + 6, + 13, + 4, + 5, + 6, + 0, + 4, + 5, + 6, + 6, + 3, + 5, + 19, + 3, + 6, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 5, + 5, + 6, + 48, + 3, + 5, + 5, + 5, + 6, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 3, + 4, + 5, + 4, + 6, + 6, + 5, + 10, + 6, + 6, + 4, + 3, + 6, + 3, + 5, + 3, + 10, + 6, + 6, + 13, + 6, + 6, + 5, + 5, + 6, + 0, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 2, + 6, + 17, + 3, + 18, + 6, + 5, + 2, + 4, + 5, + 3, + 4, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 5, + 6, + 2, + 5, + 14, + 5, + 33, + 6, + 6, + 4, + 4, + 2, + 6, + 5, + 23, + 6, + 4, + 3, + 5, + 6, + 6, + 3, + 4, + 7, + 6, + 6, + 12, + 6, + 5, + 4, + 6, + 0, + 6, + 6, + 6, + 5, + 4, + 5, + 2, + 6, + 14, + 5, + 4, + 16, + 5, + 6, + 6, + 4, + 3, + 6, + 14, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 4, + 6, + 6, + 5, + 2, + 6, + 3, + 27, + 6, + 47, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 5, + 6, + 0, + 2, + 6, + 30, + 5, + 14, + 14, + 3, + 6, + 5, + 3, + 15, + 5, + 6, + 5, + 6, + 25, + 4, + 6, + 3, + 5, + 6, + 4, + 4, + 5, + 4, + 5, + 3, + 14, + 4, + 2, + 6, + 4, + 4, + 14, + 5, + 6, + 6, + 4, + 3, + 39, + 6, + 6, + 6, + 3, + 2, + 0, + 5, + 6, + 3, + 6, + 6, + 6, + 5, + 3, + 5, + 21, + 6, + 5, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 5, + 7, + 5, + 5, + 6, + 2, + 15, + 6, + 8, + 4, + 3, + 3, + 2, + 6, + 4, + 4, + 6, + 5, + 6, + 5, + 3, + 3, + 6, + 4, + 3, + 6, + 3, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 7, + 6, + 5, + 13, + 6, + 5, + 18, + 6, + 5, + 6, + 5, + 15, + 4, + 6, + 7, + 4, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 3, + 2, + 4, + 6, + 2, + 7, + 6, + 4, + 5, + 4, + 5, + 0, + 3, + 16, + 6, + 5, + 6, + 3, + 17, + 13, + 5, + 4, + 6, + 4, + 6, + 14, + 5, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 6, + 2, + 5, + 3, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 3, + 5, + 7, + 6, + 5, + 6, + 4, + 6, + 3, + 6, + 22, + 4, + 5, + 4, + 19, + 3, + 6, + 9, + 0, + 47, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 2, + 5, + 5, + 6, + 4, + 5, + 6, + 4, + 5, + 6, + 14, + 4, + 6, + 4, + 5, + 5, + 5, + 5, + 5, + 4, + 5, + 4, + 6, + 22, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 4, + 6, + 2, + 6, + 5, + 3, + 3, + 4, + 4, + 6, + 5, + 6, + 6, + 35, + 2, + 3, + 3, + 3, + 2, + 4, + 5, + 6, + 6, + 5, + 2, + 5, + 6, + 21, + 4, + 0, + 6, + 4, + 4, + 3, + 7, + 4, + 37, + 3, + 2, + 4, + 6, + 6, + 5, + 5, + 7, + 5, + 2, + 6, + 5, + 7, + 6, + 5, + 5, + 6, + 5, + 44, + 6, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 6, + 14, + 5, + 4, + 5, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 2, + 3, + 4, + 10, + 6, + 2, + 5, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 3, + 4, + 3, + 3, + 5, + 6, + 2, + 5, + 3, + 3, + 3, + 5, + 5, + 5, + 4, + 4, + 6, + 0, + 6, + 4, + 6, + 4, + 4, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 6, + 10, + 4, + 17, + 3, + 3, + 4, + 3, + 6, + 15, + 5, + 6, + 7, + 3, + 10, + 5, + 5, + 15, + 4, + 6, + 4, + 4, + 6, + 5, + 4, + 4, + 4, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 4, + 2, + 5, + 11, + 3, + 23, + 6, + 13, + 6, + 6, + 5, + 10, + 5, + 5, + 4, + 11, + 14, + 6, + 3, + 5, + 5, + 6, + 4, + 2, + 18, + 6, + 2, + 3, + 5, + 6, + 25, + 2, + 6, + 4, + 5, + 2, + 5, + 6, + 6, + 6, + 6, + 0, + 2, + 5, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 2, + 6, + 3, + 6, + 5, + 5, + 6, + 5, + 3, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 6, + 3, + 0, + 6, + 2, + 5, + 6, + 5, + 21, + 2, + 2, + 36, + 6, + 6, + 11, + 5, + 7, + 0, + 17, + 6, + 4, + 5, + 6, + 6, + 3, + 6, + 2, + 3, + 4, + 6, + 3, + 5, + 36, + 2, + 2, + 5, + 5, + 3, + 3, + 6, + 6, + 3, + 47, + 3, + 3, + 10, + 5, + 6, + 17, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 3, + 2, + 2, + 4, + 6, + 4, + 5, + 16, + 6, + 13, + 6, + 6, + 3, + 3, + 6, + 3, + 2, + 3, + 2, + 6, + 5, + 3, + 5, + 6, + 38, + 6, + 4, + 0, + 4, + 4, + 5, + 2, + 5, + 6, + 4, + 3, + 6, + 5, + 15, + 3, + 5, + 3, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 3, + 4, + 0, + 42, + 5, + 4, + 5, + 7, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 6, + 14, + 3, + 3, + 3, + 6, + 5, + 4, + 25, + 6, + 6, + 2, + 5, + 5, + 3, + 4, + 3, + 3, + 3, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 4, + 3, + 6, + 7, + 4, + 5, + 3, + 2, + 3, + 5, + 5, + 5, + 2, + 3, + 5, + 2, + 5, + 14, + 3, + 6, + 0, + 6, + 6, + 4, + 3, + 5, + 5, + 3, + 0, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 13, + 4, + 6, + 2, + 4, + 2, + 3, + 5, + 5, + 2, + 2, + 5, + 4, + 5, + 4, + 0, + 22, + 3, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 3, + 4, + 2, + 6, + 3, + 3, + 5, + 6, + 4, + 3, + 6, + 6, + 6, + 6, + 17, + 5, + 5, + 5, + 3, + 4, + 6, + 5, + 4, + 6, + 3, + 3, + 4, + 14, + 5, + 4, + 5, + 4, + 8, + 4, + 5, + 5, + 4, + 25, + 6, + 12, + 3, + 3, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 3, + 7, + 3, + 6, + 3, + 6, + 2, + 6, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 5, + 15, + 5, + 5, + 6, + 22, + 6, + 6, + 2, + 5, + 4, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 4, + 4, + 14, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 0, + 13, + 7, + 3, + 5, + 3, + 2, + 46, + 4, + 6, + 6, + 2, + 5, + 5, + 6, + 3, + 49, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 5, + 6, + 3, + 14, + 3, + 35, + 0, + 6, + 0, + 6, + 5, + 3, + 5, + 4, + 20, + 6, + 6, + 5, + 5, + 3, + 28, + 6, + 3, + 3, + 5, + 4, + 2, + 2, + 5, + 8, + 3, + 4, + 16, + 5, + 5, + 3, + 4, + 3, + 6, + 6, + 4, + 6, + 5, + 4, + 13, + 6, + 6, + 6, + 2, + 6, + 5, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 6, + 8, + 4, + 2, + 3, + 6, + 5, + 5, + 4, + 6, + 28, + 6, + 5, + 5, + 6, + 2, + 6, + 3, + 4, + 5, + 6, + 4, + 3, + 5, + 7, + 4, + 6, + 3, + 3, + 4, + 6, + 5, + 14, + 3, + 30, + 6, + 6, + 6, + 5, + 6, + 42, + 4, + 14, + 6, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 4, + 5, + 5, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 5, + 20, + 6, + 6, + 3, + 4, + 6, + 5, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 5, + 6, + 5, + 5, + 2, + 3, + 5, + 3, + 6, + 2, + 6, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 3, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 0, + 14, + 5, + 3, + 28, + 5, + 5, + 6, + 4, + 6, + 7, + 14, + 4, + 5, + 6, + 5, + 5, + 23, + 14, + 6, + 6, + 6, + 31, + 5, + 5, + 6, + 5, + 5, + 4, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 0, + 5, + 5, + 2, + 2, + 3, + 3, + 5, + 5, + 25, + 3, + 3, + 4, + 3, + 3, + 6, + 2, + 5, + 3, + 16, + 6, + 3, + 4, + 5, + 4, + 3, + 0, + 5, + 4, + 15, + 6, + 0, + 6, + 6, + 14, + 6, + 5, + 5, + 4, + 6, + 4, + 4, + 6, + 2, + 6, + 4, + 2, + 14, + 5, + 4, + 5, + 3, + 2, + 4, + 6, + 3, + 5, + 4, + 6, + 29, + 3, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 2, + 4, + 4, + 5, + 2, + 5, + 13, + 6, + 5, + 4, + 9, + 6, + 14, + 6, + 13, + 6, + 2, + 3, + 2, + 4, + 5, + 4, + 2, + 6, + 0, + 3, + 6, + 2, + 3, + 4, + 5, + 6, + 5, + 6, + 6, + 14, + 6, + 6, + 6, + 4, + 4, + 3, + 4, + 2, + 6, + 30, + 4, + 5, + 6, + 5, + 0, + 5, + 7, + 5, + 3, + 5, + 3, + 6, + 6, + 5, + 4, + 5, + 3, + 5, + 3, + 6, + 4, + 5, + 2, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 8, + 6, + 7, + 4, + 2, + 2, + 0, + 5, + 3, + 6, + 3, + 3, + 6, + 4, + 4, + 6, + 3, + 4, + 5, + 3, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 14, + 3, + 6, + 6, + 3, + 6, + 6, + 4, + 14, + 14, + 6, + 5, + 6, + 6, + 4, + 3, + 6, + 5, + 5, + 5, + 47, + 6, + 3, + 3, + 6, + 14, + 6, + 3, + 3, + 5, + 4, + 6, + 5, + 6, + 4, + 6, + 2, + 5, + 14, + 6, + 5, + 6, + 4, + 6, + 7, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 5, + 6, + 20, + 4, + 5, + 3, + 5, + 2, + 2, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 6, + 12, + 6, + 17, + 6, + 5, + 0, + 4, + 5, + 5, + 14, + 0, + 4, + 5, + 6, + 4, + 4, + 44, + 2, + 6, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 6, + 14, + 6, + 6, + 3, + 4, + 3, + 6, + 6, + 2, + 19, + 6, + 5, + 2, + 42, + 5, + 3, + 4, + 5, + 3, + 6, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 0, + 4, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 4, + 5, + 5, + 0, + 5, + 11, + 21, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 26, + 6, + 6, + 6, + 3, + 2, + 4, + 4, + 4, + 5, + 4, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 5, + 5, + 5, + 5, + 6, + 3, + 6, + 4, + 6, + 7, + 6, + 5, + 6, + 10, + 3, + 3, + 6, + 14, + 6, + 6, + 3, + 3, + 3, + 6, + 4, + 4, + 4, + 6, + 5, + 3, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 12, + 5, + 5, + 2, + 6, + 4, + 6, + 4, + 5, + 6, + 3, + 3, + 4, + 3, + 3, + 0, + 2, + 12, + 4, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 2, + 3, + 5, + 5, + 6, + 5, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 14, + 14, + 6, + 5, + 6, + 4, + 6, + 0, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 16, + 6, + 2, + 5, + 5, + 3, + 12, + 6, + 6, + 6, + 6, + 3, + 6, + 3, + 4, + 5, + 5, + 6, + 5, + 3, + 5, + 4, + 3, + 5, + 3, + 12, + 6, + 4, + 6, + 4, + 5, + 3, + 4, + 3, + 5, + 5, + 6, + 12, + 6, + 6, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 3, + 5, + 6, + 5, + 6, + 5, + 3, + 12, + 4, + 4, + 3, + 6, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 3, + 6, + 8, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 14, + 2, + 0, + 5, + 3, + 5, + 5, + 5, + 7, + 2, + 4, + 5, + 4, + 0, + 3, + 4, + 6, + 5, + 6, + 5, + 5, + 3, + 5, + 3, + 3, + 6, + 6, + 6, + 6, + 2, + 5, + 4, + 6, + 6, + 29, + 5, + 6, + 4, + 10, + 5, + 6, + 3, + 14, + 3, + 4, + 4, + 6, + 4, + 6, + 4, + 6, + 3, + 4, + 5, + 2, + 4, + 27, + 6, + 7, + 6, + 5, + 5, + 2, + 29, + 3, + 3, + 5, + 7, + 8, + 6, + 3, + 6, + 5, + 5, + 0, + 6, + 7, + 6, + 4, + 6, + 3, + 4, + 4, + 6, + 6, + 5, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 12, + 5, + 5, + 0, + 2, + 5, + 6, + 3, + 6, + 6, + 5, + 5, + 2, + 6, + 5, + 3, + 4, + 6, + 2, + 29, + 3, + 6, + 2, + 5, + 2, + 6, + 4, + 0, + 5, + 4, + 6, + 6, + 4, + 3, + 7, + 2, + 4, + 3, + 6, + 4, + 4, + 4, + 6, + 4, + 6, + 5, + 4, + 4, + 4, + 29, + 3, + 12, + 5, + 12, + 3, + 4, + 5, + 2, + 31, + 4, + 6, + 7, + 6, + 5, + 5, + 3, + 4, + 3, + 5, + 4, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 4, + 14, + 5, + 5, + 8, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 2, + 4, + 5, + 0, + 4, + 3, + 16, + 6, + 6, + 12, + 6, + 6, + 4, + 6, + 6, + 19, + 4, + 6, + 5, + 4, + 3, + 27, + 3, + 5, + 5, + 6, + 6, + 6, + 16, + 6, + 5, + 2, + 4, + 2, + 3, + 6, + 5, + 0, + 2, + 3, + 14, + 5, + 4, + 5, + 5, + 2, + 4, + 2, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 3, + 6, + 3, + 18, + 6, + 4, + 5, + 4, + 3, + 0, + 13, + 5, + 3, + 6, + 4, + 4, + 5, + 4, + 6, + 2, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 32, + 6, + 5, + 6, + 0, + 6, + 49, + 3, + 3, + 6, + 14, + 5, + 2, + 5, + 3, + 3, + 2, + 6, + 44, + 3, + 4, + 5, + 7, + 6, + 6, + 7, + 4, + 6, + 5, + 2, + 21, + 6, + 2, + 3, + 2, + 7, + 4, + 6, + 5, + 4, + 6, + 5, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 3, + 0, + 3, + 5, + 5, + 5, + 6, + 40, + 12, + 6, + 5, + 3, + 3, + 4, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 2, + 6, + 5, + 25, + 6, + 6, + 5, + 6, + 6, + 0, + 5, + 5, + 5, + 5, + 15, + 6, + 4, + 20, + 5, + 5, + 6, + 4, + 4, + 5, + 2, + 3, + 5, + 4, + 5, + 6, + 5, + 6, + 10, + 5, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 2, + 5, + 12, + 5, + 3, + 4, + 6, + 6, + 5, + 3, + 14, + 6, + 5, + 5, + 6, + 34, + 0, + 3, + 13, + 6, + 5, + 6, + 5, + 6, + 4, + 3, + 5, + 7, + 23, + 5, + 6, + 6, + 12, + 6, + 7, + 12, + 2, + 6, + 5, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 5, + 6, + 4, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 5, + 4, + 14, + 6, + 4, + 4, + 6, + 14, + 4, + 14, + 3, + 6, + 3, + 17, + 6, + 6, + 6, + 6, + 6, + 2, + 6, + 6, + 2, + 3, + 6, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 5, + 14, + 4, + 3, + 25, + 6, + 6, + 12, + 5, + 5, + 44, + 6, + 3, + 7, + 4, + 4, + 2, + 5, + 5, + 2, + 2, + 4, + 6, + 0, + 5, + 25, + 3, + 12, + 2, + 6, + 6, + 9, + 2, + 4, + 6, + 5, + 5, + 6, + 3, + 6, + 3, + 4, + 5, + 6, + 6, + 4, + 3, + 5, + 3, + 4, + 4, + 4, + 6, + 4, + 3, + 5, + 3, + 3, + 7, + 2, + 5, + 4, + 5, + 3, + 2, + 25, + 38, + 5, + 4, + 6, + 5, + 2, + 6, + 12, + 2, + 4, + 4, + 5, + 2, + 6, + 12, + 3, + 6, + 4, + 5, + 5, + 4, + 3, + 2, + 5, + 5, + 5, + 3, + 4, + 10, + 3, + 6, + 21, + 4, + 2, + 4, + 6, + 6, + 2, + 6, + 5, + 5, + 5, + 2, + 5, + 5, + 50, + 2, + 6, + 0, + 22, + 6, + 6, + 6, + 5, + 0, + 5, + 14, + 3, + 6, + 2, + 0, + 25, + 5, + 6, + 30, + 2, + 5, + 4, + 4, + 3, + 6, + 12, + 6, + 3, + 2, + 5, + 6, + 21, + 6, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 4, + 5, + 3, + 6, + 4, + 2, + 4, + 2, + 0, + 14, + 6, + 11, + 5, + 6, + 5, + 3, + 3, + 8, + 4, + 3, + 4, + 6, + 3, + 22, + 3, + 6, + 4, + 6, + 4, + 5, + 44, + 5, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 48, + 6, + 3, + 2, + 6, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 21, + 4, + 6, + 4, + 3, + 4, + 0, + 0, + 6, + 7, + 6, + 5, + 6, + 2, + 2, + 0, + 5, + 5, + 5, + 4, + 4, + 5, + 14, + 4, + 4, + 5, + 5, + 7, + 4, + 2, + 4, + 5, + 5, + 3, + 5, + 3, + 17, + 6, + 5, + 6, + 4, + 3, + 6, + 6, + 5, + 6, + 4, + 4, + 28, + 6, + 2, + 6, + 6, + 5, + 2, + 37, + 3, + 6, + 6, + 4, + 5, + 6, + 28, + 3, + 3, + 3, + 2, + 5, + 5, + 6, + 17, + 8, + 5, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 6, + 3, + 3, + 3, + 4, + 17, + 5, + 4, + 5, + 22, + 6, + 5, + 6, + 3, + 3, + 5, + 3, + 5, + 6, + 3, + 4, + 14, + 5, + 7, + 6, + 6, + 5, + 4, + 3, + 3, + 5, + 4, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 6, + 6, + 6, + 6, + 12, + 5, + 5, + 2, + 5, + 5, + 6, + 6, + 5, + 0, + 6, + 6, + 4, + 7, + 4, + 5, + 4, + 5, + 2, + 5, + 2, + 2, + 4, + 3, + 6, + 4, + 4, + 5, + 3, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 6, + 4, + 4, + 5, + 4, + 2, + 5, + 22, + 6, + 6, + 6, + 5, + 4, + 3, + 6, + 5, + 21, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 5, + 3, + 6, + 8, + 6, + 6, + 4, + 6, + 4, + 6, + 2, + 6, + 14, + 4, + 4, + 6, + 4, + 2, + 5, + 2, + 6, + 6, + 5, + 6, + 6, + 4, + 5, + 6, + 14, + 6, + 5, + 4, + 2, + 6, + 6, + 6, + 4, + 25, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 2, + 0, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 6, + 0, + 7, + 5, + 4, + 5, + 13, + 35, + 5, + 6, + 5, + 12, + 4, + 2, + 5, + 3, + 6, + 14, + 2, + 5, + 6, + 6, + 5, + 6, + 0, + 6, + 29, + 14, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 17, + 6, + 2, + 17, + 6, + 5, + 22, + 4, + 5, + 3, + 22, + 28, + 6, + 0, + 6, + 6, + 12, + 6, + 4, + 6, + 6, + 4, + 4, + 6, + 10, + 6, + 3, + 3, + 2, + 6, + 11, + 5, + 6, + 2, + 3, + 5, + 4, + 6, + 5, + 4, + 6, + 2, + 14, + 6, + 4, + 3, + 6, + 3, + 3, + 5, + 14, + 2, + 3, + 2, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 2, + 3, + 5, + 5, + 5, + 3, + 4, + 6, + 46, + 4, + 7, + 5, + 14, + 3, + 2, + 6, + 4, + 3, + 6, + 6, + 3, + 4, + 3, + 4, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 2, + 4, + 13, + 3, + 6, + 4, + 2, + 20, + 4, + 6, + 3, + 18, + 4, + 5, + 3, + 4, + 6, + 4, + 6, + 2, + 5, + 5, + 5, + 6, + 5, + 6, + 15, + 6, + 5, + 13, + 6, + 3, + 3, + 5, + 20, + 5, + 5, + 4, + 6, + 4, + 6, + 6, + 4, + 6, + 6, + 7, + 21, + 4, + 6, + 5, + 4, + 8, + 6, + 3, + 6, + 5, + 6, + 3, + 6, + 4, + 7, + 5, + 4, + 4, + 3, + 6, + 2, + 5, + 5, + 6, + 5, + 6, + 5, + 22, + 4, + 5, + 5, + 5, + 2, + 4, + 12, + 2, + 6, + 6, + 15, + 3, + 4, + 6, + 5, + 4, + 3, + 5, + 17, + 7, + 6, + 3, + 3, + 6, + 6, + 3, + 0, + 3, + 5, + 4, + 7, + 5, + 5, + 6, + 12, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 2, + 5, + 3, + 6, + 14, + 6, + 5, + 5, + 3, + 5, + 14, + 2, + 3, + 3, + 5, + 5, + 5, + 4, + 2, + 4, + 5, + 6, + 3, + 3, + 4, + 21, + 3, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 6, + 5, + 4, + 5, + 6, + 8, + 4, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 3, + 6, + 3, + 6, + 4, + 6, + 5, + 6, + 3, + 3, + 5, + 16, + 15, + 6, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 2, + 9, + 6, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 2, + 6, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 4, + 2, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 3, + 0, + 5, + 5, + 10, + 3, + 3, + 3, + 14, + 3, + 6, + 6, + 4, + 5, + 4, + 0, + 6, + 5, + 7, + 5, + 2, + 5, + 20, + 5, + 5, + 5, + 5, + 5, + 4, + 4, + 3, + 5, + 6, + 3, + 6, + 3, + 6, + 4, + 4, + 2, + 5, + 6, + 4, + 4, + 19, + 6, + 5, + 2, + 3, + 6, + 4, + 4, + 6, + 5, + 42, + 6, + 7, + 3, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 4, + 14, + 6, + 19, + 3, + 3, + 6, + 6, + 3, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 5, + 2, + 6, + 5, + 3, + 3, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 5, + 21, + 3, + 6, + 2, + 12, + 3, + 5, + 14, + 3, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 3, + 14, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 3, + 26, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 5, + 14, + 3, + 6, + 2, + 6, + 6, + 6, + 6, + 3, + 6, + 5, + 7, + 2, + 2, + 25, + 5, + 5, + 7, + 2, + 49, + 5, + 5, + 3, + 5, + 22, + 6, + 5, + 5, + 4, + 14, + 6, + 6, + 21, + 3, + 0, + 3, + 4, + 6, + 6, + 2, + 4, + 16, + 6, + 3, + 5, + 6, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 4, + 6, + 3, + 6, + 6, + 6, + 5, + 6, + 3, + 2, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 3, + 4, + 4, + 6, + 22, + 6, + 2, + 6, + 18, + 5, + 4, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 5, + 5, + 0, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 5, + 10, + 5, + 6, + 3, + 4, + 5, + 5, + 4, + 6, + 5, + 4, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 14, + 3, + 40, + 5, + 4, + 3, + 6, + 6, + 3, + 4, + 14, + 4, + 6, + 2, + 4, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 4, + 8, + 2, + 6, + 4, + 5, + 0, + 4, + 5, + 22, + 5, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 0, + 5, + 6, + 0, + 5, + 2, + 17, + 2, + 6, + 5, + 6, + 4, + 3, + 2, + 6, + 4, + 3, + 4, + 6, + 6, + 6, + 2, + 17, + 6, + 5, + 14, + 6, + 6, + 4, + 2, + 4, + 0, + 6, + 2, + 3, + 2, + 5, + 2, + 5, + 6, + 4, + 6, + 5, + 2, + 4, + 3, + 5, + 3, + 3, + 3, + 5, + 6, + 6, + 14, + 24, + 14, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 5, + 5, + 13, + 4, + 5, + 7, + 2, + 12, + 6, + 6, + 5, + 4, + 5, + 16, + 5, + 49, + 5, + 5, + 3, + 6, + 4, + 4, + 5, + 14, + 3, + 5, + 4, + 5, + 4, + 6, + 3, + 5, + 3, + 6, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 14, + 6, + 41, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 13, + 0, + 5, + 4, + 5, + 4, + 4, + 6, + 6, + 4, + 6, + 5, + 5, + 4, + 6, + 6, + 7, + 4, + 2, + 5, + 4, + 5, + 2, + 5, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 19, + 3, + 6, + 5, + 6, + 3, + 2, + 5, + 5, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 22, + 3, + 36, + 5, + 6, + 5, + 20, + 0, + 6, + 5, + 5, + 5, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 6, + 4, + 3, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 3, + 6, + 2, + 3, + 6, + 6, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 2, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 7, + 6, + 6, + 6, + 6, + 0, + 4, + 3, + 6, + 6, + 2, + 5, + 6, + 6, + 6, + 11, + 6, + 4, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 4, + 6, + 51, + 4, + 24, + 5, + 3, + 28, + 5, + 6, + 4, + 6, + 6, + 5, + 6, + 32, + 3, + 2, + 6, + 5, + 5, + 3, + 4, + 14, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 6, + 4, + 6, + 6, + 3, + 14, + 6, + 5, + 6, + 3, + 7, + 6, + 5, + 15, + 2, + 3, + 4, + 5, + 6, + 6, + 5, + 4, + 6, + 6, + 9, + 6, + 6, + 13, + 13, + 6, + 6, + 5, + 6, + 0, + 6, + 6, + 3, + 6, + 5, + 6, + 3, + 4, + 3, + 17, + 6, + 3, + 3, + 2, + 3, + 3, + 6, + 5, + 20, + 3, + 5, + 23, + 4, + 5, + 3, + 3, + 3, + 2, + 6, + 5, + 4, + 6, + 0, + 4, + 5, + 14, + 5, + 5, + 6, + 2, + 5, + 6, + 17, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 7, + 5, + 3, + 5, + 5, + 2, + 5, + 6, + 16, + 2, + 4, + 5, + 4, + 6, + 5, + 5, + 3, + 4, + 14, + 4, + 3, + 6, + 6, + 5, + 3, + 13, + 14, + 5, + 5, + 6, + 12, + 5, + 3, + 3, + 2, + 6, + 4, + 5, + 2, + 6, + 25, + 3, + 5, + 4, + 6, + 3, + 3, + 4, + 2, + 4, + 7, + 6, + 2, + 6, + 7, + 2, + 6, + 5, + 3, + 6, + 4, + 5, + 5, + 6, + 3, + 3, + 5, + 6, + 3, + 5, + 14, + 6, + 5, + 3, + 6, + 6, + 4, + 6, + 14, + 14, + 15, + 4, + 4, + 5, + 8, + 4, + 4, + 10, + 6, + 6, + 0, + 7, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 3, + 5, + 4, + 6, + 6, + 0, + 6, + 6, + 4, + 6, + 6, + 14, + 2, + 4, + 5, + 6, + 2, + 6, + 13, + 6, + 4, + 4, + 5, + 14, + 5, + 0, + 3, + 6, + 3, + 6, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 4, + 6, + 4, + 6, + 6, + 4, + 3, + 2, + 14, + 4, + 6, + 5, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 3, + 7, + 6, + 4, + 6, + 4, + 4, + 3, + 6, + 3, + 3, + 6, + 4, + 0, + 4, + 5, + 4, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 48, + 6, + 2, + 4, + 5, + 5, + 3, + 4, + 4, + 5, + 7, + 4, + 42, + 5, + 33, + 3, + 6, + 6, + 16, + 0, + 2, + 6, + 4, + 6, + 6, + 14, + 5, + 3, + 6, + 6, + 6, + 2, + 5, + 2, + 45, + 5, + 30, + 4, + 6, + 6, + 2, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 7, + 4, + 3, + 6, + 6, + 42, + 6, + 6, + 4, + 20, + 8, + 5, + 6, + 3, + 5, + 5, + 3, + 5, + 5, + 4, + 5, + 3, + 6, + 5, + 6, + 9, + 3, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 2, + 4, + 4, + 6, + 4, + 6, + 3, + 14, + 2, + 5, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 5, + 4, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 4, + 2, + 4, + 8, + 5, + 3, + 0, + 5, + 6, + 4, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 6, + 39, + 4, + 3, + 4, + 6, + 4, + 4, + 4, + 4, + 6, + 14, + 10, + 7, + 5, + 2, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 7, + 4, + 6, + 5, + 5, + 4, + 6, + 5, + 2, + 4, + 3, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 7, + 5, + 6, + 5, + 6, + 3, + 4, + 3, + 3, + 6, + 4, + 5, + 5, + 2, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 2, + 4, + 6, + 3, + 6, + 2, + 3, + 2, + 6, + 5, + 6, + 6, + 0, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 35, + 2, + 5, + 5, + 0, + 5, + 5, + 4, + 5, + 4, + 5, + 5, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 2, + 5, + 14, + 5, + 29, + 7, + 5, + 6, + 6, + 4, + 6, + 12, + 6, + 6, + 5, + 6, + 4, + 5, + 4, + 7, + 4, + 5, + 4, + 6, + 4, + 2, + 2, + 39, + 6, + 5, + 3, + 14, + 2, + 6, + 5, + 6, + 4, + 5, + 4, + 2, + 2, + 6, + 6, + 5, + 17, + 6, + 6, + 6, + 2, + 6, + 3, + 0, + 4, + 6, + 5, + 5, + 49, + 2, + 43, + 3, + 4, + 3, + 2, + 2, + 2, + 6, + 6, + 5, + 2, + 5, + 7, + 6, + 4, + 7, + 5, + 6, + 6, + 5, + 3, + 4, + 3, + 6, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 3, + 44, + 3, + 3, + 5, + 4, + 4, + 4, + 4, + 6, + 3, + 13, + 4, + 6, + 6, + 4, + 2, + 5, + 6, + 3, + 5, + 20, + 6, + 2, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 6, + 2, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 14, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 4, + 8, + 8, + 11, + 6, + 3, + 5, + 6, + 6, + 10, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 39, + 8, + 14, + 12, + 5, + 6, + 5, + 6, + 3, + 6, + 4, + 6, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 0, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 0, + 3, + 4, + 4, + 14, + 6, + 6, + 6, + 5, + 0, + 6, + 6, + 3, + 3, + 5, + 5, + 6, + 3, + 6, + 6, + 4, + 4, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 5, + 6, + 12, + 4, + 4, + 35, + 6, + 6, + 6, + 4, + 50, + 6, + 5, + 6, + 6, + 0, + 5, + 3, + 6, + 4, + 4, + 6, + 6, + 6, + 6, + 0, + 3, + 6, + 3, + 33, + 4, + 4, + 3, + 6, + 5, + 6, + 6, + 4, + 13, + 6, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 6, + 5, + 3, + 0, + 6, + 4, + 5, + 14, + 3, + 8, + 3, + 6, + 3, + 5, + 5, + 5, + 4, + 5, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 6, + 6, + 5, + 0, + 4, + 5, + 14, + 0, + 0, + 5, + 0, + 4, + 5, + 4, + 5, + 4, + 5, + 5, + 5, + 19, + 4, + 14, + 0, + 5, + 4, + 19, + 5, + 4, + 14, + 5, + 0, + 5, + 4, + 0, + 4, + 14, + 4, + 4, + 8, + 0, + 5, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 14, + 4, + 0, + 10, + 33, + 5, + 8, + 4 +] \ No newline at end of file diff --git a/siftsmall/testing_data/base_attrs_sift1m_nc=12_assignment=rand.json b/siftsmall/testing_data/base_attrs_sift1m_nc=12_assignment=rand.json new file mode 100644 index 0000000..df8608b --- /dev/null +++ b/siftsmall/testing_data/base_attrs_sift1m_nc=12_assignment=rand.json @@ -0,0 +1,10002 @@ +[ + 2, + 6, + 6, + 0, + 6, + 4, + 6, + 6, + 4, + 6, + 3, + 5, + 5, + 6, + 2, + 13, + 6, + 10, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 6, + 5, + 2, + 6, + 5, + 6, + 4, + 6, + 6, + 3, + 3, + 4, + 2, + 6, + 5, + 6, + 3, + 28, + 6, + 2, + 5, + 6, + 26, + 5, + 6, + 5, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 5, + 6, + 6, + 3, + 5, + 7, + 6, + 2, + 6, + 4, + 10, + 5, + 6, + 6, + 5, + 6, + 6, + 7, + 3, + 2, + 31, + 2, + 0, + 4, + 4, + 2, + 5, + 5, + 2, + 4, + 12, + 6, + 6, + 3, + 30, + 6, + 2, + 6, + 14, + 4, + 6, + 3, + 4, + 4, + 50, + 14, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 6, + 10, + 6, + 49, + 6, + 3, + 4, + 4, + 6, + 0, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 3, + 4, + 5, + 6, + 5, + 3, + 7, + 6, + 6, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 3, + 2, + 5, + 6, + 5, + 4, + 6, + 14, + 3, + 6, + 5, + 5, + 6, + 0, + 6, + 3, + 3, + 5, + 4, + 3, + 5, + 2, + 6, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 5, + 4, + 6, + 3, + 5, + 13, + 6, + 6, + 3, + 2, + 5, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 5, + 6, + 4, + 7, + 5, + 5, + 5, + 4, + 6, + 4, + 5, + 4, + 3, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 5, + 4, + 3, + 6, + 6, + 6, + 6, + 5, + 6, + 7, + 5, + 3, + 7, + 5, + 5, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 5, + 6, + 6, + 5, + 3, + 5, + 6, + 5, + 3, + 3, + 5, + 4, + 4, + 3, + 28, + 5, + 17, + 5, + 3, + 5, + 4, + 5, + 6, + 5, + 5, + 0, + 4, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 6, + 16, + 18, + 5, + 6, + 0, + 3, + 2, + 6, + 6, + 5, + 5, + 5, + 2, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 0, + 3, + 6, + 5, + 4, + 5, + 2, + 10, + 3, + 17, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 2, + 4, + 2, + 4, + 6, + 17, + 6, + 2, + 5, + 4, + 4, + 4, + 22, + 3, + 0, + 4, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 5, + 6, + 14, + 10, + 5, + 6, + 2, + 6, + 6, + 5, + 2, + 6, + 4, + 12, + 4, + 5, + 17, + 3, + 6, + 6, + 5, + 5, + 5, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 17, + 3, + 5, + 5, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 6, + 6, + 17, + 6, + 6, + 6, + 4, + 6, + 5, + 3, + 15, + 6, + 5, + 4, + 6, + 4, + 6, + 22, + 6, + 2, + 4, + 10, + 2, + 19, + 6, + 5, + 4, + 5, + 3, + 3, + 7, + 6, + 6, + 3, + 6, + 5, + 2, + 8, + 5, + 4, + 4, + 6, + 3, + 5, + 4, + 12, + 3, + 5, + 2, + 3, + 2, + 2, + 14, + 6, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 5, + 3, + 5, + 2, + 4, + 4, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 0, + 14, + 5, + 3, + 2, + 4, + 3, + 3, + 6, + 5, + 6, + 14, + 6, + 6, + 2, + 3, + 3, + 0, + 0, + 5, + 6, + 3, + 6, + 3, + 3, + 6, + 5, + 6, + 0, + 4, + 5, + 4, + 3, + 6, + 6, + 6, + 3, + 14, + 4, + 6, + 4, + 6, + 6, + 6, + 2, + 4, + 6, + 4, + 3, + 4, + 4, + 3, + 6, + 6, + 6, + 5, + 6, + 17, + 6, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 14, + 0, + 2, + 4, + 14, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 2, + 3, + 5, + 15, + 5, + 2, + 3, + 5, + 0, + 38, + 6, + 0, + 3, + 6, + 6, + 5, + 0, + 6, + 6, + 5, + 14, + 6, + 4, + 6, + 6, + 6, + 14, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 4, + 6, + 3, + 6, + 40, + 2, + 5, + 3, + 10, + 3, + 2, + 7, + 5, + 6, + 6, + 2, + 5, + 3, + 3, + 4, + 6, + 3, + 6, + 6, + 4, + 6, + 23, + 6, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 6, + 7, + 5, + 8, + 6, + 6, + 3, + 6, + 6, + 4, + 5, + 0, + 6, + 6, + 5, + 4, + 6, + 14, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 5, + 6, + 3, + 5, + 5, + 6, + 2, + 15, + 2, + 6, + 3, + 2, + 6, + 4, + 5, + 4, + 5, + 5, + 6, + 5, + 2, + 2, + 12, + 5, + 6, + 4, + 4, + 6, + 6, + 5, + 3, + 5, + 3, + 5, + 3, + 5, + 5, + 5, + 3, + 5, + 0, + 5, + 17, + 5, + 6, + 4, + 5, + 0, + 5, + 6, + 2, + 3, + 2, + 6, + 4, + 6, + 5, + 4, + 3, + 2, + 3, + 5, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 6, + 6, + 3, + 4, + 2, + 6, + 3, + 6, + 3, + 6, + 5, + 0, + 6, + 6, + 3, + 6, + 3, + 5, + 3, + 4, + 4, + 6, + 4, + 3, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 3, + 3, + 3, + 5, + 5, + 5, + 5, + 4, + 6, + 4, + 2, + 6, + 14, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 15, + 6, + 2, + 5, + 10, + 5, + 5, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 3, + 12, + 6, + 5, + 6, + 3, + 4, + 5, + 13, + 3, + 15, + 6, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 4, + 6, + 2, + 22, + 3, + 6, + 5, + 5, + 4, + 4, + 6, + 3, + 4, + 6, + 2, + 2, + 3, + 2, + 5, + 6, + 6, + 2, + 6, + 5, + 2, + 6, + 5, + 6, + 5, + 4, + 6, + 6, + 6, + 8, + 5, + 3, + 5, + 3, + 4, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 2, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 12, + 3, + 14, + 6, + 14, + 3, + 5, + 3, + 4, + 4, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 17, + 3, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 12, + 4, + 5, + 5, + 4, + 5, + 5, + 5, + 6, + 6, + 9, + 6, + 3, + 4, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 4, + 4, + 4, + 2, + 4, + 14, + 5, + 5, + 5, + 4, + 25, + 6, + 6, + 3, + 4, + 4, + 4, + 4, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 5, + 6, + 3, + 4, + 5, + 6, + 20, + 4, + 4, + 6, + 3, + 5, + 6, + 5, + 3, + 3, + 3, + 4, + 2, + 2, + 3, + 2, + 6, + 5, + 0, + 14, + 2, + 6, + 6, + 6, + 5, + 6, + 2, + 5, + 4, + 4, + 6, + 4, + 6, + 2, + 5, + 6, + 5, + 5, + 6, + 39, + 13, + 4, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 6, + 3, + 6, + 3, + 3, + 5, + 6, + 2, + 6, + 6, + 6, + 14, + 14, + 6, + 4, + 7, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 5, + 4, + 6, + 3, + 6, + 2, + 6, + 4, + 4, + 13, + 5, + 3, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 4, + 4, + 20, + 2, + 6, + 5, + 5, + 6, + 4, + 4, + 4, + 5, + 6, + 3, + 17, + 6, + 14, + 6, + 5, + 5, + 6, + 3, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 4, + 3, + 9, + 5, + 5, + 6, + 6, + 5, + 2, + 25, + 4, + 6, + 3, + 6, + 6, + 6, + 2, + 6, + 6, + 4, + 3, + 20, + 6, + 6, + 6, + 0, + 6, + 6, + 49, + 6, + 5, + 5, + 5, + 48, + 14, + 6, + 3, + 5, + 5, + 0, + 2, + 4, + 6, + 4, + 5, + 6, + 2, + 8, + 6, + 3, + 14, + 6, + 5, + 3, + 4, + 6, + 6, + 3, + 4, + 4, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 4, + 4, + 6, + 13, + 39, + 4, + 6, + 6, + 3, + 4, + 3, + 6, + 3, + 6, + 3, + 3, + 5, + 15, + 6, + 6, + 5, + 5, + 6, + 5, + 3, + 5, + 6, + 6, + 3, + 10, + 6, + 6, + 5, + 0, + 3, + 3, + 5, + 4, + 4, + 14, + 5, + 6, + 5, + 18, + 19, + 5, + 5, + 6, + 2, + 6, + 5, + 14, + 5, + 5, + 2, + 6, + 3, + 6, + 6, + 14, + 3, + 6, + 6, + 3, + 4, + 19, + 8, + 6, + 4, + 3, + 6, + 4, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 0, + 6, + 19, + 6, + 3, + 4, + 6, + 6, + 3, + 6, + 5, + 4, + 4, + 5, + 43, + 5, + 5, + 6, + 6, + 4, + 4, + 5, + 17, + 6, + 6, + 14, + 4, + 6, + 14, + 4, + 5, + 7, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 6, + 12, + 4, + 5, + 4, + 6, + 6, + 3, + 5, + 5, + 13, + 6, + 3, + 2, + 13, + 3, + 6, + 3, + 4, + 2, + 3, + 6, + 6, + 14, + 3, + 5, + 5, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 16, + 2, + 6, + 5, + 30, + 6, + 5, + 4, + 6, + 6, + 3, + 5, + 2, + 4, + 4, + 5, + 0, + 5, + 6, + 6, + 6, + 5, + 5, + 5, + 18, + 5, + 6, + 4, + 0, + 3, + 3, + 6, + 5, + 6, + 6, + 13, + 3, + 2, + 6, + 12, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 4, + 5, + 4, + 2, + 5, + 2, + 0, + 7, + 0, + 3, + 2, + 4, + 24, + 4, + 6, + 14, + 5, + 6, + 6, + 13, + 4, + 4, + 5, + 6, + 6, + 3, + 5, + 2, + 6, + 5, + 4, + 5, + 2, + 4, + 6, + 22, + 6, + 6, + 5, + 6, + 5, + 20, + 5, + 3, + 4, + 6, + 6, + 6, + 5, + 2, + 3, + 3, + 14, + 6, + 4, + 5, + 3, + 12, + 2, + 5, + 3, + 5, + 2, + 2, + 4, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 6, + 3, + 6, + 14, + 4, + 6, + 4, + 6, + 4, + 2, + 4, + 3, + 2, + 6, + 5, + 2, + 6, + 6, + 0, + 23, + 5, + 5, + 5, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 6, + 6, + 9, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 17, + 6, + 8, + 5, + 15, + 4, + 2, + 3, + 5, + 6, + 5, + 4, + 5, + 4, + 4, + 4, + 26, + 4, + 6, + 17, + 5, + 7, + 6, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 14, + 6, + 14, + 5, + 6, + 5, + 0, + 5, + 3, + 6, + 4, + 7, + 6, + 3, + 5, + 13, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 5, + 6, + 14, + 7, + 5, + 3, + 6, + 3, + 7, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 2, + 14, + 3, + 4, + 4, + 5, + 7, + 6, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 4, + 11, + 5, + 5, + 6, + 6, + 2, + 6, + 7, + 6, + 6, + 5, + 6, + 26, + 4, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 4, + 7, + 3, + 4, + 6, + 6, + 19, + 5, + 5, + 6, + 2, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 3, + 2, + 5, + 29, + 5, + 3, + 4, + 14, + 6, + 3, + 5, + 8, + 4, + 4, + 6, + 6, + 2, + 3, + 3, + 6, + 3, + 5, + 5, + 14, + 0, + 11, + 5, + 6, + 5, + 6, + 6, + 4, + 14, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 5, + 2, + 4, + 5, + 3, + 5, + 3, + 2, + 5, + 5, + 5, + 3, + 6, + 3, + 4, + 28, + 4, + 0, + 0, + 7, + 9, + 6, + 6, + 5, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 28, + 6, + 3, + 6, + 4, + 2, + 7, + 20, + 3, + 2, + 6, + 6, + 19, + 4, + 4, + 6, + 3, + 5, + 5, + 20, + 6, + 6, + 5, + 3, + 5, + 0, + 5, + 2, + 6, + 2, + 6, + 4, + 6, + 14, + 6, + 25, + 5, + 3, + 3, + 6, + 6, + 0, + 5, + 6, + 33, + 4, + 2, + 16, + 7, + 4, + 3, + 6, + 6, + 5, + 0, + 6, + 3, + 4, + 5, + 6, + 4, + 14, + 5, + 6, + 3, + 3, + 3, + 5, + 6, + 5, + 2, + 4, + 6, + 2, + 2, + 2, + 4, + 6, + 5, + 20, + 6, + 4, + 18, + 6, + 3, + 2, + 6, + 5, + 17, + 6, + 5, + 3, + 5, + 6, + 2, + 6, + 4, + 5, + 5, + 6, + 4, + 4, + 6, + 2, + 6, + 3, + 6, + 4, + 6, + 6, + 22, + 6, + 7, + 3, + 3, + 6, + 2, + 3, + 6, + 6, + 3, + 4, + 2, + 27, + 6, + 5, + 4, + 5, + 5, + 2, + 5, + 2, + 5, + 9, + 6, + 6, + 6, + 12, + 6, + 4, + 6, + 5, + 14, + 6, + 6, + 3, + 5, + 3, + 12, + 6, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 6, + 0, + 3, + 4, + 3, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 3, + 3, + 6, + 6, + 4, + 6, + 3, + 2, + 14, + 3, + 48, + 4, + 4, + 6, + 5, + 3, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 49, + 5, + 3, + 6, + 3, + 6, + 6, + 3, + 8, + 4, + 25, + 6, + 3, + 5, + 4, + 4, + 2, + 3, + 7, + 4, + 6, + 6, + 4, + 0, + 2, + 13, + 5, + 4, + 4, + 2, + 3, + 20, + 6, + 5, + 3, + 9, + 4, + 5, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 4, + 6, + 6, + 5, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 14, + 3, + 44, + 5, + 3, + 10, + 17, + 4, + 6, + 5, + 16, + 0, + 6, + 5, + 12, + 6, + 5, + 4, + 6, + 3, + 6, + 12, + 5, + 6, + 5, + 3, + 6, + 4, + 2, + 4, + 20, + 4, + 4, + 5, + 5, + 6, + 3, + 3, + 3, + 4, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 2, + 3, + 6, + 6, + 3, + 3, + 2, + 6, + 2, + 0, + 0, + 6, + 5, + 2, + 7, + 6, + 3, + 6, + 6, + 5, + 8, + 4, + 20, + 4, + 5, + 4, + 15, + 6, + 6, + 6, + 2, + 4, + 5, + 6, + 20, + 4, + 10, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 14, + 2, + 6, + 3, + 6, + 34, + 6, + 4, + 5, + 5, + 4, + 4, + 3, + 2, + 5, + 6, + 6, + 14, + 6, + 5, + 5, + 5, + 14, + 4, + 6, + 6, + 4, + 3, + 12, + 6, + 5, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 6, + 30, + 6, + 6, + 6, + 2, + 5, + 3, + 5, + 5, + 6, + 3, + 25, + 4, + 5, + 3, + 4, + 0, + 6, + 6, + 4, + 3, + 6, + 5, + 4, + 31, + 14, + 5, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 5, + 40, + 5, + 6, + 4, + 4, + 4, + 6, + 4, + 5, + 5, + 6, + 6, + 6, + 4, + 3, + 6, + 5, + 14, + 6, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 16, + 4, + 6, + 5, + 7, + 13, + 5, + 3, + 5, + 4, + 6, + 2, + 3, + 6, + 4, + 3, + 2, + 2, + 6, + 5, + 16, + 5, + 5, + 5, + 5, + 23, + 5, + 3, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 2, + 3, + 6, + 2, + 3, + 5, + 2, + 4, + 3, + 4, + 6, + 3, + 6, + 6, + 5, + 5, + 6, + 5, + 5, + 8, + 4, + 2, + 10, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 0, + 5, + 22, + 2, + 5, + 5, + 5, + 6, + 14, + 6, + 5, + 4, + 5, + 5, + 6, + 4, + 3, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 2, + 4, + 49, + 5, + 5, + 2, + 5, + 4, + 30, + 6, + 6, + 7, + 3, + 6, + 2, + 5, + 5, + 25, + 5, + 3, + 6, + 3, + 5, + 6, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 5, + 5, + 17, + 6, + 5, + 5, + 13, + 6, + 6, + 4, + 6, + 3, + 4, + 5, + 36, + 2, + 3, + 4, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 6, + 4, + 5, + 2, + 5, + 5, + 0, + 14, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 5, + 3, + 3, + 2, + 5, + 25, + 5, + 5, + 0, + 4, + 35, + 50, + 6, + 4, + 5, + 4, + 6, + 3, + 4, + 18, + 6, + 20, + 6, + 6, + 5, + 5, + 6, + 6, + 3, + 19, + 4, + 2, + 13, + 5, + 7, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 5, + 5, + 15, + 6, + 6, + 5, + 2, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 6, + 2, + 6, + 3, + 4, + 6, + 17, + 6, + 5, + 3, + 2, + 4, + 6, + 3, + 3, + 6, + 6, + 6, + 34, + 6, + 4, + 6, + 4, + 6, + 6, + 3, + 6, + 6, + 3, + 5, + 3, + 3, + 6, + 6, + 5, + 3, + 4, + 6, + 2, + 6, + 4, + 6, + 3, + 7, + 5, + 4, + 6, + 37, + 6, + 6, + 25, + 3, + 3, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 4, + 10, + 0, + 3, + 0, + 6, + 3, + 5, + 3, + 4, + 6, + 6, + 5, + 6, + 3, + 5, + 6, + 14, + 6, + 6, + 2, + 4, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 6, + 20, + 3, + 5, + 6, + 4, + 5, + 5, + 3, + 5, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 6, + 17, + 5, + 4, + 6, + 6, + 11, + 3, + 3, + 6, + 6, + 6, + 4, + 0, + 13, + 6, + 4, + 6, + 5, + 4, + 7, + 3, + 14, + 4, + 4, + 6, + 4, + 6, + 7, + 6, + 5, + 4, + 4, + 3, + 3, + 4, + 14, + 0, + 5, + 6, + 7, + 6, + 14, + 6, + 4, + 3, + 5, + 30, + 6, + 4, + 5, + 3, + 5, + 22, + 2, + 8, + 5, + 3, + 3, + 6, + 4, + 6, + 25, + 4, + 3, + 2, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 7, + 6, + 3, + 4, + 5, + 3, + 6, + 6, + 6, + 22, + 6, + 4, + 0, + 5, + 4, + 4, + 6, + 5, + 6, + 3, + 4, + 25, + 5, + 3, + 6, + 3, + 5, + 14, + 4, + 6, + 13, + 3, + 5, + 5, + 6, + 12, + 29, + 5, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 3, + 6, + 2, + 5, + 4, + 6, + 2, + 4, + 5, + 5, + 6, + 6, + 47, + 6, + 12, + 6, + 5, + 7, + 6, + 4, + 18, + 6, + 5, + 2, + 4, + 3, + 4, + 4, + 4, + 3, + 4, + 5, + 6, + 6, + 18, + 6, + 4, + 5, + 0, + 4, + 3, + 2, + 5, + 2, + 5, + 4, + 6, + 5, + 38, + 2, + 5, + 2, + 3, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 7, + 3, + 4, + 4, + 6, + 3, + 33, + 4, + 6, + 3, + 5, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 3, + 3, + 5, + 4, + 5, + 6, + 5, + 11, + 23, + 4, + 4, + 6, + 6, + 2, + 6, + 3, + 0, + 2, + 4, + 7, + 6, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 4, + 2, + 2, + 6, + 3, + 5, + 5, + 4, + 2, + 4, + 6, + 5, + 14, + 6, + 6, + 6, + 7, + 5, + 6, + 0, + 5, + 2, + 7, + 5, + 21, + 5, + 4, + 8, + 5, + 6, + 4, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 0, + 3, + 3, + 14, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 3, + 2, + 6, + 6, + 4, + 6, + 3, + 4, + 3, + 2, + 3, + 4, + 3, + 3, + 0, + 0, + 4, + 6, + 5, + 2, + 4, + 19, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 4, + 6, + 6, + 0, + 6, + 2, + 4, + 5, + 4, + 6, + 4, + 21, + 5, + 20, + 5, + 3, + 2, + 6, + 5, + 4, + 6, + 2, + 6, + 4, + 4, + 16, + 7, + 6, + 6, + 5, + 7, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 6, + 4, + 6, + 6, + 14, + 22, + 4, + 6, + 5, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 2, + 5, + 5, + 5, + 6, + 5, + 3, + 20, + 3, + 6, + 0, + 6, + 6, + 6, + 3, + 6, + 6, + 6, + 6, + 5, + 27, + 3, + 5, + 3, + 3, + 6, + 26, + 6, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 6, + 6, + 27, + 6, + 4, + 6, + 12, + 4, + 5, + 6, + 12, + 3, + 13, + 5, + 3, + 5, + 14, + 19, + 12, + 3, + 5, + 35, + 6, + 3, + 6, + 4, + 12, + 6, + 3, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 3, + 20, + 5, + 3, + 5, + 4, + 6, + 4, + 3, + 24, + 6, + 5, + 6, + 6, + 5, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 19, + 6, + 0, + 3, + 6, + 3, + 6, + 7, + 6, + 5, + 5, + 3, + 5, + 6, + 6, + 5, + 4, + 2, + 22, + 6, + 3, + 2, + 4, + 5, + 6, + 5, + 6, + 6, + 7, + 3, + 6, + 3, + 3, + 5, + 5, + 14, + 7, + 5, + 22, + 12, + 5, + 4, + 4, + 6, + 6, + 6, + 5, + 3, + 6, + 4, + 3, + 6, + 6, + 4, + 5, + 3, + 6, + 5, + 5, + 3, + 5, + 18, + 4, + 6, + 6, + 2, + 3, + 6, + 4, + 3, + 4, + 6, + 5, + 6, + 14, + 5, + 14, + 6, + 3, + 20, + 6, + 6, + 4, + 7, + 6, + 5, + 5, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 5, + 4, + 6, + 3, + 3, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 10, + 3, + 5, + 5, + 5, + 4, + 3, + 5, + 2, + 6, + 6, + 4, + 6, + 4, + 15, + 5, + 3, + 3, + 6, + 5, + 3, + 5, + 6, + 3, + 4, + 6, + 2, + 4, + 3, + 3, + 0, + 3, + 5, + 3, + 4, + 6, + 5, + 4, + 14, + 6, + 5, + 3, + 0, + 14, + 5, + 3, + 2, + 6, + 6, + 3, + 4, + 2, + 4, + 6, + 6, + 4, + 4, + 4, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 5, + 4, + 5, + 5, + 5, + 4, + 2, + 5, + 5, + 5, + 5, + 4, + 6, + 20, + 6, + 12, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 6, + 14, + 3, + 4, + 5, + 6, + 6, + 4, + 5, + 6, + 4, + 6, + 6, + 5, + 2, + 5, + 3, + 3, + 6, + 3, + 4, + 6, + 7, + 5, + 2, + 5, + 0, + 6, + 3, + 3, + 4, + 6, + 3, + 7, + 7, + 4, + 7, + 3, + 4, + 6, + 4, + 3, + 4, + 4, + 2, + 7, + 6, + 6, + 3, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 12, + 6, + 5, + 2, + 3, + 8, + 5, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 6, + 5, + 3, + 5, + 5, + 5, + 8, + 6, + 21, + 5, + 6, + 4, + 3, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 5, + 31, + 3, + 5, + 5, + 3, + 12, + 0, + 5, + 6, + 6, + 5, + 2, + 6, + 6, + 3, + 2, + 6, + 3, + 6, + 3, + 6, + 4, + 6, + 6, + 4, + 0, + 3, + 6, + 23, + 46, + 6, + 3, + 4, + 6, + 6, + 13, + 5, + 3, + 3, + 5, + 5, + 6, + 3, + 25, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 2, + 6, + 5, + 5, + 20, + 11, + 2, + 6, + 6, + 0, + 6, + 5, + 6, + 4, + 6, + 3, + 5, + 3, + 7, + 5, + 10, + 4, + 25, + 6, + 5, + 5, + 14, + 3, + 6, + 4, + 4, + 3, + 20, + 36, + 6, + 5, + 14, + 14, + 6, + 4, + 2, + 5, + 3, + 2, + 26, + 20, + 6, + 4, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 35, + 6, + 5, + 3, + 6, + 5, + 3, + 5, + 6, + 5, + 4, + 4, + 3, + 2, + 5, + 4, + 6, + 0, + 5, + 4, + 3, + 5, + 14, + 6, + 5, + 7, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 5, + 2, + 5, + 6, + 2, + 2, + 3, + 2, + 5, + 2, + 6, + 6, + 4, + 5, + 2, + 2, + 4, + 0, + 6, + 6, + 4, + 6, + 3, + 6, + 5, + 6, + 5, + 4, + 6, + 12, + 5, + 6, + 4, + 6, + 5, + 6, + 5, + 22, + 6, + 6, + 6, + 6, + 6, + 3, + 5, + 4, + 4, + 2, + 5, + 3, + 6, + 4, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 3, + 3, + 25, + 6, + 3, + 0, + 0, + 4, + 6, + 6, + 2, + 5, + 4, + 6, + 26, + 5, + 5, + 2, + 6, + 3, + 5, + 3, + 4, + 5, + 6, + 6, + 5, + 3, + 3, + 13, + 4, + 7, + 5, + 5, + 6, + 6, + 6, + 0, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 6, + 7, + 6, + 2, + 6, + 4, + 4, + 3, + 5, + 4, + 7, + 5, + 6, + 14, + 6, + 3, + 6, + 5, + 6, + 5, + 5, + 5, + 0, + 6, + 6, + 3, + 6, + 4, + 14, + 5, + 6, + 5, + 3, + 5, + 3, + 24, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 3, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 2, + 6, + 6, + 3, + 2, + 29, + 5, + 5, + 31, + 2, + 7, + 10, + 6, + 17, + 5, + 3, + 6, + 5, + 4, + 5, + 5, + 6, + 5, + 4, + 2, + 4, + 19, + 6, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 4, + 6, + 5, + 4, + 5, + 3, + 2, + 3, + 6, + 3, + 0, + 6, + 2, + 6, + 2, + 4, + 4, + 2, + 3, + 21, + 4, + 5, + 5, + 6, + 4, + 2, + 2, + 2, + 5, + 4, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 6, + 26, + 5, + 3, + 3, + 4, + 17, + 5, + 3, + 0, + 4, + 3, + 7, + 5, + 4, + 2, + 6, + 2, + 5, + 6, + 6, + 5, + 2, + 5, + 38, + 5, + 6, + 5, + 0, + 6, + 6, + 17, + 3, + 6, + 3, + 2, + 5, + 4, + 3, + 6, + 6, + 3, + 3, + 5, + 23, + 5, + 6, + 6, + 5, + 6, + 2, + 5, + 6, + 5, + 14, + 4, + 6, + 4, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 0, + 4, + 4, + 5, + 5, + 12, + 6, + 6, + 44, + 5, + 5, + 2, + 6, + 5, + 2, + 14, + 4, + 2, + 5, + 50, + 2, + 4, + 13, + 3, + 6, + 5, + 6, + 6, + 4, + 5, + 5, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 6, + 6, + 6, + 3, + 4, + 3, + 6, + 2, + 29, + 6, + 5, + 2, + 44, + 6, + 14, + 5, + 6, + 5, + 4, + 6, + 4, + 9, + 5, + 3, + 5, + 2, + 5, + 23, + 5, + 0, + 5, + 6, + 7, + 3, + 6, + 3, + 4, + 6, + 5, + 3, + 0, + 3, + 6, + 5, + 41, + 6, + 5, + 6, + 6, + 5, + 6, + 14, + 6, + 5, + 3, + 6, + 3, + 3, + 12, + 6, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 2, + 6, + 6, + 2, + 2, + 6, + 8, + 14, + 4, + 3, + 6, + 6, + 5, + 5, + 3, + 3, + 6, + 22, + 6, + 4, + 6, + 3, + 5, + 5, + 5, + 2, + 2, + 0, + 6, + 6, + 5, + 5, + 5, + 4, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 3, + 12, + 8, + 6, + 3, + 2, + 6, + 5, + 17, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 17, + 5, + 2, + 3, + 7, + 5, + 3, + 6, + 6, + 0, + 6, + 5, + 3, + 4, + 5, + 5, + 18, + 6, + 22, + 3, + 5, + 5, + 3, + 5, + 6, + 5, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 3, + 6, + 4, + 5, + 5, + 5, + 6, + 6, + 4, + 5, + 21, + 5, + 0, + 2, + 2, + 3, + 3, + 4, + 6, + 6, + 0, + 5, + 6, + 6, + 6, + 3, + 3, + 5, + 6, + 3, + 6, + 4, + 3, + 5, + 5, + 6, + 4, + 4, + 5, + 6, + 5, + 6, + 5, + 14, + 4, + 5, + 14, + 6, + 19, + 4, + 20, + 3, + 9, + 6, + 14, + 4, + 6, + 5, + 44, + 6, + 4, + 4, + 6, + 5, + 3, + 2, + 42, + 5, + 2, + 6, + 3, + 4, + 5, + 3, + 5, + 25, + 6, + 2, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 3, + 6, + 2, + 7, + 13, + 6, + 2, + 5, + 5, + 5, + 5, + 21, + 4, + 3, + 8, + 6, + 6, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 2, + 5, + 6, + 6, + 5, + 5, + 5, + 5, + 3, + 6, + 6, + 4, + 6, + 6, + 4, + 0, + 6, + 44, + 2, + 4, + 13, + 5, + 4, + 26, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 3, + 4, + 4, + 6, + 6, + 2, + 0, + 3, + 6, + 3, + 4, + 4, + 6, + 4, + 5, + 7, + 5, + 4, + 6, + 5, + 7, + 4, + 4, + 4, + 6, + 17, + 4, + 5, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 26, + 5, + 14, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 28, + 6, + 6, + 4, + 6, + 4, + 5, + 4, + 0, + 6, + 6, + 4, + 4, + 6, + 21, + 5, + 2, + 2, + 3, + 5, + 7, + 12, + 6, + 6, + 25, + 6, + 28, + 5, + 6, + 4, + 17, + 5, + 5, + 14, + 5, + 10, + 6, + 6, + 6, + 12, + 6, + 6, + 4, + 3, + 23, + 10, + 0, + 2, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 6, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 12, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 6, + 11, + 6, + 6, + 6, + 5, + 46, + 5, + 3, + 6, + 3, + 12, + 5, + 14, + 4, + 6, + 4, + 4, + 5, + 2, + 6, + 6, + 5, + 4, + 14, + 2, + 5, + 4, + 2, + 3, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 42, + 3, + 4, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 3, + 4, + 10, + 3, + 6, + 5, + 3, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 6, + 7, + 4, + 2, + 6, + 6, + 5, + 5, + 4, + 26, + 5, + 5, + 21, + 7, + 5, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 4, + 5, + 6, + 3, + 5, + 6, + 4, + 3, + 4, + 5, + 4, + 6, + 5, + 3, + 2, + 5, + 3, + 0, + 3, + 2, + 6, + 5, + 4, + 3, + 3, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 14, + 6, + 6, + 2, + 5, + 6, + 4, + 3, + 7, + 3, + 5, + 6, + 3, + 5, + 6, + 3, + 5, + 2, + 5, + 2, + 5, + 5, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 6, + 3, + 3, + 9, + 5, + 6, + 6, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 5, + 7, + 6, + 14, + 8, + 2, + 4, + 17, + 5, + 6, + 4, + 3, + 4, + 6, + 5, + 5, + 3, + 6, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 5, + 6, + 6, + 6, + 5, + 2, + 5, + 6, + 3, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 3, + 6, + 5, + 2, + 0, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 17, + 5, + 5, + 6, + 6, + 23, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 3, + 6, + 5, + 3, + 6, + 3, + 16, + 17, + 4, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 5, + 44, + 6, + 4, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 3, + 12, + 3, + 4, + 2, + 14, + 6, + 5, + 6, + 3, + 4, + 14, + 6, + 4, + 4, + 5, + 3, + 4, + 6, + 3, + 0, + 5, + 6, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 6, + 6, + 6, + 5, + 4, + 2, + 6, + 3, + 6, + 4, + 7, + 5, + 5, + 2, + 6, + 6, + 5, + 6, + 8, + 5, + 5, + 5, + 6, + 6, + 6, + 21, + 5, + 2, + 6, + 4, + 5, + 2, + 6, + 6, + 2, + 5, + 3, + 4, + 6, + 6, + 6, + 2, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 5, + 5, + 4, + 4, + 14, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 6, + 3, + 2, + 3, + 5, + 4, + 6, + 6, + 6, + 3, + 6, + 6, + 19, + 3, + 6, + 2, + 6, + 4, + 6, + 14, + 4, + 2, + 6, + 6, + 6, + 4, + 6, + 6, + 0, + 0, + 6, + 4, + 2, + 0, + 6, + 2, + 5, + 6, + 5, + 2, + 5, + 6, + 5, + 4, + 0, + 6, + 4, + 5, + 14, + 0, + 4, + 0, + 3, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 4, + 47, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 2, + 3, + 5, + 15, + 6, + 2, + 5, + 4, + 5, + 6, + 5, + 3, + 5, + 4, + 6, + 6, + 4, + 17, + 6, + 3, + 17, + 3, + 4, + 6, + 5, + 5, + 33, + 4, + 6, + 17, + 20, + 5, + 2, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 4, + 20, + 18, + 5, + 6, + 2, + 6, + 3, + 5, + 3, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 6, + 3, + 6, + 6, + 5, + 14, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 39, + 3, + 5, + 6, + 17, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 3, + 14, + 5, + 6, + 6, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 0, + 0, + 6, + 2, + 3, + 2, + 12, + 6, + 5, + 4, + 25, + 5, + 12, + 0, + 5, + 3, + 3, + 3, + 3, + 6, + 11, + 6, + 6, + 5, + 20, + 2, + 5, + 6, + 4, + 0, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 4, + 3, + 11, + 17, + 5, + 5, + 2, + 5, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 2, + 3, + 7, + 6, + 6, + 17, + 5, + 6, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 8, + 6, + 5, + 5, + 5, + 4, + 5, + 6, + 4, + 33, + 6, + 0, + 5, + 3, + 28, + 6, + 11, + 3, + 33, + 6, + 6, + 5, + 6, + 6, + 3, + 5, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 3, + 3, + 4, + 6, + 5, + 6, + 3, + 3, + 17, + 0, + 4, + 4, + 4, + 5, + 0, + 3, + 2, + 6, + 3, + 6, + 3, + 12, + 20, + 3, + 38, + 6, + 2, + 4, + 3, + 14, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 6, + 5, + 7, + 6, + 6, + 5, + 5, + 6, + 10, + 6, + 2, + 4, + 5, + 2, + 4, + 4, + 8, + 3, + 4, + 5, + 3, + 4, + 3, + 7, + 14, + 6, + 0, + 6, + 6, + 5, + 46, + 5, + 0, + 6, + 4, + 4, + 5, + 5, + 4, + 3, + 5, + 3, + 6, + 3, + 4, + 5, + 6, + 3, + 6, + 4, + 0, + 3, + 6, + 17, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 2, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 19, + 6, + 6, + 2, + 4, + 5, + 5, + 4, + 5, + 2, + 3, + 3, + 2, + 2, + 2, + 0, + 4, + 4, + 26, + 6, + 3, + 4, + 0, + 5, + 3, + 14, + 2, + 2, + 4, + 4, + 4, + 6, + 4, + 6, + 6, + 5, + 5, + 11, + 5, + 3, + 5, + 2, + 6, + 29, + 5, + 5, + 5, + 3, + 4, + 4, + 3, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 2, + 2, + 3, + 7, + 6, + 3, + 6, + 3, + 5, + 6, + 6, + 3, + 28, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 19, + 17, + 6, + 5, + 6, + 8, + 6, + 4, + 6, + 9, + 6, + 12, + 0, + 5, + 6, + 3, + 5, + 5, + 3, + 6, + 26, + 3, + 3, + 6, + 5, + 3, + 6, + 4, + 5, + 2, + 2, + 17, + 2, + 14, + 3, + 5, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 5, + 2, + 3, + 6, + 5, + 14, + 6, + 5, + 3, + 6, + 5, + 3, + 0, + 6, + 0, + 3, + 4, + 5, + 4, + 5, + 5, + 5, + 2, + 0, + 5, + 3, + 2, + 2, + 3, + 6, + 7, + 4, + 5, + 5, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 49, + 6, + 14, + 12, + 6, + 5, + 2, + 3, + 5, + 6, + 2, + 12, + 5, + 12, + 2, + 4, + 6, + 17, + 6, + 4, + 4, + 6, + 14, + 4, + 20, + 6, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 4, + 4, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 18, + 6, + 4, + 3, + 4, + 13, + 6, + 5, + 13, + 3, + 3, + 7, + 5, + 0, + 2, + 3, + 12, + 5, + 5, + 3, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 6, + 3, + 4, + 14, + 4, + 2, + 6, + 6, + 14, + 6, + 5, + 3, + 6, + 14, + 6, + 3, + 4, + 3, + 6, + 6, + 5, + 2, + 4, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 4, + 6, + 14, + 4, + 7, + 4, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 4, + 6, + 5, + 21, + 6, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 5, + 5, + 5, + 5, + 6, + 2, + 0, + 6, + 4, + 5, + 3, + 5, + 4, + 3, + 6, + 5, + 5, + 5, + 22, + 2, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 5, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 6, + 7, + 6, + 6, + 4, + 4, + 3, + 4, + 3, + 5, + 3, + 29, + 2, + 4, + 6, + 19, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 15, + 6, + 6, + 5, + 4, + 6, + 3, + 3, + 17, + 22, + 7, + 4, + 4, + 6, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 23, + 5, + 6, + 8, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 5, + 3, + 48, + 22, + 6, + 4, + 5, + 6, + 13, + 4, + 5, + 6, + 0, + 4, + 5, + 6, + 6, + 3, + 5, + 19, + 3, + 6, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 5, + 5, + 6, + 48, + 3, + 5, + 5, + 5, + 6, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 3, + 4, + 5, + 4, + 6, + 6, + 5, + 10, + 6, + 6, + 4, + 3, + 6, + 3, + 5, + 3, + 10, + 6, + 6, + 13, + 6, + 6, + 5, + 5, + 6, + 0, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 2, + 6, + 17, + 3, + 18, + 6, + 5, + 2, + 4, + 5, + 3, + 4, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 5, + 6, + 2, + 5, + 14, + 5, + 33, + 6, + 6, + 4, + 4, + 2, + 6, + 5, + 23, + 6, + 4, + 3, + 5, + 6, + 6, + 3, + 4, + 7, + 6, + 6, + 12, + 6, + 5, + 4, + 6, + 0, + 6, + 6, + 6, + 5, + 4, + 5, + 2, + 6, + 14, + 5, + 4, + 16, + 5, + 6, + 6, + 4, + 3, + 6, + 14, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 4, + 6, + 6, + 5, + 2, + 6, + 3, + 27, + 6, + 47, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 5, + 6, + 0, + 2, + 6, + 30, + 5, + 14, + 14, + 3, + 6, + 5, + 3, + 15, + 5, + 6, + 5, + 6, + 25, + 4, + 6, + 3, + 5, + 6, + 4, + 4, + 5, + 4, + 5, + 3, + 14, + 4, + 2, + 6, + 4, + 4, + 14, + 5, + 6, + 6, + 4, + 3, + 39, + 6, + 6, + 6, + 3, + 2, + 0, + 5, + 6, + 3, + 6, + 6, + 6, + 5, + 3, + 5, + 21, + 6, + 5, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 5, + 7, + 5, + 5, + 6, + 2, + 15, + 6, + 8, + 4, + 3, + 3, + 2, + 6, + 4, + 4, + 6, + 5, + 6, + 5, + 3, + 3, + 6, + 4, + 3, + 6, + 3, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 7, + 6, + 5, + 13, + 6, + 5, + 18, + 6, + 5, + 6, + 5, + 15, + 4, + 6, + 7, + 4, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 3, + 2, + 4, + 6, + 2, + 7, + 6, + 4, + 5, + 4, + 5, + 0, + 3, + 16, + 6, + 5, + 6, + 3, + 17, + 13, + 5, + 4, + 6, + 4, + 6, + 14, + 5, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 6, + 2, + 5, + 3, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 3, + 5, + 7, + 6, + 5, + 6, + 4, + 6, + 3, + 6, + 22, + 4, + 5, + 4, + 19, + 3, + 6, + 9, + 0, + 47, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 2, + 5, + 5, + 6, + 4, + 5, + 6, + 4, + 5, + 6, + 14, + 4, + 6, + 4, + 5, + 5, + 5, + 5, + 5, + 4, + 5, + 4, + 6, + 22, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 4, + 6, + 2, + 6, + 5, + 3, + 3, + 4, + 4, + 6, + 5, + 6, + 6, + 35, + 2, + 3, + 3, + 3, + 2, + 4, + 5, + 6, + 6, + 5, + 2, + 5, + 6, + 21, + 4, + 0, + 6, + 4, + 4, + 3, + 7, + 4, + 37, + 3, + 2, + 4, + 6, + 6, + 5, + 5, + 7, + 5, + 2, + 6, + 5, + 7, + 6, + 5, + 5, + 6, + 5, + 44, + 6, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 6, + 14, + 5, + 4, + 5, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 2, + 3, + 4, + 10, + 6, + 2, + 5, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 3, + 4, + 3, + 3, + 5, + 6, + 2, + 5, + 3, + 3, + 3, + 5, + 5, + 5, + 4, + 4, + 6, + 0, + 6, + 4, + 6, + 4, + 4, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 6, + 10, + 4, + 17, + 3, + 3, + 4, + 3, + 6, + 15, + 5, + 6, + 7, + 3, + 10, + 5, + 5, + 15, + 4, + 6, + 4, + 4, + 6, + 5, + 4, + 4, + 4, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 4, + 2, + 5, + 11, + 3, + 23, + 6, + 13, + 6, + 6, + 5, + 10, + 5, + 5, + 4, + 11, + 14, + 6, + 3, + 5, + 5, + 6, + 4, + 2, + 18, + 6, + 2, + 3, + 5, + 6, + 25, + 2, + 6, + 4, + 5, + 2, + 5, + 6, + 6, + 6, + 6, + 0, + 2, + 5, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 2, + 6, + 3, + 6, + 5, + 5, + 6, + 5, + 3, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 6, + 3, + 0, + 6, + 2, + 5, + 6, + 5, + 21, + 2, + 2, + 36, + 6, + 6, + 11, + 5, + 7, + 0, + 17, + 6, + 4, + 5, + 6, + 6, + 3, + 6, + 2, + 3, + 4, + 6, + 3, + 5, + 36, + 2, + 2, + 5, + 5, + 3, + 3, + 6, + 6, + 3, + 47, + 3, + 3, + 10, + 5, + 6, + 17, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 3, + 2, + 2, + 4, + 6, + 4, + 5, + 16, + 6, + 13, + 6, + 6, + 3, + 3, + 6, + 3, + 2, + 3, + 2, + 6, + 5, + 3, + 5, + 6, + 38, + 6, + 4, + 0, + 4, + 4, + 5, + 2, + 5, + 6, + 4, + 3, + 6, + 5, + 15, + 3, + 5, + 3, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 3, + 4, + 0, + 42, + 5, + 4, + 5, + 7, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 6, + 14, + 3, + 3, + 3, + 6, + 5, + 4, + 25, + 6, + 6, + 2, + 5, + 5, + 3, + 4, + 3, + 3, + 3, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 4, + 3, + 6, + 7, + 4, + 5, + 3, + 2, + 3, + 5, + 5, + 5, + 2, + 3, + 5, + 2, + 5, + 14, + 3, + 6, + 0, + 6, + 6, + 4, + 3, + 5, + 5, + 3, + 0, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 13, + 4, + 6, + 2, + 4, + 2, + 3, + 5, + 5, + 2, + 2, + 5, + 4, + 5, + 4, + 0, + 22, + 3, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 3, + 4, + 2, + 6, + 3, + 3, + 5, + 6, + 4, + 3, + 6, + 6, + 6, + 6, + 17, + 5, + 5, + 5, + 3, + 4, + 6, + 5, + 4, + 6, + 3, + 3, + 4, + 14, + 5, + 4, + 5, + 4, + 8, + 4, + 5, + 5, + 4, + 25, + 6, + 12, + 3, + 3, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 3, + 7, + 3, + 6, + 3, + 6, + 2, + 6, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 5, + 15, + 5, + 5, + 6, + 22, + 6, + 6, + 2, + 5, + 4, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 4, + 4, + 14, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 0, + 13, + 7, + 3, + 5, + 3, + 2, + 46, + 4, + 6, + 6, + 2, + 5, + 5, + 6, + 3, + 49, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 5, + 6, + 3, + 14, + 3, + 35, + 0, + 6, + 0, + 6, + 5, + 3, + 5, + 4, + 20, + 6, + 6, + 5, + 5, + 3, + 28, + 6, + 3, + 3, + 5, + 4, + 2, + 2, + 5, + 8, + 3, + 4, + 16, + 5, + 5, + 3, + 4, + 3, + 6, + 6, + 4, + 6, + 5, + 4, + 13, + 6, + 6, + 6, + 2, + 6, + 5, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 6, + 8, + 4, + 2, + 3, + 6, + 5, + 5, + 4, + 6, + 28, + 6, + 5, + 5, + 6, + 2, + 6, + 3, + 4, + 5, + 6, + 4, + 3, + 5, + 7, + 4, + 6, + 3, + 3, + 4, + 6, + 5, + 14, + 3, + 30, + 6, + 6, + 6, + 5, + 6, + 42, + 4, + 14, + 6, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 4, + 5, + 5, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 5, + 20, + 6, + 6, + 3, + 4, + 6, + 5, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 5, + 6, + 5, + 5, + 2, + 3, + 5, + 3, + 6, + 2, + 6, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 3, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 0, + 14, + 5, + 3, + 28, + 5, + 5, + 6, + 4, + 6, + 7, + 14, + 4, + 5, + 6, + 5, + 5, + 23, + 14, + 6, + 6, + 6, + 31, + 5, + 5, + 6, + 5, + 5, + 4, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 0, + 5, + 5, + 2, + 2, + 3, + 3, + 5, + 5, + 25, + 3, + 3, + 4, + 3, + 3, + 6, + 2, + 5, + 3, + 16, + 6, + 3, + 4, + 5, + 4, + 3, + 0, + 5, + 4, + 15, + 6, + 0, + 6, + 6, + 14, + 6, + 5, + 5, + 4, + 6, + 4, + 4, + 6, + 2, + 6, + 4, + 2, + 14, + 5, + 4, + 5, + 3, + 2, + 4, + 6, + 3, + 5, + 4, + 6, + 29, + 3, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 2, + 4, + 4, + 5, + 2, + 5, + 13, + 6, + 5, + 4, + 9, + 6, + 14, + 6, + 13, + 6, + 2, + 3, + 2, + 4, + 5, + 4, + 2, + 6, + 0, + 3, + 6, + 2, + 3, + 4, + 5, + 6, + 5, + 6, + 6, + 14, + 6, + 6, + 6, + 4, + 4, + 3, + 4, + 2, + 6, + 30, + 4, + 5, + 6, + 5, + 0, + 5, + 7, + 5, + 3, + 5, + 3, + 6, + 6, + 5, + 4, + 5, + 3, + 5, + 3, + 6, + 4, + 5, + 2, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 8, + 6, + 7, + 4, + 2, + 2, + 0, + 5, + 3, + 6, + 3, + 3, + 6, + 4, + 4, + 6, + 3, + 4, + 5, + 3, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 14, + 3, + 6, + 6, + 3, + 6, + 6, + 4, + 14, + 14, + 6, + 5, + 6, + 6, + 4, + 3, + 6, + 5, + 5, + 5, + 47, + 6, + 3, + 3, + 6, + 14, + 6, + 3, + 3, + 5, + 4, + 6, + 5, + 6, + 4, + 6, + 2, + 5, + 14, + 6, + 5, + 6, + 4, + 6, + 7, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 5, + 6, + 20, + 4, + 5, + 3, + 5, + 2, + 2, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 6, + 12, + 6, + 17, + 6, + 5, + 0, + 4, + 5, + 5, + 14, + 0, + 4, + 5, + 6, + 4, + 4, + 44, + 2, + 6, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 6, + 14, + 6, + 6, + 3, + 4, + 3, + 6, + 6, + 2, + 19, + 6, + 5, + 2, + 42, + 5, + 3, + 4, + 5, + 3, + 6, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 0, + 4, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 4, + 5, + 5, + 0, + 5, + 11, + 21, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 26, + 6, + 6, + 6, + 3, + 2, + 4, + 4, + 4, + 5, + 4, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 5, + 5, + 5, + 5, + 6, + 3, + 6, + 4, + 6, + 7, + 6, + 5, + 6, + 10, + 3, + 3, + 6, + 14, + 6, + 6, + 3, + 3, + 3, + 6, + 4, + 4, + 4, + 6, + 5, + 3, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 12, + 5, + 5, + 2, + 6, + 4, + 6, + 4, + 5, + 6, + 3, + 3, + 4, + 3, + 3, + 0, + 2, + 12, + 4, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 2, + 3, + 5, + 5, + 6, + 5, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 14, + 14, + 6, + 5, + 6, + 4, + 6, + 0, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 16, + 6, + 2, + 5, + 5, + 3, + 12, + 6, + 6, + 6, + 6, + 3, + 6, + 3, + 4, + 5, + 5, + 6, + 5, + 3, + 5, + 4, + 3, + 5, + 3, + 12, + 6, + 4, + 6, + 4, + 5, + 3, + 4, + 3, + 5, + 5, + 6, + 12, + 6, + 6, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 3, + 5, + 6, + 5, + 6, + 5, + 3, + 12, + 4, + 4, + 3, + 6, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 3, + 6, + 8, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 14, + 2, + 0, + 5, + 3, + 5, + 5, + 5, + 7, + 2, + 4, + 5, + 4, + 0, + 3, + 4, + 6, + 5, + 6, + 5, + 5, + 3, + 5, + 3, + 3, + 6, + 6, + 6, + 6, + 2, + 5, + 4, + 6, + 6, + 29, + 5, + 6, + 4, + 10, + 5, + 6, + 3, + 14, + 3, + 4, + 4, + 6, + 4, + 6, + 4, + 6, + 3, + 4, + 5, + 2, + 4, + 27, + 6, + 7, + 6, + 5, + 5, + 2, + 29, + 3, + 3, + 5, + 7, + 8, + 6, + 3, + 6, + 5, + 5, + 0, + 6, + 7, + 6, + 4, + 6, + 3, + 4, + 4, + 6, + 6, + 5, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 12, + 5, + 5, + 0, + 2, + 5, + 6, + 3, + 6, + 6, + 5, + 5, + 2, + 6, + 5, + 3, + 4, + 6, + 2, + 29, + 3, + 6, + 2, + 5, + 2, + 6, + 4, + 0, + 5, + 4, + 6, + 6, + 4, + 3, + 7, + 2, + 4, + 3, + 6, + 4, + 4, + 4, + 6, + 4, + 6, + 5, + 4, + 4, + 4, + 29, + 3, + 12, + 5, + 12, + 3, + 4, + 5, + 2, + 31, + 4, + 6, + 7, + 6, + 5, + 5, + 3, + 4, + 3, + 5, + 4, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 4, + 14, + 5, + 5, + 8, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 2, + 4, + 5, + 0, + 4, + 3, + 16, + 6, + 6, + 12, + 6, + 6, + 4, + 6, + 6, + 19, + 4, + 6, + 5, + 4, + 3, + 27, + 3, + 5, + 5, + 6, + 6, + 6, + 16, + 6, + 5, + 2, + 4, + 2, + 3, + 6, + 5, + 0, + 2, + 3, + 14, + 5, + 4, + 5, + 5, + 2, + 4, + 2, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 3, + 6, + 3, + 18, + 6, + 4, + 5, + 4, + 3, + 0, + 13, + 5, + 3, + 6, + 4, + 4, + 5, + 4, + 6, + 2, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 32, + 6, + 5, + 6, + 0, + 6, + 49, + 3, + 3, + 6, + 14, + 5, + 2, + 5, + 3, + 3, + 2, + 6, + 44, + 3, + 4, + 5, + 7, + 6, + 6, + 7, + 4, + 6, + 5, + 2, + 21, + 6, + 2, + 3, + 2, + 7, + 4, + 6, + 5, + 4, + 6, + 5, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 3, + 0, + 3, + 5, + 5, + 5, + 6, + 40, + 12, + 6, + 5, + 3, + 3, + 4, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 2, + 6, + 5, + 25, + 6, + 6, + 5, + 6, + 6, + 0, + 5, + 5, + 5, + 5, + 15, + 6, + 4, + 20, + 5, + 5, + 6, + 4, + 4, + 5, + 2, + 3, + 5, + 4, + 5, + 6, + 5, + 6, + 10, + 5, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 2, + 5, + 12, + 5, + 3, + 4, + 6, + 6, + 5, + 3, + 14, + 6, + 5, + 5, + 6, + 34, + 0, + 3, + 13, + 6, + 5, + 6, + 5, + 6, + 4, + 3, + 5, + 7, + 23, + 5, + 6, + 6, + 12, + 6, + 7, + 12, + 2, + 6, + 5, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 5, + 6, + 4, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 5, + 4, + 14, + 6, + 4, + 4, + 6, + 14, + 4, + 14, + 3, + 6, + 3, + 17, + 6, + 6, + 6, + 6, + 6, + 2, + 6, + 6, + 2, + 3, + 6, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 5, + 14, + 4, + 3, + 25, + 6, + 6, + 12, + 5, + 5, + 44, + 6, + 3, + 7, + 4, + 4, + 2, + 5, + 5, + 2, + 2, + 4, + 6, + 0, + 5, + 25, + 3, + 12, + 2, + 6, + 6, + 9, + 2, + 4, + 6, + 5, + 5, + 6, + 3, + 6, + 3, + 4, + 5, + 6, + 6, + 4, + 3, + 5, + 3, + 4, + 4, + 4, + 6, + 4, + 3, + 5, + 3, + 3, + 7, + 2, + 5, + 4, + 5, + 3, + 2, + 25, + 38, + 5, + 4, + 6, + 5, + 2, + 6, + 12, + 2, + 4, + 4, + 5, + 2, + 6, + 12, + 3, + 6, + 4, + 5, + 5, + 4, + 3, + 2, + 5, + 5, + 5, + 3, + 4, + 10, + 3, + 6, + 21, + 4, + 2, + 4, + 6, + 6, + 2, + 6, + 5, + 5, + 5, + 2, + 5, + 5, + 50, + 2, + 6, + 0, + 22, + 6, + 6, + 6, + 5, + 0, + 5, + 14, + 3, + 6, + 2, + 0, + 25, + 5, + 6, + 30, + 2, + 5, + 4, + 4, + 3, + 6, + 12, + 6, + 3, + 2, + 5, + 6, + 21, + 6, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 4, + 5, + 3, + 6, + 4, + 2, + 4, + 2, + 0, + 14, + 6, + 11, + 5, + 6, + 5, + 3, + 3, + 8, + 4, + 3, + 4, + 6, + 3, + 22, + 3, + 6, + 4, + 6, + 4, + 5, + 44, + 5, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 48, + 6, + 3, + 2, + 6, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 21, + 4, + 6, + 4, + 3, + 4, + 0, + 0, + 6, + 7, + 6, + 5, + 6, + 2, + 2, + 0, + 5, + 5, + 5, + 4, + 4, + 5, + 14, + 4, + 4, + 5, + 5, + 7, + 4, + 2, + 4, + 5, + 5, + 3, + 5, + 3, + 17, + 6, + 5, + 6, + 4, + 3, + 6, + 6, + 5, + 6, + 4, + 4, + 28, + 6, + 2, + 6, + 6, + 5, + 2, + 37, + 3, + 6, + 6, + 4, + 5, + 6, + 28, + 3, + 3, + 3, + 2, + 5, + 5, + 6, + 17, + 8, + 5, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 6, + 3, + 3, + 3, + 4, + 17, + 5, + 4, + 5, + 22, + 6, + 5, + 6, + 3, + 3, + 5, + 3, + 5, + 6, + 3, + 4, + 14, + 5, + 7, + 6, + 6, + 5, + 4, + 3, + 3, + 5, + 4, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 6, + 6, + 6, + 6, + 12, + 5, + 5, + 2, + 5, + 5, + 6, + 6, + 5, + 0, + 6, + 6, + 4, + 7, + 4, + 5, + 4, + 5, + 2, + 5, + 2, + 2, + 4, + 3, + 6, + 4, + 4, + 5, + 3, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 6, + 4, + 4, + 5, + 4, + 2, + 5, + 22, + 6, + 6, + 6, + 5, + 4, + 3, + 6, + 5, + 21, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 5, + 3, + 6, + 8, + 6, + 6, + 4, + 6, + 4, + 6, + 2, + 6, + 14, + 4, + 4, + 6, + 4, + 2, + 5, + 2, + 6, + 6, + 5, + 6, + 6, + 4, + 5, + 6, + 14, + 6, + 5, + 4, + 2, + 6, + 6, + 6, + 4, + 25, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 2, + 0, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 6, + 0, + 7, + 5, + 4, + 5, + 13, + 35, + 5, + 6, + 5, + 12, + 4, + 2, + 5, + 3, + 6, + 14, + 2, + 5, + 6, + 6, + 5, + 6, + 0, + 6, + 29, + 14, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 17, + 6, + 2, + 17, + 6, + 5, + 22, + 4, + 5, + 3, + 22, + 28, + 6, + 0, + 6, + 6, + 12, + 6, + 4, + 6, + 6, + 4, + 4, + 6, + 10, + 6, + 3, + 3, + 2, + 6, + 11, + 5, + 6, + 2, + 3, + 5, + 4, + 6, + 5, + 4, + 6, + 2, + 14, + 6, + 4, + 3, + 6, + 3, + 3, + 5, + 14, + 2, + 3, + 2, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 2, + 3, + 5, + 5, + 5, + 3, + 4, + 6, + 46, + 4, + 7, + 5, + 14, + 3, + 2, + 6, + 4, + 3, + 6, + 6, + 3, + 4, + 3, + 4, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 2, + 4, + 13, + 3, + 6, + 4, + 2, + 20, + 4, + 6, + 3, + 18, + 4, + 5, + 3, + 4, + 6, + 4, + 6, + 2, + 5, + 5, + 5, + 6, + 5, + 6, + 15, + 6, + 5, + 13, + 6, + 3, + 3, + 5, + 20, + 5, + 5, + 4, + 6, + 4, + 6, + 6, + 4, + 6, + 6, + 7, + 21, + 4, + 6, + 5, + 4, + 8, + 6, + 3, + 6, + 5, + 6, + 3, + 6, + 4, + 7, + 5, + 4, + 4, + 3, + 6, + 2, + 5, + 5, + 6, + 5, + 6, + 5, + 22, + 4, + 5, + 5, + 5, + 2, + 4, + 12, + 2, + 6, + 6, + 15, + 3, + 4, + 6, + 5, + 4, + 3, + 5, + 17, + 7, + 6, + 3, + 3, + 6, + 6, + 3, + 0, + 3, + 5, + 4, + 7, + 5, + 5, + 6, + 12, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 2, + 5, + 3, + 6, + 14, + 6, + 5, + 5, + 3, + 5, + 14, + 2, + 3, + 3, + 5, + 5, + 5, + 4, + 2, + 4, + 5, + 6, + 3, + 3, + 4, + 21, + 3, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 6, + 5, + 4, + 5, + 6, + 8, + 4, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 3, + 6, + 3, + 6, + 4, + 6, + 5, + 6, + 3, + 3, + 5, + 16, + 15, + 6, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 2, + 9, + 6, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 2, + 6, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 4, + 2, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 3, + 0, + 5, + 5, + 10, + 3, + 3, + 3, + 14, + 3, + 6, + 6, + 4, + 5, + 4, + 0, + 6, + 5, + 7, + 5, + 2, + 5, + 20, + 5, + 5, + 5, + 5, + 5, + 4, + 4, + 3, + 5, + 6, + 3, + 6, + 3, + 6, + 4, + 4, + 2, + 5, + 6, + 4, + 4, + 19, + 6, + 5, + 2, + 3, + 6, + 4, + 4, + 6, + 5, + 42, + 6, + 7, + 3, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 4, + 14, + 6, + 19, + 3, + 3, + 6, + 6, + 3, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 5, + 2, + 6, + 5, + 3, + 3, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 5, + 21, + 3, + 6, + 2, + 12, + 3, + 5, + 14, + 3, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 3, + 14, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 3, + 26, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 5, + 14, + 3, + 6, + 2, + 6, + 6, + 6, + 6, + 3, + 6, + 5, + 7, + 2, + 2, + 25, + 5, + 5, + 7, + 2, + 49, + 5, + 5, + 3, + 5, + 22, + 6, + 5, + 5, + 4, + 14, + 6, + 6, + 21, + 3, + 0, + 3, + 4, + 6, + 6, + 2, + 4, + 16, + 6, + 3, + 5, + 6, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 4, + 6, + 3, + 6, + 6, + 6, + 5, + 6, + 3, + 2, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 3, + 4, + 4, + 6, + 22, + 6, + 2, + 6, + 18, + 5, + 4, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 5, + 5, + 0, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 5, + 10, + 5, + 6, + 3, + 4, + 5, + 5, + 4, + 6, + 5, + 4, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 14, + 3, + 40, + 5, + 4, + 3, + 6, + 6, + 3, + 4, + 14, + 4, + 6, + 2, + 4, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 4, + 8, + 2, + 6, + 4, + 5, + 0, + 4, + 5, + 22, + 5, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 0, + 5, + 6, + 0, + 5, + 2, + 17, + 2, + 6, + 5, + 6, + 4, + 3, + 2, + 6, + 4, + 3, + 4, + 6, + 6, + 6, + 2, + 17, + 6, + 5, + 14, + 6, + 6, + 4, + 2, + 4, + 0, + 6, + 2, + 3, + 2, + 5, + 2, + 5, + 6, + 4, + 6, + 5, + 2, + 4, + 3, + 5, + 3, + 3, + 3, + 5, + 6, + 6, + 14, + 24, + 14, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 5, + 5, + 13, + 4, + 5, + 7, + 2, + 12, + 6, + 6, + 5, + 4, + 5, + 16, + 5, + 49, + 5, + 5, + 3, + 6, + 4, + 4, + 5, + 14, + 3, + 5, + 4, + 5, + 4, + 6, + 3, + 5, + 3, + 6, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 14, + 6, + 41, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 13, + 0, + 5, + 4, + 5, + 4, + 4, + 6, + 6, + 4, + 6, + 5, + 5, + 4, + 6, + 6, + 7, + 4, + 2, + 5, + 4, + 5, + 2, + 5, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 19, + 3, + 6, + 5, + 6, + 3, + 2, + 5, + 5, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 22, + 3, + 36, + 5, + 6, + 5, + 20, + 0, + 6, + 5, + 5, + 5, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 6, + 4, + 3, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 3, + 6, + 2, + 3, + 6, + 6, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 2, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 7, + 6, + 6, + 6, + 6, + 0, + 4, + 3, + 6, + 6, + 2, + 5, + 6, + 6, + 6, + 11, + 6, + 4, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 4, + 6, + 51, + 4, + 24, + 5, + 3, + 28, + 5, + 6, + 4, + 6, + 6, + 5, + 6, + 32, + 3, + 2, + 6, + 5, + 5, + 3, + 4, + 14, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 6, + 4, + 6, + 6, + 3, + 14, + 6, + 5, + 6, + 3, + 7, + 6, + 5, + 15, + 2, + 3, + 4, + 5, + 6, + 6, + 5, + 4, + 6, + 6, + 9, + 6, + 6, + 13, + 13, + 6, + 6, + 5, + 6, + 0, + 6, + 6, + 3, + 6, + 5, + 6, + 3, + 4, + 3, + 17, + 6, + 3, + 3, + 2, + 3, + 3, + 6, + 5, + 20, + 3, + 5, + 23, + 4, + 5, + 3, + 3, + 3, + 2, + 6, + 5, + 4, + 6, + 0, + 4, + 5, + 14, + 5, + 5, + 6, + 2, + 5, + 6, + 17, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 7, + 5, + 3, + 5, + 5, + 2, + 5, + 6, + 16, + 2, + 4, + 5, + 4, + 6, + 5, + 5, + 3, + 4, + 14, + 4, + 3, + 6, + 6, + 5, + 3, + 13, + 14, + 5, + 5, + 6, + 12, + 5, + 3, + 3, + 2, + 6, + 4, + 5, + 2, + 6, + 25, + 3, + 5, + 4, + 6, + 3, + 3, + 4, + 2, + 4, + 7, + 6, + 2, + 6, + 7, + 2, + 6, + 5, + 3, + 6, + 4, + 5, + 5, + 6, + 3, + 3, + 5, + 6, + 3, + 5, + 14, + 6, + 5, + 3, + 6, + 6, + 4, + 6, + 14, + 14, + 15, + 4, + 4, + 5, + 8, + 4, + 4, + 10, + 6, + 6, + 0, + 7, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 3, + 5, + 4, + 6, + 6, + 0, + 6, + 6, + 4, + 6, + 6, + 14, + 2, + 4, + 5, + 6, + 2, + 6, + 13, + 6, + 4, + 4, + 5, + 14, + 5, + 0, + 3, + 6, + 3, + 6, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 4, + 6, + 4, + 6, + 6, + 4, + 3, + 2, + 14, + 4, + 6, + 5, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 3, + 7, + 6, + 4, + 6, + 4, + 4, + 3, + 6, + 3, + 3, + 6, + 4, + 0, + 4, + 5, + 4, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 48, + 6, + 2, + 4, + 5, + 5, + 3, + 4, + 4, + 5, + 7, + 4, + 42, + 5, + 33, + 3, + 6, + 6, + 16, + 0, + 2, + 6, + 4, + 6, + 6, + 14, + 5, + 3, + 6, + 6, + 6, + 2, + 5, + 2, + 45, + 5, + 30, + 4, + 6, + 6, + 2, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 7, + 4, + 3, + 6, + 6, + 42, + 6, + 6, + 4, + 20, + 8, + 5, + 6, + 3, + 5, + 5, + 3, + 5, + 5, + 4, + 5, + 3, + 6, + 5, + 6, + 9, + 3, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 2, + 4, + 4, + 6, + 4, + 6, + 3, + 14, + 2, + 5, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 5, + 4, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 4, + 2, + 4, + 8, + 5, + 3, + 0, + 5, + 6, + 4, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 6, + 39, + 4, + 3, + 4, + 6, + 4, + 4, + 4, + 4, + 6, + 14, + 10, + 7, + 5, + 2, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 7, + 4, + 6, + 5, + 5, + 4, + 6, + 5, + 2, + 4, + 3, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 7, + 5, + 6, + 5, + 6, + 3, + 4, + 3, + 3, + 6, + 4, + 5, + 5, + 2, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 2, + 4, + 6, + 3, + 6, + 2, + 3, + 2, + 6, + 5, + 6, + 6, + 0, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 35, + 2, + 5, + 5, + 0, + 5, + 5, + 4, + 5, + 4, + 5, + 5, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 2, + 5, + 14, + 5, + 29, + 7, + 5, + 6, + 6, + 4, + 6, + 12, + 6, + 6, + 5, + 6, + 4, + 5, + 4, + 7, + 4, + 5, + 4, + 6, + 4, + 2, + 2, + 39, + 6, + 5, + 3, + 14, + 2, + 6, + 5, + 6, + 4, + 5, + 4, + 2, + 2, + 6, + 6, + 5, + 17, + 6, + 6, + 6, + 2, + 6, + 3, + 0, + 4, + 6, + 5, + 5, + 49, + 2, + 43, + 3, + 4, + 3, + 2, + 2, + 2, + 6, + 6, + 5, + 2, + 5, + 7, + 6, + 4, + 7, + 5, + 6, + 6, + 5, + 3, + 4, + 3, + 6, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 3, + 44, + 3, + 3, + 5, + 4, + 4, + 4, + 4, + 6, + 3, + 13, + 4, + 6, + 6, + 4, + 2, + 5, + 6, + 3, + 5, + 20, + 6, + 2, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 6, + 2, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 14, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 4, + 8, + 8, + 11, + 6, + 3, + 5, + 6, + 6, + 10, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 39, + 8, + 14, + 12, + 5, + 6, + 5, + 6, + 3, + 6, + 4, + 6, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 0, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 0, + 3, + 4, + 4, + 14, + 6, + 6, + 6, + 5, + 0, + 6, + 6, + 3, + 3, + 5, + 5, + 6, + 3, + 6, + 6, + 4, + 4, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 5, + 6, + 12, + 4, + 4, + 35, + 6, + 6, + 6, + 4, + 50, + 6, + 5, + 6, + 6, + 0, + 5, + 3, + 6, + 4, + 4, + 6, + 6, + 6, + 6, + 0, + 3, + 6, + 3, + 33, + 4, + 4, + 3, + 6, + 5, + 6, + 6, + 4, + 13, + 6, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 6, + 5, + 3, + 0, + 6, + 4, + 5, + 14, + 3, + 8, + 3, + 6, + 3, + 5, + 5, + 5, + 4, + 5, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 6, + 6, + 5, + 0, + 4, + 5, + 14, + 0, + 0, + 5, + 0, + 4, + 5, + 4, + 5, + 4, + 5, + 5, + 5, + 19, + 4, + 14, + 0, + 5, + 4, + 19, + 5, + 4, + 14, + 5, + 0, + 5, + 4, + 0, + 4, + 14, + 4, + 4, + 8, + 0, + 5, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 14, + 4, + 0, + 10, + 33, + 5, + 8, + 4 +] \ No newline at end of file diff --git a/siftsmall/testing_data/gt_sift0m_nc=12_assignment=rand_alpha=0.json b/siftsmall/testing_data/gt_sift0m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..58052e6 --- /dev/null +++ b/siftsmall/testing_data/gt_sift0m_nc=12_assignment=rand_alpha=0.json @@ -0,0 +1,5 @@ +[ + 1, + 2, + 3 +] \ No newline at end of file diff --git a/siftsmall/testing_data/gt_sift1m_nc=12_assignment=rand_alpha=0.json b/siftsmall/testing_data/gt_sift1m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..58052e6 --- /dev/null +++ b/siftsmall/testing_data/gt_sift1m_nc=12_assignment=rand_alpha=0.json @@ -0,0 +1,5 @@ +[ + 1, + 2, + 3 +] \ No newline at end of file diff --git a/siftsmall/testing_data/query_filters_sift0m_nc=12_alpha=0.json b/siftsmall/testing_data/query_filters_sift0m_nc=12_alpha=0.json new file mode 100644 index 0000000..def1815 --- /dev/null +++ b/siftsmall/testing_data/query_filters_sift0m_nc=12_alpha=0.json @@ -0,0 +1,12 @@ +[ + 5, + 111, + 3, + 4, + 51, + 5, + 5, + 5, + 5, + 5 +] \ No newline at end of file diff --git a/siftsmall/testing_data/query_filters_sift1m_nc=12_alpha=0.json b/siftsmall/testing_data/query_filters_sift1m_nc=12_alpha=0.json new file mode 100644 index 0000000..8ff1e04 --- /dev/null +++ b/siftsmall/testing_data/query_filters_sift1m_nc=12_alpha=0.json @@ -0,0 +1,5 @@ +[ + 100, + 2, + 3 +] \ No newline at end of file diff --git a/siftsmall/testing_data/siftsmall_R32_L50_filtered_index b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index new file mode 100644 index 0000000..d7bafe3 Binary files /dev/null and b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index differ diff --git a/siftsmall/testing_data/siftsmall_R32_L50_filtered_index.data b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index.data new file mode 100644 index 0000000..07e31f5 Binary files /dev/null and b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index.data differ diff --git a/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_label_formatted.txt b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_label_formatted.txt new file mode 100644 index 0000000..0d9f6fb --- /dev/null +++ b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_label_formatted.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +7,6,8 +0 +6 +9,4,6,10,11 +6 +6 +12,4 +6,8 +13,3,14,5,15,16 +17,5,6,18 +5,6,19 +20,17,14,6,21 +12,2 +13 +22,6 +10 +17,6,10 +5,6,23,11 +6 +24,25,6 +6 +24,26,7,4 +27,3,14,21 +3,14,6,23 +14,6,28,15 +14,5,6,29,30 +31,2,7 +32,25,6 +33,5,6,19,8 +6,11 +17,4,14,15,10 +34,13,6 +35,13,17,6,15 +36,3,4,14,8 +3,5,6,21 +7,4,6 +33,2,5 +37,14,6,16 +38,5 +14,6,10 +7,3,14,5 +28 +39,6 +2,3 +7,5,6,29 +6,8 +35,26 +5 +6,21 +40,13,7,14,5,6 +14,6 +41,5,6 +34,13,3,6 +22,5,6 +3,4,5,6,29 +3,5,6 +6,28 +25,3,4,6 +6,21 +37,14,6 +34,4,6 +22,5,6,15 +4,6,28 +17,5,6,42,29 +6,43 +26,6,11 +25,7,3,6 +44,5,6 +38,7 +45,13,6 +40,2,5,6,21 +6 +40,41,4,14,6 +10 +7,5,6,23 +31,20,14,6 +44,12,6 +45,17,7,5,6 +12,6,18 +6,11 +20,7,46 +3 +2,17,6 +31,47,46 +26,2,5 +0 +4,14,5,6,42 +37,27,48,41,4,5,6,11 +2,3,4,6 +14,5 +17,5,6,28 +2,5,6 +20,4,5,6 +12,20,49 +7,6 +14,6,19 +22,3,6 +37,30 +6,16,42 +2,4,6,10 +17,6 +14 +4,5,10 +6,10 +17,3,6,16 +50,4,5,6 +4 +50 +35,14,21 +14,6 +2,4,16 +22,5,15 +17,6 +6,8,43 +6,29 +24,25,17,14,6,11 +12,14,6,15,18 +22,14,10 +25,7,14,6 +49 +6 +32,25,3,5,6 +4,21,18 +4,6 +6 +0 +31,32,36,6 +26,6 +22,5,6,19,30 +20,3,5,43 +34,6 +5,19 +22,5,6 +3 +25,4,6 +25,7,5,6 +12,6 +13,17,5,6,19,10,42,18 +3,8 +37,17,7,28,46 +6,21 +6,46 +5,6,46 +5,6 +47,2,20,7,6,28,19 +41,6 +3,5,6 +12,5 +44,6 +3,29 +2,4,6,15 +35,14,5,6,16 +48,6 +5,6,15 +4,14,6 +25,22,14,6 +33,14 +39,31,32,3,6 +25,6 +13,5 +5,6 +6,21,15 +0 +39,14,6,15 +36,13,3,6,21,11 +33,3 +48,25,5,6,29 +20,17,4,6 +3,4,5,6 +5,6 +2,17,3,5,6,16 +6 +13,4,5 +36,38,5,6 +2,6 +9,14,5,6 +3,14,6,11 +6 +24,5,6 +38,48,12,5,6 +24,4,6 +6,23,8 +22,3,5,6 +41,26,17,5,6 +41,13,14,16 +6 +6,49 +34,3,4,6,21 +2,17,6,18 +5,6,28 +26,6 +17,4,6,16 +7,4,5,28,8 +38,6,16,8 +31,25,3,5,6 +25,22,7,3,4,14,5,6 +37,14,6 +14,5,6 +13,20,7,6 +25,4,5,6 +7 +25,5,6 +5,46 +44,5,6 +12,4,5,6,21,19 +20,6 +4,6 +26,20,17,14,5,6 +4,6 +22,3,14 +4,6 +6 +17,14,5,6 +38,22,6 +39,14,6 +47,12,6,15 +12,22,5,6,42 +20,5,6 +4,6,15,8 +22,3,4,6,28 +9,6,28 +25,14,6 +22,6,11 +7,6,30 +7,5 +6 +34,7 +7,14,5,6 +37,3,6 +7,14,46 +5 +7,5,6 +50,2,7,6,8 +25,22,6 +7,14,6,42 +17,14,6 +5,6 +50,4,5,6 +36,13,4,14,6 +22,7,5,6,15,16 +14,6,30 +6 +5,6 +12,3,5,6 +5,6 +17,6 +12,25,14,5,6 +3,5,6,28 +3,6 +20,5,6,23 +27,4,6 +40,4,6 +12,3,6,18 +28 +5 +17 +7,14,5,6 +3,4,5,6 +14,5,6 +4,6,49 +17,7,5,6,18 +9,6 +5,21 +17,7,5,42 +0 +40,34,7,4,5,6 +35,3,14 +3,4,5,6,21 +6,11 +14,6 +38,20,6 +25,20,17,5 +13,5,6,15 +14,5,6 +37,12,14,6 +6 +16 +28,18,23 +51,47,5,6 +6 +0 +25,3,6 +2,20,4,6,10 +44,12,6,10 +6 +13,5 +40,22,5,18 +5 +37,2,3,19 +47,48,22,4,5,6 +22,6,21 +6 +5,6 +6 +7,6,15,18 +7,5,6 +0 +17,3,6,15 +7,14,6,21 +17,7,5,23 +22,4,5,29 +25,5,6,15 +2,14,6,49 +10 +44,3,14,6 +25,17 +9,38,7,6 +6 +4,5,6,11 +35,14,5,6 +4,5,6 +32,7,6 +40,6 +2,25,6 +17,4,6 +2,17,6,21,28 +44,17,4 +34,6,46 +35,22,17 +7,6 +26,2,5,6 +14,5,6 +48,4,6,10 +20,4,5,15 +4,6 +47,44,22 +3 +0 +4,6,43 +50,14,6 +33,25,5,6 +5,6,15,18,29 +48,44,25,4,5,6,46 +14,5,6,11 +20,5,19 +5,6,11 +2,21 +39,32,22,6 +4,6 +45,36,12,13,14,5 +44,13,17,4,6,23 +14,5,6,15 +34,6 +22,14 +21,10 +7,5,42 +20,6,42 +2,7,4 +35,6,29 +14,6 +5,6 +51,38,2,23,29 +50,7,6 +17,4,14,6,42 +12 +4 +26,5,6 +17 +13,3,6 +36,22,7,6,28 +14,6,28,16 +14,5,6,10,29 +25,5,6 +38,12,14,5,10 +37,7,3,14,6,42 +2 +14,6,23 +5,6,21,30 +48,20,5,6 +35,7,6 +45,20,14,6 +25,5,6 +6 +36,17 +3,14,5,6 +5,6 +13,5,16 +4,14 +6 +6,18 +20,5,6,23 +6,16 +48,12,5,6 +34,5 +4,5,6 +6 +7,6,28,18,8 +17 +14,6,30 +6,46 +12,14,6 +4,5 +40,13,14,6 +17,5,16,29 +25,3,6,15 +48,15,18 +44,13,6,15 +27,5 +41,4,5,15 +6,18 +34,4,5,6,16 +6 +22 +14,6 +2,7,3,4,6 +27,4,14,6 +20,10 +2,14,5,6,42,49 +19 +36,6,18,29 +14,5,42 +13,4,6,16 +14,5,6 +24,35,3,14,5,6,15,46,30,43 +31,3,5,6 +7 +33,25,14,6,19 +6,42,30 +3,4,6 +22,14,6 +5,15 +2,5,6 +8 +32,14,5,43 +17,4,5,6,15 +25,4,6 +6 +9,3,5 +26,17,14,5,6 +37,12,17,4,42,49 +12 +36,17,3,6 +13,5,6,49 +35,2,6 +22,3 +2,5,6 +31,2,6 +22,17,14,21,30 +14,6 +14,5,6 +47,20,22,3 +3,4,6 +37,6,46 +41,4,14,5,6,15 +6,16 +14,6 +20,4 +3,8 +5,6 +3,14,6 +5,10 +2,6 +4,14 +32,48,33,4 +6,29 +25,6,10,46 +4,6 +47,3,14,5,6,16,46 +36,12,6,8 +39,25,4,18,43 +6,28,19,46 +0 +14,19 +41,5,21,15 +7,3,4,5,6 +2,6 +22,4,14,5,6 +7,3,4,6 +3,6 +6,8 +17,14,5,6 +7,6 +14,43 +26,6,18 +6,19 +50,41,2,5,6 +25,20,7,3,5,6,23 +3,6,18 +0 +0 +7,5,28,42 +51,14,6,28 +3,4 +6 +34,3,5,6,29 +22,3,14,5,6 +6 +34,5,6 +26,14,6 +0 +27,25,4,14,6,28 +5,6,19 +7,4,14,6 +3,6 +6 +14,6,10 +39,37,17,14,6 +31,13,17,3,6,19 +22,14,21,46 +17,7,4,14,5,6,15 +25,6 +17,4,5,8 +22,17,6,8 +14,6 +6 +34,2,17,5,6 +45,26,4,5,18 +34,6 +26,17,4,6 +3,4 +12,4,14,6 +12,4,14,5 +13,25,20,3,4 +14,6,10 +50,6 +41,6 +5,28,11 +17,14,6,46 +48,17 +17,6 +3,14,6 +14,5,6,18 +14,5,6,16 +14,5,49 +37,7,14,6 +20,6 +14,6 +14 +0 +2,22,3,14,5 +25,4,6 +40,22,14 +7,5,6,11 +26,20,4 +7,14,5,6 +0 +34,20,6 +44,14,6,16,49 +40,14,5,6 +14,6 +2,6,10 +3,6,28,49 +5,6 +15 +5 +47,36,2,6 +3,6,42 +26,5,6,18 +0 +38 +6 +0 +3,4,6 +22,6,11 +6,10 +40,27,13,5,6 +0 +17,6 +14,6,28 +34,13,5 +14,43 +37,17,6 +47,4,5,6,10 +6 +44,6,8 +36,7,6,15,10 +45,47,14,23 +34,27,5,6 +25,7,6 +13,7,5,6 +14,6,42 +5,6,28,23 +14,5 +38,22,6 +37,4,6 +12,6 +4,6,46,49 +40,6 +32,22,3,6,43 +6,28 +40 +2,7,6 +22,5 +25,3,6,49 +47,17,10 +3,14,6 +2,6 +7,43 +5,6 +13,22,6 +39,36,12,14,6 +2,5,6,30 +7,5,6,15 +3 +27,7,3,4,14,6,8,11 +7,4,5,6 +9,44,6,11 +3 +22,7,6 +22,6 +25,4,6 +13,6,18 +23 +22,6 +12,17,5,6,8 +27,5 +4 +2,20,4 +6 +25,22,5,6,15 +24,25,6,18 +20,6,29 +7 +13,7,14,5,6 +37,17,10,8 +6 +6,8 +3,14,6 +6,16 +12,13,25,22,14,6 +20,4,5,6 +50,37,7,5,11 +0 +13,14,6,29 +22,6,16,18,8 +14,5,6,10 +35,4 +20,14,6 +14,21 +50,17,5,6,21 +48,4,6,21 +17,4,6 +5,6 +26,13,4,5,6 +22,4,5,6 +44,12,5,15,43 +13,5,6,16 +44,14,6,21,28,10,49 +34,22,3,5,6 +17,5,6,42 +13,7,14,5,6 +6,23 +2,22,7,28 +41,15,49 +47,2,17,3,14,5,46 +40,6 +3,4,5,6 +50,35,2,6 +36,7,14,6,42 +36,38,22,4,14,6,18 +35,14,5,6 +9,20,7,4,14,6,11 +17,5,6 +5,6 +48,6 +35,17,7,5,6,21 +2 +2,7,6 +12,22 +7,14,5,6,19 +22,14,6,16 +35,25,17,4,6 +22,4,5,6,11 +20,17,6 +6 +20,5,6 +13,25,3,6 +17,14,5,28,30 +25,3 +5,6,29 +17,3,4,6,30 +14,5,6,46 +14,5 +31,14,5,6,18 +3,4,6,18 +7,5,6 +0 +7,5,6,46,30 +17 +5,6,10 +7,6 +4,14,5,6,46 +12,14,5,6 +0 +5,6,10 +12,6,21,23,49 +48,2,17,3,10,8 +3 +36,2,5,6,49 +7,14,6,10 +24,44,4,6 +6 +5,6 +27,4,6,23 +7,3,6 +2,6,29 +3,14,5,6,28 +7,5,6 +5,6 +14,6 +26,14,5 +6 +34,5,6 +5 +51,6 +5,6 +6 +48,13,3 +12,7,3,14,6 +45,7,6,46 +6 +14,5,6,21 +31,37,7,6,21,8 +20,6 +17,6,15 +13,3,15 +50,48,4,14,6,16,46 +2,7 +22,6 +34,35,17,3,14,6,15 +6,15 +39,3,14,5,6 +7,14,6 +14,5,6 +0 +26,6 +25,17,6,8 +44,17,3,4,14,5,6 +17,14,6,16,18 +17,7,3,5,42 +14,5,6 +3,6 +47,9,4,6 +33,22,7,4,6 +6 +45,20,17,4 +7,3,6 +13,2,20 +35,44,6 +36,4,14,6 +22,17,7,14,6 +20,5,19 +14,6 +20,6 +20,3,5,6,42 +7,3,4,5,6 +17,3,5,6 +9,20,7,5 +22,5,6 +35,20,5,6 +40,9,12,5,6 +27,4,6,19 +14,6,28,30 +25,4,6,46 +2,6 +14,6 +20,14,46 +20,6 +20,7,6,28 +13,25,6 +4 +36,6,46 +25,14,6,19,18 +14,6 +44,7,6 +51,4,5,28 +4,6,42 +22,6,28 +15 +17,6,28 +12,2,5,6 +5,6,28 +14,10 +22,5,6 +25,22,17,5,6,21 +2,22,5,8 +33,12,17,6,19 +4,6,16 +6,15,18 +7,5 +13,6 +25,17,6 +2 +3,6,16,46 +12 +32,44,6 +14,5,6,18,23 +31,20,6,8,43 +51,45,3,5 +4,6,23,8 +14,5,6,18,43 +13,21 +3,6 +15 +37,22,17,14,6,30 +6 +6 +41,7,3,5,6 +25,6,15 +12,7,6 +9,13,5,6,16 +7,6,21,29,49 +22,4 +12,13,6,28 +2,3,6,21 +22 +27,3,6 +40,6 +5,6 +22,5,16 +39,4,14,5,6,21,28 +39,20,17,4,6 +6 +3,16 +13,22,4,6,11 +6 +33,2,5 +2,4,14,5,23 +27,17,3,6 +2,3,14,6 +17,5,6,21 +6,8 +6,18,46 +2,3,6 +17,6 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +17,5,6 +48,33,17,4,6 +6,42 +9,33,6,19,16 +51,6 +8 +5,6 +7,3,4,6 +12,7,5,6 +12,3,6,21 +7,4,5 +5,6 +7,5,6,49 +14,6,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +31,25,14,6,10,49 +6,16,29,30 +31,36,25,5,6,28,46 +2,7,4,6 +31,2,17,3,14 +6,18 +44,17,5,6 +44,5,6 +6 +25,22,17,7,6,28 +22,17,6,11 +44,5,6 +6,16 +6 +3 +20,4 +12,5,21 +12,22,7,6,19,49 +26,17,6,19 +14,6 +22,14,6 +22,5 +51,26,25,14,6,8 +26,4,6 +31,22,3,6,49 +24,12 +33,13,3,6,42,11 +50,14 +6 +26,14 +32,44,3,5,6,8,46 +13,22,5,6 +39,7,3,14,6 +4,6,46 +7,4,14,6,46 +51,7,5 +32,48,3,6,23 +17,6,8 +14,6,21,43 +9,17,5,6 +7,14,5,6 +48,22,6 +14,6 +17 +3,14,6 +48,6 +20,5,6,21 +33,17,4,14,6,21,19 +22,5 +44,7,6 +40,13,6,49 +40,6 +14,6,15 +17,3,6,42 +12 +20,4,6 +5,6,42 +47,25,14,5,6,29 +17,4,6 +22,7,5,6,42 +14,5,6,28 +5 +6 +14,6 +9,14,16 +6 +37,3,5,6,16 +4,6 +6,42 +31,3,14,6,23,43 +17,6 +3,5,6 +14,6,15,30 +14,5 +14,6 +13,17,14,6 +12,6,10 +48,4 +31,4,14,5,6,49 +31,4,6,16 +2,7,3,4,6 +48,4,6 +14 +12,5,6,19 +34,5 +5,6,8 +4,6,42 +25 +13,6 +22,6,29 +22,3,6,21 +34,48,41,4,6 +20,4,5,6,15,8 +7,4,6 +4,5,6,19 +2,14,5,6,28 +5,6,49 +17,7,6 +36,14,6,11 +14,5,6 +47,3,6,11 +9,5 +5 +4,5,6 +4,6,15,46 +14,6 +25,17,4,6 +44,6 +48,5,6,15 +17,6 +51,12,20,3,5,6 +4,6 +22,5,6,15,10,42 +7,6,15,10 +20 +25,20,4 +4,6,16,8,29 +22,14,6 +35,3,5,6,28 +5,6,46 +40,6,23 +51,22,5,6,23 +22,7,3,14,6,19 +44,3,6 +38,48,25,3,11 +25,4,6 +33,2,17,7,6,29 +2,5,6,21 +3,4,14,6,16 +51,2,14,5,6 +47,7,6,28,18 +20,5,6,8 +0 +14,49 +32,12,2,4,5,6 +48,6,10 +6 +31,40,35,13,6,30 +34,5,6 +48,20,14,6,23,30 +32,44,2,6 +35,33,5 +25,4,5,6 +4,14,6 +25,6 +20,4,6 +33,17,6 +38,2,22,7,14,6 +33,13,5,30 +17,7,6,18,29 +5,6,28,8 +5 +22,14,6 +39,47 +13,20 +20,22,4,5,6,8 +6 +36,6 +38,14,5,6,19,11 +5,6,28 +4,6 +40,14,5,6,10 +5,6 +22,7,4,6,23 +47,7,6 +6,19 +20,22,3,5,6 +7,6 +3,14,5,15,10 +17,3,5,6 +7,14,5,6 +14,6 +34,12,2,14,6 +20,6 +17,6,28,18 +41,13,17,6 +14,43 +45,14 +6 +45,7,4,14,5 +7,14 +14,6 +39,51,47,25,22,7,6 +14,6,23 +24,17,6 +7,6 +13,14,5,6 +5,6,10 +2,6,8 +5,6,49 +45,34,4,6,30,49 +6,29 +13,3,6,15 +26,6 +2,3,21 +6 +4,6 +35,4,6,23 +13,16 +48,33,17,5,6,42 +20,3,6,16,30 +5 +34,5,6,16 +22,5 +51,22,6 +5 +13,14,6 +44,20,17,3,4 +44,4 +4,14,6 +20 +2,6 +20,22,6 +5,6,21 +5,6,42 +17,6 +17,4,18 +13,4,5,6 +12,17,4,6,15 +14,5 +39,33,14,6,28,42,49 +51,25,22,7,3,6,28,18 +45,17,28 +7,14,6,21 +20,14,46 +6 +5,6,21 +22,5,6,16 +6 +3 +22,3,5 +6,21 +48,6,30 +44,22,7,6 +3,4,14,5,6 +3,14,5,6,16 +6,21 +6 +37,22,6,16 +37,22,4,6,30 +48,6,18 +50,9,44,12,6 +25,7,14,5,42 +35,2,5,6,18 +25,3,10 +12,2,22,4,14,5,6 +6 +13,17,7,6 +4,5,42 +27,3,14,6,15 +9,46 +9,13,5,6 +35,5,6 +45,13,25,17,6 +40,20,6,18 +44,5,6 +2,25,3,14,18,46 +25,42 +22,4,6,29 +13,6,10 +3,4,5,6,28,42 +34,6 +17,6,23,29 +17,6,43 +2,6,21 +6 +37,17,7,6,10 +44,4,5,6 +3,5 +20 +34,6 +6,15,42 +33,20,6,42 +0 +6 +12,6,18 +49 +39,14,6 +40,22,5 +25,5,6,49 +5,6 +51,48 +14,19 +6,21 +36,3,11 +48,14,5 +5,6 +0 +2,14 +20,7,4,6,18 +22,17,6,11,30 +22,4,5 +14,5,46,30 +6 +2,6,23,49 +22,8 +48,7,6 +39,33,3,5,6 +17,14 +9,25,22,14,6 +17,7,5,6,15,23 +3,6,49 +7,4,5,6,15 +6 +20,6 +3,5,6 +26,20,4,15 +4,19 +39,14,6 +50,6,28 +7,3,6 +34,25,14,5,16,43 +22,6 +20,5 +14,6,8 +20,5 +48,22,6 +4,28 +20,14,6,28,19 +3,14,5,6 +22,3,4,14,19 +13,5 +4,6 +22,4,14 +6 +13,30 +39 +4,14,5,6 +22,6 +22,6 +44,7,3,14,5,21 +27,20,4,5,6,30,43 +3,5,6 +33,6 +51,48,13,3,6,19 +34,6,18 +35,3,6 +3 +5,6 +15 +17,14,6,11 +14,6 +20,5,6,30 +45,17,5,6 +40,6,16 +5,6 +34,22,3,5,6,21 +37,20,7,5,6 +41,20,14,6 +20,22,17,6,19 +3,14,6 +47,10,43 +22,6 +41,17,7,6,10 +17,5,6 +0 +3,6 +3,4,6 +20,5,6 +4,5,6 +20,4,6 +14,42 +22,5,6 +6 +5 +40,18 +20,19,42,29 +5 +12,22,5,6 +48,14,6,15,19 +2,23 +6 +5,6,28 +14 +44,17,14,5,6 +51,5,6,19,30 +45,2,17,14,5 +22,14,6 +48,3,6 +6 +17,6 +20,14,42 +38,3,15 +6,23 +14,6 +12,13,3,6,21,8 +22,4,14,6 +19 +28,23,8 +9,41,14,6 +45,22,17,4,14,6 +3,4,5,6 +6 +39,22,4 +6,15 +33,5,6 +20,17,14,6 +14,6,21 +6 +39,25,4,5,6 +36,13,20,14,5,6,23,43 +0 +6 +19 +7,6,10,16 +3,4,5,6 +4,5,6,42 +44,12,22,17,6,19 +50,6 +3,5,6,18 +14,6 +5,6,21 +7,4,6 +38,4,5,28,30 +5,30 +43 +20,5,21,28 +39,41,20,5,6 +22,6 +33,22,6 +4 +38,4,5,6 +14,5,6,30 +17,28 +6 +20,17,14,6 +50,17,14 +47,7,4,5,6,15 +7,6,19 +14 +34,4 +7,14,5 +33,25,7 +4,6 +5,6 +2,6 +38,7,5 +22,3,4,14,5,6,15,29 +33,22,14,6 +7,5,6 +6 +12,20,14,28 +4,6,18,49 +17,5,6 +34,36,33,4,6,42 +25,20,7,6,30 +50,34,17,6 +20,3 +5 +17,5,6,21 +33,26,13,46 +14,6,42,43 +7,3,14,29 +44,2,6,28 +13,14 +44,3,6,10 +6,46 +22,3,5,6 +27,4,6 +2,4,14 +3,4,5,6,11,30 +38,6 +7,14,6 +48,14,19 +3,5,6 +44,7,5,6 +14,5 +34,44,6,28 +35,22,7,14,6,46 +3,6 +50,3,6 +6,46,30,49 +6 +6,8 +22,16,29 +2,29 +6 +25,5,6,49 +46,30 +25,6,19,18 +36,5,6 +50,7,4,6 +17,6,46 +17,6,21 +17,3,4,14 +14,5,6 +2,5,6 +17,4,6 +4,14,5,29 +20,14,5,6,10 +0 +51,44,7,5 +14,6 +9,12,13,6 +38,6 +36,27,5,28,10 +5,46 +27,5,6 +20,18 +26,5,6 +25,6,11 +26,4,19 +0 +27,3,4,6,21,28,16 +7,3,46,30 +6 +48,25,7,14,5,6 +7,6 +12,22,6 +13,17 +45,3,4,14,5,6 +13,2,25,5,6 +14,6 +12,25,18 +12,7,4,5,6,30 +36,17,7,6 +34,13,4,14,5,6 +14,6,8 +20,7,6 +48,13,3,6 +51,14,5,30 +39,9,25,4 +17,5,6,10 +4,14,6 +2,14,6 +13,5 +35,2,22,5,6 +0 +7,28 +0 +12,3 +32,2,7,5,46 +4,14,6 +24,36 +4,14,6 +6,46 +14 +40,41,7,5,6 +22,17,7,6 +45,33,7,6,16 +47,13,22,21 +4,5,6,15,10 +45,7,4,6 +24,22,7,5,6 +6,30 +7,14,6,15,11 +45,25,3,5 +5,6,46 +2,5,6,42 +6 +14,5,6,15 +4,6,8 +5,6 +12,2,6 +51,13,4,6 +9,13,6 +22 +35,33,26,25,20,14,6,8 +9,6 +44,5,6,21 +13,6 +35,20,5,6 +47,20 +5,6 +3,14,5,6,19 +12,4,6,42 +47,7,6 +14,6 +44,6 +39,48,14,5,6 +2,25,6,42 +7,3,4,14,6 +3,5,6 +37,14 +6,19,42 +7,4,5,6,46 +25,17,5,6,19 +17,3,6,19,49 +12 +33,2 +45,5,6,43 +20,3 +5 +2,22,14,6,10 +45,2,20,3,5,6 +4,8 +36,25,22,6,42 +4 +20,6,8,49 +6 +32,7,14,6,23 +6,28 +12,14,5 +3,4,6,21 +17,5,6 +17,6 +3,6,23 +14,6,11 +20,14 +4,6 +22,6,15 +44,4,6 +7,6 +9,26,4,14,5,6,8 +2,5,6,18,29 +7,4,6 +17,3,18 +32,2,3,14,5 +6,18 +5,6,16 +2,20,14,5,6,28 +14,6 +22,14,6 +0 +23 +5 +17,5,10 +5 +37,6 +6 +4,14,5 +25,7,3,6,15 +6,28 +51,22,4,14 +6 +12,6 +12,6 +9,13 +25,14,6,19 +5,6,49 +13,14,5,6 +14,6,18 +3,14,5,6 +22,17,7,4,14,6 +13,6 +22,17,28,46 +44,6 +25,20,23,8 +5,6 +20,15 +47,35,20,4,14,6,21,30 +13,2 +3,6,11 +5 +26,6 +5 +33,13,17,4,5,6 +17,5,6,15 +4 +48,22,4,6,23 +4,6,19,16,43 +26 +7,4,14,5,6 +22,6 +17,46 +14,5,6 +7,14 +12,7,14,6 +32,14,6,30 +20,6,23 +5,6 +14,5,6,28 +7,43 +17,6,23 +47,5,6 +39,14,28 +6 +14 +38,5,6 +25,6 +20,5,43 +0 +5 +3,5,18 +20,7,6 +17,4,5,6,29 +27,7,16,49 +6 +41,20,22,3,14,6 +9,12,22,7,5,6,46 +44,13,14,29 +7,14,5 +5,6,29 +26,6 +13,5,6,21 +6,28 +50,17,14,6 +6,43 +48,5,15 +14,6 +6 +5,6 +17,6,16,49 +6 +25,6 +13,4,5 +22,5,6 +22,6 +2,6,8 +5 +7,6 +20,6 +6,23 +13,4,14 +6 +34,27,7,4,6 +5,6 +14 +6 +17,7,5,46 +14,6,23 +22,14,19 +7 +25,17,14,5 +44,7,3,5,6 +6,15 +20,22,3,4,6 +31,7,14,8 +4,5,6,42 +20,17,7,14,5,6,15 +27,22,6,23 +27,14,6 +20,5,6 +26,3,5,6 +36,22,6 +2,5,6,46 +36,14 +3,6 +4,14,6 +50,34,4,14,5,6 +47,22,17,14,5 +25,22,7,14 +25,20,6 +9,13,25,17,14,6,42 +12,5 +2,3,4,5,6 +48,12,13,2,3,6,19 +24,6 +6 +6 +7,6 +6 +5,6 +22,6 +4,14,6 +20,3,6 +20,7,6 +7,5,6,30 +20,3 +7,5,6 +22,4,6 +31,20,11 +24,34,5,6 +41,17,14,5,6 +6 +31,7,6,28,42,43 +2,6,16 +14,6,30 +7 +20,6 +50,25,6 +25,5,18,23 +17,6 +38,26 +12,17,4,14,5,6,8 +14,6,29 +48,5 +20,5,6,23 +14,5 +26,14,6,11 +5,6,16 +4,5,6 +4,5,6 +20,7 +25,3,14,5,6 +22,4,5 +45,41,6,15,18,43 +7,6,15,10,49 +31,19 +5,6 +39,17,14,5,6 +20,14,6 +2 +3,6,28,8 +41,6 +4,5,6 +12,7,6,30,49 +17,4,6 +22,3,5,6 +13,6 +45,31,3,4,14,5,6 +40,7,3,6,28 +51,2,3,6,19 +5 +51,29 +5,6 +20,3,14,6 +4,6 +36,20,14,18 +17,14,6,18 +3,14,6,18 +5,28 +38,14,8 +4,14,46 +17,4,14,6 +27,25,17,6,19 +35,38,22,6,30 +13,2,14,5 +7,3,6 +45,3,6,28 +24,6,29 +3,6 +9,7,14,5,6 +27,5,6,18 +22,14,15,19,42,29,43 +0 +50,17,18,11 +31,14,5,42,23 +14,6 +38,5,21 +14,6,29 +6 +7,4,6 +14,42 +3,6,29 +2,25,17,4 +14,6 +9,22,5,19 +40,14,5,6,42 +6 +44,6 +13,22,4,5,6,19 +22,6 +32,2,22,5,6 +20,3 +5,6,23 +6 +22,6 +6 +20,4,5 +41,3,6 +14,5,6,42 +2,25,4,5,6 +25,22,4,6,42 +5 +25,3,6,29 +39,7,5,6,16 +3,5 +2,14,6 +5,6,15 +5,6,43 +5,6,8 +25,7,3,8 +17,6 +3,29 +4,5,21 +28 +13,7,4,5,6,30 +0 +0 +39,50,7 +9,36,20,14,18 +9,14,6 +33,6 +14,5,6,8 +50,3,6 +39,22,14,5,6 +26,3,5 +48,33,22,6 +38,17,4,6,15,30 +47,32,14,6,28,8 +25,7,6,21 +17,7,6 +40,32,14,5,11 +7,5,6,21 +28 +6,10 +3,4,14,6 +47,13,7,6 +20,4,6,10 +13,2,20,5 +7,29 +27,20 +22,3,10 +12,2,22,14,5 +14,6 +22,17,6 +19,42 +4,5 +4,5,6 +37,36,14,6 +22,3,14,5,6 +25,5,6,16,29 +5,6 +20 +14,6 +51,22,14,6,18 +31,14,5,6 +20,17,3,6 +5,6,28 +0 +14,5,6 +48,2,17,6 +12,6 +2,17,3,4,14,6 +32,20,22,6 +4,5,18 +27,14,6 +14 +44,20,6,10 +39,25 +7,5,6,42,29 +20,3,6,21,23,43 +3,6,8 +22,6 +6 +0 +5,6,30 +6 +33 +31,13,4,5,6 +2,5 +16 +7 +4,6 +7,3,5,6 +25,14,6,15 +14,6 +14,5 +0 +7,14,6 +25,3,6 +24,17,4,6,46 +17,14,5 +37,14,6,11 +4,28,19 +36,14,19 +9,35,7,5 +9,12,22,6 +45,37,26,25,3 +7,3 +22,3,6 +32,22,5,6,11,30 +6 +48,5 +51,31,2,6,42 +13,22,4,14,6,15,10,46 +6,21 +2,25,14,5,11 +12,13,2,5,43 +2,23,49 +50,22,4,6 +14,6,21 +33,12,5 +20 +6,16 +13,4,5,6 +18 +36,6,19 +25,3,5,6,28,15 +40,2,14,6,21 +26,20,7,6 +20,17,5,6,10 +17 +33,6,21 +14,5 +3,4,14,6 +51,12,5,21,29 +6,16 +2,22,5 +6,28,15 +31,4,6,42 +44,5,6 +9,34,7,5,6,8 +39,20,6 +4,6 +35,20,4,6 +6 +2,5,6,21 +14,6 +3,5,6 +6,16 +4,6 +17,6,28 +6 +22 +36,6 +7,14 +3,6 +3,5,6 +22,6,21 +36,2,25,4,6 +3,6 +9,6,16,46 +6 +26,3,14,10 +20,22,17,4,5,6,49 +38,2,14,6,16 +27 +6 +5,6 +12,22,4,5,28,16,46 +13,5 +5 +2,22 +5 +2,14,6 +20,7,5,6 +37,9,14 +7,6,28,23 +6,28 +20,14,6 +12,17,16,29 +44,6 +4,5,6 +7,6,16,43 +9,12,5 +20,14,43 +13,7,6,15 +20,14,6,21 +22,3,14,6,15 +5,6,43 +3 +12 +33,6,30 +5,11 +27,3,14,6 +4,6 +39,20,22,3,6 +5,15 +40,44,20,14,6,21,28 +5,6 +45,20,6 +0 +3,6 +4,6,15 +3,14,6,21 +6 +4 +37,6 +6,21,8 +9,17,7,4 +17,6 +4,5,6 +25,6 +38,3,5,6 +12,3,14,6 +6,11 +50,13,6,28,10 +4,28 +34,6 +45,3,6,21 +2,6,21,29 +17,14 +3,4,42 +48 +17,4 +44,4,6 +6 +14,5,6,23 +20,7,3,5,6 +13,3,18,23 +36,5,23 +7,14,6,46,30 +5 +9,6,49 +5,42 +41,6 +13,7,5,10,46 +49 +5,6 +12,13,3,6 +6 +13,3,14,6,28,23 +37,6 +6 +13,3,5,21 +36,10,8 +4,6 +25 +31,14,6 +3,4,14 +51,5,6,29 +51,25,4,14 +4,8 +2,14,5 +12,7,3,5,6 +7 +4,6 +6,21 +36,6 +33,26,4,6,21,46 +0 +2,3,6,15 +13 +5,43 +4,30 +31,38,7,4,6,15,29,43 +9,41,2,6,30 +35,22,3,5,6,10 +40,20,23 +31,6,15,16 +20,17,5,6 +3,6 +9 +17,4,6,29 +14,5,6,21 +40,4,5,6,21 +7,14,5,6 +36,17,6,42 +14,5 +6,8 +9,2,6,46 +6 +4,5,6 +6 +47,38,22,6 +27,13,20,5,6 +31,14,6,10 +22,3,4 +6,15,19 +48,2,4,5,42,30 +45,4,14 +22,5,16 +20,6,18 +14,16 +3,5,6,28 +44 +48,22,14,5,10,18 +3,4,5,6 +25,10 +17,49 +4,5 +20,6 +45,13,20,5,6 +16 +0 +6 +5,6 +12,20 +6 +38,5,6 +17,4,6 +13,6 +36,13,20,3,6 +6 +12,14 +5,6 +26,6 +35,25,20,5,6 +26,3,14,6 +6 +22,4,5 +2,20,7,6 +12,13,4,5,6 +20,46 +38,27,12,4,14,5 +12,22,4,6 +5,6,18 +20,5,6 +50,22,6 +3,6,49 +41,12,25,7,3,5,6,23 +7,3,14 +36,4,6 +27,44,6 +22,3,14,6 +20,3 +33,6,8,43 +14,6 +5,6 +17,6 +37,2,25,5,6 +13,3,4,10,29 +40,6,18,46 +44,14,6,18,8 +27,3,6 +9,3,4,5,6 +2,6,8 +13,6,19 +12,2,17,6 +0 +0 +7,14,6 +5,6,19,23 +44,2,7,3 +7 +6 +32,7,3,4 +6 +14,6 +5,49 +23,8 +33,4,6,28,23 +20 +4,14,5,6 +5 +4,5,6,19,10,42,29 +15,30 +13,6,46,30 +26,20,6,11 +6,21 +2,14,18,43 +25,4,10 +22,7,5 +41,7,6 +31,20 +40,4,14,6 +28,10 +12,14,5,6 +7,5,6,23 +22,3,18 +12,6 +13,4,14,6,19 +31,2,5,6,21 +6,8 +14 +2,10 +34,27,7,6,21 +26,13,3,5,18 +6,11 +34 +51,6 +4,6,10,29 +5 +14,5,6,21 +4,6 +4,5,11 +38,22,3,6 +33,2,20,22,6,10 +33,5,6,30 +17,14,6 +9,27,20,6,30 +36,25,14 +24,25,7,6,21,15,19 +5 +5 +12,5,6 +14 +4,14,5,6 +6 +14,6,16,30 +4,5,6,19 +3 +44,12,13,14 +50,6 +5,6 +6 +5,21,8 +2,3 +3,14,6,28 +5,6 +20,3,4,6 +7,6,15 +12,4,5,6 +13,6 +31,27,6 +25,22,6 +14,6 +30 +14,6,15,46 +13,6 +6 +39,9,2,28 +14,5,6,21,10 +9,3,6 +22,5,29 +26,12,22,5,6,16 +44,6 +3,4,5 +25,28 +20,4,6,49 +14,5,6,46 +3,15 +25,4 +0 +25,6 +14,6 +13,4,6 +3 +6,28 +22,5,6 +7,4,5,6,42 +31 +14 +5,6,10 +6,11 +25,4,5,6 +6,46 +24,27,13,6 +4,5,6,21,18 +6,23,11 +20,22,4,6 +37,12,20,6,29 +25,7,5,6,46,43 +45,50,40 +22,5 +7,6 +25,4,6,10,30 +17,4,5 +22,7,4,6 +22,6 +25,22,4,6 +5,6,16 +7,5,6 +48,14,6 +33,20,7,14,6,46 +6 +41,4,5 +27,13,3,5,29 +14,6,16 +37,47,38,5,21,49 +14 +24,13,7,6 +4,14,5,6 +5,6,19 +6 +6 +5,11 +5,46,11 +39,40,4,5,6 +16 +41,4,14,6,21,28 +14,6,18 +38,20,5,6 +36,7,16,46 +13 +20,14,5 +3,6 +26,12,5,21 +26,13,22,4,6,10 +6,29 +2,3,6,28 +3,19 +47,6 +25,7,4,14,15 +36,3,6,18 +2,5,6,21 +2,3,5,6 +13,17,14,6,23,30 +31,20,5 +37,22,16 +5,6 +36,5,6,42 +22,14,5,6 +5,6 +23 +14,5 +3,6,42 +12,7,6,23 +13,25,5,6 +41,17,7,6,42 +22,4,6 +25,3,4,5,10 +36,6 +31,25,5,6 +3,14,6,15 +5,6 +20,5 +14,6 +3,6 +5,6,23 +13,5,6 +2,22,6 +22,3,6,19 +22,6 +2 +31,13,3,49 +14,5,6,21 +37,2,5 +20,4,5,6,16 +25,3,5,16 +50,4,5 +39,35,25,22,17,7,6,16 +3,4,6,21,18 +6 +32,6 +22,5,6 +5,6,18 +7,6,10 +25,22,5,6 +17,5,6 +40,12,8,46 +4,5,6 +44,2,22,5,6 +10,42,23 +13,25,4,6,46,49 +32,6 +17,5,6,16 +17,6 +33,20,14,6,11 +6 +7,5,6,21 +14,6,16 +17,14,5,6 +0 +35,14,5,6 +22 +12,2,5,6,46 +14,5,16,49 +48,17,14,5,6,18 +5,6,28,19 +14,6,19,18 +14,16,30 +38,27,13,17,6,15,10 +5,6 +4,14,16 +24,14,5,29 +5,29 +6 +12,17,4,6 +3,6,16 +6,11 +4,14,30 +25,5,6 +25,3,6,15 +4,6,21,46 +24,17,6,28 +25,7,6,23,8 +2,14,5,6,19 +37,4,5 +49 +13,17,7,5,6 +48,17,5 +2,22,6 +14,5,6 +4 +30 +25,17,6 +40,14,6,10 +13,7 +22,3,6 +22,14,6,18 +24,2,14,6,8 +5,6,49 +13,17,7,5,6 +25 +5,6,15 +12,20,3,6 +20,7,6 +25,3,5,6 +13,5,6 +26,25,6 +4,14,28,10 +3 +26,7,14,5,6 +41,6 +45,14,6 +17,6,42,30 +41,7,3,6 +38,13,17,5,6 +51,14,5,6,42 +25,20,17,18 +7,6,29 +44,5,6 +31,5 +48,13,25 +6 +48,14,6,18 +31,4,6,10 +6 +25,3,14,15,16 +38,4,5,6 +14,5,6 +36 +12,2,7,18 +13,3,43 +4,5,18,30 +6,10 +3,6 +25,6 +14,6 +6 +17,4,6 +14,6 +5,6 +5,6,19 +6,10,29 +13,4,6 +37,12,14,5,6,28 +2,4,5,6,11 +50,7,5,6 +12,7,5,19 +0 +17,14 +6,15,10 +25,6 +6 +22,6,49 +20,22,6 +7,6 +14,6,21,28 +47,5,6,23 +5,6 +5,15 +5 +4,14,6,46,11 +20,22,5,6 +17,14,6,43 +7,5,19,49 +4,5,6 +34,13,5,6 +3,4,5,6,16 +45,3,5,6 +2,15 +31,5,6 +25 +14,5,6,18 +41,20,17,5 +0 +47,35,4,6 +35,41 +50 +7,6 +13,4,5,6,49 +13,5,6,10 +4,6 +17,6,19 +3,6 +33,7,4,6,21 +22,18,43 +14,6 +20,46 +20,14,6 +33,6 +51,45,14,5,6,21,10,8 +5,6 +9,22,6 +22,14,6 +44,3,6 +28,19 +4,14 +51,12,2,4,6,16 +13 +44,20,14,5,6 +7,42 +20,3,5,6 +7,14,6 +14,5,6 +35,6 +17,5,6 +6 +9,14,5 +4,14,6,18 +13,25,7,14,6 +44,14,5,6,19,16 +6,8,49 +5 +12,5,6,29 +14,5,6 +3,14,5,6 +44,7,3,5,6,19 +22,5,6 +20,6 +5,6,28 +5,6 +15 +38,13,6,15 +6 +5,6,43 +2,25,14 +34,3,14,5,6 +44,25,4,14,5,30 +27,3,18 +40,22,14,6 +36,14,5,6 +6 +5 +50,20,6 +6 +22,4,14 +41,6,15 +25,14,5 +38,25,6,16 +32,2,25,6,29,30 +6 +13,3,6,10 +4,5,6 +6 +50,17 +6 +5 +3,14,6 +2,7,6 +13,4,5,6 +20,14,6 +3 +3,6,28,42 +48,13,14,6 +25,6,23 +45,14,6,28 +34 +44,14,6,46 +22,4,14,6 +17,6,18 +47,4,5,6 +39,41,6,19 +6,49 +31,7,3,4,6,8 +14,6 +31,26,6 +48,3,14,6 +31,22,5,21 +7,3,4,5,6 +3,5,6 +6 +36,20,6,29 +22,5,6,10 +3 +37,4,6 +6 +45,2,22,10 +37,6 +4,14,6 +25,6,21,29 +3,14,5,6 +50,25,7 +27,5,6,10 +17,4,5,6 +22,6,42 +37 +6,10 +9,6,21 +25 +13,3,14,5,6,21,46 +3,5,6 +6 +36,27,20,3,4,5,21,30 +4,6,11 +44,2,5,6 +12,13,6,15 +3,14,10 +5 +9,14,6 +4,5,6,28 +14,10 +0 +38,33,17,3,14,6 +0 +6,10 +45,37,3,5,6 +9,36,33,5,6,28 +3,14 +4,5,6 +27,17,6 +12,6 +38,25,17,5,6,21,11,30 +14,6 +36,35,3,14,42 +5,6,23,8 +6 +32,20,14 +14,6 +37,32,13,6,46 +50,32,2,6,18 +22,4,18 +6 +25,7,3,28,19 +6 +2,25,7,6 +4,5,6 +51,5,6 +34,7,6,29 +9,14,5 +6 +5,16 +6 +20,28 +22,3,16 +47,9,7,5,6 +6,43 +25,7,4,14,15 +40,9,5,6 +5 +31,3,4,6,10 +5,11 +3,6,43 +4,14,6 +9,25,6 +20,4 +6 +20,6 +14,5,6,29,49 +6,10 +9,22,6,10,42 +31,6 +4,5,6 +6 +17 +51,13,17,7,5,6,30 +38,4,5 +7,6,21 +37,6 +22,17,11 +3,4,6 +34,3,6,28,42,18,30 +6 +7,6 +13,6,15 +4,6 +0 +13 +38,25,6,15 +38,4,14,6,28 +51,38,44,14,6 +5,6,21 +22,4,5,6 +7,18 +3,6 +14,49 +22,7,4,5,6,15,10 +4,6,49 +22,6,21,16 +20,7,4,5,6 +6 +41,7,14,8,43 +6,21 +5,6,19 +4,6 +25,4,6,19,23 +3,5 +3,6,21,30 +4,14,6 +14,15 +0 +5,6 +6,16 +7,14 +14,6 +17,14,19 +6,23 +13,4,5,6 +7,3,5,11,30 +44,14,5,21,29 +42,30 +6,43 +22,4,6 +5,6,29 +3,6 +14,5,21,28 +47,22 +2,22,17,6 +14,8 +20,7,5,6,19,16 +48,3,6 +3,5,6,21 +6 +4,14,6,10 +6 +25 +32,27,4,21,23 +3,4 +2,6 +27,3,4,6,43 +14,6 +31,13,5,6,30 +6 +14,5 +14,6,43 +22,14,6 +6 +5,6 +7 +7,6 +25,3,6 +13,4,14,6 +20,5,6 +22,7,3,6,19 +14,6 +13,6,42 +7,6 +22 +13,14,6,46,43 +13,4,14,5,6 +0 +5 +4,5,6,10,8 +25,4,5 +6 +5,6 +37,7,6 +12,3,4,6,29,11 +35,4,6,10 +25,29,30 +27,25,17,5,6 +22,17,3,4,6,10 +13,25,22,17,6,11 +13,3,6,49 +32,36,26,25,5,6 +22,14 +4,6 +14,6,18 +13,17,14 +3,6 +44,5,6,21 +50,25,7,5,6,8 +32,6,42 +47,12 +35,29 +14,5,6,10,16 +5,6 +6 +51,5,6 +48,20,4,5,15 +44,14,6 +37,14,5,6 +14,6 +14,5,6 +20,3,5 +6,8 +27,2,20,3,14,6,10 +17,7,5,6 +20,4,6,18 +25,14,6 +2 +20,22,17,4,14,6 +22,5,19 +33,5,6,21,42 +6 +6,19 +47 +6 +12,13,28 +25,6 +31,34,36,12,14,5,43 +34,7 +6 +4,5 +18 +14,6 +17,5,6,10 +2,17,3,4,6,43 +4,49 +7,3,5,6 +25,17,4,14,5 +4,5,6 +34,48,7,4,6,19 +3,4,14 +4,14,6,19 +17,5,6,23 +6 +17,6 +18 +7,6,28 +7,4,14,6,28,30 +5,42 +0 +7,4,14,6 +3,5,6 +2,17,6 +14,5,6 +32,2,14,5 +7,5,6 +4,6 +14,6 +13,5,6,8 +38 +2,7,3,6,21,19 +45,50,7,14,5 +2,5,6,23 +22,17,3,4,14,5,6,15 +5 +33,13,4,6 +40,47,5 +31,7,4,14,5,16 +25,4,14,5,6,42,43 +50,6 +3,4,5 +7 +3,5,6 +4,14,6 +4,6,21 +20,6 +7,3,6 +33 +12,4 +37,36,13,25,14,6 +3,6 +33,22,14,5 +12,2,6 +25,14,6 +6 +6,28 +27,6 +48,14,5,6 +12,5,6,21,10,11 +41,6,46 +22,6 +35,5,6 +26,3,14,6 +3,14,6 +31,5,6,15,8 +50,17,4,14,6 +7,5,6 +6,23 +13,14,5,6,21,11 +14,11 +23 +26,20,4,6,15 +26,4,5,18 +13,14,6,29 +12,14,6 +2,22,18,46 +22,6 +9,17,3,6,18 +0 +31,48,2,17,6 +4 +41,7 +6,21,15,18 +36,6 +9,14,6,43 +9,5,6,10,8 +4,14,6 +17,6,10 +3,5,6,15 +5,8 +41,25,6,28 +20,6 +47,3,14,6,19,42 +14,6 +25,14,6,46 +34,25,4,14,5,6 +2,7,3,5,6,15 +31,2,4,14,11 +6,21,8 +32,3,5 +50,14,5,6,42,11 +22,5,6 +4 +2,14,5,6 +27,48,4,6 +9,14,6 +50,5,6 +14,19 +33,6 +6 +13,20,6,10 +7 +17,5,29 +20,22,17,6 +0 +5 +2,14,6,23,46,29 +7,14,8 +5,6 +35,21 +35,17,5,6 +34,20,4,14,5 +8 +5,29 +17,6,10 +41,12,4 +17,7,5,15 +35,5,18,23 +26,2,14,5,15 +45,37,6 +35,17,4,6 +12,5 +17,4 +24,7,6,28,46 +14,5 +45,5,6 +14,6 +22,5,6 +22,5,30 +14,6 +14,5,6,42 +25,6 +14,6,16,30 +44,13,6 +0 +3,5,6,8 +50,3,6 +32,14 +20,6,10 +5,6,29 +10 +20,3,14,6 +38,22,6,15,10 +6,46 +6 +34,3,6 +24,3 +6,42 +35,14,5,6 +20,17,7,3,4,6,15,18 +13,2,17,4,16 +6 +35,22,6 +25,4,6,21,28 +6 +3,4,6 +4,14,6 +50,7,3,5,6,10 +40,2,22,4,6,28,10 +3,6 +26,4,6,19 +7,3,5,6 +3,5,6,46 +0 +0 +37,4,5,6 +35,41,6,42 +13,5,6 +13,2,6 +17,7,4,5,30 +22,19 +3,4,6,18 +38,33,5,30,49 +3,14,6 +13,6 +4,6,29 +44,25,6 +12,6 +4 +33,3,6,19,18,49 +34,41,4,6 +6,42 +51,40,14,5 +39,3,6,10 +33,20,5,6,46 +35,20,22,14,5,6,16 +6,21,10,42,18 +20,4,6,16,42 +6 +6,15,29 +0 +25,6 +2,3,28,42 +4,5,6,19 +7,14,5,49 +44,4,5,6 +17,6 +7,4,14,5,11 +31,22,21,23 +5,6,29 +25,20 +14,5,6,21 +9,25,3,4,5,21,15 +50,2,20,17,6,23 +51,13,6 +13,17,7,5,6 +4,5 +36,6 +12,2,6,29 +33,6 +48,25,20,4,6 +4,14,6 +48,16 +37,7 +20,17,6,21 +7,14,6,10 +17,5 +40,7,14 +4,6,19 +17,14,6,16 +22,7,3,6 +13,4,5,6 +4,5,6 +25,5,6 +44,6,29 +22,6 +4,6 +20,6 +6,21 +14 +22 +33,7,4,14,16 +31,6 +27,41,7,14,5,6,21 +14,6,19 +25,6 +5,6,21 +31,5,6 +7,14,15 +20,6 +38,5,6,30 +2,5 +7,14,5,6,16,18 +17,5,6 +14,5,6 +6,18,30 +17,5,6,46,49 +7,3,6 +20 +41,3,6 +12,25,7,6 +0 +20,6,49 +32,38,27,25,6 +48,6,28,19,11 +3,5,6 +25,6,23 +12,6,43 +6 +6 +14,5 +27 +51,3,5,6 +5,6 +47,20,3,5,6 +3,5,16 +7,6 +26 +17,6,29 +5,11 +6,46 +5,6,46 +27,5 +45,50,7,8 +4,6,21 +5,6,18 +20,14,6 +33,26,6 +27 +44,13,20,17,6,21 +48,4 +6,28,42 +12,16 +12,17,4,6 +44,13,5,6 +6,19 +31,12,25 +37,7,3,6,21 +13 +14,5 +3,14,6 +7,5,6,16 +14 +36,22,19 +50,12 +7,3,5,6,46 +25,5,6,16 +35 +35,6 +26,22,3,6 +37,6,15,8 +25,17,7,4,6 +12,20 +6 +37,3 +41,14,6,42 +5,49 +7,4,5 +6,19 +25,4,6 +5,6,29 +31,13,17,3,6,28 +12,4,14,6 +6,49 +48,17,7,6 +3,4,6,23 +20 +27,5,6 +3,4,5,6 +7,5,10 +4,5,6 +45,6,15 +47,4,6 +22,3,23 +24 +7,6,18 +50,37,7,5,18 +37,6,19 +7,6,30,43 +50,13,5,6,10 +51,37,4,14,5 +20,5,6 +17,7,6,15 +5,6 +5,6 +6 +6,21 +22,7,5,6 +25,6 +6 +22,6 +14,6 +6,21 +41,25,7,6 +19 +13,6 +0 +3,6 +14,6,15 +25,3,14,6 +13,6,21 +22,7,16 +38,14,6 +5,6,16 +17,5,6 +45,7,3,4,15,46 +5,6 +35,20,6 +6 +14,5 +48,4,14,6,49 +2,5,6 +22 +6 +3,14,6 +2,3,14,5,6,46 +35,22,7,4,5 +14,5,19 +17,6,8 +26,5,6 +12,6 +6,10,29 +47,7 +36,33,25,3,5 +22,17,6 +3,14,10 +35,20,3,46 +32,25,5,6,18 +7,5,6 +14 +7 +36,35,12,5,6 +36,22 +12,19 +27,22,5 +4,14,6 +51,41,44,20,4,14,5,6 +47,6,18 +47,6 +6 +5,6 +20,3 +34,22,6,15 +4,5,6 +48,7,3,14,5,6,18 +6 +6,16 +47,4,14,6 +31,20,7,14,5,6 +35,3,14,5,6 +22,6,8 +14,5,6,19 +5,10,11 +12,3,14,6 +25,5,6,16,49 +18,29 +4,5,6 +17,6 +22,6 +2,5,6,18,30 +12,22,3,14,6 +36,25,6 +39,4 +12,22,3,14,6,18 +44,26,4,6 +37,25,17,6 +37,5,6,21 +6 +14,15,19,42 +38,14,5,6,18 +14 +25,6 +22,3,6,28 +20 +40,6 +41,17,6,21 +4,19 +40,27,7,28 +14,6 +34,25,5 +5 +38,14,6 +44,25,4,5 +17,4,6 +41,12,6,19 +22,6,49 +37,20,14,6 +27,17,3,18 +22,5 +41,6,42 +20,17,7,4,14,8 +38,6 +47,22,3,4,6 +12,3,4,6,8,30 +5,6,8 +13,6,15 +20,17,5 +51,4,6,15 +51,24,27,41,6 +3,6 +34,3 +2,14,23 +7,6,15 +22,6,42,29 +12,13,5,6,15,18 +36,4,6 +14,6 +20,17,5,6,46 +34,12,3,6,16 +5,19 +17,5,6,10 +5,6 +51,13,22,17,7,14,6 +6 +6 +35,22,3,5,6,21 +7,6,21,42 +27,20,10 +27,3,4,5,6 +40,5,6 +14,5 +22,14,5,6 +47,7,4,6 +27,20,3,6 +14,5,6,16 +51,2,4,5 +20,6 +7,14,6 +12,4,14,5,6 +7,14,6,28 +20,22,4,14,6,16 +22,15 +41,5,6 +37,25,3,6,29 +3,6,21 +40,7,6 +51,14,5,6 +3,14,5,6 +32,5 +25,6 +27,20,3,5,6,19,49 +4,6 +17,6 +2,6,19,10 +13,4,6,21,18 +3,6 +44,3,6 +0 +3,5,46 +20,5,8 +24,17,7,3,5,6 +48,4,6 +14,6,15,16 +14,5,6,18 +4 +22,14 +14,6 +14,5,6 +20,3,6 +0 +14 +5 +3,4,14,5,6,16 +2,6 +20,17,14,6 +6 +39,50,3,5,6,16 +13,4,28 +2,5 +4,6 +34,14,6 +20,14,6 +24,7,4,5 +45,32,13,4,6 +12,4,14,29 +3,14,5,30 +14,5,23 +25,6,21,19 +6 +32,3,4,5,6,8 +6 +14,6 +5,6 +14,6,30 +25,5,6 +33,13,7,4,6,8 +20,5,6,28 +5,6 +32,17,14,5,6,30 +4,6 +2,17,14,5,6 +5,6,29 +5,28 +13,5,6,43 +25,14,5 +4,5 +12,6 +20 +6,18 +12,14 +4,5,6 +27,4,6,29 +20,3,6 +39,12,14,6 +14,5,6,16,46 +40,13,7,4,5,11 +6 +6,16,11 +24,14,28 +20,3,4,6,21 +36,4,5,6,10 +5,6,23 +7,6,28,15 +25,6 +20,4,14,6,10 +13,5,6 +39,12,6 +45,7,4,6 +45,20,6 +6 +5 +2,17,4,6 +22,7,14,5,6,46 +3,6,19,16,42 +41,3 +7,6 +17,7,3,6 +25,22,4,28 +38,6,15 +7,28,49 +25,7,5,6 +2,22,7,4,5,6 +17,5,6 +0 +22,14,6,19 +13,3 +33,13,3,6 +36,20,4,5,11 +22,6 +3 +7,14 +7,28 +48,4 +20,22,7,14,19 +22,3,14,6 +9,36,4,6,8 +25,22,6,11 +17,4,5,6,16,42 +3,14 +12,4,5,6,21 +39,4,14,23 +2,5,6,28 +36,35,20,7,14 +51,38,14,6 +36,6 +20,3 +22,5 +36,6,11 +5 +7,5,6,10,16,46 +12,25,14,5,6,15 +26,25,6,18 +38,4,11 +35,12,22 +6,16,49 +39,5,6,19 +2,20,3,6,49 +7,3,14,23 +14,8 +40,36,7,5,6 +27,5,6 +17,4,6,15,19 +7,3,5,6 +44,25,7,3,14,5,6 +25,22,4,5,6 +33,13,7,4,14,5,6,28,10 +24,5,6,15,16 +44,17,14,6 +7,5,6 +34,3,5,6,10 +25,5,6,29 +5,6 +44,5,6 +41,21,8,30 +39,9,6,15 +21 +7,5 +32,14,6 +4,6,30 +25,7,3,6,21,42 +47,32,6 +38,17,7,5,28 +20,6 +14,6 +3,5,6,30 +50,40,14,5 +13,5,21,43 +32,6 +12,5,6 +31 +33,3,30 +22,5,6 +5,6 +3,14,6 +51,12,28 +0 +14,5,15,11 +7,6,28 +6,46 +5,6 +2,22,17,4,6 +22,6,42 +17,14,6 +26,12,17,3,6,46 +2,20,7,4,6,21 +6,42 +3,4,5,6 +25,14,6,21 +22,3,6,43 +6 +17,7,4,14,6 +7,6 +14,6 +48,4,14,6 +0 +3,5,6 +36,7,6,19 +28,23 +46 +9,14,6 +32,35,3,5,6 +31,4,5,6,23 +12,7,6,21,29 +41,17,14,6 +36,13 +20,5,6,16 +3,4,5,10,16,43 +25,3,4 +22,17,14,5,6,8 +14,5,43 +6,16,42 +32,3,6 +26,25 +35,14,6,16 +15 +5,6 +25,5,6 +14,6,15 +6 +9,7,14,6 +2,7,6,21,46 +24,25,17,6,43 +14,5,6,46 +33,7,5,6,28 +20,49 +20,14,11 +2,20,14,6 +6 +35,14,6 +0 +32,20,6,28,15 +5 +6 +4 +25,17,14,6 +13,3,6,10 +22,5,8,46 +20,17,3,6,21 +7,28,49 +5,6,42 +25,20,10 +51,17,4,14,5,6,21 +25 +47,33,22,7,6 +5 +27,5,6,42,8,43 +14 +7,3,6 +24,47,9,6 +45,25,22,4,5 +34,4,6 +12,3 +20 +36 +22,6,11 +50,7,5,6,30 +22,14 +14 +25,6 +4,14,5,6,42 +2,6 +5,6 +3,4,14,6 +2,20,14 +40,26 +20 +25,22,6,19 +20,22,4,6 +17,5,6,15 +20,6,16,46 +6,15 +5,6,15 +38,6 +5,6 +34,36,22,14,6 +24,35,13,7,14,5,6,49 +36,3,6 +22,6 +6 +5,15 +48,14,5,6,28,16 +20,4 +7,6,18 +7,6,16 +35 +32,41,6 +5,6,18 +3,6 +6,23 +40,7,5,6 +7,3,5 +5,6 +6,49 +5,6,15 +25,4,6,21 +40,4,6,21,11 +13,3,14,5 +37,2,4,23 +27,17,5,6,43 +45,47,41,22,4,14,6,28 +50,14,6,19 +0 +20,5,6 +33,4,14,6,16,11 +39,3,5,6 +14,5,6 +14 +14,6 +22,17,5,6,29 +38,7,15,16 +7,5,6 +4,28 +25,5,6,21,28 +6 +34,6 +31,5,6 +12,17,5,6,23 +25,20,6 +44,22,14,6 +27,22,17,5,6,15 +51,5,6 +2 +41,5,6 +6,10 +24,31,2,25,3,5,6 +13,2,17,4,14,6,42 +20,3,14,5,8 +2,7,14 +5,6 +39,35,2,3,4,14,5,6,18 +6,42 +7,6 +4 +5,6,15,18 +12,2,6,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +7,5 +26,6 +14,5,6,42 +37,44,7,4,6 +47,33,6,28 +12,28 +51,22,17,5 +9,25,6,21,8,29 +22,4,6 +6,8 +5,6 +14,6 +41,13,5,6 +39,51,24,22 +31,25,17,14,6,42 +6,19 +35,14,6 +38,14,6 +12,14,6 +25,20,3,14,5,6 +48,5,6,28 +4,6,15 +51,12,4,46 +51,2,20,17,3,5,6 +26,5,6,28 +3,5,6 +6,29 +4,6 +41,4,14 +50,7,4,14,6 +6 +47,17,6 +25,20,14,5,6,21,8 +33,26,14,5,6 +17,6,28,16,29 +3,5,6,16 +44,3,8 +48,25 +6,28 +38,13,3,6,49 +0 +0 +4,5,6 +12,6,19 +7,6 +36,2,7,5,6 +7,14,5,6,21 +4,14,6 +17,6,42 +26 +39,13,14,5 +32,34,7,5,6 +2,5,6 +37,6 +41,3,14 +17,5 +3,14,16 +4,14,5 +17,5 +6 +24,22,6,16 +5 +20,3,14,29 +3,5,6,10 +13,14,18 +4,14,16,43 +33,7,43 +22,5 +5,6 +36,41,12,13,20,6 +22,6 +24,17,6,28 +0 +2,4,5 +20,6,43 +6 +14,6,10 +5,46 +32,38,4,6 +32,35,4,6,28,8 +20,14,6,19 +7,15 +7,6 +2,5,6,16 +17,6,42 +25,4,6 +4,6 +3,4,5,6 +7,5,6,21,19 +25,4,6,49 +31,7,30,49 +14,5 +37,48,12,14,6,28 +14,29 +32,14,6 +3,14 +6 +14,5,6 +25,7,6 +5 +5,23,11 +22,14,5,6 +0 +34,6 +24,20,6,19 +3,4,14,6 +51,7,6 +9,12,25,17,4,5,6 +22,17,14,19,18 +44,5 +25,6 +12,14,5,6 +12,3,5,6 +17,5,6 +47,12,13,3,5,6 +24 +22,6,15,46 +50,5 +20,6,46 +17,6 +12,25,14,6,19 +5,46 +6,19 +3,6 +6 +17,3,6,21,49 +12,5,6,28 +38,3 +6 +25,14,6,21 +14,5,6 +2,14,23 +3,5 +5,6 +17,6 +6 +7,6 +13,20,22,4,5 +32,3,6 +41,3,4,14,5,6 +2,16,42 +17,6,29 +48,14,6,21 +3,5 +2,14,6 +40,29 +5,6,30 +5 +39,31,38,49 +2,3 +31,20,17,7,14 +31,20,14,10 +6 +17 +47,14,5,6 +3,14,5 +13,6,15 +35,5,6 +13,20,4,6 +36,17,7,14,5,6 +5,6,19 +31,6 +14,5,6 +17,7,4 +2,14,5,6 +20,4,5,6,18 +19,42 +47,22,6 +3,6,42 +7,3,14,5,6 +32,14,6,15 +41,6,23 +14,6 +48,41,17,5,6,21,28,16 +44,13,20,5,6 +20,3,6,16 +13,14,6,28 +14,5,6 +2,25,17 +6,18 +9,6 +31,20,17,14,5,6,30 +4,6 +22,4,14,5,28,46 +25,17,14,6 +31,47,22,5 +44,7,4,5,6,46 +27,14,5 +3,16,42 +36,44,13,2,22,5,6,23 +3,4 +12,6 +39,3,6 +0 +6 +2,7,14,5,30 +6,16 +37,48,2,17,6 +13,25,4,5,6,42 +4,46 +2,22,17 +3,4,14,5,6,16 +21 +27,4,5,6 +5 +44,5,6,46 +6 +20,7,4,6,16,18,46 +2,3,4 +2,4,6 +2,14,5,6,11 +7,14,5,6 +4,6,28,11 +5,6,21 +13,20,17,5,6,21 +7,4,5,6 +6 +24,12,14 +7,14,5,28 +17,7,5,6,16 +6,30 +26 +36,20,5 +3 +35,25,20,3,5,6,19 +4,5,6,19 +36,17 +36,13,20,5,6,23 +3,4,5,6 +0 +25,4,5,23 +41,17,3,6,21 +38,22,17,7 +5,6 +34,25,4,14,6 +44,2,14,5,6 +6 +2,14,5,6 +7,5,19 +14,6,16 +6 +13,5 +2,20,16 +12,20,22,5,6,18 +38 +36,5,21 +38,25,14,6 +17,14,5,6 +0 +51,6,30 +25,14,6 +17 +3,14,5 +34,14,6 +3,6,42,8 +2,5 +40,5,6,30 +4,14,6 +39,7,3,5,6 +7,6,42 +17,6 +20,22,3,4,14,6 +47,9,3,5,6 +41,13,22,5 +23 +14,5,6 +35,17,6 +32,14,6,21,19 +48,22,17,5,6 +26,25,7,6 +2,6,49 +48,22,14,5,6,8 +22,14,6,28,15,18 +22,7,5,6 +14,29 +4,5,6 +13,6,10 +4 +5,6,21 +24,6,21,16 +4,28 +5 +5,6 +6 +20,22,17,14,6,42 +0 +40,4,6 +12,20,4,5,6,42 +37,14,5,6 +5 +12 +6,16 +6,15 +44 +5,6 +7,5,6,11 +2,22,14,42 +44,6,15,8 +14,5,49 +2,14,6 +20,14,49 +32,13,7,4,6 +2,20 +5 +50 +2,3,4,6 +44,4,6,18 +31,13,22 +3,4,6 +7,14,6 +17,5 +14,6 +14,6 +4,6 +5 +25,5,6,15,42 +5,30 +35,5,6 +3,5 +6 +50,4,6 +2,7,4,14,6,28 +27,14,6 +27,25,20,6 +22,17,14,6 +22,7,6 +3,6,21 +51,4,14,6 +38,3,5 +6,19 +2,25,6,42 +29 +6,18,11 +5,6,16 +2,25,20,5,42,30 +44 +20,6,28,42 +41,14 +40,44,14,5,6 +14,6 +5,6 +4,6 +7,6 +20,4 +9,14 +22,14,5,6,19,10,29 +3,11 +47,14,5,6 +2,20,3,5,6 +13,17,5,10 +23 +5,19 +0 +5,6,28,15 +12,25,17,14,6,42,29 +17,7 +3,6 +33,6,49 +25,7,3,4,6,21,42 +25,4,16 +20,14,6,8 +50,5,6,21 +12,3,4,6 +0 +3,14,6 +6 +40,14,5,6 +41 +7,6 +9,22,14,5,11 +6 +44,6 +12,20,5,10 +6 +14 +7,6 +44,20,5,6 +3,5,6 +25,7,6,46 +3,6 +3,5,6,16 +47,12 +33,22,6 +5,6,28,10,8,11 +12,6,10 +6 +31,48,25,20,6 +20,6 +5,18 +14,5 +4,5 +25,5 +5,6,15 +35,25,17,4,14,6,30 +6,10,23 +12,2 +14,6 +22,6 +2,17,14,5,6 +2,7,5,6,43 +40,13,6 +8 +14 +4,5 +3,14,6,28 +37,14,6 +20,22,6,21,8 +20,5,6 +32,25,20,5 +22,3,14 +35,7,3,6,8,29 +17,6,18 +22 +6,46 +4,14,6,11 +32,20,14,6,29 +37,25,3,6 +5,8,30 +14,5,6 +48,5,6,18 +51,33,2,3,5,6 +2,6 +0 +17,6 +14,6 +13,25,14,5,6 +13,7,5,6,29,30,49 +17,5,6,15 +4,15,46 +12,4 +5,6 +20,6 +35,14,5,6,30 +5,18 +12,7,6 +44,6 +17,7,6 +3,5 +26,12,16 +17,8 +6 +25,3,14,5,6 +40,2,6,42,29 +37,7,6,21,46 +26,5,6 +27,17 +35,20,5,6 +17,3,5,6 +25,4,14,5 +27,3,21,43 +40,20,5,6 +51,24,6,11 +22,5,28,15,18,30 +51,34,17 +44,5 +34,35,2,5 +3,4,6 +37,7,28,11 +22,14,5,6,28 +3,19 +24,14,6 +6 +0 +35,14,6 +5,16 +51,44,3,11 +4,5,6,8 +12,5,6 +5,6 +18,23 +27,6 +22 +39,7,3,21,49 +5,6 +9,13,5 +3,5,6,30 +31,5,6 +37,6 +9,12,25,20,5,6,28 +5,6 +17,5 +26,4,6 +2,7,6,8 +24,6 +5,6,10,42,46 +22,6 +3,5,6 +9,14,6,15 +13,4 +22,5,6,8,46 +35,5,6 +7,5,6,23 +13,6 +6,23 +7,4,14,5,18 +20,5 +21 +14,5 +0 +45,2,3,6 +12,2,17,6 +34,25,3,4,6 +3,6 +17,4,14,6 +6 +14,6 +0 +5,6 +13,14,6 +31,17,6,21,23 +6,18 +3,11 +3,14,5 +32,25,5 +44,22,14,6,8 +17,3,6 +7,6 +37,47,4,6 +12,3 +14,5,6,19 +12,5,6 +6,21,11,30 +12,22,4,6,29 +22,4 +9,20,22,5,6,21,46 +6,30 +35,20,5,6,19 +6 +5,6 +24,40,14 +4,14,5,6 +41,7,5,6 +45,14 +41,17,6,19 +34,33,21,19 +51,35,25,4,14,5,6 +35,20,29 +20,3,4,6 +9,10 +25,6 +14 +9,4,6,16,8 +12,14,6 +48,20,5 +44 +14,6,46 +9,4,6 +4,5 +7,14,6 +25,5,6,46 +3,14,6 +2,5,6 +42 +26,5,6 +34,2,17,6 +6,42 +22,3,14,42,29 +7,4,5,6 +25,5,6,21 +26,17,3,23 +7,5,6 +31,25 +13,6 +2,5,6 +12,6 +7,3 +34,6,21 +34,17,5,6 +41,13,14,6 +7,14,6 +6 +27,25,22,17,3,14,6,8 +6,49 +27,2,6,21 +22,7,14,18 +13 +24,12,6,16,43 +2,25,5 +33,14,5,6,43 +5,6 +5,6 +14,5,6,16,18,8,46,11 +21 +48,26,4,6 +47,17,7,3,4,5,6 +13,22,14,8 +25,22,17,6 +22,6 +7,6,28,11 +3,10 +14,6 +3,5,6 +26,12,6 +5,6,28 +36,33,14,6 +2,5,28 +5,6 +22,6 +6 +5,29 +26,5,6,10 +26,22,5,6 +47,7,5,6,16,46 +3,6 +6,15 +17,14,6,21,16 +4,5,6,46 +22,6 +6 +25,20,4,5,6,19 +0 +20,6 +44 +2,17,6 +20,4,6,28 +13,17,14 +12,17,5,6,42,18 +12,7,4,6,11 +26 +5,23,49 +25,6 +7,14,6,42 +5,6 +40,9,41,25,3,14,5,6,18 +5,19 +13,5,6,10 +38,17,7,4,14,6,49 +7,3,4,6 +22,4,28 +12,13,4,6,19,46 +6,46,49 +6 +37,12,2,5,6,43 +0 +3,5,6 +32,6 +50,3 +4,5,42 +39,35,4,5 +6 +51,4,15,29,49 +17,5,6 +12,13,7 +40,22,5,6 +25,22,4,14,6 +6 +27,5,28,29 +7,16 +48,7,4,14,6,18 +40,4,5,6 +13,4,5,6,49 +36,6 +35,17,19 +4 +48,13,14,5,6,49 +3,5,6 +7,4,5 +24,3,5 +27,6 +5,6 +17,14,6,8 +31,5,6,10 +4,6 +32,44,4,14,5,6,21,23 +41,17,6 +35,26 +7,5,6 +14 +4,5,18 +31,34,13,5 +20,14,6,21 +6 +14,6 +6,18 +3,14 +7,3,5,6 +6 +14,5,6 +28,43 +41,6 +14,6 +17,4,6 +6 +22,4,5,6 +14,5,6 +4,6 +0 +7,6,46 +36,20,7,6 +13,4,14,6,21 +4,14 +6 +21 +5,29 +13,2,19 +2,5,6,21,8,46 +12,3,6 +25,5,6,15,49 +35,7,29 +12 +31,6 +6 +25,30 +6,18 +47,32,28 +20,17,5 +6 +36,13,4,21,29 +17,29 +5 +7,5,6 +48,14,43 +25,5 +44,14,10 +27,12,6,18 +22,7,6 +6 +12,21,46 +12,22,17,14,6,29 +14,6 +4,14,6,19 +3,5 +39,23 +35,20,10 +0 +2,7,14,6,11 +24,13,6 +41,6 +7,5,6,28 +25,6,46 +7,4,5 +40,6,16 +22,4,14,5,19,49 +14,6,42,49 +12,4,6 +5,28,8 +25,6,19 +13,6,15 +5,42,23,30 +3,5,6,15 +6,19 +12,17 +20,7,6 +13,22,4,46 +47,6 +5,6 +20,3,5,6 +5,6 +5,6 +39,14,6 +17,5,28 +5 +20,6 +4,6,28 +38,6,19 +26,20,6 +33,28,19,11 +6,28 +25,6 +14,6,10 +25,14,5,6,16 +46 +17,14,5,6 +31,3,6 +17,14,6,21,15 +20,3 +34,12,14 +5,6,15 +14 +22,4,14,19 +12,6 +22,4,5,6,28 +24,4,5,6 +27,48,5,6 +41,2,7,6 +25,6,15 +45,47,6 +5,6 +22,17,4,6 +20,17,14 +2,17,3,5,21 +36,20,5,6 +37,4,14,6,21,15 +45,2,4,5 +3,5,6 +17,3,5,6 +48,14,6 +31,5,6 +6 +36,5 +6,42 +7,5,6 +2,6 +6,28 +6,43 +5 +7,4,14,6,18 +6 +31,5,6 +6 +38,6,21 +42 +33,12,3,5,6,19 +7,4,6 +9,35,22,6 +20,6,21,29 +4,14,6 +5,6,10,43 +12,7,4,5,6,28 +6 +6 +22,3 +7,4 +13,10 +3,6 +34,14,6,16 +48,25,5,6,42 +22,7,3,5 +7,3,4,5,6 +50,7,14,6,43 +38,7,14,5,6,49 +6 +22,5,6,30 +41,7,5,21 +14,6,42 +3,4,5 +44,25,20,4,6 +13,14,6 +6,23 +7 +22,4,14 +2,4 +17,7,6 +13,14,6 +17,5,6,46 +5,6,42 +38,4,6 +26,42 +5,28 +22,14,5,6 +50,21 +7,42 +51,5,10,42,8 +25,6 +5,6,28 +24,4,6,28 +14,6,21,11 +45,6 +4,6 +25,17,6 +2,6 +38,4,14 +39,5,6,10,16 +6 +3,49 +17,5,6,42 +22,6 +4 +20,3,5,6,42 +4 +20,5,6,15 +17,7,4,5,10 +17,6 +27,5,19 +24,7,3,5,29 +2,4,6 +12,5,11 +3,6 +0 +20,3,4,6 +2,14,6,28,18,8 +20,14,6 +41,5,6,28 +25,4,19,18 +12,20,3,5,6 +50,3,5,6,42,43 +17,6 +20,17,7,4 +6 +5,6 +2 +5,10 +6 +14 +20,6 +6 +2,14,5 +14,5,6 +14,6,42,46 +39,7,4,6 +3,14,42 +38,22,7,19 +48,44,3,6 +5,6,42,29 +41,6 +3,14,6 +5,6,15 +37,13,6 +22,3,4 +45,14,5,6 +2,6 +38,5,6,23 +2,6 +50,17,5,28 +17,5,6,29,43 +9,5,6 +27,22,4,5,6 +4,6 +20,22,5,6 +45,4,5,6,10 +7,4 +41,5 +38,6,15,10 +13,22,7,3,6 +39,12,22,3,6 +9,19 +13,14,5,6 +14,6,42 +12,14,6 +17,14,5,6 +20,7,5,6,15 +33,2,5,28 +47,6,21 +6 +4,5,6,42 +7,4,6,30 +6,10 +22,5,6,49 +31,17,7 +39,14,6,42 +50,14 +8 +2,3,5,6 +4,6 +39,17 +5,46 +6 +34,25,7,4,6,28 +33,3,5 +48,4,14,5,11 +6 +5,6 +5,6,49 +41,7,3,14,5,6 +6,30 +4,6 +40,41,12,22,5,6 +20,14,6,49 +14,5 +22,7,6 +48,2,17,4,5 +31,6 +17,5,11 +14,6 +14,6 +17,6 +5 +48,2,20,6,18 +25,5,6 +24,9,6,21 +3,5,6 +6 +48,14,5,6,46 +51,41,6 +20,14,6 +34,5 +14,6,16 +48,44,22,5,6 +3,6,19,16,29 +48,6 +51,14,5,6 +47,27,2,5,19,23 +0 +6 +6,21,46 +9,5,6 +6,18 +14,5,6,19 +12,5,6 +4,5,6 +17,7,5,8,11 +26,17,4 +37,17 +5 +24,34,5,6 +32,6,18 +44,22,14,6 +23 +14,6,10,23 +2,14,6 +35,6,10 +6,8 +39,45,12,3,6 +26,6,16 +44,4,14 +3,5,6 +6 +39,5 +13,3 +41,20,14,6,21 +25,3,16 +31,16 +32,17 +27,22,4,10 +6,15 +6 +13,20,22,5,6,18 +33,22,5 +20,22,5,6 +6 +45,48,7,5,6 +22,14,6,28,49 +3,14,6 +33,13,5,6 +44 +13,6 +22,17,4 +13,14,6,19 +35,22,14,5 +24,4,28 +6 +13,5,6 +6 +35,22,6 +3,6 +41,12,20,28 +3,14,5,6,46 +4,5 +36,2 +14 +33,7,14,6,21 +36,22,5,6 +35,44,13,22,6,21,28 +40,3,6,16,29 +22,4,6 +17,14 +38,22,6,19,29 +12,20,4,5,6 +38,13,7,4,5,6,30 +5,6 +37,44,3 +22,4,5,10 +6,8 +3,14 +0 +14,5 +26,17,6 +6,23 +17,5,6,19,16 +4,5,6,21 +31,9,17,7,6 +47,27,7,4,5,6 +5,6 +3,6 +27,41,6,16 +36,6,28,15 +22,6,15 +17,7,14,5 +31,12,17,4,5,6 +2,4,8 +6,21 +3,14,5,6,42 +17,14,6 +25,22,4,14,6 +40,7,10 +14,5 +41,5,6 +2,4,5,6 +31,6,16 +6 +17,5,6 +31,6 +22,8 +17,5,6,28 +51,14,5,6,18 +20,14,5,6,18 +6,16 +6 +6 +21 +5,6 +2,17,5,6 +7,6 +4,6,15 +14,5,29 +2,17,4,5,6,15 +25,20,22,6 +6,11 +36,2 +38,12,20,5,6 +17,3,6,19,16 +9,27,20,4,14,6 +37,7,14,6,21 +14,6,21 +7,6 +2,22 +36,7,6,46 +27,4,14 +20,6,16 +51,6 +6 +7,6,49 +7,5,6,49 +51,20,3,14,5,6 +13,14,6,30 +20,14,5,6,30 +31,5 +14,5,6,42 +5,6,11 +17,4,6 +7,4,5,6 +14 +14,5,30 +13,6 +17,4,21,46 +40,35,7,5,6,16 +5,6 +6 +45,31,44,6,46 +14,5,19 +5,10 +6,18 +6 +4 +9,35,25,22,17,6 +6,19 +20,3 +2,23 +3,14,6 +20,22,5,6 +47,4,5 +6 +50,22,6,18 +17,6,11 +20,3,10 +37,6 +24,14,6 +40,47,25,20,19,43 +45,25,3 +25,6 +2,20,3,5,6,15,46 +14,6 +12,25,4,5,6 +20,17,6 +14 +12,4,5,6 +13,2,7,28 +17,6 +20,6 +7,6 +44,4,14,5,6,46 +33,6,16 +6,23 +0 +0 +9,17,14,6,28,30 +4,6,29 +47,34,48,2,43 +0 +25,6 +2,7,6,21 +24,40,5,28 +14,6 +7,5,6 +2,4,5,6,16 +50,20,14,5 +6 +5,6,21 +4,14,5 +0 +14,6,15 +4,5,6,19 +17,5 +14,21 +0 +26,7,4,6 +0 +3,6,8 +51,26,20,6 +20,7,14,5 +26,3,5,6,21 +6,15,42,49 +5,6 +20,17,6 +5,6 +37,13,20,4,14,16 +47 +22,6,42,23,49 +32,5 +13,22,17,5 +5,6,21 +20,22,14,6,28 +51,17,7,3,6 +7,4,5,6 +2,3,5,6,43 +3,6 +37,7,5,6 +32,15 +50,6 +2,3,21 +5,6 +4,6,15 +22,5,6 +14,6,29 +14,5,6 +3,6 +45,20,5,6 +4,6 +39,41,17,6,8 +12,6,23 +4,6,10 +39,22,17 +6 +3,5,6 +34,38,17,23 +36,3 +35,13,25,4,14,5,6,19 +7,14,6,18 +9,27,25,7,5 +13,5 +33 +40,4 +6,23 +17,21,42 +20 +33,25,5,6 +39,2,20,3 +5,6,16 +14 +17,7,5,21,29 +32,7,6,21 +7,14,5,6,21,15 +6 +25,14,6 +32,5,6 +12,6,21 +12,17,4,5,6,46 +38,20 +18 +37,14,5,6 +41,6 +45,35,2,19,29 +6 +3,14,5,6 +20,17,5,6 +44,3,6 +13,3,6 +4,14 +50,12,7,6,42 +34,36,6,19,43 +20,6 +35,3,6 +25,6,21,28,15 +4,14,5 +12,7,14,6 +41,20,3,6 +6 +6,19,11 +38,5,6 +20,17,14,18 +41,5,6 +14,6,42,18 +2,20 +26,5,8,11 +13,25,6 +14,6,43 +24,6 +6 +13,5,6 +50,5 +13,3,14 +14,6,21 +5,6 +2,17,7,10 +39,51 +3,4,14,6,42 +34,5,6 +7,14,6 +37,20,17 +22,4 +22,14,5,6,11 +13,6 +25,6 +7,5,6,10 +5,6 +26,25,6 +25,14,6,46 +14,6 +4,14 +22,6 +20,22,14,6,28 +7,3,6,10 +24,14,42 +13,5,6 +14,6,42 +13,6 +32,14,6 +14,5,6,42 +47,17,3,6,28,42 +6,10 +12,25,3,28,16 +13,7,4,14,6 +3,14,6,49 +24,5,6,18 +5,6,10 +47,7,6 +48,22,6 +20,6 +25,22,17,4,6 +39,33,22,6 +14,5,6,11,30 +5,6,21 +3,23 +0 +0 +6,21 +24,2,4,14,6,10 +3,6 +2,22,14,29 +48,12,22,42 +33,20,6 +36,22,5 +17,7,4,5,6,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +31,17,3,21 +3 +25,3,6 +13,6 +14,11 +34,41,17,6,42 +6 +13,5,6,16 +34,20,28 +2,17,7,6 +36,20,5,6 +20,14,6 +9,4,6 +0 +12,6 +39,31,47,3,5 +34,5,6,16,23 +17,5,6 +14,6,21,42,18 +13,6 +3,4,6,43 +35,14,5,6,21 +12,5,6 +4,5 +12,3,5,6 +45,11 +17 +17,5,6,15,19 +5,6,28 +47,2,25,6,19 +5,6 +51,48,6 +17,5,8 +38,6,49 +12,5,6,23 +45,4,5,6 +4,5,6,28,29 +6,29 +2,7 +36,3,5,21 +38,12,25,17,7,21 +6 +6 +31,17,19,42 +22,5,6 +36,7,6,19,42 +14,5,6 +6 +38,7,3,6,46 +17,5,43 +14,6,21,28 +48,6,21,11 +47,5,23 +40,22,8 +20,6,16,42 +12,13,14,5,6 +5,6 +5,6 +50,32,4,5,6 +44,26,20,5,6,15,23 +20,14,6,28 +9,4 +33 +12,13,17,7,6,28,42 +0 +13,5,6 +22,3,4,5,6 +28 +51,6,15 +32,12,25,14,15,11 +3,4,5,6 +33 +44,6 +24,26,6 +38,5,6 +6 +51,6 +12,3,6 +5,6,21,42 +20,3,6 +17,5 +22,7,5,6 +7,4,6 +47,38,6,16,30 +6,18 +12,7,4,6 +22,6,19 +48,2,14 +3,6 +7,3,4,14,6,21 +17,4,5,6 +17,6 +14,5,6 +6 +3 +7,3,14,6,19,18 +31,22,17 +0 +4,6,19 +12,4,6 +4,5,6 +5,6 +0 +3,6,23 +2,7,6 +39,14,6 +48,17,3,4,42 +14,6,19,29 +48,3,5,6,46 +44,12,13,22 +20 +3,4,5,6 +38 +33,20,6 +2,6 +4 +3,6 +17,14 +14,6 +5,6,21 +17,7,5,6,18 +7,5,6 +25,17,14,6 +3 +4,14,6 +25,22,7,6 +17,14,5,28 +7,16,18 +14,6 +6,29 +5,6 +32,48,26,5,6,11 +17,6,43 +10,16 +40,14,6 +2,5,6 +12,22,4,5,6 +5 +32,2,14,6 +27,4,5,6,19 +4,6 +39,13,22,8 +3,5,6,28,10 +4,6 +31,5 +13,20,22,3,4,6,28,43 +4,5 +12,3,5,6 +44,13,7,15 +14,46 +27,14,6 +0 +9,6,23 +6 +25,14,5,6,42 +46 +5 +0 +20,6 +17,4,6 +35,4,5,6,10 +25,5 +37,38,5 +4,6,23 +25,3,5,6,21,15 +17,14,5,6,10 +3,6,28,30 +6,21 +3,14,6 +31,48,13,4,19,8 +25,5,6,42,29 +27,6 +12,22,3 +41,14,6 +32,48,4 +0 +47,3,5,6,21 +6,19,42,8 +25,17 +20,5,6 +51,4,6 +36,22,6,8 +5,6,46,29 +26,5 +45,48,20,6,21 +27,7,14,5,6 +2,20,7,5,6 +20,14,5,6,42 +5,18 +17,7,5,6 +20,14,5,6,23 +40,7,6 +51,40,12,14,6 +38,3,4 +14,5 +22,7,5,6 +6 +6 +22,5 +2,22,3 +48,20,21,19 +22,14,6 +14,6 +2,4,6 +47,9,41,4,6,21 +13,5,46 +14,5,6,19,23,11 +4 +17,7,5 +2,20,5,10,49 +36,22,3,6 +3 +2,5,6 +2,6 +2,20,5,6 +0 +4,5,6 +7,4,14,6,43 +26 +44,6 +3,6 +48,4,5,6,29 +0 +5 +47,25,20,22,3,4,14,6,16 +32,14 +2,14,6 +2,25,14,6 +4,14,5,6,8 +4,14,5,6,28 +20,22,7,4,5,49 +12,20,6 +4 +7,6,11 +13,22,6,23 +5,6,15 +17,5 +14,11 +27,5 +32,3,14,6,42 +32,5,11 +50,33,2,5,6 +22,7,6 +29 +22,14,5,6 +5,6 +17,5,6 +26,7,3,5,6,18 +26,22,4,14,5,6 +48,25,4,6 +12,3,5,10,23 +27,6 +6,46 +20,17,4,6,15 +22,5,6 +32,14,6 +14,6,23 +38,25,6 +44,14,6,15,42 +5,6 +17,6,23 +14,5,6 +14,6 +3,4,6 +4,14,5 +34,35,2,14,6 +25,6 +3,14,6 +17,5,6 +38,6 +44,17,14,6 +13,7,14,6 +2,3,5,6,8 +40,2,7,5,49 +12,22,3,14,6,23 +12,7 +14,6 +34,25,3,6,29 +26,20,6,19 +27,26,3,6,19 +14,5,6 +12,17,6,19 +6,46,30 +20,22,3,5,6 +28 +2,14 +4,5,6 +27,33,22,5,6 +26,6,43 +41,13,5,6 +9,7,6,29,11 +5,6,8 +48,33,19 +17 +7,6 +20,5 +6 +14,8 +6 +4,5,6 +25,14,6 +9 +6,29,49 +12 +0 +9,5,6 +14,6 +39,40,48,3,5,6 +5,6 +5,6 +3,14 +33,17,6 +26 +32,13,3,14,5,6 +25,7,3 +24,17,6,23 +5,6 +7,3,4,6 +6 +4,14,5 +5,6 +2,5,6,16 +51,2,22,15 +17 +36,2,4,6 +34,14 +3,14,11 +12,5,28 +20,6 +4,5,6 +20,22,14,5,6 +13,4,19,10 +5 +4,14 +6,42,18,23,8 +27,14,5,6 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +44,5,23 +26,12,3,5,6 +6,15,30 +44,17,14,5,6 +20,17,3,6,10 +0 +17,6 +0 +3,5,30 +4 +5,6,10 +25,4,6,16,29,11 +14,5,6 +22,14,5,6 +5,43 +2,22,4,5,6 +0 +36,13,5,6 +3,6 +37,2,21,15 +35,2,4,6,18,29 +3,14 +47,34,14,6 +22,7,14 +4 +5,6 +25,5,6,19 +22,6 +4,5,6 +6 +6,46,43 +12,13,6 +6 +31,34,3 +49 +7,6 +25,14,15,16 +12,22,17 +25,6,23 +22,7,5,6 +31,2,8 +20,3,6 +5,6,23,29 +17,6 +2,14,21 +44,12,14 +5,8 +12 +2,7,3,30 +41,4 +35,25,6,10,23 +27,17,28 +14,6 +20,22,4,14 +4,5,6 +14,6 +26,14 +13,25,4,6,21 +20 +12,25,14,6 +14,6 +6,43 +7,4,6 +6 +5,6 +6,19,18 +14,6,28 +33,20,4,6,19 +4 +2,22,6 +34,5,6,28,8 +5,6 +6 +7,6,49 +6 +14,5,6,16 +37,2,25,6 +50,47,3,19 +25,18 +6 +9,4,5,6 +3,6,15,19,11 +38,4,6 +13,17 +17,6,18 +5,6 +13,17 +3,14,6,19 +3,30 +7,16 +7,5,6 +0 +47,2 +25,3 +12 +33,20,14,5,43 +5,6,23 +3,14,5,6 +40,38,14,5 +20,22,7,6 +7,14,5,6 +22,3,5,6 +6 +25,6 +41,17,14,6 +33,25,14,5,21 +25,5,6 +22,5,6 +37,6 +5,6,19,29 +4,6,42 +13,5,6 +12,6 +13,17,6,46 +14,6,28,16 +38,4,14,6 +25,22,6,15,11 +35,6,10 +12,6,8 +9,33,12,13,6 +17,14,6 +17,3,5,6,16 +4,6 +51,22,14 +4,6,21 +2,4,6 +13,14,6 +6 +35,14 +32,9,6 +25,5,6 +25,22,3,5,6 +6,19 +14 +6,28 +41,3,4,14,6,46 +9,20,4,14,5,6 +3,6,16,11 +22,7,6,18 +6,29 +33,5,6,16 +35,13,2,4,6 +22,4,6 +26,20,5,6 +20,14,5,6 +2,17,23 +6 +22,6,16,30 +17,7,4,6 +22,4,5,6 +17,6 +40,41,6 +26,22,6 +3,4,5,6,16 +36,4,6,29 +33,6 +14 +25,22,7,4,5,6 +9,7,14,19 +4,14,5 +2,4,5,6 +35,6,11 +45,6 +2,6,15 +48,14,6 +6 +6 +35,27,33,14,6 +13,5,6,19 +5 +32,6 +17,4,5,6,15,18 +26,6 +45,13,5,6 +21,23 +14,6 +14,6,18 +31,27,41,12,22,17,6,43 +14,6,49 +14,5 +14,6,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +13,5,6 +35,33,22,7,6,42 +38,2,6,18 +0 +13,6,10,49 +45,22,4,5 +5 +3,6 +20,14,5,28 +4,6 +3,6,29 +13,17,7,6,10 +5,21 +5 +35,22,14,5 +22 +2,3,6,21 +12,25,14,5,6 +13,6,29 +5,6 +5,6 +36,14,5,6,16 +6 +7,4 +5 +5,6,46 +33,17,4,5,6 +22,7,5,6 +0 +12,22,6 +33,6 +13,17,5 +6 +37,6,46 +26,7,14,28,15,10 +14,6,43 +12,20,6,28 +25,17,4,14 +4,5,8 +41,3,5,42,8 +4,14,8 +3 +5 +45,25,22,3,6 +29,43 +9,2,14,5,6 +27,12,17,4,5,6 +6 +41,22,19 +2,22,6,30 +6,42 +35,14,6,10,42 +2,6 +7,6,49 +45,13,6 +22,6 +15 +14,6 +41,26,6,19,16 +25,5,6 +20,22,4 +37,17,7,6 +3,14,5,6,19 +3,6 +17 +22,42 +38,12,22,7,8 +4,5 +22,7,4,5,10 +7,6 +17,6,42,46 +44,4,5,6,19 +35,5,6 +24,4,5,6,10 +5,6 +33,4,5,6 +13,6,21 +23 +33,5 +6 +41,17,8,29 +3,5 +13,6 +25,7,4,6 +14,6 +14,6 +6 +5,6 +13,17,5,6 +24,14,5 +9,12,20,17,3,4,14 +48 +22 +39,6 +31,4,5,10,8,49 +14,5,6 +6 +13,14 +20,4,5,8 +5,6 +12,7,6 +0 +4 +14,5,18 +6 +25,6,46,11 +3,14,6,10,46 +5,6 +20,28,19 +3,5,6 +40,7,6 +6 +12,22,14,6 +14,5,6 +5,6 +38,4,14,6 +26,13,6 +6 +5,6,18,29 +47,5 +14,6 +50,48,49 +44,3,14,6 +27,12,7,5,42 +12,14,5,6 +5,6 +22,14,6,30 +25,6 +2,5 +37,5,6,11 +5,6 +7,6 +6 +45,6 +3,6 +17,4,14,6,18 +14,5,6,42 +27,4,6,23,8 +14,6 +6 +5,6,21 +14,21,19,10 +36,6 +12,25,22,6,42,18,23 +7,4,6 +3,6,30 +6 +26,22,3,6,23 +5,8 +17,3,5,6,28,15,10,18 +27,14,10,43 +7,6 +12,6 +13,17 +13,6 +24,27,12,17,14,6 +33,5,11 +13,25,5,6,19 +35,6,19 +0 +14,6 +6 +47,12,6 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +22,14,6 +17 +17,3,6 +42,18 +6 +5 +38,33,2,20,30 +12,22,7,4,6 +47,25,20,5,6 +3,5,6,21 +47,7,4,6 +50,4 +6 +6 +6,10,30 +6,21 +5,6 +22,6 +4,14,6 +14,5 +5,6,18 +6 +2,25,3,14,5 +20,5 +48,14,15 +7,5,6 +33 +25,6,23 +6 +4,14,6,23 +25,4,5,8 +2,14,6,10 +12,6 +35,5,6,23 +23 +14,6 +4,5,6,46,30 +3,6 +5,6 +6,15 +25,6 +36,3,4,14,19 +20,17,4,6 +7,46 +26,17,7,6,10,16 +6,19 +48,12,15 +35,6 +14,5,6 +44,4,5,21,49 +6 +0 +36,27,6 +26,7,14,6 +20,6 +5,6 +4,6 +5,49 +2,17,3,5 +50,14,6 +27,14,30 +5,6,10 +26,4,6,21,11 +16 +7,5,6,21 +22,6,16,18 +6 +26,4 +3,5,6,21 +6 +22,14 +6 +24,6 +25,14,5,6,15 +38,5,6 +5,6 +13,3,6,11 +38,6,30 +40,4,5 +6,10 +6 +20,14,5 +2,3 +7,6,16 +12,3,4,6 +27 +20,14,6 +47 +20,14,6 +9,27,6 +33,6 +6 +12,5,6,18 +51,7,3,5,6 +5,6 +39,41,5,23 +6 +0 +2,5,6 +45,22,6 +30 +9,5 +25,14 +14 +45,3,29 +6 +7,5,6,16 +17,3,4,6 +22,15 +5,6 +17,6 +48,5,6 +14,6,18 +25 +4,6,19 +25,14,6 +3,21,29 +22,14,5,6 +13,14,6 +4,6 +20,4,5,6 +5,6 +13,22,4,6 +48,5,6,11 +3,6 +14,42 +4,5,6,15 +2,6,11 +22,6 +13,25,17,4,5 +27,25,4,5,6 +22,14,28 +5,6,19,46 +17,14,6,23 +7,6,46,11,30 +22,4,6 +3,4,6 +39 +14,6 +6 +25,6 +3,4,15,42 +34,2,20,14,5 +0 +5,6 +48,6,29 +17,3,4,14,6 +12,20,6 +6,15 +6 +13,5,21 +27,3,6,19,30 +17,5,6 +34,21 +14,6 +7,14,5,6,30 +14,6,30 +6,19 +25,5,6 +5,19 +35,12,14,5,6,11 +7,3,6 +14,6 +25,5,6 +7,46,49 +5,6 +25,5,6 +14,6,11 +51,2,4,14,5,6,8 +33,15,16 +40,41,6 +8 +20,17,7,4,6 +36,3,14,6 +3,6,42 +2,3,6,18 +6 +17,4,14,6,11 +33,4,14,5,6 +39,45,14,6,8 +13,22,14,5,6,18 +9,41,17,6 +7,14,5,6,15,23 +7,3,14,6 +13,3,14 +25,14,6 +4,5,6,46 +3,6 +34,41,17,6 +36,3,14,5,6 +33,22,6 +25,17,5,21 +34,20,3,6 +25,17,5,49 +40,25,3,6,16 +20,3,5,6 +6 +7 +33,7,6,18 +5,6 +13,22,16 +6 +41,22,5,8 +18,49 +31,6 +14,5,6,21 +6 +47,5,6 +51,45,48,15 +4,5 +6 +7,29 +22,4,6,8,29 +22,5,6,10 +37,13,25,4,6 +6,49 +5,49 +14,6,8 +25,7,6 +6 +17,3,6 +2,4 +12,4,6 +22,6 +2,3,4,5,6 +17,7 +6 +32,48,22,4,14,5,6 +25,5,6 +48,4,6,16 +5 +0 +3,10,11 +20,16 +32,35,41,6,19,42,49 +12,14,5,6 +7,6,23 +7,3,23 +31,17,46 +13,15 +13,14,5,6,43 +20,4,8,43 +32,6,28,10 +4,14,6 +6,21 +14,19 +14,5,6,18 +2,4,5 +6 +31,6 +14,5,6 +7,3,14,6 +26,17,6,43 +7,14,5 +39,6 +6,16 +38,2,17,6,43 +12,7,5 +17,3,6,46 +17,7,5,6,21,19 +40,6 +3,6 +22,6,49 +4,14,5,6 +14,6,30 +38,13,6,28 +35,3,5 +5,6 +27,7,16 +6,29 +14,5,6 +6,29 +33,25,7,4,6 +17,6,18 +3,6 +6 +22 +34,4,14,6 +5,6,46 +4,5,6,15 +24,36,20,19 +20,17,3,4,14 +22,14,6,28,16 +9,48,14,15,16 +0 +47 +13,20,6,8,46 +5,42 +39,48,3,6 +6,10 +17,6 +5,6 +9,7,14,5,6 +6,49 +7,14,6 +40,17,14,6,10,16 +13,2,25,4,14 +2,5 +25,17,5 +25,5,6 +50,6 +7,4,6 +47,5,6,28 +6 +44,22,4,5,6 +32,9,12,20,7,5,28 +14,6,46 +14,19 +4,5,6,10 +22,6,29 +4,6,28,46,29 +35,48,17,5,6 +5,6,30,49 +5 +5,6,28,10,42,49 +45,13,14,5,6,18 +37,25,4,6 +12,5,6 +39,4,15 +6,15 +22 +27,13,25,5,6 +35,3,4,6 +38,6,28,42 +36,25,14,6,16 +12,5 +26,25,14,5,6,15 +13,7,6 +6,30 +4,6 +4,6 +12,6 +7,3,6,42 +48,3,5,6 +50,6,15 +12,4,14,5,15 +13,7,14,6 +37,9,34,33,2,17,4,6 +14,6 +39,5,6 +3,14,6 +7,3,5,6 +39,4,6,11 +7,4,5 +6 +22,5 +6 +45,7,14,6 +50,35 +12,2,6,43 +3,6,19,8 +3,5,6,18,43 +3,14,16 +2,17,4,21,29 +4,5 +7,5,6 +22,6 +13,22,6,19 +34,17,14,5,6 +2,6,30 +5,6,10 +31,6 +21,30 +25,4,6,18,30,49 +0 +34,14,6,46 +50,12,25,4,6 +44,13,17,4,15 +48,3,6,11 +51,45,7,14 +4,5,6 +37 +44,12,3,14,15 +2,4,6,23 +4,15,29 +6,15 +6,28 +37,27,48,20,17,5 +7,14,5,6 +48,7 +7,5,6,10 +32,2,17,14,5,6 +6,28 +32,5,6,46 +41,7 +6 +5 +5,6,30 +14,6 +22,5,6,30 +44 +6 +22,6 +4,5,6 +50,12,6 +17,3,5,6 +3,6,28 +44,5,6 +14,6,21 +33,13,14,6,8 +14,21 +25,5,6,8 +4,14 +5,6 +7,6,15 +24,38,48,22,3,14 +6 +14,5,6 +40,3,4,5,28 +5 +24,4,5,6 +38,2,4,14,10 +12,3,6 +37,25,7,4,5,15 +22,17,10 +14,6 +31,2,17,5,6 +38,14,5,6 +17,14,6 +7,6,49 +40,25,6 +40,35,14,5,6 +6 +27,33,4,6 +25,22,14,5,6 +22,6,21 +17,3,5,42,18 +44,4,6 +37,3 +44,20,3,6 +32,12,14,5,6 +33,6,10 +2,7,18 +38,13,5,6 +7,3,6,15,11,30 +3,14 +26,3,5,6 +13,5,6,11 +5 +35,26,5,6 +4,5,6,19 +4,5 +6 +0 +6 +26,4,15 +6 +12,13,4,14,6 +4,5,6,15 +5,42,43,49 +17,14,6 +6,19,29,49 +14,6 +17,14,5,6,18,43 +31,17,6,42 +51,5,6 +37,47,6 +38,26,6,16 +37,15,10,18 +27,4,6,21 +17 +33,25,3,6 +17,3,14,5,15 +7,4,5,6 +41,22,3,4,5,6 +41,6 +38,15,42 +5,6,21,11,49 +50,6 +7 +20,22,3,4,6 +10 +50,22,5,6,43 +25,17,5,6,16 +15 +4,14,5,6,10 +6,21,42 +41,7,4,6 +4,5,6 +51,9,25,20,7,6,42 +20,5,6 +25,7,4,5,21 +25,4 +4,6 +2,22,17,5,6 +6,15 +12,6 +22,14,5,6,46 +3,6,28 +6 +14,5,49 +7,14,6 +14,5,6 +5,6 +6 +39,4,5 +33,5,6,30 +14,6,16 +48,14,6,10,8 +6 +6 +3,6,28 +4 +2,25,6 +20,5,16,18 +11 +44,3,6 +35,42,23 +39,6 +45,26,13 +9,6,28 +6 +34,12,5,29 +20,10 +31,20,14,5,6 +7,5,18 +41,13,22,4,5 +11 +41,14,18 +6 +7,3,6 +35,7,14,5,6 +5,6,19 +20,14,6 +38,44,7,4,14,5,6,42,11,43 +41,2,22,4,6,23 +33,20,18,23 +6 +37,2,4,6 +41,7,3,6 +9,5,28,18 +41,12,25,14,6,30 +25 +45,41,2,3,5,6,16 +47,22,7,6,23 +50,12,13,4,14,6,21 +39,26,12,22,17,14,5,28 +41,2,3,6,43 +7,5,6,18 +22,6 +17,14,6 +6 +13,6 +0 +31,13,2,22,14 +5,6,8 +6,21 +5 +6 +5,6 +5,6,28,8 +13,4,5 +7,14,5 +31,13,17,4,14,5,6 +4,5,6,16 +36,6,21 +40,3,5,6,15 +2,22,6,10 +22,7,6 +17,3,5,6,21 +6 +13,17,5,6 +5,6,21 +6,16 +9,13,5,6,11 +7,3,14,6,15,10,16 +22,7,6 +6,11 +12,4,6 +38,4,14,6 +14,6,29 +41,6 +41,5,6 +35,26,17,6 +3,4,6 +0 +40,26,7,6 +38,2,7,5,6,30 +5,6 +12,17,7,6 +20,5,6 +26,21 +2,5,6,28 +34,2,4,6 +36 +32,34,12,14,6 +12,6,28 +11 +36,12,14,5,42 +7 +0 +17,28,46 +50,6 +4,6 +17,5,6 +31,22,14,6 +17,14,6 +13,25,17,3 +13,6,46 +12,2,3 +22,3,5,6 +7,4,5,6 +6 +12,3,4,6,21 +14,5,21 +36 +2,6 +2,6,28 +5,6 +14,5,6 +33,3 +25,3,5 +13,22,7,14,6 +6,46 +41,22,3,6 +47 +7,3,5,6,19 +17,3,6 +28,10 +45,5,6 +6 +17 +24,47,6 +27,17,6,10 +32,7,5,6,8 +38,22,7,3,6 +14,6 +12,5,6 +17,6,30 +26,12,3,6,15,10 +2,6 +35,2,25,4,8 +22,4,14,5,6 +14,6,15,42 +4,14 +40,5,6 +16 +6 +13,19 +6,10 +36,14,6,21 +3,6 +22,3,43 +6,15 +25,3,4,6,16 +2,14,6 +27,3,4,6 +2,22,14 +47,27,14,6,21 +17,5 +41,13,3,5,10 +51,5,6 +34,25,20,6 +38 +12,22,7,14,6 +4,14,6 +0 +41,4,5,6 +13,4,6 +9,14,5,6,46 +2,20,14,6,18 +41,5,6,23 +25,6 +26,25,22,7,4,14,5,6,21 +3,6,21 +6,23 +27,14,5,15 +34,33,15 +3,5,6,28,42,23 +24,35,12,14,5,30 +3,6 +45,6 +6 +47,20,6 +40,6 +45,7,28 +17,6 +6 +45,7,6 +3,6,42 +4,5,6,16 +0 +42 +5,6 +26,22,17,4,5,43 +14,5,6 +7,21,10 +44,17,4 +14,6 +34,17,6,10 +6 +14,6,21,30 +37,5,21 +12,6 +22,6,15,46 +3,5,6 +6 +14 +25,7,3,14,6,10,49 +22,3,5,42 +13,3 +14,6,29 +17,14,5,6 +7,4,5,6 +34,25,49 +20,17,6,15,18 +50,6,8 +48,2,6,11 +5,6,28 +32,7,5,6,19,29 +3,14 +4,14,5 +3,46 +44,17,3,4,14,5 +27,25,3,5,6 +3,5,6 +48,14,5,23 +26,22,6 +20,14,6,21 +13,6,21 +20,6 +27,14,5,6 +12,17,14,5 +5,6,46 +25,20,7,4,14,6 +7,3,4,5,6,8 +14,6 +7 +4 +5 +33,3,5,6,10 +2,7,4,14 +22,3,5,6 +50,36,14,5,6 +26,5,28,15,18 +39,50,20,5,6 +13,2,4,6 +25,22,3,5,6,15 +5 +2,6,28 +45,36,41,5,6,28 +27,14 +20,22,3,5,6 +6 +0 +6,46 +9,38,17,6 +4,6,10,42 +27,41,3,5,6 +38,44,5,6,43 +5,6 +27,3,5,6 +0 +7,6 +44,26,20,17,7,6 +6 +41,14,5,6,28 +14,6 +4,28,8 +35,13,25,20,5,6,15,19 +6 +13,14 +22,4,6,23 +41,44,17,6 +2,25,7,5 +4,6,8 +2,15 +26,3,5 +26,5,6 +25,5,6,15,19 +2,4,5,6,46,30 +2,4,6 +14,5,6 +38,13,4,6,42 +14,5,6 +36,4,6 +0 +48,22 +20,7,3,5,42,23,11 +2,5 +47,41,6,42 +38,6 +6,15,19,30 +6,49 +36,22,6,15,19,11 +5,6,10 +22,3,6,49 +17,4,14,6,23 +45,2,5,6 +6,28,46 +38,3,6,19 +3,14,5,6 +14,5,6,19 +22,6 +9,7,4,6 +3,6 +40,35,6 +6,18 +50,25,6 +6 +22,17 +13,5,6 +7,5,6,46 +20,5,6 +22,7,3,6 +4,5,6,10,49 +26,14,6,28,49 +9,22,14,5,6,21 +36,4,5 +38,12,14,6 +32,3,4,6 +20,17,3,5,15 +20,17,4,6 +38,14 +32,5,6,30 +4,6 +14,5,6 +48,4,6 +8 +25,4,14,6,21 +41,17,5,6,10 +5,49 +4,6,28 +25,30 +6 +12,17,14,21 +3,6 +7,3,5,6 +5,6 +5 +14,5,6,19,10,46 +14,5,42 +7,14,6 +13,6,18 +3,6,43 +22,5,6 +3,4,5,6 +7 +17,3,4,14,6 +14,6 +3,14,6 +32,35,22,6 +2,4,5,6,15 +6 +5 +26,4,14,6,8,46 +17,5,6,15,8 +12,20,6 +26,20,6 +25,20,5,6 +5,6 +4,6 +7,5,6 +15 +22,5,6,28,29 +25,5,6,19 +31,25,6,21 +33,22 +13,6,21,28,15 +17,14,6 +2,22,6,23 +20,17,5 +20,4,5,6 +12,4,6,19,30 +4,6,28 +4,6,18 +14 +5,6 +31,14,5,6 +0 +7,4,6,15 +4,6 +14 +5,6 +7,6,29 +22,3,5,6 +32,20,17,5,6 +20,6 +32,6 +22,7,5,6 +36,27,7,6,10 +17,5,6 +41,6,21 +0 +13 +7,18 +3,6 +39,5,6 +12,3,14,5 +33,2,22,14,5,6,10,23 +46 +12,22,17,4,6 +37,7,6 +25,20,6 +24,47,2,7,6,11 +5 +20,14,5,6 +6 +47,9,3,6 +49 +6 +45,25,7,5,6,19 +5,6 +14,46 +20,5,6 +6 +41,17,14,5,19 +6,29,11 +5 +6,23 +22,3,4,14 +48,14 +3,6 +35 +0 +6,28 +0 +6 +12,20,17,5 +3,4,28,15,11 +9,34,22,14,5,6 +20,4 +20 +41,17,6,19 +7,6 +13,5,16 +5,6,15,10 +3,6 +40,47,28 +17,6 +3,14,21 +3,5,6 +37,17,5,6,18 +25,4 +2,14,6 +32,2,6 +5 +17,8 +7,3,14,5,6 +32,13,17,4,14,6,23 +16 +14,5,6,42 +35,5,6 +22,17,7,3,5,6 +41,4,6,18 +3,5,6,42 +48,12,14,6 +51,6,29 +31,48,4,14,6,16 +17,6 +17,5,6,29 +4 +45,13,22 +6 +31,34,6 +6,16,30 +2,6 +6,19,29 +5 +25,6,16,29 +20,6 +51,24,34,5,6 +14,5,6 +12,3,5,6 +6,30,43 +22,14,5,6,18,23 +17,6 +10,8 +27,22,4,14,5,6,8 +2,3,5,6 +3,4,14,5,6 +6 +13,7,14,5,6 +5,8 +4,6,15,23 +14,6 +28 +14,6,19 +41,14,5,6 +14,5,6,28,42 +27,6,28,16 +2,14,6 +27,6 +22,3,6,42,18 +4,6 +5 +6,18 +4,5,6,28 +24,12,13,20,3,6 +13,17,14,5,6 +7,28,11 +22,4,6,21 +6,8 +12,3,4,6 +3,14,6 +7,4,6,8 +6 +5,6 +14 +3,5 +30 +36,17,6,16 +6 +36,6,10 +14,5 +25,14,6 +42 +47,26,4,14,5,6,21 +25,14 +14,6 +37,13,6,16 +13,6 +51,6 +4,5,6,29 +34,6 +5 +5,16 +36,35,13,3,6 +36,4,6 +5,42 +14,5,6 +25,6 +47,5 +25,10,43 +3,6 +51,7,6,21,8 +39,14,6,46 +25,14,6 +14,5 +20,22,43 +6 +6,23 +3,5,6 +17,4,6,19,10 +47,17,14,6,30 +12,14,5 +12,17,6,18 +12,13,3,10 +14,5 +5,19 +5 +47,7,6,21 +4,14,6 +17,7,3,6 +14,6 +34,25,3,5,6,18 +22,6,49 +21,15 +51,5,6 +13,25,5,15 +6,19 +6 +6 +5,6 +20,5,6 +48,6 +20,6,29 +12,6 +2,17 +34,5,6,10 +14,6 +9,5,6 +22,5,6 +33,2,6 +41,3,6 +17,5,6,28 +3,6,16 +6 +2 +9,41,20,6 +44,7,14,6 +5,6,10 +22,6 +12,7,4,6 +17,4,6 +0 +50,3,6 +14,6,10 +3,14,5,18 +20,14,5,6 +25,5,6 +47,12,3,14,28 +17,5,6 +20,6 +6 +22,14,6 +6,16 +6,28 +14,6 +51,33,5,6,21,23,49 +31,20,7,6,15 +4,6 +31,3,6 +0 +14,23 +48,5,46 +3,4,5 +28 +13,5 +5,6 +17,6 +39,4,5,6 +51,6,21,28,30,43 +31,7,14 +22,14,19 +41,13,4,14,6,15 +7,5,6,21 +25,20,17,6 +25,5,19 +5,6 +23 +14 +14,6,18,23 +6 +25,14,6 +31,49 +25,17,5,6,10 +36,20,5,6 +6 +5,6 +34,5,6 +25,7,4,6,8 +25,5,6 +7,3,4,5,6,21 +6 +45,7,4,5,30 +17,5,6 +27,6,11 +12,20,22,14,6 +0 +25,14,5,6 +5,6 +2,14,6 +2,5,6,23 +36,3,4,14,5,6,42,18 +27,3,5 +7,5,6 +36,26,17,14,5 +38,25 +34,7,3,8 +34,3,14,21,42,30 +4,5,6 +17,3,5 +3,5,6,29 +35,6,23 +33,2,5,6,28 +5,6 +3,4,6 +16 +6,46 +48,3,14,6 +4,18 +26,17,5,6 +47,9,17,7,4,14,6,21 +17,3 +0 +14,5,6,10,43 +33,4,6 +15,29 +40,6,21,15 +0 +25,17,6 +6,28 +14 +14,6,43 +20,5,6 +5,6,42 +4,5,49 +6,49 +4,6 +47,4,14,5,10 +13,6 +2,17,14 +25,6,19 +4,6,11 +41,13,2,7,6,49 +48,17,14 +7,5,6,11 +7,4,5 +5,6 +7,3,14,5,6 +2,4,6 +51,20,4,5,6,16 +14,6 +17,3,4,5,19 +5,6,11 +25,20,4,5,6 +24,6,19 +29 +3,14,6 +47,4,14,5 +6,28 +37,6,10 +20,5,6,42 +6 +47,34,5,6,15,10 +33,7,14,5 +5 +13,14,5,6 +3,6 +41,26,3 +14,5,6 +6,21 +2,4,5,6,16 +7,4,14,5,15 +22,7,4,14,5,49 +5,6 +2,7,14,11 +5,6,28 +13,14,19 +34,7,6 +38,20,5,6 +4,6 +9,25 +48,6,43 +20,14 +38,6 +38,26,13,14,19,29 +14,6,8,43 +2,25,17,3,16 +13,3,5,42 +45,2,22,3,14,6 +17,7,4,6 +33,13,5,6 +38,20,4 +39,12,2,6 +25,6,15 +0 +44,12,3,6,29 +6,21 +38,2,3,6,42 +47,3,14,21 +26,7,4,14,6 +5 +20,17,6 +22,5,6,28,30 +47,6,43 +45,14,6,16 +14 +27,6,10 +12,6,23 +6,23,46 +4,5 +4,14,6,15,10 +3 +51,38,4,14,6 +2,20,5 +6,16 +30 +33,4,5,21 +17,7,14,5,6 +41,17,6,19 +7,14,5,6,21,18 +0 +5,6 +39,26,25,7,18 +5,6,21 +3,6 +13,5,6,49 +47,13,3,4,6 +14,6,15 +48,14,6 +7,5,6 +20,4,6 +5 +51,32,3,6,15 +5 +25,22,7,3 +7,6 +4,14,5,19,30 +17,5,6 +2,7 +41,4,30 +41,5,23 +6 +12,22,6,16 +6 +13,14,6,49 +35,22,5 +4,6,16 +33,6 +8 +17,7,14,6 +7 +44,4,6 +13,2,7,5,6 +2,4,5,15 +0 +40,35,41,5,6 +3,14,6,15,29 +51,14,6 +41,3,6,10 +31,12,20,3,4,5,6 +6,42 +44,4,14,6 +12,22,7,4,14,5,19 +44,6,16 +17,3,28,29 +4 +41,7,5,6 +47,3,23 +4,6 +31,13,25,17,3,5,6,21,10 +5 +6 +51,13,17,6 +6 +38,3,14,5 +22,14 +20,17,3,4,14,6,28 +7,6 +41,6,10 +3 +6 +31,14,6,10 +4,6,19,8,46 +32,14,15 +14,28,46 +35,6,29 +22,7,5 +6,19,18,30 +44,12,6,28 +24,7,4,5 +3,4,14,5 +48,6 +5,6,10 +5 +27,5,6 +47 +39,6,30,43 +32,20,3,6,8 +20,3,6,8 +36,14,6,28 +14 +20,6,15 +3 +13,3,6 +7,5,6,15,8 +50,4,6 +13,17,14,6 +7,5,6 +14,6,21 +37,4,14,6 +40,22,6,21 +2,5,49 +47,7,5,6,10 +14 +39,13,6 +17,5,6 +14,6 +32,4,6 +12,6,19 +7 +48,14,6 +0 +7,5,6 +6 +6 +44,5,6 +40,5,6 +20,22,5,6 +6,28,43 +20 +4,14,6 +5,21 +32,3,4 +38,33,26,5,30 +2,20,6 +37,36,2,17,5,6 +14,6,8,43 +12,6 +5,6,19 +17,7,5,21,30 +22,3,5,6,10 +37,5,6 +6 +14,21,15,16,23 +48,6 +14,5,6,30 +44,25,20,14,5,11 +51,37,9,14,6 +20,22,6 +14,6 +12,14 +9,7,14,6,15 +24,17 +13,6 +33,17,5,6 +0 +4,14,5,6,15,19 +50,5 +14,5,6 +39,14,16,23 +0 +4,5,6 +25,14,5,6 +6 +12,25,4 +38,25,22,17,7,4,5,6 +44 +37,41,2,7,4,5,6,42 +6,29 +17,14,6,8 +48,3,5,6 +17,6 +14,5,6,10 +41,17,4,6 +51,45,20,17,6,10,23,29 +27,6,42,8 +25,14,6,21 +20,14 +6 +32,6,15 +41,12,7,3,14,5,6 +40,4,6,30 +3,6,8 +13,17,6,10,16 +6 +2,14,6 +19,29 +45,6 +25,5,6,15 +2,22,4,14,5,6 +42 +5,6 +3,6 +7,4,5 +5,6 +3,5 +7,6 +22,4,42 +20,5 +5,6 +34,5,10 +5 +25,22,17,6 +14,6,16 +6 +47,6 +22,5,6,49 +17,5,6,18 +51,4,14 +22,5,6 +5,19 +0 +4,6 +7,14,6 +24,38,13,14,6 +48,25,20,22,17,6 +22,14,5,6 +32,26,22,6,49 +14,5,6 +12,13,6,23 +4,5 +6,46 +14,5,6 +25,7,6,21,19 +4,6 +50,25,14 +3,4,28,10 +14,5,6,15 +4,5,23 +9,44,5,6,23 +5,6 +0 +31,14,5,10 +11 +33,21 +6 +31,12,5,6 +12,5 +26,6,29 +5,6 +45,50,12,13,7,5,6 +6 +6,19 +22,6 +5,6 +5,6,28 +45,7,6,43 +26 +6,42,18 +31,22,14,6 +22,6,30 +48,44,3 +2,14,5 +4,6 +4,5,6 +4,6 +14,5 +51,4,21 +14,6 +25,5 +22,7,14,28 +25,14,6,15,10 +6 +4,14,5 +12,17,6 +41,17,5,18 +14,5,6,16 +45,41,20,5 +24,38,22,17,14,5,23 +22,5 +6 +3 +22,17,6 +32,36,4,6 +25,7,6 +33,26,7,10 +17,6,15 +5,6 +44,14,6 +10 +51,17,3,14,6,15 +33,20,3,6 +9,6 +14,21,16 +22,6,42,23 +6,10 +3,6,11 +34,7,3,5 +33,12,7,3,5,6 +6 +4,14,5,6,8 +36,4,6,28 +17,4 +47,25,6 +25,20,5 +7,3,6 +34,3,6,28 +13,14,6 +50,33,22,17,6,15 +25,5,6 +22,17,14,5,6,29 +20,22,7,6 +6 +41,17,4,14,5,10 +7,14,6 +40,12,46 +26,5,6 +5,6,21 +9,2,20,14,6,42 +51,44,6,15 +13,4,5,6 +6 +7,4 +36,22,17,7,5,6 +6,21 +20,3,5,6,30 +48,3,5,6,28 +12,4,6 +20,3,4,5,6 +17,3,6,10 +0 +2,6,23 +12,21 +9,4,14,6,19 +26,6,42 +6 +6 +5,19 +12,13,5,6 +22,6 +45,5,6,15,18 +35,17,6 +2,6,42 +7,3,6 +5 +26,20,5,42 +6 +36,7,5,6 +13,5,6,15,42 +3,14,6 +36,44,6 +50,40,48,41,20,22,17,5,6 +14,5,6 +6,28 +32,5,6,15,18 +14,21 +25,14,15 +41,6 +14,5,6 +45,7,6 +4,14,49 +25,6,18 +0 +6 +0 +17,5,6 +14,6 +48,44,14,6,23 +14,5,6,16 +31,13,7,5,6 +7,3,6 +7,14,5,6,30 +14,6 +16 +6 +47,2,17,6 +5,6 +14,5,6 +22,3,14,6,21 +12 +14,6,29 +6,19 +12,20,14,6 +6,46 +13,3,6,43 +13,7,6,29 +31,44,26,17,3,5,6 +24,47,13,20,22,17,4,14,5,6 +20,22,5,6 +37,5,6 +25,20,6 +5,6,28 +50,9,20,3,14 +40,5,6,23 +4,14 +7,3,5,6 +5,19 +51,24,3,14,6,42 +12,21 +50,20,7,6 +20,17,7,4,14,6,30 +36,12,6,28 +25,7,4 +36,33,14,5,6 +3,5,6,19 +34,25,4,6 +7,3,5,6 +20,17,5,6,21 +24,37,5,6 +41,6 +48,12 +6 +27,6,11 +35,3 +39,20,6 +41,3,4,6 +20,6 +37,6 +41,26,4,6 +14,5,6 +4,15 +35,48,7,3 +44,17,5,6,18 +25,7,6 +47,5,6 +6,16 +37,22,5,6,8 +34,3,6,28 +12 +4,6 +4,14,6,46 +22,3,6,28,18 +7,6 +45,34,17,4,14,5,6 +4,14 +3,42 +39,14,6 +7,5,6,18 +25,17,4,5,6 +7,6,15 +25,22,3,5,6 +26,14,6,10 +8 +31,3,6 +9,38,6,10,43 +14,6 +37,17,5 +7,3,14,6 +22,6,23 +40,13,17,4,5,6,23,11 +14,29,43 +2,20,10 +0 +22,5,6 +51,9,36,17,3 +22,5,6 +24,14,5,6,43 +41,5,6 +32,48,25,7,14 +35,2,6,29 +4,6 +25,5,6,28,19 +45,4,6 +0 +51,3,29 +31,13,4,6 +20,6 +7,14,5 +25,6 +14,5,21,28 +44,5,6 +3 +20,5 +3,14,5,6 +13,22,3,6 +17,14,6 +25,6 +14,6 +6,42 +2,4,6 +38,5,6 +47,4,14,46 +27,6 +6,11,43 +42,29 +7,5,6 +14,6 +17,4,14,5,6 +10 +13,5,6,10 +35,6,46 +3,6 +31,20,14,21,42,23 +51,22,3,6 +4,5,6,19 +32,17,4,14,5 +24,6,18 +51,17,4,6,8,46,29 +6,43 +22,4,6,21 +12,20,6,11 +3,14 +47,36,4,6,16,29 +5,6 +2,6 +27,4,14,6,43 +37,27 +13,14,6,11 +7 +20,22,14,6 +14,5,6 +12,5,6,28,18 +2,20,17,3,6,21,18,29,49 +29 +9,3,14,6,15 +3,6 +12,25,5,18 +27,7 +20,21,8 +50,7,6 +22,3,4,6 +6 +25,17,5,6 +5,6 +0 +40,12,6 +39,22,7,21 +37,6,28 +47,17,7,4,14,6 +38,25,6 +25,3,5,6 +48,4,14,6,21,16 +36,4,14,6 +36,7,6,11 +13,6,46 +5,6 +40,17,5,6,8 +48,4 +14,6,19 +33,41,44,5,6,19 +51,6 +31,6,16 +6 +12,14,23 +5 +22,5,6,30 +0 +2,20,14 +5,6,29 +12,17,6,21,15,43 +3,5,42,49 +36,17,14,6 +6,8 +20,14,5,6 +47,35,5,6,42 +37,44,2,7,5,6,42 +22,6 +7,5 +7,3,5,6 +22,4,6 +12,14,6 +2,42 +29 +13,3,6 +12,22,7,6,23 +2,6 +17,5 +2,5,6,19,29 +22,6 +12,4,14,6,23,8 +0 +5,6,21,43 +26,20,4,5,6 +6 +37,25,20,7,14,6 +22,4 +35,3,4,43 +7,19 +2,6 +4,5,6,21,46 +20,17,3,42,23 +6,18 +39,50,17,4,14,21 +4,6,8 +4,5 +9,36,20,6 +4,6,46 +6,10,18 +5 +4,5,6,21,16,11 +44,4,5,6 +22,4,6,19 +29 +3 +12,23 +14,5,6 +31,12 +3,4,6 +4,5,6,28 +45,25,5,6,15,18,43 +2,17,6,19,30 +31,37 +48,25,4,6 +41,6 +7,14 +6,21 +26,17,5,6 +5,6,28,30 +40,3,5,6,42 +4,11 +3,6 +37,48,12,13,5,6,29,49 +4,5,15,43 +22,17,14,6 +2,4 +14,5,30 +33,26,5,6,46 +35,6,10 +36,25,6,23 +6,46 +5 +50,4,6,19 +27,14 +38,14,5,6 +5,6 +23,8 +17,7,14,5,6,16 +6,28,43 +20,6,30 +51,14,6 +6 +6,10,16 +25,17,6,28 +2,5 +4,5,6 +20,5,6 +0 +33,12,4,6 +22,3,5,6,8 +20,16 +22,6,46 +6 +31,12,14,21,49 +6 +6 +4,6,23 +24,6 +13,6 +28,19 +22,17,4,6,21 +44,17,6,46 +27,5,6 +4,6 +24,3,6 +27,28 +3,14,6 +5 +5,6 +6 +20,6 +48,6 +28,16 +6,8 +34,14,5,6 +12,2,3,4,5 +13,4,5,6 +2,17,6 +27,25,3,6,21 +9,22,6 +17,5 +0 +48,2 +34,22,3 +45,14 +31,5,6 +32,4,6 +45,44,20,5,46,11 +5,6 +44,2,4,14,5,6 +4,14,15,49 +47,2,7,4,14,5,6 +5,6,8,11,30 +14,5,6,21,30 +26,13,7,3,14,5,6,42,46 +50,26,5,6 +5 +3,14,5,6 +6 +3,14,6,21 +7,6 +27,12,3,4,6 +25,21,18 +41,7,6,23 +27,4 +25,14,5,6,16 +4,6 +12,22,7,3,6 +0 +13,22,49 +7,5 +3,6 +14,6 +40,41,4,6 +4,6,21,29 +22,5,6 +4 +13,20,6 +24,36,2,7,4,6 +27,7,3,4,5,42 +7,5,6,21,11 +5,6,18 +6 +34,33,3,4,6,42 +26,5,6,21 +20,5,6 +32 +13,6 +24,5 +14,6,8 +0 +40,7,14,6 +49 +17,3,5,10,18 +25,3,14,5,6 +12,25,22,6 +14 +22,5,6 +2,17,6 +40,5,6,43 +45,35,3,6 +17,3,6 +2,6 +6,30 +44 +3,5 +41,20,4,5,6,8 +45,14,5,6 +9,7,42 +26,7,6,11 +14,6 +7,23 +38,4,18 +44,12,6 +48,44,13,17,5,6 +2,4,6 +21 +6,16 +2,6 +3,14,5 +2,42 +26,25,7 +4,14,5,49 +45,22,6,49 +7,5,6,30 +12,4,14,6 +7,6,43 +48,5,6,8 +3,14,5,6 +41,4 +6 +50,44,6 +6 +13,3,6 +20,6 +4,5,6,21,29,11 +3,5,6,28 +0 +25,3 +5,6,18 +25,14,5,11 +5,6,28 +24,41,7,6 +40 +12 +6 +36,14,5,6,21 +39,20,3,5 +41,7,3,6,19 +4,14,6 +12,5,6 +41,25,22,3,14,6,30 +22,3,4 +6 +38,7,4,5,6,19,11 +14,6,23 +27,6 +13,2,20,6,49 +40,36,6 +38,5,6 +25 +51,12,13,25,6 +17,14,6 +5 +25,7,6 +7,14,6 +0 +5,15 +36,27,20,5,46 +27,7,5,6,15,46 +5,6 +15 +33,41,7,14,6 +50,12,17,4,19 +20 +5,10,43 +12,14,5,6,43 +37,14,6 +4,6 +4,6 +26,22,5,6,29 +2,14,5,6,15,42 +7,3,6 +5,6,28 +22,4,6 +25,5 +20,6,29,49 +17,14,5,6 +12,6 +39,20,10,16 +48,14,5,6,29 +14,6 +7,5,6,21 +6 +25,22,4,5,6,21,23 +20,14 +39,36,3,6 +35,5,6 +2 +14,5,6 +12,17 +12,5 +3,19 +24,38,4,6 +17,7,6 +51,6,46 +5,6 +3,28 +14 +25,17,14,6,21,42 +14,5,6,42,8,49 +5,6,42 +25,20,6 +34 +0 +22,3,6,18 +13 +20,6,28 +48,33,26,5,6 +6 +36,5,6 +6 +34,7,4 +32,3,6,21 +33,14,5,6 +22,7,14,10,42 +23,43 +5,43 +6,49 +12,6 +12,14 +6 +32,34,26,7 +12 +38,27,2,22,14,6,30 +41,7,14,6 +9,36,5,6,18 +14,6 +2,7,21,43 +6 +26,22,6 +27,3,21 +27,6,28 +4,5,30 +5,6,19 +37,44,13,14,6,19 +33,20,4,5,6 +12,3,14,5,6 +45,20,17,6 +6,16 +45,17,3,6,46 +13,17,5,6,10 +12,5,6,43 +3,6,8 +37,33,17,3,6 +5,28,42 +20,4,5,6,30 +20,14,42 +26,12,6,11 +37,4,6 +39,41,25,4,5,6 +6 +14,30 +4,14,5,6 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +38,22,6 +13,6 +37,38,6 +6,16 +38,2,20,5,6,21 +39,37,6 +25,14,6 +31,2,7,6 +40,12,13,25,3,14,5,6 +20,6 +2,5,6 +41,6,21 +41,6,11 +14,5,6 +7,4,6,19 +9,6 +5,10,23,29 +45,5,6 +14 +4,6,30 +3,4,5,6,21 +25 +17,14,6 +35,12,6 +12,42 +5,6,15,46 +50,17,5,6,46 +44 +45,22,17,6 +24,3,5 +39,7,14,19 +17,4,14,5,6 +17,4,6 +26,2 +14,5,6,10 +20,14,5 +50,2,6 +2,25,3,14,5,6 +4,28 +24,13,6 +0 +47,5,6 +31,25,30 +3,14,19 +37,12,14 +2,7,6 +22,7,6 +24,7,6,46 +9,38,30,49 +2,5,6 +24,13,25,20,4,11 +26,17,14,6,10,16 +44,12,22,17,5,6,18,29 +5,6,43 +12,6 +45,3,6 +6 +12,3,5,6 +24,48,17,4,5,6 +13,20,14,5,6 +22,6,15 +20,6 +4,6,23 +22,7,3,6 +51,22,17,5,10 +41,7,3,6 +44,26,4,5,6 +4,14,21,18 +7,4,14,6 +6 +4,5,6 +3,5,6 +14,5,6,10 +36,3,14,6,21 +47,3,6 +20,7 +2,7,6,11 +7,5,6 +4,5,6 +7,5 +3,6 +41,2,6 +25 +51,38 +48,22,7,14,5,6 +39,38,20,4,6,16 +47,6,18 +38,17,5 +2 +17,6 +12,49 +2,22,6,29 +13,20,4,6 +50,41,20,7,4 +50,5,6 +26,2 +6 +32,12,22,21 +12,13,17,3,14 +51,36,41,6,23 +20,22,4,14,5,6 +17,5,6,19,10 +5,6 +12,4,14,16,29 +13,20,3,4,14,5,6,28 +51,2,4,14,5,6 +26,12,14,5,6,42,29 +17,7,5,6 +33,25,22,5,6 +3 +17,4,6 +10 +3,5,6 +40,38,6,29 +32,21,28,46 +7,4,6,15,16 +2,6 +4,5 +6 +12,17,14,6 +33,2,6,10 +38,6 +22,5,6 +17,5 +5,6,18 +2,4,6,42 +24,22,14,5,6,16 +33,25,7,14,5,15 +50 +34,2,7,16,30 +41,22,6 +0 +22,46,29 +6 +26,7,14,6,29 +17,14,6 +48,5,6 +0 +17,5 +14 +9,27,3,14 +9,17,6 +2,20,3,4,5,6 +0 +25,28 +5,6,10,8 +31,44,7,6,30 +48,30 +2,3,14,5 +5,6 +4,5,6,28,30 +7,4,5,6,21 +20,3,6 +6 +38,12 +32,26,25,17,6,16 +33,3,4,14,6,18,43 +2,4,6 +25,14,5 +6 +25,21,23 +35,6,29 +45,34,25,14,5,6,46 +12,13,22,3,14,6 +6 +40,17,6 +32,5 +2,7,14,6,29 +20,3,5,6 +4 +34,25,14,5,6,15 +33,3 +33,6 +32,25,22,4,14,42 +2,17,14 +27,12,4,14 +2,4,6 +0 +34,22,14,21,15,19 +13,6 +11 +22,5,6 +25,14,6 +13,7,14,5,6,30 +3,4,5,6 +39,17,7,3,4,5,6 +32,8,46 +7,4,5,6,43 +3 +34,26,4,6 +6 +25,3,6 +22 +13,22,3,5,6 +13,14,6 +25,7,4 +14,6,8,46 +4,6,49 +5 +44 +5,6,10,43 +12,3,5,6 +33,5 +25,6 +39,5,6 +20,6,29 +39,9,22,14,5,6 +4,6,43 +20,6 +48 +6,42 +26,12,3,4,6 +2,17,7,14,5,6,23 +24,38,13,6,18 +5,6,11 +5,6 +35,4,6 +6,18 +44,12,22,30 +7,5,6,28 +5,6,29 +21 +31,12,4,6 +6 +4,14,6,18 +25,3,5,6,28,10 +7,4,5,6 +0 +0 +31,25,17,14,6 +13,7 +14,6 +14,5,6 +14,6 +2,7,6 +2,4,5,28 +0 +5,6,15,46 +5,6 +41,25,20,7,5,6,18 +22,17,4,6,46 +50,4,14,6 +34,5,6,30 +14 +34,4,14,6,42 +7,4,14 +5,6 +5,11 +7,29 +17,7,4,14 +13,2,4,21 +25,4,6 +13,5 +7,14,5,6,28,11 +3,14,6 +5,6 +3,6 +17 +39,33,17,6,29,30 +9,25,20,5,6 +27,6 +37,4,5 +3,4,5,6,10,30 +6 +41,6,42 +22,5,6,42 +31,7,6,30,43 +51,13,17,7,4,6,15 +45,4,5,6 +28 +45,17,6 +9,41,2,17,3 +17,7,6,19 +35,20,6 +12,5 +41,2,22,17,3,14,5 +37 +37,13,17,3,6 +6,19 +27,6 +4,14,23 +5 +14,6,21,10 +50,28 +3,14,6,10 +25,3,4,5,6 +50,22,17,3 +48,2,14,6 +20,22,7,5,6 +38,5,6,16 +14,6 +34,17,42 +13,8 +5,18,23 +13,14,6 +25,22,5,18 +2,4,6 +36,7,3,6,19 +13,2,22,3,14,5,6 +13,7,6 +20,6,43 +17,6,29 +25,3,6 +20,3,6 +24,3,14,6 +20,4,6,49 +22,17 +48,14,5,6 +20,4,5,6,28 +13,14,5,6,10 +22 +6 +48,7,5,6 +7,6 +24,32,44,3,5,6,21 +3 +7,14,5,6 +41,20,3,6 +40,5,6 +47,14,6,16,23 +3,5,6,18 +4,14,6,19 +26,14,21,28 +5 +7 +7,6,43 +34,14,6 +17,7,5,6,28 +20,4,14 +44,3,14,6,16 +3,19 +7,5,6 +34,4,6 +25,14,6 +3,19,8 +48,5,6,21,23 +14,5 +22,17,3,6 +20,4,5 +31,6,8 +7,6,30 +44,12,6 +22,6 +6 +39,12,17,28 +50,9,14,5,6,30 +14,5,6 +2,5,6,29 +5,23 +26,5,29 +7,6,8,30 +7,14,6,21 +14,5,6 +0 +17,6 +13,14,6,42 +33,25,4,6 +7,19 +4,5,42 +39,17,5,6,16 +4,5,6 +5 +2,3,4,14,5,6 +50,7,5,6 +2,6 +40,2,6,21,18 +4,14 +22,3,4,5,6 +13,6 +33,4,6,46 +12,17,4,6,10 +20,5,6,49 +3 +5,6,21 +20,7,3,14,5,6,19,11 +51,25,17,14,6 +37,5 +5 +12,6,23 +5,6 +6,8,43 +4,6 +40,4,11 +32,5,6 +4,6 +41,2,14,6 +13,5,21,18 +22 +14,6 +6,18 +13,14,6 +5 +22,4,14,5,6,18 +33,22,3,5,6 +13,17,14,6,15 +5 +21 +5,6 +6,42 +13,14,5,6,46 +6 +50,17,5,6 +14,6 +13,14,5,6 +34,14,5,6,28 +20,3,6,8 +6 +14,8 +36,14,6,10 +6 +36,4 +45,6,21,28,8 +17,4,6 +40,6 +2,6 +45,7,6,28 +51,14 +4,14,5,6,15,23 +36,38,20,4,6,23 +40,25,6,21,49 +31,7,4 +34,2,3,14,5,28,49 +17,5,6 +2,20,22,17,3,4,6 +6 +7,6,42,30 +17,5 +22,14,6 +6,15 +25,4,6,11 +5,6 +14,6 +14,15 +17,6 +5,6 +4,5,6 +33,12,2,5,6 +6 +39,6 +25,6 +26,20,4 +36,25 +6 +9,20,22,14,5,6 +51,20,14,5,6,28 +4,15,42 +5,6,21 +25,5,6 +17,5 +48,17,5 +6 +6 +44,13,5,6,16,43 +39,31,2,20,6 +0 +6 +5,6 +6 +39,45,20,4,14,6,46 +41,26,17,4,14,6,43 +0 +3,6,21 +20,6 +32,22,7,6,49 +0 +25,7 +32,35,22,7,5,23 +4,5,6 +5,6,11 +38,13,16,42 +35 +51,5,6 +47,6 +5,6,42 +12,20,22 +51,20,4,6 +2,7,4,6 +27,14,5,6 +12,3,14 +32,34,41,6 +17,14,46 +41,2,17,23 +5,6,10 +12,20,14,6 +9,7,6 +20,14,5,6,15 +14,6,30 +0 +6,16 +40,29 +20,14 +39,36,7,6,10,49 +6 +6 +6 +17,4,6 +27,4,14,6,30 +6 +7,14,6,21 +14,5 +12,5 +12,20,7,6 +31,5 +14,6 +17,14,5,6,11 +50,17 +14,6 +2,7,5,6,19,18 +22,17 +26,6,8 +5 +22 +13,25,4,5,6 +25,5,6 +3,28 +22 +50,28 +27,22,6,18 +0 +12,25,6 +20,6 +12,25 +20,6,10 +12,7,4,6 +6,15 +6 +20,4,6 +13,20,4,5,46 +6 +10 +6 +48,13,3,14,6 +51,13,7,3,6 +2 +6 +14,19,16,11 +33,12,17,5,18 +25,6,8 +44,2,5,18,23,30 +3,4,5,6 +5,6,8 +4,6 +25,6 +5,6,10 +25,4,14,5,6,21,23 +31,25,6,10,11 +9,2,4,23 +14 +47,17,6 +4,14,6,49 +37,3,5,6 +6,29 +3,6,30 +3,15,29 +14,5,6,10,42 +39,33,14 +2,25,17,5 +37,38,25,20,17,3,14,6 +13,2,6 +34,3,14,6 +22,6,16,11 +24,22,14,6,16 +3,4,6,21,28,16 +20,17,5,6 +34,20,5,6,15 +26,3,6,23 +3,6,19,30 +2,22,14,5,19 +50,34,3,5 +44,5 +7,5,6 +36,5,6 +3,5,6 +20,4,21 +35,22,6,11 +46,49 +4,14,29 +7 +17,14,5,15 +17,14,19,49 +24,3,6 +44,2,14,5 +37,6 +4,6,8 +3,14,30 +22,6,15 +39,6 +32,12,20,3,5,6,28 +50,25,17,4,5,6,8 +26,3,14,5,6,46 +33,4,6,46 +9,3,6 +17,14,5,6 +39,5,6,18 +4,14,6 +6 +20,6 +4 +2,20,17,3,6 +24,41,25,4,6 +50,13,22 +3,5,6 +25,6 +41,4,14 +40,2,25,7 +26,20 +26,4,6,11 +7,14,6,15 +3,6 +25,18 +13,4 +17,5,6 +51,9,3,4,6,49 +4,5 +13,25,17,14,6 +4,6,16,23 +14,6,28 +38,2,14,6 +17,14,5,6 +17,7,14,5,6 +5,6,28 +6 +7,5,6 +6 +36,22,15,43 +13,6,43 +33,5,6 +45,13,22 +40,41,7,14,6 +3,4,28 +3,4 +26,7,14,5,6,15 +48,20 +14,5,6 +14,5 +4,5,6,28,10 +37,27,6,21,18 +4,6,28 +14,6,29 +17,6 +4,6,46 +48,26,20,22,7,14,6 +26,6,29 +48,25,7,28,10,23 +21 +13,4,6 +32,41,6 +5,6 +4,6,21 +13,15,16,23,8 +6 +41,3,43 +31,33,12,14,6 +25,22,7,14,5,6,23 +6,19,18,49 +22,17,3,5,6,21 +6 +4,6 +44,12,7 +22,5,6 +4,5,6 +50,4,6,16 +3,5,6 +6 +13,2,14,19 +36,35,25,5,29 +22,7,5,6 +14,6,42 +5 +6,28 +32,7,5,21 +38,22 +4,6 +7,14,5,6,16 +5 +22,5,16 +2,4,6 +7,4,43 +34,38,12,16 +50,2,7,14,5 +12,14,6 +25,6 +20,15,18 +51,44,20,3,6,15 +4,6 +6,28 +12,14,5,43 +4,6,42 +3,16 +26,5,19 +22,17 +40,20,7 +6 +3,14,5,6,23 +3,6 +6 +37,34,6 +3,4,6 +0 +44,22,3,5,6 +12,14,5 +12,22,4,6 +9,7,28 +50,20,5,6,49 +14,5,6 +6 +36,12 +13,2,21,42 +5,6,18 +7,6 +37,13,14,6,30 +37,13,17,5,6 +50,3,5,6,30 +13,25,5 +2,5 +25,5,6 +40,17,3 +6,21 +14 +7,6 +44,12,5,6 +39,5,6,19 +3,5,6 +41,20,5 +47,22,14 +45,40,2,4 +3,6 +3,6,18 +51,5,6 +25,14,5,6,21,8 +31,25,5 +40,27,17,4,14,6 +2,5,6 +4 +33,25,5,6,10 +7,6 +3,14,6 +3,14 +13,4,6 +21 +37,9,3 +51,37,17,6,42 +34,3,5,6,21 +47,5,6,28 +14,5,6 +34,6,28 +6 +3,4,14,42,29 +7,6 +5,21 +4,6,21,11 +37,12,25,14,5,6 +7,6,21 +12,25,23,8 +20,22,4,5,6,21 +22,6 +5,6,23 +3,6,21 +25,7,6,29 +41,3,6 +4,6,23,43 +3,6,16 +39,9,17,3,6 +6,21 +36,48,26,25,3,14,6 +12,14,6,16 +31,4,14,5,6,42 +13,6,46 +27,7,14,5 +27,14,6,21 +22,7,3,14,6,49 +3,4,6,43 +41,14,5,49 +16 +15 +14,6 +40,3,14,5,6 +5,30 +12,14,6 +5 +7,6 +20,14,6 +45,5,6,19 +2,4,5 +9,17 +6,16 +22,4 +34,6 +12,6 +40,17,7,5,6 +50,5,42 +39,20,6 +5,6 +36,2,4,14,6,10,46 +44,14,6 +6 +25,7,6,18 +22,17,5,6,15,46 +17,6 +13,22,4,5,6,30 +47,38,26,6 +4,5,6 +4,6 +2,3,5,6,28 +36,20,6,18 +5 +35,3 +6,10 +22,14,6 +6,46 +13,25,6 +12 +14,5 +45,40,4,5,6 +26,22,6 +31,6 +6 +4,14,6 +17,14,6,28 +25,14,6,15,29 +6 +17,14,6 +25,3,6 +3,6 +0 +45,17,5,6,15 +5,6 +38,21,10 +27,3,5,21,29 +3,6 +35,44,25,3,5 +14 +3,5 +12,17,14,6,16 +40,20,17,7,14,6 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +13,5 +7 +26,7,5 +2,25,17,4,5 +5,28 +20,46 +14,5,21 +51,9,5,6 +5,6,16 +14,5,6 +47,17,5,6,18 +24,25,4,6 +17,7,4,14,5,6 +3,6 +50,37,5,6,18 +6 +13,20,3,5,6 +9,17,6,21 +13,7,3,6 +6,16,18 +4,6 +38,4,6,42,18 +2,5,29 +14,5 +6 +12,7,4 +4,14,5,6,11 +31,19 +41,6 +33,14,5 +2,5,6,11 +3,6 +6,46 +4,14,6,21 +24,22,4,6,10 +6 +5,6,16 +42 +20,6,43 +22,7,14,16 +12,20,3,14,5,6 +6,28 +24,17,3,16 +50,20,17,14,6,42 +13,5,6 +37,25,4,6 +12,13,22,6 +12,22,14,6 +3,14 +36,6 +5,6,16 +38,13,20,3,5,6 +3,23 +0 +13,14,5,6 +35,3,6 +22,7,6 +25,4,6 +14,18 +7,6 +19 +22,3 +33,20,3,6,28,18 +14,6 +38,6 +33,3 +20,17,6 +3,14,5,42 +5,6 +5,28 +41,5,6 +17,7,6,21 +4,5,6,46 +25,14,5,6,15,30 +2,20,6,30 +17,14,6,19 +38,22,14,5,6 +22,3,6 +3,5,6,42 +25,3,5,6 +4,6,18,46,29 +34,36,4 +25,3 +34,5,6,10 +13,5,6,28 +9,26,5,6 +39,13,5,6,10 +21 +7,3,6 +6 +2,22,5,6,21 +33,12 +34,3,4,5,6,28,42 +14,5,6 +25,14,21 +13,7,3,8 +48,13,5,6 +50,6 +4,5,6 +25,17,7,3,5,6 +17,14,6,8 +25,20,3,4 +14,6,10 +6 +6,46 +32,34,4,6,29 +37,6,8 +3,14,6,23 +22,14,43 +25,6,21,19 +3,6,28 +45,6 +17,14,5 +3,6 +5,23,11,43 +20,4,6,11 +20,17,3,5 +26 +14,6 +5,6 +41,17,5,6 +17,14,5,6,49 +12,6 +32,27,14,5 +6,42 +26,14,5,6,19 +14 +17,3,14,5,6 +14,6,42 +2,25 +22,6 +6 +25,7,6 +39,9,6 +41,22,3,5 +22,6 +48,5,30 +7,30 +12,2,17,6 +48,2,6 +25 +27,14,5,6 +22,17,14,5,6,18 +35,13,22,7 +2,17,6,46 +49 +5,46 +5,6,18 +13,3,4,14,6,43 +5,6,18 +22 +14,6,11 +51,5 +5,6,49 +4,43 +26,14,16 +14,6,16 +25,20,7,14,6 +25,21 +3,14,5 +0 +3,4,6,28,10 +51,4,14 +48,6,16 +20,6 +2,5,6 +40,4,5,6 +16 +9,7,6,16 +39,3 +5 +6,21 +40,6 +5,6,10,46 +13,2,3,5,6 +17,3 +20,5 +3,5,6 +17,6 +4,42 +5,15 +50,6,8 +14,6 +4,5,6 +7,6 +3,5,6 +25,6,29,30 +37,27,6 +20,7,14,6,28,10 +12,5,43 +17,7,14,6 +3,14,5,6 +26,2 +50,17,3,5,6,29 +34,22,4,6,18 +34,12,14,6,19 +4,6,10,23 +25,22,6,19,49 +36,6 +12,14,5 +25,3,14,5 +22,17,4,5 +22,4,14,5,6 +45,12,6,21,8 +22 +6 +48,2,17,6 +7,6,11 +18 +33,5,6 +48,7,4,5,6,15,46 +20,5 +12,5,6,29 +4,5 +48,4,14,6 +17,7,6 +20,7,4,5,49 +39,7,6,11 +14,6 +7,3,4,5,6,15 +7,5,6 +40,35,14,5,6 +13,5,6 +0 +32,14,5,6,18 +5,6,46 +7,3,14,6,16 +13,5,6 +14,5,6 +17,3,5,6 +25,7,6,46,43,49 +5 +12,10 +5,6 +37,48,6,46 +50,7,3 +4,5,6 +7,5,6 +5,6,18 +20,4,6 +6 +14,5,6 +25,4,14 +20,7,14,6 +35,6 +13,20,5 +17,4 +36,25,7,6 +33,3,4,5,6 +17,5,21,43 +14,6,21 +41,14,21 +33,3,6,15,29 +40,47 +5,6 +33,26,7,4,6,18 +3,4 +38,6 +6,15 +3 +35,7,4,6 +17,14 +20,4,6 +14,6,21 +24,50,2,17,6 +4,5,16,8 +6,21,18 +14,6,21 +24,47,13,14,6,19 +20,6,11,43,49 +5,6,10,16 +13,5,15,49 +47,2,7,3,28,15,30 +25,4 +21,8 +2,22,14,6 +6 +4,5,6 +45,37,5,46 +0 +45,4,5,6,15,8 +13,5,6,46 +39,44,22 +5 +20,3,14,6 +5 +25,14,6,15,29 +5 +22,7,6 +6 +31,17,5,6,10 +6 +0 +17,7,5 +32,6,42,46,49 +0 +5,6 +2,5,6 +17 +44,2,17,5,6,16 +47,14,6,21,16 +5,6,46 +14,6 +4,6 +20,22,3,14,6 +2,17,6,21 +6 +4,14,6,42 +3,6,18 +4,5,6 +27,22,6,28 +32,6 +24,38,14,6 +39,2,5,19 +17 +31,14,6,19 +5,43 +40,20,14 +6,28,23 +36,6,21,46 +37,4,6,28 +12,2,20,3,5,6 +40,4,6,46 +0 +9,17,6,28,11 +2,25,6,15 +25,17,7,3,4,18 +51,27,2,5,6 +33,5,6,15,11 +2,7,8 +17,5,6,23 +32,13,6 +4,29 +20,6 +12,5,6,28 +2,22,14,5,6 +4,5,6 +51,3,14,6,18,43 +39,20,5,6 +25,7,3,4,6 +3,5,6 +3,5,6,19,30 +7,5,6,11 +6 +7,14,6 +22,14,28 +24,49 +14 +6 +5,6,15 +25,7,6 +44,22,14,6 +14,5,30 +12,6 +22,17,14,5,6 +36,20,5,6 +0 +27,13,6 +12,13,17,5,6,10 +50,14,5,6 +13,14 +17,4,6 +5,6 +25,20,7,28,19 +27,2,4,18 +36,12,14,49 +14,6 +32,14,6,21 +5,6 +40,32,4,5,16 +40,5,6,21 +16 +5,6,10 +50,49 +5,6 +9,14,5,46 +7,3,6 +26,6,19,16 +4,14,5 +4,6 +14,5 +17,14 +13,20,3,6 +26,5,6 +4,5,6 +14,5,6 +17,4,6,43 +12,6,28 +48,3,14 +47,17,14,5,6 +25,3,5,6,49 +41,6,19 +7,6 +4,14,6 +27,17,5,28 +7,6 +35,22,7,5 +3,6,10 +4 +14 +13,6,18 +41 +6 +25,22,14,5,6,28 +34,26,7,6 +14,5 +34,6 +5,6 +38,26,2,14,6 +13,7,6 +17,6,28 +13,17 +0 +40,25,5,28 +44,4,6,10 +5,6 +41,7,4,6,8 +4,11,49 +13,22,7,6,30 +6,8 +4,5,6 +6 +50,14,5,6 +22,5,29 +37,33,4,5 +44,6 +22,6,28,30 +27,7,16 +17,4,14,5 +2,5,6,16 +7,14,5,6 +17,4,6 +5,6 +2,25 +25,20,5 +14,6,19 +3,6 +13,7,5,6 +5,49 +36,3,6,21 +20,4,5,6,28 +9,27,6 +45,19 +17,3,6 +6 +45,33,22,5,6 +6,19 +3,6,15 +2,3,6 +12,20,17,14,5 +22,7,5,6,42 +48,7,5,6,28 +6,29 +38,2,7,6 +26,5,6,18,46 +6 +6 +34,17,6 +17,7,6 +32,36,25,22 +3,6 +36 +47,41,5,6 +27,22,14,6,23,30 +22,14,5,6,21 +20,23 +0 +14,6,15 +5 +20,5,6,16 +40,17,14,5,42 +37,27,14,6,23 +5,6 +2,5,6 +12,2,5,6 +6,16 +22,17,6,29 +37,22,14,6,29 +25,6 +47,5,6 +4,5,6 +6,19,23,49 +20,17,14,6,8 +25,4,5,6 +3,14,6,42,46 +50,3,5,6,29 +5 +25,14,6 +38,5,6,28,18,23 +14,6,49 +4,6 +22,7,5,19 +17,3,28 +6,21 +27,2,17,6 +25,7,3,21,46 +7,6 +6,49 +6 +22,6 +35,4,14,6 +20,14,5,6,21,46 +7,6 +6 +24,6 +4,5,6 +14,6,15,30 +22,6,10 +2,4,6 +7,14,5,6,15 +22,6,19 +14 +6 +5,6 +45,32,5 +14,6,43 +6,46 +17,4,5,6,11 +35,14,6,21,16 +13,7,19,8 +20,6 +20,6 +6,23 +13,6 +0 +4,14,6 +12,20,3,5 +26,6 +6,28 +2,6 +5 +6 +44,7,6 +6,49 +12,20,11 +39,25,6,15 +4,5 +25,5,6 +6,10 +3,6,21,8 +7,4,5,6 +4,5 +41,22,6,16 +38,7,3,6 +4,5,6,28 +20,6 +51 +7,4,5,6 +24 +37,25,20,5,6 +45,27,3,4,6 +28 +12,5 +6,29 +9,4,6 +12,22,6 +7,6 +5,6,15 +13,6,29 +32 +20,3,5,6 +34,2,4,5,6,42 +6,23 +5,6,15 +14,5,6 +3,11 +4,6,28 +32,14,21 +48,5,6,30 +14,6 +12,14,6 +6 +40,35,14,5,6 +2 +20,3,6 +24,12,20,14,6 +4,6 +14,6,15 +9,36,7,14,6,42 +7,3,14,6 +14,30 +6,42 +5 +35,20,17,14,6,23,11 +3 +20,7 +27,6,18 +5,6 +32,15 +2,3,4,6,15 +33,22,3,14,5,6 +40,20,22,17,4,14,6,29 +45,14,5,6 +40,6 +34,27,12,6 +14,5,6,16 +27,22,7,4 +6,30 +6 +9,33,14,21,23,29 +12,25,17,6 +6 +13 +38,13,25,14 +22,6,42,23,11 +25,6 +14,5,6,16 +6 +0 +25,6,11 +48,7,6 +33,3,43 +20,6 +7,5,6 +7,6 +3,14,5,6 +4,6,28 +3,11 +35,25,17 +38,6 +22,17,3,6 +22,3,14,6 +2,6,19 +41,22,17,3,4,14,6 +3,5,6,8 +6,15 +5,6,23 +20 +25,3,6,15,8 +44,14,5 +23,30 +27,25,4,5,6 +38,14,5,6 +3 +7,3,14,6 +7,3,14 +2,7,14,6 +41,13,6 +9,44,7,5,6 +20,4,14 +6 +0 +20,22,4,6 +17,14,5,6 +14 +24,5,6,23,46 +22,5 +17,14,6,28 +2,6 +34,5,6,28 +12,6,10 +22,17 +22,14,6,15 +27,22,5 +22,7,3,5,6,21 +22,5,6,10 +48,5,6 +5 +38,6,42,23 +7,14 +5,6 +3,5,30 +5,6 +14,5,6,49 +2,14,5,6 +47,14,5,6 +17,6 +16,49 +2,14,6 +7,4,14,6,15,16 +5,6 +25,17,4,14,5,6 +13,17,14,6 +14,5,6,28,16 +5,6 +3,6,46,49 +4,5 +22,14 +4,14,6 +17,3,6 +6,28 +17,14,6 +12,5 +3,14,5,6 +13 +41,22,14 +13,5 +27,5,6 +12,17,6,46 +27,12,14,19,29 +41,5,8 +35,41,3,6 +13,17,3,14 +37,38,12,2,25,14,5,6 +17,6 +4,6 +5,6,28,18 +2,5 +6 +25 +3,42 +7,14,5,21 +17,4,6 +34,14,6,18 +3,5,6,16,18,46 +25,3,6,23 +37,26,12,17,4,5,6 +2,4,5,6 +4,6 +7,14 +14,6 +45,2,14,28 +6 +12,7,15,19 +2 +33,6 +14,5,6 +48,3,6,30 +6 +17,4,6,23 +9,5,6,10 +14,5,6,8 +6 +3,21 +25,17,3,6 +5,6 +24,26,12,25,6,30 +33,25,20,3,4,19 +17,5,8 +14,15,43 +25,17,14,6 +14,5,6 +33,3,6,28,23 +38,6,11 +14,6,16 +4,6,42 +24,35,6 +20,14,28 +17,14 +15 +7,4,6 +50,13,25,4,5 +12,14,5 +17,8 +13,4,14,5,6 +4,5,6,49 +21,10,30 +14,6 +6 +0 +32,13,7 +6 +17,4,6 +24,14,6 +51,13,7,14,5,6 +3,6,42,29 +22,17,5 +7,5,6,43 +6 +6 +51,12,13,14,6 +17,3,4,5,6 +48,14,6 +3,14,6,42 +5,18 +33,22,7,4,5,21 +6 +17,6,28 +0 +44,6,21 +6 +24,4,14,5,16,8 +14,6 +35,17,6 +14,28 +2,6 +39,13,25,4,6,46,30 +17,5 +6,11 +2,14,6,11 +6,28 +13 +14,6 +47,33,25,20,4,5,6 +32,4,6,11 +45,33,5 +17,14,18,49 +12,14,5,6,19,49 +0 +12,3 +6 +3,14,6 +22,7,6,10 +4,6 +25,7,14,6 +50,40,3,6 +4,6 +20,4,14 +5,6 +14,6 +51,4,14,5,6 +6,46 +4,6 +6,28,10 +44,25,6,19 +4,5 +3,6,21,18,49 +2,5,6 +47,27,14 +27,20,4,14,5,6,42 +6,21 +14,5,6 +20,5 +5,6,10 +6,10 +6,28 +40,32,5,6,15 +24,7,14,6 +9,3,6 +3,6,16,23 +17,7,14,49 +17,6,15 +7,4 +9,34,7,6 +35,12,4,14,6,42 +27,12,17,4,6 +20,7,3,14,5,6 +12,7,6,15,11 +26,3,4,14,5,28 +3,5,6,15 +22,6,10 +38,44,4,5,6 +0 +13,4,30 +14,5,6 +26,22,4,14,6,11 +14,5,6 +6,30 +26,20,5 +51,5,23 +25,22,14,5,6,10,29 +12,6,28,16 +7,4,5,28 +48 +6 +41,2,7,14 +4,14 +12,7,5,6,15,29 +50,40,25,14,5,6,15,18,8 +3,14,21,18,23 +25,7,4,5,6 +40,25,4,5,6,19,30 +5,6,29 +13,25,7,21 +4,14,6 +42 +5,6 +33 +22,3,5,6,15,16,11 +45,6 +14,6 +16 +0 +27,2,14,6 +6,18 +51,7,4,28 +6 +7,6,21,42,8 +14 +20,5,6,18 +22,3,6,23 +13,22,6,46 +35,20,6 +6,21,23 +2,25,20,7,5,6 +22,5 +40,2,25,6 +45,47 +20,17,5,6,19 +30 +32,17,4,14,5,6 +38,6,11 +7,6 +2,17,4,5 +14,5,6 +13,5,6 +2,3,5,6,21 +25,14,6 +20,3,5,6 +14,5,6,11 +14,6 +39,6 +6,18,49 +12 +13,5,6,8 +25,20,4,14,6,10,30 +13,6,15,23 +7,14,43 +22,4,6 +26,25,7,3 +6 +51,14,6 +42 +6 +33,17,6,28 +24,12,7,4,5,6,21,15,29 +20 +25,23,8 +7,5,6,42 +34,6 +13,3,6,11 +5,6 +25,14,5,6,28,49 +25,3,6 +17,14,5,21 +32,5 +4,6,28,19 +22,14,5 +47,3,28 +13,17,6 +35,20,5 +33,7,6,15 +9,46 +3,5,21,8 +5,6 +12,14,6 +5,6,21,43 +5,6 +7,6 +5,6,21,8 +6 +17,7,5,6 +22,3,5,6,11 +14,6,21 +26,6 +44,5,6 +5,42 +13,2,21 +7,4,5,6,49 +24,4,6 +12,6 +37,4,5,6 +14,6 +3,6,15 +14,18,23 +2,19,8 +5,6,19 +5,28 +6,42 +26,3,4,14,6 +35,7,4,6,28 +32,25,17,4,14,6,19,8 +32,6 +33,17,7,3,14,5,6 +9,17,7,5,6,46 +12,4,14,6 +6,49 +22,5,6 +34,7,14,5,6 +14 +14,5,6 +6,28 +5 +6 +14,6,19 +34,38,22,4,14,6 +33,2,3 +39,50,37,4,6,23 +45,14,8 +5,6 +3,5,6,46 +0 +5 +6,8 +33,20,7,4,5 +40,22,6,16,18 +7,3 +6,49 +14,5,6,21,28 +3,4,5,21 +3,5,6 +0 +13,14,5,6,10 +25,17,7,3,6,29 +34,6 +6 +39 +4,5,6 +3,6,49 +25,4,6 +6,42 +4,5,6 +7,4,14,5,6 +4,5,29 +4,14,6 +17,6,19 +14 +10 +7,16,23 +17,5,6,21 +2,14,6 +5,6 +32,4,5,6,19,42 +17,5 +5,6 +25,5 +5,6 +13,6 +17,14,6 +44,26,12,5,6 +13,22,5,6 +6,23,49 +51,50,13,25,7 +34,22,4,6,49 +47,6,28 +22,5 +5,6 +38,12,25,4,14,6 +13,17,6 +38,26,14,5,6 +2,6,10 +4,5 +13,7,3,6 +25,20,7,14,6,43 +22,5,6 +5,6 +6,19 +6 +17,14,5,6 +6,15,29 +22,6,16 +6,15 +34,13,7 +20,14,5,6,15 +35,14,6 +24,14,5,6 +7,6 +13,3,5,6 +27,4,5,6 +3,6,23 +3 +6,16 +4,6 +33,7,14,5,28 +5,6 +2 +6 +22,17,5,6 +12,20,7,4,6 +17,6,16 +6 +25,4,6 +13,7,6,11 +5,49 +33,6 +38,6 +2 +2,25,4,14,6,28 +32,20,4,5 +32,6 +33,7,3,6 +39,6,10 +12,2,4,6 +3,5 +2,14,6 +20,14,6,15 +5,19 +27,6,16 +20,17,6 +0 +14,5,6 +14,6 +17,5,6 +5,6,10,43 +7,42 +20,4,6 +17,7,5,28 +35,49 +35,2,5 +5,6,19 +12,5,21 +0 +5,6 +20,5,6,29 +4,14,5,6 +44,20,5,43 +33,12,20,4,14,6,8,49 +5,6 +24,25,5,6 +25,3,4,5,6,42,23 +3,4,5,28 +6 +14,6 +14,6 +12,7,4 +34,20,6,19,23 +2,22,4 +13,5,6,16 +14 +14,5,10 +29 +7,14 +17,14,5,6 +25,6,49 +12,13,6,28,23 +4,6,15 +6 +40,12,14 +6 +26,6,46 +38,22,14,5,6 +44,17,14,6 +25,17,4,6 +14,5,6,19 +40,20,17,4,16 +17,7 +44,4,6 +34,5,6 +12,20,4,6,8 +6 +4,14,5,6,19,16 +32,2,4,6,19 +2,7,5,46 +39 +14,6,15 +5 +27,3,6,15 +14 +2,6,23 +6,21 +45,5 +6,8 +4 +5,6 +4,5,6,21 +2,14,6,15 +2,22,17,4,14,6 +14,6 +25,20,6 +14,5,6 +17 +40,6 +6,10 +7,6 +2,17,6 +22,6 +40,3,5,6 +0 +45,24,4,6 +6 +7,5,6 +7,5,6,21,15 +49 +2,5,6,10,43 +43 +47,3,6 +20,4,6,21 +3,6 +47,2,25,20,17,6,29 +2,3 +2,17,6 +40,34,6,23 +13,6,11 +17,14,5,6 +35,2,6 +22,14,5,19 +26,7 +7,6,16 +25,4,14 +17,7 +5,6 +50,27,6,21 +13,20,14,6 +39,5,6,8 +3,5,6 +25,4,14,5,6 +12,3,4,5,6 +12,6 +7,6 +6 +13,3,6 +5,6 +14,6,11 +5,6 +14,6,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +25,3,6 +27,7,3,6 +5,6,15 +12,17,7,4,5,6,8 +7,4 +12,17,4,6 +13,4 +14,6 +45,3,14,5,6 +45,32,13,14,16,49 +25,4,14,6 +6,16,43 +12,25,6,19 +4,6 +2,5,6,19 +12,25,5,6 +6 +3,6 +5,6,15 +20 +27,7,6 +2,5 +6 +13,5,6 +22,6,43 +13,7,6 +40,12,4,6 +6 +14,5,6 +2,17,6 +5 +17,6 +5 +7,3 +6 +13,20,22,14,6,8 +14,6,10 +47,22,6 +3,4,6 +5 +20,3,6 +22,6 +13,2,17,4,5,6 +13,5,6 +7,6 +34,3,14,5,6,28 +7,6 +20,7,4,5,6,8 +6,19,46 +6,23 +22,14,5,6,8 +6 +6,43 +40,25,6 +4 +20,3,5,6 +14,15,42 +13,6 +45,38,22,3,14,42 +33,22,5,6 +6 +25,6 +5 +14,6 +44,5,6,28 +5 +0 +6,28 +6 +20,6 +39,5,6 +6 +14,6,19 +5,6,11 +6 +6,15 +32,13,20,4,10 +14,8 +8 +13,22,17,11,43 +33,6 +3,5,6 +14,5,6,28 +35,6 +14,6 +27,10 +4,5,23 +20,7,6,23 +6 +5,6 +6 +17,6,8 +5,6 +39 +13,8 +14 +12 +5 +25,14,6 +13,5 +35,6 +47,3,4,6 +35,6 +20,4,14,28 +20,6,42 +45,17,14,5,6 +5 +33,26,4,6 +47,5,6 +50,35,20,6 +17,5,6,8 +12,4,6 +0 +17,5,6 +6 +44,14,6 +12,20,3,14 +22,6 +6,19 +5,6,43 +3,5,10,16 +6 +20,7,4,5,6 +27,14,6 +4,5 +20,3,6 +12,6,19 +3,4 +0 +26,3,14,5,42 +22,4,6 +4,5,6 +14 +7,6 +7,6 +13,17,6 +5 +0 +6 +14,6 +50,26,22,3,5,6 +26,3,6 +5 +5,6 +6 +3,4,6 +50,17,6,28 +6 +13,4,6,11 +4,6 +6 +5 +14,6 +24,14,6 +3,5,6 +5 +14,5,6 +20,5 +20,6 +12 +12,4,14,6 +20,4,6 +35,42 +6 +39,14,6,16 +45,13,17,7,6 +45,47,7,4,14,5,6,28 +50 +6 +12,5,6 +12,6,15 +6 +0 +12,7,5,6,15 +3,4,14,5,28,23 +12,6 +4,15 +34,4 +6 +20,6,19 +14,6,10 +39,17,6 +0 +3,5 +24,6 +3,14,6 +33 +33,4,6 +7,4,19 +3,4,14,6 +24,6 +12,7,14,5,6 +14,6 +20,6 +7,4,5 +13,17 +6 +20,3,14,5,6,15 +12,5,6 +6 +5,6 +6 +12,4,6 +44,5 +6 +5 +44,3,6 +4 +4,6 +7,3,14,6 +14,5,6 +5 +5,6 +3,5,6,15 +5,6,11 +13,6 +50,6 +39,17,7,6 +6 +5 +26,14,5 +6 +5 +7,14 +39,7,6 +6 +17,4,6 +47,17,7,6,28,23 +17,14,5,6 +17,14,6 +5,15 +3,4,14,6 +0 +17,14,6 +35,26,20,4,5,6 +5,6 +14,42,23 +3,6 +42,8 +3,6 +14,6 +3,4,6,10 +5,6 +14,5,6 +50,26,5,28 +33,4,6 +5,6 +14,6 +6 +4,14,6 +14,6,10,8 +4,6 +26,5,6,42,43 +24,14 +45,6 +14,6,15 +38,6,19 +26,5,6 +0 +20,4 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +35,5 +4 +5,23 +14,5 +5 +20,28,19 +4,28,42,23,8 +14 +0 +33,5 +4,14,23 +33,19,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +14,5 +4,5,11 +4,19 +4,23 +14 +13,5,42 +13,5 +0 +14,28 +4 +0 +14,10,11 +33 +50,44,14,5 +14,28,15,8 +4,42,11 diff --git a/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_labels.txt b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_labels.txt new file mode 100644 index 0000000..87ad4de --- /dev/null +++ b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_labels.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +6,7,8 +0 +6 +4,6,9,10,11 +6 +6 +4,12 +6,8 +3,5,13,14,15,16 +5,6,17,18 +5,6,19 +6,14,17,20,21 +2,12 +13 +6,22 +10 +6,10,17 +5,6,11,23 +6 +6,24,25 +6 +4,7,24,26 +3,14,21,27 +3,6,14,23 +6,14,15,28 +5,6,14,29,30 +2,7,31 +6,25,32 +5,6,8,19,33 +6,11 +4,10,14,15,17 +6,13,34 +6,13,15,17,35 +3,4,8,14,36 +3,5,6,21 +4,6,7 +2,5,33 +6,14,16,37 +5,38 +6,10,14 +3,5,7,14 +28 +6,39 +2,3 +5,6,7,29 +6,8 +26,35 +5 +6,21 +5,6,7,13,14,40 +6,14 +5,6,41 +3,6,13,34 +5,6,22 +3,4,5,6,29 +3,5,6 +6,28 +3,4,6,25 +6,21 +6,14,37 +4,6,34 +5,6,15,22 +4,6,28 +5,6,17,29,42 +6,43 +6,11,26 +3,6,7,25 +5,6,44 +7,38 +6,13,45 +2,5,6,21,40 +6 +4,6,14,40,41 +10 +5,6,7,23 +6,14,20,31 +6,12,44 +5,6,7,17,45 +6,12,18 +6,11 +7,20,46 +3 +2,6,17 +31,46,47 +2,5,26 +0 +4,5,6,14,42 +4,5,6,11,27,37,41,48 +2,3,4,6 +5,14 +5,6,17,28 +2,5,6 +4,5,6,20 +12,20,49 +6,7 +6,14,19 +3,6,22 +30,37 +6,16,42 +2,4,6,10 +6,17 +14 +4,5,10 +6,10 +3,6,16,17 +4,5,6,50 +4 +50 +14,21,35 +6,14 +2,4,16 +5,15,22 +6,17 +6,8,43 +6,29 +6,11,14,17,24,25 +6,12,14,15,18 +10,14,22 +6,7,14,25 +49 +6 +3,5,6,25,32 +4,18,21 +4,6 +6 +0 +6,31,32,36 +6,26 +5,6,19,22,30 +3,5,20,43 +6,34 +5,19 +5,6,22 +3 +4,6,25 +5,6,7,25 +6,12 +5,6,10,13,17,18,19,42 +3,8 +7,17,28,37,46 +6,21 +6,46 +5,6,46 +5,6 +2,6,7,19,20,28,47 +6,41 +3,5,6 +5,12 +6,44 +3,29 +2,4,6,15 +5,6,14,16,35 +6,48 +5,6,15 +4,6,14 +6,14,22,25 +14,33 +3,6,31,32,39 +6,25 +5,13 +5,6 +6,15,21 +0 +6,14,15,39 +3,6,11,13,21,36 +3,33 +5,6,25,29,48 +4,6,17,20 +3,4,5,6 +5,6 +2,3,5,6,16,17 +6 +4,5,13 +5,6,36,38 +2,6 +5,6,9,14 +3,6,11,14 +6 +5,6,24 +5,6,12,38,48 +4,6,24 +6,8,23 +3,5,6,22 +5,6,17,26,41 +13,14,16,41 +6 +6,49 +3,4,6,21,34 +2,6,17,18 +5,6,28 +6,26 +4,6,16,17 +4,5,7,8,28 +6,8,16,38 +3,5,6,25,31 +3,4,5,6,7,14,22,25 +6,14,37 +5,6,14 +6,7,13,20 +4,5,6,25 +7 +5,6,25 +5,46 +5,6,44 +4,5,6,12,19,21 +6,20 +4,6 +5,6,14,17,20,26 +4,6 +3,14,22 +4,6 +6 +5,6,14,17 +6,22,38 +6,14,39 +6,12,15,47 +5,6,12,22,42 +5,6,20 +4,6,8,15 +3,4,6,22,28 +6,9,28 +6,14,25 +6,11,22 +6,7,30 +5,7 +6 +7,34 +5,6,7,14 +3,6,37 +7,14,46 +5 +5,6,7 +2,6,7,8,50 +6,22,25 +6,7,14,42 +6,14,17 +5,6 +4,5,6,50 +4,6,13,14,36 +5,6,7,15,16,22 +6,14,30 +6 +5,6 +3,5,6,12 +5,6 +6,17 +5,6,12,14,25 +3,5,6,28 +3,6 +5,6,20,23 +4,6,27 +4,6,40 +3,6,12,18 +28 +5 +17 +5,6,7,14 +3,4,5,6 +5,6,14 +4,6,49 +5,6,7,17,18 +6,9 +5,21 +5,7,17,42 +0 +4,5,6,7,34,40 +3,14,35 +3,4,5,6,21 +6,11 +6,14 +6,20,38 +5,17,20,25 +5,6,13,15 +5,6,14 +6,12,14,37 +6 +16 +18,23,28 +5,6,47,51 +6 +0 +3,6,25 +2,4,6,10,20 +6,10,12,44 +6 +5,13 +5,18,22,40 +5 +2,3,19,37 +4,5,6,22,47,48 +6,21,22 +6 +5,6 +6 +6,7,15,18 +5,6,7 +0 +3,6,15,17 +6,7,14,21 +5,7,17,23 +4,5,22,29 +5,6,15,25 +2,6,14,49 +10 +3,6,14,44 +17,25 +6,7,9,38 +6 +4,5,6,11 +5,6,14,35 +4,5,6 +6,7,32 +6,40 +2,6,25 +4,6,17 +2,6,17,21,28 +4,17,44 +6,34,46 +17,22,35 +6,7 +2,5,6,26 +5,6,14 +4,6,10,48 +4,5,15,20 +4,6 +22,44,47 +3 +0 +4,6,43 +6,14,50 +5,6,25,33 +5,6,15,18,29 +4,5,6,25,44,46,48 +5,6,11,14 +5,19,20 +5,6,11 +2,21 +6,22,32,39 +4,6 +5,12,13,14,36,45 +4,6,13,17,23,44 +5,6,14,15 +6,34 +14,22 +10,21 +5,7,42 +6,20,42 +2,4,7 +6,29,35 +6,14 +5,6 +2,23,29,38,51 +6,7,50 +4,6,14,17,42 +12 +4 +5,6,26 +17 +3,6,13 +6,7,22,28,36 +6,14,16,28 +5,6,10,14,29 +5,6,25 +5,10,12,14,38 +3,6,7,14,37,42 +2 +6,14,23 +5,6,21,30 +5,6,20,48 +6,7,35 +6,14,20,45 +5,6,25 +6 +17,36 +3,5,6,14 +5,6 +5,13,16 +4,14 +6 +6,18 +5,6,20,23 +6,16 +5,6,12,48 +5,34 +4,5,6 +6 +6,7,8,18,28 +17 +6,14,30 +6,46 +6,12,14 +4,5 +6,13,14,40 +5,16,17,29 +3,6,15,25 +15,18,48 +6,13,15,44 +5,27 +4,5,15,41 +6,18 +4,5,6,16,34 +6 +22 +6,14 +2,3,4,6,7 +4,6,14,27 +10,20 +2,5,6,14,42,49 +19 +6,18,29,36 +5,14,42 +4,6,13,16 +5,6,14 +3,5,6,14,15,24,30,35,43,46 +3,5,6,31 +7 +6,14,19,25,33 +6,30,42 +3,4,6 +6,14,22 +5,15 +2,5,6 +8 +5,14,32,43 +4,5,6,15,17 +4,6,25 +6 +3,5,9 +5,6,14,17,26 +4,12,17,37,42,49 +12 +3,6,17,36 +5,6,13,49 +2,6,35 +3,22 +2,5,6 +2,6,31 +14,17,21,22,30 +6,14 +5,6,14 +3,20,22,47 +3,4,6 +6,37,46 +4,5,6,14,15,41 +6,16 +6,14 +4,20 +3,8 +5,6 +3,6,14 +5,10 +2,6 +4,14 +4,32,33,48 +6,29 +6,10,25,46 +4,6 +3,5,6,14,16,46,47 +6,8,12,36 +4,18,25,39,43 +6,19,28,46 +0 +14,19 +5,15,21,41 +3,4,5,6,7 +2,6 +4,5,6,14,22 +3,4,6,7 +3,6 +6,8 +5,6,14,17 +6,7 +14,43 +6,18,26 +6,19 +2,5,6,41,50 +3,5,6,7,20,23,25 +3,6,18 +0 +0 +5,7,28,42 +6,14,28,51 +3,4 +6 +3,5,6,29,34 +3,5,6,14,22 +6 +5,6,34 +6,14,26 +0 +4,6,14,25,27,28 +5,6,19 +4,6,7,14 +3,6 +6 +6,10,14 +6,14,17,37,39 +3,6,13,17,19,31 +14,21,22,46 +4,5,6,7,14,15,17 +6,25 +4,5,8,17 +6,8,17,22 +6,14 +6 +2,5,6,17,34 +4,5,18,26,45 +6,34 +4,6,17,26 +3,4 +4,6,12,14 +4,5,12,14 +3,4,13,20,25 +6,10,14 +6,50 +6,41 +5,11,28 +6,14,17,46 +17,48 +6,17 +3,6,14 +5,6,14,18 +5,6,14,16 +5,14,49 +6,7,14,37 +6,20 +6,14 +14 +0 +2,3,5,14,22 +4,6,25 +14,22,40 +5,6,7,11 +4,20,26 +5,6,7,14 +0 +6,20,34 +6,14,16,44,49 +5,6,14,40 +6,14 +2,6,10 +3,6,28,49 +5,6 +15 +5 +2,6,36,47 +3,6,42 +5,6,18,26 +0 +38 +6 +0 +3,4,6 +6,11,22 +6,10 +5,6,13,27,40 +0 +6,17 +6,14,28 +5,13,34 +14,43 +6,17,37 +4,5,6,10,47 +6 +6,8,44 +6,7,10,15,36 +14,23,45,47 +5,6,27,34 +6,7,25 +5,6,7,13 +6,14,42 +5,6,23,28 +5,14 +6,22,38 +4,6,37 +6,12 +4,6,46,49 +6,40 +3,6,22,32,43 +6,28 +40 +2,6,7 +5,22 +3,6,25,49 +10,17,47 +3,6,14 +2,6 +7,43 +5,6 +6,13,22 +6,12,14,36,39 +2,5,6,30 +5,6,7,15 +3 +3,4,6,7,8,11,14,27 +4,5,6,7 +6,9,11,44 +3 +6,7,22 +6,22 +4,6,25 +6,13,18 +23 +6,22 +5,6,8,12,17 +5,27 +4 +2,4,20 +6 +5,6,15,22,25 +6,18,24,25 +6,20,29 +7 +5,6,7,13,14 +8,10,17,37 +6 +6,8 +3,6,14 +6,16 +6,12,13,14,22,25 +4,5,6,20 +5,7,11,37,50 +0 +6,13,14,29 +6,8,16,18,22 +5,6,10,14 +4,35 +6,14,20 +14,21 +5,6,17,21,50 +4,6,21,48 +4,6,17 +5,6 +4,5,6,13,26 +4,5,6,22 +5,12,15,43,44 +5,6,13,16 +6,10,14,21,28,44,49 +3,5,6,22,34 +5,6,17,42 +5,6,7,13,14 +6,23 +2,7,22,28 +15,41,49 +2,3,5,14,17,46,47 +6,40 +3,4,5,6 +2,6,35,50 +6,7,14,36,42 +4,6,14,18,22,36,38 +5,6,14,35 +4,6,7,9,11,14,20 +5,6,17 +5,6 +6,48 +5,6,7,17,21,35 +2 +2,6,7 +12,22 +5,6,7,14,19 +6,14,16,22 +4,6,17,25,35 +4,5,6,11,22 +6,17,20 +6 +5,6,20 +3,6,13,25 +5,14,17,28,30 +3,25 +5,6,29 +3,4,6,17,30 +5,6,14,46 +5,14 +5,6,14,18,31 +3,4,6,18 +5,6,7 +0 +5,6,7,30,46 +17 +5,6,10 +6,7 +4,5,6,14,46 +5,6,12,14 +0 +5,6,10 +6,12,21,23,49 +2,3,8,10,17,48 +3 +2,5,6,36,49 +6,7,10,14 +4,6,24,44 +6 +5,6 +4,6,23,27 +3,6,7 +2,6,29 +3,5,6,14,28 +5,6,7 +5,6 +6,14 +5,14,26 +6 +5,6,34 +5 +6,51 +5,6 +6 +3,13,48 +3,6,7,12,14 +6,7,45,46 +6 +5,6,14,21 +6,7,8,21,31,37 +6,20 +6,15,17 +3,13,15 +4,6,14,16,46,48,50 +2,7 +6,22 +3,6,14,15,17,34,35 +6,15 +3,5,6,14,39 +6,7,14 +5,6,14 +0 +6,26 +6,8,17,25 +3,4,5,6,14,17,44 +6,14,16,17,18 +3,5,7,17,42 +5,6,14 +3,6 +4,6,9,47 +4,6,7,22,33 +6 +4,17,20,45 +3,6,7 +2,13,20 +6,35,44 +4,6,14,36 +6,7,14,17,22 +5,19,20 +6,14 +6,20 +3,5,6,20,42 +3,4,5,6,7 +3,5,6,17 +5,7,9,20 +5,6,22 +5,6,20,35 +5,6,9,12,40 +4,6,19,27 +6,14,28,30 +4,6,25,46 +2,6 +6,14 +14,20,46 +6,20 +6,7,20,28 +6,13,25 +4 +6,36,46 +6,14,18,19,25 +6,14 +6,7,44 +4,5,28,51 +4,6,42 +6,22,28 +15 +6,17,28 +2,5,6,12 +5,6,28 +10,14 +5,6,22 +5,6,17,21,22,25 +2,5,8,22 +6,12,17,19,33 +4,6,16 +6,15,18 +5,7 +6,13 +6,17,25 +2 +3,6,16,46 +12 +6,32,44 +5,6,14,18,23 +6,8,20,31,43 +3,5,45,51 +4,6,8,23 +5,6,14,18,43 +13,21 +3,6 +15 +6,14,17,22,30,37 +6 +6 +3,5,6,7,41 +6,15,25 +6,7,12 +5,6,9,13,16 +6,7,21,29,49 +4,22 +6,12,13,28 +2,3,6,21 +22 +3,6,27 +6,40 +5,6 +5,16,22 +4,5,6,14,21,28,39 +4,6,17,20,39 +6 +3,16 +4,6,11,13,22 +6 +2,5,33 +2,4,5,14,23 +3,6,17,27 +2,3,6,14 +5,6,17,21 +6,8 +6,18,46 +2,3,6 +6,17 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +5,6,17 +4,6,17,33,48 +6,42 +6,9,16,19,33 +6,51 +8 +5,6 +3,4,6,7 +5,6,7,12 +3,6,12,21 +4,5,7 +5,6 +5,6,7,49 +6,14,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +6,10,14,25,31,49 +6,16,29,30 +5,6,25,28,31,36,46 +2,4,6,7 +2,3,14,17,31 +6,18 +5,6,17,44 +5,6,44 +6 +6,7,17,22,25,28 +6,11,17,22 +5,6,44 +6,16 +6 +3 +4,20 +5,12,21 +6,7,12,19,22,49 +6,17,19,26 +6,14 +6,14,22 +5,22 +6,8,14,25,26,51 +4,6,26 +3,6,22,31,49 +12,24 +3,6,11,13,33,42 +14,50 +6 +14,26 +3,5,6,8,32,44,46 +5,6,13,22 +3,6,7,14,39 +4,6,46 +4,6,7,14,46 +5,7,51 +3,6,23,32,48 +6,8,17 +6,14,21,43 +5,6,9,17 +5,6,7,14 +6,22,48 +6,14 +17 +3,6,14 +6,48 +5,6,20,21 +4,6,14,17,19,21,33 +5,22 +6,7,44 +6,13,40,49 +6,40 +6,14,15 +3,6,17,42 +12 +4,6,20 +5,6,42 +5,6,14,25,29,47 +4,6,17 +5,6,7,22,42 +5,6,14,28 +5 +6 +6,14 +9,14,16 +6 +3,5,6,16,37 +4,6 +6,42 +3,6,14,23,31,43 +6,17 +3,5,6 +6,14,15,30 +5,14 +6,14 +6,13,14,17 +6,10,12 +4,48 +4,5,6,14,31,49 +4,6,16,31 +2,3,4,6,7 +4,6,48 +14 +5,6,12,19 +5,34 +5,6,8 +4,6,42 +25 +6,13 +6,22,29 +3,6,21,22 +4,6,34,41,48 +4,5,6,8,15,20 +4,6,7 +4,5,6,19 +2,5,6,14,28 +5,6,49 +6,7,17 +6,11,14,36 +5,6,14 +3,6,11,47 +5,9 +5 +4,5,6 +4,6,15,46 +6,14 +4,6,17,25 +6,44 +5,6,15,48 +6,17 +3,5,6,12,20,51 +4,6 +5,6,10,15,22,42 +6,7,10,15 +20 +4,20,25 +4,6,8,16,29 +6,14,22 +3,5,6,28,35 +5,6,46 +6,23,40 +5,6,22,23,51 +3,6,7,14,19,22 +3,6,44 +3,11,25,38,48 +4,6,25 +2,6,7,17,29,33 +2,5,6,21 +3,4,6,14,16 +2,5,6,14,51 +6,7,18,28,47 +5,6,8,20 +0 +14,49 +2,4,5,6,12,32 +6,10,48 +6 +6,13,30,31,35,40 +5,6,34 +6,14,20,23,30,48 +2,6,32,44 +5,33,35 +4,5,6,25 +4,6,14 +6,25 +4,6,20 +6,17,33 +2,6,7,14,22,38 +5,13,30,33 +6,7,17,18,29 +5,6,8,28 +5 +6,14,22 +39,47 +13,20 +4,5,6,8,20,22 +6 +6,36 +5,6,11,14,19,38 +5,6,28 +4,6 +5,6,10,14,40 +5,6 +4,6,7,22,23 +6,7,47 +6,19 +3,5,6,20,22 +6,7 +3,5,10,14,15 +3,5,6,17 +5,6,7,14 +6,14 +2,6,12,14,34 +6,20 +6,17,18,28 +6,13,17,41 +14,43 +14,45 +6 +4,5,7,14,45 +7,14 +6,14 +6,7,22,25,39,47,51 +6,14,23 +6,17,24 +6,7 +5,6,13,14 +5,6,10 +2,6,8 +5,6,49 +4,6,30,34,45,49 +6,29 +3,6,13,15 +6,26 +2,3,21 +6 +4,6 +4,6,23,35 +13,16 +5,6,17,33,42,48 +3,6,16,20,30 +5 +5,6,16,34 +5,22 +6,22,51 +5 +6,13,14 +3,4,17,20,44 +4,44 +4,6,14 +20 +2,6 +6,20,22 +5,6,21 +5,6,42 +6,17 +4,17,18 +4,5,6,13 +4,6,12,15,17 +5,14 +6,14,28,33,39,42,49 +3,6,7,18,22,25,28,51 +17,28,45 +6,7,14,21 +14,20,46 +6 +5,6,21 +5,6,16,22 +6 +3 +3,5,22 +6,21 +6,30,48 +6,7,22,44 +3,4,5,6,14 +3,5,6,14,16 +6,21 +6 +6,16,22,37 +4,6,22,30,37 +6,18,48 +6,9,12,44,50 +5,7,14,25,42 +2,5,6,18,35 +3,10,25 +2,4,5,6,12,14,22 +6 +6,7,13,17 +4,5,42 +3,6,14,15,27 +9,46 +5,6,9,13 +5,6,35 +6,13,17,25,45 +6,18,20,40 +5,6,44 +2,3,14,18,25,46 +25,42 +4,6,22,29 +6,10,13 +3,4,5,6,28,42 +6,34 +6,17,23,29 +6,17,43 +2,6,21 +6 +6,7,10,17,37 +4,5,6,44 +3,5 +20 +6,34 +6,15,42 +6,20,33,42 +0 +6 +6,12,18 +49 +6,14,39 +5,22,40 +5,6,25,49 +5,6 +48,51 +14,19 +6,21 +3,11,36 +5,14,48 +5,6 +0 +2,14 +4,6,7,18,20 +6,11,17,22,30 +4,5,22 +5,14,30,46 +6 +2,6,23,49 +8,22 +6,7,48 +3,5,6,33,39 +14,17 +6,9,14,22,25 +5,6,7,15,17,23 +3,6,49 +4,5,6,7,15 +6 +6,20 +3,5,6 +4,15,20,26 +4,19 +6,14,39 +6,28,50 +3,6,7 +5,14,16,25,34,43 +6,22 +5,20 +6,8,14 +5,20 +6,22,48 +4,28 +6,14,19,20,28 +3,5,6,14 +3,4,14,19,22 +5,13 +4,6 +4,14,22 +6 +13,30 +39 +4,5,6,14 +6,22 +6,22 +3,5,7,14,21,44 +4,5,6,20,27,30,43 +3,5,6 +6,33 +3,6,13,19,48,51 +6,18,34 +3,6,35 +3 +5,6 +15 +6,11,14,17 +6,14 +5,6,20,30 +5,6,17,45 +6,16,40 +5,6 +3,5,6,21,22,34 +5,6,7,20,37 +6,14,20,41 +6,17,19,20,22 +3,6,14 +10,43,47 +6,22 +6,7,10,17,41 +5,6,17 +0 +3,6 +3,4,6 +5,6,20 +4,5,6 +4,6,20 +14,42 +5,6,22 +6 +5 +18,40 +19,20,29,42 +5 +5,6,12,22 +6,14,15,19,48 +2,23 +6 +5,6,28 +14 +5,6,14,17,44 +5,6,19,30,51 +2,5,14,17,45 +6,14,22 +3,6,48 +6 +6,17 +14,20,42 +3,15,38 +6,23 +6,14 +3,6,8,12,13,21 +4,6,14,22 +19 +8,23,28 +6,9,14,41 +4,6,14,17,22,45 +3,4,5,6 +6 +4,22,39 +6,15 +5,6,33 +6,14,17,20 +6,14,21 +6 +4,5,6,25,39 +5,6,13,14,20,23,36,43 +0 +6 +19 +6,7,10,16 +3,4,5,6 +4,5,6,42 +6,12,17,19,22,44 +6,50 +3,5,6,18 +6,14 +5,6,21 +4,6,7 +4,5,28,30,38 +5,30 +43 +5,20,21,28 +5,6,20,39,41 +6,22 +6,22,33 +4 +4,5,6,38 +5,6,14,30 +17,28 +6 +6,14,17,20 +14,17,50 +4,5,6,7,15,47 +6,7,19 +14 +4,34 +5,7,14 +7,25,33 +4,6 +5,6 +2,6 +5,7,38 +3,4,5,6,14,15,22,29 +6,14,22,33 +5,6,7 +6 +12,14,20,28 +4,6,18,49 +5,6,17 +4,6,33,34,36,42 +6,7,20,25,30 +6,17,34,50 +3,20 +5 +5,6,17,21 +13,26,33,46 +6,14,42,43 +3,7,14,29 +2,6,28,44 +13,14 +3,6,10,44 +6,46 +3,5,6,22 +4,6,27 +2,4,14 +3,4,5,6,11,30 +6,38 +6,7,14 +14,19,48 +3,5,6 +5,6,7,44 +5,14 +6,28,34,44 +6,7,14,22,35,46 +3,6 +3,6,50 +6,30,46,49 +6 +6,8 +16,22,29 +2,29 +6 +5,6,25,49 +30,46 +6,18,19,25 +5,6,36 +4,6,7,50 +6,17,46 +6,17,21 +3,4,14,17 +5,6,14 +2,5,6 +4,6,17 +4,5,14,29 +5,6,10,14,20 +0 +5,7,44,51 +6,14 +6,9,12,13 +6,38 +5,10,27,28,36 +5,46 +5,6,27 +18,20 +5,6,26 +6,11,25 +4,19,26 +0 +3,4,6,16,21,27,28 +3,7,30,46 +6 +5,6,7,14,25,48 +6,7 +6,12,22 +13,17 +3,4,5,6,14,45 +2,5,6,13,25 +6,14 +12,18,25 +4,5,6,7,12,30 +6,7,17,36 +4,5,6,13,14,34 +6,8,14 +6,7,20 +3,6,13,48 +5,14,30,51 +4,9,25,39 +5,6,10,17 +4,6,14 +2,6,14 +5,13 +2,5,6,22,35 +0 +7,28 +0 +3,12 +2,5,7,32,46 +4,6,14 +24,36 +4,6,14 +6,46 +14 +5,6,7,40,41 +6,7,17,22 +6,7,16,33,45 +13,21,22,47 +4,5,6,10,15 +4,6,7,45 +5,6,7,22,24 +6,30 +6,7,11,14,15 +3,5,25,45 +5,6,46 +2,5,6,42 +6 +5,6,14,15 +4,6,8 +5,6 +2,6,12 +4,6,13,51 +6,9,13 +22 +6,8,14,20,25,26,33,35 +6,9 +5,6,21,44 +6,13 +5,6,20,35 +20,47 +5,6 +3,5,6,14,19 +4,6,12,42 +6,7,47 +6,14 +6,44 +5,6,14,39,48 +2,6,25,42 +3,4,6,7,14 +3,5,6 +14,37 +6,19,42 +4,5,6,7,46 +5,6,17,19,25 +3,6,17,19,49 +12 +2,33 +5,6,43,45 +3,20 +5 +2,6,10,14,22 +2,3,5,6,20,45 +4,8 +6,22,25,36,42 +4 +6,8,20,49 +6 +6,7,14,23,32 +6,28 +5,12,14 +3,4,6,21 +5,6,17 +6,17 +3,6,23 +6,11,14 +14,20 +4,6 +6,15,22 +4,6,44 +6,7 +4,5,6,8,9,14,26 +2,5,6,18,29 +4,6,7 +3,17,18 +2,3,5,14,32 +6,18 +5,6,16 +2,5,6,14,20,28 +6,14 +6,14,22 +0 +23 +5 +5,10,17 +5 +6,37 +6 +4,5,14 +3,6,7,15,25 +6,28 +4,14,22,51 +6 +6,12 +6,12 +9,13 +6,14,19,25 +5,6,49 +5,6,13,14 +6,14,18 +3,5,6,14 +4,6,7,14,17,22 +6,13 +17,22,28,46 +6,44 +8,20,23,25 +5,6 +15,20 +4,6,14,20,21,30,35,47 +2,13 +3,6,11 +5 +6,26 +5 +4,5,6,13,17,33 +5,6,15,17 +4 +4,6,22,23,48 +4,6,16,19,43 +26 +4,5,6,7,14 +6,22 +17,46 +5,6,14 +7,14 +6,7,12,14 +6,14,30,32 +6,20,23 +5,6 +5,6,14,28 +7,43 +6,17,23 +5,6,47 +14,28,39 +6 +14 +5,6,38 +6,25 +5,20,43 +0 +5 +3,5,18 +6,7,20 +4,5,6,17,29 +7,16,27,49 +6 +3,6,14,20,22,41 +5,6,7,9,12,22,46 +13,14,29,44 +5,7,14 +5,6,29 +6,26 +5,6,13,21 +6,28 +6,14,17,50 +6,43 +5,15,48 +6,14 +6 +5,6 +6,16,17,49 +6 +6,25 +4,5,13 +5,6,22 +6,22 +2,6,8 +5 +6,7 +6,20 +6,23 +4,13,14 +6 +4,6,7,27,34 +5,6 +14 +6 +5,7,17,46 +6,14,23 +14,19,22 +7 +5,14,17,25 +3,5,6,7,44 +6,15 +3,4,6,20,22 +7,8,14,31 +4,5,6,42 +5,6,7,14,15,17,20 +6,22,23,27 +6,14,27 +5,6,20 +3,5,6,26 +6,22,36 +2,5,6,46 +14,36 +3,6 +4,6,14 +4,5,6,14,34,50 +5,14,17,22,47 +7,14,22,25 +6,20,25 +6,9,13,14,17,25,42 +5,12 +2,3,4,5,6 +2,3,6,12,13,19,48 +6,24 +6 +6 +6,7 +6 +5,6 +6,22 +4,6,14 +3,6,20 +6,7,20 +5,6,7,30 +3,20 +5,6,7 +4,6,22 +11,20,31 +5,6,24,34 +5,6,14,17,41 +6 +6,7,28,31,42,43 +2,6,16 +6,14,30 +7 +6,20 +6,25,50 +5,18,23,25 +6,17 +26,38 +4,5,6,8,12,14,17 +6,14,29 +5,48 +5,6,20,23 +5,14 +6,11,14,26 +5,6,16 +4,5,6 +4,5,6 +7,20 +3,5,6,14,25 +4,5,22 +6,15,18,41,43,45 +6,7,10,15,49 +19,31 +5,6 +5,6,14,17,39 +6,14,20 +2 +3,6,8,28 +6,41 +4,5,6 +6,7,12,30,49 +4,6,17 +3,5,6,22 +6,13 +3,4,5,6,14,31,45 +3,6,7,28,40 +2,3,6,19,51 +5 +29,51 +5,6 +3,6,14,20 +4,6 +14,18,20,36 +6,14,17,18 +3,6,14,18 +5,28 +8,14,38 +4,14,46 +4,6,14,17 +6,17,19,25,27 +6,22,30,35,38 +2,5,13,14 +3,6,7 +3,6,28,45 +6,24,29 +3,6 +5,6,7,9,14 +5,6,18,27 +14,15,19,22,29,42,43 +0 +11,17,18,50 +5,14,23,31,42 +6,14 +5,21,38 +6,14,29 +6 +4,6,7 +14,42 +3,6,29 +2,4,17,25 +6,14 +5,9,19,22 +5,6,14,40,42 +6 +6,44 +4,5,6,13,19,22 +6,22 +2,5,6,22,32 +3,20 +5,6,23 +6 +6,22 +6 +4,5,20 +3,6,41 +5,6,14,42 +2,4,5,6,25 +4,6,22,25,42 +5 +3,6,25,29 +5,6,7,16,39 +3,5 +2,6,14 +5,6,15 +5,6,43 +5,6,8 +3,7,8,25 +6,17 +3,29 +4,5,21 +28 +4,5,6,7,13,30 +0 +0 +7,39,50 +9,14,18,20,36 +6,9,14 +6,33 +5,6,8,14 +3,6,50 +5,6,14,22,39 +3,5,26 +6,22,33,48 +4,6,15,17,30,38 +6,8,14,28,32,47 +6,7,21,25 +6,7,17 +5,11,14,32,40 +5,6,7,21 +28 +6,10 +3,4,6,14 +6,7,13,47 +4,6,10,20 +2,5,13,20 +7,29 +20,27 +3,10,22 +2,5,12,14,22 +6,14 +6,17,22 +19,42 +4,5 +4,5,6 +6,14,36,37 +3,5,6,14,22 +5,6,16,25,29 +5,6 +20 +6,14 +6,14,18,22,51 +5,6,14,31 +3,6,17,20 +5,6,28 +0 +5,6,14 +2,6,17,48 +6,12 +2,3,4,6,14,17 +6,20,22,32 +4,5,18 +6,14,27 +14 +6,10,20,44 +25,39 +5,6,7,29,42 +3,6,20,21,23,43 +3,6,8 +6,22 +6 +0 +5,6,30 +6 +33 +4,5,6,13,31 +2,5 +16 +7 +4,6 +3,5,6,7 +6,14,15,25 +6,14 +5,14 +0 +6,7,14 +3,6,25 +4,6,17,24,46 +5,14,17 +6,11,14,37 +4,19,28 +14,19,36 +5,7,9,35 +6,9,12,22 +3,25,26,37,45 +3,7 +3,6,22 +5,6,11,22,30,32 +6 +5,48 +2,6,31,42,51 +4,6,10,13,14,15,22,46 +6,21 +2,5,11,14,25 +2,5,12,13,43 +2,23,49 +4,6,22,50 +6,14,21 +5,12,33 +20 +6,16 +4,5,6,13 +18 +6,19,36 +3,5,6,15,25,28 +2,6,14,21,40 +6,7,20,26 +5,6,10,17,20 +17 +6,21,33 +5,14 +3,4,6,14 +5,12,21,29,51 +6,16 +2,5,22 +6,15,28 +4,6,31,42 +5,6,44 +5,6,7,8,9,34 +6,20,39 +4,6 +4,6,20,35 +6 +2,5,6,21 +6,14 +3,5,6 +6,16 +4,6 +6,17,28 +6 +22 +6,36 +7,14 +3,6 +3,5,6 +6,21,22 +2,4,6,25,36 +3,6 +6,9,16,46 +6 +3,10,14,26 +4,5,6,17,20,22,49 +2,6,14,16,38 +27 +6 +5,6 +4,5,12,16,22,28,46 +5,13 +5 +2,22 +5 +2,6,14 +5,6,7,20 +9,14,37 +6,7,23,28 +6,28 +6,14,20 +12,16,17,29 +6,44 +4,5,6 +6,7,16,43 +5,9,12 +14,20,43 +6,7,13,15 +6,14,20,21 +3,6,14,15,22 +5,6,43 +3 +12 +6,30,33 +5,11 +3,6,14,27 +4,6 +3,6,20,22,39 +5,15 +6,14,20,21,28,40,44 +5,6 +6,20,45 +0 +3,6 +4,6,15 +3,6,14,21 +6 +4 +6,37 +6,8,21 +4,7,9,17 +6,17 +4,5,6 +6,25 +3,5,6,38 +3,6,12,14 +6,11 +6,10,13,28,50 +4,28 +6,34 +3,6,21,45 +2,6,21,29 +14,17 +3,4,42 +48 +4,17 +4,6,44 +6 +5,6,14,23 +3,5,6,7,20 +3,13,18,23 +5,23,36 +6,7,14,30,46 +5 +6,9,49 +5,42 +6,41 +5,7,10,13,46 +49 +5,6 +3,6,12,13 +6 +3,6,13,14,23,28 +6,37 +6 +3,5,13,21 +8,10,36 +4,6 +25 +6,14,31 +3,4,14 +5,6,29,51 +4,14,25,51 +4,8 +2,5,14 +3,5,6,7,12 +7 +4,6 +6,21 +6,36 +4,6,21,26,33,46 +0 +2,3,6,15 +13 +5,43 +4,30 +4,6,7,15,29,31,38,43 +2,6,9,30,41 +3,5,6,10,22,35 +20,23,40 +6,15,16,31 +5,6,17,20 +3,6 +9 +4,6,17,29 +5,6,14,21 +4,5,6,21,40 +5,6,7,14 +6,17,36,42 +5,14 +6,8 +2,6,9,46 +6 +4,5,6 +6 +6,22,38,47 +5,6,13,20,27 +6,10,14,31 +3,4,22 +6,15,19 +2,4,5,30,42,48 +4,14,45 +5,16,22 +6,18,20 +14,16 +3,5,6,28 +44 +5,10,14,18,22,48 +3,4,5,6 +10,25 +17,49 +4,5 +6,20 +5,6,13,20,45 +16 +0 +6 +5,6 +12,20 +6 +5,6,38 +4,6,17 +6,13 +3,6,13,20,36 +6 +12,14 +5,6 +6,26 +5,6,20,25,35 +3,6,14,26 +6 +4,5,22 +2,6,7,20 +4,5,6,12,13 +20,46 +4,5,12,14,27,38 +4,6,12,22 +5,6,18 +5,6,20 +6,22,50 +3,6,49 +3,5,6,7,12,23,25,41 +3,7,14 +4,6,36 +6,27,44 +3,6,14,22 +3,20 +6,8,33,43 +6,14 +5,6 +6,17 +2,5,6,25,37 +3,4,10,13,29 +6,18,40,46 +6,8,14,18,44 +3,6,27 +3,4,5,6,9 +2,6,8 +6,13,19 +2,6,12,17 +0 +0 +6,7,14 +5,6,19,23 +2,3,7,44 +7 +6 +3,4,7,32 +6 +6,14 +5,49 +8,23 +4,6,23,28,33 +20 +4,5,6,14 +5 +4,5,6,10,19,29,42 +15,30 +6,13,30,46 +6,11,20,26 +6,21 +2,14,18,43 +4,10,25 +5,7,22 +6,7,41 +20,31 +4,6,14,40 +10,28 +5,6,12,14 +5,6,7,23 +3,18,22 +6,12 +4,6,13,14,19 +2,5,6,21,31 +6,8 +14 +2,10 +6,7,21,27,34 +3,5,13,18,26 +6,11 +34 +6,51 +4,6,10,29 +5 +5,6,14,21 +4,6 +4,5,11 +3,6,22,38 +2,6,10,20,22,33 +5,6,30,33 +6,14,17 +6,9,20,27,30 +14,25,36 +6,7,15,19,21,24,25 +5 +5 +5,6,12 +14 +4,5,6,14 +6 +6,14,16,30 +4,5,6,19 +3 +12,13,14,44 +6,50 +5,6 +6 +5,8,21 +2,3 +3,6,14,28 +5,6 +3,4,6,20 +6,7,15 +4,5,6,12 +6,13 +6,27,31 +6,22,25 +6,14 +30 +6,14,15,46 +6,13 +6 +2,9,28,39 +5,6,10,14,21 +3,6,9 +5,22,29 +5,6,12,16,22,26 +6,44 +3,4,5 +25,28 +4,6,20,49 +5,6,14,46 +3,15 +4,25 +0 +6,25 +6,14 +4,6,13 +3 +6,28 +5,6,22 +4,5,6,7,42 +31 +14 +5,6,10 +6,11 +4,5,6,25 +6,46 +6,13,24,27 +4,5,6,18,21 +6,11,23 +4,6,20,22 +6,12,20,29,37 +5,6,7,25,43,46 +40,45,50 +5,22 +6,7 +4,6,10,25,30 +4,5,17 +4,6,7,22 +6,22 +4,6,22,25 +5,6,16 +5,6,7 +6,14,48 +6,7,14,20,33,46 +6 +4,5,41 +3,5,13,27,29 +6,14,16 +5,21,37,38,47,49 +14 +6,7,13,24 +4,5,6,14 +5,6,19 +6 +6 +5,11 +5,11,46 +4,5,6,39,40 +16 +4,6,14,21,28,41 +6,14,18 +5,6,20,38 +7,16,36,46 +13 +5,14,20 +3,6 +5,12,21,26 +4,6,10,13,22,26 +6,29 +2,3,6,28 +3,19 +6,47 +4,7,14,15,25 +3,6,18,36 +2,5,6,21 +2,3,5,6 +6,13,14,17,23,30 +5,20,31 +16,22,37 +5,6 +5,6,36,42 +5,6,14,22 +5,6 +23 +5,14 +3,6,42 +6,7,12,23 +5,6,13,25 +6,7,17,41,42 +4,6,22 +3,4,5,10,25 +6,36 +5,6,25,31 +3,6,14,15 +5,6 +5,20 +6,14 +3,6 +5,6,23 +5,6,13 +2,6,22 +3,6,19,22 +6,22 +2 +3,13,31,49 +5,6,14,21 +2,5,37 +4,5,6,16,20 +3,5,16,25 +4,5,50 +6,7,16,17,22,25,35,39 +3,4,6,18,21 +6 +6,32 +5,6,22 +5,6,18 +6,7,10 +5,6,22,25 +5,6,17 +8,12,40,46 +4,5,6 +2,5,6,22,44 +10,23,42 +4,6,13,25,46,49 +6,32 +5,6,16,17 +6,17 +6,11,14,20,33 +6 +5,6,7,21 +6,14,16 +5,6,14,17 +0 +5,6,14,35 +22 +2,5,6,12,46 +5,14,16,49 +5,6,14,17,18,48 +5,6,19,28 +6,14,18,19 +14,16,30 +6,10,13,15,17,27,38 +5,6 +4,14,16 +5,14,24,29 +5,29 +6 +4,6,12,17 +3,6,16 +6,11 +4,14,30 +5,6,25 +3,6,15,25 +4,6,21,46 +6,17,24,28 +6,7,8,23,25 +2,5,6,14,19 +4,5,37 +49 +5,6,7,13,17 +5,17,48 +2,6,22 +5,6,14 +4 +30 +6,17,25 +6,10,14,40 +7,13 +3,6,22 +6,14,18,22 +2,6,8,14,24 +5,6,49 +5,6,7,13,17 +25 +5,6,15 +3,6,12,20 +6,7,20 +3,5,6,25 +5,6,13 +6,25,26 +4,10,14,28 +3 +5,6,7,14,26 +6,41 +6,14,45 +6,17,30,42 +3,6,7,41 +5,6,13,17,38 +5,6,14,42,51 +17,18,20,25 +6,7,29 +5,6,44 +5,31 +13,25,48 +6 +6,14,18,48 +4,6,10,31 +6 +3,14,15,16,25 +4,5,6,38 +5,6,14 +36 +2,7,12,18 +3,13,43 +4,5,18,30 +6,10 +3,6 +6,25 +6,14 +6 +4,6,17 +6,14 +5,6 +5,6,19 +6,10,29 +4,6,13 +5,6,12,14,28,37 +2,4,5,6,11 +5,6,7,50 +5,7,12,19 +0 +14,17 +6,10,15 +6,25 +6 +6,22,49 +6,20,22 +6,7 +6,14,21,28 +5,6,23,47 +5,6 +5,15 +5 +4,6,11,14,46 +5,6,20,22 +6,14,17,43 +5,7,19,49 +4,5,6 +5,6,13,34 +3,4,5,6,16 +3,5,6,45 +2,15 +5,6,31 +25 +5,6,14,18 +5,17,20,41 +0 +4,6,35,47 +35,41 +50 +6,7 +4,5,6,13,49 +5,6,10,13 +4,6 +6,17,19 +3,6 +4,6,7,21,33 +18,22,43 +6,14 +20,46 +6,14,20 +6,33 +5,6,8,10,14,21,45,51 +5,6 +6,9,22 +6,14,22 +3,6,44 +19,28 +4,14 +2,4,6,12,16,51 +13 +5,6,14,20,44 +7,42 +3,5,6,20 +6,7,14 +5,6,14 +6,35 +5,6,17 +6 +5,9,14 +4,6,14,18 +6,7,13,14,25 +5,6,14,16,19,44 +6,8,49 +5 +5,6,12,29 +5,6,14 +3,5,6,14 +3,5,6,7,19,44 +5,6,22 +6,20 +5,6,28 +5,6 +15 +6,13,15,38 +6 +5,6,43 +2,14,25 +3,5,6,14,34 +4,5,14,25,30,44 +3,18,27 +6,14,22,40 +5,6,14,36 +6 +5 +6,20,50 +6 +4,14,22 +6,15,41 +5,14,25 +6,16,25,38 +2,6,25,29,30,32 +6 +3,6,10,13 +4,5,6 +6 +17,50 +6 +5 +3,6,14 +2,6,7 +4,5,6,13 +6,14,20 +3 +3,6,28,42 +6,13,14,48 +6,23,25 +6,14,28,45 +34 +6,14,44,46 +4,6,14,22 +6,17,18 +4,5,6,47 +6,19,39,41 +6,49 +3,4,6,7,8,31 +6,14 +6,26,31 +3,6,14,48 +5,21,22,31 +3,4,5,6,7 +3,5,6 +6 +6,20,29,36 +5,6,10,22 +3 +4,6,37 +6 +2,10,22,45 +6,37 +4,6,14 +6,21,25,29 +3,5,6,14 +7,25,50 +5,6,10,27 +4,5,6,17 +6,22,42 +37 +6,10 +6,9,21 +25 +3,5,6,13,14,21,46 +3,5,6 +6 +3,4,5,20,21,27,30,36 +4,6,11 +2,5,6,44 +6,12,13,15 +3,10,14 +5 +6,9,14 +4,5,6,28 +10,14 +0 +3,6,14,17,33,38 +0 +6,10 +3,5,6,37,45 +5,6,9,28,33,36 +3,14 +4,5,6 +6,17,27 +6,12 +5,6,11,17,21,25,30,38 +6,14 +3,14,35,36,42 +5,6,8,23 +6 +14,20,32 +6,14 +6,13,32,37,46 +2,6,18,32,50 +4,18,22 +6 +3,7,19,25,28 +6 +2,6,7,25 +4,5,6 +5,6,51 +6,7,29,34 +5,9,14 +6 +5,16 +6 +20,28 +3,16,22 +5,6,7,9,47 +6,43 +4,7,14,15,25 +5,6,9,40 +5 +3,4,6,10,31 +5,11 +3,6,43 +4,6,14 +6,9,25 +4,20 +6 +6,20 +5,6,14,29,49 +6,10 +6,9,10,22,42 +6,31 +4,5,6 +6 +17 +5,6,7,13,17,30,51 +4,5,38 +6,7,21 +6,37 +11,17,22 +3,4,6 +3,6,18,28,30,34,42 +6 +6,7 +6,13,15 +4,6 +0 +13 +6,15,25,38 +4,6,14,28,38 +6,14,38,44,51 +5,6,21 +4,5,6,22 +7,18 +3,6 +14,49 +4,5,6,7,10,15,22 +4,6,49 +6,16,21,22 +4,5,6,7,20 +6 +7,8,14,41,43 +6,21 +5,6,19 +4,6 +4,6,19,23,25 +3,5 +3,6,21,30 +4,6,14 +14,15 +0 +5,6 +6,16 +7,14 +6,14 +14,17,19 +6,23 +4,5,6,13 +3,5,7,11,30 +5,14,21,29,44 +30,42 +6,43 +4,6,22 +5,6,29 +3,6 +5,14,21,28 +22,47 +2,6,17,22 +8,14 +5,6,7,16,19,20 +3,6,48 +3,5,6,21 +6 +4,6,10,14 +6 +25 +4,21,23,27,32 +3,4 +2,6 +3,4,6,27,43 +6,14 +5,6,13,30,31 +6 +5,14 +6,14,43 +6,14,22 +6 +5,6 +7 +6,7 +3,6,25 +4,6,13,14 +5,6,20 +3,6,7,19,22 +6,14 +6,13,42 +6,7 +22 +6,13,14,43,46 +4,5,6,13,14 +0 +5 +4,5,6,8,10 +4,5,25 +6 +5,6 +6,7,37 +3,4,6,11,12,29 +4,6,10,35 +25,29,30 +5,6,17,25,27 +3,4,6,10,17,22 +6,11,13,17,22,25 +3,6,13,49 +5,6,25,26,32,36 +14,22 +4,6 +6,14,18 +13,14,17 +3,6 +5,6,21,44 +5,6,7,8,25,50 +6,32,42 +12,47 +29,35 +5,6,10,14,16 +5,6 +6 +5,6,51 +4,5,15,20,48 +6,14,44 +5,6,14,37 +6,14 +5,6,14 +3,5,20 +6,8 +2,3,6,10,14,20,27 +5,6,7,17 +4,6,18,20 +6,14,25 +2 +4,6,14,17,20,22 +5,19,22 +5,6,21,33,42 +6 +6,19 +47 +6 +12,13,28 +6,25 +5,12,14,31,34,36,43 +7,34 +6 +4,5 +18 +6,14 +5,6,10,17 +2,3,4,6,17,43 +4,49 +3,5,6,7 +4,5,14,17,25 +4,5,6 +4,6,7,19,34,48 +3,4,14 +4,6,14,19 +5,6,17,23 +6 +6,17 +18 +6,7,28 +4,6,7,14,28,30 +5,42 +0 +4,6,7,14 +3,5,6 +2,6,17 +5,6,14 +2,5,14,32 +5,6,7 +4,6 +6,14 +5,6,8,13 +38 +2,3,6,7,19,21 +5,7,14,45,50 +2,5,6,23 +3,4,5,6,14,15,17,22 +5 +4,6,13,33 +5,40,47 +4,5,7,14,16,31 +4,5,6,14,25,42,43 +6,50 +3,4,5 +7 +3,5,6 +4,6,14 +4,6,21 +6,20 +3,6,7 +33 +4,12 +6,13,14,25,36,37 +3,6 +5,14,22,33 +2,6,12 +6,14,25 +6 +6,28 +6,27 +5,6,14,48 +5,6,10,11,12,21 +6,41,46 +6,22 +5,6,35 +3,6,14,26 +3,6,14 +5,6,8,15,31 +4,6,14,17,50 +5,6,7 +6,23 +5,6,11,13,14,21 +11,14 +23 +4,6,15,20,26 +4,5,18,26 +6,13,14,29 +6,12,14 +2,18,22,46 +6,22 +3,6,9,17,18 +0 +2,6,17,31,48 +4 +7,41 +6,15,18,21 +6,36 +6,9,14,43 +5,6,8,9,10 +4,6,14 +6,10,17 +3,5,6,15 +5,8 +6,25,28,41 +6,20 +3,6,14,19,42,47 +6,14 +6,14,25,46 +4,5,6,14,25,34 +2,3,5,6,7,15 +2,4,11,14,31 +6,8,21 +3,5,32 +5,6,11,14,42,50 +5,6,22 +4 +2,5,6,14 +4,6,27,48 +6,9,14 +5,6,50 +14,19 +6,33 +6 +6,10,13,20 +7 +5,17,29 +6,17,20,22 +0 +5 +2,6,14,23,29,46 +7,8,14 +5,6 +21,35 +5,6,17,35 +4,5,14,20,34 +8 +5,29 +6,10,17 +4,12,41 +5,7,15,17 +5,18,23,35 +2,5,14,15,26 +6,37,45 +4,6,17,35 +5,12 +4,17 +6,7,24,28,46 +5,14 +5,6,45 +6,14 +5,6,22 +5,22,30 +6,14 +5,6,14,42 +6,25 +6,14,16,30 +6,13,44 +0 +3,5,6,8 +3,6,50 +14,32 +6,10,20 +5,6,29 +10 +3,6,14,20 +6,10,15,22,38 +6,46 +6 +3,6,34 +3,24 +6,42 +5,6,14,35 +3,4,6,7,15,17,18,20 +2,4,13,16,17 +6 +6,22,35 +4,6,21,25,28 +6 +3,4,6 +4,6,14 +3,5,6,7,10,50 +2,4,6,10,22,28,40 +3,6 +4,6,19,26 +3,5,6,7 +3,5,6,46 +0 +0 +4,5,6,37 +6,35,41,42 +5,6,13 +2,6,13 +4,5,7,17,30 +19,22 +3,4,6,18 +5,30,33,38,49 +3,6,14 +6,13 +4,6,29 +6,25,44 +6,12 +4 +3,6,18,19,33,49 +4,6,34,41 +6,42 +5,14,40,51 +3,6,10,39 +5,6,20,33,46 +5,6,14,16,20,22,35 +6,10,18,21,42 +4,6,16,20,42 +6 +6,15,29 +0 +6,25 +2,3,28,42 +4,5,6,19 +5,7,14,49 +4,5,6,44 +6,17 +4,5,7,11,14 +21,22,23,31 +5,6,29 +20,25 +5,6,14,21 +3,4,5,9,15,21,25 +2,6,17,20,23,50 +6,13,51 +5,6,7,13,17 +4,5 +6,36 +2,6,12,29 +6,33 +4,6,20,25,48 +4,6,14 +16,48 +7,37 +6,17,20,21 +6,7,10,14 +5,17 +7,14,40 +4,6,19 +6,14,16,17 +3,6,7,22 +4,5,6,13 +4,5,6 +5,6,25 +6,29,44 +6,22 +4,6 +6,20 +6,21 +14 +22 +4,7,14,16,33 +6,31 +5,6,7,14,21,27,41 +6,14,19 +6,25 +5,6,21 +5,6,31 +7,14,15 +6,20 +5,6,30,38 +2,5 +5,6,7,14,16,18 +5,6,17 +5,6,14 +6,18,30 +5,6,17,46,49 +3,6,7 +20 +3,6,41 +6,7,12,25 +0 +6,20,49 +6,25,27,32,38 +6,11,19,28,48 +3,5,6 +6,23,25 +6,12,43 +6 +6 +5,14 +27 +3,5,6,51 +5,6 +3,5,6,20,47 +3,5,16 +6,7 +26 +6,17,29 +5,11 +6,46 +5,6,46 +5,27 +7,8,45,50 +4,6,21 +5,6,18 +6,14,20 +6,26,33 +27 +6,13,17,20,21,44 +4,48 +6,28,42 +12,16 +4,6,12,17 +5,6,13,44 +6,19 +12,25,31 +3,6,7,21,37 +13 +5,14 +3,6,14 +5,6,7,16 +14 +19,22,36 +12,50 +3,5,6,7,46 +5,6,16,25 +35 +6,35 +3,6,22,26 +6,8,15,37 +4,6,7,17,25 +12,20 +6 +3,37 +6,14,41,42 +5,49 +4,5,7 +6,19 +4,6,25 +5,6,29 +3,6,13,17,28,31 +4,6,12,14 +6,49 +6,7,17,48 +3,4,6,23 +20 +5,6,27 +3,4,5,6 +5,7,10 +4,5,6 +6,15,45 +4,6,47 +3,22,23 +24 +6,7,18 +5,7,18,37,50 +6,19,37 +6,7,30,43 +5,6,10,13,50 +4,5,14,37,51 +5,6,20 +6,7,15,17 +5,6 +5,6 +6 +6,21 +5,6,7,22 +6,25 +6 +6,22 +6,14 +6,21 +6,7,25,41 +19 +6,13 +0 +3,6 +6,14,15 +3,6,14,25 +6,13,21 +7,16,22 +6,14,38 +5,6,16 +5,6,17 +3,4,7,15,45,46 +5,6 +6,20,35 +6 +5,14 +4,6,14,48,49 +2,5,6 +22 +6 +3,6,14 +2,3,5,6,14,46 +4,5,7,22,35 +5,14,19 +6,8,17 +5,6,26 +6,12 +6,10,29 +7,47 +3,5,25,33,36 +6,17,22 +3,10,14 +3,20,35,46 +5,6,18,25,32 +5,6,7 +14 +7 +5,6,12,35,36 +22,36 +12,19 +5,22,27 +4,6,14 +4,5,6,14,20,41,44,51 +6,18,47 +6,47 +6 +5,6 +3,20 +6,15,22,34 +4,5,6 +3,5,6,7,14,18,48 +6 +6,16 +4,6,14,47 +5,6,7,14,20,31 +3,5,6,14,35 +6,8,22 +5,6,14,19 +5,10,11 +3,6,12,14 +5,6,16,25,49 +18,29 +4,5,6 +6,17 +6,22 +2,5,6,18,30 +3,6,12,14,22 +6,25,36 +4,39 +3,6,12,14,18,22 +4,6,26,44 +6,17,25,37 +5,6,21,37 +6 +14,15,19,42 +5,6,14,18,38 +14 +6,25 +3,6,22,28 +20 +6,40 +6,17,21,41 +4,19 +7,27,28,40 +6,14 +5,25,34 +5 +6,14,38 +4,5,25,44 +4,6,17 +6,12,19,41 +6,22,49 +6,14,20,37 +3,17,18,27 +5,22 +6,41,42 +4,7,8,14,17,20 +6,38 +3,4,6,22,47 +3,4,6,8,12,30 +5,6,8 +6,13,15 +5,17,20 +4,6,15,51 +6,24,27,41,51 +3,6 +3,34 +2,14,23 +6,7,15 +6,22,29,42 +5,6,12,13,15,18 +4,6,36 +6,14 +5,6,17,20,46 +3,6,12,16,34 +5,19 +5,6,10,17 +5,6 +6,7,13,14,17,22,51 +6 +6 +3,5,6,21,22,35 +6,7,21,42 +10,20,27 +3,4,5,6,27 +5,6,40 +5,14 +5,6,14,22 +4,6,7,47 +3,6,20,27 +5,6,14,16 +2,4,5,51 +6,20 +6,7,14 +4,5,6,12,14 +6,7,14,28 +4,6,14,16,20,22 +15,22 +5,6,41 +3,6,25,29,37 +3,6,21 +6,7,40 +5,6,14,51 +3,5,6,14 +5,32 +6,25 +3,5,6,19,20,27,49 +4,6 +6,17 +2,6,10,19 +4,6,13,18,21 +3,6 +3,6,44 +0 +3,5,46 +5,8,20 +3,5,6,7,17,24 +4,6,48 +6,14,15,16 +5,6,14,18 +4 +14,22 +6,14 +5,6,14 +3,6,20 +0 +14 +5 +3,4,5,6,14,16 +2,6 +6,14,17,20 +6 +3,5,6,16,39,50 +4,13,28 +2,5 +4,6 +6,14,34 +6,14,20 +4,5,7,24 +4,6,13,32,45 +4,12,14,29 +3,5,14,30 +5,14,23 +6,19,21,25 +6 +3,4,5,6,8,32 +6 +6,14 +5,6 +6,14,30 +5,6,25 +4,6,7,8,13,33 +5,6,20,28 +5,6 +5,6,14,17,30,32 +4,6 +2,5,6,14,17 +5,6,29 +5,28 +5,6,13,43 +5,14,25 +4,5 +6,12 +20 +6,18 +12,14 +4,5,6 +4,6,27,29 +3,6,20 +6,12,14,39 +5,6,14,16,46 +4,5,7,11,13,40 +6 +6,11,16 +14,24,28 +3,4,6,20,21 +4,5,6,10,36 +5,6,23 +6,7,15,28 +6,25 +4,6,10,14,20 +5,6,13 +6,12,39 +4,6,7,45 +6,20,45 +6 +5 +2,4,6,17 +5,6,7,14,22,46 +3,6,16,19,42 +3,41 +6,7 +3,6,7,17 +4,22,25,28 +6,15,38 +7,28,49 +5,6,7,25 +2,4,5,6,7,22 +5,6,17 +0 +6,14,19,22 +3,13 +3,6,13,33 +4,5,11,20,36 +6,22 +3 +7,14 +7,28 +4,48 +7,14,19,20,22 +3,6,14,22 +4,6,8,9,36 +6,11,22,25 +4,5,6,16,17,42 +3,14 +4,5,6,12,21 +4,14,23,39 +2,5,6,28 +7,14,20,35,36 +6,14,38,51 +6,36 +3,20 +5,22 +6,11,36 +5 +5,6,7,10,16,46 +5,6,12,14,15,25 +6,18,25,26 +4,11,38 +12,22,35 +6,16,49 +5,6,19,39 +2,3,6,20,49 +3,7,14,23 +8,14 +5,6,7,36,40 +5,6,27 +4,6,15,17,19 +3,5,6,7 +3,5,6,7,14,25,44 +4,5,6,22,25 +4,5,6,7,10,13,14,28,33 +5,6,15,16,24 +6,14,17,44 +5,6,7 +3,5,6,10,34 +5,6,25,29 +5,6 +5,6,44 +8,21,30,41 +6,9,15,39 +21 +5,7 +6,14,32 +4,6,30 +3,6,7,21,25,42 +6,32,47 +5,7,17,28,38 +6,20 +6,14 +3,5,6,30 +5,14,40,50 +5,13,21,43 +6,32 +5,6,12 +31 +3,30,33 +5,6,22 +5,6 +3,6,14 +12,28,51 +0 +5,11,14,15 +6,7,28 +6,46 +5,6 +2,4,6,17,22 +6,22,42 +6,14,17 +3,6,12,17,26,46 +2,4,6,7,20,21 +6,42 +3,4,5,6 +6,14,21,25 +3,6,22,43 +6 +4,6,7,14,17 +6,7 +6,14 +4,6,14,48 +0 +3,5,6 +6,7,19,36 +23,28 +46 +6,9,14 +3,5,6,32,35 +4,5,6,23,31 +6,7,12,21,29 +6,14,17,41 +13,36 +5,6,16,20 +3,4,5,10,16,43 +3,4,25 +5,6,8,14,17,22 +5,14,43 +6,16,42 +3,6,32 +25,26 +6,14,16,35 +15 +5,6 +5,6,25 +6,14,15 +6 +6,7,9,14 +2,6,7,21,46 +6,17,24,25,43 +5,6,14,46 +5,6,7,28,33 +20,49 +11,14,20 +2,6,14,20 +6 +6,14,35 +0 +6,15,20,28,32 +5 +6 +4 +6,14,17,25 +3,6,10,13 +5,8,22,46 +3,6,17,20,21 +7,28,49 +5,6,42 +10,20,25 +4,5,6,14,17,21,51 +25 +6,7,22,33,47 +5 +5,6,8,27,42,43 +14 +3,6,7 +6,9,24,47 +4,5,22,25,45 +4,6,34 +3,12 +20 +36 +6,11,22 +5,6,7,30,50 +14,22 +14 +6,25 +4,5,6,14,42 +2,6 +5,6 +3,4,6,14 +2,14,20 +26,40 +20 +6,19,22,25 +4,6,20,22 +5,6,15,17 +6,16,20,46 +6,15 +5,6,15 +6,38 +5,6 +6,14,22,34,36 +5,6,7,13,14,24,35,49 +3,6,36 +6,22 +6 +5,15 +5,6,14,16,28,48 +4,20 +6,7,18 +6,7,16 +35 +6,32,41 +5,6,18 +3,6 +6,23 +5,6,7,40 +3,5,7 +5,6 +6,49 +5,6,15 +4,6,21,25 +4,6,11,21,40 +3,5,13,14 +2,4,23,37 +5,6,17,27,43 +4,6,14,22,28,41,45,47 +6,14,19,50 +0 +5,6,20 +4,6,11,14,16,33 +3,5,6,39 +5,6,14 +14 +6,14 +5,6,17,22,29 +7,15,16,38 +5,6,7 +4,28 +5,6,21,25,28 +6 +6,34 +5,6,31 +5,6,12,17,23 +6,20,25 +6,14,22,44 +5,6,15,17,22,27 +5,6,51 +2 +5,6,41 +6,10 +2,3,5,6,24,25,31 +2,4,6,13,14,17,42 +3,5,8,14,20 +2,7,14 +5,6 +2,3,4,5,6,14,18,35,39 +6,42 +6,7 +4 +5,6,15,18 +2,6,12,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +5,7 +6,26 +5,6,14,42 +4,6,7,37,44 +6,28,33,47 +12,28 +5,17,22,51 +6,8,9,21,25,29 +4,6,22 +6,8 +5,6 +6,14 +5,6,13,41 +22,24,39,51 +6,14,17,25,31,42 +6,19 +6,14,35 +6,14,38 +6,12,14 +3,5,6,14,20,25 +5,6,28,48 +4,6,15 +4,12,46,51 +2,3,5,6,17,20,51 +5,6,26,28 +3,5,6 +6,29 +4,6 +4,14,41 +4,6,7,14,50 +6 +6,17,47 +5,6,8,14,20,21,25 +5,6,14,26,33 +6,16,17,28,29 +3,5,6,16 +3,8,44 +25,48 +6,28 +3,6,13,38,49 +0 +0 +4,5,6 +6,12,19 +6,7 +2,5,6,7,36 +5,6,7,14,21 +4,6,14 +6,17,42 +26 +5,13,14,39 +5,6,7,32,34 +2,5,6 +6,37 +3,14,41 +5,17 +3,14,16 +4,5,14 +5,17 +6 +6,16,22,24 +5 +3,14,20,29 +3,5,6,10 +13,14,18 +4,14,16,43 +7,33,43 +5,22 +5,6 +6,12,13,20,36,41 +6,22 +6,17,24,28 +0 +2,4,5 +6,20,43 +6 +6,10,14 +5,46 +4,6,32,38 +4,6,8,28,32,35 +6,14,19,20 +7,15 +6,7 +2,5,6,16 +6,17,42 +4,6,25 +4,6 +3,4,5,6 +5,6,7,19,21 +4,6,25,49 +7,30,31,49 +5,14 +6,12,14,28,37,48 +14,29 +6,14,32 +3,14 +6 +5,6,14 +6,7,25 +5 +5,11,23 +5,6,14,22 +0 +6,34 +6,19,20,24 +3,4,6,14 +6,7,51 +4,5,6,9,12,17,25 +14,17,18,19,22 +5,44 +6,25 +5,6,12,14 +3,5,6,12 +5,6,17 +3,5,6,12,13,47 +24 +6,15,22,46 +5,50 +6,20,46 +6,17 +6,12,14,19,25 +5,46 +6,19 +3,6 +6 +3,6,17,21,49 +5,6,12,28 +3,38 +6 +6,14,21,25 +5,6,14 +2,14,23 +3,5 +5,6 +6,17 +6 +6,7 +4,5,13,20,22 +3,6,32 +3,4,5,6,14,41 +2,16,42 +6,17,29 +6,14,21,48 +3,5 +2,6,14 +29,40 +5,6,30 +5 +31,38,39,49 +2,3 +7,14,17,20,31 +10,14,20,31 +6 +17 +5,6,14,47 +3,5,14 +6,13,15 +5,6,35 +4,6,13,20 +5,6,7,14,17,36 +5,6,19 +6,31 +5,6,14 +4,7,17 +2,5,6,14 +4,5,6,18,20 +19,42 +6,22,47 +3,6,42 +3,5,6,7,14 +6,14,15,32 +6,23,41 +6,14 +5,6,16,17,21,28,41,48 +5,6,13,20,44 +3,6,16,20 +6,13,14,28 +5,6,14 +2,17,25 +6,18 +6,9 +5,6,14,17,20,30,31 +4,6 +4,5,14,22,28,46 +6,14,17,25 +5,22,31,47 +4,5,6,7,44,46 +5,14,27 +3,16,42 +2,5,6,13,22,23,36,44 +3,4 +6,12 +3,6,39 +0 +6 +2,5,7,14,30 +6,16 +2,6,17,37,48 +4,5,6,13,25,42 +4,46 +2,17,22 +3,4,5,6,14,16 +21 +4,5,6,27 +5 +5,6,44,46 +6 +4,6,7,16,18,20,46 +2,3,4 +2,4,6 +2,5,6,11,14 +5,6,7,14 +4,6,11,28 +5,6,21 +5,6,13,17,20,21 +4,5,6,7 +6 +12,14,24 +5,7,14,28 +5,6,7,16,17 +6,30 +26 +5,20,36 +3 +3,5,6,19,20,25,35 +4,5,6,19 +17,36 +5,6,13,20,23,36 +3,4,5,6 +0 +4,5,23,25 +3,6,17,21,41 +7,17,22,38 +5,6 +4,6,14,25,34 +2,5,6,14,44 +6 +2,5,6,14 +5,7,19 +6,14,16 +6 +5,13 +2,16,20 +5,6,12,18,20,22 +38 +5,21,36 +6,14,25,38 +5,6,14,17 +0 +6,30,51 +6,14,25 +17 +3,5,14 +6,14,34 +3,6,8,42 +2,5 +5,6,30,40 +4,6,14 +3,5,6,7,39 +6,7,42 +6,17 +3,4,6,14,20,22 +3,5,6,9,47 +5,13,22,41 +23 +5,6,14 +6,17,35 +6,14,19,21,32 +5,6,17,22,48 +6,7,25,26 +2,6,49 +5,6,8,14,22,48 +6,14,15,18,22,28 +5,6,7,22 +14,29 +4,5,6 +6,10,13 +4 +5,6,21 +6,16,21,24 +4,28 +5 +5,6 +6 +6,14,17,20,22,42 +0 +4,6,40 +4,5,6,12,20,42 +5,6,14,37 +5 +12 +6,16 +6,15 +44 +5,6 +5,6,7,11 +2,14,22,42 +6,8,15,44 +5,14,49 +2,6,14 +14,20,49 +4,6,7,13,32 +2,20 +5 +50 +2,3,4,6 +4,6,18,44 +13,22,31 +3,4,6 +6,7,14 +5,17 +6,14 +6,14 +4,6 +5 +5,6,15,25,42 +5,30 +5,6,35 +3,5 +6 +4,6,50 +2,4,6,7,14,28 +6,14,27 +6,20,25,27 +6,14,17,22 +6,7,22 +3,6,21 +4,6,14,51 +3,5,38 +6,19 +2,6,25,42 +29 +6,11,18 +5,6,16 +2,5,20,25,30,42 +44 +6,20,28,42 +14,41 +5,6,14,40,44 +6,14 +5,6 +4,6 +6,7 +4,20 +9,14 +5,6,10,14,19,22,29 +3,11 +5,6,14,47 +2,3,5,6,20 +5,10,13,17 +23 +5,19 +0 +5,6,15,28 +6,12,14,17,25,29,42 +7,17 +3,6 +6,33,49 +3,4,6,7,21,25,42 +4,16,25 +6,8,14,20 +5,6,21,50 +3,4,6,12 +0 +3,6,14 +6 +5,6,14,40 +41 +6,7 +5,9,11,14,22 +6 +6,44 +5,10,12,20 +6 +14 +6,7 +5,6,20,44 +3,5,6 +6,7,25,46 +3,6 +3,5,6,16 +12,47 +6,22,33 +5,6,8,10,11,28 +6,10,12 +6 +6,20,25,31,48 +6,20 +5,18 +5,14 +4,5 +5,25 +5,6,15 +4,6,14,17,25,30,35 +6,10,23 +2,12 +6,14 +6,22 +2,5,6,14,17 +2,5,6,7,43 +6,13,40 +8 +14 +4,5 +3,6,14,28 +6,14,37 +6,8,20,21,22 +5,6,20 +5,20,25,32 +3,14,22 +3,6,7,8,29,35 +6,17,18 +22 +6,46 +4,6,11,14 +6,14,20,29,32 +3,6,25,37 +5,8,30 +5,6,14 +5,6,18,48 +2,3,5,6,33,51 +2,6 +0 +6,17 +6,14 +5,6,13,14,25 +5,6,7,13,29,30,49 +5,6,15,17 +4,15,46 +4,12 +5,6 +6,20 +5,6,14,30,35 +5,18 +6,7,12 +6,44 +6,7,17 +3,5 +12,16,26 +8,17 +6 +3,5,6,14,25 +2,6,29,40,42 +6,7,21,37,46 +5,6,26 +17,27 +5,6,20,35 +3,5,6,17 +4,5,14,25 +3,21,27,43 +5,6,20,40 +6,11,24,51 +5,15,18,22,28,30 +17,34,51 +5,44 +2,5,34,35 +3,4,6 +7,11,28,37 +5,6,14,22,28 +3,19 +6,14,24 +6 +0 +6,14,35 +5,16 +3,11,44,51 +4,5,6,8 +5,6,12 +5,6 +18,23 +6,27 +22 +3,7,21,39,49 +5,6 +5,9,13 +3,5,6,30 +5,6,31 +6,37 +5,6,9,12,20,25,28 +5,6 +5,17 +4,6,26 +2,6,7,8 +6,24 +5,6,10,42,46 +6,22 +3,5,6 +6,9,14,15 +4,13 +5,6,8,22,46 +5,6,35 +5,6,7,23 +6,13 +6,23 +4,5,7,14,18 +5,20 +21 +5,14 +0 +2,3,6,45 +2,6,12,17 +3,4,6,25,34 +3,6 +4,6,14,17 +6 +6,14 +0 +5,6 +6,13,14 +6,17,21,23,31 +6,18 +3,11 +3,5,14 +5,25,32 +6,8,14,22,44 +3,6,17 +6,7 +4,6,37,47 +3,12 +5,6,14,19 +5,6,12 +6,11,21,30 +4,6,12,22,29 +4,22 +5,6,9,20,21,22,46 +6,30 +5,6,19,20,35 +6 +5,6 +14,24,40 +4,5,6,14 +5,6,7,41 +14,45 +6,17,19,41 +19,21,33,34 +4,5,6,14,25,35,51 +20,29,35 +3,4,6,20 +9,10 +6,25 +14 +4,6,8,9,16 +6,12,14 +5,20,48 +44 +6,14,46 +4,6,9 +4,5 +6,7,14 +5,6,25,46 +3,6,14 +2,5,6 +42 +5,6,26 +2,6,17,34 +6,42 +3,14,22,29,42 +4,5,6,7 +5,6,21,25 +3,17,23,26 +5,6,7 +25,31 +6,13 +2,5,6 +6,12 +3,7 +6,21,34 +5,6,17,34 +6,13,14,41 +6,7,14 +6 +3,6,8,14,17,22,25,27 +6,49 +2,6,21,27 +7,14,18,22 +13 +6,12,16,24,43 +2,5,25 +5,6,14,33,43 +5,6 +5,6 +5,6,8,11,14,16,18,46 +21 +4,6,26,48 +3,4,5,6,7,17,47 +8,13,14,22 +6,17,22,25 +6,22 +6,7,11,28 +3,10 +6,14 +3,5,6 +6,12,26 +5,6,28 +6,14,33,36 +2,5,28 +5,6 +6,22 +6 +5,29 +5,6,10,26 +5,6,22,26 +5,6,7,16,46,47 +3,6 +6,15 +6,14,16,17,21 +4,5,6,46 +6,22 +6 +4,5,6,19,20,25 +0 +6,20 +44 +2,6,17 +4,6,20,28 +13,14,17 +5,6,12,17,18,42 +4,6,7,11,12 +26 +5,23,49 +6,25 +6,7,14,42 +5,6 +3,5,6,9,14,18,25,40,41 +5,19 +5,6,10,13 +4,6,7,14,17,38,49 +3,4,6,7 +4,22,28 +4,6,12,13,19,46 +6,46,49 +6 +2,5,6,12,37,43 +0 +3,5,6 +6,32 +3,50 +4,5,42 +4,5,35,39 +6 +4,15,29,49,51 +5,6,17 +7,12,13 +5,6,22,40 +4,6,14,22,25 +6 +5,27,28,29 +7,16 +4,6,7,14,18,48 +4,5,6,40 +4,5,6,13,49 +6,36 +17,19,35 +4 +5,6,13,14,48,49 +3,5,6 +4,5,7 +3,5,24 +6,27 +5,6 +6,8,14,17 +5,6,10,31 +4,6 +4,5,6,14,21,23,32,44 +6,17,41 +26,35 +5,6,7 +14 +4,5,18 +5,13,31,34 +6,14,20,21 +6 +6,14 +6,18 +3,14 +3,5,6,7 +6 +5,6,14 +28,43 +6,41 +6,14 +4,6,17 +6 +4,5,6,22 +5,6,14 +4,6 +0 +6,7,46 +6,7,20,36 +4,6,13,14,21 +4,14 +6 +21 +5,29 +2,13,19 +2,5,6,8,21,46 +3,6,12 +5,6,15,25,49 +7,29,35 +12 +6,31 +6 +25,30 +6,18 +28,32,47 +5,17,20 +6 +4,13,21,29,36 +17,29 +5 +5,6,7 +14,43,48 +5,25 +10,14,44 +6,12,18,27 +6,7,22 +6 +12,21,46 +6,12,14,17,22,29 +6,14 +4,6,14,19 +3,5 +23,39 +10,20,35 +0 +2,6,7,11,14 +6,13,24 +6,41 +5,6,7,28 +6,25,46 +4,5,7 +6,16,40 +4,5,14,19,22,49 +6,14,42,49 +4,6,12 +5,8,28 +6,19,25 +6,13,15 +5,23,30,42 +3,5,6,15 +6,19 +12,17 +6,7,20 +4,13,22,46 +6,47 +5,6 +3,5,6,20 +5,6 +5,6 +6,14,39 +5,17,28 +5 +6,20 +4,6,28 +6,19,38 +6,20,26 +11,19,28,33 +6,28 +6,25 +6,10,14 +5,6,14,16,25 +46 +5,6,14,17 +3,6,31 +6,14,15,17,21 +3,20 +12,14,34 +5,6,15 +14 +4,14,19,22 +6,12 +4,5,6,22,28 +4,5,6,24 +5,6,27,48 +2,6,7,41 +6,15,25 +6,45,47 +5,6 +4,6,17,22 +14,17,20 +2,3,5,17,21 +5,6,20,36 +4,6,14,15,21,37 +2,4,5,45 +3,5,6 +3,5,6,17 +6,14,48 +5,6,31 +6 +5,36 +6,42 +5,6,7 +2,6 +6,28 +6,43 +5 +4,6,7,14,18 +6 +5,6,31 +6 +6,21,38 +42 +3,5,6,12,19,33 +4,6,7 +6,9,22,35 +6,20,21,29 +4,6,14 +5,6,10,43 +4,5,6,7,12,28 +6 +6 +3,22 +4,7 +10,13 +3,6 +6,14,16,34 +5,6,25,42,48 +3,5,7,22 +3,4,5,6,7 +6,7,14,43,50 +5,6,7,14,38,49 +6 +5,6,22,30 +5,7,21,41 +6,14,42 +3,4,5 +4,6,20,25,44 +6,13,14 +6,23 +7 +4,14,22 +2,4 +6,7,17 +6,13,14 +5,6,17,46 +5,6,42 +4,6,38 +26,42 +5,28 +5,6,14,22 +21,50 +7,42 +5,8,10,42,51 +6,25 +5,6,28 +4,6,24,28 +6,11,14,21 +6,45 +4,6 +6,17,25 +2,6 +4,14,38 +5,6,10,16,39 +6 +3,49 +5,6,17,42 +6,22 +4 +3,5,6,20,42 +4 +5,6,15,20 +4,5,7,10,17 +6,17 +5,19,27 +3,5,7,24,29 +2,4,6 +5,11,12 +3,6 +0 +3,4,6,20 +2,6,8,14,18,28 +6,14,20 +5,6,28,41 +4,18,19,25 +3,5,6,12,20 +3,5,6,42,43,50 +6,17 +4,7,17,20 +6 +5,6 +2 +5,10 +6 +14 +6,20 +6 +2,5,14 +5,6,14 +6,14,42,46 +4,6,7,39 +3,14,42 +7,19,22,38 +3,6,44,48 +5,6,29,42 +6,41 +3,6,14 +5,6,15 +6,13,37 +3,4,22 +5,6,14,45 +2,6 +5,6,23,38 +2,6 +5,17,28,50 +5,6,17,29,43 +5,6,9 +4,5,6,22,27 +4,6 +5,6,20,22 +4,5,6,10,45 +4,7 +5,41 +6,10,15,38 +3,6,7,13,22 +3,6,12,22,39 +9,19 +5,6,13,14 +6,14,42 +6,12,14 +5,6,14,17 +5,6,7,15,20 +2,5,28,33 +6,21,47 +6 +4,5,6,42 +4,6,7,30 +6,10 +5,6,22,49 +7,17,31 +6,14,39,42 +14,50 +8 +2,3,5,6 +4,6 +17,39 +5,46 +6 +4,6,7,25,28,34 +3,5,33 +4,5,11,14,48 +6 +5,6 +5,6,49 +3,5,6,7,14,41 +6,30 +4,6 +5,6,12,22,40,41 +6,14,20,49 +5,14 +6,7,22 +2,4,5,17,48 +6,31 +5,11,17 +6,14 +6,14 +6,17 +5 +2,6,18,20,48 +5,6,25 +6,9,21,24 +3,5,6 +6 +5,6,14,46,48 +6,41,51 +6,14,20 +5,34 +6,14,16 +5,6,22,44,48 +3,6,16,19,29 +6,48 +5,6,14,51 +2,5,19,23,27,47 +0 +6 +6,21,46 +5,6,9 +6,18 +5,6,14,19 +5,6,12 +4,5,6 +5,7,8,11,17 +4,17,26 +17,37 +5 +5,6,24,34 +6,18,32 +6,14,22,44 +23 +6,10,14,23 +2,6,14 +6,10,35 +6,8 +3,6,12,39,45 +6,16,26 +4,14,44 +3,5,6 +6 +5,39 +3,13 +6,14,20,21,41 +3,16,25 +16,31 +17,32 +4,10,22,27 +6,15 +6 +5,6,13,18,20,22 +5,22,33 +5,6,20,22 +6 +5,6,7,45,48 +6,14,22,28,49 +3,6,14 +5,6,13,33 +44 +6,13 +4,17,22 +6,13,14,19 +5,14,22,35 +4,24,28 +6 +5,6,13 +6 +6,22,35 +3,6 +12,20,28,41 +3,5,6,14,46 +4,5 +2,36 +14 +6,7,14,21,33 +5,6,22,36 +6,13,21,22,28,35,44 +3,6,16,29,40 +4,6,22 +14,17 +6,19,22,29,38 +4,5,6,12,20 +4,5,6,7,13,30,38 +5,6 +3,37,44 +4,5,10,22 +6,8 +3,14 +0 +5,14 +6,17,26 +6,23 +5,6,16,17,19 +4,5,6,21 +6,7,9,17,31 +4,5,6,7,27,47 +5,6 +3,6 +6,16,27,41 +6,15,28,36 +6,15,22 +5,7,14,17 +4,5,6,12,17,31 +2,4,8 +6,21 +3,5,6,14,42 +6,14,17 +4,6,14,22,25 +7,10,40 +5,14 +5,6,41 +2,4,5,6 +6,16,31 +6 +5,6,17 +6,31 +8,22 +5,6,17,28 +5,6,14,18,51 +5,6,14,18,20 +6,16 +6 +6 +21 +5,6 +2,5,6,17 +6,7 +4,6,15 +5,14,29 +2,4,5,6,15,17 +6,20,22,25 +6,11 +2,36 +5,6,12,20,38 +3,6,16,17,19 +4,6,9,14,20,27 +6,7,14,21,37 +6,14,21 +6,7 +2,22 +6,7,36,46 +4,14,27 +6,16,20 +6,51 +6 +6,7,49 +5,6,7,49 +3,5,6,14,20,51 +6,13,14,30 +5,6,14,20,30 +5,31 +5,6,14,42 +5,6,11 +4,6,17 +4,5,6,7 +14 +5,14,30 +6,13 +4,17,21,46 +5,6,7,16,35,40 +5,6 +6 +6,31,44,45,46 +5,14,19 +5,10 +6,18 +6 +4 +6,9,17,22,25,35 +6,19 +3,20 +2,23 +3,6,14 +5,6,20,22 +4,5,47 +6 +6,18,22,50 +6,11,17 +3,10,20 +6,37 +6,14,24 +19,20,25,40,43,47 +3,25,45 +6,25 +2,3,5,6,15,20,46 +6,14 +4,5,6,12,25 +6,17,20 +14 +4,5,6,12 +2,7,13,28 +6,17 +6,20 +6,7 +4,5,6,14,44,46 +6,16,33 +6,23 +0 +0 +6,9,14,17,28,30 +4,6,29 +2,34,43,47,48 +0 +6,25 +2,6,7,21 +5,24,28,40 +6,14 +5,6,7 +2,4,5,6,16 +5,14,20,50 +6 +5,6,21 +4,5,14 +0 +6,14,15 +4,5,6,19 +5,17 +14,21 +0 +4,6,7,26 +0 +3,6,8 +6,20,26,51 +5,7,14,20 +3,5,6,21,26 +6,15,42,49 +5,6 +6,17,20 +5,6 +4,13,14,16,20,37 +47 +6,22,23,42,49 +5,32 +5,13,17,22 +5,6,21 +6,14,20,22,28 +3,6,7,17,51 +4,5,6,7 +2,3,5,6,43 +3,6 +5,6,7,37 +15,32 +6,50 +2,3,21 +5,6 +4,6,15 +5,6,22 +6,14,29 +5,6,14 +3,6 +5,6,20,45 +4,6 +6,8,17,39,41 +6,12,23 +4,6,10 +17,22,39 +6 +3,5,6 +17,23,34,38 +3,36 +4,5,6,13,14,19,25,35 +6,7,14,18 +5,7,9,25,27 +5,13 +33 +4,40 +6,23 +17,21,42 +20 +5,6,25,33 +2,3,20,39 +5,6,16 +14 +5,7,17,21,29 +6,7,21,32 +5,6,7,14,15,21 +6 +6,14,25 +5,6,32 +6,12,21 +4,5,6,12,17,46 +20,38 +18 +5,6,14,37 +6,41 +2,19,29,35,45 +6 +3,5,6,14 +5,6,17,20 +3,6,44 +3,6,13 +4,14 +6,7,12,42,50 +6,19,34,36,43 +6,20 +3,6,35 +6,15,21,25,28 +4,5,14 +6,7,12,14 +3,6,20,41 +6 +6,11,19 +5,6,38 +14,17,18,20 +5,6,41 +6,14,18,42 +2,20 +5,8,11,26 +6,13,25 +6,14,43 +6,24 +6 +5,6,13 +5,50 +3,13,14 +6,14,21 +5,6 +2,7,10,17 +39,51 +3,4,6,14,42 +5,6,34 +6,7,14 +17,20,37 +4,22 +5,6,11,14,22 +6,13 +6,25 +5,6,7,10 +5,6 +6,25,26 +6,14,25,46 +6,14 +4,14 +6,22 +6,14,20,22,28 +3,6,7,10 +14,24,42 +5,6,13 +6,14,42 +6,13 +6,14,32 +5,6,14,42 +3,6,17,28,42,47 +6,10 +3,12,16,25,28 +4,6,7,13,14 +3,6,14,49 +5,6,18,24 +5,6,10 +6,7,47 +6,22,48 +6,20 +4,6,17,22,25 +6,22,33,39 +5,6,11,14,30 +5,6,21 +3,23 +0 +0 +6,21 +2,4,6,10,14,24 +3,6 +2,14,22,29 +12,22,42,48 +6,20,33 +5,22,36 +4,5,6,7,17,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +3,17,21,31 +3 +3,6,25 +6,13 +11,14 +6,17,34,41,42 +6 +5,6,13,16 +20,28,34 +2,6,7,17 +5,6,20,36 +6,14,20 +4,6,9 +0 +6,12 +3,5,31,39,47 +5,6,16,23,34 +5,6,17 +6,14,18,21,42 +6,13 +3,4,6,43 +5,6,14,21,35 +5,6,12 +4,5 +3,5,6,12 +11,45 +17 +5,6,15,17,19 +5,6,28 +2,6,19,25,47 +5,6 +6,48,51 +5,8,17 +6,38,49 +5,6,12,23 +4,5,6,45 +4,5,6,28,29 +6,29 +2,7 +3,5,21,36 +7,12,17,21,25,38 +6 +6 +17,19,31,42 +5,6,22 +6,7,19,36,42 +5,6,14 +6 +3,6,7,38,46 +5,17,43 +6,14,21,28 +6,11,21,48 +5,23,47 +8,22,40 +6,16,20,42 +5,6,12,13,14 +5,6 +5,6 +4,5,6,32,50 +5,6,15,20,23,26,44 +6,14,20,28 +4,9 +33 +6,7,12,13,17,28,42 +0 +5,6,13 +3,4,5,6,22 +28 +6,15,51 +11,12,14,15,25,32 +3,4,5,6 +33 +6,44 +6,24,26 +5,6,38 +6 +6,51 +3,6,12 +5,6,21,42 +3,6,20 +5,17 +5,6,7,22 +4,6,7 +6,16,30,38,47 +6,18 +4,6,7,12 +6,19,22 +2,14,48 +3,6 +3,4,6,7,14,21 +4,5,6,17 +6,17 +5,6,14 +6 +3 +3,6,7,14,18,19 +17,22,31 +0 +4,6,19 +4,6,12 +4,5,6 +5,6 +0 +3,6,23 +2,6,7 +6,14,39 +3,4,17,42,48 +6,14,19,29 +3,5,6,46,48 +12,13,22,44 +20 +3,4,5,6 +38 +6,20,33 +2,6 +4 +3,6 +14,17 +6,14 +5,6,21 +5,6,7,17,18 +5,6,7 +6,14,17,25 +3 +4,6,14 +6,7,22,25 +5,14,17,28 +7,16,18 +6,14 +6,29 +5,6 +5,6,11,26,32,48 +6,17,43 +10,16 +6,14,40 +2,5,6 +4,5,6,12,22 +5 +2,6,14,32 +4,5,6,19,27 +4,6 +8,13,22,39 +3,5,6,10,28 +4,6 +5,31 +3,4,6,13,20,22,28,43 +4,5 +3,5,6,12 +7,13,15,44 +14,46 +6,14,27 +0 +6,9,23 +6 +5,6,14,25,42 +46 +5 +0 +6,20 +4,6,17 +4,5,6,10,35 +5,25 +5,37,38 +4,6,23 +3,5,6,15,21,25 +5,6,10,14,17 +3,6,28,30 +6,21 +3,6,14 +4,8,13,19,31,48 +5,6,25,29,42 +6,27 +3,12,22 +6,14,41 +4,32,48 +0 +3,5,6,21,47 +6,8,19,42 +17,25 +5,6,20 +4,6,51 +6,8,22,36 +5,6,29,46 +5,26 +6,20,21,45,48 +5,6,7,14,27 +2,5,6,7,20 +5,6,14,20,42 +5,18 +5,6,7,17 +5,6,14,20,23 +6,7,40 +6,12,14,40,51 +3,4,38 +5,14 +5,6,7,22 +6 +6 +5,22 +2,3,22 +19,20,21,48 +6,14,22 +6,14 +2,4,6 +4,6,9,21,41,47 +5,13,46 +5,6,11,14,19,23 +4 +5,7,17 +2,5,10,20,49 +3,6,22,36 +3 +2,5,6 +2,6 +2,5,6,20 +0 +4,5,6 +4,6,7,14,43 +26 +6,44 +3,6 +4,5,6,29,48 +0 +5 +3,4,6,14,16,20,22,25,47 +14,32 +2,6,14 +2,6,14,25 +4,5,6,8,14 +4,5,6,14,28 +4,5,7,20,22,49 +6,12,20 +4 +6,7,11 +6,13,22,23 +5,6,15 +5,17 +11,14 +5,27 +3,6,14,32,42 +5,11,32 +2,5,6,33,50 +6,7,22 +29 +5,6,14,22 +5,6 +5,6,17 +3,5,6,7,18,26 +4,5,6,14,22,26 +4,6,25,48 +3,5,10,12,23 +6,27 +6,46 +4,6,15,17,20 +5,6,22 +6,14,32 +6,14,23 +6,25,38 +6,14,15,42,44 +5,6 +6,17,23 +5,6,14 +6,14 +3,4,6 +4,5,14 +2,6,14,34,35 +6,25 +3,6,14 +5,6,17 +6,38 +6,14,17,44 +6,7,13,14 +2,3,5,6,8 +2,5,7,40,49 +3,6,12,14,22,23 +7,12 +6,14 +3,6,25,29,34 +6,19,20,26 +3,6,19,26,27 +5,6,14 +6,12,17,19 +6,30,46 +3,5,6,20,22 +28 +2,14 +4,5,6 +5,6,22,27,33 +6,26,43 +5,6,13,41 +6,7,9,11,29 +5,6,8 +19,33,48 +17 +6,7 +5,20 +6 +8,14 +6 +4,5,6 +6,14,25 +9 +6,29,49 +12 +0 +5,6,9 +6,14 +3,5,6,39,40,48 +5,6 +5,6 +3,14 +6,17,33 +26 +3,5,6,13,14,32 +3,7,25 +6,17,23,24 +5,6 +3,4,6,7 +6 +4,5,14 +5,6 +2,5,6,16 +2,15,22,51 +17 +2,4,6,36 +14,34 +3,11,14 +5,12,28 +6,20 +4,5,6 +5,6,14,20,22 +4,10,13,19 +5 +4,14 +6,8,18,23,42 +5,6,14,27 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +5,23,44 +3,5,6,12,26 +6,15,30 +5,6,14,17,44 +3,6,10,17,20 +0 +6,17 +0 +3,5,30 +4 +5,6,10 +4,6,11,16,25,29 +5,6,14 +5,6,14,22 +5,43 +2,4,5,6,22 +0 +5,6,13,36 +3,6 +2,15,21,37 +2,4,6,18,29,35 +3,14 +6,14,34,47 +7,14,22 +4 +5,6 +5,6,19,25 +6,22 +4,5,6 +6 +6,43,46 +6,12,13 +6 +3,31,34 +49 +6,7 +14,15,16,25 +12,17,22 +6,23,25 +5,6,7,22 +2,8,31 +3,6,20 +5,6,23,29 +6,17 +2,14,21 +12,14,44 +5,8 +12 +2,3,7,30 +4,41 +6,10,23,25,35 +17,27,28 +6,14 +4,14,20,22 +4,5,6 +6,14 +14,26 +4,6,13,21,25 +20 +6,12,14,25 +6,14 +6,43 +4,6,7 +6 +5,6 +6,18,19 +6,14,28 +4,6,19,20,33 +4 +2,6,22 +5,6,8,28,34 +5,6 +6 +6,7,49 +6 +5,6,14,16 +2,6,25,37 +3,19,47,50 +18,25 +6 +4,5,6,9 +3,6,11,15,19 +4,6,38 +13,17 +6,17,18 +5,6 +13,17 +3,6,14,19 +3,30 +7,16 +5,6,7 +0 +2,47 +3,25 +12 +5,14,20,33,43 +5,6,23 +3,5,6,14 +5,14,38,40 +6,7,20,22 +5,6,7,14 +3,5,6,22 +6 +6,25 +6,14,17,41 +5,14,21,25,33 +5,6,25 +5,6,22 +6,37 +5,6,19,29 +4,6,42 +5,6,13 +6,12 +6,13,17,46 +6,14,16,28 +4,6,14,38 +6,11,15,22,25 +6,10,35 +6,8,12 +6,9,12,13,33 +6,14,17 +3,5,6,16,17 +4,6 +14,22,51 +4,6,21 +2,4,6 +6,13,14 +6 +14,35 +6,9,32 +5,6,25 +3,5,6,22,25 +6,19 +14 +6,28 +3,4,6,14,41,46 +4,5,6,9,14,20 +3,6,11,16 +6,7,18,22 +6,29 +5,6,16,33 +2,4,6,13,35 +4,6,22 +5,6,20,26 +5,6,14,20 +2,17,23 +6 +6,16,22,30 +4,6,7,17 +4,5,6,22 +6,17 +6,40,41 +6,22,26 +3,4,5,6,16 +4,6,29,36 +6,33 +14 +4,5,6,7,22,25 +7,9,14,19 +4,5,14 +2,4,5,6 +6,11,35 +6,45 +2,6,15 +6,14,48 +6 +6 +6,14,27,33,35 +5,6,13,19 +5 +6,32 +4,5,6,15,17,18 +6,26 +5,6,13,45 +21,23 +6,14 +6,14,18 +6,12,17,22,27,31,41,43 +6,14,49 +5,14 +6,14,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +5,6,13 +6,7,22,33,35,42 +2,6,18,38 +0 +6,10,13,49 +4,5,22,45 +5 +3,6 +5,14,20,28 +4,6 +3,6,29 +6,7,10,13,17 +5,21 +5 +5,14,22,35 +22 +2,3,6,21 +5,6,12,14,25 +6,13,29 +5,6 +5,6 +5,6,14,16,36 +6 +4,7 +5 +5,6,46 +4,5,6,17,33 +5,6,7,22 +0 +6,12,22 +6,33 +5,13,17 +6 +6,37,46 +7,10,14,15,26,28 +6,14,43 +6,12,20,28 +4,14,17,25 +4,5,8 +3,5,8,41,42 +4,8,14 +3 +5 +3,6,22,25,45 +29,43 +2,5,6,9,14 +4,5,6,12,17,27 +6 +19,22,41 +2,6,22,30 +6,42 +6,10,14,35,42 +2,6 +6,7,49 +6,13,45 +6,22 +15 +6,14 +6,16,19,26,41 +5,6,25 +4,20,22 +6,7,17,37 +3,5,6,14,19 +3,6 +17 +22,42 +7,8,12,22,38 +4,5 +4,5,7,10,22 +6,7 +6,17,42,46 +4,5,6,19,44 +5,6,35 +4,5,6,10,24 +5,6 +4,5,6,33 +6,13,21 +23 +5,33 +6 +8,17,29,41 +3,5 +6,13 +4,6,7,25 +6,14 +6,14 +6 +5,6 +5,6,13,17 +5,14,24 +3,4,9,12,14,17,20 +48 +22 +6,39 +4,5,8,10,31,49 +5,6,14 +6 +13,14 +4,5,8,20 +5,6 +6,7,12 +0 +4 +5,14,18 +6 +6,11,25,46 +3,6,10,14,46 +5,6 +19,20,28 +3,5,6 +6,7,40 +6 +6,12,14,22 +5,6,14 +5,6 +4,6,14,38 +6,13,26 +6 +5,6,18,29 +5,47 +6,14 +48,49,50 +3,6,14,44 +5,7,12,27,42 +5,6,12,14 +5,6 +6,14,22,30 +6,25 +2,5 +5,6,11,37 +5,6 +6,7 +6 +6,45 +3,6 +4,6,14,17,18 +5,6,14,42 +4,6,8,23,27 +6,14 +6 +5,6,21 +10,14,19,21 +6,36 +6,12,18,22,23,25,42 +4,6,7 +3,6,30 +6 +3,6,22,23,26 +5,8 +3,5,6,10,15,17,18,28 +10,14,27,43 +6,7 +6,12 +13,17 +6,13 +6,12,14,17,24,27 +5,11,33 +5,6,13,19,25 +6,19,35 +0 +6,14 +6 +6,12,47 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +6,14,22 +17 +3,6,17 +18,42 +6 +5 +2,20,30,33,38 +4,6,7,12,22 +5,6,20,25,47 +3,5,6,21 +4,6,7,47 +4,50 +6 +6 +6,10,30 +6,21 +5,6 +6,22 +4,6,14 +5,14 +5,6,18 +6 +2,3,5,14,25 +5,20 +14,15,48 +5,6,7 +33 +6,23,25 +6 +4,6,14,23 +4,5,8,25 +2,6,10,14 +6,12 +5,6,23,35 +23 +6,14 +4,5,6,30,46 +3,6 +5,6 +6,15 +6,25 +3,4,14,19,36 +4,6,17,20 +7,46 +6,7,10,16,17,26 +6,19 +12,15,48 +6,35 +5,6,14 +4,5,21,44,49 +6 +0 +6,27,36 +6,7,14,26 +6,20 +5,6 +4,6 +5,49 +2,3,5,17 +6,14,50 +14,27,30 +5,6,10 +4,6,11,21,26 +16 +5,6,7,21 +6,16,18,22 +6 +4,26 +3,5,6,21 +6 +14,22 +6 +6,24 +5,6,14,15,25 +5,6,38 +5,6 +3,6,11,13 +6,30,38 +4,5,40 +6,10 +6 +5,14,20 +2,3 +6,7,16 +3,4,6,12 +27 +6,14,20 +47 +6,14,20 +6,9,27 +6,33 +6 +5,6,12,18 +3,5,6,7,51 +5,6 +5,23,39,41 +6 +0 +2,5,6 +6,22,45 +30 +5,9 +14,25 +14 +3,29,45 +6 +5,6,7,16 +3,4,6,17 +15,22 +5,6 +6,17 +5,6,48 +6,14,18 +25 +4,6,19 +6,14,25 +3,21,29 +5,6,14,22 +6,13,14 +4,6 +4,5,6,20 +5,6 +4,6,13,22 +5,6,11,48 +3,6 +14,42 +4,5,6,15 +2,6,11 +6,22 +4,5,13,17,25 +4,5,6,25,27 +14,22,28 +5,6,19,46 +6,14,17,23 +6,7,11,30,46 +4,6,22 +3,4,6 +39 +6,14 +6 +6,25 +3,4,15,42 +2,5,14,20,34 +0 +5,6 +6,29,48 +3,4,6,14,17 +6,12,20 +6,15 +6 +5,13,21 +3,6,19,27,30 +5,6,17 +21,34 +6,14 +5,6,7,14,30 +6,14,30 +6,19 +5,6,25 +5,19 +5,6,11,12,14,35 +3,6,7 +6,14 +5,6,25 +7,46,49 +5,6 +5,6,25 +6,11,14 +2,4,5,6,8,14,51 +15,16,33 +6,40,41 +8 +4,6,7,17,20 +3,6,14,36 +3,6,42 +2,3,6,18 +6 +4,6,11,14,17 +4,5,6,14,33 +6,8,14,39,45 +5,6,13,14,18,22 +6,9,17,41 +5,6,7,14,15,23 +3,6,7,14 +3,13,14 +6,14,25 +4,5,6,46 +3,6 +6,17,34,41 +3,5,6,14,36 +6,22,33 +5,17,21,25 +3,6,20,34 +5,17,25,49 +3,6,16,25,40 +3,5,6,20 +6 +7 +6,7,18,33 +5,6 +13,16,22 +6 +5,8,22,41 +18,49 +6,31 +5,6,14,21 +6 +5,6,47 +15,45,48,51 +4,5 +6 +7,29 +4,6,8,22,29 +5,6,10,22 +4,6,13,25,37 +6,49 +5,49 +6,8,14 +6,7,25 +6 +3,6,17 +2,4 +4,6,12 +6,22 +2,3,4,5,6 +7,17 +6 +4,5,6,14,22,32,48 +5,6,25 +4,6,16,48 +5 +0 +3,10,11 +16,20 +6,19,32,35,41,42,49 +5,6,12,14 +6,7,23 +3,7,23 +17,31,46 +13,15 +5,6,13,14,43 +4,8,20,43 +6,10,28,32 +4,6,14 +6,21 +14,19 +5,6,14,18 +2,4,5 +6 +6,31 +5,6,14 +3,6,7,14 +6,17,26,43 +5,7,14 +6,39 +6,16 +2,6,17,38,43 +5,7,12 +3,6,17,46 +5,6,7,17,19,21 +6,40 +3,6 +6,22,49 +4,5,6,14 +6,14,30 +6,13,28,38 +3,5,35 +5,6 +7,16,27 +6,29 +5,6,14 +6,29 +4,6,7,25,33 +6,17,18 +3,6 +6 +22 +4,6,14,34 +5,6,46 +4,5,6,15 +19,20,24,36 +3,4,14,17,20 +6,14,16,22,28 +9,14,15,16,48 +0 +47 +6,8,13,20,46 +5,42 +3,6,39,48 +6,10 +6,17 +5,6 +5,6,7,9,14 +6,49 +6,7,14 +6,10,14,16,17,40 +2,4,13,14,25 +2,5 +5,17,25 +5,6,25 +6,50 +4,6,7 +5,6,28,47 +6 +4,5,6,22,44 +5,7,9,12,20,28,32 +6,14,46 +14,19 +4,5,6,10 +6,22,29 +4,6,28,29,46 +5,6,17,35,48 +5,6,30,49 +5 +5,6,10,28,42,49 +5,6,13,14,18,45 +4,6,25,37 +5,6,12 +4,15,39 +6,15 +22 +5,6,13,25,27 +3,4,6,35 +6,28,38,42 +6,14,16,25,36 +5,12 +5,6,14,15,25,26 +6,7,13 +6,30 +4,6 +4,6 +6,12 +3,6,7,42 +3,5,6,48 +6,15,50 +4,5,12,14,15 +6,7,13,14 +2,4,6,9,17,33,34,37 +6,14 +5,6,39 +3,6,14 +3,5,6,7 +4,6,11,39 +4,5,7 +6 +5,22 +6 +6,7,14,45 +35,50 +2,6,12,43 +3,6,8,19 +3,5,6,18,43 +3,14,16 +2,4,17,21,29 +4,5 +5,6,7 +6,22 +6,13,19,22 +5,6,14,17,34 +2,6,30 +5,6,10 +6,31 +21,30 +4,6,18,25,30,49 +0 +6,14,34,46 +4,6,12,25,50 +4,13,15,17,44 +3,6,11,48 +7,14,45,51 +4,5,6 +37 +3,12,14,15,44 +2,4,6,23 +4,15,29 +6,15 +6,28 +5,17,20,27,37,48 +5,6,7,14 +7,48 +5,6,7,10 +2,5,6,14,17,32 +6,28 +5,6,32,46 +7,41 +6 +5 +5,6,30 +6,14 +5,6,22,30 +44 +6 +6,22 +4,5,6 +6,12,50 +3,5,6,17 +3,6,28 +5,6,44 +6,14,21 +6,8,13,14,33 +14,21 +5,6,8,25 +4,14 +5,6 +6,7,15 +3,14,22,24,38,48 +6 +5,6,14 +3,4,5,28,40 +5 +4,5,6,24 +2,4,10,14,38 +3,6,12 +4,5,7,15,25,37 +10,17,22 +6,14 +2,5,6,17,31 +5,6,14,38 +6,14,17 +6,7,49 +6,25,40 +5,6,14,35,40 +6 +4,6,27,33 +5,6,14,22,25 +6,21,22 +3,5,17,18,42 +4,6,44 +3,37 +3,6,20,44 +5,6,12,14,32 +6,10,33 +2,7,18 +5,6,13,38 +3,6,7,11,15,30 +3,14 +3,5,6,26 +5,6,11,13 +5 +5,6,26,35 +4,5,6,19 +4,5 +6 +0 +6 +4,15,26 +6 +4,6,12,13,14 +4,5,6,15 +5,42,43,49 +6,14,17 +6,19,29,49 +6,14 +5,6,14,17,18,43 +6,17,31,42 +5,6,51 +6,37,47 +6,16,26,38 +10,15,18,37 +4,6,21,27 +17 +3,6,25,33 +3,5,14,15,17 +4,5,6,7 +3,4,5,6,22,41 +6,41 +15,38,42 +5,6,11,21,49 +6,50 +7 +3,4,6,20,22 +10 +5,6,22,43,50 +5,6,16,17,25 +15 +4,5,6,10,14 +6,21,42 +4,6,7,41 +4,5,6 +6,7,9,20,25,42,51 +5,6,20 +4,5,7,21,25 +4,25 +4,6 +2,5,6,17,22 +6,15 +6,12 +5,6,14,22,46 +3,6,28 +6 +5,14,49 +6,7,14 +5,6,14 +5,6 +6 +4,5,39 +5,6,30,33 +6,14,16 +6,8,10,14,48 +6 +6 +3,6,28 +4 +2,6,25 +5,16,18,20 +11 +3,6,44 +23,35,42 +6,39 +13,26,45 +6,9,28 +6 +5,12,29,34 +10,20 +5,6,14,20,31 +5,7,18 +4,5,13,22,41 +11 +14,18,41 +6 +3,6,7 +5,6,7,14,35 +5,6,19 +6,14,20 +4,5,6,7,11,14,38,42,43,44 +2,4,6,22,23,41 +18,20,23,33 +6 +2,4,6,37 +3,6,7,41 +5,9,18,28 +6,12,14,25,30,41 +25 +2,3,5,6,16,41,45 +6,7,22,23,47 +4,6,12,13,14,21,50 +5,12,14,17,22,26,28,39 +2,3,6,41,43 +5,6,7,18 +6,22 +6,14,17 +6 +6,13 +0 +2,13,14,22,31 +5,6,8 +6,21 +5 +6 +5,6 +5,6,8,28 +4,5,13 +5,7,14 +4,5,6,13,14,17,31 +4,5,6,16 +6,21,36 +3,5,6,15,40 +2,6,10,22 +6,7,22 +3,5,6,17,21 +6 +5,6,13,17 +5,6,21 +6,16 +5,6,9,11,13 +3,6,7,10,14,15,16 +6,7,22 +6,11 +4,6,12 +4,6,14,38 +6,14,29 +6,41 +5,6,41 +6,17,26,35 +3,4,6 +0 +6,7,26,40 +2,5,6,7,30,38 +5,6 +6,7,12,17 +5,6,20 +21,26 +2,5,6,28 +2,4,6,34 +36 +6,12,14,32,34 +6,12,28 +11 +5,12,14,36,42 +7 +0 +17,28,46 +6,50 +4,6 +5,6,17 +6,14,22,31 +6,14,17 +3,13,17,25 +6,13,46 +2,3,12 +3,5,6,22 +4,5,6,7 +6 +3,4,6,12,21 +5,14,21 +36 +2,6 +2,6,28 +5,6 +5,6,14 +3,33 +3,5,25 +6,7,13,14,22 +6,46 +3,6,22,41 +47 +3,5,6,7,19 +3,6,17 +10,28 +5,6,45 +6 +17 +6,24,47 +6,10,17,27 +5,6,7,8,32 +3,6,7,22,38 +6,14 +5,6,12 +6,17,30 +3,6,10,12,15,26 +2,6 +2,4,8,25,35 +4,5,6,14,22 +6,14,15,42 +4,14 +5,6,40 +16 +6 +13,19 +6,10 +6,14,21,36 +3,6 +3,22,43 +6,15 +3,4,6,16,25 +2,6,14 +3,4,6,27 +2,14,22 +6,14,21,27,47 +5,17 +3,5,10,13,41 +5,6,51 +6,20,25,34 +38 +6,7,12,14,22 +4,6,14 +0 +4,5,6,41 +4,6,13 +5,6,9,14,46 +2,6,14,18,20 +5,6,23,41 +6,25 +4,5,6,7,14,21,22,25,26 +3,6,21 +6,23 +5,14,15,27 +15,33,34 +3,5,6,23,28,42 +5,12,14,24,30,35 +3,6 +6,45 +6 +6,20,47 +6,40 +7,28,45 +6,17 +6 +6,7,45 +3,6,42 +4,5,6,16 +0 +42 +5,6 +4,5,17,22,26,43 +5,6,14 +7,10,21 +4,17,44 +6,14 +6,10,17,34 +6 +6,14,21,30 +5,21,37 +6,12 +6,15,22,46 +3,5,6 +6 +14 +3,6,7,10,14,25,49 +3,5,22,42 +3,13 +6,14,29 +5,6,14,17 +4,5,6,7 +25,34,49 +6,15,17,18,20 +6,8,50 +2,6,11,48 +5,6,28 +5,6,7,19,29,32 +3,14 +4,5,14 +3,46 +3,4,5,14,17,44 +3,5,6,25,27 +3,5,6 +5,14,23,48 +6,22,26 +6,14,20,21 +6,13,21 +6,20 +5,6,14,27 +5,12,14,17 +5,6,46 +4,6,7,14,20,25 +3,4,5,6,7,8 +6,14 +7 +4 +5 +3,5,6,10,33 +2,4,7,14 +3,5,6,22 +5,6,14,36,50 +5,15,18,26,28 +5,6,20,39,50 +2,4,6,13 +3,5,6,15,22,25 +5 +2,6,28 +5,6,28,36,41,45 +14,27 +3,5,6,20,22 +6 +0 +6,46 +6,9,17,38 +4,6,10,42 +3,5,6,27,41 +5,6,38,43,44 +5,6 +3,5,6,27 +0 +6,7 +6,7,17,20,26,44 +6 +5,6,14,28,41 +6,14 +4,8,28 +5,6,13,15,19,20,25,35 +6 +13,14 +4,6,22,23 +6,17,41,44 +2,5,7,25 +4,6,8 +2,15 +3,5,26 +5,6,26 +5,6,15,19,25 +2,4,5,6,30,46 +2,4,6 +5,6,14 +4,6,13,38,42 +5,6,14 +4,6,36 +0 +22,48 +3,5,7,11,20,23,42 +2,5 +6,41,42,47 +6,38 +6,15,19,30 +6,49 +6,11,15,19,22,36 +5,6,10 +3,6,22,49 +4,6,14,17,23 +2,5,6,45 +6,28,46 +3,6,19,38 +3,5,6,14 +5,6,14,19 +6,22 +4,6,7,9 +3,6 +6,35,40 +6,18 +6,25,50 +6 +17,22 +5,6,13 +5,6,7,46 +5,6,20 +3,6,7,22 +4,5,6,10,49 +6,14,26,28,49 +5,6,9,14,21,22 +4,5,36 +6,12,14,38 +3,4,6,32 +3,5,15,17,20 +4,6,17,20 +14,38 +5,6,30,32 +4,6 +5,6,14 +4,6,48 +8 +4,6,14,21,25 +5,6,10,17,41 +5,49 +4,6,28 +25,30 +6 +12,14,17,21 +3,6 +3,5,6,7 +5,6 +5 +5,6,10,14,19,46 +5,14,42 +6,7,14 +6,13,18 +3,6,43 +5,6,22 +3,4,5,6 +7 +3,4,6,14,17 +6,14 +3,6,14 +6,22,32,35 +2,4,5,6,15 +6 +5 +4,6,8,14,26,46 +5,6,8,15,17 +6,12,20 +6,20,26 +5,6,20,25 +5,6 +4,6 +5,6,7 +15 +5,6,22,28,29 +5,6,19,25 +6,21,25,31 +22,33 +6,13,15,21,28 +6,14,17 +2,6,22,23 +5,17,20 +4,5,6,20 +4,6,12,19,30 +4,6,28 +4,6,18 +14 +5,6 +5,6,14,31 +0 +4,6,7,15 +4,6 +14 +5,6 +6,7,29 +3,5,6,22 +5,6,17,20,32 +6,20 +6,32 +5,6,7,22 +6,7,10,27,36 +5,6,17 +6,21,41 +0 +13 +7,18 +3,6 +5,6,39 +3,5,12,14 +2,5,6,10,14,22,23,33 +46 +4,6,12,17,22 +6,7,37 +6,20,25 +2,6,7,11,24,47 +5 +5,6,14,20 +6 +3,6,9,47 +49 +6 +5,6,7,19,25,45 +5,6 +14,46 +5,6,20 +6 +5,14,17,19,41 +6,11,29 +5 +6,23 +3,4,14,22 +14,48 +3,6 +35 +0 +6,28 +0 +6 +5,12,17,20 +3,4,11,15,28 +5,6,9,14,22,34 +4,20 +20 +6,17,19,41 +6,7 +5,13,16 +5,6,10,15 +3,6 +28,40,47 +6,17 +3,14,21 +3,5,6 +5,6,17,18,37 +4,25 +2,6,14 +2,6,32 +5 +8,17 +3,5,6,7,14 +4,6,13,14,17,23,32 +16 +5,6,14,42 +5,6,35 +3,5,6,7,17,22 +4,6,18,41 +3,5,6,42 +6,12,14,48 +6,29,51 +4,6,14,16,31,48 +6,17 +5,6,17,29 +4 +13,22,45 +6 +6,31,34 +6,16,30 +2,6 +6,19,29 +5 +6,16,25,29 +6,20 +5,6,24,34,51 +5,6,14 +3,5,6,12 +6,30,43 +5,6,14,18,22,23 +6,17 +8,10 +4,5,6,8,14,22,27 +2,3,5,6 +3,4,5,6,14 +6 +5,6,7,13,14 +5,8 +4,6,15,23 +6,14 +28 +6,14,19 +5,6,14,41 +5,6,14,28,42 +6,16,27,28 +2,6,14 +6,27 +3,6,18,22,42 +4,6 +5 +6,18 +4,5,6,28 +3,6,12,13,20,24 +5,6,13,14,17 +7,11,28 +4,6,21,22 +6,8 +3,4,6,12 +3,6,14 +4,6,7,8 +6 +5,6 +14 +3,5 +30 +6,16,17,36 +6 +6,10,36 +5,14 +6,14,25 +42 +4,5,6,14,21,26,47 +14,25 +6,14 +6,13,16,37 +6,13 +6,51 +4,5,6,29 +6,34 +5 +5,16 +3,6,13,35,36 +4,6,36 +5,42 +5,6,14 +6,25 +5,47 +10,25,43 +3,6 +6,7,8,21,51 +6,14,39,46 +6,14,25 +5,14 +20,22,43 +6 +6,23 +3,5,6 +4,6,10,17,19 +6,14,17,30,47 +5,12,14 +6,12,17,18 +3,10,12,13 +5,14 +5,19 +5 +6,7,21,47 +4,6,14 +3,6,7,17 +6,14 +3,5,6,18,25,34 +6,22,49 +15,21 +5,6,51 +5,13,15,25 +6,19 +6 +6 +5,6 +5,6,20 +6,48 +6,20,29 +6,12 +2,17 +5,6,10,34 +6,14 +5,6,9 +5,6,22 +2,6,33 +3,6,41 +5,6,17,28 +3,6,16 +6 +2 +6,9,20,41 +6,7,14,44 +5,6,10 +6,22 +4,6,7,12 +4,6,17 +0 +3,6,50 +6,10,14 +3,5,14,18 +5,6,14,20 +5,6,25 +3,12,14,28,47 +5,6,17 +6,20 +6 +6,14,22 +6,16 +6,28 +6,14 +5,6,21,23,33,49,51 +6,7,15,20,31 +4,6 +3,6,31 +0 +14,23 +5,46,48 +3,4,5 +28 +5,13 +5,6 +6,17 +4,5,6,39 +6,21,28,30,43,51 +7,14,31 +14,19,22 +4,6,13,14,15,41 +5,6,7,21 +6,17,20,25 +5,19,25 +5,6 +23 +14 +6,14,18,23 +6 +6,14,25 +31,49 +5,6,10,17,25 +5,6,20,36 +6 +5,6 +5,6,34 +4,6,7,8,25 +5,6,25 +3,4,5,6,7,21 +6 +4,5,7,30,45 +5,6,17 +6,11,27 +6,12,14,20,22 +0 +5,6,14,25 +5,6 +2,6,14 +2,5,6,23 +3,4,5,6,14,18,36,42 +3,5,27 +5,6,7 +5,14,17,26,36 +25,38 +3,7,8,34 +3,14,21,30,34,42 +4,5,6 +3,5,17 +3,5,6,29 +6,23,35 +2,5,6,28,33 +5,6 +3,4,6 +16 +6,46 +3,6,14,48 +4,18 +5,6,17,26 +4,6,7,9,14,17,21,47 +3,17 +0 +5,6,10,14,43 +4,6,33 +15,29 +6,15,21,40 +0 +6,17,25 +6,28 +14 +6,14,43 +5,6,20 +5,6,42 +4,5,49 +6,49 +4,6 +4,5,10,14,47 +6,13 +2,14,17 +6,19,25 +4,6,11 +2,6,7,13,41,49 +14,17,48 +5,6,7,11 +4,5,7 +5,6 +3,5,6,7,14 +2,4,6 +4,5,6,16,20,51 +6,14 +3,4,5,17,19 +5,6,11 +4,5,6,20,25 +6,19,24 +29 +3,6,14 +4,5,14,47 +6,28 +6,10,37 +5,6,20,42 +6 +5,6,10,15,34,47 +5,7,14,33 +5 +5,6,13,14 +3,6 +3,26,41 +5,6,14 +6,21 +2,4,5,6,16 +4,5,7,14,15 +4,5,7,14,22,49 +5,6 +2,7,11,14 +5,6,28 +13,14,19 +6,7,34 +5,6,20,38 +4,6 +9,25 +6,43,48 +14,20 +6,38 +13,14,19,26,29,38 +6,8,14,43 +2,3,16,17,25 +3,5,13,42 +2,3,6,14,22,45 +4,6,7,17 +5,6,13,33 +4,20,38 +2,6,12,39 +6,15,25 +0 +3,6,12,29,44 +6,21 +2,3,6,38,42 +3,14,21,47 +4,6,7,14,26 +5 +6,17,20 +5,6,22,28,30 +6,43,47 +6,14,16,45 +14 +6,10,27 +6,12,23 +6,23,46 +4,5 +4,6,10,14,15 +3 +4,6,14,38,51 +2,5,20 +6,16 +30 +4,5,21,33 +5,6,7,14,17 +6,17,19,41 +5,6,7,14,18,21 +0 +5,6 +7,18,25,26,39 +5,6,21 +3,6 +5,6,13,49 +3,4,6,13,47 +6,14,15 +6,14,48 +5,6,7 +4,6,20 +5 +3,6,15,32,51 +5 +3,7,22,25 +6,7 +4,5,14,19,30 +5,6,17 +2,7 +4,30,41 +5,23,41 +6 +6,12,16,22 +6 +6,13,14,49 +5,22,35 +4,6,16 +6,33 +8 +6,7,14,17 +7 +4,6,44 +2,5,6,7,13 +2,4,5,15 +0 +5,6,35,40,41 +3,6,14,15,29 +6,14,51 +3,6,10,41 +3,4,5,6,12,20,31 +6,42 +4,6,14,44 +4,5,7,12,14,19,22 +6,16,44 +3,17,28,29 +4 +5,6,7,41 +3,23,47 +4,6 +3,5,6,10,13,17,21,25,31 +5 +6 +6,13,17,51 +6 +3,5,14,38 +14,22 +3,4,6,14,17,20,28 +6,7 +6,10,41 +3 +6 +6,10,14,31 +4,6,8,19,46 +14,15,32 +14,28,46 +6,29,35 +5,7,22 +6,18,19,30 +6,12,28,44 +4,5,7,24 +3,4,5,14 +6,48 +5,6,10 +5 +5,6,27 +47 +6,30,39,43 +3,6,8,20,32 +3,6,8,20 +6,14,28,36 +14 +6,15,20 +3 +3,6,13 +5,6,7,8,15 +4,6,50 +6,13,14,17 +5,6,7 +6,14,21 +4,6,14,37 +6,21,22,40 +2,5,49 +5,6,7,10,47 +14 +6,13,39 +5,6,17 +6,14 +4,6,32 +6,12,19 +7 +6,14,48 +0 +5,6,7 +6 +6 +5,6,44 +5,6,40 +5,6,20,22 +6,28,43 +20 +4,6,14 +5,21 +3,4,32 +5,26,30,33,38 +2,6,20 +2,5,6,17,36,37 +6,8,14,43 +6,12 +5,6,19 +5,7,17,21,30 +3,5,6,10,22 +5,6,37 +6 +14,15,16,21,23 +6,48 +5,6,14,30 +5,11,14,20,25,44 +6,9,14,37,51 +6,20,22 +6,14 +12,14 +6,7,9,14,15 +17,24 +6,13 +5,6,17,33 +0 +4,5,6,14,15,19 +5,50 +5,6,14 +14,16,23,39 +0 +4,5,6 +5,6,14,25 +6 +4,12,25 +4,5,6,7,17,22,25,38 +44 +2,4,5,6,7,37,41,42 +6,29 +6,8,14,17 +3,5,6,48 +6,17 +5,6,10,14 +4,6,17,41 +6,10,17,20,23,29,45,51 +6,8,27,42 +6,14,21,25 +14,20 +6 +6,15,32 +3,5,6,7,12,14,41 +4,6,30,40 +3,6,8 +6,10,13,16,17 +6 +2,6,14 +19,29 +6,45 +5,6,15,25 +2,4,5,6,14,22 +42 +5,6 +3,6 +4,5,7 +5,6 +3,5 +6,7 +4,22,42 +5,20 +5,6 +5,10,34 +5 +6,17,22,25 +6,14,16 +6 +6,47 +5,6,22,49 +5,6,17,18 +4,14,51 +5,6,22 +5,19 +0 +4,6 +6,7,14 +6,13,14,24,38 +6,17,20,22,25,48 +5,6,14,22 +6,22,26,32,49 +5,6,14 +6,12,13,23 +4,5 +6,46 +5,6,14 +6,7,19,21,25 +4,6 +14,25,50 +3,4,10,28 +5,6,14,15 +4,5,23 +5,6,9,23,44 +5,6 +0 +5,10,14,31 +11 +21,33 +6 +5,6,12,31 +5,12 +6,26,29 +5,6 +5,6,7,12,13,45,50 +6 +6,19 +6,22 +5,6 +5,6,28 +6,7,43,45 +26 +6,18,42 +6,14,22,31 +6,22,30 +3,44,48 +2,5,14 +4,6 +4,5,6 +4,6 +5,14 +4,21,51 +6,14 +5,25 +7,14,22,28 +6,10,14,15,25 +6 +4,5,14 +6,12,17 +5,17,18,41 +5,6,14,16 +5,20,41,45 +5,14,17,22,23,24,38 +5,22 +6 +3 +6,17,22 +4,6,32,36 +6,7,25 +7,10,26,33 +6,15,17 +5,6 +6,14,44 +10 +3,6,14,15,17,51 +3,6,20,33 +6,9 +14,16,21 +6,22,23,42 +6,10 +3,6,11 +3,5,7,34 +3,5,6,7,12,33 +6 +4,5,6,8,14 +4,6,28,36 +4,17 +6,25,47 +5,20,25 +3,6,7 +3,6,28,34 +6,13,14 +6,15,17,22,33,50 +5,6,25 +5,6,14,17,22,29 +6,7,20,22 +6 +4,5,10,14,17,41 +6,7,14 +12,40,46 +5,6,26 +5,6,21 +2,6,9,14,20,42 +6,15,44,51 +4,5,6,13 +6 +4,7 +5,6,7,17,22,36 +6,21 +3,5,6,20,30 +3,5,6,28,48 +4,6,12 +3,4,5,6,20 +3,6,10,17 +0 +2,6,23 +12,21 +4,6,9,14,19 +6,26,42 +6 +6 +5,19 +5,6,12,13 +6,22 +5,6,15,18,45 +6,17,35 +2,6,42 +3,6,7 +5 +5,20,26,42 +6 +5,6,7,36 +5,6,13,15,42 +3,6,14 +6,36,44 +5,6,17,20,22,40,41,48,50 +5,6,14 +6,28 +5,6,15,18,32 +14,21 +14,15,25 +6,41 +5,6,14 +6,7,45 +4,14,49 +6,18,25 +0 +6 +0 +5,6,17 +6,14 +6,14,23,44,48 +5,6,14,16 +5,6,7,13,31 +3,6,7 +5,6,7,14,30 +6,14 +16 +6 +2,6,17,47 +5,6 +5,6,14 +3,6,14,21,22 +12 +6,14,29 +6,19 +6,12,14,20 +6,46 +3,6,13,43 +6,7,13,29 +3,5,6,17,26,31,44 +4,5,6,13,14,17,20,22,24,47 +5,6,20,22 +5,6,37 +6,20,25 +5,6,28 +3,9,14,20,50 +5,6,23,40 +4,14 +3,5,6,7 +5,19 +3,6,14,24,42,51 +12,21 +6,7,20,50 +4,6,7,14,17,20,30 +6,12,28,36 +4,7,25 +5,6,14,33,36 +3,5,6,19 +4,6,25,34 +3,5,6,7 +5,6,17,20,21 +5,6,24,37 +6,41 +12,48 +6 +6,11,27 +3,35 +6,20,39 +3,4,6,41 +6,20 +6,37 +4,6,26,41 +5,6,14 +4,15 +3,7,35,48 +5,6,17,18,44 +6,7,25 +5,6,47 +6,16 +5,6,8,22,37 +3,6,28,34 +12 +4,6 +4,6,14,46 +3,6,18,22,28 +6,7 +4,5,6,14,17,34,45 +4,14 +3,42 +6,14,39 +5,6,7,18 +4,5,6,17,25 +6,7,15 +3,5,6,22,25 +6,10,14,26 +8 +3,6,31 +6,9,10,38,43 +6,14 +5,17,37 +3,6,7,14 +6,22,23 +4,5,6,11,13,17,23,40 +14,29,43 +2,10,20 +0 +5,6,22 +3,9,17,36,51 +5,6,22 +5,6,14,24,43 +5,6,41 +7,14,25,32,48 +2,6,29,35 +4,6 +5,6,19,25,28 +4,6,45 +0 +3,29,51 +4,6,13,31 +6,20 +5,7,14 +6,25 +5,14,21,28 +5,6,44 +3 +5,20 +3,5,6,14 +3,6,13,22 +6,14,17 +6,25 +6,14 +6,42 +2,4,6 +5,6,38 +4,14,46,47 +6,27 +6,11,43 +29,42 +5,6,7 +6,14 +4,5,6,14,17 +10 +5,6,10,13 +6,35,46 +3,6 +14,20,21,23,31,42 +3,6,22,51 +4,5,6,19 +4,5,14,17,32 +6,18,24 +4,6,8,17,29,46,51 +6,43 +4,6,21,22 +6,11,12,20 +3,14 +4,6,16,29,36,47 +5,6 +2,6 +4,6,14,27,43 +27,37 +6,11,13,14 +7 +6,14,20,22 +5,6,14 +5,6,12,18,28 +2,3,6,17,18,20,21,29,49 +29 +3,6,9,14,15 +3,6 +5,12,18,25 +7,27 +8,20,21 +6,7,50 +3,4,6,22 +6 +5,6,17,25 +5,6 +0 +6,12,40 +7,21,22,39 +6,28,37 +4,6,7,14,17,47 +6,25,38 +3,5,6,25 +4,6,14,16,21,48 +4,6,14,36 +6,7,11,36 +6,13,46 +5,6 +5,6,8,17,40 +4,48 +6,14,19 +5,6,19,33,41,44 +6,51 +6,16,31 +6 +12,14,23 +5 +5,6,22,30 +0 +2,14,20 +5,6,29 +6,12,15,17,21,43 +3,5,42,49 +6,14,17,36 +6,8 +5,6,14,20 +5,6,35,42,47 +2,5,6,7,37,42,44 +6,22 +5,7 +3,5,6,7 +4,6,22 +6,12,14 +2,42 +29 +3,6,13 +6,7,12,22,23 +2,6 +5,17 +2,5,6,19,29 +6,22 +4,6,8,12,14,23 +0 +5,6,21,43 +4,5,6,20,26 +6 +6,7,14,20,25,37 +4,22 +3,4,35,43 +7,19 +2,6 +4,5,6,21,46 +3,17,20,23,42 +6,18 +4,14,17,21,39,50 +4,6,8 +4,5 +6,9,20,36 +4,6,46 +6,10,18 +5 +4,5,6,11,16,21 +4,5,6,44 +4,6,19,22 +29 +3 +12,23 +5,6,14 +12,31 +3,4,6 +4,5,6,28 +5,6,15,18,25,43,45 +2,6,17,19,30 +31,37 +4,6,25,48 +6,41 +7,14 +6,21 +5,6,17,26 +5,6,28,30 +3,5,6,40,42 +4,11 +3,6 +5,6,12,13,29,37,48,49 +4,5,15,43 +6,14,17,22 +2,4 +5,14,30 +5,6,26,33,46 +6,10,35 +6,23,25,36 +6,46 +5 +4,6,19,50 +14,27 +5,6,14,38 +5,6 +8,23 +5,6,7,14,16,17 +6,28,43 +6,20,30 +6,14,51 +6 +6,10,16 +6,17,25,28 +2,5 +4,5,6 +5,6,20 +0 +4,6,12,33 +3,5,6,8,22 +16,20 +6,22,46 +6 +12,14,21,31,49 +6 +6 +4,6,23 +6,24 +6,13 +19,28 +4,6,17,21,22 +6,17,44,46 +5,6,27 +4,6 +3,6,24 +27,28 +3,6,14 +5 +5,6 +6 +6,20 +6,48 +16,28 +6,8 +5,6,14,34 +2,3,4,5,12 +4,5,6,13 +2,6,17 +3,6,21,25,27 +6,9,22 +5,17 +0 +2,48 +3,22,34 +14,45 +5,6,31 +4,6,32 +5,11,20,44,45,46 +5,6 +2,4,5,6,14,44 +4,14,15,49 +2,4,5,6,7,14,47 +5,6,8,11,30 +5,6,14,21,30 +3,5,6,7,13,14,26,42,46 +5,6,26,50 +5 +3,5,6,14 +6 +3,6,14,21 +6,7 +3,4,6,12,27 +18,21,25 +6,7,23,41 +4,27 +5,6,14,16,25 +4,6 +3,6,7,12,22 +0 +13,22,49 +5,7 +3,6 +6,14 +4,6,40,41 +4,6,21,29 +5,6,22 +4 +6,13,20 +2,4,6,7,24,36 +3,4,5,7,27,42 +5,6,7,11,21 +5,6,18 +6 +3,4,6,33,34,42 +5,6,21,26 +5,6,20 +32 +6,13 +5,24 +6,8,14 +0 +6,7,14,40 +49 +3,5,10,17,18 +3,5,6,14,25 +6,12,22,25 +14 +5,6,22 +2,6,17 +5,6,40,43 +3,6,35,45 +3,6,17 +2,6 +6,30 +44 +3,5 +4,5,6,8,20,41 +5,6,14,45 +7,9,42 +6,7,11,26 +6,14 +7,23 +4,18,38 +6,12,44 +5,6,13,17,44,48 +2,4,6 +21 +6,16 +2,6 +3,5,14 +2,42 +7,25,26 +4,5,14,49 +6,22,45,49 +5,6,7,30 +4,6,12,14 +6,7,43 +5,6,8,48 +3,5,6,14 +4,41 +6 +6,44,50 +6 +3,6,13 +6,20 +4,5,6,11,21,29 +3,5,6,28 +0 +3,25 +5,6,18 +5,11,14,25 +5,6,28 +6,7,24,41 +40 +12 +6 +5,6,14,21,36 +3,5,20,39 +3,6,7,19,41 +4,6,14 +5,6,12 +3,6,14,22,25,30,41 +3,4,22 +6 +4,5,6,7,11,19,38 +6,14,23 +6,27 +2,6,13,20,49 +6,36,40 +5,6,38 +25 +6,12,13,25,51 +6,14,17 +5 +6,7,25 +6,7,14 +0 +5,15 +5,20,27,36,46 +5,6,7,15,27,46 +5,6 +15 +6,7,14,33,41 +4,12,17,19,50 +20 +5,10,43 +5,6,12,14,43 +6,14,37 +4,6 +4,6 +5,6,22,26,29 +2,5,6,14,15,42 +3,6,7 +5,6,28 +4,6,22 +5,25 +6,20,29,49 +5,6,14,17 +6,12 +10,16,20,39 +5,6,14,29,48 +6,14 +5,6,7,21 +6 +4,5,6,21,22,23,25 +14,20 +3,6,36,39 +5,6,35 +2 +5,6,14 +12,17 +5,12 +3,19 +4,6,24,38 +6,7,17 +6,46,51 +5,6 +3,28 +14 +6,14,17,21,25,42 +5,6,8,14,42,49 +5,6,42 +6,20,25 +34 +0 +3,6,18,22 +13 +6,20,28 +5,6,26,33,48 +6 +5,6,36 +6 +4,7,34 +3,6,21,32 +5,6,14,33 +7,10,14,22,42 +23,43 +5,43 +6,49 +6,12 +12,14 +6 +7,26,32,34 +12 +2,6,14,22,27,30,38 +6,7,14,41 +5,6,9,18,36 +6,14 +2,7,21,43 +6 +6,22,26 +3,21,27 +6,27,28 +4,5,30 +5,6,19 +6,13,14,19,37,44 +4,5,6,20,33 +3,5,6,12,14 +6,17,20,45 +6,16 +3,6,17,45,46 +5,6,10,13,17 +5,6,12,43 +3,6,8 +3,6,17,33,37 +5,28,42 +4,5,6,20,30 +14,20,42 +6,11,12,26 +4,6,37 +4,5,6,25,39,41 +6 +14,30 +4,5,6,14 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +6,22,38 +6,13 +6,37,38 +6,16 +2,5,6,20,21,38 +6,37,39 +6,14,25 +2,6,7,31 +3,5,6,12,13,14,25,40 +6,20 +2,5,6 +6,21,41 +6,11,41 +5,6,14 +4,6,7,19 +6,9 +5,10,23,29 +5,6,45 +14 +4,6,30 +3,4,5,6,21 +25 +6,14,17 +6,12,35 +12,42 +5,6,15,46 +5,6,17,46,50 +44 +6,17,22,45 +3,5,24 +7,14,19,39 +4,5,6,14,17 +4,6,17 +2,26 +5,6,10,14 +5,14,20 +2,6,50 +2,3,5,6,14,25 +4,28 +6,13,24 +0 +5,6,47 +25,30,31 +3,14,19 +12,14,37 +2,6,7 +6,7,22 +6,7,24,46 +9,30,38,49 +2,5,6 +4,11,13,20,24,25 +6,10,14,16,17,26 +5,6,12,17,18,22,29,44 +5,6,43 +6,12 +3,6,45 +6 +3,5,6,12 +4,5,6,17,24,48 +5,6,13,14,20 +6,15,22 +6,20 +4,6,23 +3,6,7,22 +5,10,17,22,51 +3,6,7,41 +4,5,6,26,44 +4,14,18,21 +4,6,7,14 +6 +4,5,6 +3,5,6 +5,6,10,14 +3,6,14,21,36 +3,6,47 +7,20 +2,6,7,11 +5,6,7 +4,5,6 +5,7 +3,6 +2,6,41 +25 +38,51 +5,6,7,14,22,48 +4,6,16,20,38,39 +6,18,47 +5,17,38 +2 +6,17 +12,49 +2,6,22,29 +4,6,13,20 +4,7,20,41,50 +5,6,50 +2,26 +6 +12,21,22,32 +3,12,13,14,17 +6,23,36,41,51 +4,5,6,14,20,22 +5,6,10,17,19 +5,6 +4,12,14,16,29 +3,4,5,6,13,14,20,28 +2,4,5,6,14,51 +5,6,12,14,26,29,42 +5,6,7,17 +5,6,22,25,33 +3 +4,6,17 +10 +3,5,6 +6,29,38,40 +21,28,32,46 +4,6,7,15,16 +2,6 +4,5 +6 +6,12,14,17 +2,6,10,33 +6,38 +5,6,22 +5,17 +5,6,18 +2,4,6,42 +5,6,14,16,22,24 +5,7,14,15,25,33 +50 +2,7,16,30,34 +6,22,41 +0 +22,29,46 +6 +6,7,14,26,29 +6,14,17 +5,6,48 +0 +5,17 +14 +3,9,14,27 +6,9,17 +2,3,4,5,6,20 +0 +25,28 +5,6,8,10 +6,7,30,31,44 +30,48 +2,3,5,14 +5,6 +4,5,6,28,30 +4,5,6,7,21 +3,6,20 +6 +12,38 +6,16,17,25,26,32 +3,4,6,14,18,33,43 +2,4,6 +5,14,25 +6 +21,23,25 +6,29,35 +5,6,14,25,34,45,46 +3,6,12,13,14,22 +6 +6,17,40 +5,32 +2,6,7,14,29 +3,5,6,20 +4 +5,6,14,15,25,34 +3,33 +6,33 +4,14,22,25,32,42 +2,14,17 +4,12,14,27 +2,4,6 +0 +14,15,19,21,22,34 +6,13 +11 +5,6,22 +6,14,25 +5,6,7,13,14,30 +3,4,5,6 +3,4,5,6,7,17,39 +8,32,46 +4,5,6,7,43 +3 +4,6,26,34 +6 +3,6,25 +22 +3,5,6,13,22 +6,13,14 +4,7,25 +6,8,14,46 +4,6,49 +5 +44 +5,6,10,43 +3,5,6,12 +5,33 +6,25 +5,6,39 +6,20,29 +5,6,9,14,22,39 +4,6,43 +6,20 +48 +6,42 +3,4,6,12,26 +2,5,6,7,14,17,23 +6,13,18,24,38 +5,6,11 +5,6 +4,6,35 +6,18 +12,22,30,44 +5,6,7,28 +5,6,29 +21 +4,6,12,31 +6 +4,6,14,18 +3,5,6,10,25,28 +4,5,6,7 +0 +0 +6,14,17,25,31 +7,13 +6,14 +5,6,14 +6,14 +2,6,7 +2,4,5,28 +0 +5,6,15,46 +5,6 +5,6,7,18,20,25,41 +4,6,17,22,46 +4,6,14,50 +5,6,30,34 +14 +4,6,14,34,42 +4,7,14 +5,6 +5,11 +7,29 +4,7,14,17 +2,4,13,21 +4,6,25 +5,13 +5,6,7,11,14,28 +3,6,14 +5,6 +3,6 +17 +6,17,29,30,33,39 +5,6,9,20,25 +6,27 +4,5,37 +3,4,5,6,10,30 +6 +6,41,42 +5,6,22,42 +6,7,30,31,43 +4,6,7,13,15,17,51 +4,5,6,45 +28 +6,17,45 +2,3,9,17,41 +6,7,17,19 +6,20,35 +5,12 +2,3,5,14,17,22,41 +37 +3,6,13,17,37 +6,19 +6,27 +4,14,23 +5 +6,10,14,21 +28,50 +3,6,10,14 +3,4,5,6,25 +3,17,22,50 +2,6,14,48 +5,6,7,20,22 +5,6,16,38 +6,14 +17,34,42 +8,13 +5,18,23 +6,13,14 +5,18,22,25 +2,4,6 +3,6,7,19,36 +2,3,5,6,13,14,22 +6,7,13 +6,20,43 +6,17,29 +3,6,25 +3,6,20 +3,6,14,24 +4,6,20,49 +17,22 +5,6,14,48 +4,5,6,20,28 +5,6,10,13,14 +22 +6 +5,6,7,48 +6,7 +3,5,6,21,24,32,44 +3 +5,6,7,14 +3,6,20,41 +5,6,40 +6,14,16,23,47 +3,5,6,18 +4,6,14,19 +14,21,26,28 +5 +7 +6,7,43 +6,14,34 +5,6,7,17,28 +4,14,20 +3,6,14,16,44 +3,19 +5,6,7 +4,6,34 +6,14,25 +3,8,19 +5,6,21,23,48 +5,14 +3,6,17,22 +4,5,20 +6,8,31 +6,7,30 +6,12,44 +6,22 +6 +12,17,28,39 +5,6,9,14,30,50 +5,6,14 +2,5,6,29 +5,23 +5,26,29 +6,7,8,30 +6,7,14,21 +5,6,14 +0 +6,17 +6,13,14,42 +4,6,25,33 +7,19 +4,5,42 +5,6,16,17,39 +4,5,6 +5 +2,3,4,5,6,14 +5,6,7,50 +2,6 +2,6,18,21,40 +4,14 +3,4,5,6,22 +6,13 +4,6,33,46 +4,6,10,12,17 +5,6,20,49 +3 +5,6,21 +3,5,6,7,11,14,19,20 +6,14,17,25,51 +5,37 +5 +6,12,23 +5,6 +6,8,43 +4,6 +4,11,40 +5,6,32 +4,6 +2,6,14,41 +5,13,18,21 +22 +6,14 +6,18 +6,13,14 +5 +4,5,6,14,18,22 +3,5,6,22,33 +6,13,14,15,17 +5 +21 +5,6 +6,42 +5,6,13,14,46 +6 +5,6,17,50 +6,14 +5,6,13,14 +5,6,14,28,34 +3,6,8,20 +6 +8,14 +6,10,14,36 +6 +4,36 +6,8,21,28,45 +4,6,17 +6,40 +2,6 +6,7,28,45 +14,51 +4,5,6,14,15,23 +4,6,20,23,36,38 +6,21,25,40,49 +4,7,31 +2,3,5,14,28,34,49 +5,6,17 +2,3,4,6,17,20,22 +6 +6,7,30,42 +5,17 +6,14,22 +6,15 +4,6,11,25 +5,6 +6,14 +14,15 +6,17 +5,6 +4,5,6 +2,5,6,12,33 +6 +6,39 +6,25 +4,20,26 +25,36 +6 +5,6,9,14,20,22 +5,6,14,20,28,51 +4,15,42 +5,6,21 +5,6,25 +5,17 +5,17,48 +6 +6 +5,6,13,16,43,44 +2,6,20,31,39 +0 +6 +5,6 +6 +4,6,14,20,39,45,46 +4,6,14,17,26,41,43 +0 +3,6,21 +6,20 +6,7,22,32,49 +0 +7,25 +5,7,22,23,32,35 +4,5,6 +5,6,11 +13,16,38,42 +35 +5,6,51 +6,47 +5,6,42 +12,20,22 +4,6,20,51 +2,4,6,7 +5,6,14,27 +3,12,14 +6,32,34,41 +14,17,46 +2,17,23,41 +5,6,10 +6,12,14,20 +6,7,9 +5,6,14,15,20 +6,14,30 +0 +6,16 +29,40 +14,20 +6,7,10,36,39,49 +6 +6 +6 +4,6,17 +4,6,14,27,30 +6 +6,7,14,21 +5,14 +5,12 +6,7,12,20 +5,31 +6,14 +5,6,11,14,17 +17,50 +6,14 +2,5,6,7,18,19 +17,22 +6,8,26 +5 +22 +4,5,6,13,25 +5,6,25 +3,28 +22 +28,50 +6,18,22,27 +0 +6,12,25 +6,20 +12,25 +6,10,20 +4,6,7,12 +6,15 +6 +4,6,20 +4,5,13,20,46 +6 +10 +6 +3,6,13,14,48 +3,6,7,13,51 +2 +6 +11,14,16,19 +5,12,17,18,33 +6,8,25 +2,5,18,23,30,44 +3,4,5,6 +5,6,8 +4,6 +6,25 +5,6,10 +4,5,6,14,21,23,25 +6,10,11,25,31 +2,4,9,23 +14 +6,17,47 +4,6,14,49 +3,5,6,37 +6,29 +3,6,30 +3,15,29 +5,6,10,14,42 +14,33,39 +2,5,17,25 +3,6,14,17,20,25,37,38 +2,6,13 +3,6,14,34 +6,11,16,22 +6,14,16,22,24 +3,4,6,16,21,28 +5,6,17,20 +5,6,15,20,34 +3,6,23,26 +3,6,19,30 +2,5,14,19,22 +3,5,34,50 +5,44 +5,6,7 +5,6,36 +3,5,6 +4,20,21 +6,11,22,35 +46,49 +4,14,29 +7 +5,14,15,17 +14,17,19,49 +3,6,24 +2,5,14,44 +6,37 +4,6,8 +3,14,30 +6,15,22 +6,39 +3,5,6,12,20,28,32 +4,5,6,8,17,25,50 +3,5,6,14,26,46 +4,6,33,46 +3,6,9 +5,6,14,17 +5,6,18,39 +4,6,14 +6 +6,20 +4 +2,3,6,17,20 +4,6,24,25,41 +13,22,50 +3,5,6 +6,25 +4,14,41 +2,7,25,40 +20,26 +4,6,11,26 +6,7,14,15 +3,6 +18,25 +4,13 +5,6,17 +3,4,6,9,49,51 +4,5 +6,13,14,17,25 +4,6,16,23 +6,14,28 +2,6,14,38 +5,6,14,17 +5,6,7,14,17 +5,6,28 +6 +5,6,7 +6 +15,22,36,43 +6,13,43 +5,6,33 +13,22,45 +6,7,14,40,41 +3,4,28 +3,4 +5,6,7,14,15,26 +20,48 +5,6,14 +5,14 +4,5,6,10,28 +6,18,21,27,37 +4,6,28 +6,14,29 +6,17 +4,6,46 +6,7,14,20,22,26,48 +6,26,29 +7,10,23,25,28,48 +21 +4,6,13 +6,32,41 +5,6 +4,6,21 +8,13,15,16,23 +6 +3,41,43 +6,12,14,31,33 +5,6,7,14,22,23,25 +6,18,19,49 +3,5,6,17,21,22 +6 +4,6 +7,12,44 +5,6,22 +4,5,6 +4,6,16,50 +3,5,6 +6 +2,13,14,19 +5,25,29,35,36 +5,6,7,22 +6,14,42 +5 +6,28 +5,7,21,32 +22,38 +4,6 +5,6,7,14,16 +5 +5,16,22 +2,4,6 +4,7,43 +12,16,34,38 +2,5,7,14,50 +6,12,14 +6,25 +15,18,20 +3,6,15,20,44,51 +4,6 +6,28 +5,12,14,43 +4,6,42 +3,16 +5,19,26 +17,22 +7,20,40 +6 +3,5,6,14,23 +3,6 +6 +6,34,37 +3,4,6 +0 +3,5,6,22,44 +5,12,14 +4,6,12,22 +7,9,28 +5,6,20,49,50 +5,6,14 +6 +12,36 +2,13,21,42 +5,6,18 +6,7 +6,13,14,30,37 +5,6,13,17,37 +3,5,6,30,50 +5,13,25 +2,5 +5,6,25 +3,17,40 +6,21 +14 +6,7 +5,6,12,44 +5,6,19,39 +3,5,6 +5,20,41 +14,22,47 +2,4,40,45 +3,6 +3,6,18 +5,6,51 +5,6,8,14,21,25 +5,25,31 +4,6,14,17,27,40 +2,5,6 +4 +5,6,10,25,33 +6,7 +3,6,14 +3,14 +4,6,13 +21 +3,9,37 +6,17,37,42,51 +3,5,6,21,34 +5,6,28,47 +5,6,14 +6,28,34 +6 +3,4,14,29,42 +6,7 +5,21 +4,6,11,21 +5,6,12,14,25,37 +6,7,21 +8,12,23,25 +4,5,6,20,21,22 +6,22 +5,6,23 +3,6,21 +6,7,25,29 +3,6,41 +4,6,23,43 +3,6,16 +3,6,9,17,39 +6,21 +3,6,14,25,26,36,48 +6,12,14,16 +4,5,6,14,31,42 +6,13,46 +5,7,14,27 +6,14,21,27 +3,6,7,14,22,49 +3,4,6,43 +5,14,41,49 +16 +15 +6,14 +3,5,6,14,40 +5,30 +6,12,14 +5 +6,7 +6,14,20 +5,6,19,45 +2,4,5 +9,17 +6,16 +4,22 +6,34 +6,12 +5,6,7,17,40 +5,42,50 +6,20,39 +5,6 +2,4,6,10,14,36,46 +6,14,44 +6 +6,7,18,25 +5,6,15,17,22,46 +6,17 +4,5,6,13,22,30 +6,26,38,47 +4,5,6 +4,6 +2,3,5,6,28 +6,18,20,36 +5 +3,35 +6,10 +6,14,22 +6,46 +6,13,25 +12 +5,14 +4,5,6,40,45 +6,22,26 +6,31 +6 +4,6,14 +6,14,17,28 +6,14,15,25,29 +6 +6,14,17 +3,6,25 +3,6 +0 +5,6,15,17,45 +5,6 +10,21,38 +3,5,21,27,29 +3,6 +3,5,25,35,44 +14 +3,5 +6,12,14,16,17 +6,7,14,17,20,40 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +5,13 +7 +5,7,26 +2,4,5,17,25 +5,28 +20,46 +5,14,21 +5,6,9,51 +5,6,16 +5,6,14 +5,6,17,18,47 +4,6,24,25 +4,5,6,7,14,17 +3,6 +5,6,18,37,50 +6 +3,5,6,13,20 +6,9,17,21 +3,6,7,13 +6,16,18 +4,6 +4,6,18,38,42 +2,5,29 +5,14 +6 +4,7,12 +4,5,6,11,14 +19,31 +6,41 +5,14,33 +2,5,6,11 +3,6 +6,46 +4,6,14,21 +4,6,10,22,24 +6 +5,6,16 +42 +6,20,43 +7,14,16,22 +3,5,6,12,14,20 +6,28 +3,16,17,24 +6,14,17,20,42,50 +5,6,13 +4,6,25,37 +6,12,13,22 +6,12,14,22 +3,14 +6,36 +5,6,16 +3,5,6,13,20,38 +3,23 +0 +5,6,13,14 +3,6,35 +6,7,22 +4,6,25 +14,18 +6,7 +19 +3,22 +3,6,18,20,28,33 +6,14 +6,38 +3,33 +6,17,20 +3,5,14,42 +5,6 +5,28 +5,6,41 +6,7,17,21 +4,5,6,46 +5,6,14,15,25,30 +2,6,20,30 +6,14,17,19 +5,6,14,22,38 +3,6,22 +3,5,6,42 +3,5,6,25 +4,6,18,29,46 +4,34,36 +3,25 +5,6,10,34 +5,6,13,28 +5,6,9,26 +5,6,10,13,39 +21 +3,6,7 +6 +2,5,6,21,22 +12,33 +3,4,5,6,28,34,42 +5,6,14 +14,21,25 +3,7,8,13 +5,6,13,48 +6,50 +4,5,6 +3,5,6,7,17,25 +6,8,14,17 +3,4,20,25 +6,10,14 +6 +6,46 +4,6,29,32,34 +6,8,37 +3,6,14,23 +14,22,43 +6,19,21,25 +3,6,28 +6,45 +5,14,17 +3,6 +5,11,23,43 +4,6,11,20 +3,5,17,20 +26 +6,14 +5,6 +5,6,17,41 +5,6,14,17,49 +6,12 +5,14,27,32 +6,42 +5,6,14,19,26 +14 +3,5,6,14,17 +6,14,42 +2,25 +6,22 +6 +6,7,25 +6,9,39 +3,5,22,41 +6,22 +5,30,48 +7,30 +2,6,12,17 +2,6,48 +25 +5,6,14,27 +5,6,14,17,18,22 +7,13,22,35 +2,6,17,46 +49 +5,46 +5,6,18 +3,4,6,13,14,43 +5,6,18 +22 +6,11,14 +5,51 +5,6,49 +4,43 +14,16,26 +6,14,16 +6,7,14,20,25 +21,25 +3,5,14 +0 +3,4,6,10,28 +4,14,51 +6,16,48 +6,20 +2,5,6 +4,5,6,40 +16 +6,7,9,16 +3,39 +5 +6,21 +6,40 +5,6,10,46 +2,3,5,6,13 +3,17 +5,20 +3,5,6 +6,17 +4,42 +5,15 +6,8,50 +6,14 +4,5,6 +6,7 +3,5,6 +6,25,29,30 +6,27,37 +6,7,10,14,20,28 +5,12,43 +6,7,14,17 +3,5,6,14 +2,26 +3,5,6,17,29,50 +4,6,18,22,34 +6,12,14,19,34 +4,6,10,23 +6,19,22,25,49 +6,36 +5,12,14 +3,5,14,25 +4,5,17,22 +4,5,6,14,22 +6,8,12,21,45 +22 +6 +2,6,17,48 +6,7,11 +18 +5,6,33 +4,5,6,7,15,46,48 +5,20 +5,6,12,29 +4,5 +4,6,14,48 +6,7,17 +4,5,7,20,49 +6,7,11,39 +6,14 +3,4,5,6,7,15 +5,6,7 +5,6,14,35,40 +5,6,13 +0 +5,6,14,18,32 +5,6,46 +3,6,7,14,16 +5,6,13 +5,6,14 +3,5,6,17 +6,7,25,43,46,49 +5 +10,12 +5,6 +6,37,46,48 +3,7,50 +4,5,6 +5,6,7 +5,6,18 +4,6,20 +6 +5,6,14 +4,14,25 +6,7,14,20 +6,35 +5,13,20 +4,17 +6,7,25,36 +3,4,5,6,33 +5,17,21,43 +6,14,21 +14,21,41 +3,6,15,29,33 +40,47 +5,6 +4,6,7,18,26,33 +3,4 +6,38 +6,15 +3 +4,6,7,35 +14,17 +4,6,20 +6,14,21 +2,6,17,24,50 +4,5,8,16 +6,18,21 +6,14,21 +6,13,14,19,24,47 +6,11,20,43,49 +5,6,10,16 +5,13,15,49 +2,3,7,15,28,30,47 +4,25 +8,21 +2,6,14,22 +6 +4,5,6 +5,37,45,46 +0 +4,5,6,8,15,45 +5,6,13,46 +22,39,44 +5 +3,6,14,20 +5 +6,14,15,25,29 +5 +6,7,22 +6 +5,6,10,17,31 +6 +0 +5,7,17 +6,32,42,46,49 +0 +5,6 +2,5,6 +17 +2,5,6,16,17,44 +6,14,16,21,47 +5,6,46 +6,14 +4,6 +3,6,14,20,22 +2,6,17,21 +6 +4,6,14,42 +3,6,18 +4,5,6 +6,22,27,28 +6,32 +6,14,24,38 +2,5,19,39 +17 +6,14,19,31 +5,43 +14,20,40 +6,23,28 +6,21,36,46 +4,6,28,37 +2,3,5,6,12,20 +4,6,40,46 +0 +6,9,11,17,28 +2,6,15,25 +3,4,7,17,18,25 +2,5,6,27,51 +5,6,11,15,33 +2,7,8 +5,6,17,23 +6,13,32 +4,29 +6,20 +5,6,12,28 +2,5,6,14,22 +4,5,6 +3,6,14,18,43,51 +5,6,20,39 +3,4,6,7,25 +3,5,6 +3,5,6,19,30 +5,6,7,11 +6 +6,7,14 +14,22,28 +24,49 +14 +6 +5,6,15 +6,7,25 +6,14,22,44 +5,14,30 +6,12 +5,6,14,17,22 +5,6,20,36 +0 +6,13,27 +5,6,10,12,13,17 +5,6,14,50 +13,14 +4,6,17 +5,6 +7,19,20,25,28 +2,4,18,27 +12,14,36,49 +6,14 +6,14,21,32 +5,6 +4,5,16,32,40 +5,6,21,40 +16 +5,6,10 +49,50 +5,6 +5,9,14,46 +3,6,7 +6,16,19,26 +4,5,14 +4,6 +5,14 +14,17 +3,6,13,20 +5,6,26 +4,5,6 +5,6,14 +4,6,17,43 +6,12,28 +3,14,48 +5,6,14,17,47 +3,5,6,25,49 +6,19,41 +6,7 +4,6,14 +5,17,27,28 +6,7 +5,7,22,35 +3,6,10 +4 +14 +6,13,18 +41 +6 +5,6,14,22,25,28 +6,7,26,34 +5,14 +6,34 +5,6 +2,6,14,26,38 +6,7,13 +6,17,28 +13,17 +0 +5,25,28,40 +4,6,10,44 +5,6 +4,6,7,8,41 +4,11,49 +6,7,13,22,30 +6,8 +4,5,6 +6 +5,6,14,50 +5,22,29 +4,5,33,37 +6,44 +6,22,28,30 +7,16,27 +4,5,14,17 +2,5,6,16 +5,6,7,14 +4,6,17 +5,6 +2,25 +5,20,25 +6,14,19 +3,6 +5,6,7,13 +5,49 +3,6,21,36 +4,5,6,20,28 +6,9,27 +19,45 +3,6,17 +6 +5,6,22,33,45 +6,19 +3,6,15 +2,3,6 +5,12,14,17,20 +5,6,7,22,42 +5,6,7,28,48 +6,29 +2,6,7,38 +5,6,18,26,46 +6 +6 +6,17,34 +6,7,17 +22,25,32,36 +3,6 +36 +5,6,41,47 +6,14,22,23,27,30 +5,6,14,21,22 +20,23 +0 +6,14,15 +5 +5,6,16,20 +5,14,17,40,42 +6,14,23,27,37 +5,6 +2,5,6 +2,5,6,12 +6,16 +6,17,22,29 +6,14,22,29,37 +6,25 +5,6,47 +4,5,6 +6,19,23,49 +6,8,14,17,20 +4,5,6,25 +3,6,14,42,46 +3,5,6,29,50 +5 +6,14,25 +5,6,18,23,28,38 +6,14,49 +4,6 +5,7,19,22 +3,17,28 +6,21 +2,6,17,27 +3,7,21,25,46 +6,7 +6,49 +6 +6,22 +4,6,14,35 +5,6,14,20,21,46 +6,7 +6 +6,24 +4,5,6 +6,14,15,30 +6,10,22 +2,4,6 +5,6,7,14,15 +6,19,22 +14 +6 +5,6 +5,32,45 +6,14,43 +6,46 +4,5,6,11,17 +6,14,16,21,35 +7,8,13,19 +6,20 +6,20 +6,23 +6,13 +0 +4,6,14 +3,5,12,20 +6,26 +6,28 +2,6 +5 +6 +6,7,44 +6,49 +11,12,20 +6,15,25,39 +4,5 +5,6,25 +6,10 +3,6,8,21 +4,5,6,7 +4,5 +6,16,22,41 +3,6,7,38 +4,5,6,28 +6,20 +51 +4,5,6,7 +24 +5,6,20,25,37 +3,4,6,27,45 +28 +5,12 +6,29 +4,6,9 +6,12,22 +6,7 +5,6,15 +6,13,29 +32 +3,5,6,20 +2,4,5,6,34,42 +6,23 +5,6,15 +5,6,14 +3,11 +4,6,28 +14,21,32 +5,6,30,48 +6,14 +6,12,14 +6 +5,6,14,35,40 +2 +3,6,20 +6,12,14,20,24 +4,6 +6,14,15 +6,7,9,14,36,42 +3,6,7,14 +14,30 +6,42 +5 +6,11,14,17,20,23,35 +3 +7,20 +6,18,27 +5,6 +15,32 +2,3,4,6,15 +3,5,6,14,22,33 +4,6,14,17,20,22,29,40 +5,6,14,45 +6,40 +6,12,27,34 +5,6,14,16 +4,7,22,27 +6,30 +6 +9,14,21,23,29,33 +6,12,17,25 +6 +13 +13,14,25,38 +6,11,22,23,42 +6,25 +5,6,14,16 +6 +0 +6,11,25 +6,7,48 +3,33,43 +6,20 +5,6,7 +6,7 +3,5,6,14 +4,6,28 +3,11 +17,25,35 +6,38 +3,6,17,22 +3,6,14,22 +2,6,19 +3,4,6,14,17,22,41 +3,5,6,8 +6,15 +5,6,23 +20 +3,6,8,15,25 +5,14,44 +23,30 +4,5,6,25,27 +5,6,14,38 +3 +3,6,7,14 +3,7,14 +2,6,7,14 +6,13,41 +5,6,7,9,44 +4,14,20 +6 +0 +4,6,20,22 +5,6,14,17 +14 +5,6,23,24,46 +5,22 +6,14,17,28 +2,6 +5,6,28,34 +6,10,12 +17,22 +6,14,15,22 +5,22,27 +3,5,6,7,21,22 +5,6,10,22 +5,6,48 +5 +6,23,38,42 +7,14 +5,6 +3,5,30 +5,6 +5,6,14,49 +2,5,6,14 +5,6,14,47 +6,17 +16,49 +2,6,14 +4,6,7,14,15,16 +5,6 +4,5,6,14,17,25 +6,13,14,17 +5,6,14,16,28 +5,6 +3,6,46,49 +4,5 +14,22 +4,6,14 +3,6,17 +6,28 +6,14,17 +5,12 +3,5,6,14 +13 +14,22,41 +5,13 +5,6,27 +6,12,17,46 +12,14,19,27,29 +5,8,41 +3,6,35,41 +3,13,14,17 +2,5,6,12,14,25,37,38 +6,17 +4,6 +5,6,18,28 +2,5 +6 +25 +3,42 +5,7,14,21 +4,6,17 +6,14,18,34 +3,5,6,16,18,46 +3,6,23,25 +4,5,6,12,17,26,37 +2,4,5,6 +4,6 +7,14 +6,14 +2,14,28,45 +6 +7,12,15,19 +2 +6,33 +5,6,14 +3,6,30,48 +6 +4,6,17,23 +5,6,9,10 +5,6,8,14 +6 +3,21 +3,6,17,25 +5,6 +6,12,24,25,26,30 +3,4,19,20,25,33 +5,8,17 +14,15,43 +6,14,17,25 +5,6,14 +3,6,23,28,33 +6,11,38 +6,14,16 +4,6,42 +6,24,35 +14,20,28 +14,17 +15 +4,6,7 +4,5,13,25,50 +5,12,14 +8,17 +4,5,6,13,14 +4,5,6,49 +10,21,30 +6,14 +6 +0 +7,13,32 +6 +4,6,17 +6,14,24 +5,6,7,13,14,51 +3,6,29,42 +5,17,22 +5,6,7,43 +6 +6 +6,12,13,14,51 +3,4,5,6,17 +6,14,48 +3,6,14,42 +5,18 +4,5,7,21,22,33 +6 +6,17,28 +0 +6,21,44 +6 +4,5,8,14,16,24 +6,14 +6,17,35 +14,28 +2,6 +4,6,13,25,30,39,46 +5,17 +6,11 +2,6,11,14 +6,28 +13 +6,14 +4,5,6,20,25,33,47 +4,6,11,32 +5,33,45 +14,17,18,49 +5,6,12,14,19,49 +0 +3,12 +6 +3,6,14 +6,7,10,22 +4,6 +6,7,14,25 +3,6,40,50 +4,6 +4,14,20 +5,6 +6,14 +4,5,6,14,51 +6,46 +4,6 +6,10,28 +6,19,25,44 +4,5 +3,6,18,21,49 +2,5,6 +14,27,47 +4,5,6,14,20,27,42 +6,21 +5,6,14 +5,20 +5,6,10 +6,10 +6,28 +5,6,15,32,40 +6,7,14,24 +3,6,9 +3,6,16,23 +7,14,17,49 +6,15,17 +4,7 +6,7,9,34 +4,6,12,14,35,42 +4,6,12,17,27 +3,5,6,7,14,20 +6,7,11,12,15 +3,4,5,14,26,28 +3,5,6,15 +6,10,22 +4,5,6,38,44 +0 +4,13,30 +5,6,14 +4,6,11,14,22,26 +5,6,14 +6,30 +5,20,26 +5,23,51 +5,6,10,14,22,25,29 +6,12,16,28 +4,5,7,28 +48 +6 +2,7,14,41 +4,14 +5,6,7,12,15,29 +5,6,8,14,15,18,25,40,50 +3,14,18,21,23 +4,5,6,7,25 +4,5,6,19,25,30,40 +5,6,29 +7,13,21,25 +4,6,14 +42 +5,6 +33 +3,5,6,11,15,16,22 +6,45 +6,14 +16 +0 +2,6,14,27 +6,18 +4,7,28,51 +6 +6,7,8,21,42 +14 +5,6,18,20 +3,6,22,23 +6,13,22,46 +6,20,35 +6,21,23 +2,5,6,7,20,25 +5,22 +2,6,25,40 +45,47 +5,6,17,19,20 +30 +4,5,6,14,17,32 +6,11,38 +6,7 +2,4,5,17 +5,6,14 +5,6,13 +2,3,5,6,21 +6,14,25 +3,5,6,20 +5,6,11,14 +6,14 +6,39 +6,18,49 +12 +5,6,8,13 +4,6,10,14,20,25,30 +6,13,15,23 +7,14,43 +4,6,22 +3,7,25,26 +6 +6,14,51 +42 +6 +6,17,28,33 +4,5,6,7,12,15,21,24,29 +20 +8,23,25 +5,6,7,42 +6,34 +3,6,11,13 +5,6 +5,6,14,25,28,49 +3,6,25 +5,14,17,21 +5,32 +4,6,19,28 +5,14,22 +3,28,47 +6,13,17 +5,20,35 +6,7,15,33 +9,46 +3,5,8,21 +5,6 +6,12,14 +5,6,21,43 +5,6 +6,7 +5,6,8,21 +6 +5,6,7,17 +3,5,6,11,22 +6,14,21 +6,26 +5,6,44 +5,42 +2,13,21 +4,5,6,7,49 +4,6,24 +6,12 +4,5,6,37 +6,14 +3,6,15 +14,18,23 +2,8,19 +5,6,19 +5,28 +6,42 +3,4,6,14,26 +4,6,7,28,35 +4,6,8,14,17,19,25,32 +6,32 +3,5,6,7,14,17,33 +5,6,7,9,17,46 +4,6,12,14 +6,49 +5,6,22 +5,6,7,14,34 +14 +5,6,14 +6,28 +5 +6 +6,14,19 +4,6,14,22,34,38 +2,3,33 +4,6,23,37,39,50 +8,14,45 +5,6 +3,5,6,46 +0 +5 +6,8 +4,5,7,20,33 +6,16,18,22,40 +3,7 +6,49 +5,6,14,21,28 +3,4,5,21 +3,5,6 +0 +5,6,10,13,14 +3,6,7,17,25,29 +6,34 +6 +39 +4,5,6 +3,6,49 +4,6,25 +6,42 +4,5,6 +4,5,6,7,14 +4,5,29 +4,6,14 +6,17,19 +14 +10 +7,16,23 +5,6,17,21 +2,6,14 +5,6 +4,5,6,19,32,42 +5,17 +5,6 +5,25 +5,6 +6,13 +6,14,17 +5,6,12,26,44 +5,6,13,22 +6,23,49 +7,13,25,50,51 +4,6,22,34,49 +6,28,47 +5,22 +5,6 +4,6,12,14,25,38 +6,13,17 +5,6,14,26,38 +2,6,10 +4,5 +3,6,7,13 +6,7,14,20,25,43 +5,6,22 +5,6 +6,19 +6 +5,6,14,17 +6,15,29 +6,16,22 +6,15 +7,13,34 +5,6,14,15,20 +6,14,35 +5,6,14,24 +6,7 +3,5,6,13 +4,5,6,27 +3,6,23 +3 +6,16 +4,6 +5,7,14,28,33 +5,6 +2 +6 +5,6,17,22 +4,6,7,12,20 +6,16,17 +6 +4,6,25 +6,7,11,13 +5,49 +6,33 +6,38 +2 +2,4,6,14,25,28 +4,5,20,32 +6,32 +3,6,7,33 +6,10,39 +2,4,6,12 +3,5 +2,6,14 +6,14,15,20 +5,19 +6,16,27 +6,17,20 +0 +5,6,14 +6,14 +5,6,17 +5,6,10,43 +7,42 +4,6,20 +5,7,17,28 +35,49 +2,5,35 +5,6,19 +5,12,21 +0 +5,6 +5,6,20,29 +4,5,6,14 +5,20,43,44 +4,6,8,12,14,20,33,49 +5,6 +5,6,24,25 +3,4,5,6,23,25,42 +3,4,5,28 +6 +6,14 +6,14 +4,7,12 +6,19,20,23,34 +2,4,22 +5,6,13,16 +14 +5,10,14 +29 +7,14 +5,6,14,17 +6,25,49 +6,12,13,23,28 +4,6,15 +6 +12,14,40 +6 +6,26,46 +5,6,14,22,38 +6,14,17,44 +4,6,17,25 +5,6,14,19 +4,16,17,20,40 +7,17 +4,6,44 +5,6,34 +4,6,8,12,20 +6 +4,5,6,14,16,19 +2,4,6,19,32 +2,5,7,46 +39 +6,14,15 +5 +3,6,15,27 +14 +2,6,23 +6,21 +5,45 +6,8 +4 +5,6 +4,5,6,21 +2,6,14,15 +2,4,6,14,17,22 +6,14 +6,20,25 +5,6,14 +17 +6,40 +6,10 +6,7 +2,6,17 +6,22 +3,5,6,40 +0 +4,6,24,45 +6 +5,6,7 +5,6,7,15,21 +49 +2,5,6,10,43 +43 +3,6,47 +4,6,20,21 +3,6 +2,6,17,20,25,29,47 +2,3 +2,6,17 +6,23,34,40 +6,11,13 +5,6,14,17 +2,6,35 +5,14,19,22 +7,26 +6,7,16 +4,14,25 +7,17 +5,6 +6,21,27,50 +6,13,14,20 +5,6,8,39 +3,5,6 +4,5,6,14,25 +3,4,5,6,12 +6,12 +6,7 +6 +3,6,13 +5,6 +6,11,14 +5,6 +6,14,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +3,6,25 +3,6,7,27 +5,6,15 +4,5,6,7,8,12,17 +4,7 +4,6,12,17 +4,13 +6,14 +3,5,6,14,45 +13,14,16,32,45,49 +4,6,14,25 +6,16,43 +6,12,19,25 +4,6 +2,5,6,19 +5,6,12,25 +6 +3,6 +5,6,15 +20 +6,7,27 +2,5 +6 +5,6,13 +6,22,43 +6,7,13 +4,6,12,40 +6 +5,6,14 +2,6,17 +5 +6,17 +5 +3,7 +6 +6,8,13,14,20,22 +6,10,14 +6,22,47 +3,4,6 +5 +3,6,20 +6,22 +2,4,5,6,13,17 +5,6,13 +6,7 +3,5,6,14,28,34 +6,7 +4,5,6,7,8,20 +6,19,46 +6,23 +5,6,8,14,22 +6 +6,43 +6,25,40 +4 +3,5,6,20 +14,15,42 +6,13 +3,14,22,38,42,45 +5,6,22,33 +6 +6,25 +5 +6,14 +5,6,28,44 +5 +0 +6,28 +6 +6,20 +5,6,39 +6 +6,14,19 +5,6,11 +6 +6,15 +4,10,13,20,32 +8,14 +8 +11,13,17,22,43 +6,33 +3,5,6 +5,6,14,28 +6,35 +6,14 +10,27 +4,5,23 +6,7,20,23 +6 +5,6 +6 +6,8,17 +5,6 +39 +8,13 +14 +12 +5 +6,14,25 +5,13 +6,35 +3,4,6,47 +6,35 +4,14,20,28 +6,20,42 +5,6,14,17,45 +5 +4,6,26,33 +5,6,47 +6,20,35,50 +5,6,8,17 +4,6,12 +0 +5,6,17 +6 +6,14,44 +3,12,14,20 +6,22 +6,19 +5,6,43 +3,5,10,16 +6 +4,5,6,7,20 +6,14,27 +4,5 +3,6,20 +6,12,19 +3,4 +0 +3,5,14,26,42 +4,6,22 +4,5,6 +14 +6,7 +6,7 +6,13,17 +5 +0 +6 +6,14 +3,5,6,22,26,50 +3,6,26 +5 +5,6 +6 +3,4,6 +6,17,28,50 +6 +4,6,11,13 +4,6 +6 +5 +6,14 +6,14,24 +3,5,6 +5 +5,6,14 +5,20 +6,20 +12 +4,6,12,14 +4,6,20 +35,42 +6 +6,14,16,39 +6,7,13,17,45 +4,5,6,7,14,28,45,47 +50 +6 +5,6,12 +6,12,15 +6 +0 +5,6,7,12,15 +3,4,5,14,23,28 +6,12 +4,15 +4,34 +6 +6,19,20 +6,10,14 +6,17,39 +0 +3,5 +6,24 +3,6,14 +33 +4,6,33 +4,7,19 +3,4,6,14 +6,24 +5,6,7,12,14 +6,14 +6,20 +4,5,7 +13,17 +6 +3,5,6,14,15,20 +5,6,12 +6 +5,6 +6 +4,6,12 +5,44 +6 +5 +3,6,44 +4 +4,6 +3,6,7,14 +5,6,14 +5 +5,6 +3,5,6,15 +5,6,11 +6,13 +6,50 +6,7,17,39 +6 +5 +5,14,26 +6 +5 +7,14 +6,7,39 +6 +4,6,17 +6,7,17,23,28,47 +5,6,14,17 +6,14,17 +5,15 +3,4,6,14 +0 +6,14,17 +4,5,6,20,26,35 +5,6 +14,23,42 +3,6 +8,42 +3,6 +6,14 +3,4,6,10 +5,6 +5,6,14 +5,26,28,50 +4,6,33 +5,6 +6,14 +6 +4,6,14 +6,8,10,14 +4,6 +5,6,26,42,43 +14,24 +6,45 +6,14,15 +6,19,38 +5,6,26 +0 +4,20 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +5,35 +4 +5,23 +5,14 +5 +19,20,28 +4,8,23,28,42 +14 +0 +5,33 +4,14,23 +19,33,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +5,14 +4,5,11 +4,19 +4,23 +14 +5,13,42 +5,13 +0 +14,28 +4 +0 +10,11,14 +33 +5,14,44,50 +8,14,15,28 +4,11,42 diff --git a/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_labels_map.txt b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_labels_map.txt new file mode 100644 index 0000000..427d02b --- /dev/null +++ b/siftsmall/testing_data/siftsmall_R32_L50_filtered_index_labels_map.txt @@ -0,0 +1,51 @@ +46 50 +29 49 +49 51 +42 47 +24 46 +48 45 +31 44 +20 42 +43 40 +50 39 +38 36 +37 35 +33 33 +28 43 +41 32 +44 37 +12 13 +13 12 +15 28 +19 16 +32 41 +26 11 +34 48 +14 21 +4 4 +18 10 +39 34 +11 2 +36 38 +1 6 +9 20 +22 23 +5 3 +40 9 +0 0 +17 19 +23 8 +21 18 +8 22 +16 15 +47 24 +27 30 +35 27 +7 17 +10 25 +45 31 +6 7 +3 14 +30 26 +2 5 +25 29 diff --git a/testing_data/base_attrs.txt b/testing_data/base_attrs.txt new file mode 100644 index 0000000..2848e05 --- /dev/null +++ b/testing_data/base_attrs.txt @@ -0,0 +1,26 @@ +CAT=ExteriorAccessories +CAT=ExteriorAccessories&&RATING=4|RATING=5 +CAT=ExteriorAccessories&RATING=5 +CAT=BumperStickersDecalsMagnets +CAT=BumperStickersDecalsMagnets&RATING=4|RATING=5 +CAT=BumperStickersDecalsMagnets&RATING=5 +CAT=ReplacementParts +CAT=ReplacementParts&&RATING=4|RATING=5 +CAT=ReplacementParts&RATING=5 +CAT=ShocksStrutsSuspension +CAT=ShocksStrutsSuspension&RATING=4|RATING=5 +CAT=ShocksStrutsSuspension&RATING=5 +CAT=ReplacementParts +CAT=ReplacementParts&&RATING=4|RATING=5 +CAT=ReplacementParts&RATING=5 +CAT=ShocksStrutsSuspension +CAT=ShocksStrutsSuspension&RATING=4|RATING=5 +CAT=ShocksStrutsSuspension&RATING=5 +CAT=InteriorAccessories +CAT=InteriorAccessories&&RATING=4|RATING=5 +CAT=InteriorAccessories&RATING=5 +CAT=Anti-Theft +CAT=Anti-Theft&RATING=4|RATING=5 +CAT=Anti-Theft&RATING=5 +CAT=InteriorAccessories +CAT=InteriorAccessories&&RATING=4|RATING=5 \ No newline at end of file diff --git a/testing_data/base_attrs_sift0m_nc=12_assignment=rand.json b/testing_data/base_attrs_sift0m_nc=12_assignment=rand.json new file mode 100644 index 0000000..df8608b --- /dev/null +++ b/testing_data/base_attrs_sift0m_nc=12_assignment=rand.json @@ -0,0 +1,10002 @@ +[ + 2, + 6, + 6, + 0, + 6, + 4, + 6, + 6, + 4, + 6, + 3, + 5, + 5, + 6, + 2, + 13, + 6, + 10, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 6, + 5, + 2, + 6, + 5, + 6, + 4, + 6, + 6, + 3, + 3, + 4, + 2, + 6, + 5, + 6, + 3, + 28, + 6, + 2, + 5, + 6, + 26, + 5, + 6, + 5, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 5, + 6, + 6, + 3, + 5, + 7, + 6, + 2, + 6, + 4, + 10, + 5, + 6, + 6, + 5, + 6, + 6, + 7, + 3, + 2, + 31, + 2, + 0, + 4, + 4, + 2, + 5, + 5, + 2, + 4, + 12, + 6, + 6, + 3, + 30, + 6, + 2, + 6, + 14, + 4, + 6, + 3, + 4, + 4, + 50, + 14, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 6, + 10, + 6, + 49, + 6, + 3, + 4, + 4, + 6, + 0, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 3, + 4, + 5, + 6, + 5, + 3, + 7, + 6, + 6, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 3, + 2, + 5, + 6, + 5, + 4, + 6, + 14, + 3, + 6, + 5, + 5, + 6, + 0, + 6, + 3, + 3, + 5, + 4, + 3, + 5, + 2, + 6, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 5, + 4, + 6, + 3, + 5, + 13, + 6, + 6, + 3, + 2, + 5, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 5, + 6, + 4, + 7, + 5, + 5, + 5, + 4, + 6, + 4, + 5, + 4, + 3, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 5, + 4, + 3, + 6, + 6, + 6, + 6, + 5, + 6, + 7, + 5, + 3, + 7, + 5, + 5, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 5, + 6, + 6, + 5, + 3, + 5, + 6, + 5, + 3, + 3, + 5, + 4, + 4, + 3, + 28, + 5, + 17, + 5, + 3, + 5, + 4, + 5, + 6, + 5, + 5, + 0, + 4, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 6, + 16, + 18, + 5, + 6, + 0, + 3, + 2, + 6, + 6, + 5, + 5, + 5, + 2, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 0, + 3, + 6, + 5, + 4, + 5, + 2, + 10, + 3, + 17, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 2, + 4, + 2, + 4, + 6, + 17, + 6, + 2, + 5, + 4, + 4, + 4, + 22, + 3, + 0, + 4, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 5, + 6, + 14, + 10, + 5, + 6, + 2, + 6, + 6, + 5, + 2, + 6, + 4, + 12, + 4, + 5, + 17, + 3, + 6, + 6, + 5, + 5, + 5, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 17, + 3, + 5, + 5, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 6, + 6, + 17, + 6, + 6, + 6, + 4, + 6, + 5, + 3, + 15, + 6, + 5, + 4, + 6, + 4, + 6, + 22, + 6, + 2, + 4, + 10, + 2, + 19, + 6, + 5, + 4, + 5, + 3, + 3, + 7, + 6, + 6, + 3, + 6, + 5, + 2, + 8, + 5, + 4, + 4, + 6, + 3, + 5, + 4, + 12, + 3, + 5, + 2, + 3, + 2, + 2, + 14, + 6, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 5, + 3, + 5, + 2, + 4, + 4, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 0, + 14, + 5, + 3, + 2, + 4, + 3, + 3, + 6, + 5, + 6, + 14, + 6, + 6, + 2, + 3, + 3, + 0, + 0, + 5, + 6, + 3, + 6, + 3, + 3, + 6, + 5, + 6, + 0, + 4, + 5, + 4, + 3, + 6, + 6, + 6, + 3, + 14, + 4, + 6, + 4, + 6, + 6, + 6, + 2, + 4, + 6, + 4, + 3, + 4, + 4, + 3, + 6, + 6, + 6, + 5, + 6, + 17, + 6, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 14, + 0, + 2, + 4, + 14, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 2, + 3, + 5, + 15, + 5, + 2, + 3, + 5, + 0, + 38, + 6, + 0, + 3, + 6, + 6, + 5, + 0, + 6, + 6, + 5, + 14, + 6, + 4, + 6, + 6, + 6, + 14, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 4, + 6, + 3, + 6, + 40, + 2, + 5, + 3, + 10, + 3, + 2, + 7, + 5, + 6, + 6, + 2, + 5, + 3, + 3, + 4, + 6, + 3, + 6, + 6, + 4, + 6, + 23, + 6, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 6, + 7, + 5, + 8, + 6, + 6, + 3, + 6, + 6, + 4, + 5, + 0, + 6, + 6, + 5, + 4, + 6, + 14, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 5, + 6, + 3, + 5, + 5, + 6, + 2, + 15, + 2, + 6, + 3, + 2, + 6, + 4, + 5, + 4, + 5, + 5, + 6, + 5, + 2, + 2, + 12, + 5, + 6, + 4, + 4, + 6, + 6, + 5, + 3, + 5, + 3, + 5, + 3, + 5, + 5, + 5, + 3, + 5, + 0, + 5, + 17, + 5, + 6, + 4, + 5, + 0, + 5, + 6, + 2, + 3, + 2, + 6, + 4, + 6, + 5, + 4, + 3, + 2, + 3, + 5, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 6, + 6, + 3, + 4, + 2, + 6, + 3, + 6, + 3, + 6, + 5, + 0, + 6, + 6, + 3, + 6, + 3, + 5, + 3, + 4, + 4, + 6, + 4, + 3, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 3, + 3, + 3, + 5, + 5, + 5, + 5, + 4, + 6, + 4, + 2, + 6, + 14, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 15, + 6, + 2, + 5, + 10, + 5, + 5, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 3, + 12, + 6, + 5, + 6, + 3, + 4, + 5, + 13, + 3, + 15, + 6, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 4, + 6, + 2, + 22, + 3, + 6, + 5, + 5, + 4, + 4, + 6, + 3, + 4, + 6, + 2, + 2, + 3, + 2, + 5, + 6, + 6, + 2, + 6, + 5, + 2, + 6, + 5, + 6, + 5, + 4, + 6, + 6, + 6, + 8, + 5, + 3, + 5, + 3, + 4, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 2, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 12, + 3, + 14, + 6, + 14, + 3, + 5, + 3, + 4, + 4, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 17, + 3, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 12, + 4, + 5, + 5, + 4, + 5, + 5, + 5, + 6, + 6, + 9, + 6, + 3, + 4, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 4, + 4, + 4, + 2, + 4, + 14, + 5, + 5, + 5, + 4, + 25, + 6, + 6, + 3, + 4, + 4, + 4, + 4, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 5, + 6, + 3, + 4, + 5, + 6, + 20, + 4, + 4, + 6, + 3, + 5, + 6, + 5, + 3, + 3, + 3, + 4, + 2, + 2, + 3, + 2, + 6, + 5, + 0, + 14, + 2, + 6, + 6, + 6, + 5, + 6, + 2, + 5, + 4, + 4, + 6, + 4, + 6, + 2, + 5, + 6, + 5, + 5, + 6, + 39, + 13, + 4, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 6, + 3, + 6, + 3, + 3, + 5, + 6, + 2, + 6, + 6, + 6, + 14, + 14, + 6, + 4, + 7, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 5, + 4, + 6, + 3, + 6, + 2, + 6, + 4, + 4, + 13, + 5, + 3, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 4, + 4, + 20, + 2, + 6, + 5, + 5, + 6, + 4, + 4, + 4, + 5, + 6, + 3, + 17, + 6, + 14, + 6, + 5, + 5, + 6, + 3, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 4, + 3, + 9, + 5, + 5, + 6, + 6, + 5, + 2, + 25, + 4, + 6, + 3, + 6, + 6, + 6, + 2, + 6, + 6, + 4, + 3, + 20, + 6, + 6, + 6, + 0, + 6, + 6, + 49, + 6, + 5, + 5, + 5, + 48, + 14, + 6, + 3, + 5, + 5, + 0, + 2, + 4, + 6, + 4, + 5, + 6, + 2, + 8, + 6, + 3, + 14, + 6, + 5, + 3, + 4, + 6, + 6, + 3, + 4, + 4, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 4, + 4, + 6, + 13, + 39, + 4, + 6, + 6, + 3, + 4, + 3, + 6, + 3, + 6, + 3, + 3, + 5, + 15, + 6, + 6, + 5, + 5, + 6, + 5, + 3, + 5, + 6, + 6, + 3, + 10, + 6, + 6, + 5, + 0, + 3, + 3, + 5, + 4, + 4, + 14, + 5, + 6, + 5, + 18, + 19, + 5, + 5, + 6, + 2, + 6, + 5, + 14, + 5, + 5, + 2, + 6, + 3, + 6, + 6, + 14, + 3, + 6, + 6, + 3, + 4, + 19, + 8, + 6, + 4, + 3, + 6, + 4, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 0, + 6, + 19, + 6, + 3, + 4, + 6, + 6, + 3, + 6, + 5, + 4, + 4, + 5, + 43, + 5, + 5, + 6, + 6, + 4, + 4, + 5, + 17, + 6, + 6, + 14, + 4, + 6, + 14, + 4, + 5, + 7, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 6, + 12, + 4, + 5, + 4, + 6, + 6, + 3, + 5, + 5, + 13, + 6, + 3, + 2, + 13, + 3, + 6, + 3, + 4, + 2, + 3, + 6, + 6, + 14, + 3, + 5, + 5, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 16, + 2, + 6, + 5, + 30, + 6, + 5, + 4, + 6, + 6, + 3, + 5, + 2, + 4, + 4, + 5, + 0, + 5, + 6, + 6, + 6, + 5, + 5, + 5, + 18, + 5, + 6, + 4, + 0, + 3, + 3, + 6, + 5, + 6, + 6, + 13, + 3, + 2, + 6, + 12, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 4, + 5, + 4, + 2, + 5, + 2, + 0, + 7, + 0, + 3, + 2, + 4, + 24, + 4, + 6, + 14, + 5, + 6, + 6, + 13, + 4, + 4, + 5, + 6, + 6, + 3, + 5, + 2, + 6, + 5, + 4, + 5, + 2, + 4, + 6, + 22, + 6, + 6, + 5, + 6, + 5, + 20, + 5, + 3, + 4, + 6, + 6, + 6, + 5, + 2, + 3, + 3, + 14, + 6, + 4, + 5, + 3, + 12, + 2, + 5, + 3, + 5, + 2, + 2, + 4, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 6, + 3, + 6, + 14, + 4, + 6, + 4, + 6, + 4, + 2, + 4, + 3, + 2, + 6, + 5, + 2, + 6, + 6, + 0, + 23, + 5, + 5, + 5, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 6, + 6, + 9, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 17, + 6, + 8, + 5, + 15, + 4, + 2, + 3, + 5, + 6, + 5, + 4, + 5, + 4, + 4, + 4, + 26, + 4, + 6, + 17, + 5, + 7, + 6, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 14, + 6, + 14, + 5, + 6, + 5, + 0, + 5, + 3, + 6, + 4, + 7, + 6, + 3, + 5, + 13, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 5, + 6, + 14, + 7, + 5, + 3, + 6, + 3, + 7, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 2, + 14, + 3, + 4, + 4, + 5, + 7, + 6, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 4, + 11, + 5, + 5, + 6, + 6, + 2, + 6, + 7, + 6, + 6, + 5, + 6, + 26, + 4, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 4, + 7, + 3, + 4, + 6, + 6, + 19, + 5, + 5, + 6, + 2, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 3, + 2, + 5, + 29, + 5, + 3, + 4, + 14, + 6, + 3, + 5, + 8, + 4, + 4, + 6, + 6, + 2, + 3, + 3, + 6, + 3, + 5, + 5, + 14, + 0, + 11, + 5, + 6, + 5, + 6, + 6, + 4, + 14, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 5, + 2, + 4, + 5, + 3, + 5, + 3, + 2, + 5, + 5, + 5, + 3, + 6, + 3, + 4, + 28, + 4, + 0, + 0, + 7, + 9, + 6, + 6, + 5, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 28, + 6, + 3, + 6, + 4, + 2, + 7, + 20, + 3, + 2, + 6, + 6, + 19, + 4, + 4, + 6, + 3, + 5, + 5, + 20, + 6, + 6, + 5, + 3, + 5, + 0, + 5, + 2, + 6, + 2, + 6, + 4, + 6, + 14, + 6, + 25, + 5, + 3, + 3, + 6, + 6, + 0, + 5, + 6, + 33, + 4, + 2, + 16, + 7, + 4, + 3, + 6, + 6, + 5, + 0, + 6, + 3, + 4, + 5, + 6, + 4, + 14, + 5, + 6, + 3, + 3, + 3, + 5, + 6, + 5, + 2, + 4, + 6, + 2, + 2, + 2, + 4, + 6, + 5, + 20, + 6, + 4, + 18, + 6, + 3, + 2, + 6, + 5, + 17, + 6, + 5, + 3, + 5, + 6, + 2, + 6, + 4, + 5, + 5, + 6, + 4, + 4, + 6, + 2, + 6, + 3, + 6, + 4, + 6, + 6, + 22, + 6, + 7, + 3, + 3, + 6, + 2, + 3, + 6, + 6, + 3, + 4, + 2, + 27, + 6, + 5, + 4, + 5, + 5, + 2, + 5, + 2, + 5, + 9, + 6, + 6, + 6, + 12, + 6, + 4, + 6, + 5, + 14, + 6, + 6, + 3, + 5, + 3, + 12, + 6, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 6, + 0, + 3, + 4, + 3, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 3, + 3, + 6, + 6, + 4, + 6, + 3, + 2, + 14, + 3, + 48, + 4, + 4, + 6, + 5, + 3, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 49, + 5, + 3, + 6, + 3, + 6, + 6, + 3, + 8, + 4, + 25, + 6, + 3, + 5, + 4, + 4, + 2, + 3, + 7, + 4, + 6, + 6, + 4, + 0, + 2, + 13, + 5, + 4, + 4, + 2, + 3, + 20, + 6, + 5, + 3, + 9, + 4, + 5, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 4, + 6, + 6, + 5, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 14, + 3, + 44, + 5, + 3, + 10, + 17, + 4, + 6, + 5, + 16, + 0, + 6, + 5, + 12, + 6, + 5, + 4, + 6, + 3, + 6, + 12, + 5, + 6, + 5, + 3, + 6, + 4, + 2, + 4, + 20, + 4, + 4, + 5, + 5, + 6, + 3, + 3, + 3, + 4, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 2, + 3, + 6, + 6, + 3, + 3, + 2, + 6, + 2, + 0, + 0, + 6, + 5, + 2, + 7, + 6, + 3, + 6, + 6, + 5, + 8, + 4, + 20, + 4, + 5, + 4, + 15, + 6, + 6, + 6, + 2, + 4, + 5, + 6, + 20, + 4, + 10, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 14, + 2, + 6, + 3, + 6, + 34, + 6, + 4, + 5, + 5, + 4, + 4, + 3, + 2, + 5, + 6, + 6, + 14, + 6, + 5, + 5, + 5, + 14, + 4, + 6, + 6, + 4, + 3, + 12, + 6, + 5, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 6, + 30, + 6, + 6, + 6, + 2, + 5, + 3, + 5, + 5, + 6, + 3, + 25, + 4, + 5, + 3, + 4, + 0, + 6, + 6, + 4, + 3, + 6, + 5, + 4, + 31, + 14, + 5, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 5, + 40, + 5, + 6, + 4, + 4, + 4, + 6, + 4, + 5, + 5, + 6, + 6, + 6, + 4, + 3, + 6, + 5, + 14, + 6, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 16, + 4, + 6, + 5, + 7, + 13, + 5, + 3, + 5, + 4, + 6, + 2, + 3, + 6, + 4, + 3, + 2, + 2, + 6, + 5, + 16, + 5, + 5, + 5, + 5, + 23, + 5, + 3, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 2, + 3, + 6, + 2, + 3, + 5, + 2, + 4, + 3, + 4, + 6, + 3, + 6, + 6, + 5, + 5, + 6, + 5, + 5, + 8, + 4, + 2, + 10, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 0, + 5, + 22, + 2, + 5, + 5, + 5, + 6, + 14, + 6, + 5, + 4, + 5, + 5, + 6, + 4, + 3, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 2, + 4, + 49, + 5, + 5, + 2, + 5, + 4, + 30, + 6, + 6, + 7, + 3, + 6, + 2, + 5, + 5, + 25, + 5, + 3, + 6, + 3, + 5, + 6, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 5, + 5, + 17, + 6, + 5, + 5, + 13, + 6, + 6, + 4, + 6, + 3, + 4, + 5, + 36, + 2, + 3, + 4, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 6, + 4, + 5, + 2, + 5, + 5, + 0, + 14, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 5, + 3, + 3, + 2, + 5, + 25, + 5, + 5, + 0, + 4, + 35, + 50, + 6, + 4, + 5, + 4, + 6, + 3, + 4, + 18, + 6, + 20, + 6, + 6, + 5, + 5, + 6, + 6, + 3, + 19, + 4, + 2, + 13, + 5, + 7, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 5, + 5, + 15, + 6, + 6, + 5, + 2, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 6, + 2, + 6, + 3, + 4, + 6, + 17, + 6, + 5, + 3, + 2, + 4, + 6, + 3, + 3, + 6, + 6, + 6, + 34, + 6, + 4, + 6, + 4, + 6, + 6, + 3, + 6, + 6, + 3, + 5, + 3, + 3, + 6, + 6, + 5, + 3, + 4, + 6, + 2, + 6, + 4, + 6, + 3, + 7, + 5, + 4, + 6, + 37, + 6, + 6, + 25, + 3, + 3, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 4, + 10, + 0, + 3, + 0, + 6, + 3, + 5, + 3, + 4, + 6, + 6, + 5, + 6, + 3, + 5, + 6, + 14, + 6, + 6, + 2, + 4, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 6, + 20, + 3, + 5, + 6, + 4, + 5, + 5, + 3, + 5, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 6, + 17, + 5, + 4, + 6, + 6, + 11, + 3, + 3, + 6, + 6, + 6, + 4, + 0, + 13, + 6, + 4, + 6, + 5, + 4, + 7, + 3, + 14, + 4, + 4, + 6, + 4, + 6, + 7, + 6, + 5, + 4, + 4, + 3, + 3, + 4, + 14, + 0, + 5, + 6, + 7, + 6, + 14, + 6, + 4, + 3, + 5, + 30, + 6, + 4, + 5, + 3, + 5, + 22, + 2, + 8, + 5, + 3, + 3, + 6, + 4, + 6, + 25, + 4, + 3, + 2, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 7, + 6, + 3, + 4, + 5, + 3, + 6, + 6, + 6, + 22, + 6, + 4, + 0, + 5, + 4, + 4, + 6, + 5, + 6, + 3, + 4, + 25, + 5, + 3, + 6, + 3, + 5, + 14, + 4, + 6, + 13, + 3, + 5, + 5, + 6, + 12, + 29, + 5, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 3, + 6, + 2, + 5, + 4, + 6, + 2, + 4, + 5, + 5, + 6, + 6, + 47, + 6, + 12, + 6, + 5, + 7, + 6, + 4, + 18, + 6, + 5, + 2, + 4, + 3, + 4, + 4, + 4, + 3, + 4, + 5, + 6, + 6, + 18, + 6, + 4, + 5, + 0, + 4, + 3, + 2, + 5, + 2, + 5, + 4, + 6, + 5, + 38, + 2, + 5, + 2, + 3, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 7, + 3, + 4, + 4, + 6, + 3, + 33, + 4, + 6, + 3, + 5, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 3, + 3, + 5, + 4, + 5, + 6, + 5, + 11, + 23, + 4, + 4, + 6, + 6, + 2, + 6, + 3, + 0, + 2, + 4, + 7, + 6, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 4, + 2, + 2, + 6, + 3, + 5, + 5, + 4, + 2, + 4, + 6, + 5, + 14, + 6, + 6, + 6, + 7, + 5, + 6, + 0, + 5, + 2, + 7, + 5, + 21, + 5, + 4, + 8, + 5, + 6, + 4, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 0, + 3, + 3, + 14, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 3, + 2, + 6, + 6, + 4, + 6, + 3, + 4, + 3, + 2, + 3, + 4, + 3, + 3, + 0, + 0, + 4, + 6, + 5, + 2, + 4, + 19, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 4, + 6, + 6, + 0, + 6, + 2, + 4, + 5, + 4, + 6, + 4, + 21, + 5, + 20, + 5, + 3, + 2, + 6, + 5, + 4, + 6, + 2, + 6, + 4, + 4, + 16, + 7, + 6, + 6, + 5, + 7, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 6, + 4, + 6, + 6, + 14, + 22, + 4, + 6, + 5, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 2, + 5, + 5, + 5, + 6, + 5, + 3, + 20, + 3, + 6, + 0, + 6, + 6, + 6, + 3, + 6, + 6, + 6, + 6, + 5, + 27, + 3, + 5, + 3, + 3, + 6, + 26, + 6, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 6, + 6, + 27, + 6, + 4, + 6, + 12, + 4, + 5, + 6, + 12, + 3, + 13, + 5, + 3, + 5, + 14, + 19, + 12, + 3, + 5, + 35, + 6, + 3, + 6, + 4, + 12, + 6, + 3, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 3, + 20, + 5, + 3, + 5, + 4, + 6, + 4, + 3, + 24, + 6, + 5, + 6, + 6, + 5, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 19, + 6, + 0, + 3, + 6, + 3, + 6, + 7, + 6, + 5, + 5, + 3, + 5, + 6, + 6, + 5, + 4, + 2, + 22, + 6, + 3, + 2, + 4, + 5, + 6, + 5, + 6, + 6, + 7, + 3, + 6, + 3, + 3, + 5, + 5, + 14, + 7, + 5, + 22, + 12, + 5, + 4, + 4, + 6, + 6, + 6, + 5, + 3, + 6, + 4, + 3, + 6, + 6, + 4, + 5, + 3, + 6, + 5, + 5, + 3, + 5, + 18, + 4, + 6, + 6, + 2, + 3, + 6, + 4, + 3, + 4, + 6, + 5, + 6, + 14, + 5, + 14, + 6, + 3, + 20, + 6, + 6, + 4, + 7, + 6, + 5, + 5, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 5, + 4, + 6, + 3, + 3, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 10, + 3, + 5, + 5, + 5, + 4, + 3, + 5, + 2, + 6, + 6, + 4, + 6, + 4, + 15, + 5, + 3, + 3, + 6, + 5, + 3, + 5, + 6, + 3, + 4, + 6, + 2, + 4, + 3, + 3, + 0, + 3, + 5, + 3, + 4, + 6, + 5, + 4, + 14, + 6, + 5, + 3, + 0, + 14, + 5, + 3, + 2, + 6, + 6, + 3, + 4, + 2, + 4, + 6, + 6, + 4, + 4, + 4, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 5, + 4, + 5, + 5, + 5, + 4, + 2, + 5, + 5, + 5, + 5, + 4, + 6, + 20, + 6, + 12, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 6, + 14, + 3, + 4, + 5, + 6, + 6, + 4, + 5, + 6, + 4, + 6, + 6, + 5, + 2, + 5, + 3, + 3, + 6, + 3, + 4, + 6, + 7, + 5, + 2, + 5, + 0, + 6, + 3, + 3, + 4, + 6, + 3, + 7, + 7, + 4, + 7, + 3, + 4, + 6, + 4, + 3, + 4, + 4, + 2, + 7, + 6, + 6, + 3, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 12, + 6, + 5, + 2, + 3, + 8, + 5, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 6, + 5, + 3, + 5, + 5, + 5, + 8, + 6, + 21, + 5, + 6, + 4, + 3, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 5, + 31, + 3, + 5, + 5, + 3, + 12, + 0, + 5, + 6, + 6, + 5, + 2, + 6, + 6, + 3, + 2, + 6, + 3, + 6, + 3, + 6, + 4, + 6, + 6, + 4, + 0, + 3, + 6, + 23, + 46, + 6, + 3, + 4, + 6, + 6, + 13, + 5, + 3, + 3, + 5, + 5, + 6, + 3, + 25, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 2, + 6, + 5, + 5, + 20, + 11, + 2, + 6, + 6, + 0, + 6, + 5, + 6, + 4, + 6, + 3, + 5, + 3, + 7, + 5, + 10, + 4, + 25, + 6, + 5, + 5, + 14, + 3, + 6, + 4, + 4, + 3, + 20, + 36, + 6, + 5, + 14, + 14, + 6, + 4, + 2, + 5, + 3, + 2, + 26, + 20, + 6, + 4, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 35, + 6, + 5, + 3, + 6, + 5, + 3, + 5, + 6, + 5, + 4, + 4, + 3, + 2, + 5, + 4, + 6, + 0, + 5, + 4, + 3, + 5, + 14, + 6, + 5, + 7, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 5, + 2, + 5, + 6, + 2, + 2, + 3, + 2, + 5, + 2, + 6, + 6, + 4, + 5, + 2, + 2, + 4, + 0, + 6, + 6, + 4, + 6, + 3, + 6, + 5, + 6, + 5, + 4, + 6, + 12, + 5, + 6, + 4, + 6, + 5, + 6, + 5, + 22, + 6, + 6, + 6, + 6, + 6, + 3, + 5, + 4, + 4, + 2, + 5, + 3, + 6, + 4, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 3, + 3, + 25, + 6, + 3, + 0, + 0, + 4, + 6, + 6, + 2, + 5, + 4, + 6, + 26, + 5, + 5, + 2, + 6, + 3, + 5, + 3, + 4, + 5, + 6, + 6, + 5, + 3, + 3, + 13, + 4, + 7, + 5, + 5, + 6, + 6, + 6, + 0, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 6, + 7, + 6, + 2, + 6, + 4, + 4, + 3, + 5, + 4, + 7, + 5, + 6, + 14, + 6, + 3, + 6, + 5, + 6, + 5, + 5, + 5, + 0, + 6, + 6, + 3, + 6, + 4, + 14, + 5, + 6, + 5, + 3, + 5, + 3, + 24, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 3, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 2, + 6, + 6, + 3, + 2, + 29, + 5, + 5, + 31, + 2, + 7, + 10, + 6, + 17, + 5, + 3, + 6, + 5, + 4, + 5, + 5, + 6, + 5, + 4, + 2, + 4, + 19, + 6, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 4, + 6, + 5, + 4, + 5, + 3, + 2, + 3, + 6, + 3, + 0, + 6, + 2, + 6, + 2, + 4, + 4, + 2, + 3, + 21, + 4, + 5, + 5, + 6, + 4, + 2, + 2, + 2, + 5, + 4, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 6, + 26, + 5, + 3, + 3, + 4, + 17, + 5, + 3, + 0, + 4, + 3, + 7, + 5, + 4, + 2, + 6, + 2, + 5, + 6, + 6, + 5, + 2, + 5, + 38, + 5, + 6, + 5, + 0, + 6, + 6, + 17, + 3, + 6, + 3, + 2, + 5, + 4, + 3, + 6, + 6, + 3, + 3, + 5, + 23, + 5, + 6, + 6, + 5, + 6, + 2, + 5, + 6, + 5, + 14, + 4, + 6, + 4, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 0, + 4, + 4, + 5, + 5, + 12, + 6, + 6, + 44, + 5, + 5, + 2, + 6, + 5, + 2, + 14, + 4, + 2, + 5, + 50, + 2, + 4, + 13, + 3, + 6, + 5, + 6, + 6, + 4, + 5, + 5, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 6, + 6, + 6, + 3, + 4, + 3, + 6, + 2, + 29, + 6, + 5, + 2, + 44, + 6, + 14, + 5, + 6, + 5, + 4, + 6, + 4, + 9, + 5, + 3, + 5, + 2, + 5, + 23, + 5, + 0, + 5, + 6, + 7, + 3, + 6, + 3, + 4, + 6, + 5, + 3, + 0, + 3, + 6, + 5, + 41, + 6, + 5, + 6, + 6, + 5, + 6, + 14, + 6, + 5, + 3, + 6, + 3, + 3, + 12, + 6, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 2, + 6, + 6, + 2, + 2, + 6, + 8, + 14, + 4, + 3, + 6, + 6, + 5, + 5, + 3, + 3, + 6, + 22, + 6, + 4, + 6, + 3, + 5, + 5, + 5, + 2, + 2, + 0, + 6, + 6, + 5, + 5, + 5, + 4, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 3, + 12, + 8, + 6, + 3, + 2, + 6, + 5, + 17, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 17, + 5, + 2, + 3, + 7, + 5, + 3, + 6, + 6, + 0, + 6, + 5, + 3, + 4, + 5, + 5, + 18, + 6, + 22, + 3, + 5, + 5, + 3, + 5, + 6, + 5, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 3, + 6, + 4, + 5, + 5, + 5, + 6, + 6, + 4, + 5, + 21, + 5, + 0, + 2, + 2, + 3, + 3, + 4, + 6, + 6, + 0, + 5, + 6, + 6, + 6, + 3, + 3, + 5, + 6, + 3, + 6, + 4, + 3, + 5, + 5, + 6, + 4, + 4, + 5, + 6, + 5, + 6, + 5, + 14, + 4, + 5, + 14, + 6, + 19, + 4, + 20, + 3, + 9, + 6, + 14, + 4, + 6, + 5, + 44, + 6, + 4, + 4, + 6, + 5, + 3, + 2, + 42, + 5, + 2, + 6, + 3, + 4, + 5, + 3, + 5, + 25, + 6, + 2, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 3, + 6, + 2, + 7, + 13, + 6, + 2, + 5, + 5, + 5, + 5, + 21, + 4, + 3, + 8, + 6, + 6, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 2, + 5, + 6, + 6, + 5, + 5, + 5, + 5, + 3, + 6, + 6, + 4, + 6, + 6, + 4, + 0, + 6, + 44, + 2, + 4, + 13, + 5, + 4, + 26, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 3, + 4, + 4, + 6, + 6, + 2, + 0, + 3, + 6, + 3, + 4, + 4, + 6, + 4, + 5, + 7, + 5, + 4, + 6, + 5, + 7, + 4, + 4, + 4, + 6, + 17, + 4, + 5, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 26, + 5, + 14, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 28, + 6, + 6, + 4, + 6, + 4, + 5, + 4, + 0, + 6, + 6, + 4, + 4, + 6, + 21, + 5, + 2, + 2, + 3, + 5, + 7, + 12, + 6, + 6, + 25, + 6, + 28, + 5, + 6, + 4, + 17, + 5, + 5, + 14, + 5, + 10, + 6, + 6, + 6, + 12, + 6, + 6, + 4, + 3, + 23, + 10, + 0, + 2, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 6, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 12, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 6, + 11, + 6, + 6, + 6, + 5, + 46, + 5, + 3, + 6, + 3, + 12, + 5, + 14, + 4, + 6, + 4, + 4, + 5, + 2, + 6, + 6, + 5, + 4, + 14, + 2, + 5, + 4, + 2, + 3, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 42, + 3, + 4, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 3, + 4, + 10, + 3, + 6, + 5, + 3, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 6, + 7, + 4, + 2, + 6, + 6, + 5, + 5, + 4, + 26, + 5, + 5, + 21, + 7, + 5, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 4, + 5, + 6, + 3, + 5, + 6, + 4, + 3, + 4, + 5, + 4, + 6, + 5, + 3, + 2, + 5, + 3, + 0, + 3, + 2, + 6, + 5, + 4, + 3, + 3, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 14, + 6, + 6, + 2, + 5, + 6, + 4, + 3, + 7, + 3, + 5, + 6, + 3, + 5, + 6, + 3, + 5, + 2, + 5, + 2, + 5, + 5, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 6, + 3, + 3, + 9, + 5, + 6, + 6, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 5, + 7, + 6, + 14, + 8, + 2, + 4, + 17, + 5, + 6, + 4, + 3, + 4, + 6, + 5, + 5, + 3, + 6, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 5, + 6, + 6, + 6, + 5, + 2, + 5, + 6, + 3, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 3, + 6, + 5, + 2, + 0, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 17, + 5, + 5, + 6, + 6, + 23, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 3, + 6, + 5, + 3, + 6, + 3, + 16, + 17, + 4, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 5, + 44, + 6, + 4, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 3, + 12, + 3, + 4, + 2, + 14, + 6, + 5, + 6, + 3, + 4, + 14, + 6, + 4, + 4, + 5, + 3, + 4, + 6, + 3, + 0, + 5, + 6, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 6, + 6, + 6, + 5, + 4, + 2, + 6, + 3, + 6, + 4, + 7, + 5, + 5, + 2, + 6, + 6, + 5, + 6, + 8, + 5, + 5, + 5, + 6, + 6, + 6, + 21, + 5, + 2, + 6, + 4, + 5, + 2, + 6, + 6, + 2, + 5, + 3, + 4, + 6, + 6, + 6, + 2, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 5, + 5, + 4, + 4, + 14, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 6, + 3, + 2, + 3, + 5, + 4, + 6, + 6, + 6, + 3, + 6, + 6, + 19, + 3, + 6, + 2, + 6, + 4, + 6, + 14, + 4, + 2, + 6, + 6, + 6, + 4, + 6, + 6, + 0, + 0, + 6, + 4, + 2, + 0, + 6, + 2, + 5, + 6, + 5, + 2, + 5, + 6, + 5, + 4, + 0, + 6, + 4, + 5, + 14, + 0, + 4, + 0, + 3, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 4, + 47, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 2, + 3, + 5, + 15, + 6, + 2, + 5, + 4, + 5, + 6, + 5, + 3, + 5, + 4, + 6, + 6, + 4, + 17, + 6, + 3, + 17, + 3, + 4, + 6, + 5, + 5, + 33, + 4, + 6, + 17, + 20, + 5, + 2, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 4, + 20, + 18, + 5, + 6, + 2, + 6, + 3, + 5, + 3, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 6, + 3, + 6, + 6, + 5, + 14, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 39, + 3, + 5, + 6, + 17, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 3, + 14, + 5, + 6, + 6, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 0, + 0, + 6, + 2, + 3, + 2, + 12, + 6, + 5, + 4, + 25, + 5, + 12, + 0, + 5, + 3, + 3, + 3, + 3, + 6, + 11, + 6, + 6, + 5, + 20, + 2, + 5, + 6, + 4, + 0, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 4, + 3, + 11, + 17, + 5, + 5, + 2, + 5, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 2, + 3, + 7, + 6, + 6, + 17, + 5, + 6, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 8, + 6, + 5, + 5, + 5, + 4, + 5, + 6, + 4, + 33, + 6, + 0, + 5, + 3, + 28, + 6, + 11, + 3, + 33, + 6, + 6, + 5, + 6, + 6, + 3, + 5, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 3, + 3, + 4, + 6, + 5, + 6, + 3, + 3, + 17, + 0, + 4, + 4, + 4, + 5, + 0, + 3, + 2, + 6, + 3, + 6, + 3, + 12, + 20, + 3, + 38, + 6, + 2, + 4, + 3, + 14, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 6, + 5, + 7, + 6, + 6, + 5, + 5, + 6, + 10, + 6, + 2, + 4, + 5, + 2, + 4, + 4, + 8, + 3, + 4, + 5, + 3, + 4, + 3, + 7, + 14, + 6, + 0, + 6, + 6, + 5, + 46, + 5, + 0, + 6, + 4, + 4, + 5, + 5, + 4, + 3, + 5, + 3, + 6, + 3, + 4, + 5, + 6, + 3, + 6, + 4, + 0, + 3, + 6, + 17, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 2, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 19, + 6, + 6, + 2, + 4, + 5, + 5, + 4, + 5, + 2, + 3, + 3, + 2, + 2, + 2, + 0, + 4, + 4, + 26, + 6, + 3, + 4, + 0, + 5, + 3, + 14, + 2, + 2, + 4, + 4, + 4, + 6, + 4, + 6, + 6, + 5, + 5, + 11, + 5, + 3, + 5, + 2, + 6, + 29, + 5, + 5, + 5, + 3, + 4, + 4, + 3, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 2, + 2, + 3, + 7, + 6, + 3, + 6, + 3, + 5, + 6, + 6, + 3, + 28, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 19, + 17, + 6, + 5, + 6, + 8, + 6, + 4, + 6, + 9, + 6, + 12, + 0, + 5, + 6, + 3, + 5, + 5, + 3, + 6, + 26, + 3, + 3, + 6, + 5, + 3, + 6, + 4, + 5, + 2, + 2, + 17, + 2, + 14, + 3, + 5, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 5, + 2, + 3, + 6, + 5, + 14, + 6, + 5, + 3, + 6, + 5, + 3, + 0, + 6, + 0, + 3, + 4, + 5, + 4, + 5, + 5, + 5, + 2, + 0, + 5, + 3, + 2, + 2, + 3, + 6, + 7, + 4, + 5, + 5, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 49, + 6, + 14, + 12, + 6, + 5, + 2, + 3, + 5, + 6, + 2, + 12, + 5, + 12, + 2, + 4, + 6, + 17, + 6, + 4, + 4, + 6, + 14, + 4, + 20, + 6, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 4, + 4, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 18, + 6, + 4, + 3, + 4, + 13, + 6, + 5, + 13, + 3, + 3, + 7, + 5, + 0, + 2, + 3, + 12, + 5, + 5, + 3, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 6, + 3, + 4, + 14, + 4, + 2, + 6, + 6, + 14, + 6, + 5, + 3, + 6, + 14, + 6, + 3, + 4, + 3, + 6, + 6, + 5, + 2, + 4, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 4, + 6, + 14, + 4, + 7, + 4, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 4, + 6, + 5, + 21, + 6, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 5, + 5, + 5, + 5, + 6, + 2, + 0, + 6, + 4, + 5, + 3, + 5, + 4, + 3, + 6, + 5, + 5, + 5, + 22, + 2, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 5, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 6, + 7, + 6, + 6, + 4, + 4, + 3, + 4, + 3, + 5, + 3, + 29, + 2, + 4, + 6, + 19, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 15, + 6, + 6, + 5, + 4, + 6, + 3, + 3, + 17, + 22, + 7, + 4, + 4, + 6, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 23, + 5, + 6, + 8, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 5, + 3, + 48, + 22, + 6, + 4, + 5, + 6, + 13, + 4, + 5, + 6, + 0, + 4, + 5, + 6, + 6, + 3, + 5, + 19, + 3, + 6, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 5, + 5, + 6, + 48, + 3, + 5, + 5, + 5, + 6, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 3, + 4, + 5, + 4, + 6, + 6, + 5, + 10, + 6, + 6, + 4, + 3, + 6, + 3, + 5, + 3, + 10, + 6, + 6, + 13, + 6, + 6, + 5, + 5, + 6, + 0, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 2, + 6, + 17, + 3, + 18, + 6, + 5, + 2, + 4, + 5, + 3, + 4, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 5, + 6, + 2, + 5, + 14, + 5, + 33, + 6, + 6, + 4, + 4, + 2, + 6, + 5, + 23, + 6, + 4, + 3, + 5, + 6, + 6, + 3, + 4, + 7, + 6, + 6, + 12, + 6, + 5, + 4, + 6, + 0, + 6, + 6, + 6, + 5, + 4, + 5, + 2, + 6, + 14, + 5, + 4, + 16, + 5, + 6, + 6, + 4, + 3, + 6, + 14, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 4, + 6, + 6, + 5, + 2, + 6, + 3, + 27, + 6, + 47, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 5, + 6, + 0, + 2, + 6, + 30, + 5, + 14, + 14, + 3, + 6, + 5, + 3, + 15, + 5, + 6, + 5, + 6, + 25, + 4, + 6, + 3, + 5, + 6, + 4, + 4, + 5, + 4, + 5, + 3, + 14, + 4, + 2, + 6, + 4, + 4, + 14, + 5, + 6, + 6, + 4, + 3, + 39, + 6, + 6, + 6, + 3, + 2, + 0, + 5, + 6, + 3, + 6, + 6, + 6, + 5, + 3, + 5, + 21, + 6, + 5, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 5, + 7, + 5, + 5, + 6, + 2, + 15, + 6, + 8, + 4, + 3, + 3, + 2, + 6, + 4, + 4, + 6, + 5, + 6, + 5, + 3, + 3, + 6, + 4, + 3, + 6, + 3, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 7, + 6, + 5, + 13, + 6, + 5, + 18, + 6, + 5, + 6, + 5, + 15, + 4, + 6, + 7, + 4, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 3, + 2, + 4, + 6, + 2, + 7, + 6, + 4, + 5, + 4, + 5, + 0, + 3, + 16, + 6, + 5, + 6, + 3, + 17, + 13, + 5, + 4, + 6, + 4, + 6, + 14, + 5, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 6, + 2, + 5, + 3, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 3, + 5, + 7, + 6, + 5, + 6, + 4, + 6, + 3, + 6, + 22, + 4, + 5, + 4, + 19, + 3, + 6, + 9, + 0, + 47, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 2, + 5, + 5, + 6, + 4, + 5, + 6, + 4, + 5, + 6, + 14, + 4, + 6, + 4, + 5, + 5, + 5, + 5, + 5, + 4, + 5, + 4, + 6, + 22, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 4, + 6, + 2, + 6, + 5, + 3, + 3, + 4, + 4, + 6, + 5, + 6, + 6, + 35, + 2, + 3, + 3, + 3, + 2, + 4, + 5, + 6, + 6, + 5, + 2, + 5, + 6, + 21, + 4, + 0, + 6, + 4, + 4, + 3, + 7, + 4, + 37, + 3, + 2, + 4, + 6, + 6, + 5, + 5, + 7, + 5, + 2, + 6, + 5, + 7, + 6, + 5, + 5, + 6, + 5, + 44, + 6, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 6, + 14, + 5, + 4, + 5, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 2, + 3, + 4, + 10, + 6, + 2, + 5, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 3, + 4, + 3, + 3, + 5, + 6, + 2, + 5, + 3, + 3, + 3, + 5, + 5, + 5, + 4, + 4, + 6, + 0, + 6, + 4, + 6, + 4, + 4, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 6, + 10, + 4, + 17, + 3, + 3, + 4, + 3, + 6, + 15, + 5, + 6, + 7, + 3, + 10, + 5, + 5, + 15, + 4, + 6, + 4, + 4, + 6, + 5, + 4, + 4, + 4, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 4, + 2, + 5, + 11, + 3, + 23, + 6, + 13, + 6, + 6, + 5, + 10, + 5, + 5, + 4, + 11, + 14, + 6, + 3, + 5, + 5, + 6, + 4, + 2, + 18, + 6, + 2, + 3, + 5, + 6, + 25, + 2, + 6, + 4, + 5, + 2, + 5, + 6, + 6, + 6, + 6, + 0, + 2, + 5, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 2, + 6, + 3, + 6, + 5, + 5, + 6, + 5, + 3, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 6, + 3, + 0, + 6, + 2, + 5, + 6, + 5, + 21, + 2, + 2, + 36, + 6, + 6, + 11, + 5, + 7, + 0, + 17, + 6, + 4, + 5, + 6, + 6, + 3, + 6, + 2, + 3, + 4, + 6, + 3, + 5, + 36, + 2, + 2, + 5, + 5, + 3, + 3, + 6, + 6, + 3, + 47, + 3, + 3, + 10, + 5, + 6, + 17, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 3, + 2, + 2, + 4, + 6, + 4, + 5, + 16, + 6, + 13, + 6, + 6, + 3, + 3, + 6, + 3, + 2, + 3, + 2, + 6, + 5, + 3, + 5, + 6, + 38, + 6, + 4, + 0, + 4, + 4, + 5, + 2, + 5, + 6, + 4, + 3, + 6, + 5, + 15, + 3, + 5, + 3, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 3, + 4, + 0, + 42, + 5, + 4, + 5, + 7, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 6, + 14, + 3, + 3, + 3, + 6, + 5, + 4, + 25, + 6, + 6, + 2, + 5, + 5, + 3, + 4, + 3, + 3, + 3, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 4, + 3, + 6, + 7, + 4, + 5, + 3, + 2, + 3, + 5, + 5, + 5, + 2, + 3, + 5, + 2, + 5, + 14, + 3, + 6, + 0, + 6, + 6, + 4, + 3, + 5, + 5, + 3, + 0, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 13, + 4, + 6, + 2, + 4, + 2, + 3, + 5, + 5, + 2, + 2, + 5, + 4, + 5, + 4, + 0, + 22, + 3, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 3, + 4, + 2, + 6, + 3, + 3, + 5, + 6, + 4, + 3, + 6, + 6, + 6, + 6, + 17, + 5, + 5, + 5, + 3, + 4, + 6, + 5, + 4, + 6, + 3, + 3, + 4, + 14, + 5, + 4, + 5, + 4, + 8, + 4, + 5, + 5, + 4, + 25, + 6, + 12, + 3, + 3, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 3, + 7, + 3, + 6, + 3, + 6, + 2, + 6, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 5, + 15, + 5, + 5, + 6, + 22, + 6, + 6, + 2, + 5, + 4, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 4, + 4, + 14, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 0, + 13, + 7, + 3, + 5, + 3, + 2, + 46, + 4, + 6, + 6, + 2, + 5, + 5, + 6, + 3, + 49, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 5, + 6, + 3, + 14, + 3, + 35, + 0, + 6, + 0, + 6, + 5, + 3, + 5, + 4, + 20, + 6, + 6, + 5, + 5, + 3, + 28, + 6, + 3, + 3, + 5, + 4, + 2, + 2, + 5, + 8, + 3, + 4, + 16, + 5, + 5, + 3, + 4, + 3, + 6, + 6, + 4, + 6, + 5, + 4, + 13, + 6, + 6, + 6, + 2, + 6, + 5, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 6, + 8, + 4, + 2, + 3, + 6, + 5, + 5, + 4, + 6, + 28, + 6, + 5, + 5, + 6, + 2, + 6, + 3, + 4, + 5, + 6, + 4, + 3, + 5, + 7, + 4, + 6, + 3, + 3, + 4, + 6, + 5, + 14, + 3, + 30, + 6, + 6, + 6, + 5, + 6, + 42, + 4, + 14, + 6, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 4, + 5, + 5, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 5, + 20, + 6, + 6, + 3, + 4, + 6, + 5, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 5, + 6, + 5, + 5, + 2, + 3, + 5, + 3, + 6, + 2, + 6, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 3, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 0, + 14, + 5, + 3, + 28, + 5, + 5, + 6, + 4, + 6, + 7, + 14, + 4, + 5, + 6, + 5, + 5, + 23, + 14, + 6, + 6, + 6, + 31, + 5, + 5, + 6, + 5, + 5, + 4, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 0, + 5, + 5, + 2, + 2, + 3, + 3, + 5, + 5, + 25, + 3, + 3, + 4, + 3, + 3, + 6, + 2, + 5, + 3, + 16, + 6, + 3, + 4, + 5, + 4, + 3, + 0, + 5, + 4, + 15, + 6, + 0, + 6, + 6, + 14, + 6, + 5, + 5, + 4, + 6, + 4, + 4, + 6, + 2, + 6, + 4, + 2, + 14, + 5, + 4, + 5, + 3, + 2, + 4, + 6, + 3, + 5, + 4, + 6, + 29, + 3, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 2, + 4, + 4, + 5, + 2, + 5, + 13, + 6, + 5, + 4, + 9, + 6, + 14, + 6, + 13, + 6, + 2, + 3, + 2, + 4, + 5, + 4, + 2, + 6, + 0, + 3, + 6, + 2, + 3, + 4, + 5, + 6, + 5, + 6, + 6, + 14, + 6, + 6, + 6, + 4, + 4, + 3, + 4, + 2, + 6, + 30, + 4, + 5, + 6, + 5, + 0, + 5, + 7, + 5, + 3, + 5, + 3, + 6, + 6, + 5, + 4, + 5, + 3, + 5, + 3, + 6, + 4, + 5, + 2, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 8, + 6, + 7, + 4, + 2, + 2, + 0, + 5, + 3, + 6, + 3, + 3, + 6, + 4, + 4, + 6, + 3, + 4, + 5, + 3, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 14, + 3, + 6, + 6, + 3, + 6, + 6, + 4, + 14, + 14, + 6, + 5, + 6, + 6, + 4, + 3, + 6, + 5, + 5, + 5, + 47, + 6, + 3, + 3, + 6, + 14, + 6, + 3, + 3, + 5, + 4, + 6, + 5, + 6, + 4, + 6, + 2, + 5, + 14, + 6, + 5, + 6, + 4, + 6, + 7, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 5, + 6, + 20, + 4, + 5, + 3, + 5, + 2, + 2, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 6, + 12, + 6, + 17, + 6, + 5, + 0, + 4, + 5, + 5, + 14, + 0, + 4, + 5, + 6, + 4, + 4, + 44, + 2, + 6, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 6, + 14, + 6, + 6, + 3, + 4, + 3, + 6, + 6, + 2, + 19, + 6, + 5, + 2, + 42, + 5, + 3, + 4, + 5, + 3, + 6, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 0, + 4, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 4, + 5, + 5, + 0, + 5, + 11, + 21, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 26, + 6, + 6, + 6, + 3, + 2, + 4, + 4, + 4, + 5, + 4, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 5, + 5, + 5, + 5, + 6, + 3, + 6, + 4, + 6, + 7, + 6, + 5, + 6, + 10, + 3, + 3, + 6, + 14, + 6, + 6, + 3, + 3, + 3, + 6, + 4, + 4, + 4, + 6, + 5, + 3, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 12, + 5, + 5, + 2, + 6, + 4, + 6, + 4, + 5, + 6, + 3, + 3, + 4, + 3, + 3, + 0, + 2, + 12, + 4, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 2, + 3, + 5, + 5, + 6, + 5, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 14, + 14, + 6, + 5, + 6, + 4, + 6, + 0, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 16, + 6, + 2, + 5, + 5, + 3, + 12, + 6, + 6, + 6, + 6, + 3, + 6, + 3, + 4, + 5, + 5, + 6, + 5, + 3, + 5, + 4, + 3, + 5, + 3, + 12, + 6, + 4, + 6, + 4, + 5, + 3, + 4, + 3, + 5, + 5, + 6, + 12, + 6, + 6, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 3, + 5, + 6, + 5, + 6, + 5, + 3, + 12, + 4, + 4, + 3, + 6, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 3, + 6, + 8, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 14, + 2, + 0, + 5, + 3, + 5, + 5, + 5, + 7, + 2, + 4, + 5, + 4, + 0, + 3, + 4, + 6, + 5, + 6, + 5, + 5, + 3, + 5, + 3, + 3, + 6, + 6, + 6, + 6, + 2, + 5, + 4, + 6, + 6, + 29, + 5, + 6, + 4, + 10, + 5, + 6, + 3, + 14, + 3, + 4, + 4, + 6, + 4, + 6, + 4, + 6, + 3, + 4, + 5, + 2, + 4, + 27, + 6, + 7, + 6, + 5, + 5, + 2, + 29, + 3, + 3, + 5, + 7, + 8, + 6, + 3, + 6, + 5, + 5, + 0, + 6, + 7, + 6, + 4, + 6, + 3, + 4, + 4, + 6, + 6, + 5, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 12, + 5, + 5, + 0, + 2, + 5, + 6, + 3, + 6, + 6, + 5, + 5, + 2, + 6, + 5, + 3, + 4, + 6, + 2, + 29, + 3, + 6, + 2, + 5, + 2, + 6, + 4, + 0, + 5, + 4, + 6, + 6, + 4, + 3, + 7, + 2, + 4, + 3, + 6, + 4, + 4, + 4, + 6, + 4, + 6, + 5, + 4, + 4, + 4, + 29, + 3, + 12, + 5, + 12, + 3, + 4, + 5, + 2, + 31, + 4, + 6, + 7, + 6, + 5, + 5, + 3, + 4, + 3, + 5, + 4, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 4, + 14, + 5, + 5, + 8, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 2, + 4, + 5, + 0, + 4, + 3, + 16, + 6, + 6, + 12, + 6, + 6, + 4, + 6, + 6, + 19, + 4, + 6, + 5, + 4, + 3, + 27, + 3, + 5, + 5, + 6, + 6, + 6, + 16, + 6, + 5, + 2, + 4, + 2, + 3, + 6, + 5, + 0, + 2, + 3, + 14, + 5, + 4, + 5, + 5, + 2, + 4, + 2, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 3, + 6, + 3, + 18, + 6, + 4, + 5, + 4, + 3, + 0, + 13, + 5, + 3, + 6, + 4, + 4, + 5, + 4, + 6, + 2, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 32, + 6, + 5, + 6, + 0, + 6, + 49, + 3, + 3, + 6, + 14, + 5, + 2, + 5, + 3, + 3, + 2, + 6, + 44, + 3, + 4, + 5, + 7, + 6, + 6, + 7, + 4, + 6, + 5, + 2, + 21, + 6, + 2, + 3, + 2, + 7, + 4, + 6, + 5, + 4, + 6, + 5, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 3, + 0, + 3, + 5, + 5, + 5, + 6, + 40, + 12, + 6, + 5, + 3, + 3, + 4, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 2, + 6, + 5, + 25, + 6, + 6, + 5, + 6, + 6, + 0, + 5, + 5, + 5, + 5, + 15, + 6, + 4, + 20, + 5, + 5, + 6, + 4, + 4, + 5, + 2, + 3, + 5, + 4, + 5, + 6, + 5, + 6, + 10, + 5, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 2, + 5, + 12, + 5, + 3, + 4, + 6, + 6, + 5, + 3, + 14, + 6, + 5, + 5, + 6, + 34, + 0, + 3, + 13, + 6, + 5, + 6, + 5, + 6, + 4, + 3, + 5, + 7, + 23, + 5, + 6, + 6, + 12, + 6, + 7, + 12, + 2, + 6, + 5, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 5, + 6, + 4, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 5, + 4, + 14, + 6, + 4, + 4, + 6, + 14, + 4, + 14, + 3, + 6, + 3, + 17, + 6, + 6, + 6, + 6, + 6, + 2, + 6, + 6, + 2, + 3, + 6, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 5, + 14, + 4, + 3, + 25, + 6, + 6, + 12, + 5, + 5, + 44, + 6, + 3, + 7, + 4, + 4, + 2, + 5, + 5, + 2, + 2, + 4, + 6, + 0, + 5, + 25, + 3, + 12, + 2, + 6, + 6, + 9, + 2, + 4, + 6, + 5, + 5, + 6, + 3, + 6, + 3, + 4, + 5, + 6, + 6, + 4, + 3, + 5, + 3, + 4, + 4, + 4, + 6, + 4, + 3, + 5, + 3, + 3, + 7, + 2, + 5, + 4, + 5, + 3, + 2, + 25, + 38, + 5, + 4, + 6, + 5, + 2, + 6, + 12, + 2, + 4, + 4, + 5, + 2, + 6, + 12, + 3, + 6, + 4, + 5, + 5, + 4, + 3, + 2, + 5, + 5, + 5, + 3, + 4, + 10, + 3, + 6, + 21, + 4, + 2, + 4, + 6, + 6, + 2, + 6, + 5, + 5, + 5, + 2, + 5, + 5, + 50, + 2, + 6, + 0, + 22, + 6, + 6, + 6, + 5, + 0, + 5, + 14, + 3, + 6, + 2, + 0, + 25, + 5, + 6, + 30, + 2, + 5, + 4, + 4, + 3, + 6, + 12, + 6, + 3, + 2, + 5, + 6, + 21, + 6, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 4, + 5, + 3, + 6, + 4, + 2, + 4, + 2, + 0, + 14, + 6, + 11, + 5, + 6, + 5, + 3, + 3, + 8, + 4, + 3, + 4, + 6, + 3, + 22, + 3, + 6, + 4, + 6, + 4, + 5, + 44, + 5, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 48, + 6, + 3, + 2, + 6, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 21, + 4, + 6, + 4, + 3, + 4, + 0, + 0, + 6, + 7, + 6, + 5, + 6, + 2, + 2, + 0, + 5, + 5, + 5, + 4, + 4, + 5, + 14, + 4, + 4, + 5, + 5, + 7, + 4, + 2, + 4, + 5, + 5, + 3, + 5, + 3, + 17, + 6, + 5, + 6, + 4, + 3, + 6, + 6, + 5, + 6, + 4, + 4, + 28, + 6, + 2, + 6, + 6, + 5, + 2, + 37, + 3, + 6, + 6, + 4, + 5, + 6, + 28, + 3, + 3, + 3, + 2, + 5, + 5, + 6, + 17, + 8, + 5, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 6, + 3, + 3, + 3, + 4, + 17, + 5, + 4, + 5, + 22, + 6, + 5, + 6, + 3, + 3, + 5, + 3, + 5, + 6, + 3, + 4, + 14, + 5, + 7, + 6, + 6, + 5, + 4, + 3, + 3, + 5, + 4, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 6, + 6, + 6, + 6, + 12, + 5, + 5, + 2, + 5, + 5, + 6, + 6, + 5, + 0, + 6, + 6, + 4, + 7, + 4, + 5, + 4, + 5, + 2, + 5, + 2, + 2, + 4, + 3, + 6, + 4, + 4, + 5, + 3, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 6, + 4, + 4, + 5, + 4, + 2, + 5, + 22, + 6, + 6, + 6, + 5, + 4, + 3, + 6, + 5, + 21, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 5, + 3, + 6, + 8, + 6, + 6, + 4, + 6, + 4, + 6, + 2, + 6, + 14, + 4, + 4, + 6, + 4, + 2, + 5, + 2, + 6, + 6, + 5, + 6, + 6, + 4, + 5, + 6, + 14, + 6, + 5, + 4, + 2, + 6, + 6, + 6, + 4, + 25, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 2, + 0, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 6, + 0, + 7, + 5, + 4, + 5, + 13, + 35, + 5, + 6, + 5, + 12, + 4, + 2, + 5, + 3, + 6, + 14, + 2, + 5, + 6, + 6, + 5, + 6, + 0, + 6, + 29, + 14, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 17, + 6, + 2, + 17, + 6, + 5, + 22, + 4, + 5, + 3, + 22, + 28, + 6, + 0, + 6, + 6, + 12, + 6, + 4, + 6, + 6, + 4, + 4, + 6, + 10, + 6, + 3, + 3, + 2, + 6, + 11, + 5, + 6, + 2, + 3, + 5, + 4, + 6, + 5, + 4, + 6, + 2, + 14, + 6, + 4, + 3, + 6, + 3, + 3, + 5, + 14, + 2, + 3, + 2, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 2, + 3, + 5, + 5, + 5, + 3, + 4, + 6, + 46, + 4, + 7, + 5, + 14, + 3, + 2, + 6, + 4, + 3, + 6, + 6, + 3, + 4, + 3, + 4, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 2, + 4, + 13, + 3, + 6, + 4, + 2, + 20, + 4, + 6, + 3, + 18, + 4, + 5, + 3, + 4, + 6, + 4, + 6, + 2, + 5, + 5, + 5, + 6, + 5, + 6, + 15, + 6, + 5, + 13, + 6, + 3, + 3, + 5, + 20, + 5, + 5, + 4, + 6, + 4, + 6, + 6, + 4, + 6, + 6, + 7, + 21, + 4, + 6, + 5, + 4, + 8, + 6, + 3, + 6, + 5, + 6, + 3, + 6, + 4, + 7, + 5, + 4, + 4, + 3, + 6, + 2, + 5, + 5, + 6, + 5, + 6, + 5, + 22, + 4, + 5, + 5, + 5, + 2, + 4, + 12, + 2, + 6, + 6, + 15, + 3, + 4, + 6, + 5, + 4, + 3, + 5, + 17, + 7, + 6, + 3, + 3, + 6, + 6, + 3, + 0, + 3, + 5, + 4, + 7, + 5, + 5, + 6, + 12, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 2, + 5, + 3, + 6, + 14, + 6, + 5, + 5, + 3, + 5, + 14, + 2, + 3, + 3, + 5, + 5, + 5, + 4, + 2, + 4, + 5, + 6, + 3, + 3, + 4, + 21, + 3, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 6, + 5, + 4, + 5, + 6, + 8, + 4, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 3, + 6, + 3, + 6, + 4, + 6, + 5, + 6, + 3, + 3, + 5, + 16, + 15, + 6, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 2, + 9, + 6, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 2, + 6, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 4, + 2, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 3, + 0, + 5, + 5, + 10, + 3, + 3, + 3, + 14, + 3, + 6, + 6, + 4, + 5, + 4, + 0, + 6, + 5, + 7, + 5, + 2, + 5, + 20, + 5, + 5, + 5, + 5, + 5, + 4, + 4, + 3, + 5, + 6, + 3, + 6, + 3, + 6, + 4, + 4, + 2, + 5, + 6, + 4, + 4, + 19, + 6, + 5, + 2, + 3, + 6, + 4, + 4, + 6, + 5, + 42, + 6, + 7, + 3, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 4, + 14, + 6, + 19, + 3, + 3, + 6, + 6, + 3, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 5, + 2, + 6, + 5, + 3, + 3, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 5, + 21, + 3, + 6, + 2, + 12, + 3, + 5, + 14, + 3, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 3, + 14, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 3, + 26, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 5, + 14, + 3, + 6, + 2, + 6, + 6, + 6, + 6, + 3, + 6, + 5, + 7, + 2, + 2, + 25, + 5, + 5, + 7, + 2, + 49, + 5, + 5, + 3, + 5, + 22, + 6, + 5, + 5, + 4, + 14, + 6, + 6, + 21, + 3, + 0, + 3, + 4, + 6, + 6, + 2, + 4, + 16, + 6, + 3, + 5, + 6, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 4, + 6, + 3, + 6, + 6, + 6, + 5, + 6, + 3, + 2, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 3, + 4, + 4, + 6, + 22, + 6, + 2, + 6, + 18, + 5, + 4, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 5, + 5, + 0, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 5, + 10, + 5, + 6, + 3, + 4, + 5, + 5, + 4, + 6, + 5, + 4, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 14, + 3, + 40, + 5, + 4, + 3, + 6, + 6, + 3, + 4, + 14, + 4, + 6, + 2, + 4, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 4, + 8, + 2, + 6, + 4, + 5, + 0, + 4, + 5, + 22, + 5, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 0, + 5, + 6, + 0, + 5, + 2, + 17, + 2, + 6, + 5, + 6, + 4, + 3, + 2, + 6, + 4, + 3, + 4, + 6, + 6, + 6, + 2, + 17, + 6, + 5, + 14, + 6, + 6, + 4, + 2, + 4, + 0, + 6, + 2, + 3, + 2, + 5, + 2, + 5, + 6, + 4, + 6, + 5, + 2, + 4, + 3, + 5, + 3, + 3, + 3, + 5, + 6, + 6, + 14, + 24, + 14, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 5, + 5, + 13, + 4, + 5, + 7, + 2, + 12, + 6, + 6, + 5, + 4, + 5, + 16, + 5, + 49, + 5, + 5, + 3, + 6, + 4, + 4, + 5, + 14, + 3, + 5, + 4, + 5, + 4, + 6, + 3, + 5, + 3, + 6, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 14, + 6, + 41, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 13, + 0, + 5, + 4, + 5, + 4, + 4, + 6, + 6, + 4, + 6, + 5, + 5, + 4, + 6, + 6, + 7, + 4, + 2, + 5, + 4, + 5, + 2, + 5, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 19, + 3, + 6, + 5, + 6, + 3, + 2, + 5, + 5, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 22, + 3, + 36, + 5, + 6, + 5, + 20, + 0, + 6, + 5, + 5, + 5, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 6, + 4, + 3, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 3, + 6, + 2, + 3, + 6, + 6, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 2, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 7, + 6, + 6, + 6, + 6, + 0, + 4, + 3, + 6, + 6, + 2, + 5, + 6, + 6, + 6, + 11, + 6, + 4, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 4, + 6, + 51, + 4, + 24, + 5, + 3, + 28, + 5, + 6, + 4, + 6, + 6, + 5, + 6, + 32, + 3, + 2, + 6, + 5, + 5, + 3, + 4, + 14, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 6, + 4, + 6, + 6, + 3, + 14, + 6, + 5, + 6, + 3, + 7, + 6, + 5, + 15, + 2, + 3, + 4, + 5, + 6, + 6, + 5, + 4, + 6, + 6, + 9, + 6, + 6, + 13, + 13, + 6, + 6, + 5, + 6, + 0, + 6, + 6, + 3, + 6, + 5, + 6, + 3, + 4, + 3, + 17, + 6, + 3, + 3, + 2, + 3, + 3, + 6, + 5, + 20, + 3, + 5, + 23, + 4, + 5, + 3, + 3, + 3, + 2, + 6, + 5, + 4, + 6, + 0, + 4, + 5, + 14, + 5, + 5, + 6, + 2, + 5, + 6, + 17, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 7, + 5, + 3, + 5, + 5, + 2, + 5, + 6, + 16, + 2, + 4, + 5, + 4, + 6, + 5, + 5, + 3, + 4, + 14, + 4, + 3, + 6, + 6, + 5, + 3, + 13, + 14, + 5, + 5, + 6, + 12, + 5, + 3, + 3, + 2, + 6, + 4, + 5, + 2, + 6, + 25, + 3, + 5, + 4, + 6, + 3, + 3, + 4, + 2, + 4, + 7, + 6, + 2, + 6, + 7, + 2, + 6, + 5, + 3, + 6, + 4, + 5, + 5, + 6, + 3, + 3, + 5, + 6, + 3, + 5, + 14, + 6, + 5, + 3, + 6, + 6, + 4, + 6, + 14, + 14, + 15, + 4, + 4, + 5, + 8, + 4, + 4, + 10, + 6, + 6, + 0, + 7, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 3, + 5, + 4, + 6, + 6, + 0, + 6, + 6, + 4, + 6, + 6, + 14, + 2, + 4, + 5, + 6, + 2, + 6, + 13, + 6, + 4, + 4, + 5, + 14, + 5, + 0, + 3, + 6, + 3, + 6, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 4, + 6, + 4, + 6, + 6, + 4, + 3, + 2, + 14, + 4, + 6, + 5, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 3, + 7, + 6, + 4, + 6, + 4, + 4, + 3, + 6, + 3, + 3, + 6, + 4, + 0, + 4, + 5, + 4, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 48, + 6, + 2, + 4, + 5, + 5, + 3, + 4, + 4, + 5, + 7, + 4, + 42, + 5, + 33, + 3, + 6, + 6, + 16, + 0, + 2, + 6, + 4, + 6, + 6, + 14, + 5, + 3, + 6, + 6, + 6, + 2, + 5, + 2, + 45, + 5, + 30, + 4, + 6, + 6, + 2, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 7, + 4, + 3, + 6, + 6, + 42, + 6, + 6, + 4, + 20, + 8, + 5, + 6, + 3, + 5, + 5, + 3, + 5, + 5, + 4, + 5, + 3, + 6, + 5, + 6, + 9, + 3, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 2, + 4, + 4, + 6, + 4, + 6, + 3, + 14, + 2, + 5, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 5, + 4, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 4, + 2, + 4, + 8, + 5, + 3, + 0, + 5, + 6, + 4, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 6, + 39, + 4, + 3, + 4, + 6, + 4, + 4, + 4, + 4, + 6, + 14, + 10, + 7, + 5, + 2, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 7, + 4, + 6, + 5, + 5, + 4, + 6, + 5, + 2, + 4, + 3, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 7, + 5, + 6, + 5, + 6, + 3, + 4, + 3, + 3, + 6, + 4, + 5, + 5, + 2, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 2, + 4, + 6, + 3, + 6, + 2, + 3, + 2, + 6, + 5, + 6, + 6, + 0, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 35, + 2, + 5, + 5, + 0, + 5, + 5, + 4, + 5, + 4, + 5, + 5, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 2, + 5, + 14, + 5, + 29, + 7, + 5, + 6, + 6, + 4, + 6, + 12, + 6, + 6, + 5, + 6, + 4, + 5, + 4, + 7, + 4, + 5, + 4, + 6, + 4, + 2, + 2, + 39, + 6, + 5, + 3, + 14, + 2, + 6, + 5, + 6, + 4, + 5, + 4, + 2, + 2, + 6, + 6, + 5, + 17, + 6, + 6, + 6, + 2, + 6, + 3, + 0, + 4, + 6, + 5, + 5, + 49, + 2, + 43, + 3, + 4, + 3, + 2, + 2, + 2, + 6, + 6, + 5, + 2, + 5, + 7, + 6, + 4, + 7, + 5, + 6, + 6, + 5, + 3, + 4, + 3, + 6, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 3, + 44, + 3, + 3, + 5, + 4, + 4, + 4, + 4, + 6, + 3, + 13, + 4, + 6, + 6, + 4, + 2, + 5, + 6, + 3, + 5, + 20, + 6, + 2, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 6, + 2, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 14, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 4, + 8, + 8, + 11, + 6, + 3, + 5, + 6, + 6, + 10, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 39, + 8, + 14, + 12, + 5, + 6, + 5, + 6, + 3, + 6, + 4, + 6, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 0, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 0, + 3, + 4, + 4, + 14, + 6, + 6, + 6, + 5, + 0, + 6, + 6, + 3, + 3, + 5, + 5, + 6, + 3, + 6, + 6, + 4, + 4, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 5, + 6, + 12, + 4, + 4, + 35, + 6, + 6, + 6, + 4, + 50, + 6, + 5, + 6, + 6, + 0, + 5, + 3, + 6, + 4, + 4, + 6, + 6, + 6, + 6, + 0, + 3, + 6, + 3, + 33, + 4, + 4, + 3, + 6, + 5, + 6, + 6, + 4, + 13, + 6, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 6, + 5, + 3, + 0, + 6, + 4, + 5, + 14, + 3, + 8, + 3, + 6, + 3, + 5, + 5, + 5, + 4, + 5, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 6, + 6, + 5, + 0, + 4, + 5, + 14, + 0, + 0, + 5, + 0, + 4, + 5, + 4, + 5, + 4, + 5, + 5, + 5, + 19, + 4, + 14, + 0, + 5, + 4, + 19, + 5, + 4, + 14, + 5, + 0, + 5, + 4, + 0, + 4, + 14, + 4, + 4, + 8, + 0, + 5, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 14, + 4, + 0, + 10, + 33, + 5, + 8, + 4 +] \ No newline at end of file diff --git a/testing_data/base_attrs_sift1m_nc=12_assignment=rand.json b/testing_data/base_attrs_sift1m_nc=12_assignment=rand.json new file mode 100644 index 0000000..df8608b --- /dev/null +++ b/testing_data/base_attrs_sift1m_nc=12_assignment=rand.json @@ -0,0 +1,10002 @@ +[ + 2, + 6, + 6, + 0, + 6, + 4, + 6, + 6, + 4, + 6, + 3, + 5, + 5, + 6, + 2, + 13, + 6, + 10, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 6, + 5, + 2, + 6, + 5, + 6, + 4, + 6, + 6, + 3, + 3, + 4, + 2, + 6, + 5, + 6, + 3, + 28, + 6, + 2, + 5, + 6, + 26, + 5, + 6, + 5, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 5, + 6, + 6, + 3, + 5, + 7, + 6, + 2, + 6, + 4, + 10, + 5, + 6, + 6, + 5, + 6, + 6, + 7, + 3, + 2, + 31, + 2, + 0, + 4, + 4, + 2, + 5, + 5, + 2, + 4, + 12, + 6, + 6, + 3, + 30, + 6, + 2, + 6, + 14, + 4, + 6, + 3, + 4, + 4, + 50, + 14, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 6, + 10, + 6, + 49, + 6, + 3, + 4, + 4, + 6, + 0, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 3, + 4, + 5, + 6, + 5, + 3, + 7, + 6, + 6, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 3, + 2, + 5, + 6, + 5, + 4, + 6, + 14, + 3, + 6, + 5, + 5, + 6, + 0, + 6, + 3, + 3, + 5, + 4, + 3, + 5, + 2, + 6, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 5, + 4, + 6, + 3, + 5, + 13, + 6, + 6, + 3, + 2, + 5, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 5, + 6, + 4, + 7, + 5, + 5, + 5, + 4, + 6, + 4, + 5, + 4, + 3, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 5, + 4, + 3, + 6, + 6, + 6, + 6, + 5, + 6, + 7, + 5, + 3, + 7, + 5, + 5, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 5, + 6, + 6, + 5, + 3, + 5, + 6, + 5, + 3, + 3, + 5, + 4, + 4, + 3, + 28, + 5, + 17, + 5, + 3, + 5, + 4, + 5, + 6, + 5, + 5, + 0, + 4, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 6, + 16, + 18, + 5, + 6, + 0, + 3, + 2, + 6, + 6, + 5, + 5, + 5, + 2, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 0, + 3, + 6, + 5, + 4, + 5, + 2, + 10, + 3, + 17, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 2, + 4, + 2, + 4, + 6, + 17, + 6, + 2, + 5, + 4, + 4, + 4, + 22, + 3, + 0, + 4, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 5, + 6, + 14, + 10, + 5, + 6, + 2, + 6, + 6, + 5, + 2, + 6, + 4, + 12, + 4, + 5, + 17, + 3, + 6, + 6, + 5, + 5, + 5, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 17, + 3, + 5, + 5, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 6, + 6, + 17, + 6, + 6, + 6, + 4, + 6, + 5, + 3, + 15, + 6, + 5, + 4, + 6, + 4, + 6, + 22, + 6, + 2, + 4, + 10, + 2, + 19, + 6, + 5, + 4, + 5, + 3, + 3, + 7, + 6, + 6, + 3, + 6, + 5, + 2, + 8, + 5, + 4, + 4, + 6, + 3, + 5, + 4, + 12, + 3, + 5, + 2, + 3, + 2, + 2, + 14, + 6, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 5, + 3, + 5, + 2, + 4, + 4, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 0, + 14, + 5, + 3, + 2, + 4, + 3, + 3, + 6, + 5, + 6, + 14, + 6, + 6, + 2, + 3, + 3, + 0, + 0, + 5, + 6, + 3, + 6, + 3, + 3, + 6, + 5, + 6, + 0, + 4, + 5, + 4, + 3, + 6, + 6, + 6, + 3, + 14, + 4, + 6, + 4, + 6, + 6, + 6, + 2, + 4, + 6, + 4, + 3, + 4, + 4, + 3, + 6, + 6, + 6, + 5, + 6, + 17, + 6, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 14, + 0, + 2, + 4, + 14, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 2, + 3, + 5, + 15, + 5, + 2, + 3, + 5, + 0, + 38, + 6, + 0, + 3, + 6, + 6, + 5, + 0, + 6, + 6, + 5, + 14, + 6, + 4, + 6, + 6, + 6, + 14, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 4, + 6, + 3, + 6, + 40, + 2, + 5, + 3, + 10, + 3, + 2, + 7, + 5, + 6, + 6, + 2, + 5, + 3, + 3, + 4, + 6, + 3, + 6, + 6, + 4, + 6, + 23, + 6, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 6, + 7, + 5, + 8, + 6, + 6, + 3, + 6, + 6, + 4, + 5, + 0, + 6, + 6, + 5, + 4, + 6, + 14, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 5, + 6, + 3, + 5, + 5, + 6, + 2, + 15, + 2, + 6, + 3, + 2, + 6, + 4, + 5, + 4, + 5, + 5, + 6, + 5, + 2, + 2, + 12, + 5, + 6, + 4, + 4, + 6, + 6, + 5, + 3, + 5, + 3, + 5, + 3, + 5, + 5, + 5, + 3, + 5, + 0, + 5, + 17, + 5, + 6, + 4, + 5, + 0, + 5, + 6, + 2, + 3, + 2, + 6, + 4, + 6, + 5, + 4, + 3, + 2, + 3, + 5, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 6, + 6, + 3, + 4, + 2, + 6, + 3, + 6, + 3, + 6, + 5, + 0, + 6, + 6, + 3, + 6, + 3, + 5, + 3, + 4, + 4, + 6, + 4, + 3, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 3, + 3, + 3, + 5, + 5, + 5, + 5, + 4, + 6, + 4, + 2, + 6, + 14, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 15, + 6, + 2, + 5, + 10, + 5, + 5, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 3, + 12, + 6, + 5, + 6, + 3, + 4, + 5, + 13, + 3, + 15, + 6, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 4, + 6, + 2, + 22, + 3, + 6, + 5, + 5, + 4, + 4, + 6, + 3, + 4, + 6, + 2, + 2, + 3, + 2, + 5, + 6, + 6, + 2, + 6, + 5, + 2, + 6, + 5, + 6, + 5, + 4, + 6, + 6, + 6, + 8, + 5, + 3, + 5, + 3, + 4, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 2, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 12, + 3, + 14, + 6, + 14, + 3, + 5, + 3, + 4, + 4, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 17, + 3, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 12, + 4, + 5, + 5, + 4, + 5, + 5, + 5, + 6, + 6, + 9, + 6, + 3, + 4, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 4, + 4, + 4, + 2, + 4, + 14, + 5, + 5, + 5, + 4, + 25, + 6, + 6, + 3, + 4, + 4, + 4, + 4, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 5, + 6, + 3, + 4, + 5, + 6, + 20, + 4, + 4, + 6, + 3, + 5, + 6, + 5, + 3, + 3, + 3, + 4, + 2, + 2, + 3, + 2, + 6, + 5, + 0, + 14, + 2, + 6, + 6, + 6, + 5, + 6, + 2, + 5, + 4, + 4, + 6, + 4, + 6, + 2, + 5, + 6, + 5, + 5, + 6, + 39, + 13, + 4, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 6, + 3, + 6, + 3, + 3, + 5, + 6, + 2, + 6, + 6, + 6, + 14, + 14, + 6, + 4, + 7, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 5, + 4, + 6, + 3, + 6, + 2, + 6, + 4, + 4, + 13, + 5, + 3, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 4, + 4, + 20, + 2, + 6, + 5, + 5, + 6, + 4, + 4, + 4, + 5, + 6, + 3, + 17, + 6, + 14, + 6, + 5, + 5, + 6, + 3, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 4, + 3, + 9, + 5, + 5, + 6, + 6, + 5, + 2, + 25, + 4, + 6, + 3, + 6, + 6, + 6, + 2, + 6, + 6, + 4, + 3, + 20, + 6, + 6, + 6, + 0, + 6, + 6, + 49, + 6, + 5, + 5, + 5, + 48, + 14, + 6, + 3, + 5, + 5, + 0, + 2, + 4, + 6, + 4, + 5, + 6, + 2, + 8, + 6, + 3, + 14, + 6, + 5, + 3, + 4, + 6, + 6, + 3, + 4, + 4, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 4, + 4, + 6, + 13, + 39, + 4, + 6, + 6, + 3, + 4, + 3, + 6, + 3, + 6, + 3, + 3, + 5, + 15, + 6, + 6, + 5, + 5, + 6, + 5, + 3, + 5, + 6, + 6, + 3, + 10, + 6, + 6, + 5, + 0, + 3, + 3, + 5, + 4, + 4, + 14, + 5, + 6, + 5, + 18, + 19, + 5, + 5, + 6, + 2, + 6, + 5, + 14, + 5, + 5, + 2, + 6, + 3, + 6, + 6, + 14, + 3, + 6, + 6, + 3, + 4, + 19, + 8, + 6, + 4, + 3, + 6, + 4, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 0, + 6, + 19, + 6, + 3, + 4, + 6, + 6, + 3, + 6, + 5, + 4, + 4, + 5, + 43, + 5, + 5, + 6, + 6, + 4, + 4, + 5, + 17, + 6, + 6, + 14, + 4, + 6, + 14, + 4, + 5, + 7, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 6, + 12, + 4, + 5, + 4, + 6, + 6, + 3, + 5, + 5, + 13, + 6, + 3, + 2, + 13, + 3, + 6, + 3, + 4, + 2, + 3, + 6, + 6, + 14, + 3, + 5, + 5, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 16, + 2, + 6, + 5, + 30, + 6, + 5, + 4, + 6, + 6, + 3, + 5, + 2, + 4, + 4, + 5, + 0, + 5, + 6, + 6, + 6, + 5, + 5, + 5, + 18, + 5, + 6, + 4, + 0, + 3, + 3, + 6, + 5, + 6, + 6, + 13, + 3, + 2, + 6, + 12, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 4, + 5, + 4, + 2, + 5, + 2, + 0, + 7, + 0, + 3, + 2, + 4, + 24, + 4, + 6, + 14, + 5, + 6, + 6, + 13, + 4, + 4, + 5, + 6, + 6, + 3, + 5, + 2, + 6, + 5, + 4, + 5, + 2, + 4, + 6, + 22, + 6, + 6, + 5, + 6, + 5, + 20, + 5, + 3, + 4, + 6, + 6, + 6, + 5, + 2, + 3, + 3, + 14, + 6, + 4, + 5, + 3, + 12, + 2, + 5, + 3, + 5, + 2, + 2, + 4, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 6, + 3, + 6, + 14, + 4, + 6, + 4, + 6, + 4, + 2, + 4, + 3, + 2, + 6, + 5, + 2, + 6, + 6, + 0, + 23, + 5, + 5, + 5, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 6, + 6, + 9, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 17, + 6, + 8, + 5, + 15, + 4, + 2, + 3, + 5, + 6, + 5, + 4, + 5, + 4, + 4, + 4, + 26, + 4, + 6, + 17, + 5, + 7, + 6, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 14, + 6, + 14, + 5, + 6, + 5, + 0, + 5, + 3, + 6, + 4, + 7, + 6, + 3, + 5, + 13, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 5, + 6, + 14, + 7, + 5, + 3, + 6, + 3, + 7, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 2, + 14, + 3, + 4, + 4, + 5, + 7, + 6, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 4, + 11, + 5, + 5, + 6, + 6, + 2, + 6, + 7, + 6, + 6, + 5, + 6, + 26, + 4, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 4, + 7, + 3, + 4, + 6, + 6, + 19, + 5, + 5, + 6, + 2, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 3, + 2, + 5, + 29, + 5, + 3, + 4, + 14, + 6, + 3, + 5, + 8, + 4, + 4, + 6, + 6, + 2, + 3, + 3, + 6, + 3, + 5, + 5, + 14, + 0, + 11, + 5, + 6, + 5, + 6, + 6, + 4, + 14, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 5, + 2, + 4, + 5, + 3, + 5, + 3, + 2, + 5, + 5, + 5, + 3, + 6, + 3, + 4, + 28, + 4, + 0, + 0, + 7, + 9, + 6, + 6, + 5, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 28, + 6, + 3, + 6, + 4, + 2, + 7, + 20, + 3, + 2, + 6, + 6, + 19, + 4, + 4, + 6, + 3, + 5, + 5, + 20, + 6, + 6, + 5, + 3, + 5, + 0, + 5, + 2, + 6, + 2, + 6, + 4, + 6, + 14, + 6, + 25, + 5, + 3, + 3, + 6, + 6, + 0, + 5, + 6, + 33, + 4, + 2, + 16, + 7, + 4, + 3, + 6, + 6, + 5, + 0, + 6, + 3, + 4, + 5, + 6, + 4, + 14, + 5, + 6, + 3, + 3, + 3, + 5, + 6, + 5, + 2, + 4, + 6, + 2, + 2, + 2, + 4, + 6, + 5, + 20, + 6, + 4, + 18, + 6, + 3, + 2, + 6, + 5, + 17, + 6, + 5, + 3, + 5, + 6, + 2, + 6, + 4, + 5, + 5, + 6, + 4, + 4, + 6, + 2, + 6, + 3, + 6, + 4, + 6, + 6, + 22, + 6, + 7, + 3, + 3, + 6, + 2, + 3, + 6, + 6, + 3, + 4, + 2, + 27, + 6, + 5, + 4, + 5, + 5, + 2, + 5, + 2, + 5, + 9, + 6, + 6, + 6, + 12, + 6, + 4, + 6, + 5, + 14, + 6, + 6, + 3, + 5, + 3, + 12, + 6, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 6, + 0, + 3, + 4, + 3, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 3, + 3, + 6, + 6, + 4, + 6, + 3, + 2, + 14, + 3, + 48, + 4, + 4, + 6, + 5, + 3, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 49, + 5, + 3, + 6, + 3, + 6, + 6, + 3, + 8, + 4, + 25, + 6, + 3, + 5, + 4, + 4, + 2, + 3, + 7, + 4, + 6, + 6, + 4, + 0, + 2, + 13, + 5, + 4, + 4, + 2, + 3, + 20, + 6, + 5, + 3, + 9, + 4, + 5, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 4, + 6, + 6, + 5, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 14, + 3, + 44, + 5, + 3, + 10, + 17, + 4, + 6, + 5, + 16, + 0, + 6, + 5, + 12, + 6, + 5, + 4, + 6, + 3, + 6, + 12, + 5, + 6, + 5, + 3, + 6, + 4, + 2, + 4, + 20, + 4, + 4, + 5, + 5, + 6, + 3, + 3, + 3, + 4, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 2, + 3, + 6, + 6, + 3, + 3, + 2, + 6, + 2, + 0, + 0, + 6, + 5, + 2, + 7, + 6, + 3, + 6, + 6, + 5, + 8, + 4, + 20, + 4, + 5, + 4, + 15, + 6, + 6, + 6, + 2, + 4, + 5, + 6, + 20, + 4, + 10, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 14, + 2, + 6, + 3, + 6, + 34, + 6, + 4, + 5, + 5, + 4, + 4, + 3, + 2, + 5, + 6, + 6, + 14, + 6, + 5, + 5, + 5, + 14, + 4, + 6, + 6, + 4, + 3, + 12, + 6, + 5, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 6, + 30, + 6, + 6, + 6, + 2, + 5, + 3, + 5, + 5, + 6, + 3, + 25, + 4, + 5, + 3, + 4, + 0, + 6, + 6, + 4, + 3, + 6, + 5, + 4, + 31, + 14, + 5, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 5, + 40, + 5, + 6, + 4, + 4, + 4, + 6, + 4, + 5, + 5, + 6, + 6, + 6, + 4, + 3, + 6, + 5, + 14, + 6, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 16, + 4, + 6, + 5, + 7, + 13, + 5, + 3, + 5, + 4, + 6, + 2, + 3, + 6, + 4, + 3, + 2, + 2, + 6, + 5, + 16, + 5, + 5, + 5, + 5, + 23, + 5, + 3, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 2, + 3, + 6, + 2, + 3, + 5, + 2, + 4, + 3, + 4, + 6, + 3, + 6, + 6, + 5, + 5, + 6, + 5, + 5, + 8, + 4, + 2, + 10, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 0, + 5, + 22, + 2, + 5, + 5, + 5, + 6, + 14, + 6, + 5, + 4, + 5, + 5, + 6, + 4, + 3, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 2, + 4, + 49, + 5, + 5, + 2, + 5, + 4, + 30, + 6, + 6, + 7, + 3, + 6, + 2, + 5, + 5, + 25, + 5, + 3, + 6, + 3, + 5, + 6, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 5, + 5, + 17, + 6, + 5, + 5, + 13, + 6, + 6, + 4, + 6, + 3, + 4, + 5, + 36, + 2, + 3, + 4, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 6, + 4, + 5, + 2, + 5, + 5, + 0, + 14, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 5, + 3, + 3, + 2, + 5, + 25, + 5, + 5, + 0, + 4, + 35, + 50, + 6, + 4, + 5, + 4, + 6, + 3, + 4, + 18, + 6, + 20, + 6, + 6, + 5, + 5, + 6, + 6, + 3, + 19, + 4, + 2, + 13, + 5, + 7, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 5, + 5, + 15, + 6, + 6, + 5, + 2, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 6, + 2, + 6, + 3, + 4, + 6, + 17, + 6, + 5, + 3, + 2, + 4, + 6, + 3, + 3, + 6, + 6, + 6, + 34, + 6, + 4, + 6, + 4, + 6, + 6, + 3, + 6, + 6, + 3, + 5, + 3, + 3, + 6, + 6, + 5, + 3, + 4, + 6, + 2, + 6, + 4, + 6, + 3, + 7, + 5, + 4, + 6, + 37, + 6, + 6, + 25, + 3, + 3, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 4, + 10, + 0, + 3, + 0, + 6, + 3, + 5, + 3, + 4, + 6, + 6, + 5, + 6, + 3, + 5, + 6, + 14, + 6, + 6, + 2, + 4, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 6, + 20, + 3, + 5, + 6, + 4, + 5, + 5, + 3, + 5, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 6, + 17, + 5, + 4, + 6, + 6, + 11, + 3, + 3, + 6, + 6, + 6, + 4, + 0, + 13, + 6, + 4, + 6, + 5, + 4, + 7, + 3, + 14, + 4, + 4, + 6, + 4, + 6, + 7, + 6, + 5, + 4, + 4, + 3, + 3, + 4, + 14, + 0, + 5, + 6, + 7, + 6, + 14, + 6, + 4, + 3, + 5, + 30, + 6, + 4, + 5, + 3, + 5, + 22, + 2, + 8, + 5, + 3, + 3, + 6, + 4, + 6, + 25, + 4, + 3, + 2, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 7, + 6, + 3, + 4, + 5, + 3, + 6, + 6, + 6, + 22, + 6, + 4, + 0, + 5, + 4, + 4, + 6, + 5, + 6, + 3, + 4, + 25, + 5, + 3, + 6, + 3, + 5, + 14, + 4, + 6, + 13, + 3, + 5, + 5, + 6, + 12, + 29, + 5, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 3, + 6, + 2, + 5, + 4, + 6, + 2, + 4, + 5, + 5, + 6, + 6, + 47, + 6, + 12, + 6, + 5, + 7, + 6, + 4, + 18, + 6, + 5, + 2, + 4, + 3, + 4, + 4, + 4, + 3, + 4, + 5, + 6, + 6, + 18, + 6, + 4, + 5, + 0, + 4, + 3, + 2, + 5, + 2, + 5, + 4, + 6, + 5, + 38, + 2, + 5, + 2, + 3, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 7, + 3, + 4, + 4, + 6, + 3, + 33, + 4, + 6, + 3, + 5, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 3, + 3, + 5, + 4, + 5, + 6, + 5, + 11, + 23, + 4, + 4, + 6, + 6, + 2, + 6, + 3, + 0, + 2, + 4, + 7, + 6, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 4, + 2, + 2, + 6, + 3, + 5, + 5, + 4, + 2, + 4, + 6, + 5, + 14, + 6, + 6, + 6, + 7, + 5, + 6, + 0, + 5, + 2, + 7, + 5, + 21, + 5, + 4, + 8, + 5, + 6, + 4, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 0, + 3, + 3, + 14, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 3, + 2, + 6, + 6, + 4, + 6, + 3, + 4, + 3, + 2, + 3, + 4, + 3, + 3, + 0, + 0, + 4, + 6, + 5, + 2, + 4, + 19, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 4, + 6, + 6, + 0, + 6, + 2, + 4, + 5, + 4, + 6, + 4, + 21, + 5, + 20, + 5, + 3, + 2, + 6, + 5, + 4, + 6, + 2, + 6, + 4, + 4, + 16, + 7, + 6, + 6, + 5, + 7, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 6, + 4, + 6, + 6, + 14, + 22, + 4, + 6, + 5, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 2, + 5, + 5, + 5, + 6, + 5, + 3, + 20, + 3, + 6, + 0, + 6, + 6, + 6, + 3, + 6, + 6, + 6, + 6, + 5, + 27, + 3, + 5, + 3, + 3, + 6, + 26, + 6, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 6, + 6, + 27, + 6, + 4, + 6, + 12, + 4, + 5, + 6, + 12, + 3, + 13, + 5, + 3, + 5, + 14, + 19, + 12, + 3, + 5, + 35, + 6, + 3, + 6, + 4, + 12, + 6, + 3, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 3, + 20, + 5, + 3, + 5, + 4, + 6, + 4, + 3, + 24, + 6, + 5, + 6, + 6, + 5, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 19, + 6, + 0, + 3, + 6, + 3, + 6, + 7, + 6, + 5, + 5, + 3, + 5, + 6, + 6, + 5, + 4, + 2, + 22, + 6, + 3, + 2, + 4, + 5, + 6, + 5, + 6, + 6, + 7, + 3, + 6, + 3, + 3, + 5, + 5, + 14, + 7, + 5, + 22, + 12, + 5, + 4, + 4, + 6, + 6, + 6, + 5, + 3, + 6, + 4, + 3, + 6, + 6, + 4, + 5, + 3, + 6, + 5, + 5, + 3, + 5, + 18, + 4, + 6, + 6, + 2, + 3, + 6, + 4, + 3, + 4, + 6, + 5, + 6, + 14, + 5, + 14, + 6, + 3, + 20, + 6, + 6, + 4, + 7, + 6, + 5, + 5, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 5, + 4, + 6, + 3, + 3, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 10, + 3, + 5, + 5, + 5, + 4, + 3, + 5, + 2, + 6, + 6, + 4, + 6, + 4, + 15, + 5, + 3, + 3, + 6, + 5, + 3, + 5, + 6, + 3, + 4, + 6, + 2, + 4, + 3, + 3, + 0, + 3, + 5, + 3, + 4, + 6, + 5, + 4, + 14, + 6, + 5, + 3, + 0, + 14, + 5, + 3, + 2, + 6, + 6, + 3, + 4, + 2, + 4, + 6, + 6, + 4, + 4, + 4, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 5, + 4, + 5, + 5, + 5, + 4, + 2, + 5, + 5, + 5, + 5, + 4, + 6, + 20, + 6, + 12, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 6, + 14, + 3, + 4, + 5, + 6, + 6, + 4, + 5, + 6, + 4, + 6, + 6, + 5, + 2, + 5, + 3, + 3, + 6, + 3, + 4, + 6, + 7, + 5, + 2, + 5, + 0, + 6, + 3, + 3, + 4, + 6, + 3, + 7, + 7, + 4, + 7, + 3, + 4, + 6, + 4, + 3, + 4, + 4, + 2, + 7, + 6, + 6, + 3, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 12, + 6, + 5, + 2, + 3, + 8, + 5, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 6, + 5, + 3, + 5, + 5, + 5, + 8, + 6, + 21, + 5, + 6, + 4, + 3, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 5, + 31, + 3, + 5, + 5, + 3, + 12, + 0, + 5, + 6, + 6, + 5, + 2, + 6, + 6, + 3, + 2, + 6, + 3, + 6, + 3, + 6, + 4, + 6, + 6, + 4, + 0, + 3, + 6, + 23, + 46, + 6, + 3, + 4, + 6, + 6, + 13, + 5, + 3, + 3, + 5, + 5, + 6, + 3, + 25, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 2, + 6, + 5, + 5, + 20, + 11, + 2, + 6, + 6, + 0, + 6, + 5, + 6, + 4, + 6, + 3, + 5, + 3, + 7, + 5, + 10, + 4, + 25, + 6, + 5, + 5, + 14, + 3, + 6, + 4, + 4, + 3, + 20, + 36, + 6, + 5, + 14, + 14, + 6, + 4, + 2, + 5, + 3, + 2, + 26, + 20, + 6, + 4, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 35, + 6, + 5, + 3, + 6, + 5, + 3, + 5, + 6, + 5, + 4, + 4, + 3, + 2, + 5, + 4, + 6, + 0, + 5, + 4, + 3, + 5, + 14, + 6, + 5, + 7, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 5, + 2, + 5, + 6, + 2, + 2, + 3, + 2, + 5, + 2, + 6, + 6, + 4, + 5, + 2, + 2, + 4, + 0, + 6, + 6, + 4, + 6, + 3, + 6, + 5, + 6, + 5, + 4, + 6, + 12, + 5, + 6, + 4, + 6, + 5, + 6, + 5, + 22, + 6, + 6, + 6, + 6, + 6, + 3, + 5, + 4, + 4, + 2, + 5, + 3, + 6, + 4, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 3, + 3, + 25, + 6, + 3, + 0, + 0, + 4, + 6, + 6, + 2, + 5, + 4, + 6, + 26, + 5, + 5, + 2, + 6, + 3, + 5, + 3, + 4, + 5, + 6, + 6, + 5, + 3, + 3, + 13, + 4, + 7, + 5, + 5, + 6, + 6, + 6, + 0, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 6, + 7, + 6, + 2, + 6, + 4, + 4, + 3, + 5, + 4, + 7, + 5, + 6, + 14, + 6, + 3, + 6, + 5, + 6, + 5, + 5, + 5, + 0, + 6, + 6, + 3, + 6, + 4, + 14, + 5, + 6, + 5, + 3, + 5, + 3, + 24, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 3, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 2, + 6, + 6, + 3, + 2, + 29, + 5, + 5, + 31, + 2, + 7, + 10, + 6, + 17, + 5, + 3, + 6, + 5, + 4, + 5, + 5, + 6, + 5, + 4, + 2, + 4, + 19, + 6, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 4, + 6, + 5, + 4, + 5, + 3, + 2, + 3, + 6, + 3, + 0, + 6, + 2, + 6, + 2, + 4, + 4, + 2, + 3, + 21, + 4, + 5, + 5, + 6, + 4, + 2, + 2, + 2, + 5, + 4, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 6, + 26, + 5, + 3, + 3, + 4, + 17, + 5, + 3, + 0, + 4, + 3, + 7, + 5, + 4, + 2, + 6, + 2, + 5, + 6, + 6, + 5, + 2, + 5, + 38, + 5, + 6, + 5, + 0, + 6, + 6, + 17, + 3, + 6, + 3, + 2, + 5, + 4, + 3, + 6, + 6, + 3, + 3, + 5, + 23, + 5, + 6, + 6, + 5, + 6, + 2, + 5, + 6, + 5, + 14, + 4, + 6, + 4, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 0, + 4, + 4, + 5, + 5, + 12, + 6, + 6, + 44, + 5, + 5, + 2, + 6, + 5, + 2, + 14, + 4, + 2, + 5, + 50, + 2, + 4, + 13, + 3, + 6, + 5, + 6, + 6, + 4, + 5, + 5, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 6, + 6, + 6, + 3, + 4, + 3, + 6, + 2, + 29, + 6, + 5, + 2, + 44, + 6, + 14, + 5, + 6, + 5, + 4, + 6, + 4, + 9, + 5, + 3, + 5, + 2, + 5, + 23, + 5, + 0, + 5, + 6, + 7, + 3, + 6, + 3, + 4, + 6, + 5, + 3, + 0, + 3, + 6, + 5, + 41, + 6, + 5, + 6, + 6, + 5, + 6, + 14, + 6, + 5, + 3, + 6, + 3, + 3, + 12, + 6, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 2, + 6, + 6, + 2, + 2, + 6, + 8, + 14, + 4, + 3, + 6, + 6, + 5, + 5, + 3, + 3, + 6, + 22, + 6, + 4, + 6, + 3, + 5, + 5, + 5, + 2, + 2, + 0, + 6, + 6, + 5, + 5, + 5, + 4, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 3, + 12, + 8, + 6, + 3, + 2, + 6, + 5, + 17, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 17, + 5, + 2, + 3, + 7, + 5, + 3, + 6, + 6, + 0, + 6, + 5, + 3, + 4, + 5, + 5, + 18, + 6, + 22, + 3, + 5, + 5, + 3, + 5, + 6, + 5, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 3, + 6, + 4, + 5, + 5, + 5, + 6, + 6, + 4, + 5, + 21, + 5, + 0, + 2, + 2, + 3, + 3, + 4, + 6, + 6, + 0, + 5, + 6, + 6, + 6, + 3, + 3, + 5, + 6, + 3, + 6, + 4, + 3, + 5, + 5, + 6, + 4, + 4, + 5, + 6, + 5, + 6, + 5, + 14, + 4, + 5, + 14, + 6, + 19, + 4, + 20, + 3, + 9, + 6, + 14, + 4, + 6, + 5, + 44, + 6, + 4, + 4, + 6, + 5, + 3, + 2, + 42, + 5, + 2, + 6, + 3, + 4, + 5, + 3, + 5, + 25, + 6, + 2, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 3, + 6, + 2, + 7, + 13, + 6, + 2, + 5, + 5, + 5, + 5, + 21, + 4, + 3, + 8, + 6, + 6, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 2, + 5, + 6, + 6, + 5, + 5, + 5, + 5, + 3, + 6, + 6, + 4, + 6, + 6, + 4, + 0, + 6, + 44, + 2, + 4, + 13, + 5, + 4, + 26, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 3, + 4, + 4, + 6, + 6, + 2, + 0, + 3, + 6, + 3, + 4, + 4, + 6, + 4, + 5, + 7, + 5, + 4, + 6, + 5, + 7, + 4, + 4, + 4, + 6, + 17, + 4, + 5, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 26, + 5, + 14, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 28, + 6, + 6, + 4, + 6, + 4, + 5, + 4, + 0, + 6, + 6, + 4, + 4, + 6, + 21, + 5, + 2, + 2, + 3, + 5, + 7, + 12, + 6, + 6, + 25, + 6, + 28, + 5, + 6, + 4, + 17, + 5, + 5, + 14, + 5, + 10, + 6, + 6, + 6, + 12, + 6, + 6, + 4, + 3, + 23, + 10, + 0, + 2, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 6, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 12, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 6, + 11, + 6, + 6, + 6, + 5, + 46, + 5, + 3, + 6, + 3, + 12, + 5, + 14, + 4, + 6, + 4, + 4, + 5, + 2, + 6, + 6, + 5, + 4, + 14, + 2, + 5, + 4, + 2, + 3, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 42, + 3, + 4, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 3, + 4, + 10, + 3, + 6, + 5, + 3, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 6, + 7, + 4, + 2, + 6, + 6, + 5, + 5, + 4, + 26, + 5, + 5, + 21, + 7, + 5, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 4, + 5, + 6, + 3, + 5, + 6, + 4, + 3, + 4, + 5, + 4, + 6, + 5, + 3, + 2, + 5, + 3, + 0, + 3, + 2, + 6, + 5, + 4, + 3, + 3, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 14, + 6, + 6, + 2, + 5, + 6, + 4, + 3, + 7, + 3, + 5, + 6, + 3, + 5, + 6, + 3, + 5, + 2, + 5, + 2, + 5, + 5, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 6, + 3, + 3, + 9, + 5, + 6, + 6, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 5, + 7, + 6, + 14, + 8, + 2, + 4, + 17, + 5, + 6, + 4, + 3, + 4, + 6, + 5, + 5, + 3, + 6, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 5, + 6, + 6, + 6, + 5, + 2, + 5, + 6, + 3, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 3, + 6, + 5, + 2, + 0, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 17, + 5, + 5, + 6, + 6, + 23, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 3, + 6, + 5, + 3, + 6, + 3, + 16, + 17, + 4, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 5, + 44, + 6, + 4, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 3, + 12, + 3, + 4, + 2, + 14, + 6, + 5, + 6, + 3, + 4, + 14, + 6, + 4, + 4, + 5, + 3, + 4, + 6, + 3, + 0, + 5, + 6, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 6, + 6, + 6, + 5, + 4, + 2, + 6, + 3, + 6, + 4, + 7, + 5, + 5, + 2, + 6, + 6, + 5, + 6, + 8, + 5, + 5, + 5, + 6, + 6, + 6, + 21, + 5, + 2, + 6, + 4, + 5, + 2, + 6, + 6, + 2, + 5, + 3, + 4, + 6, + 6, + 6, + 2, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 5, + 5, + 4, + 4, + 14, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 6, + 3, + 2, + 3, + 5, + 4, + 6, + 6, + 6, + 3, + 6, + 6, + 19, + 3, + 6, + 2, + 6, + 4, + 6, + 14, + 4, + 2, + 6, + 6, + 6, + 4, + 6, + 6, + 0, + 0, + 6, + 4, + 2, + 0, + 6, + 2, + 5, + 6, + 5, + 2, + 5, + 6, + 5, + 4, + 0, + 6, + 4, + 5, + 14, + 0, + 4, + 0, + 3, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 4, + 47, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 2, + 3, + 5, + 15, + 6, + 2, + 5, + 4, + 5, + 6, + 5, + 3, + 5, + 4, + 6, + 6, + 4, + 17, + 6, + 3, + 17, + 3, + 4, + 6, + 5, + 5, + 33, + 4, + 6, + 17, + 20, + 5, + 2, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 4, + 20, + 18, + 5, + 6, + 2, + 6, + 3, + 5, + 3, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 6, + 3, + 6, + 6, + 5, + 14, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 39, + 3, + 5, + 6, + 17, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 3, + 14, + 5, + 6, + 6, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 0, + 0, + 6, + 2, + 3, + 2, + 12, + 6, + 5, + 4, + 25, + 5, + 12, + 0, + 5, + 3, + 3, + 3, + 3, + 6, + 11, + 6, + 6, + 5, + 20, + 2, + 5, + 6, + 4, + 0, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 4, + 3, + 11, + 17, + 5, + 5, + 2, + 5, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 2, + 3, + 7, + 6, + 6, + 17, + 5, + 6, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 8, + 6, + 5, + 5, + 5, + 4, + 5, + 6, + 4, + 33, + 6, + 0, + 5, + 3, + 28, + 6, + 11, + 3, + 33, + 6, + 6, + 5, + 6, + 6, + 3, + 5, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 3, + 3, + 4, + 6, + 5, + 6, + 3, + 3, + 17, + 0, + 4, + 4, + 4, + 5, + 0, + 3, + 2, + 6, + 3, + 6, + 3, + 12, + 20, + 3, + 38, + 6, + 2, + 4, + 3, + 14, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 6, + 5, + 7, + 6, + 6, + 5, + 5, + 6, + 10, + 6, + 2, + 4, + 5, + 2, + 4, + 4, + 8, + 3, + 4, + 5, + 3, + 4, + 3, + 7, + 14, + 6, + 0, + 6, + 6, + 5, + 46, + 5, + 0, + 6, + 4, + 4, + 5, + 5, + 4, + 3, + 5, + 3, + 6, + 3, + 4, + 5, + 6, + 3, + 6, + 4, + 0, + 3, + 6, + 17, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 2, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 19, + 6, + 6, + 2, + 4, + 5, + 5, + 4, + 5, + 2, + 3, + 3, + 2, + 2, + 2, + 0, + 4, + 4, + 26, + 6, + 3, + 4, + 0, + 5, + 3, + 14, + 2, + 2, + 4, + 4, + 4, + 6, + 4, + 6, + 6, + 5, + 5, + 11, + 5, + 3, + 5, + 2, + 6, + 29, + 5, + 5, + 5, + 3, + 4, + 4, + 3, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 2, + 2, + 3, + 7, + 6, + 3, + 6, + 3, + 5, + 6, + 6, + 3, + 28, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 19, + 17, + 6, + 5, + 6, + 8, + 6, + 4, + 6, + 9, + 6, + 12, + 0, + 5, + 6, + 3, + 5, + 5, + 3, + 6, + 26, + 3, + 3, + 6, + 5, + 3, + 6, + 4, + 5, + 2, + 2, + 17, + 2, + 14, + 3, + 5, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 5, + 2, + 3, + 6, + 5, + 14, + 6, + 5, + 3, + 6, + 5, + 3, + 0, + 6, + 0, + 3, + 4, + 5, + 4, + 5, + 5, + 5, + 2, + 0, + 5, + 3, + 2, + 2, + 3, + 6, + 7, + 4, + 5, + 5, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 49, + 6, + 14, + 12, + 6, + 5, + 2, + 3, + 5, + 6, + 2, + 12, + 5, + 12, + 2, + 4, + 6, + 17, + 6, + 4, + 4, + 6, + 14, + 4, + 20, + 6, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 4, + 4, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 18, + 6, + 4, + 3, + 4, + 13, + 6, + 5, + 13, + 3, + 3, + 7, + 5, + 0, + 2, + 3, + 12, + 5, + 5, + 3, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 6, + 3, + 4, + 14, + 4, + 2, + 6, + 6, + 14, + 6, + 5, + 3, + 6, + 14, + 6, + 3, + 4, + 3, + 6, + 6, + 5, + 2, + 4, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 4, + 6, + 14, + 4, + 7, + 4, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 4, + 6, + 5, + 21, + 6, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 5, + 5, + 5, + 5, + 6, + 2, + 0, + 6, + 4, + 5, + 3, + 5, + 4, + 3, + 6, + 5, + 5, + 5, + 22, + 2, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 5, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 6, + 7, + 6, + 6, + 4, + 4, + 3, + 4, + 3, + 5, + 3, + 29, + 2, + 4, + 6, + 19, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 15, + 6, + 6, + 5, + 4, + 6, + 3, + 3, + 17, + 22, + 7, + 4, + 4, + 6, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 23, + 5, + 6, + 8, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 5, + 3, + 48, + 22, + 6, + 4, + 5, + 6, + 13, + 4, + 5, + 6, + 0, + 4, + 5, + 6, + 6, + 3, + 5, + 19, + 3, + 6, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 5, + 5, + 6, + 48, + 3, + 5, + 5, + 5, + 6, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 3, + 4, + 5, + 4, + 6, + 6, + 5, + 10, + 6, + 6, + 4, + 3, + 6, + 3, + 5, + 3, + 10, + 6, + 6, + 13, + 6, + 6, + 5, + 5, + 6, + 0, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 2, + 6, + 17, + 3, + 18, + 6, + 5, + 2, + 4, + 5, + 3, + 4, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 5, + 6, + 2, + 5, + 14, + 5, + 33, + 6, + 6, + 4, + 4, + 2, + 6, + 5, + 23, + 6, + 4, + 3, + 5, + 6, + 6, + 3, + 4, + 7, + 6, + 6, + 12, + 6, + 5, + 4, + 6, + 0, + 6, + 6, + 6, + 5, + 4, + 5, + 2, + 6, + 14, + 5, + 4, + 16, + 5, + 6, + 6, + 4, + 3, + 6, + 14, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 4, + 6, + 6, + 5, + 2, + 6, + 3, + 27, + 6, + 47, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 5, + 6, + 0, + 2, + 6, + 30, + 5, + 14, + 14, + 3, + 6, + 5, + 3, + 15, + 5, + 6, + 5, + 6, + 25, + 4, + 6, + 3, + 5, + 6, + 4, + 4, + 5, + 4, + 5, + 3, + 14, + 4, + 2, + 6, + 4, + 4, + 14, + 5, + 6, + 6, + 4, + 3, + 39, + 6, + 6, + 6, + 3, + 2, + 0, + 5, + 6, + 3, + 6, + 6, + 6, + 5, + 3, + 5, + 21, + 6, + 5, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 5, + 7, + 5, + 5, + 6, + 2, + 15, + 6, + 8, + 4, + 3, + 3, + 2, + 6, + 4, + 4, + 6, + 5, + 6, + 5, + 3, + 3, + 6, + 4, + 3, + 6, + 3, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 7, + 6, + 5, + 13, + 6, + 5, + 18, + 6, + 5, + 6, + 5, + 15, + 4, + 6, + 7, + 4, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 3, + 2, + 4, + 6, + 2, + 7, + 6, + 4, + 5, + 4, + 5, + 0, + 3, + 16, + 6, + 5, + 6, + 3, + 17, + 13, + 5, + 4, + 6, + 4, + 6, + 14, + 5, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 6, + 2, + 5, + 3, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 3, + 5, + 7, + 6, + 5, + 6, + 4, + 6, + 3, + 6, + 22, + 4, + 5, + 4, + 19, + 3, + 6, + 9, + 0, + 47, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 2, + 5, + 5, + 6, + 4, + 5, + 6, + 4, + 5, + 6, + 14, + 4, + 6, + 4, + 5, + 5, + 5, + 5, + 5, + 4, + 5, + 4, + 6, + 22, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 4, + 6, + 2, + 6, + 5, + 3, + 3, + 4, + 4, + 6, + 5, + 6, + 6, + 35, + 2, + 3, + 3, + 3, + 2, + 4, + 5, + 6, + 6, + 5, + 2, + 5, + 6, + 21, + 4, + 0, + 6, + 4, + 4, + 3, + 7, + 4, + 37, + 3, + 2, + 4, + 6, + 6, + 5, + 5, + 7, + 5, + 2, + 6, + 5, + 7, + 6, + 5, + 5, + 6, + 5, + 44, + 6, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 6, + 14, + 5, + 4, + 5, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 2, + 3, + 4, + 10, + 6, + 2, + 5, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 3, + 4, + 3, + 3, + 5, + 6, + 2, + 5, + 3, + 3, + 3, + 5, + 5, + 5, + 4, + 4, + 6, + 0, + 6, + 4, + 6, + 4, + 4, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 6, + 10, + 4, + 17, + 3, + 3, + 4, + 3, + 6, + 15, + 5, + 6, + 7, + 3, + 10, + 5, + 5, + 15, + 4, + 6, + 4, + 4, + 6, + 5, + 4, + 4, + 4, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 4, + 2, + 5, + 11, + 3, + 23, + 6, + 13, + 6, + 6, + 5, + 10, + 5, + 5, + 4, + 11, + 14, + 6, + 3, + 5, + 5, + 6, + 4, + 2, + 18, + 6, + 2, + 3, + 5, + 6, + 25, + 2, + 6, + 4, + 5, + 2, + 5, + 6, + 6, + 6, + 6, + 0, + 2, + 5, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 2, + 6, + 3, + 6, + 5, + 5, + 6, + 5, + 3, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 6, + 3, + 0, + 6, + 2, + 5, + 6, + 5, + 21, + 2, + 2, + 36, + 6, + 6, + 11, + 5, + 7, + 0, + 17, + 6, + 4, + 5, + 6, + 6, + 3, + 6, + 2, + 3, + 4, + 6, + 3, + 5, + 36, + 2, + 2, + 5, + 5, + 3, + 3, + 6, + 6, + 3, + 47, + 3, + 3, + 10, + 5, + 6, + 17, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 3, + 2, + 2, + 4, + 6, + 4, + 5, + 16, + 6, + 13, + 6, + 6, + 3, + 3, + 6, + 3, + 2, + 3, + 2, + 6, + 5, + 3, + 5, + 6, + 38, + 6, + 4, + 0, + 4, + 4, + 5, + 2, + 5, + 6, + 4, + 3, + 6, + 5, + 15, + 3, + 5, + 3, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 3, + 4, + 0, + 42, + 5, + 4, + 5, + 7, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 6, + 14, + 3, + 3, + 3, + 6, + 5, + 4, + 25, + 6, + 6, + 2, + 5, + 5, + 3, + 4, + 3, + 3, + 3, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 4, + 3, + 6, + 7, + 4, + 5, + 3, + 2, + 3, + 5, + 5, + 5, + 2, + 3, + 5, + 2, + 5, + 14, + 3, + 6, + 0, + 6, + 6, + 4, + 3, + 5, + 5, + 3, + 0, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 13, + 4, + 6, + 2, + 4, + 2, + 3, + 5, + 5, + 2, + 2, + 5, + 4, + 5, + 4, + 0, + 22, + 3, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 3, + 4, + 2, + 6, + 3, + 3, + 5, + 6, + 4, + 3, + 6, + 6, + 6, + 6, + 17, + 5, + 5, + 5, + 3, + 4, + 6, + 5, + 4, + 6, + 3, + 3, + 4, + 14, + 5, + 4, + 5, + 4, + 8, + 4, + 5, + 5, + 4, + 25, + 6, + 12, + 3, + 3, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 3, + 7, + 3, + 6, + 3, + 6, + 2, + 6, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 5, + 15, + 5, + 5, + 6, + 22, + 6, + 6, + 2, + 5, + 4, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 4, + 4, + 14, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 0, + 13, + 7, + 3, + 5, + 3, + 2, + 46, + 4, + 6, + 6, + 2, + 5, + 5, + 6, + 3, + 49, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 5, + 6, + 3, + 14, + 3, + 35, + 0, + 6, + 0, + 6, + 5, + 3, + 5, + 4, + 20, + 6, + 6, + 5, + 5, + 3, + 28, + 6, + 3, + 3, + 5, + 4, + 2, + 2, + 5, + 8, + 3, + 4, + 16, + 5, + 5, + 3, + 4, + 3, + 6, + 6, + 4, + 6, + 5, + 4, + 13, + 6, + 6, + 6, + 2, + 6, + 5, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 6, + 8, + 4, + 2, + 3, + 6, + 5, + 5, + 4, + 6, + 28, + 6, + 5, + 5, + 6, + 2, + 6, + 3, + 4, + 5, + 6, + 4, + 3, + 5, + 7, + 4, + 6, + 3, + 3, + 4, + 6, + 5, + 14, + 3, + 30, + 6, + 6, + 6, + 5, + 6, + 42, + 4, + 14, + 6, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 4, + 5, + 5, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 5, + 20, + 6, + 6, + 3, + 4, + 6, + 5, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 5, + 6, + 5, + 5, + 2, + 3, + 5, + 3, + 6, + 2, + 6, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 3, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 0, + 14, + 5, + 3, + 28, + 5, + 5, + 6, + 4, + 6, + 7, + 14, + 4, + 5, + 6, + 5, + 5, + 23, + 14, + 6, + 6, + 6, + 31, + 5, + 5, + 6, + 5, + 5, + 4, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 0, + 5, + 5, + 2, + 2, + 3, + 3, + 5, + 5, + 25, + 3, + 3, + 4, + 3, + 3, + 6, + 2, + 5, + 3, + 16, + 6, + 3, + 4, + 5, + 4, + 3, + 0, + 5, + 4, + 15, + 6, + 0, + 6, + 6, + 14, + 6, + 5, + 5, + 4, + 6, + 4, + 4, + 6, + 2, + 6, + 4, + 2, + 14, + 5, + 4, + 5, + 3, + 2, + 4, + 6, + 3, + 5, + 4, + 6, + 29, + 3, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 2, + 4, + 4, + 5, + 2, + 5, + 13, + 6, + 5, + 4, + 9, + 6, + 14, + 6, + 13, + 6, + 2, + 3, + 2, + 4, + 5, + 4, + 2, + 6, + 0, + 3, + 6, + 2, + 3, + 4, + 5, + 6, + 5, + 6, + 6, + 14, + 6, + 6, + 6, + 4, + 4, + 3, + 4, + 2, + 6, + 30, + 4, + 5, + 6, + 5, + 0, + 5, + 7, + 5, + 3, + 5, + 3, + 6, + 6, + 5, + 4, + 5, + 3, + 5, + 3, + 6, + 4, + 5, + 2, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 8, + 6, + 7, + 4, + 2, + 2, + 0, + 5, + 3, + 6, + 3, + 3, + 6, + 4, + 4, + 6, + 3, + 4, + 5, + 3, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 14, + 3, + 6, + 6, + 3, + 6, + 6, + 4, + 14, + 14, + 6, + 5, + 6, + 6, + 4, + 3, + 6, + 5, + 5, + 5, + 47, + 6, + 3, + 3, + 6, + 14, + 6, + 3, + 3, + 5, + 4, + 6, + 5, + 6, + 4, + 6, + 2, + 5, + 14, + 6, + 5, + 6, + 4, + 6, + 7, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 5, + 6, + 20, + 4, + 5, + 3, + 5, + 2, + 2, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 6, + 12, + 6, + 17, + 6, + 5, + 0, + 4, + 5, + 5, + 14, + 0, + 4, + 5, + 6, + 4, + 4, + 44, + 2, + 6, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 6, + 14, + 6, + 6, + 3, + 4, + 3, + 6, + 6, + 2, + 19, + 6, + 5, + 2, + 42, + 5, + 3, + 4, + 5, + 3, + 6, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 0, + 4, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 4, + 5, + 5, + 0, + 5, + 11, + 21, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 26, + 6, + 6, + 6, + 3, + 2, + 4, + 4, + 4, + 5, + 4, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 5, + 5, + 5, + 5, + 6, + 3, + 6, + 4, + 6, + 7, + 6, + 5, + 6, + 10, + 3, + 3, + 6, + 14, + 6, + 6, + 3, + 3, + 3, + 6, + 4, + 4, + 4, + 6, + 5, + 3, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 12, + 5, + 5, + 2, + 6, + 4, + 6, + 4, + 5, + 6, + 3, + 3, + 4, + 3, + 3, + 0, + 2, + 12, + 4, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 2, + 3, + 5, + 5, + 6, + 5, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 14, + 14, + 6, + 5, + 6, + 4, + 6, + 0, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 16, + 6, + 2, + 5, + 5, + 3, + 12, + 6, + 6, + 6, + 6, + 3, + 6, + 3, + 4, + 5, + 5, + 6, + 5, + 3, + 5, + 4, + 3, + 5, + 3, + 12, + 6, + 4, + 6, + 4, + 5, + 3, + 4, + 3, + 5, + 5, + 6, + 12, + 6, + 6, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 3, + 5, + 6, + 5, + 6, + 5, + 3, + 12, + 4, + 4, + 3, + 6, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 3, + 6, + 8, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 14, + 2, + 0, + 5, + 3, + 5, + 5, + 5, + 7, + 2, + 4, + 5, + 4, + 0, + 3, + 4, + 6, + 5, + 6, + 5, + 5, + 3, + 5, + 3, + 3, + 6, + 6, + 6, + 6, + 2, + 5, + 4, + 6, + 6, + 29, + 5, + 6, + 4, + 10, + 5, + 6, + 3, + 14, + 3, + 4, + 4, + 6, + 4, + 6, + 4, + 6, + 3, + 4, + 5, + 2, + 4, + 27, + 6, + 7, + 6, + 5, + 5, + 2, + 29, + 3, + 3, + 5, + 7, + 8, + 6, + 3, + 6, + 5, + 5, + 0, + 6, + 7, + 6, + 4, + 6, + 3, + 4, + 4, + 6, + 6, + 5, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 12, + 5, + 5, + 0, + 2, + 5, + 6, + 3, + 6, + 6, + 5, + 5, + 2, + 6, + 5, + 3, + 4, + 6, + 2, + 29, + 3, + 6, + 2, + 5, + 2, + 6, + 4, + 0, + 5, + 4, + 6, + 6, + 4, + 3, + 7, + 2, + 4, + 3, + 6, + 4, + 4, + 4, + 6, + 4, + 6, + 5, + 4, + 4, + 4, + 29, + 3, + 12, + 5, + 12, + 3, + 4, + 5, + 2, + 31, + 4, + 6, + 7, + 6, + 5, + 5, + 3, + 4, + 3, + 5, + 4, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 4, + 14, + 5, + 5, + 8, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 2, + 4, + 5, + 0, + 4, + 3, + 16, + 6, + 6, + 12, + 6, + 6, + 4, + 6, + 6, + 19, + 4, + 6, + 5, + 4, + 3, + 27, + 3, + 5, + 5, + 6, + 6, + 6, + 16, + 6, + 5, + 2, + 4, + 2, + 3, + 6, + 5, + 0, + 2, + 3, + 14, + 5, + 4, + 5, + 5, + 2, + 4, + 2, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 3, + 6, + 3, + 18, + 6, + 4, + 5, + 4, + 3, + 0, + 13, + 5, + 3, + 6, + 4, + 4, + 5, + 4, + 6, + 2, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 32, + 6, + 5, + 6, + 0, + 6, + 49, + 3, + 3, + 6, + 14, + 5, + 2, + 5, + 3, + 3, + 2, + 6, + 44, + 3, + 4, + 5, + 7, + 6, + 6, + 7, + 4, + 6, + 5, + 2, + 21, + 6, + 2, + 3, + 2, + 7, + 4, + 6, + 5, + 4, + 6, + 5, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 3, + 0, + 3, + 5, + 5, + 5, + 6, + 40, + 12, + 6, + 5, + 3, + 3, + 4, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 2, + 6, + 5, + 25, + 6, + 6, + 5, + 6, + 6, + 0, + 5, + 5, + 5, + 5, + 15, + 6, + 4, + 20, + 5, + 5, + 6, + 4, + 4, + 5, + 2, + 3, + 5, + 4, + 5, + 6, + 5, + 6, + 10, + 5, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 2, + 5, + 12, + 5, + 3, + 4, + 6, + 6, + 5, + 3, + 14, + 6, + 5, + 5, + 6, + 34, + 0, + 3, + 13, + 6, + 5, + 6, + 5, + 6, + 4, + 3, + 5, + 7, + 23, + 5, + 6, + 6, + 12, + 6, + 7, + 12, + 2, + 6, + 5, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 5, + 6, + 4, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 5, + 4, + 14, + 6, + 4, + 4, + 6, + 14, + 4, + 14, + 3, + 6, + 3, + 17, + 6, + 6, + 6, + 6, + 6, + 2, + 6, + 6, + 2, + 3, + 6, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 5, + 14, + 4, + 3, + 25, + 6, + 6, + 12, + 5, + 5, + 44, + 6, + 3, + 7, + 4, + 4, + 2, + 5, + 5, + 2, + 2, + 4, + 6, + 0, + 5, + 25, + 3, + 12, + 2, + 6, + 6, + 9, + 2, + 4, + 6, + 5, + 5, + 6, + 3, + 6, + 3, + 4, + 5, + 6, + 6, + 4, + 3, + 5, + 3, + 4, + 4, + 4, + 6, + 4, + 3, + 5, + 3, + 3, + 7, + 2, + 5, + 4, + 5, + 3, + 2, + 25, + 38, + 5, + 4, + 6, + 5, + 2, + 6, + 12, + 2, + 4, + 4, + 5, + 2, + 6, + 12, + 3, + 6, + 4, + 5, + 5, + 4, + 3, + 2, + 5, + 5, + 5, + 3, + 4, + 10, + 3, + 6, + 21, + 4, + 2, + 4, + 6, + 6, + 2, + 6, + 5, + 5, + 5, + 2, + 5, + 5, + 50, + 2, + 6, + 0, + 22, + 6, + 6, + 6, + 5, + 0, + 5, + 14, + 3, + 6, + 2, + 0, + 25, + 5, + 6, + 30, + 2, + 5, + 4, + 4, + 3, + 6, + 12, + 6, + 3, + 2, + 5, + 6, + 21, + 6, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 4, + 5, + 3, + 6, + 4, + 2, + 4, + 2, + 0, + 14, + 6, + 11, + 5, + 6, + 5, + 3, + 3, + 8, + 4, + 3, + 4, + 6, + 3, + 22, + 3, + 6, + 4, + 6, + 4, + 5, + 44, + 5, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 48, + 6, + 3, + 2, + 6, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 21, + 4, + 6, + 4, + 3, + 4, + 0, + 0, + 6, + 7, + 6, + 5, + 6, + 2, + 2, + 0, + 5, + 5, + 5, + 4, + 4, + 5, + 14, + 4, + 4, + 5, + 5, + 7, + 4, + 2, + 4, + 5, + 5, + 3, + 5, + 3, + 17, + 6, + 5, + 6, + 4, + 3, + 6, + 6, + 5, + 6, + 4, + 4, + 28, + 6, + 2, + 6, + 6, + 5, + 2, + 37, + 3, + 6, + 6, + 4, + 5, + 6, + 28, + 3, + 3, + 3, + 2, + 5, + 5, + 6, + 17, + 8, + 5, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 6, + 3, + 3, + 3, + 4, + 17, + 5, + 4, + 5, + 22, + 6, + 5, + 6, + 3, + 3, + 5, + 3, + 5, + 6, + 3, + 4, + 14, + 5, + 7, + 6, + 6, + 5, + 4, + 3, + 3, + 5, + 4, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 6, + 6, + 6, + 6, + 12, + 5, + 5, + 2, + 5, + 5, + 6, + 6, + 5, + 0, + 6, + 6, + 4, + 7, + 4, + 5, + 4, + 5, + 2, + 5, + 2, + 2, + 4, + 3, + 6, + 4, + 4, + 5, + 3, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 6, + 4, + 4, + 5, + 4, + 2, + 5, + 22, + 6, + 6, + 6, + 5, + 4, + 3, + 6, + 5, + 21, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 5, + 3, + 6, + 8, + 6, + 6, + 4, + 6, + 4, + 6, + 2, + 6, + 14, + 4, + 4, + 6, + 4, + 2, + 5, + 2, + 6, + 6, + 5, + 6, + 6, + 4, + 5, + 6, + 14, + 6, + 5, + 4, + 2, + 6, + 6, + 6, + 4, + 25, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 2, + 0, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 6, + 0, + 7, + 5, + 4, + 5, + 13, + 35, + 5, + 6, + 5, + 12, + 4, + 2, + 5, + 3, + 6, + 14, + 2, + 5, + 6, + 6, + 5, + 6, + 0, + 6, + 29, + 14, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 17, + 6, + 2, + 17, + 6, + 5, + 22, + 4, + 5, + 3, + 22, + 28, + 6, + 0, + 6, + 6, + 12, + 6, + 4, + 6, + 6, + 4, + 4, + 6, + 10, + 6, + 3, + 3, + 2, + 6, + 11, + 5, + 6, + 2, + 3, + 5, + 4, + 6, + 5, + 4, + 6, + 2, + 14, + 6, + 4, + 3, + 6, + 3, + 3, + 5, + 14, + 2, + 3, + 2, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 2, + 3, + 5, + 5, + 5, + 3, + 4, + 6, + 46, + 4, + 7, + 5, + 14, + 3, + 2, + 6, + 4, + 3, + 6, + 6, + 3, + 4, + 3, + 4, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 2, + 4, + 13, + 3, + 6, + 4, + 2, + 20, + 4, + 6, + 3, + 18, + 4, + 5, + 3, + 4, + 6, + 4, + 6, + 2, + 5, + 5, + 5, + 6, + 5, + 6, + 15, + 6, + 5, + 13, + 6, + 3, + 3, + 5, + 20, + 5, + 5, + 4, + 6, + 4, + 6, + 6, + 4, + 6, + 6, + 7, + 21, + 4, + 6, + 5, + 4, + 8, + 6, + 3, + 6, + 5, + 6, + 3, + 6, + 4, + 7, + 5, + 4, + 4, + 3, + 6, + 2, + 5, + 5, + 6, + 5, + 6, + 5, + 22, + 4, + 5, + 5, + 5, + 2, + 4, + 12, + 2, + 6, + 6, + 15, + 3, + 4, + 6, + 5, + 4, + 3, + 5, + 17, + 7, + 6, + 3, + 3, + 6, + 6, + 3, + 0, + 3, + 5, + 4, + 7, + 5, + 5, + 6, + 12, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 2, + 5, + 3, + 6, + 14, + 6, + 5, + 5, + 3, + 5, + 14, + 2, + 3, + 3, + 5, + 5, + 5, + 4, + 2, + 4, + 5, + 6, + 3, + 3, + 4, + 21, + 3, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 6, + 5, + 4, + 5, + 6, + 8, + 4, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 3, + 6, + 3, + 6, + 4, + 6, + 5, + 6, + 3, + 3, + 5, + 16, + 15, + 6, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 2, + 9, + 6, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 2, + 6, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 4, + 2, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 3, + 0, + 5, + 5, + 10, + 3, + 3, + 3, + 14, + 3, + 6, + 6, + 4, + 5, + 4, + 0, + 6, + 5, + 7, + 5, + 2, + 5, + 20, + 5, + 5, + 5, + 5, + 5, + 4, + 4, + 3, + 5, + 6, + 3, + 6, + 3, + 6, + 4, + 4, + 2, + 5, + 6, + 4, + 4, + 19, + 6, + 5, + 2, + 3, + 6, + 4, + 4, + 6, + 5, + 42, + 6, + 7, + 3, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 4, + 14, + 6, + 19, + 3, + 3, + 6, + 6, + 3, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 5, + 2, + 6, + 5, + 3, + 3, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 5, + 21, + 3, + 6, + 2, + 12, + 3, + 5, + 14, + 3, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 3, + 14, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 3, + 26, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 5, + 14, + 3, + 6, + 2, + 6, + 6, + 6, + 6, + 3, + 6, + 5, + 7, + 2, + 2, + 25, + 5, + 5, + 7, + 2, + 49, + 5, + 5, + 3, + 5, + 22, + 6, + 5, + 5, + 4, + 14, + 6, + 6, + 21, + 3, + 0, + 3, + 4, + 6, + 6, + 2, + 4, + 16, + 6, + 3, + 5, + 6, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 4, + 6, + 3, + 6, + 6, + 6, + 5, + 6, + 3, + 2, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 3, + 4, + 4, + 6, + 22, + 6, + 2, + 6, + 18, + 5, + 4, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 5, + 5, + 0, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 5, + 10, + 5, + 6, + 3, + 4, + 5, + 5, + 4, + 6, + 5, + 4, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 14, + 3, + 40, + 5, + 4, + 3, + 6, + 6, + 3, + 4, + 14, + 4, + 6, + 2, + 4, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 4, + 8, + 2, + 6, + 4, + 5, + 0, + 4, + 5, + 22, + 5, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 0, + 5, + 6, + 0, + 5, + 2, + 17, + 2, + 6, + 5, + 6, + 4, + 3, + 2, + 6, + 4, + 3, + 4, + 6, + 6, + 6, + 2, + 17, + 6, + 5, + 14, + 6, + 6, + 4, + 2, + 4, + 0, + 6, + 2, + 3, + 2, + 5, + 2, + 5, + 6, + 4, + 6, + 5, + 2, + 4, + 3, + 5, + 3, + 3, + 3, + 5, + 6, + 6, + 14, + 24, + 14, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 5, + 5, + 13, + 4, + 5, + 7, + 2, + 12, + 6, + 6, + 5, + 4, + 5, + 16, + 5, + 49, + 5, + 5, + 3, + 6, + 4, + 4, + 5, + 14, + 3, + 5, + 4, + 5, + 4, + 6, + 3, + 5, + 3, + 6, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 14, + 6, + 41, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 13, + 0, + 5, + 4, + 5, + 4, + 4, + 6, + 6, + 4, + 6, + 5, + 5, + 4, + 6, + 6, + 7, + 4, + 2, + 5, + 4, + 5, + 2, + 5, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 19, + 3, + 6, + 5, + 6, + 3, + 2, + 5, + 5, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 22, + 3, + 36, + 5, + 6, + 5, + 20, + 0, + 6, + 5, + 5, + 5, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 6, + 4, + 3, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 3, + 6, + 2, + 3, + 6, + 6, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 2, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 7, + 6, + 6, + 6, + 6, + 0, + 4, + 3, + 6, + 6, + 2, + 5, + 6, + 6, + 6, + 11, + 6, + 4, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 4, + 6, + 51, + 4, + 24, + 5, + 3, + 28, + 5, + 6, + 4, + 6, + 6, + 5, + 6, + 32, + 3, + 2, + 6, + 5, + 5, + 3, + 4, + 14, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 6, + 4, + 6, + 6, + 3, + 14, + 6, + 5, + 6, + 3, + 7, + 6, + 5, + 15, + 2, + 3, + 4, + 5, + 6, + 6, + 5, + 4, + 6, + 6, + 9, + 6, + 6, + 13, + 13, + 6, + 6, + 5, + 6, + 0, + 6, + 6, + 3, + 6, + 5, + 6, + 3, + 4, + 3, + 17, + 6, + 3, + 3, + 2, + 3, + 3, + 6, + 5, + 20, + 3, + 5, + 23, + 4, + 5, + 3, + 3, + 3, + 2, + 6, + 5, + 4, + 6, + 0, + 4, + 5, + 14, + 5, + 5, + 6, + 2, + 5, + 6, + 17, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 7, + 5, + 3, + 5, + 5, + 2, + 5, + 6, + 16, + 2, + 4, + 5, + 4, + 6, + 5, + 5, + 3, + 4, + 14, + 4, + 3, + 6, + 6, + 5, + 3, + 13, + 14, + 5, + 5, + 6, + 12, + 5, + 3, + 3, + 2, + 6, + 4, + 5, + 2, + 6, + 25, + 3, + 5, + 4, + 6, + 3, + 3, + 4, + 2, + 4, + 7, + 6, + 2, + 6, + 7, + 2, + 6, + 5, + 3, + 6, + 4, + 5, + 5, + 6, + 3, + 3, + 5, + 6, + 3, + 5, + 14, + 6, + 5, + 3, + 6, + 6, + 4, + 6, + 14, + 14, + 15, + 4, + 4, + 5, + 8, + 4, + 4, + 10, + 6, + 6, + 0, + 7, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 3, + 5, + 4, + 6, + 6, + 0, + 6, + 6, + 4, + 6, + 6, + 14, + 2, + 4, + 5, + 6, + 2, + 6, + 13, + 6, + 4, + 4, + 5, + 14, + 5, + 0, + 3, + 6, + 3, + 6, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 4, + 6, + 4, + 6, + 6, + 4, + 3, + 2, + 14, + 4, + 6, + 5, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 3, + 7, + 6, + 4, + 6, + 4, + 4, + 3, + 6, + 3, + 3, + 6, + 4, + 0, + 4, + 5, + 4, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 48, + 6, + 2, + 4, + 5, + 5, + 3, + 4, + 4, + 5, + 7, + 4, + 42, + 5, + 33, + 3, + 6, + 6, + 16, + 0, + 2, + 6, + 4, + 6, + 6, + 14, + 5, + 3, + 6, + 6, + 6, + 2, + 5, + 2, + 45, + 5, + 30, + 4, + 6, + 6, + 2, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 7, + 4, + 3, + 6, + 6, + 42, + 6, + 6, + 4, + 20, + 8, + 5, + 6, + 3, + 5, + 5, + 3, + 5, + 5, + 4, + 5, + 3, + 6, + 5, + 6, + 9, + 3, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 2, + 4, + 4, + 6, + 4, + 6, + 3, + 14, + 2, + 5, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 5, + 4, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 4, + 2, + 4, + 8, + 5, + 3, + 0, + 5, + 6, + 4, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 6, + 39, + 4, + 3, + 4, + 6, + 4, + 4, + 4, + 4, + 6, + 14, + 10, + 7, + 5, + 2, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 7, + 4, + 6, + 5, + 5, + 4, + 6, + 5, + 2, + 4, + 3, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 7, + 5, + 6, + 5, + 6, + 3, + 4, + 3, + 3, + 6, + 4, + 5, + 5, + 2, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 2, + 4, + 6, + 3, + 6, + 2, + 3, + 2, + 6, + 5, + 6, + 6, + 0, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 35, + 2, + 5, + 5, + 0, + 5, + 5, + 4, + 5, + 4, + 5, + 5, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 2, + 5, + 14, + 5, + 29, + 7, + 5, + 6, + 6, + 4, + 6, + 12, + 6, + 6, + 5, + 6, + 4, + 5, + 4, + 7, + 4, + 5, + 4, + 6, + 4, + 2, + 2, + 39, + 6, + 5, + 3, + 14, + 2, + 6, + 5, + 6, + 4, + 5, + 4, + 2, + 2, + 6, + 6, + 5, + 17, + 6, + 6, + 6, + 2, + 6, + 3, + 0, + 4, + 6, + 5, + 5, + 49, + 2, + 43, + 3, + 4, + 3, + 2, + 2, + 2, + 6, + 6, + 5, + 2, + 5, + 7, + 6, + 4, + 7, + 5, + 6, + 6, + 5, + 3, + 4, + 3, + 6, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 3, + 44, + 3, + 3, + 5, + 4, + 4, + 4, + 4, + 6, + 3, + 13, + 4, + 6, + 6, + 4, + 2, + 5, + 6, + 3, + 5, + 20, + 6, + 2, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 6, + 2, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 14, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 4, + 8, + 8, + 11, + 6, + 3, + 5, + 6, + 6, + 10, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 39, + 8, + 14, + 12, + 5, + 6, + 5, + 6, + 3, + 6, + 4, + 6, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 0, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 0, + 3, + 4, + 4, + 14, + 6, + 6, + 6, + 5, + 0, + 6, + 6, + 3, + 3, + 5, + 5, + 6, + 3, + 6, + 6, + 4, + 4, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 5, + 6, + 12, + 4, + 4, + 35, + 6, + 6, + 6, + 4, + 50, + 6, + 5, + 6, + 6, + 0, + 5, + 3, + 6, + 4, + 4, + 6, + 6, + 6, + 6, + 0, + 3, + 6, + 3, + 33, + 4, + 4, + 3, + 6, + 5, + 6, + 6, + 4, + 13, + 6, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 6, + 5, + 3, + 0, + 6, + 4, + 5, + 14, + 3, + 8, + 3, + 6, + 3, + 5, + 5, + 5, + 4, + 5, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 6, + 6, + 5, + 0, + 4, + 5, + 14, + 0, + 0, + 5, + 0, + 4, + 5, + 4, + 5, + 4, + 5, + 5, + 5, + 19, + 4, + 14, + 0, + 5, + 4, + 19, + 5, + 4, + 14, + 5, + 0, + 5, + 4, + 0, + 4, + 14, + 4, + 4, + 8, + 0, + 5, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 14, + 4, + 0, + 10, + 33, + 5, + 8, + 4 +] \ No newline at end of file diff --git a/testing_data/base_attrs_sift2m_nc=12_assignment=rand.json b/testing_data/base_attrs_sift2m_nc=12_assignment=rand.json new file mode 100644 index 0000000..df8608b --- /dev/null +++ b/testing_data/base_attrs_sift2m_nc=12_assignment=rand.json @@ -0,0 +1,10002 @@ +[ + 2, + 6, + 6, + 0, + 6, + 4, + 6, + 6, + 4, + 6, + 3, + 5, + 5, + 6, + 2, + 13, + 6, + 10, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 6, + 5, + 2, + 6, + 5, + 6, + 4, + 6, + 6, + 3, + 3, + 4, + 2, + 6, + 5, + 6, + 3, + 28, + 6, + 2, + 5, + 6, + 26, + 5, + 6, + 5, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 5, + 6, + 6, + 3, + 5, + 7, + 6, + 2, + 6, + 4, + 10, + 5, + 6, + 6, + 5, + 6, + 6, + 7, + 3, + 2, + 31, + 2, + 0, + 4, + 4, + 2, + 5, + 5, + 2, + 4, + 12, + 6, + 6, + 3, + 30, + 6, + 2, + 6, + 14, + 4, + 6, + 3, + 4, + 4, + 50, + 14, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 6, + 10, + 6, + 49, + 6, + 3, + 4, + 4, + 6, + 0, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 3, + 4, + 5, + 6, + 5, + 3, + 7, + 6, + 6, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 3, + 2, + 5, + 6, + 5, + 4, + 6, + 14, + 3, + 6, + 5, + 5, + 6, + 0, + 6, + 3, + 3, + 5, + 4, + 3, + 5, + 2, + 6, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 5, + 4, + 6, + 3, + 5, + 13, + 6, + 6, + 3, + 2, + 5, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 5, + 6, + 4, + 7, + 5, + 5, + 5, + 4, + 6, + 4, + 5, + 4, + 3, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 5, + 4, + 3, + 6, + 6, + 6, + 6, + 5, + 6, + 7, + 5, + 3, + 7, + 5, + 5, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 5, + 6, + 6, + 5, + 3, + 5, + 6, + 5, + 3, + 3, + 5, + 4, + 4, + 3, + 28, + 5, + 17, + 5, + 3, + 5, + 4, + 5, + 6, + 5, + 5, + 0, + 4, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 6, + 16, + 18, + 5, + 6, + 0, + 3, + 2, + 6, + 6, + 5, + 5, + 5, + 2, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 0, + 3, + 6, + 5, + 4, + 5, + 2, + 10, + 3, + 17, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 2, + 4, + 2, + 4, + 6, + 17, + 6, + 2, + 5, + 4, + 4, + 4, + 22, + 3, + 0, + 4, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 5, + 6, + 14, + 10, + 5, + 6, + 2, + 6, + 6, + 5, + 2, + 6, + 4, + 12, + 4, + 5, + 17, + 3, + 6, + 6, + 5, + 5, + 5, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 17, + 3, + 5, + 5, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 6, + 6, + 17, + 6, + 6, + 6, + 4, + 6, + 5, + 3, + 15, + 6, + 5, + 4, + 6, + 4, + 6, + 22, + 6, + 2, + 4, + 10, + 2, + 19, + 6, + 5, + 4, + 5, + 3, + 3, + 7, + 6, + 6, + 3, + 6, + 5, + 2, + 8, + 5, + 4, + 4, + 6, + 3, + 5, + 4, + 12, + 3, + 5, + 2, + 3, + 2, + 2, + 14, + 6, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 5, + 3, + 5, + 2, + 4, + 4, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 0, + 14, + 5, + 3, + 2, + 4, + 3, + 3, + 6, + 5, + 6, + 14, + 6, + 6, + 2, + 3, + 3, + 0, + 0, + 5, + 6, + 3, + 6, + 3, + 3, + 6, + 5, + 6, + 0, + 4, + 5, + 4, + 3, + 6, + 6, + 6, + 3, + 14, + 4, + 6, + 4, + 6, + 6, + 6, + 2, + 4, + 6, + 4, + 3, + 4, + 4, + 3, + 6, + 6, + 6, + 5, + 6, + 17, + 6, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 14, + 0, + 2, + 4, + 14, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 2, + 3, + 5, + 15, + 5, + 2, + 3, + 5, + 0, + 38, + 6, + 0, + 3, + 6, + 6, + 5, + 0, + 6, + 6, + 5, + 14, + 6, + 4, + 6, + 6, + 6, + 14, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 4, + 6, + 3, + 6, + 40, + 2, + 5, + 3, + 10, + 3, + 2, + 7, + 5, + 6, + 6, + 2, + 5, + 3, + 3, + 4, + 6, + 3, + 6, + 6, + 4, + 6, + 23, + 6, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 6, + 7, + 5, + 8, + 6, + 6, + 3, + 6, + 6, + 4, + 5, + 0, + 6, + 6, + 5, + 4, + 6, + 14, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 5, + 6, + 3, + 5, + 5, + 6, + 2, + 15, + 2, + 6, + 3, + 2, + 6, + 4, + 5, + 4, + 5, + 5, + 6, + 5, + 2, + 2, + 12, + 5, + 6, + 4, + 4, + 6, + 6, + 5, + 3, + 5, + 3, + 5, + 3, + 5, + 5, + 5, + 3, + 5, + 0, + 5, + 17, + 5, + 6, + 4, + 5, + 0, + 5, + 6, + 2, + 3, + 2, + 6, + 4, + 6, + 5, + 4, + 3, + 2, + 3, + 5, + 5, + 6, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 6, + 6, + 3, + 4, + 2, + 6, + 3, + 6, + 3, + 6, + 5, + 0, + 6, + 6, + 3, + 6, + 3, + 5, + 3, + 4, + 4, + 6, + 4, + 3, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 3, + 3, + 3, + 5, + 5, + 5, + 5, + 4, + 6, + 4, + 2, + 6, + 14, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 15, + 6, + 2, + 5, + 10, + 5, + 5, + 2, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 3, + 12, + 6, + 5, + 6, + 3, + 4, + 5, + 13, + 3, + 15, + 6, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 4, + 6, + 2, + 22, + 3, + 6, + 5, + 5, + 4, + 4, + 6, + 3, + 4, + 6, + 2, + 2, + 3, + 2, + 5, + 6, + 6, + 2, + 6, + 5, + 2, + 6, + 5, + 6, + 5, + 4, + 6, + 6, + 6, + 8, + 5, + 3, + 5, + 3, + 4, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 2, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 12, + 3, + 14, + 6, + 14, + 3, + 5, + 3, + 4, + 4, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 17, + 3, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 12, + 4, + 5, + 5, + 4, + 5, + 5, + 5, + 6, + 6, + 9, + 6, + 3, + 4, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 4, + 4, + 4, + 2, + 4, + 14, + 5, + 5, + 5, + 4, + 25, + 6, + 6, + 3, + 4, + 4, + 4, + 4, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 5, + 6, + 3, + 4, + 5, + 6, + 20, + 4, + 4, + 6, + 3, + 5, + 6, + 5, + 3, + 3, + 3, + 4, + 2, + 2, + 3, + 2, + 6, + 5, + 0, + 14, + 2, + 6, + 6, + 6, + 5, + 6, + 2, + 5, + 4, + 4, + 6, + 4, + 6, + 2, + 5, + 6, + 5, + 5, + 6, + 39, + 13, + 4, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 6, + 3, + 6, + 3, + 3, + 5, + 6, + 2, + 6, + 6, + 6, + 14, + 14, + 6, + 4, + 7, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 5, + 4, + 6, + 3, + 6, + 2, + 6, + 4, + 4, + 13, + 5, + 3, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 4, + 4, + 20, + 2, + 6, + 5, + 5, + 6, + 4, + 4, + 4, + 5, + 6, + 3, + 17, + 6, + 14, + 6, + 5, + 5, + 6, + 3, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 4, + 3, + 9, + 5, + 5, + 6, + 6, + 5, + 2, + 25, + 4, + 6, + 3, + 6, + 6, + 6, + 2, + 6, + 6, + 4, + 3, + 20, + 6, + 6, + 6, + 0, + 6, + 6, + 49, + 6, + 5, + 5, + 5, + 48, + 14, + 6, + 3, + 5, + 5, + 0, + 2, + 4, + 6, + 4, + 5, + 6, + 2, + 8, + 6, + 3, + 14, + 6, + 5, + 3, + 4, + 6, + 6, + 3, + 4, + 4, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 4, + 4, + 6, + 13, + 39, + 4, + 6, + 6, + 3, + 4, + 3, + 6, + 3, + 6, + 3, + 3, + 5, + 15, + 6, + 6, + 5, + 5, + 6, + 5, + 3, + 5, + 6, + 6, + 3, + 10, + 6, + 6, + 5, + 0, + 3, + 3, + 5, + 4, + 4, + 14, + 5, + 6, + 5, + 18, + 19, + 5, + 5, + 6, + 2, + 6, + 5, + 14, + 5, + 5, + 2, + 6, + 3, + 6, + 6, + 14, + 3, + 6, + 6, + 3, + 4, + 19, + 8, + 6, + 4, + 3, + 6, + 4, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 0, + 6, + 19, + 6, + 3, + 4, + 6, + 6, + 3, + 6, + 5, + 4, + 4, + 5, + 43, + 5, + 5, + 6, + 6, + 4, + 4, + 5, + 17, + 6, + 6, + 14, + 4, + 6, + 14, + 4, + 5, + 7, + 4, + 5, + 2, + 5, + 3, + 6, + 5, + 6, + 12, + 4, + 5, + 4, + 6, + 6, + 3, + 5, + 5, + 13, + 6, + 3, + 2, + 13, + 3, + 6, + 3, + 4, + 2, + 3, + 6, + 6, + 14, + 3, + 5, + 5, + 6, + 6, + 3, + 3, + 6, + 6, + 6, + 16, + 2, + 6, + 5, + 30, + 6, + 5, + 4, + 6, + 6, + 3, + 5, + 2, + 4, + 4, + 5, + 0, + 5, + 6, + 6, + 6, + 5, + 5, + 5, + 18, + 5, + 6, + 4, + 0, + 3, + 3, + 6, + 5, + 6, + 6, + 13, + 3, + 2, + 6, + 12, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 4, + 5, + 4, + 2, + 5, + 2, + 0, + 7, + 0, + 3, + 2, + 4, + 24, + 4, + 6, + 14, + 5, + 6, + 6, + 13, + 4, + 4, + 5, + 6, + 6, + 3, + 5, + 2, + 6, + 5, + 4, + 5, + 2, + 4, + 6, + 22, + 6, + 6, + 5, + 6, + 5, + 20, + 5, + 3, + 4, + 6, + 6, + 6, + 5, + 2, + 3, + 3, + 14, + 6, + 4, + 5, + 3, + 12, + 2, + 5, + 3, + 5, + 2, + 2, + 4, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 6, + 3, + 6, + 14, + 4, + 6, + 4, + 6, + 4, + 2, + 4, + 3, + 2, + 6, + 5, + 2, + 6, + 6, + 0, + 23, + 5, + 5, + 5, + 6, + 6, + 4, + 3, + 6, + 4, + 6, + 6, + 6, + 9, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 17, + 6, + 8, + 5, + 15, + 4, + 2, + 3, + 5, + 6, + 5, + 4, + 5, + 4, + 4, + 4, + 26, + 4, + 6, + 17, + 5, + 7, + 6, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 14, + 6, + 14, + 5, + 6, + 5, + 0, + 5, + 3, + 6, + 4, + 7, + 6, + 3, + 5, + 13, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 5, + 6, + 14, + 7, + 5, + 3, + 6, + 3, + 7, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 2, + 14, + 3, + 4, + 4, + 5, + 7, + 6, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 4, + 11, + 5, + 5, + 6, + 6, + 2, + 6, + 7, + 6, + 6, + 5, + 6, + 26, + 4, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 4, + 7, + 3, + 4, + 6, + 6, + 19, + 5, + 5, + 6, + 2, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 3, + 2, + 5, + 29, + 5, + 3, + 4, + 14, + 6, + 3, + 5, + 8, + 4, + 4, + 6, + 6, + 2, + 3, + 3, + 6, + 3, + 5, + 5, + 14, + 0, + 11, + 5, + 6, + 5, + 6, + 6, + 4, + 14, + 3, + 2, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 5, + 2, + 4, + 5, + 3, + 5, + 3, + 2, + 5, + 5, + 5, + 3, + 6, + 3, + 4, + 28, + 4, + 0, + 0, + 7, + 9, + 6, + 6, + 5, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 28, + 6, + 3, + 6, + 4, + 2, + 7, + 20, + 3, + 2, + 6, + 6, + 19, + 4, + 4, + 6, + 3, + 5, + 5, + 20, + 6, + 6, + 5, + 3, + 5, + 0, + 5, + 2, + 6, + 2, + 6, + 4, + 6, + 14, + 6, + 25, + 5, + 3, + 3, + 6, + 6, + 0, + 5, + 6, + 33, + 4, + 2, + 16, + 7, + 4, + 3, + 6, + 6, + 5, + 0, + 6, + 3, + 4, + 5, + 6, + 4, + 14, + 5, + 6, + 3, + 3, + 3, + 5, + 6, + 5, + 2, + 4, + 6, + 2, + 2, + 2, + 4, + 6, + 5, + 20, + 6, + 4, + 18, + 6, + 3, + 2, + 6, + 5, + 17, + 6, + 5, + 3, + 5, + 6, + 2, + 6, + 4, + 5, + 5, + 6, + 4, + 4, + 6, + 2, + 6, + 3, + 6, + 4, + 6, + 6, + 22, + 6, + 7, + 3, + 3, + 6, + 2, + 3, + 6, + 6, + 3, + 4, + 2, + 27, + 6, + 5, + 4, + 5, + 5, + 2, + 5, + 2, + 5, + 9, + 6, + 6, + 6, + 12, + 6, + 4, + 6, + 5, + 14, + 6, + 6, + 3, + 5, + 3, + 12, + 6, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 6, + 0, + 3, + 4, + 3, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 3, + 3, + 6, + 6, + 4, + 6, + 3, + 2, + 14, + 3, + 48, + 4, + 4, + 6, + 5, + 3, + 3, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 49, + 5, + 3, + 6, + 3, + 6, + 6, + 3, + 8, + 4, + 25, + 6, + 3, + 5, + 4, + 4, + 2, + 3, + 7, + 4, + 6, + 6, + 4, + 0, + 2, + 13, + 5, + 4, + 4, + 2, + 3, + 20, + 6, + 5, + 3, + 9, + 4, + 5, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 4, + 6, + 6, + 5, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 14, + 3, + 44, + 5, + 3, + 10, + 17, + 4, + 6, + 5, + 16, + 0, + 6, + 5, + 12, + 6, + 5, + 4, + 6, + 3, + 6, + 12, + 5, + 6, + 5, + 3, + 6, + 4, + 2, + 4, + 20, + 4, + 4, + 5, + 5, + 6, + 3, + 3, + 3, + 4, + 6, + 3, + 3, + 6, + 6, + 5, + 6, + 2, + 3, + 6, + 6, + 3, + 3, + 2, + 6, + 2, + 0, + 0, + 6, + 5, + 2, + 7, + 6, + 3, + 6, + 6, + 5, + 8, + 4, + 20, + 4, + 5, + 4, + 15, + 6, + 6, + 6, + 2, + 4, + 5, + 6, + 20, + 4, + 10, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 14, + 2, + 6, + 3, + 6, + 34, + 6, + 4, + 5, + 5, + 4, + 4, + 3, + 2, + 5, + 6, + 6, + 14, + 6, + 5, + 5, + 5, + 14, + 4, + 6, + 6, + 4, + 3, + 12, + 6, + 5, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 6, + 6, + 30, + 6, + 6, + 6, + 2, + 5, + 3, + 5, + 5, + 6, + 3, + 25, + 4, + 5, + 3, + 4, + 0, + 6, + 6, + 4, + 3, + 6, + 5, + 4, + 31, + 14, + 5, + 6, + 4, + 6, + 6, + 4, + 6, + 4, + 6, + 5, + 40, + 5, + 6, + 4, + 4, + 4, + 6, + 4, + 5, + 5, + 6, + 6, + 6, + 4, + 3, + 6, + 5, + 14, + 6, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 16, + 4, + 6, + 5, + 7, + 13, + 5, + 3, + 5, + 4, + 6, + 2, + 3, + 6, + 4, + 3, + 2, + 2, + 6, + 5, + 16, + 5, + 5, + 5, + 5, + 23, + 5, + 3, + 6, + 5, + 6, + 4, + 3, + 6, + 5, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 2, + 3, + 6, + 2, + 3, + 5, + 2, + 4, + 3, + 4, + 6, + 3, + 6, + 6, + 5, + 5, + 6, + 5, + 5, + 8, + 4, + 2, + 10, + 4, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 0, + 5, + 22, + 2, + 5, + 5, + 5, + 6, + 14, + 6, + 5, + 4, + 5, + 5, + 6, + 4, + 3, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 2, + 4, + 49, + 5, + 5, + 2, + 5, + 4, + 30, + 6, + 6, + 7, + 3, + 6, + 2, + 5, + 5, + 25, + 5, + 3, + 6, + 3, + 5, + 6, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 5, + 5, + 17, + 6, + 5, + 5, + 13, + 6, + 6, + 4, + 6, + 3, + 4, + 5, + 36, + 2, + 3, + 4, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 6, + 4, + 5, + 2, + 5, + 5, + 0, + 14, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 5, + 3, + 3, + 2, + 5, + 25, + 5, + 5, + 0, + 4, + 35, + 50, + 6, + 4, + 5, + 4, + 6, + 3, + 4, + 18, + 6, + 20, + 6, + 6, + 5, + 5, + 6, + 6, + 3, + 19, + 4, + 2, + 13, + 5, + 7, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 5, + 5, + 15, + 6, + 6, + 5, + 2, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 6, + 2, + 6, + 3, + 4, + 6, + 17, + 6, + 5, + 3, + 2, + 4, + 6, + 3, + 3, + 6, + 6, + 6, + 34, + 6, + 4, + 6, + 4, + 6, + 6, + 3, + 6, + 6, + 3, + 5, + 3, + 3, + 6, + 6, + 5, + 3, + 4, + 6, + 2, + 6, + 4, + 6, + 3, + 7, + 5, + 4, + 6, + 37, + 6, + 6, + 25, + 3, + 3, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 4, + 10, + 0, + 3, + 0, + 6, + 3, + 5, + 3, + 4, + 6, + 6, + 5, + 6, + 3, + 5, + 6, + 14, + 6, + 6, + 2, + 4, + 6, + 3, + 6, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 6, + 20, + 3, + 5, + 6, + 4, + 5, + 5, + 3, + 5, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 6, + 17, + 5, + 4, + 6, + 6, + 11, + 3, + 3, + 6, + 6, + 6, + 4, + 0, + 13, + 6, + 4, + 6, + 5, + 4, + 7, + 3, + 14, + 4, + 4, + 6, + 4, + 6, + 7, + 6, + 5, + 4, + 4, + 3, + 3, + 4, + 14, + 0, + 5, + 6, + 7, + 6, + 14, + 6, + 4, + 3, + 5, + 30, + 6, + 4, + 5, + 3, + 5, + 22, + 2, + 8, + 5, + 3, + 3, + 6, + 4, + 6, + 25, + 4, + 3, + 2, + 3, + 6, + 5, + 6, + 5, + 6, + 6, + 6, + 5, + 7, + 6, + 3, + 4, + 5, + 3, + 6, + 6, + 6, + 22, + 6, + 4, + 0, + 5, + 4, + 4, + 6, + 5, + 6, + 3, + 4, + 25, + 5, + 3, + 6, + 3, + 5, + 14, + 4, + 6, + 13, + 3, + 5, + 5, + 6, + 12, + 29, + 5, + 5, + 6, + 5, + 4, + 6, + 5, + 6, + 5, + 3, + 6, + 2, + 5, + 4, + 6, + 2, + 4, + 5, + 5, + 6, + 6, + 47, + 6, + 12, + 6, + 5, + 7, + 6, + 4, + 18, + 6, + 5, + 2, + 4, + 3, + 4, + 4, + 4, + 3, + 4, + 5, + 6, + 6, + 18, + 6, + 4, + 5, + 0, + 4, + 3, + 2, + 5, + 2, + 5, + 4, + 6, + 5, + 38, + 2, + 5, + 2, + 3, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 7, + 3, + 4, + 4, + 6, + 3, + 33, + 4, + 6, + 3, + 5, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 3, + 3, + 5, + 4, + 5, + 6, + 5, + 11, + 23, + 4, + 4, + 6, + 6, + 2, + 6, + 3, + 0, + 2, + 4, + 7, + 6, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 4, + 2, + 2, + 6, + 3, + 5, + 5, + 4, + 2, + 4, + 6, + 5, + 14, + 6, + 6, + 6, + 7, + 5, + 6, + 0, + 5, + 2, + 7, + 5, + 21, + 5, + 4, + 8, + 5, + 6, + 4, + 5, + 5, + 2, + 6, + 4, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 6, + 6, + 0, + 3, + 3, + 14, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 3, + 2, + 6, + 6, + 4, + 6, + 3, + 4, + 3, + 2, + 3, + 4, + 3, + 3, + 0, + 0, + 4, + 6, + 5, + 2, + 4, + 19, + 3, + 5, + 3, + 6, + 4, + 6, + 6, + 4, + 3, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 4, + 6, + 6, + 0, + 6, + 2, + 4, + 5, + 4, + 6, + 4, + 21, + 5, + 20, + 5, + 3, + 2, + 6, + 5, + 4, + 6, + 2, + 6, + 4, + 4, + 16, + 7, + 6, + 6, + 5, + 7, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 6, + 4, + 6, + 6, + 14, + 22, + 4, + 6, + 5, + 6, + 6, + 5, + 5, + 7, + 6, + 5, + 2, + 5, + 5, + 5, + 6, + 5, + 3, + 20, + 3, + 6, + 0, + 6, + 6, + 6, + 3, + 6, + 6, + 6, + 6, + 5, + 27, + 3, + 5, + 3, + 3, + 6, + 26, + 6, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 6, + 6, + 27, + 6, + 4, + 6, + 12, + 4, + 5, + 6, + 12, + 3, + 13, + 5, + 3, + 5, + 14, + 19, + 12, + 3, + 5, + 35, + 6, + 3, + 6, + 4, + 12, + 6, + 3, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 4, + 6, + 6, + 3, + 20, + 5, + 3, + 5, + 4, + 6, + 4, + 3, + 24, + 6, + 5, + 6, + 6, + 5, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 19, + 6, + 0, + 3, + 6, + 3, + 6, + 7, + 6, + 5, + 5, + 3, + 5, + 6, + 6, + 5, + 4, + 2, + 22, + 6, + 3, + 2, + 4, + 5, + 6, + 5, + 6, + 6, + 7, + 3, + 6, + 3, + 3, + 5, + 5, + 14, + 7, + 5, + 22, + 12, + 5, + 4, + 4, + 6, + 6, + 6, + 5, + 3, + 6, + 4, + 3, + 6, + 6, + 4, + 5, + 3, + 6, + 5, + 5, + 3, + 5, + 18, + 4, + 6, + 6, + 2, + 3, + 6, + 4, + 3, + 4, + 6, + 5, + 6, + 14, + 5, + 14, + 6, + 3, + 20, + 6, + 6, + 4, + 7, + 6, + 5, + 5, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 5, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 5, + 4, + 6, + 3, + 3, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 10, + 3, + 5, + 5, + 5, + 4, + 3, + 5, + 2, + 6, + 6, + 4, + 6, + 4, + 15, + 5, + 3, + 3, + 6, + 5, + 3, + 5, + 6, + 3, + 4, + 6, + 2, + 4, + 3, + 3, + 0, + 3, + 5, + 3, + 4, + 6, + 5, + 4, + 14, + 6, + 5, + 3, + 0, + 14, + 5, + 3, + 2, + 6, + 6, + 3, + 4, + 2, + 4, + 6, + 6, + 4, + 4, + 4, + 3, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 6, + 5, + 4, + 5, + 5, + 5, + 4, + 2, + 5, + 5, + 5, + 5, + 4, + 6, + 20, + 6, + 12, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 6, + 14, + 3, + 4, + 5, + 6, + 6, + 4, + 5, + 6, + 4, + 6, + 6, + 5, + 2, + 5, + 3, + 3, + 6, + 3, + 4, + 6, + 7, + 5, + 2, + 5, + 0, + 6, + 3, + 3, + 4, + 6, + 3, + 7, + 7, + 4, + 7, + 3, + 4, + 6, + 4, + 3, + 4, + 4, + 2, + 7, + 6, + 6, + 3, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 12, + 6, + 5, + 2, + 3, + 8, + 5, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 6, + 5, + 3, + 5, + 5, + 5, + 8, + 6, + 21, + 5, + 6, + 4, + 3, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 5, + 31, + 3, + 5, + 5, + 3, + 12, + 0, + 5, + 6, + 6, + 5, + 2, + 6, + 6, + 3, + 2, + 6, + 3, + 6, + 3, + 6, + 4, + 6, + 6, + 4, + 0, + 3, + 6, + 23, + 46, + 6, + 3, + 4, + 6, + 6, + 13, + 5, + 3, + 3, + 5, + 5, + 6, + 3, + 25, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 2, + 6, + 5, + 5, + 20, + 11, + 2, + 6, + 6, + 0, + 6, + 5, + 6, + 4, + 6, + 3, + 5, + 3, + 7, + 5, + 10, + 4, + 25, + 6, + 5, + 5, + 14, + 3, + 6, + 4, + 4, + 3, + 20, + 36, + 6, + 5, + 14, + 14, + 6, + 4, + 2, + 5, + 3, + 2, + 26, + 20, + 6, + 4, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 35, + 6, + 5, + 3, + 6, + 5, + 3, + 5, + 6, + 5, + 4, + 4, + 3, + 2, + 5, + 4, + 6, + 0, + 5, + 4, + 3, + 5, + 14, + 6, + 5, + 7, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 5, + 5, + 2, + 5, + 6, + 2, + 2, + 3, + 2, + 5, + 2, + 6, + 6, + 4, + 5, + 2, + 2, + 4, + 0, + 6, + 6, + 4, + 6, + 3, + 6, + 5, + 6, + 5, + 4, + 6, + 12, + 5, + 6, + 4, + 6, + 5, + 6, + 5, + 22, + 6, + 6, + 6, + 6, + 6, + 3, + 5, + 4, + 4, + 2, + 5, + 3, + 6, + 4, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 3, + 3, + 25, + 6, + 3, + 0, + 0, + 4, + 6, + 6, + 2, + 5, + 4, + 6, + 26, + 5, + 5, + 2, + 6, + 3, + 5, + 3, + 4, + 5, + 6, + 6, + 5, + 3, + 3, + 13, + 4, + 7, + 5, + 5, + 6, + 6, + 6, + 0, + 2, + 6, + 6, + 6, + 5, + 4, + 4, + 6, + 7, + 6, + 2, + 6, + 4, + 4, + 3, + 5, + 4, + 7, + 5, + 6, + 14, + 6, + 3, + 6, + 5, + 6, + 5, + 5, + 5, + 0, + 6, + 6, + 3, + 6, + 4, + 14, + 5, + 6, + 5, + 3, + 5, + 3, + 24, + 6, + 5, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 3, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 5, + 6, + 6, + 6, + 4, + 3, + 3, + 2, + 6, + 6, + 3, + 2, + 29, + 5, + 5, + 31, + 2, + 7, + 10, + 6, + 17, + 5, + 3, + 6, + 5, + 4, + 5, + 5, + 6, + 5, + 4, + 2, + 4, + 19, + 6, + 3, + 3, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 4, + 6, + 5, + 4, + 5, + 3, + 2, + 3, + 6, + 3, + 0, + 6, + 2, + 6, + 2, + 4, + 4, + 2, + 3, + 21, + 4, + 5, + 5, + 6, + 4, + 2, + 2, + 2, + 5, + 4, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 6, + 26, + 5, + 3, + 3, + 4, + 17, + 5, + 3, + 0, + 4, + 3, + 7, + 5, + 4, + 2, + 6, + 2, + 5, + 6, + 6, + 5, + 2, + 5, + 38, + 5, + 6, + 5, + 0, + 6, + 6, + 17, + 3, + 6, + 3, + 2, + 5, + 4, + 3, + 6, + 6, + 3, + 3, + 5, + 23, + 5, + 6, + 6, + 5, + 6, + 2, + 5, + 6, + 5, + 14, + 4, + 6, + 4, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 0, + 4, + 4, + 5, + 5, + 12, + 6, + 6, + 44, + 5, + 5, + 2, + 6, + 5, + 2, + 14, + 4, + 2, + 5, + 50, + 2, + 4, + 13, + 3, + 6, + 5, + 6, + 6, + 4, + 5, + 5, + 5, + 5, + 3, + 6, + 4, + 2, + 6, + 6, + 6, + 6, + 3, + 4, + 3, + 6, + 2, + 29, + 6, + 5, + 2, + 44, + 6, + 14, + 5, + 6, + 5, + 4, + 6, + 4, + 9, + 5, + 3, + 5, + 2, + 5, + 23, + 5, + 0, + 5, + 6, + 7, + 3, + 6, + 3, + 4, + 6, + 5, + 3, + 0, + 3, + 6, + 5, + 41, + 6, + 5, + 6, + 6, + 5, + 6, + 14, + 6, + 5, + 3, + 6, + 3, + 3, + 12, + 6, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 4, + 6, + 2, + 6, + 6, + 2, + 2, + 6, + 8, + 14, + 4, + 3, + 6, + 6, + 5, + 5, + 3, + 3, + 6, + 22, + 6, + 4, + 6, + 3, + 5, + 5, + 5, + 2, + 2, + 0, + 6, + 6, + 5, + 5, + 5, + 4, + 4, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 3, + 12, + 8, + 6, + 3, + 2, + 6, + 5, + 17, + 5, + 3, + 4, + 3, + 5, + 6, + 5, + 17, + 5, + 2, + 3, + 7, + 5, + 3, + 6, + 6, + 0, + 6, + 5, + 3, + 4, + 5, + 5, + 18, + 6, + 22, + 3, + 5, + 5, + 3, + 5, + 6, + 5, + 5, + 5, + 4, + 2, + 6, + 5, + 6, + 3, + 6, + 4, + 5, + 5, + 5, + 6, + 6, + 4, + 5, + 21, + 5, + 0, + 2, + 2, + 3, + 3, + 4, + 6, + 6, + 0, + 5, + 6, + 6, + 6, + 3, + 3, + 5, + 6, + 3, + 6, + 4, + 3, + 5, + 5, + 6, + 4, + 4, + 5, + 6, + 5, + 6, + 5, + 14, + 4, + 5, + 14, + 6, + 19, + 4, + 20, + 3, + 9, + 6, + 14, + 4, + 6, + 5, + 44, + 6, + 4, + 4, + 6, + 5, + 3, + 2, + 42, + 5, + 2, + 6, + 3, + 4, + 5, + 3, + 5, + 25, + 6, + 2, + 6, + 3, + 6, + 5, + 6, + 6, + 6, + 3, + 6, + 2, + 7, + 13, + 6, + 2, + 5, + 5, + 5, + 5, + 21, + 4, + 3, + 8, + 6, + 6, + 6, + 3, + 6, + 3, + 6, + 5, + 6, + 2, + 5, + 6, + 6, + 5, + 5, + 5, + 5, + 3, + 6, + 6, + 4, + 6, + 6, + 4, + 0, + 6, + 44, + 2, + 4, + 13, + 5, + 4, + 26, + 5, + 6, + 6, + 5, + 3, + 5, + 5, + 4, + 3, + 4, + 4, + 6, + 6, + 2, + 0, + 3, + 6, + 3, + 4, + 4, + 6, + 4, + 5, + 7, + 5, + 4, + 6, + 5, + 7, + 4, + 4, + 4, + 6, + 17, + 4, + 5, + 3, + 4, + 3, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 26, + 5, + 14, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 3, + 6, + 5, + 28, + 6, + 6, + 4, + 6, + 4, + 5, + 4, + 0, + 6, + 6, + 4, + 4, + 6, + 21, + 5, + 2, + 2, + 3, + 5, + 7, + 12, + 6, + 6, + 25, + 6, + 28, + 5, + 6, + 4, + 17, + 5, + 5, + 14, + 5, + 10, + 6, + 6, + 6, + 12, + 6, + 6, + 4, + 3, + 23, + 10, + 0, + 2, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 6, + 4, + 5, + 6, + 6, + 5, + 3, + 6, + 12, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 5, + 5, + 6, + 4, + 6, + 6, + 11, + 6, + 6, + 6, + 5, + 46, + 5, + 3, + 6, + 3, + 12, + 5, + 14, + 4, + 6, + 4, + 4, + 5, + 2, + 6, + 6, + 5, + 4, + 14, + 2, + 5, + 4, + 2, + 3, + 3, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 42, + 3, + 4, + 6, + 6, + 4, + 5, + 4, + 6, + 6, + 3, + 4, + 10, + 3, + 6, + 5, + 3, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 3, + 4, + 6, + 6, + 7, + 4, + 2, + 6, + 6, + 5, + 5, + 4, + 26, + 5, + 5, + 21, + 7, + 5, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 4, + 5, + 6, + 3, + 5, + 6, + 4, + 3, + 4, + 5, + 4, + 6, + 5, + 3, + 2, + 5, + 3, + 0, + 3, + 2, + 6, + 5, + 4, + 3, + 3, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 14, + 6, + 6, + 2, + 5, + 6, + 4, + 3, + 7, + 3, + 5, + 6, + 3, + 5, + 6, + 3, + 5, + 2, + 5, + 2, + 5, + 5, + 5, + 4, + 4, + 5, + 4, + 4, + 5, + 6, + 3, + 3, + 9, + 5, + 6, + 6, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 5, + 7, + 6, + 14, + 8, + 2, + 4, + 17, + 5, + 6, + 4, + 3, + 4, + 6, + 5, + 5, + 3, + 6, + 4, + 5, + 6, + 5, + 6, + 2, + 6, + 5, + 6, + 6, + 6, + 5, + 2, + 5, + 6, + 3, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 3, + 6, + 5, + 2, + 0, + 6, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 17, + 5, + 5, + 6, + 6, + 23, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 3, + 6, + 5, + 3, + 6, + 3, + 16, + 17, + 4, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 3, + 5, + 44, + 6, + 4, + 6, + 5, + 4, + 6, + 5, + 6, + 6, + 3, + 12, + 3, + 4, + 2, + 14, + 6, + 5, + 6, + 3, + 4, + 14, + 6, + 4, + 4, + 5, + 3, + 4, + 6, + 3, + 0, + 5, + 6, + 6, + 5, + 4, + 6, + 4, + 5, + 3, + 6, + 6, + 6, + 5, + 4, + 2, + 6, + 3, + 6, + 4, + 7, + 5, + 5, + 2, + 6, + 6, + 5, + 6, + 8, + 5, + 5, + 5, + 6, + 6, + 6, + 21, + 5, + 2, + 6, + 4, + 5, + 2, + 6, + 6, + 2, + 5, + 3, + 4, + 6, + 6, + 6, + 2, + 6, + 4, + 6, + 6, + 6, + 6, + 5, + 3, + 6, + 5, + 5, + 5, + 5, + 4, + 4, + 14, + 5, + 6, + 4, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 6, + 3, + 2, + 3, + 5, + 4, + 6, + 6, + 6, + 3, + 6, + 6, + 19, + 3, + 6, + 2, + 6, + 4, + 6, + 14, + 4, + 2, + 6, + 6, + 6, + 4, + 6, + 6, + 0, + 0, + 6, + 4, + 2, + 0, + 6, + 2, + 5, + 6, + 5, + 2, + 5, + 6, + 5, + 4, + 0, + 6, + 4, + 5, + 14, + 0, + 4, + 0, + 3, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 4, + 47, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 2, + 3, + 5, + 15, + 6, + 2, + 5, + 4, + 5, + 6, + 5, + 3, + 5, + 4, + 6, + 6, + 4, + 17, + 6, + 3, + 17, + 3, + 4, + 6, + 5, + 5, + 33, + 4, + 6, + 17, + 20, + 5, + 2, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 4, + 20, + 18, + 5, + 6, + 2, + 6, + 3, + 5, + 3, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 6, + 3, + 6, + 6, + 5, + 14, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 2, + 39, + 3, + 5, + 6, + 17, + 4, + 5, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 3, + 14, + 5, + 6, + 6, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 5, + 5, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 0, + 0, + 6, + 2, + 3, + 2, + 12, + 6, + 5, + 4, + 25, + 5, + 12, + 0, + 5, + 3, + 3, + 3, + 3, + 6, + 11, + 6, + 6, + 5, + 20, + 2, + 5, + 6, + 4, + 0, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 4, + 3, + 11, + 17, + 5, + 5, + 2, + 5, + 6, + 5, + 6, + 5, + 4, + 4, + 6, + 2, + 3, + 7, + 6, + 6, + 17, + 5, + 6, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 8, + 6, + 5, + 5, + 5, + 4, + 5, + 6, + 4, + 33, + 6, + 0, + 5, + 3, + 28, + 6, + 11, + 3, + 33, + 6, + 6, + 5, + 6, + 6, + 3, + 5, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 6, + 2, + 3, + 3, + 4, + 6, + 5, + 6, + 3, + 3, + 17, + 0, + 4, + 4, + 4, + 5, + 0, + 3, + 2, + 6, + 3, + 6, + 3, + 12, + 20, + 3, + 38, + 6, + 2, + 4, + 3, + 14, + 6, + 5, + 5, + 5, + 6, + 3, + 4, + 6, + 5, + 7, + 6, + 6, + 5, + 5, + 6, + 10, + 6, + 2, + 4, + 5, + 2, + 4, + 4, + 8, + 3, + 4, + 5, + 3, + 4, + 3, + 7, + 14, + 6, + 0, + 6, + 6, + 5, + 46, + 5, + 0, + 6, + 4, + 4, + 5, + 5, + 4, + 3, + 5, + 3, + 6, + 3, + 4, + 5, + 6, + 3, + 6, + 4, + 0, + 3, + 6, + 17, + 5, + 4, + 6, + 5, + 5, + 6, + 5, + 2, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 5, + 6, + 6, + 5, + 2, + 19, + 6, + 6, + 2, + 4, + 5, + 5, + 4, + 5, + 2, + 3, + 3, + 2, + 2, + 2, + 0, + 4, + 4, + 26, + 6, + 3, + 4, + 0, + 5, + 3, + 14, + 2, + 2, + 4, + 4, + 4, + 6, + 4, + 6, + 6, + 5, + 5, + 11, + 5, + 3, + 5, + 2, + 6, + 29, + 5, + 5, + 5, + 3, + 4, + 4, + 3, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 3, + 4, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 2, + 2, + 3, + 7, + 6, + 3, + 6, + 3, + 5, + 6, + 6, + 3, + 28, + 2, + 4, + 5, + 6, + 5, + 6, + 5, + 19, + 17, + 6, + 5, + 6, + 8, + 6, + 4, + 6, + 9, + 6, + 12, + 0, + 5, + 6, + 3, + 5, + 5, + 3, + 6, + 26, + 3, + 3, + 6, + 5, + 3, + 6, + 4, + 5, + 2, + 2, + 17, + 2, + 14, + 3, + 5, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 5, + 2, + 3, + 6, + 5, + 14, + 6, + 5, + 3, + 6, + 5, + 3, + 0, + 6, + 0, + 3, + 4, + 5, + 4, + 5, + 5, + 5, + 2, + 0, + 5, + 3, + 2, + 2, + 3, + 6, + 7, + 4, + 5, + 5, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 49, + 6, + 14, + 12, + 6, + 5, + 2, + 3, + 5, + 6, + 2, + 12, + 5, + 12, + 2, + 4, + 6, + 17, + 6, + 4, + 4, + 6, + 14, + 4, + 20, + 6, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 4, + 4, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 18, + 6, + 4, + 3, + 4, + 13, + 6, + 5, + 13, + 3, + 3, + 7, + 5, + 0, + 2, + 3, + 12, + 5, + 5, + 3, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 5, + 5, + 5, + 6, + 5, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 6, + 3, + 4, + 14, + 4, + 2, + 6, + 6, + 14, + 6, + 5, + 3, + 6, + 14, + 6, + 3, + 4, + 3, + 6, + 6, + 5, + 2, + 4, + 5, + 5, + 2, + 6, + 6, + 4, + 4, + 6, + 6, + 6, + 3, + 4, + 6, + 14, + 4, + 7, + 4, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 4, + 6, + 5, + 21, + 6, + 6, + 6, + 6, + 5, + 6, + 3, + 6, + 5, + 5, + 5, + 5, + 6, + 2, + 0, + 6, + 4, + 5, + 3, + 5, + 4, + 3, + 6, + 5, + 5, + 5, + 22, + 2, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 5, + 5, + 4, + 5, + 0, + 6, + 6, + 5, + 6, + 6, + 7, + 6, + 6, + 4, + 4, + 3, + 4, + 3, + 5, + 3, + 29, + 2, + 4, + 6, + 19, + 2, + 6, + 6, + 2, + 6, + 6, + 6, + 15, + 6, + 6, + 5, + 4, + 6, + 3, + 3, + 17, + 22, + 7, + 4, + 4, + 6, + 6, + 4, + 5, + 4, + 5, + 4, + 6, + 23, + 5, + 6, + 8, + 3, + 6, + 4, + 6, + 6, + 6, + 5, + 5, + 5, + 3, + 48, + 22, + 6, + 4, + 5, + 6, + 13, + 4, + 5, + 6, + 0, + 4, + 5, + 6, + 6, + 3, + 5, + 19, + 3, + 6, + 6, + 6, + 5, + 5, + 4, + 6, + 6, + 5, + 5, + 6, + 48, + 3, + 5, + 5, + 5, + 6, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 3, + 4, + 5, + 4, + 6, + 6, + 5, + 10, + 6, + 6, + 4, + 3, + 6, + 3, + 5, + 3, + 10, + 6, + 6, + 13, + 6, + 6, + 5, + 5, + 6, + 0, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 2, + 6, + 17, + 3, + 18, + 6, + 5, + 2, + 4, + 5, + 3, + 4, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 5, + 6, + 2, + 5, + 14, + 5, + 33, + 6, + 6, + 4, + 4, + 2, + 6, + 5, + 23, + 6, + 4, + 3, + 5, + 6, + 6, + 3, + 4, + 7, + 6, + 6, + 12, + 6, + 5, + 4, + 6, + 0, + 6, + 6, + 6, + 5, + 4, + 5, + 2, + 6, + 14, + 5, + 4, + 16, + 5, + 6, + 6, + 4, + 3, + 6, + 14, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 4, + 6, + 6, + 5, + 2, + 6, + 3, + 27, + 6, + 47, + 6, + 6, + 6, + 6, + 5, + 3, + 5, + 5, + 6, + 0, + 2, + 6, + 30, + 5, + 14, + 14, + 3, + 6, + 5, + 3, + 15, + 5, + 6, + 5, + 6, + 25, + 4, + 6, + 3, + 5, + 6, + 4, + 4, + 5, + 4, + 5, + 3, + 14, + 4, + 2, + 6, + 4, + 4, + 14, + 5, + 6, + 6, + 4, + 3, + 39, + 6, + 6, + 6, + 3, + 2, + 0, + 5, + 6, + 3, + 6, + 6, + 6, + 5, + 3, + 5, + 21, + 6, + 5, + 6, + 6, + 5, + 5, + 5, + 3, + 6, + 5, + 7, + 5, + 5, + 6, + 2, + 15, + 6, + 8, + 4, + 3, + 3, + 2, + 6, + 4, + 4, + 6, + 5, + 6, + 5, + 3, + 3, + 6, + 4, + 3, + 6, + 3, + 6, + 5, + 3, + 5, + 3, + 3, + 6, + 7, + 6, + 5, + 13, + 6, + 5, + 18, + 6, + 5, + 6, + 5, + 15, + 4, + 6, + 7, + 4, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 3, + 2, + 4, + 6, + 2, + 7, + 6, + 4, + 5, + 4, + 5, + 0, + 3, + 16, + 6, + 5, + 6, + 3, + 17, + 13, + 5, + 4, + 6, + 4, + 6, + 14, + 5, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 6, + 2, + 5, + 3, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 3, + 5, + 7, + 6, + 5, + 6, + 4, + 6, + 3, + 6, + 22, + 4, + 5, + 4, + 19, + 3, + 6, + 9, + 0, + 47, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 2, + 5, + 5, + 6, + 4, + 5, + 6, + 4, + 5, + 6, + 14, + 4, + 6, + 4, + 5, + 5, + 5, + 5, + 5, + 4, + 5, + 4, + 6, + 22, + 5, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 4, + 6, + 3, + 3, + 6, + 4, + 6, + 2, + 6, + 5, + 3, + 3, + 4, + 4, + 6, + 5, + 6, + 6, + 35, + 2, + 3, + 3, + 3, + 2, + 4, + 5, + 6, + 6, + 5, + 2, + 5, + 6, + 21, + 4, + 0, + 6, + 4, + 4, + 3, + 7, + 4, + 37, + 3, + 2, + 4, + 6, + 6, + 5, + 5, + 7, + 5, + 2, + 6, + 5, + 7, + 6, + 5, + 5, + 6, + 5, + 44, + 6, + 6, + 4, + 6, + 3, + 3, + 5, + 6, + 6, + 14, + 5, + 4, + 5, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 2, + 3, + 4, + 10, + 6, + 2, + 5, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 3, + 4, + 3, + 3, + 5, + 6, + 2, + 5, + 3, + 3, + 3, + 5, + 5, + 5, + 4, + 4, + 6, + 0, + 6, + 4, + 6, + 4, + 4, + 5, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 6, + 10, + 4, + 17, + 3, + 3, + 4, + 3, + 6, + 15, + 5, + 6, + 7, + 3, + 10, + 5, + 5, + 15, + 4, + 6, + 4, + 4, + 6, + 5, + 4, + 4, + 4, + 2, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 5, + 5, + 6, + 4, + 5, + 6, + 6, + 6, + 6, + 3, + 4, + 2, + 5, + 11, + 3, + 23, + 6, + 13, + 6, + 6, + 5, + 10, + 5, + 5, + 4, + 11, + 14, + 6, + 3, + 5, + 5, + 6, + 4, + 2, + 18, + 6, + 2, + 3, + 5, + 6, + 25, + 2, + 6, + 4, + 5, + 2, + 5, + 6, + 6, + 6, + 6, + 0, + 2, + 5, + 6, + 5, + 6, + 5, + 5, + 4, + 5, + 4, + 4, + 6, + 3, + 2, + 6, + 3, + 6, + 5, + 5, + 6, + 5, + 3, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 6, + 3, + 0, + 6, + 2, + 5, + 6, + 5, + 21, + 2, + 2, + 36, + 6, + 6, + 11, + 5, + 7, + 0, + 17, + 6, + 4, + 5, + 6, + 6, + 3, + 6, + 2, + 3, + 4, + 6, + 3, + 5, + 36, + 2, + 2, + 5, + 5, + 3, + 3, + 6, + 6, + 3, + 47, + 3, + 3, + 10, + 5, + 6, + 17, + 6, + 6, + 5, + 3, + 6, + 5, + 6, + 3, + 2, + 2, + 4, + 6, + 4, + 5, + 16, + 6, + 13, + 6, + 6, + 3, + 3, + 6, + 3, + 2, + 3, + 2, + 6, + 5, + 3, + 5, + 6, + 38, + 6, + 4, + 0, + 4, + 4, + 5, + 2, + 5, + 6, + 4, + 3, + 6, + 5, + 15, + 3, + 5, + 3, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 3, + 4, + 0, + 42, + 5, + 4, + 5, + 7, + 4, + 6, + 6, + 6, + 6, + 5, + 6, + 6, + 3, + 6, + 14, + 3, + 3, + 3, + 6, + 5, + 4, + 25, + 6, + 6, + 2, + 5, + 5, + 3, + 4, + 3, + 3, + 3, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 5, + 4, + 3, + 6, + 7, + 4, + 5, + 3, + 2, + 3, + 5, + 5, + 5, + 2, + 3, + 5, + 2, + 5, + 14, + 3, + 6, + 0, + 6, + 6, + 4, + 3, + 5, + 5, + 3, + 0, + 6, + 6, + 6, + 5, + 6, + 4, + 5, + 6, + 13, + 4, + 6, + 2, + 4, + 2, + 3, + 5, + 5, + 2, + 2, + 5, + 4, + 5, + 4, + 0, + 22, + 3, + 2, + 6, + 6, + 6, + 6, + 6, + 5, + 3, + 4, + 2, + 6, + 3, + 3, + 5, + 6, + 4, + 3, + 6, + 6, + 6, + 6, + 17, + 5, + 5, + 5, + 3, + 4, + 6, + 5, + 4, + 6, + 3, + 3, + 4, + 14, + 5, + 4, + 5, + 4, + 8, + 4, + 5, + 5, + 4, + 25, + 6, + 12, + 3, + 3, + 5, + 5, + 5, + 5, + 6, + 6, + 3, + 5, + 3, + 7, + 3, + 6, + 3, + 6, + 2, + 6, + 5, + 4, + 5, + 6, + 6, + 5, + 5, + 4, + 5, + 15, + 5, + 5, + 6, + 22, + 6, + 6, + 2, + 5, + 4, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 4, + 4, + 14, + 5, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 6, + 0, + 13, + 7, + 3, + 5, + 3, + 2, + 46, + 4, + 6, + 6, + 2, + 5, + 5, + 6, + 3, + 49, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 5, + 6, + 3, + 14, + 3, + 35, + 0, + 6, + 0, + 6, + 5, + 3, + 5, + 4, + 20, + 6, + 6, + 5, + 5, + 3, + 28, + 6, + 3, + 3, + 5, + 4, + 2, + 2, + 5, + 8, + 3, + 4, + 16, + 5, + 5, + 3, + 4, + 3, + 6, + 6, + 4, + 6, + 5, + 4, + 13, + 6, + 6, + 6, + 2, + 6, + 5, + 6, + 6, + 5, + 5, + 3, + 6, + 5, + 6, + 8, + 4, + 2, + 3, + 6, + 5, + 5, + 4, + 6, + 28, + 6, + 5, + 5, + 6, + 2, + 6, + 3, + 4, + 5, + 6, + 4, + 3, + 5, + 7, + 4, + 6, + 3, + 3, + 4, + 6, + 5, + 14, + 3, + 30, + 6, + 6, + 6, + 5, + 6, + 42, + 4, + 14, + 6, + 6, + 6, + 6, + 4, + 6, + 5, + 5, + 3, + 4, + 5, + 5, + 6, + 5, + 10, + 3, + 6, + 6, + 6, + 5, + 20, + 6, + 6, + 3, + 4, + 6, + 5, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 15, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 6, + 6, + 2, + 5, + 6, + 5, + 5, + 2, + 3, + 5, + 3, + 6, + 2, + 6, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 3, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 4, + 3, + 0, + 14, + 5, + 3, + 28, + 5, + 5, + 6, + 4, + 6, + 7, + 14, + 4, + 5, + 6, + 5, + 5, + 23, + 14, + 6, + 6, + 6, + 31, + 5, + 5, + 6, + 5, + 5, + 4, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 0, + 5, + 5, + 2, + 2, + 3, + 3, + 5, + 5, + 25, + 3, + 3, + 4, + 3, + 3, + 6, + 2, + 5, + 3, + 16, + 6, + 3, + 4, + 5, + 4, + 3, + 0, + 5, + 4, + 15, + 6, + 0, + 6, + 6, + 14, + 6, + 5, + 5, + 4, + 6, + 4, + 4, + 6, + 2, + 6, + 4, + 2, + 14, + 5, + 4, + 5, + 3, + 2, + 4, + 6, + 3, + 5, + 4, + 6, + 29, + 3, + 4, + 6, + 6, + 5, + 6, + 5, + 5, + 5, + 5, + 3, + 3, + 5, + 6, + 2, + 4, + 4, + 5, + 2, + 5, + 13, + 6, + 5, + 4, + 9, + 6, + 14, + 6, + 13, + 6, + 2, + 3, + 2, + 4, + 5, + 4, + 2, + 6, + 0, + 3, + 6, + 2, + 3, + 4, + 5, + 6, + 5, + 6, + 6, + 14, + 6, + 6, + 6, + 4, + 4, + 3, + 4, + 2, + 6, + 30, + 4, + 5, + 6, + 5, + 0, + 5, + 7, + 5, + 3, + 5, + 3, + 6, + 6, + 5, + 4, + 5, + 3, + 5, + 3, + 6, + 4, + 5, + 2, + 4, + 5, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 8, + 6, + 7, + 4, + 2, + 2, + 0, + 5, + 3, + 6, + 3, + 3, + 6, + 4, + 4, + 6, + 3, + 4, + 5, + 3, + 4, + 3, + 5, + 6, + 6, + 6, + 3, + 14, + 3, + 6, + 6, + 3, + 6, + 6, + 4, + 14, + 14, + 6, + 5, + 6, + 6, + 4, + 3, + 6, + 5, + 5, + 5, + 47, + 6, + 3, + 3, + 6, + 14, + 6, + 3, + 3, + 5, + 4, + 6, + 5, + 6, + 4, + 6, + 2, + 5, + 14, + 6, + 5, + 6, + 4, + 6, + 7, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 5, + 6, + 20, + 4, + 5, + 3, + 5, + 2, + 2, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 6, + 12, + 6, + 17, + 6, + 5, + 0, + 4, + 5, + 5, + 14, + 0, + 4, + 5, + 6, + 4, + 4, + 44, + 2, + 6, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 6, + 14, + 6, + 6, + 3, + 4, + 3, + 6, + 6, + 2, + 19, + 6, + 5, + 2, + 42, + 5, + 3, + 4, + 5, + 3, + 6, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 4, + 5, + 5, + 0, + 4, + 6, + 6, + 6, + 5, + 6, + 5, + 6, + 4, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 4, + 5, + 5, + 0, + 5, + 11, + 21, + 6, + 5, + 5, + 6, + 5, + 5, + 6, + 6, + 6, + 5, + 5, + 6, + 26, + 6, + 6, + 6, + 3, + 2, + 4, + 4, + 4, + 5, + 4, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 5, + 5, + 5, + 5, + 6, + 3, + 6, + 4, + 6, + 7, + 6, + 5, + 6, + 10, + 3, + 3, + 6, + 14, + 6, + 6, + 3, + 3, + 3, + 6, + 4, + 4, + 4, + 6, + 5, + 3, + 3, + 6, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 12, + 5, + 5, + 2, + 6, + 4, + 6, + 4, + 5, + 6, + 3, + 3, + 4, + 3, + 3, + 0, + 2, + 12, + 4, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 2, + 3, + 5, + 5, + 6, + 5, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 14, + 14, + 6, + 5, + 6, + 4, + 6, + 0, + 6, + 0, + 5, + 6, + 6, + 5, + 5, + 3, + 5, + 6, + 16, + 6, + 2, + 5, + 5, + 3, + 12, + 6, + 6, + 6, + 6, + 3, + 6, + 3, + 4, + 5, + 5, + 6, + 5, + 3, + 5, + 4, + 3, + 5, + 3, + 12, + 6, + 4, + 6, + 4, + 5, + 3, + 4, + 3, + 5, + 5, + 6, + 12, + 6, + 6, + 3, + 6, + 3, + 6, + 6, + 4, + 5, + 4, + 3, + 5, + 6, + 5, + 6, + 5, + 3, + 12, + 4, + 4, + 3, + 6, + 4, + 4, + 3, + 6, + 5, + 4, + 6, + 3, + 6, + 8, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 14, + 2, + 0, + 5, + 3, + 5, + 5, + 5, + 7, + 2, + 4, + 5, + 4, + 0, + 3, + 4, + 6, + 5, + 6, + 5, + 5, + 3, + 5, + 3, + 3, + 6, + 6, + 6, + 6, + 2, + 5, + 4, + 6, + 6, + 29, + 5, + 6, + 4, + 10, + 5, + 6, + 3, + 14, + 3, + 4, + 4, + 6, + 4, + 6, + 4, + 6, + 3, + 4, + 5, + 2, + 4, + 27, + 6, + 7, + 6, + 5, + 5, + 2, + 29, + 3, + 3, + 5, + 7, + 8, + 6, + 3, + 6, + 5, + 5, + 0, + 6, + 7, + 6, + 4, + 6, + 3, + 4, + 4, + 6, + 6, + 5, + 5, + 4, + 6, + 5, + 6, + 6, + 6, + 12, + 5, + 5, + 0, + 2, + 5, + 6, + 3, + 6, + 6, + 5, + 5, + 2, + 6, + 5, + 3, + 4, + 6, + 2, + 29, + 3, + 6, + 2, + 5, + 2, + 6, + 4, + 0, + 5, + 4, + 6, + 6, + 4, + 3, + 7, + 2, + 4, + 3, + 6, + 4, + 4, + 4, + 6, + 4, + 6, + 5, + 4, + 4, + 4, + 29, + 3, + 12, + 5, + 12, + 3, + 4, + 5, + 2, + 31, + 4, + 6, + 7, + 6, + 5, + 5, + 3, + 4, + 3, + 5, + 4, + 6, + 2, + 5, + 5, + 6, + 6, + 6, + 5, + 4, + 14, + 5, + 5, + 8, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 2, + 4, + 5, + 0, + 4, + 3, + 16, + 6, + 6, + 12, + 6, + 6, + 4, + 6, + 6, + 19, + 4, + 6, + 5, + 4, + 3, + 27, + 3, + 5, + 5, + 6, + 6, + 6, + 16, + 6, + 5, + 2, + 4, + 2, + 3, + 6, + 5, + 0, + 2, + 3, + 14, + 5, + 4, + 5, + 5, + 2, + 4, + 2, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 3, + 6, + 3, + 18, + 6, + 4, + 5, + 4, + 3, + 0, + 13, + 5, + 3, + 6, + 4, + 4, + 5, + 4, + 6, + 2, + 3, + 5, + 5, + 6, + 3, + 5, + 5, + 32, + 6, + 5, + 6, + 0, + 6, + 49, + 3, + 3, + 6, + 14, + 5, + 2, + 5, + 3, + 3, + 2, + 6, + 44, + 3, + 4, + 5, + 7, + 6, + 6, + 7, + 4, + 6, + 5, + 2, + 21, + 6, + 2, + 3, + 2, + 7, + 4, + 6, + 5, + 4, + 6, + 5, + 3, + 4, + 6, + 6, + 6, + 3, + 6, + 4, + 3, + 0, + 3, + 5, + 5, + 5, + 6, + 40, + 12, + 6, + 5, + 3, + 3, + 4, + 5, + 3, + 3, + 6, + 4, + 6, + 6, + 2, + 6, + 5, + 25, + 6, + 6, + 5, + 6, + 6, + 0, + 5, + 5, + 5, + 5, + 15, + 6, + 4, + 20, + 5, + 5, + 6, + 4, + 4, + 5, + 2, + 3, + 5, + 4, + 5, + 6, + 5, + 6, + 10, + 5, + 6, + 5, + 6, + 4, + 14, + 3, + 5, + 2, + 5, + 12, + 5, + 3, + 4, + 6, + 6, + 5, + 3, + 14, + 6, + 5, + 5, + 6, + 34, + 0, + 3, + 13, + 6, + 5, + 6, + 5, + 6, + 4, + 3, + 5, + 7, + 23, + 5, + 6, + 6, + 12, + 6, + 7, + 12, + 2, + 6, + 5, + 6, + 2, + 6, + 6, + 3, + 6, + 4, + 5, + 6, + 4, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 5, + 4, + 14, + 6, + 4, + 4, + 6, + 14, + 4, + 14, + 3, + 6, + 3, + 17, + 6, + 6, + 6, + 6, + 6, + 2, + 6, + 6, + 2, + 3, + 6, + 2, + 6, + 6, + 5, + 4, + 6, + 5, + 5, + 14, + 4, + 3, + 25, + 6, + 6, + 12, + 5, + 5, + 44, + 6, + 3, + 7, + 4, + 4, + 2, + 5, + 5, + 2, + 2, + 4, + 6, + 0, + 5, + 25, + 3, + 12, + 2, + 6, + 6, + 9, + 2, + 4, + 6, + 5, + 5, + 6, + 3, + 6, + 3, + 4, + 5, + 6, + 6, + 4, + 3, + 5, + 3, + 4, + 4, + 4, + 6, + 4, + 3, + 5, + 3, + 3, + 7, + 2, + 5, + 4, + 5, + 3, + 2, + 25, + 38, + 5, + 4, + 6, + 5, + 2, + 6, + 12, + 2, + 4, + 4, + 5, + 2, + 6, + 12, + 3, + 6, + 4, + 5, + 5, + 4, + 3, + 2, + 5, + 5, + 5, + 3, + 4, + 10, + 3, + 6, + 21, + 4, + 2, + 4, + 6, + 6, + 2, + 6, + 5, + 5, + 5, + 2, + 5, + 5, + 50, + 2, + 6, + 0, + 22, + 6, + 6, + 6, + 5, + 0, + 5, + 14, + 3, + 6, + 2, + 0, + 25, + 5, + 6, + 30, + 2, + 5, + 4, + 4, + 3, + 6, + 12, + 6, + 3, + 2, + 5, + 6, + 21, + 6, + 5, + 3, + 6, + 6, + 5, + 2, + 3, + 4, + 5, + 3, + 6, + 4, + 2, + 4, + 2, + 0, + 14, + 6, + 11, + 5, + 6, + 5, + 3, + 3, + 8, + 4, + 3, + 4, + 6, + 3, + 22, + 3, + 6, + 4, + 6, + 4, + 5, + 44, + 5, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 6, + 48, + 6, + 3, + 2, + 6, + 5, + 5, + 4, + 6, + 12, + 5, + 5, + 21, + 4, + 6, + 4, + 3, + 4, + 0, + 0, + 6, + 7, + 6, + 5, + 6, + 2, + 2, + 0, + 5, + 5, + 5, + 4, + 4, + 5, + 14, + 4, + 4, + 5, + 5, + 7, + 4, + 2, + 4, + 5, + 5, + 3, + 5, + 3, + 17, + 6, + 5, + 6, + 4, + 3, + 6, + 6, + 5, + 6, + 4, + 4, + 28, + 6, + 2, + 6, + 6, + 5, + 2, + 37, + 3, + 6, + 6, + 4, + 5, + 6, + 28, + 3, + 3, + 3, + 2, + 5, + 5, + 6, + 17, + 8, + 5, + 6, + 5, + 2, + 3, + 2, + 6, + 6, + 6, + 3, + 3, + 3, + 4, + 17, + 5, + 4, + 5, + 22, + 6, + 5, + 6, + 3, + 3, + 5, + 3, + 5, + 6, + 3, + 4, + 14, + 5, + 7, + 6, + 6, + 5, + 4, + 3, + 3, + 5, + 4, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 6, + 6, + 6, + 6, + 12, + 5, + 5, + 2, + 5, + 5, + 6, + 6, + 5, + 0, + 6, + 6, + 4, + 7, + 4, + 5, + 4, + 5, + 2, + 5, + 2, + 2, + 4, + 3, + 6, + 4, + 4, + 5, + 3, + 5, + 3, + 6, + 5, + 5, + 6, + 5, + 6, + 4, + 4, + 5, + 4, + 2, + 5, + 22, + 6, + 6, + 6, + 5, + 4, + 3, + 6, + 5, + 21, + 5, + 6, + 5, + 6, + 5, + 6, + 5, + 5, + 3, + 6, + 8, + 6, + 6, + 4, + 6, + 4, + 6, + 2, + 6, + 14, + 4, + 4, + 6, + 4, + 2, + 5, + 2, + 6, + 6, + 5, + 6, + 6, + 4, + 5, + 6, + 14, + 6, + 5, + 4, + 2, + 6, + 6, + 6, + 4, + 25, + 6, + 5, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 2, + 0, + 6, + 5, + 6, + 4, + 4, + 0, + 3, + 6, + 6, + 0, + 7, + 5, + 4, + 5, + 13, + 35, + 5, + 6, + 5, + 12, + 4, + 2, + 5, + 3, + 6, + 14, + 2, + 5, + 6, + 6, + 5, + 6, + 0, + 6, + 29, + 14, + 6, + 6, + 6, + 6, + 4, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 17, + 6, + 2, + 17, + 6, + 5, + 22, + 4, + 5, + 3, + 22, + 28, + 6, + 0, + 6, + 6, + 12, + 6, + 4, + 6, + 6, + 4, + 4, + 6, + 10, + 6, + 3, + 3, + 2, + 6, + 11, + 5, + 6, + 2, + 3, + 5, + 4, + 6, + 5, + 4, + 6, + 2, + 14, + 6, + 4, + 3, + 6, + 3, + 3, + 5, + 14, + 2, + 3, + 2, + 3, + 6, + 6, + 3, + 5, + 5, + 3, + 3, + 2, + 3, + 5, + 5, + 5, + 3, + 4, + 6, + 46, + 4, + 7, + 5, + 14, + 3, + 2, + 6, + 4, + 3, + 6, + 6, + 3, + 4, + 3, + 4, + 3, + 5, + 5, + 4, + 6, + 6, + 4, + 2, + 4, + 13, + 3, + 6, + 4, + 2, + 20, + 4, + 6, + 3, + 18, + 4, + 5, + 3, + 4, + 6, + 4, + 6, + 2, + 5, + 5, + 5, + 6, + 5, + 6, + 15, + 6, + 5, + 13, + 6, + 3, + 3, + 5, + 20, + 5, + 5, + 4, + 6, + 4, + 6, + 6, + 4, + 6, + 6, + 7, + 21, + 4, + 6, + 5, + 4, + 8, + 6, + 3, + 6, + 5, + 6, + 3, + 6, + 4, + 7, + 5, + 4, + 4, + 3, + 6, + 2, + 5, + 5, + 6, + 5, + 6, + 5, + 22, + 4, + 5, + 5, + 5, + 2, + 4, + 12, + 2, + 6, + 6, + 15, + 3, + 4, + 6, + 5, + 4, + 3, + 5, + 17, + 7, + 6, + 3, + 3, + 6, + 6, + 3, + 0, + 3, + 5, + 4, + 7, + 5, + 5, + 6, + 12, + 2, + 5, + 6, + 6, + 5, + 3, + 5, + 2, + 5, + 3, + 6, + 14, + 6, + 5, + 5, + 3, + 5, + 14, + 2, + 3, + 3, + 5, + 5, + 5, + 4, + 2, + 4, + 5, + 6, + 3, + 3, + 4, + 21, + 3, + 6, + 3, + 5, + 5, + 6, + 6, + 3, + 6, + 5, + 4, + 5, + 6, + 8, + 4, + 6, + 5, + 3, + 6, + 3, + 4, + 3, + 3, + 6, + 3, + 6, + 4, + 6, + 5, + 6, + 3, + 3, + 5, + 16, + 15, + 6, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 2, + 9, + 6, + 4, + 6, + 6, + 5, + 5, + 6, + 5, + 2, + 6, + 6, + 6, + 5, + 6, + 4, + 6, + 4, + 4, + 2, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 6, + 6, + 4, + 6, + 6, + 6, + 6, + 3, + 3, + 0, + 5, + 5, + 10, + 3, + 3, + 3, + 14, + 3, + 6, + 6, + 4, + 5, + 4, + 0, + 6, + 5, + 7, + 5, + 2, + 5, + 20, + 5, + 5, + 5, + 5, + 5, + 4, + 4, + 3, + 5, + 6, + 3, + 6, + 3, + 6, + 4, + 4, + 2, + 5, + 6, + 4, + 4, + 19, + 6, + 5, + 2, + 3, + 6, + 4, + 4, + 6, + 5, + 42, + 6, + 7, + 3, + 6, + 3, + 6, + 5, + 4, + 6, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 4, + 14, + 6, + 19, + 3, + 3, + 6, + 6, + 3, + 6, + 3, + 5, + 5, + 5, + 6, + 4, + 5, + 2, + 6, + 5, + 3, + 3, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 5, + 21, + 3, + 6, + 2, + 12, + 3, + 5, + 14, + 3, + 5, + 6, + 4, + 3, + 6, + 3, + 6, + 6, + 6, + 4, + 6, + 3, + 14, + 6, + 3, + 6, + 5, + 3, + 5, + 4, + 3, + 26, + 6, + 5, + 5, + 5, + 6, + 5, + 6, + 5, + 14, + 3, + 6, + 2, + 6, + 6, + 6, + 6, + 3, + 6, + 5, + 7, + 2, + 2, + 25, + 5, + 5, + 7, + 2, + 49, + 5, + 5, + 3, + 5, + 22, + 6, + 5, + 5, + 4, + 14, + 6, + 6, + 21, + 3, + 0, + 3, + 4, + 6, + 6, + 2, + 4, + 16, + 6, + 3, + 5, + 6, + 6, + 5, + 2, + 3, + 5, + 3, + 6, + 4, + 5, + 6, + 6, + 4, + 6, + 3, + 6, + 6, + 6, + 5, + 6, + 3, + 2, + 3, + 4, + 6, + 4, + 6, + 6, + 5, + 3, + 4, + 4, + 6, + 22, + 6, + 2, + 6, + 18, + 5, + 4, + 5, + 5, + 4, + 4, + 6, + 4, + 6, + 6, + 3, + 5, + 5, + 5, + 0, + 5, + 5, + 3, + 5, + 5, + 3, + 6, + 5, + 10, + 5, + 6, + 3, + 4, + 5, + 5, + 4, + 6, + 5, + 4, + 6, + 6, + 5, + 4, + 6, + 3, + 5, + 6, + 14, + 3, + 40, + 5, + 4, + 3, + 6, + 6, + 3, + 4, + 14, + 4, + 6, + 2, + 4, + 6, + 6, + 6, + 6, + 5, + 5, + 2, + 4, + 8, + 2, + 6, + 4, + 5, + 0, + 4, + 5, + 22, + 5, + 3, + 5, + 6, + 5, + 6, + 6, + 5, + 6, + 0, + 5, + 6, + 0, + 5, + 2, + 17, + 2, + 6, + 5, + 6, + 4, + 3, + 2, + 6, + 4, + 3, + 4, + 6, + 6, + 6, + 2, + 17, + 6, + 5, + 14, + 6, + 6, + 4, + 2, + 4, + 0, + 6, + 2, + 3, + 2, + 5, + 2, + 5, + 6, + 4, + 6, + 5, + 2, + 4, + 3, + 5, + 3, + 3, + 3, + 5, + 6, + 6, + 14, + 24, + 14, + 6, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 5, + 5, + 13, + 4, + 5, + 7, + 2, + 12, + 6, + 6, + 5, + 4, + 5, + 16, + 5, + 49, + 5, + 5, + 3, + 6, + 4, + 4, + 5, + 14, + 3, + 5, + 4, + 5, + 4, + 6, + 3, + 5, + 3, + 6, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 14, + 6, + 41, + 6, + 5, + 6, + 5, + 6, + 5, + 2, + 6, + 6, + 13, + 0, + 5, + 4, + 5, + 4, + 4, + 6, + 6, + 4, + 6, + 5, + 5, + 4, + 6, + 6, + 7, + 4, + 2, + 5, + 4, + 5, + 2, + 5, + 6, + 3, + 5, + 5, + 3, + 4, + 6, + 19, + 3, + 6, + 5, + 6, + 3, + 2, + 5, + 5, + 5, + 6, + 2, + 5, + 6, + 6, + 6, + 6, + 22, + 3, + 36, + 5, + 6, + 5, + 20, + 0, + 6, + 5, + 5, + 5, + 6, + 5, + 2, + 2, + 6, + 6, + 6, + 6, + 5, + 4, + 6, + 6, + 4, + 3, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 3, + 6, + 2, + 3, + 6, + 6, + 6, + 6, + 4, + 5, + 6, + 6, + 6, + 4, + 6, + 6, + 2, + 5, + 6, + 14, + 6, + 5, + 5, + 6, + 6, + 4, + 6, + 7, + 6, + 6, + 6, + 6, + 0, + 4, + 3, + 6, + 6, + 2, + 5, + 6, + 6, + 6, + 11, + 6, + 4, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 4, + 6, + 51, + 4, + 24, + 5, + 3, + 28, + 5, + 6, + 4, + 6, + 6, + 5, + 6, + 32, + 3, + 2, + 6, + 5, + 5, + 3, + 4, + 14, + 5, + 6, + 6, + 6, + 5, + 2, + 3, + 6, + 4, + 6, + 6, + 3, + 14, + 6, + 5, + 6, + 3, + 7, + 6, + 5, + 15, + 2, + 3, + 4, + 5, + 6, + 6, + 5, + 4, + 6, + 6, + 9, + 6, + 6, + 13, + 13, + 6, + 6, + 5, + 6, + 0, + 6, + 6, + 3, + 6, + 5, + 6, + 3, + 4, + 3, + 17, + 6, + 3, + 3, + 2, + 3, + 3, + 6, + 5, + 20, + 3, + 5, + 23, + 4, + 5, + 3, + 3, + 3, + 2, + 6, + 5, + 4, + 6, + 0, + 4, + 5, + 14, + 5, + 5, + 6, + 2, + 5, + 6, + 17, + 6, + 5, + 3, + 5, + 5, + 5, + 6, + 7, + 5, + 3, + 5, + 5, + 2, + 5, + 6, + 16, + 2, + 4, + 5, + 4, + 6, + 5, + 5, + 3, + 4, + 14, + 4, + 3, + 6, + 6, + 5, + 3, + 13, + 14, + 5, + 5, + 6, + 12, + 5, + 3, + 3, + 2, + 6, + 4, + 5, + 2, + 6, + 25, + 3, + 5, + 4, + 6, + 3, + 3, + 4, + 2, + 4, + 7, + 6, + 2, + 6, + 7, + 2, + 6, + 5, + 3, + 6, + 4, + 5, + 5, + 6, + 3, + 3, + 5, + 6, + 3, + 5, + 14, + 6, + 5, + 3, + 6, + 6, + 4, + 6, + 14, + 14, + 15, + 4, + 4, + 5, + 8, + 4, + 4, + 10, + 6, + 6, + 0, + 7, + 6, + 4, + 6, + 5, + 3, + 5, + 5, + 6, + 6, + 6, + 3, + 6, + 3, + 5, + 4, + 6, + 6, + 0, + 6, + 6, + 4, + 6, + 6, + 14, + 2, + 4, + 5, + 6, + 2, + 6, + 13, + 6, + 4, + 4, + 5, + 14, + 5, + 0, + 3, + 6, + 3, + 6, + 4, + 6, + 3, + 4, + 4, + 5, + 6, + 4, + 6, + 4, + 6, + 6, + 4, + 3, + 2, + 14, + 4, + 6, + 5, + 5, + 5, + 6, + 6, + 5, + 6, + 3, + 3, + 7, + 6, + 4, + 6, + 4, + 4, + 3, + 6, + 3, + 3, + 6, + 4, + 0, + 4, + 5, + 4, + 5, + 6, + 5, + 5, + 5, + 6, + 4, + 48, + 6, + 2, + 4, + 5, + 5, + 3, + 4, + 4, + 5, + 7, + 4, + 42, + 5, + 33, + 3, + 6, + 6, + 16, + 0, + 2, + 6, + 4, + 6, + 6, + 14, + 5, + 3, + 6, + 6, + 6, + 2, + 5, + 2, + 45, + 5, + 30, + 4, + 6, + 6, + 2, + 5, + 5, + 2, + 6, + 3, + 5, + 6, + 6, + 6, + 12, + 5, + 4, + 6, + 7, + 4, + 3, + 6, + 6, + 42, + 6, + 6, + 4, + 20, + 8, + 5, + 6, + 3, + 5, + 5, + 3, + 5, + 5, + 4, + 5, + 3, + 6, + 5, + 6, + 9, + 3, + 5, + 6, + 5, + 5, + 6, + 5, + 6, + 5, + 3, + 6, + 6, + 5, + 5, + 2, + 4, + 4, + 6, + 4, + 6, + 3, + 14, + 2, + 5, + 5, + 6, + 3, + 4, + 4, + 6, + 3, + 5, + 4, + 6, + 5, + 5, + 14, + 5, + 6, + 5, + 6, + 6, + 4, + 2, + 4, + 8, + 5, + 3, + 0, + 5, + 6, + 4, + 6, + 3, + 6, + 5, + 3, + 3, + 0, + 5, + 3, + 6, + 6, + 39, + 4, + 3, + 4, + 6, + 4, + 4, + 4, + 4, + 6, + 14, + 10, + 7, + 5, + 2, + 5, + 4, + 5, + 5, + 5, + 5, + 6, + 6, + 5, + 5, + 6, + 7, + 4, + 6, + 5, + 5, + 4, + 6, + 5, + 2, + 4, + 3, + 6, + 5, + 5, + 6, + 6, + 5, + 6, + 6, + 6, + 7, + 5, + 6, + 5, + 6, + 3, + 4, + 3, + 3, + 6, + 4, + 5, + 5, + 2, + 6, + 5, + 4, + 6, + 6, + 4, + 6, + 5, + 6, + 6, + 2, + 2, + 4, + 6, + 3, + 6, + 2, + 3, + 2, + 6, + 5, + 6, + 6, + 0, + 5, + 6, + 5, + 5, + 7, + 4, + 5, + 35, + 2, + 5, + 5, + 0, + 5, + 5, + 4, + 5, + 4, + 5, + 5, + 3, + 3, + 6, + 6, + 6, + 4, + 6, + 2, + 5, + 14, + 5, + 29, + 7, + 5, + 6, + 6, + 4, + 6, + 12, + 6, + 6, + 5, + 6, + 4, + 5, + 4, + 7, + 4, + 5, + 4, + 6, + 4, + 2, + 2, + 39, + 6, + 5, + 3, + 14, + 2, + 6, + 5, + 6, + 4, + 5, + 4, + 2, + 2, + 6, + 6, + 5, + 17, + 6, + 6, + 6, + 2, + 6, + 3, + 0, + 4, + 6, + 5, + 5, + 49, + 2, + 43, + 3, + 4, + 3, + 2, + 2, + 2, + 6, + 6, + 5, + 2, + 5, + 7, + 6, + 4, + 7, + 5, + 6, + 6, + 5, + 3, + 4, + 3, + 6, + 6, + 6, + 3, + 5, + 6, + 5, + 6, + 5, + 4, + 3, + 44, + 3, + 3, + 5, + 4, + 4, + 4, + 4, + 6, + 3, + 13, + 4, + 6, + 6, + 4, + 2, + 5, + 6, + 3, + 5, + 20, + 6, + 2, + 6, + 5, + 6, + 6, + 4, + 6, + 5, + 2, + 5, + 6, + 5, + 3, + 6, + 6, + 6, + 6, + 3, + 5, + 3, + 6, + 2, + 5, + 6, + 3, + 6, + 4, + 6, + 6, + 5, + 6, + 6, + 6, + 4, + 3, + 14, + 6, + 3, + 5, + 6, + 6, + 5, + 6, + 5, + 5, + 0, + 6, + 6, + 6, + 5, + 6, + 6, + 5, + 6, + 6, + 4, + 8, + 8, + 11, + 6, + 3, + 5, + 6, + 6, + 10, + 4, + 6, + 6, + 5, + 6, + 6, + 5, + 39, + 8, + 14, + 12, + 5, + 6, + 5, + 6, + 3, + 6, + 4, + 6, + 5, + 5, + 4, + 5, + 6, + 5, + 4, + 0, + 5, + 6, + 6, + 3, + 6, + 6, + 5, + 3, + 6, + 4, + 6, + 4, + 3, + 6, + 3, + 0, + 3, + 4, + 4, + 14, + 6, + 6, + 6, + 5, + 0, + 6, + 6, + 3, + 3, + 5, + 5, + 6, + 3, + 6, + 6, + 4, + 4, + 6, + 5, + 6, + 6, + 3, + 5, + 5, + 5, + 6, + 12, + 4, + 4, + 35, + 6, + 6, + 6, + 4, + 50, + 6, + 5, + 6, + 6, + 0, + 5, + 3, + 6, + 4, + 4, + 6, + 6, + 6, + 6, + 0, + 3, + 6, + 3, + 33, + 4, + 4, + 3, + 6, + 5, + 6, + 6, + 4, + 13, + 6, + 3, + 5, + 6, + 5, + 6, + 4, + 5, + 6, + 5, + 3, + 4, + 4, + 3, + 5, + 5, + 5, + 3, + 5, + 6, + 6, + 6, + 6, + 5, + 5, + 6, + 5, + 7, + 6, + 6, + 4, + 6, + 5, + 6, + 5, + 3, + 0, + 6, + 4, + 5, + 14, + 3, + 8, + 3, + 6, + 3, + 5, + 5, + 5, + 4, + 5, + 6, + 6, + 4, + 6, + 4, + 5, + 14, + 6, + 6, + 6, + 5, + 0, + 4, + 5, + 14, + 0, + 0, + 5, + 0, + 4, + 5, + 4, + 5, + 4, + 5, + 5, + 5, + 19, + 4, + 14, + 0, + 5, + 4, + 19, + 5, + 4, + 14, + 5, + 0, + 5, + 4, + 0, + 4, + 14, + 4, + 4, + 8, + 0, + 5, + 4, + 4, + 4, + 14, + 5, + 5, + 0, + 14, + 4, + 0, + 10, + 33, + 5, + 8, + 4 +] \ No newline at end of file diff --git a/testing_data/gt_sift0m_nc=12_assignment=rand_alpha=0.json b/testing_data/gt_sift0m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..58052e6 --- /dev/null +++ b/testing_data/gt_sift0m_nc=12_assignment=rand_alpha=0.json @@ -0,0 +1,5 @@ +[ + 1, + 2, + 3 +] \ No newline at end of file diff --git a/testing_data/gt_sift1m_nc=12_assignment=rand_alpha=0.json b/testing_data/gt_sift1m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..58052e6 --- /dev/null +++ b/testing_data/gt_sift1m_nc=12_assignment=rand_alpha=0.json @@ -0,0 +1,5 @@ +[ + 1, + 2, + 3 +] \ No newline at end of file diff --git a/testing_data/gt_sift2m_nc=12_assignment=rand_alpha=0.json b/testing_data/gt_sift2m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..58052e6 --- /dev/null +++ b/testing_data/gt_sift2m_nc=12_assignment=rand_alpha=0.json @@ -0,0 +1,5 @@ +[ + 1, + 2, + 3 +] \ No newline at end of file diff --git a/testing_data/query_attrs.txt b/testing_data/query_attrs.txt new file mode 100644 index 0000000..e69de29 diff --git a/testing_data/query_filters_sift0m_nc=12_alpha=0.json b/testing_data/query_filters_sift0m_nc=12_alpha=0.json new file mode 100644 index 0000000..def1815 --- /dev/null +++ b/testing_data/query_filters_sift0m_nc=12_alpha=0.json @@ -0,0 +1,12 @@ +[ + 5, + 111, + 3, + 4, + 51, + 5, + 5, + 5, + 5, + 5 +] \ No newline at end of file diff --git a/testing_data/query_filters_sift1m_nc=12_alpha=0.json b/testing_data/query_filters_sift1m_nc=12_alpha=0.json new file mode 100644 index 0000000..8ff1e04 --- /dev/null +++ b/testing_data/query_filters_sift1m_nc=12_alpha=0.json @@ -0,0 +1,5 @@ +[ + 100, + 2, + 3 +] \ No newline at end of file diff --git a/testing_data/query_filters_sift2m_nc=12_alpha=0.json b/testing_data/query_filters_sift2m_nc=12_alpha=0.json new file mode 100644 index 0000000..8ff1e04 --- /dev/null +++ b/testing_data/query_filters_sift2m_nc=12_alpha=0.json @@ -0,0 +1,5 @@ +[ + 100, + 2, + 3 +] \ No newline at end of file diff --git a/testing_data/siftsmall_R32_L50_filtered_index b/testing_data/siftsmall_R32_L50_filtered_index new file mode 100644 index 0000000..d7bafe3 Binary files /dev/null and b/testing_data/siftsmall_R32_L50_filtered_index differ diff --git a/testing_data/siftsmall_R32_L50_filtered_index.data b/testing_data/siftsmall_R32_L50_filtered_index.data new file mode 100644 index 0000000..07e31f5 Binary files /dev/null and b/testing_data/siftsmall_R32_L50_filtered_index.data differ diff --git a/testing_data/siftsmall_R32_L50_filtered_index_label_formatted.txt b/testing_data/siftsmall_R32_L50_filtered_index_label_formatted.txt new file mode 100644 index 0000000..0d9f6fb --- /dev/null +++ b/testing_data/siftsmall_R32_L50_filtered_index_label_formatted.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +7,6,8 +0 +6 +9,4,6,10,11 +6 +6 +12,4 +6,8 +13,3,14,5,15,16 +17,5,6,18 +5,6,19 +20,17,14,6,21 +12,2 +13 +22,6 +10 +17,6,10 +5,6,23,11 +6 +24,25,6 +6 +24,26,7,4 +27,3,14,21 +3,14,6,23 +14,6,28,15 +14,5,6,29,30 +31,2,7 +32,25,6 +33,5,6,19,8 +6,11 +17,4,14,15,10 +34,13,6 +35,13,17,6,15 +36,3,4,14,8 +3,5,6,21 +7,4,6 +33,2,5 +37,14,6,16 +38,5 +14,6,10 +7,3,14,5 +28 +39,6 +2,3 +7,5,6,29 +6,8 +35,26 +5 +6,21 +40,13,7,14,5,6 +14,6 +41,5,6 +34,13,3,6 +22,5,6 +3,4,5,6,29 +3,5,6 +6,28 +25,3,4,6 +6,21 +37,14,6 +34,4,6 +22,5,6,15 +4,6,28 +17,5,6,42,29 +6,43 +26,6,11 +25,7,3,6 +44,5,6 +38,7 +45,13,6 +40,2,5,6,21 +6 +40,41,4,14,6 +10 +7,5,6,23 +31,20,14,6 +44,12,6 +45,17,7,5,6 +12,6,18 +6,11 +20,7,46 +3 +2,17,6 +31,47,46 +26,2,5 +0 +4,14,5,6,42 +37,27,48,41,4,5,6,11 +2,3,4,6 +14,5 +17,5,6,28 +2,5,6 +20,4,5,6 +12,20,49 +7,6 +14,6,19 +22,3,6 +37,30 +6,16,42 +2,4,6,10 +17,6 +14 +4,5,10 +6,10 +17,3,6,16 +50,4,5,6 +4 +50 +35,14,21 +14,6 +2,4,16 +22,5,15 +17,6 +6,8,43 +6,29 +24,25,17,14,6,11 +12,14,6,15,18 +22,14,10 +25,7,14,6 +49 +6 +32,25,3,5,6 +4,21,18 +4,6 +6 +0 +31,32,36,6 +26,6 +22,5,6,19,30 +20,3,5,43 +34,6 +5,19 +22,5,6 +3 +25,4,6 +25,7,5,6 +12,6 +13,17,5,6,19,10,42,18 +3,8 +37,17,7,28,46 +6,21 +6,46 +5,6,46 +5,6 +47,2,20,7,6,28,19 +41,6 +3,5,6 +12,5 +44,6 +3,29 +2,4,6,15 +35,14,5,6,16 +48,6 +5,6,15 +4,14,6 +25,22,14,6 +33,14 +39,31,32,3,6 +25,6 +13,5 +5,6 +6,21,15 +0 +39,14,6,15 +36,13,3,6,21,11 +33,3 +48,25,5,6,29 +20,17,4,6 +3,4,5,6 +5,6 +2,17,3,5,6,16 +6 +13,4,5 +36,38,5,6 +2,6 +9,14,5,6 +3,14,6,11 +6 +24,5,6 +38,48,12,5,6 +24,4,6 +6,23,8 +22,3,5,6 +41,26,17,5,6 +41,13,14,16 +6 +6,49 +34,3,4,6,21 +2,17,6,18 +5,6,28 +26,6 +17,4,6,16 +7,4,5,28,8 +38,6,16,8 +31,25,3,5,6 +25,22,7,3,4,14,5,6 +37,14,6 +14,5,6 +13,20,7,6 +25,4,5,6 +7 +25,5,6 +5,46 +44,5,6 +12,4,5,6,21,19 +20,6 +4,6 +26,20,17,14,5,6 +4,6 +22,3,14 +4,6 +6 +17,14,5,6 +38,22,6 +39,14,6 +47,12,6,15 +12,22,5,6,42 +20,5,6 +4,6,15,8 +22,3,4,6,28 +9,6,28 +25,14,6 +22,6,11 +7,6,30 +7,5 +6 +34,7 +7,14,5,6 +37,3,6 +7,14,46 +5 +7,5,6 +50,2,7,6,8 +25,22,6 +7,14,6,42 +17,14,6 +5,6 +50,4,5,6 +36,13,4,14,6 +22,7,5,6,15,16 +14,6,30 +6 +5,6 +12,3,5,6 +5,6 +17,6 +12,25,14,5,6 +3,5,6,28 +3,6 +20,5,6,23 +27,4,6 +40,4,6 +12,3,6,18 +28 +5 +17 +7,14,5,6 +3,4,5,6 +14,5,6 +4,6,49 +17,7,5,6,18 +9,6 +5,21 +17,7,5,42 +0 +40,34,7,4,5,6 +35,3,14 +3,4,5,6,21 +6,11 +14,6 +38,20,6 +25,20,17,5 +13,5,6,15 +14,5,6 +37,12,14,6 +6 +16 +28,18,23 +51,47,5,6 +6 +0 +25,3,6 +2,20,4,6,10 +44,12,6,10 +6 +13,5 +40,22,5,18 +5 +37,2,3,19 +47,48,22,4,5,6 +22,6,21 +6 +5,6 +6 +7,6,15,18 +7,5,6 +0 +17,3,6,15 +7,14,6,21 +17,7,5,23 +22,4,5,29 +25,5,6,15 +2,14,6,49 +10 +44,3,14,6 +25,17 +9,38,7,6 +6 +4,5,6,11 +35,14,5,6 +4,5,6 +32,7,6 +40,6 +2,25,6 +17,4,6 +2,17,6,21,28 +44,17,4 +34,6,46 +35,22,17 +7,6 +26,2,5,6 +14,5,6 +48,4,6,10 +20,4,5,15 +4,6 +47,44,22 +3 +0 +4,6,43 +50,14,6 +33,25,5,6 +5,6,15,18,29 +48,44,25,4,5,6,46 +14,5,6,11 +20,5,19 +5,6,11 +2,21 +39,32,22,6 +4,6 +45,36,12,13,14,5 +44,13,17,4,6,23 +14,5,6,15 +34,6 +22,14 +21,10 +7,5,42 +20,6,42 +2,7,4 +35,6,29 +14,6 +5,6 +51,38,2,23,29 +50,7,6 +17,4,14,6,42 +12 +4 +26,5,6 +17 +13,3,6 +36,22,7,6,28 +14,6,28,16 +14,5,6,10,29 +25,5,6 +38,12,14,5,10 +37,7,3,14,6,42 +2 +14,6,23 +5,6,21,30 +48,20,5,6 +35,7,6 +45,20,14,6 +25,5,6 +6 +36,17 +3,14,5,6 +5,6 +13,5,16 +4,14 +6 +6,18 +20,5,6,23 +6,16 +48,12,5,6 +34,5 +4,5,6 +6 +7,6,28,18,8 +17 +14,6,30 +6,46 +12,14,6 +4,5 +40,13,14,6 +17,5,16,29 +25,3,6,15 +48,15,18 +44,13,6,15 +27,5 +41,4,5,15 +6,18 +34,4,5,6,16 +6 +22 +14,6 +2,7,3,4,6 +27,4,14,6 +20,10 +2,14,5,6,42,49 +19 +36,6,18,29 +14,5,42 +13,4,6,16 +14,5,6 +24,35,3,14,5,6,15,46,30,43 +31,3,5,6 +7 +33,25,14,6,19 +6,42,30 +3,4,6 +22,14,6 +5,15 +2,5,6 +8 +32,14,5,43 +17,4,5,6,15 +25,4,6 +6 +9,3,5 +26,17,14,5,6 +37,12,17,4,42,49 +12 +36,17,3,6 +13,5,6,49 +35,2,6 +22,3 +2,5,6 +31,2,6 +22,17,14,21,30 +14,6 +14,5,6 +47,20,22,3 +3,4,6 +37,6,46 +41,4,14,5,6,15 +6,16 +14,6 +20,4 +3,8 +5,6 +3,14,6 +5,10 +2,6 +4,14 +32,48,33,4 +6,29 +25,6,10,46 +4,6 +47,3,14,5,6,16,46 +36,12,6,8 +39,25,4,18,43 +6,28,19,46 +0 +14,19 +41,5,21,15 +7,3,4,5,6 +2,6 +22,4,14,5,6 +7,3,4,6 +3,6 +6,8 +17,14,5,6 +7,6 +14,43 +26,6,18 +6,19 +50,41,2,5,6 +25,20,7,3,5,6,23 +3,6,18 +0 +0 +7,5,28,42 +51,14,6,28 +3,4 +6 +34,3,5,6,29 +22,3,14,5,6 +6 +34,5,6 +26,14,6 +0 +27,25,4,14,6,28 +5,6,19 +7,4,14,6 +3,6 +6 +14,6,10 +39,37,17,14,6 +31,13,17,3,6,19 +22,14,21,46 +17,7,4,14,5,6,15 +25,6 +17,4,5,8 +22,17,6,8 +14,6 +6 +34,2,17,5,6 +45,26,4,5,18 +34,6 +26,17,4,6 +3,4 +12,4,14,6 +12,4,14,5 +13,25,20,3,4 +14,6,10 +50,6 +41,6 +5,28,11 +17,14,6,46 +48,17 +17,6 +3,14,6 +14,5,6,18 +14,5,6,16 +14,5,49 +37,7,14,6 +20,6 +14,6 +14 +0 +2,22,3,14,5 +25,4,6 +40,22,14 +7,5,6,11 +26,20,4 +7,14,5,6 +0 +34,20,6 +44,14,6,16,49 +40,14,5,6 +14,6 +2,6,10 +3,6,28,49 +5,6 +15 +5 +47,36,2,6 +3,6,42 +26,5,6,18 +0 +38 +6 +0 +3,4,6 +22,6,11 +6,10 +40,27,13,5,6 +0 +17,6 +14,6,28 +34,13,5 +14,43 +37,17,6 +47,4,5,6,10 +6 +44,6,8 +36,7,6,15,10 +45,47,14,23 +34,27,5,6 +25,7,6 +13,7,5,6 +14,6,42 +5,6,28,23 +14,5 +38,22,6 +37,4,6 +12,6 +4,6,46,49 +40,6 +32,22,3,6,43 +6,28 +40 +2,7,6 +22,5 +25,3,6,49 +47,17,10 +3,14,6 +2,6 +7,43 +5,6 +13,22,6 +39,36,12,14,6 +2,5,6,30 +7,5,6,15 +3 +27,7,3,4,14,6,8,11 +7,4,5,6 +9,44,6,11 +3 +22,7,6 +22,6 +25,4,6 +13,6,18 +23 +22,6 +12,17,5,6,8 +27,5 +4 +2,20,4 +6 +25,22,5,6,15 +24,25,6,18 +20,6,29 +7 +13,7,14,5,6 +37,17,10,8 +6 +6,8 +3,14,6 +6,16 +12,13,25,22,14,6 +20,4,5,6 +50,37,7,5,11 +0 +13,14,6,29 +22,6,16,18,8 +14,5,6,10 +35,4 +20,14,6 +14,21 +50,17,5,6,21 +48,4,6,21 +17,4,6 +5,6 +26,13,4,5,6 +22,4,5,6 +44,12,5,15,43 +13,5,6,16 +44,14,6,21,28,10,49 +34,22,3,5,6 +17,5,6,42 +13,7,14,5,6 +6,23 +2,22,7,28 +41,15,49 +47,2,17,3,14,5,46 +40,6 +3,4,5,6 +50,35,2,6 +36,7,14,6,42 +36,38,22,4,14,6,18 +35,14,5,6 +9,20,7,4,14,6,11 +17,5,6 +5,6 +48,6 +35,17,7,5,6,21 +2 +2,7,6 +12,22 +7,14,5,6,19 +22,14,6,16 +35,25,17,4,6 +22,4,5,6,11 +20,17,6 +6 +20,5,6 +13,25,3,6 +17,14,5,28,30 +25,3 +5,6,29 +17,3,4,6,30 +14,5,6,46 +14,5 +31,14,5,6,18 +3,4,6,18 +7,5,6 +0 +7,5,6,46,30 +17 +5,6,10 +7,6 +4,14,5,6,46 +12,14,5,6 +0 +5,6,10 +12,6,21,23,49 +48,2,17,3,10,8 +3 +36,2,5,6,49 +7,14,6,10 +24,44,4,6 +6 +5,6 +27,4,6,23 +7,3,6 +2,6,29 +3,14,5,6,28 +7,5,6 +5,6 +14,6 +26,14,5 +6 +34,5,6 +5 +51,6 +5,6 +6 +48,13,3 +12,7,3,14,6 +45,7,6,46 +6 +14,5,6,21 +31,37,7,6,21,8 +20,6 +17,6,15 +13,3,15 +50,48,4,14,6,16,46 +2,7 +22,6 +34,35,17,3,14,6,15 +6,15 +39,3,14,5,6 +7,14,6 +14,5,6 +0 +26,6 +25,17,6,8 +44,17,3,4,14,5,6 +17,14,6,16,18 +17,7,3,5,42 +14,5,6 +3,6 +47,9,4,6 +33,22,7,4,6 +6 +45,20,17,4 +7,3,6 +13,2,20 +35,44,6 +36,4,14,6 +22,17,7,14,6 +20,5,19 +14,6 +20,6 +20,3,5,6,42 +7,3,4,5,6 +17,3,5,6 +9,20,7,5 +22,5,6 +35,20,5,6 +40,9,12,5,6 +27,4,6,19 +14,6,28,30 +25,4,6,46 +2,6 +14,6 +20,14,46 +20,6 +20,7,6,28 +13,25,6 +4 +36,6,46 +25,14,6,19,18 +14,6 +44,7,6 +51,4,5,28 +4,6,42 +22,6,28 +15 +17,6,28 +12,2,5,6 +5,6,28 +14,10 +22,5,6 +25,22,17,5,6,21 +2,22,5,8 +33,12,17,6,19 +4,6,16 +6,15,18 +7,5 +13,6 +25,17,6 +2 +3,6,16,46 +12 +32,44,6 +14,5,6,18,23 +31,20,6,8,43 +51,45,3,5 +4,6,23,8 +14,5,6,18,43 +13,21 +3,6 +15 +37,22,17,14,6,30 +6 +6 +41,7,3,5,6 +25,6,15 +12,7,6 +9,13,5,6,16 +7,6,21,29,49 +22,4 +12,13,6,28 +2,3,6,21 +22 +27,3,6 +40,6 +5,6 +22,5,16 +39,4,14,5,6,21,28 +39,20,17,4,6 +6 +3,16 +13,22,4,6,11 +6 +33,2,5 +2,4,14,5,23 +27,17,3,6 +2,3,14,6 +17,5,6,21 +6,8 +6,18,46 +2,3,6 +17,6 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +17,5,6 +48,33,17,4,6 +6,42 +9,33,6,19,16 +51,6 +8 +5,6 +7,3,4,6 +12,7,5,6 +12,3,6,21 +7,4,5 +5,6 +7,5,6,49 +14,6,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +31,25,14,6,10,49 +6,16,29,30 +31,36,25,5,6,28,46 +2,7,4,6 +31,2,17,3,14 +6,18 +44,17,5,6 +44,5,6 +6 +25,22,17,7,6,28 +22,17,6,11 +44,5,6 +6,16 +6 +3 +20,4 +12,5,21 +12,22,7,6,19,49 +26,17,6,19 +14,6 +22,14,6 +22,5 +51,26,25,14,6,8 +26,4,6 +31,22,3,6,49 +24,12 +33,13,3,6,42,11 +50,14 +6 +26,14 +32,44,3,5,6,8,46 +13,22,5,6 +39,7,3,14,6 +4,6,46 +7,4,14,6,46 +51,7,5 +32,48,3,6,23 +17,6,8 +14,6,21,43 +9,17,5,6 +7,14,5,6 +48,22,6 +14,6 +17 +3,14,6 +48,6 +20,5,6,21 +33,17,4,14,6,21,19 +22,5 +44,7,6 +40,13,6,49 +40,6 +14,6,15 +17,3,6,42 +12 +20,4,6 +5,6,42 +47,25,14,5,6,29 +17,4,6 +22,7,5,6,42 +14,5,6,28 +5 +6 +14,6 +9,14,16 +6 +37,3,5,6,16 +4,6 +6,42 +31,3,14,6,23,43 +17,6 +3,5,6 +14,6,15,30 +14,5 +14,6 +13,17,14,6 +12,6,10 +48,4 +31,4,14,5,6,49 +31,4,6,16 +2,7,3,4,6 +48,4,6 +14 +12,5,6,19 +34,5 +5,6,8 +4,6,42 +25 +13,6 +22,6,29 +22,3,6,21 +34,48,41,4,6 +20,4,5,6,15,8 +7,4,6 +4,5,6,19 +2,14,5,6,28 +5,6,49 +17,7,6 +36,14,6,11 +14,5,6 +47,3,6,11 +9,5 +5 +4,5,6 +4,6,15,46 +14,6 +25,17,4,6 +44,6 +48,5,6,15 +17,6 +51,12,20,3,5,6 +4,6 +22,5,6,15,10,42 +7,6,15,10 +20 +25,20,4 +4,6,16,8,29 +22,14,6 +35,3,5,6,28 +5,6,46 +40,6,23 +51,22,5,6,23 +22,7,3,14,6,19 +44,3,6 +38,48,25,3,11 +25,4,6 +33,2,17,7,6,29 +2,5,6,21 +3,4,14,6,16 +51,2,14,5,6 +47,7,6,28,18 +20,5,6,8 +0 +14,49 +32,12,2,4,5,6 +48,6,10 +6 +31,40,35,13,6,30 +34,5,6 +48,20,14,6,23,30 +32,44,2,6 +35,33,5 +25,4,5,6 +4,14,6 +25,6 +20,4,6 +33,17,6 +38,2,22,7,14,6 +33,13,5,30 +17,7,6,18,29 +5,6,28,8 +5 +22,14,6 +39,47 +13,20 +20,22,4,5,6,8 +6 +36,6 +38,14,5,6,19,11 +5,6,28 +4,6 +40,14,5,6,10 +5,6 +22,7,4,6,23 +47,7,6 +6,19 +20,22,3,5,6 +7,6 +3,14,5,15,10 +17,3,5,6 +7,14,5,6 +14,6 +34,12,2,14,6 +20,6 +17,6,28,18 +41,13,17,6 +14,43 +45,14 +6 +45,7,4,14,5 +7,14 +14,6 +39,51,47,25,22,7,6 +14,6,23 +24,17,6 +7,6 +13,14,5,6 +5,6,10 +2,6,8 +5,6,49 +45,34,4,6,30,49 +6,29 +13,3,6,15 +26,6 +2,3,21 +6 +4,6 +35,4,6,23 +13,16 +48,33,17,5,6,42 +20,3,6,16,30 +5 +34,5,6,16 +22,5 +51,22,6 +5 +13,14,6 +44,20,17,3,4 +44,4 +4,14,6 +20 +2,6 +20,22,6 +5,6,21 +5,6,42 +17,6 +17,4,18 +13,4,5,6 +12,17,4,6,15 +14,5 +39,33,14,6,28,42,49 +51,25,22,7,3,6,28,18 +45,17,28 +7,14,6,21 +20,14,46 +6 +5,6,21 +22,5,6,16 +6 +3 +22,3,5 +6,21 +48,6,30 +44,22,7,6 +3,4,14,5,6 +3,14,5,6,16 +6,21 +6 +37,22,6,16 +37,22,4,6,30 +48,6,18 +50,9,44,12,6 +25,7,14,5,42 +35,2,5,6,18 +25,3,10 +12,2,22,4,14,5,6 +6 +13,17,7,6 +4,5,42 +27,3,14,6,15 +9,46 +9,13,5,6 +35,5,6 +45,13,25,17,6 +40,20,6,18 +44,5,6 +2,25,3,14,18,46 +25,42 +22,4,6,29 +13,6,10 +3,4,5,6,28,42 +34,6 +17,6,23,29 +17,6,43 +2,6,21 +6 +37,17,7,6,10 +44,4,5,6 +3,5 +20 +34,6 +6,15,42 +33,20,6,42 +0 +6 +12,6,18 +49 +39,14,6 +40,22,5 +25,5,6,49 +5,6 +51,48 +14,19 +6,21 +36,3,11 +48,14,5 +5,6 +0 +2,14 +20,7,4,6,18 +22,17,6,11,30 +22,4,5 +14,5,46,30 +6 +2,6,23,49 +22,8 +48,7,6 +39,33,3,5,6 +17,14 +9,25,22,14,6 +17,7,5,6,15,23 +3,6,49 +7,4,5,6,15 +6 +20,6 +3,5,6 +26,20,4,15 +4,19 +39,14,6 +50,6,28 +7,3,6 +34,25,14,5,16,43 +22,6 +20,5 +14,6,8 +20,5 +48,22,6 +4,28 +20,14,6,28,19 +3,14,5,6 +22,3,4,14,19 +13,5 +4,6 +22,4,14 +6 +13,30 +39 +4,14,5,6 +22,6 +22,6 +44,7,3,14,5,21 +27,20,4,5,6,30,43 +3,5,6 +33,6 +51,48,13,3,6,19 +34,6,18 +35,3,6 +3 +5,6 +15 +17,14,6,11 +14,6 +20,5,6,30 +45,17,5,6 +40,6,16 +5,6 +34,22,3,5,6,21 +37,20,7,5,6 +41,20,14,6 +20,22,17,6,19 +3,14,6 +47,10,43 +22,6 +41,17,7,6,10 +17,5,6 +0 +3,6 +3,4,6 +20,5,6 +4,5,6 +20,4,6 +14,42 +22,5,6 +6 +5 +40,18 +20,19,42,29 +5 +12,22,5,6 +48,14,6,15,19 +2,23 +6 +5,6,28 +14 +44,17,14,5,6 +51,5,6,19,30 +45,2,17,14,5 +22,14,6 +48,3,6 +6 +17,6 +20,14,42 +38,3,15 +6,23 +14,6 +12,13,3,6,21,8 +22,4,14,6 +19 +28,23,8 +9,41,14,6 +45,22,17,4,14,6 +3,4,5,6 +6 +39,22,4 +6,15 +33,5,6 +20,17,14,6 +14,6,21 +6 +39,25,4,5,6 +36,13,20,14,5,6,23,43 +0 +6 +19 +7,6,10,16 +3,4,5,6 +4,5,6,42 +44,12,22,17,6,19 +50,6 +3,5,6,18 +14,6 +5,6,21 +7,4,6 +38,4,5,28,30 +5,30 +43 +20,5,21,28 +39,41,20,5,6 +22,6 +33,22,6 +4 +38,4,5,6 +14,5,6,30 +17,28 +6 +20,17,14,6 +50,17,14 +47,7,4,5,6,15 +7,6,19 +14 +34,4 +7,14,5 +33,25,7 +4,6 +5,6 +2,6 +38,7,5 +22,3,4,14,5,6,15,29 +33,22,14,6 +7,5,6 +6 +12,20,14,28 +4,6,18,49 +17,5,6 +34,36,33,4,6,42 +25,20,7,6,30 +50,34,17,6 +20,3 +5 +17,5,6,21 +33,26,13,46 +14,6,42,43 +7,3,14,29 +44,2,6,28 +13,14 +44,3,6,10 +6,46 +22,3,5,6 +27,4,6 +2,4,14 +3,4,5,6,11,30 +38,6 +7,14,6 +48,14,19 +3,5,6 +44,7,5,6 +14,5 +34,44,6,28 +35,22,7,14,6,46 +3,6 +50,3,6 +6,46,30,49 +6 +6,8 +22,16,29 +2,29 +6 +25,5,6,49 +46,30 +25,6,19,18 +36,5,6 +50,7,4,6 +17,6,46 +17,6,21 +17,3,4,14 +14,5,6 +2,5,6 +17,4,6 +4,14,5,29 +20,14,5,6,10 +0 +51,44,7,5 +14,6 +9,12,13,6 +38,6 +36,27,5,28,10 +5,46 +27,5,6 +20,18 +26,5,6 +25,6,11 +26,4,19 +0 +27,3,4,6,21,28,16 +7,3,46,30 +6 +48,25,7,14,5,6 +7,6 +12,22,6 +13,17 +45,3,4,14,5,6 +13,2,25,5,6 +14,6 +12,25,18 +12,7,4,5,6,30 +36,17,7,6 +34,13,4,14,5,6 +14,6,8 +20,7,6 +48,13,3,6 +51,14,5,30 +39,9,25,4 +17,5,6,10 +4,14,6 +2,14,6 +13,5 +35,2,22,5,6 +0 +7,28 +0 +12,3 +32,2,7,5,46 +4,14,6 +24,36 +4,14,6 +6,46 +14 +40,41,7,5,6 +22,17,7,6 +45,33,7,6,16 +47,13,22,21 +4,5,6,15,10 +45,7,4,6 +24,22,7,5,6 +6,30 +7,14,6,15,11 +45,25,3,5 +5,6,46 +2,5,6,42 +6 +14,5,6,15 +4,6,8 +5,6 +12,2,6 +51,13,4,6 +9,13,6 +22 +35,33,26,25,20,14,6,8 +9,6 +44,5,6,21 +13,6 +35,20,5,6 +47,20 +5,6 +3,14,5,6,19 +12,4,6,42 +47,7,6 +14,6 +44,6 +39,48,14,5,6 +2,25,6,42 +7,3,4,14,6 +3,5,6 +37,14 +6,19,42 +7,4,5,6,46 +25,17,5,6,19 +17,3,6,19,49 +12 +33,2 +45,5,6,43 +20,3 +5 +2,22,14,6,10 +45,2,20,3,5,6 +4,8 +36,25,22,6,42 +4 +20,6,8,49 +6 +32,7,14,6,23 +6,28 +12,14,5 +3,4,6,21 +17,5,6 +17,6 +3,6,23 +14,6,11 +20,14 +4,6 +22,6,15 +44,4,6 +7,6 +9,26,4,14,5,6,8 +2,5,6,18,29 +7,4,6 +17,3,18 +32,2,3,14,5 +6,18 +5,6,16 +2,20,14,5,6,28 +14,6 +22,14,6 +0 +23 +5 +17,5,10 +5 +37,6 +6 +4,14,5 +25,7,3,6,15 +6,28 +51,22,4,14 +6 +12,6 +12,6 +9,13 +25,14,6,19 +5,6,49 +13,14,5,6 +14,6,18 +3,14,5,6 +22,17,7,4,14,6 +13,6 +22,17,28,46 +44,6 +25,20,23,8 +5,6 +20,15 +47,35,20,4,14,6,21,30 +13,2 +3,6,11 +5 +26,6 +5 +33,13,17,4,5,6 +17,5,6,15 +4 +48,22,4,6,23 +4,6,19,16,43 +26 +7,4,14,5,6 +22,6 +17,46 +14,5,6 +7,14 +12,7,14,6 +32,14,6,30 +20,6,23 +5,6 +14,5,6,28 +7,43 +17,6,23 +47,5,6 +39,14,28 +6 +14 +38,5,6 +25,6 +20,5,43 +0 +5 +3,5,18 +20,7,6 +17,4,5,6,29 +27,7,16,49 +6 +41,20,22,3,14,6 +9,12,22,7,5,6,46 +44,13,14,29 +7,14,5 +5,6,29 +26,6 +13,5,6,21 +6,28 +50,17,14,6 +6,43 +48,5,15 +14,6 +6 +5,6 +17,6,16,49 +6 +25,6 +13,4,5 +22,5,6 +22,6 +2,6,8 +5 +7,6 +20,6 +6,23 +13,4,14 +6 +34,27,7,4,6 +5,6 +14 +6 +17,7,5,46 +14,6,23 +22,14,19 +7 +25,17,14,5 +44,7,3,5,6 +6,15 +20,22,3,4,6 +31,7,14,8 +4,5,6,42 +20,17,7,14,5,6,15 +27,22,6,23 +27,14,6 +20,5,6 +26,3,5,6 +36,22,6 +2,5,6,46 +36,14 +3,6 +4,14,6 +50,34,4,14,5,6 +47,22,17,14,5 +25,22,7,14 +25,20,6 +9,13,25,17,14,6,42 +12,5 +2,3,4,5,6 +48,12,13,2,3,6,19 +24,6 +6 +6 +7,6 +6 +5,6 +22,6 +4,14,6 +20,3,6 +20,7,6 +7,5,6,30 +20,3 +7,5,6 +22,4,6 +31,20,11 +24,34,5,6 +41,17,14,5,6 +6 +31,7,6,28,42,43 +2,6,16 +14,6,30 +7 +20,6 +50,25,6 +25,5,18,23 +17,6 +38,26 +12,17,4,14,5,6,8 +14,6,29 +48,5 +20,5,6,23 +14,5 +26,14,6,11 +5,6,16 +4,5,6 +4,5,6 +20,7 +25,3,14,5,6 +22,4,5 +45,41,6,15,18,43 +7,6,15,10,49 +31,19 +5,6 +39,17,14,5,6 +20,14,6 +2 +3,6,28,8 +41,6 +4,5,6 +12,7,6,30,49 +17,4,6 +22,3,5,6 +13,6 +45,31,3,4,14,5,6 +40,7,3,6,28 +51,2,3,6,19 +5 +51,29 +5,6 +20,3,14,6 +4,6 +36,20,14,18 +17,14,6,18 +3,14,6,18 +5,28 +38,14,8 +4,14,46 +17,4,14,6 +27,25,17,6,19 +35,38,22,6,30 +13,2,14,5 +7,3,6 +45,3,6,28 +24,6,29 +3,6 +9,7,14,5,6 +27,5,6,18 +22,14,15,19,42,29,43 +0 +50,17,18,11 +31,14,5,42,23 +14,6 +38,5,21 +14,6,29 +6 +7,4,6 +14,42 +3,6,29 +2,25,17,4 +14,6 +9,22,5,19 +40,14,5,6,42 +6 +44,6 +13,22,4,5,6,19 +22,6 +32,2,22,5,6 +20,3 +5,6,23 +6 +22,6 +6 +20,4,5 +41,3,6 +14,5,6,42 +2,25,4,5,6 +25,22,4,6,42 +5 +25,3,6,29 +39,7,5,6,16 +3,5 +2,14,6 +5,6,15 +5,6,43 +5,6,8 +25,7,3,8 +17,6 +3,29 +4,5,21 +28 +13,7,4,5,6,30 +0 +0 +39,50,7 +9,36,20,14,18 +9,14,6 +33,6 +14,5,6,8 +50,3,6 +39,22,14,5,6 +26,3,5 +48,33,22,6 +38,17,4,6,15,30 +47,32,14,6,28,8 +25,7,6,21 +17,7,6 +40,32,14,5,11 +7,5,6,21 +28 +6,10 +3,4,14,6 +47,13,7,6 +20,4,6,10 +13,2,20,5 +7,29 +27,20 +22,3,10 +12,2,22,14,5 +14,6 +22,17,6 +19,42 +4,5 +4,5,6 +37,36,14,6 +22,3,14,5,6 +25,5,6,16,29 +5,6 +20 +14,6 +51,22,14,6,18 +31,14,5,6 +20,17,3,6 +5,6,28 +0 +14,5,6 +48,2,17,6 +12,6 +2,17,3,4,14,6 +32,20,22,6 +4,5,18 +27,14,6 +14 +44,20,6,10 +39,25 +7,5,6,42,29 +20,3,6,21,23,43 +3,6,8 +22,6 +6 +0 +5,6,30 +6 +33 +31,13,4,5,6 +2,5 +16 +7 +4,6 +7,3,5,6 +25,14,6,15 +14,6 +14,5 +0 +7,14,6 +25,3,6 +24,17,4,6,46 +17,14,5 +37,14,6,11 +4,28,19 +36,14,19 +9,35,7,5 +9,12,22,6 +45,37,26,25,3 +7,3 +22,3,6 +32,22,5,6,11,30 +6 +48,5 +51,31,2,6,42 +13,22,4,14,6,15,10,46 +6,21 +2,25,14,5,11 +12,13,2,5,43 +2,23,49 +50,22,4,6 +14,6,21 +33,12,5 +20 +6,16 +13,4,5,6 +18 +36,6,19 +25,3,5,6,28,15 +40,2,14,6,21 +26,20,7,6 +20,17,5,6,10 +17 +33,6,21 +14,5 +3,4,14,6 +51,12,5,21,29 +6,16 +2,22,5 +6,28,15 +31,4,6,42 +44,5,6 +9,34,7,5,6,8 +39,20,6 +4,6 +35,20,4,6 +6 +2,5,6,21 +14,6 +3,5,6 +6,16 +4,6 +17,6,28 +6 +22 +36,6 +7,14 +3,6 +3,5,6 +22,6,21 +36,2,25,4,6 +3,6 +9,6,16,46 +6 +26,3,14,10 +20,22,17,4,5,6,49 +38,2,14,6,16 +27 +6 +5,6 +12,22,4,5,28,16,46 +13,5 +5 +2,22 +5 +2,14,6 +20,7,5,6 +37,9,14 +7,6,28,23 +6,28 +20,14,6 +12,17,16,29 +44,6 +4,5,6 +7,6,16,43 +9,12,5 +20,14,43 +13,7,6,15 +20,14,6,21 +22,3,14,6,15 +5,6,43 +3 +12 +33,6,30 +5,11 +27,3,14,6 +4,6 +39,20,22,3,6 +5,15 +40,44,20,14,6,21,28 +5,6 +45,20,6 +0 +3,6 +4,6,15 +3,14,6,21 +6 +4 +37,6 +6,21,8 +9,17,7,4 +17,6 +4,5,6 +25,6 +38,3,5,6 +12,3,14,6 +6,11 +50,13,6,28,10 +4,28 +34,6 +45,3,6,21 +2,6,21,29 +17,14 +3,4,42 +48 +17,4 +44,4,6 +6 +14,5,6,23 +20,7,3,5,6 +13,3,18,23 +36,5,23 +7,14,6,46,30 +5 +9,6,49 +5,42 +41,6 +13,7,5,10,46 +49 +5,6 +12,13,3,6 +6 +13,3,14,6,28,23 +37,6 +6 +13,3,5,21 +36,10,8 +4,6 +25 +31,14,6 +3,4,14 +51,5,6,29 +51,25,4,14 +4,8 +2,14,5 +12,7,3,5,6 +7 +4,6 +6,21 +36,6 +33,26,4,6,21,46 +0 +2,3,6,15 +13 +5,43 +4,30 +31,38,7,4,6,15,29,43 +9,41,2,6,30 +35,22,3,5,6,10 +40,20,23 +31,6,15,16 +20,17,5,6 +3,6 +9 +17,4,6,29 +14,5,6,21 +40,4,5,6,21 +7,14,5,6 +36,17,6,42 +14,5 +6,8 +9,2,6,46 +6 +4,5,6 +6 +47,38,22,6 +27,13,20,5,6 +31,14,6,10 +22,3,4 +6,15,19 +48,2,4,5,42,30 +45,4,14 +22,5,16 +20,6,18 +14,16 +3,5,6,28 +44 +48,22,14,5,10,18 +3,4,5,6 +25,10 +17,49 +4,5 +20,6 +45,13,20,5,6 +16 +0 +6 +5,6 +12,20 +6 +38,5,6 +17,4,6 +13,6 +36,13,20,3,6 +6 +12,14 +5,6 +26,6 +35,25,20,5,6 +26,3,14,6 +6 +22,4,5 +2,20,7,6 +12,13,4,5,6 +20,46 +38,27,12,4,14,5 +12,22,4,6 +5,6,18 +20,5,6 +50,22,6 +3,6,49 +41,12,25,7,3,5,6,23 +7,3,14 +36,4,6 +27,44,6 +22,3,14,6 +20,3 +33,6,8,43 +14,6 +5,6 +17,6 +37,2,25,5,6 +13,3,4,10,29 +40,6,18,46 +44,14,6,18,8 +27,3,6 +9,3,4,5,6 +2,6,8 +13,6,19 +12,2,17,6 +0 +0 +7,14,6 +5,6,19,23 +44,2,7,3 +7 +6 +32,7,3,4 +6 +14,6 +5,49 +23,8 +33,4,6,28,23 +20 +4,14,5,6 +5 +4,5,6,19,10,42,29 +15,30 +13,6,46,30 +26,20,6,11 +6,21 +2,14,18,43 +25,4,10 +22,7,5 +41,7,6 +31,20 +40,4,14,6 +28,10 +12,14,5,6 +7,5,6,23 +22,3,18 +12,6 +13,4,14,6,19 +31,2,5,6,21 +6,8 +14 +2,10 +34,27,7,6,21 +26,13,3,5,18 +6,11 +34 +51,6 +4,6,10,29 +5 +14,5,6,21 +4,6 +4,5,11 +38,22,3,6 +33,2,20,22,6,10 +33,5,6,30 +17,14,6 +9,27,20,6,30 +36,25,14 +24,25,7,6,21,15,19 +5 +5 +12,5,6 +14 +4,14,5,6 +6 +14,6,16,30 +4,5,6,19 +3 +44,12,13,14 +50,6 +5,6 +6 +5,21,8 +2,3 +3,14,6,28 +5,6 +20,3,4,6 +7,6,15 +12,4,5,6 +13,6 +31,27,6 +25,22,6 +14,6 +30 +14,6,15,46 +13,6 +6 +39,9,2,28 +14,5,6,21,10 +9,3,6 +22,5,29 +26,12,22,5,6,16 +44,6 +3,4,5 +25,28 +20,4,6,49 +14,5,6,46 +3,15 +25,4 +0 +25,6 +14,6 +13,4,6 +3 +6,28 +22,5,6 +7,4,5,6,42 +31 +14 +5,6,10 +6,11 +25,4,5,6 +6,46 +24,27,13,6 +4,5,6,21,18 +6,23,11 +20,22,4,6 +37,12,20,6,29 +25,7,5,6,46,43 +45,50,40 +22,5 +7,6 +25,4,6,10,30 +17,4,5 +22,7,4,6 +22,6 +25,22,4,6 +5,6,16 +7,5,6 +48,14,6 +33,20,7,14,6,46 +6 +41,4,5 +27,13,3,5,29 +14,6,16 +37,47,38,5,21,49 +14 +24,13,7,6 +4,14,5,6 +5,6,19 +6 +6 +5,11 +5,46,11 +39,40,4,5,6 +16 +41,4,14,6,21,28 +14,6,18 +38,20,5,6 +36,7,16,46 +13 +20,14,5 +3,6 +26,12,5,21 +26,13,22,4,6,10 +6,29 +2,3,6,28 +3,19 +47,6 +25,7,4,14,15 +36,3,6,18 +2,5,6,21 +2,3,5,6 +13,17,14,6,23,30 +31,20,5 +37,22,16 +5,6 +36,5,6,42 +22,14,5,6 +5,6 +23 +14,5 +3,6,42 +12,7,6,23 +13,25,5,6 +41,17,7,6,42 +22,4,6 +25,3,4,5,10 +36,6 +31,25,5,6 +3,14,6,15 +5,6 +20,5 +14,6 +3,6 +5,6,23 +13,5,6 +2,22,6 +22,3,6,19 +22,6 +2 +31,13,3,49 +14,5,6,21 +37,2,5 +20,4,5,6,16 +25,3,5,16 +50,4,5 +39,35,25,22,17,7,6,16 +3,4,6,21,18 +6 +32,6 +22,5,6 +5,6,18 +7,6,10 +25,22,5,6 +17,5,6 +40,12,8,46 +4,5,6 +44,2,22,5,6 +10,42,23 +13,25,4,6,46,49 +32,6 +17,5,6,16 +17,6 +33,20,14,6,11 +6 +7,5,6,21 +14,6,16 +17,14,5,6 +0 +35,14,5,6 +22 +12,2,5,6,46 +14,5,16,49 +48,17,14,5,6,18 +5,6,28,19 +14,6,19,18 +14,16,30 +38,27,13,17,6,15,10 +5,6 +4,14,16 +24,14,5,29 +5,29 +6 +12,17,4,6 +3,6,16 +6,11 +4,14,30 +25,5,6 +25,3,6,15 +4,6,21,46 +24,17,6,28 +25,7,6,23,8 +2,14,5,6,19 +37,4,5 +49 +13,17,7,5,6 +48,17,5 +2,22,6 +14,5,6 +4 +30 +25,17,6 +40,14,6,10 +13,7 +22,3,6 +22,14,6,18 +24,2,14,6,8 +5,6,49 +13,17,7,5,6 +25 +5,6,15 +12,20,3,6 +20,7,6 +25,3,5,6 +13,5,6 +26,25,6 +4,14,28,10 +3 +26,7,14,5,6 +41,6 +45,14,6 +17,6,42,30 +41,7,3,6 +38,13,17,5,6 +51,14,5,6,42 +25,20,17,18 +7,6,29 +44,5,6 +31,5 +48,13,25 +6 +48,14,6,18 +31,4,6,10 +6 +25,3,14,15,16 +38,4,5,6 +14,5,6 +36 +12,2,7,18 +13,3,43 +4,5,18,30 +6,10 +3,6 +25,6 +14,6 +6 +17,4,6 +14,6 +5,6 +5,6,19 +6,10,29 +13,4,6 +37,12,14,5,6,28 +2,4,5,6,11 +50,7,5,6 +12,7,5,19 +0 +17,14 +6,15,10 +25,6 +6 +22,6,49 +20,22,6 +7,6 +14,6,21,28 +47,5,6,23 +5,6 +5,15 +5 +4,14,6,46,11 +20,22,5,6 +17,14,6,43 +7,5,19,49 +4,5,6 +34,13,5,6 +3,4,5,6,16 +45,3,5,6 +2,15 +31,5,6 +25 +14,5,6,18 +41,20,17,5 +0 +47,35,4,6 +35,41 +50 +7,6 +13,4,5,6,49 +13,5,6,10 +4,6 +17,6,19 +3,6 +33,7,4,6,21 +22,18,43 +14,6 +20,46 +20,14,6 +33,6 +51,45,14,5,6,21,10,8 +5,6 +9,22,6 +22,14,6 +44,3,6 +28,19 +4,14 +51,12,2,4,6,16 +13 +44,20,14,5,6 +7,42 +20,3,5,6 +7,14,6 +14,5,6 +35,6 +17,5,6 +6 +9,14,5 +4,14,6,18 +13,25,7,14,6 +44,14,5,6,19,16 +6,8,49 +5 +12,5,6,29 +14,5,6 +3,14,5,6 +44,7,3,5,6,19 +22,5,6 +20,6 +5,6,28 +5,6 +15 +38,13,6,15 +6 +5,6,43 +2,25,14 +34,3,14,5,6 +44,25,4,14,5,30 +27,3,18 +40,22,14,6 +36,14,5,6 +6 +5 +50,20,6 +6 +22,4,14 +41,6,15 +25,14,5 +38,25,6,16 +32,2,25,6,29,30 +6 +13,3,6,10 +4,5,6 +6 +50,17 +6 +5 +3,14,6 +2,7,6 +13,4,5,6 +20,14,6 +3 +3,6,28,42 +48,13,14,6 +25,6,23 +45,14,6,28 +34 +44,14,6,46 +22,4,14,6 +17,6,18 +47,4,5,6 +39,41,6,19 +6,49 +31,7,3,4,6,8 +14,6 +31,26,6 +48,3,14,6 +31,22,5,21 +7,3,4,5,6 +3,5,6 +6 +36,20,6,29 +22,5,6,10 +3 +37,4,6 +6 +45,2,22,10 +37,6 +4,14,6 +25,6,21,29 +3,14,5,6 +50,25,7 +27,5,6,10 +17,4,5,6 +22,6,42 +37 +6,10 +9,6,21 +25 +13,3,14,5,6,21,46 +3,5,6 +6 +36,27,20,3,4,5,21,30 +4,6,11 +44,2,5,6 +12,13,6,15 +3,14,10 +5 +9,14,6 +4,5,6,28 +14,10 +0 +38,33,17,3,14,6 +0 +6,10 +45,37,3,5,6 +9,36,33,5,6,28 +3,14 +4,5,6 +27,17,6 +12,6 +38,25,17,5,6,21,11,30 +14,6 +36,35,3,14,42 +5,6,23,8 +6 +32,20,14 +14,6 +37,32,13,6,46 +50,32,2,6,18 +22,4,18 +6 +25,7,3,28,19 +6 +2,25,7,6 +4,5,6 +51,5,6 +34,7,6,29 +9,14,5 +6 +5,16 +6 +20,28 +22,3,16 +47,9,7,5,6 +6,43 +25,7,4,14,15 +40,9,5,6 +5 +31,3,4,6,10 +5,11 +3,6,43 +4,14,6 +9,25,6 +20,4 +6 +20,6 +14,5,6,29,49 +6,10 +9,22,6,10,42 +31,6 +4,5,6 +6 +17 +51,13,17,7,5,6,30 +38,4,5 +7,6,21 +37,6 +22,17,11 +3,4,6 +34,3,6,28,42,18,30 +6 +7,6 +13,6,15 +4,6 +0 +13 +38,25,6,15 +38,4,14,6,28 +51,38,44,14,6 +5,6,21 +22,4,5,6 +7,18 +3,6 +14,49 +22,7,4,5,6,15,10 +4,6,49 +22,6,21,16 +20,7,4,5,6 +6 +41,7,14,8,43 +6,21 +5,6,19 +4,6 +25,4,6,19,23 +3,5 +3,6,21,30 +4,14,6 +14,15 +0 +5,6 +6,16 +7,14 +14,6 +17,14,19 +6,23 +13,4,5,6 +7,3,5,11,30 +44,14,5,21,29 +42,30 +6,43 +22,4,6 +5,6,29 +3,6 +14,5,21,28 +47,22 +2,22,17,6 +14,8 +20,7,5,6,19,16 +48,3,6 +3,5,6,21 +6 +4,14,6,10 +6 +25 +32,27,4,21,23 +3,4 +2,6 +27,3,4,6,43 +14,6 +31,13,5,6,30 +6 +14,5 +14,6,43 +22,14,6 +6 +5,6 +7 +7,6 +25,3,6 +13,4,14,6 +20,5,6 +22,7,3,6,19 +14,6 +13,6,42 +7,6 +22 +13,14,6,46,43 +13,4,14,5,6 +0 +5 +4,5,6,10,8 +25,4,5 +6 +5,6 +37,7,6 +12,3,4,6,29,11 +35,4,6,10 +25,29,30 +27,25,17,5,6 +22,17,3,4,6,10 +13,25,22,17,6,11 +13,3,6,49 +32,36,26,25,5,6 +22,14 +4,6 +14,6,18 +13,17,14 +3,6 +44,5,6,21 +50,25,7,5,6,8 +32,6,42 +47,12 +35,29 +14,5,6,10,16 +5,6 +6 +51,5,6 +48,20,4,5,15 +44,14,6 +37,14,5,6 +14,6 +14,5,6 +20,3,5 +6,8 +27,2,20,3,14,6,10 +17,7,5,6 +20,4,6,18 +25,14,6 +2 +20,22,17,4,14,6 +22,5,19 +33,5,6,21,42 +6 +6,19 +47 +6 +12,13,28 +25,6 +31,34,36,12,14,5,43 +34,7 +6 +4,5 +18 +14,6 +17,5,6,10 +2,17,3,4,6,43 +4,49 +7,3,5,6 +25,17,4,14,5 +4,5,6 +34,48,7,4,6,19 +3,4,14 +4,14,6,19 +17,5,6,23 +6 +17,6 +18 +7,6,28 +7,4,14,6,28,30 +5,42 +0 +7,4,14,6 +3,5,6 +2,17,6 +14,5,6 +32,2,14,5 +7,5,6 +4,6 +14,6 +13,5,6,8 +38 +2,7,3,6,21,19 +45,50,7,14,5 +2,5,6,23 +22,17,3,4,14,5,6,15 +5 +33,13,4,6 +40,47,5 +31,7,4,14,5,16 +25,4,14,5,6,42,43 +50,6 +3,4,5 +7 +3,5,6 +4,14,6 +4,6,21 +20,6 +7,3,6 +33 +12,4 +37,36,13,25,14,6 +3,6 +33,22,14,5 +12,2,6 +25,14,6 +6 +6,28 +27,6 +48,14,5,6 +12,5,6,21,10,11 +41,6,46 +22,6 +35,5,6 +26,3,14,6 +3,14,6 +31,5,6,15,8 +50,17,4,14,6 +7,5,6 +6,23 +13,14,5,6,21,11 +14,11 +23 +26,20,4,6,15 +26,4,5,18 +13,14,6,29 +12,14,6 +2,22,18,46 +22,6 +9,17,3,6,18 +0 +31,48,2,17,6 +4 +41,7 +6,21,15,18 +36,6 +9,14,6,43 +9,5,6,10,8 +4,14,6 +17,6,10 +3,5,6,15 +5,8 +41,25,6,28 +20,6 +47,3,14,6,19,42 +14,6 +25,14,6,46 +34,25,4,14,5,6 +2,7,3,5,6,15 +31,2,4,14,11 +6,21,8 +32,3,5 +50,14,5,6,42,11 +22,5,6 +4 +2,14,5,6 +27,48,4,6 +9,14,6 +50,5,6 +14,19 +33,6 +6 +13,20,6,10 +7 +17,5,29 +20,22,17,6 +0 +5 +2,14,6,23,46,29 +7,14,8 +5,6 +35,21 +35,17,5,6 +34,20,4,14,5 +8 +5,29 +17,6,10 +41,12,4 +17,7,5,15 +35,5,18,23 +26,2,14,5,15 +45,37,6 +35,17,4,6 +12,5 +17,4 +24,7,6,28,46 +14,5 +45,5,6 +14,6 +22,5,6 +22,5,30 +14,6 +14,5,6,42 +25,6 +14,6,16,30 +44,13,6 +0 +3,5,6,8 +50,3,6 +32,14 +20,6,10 +5,6,29 +10 +20,3,14,6 +38,22,6,15,10 +6,46 +6 +34,3,6 +24,3 +6,42 +35,14,5,6 +20,17,7,3,4,6,15,18 +13,2,17,4,16 +6 +35,22,6 +25,4,6,21,28 +6 +3,4,6 +4,14,6 +50,7,3,5,6,10 +40,2,22,4,6,28,10 +3,6 +26,4,6,19 +7,3,5,6 +3,5,6,46 +0 +0 +37,4,5,6 +35,41,6,42 +13,5,6 +13,2,6 +17,7,4,5,30 +22,19 +3,4,6,18 +38,33,5,30,49 +3,14,6 +13,6 +4,6,29 +44,25,6 +12,6 +4 +33,3,6,19,18,49 +34,41,4,6 +6,42 +51,40,14,5 +39,3,6,10 +33,20,5,6,46 +35,20,22,14,5,6,16 +6,21,10,42,18 +20,4,6,16,42 +6 +6,15,29 +0 +25,6 +2,3,28,42 +4,5,6,19 +7,14,5,49 +44,4,5,6 +17,6 +7,4,14,5,11 +31,22,21,23 +5,6,29 +25,20 +14,5,6,21 +9,25,3,4,5,21,15 +50,2,20,17,6,23 +51,13,6 +13,17,7,5,6 +4,5 +36,6 +12,2,6,29 +33,6 +48,25,20,4,6 +4,14,6 +48,16 +37,7 +20,17,6,21 +7,14,6,10 +17,5 +40,7,14 +4,6,19 +17,14,6,16 +22,7,3,6 +13,4,5,6 +4,5,6 +25,5,6 +44,6,29 +22,6 +4,6 +20,6 +6,21 +14 +22 +33,7,4,14,16 +31,6 +27,41,7,14,5,6,21 +14,6,19 +25,6 +5,6,21 +31,5,6 +7,14,15 +20,6 +38,5,6,30 +2,5 +7,14,5,6,16,18 +17,5,6 +14,5,6 +6,18,30 +17,5,6,46,49 +7,3,6 +20 +41,3,6 +12,25,7,6 +0 +20,6,49 +32,38,27,25,6 +48,6,28,19,11 +3,5,6 +25,6,23 +12,6,43 +6 +6 +14,5 +27 +51,3,5,6 +5,6 +47,20,3,5,6 +3,5,16 +7,6 +26 +17,6,29 +5,11 +6,46 +5,6,46 +27,5 +45,50,7,8 +4,6,21 +5,6,18 +20,14,6 +33,26,6 +27 +44,13,20,17,6,21 +48,4 +6,28,42 +12,16 +12,17,4,6 +44,13,5,6 +6,19 +31,12,25 +37,7,3,6,21 +13 +14,5 +3,14,6 +7,5,6,16 +14 +36,22,19 +50,12 +7,3,5,6,46 +25,5,6,16 +35 +35,6 +26,22,3,6 +37,6,15,8 +25,17,7,4,6 +12,20 +6 +37,3 +41,14,6,42 +5,49 +7,4,5 +6,19 +25,4,6 +5,6,29 +31,13,17,3,6,28 +12,4,14,6 +6,49 +48,17,7,6 +3,4,6,23 +20 +27,5,6 +3,4,5,6 +7,5,10 +4,5,6 +45,6,15 +47,4,6 +22,3,23 +24 +7,6,18 +50,37,7,5,18 +37,6,19 +7,6,30,43 +50,13,5,6,10 +51,37,4,14,5 +20,5,6 +17,7,6,15 +5,6 +5,6 +6 +6,21 +22,7,5,6 +25,6 +6 +22,6 +14,6 +6,21 +41,25,7,6 +19 +13,6 +0 +3,6 +14,6,15 +25,3,14,6 +13,6,21 +22,7,16 +38,14,6 +5,6,16 +17,5,6 +45,7,3,4,15,46 +5,6 +35,20,6 +6 +14,5 +48,4,14,6,49 +2,5,6 +22 +6 +3,14,6 +2,3,14,5,6,46 +35,22,7,4,5 +14,5,19 +17,6,8 +26,5,6 +12,6 +6,10,29 +47,7 +36,33,25,3,5 +22,17,6 +3,14,10 +35,20,3,46 +32,25,5,6,18 +7,5,6 +14 +7 +36,35,12,5,6 +36,22 +12,19 +27,22,5 +4,14,6 +51,41,44,20,4,14,5,6 +47,6,18 +47,6 +6 +5,6 +20,3 +34,22,6,15 +4,5,6 +48,7,3,14,5,6,18 +6 +6,16 +47,4,14,6 +31,20,7,14,5,6 +35,3,14,5,6 +22,6,8 +14,5,6,19 +5,10,11 +12,3,14,6 +25,5,6,16,49 +18,29 +4,5,6 +17,6 +22,6 +2,5,6,18,30 +12,22,3,14,6 +36,25,6 +39,4 +12,22,3,14,6,18 +44,26,4,6 +37,25,17,6 +37,5,6,21 +6 +14,15,19,42 +38,14,5,6,18 +14 +25,6 +22,3,6,28 +20 +40,6 +41,17,6,21 +4,19 +40,27,7,28 +14,6 +34,25,5 +5 +38,14,6 +44,25,4,5 +17,4,6 +41,12,6,19 +22,6,49 +37,20,14,6 +27,17,3,18 +22,5 +41,6,42 +20,17,7,4,14,8 +38,6 +47,22,3,4,6 +12,3,4,6,8,30 +5,6,8 +13,6,15 +20,17,5 +51,4,6,15 +51,24,27,41,6 +3,6 +34,3 +2,14,23 +7,6,15 +22,6,42,29 +12,13,5,6,15,18 +36,4,6 +14,6 +20,17,5,6,46 +34,12,3,6,16 +5,19 +17,5,6,10 +5,6 +51,13,22,17,7,14,6 +6 +6 +35,22,3,5,6,21 +7,6,21,42 +27,20,10 +27,3,4,5,6 +40,5,6 +14,5 +22,14,5,6 +47,7,4,6 +27,20,3,6 +14,5,6,16 +51,2,4,5 +20,6 +7,14,6 +12,4,14,5,6 +7,14,6,28 +20,22,4,14,6,16 +22,15 +41,5,6 +37,25,3,6,29 +3,6,21 +40,7,6 +51,14,5,6 +3,14,5,6 +32,5 +25,6 +27,20,3,5,6,19,49 +4,6 +17,6 +2,6,19,10 +13,4,6,21,18 +3,6 +44,3,6 +0 +3,5,46 +20,5,8 +24,17,7,3,5,6 +48,4,6 +14,6,15,16 +14,5,6,18 +4 +22,14 +14,6 +14,5,6 +20,3,6 +0 +14 +5 +3,4,14,5,6,16 +2,6 +20,17,14,6 +6 +39,50,3,5,6,16 +13,4,28 +2,5 +4,6 +34,14,6 +20,14,6 +24,7,4,5 +45,32,13,4,6 +12,4,14,29 +3,14,5,30 +14,5,23 +25,6,21,19 +6 +32,3,4,5,6,8 +6 +14,6 +5,6 +14,6,30 +25,5,6 +33,13,7,4,6,8 +20,5,6,28 +5,6 +32,17,14,5,6,30 +4,6 +2,17,14,5,6 +5,6,29 +5,28 +13,5,6,43 +25,14,5 +4,5 +12,6 +20 +6,18 +12,14 +4,5,6 +27,4,6,29 +20,3,6 +39,12,14,6 +14,5,6,16,46 +40,13,7,4,5,11 +6 +6,16,11 +24,14,28 +20,3,4,6,21 +36,4,5,6,10 +5,6,23 +7,6,28,15 +25,6 +20,4,14,6,10 +13,5,6 +39,12,6 +45,7,4,6 +45,20,6 +6 +5 +2,17,4,6 +22,7,14,5,6,46 +3,6,19,16,42 +41,3 +7,6 +17,7,3,6 +25,22,4,28 +38,6,15 +7,28,49 +25,7,5,6 +2,22,7,4,5,6 +17,5,6 +0 +22,14,6,19 +13,3 +33,13,3,6 +36,20,4,5,11 +22,6 +3 +7,14 +7,28 +48,4 +20,22,7,14,19 +22,3,14,6 +9,36,4,6,8 +25,22,6,11 +17,4,5,6,16,42 +3,14 +12,4,5,6,21 +39,4,14,23 +2,5,6,28 +36,35,20,7,14 +51,38,14,6 +36,6 +20,3 +22,5 +36,6,11 +5 +7,5,6,10,16,46 +12,25,14,5,6,15 +26,25,6,18 +38,4,11 +35,12,22 +6,16,49 +39,5,6,19 +2,20,3,6,49 +7,3,14,23 +14,8 +40,36,7,5,6 +27,5,6 +17,4,6,15,19 +7,3,5,6 +44,25,7,3,14,5,6 +25,22,4,5,6 +33,13,7,4,14,5,6,28,10 +24,5,6,15,16 +44,17,14,6 +7,5,6 +34,3,5,6,10 +25,5,6,29 +5,6 +44,5,6 +41,21,8,30 +39,9,6,15 +21 +7,5 +32,14,6 +4,6,30 +25,7,3,6,21,42 +47,32,6 +38,17,7,5,28 +20,6 +14,6 +3,5,6,30 +50,40,14,5 +13,5,21,43 +32,6 +12,5,6 +31 +33,3,30 +22,5,6 +5,6 +3,14,6 +51,12,28 +0 +14,5,15,11 +7,6,28 +6,46 +5,6 +2,22,17,4,6 +22,6,42 +17,14,6 +26,12,17,3,6,46 +2,20,7,4,6,21 +6,42 +3,4,5,6 +25,14,6,21 +22,3,6,43 +6 +17,7,4,14,6 +7,6 +14,6 +48,4,14,6 +0 +3,5,6 +36,7,6,19 +28,23 +46 +9,14,6 +32,35,3,5,6 +31,4,5,6,23 +12,7,6,21,29 +41,17,14,6 +36,13 +20,5,6,16 +3,4,5,10,16,43 +25,3,4 +22,17,14,5,6,8 +14,5,43 +6,16,42 +32,3,6 +26,25 +35,14,6,16 +15 +5,6 +25,5,6 +14,6,15 +6 +9,7,14,6 +2,7,6,21,46 +24,25,17,6,43 +14,5,6,46 +33,7,5,6,28 +20,49 +20,14,11 +2,20,14,6 +6 +35,14,6 +0 +32,20,6,28,15 +5 +6 +4 +25,17,14,6 +13,3,6,10 +22,5,8,46 +20,17,3,6,21 +7,28,49 +5,6,42 +25,20,10 +51,17,4,14,5,6,21 +25 +47,33,22,7,6 +5 +27,5,6,42,8,43 +14 +7,3,6 +24,47,9,6 +45,25,22,4,5 +34,4,6 +12,3 +20 +36 +22,6,11 +50,7,5,6,30 +22,14 +14 +25,6 +4,14,5,6,42 +2,6 +5,6 +3,4,14,6 +2,20,14 +40,26 +20 +25,22,6,19 +20,22,4,6 +17,5,6,15 +20,6,16,46 +6,15 +5,6,15 +38,6 +5,6 +34,36,22,14,6 +24,35,13,7,14,5,6,49 +36,3,6 +22,6 +6 +5,15 +48,14,5,6,28,16 +20,4 +7,6,18 +7,6,16 +35 +32,41,6 +5,6,18 +3,6 +6,23 +40,7,5,6 +7,3,5 +5,6 +6,49 +5,6,15 +25,4,6,21 +40,4,6,21,11 +13,3,14,5 +37,2,4,23 +27,17,5,6,43 +45,47,41,22,4,14,6,28 +50,14,6,19 +0 +20,5,6 +33,4,14,6,16,11 +39,3,5,6 +14,5,6 +14 +14,6 +22,17,5,6,29 +38,7,15,16 +7,5,6 +4,28 +25,5,6,21,28 +6 +34,6 +31,5,6 +12,17,5,6,23 +25,20,6 +44,22,14,6 +27,22,17,5,6,15 +51,5,6 +2 +41,5,6 +6,10 +24,31,2,25,3,5,6 +13,2,17,4,14,6,42 +20,3,14,5,8 +2,7,14 +5,6 +39,35,2,3,4,14,5,6,18 +6,42 +7,6 +4 +5,6,15,18 +12,2,6,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +7,5 +26,6 +14,5,6,42 +37,44,7,4,6 +47,33,6,28 +12,28 +51,22,17,5 +9,25,6,21,8,29 +22,4,6 +6,8 +5,6 +14,6 +41,13,5,6 +39,51,24,22 +31,25,17,14,6,42 +6,19 +35,14,6 +38,14,6 +12,14,6 +25,20,3,14,5,6 +48,5,6,28 +4,6,15 +51,12,4,46 +51,2,20,17,3,5,6 +26,5,6,28 +3,5,6 +6,29 +4,6 +41,4,14 +50,7,4,14,6 +6 +47,17,6 +25,20,14,5,6,21,8 +33,26,14,5,6 +17,6,28,16,29 +3,5,6,16 +44,3,8 +48,25 +6,28 +38,13,3,6,49 +0 +0 +4,5,6 +12,6,19 +7,6 +36,2,7,5,6 +7,14,5,6,21 +4,14,6 +17,6,42 +26 +39,13,14,5 +32,34,7,5,6 +2,5,6 +37,6 +41,3,14 +17,5 +3,14,16 +4,14,5 +17,5 +6 +24,22,6,16 +5 +20,3,14,29 +3,5,6,10 +13,14,18 +4,14,16,43 +33,7,43 +22,5 +5,6 +36,41,12,13,20,6 +22,6 +24,17,6,28 +0 +2,4,5 +20,6,43 +6 +14,6,10 +5,46 +32,38,4,6 +32,35,4,6,28,8 +20,14,6,19 +7,15 +7,6 +2,5,6,16 +17,6,42 +25,4,6 +4,6 +3,4,5,6 +7,5,6,21,19 +25,4,6,49 +31,7,30,49 +14,5 +37,48,12,14,6,28 +14,29 +32,14,6 +3,14 +6 +14,5,6 +25,7,6 +5 +5,23,11 +22,14,5,6 +0 +34,6 +24,20,6,19 +3,4,14,6 +51,7,6 +9,12,25,17,4,5,6 +22,17,14,19,18 +44,5 +25,6 +12,14,5,6 +12,3,5,6 +17,5,6 +47,12,13,3,5,6 +24 +22,6,15,46 +50,5 +20,6,46 +17,6 +12,25,14,6,19 +5,46 +6,19 +3,6 +6 +17,3,6,21,49 +12,5,6,28 +38,3 +6 +25,14,6,21 +14,5,6 +2,14,23 +3,5 +5,6 +17,6 +6 +7,6 +13,20,22,4,5 +32,3,6 +41,3,4,14,5,6 +2,16,42 +17,6,29 +48,14,6,21 +3,5 +2,14,6 +40,29 +5,6,30 +5 +39,31,38,49 +2,3 +31,20,17,7,14 +31,20,14,10 +6 +17 +47,14,5,6 +3,14,5 +13,6,15 +35,5,6 +13,20,4,6 +36,17,7,14,5,6 +5,6,19 +31,6 +14,5,6 +17,7,4 +2,14,5,6 +20,4,5,6,18 +19,42 +47,22,6 +3,6,42 +7,3,14,5,6 +32,14,6,15 +41,6,23 +14,6 +48,41,17,5,6,21,28,16 +44,13,20,5,6 +20,3,6,16 +13,14,6,28 +14,5,6 +2,25,17 +6,18 +9,6 +31,20,17,14,5,6,30 +4,6 +22,4,14,5,28,46 +25,17,14,6 +31,47,22,5 +44,7,4,5,6,46 +27,14,5 +3,16,42 +36,44,13,2,22,5,6,23 +3,4 +12,6 +39,3,6 +0 +6 +2,7,14,5,30 +6,16 +37,48,2,17,6 +13,25,4,5,6,42 +4,46 +2,22,17 +3,4,14,5,6,16 +21 +27,4,5,6 +5 +44,5,6,46 +6 +20,7,4,6,16,18,46 +2,3,4 +2,4,6 +2,14,5,6,11 +7,14,5,6 +4,6,28,11 +5,6,21 +13,20,17,5,6,21 +7,4,5,6 +6 +24,12,14 +7,14,5,28 +17,7,5,6,16 +6,30 +26 +36,20,5 +3 +35,25,20,3,5,6,19 +4,5,6,19 +36,17 +36,13,20,5,6,23 +3,4,5,6 +0 +25,4,5,23 +41,17,3,6,21 +38,22,17,7 +5,6 +34,25,4,14,6 +44,2,14,5,6 +6 +2,14,5,6 +7,5,19 +14,6,16 +6 +13,5 +2,20,16 +12,20,22,5,6,18 +38 +36,5,21 +38,25,14,6 +17,14,5,6 +0 +51,6,30 +25,14,6 +17 +3,14,5 +34,14,6 +3,6,42,8 +2,5 +40,5,6,30 +4,14,6 +39,7,3,5,6 +7,6,42 +17,6 +20,22,3,4,14,6 +47,9,3,5,6 +41,13,22,5 +23 +14,5,6 +35,17,6 +32,14,6,21,19 +48,22,17,5,6 +26,25,7,6 +2,6,49 +48,22,14,5,6,8 +22,14,6,28,15,18 +22,7,5,6 +14,29 +4,5,6 +13,6,10 +4 +5,6,21 +24,6,21,16 +4,28 +5 +5,6 +6 +20,22,17,14,6,42 +0 +40,4,6 +12,20,4,5,6,42 +37,14,5,6 +5 +12 +6,16 +6,15 +44 +5,6 +7,5,6,11 +2,22,14,42 +44,6,15,8 +14,5,49 +2,14,6 +20,14,49 +32,13,7,4,6 +2,20 +5 +50 +2,3,4,6 +44,4,6,18 +31,13,22 +3,4,6 +7,14,6 +17,5 +14,6 +14,6 +4,6 +5 +25,5,6,15,42 +5,30 +35,5,6 +3,5 +6 +50,4,6 +2,7,4,14,6,28 +27,14,6 +27,25,20,6 +22,17,14,6 +22,7,6 +3,6,21 +51,4,14,6 +38,3,5 +6,19 +2,25,6,42 +29 +6,18,11 +5,6,16 +2,25,20,5,42,30 +44 +20,6,28,42 +41,14 +40,44,14,5,6 +14,6 +5,6 +4,6 +7,6 +20,4 +9,14 +22,14,5,6,19,10,29 +3,11 +47,14,5,6 +2,20,3,5,6 +13,17,5,10 +23 +5,19 +0 +5,6,28,15 +12,25,17,14,6,42,29 +17,7 +3,6 +33,6,49 +25,7,3,4,6,21,42 +25,4,16 +20,14,6,8 +50,5,6,21 +12,3,4,6 +0 +3,14,6 +6 +40,14,5,6 +41 +7,6 +9,22,14,5,11 +6 +44,6 +12,20,5,10 +6 +14 +7,6 +44,20,5,6 +3,5,6 +25,7,6,46 +3,6 +3,5,6,16 +47,12 +33,22,6 +5,6,28,10,8,11 +12,6,10 +6 +31,48,25,20,6 +20,6 +5,18 +14,5 +4,5 +25,5 +5,6,15 +35,25,17,4,14,6,30 +6,10,23 +12,2 +14,6 +22,6 +2,17,14,5,6 +2,7,5,6,43 +40,13,6 +8 +14 +4,5 +3,14,6,28 +37,14,6 +20,22,6,21,8 +20,5,6 +32,25,20,5 +22,3,14 +35,7,3,6,8,29 +17,6,18 +22 +6,46 +4,14,6,11 +32,20,14,6,29 +37,25,3,6 +5,8,30 +14,5,6 +48,5,6,18 +51,33,2,3,5,6 +2,6 +0 +17,6 +14,6 +13,25,14,5,6 +13,7,5,6,29,30,49 +17,5,6,15 +4,15,46 +12,4 +5,6 +20,6 +35,14,5,6,30 +5,18 +12,7,6 +44,6 +17,7,6 +3,5 +26,12,16 +17,8 +6 +25,3,14,5,6 +40,2,6,42,29 +37,7,6,21,46 +26,5,6 +27,17 +35,20,5,6 +17,3,5,6 +25,4,14,5 +27,3,21,43 +40,20,5,6 +51,24,6,11 +22,5,28,15,18,30 +51,34,17 +44,5 +34,35,2,5 +3,4,6 +37,7,28,11 +22,14,5,6,28 +3,19 +24,14,6 +6 +0 +35,14,6 +5,16 +51,44,3,11 +4,5,6,8 +12,5,6 +5,6 +18,23 +27,6 +22 +39,7,3,21,49 +5,6 +9,13,5 +3,5,6,30 +31,5,6 +37,6 +9,12,25,20,5,6,28 +5,6 +17,5 +26,4,6 +2,7,6,8 +24,6 +5,6,10,42,46 +22,6 +3,5,6 +9,14,6,15 +13,4 +22,5,6,8,46 +35,5,6 +7,5,6,23 +13,6 +6,23 +7,4,14,5,18 +20,5 +21 +14,5 +0 +45,2,3,6 +12,2,17,6 +34,25,3,4,6 +3,6 +17,4,14,6 +6 +14,6 +0 +5,6 +13,14,6 +31,17,6,21,23 +6,18 +3,11 +3,14,5 +32,25,5 +44,22,14,6,8 +17,3,6 +7,6 +37,47,4,6 +12,3 +14,5,6,19 +12,5,6 +6,21,11,30 +12,22,4,6,29 +22,4 +9,20,22,5,6,21,46 +6,30 +35,20,5,6,19 +6 +5,6 +24,40,14 +4,14,5,6 +41,7,5,6 +45,14 +41,17,6,19 +34,33,21,19 +51,35,25,4,14,5,6 +35,20,29 +20,3,4,6 +9,10 +25,6 +14 +9,4,6,16,8 +12,14,6 +48,20,5 +44 +14,6,46 +9,4,6 +4,5 +7,14,6 +25,5,6,46 +3,14,6 +2,5,6 +42 +26,5,6 +34,2,17,6 +6,42 +22,3,14,42,29 +7,4,5,6 +25,5,6,21 +26,17,3,23 +7,5,6 +31,25 +13,6 +2,5,6 +12,6 +7,3 +34,6,21 +34,17,5,6 +41,13,14,6 +7,14,6 +6 +27,25,22,17,3,14,6,8 +6,49 +27,2,6,21 +22,7,14,18 +13 +24,12,6,16,43 +2,25,5 +33,14,5,6,43 +5,6 +5,6 +14,5,6,16,18,8,46,11 +21 +48,26,4,6 +47,17,7,3,4,5,6 +13,22,14,8 +25,22,17,6 +22,6 +7,6,28,11 +3,10 +14,6 +3,5,6 +26,12,6 +5,6,28 +36,33,14,6 +2,5,28 +5,6 +22,6 +6 +5,29 +26,5,6,10 +26,22,5,6 +47,7,5,6,16,46 +3,6 +6,15 +17,14,6,21,16 +4,5,6,46 +22,6 +6 +25,20,4,5,6,19 +0 +20,6 +44 +2,17,6 +20,4,6,28 +13,17,14 +12,17,5,6,42,18 +12,7,4,6,11 +26 +5,23,49 +25,6 +7,14,6,42 +5,6 +40,9,41,25,3,14,5,6,18 +5,19 +13,5,6,10 +38,17,7,4,14,6,49 +7,3,4,6 +22,4,28 +12,13,4,6,19,46 +6,46,49 +6 +37,12,2,5,6,43 +0 +3,5,6 +32,6 +50,3 +4,5,42 +39,35,4,5 +6 +51,4,15,29,49 +17,5,6 +12,13,7 +40,22,5,6 +25,22,4,14,6 +6 +27,5,28,29 +7,16 +48,7,4,14,6,18 +40,4,5,6 +13,4,5,6,49 +36,6 +35,17,19 +4 +48,13,14,5,6,49 +3,5,6 +7,4,5 +24,3,5 +27,6 +5,6 +17,14,6,8 +31,5,6,10 +4,6 +32,44,4,14,5,6,21,23 +41,17,6 +35,26 +7,5,6 +14 +4,5,18 +31,34,13,5 +20,14,6,21 +6 +14,6 +6,18 +3,14 +7,3,5,6 +6 +14,5,6 +28,43 +41,6 +14,6 +17,4,6 +6 +22,4,5,6 +14,5,6 +4,6 +0 +7,6,46 +36,20,7,6 +13,4,14,6,21 +4,14 +6 +21 +5,29 +13,2,19 +2,5,6,21,8,46 +12,3,6 +25,5,6,15,49 +35,7,29 +12 +31,6 +6 +25,30 +6,18 +47,32,28 +20,17,5 +6 +36,13,4,21,29 +17,29 +5 +7,5,6 +48,14,43 +25,5 +44,14,10 +27,12,6,18 +22,7,6 +6 +12,21,46 +12,22,17,14,6,29 +14,6 +4,14,6,19 +3,5 +39,23 +35,20,10 +0 +2,7,14,6,11 +24,13,6 +41,6 +7,5,6,28 +25,6,46 +7,4,5 +40,6,16 +22,4,14,5,19,49 +14,6,42,49 +12,4,6 +5,28,8 +25,6,19 +13,6,15 +5,42,23,30 +3,5,6,15 +6,19 +12,17 +20,7,6 +13,22,4,46 +47,6 +5,6 +20,3,5,6 +5,6 +5,6 +39,14,6 +17,5,28 +5 +20,6 +4,6,28 +38,6,19 +26,20,6 +33,28,19,11 +6,28 +25,6 +14,6,10 +25,14,5,6,16 +46 +17,14,5,6 +31,3,6 +17,14,6,21,15 +20,3 +34,12,14 +5,6,15 +14 +22,4,14,19 +12,6 +22,4,5,6,28 +24,4,5,6 +27,48,5,6 +41,2,7,6 +25,6,15 +45,47,6 +5,6 +22,17,4,6 +20,17,14 +2,17,3,5,21 +36,20,5,6 +37,4,14,6,21,15 +45,2,4,5 +3,5,6 +17,3,5,6 +48,14,6 +31,5,6 +6 +36,5 +6,42 +7,5,6 +2,6 +6,28 +6,43 +5 +7,4,14,6,18 +6 +31,5,6 +6 +38,6,21 +42 +33,12,3,5,6,19 +7,4,6 +9,35,22,6 +20,6,21,29 +4,14,6 +5,6,10,43 +12,7,4,5,6,28 +6 +6 +22,3 +7,4 +13,10 +3,6 +34,14,6,16 +48,25,5,6,42 +22,7,3,5 +7,3,4,5,6 +50,7,14,6,43 +38,7,14,5,6,49 +6 +22,5,6,30 +41,7,5,21 +14,6,42 +3,4,5 +44,25,20,4,6 +13,14,6 +6,23 +7 +22,4,14 +2,4 +17,7,6 +13,14,6 +17,5,6,46 +5,6,42 +38,4,6 +26,42 +5,28 +22,14,5,6 +50,21 +7,42 +51,5,10,42,8 +25,6 +5,6,28 +24,4,6,28 +14,6,21,11 +45,6 +4,6 +25,17,6 +2,6 +38,4,14 +39,5,6,10,16 +6 +3,49 +17,5,6,42 +22,6 +4 +20,3,5,6,42 +4 +20,5,6,15 +17,7,4,5,10 +17,6 +27,5,19 +24,7,3,5,29 +2,4,6 +12,5,11 +3,6 +0 +20,3,4,6 +2,14,6,28,18,8 +20,14,6 +41,5,6,28 +25,4,19,18 +12,20,3,5,6 +50,3,5,6,42,43 +17,6 +20,17,7,4 +6 +5,6 +2 +5,10 +6 +14 +20,6 +6 +2,14,5 +14,5,6 +14,6,42,46 +39,7,4,6 +3,14,42 +38,22,7,19 +48,44,3,6 +5,6,42,29 +41,6 +3,14,6 +5,6,15 +37,13,6 +22,3,4 +45,14,5,6 +2,6 +38,5,6,23 +2,6 +50,17,5,28 +17,5,6,29,43 +9,5,6 +27,22,4,5,6 +4,6 +20,22,5,6 +45,4,5,6,10 +7,4 +41,5 +38,6,15,10 +13,22,7,3,6 +39,12,22,3,6 +9,19 +13,14,5,6 +14,6,42 +12,14,6 +17,14,5,6 +20,7,5,6,15 +33,2,5,28 +47,6,21 +6 +4,5,6,42 +7,4,6,30 +6,10 +22,5,6,49 +31,17,7 +39,14,6,42 +50,14 +8 +2,3,5,6 +4,6 +39,17 +5,46 +6 +34,25,7,4,6,28 +33,3,5 +48,4,14,5,11 +6 +5,6 +5,6,49 +41,7,3,14,5,6 +6,30 +4,6 +40,41,12,22,5,6 +20,14,6,49 +14,5 +22,7,6 +48,2,17,4,5 +31,6 +17,5,11 +14,6 +14,6 +17,6 +5 +48,2,20,6,18 +25,5,6 +24,9,6,21 +3,5,6 +6 +48,14,5,6,46 +51,41,6 +20,14,6 +34,5 +14,6,16 +48,44,22,5,6 +3,6,19,16,29 +48,6 +51,14,5,6 +47,27,2,5,19,23 +0 +6 +6,21,46 +9,5,6 +6,18 +14,5,6,19 +12,5,6 +4,5,6 +17,7,5,8,11 +26,17,4 +37,17 +5 +24,34,5,6 +32,6,18 +44,22,14,6 +23 +14,6,10,23 +2,14,6 +35,6,10 +6,8 +39,45,12,3,6 +26,6,16 +44,4,14 +3,5,6 +6 +39,5 +13,3 +41,20,14,6,21 +25,3,16 +31,16 +32,17 +27,22,4,10 +6,15 +6 +13,20,22,5,6,18 +33,22,5 +20,22,5,6 +6 +45,48,7,5,6 +22,14,6,28,49 +3,14,6 +33,13,5,6 +44 +13,6 +22,17,4 +13,14,6,19 +35,22,14,5 +24,4,28 +6 +13,5,6 +6 +35,22,6 +3,6 +41,12,20,28 +3,14,5,6,46 +4,5 +36,2 +14 +33,7,14,6,21 +36,22,5,6 +35,44,13,22,6,21,28 +40,3,6,16,29 +22,4,6 +17,14 +38,22,6,19,29 +12,20,4,5,6 +38,13,7,4,5,6,30 +5,6 +37,44,3 +22,4,5,10 +6,8 +3,14 +0 +14,5 +26,17,6 +6,23 +17,5,6,19,16 +4,5,6,21 +31,9,17,7,6 +47,27,7,4,5,6 +5,6 +3,6 +27,41,6,16 +36,6,28,15 +22,6,15 +17,7,14,5 +31,12,17,4,5,6 +2,4,8 +6,21 +3,14,5,6,42 +17,14,6 +25,22,4,14,6 +40,7,10 +14,5 +41,5,6 +2,4,5,6 +31,6,16 +6 +17,5,6 +31,6 +22,8 +17,5,6,28 +51,14,5,6,18 +20,14,5,6,18 +6,16 +6 +6 +21 +5,6 +2,17,5,6 +7,6 +4,6,15 +14,5,29 +2,17,4,5,6,15 +25,20,22,6 +6,11 +36,2 +38,12,20,5,6 +17,3,6,19,16 +9,27,20,4,14,6 +37,7,14,6,21 +14,6,21 +7,6 +2,22 +36,7,6,46 +27,4,14 +20,6,16 +51,6 +6 +7,6,49 +7,5,6,49 +51,20,3,14,5,6 +13,14,6,30 +20,14,5,6,30 +31,5 +14,5,6,42 +5,6,11 +17,4,6 +7,4,5,6 +14 +14,5,30 +13,6 +17,4,21,46 +40,35,7,5,6,16 +5,6 +6 +45,31,44,6,46 +14,5,19 +5,10 +6,18 +6 +4 +9,35,25,22,17,6 +6,19 +20,3 +2,23 +3,14,6 +20,22,5,6 +47,4,5 +6 +50,22,6,18 +17,6,11 +20,3,10 +37,6 +24,14,6 +40,47,25,20,19,43 +45,25,3 +25,6 +2,20,3,5,6,15,46 +14,6 +12,25,4,5,6 +20,17,6 +14 +12,4,5,6 +13,2,7,28 +17,6 +20,6 +7,6 +44,4,14,5,6,46 +33,6,16 +6,23 +0 +0 +9,17,14,6,28,30 +4,6,29 +47,34,48,2,43 +0 +25,6 +2,7,6,21 +24,40,5,28 +14,6 +7,5,6 +2,4,5,6,16 +50,20,14,5 +6 +5,6,21 +4,14,5 +0 +14,6,15 +4,5,6,19 +17,5 +14,21 +0 +26,7,4,6 +0 +3,6,8 +51,26,20,6 +20,7,14,5 +26,3,5,6,21 +6,15,42,49 +5,6 +20,17,6 +5,6 +37,13,20,4,14,16 +47 +22,6,42,23,49 +32,5 +13,22,17,5 +5,6,21 +20,22,14,6,28 +51,17,7,3,6 +7,4,5,6 +2,3,5,6,43 +3,6 +37,7,5,6 +32,15 +50,6 +2,3,21 +5,6 +4,6,15 +22,5,6 +14,6,29 +14,5,6 +3,6 +45,20,5,6 +4,6 +39,41,17,6,8 +12,6,23 +4,6,10 +39,22,17 +6 +3,5,6 +34,38,17,23 +36,3 +35,13,25,4,14,5,6,19 +7,14,6,18 +9,27,25,7,5 +13,5 +33 +40,4 +6,23 +17,21,42 +20 +33,25,5,6 +39,2,20,3 +5,6,16 +14 +17,7,5,21,29 +32,7,6,21 +7,14,5,6,21,15 +6 +25,14,6 +32,5,6 +12,6,21 +12,17,4,5,6,46 +38,20 +18 +37,14,5,6 +41,6 +45,35,2,19,29 +6 +3,14,5,6 +20,17,5,6 +44,3,6 +13,3,6 +4,14 +50,12,7,6,42 +34,36,6,19,43 +20,6 +35,3,6 +25,6,21,28,15 +4,14,5 +12,7,14,6 +41,20,3,6 +6 +6,19,11 +38,5,6 +20,17,14,18 +41,5,6 +14,6,42,18 +2,20 +26,5,8,11 +13,25,6 +14,6,43 +24,6 +6 +13,5,6 +50,5 +13,3,14 +14,6,21 +5,6 +2,17,7,10 +39,51 +3,4,14,6,42 +34,5,6 +7,14,6 +37,20,17 +22,4 +22,14,5,6,11 +13,6 +25,6 +7,5,6,10 +5,6 +26,25,6 +25,14,6,46 +14,6 +4,14 +22,6 +20,22,14,6,28 +7,3,6,10 +24,14,42 +13,5,6 +14,6,42 +13,6 +32,14,6 +14,5,6,42 +47,17,3,6,28,42 +6,10 +12,25,3,28,16 +13,7,4,14,6 +3,14,6,49 +24,5,6,18 +5,6,10 +47,7,6 +48,22,6 +20,6 +25,22,17,4,6 +39,33,22,6 +14,5,6,11,30 +5,6,21 +3,23 +0 +0 +6,21 +24,2,4,14,6,10 +3,6 +2,22,14,29 +48,12,22,42 +33,20,6 +36,22,5 +17,7,4,5,6,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +31,17,3,21 +3 +25,3,6 +13,6 +14,11 +34,41,17,6,42 +6 +13,5,6,16 +34,20,28 +2,17,7,6 +36,20,5,6 +20,14,6 +9,4,6 +0 +12,6 +39,31,47,3,5 +34,5,6,16,23 +17,5,6 +14,6,21,42,18 +13,6 +3,4,6,43 +35,14,5,6,21 +12,5,6 +4,5 +12,3,5,6 +45,11 +17 +17,5,6,15,19 +5,6,28 +47,2,25,6,19 +5,6 +51,48,6 +17,5,8 +38,6,49 +12,5,6,23 +45,4,5,6 +4,5,6,28,29 +6,29 +2,7 +36,3,5,21 +38,12,25,17,7,21 +6 +6 +31,17,19,42 +22,5,6 +36,7,6,19,42 +14,5,6 +6 +38,7,3,6,46 +17,5,43 +14,6,21,28 +48,6,21,11 +47,5,23 +40,22,8 +20,6,16,42 +12,13,14,5,6 +5,6 +5,6 +50,32,4,5,6 +44,26,20,5,6,15,23 +20,14,6,28 +9,4 +33 +12,13,17,7,6,28,42 +0 +13,5,6 +22,3,4,5,6 +28 +51,6,15 +32,12,25,14,15,11 +3,4,5,6 +33 +44,6 +24,26,6 +38,5,6 +6 +51,6 +12,3,6 +5,6,21,42 +20,3,6 +17,5 +22,7,5,6 +7,4,6 +47,38,6,16,30 +6,18 +12,7,4,6 +22,6,19 +48,2,14 +3,6 +7,3,4,14,6,21 +17,4,5,6 +17,6 +14,5,6 +6 +3 +7,3,14,6,19,18 +31,22,17 +0 +4,6,19 +12,4,6 +4,5,6 +5,6 +0 +3,6,23 +2,7,6 +39,14,6 +48,17,3,4,42 +14,6,19,29 +48,3,5,6,46 +44,12,13,22 +20 +3,4,5,6 +38 +33,20,6 +2,6 +4 +3,6 +17,14 +14,6 +5,6,21 +17,7,5,6,18 +7,5,6 +25,17,14,6 +3 +4,14,6 +25,22,7,6 +17,14,5,28 +7,16,18 +14,6 +6,29 +5,6 +32,48,26,5,6,11 +17,6,43 +10,16 +40,14,6 +2,5,6 +12,22,4,5,6 +5 +32,2,14,6 +27,4,5,6,19 +4,6 +39,13,22,8 +3,5,6,28,10 +4,6 +31,5 +13,20,22,3,4,6,28,43 +4,5 +12,3,5,6 +44,13,7,15 +14,46 +27,14,6 +0 +9,6,23 +6 +25,14,5,6,42 +46 +5 +0 +20,6 +17,4,6 +35,4,5,6,10 +25,5 +37,38,5 +4,6,23 +25,3,5,6,21,15 +17,14,5,6,10 +3,6,28,30 +6,21 +3,14,6 +31,48,13,4,19,8 +25,5,6,42,29 +27,6 +12,22,3 +41,14,6 +32,48,4 +0 +47,3,5,6,21 +6,19,42,8 +25,17 +20,5,6 +51,4,6 +36,22,6,8 +5,6,46,29 +26,5 +45,48,20,6,21 +27,7,14,5,6 +2,20,7,5,6 +20,14,5,6,42 +5,18 +17,7,5,6 +20,14,5,6,23 +40,7,6 +51,40,12,14,6 +38,3,4 +14,5 +22,7,5,6 +6 +6 +22,5 +2,22,3 +48,20,21,19 +22,14,6 +14,6 +2,4,6 +47,9,41,4,6,21 +13,5,46 +14,5,6,19,23,11 +4 +17,7,5 +2,20,5,10,49 +36,22,3,6 +3 +2,5,6 +2,6 +2,20,5,6 +0 +4,5,6 +7,4,14,6,43 +26 +44,6 +3,6 +48,4,5,6,29 +0 +5 +47,25,20,22,3,4,14,6,16 +32,14 +2,14,6 +2,25,14,6 +4,14,5,6,8 +4,14,5,6,28 +20,22,7,4,5,49 +12,20,6 +4 +7,6,11 +13,22,6,23 +5,6,15 +17,5 +14,11 +27,5 +32,3,14,6,42 +32,5,11 +50,33,2,5,6 +22,7,6 +29 +22,14,5,6 +5,6 +17,5,6 +26,7,3,5,6,18 +26,22,4,14,5,6 +48,25,4,6 +12,3,5,10,23 +27,6 +6,46 +20,17,4,6,15 +22,5,6 +32,14,6 +14,6,23 +38,25,6 +44,14,6,15,42 +5,6 +17,6,23 +14,5,6 +14,6 +3,4,6 +4,14,5 +34,35,2,14,6 +25,6 +3,14,6 +17,5,6 +38,6 +44,17,14,6 +13,7,14,6 +2,3,5,6,8 +40,2,7,5,49 +12,22,3,14,6,23 +12,7 +14,6 +34,25,3,6,29 +26,20,6,19 +27,26,3,6,19 +14,5,6 +12,17,6,19 +6,46,30 +20,22,3,5,6 +28 +2,14 +4,5,6 +27,33,22,5,6 +26,6,43 +41,13,5,6 +9,7,6,29,11 +5,6,8 +48,33,19 +17 +7,6 +20,5 +6 +14,8 +6 +4,5,6 +25,14,6 +9 +6,29,49 +12 +0 +9,5,6 +14,6 +39,40,48,3,5,6 +5,6 +5,6 +3,14 +33,17,6 +26 +32,13,3,14,5,6 +25,7,3 +24,17,6,23 +5,6 +7,3,4,6 +6 +4,14,5 +5,6 +2,5,6,16 +51,2,22,15 +17 +36,2,4,6 +34,14 +3,14,11 +12,5,28 +20,6 +4,5,6 +20,22,14,5,6 +13,4,19,10 +5 +4,14 +6,42,18,23,8 +27,14,5,6 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +44,5,23 +26,12,3,5,6 +6,15,30 +44,17,14,5,6 +20,17,3,6,10 +0 +17,6 +0 +3,5,30 +4 +5,6,10 +25,4,6,16,29,11 +14,5,6 +22,14,5,6 +5,43 +2,22,4,5,6 +0 +36,13,5,6 +3,6 +37,2,21,15 +35,2,4,6,18,29 +3,14 +47,34,14,6 +22,7,14 +4 +5,6 +25,5,6,19 +22,6 +4,5,6 +6 +6,46,43 +12,13,6 +6 +31,34,3 +49 +7,6 +25,14,15,16 +12,22,17 +25,6,23 +22,7,5,6 +31,2,8 +20,3,6 +5,6,23,29 +17,6 +2,14,21 +44,12,14 +5,8 +12 +2,7,3,30 +41,4 +35,25,6,10,23 +27,17,28 +14,6 +20,22,4,14 +4,5,6 +14,6 +26,14 +13,25,4,6,21 +20 +12,25,14,6 +14,6 +6,43 +7,4,6 +6 +5,6 +6,19,18 +14,6,28 +33,20,4,6,19 +4 +2,22,6 +34,5,6,28,8 +5,6 +6 +7,6,49 +6 +14,5,6,16 +37,2,25,6 +50,47,3,19 +25,18 +6 +9,4,5,6 +3,6,15,19,11 +38,4,6 +13,17 +17,6,18 +5,6 +13,17 +3,14,6,19 +3,30 +7,16 +7,5,6 +0 +47,2 +25,3 +12 +33,20,14,5,43 +5,6,23 +3,14,5,6 +40,38,14,5 +20,22,7,6 +7,14,5,6 +22,3,5,6 +6 +25,6 +41,17,14,6 +33,25,14,5,21 +25,5,6 +22,5,6 +37,6 +5,6,19,29 +4,6,42 +13,5,6 +12,6 +13,17,6,46 +14,6,28,16 +38,4,14,6 +25,22,6,15,11 +35,6,10 +12,6,8 +9,33,12,13,6 +17,14,6 +17,3,5,6,16 +4,6 +51,22,14 +4,6,21 +2,4,6 +13,14,6 +6 +35,14 +32,9,6 +25,5,6 +25,22,3,5,6 +6,19 +14 +6,28 +41,3,4,14,6,46 +9,20,4,14,5,6 +3,6,16,11 +22,7,6,18 +6,29 +33,5,6,16 +35,13,2,4,6 +22,4,6 +26,20,5,6 +20,14,5,6 +2,17,23 +6 +22,6,16,30 +17,7,4,6 +22,4,5,6 +17,6 +40,41,6 +26,22,6 +3,4,5,6,16 +36,4,6,29 +33,6 +14 +25,22,7,4,5,6 +9,7,14,19 +4,14,5 +2,4,5,6 +35,6,11 +45,6 +2,6,15 +48,14,6 +6 +6 +35,27,33,14,6 +13,5,6,19 +5 +32,6 +17,4,5,6,15,18 +26,6 +45,13,5,6 +21,23 +14,6 +14,6,18 +31,27,41,12,22,17,6,43 +14,6,49 +14,5 +14,6,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +13,5,6 +35,33,22,7,6,42 +38,2,6,18 +0 +13,6,10,49 +45,22,4,5 +5 +3,6 +20,14,5,28 +4,6 +3,6,29 +13,17,7,6,10 +5,21 +5 +35,22,14,5 +22 +2,3,6,21 +12,25,14,5,6 +13,6,29 +5,6 +5,6 +36,14,5,6,16 +6 +7,4 +5 +5,6,46 +33,17,4,5,6 +22,7,5,6 +0 +12,22,6 +33,6 +13,17,5 +6 +37,6,46 +26,7,14,28,15,10 +14,6,43 +12,20,6,28 +25,17,4,14 +4,5,8 +41,3,5,42,8 +4,14,8 +3 +5 +45,25,22,3,6 +29,43 +9,2,14,5,6 +27,12,17,4,5,6 +6 +41,22,19 +2,22,6,30 +6,42 +35,14,6,10,42 +2,6 +7,6,49 +45,13,6 +22,6 +15 +14,6 +41,26,6,19,16 +25,5,6 +20,22,4 +37,17,7,6 +3,14,5,6,19 +3,6 +17 +22,42 +38,12,22,7,8 +4,5 +22,7,4,5,10 +7,6 +17,6,42,46 +44,4,5,6,19 +35,5,6 +24,4,5,6,10 +5,6 +33,4,5,6 +13,6,21 +23 +33,5 +6 +41,17,8,29 +3,5 +13,6 +25,7,4,6 +14,6 +14,6 +6 +5,6 +13,17,5,6 +24,14,5 +9,12,20,17,3,4,14 +48 +22 +39,6 +31,4,5,10,8,49 +14,5,6 +6 +13,14 +20,4,5,8 +5,6 +12,7,6 +0 +4 +14,5,18 +6 +25,6,46,11 +3,14,6,10,46 +5,6 +20,28,19 +3,5,6 +40,7,6 +6 +12,22,14,6 +14,5,6 +5,6 +38,4,14,6 +26,13,6 +6 +5,6,18,29 +47,5 +14,6 +50,48,49 +44,3,14,6 +27,12,7,5,42 +12,14,5,6 +5,6 +22,14,6,30 +25,6 +2,5 +37,5,6,11 +5,6 +7,6 +6 +45,6 +3,6 +17,4,14,6,18 +14,5,6,42 +27,4,6,23,8 +14,6 +6 +5,6,21 +14,21,19,10 +36,6 +12,25,22,6,42,18,23 +7,4,6 +3,6,30 +6 +26,22,3,6,23 +5,8 +17,3,5,6,28,15,10,18 +27,14,10,43 +7,6 +12,6 +13,17 +13,6 +24,27,12,17,14,6 +33,5,11 +13,25,5,6,19 +35,6,19 +0 +14,6 +6 +47,12,6 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +22,14,6 +17 +17,3,6 +42,18 +6 +5 +38,33,2,20,30 +12,22,7,4,6 +47,25,20,5,6 +3,5,6,21 +47,7,4,6 +50,4 +6 +6 +6,10,30 +6,21 +5,6 +22,6 +4,14,6 +14,5 +5,6,18 +6 +2,25,3,14,5 +20,5 +48,14,15 +7,5,6 +33 +25,6,23 +6 +4,14,6,23 +25,4,5,8 +2,14,6,10 +12,6 +35,5,6,23 +23 +14,6 +4,5,6,46,30 +3,6 +5,6 +6,15 +25,6 +36,3,4,14,19 +20,17,4,6 +7,46 +26,17,7,6,10,16 +6,19 +48,12,15 +35,6 +14,5,6 +44,4,5,21,49 +6 +0 +36,27,6 +26,7,14,6 +20,6 +5,6 +4,6 +5,49 +2,17,3,5 +50,14,6 +27,14,30 +5,6,10 +26,4,6,21,11 +16 +7,5,6,21 +22,6,16,18 +6 +26,4 +3,5,6,21 +6 +22,14 +6 +24,6 +25,14,5,6,15 +38,5,6 +5,6 +13,3,6,11 +38,6,30 +40,4,5 +6,10 +6 +20,14,5 +2,3 +7,6,16 +12,3,4,6 +27 +20,14,6 +47 +20,14,6 +9,27,6 +33,6 +6 +12,5,6,18 +51,7,3,5,6 +5,6 +39,41,5,23 +6 +0 +2,5,6 +45,22,6 +30 +9,5 +25,14 +14 +45,3,29 +6 +7,5,6,16 +17,3,4,6 +22,15 +5,6 +17,6 +48,5,6 +14,6,18 +25 +4,6,19 +25,14,6 +3,21,29 +22,14,5,6 +13,14,6 +4,6 +20,4,5,6 +5,6 +13,22,4,6 +48,5,6,11 +3,6 +14,42 +4,5,6,15 +2,6,11 +22,6 +13,25,17,4,5 +27,25,4,5,6 +22,14,28 +5,6,19,46 +17,14,6,23 +7,6,46,11,30 +22,4,6 +3,4,6 +39 +14,6 +6 +25,6 +3,4,15,42 +34,2,20,14,5 +0 +5,6 +48,6,29 +17,3,4,14,6 +12,20,6 +6,15 +6 +13,5,21 +27,3,6,19,30 +17,5,6 +34,21 +14,6 +7,14,5,6,30 +14,6,30 +6,19 +25,5,6 +5,19 +35,12,14,5,6,11 +7,3,6 +14,6 +25,5,6 +7,46,49 +5,6 +25,5,6 +14,6,11 +51,2,4,14,5,6,8 +33,15,16 +40,41,6 +8 +20,17,7,4,6 +36,3,14,6 +3,6,42 +2,3,6,18 +6 +17,4,14,6,11 +33,4,14,5,6 +39,45,14,6,8 +13,22,14,5,6,18 +9,41,17,6 +7,14,5,6,15,23 +7,3,14,6 +13,3,14 +25,14,6 +4,5,6,46 +3,6 +34,41,17,6 +36,3,14,5,6 +33,22,6 +25,17,5,21 +34,20,3,6 +25,17,5,49 +40,25,3,6,16 +20,3,5,6 +6 +7 +33,7,6,18 +5,6 +13,22,16 +6 +41,22,5,8 +18,49 +31,6 +14,5,6,21 +6 +47,5,6 +51,45,48,15 +4,5 +6 +7,29 +22,4,6,8,29 +22,5,6,10 +37,13,25,4,6 +6,49 +5,49 +14,6,8 +25,7,6 +6 +17,3,6 +2,4 +12,4,6 +22,6 +2,3,4,5,6 +17,7 +6 +32,48,22,4,14,5,6 +25,5,6 +48,4,6,16 +5 +0 +3,10,11 +20,16 +32,35,41,6,19,42,49 +12,14,5,6 +7,6,23 +7,3,23 +31,17,46 +13,15 +13,14,5,6,43 +20,4,8,43 +32,6,28,10 +4,14,6 +6,21 +14,19 +14,5,6,18 +2,4,5 +6 +31,6 +14,5,6 +7,3,14,6 +26,17,6,43 +7,14,5 +39,6 +6,16 +38,2,17,6,43 +12,7,5 +17,3,6,46 +17,7,5,6,21,19 +40,6 +3,6 +22,6,49 +4,14,5,6 +14,6,30 +38,13,6,28 +35,3,5 +5,6 +27,7,16 +6,29 +14,5,6 +6,29 +33,25,7,4,6 +17,6,18 +3,6 +6 +22 +34,4,14,6 +5,6,46 +4,5,6,15 +24,36,20,19 +20,17,3,4,14 +22,14,6,28,16 +9,48,14,15,16 +0 +47 +13,20,6,8,46 +5,42 +39,48,3,6 +6,10 +17,6 +5,6 +9,7,14,5,6 +6,49 +7,14,6 +40,17,14,6,10,16 +13,2,25,4,14 +2,5 +25,17,5 +25,5,6 +50,6 +7,4,6 +47,5,6,28 +6 +44,22,4,5,6 +32,9,12,20,7,5,28 +14,6,46 +14,19 +4,5,6,10 +22,6,29 +4,6,28,46,29 +35,48,17,5,6 +5,6,30,49 +5 +5,6,28,10,42,49 +45,13,14,5,6,18 +37,25,4,6 +12,5,6 +39,4,15 +6,15 +22 +27,13,25,5,6 +35,3,4,6 +38,6,28,42 +36,25,14,6,16 +12,5 +26,25,14,5,6,15 +13,7,6 +6,30 +4,6 +4,6 +12,6 +7,3,6,42 +48,3,5,6 +50,6,15 +12,4,14,5,15 +13,7,14,6 +37,9,34,33,2,17,4,6 +14,6 +39,5,6 +3,14,6 +7,3,5,6 +39,4,6,11 +7,4,5 +6 +22,5 +6 +45,7,14,6 +50,35 +12,2,6,43 +3,6,19,8 +3,5,6,18,43 +3,14,16 +2,17,4,21,29 +4,5 +7,5,6 +22,6 +13,22,6,19 +34,17,14,5,6 +2,6,30 +5,6,10 +31,6 +21,30 +25,4,6,18,30,49 +0 +34,14,6,46 +50,12,25,4,6 +44,13,17,4,15 +48,3,6,11 +51,45,7,14 +4,5,6 +37 +44,12,3,14,15 +2,4,6,23 +4,15,29 +6,15 +6,28 +37,27,48,20,17,5 +7,14,5,6 +48,7 +7,5,6,10 +32,2,17,14,5,6 +6,28 +32,5,6,46 +41,7 +6 +5 +5,6,30 +14,6 +22,5,6,30 +44 +6 +22,6 +4,5,6 +50,12,6 +17,3,5,6 +3,6,28 +44,5,6 +14,6,21 +33,13,14,6,8 +14,21 +25,5,6,8 +4,14 +5,6 +7,6,15 +24,38,48,22,3,14 +6 +14,5,6 +40,3,4,5,28 +5 +24,4,5,6 +38,2,4,14,10 +12,3,6 +37,25,7,4,5,15 +22,17,10 +14,6 +31,2,17,5,6 +38,14,5,6 +17,14,6 +7,6,49 +40,25,6 +40,35,14,5,6 +6 +27,33,4,6 +25,22,14,5,6 +22,6,21 +17,3,5,42,18 +44,4,6 +37,3 +44,20,3,6 +32,12,14,5,6 +33,6,10 +2,7,18 +38,13,5,6 +7,3,6,15,11,30 +3,14 +26,3,5,6 +13,5,6,11 +5 +35,26,5,6 +4,5,6,19 +4,5 +6 +0 +6 +26,4,15 +6 +12,13,4,14,6 +4,5,6,15 +5,42,43,49 +17,14,6 +6,19,29,49 +14,6 +17,14,5,6,18,43 +31,17,6,42 +51,5,6 +37,47,6 +38,26,6,16 +37,15,10,18 +27,4,6,21 +17 +33,25,3,6 +17,3,14,5,15 +7,4,5,6 +41,22,3,4,5,6 +41,6 +38,15,42 +5,6,21,11,49 +50,6 +7 +20,22,3,4,6 +10 +50,22,5,6,43 +25,17,5,6,16 +15 +4,14,5,6,10 +6,21,42 +41,7,4,6 +4,5,6 +51,9,25,20,7,6,42 +20,5,6 +25,7,4,5,21 +25,4 +4,6 +2,22,17,5,6 +6,15 +12,6 +22,14,5,6,46 +3,6,28 +6 +14,5,49 +7,14,6 +14,5,6 +5,6 +6 +39,4,5 +33,5,6,30 +14,6,16 +48,14,6,10,8 +6 +6 +3,6,28 +4 +2,25,6 +20,5,16,18 +11 +44,3,6 +35,42,23 +39,6 +45,26,13 +9,6,28 +6 +34,12,5,29 +20,10 +31,20,14,5,6 +7,5,18 +41,13,22,4,5 +11 +41,14,18 +6 +7,3,6 +35,7,14,5,6 +5,6,19 +20,14,6 +38,44,7,4,14,5,6,42,11,43 +41,2,22,4,6,23 +33,20,18,23 +6 +37,2,4,6 +41,7,3,6 +9,5,28,18 +41,12,25,14,6,30 +25 +45,41,2,3,5,6,16 +47,22,7,6,23 +50,12,13,4,14,6,21 +39,26,12,22,17,14,5,28 +41,2,3,6,43 +7,5,6,18 +22,6 +17,14,6 +6 +13,6 +0 +31,13,2,22,14 +5,6,8 +6,21 +5 +6 +5,6 +5,6,28,8 +13,4,5 +7,14,5 +31,13,17,4,14,5,6 +4,5,6,16 +36,6,21 +40,3,5,6,15 +2,22,6,10 +22,7,6 +17,3,5,6,21 +6 +13,17,5,6 +5,6,21 +6,16 +9,13,5,6,11 +7,3,14,6,15,10,16 +22,7,6 +6,11 +12,4,6 +38,4,14,6 +14,6,29 +41,6 +41,5,6 +35,26,17,6 +3,4,6 +0 +40,26,7,6 +38,2,7,5,6,30 +5,6 +12,17,7,6 +20,5,6 +26,21 +2,5,6,28 +34,2,4,6 +36 +32,34,12,14,6 +12,6,28 +11 +36,12,14,5,42 +7 +0 +17,28,46 +50,6 +4,6 +17,5,6 +31,22,14,6 +17,14,6 +13,25,17,3 +13,6,46 +12,2,3 +22,3,5,6 +7,4,5,6 +6 +12,3,4,6,21 +14,5,21 +36 +2,6 +2,6,28 +5,6 +14,5,6 +33,3 +25,3,5 +13,22,7,14,6 +6,46 +41,22,3,6 +47 +7,3,5,6,19 +17,3,6 +28,10 +45,5,6 +6 +17 +24,47,6 +27,17,6,10 +32,7,5,6,8 +38,22,7,3,6 +14,6 +12,5,6 +17,6,30 +26,12,3,6,15,10 +2,6 +35,2,25,4,8 +22,4,14,5,6 +14,6,15,42 +4,14 +40,5,6 +16 +6 +13,19 +6,10 +36,14,6,21 +3,6 +22,3,43 +6,15 +25,3,4,6,16 +2,14,6 +27,3,4,6 +2,22,14 +47,27,14,6,21 +17,5 +41,13,3,5,10 +51,5,6 +34,25,20,6 +38 +12,22,7,14,6 +4,14,6 +0 +41,4,5,6 +13,4,6 +9,14,5,6,46 +2,20,14,6,18 +41,5,6,23 +25,6 +26,25,22,7,4,14,5,6,21 +3,6,21 +6,23 +27,14,5,15 +34,33,15 +3,5,6,28,42,23 +24,35,12,14,5,30 +3,6 +45,6 +6 +47,20,6 +40,6 +45,7,28 +17,6 +6 +45,7,6 +3,6,42 +4,5,6,16 +0 +42 +5,6 +26,22,17,4,5,43 +14,5,6 +7,21,10 +44,17,4 +14,6 +34,17,6,10 +6 +14,6,21,30 +37,5,21 +12,6 +22,6,15,46 +3,5,6 +6 +14 +25,7,3,14,6,10,49 +22,3,5,42 +13,3 +14,6,29 +17,14,5,6 +7,4,5,6 +34,25,49 +20,17,6,15,18 +50,6,8 +48,2,6,11 +5,6,28 +32,7,5,6,19,29 +3,14 +4,14,5 +3,46 +44,17,3,4,14,5 +27,25,3,5,6 +3,5,6 +48,14,5,23 +26,22,6 +20,14,6,21 +13,6,21 +20,6 +27,14,5,6 +12,17,14,5 +5,6,46 +25,20,7,4,14,6 +7,3,4,5,6,8 +14,6 +7 +4 +5 +33,3,5,6,10 +2,7,4,14 +22,3,5,6 +50,36,14,5,6 +26,5,28,15,18 +39,50,20,5,6 +13,2,4,6 +25,22,3,5,6,15 +5 +2,6,28 +45,36,41,5,6,28 +27,14 +20,22,3,5,6 +6 +0 +6,46 +9,38,17,6 +4,6,10,42 +27,41,3,5,6 +38,44,5,6,43 +5,6 +27,3,5,6 +0 +7,6 +44,26,20,17,7,6 +6 +41,14,5,6,28 +14,6 +4,28,8 +35,13,25,20,5,6,15,19 +6 +13,14 +22,4,6,23 +41,44,17,6 +2,25,7,5 +4,6,8 +2,15 +26,3,5 +26,5,6 +25,5,6,15,19 +2,4,5,6,46,30 +2,4,6 +14,5,6 +38,13,4,6,42 +14,5,6 +36,4,6 +0 +48,22 +20,7,3,5,42,23,11 +2,5 +47,41,6,42 +38,6 +6,15,19,30 +6,49 +36,22,6,15,19,11 +5,6,10 +22,3,6,49 +17,4,14,6,23 +45,2,5,6 +6,28,46 +38,3,6,19 +3,14,5,6 +14,5,6,19 +22,6 +9,7,4,6 +3,6 +40,35,6 +6,18 +50,25,6 +6 +22,17 +13,5,6 +7,5,6,46 +20,5,6 +22,7,3,6 +4,5,6,10,49 +26,14,6,28,49 +9,22,14,5,6,21 +36,4,5 +38,12,14,6 +32,3,4,6 +20,17,3,5,15 +20,17,4,6 +38,14 +32,5,6,30 +4,6 +14,5,6 +48,4,6 +8 +25,4,14,6,21 +41,17,5,6,10 +5,49 +4,6,28 +25,30 +6 +12,17,14,21 +3,6 +7,3,5,6 +5,6 +5 +14,5,6,19,10,46 +14,5,42 +7,14,6 +13,6,18 +3,6,43 +22,5,6 +3,4,5,6 +7 +17,3,4,14,6 +14,6 +3,14,6 +32,35,22,6 +2,4,5,6,15 +6 +5 +26,4,14,6,8,46 +17,5,6,15,8 +12,20,6 +26,20,6 +25,20,5,6 +5,6 +4,6 +7,5,6 +15 +22,5,6,28,29 +25,5,6,19 +31,25,6,21 +33,22 +13,6,21,28,15 +17,14,6 +2,22,6,23 +20,17,5 +20,4,5,6 +12,4,6,19,30 +4,6,28 +4,6,18 +14 +5,6 +31,14,5,6 +0 +7,4,6,15 +4,6 +14 +5,6 +7,6,29 +22,3,5,6 +32,20,17,5,6 +20,6 +32,6 +22,7,5,6 +36,27,7,6,10 +17,5,6 +41,6,21 +0 +13 +7,18 +3,6 +39,5,6 +12,3,14,5 +33,2,22,14,5,6,10,23 +46 +12,22,17,4,6 +37,7,6 +25,20,6 +24,47,2,7,6,11 +5 +20,14,5,6 +6 +47,9,3,6 +49 +6 +45,25,7,5,6,19 +5,6 +14,46 +20,5,6 +6 +41,17,14,5,19 +6,29,11 +5 +6,23 +22,3,4,14 +48,14 +3,6 +35 +0 +6,28 +0 +6 +12,20,17,5 +3,4,28,15,11 +9,34,22,14,5,6 +20,4 +20 +41,17,6,19 +7,6 +13,5,16 +5,6,15,10 +3,6 +40,47,28 +17,6 +3,14,21 +3,5,6 +37,17,5,6,18 +25,4 +2,14,6 +32,2,6 +5 +17,8 +7,3,14,5,6 +32,13,17,4,14,6,23 +16 +14,5,6,42 +35,5,6 +22,17,7,3,5,6 +41,4,6,18 +3,5,6,42 +48,12,14,6 +51,6,29 +31,48,4,14,6,16 +17,6 +17,5,6,29 +4 +45,13,22 +6 +31,34,6 +6,16,30 +2,6 +6,19,29 +5 +25,6,16,29 +20,6 +51,24,34,5,6 +14,5,6 +12,3,5,6 +6,30,43 +22,14,5,6,18,23 +17,6 +10,8 +27,22,4,14,5,6,8 +2,3,5,6 +3,4,14,5,6 +6 +13,7,14,5,6 +5,8 +4,6,15,23 +14,6 +28 +14,6,19 +41,14,5,6 +14,5,6,28,42 +27,6,28,16 +2,14,6 +27,6 +22,3,6,42,18 +4,6 +5 +6,18 +4,5,6,28 +24,12,13,20,3,6 +13,17,14,5,6 +7,28,11 +22,4,6,21 +6,8 +12,3,4,6 +3,14,6 +7,4,6,8 +6 +5,6 +14 +3,5 +30 +36,17,6,16 +6 +36,6,10 +14,5 +25,14,6 +42 +47,26,4,14,5,6,21 +25,14 +14,6 +37,13,6,16 +13,6 +51,6 +4,5,6,29 +34,6 +5 +5,16 +36,35,13,3,6 +36,4,6 +5,42 +14,5,6 +25,6 +47,5 +25,10,43 +3,6 +51,7,6,21,8 +39,14,6,46 +25,14,6 +14,5 +20,22,43 +6 +6,23 +3,5,6 +17,4,6,19,10 +47,17,14,6,30 +12,14,5 +12,17,6,18 +12,13,3,10 +14,5 +5,19 +5 +47,7,6,21 +4,14,6 +17,7,3,6 +14,6 +34,25,3,5,6,18 +22,6,49 +21,15 +51,5,6 +13,25,5,15 +6,19 +6 +6 +5,6 +20,5,6 +48,6 +20,6,29 +12,6 +2,17 +34,5,6,10 +14,6 +9,5,6 +22,5,6 +33,2,6 +41,3,6 +17,5,6,28 +3,6,16 +6 +2 +9,41,20,6 +44,7,14,6 +5,6,10 +22,6 +12,7,4,6 +17,4,6 +0 +50,3,6 +14,6,10 +3,14,5,18 +20,14,5,6 +25,5,6 +47,12,3,14,28 +17,5,6 +20,6 +6 +22,14,6 +6,16 +6,28 +14,6 +51,33,5,6,21,23,49 +31,20,7,6,15 +4,6 +31,3,6 +0 +14,23 +48,5,46 +3,4,5 +28 +13,5 +5,6 +17,6 +39,4,5,6 +51,6,21,28,30,43 +31,7,14 +22,14,19 +41,13,4,14,6,15 +7,5,6,21 +25,20,17,6 +25,5,19 +5,6 +23 +14 +14,6,18,23 +6 +25,14,6 +31,49 +25,17,5,6,10 +36,20,5,6 +6 +5,6 +34,5,6 +25,7,4,6,8 +25,5,6 +7,3,4,5,6,21 +6 +45,7,4,5,30 +17,5,6 +27,6,11 +12,20,22,14,6 +0 +25,14,5,6 +5,6 +2,14,6 +2,5,6,23 +36,3,4,14,5,6,42,18 +27,3,5 +7,5,6 +36,26,17,14,5 +38,25 +34,7,3,8 +34,3,14,21,42,30 +4,5,6 +17,3,5 +3,5,6,29 +35,6,23 +33,2,5,6,28 +5,6 +3,4,6 +16 +6,46 +48,3,14,6 +4,18 +26,17,5,6 +47,9,17,7,4,14,6,21 +17,3 +0 +14,5,6,10,43 +33,4,6 +15,29 +40,6,21,15 +0 +25,17,6 +6,28 +14 +14,6,43 +20,5,6 +5,6,42 +4,5,49 +6,49 +4,6 +47,4,14,5,10 +13,6 +2,17,14 +25,6,19 +4,6,11 +41,13,2,7,6,49 +48,17,14 +7,5,6,11 +7,4,5 +5,6 +7,3,14,5,6 +2,4,6 +51,20,4,5,6,16 +14,6 +17,3,4,5,19 +5,6,11 +25,20,4,5,6 +24,6,19 +29 +3,14,6 +47,4,14,5 +6,28 +37,6,10 +20,5,6,42 +6 +47,34,5,6,15,10 +33,7,14,5 +5 +13,14,5,6 +3,6 +41,26,3 +14,5,6 +6,21 +2,4,5,6,16 +7,4,14,5,15 +22,7,4,14,5,49 +5,6 +2,7,14,11 +5,6,28 +13,14,19 +34,7,6 +38,20,5,6 +4,6 +9,25 +48,6,43 +20,14 +38,6 +38,26,13,14,19,29 +14,6,8,43 +2,25,17,3,16 +13,3,5,42 +45,2,22,3,14,6 +17,7,4,6 +33,13,5,6 +38,20,4 +39,12,2,6 +25,6,15 +0 +44,12,3,6,29 +6,21 +38,2,3,6,42 +47,3,14,21 +26,7,4,14,6 +5 +20,17,6 +22,5,6,28,30 +47,6,43 +45,14,6,16 +14 +27,6,10 +12,6,23 +6,23,46 +4,5 +4,14,6,15,10 +3 +51,38,4,14,6 +2,20,5 +6,16 +30 +33,4,5,21 +17,7,14,5,6 +41,17,6,19 +7,14,5,6,21,18 +0 +5,6 +39,26,25,7,18 +5,6,21 +3,6 +13,5,6,49 +47,13,3,4,6 +14,6,15 +48,14,6 +7,5,6 +20,4,6 +5 +51,32,3,6,15 +5 +25,22,7,3 +7,6 +4,14,5,19,30 +17,5,6 +2,7 +41,4,30 +41,5,23 +6 +12,22,6,16 +6 +13,14,6,49 +35,22,5 +4,6,16 +33,6 +8 +17,7,14,6 +7 +44,4,6 +13,2,7,5,6 +2,4,5,15 +0 +40,35,41,5,6 +3,14,6,15,29 +51,14,6 +41,3,6,10 +31,12,20,3,4,5,6 +6,42 +44,4,14,6 +12,22,7,4,14,5,19 +44,6,16 +17,3,28,29 +4 +41,7,5,6 +47,3,23 +4,6 +31,13,25,17,3,5,6,21,10 +5 +6 +51,13,17,6 +6 +38,3,14,5 +22,14 +20,17,3,4,14,6,28 +7,6 +41,6,10 +3 +6 +31,14,6,10 +4,6,19,8,46 +32,14,15 +14,28,46 +35,6,29 +22,7,5 +6,19,18,30 +44,12,6,28 +24,7,4,5 +3,4,14,5 +48,6 +5,6,10 +5 +27,5,6 +47 +39,6,30,43 +32,20,3,6,8 +20,3,6,8 +36,14,6,28 +14 +20,6,15 +3 +13,3,6 +7,5,6,15,8 +50,4,6 +13,17,14,6 +7,5,6 +14,6,21 +37,4,14,6 +40,22,6,21 +2,5,49 +47,7,5,6,10 +14 +39,13,6 +17,5,6 +14,6 +32,4,6 +12,6,19 +7 +48,14,6 +0 +7,5,6 +6 +6 +44,5,6 +40,5,6 +20,22,5,6 +6,28,43 +20 +4,14,6 +5,21 +32,3,4 +38,33,26,5,30 +2,20,6 +37,36,2,17,5,6 +14,6,8,43 +12,6 +5,6,19 +17,7,5,21,30 +22,3,5,6,10 +37,5,6 +6 +14,21,15,16,23 +48,6 +14,5,6,30 +44,25,20,14,5,11 +51,37,9,14,6 +20,22,6 +14,6 +12,14 +9,7,14,6,15 +24,17 +13,6 +33,17,5,6 +0 +4,14,5,6,15,19 +50,5 +14,5,6 +39,14,16,23 +0 +4,5,6 +25,14,5,6 +6 +12,25,4 +38,25,22,17,7,4,5,6 +44 +37,41,2,7,4,5,6,42 +6,29 +17,14,6,8 +48,3,5,6 +17,6 +14,5,6,10 +41,17,4,6 +51,45,20,17,6,10,23,29 +27,6,42,8 +25,14,6,21 +20,14 +6 +32,6,15 +41,12,7,3,14,5,6 +40,4,6,30 +3,6,8 +13,17,6,10,16 +6 +2,14,6 +19,29 +45,6 +25,5,6,15 +2,22,4,14,5,6 +42 +5,6 +3,6 +7,4,5 +5,6 +3,5 +7,6 +22,4,42 +20,5 +5,6 +34,5,10 +5 +25,22,17,6 +14,6,16 +6 +47,6 +22,5,6,49 +17,5,6,18 +51,4,14 +22,5,6 +5,19 +0 +4,6 +7,14,6 +24,38,13,14,6 +48,25,20,22,17,6 +22,14,5,6 +32,26,22,6,49 +14,5,6 +12,13,6,23 +4,5 +6,46 +14,5,6 +25,7,6,21,19 +4,6 +50,25,14 +3,4,28,10 +14,5,6,15 +4,5,23 +9,44,5,6,23 +5,6 +0 +31,14,5,10 +11 +33,21 +6 +31,12,5,6 +12,5 +26,6,29 +5,6 +45,50,12,13,7,5,6 +6 +6,19 +22,6 +5,6 +5,6,28 +45,7,6,43 +26 +6,42,18 +31,22,14,6 +22,6,30 +48,44,3 +2,14,5 +4,6 +4,5,6 +4,6 +14,5 +51,4,21 +14,6 +25,5 +22,7,14,28 +25,14,6,15,10 +6 +4,14,5 +12,17,6 +41,17,5,18 +14,5,6,16 +45,41,20,5 +24,38,22,17,14,5,23 +22,5 +6 +3 +22,17,6 +32,36,4,6 +25,7,6 +33,26,7,10 +17,6,15 +5,6 +44,14,6 +10 +51,17,3,14,6,15 +33,20,3,6 +9,6 +14,21,16 +22,6,42,23 +6,10 +3,6,11 +34,7,3,5 +33,12,7,3,5,6 +6 +4,14,5,6,8 +36,4,6,28 +17,4 +47,25,6 +25,20,5 +7,3,6 +34,3,6,28 +13,14,6 +50,33,22,17,6,15 +25,5,6 +22,17,14,5,6,29 +20,22,7,6 +6 +41,17,4,14,5,10 +7,14,6 +40,12,46 +26,5,6 +5,6,21 +9,2,20,14,6,42 +51,44,6,15 +13,4,5,6 +6 +7,4 +36,22,17,7,5,6 +6,21 +20,3,5,6,30 +48,3,5,6,28 +12,4,6 +20,3,4,5,6 +17,3,6,10 +0 +2,6,23 +12,21 +9,4,14,6,19 +26,6,42 +6 +6 +5,19 +12,13,5,6 +22,6 +45,5,6,15,18 +35,17,6 +2,6,42 +7,3,6 +5 +26,20,5,42 +6 +36,7,5,6 +13,5,6,15,42 +3,14,6 +36,44,6 +50,40,48,41,20,22,17,5,6 +14,5,6 +6,28 +32,5,6,15,18 +14,21 +25,14,15 +41,6 +14,5,6 +45,7,6 +4,14,49 +25,6,18 +0 +6 +0 +17,5,6 +14,6 +48,44,14,6,23 +14,5,6,16 +31,13,7,5,6 +7,3,6 +7,14,5,6,30 +14,6 +16 +6 +47,2,17,6 +5,6 +14,5,6 +22,3,14,6,21 +12 +14,6,29 +6,19 +12,20,14,6 +6,46 +13,3,6,43 +13,7,6,29 +31,44,26,17,3,5,6 +24,47,13,20,22,17,4,14,5,6 +20,22,5,6 +37,5,6 +25,20,6 +5,6,28 +50,9,20,3,14 +40,5,6,23 +4,14 +7,3,5,6 +5,19 +51,24,3,14,6,42 +12,21 +50,20,7,6 +20,17,7,4,14,6,30 +36,12,6,28 +25,7,4 +36,33,14,5,6 +3,5,6,19 +34,25,4,6 +7,3,5,6 +20,17,5,6,21 +24,37,5,6 +41,6 +48,12 +6 +27,6,11 +35,3 +39,20,6 +41,3,4,6 +20,6 +37,6 +41,26,4,6 +14,5,6 +4,15 +35,48,7,3 +44,17,5,6,18 +25,7,6 +47,5,6 +6,16 +37,22,5,6,8 +34,3,6,28 +12 +4,6 +4,14,6,46 +22,3,6,28,18 +7,6 +45,34,17,4,14,5,6 +4,14 +3,42 +39,14,6 +7,5,6,18 +25,17,4,5,6 +7,6,15 +25,22,3,5,6 +26,14,6,10 +8 +31,3,6 +9,38,6,10,43 +14,6 +37,17,5 +7,3,14,6 +22,6,23 +40,13,17,4,5,6,23,11 +14,29,43 +2,20,10 +0 +22,5,6 +51,9,36,17,3 +22,5,6 +24,14,5,6,43 +41,5,6 +32,48,25,7,14 +35,2,6,29 +4,6 +25,5,6,28,19 +45,4,6 +0 +51,3,29 +31,13,4,6 +20,6 +7,14,5 +25,6 +14,5,21,28 +44,5,6 +3 +20,5 +3,14,5,6 +13,22,3,6 +17,14,6 +25,6 +14,6 +6,42 +2,4,6 +38,5,6 +47,4,14,46 +27,6 +6,11,43 +42,29 +7,5,6 +14,6 +17,4,14,5,6 +10 +13,5,6,10 +35,6,46 +3,6 +31,20,14,21,42,23 +51,22,3,6 +4,5,6,19 +32,17,4,14,5 +24,6,18 +51,17,4,6,8,46,29 +6,43 +22,4,6,21 +12,20,6,11 +3,14 +47,36,4,6,16,29 +5,6 +2,6 +27,4,14,6,43 +37,27 +13,14,6,11 +7 +20,22,14,6 +14,5,6 +12,5,6,28,18 +2,20,17,3,6,21,18,29,49 +29 +9,3,14,6,15 +3,6 +12,25,5,18 +27,7 +20,21,8 +50,7,6 +22,3,4,6 +6 +25,17,5,6 +5,6 +0 +40,12,6 +39,22,7,21 +37,6,28 +47,17,7,4,14,6 +38,25,6 +25,3,5,6 +48,4,14,6,21,16 +36,4,14,6 +36,7,6,11 +13,6,46 +5,6 +40,17,5,6,8 +48,4 +14,6,19 +33,41,44,5,6,19 +51,6 +31,6,16 +6 +12,14,23 +5 +22,5,6,30 +0 +2,20,14 +5,6,29 +12,17,6,21,15,43 +3,5,42,49 +36,17,14,6 +6,8 +20,14,5,6 +47,35,5,6,42 +37,44,2,7,5,6,42 +22,6 +7,5 +7,3,5,6 +22,4,6 +12,14,6 +2,42 +29 +13,3,6 +12,22,7,6,23 +2,6 +17,5 +2,5,6,19,29 +22,6 +12,4,14,6,23,8 +0 +5,6,21,43 +26,20,4,5,6 +6 +37,25,20,7,14,6 +22,4 +35,3,4,43 +7,19 +2,6 +4,5,6,21,46 +20,17,3,42,23 +6,18 +39,50,17,4,14,21 +4,6,8 +4,5 +9,36,20,6 +4,6,46 +6,10,18 +5 +4,5,6,21,16,11 +44,4,5,6 +22,4,6,19 +29 +3 +12,23 +14,5,6 +31,12 +3,4,6 +4,5,6,28 +45,25,5,6,15,18,43 +2,17,6,19,30 +31,37 +48,25,4,6 +41,6 +7,14 +6,21 +26,17,5,6 +5,6,28,30 +40,3,5,6,42 +4,11 +3,6 +37,48,12,13,5,6,29,49 +4,5,15,43 +22,17,14,6 +2,4 +14,5,30 +33,26,5,6,46 +35,6,10 +36,25,6,23 +6,46 +5 +50,4,6,19 +27,14 +38,14,5,6 +5,6 +23,8 +17,7,14,5,6,16 +6,28,43 +20,6,30 +51,14,6 +6 +6,10,16 +25,17,6,28 +2,5 +4,5,6 +20,5,6 +0 +33,12,4,6 +22,3,5,6,8 +20,16 +22,6,46 +6 +31,12,14,21,49 +6 +6 +4,6,23 +24,6 +13,6 +28,19 +22,17,4,6,21 +44,17,6,46 +27,5,6 +4,6 +24,3,6 +27,28 +3,14,6 +5 +5,6 +6 +20,6 +48,6 +28,16 +6,8 +34,14,5,6 +12,2,3,4,5 +13,4,5,6 +2,17,6 +27,25,3,6,21 +9,22,6 +17,5 +0 +48,2 +34,22,3 +45,14 +31,5,6 +32,4,6 +45,44,20,5,46,11 +5,6 +44,2,4,14,5,6 +4,14,15,49 +47,2,7,4,14,5,6 +5,6,8,11,30 +14,5,6,21,30 +26,13,7,3,14,5,6,42,46 +50,26,5,6 +5 +3,14,5,6 +6 +3,14,6,21 +7,6 +27,12,3,4,6 +25,21,18 +41,7,6,23 +27,4 +25,14,5,6,16 +4,6 +12,22,7,3,6 +0 +13,22,49 +7,5 +3,6 +14,6 +40,41,4,6 +4,6,21,29 +22,5,6 +4 +13,20,6 +24,36,2,7,4,6 +27,7,3,4,5,42 +7,5,6,21,11 +5,6,18 +6 +34,33,3,4,6,42 +26,5,6,21 +20,5,6 +32 +13,6 +24,5 +14,6,8 +0 +40,7,14,6 +49 +17,3,5,10,18 +25,3,14,5,6 +12,25,22,6 +14 +22,5,6 +2,17,6 +40,5,6,43 +45,35,3,6 +17,3,6 +2,6 +6,30 +44 +3,5 +41,20,4,5,6,8 +45,14,5,6 +9,7,42 +26,7,6,11 +14,6 +7,23 +38,4,18 +44,12,6 +48,44,13,17,5,6 +2,4,6 +21 +6,16 +2,6 +3,14,5 +2,42 +26,25,7 +4,14,5,49 +45,22,6,49 +7,5,6,30 +12,4,14,6 +7,6,43 +48,5,6,8 +3,14,5,6 +41,4 +6 +50,44,6 +6 +13,3,6 +20,6 +4,5,6,21,29,11 +3,5,6,28 +0 +25,3 +5,6,18 +25,14,5,11 +5,6,28 +24,41,7,6 +40 +12 +6 +36,14,5,6,21 +39,20,3,5 +41,7,3,6,19 +4,14,6 +12,5,6 +41,25,22,3,14,6,30 +22,3,4 +6 +38,7,4,5,6,19,11 +14,6,23 +27,6 +13,2,20,6,49 +40,36,6 +38,5,6 +25 +51,12,13,25,6 +17,14,6 +5 +25,7,6 +7,14,6 +0 +5,15 +36,27,20,5,46 +27,7,5,6,15,46 +5,6 +15 +33,41,7,14,6 +50,12,17,4,19 +20 +5,10,43 +12,14,5,6,43 +37,14,6 +4,6 +4,6 +26,22,5,6,29 +2,14,5,6,15,42 +7,3,6 +5,6,28 +22,4,6 +25,5 +20,6,29,49 +17,14,5,6 +12,6 +39,20,10,16 +48,14,5,6,29 +14,6 +7,5,6,21 +6 +25,22,4,5,6,21,23 +20,14 +39,36,3,6 +35,5,6 +2 +14,5,6 +12,17 +12,5 +3,19 +24,38,4,6 +17,7,6 +51,6,46 +5,6 +3,28 +14 +25,17,14,6,21,42 +14,5,6,42,8,49 +5,6,42 +25,20,6 +34 +0 +22,3,6,18 +13 +20,6,28 +48,33,26,5,6 +6 +36,5,6 +6 +34,7,4 +32,3,6,21 +33,14,5,6 +22,7,14,10,42 +23,43 +5,43 +6,49 +12,6 +12,14 +6 +32,34,26,7 +12 +38,27,2,22,14,6,30 +41,7,14,6 +9,36,5,6,18 +14,6 +2,7,21,43 +6 +26,22,6 +27,3,21 +27,6,28 +4,5,30 +5,6,19 +37,44,13,14,6,19 +33,20,4,5,6 +12,3,14,5,6 +45,20,17,6 +6,16 +45,17,3,6,46 +13,17,5,6,10 +12,5,6,43 +3,6,8 +37,33,17,3,6 +5,28,42 +20,4,5,6,30 +20,14,42 +26,12,6,11 +37,4,6 +39,41,25,4,5,6 +6 +14,30 +4,14,5,6 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +38,22,6 +13,6 +37,38,6 +6,16 +38,2,20,5,6,21 +39,37,6 +25,14,6 +31,2,7,6 +40,12,13,25,3,14,5,6 +20,6 +2,5,6 +41,6,21 +41,6,11 +14,5,6 +7,4,6,19 +9,6 +5,10,23,29 +45,5,6 +14 +4,6,30 +3,4,5,6,21 +25 +17,14,6 +35,12,6 +12,42 +5,6,15,46 +50,17,5,6,46 +44 +45,22,17,6 +24,3,5 +39,7,14,19 +17,4,14,5,6 +17,4,6 +26,2 +14,5,6,10 +20,14,5 +50,2,6 +2,25,3,14,5,6 +4,28 +24,13,6 +0 +47,5,6 +31,25,30 +3,14,19 +37,12,14 +2,7,6 +22,7,6 +24,7,6,46 +9,38,30,49 +2,5,6 +24,13,25,20,4,11 +26,17,14,6,10,16 +44,12,22,17,5,6,18,29 +5,6,43 +12,6 +45,3,6 +6 +12,3,5,6 +24,48,17,4,5,6 +13,20,14,5,6 +22,6,15 +20,6 +4,6,23 +22,7,3,6 +51,22,17,5,10 +41,7,3,6 +44,26,4,5,6 +4,14,21,18 +7,4,14,6 +6 +4,5,6 +3,5,6 +14,5,6,10 +36,3,14,6,21 +47,3,6 +20,7 +2,7,6,11 +7,5,6 +4,5,6 +7,5 +3,6 +41,2,6 +25 +51,38 +48,22,7,14,5,6 +39,38,20,4,6,16 +47,6,18 +38,17,5 +2 +17,6 +12,49 +2,22,6,29 +13,20,4,6 +50,41,20,7,4 +50,5,6 +26,2 +6 +32,12,22,21 +12,13,17,3,14 +51,36,41,6,23 +20,22,4,14,5,6 +17,5,6,19,10 +5,6 +12,4,14,16,29 +13,20,3,4,14,5,6,28 +51,2,4,14,5,6 +26,12,14,5,6,42,29 +17,7,5,6 +33,25,22,5,6 +3 +17,4,6 +10 +3,5,6 +40,38,6,29 +32,21,28,46 +7,4,6,15,16 +2,6 +4,5 +6 +12,17,14,6 +33,2,6,10 +38,6 +22,5,6 +17,5 +5,6,18 +2,4,6,42 +24,22,14,5,6,16 +33,25,7,14,5,15 +50 +34,2,7,16,30 +41,22,6 +0 +22,46,29 +6 +26,7,14,6,29 +17,14,6 +48,5,6 +0 +17,5 +14 +9,27,3,14 +9,17,6 +2,20,3,4,5,6 +0 +25,28 +5,6,10,8 +31,44,7,6,30 +48,30 +2,3,14,5 +5,6 +4,5,6,28,30 +7,4,5,6,21 +20,3,6 +6 +38,12 +32,26,25,17,6,16 +33,3,4,14,6,18,43 +2,4,6 +25,14,5 +6 +25,21,23 +35,6,29 +45,34,25,14,5,6,46 +12,13,22,3,14,6 +6 +40,17,6 +32,5 +2,7,14,6,29 +20,3,5,6 +4 +34,25,14,5,6,15 +33,3 +33,6 +32,25,22,4,14,42 +2,17,14 +27,12,4,14 +2,4,6 +0 +34,22,14,21,15,19 +13,6 +11 +22,5,6 +25,14,6 +13,7,14,5,6,30 +3,4,5,6 +39,17,7,3,4,5,6 +32,8,46 +7,4,5,6,43 +3 +34,26,4,6 +6 +25,3,6 +22 +13,22,3,5,6 +13,14,6 +25,7,4 +14,6,8,46 +4,6,49 +5 +44 +5,6,10,43 +12,3,5,6 +33,5 +25,6 +39,5,6 +20,6,29 +39,9,22,14,5,6 +4,6,43 +20,6 +48 +6,42 +26,12,3,4,6 +2,17,7,14,5,6,23 +24,38,13,6,18 +5,6,11 +5,6 +35,4,6 +6,18 +44,12,22,30 +7,5,6,28 +5,6,29 +21 +31,12,4,6 +6 +4,14,6,18 +25,3,5,6,28,10 +7,4,5,6 +0 +0 +31,25,17,14,6 +13,7 +14,6 +14,5,6 +14,6 +2,7,6 +2,4,5,28 +0 +5,6,15,46 +5,6 +41,25,20,7,5,6,18 +22,17,4,6,46 +50,4,14,6 +34,5,6,30 +14 +34,4,14,6,42 +7,4,14 +5,6 +5,11 +7,29 +17,7,4,14 +13,2,4,21 +25,4,6 +13,5 +7,14,5,6,28,11 +3,14,6 +5,6 +3,6 +17 +39,33,17,6,29,30 +9,25,20,5,6 +27,6 +37,4,5 +3,4,5,6,10,30 +6 +41,6,42 +22,5,6,42 +31,7,6,30,43 +51,13,17,7,4,6,15 +45,4,5,6 +28 +45,17,6 +9,41,2,17,3 +17,7,6,19 +35,20,6 +12,5 +41,2,22,17,3,14,5 +37 +37,13,17,3,6 +6,19 +27,6 +4,14,23 +5 +14,6,21,10 +50,28 +3,14,6,10 +25,3,4,5,6 +50,22,17,3 +48,2,14,6 +20,22,7,5,6 +38,5,6,16 +14,6 +34,17,42 +13,8 +5,18,23 +13,14,6 +25,22,5,18 +2,4,6 +36,7,3,6,19 +13,2,22,3,14,5,6 +13,7,6 +20,6,43 +17,6,29 +25,3,6 +20,3,6 +24,3,14,6 +20,4,6,49 +22,17 +48,14,5,6 +20,4,5,6,28 +13,14,5,6,10 +22 +6 +48,7,5,6 +7,6 +24,32,44,3,5,6,21 +3 +7,14,5,6 +41,20,3,6 +40,5,6 +47,14,6,16,23 +3,5,6,18 +4,14,6,19 +26,14,21,28 +5 +7 +7,6,43 +34,14,6 +17,7,5,6,28 +20,4,14 +44,3,14,6,16 +3,19 +7,5,6 +34,4,6 +25,14,6 +3,19,8 +48,5,6,21,23 +14,5 +22,17,3,6 +20,4,5 +31,6,8 +7,6,30 +44,12,6 +22,6 +6 +39,12,17,28 +50,9,14,5,6,30 +14,5,6 +2,5,6,29 +5,23 +26,5,29 +7,6,8,30 +7,14,6,21 +14,5,6 +0 +17,6 +13,14,6,42 +33,25,4,6 +7,19 +4,5,42 +39,17,5,6,16 +4,5,6 +5 +2,3,4,14,5,6 +50,7,5,6 +2,6 +40,2,6,21,18 +4,14 +22,3,4,5,6 +13,6 +33,4,6,46 +12,17,4,6,10 +20,5,6,49 +3 +5,6,21 +20,7,3,14,5,6,19,11 +51,25,17,14,6 +37,5 +5 +12,6,23 +5,6 +6,8,43 +4,6 +40,4,11 +32,5,6 +4,6 +41,2,14,6 +13,5,21,18 +22 +14,6 +6,18 +13,14,6 +5 +22,4,14,5,6,18 +33,22,3,5,6 +13,17,14,6,15 +5 +21 +5,6 +6,42 +13,14,5,6,46 +6 +50,17,5,6 +14,6 +13,14,5,6 +34,14,5,6,28 +20,3,6,8 +6 +14,8 +36,14,6,10 +6 +36,4 +45,6,21,28,8 +17,4,6 +40,6 +2,6 +45,7,6,28 +51,14 +4,14,5,6,15,23 +36,38,20,4,6,23 +40,25,6,21,49 +31,7,4 +34,2,3,14,5,28,49 +17,5,6 +2,20,22,17,3,4,6 +6 +7,6,42,30 +17,5 +22,14,6 +6,15 +25,4,6,11 +5,6 +14,6 +14,15 +17,6 +5,6 +4,5,6 +33,12,2,5,6 +6 +39,6 +25,6 +26,20,4 +36,25 +6 +9,20,22,14,5,6 +51,20,14,5,6,28 +4,15,42 +5,6,21 +25,5,6 +17,5 +48,17,5 +6 +6 +44,13,5,6,16,43 +39,31,2,20,6 +0 +6 +5,6 +6 +39,45,20,4,14,6,46 +41,26,17,4,14,6,43 +0 +3,6,21 +20,6 +32,22,7,6,49 +0 +25,7 +32,35,22,7,5,23 +4,5,6 +5,6,11 +38,13,16,42 +35 +51,5,6 +47,6 +5,6,42 +12,20,22 +51,20,4,6 +2,7,4,6 +27,14,5,6 +12,3,14 +32,34,41,6 +17,14,46 +41,2,17,23 +5,6,10 +12,20,14,6 +9,7,6 +20,14,5,6,15 +14,6,30 +0 +6,16 +40,29 +20,14 +39,36,7,6,10,49 +6 +6 +6 +17,4,6 +27,4,14,6,30 +6 +7,14,6,21 +14,5 +12,5 +12,20,7,6 +31,5 +14,6 +17,14,5,6,11 +50,17 +14,6 +2,7,5,6,19,18 +22,17 +26,6,8 +5 +22 +13,25,4,5,6 +25,5,6 +3,28 +22 +50,28 +27,22,6,18 +0 +12,25,6 +20,6 +12,25 +20,6,10 +12,7,4,6 +6,15 +6 +20,4,6 +13,20,4,5,46 +6 +10 +6 +48,13,3,14,6 +51,13,7,3,6 +2 +6 +14,19,16,11 +33,12,17,5,18 +25,6,8 +44,2,5,18,23,30 +3,4,5,6 +5,6,8 +4,6 +25,6 +5,6,10 +25,4,14,5,6,21,23 +31,25,6,10,11 +9,2,4,23 +14 +47,17,6 +4,14,6,49 +37,3,5,6 +6,29 +3,6,30 +3,15,29 +14,5,6,10,42 +39,33,14 +2,25,17,5 +37,38,25,20,17,3,14,6 +13,2,6 +34,3,14,6 +22,6,16,11 +24,22,14,6,16 +3,4,6,21,28,16 +20,17,5,6 +34,20,5,6,15 +26,3,6,23 +3,6,19,30 +2,22,14,5,19 +50,34,3,5 +44,5 +7,5,6 +36,5,6 +3,5,6 +20,4,21 +35,22,6,11 +46,49 +4,14,29 +7 +17,14,5,15 +17,14,19,49 +24,3,6 +44,2,14,5 +37,6 +4,6,8 +3,14,30 +22,6,15 +39,6 +32,12,20,3,5,6,28 +50,25,17,4,5,6,8 +26,3,14,5,6,46 +33,4,6,46 +9,3,6 +17,14,5,6 +39,5,6,18 +4,14,6 +6 +20,6 +4 +2,20,17,3,6 +24,41,25,4,6 +50,13,22 +3,5,6 +25,6 +41,4,14 +40,2,25,7 +26,20 +26,4,6,11 +7,14,6,15 +3,6 +25,18 +13,4 +17,5,6 +51,9,3,4,6,49 +4,5 +13,25,17,14,6 +4,6,16,23 +14,6,28 +38,2,14,6 +17,14,5,6 +17,7,14,5,6 +5,6,28 +6 +7,5,6 +6 +36,22,15,43 +13,6,43 +33,5,6 +45,13,22 +40,41,7,14,6 +3,4,28 +3,4 +26,7,14,5,6,15 +48,20 +14,5,6 +14,5 +4,5,6,28,10 +37,27,6,21,18 +4,6,28 +14,6,29 +17,6 +4,6,46 +48,26,20,22,7,14,6 +26,6,29 +48,25,7,28,10,23 +21 +13,4,6 +32,41,6 +5,6 +4,6,21 +13,15,16,23,8 +6 +41,3,43 +31,33,12,14,6 +25,22,7,14,5,6,23 +6,19,18,49 +22,17,3,5,6,21 +6 +4,6 +44,12,7 +22,5,6 +4,5,6 +50,4,6,16 +3,5,6 +6 +13,2,14,19 +36,35,25,5,29 +22,7,5,6 +14,6,42 +5 +6,28 +32,7,5,21 +38,22 +4,6 +7,14,5,6,16 +5 +22,5,16 +2,4,6 +7,4,43 +34,38,12,16 +50,2,7,14,5 +12,14,6 +25,6 +20,15,18 +51,44,20,3,6,15 +4,6 +6,28 +12,14,5,43 +4,6,42 +3,16 +26,5,19 +22,17 +40,20,7 +6 +3,14,5,6,23 +3,6 +6 +37,34,6 +3,4,6 +0 +44,22,3,5,6 +12,14,5 +12,22,4,6 +9,7,28 +50,20,5,6,49 +14,5,6 +6 +36,12 +13,2,21,42 +5,6,18 +7,6 +37,13,14,6,30 +37,13,17,5,6 +50,3,5,6,30 +13,25,5 +2,5 +25,5,6 +40,17,3 +6,21 +14 +7,6 +44,12,5,6 +39,5,6,19 +3,5,6 +41,20,5 +47,22,14 +45,40,2,4 +3,6 +3,6,18 +51,5,6 +25,14,5,6,21,8 +31,25,5 +40,27,17,4,14,6 +2,5,6 +4 +33,25,5,6,10 +7,6 +3,14,6 +3,14 +13,4,6 +21 +37,9,3 +51,37,17,6,42 +34,3,5,6,21 +47,5,6,28 +14,5,6 +34,6,28 +6 +3,4,14,42,29 +7,6 +5,21 +4,6,21,11 +37,12,25,14,5,6 +7,6,21 +12,25,23,8 +20,22,4,5,6,21 +22,6 +5,6,23 +3,6,21 +25,7,6,29 +41,3,6 +4,6,23,43 +3,6,16 +39,9,17,3,6 +6,21 +36,48,26,25,3,14,6 +12,14,6,16 +31,4,14,5,6,42 +13,6,46 +27,7,14,5 +27,14,6,21 +22,7,3,14,6,49 +3,4,6,43 +41,14,5,49 +16 +15 +14,6 +40,3,14,5,6 +5,30 +12,14,6 +5 +7,6 +20,14,6 +45,5,6,19 +2,4,5 +9,17 +6,16 +22,4 +34,6 +12,6 +40,17,7,5,6 +50,5,42 +39,20,6 +5,6 +36,2,4,14,6,10,46 +44,14,6 +6 +25,7,6,18 +22,17,5,6,15,46 +17,6 +13,22,4,5,6,30 +47,38,26,6 +4,5,6 +4,6 +2,3,5,6,28 +36,20,6,18 +5 +35,3 +6,10 +22,14,6 +6,46 +13,25,6 +12 +14,5 +45,40,4,5,6 +26,22,6 +31,6 +6 +4,14,6 +17,14,6,28 +25,14,6,15,29 +6 +17,14,6 +25,3,6 +3,6 +0 +45,17,5,6,15 +5,6 +38,21,10 +27,3,5,21,29 +3,6 +35,44,25,3,5 +14 +3,5 +12,17,14,6,16 +40,20,17,7,14,6 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +13,5 +7 +26,7,5 +2,25,17,4,5 +5,28 +20,46 +14,5,21 +51,9,5,6 +5,6,16 +14,5,6 +47,17,5,6,18 +24,25,4,6 +17,7,4,14,5,6 +3,6 +50,37,5,6,18 +6 +13,20,3,5,6 +9,17,6,21 +13,7,3,6 +6,16,18 +4,6 +38,4,6,42,18 +2,5,29 +14,5 +6 +12,7,4 +4,14,5,6,11 +31,19 +41,6 +33,14,5 +2,5,6,11 +3,6 +6,46 +4,14,6,21 +24,22,4,6,10 +6 +5,6,16 +42 +20,6,43 +22,7,14,16 +12,20,3,14,5,6 +6,28 +24,17,3,16 +50,20,17,14,6,42 +13,5,6 +37,25,4,6 +12,13,22,6 +12,22,14,6 +3,14 +36,6 +5,6,16 +38,13,20,3,5,6 +3,23 +0 +13,14,5,6 +35,3,6 +22,7,6 +25,4,6 +14,18 +7,6 +19 +22,3 +33,20,3,6,28,18 +14,6 +38,6 +33,3 +20,17,6 +3,14,5,42 +5,6 +5,28 +41,5,6 +17,7,6,21 +4,5,6,46 +25,14,5,6,15,30 +2,20,6,30 +17,14,6,19 +38,22,14,5,6 +22,3,6 +3,5,6,42 +25,3,5,6 +4,6,18,46,29 +34,36,4 +25,3 +34,5,6,10 +13,5,6,28 +9,26,5,6 +39,13,5,6,10 +21 +7,3,6 +6 +2,22,5,6,21 +33,12 +34,3,4,5,6,28,42 +14,5,6 +25,14,21 +13,7,3,8 +48,13,5,6 +50,6 +4,5,6 +25,17,7,3,5,6 +17,14,6,8 +25,20,3,4 +14,6,10 +6 +6,46 +32,34,4,6,29 +37,6,8 +3,14,6,23 +22,14,43 +25,6,21,19 +3,6,28 +45,6 +17,14,5 +3,6 +5,23,11,43 +20,4,6,11 +20,17,3,5 +26 +14,6 +5,6 +41,17,5,6 +17,14,5,6,49 +12,6 +32,27,14,5 +6,42 +26,14,5,6,19 +14 +17,3,14,5,6 +14,6,42 +2,25 +22,6 +6 +25,7,6 +39,9,6 +41,22,3,5 +22,6 +48,5,30 +7,30 +12,2,17,6 +48,2,6 +25 +27,14,5,6 +22,17,14,5,6,18 +35,13,22,7 +2,17,6,46 +49 +5,46 +5,6,18 +13,3,4,14,6,43 +5,6,18 +22 +14,6,11 +51,5 +5,6,49 +4,43 +26,14,16 +14,6,16 +25,20,7,14,6 +25,21 +3,14,5 +0 +3,4,6,28,10 +51,4,14 +48,6,16 +20,6 +2,5,6 +40,4,5,6 +16 +9,7,6,16 +39,3 +5 +6,21 +40,6 +5,6,10,46 +13,2,3,5,6 +17,3 +20,5 +3,5,6 +17,6 +4,42 +5,15 +50,6,8 +14,6 +4,5,6 +7,6 +3,5,6 +25,6,29,30 +37,27,6 +20,7,14,6,28,10 +12,5,43 +17,7,14,6 +3,14,5,6 +26,2 +50,17,3,5,6,29 +34,22,4,6,18 +34,12,14,6,19 +4,6,10,23 +25,22,6,19,49 +36,6 +12,14,5 +25,3,14,5 +22,17,4,5 +22,4,14,5,6 +45,12,6,21,8 +22 +6 +48,2,17,6 +7,6,11 +18 +33,5,6 +48,7,4,5,6,15,46 +20,5 +12,5,6,29 +4,5 +48,4,14,6 +17,7,6 +20,7,4,5,49 +39,7,6,11 +14,6 +7,3,4,5,6,15 +7,5,6 +40,35,14,5,6 +13,5,6 +0 +32,14,5,6,18 +5,6,46 +7,3,14,6,16 +13,5,6 +14,5,6 +17,3,5,6 +25,7,6,46,43,49 +5 +12,10 +5,6 +37,48,6,46 +50,7,3 +4,5,6 +7,5,6 +5,6,18 +20,4,6 +6 +14,5,6 +25,4,14 +20,7,14,6 +35,6 +13,20,5 +17,4 +36,25,7,6 +33,3,4,5,6 +17,5,21,43 +14,6,21 +41,14,21 +33,3,6,15,29 +40,47 +5,6 +33,26,7,4,6,18 +3,4 +38,6 +6,15 +3 +35,7,4,6 +17,14 +20,4,6 +14,6,21 +24,50,2,17,6 +4,5,16,8 +6,21,18 +14,6,21 +24,47,13,14,6,19 +20,6,11,43,49 +5,6,10,16 +13,5,15,49 +47,2,7,3,28,15,30 +25,4 +21,8 +2,22,14,6 +6 +4,5,6 +45,37,5,46 +0 +45,4,5,6,15,8 +13,5,6,46 +39,44,22 +5 +20,3,14,6 +5 +25,14,6,15,29 +5 +22,7,6 +6 +31,17,5,6,10 +6 +0 +17,7,5 +32,6,42,46,49 +0 +5,6 +2,5,6 +17 +44,2,17,5,6,16 +47,14,6,21,16 +5,6,46 +14,6 +4,6 +20,22,3,14,6 +2,17,6,21 +6 +4,14,6,42 +3,6,18 +4,5,6 +27,22,6,28 +32,6 +24,38,14,6 +39,2,5,19 +17 +31,14,6,19 +5,43 +40,20,14 +6,28,23 +36,6,21,46 +37,4,6,28 +12,2,20,3,5,6 +40,4,6,46 +0 +9,17,6,28,11 +2,25,6,15 +25,17,7,3,4,18 +51,27,2,5,6 +33,5,6,15,11 +2,7,8 +17,5,6,23 +32,13,6 +4,29 +20,6 +12,5,6,28 +2,22,14,5,6 +4,5,6 +51,3,14,6,18,43 +39,20,5,6 +25,7,3,4,6 +3,5,6 +3,5,6,19,30 +7,5,6,11 +6 +7,14,6 +22,14,28 +24,49 +14 +6 +5,6,15 +25,7,6 +44,22,14,6 +14,5,30 +12,6 +22,17,14,5,6 +36,20,5,6 +0 +27,13,6 +12,13,17,5,6,10 +50,14,5,6 +13,14 +17,4,6 +5,6 +25,20,7,28,19 +27,2,4,18 +36,12,14,49 +14,6 +32,14,6,21 +5,6 +40,32,4,5,16 +40,5,6,21 +16 +5,6,10 +50,49 +5,6 +9,14,5,46 +7,3,6 +26,6,19,16 +4,14,5 +4,6 +14,5 +17,14 +13,20,3,6 +26,5,6 +4,5,6 +14,5,6 +17,4,6,43 +12,6,28 +48,3,14 +47,17,14,5,6 +25,3,5,6,49 +41,6,19 +7,6 +4,14,6 +27,17,5,28 +7,6 +35,22,7,5 +3,6,10 +4 +14 +13,6,18 +41 +6 +25,22,14,5,6,28 +34,26,7,6 +14,5 +34,6 +5,6 +38,26,2,14,6 +13,7,6 +17,6,28 +13,17 +0 +40,25,5,28 +44,4,6,10 +5,6 +41,7,4,6,8 +4,11,49 +13,22,7,6,30 +6,8 +4,5,6 +6 +50,14,5,6 +22,5,29 +37,33,4,5 +44,6 +22,6,28,30 +27,7,16 +17,4,14,5 +2,5,6,16 +7,14,5,6 +17,4,6 +5,6 +2,25 +25,20,5 +14,6,19 +3,6 +13,7,5,6 +5,49 +36,3,6,21 +20,4,5,6,28 +9,27,6 +45,19 +17,3,6 +6 +45,33,22,5,6 +6,19 +3,6,15 +2,3,6 +12,20,17,14,5 +22,7,5,6,42 +48,7,5,6,28 +6,29 +38,2,7,6 +26,5,6,18,46 +6 +6 +34,17,6 +17,7,6 +32,36,25,22 +3,6 +36 +47,41,5,6 +27,22,14,6,23,30 +22,14,5,6,21 +20,23 +0 +14,6,15 +5 +20,5,6,16 +40,17,14,5,42 +37,27,14,6,23 +5,6 +2,5,6 +12,2,5,6 +6,16 +22,17,6,29 +37,22,14,6,29 +25,6 +47,5,6 +4,5,6 +6,19,23,49 +20,17,14,6,8 +25,4,5,6 +3,14,6,42,46 +50,3,5,6,29 +5 +25,14,6 +38,5,6,28,18,23 +14,6,49 +4,6 +22,7,5,19 +17,3,28 +6,21 +27,2,17,6 +25,7,3,21,46 +7,6 +6,49 +6 +22,6 +35,4,14,6 +20,14,5,6,21,46 +7,6 +6 +24,6 +4,5,6 +14,6,15,30 +22,6,10 +2,4,6 +7,14,5,6,15 +22,6,19 +14 +6 +5,6 +45,32,5 +14,6,43 +6,46 +17,4,5,6,11 +35,14,6,21,16 +13,7,19,8 +20,6 +20,6 +6,23 +13,6 +0 +4,14,6 +12,20,3,5 +26,6 +6,28 +2,6 +5 +6 +44,7,6 +6,49 +12,20,11 +39,25,6,15 +4,5 +25,5,6 +6,10 +3,6,21,8 +7,4,5,6 +4,5 +41,22,6,16 +38,7,3,6 +4,5,6,28 +20,6 +51 +7,4,5,6 +24 +37,25,20,5,6 +45,27,3,4,6 +28 +12,5 +6,29 +9,4,6 +12,22,6 +7,6 +5,6,15 +13,6,29 +32 +20,3,5,6 +34,2,4,5,6,42 +6,23 +5,6,15 +14,5,6 +3,11 +4,6,28 +32,14,21 +48,5,6,30 +14,6 +12,14,6 +6 +40,35,14,5,6 +2 +20,3,6 +24,12,20,14,6 +4,6 +14,6,15 +9,36,7,14,6,42 +7,3,14,6 +14,30 +6,42 +5 +35,20,17,14,6,23,11 +3 +20,7 +27,6,18 +5,6 +32,15 +2,3,4,6,15 +33,22,3,14,5,6 +40,20,22,17,4,14,6,29 +45,14,5,6 +40,6 +34,27,12,6 +14,5,6,16 +27,22,7,4 +6,30 +6 +9,33,14,21,23,29 +12,25,17,6 +6 +13 +38,13,25,14 +22,6,42,23,11 +25,6 +14,5,6,16 +6 +0 +25,6,11 +48,7,6 +33,3,43 +20,6 +7,5,6 +7,6 +3,14,5,6 +4,6,28 +3,11 +35,25,17 +38,6 +22,17,3,6 +22,3,14,6 +2,6,19 +41,22,17,3,4,14,6 +3,5,6,8 +6,15 +5,6,23 +20 +25,3,6,15,8 +44,14,5 +23,30 +27,25,4,5,6 +38,14,5,6 +3 +7,3,14,6 +7,3,14 +2,7,14,6 +41,13,6 +9,44,7,5,6 +20,4,14 +6 +0 +20,22,4,6 +17,14,5,6 +14 +24,5,6,23,46 +22,5 +17,14,6,28 +2,6 +34,5,6,28 +12,6,10 +22,17 +22,14,6,15 +27,22,5 +22,7,3,5,6,21 +22,5,6,10 +48,5,6 +5 +38,6,42,23 +7,14 +5,6 +3,5,30 +5,6 +14,5,6,49 +2,14,5,6 +47,14,5,6 +17,6 +16,49 +2,14,6 +7,4,14,6,15,16 +5,6 +25,17,4,14,5,6 +13,17,14,6 +14,5,6,28,16 +5,6 +3,6,46,49 +4,5 +22,14 +4,14,6 +17,3,6 +6,28 +17,14,6 +12,5 +3,14,5,6 +13 +41,22,14 +13,5 +27,5,6 +12,17,6,46 +27,12,14,19,29 +41,5,8 +35,41,3,6 +13,17,3,14 +37,38,12,2,25,14,5,6 +17,6 +4,6 +5,6,28,18 +2,5 +6 +25 +3,42 +7,14,5,21 +17,4,6 +34,14,6,18 +3,5,6,16,18,46 +25,3,6,23 +37,26,12,17,4,5,6 +2,4,5,6 +4,6 +7,14 +14,6 +45,2,14,28 +6 +12,7,15,19 +2 +33,6 +14,5,6 +48,3,6,30 +6 +17,4,6,23 +9,5,6,10 +14,5,6,8 +6 +3,21 +25,17,3,6 +5,6 +24,26,12,25,6,30 +33,25,20,3,4,19 +17,5,8 +14,15,43 +25,17,14,6 +14,5,6 +33,3,6,28,23 +38,6,11 +14,6,16 +4,6,42 +24,35,6 +20,14,28 +17,14 +15 +7,4,6 +50,13,25,4,5 +12,14,5 +17,8 +13,4,14,5,6 +4,5,6,49 +21,10,30 +14,6 +6 +0 +32,13,7 +6 +17,4,6 +24,14,6 +51,13,7,14,5,6 +3,6,42,29 +22,17,5 +7,5,6,43 +6 +6 +51,12,13,14,6 +17,3,4,5,6 +48,14,6 +3,14,6,42 +5,18 +33,22,7,4,5,21 +6 +17,6,28 +0 +44,6,21 +6 +24,4,14,5,16,8 +14,6 +35,17,6 +14,28 +2,6 +39,13,25,4,6,46,30 +17,5 +6,11 +2,14,6,11 +6,28 +13 +14,6 +47,33,25,20,4,5,6 +32,4,6,11 +45,33,5 +17,14,18,49 +12,14,5,6,19,49 +0 +12,3 +6 +3,14,6 +22,7,6,10 +4,6 +25,7,14,6 +50,40,3,6 +4,6 +20,4,14 +5,6 +14,6 +51,4,14,5,6 +6,46 +4,6 +6,28,10 +44,25,6,19 +4,5 +3,6,21,18,49 +2,5,6 +47,27,14 +27,20,4,14,5,6,42 +6,21 +14,5,6 +20,5 +5,6,10 +6,10 +6,28 +40,32,5,6,15 +24,7,14,6 +9,3,6 +3,6,16,23 +17,7,14,49 +17,6,15 +7,4 +9,34,7,6 +35,12,4,14,6,42 +27,12,17,4,6 +20,7,3,14,5,6 +12,7,6,15,11 +26,3,4,14,5,28 +3,5,6,15 +22,6,10 +38,44,4,5,6 +0 +13,4,30 +14,5,6 +26,22,4,14,6,11 +14,5,6 +6,30 +26,20,5 +51,5,23 +25,22,14,5,6,10,29 +12,6,28,16 +7,4,5,28 +48 +6 +41,2,7,14 +4,14 +12,7,5,6,15,29 +50,40,25,14,5,6,15,18,8 +3,14,21,18,23 +25,7,4,5,6 +40,25,4,5,6,19,30 +5,6,29 +13,25,7,21 +4,14,6 +42 +5,6 +33 +22,3,5,6,15,16,11 +45,6 +14,6 +16 +0 +27,2,14,6 +6,18 +51,7,4,28 +6 +7,6,21,42,8 +14 +20,5,6,18 +22,3,6,23 +13,22,6,46 +35,20,6 +6,21,23 +2,25,20,7,5,6 +22,5 +40,2,25,6 +45,47 +20,17,5,6,19 +30 +32,17,4,14,5,6 +38,6,11 +7,6 +2,17,4,5 +14,5,6 +13,5,6 +2,3,5,6,21 +25,14,6 +20,3,5,6 +14,5,6,11 +14,6 +39,6 +6,18,49 +12 +13,5,6,8 +25,20,4,14,6,10,30 +13,6,15,23 +7,14,43 +22,4,6 +26,25,7,3 +6 +51,14,6 +42 +6 +33,17,6,28 +24,12,7,4,5,6,21,15,29 +20 +25,23,8 +7,5,6,42 +34,6 +13,3,6,11 +5,6 +25,14,5,6,28,49 +25,3,6 +17,14,5,21 +32,5 +4,6,28,19 +22,14,5 +47,3,28 +13,17,6 +35,20,5 +33,7,6,15 +9,46 +3,5,21,8 +5,6 +12,14,6 +5,6,21,43 +5,6 +7,6 +5,6,21,8 +6 +17,7,5,6 +22,3,5,6,11 +14,6,21 +26,6 +44,5,6 +5,42 +13,2,21 +7,4,5,6,49 +24,4,6 +12,6 +37,4,5,6 +14,6 +3,6,15 +14,18,23 +2,19,8 +5,6,19 +5,28 +6,42 +26,3,4,14,6 +35,7,4,6,28 +32,25,17,4,14,6,19,8 +32,6 +33,17,7,3,14,5,6 +9,17,7,5,6,46 +12,4,14,6 +6,49 +22,5,6 +34,7,14,5,6 +14 +14,5,6 +6,28 +5 +6 +14,6,19 +34,38,22,4,14,6 +33,2,3 +39,50,37,4,6,23 +45,14,8 +5,6 +3,5,6,46 +0 +5 +6,8 +33,20,7,4,5 +40,22,6,16,18 +7,3 +6,49 +14,5,6,21,28 +3,4,5,21 +3,5,6 +0 +13,14,5,6,10 +25,17,7,3,6,29 +34,6 +6 +39 +4,5,6 +3,6,49 +25,4,6 +6,42 +4,5,6 +7,4,14,5,6 +4,5,29 +4,14,6 +17,6,19 +14 +10 +7,16,23 +17,5,6,21 +2,14,6 +5,6 +32,4,5,6,19,42 +17,5 +5,6 +25,5 +5,6 +13,6 +17,14,6 +44,26,12,5,6 +13,22,5,6 +6,23,49 +51,50,13,25,7 +34,22,4,6,49 +47,6,28 +22,5 +5,6 +38,12,25,4,14,6 +13,17,6 +38,26,14,5,6 +2,6,10 +4,5 +13,7,3,6 +25,20,7,14,6,43 +22,5,6 +5,6 +6,19 +6 +17,14,5,6 +6,15,29 +22,6,16 +6,15 +34,13,7 +20,14,5,6,15 +35,14,6 +24,14,5,6 +7,6 +13,3,5,6 +27,4,5,6 +3,6,23 +3 +6,16 +4,6 +33,7,14,5,28 +5,6 +2 +6 +22,17,5,6 +12,20,7,4,6 +17,6,16 +6 +25,4,6 +13,7,6,11 +5,49 +33,6 +38,6 +2 +2,25,4,14,6,28 +32,20,4,5 +32,6 +33,7,3,6 +39,6,10 +12,2,4,6 +3,5 +2,14,6 +20,14,6,15 +5,19 +27,6,16 +20,17,6 +0 +14,5,6 +14,6 +17,5,6 +5,6,10,43 +7,42 +20,4,6 +17,7,5,28 +35,49 +35,2,5 +5,6,19 +12,5,21 +0 +5,6 +20,5,6,29 +4,14,5,6 +44,20,5,43 +33,12,20,4,14,6,8,49 +5,6 +24,25,5,6 +25,3,4,5,6,42,23 +3,4,5,28 +6 +14,6 +14,6 +12,7,4 +34,20,6,19,23 +2,22,4 +13,5,6,16 +14 +14,5,10 +29 +7,14 +17,14,5,6 +25,6,49 +12,13,6,28,23 +4,6,15 +6 +40,12,14 +6 +26,6,46 +38,22,14,5,6 +44,17,14,6 +25,17,4,6 +14,5,6,19 +40,20,17,4,16 +17,7 +44,4,6 +34,5,6 +12,20,4,6,8 +6 +4,14,5,6,19,16 +32,2,4,6,19 +2,7,5,46 +39 +14,6,15 +5 +27,3,6,15 +14 +2,6,23 +6,21 +45,5 +6,8 +4 +5,6 +4,5,6,21 +2,14,6,15 +2,22,17,4,14,6 +14,6 +25,20,6 +14,5,6 +17 +40,6 +6,10 +7,6 +2,17,6 +22,6 +40,3,5,6 +0 +45,24,4,6 +6 +7,5,6 +7,5,6,21,15 +49 +2,5,6,10,43 +43 +47,3,6 +20,4,6,21 +3,6 +47,2,25,20,17,6,29 +2,3 +2,17,6 +40,34,6,23 +13,6,11 +17,14,5,6 +35,2,6 +22,14,5,19 +26,7 +7,6,16 +25,4,14 +17,7 +5,6 +50,27,6,21 +13,20,14,6 +39,5,6,8 +3,5,6 +25,4,14,5,6 +12,3,4,5,6 +12,6 +7,6 +6 +13,3,6 +5,6 +14,6,11 +5,6 +14,6,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +25,3,6 +27,7,3,6 +5,6,15 +12,17,7,4,5,6,8 +7,4 +12,17,4,6 +13,4 +14,6 +45,3,14,5,6 +45,32,13,14,16,49 +25,4,14,6 +6,16,43 +12,25,6,19 +4,6 +2,5,6,19 +12,25,5,6 +6 +3,6 +5,6,15 +20 +27,7,6 +2,5 +6 +13,5,6 +22,6,43 +13,7,6 +40,12,4,6 +6 +14,5,6 +2,17,6 +5 +17,6 +5 +7,3 +6 +13,20,22,14,6,8 +14,6,10 +47,22,6 +3,4,6 +5 +20,3,6 +22,6 +13,2,17,4,5,6 +13,5,6 +7,6 +34,3,14,5,6,28 +7,6 +20,7,4,5,6,8 +6,19,46 +6,23 +22,14,5,6,8 +6 +6,43 +40,25,6 +4 +20,3,5,6 +14,15,42 +13,6 +45,38,22,3,14,42 +33,22,5,6 +6 +25,6 +5 +14,6 +44,5,6,28 +5 +0 +6,28 +6 +20,6 +39,5,6 +6 +14,6,19 +5,6,11 +6 +6,15 +32,13,20,4,10 +14,8 +8 +13,22,17,11,43 +33,6 +3,5,6 +14,5,6,28 +35,6 +14,6 +27,10 +4,5,23 +20,7,6,23 +6 +5,6 +6 +17,6,8 +5,6 +39 +13,8 +14 +12 +5 +25,14,6 +13,5 +35,6 +47,3,4,6 +35,6 +20,4,14,28 +20,6,42 +45,17,14,5,6 +5 +33,26,4,6 +47,5,6 +50,35,20,6 +17,5,6,8 +12,4,6 +0 +17,5,6 +6 +44,14,6 +12,20,3,14 +22,6 +6,19 +5,6,43 +3,5,10,16 +6 +20,7,4,5,6 +27,14,6 +4,5 +20,3,6 +12,6,19 +3,4 +0 +26,3,14,5,42 +22,4,6 +4,5,6 +14 +7,6 +7,6 +13,17,6 +5 +0 +6 +14,6 +50,26,22,3,5,6 +26,3,6 +5 +5,6 +6 +3,4,6 +50,17,6,28 +6 +13,4,6,11 +4,6 +6 +5 +14,6 +24,14,6 +3,5,6 +5 +14,5,6 +20,5 +20,6 +12 +12,4,14,6 +20,4,6 +35,42 +6 +39,14,6,16 +45,13,17,7,6 +45,47,7,4,14,5,6,28 +50 +6 +12,5,6 +12,6,15 +6 +0 +12,7,5,6,15 +3,4,14,5,28,23 +12,6 +4,15 +34,4 +6 +20,6,19 +14,6,10 +39,17,6 +0 +3,5 +24,6 +3,14,6 +33 +33,4,6 +7,4,19 +3,4,14,6 +24,6 +12,7,14,5,6 +14,6 +20,6 +7,4,5 +13,17 +6 +20,3,14,5,6,15 +12,5,6 +6 +5,6 +6 +12,4,6 +44,5 +6 +5 +44,3,6 +4 +4,6 +7,3,14,6 +14,5,6 +5 +5,6 +3,5,6,15 +5,6,11 +13,6 +50,6 +39,17,7,6 +6 +5 +26,14,5 +6 +5 +7,14 +39,7,6 +6 +17,4,6 +47,17,7,6,28,23 +17,14,5,6 +17,14,6 +5,15 +3,4,14,6 +0 +17,14,6 +35,26,20,4,5,6 +5,6 +14,42,23 +3,6 +42,8 +3,6 +14,6 +3,4,6,10 +5,6 +14,5,6 +50,26,5,28 +33,4,6 +5,6 +14,6 +6 +4,14,6 +14,6,10,8 +4,6 +26,5,6,42,43 +24,14 +45,6 +14,6,15 +38,6,19 +26,5,6 +0 +20,4 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +35,5 +4 +5,23 +14,5 +5 +20,28,19 +4,28,42,23,8 +14 +0 +33,5 +4,14,23 +33,19,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +14,5 +4,5,11 +4,19 +4,23 +14 +13,5,42 +13,5 +0 +14,28 +4 +0 +14,10,11 +33 +50,44,14,5 +14,28,15,8 +4,42,11 diff --git a/testing_data/siftsmall_R32_L50_filtered_index_labels.txt b/testing_data/siftsmall_R32_L50_filtered_index_labels.txt new file mode 100644 index 0000000..87ad4de --- /dev/null +++ b/testing_data/siftsmall_R32_L50_filtered_index_labels.txt @@ -0,0 +1,10000 @@ +2,3,4,5 +6 +6,7,8 +0 +6 +4,6,9,10,11 +6 +6 +4,12 +6,8 +3,5,13,14,15,16 +5,6,17,18 +5,6,19 +6,14,17,20,21 +2,12 +13 +6,22 +10 +6,10,17 +5,6,11,23 +6 +6,24,25 +6 +4,7,24,26 +3,14,21,27 +3,6,14,23 +6,14,15,28 +5,6,14,29,30 +2,7,31 +6,25,32 +5,6,8,19,33 +6,11 +4,10,14,15,17 +6,13,34 +6,13,15,17,35 +3,4,8,14,36 +3,5,6,21 +4,6,7 +2,5,33 +6,14,16,37 +5,38 +6,10,14 +3,5,7,14 +28 +6,39 +2,3 +5,6,7,29 +6,8 +26,35 +5 +6,21 +5,6,7,13,14,40 +6,14 +5,6,41 +3,6,13,34 +5,6,22 +3,4,5,6,29 +3,5,6 +6,28 +3,4,6,25 +6,21 +6,14,37 +4,6,34 +5,6,15,22 +4,6,28 +5,6,17,29,42 +6,43 +6,11,26 +3,6,7,25 +5,6,44 +7,38 +6,13,45 +2,5,6,21,40 +6 +4,6,14,40,41 +10 +5,6,7,23 +6,14,20,31 +6,12,44 +5,6,7,17,45 +6,12,18 +6,11 +7,20,46 +3 +2,6,17 +31,46,47 +2,5,26 +0 +4,5,6,14,42 +4,5,6,11,27,37,41,48 +2,3,4,6 +5,14 +5,6,17,28 +2,5,6 +4,5,6,20 +12,20,49 +6,7 +6,14,19 +3,6,22 +30,37 +6,16,42 +2,4,6,10 +6,17 +14 +4,5,10 +6,10 +3,6,16,17 +4,5,6,50 +4 +50 +14,21,35 +6,14 +2,4,16 +5,15,22 +6,17 +6,8,43 +6,29 +6,11,14,17,24,25 +6,12,14,15,18 +10,14,22 +6,7,14,25 +49 +6 +3,5,6,25,32 +4,18,21 +4,6 +6 +0 +6,31,32,36 +6,26 +5,6,19,22,30 +3,5,20,43 +6,34 +5,19 +5,6,22 +3 +4,6,25 +5,6,7,25 +6,12 +5,6,10,13,17,18,19,42 +3,8 +7,17,28,37,46 +6,21 +6,46 +5,6,46 +5,6 +2,6,7,19,20,28,47 +6,41 +3,5,6 +5,12 +6,44 +3,29 +2,4,6,15 +5,6,14,16,35 +6,48 +5,6,15 +4,6,14 +6,14,22,25 +14,33 +3,6,31,32,39 +6,25 +5,13 +5,6 +6,15,21 +0 +6,14,15,39 +3,6,11,13,21,36 +3,33 +5,6,25,29,48 +4,6,17,20 +3,4,5,6 +5,6 +2,3,5,6,16,17 +6 +4,5,13 +5,6,36,38 +2,6 +5,6,9,14 +3,6,11,14 +6 +5,6,24 +5,6,12,38,48 +4,6,24 +6,8,23 +3,5,6,22 +5,6,17,26,41 +13,14,16,41 +6 +6,49 +3,4,6,21,34 +2,6,17,18 +5,6,28 +6,26 +4,6,16,17 +4,5,7,8,28 +6,8,16,38 +3,5,6,25,31 +3,4,5,6,7,14,22,25 +6,14,37 +5,6,14 +6,7,13,20 +4,5,6,25 +7 +5,6,25 +5,46 +5,6,44 +4,5,6,12,19,21 +6,20 +4,6 +5,6,14,17,20,26 +4,6 +3,14,22 +4,6 +6 +5,6,14,17 +6,22,38 +6,14,39 +6,12,15,47 +5,6,12,22,42 +5,6,20 +4,6,8,15 +3,4,6,22,28 +6,9,28 +6,14,25 +6,11,22 +6,7,30 +5,7 +6 +7,34 +5,6,7,14 +3,6,37 +7,14,46 +5 +5,6,7 +2,6,7,8,50 +6,22,25 +6,7,14,42 +6,14,17 +5,6 +4,5,6,50 +4,6,13,14,36 +5,6,7,15,16,22 +6,14,30 +6 +5,6 +3,5,6,12 +5,6 +6,17 +5,6,12,14,25 +3,5,6,28 +3,6 +5,6,20,23 +4,6,27 +4,6,40 +3,6,12,18 +28 +5 +17 +5,6,7,14 +3,4,5,6 +5,6,14 +4,6,49 +5,6,7,17,18 +6,9 +5,21 +5,7,17,42 +0 +4,5,6,7,34,40 +3,14,35 +3,4,5,6,21 +6,11 +6,14 +6,20,38 +5,17,20,25 +5,6,13,15 +5,6,14 +6,12,14,37 +6 +16 +18,23,28 +5,6,47,51 +6 +0 +3,6,25 +2,4,6,10,20 +6,10,12,44 +6 +5,13 +5,18,22,40 +5 +2,3,19,37 +4,5,6,22,47,48 +6,21,22 +6 +5,6 +6 +6,7,15,18 +5,6,7 +0 +3,6,15,17 +6,7,14,21 +5,7,17,23 +4,5,22,29 +5,6,15,25 +2,6,14,49 +10 +3,6,14,44 +17,25 +6,7,9,38 +6 +4,5,6,11 +5,6,14,35 +4,5,6 +6,7,32 +6,40 +2,6,25 +4,6,17 +2,6,17,21,28 +4,17,44 +6,34,46 +17,22,35 +6,7 +2,5,6,26 +5,6,14 +4,6,10,48 +4,5,15,20 +4,6 +22,44,47 +3 +0 +4,6,43 +6,14,50 +5,6,25,33 +5,6,15,18,29 +4,5,6,25,44,46,48 +5,6,11,14 +5,19,20 +5,6,11 +2,21 +6,22,32,39 +4,6 +5,12,13,14,36,45 +4,6,13,17,23,44 +5,6,14,15 +6,34 +14,22 +10,21 +5,7,42 +6,20,42 +2,4,7 +6,29,35 +6,14 +5,6 +2,23,29,38,51 +6,7,50 +4,6,14,17,42 +12 +4 +5,6,26 +17 +3,6,13 +6,7,22,28,36 +6,14,16,28 +5,6,10,14,29 +5,6,25 +5,10,12,14,38 +3,6,7,14,37,42 +2 +6,14,23 +5,6,21,30 +5,6,20,48 +6,7,35 +6,14,20,45 +5,6,25 +6 +17,36 +3,5,6,14 +5,6 +5,13,16 +4,14 +6 +6,18 +5,6,20,23 +6,16 +5,6,12,48 +5,34 +4,5,6 +6 +6,7,8,18,28 +17 +6,14,30 +6,46 +6,12,14 +4,5 +6,13,14,40 +5,16,17,29 +3,6,15,25 +15,18,48 +6,13,15,44 +5,27 +4,5,15,41 +6,18 +4,5,6,16,34 +6 +22 +6,14 +2,3,4,6,7 +4,6,14,27 +10,20 +2,5,6,14,42,49 +19 +6,18,29,36 +5,14,42 +4,6,13,16 +5,6,14 +3,5,6,14,15,24,30,35,43,46 +3,5,6,31 +7 +6,14,19,25,33 +6,30,42 +3,4,6 +6,14,22 +5,15 +2,5,6 +8 +5,14,32,43 +4,5,6,15,17 +4,6,25 +6 +3,5,9 +5,6,14,17,26 +4,12,17,37,42,49 +12 +3,6,17,36 +5,6,13,49 +2,6,35 +3,22 +2,5,6 +2,6,31 +14,17,21,22,30 +6,14 +5,6,14 +3,20,22,47 +3,4,6 +6,37,46 +4,5,6,14,15,41 +6,16 +6,14 +4,20 +3,8 +5,6 +3,6,14 +5,10 +2,6 +4,14 +4,32,33,48 +6,29 +6,10,25,46 +4,6 +3,5,6,14,16,46,47 +6,8,12,36 +4,18,25,39,43 +6,19,28,46 +0 +14,19 +5,15,21,41 +3,4,5,6,7 +2,6 +4,5,6,14,22 +3,4,6,7 +3,6 +6,8 +5,6,14,17 +6,7 +14,43 +6,18,26 +6,19 +2,5,6,41,50 +3,5,6,7,20,23,25 +3,6,18 +0 +0 +5,7,28,42 +6,14,28,51 +3,4 +6 +3,5,6,29,34 +3,5,6,14,22 +6 +5,6,34 +6,14,26 +0 +4,6,14,25,27,28 +5,6,19 +4,6,7,14 +3,6 +6 +6,10,14 +6,14,17,37,39 +3,6,13,17,19,31 +14,21,22,46 +4,5,6,7,14,15,17 +6,25 +4,5,8,17 +6,8,17,22 +6,14 +6 +2,5,6,17,34 +4,5,18,26,45 +6,34 +4,6,17,26 +3,4 +4,6,12,14 +4,5,12,14 +3,4,13,20,25 +6,10,14 +6,50 +6,41 +5,11,28 +6,14,17,46 +17,48 +6,17 +3,6,14 +5,6,14,18 +5,6,14,16 +5,14,49 +6,7,14,37 +6,20 +6,14 +14 +0 +2,3,5,14,22 +4,6,25 +14,22,40 +5,6,7,11 +4,20,26 +5,6,7,14 +0 +6,20,34 +6,14,16,44,49 +5,6,14,40 +6,14 +2,6,10 +3,6,28,49 +5,6 +15 +5 +2,6,36,47 +3,6,42 +5,6,18,26 +0 +38 +6 +0 +3,4,6 +6,11,22 +6,10 +5,6,13,27,40 +0 +6,17 +6,14,28 +5,13,34 +14,43 +6,17,37 +4,5,6,10,47 +6 +6,8,44 +6,7,10,15,36 +14,23,45,47 +5,6,27,34 +6,7,25 +5,6,7,13 +6,14,42 +5,6,23,28 +5,14 +6,22,38 +4,6,37 +6,12 +4,6,46,49 +6,40 +3,6,22,32,43 +6,28 +40 +2,6,7 +5,22 +3,6,25,49 +10,17,47 +3,6,14 +2,6 +7,43 +5,6 +6,13,22 +6,12,14,36,39 +2,5,6,30 +5,6,7,15 +3 +3,4,6,7,8,11,14,27 +4,5,6,7 +6,9,11,44 +3 +6,7,22 +6,22 +4,6,25 +6,13,18 +23 +6,22 +5,6,8,12,17 +5,27 +4 +2,4,20 +6 +5,6,15,22,25 +6,18,24,25 +6,20,29 +7 +5,6,7,13,14 +8,10,17,37 +6 +6,8 +3,6,14 +6,16 +6,12,13,14,22,25 +4,5,6,20 +5,7,11,37,50 +0 +6,13,14,29 +6,8,16,18,22 +5,6,10,14 +4,35 +6,14,20 +14,21 +5,6,17,21,50 +4,6,21,48 +4,6,17 +5,6 +4,5,6,13,26 +4,5,6,22 +5,12,15,43,44 +5,6,13,16 +6,10,14,21,28,44,49 +3,5,6,22,34 +5,6,17,42 +5,6,7,13,14 +6,23 +2,7,22,28 +15,41,49 +2,3,5,14,17,46,47 +6,40 +3,4,5,6 +2,6,35,50 +6,7,14,36,42 +4,6,14,18,22,36,38 +5,6,14,35 +4,6,7,9,11,14,20 +5,6,17 +5,6 +6,48 +5,6,7,17,21,35 +2 +2,6,7 +12,22 +5,6,7,14,19 +6,14,16,22 +4,6,17,25,35 +4,5,6,11,22 +6,17,20 +6 +5,6,20 +3,6,13,25 +5,14,17,28,30 +3,25 +5,6,29 +3,4,6,17,30 +5,6,14,46 +5,14 +5,6,14,18,31 +3,4,6,18 +5,6,7 +0 +5,6,7,30,46 +17 +5,6,10 +6,7 +4,5,6,14,46 +5,6,12,14 +0 +5,6,10 +6,12,21,23,49 +2,3,8,10,17,48 +3 +2,5,6,36,49 +6,7,10,14 +4,6,24,44 +6 +5,6 +4,6,23,27 +3,6,7 +2,6,29 +3,5,6,14,28 +5,6,7 +5,6 +6,14 +5,14,26 +6 +5,6,34 +5 +6,51 +5,6 +6 +3,13,48 +3,6,7,12,14 +6,7,45,46 +6 +5,6,14,21 +6,7,8,21,31,37 +6,20 +6,15,17 +3,13,15 +4,6,14,16,46,48,50 +2,7 +6,22 +3,6,14,15,17,34,35 +6,15 +3,5,6,14,39 +6,7,14 +5,6,14 +0 +6,26 +6,8,17,25 +3,4,5,6,14,17,44 +6,14,16,17,18 +3,5,7,17,42 +5,6,14 +3,6 +4,6,9,47 +4,6,7,22,33 +6 +4,17,20,45 +3,6,7 +2,13,20 +6,35,44 +4,6,14,36 +6,7,14,17,22 +5,19,20 +6,14 +6,20 +3,5,6,20,42 +3,4,5,6,7 +3,5,6,17 +5,7,9,20 +5,6,22 +5,6,20,35 +5,6,9,12,40 +4,6,19,27 +6,14,28,30 +4,6,25,46 +2,6 +6,14 +14,20,46 +6,20 +6,7,20,28 +6,13,25 +4 +6,36,46 +6,14,18,19,25 +6,14 +6,7,44 +4,5,28,51 +4,6,42 +6,22,28 +15 +6,17,28 +2,5,6,12 +5,6,28 +10,14 +5,6,22 +5,6,17,21,22,25 +2,5,8,22 +6,12,17,19,33 +4,6,16 +6,15,18 +5,7 +6,13 +6,17,25 +2 +3,6,16,46 +12 +6,32,44 +5,6,14,18,23 +6,8,20,31,43 +3,5,45,51 +4,6,8,23 +5,6,14,18,43 +13,21 +3,6 +15 +6,14,17,22,30,37 +6 +6 +3,5,6,7,41 +6,15,25 +6,7,12 +5,6,9,13,16 +6,7,21,29,49 +4,22 +6,12,13,28 +2,3,6,21 +22 +3,6,27 +6,40 +5,6 +5,16,22 +4,5,6,14,21,28,39 +4,6,17,20,39 +6 +3,16 +4,6,11,13,22 +6 +2,5,33 +2,4,5,14,23 +3,6,17,27 +2,3,6,14 +5,6,17,21 +6,8 +6,18,46 +2,3,6 +6,17 +5,6 +2,6,21,49 +6 +5,8,46 +6,16,29 +5,6,17 +4,6,17,33,48 +6,42 +6,9,16,19,33 +6,51 +8 +5,6 +3,4,6,7 +5,6,7,12 +3,6,12,21 +4,5,7 +5,6 +5,6,7,49 +6,14,21 +6,15,42 +5,6,21 +6 +3,6,18 +5,6,15 +5,6 +6,10,14,25,31,49 +6,16,29,30 +5,6,25,28,31,36,46 +2,4,6,7 +2,3,14,17,31 +6,18 +5,6,17,44 +5,6,44 +6 +6,7,17,22,25,28 +6,11,17,22 +5,6,44 +6,16 +6 +3 +4,20 +5,12,21 +6,7,12,19,22,49 +6,17,19,26 +6,14 +6,14,22 +5,22 +6,8,14,25,26,51 +4,6,26 +3,6,22,31,49 +12,24 +3,6,11,13,33,42 +14,50 +6 +14,26 +3,5,6,8,32,44,46 +5,6,13,22 +3,6,7,14,39 +4,6,46 +4,6,7,14,46 +5,7,51 +3,6,23,32,48 +6,8,17 +6,14,21,43 +5,6,9,17 +5,6,7,14 +6,22,48 +6,14 +17 +3,6,14 +6,48 +5,6,20,21 +4,6,14,17,19,21,33 +5,22 +6,7,44 +6,13,40,49 +6,40 +6,14,15 +3,6,17,42 +12 +4,6,20 +5,6,42 +5,6,14,25,29,47 +4,6,17 +5,6,7,22,42 +5,6,14,28 +5 +6 +6,14 +9,14,16 +6 +3,5,6,16,37 +4,6 +6,42 +3,6,14,23,31,43 +6,17 +3,5,6 +6,14,15,30 +5,14 +6,14 +6,13,14,17 +6,10,12 +4,48 +4,5,6,14,31,49 +4,6,16,31 +2,3,4,6,7 +4,6,48 +14 +5,6,12,19 +5,34 +5,6,8 +4,6,42 +25 +6,13 +6,22,29 +3,6,21,22 +4,6,34,41,48 +4,5,6,8,15,20 +4,6,7 +4,5,6,19 +2,5,6,14,28 +5,6,49 +6,7,17 +6,11,14,36 +5,6,14 +3,6,11,47 +5,9 +5 +4,5,6 +4,6,15,46 +6,14 +4,6,17,25 +6,44 +5,6,15,48 +6,17 +3,5,6,12,20,51 +4,6 +5,6,10,15,22,42 +6,7,10,15 +20 +4,20,25 +4,6,8,16,29 +6,14,22 +3,5,6,28,35 +5,6,46 +6,23,40 +5,6,22,23,51 +3,6,7,14,19,22 +3,6,44 +3,11,25,38,48 +4,6,25 +2,6,7,17,29,33 +2,5,6,21 +3,4,6,14,16 +2,5,6,14,51 +6,7,18,28,47 +5,6,8,20 +0 +14,49 +2,4,5,6,12,32 +6,10,48 +6 +6,13,30,31,35,40 +5,6,34 +6,14,20,23,30,48 +2,6,32,44 +5,33,35 +4,5,6,25 +4,6,14 +6,25 +4,6,20 +6,17,33 +2,6,7,14,22,38 +5,13,30,33 +6,7,17,18,29 +5,6,8,28 +5 +6,14,22 +39,47 +13,20 +4,5,6,8,20,22 +6 +6,36 +5,6,11,14,19,38 +5,6,28 +4,6 +5,6,10,14,40 +5,6 +4,6,7,22,23 +6,7,47 +6,19 +3,5,6,20,22 +6,7 +3,5,10,14,15 +3,5,6,17 +5,6,7,14 +6,14 +2,6,12,14,34 +6,20 +6,17,18,28 +6,13,17,41 +14,43 +14,45 +6 +4,5,7,14,45 +7,14 +6,14 +6,7,22,25,39,47,51 +6,14,23 +6,17,24 +6,7 +5,6,13,14 +5,6,10 +2,6,8 +5,6,49 +4,6,30,34,45,49 +6,29 +3,6,13,15 +6,26 +2,3,21 +6 +4,6 +4,6,23,35 +13,16 +5,6,17,33,42,48 +3,6,16,20,30 +5 +5,6,16,34 +5,22 +6,22,51 +5 +6,13,14 +3,4,17,20,44 +4,44 +4,6,14 +20 +2,6 +6,20,22 +5,6,21 +5,6,42 +6,17 +4,17,18 +4,5,6,13 +4,6,12,15,17 +5,14 +6,14,28,33,39,42,49 +3,6,7,18,22,25,28,51 +17,28,45 +6,7,14,21 +14,20,46 +6 +5,6,21 +5,6,16,22 +6 +3 +3,5,22 +6,21 +6,30,48 +6,7,22,44 +3,4,5,6,14 +3,5,6,14,16 +6,21 +6 +6,16,22,37 +4,6,22,30,37 +6,18,48 +6,9,12,44,50 +5,7,14,25,42 +2,5,6,18,35 +3,10,25 +2,4,5,6,12,14,22 +6 +6,7,13,17 +4,5,42 +3,6,14,15,27 +9,46 +5,6,9,13 +5,6,35 +6,13,17,25,45 +6,18,20,40 +5,6,44 +2,3,14,18,25,46 +25,42 +4,6,22,29 +6,10,13 +3,4,5,6,28,42 +6,34 +6,17,23,29 +6,17,43 +2,6,21 +6 +6,7,10,17,37 +4,5,6,44 +3,5 +20 +6,34 +6,15,42 +6,20,33,42 +0 +6 +6,12,18 +49 +6,14,39 +5,22,40 +5,6,25,49 +5,6 +48,51 +14,19 +6,21 +3,11,36 +5,14,48 +5,6 +0 +2,14 +4,6,7,18,20 +6,11,17,22,30 +4,5,22 +5,14,30,46 +6 +2,6,23,49 +8,22 +6,7,48 +3,5,6,33,39 +14,17 +6,9,14,22,25 +5,6,7,15,17,23 +3,6,49 +4,5,6,7,15 +6 +6,20 +3,5,6 +4,15,20,26 +4,19 +6,14,39 +6,28,50 +3,6,7 +5,14,16,25,34,43 +6,22 +5,20 +6,8,14 +5,20 +6,22,48 +4,28 +6,14,19,20,28 +3,5,6,14 +3,4,14,19,22 +5,13 +4,6 +4,14,22 +6 +13,30 +39 +4,5,6,14 +6,22 +6,22 +3,5,7,14,21,44 +4,5,6,20,27,30,43 +3,5,6 +6,33 +3,6,13,19,48,51 +6,18,34 +3,6,35 +3 +5,6 +15 +6,11,14,17 +6,14 +5,6,20,30 +5,6,17,45 +6,16,40 +5,6 +3,5,6,21,22,34 +5,6,7,20,37 +6,14,20,41 +6,17,19,20,22 +3,6,14 +10,43,47 +6,22 +6,7,10,17,41 +5,6,17 +0 +3,6 +3,4,6 +5,6,20 +4,5,6 +4,6,20 +14,42 +5,6,22 +6 +5 +18,40 +19,20,29,42 +5 +5,6,12,22 +6,14,15,19,48 +2,23 +6 +5,6,28 +14 +5,6,14,17,44 +5,6,19,30,51 +2,5,14,17,45 +6,14,22 +3,6,48 +6 +6,17 +14,20,42 +3,15,38 +6,23 +6,14 +3,6,8,12,13,21 +4,6,14,22 +19 +8,23,28 +6,9,14,41 +4,6,14,17,22,45 +3,4,5,6 +6 +4,22,39 +6,15 +5,6,33 +6,14,17,20 +6,14,21 +6 +4,5,6,25,39 +5,6,13,14,20,23,36,43 +0 +6 +19 +6,7,10,16 +3,4,5,6 +4,5,6,42 +6,12,17,19,22,44 +6,50 +3,5,6,18 +6,14 +5,6,21 +4,6,7 +4,5,28,30,38 +5,30 +43 +5,20,21,28 +5,6,20,39,41 +6,22 +6,22,33 +4 +4,5,6,38 +5,6,14,30 +17,28 +6 +6,14,17,20 +14,17,50 +4,5,6,7,15,47 +6,7,19 +14 +4,34 +5,7,14 +7,25,33 +4,6 +5,6 +2,6 +5,7,38 +3,4,5,6,14,15,22,29 +6,14,22,33 +5,6,7 +6 +12,14,20,28 +4,6,18,49 +5,6,17 +4,6,33,34,36,42 +6,7,20,25,30 +6,17,34,50 +3,20 +5 +5,6,17,21 +13,26,33,46 +6,14,42,43 +3,7,14,29 +2,6,28,44 +13,14 +3,6,10,44 +6,46 +3,5,6,22 +4,6,27 +2,4,14 +3,4,5,6,11,30 +6,38 +6,7,14 +14,19,48 +3,5,6 +5,6,7,44 +5,14 +6,28,34,44 +6,7,14,22,35,46 +3,6 +3,6,50 +6,30,46,49 +6 +6,8 +16,22,29 +2,29 +6 +5,6,25,49 +30,46 +6,18,19,25 +5,6,36 +4,6,7,50 +6,17,46 +6,17,21 +3,4,14,17 +5,6,14 +2,5,6 +4,6,17 +4,5,14,29 +5,6,10,14,20 +0 +5,7,44,51 +6,14 +6,9,12,13 +6,38 +5,10,27,28,36 +5,46 +5,6,27 +18,20 +5,6,26 +6,11,25 +4,19,26 +0 +3,4,6,16,21,27,28 +3,7,30,46 +6 +5,6,7,14,25,48 +6,7 +6,12,22 +13,17 +3,4,5,6,14,45 +2,5,6,13,25 +6,14 +12,18,25 +4,5,6,7,12,30 +6,7,17,36 +4,5,6,13,14,34 +6,8,14 +6,7,20 +3,6,13,48 +5,14,30,51 +4,9,25,39 +5,6,10,17 +4,6,14 +2,6,14 +5,13 +2,5,6,22,35 +0 +7,28 +0 +3,12 +2,5,7,32,46 +4,6,14 +24,36 +4,6,14 +6,46 +14 +5,6,7,40,41 +6,7,17,22 +6,7,16,33,45 +13,21,22,47 +4,5,6,10,15 +4,6,7,45 +5,6,7,22,24 +6,30 +6,7,11,14,15 +3,5,25,45 +5,6,46 +2,5,6,42 +6 +5,6,14,15 +4,6,8 +5,6 +2,6,12 +4,6,13,51 +6,9,13 +22 +6,8,14,20,25,26,33,35 +6,9 +5,6,21,44 +6,13 +5,6,20,35 +20,47 +5,6 +3,5,6,14,19 +4,6,12,42 +6,7,47 +6,14 +6,44 +5,6,14,39,48 +2,6,25,42 +3,4,6,7,14 +3,5,6 +14,37 +6,19,42 +4,5,6,7,46 +5,6,17,19,25 +3,6,17,19,49 +12 +2,33 +5,6,43,45 +3,20 +5 +2,6,10,14,22 +2,3,5,6,20,45 +4,8 +6,22,25,36,42 +4 +6,8,20,49 +6 +6,7,14,23,32 +6,28 +5,12,14 +3,4,6,21 +5,6,17 +6,17 +3,6,23 +6,11,14 +14,20 +4,6 +6,15,22 +4,6,44 +6,7 +4,5,6,8,9,14,26 +2,5,6,18,29 +4,6,7 +3,17,18 +2,3,5,14,32 +6,18 +5,6,16 +2,5,6,14,20,28 +6,14 +6,14,22 +0 +23 +5 +5,10,17 +5 +6,37 +6 +4,5,14 +3,6,7,15,25 +6,28 +4,14,22,51 +6 +6,12 +6,12 +9,13 +6,14,19,25 +5,6,49 +5,6,13,14 +6,14,18 +3,5,6,14 +4,6,7,14,17,22 +6,13 +17,22,28,46 +6,44 +8,20,23,25 +5,6 +15,20 +4,6,14,20,21,30,35,47 +2,13 +3,6,11 +5 +6,26 +5 +4,5,6,13,17,33 +5,6,15,17 +4 +4,6,22,23,48 +4,6,16,19,43 +26 +4,5,6,7,14 +6,22 +17,46 +5,6,14 +7,14 +6,7,12,14 +6,14,30,32 +6,20,23 +5,6 +5,6,14,28 +7,43 +6,17,23 +5,6,47 +14,28,39 +6 +14 +5,6,38 +6,25 +5,20,43 +0 +5 +3,5,18 +6,7,20 +4,5,6,17,29 +7,16,27,49 +6 +3,6,14,20,22,41 +5,6,7,9,12,22,46 +13,14,29,44 +5,7,14 +5,6,29 +6,26 +5,6,13,21 +6,28 +6,14,17,50 +6,43 +5,15,48 +6,14 +6 +5,6 +6,16,17,49 +6 +6,25 +4,5,13 +5,6,22 +6,22 +2,6,8 +5 +6,7 +6,20 +6,23 +4,13,14 +6 +4,6,7,27,34 +5,6 +14 +6 +5,7,17,46 +6,14,23 +14,19,22 +7 +5,14,17,25 +3,5,6,7,44 +6,15 +3,4,6,20,22 +7,8,14,31 +4,5,6,42 +5,6,7,14,15,17,20 +6,22,23,27 +6,14,27 +5,6,20 +3,5,6,26 +6,22,36 +2,5,6,46 +14,36 +3,6 +4,6,14 +4,5,6,14,34,50 +5,14,17,22,47 +7,14,22,25 +6,20,25 +6,9,13,14,17,25,42 +5,12 +2,3,4,5,6 +2,3,6,12,13,19,48 +6,24 +6 +6 +6,7 +6 +5,6 +6,22 +4,6,14 +3,6,20 +6,7,20 +5,6,7,30 +3,20 +5,6,7 +4,6,22 +11,20,31 +5,6,24,34 +5,6,14,17,41 +6 +6,7,28,31,42,43 +2,6,16 +6,14,30 +7 +6,20 +6,25,50 +5,18,23,25 +6,17 +26,38 +4,5,6,8,12,14,17 +6,14,29 +5,48 +5,6,20,23 +5,14 +6,11,14,26 +5,6,16 +4,5,6 +4,5,6 +7,20 +3,5,6,14,25 +4,5,22 +6,15,18,41,43,45 +6,7,10,15,49 +19,31 +5,6 +5,6,14,17,39 +6,14,20 +2 +3,6,8,28 +6,41 +4,5,6 +6,7,12,30,49 +4,6,17 +3,5,6,22 +6,13 +3,4,5,6,14,31,45 +3,6,7,28,40 +2,3,6,19,51 +5 +29,51 +5,6 +3,6,14,20 +4,6 +14,18,20,36 +6,14,17,18 +3,6,14,18 +5,28 +8,14,38 +4,14,46 +4,6,14,17 +6,17,19,25,27 +6,22,30,35,38 +2,5,13,14 +3,6,7 +3,6,28,45 +6,24,29 +3,6 +5,6,7,9,14 +5,6,18,27 +14,15,19,22,29,42,43 +0 +11,17,18,50 +5,14,23,31,42 +6,14 +5,21,38 +6,14,29 +6 +4,6,7 +14,42 +3,6,29 +2,4,17,25 +6,14 +5,9,19,22 +5,6,14,40,42 +6 +6,44 +4,5,6,13,19,22 +6,22 +2,5,6,22,32 +3,20 +5,6,23 +6 +6,22 +6 +4,5,20 +3,6,41 +5,6,14,42 +2,4,5,6,25 +4,6,22,25,42 +5 +3,6,25,29 +5,6,7,16,39 +3,5 +2,6,14 +5,6,15 +5,6,43 +5,6,8 +3,7,8,25 +6,17 +3,29 +4,5,21 +28 +4,5,6,7,13,30 +0 +0 +7,39,50 +9,14,18,20,36 +6,9,14 +6,33 +5,6,8,14 +3,6,50 +5,6,14,22,39 +3,5,26 +6,22,33,48 +4,6,15,17,30,38 +6,8,14,28,32,47 +6,7,21,25 +6,7,17 +5,11,14,32,40 +5,6,7,21 +28 +6,10 +3,4,6,14 +6,7,13,47 +4,6,10,20 +2,5,13,20 +7,29 +20,27 +3,10,22 +2,5,12,14,22 +6,14 +6,17,22 +19,42 +4,5 +4,5,6 +6,14,36,37 +3,5,6,14,22 +5,6,16,25,29 +5,6 +20 +6,14 +6,14,18,22,51 +5,6,14,31 +3,6,17,20 +5,6,28 +0 +5,6,14 +2,6,17,48 +6,12 +2,3,4,6,14,17 +6,20,22,32 +4,5,18 +6,14,27 +14 +6,10,20,44 +25,39 +5,6,7,29,42 +3,6,20,21,23,43 +3,6,8 +6,22 +6 +0 +5,6,30 +6 +33 +4,5,6,13,31 +2,5 +16 +7 +4,6 +3,5,6,7 +6,14,15,25 +6,14 +5,14 +0 +6,7,14 +3,6,25 +4,6,17,24,46 +5,14,17 +6,11,14,37 +4,19,28 +14,19,36 +5,7,9,35 +6,9,12,22 +3,25,26,37,45 +3,7 +3,6,22 +5,6,11,22,30,32 +6 +5,48 +2,6,31,42,51 +4,6,10,13,14,15,22,46 +6,21 +2,5,11,14,25 +2,5,12,13,43 +2,23,49 +4,6,22,50 +6,14,21 +5,12,33 +20 +6,16 +4,5,6,13 +18 +6,19,36 +3,5,6,15,25,28 +2,6,14,21,40 +6,7,20,26 +5,6,10,17,20 +17 +6,21,33 +5,14 +3,4,6,14 +5,12,21,29,51 +6,16 +2,5,22 +6,15,28 +4,6,31,42 +5,6,44 +5,6,7,8,9,34 +6,20,39 +4,6 +4,6,20,35 +6 +2,5,6,21 +6,14 +3,5,6 +6,16 +4,6 +6,17,28 +6 +22 +6,36 +7,14 +3,6 +3,5,6 +6,21,22 +2,4,6,25,36 +3,6 +6,9,16,46 +6 +3,10,14,26 +4,5,6,17,20,22,49 +2,6,14,16,38 +27 +6 +5,6 +4,5,12,16,22,28,46 +5,13 +5 +2,22 +5 +2,6,14 +5,6,7,20 +9,14,37 +6,7,23,28 +6,28 +6,14,20 +12,16,17,29 +6,44 +4,5,6 +6,7,16,43 +5,9,12 +14,20,43 +6,7,13,15 +6,14,20,21 +3,6,14,15,22 +5,6,43 +3 +12 +6,30,33 +5,11 +3,6,14,27 +4,6 +3,6,20,22,39 +5,15 +6,14,20,21,28,40,44 +5,6 +6,20,45 +0 +3,6 +4,6,15 +3,6,14,21 +6 +4 +6,37 +6,8,21 +4,7,9,17 +6,17 +4,5,6 +6,25 +3,5,6,38 +3,6,12,14 +6,11 +6,10,13,28,50 +4,28 +6,34 +3,6,21,45 +2,6,21,29 +14,17 +3,4,42 +48 +4,17 +4,6,44 +6 +5,6,14,23 +3,5,6,7,20 +3,13,18,23 +5,23,36 +6,7,14,30,46 +5 +6,9,49 +5,42 +6,41 +5,7,10,13,46 +49 +5,6 +3,6,12,13 +6 +3,6,13,14,23,28 +6,37 +6 +3,5,13,21 +8,10,36 +4,6 +25 +6,14,31 +3,4,14 +5,6,29,51 +4,14,25,51 +4,8 +2,5,14 +3,5,6,7,12 +7 +4,6 +6,21 +6,36 +4,6,21,26,33,46 +0 +2,3,6,15 +13 +5,43 +4,30 +4,6,7,15,29,31,38,43 +2,6,9,30,41 +3,5,6,10,22,35 +20,23,40 +6,15,16,31 +5,6,17,20 +3,6 +9 +4,6,17,29 +5,6,14,21 +4,5,6,21,40 +5,6,7,14 +6,17,36,42 +5,14 +6,8 +2,6,9,46 +6 +4,5,6 +6 +6,22,38,47 +5,6,13,20,27 +6,10,14,31 +3,4,22 +6,15,19 +2,4,5,30,42,48 +4,14,45 +5,16,22 +6,18,20 +14,16 +3,5,6,28 +44 +5,10,14,18,22,48 +3,4,5,6 +10,25 +17,49 +4,5 +6,20 +5,6,13,20,45 +16 +0 +6 +5,6 +12,20 +6 +5,6,38 +4,6,17 +6,13 +3,6,13,20,36 +6 +12,14 +5,6 +6,26 +5,6,20,25,35 +3,6,14,26 +6 +4,5,22 +2,6,7,20 +4,5,6,12,13 +20,46 +4,5,12,14,27,38 +4,6,12,22 +5,6,18 +5,6,20 +6,22,50 +3,6,49 +3,5,6,7,12,23,25,41 +3,7,14 +4,6,36 +6,27,44 +3,6,14,22 +3,20 +6,8,33,43 +6,14 +5,6 +6,17 +2,5,6,25,37 +3,4,10,13,29 +6,18,40,46 +6,8,14,18,44 +3,6,27 +3,4,5,6,9 +2,6,8 +6,13,19 +2,6,12,17 +0 +0 +6,7,14 +5,6,19,23 +2,3,7,44 +7 +6 +3,4,7,32 +6 +6,14 +5,49 +8,23 +4,6,23,28,33 +20 +4,5,6,14 +5 +4,5,6,10,19,29,42 +15,30 +6,13,30,46 +6,11,20,26 +6,21 +2,14,18,43 +4,10,25 +5,7,22 +6,7,41 +20,31 +4,6,14,40 +10,28 +5,6,12,14 +5,6,7,23 +3,18,22 +6,12 +4,6,13,14,19 +2,5,6,21,31 +6,8 +14 +2,10 +6,7,21,27,34 +3,5,13,18,26 +6,11 +34 +6,51 +4,6,10,29 +5 +5,6,14,21 +4,6 +4,5,11 +3,6,22,38 +2,6,10,20,22,33 +5,6,30,33 +6,14,17 +6,9,20,27,30 +14,25,36 +6,7,15,19,21,24,25 +5 +5 +5,6,12 +14 +4,5,6,14 +6 +6,14,16,30 +4,5,6,19 +3 +12,13,14,44 +6,50 +5,6 +6 +5,8,21 +2,3 +3,6,14,28 +5,6 +3,4,6,20 +6,7,15 +4,5,6,12 +6,13 +6,27,31 +6,22,25 +6,14 +30 +6,14,15,46 +6,13 +6 +2,9,28,39 +5,6,10,14,21 +3,6,9 +5,22,29 +5,6,12,16,22,26 +6,44 +3,4,5 +25,28 +4,6,20,49 +5,6,14,46 +3,15 +4,25 +0 +6,25 +6,14 +4,6,13 +3 +6,28 +5,6,22 +4,5,6,7,42 +31 +14 +5,6,10 +6,11 +4,5,6,25 +6,46 +6,13,24,27 +4,5,6,18,21 +6,11,23 +4,6,20,22 +6,12,20,29,37 +5,6,7,25,43,46 +40,45,50 +5,22 +6,7 +4,6,10,25,30 +4,5,17 +4,6,7,22 +6,22 +4,6,22,25 +5,6,16 +5,6,7 +6,14,48 +6,7,14,20,33,46 +6 +4,5,41 +3,5,13,27,29 +6,14,16 +5,21,37,38,47,49 +14 +6,7,13,24 +4,5,6,14 +5,6,19 +6 +6 +5,11 +5,11,46 +4,5,6,39,40 +16 +4,6,14,21,28,41 +6,14,18 +5,6,20,38 +7,16,36,46 +13 +5,14,20 +3,6 +5,12,21,26 +4,6,10,13,22,26 +6,29 +2,3,6,28 +3,19 +6,47 +4,7,14,15,25 +3,6,18,36 +2,5,6,21 +2,3,5,6 +6,13,14,17,23,30 +5,20,31 +16,22,37 +5,6 +5,6,36,42 +5,6,14,22 +5,6 +23 +5,14 +3,6,42 +6,7,12,23 +5,6,13,25 +6,7,17,41,42 +4,6,22 +3,4,5,10,25 +6,36 +5,6,25,31 +3,6,14,15 +5,6 +5,20 +6,14 +3,6 +5,6,23 +5,6,13 +2,6,22 +3,6,19,22 +6,22 +2 +3,13,31,49 +5,6,14,21 +2,5,37 +4,5,6,16,20 +3,5,16,25 +4,5,50 +6,7,16,17,22,25,35,39 +3,4,6,18,21 +6 +6,32 +5,6,22 +5,6,18 +6,7,10 +5,6,22,25 +5,6,17 +8,12,40,46 +4,5,6 +2,5,6,22,44 +10,23,42 +4,6,13,25,46,49 +6,32 +5,6,16,17 +6,17 +6,11,14,20,33 +6 +5,6,7,21 +6,14,16 +5,6,14,17 +0 +5,6,14,35 +22 +2,5,6,12,46 +5,14,16,49 +5,6,14,17,18,48 +5,6,19,28 +6,14,18,19 +14,16,30 +6,10,13,15,17,27,38 +5,6 +4,14,16 +5,14,24,29 +5,29 +6 +4,6,12,17 +3,6,16 +6,11 +4,14,30 +5,6,25 +3,6,15,25 +4,6,21,46 +6,17,24,28 +6,7,8,23,25 +2,5,6,14,19 +4,5,37 +49 +5,6,7,13,17 +5,17,48 +2,6,22 +5,6,14 +4 +30 +6,17,25 +6,10,14,40 +7,13 +3,6,22 +6,14,18,22 +2,6,8,14,24 +5,6,49 +5,6,7,13,17 +25 +5,6,15 +3,6,12,20 +6,7,20 +3,5,6,25 +5,6,13 +6,25,26 +4,10,14,28 +3 +5,6,7,14,26 +6,41 +6,14,45 +6,17,30,42 +3,6,7,41 +5,6,13,17,38 +5,6,14,42,51 +17,18,20,25 +6,7,29 +5,6,44 +5,31 +13,25,48 +6 +6,14,18,48 +4,6,10,31 +6 +3,14,15,16,25 +4,5,6,38 +5,6,14 +36 +2,7,12,18 +3,13,43 +4,5,18,30 +6,10 +3,6 +6,25 +6,14 +6 +4,6,17 +6,14 +5,6 +5,6,19 +6,10,29 +4,6,13 +5,6,12,14,28,37 +2,4,5,6,11 +5,6,7,50 +5,7,12,19 +0 +14,17 +6,10,15 +6,25 +6 +6,22,49 +6,20,22 +6,7 +6,14,21,28 +5,6,23,47 +5,6 +5,15 +5 +4,6,11,14,46 +5,6,20,22 +6,14,17,43 +5,7,19,49 +4,5,6 +5,6,13,34 +3,4,5,6,16 +3,5,6,45 +2,15 +5,6,31 +25 +5,6,14,18 +5,17,20,41 +0 +4,6,35,47 +35,41 +50 +6,7 +4,5,6,13,49 +5,6,10,13 +4,6 +6,17,19 +3,6 +4,6,7,21,33 +18,22,43 +6,14 +20,46 +6,14,20 +6,33 +5,6,8,10,14,21,45,51 +5,6 +6,9,22 +6,14,22 +3,6,44 +19,28 +4,14 +2,4,6,12,16,51 +13 +5,6,14,20,44 +7,42 +3,5,6,20 +6,7,14 +5,6,14 +6,35 +5,6,17 +6 +5,9,14 +4,6,14,18 +6,7,13,14,25 +5,6,14,16,19,44 +6,8,49 +5 +5,6,12,29 +5,6,14 +3,5,6,14 +3,5,6,7,19,44 +5,6,22 +6,20 +5,6,28 +5,6 +15 +6,13,15,38 +6 +5,6,43 +2,14,25 +3,5,6,14,34 +4,5,14,25,30,44 +3,18,27 +6,14,22,40 +5,6,14,36 +6 +5 +6,20,50 +6 +4,14,22 +6,15,41 +5,14,25 +6,16,25,38 +2,6,25,29,30,32 +6 +3,6,10,13 +4,5,6 +6 +17,50 +6 +5 +3,6,14 +2,6,7 +4,5,6,13 +6,14,20 +3 +3,6,28,42 +6,13,14,48 +6,23,25 +6,14,28,45 +34 +6,14,44,46 +4,6,14,22 +6,17,18 +4,5,6,47 +6,19,39,41 +6,49 +3,4,6,7,8,31 +6,14 +6,26,31 +3,6,14,48 +5,21,22,31 +3,4,5,6,7 +3,5,6 +6 +6,20,29,36 +5,6,10,22 +3 +4,6,37 +6 +2,10,22,45 +6,37 +4,6,14 +6,21,25,29 +3,5,6,14 +7,25,50 +5,6,10,27 +4,5,6,17 +6,22,42 +37 +6,10 +6,9,21 +25 +3,5,6,13,14,21,46 +3,5,6 +6 +3,4,5,20,21,27,30,36 +4,6,11 +2,5,6,44 +6,12,13,15 +3,10,14 +5 +6,9,14 +4,5,6,28 +10,14 +0 +3,6,14,17,33,38 +0 +6,10 +3,5,6,37,45 +5,6,9,28,33,36 +3,14 +4,5,6 +6,17,27 +6,12 +5,6,11,17,21,25,30,38 +6,14 +3,14,35,36,42 +5,6,8,23 +6 +14,20,32 +6,14 +6,13,32,37,46 +2,6,18,32,50 +4,18,22 +6 +3,7,19,25,28 +6 +2,6,7,25 +4,5,6 +5,6,51 +6,7,29,34 +5,9,14 +6 +5,16 +6 +20,28 +3,16,22 +5,6,7,9,47 +6,43 +4,7,14,15,25 +5,6,9,40 +5 +3,4,6,10,31 +5,11 +3,6,43 +4,6,14 +6,9,25 +4,20 +6 +6,20 +5,6,14,29,49 +6,10 +6,9,10,22,42 +6,31 +4,5,6 +6 +17 +5,6,7,13,17,30,51 +4,5,38 +6,7,21 +6,37 +11,17,22 +3,4,6 +3,6,18,28,30,34,42 +6 +6,7 +6,13,15 +4,6 +0 +13 +6,15,25,38 +4,6,14,28,38 +6,14,38,44,51 +5,6,21 +4,5,6,22 +7,18 +3,6 +14,49 +4,5,6,7,10,15,22 +4,6,49 +6,16,21,22 +4,5,6,7,20 +6 +7,8,14,41,43 +6,21 +5,6,19 +4,6 +4,6,19,23,25 +3,5 +3,6,21,30 +4,6,14 +14,15 +0 +5,6 +6,16 +7,14 +6,14 +14,17,19 +6,23 +4,5,6,13 +3,5,7,11,30 +5,14,21,29,44 +30,42 +6,43 +4,6,22 +5,6,29 +3,6 +5,14,21,28 +22,47 +2,6,17,22 +8,14 +5,6,7,16,19,20 +3,6,48 +3,5,6,21 +6 +4,6,10,14 +6 +25 +4,21,23,27,32 +3,4 +2,6 +3,4,6,27,43 +6,14 +5,6,13,30,31 +6 +5,14 +6,14,43 +6,14,22 +6 +5,6 +7 +6,7 +3,6,25 +4,6,13,14 +5,6,20 +3,6,7,19,22 +6,14 +6,13,42 +6,7 +22 +6,13,14,43,46 +4,5,6,13,14 +0 +5 +4,5,6,8,10 +4,5,25 +6 +5,6 +6,7,37 +3,4,6,11,12,29 +4,6,10,35 +25,29,30 +5,6,17,25,27 +3,4,6,10,17,22 +6,11,13,17,22,25 +3,6,13,49 +5,6,25,26,32,36 +14,22 +4,6 +6,14,18 +13,14,17 +3,6 +5,6,21,44 +5,6,7,8,25,50 +6,32,42 +12,47 +29,35 +5,6,10,14,16 +5,6 +6 +5,6,51 +4,5,15,20,48 +6,14,44 +5,6,14,37 +6,14 +5,6,14 +3,5,20 +6,8 +2,3,6,10,14,20,27 +5,6,7,17 +4,6,18,20 +6,14,25 +2 +4,6,14,17,20,22 +5,19,22 +5,6,21,33,42 +6 +6,19 +47 +6 +12,13,28 +6,25 +5,12,14,31,34,36,43 +7,34 +6 +4,5 +18 +6,14 +5,6,10,17 +2,3,4,6,17,43 +4,49 +3,5,6,7 +4,5,14,17,25 +4,5,6 +4,6,7,19,34,48 +3,4,14 +4,6,14,19 +5,6,17,23 +6 +6,17 +18 +6,7,28 +4,6,7,14,28,30 +5,42 +0 +4,6,7,14 +3,5,6 +2,6,17 +5,6,14 +2,5,14,32 +5,6,7 +4,6 +6,14 +5,6,8,13 +38 +2,3,6,7,19,21 +5,7,14,45,50 +2,5,6,23 +3,4,5,6,14,15,17,22 +5 +4,6,13,33 +5,40,47 +4,5,7,14,16,31 +4,5,6,14,25,42,43 +6,50 +3,4,5 +7 +3,5,6 +4,6,14 +4,6,21 +6,20 +3,6,7 +33 +4,12 +6,13,14,25,36,37 +3,6 +5,14,22,33 +2,6,12 +6,14,25 +6 +6,28 +6,27 +5,6,14,48 +5,6,10,11,12,21 +6,41,46 +6,22 +5,6,35 +3,6,14,26 +3,6,14 +5,6,8,15,31 +4,6,14,17,50 +5,6,7 +6,23 +5,6,11,13,14,21 +11,14 +23 +4,6,15,20,26 +4,5,18,26 +6,13,14,29 +6,12,14 +2,18,22,46 +6,22 +3,6,9,17,18 +0 +2,6,17,31,48 +4 +7,41 +6,15,18,21 +6,36 +6,9,14,43 +5,6,8,9,10 +4,6,14 +6,10,17 +3,5,6,15 +5,8 +6,25,28,41 +6,20 +3,6,14,19,42,47 +6,14 +6,14,25,46 +4,5,6,14,25,34 +2,3,5,6,7,15 +2,4,11,14,31 +6,8,21 +3,5,32 +5,6,11,14,42,50 +5,6,22 +4 +2,5,6,14 +4,6,27,48 +6,9,14 +5,6,50 +14,19 +6,33 +6 +6,10,13,20 +7 +5,17,29 +6,17,20,22 +0 +5 +2,6,14,23,29,46 +7,8,14 +5,6 +21,35 +5,6,17,35 +4,5,14,20,34 +8 +5,29 +6,10,17 +4,12,41 +5,7,15,17 +5,18,23,35 +2,5,14,15,26 +6,37,45 +4,6,17,35 +5,12 +4,17 +6,7,24,28,46 +5,14 +5,6,45 +6,14 +5,6,22 +5,22,30 +6,14 +5,6,14,42 +6,25 +6,14,16,30 +6,13,44 +0 +3,5,6,8 +3,6,50 +14,32 +6,10,20 +5,6,29 +10 +3,6,14,20 +6,10,15,22,38 +6,46 +6 +3,6,34 +3,24 +6,42 +5,6,14,35 +3,4,6,7,15,17,18,20 +2,4,13,16,17 +6 +6,22,35 +4,6,21,25,28 +6 +3,4,6 +4,6,14 +3,5,6,7,10,50 +2,4,6,10,22,28,40 +3,6 +4,6,19,26 +3,5,6,7 +3,5,6,46 +0 +0 +4,5,6,37 +6,35,41,42 +5,6,13 +2,6,13 +4,5,7,17,30 +19,22 +3,4,6,18 +5,30,33,38,49 +3,6,14 +6,13 +4,6,29 +6,25,44 +6,12 +4 +3,6,18,19,33,49 +4,6,34,41 +6,42 +5,14,40,51 +3,6,10,39 +5,6,20,33,46 +5,6,14,16,20,22,35 +6,10,18,21,42 +4,6,16,20,42 +6 +6,15,29 +0 +6,25 +2,3,28,42 +4,5,6,19 +5,7,14,49 +4,5,6,44 +6,17 +4,5,7,11,14 +21,22,23,31 +5,6,29 +20,25 +5,6,14,21 +3,4,5,9,15,21,25 +2,6,17,20,23,50 +6,13,51 +5,6,7,13,17 +4,5 +6,36 +2,6,12,29 +6,33 +4,6,20,25,48 +4,6,14 +16,48 +7,37 +6,17,20,21 +6,7,10,14 +5,17 +7,14,40 +4,6,19 +6,14,16,17 +3,6,7,22 +4,5,6,13 +4,5,6 +5,6,25 +6,29,44 +6,22 +4,6 +6,20 +6,21 +14 +22 +4,7,14,16,33 +6,31 +5,6,7,14,21,27,41 +6,14,19 +6,25 +5,6,21 +5,6,31 +7,14,15 +6,20 +5,6,30,38 +2,5 +5,6,7,14,16,18 +5,6,17 +5,6,14 +6,18,30 +5,6,17,46,49 +3,6,7 +20 +3,6,41 +6,7,12,25 +0 +6,20,49 +6,25,27,32,38 +6,11,19,28,48 +3,5,6 +6,23,25 +6,12,43 +6 +6 +5,14 +27 +3,5,6,51 +5,6 +3,5,6,20,47 +3,5,16 +6,7 +26 +6,17,29 +5,11 +6,46 +5,6,46 +5,27 +7,8,45,50 +4,6,21 +5,6,18 +6,14,20 +6,26,33 +27 +6,13,17,20,21,44 +4,48 +6,28,42 +12,16 +4,6,12,17 +5,6,13,44 +6,19 +12,25,31 +3,6,7,21,37 +13 +5,14 +3,6,14 +5,6,7,16 +14 +19,22,36 +12,50 +3,5,6,7,46 +5,6,16,25 +35 +6,35 +3,6,22,26 +6,8,15,37 +4,6,7,17,25 +12,20 +6 +3,37 +6,14,41,42 +5,49 +4,5,7 +6,19 +4,6,25 +5,6,29 +3,6,13,17,28,31 +4,6,12,14 +6,49 +6,7,17,48 +3,4,6,23 +20 +5,6,27 +3,4,5,6 +5,7,10 +4,5,6 +6,15,45 +4,6,47 +3,22,23 +24 +6,7,18 +5,7,18,37,50 +6,19,37 +6,7,30,43 +5,6,10,13,50 +4,5,14,37,51 +5,6,20 +6,7,15,17 +5,6 +5,6 +6 +6,21 +5,6,7,22 +6,25 +6 +6,22 +6,14 +6,21 +6,7,25,41 +19 +6,13 +0 +3,6 +6,14,15 +3,6,14,25 +6,13,21 +7,16,22 +6,14,38 +5,6,16 +5,6,17 +3,4,7,15,45,46 +5,6 +6,20,35 +6 +5,14 +4,6,14,48,49 +2,5,6 +22 +6 +3,6,14 +2,3,5,6,14,46 +4,5,7,22,35 +5,14,19 +6,8,17 +5,6,26 +6,12 +6,10,29 +7,47 +3,5,25,33,36 +6,17,22 +3,10,14 +3,20,35,46 +5,6,18,25,32 +5,6,7 +14 +7 +5,6,12,35,36 +22,36 +12,19 +5,22,27 +4,6,14 +4,5,6,14,20,41,44,51 +6,18,47 +6,47 +6 +5,6 +3,20 +6,15,22,34 +4,5,6 +3,5,6,7,14,18,48 +6 +6,16 +4,6,14,47 +5,6,7,14,20,31 +3,5,6,14,35 +6,8,22 +5,6,14,19 +5,10,11 +3,6,12,14 +5,6,16,25,49 +18,29 +4,5,6 +6,17 +6,22 +2,5,6,18,30 +3,6,12,14,22 +6,25,36 +4,39 +3,6,12,14,18,22 +4,6,26,44 +6,17,25,37 +5,6,21,37 +6 +14,15,19,42 +5,6,14,18,38 +14 +6,25 +3,6,22,28 +20 +6,40 +6,17,21,41 +4,19 +7,27,28,40 +6,14 +5,25,34 +5 +6,14,38 +4,5,25,44 +4,6,17 +6,12,19,41 +6,22,49 +6,14,20,37 +3,17,18,27 +5,22 +6,41,42 +4,7,8,14,17,20 +6,38 +3,4,6,22,47 +3,4,6,8,12,30 +5,6,8 +6,13,15 +5,17,20 +4,6,15,51 +6,24,27,41,51 +3,6 +3,34 +2,14,23 +6,7,15 +6,22,29,42 +5,6,12,13,15,18 +4,6,36 +6,14 +5,6,17,20,46 +3,6,12,16,34 +5,19 +5,6,10,17 +5,6 +6,7,13,14,17,22,51 +6 +6 +3,5,6,21,22,35 +6,7,21,42 +10,20,27 +3,4,5,6,27 +5,6,40 +5,14 +5,6,14,22 +4,6,7,47 +3,6,20,27 +5,6,14,16 +2,4,5,51 +6,20 +6,7,14 +4,5,6,12,14 +6,7,14,28 +4,6,14,16,20,22 +15,22 +5,6,41 +3,6,25,29,37 +3,6,21 +6,7,40 +5,6,14,51 +3,5,6,14 +5,32 +6,25 +3,5,6,19,20,27,49 +4,6 +6,17 +2,6,10,19 +4,6,13,18,21 +3,6 +3,6,44 +0 +3,5,46 +5,8,20 +3,5,6,7,17,24 +4,6,48 +6,14,15,16 +5,6,14,18 +4 +14,22 +6,14 +5,6,14 +3,6,20 +0 +14 +5 +3,4,5,6,14,16 +2,6 +6,14,17,20 +6 +3,5,6,16,39,50 +4,13,28 +2,5 +4,6 +6,14,34 +6,14,20 +4,5,7,24 +4,6,13,32,45 +4,12,14,29 +3,5,14,30 +5,14,23 +6,19,21,25 +6 +3,4,5,6,8,32 +6 +6,14 +5,6 +6,14,30 +5,6,25 +4,6,7,8,13,33 +5,6,20,28 +5,6 +5,6,14,17,30,32 +4,6 +2,5,6,14,17 +5,6,29 +5,28 +5,6,13,43 +5,14,25 +4,5 +6,12 +20 +6,18 +12,14 +4,5,6 +4,6,27,29 +3,6,20 +6,12,14,39 +5,6,14,16,46 +4,5,7,11,13,40 +6 +6,11,16 +14,24,28 +3,4,6,20,21 +4,5,6,10,36 +5,6,23 +6,7,15,28 +6,25 +4,6,10,14,20 +5,6,13 +6,12,39 +4,6,7,45 +6,20,45 +6 +5 +2,4,6,17 +5,6,7,14,22,46 +3,6,16,19,42 +3,41 +6,7 +3,6,7,17 +4,22,25,28 +6,15,38 +7,28,49 +5,6,7,25 +2,4,5,6,7,22 +5,6,17 +0 +6,14,19,22 +3,13 +3,6,13,33 +4,5,11,20,36 +6,22 +3 +7,14 +7,28 +4,48 +7,14,19,20,22 +3,6,14,22 +4,6,8,9,36 +6,11,22,25 +4,5,6,16,17,42 +3,14 +4,5,6,12,21 +4,14,23,39 +2,5,6,28 +7,14,20,35,36 +6,14,38,51 +6,36 +3,20 +5,22 +6,11,36 +5 +5,6,7,10,16,46 +5,6,12,14,15,25 +6,18,25,26 +4,11,38 +12,22,35 +6,16,49 +5,6,19,39 +2,3,6,20,49 +3,7,14,23 +8,14 +5,6,7,36,40 +5,6,27 +4,6,15,17,19 +3,5,6,7 +3,5,6,7,14,25,44 +4,5,6,22,25 +4,5,6,7,10,13,14,28,33 +5,6,15,16,24 +6,14,17,44 +5,6,7 +3,5,6,10,34 +5,6,25,29 +5,6 +5,6,44 +8,21,30,41 +6,9,15,39 +21 +5,7 +6,14,32 +4,6,30 +3,6,7,21,25,42 +6,32,47 +5,7,17,28,38 +6,20 +6,14 +3,5,6,30 +5,14,40,50 +5,13,21,43 +6,32 +5,6,12 +31 +3,30,33 +5,6,22 +5,6 +3,6,14 +12,28,51 +0 +5,11,14,15 +6,7,28 +6,46 +5,6 +2,4,6,17,22 +6,22,42 +6,14,17 +3,6,12,17,26,46 +2,4,6,7,20,21 +6,42 +3,4,5,6 +6,14,21,25 +3,6,22,43 +6 +4,6,7,14,17 +6,7 +6,14 +4,6,14,48 +0 +3,5,6 +6,7,19,36 +23,28 +46 +6,9,14 +3,5,6,32,35 +4,5,6,23,31 +6,7,12,21,29 +6,14,17,41 +13,36 +5,6,16,20 +3,4,5,10,16,43 +3,4,25 +5,6,8,14,17,22 +5,14,43 +6,16,42 +3,6,32 +25,26 +6,14,16,35 +15 +5,6 +5,6,25 +6,14,15 +6 +6,7,9,14 +2,6,7,21,46 +6,17,24,25,43 +5,6,14,46 +5,6,7,28,33 +20,49 +11,14,20 +2,6,14,20 +6 +6,14,35 +0 +6,15,20,28,32 +5 +6 +4 +6,14,17,25 +3,6,10,13 +5,8,22,46 +3,6,17,20,21 +7,28,49 +5,6,42 +10,20,25 +4,5,6,14,17,21,51 +25 +6,7,22,33,47 +5 +5,6,8,27,42,43 +14 +3,6,7 +6,9,24,47 +4,5,22,25,45 +4,6,34 +3,12 +20 +36 +6,11,22 +5,6,7,30,50 +14,22 +14 +6,25 +4,5,6,14,42 +2,6 +5,6 +3,4,6,14 +2,14,20 +26,40 +20 +6,19,22,25 +4,6,20,22 +5,6,15,17 +6,16,20,46 +6,15 +5,6,15 +6,38 +5,6 +6,14,22,34,36 +5,6,7,13,14,24,35,49 +3,6,36 +6,22 +6 +5,15 +5,6,14,16,28,48 +4,20 +6,7,18 +6,7,16 +35 +6,32,41 +5,6,18 +3,6 +6,23 +5,6,7,40 +3,5,7 +5,6 +6,49 +5,6,15 +4,6,21,25 +4,6,11,21,40 +3,5,13,14 +2,4,23,37 +5,6,17,27,43 +4,6,14,22,28,41,45,47 +6,14,19,50 +0 +5,6,20 +4,6,11,14,16,33 +3,5,6,39 +5,6,14 +14 +6,14 +5,6,17,22,29 +7,15,16,38 +5,6,7 +4,28 +5,6,21,25,28 +6 +6,34 +5,6,31 +5,6,12,17,23 +6,20,25 +6,14,22,44 +5,6,15,17,22,27 +5,6,51 +2 +5,6,41 +6,10 +2,3,5,6,24,25,31 +2,4,6,13,14,17,42 +3,5,8,14,20 +2,7,14 +5,6 +2,3,4,5,6,14,18,35,39 +6,42 +6,7 +4 +5,6,15,18 +2,6,12,16 +2,5,6 +4,5,6 +0 +6,21 +6 +4,15 +6,21 +3,19 +6 +5,7 +6,26 +5,6,14,42 +4,6,7,37,44 +6,28,33,47 +12,28 +5,17,22,51 +6,8,9,21,25,29 +4,6,22 +6,8 +5,6 +6,14 +5,6,13,41 +22,24,39,51 +6,14,17,25,31,42 +6,19 +6,14,35 +6,14,38 +6,12,14 +3,5,6,14,20,25 +5,6,28,48 +4,6,15 +4,12,46,51 +2,3,5,6,17,20,51 +5,6,26,28 +3,5,6 +6,29 +4,6 +4,14,41 +4,6,7,14,50 +6 +6,17,47 +5,6,8,14,20,21,25 +5,6,14,26,33 +6,16,17,28,29 +3,5,6,16 +3,8,44 +25,48 +6,28 +3,6,13,38,49 +0 +0 +4,5,6 +6,12,19 +6,7 +2,5,6,7,36 +5,6,7,14,21 +4,6,14 +6,17,42 +26 +5,13,14,39 +5,6,7,32,34 +2,5,6 +6,37 +3,14,41 +5,17 +3,14,16 +4,5,14 +5,17 +6 +6,16,22,24 +5 +3,14,20,29 +3,5,6,10 +13,14,18 +4,14,16,43 +7,33,43 +5,22 +5,6 +6,12,13,20,36,41 +6,22 +6,17,24,28 +0 +2,4,5 +6,20,43 +6 +6,10,14 +5,46 +4,6,32,38 +4,6,8,28,32,35 +6,14,19,20 +7,15 +6,7 +2,5,6,16 +6,17,42 +4,6,25 +4,6 +3,4,5,6 +5,6,7,19,21 +4,6,25,49 +7,30,31,49 +5,14 +6,12,14,28,37,48 +14,29 +6,14,32 +3,14 +6 +5,6,14 +6,7,25 +5 +5,11,23 +5,6,14,22 +0 +6,34 +6,19,20,24 +3,4,6,14 +6,7,51 +4,5,6,9,12,17,25 +14,17,18,19,22 +5,44 +6,25 +5,6,12,14 +3,5,6,12 +5,6,17 +3,5,6,12,13,47 +24 +6,15,22,46 +5,50 +6,20,46 +6,17 +6,12,14,19,25 +5,46 +6,19 +3,6 +6 +3,6,17,21,49 +5,6,12,28 +3,38 +6 +6,14,21,25 +5,6,14 +2,14,23 +3,5 +5,6 +6,17 +6 +6,7 +4,5,13,20,22 +3,6,32 +3,4,5,6,14,41 +2,16,42 +6,17,29 +6,14,21,48 +3,5 +2,6,14 +29,40 +5,6,30 +5 +31,38,39,49 +2,3 +7,14,17,20,31 +10,14,20,31 +6 +17 +5,6,14,47 +3,5,14 +6,13,15 +5,6,35 +4,6,13,20 +5,6,7,14,17,36 +5,6,19 +6,31 +5,6,14 +4,7,17 +2,5,6,14 +4,5,6,18,20 +19,42 +6,22,47 +3,6,42 +3,5,6,7,14 +6,14,15,32 +6,23,41 +6,14 +5,6,16,17,21,28,41,48 +5,6,13,20,44 +3,6,16,20 +6,13,14,28 +5,6,14 +2,17,25 +6,18 +6,9 +5,6,14,17,20,30,31 +4,6 +4,5,14,22,28,46 +6,14,17,25 +5,22,31,47 +4,5,6,7,44,46 +5,14,27 +3,16,42 +2,5,6,13,22,23,36,44 +3,4 +6,12 +3,6,39 +0 +6 +2,5,7,14,30 +6,16 +2,6,17,37,48 +4,5,6,13,25,42 +4,46 +2,17,22 +3,4,5,6,14,16 +21 +4,5,6,27 +5 +5,6,44,46 +6 +4,6,7,16,18,20,46 +2,3,4 +2,4,6 +2,5,6,11,14 +5,6,7,14 +4,6,11,28 +5,6,21 +5,6,13,17,20,21 +4,5,6,7 +6 +12,14,24 +5,7,14,28 +5,6,7,16,17 +6,30 +26 +5,20,36 +3 +3,5,6,19,20,25,35 +4,5,6,19 +17,36 +5,6,13,20,23,36 +3,4,5,6 +0 +4,5,23,25 +3,6,17,21,41 +7,17,22,38 +5,6 +4,6,14,25,34 +2,5,6,14,44 +6 +2,5,6,14 +5,7,19 +6,14,16 +6 +5,13 +2,16,20 +5,6,12,18,20,22 +38 +5,21,36 +6,14,25,38 +5,6,14,17 +0 +6,30,51 +6,14,25 +17 +3,5,14 +6,14,34 +3,6,8,42 +2,5 +5,6,30,40 +4,6,14 +3,5,6,7,39 +6,7,42 +6,17 +3,4,6,14,20,22 +3,5,6,9,47 +5,13,22,41 +23 +5,6,14 +6,17,35 +6,14,19,21,32 +5,6,17,22,48 +6,7,25,26 +2,6,49 +5,6,8,14,22,48 +6,14,15,18,22,28 +5,6,7,22 +14,29 +4,5,6 +6,10,13 +4 +5,6,21 +6,16,21,24 +4,28 +5 +5,6 +6 +6,14,17,20,22,42 +0 +4,6,40 +4,5,6,12,20,42 +5,6,14,37 +5 +12 +6,16 +6,15 +44 +5,6 +5,6,7,11 +2,14,22,42 +6,8,15,44 +5,14,49 +2,6,14 +14,20,49 +4,6,7,13,32 +2,20 +5 +50 +2,3,4,6 +4,6,18,44 +13,22,31 +3,4,6 +6,7,14 +5,17 +6,14 +6,14 +4,6 +5 +5,6,15,25,42 +5,30 +5,6,35 +3,5 +6 +4,6,50 +2,4,6,7,14,28 +6,14,27 +6,20,25,27 +6,14,17,22 +6,7,22 +3,6,21 +4,6,14,51 +3,5,38 +6,19 +2,6,25,42 +29 +6,11,18 +5,6,16 +2,5,20,25,30,42 +44 +6,20,28,42 +14,41 +5,6,14,40,44 +6,14 +5,6 +4,6 +6,7 +4,20 +9,14 +5,6,10,14,19,22,29 +3,11 +5,6,14,47 +2,3,5,6,20 +5,10,13,17 +23 +5,19 +0 +5,6,15,28 +6,12,14,17,25,29,42 +7,17 +3,6 +6,33,49 +3,4,6,7,21,25,42 +4,16,25 +6,8,14,20 +5,6,21,50 +3,4,6,12 +0 +3,6,14 +6 +5,6,14,40 +41 +6,7 +5,9,11,14,22 +6 +6,44 +5,10,12,20 +6 +14 +6,7 +5,6,20,44 +3,5,6 +6,7,25,46 +3,6 +3,5,6,16 +12,47 +6,22,33 +5,6,8,10,11,28 +6,10,12 +6 +6,20,25,31,48 +6,20 +5,18 +5,14 +4,5 +5,25 +5,6,15 +4,6,14,17,25,30,35 +6,10,23 +2,12 +6,14 +6,22 +2,5,6,14,17 +2,5,6,7,43 +6,13,40 +8 +14 +4,5 +3,6,14,28 +6,14,37 +6,8,20,21,22 +5,6,20 +5,20,25,32 +3,14,22 +3,6,7,8,29,35 +6,17,18 +22 +6,46 +4,6,11,14 +6,14,20,29,32 +3,6,25,37 +5,8,30 +5,6,14 +5,6,18,48 +2,3,5,6,33,51 +2,6 +0 +6,17 +6,14 +5,6,13,14,25 +5,6,7,13,29,30,49 +5,6,15,17 +4,15,46 +4,12 +5,6 +6,20 +5,6,14,30,35 +5,18 +6,7,12 +6,44 +6,7,17 +3,5 +12,16,26 +8,17 +6 +3,5,6,14,25 +2,6,29,40,42 +6,7,21,37,46 +5,6,26 +17,27 +5,6,20,35 +3,5,6,17 +4,5,14,25 +3,21,27,43 +5,6,20,40 +6,11,24,51 +5,15,18,22,28,30 +17,34,51 +5,44 +2,5,34,35 +3,4,6 +7,11,28,37 +5,6,14,22,28 +3,19 +6,14,24 +6 +0 +6,14,35 +5,16 +3,11,44,51 +4,5,6,8 +5,6,12 +5,6 +18,23 +6,27 +22 +3,7,21,39,49 +5,6 +5,9,13 +3,5,6,30 +5,6,31 +6,37 +5,6,9,12,20,25,28 +5,6 +5,17 +4,6,26 +2,6,7,8 +6,24 +5,6,10,42,46 +6,22 +3,5,6 +6,9,14,15 +4,13 +5,6,8,22,46 +5,6,35 +5,6,7,23 +6,13 +6,23 +4,5,7,14,18 +5,20 +21 +5,14 +0 +2,3,6,45 +2,6,12,17 +3,4,6,25,34 +3,6 +4,6,14,17 +6 +6,14 +0 +5,6 +6,13,14 +6,17,21,23,31 +6,18 +3,11 +3,5,14 +5,25,32 +6,8,14,22,44 +3,6,17 +6,7 +4,6,37,47 +3,12 +5,6,14,19 +5,6,12 +6,11,21,30 +4,6,12,22,29 +4,22 +5,6,9,20,21,22,46 +6,30 +5,6,19,20,35 +6 +5,6 +14,24,40 +4,5,6,14 +5,6,7,41 +14,45 +6,17,19,41 +19,21,33,34 +4,5,6,14,25,35,51 +20,29,35 +3,4,6,20 +9,10 +6,25 +14 +4,6,8,9,16 +6,12,14 +5,20,48 +44 +6,14,46 +4,6,9 +4,5 +6,7,14 +5,6,25,46 +3,6,14 +2,5,6 +42 +5,6,26 +2,6,17,34 +6,42 +3,14,22,29,42 +4,5,6,7 +5,6,21,25 +3,17,23,26 +5,6,7 +25,31 +6,13 +2,5,6 +6,12 +3,7 +6,21,34 +5,6,17,34 +6,13,14,41 +6,7,14 +6 +3,6,8,14,17,22,25,27 +6,49 +2,6,21,27 +7,14,18,22 +13 +6,12,16,24,43 +2,5,25 +5,6,14,33,43 +5,6 +5,6 +5,6,8,11,14,16,18,46 +21 +4,6,26,48 +3,4,5,6,7,17,47 +8,13,14,22 +6,17,22,25 +6,22 +6,7,11,28 +3,10 +6,14 +3,5,6 +6,12,26 +5,6,28 +6,14,33,36 +2,5,28 +5,6 +6,22 +6 +5,29 +5,6,10,26 +5,6,22,26 +5,6,7,16,46,47 +3,6 +6,15 +6,14,16,17,21 +4,5,6,46 +6,22 +6 +4,5,6,19,20,25 +0 +6,20 +44 +2,6,17 +4,6,20,28 +13,14,17 +5,6,12,17,18,42 +4,6,7,11,12 +26 +5,23,49 +6,25 +6,7,14,42 +5,6 +3,5,6,9,14,18,25,40,41 +5,19 +5,6,10,13 +4,6,7,14,17,38,49 +3,4,6,7 +4,22,28 +4,6,12,13,19,46 +6,46,49 +6 +2,5,6,12,37,43 +0 +3,5,6 +6,32 +3,50 +4,5,42 +4,5,35,39 +6 +4,15,29,49,51 +5,6,17 +7,12,13 +5,6,22,40 +4,6,14,22,25 +6 +5,27,28,29 +7,16 +4,6,7,14,18,48 +4,5,6,40 +4,5,6,13,49 +6,36 +17,19,35 +4 +5,6,13,14,48,49 +3,5,6 +4,5,7 +3,5,24 +6,27 +5,6 +6,8,14,17 +5,6,10,31 +4,6 +4,5,6,14,21,23,32,44 +6,17,41 +26,35 +5,6,7 +14 +4,5,18 +5,13,31,34 +6,14,20,21 +6 +6,14 +6,18 +3,14 +3,5,6,7 +6 +5,6,14 +28,43 +6,41 +6,14 +4,6,17 +6 +4,5,6,22 +5,6,14 +4,6 +0 +6,7,46 +6,7,20,36 +4,6,13,14,21 +4,14 +6 +21 +5,29 +2,13,19 +2,5,6,8,21,46 +3,6,12 +5,6,15,25,49 +7,29,35 +12 +6,31 +6 +25,30 +6,18 +28,32,47 +5,17,20 +6 +4,13,21,29,36 +17,29 +5 +5,6,7 +14,43,48 +5,25 +10,14,44 +6,12,18,27 +6,7,22 +6 +12,21,46 +6,12,14,17,22,29 +6,14 +4,6,14,19 +3,5 +23,39 +10,20,35 +0 +2,6,7,11,14 +6,13,24 +6,41 +5,6,7,28 +6,25,46 +4,5,7 +6,16,40 +4,5,14,19,22,49 +6,14,42,49 +4,6,12 +5,8,28 +6,19,25 +6,13,15 +5,23,30,42 +3,5,6,15 +6,19 +12,17 +6,7,20 +4,13,22,46 +6,47 +5,6 +3,5,6,20 +5,6 +5,6 +6,14,39 +5,17,28 +5 +6,20 +4,6,28 +6,19,38 +6,20,26 +11,19,28,33 +6,28 +6,25 +6,10,14 +5,6,14,16,25 +46 +5,6,14,17 +3,6,31 +6,14,15,17,21 +3,20 +12,14,34 +5,6,15 +14 +4,14,19,22 +6,12 +4,5,6,22,28 +4,5,6,24 +5,6,27,48 +2,6,7,41 +6,15,25 +6,45,47 +5,6 +4,6,17,22 +14,17,20 +2,3,5,17,21 +5,6,20,36 +4,6,14,15,21,37 +2,4,5,45 +3,5,6 +3,5,6,17 +6,14,48 +5,6,31 +6 +5,36 +6,42 +5,6,7 +2,6 +6,28 +6,43 +5 +4,6,7,14,18 +6 +5,6,31 +6 +6,21,38 +42 +3,5,6,12,19,33 +4,6,7 +6,9,22,35 +6,20,21,29 +4,6,14 +5,6,10,43 +4,5,6,7,12,28 +6 +6 +3,22 +4,7 +10,13 +3,6 +6,14,16,34 +5,6,25,42,48 +3,5,7,22 +3,4,5,6,7 +6,7,14,43,50 +5,6,7,14,38,49 +6 +5,6,22,30 +5,7,21,41 +6,14,42 +3,4,5 +4,6,20,25,44 +6,13,14 +6,23 +7 +4,14,22 +2,4 +6,7,17 +6,13,14 +5,6,17,46 +5,6,42 +4,6,38 +26,42 +5,28 +5,6,14,22 +21,50 +7,42 +5,8,10,42,51 +6,25 +5,6,28 +4,6,24,28 +6,11,14,21 +6,45 +4,6 +6,17,25 +2,6 +4,14,38 +5,6,10,16,39 +6 +3,49 +5,6,17,42 +6,22 +4 +3,5,6,20,42 +4 +5,6,15,20 +4,5,7,10,17 +6,17 +5,19,27 +3,5,7,24,29 +2,4,6 +5,11,12 +3,6 +0 +3,4,6,20 +2,6,8,14,18,28 +6,14,20 +5,6,28,41 +4,18,19,25 +3,5,6,12,20 +3,5,6,42,43,50 +6,17 +4,7,17,20 +6 +5,6 +2 +5,10 +6 +14 +6,20 +6 +2,5,14 +5,6,14 +6,14,42,46 +4,6,7,39 +3,14,42 +7,19,22,38 +3,6,44,48 +5,6,29,42 +6,41 +3,6,14 +5,6,15 +6,13,37 +3,4,22 +5,6,14,45 +2,6 +5,6,23,38 +2,6 +5,17,28,50 +5,6,17,29,43 +5,6,9 +4,5,6,22,27 +4,6 +5,6,20,22 +4,5,6,10,45 +4,7 +5,41 +6,10,15,38 +3,6,7,13,22 +3,6,12,22,39 +9,19 +5,6,13,14 +6,14,42 +6,12,14 +5,6,14,17 +5,6,7,15,20 +2,5,28,33 +6,21,47 +6 +4,5,6,42 +4,6,7,30 +6,10 +5,6,22,49 +7,17,31 +6,14,39,42 +14,50 +8 +2,3,5,6 +4,6 +17,39 +5,46 +6 +4,6,7,25,28,34 +3,5,33 +4,5,11,14,48 +6 +5,6 +5,6,49 +3,5,6,7,14,41 +6,30 +4,6 +5,6,12,22,40,41 +6,14,20,49 +5,14 +6,7,22 +2,4,5,17,48 +6,31 +5,11,17 +6,14 +6,14 +6,17 +5 +2,6,18,20,48 +5,6,25 +6,9,21,24 +3,5,6 +6 +5,6,14,46,48 +6,41,51 +6,14,20 +5,34 +6,14,16 +5,6,22,44,48 +3,6,16,19,29 +6,48 +5,6,14,51 +2,5,19,23,27,47 +0 +6 +6,21,46 +5,6,9 +6,18 +5,6,14,19 +5,6,12 +4,5,6 +5,7,8,11,17 +4,17,26 +17,37 +5 +5,6,24,34 +6,18,32 +6,14,22,44 +23 +6,10,14,23 +2,6,14 +6,10,35 +6,8 +3,6,12,39,45 +6,16,26 +4,14,44 +3,5,6 +6 +5,39 +3,13 +6,14,20,21,41 +3,16,25 +16,31 +17,32 +4,10,22,27 +6,15 +6 +5,6,13,18,20,22 +5,22,33 +5,6,20,22 +6 +5,6,7,45,48 +6,14,22,28,49 +3,6,14 +5,6,13,33 +44 +6,13 +4,17,22 +6,13,14,19 +5,14,22,35 +4,24,28 +6 +5,6,13 +6 +6,22,35 +3,6 +12,20,28,41 +3,5,6,14,46 +4,5 +2,36 +14 +6,7,14,21,33 +5,6,22,36 +6,13,21,22,28,35,44 +3,6,16,29,40 +4,6,22 +14,17 +6,19,22,29,38 +4,5,6,12,20 +4,5,6,7,13,30,38 +5,6 +3,37,44 +4,5,10,22 +6,8 +3,14 +0 +5,14 +6,17,26 +6,23 +5,6,16,17,19 +4,5,6,21 +6,7,9,17,31 +4,5,6,7,27,47 +5,6 +3,6 +6,16,27,41 +6,15,28,36 +6,15,22 +5,7,14,17 +4,5,6,12,17,31 +2,4,8 +6,21 +3,5,6,14,42 +6,14,17 +4,6,14,22,25 +7,10,40 +5,14 +5,6,41 +2,4,5,6 +6,16,31 +6 +5,6,17 +6,31 +8,22 +5,6,17,28 +5,6,14,18,51 +5,6,14,18,20 +6,16 +6 +6 +21 +5,6 +2,5,6,17 +6,7 +4,6,15 +5,14,29 +2,4,5,6,15,17 +6,20,22,25 +6,11 +2,36 +5,6,12,20,38 +3,6,16,17,19 +4,6,9,14,20,27 +6,7,14,21,37 +6,14,21 +6,7 +2,22 +6,7,36,46 +4,14,27 +6,16,20 +6,51 +6 +6,7,49 +5,6,7,49 +3,5,6,14,20,51 +6,13,14,30 +5,6,14,20,30 +5,31 +5,6,14,42 +5,6,11 +4,6,17 +4,5,6,7 +14 +5,14,30 +6,13 +4,17,21,46 +5,6,7,16,35,40 +5,6 +6 +6,31,44,45,46 +5,14,19 +5,10 +6,18 +6 +4 +6,9,17,22,25,35 +6,19 +3,20 +2,23 +3,6,14 +5,6,20,22 +4,5,47 +6 +6,18,22,50 +6,11,17 +3,10,20 +6,37 +6,14,24 +19,20,25,40,43,47 +3,25,45 +6,25 +2,3,5,6,15,20,46 +6,14 +4,5,6,12,25 +6,17,20 +14 +4,5,6,12 +2,7,13,28 +6,17 +6,20 +6,7 +4,5,6,14,44,46 +6,16,33 +6,23 +0 +0 +6,9,14,17,28,30 +4,6,29 +2,34,43,47,48 +0 +6,25 +2,6,7,21 +5,24,28,40 +6,14 +5,6,7 +2,4,5,6,16 +5,14,20,50 +6 +5,6,21 +4,5,14 +0 +6,14,15 +4,5,6,19 +5,17 +14,21 +0 +4,6,7,26 +0 +3,6,8 +6,20,26,51 +5,7,14,20 +3,5,6,21,26 +6,15,42,49 +5,6 +6,17,20 +5,6 +4,13,14,16,20,37 +47 +6,22,23,42,49 +5,32 +5,13,17,22 +5,6,21 +6,14,20,22,28 +3,6,7,17,51 +4,5,6,7 +2,3,5,6,43 +3,6 +5,6,7,37 +15,32 +6,50 +2,3,21 +5,6 +4,6,15 +5,6,22 +6,14,29 +5,6,14 +3,6 +5,6,20,45 +4,6 +6,8,17,39,41 +6,12,23 +4,6,10 +17,22,39 +6 +3,5,6 +17,23,34,38 +3,36 +4,5,6,13,14,19,25,35 +6,7,14,18 +5,7,9,25,27 +5,13 +33 +4,40 +6,23 +17,21,42 +20 +5,6,25,33 +2,3,20,39 +5,6,16 +14 +5,7,17,21,29 +6,7,21,32 +5,6,7,14,15,21 +6 +6,14,25 +5,6,32 +6,12,21 +4,5,6,12,17,46 +20,38 +18 +5,6,14,37 +6,41 +2,19,29,35,45 +6 +3,5,6,14 +5,6,17,20 +3,6,44 +3,6,13 +4,14 +6,7,12,42,50 +6,19,34,36,43 +6,20 +3,6,35 +6,15,21,25,28 +4,5,14 +6,7,12,14 +3,6,20,41 +6 +6,11,19 +5,6,38 +14,17,18,20 +5,6,41 +6,14,18,42 +2,20 +5,8,11,26 +6,13,25 +6,14,43 +6,24 +6 +5,6,13 +5,50 +3,13,14 +6,14,21 +5,6 +2,7,10,17 +39,51 +3,4,6,14,42 +5,6,34 +6,7,14 +17,20,37 +4,22 +5,6,11,14,22 +6,13 +6,25 +5,6,7,10 +5,6 +6,25,26 +6,14,25,46 +6,14 +4,14 +6,22 +6,14,20,22,28 +3,6,7,10 +14,24,42 +5,6,13 +6,14,42 +6,13 +6,14,32 +5,6,14,42 +3,6,17,28,42,47 +6,10 +3,12,16,25,28 +4,6,7,13,14 +3,6,14,49 +5,6,18,24 +5,6,10 +6,7,47 +6,22,48 +6,20 +4,6,17,22,25 +6,22,33,39 +5,6,11,14,30 +5,6,21 +3,23 +0 +0 +6,21 +2,4,6,10,14,24 +3,6 +2,14,22,29 +12,22,42,48 +6,20,33 +5,22,36 +4,5,6,7,17,28,46 +25 +5,6,28 +12,25 +0 +5,6 +3,5,6 +3,17,21,31 +3 +3,6,25 +6,13 +11,14 +6,17,34,41,42 +6 +5,6,13,16 +20,28,34 +2,6,7,17 +5,6,20,36 +6,14,20 +4,6,9 +0 +6,12 +3,5,31,39,47 +5,6,16,23,34 +5,6,17 +6,14,18,21,42 +6,13 +3,4,6,43 +5,6,14,21,35 +5,6,12 +4,5 +3,5,6,12 +11,45 +17 +5,6,15,17,19 +5,6,28 +2,6,19,25,47 +5,6 +6,48,51 +5,8,17 +6,38,49 +5,6,12,23 +4,5,6,45 +4,5,6,28,29 +6,29 +2,7 +3,5,21,36 +7,12,17,21,25,38 +6 +6 +17,19,31,42 +5,6,22 +6,7,19,36,42 +5,6,14 +6 +3,6,7,38,46 +5,17,43 +6,14,21,28 +6,11,21,48 +5,23,47 +8,22,40 +6,16,20,42 +5,6,12,13,14 +5,6 +5,6 +4,5,6,32,50 +5,6,15,20,23,26,44 +6,14,20,28 +4,9 +33 +6,7,12,13,17,28,42 +0 +5,6,13 +3,4,5,6,22 +28 +6,15,51 +11,12,14,15,25,32 +3,4,5,6 +33 +6,44 +6,24,26 +5,6,38 +6 +6,51 +3,6,12 +5,6,21,42 +3,6,20 +5,17 +5,6,7,22 +4,6,7 +6,16,30,38,47 +6,18 +4,6,7,12 +6,19,22 +2,14,48 +3,6 +3,4,6,7,14,21 +4,5,6,17 +6,17 +5,6,14 +6 +3 +3,6,7,14,18,19 +17,22,31 +0 +4,6,19 +4,6,12 +4,5,6 +5,6 +0 +3,6,23 +2,6,7 +6,14,39 +3,4,17,42,48 +6,14,19,29 +3,5,6,46,48 +12,13,22,44 +20 +3,4,5,6 +38 +6,20,33 +2,6 +4 +3,6 +14,17 +6,14 +5,6,21 +5,6,7,17,18 +5,6,7 +6,14,17,25 +3 +4,6,14 +6,7,22,25 +5,14,17,28 +7,16,18 +6,14 +6,29 +5,6 +5,6,11,26,32,48 +6,17,43 +10,16 +6,14,40 +2,5,6 +4,5,6,12,22 +5 +2,6,14,32 +4,5,6,19,27 +4,6 +8,13,22,39 +3,5,6,10,28 +4,6 +5,31 +3,4,6,13,20,22,28,43 +4,5 +3,5,6,12 +7,13,15,44 +14,46 +6,14,27 +0 +6,9,23 +6 +5,6,14,25,42 +46 +5 +0 +6,20 +4,6,17 +4,5,6,10,35 +5,25 +5,37,38 +4,6,23 +3,5,6,15,21,25 +5,6,10,14,17 +3,6,28,30 +6,21 +3,6,14 +4,8,13,19,31,48 +5,6,25,29,42 +6,27 +3,12,22 +6,14,41 +4,32,48 +0 +3,5,6,21,47 +6,8,19,42 +17,25 +5,6,20 +4,6,51 +6,8,22,36 +5,6,29,46 +5,26 +6,20,21,45,48 +5,6,7,14,27 +2,5,6,7,20 +5,6,14,20,42 +5,18 +5,6,7,17 +5,6,14,20,23 +6,7,40 +6,12,14,40,51 +3,4,38 +5,14 +5,6,7,22 +6 +6 +5,22 +2,3,22 +19,20,21,48 +6,14,22 +6,14 +2,4,6 +4,6,9,21,41,47 +5,13,46 +5,6,11,14,19,23 +4 +5,7,17 +2,5,10,20,49 +3,6,22,36 +3 +2,5,6 +2,6 +2,5,6,20 +0 +4,5,6 +4,6,7,14,43 +26 +6,44 +3,6 +4,5,6,29,48 +0 +5 +3,4,6,14,16,20,22,25,47 +14,32 +2,6,14 +2,6,14,25 +4,5,6,8,14 +4,5,6,14,28 +4,5,7,20,22,49 +6,12,20 +4 +6,7,11 +6,13,22,23 +5,6,15 +5,17 +11,14 +5,27 +3,6,14,32,42 +5,11,32 +2,5,6,33,50 +6,7,22 +29 +5,6,14,22 +5,6 +5,6,17 +3,5,6,7,18,26 +4,5,6,14,22,26 +4,6,25,48 +3,5,10,12,23 +6,27 +6,46 +4,6,15,17,20 +5,6,22 +6,14,32 +6,14,23 +6,25,38 +6,14,15,42,44 +5,6 +6,17,23 +5,6,14 +6,14 +3,4,6 +4,5,14 +2,6,14,34,35 +6,25 +3,6,14 +5,6,17 +6,38 +6,14,17,44 +6,7,13,14 +2,3,5,6,8 +2,5,7,40,49 +3,6,12,14,22,23 +7,12 +6,14 +3,6,25,29,34 +6,19,20,26 +3,6,19,26,27 +5,6,14 +6,12,17,19 +6,30,46 +3,5,6,20,22 +28 +2,14 +4,5,6 +5,6,22,27,33 +6,26,43 +5,6,13,41 +6,7,9,11,29 +5,6,8 +19,33,48 +17 +6,7 +5,20 +6 +8,14 +6 +4,5,6 +6,14,25 +9 +6,29,49 +12 +0 +5,6,9 +6,14 +3,5,6,39,40,48 +5,6 +5,6 +3,14 +6,17,33 +26 +3,5,6,13,14,32 +3,7,25 +6,17,23,24 +5,6 +3,4,6,7 +6 +4,5,14 +5,6 +2,5,6,16 +2,15,22,51 +17 +2,4,6,36 +14,34 +3,11,14 +5,12,28 +6,20 +4,5,6 +5,6,14,20,22 +4,10,13,19 +5 +4,14 +6,8,18,23,42 +5,6,14,27 +2,3,6 +3,6 +6 +5,6 +14,43 +6 +5,23,44 +3,5,6,12,26 +6,15,30 +5,6,14,17,44 +3,6,10,17,20 +0 +6,17 +0 +3,5,30 +4 +5,6,10 +4,6,11,16,25,29 +5,6,14 +5,6,14,22 +5,43 +2,4,5,6,22 +0 +5,6,13,36 +3,6 +2,15,21,37 +2,4,6,18,29,35 +3,14 +6,14,34,47 +7,14,22 +4 +5,6 +5,6,19,25 +6,22 +4,5,6 +6 +6,43,46 +6,12,13 +6 +3,31,34 +49 +6,7 +14,15,16,25 +12,17,22 +6,23,25 +5,6,7,22 +2,8,31 +3,6,20 +5,6,23,29 +6,17 +2,14,21 +12,14,44 +5,8 +12 +2,3,7,30 +4,41 +6,10,23,25,35 +17,27,28 +6,14 +4,14,20,22 +4,5,6 +6,14 +14,26 +4,6,13,21,25 +20 +6,12,14,25 +6,14 +6,43 +4,6,7 +6 +5,6 +6,18,19 +6,14,28 +4,6,19,20,33 +4 +2,6,22 +5,6,8,28,34 +5,6 +6 +6,7,49 +6 +5,6,14,16 +2,6,25,37 +3,19,47,50 +18,25 +6 +4,5,6,9 +3,6,11,15,19 +4,6,38 +13,17 +6,17,18 +5,6 +13,17 +3,6,14,19 +3,30 +7,16 +5,6,7 +0 +2,47 +3,25 +12 +5,14,20,33,43 +5,6,23 +3,5,6,14 +5,14,38,40 +6,7,20,22 +5,6,7,14 +3,5,6,22 +6 +6,25 +6,14,17,41 +5,14,21,25,33 +5,6,25 +5,6,22 +6,37 +5,6,19,29 +4,6,42 +5,6,13 +6,12 +6,13,17,46 +6,14,16,28 +4,6,14,38 +6,11,15,22,25 +6,10,35 +6,8,12 +6,9,12,13,33 +6,14,17 +3,5,6,16,17 +4,6 +14,22,51 +4,6,21 +2,4,6 +6,13,14 +6 +14,35 +6,9,32 +5,6,25 +3,5,6,22,25 +6,19 +14 +6,28 +3,4,6,14,41,46 +4,5,6,9,14,20 +3,6,11,16 +6,7,18,22 +6,29 +5,6,16,33 +2,4,6,13,35 +4,6,22 +5,6,20,26 +5,6,14,20 +2,17,23 +6 +6,16,22,30 +4,6,7,17 +4,5,6,22 +6,17 +6,40,41 +6,22,26 +3,4,5,6,16 +4,6,29,36 +6,33 +14 +4,5,6,7,22,25 +7,9,14,19 +4,5,14 +2,4,5,6 +6,11,35 +6,45 +2,6,15 +6,14,48 +6 +6 +6,14,27,33,35 +5,6,13,19 +5 +6,32 +4,5,6,15,17,18 +6,26 +5,6,13,45 +21,23 +6,14 +6,14,18 +6,12,17,22,27,31,41,43 +6,14,49 +5,14 +6,14,28,30 +3,6 +6,10,11 +5,6,16 +5,6 +5,6,15 +5,6,13 +6,7,22,33,35,42 +2,6,18,38 +0 +6,10,13,49 +4,5,22,45 +5 +3,6 +5,14,20,28 +4,6 +3,6,29 +6,7,10,13,17 +5,21 +5 +5,14,22,35 +22 +2,3,6,21 +5,6,12,14,25 +6,13,29 +5,6 +5,6 +5,6,14,16,36 +6 +4,7 +5 +5,6,46 +4,5,6,17,33 +5,6,7,22 +0 +6,12,22 +6,33 +5,13,17 +6 +6,37,46 +7,10,14,15,26,28 +6,14,43 +6,12,20,28 +4,14,17,25 +4,5,8 +3,5,8,41,42 +4,8,14 +3 +5 +3,6,22,25,45 +29,43 +2,5,6,9,14 +4,5,6,12,17,27 +6 +19,22,41 +2,6,22,30 +6,42 +6,10,14,35,42 +2,6 +6,7,49 +6,13,45 +6,22 +15 +6,14 +6,16,19,26,41 +5,6,25 +4,20,22 +6,7,17,37 +3,5,6,14,19 +3,6 +17 +22,42 +7,8,12,22,38 +4,5 +4,5,7,10,22 +6,7 +6,17,42,46 +4,5,6,19,44 +5,6,35 +4,5,6,10,24 +5,6 +4,5,6,33 +6,13,21 +23 +5,33 +6 +8,17,29,41 +3,5 +6,13 +4,6,7,25 +6,14 +6,14 +6 +5,6 +5,6,13,17 +5,14,24 +3,4,9,12,14,17,20 +48 +22 +6,39 +4,5,8,10,31,49 +5,6,14 +6 +13,14 +4,5,8,20 +5,6 +6,7,12 +0 +4 +5,14,18 +6 +6,11,25,46 +3,6,10,14,46 +5,6 +19,20,28 +3,5,6 +6,7,40 +6 +6,12,14,22 +5,6,14 +5,6 +4,6,14,38 +6,13,26 +6 +5,6,18,29 +5,47 +6,14 +48,49,50 +3,6,14,44 +5,7,12,27,42 +5,6,12,14 +5,6 +6,14,22,30 +6,25 +2,5 +5,6,11,37 +5,6 +6,7 +6 +6,45 +3,6 +4,6,14,17,18 +5,6,14,42 +4,6,8,23,27 +6,14 +6 +5,6,21 +10,14,19,21 +6,36 +6,12,18,22,23,25,42 +4,6,7 +3,6,30 +6 +3,6,22,23,26 +5,8 +3,5,6,10,15,17,18,28 +10,14,27,43 +6,7 +6,12 +13,17 +6,13 +6,12,14,17,24,27 +5,11,33 +5,6,13,19,25 +6,19,35 +0 +6,14 +6 +6,12,47 +6 +3,5,6,30 +5,6 +3,6,11 +2,6 +6,14,22 +17 +3,6,17 +18,42 +6 +5 +2,20,30,33,38 +4,6,7,12,22 +5,6,20,25,47 +3,5,6,21 +4,6,7,47 +4,50 +6 +6 +6,10,30 +6,21 +5,6 +6,22 +4,6,14 +5,14 +5,6,18 +6 +2,3,5,14,25 +5,20 +14,15,48 +5,6,7 +33 +6,23,25 +6 +4,6,14,23 +4,5,8,25 +2,6,10,14 +6,12 +5,6,23,35 +23 +6,14 +4,5,6,30,46 +3,6 +5,6 +6,15 +6,25 +3,4,14,19,36 +4,6,17,20 +7,46 +6,7,10,16,17,26 +6,19 +12,15,48 +6,35 +5,6,14 +4,5,21,44,49 +6 +0 +6,27,36 +6,7,14,26 +6,20 +5,6 +4,6 +5,49 +2,3,5,17 +6,14,50 +14,27,30 +5,6,10 +4,6,11,21,26 +16 +5,6,7,21 +6,16,18,22 +6 +4,26 +3,5,6,21 +6 +14,22 +6 +6,24 +5,6,14,15,25 +5,6,38 +5,6 +3,6,11,13 +6,30,38 +4,5,40 +6,10 +6 +5,14,20 +2,3 +6,7,16 +3,4,6,12 +27 +6,14,20 +47 +6,14,20 +6,9,27 +6,33 +6 +5,6,12,18 +3,5,6,7,51 +5,6 +5,23,39,41 +6 +0 +2,5,6 +6,22,45 +30 +5,9 +14,25 +14 +3,29,45 +6 +5,6,7,16 +3,4,6,17 +15,22 +5,6 +6,17 +5,6,48 +6,14,18 +25 +4,6,19 +6,14,25 +3,21,29 +5,6,14,22 +6,13,14 +4,6 +4,5,6,20 +5,6 +4,6,13,22 +5,6,11,48 +3,6 +14,42 +4,5,6,15 +2,6,11 +6,22 +4,5,13,17,25 +4,5,6,25,27 +14,22,28 +5,6,19,46 +6,14,17,23 +6,7,11,30,46 +4,6,22 +3,4,6 +39 +6,14 +6 +6,25 +3,4,15,42 +2,5,14,20,34 +0 +5,6 +6,29,48 +3,4,6,14,17 +6,12,20 +6,15 +6 +5,13,21 +3,6,19,27,30 +5,6,17 +21,34 +6,14 +5,6,7,14,30 +6,14,30 +6,19 +5,6,25 +5,19 +5,6,11,12,14,35 +3,6,7 +6,14 +5,6,25 +7,46,49 +5,6 +5,6,25 +6,11,14 +2,4,5,6,8,14,51 +15,16,33 +6,40,41 +8 +4,6,7,17,20 +3,6,14,36 +3,6,42 +2,3,6,18 +6 +4,6,11,14,17 +4,5,6,14,33 +6,8,14,39,45 +5,6,13,14,18,22 +6,9,17,41 +5,6,7,14,15,23 +3,6,7,14 +3,13,14 +6,14,25 +4,5,6,46 +3,6 +6,17,34,41 +3,5,6,14,36 +6,22,33 +5,17,21,25 +3,6,20,34 +5,17,25,49 +3,6,16,25,40 +3,5,6,20 +6 +7 +6,7,18,33 +5,6 +13,16,22 +6 +5,8,22,41 +18,49 +6,31 +5,6,14,21 +6 +5,6,47 +15,45,48,51 +4,5 +6 +7,29 +4,6,8,22,29 +5,6,10,22 +4,6,13,25,37 +6,49 +5,49 +6,8,14 +6,7,25 +6 +3,6,17 +2,4 +4,6,12 +6,22 +2,3,4,5,6 +7,17 +6 +4,5,6,14,22,32,48 +5,6,25 +4,6,16,48 +5 +0 +3,10,11 +16,20 +6,19,32,35,41,42,49 +5,6,12,14 +6,7,23 +3,7,23 +17,31,46 +13,15 +5,6,13,14,43 +4,8,20,43 +6,10,28,32 +4,6,14 +6,21 +14,19 +5,6,14,18 +2,4,5 +6 +6,31 +5,6,14 +3,6,7,14 +6,17,26,43 +5,7,14 +6,39 +6,16 +2,6,17,38,43 +5,7,12 +3,6,17,46 +5,6,7,17,19,21 +6,40 +3,6 +6,22,49 +4,5,6,14 +6,14,30 +6,13,28,38 +3,5,35 +5,6 +7,16,27 +6,29 +5,6,14 +6,29 +4,6,7,25,33 +6,17,18 +3,6 +6 +22 +4,6,14,34 +5,6,46 +4,5,6,15 +19,20,24,36 +3,4,14,17,20 +6,14,16,22,28 +9,14,15,16,48 +0 +47 +6,8,13,20,46 +5,42 +3,6,39,48 +6,10 +6,17 +5,6 +5,6,7,9,14 +6,49 +6,7,14 +6,10,14,16,17,40 +2,4,13,14,25 +2,5 +5,17,25 +5,6,25 +6,50 +4,6,7 +5,6,28,47 +6 +4,5,6,22,44 +5,7,9,12,20,28,32 +6,14,46 +14,19 +4,5,6,10 +6,22,29 +4,6,28,29,46 +5,6,17,35,48 +5,6,30,49 +5 +5,6,10,28,42,49 +5,6,13,14,18,45 +4,6,25,37 +5,6,12 +4,15,39 +6,15 +22 +5,6,13,25,27 +3,4,6,35 +6,28,38,42 +6,14,16,25,36 +5,12 +5,6,14,15,25,26 +6,7,13 +6,30 +4,6 +4,6 +6,12 +3,6,7,42 +3,5,6,48 +6,15,50 +4,5,12,14,15 +6,7,13,14 +2,4,6,9,17,33,34,37 +6,14 +5,6,39 +3,6,14 +3,5,6,7 +4,6,11,39 +4,5,7 +6 +5,22 +6 +6,7,14,45 +35,50 +2,6,12,43 +3,6,8,19 +3,5,6,18,43 +3,14,16 +2,4,17,21,29 +4,5 +5,6,7 +6,22 +6,13,19,22 +5,6,14,17,34 +2,6,30 +5,6,10 +6,31 +21,30 +4,6,18,25,30,49 +0 +6,14,34,46 +4,6,12,25,50 +4,13,15,17,44 +3,6,11,48 +7,14,45,51 +4,5,6 +37 +3,12,14,15,44 +2,4,6,23 +4,15,29 +6,15 +6,28 +5,17,20,27,37,48 +5,6,7,14 +7,48 +5,6,7,10 +2,5,6,14,17,32 +6,28 +5,6,32,46 +7,41 +6 +5 +5,6,30 +6,14 +5,6,22,30 +44 +6 +6,22 +4,5,6 +6,12,50 +3,5,6,17 +3,6,28 +5,6,44 +6,14,21 +6,8,13,14,33 +14,21 +5,6,8,25 +4,14 +5,6 +6,7,15 +3,14,22,24,38,48 +6 +5,6,14 +3,4,5,28,40 +5 +4,5,6,24 +2,4,10,14,38 +3,6,12 +4,5,7,15,25,37 +10,17,22 +6,14 +2,5,6,17,31 +5,6,14,38 +6,14,17 +6,7,49 +6,25,40 +5,6,14,35,40 +6 +4,6,27,33 +5,6,14,22,25 +6,21,22 +3,5,17,18,42 +4,6,44 +3,37 +3,6,20,44 +5,6,12,14,32 +6,10,33 +2,7,18 +5,6,13,38 +3,6,7,11,15,30 +3,14 +3,5,6,26 +5,6,11,13 +5 +5,6,26,35 +4,5,6,19 +4,5 +6 +0 +6 +4,15,26 +6 +4,6,12,13,14 +4,5,6,15 +5,42,43,49 +6,14,17 +6,19,29,49 +6,14 +5,6,14,17,18,43 +6,17,31,42 +5,6,51 +6,37,47 +6,16,26,38 +10,15,18,37 +4,6,21,27 +17 +3,6,25,33 +3,5,14,15,17 +4,5,6,7 +3,4,5,6,22,41 +6,41 +15,38,42 +5,6,11,21,49 +6,50 +7 +3,4,6,20,22 +10 +5,6,22,43,50 +5,6,16,17,25 +15 +4,5,6,10,14 +6,21,42 +4,6,7,41 +4,5,6 +6,7,9,20,25,42,51 +5,6,20 +4,5,7,21,25 +4,25 +4,6 +2,5,6,17,22 +6,15 +6,12 +5,6,14,22,46 +3,6,28 +6 +5,14,49 +6,7,14 +5,6,14 +5,6 +6 +4,5,39 +5,6,30,33 +6,14,16 +6,8,10,14,48 +6 +6 +3,6,28 +4 +2,6,25 +5,16,18,20 +11 +3,6,44 +23,35,42 +6,39 +13,26,45 +6,9,28 +6 +5,12,29,34 +10,20 +5,6,14,20,31 +5,7,18 +4,5,13,22,41 +11 +14,18,41 +6 +3,6,7 +5,6,7,14,35 +5,6,19 +6,14,20 +4,5,6,7,11,14,38,42,43,44 +2,4,6,22,23,41 +18,20,23,33 +6 +2,4,6,37 +3,6,7,41 +5,9,18,28 +6,12,14,25,30,41 +25 +2,3,5,6,16,41,45 +6,7,22,23,47 +4,6,12,13,14,21,50 +5,12,14,17,22,26,28,39 +2,3,6,41,43 +5,6,7,18 +6,22 +6,14,17 +6 +6,13 +0 +2,13,14,22,31 +5,6,8 +6,21 +5 +6 +5,6 +5,6,8,28 +4,5,13 +5,7,14 +4,5,6,13,14,17,31 +4,5,6,16 +6,21,36 +3,5,6,15,40 +2,6,10,22 +6,7,22 +3,5,6,17,21 +6 +5,6,13,17 +5,6,21 +6,16 +5,6,9,11,13 +3,6,7,10,14,15,16 +6,7,22 +6,11 +4,6,12 +4,6,14,38 +6,14,29 +6,41 +5,6,41 +6,17,26,35 +3,4,6 +0 +6,7,26,40 +2,5,6,7,30,38 +5,6 +6,7,12,17 +5,6,20 +21,26 +2,5,6,28 +2,4,6,34 +36 +6,12,14,32,34 +6,12,28 +11 +5,12,14,36,42 +7 +0 +17,28,46 +6,50 +4,6 +5,6,17 +6,14,22,31 +6,14,17 +3,13,17,25 +6,13,46 +2,3,12 +3,5,6,22 +4,5,6,7 +6 +3,4,6,12,21 +5,14,21 +36 +2,6 +2,6,28 +5,6 +5,6,14 +3,33 +3,5,25 +6,7,13,14,22 +6,46 +3,6,22,41 +47 +3,5,6,7,19 +3,6,17 +10,28 +5,6,45 +6 +17 +6,24,47 +6,10,17,27 +5,6,7,8,32 +3,6,7,22,38 +6,14 +5,6,12 +6,17,30 +3,6,10,12,15,26 +2,6 +2,4,8,25,35 +4,5,6,14,22 +6,14,15,42 +4,14 +5,6,40 +16 +6 +13,19 +6,10 +6,14,21,36 +3,6 +3,22,43 +6,15 +3,4,6,16,25 +2,6,14 +3,4,6,27 +2,14,22 +6,14,21,27,47 +5,17 +3,5,10,13,41 +5,6,51 +6,20,25,34 +38 +6,7,12,14,22 +4,6,14 +0 +4,5,6,41 +4,6,13 +5,6,9,14,46 +2,6,14,18,20 +5,6,23,41 +6,25 +4,5,6,7,14,21,22,25,26 +3,6,21 +6,23 +5,14,15,27 +15,33,34 +3,5,6,23,28,42 +5,12,14,24,30,35 +3,6 +6,45 +6 +6,20,47 +6,40 +7,28,45 +6,17 +6 +6,7,45 +3,6,42 +4,5,6,16 +0 +42 +5,6 +4,5,17,22,26,43 +5,6,14 +7,10,21 +4,17,44 +6,14 +6,10,17,34 +6 +6,14,21,30 +5,21,37 +6,12 +6,15,22,46 +3,5,6 +6 +14 +3,6,7,10,14,25,49 +3,5,22,42 +3,13 +6,14,29 +5,6,14,17 +4,5,6,7 +25,34,49 +6,15,17,18,20 +6,8,50 +2,6,11,48 +5,6,28 +5,6,7,19,29,32 +3,14 +4,5,14 +3,46 +3,4,5,14,17,44 +3,5,6,25,27 +3,5,6 +5,14,23,48 +6,22,26 +6,14,20,21 +6,13,21 +6,20 +5,6,14,27 +5,12,14,17 +5,6,46 +4,6,7,14,20,25 +3,4,5,6,7,8 +6,14 +7 +4 +5 +3,5,6,10,33 +2,4,7,14 +3,5,6,22 +5,6,14,36,50 +5,15,18,26,28 +5,6,20,39,50 +2,4,6,13 +3,5,6,15,22,25 +5 +2,6,28 +5,6,28,36,41,45 +14,27 +3,5,6,20,22 +6 +0 +6,46 +6,9,17,38 +4,6,10,42 +3,5,6,27,41 +5,6,38,43,44 +5,6 +3,5,6,27 +0 +6,7 +6,7,17,20,26,44 +6 +5,6,14,28,41 +6,14 +4,8,28 +5,6,13,15,19,20,25,35 +6 +13,14 +4,6,22,23 +6,17,41,44 +2,5,7,25 +4,6,8 +2,15 +3,5,26 +5,6,26 +5,6,15,19,25 +2,4,5,6,30,46 +2,4,6 +5,6,14 +4,6,13,38,42 +5,6,14 +4,6,36 +0 +22,48 +3,5,7,11,20,23,42 +2,5 +6,41,42,47 +6,38 +6,15,19,30 +6,49 +6,11,15,19,22,36 +5,6,10 +3,6,22,49 +4,6,14,17,23 +2,5,6,45 +6,28,46 +3,6,19,38 +3,5,6,14 +5,6,14,19 +6,22 +4,6,7,9 +3,6 +6,35,40 +6,18 +6,25,50 +6 +17,22 +5,6,13 +5,6,7,46 +5,6,20 +3,6,7,22 +4,5,6,10,49 +6,14,26,28,49 +5,6,9,14,21,22 +4,5,36 +6,12,14,38 +3,4,6,32 +3,5,15,17,20 +4,6,17,20 +14,38 +5,6,30,32 +4,6 +5,6,14 +4,6,48 +8 +4,6,14,21,25 +5,6,10,17,41 +5,49 +4,6,28 +25,30 +6 +12,14,17,21 +3,6 +3,5,6,7 +5,6 +5 +5,6,10,14,19,46 +5,14,42 +6,7,14 +6,13,18 +3,6,43 +5,6,22 +3,4,5,6 +7 +3,4,6,14,17 +6,14 +3,6,14 +6,22,32,35 +2,4,5,6,15 +6 +5 +4,6,8,14,26,46 +5,6,8,15,17 +6,12,20 +6,20,26 +5,6,20,25 +5,6 +4,6 +5,6,7 +15 +5,6,22,28,29 +5,6,19,25 +6,21,25,31 +22,33 +6,13,15,21,28 +6,14,17 +2,6,22,23 +5,17,20 +4,5,6,20 +4,6,12,19,30 +4,6,28 +4,6,18 +14 +5,6 +5,6,14,31 +0 +4,6,7,15 +4,6 +14 +5,6 +6,7,29 +3,5,6,22 +5,6,17,20,32 +6,20 +6,32 +5,6,7,22 +6,7,10,27,36 +5,6,17 +6,21,41 +0 +13 +7,18 +3,6 +5,6,39 +3,5,12,14 +2,5,6,10,14,22,23,33 +46 +4,6,12,17,22 +6,7,37 +6,20,25 +2,6,7,11,24,47 +5 +5,6,14,20 +6 +3,6,9,47 +49 +6 +5,6,7,19,25,45 +5,6 +14,46 +5,6,20 +6 +5,14,17,19,41 +6,11,29 +5 +6,23 +3,4,14,22 +14,48 +3,6 +35 +0 +6,28 +0 +6 +5,12,17,20 +3,4,11,15,28 +5,6,9,14,22,34 +4,20 +20 +6,17,19,41 +6,7 +5,13,16 +5,6,10,15 +3,6 +28,40,47 +6,17 +3,14,21 +3,5,6 +5,6,17,18,37 +4,25 +2,6,14 +2,6,32 +5 +8,17 +3,5,6,7,14 +4,6,13,14,17,23,32 +16 +5,6,14,42 +5,6,35 +3,5,6,7,17,22 +4,6,18,41 +3,5,6,42 +6,12,14,48 +6,29,51 +4,6,14,16,31,48 +6,17 +5,6,17,29 +4 +13,22,45 +6 +6,31,34 +6,16,30 +2,6 +6,19,29 +5 +6,16,25,29 +6,20 +5,6,24,34,51 +5,6,14 +3,5,6,12 +6,30,43 +5,6,14,18,22,23 +6,17 +8,10 +4,5,6,8,14,22,27 +2,3,5,6 +3,4,5,6,14 +6 +5,6,7,13,14 +5,8 +4,6,15,23 +6,14 +28 +6,14,19 +5,6,14,41 +5,6,14,28,42 +6,16,27,28 +2,6,14 +6,27 +3,6,18,22,42 +4,6 +5 +6,18 +4,5,6,28 +3,6,12,13,20,24 +5,6,13,14,17 +7,11,28 +4,6,21,22 +6,8 +3,4,6,12 +3,6,14 +4,6,7,8 +6 +5,6 +14 +3,5 +30 +6,16,17,36 +6 +6,10,36 +5,14 +6,14,25 +42 +4,5,6,14,21,26,47 +14,25 +6,14 +6,13,16,37 +6,13 +6,51 +4,5,6,29 +6,34 +5 +5,16 +3,6,13,35,36 +4,6,36 +5,42 +5,6,14 +6,25 +5,47 +10,25,43 +3,6 +6,7,8,21,51 +6,14,39,46 +6,14,25 +5,14 +20,22,43 +6 +6,23 +3,5,6 +4,6,10,17,19 +6,14,17,30,47 +5,12,14 +6,12,17,18 +3,10,12,13 +5,14 +5,19 +5 +6,7,21,47 +4,6,14 +3,6,7,17 +6,14 +3,5,6,18,25,34 +6,22,49 +15,21 +5,6,51 +5,13,15,25 +6,19 +6 +6 +5,6 +5,6,20 +6,48 +6,20,29 +6,12 +2,17 +5,6,10,34 +6,14 +5,6,9 +5,6,22 +2,6,33 +3,6,41 +5,6,17,28 +3,6,16 +6 +2 +6,9,20,41 +6,7,14,44 +5,6,10 +6,22 +4,6,7,12 +4,6,17 +0 +3,6,50 +6,10,14 +3,5,14,18 +5,6,14,20 +5,6,25 +3,12,14,28,47 +5,6,17 +6,20 +6 +6,14,22 +6,16 +6,28 +6,14 +5,6,21,23,33,49,51 +6,7,15,20,31 +4,6 +3,6,31 +0 +14,23 +5,46,48 +3,4,5 +28 +5,13 +5,6 +6,17 +4,5,6,39 +6,21,28,30,43,51 +7,14,31 +14,19,22 +4,6,13,14,15,41 +5,6,7,21 +6,17,20,25 +5,19,25 +5,6 +23 +14 +6,14,18,23 +6 +6,14,25 +31,49 +5,6,10,17,25 +5,6,20,36 +6 +5,6 +5,6,34 +4,6,7,8,25 +5,6,25 +3,4,5,6,7,21 +6 +4,5,7,30,45 +5,6,17 +6,11,27 +6,12,14,20,22 +0 +5,6,14,25 +5,6 +2,6,14 +2,5,6,23 +3,4,5,6,14,18,36,42 +3,5,27 +5,6,7 +5,14,17,26,36 +25,38 +3,7,8,34 +3,14,21,30,34,42 +4,5,6 +3,5,17 +3,5,6,29 +6,23,35 +2,5,6,28,33 +5,6 +3,4,6 +16 +6,46 +3,6,14,48 +4,18 +5,6,17,26 +4,6,7,9,14,17,21,47 +3,17 +0 +5,6,10,14,43 +4,6,33 +15,29 +6,15,21,40 +0 +6,17,25 +6,28 +14 +6,14,43 +5,6,20 +5,6,42 +4,5,49 +6,49 +4,6 +4,5,10,14,47 +6,13 +2,14,17 +6,19,25 +4,6,11 +2,6,7,13,41,49 +14,17,48 +5,6,7,11 +4,5,7 +5,6 +3,5,6,7,14 +2,4,6 +4,5,6,16,20,51 +6,14 +3,4,5,17,19 +5,6,11 +4,5,6,20,25 +6,19,24 +29 +3,6,14 +4,5,14,47 +6,28 +6,10,37 +5,6,20,42 +6 +5,6,10,15,34,47 +5,7,14,33 +5 +5,6,13,14 +3,6 +3,26,41 +5,6,14 +6,21 +2,4,5,6,16 +4,5,7,14,15 +4,5,7,14,22,49 +5,6 +2,7,11,14 +5,6,28 +13,14,19 +6,7,34 +5,6,20,38 +4,6 +9,25 +6,43,48 +14,20 +6,38 +13,14,19,26,29,38 +6,8,14,43 +2,3,16,17,25 +3,5,13,42 +2,3,6,14,22,45 +4,6,7,17 +5,6,13,33 +4,20,38 +2,6,12,39 +6,15,25 +0 +3,6,12,29,44 +6,21 +2,3,6,38,42 +3,14,21,47 +4,6,7,14,26 +5 +6,17,20 +5,6,22,28,30 +6,43,47 +6,14,16,45 +14 +6,10,27 +6,12,23 +6,23,46 +4,5 +4,6,10,14,15 +3 +4,6,14,38,51 +2,5,20 +6,16 +30 +4,5,21,33 +5,6,7,14,17 +6,17,19,41 +5,6,7,14,18,21 +0 +5,6 +7,18,25,26,39 +5,6,21 +3,6 +5,6,13,49 +3,4,6,13,47 +6,14,15 +6,14,48 +5,6,7 +4,6,20 +5 +3,6,15,32,51 +5 +3,7,22,25 +6,7 +4,5,14,19,30 +5,6,17 +2,7 +4,30,41 +5,23,41 +6 +6,12,16,22 +6 +6,13,14,49 +5,22,35 +4,6,16 +6,33 +8 +6,7,14,17 +7 +4,6,44 +2,5,6,7,13 +2,4,5,15 +0 +5,6,35,40,41 +3,6,14,15,29 +6,14,51 +3,6,10,41 +3,4,5,6,12,20,31 +6,42 +4,6,14,44 +4,5,7,12,14,19,22 +6,16,44 +3,17,28,29 +4 +5,6,7,41 +3,23,47 +4,6 +3,5,6,10,13,17,21,25,31 +5 +6 +6,13,17,51 +6 +3,5,14,38 +14,22 +3,4,6,14,17,20,28 +6,7 +6,10,41 +3 +6 +6,10,14,31 +4,6,8,19,46 +14,15,32 +14,28,46 +6,29,35 +5,7,22 +6,18,19,30 +6,12,28,44 +4,5,7,24 +3,4,5,14 +6,48 +5,6,10 +5 +5,6,27 +47 +6,30,39,43 +3,6,8,20,32 +3,6,8,20 +6,14,28,36 +14 +6,15,20 +3 +3,6,13 +5,6,7,8,15 +4,6,50 +6,13,14,17 +5,6,7 +6,14,21 +4,6,14,37 +6,21,22,40 +2,5,49 +5,6,7,10,47 +14 +6,13,39 +5,6,17 +6,14 +4,6,32 +6,12,19 +7 +6,14,48 +0 +5,6,7 +6 +6 +5,6,44 +5,6,40 +5,6,20,22 +6,28,43 +20 +4,6,14 +5,21 +3,4,32 +5,26,30,33,38 +2,6,20 +2,5,6,17,36,37 +6,8,14,43 +6,12 +5,6,19 +5,7,17,21,30 +3,5,6,10,22 +5,6,37 +6 +14,15,16,21,23 +6,48 +5,6,14,30 +5,11,14,20,25,44 +6,9,14,37,51 +6,20,22 +6,14 +12,14 +6,7,9,14,15 +17,24 +6,13 +5,6,17,33 +0 +4,5,6,14,15,19 +5,50 +5,6,14 +14,16,23,39 +0 +4,5,6 +5,6,14,25 +6 +4,12,25 +4,5,6,7,17,22,25,38 +44 +2,4,5,6,7,37,41,42 +6,29 +6,8,14,17 +3,5,6,48 +6,17 +5,6,10,14 +4,6,17,41 +6,10,17,20,23,29,45,51 +6,8,27,42 +6,14,21,25 +14,20 +6 +6,15,32 +3,5,6,7,12,14,41 +4,6,30,40 +3,6,8 +6,10,13,16,17 +6 +2,6,14 +19,29 +6,45 +5,6,15,25 +2,4,5,6,14,22 +42 +5,6 +3,6 +4,5,7 +5,6 +3,5 +6,7 +4,22,42 +5,20 +5,6 +5,10,34 +5 +6,17,22,25 +6,14,16 +6 +6,47 +5,6,22,49 +5,6,17,18 +4,14,51 +5,6,22 +5,19 +0 +4,6 +6,7,14 +6,13,14,24,38 +6,17,20,22,25,48 +5,6,14,22 +6,22,26,32,49 +5,6,14 +6,12,13,23 +4,5 +6,46 +5,6,14 +6,7,19,21,25 +4,6 +14,25,50 +3,4,10,28 +5,6,14,15 +4,5,23 +5,6,9,23,44 +5,6 +0 +5,10,14,31 +11 +21,33 +6 +5,6,12,31 +5,12 +6,26,29 +5,6 +5,6,7,12,13,45,50 +6 +6,19 +6,22 +5,6 +5,6,28 +6,7,43,45 +26 +6,18,42 +6,14,22,31 +6,22,30 +3,44,48 +2,5,14 +4,6 +4,5,6 +4,6 +5,14 +4,21,51 +6,14 +5,25 +7,14,22,28 +6,10,14,15,25 +6 +4,5,14 +6,12,17 +5,17,18,41 +5,6,14,16 +5,20,41,45 +5,14,17,22,23,24,38 +5,22 +6 +3 +6,17,22 +4,6,32,36 +6,7,25 +7,10,26,33 +6,15,17 +5,6 +6,14,44 +10 +3,6,14,15,17,51 +3,6,20,33 +6,9 +14,16,21 +6,22,23,42 +6,10 +3,6,11 +3,5,7,34 +3,5,6,7,12,33 +6 +4,5,6,8,14 +4,6,28,36 +4,17 +6,25,47 +5,20,25 +3,6,7 +3,6,28,34 +6,13,14 +6,15,17,22,33,50 +5,6,25 +5,6,14,17,22,29 +6,7,20,22 +6 +4,5,10,14,17,41 +6,7,14 +12,40,46 +5,6,26 +5,6,21 +2,6,9,14,20,42 +6,15,44,51 +4,5,6,13 +6 +4,7 +5,6,7,17,22,36 +6,21 +3,5,6,20,30 +3,5,6,28,48 +4,6,12 +3,4,5,6,20 +3,6,10,17 +0 +2,6,23 +12,21 +4,6,9,14,19 +6,26,42 +6 +6 +5,19 +5,6,12,13 +6,22 +5,6,15,18,45 +6,17,35 +2,6,42 +3,6,7 +5 +5,20,26,42 +6 +5,6,7,36 +5,6,13,15,42 +3,6,14 +6,36,44 +5,6,17,20,22,40,41,48,50 +5,6,14 +6,28 +5,6,15,18,32 +14,21 +14,15,25 +6,41 +5,6,14 +6,7,45 +4,14,49 +6,18,25 +0 +6 +0 +5,6,17 +6,14 +6,14,23,44,48 +5,6,14,16 +5,6,7,13,31 +3,6,7 +5,6,7,14,30 +6,14 +16 +6 +2,6,17,47 +5,6 +5,6,14 +3,6,14,21,22 +12 +6,14,29 +6,19 +6,12,14,20 +6,46 +3,6,13,43 +6,7,13,29 +3,5,6,17,26,31,44 +4,5,6,13,14,17,20,22,24,47 +5,6,20,22 +5,6,37 +6,20,25 +5,6,28 +3,9,14,20,50 +5,6,23,40 +4,14 +3,5,6,7 +5,19 +3,6,14,24,42,51 +12,21 +6,7,20,50 +4,6,7,14,17,20,30 +6,12,28,36 +4,7,25 +5,6,14,33,36 +3,5,6,19 +4,6,25,34 +3,5,6,7 +5,6,17,20,21 +5,6,24,37 +6,41 +12,48 +6 +6,11,27 +3,35 +6,20,39 +3,4,6,41 +6,20 +6,37 +4,6,26,41 +5,6,14 +4,15 +3,7,35,48 +5,6,17,18,44 +6,7,25 +5,6,47 +6,16 +5,6,8,22,37 +3,6,28,34 +12 +4,6 +4,6,14,46 +3,6,18,22,28 +6,7 +4,5,6,14,17,34,45 +4,14 +3,42 +6,14,39 +5,6,7,18 +4,5,6,17,25 +6,7,15 +3,5,6,22,25 +6,10,14,26 +8 +3,6,31 +6,9,10,38,43 +6,14 +5,17,37 +3,6,7,14 +6,22,23 +4,5,6,11,13,17,23,40 +14,29,43 +2,10,20 +0 +5,6,22 +3,9,17,36,51 +5,6,22 +5,6,14,24,43 +5,6,41 +7,14,25,32,48 +2,6,29,35 +4,6 +5,6,19,25,28 +4,6,45 +0 +3,29,51 +4,6,13,31 +6,20 +5,7,14 +6,25 +5,14,21,28 +5,6,44 +3 +5,20 +3,5,6,14 +3,6,13,22 +6,14,17 +6,25 +6,14 +6,42 +2,4,6 +5,6,38 +4,14,46,47 +6,27 +6,11,43 +29,42 +5,6,7 +6,14 +4,5,6,14,17 +10 +5,6,10,13 +6,35,46 +3,6 +14,20,21,23,31,42 +3,6,22,51 +4,5,6,19 +4,5,14,17,32 +6,18,24 +4,6,8,17,29,46,51 +6,43 +4,6,21,22 +6,11,12,20 +3,14 +4,6,16,29,36,47 +5,6 +2,6 +4,6,14,27,43 +27,37 +6,11,13,14 +7 +6,14,20,22 +5,6,14 +5,6,12,18,28 +2,3,6,17,18,20,21,29,49 +29 +3,6,9,14,15 +3,6 +5,12,18,25 +7,27 +8,20,21 +6,7,50 +3,4,6,22 +6 +5,6,17,25 +5,6 +0 +6,12,40 +7,21,22,39 +6,28,37 +4,6,7,14,17,47 +6,25,38 +3,5,6,25 +4,6,14,16,21,48 +4,6,14,36 +6,7,11,36 +6,13,46 +5,6 +5,6,8,17,40 +4,48 +6,14,19 +5,6,19,33,41,44 +6,51 +6,16,31 +6 +12,14,23 +5 +5,6,22,30 +0 +2,14,20 +5,6,29 +6,12,15,17,21,43 +3,5,42,49 +6,14,17,36 +6,8 +5,6,14,20 +5,6,35,42,47 +2,5,6,7,37,42,44 +6,22 +5,7 +3,5,6,7 +4,6,22 +6,12,14 +2,42 +29 +3,6,13 +6,7,12,22,23 +2,6 +5,17 +2,5,6,19,29 +6,22 +4,6,8,12,14,23 +0 +5,6,21,43 +4,5,6,20,26 +6 +6,7,14,20,25,37 +4,22 +3,4,35,43 +7,19 +2,6 +4,5,6,21,46 +3,17,20,23,42 +6,18 +4,14,17,21,39,50 +4,6,8 +4,5 +6,9,20,36 +4,6,46 +6,10,18 +5 +4,5,6,11,16,21 +4,5,6,44 +4,6,19,22 +29 +3 +12,23 +5,6,14 +12,31 +3,4,6 +4,5,6,28 +5,6,15,18,25,43,45 +2,6,17,19,30 +31,37 +4,6,25,48 +6,41 +7,14 +6,21 +5,6,17,26 +5,6,28,30 +3,5,6,40,42 +4,11 +3,6 +5,6,12,13,29,37,48,49 +4,5,15,43 +6,14,17,22 +2,4 +5,14,30 +5,6,26,33,46 +6,10,35 +6,23,25,36 +6,46 +5 +4,6,19,50 +14,27 +5,6,14,38 +5,6 +8,23 +5,6,7,14,16,17 +6,28,43 +6,20,30 +6,14,51 +6 +6,10,16 +6,17,25,28 +2,5 +4,5,6 +5,6,20 +0 +4,6,12,33 +3,5,6,8,22 +16,20 +6,22,46 +6 +12,14,21,31,49 +6 +6 +4,6,23 +6,24 +6,13 +19,28 +4,6,17,21,22 +6,17,44,46 +5,6,27 +4,6 +3,6,24 +27,28 +3,6,14 +5 +5,6 +6 +6,20 +6,48 +16,28 +6,8 +5,6,14,34 +2,3,4,5,12 +4,5,6,13 +2,6,17 +3,6,21,25,27 +6,9,22 +5,17 +0 +2,48 +3,22,34 +14,45 +5,6,31 +4,6,32 +5,11,20,44,45,46 +5,6 +2,4,5,6,14,44 +4,14,15,49 +2,4,5,6,7,14,47 +5,6,8,11,30 +5,6,14,21,30 +3,5,6,7,13,14,26,42,46 +5,6,26,50 +5 +3,5,6,14 +6 +3,6,14,21 +6,7 +3,4,6,12,27 +18,21,25 +6,7,23,41 +4,27 +5,6,14,16,25 +4,6 +3,6,7,12,22 +0 +13,22,49 +5,7 +3,6 +6,14 +4,6,40,41 +4,6,21,29 +5,6,22 +4 +6,13,20 +2,4,6,7,24,36 +3,4,5,7,27,42 +5,6,7,11,21 +5,6,18 +6 +3,4,6,33,34,42 +5,6,21,26 +5,6,20 +32 +6,13 +5,24 +6,8,14 +0 +6,7,14,40 +49 +3,5,10,17,18 +3,5,6,14,25 +6,12,22,25 +14 +5,6,22 +2,6,17 +5,6,40,43 +3,6,35,45 +3,6,17 +2,6 +6,30 +44 +3,5 +4,5,6,8,20,41 +5,6,14,45 +7,9,42 +6,7,11,26 +6,14 +7,23 +4,18,38 +6,12,44 +5,6,13,17,44,48 +2,4,6 +21 +6,16 +2,6 +3,5,14 +2,42 +7,25,26 +4,5,14,49 +6,22,45,49 +5,6,7,30 +4,6,12,14 +6,7,43 +5,6,8,48 +3,5,6,14 +4,41 +6 +6,44,50 +6 +3,6,13 +6,20 +4,5,6,11,21,29 +3,5,6,28 +0 +3,25 +5,6,18 +5,11,14,25 +5,6,28 +6,7,24,41 +40 +12 +6 +5,6,14,21,36 +3,5,20,39 +3,6,7,19,41 +4,6,14 +5,6,12 +3,6,14,22,25,30,41 +3,4,22 +6 +4,5,6,7,11,19,38 +6,14,23 +6,27 +2,6,13,20,49 +6,36,40 +5,6,38 +25 +6,12,13,25,51 +6,14,17 +5 +6,7,25 +6,7,14 +0 +5,15 +5,20,27,36,46 +5,6,7,15,27,46 +5,6 +15 +6,7,14,33,41 +4,12,17,19,50 +20 +5,10,43 +5,6,12,14,43 +6,14,37 +4,6 +4,6 +5,6,22,26,29 +2,5,6,14,15,42 +3,6,7 +5,6,28 +4,6,22 +5,25 +6,20,29,49 +5,6,14,17 +6,12 +10,16,20,39 +5,6,14,29,48 +6,14 +5,6,7,21 +6 +4,5,6,21,22,23,25 +14,20 +3,6,36,39 +5,6,35 +2 +5,6,14 +12,17 +5,12 +3,19 +4,6,24,38 +6,7,17 +6,46,51 +5,6 +3,28 +14 +6,14,17,21,25,42 +5,6,8,14,42,49 +5,6,42 +6,20,25 +34 +0 +3,6,18,22 +13 +6,20,28 +5,6,26,33,48 +6 +5,6,36 +6 +4,7,34 +3,6,21,32 +5,6,14,33 +7,10,14,22,42 +23,43 +5,43 +6,49 +6,12 +12,14 +6 +7,26,32,34 +12 +2,6,14,22,27,30,38 +6,7,14,41 +5,6,9,18,36 +6,14 +2,7,21,43 +6 +6,22,26 +3,21,27 +6,27,28 +4,5,30 +5,6,19 +6,13,14,19,37,44 +4,5,6,20,33 +3,5,6,12,14 +6,17,20,45 +6,16 +3,6,17,45,46 +5,6,10,13,17 +5,6,12,43 +3,6,8 +3,6,17,33,37 +5,28,42 +4,5,6,20,30 +14,20,42 +6,11,12,26 +4,6,37 +4,5,6,25,39,41 +6 +14,30 +4,5,6,14 +14 +3 +6,21,28 +3,4,6 +17 +6,16 +6,22,38 +6,13 +6,37,38 +6,16 +2,5,6,20,21,38 +6,37,39 +6,14,25 +2,6,7,31 +3,5,6,12,13,14,25,40 +6,20 +2,5,6 +6,21,41 +6,11,41 +5,6,14 +4,6,7,19 +6,9 +5,10,23,29 +5,6,45 +14 +4,6,30 +3,4,5,6,21 +25 +6,14,17 +6,12,35 +12,42 +5,6,15,46 +5,6,17,46,50 +44 +6,17,22,45 +3,5,24 +7,14,19,39 +4,5,6,14,17 +4,6,17 +2,26 +5,6,10,14 +5,14,20 +2,6,50 +2,3,5,6,14,25 +4,28 +6,13,24 +0 +5,6,47 +25,30,31 +3,14,19 +12,14,37 +2,6,7 +6,7,22 +6,7,24,46 +9,30,38,49 +2,5,6 +4,11,13,20,24,25 +6,10,14,16,17,26 +5,6,12,17,18,22,29,44 +5,6,43 +6,12 +3,6,45 +6 +3,5,6,12 +4,5,6,17,24,48 +5,6,13,14,20 +6,15,22 +6,20 +4,6,23 +3,6,7,22 +5,10,17,22,51 +3,6,7,41 +4,5,6,26,44 +4,14,18,21 +4,6,7,14 +6 +4,5,6 +3,5,6 +5,6,10,14 +3,6,14,21,36 +3,6,47 +7,20 +2,6,7,11 +5,6,7 +4,5,6 +5,7 +3,6 +2,6,41 +25 +38,51 +5,6,7,14,22,48 +4,6,16,20,38,39 +6,18,47 +5,17,38 +2 +6,17 +12,49 +2,6,22,29 +4,6,13,20 +4,7,20,41,50 +5,6,50 +2,26 +6 +12,21,22,32 +3,12,13,14,17 +6,23,36,41,51 +4,5,6,14,20,22 +5,6,10,17,19 +5,6 +4,12,14,16,29 +3,4,5,6,13,14,20,28 +2,4,5,6,14,51 +5,6,12,14,26,29,42 +5,6,7,17 +5,6,22,25,33 +3 +4,6,17 +10 +3,5,6 +6,29,38,40 +21,28,32,46 +4,6,7,15,16 +2,6 +4,5 +6 +6,12,14,17 +2,6,10,33 +6,38 +5,6,22 +5,17 +5,6,18 +2,4,6,42 +5,6,14,16,22,24 +5,7,14,15,25,33 +50 +2,7,16,30,34 +6,22,41 +0 +22,29,46 +6 +6,7,14,26,29 +6,14,17 +5,6,48 +0 +5,17 +14 +3,9,14,27 +6,9,17 +2,3,4,5,6,20 +0 +25,28 +5,6,8,10 +6,7,30,31,44 +30,48 +2,3,5,14 +5,6 +4,5,6,28,30 +4,5,6,7,21 +3,6,20 +6 +12,38 +6,16,17,25,26,32 +3,4,6,14,18,33,43 +2,4,6 +5,14,25 +6 +21,23,25 +6,29,35 +5,6,14,25,34,45,46 +3,6,12,13,14,22 +6 +6,17,40 +5,32 +2,6,7,14,29 +3,5,6,20 +4 +5,6,14,15,25,34 +3,33 +6,33 +4,14,22,25,32,42 +2,14,17 +4,12,14,27 +2,4,6 +0 +14,15,19,21,22,34 +6,13 +11 +5,6,22 +6,14,25 +5,6,7,13,14,30 +3,4,5,6 +3,4,5,6,7,17,39 +8,32,46 +4,5,6,7,43 +3 +4,6,26,34 +6 +3,6,25 +22 +3,5,6,13,22 +6,13,14 +4,7,25 +6,8,14,46 +4,6,49 +5 +44 +5,6,10,43 +3,5,6,12 +5,33 +6,25 +5,6,39 +6,20,29 +5,6,9,14,22,39 +4,6,43 +6,20 +48 +6,42 +3,4,6,12,26 +2,5,6,7,14,17,23 +6,13,18,24,38 +5,6,11 +5,6 +4,6,35 +6,18 +12,22,30,44 +5,6,7,28 +5,6,29 +21 +4,6,12,31 +6 +4,6,14,18 +3,5,6,10,25,28 +4,5,6,7 +0 +0 +6,14,17,25,31 +7,13 +6,14 +5,6,14 +6,14 +2,6,7 +2,4,5,28 +0 +5,6,15,46 +5,6 +5,6,7,18,20,25,41 +4,6,17,22,46 +4,6,14,50 +5,6,30,34 +14 +4,6,14,34,42 +4,7,14 +5,6 +5,11 +7,29 +4,7,14,17 +2,4,13,21 +4,6,25 +5,13 +5,6,7,11,14,28 +3,6,14 +5,6 +3,6 +17 +6,17,29,30,33,39 +5,6,9,20,25 +6,27 +4,5,37 +3,4,5,6,10,30 +6 +6,41,42 +5,6,22,42 +6,7,30,31,43 +4,6,7,13,15,17,51 +4,5,6,45 +28 +6,17,45 +2,3,9,17,41 +6,7,17,19 +6,20,35 +5,12 +2,3,5,14,17,22,41 +37 +3,6,13,17,37 +6,19 +6,27 +4,14,23 +5 +6,10,14,21 +28,50 +3,6,10,14 +3,4,5,6,25 +3,17,22,50 +2,6,14,48 +5,6,7,20,22 +5,6,16,38 +6,14 +17,34,42 +8,13 +5,18,23 +6,13,14 +5,18,22,25 +2,4,6 +3,6,7,19,36 +2,3,5,6,13,14,22 +6,7,13 +6,20,43 +6,17,29 +3,6,25 +3,6,20 +3,6,14,24 +4,6,20,49 +17,22 +5,6,14,48 +4,5,6,20,28 +5,6,10,13,14 +22 +6 +5,6,7,48 +6,7 +3,5,6,21,24,32,44 +3 +5,6,7,14 +3,6,20,41 +5,6,40 +6,14,16,23,47 +3,5,6,18 +4,6,14,19 +14,21,26,28 +5 +7 +6,7,43 +6,14,34 +5,6,7,17,28 +4,14,20 +3,6,14,16,44 +3,19 +5,6,7 +4,6,34 +6,14,25 +3,8,19 +5,6,21,23,48 +5,14 +3,6,17,22 +4,5,20 +6,8,31 +6,7,30 +6,12,44 +6,22 +6 +12,17,28,39 +5,6,9,14,30,50 +5,6,14 +2,5,6,29 +5,23 +5,26,29 +6,7,8,30 +6,7,14,21 +5,6,14 +0 +6,17 +6,13,14,42 +4,6,25,33 +7,19 +4,5,42 +5,6,16,17,39 +4,5,6 +5 +2,3,4,5,6,14 +5,6,7,50 +2,6 +2,6,18,21,40 +4,14 +3,4,5,6,22 +6,13 +4,6,33,46 +4,6,10,12,17 +5,6,20,49 +3 +5,6,21 +3,5,6,7,11,14,19,20 +6,14,17,25,51 +5,37 +5 +6,12,23 +5,6 +6,8,43 +4,6 +4,11,40 +5,6,32 +4,6 +2,6,14,41 +5,13,18,21 +22 +6,14 +6,18 +6,13,14 +5 +4,5,6,14,18,22 +3,5,6,22,33 +6,13,14,15,17 +5 +21 +5,6 +6,42 +5,6,13,14,46 +6 +5,6,17,50 +6,14 +5,6,13,14 +5,6,14,28,34 +3,6,8,20 +6 +8,14 +6,10,14,36 +6 +4,36 +6,8,21,28,45 +4,6,17 +6,40 +2,6 +6,7,28,45 +14,51 +4,5,6,14,15,23 +4,6,20,23,36,38 +6,21,25,40,49 +4,7,31 +2,3,5,14,28,34,49 +5,6,17 +2,3,4,6,17,20,22 +6 +6,7,30,42 +5,17 +6,14,22 +6,15 +4,6,11,25 +5,6 +6,14 +14,15 +6,17 +5,6 +4,5,6 +2,5,6,12,33 +6 +6,39 +6,25 +4,20,26 +25,36 +6 +5,6,9,14,20,22 +5,6,14,20,28,51 +4,15,42 +5,6,21 +5,6,25 +5,17 +5,17,48 +6 +6 +5,6,13,16,43,44 +2,6,20,31,39 +0 +6 +5,6 +6 +4,6,14,20,39,45,46 +4,6,14,17,26,41,43 +0 +3,6,21 +6,20 +6,7,22,32,49 +0 +7,25 +5,7,22,23,32,35 +4,5,6 +5,6,11 +13,16,38,42 +35 +5,6,51 +6,47 +5,6,42 +12,20,22 +4,6,20,51 +2,4,6,7 +5,6,14,27 +3,12,14 +6,32,34,41 +14,17,46 +2,17,23,41 +5,6,10 +6,12,14,20 +6,7,9 +5,6,14,15,20 +6,14,30 +0 +6,16 +29,40 +14,20 +6,7,10,36,39,49 +6 +6 +6 +4,6,17 +4,6,14,27,30 +6 +6,7,14,21 +5,14 +5,12 +6,7,12,20 +5,31 +6,14 +5,6,11,14,17 +17,50 +6,14 +2,5,6,7,18,19 +17,22 +6,8,26 +5 +22 +4,5,6,13,25 +5,6,25 +3,28 +22 +28,50 +6,18,22,27 +0 +6,12,25 +6,20 +12,25 +6,10,20 +4,6,7,12 +6,15 +6 +4,6,20 +4,5,13,20,46 +6 +10 +6 +3,6,13,14,48 +3,6,7,13,51 +2 +6 +11,14,16,19 +5,12,17,18,33 +6,8,25 +2,5,18,23,30,44 +3,4,5,6 +5,6,8 +4,6 +6,25 +5,6,10 +4,5,6,14,21,23,25 +6,10,11,25,31 +2,4,9,23 +14 +6,17,47 +4,6,14,49 +3,5,6,37 +6,29 +3,6,30 +3,15,29 +5,6,10,14,42 +14,33,39 +2,5,17,25 +3,6,14,17,20,25,37,38 +2,6,13 +3,6,14,34 +6,11,16,22 +6,14,16,22,24 +3,4,6,16,21,28 +5,6,17,20 +5,6,15,20,34 +3,6,23,26 +3,6,19,30 +2,5,14,19,22 +3,5,34,50 +5,44 +5,6,7 +5,6,36 +3,5,6 +4,20,21 +6,11,22,35 +46,49 +4,14,29 +7 +5,14,15,17 +14,17,19,49 +3,6,24 +2,5,14,44 +6,37 +4,6,8 +3,14,30 +6,15,22 +6,39 +3,5,6,12,20,28,32 +4,5,6,8,17,25,50 +3,5,6,14,26,46 +4,6,33,46 +3,6,9 +5,6,14,17 +5,6,18,39 +4,6,14 +6 +6,20 +4 +2,3,6,17,20 +4,6,24,25,41 +13,22,50 +3,5,6 +6,25 +4,14,41 +2,7,25,40 +20,26 +4,6,11,26 +6,7,14,15 +3,6 +18,25 +4,13 +5,6,17 +3,4,6,9,49,51 +4,5 +6,13,14,17,25 +4,6,16,23 +6,14,28 +2,6,14,38 +5,6,14,17 +5,6,7,14,17 +5,6,28 +6 +5,6,7 +6 +15,22,36,43 +6,13,43 +5,6,33 +13,22,45 +6,7,14,40,41 +3,4,28 +3,4 +5,6,7,14,15,26 +20,48 +5,6,14 +5,14 +4,5,6,10,28 +6,18,21,27,37 +4,6,28 +6,14,29 +6,17 +4,6,46 +6,7,14,20,22,26,48 +6,26,29 +7,10,23,25,28,48 +21 +4,6,13 +6,32,41 +5,6 +4,6,21 +8,13,15,16,23 +6 +3,41,43 +6,12,14,31,33 +5,6,7,14,22,23,25 +6,18,19,49 +3,5,6,17,21,22 +6 +4,6 +7,12,44 +5,6,22 +4,5,6 +4,6,16,50 +3,5,6 +6 +2,13,14,19 +5,25,29,35,36 +5,6,7,22 +6,14,42 +5 +6,28 +5,7,21,32 +22,38 +4,6 +5,6,7,14,16 +5 +5,16,22 +2,4,6 +4,7,43 +12,16,34,38 +2,5,7,14,50 +6,12,14 +6,25 +15,18,20 +3,6,15,20,44,51 +4,6 +6,28 +5,12,14,43 +4,6,42 +3,16 +5,19,26 +17,22 +7,20,40 +6 +3,5,6,14,23 +3,6 +6 +6,34,37 +3,4,6 +0 +3,5,6,22,44 +5,12,14 +4,6,12,22 +7,9,28 +5,6,20,49,50 +5,6,14 +6 +12,36 +2,13,21,42 +5,6,18 +6,7 +6,13,14,30,37 +5,6,13,17,37 +3,5,6,30,50 +5,13,25 +2,5 +5,6,25 +3,17,40 +6,21 +14 +6,7 +5,6,12,44 +5,6,19,39 +3,5,6 +5,20,41 +14,22,47 +2,4,40,45 +3,6 +3,6,18 +5,6,51 +5,6,8,14,21,25 +5,25,31 +4,6,14,17,27,40 +2,5,6 +4 +5,6,10,25,33 +6,7 +3,6,14 +3,14 +4,6,13 +21 +3,9,37 +6,17,37,42,51 +3,5,6,21,34 +5,6,28,47 +5,6,14 +6,28,34 +6 +3,4,14,29,42 +6,7 +5,21 +4,6,11,21 +5,6,12,14,25,37 +6,7,21 +8,12,23,25 +4,5,6,20,21,22 +6,22 +5,6,23 +3,6,21 +6,7,25,29 +3,6,41 +4,6,23,43 +3,6,16 +3,6,9,17,39 +6,21 +3,6,14,25,26,36,48 +6,12,14,16 +4,5,6,14,31,42 +6,13,46 +5,7,14,27 +6,14,21,27 +3,6,7,14,22,49 +3,4,6,43 +5,14,41,49 +16 +15 +6,14 +3,5,6,14,40 +5,30 +6,12,14 +5 +6,7 +6,14,20 +5,6,19,45 +2,4,5 +9,17 +6,16 +4,22 +6,34 +6,12 +5,6,7,17,40 +5,42,50 +6,20,39 +5,6 +2,4,6,10,14,36,46 +6,14,44 +6 +6,7,18,25 +5,6,15,17,22,46 +6,17 +4,5,6,13,22,30 +6,26,38,47 +4,5,6 +4,6 +2,3,5,6,28 +6,18,20,36 +5 +3,35 +6,10 +6,14,22 +6,46 +6,13,25 +12 +5,14 +4,5,6,40,45 +6,22,26 +6,31 +6 +4,6,14 +6,14,17,28 +6,14,15,25,29 +6 +6,14,17 +3,6,25 +3,6 +0 +5,6,15,17,45 +5,6 +10,21,38 +3,5,21,27,29 +3,6 +3,5,25,35,44 +14 +3,5 +6,12,14,16,17 +6,7,14,17,20,40 +4,5,6,30 +5,43 +4,6,29 +0 +6,46,49 +5,13 +7 +5,7,26 +2,4,5,17,25 +5,28 +20,46 +5,14,21 +5,6,9,51 +5,6,16 +5,6,14 +5,6,17,18,47 +4,6,24,25 +4,5,6,7,14,17 +3,6 +5,6,18,37,50 +6 +3,5,6,13,20 +6,9,17,21 +3,6,7,13 +6,16,18 +4,6 +4,6,18,38,42 +2,5,29 +5,14 +6 +4,7,12 +4,5,6,11,14 +19,31 +6,41 +5,14,33 +2,5,6,11 +3,6 +6,46 +4,6,14,21 +4,6,10,22,24 +6 +5,6,16 +42 +6,20,43 +7,14,16,22 +3,5,6,12,14,20 +6,28 +3,16,17,24 +6,14,17,20,42,50 +5,6,13 +4,6,25,37 +6,12,13,22 +6,12,14,22 +3,14 +6,36 +5,6,16 +3,5,6,13,20,38 +3,23 +0 +5,6,13,14 +3,6,35 +6,7,22 +4,6,25 +14,18 +6,7 +19 +3,22 +3,6,18,20,28,33 +6,14 +6,38 +3,33 +6,17,20 +3,5,14,42 +5,6 +5,28 +5,6,41 +6,7,17,21 +4,5,6,46 +5,6,14,15,25,30 +2,6,20,30 +6,14,17,19 +5,6,14,22,38 +3,6,22 +3,5,6,42 +3,5,6,25 +4,6,18,29,46 +4,34,36 +3,25 +5,6,10,34 +5,6,13,28 +5,6,9,26 +5,6,10,13,39 +21 +3,6,7 +6 +2,5,6,21,22 +12,33 +3,4,5,6,28,34,42 +5,6,14 +14,21,25 +3,7,8,13 +5,6,13,48 +6,50 +4,5,6 +3,5,6,7,17,25 +6,8,14,17 +3,4,20,25 +6,10,14 +6 +6,46 +4,6,29,32,34 +6,8,37 +3,6,14,23 +14,22,43 +6,19,21,25 +3,6,28 +6,45 +5,14,17 +3,6 +5,11,23,43 +4,6,11,20 +3,5,17,20 +26 +6,14 +5,6 +5,6,17,41 +5,6,14,17,49 +6,12 +5,14,27,32 +6,42 +5,6,14,19,26 +14 +3,5,6,14,17 +6,14,42 +2,25 +6,22 +6 +6,7,25 +6,9,39 +3,5,22,41 +6,22 +5,30,48 +7,30 +2,6,12,17 +2,6,48 +25 +5,6,14,27 +5,6,14,17,18,22 +7,13,22,35 +2,6,17,46 +49 +5,46 +5,6,18 +3,4,6,13,14,43 +5,6,18 +22 +6,11,14 +5,51 +5,6,49 +4,43 +14,16,26 +6,14,16 +6,7,14,20,25 +21,25 +3,5,14 +0 +3,4,6,10,28 +4,14,51 +6,16,48 +6,20 +2,5,6 +4,5,6,40 +16 +6,7,9,16 +3,39 +5 +6,21 +6,40 +5,6,10,46 +2,3,5,6,13 +3,17 +5,20 +3,5,6 +6,17 +4,42 +5,15 +6,8,50 +6,14 +4,5,6 +6,7 +3,5,6 +6,25,29,30 +6,27,37 +6,7,10,14,20,28 +5,12,43 +6,7,14,17 +3,5,6,14 +2,26 +3,5,6,17,29,50 +4,6,18,22,34 +6,12,14,19,34 +4,6,10,23 +6,19,22,25,49 +6,36 +5,12,14 +3,5,14,25 +4,5,17,22 +4,5,6,14,22 +6,8,12,21,45 +22 +6 +2,6,17,48 +6,7,11 +18 +5,6,33 +4,5,6,7,15,46,48 +5,20 +5,6,12,29 +4,5 +4,6,14,48 +6,7,17 +4,5,7,20,49 +6,7,11,39 +6,14 +3,4,5,6,7,15 +5,6,7 +5,6,14,35,40 +5,6,13 +0 +5,6,14,18,32 +5,6,46 +3,6,7,14,16 +5,6,13 +5,6,14 +3,5,6,17 +6,7,25,43,46,49 +5 +10,12 +5,6 +6,37,46,48 +3,7,50 +4,5,6 +5,6,7 +5,6,18 +4,6,20 +6 +5,6,14 +4,14,25 +6,7,14,20 +6,35 +5,13,20 +4,17 +6,7,25,36 +3,4,5,6,33 +5,17,21,43 +6,14,21 +14,21,41 +3,6,15,29,33 +40,47 +5,6 +4,6,7,18,26,33 +3,4 +6,38 +6,15 +3 +4,6,7,35 +14,17 +4,6,20 +6,14,21 +2,6,17,24,50 +4,5,8,16 +6,18,21 +6,14,21 +6,13,14,19,24,47 +6,11,20,43,49 +5,6,10,16 +5,13,15,49 +2,3,7,15,28,30,47 +4,25 +8,21 +2,6,14,22 +6 +4,5,6 +5,37,45,46 +0 +4,5,6,8,15,45 +5,6,13,46 +22,39,44 +5 +3,6,14,20 +5 +6,14,15,25,29 +5 +6,7,22 +6 +5,6,10,17,31 +6 +0 +5,7,17 +6,32,42,46,49 +0 +5,6 +2,5,6 +17 +2,5,6,16,17,44 +6,14,16,21,47 +5,6,46 +6,14 +4,6 +3,6,14,20,22 +2,6,17,21 +6 +4,6,14,42 +3,6,18 +4,5,6 +6,22,27,28 +6,32 +6,14,24,38 +2,5,19,39 +17 +6,14,19,31 +5,43 +14,20,40 +6,23,28 +6,21,36,46 +4,6,28,37 +2,3,5,6,12,20 +4,6,40,46 +0 +6,9,11,17,28 +2,6,15,25 +3,4,7,17,18,25 +2,5,6,27,51 +5,6,11,15,33 +2,7,8 +5,6,17,23 +6,13,32 +4,29 +6,20 +5,6,12,28 +2,5,6,14,22 +4,5,6 +3,6,14,18,43,51 +5,6,20,39 +3,4,6,7,25 +3,5,6 +3,5,6,19,30 +5,6,7,11 +6 +6,7,14 +14,22,28 +24,49 +14 +6 +5,6,15 +6,7,25 +6,14,22,44 +5,14,30 +6,12 +5,6,14,17,22 +5,6,20,36 +0 +6,13,27 +5,6,10,12,13,17 +5,6,14,50 +13,14 +4,6,17 +5,6 +7,19,20,25,28 +2,4,18,27 +12,14,36,49 +6,14 +6,14,21,32 +5,6 +4,5,16,32,40 +5,6,21,40 +16 +5,6,10 +49,50 +5,6 +5,9,14,46 +3,6,7 +6,16,19,26 +4,5,14 +4,6 +5,14 +14,17 +3,6,13,20 +5,6,26 +4,5,6 +5,6,14 +4,6,17,43 +6,12,28 +3,14,48 +5,6,14,17,47 +3,5,6,25,49 +6,19,41 +6,7 +4,6,14 +5,17,27,28 +6,7 +5,7,22,35 +3,6,10 +4 +14 +6,13,18 +41 +6 +5,6,14,22,25,28 +6,7,26,34 +5,14 +6,34 +5,6 +2,6,14,26,38 +6,7,13 +6,17,28 +13,17 +0 +5,25,28,40 +4,6,10,44 +5,6 +4,6,7,8,41 +4,11,49 +6,7,13,22,30 +6,8 +4,5,6 +6 +5,6,14,50 +5,22,29 +4,5,33,37 +6,44 +6,22,28,30 +7,16,27 +4,5,14,17 +2,5,6,16 +5,6,7,14 +4,6,17 +5,6 +2,25 +5,20,25 +6,14,19 +3,6 +5,6,7,13 +5,49 +3,6,21,36 +4,5,6,20,28 +6,9,27 +19,45 +3,6,17 +6 +5,6,22,33,45 +6,19 +3,6,15 +2,3,6 +5,12,14,17,20 +5,6,7,22,42 +5,6,7,28,48 +6,29 +2,6,7,38 +5,6,18,26,46 +6 +6 +6,17,34 +6,7,17 +22,25,32,36 +3,6 +36 +5,6,41,47 +6,14,22,23,27,30 +5,6,14,21,22 +20,23 +0 +6,14,15 +5 +5,6,16,20 +5,14,17,40,42 +6,14,23,27,37 +5,6 +2,5,6 +2,5,6,12 +6,16 +6,17,22,29 +6,14,22,29,37 +6,25 +5,6,47 +4,5,6 +6,19,23,49 +6,8,14,17,20 +4,5,6,25 +3,6,14,42,46 +3,5,6,29,50 +5 +6,14,25 +5,6,18,23,28,38 +6,14,49 +4,6 +5,7,19,22 +3,17,28 +6,21 +2,6,17,27 +3,7,21,25,46 +6,7 +6,49 +6 +6,22 +4,6,14,35 +5,6,14,20,21,46 +6,7 +6 +6,24 +4,5,6 +6,14,15,30 +6,10,22 +2,4,6 +5,6,7,14,15 +6,19,22 +14 +6 +5,6 +5,32,45 +6,14,43 +6,46 +4,5,6,11,17 +6,14,16,21,35 +7,8,13,19 +6,20 +6,20 +6,23 +6,13 +0 +4,6,14 +3,5,12,20 +6,26 +6,28 +2,6 +5 +6 +6,7,44 +6,49 +11,12,20 +6,15,25,39 +4,5 +5,6,25 +6,10 +3,6,8,21 +4,5,6,7 +4,5 +6,16,22,41 +3,6,7,38 +4,5,6,28 +6,20 +51 +4,5,6,7 +24 +5,6,20,25,37 +3,4,6,27,45 +28 +5,12 +6,29 +4,6,9 +6,12,22 +6,7 +5,6,15 +6,13,29 +32 +3,5,6,20 +2,4,5,6,34,42 +6,23 +5,6,15 +5,6,14 +3,11 +4,6,28 +14,21,32 +5,6,30,48 +6,14 +6,12,14 +6 +5,6,14,35,40 +2 +3,6,20 +6,12,14,20,24 +4,6 +6,14,15 +6,7,9,14,36,42 +3,6,7,14 +14,30 +6,42 +5 +6,11,14,17,20,23,35 +3 +7,20 +6,18,27 +5,6 +15,32 +2,3,4,6,15 +3,5,6,14,22,33 +4,6,14,17,20,22,29,40 +5,6,14,45 +6,40 +6,12,27,34 +5,6,14,16 +4,7,22,27 +6,30 +6 +9,14,21,23,29,33 +6,12,17,25 +6 +13 +13,14,25,38 +6,11,22,23,42 +6,25 +5,6,14,16 +6 +0 +6,11,25 +6,7,48 +3,33,43 +6,20 +5,6,7 +6,7 +3,5,6,14 +4,6,28 +3,11 +17,25,35 +6,38 +3,6,17,22 +3,6,14,22 +2,6,19 +3,4,6,14,17,22,41 +3,5,6,8 +6,15 +5,6,23 +20 +3,6,8,15,25 +5,14,44 +23,30 +4,5,6,25,27 +5,6,14,38 +3 +3,6,7,14 +3,7,14 +2,6,7,14 +6,13,41 +5,6,7,9,44 +4,14,20 +6 +0 +4,6,20,22 +5,6,14,17 +14 +5,6,23,24,46 +5,22 +6,14,17,28 +2,6 +5,6,28,34 +6,10,12 +17,22 +6,14,15,22 +5,22,27 +3,5,6,7,21,22 +5,6,10,22 +5,6,48 +5 +6,23,38,42 +7,14 +5,6 +3,5,30 +5,6 +5,6,14,49 +2,5,6,14 +5,6,14,47 +6,17 +16,49 +2,6,14 +4,6,7,14,15,16 +5,6 +4,5,6,14,17,25 +6,13,14,17 +5,6,14,16,28 +5,6 +3,6,46,49 +4,5 +14,22 +4,6,14 +3,6,17 +6,28 +6,14,17 +5,12 +3,5,6,14 +13 +14,22,41 +5,13 +5,6,27 +6,12,17,46 +12,14,19,27,29 +5,8,41 +3,6,35,41 +3,13,14,17 +2,5,6,12,14,25,37,38 +6,17 +4,6 +5,6,18,28 +2,5 +6 +25 +3,42 +5,7,14,21 +4,6,17 +6,14,18,34 +3,5,6,16,18,46 +3,6,23,25 +4,5,6,12,17,26,37 +2,4,5,6 +4,6 +7,14 +6,14 +2,14,28,45 +6 +7,12,15,19 +2 +6,33 +5,6,14 +3,6,30,48 +6 +4,6,17,23 +5,6,9,10 +5,6,8,14 +6 +3,21 +3,6,17,25 +5,6 +6,12,24,25,26,30 +3,4,19,20,25,33 +5,8,17 +14,15,43 +6,14,17,25 +5,6,14 +3,6,23,28,33 +6,11,38 +6,14,16 +4,6,42 +6,24,35 +14,20,28 +14,17 +15 +4,6,7 +4,5,13,25,50 +5,12,14 +8,17 +4,5,6,13,14 +4,5,6,49 +10,21,30 +6,14 +6 +0 +7,13,32 +6 +4,6,17 +6,14,24 +5,6,7,13,14,51 +3,6,29,42 +5,17,22 +5,6,7,43 +6 +6 +6,12,13,14,51 +3,4,5,6,17 +6,14,48 +3,6,14,42 +5,18 +4,5,7,21,22,33 +6 +6,17,28 +0 +6,21,44 +6 +4,5,8,14,16,24 +6,14 +6,17,35 +14,28 +2,6 +4,6,13,25,30,39,46 +5,17 +6,11 +2,6,11,14 +6,28 +13 +6,14 +4,5,6,20,25,33,47 +4,6,11,32 +5,33,45 +14,17,18,49 +5,6,12,14,19,49 +0 +3,12 +6 +3,6,14 +6,7,10,22 +4,6 +6,7,14,25 +3,6,40,50 +4,6 +4,14,20 +5,6 +6,14 +4,5,6,14,51 +6,46 +4,6 +6,10,28 +6,19,25,44 +4,5 +3,6,18,21,49 +2,5,6 +14,27,47 +4,5,6,14,20,27,42 +6,21 +5,6,14 +5,20 +5,6,10 +6,10 +6,28 +5,6,15,32,40 +6,7,14,24 +3,6,9 +3,6,16,23 +7,14,17,49 +6,15,17 +4,7 +6,7,9,34 +4,6,12,14,35,42 +4,6,12,17,27 +3,5,6,7,14,20 +6,7,11,12,15 +3,4,5,14,26,28 +3,5,6,15 +6,10,22 +4,5,6,38,44 +0 +4,13,30 +5,6,14 +4,6,11,14,22,26 +5,6,14 +6,30 +5,20,26 +5,23,51 +5,6,10,14,22,25,29 +6,12,16,28 +4,5,7,28 +48 +6 +2,7,14,41 +4,14 +5,6,7,12,15,29 +5,6,8,14,15,18,25,40,50 +3,14,18,21,23 +4,5,6,7,25 +4,5,6,19,25,30,40 +5,6,29 +7,13,21,25 +4,6,14 +42 +5,6 +33 +3,5,6,11,15,16,22 +6,45 +6,14 +16 +0 +2,6,14,27 +6,18 +4,7,28,51 +6 +6,7,8,21,42 +14 +5,6,18,20 +3,6,22,23 +6,13,22,46 +6,20,35 +6,21,23 +2,5,6,7,20,25 +5,22 +2,6,25,40 +45,47 +5,6,17,19,20 +30 +4,5,6,14,17,32 +6,11,38 +6,7 +2,4,5,17 +5,6,14 +5,6,13 +2,3,5,6,21 +6,14,25 +3,5,6,20 +5,6,11,14 +6,14 +6,39 +6,18,49 +12 +5,6,8,13 +4,6,10,14,20,25,30 +6,13,15,23 +7,14,43 +4,6,22 +3,7,25,26 +6 +6,14,51 +42 +6 +6,17,28,33 +4,5,6,7,12,15,21,24,29 +20 +8,23,25 +5,6,7,42 +6,34 +3,6,11,13 +5,6 +5,6,14,25,28,49 +3,6,25 +5,14,17,21 +5,32 +4,6,19,28 +5,14,22 +3,28,47 +6,13,17 +5,20,35 +6,7,15,33 +9,46 +3,5,8,21 +5,6 +6,12,14 +5,6,21,43 +5,6 +6,7 +5,6,8,21 +6 +5,6,7,17 +3,5,6,11,22 +6,14,21 +6,26 +5,6,44 +5,42 +2,13,21 +4,5,6,7,49 +4,6,24 +6,12 +4,5,6,37 +6,14 +3,6,15 +14,18,23 +2,8,19 +5,6,19 +5,28 +6,42 +3,4,6,14,26 +4,6,7,28,35 +4,6,8,14,17,19,25,32 +6,32 +3,5,6,7,14,17,33 +5,6,7,9,17,46 +4,6,12,14 +6,49 +5,6,22 +5,6,7,14,34 +14 +5,6,14 +6,28 +5 +6 +6,14,19 +4,6,14,22,34,38 +2,3,33 +4,6,23,37,39,50 +8,14,45 +5,6 +3,5,6,46 +0 +5 +6,8 +4,5,7,20,33 +6,16,18,22,40 +3,7 +6,49 +5,6,14,21,28 +3,4,5,21 +3,5,6 +0 +5,6,10,13,14 +3,6,7,17,25,29 +6,34 +6 +39 +4,5,6 +3,6,49 +4,6,25 +6,42 +4,5,6 +4,5,6,7,14 +4,5,29 +4,6,14 +6,17,19 +14 +10 +7,16,23 +5,6,17,21 +2,6,14 +5,6 +4,5,6,19,32,42 +5,17 +5,6 +5,25 +5,6 +6,13 +6,14,17 +5,6,12,26,44 +5,6,13,22 +6,23,49 +7,13,25,50,51 +4,6,22,34,49 +6,28,47 +5,22 +5,6 +4,6,12,14,25,38 +6,13,17 +5,6,14,26,38 +2,6,10 +4,5 +3,6,7,13 +6,7,14,20,25,43 +5,6,22 +5,6 +6,19 +6 +5,6,14,17 +6,15,29 +6,16,22 +6,15 +7,13,34 +5,6,14,15,20 +6,14,35 +5,6,14,24 +6,7 +3,5,6,13 +4,5,6,27 +3,6,23 +3 +6,16 +4,6 +5,7,14,28,33 +5,6 +2 +6 +5,6,17,22 +4,6,7,12,20 +6,16,17 +6 +4,6,25 +6,7,11,13 +5,49 +6,33 +6,38 +2 +2,4,6,14,25,28 +4,5,20,32 +6,32 +3,6,7,33 +6,10,39 +2,4,6,12 +3,5 +2,6,14 +6,14,15,20 +5,19 +6,16,27 +6,17,20 +0 +5,6,14 +6,14 +5,6,17 +5,6,10,43 +7,42 +4,6,20 +5,7,17,28 +35,49 +2,5,35 +5,6,19 +5,12,21 +0 +5,6 +5,6,20,29 +4,5,6,14 +5,20,43,44 +4,6,8,12,14,20,33,49 +5,6 +5,6,24,25 +3,4,5,6,23,25,42 +3,4,5,28 +6 +6,14 +6,14 +4,7,12 +6,19,20,23,34 +2,4,22 +5,6,13,16 +14 +5,10,14 +29 +7,14 +5,6,14,17 +6,25,49 +6,12,13,23,28 +4,6,15 +6 +12,14,40 +6 +6,26,46 +5,6,14,22,38 +6,14,17,44 +4,6,17,25 +5,6,14,19 +4,16,17,20,40 +7,17 +4,6,44 +5,6,34 +4,6,8,12,20 +6 +4,5,6,14,16,19 +2,4,6,19,32 +2,5,7,46 +39 +6,14,15 +5 +3,6,15,27 +14 +2,6,23 +6,21 +5,45 +6,8 +4 +5,6 +4,5,6,21 +2,6,14,15 +2,4,6,14,17,22 +6,14 +6,20,25 +5,6,14 +17 +6,40 +6,10 +6,7 +2,6,17 +6,22 +3,5,6,40 +0 +4,6,24,45 +6 +5,6,7 +5,6,7,15,21 +49 +2,5,6,10,43 +43 +3,6,47 +4,6,20,21 +3,6 +2,6,17,20,25,29,47 +2,3 +2,6,17 +6,23,34,40 +6,11,13 +5,6,14,17 +2,6,35 +5,14,19,22 +7,26 +6,7,16 +4,14,25 +7,17 +5,6 +6,21,27,50 +6,13,14,20 +5,6,8,39 +3,5,6 +4,5,6,14,25 +3,4,5,6,12 +6,12 +6,7 +6 +3,6,13 +5,6 +6,11,14 +5,6 +6,14,15,16,46 +5,6,43 +4,19 +3,5,16 +44 +3,6,25 +3,6,7,27 +5,6,15 +4,5,6,7,8,12,17 +4,7 +4,6,12,17 +4,13 +6,14 +3,5,6,14,45 +13,14,16,32,45,49 +4,6,14,25 +6,16,43 +6,12,19,25 +4,6 +2,5,6,19 +5,6,12,25 +6 +3,6 +5,6,15 +20 +6,7,27 +2,5 +6 +5,6,13 +6,22,43 +6,7,13 +4,6,12,40 +6 +5,6,14 +2,6,17 +5 +6,17 +5 +3,7 +6 +6,8,13,14,20,22 +6,10,14 +6,22,47 +3,4,6 +5 +3,6,20 +6,22 +2,4,5,6,13,17 +5,6,13 +6,7 +3,5,6,14,28,34 +6,7 +4,5,6,7,8,20 +6,19,46 +6,23 +5,6,8,14,22 +6 +6,43 +6,25,40 +4 +3,5,6,20 +14,15,42 +6,13 +3,14,22,38,42,45 +5,6,22,33 +6 +6,25 +5 +6,14 +5,6,28,44 +5 +0 +6,28 +6 +6,20 +5,6,39 +6 +6,14,19 +5,6,11 +6 +6,15 +4,10,13,20,32 +8,14 +8 +11,13,17,22,43 +6,33 +3,5,6 +5,6,14,28 +6,35 +6,14 +10,27 +4,5,23 +6,7,20,23 +6 +5,6 +6 +6,8,17 +5,6 +39 +8,13 +14 +12 +5 +6,14,25 +5,13 +6,35 +3,4,6,47 +6,35 +4,14,20,28 +6,20,42 +5,6,14,17,45 +5 +4,6,26,33 +5,6,47 +6,20,35,50 +5,6,8,17 +4,6,12 +0 +5,6,17 +6 +6,14,44 +3,12,14,20 +6,22 +6,19 +5,6,43 +3,5,10,16 +6 +4,5,6,7,20 +6,14,27 +4,5 +3,6,20 +6,12,19 +3,4 +0 +3,5,14,26,42 +4,6,22 +4,5,6 +14 +6,7 +6,7 +6,13,17 +5 +0 +6 +6,14 +3,5,6,22,26,50 +3,6,26 +5 +5,6 +6 +3,4,6 +6,17,28,50 +6 +4,6,11,13 +4,6 +6 +5 +6,14 +6,14,24 +3,5,6 +5 +5,6,14 +5,20 +6,20 +12 +4,6,12,14 +4,6,20 +35,42 +6 +6,14,16,39 +6,7,13,17,45 +4,5,6,7,14,28,45,47 +50 +6 +5,6,12 +6,12,15 +6 +0 +5,6,7,12,15 +3,4,5,14,23,28 +6,12 +4,15 +4,34 +6 +6,19,20 +6,10,14 +6,17,39 +0 +3,5 +6,24 +3,6,14 +33 +4,6,33 +4,7,19 +3,4,6,14 +6,24 +5,6,7,12,14 +6,14 +6,20 +4,5,7 +13,17 +6 +3,5,6,14,15,20 +5,6,12 +6 +5,6 +6 +4,6,12 +5,44 +6 +5 +3,6,44 +4 +4,6 +3,6,7,14 +5,6,14 +5 +5,6 +3,5,6,15 +5,6,11 +6,13 +6,50 +6,7,17,39 +6 +5 +5,14,26 +6 +5 +7,14 +6,7,39 +6 +4,6,17 +6,7,17,23,28,47 +5,6,14,17 +6,14,17 +5,15 +3,4,6,14 +0 +6,14,17 +4,5,6,20,26,35 +5,6 +14,23,42 +3,6 +8,42 +3,6 +6,14 +3,4,6,10 +5,6 +5,6,14 +5,26,28,50 +4,6,33 +5,6 +6,14 +6 +4,6,14 +6,8,10,14 +4,6 +5,6,26,42,43 +14,24 +6,45 +6,14,15 +6,19,38 +5,6,26 +0 +4,20 +5 +14 +0 +0 +5 +0 +4 +5 +4,15 +5,35 +4 +5,23 +5,14 +5 +19,20,28 +4,8,23,28,42 +14 +0 +5,33 +4,14,23 +19,33,43 +5,15 +4,10 +14 +5,23 +0 +5,10 +4 +0 +4 +14,19 +4,5 +4 +8 +0 +5,14 +4,5,11 +4,19 +4,23 +14 +5,13,42 +5,13 +0 +14,28 +4 +0 +10,11,14 +33 +5,14,44,50 +8,14,15,28 +4,11,42 diff --git a/testing_data/siftsmall_R32_L50_filtered_index_labels_map.txt b/testing_data/siftsmall_R32_L50_filtered_index_labels_map.txt new file mode 100644 index 0000000..427d02b --- /dev/null +++ b/testing_data/siftsmall_R32_L50_filtered_index_labels_map.txt @@ -0,0 +1,51 @@ +46 50 +29 49 +49 51 +42 47 +24 46 +48 45 +31 44 +20 42 +43 40 +50 39 +38 36 +37 35 +33 33 +28 43 +41 32 +44 37 +12 13 +13 12 +15 28 +19 16 +32 41 +26 11 +34 48 +14 21 +4 4 +18 10 +39 34 +11 2 +36 38 +1 6 +9 20 +22 23 +5 3 +40 9 +0 0 +17 19 +23 8 +21 18 +8 22 +16 15 +47 24 +27 30 +35 27 +7 17 +10 25 +45 31 +6 7 +3 14 +30 26 +2 5 +25 29 diff --git a/third_party/robin-map b/third_party/robin-map new file mode 160000 index 0000000..fe845fd --- /dev/null +++ b/third_party/robin-map @@ -0,0 +1 @@ +Subproject commit fe845fd7852ef541c5479ae23b3d36b57f8608ee diff --git a/tmp/base_0m_nc=12_assignment=rand_alpha=0.json b/tmp/base_0m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..5a64318 Binary files /dev/null and b/tmp/base_0m_nc=12_assignment=rand_alpha=0.json differ diff --git a/tmp/hybrid_0m_nc=12_assignment=rand_alpha=0.json b/tmp/hybrid_0m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..9ee9df9 Binary files /dev/null and b/tmp/hybrid_0m_nc=12_assignment=rand_alpha=0.json differ diff --git a/tmp/hybrid_gamma1_0m_nc=12_assignment=rand_alpha=0.json b/tmp/hybrid_gamma1_0m_nc=12_assignment=rand_alpha=0.json new file mode 100644 index 0000000..78970c3 Binary files /dev/null and b/tmp/hybrid_gamma1_0m_nc=12_assignment=rand_alpha=0.json differ