From b8be145fcb97122f5220d4fe21c642ef95eb916b Mon Sep 17 00:00:00 2001 From: CaucherWang <644513759@qq.com> Date: Tue, 12 Dec 2023 15:05:19 +0800 Subject: [PATCH] 2023 Dec --- 100kquery.out | 336 + 200g.out | 110 + CMakeLists.txt | 37 +- README.md | 92 +- combines/16-1.txt | 32 +- combines/16-10.txt | 16016 +++++++-------- combines/16-11.txt | 8736 ++++---- combines/16-12.txt | 3640 ++-- combines/16-13.txt | 1120 +- combines/16-14.txt | 240 +- combines/16-15.txt | 32 +- combines/16-2.txt | 238 +- combines/16-3.txt | 1120 +- combines/16-4.txt | 3640 ++-- combines/16-5.txt | 8736 ++++---- combines/16-6.txt | 16016 +++++++-------- combines/16-7.txt | 22880 ++++++++++----------- combines/16-8.txt | 25740 ++++++++++++------------ combines/16-9.txt | 22880 ++++++++++----------- config.ini | 404 +- include/DataStructures/FADASNode.h | 683 +- include/DataStructures/IPGDataNode.h | 72 +- include/DataStructures/OffsetDist.h | 46 +- include/DataStructures/SafeHashMap.h | 474 +- include/DataStructures/SafePq.h | 3650 ++-- include/DataStructures/ThreadPool.h | 206 +- include/DataStructures/io_data.h | 31 +- include/Expr/DNATranslator.h | 52 +- include/Expr/ECGParser.h | 32 +- include/Expr/RandDataGenerator.h | 76 +- include/Expr/Recall.h | 6 + include/Searchers/FADASSearcher.h | 292 +- include/TAR/TARGNode.h | 228 +- include/TAR/TARLNode.h | 214 +- include/TAR/TARSearcher.h | 86 +- include/Utils/INIReader.h | 144 +- include/Utils/SaxUtil.h | 345 +- include/Utils/TimeSeriesUtil.h | 4 + include/Utils/ini.h | 310 +- src/Const.cpp | 62 +- src/Expr/DNATranslator.cpp | 304 +- src/Expr/ECGParser.cpp | 68 +- src/Expr/RandDataGenerator.cpp | 134 +- src/Expr/Recall.cpp | 438 +- src/IndexConstruction/FADASFuzzy.cpp | 1328 +- src/IndexConstruction/FADASNode.cpp | 10510 +++++----- src/IndexConstruction/IPGDataNode.cpp | 10 +- src/SearchEngine/FADASSearcher.cpp | 5674 ++++-- src/SearchEngine/TARSearcher.cpp | 780 +- src/TAR/TARGNode.cpp | 934 +- src/TAR/TARLNode.cpp | 816 +- src/Utils/INIReader.cpp | 230 +- src/Utils/SaxUtil.cpp | 2973 +-- src/Utils/TimeSeriesUtil.cpp | 1660 +- src/Utils/ini.c | 594 +- src/main.cpp | 51 +- 56 files changed, 85026 insertions(+), 80536 deletions(-) create mode 100644 100kquery.out create mode 100644 200g.out diff --git a/100kquery.out b/100kquery.out new file mode 100644 index 0000000..07fbc1c --- /dev/null +++ b/100kquery.out @@ -0,0 +1,336 @@ +dataset: rand +method: +index: 1 +materialized: 1 +ops: 11 +maxK: 50 +query_num: 100000 +messi_pq_num: 1 +SSD_pq_num: 24 +series_num: 100000000 +k: 50 +thread_num: 4 +batch_size: 1400000 +batch_num: 50 +pre_read: 1 +dtw_window_percent: 0.05 +th: 10000 +fbl_size: 32768 +max_diff: 3 +bitsCardinality: 8 +boundary_1st: 0.3 +boundary: 0.3 +imbalance: 0.3 +small_perc: 1 +f_low: 0.5 +f_high: 1.5 +alpha: 0.2 +max_mask_bit_percentage: 0.5 +tardis_sample_percent: 1 +max_replica: 2 +filling_factor_1st: 0.8 +filling_factor: 0.5 +max_radius: 6 +graphfn: ../RowGraph_16_3.bin +bitsReserve: 3 +tsLength: 256 +paafn: /mnt/c/Series4Similarity_Search/rand/paa/rand-256-100m-16.bin +saxfn: /mnt/c/Series4Similarity_Search/rand/sax/rand-256-100m-16.bin +idxfn: +fidxfn: /home/wzy/data/rand/index/ +posidxfn: +fuzzyidxfn: /home/wzy/data/rand/fuzzy/ +datafn: /home/wzy/data/rand/rand-256-100m.bin +queryfn: /home/wzy/data/rand/rand-256-100k.bin +resfn: /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +dtwresfn: /mnt/c/Series4Similarity_Search/rand/rand-256-200-50-dtw2.bin +dstreefn: /mnt/c/Series4Similarity_Search/ds-tree/rand/ +tardisfn: /mnt/c/Series4Similarity_Search/ds-tree/rand/ +buffer_series_num: 16777215 +21:52:33: result file is /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +------------------Experiment-------------------- +k: 50 +500 +Now 1278.150s, on average 2.556s +1000 +Now 2500.647s, on average 2.501s +1500 +Now 3604.635s, on average 2.403s +2000 +Now 4767.441s, on average 2.384s +2500 +Now 6004.241s, on average 2.402s +3000 +Now 7218.527s, on average 2.406s +3500 +Now 8414.824s, on average 2.404s +4000 +Now 9586.090s, on average 2.397s +4500 +Now 10745.198s, on average 2.388s +5000 +Now 11891.735s, on average 2.378s +5500 +Now 13121.139s, on average 2.386s +6000 +Now 14333.738s, on average 2.389s +6500 +Now 15509.279s, on average 2.386s +7000 +Now 16744.187s, on average 2.392s +7500 +Now 17887.773s, on average 2.385s +8000 +Now 19065.754s, on average 2.383s +8500 +Now 20332.442s, on average 2.392s +9000 +Now 21486.604s, on average 2.387s +9500 +Now 22638.599s, on average 2.383s +10000 +Now 23829.717s, on average 2.383s +10500 +Now 25015.283s, on average 2.382s +11000 +Now 26220.664s, on average 2.384s +11500 +Now 27326.040s, on average 2.376s +12000 +Now 28489.309s, on average 2.374s +12500 +Now 29663.839s, on average 2.373s +13000 +Now 30835.218s, on average 2.372s +13500 +Now 32019.396s, on average 2.372s +14000 +Now 33168.368s, on average 2.369s +14500 +Now 34393.461s, on average 2.372s +15000 +Now 35580.437s, on average 2.372s +15500 +Now 36785.757s, on average 2.373s +16000 +Now 38191.511s, on average 2.387s +16500 +Now 39374.735s, on average 2.386s +17000 +Now 40512.424s, on average 2.383s +17500 +Now 41643.183s, on average 2.380s +18000 +Now 42851.243s, on average 2.381s +18500 +Now 44043.630s, on average 2.381s +19000 +Now 45192.150s, on average 2.379s +19500 +Now 46385.137s, on average 2.379s +20000 +Now 47482.688s, on average 2.374s +20500 +Now 48623.649s, on average 2.372s +21000 +Now 49752.885s, on average 2.369s +21500 +Now 50947.780s, on average 2.370s +22000 +Now 52060.932s, on average 2.366s +22500 +Now 53266.341s, on average 2.367s +23000 +Now 54478.975s, on average 2.369s +23500 +Now 55711.381s, on average 2.371s +24000 +Now 56895.145s, on average 2.371s +24500 +Now 58086.761s, on average 2.371s +25000 +Now 59279.107s, on average 2.371s +25500 +Now 60493.038s, on average 2.372s +26000 +Now 61698.409s, on average 2.373s +26500 +Now 62823.532s, on average 2.371s +27000 +Now 63987.581s, on average 2.370s +27500 +Now 65202.189s, on average 2.371s +28000 +Now 66444.210s, on average 2.373s +28500 +Now 67752.595s, on average 2.377s +29000 +Now 68993.932s, on average 2.379s +29500 +Now 70156.512s, on average 2.378s +30000 +Now 71342.810s, on average 2.378s +30500 +Now 72568.398s, on average 2.379s +31000 +Now 73703.650s, on average 2.378s +31500 +Now 74879.740s, on average 2.377s +32000 +Now 76037.716s, on average 2.376s +32500 +Now 77247.786s, on average 2.377s +33000 +Now 78453.778s, on average 2.377s +33500 +Now 79662.620s, on average 2.378s +34000 +Now 80820.094s, on average 2.377s +34500 +Now 82009.070s, on average 2.377s +35000 +Now 83179.050s, on average 2.377s +35500 +Now 84352.619s, on average 2.376s +36000 +Now 85540.166s, on average 2.376s +36500 +Now 86693.500s, on average 2.375s +37000 +Now 87893.329s, on average 2.375s +37500 +Now 89088.031s, on average 2.376s +38000 +Now 90300.902s, on average 2.376s +38500 +Now 91554.725s, on average 2.378s +39000 +Now 92699.568s, on average 2.377s +39500 +Now 93895.344s, on average 2.377s +40000 +Now 95077.485s, on average 2.377s +40500 +Now 96226.684s, on average 2.376s +41000 +Now 97507.215s, on average 2.378s +41500 +Now 98673.867s, on average 2.378s +42000 +Now 99843.478s, on average 2.377s +42500 +Now 101017.784s, on average 2.377s +43000 +Now 102256.728s, on average 2.378s +43500 +Now 103439.549s, on average 2.378s +44000 +Now 104581.814s, on average 2.377s +44500 +Now 105813.666s, on average 2.378s +45000 +Now 107024.087s, on average 2.378s +45500 +Now 108194.019s, on average 2.378s +46000 +Now 109382.420s, on average 2.378s +46500 +Now 110601.827s, on average 2.379s +47000 +Now 111745.600s, on average 2.378s +47500 +Now 112980.036s, on average 2.379s +48000 +Now 114130.026s, on average 2.378s +48500 +Now 115322.890s, on average 2.378s +49000 +Now 116506.299s, on average 2.378s +49500 +Now 117674.489s, on average 2.377s +50000 +Now 118865.364s, on average 2.377s +50500 +Now 120044.399s, on average 2.377s +51000 +Now 121224.223s, on average 2.377s +51500 +Now 122438.353s, on average 2.377s +52000 +Now 123601.505s, on average 2.377s +52500 +Now 124797.278s, on average 2.377s +53000 +Now 126011.969s, on average 2.378s +53500 +Now 127251.415s, on average 2.379s +54000 +Now 128473.364s, on average 2.379s +54500 +Now 129679.824s, on average 2.379s +55000 +Now 130877.405s, on average 2.380s +55500 +Now 132049.311s, on average 2.379s +56000 +Now 133213.103s, on average 2.379s +56500 +Now 134379.609s, on average 2.378s +57000 +Now 135487.242s, on average 2.377s +57500 +Now 136674.013s, on average 2.377s +58000 +Now 137868.213s, on average 2.377s +58500 +Now 139033.116s, on average 2.377s +59000 +Now 140144.466s, on average 2.375s +59500 +Now 141234.200s, on average 2.374s +60000 +Now 142392.255s, on average 2.373s +60500 +Now 143634.184s, on average 2.374s +61000 +Now 144791.872s, on average 2.374s +61500 +Now 145960.379s, on average 2.373s +62000 +Now 147170.679s, on average 2.374s +62500 +Now 148377.168s, on average 2.374s +63000 +Now 149516.288s, on average 2.373s +63500 +Now 150701.539s, on average 2.373s +64000 +Now 151916.433s, on average 2.374s +64500 +Now 153062.011s, on average 2.373s +65000 +Now 154443.624s, on average 2.376s +65500 +Now 155698.663s, on average 2.377s +66000 +Now 156998.226s, on average 2.379s +66500 +Now 158399.995s, on average 2.382s +67000 +Now 159557.251s, on average 2.381s +67500 +Now 160754.103s, on average 2.382s +68000 +Now 161965.287s, on average 2.382s +68500 +Now 163236.372s, on average 2.383s +69000 +Now 164410.443s, on average 2.383s +69500 +Now 165584.724s, on average 2.383s +70000 +Now 166765.108s, on average 2.382s +70500 +Now 167932.110s, on average 2.382s +71000 +Now 169146.539s, on average 2.382s diff --git a/200g.out b/200g.out new file mode 100644 index 0000000..bc3a34e --- /dev/null +++ b/200g.out @@ -0,0 +1,110 @@ +dataset: rand +method: +index: 1 +materialized: 1 +ops: 11 +maxK: 50 +query_num: 100000 +messi_pq_num: 1 +SSD_pq_num: 24 +series_num: 200000000 +k: 50 +thread_num: 6 +batch_size: 1400000 +batch_num: 50 +pre_read: 1 +dtw_window_percent: 0.05 +th: 10000 +fbl_size: 32768 +max_diff: 3 +bitsCardinality: 8 +boundary_1st: 0.3 +boundary: 0.3 +imbalance: 0.3 +small_perc: 1 +f_low: 0.5 +f_high: 1.5 +alpha: 0.2 +max_mask_bit_percentage: 0.5 +tardis_sample_percent: 1 +max_replica: 2 +filling_factor_1st: 0.8 +filling_factor: 0.5 +max_radius: 6 +graphfn: ../RowGraph_16_3.bin +bitsReserve: 3 +tsLength: 256 +paafn: /mnt/c/Series4Similarity_Search/rand/paa/rand-256-100m-16.bin +saxfn: /mnt/c/Series4Similarity_Search/rand/sax/rand-256-200m-16.bin +idxfn: +fidxfn: /home/wzy/data/rand/index-200g/ +posidxfn: +fuzzyidxfn: /home/wzy/data/rand/fuzzy/ +datafn: /home/wzy/data/rand/rand-256-200m.bin +queryfn: /home/wzy/data/rand/rand-256-100k.bin +resfn: /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +dtwresfn: /mnt/c/Series4Similarity_Search/rand/rand-256-200-50-dtw2.bin +dstreefn: /mnt/c/Series4Similarity_Search/ds-tree/rand/ +tardisfn: /mnt/c/Series4Similarity_Search/ds-tree/rand/ +buffer_series_num: 16777215 +22:13:48: result file is /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +------------------Experiment-------------------- +k: 50 +dataset: rand +method: +index: 1 +materialized: 1 +ops: 11 +maxK: 50 +query_num: 100000 +messi_pq_num: 1 +SSD_pq_num: 24 +series_num: 200000000 +k: 50 +thread_num: 6 +batch_size: 1400000 +batch_num: 50 +pre_read: 1 +dtw_window_percent: 0.05 +th: 10000 +fbl_size: 32768 +max_diff: 3 +bitsCardinality: 8 +boundary_1st: 0.3 +boundary: 0.3 +imbalance: 0.3 +small_perc: 1 +f_low: 0.5 +f_high: 1.5 +alpha: 0.2 +max_mask_bit_percentage: 0.5 +tardis_sample_percent: 1 +max_replica: 2 +filling_factor_1st: 0.8 +filling_factor: 0.5 +max_radius: 6 +graphfn: ../RowGraph_16_3.bin +bitsReserve: 3 +tsLength: 256 +paafn: /mnt/c/Series4Similarity_Search/rand/paa/rand-256-100m-16.bin +saxfn: /mnt/c/Series4Similarity_Search/rand/sax/rand-256-200m-16.bin +idxfn: +fidxfn: /home/wzy/data/rand/index-200g/ +posidxfn: +fuzzyidxfn: /home/wzy/data/rand/fuzzy/ +datafn: /home/wzy/data/rand/rand-256-200m.bin +queryfn: /home/wzy/data/rand/rand-256-100k.bin +resfn: /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +dtwresfn: /mnt/c/Series4Similarity_Search/rand/rand-256-200-50-dtw2.bin +dstreefn: /mnt/c/Series4Similarity_Search/ds-tree/rand/ +tardisfn: /mnt/c/Series4Similarity_Search/ds-tree/rand/ +buffer_series_num: 16777215 +22:13:58: result file is /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +------------------Experiment-------------------- +k: 50 +500 +Now 12615.663s, on average 25.231s +1000 +Now 24757.016s, on average 24.757s +1500 +Now 35323.807s, on average 23.549s diff --git a/CMakeLists.txt b/CMakeLists.txt index cc297c8..64bae54 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,17 +1,20 @@ -cmake_minimum_required(VERSION 3.20) -project(FADAS) - -set(CMAKE_CXX_STANDARD 23) -#set(CMAKE_BUILD_TYPE Release) -#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) -#add_definitions(-DMALLOC_CHECK_=3) -find_package(Threads REQUIRED) -find_package(OpenMP REQUIRED) -find_package(GSL REQUIRED) -include_directories(${GSL_INCLUDE_DIRES} ${GSLCBLAS_INCLUDE_DIRS}) -link_libraries(${GSL_LIBRARIES} ${GSLBLAS_LIBRARIES}) -add_compile_options(-march=haswell) -#add_compile_options("-mavx2") -add_executable(FADAS src/main.cpp include/DataStructures/TimeSeries.h include/DataStructures/PqItemSeries.h src/DSTree/DSTreeNode.cpp include/DSTree/DSTreeNode.h include/DSTree/InsertedSeries.h include/DSTree/Sketch.h include/DSTree/PqItemNode.h include/DSTree/SplitInfo.h include/DSTree/INodeSegmentSplitPolicy.h src/DSTree/DSTreeNodeConstruction.cpp include/DSTree/DSTreeNodeConstruction.h src/DSTree/MeanNodeSegmentSplitPolicy.cpp include/DSTree/MeanNodeSegmentSplitPolicy.h src/DSTree/StdevNodeSegmentSplitPolicy.cpp include/DSTree/StdevNodeSegmentSplitPolicy.h src/Utils/FileUtil.cpp include/Utils/FileUtil.h src/Utils/TimeSeriesUtil.cpp include/Utils/TimeSeriesUtil.h src/Utils/SaxUtil.cpp include/Utils/SaxUtil.h include/DataStructures/PqItemIndex.h src/Utils/MathUtil.cpp include/Utils/MathUtil.h src/SearchEngine/ExactSearcher.cpp include/Searchers/ExactSearcher.h src/SearchEngine/DSTreeApproxSearcher.cpp include/Searchers/DSTreeApproxSearcher.h src/SearchEngine/DSTreeExactSearcher.cpp include/Searchers/DSTreeExactSearcher.h src/IndexConstruction/GraphConstruction.cpp include/DataStructures/GraphConstruction.h src/PqItemSeries.cpp src/DSTree/INodeSegmentSplitPolicy.cpp src/Expr/Recall.cpp include/Expr/Recall.h include/Const.h src/Expr/DataDistribution.cpp include/Expr/DataDistribution.h src/Tardis/TardisTreeNode.cpp include/Tardis/TardisTreeNode.h src/SearchEngine/TardisApproxSearch.cpp include/Searchers/TardisApproxSearch.h src/IndexConstruction/IPGNode.cpp include/DataStructures/IPGNode.h src/IndexConstruction/IPGPartition.cpp include/DataStructures/IPGPartition.h src/SearchEngine/IPGApproxSearcher.cpp include/Searchers/IPGApproxSearcher.h src/iSAX/iSAXNode.cpp include/DataStructures/iSAXNode.h src/SearchEngine/iSAXSearcher.cpp include/Searchers/iSAXSearcher.h src/Expr/RandDataGenerator.cpp include/Expr/RandDataGenerator.h src/Expr/DNATranslator.cpp include/Expr/DNATranslator.h src/IndexConstruction/IPGDataNode.cpp include/DataStructures/IPGDataNode.h src/Utils/INIReader.cpp include/Utils/INIReader.h src/Utils/ini.c include/DataStructures/OffsetDist.h src/Const.cpp src/IndexConstruction/FADASNode.cpp include/DataStructures/FADASNode.h src/SearchEngine/FADASSearcher.cpp include/Searchers/FADASSearcher.h src/IndexConstruction/FADASFuzzy.cpp src/Expr/ECGParser.cpp include/Expr/ECGParser.h src/TAR/TARGNode.cpp include/TAR/TARGNode.h src/TAR/TARLNode.cpp include/TAR/TARLNode.h src/SearchEngine/TARSearcher.cpp include/TAR/TARSearcher.h include/DataStructures/SafePq.h include/DataStructures/ThreadPool.h include/DataStructures/SafeHashMap.h include/DataStructures/io_data.h) -#target_compile_options(FADAS PUBLIC "-mavx2") -target_link_libraries(FADAS OpenMP::OpenMP_CXX Threads::Threads libboost_serialization-mt-x64.a libboost_serialization-mt-x64.so libboost_serialization.so.1.76.0 ${GSL_LIBRARIES} ${GSLBLAS_LIBRARIES} liburing.so) \ No newline at end of file +cmake_minimum_required(VERSION 3.20) +project(FADAS) + +set(CMAKE_CXX_STANDARD 23) +#set(CMAKE_BUILD_TYPE Release) +#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) +#add_definitions(-DMALLOC_CHECK_=2) +set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -g -O2 -Wall") +#set(MALLOC_CHECK_) +find_package(Threads REQUIRED) +find_package(OpenMP REQUIRED) +find_package(GSL REQUIRED) +include_directories(${GSL_INCLUDE_DIRES} ${GSLCBLAS_INCLUDE_DIRS}) +link_libraries(${GSL_LIBRARIES} ${GSLBLAS_LIBRARIES}) +add_compile_options(-march=haswell) +#add_compile_options("-mavx2") +add_executable(FADAS src/main.cpp include/DataStructures/TimeSeries.h include/DataStructures/PqItemSeries.h src/DSTree/DSTreeNode.cpp include/DSTree/DSTreeNode.h include/DSTree/InsertedSeries.h include/DSTree/Sketch.h include/DSTree/PqItemNode.h include/DSTree/SplitInfo.h include/DSTree/INodeSegmentSplitPolicy.h src/DSTree/DSTreeNodeConstruction.cpp include/DSTree/DSTreeNodeConstruction.h src/DSTree/MeanNodeSegmentSplitPolicy.cpp include/DSTree/MeanNodeSegmentSplitPolicy.h src/DSTree/StdevNodeSegmentSplitPolicy.cpp include/DSTree/StdevNodeSegmentSplitPolicy.h src/Utils/FileUtil.cpp include/Utils/FileUtil.h src/Utils/TimeSeriesUtil.cpp include/Utils/TimeSeriesUtil.h src/Utils/SaxUtil.cpp include/Utils/SaxUtil.h include/DataStructures/PqItemIndex.h src/Utils/MathUtil.cpp include/Utils/MathUtil.h src/SearchEngine/ExactSearcher.cpp include/Searchers/ExactSearcher.h src/SearchEngine/DSTreeApproxSearcher.cpp include/Searchers/DSTreeApproxSearcher.h src/SearchEngine/DSTreeExactSearcher.cpp include/Searchers/DSTreeExactSearcher.h src/IndexConstruction/GraphConstruction.cpp include/DataStructures/GraphConstruction.h src/PqItemSeries.cpp src/DSTree/INodeSegmentSplitPolicy.cpp src/Expr/Recall.cpp include/Expr/Recall.h include/Const.h src/Expr/DataDistribution.cpp include/Expr/DataDistribution.h src/Tardis/TardisTreeNode.cpp include/Tardis/TardisTreeNode.h src/SearchEngine/TardisApproxSearch.cpp include/Searchers/TardisApproxSearch.h src/IndexConstruction/IPGNode.cpp include/DataStructures/IPGNode.h src/IndexConstruction/IPGPartition.cpp include/DataStructures/IPGPartition.h src/SearchEngine/IPGApproxSearcher.cpp include/Searchers/IPGApproxSearcher.h src/iSAX/iSAXNode.cpp include/DataStructures/iSAXNode.h src/SearchEngine/iSAXSearcher.cpp include/Searchers/iSAXSearcher.h src/Expr/RandDataGenerator.cpp include/Expr/RandDataGenerator.h src/Expr/DNATranslator.cpp include/Expr/DNATranslator.h src/IndexConstruction/IPGDataNode.cpp include/DataStructures/IPGDataNode.h src/Utils/INIReader.cpp include/Utils/INIReader.h src/Utils/ini.c include/DataStructures/OffsetDist.h src/Const.cpp src/IndexConstruction/FADASNode.cpp include/DataStructures/FADASNode.h src/SearchEngine/FADASSearcher.cpp include/Searchers/FADASSearcher.h src/IndexConstruction/FADASFuzzy.cpp src/Expr/ECGParser.cpp include/Expr/ECGParser.h src/TAR/TARGNode.cpp include/TAR/TARGNode.h src/TAR/TARLNode.cpp include/TAR/TARLNode.h src/SearchEngine/TARSearcher.cpp include/TAR/TARSearcher.h include/DataStructures/SafePq.h include/DataStructures/ThreadPool.h include/DataStructures/SafeHashMap.h include/DataStructures/io_data.h) +#target_compile_options(FADAS PUBLIC "-mavx2") +target_link_libraries(FADAS OpenMP::OpenMP_CXX Threads::Threads libboost_serialization.so + ${GSL_LIBRARIES} ${GSLBLAS_LIBRARIES}) \ No newline at end of file diff --git a/README.md b/README.md index c2964a2..3682763 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,46 @@ -# FADAS: An accurate and scalable data series index - -FADAS is an enhanced version of iSAX, focusing on the building efficiency and accuracy on approximate queries. -A memory version is also provided. -If you can tolerate 30% ~ 100% more disk occupancy and need more search accuracy, FADAS-fuzzy is a much better choice. - -# License -This archive is free for use for academic and non-profit purposes, but if you use it, please reference it properly. - -# Reference - -# Disclaimer -The code is provided without warranty of any kind. While we thoroughly tested all code bases on Ubuntu 20.04 LTS (Windows Subsystem of Linux), we do not guarantee that they are exempt from bugs, nor that they will work on other platforms. If you encounter any issues with the code, please feel free to propose them on the ISSUE page of this repo. We will do our best to address your concerns but do not promise to resolve all issues. - -# Installation - -## Libraries - -2 libraries are required: GSL and boost:serialization. -GSL can be omitted if you don't need to generate random walk dataset on your own. Just remove related line in CMakeLists.txt, with the file name "src/Expr/RandDataGenerator.cpp" "include/Expr/RandDataGenerator.h" in COMMAND add_executable (10th line in CMakeLists.txt) -boost:serialization is used to serialize the memory index structure, so it is necessary for NOW, though an ad-hoc serialization version might be developed in the future. - -## Build - -Here is a Cmake project. All the information about compiling is in CMakeList.txt. -We test this project in Cmake 3.20 with C++ language standard 23, however, we SUBJECTIVELY think it can run on relatively lower versions. - -*If you can use IDE like Clion*, just open this project use that and build it automatically and then run it. - -*Else*, please refer to following instructions. - -1. create a "build" directory under the project - -2. cd build - -3. cmake .. - -4. make - -5. cd .. && ./bin/FADAS - -## Run - -All the configuration is written on the config.ini, including the information about dataset. -To finish your task, please READ and UPDATE config.ini IN DETAIL. - +# FADAS: An accurate and scalable data series index + +FADAS is an enhanced version of iSAX, focusing on the building efficiency and accuracy on approximate queries. +A memory version is also provided. +If you can tolerate 30% ~ 100% more disk occupancy and need more search accuracy, FADAS-fuzzy is a much better choice. + +# License +This archive is free for use for academic and non-profit purposes, but if you use it, please reference it properly. + +# Reference + +# Disclaimer +The code is provided without warranty of any kind. While we thoroughly tested all code bases on Ubuntu 20.04 LTS (Windows Subsystem of Linux), we do not guarantee that they are exempt from bugs, nor that they will work on other platforms. If you encounter any issues with the code, please feel free to propose them on the ISSUE page of this repo. We will do our best to address your concerns but do not promise to resolve all issues. + +# Installation + +## Libraries + +2 libraries are required: GSL and boost:serialization. +GSL can be omitted if you don't need to generate random walk dataset on your own. Just remove related line in CMakeLists.txt, with the file name "src/Expr/RandDataGenerator.cpp" "include/Expr/RandDataGenerator.h" in COMMAND add_executable (10th line in CMakeLists.txt) +boost:serialization is used to serialize the memory index structure, so it is necessary for NOW, though an ad-hoc serialization version might be developed in the future. + +## Build + +Here is a Cmake project. All the information about compiling is in CMakeList.txt. +We test this project in Cmake 3.20 with C++ language standard 23, however, we SUBJECTIVELY think it can run on relatively lower versions. + +*If you can use IDE like Clion*, just open this project use that and build it automatically and then run it. + +*Else*, please refer to following instructions. + +1. create a "build" directory under the project + +2. cd build + +3. cmake .. + +4. make + +5. cd .. && ./bin/FADAS + +## Run + +All the configuration is written on the config.ini, including the information about dataset. +To finish your task, please READ and UPDATE config.ini IN DETAIL. + diff --git a/combines/16-1.txt b/combines/16-1.txt index b7f767c..9d9e524 100644 --- a/combines/16-1.txt +++ b/combines/16-1.txt @@ -1,16 +1,16 @@ -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 diff --git a/combines/16-10.txt b/combines/16-10.txt index fc746d7..b731bdf 100644 --- a/combines/16-10.txt +++ b/combines/16-10.txt @@ -1,8008 +1,8008 @@ -0 1 2 3 4 5 6 7 8 9 -0 1 2 3 4 5 6 7 8 10 -0 1 2 3 4 5 6 7 8 11 -0 1 2 3 4 5 6 7 8 12 -0 1 2 3 4 5 6 7 8 13 -0 1 2 3 4 5 6 7 8 14 -0 1 2 3 4 5 6 7 8 15 -0 1 2 3 4 5 6 7 9 10 -0 1 2 3 4 5 6 7 9 11 -0 1 2 3 4 5 6 7 9 12 -0 1 2 3 4 5 6 7 9 13 -0 1 2 3 4 5 6 7 9 14 -0 1 2 3 4 5 6 7 9 15 -0 1 2 3 4 5 6 7 10 11 -0 1 2 3 4 5 6 7 10 12 -0 1 2 3 4 5 6 7 10 13 -0 1 2 3 4 5 6 7 10 14 -0 1 2 3 4 5 6 7 10 15 -0 1 2 3 4 5 6 7 11 12 -0 1 2 3 4 5 6 7 11 13 -0 1 2 3 4 5 6 7 11 14 -0 1 2 3 4 5 6 7 11 15 -0 1 2 3 4 5 6 7 12 13 -0 1 2 3 4 5 6 7 12 14 -0 1 2 3 4 5 6 7 12 15 -0 1 2 3 4 5 6 7 13 14 -0 1 2 3 4 5 6 7 13 15 -0 1 2 3 4 5 6 7 14 15 -0 1 2 3 4 5 6 8 9 10 -0 1 2 3 4 5 6 8 9 11 -0 1 2 3 4 5 6 8 9 12 -0 1 2 3 4 5 6 8 9 13 -0 1 2 3 4 5 6 8 9 14 -0 1 2 3 4 5 6 8 9 15 -0 1 2 3 4 5 6 8 10 11 -0 1 2 3 4 5 6 8 10 12 -0 1 2 3 4 5 6 8 10 13 -0 1 2 3 4 5 6 8 10 14 -0 1 2 3 4 5 6 8 10 15 -0 1 2 3 4 5 6 8 11 12 -0 1 2 3 4 5 6 8 11 13 -0 1 2 3 4 5 6 8 11 14 -0 1 2 3 4 5 6 8 11 15 -0 1 2 3 4 5 6 8 12 13 -0 1 2 3 4 5 6 8 12 14 -0 1 2 3 4 5 6 8 12 15 -0 1 2 3 4 5 6 8 13 14 -0 1 2 3 4 5 6 8 13 15 -0 1 2 3 4 5 6 8 14 15 -0 1 2 3 4 5 6 9 10 11 -0 1 2 3 4 5 6 9 10 12 -0 1 2 3 4 5 6 9 10 13 -0 1 2 3 4 5 6 9 10 14 -0 1 2 3 4 5 6 9 10 15 -0 1 2 3 4 5 6 9 11 12 -0 1 2 3 4 5 6 9 11 13 -0 1 2 3 4 5 6 9 11 14 -0 1 2 3 4 5 6 9 11 15 -0 1 2 3 4 5 6 9 12 13 -0 1 2 3 4 5 6 9 12 14 -0 1 2 3 4 5 6 9 12 15 -0 1 2 3 4 5 6 9 13 14 -0 1 2 3 4 5 6 9 13 15 -0 1 2 3 4 5 6 9 14 15 -0 1 2 3 4 5 6 10 11 12 -0 1 2 3 4 5 6 10 11 13 -0 1 2 3 4 5 6 10 11 14 -0 1 2 3 4 5 6 10 11 15 -0 1 2 3 4 5 6 10 12 13 -0 1 2 3 4 5 6 10 12 14 -0 1 2 3 4 5 6 10 12 15 -0 1 2 3 4 5 6 10 13 14 -0 1 2 3 4 5 6 10 13 15 -0 1 2 3 4 5 6 10 14 15 -0 1 2 3 4 5 6 11 12 13 -0 1 2 3 4 5 6 11 12 14 -0 1 2 3 4 5 6 11 12 15 -0 1 2 3 4 5 6 11 13 14 -0 1 2 3 4 5 6 11 13 15 -0 1 2 3 4 5 6 11 14 15 -0 1 2 3 4 5 6 12 13 14 -0 1 2 3 4 5 6 12 13 15 -0 1 2 3 4 5 6 12 14 15 -0 1 2 3 4 5 6 13 14 15 -0 1 2 3 4 5 7 8 9 10 -0 1 2 3 4 5 7 8 9 11 -0 1 2 3 4 5 7 8 9 12 -0 1 2 3 4 5 7 8 9 13 -0 1 2 3 4 5 7 8 9 14 -0 1 2 3 4 5 7 8 9 15 -0 1 2 3 4 5 7 8 10 11 -0 1 2 3 4 5 7 8 10 12 -0 1 2 3 4 5 7 8 10 13 -0 1 2 3 4 5 7 8 10 14 -0 1 2 3 4 5 7 8 10 15 -0 1 2 3 4 5 7 8 11 12 -0 1 2 3 4 5 7 8 11 13 -0 1 2 3 4 5 7 8 11 14 -0 1 2 3 4 5 7 8 11 15 -0 1 2 3 4 5 7 8 12 13 -0 1 2 3 4 5 7 8 12 14 -0 1 2 3 4 5 7 8 12 15 -0 1 2 3 4 5 7 8 13 14 -0 1 2 3 4 5 7 8 13 15 -0 1 2 3 4 5 7 8 14 15 -0 1 2 3 4 5 7 9 10 11 -0 1 2 3 4 5 7 9 10 12 -0 1 2 3 4 5 7 9 10 13 -0 1 2 3 4 5 7 9 10 14 -0 1 2 3 4 5 7 9 10 15 -0 1 2 3 4 5 7 9 11 12 -0 1 2 3 4 5 7 9 11 13 -0 1 2 3 4 5 7 9 11 14 -0 1 2 3 4 5 7 9 11 15 -0 1 2 3 4 5 7 9 12 13 -0 1 2 3 4 5 7 9 12 14 -0 1 2 3 4 5 7 9 12 15 -0 1 2 3 4 5 7 9 13 14 -0 1 2 3 4 5 7 9 13 15 -0 1 2 3 4 5 7 9 14 15 -0 1 2 3 4 5 7 10 11 12 -0 1 2 3 4 5 7 10 11 13 -0 1 2 3 4 5 7 10 11 14 -0 1 2 3 4 5 7 10 11 15 -0 1 2 3 4 5 7 10 12 13 -0 1 2 3 4 5 7 10 12 14 -0 1 2 3 4 5 7 10 12 15 -0 1 2 3 4 5 7 10 13 14 -0 1 2 3 4 5 7 10 13 15 -0 1 2 3 4 5 7 10 14 15 -0 1 2 3 4 5 7 11 12 13 -0 1 2 3 4 5 7 11 12 14 -0 1 2 3 4 5 7 11 12 15 -0 1 2 3 4 5 7 11 13 14 -0 1 2 3 4 5 7 11 13 15 -0 1 2 3 4 5 7 11 14 15 -0 1 2 3 4 5 7 12 13 14 -0 1 2 3 4 5 7 12 13 15 -0 1 2 3 4 5 7 12 14 15 -0 1 2 3 4 5 7 13 14 15 -0 1 2 3 4 5 8 9 10 11 -0 1 2 3 4 5 8 9 10 12 -0 1 2 3 4 5 8 9 10 13 -0 1 2 3 4 5 8 9 10 14 -0 1 2 3 4 5 8 9 10 15 -0 1 2 3 4 5 8 9 11 12 -0 1 2 3 4 5 8 9 11 13 -0 1 2 3 4 5 8 9 11 14 -0 1 2 3 4 5 8 9 11 15 -0 1 2 3 4 5 8 9 12 13 -0 1 2 3 4 5 8 9 12 14 -0 1 2 3 4 5 8 9 12 15 -0 1 2 3 4 5 8 9 13 14 -0 1 2 3 4 5 8 9 13 15 -0 1 2 3 4 5 8 9 14 15 -0 1 2 3 4 5 8 10 11 12 -0 1 2 3 4 5 8 10 11 13 -0 1 2 3 4 5 8 10 11 14 -0 1 2 3 4 5 8 10 11 15 -0 1 2 3 4 5 8 10 12 13 -0 1 2 3 4 5 8 10 12 14 -0 1 2 3 4 5 8 10 12 15 -0 1 2 3 4 5 8 10 13 14 -0 1 2 3 4 5 8 10 13 15 -0 1 2 3 4 5 8 10 14 15 -0 1 2 3 4 5 8 11 12 13 -0 1 2 3 4 5 8 11 12 14 -0 1 2 3 4 5 8 11 12 15 -0 1 2 3 4 5 8 11 13 14 -0 1 2 3 4 5 8 11 13 15 -0 1 2 3 4 5 8 11 14 15 -0 1 2 3 4 5 8 12 13 14 -0 1 2 3 4 5 8 12 13 15 -0 1 2 3 4 5 8 12 14 15 -0 1 2 3 4 5 8 13 14 15 -0 1 2 3 4 5 9 10 11 12 -0 1 2 3 4 5 9 10 11 13 -0 1 2 3 4 5 9 10 11 14 -0 1 2 3 4 5 9 10 11 15 -0 1 2 3 4 5 9 10 12 13 -0 1 2 3 4 5 9 10 12 14 -0 1 2 3 4 5 9 10 12 15 -0 1 2 3 4 5 9 10 13 14 -0 1 2 3 4 5 9 10 13 15 -0 1 2 3 4 5 9 10 14 15 -0 1 2 3 4 5 9 11 12 13 -0 1 2 3 4 5 9 11 12 14 -0 1 2 3 4 5 9 11 12 15 -0 1 2 3 4 5 9 11 13 14 -0 1 2 3 4 5 9 11 13 15 -0 1 2 3 4 5 9 11 14 15 -0 1 2 3 4 5 9 12 13 14 -0 1 2 3 4 5 9 12 13 15 -0 1 2 3 4 5 9 12 14 15 -0 1 2 3 4 5 9 13 14 15 -0 1 2 3 4 5 10 11 12 13 -0 1 2 3 4 5 10 11 12 14 -0 1 2 3 4 5 10 11 12 15 -0 1 2 3 4 5 10 11 13 14 -0 1 2 3 4 5 10 11 13 15 -0 1 2 3 4 5 10 11 14 15 -0 1 2 3 4 5 10 12 13 14 -0 1 2 3 4 5 10 12 13 15 -0 1 2 3 4 5 10 12 14 15 -0 1 2 3 4 5 10 13 14 15 -0 1 2 3 4 5 11 12 13 14 -0 1 2 3 4 5 11 12 13 15 -0 1 2 3 4 5 11 12 14 15 -0 1 2 3 4 5 11 13 14 15 -0 1 2 3 4 5 12 13 14 15 -0 1 2 3 4 6 7 8 9 10 -0 1 2 3 4 6 7 8 9 11 -0 1 2 3 4 6 7 8 9 12 -0 1 2 3 4 6 7 8 9 13 -0 1 2 3 4 6 7 8 9 14 -0 1 2 3 4 6 7 8 9 15 -0 1 2 3 4 6 7 8 10 11 -0 1 2 3 4 6 7 8 10 12 -0 1 2 3 4 6 7 8 10 13 -0 1 2 3 4 6 7 8 10 14 -0 1 2 3 4 6 7 8 10 15 -0 1 2 3 4 6 7 8 11 12 -0 1 2 3 4 6 7 8 11 13 -0 1 2 3 4 6 7 8 11 14 -0 1 2 3 4 6 7 8 11 15 -0 1 2 3 4 6 7 8 12 13 -0 1 2 3 4 6 7 8 12 14 -0 1 2 3 4 6 7 8 12 15 -0 1 2 3 4 6 7 8 13 14 -0 1 2 3 4 6 7 8 13 15 -0 1 2 3 4 6 7 8 14 15 -0 1 2 3 4 6 7 9 10 11 -0 1 2 3 4 6 7 9 10 12 -0 1 2 3 4 6 7 9 10 13 -0 1 2 3 4 6 7 9 10 14 -0 1 2 3 4 6 7 9 10 15 -0 1 2 3 4 6 7 9 11 12 -0 1 2 3 4 6 7 9 11 13 -0 1 2 3 4 6 7 9 11 14 -0 1 2 3 4 6 7 9 11 15 -0 1 2 3 4 6 7 9 12 13 -0 1 2 3 4 6 7 9 12 14 -0 1 2 3 4 6 7 9 12 15 -0 1 2 3 4 6 7 9 13 14 -0 1 2 3 4 6 7 9 13 15 -0 1 2 3 4 6 7 9 14 15 -0 1 2 3 4 6 7 10 11 12 -0 1 2 3 4 6 7 10 11 13 -0 1 2 3 4 6 7 10 11 14 -0 1 2 3 4 6 7 10 11 15 -0 1 2 3 4 6 7 10 12 13 -0 1 2 3 4 6 7 10 12 14 -0 1 2 3 4 6 7 10 12 15 -0 1 2 3 4 6 7 10 13 14 -0 1 2 3 4 6 7 10 13 15 -0 1 2 3 4 6 7 10 14 15 -0 1 2 3 4 6 7 11 12 13 -0 1 2 3 4 6 7 11 12 14 -0 1 2 3 4 6 7 11 12 15 -0 1 2 3 4 6 7 11 13 14 -0 1 2 3 4 6 7 11 13 15 -0 1 2 3 4 6 7 11 14 15 -0 1 2 3 4 6 7 12 13 14 -0 1 2 3 4 6 7 12 13 15 -0 1 2 3 4 6 7 12 14 15 -0 1 2 3 4 6 7 13 14 15 -0 1 2 3 4 6 8 9 10 11 -0 1 2 3 4 6 8 9 10 12 -0 1 2 3 4 6 8 9 10 13 -0 1 2 3 4 6 8 9 10 14 -0 1 2 3 4 6 8 9 10 15 -0 1 2 3 4 6 8 9 11 12 -0 1 2 3 4 6 8 9 11 13 -0 1 2 3 4 6 8 9 11 14 -0 1 2 3 4 6 8 9 11 15 -0 1 2 3 4 6 8 9 12 13 -0 1 2 3 4 6 8 9 12 14 -0 1 2 3 4 6 8 9 12 15 -0 1 2 3 4 6 8 9 13 14 -0 1 2 3 4 6 8 9 13 15 -0 1 2 3 4 6 8 9 14 15 -0 1 2 3 4 6 8 10 11 12 -0 1 2 3 4 6 8 10 11 13 -0 1 2 3 4 6 8 10 11 14 -0 1 2 3 4 6 8 10 11 15 -0 1 2 3 4 6 8 10 12 13 -0 1 2 3 4 6 8 10 12 14 -0 1 2 3 4 6 8 10 12 15 -0 1 2 3 4 6 8 10 13 14 -0 1 2 3 4 6 8 10 13 15 -0 1 2 3 4 6 8 10 14 15 -0 1 2 3 4 6 8 11 12 13 -0 1 2 3 4 6 8 11 12 14 -0 1 2 3 4 6 8 11 12 15 -0 1 2 3 4 6 8 11 13 14 -0 1 2 3 4 6 8 11 13 15 -0 1 2 3 4 6 8 11 14 15 -0 1 2 3 4 6 8 12 13 14 -0 1 2 3 4 6 8 12 13 15 -0 1 2 3 4 6 8 12 14 15 -0 1 2 3 4 6 8 13 14 15 -0 1 2 3 4 6 9 10 11 12 -0 1 2 3 4 6 9 10 11 13 -0 1 2 3 4 6 9 10 11 14 -0 1 2 3 4 6 9 10 11 15 -0 1 2 3 4 6 9 10 12 13 -0 1 2 3 4 6 9 10 12 14 -0 1 2 3 4 6 9 10 12 15 -0 1 2 3 4 6 9 10 13 14 -0 1 2 3 4 6 9 10 13 15 -0 1 2 3 4 6 9 10 14 15 -0 1 2 3 4 6 9 11 12 13 -0 1 2 3 4 6 9 11 12 14 -0 1 2 3 4 6 9 11 12 15 -0 1 2 3 4 6 9 11 13 14 -0 1 2 3 4 6 9 11 13 15 -0 1 2 3 4 6 9 11 14 15 -0 1 2 3 4 6 9 12 13 14 -0 1 2 3 4 6 9 12 13 15 -0 1 2 3 4 6 9 12 14 15 -0 1 2 3 4 6 9 13 14 15 -0 1 2 3 4 6 10 11 12 13 -0 1 2 3 4 6 10 11 12 14 -0 1 2 3 4 6 10 11 12 15 -0 1 2 3 4 6 10 11 13 14 -0 1 2 3 4 6 10 11 13 15 -0 1 2 3 4 6 10 11 14 15 -0 1 2 3 4 6 10 12 13 14 -0 1 2 3 4 6 10 12 13 15 -0 1 2 3 4 6 10 12 14 15 -0 1 2 3 4 6 10 13 14 15 -0 1 2 3 4 6 11 12 13 14 -0 1 2 3 4 6 11 12 13 15 -0 1 2 3 4 6 11 12 14 15 -0 1 2 3 4 6 11 13 14 15 -0 1 2 3 4 6 12 13 14 15 -0 1 2 3 4 7 8 9 10 11 -0 1 2 3 4 7 8 9 10 12 -0 1 2 3 4 7 8 9 10 13 -0 1 2 3 4 7 8 9 10 14 -0 1 2 3 4 7 8 9 10 15 -0 1 2 3 4 7 8 9 11 12 -0 1 2 3 4 7 8 9 11 13 -0 1 2 3 4 7 8 9 11 14 -0 1 2 3 4 7 8 9 11 15 -0 1 2 3 4 7 8 9 12 13 -0 1 2 3 4 7 8 9 12 14 -0 1 2 3 4 7 8 9 12 15 -0 1 2 3 4 7 8 9 13 14 -0 1 2 3 4 7 8 9 13 15 -0 1 2 3 4 7 8 9 14 15 -0 1 2 3 4 7 8 10 11 12 -0 1 2 3 4 7 8 10 11 13 -0 1 2 3 4 7 8 10 11 14 -0 1 2 3 4 7 8 10 11 15 -0 1 2 3 4 7 8 10 12 13 -0 1 2 3 4 7 8 10 12 14 -0 1 2 3 4 7 8 10 12 15 -0 1 2 3 4 7 8 10 13 14 -0 1 2 3 4 7 8 10 13 15 -0 1 2 3 4 7 8 10 14 15 -0 1 2 3 4 7 8 11 12 13 -0 1 2 3 4 7 8 11 12 14 -0 1 2 3 4 7 8 11 12 15 -0 1 2 3 4 7 8 11 13 14 -0 1 2 3 4 7 8 11 13 15 -0 1 2 3 4 7 8 11 14 15 -0 1 2 3 4 7 8 12 13 14 -0 1 2 3 4 7 8 12 13 15 -0 1 2 3 4 7 8 12 14 15 -0 1 2 3 4 7 8 13 14 15 -0 1 2 3 4 7 9 10 11 12 -0 1 2 3 4 7 9 10 11 13 -0 1 2 3 4 7 9 10 11 14 -0 1 2 3 4 7 9 10 11 15 -0 1 2 3 4 7 9 10 12 13 -0 1 2 3 4 7 9 10 12 14 -0 1 2 3 4 7 9 10 12 15 -0 1 2 3 4 7 9 10 13 14 -0 1 2 3 4 7 9 10 13 15 -0 1 2 3 4 7 9 10 14 15 -0 1 2 3 4 7 9 11 12 13 -0 1 2 3 4 7 9 11 12 14 -0 1 2 3 4 7 9 11 12 15 -0 1 2 3 4 7 9 11 13 14 -0 1 2 3 4 7 9 11 13 15 -0 1 2 3 4 7 9 11 14 15 -0 1 2 3 4 7 9 12 13 14 -0 1 2 3 4 7 9 12 13 15 -0 1 2 3 4 7 9 12 14 15 -0 1 2 3 4 7 9 13 14 15 -0 1 2 3 4 7 10 11 12 13 -0 1 2 3 4 7 10 11 12 14 -0 1 2 3 4 7 10 11 12 15 -0 1 2 3 4 7 10 11 13 14 -0 1 2 3 4 7 10 11 13 15 -0 1 2 3 4 7 10 11 14 15 -0 1 2 3 4 7 10 12 13 14 -0 1 2 3 4 7 10 12 13 15 -0 1 2 3 4 7 10 12 14 15 -0 1 2 3 4 7 10 13 14 15 -0 1 2 3 4 7 11 12 13 14 -0 1 2 3 4 7 11 12 13 15 -0 1 2 3 4 7 11 12 14 15 -0 1 2 3 4 7 11 13 14 15 -0 1 2 3 4 7 12 13 14 15 -0 1 2 3 4 8 9 10 11 12 -0 1 2 3 4 8 9 10 11 13 -0 1 2 3 4 8 9 10 11 14 -0 1 2 3 4 8 9 10 11 15 -0 1 2 3 4 8 9 10 12 13 -0 1 2 3 4 8 9 10 12 14 -0 1 2 3 4 8 9 10 12 15 -0 1 2 3 4 8 9 10 13 14 -0 1 2 3 4 8 9 10 13 15 -0 1 2 3 4 8 9 10 14 15 -0 1 2 3 4 8 9 11 12 13 -0 1 2 3 4 8 9 11 12 14 -0 1 2 3 4 8 9 11 12 15 -0 1 2 3 4 8 9 11 13 14 -0 1 2 3 4 8 9 11 13 15 -0 1 2 3 4 8 9 11 14 15 -0 1 2 3 4 8 9 12 13 14 -0 1 2 3 4 8 9 12 13 15 -0 1 2 3 4 8 9 12 14 15 -0 1 2 3 4 8 9 13 14 15 -0 1 2 3 4 8 10 11 12 13 -0 1 2 3 4 8 10 11 12 14 -0 1 2 3 4 8 10 11 12 15 -0 1 2 3 4 8 10 11 13 14 -0 1 2 3 4 8 10 11 13 15 -0 1 2 3 4 8 10 11 14 15 -0 1 2 3 4 8 10 12 13 14 -0 1 2 3 4 8 10 12 13 15 -0 1 2 3 4 8 10 12 14 15 -0 1 2 3 4 8 10 13 14 15 -0 1 2 3 4 8 11 12 13 14 -0 1 2 3 4 8 11 12 13 15 -0 1 2 3 4 8 11 12 14 15 -0 1 2 3 4 8 11 13 14 15 -0 1 2 3 4 8 12 13 14 15 -0 1 2 3 4 9 10 11 12 13 -0 1 2 3 4 9 10 11 12 14 -0 1 2 3 4 9 10 11 12 15 -0 1 2 3 4 9 10 11 13 14 -0 1 2 3 4 9 10 11 13 15 -0 1 2 3 4 9 10 11 14 15 -0 1 2 3 4 9 10 12 13 14 -0 1 2 3 4 9 10 12 13 15 -0 1 2 3 4 9 10 12 14 15 -0 1 2 3 4 9 10 13 14 15 -0 1 2 3 4 9 11 12 13 14 -0 1 2 3 4 9 11 12 13 15 -0 1 2 3 4 9 11 12 14 15 -0 1 2 3 4 9 11 13 14 15 -0 1 2 3 4 9 12 13 14 15 -0 1 2 3 4 10 11 12 13 14 -0 1 2 3 4 10 11 12 13 15 -0 1 2 3 4 10 11 12 14 15 -0 1 2 3 4 10 11 13 14 15 -0 1 2 3 4 10 12 13 14 15 -0 1 2 3 4 11 12 13 14 15 -0 1 2 3 5 6 7 8 9 10 -0 1 2 3 5 6 7 8 9 11 -0 1 2 3 5 6 7 8 9 12 -0 1 2 3 5 6 7 8 9 13 -0 1 2 3 5 6 7 8 9 14 -0 1 2 3 5 6 7 8 9 15 -0 1 2 3 5 6 7 8 10 11 -0 1 2 3 5 6 7 8 10 12 -0 1 2 3 5 6 7 8 10 13 -0 1 2 3 5 6 7 8 10 14 -0 1 2 3 5 6 7 8 10 15 -0 1 2 3 5 6 7 8 11 12 -0 1 2 3 5 6 7 8 11 13 -0 1 2 3 5 6 7 8 11 14 -0 1 2 3 5 6 7 8 11 15 -0 1 2 3 5 6 7 8 12 13 -0 1 2 3 5 6 7 8 12 14 -0 1 2 3 5 6 7 8 12 15 -0 1 2 3 5 6 7 8 13 14 -0 1 2 3 5 6 7 8 13 15 -0 1 2 3 5 6 7 8 14 15 -0 1 2 3 5 6 7 9 10 11 -0 1 2 3 5 6 7 9 10 12 -0 1 2 3 5 6 7 9 10 13 -0 1 2 3 5 6 7 9 10 14 -0 1 2 3 5 6 7 9 10 15 -0 1 2 3 5 6 7 9 11 12 -0 1 2 3 5 6 7 9 11 13 -0 1 2 3 5 6 7 9 11 14 -0 1 2 3 5 6 7 9 11 15 -0 1 2 3 5 6 7 9 12 13 -0 1 2 3 5 6 7 9 12 14 -0 1 2 3 5 6 7 9 12 15 -0 1 2 3 5 6 7 9 13 14 -0 1 2 3 5 6 7 9 13 15 -0 1 2 3 5 6 7 9 14 15 -0 1 2 3 5 6 7 10 11 12 -0 1 2 3 5 6 7 10 11 13 -0 1 2 3 5 6 7 10 11 14 -0 1 2 3 5 6 7 10 11 15 -0 1 2 3 5 6 7 10 12 13 -0 1 2 3 5 6 7 10 12 14 -0 1 2 3 5 6 7 10 12 15 -0 1 2 3 5 6 7 10 13 14 -0 1 2 3 5 6 7 10 13 15 -0 1 2 3 5 6 7 10 14 15 -0 1 2 3 5 6 7 11 12 13 -0 1 2 3 5 6 7 11 12 14 -0 1 2 3 5 6 7 11 12 15 -0 1 2 3 5 6 7 11 13 14 -0 1 2 3 5 6 7 11 13 15 -0 1 2 3 5 6 7 11 14 15 -0 1 2 3 5 6 7 12 13 14 -0 1 2 3 5 6 7 12 13 15 -0 1 2 3 5 6 7 12 14 15 -0 1 2 3 5 6 7 13 14 15 -0 1 2 3 5 6 8 9 10 11 -0 1 2 3 5 6 8 9 10 12 -0 1 2 3 5 6 8 9 10 13 -0 1 2 3 5 6 8 9 10 14 -0 1 2 3 5 6 8 9 10 15 -0 1 2 3 5 6 8 9 11 12 -0 1 2 3 5 6 8 9 11 13 -0 1 2 3 5 6 8 9 11 14 -0 1 2 3 5 6 8 9 11 15 -0 1 2 3 5 6 8 9 12 13 -0 1 2 3 5 6 8 9 12 14 -0 1 2 3 5 6 8 9 12 15 -0 1 2 3 5 6 8 9 13 14 -0 1 2 3 5 6 8 9 13 15 -0 1 2 3 5 6 8 9 14 15 -0 1 2 3 5 6 8 10 11 12 -0 1 2 3 5 6 8 10 11 13 -0 1 2 3 5 6 8 10 11 14 -0 1 2 3 5 6 8 10 11 15 -0 1 2 3 5 6 8 10 12 13 -0 1 2 3 5 6 8 10 12 14 -0 1 2 3 5 6 8 10 12 15 -0 1 2 3 5 6 8 10 13 14 -0 1 2 3 5 6 8 10 13 15 -0 1 2 3 5 6 8 10 14 15 -0 1 2 3 5 6 8 11 12 13 -0 1 2 3 5 6 8 11 12 14 -0 1 2 3 5 6 8 11 12 15 -0 1 2 3 5 6 8 11 13 14 -0 1 2 3 5 6 8 11 13 15 -0 1 2 3 5 6 8 11 14 15 -0 1 2 3 5 6 8 12 13 14 -0 1 2 3 5 6 8 12 13 15 -0 1 2 3 5 6 8 12 14 15 -0 1 2 3 5 6 8 13 14 15 -0 1 2 3 5 6 9 10 11 12 -0 1 2 3 5 6 9 10 11 13 -0 1 2 3 5 6 9 10 11 14 -0 1 2 3 5 6 9 10 11 15 -0 1 2 3 5 6 9 10 12 13 -0 1 2 3 5 6 9 10 12 14 -0 1 2 3 5 6 9 10 12 15 -0 1 2 3 5 6 9 10 13 14 -0 1 2 3 5 6 9 10 13 15 -0 1 2 3 5 6 9 10 14 15 -0 1 2 3 5 6 9 11 12 13 -0 1 2 3 5 6 9 11 12 14 -0 1 2 3 5 6 9 11 12 15 -0 1 2 3 5 6 9 11 13 14 -0 1 2 3 5 6 9 11 13 15 -0 1 2 3 5 6 9 11 14 15 -0 1 2 3 5 6 9 12 13 14 -0 1 2 3 5 6 9 12 13 15 -0 1 2 3 5 6 9 12 14 15 -0 1 2 3 5 6 9 13 14 15 -0 1 2 3 5 6 10 11 12 13 -0 1 2 3 5 6 10 11 12 14 -0 1 2 3 5 6 10 11 12 15 -0 1 2 3 5 6 10 11 13 14 -0 1 2 3 5 6 10 11 13 15 -0 1 2 3 5 6 10 11 14 15 -0 1 2 3 5 6 10 12 13 14 -0 1 2 3 5 6 10 12 13 15 -0 1 2 3 5 6 10 12 14 15 -0 1 2 3 5 6 10 13 14 15 -0 1 2 3 5 6 11 12 13 14 -0 1 2 3 5 6 11 12 13 15 -0 1 2 3 5 6 11 12 14 15 -0 1 2 3 5 6 11 13 14 15 -0 1 2 3 5 6 12 13 14 15 -0 1 2 3 5 7 8 9 10 11 -0 1 2 3 5 7 8 9 10 12 -0 1 2 3 5 7 8 9 10 13 -0 1 2 3 5 7 8 9 10 14 -0 1 2 3 5 7 8 9 10 15 -0 1 2 3 5 7 8 9 11 12 -0 1 2 3 5 7 8 9 11 13 -0 1 2 3 5 7 8 9 11 14 -0 1 2 3 5 7 8 9 11 15 -0 1 2 3 5 7 8 9 12 13 -0 1 2 3 5 7 8 9 12 14 -0 1 2 3 5 7 8 9 12 15 -0 1 2 3 5 7 8 9 13 14 -0 1 2 3 5 7 8 9 13 15 -0 1 2 3 5 7 8 9 14 15 -0 1 2 3 5 7 8 10 11 12 -0 1 2 3 5 7 8 10 11 13 -0 1 2 3 5 7 8 10 11 14 -0 1 2 3 5 7 8 10 11 15 -0 1 2 3 5 7 8 10 12 13 -0 1 2 3 5 7 8 10 12 14 -0 1 2 3 5 7 8 10 12 15 -0 1 2 3 5 7 8 10 13 14 -0 1 2 3 5 7 8 10 13 15 -0 1 2 3 5 7 8 10 14 15 -0 1 2 3 5 7 8 11 12 13 -0 1 2 3 5 7 8 11 12 14 -0 1 2 3 5 7 8 11 12 15 -0 1 2 3 5 7 8 11 13 14 -0 1 2 3 5 7 8 11 13 15 -0 1 2 3 5 7 8 11 14 15 -0 1 2 3 5 7 8 12 13 14 -0 1 2 3 5 7 8 12 13 15 -0 1 2 3 5 7 8 12 14 15 -0 1 2 3 5 7 8 13 14 15 -0 1 2 3 5 7 9 10 11 12 -0 1 2 3 5 7 9 10 11 13 -0 1 2 3 5 7 9 10 11 14 -0 1 2 3 5 7 9 10 11 15 -0 1 2 3 5 7 9 10 12 13 -0 1 2 3 5 7 9 10 12 14 -0 1 2 3 5 7 9 10 12 15 -0 1 2 3 5 7 9 10 13 14 -0 1 2 3 5 7 9 10 13 15 -0 1 2 3 5 7 9 10 14 15 -0 1 2 3 5 7 9 11 12 13 -0 1 2 3 5 7 9 11 12 14 -0 1 2 3 5 7 9 11 12 15 -0 1 2 3 5 7 9 11 13 14 -0 1 2 3 5 7 9 11 13 15 -0 1 2 3 5 7 9 11 14 15 -0 1 2 3 5 7 9 12 13 14 -0 1 2 3 5 7 9 12 13 15 -0 1 2 3 5 7 9 12 14 15 -0 1 2 3 5 7 9 13 14 15 -0 1 2 3 5 7 10 11 12 13 -0 1 2 3 5 7 10 11 12 14 -0 1 2 3 5 7 10 11 12 15 -0 1 2 3 5 7 10 11 13 14 -0 1 2 3 5 7 10 11 13 15 -0 1 2 3 5 7 10 11 14 15 -0 1 2 3 5 7 10 12 13 14 -0 1 2 3 5 7 10 12 13 15 -0 1 2 3 5 7 10 12 14 15 -0 1 2 3 5 7 10 13 14 15 -0 1 2 3 5 7 11 12 13 14 -0 1 2 3 5 7 11 12 13 15 -0 1 2 3 5 7 11 12 14 15 -0 1 2 3 5 7 11 13 14 15 -0 1 2 3 5 7 12 13 14 15 -0 1 2 3 5 8 9 10 11 12 -0 1 2 3 5 8 9 10 11 13 -0 1 2 3 5 8 9 10 11 14 -0 1 2 3 5 8 9 10 11 15 -0 1 2 3 5 8 9 10 12 13 -0 1 2 3 5 8 9 10 12 14 -0 1 2 3 5 8 9 10 12 15 -0 1 2 3 5 8 9 10 13 14 -0 1 2 3 5 8 9 10 13 15 -0 1 2 3 5 8 9 10 14 15 -0 1 2 3 5 8 9 11 12 13 -0 1 2 3 5 8 9 11 12 14 -0 1 2 3 5 8 9 11 12 15 -0 1 2 3 5 8 9 11 13 14 -0 1 2 3 5 8 9 11 13 15 -0 1 2 3 5 8 9 11 14 15 -0 1 2 3 5 8 9 12 13 14 -0 1 2 3 5 8 9 12 13 15 -0 1 2 3 5 8 9 12 14 15 -0 1 2 3 5 8 9 13 14 15 -0 1 2 3 5 8 10 11 12 13 -0 1 2 3 5 8 10 11 12 14 -0 1 2 3 5 8 10 11 12 15 -0 1 2 3 5 8 10 11 13 14 -0 1 2 3 5 8 10 11 13 15 -0 1 2 3 5 8 10 11 14 15 -0 1 2 3 5 8 10 12 13 14 -0 1 2 3 5 8 10 12 13 15 -0 1 2 3 5 8 10 12 14 15 -0 1 2 3 5 8 10 13 14 15 -0 1 2 3 5 8 11 12 13 14 -0 1 2 3 5 8 11 12 13 15 -0 1 2 3 5 8 11 12 14 15 -0 1 2 3 5 8 11 13 14 15 -0 1 2 3 5 8 12 13 14 15 -0 1 2 3 5 9 10 11 12 13 -0 1 2 3 5 9 10 11 12 14 -0 1 2 3 5 9 10 11 12 15 -0 1 2 3 5 9 10 11 13 14 -0 1 2 3 5 9 10 11 13 15 -0 1 2 3 5 9 10 11 14 15 -0 1 2 3 5 9 10 12 13 14 -0 1 2 3 5 9 10 12 13 15 -0 1 2 3 5 9 10 12 14 15 -0 1 2 3 5 9 10 13 14 15 -0 1 2 3 5 9 11 12 13 14 -0 1 2 3 5 9 11 12 13 15 -0 1 2 3 5 9 11 12 14 15 -0 1 2 3 5 9 11 13 14 15 -0 1 2 3 5 9 12 13 14 15 -0 1 2 3 5 10 11 12 13 14 -0 1 2 3 5 10 11 12 13 15 -0 1 2 3 5 10 11 12 14 15 -0 1 2 3 5 10 11 13 14 15 -0 1 2 3 5 10 12 13 14 15 -0 1 2 3 5 11 12 13 14 15 -0 1 2 3 6 7 8 9 10 11 -0 1 2 3 6 7 8 9 10 12 -0 1 2 3 6 7 8 9 10 13 -0 1 2 3 6 7 8 9 10 14 -0 1 2 3 6 7 8 9 10 15 -0 1 2 3 6 7 8 9 11 12 -0 1 2 3 6 7 8 9 11 13 -0 1 2 3 6 7 8 9 11 14 -0 1 2 3 6 7 8 9 11 15 -0 1 2 3 6 7 8 9 12 13 -0 1 2 3 6 7 8 9 12 14 -0 1 2 3 6 7 8 9 12 15 -0 1 2 3 6 7 8 9 13 14 -0 1 2 3 6 7 8 9 13 15 -0 1 2 3 6 7 8 9 14 15 -0 1 2 3 6 7 8 10 11 12 -0 1 2 3 6 7 8 10 11 13 -0 1 2 3 6 7 8 10 11 14 -0 1 2 3 6 7 8 10 11 15 -0 1 2 3 6 7 8 10 12 13 -0 1 2 3 6 7 8 10 12 14 -0 1 2 3 6 7 8 10 12 15 -0 1 2 3 6 7 8 10 13 14 -0 1 2 3 6 7 8 10 13 15 -0 1 2 3 6 7 8 10 14 15 -0 1 2 3 6 7 8 11 12 13 -0 1 2 3 6 7 8 11 12 14 -0 1 2 3 6 7 8 11 12 15 -0 1 2 3 6 7 8 11 13 14 -0 1 2 3 6 7 8 11 13 15 -0 1 2 3 6 7 8 11 14 15 -0 1 2 3 6 7 8 12 13 14 -0 1 2 3 6 7 8 12 13 15 -0 1 2 3 6 7 8 12 14 15 -0 1 2 3 6 7 8 13 14 15 -0 1 2 3 6 7 9 10 11 12 -0 1 2 3 6 7 9 10 11 13 -0 1 2 3 6 7 9 10 11 14 -0 1 2 3 6 7 9 10 11 15 -0 1 2 3 6 7 9 10 12 13 -0 1 2 3 6 7 9 10 12 14 -0 1 2 3 6 7 9 10 12 15 -0 1 2 3 6 7 9 10 13 14 -0 1 2 3 6 7 9 10 13 15 -0 1 2 3 6 7 9 10 14 15 -0 1 2 3 6 7 9 11 12 13 -0 1 2 3 6 7 9 11 12 14 -0 1 2 3 6 7 9 11 12 15 -0 1 2 3 6 7 9 11 13 14 -0 1 2 3 6 7 9 11 13 15 -0 1 2 3 6 7 9 11 14 15 -0 1 2 3 6 7 9 12 13 14 -0 1 2 3 6 7 9 12 13 15 -0 1 2 3 6 7 9 12 14 15 -0 1 2 3 6 7 9 13 14 15 -0 1 2 3 6 7 10 11 12 13 -0 1 2 3 6 7 10 11 12 14 -0 1 2 3 6 7 10 11 12 15 -0 1 2 3 6 7 10 11 13 14 -0 1 2 3 6 7 10 11 13 15 -0 1 2 3 6 7 10 11 14 15 -0 1 2 3 6 7 10 12 13 14 -0 1 2 3 6 7 10 12 13 15 -0 1 2 3 6 7 10 12 14 15 -0 1 2 3 6 7 10 13 14 15 -0 1 2 3 6 7 11 12 13 14 -0 1 2 3 6 7 11 12 13 15 -0 1 2 3 6 7 11 12 14 15 -0 1 2 3 6 7 11 13 14 15 -0 1 2 3 6 7 12 13 14 15 -0 1 2 3 6 8 9 10 11 12 -0 1 2 3 6 8 9 10 11 13 -0 1 2 3 6 8 9 10 11 14 -0 1 2 3 6 8 9 10 11 15 -0 1 2 3 6 8 9 10 12 13 -0 1 2 3 6 8 9 10 12 14 -0 1 2 3 6 8 9 10 12 15 -0 1 2 3 6 8 9 10 13 14 -0 1 2 3 6 8 9 10 13 15 -0 1 2 3 6 8 9 10 14 15 -0 1 2 3 6 8 9 11 12 13 -0 1 2 3 6 8 9 11 12 14 -0 1 2 3 6 8 9 11 12 15 -0 1 2 3 6 8 9 11 13 14 -0 1 2 3 6 8 9 11 13 15 -0 1 2 3 6 8 9 11 14 15 -0 1 2 3 6 8 9 12 13 14 -0 1 2 3 6 8 9 12 13 15 -0 1 2 3 6 8 9 12 14 15 -0 1 2 3 6 8 9 13 14 15 -0 1 2 3 6 8 10 11 12 13 -0 1 2 3 6 8 10 11 12 14 -0 1 2 3 6 8 10 11 12 15 -0 1 2 3 6 8 10 11 13 14 -0 1 2 3 6 8 10 11 13 15 -0 1 2 3 6 8 10 11 14 15 -0 1 2 3 6 8 10 12 13 14 -0 1 2 3 6 8 10 12 13 15 -0 1 2 3 6 8 10 12 14 15 -0 1 2 3 6 8 10 13 14 15 -0 1 2 3 6 8 11 12 13 14 -0 1 2 3 6 8 11 12 13 15 -0 1 2 3 6 8 11 12 14 15 -0 1 2 3 6 8 11 13 14 15 -0 1 2 3 6 8 12 13 14 15 -0 1 2 3 6 9 10 11 12 13 -0 1 2 3 6 9 10 11 12 14 -0 1 2 3 6 9 10 11 12 15 -0 1 2 3 6 9 10 11 13 14 -0 1 2 3 6 9 10 11 13 15 -0 1 2 3 6 9 10 11 14 15 -0 1 2 3 6 9 10 12 13 14 -0 1 2 3 6 9 10 12 13 15 -0 1 2 3 6 9 10 12 14 15 -0 1 2 3 6 9 10 13 14 15 -0 1 2 3 6 9 11 12 13 14 -0 1 2 3 6 9 11 12 13 15 -0 1 2 3 6 9 11 12 14 15 -0 1 2 3 6 9 11 13 14 15 -0 1 2 3 6 9 12 13 14 15 -0 1 2 3 6 10 11 12 13 14 -0 1 2 3 6 10 11 12 13 15 -0 1 2 3 6 10 11 12 14 15 -0 1 2 3 6 10 11 13 14 15 -0 1 2 3 6 10 12 13 14 15 -0 1 2 3 6 11 12 13 14 15 -0 1 2 3 7 8 9 10 11 12 -0 1 2 3 7 8 9 10 11 13 -0 1 2 3 7 8 9 10 11 14 -0 1 2 3 7 8 9 10 11 15 -0 1 2 3 7 8 9 10 12 13 -0 1 2 3 7 8 9 10 12 14 -0 1 2 3 7 8 9 10 12 15 -0 1 2 3 7 8 9 10 13 14 -0 1 2 3 7 8 9 10 13 15 -0 1 2 3 7 8 9 10 14 15 -0 1 2 3 7 8 9 11 12 13 -0 1 2 3 7 8 9 11 12 14 -0 1 2 3 7 8 9 11 12 15 -0 1 2 3 7 8 9 11 13 14 -0 1 2 3 7 8 9 11 13 15 -0 1 2 3 7 8 9 11 14 15 -0 1 2 3 7 8 9 12 13 14 -0 1 2 3 7 8 9 12 13 15 -0 1 2 3 7 8 9 12 14 15 -0 1 2 3 7 8 9 13 14 15 -0 1 2 3 7 8 10 11 12 13 -0 1 2 3 7 8 10 11 12 14 -0 1 2 3 7 8 10 11 12 15 -0 1 2 3 7 8 10 11 13 14 -0 1 2 3 7 8 10 11 13 15 -0 1 2 3 7 8 10 11 14 15 -0 1 2 3 7 8 10 12 13 14 -0 1 2 3 7 8 10 12 13 15 -0 1 2 3 7 8 10 12 14 15 -0 1 2 3 7 8 10 13 14 15 -0 1 2 3 7 8 11 12 13 14 -0 1 2 3 7 8 11 12 13 15 -0 1 2 3 7 8 11 12 14 15 -0 1 2 3 7 8 11 13 14 15 -0 1 2 3 7 8 12 13 14 15 -0 1 2 3 7 9 10 11 12 13 -0 1 2 3 7 9 10 11 12 14 -0 1 2 3 7 9 10 11 12 15 -0 1 2 3 7 9 10 11 13 14 -0 1 2 3 7 9 10 11 13 15 -0 1 2 3 7 9 10 11 14 15 -0 1 2 3 7 9 10 12 13 14 -0 1 2 3 7 9 10 12 13 15 -0 1 2 3 7 9 10 12 14 15 -0 1 2 3 7 9 10 13 14 15 -0 1 2 3 7 9 11 12 13 14 -0 1 2 3 7 9 11 12 13 15 -0 1 2 3 7 9 11 12 14 15 -0 1 2 3 7 9 11 13 14 15 -0 1 2 3 7 9 12 13 14 15 -0 1 2 3 7 10 11 12 13 14 -0 1 2 3 7 10 11 12 13 15 -0 1 2 3 7 10 11 12 14 15 -0 1 2 3 7 10 11 13 14 15 -0 1 2 3 7 10 12 13 14 15 -0 1 2 3 7 11 12 13 14 15 -0 1 2 3 8 9 10 11 12 13 -0 1 2 3 8 9 10 11 12 14 -0 1 2 3 8 9 10 11 12 15 -0 1 2 3 8 9 10 11 13 14 -0 1 2 3 8 9 10 11 13 15 -0 1 2 3 8 9 10 11 14 15 -0 1 2 3 8 9 10 12 13 14 -0 1 2 3 8 9 10 12 13 15 -0 1 2 3 8 9 10 12 14 15 -0 1 2 3 8 9 10 13 14 15 -0 1 2 3 8 9 11 12 13 14 -0 1 2 3 8 9 11 12 13 15 -0 1 2 3 8 9 11 12 14 15 -0 1 2 3 8 9 11 13 14 15 -0 1 2 3 8 9 12 13 14 15 -0 1 2 3 8 10 11 12 13 14 -0 1 2 3 8 10 11 12 13 15 -0 1 2 3 8 10 11 12 14 15 -0 1 2 3 8 10 11 13 14 15 -0 1 2 3 8 10 12 13 14 15 -0 1 2 3 8 11 12 13 14 15 -0 1 2 3 9 10 11 12 13 14 -0 1 2 3 9 10 11 12 13 15 -0 1 2 3 9 10 11 12 14 15 -0 1 2 3 9 10 11 13 14 15 -0 1 2 3 9 10 12 13 14 15 -0 1 2 3 9 11 12 13 14 15 -0 1 2 3 10 11 12 13 14 15 -0 1 2 4 5 6 7 8 9 10 -0 1 2 4 5 6 7 8 9 11 -0 1 2 4 5 6 7 8 9 12 -0 1 2 4 5 6 7 8 9 13 -0 1 2 4 5 6 7 8 9 14 -0 1 2 4 5 6 7 8 9 15 -0 1 2 4 5 6 7 8 10 11 -0 1 2 4 5 6 7 8 10 12 -0 1 2 4 5 6 7 8 10 13 -0 1 2 4 5 6 7 8 10 14 -0 1 2 4 5 6 7 8 10 15 -0 1 2 4 5 6 7 8 11 12 -0 1 2 4 5 6 7 8 11 13 -0 1 2 4 5 6 7 8 11 14 -0 1 2 4 5 6 7 8 11 15 -0 1 2 4 5 6 7 8 12 13 -0 1 2 4 5 6 7 8 12 14 -0 1 2 4 5 6 7 8 12 15 -0 1 2 4 5 6 7 8 13 14 -0 1 2 4 5 6 7 8 13 15 -0 1 2 4 5 6 7 8 14 15 -0 1 2 4 5 6 7 9 10 11 -0 1 2 4 5 6 7 9 10 12 -0 1 2 4 5 6 7 9 10 13 -0 1 2 4 5 6 7 9 10 14 -0 1 2 4 5 6 7 9 10 15 -0 1 2 4 5 6 7 9 11 12 -0 1 2 4 5 6 7 9 11 13 -0 1 2 4 5 6 7 9 11 14 -0 1 2 4 5 6 7 9 11 15 -0 1 2 4 5 6 7 9 12 13 -0 1 2 4 5 6 7 9 12 14 -0 1 2 4 5 6 7 9 12 15 -0 1 2 4 5 6 7 9 13 14 -0 1 2 4 5 6 7 9 13 15 -0 1 2 4 5 6 7 9 14 15 -0 1 2 4 5 6 7 10 11 12 -0 1 2 4 5 6 7 10 11 13 -0 1 2 4 5 6 7 10 11 14 -0 1 2 4 5 6 7 10 11 15 -0 1 2 4 5 6 7 10 12 13 -0 1 2 4 5 6 7 10 12 14 -0 1 2 4 5 6 7 10 12 15 -0 1 2 4 5 6 7 10 13 14 -0 1 2 4 5 6 7 10 13 15 -0 1 2 4 5 6 7 10 14 15 -0 1 2 4 5 6 7 11 12 13 -0 1 2 4 5 6 7 11 12 14 -0 1 2 4 5 6 7 11 12 15 -0 1 2 4 5 6 7 11 13 14 -0 1 2 4 5 6 7 11 13 15 -0 1 2 4 5 6 7 11 14 15 -0 1 2 4 5 6 7 12 13 14 -0 1 2 4 5 6 7 12 13 15 -0 1 2 4 5 6 7 12 14 15 -0 1 2 4 5 6 7 13 14 15 -0 1 2 4 5 6 8 9 10 11 -0 1 2 4 5 6 8 9 10 12 -0 1 2 4 5 6 8 9 10 13 -0 1 2 4 5 6 8 9 10 14 -0 1 2 4 5 6 8 9 10 15 -0 1 2 4 5 6 8 9 11 12 -0 1 2 4 5 6 8 9 11 13 -0 1 2 4 5 6 8 9 11 14 -0 1 2 4 5 6 8 9 11 15 -0 1 2 4 5 6 8 9 12 13 -0 1 2 4 5 6 8 9 12 14 -0 1 2 4 5 6 8 9 12 15 -0 1 2 4 5 6 8 9 13 14 -0 1 2 4 5 6 8 9 13 15 -0 1 2 4 5 6 8 9 14 15 -0 1 2 4 5 6 8 10 11 12 -0 1 2 4 5 6 8 10 11 13 -0 1 2 4 5 6 8 10 11 14 -0 1 2 4 5 6 8 10 11 15 -0 1 2 4 5 6 8 10 12 13 -0 1 2 4 5 6 8 10 12 14 -0 1 2 4 5 6 8 10 12 15 -0 1 2 4 5 6 8 10 13 14 -0 1 2 4 5 6 8 10 13 15 -0 1 2 4 5 6 8 10 14 15 -0 1 2 4 5 6 8 11 12 13 -0 1 2 4 5 6 8 11 12 14 -0 1 2 4 5 6 8 11 12 15 -0 1 2 4 5 6 8 11 13 14 -0 1 2 4 5 6 8 11 13 15 -0 1 2 4 5 6 8 11 14 15 -0 1 2 4 5 6 8 12 13 14 -0 1 2 4 5 6 8 12 13 15 -0 1 2 4 5 6 8 12 14 15 -0 1 2 4 5 6 8 13 14 15 -0 1 2 4 5 6 9 10 11 12 -0 1 2 4 5 6 9 10 11 13 -0 1 2 4 5 6 9 10 11 14 -0 1 2 4 5 6 9 10 11 15 -0 1 2 4 5 6 9 10 12 13 -0 1 2 4 5 6 9 10 12 14 -0 1 2 4 5 6 9 10 12 15 -0 1 2 4 5 6 9 10 13 14 -0 1 2 4 5 6 9 10 13 15 -0 1 2 4 5 6 9 10 14 15 -0 1 2 4 5 6 9 11 12 13 -0 1 2 4 5 6 9 11 12 14 -0 1 2 4 5 6 9 11 12 15 -0 1 2 4 5 6 9 11 13 14 -0 1 2 4 5 6 9 11 13 15 -0 1 2 4 5 6 9 11 14 15 -0 1 2 4 5 6 9 12 13 14 -0 1 2 4 5 6 9 12 13 15 -0 1 2 4 5 6 9 12 14 15 -0 1 2 4 5 6 9 13 14 15 -0 1 2 4 5 6 10 11 12 13 -0 1 2 4 5 6 10 11 12 14 -0 1 2 4 5 6 10 11 12 15 -0 1 2 4 5 6 10 11 13 14 -0 1 2 4 5 6 10 11 13 15 -0 1 2 4 5 6 10 11 14 15 -0 1 2 4 5 6 10 12 13 14 -0 1 2 4 5 6 10 12 13 15 -0 1 2 4 5 6 10 12 14 15 -0 1 2 4 5 6 10 13 14 15 -0 1 2 4 5 6 11 12 13 14 -0 1 2 4 5 6 11 12 13 15 -0 1 2 4 5 6 11 12 14 15 -0 1 2 4 5 6 11 13 14 15 -0 1 2 4 5 6 12 13 14 15 -0 1 2 4 5 7 8 9 10 11 -0 1 2 4 5 7 8 9 10 12 -0 1 2 4 5 7 8 9 10 13 -0 1 2 4 5 7 8 9 10 14 -0 1 2 4 5 7 8 9 10 15 -0 1 2 4 5 7 8 9 11 12 -0 1 2 4 5 7 8 9 11 13 -0 1 2 4 5 7 8 9 11 14 -0 1 2 4 5 7 8 9 11 15 -0 1 2 4 5 7 8 9 12 13 -0 1 2 4 5 7 8 9 12 14 -0 1 2 4 5 7 8 9 12 15 -0 1 2 4 5 7 8 9 13 14 -0 1 2 4 5 7 8 9 13 15 -0 1 2 4 5 7 8 9 14 15 -0 1 2 4 5 7 8 10 11 12 -0 1 2 4 5 7 8 10 11 13 -0 1 2 4 5 7 8 10 11 14 -0 1 2 4 5 7 8 10 11 15 -0 1 2 4 5 7 8 10 12 13 -0 1 2 4 5 7 8 10 12 14 -0 1 2 4 5 7 8 10 12 15 -0 1 2 4 5 7 8 10 13 14 -0 1 2 4 5 7 8 10 13 15 -0 1 2 4 5 7 8 10 14 15 -0 1 2 4 5 7 8 11 12 13 -0 1 2 4 5 7 8 11 12 14 -0 1 2 4 5 7 8 11 12 15 -0 1 2 4 5 7 8 11 13 14 -0 1 2 4 5 7 8 11 13 15 -0 1 2 4 5 7 8 11 14 15 -0 1 2 4 5 7 8 12 13 14 -0 1 2 4 5 7 8 12 13 15 -0 1 2 4 5 7 8 12 14 15 -0 1 2 4 5 7 8 13 14 15 -0 1 2 4 5 7 9 10 11 12 -0 1 2 4 5 7 9 10 11 13 -0 1 2 4 5 7 9 10 11 14 -0 1 2 4 5 7 9 10 11 15 -0 1 2 4 5 7 9 10 12 13 -0 1 2 4 5 7 9 10 12 14 -0 1 2 4 5 7 9 10 12 15 -0 1 2 4 5 7 9 10 13 14 -0 1 2 4 5 7 9 10 13 15 -0 1 2 4 5 7 9 10 14 15 -0 1 2 4 5 7 9 11 12 13 -0 1 2 4 5 7 9 11 12 14 -0 1 2 4 5 7 9 11 12 15 -0 1 2 4 5 7 9 11 13 14 -0 1 2 4 5 7 9 11 13 15 -0 1 2 4 5 7 9 11 14 15 -0 1 2 4 5 7 9 12 13 14 -0 1 2 4 5 7 9 12 13 15 -0 1 2 4 5 7 9 12 14 15 -0 1 2 4 5 7 9 13 14 15 -0 1 2 4 5 7 10 11 12 13 -0 1 2 4 5 7 10 11 12 14 -0 1 2 4 5 7 10 11 12 15 -0 1 2 4 5 7 10 11 13 14 -0 1 2 4 5 7 10 11 13 15 -0 1 2 4 5 7 10 11 14 15 -0 1 2 4 5 7 10 12 13 14 -0 1 2 4 5 7 10 12 13 15 -0 1 2 4 5 7 10 12 14 15 -0 1 2 4 5 7 10 13 14 15 -0 1 2 4 5 7 11 12 13 14 -0 1 2 4 5 7 11 12 13 15 -0 1 2 4 5 7 11 12 14 15 -0 1 2 4 5 7 11 13 14 15 -0 1 2 4 5 7 12 13 14 15 -0 1 2 4 5 8 9 10 11 12 -0 1 2 4 5 8 9 10 11 13 -0 1 2 4 5 8 9 10 11 14 -0 1 2 4 5 8 9 10 11 15 -0 1 2 4 5 8 9 10 12 13 -0 1 2 4 5 8 9 10 12 14 -0 1 2 4 5 8 9 10 12 15 -0 1 2 4 5 8 9 10 13 14 -0 1 2 4 5 8 9 10 13 15 -0 1 2 4 5 8 9 10 14 15 -0 1 2 4 5 8 9 11 12 13 -0 1 2 4 5 8 9 11 12 14 -0 1 2 4 5 8 9 11 12 15 -0 1 2 4 5 8 9 11 13 14 -0 1 2 4 5 8 9 11 13 15 -0 1 2 4 5 8 9 11 14 15 -0 1 2 4 5 8 9 12 13 14 -0 1 2 4 5 8 9 12 13 15 -0 1 2 4 5 8 9 12 14 15 -0 1 2 4 5 8 9 13 14 15 -0 1 2 4 5 8 10 11 12 13 -0 1 2 4 5 8 10 11 12 14 -0 1 2 4 5 8 10 11 12 15 -0 1 2 4 5 8 10 11 13 14 -0 1 2 4 5 8 10 11 13 15 -0 1 2 4 5 8 10 11 14 15 -0 1 2 4 5 8 10 12 13 14 -0 1 2 4 5 8 10 12 13 15 -0 1 2 4 5 8 10 12 14 15 -0 1 2 4 5 8 10 13 14 15 -0 1 2 4 5 8 11 12 13 14 -0 1 2 4 5 8 11 12 13 15 -0 1 2 4 5 8 11 12 14 15 -0 1 2 4 5 8 11 13 14 15 -0 1 2 4 5 8 12 13 14 15 -0 1 2 4 5 9 10 11 12 13 -0 1 2 4 5 9 10 11 12 14 -0 1 2 4 5 9 10 11 12 15 -0 1 2 4 5 9 10 11 13 14 -0 1 2 4 5 9 10 11 13 15 -0 1 2 4 5 9 10 11 14 15 -0 1 2 4 5 9 10 12 13 14 -0 1 2 4 5 9 10 12 13 15 -0 1 2 4 5 9 10 12 14 15 -0 1 2 4 5 9 10 13 14 15 -0 1 2 4 5 9 11 12 13 14 -0 1 2 4 5 9 11 12 13 15 -0 1 2 4 5 9 11 12 14 15 -0 1 2 4 5 9 11 13 14 15 -0 1 2 4 5 9 12 13 14 15 -0 1 2 4 5 10 11 12 13 14 -0 1 2 4 5 10 11 12 13 15 -0 1 2 4 5 10 11 12 14 15 -0 1 2 4 5 10 11 13 14 15 -0 1 2 4 5 10 12 13 14 15 -0 1 2 4 5 11 12 13 14 15 -0 1 2 4 6 7 8 9 10 11 -0 1 2 4 6 7 8 9 10 12 -0 1 2 4 6 7 8 9 10 13 -0 1 2 4 6 7 8 9 10 14 -0 1 2 4 6 7 8 9 10 15 -0 1 2 4 6 7 8 9 11 12 -0 1 2 4 6 7 8 9 11 13 -0 1 2 4 6 7 8 9 11 14 -0 1 2 4 6 7 8 9 11 15 -0 1 2 4 6 7 8 9 12 13 -0 1 2 4 6 7 8 9 12 14 -0 1 2 4 6 7 8 9 12 15 -0 1 2 4 6 7 8 9 13 14 -0 1 2 4 6 7 8 9 13 15 -0 1 2 4 6 7 8 9 14 15 -0 1 2 4 6 7 8 10 11 12 -0 1 2 4 6 7 8 10 11 13 -0 1 2 4 6 7 8 10 11 14 -0 1 2 4 6 7 8 10 11 15 -0 1 2 4 6 7 8 10 12 13 -0 1 2 4 6 7 8 10 12 14 -0 1 2 4 6 7 8 10 12 15 -0 1 2 4 6 7 8 10 13 14 -0 1 2 4 6 7 8 10 13 15 -0 1 2 4 6 7 8 10 14 15 -0 1 2 4 6 7 8 11 12 13 -0 1 2 4 6 7 8 11 12 14 -0 1 2 4 6 7 8 11 12 15 -0 1 2 4 6 7 8 11 13 14 -0 1 2 4 6 7 8 11 13 15 -0 1 2 4 6 7 8 11 14 15 -0 1 2 4 6 7 8 12 13 14 -0 1 2 4 6 7 8 12 13 15 -0 1 2 4 6 7 8 12 14 15 -0 1 2 4 6 7 8 13 14 15 -0 1 2 4 6 7 9 10 11 12 -0 1 2 4 6 7 9 10 11 13 -0 1 2 4 6 7 9 10 11 14 -0 1 2 4 6 7 9 10 11 15 -0 1 2 4 6 7 9 10 12 13 -0 1 2 4 6 7 9 10 12 14 -0 1 2 4 6 7 9 10 12 15 -0 1 2 4 6 7 9 10 13 14 -0 1 2 4 6 7 9 10 13 15 -0 1 2 4 6 7 9 10 14 15 -0 1 2 4 6 7 9 11 12 13 -0 1 2 4 6 7 9 11 12 14 -0 1 2 4 6 7 9 11 12 15 -0 1 2 4 6 7 9 11 13 14 -0 1 2 4 6 7 9 11 13 15 -0 1 2 4 6 7 9 11 14 15 -0 1 2 4 6 7 9 12 13 14 -0 1 2 4 6 7 9 12 13 15 -0 1 2 4 6 7 9 12 14 15 -0 1 2 4 6 7 9 13 14 15 -0 1 2 4 6 7 10 11 12 13 -0 1 2 4 6 7 10 11 12 14 -0 1 2 4 6 7 10 11 12 15 -0 1 2 4 6 7 10 11 13 14 -0 1 2 4 6 7 10 11 13 15 -0 1 2 4 6 7 10 11 14 15 -0 1 2 4 6 7 10 12 13 14 -0 1 2 4 6 7 10 12 13 15 -0 1 2 4 6 7 10 12 14 15 -0 1 2 4 6 7 10 13 14 15 -0 1 2 4 6 7 11 12 13 14 -0 1 2 4 6 7 11 12 13 15 -0 1 2 4 6 7 11 12 14 15 -0 1 2 4 6 7 11 13 14 15 -0 1 2 4 6 7 12 13 14 15 -0 1 2 4 6 8 9 10 11 12 -0 1 2 4 6 8 9 10 11 13 -0 1 2 4 6 8 9 10 11 14 -0 1 2 4 6 8 9 10 11 15 -0 1 2 4 6 8 9 10 12 13 -0 1 2 4 6 8 9 10 12 14 -0 1 2 4 6 8 9 10 12 15 -0 1 2 4 6 8 9 10 13 14 -0 1 2 4 6 8 9 10 13 15 -0 1 2 4 6 8 9 10 14 15 -0 1 2 4 6 8 9 11 12 13 -0 1 2 4 6 8 9 11 12 14 -0 1 2 4 6 8 9 11 12 15 -0 1 2 4 6 8 9 11 13 14 -0 1 2 4 6 8 9 11 13 15 -0 1 2 4 6 8 9 11 14 15 -0 1 2 4 6 8 9 12 13 14 -0 1 2 4 6 8 9 12 13 15 -0 1 2 4 6 8 9 12 14 15 -0 1 2 4 6 8 9 13 14 15 -0 1 2 4 6 8 10 11 12 13 -0 1 2 4 6 8 10 11 12 14 -0 1 2 4 6 8 10 11 12 15 -0 1 2 4 6 8 10 11 13 14 -0 1 2 4 6 8 10 11 13 15 -0 1 2 4 6 8 10 11 14 15 -0 1 2 4 6 8 10 12 13 14 -0 1 2 4 6 8 10 12 13 15 -0 1 2 4 6 8 10 12 14 15 -0 1 2 4 6 8 10 13 14 15 -0 1 2 4 6 8 11 12 13 14 -0 1 2 4 6 8 11 12 13 15 -0 1 2 4 6 8 11 12 14 15 -0 1 2 4 6 8 11 13 14 15 -0 1 2 4 6 8 12 13 14 15 -0 1 2 4 6 9 10 11 12 13 -0 1 2 4 6 9 10 11 12 14 -0 1 2 4 6 9 10 11 12 15 -0 1 2 4 6 9 10 11 13 14 -0 1 2 4 6 9 10 11 13 15 -0 1 2 4 6 9 10 11 14 15 -0 1 2 4 6 9 10 12 13 14 -0 1 2 4 6 9 10 12 13 15 -0 1 2 4 6 9 10 12 14 15 -0 1 2 4 6 9 10 13 14 15 -0 1 2 4 6 9 11 12 13 14 -0 1 2 4 6 9 11 12 13 15 -0 1 2 4 6 9 11 12 14 15 -0 1 2 4 6 9 11 13 14 15 -0 1 2 4 6 9 12 13 14 15 -0 1 2 4 6 10 11 12 13 14 -0 1 2 4 6 10 11 12 13 15 -0 1 2 4 6 10 11 12 14 15 -0 1 2 4 6 10 11 13 14 15 -0 1 2 4 6 10 12 13 14 15 -0 1 2 4 6 11 12 13 14 15 -0 1 2 4 7 8 9 10 11 12 -0 1 2 4 7 8 9 10 11 13 -0 1 2 4 7 8 9 10 11 14 -0 1 2 4 7 8 9 10 11 15 -0 1 2 4 7 8 9 10 12 13 -0 1 2 4 7 8 9 10 12 14 -0 1 2 4 7 8 9 10 12 15 -0 1 2 4 7 8 9 10 13 14 -0 1 2 4 7 8 9 10 13 15 -0 1 2 4 7 8 9 10 14 15 -0 1 2 4 7 8 9 11 12 13 -0 1 2 4 7 8 9 11 12 14 -0 1 2 4 7 8 9 11 12 15 -0 1 2 4 7 8 9 11 13 14 -0 1 2 4 7 8 9 11 13 15 -0 1 2 4 7 8 9 11 14 15 -0 1 2 4 7 8 9 12 13 14 -0 1 2 4 7 8 9 12 13 15 -0 1 2 4 7 8 9 12 14 15 -0 1 2 4 7 8 9 13 14 15 -0 1 2 4 7 8 10 11 12 13 -0 1 2 4 7 8 10 11 12 14 -0 1 2 4 7 8 10 11 12 15 -0 1 2 4 7 8 10 11 13 14 -0 1 2 4 7 8 10 11 13 15 -0 1 2 4 7 8 10 11 14 15 -0 1 2 4 7 8 10 12 13 14 -0 1 2 4 7 8 10 12 13 15 -0 1 2 4 7 8 10 12 14 15 -0 1 2 4 7 8 10 13 14 15 -0 1 2 4 7 8 11 12 13 14 -0 1 2 4 7 8 11 12 13 15 -0 1 2 4 7 8 11 12 14 15 -0 1 2 4 7 8 11 13 14 15 -0 1 2 4 7 8 12 13 14 15 -0 1 2 4 7 9 10 11 12 13 -0 1 2 4 7 9 10 11 12 14 -0 1 2 4 7 9 10 11 12 15 -0 1 2 4 7 9 10 11 13 14 -0 1 2 4 7 9 10 11 13 15 -0 1 2 4 7 9 10 11 14 15 -0 1 2 4 7 9 10 12 13 14 -0 1 2 4 7 9 10 12 13 15 -0 1 2 4 7 9 10 12 14 15 -0 1 2 4 7 9 10 13 14 15 -0 1 2 4 7 9 11 12 13 14 -0 1 2 4 7 9 11 12 13 15 -0 1 2 4 7 9 11 12 14 15 -0 1 2 4 7 9 11 13 14 15 -0 1 2 4 7 9 12 13 14 15 -0 1 2 4 7 10 11 12 13 14 -0 1 2 4 7 10 11 12 13 15 -0 1 2 4 7 10 11 12 14 15 -0 1 2 4 7 10 11 13 14 15 -0 1 2 4 7 10 12 13 14 15 -0 1 2 4 7 11 12 13 14 15 -0 1 2 4 8 9 10 11 12 13 -0 1 2 4 8 9 10 11 12 14 -0 1 2 4 8 9 10 11 12 15 -0 1 2 4 8 9 10 11 13 14 -0 1 2 4 8 9 10 11 13 15 -0 1 2 4 8 9 10 11 14 15 -0 1 2 4 8 9 10 12 13 14 -0 1 2 4 8 9 10 12 13 15 -0 1 2 4 8 9 10 12 14 15 -0 1 2 4 8 9 10 13 14 15 -0 1 2 4 8 9 11 12 13 14 -0 1 2 4 8 9 11 12 13 15 -0 1 2 4 8 9 11 12 14 15 -0 1 2 4 8 9 11 13 14 15 -0 1 2 4 8 9 12 13 14 15 -0 1 2 4 8 10 11 12 13 14 -0 1 2 4 8 10 11 12 13 15 -0 1 2 4 8 10 11 12 14 15 -0 1 2 4 8 10 11 13 14 15 -0 1 2 4 8 10 12 13 14 15 -0 1 2 4 8 11 12 13 14 15 -0 1 2 4 9 10 11 12 13 14 -0 1 2 4 9 10 11 12 13 15 -0 1 2 4 9 10 11 12 14 15 -0 1 2 4 9 10 11 13 14 15 -0 1 2 4 9 10 12 13 14 15 -0 1 2 4 9 11 12 13 14 15 -0 1 2 4 10 11 12 13 14 15 -0 1 2 5 6 7 8 9 10 11 -0 1 2 5 6 7 8 9 10 12 -0 1 2 5 6 7 8 9 10 13 -0 1 2 5 6 7 8 9 10 14 -0 1 2 5 6 7 8 9 10 15 -0 1 2 5 6 7 8 9 11 12 -0 1 2 5 6 7 8 9 11 13 -0 1 2 5 6 7 8 9 11 14 -0 1 2 5 6 7 8 9 11 15 -0 1 2 5 6 7 8 9 12 13 -0 1 2 5 6 7 8 9 12 14 -0 1 2 5 6 7 8 9 12 15 -0 1 2 5 6 7 8 9 13 14 -0 1 2 5 6 7 8 9 13 15 -0 1 2 5 6 7 8 9 14 15 -0 1 2 5 6 7 8 10 11 12 -0 1 2 5 6 7 8 10 11 13 -0 1 2 5 6 7 8 10 11 14 -0 1 2 5 6 7 8 10 11 15 -0 1 2 5 6 7 8 10 12 13 -0 1 2 5 6 7 8 10 12 14 -0 1 2 5 6 7 8 10 12 15 -0 1 2 5 6 7 8 10 13 14 -0 1 2 5 6 7 8 10 13 15 -0 1 2 5 6 7 8 10 14 15 -0 1 2 5 6 7 8 11 12 13 -0 1 2 5 6 7 8 11 12 14 -0 1 2 5 6 7 8 11 12 15 -0 1 2 5 6 7 8 11 13 14 -0 1 2 5 6 7 8 11 13 15 -0 1 2 5 6 7 8 11 14 15 -0 1 2 5 6 7 8 12 13 14 -0 1 2 5 6 7 8 12 13 15 -0 1 2 5 6 7 8 12 14 15 -0 1 2 5 6 7 8 13 14 15 -0 1 2 5 6 7 9 10 11 12 -0 1 2 5 6 7 9 10 11 13 -0 1 2 5 6 7 9 10 11 14 -0 1 2 5 6 7 9 10 11 15 -0 1 2 5 6 7 9 10 12 13 -0 1 2 5 6 7 9 10 12 14 -0 1 2 5 6 7 9 10 12 15 -0 1 2 5 6 7 9 10 13 14 -0 1 2 5 6 7 9 10 13 15 -0 1 2 5 6 7 9 10 14 15 -0 1 2 5 6 7 9 11 12 13 -0 1 2 5 6 7 9 11 12 14 -0 1 2 5 6 7 9 11 12 15 -0 1 2 5 6 7 9 11 13 14 -0 1 2 5 6 7 9 11 13 15 -0 1 2 5 6 7 9 11 14 15 -0 1 2 5 6 7 9 12 13 14 -0 1 2 5 6 7 9 12 13 15 -0 1 2 5 6 7 9 12 14 15 -0 1 2 5 6 7 9 13 14 15 -0 1 2 5 6 7 10 11 12 13 -0 1 2 5 6 7 10 11 12 14 -0 1 2 5 6 7 10 11 12 15 -0 1 2 5 6 7 10 11 13 14 -0 1 2 5 6 7 10 11 13 15 -0 1 2 5 6 7 10 11 14 15 -0 1 2 5 6 7 10 12 13 14 -0 1 2 5 6 7 10 12 13 15 -0 1 2 5 6 7 10 12 14 15 -0 1 2 5 6 7 10 13 14 15 -0 1 2 5 6 7 11 12 13 14 -0 1 2 5 6 7 11 12 13 15 -0 1 2 5 6 7 11 12 14 15 -0 1 2 5 6 7 11 13 14 15 -0 1 2 5 6 7 12 13 14 15 -0 1 2 5 6 8 9 10 11 12 -0 1 2 5 6 8 9 10 11 13 -0 1 2 5 6 8 9 10 11 14 -0 1 2 5 6 8 9 10 11 15 -0 1 2 5 6 8 9 10 12 13 -0 1 2 5 6 8 9 10 12 14 -0 1 2 5 6 8 9 10 12 15 -0 1 2 5 6 8 9 10 13 14 -0 1 2 5 6 8 9 10 13 15 -0 1 2 5 6 8 9 10 14 15 -0 1 2 5 6 8 9 11 12 13 -0 1 2 5 6 8 9 11 12 14 -0 1 2 5 6 8 9 11 12 15 -0 1 2 5 6 8 9 11 13 14 -0 1 2 5 6 8 9 11 13 15 -0 1 2 5 6 8 9 11 14 15 -0 1 2 5 6 8 9 12 13 14 -0 1 2 5 6 8 9 12 13 15 -0 1 2 5 6 8 9 12 14 15 -0 1 2 5 6 8 9 13 14 15 -0 1 2 5 6 8 10 11 12 13 -0 1 2 5 6 8 10 11 12 14 -0 1 2 5 6 8 10 11 12 15 -0 1 2 5 6 8 10 11 13 14 -0 1 2 5 6 8 10 11 13 15 -0 1 2 5 6 8 10 11 14 15 -0 1 2 5 6 8 10 12 13 14 -0 1 2 5 6 8 10 12 13 15 -0 1 2 5 6 8 10 12 14 15 -0 1 2 5 6 8 10 13 14 15 -0 1 2 5 6 8 11 12 13 14 -0 1 2 5 6 8 11 12 13 15 -0 1 2 5 6 8 11 12 14 15 -0 1 2 5 6 8 11 13 14 15 -0 1 2 5 6 8 12 13 14 15 -0 1 2 5 6 9 10 11 12 13 -0 1 2 5 6 9 10 11 12 14 -0 1 2 5 6 9 10 11 12 15 -0 1 2 5 6 9 10 11 13 14 -0 1 2 5 6 9 10 11 13 15 -0 1 2 5 6 9 10 11 14 15 -0 1 2 5 6 9 10 12 13 14 -0 1 2 5 6 9 10 12 13 15 -0 1 2 5 6 9 10 12 14 15 -0 1 2 5 6 9 10 13 14 15 -0 1 2 5 6 9 11 12 13 14 -0 1 2 5 6 9 11 12 13 15 -0 1 2 5 6 9 11 12 14 15 -0 1 2 5 6 9 11 13 14 15 -0 1 2 5 6 9 12 13 14 15 -0 1 2 5 6 10 11 12 13 14 -0 1 2 5 6 10 11 12 13 15 -0 1 2 5 6 10 11 12 14 15 -0 1 2 5 6 10 11 13 14 15 -0 1 2 5 6 10 12 13 14 15 -0 1 2 5 6 11 12 13 14 15 -0 1 2 5 7 8 9 10 11 12 -0 1 2 5 7 8 9 10 11 13 -0 1 2 5 7 8 9 10 11 14 -0 1 2 5 7 8 9 10 11 15 -0 1 2 5 7 8 9 10 12 13 -0 1 2 5 7 8 9 10 12 14 -0 1 2 5 7 8 9 10 12 15 -0 1 2 5 7 8 9 10 13 14 -0 1 2 5 7 8 9 10 13 15 -0 1 2 5 7 8 9 10 14 15 -0 1 2 5 7 8 9 11 12 13 -0 1 2 5 7 8 9 11 12 14 -0 1 2 5 7 8 9 11 12 15 -0 1 2 5 7 8 9 11 13 14 -0 1 2 5 7 8 9 11 13 15 -0 1 2 5 7 8 9 11 14 15 -0 1 2 5 7 8 9 12 13 14 -0 1 2 5 7 8 9 12 13 15 -0 1 2 5 7 8 9 12 14 15 -0 1 2 5 7 8 9 13 14 15 -0 1 2 5 7 8 10 11 12 13 -0 1 2 5 7 8 10 11 12 14 -0 1 2 5 7 8 10 11 12 15 -0 1 2 5 7 8 10 11 13 14 -0 1 2 5 7 8 10 11 13 15 -0 1 2 5 7 8 10 11 14 15 -0 1 2 5 7 8 10 12 13 14 -0 1 2 5 7 8 10 12 13 15 -0 1 2 5 7 8 10 12 14 15 -0 1 2 5 7 8 10 13 14 15 -0 1 2 5 7 8 11 12 13 14 -0 1 2 5 7 8 11 12 13 15 -0 1 2 5 7 8 11 12 14 15 -0 1 2 5 7 8 11 13 14 15 -0 1 2 5 7 8 12 13 14 15 -0 1 2 5 7 9 10 11 12 13 -0 1 2 5 7 9 10 11 12 14 -0 1 2 5 7 9 10 11 12 15 -0 1 2 5 7 9 10 11 13 14 -0 1 2 5 7 9 10 11 13 15 -0 1 2 5 7 9 10 11 14 15 -0 1 2 5 7 9 10 12 13 14 -0 1 2 5 7 9 10 12 13 15 -0 1 2 5 7 9 10 12 14 15 -0 1 2 5 7 9 10 13 14 15 -0 1 2 5 7 9 11 12 13 14 -0 1 2 5 7 9 11 12 13 15 -0 1 2 5 7 9 11 12 14 15 -0 1 2 5 7 9 11 13 14 15 -0 1 2 5 7 9 12 13 14 15 -0 1 2 5 7 10 11 12 13 14 -0 1 2 5 7 10 11 12 13 15 -0 1 2 5 7 10 11 12 14 15 -0 1 2 5 7 10 11 13 14 15 -0 1 2 5 7 10 12 13 14 15 -0 1 2 5 7 11 12 13 14 15 -0 1 2 5 8 9 10 11 12 13 -0 1 2 5 8 9 10 11 12 14 -0 1 2 5 8 9 10 11 12 15 -0 1 2 5 8 9 10 11 13 14 -0 1 2 5 8 9 10 11 13 15 -0 1 2 5 8 9 10 11 14 15 -0 1 2 5 8 9 10 12 13 14 -0 1 2 5 8 9 10 12 13 15 -0 1 2 5 8 9 10 12 14 15 -0 1 2 5 8 9 10 13 14 15 -0 1 2 5 8 9 11 12 13 14 -0 1 2 5 8 9 11 12 13 15 -0 1 2 5 8 9 11 12 14 15 -0 1 2 5 8 9 11 13 14 15 -0 1 2 5 8 9 12 13 14 15 -0 1 2 5 8 10 11 12 13 14 -0 1 2 5 8 10 11 12 13 15 -0 1 2 5 8 10 11 12 14 15 -0 1 2 5 8 10 11 13 14 15 -0 1 2 5 8 10 12 13 14 15 -0 1 2 5 8 11 12 13 14 15 -0 1 2 5 9 10 11 12 13 14 -0 1 2 5 9 10 11 12 13 15 -0 1 2 5 9 10 11 12 14 15 -0 1 2 5 9 10 11 13 14 15 -0 1 2 5 9 10 12 13 14 15 -0 1 2 5 9 11 12 13 14 15 -0 1 2 5 10 11 12 13 14 15 -0 1 2 6 7 8 9 10 11 12 -0 1 2 6 7 8 9 10 11 13 -0 1 2 6 7 8 9 10 11 14 -0 1 2 6 7 8 9 10 11 15 -0 1 2 6 7 8 9 10 12 13 -0 1 2 6 7 8 9 10 12 14 -0 1 2 6 7 8 9 10 12 15 -0 1 2 6 7 8 9 10 13 14 -0 1 2 6 7 8 9 10 13 15 -0 1 2 6 7 8 9 10 14 15 -0 1 2 6 7 8 9 11 12 13 -0 1 2 6 7 8 9 11 12 14 -0 1 2 6 7 8 9 11 12 15 -0 1 2 6 7 8 9 11 13 14 -0 1 2 6 7 8 9 11 13 15 -0 1 2 6 7 8 9 11 14 15 -0 1 2 6 7 8 9 12 13 14 -0 1 2 6 7 8 9 12 13 15 -0 1 2 6 7 8 9 12 14 15 -0 1 2 6 7 8 9 13 14 15 -0 1 2 6 7 8 10 11 12 13 -0 1 2 6 7 8 10 11 12 14 -0 1 2 6 7 8 10 11 12 15 -0 1 2 6 7 8 10 11 13 14 -0 1 2 6 7 8 10 11 13 15 -0 1 2 6 7 8 10 11 14 15 -0 1 2 6 7 8 10 12 13 14 -0 1 2 6 7 8 10 12 13 15 -0 1 2 6 7 8 10 12 14 15 -0 1 2 6 7 8 10 13 14 15 -0 1 2 6 7 8 11 12 13 14 -0 1 2 6 7 8 11 12 13 15 -0 1 2 6 7 8 11 12 14 15 -0 1 2 6 7 8 11 13 14 15 -0 1 2 6 7 8 12 13 14 15 -0 1 2 6 7 9 10 11 12 13 -0 1 2 6 7 9 10 11 12 14 -0 1 2 6 7 9 10 11 12 15 -0 1 2 6 7 9 10 11 13 14 -0 1 2 6 7 9 10 11 13 15 -0 1 2 6 7 9 10 11 14 15 -0 1 2 6 7 9 10 12 13 14 -0 1 2 6 7 9 10 12 13 15 -0 1 2 6 7 9 10 12 14 15 -0 1 2 6 7 9 10 13 14 15 -0 1 2 6 7 9 11 12 13 14 -0 1 2 6 7 9 11 12 13 15 -0 1 2 6 7 9 11 12 14 15 -0 1 2 6 7 9 11 13 14 15 -0 1 2 6 7 9 12 13 14 15 -0 1 2 6 7 10 11 12 13 14 -0 1 2 6 7 10 11 12 13 15 -0 1 2 6 7 10 11 12 14 15 -0 1 2 6 7 10 11 13 14 15 -0 1 2 6 7 10 12 13 14 15 -0 1 2 6 7 11 12 13 14 15 -0 1 2 6 8 9 10 11 12 13 -0 1 2 6 8 9 10 11 12 14 -0 1 2 6 8 9 10 11 12 15 -0 1 2 6 8 9 10 11 13 14 -0 1 2 6 8 9 10 11 13 15 -0 1 2 6 8 9 10 11 14 15 -0 1 2 6 8 9 10 12 13 14 -0 1 2 6 8 9 10 12 13 15 -0 1 2 6 8 9 10 12 14 15 -0 1 2 6 8 9 10 13 14 15 -0 1 2 6 8 9 11 12 13 14 -0 1 2 6 8 9 11 12 13 15 -0 1 2 6 8 9 11 12 14 15 -0 1 2 6 8 9 11 13 14 15 -0 1 2 6 8 9 12 13 14 15 -0 1 2 6 8 10 11 12 13 14 -0 1 2 6 8 10 11 12 13 15 -0 1 2 6 8 10 11 12 14 15 -0 1 2 6 8 10 11 13 14 15 -0 1 2 6 8 10 12 13 14 15 -0 1 2 6 8 11 12 13 14 15 -0 1 2 6 9 10 11 12 13 14 -0 1 2 6 9 10 11 12 13 15 -0 1 2 6 9 10 11 12 14 15 -0 1 2 6 9 10 11 13 14 15 -0 1 2 6 9 10 12 13 14 15 -0 1 2 6 9 11 12 13 14 15 -0 1 2 6 10 11 12 13 14 15 -0 1 2 7 8 9 10 11 12 13 -0 1 2 7 8 9 10 11 12 14 -0 1 2 7 8 9 10 11 12 15 -0 1 2 7 8 9 10 11 13 14 -0 1 2 7 8 9 10 11 13 15 -0 1 2 7 8 9 10 11 14 15 -0 1 2 7 8 9 10 12 13 14 -0 1 2 7 8 9 10 12 13 15 -0 1 2 7 8 9 10 12 14 15 -0 1 2 7 8 9 10 13 14 15 -0 1 2 7 8 9 11 12 13 14 -0 1 2 7 8 9 11 12 13 15 -0 1 2 7 8 9 11 12 14 15 -0 1 2 7 8 9 11 13 14 15 -0 1 2 7 8 9 12 13 14 15 -0 1 2 7 8 10 11 12 13 14 -0 1 2 7 8 10 11 12 13 15 -0 1 2 7 8 10 11 12 14 15 -0 1 2 7 8 10 11 13 14 15 -0 1 2 7 8 10 12 13 14 15 -0 1 2 7 8 11 12 13 14 15 -0 1 2 7 9 10 11 12 13 14 -0 1 2 7 9 10 11 12 13 15 -0 1 2 7 9 10 11 12 14 15 -0 1 2 7 9 10 11 13 14 15 -0 1 2 7 9 10 12 13 14 15 -0 1 2 7 9 11 12 13 14 15 -0 1 2 7 10 11 12 13 14 15 -0 1 2 8 9 10 11 12 13 14 -0 1 2 8 9 10 11 12 13 15 -0 1 2 8 9 10 11 12 14 15 -0 1 2 8 9 10 11 13 14 15 -0 1 2 8 9 10 12 13 14 15 -0 1 2 8 9 11 12 13 14 15 -0 1 2 8 10 11 12 13 14 15 -0 1 2 9 10 11 12 13 14 15 -0 1 3 4 5 6 7 8 9 10 -0 1 3 4 5 6 7 8 9 11 -0 1 3 4 5 6 7 8 9 12 -0 1 3 4 5 6 7 8 9 13 -0 1 3 4 5 6 7 8 9 14 -0 1 3 4 5 6 7 8 9 15 -0 1 3 4 5 6 7 8 10 11 -0 1 3 4 5 6 7 8 10 12 -0 1 3 4 5 6 7 8 10 13 -0 1 3 4 5 6 7 8 10 14 -0 1 3 4 5 6 7 8 10 15 -0 1 3 4 5 6 7 8 11 12 -0 1 3 4 5 6 7 8 11 13 -0 1 3 4 5 6 7 8 11 14 -0 1 3 4 5 6 7 8 11 15 -0 1 3 4 5 6 7 8 12 13 -0 1 3 4 5 6 7 8 12 14 -0 1 3 4 5 6 7 8 12 15 -0 1 3 4 5 6 7 8 13 14 -0 1 3 4 5 6 7 8 13 15 -0 1 3 4 5 6 7 8 14 15 -0 1 3 4 5 6 7 9 10 11 -0 1 3 4 5 6 7 9 10 12 -0 1 3 4 5 6 7 9 10 13 -0 1 3 4 5 6 7 9 10 14 -0 1 3 4 5 6 7 9 10 15 -0 1 3 4 5 6 7 9 11 12 -0 1 3 4 5 6 7 9 11 13 -0 1 3 4 5 6 7 9 11 14 -0 1 3 4 5 6 7 9 11 15 -0 1 3 4 5 6 7 9 12 13 -0 1 3 4 5 6 7 9 12 14 -0 1 3 4 5 6 7 9 12 15 -0 1 3 4 5 6 7 9 13 14 -0 1 3 4 5 6 7 9 13 15 -0 1 3 4 5 6 7 9 14 15 -0 1 3 4 5 6 7 10 11 12 -0 1 3 4 5 6 7 10 11 13 -0 1 3 4 5 6 7 10 11 14 -0 1 3 4 5 6 7 10 11 15 -0 1 3 4 5 6 7 10 12 13 -0 1 3 4 5 6 7 10 12 14 -0 1 3 4 5 6 7 10 12 15 -0 1 3 4 5 6 7 10 13 14 -0 1 3 4 5 6 7 10 13 15 -0 1 3 4 5 6 7 10 14 15 -0 1 3 4 5 6 7 11 12 13 -0 1 3 4 5 6 7 11 12 14 -0 1 3 4 5 6 7 11 12 15 -0 1 3 4 5 6 7 11 13 14 -0 1 3 4 5 6 7 11 13 15 -0 1 3 4 5 6 7 11 14 15 -0 1 3 4 5 6 7 12 13 14 -0 1 3 4 5 6 7 12 13 15 -0 1 3 4 5 6 7 12 14 15 -0 1 3 4 5 6 7 13 14 15 -0 1 3 4 5 6 8 9 10 11 -0 1 3 4 5 6 8 9 10 12 -0 1 3 4 5 6 8 9 10 13 -0 1 3 4 5 6 8 9 10 14 -0 1 3 4 5 6 8 9 10 15 -0 1 3 4 5 6 8 9 11 12 -0 1 3 4 5 6 8 9 11 13 -0 1 3 4 5 6 8 9 11 14 -0 1 3 4 5 6 8 9 11 15 -0 1 3 4 5 6 8 9 12 13 -0 1 3 4 5 6 8 9 12 14 -0 1 3 4 5 6 8 9 12 15 -0 1 3 4 5 6 8 9 13 14 -0 1 3 4 5 6 8 9 13 15 -0 1 3 4 5 6 8 9 14 15 -0 1 3 4 5 6 8 10 11 12 -0 1 3 4 5 6 8 10 11 13 -0 1 3 4 5 6 8 10 11 14 -0 1 3 4 5 6 8 10 11 15 -0 1 3 4 5 6 8 10 12 13 -0 1 3 4 5 6 8 10 12 14 -0 1 3 4 5 6 8 10 12 15 -0 1 3 4 5 6 8 10 13 14 -0 1 3 4 5 6 8 10 13 15 -0 1 3 4 5 6 8 10 14 15 -0 1 3 4 5 6 8 11 12 13 -0 1 3 4 5 6 8 11 12 14 -0 1 3 4 5 6 8 11 12 15 -0 1 3 4 5 6 8 11 13 14 -0 1 3 4 5 6 8 11 13 15 -0 1 3 4 5 6 8 11 14 15 -0 1 3 4 5 6 8 12 13 14 -0 1 3 4 5 6 8 12 13 15 -0 1 3 4 5 6 8 12 14 15 -0 1 3 4 5 6 8 13 14 15 -0 1 3 4 5 6 9 10 11 12 -0 1 3 4 5 6 9 10 11 13 -0 1 3 4 5 6 9 10 11 14 -0 1 3 4 5 6 9 10 11 15 -0 1 3 4 5 6 9 10 12 13 -0 1 3 4 5 6 9 10 12 14 -0 1 3 4 5 6 9 10 12 15 -0 1 3 4 5 6 9 10 13 14 -0 1 3 4 5 6 9 10 13 15 -0 1 3 4 5 6 9 10 14 15 -0 1 3 4 5 6 9 11 12 13 -0 1 3 4 5 6 9 11 12 14 -0 1 3 4 5 6 9 11 12 15 -0 1 3 4 5 6 9 11 13 14 -0 1 3 4 5 6 9 11 13 15 -0 1 3 4 5 6 9 11 14 15 -0 1 3 4 5 6 9 12 13 14 -0 1 3 4 5 6 9 12 13 15 -0 1 3 4 5 6 9 12 14 15 -0 1 3 4 5 6 9 13 14 15 -0 1 3 4 5 6 10 11 12 13 -0 1 3 4 5 6 10 11 12 14 -0 1 3 4 5 6 10 11 12 15 -0 1 3 4 5 6 10 11 13 14 -0 1 3 4 5 6 10 11 13 15 -0 1 3 4 5 6 10 11 14 15 -0 1 3 4 5 6 10 12 13 14 -0 1 3 4 5 6 10 12 13 15 -0 1 3 4 5 6 10 12 14 15 -0 1 3 4 5 6 10 13 14 15 -0 1 3 4 5 6 11 12 13 14 -0 1 3 4 5 6 11 12 13 15 -0 1 3 4 5 6 11 12 14 15 -0 1 3 4 5 6 11 13 14 15 -0 1 3 4 5 6 12 13 14 15 -0 1 3 4 5 7 8 9 10 11 -0 1 3 4 5 7 8 9 10 12 -0 1 3 4 5 7 8 9 10 13 -0 1 3 4 5 7 8 9 10 14 -0 1 3 4 5 7 8 9 10 15 -0 1 3 4 5 7 8 9 11 12 -0 1 3 4 5 7 8 9 11 13 -0 1 3 4 5 7 8 9 11 14 -0 1 3 4 5 7 8 9 11 15 -0 1 3 4 5 7 8 9 12 13 -0 1 3 4 5 7 8 9 12 14 -0 1 3 4 5 7 8 9 12 15 -0 1 3 4 5 7 8 9 13 14 -0 1 3 4 5 7 8 9 13 15 -0 1 3 4 5 7 8 9 14 15 -0 1 3 4 5 7 8 10 11 12 -0 1 3 4 5 7 8 10 11 13 -0 1 3 4 5 7 8 10 11 14 -0 1 3 4 5 7 8 10 11 15 -0 1 3 4 5 7 8 10 12 13 -0 1 3 4 5 7 8 10 12 14 -0 1 3 4 5 7 8 10 12 15 -0 1 3 4 5 7 8 10 13 14 -0 1 3 4 5 7 8 10 13 15 -0 1 3 4 5 7 8 10 14 15 -0 1 3 4 5 7 8 11 12 13 -0 1 3 4 5 7 8 11 12 14 -0 1 3 4 5 7 8 11 12 15 -0 1 3 4 5 7 8 11 13 14 -0 1 3 4 5 7 8 11 13 15 -0 1 3 4 5 7 8 11 14 15 -0 1 3 4 5 7 8 12 13 14 -0 1 3 4 5 7 8 12 13 15 -0 1 3 4 5 7 8 12 14 15 -0 1 3 4 5 7 8 13 14 15 -0 1 3 4 5 7 9 10 11 12 -0 1 3 4 5 7 9 10 11 13 -0 1 3 4 5 7 9 10 11 14 -0 1 3 4 5 7 9 10 11 15 -0 1 3 4 5 7 9 10 12 13 -0 1 3 4 5 7 9 10 12 14 -0 1 3 4 5 7 9 10 12 15 -0 1 3 4 5 7 9 10 13 14 -0 1 3 4 5 7 9 10 13 15 -0 1 3 4 5 7 9 10 14 15 -0 1 3 4 5 7 9 11 12 13 -0 1 3 4 5 7 9 11 12 14 -0 1 3 4 5 7 9 11 12 15 -0 1 3 4 5 7 9 11 13 14 -0 1 3 4 5 7 9 11 13 15 -0 1 3 4 5 7 9 11 14 15 -0 1 3 4 5 7 9 12 13 14 -0 1 3 4 5 7 9 12 13 15 -0 1 3 4 5 7 9 12 14 15 -0 1 3 4 5 7 9 13 14 15 -0 1 3 4 5 7 10 11 12 13 -0 1 3 4 5 7 10 11 12 14 -0 1 3 4 5 7 10 11 12 15 -0 1 3 4 5 7 10 11 13 14 -0 1 3 4 5 7 10 11 13 15 -0 1 3 4 5 7 10 11 14 15 -0 1 3 4 5 7 10 12 13 14 -0 1 3 4 5 7 10 12 13 15 -0 1 3 4 5 7 10 12 14 15 -0 1 3 4 5 7 10 13 14 15 -0 1 3 4 5 7 11 12 13 14 -0 1 3 4 5 7 11 12 13 15 -0 1 3 4 5 7 11 12 14 15 -0 1 3 4 5 7 11 13 14 15 -0 1 3 4 5 7 12 13 14 15 -0 1 3 4 5 8 9 10 11 12 -0 1 3 4 5 8 9 10 11 13 -0 1 3 4 5 8 9 10 11 14 -0 1 3 4 5 8 9 10 11 15 -0 1 3 4 5 8 9 10 12 13 -0 1 3 4 5 8 9 10 12 14 -0 1 3 4 5 8 9 10 12 15 -0 1 3 4 5 8 9 10 13 14 -0 1 3 4 5 8 9 10 13 15 -0 1 3 4 5 8 9 10 14 15 -0 1 3 4 5 8 9 11 12 13 -0 1 3 4 5 8 9 11 12 14 -0 1 3 4 5 8 9 11 12 15 -0 1 3 4 5 8 9 11 13 14 -0 1 3 4 5 8 9 11 13 15 -0 1 3 4 5 8 9 11 14 15 -0 1 3 4 5 8 9 12 13 14 -0 1 3 4 5 8 9 12 13 15 -0 1 3 4 5 8 9 12 14 15 -0 1 3 4 5 8 9 13 14 15 -0 1 3 4 5 8 10 11 12 13 -0 1 3 4 5 8 10 11 12 14 -0 1 3 4 5 8 10 11 12 15 -0 1 3 4 5 8 10 11 13 14 -0 1 3 4 5 8 10 11 13 15 -0 1 3 4 5 8 10 11 14 15 -0 1 3 4 5 8 10 12 13 14 -0 1 3 4 5 8 10 12 13 15 -0 1 3 4 5 8 10 12 14 15 -0 1 3 4 5 8 10 13 14 15 -0 1 3 4 5 8 11 12 13 14 -0 1 3 4 5 8 11 12 13 15 -0 1 3 4 5 8 11 12 14 15 -0 1 3 4 5 8 11 13 14 15 -0 1 3 4 5 8 12 13 14 15 -0 1 3 4 5 9 10 11 12 13 -0 1 3 4 5 9 10 11 12 14 -0 1 3 4 5 9 10 11 12 15 -0 1 3 4 5 9 10 11 13 14 -0 1 3 4 5 9 10 11 13 15 -0 1 3 4 5 9 10 11 14 15 -0 1 3 4 5 9 10 12 13 14 -0 1 3 4 5 9 10 12 13 15 -0 1 3 4 5 9 10 12 14 15 -0 1 3 4 5 9 10 13 14 15 -0 1 3 4 5 9 11 12 13 14 -0 1 3 4 5 9 11 12 13 15 -0 1 3 4 5 9 11 12 14 15 -0 1 3 4 5 9 11 13 14 15 -0 1 3 4 5 9 12 13 14 15 -0 1 3 4 5 10 11 12 13 14 -0 1 3 4 5 10 11 12 13 15 -0 1 3 4 5 10 11 12 14 15 -0 1 3 4 5 10 11 13 14 15 -0 1 3 4 5 10 12 13 14 15 -0 1 3 4 5 11 12 13 14 15 -0 1 3 4 6 7 8 9 10 11 -0 1 3 4 6 7 8 9 10 12 -0 1 3 4 6 7 8 9 10 13 -0 1 3 4 6 7 8 9 10 14 -0 1 3 4 6 7 8 9 10 15 -0 1 3 4 6 7 8 9 11 12 -0 1 3 4 6 7 8 9 11 13 -0 1 3 4 6 7 8 9 11 14 -0 1 3 4 6 7 8 9 11 15 -0 1 3 4 6 7 8 9 12 13 -0 1 3 4 6 7 8 9 12 14 -0 1 3 4 6 7 8 9 12 15 -0 1 3 4 6 7 8 9 13 14 -0 1 3 4 6 7 8 9 13 15 -0 1 3 4 6 7 8 9 14 15 -0 1 3 4 6 7 8 10 11 12 -0 1 3 4 6 7 8 10 11 13 -0 1 3 4 6 7 8 10 11 14 -0 1 3 4 6 7 8 10 11 15 -0 1 3 4 6 7 8 10 12 13 -0 1 3 4 6 7 8 10 12 14 -0 1 3 4 6 7 8 10 12 15 -0 1 3 4 6 7 8 10 13 14 -0 1 3 4 6 7 8 10 13 15 -0 1 3 4 6 7 8 10 14 15 -0 1 3 4 6 7 8 11 12 13 -0 1 3 4 6 7 8 11 12 14 -0 1 3 4 6 7 8 11 12 15 -0 1 3 4 6 7 8 11 13 14 -0 1 3 4 6 7 8 11 13 15 -0 1 3 4 6 7 8 11 14 15 -0 1 3 4 6 7 8 12 13 14 -0 1 3 4 6 7 8 12 13 15 -0 1 3 4 6 7 8 12 14 15 -0 1 3 4 6 7 8 13 14 15 -0 1 3 4 6 7 9 10 11 12 -0 1 3 4 6 7 9 10 11 13 -0 1 3 4 6 7 9 10 11 14 -0 1 3 4 6 7 9 10 11 15 -0 1 3 4 6 7 9 10 12 13 -0 1 3 4 6 7 9 10 12 14 -0 1 3 4 6 7 9 10 12 15 -0 1 3 4 6 7 9 10 13 14 -0 1 3 4 6 7 9 10 13 15 -0 1 3 4 6 7 9 10 14 15 -0 1 3 4 6 7 9 11 12 13 -0 1 3 4 6 7 9 11 12 14 -0 1 3 4 6 7 9 11 12 15 -0 1 3 4 6 7 9 11 13 14 -0 1 3 4 6 7 9 11 13 15 -0 1 3 4 6 7 9 11 14 15 -0 1 3 4 6 7 9 12 13 14 -0 1 3 4 6 7 9 12 13 15 -0 1 3 4 6 7 9 12 14 15 -0 1 3 4 6 7 9 13 14 15 -0 1 3 4 6 7 10 11 12 13 -0 1 3 4 6 7 10 11 12 14 -0 1 3 4 6 7 10 11 12 15 -0 1 3 4 6 7 10 11 13 14 -0 1 3 4 6 7 10 11 13 15 -0 1 3 4 6 7 10 11 14 15 -0 1 3 4 6 7 10 12 13 14 -0 1 3 4 6 7 10 12 13 15 -0 1 3 4 6 7 10 12 14 15 -0 1 3 4 6 7 10 13 14 15 -0 1 3 4 6 7 11 12 13 14 -0 1 3 4 6 7 11 12 13 15 -0 1 3 4 6 7 11 12 14 15 -0 1 3 4 6 7 11 13 14 15 -0 1 3 4 6 7 12 13 14 15 -0 1 3 4 6 8 9 10 11 12 -0 1 3 4 6 8 9 10 11 13 -0 1 3 4 6 8 9 10 11 14 -0 1 3 4 6 8 9 10 11 15 -0 1 3 4 6 8 9 10 12 13 -0 1 3 4 6 8 9 10 12 14 -0 1 3 4 6 8 9 10 12 15 -0 1 3 4 6 8 9 10 13 14 -0 1 3 4 6 8 9 10 13 15 -0 1 3 4 6 8 9 10 14 15 -0 1 3 4 6 8 9 11 12 13 -0 1 3 4 6 8 9 11 12 14 -0 1 3 4 6 8 9 11 12 15 -0 1 3 4 6 8 9 11 13 14 -0 1 3 4 6 8 9 11 13 15 -0 1 3 4 6 8 9 11 14 15 -0 1 3 4 6 8 9 12 13 14 -0 1 3 4 6 8 9 12 13 15 -0 1 3 4 6 8 9 12 14 15 -0 1 3 4 6 8 9 13 14 15 -0 1 3 4 6 8 10 11 12 13 -0 1 3 4 6 8 10 11 12 14 -0 1 3 4 6 8 10 11 12 15 -0 1 3 4 6 8 10 11 13 14 -0 1 3 4 6 8 10 11 13 15 -0 1 3 4 6 8 10 11 14 15 -0 1 3 4 6 8 10 12 13 14 -0 1 3 4 6 8 10 12 13 15 -0 1 3 4 6 8 10 12 14 15 -0 1 3 4 6 8 10 13 14 15 -0 1 3 4 6 8 11 12 13 14 -0 1 3 4 6 8 11 12 13 15 -0 1 3 4 6 8 11 12 14 15 -0 1 3 4 6 8 11 13 14 15 -0 1 3 4 6 8 12 13 14 15 -0 1 3 4 6 9 10 11 12 13 -0 1 3 4 6 9 10 11 12 14 -0 1 3 4 6 9 10 11 12 15 -0 1 3 4 6 9 10 11 13 14 -0 1 3 4 6 9 10 11 13 15 -0 1 3 4 6 9 10 11 14 15 -0 1 3 4 6 9 10 12 13 14 -0 1 3 4 6 9 10 12 13 15 -0 1 3 4 6 9 10 12 14 15 -0 1 3 4 6 9 10 13 14 15 -0 1 3 4 6 9 11 12 13 14 -0 1 3 4 6 9 11 12 13 15 -0 1 3 4 6 9 11 12 14 15 -0 1 3 4 6 9 11 13 14 15 -0 1 3 4 6 9 12 13 14 15 -0 1 3 4 6 10 11 12 13 14 -0 1 3 4 6 10 11 12 13 15 -0 1 3 4 6 10 11 12 14 15 -0 1 3 4 6 10 11 13 14 15 -0 1 3 4 6 10 12 13 14 15 -0 1 3 4 6 11 12 13 14 15 -0 1 3 4 7 8 9 10 11 12 -0 1 3 4 7 8 9 10 11 13 -0 1 3 4 7 8 9 10 11 14 -0 1 3 4 7 8 9 10 11 15 -0 1 3 4 7 8 9 10 12 13 -0 1 3 4 7 8 9 10 12 14 -0 1 3 4 7 8 9 10 12 15 -0 1 3 4 7 8 9 10 13 14 -0 1 3 4 7 8 9 10 13 15 -0 1 3 4 7 8 9 10 14 15 -0 1 3 4 7 8 9 11 12 13 -0 1 3 4 7 8 9 11 12 14 -0 1 3 4 7 8 9 11 12 15 -0 1 3 4 7 8 9 11 13 14 -0 1 3 4 7 8 9 11 13 15 -0 1 3 4 7 8 9 11 14 15 -0 1 3 4 7 8 9 12 13 14 -0 1 3 4 7 8 9 12 13 15 -0 1 3 4 7 8 9 12 14 15 -0 1 3 4 7 8 9 13 14 15 -0 1 3 4 7 8 10 11 12 13 -0 1 3 4 7 8 10 11 12 14 -0 1 3 4 7 8 10 11 12 15 -0 1 3 4 7 8 10 11 13 14 -0 1 3 4 7 8 10 11 13 15 -0 1 3 4 7 8 10 11 14 15 -0 1 3 4 7 8 10 12 13 14 -0 1 3 4 7 8 10 12 13 15 -0 1 3 4 7 8 10 12 14 15 -0 1 3 4 7 8 10 13 14 15 -0 1 3 4 7 8 11 12 13 14 -0 1 3 4 7 8 11 12 13 15 -0 1 3 4 7 8 11 12 14 15 -0 1 3 4 7 8 11 13 14 15 -0 1 3 4 7 8 12 13 14 15 -0 1 3 4 7 9 10 11 12 13 -0 1 3 4 7 9 10 11 12 14 -0 1 3 4 7 9 10 11 12 15 -0 1 3 4 7 9 10 11 13 14 -0 1 3 4 7 9 10 11 13 15 -0 1 3 4 7 9 10 11 14 15 -0 1 3 4 7 9 10 12 13 14 -0 1 3 4 7 9 10 12 13 15 -0 1 3 4 7 9 10 12 14 15 -0 1 3 4 7 9 10 13 14 15 -0 1 3 4 7 9 11 12 13 14 -0 1 3 4 7 9 11 12 13 15 -0 1 3 4 7 9 11 12 14 15 -0 1 3 4 7 9 11 13 14 15 -0 1 3 4 7 9 12 13 14 15 -0 1 3 4 7 10 11 12 13 14 -0 1 3 4 7 10 11 12 13 15 -0 1 3 4 7 10 11 12 14 15 -0 1 3 4 7 10 11 13 14 15 -0 1 3 4 7 10 12 13 14 15 -0 1 3 4 7 11 12 13 14 15 -0 1 3 4 8 9 10 11 12 13 -0 1 3 4 8 9 10 11 12 14 -0 1 3 4 8 9 10 11 12 15 -0 1 3 4 8 9 10 11 13 14 -0 1 3 4 8 9 10 11 13 15 -0 1 3 4 8 9 10 11 14 15 -0 1 3 4 8 9 10 12 13 14 -0 1 3 4 8 9 10 12 13 15 -0 1 3 4 8 9 10 12 14 15 -0 1 3 4 8 9 10 13 14 15 -0 1 3 4 8 9 11 12 13 14 -0 1 3 4 8 9 11 12 13 15 -0 1 3 4 8 9 11 12 14 15 -0 1 3 4 8 9 11 13 14 15 -0 1 3 4 8 9 12 13 14 15 -0 1 3 4 8 10 11 12 13 14 -0 1 3 4 8 10 11 12 13 15 -0 1 3 4 8 10 11 12 14 15 -0 1 3 4 8 10 11 13 14 15 -0 1 3 4 8 10 12 13 14 15 -0 1 3 4 8 11 12 13 14 15 -0 1 3 4 9 10 11 12 13 14 -0 1 3 4 9 10 11 12 13 15 -0 1 3 4 9 10 11 12 14 15 -0 1 3 4 9 10 11 13 14 15 -0 1 3 4 9 10 12 13 14 15 -0 1 3 4 9 11 12 13 14 15 -0 1 3 4 10 11 12 13 14 15 -0 1 3 5 6 7 8 9 10 11 -0 1 3 5 6 7 8 9 10 12 -0 1 3 5 6 7 8 9 10 13 -0 1 3 5 6 7 8 9 10 14 -0 1 3 5 6 7 8 9 10 15 -0 1 3 5 6 7 8 9 11 12 -0 1 3 5 6 7 8 9 11 13 -0 1 3 5 6 7 8 9 11 14 -0 1 3 5 6 7 8 9 11 15 -0 1 3 5 6 7 8 9 12 13 -0 1 3 5 6 7 8 9 12 14 -0 1 3 5 6 7 8 9 12 15 -0 1 3 5 6 7 8 9 13 14 -0 1 3 5 6 7 8 9 13 15 -0 1 3 5 6 7 8 9 14 15 -0 1 3 5 6 7 8 10 11 12 -0 1 3 5 6 7 8 10 11 13 -0 1 3 5 6 7 8 10 11 14 -0 1 3 5 6 7 8 10 11 15 -0 1 3 5 6 7 8 10 12 13 -0 1 3 5 6 7 8 10 12 14 -0 1 3 5 6 7 8 10 12 15 -0 1 3 5 6 7 8 10 13 14 -0 1 3 5 6 7 8 10 13 15 -0 1 3 5 6 7 8 10 14 15 -0 1 3 5 6 7 8 11 12 13 -0 1 3 5 6 7 8 11 12 14 -0 1 3 5 6 7 8 11 12 15 -0 1 3 5 6 7 8 11 13 14 -0 1 3 5 6 7 8 11 13 15 -0 1 3 5 6 7 8 11 14 15 -0 1 3 5 6 7 8 12 13 14 -0 1 3 5 6 7 8 12 13 15 -0 1 3 5 6 7 8 12 14 15 -0 1 3 5 6 7 8 13 14 15 -0 1 3 5 6 7 9 10 11 12 -0 1 3 5 6 7 9 10 11 13 -0 1 3 5 6 7 9 10 11 14 -0 1 3 5 6 7 9 10 11 15 -0 1 3 5 6 7 9 10 12 13 -0 1 3 5 6 7 9 10 12 14 -0 1 3 5 6 7 9 10 12 15 -0 1 3 5 6 7 9 10 13 14 -0 1 3 5 6 7 9 10 13 15 -0 1 3 5 6 7 9 10 14 15 -0 1 3 5 6 7 9 11 12 13 -0 1 3 5 6 7 9 11 12 14 -0 1 3 5 6 7 9 11 12 15 -0 1 3 5 6 7 9 11 13 14 -0 1 3 5 6 7 9 11 13 15 -0 1 3 5 6 7 9 11 14 15 -0 1 3 5 6 7 9 12 13 14 -0 1 3 5 6 7 9 12 13 15 -0 1 3 5 6 7 9 12 14 15 -0 1 3 5 6 7 9 13 14 15 -0 1 3 5 6 7 10 11 12 13 -0 1 3 5 6 7 10 11 12 14 -0 1 3 5 6 7 10 11 12 15 -0 1 3 5 6 7 10 11 13 14 -0 1 3 5 6 7 10 11 13 15 -0 1 3 5 6 7 10 11 14 15 -0 1 3 5 6 7 10 12 13 14 -0 1 3 5 6 7 10 12 13 15 -0 1 3 5 6 7 10 12 14 15 -0 1 3 5 6 7 10 13 14 15 -0 1 3 5 6 7 11 12 13 14 -0 1 3 5 6 7 11 12 13 15 -0 1 3 5 6 7 11 12 14 15 -0 1 3 5 6 7 11 13 14 15 -0 1 3 5 6 7 12 13 14 15 -0 1 3 5 6 8 9 10 11 12 -0 1 3 5 6 8 9 10 11 13 -0 1 3 5 6 8 9 10 11 14 -0 1 3 5 6 8 9 10 11 15 -0 1 3 5 6 8 9 10 12 13 -0 1 3 5 6 8 9 10 12 14 -0 1 3 5 6 8 9 10 12 15 -0 1 3 5 6 8 9 10 13 14 -0 1 3 5 6 8 9 10 13 15 -0 1 3 5 6 8 9 10 14 15 -0 1 3 5 6 8 9 11 12 13 -0 1 3 5 6 8 9 11 12 14 -0 1 3 5 6 8 9 11 12 15 -0 1 3 5 6 8 9 11 13 14 -0 1 3 5 6 8 9 11 13 15 -0 1 3 5 6 8 9 11 14 15 -0 1 3 5 6 8 9 12 13 14 -0 1 3 5 6 8 9 12 13 15 -0 1 3 5 6 8 9 12 14 15 -0 1 3 5 6 8 9 13 14 15 -0 1 3 5 6 8 10 11 12 13 -0 1 3 5 6 8 10 11 12 14 -0 1 3 5 6 8 10 11 12 15 -0 1 3 5 6 8 10 11 13 14 -0 1 3 5 6 8 10 11 13 15 -0 1 3 5 6 8 10 11 14 15 -0 1 3 5 6 8 10 12 13 14 -0 1 3 5 6 8 10 12 13 15 -0 1 3 5 6 8 10 12 14 15 -0 1 3 5 6 8 10 13 14 15 -0 1 3 5 6 8 11 12 13 14 -0 1 3 5 6 8 11 12 13 15 -0 1 3 5 6 8 11 12 14 15 -0 1 3 5 6 8 11 13 14 15 -0 1 3 5 6 8 12 13 14 15 -0 1 3 5 6 9 10 11 12 13 -0 1 3 5 6 9 10 11 12 14 -0 1 3 5 6 9 10 11 12 15 -0 1 3 5 6 9 10 11 13 14 -0 1 3 5 6 9 10 11 13 15 -0 1 3 5 6 9 10 11 14 15 -0 1 3 5 6 9 10 12 13 14 -0 1 3 5 6 9 10 12 13 15 -0 1 3 5 6 9 10 12 14 15 -0 1 3 5 6 9 10 13 14 15 -0 1 3 5 6 9 11 12 13 14 -0 1 3 5 6 9 11 12 13 15 -0 1 3 5 6 9 11 12 14 15 -0 1 3 5 6 9 11 13 14 15 -0 1 3 5 6 9 12 13 14 15 -0 1 3 5 6 10 11 12 13 14 -0 1 3 5 6 10 11 12 13 15 -0 1 3 5 6 10 11 12 14 15 -0 1 3 5 6 10 11 13 14 15 -0 1 3 5 6 10 12 13 14 15 -0 1 3 5 6 11 12 13 14 15 -0 1 3 5 7 8 9 10 11 12 -0 1 3 5 7 8 9 10 11 13 -0 1 3 5 7 8 9 10 11 14 -0 1 3 5 7 8 9 10 11 15 -0 1 3 5 7 8 9 10 12 13 -0 1 3 5 7 8 9 10 12 14 -0 1 3 5 7 8 9 10 12 15 -0 1 3 5 7 8 9 10 13 14 -0 1 3 5 7 8 9 10 13 15 -0 1 3 5 7 8 9 10 14 15 -0 1 3 5 7 8 9 11 12 13 -0 1 3 5 7 8 9 11 12 14 -0 1 3 5 7 8 9 11 12 15 -0 1 3 5 7 8 9 11 13 14 -0 1 3 5 7 8 9 11 13 15 -0 1 3 5 7 8 9 11 14 15 -0 1 3 5 7 8 9 12 13 14 -0 1 3 5 7 8 9 12 13 15 -0 1 3 5 7 8 9 12 14 15 -0 1 3 5 7 8 9 13 14 15 -0 1 3 5 7 8 10 11 12 13 -0 1 3 5 7 8 10 11 12 14 -0 1 3 5 7 8 10 11 12 15 -0 1 3 5 7 8 10 11 13 14 -0 1 3 5 7 8 10 11 13 15 -0 1 3 5 7 8 10 11 14 15 -0 1 3 5 7 8 10 12 13 14 -0 1 3 5 7 8 10 12 13 15 -0 1 3 5 7 8 10 12 14 15 -0 1 3 5 7 8 10 13 14 15 -0 1 3 5 7 8 11 12 13 14 -0 1 3 5 7 8 11 12 13 15 -0 1 3 5 7 8 11 12 14 15 -0 1 3 5 7 8 11 13 14 15 -0 1 3 5 7 8 12 13 14 15 -0 1 3 5 7 9 10 11 12 13 -0 1 3 5 7 9 10 11 12 14 -0 1 3 5 7 9 10 11 12 15 -0 1 3 5 7 9 10 11 13 14 -0 1 3 5 7 9 10 11 13 15 -0 1 3 5 7 9 10 11 14 15 -0 1 3 5 7 9 10 12 13 14 -0 1 3 5 7 9 10 12 13 15 -0 1 3 5 7 9 10 12 14 15 -0 1 3 5 7 9 10 13 14 15 -0 1 3 5 7 9 11 12 13 14 -0 1 3 5 7 9 11 12 13 15 -0 1 3 5 7 9 11 12 14 15 -0 1 3 5 7 9 11 13 14 15 -0 1 3 5 7 9 12 13 14 15 -0 1 3 5 7 10 11 12 13 14 -0 1 3 5 7 10 11 12 13 15 -0 1 3 5 7 10 11 12 14 15 -0 1 3 5 7 10 11 13 14 15 -0 1 3 5 7 10 12 13 14 15 -0 1 3 5 7 11 12 13 14 15 -0 1 3 5 8 9 10 11 12 13 -0 1 3 5 8 9 10 11 12 14 -0 1 3 5 8 9 10 11 12 15 -0 1 3 5 8 9 10 11 13 14 -0 1 3 5 8 9 10 11 13 15 -0 1 3 5 8 9 10 11 14 15 -0 1 3 5 8 9 10 12 13 14 -0 1 3 5 8 9 10 12 13 15 -0 1 3 5 8 9 10 12 14 15 -0 1 3 5 8 9 10 13 14 15 -0 1 3 5 8 9 11 12 13 14 -0 1 3 5 8 9 11 12 13 15 -0 1 3 5 8 9 11 12 14 15 -0 1 3 5 8 9 11 13 14 15 -0 1 3 5 8 9 12 13 14 15 -0 1 3 5 8 10 11 12 13 14 -0 1 3 5 8 10 11 12 13 15 -0 1 3 5 8 10 11 12 14 15 -0 1 3 5 8 10 11 13 14 15 -0 1 3 5 8 10 12 13 14 15 -0 1 3 5 8 11 12 13 14 15 -0 1 3 5 9 10 11 12 13 14 -0 1 3 5 9 10 11 12 13 15 -0 1 3 5 9 10 11 12 14 15 -0 1 3 5 9 10 11 13 14 15 -0 1 3 5 9 10 12 13 14 15 -0 1 3 5 9 11 12 13 14 15 -0 1 3 5 10 11 12 13 14 15 -0 1 3 6 7 8 9 10 11 12 -0 1 3 6 7 8 9 10 11 13 -0 1 3 6 7 8 9 10 11 14 -0 1 3 6 7 8 9 10 11 15 -0 1 3 6 7 8 9 10 12 13 -0 1 3 6 7 8 9 10 12 14 -0 1 3 6 7 8 9 10 12 15 -0 1 3 6 7 8 9 10 13 14 -0 1 3 6 7 8 9 10 13 15 -0 1 3 6 7 8 9 10 14 15 -0 1 3 6 7 8 9 11 12 13 -0 1 3 6 7 8 9 11 12 14 -0 1 3 6 7 8 9 11 12 15 -0 1 3 6 7 8 9 11 13 14 -0 1 3 6 7 8 9 11 13 15 -0 1 3 6 7 8 9 11 14 15 -0 1 3 6 7 8 9 12 13 14 -0 1 3 6 7 8 9 12 13 15 -0 1 3 6 7 8 9 12 14 15 -0 1 3 6 7 8 9 13 14 15 -0 1 3 6 7 8 10 11 12 13 -0 1 3 6 7 8 10 11 12 14 -0 1 3 6 7 8 10 11 12 15 -0 1 3 6 7 8 10 11 13 14 -0 1 3 6 7 8 10 11 13 15 -0 1 3 6 7 8 10 11 14 15 -0 1 3 6 7 8 10 12 13 14 -0 1 3 6 7 8 10 12 13 15 -0 1 3 6 7 8 10 12 14 15 -0 1 3 6 7 8 10 13 14 15 -0 1 3 6 7 8 11 12 13 14 -0 1 3 6 7 8 11 12 13 15 -0 1 3 6 7 8 11 12 14 15 -0 1 3 6 7 8 11 13 14 15 -0 1 3 6 7 8 12 13 14 15 -0 1 3 6 7 9 10 11 12 13 -0 1 3 6 7 9 10 11 12 14 -0 1 3 6 7 9 10 11 12 15 -0 1 3 6 7 9 10 11 13 14 -0 1 3 6 7 9 10 11 13 15 -0 1 3 6 7 9 10 11 14 15 -0 1 3 6 7 9 10 12 13 14 -0 1 3 6 7 9 10 12 13 15 -0 1 3 6 7 9 10 12 14 15 -0 1 3 6 7 9 10 13 14 15 -0 1 3 6 7 9 11 12 13 14 -0 1 3 6 7 9 11 12 13 15 -0 1 3 6 7 9 11 12 14 15 -0 1 3 6 7 9 11 13 14 15 -0 1 3 6 7 9 12 13 14 15 -0 1 3 6 7 10 11 12 13 14 -0 1 3 6 7 10 11 12 13 15 -0 1 3 6 7 10 11 12 14 15 -0 1 3 6 7 10 11 13 14 15 -0 1 3 6 7 10 12 13 14 15 -0 1 3 6 7 11 12 13 14 15 -0 1 3 6 8 9 10 11 12 13 -0 1 3 6 8 9 10 11 12 14 -0 1 3 6 8 9 10 11 12 15 -0 1 3 6 8 9 10 11 13 14 -0 1 3 6 8 9 10 11 13 15 -0 1 3 6 8 9 10 11 14 15 -0 1 3 6 8 9 10 12 13 14 -0 1 3 6 8 9 10 12 13 15 -0 1 3 6 8 9 10 12 14 15 -0 1 3 6 8 9 10 13 14 15 -0 1 3 6 8 9 11 12 13 14 -0 1 3 6 8 9 11 12 13 15 -0 1 3 6 8 9 11 12 14 15 -0 1 3 6 8 9 11 13 14 15 -0 1 3 6 8 9 12 13 14 15 -0 1 3 6 8 10 11 12 13 14 -0 1 3 6 8 10 11 12 13 15 -0 1 3 6 8 10 11 12 14 15 -0 1 3 6 8 10 11 13 14 15 -0 1 3 6 8 10 12 13 14 15 -0 1 3 6 8 11 12 13 14 15 -0 1 3 6 9 10 11 12 13 14 -0 1 3 6 9 10 11 12 13 15 -0 1 3 6 9 10 11 12 14 15 -0 1 3 6 9 10 11 13 14 15 -0 1 3 6 9 10 12 13 14 15 -0 1 3 6 9 11 12 13 14 15 -0 1 3 6 10 11 12 13 14 15 -0 1 3 7 8 9 10 11 12 13 -0 1 3 7 8 9 10 11 12 14 -0 1 3 7 8 9 10 11 12 15 -0 1 3 7 8 9 10 11 13 14 -0 1 3 7 8 9 10 11 13 15 -0 1 3 7 8 9 10 11 14 15 -0 1 3 7 8 9 10 12 13 14 -0 1 3 7 8 9 10 12 13 15 -0 1 3 7 8 9 10 12 14 15 -0 1 3 7 8 9 10 13 14 15 -0 1 3 7 8 9 11 12 13 14 -0 1 3 7 8 9 11 12 13 15 -0 1 3 7 8 9 11 12 14 15 -0 1 3 7 8 9 11 13 14 15 -0 1 3 7 8 9 12 13 14 15 -0 1 3 7 8 10 11 12 13 14 -0 1 3 7 8 10 11 12 13 15 -0 1 3 7 8 10 11 12 14 15 -0 1 3 7 8 10 11 13 14 15 -0 1 3 7 8 10 12 13 14 15 -0 1 3 7 8 11 12 13 14 15 -0 1 3 7 9 10 11 12 13 14 -0 1 3 7 9 10 11 12 13 15 -0 1 3 7 9 10 11 12 14 15 -0 1 3 7 9 10 11 13 14 15 -0 1 3 7 9 10 12 13 14 15 -0 1 3 7 9 11 12 13 14 15 -0 1 3 7 10 11 12 13 14 15 -0 1 3 8 9 10 11 12 13 14 -0 1 3 8 9 10 11 12 13 15 -0 1 3 8 9 10 11 12 14 15 -0 1 3 8 9 10 11 13 14 15 -0 1 3 8 9 10 12 13 14 15 -0 1 3 8 9 11 12 13 14 15 -0 1 3 8 10 11 12 13 14 15 -0 1 3 9 10 11 12 13 14 15 -0 1 4 5 6 7 8 9 10 11 -0 1 4 5 6 7 8 9 10 12 -0 1 4 5 6 7 8 9 10 13 -0 1 4 5 6 7 8 9 10 14 -0 1 4 5 6 7 8 9 10 15 -0 1 4 5 6 7 8 9 11 12 -0 1 4 5 6 7 8 9 11 13 -0 1 4 5 6 7 8 9 11 14 -0 1 4 5 6 7 8 9 11 15 -0 1 4 5 6 7 8 9 12 13 -0 1 4 5 6 7 8 9 12 14 -0 1 4 5 6 7 8 9 12 15 -0 1 4 5 6 7 8 9 13 14 -0 1 4 5 6 7 8 9 13 15 -0 1 4 5 6 7 8 9 14 15 -0 1 4 5 6 7 8 10 11 12 -0 1 4 5 6 7 8 10 11 13 -0 1 4 5 6 7 8 10 11 14 -0 1 4 5 6 7 8 10 11 15 -0 1 4 5 6 7 8 10 12 13 -0 1 4 5 6 7 8 10 12 14 -0 1 4 5 6 7 8 10 12 15 -0 1 4 5 6 7 8 10 13 14 -0 1 4 5 6 7 8 10 13 15 -0 1 4 5 6 7 8 10 14 15 -0 1 4 5 6 7 8 11 12 13 -0 1 4 5 6 7 8 11 12 14 -0 1 4 5 6 7 8 11 12 15 -0 1 4 5 6 7 8 11 13 14 -0 1 4 5 6 7 8 11 13 15 -0 1 4 5 6 7 8 11 14 15 -0 1 4 5 6 7 8 12 13 14 -0 1 4 5 6 7 8 12 13 15 -0 1 4 5 6 7 8 12 14 15 -0 1 4 5 6 7 8 13 14 15 -0 1 4 5 6 7 9 10 11 12 -0 1 4 5 6 7 9 10 11 13 -0 1 4 5 6 7 9 10 11 14 -0 1 4 5 6 7 9 10 11 15 -0 1 4 5 6 7 9 10 12 13 -0 1 4 5 6 7 9 10 12 14 -0 1 4 5 6 7 9 10 12 15 -0 1 4 5 6 7 9 10 13 14 -0 1 4 5 6 7 9 10 13 15 -0 1 4 5 6 7 9 10 14 15 -0 1 4 5 6 7 9 11 12 13 -0 1 4 5 6 7 9 11 12 14 -0 1 4 5 6 7 9 11 12 15 -0 1 4 5 6 7 9 11 13 14 -0 1 4 5 6 7 9 11 13 15 -0 1 4 5 6 7 9 11 14 15 -0 1 4 5 6 7 9 12 13 14 -0 1 4 5 6 7 9 12 13 15 -0 1 4 5 6 7 9 12 14 15 -0 1 4 5 6 7 9 13 14 15 -0 1 4 5 6 7 10 11 12 13 -0 1 4 5 6 7 10 11 12 14 -0 1 4 5 6 7 10 11 12 15 -0 1 4 5 6 7 10 11 13 14 -0 1 4 5 6 7 10 11 13 15 -0 1 4 5 6 7 10 11 14 15 -0 1 4 5 6 7 10 12 13 14 -0 1 4 5 6 7 10 12 13 15 -0 1 4 5 6 7 10 12 14 15 -0 1 4 5 6 7 10 13 14 15 -0 1 4 5 6 7 11 12 13 14 -0 1 4 5 6 7 11 12 13 15 -0 1 4 5 6 7 11 12 14 15 -0 1 4 5 6 7 11 13 14 15 -0 1 4 5 6 7 12 13 14 15 -0 1 4 5 6 8 9 10 11 12 -0 1 4 5 6 8 9 10 11 13 -0 1 4 5 6 8 9 10 11 14 -0 1 4 5 6 8 9 10 11 15 -0 1 4 5 6 8 9 10 12 13 -0 1 4 5 6 8 9 10 12 14 -0 1 4 5 6 8 9 10 12 15 -0 1 4 5 6 8 9 10 13 14 -0 1 4 5 6 8 9 10 13 15 -0 1 4 5 6 8 9 10 14 15 -0 1 4 5 6 8 9 11 12 13 -0 1 4 5 6 8 9 11 12 14 -0 1 4 5 6 8 9 11 12 15 -0 1 4 5 6 8 9 11 13 14 -0 1 4 5 6 8 9 11 13 15 -0 1 4 5 6 8 9 11 14 15 -0 1 4 5 6 8 9 12 13 14 -0 1 4 5 6 8 9 12 13 15 -0 1 4 5 6 8 9 12 14 15 -0 1 4 5 6 8 9 13 14 15 -0 1 4 5 6 8 10 11 12 13 -0 1 4 5 6 8 10 11 12 14 -0 1 4 5 6 8 10 11 12 15 -0 1 4 5 6 8 10 11 13 14 -0 1 4 5 6 8 10 11 13 15 -0 1 4 5 6 8 10 11 14 15 -0 1 4 5 6 8 10 12 13 14 -0 1 4 5 6 8 10 12 13 15 -0 1 4 5 6 8 10 12 14 15 -0 1 4 5 6 8 10 13 14 15 -0 1 4 5 6 8 11 12 13 14 -0 1 4 5 6 8 11 12 13 15 -0 1 4 5 6 8 11 12 14 15 -0 1 4 5 6 8 11 13 14 15 -0 1 4 5 6 8 12 13 14 15 -0 1 4 5 6 9 10 11 12 13 -0 1 4 5 6 9 10 11 12 14 -0 1 4 5 6 9 10 11 12 15 -0 1 4 5 6 9 10 11 13 14 -0 1 4 5 6 9 10 11 13 15 -0 1 4 5 6 9 10 11 14 15 -0 1 4 5 6 9 10 12 13 14 -0 1 4 5 6 9 10 12 13 15 -0 1 4 5 6 9 10 12 14 15 -0 1 4 5 6 9 10 13 14 15 -0 1 4 5 6 9 11 12 13 14 -0 1 4 5 6 9 11 12 13 15 -0 1 4 5 6 9 11 12 14 15 -0 1 4 5 6 9 11 13 14 15 -0 1 4 5 6 9 12 13 14 15 -0 1 4 5 6 10 11 12 13 14 -0 1 4 5 6 10 11 12 13 15 -0 1 4 5 6 10 11 12 14 15 -0 1 4 5 6 10 11 13 14 15 -0 1 4 5 6 10 12 13 14 15 -0 1 4 5 6 11 12 13 14 15 -0 1 4 5 7 8 9 10 11 12 -0 1 4 5 7 8 9 10 11 13 -0 1 4 5 7 8 9 10 11 14 -0 1 4 5 7 8 9 10 11 15 -0 1 4 5 7 8 9 10 12 13 -0 1 4 5 7 8 9 10 12 14 -0 1 4 5 7 8 9 10 12 15 -0 1 4 5 7 8 9 10 13 14 -0 1 4 5 7 8 9 10 13 15 -0 1 4 5 7 8 9 10 14 15 -0 1 4 5 7 8 9 11 12 13 -0 1 4 5 7 8 9 11 12 14 -0 1 4 5 7 8 9 11 12 15 -0 1 4 5 7 8 9 11 13 14 -0 1 4 5 7 8 9 11 13 15 -0 1 4 5 7 8 9 11 14 15 -0 1 4 5 7 8 9 12 13 14 -0 1 4 5 7 8 9 12 13 15 -0 1 4 5 7 8 9 12 14 15 -0 1 4 5 7 8 9 13 14 15 -0 1 4 5 7 8 10 11 12 13 -0 1 4 5 7 8 10 11 12 14 -0 1 4 5 7 8 10 11 12 15 -0 1 4 5 7 8 10 11 13 14 -0 1 4 5 7 8 10 11 13 15 -0 1 4 5 7 8 10 11 14 15 -0 1 4 5 7 8 10 12 13 14 -0 1 4 5 7 8 10 12 13 15 -0 1 4 5 7 8 10 12 14 15 -0 1 4 5 7 8 10 13 14 15 -0 1 4 5 7 8 11 12 13 14 -0 1 4 5 7 8 11 12 13 15 -0 1 4 5 7 8 11 12 14 15 -0 1 4 5 7 8 11 13 14 15 -0 1 4 5 7 8 12 13 14 15 -0 1 4 5 7 9 10 11 12 13 -0 1 4 5 7 9 10 11 12 14 -0 1 4 5 7 9 10 11 12 15 -0 1 4 5 7 9 10 11 13 14 -0 1 4 5 7 9 10 11 13 15 -0 1 4 5 7 9 10 11 14 15 -0 1 4 5 7 9 10 12 13 14 -0 1 4 5 7 9 10 12 13 15 -0 1 4 5 7 9 10 12 14 15 -0 1 4 5 7 9 10 13 14 15 -0 1 4 5 7 9 11 12 13 14 -0 1 4 5 7 9 11 12 13 15 -0 1 4 5 7 9 11 12 14 15 -0 1 4 5 7 9 11 13 14 15 -0 1 4 5 7 9 12 13 14 15 -0 1 4 5 7 10 11 12 13 14 -0 1 4 5 7 10 11 12 13 15 -0 1 4 5 7 10 11 12 14 15 -0 1 4 5 7 10 11 13 14 15 -0 1 4 5 7 10 12 13 14 15 -0 1 4 5 7 11 12 13 14 15 -0 1 4 5 8 9 10 11 12 13 -0 1 4 5 8 9 10 11 12 14 -0 1 4 5 8 9 10 11 12 15 -0 1 4 5 8 9 10 11 13 14 -0 1 4 5 8 9 10 11 13 15 -0 1 4 5 8 9 10 11 14 15 -0 1 4 5 8 9 10 12 13 14 -0 1 4 5 8 9 10 12 13 15 -0 1 4 5 8 9 10 12 14 15 -0 1 4 5 8 9 10 13 14 15 -0 1 4 5 8 9 11 12 13 14 -0 1 4 5 8 9 11 12 13 15 -0 1 4 5 8 9 11 12 14 15 -0 1 4 5 8 9 11 13 14 15 -0 1 4 5 8 9 12 13 14 15 -0 1 4 5 8 10 11 12 13 14 -0 1 4 5 8 10 11 12 13 15 -0 1 4 5 8 10 11 12 14 15 -0 1 4 5 8 10 11 13 14 15 -0 1 4 5 8 10 12 13 14 15 -0 1 4 5 8 11 12 13 14 15 -0 1 4 5 9 10 11 12 13 14 -0 1 4 5 9 10 11 12 13 15 -0 1 4 5 9 10 11 12 14 15 -0 1 4 5 9 10 11 13 14 15 -0 1 4 5 9 10 12 13 14 15 -0 1 4 5 9 11 12 13 14 15 -0 1 4 5 10 11 12 13 14 15 -0 1 4 6 7 8 9 10 11 12 -0 1 4 6 7 8 9 10 11 13 -0 1 4 6 7 8 9 10 11 14 -0 1 4 6 7 8 9 10 11 15 -0 1 4 6 7 8 9 10 12 13 -0 1 4 6 7 8 9 10 12 14 -0 1 4 6 7 8 9 10 12 15 -0 1 4 6 7 8 9 10 13 14 -0 1 4 6 7 8 9 10 13 15 -0 1 4 6 7 8 9 10 14 15 -0 1 4 6 7 8 9 11 12 13 -0 1 4 6 7 8 9 11 12 14 -0 1 4 6 7 8 9 11 12 15 -0 1 4 6 7 8 9 11 13 14 -0 1 4 6 7 8 9 11 13 15 -0 1 4 6 7 8 9 11 14 15 -0 1 4 6 7 8 9 12 13 14 -0 1 4 6 7 8 9 12 13 15 -0 1 4 6 7 8 9 12 14 15 -0 1 4 6 7 8 9 13 14 15 -0 1 4 6 7 8 10 11 12 13 -0 1 4 6 7 8 10 11 12 14 -0 1 4 6 7 8 10 11 12 15 -0 1 4 6 7 8 10 11 13 14 -0 1 4 6 7 8 10 11 13 15 -0 1 4 6 7 8 10 11 14 15 -0 1 4 6 7 8 10 12 13 14 -0 1 4 6 7 8 10 12 13 15 -0 1 4 6 7 8 10 12 14 15 -0 1 4 6 7 8 10 13 14 15 -0 1 4 6 7 8 11 12 13 14 -0 1 4 6 7 8 11 12 13 15 -0 1 4 6 7 8 11 12 14 15 -0 1 4 6 7 8 11 13 14 15 -0 1 4 6 7 8 12 13 14 15 -0 1 4 6 7 9 10 11 12 13 -0 1 4 6 7 9 10 11 12 14 -0 1 4 6 7 9 10 11 12 15 -0 1 4 6 7 9 10 11 13 14 -0 1 4 6 7 9 10 11 13 15 -0 1 4 6 7 9 10 11 14 15 -0 1 4 6 7 9 10 12 13 14 -0 1 4 6 7 9 10 12 13 15 -0 1 4 6 7 9 10 12 14 15 -0 1 4 6 7 9 10 13 14 15 -0 1 4 6 7 9 11 12 13 14 -0 1 4 6 7 9 11 12 13 15 -0 1 4 6 7 9 11 12 14 15 -0 1 4 6 7 9 11 13 14 15 -0 1 4 6 7 9 12 13 14 15 -0 1 4 6 7 10 11 12 13 14 -0 1 4 6 7 10 11 12 13 15 -0 1 4 6 7 10 11 12 14 15 -0 1 4 6 7 10 11 13 14 15 -0 1 4 6 7 10 12 13 14 15 -0 1 4 6 7 11 12 13 14 15 -0 1 4 6 8 9 10 11 12 13 -0 1 4 6 8 9 10 11 12 14 -0 1 4 6 8 9 10 11 12 15 -0 1 4 6 8 9 10 11 13 14 -0 1 4 6 8 9 10 11 13 15 -0 1 4 6 8 9 10 11 14 15 -0 1 4 6 8 9 10 12 13 14 -0 1 4 6 8 9 10 12 13 15 -0 1 4 6 8 9 10 12 14 15 -0 1 4 6 8 9 10 13 14 15 -0 1 4 6 8 9 11 12 13 14 -0 1 4 6 8 9 11 12 13 15 -0 1 4 6 8 9 11 12 14 15 -0 1 4 6 8 9 11 13 14 15 -0 1 4 6 8 9 12 13 14 15 -0 1 4 6 8 10 11 12 13 14 -0 1 4 6 8 10 11 12 13 15 -0 1 4 6 8 10 11 12 14 15 -0 1 4 6 8 10 11 13 14 15 -0 1 4 6 8 10 12 13 14 15 -0 1 4 6 8 11 12 13 14 15 -0 1 4 6 9 10 11 12 13 14 -0 1 4 6 9 10 11 12 13 15 -0 1 4 6 9 10 11 12 14 15 -0 1 4 6 9 10 11 13 14 15 -0 1 4 6 9 10 12 13 14 15 -0 1 4 6 9 11 12 13 14 15 -0 1 4 6 10 11 12 13 14 15 -0 1 4 7 8 9 10 11 12 13 -0 1 4 7 8 9 10 11 12 14 -0 1 4 7 8 9 10 11 12 15 -0 1 4 7 8 9 10 11 13 14 -0 1 4 7 8 9 10 11 13 15 -0 1 4 7 8 9 10 11 14 15 -0 1 4 7 8 9 10 12 13 14 -0 1 4 7 8 9 10 12 13 15 -0 1 4 7 8 9 10 12 14 15 -0 1 4 7 8 9 10 13 14 15 -0 1 4 7 8 9 11 12 13 14 -0 1 4 7 8 9 11 12 13 15 -0 1 4 7 8 9 11 12 14 15 -0 1 4 7 8 9 11 13 14 15 -0 1 4 7 8 9 12 13 14 15 -0 1 4 7 8 10 11 12 13 14 -0 1 4 7 8 10 11 12 13 15 -0 1 4 7 8 10 11 12 14 15 -0 1 4 7 8 10 11 13 14 15 -0 1 4 7 8 10 12 13 14 15 -0 1 4 7 8 11 12 13 14 15 -0 1 4 7 9 10 11 12 13 14 -0 1 4 7 9 10 11 12 13 15 -0 1 4 7 9 10 11 12 14 15 -0 1 4 7 9 10 11 13 14 15 -0 1 4 7 9 10 12 13 14 15 -0 1 4 7 9 11 12 13 14 15 -0 1 4 7 10 11 12 13 14 15 -0 1 4 8 9 10 11 12 13 14 -0 1 4 8 9 10 11 12 13 15 -0 1 4 8 9 10 11 12 14 15 -0 1 4 8 9 10 11 13 14 15 -0 1 4 8 9 10 12 13 14 15 -0 1 4 8 9 11 12 13 14 15 -0 1 4 8 10 11 12 13 14 15 -0 1 4 9 10 11 12 13 14 15 -0 1 5 6 7 8 9 10 11 12 -0 1 5 6 7 8 9 10 11 13 -0 1 5 6 7 8 9 10 11 14 -0 1 5 6 7 8 9 10 11 15 -0 1 5 6 7 8 9 10 12 13 -0 1 5 6 7 8 9 10 12 14 -0 1 5 6 7 8 9 10 12 15 -0 1 5 6 7 8 9 10 13 14 -0 1 5 6 7 8 9 10 13 15 -0 1 5 6 7 8 9 10 14 15 -0 1 5 6 7 8 9 11 12 13 -0 1 5 6 7 8 9 11 12 14 -0 1 5 6 7 8 9 11 12 15 -0 1 5 6 7 8 9 11 13 14 -0 1 5 6 7 8 9 11 13 15 -0 1 5 6 7 8 9 11 14 15 -0 1 5 6 7 8 9 12 13 14 -0 1 5 6 7 8 9 12 13 15 -0 1 5 6 7 8 9 12 14 15 -0 1 5 6 7 8 9 13 14 15 -0 1 5 6 7 8 10 11 12 13 -0 1 5 6 7 8 10 11 12 14 -0 1 5 6 7 8 10 11 12 15 -0 1 5 6 7 8 10 11 13 14 -0 1 5 6 7 8 10 11 13 15 -0 1 5 6 7 8 10 11 14 15 -0 1 5 6 7 8 10 12 13 14 -0 1 5 6 7 8 10 12 13 15 -0 1 5 6 7 8 10 12 14 15 -0 1 5 6 7 8 10 13 14 15 -0 1 5 6 7 8 11 12 13 14 -0 1 5 6 7 8 11 12 13 15 -0 1 5 6 7 8 11 12 14 15 -0 1 5 6 7 8 11 13 14 15 -0 1 5 6 7 8 12 13 14 15 -0 1 5 6 7 9 10 11 12 13 -0 1 5 6 7 9 10 11 12 14 -0 1 5 6 7 9 10 11 12 15 -0 1 5 6 7 9 10 11 13 14 -0 1 5 6 7 9 10 11 13 15 -0 1 5 6 7 9 10 11 14 15 -0 1 5 6 7 9 10 12 13 14 -0 1 5 6 7 9 10 12 13 15 -0 1 5 6 7 9 10 12 14 15 -0 1 5 6 7 9 10 13 14 15 -0 1 5 6 7 9 11 12 13 14 -0 1 5 6 7 9 11 12 13 15 -0 1 5 6 7 9 11 12 14 15 -0 1 5 6 7 9 11 13 14 15 -0 1 5 6 7 9 12 13 14 15 -0 1 5 6 7 10 11 12 13 14 -0 1 5 6 7 10 11 12 13 15 -0 1 5 6 7 10 11 12 14 15 -0 1 5 6 7 10 11 13 14 15 -0 1 5 6 7 10 12 13 14 15 -0 1 5 6 7 11 12 13 14 15 -0 1 5 6 8 9 10 11 12 13 -0 1 5 6 8 9 10 11 12 14 -0 1 5 6 8 9 10 11 12 15 -0 1 5 6 8 9 10 11 13 14 -0 1 5 6 8 9 10 11 13 15 -0 1 5 6 8 9 10 11 14 15 -0 1 5 6 8 9 10 12 13 14 -0 1 5 6 8 9 10 12 13 15 -0 1 5 6 8 9 10 12 14 15 -0 1 5 6 8 9 10 13 14 15 -0 1 5 6 8 9 11 12 13 14 -0 1 5 6 8 9 11 12 13 15 -0 1 5 6 8 9 11 12 14 15 -0 1 5 6 8 9 11 13 14 15 -0 1 5 6 8 9 12 13 14 15 -0 1 5 6 8 10 11 12 13 14 -0 1 5 6 8 10 11 12 13 15 -0 1 5 6 8 10 11 12 14 15 -0 1 5 6 8 10 11 13 14 15 -0 1 5 6 8 10 12 13 14 15 -0 1 5 6 8 11 12 13 14 15 -0 1 5 6 9 10 11 12 13 14 -0 1 5 6 9 10 11 12 13 15 -0 1 5 6 9 10 11 12 14 15 -0 1 5 6 9 10 11 13 14 15 -0 1 5 6 9 10 12 13 14 15 -0 1 5 6 9 11 12 13 14 15 -0 1 5 6 10 11 12 13 14 15 -0 1 5 7 8 9 10 11 12 13 -0 1 5 7 8 9 10 11 12 14 -0 1 5 7 8 9 10 11 12 15 -0 1 5 7 8 9 10 11 13 14 -0 1 5 7 8 9 10 11 13 15 -0 1 5 7 8 9 10 11 14 15 -0 1 5 7 8 9 10 12 13 14 -0 1 5 7 8 9 10 12 13 15 -0 1 5 7 8 9 10 12 14 15 -0 1 5 7 8 9 10 13 14 15 -0 1 5 7 8 9 11 12 13 14 -0 1 5 7 8 9 11 12 13 15 -0 1 5 7 8 9 11 12 14 15 -0 1 5 7 8 9 11 13 14 15 -0 1 5 7 8 9 12 13 14 15 -0 1 5 7 8 10 11 12 13 14 -0 1 5 7 8 10 11 12 13 15 -0 1 5 7 8 10 11 12 14 15 -0 1 5 7 8 10 11 13 14 15 -0 1 5 7 8 10 12 13 14 15 -0 1 5 7 8 11 12 13 14 15 -0 1 5 7 9 10 11 12 13 14 -0 1 5 7 9 10 11 12 13 15 -0 1 5 7 9 10 11 12 14 15 -0 1 5 7 9 10 11 13 14 15 -0 1 5 7 9 10 12 13 14 15 -0 1 5 7 9 11 12 13 14 15 -0 1 5 7 10 11 12 13 14 15 -0 1 5 8 9 10 11 12 13 14 -0 1 5 8 9 10 11 12 13 15 -0 1 5 8 9 10 11 12 14 15 -0 1 5 8 9 10 11 13 14 15 -0 1 5 8 9 10 12 13 14 15 -0 1 5 8 9 11 12 13 14 15 -0 1 5 8 10 11 12 13 14 15 -0 1 5 9 10 11 12 13 14 15 -0 1 6 7 8 9 10 11 12 13 -0 1 6 7 8 9 10 11 12 14 -0 1 6 7 8 9 10 11 12 15 -0 1 6 7 8 9 10 11 13 14 -0 1 6 7 8 9 10 11 13 15 -0 1 6 7 8 9 10 11 14 15 -0 1 6 7 8 9 10 12 13 14 -0 1 6 7 8 9 10 12 13 15 -0 1 6 7 8 9 10 12 14 15 -0 1 6 7 8 9 10 13 14 15 -0 1 6 7 8 9 11 12 13 14 -0 1 6 7 8 9 11 12 13 15 -0 1 6 7 8 9 11 12 14 15 -0 1 6 7 8 9 11 13 14 15 -0 1 6 7 8 9 12 13 14 15 -0 1 6 7 8 10 11 12 13 14 -0 1 6 7 8 10 11 12 13 15 -0 1 6 7 8 10 11 12 14 15 -0 1 6 7 8 10 11 13 14 15 -0 1 6 7 8 10 12 13 14 15 -0 1 6 7 8 11 12 13 14 15 -0 1 6 7 9 10 11 12 13 14 -0 1 6 7 9 10 11 12 13 15 -0 1 6 7 9 10 11 12 14 15 -0 1 6 7 9 10 11 13 14 15 -0 1 6 7 9 10 12 13 14 15 -0 1 6 7 9 11 12 13 14 15 -0 1 6 7 10 11 12 13 14 15 -0 1 6 8 9 10 11 12 13 14 -0 1 6 8 9 10 11 12 13 15 -0 1 6 8 9 10 11 12 14 15 -0 1 6 8 9 10 11 13 14 15 -0 1 6 8 9 10 12 13 14 15 -0 1 6 8 9 11 12 13 14 15 -0 1 6 8 10 11 12 13 14 15 -0 1 6 9 10 11 12 13 14 15 -0 1 7 8 9 10 11 12 13 14 -0 1 7 8 9 10 11 12 13 15 -0 1 7 8 9 10 11 12 14 15 -0 1 7 8 9 10 11 13 14 15 -0 1 7 8 9 10 12 13 14 15 -0 1 7 8 9 11 12 13 14 15 -0 1 7 8 10 11 12 13 14 15 -0 1 7 9 10 11 12 13 14 15 -0 1 8 9 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 9 10 -0 2 3 4 5 6 7 8 9 11 -0 2 3 4 5 6 7 8 9 12 -0 2 3 4 5 6 7 8 9 13 -0 2 3 4 5 6 7 8 9 14 -0 2 3 4 5 6 7 8 9 15 -0 2 3 4 5 6 7 8 10 11 -0 2 3 4 5 6 7 8 10 12 -0 2 3 4 5 6 7 8 10 13 -0 2 3 4 5 6 7 8 10 14 -0 2 3 4 5 6 7 8 10 15 -0 2 3 4 5 6 7 8 11 12 -0 2 3 4 5 6 7 8 11 13 -0 2 3 4 5 6 7 8 11 14 -0 2 3 4 5 6 7 8 11 15 -0 2 3 4 5 6 7 8 12 13 -0 2 3 4 5 6 7 8 12 14 -0 2 3 4 5 6 7 8 12 15 -0 2 3 4 5 6 7 8 13 14 -0 2 3 4 5 6 7 8 13 15 -0 2 3 4 5 6 7 8 14 15 -0 2 3 4 5 6 7 9 10 11 -0 2 3 4 5 6 7 9 10 12 -0 2 3 4 5 6 7 9 10 13 -0 2 3 4 5 6 7 9 10 14 -0 2 3 4 5 6 7 9 10 15 -0 2 3 4 5 6 7 9 11 12 -0 2 3 4 5 6 7 9 11 13 -0 2 3 4 5 6 7 9 11 14 -0 2 3 4 5 6 7 9 11 15 -0 2 3 4 5 6 7 9 12 13 -0 2 3 4 5 6 7 9 12 14 -0 2 3 4 5 6 7 9 12 15 -0 2 3 4 5 6 7 9 13 14 -0 2 3 4 5 6 7 9 13 15 -0 2 3 4 5 6 7 9 14 15 -0 2 3 4 5 6 7 10 11 12 -0 2 3 4 5 6 7 10 11 13 -0 2 3 4 5 6 7 10 11 14 -0 2 3 4 5 6 7 10 11 15 -0 2 3 4 5 6 7 10 12 13 -0 2 3 4 5 6 7 10 12 14 -0 2 3 4 5 6 7 10 12 15 -0 2 3 4 5 6 7 10 13 14 -0 2 3 4 5 6 7 10 13 15 -0 2 3 4 5 6 7 10 14 15 -0 2 3 4 5 6 7 11 12 13 -0 2 3 4 5 6 7 11 12 14 -0 2 3 4 5 6 7 11 12 15 -0 2 3 4 5 6 7 11 13 14 -0 2 3 4 5 6 7 11 13 15 -0 2 3 4 5 6 7 11 14 15 -0 2 3 4 5 6 7 12 13 14 -0 2 3 4 5 6 7 12 13 15 -0 2 3 4 5 6 7 12 14 15 -0 2 3 4 5 6 7 13 14 15 -0 2 3 4 5 6 8 9 10 11 -0 2 3 4 5 6 8 9 10 12 -0 2 3 4 5 6 8 9 10 13 -0 2 3 4 5 6 8 9 10 14 -0 2 3 4 5 6 8 9 10 15 -0 2 3 4 5 6 8 9 11 12 -0 2 3 4 5 6 8 9 11 13 -0 2 3 4 5 6 8 9 11 14 -0 2 3 4 5 6 8 9 11 15 -0 2 3 4 5 6 8 9 12 13 -0 2 3 4 5 6 8 9 12 14 -0 2 3 4 5 6 8 9 12 15 -0 2 3 4 5 6 8 9 13 14 -0 2 3 4 5 6 8 9 13 15 -0 2 3 4 5 6 8 9 14 15 -0 2 3 4 5 6 8 10 11 12 -0 2 3 4 5 6 8 10 11 13 -0 2 3 4 5 6 8 10 11 14 -0 2 3 4 5 6 8 10 11 15 -0 2 3 4 5 6 8 10 12 13 -0 2 3 4 5 6 8 10 12 14 -0 2 3 4 5 6 8 10 12 15 -0 2 3 4 5 6 8 10 13 14 -0 2 3 4 5 6 8 10 13 15 -0 2 3 4 5 6 8 10 14 15 -0 2 3 4 5 6 8 11 12 13 -0 2 3 4 5 6 8 11 12 14 -0 2 3 4 5 6 8 11 12 15 -0 2 3 4 5 6 8 11 13 14 -0 2 3 4 5 6 8 11 13 15 -0 2 3 4 5 6 8 11 14 15 -0 2 3 4 5 6 8 12 13 14 -0 2 3 4 5 6 8 12 13 15 -0 2 3 4 5 6 8 12 14 15 -0 2 3 4 5 6 8 13 14 15 -0 2 3 4 5 6 9 10 11 12 -0 2 3 4 5 6 9 10 11 13 -0 2 3 4 5 6 9 10 11 14 -0 2 3 4 5 6 9 10 11 15 -0 2 3 4 5 6 9 10 12 13 -0 2 3 4 5 6 9 10 12 14 -0 2 3 4 5 6 9 10 12 15 -0 2 3 4 5 6 9 10 13 14 -0 2 3 4 5 6 9 10 13 15 -0 2 3 4 5 6 9 10 14 15 -0 2 3 4 5 6 9 11 12 13 -0 2 3 4 5 6 9 11 12 14 -0 2 3 4 5 6 9 11 12 15 -0 2 3 4 5 6 9 11 13 14 -0 2 3 4 5 6 9 11 13 15 -0 2 3 4 5 6 9 11 14 15 -0 2 3 4 5 6 9 12 13 14 -0 2 3 4 5 6 9 12 13 15 -0 2 3 4 5 6 9 12 14 15 -0 2 3 4 5 6 9 13 14 15 -0 2 3 4 5 6 10 11 12 13 -0 2 3 4 5 6 10 11 12 14 -0 2 3 4 5 6 10 11 12 15 -0 2 3 4 5 6 10 11 13 14 -0 2 3 4 5 6 10 11 13 15 -0 2 3 4 5 6 10 11 14 15 -0 2 3 4 5 6 10 12 13 14 -0 2 3 4 5 6 10 12 13 15 -0 2 3 4 5 6 10 12 14 15 -0 2 3 4 5 6 10 13 14 15 -0 2 3 4 5 6 11 12 13 14 -0 2 3 4 5 6 11 12 13 15 -0 2 3 4 5 6 11 12 14 15 -0 2 3 4 5 6 11 13 14 15 -0 2 3 4 5 6 12 13 14 15 -0 2 3 4 5 7 8 9 10 11 -0 2 3 4 5 7 8 9 10 12 -0 2 3 4 5 7 8 9 10 13 -0 2 3 4 5 7 8 9 10 14 -0 2 3 4 5 7 8 9 10 15 -0 2 3 4 5 7 8 9 11 12 -0 2 3 4 5 7 8 9 11 13 -0 2 3 4 5 7 8 9 11 14 -0 2 3 4 5 7 8 9 11 15 -0 2 3 4 5 7 8 9 12 13 -0 2 3 4 5 7 8 9 12 14 -0 2 3 4 5 7 8 9 12 15 -0 2 3 4 5 7 8 9 13 14 -0 2 3 4 5 7 8 9 13 15 -0 2 3 4 5 7 8 9 14 15 -0 2 3 4 5 7 8 10 11 12 -0 2 3 4 5 7 8 10 11 13 -0 2 3 4 5 7 8 10 11 14 -0 2 3 4 5 7 8 10 11 15 -0 2 3 4 5 7 8 10 12 13 -0 2 3 4 5 7 8 10 12 14 -0 2 3 4 5 7 8 10 12 15 -0 2 3 4 5 7 8 10 13 14 -0 2 3 4 5 7 8 10 13 15 -0 2 3 4 5 7 8 10 14 15 -0 2 3 4 5 7 8 11 12 13 -0 2 3 4 5 7 8 11 12 14 -0 2 3 4 5 7 8 11 12 15 -0 2 3 4 5 7 8 11 13 14 -0 2 3 4 5 7 8 11 13 15 -0 2 3 4 5 7 8 11 14 15 -0 2 3 4 5 7 8 12 13 14 -0 2 3 4 5 7 8 12 13 15 -0 2 3 4 5 7 8 12 14 15 -0 2 3 4 5 7 8 13 14 15 -0 2 3 4 5 7 9 10 11 12 -0 2 3 4 5 7 9 10 11 13 -0 2 3 4 5 7 9 10 11 14 -0 2 3 4 5 7 9 10 11 15 -0 2 3 4 5 7 9 10 12 13 -0 2 3 4 5 7 9 10 12 14 -0 2 3 4 5 7 9 10 12 15 -0 2 3 4 5 7 9 10 13 14 -0 2 3 4 5 7 9 10 13 15 -0 2 3 4 5 7 9 10 14 15 -0 2 3 4 5 7 9 11 12 13 -0 2 3 4 5 7 9 11 12 14 -0 2 3 4 5 7 9 11 12 15 -0 2 3 4 5 7 9 11 13 14 -0 2 3 4 5 7 9 11 13 15 -0 2 3 4 5 7 9 11 14 15 -0 2 3 4 5 7 9 12 13 14 -0 2 3 4 5 7 9 12 13 15 -0 2 3 4 5 7 9 12 14 15 -0 2 3 4 5 7 9 13 14 15 -0 2 3 4 5 7 10 11 12 13 -0 2 3 4 5 7 10 11 12 14 -0 2 3 4 5 7 10 11 12 15 -0 2 3 4 5 7 10 11 13 14 -0 2 3 4 5 7 10 11 13 15 -0 2 3 4 5 7 10 11 14 15 -0 2 3 4 5 7 10 12 13 14 -0 2 3 4 5 7 10 12 13 15 -0 2 3 4 5 7 10 12 14 15 -0 2 3 4 5 7 10 13 14 15 -0 2 3 4 5 7 11 12 13 14 -0 2 3 4 5 7 11 12 13 15 -0 2 3 4 5 7 11 12 14 15 -0 2 3 4 5 7 11 13 14 15 -0 2 3 4 5 7 12 13 14 15 -0 2 3 4 5 8 9 10 11 12 -0 2 3 4 5 8 9 10 11 13 -0 2 3 4 5 8 9 10 11 14 -0 2 3 4 5 8 9 10 11 15 -0 2 3 4 5 8 9 10 12 13 -0 2 3 4 5 8 9 10 12 14 -0 2 3 4 5 8 9 10 12 15 -0 2 3 4 5 8 9 10 13 14 -0 2 3 4 5 8 9 10 13 15 -0 2 3 4 5 8 9 10 14 15 -0 2 3 4 5 8 9 11 12 13 -0 2 3 4 5 8 9 11 12 14 -0 2 3 4 5 8 9 11 12 15 -0 2 3 4 5 8 9 11 13 14 -0 2 3 4 5 8 9 11 13 15 -0 2 3 4 5 8 9 11 14 15 -0 2 3 4 5 8 9 12 13 14 -0 2 3 4 5 8 9 12 13 15 -0 2 3 4 5 8 9 12 14 15 -0 2 3 4 5 8 9 13 14 15 -0 2 3 4 5 8 10 11 12 13 -0 2 3 4 5 8 10 11 12 14 -0 2 3 4 5 8 10 11 12 15 -0 2 3 4 5 8 10 11 13 14 -0 2 3 4 5 8 10 11 13 15 -0 2 3 4 5 8 10 11 14 15 -0 2 3 4 5 8 10 12 13 14 -0 2 3 4 5 8 10 12 13 15 -0 2 3 4 5 8 10 12 14 15 -0 2 3 4 5 8 10 13 14 15 -0 2 3 4 5 8 11 12 13 14 -0 2 3 4 5 8 11 12 13 15 -0 2 3 4 5 8 11 12 14 15 -0 2 3 4 5 8 11 13 14 15 -0 2 3 4 5 8 12 13 14 15 -0 2 3 4 5 9 10 11 12 13 -0 2 3 4 5 9 10 11 12 14 -0 2 3 4 5 9 10 11 12 15 -0 2 3 4 5 9 10 11 13 14 -0 2 3 4 5 9 10 11 13 15 -0 2 3 4 5 9 10 11 14 15 -0 2 3 4 5 9 10 12 13 14 -0 2 3 4 5 9 10 12 13 15 -0 2 3 4 5 9 10 12 14 15 -0 2 3 4 5 9 10 13 14 15 -0 2 3 4 5 9 11 12 13 14 -0 2 3 4 5 9 11 12 13 15 -0 2 3 4 5 9 11 12 14 15 -0 2 3 4 5 9 11 13 14 15 -0 2 3 4 5 9 12 13 14 15 -0 2 3 4 5 10 11 12 13 14 -0 2 3 4 5 10 11 12 13 15 -0 2 3 4 5 10 11 12 14 15 -0 2 3 4 5 10 11 13 14 15 -0 2 3 4 5 10 12 13 14 15 -0 2 3 4 5 11 12 13 14 15 -0 2 3 4 6 7 8 9 10 11 -0 2 3 4 6 7 8 9 10 12 -0 2 3 4 6 7 8 9 10 13 -0 2 3 4 6 7 8 9 10 14 -0 2 3 4 6 7 8 9 10 15 -0 2 3 4 6 7 8 9 11 12 -0 2 3 4 6 7 8 9 11 13 -0 2 3 4 6 7 8 9 11 14 -0 2 3 4 6 7 8 9 11 15 -0 2 3 4 6 7 8 9 12 13 -0 2 3 4 6 7 8 9 12 14 -0 2 3 4 6 7 8 9 12 15 -0 2 3 4 6 7 8 9 13 14 -0 2 3 4 6 7 8 9 13 15 -0 2 3 4 6 7 8 9 14 15 -0 2 3 4 6 7 8 10 11 12 -0 2 3 4 6 7 8 10 11 13 -0 2 3 4 6 7 8 10 11 14 -0 2 3 4 6 7 8 10 11 15 -0 2 3 4 6 7 8 10 12 13 -0 2 3 4 6 7 8 10 12 14 -0 2 3 4 6 7 8 10 12 15 -0 2 3 4 6 7 8 10 13 14 -0 2 3 4 6 7 8 10 13 15 -0 2 3 4 6 7 8 10 14 15 -0 2 3 4 6 7 8 11 12 13 -0 2 3 4 6 7 8 11 12 14 -0 2 3 4 6 7 8 11 12 15 -0 2 3 4 6 7 8 11 13 14 -0 2 3 4 6 7 8 11 13 15 -0 2 3 4 6 7 8 11 14 15 -0 2 3 4 6 7 8 12 13 14 -0 2 3 4 6 7 8 12 13 15 -0 2 3 4 6 7 8 12 14 15 -0 2 3 4 6 7 8 13 14 15 -0 2 3 4 6 7 9 10 11 12 -0 2 3 4 6 7 9 10 11 13 -0 2 3 4 6 7 9 10 11 14 -0 2 3 4 6 7 9 10 11 15 -0 2 3 4 6 7 9 10 12 13 -0 2 3 4 6 7 9 10 12 14 -0 2 3 4 6 7 9 10 12 15 -0 2 3 4 6 7 9 10 13 14 -0 2 3 4 6 7 9 10 13 15 -0 2 3 4 6 7 9 10 14 15 -0 2 3 4 6 7 9 11 12 13 -0 2 3 4 6 7 9 11 12 14 -0 2 3 4 6 7 9 11 12 15 -0 2 3 4 6 7 9 11 13 14 -0 2 3 4 6 7 9 11 13 15 -0 2 3 4 6 7 9 11 14 15 -0 2 3 4 6 7 9 12 13 14 -0 2 3 4 6 7 9 12 13 15 -0 2 3 4 6 7 9 12 14 15 -0 2 3 4 6 7 9 13 14 15 -0 2 3 4 6 7 10 11 12 13 -0 2 3 4 6 7 10 11 12 14 -0 2 3 4 6 7 10 11 12 15 -0 2 3 4 6 7 10 11 13 14 -0 2 3 4 6 7 10 11 13 15 -0 2 3 4 6 7 10 11 14 15 -0 2 3 4 6 7 10 12 13 14 -0 2 3 4 6 7 10 12 13 15 -0 2 3 4 6 7 10 12 14 15 -0 2 3 4 6 7 10 13 14 15 -0 2 3 4 6 7 11 12 13 14 -0 2 3 4 6 7 11 12 13 15 -0 2 3 4 6 7 11 12 14 15 -0 2 3 4 6 7 11 13 14 15 -0 2 3 4 6 7 12 13 14 15 -0 2 3 4 6 8 9 10 11 12 -0 2 3 4 6 8 9 10 11 13 -0 2 3 4 6 8 9 10 11 14 -0 2 3 4 6 8 9 10 11 15 -0 2 3 4 6 8 9 10 12 13 -0 2 3 4 6 8 9 10 12 14 -0 2 3 4 6 8 9 10 12 15 -0 2 3 4 6 8 9 10 13 14 -0 2 3 4 6 8 9 10 13 15 -0 2 3 4 6 8 9 10 14 15 -0 2 3 4 6 8 9 11 12 13 -0 2 3 4 6 8 9 11 12 14 -0 2 3 4 6 8 9 11 12 15 -0 2 3 4 6 8 9 11 13 14 -0 2 3 4 6 8 9 11 13 15 -0 2 3 4 6 8 9 11 14 15 -0 2 3 4 6 8 9 12 13 14 -0 2 3 4 6 8 9 12 13 15 -0 2 3 4 6 8 9 12 14 15 -0 2 3 4 6 8 9 13 14 15 -0 2 3 4 6 8 10 11 12 13 -0 2 3 4 6 8 10 11 12 14 -0 2 3 4 6 8 10 11 12 15 -0 2 3 4 6 8 10 11 13 14 -0 2 3 4 6 8 10 11 13 15 -0 2 3 4 6 8 10 11 14 15 -0 2 3 4 6 8 10 12 13 14 -0 2 3 4 6 8 10 12 13 15 -0 2 3 4 6 8 10 12 14 15 -0 2 3 4 6 8 10 13 14 15 -0 2 3 4 6 8 11 12 13 14 -0 2 3 4 6 8 11 12 13 15 -0 2 3 4 6 8 11 12 14 15 -0 2 3 4 6 8 11 13 14 15 -0 2 3 4 6 8 12 13 14 15 -0 2 3 4 6 9 10 11 12 13 -0 2 3 4 6 9 10 11 12 14 -0 2 3 4 6 9 10 11 12 15 -0 2 3 4 6 9 10 11 13 14 -0 2 3 4 6 9 10 11 13 15 -0 2 3 4 6 9 10 11 14 15 -0 2 3 4 6 9 10 12 13 14 -0 2 3 4 6 9 10 12 13 15 -0 2 3 4 6 9 10 12 14 15 -0 2 3 4 6 9 10 13 14 15 -0 2 3 4 6 9 11 12 13 14 -0 2 3 4 6 9 11 12 13 15 -0 2 3 4 6 9 11 12 14 15 -0 2 3 4 6 9 11 13 14 15 -0 2 3 4 6 9 12 13 14 15 -0 2 3 4 6 10 11 12 13 14 -0 2 3 4 6 10 11 12 13 15 -0 2 3 4 6 10 11 12 14 15 -0 2 3 4 6 10 11 13 14 15 -0 2 3 4 6 10 12 13 14 15 -0 2 3 4 6 11 12 13 14 15 -0 2 3 4 7 8 9 10 11 12 -0 2 3 4 7 8 9 10 11 13 -0 2 3 4 7 8 9 10 11 14 -0 2 3 4 7 8 9 10 11 15 -0 2 3 4 7 8 9 10 12 13 -0 2 3 4 7 8 9 10 12 14 -0 2 3 4 7 8 9 10 12 15 -0 2 3 4 7 8 9 10 13 14 -0 2 3 4 7 8 9 10 13 15 -0 2 3 4 7 8 9 10 14 15 -0 2 3 4 7 8 9 11 12 13 -0 2 3 4 7 8 9 11 12 14 -0 2 3 4 7 8 9 11 12 15 -0 2 3 4 7 8 9 11 13 14 -0 2 3 4 7 8 9 11 13 15 -0 2 3 4 7 8 9 11 14 15 -0 2 3 4 7 8 9 12 13 14 -0 2 3 4 7 8 9 12 13 15 -0 2 3 4 7 8 9 12 14 15 -0 2 3 4 7 8 9 13 14 15 -0 2 3 4 7 8 10 11 12 13 -0 2 3 4 7 8 10 11 12 14 -0 2 3 4 7 8 10 11 12 15 -0 2 3 4 7 8 10 11 13 14 -0 2 3 4 7 8 10 11 13 15 -0 2 3 4 7 8 10 11 14 15 -0 2 3 4 7 8 10 12 13 14 -0 2 3 4 7 8 10 12 13 15 -0 2 3 4 7 8 10 12 14 15 -0 2 3 4 7 8 10 13 14 15 -0 2 3 4 7 8 11 12 13 14 -0 2 3 4 7 8 11 12 13 15 -0 2 3 4 7 8 11 12 14 15 -0 2 3 4 7 8 11 13 14 15 -0 2 3 4 7 8 12 13 14 15 -0 2 3 4 7 9 10 11 12 13 -0 2 3 4 7 9 10 11 12 14 -0 2 3 4 7 9 10 11 12 15 -0 2 3 4 7 9 10 11 13 14 -0 2 3 4 7 9 10 11 13 15 -0 2 3 4 7 9 10 11 14 15 -0 2 3 4 7 9 10 12 13 14 -0 2 3 4 7 9 10 12 13 15 -0 2 3 4 7 9 10 12 14 15 -0 2 3 4 7 9 10 13 14 15 -0 2 3 4 7 9 11 12 13 14 -0 2 3 4 7 9 11 12 13 15 -0 2 3 4 7 9 11 12 14 15 -0 2 3 4 7 9 11 13 14 15 -0 2 3 4 7 9 12 13 14 15 -0 2 3 4 7 10 11 12 13 14 -0 2 3 4 7 10 11 12 13 15 -0 2 3 4 7 10 11 12 14 15 -0 2 3 4 7 10 11 13 14 15 -0 2 3 4 7 10 12 13 14 15 -0 2 3 4 7 11 12 13 14 15 -0 2 3 4 8 9 10 11 12 13 -0 2 3 4 8 9 10 11 12 14 -0 2 3 4 8 9 10 11 12 15 -0 2 3 4 8 9 10 11 13 14 -0 2 3 4 8 9 10 11 13 15 -0 2 3 4 8 9 10 11 14 15 -0 2 3 4 8 9 10 12 13 14 -0 2 3 4 8 9 10 12 13 15 -0 2 3 4 8 9 10 12 14 15 -0 2 3 4 8 9 10 13 14 15 -0 2 3 4 8 9 11 12 13 14 -0 2 3 4 8 9 11 12 13 15 -0 2 3 4 8 9 11 12 14 15 -0 2 3 4 8 9 11 13 14 15 -0 2 3 4 8 9 12 13 14 15 -0 2 3 4 8 10 11 12 13 14 -0 2 3 4 8 10 11 12 13 15 -0 2 3 4 8 10 11 12 14 15 -0 2 3 4 8 10 11 13 14 15 -0 2 3 4 8 10 12 13 14 15 -0 2 3 4 8 11 12 13 14 15 -0 2 3 4 9 10 11 12 13 14 -0 2 3 4 9 10 11 12 13 15 -0 2 3 4 9 10 11 12 14 15 -0 2 3 4 9 10 11 13 14 15 -0 2 3 4 9 10 12 13 14 15 -0 2 3 4 9 11 12 13 14 15 -0 2 3 4 10 11 12 13 14 15 -0 2 3 5 6 7 8 9 10 11 -0 2 3 5 6 7 8 9 10 12 -0 2 3 5 6 7 8 9 10 13 -0 2 3 5 6 7 8 9 10 14 -0 2 3 5 6 7 8 9 10 15 -0 2 3 5 6 7 8 9 11 12 -0 2 3 5 6 7 8 9 11 13 -0 2 3 5 6 7 8 9 11 14 -0 2 3 5 6 7 8 9 11 15 -0 2 3 5 6 7 8 9 12 13 -0 2 3 5 6 7 8 9 12 14 -0 2 3 5 6 7 8 9 12 15 -0 2 3 5 6 7 8 9 13 14 -0 2 3 5 6 7 8 9 13 15 -0 2 3 5 6 7 8 9 14 15 -0 2 3 5 6 7 8 10 11 12 -0 2 3 5 6 7 8 10 11 13 -0 2 3 5 6 7 8 10 11 14 -0 2 3 5 6 7 8 10 11 15 -0 2 3 5 6 7 8 10 12 13 -0 2 3 5 6 7 8 10 12 14 -0 2 3 5 6 7 8 10 12 15 -0 2 3 5 6 7 8 10 13 14 -0 2 3 5 6 7 8 10 13 15 -0 2 3 5 6 7 8 10 14 15 -0 2 3 5 6 7 8 11 12 13 -0 2 3 5 6 7 8 11 12 14 -0 2 3 5 6 7 8 11 12 15 -0 2 3 5 6 7 8 11 13 14 -0 2 3 5 6 7 8 11 13 15 -0 2 3 5 6 7 8 11 14 15 -0 2 3 5 6 7 8 12 13 14 -0 2 3 5 6 7 8 12 13 15 -0 2 3 5 6 7 8 12 14 15 -0 2 3 5 6 7 8 13 14 15 -0 2 3 5 6 7 9 10 11 12 -0 2 3 5 6 7 9 10 11 13 -0 2 3 5 6 7 9 10 11 14 -0 2 3 5 6 7 9 10 11 15 -0 2 3 5 6 7 9 10 12 13 -0 2 3 5 6 7 9 10 12 14 -0 2 3 5 6 7 9 10 12 15 -0 2 3 5 6 7 9 10 13 14 -0 2 3 5 6 7 9 10 13 15 -0 2 3 5 6 7 9 10 14 15 -0 2 3 5 6 7 9 11 12 13 -0 2 3 5 6 7 9 11 12 14 -0 2 3 5 6 7 9 11 12 15 -0 2 3 5 6 7 9 11 13 14 -0 2 3 5 6 7 9 11 13 15 -0 2 3 5 6 7 9 11 14 15 -0 2 3 5 6 7 9 12 13 14 -0 2 3 5 6 7 9 12 13 15 -0 2 3 5 6 7 9 12 14 15 -0 2 3 5 6 7 9 13 14 15 -0 2 3 5 6 7 10 11 12 13 -0 2 3 5 6 7 10 11 12 14 -0 2 3 5 6 7 10 11 12 15 -0 2 3 5 6 7 10 11 13 14 -0 2 3 5 6 7 10 11 13 15 -0 2 3 5 6 7 10 11 14 15 -0 2 3 5 6 7 10 12 13 14 -0 2 3 5 6 7 10 12 13 15 -0 2 3 5 6 7 10 12 14 15 -0 2 3 5 6 7 10 13 14 15 -0 2 3 5 6 7 11 12 13 14 -0 2 3 5 6 7 11 12 13 15 -0 2 3 5 6 7 11 12 14 15 -0 2 3 5 6 7 11 13 14 15 -0 2 3 5 6 7 12 13 14 15 -0 2 3 5 6 8 9 10 11 12 -0 2 3 5 6 8 9 10 11 13 -0 2 3 5 6 8 9 10 11 14 -0 2 3 5 6 8 9 10 11 15 -0 2 3 5 6 8 9 10 12 13 -0 2 3 5 6 8 9 10 12 14 -0 2 3 5 6 8 9 10 12 15 -0 2 3 5 6 8 9 10 13 14 -0 2 3 5 6 8 9 10 13 15 -0 2 3 5 6 8 9 10 14 15 -0 2 3 5 6 8 9 11 12 13 -0 2 3 5 6 8 9 11 12 14 -0 2 3 5 6 8 9 11 12 15 -0 2 3 5 6 8 9 11 13 14 -0 2 3 5 6 8 9 11 13 15 -0 2 3 5 6 8 9 11 14 15 -0 2 3 5 6 8 9 12 13 14 -0 2 3 5 6 8 9 12 13 15 -0 2 3 5 6 8 9 12 14 15 -0 2 3 5 6 8 9 13 14 15 -0 2 3 5 6 8 10 11 12 13 -0 2 3 5 6 8 10 11 12 14 -0 2 3 5 6 8 10 11 12 15 -0 2 3 5 6 8 10 11 13 14 -0 2 3 5 6 8 10 11 13 15 -0 2 3 5 6 8 10 11 14 15 -0 2 3 5 6 8 10 12 13 14 -0 2 3 5 6 8 10 12 13 15 -0 2 3 5 6 8 10 12 14 15 -0 2 3 5 6 8 10 13 14 15 -0 2 3 5 6 8 11 12 13 14 -0 2 3 5 6 8 11 12 13 15 -0 2 3 5 6 8 11 12 14 15 -0 2 3 5 6 8 11 13 14 15 -0 2 3 5 6 8 12 13 14 15 -0 2 3 5 6 9 10 11 12 13 -0 2 3 5 6 9 10 11 12 14 -0 2 3 5 6 9 10 11 12 15 -0 2 3 5 6 9 10 11 13 14 -0 2 3 5 6 9 10 11 13 15 -0 2 3 5 6 9 10 11 14 15 -0 2 3 5 6 9 10 12 13 14 -0 2 3 5 6 9 10 12 13 15 -0 2 3 5 6 9 10 12 14 15 -0 2 3 5 6 9 10 13 14 15 -0 2 3 5 6 9 11 12 13 14 -0 2 3 5 6 9 11 12 13 15 -0 2 3 5 6 9 11 12 14 15 -0 2 3 5 6 9 11 13 14 15 -0 2 3 5 6 9 12 13 14 15 -0 2 3 5 6 10 11 12 13 14 -0 2 3 5 6 10 11 12 13 15 -0 2 3 5 6 10 11 12 14 15 -0 2 3 5 6 10 11 13 14 15 -0 2 3 5 6 10 12 13 14 15 -0 2 3 5 6 11 12 13 14 15 -0 2 3 5 7 8 9 10 11 12 -0 2 3 5 7 8 9 10 11 13 -0 2 3 5 7 8 9 10 11 14 -0 2 3 5 7 8 9 10 11 15 -0 2 3 5 7 8 9 10 12 13 -0 2 3 5 7 8 9 10 12 14 -0 2 3 5 7 8 9 10 12 15 -0 2 3 5 7 8 9 10 13 14 -0 2 3 5 7 8 9 10 13 15 -0 2 3 5 7 8 9 10 14 15 -0 2 3 5 7 8 9 11 12 13 -0 2 3 5 7 8 9 11 12 14 -0 2 3 5 7 8 9 11 12 15 -0 2 3 5 7 8 9 11 13 14 -0 2 3 5 7 8 9 11 13 15 -0 2 3 5 7 8 9 11 14 15 -0 2 3 5 7 8 9 12 13 14 -0 2 3 5 7 8 9 12 13 15 -0 2 3 5 7 8 9 12 14 15 -0 2 3 5 7 8 9 13 14 15 -0 2 3 5 7 8 10 11 12 13 -0 2 3 5 7 8 10 11 12 14 -0 2 3 5 7 8 10 11 12 15 -0 2 3 5 7 8 10 11 13 14 -0 2 3 5 7 8 10 11 13 15 -0 2 3 5 7 8 10 11 14 15 -0 2 3 5 7 8 10 12 13 14 -0 2 3 5 7 8 10 12 13 15 -0 2 3 5 7 8 10 12 14 15 -0 2 3 5 7 8 10 13 14 15 -0 2 3 5 7 8 11 12 13 14 -0 2 3 5 7 8 11 12 13 15 -0 2 3 5 7 8 11 12 14 15 -0 2 3 5 7 8 11 13 14 15 -0 2 3 5 7 8 12 13 14 15 -0 2 3 5 7 9 10 11 12 13 -0 2 3 5 7 9 10 11 12 14 -0 2 3 5 7 9 10 11 12 15 -0 2 3 5 7 9 10 11 13 14 -0 2 3 5 7 9 10 11 13 15 -0 2 3 5 7 9 10 11 14 15 -0 2 3 5 7 9 10 12 13 14 -0 2 3 5 7 9 10 12 13 15 -0 2 3 5 7 9 10 12 14 15 -0 2 3 5 7 9 10 13 14 15 -0 2 3 5 7 9 11 12 13 14 -0 2 3 5 7 9 11 12 13 15 -0 2 3 5 7 9 11 12 14 15 -0 2 3 5 7 9 11 13 14 15 -0 2 3 5 7 9 12 13 14 15 -0 2 3 5 7 10 11 12 13 14 -0 2 3 5 7 10 11 12 13 15 -0 2 3 5 7 10 11 12 14 15 -0 2 3 5 7 10 11 13 14 15 -0 2 3 5 7 10 12 13 14 15 -0 2 3 5 7 11 12 13 14 15 -0 2 3 5 8 9 10 11 12 13 -0 2 3 5 8 9 10 11 12 14 -0 2 3 5 8 9 10 11 12 15 -0 2 3 5 8 9 10 11 13 14 -0 2 3 5 8 9 10 11 13 15 -0 2 3 5 8 9 10 11 14 15 -0 2 3 5 8 9 10 12 13 14 -0 2 3 5 8 9 10 12 13 15 -0 2 3 5 8 9 10 12 14 15 -0 2 3 5 8 9 10 13 14 15 -0 2 3 5 8 9 11 12 13 14 -0 2 3 5 8 9 11 12 13 15 -0 2 3 5 8 9 11 12 14 15 -0 2 3 5 8 9 11 13 14 15 -0 2 3 5 8 9 12 13 14 15 -0 2 3 5 8 10 11 12 13 14 -0 2 3 5 8 10 11 12 13 15 -0 2 3 5 8 10 11 12 14 15 -0 2 3 5 8 10 11 13 14 15 -0 2 3 5 8 10 12 13 14 15 -0 2 3 5 8 11 12 13 14 15 -0 2 3 5 9 10 11 12 13 14 -0 2 3 5 9 10 11 12 13 15 -0 2 3 5 9 10 11 12 14 15 -0 2 3 5 9 10 11 13 14 15 -0 2 3 5 9 10 12 13 14 15 -0 2 3 5 9 11 12 13 14 15 -0 2 3 5 10 11 12 13 14 15 -0 2 3 6 7 8 9 10 11 12 -0 2 3 6 7 8 9 10 11 13 -0 2 3 6 7 8 9 10 11 14 -0 2 3 6 7 8 9 10 11 15 -0 2 3 6 7 8 9 10 12 13 -0 2 3 6 7 8 9 10 12 14 -0 2 3 6 7 8 9 10 12 15 -0 2 3 6 7 8 9 10 13 14 -0 2 3 6 7 8 9 10 13 15 -0 2 3 6 7 8 9 10 14 15 -0 2 3 6 7 8 9 11 12 13 -0 2 3 6 7 8 9 11 12 14 -0 2 3 6 7 8 9 11 12 15 -0 2 3 6 7 8 9 11 13 14 -0 2 3 6 7 8 9 11 13 15 -0 2 3 6 7 8 9 11 14 15 -0 2 3 6 7 8 9 12 13 14 -0 2 3 6 7 8 9 12 13 15 -0 2 3 6 7 8 9 12 14 15 -0 2 3 6 7 8 9 13 14 15 -0 2 3 6 7 8 10 11 12 13 -0 2 3 6 7 8 10 11 12 14 -0 2 3 6 7 8 10 11 12 15 -0 2 3 6 7 8 10 11 13 14 -0 2 3 6 7 8 10 11 13 15 -0 2 3 6 7 8 10 11 14 15 -0 2 3 6 7 8 10 12 13 14 -0 2 3 6 7 8 10 12 13 15 -0 2 3 6 7 8 10 12 14 15 -0 2 3 6 7 8 10 13 14 15 -0 2 3 6 7 8 11 12 13 14 -0 2 3 6 7 8 11 12 13 15 -0 2 3 6 7 8 11 12 14 15 -0 2 3 6 7 8 11 13 14 15 -0 2 3 6 7 8 12 13 14 15 -0 2 3 6 7 9 10 11 12 13 -0 2 3 6 7 9 10 11 12 14 -0 2 3 6 7 9 10 11 12 15 -0 2 3 6 7 9 10 11 13 14 -0 2 3 6 7 9 10 11 13 15 -0 2 3 6 7 9 10 11 14 15 -0 2 3 6 7 9 10 12 13 14 -0 2 3 6 7 9 10 12 13 15 -0 2 3 6 7 9 10 12 14 15 -0 2 3 6 7 9 10 13 14 15 -0 2 3 6 7 9 11 12 13 14 -0 2 3 6 7 9 11 12 13 15 -0 2 3 6 7 9 11 12 14 15 -0 2 3 6 7 9 11 13 14 15 -0 2 3 6 7 9 12 13 14 15 -0 2 3 6 7 10 11 12 13 14 -0 2 3 6 7 10 11 12 13 15 -0 2 3 6 7 10 11 12 14 15 -0 2 3 6 7 10 11 13 14 15 -0 2 3 6 7 10 12 13 14 15 -0 2 3 6 7 11 12 13 14 15 -0 2 3 6 8 9 10 11 12 13 -0 2 3 6 8 9 10 11 12 14 -0 2 3 6 8 9 10 11 12 15 -0 2 3 6 8 9 10 11 13 14 -0 2 3 6 8 9 10 11 13 15 -0 2 3 6 8 9 10 11 14 15 -0 2 3 6 8 9 10 12 13 14 -0 2 3 6 8 9 10 12 13 15 -0 2 3 6 8 9 10 12 14 15 -0 2 3 6 8 9 10 13 14 15 -0 2 3 6 8 9 11 12 13 14 -0 2 3 6 8 9 11 12 13 15 -0 2 3 6 8 9 11 12 14 15 -0 2 3 6 8 9 11 13 14 15 -0 2 3 6 8 9 12 13 14 15 -0 2 3 6 8 10 11 12 13 14 -0 2 3 6 8 10 11 12 13 15 -0 2 3 6 8 10 11 12 14 15 -0 2 3 6 8 10 11 13 14 15 -0 2 3 6 8 10 12 13 14 15 -0 2 3 6 8 11 12 13 14 15 -0 2 3 6 9 10 11 12 13 14 -0 2 3 6 9 10 11 12 13 15 -0 2 3 6 9 10 11 12 14 15 -0 2 3 6 9 10 11 13 14 15 -0 2 3 6 9 10 12 13 14 15 -0 2 3 6 9 11 12 13 14 15 -0 2 3 6 10 11 12 13 14 15 -0 2 3 7 8 9 10 11 12 13 -0 2 3 7 8 9 10 11 12 14 -0 2 3 7 8 9 10 11 12 15 -0 2 3 7 8 9 10 11 13 14 -0 2 3 7 8 9 10 11 13 15 -0 2 3 7 8 9 10 11 14 15 -0 2 3 7 8 9 10 12 13 14 -0 2 3 7 8 9 10 12 13 15 -0 2 3 7 8 9 10 12 14 15 -0 2 3 7 8 9 10 13 14 15 -0 2 3 7 8 9 11 12 13 14 -0 2 3 7 8 9 11 12 13 15 -0 2 3 7 8 9 11 12 14 15 -0 2 3 7 8 9 11 13 14 15 -0 2 3 7 8 9 12 13 14 15 -0 2 3 7 8 10 11 12 13 14 -0 2 3 7 8 10 11 12 13 15 -0 2 3 7 8 10 11 12 14 15 -0 2 3 7 8 10 11 13 14 15 -0 2 3 7 8 10 12 13 14 15 -0 2 3 7 8 11 12 13 14 15 -0 2 3 7 9 10 11 12 13 14 -0 2 3 7 9 10 11 12 13 15 -0 2 3 7 9 10 11 12 14 15 -0 2 3 7 9 10 11 13 14 15 -0 2 3 7 9 10 12 13 14 15 -0 2 3 7 9 11 12 13 14 15 -0 2 3 7 10 11 12 13 14 15 -0 2 3 8 9 10 11 12 13 14 -0 2 3 8 9 10 11 12 13 15 -0 2 3 8 9 10 11 12 14 15 -0 2 3 8 9 10 11 13 14 15 -0 2 3 8 9 10 12 13 14 15 -0 2 3 8 9 11 12 13 14 15 -0 2 3 8 10 11 12 13 14 15 -0 2 3 9 10 11 12 13 14 15 -0 2 4 5 6 7 8 9 10 11 -0 2 4 5 6 7 8 9 10 12 -0 2 4 5 6 7 8 9 10 13 -0 2 4 5 6 7 8 9 10 14 -0 2 4 5 6 7 8 9 10 15 -0 2 4 5 6 7 8 9 11 12 -0 2 4 5 6 7 8 9 11 13 -0 2 4 5 6 7 8 9 11 14 -0 2 4 5 6 7 8 9 11 15 -0 2 4 5 6 7 8 9 12 13 -0 2 4 5 6 7 8 9 12 14 -0 2 4 5 6 7 8 9 12 15 -0 2 4 5 6 7 8 9 13 14 -0 2 4 5 6 7 8 9 13 15 -0 2 4 5 6 7 8 9 14 15 -0 2 4 5 6 7 8 10 11 12 -0 2 4 5 6 7 8 10 11 13 -0 2 4 5 6 7 8 10 11 14 -0 2 4 5 6 7 8 10 11 15 -0 2 4 5 6 7 8 10 12 13 -0 2 4 5 6 7 8 10 12 14 -0 2 4 5 6 7 8 10 12 15 -0 2 4 5 6 7 8 10 13 14 -0 2 4 5 6 7 8 10 13 15 -0 2 4 5 6 7 8 10 14 15 -0 2 4 5 6 7 8 11 12 13 -0 2 4 5 6 7 8 11 12 14 -0 2 4 5 6 7 8 11 12 15 -0 2 4 5 6 7 8 11 13 14 -0 2 4 5 6 7 8 11 13 15 -0 2 4 5 6 7 8 11 14 15 -0 2 4 5 6 7 8 12 13 14 -0 2 4 5 6 7 8 12 13 15 -0 2 4 5 6 7 8 12 14 15 -0 2 4 5 6 7 8 13 14 15 -0 2 4 5 6 7 9 10 11 12 -0 2 4 5 6 7 9 10 11 13 -0 2 4 5 6 7 9 10 11 14 -0 2 4 5 6 7 9 10 11 15 -0 2 4 5 6 7 9 10 12 13 -0 2 4 5 6 7 9 10 12 14 -0 2 4 5 6 7 9 10 12 15 -0 2 4 5 6 7 9 10 13 14 -0 2 4 5 6 7 9 10 13 15 -0 2 4 5 6 7 9 10 14 15 -0 2 4 5 6 7 9 11 12 13 -0 2 4 5 6 7 9 11 12 14 -0 2 4 5 6 7 9 11 12 15 -0 2 4 5 6 7 9 11 13 14 -0 2 4 5 6 7 9 11 13 15 -0 2 4 5 6 7 9 11 14 15 -0 2 4 5 6 7 9 12 13 14 -0 2 4 5 6 7 9 12 13 15 -0 2 4 5 6 7 9 12 14 15 -0 2 4 5 6 7 9 13 14 15 -0 2 4 5 6 7 10 11 12 13 -0 2 4 5 6 7 10 11 12 14 -0 2 4 5 6 7 10 11 12 15 -0 2 4 5 6 7 10 11 13 14 -0 2 4 5 6 7 10 11 13 15 -0 2 4 5 6 7 10 11 14 15 -0 2 4 5 6 7 10 12 13 14 -0 2 4 5 6 7 10 12 13 15 -0 2 4 5 6 7 10 12 14 15 -0 2 4 5 6 7 10 13 14 15 -0 2 4 5 6 7 11 12 13 14 -0 2 4 5 6 7 11 12 13 15 -0 2 4 5 6 7 11 12 14 15 -0 2 4 5 6 7 11 13 14 15 -0 2 4 5 6 7 12 13 14 15 -0 2 4 5 6 8 9 10 11 12 -0 2 4 5 6 8 9 10 11 13 -0 2 4 5 6 8 9 10 11 14 -0 2 4 5 6 8 9 10 11 15 -0 2 4 5 6 8 9 10 12 13 -0 2 4 5 6 8 9 10 12 14 -0 2 4 5 6 8 9 10 12 15 -0 2 4 5 6 8 9 10 13 14 -0 2 4 5 6 8 9 10 13 15 -0 2 4 5 6 8 9 10 14 15 -0 2 4 5 6 8 9 11 12 13 -0 2 4 5 6 8 9 11 12 14 -0 2 4 5 6 8 9 11 12 15 -0 2 4 5 6 8 9 11 13 14 -0 2 4 5 6 8 9 11 13 15 -0 2 4 5 6 8 9 11 14 15 -0 2 4 5 6 8 9 12 13 14 -0 2 4 5 6 8 9 12 13 15 -0 2 4 5 6 8 9 12 14 15 -0 2 4 5 6 8 9 13 14 15 -0 2 4 5 6 8 10 11 12 13 -0 2 4 5 6 8 10 11 12 14 -0 2 4 5 6 8 10 11 12 15 -0 2 4 5 6 8 10 11 13 14 -0 2 4 5 6 8 10 11 13 15 -0 2 4 5 6 8 10 11 14 15 -0 2 4 5 6 8 10 12 13 14 -0 2 4 5 6 8 10 12 13 15 -0 2 4 5 6 8 10 12 14 15 -0 2 4 5 6 8 10 13 14 15 -0 2 4 5 6 8 11 12 13 14 -0 2 4 5 6 8 11 12 13 15 -0 2 4 5 6 8 11 12 14 15 -0 2 4 5 6 8 11 13 14 15 -0 2 4 5 6 8 12 13 14 15 -0 2 4 5 6 9 10 11 12 13 -0 2 4 5 6 9 10 11 12 14 -0 2 4 5 6 9 10 11 12 15 -0 2 4 5 6 9 10 11 13 14 -0 2 4 5 6 9 10 11 13 15 -0 2 4 5 6 9 10 11 14 15 -0 2 4 5 6 9 10 12 13 14 -0 2 4 5 6 9 10 12 13 15 -0 2 4 5 6 9 10 12 14 15 -0 2 4 5 6 9 10 13 14 15 -0 2 4 5 6 9 11 12 13 14 -0 2 4 5 6 9 11 12 13 15 -0 2 4 5 6 9 11 12 14 15 -0 2 4 5 6 9 11 13 14 15 -0 2 4 5 6 9 12 13 14 15 -0 2 4 5 6 10 11 12 13 14 -0 2 4 5 6 10 11 12 13 15 -0 2 4 5 6 10 11 12 14 15 -0 2 4 5 6 10 11 13 14 15 -0 2 4 5 6 10 12 13 14 15 -0 2 4 5 6 11 12 13 14 15 -0 2 4 5 7 8 9 10 11 12 -0 2 4 5 7 8 9 10 11 13 -0 2 4 5 7 8 9 10 11 14 -0 2 4 5 7 8 9 10 11 15 -0 2 4 5 7 8 9 10 12 13 -0 2 4 5 7 8 9 10 12 14 -0 2 4 5 7 8 9 10 12 15 -0 2 4 5 7 8 9 10 13 14 -0 2 4 5 7 8 9 10 13 15 -0 2 4 5 7 8 9 10 14 15 -0 2 4 5 7 8 9 11 12 13 -0 2 4 5 7 8 9 11 12 14 -0 2 4 5 7 8 9 11 12 15 -0 2 4 5 7 8 9 11 13 14 -0 2 4 5 7 8 9 11 13 15 -0 2 4 5 7 8 9 11 14 15 -0 2 4 5 7 8 9 12 13 14 -0 2 4 5 7 8 9 12 13 15 -0 2 4 5 7 8 9 12 14 15 -0 2 4 5 7 8 9 13 14 15 -0 2 4 5 7 8 10 11 12 13 -0 2 4 5 7 8 10 11 12 14 -0 2 4 5 7 8 10 11 12 15 -0 2 4 5 7 8 10 11 13 14 -0 2 4 5 7 8 10 11 13 15 -0 2 4 5 7 8 10 11 14 15 -0 2 4 5 7 8 10 12 13 14 -0 2 4 5 7 8 10 12 13 15 -0 2 4 5 7 8 10 12 14 15 -0 2 4 5 7 8 10 13 14 15 -0 2 4 5 7 8 11 12 13 14 -0 2 4 5 7 8 11 12 13 15 -0 2 4 5 7 8 11 12 14 15 -0 2 4 5 7 8 11 13 14 15 -0 2 4 5 7 8 12 13 14 15 -0 2 4 5 7 9 10 11 12 13 -0 2 4 5 7 9 10 11 12 14 -0 2 4 5 7 9 10 11 12 15 -0 2 4 5 7 9 10 11 13 14 -0 2 4 5 7 9 10 11 13 15 -0 2 4 5 7 9 10 11 14 15 -0 2 4 5 7 9 10 12 13 14 -0 2 4 5 7 9 10 12 13 15 -0 2 4 5 7 9 10 12 14 15 -0 2 4 5 7 9 10 13 14 15 -0 2 4 5 7 9 11 12 13 14 -0 2 4 5 7 9 11 12 13 15 -0 2 4 5 7 9 11 12 14 15 -0 2 4 5 7 9 11 13 14 15 -0 2 4 5 7 9 12 13 14 15 -0 2 4 5 7 10 11 12 13 14 -0 2 4 5 7 10 11 12 13 15 -0 2 4 5 7 10 11 12 14 15 -0 2 4 5 7 10 11 13 14 15 -0 2 4 5 7 10 12 13 14 15 -0 2 4 5 7 11 12 13 14 15 -0 2 4 5 8 9 10 11 12 13 -0 2 4 5 8 9 10 11 12 14 -0 2 4 5 8 9 10 11 12 15 -0 2 4 5 8 9 10 11 13 14 -0 2 4 5 8 9 10 11 13 15 -0 2 4 5 8 9 10 11 14 15 -0 2 4 5 8 9 10 12 13 14 -0 2 4 5 8 9 10 12 13 15 -0 2 4 5 8 9 10 12 14 15 -0 2 4 5 8 9 10 13 14 15 -0 2 4 5 8 9 11 12 13 14 -0 2 4 5 8 9 11 12 13 15 -0 2 4 5 8 9 11 12 14 15 -0 2 4 5 8 9 11 13 14 15 -0 2 4 5 8 9 12 13 14 15 -0 2 4 5 8 10 11 12 13 14 -0 2 4 5 8 10 11 12 13 15 -0 2 4 5 8 10 11 12 14 15 -0 2 4 5 8 10 11 13 14 15 -0 2 4 5 8 10 12 13 14 15 -0 2 4 5 8 11 12 13 14 15 -0 2 4 5 9 10 11 12 13 14 -0 2 4 5 9 10 11 12 13 15 -0 2 4 5 9 10 11 12 14 15 -0 2 4 5 9 10 11 13 14 15 -0 2 4 5 9 10 12 13 14 15 -0 2 4 5 9 11 12 13 14 15 -0 2 4 5 10 11 12 13 14 15 -0 2 4 6 7 8 9 10 11 12 -0 2 4 6 7 8 9 10 11 13 -0 2 4 6 7 8 9 10 11 14 -0 2 4 6 7 8 9 10 11 15 -0 2 4 6 7 8 9 10 12 13 -0 2 4 6 7 8 9 10 12 14 -0 2 4 6 7 8 9 10 12 15 -0 2 4 6 7 8 9 10 13 14 -0 2 4 6 7 8 9 10 13 15 -0 2 4 6 7 8 9 10 14 15 -0 2 4 6 7 8 9 11 12 13 -0 2 4 6 7 8 9 11 12 14 -0 2 4 6 7 8 9 11 12 15 -0 2 4 6 7 8 9 11 13 14 -0 2 4 6 7 8 9 11 13 15 -0 2 4 6 7 8 9 11 14 15 -0 2 4 6 7 8 9 12 13 14 -0 2 4 6 7 8 9 12 13 15 -0 2 4 6 7 8 9 12 14 15 -0 2 4 6 7 8 9 13 14 15 -0 2 4 6 7 8 10 11 12 13 -0 2 4 6 7 8 10 11 12 14 -0 2 4 6 7 8 10 11 12 15 -0 2 4 6 7 8 10 11 13 14 -0 2 4 6 7 8 10 11 13 15 -0 2 4 6 7 8 10 11 14 15 -0 2 4 6 7 8 10 12 13 14 -0 2 4 6 7 8 10 12 13 15 -0 2 4 6 7 8 10 12 14 15 -0 2 4 6 7 8 10 13 14 15 -0 2 4 6 7 8 11 12 13 14 -0 2 4 6 7 8 11 12 13 15 -0 2 4 6 7 8 11 12 14 15 -0 2 4 6 7 8 11 13 14 15 -0 2 4 6 7 8 12 13 14 15 -0 2 4 6 7 9 10 11 12 13 -0 2 4 6 7 9 10 11 12 14 -0 2 4 6 7 9 10 11 12 15 -0 2 4 6 7 9 10 11 13 14 -0 2 4 6 7 9 10 11 13 15 -0 2 4 6 7 9 10 11 14 15 -0 2 4 6 7 9 10 12 13 14 -0 2 4 6 7 9 10 12 13 15 -0 2 4 6 7 9 10 12 14 15 -0 2 4 6 7 9 10 13 14 15 -0 2 4 6 7 9 11 12 13 14 -0 2 4 6 7 9 11 12 13 15 -0 2 4 6 7 9 11 12 14 15 -0 2 4 6 7 9 11 13 14 15 -0 2 4 6 7 9 12 13 14 15 -0 2 4 6 7 10 11 12 13 14 -0 2 4 6 7 10 11 12 13 15 -0 2 4 6 7 10 11 12 14 15 -0 2 4 6 7 10 11 13 14 15 -0 2 4 6 7 10 12 13 14 15 -0 2 4 6 7 11 12 13 14 15 -0 2 4 6 8 9 10 11 12 13 -0 2 4 6 8 9 10 11 12 14 -0 2 4 6 8 9 10 11 12 15 -0 2 4 6 8 9 10 11 13 14 -0 2 4 6 8 9 10 11 13 15 -0 2 4 6 8 9 10 11 14 15 -0 2 4 6 8 9 10 12 13 14 -0 2 4 6 8 9 10 12 13 15 -0 2 4 6 8 9 10 12 14 15 -0 2 4 6 8 9 10 13 14 15 -0 2 4 6 8 9 11 12 13 14 -0 2 4 6 8 9 11 12 13 15 -0 2 4 6 8 9 11 12 14 15 -0 2 4 6 8 9 11 13 14 15 -0 2 4 6 8 9 12 13 14 15 -0 2 4 6 8 10 11 12 13 14 -0 2 4 6 8 10 11 12 13 15 -0 2 4 6 8 10 11 12 14 15 -0 2 4 6 8 10 11 13 14 15 -0 2 4 6 8 10 12 13 14 15 -0 2 4 6 8 11 12 13 14 15 -0 2 4 6 9 10 11 12 13 14 -0 2 4 6 9 10 11 12 13 15 -0 2 4 6 9 10 11 12 14 15 -0 2 4 6 9 10 11 13 14 15 -0 2 4 6 9 10 12 13 14 15 -0 2 4 6 9 11 12 13 14 15 -0 2 4 6 10 11 12 13 14 15 -0 2 4 7 8 9 10 11 12 13 -0 2 4 7 8 9 10 11 12 14 -0 2 4 7 8 9 10 11 12 15 -0 2 4 7 8 9 10 11 13 14 -0 2 4 7 8 9 10 11 13 15 -0 2 4 7 8 9 10 11 14 15 -0 2 4 7 8 9 10 12 13 14 -0 2 4 7 8 9 10 12 13 15 -0 2 4 7 8 9 10 12 14 15 -0 2 4 7 8 9 10 13 14 15 -0 2 4 7 8 9 11 12 13 14 -0 2 4 7 8 9 11 12 13 15 -0 2 4 7 8 9 11 12 14 15 -0 2 4 7 8 9 11 13 14 15 -0 2 4 7 8 9 12 13 14 15 -0 2 4 7 8 10 11 12 13 14 -0 2 4 7 8 10 11 12 13 15 -0 2 4 7 8 10 11 12 14 15 -0 2 4 7 8 10 11 13 14 15 -0 2 4 7 8 10 12 13 14 15 -0 2 4 7 8 11 12 13 14 15 -0 2 4 7 9 10 11 12 13 14 -0 2 4 7 9 10 11 12 13 15 -0 2 4 7 9 10 11 12 14 15 -0 2 4 7 9 10 11 13 14 15 -0 2 4 7 9 10 12 13 14 15 -0 2 4 7 9 11 12 13 14 15 -0 2 4 7 10 11 12 13 14 15 -0 2 4 8 9 10 11 12 13 14 -0 2 4 8 9 10 11 12 13 15 -0 2 4 8 9 10 11 12 14 15 -0 2 4 8 9 10 11 13 14 15 -0 2 4 8 9 10 12 13 14 15 -0 2 4 8 9 11 12 13 14 15 -0 2 4 8 10 11 12 13 14 15 -0 2 4 9 10 11 12 13 14 15 -0 2 5 6 7 8 9 10 11 12 -0 2 5 6 7 8 9 10 11 13 -0 2 5 6 7 8 9 10 11 14 -0 2 5 6 7 8 9 10 11 15 -0 2 5 6 7 8 9 10 12 13 -0 2 5 6 7 8 9 10 12 14 -0 2 5 6 7 8 9 10 12 15 -0 2 5 6 7 8 9 10 13 14 -0 2 5 6 7 8 9 10 13 15 -0 2 5 6 7 8 9 10 14 15 -0 2 5 6 7 8 9 11 12 13 -0 2 5 6 7 8 9 11 12 14 -0 2 5 6 7 8 9 11 12 15 -0 2 5 6 7 8 9 11 13 14 -0 2 5 6 7 8 9 11 13 15 -0 2 5 6 7 8 9 11 14 15 -0 2 5 6 7 8 9 12 13 14 -0 2 5 6 7 8 9 12 13 15 -0 2 5 6 7 8 9 12 14 15 -0 2 5 6 7 8 9 13 14 15 -0 2 5 6 7 8 10 11 12 13 -0 2 5 6 7 8 10 11 12 14 -0 2 5 6 7 8 10 11 12 15 -0 2 5 6 7 8 10 11 13 14 -0 2 5 6 7 8 10 11 13 15 -0 2 5 6 7 8 10 11 14 15 -0 2 5 6 7 8 10 12 13 14 -0 2 5 6 7 8 10 12 13 15 -0 2 5 6 7 8 10 12 14 15 -0 2 5 6 7 8 10 13 14 15 -0 2 5 6 7 8 11 12 13 14 -0 2 5 6 7 8 11 12 13 15 -0 2 5 6 7 8 11 12 14 15 -0 2 5 6 7 8 11 13 14 15 -0 2 5 6 7 8 12 13 14 15 -0 2 5 6 7 9 10 11 12 13 -0 2 5 6 7 9 10 11 12 14 -0 2 5 6 7 9 10 11 12 15 -0 2 5 6 7 9 10 11 13 14 -0 2 5 6 7 9 10 11 13 15 -0 2 5 6 7 9 10 11 14 15 -0 2 5 6 7 9 10 12 13 14 -0 2 5 6 7 9 10 12 13 15 -0 2 5 6 7 9 10 12 14 15 -0 2 5 6 7 9 10 13 14 15 -0 2 5 6 7 9 11 12 13 14 -0 2 5 6 7 9 11 12 13 15 -0 2 5 6 7 9 11 12 14 15 -0 2 5 6 7 9 11 13 14 15 -0 2 5 6 7 9 12 13 14 15 -0 2 5 6 7 10 11 12 13 14 -0 2 5 6 7 10 11 12 13 15 -0 2 5 6 7 10 11 12 14 15 -0 2 5 6 7 10 11 13 14 15 -0 2 5 6 7 10 12 13 14 15 -0 2 5 6 7 11 12 13 14 15 -0 2 5 6 8 9 10 11 12 13 -0 2 5 6 8 9 10 11 12 14 -0 2 5 6 8 9 10 11 12 15 -0 2 5 6 8 9 10 11 13 14 -0 2 5 6 8 9 10 11 13 15 -0 2 5 6 8 9 10 11 14 15 -0 2 5 6 8 9 10 12 13 14 -0 2 5 6 8 9 10 12 13 15 -0 2 5 6 8 9 10 12 14 15 -0 2 5 6 8 9 10 13 14 15 -0 2 5 6 8 9 11 12 13 14 -0 2 5 6 8 9 11 12 13 15 -0 2 5 6 8 9 11 12 14 15 -0 2 5 6 8 9 11 13 14 15 -0 2 5 6 8 9 12 13 14 15 -0 2 5 6 8 10 11 12 13 14 -0 2 5 6 8 10 11 12 13 15 -0 2 5 6 8 10 11 12 14 15 -0 2 5 6 8 10 11 13 14 15 -0 2 5 6 8 10 12 13 14 15 -0 2 5 6 8 11 12 13 14 15 -0 2 5 6 9 10 11 12 13 14 -0 2 5 6 9 10 11 12 13 15 -0 2 5 6 9 10 11 12 14 15 -0 2 5 6 9 10 11 13 14 15 -0 2 5 6 9 10 12 13 14 15 -0 2 5 6 9 11 12 13 14 15 -0 2 5 6 10 11 12 13 14 15 -0 2 5 7 8 9 10 11 12 13 -0 2 5 7 8 9 10 11 12 14 -0 2 5 7 8 9 10 11 12 15 -0 2 5 7 8 9 10 11 13 14 -0 2 5 7 8 9 10 11 13 15 -0 2 5 7 8 9 10 11 14 15 -0 2 5 7 8 9 10 12 13 14 -0 2 5 7 8 9 10 12 13 15 -0 2 5 7 8 9 10 12 14 15 -0 2 5 7 8 9 10 13 14 15 -0 2 5 7 8 9 11 12 13 14 -0 2 5 7 8 9 11 12 13 15 -0 2 5 7 8 9 11 12 14 15 -0 2 5 7 8 9 11 13 14 15 -0 2 5 7 8 9 12 13 14 15 -0 2 5 7 8 10 11 12 13 14 -0 2 5 7 8 10 11 12 13 15 -0 2 5 7 8 10 11 12 14 15 -0 2 5 7 8 10 11 13 14 15 -0 2 5 7 8 10 12 13 14 15 -0 2 5 7 8 11 12 13 14 15 -0 2 5 7 9 10 11 12 13 14 -0 2 5 7 9 10 11 12 13 15 -0 2 5 7 9 10 11 12 14 15 -0 2 5 7 9 10 11 13 14 15 -0 2 5 7 9 10 12 13 14 15 -0 2 5 7 9 11 12 13 14 15 -0 2 5 7 10 11 12 13 14 15 -0 2 5 8 9 10 11 12 13 14 -0 2 5 8 9 10 11 12 13 15 -0 2 5 8 9 10 11 12 14 15 -0 2 5 8 9 10 11 13 14 15 -0 2 5 8 9 10 12 13 14 15 -0 2 5 8 9 11 12 13 14 15 -0 2 5 8 10 11 12 13 14 15 -0 2 5 9 10 11 12 13 14 15 -0 2 6 7 8 9 10 11 12 13 -0 2 6 7 8 9 10 11 12 14 -0 2 6 7 8 9 10 11 12 15 -0 2 6 7 8 9 10 11 13 14 -0 2 6 7 8 9 10 11 13 15 -0 2 6 7 8 9 10 11 14 15 -0 2 6 7 8 9 10 12 13 14 -0 2 6 7 8 9 10 12 13 15 -0 2 6 7 8 9 10 12 14 15 -0 2 6 7 8 9 10 13 14 15 -0 2 6 7 8 9 11 12 13 14 -0 2 6 7 8 9 11 12 13 15 -0 2 6 7 8 9 11 12 14 15 -0 2 6 7 8 9 11 13 14 15 -0 2 6 7 8 9 12 13 14 15 -0 2 6 7 8 10 11 12 13 14 -0 2 6 7 8 10 11 12 13 15 -0 2 6 7 8 10 11 12 14 15 -0 2 6 7 8 10 11 13 14 15 -0 2 6 7 8 10 12 13 14 15 -0 2 6 7 8 11 12 13 14 15 -0 2 6 7 9 10 11 12 13 14 -0 2 6 7 9 10 11 12 13 15 -0 2 6 7 9 10 11 12 14 15 -0 2 6 7 9 10 11 13 14 15 -0 2 6 7 9 10 12 13 14 15 -0 2 6 7 9 11 12 13 14 15 -0 2 6 7 10 11 12 13 14 15 -0 2 6 8 9 10 11 12 13 14 -0 2 6 8 9 10 11 12 13 15 -0 2 6 8 9 10 11 12 14 15 -0 2 6 8 9 10 11 13 14 15 -0 2 6 8 9 10 12 13 14 15 -0 2 6 8 9 11 12 13 14 15 -0 2 6 8 10 11 12 13 14 15 -0 2 6 9 10 11 12 13 14 15 -0 2 7 8 9 10 11 12 13 14 -0 2 7 8 9 10 11 12 13 15 -0 2 7 8 9 10 11 12 14 15 -0 2 7 8 9 10 11 13 14 15 -0 2 7 8 9 10 12 13 14 15 -0 2 7 8 9 11 12 13 14 15 -0 2 7 8 10 11 12 13 14 15 -0 2 7 9 10 11 12 13 14 15 -0 2 8 9 10 11 12 13 14 15 -0 3 4 5 6 7 8 9 10 11 -0 3 4 5 6 7 8 9 10 12 -0 3 4 5 6 7 8 9 10 13 -0 3 4 5 6 7 8 9 10 14 -0 3 4 5 6 7 8 9 10 15 -0 3 4 5 6 7 8 9 11 12 -0 3 4 5 6 7 8 9 11 13 -0 3 4 5 6 7 8 9 11 14 -0 3 4 5 6 7 8 9 11 15 -0 3 4 5 6 7 8 9 12 13 -0 3 4 5 6 7 8 9 12 14 -0 3 4 5 6 7 8 9 12 15 -0 3 4 5 6 7 8 9 13 14 -0 3 4 5 6 7 8 9 13 15 -0 3 4 5 6 7 8 9 14 15 -0 3 4 5 6 7 8 10 11 12 -0 3 4 5 6 7 8 10 11 13 -0 3 4 5 6 7 8 10 11 14 -0 3 4 5 6 7 8 10 11 15 -0 3 4 5 6 7 8 10 12 13 -0 3 4 5 6 7 8 10 12 14 -0 3 4 5 6 7 8 10 12 15 -0 3 4 5 6 7 8 10 13 14 -0 3 4 5 6 7 8 10 13 15 -0 3 4 5 6 7 8 10 14 15 -0 3 4 5 6 7 8 11 12 13 -0 3 4 5 6 7 8 11 12 14 -0 3 4 5 6 7 8 11 12 15 -0 3 4 5 6 7 8 11 13 14 -0 3 4 5 6 7 8 11 13 15 -0 3 4 5 6 7 8 11 14 15 -0 3 4 5 6 7 8 12 13 14 -0 3 4 5 6 7 8 12 13 15 -0 3 4 5 6 7 8 12 14 15 -0 3 4 5 6 7 8 13 14 15 -0 3 4 5 6 7 9 10 11 12 -0 3 4 5 6 7 9 10 11 13 -0 3 4 5 6 7 9 10 11 14 -0 3 4 5 6 7 9 10 11 15 -0 3 4 5 6 7 9 10 12 13 -0 3 4 5 6 7 9 10 12 14 -0 3 4 5 6 7 9 10 12 15 -0 3 4 5 6 7 9 10 13 14 -0 3 4 5 6 7 9 10 13 15 -0 3 4 5 6 7 9 10 14 15 -0 3 4 5 6 7 9 11 12 13 -0 3 4 5 6 7 9 11 12 14 -0 3 4 5 6 7 9 11 12 15 -0 3 4 5 6 7 9 11 13 14 -0 3 4 5 6 7 9 11 13 15 -0 3 4 5 6 7 9 11 14 15 -0 3 4 5 6 7 9 12 13 14 -0 3 4 5 6 7 9 12 13 15 -0 3 4 5 6 7 9 12 14 15 -0 3 4 5 6 7 9 13 14 15 -0 3 4 5 6 7 10 11 12 13 -0 3 4 5 6 7 10 11 12 14 -0 3 4 5 6 7 10 11 12 15 -0 3 4 5 6 7 10 11 13 14 -0 3 4 5 6 7 10 11 13 15 -0 3 4 5 6 7 10 11 14 15 -0 3 4 5 6 7 10 12 13 14 -0 3 4 5 6 7 10 12 13 15 -0 3 4 5 6 7 10 12 14 15 -0 3 4 5 6 7 10 13 14 15 -0 3 4 5 6 7 11 12 13 14 -0 3 4 5 6 7 11 12 13 15 -0 3 4 5 6 7 11 12 14 15 -0 3 4 5 6 7 11 13 14 15 -0 3 4 5 6 7 12 13 14 15 -0 3 4 5 6 8 9 10 11 12 -0 3 4 5 6 8 9 10 11 13 -0 3 4 5 6 8 9 10 11 14 -0 3 4 5 6 8 9 10 11 15 -0 3 4 5 6 8 9 10 12 13 -0 3 4 5 6 8 9 10 12 14 -0 3 4 5 6 8 9 10 12 15 -0 3 4 5 6 8 9 10 13 14 -0 3 4 5 6 8 9 10 13 15 -0 3 4 5 6 8 9 10 14 15 -0 3 4 5 6 8 9 11 12 13 -0 3 4 5 6 8 9 11 12 14 -0 3 4 5 6 8 9 11 12 15 -0 3 4 5 6 8 9 11 13 14 -0 3 4 5 6 8 9 11 13 15 -0 3 4 5 6 8 9 11 14 15 -0 3 4 5 6 8 9 12 13 14 -0 3 4 5 6 8 9 12 13 15 -0 3 4 5 6 8 9 12 14 15 -0 3 4 5 6 8 9 13 14 15 -0 3 4 5 6 8 10 11 12 13 -0 3 4 5 6 8 10 11 12 14 -0 3 4 5 6 8 10 11 12 15 -0 3 4 5 6 8 10 11 13 14 -0 3 4 5 6 8 10 11 13 15 -0 3 4 5 6 8 10 11 14 15 -0 3 4 5 6 8 10 12 13 14 -0 3 4 5 6 8 10 12 13 15 -0 3 4 5 6 8 10 12 14 15 -0 3 4 5 6 8 10 13 14 15 -0 3 4 5 6 8 11 12 13 14 -0 3 4 5 6 8 11 12 13 15 -0 3 4 5 6 8 11 12 14 15 -0 3 4 5 6 8 11 13 14 15 -0 3 4 5 6 8 12 13 14 15 -0 3 4 5 6 9 10 11 12 13 -0 3 4 5 6 9 10 11 12 14 -0 3 4 5 6 9 10 11 12 15 -0 3 4 5 6 9 10 11 13 14 -0 3 4 5 6 9 10 11 13 15 -0 3 4 5 6 9 10 11 14 15 -0 3 4 5 6 9 10 12 13 14 -0 3 4 5 6 9 10 12 13 15 -0 3 4 5 6 9 10 12 14 15 -0 3 4 5 6 9 10 13 14 15 -0 3 4 5 6 9 11 12 13 14 -0 3 4 5 6 9 11 12 13 15 -0 3 4 5 6 9 11 12 14 15 -0 3 4 5 6 9 11 13 14 15 -0 3 4 5 6 9 12 13 14 15 -0 3 4 5 6 10 11 12 13 14 -0 3 4 5 6 10 11 12 13 15 -0 3 4 5 6 10 11 12 14 15 -0 3 4 5 6 10 11 13 14 15 -0 3 4 5 6 10 12 13 14 15 -0 3 4 5 6 11 12 13 14 15 -0 3 4 5 7 8 9 10 11 12 -0 3 4 5 7 8 9 10 11 13 -0 3 4 5 7 8 9 10 11 14 -0 3 4 5 7 8 9 10 11 15 -0 3 4 5 7 8 9 10 12 13 -0 3 4 5 7 8 9 10 12 14 -0 3 4 5 7 8 9 10 12 15 -0 3 4 5 7 8 9 10 13 14 -0 3 4 5 7 8 9 10 13 15 -0 3 4 5 7 8 9 10 14 15 -0 3 4 5 7 8 9 11 12 13 -0 3 4 5 7 8 9 11 12 14 -0 3 4 5 7 8 9 11 12 15 -0 3 4 5 7 8 9 11 13 14 -0 3 4 5 7 8 9 11 13 15 -0 3 4 5 7 8 9 11 14 15 -0 3 4 5 7 8 9 12 13 14 -0 3 4 5 7 8 9 12 13 15 -0 3 4 5 7 8 9 12 14 15 -0 3 4 5 7 8 9 13 14 15 -0 3 4 5 7 8 10 11 12 13 -0 3 4 5 7 8 10 11 12 14 -0 3 4 5 7 8 10 11 12 15 -0 3 4 5 7 8 10 11 13 14 -0 3 4 5 7 8 10 11 13 15 -0 3 4 5 7 8 10 11 14 15 -0 3 4 5 7 8 10 12 13 14 -0 3 4 5 7 8 10 12 13 15 -0 3 4 5 7 8 10 12 14 15 -0 3 4 5 7 8 10 13 14 15 -0 3 4 5 7 8 11 12 13 14 -0 3 4 5 7 8 11 12 13 15 -0 3 4 5 7 8 11 12 14 15 -0 3 4 5 7 8 11 13 14 15 -0 3 4 5 7 8 12 13 14 15 -0 3 4 5 7 9 10 11 12 13 -0 3 4 5 7 9 10 11 12 14 -0 3 4 5 7 9 10 11 12 15 -0 3 4 5 7 9 10 11 13 14 -0 3 4 5 7 9 10 11 13 15 -0 3 4 5 7 9 10 11 14 15 -0 3 4 5 7 9 10 12 13 14 -0 3 4 5 7 9 10 12 13 15 -0 3 4 5 7 9 10 12 14 15 -0 3 4 5 7 9 10 13 14 15 -0 3 4 5 7 9 11 12 13 14 -0 3 4 5 7 9 11 12 13 15 -0 3 4 5 7 9 11 12 14 15 -0 3 4 5 7 9 11 13 14 15 -0 3 4 5 7 9 12 13 14 15 -0 3 4 5 7 10 11 12 13 14 -0 3 4 5 7 10 11 12 13 15 -0 3 4 5 7 10 11 12 14 15 -0 3 4 5 7 10 11 13 14 15 -0 3 4 5 7 10 12 13 14 15 -0 3 4 5 7 11 12 13 14 15 -0 3 4 5 8 9 10 11 12 13 -0 3 4 5 8 9 10 11 12 14 -0 3 4 5 8 9 10 11 12 15 -0 3 4 5 8 9 10 11 13 14 -0 3 4 5 8 9 10 11 13 15 -0 3 4 5 8 9 10 11 14 15 -0 3 4 5 8 9 10 12 13 14 -0 3 4 5 8 9 10 12 13 15 -0 3 4 5 8 9 10 12 14 15 -0 3 4 5 8 9 10 13 14 15 -0 3 4 5 8 9 11 12 13 14 -0 3 4 5 8 9 11 12 13 15 -0 3 4 5 8 9 11 12 14 15 -0 3 4 5 8 9 11 13 14 15 -0 3 4 5 8 9 12 13 14 15 -0 3 4 5 8 10 11 12 13 14 -0 3 4 5 8 10 11 12 13 15 -0 3 4 5 8 10 11 12 14 15 -0 3 4 5 8 10 11 13 14 15 -0 3 4 5 8 10 12 13 14 15 -0 3 4 5 8 11 12 13 14 15 -0 3 4 5 9 10 11 12 13 14 -0 3 4 5 9 10 11 12 13 15 -0 3 4 5 9 10 11 12 14 15 -0 3 4 5 9 10 11 13 14 15 -0 3 4 5 9 10 12 13 14 15 -0 3 4 5 9 11 12 13 14 15 -0 3 4 5 10 11 12 13 14 15 -0 3 4 6 7 8 9 10 11 12 -0 3 4 6 7 8 9 10 11 13 -0 3 4 6 7 8 9 10 11 14 -0 3 4 6 7 8 9 10 11 15 -0 3 4 6 7 8 9 10 12 13 -0 3 4 6 7 8 9 10 12 14 -0 3 4 6 7 8 9 10 12 15 -0 3 4 6 7 8 9 10 13 14 -0 3 4 6 7 8 9 10 13 15 -0 3 4 6 7 8 9 10 14 15 -0 3 4 6 7 8 9 11 12 13 -0 3 4 6 7 8 9 11 12 14 -0 3 4 6 7 8 9 11 12 15 -0 3 4 6 7 8 9 11 13 14 -0 3 4 6 7 8 9 11 13 15 -0 3 4 6 7 8 9 11 14 15 -0 3 4 6 7 8 9 12 13 14 -0 3 4 6 7 8 9 12 13 15 -0 3 4 6 7 8 9 12 14 15 -0 3 4 6 7 8 9 13 14 15 -0 3 4 6 7 8 10 11 12 13 -0 3 4 6 7 8 10 11 12 14 -0 3 4 6 7 8 10 11 12 15 -0 3 4 6 7 8 10 11 13 14 -0 3 4 6 7 8 10 11 13 15 -0 3 4 6 7 8 10 11 14 15 -0 3 4 6 7 8 10 12 13 14 -0 3 4 6 7 8 10 12 13 15 -0 3 4 6 7 8 10 12 14 15 -0 3 4 6 7 8 10 13 14 15 -0 3 4 6 7 8 11 12 13 14 -0 3 4 6 7 8 11 12 13 15 -0 3 4 6 7 8 11 12 14 15 -0 3 4 6 7 8 11 13 14 15 -0 3 4 6 7 8 12 13 14 15 -0 3 4 6 7 9 10 11 12 13 -0 3 4 6 7 9 10 11 12 14 -0 3 4 6 7 9 10 11 12 15 -0 3 4 6 7 9 10 11 13 14 -0 3 4 6 7 9 10 11 13 15 -0 3 4 6 7 9 10 11 14 15 -0 3 4 6 7 9 10 12 13 14 -0 3 4 6 7 9 10 12 13 15 -0 3 4 6 7 9 10 12 14 15 -0 3 4 6 7 9 10 13 14 15 -0 3 4 6 7 9 11 12 13 14 -0 3 4 6 7 9 11 12 13 15 -0 3 4 6 7 9 11 12 14 15 -0 3 4 6 7 9 11 13 14 15 -0 3 4 6 7 9 12 13 14 15 -0 3 4 6 7 10 11 12 13 14 -0 3 4 6 7 10 11 12 13 15 -0 3 4 6 7 10 11 12 14 15 -0 3 4 6 7 10 11 13 14 15 -0 3 4 6 7 10 12 13 14 15 -0 3 4 6 7 11 12 13 14 15 -0 3 4 6 8 9 10 11 12 13 -0 3 4 6 8 9 10 11 12 14 -0 3 4 6 8 9 10 11 12 15 -0 3 4 6 8 9 10 11 13 14 -0 3 4 6 8 9 10 11 13 15 -0 3 4 6 8 9 10 11 14 15 -0 3 4 6 8 9 10 12 13 14 -0 3 4 6 8 9 10 12 13 15 -0 3 4 6 8 9 10 12 14 15 -0 3 4 6 8 9 10 13 14 15 -0 3 4 6 8 9 11 12 13 14 -0 3 4 6 8 9 11 12 13 15 -0 3 4 6 8 9 11 12 14 15 -0 3 4 6 8 9 11 13 14 15 -0 3 4 6 8 9 12 13 14 15 -0 3 4 6 8 10 11 12 13 14 -0 3 4 6 8 10 11 12 13 15 -0 3 4 6 8 10 11 12 14 15 -0 3 4 6 8 10 11 13 14 15 -0 3 4 6 8 10 12 13 14 15 -0 3 4 6 8 11 12 13 14 15 -0 3 4 6 9 10 11 12 13 14 -0 3 4 6 9 10 11 12 13 15 -0 3 4 6 9 10 11 12 14 15 -0 3 4 6 9 10 11 13 14 15 -0 3 4 6 9 10 12 13 14 15 -0 3 4 6 9 11 12 13 14 15 -0 3 4 6 10 11 12 13 14 15 -0 3 4 7 8 9 10 11 12 13 -0 3 4 7 8 9 10 11 12 14 -0 3 4 7 8 9 10 11 12 15 -0 3 4 7 8 9 10 11 13 14 -0 3 4 7 8 9 10 11 13 15 -0 3 4 7 8 9 10 11 14 15 -0 3 4 7 8 9 10 12 13 14 -0 3 4 7 8 9 10 12 13 15 -0 3 4 7 8 9 10 12 14 15 -0 3 4 7 8 9 10 13 14 15 -0 3 4 7 8 9 11 12 13 14 -0 3 4 7 8 9 11 12 13 15 -0 3 4 7 8 9 11 12 14 15 -0 3 4 7 8 9 11 13 14 15 -0 3 4 7 8 9 12 13 14 15 -0 3 4 7 8 10 11 12 13 14 -0 3 4 7 8 10 11 12 13 15 -0 3 4 7 8 10 11 12 14 15 -0 3 4 7 8 10 11 13 14 15 -0 3 4 7 8 10 12 13 14 15 -0 3 4 7 8 11 12 13 14 15 -0 3 4 7 9 10 11 12 13 14 -0 3 4 7 9 10 11 12 13 15 -0 3 4 7 9 10 11 12 14 15 -0 3 4 7 9 10 11 13 14 15 -0 3 4 7 9 10 12 13 14 15 -0 3 4 7 9 11 12 13 14 15 -0 3 4 7 10 11 12 13 14 15 -0 3 4 8 9 10 11 12 13 14 -0 3 4 8 9 10 11 12 13 15 -0 3 4 8 9 10 11 12 14 15 -0 3 4 8 9 10 11 13 14 15 -0 3 4 8 9 10 12 13 14 15 -0 3 4 8 9 11 12 13 14 15 -0 3 4 8 10 11 12 13 14 15 -0 3 4 9 10 11 12 13 14 15 -0 3 5 6 7 8 9 10 11 12 -0 3 5 6 7 8 9 10 11 13 -0 3 5 6 7 8 9 10 11 14 -0 3 5 6 7 8 9 10 11 15 -0 3 5 6 7 8 9 10 12 13 -0 3 5 6 7 8 9 10 12 14 -0 3 5 6 7 8 9 10 12 15 -0 3 5 6 7 8 9 10 13 14 -0 3 5 6 7 8 9 10 13 15 -0 3 5 6 7 8 9 10 14 15 -0 3 5 6 7 8 9 11 12 13 -0 3 5 6 7 8 9 11 12 14 -0 3 5 6 7 8 9 11 12 15 -0 3 5 6 7 8 9 11 13 14 -0 3 5 6 7 8 9 11 13 15 -0 3 5 6 7 8 9 11 14 15 -0 3 5 6 7 8 9 12 13 14 -0 3 5 6 7 8 9 12 13 15 -0 3 5 6 7 8 9 12 14 15 -0 3 5 6 7 8 9 13 14 15 -0 3 5 6 7 8 10 11 12 13 -0 3 5 6 7 8 10 11 12 14 -0 3 5 6 7 8 10 11 12 15 -0 3 5 6 7 8 10 11 13 14 -0 3 5 6 7 8 10 11 13 15 -0 3 5 6 7 8 10 11 14 15 -0 3 5 6 7 8 10 12 13 14 -0 3 5 6 7 8 10 12 13 15 -0 3 5 6 7 8 10 12 14 15 -0 3 5 6 7 8 10 13 14 15 -0 3 5 6 7 8 11 12 13 14 -0 3 5 6 7 8 11 12 13 15 -0 3 5 6 7 8 11 12 14 15 -0 3 5 6 7 8 11 13 14 15 -0 3 5 6 7 8 12 13 14 15 -0 3 5 6 7 9 10 11 12 13 -0 3 5 6 7 9 10 11 12 14 -0 3 5 6 7 9 10 11 12 15 -0 3 5 6 7 9 10 11 13 14 -0 3 5 6 7 9 10 11 13 15 -0 3 5 6 7 9 10 11 14 15 -0 3 5 6 7 9 10 12 13 14 -0 3 5 6 7 9 10 12 13 15 -0 3 5 6 7 9 10 12 14 15 -0 3 5 6 7 9 10 13 14 15 -0 3 5 6 7 9 11 12 13 14 -0 3 5 6 7 9 11 12 13 15 -0 3 5 6 7 9 11 12 14 15 -0 3 5 6 7 9 11 13 14 15 -0 3 5 6 7 9 12 13 14 15 -0 3 5 6 7 10 11 12 13 14 -0 3 5 6 7 10 11 12 13 15 -0 3 5 6 7 10 11 12 14 15 -0 3 5 6 7 10 11 13 14 15 -0 3 5 6 7 10 12 13 14 15 -0 3 5 6 7 11 12 13 14 15 -0 3 5 6 8 9 10 11 12 13 -0 3 5 6 8 9 10 11 12 14 -0 3 5 6 8 9 10 11 12 15 -0 3 5 6 8 9 10 11 13 14 -0 3 5 6 8 9 10 11 13 15 -0 3 5 6 8 9 10 11 14 15 -0 3 5 6 8 9 10 12 13 14 -0 3 5 6 8 9 10 12 13 15 -0 3 5 6 8 9 10 12 14 15 -0 3 5 6 8 9 10 13 14 15 -0 3 5 6 8 9 11 12 13 14 -0 3 5 6 8 9 11 12 13 15 -0 3 5 6 8 9 11 12 14 15 -0 3 5 6 8 9 11 13 14 15 -0 3 5 6 8 9 12 13 14 15 -0 3 5 6 8 10 11 12 13 14 -0 3 5 6 8 10 11 12 13 15 -0 3 5 6 8 10 11 12 14 15 -0 3 5 6 8 10 11 13 14 15 -0 3 5 6 8 10 12 13 14 15 -0 3 5 6 8 11 12 13 14 15 -0 3 5 6 9 10 11 12 13 14 -0 3 5 6 9 10 11 12 13 15 -0 3 5 6 9 10 11 12 14 15 -0 3 5 6 9 10 11 13 14 15 -0 3 5 6 9 10 12 13 14 15 -0 3 5 6 9 11 12 13 14 15 -0 3 5 6 10 11 12 13 14 15 -0 3 5 7 8 9 10 11 12 13 -0 3 5 7 8 9 10 11 12 14 -0 3 5 7 8 9 10 11 12 15 -0 3 5 7 8 9 10 11 13 14 -0 3 5 7 8 9 10 11 13 15 -0 3 5 7 8 9 10 11 14 15 -0 3 5 7 8 9 10 12 13 14 -0 3 5 7 8 9 10 12 13 15 -0 3 5 7 8 9 10 12 14 15 -0 3 5 7 8 9 10 13 14 15 -0 3 5 7 8 9 11 12 13 14 -0 3 5 7 8 9 11 12 13 15 -0 3 5 7 8 9 11 12 14 15 -0 3 5 7 8 9 11 13 14 15 -0 3 5 7 8 9 12 13 14 15 -0 3 5 7 8 10 11 12 13 14 -0 3 5 7 8 10 11 12 13 15 -0 3 5 7 8 10 11 12 14 15 -0 3 5 7 8 10 11 13 14 15 -0 3 5 7 8 10 12 13 14 15 -0 3 5 7 8 11 12 13 14 15 -0 3 5 7 9 10 11 12 13 14 -0 3 5 7 9 10 11 12 13 15 -0 3 5 7 9 10 11 12 14 15 -0 3 5 7 9 10 11 13 14 15 -0 3 5 7 9 10 12 13 14 15 -0 3 5 7 9 11 12 13 14 15 -0 3 5 7 10 11 12 13 14 15 -0 3 5 8 9 10 11 12 13 14 -0 3 5 8 9 10 11 12 13 15 -0 3 5 8 9 10 11 12 14 15 -0 3 5 8 9 10 11 13 14 15 -0 3 5 8 9 10 12 13 14 15 -0 3 5 8 9 11 12 13 14 15 -0 3 5 8 10 11 12 13 14 15 -0 3 5 9 10 11 12 13 14 15 -0 3 6 7 8 9 10 11 12 13 -0 3 6 7 8 9 10 11 12 14 -0 3 6 7 8 9 10 11 12 15 -0 3 6 7 8 9 10 11 13 14 -0 3 6 7 8 9 10 11 13 15 -0 3 6 7 8 9 10 11 14 15 -0 3 6 7 8 9 10 12 13 14 -0 3 6 7 8 9 10 12 13 15 -0 3 6 7 8 9 10 12 14 15 -0 3 6 7 8 9 10 13 14 15 -0 3 6 7 8 9 11 12 13 14 -0 3 6 7 8 9 11 12 13 15 -0 3 6 7 8 9 11 12 14 15 -0 3 6 7 8 9 11 13 14 15 -0 3 6 7 8 9 12 13 14 15 -0 3 6 7 8 10 11 12 13 14 -0 3 6 7 8 10 11 12 13 15 -0 3 6 7 8 10 11 12 14 15 -0 3 6 7 8 10 11 13 14 15 -0 3 6 7 8 10 12 13 14 15 -0 3 6 7 8 11 12 13 14 15 -0 3 6 7 9 10 11 12 13 14 -0 3 6 7 9 10 11 12 13 15 -0 3 6 7 9 10 11 12 14 15 -0 3 6 7 9 10 11 13 14 15 -0 3 6 7 9 10 12 13 14 15 -0 3 6 7 9 11 12 13 14 15 -0 3 6 7 10 11 12 13 14 15 -0 3 6 8 9 10 11 12 13 14 -0 3 6 8 9 10 11 12 13 15 -0 3 6 8 9 10 11 12 14 15 -0 3 6 8 9 10 11 13 14 15 -0 3 6 8 9 10 12 13 14 15 -0 3 6 8 9 11 12 13 14 15 -0 3 6 8 10 11 12 13 14 15 -0 3 6 9 10 11 12 13 14 15 -0 3 7 8 9 10 11 12 13 14 -0 3 7 8 9 10 11 12 13 15 -0 3 7 8 9 10 11 12 14 15 -0 3 7 8 9 10 11 13 14 15 -0 3 7 8 9 10 12 13 14 15 -0 3 7 8 9 11 12 13 14 15 -0 3 7 8 10 11 12 13 14 15 -0 3 7 9 10 11 12 13 14 15 -0 3 8 9 10 11 12 13 14 15 -0 4 5 6 7 8 9 10 11 12 -0 4 5 6 7 8 9 10 11 13 -0 4 5 6 7 8 9 10 11 14 -0 4 5 6 7 8 9 10 11 15 -0 4 5 6 7 8 9 10 12 13 -0 4 5 6 7 8 9 10 12 14 -0 4 5 6 7 8 9 10 12 15 -0 4 5 6 7 8 9 10 13 14 -0 4 5 6 7 8 9 10 13 15 -0 4 5 6 7 8 9 10 14 15 -0 4 5 6 7 8 9 11 12 13 -0 4 5 6 7 8 9 11 12 14 -0 4 5 6 7 8 9 11 12 15 -0 4 5 6 7 8 9 11 13 14 -0 4 5 6 7 8 9 11 13 15 -0 4 5 6 7 8 9 11 14 15 -0 4 5 6 7 8 9 12 13 14 -0 4 5 6 7 8 9 12 13 15 -0 4 5 6 7 8 9 12 14 15 -0 4 5 6 7 8 9 13 14 15 -0 4 5 6 7 8 10 11 12 13 -0 4 5 6 7 8 10 11 12 14 -0 4 5 6 7 8 10 11 12 15 -0 4 5 6 7 8 10 11 13 14 -0 4 5 6 7 8 10 11 13 15 -0 4 5 6 7 8 10 11 14 15 -0 4 5 6 7 8 10 12 13 14 -0 4 5 6 7 8 10 12 13 15 -0 4 5 6 7 8 10 12 14 15 -0 4 5 6 7 8 10 13 14 15 -0 4 5 6 7 8 11 12 13 14 -0 4 5 6 7 8 11 12 13 15 -0 4 5 6 7 8 11 12 14 15 -0 4 5 6 7 8 11 13 14 15 -0 4 5 6 7 8 12 13 14 15 -0 4 5 6 7 9 10 11 12 13 -0 4 5 6 7 9 10 11 12 14 -0 4 5 6 7 9 10 11 12 15 -0 4 5 6 7 9 10 11 13 14 -0 4 5 6 7 9 10 11 13 15 -0 4 5 6 7 9 10 11 14 15 -0 4 5 6 7 9 10 12 13 14 -0 4 5 6 7 9 10 12 13 15 -0 4 5 6 7 9 10 12 14 15 -0 4 5 6 7 9 10 13 14 15 -0 4 5 6 7 9 11 12 13 14 -0 4 5 6 7 9 11 12 13 15 -0 4 5 6 7 9 11 12 14 15 -0 4 5 6 7 9 11 13 14 15 -0 4 5 6 7 9 12 13 14 15 -0 4 5 6 7 10 11 12 13 14 -0 4 5 6 7 10 11 12 13 15 -0 4 5 6 7 10 11 12 14 15 -0 4 5 6 7 10 11 13 14 15 -0 4 5 6 7 10 12 13 14 15 -0 4 5 6 7 11 12 13 14 15 -0 4 5 6 8 9 10 11 12 13 -0 4 5 6 8 9 10 11 12 14 -0 4 5 6 8 9 10 11 12 15 -0 4 5 6 8 9 10 11 13 14 -0 4 5 6 8 9 10 11 13 15 -0 4 5 6 8 9 10 11 14 15 -0 4 5 6 8 9 10 12 13 14 -0 4 5 6 8 9 10 12 13 15 -0 4 5 6 8 9 10 12 14 15 -0 4 5 6 8 9 10 13 14 15 -0 4 5 6 8 9 11 12 13 14 -0 4 5 6 8 9 11 12 13 15 -0 4 5 6 8 9 11 12 14 15 -0 4 5 6 8 9 11 13 14 15 -0 4 5 6 8 9 12 13 14 15 -0 4 5 6 8 10 11 12 13 14 -0 4 5 6 8 10 11 12 13 15 -0 4 5 6 8 10 11 12 14 15 -0 4 5 6 8 10 11 13 14 15 -0 4 5 6 8 10 12 13 14 15 -0 4 5 6 8 11 12 13 14 15 -0 4 5 6 9 10 11 12 13 14 -0 4 5 6 9 10 11 12 13 15 -0 4 5 6 9 10 11 12 14 15 -0 4 5 6 9 10 11 13 14 15 -0 4 5 6 9 10 12 13 14 15 -0 4 5 6 9 11 12 13 14 15 -0 4 5 6 10 11 12 13 14 15 -0 4 5 7 8 9 10 11 12 13 -0 4 5 7 8 9 10 11 12 14 -0 4 5 7 8 9 10 11 12 15 -0 4 5 7 8 9 10 11 13 14 -0 4 5 7 8 9 10 11 13 15 -0 4 5 7 8 9 10 11 14 15 -0 4 5 7 8 9 10 12 13 14 -0 4 5 7 8 9 10 12 13 15 -0 4 5 7 8 9 10 12 14 15 -0 4 5 7 8 9 10 13 14 15 -0 4 5 7 8 9 11 12 13 14 -0 4 5 7 8 9 11 12 13 15 -0 4 5 7 8 9 11 12 14 15 -0 4 5 7 8 9 11 13 14 15 -0 4 5 7 8 9 12 13 14 15 -0 4 5 7 8 10 11 12 13 14 -0 4 5 7 8 10 11 12 13 15 -0 4 5 7 8 10 11 12 14 15 -0 4 5 7 8 10 11 13 14 15 -0 4 5 7 8 10 12 13 14 15 -0 4 5 7 8 11 12 13 14 15 -0 4 5 7 9 10 11 12 13 14 -0 4 5 7 9 10 11 12 13 15 -0 4 5 7 9 10 11 12 14 15 -0 4 5 7 9 10 11 13 14 15 -0 4 5 7 9 10 12 13 14 15 -0 4 5 7 9 11 12 13 14 15 -0 4 5 7 10 11 12 13 14 15 -0 4 5 8 9 10 11 12 13 14 -0 4 5 8 9 10 11 12 13 15 -0 4 5 8 9 10 11 12 14 15 -0 4 5 8 9 10 11 13 14 15 -0 4 5 8 9 10 12 13 14 15 -0 4 5 8 9 11 12 13 14 15 -0 4 5 8 10 11 12 13 14 15 -0 4 5 9 10 11 12 13 14 15 -0 4 6 7 8 9 10 11 12 13 -0 4 6 7 8 9 10 11 12 14 -0 4 6 7 8 9 10 11 12 15 -0 4 6 7 8 9 10 11 13 14 -0 4 6 7 8 9 10 11 13 15 -0 4 6 7 8 9 10 11 14 15 -0 4 6 7 8 9 10 12 13 14 -0 4 6 7 8 9 10 12 13 15 -0 4 6 7 8 9 10 12 14 15 -0 4 6 7 8 9 10 13 14 15 -0 4 6 7 8 9 11 12 13 14 -0 4 6 7 8 9 11 12 13 15 -0 4 6 7 8 9 11 12 14 15 -0 4 6 7 8 9 11 13 14 15 -0 4 6 7 8 9 12 13 14 15 -0 4 6 7 8 10 11 12 13 14 -0 4 6 7 8 10 11 12 13 15 -0 4 6 7 8 10 11 12 14 15 -0 4 6 7 8 10 11 13 14 15 -0 4 6 7 8 10 12 13 14 15 -0 4 6 7 8 11 12 13 14 15 -0 4 6 7 9 10 11 12 13 14 -0 4 6 7 9 10 11 12 13 15 -0 4 6 7 9 10 11 12 14 15 -0 4 6 7 9 10 11 13 14 15 -0 4 6 7 9 10 12 13 14 15 -0 4 6 7 9 11 12 13 14 15 -0 4 6 7 10 11 12 13 14 15 -0 4 6 8 9 10 11 12 13 14 -0 4 6 8 9 10 11 12 13 15 -0 4 6 8 9 10 11 12 14 15 -0 4 6 8 9 10 11 13 14 15 -0 4 6 8 9 10 12 13 14 15 -0 4 6 8 9 11 12 13 14 15 -0 4 6 8 10 11 12 13 14 15 -0 4 6 9 10 11 12 13 14 15 -0 4 7 8 9 10 11 12 13 14 -0 4 7 8 9 10 11 12 13 15 -0 4 7 8 9 10 11 12 14 15 -0 4 7 8 9 10 11 13 14 15 -0 4 7 8 9 10 12 13 14 15 -0 4 7 8 9 11 12 13 14 15 -0 4 7 8 10 11 12 13 14 15 -0 4 7 9 10 11 12 13 14 15 -0 4 8 9 10 11 12 13 14 15 -0 5 6 7 8 9 10 11 12 13 -0 5 6 7 8 9 10 11 12 14 -0 5 6 7 8 9 10 11 12 15 -0 5 6 7 8 9 10 11 13 14 -0 5 6 7 8 9 10 11 13 15 -0 5 6 7 8 9 10 11 14 15 -0 5 6 7 8 9 10 12 13 14 -0 5 6 7 8 9 10 12 13 15 -0 5 6 7 8 9 10 12 14 15 -0 5 6 7 8 9 10 13 14 15 -0 5 6 7 8 9 11 12 13 14 -0 5 6 7 8 9 11 12 13 15 -0 5 6 7 8 9 11 12 14 15 -0 5 6 7 8 9 11 13 14 15 -0 5 6 7 8 9 12 13 14 15 -0 5 6 7 8 10 11 12 13 14 -0 5 6 7 8 10 11 12 13 15 -0 5 6 7 8 10 11 12 14 15 -0 5 6 7 8 10 11 13 14 15 -0 5 6 7 8 10 12 13 14 15 -0 5 6 7 8 11 12 13 14 15 -0 5 6 7 9 10 11 12 13 14 -0 5 6 7 9 10 11 12 13 15 -0 5 6 7 9 10 11 12 14 15 -0 5 6 7 9 10 11 13 14 15 -0 5 6 7 9 10 12 13 14 15 -0 5 6 7 9 11 12 13 14 15 -0 5 6 7 10 11 12 13 14 15 -0 5 6 8 9 10 11 12 13 14 -0 5 6 8 9 10 11 12 13 15 -0 5 6 8 9 10 11 12 14 15 -0 5 6 8 9 10 11 13 14 15 -0 5 6 8 9 10 12 13 14 15 -0 5 6 8 9 11 12 13 14 15 -0 5 6 8 10 11 12 13 14 15 -0 5 6 9 10 11 12 13 14 15 -0 5 7 8 9 10 11 12 13 14 -0 5 7 8 9 10 11 12 13 15 -0 5 7 8 9 10 11 12 14 15 -0 5 7 8 9 10 11 13 14 15 -0 5 7 8 9 10 12 13 14 15 -0 5 7 8 9 11 12 13 14 15 -0 5 7 8 10 11 12 13 14 15 -0 5 7 9 10 11 12 13 14 15 -0 5 8 9 10 11 12 13 14 15 -0 6 7 8 9 10 11 12 13 14 -0 6 7 8 9 10 11 12 13 15 -0 6 7 8 9 10 11 12 14 15 -0 6 7 8 9 10 11 13 14 15 -0 6 7 8 9 10 12 13 14 15 -0 6 7 8 9 11 12 13 14 15 -0 6 7 8 10 11 12 13 14 15 -0 6 7 9 10 11 12 13 14 15 -0 6 8 9 10 11 12 13 14 15 -0 7 8 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 9 10 -1 2 3 4 5 6 7 8 9 11 -1 2 3 4 5 6 7 8 9 12 -1 2 3 4 5 6 7 8 9 13 -1 2 3 4 5 6 7 8 9 14 -1 2 3 4 5 6 7 8 9 15 -1 2 3 4 5 6 7 8 10 11 -1 2 3 4 5 6 7 8 10 12 -1 2 3 4 5 6 7 8 10 13 -1 2 3 4 5 6 7 8 10 14 -1 2 3 4 5 6 7 8 10 15 -1 2 3 4 5 6 7 8 11 12 -1 2 3 4 5 6 7 8 11 13 -1 2 3 4 5 6 7 8 11 14 -1 2 3 4 5 6 7 8 11 15 -1 2 3 4 5 6 7 8 12 13 -1 2 3 4 5 6 7 8 12 14 -1 2 3 4 5 6 7 8 12 15 -1 2 3 4 5 6 7 8 13 14 -1 2 3 4 5 6 7 8 13 15 -1 2 3 4 5 6 7 8 14 15 -1 2 3 4 5 6 7 9 10 11 -1 2 3 4 5 6 7 9 10 12 -1 2 3 4 5 6 7 9 10 13 -1 2 3 4 5 6 7 9 10 14 -1 2 3 4 5 6 7 9 10 15 -1 2 3 4 5 6 7 9 11 12 -1 2 3 4 5 6 7 9 11 13 -1 2 3 4 5 6 7 9 11 14 -1 2 3 4 5 6 7 9 11 15 -1 2 3 4 5 6 7 9 12 13 -1 2 3 4 5 6 7 9 12 14 -1 2 3 4 5 6 7 9 12 15 -1 2 3 4 5 6 7 9 13 14 -1 2 3 4 5 6 7 9 13 15 -1 2 3 4 5 6 7 9 14 15 -1 2 3 4 5 6 7 10 11 12 -1 2 3 4 5 6 7 10 11 13 -1 2 3 4 5 6 7 10 11 14 -1 2 3 4 5 6 7 10 11 15 -1 2 3 4 5 6 7 10 12 13 -1 2 3 4 5 6 7 10 12 14 -1 2 3 4 5 6 7 10 12 15 -1 2 3 4 5 6 7 10 13 14 -1 2 3 4 5 6 7 10 13 15 -1 2 3 4 5 6 7 10 14 15 -1 2 3 4 5 6 7 11 12 13 -1 2 3 4 5 6 7 11 12 14 -1 2 3 4 5 6 7 11 12 15 -1 2 3 4 5 6 7 11 13 14 -1 2 3 4 5 6 7 11 13 15 -1 2 3 4 5 6 7 11 14 15 -1 2 3 4 5 6 7 12 13 14 -1 2 3 4 5 6 7 12 13 15 -1 2 3 4 5 6 7 12 14 15 -1 2 3 4 5 6 7 13 14 15 -1 2 3 4 5 6 8 9 10 11 -1 2 3 4 5 6 8 9 10 12 -1 2 3 4 5 6 8 9 10 13 -1 2 3 4 5 6 8 9 10 14 -1 2 3 4 5 6 8 9 10 15 -1 2 3 4 5 6 8 9 11 12 -1 2 3 4 5 6 8 9 11 13 -1 2 3 4 5 6 8 9 11 14 -1 2 3 4 5 6 8 9 11 15 -1 2 3 4 5 6 8 9 12 13 -1 2 3 4 5 6 8 9 12 14 -1 2 3 4 5 6 8 9 12 15 -1 2 3 4 5 6 8 9 13 14 -1 2 3 4 5 6 8 9 13 15 -1 2 3 4 5 6 8 9 14 15 -1 2 3 4 5 6 8 10 11 12 -1 2 3 4 5 6 8 10 11 13 -1 2 3 4 5 6 8 10 11 14 -1 2 3 4 5 6 8 10 11 15 -1 2 3 4 5 6 8 10 12 13 -1 2 3 4 5 6 8 10 12 14 -1 2 3 4 5 6 8 10 12 15 -1 2 3 4 5 6 8 10 13 14 -1 2 3 4 5 6 8 10 13 15 -1 2 3 4 5 6 8 10 14 15 -1 2 3 4 5 6 8 11 12 13 -1 2 3 4 5 6 8 11 12 14 -1 2 3 4 5 6 8 11 12 15 -1 2 3 4 5 6 8 11 13 14 -1 2 3 4 5 6 8 11 13 15 -1 2 3 4 5 6 8 11 14 15 -1 2 3 4 5 6 8 12 13 14 -1 2 3 4 5 6 8 12 13 15 -1 2 3 4 5 6 8 12 14 15 -1 2 3 4 5 6 8 13 14 15 -1 2 3 4 5 6 9 10 11 12 -1 2 3 4 5 6 9 10 11 13 -1 2 3 4 5 6 9 10 11 14 -1 2 3 4 5 6 9 10 11 15 -1 2 3 4 5 6 9 10 12 13 -1 2 3 4 5 6 9 10 12 14 -1 2 3 4 5 6 9 10 12 15 -1 2 3 4 5 6 9 10 13 14 -1 2 3 4 5 6 9 10 13 15 -1 2 3 4 5 6 9 10 14 15 -1 2 3 4 5 6 9 11 12 13 -1 2 3 4 5 6 9 11 12 14 -1 2 3 4 5 6 9 11 12 15 -1 2 3 4 5 6 9 11 13 14 -1 2 3 4 5 6 9 11 13 15 -1 2 3 4 5 6 9 11 14 15 -1 2 3 4 5 6 9 12 13 14 -1 2 3 4 5 6 9 12 13 15 -1 2 3 4 5 6 9 12 14 15 -1 2 3 4 5 6 9 13 14 15 -1 2 3 4 5 6 10 11 12 13 -1 2 3 4 5 6 10 11 12 14 -1 2 3 4 5 6 10 11 12 15 -1 2 3 4 5 6 10 11 13 14 -1 2 3 4 5 6 10 11 13 15 -1 2 3 4 5 6 10 11 14 15 -1 2 3 4 5 6 10 12 13 14 -1 2 3 4 5 6 10 12 13 15 -1 2 3 4 5 6 10 12 14 15 -1 2 3 4 5 6 10 13 14 15 -1 2 3 4 5 6 11 12 13 14 -1 2 3 4 5 6 11 12 13 15 -1 2 3 4 5 6 11 12 14 15 -1 2 3 4 5 6 11 13 14 15 -1 2 3 4 5 6 12 13 14 15 -1 2 3 4 5 7 8 9 10 11 -1 2 3 4 5 7 8 9 10 12 -1 2 3 4 5 7 8 9 10 13 -1 2 3 4 5 7 8 9 10 14 -1 2 3 4 5 7 8 9 10 15 -1 2 3 4 5 7 8 9 11 12 -1 2 3 4 5 7 8 9 11 13 -1 2 3 4 5 7 8 9 11 14 -1 2 3 4 5 7 8 9 11 15 -1 2 3 4 5 7 8 9 12 13 -1 2 3 4 5 7 8 9 12 14 -1 2 3 4 5 7 8 9 12 15 -1 2 3 4 5 7 8 9 13 14 -1 2 3 4 5 7 8 9 13 15 -1 2 3 4 5 7 8 9 14 15 -1 2 3 4 5 7 8 10 11 12 -1 2 3 4 5 7 8 10 11 13 -1 2 3 4 5 7 8 10 11 14 -1 2 3 4 5 7 8 10 11 15 -1 2 3 4 5 7 8 10 12 13 -1 2 3 4 5 7 8 10 12 14 -1 2 3 4 5 7 8 10 12 15 -1 2 3 4 5 7 8 10 13 14 -1 2 3 4 5 7 8 10 13 15 -1 2 3 4 5 7 8 10 14 15 -1 2 3 4 5 7 8 11 12 13 -1 2 3 4 5 7 8 11 12 14 -1 2 3 4 5 7 8 11 12 15 -1 2 3 4 5 7 8 11 13 14 -1 2 3 4 5 7 8 11 13 15 -1 2 3 4 5 7 8 11 14 15 -1 2 3 4 5 7 8 12 13 14 -1 2 3 4 5 7 8 12 13 15 -1 2 3 4 5 7 8 12 14 15 -1 2 3 4 5 7 8 13 14 15 -1 2 3 4 5 7 9 10 11 12 -1 2 3 4 5 7 9 10 11 13 -1 2 3 4 5 7 9 10 11 14 -1 2 3 4 5 7 9 10 11 15 -1 2 3 4 5 7 9 10 12 13 -1 2 3 4 5 7 9 10 12 14 -1 2 3 4 5 7 9 10 12 15 -1 2 3 4 5 7 9 10 13 14 -1 2 3 4 5 7 9 10 13 15 -1 2 3 4 5 7 9 10 14 15 -1 2 3 4 5 7 9 11 12 13 -1 2 3 4 5 7 9 11 12 14 -1 2 3 4 5 7 9 11 12 15 -1 2 3 4 5 7 9 11 13 14 -1 2 3 4 5 7 9 11 13 15 -1 2 3 4 5 7 9 11 14 15 -1 2 3 4 5 7 9 12 13 14 -1 2 3 4 5 7 9 12 13 15 -1 2 3 4 5 7 9 12 14 15 -1 2 3 4 5 7 9 13 14 15 -1 2 3 4 5 7 10 11 12 13 -1 2 3 4 5 7 10 11 12 14 -1 2 3 4 5 7 10 11 12 15 -1 2 3 4 5 7 10 11 13 14 -1 2 3 4 5 7 10 11 13 15 -1 2 3 4 5 7 10 11 14 15 -1 2 3 4 5 7 10 12 13 14 -1 2 3 4 5 7 10 12 13 15 -1 2 3 4 5 7 10 12 14 15 -1 2 3 4 5 7 10 13 14 15 -1 2 3 4 5 7 11 12 13 14 -1 2 3 4 5 7 11 12 13 15 -1 2 3 4 5 7 11 12 14 15 -1 2 3 4 5 7 11 13 14 15 -1 2 3 4 5 7 12 13 14 15 -1 2 3 4 5 8 9 10 11 12 -1 2 3 4 5 8 9 10 11 13 -1 2 3 4 5 8 9 10 11 14 -1 2 3 4 5 8 9 10 11 15 -1 2 3 4 5 8 9 10 12 13 -1 2 3 4 5 8 9 10 12 14 -1 2 3 4 5 8 9 10 12 15 -1 2 3 4 5 8 9 10 13 14 -1 2 3 4 5 8 9 10 13 15 -1 2 3 4 5 8 9 10 14 15 -1 2 3 4 5 8 9 11 12 13 -1 2 3 4 5 8 9 11 12 14 -1 2 3 4 5 8 9 11 12 15 -1 2 3 4 5 8 9 11 13 14 -1 2 3 4 5 8 9 11 13 15 -1 2 3 4 5 8 9 11 14 15 -1 2 3 4 5 8 9 12 13 14 -1 2 3 4 5 8 9 12 13 15 -1 2 3 4 5 8 9 12 14 15 -1 2 3 4 5 8 9 13 14 15 -1 2 3 4 5 8 10 11 12 13 -1 2 3 4 5 8 10 11 12 14 -1 2 3 4 5 8 10 11 12 15 -1 2 3 4 5 8 10 11 13 14 -1 2 3 4 5 8 10 11 13 15 -1 2 3 4 5 8 10 11 14 15 -1 2 3 4 5 8 10 12 13 14 -1 2 3 4 5 8 10 12 13 15 -1 2 3 4 5 8 10 12 14 15 -1 2 3 4 5 8 10 13 14 15 -1 2 3 4 5 8 11 12 13 14 -1 2 3 4 5 8 11 12 13 15 -1 2 3 4 5 8 11 12 14 15 -1 2 3 4 5 8 11 13 14 15 -1 2 3 4 5 8 12 13 14 15 -1 2 3 4 5 9 10 11 12 13 -1 2 3 4 5 9 10 11 12 14 -1 2 3 4 5 9 10 11 12 15 -1 2 3 4 5 9 10 11 13 14 -1 2 3 4 5 9 10 11 13 15 -1 2 3 4 5 9 10 11 14 15 -1 2 3 4 5 9 10 12 13 14 -1 2 3 4 5 9 10 12 13 15 -1 2 3 4 5 9 10 12 14 15 -1 2 3 4 5 9 10 13 14 15 -1 2 3 4 5 9 11 12 13 14 -1 2 3 4 5 9 11 12 13 15 -1 2 3 4 5 9 11 12 14 15 -1 2 3 4 5 9 11 13 14 15 -1 2 3 4 5 9 12 13 14 15 -1 2 3 4 5 10 11 12 13 14 -1 2 3 4 5 10 11 12 13 15 -1 2 3 4 5 10 11 12 14 15 -1 2 3 4 5 10 11 13 14 15 -1 2 3 4 5 10 12 13 14 15 -1 2 3 4 5 11 12 13 14 15 -1 2 3 4 6 7 8 9 10 11 -1 2 3 4 6 7 8 9 10 12 -1 2 3 4 6 7 8 9 10 13 -1 2 3 4 6 7 8 9 10 14 -1 2 3 4 6 7 8 9 10 15 -1 2 3 4 6 7 8 9 11 12 -1 2 3 4 6 7 8 9 11 13 -1 2 3 4 6 7 8 9 11 14 -1 2 3 4 6 7 8 9 11 15 -1 2 3 4 6 7 8 9 12 13 -1 2 3 4 6 7 8 9 12 14 -1 2 3 4 6 7 8 9 12 15 -1 2 3 4 6 7 8 9 13 14 -1 2 3 4 6 7 8 9 13 15 -1 2 3 4 6 7 8 9 14 15 -1 2 3 4 6 7 8 10 11 12 -1 2 3 4 6 7 8 10 11 13 -1 2 3 4 6 7 8 10 11 14 -1 2 3 4 6 7 8 10 11 15 -1 2 3 4 6 7 8 10 12 13 -1 2 3 4 6 7 8 10 12 14 -1 2 3 4 6 7 8 10 12 15 -1 2 3 4 6 7 8 10 13 14 -1 2 3 4 6 7 8 10 13 15 -1 2 3 4 6 7 8 10 14 15 -1 2 3 4 6 7 8 11 12 13 -1 2 3 4 6 7 8 11 12 14 -1 2 3 4 6 7 8 11 12 15 -1 2 3 4 6 7 8 11 13 14 -1 2 3 4 6 7 8 11 13 15 -1 2 3 4 6 7 8 11 14 15 -1 2 3 4 6 7 8 12 13 14 -1 2 3 4 6 7 8 12 13 15 -1 2 3 4 6 7 8 12 14 15 -1 2 3 4 6 7 8 13 14 15 -1 2 3 4 6 7 9 10 11 12 -1 2 3 4 6 7 9 10 11 13 -1 2 3 4 6 7 9 10 11 14 -1 2 3 4 6 7 9 10 11 15 -1 2 3 4 6 7 9 10 12 13 -1 2 3 4 6 7 9 10 12 14 -1 2 3 4 6 7 9 10 12 15 -1 2 3 4 6 7 9 10 13 14 -1 2 3 4 6 7 9 10 13 15 -1 2 3 4 6 7 9 10 14 15 -1 2 3 4 6 7 9 11 12 13 -1 2 3 4 6 7 9 11 12 14 -1 2 3 4 6 7 9 11 12 15 -1 2 3 4 6 7 9 11 13 14 -1 2 3 4 6 7 9 11 13 15 -1 2 3 4 6 7 9 11 14 15 -1 2 3 4 6 7 9 12 13 14 -1 2 3 4 6 7 9 12 13 15 -1 2 3 4 6 7 9 12 14 15 -1 2 3 4 6 7 9 13 14 15 -1 2 3 4 6 7 10 11 12 13 -1 2 3 4 6 7 10 11 12 14 -1 2 3 4 6 7 10 11 12 15 -1 2 3 4 6 7 10 11 13 14 -1 2 3 4 6 7 10 11 13 15 -1 2 3 4 6 7 10 11 14 15 -1 2 3 4 6 7 10 12 13 14 -1 2 3 4 6 7 10 12 13 15 -1 2 3 4 6 7 10 12 14 15 -1 2 3 4 6 7 10 13 14 15 -1 2 3 4 6 7 11 12 13 14 -1 2 3 4 6 7 11 12 13 15 -1 2 3 4 6 7 11 12 14 15 -1 2 3 4 6 7 11 13 14 15 -1 2 3 4 6 7 12 13 14 15 -1 2 3 4 6 8 9 10 11 12 -1 2 3 4 6 8 9 10 11 13 -1 2 3 4 6 8 9 10 11 14 -1 2 3 4 6 8 9 10 11 15 -1 2 3 4 6 8 9 10 12 13 -1 2 3 4 6 8 9 10 12 14 -1 2 3 4 6 8 9 10 12 15 -1 2 3 4 6 8 9 10 13 14 -1 2 3 4 6 8 9 10 13 15 -1 2 3 4 6 8 9 10 14 15 -1 2 3 4 6 8 9 11 12 13 -1 2 3 4 6 8 9 11 12 14 -1 2 3 4 6 8 9 11 12 15 -1 2 3 4 6 8 9 11 13 14 -1 2 3 4 6 8 9 11 13 15 -1 2 3 4 6 8 9 11 14 15 -1 2 3 4 6 8 9 12 13 14 -1 2 3 4 6 8 9 12 13 15 -1 2 3 4 6 8 9 12 14 15 -1 2 3 4 6 8 9 13 14 15 -1 2 3 4 6 8 10 11 12 13 -1 2 3 4 6 8 10 11 12 14 -1 2 3 4 6 8 10 11 12 15 -1 2 3 4 6 8 10 11 13 14 -1 2 3 4 6 8 10 11 13 15 -1 2 3 4 6 8 10 11 14 15 -1 2 3 4 6 8 10 12 13 14 -1 2 3 4 6 8 10 12 13 15 -1 2 3 4 6 8 10 12 14 15 -1 2 3 4 6 8 10 13 14 15 -1 2 3 4 6 8 11 12 13 14 -1 2 3 4 6 8 11 12 13 15 -1 2 3 4 6 8 11 12 14 15 -1 2 3 4 6 8 11 13 14 15 -1 2 3 4 6 8 12 13 14 15 -1 2 3 4 6 9 10 11 12 13 -1 2 3 4 6 9 10 11 12 14 -1 2 3 4 6 9 10 11 12 15 -1 2 3 4 6 9 10 11 13 14 -1 2 3 4 6 9 10 11 13 15 -1 2 3 4 6 9 10 11 14 15 -1 2 3 4 6 9 10 12 13 14 -1 2 3 4 6 9 10 12 13 15 -1 2 3 4 6 9 10 12 14 15 -1 2 3 4 6 9 10 13 14 15 -1 2 3 4 6 9 11 12 13 14 -1 2 3 4 6 9 11 12 13 15 -1 2 3 4 6 9 11 12 14 15 -1 2 3 4 6 9 11 13 14 15 -1 2 3 4 6 9 12 13 14 15 -1 2 3 4 6 10 11 12 13 14 -1 2 3 4 6 10 11 12 13 15 -1 2 3 4 6 10 11 12 14 15 -1 2 3 4 6 10 11 13 14 15 -1 2 3 4 6 10 12 13 14 15 -1 2 3 4 6 11 12 13 14 15 -1 2 3 4 7 8 9 10 11 12 -1 2 3 4 7 8 9 10 11 13 -1 2 3 4 7 8 9 10 11 14 -1 2 3 4 7 8 9 10 11 15 -1 2 3 4 7 8 9 10 12 13 -1 2 3 4 7 8 9 10 12 14 -1 2 3 4 7 8 9 10 12 15 -1 2 3 4 7 8 9 10 13 14 -1 2 3 4 7 8 9 10 13 15 -1 2 3 4 7 8 9 10 14 15 -1 2 3 4 7 8 9 11 12 13 -1 2 3 4 7 8 9 11 12 14 -1 2 3 4 7 8 9 11 12 15 -1 2 3 4 7 8 9 11 13 14 -1 2 3 4 7 8 9 11 13 15 -1 2 3 4 7 8 9 11 14 15 -1 2 3 4 7 8 9 12 13 14 -1 2 3 4 7 8 9 12 13 15 -1 2 3 4 7 8 9 12 14 15 -1 2 3 4 7 8 9 13 14 15 -1 2 3 4 7 8 10 11 12 13 -1 2 3 4 7 8 10 11 12 14 -1 2 3 4 7 8 10 11 12 15 -1 2 3 4 7 8 10 11 13 14 -1 2 3 4 7 8 10 11 13 15 -1 2 3 4 7 8 10 11 14 15 -1 2 3 4 7 8 10 12 13 14 -1 2 3 4 7 8 10 12 13 15 -1 2 3 4 7 8 10 12 14 15 -1 2 3 4 7 8 10 13 14 15 -1 2 3 4 7 8 11 12 13 14 -1 2 3 4 7 8 11 12 13 15 -1 2 3 4 7 8 11 12 14 15 -1 2 3 4 7 8 11 13 14 15 -1 2 3 4 7 8 12 13 14 15 -1 2 3 4 7 9 10 11 12 13 -1 2 3 4 7 9 10 11 12 14 -1 2 3 4 7 9 10 11 12 15 -1 2 3 4 7 9 10 11 13 14 -1 2 3 4 7 9 10 11 13 15 -1 2 3 4 7 9 10 11 14 15 -1 2 3 4 7 9 10 12 13 14 -1 2 3 4 7 9 10 12 13 15 -1 2 3 4 7 9 10 12 14 15 -1 2 3 4 7 9 10 13 14 15 -1 2 3 4 7 9 11 12 13 14 -1 2 3 4 7 9 11 12 13 15 -1 2 3 4 7 9 11 12 14 15 -1 2 3 4 7 9 11 13 14 15 -1 2 3 4 7 9 12 13 14 15 -1 2 3 4 7 10 11 12 13 14 -1 2 3 4 7 10 11 12 13 15 -1 2 3 4 7 10 11 12 14 15 -1 2 3 4 7 10 11 13 14 15 -1 2 3 4 7 10 12 13 14 15 -1 2 3 4 7 11 12 13 14 15 -1 2 3 4 8 9 10 11 12 13 -1 2 3 4 8 9 10 11 12 14 -1 2 3 4 8 9 10 11 12 15 -1 2 3 4 8 9 10 11 13 14 -1 2 3 4 8 9 10 11 13 15 -1 2 3 4 8 9 10 11 14 15 -1 2 3 4 8 9 10 12 13 14 -1 2 3 4 8 9 10 12 13 15 -1 2 3 4 8 9 10 12 14 15 -1 2 3 4 8 9 10 13 14 15 -1 2 3 4 8 9 11 12 13 14 -1 2 3 4 8 9 11 12 13 15 -1 2 3 4 8 9 11 12 14 15 -1 2 3 4 8 9 11 13 14 15 -1 2 3 4 8 9 12 13 14 15 -1 2 3 4 8 10 11 12 13 14 -1 2 3 4 8 10 11 12 13 15 -1 2 3 4 8 10 11 12 14 15 -1 2 3 4 8 10 11 13 14 15 -1 2 3 4 8 10 12 13 14 15 -1 2 3 4 8 11 12 13 14 15 -1 2 3 4 9 10 11 12 13 14 -1 2 3 4 9 10 11 12 13 15 -1 2 3 4 9 10 11 12 14 15 -1 2 3 4 9 10 11 13 14 15 -1 2 3 4 9 10 12 13 14 15 -1 2 3 4 9 11 12 13 14 15 -1 2 3 4 10 11 12 13 14 15 -1 2 3 5 6 7 8 9 10 11 -1 2 3 5 6 7 8 9 10 12 -1 2 3 5 6 7 8 9 10 13 -1 2 3 5 6 7 8 9 10 14 -1 2 3 5 6 7 8 9 10 15 -1 2 3 5 6 7 8 9 11 12 -1 2 3 5 6 7 8 9 11 13 -1 2 3 5 6 7 8 9 11 14 -1 2 3 5 6 7 8 9 11 15 -1 2 3 5 6 7 8 9 12 13 -1 2 3 5 6 7 8 9 12 14 -1 2 3 5 6 7 8 9 12 15 -1 2 3 5 6 7 8 9 13 14 -1 2 3 5 6 7 8 9 13 15 -1 2 3 5 6 7 8 9 14 15 -1 2 3 5 6 7 8 10 11 12 -1 2 3 5 6 7 8 10 11 13 -1 2 3 5 6 7 8 10 11 14 -1 2 3 5 6 7 8 10 11 15 -1 2 3 5 6 7 8 10 12 13 -1 2 3 5 6 7 8 10 12 14 -1 2 3 5 6 7 8 10 12 15 -1 2 3 5 6 7 8 10 13 14 -1 2 3 5 6 7 8 10 13 15 -1 2 3 5 6 7 8 10 14 15 -1 2 3 5 6 7 8 11 12 13 -1 2 3 5 6 7 8 11 12 14 -1 2 3 5 6 7 8 11 12 15 -1 2 3 5 6 7 8 11 13 14 -1 2 3 5 6 7 8 11 13 15 -1 2 3 5 6 7 8 11 14 15 -1 2 3 5 6 7 8 12 13 14 -1 2 3 5 6 7 8 12 13 15 -1 2 3 5 6 7 8 12 14 15 -1 2 3 5 6 7 8 13 14 15 -1 2 3 5 6 7 9 10 11 12 -1 2 3 5 6 7 9 10 11 13 -1 2 3 5 6 7 9 10 11 14 -1 2 3 5 6 7 9 10 11 15 -1 2 3 5 6 7 9 10 12 13 -1 2 3 5 6 7 9 10 12 14 -1 2 3 5 6 7 9 10 12 15 -1 2 3 5 6 7 9 10 13 14 -1 2 3 5 6 7 9 10 13 15 -1 2 3 5 6 7 9 10 14 15 -1 2 3 5 6 7 9 11 12 13 -1 2 3 5 6 7 9 11 12 14 -1 2 3 5 6 7 9 11 12 15 -1 2 3 5 6 7 9 11 13 14 -1 2 3 5 6 7 9 11 13 15 -1 2 3 5 6 7 9 11 14 15 -1 2 3 5 6 7 9 12 13 14 -1 2 3 5 6 7 9 12 13 15 -1 2 3 5 6 7 9 12 14 15 -1 2 3 5 6 7 9 13 14 15 -1 2 3 5 6 7 10 11 12 13 -1 2 3 5 6 7 10 11 12 14 -1 2 3 5 6 7 10 11 12 15 -1 2 3 5 6 7 10 11 13 14 -1 2 3 5 6 7 10 11 13 15 -1 2 3 5 6 7 10 11 14 15 -1 2 3 5 6 7 10 12 13 14 -1 2 3 5 6 7 10 12 13 15 -1 2 3 5 6 7 10 12 14 15 -1 2 3 5 6 7 10 13 14 15 -1 2 3 5 6 7 11 12 13 14 -1 2 3 5 6 7 11 12 13 15 -1 2 3 5 6 7 11 12 14 15 -1 2 3 5 6 7 11 13 14 15 -1 2 3 5 6 7 12 13 14 15 -1 2 3 5 6 8 9 10 11 12 -1 2 3 5 6 8 9 10 11 13 -1 2 3 5 6 8 9 10 11 14 -1 2 3 5 6 8 9 10 11 15 -1 2 3 5 6 8 9 10 12 13 -1 2 3 5 6 8 9 10 12 14 -1 2 3 5 6 8 9 10 12 15 -1 2 3 5 6 8 9 10 13 14 -1 2 3 5 6 8 9 10 13 15 -1 2 3 5 6 8 9 10 14 15 -1 2 3 5 6 8 9 11 12 13 -1 2 3 5 6 8 9 11 12 14 -1 2 3 5 6 8 9 11 12 15 -1 2 3 5 6 8 9 11 13 14 -1 2 3 5 6 8 9 11 13 15 -1 2 3 5 6 8 9 11 14 15 -1 2 3 5 6 8 9 12 13 14 -1 2 3 5 6 8 9 12 13 15 -1 2 3 5 6 8 9 12 14 15 -1 2 3 5 6 8 9 13 14 15 -1 2 3 5 6 8 10 11 12 13 -1 2 3 5 6 8 10 11 12 14 -1 2 3 5 6 8 10 11 12 15 -1 2 3 5 6 8 10 11 13 14 -1 2 3 5 6 8 10 11 13 15 -1 2 3 5 6 8 10 11 14 15 -1 2 3 5 6 8 10 12 13 14 -1 2 3 5 6 8 10 12 13 15 -1 2 3 5 6 8 10 12 14 15 -1 2 3 5 6 8 10 13 14 15 -1 2 3 5 6 8 11 12 13 14 -1 2 3 5 6 8 11 12 13 15 -1 2 3 5 6 8 11 12 14 15 -1 2 3 5 6 8 11 13 14 15 -1 2 3 5 6 8 12 13 14 15 -1 2 3 5 6 9 10 11 12 13 -1 2 3 5 6 9 10 11 12 14 -1 2 3 5 6 9 10 11 12 15 -1 2 3 5 6 9 10 11 13 14 -1 2 3 5 6 9 10 11 13 15 -1 2 3 5 6 9 10 11 14 15 -1 2 3 5 6 9 10 12 13 14 -1 2 3 5 6 9 10 12 13 15 -1 2 3 5 6 9 10 12 14 15 -1 2 3 5 6 9 10 13 14 15 -1 2 3 5 6 9 11 12 13 14 -1 2 3 5 6 9 11 12 13 15 -1 2 3 5 6 9 11 12 14 15 -1 2 3 5 6 9 11 13 14 15 -1 2 3 5 6 9 12 13 14 15 -1 2 3 5 6 10 11 12 13 14 -1 2 3 5 6 10 11 12 13 15 -1 2 3 5 6 10 11 12 14 15 -1 2 3 5 6 10 11 13 14 15 -1 2 3 5 6 10 12 13 14 15 -1 2 3 5 6 11 12 13 14 15 -1 2 3 5 7 8 9 10 11 12 -1 2 3 5 7 8 9 10 11 13 -1 2 3 5 7 8 9 10 11 14 -1 2 3 5 7 8 9 10 11 15 -1 2 3 5 7 8 9 10 12 13 -1 2 3 5 7 8 9 10 12 14 -1 2 3 5 7 8 9 10 12 15 -1 2 3 5 7 8 9 10 13 14 -1 2 3 5 7 8 9 10 13 15 -1 2 3 5 7 8 9 10 14 15 -1 2 3 5 7 8 9 11 12 13 -1 2 3 5 7 8 9 11 12 14 -1 2 3 5 7 8 9 11 12 15 -1 2 3 5 7 8 9 11 13 14 -1 2 3 5 7 8 9 11 13 15 -1 2 3 5 7 8 9 11 14 15 -1 2 3 5 7 8 9 12 13 14 -1 2 3 5 7 8 9 12 13 15 -1 2 3 5 7 8 9 12 14 15 -1 2 3 5 7 8 9 13 14 15 -1 2 3 5 7 8 10 11 12 13 -1 2 3 5 7 8 10 11 12 14 -1 2 3 5 7 8 10 11 12 15 -1 2 3 5 7 8 10 11 13 14 -1 2 3 5 7 8 10 11 13 15 -1 2 3 5 7 8 10 11 14 15 -1 2 3 5 7 8 10 12 13 14 -1 2 3 5 7 8 10 12 13 15 -1 2 3 5 7 8 10 12 14 15 -1 2 3 5 7 8 10 13 14 15 -1 2 3 5 7 8 11 12 13 14 -1 2 3 5 7 8 11 12 13 15 -1 2 3 5 7 8 11 12 14 15 -1 2 3 5 7 8 11 13 14 15 -1 2 3 5 7 8 12 13 14 15 -1 2 3 5 7 9 10 11 12 13 -1 2 3 5 7 9 10 11 12 14 -1 2 3 5 7 9 10 11 12 15 -1 2 3 5 7 9 10 11 13 14 -1 2 3 5 7 9 10 11 13 15 -1 2 3 5 7 9 10 11 14 15 -1 2 3 5 7 9 10 12 13 14 -1 2 3 5 7 9 10 12 13 15 -1 2 3 5 7 9 10 12 14 15 -1 2 3 5 7 9 10 13 14 15 -1 2 3 5 7 9 11 12 13 14 -1 2 3 5 7 9 11 12 13 15 -1 2 3 5 7 9 11 12 14 15 -1 2 3 5 7 9 11 13 14 15 -1 2 3 5 7 9 12 13 14 15 -1 2 3 5 7 10 11 12 13 14 -1 2 3 5 7 10 11 12 13 15 -1 2 3 5 7 10 11 12 14 15 -1 2 3 5 7 10 11 13 14 15 -1 2 3 5 7 10 12 13 14 15 -1 2 3 5 7 11 12 13 14 15 -1 2 3 5 8 9 10 11 12 13 -1 2 3 5 8 9 10 11 12 14 -1 2 3 5 8 9 10 11 12 15 -1 2 3 5 8 9 10 11 13 14 -1 2 3 5 8 9 10 11 13 15 -1 2 3 5 8 9 10 11 14 15 -1 2 3 5 8 9 10 12 13 14 -1 2 3 5 8 9 10 12 13 15 -1 2 3 5 8 9 10 12 14 15 -1 2 3 5 8 9 10 13 14 15 -1 2 3 5 8 9 11 12 13 14 -1 2 3 5 8 9 11 12 13 15 -1 2 3 5 8 9 11 12 14 15 -1 2 3 5 8 9 11 13 14 15 -1 2 3 5 8 9 12 13 14 15 -1 2 3 5 8 10 11 12 13 14 -1 2 3 5 8 10 11 12 13 15 -1 2 3 5 8 10 11 12 14 15 -1 2 3 5 8 10 11 13 14 15 -1 2 3 5 8 10 12 13 14 15 -1 2 3 5 8 11 12 13 14 15 -1 2 3 5 9 10 11 12 13 14 -1 2 3 5 9 10 11 12 13 15 -1 2 3 5 9 10 11 12 14 15 -1 2 3 5 9 10 11 13 14 15 -1 2 3 5 9 10 12 13 14 15 -1 2 3 5 9 11 12 13 14 15 -1 2 3 5 10 11 12 13 14 15 -1 2 3 6 7 8 9 10 11 12 -1 2 3 6 7 8 9 10 11 13 -1 2 3 6 7 8 9 10 11 14 -1 2 3 6 7 8 9 10 11 15 -1 2 3 6 7 8 9 10 12 13 -1 2 3 6 7 8 9 10 12 14 -1 2 3 6 7 8 9 10 12 15 -1 2 3 6 7 8 9 10 13 14 -1 2 3 6 7 8 9 10 13 15 -1 2 3 6 7 8 9 10 14 15 -1 2 3 6 7 8 9 11 12 13 -1 2 3 6 7 8 9 11 12 14 -1 2 3 6 7 8 9 11 12 15 -1 2 3 6 7 8 9 11 13 14 -1 2 3 6 7 8 9 11 13 15 -1 2 3 6 7 8 9 11 14 15 -1 2 3 6 7 8 9 12 13 14 -1 2 3 6 7 8 9 12 13 15 -1 2 3 6 7 8 9 12 14 15 -1 2 3 6 7 8 9 13 14 15 -1 2 3 6 7 8 10 11 12 13 -1 2 3 6 7 8 10 11 12 14 -1 2 3 6 7 8 10 11 12 15 -1 2 3 6 7 8 10 11 13 14 -1 2 3 6 7 8 10 11 13 15 -1 2 3 6 7 8 10 11 14 15 -1 2 3 6 7 8 10 12 13 14 -1 2 3 6 7 8 10 12 13 15 -1 2 3 6 7 8 10 12 14 15 -1 2 3 6 7 8 10 13 14 15 -1 2 3 6 7 8 11 12 13 14 -1 2 3 6 7 8 11 12 13 15 -1 2 3 6 7 8 11 12 14 15 -1 2 3 6 7 8 11 13 14 15 -1 2 3 6 7 8 12 13 14 15 -1 2 3 6 7 9 10 11 12 13 -1 2 3 6 7 9 10 11 12 14 -1 2 3 6 7 9 10 11 12 15 -1 2 3 6 7 9 10 11 13 14 -1 2 3 6 7 9 10 11 13 15 -1 2 3 6 7 9 10 11 14 15 -1 2 3 6 7 9 10 12 13 14 -1 2 3 6 7 9 10 12 13 15 -1 2 3 6 7 9 10 12 14 15 -1 2 3 6 7 9 10 13 14 15 -1 2 3 6 7 9 11 12 13 14 -1 2 3 6 7 9 11 12 13 15 -1 2 3 6 7 9 11 12 14 15 -1 2 3 6 7 9 11 13 14 15 -1 2 3 6 7 9 12 13 14 15 -1 2 3 6 7 10 11 12 13 14 -1 2 3 6 7 10 11 12 13 15 -1 2 3 6 7 10 11 12 14 15 -1 2 3 6 7 10 11 13 14 15 -1 2 3 6 7 10 12 13 14 15 -1 2 3 6 7 11 12 13 14 15 -1 2 3 6 8 9 10 11 12 13 -1 2 3 6 8 9 10 11 12 14 -1 2 3 6 8 9 10 11 12 15 -1 2 3 6 8 9 10 11 13 14 -1 2 3 6 8 9 10 11 13 15 -1 2 3 6 8 9 10 11 14 15 -1 2 3 6 8 9 10 12 13 14 -1 2 3 6 8 9 10 12 13 15 -1 2 3 6 8 9 10 12 14 15 -1 2 3 6 8 9 10 13 14 15 -1 2 3 6 8 9 11 12 13 14 -1 2 3 6 8 9 11 12 13 15 -1 2 3 6 8 9 11 12 14 15 -1 2 3 6 8 9 11 13 14 15 -1 2 3 6 8 9 12 13 14 15 -1 2 3 6 8 10 11 12 13 14 -1 2 3 6 8 10 11 12 13 15 -1 2 3 6 8 10 11 12 14 15 -1 2 3 6 8 10 11 13 14 15 -1 2 3 6 8 10 12 13 14 15 -1 2 3 6 8 11 12 13 14 15 -1 2 3 6 9 10 11 12 13 14 -1 2 3 6 9 10 11 12 13 15 -1 2 3 6 9 10 11 12 14 15 -1 2 3 6 9 10 11 13 14 15 -1 2 3 6 9 10 12 13 14 15 -1 2 3 6 9 11 12 13 14 15 -1 2 3 6 10 11 12 13 14 15 -1 2 3 7 8 9 10 11 12 13 -1 2 3 7 8 9 10 11 12 14 -1 2 3 7 8 9 10 11 12 15 -1 2 3 7 8 9 10 11 13 14 -1 2 3 7 8 9 10 11 13 15 -1 2 3 7 8 9 10 11 14 15 -1 2 3 7 8 9 10 12 13 14 -1 2 3 7 8 9 10 12 13 15 -1 2 3 7 8 9 10 12 14 15 -1 2 3 7 8 9 10 13 14 15 -1 2 3 7 8 9 11 12 13 14 -1 2 3 7 8 9 11 12 13 15 -1 2 3 7 8 9 11 12 14 15 -1 2 3 7 8 9 11 13 14 15 -1 2 3 7 8 9 12 13 14 15 -1 2 3 7 8 10 11 12 13 14 -1 2 3 7 8 10 11 12 13 15 -1 2 3 7 8 10 11 12 14 15 -1 2 3 7 8 10 11 13 14 15 -1 2 3 7 8 10 12 13 14 15 -1 2 3 7 8 11 12 13 14 15 -1 2 3 7 9 10 11 12 13 14 -1 2 3 7 9 10 11 12 13 15 -1 2 3 7 9 10 11 12 14 15 -1 2 3 7 9 10 11 13 14 15 -1 2 3 7 9 10 12 13 14 15 -1 2 3 7 9 11 12 13 14 15 -1 2 3 7 10 11 12 13 14 15 -1 2 3 8 9 10 11 12 13 14 -1 2 3 8 9 10 11 12 13 15 -1 2 3 8 9 10 11 12 14 15 -1 2 3 8 9 10 11 13 14 15 -1 2 3 8 9 10 12 13 14 15 -1 2 3 8 9 11 12 13 14 15 -1 2 3 8 10 11 12 13 14 15 -1 2 3 9 10 11 12 13 14 15 -1 2 4 5 6 7 8 9 10 11 -1 2 4 5 6 7 8 9 10 12 -1 2 4 5 6 7 8 9 10 13 -1 2 4 5 6 7 8 9 10 14 -1 2 4 5 6 7 8 9 10 15 -1 2 4 5 6 7 8 9 11 12 -1 2 4 5 6 7 8 9 11 13 -1 2 4 5 6 7 8 9 11 14 -1 2 4 5 6 7 8 9 11 15 -1 2 4 5 6 7 8 9 12 13 -1 2 4 5 6 7 8 9 12 14 -1 2 4 5 6 7 8 9 12 15 -1 2 4 5 6 7 8 9 13 14 -1 2 4 5 6 7 8 9 13 15 -1 2 4 5 6 7 8 9 14 15 -1 2 4 5 6 7 8 10 11 12 -1 2 4 5 6 7 8 10 11 13 -1 2 4 5 6 7 8 10 11 14 -1 2 4 5 6 7 8 10 11 15 -1 2 4 5 6 7 8 10 12 13 -1 2 4 5 6 7 8 10 12 14 -1 2 4 5 6 7 8 10 12 15 -1 2 4 5 6 7 8 10 13 14 -1 2 4 5 6 7 8 10 13 15 -1 2 4 5 6 7 8 10 14 15 -1 2 4 5 6 7 8 11 12 13 -1 2 4 5 6 7 8 11 12 14 -1 2 4 5 6 7 8 11 12 15 -1 2 4 5 6 7 8 11 13 14 -1 2 4 5 6 7 8 11 13 15 -1 2 4 5 6 7 8 11 14 15 -1 2 4 5 6 7 8 12 13 14 -1 2 4 5 6 7 8 12 13 15 -1 2 4 5 6 7 8 12 14 15 -1 2 4 5 6 7 8 13 14 15 -1 2 4 5 6 7 9 10 11 12 -1 2 4 5 6 7 9 10 11 13 -1 2 4 5 6 7 9 10 11 14 -1 2 4 5 6 7 9 10 11 15 -1 2 4 5 6 7 9 10 12 13 -1 2 4 5 6 7 9 10 12 14 -1 2 4 5 6 7 9 10 12 15 -1 2 4 5 6 7 9 10 13 14 -1 2 4 5 6 7 9 10 13 15 -1 2 4 5 6 7 9 10 14 15 -1 2 4 5 6 7 9 11 12 13 -1 2 4 5 6 7 9 11 12 14 -1 2 4 5 6 7 9 11 12 15 -1 2 4 5 6 7 9 11 13 14 -1 2 4 5 6 7 9 11 13 15 -1 2 4 5 6 7 9 11 14 15 -1 2 4 5 6 7 9 12 13 14 -1 2 4 5 6 7 9 12 13 15 -1 2 4 5 6 7 9 12 14 15 -1 2 4 5 6 7 9 13 14 15 -1 2 4 5 6 7 10 11 12 13 -1 2 4 5 6 7 10 11 12 14 -1 2 4 5 6 7 10 11 12 15 -1 2 4 5 6 7 10 11 13 14 -1 2 4 5 6 7 10 11 13 15 -1 2 4 5 6 7 10 11 14 15 -1 2 4 5 6 7 10 12 13 14 -1 2 4 5 6 7 10 12 13 15 -1 2 4 5 6 7 10 12 14 15 -1 2 4 5 6 7 10 13 14 15 -1 2 4 5 6 7 11 12 13 14 -1 2 4 5 6 7 11 12 13 15 -1 2 4 5 6 7 11 12 14 15 -1 2 4 5 6 7 11 13 14 15 -1 2 4 5 6 7 12 13 14 15 -1 2 4 5 6 8 9 10 11 12 -1 2 4 5 6 8 9 10 11 13 -1 2 4 5 6 8 9 10 11 14 -1 2 4 5 6 8 9 10 11 15 -1 2 4 5 6 8 9 10 12 13 -1 2 4 5 6 8 9 10 12 14 -1 2 4 5 6 8 9 10 12 15 -1 2 4 5 6 8 9 10 13 14 -1 2 4 5 6 8 9 10 13 15 -1 2 4 5 6 8 9 10 14 15 -1 2 4 5 6 8 9 11 12 13 -1 2 4 5 6 8 9 11 12 14 -1 2 4 5 6 8 9 11 12 15 -1 2 4 5 6 8 9 11 13 14 -1 2 4 5 6 8 9 11 13 15 -1 2 4 5 6 8 9 11 14 15 -1 2 4 5 6 8 9 12 13 14 -1 2 4 5 6 8 9 12 13 15 -1 2 4 5 6 8 9 12 14 15 -1 2 4 5 6 8 9 13 14 15 -1 2 4 5 6 8 10 11 12 13 -1 2 4 5 6 8 10 11 12 14 -1 2 4 5 6 8 10 11 12 15 -1 2 4 5 6 8 10 11 13 14 -1 2 4 5 6 8 10 11 13 15 -1 2 4 5 6 8 10 11 14 15 -1 2 4 5 6 8 10 12 13 14 -1 2 4 5 6 8 10 12 13 15 -1 2 4 5 6 8 10 12 14 15 -1 2 4 5 6 8 10 13 14 15 -1 2 4 5 6 8 11 12 13 14 -1 2 4 5 6 8 11 12 13 15 -1 2 4 5 6 8 11 12 14 15 -1 2 4 5 6 8 11 13 14 15 -1 2 4 5 6 8 12 13 14 15 -1 2 4 5 6 9 10 11 12 13 -1 2 4 5 6 9 10 11 12 14 -1 2 4 5 6 9 10 11 12 15 -1 2 4 5 6 9 10 11 13 14 -1 2 4 5 6 9 10 11 13 15 -1 2 4 5 6 9 10 11 14 15 -1 2 4 5 6 9 10 12 13 14 -1 2 4 5 6 9 10 12 13 15 -1 2 4 5 6 9 10 12 14 15 -1 2 4 5 6 9 10 13 14 15 -1 2 4 5 6 9 11 12 13 14 -1 2 4 5 6 9 11 12 13 15 -1 2 4 5 6 9 11 12 14 15 -1 2 4 5 6 9 11 13 14 15 -1 2 4 5 6 9 12 13 14 15 -1 2 4 5 6 10 11 12 13 14 -1 2 4 5 6 10 11 12 13 15 -1 2 4 5 6 10 11 12 14 15 -1 2 4 5 6 10 11 13 14 15 -1 2 4 5 6 10 12 13 14 15 -1 2 4 5 6 11 12 13 14 15 -1 2 4 5 7 8 9 10 11 12 -1 2 4 5 7 8 9 10 11 13 -1 2 4 5 7 8 9 10 11 14 -1 2 4 5 7 8 9 10 11 15 -1 2 4 5 7 8 9 10 12 13 -1 2 4 5 7 8 9 10 12 14 -1 2 4 5 7 8 9 10 12 15 -1 2 4 5 7 8 9 10 13 14 -1 2 4 5 7 8 9 10 13 15 -1 2 4 5 7 8 9 10 14 15 -1 2 4 5 7 8 9 11 12 13 -1 2 4 5 7 8 9 11 12 14 -1 2 4 5 7 8 9 11 12 15 -1 2 4 5 7 8 9 11 13 14 -1 2 4 5 7 8 9 11 13 15 -1 2 4 5 7 8 9 11 14 15 -1 2 4 5 7 8 9 12 13 14 -1 2 4 5 7 8 9 12 13 15 -1 2 4 5 7 8 9 12 14 15 -1 2 4 5 7 8 9 13 14 15 -1 2 4 5 7 8 10 11 12 13 -1 2 4 5 7 8 10 11 12 14 -1 2 4 5 7 8 10 11 12 15 -1 2 4 5 7 8 10 11 13 14 -1 2 4 5 7 8 10 11 13 15 -1 2 4 5 7 8 10 11 14 15 -1 2 4 5 7 8 10 12 13 14 -1 2 4 5 7 8 10 12 13 15 -1 2 4 5 7 8 10 12 14 15 -1 2 4 5 7 8 10 13 14 15 -1 2 4 5 7 8 11 12 13 14 -1 2 4 5 7 8 11 12 13 15 -1 2 4 5 7 8 11 12 14 15 -1 2 4 5 7 8 11 13 14 15 -1 2 4 5 7 8 12 13 14 15 -1 2 4 5 7 9 10 11 12 13 -1 2 4 5 7 9 10 11 12 14 -1 2 4 5 7 9 10 11 12 15 -1 2 4 5 7 9 10 11 13 14 -1 2 4 5 7 9 10 11 13 15 -1 2 4 5 7 9 10 11 14 15 -1 2 4 5 7 9 10 12 13 14 -1 2 4 5 7 9 10 12 13 15 -1 2 4 5 7 9 10 12 14 15 -1 2 4 5 7 9 10 13 14 15 -1 2 4 5 7 9 11 12 13 14 -1 2 4 5 7 9 11 12 13 15 -1 2 4 5 7 9 11 12 14 15 -1 2 4 5 7 9 11 13 14 15 -1 2 4 5 7 9 12 13 14 15 -1 2 4 5 7 10 11 12 13 14 -1 2 4 5 7 10 11 12 13 15 -1 2 4 5 7 10 11 12 14 15 -1 2 4 5 7 10 11 13 14 15 -1 2 4 5 7 10 12 13 14 15 -1 2 4 5 7 11 12 13 14 15 -1 2 4 5 8 9 10 11 12 13 -1 2 4 5 8 9 10 11 12 14 -1 2 4 5 8 9 10 11 12 15 -1 2 4 5 8 9 10 11 13 14 -1 2 4 5 8 9 10 11 13 15 -1 2 4 5 8 9 10 11 14 15 -1 2 4 5 8 9 10 12 13 14 -1 2 4 5 8 9 10 12 13 15 -1 2 4 5 8 9 10 12 14 15 -1 2 4 5 8 9 10 13 14 15 -1 2 4 5 8 9 11 12 13 14 -1 2 4 5 8 9 11 12 13 15 -1 2 4 5 8 9 11 12 14 15 -1 2 4 5 8 9 11 13 14 15 -1 2 4 5 8 9 12 13 14 15 -1 2 4 5 8 10 11 12 13 14 -1 2 4 5 8 10 11 12 13 15 -1 2 4 5 8 10 11 12 14 15 -1 2 4 5 8 10 11 13 14 15 -1 2 4 5 8 10 12 13 14 15 -1 2 4 5 8 11 12 13 14 15 -1 2 4 5 9 10 11 12 13 14 -1 2 4 5 9 10 11 12 13 15 -1 2 4 5 9 10 11 12 14 15 -1 2 4 5 9 10 11 13 14 15 -1 2 4 5 9 10 12 13 14 15 -1 2 4 5 9 11 12 13 14 15 -1 2 4 5 10 11 12 13 14 15 -1 2 4 6 7 8 9 10 11 12 -1 2 4 6 7 8 9 10 11 13 -1 2 4 6 7 8 9 10 11 14 -1 2 4 6 7 8 9 10 11 15 -1 2 4 6 7 8 9 10 12 13 -1 2 4 6 7 8 9 10 12 14 -1 2 4 6 7 8 9 10 12 15 -1 2 4 6 7 8 9 10 13 14 -1 2 4 6 7 8 9 10 13 15 -1 2 4 6 7 8 9 10 14 15 -1 2 4 6 7 8 9 11 12 13 -1 2 4 6 7 8 9 11 12 14 -1 2 4 6 7 8 9 11 12 15 -1 2 4 6 7 8 9 11 13 14 -1 2 4 6 7 8 9 11 13 15 -1 2 4 6 7 8 9 11 14 15 -1 2 4 6 7 8 9 12 13 14 -1 2 4 6 7 8 9 12 13 15 -1 2 4 6 7 8 9 12 14 15 -1 2 4 6 7 8 9 13 14 15 -1 2 4 6 7 8 10 11 12 13 -1 2 4 6 7 8 10 11 12 14 -1 2 4 6 7 8 10 11 12 15 -1 2 4 6 7 8 10 11 13 14 -1 2 4 6 7 8 10 11 13 15 -1 2 4 6 7 8 10 11 14 15 -1 2 4 6 7 8 10 12 13 14 -1 2 4 6 7 8 10 12 13 15 -1 2 4 6 7 8 10 12 14 15 -1 2 4 6 7 8 10 13 14 15 -1 2 4 6 7 8 11 12 13 14 -1 2 4 6 7 8 11 12 13 15 -1 2 4 6 7 8 11 12 14 15 -1 2 4 6 7 8 11 13 14 15 -1 2 4 6 7 8 12 13 14 15 -1 2 4 6 7 9 10 11 12 13 -1 2 4 6 7 9 10 11 12 14 -1 2 4 6 7 9 10 11 12 15 -1 2 4 6 7 9 10 11 13 14 -1 2 4 6 7 9 10 11 13 15 -1 2 4 6 7 9 10 11 14 15 -1 2 4 6 7 9 10 12 13 14 -1 2 4 6 7 9 10 12 13 15 -1 2 4 6 7 9 10 12 14 15 -1 2 4 6 7 9 10 13 14 15 -1 2 4 6 7 9 11 12 13 14 -1 2 4 6 7 9 11 12 13 15 -1 2 4 6 7 9 11 12 14 15 -1 2 4 6 7 9 11 13 14 15 -1 2 4 6 7 9 12 13 14 15 -1 2 4 6 7 10 11 12 13 14 -1 2 4 6 7 10 11 12 13 15 -1 2 4 6 7 10 11 12 14 15 -1 2 4 6 7 10 11 13 14 15 -1 2 4 6 7 10 12 13 14 15 -1 2 4 6 7 11 12 13 14 15 -1 2 4 6 8 9 10 11 12 13 -1 2 4 6 8 9 10 11 12 14 -1 2 4 6 8 9 10 11 12 15 -1 2 4 6 8 9 10 11 13 14 -1 2 4 6 8 9 10 11 13 15 -1 2 4 6 8 9 10 11 14 15 -1 2 4 6 8 9 10 12 13 14 -1 2 4 6 8 9 10 12 13 15 -1 2 4 6 8 9 10 12 14 15 -1 2 4 6 8 9 10 13 14 15 -1 2 4 6 8 9 11 12 13 14 -1 2 4 6 8 9 11 12 13 15 -1 2 4 6 8 9 11 12 14 15 -1 2 4 6 8 9 11 13 14 15 -1 2 4 6 8 9 12 13 14 15 -1 2 4 6 8 10 11 12 13 14 -1 2 4 6 8 10 11 12 13 15 -1 2 4 6 8 10 11 12 14 15 -1 2 4 6 8 10 11 13 14 15 -1 2 4 6 8 10 12 13 14 15 -1 2 4 6 8 11 12 13 14 15 -1 2 4 6 9 10 11 12 13 14 -1 2 4 6 9 10 11 12 13 15 -1 2 4 6 9 10 11 12 14 15 -1 2 4 6 9 10 11 13 14 15 -1 2 4 6 9 10 12 13 14 15 -1 2 4 6 9 11 12 13 14 15 -1 2 4 6 10 11 12 13 14 15 -1 2 4 7 8 9 10 11 12 13 -1 2 4 7 8 9 10 11 12 14 -1 2 4 7 8 9 10 11 12 15 -1 2 4 7 8 9 10 11 13 14 -1 2 4 7 8 9 10 11 13 15 -1 2 4 7 8 9 10 11 14 15 -1 2 4 7 8 9 10 12 13 14 -1 2 4 7 8 9 10 12 13 15 -1 2 4 7 8 9 10 12 14 15 -1 2 4 7 8 9 10 13 14 15 -1 2 4 7 8 9 11 12 13 14 -1 2 4 7 8 9 11 12 13 15 -1 2 4 7 8 9 11 12 14 15 -1 2 4 7 8 9 11 13 14 15 -1 2 4 7 8 9 12 13 14 15 -1 2 4 7 8 10 11 12 13 14 -1 2 4 7 8 10 11 12 13 15 -1 2 4 7 8 10 11 12 14 15 -1 2 4 7 8 10 11 13 14 15 -1 2 4 7 8 10 12 13 14 15 -1 2 4 7 8 11 12 13 14 15 -1 2 4 7 9 10 11 12 13 14 -1 2 4 7 9 10 11 12 13 15 -1 2 4 7 9 10 11 12 14 15 -1 2 4 7 9 10 11 13 14 15 -1 2 4 7 9 10 12 13 14 15 -1 2 4 7 9 11 12 13 14 15 -1 2 4 7 10 11 12 13 14 15 -1 2 4 8 9 10 11 12 13 14 -1 2 4 8 9 10 11 12 13 15 -1 2 4 8 9 10 11 12 14 15 -1 2 4 8 9 10 11 13 14 15 -1 2 4 8 9 10 12 13 14 15 -1 2 4 8 9 11 12 13 14 15 -1 2 4 8 10 11 12 13 14 15 -1 2 4 9 10 11 12 13 14 15 -1 2 5 6 7 8 9 10 11 12 -1 2 5 6 7 8 9 10 11 13 -1 2 5 6 7 8 9 10 11 14 -1 2 5 6 7 8 9 10 11 15 -1 2 5 6 7 8 9 10 12 13 -1 2 5 6 7 8 9 10 12 14 -1 2 5 6 7 8 9 10 12 15 -1 2 5 6 7 8 9 10 13 14 -1 2 5 6 7 8 9 10 13 15 -1 2 5 6 7 8 9 10 14 15 -1 2 5 6 7 8 9 11 12 13 -1 2 5 6 7 8 9 11 12 14 -1 2 5 6 7 8 9 11 12 15 -1 2 5 6 7 8 9 11 13 14 -1 2 5 6 7 8 9 11 13 15 -1 2 5 6 7 8 9 11 14 15 -1 2 5 6 7 8 9 12 13 14 -1 2 5 6 7 8 9 12 13 15 -1 2 5 6 7 8 9 12 14 15 -1 2 5 6 7 8 9 13 14 15 -1 2 5 6 7 8 10 11 12 13 -1 2 5 6 7 8 10 11 12 14 -1 2 5 6 7 8 10 11 12 15 -1 2 5 6 7 8 10 11 13 14 -1 2 5 6 7 8 10 11 13 15 -1 2 5 6 7 8 10 11 14 15 -1 2 5 6 7 8 10 12 13 14 -1 2 5 6 7 8 10 12 13 15 -1 2 5 6 7 8 10 12 14 15 -1 2 5 6 7 8 10 13 14 15 -1 2 5 6 7 8 11 12 13 14 -1 2 5 6 7 8 11 12 13 15 -1 2 5 6 7 8 11 12 14 15 -1 2 5 6 7 8 11 13 14 15 -1 2 5 6 7 8 12 13 14 15 -1 2 5 6 7 9 10 11 12 13 -1 2 5 6 7 9 10 11 12 14 -1 2 5 6 7 9 10 11 12 15 -1 2 5 6 7 9 10 11 13 14 -1 2 5 6 7 9 10 11 13 15 -1 2 5 6 7 9 10 11 14 15 -1 2 5 6 7 9 10 12 13 14 -1 2 5 6 7 9 10 12 13 15 -1 2 5 6 7 9 10 12 14 15 -1 2 5 6 7 9 10 13 14 15 -1 2 5 6 7 9 11 12 13 14 -1 2 5 6 7 9 11 12 13 15 -1 2 5 6 7 9 11 12 14 15 -1 2 5 6 7 9 11 13 14 15 -1 2 5 6 7 9 12 13 14 15 -1 2 5 6 7 10 11 12 13 14 -1 2 5 6 7 10 11 12 13 15 -1 2 5 6 7 10 11 12 14 15 -1 2 5 6 7 10 11 13 14 15 -1 2 5 6 7 10 12 13 14 15 -1 2 5 6 7 11 12 13 14 15 -1 2 5 6 8 9 10 11 12 13 -1 2 5 6 8 9 10 11 12 14 -1 2 5 6 8 9 10 11 12 15 -1 2 5 6 8 9 10 11 13 14 -1 2 5 6 8 9 10 11 13 15 -1 2 5 6 8 9 10 11 14 15 -1 2 5 6 8 9 10 12 13 14 -1 2 5 6 8 9 10 12 13 15 -1 2 5 6 8 9 10 12 14 15 -1 2 5 6 8 9 10 13 14 15 -1 2 5 6 8 9 11 12 13 14 -1 2 5 6 8 9 11 12 13 15 -1 2 5 6 8 9 11 12 14 15 -1 2 5 6 8 9 11 13 14 15 -1 2 5 6 8 9 12 13 14 15 -1 2 5 6 8 10 11 12 13 14 -1 2 5 6 8 10 11 12 13 15 -1 2 5 6 8 10 11 12 14 15 -1 2 5 6 8 10 11 13 14 15 -1 2 5 6 8 10 12 13 14 15 -1 2 5 6 8 11 12 13 14 15 -1 2 5 6 9 10 11 12 13 14 -1 2 5 6 9 10 11 12 13 15 -1 2 5 6 9 10 11 12 14 15 -1 2 5 6 9 10 11 13 14 15 -1 2 5 6 9 10 12 13 14 15 -1 2 5 6 9 11 12 13 14 15 -1 2 5 6 10 11 12 13 14 15 -1 2 5 7 8 9 10 11 12 13 -1 2 5 7 8 9 10 11 12 14 -1 2 5 7 8 9 10 11 12 15 -1 2 5 7 8 9 10 11 13 14 -1 2 5 7 8 9 10 11 13 15 -1 2 5 7 8 9 10 11 14 15 -1 2 5 7 8 9 10 12 13 14 -1 2 5 7 8 9 10 12 13 15 -1 2 5 7 8 9 10 12 14 15 -1 2 5 7 8 9 10 13 14 15 -1 2 5 7 8 9 11 12 13 14 -1 2 5 7 8 9 11 12 13 15 -1 2 5 7 8 9 11 12 14 15 -1 2 5 7 8 9 11 13 14 15 -1 2 5 7 8 9 12 13 14 15 -1 2 5 7 8 10 11 12 13 14 -1 2 5 7 8 10 11 12 13 15 -1 2 5 7 8 10 11 12 14 15 -1 2 5 7 8 10 11 13 14 15 -1 2 5 7 8 10 12 13 14 15 -1 2 5 7 8 11 12 13 14 15 -1 2 5 7 9 10 11 12 13 14 -1 2 5 7 9 10 11 12 13 15 -1 2 5 7 9 10 11 12 14 15 -1 2 5 7 9 10 11 13 14 15 -1 2 5 7 9 10 12 13 14 15 -1 2 5 7 9 11 12 13 14 15 -1 2 5 7 10 11 12 13 14 15 -1 2 5 8 9 10 11 12 13 14 -1 2 5 8 9 10 11 12 13 15 -1 2 5 8 9 10 11 12 14 15 -1 2 5 8 9 10 11 13 14 15 -1 2 5 8 9 10 12 13 14 15 -1 2 5 8 9 11 12 13 14 15 -1 2 5 8 10 11 12 13 14 15 -1 2 5 9 10 11 12 13 14 15 -1 2 6 7 8 9 10 11 12 13 -1 2 6 7 8 9 10 11 12 14 -1 2 6 7 8 9 10 11 12 15 -1 2 6 7 8 9 10 11 13 14 -1 2 6 7 8 9 10 11 13 15 -1 2 6 7 8 9 10 11 14 15 -1 2 6 7 8 9 10 12 13 14 -1 2 6 7 8 9 10 12 13 15 -1 2 6 7 8 9 10 12 14 15 -1 2 6 7 8 9 10 13 14 15 -1 2 6 7 8 9 11 12 13 14 -1 2 6 7 8 9 11 12 13 15 -1 2 6 7 8 9 11 12 14 15 -1 2 6 7 8 9 11 13 14 15 -1 2 6 7 8 9 12 13 14 15 -1 2 6 7 8 10 11 12 13 14 -1 2 6 7 8 10 11 12 13 15 -1 2 6 7 8 10 11 12 14 15 -1 2 6 7 8 10 11 13 14 15 -1 2 6 7 8 10 12 13 14 15 -1 2 6 7 8 11 12 13 14 15 -1 2 6 7 9 10 11 12 13 14 -1 2 6 7 9 10 11 12 13 15 -1 2 6 7 9 10 11 12 14 15 -1 2 6 7 9 10 11 13 14 15 -1 2 6 7 9 10 12 13 14 15 -1 2 6 7 9 11 12 13 14 15 -1 2 6 7 10 11 12 13 14 15 -1 2 6 8 9 10 11 12 13 14 -1 2 6 8 9 10 11 12 13 15 -1 2 6 8 9 10 11 12 14 15 -1 2 6 8 9 10 11 13 14 15 -1 2 6 8 9 10 12 13 14 15 -1 2 6 8 9 11 12 13 14 15 -1 2 6 8 10 11 12 13 14 15 -1 2 6 9 10 11 12 13 14 15 -1 2 7 8 9 10 11 12 13 14 -1 2 7 8 9 10 11 12 13 15 -1 2 7 8 9 10 11 12 14 15 -1 2 7 8 9 10 11 13 14 15 -1 2 7 8 9 10 12 13 14 15 -1 2 7 8 9 11 12 13 14 15 -1 2 7 8 10 11 12 13 14 15 -1 2 7 9 10 11 12 13 14 15 -1 2 8 9 10 11 12 13 14 15 -1 3 4 5 6 7 8 9 10 11 -1 3 4 5 6 7 8 9 10 12 -1 3 4 5 6 7 8 9 10 13 -1 3 4 5 6 7 8 9 10 14 -1 3 4 5 6 7 8 9 10 15 -1 3 4 5 6 7 8 9 11 12 -1 3 4 5 6 7 8 9 11 13 -1 3 4 5 6 7 8 9 11 14 -1 3 4 5 6 7 8 9 11 15 -1 3 4 5 6 7 8 9 12 13 -1 3 4 5 6 7 8 9 12 14 -1 3 4 5 6 7 8 9 12 15 -1 3 4 5 6 7 8 9 13 14 -1 3 4 5 6 7 8 9 13 15 -1 3 4 5 6 7 8 9 14 15 -1 3 4 5 6 7 8 10 11 12 -1 3 4 5 6 7 8 10 11 13 -1 3 4 5 6 7 8 10 11 14 -1 3 4 5 6 7 8 10 11 15 -1 3 4 5 6 7 8 10 12 13 -1 3 4 5 6 7 8 10 12 14 -1 3 4 5 6 7 8 10 12 15 -1 3 4 5 6 7 8 10 13 14 -1 3 4 5 6 7 8 10 13 15 -1 3 4 5 6 7 8 10 14 15 -1 3 4 5 6 7 8 11 12 13 -1 3 4 5 6 7 8 11 12 14 -1 3 4 5 6 7 8 11 12 15 -1 3 4 5 6 7 8 11 13 14 -1 3 4 5 6 7 8 11 13 15 -1 3 4 5 6 7 8 11 14 15 -1 3 4 5 6 7 8 12 13 14 -1 3 4 5 6 7 8 12 13 15 -1 3 4 5 6 7 8 12 14 15 -1 3 4 5 6 7 8 13 14 15 -1 3 4 5 6 7 9 10 11 12 -1 3 4 5 6 7 9 10 11 13 -1 3 4 5 6 7 9 10 11 14 -1 3 4 5 6 7 9 10 11 15 -1 3 4 5 6 7 9 10 12 13 -1 3 4 5 6 7 9 10 12 14 -1 3 4 5 6 7 9 10 12 15 -1 3 4 5 6 7 9 10 13 14 -1 3 4 5 6 7 9 10 13 15 -1 3 4 5 6 7 9 10 14 15 -1 3 4 5 6 7 9 11 12 13 -1 3 4 5 6 7 9 11 12 14 -1 3 4 5 6 7 9 11 12 15 -1 3 4 5 6 7 9 11 13 14 -1 3 4 5 6 7 9 11 13 15 -1 3 4 5 6 7 9 11 14 15 -1 3 4 5 6 7 9 12 13 14 -1 3 4 5 6 7 9 12 13 15 -1 3 4 5 6 7 9 12 14 15 -1 3 4 5 6 7 9 13 14 15 -1 3 4 5 6 7 10 11 12 13 -1 3 4 5 6 7 10 11 12 14 -1 3 4 5 6 7 10 11 12 15 -1 3 4 5 6 7 10 11 13 14 -1 3 4 5 6 7 10 11 13 15 -1 3 4 5 6 7 10 11 14 15 -1 3 4 5 6 7 10 12 13 14 -1 3 4 5 6 7 10 12 13 15 -1 3 4 5 6 7 10 12 14 15 -1 3 4 5 6 7 10 13 14 15 -1 3 4 5 6 7 11 12 13 14 -1 3 4 5 6 7 11 12 13 15 -1 3 4 5 6 7 11 12 14 15 -1 3 4 5 6 7 11 13 14 15 -1 3 4 5 6 7 12 13 14 15 -1 3 4 5 6 8 9 10 11 12 -1 3 4 5 6 8 9 10 11 13 -1 3 4 5 6 8 9 10 11 14 -1 3 4 5 6 8 9 10 11 15 -1 3 4 5 6 8 9 10 12 13 -1 3 4 5 6 8 9 10 12 14 -1 3 4 5 6 8 9 10 12 15 -1 3 4 5 6 8 9 10 13 14 -1 3 4 5 6 8 9 10 13 15 -1 3 4 5 6 8 9 10 14 15 -1 3 4 5 6 8 9 11 12 13 -1 3 4 5 6 8 9 11 12 14 -1 3 4 5 6 8 9 11 12 15 -1 3 4 5 6 8 9 11 13 14 -1 3 4 5 6 8 9 11 13 15 -1 3 4 5 6 8 9 11 14 15 -1 3 4 5 6 8 9 12 13 14 -1 3 4 5 6 8 9 12 13 15 -1 3 4 5 6 8 9 12 14 15 -1 3 4 5 6 8 9 13 14 15 -1 3 4 5 6 8 10 11 12 13 -1 3 4 5 6 8 10 11 12 14 -1 3 4 5 6 8 10 11 12 15 -1 3 4 5 6 8 10 11 13 14 -1 3 4 5 6 8 10 11 13 15 -1 3 4 5 6 8 10 11 14 15 -1 3 4 5 6 8 10 12 13 14 -1 3 4 5 6 8 10 12 13 15 -1 3 4 5 6 8 10 12 14 15 -1 3 4 5 6 8 10 13 14 15 -1 3 4 5 6 8 11 12 13 14 -1 3 4 5 6 8 11 12 13 15 -1 3 4 5 6 8 11 12 14 15 -1 3 4 5 6 8 11 13 14 15 -1 3 4 5 6 8 12 13 14 15 -1 3 4 5 6 9 10 11 12 13 -1 3 4 5 6 9 10 11 12 14 -1 3 4 5 6 9 10 11 12 15 -1 3 4 5 6 9 10 11 13 14 -1 3 4 5 6 9 10 11 13 15 -1 3 4 5 6 9 10 11 14 15 -1 3 4 5 6 9 10 12 13 14 -1 3 4 5 6 9 10 12 13 15 -1 3 4 5 6 9 10 12 14 15 -1 3 4 5 6 9 10 13 14 15 -1 3 4 5 6 9 11 12 13 14 -1 3 4 5 6 9 11 12 13 15 -1 3 4 5 6 9 11 12 14 15 -1 3 4 5 6 9 11 13 14 15 -1 3 4 5 6 9 12 13 14 15 -1 3 4 5 6 10 11 12 13 14 -1 3 4 5 6 10 11 12 13 15 -1 3 4 5 6 10 11 12 14 15 -1 3 4 5 6 10 11 13 14 15 -1 3 4 5 6 10 12 13 14 15 -1 3 4 5 6 11 12 13 14 15 -1 3 4 5 7 8 9 10 11 12 -1 3 4 5 7 8 9 10 11 13 -1 3 4 5 7 8 9 10 11 14 -1 3 4 5 7 8 9 10 11 15 -1 3 4 5 7 8 9 10 12 13 -1 3 4 5 7 8 9 10 12 14 -1 3 4 5 7 8 9 10 12 15 -1 3 4 5 7 8 9 10 13 14 -1 3 4 5 7 8 9 10 13 15 -1 3 4 5 7 8 9 10 14 15 -1 3 4 5 7 8 9 11 12 13 -1 3 4 5 7 8 9 11 12 14 -1 3 4 5 7 8 9 11 12 15 -1 3 4 5 7 8 9 11 13 14 -1 3 4 5 7 8 9 11 13 15 -1 3 4 5 7 8 9 11 14 15 -1 3 4 5 7 8 9 12 13 14 -1 3 4 5 7 8 9 12 13 15 -1 3 4 5 7 8 9 12 14 15 -1 3 4 5 7 8 9 13 14 15 -1 3 4 5 7 8 10 11 12 13 -1 3 4 5 7 8 10 11 12 14 -1 3 4 5 7 8 10 11 12 15 -1 3 4 5 7 8 10 11 13 14 -1 3 4 5 7 8 10 11 13 15 -1 3 4 5 7 8 10 11 14 15 -1 3 4 5 7 8 10 12 13 14 -1 3 4 5 7 8 10 12 13 15 -1 3 4 5 7 8 10 12 14 15 -1 3 4 5 7 8 10 13 14 15 -1 3 4 5 7 8 11 12 13 14 -1 3 4 5 7 8 11 12 13 15 -1 3 4 5 7 8 11 12 14 15 -1 3 4 5 7 8 11 13 14 15 -1 3 4 5 7 8 12 13 14 15 -1 3 4 5 7 9 10 11 12 13 -1 3 4 5 7 9 10 11 12 14 -1 3 4 5 7 9 10 11 12 15 -1 3 4 5 7 9 10 11 13 14 -1 3 4 5 7 9 10 11 13 15 -1 3 4 5 7 9 10 11 14 15 -1 3 4 5 7 9 10 12 13 14 -1 3 4 5 7 9 10 12 13 15 -1 3 4 5 7 9 10 12 14 15 -1 3 4 5 7 9 10 13 14 15 -1 3 4 5 7 9 11 12 13 14 -1 3 4 5 7 9 11 12 13 15 -1 3 4 5 7 9 11 12 14 15 -1 3 4 5 7 9 11 13 14 15 -1 3 4 5 7 9 12 13 14 15 -1 3 4 5 7 10 11 12 13 14 -1 3 4 5 7 10 11 12 13 15 -1 3 4 5 7 10 11 12 14 15 -1 3 4 5 7 10 11 13 14 15 -1 3 4 5 7 10 12 13 14 15 -1 3 4 5 7 11 12 13 14 15 -1 3 4 5 8 9 10 11 12 13 -1 3 4 5 8 9 10 11 12 14 -1 3 4 5 8 9 10 11 12 15 -1 3 4 5 8 9 10 11 13 14 -1 3 4 5 8 9 10 11 13 15 -1 3 4 5 8 9 10 11 14 15 -1 3 4 5 8 9 10 12 13 14 -1 3 4 5 8 9 10 12 13 15 -1 3 4 5 8 9 10 12 14 15 -1 3 4 5 8 9 10 13 14 15 -1 3 4 5 8 9 11 12 13 14 -1 3 4 5 8 9 11 12 13 15 -1 3 4 5 8 9 11 12 14 15 -1 3 4 5 8 9 11 13 14 15 -1 3 4 5 8 9 12 13 14 15 -1 3 4 5 8 10 11 12 13 14 -1 3 4 5 8 10 11 12 13 15 -1 3 4 5 8 10 11 12 14 15 -1 3 4 5 8 10 11 13 14 15 -1 3 4 5 8 10 12 13 14 15 -1 3 4 5 8 11 12 13 14 15 -1 3 4 5 9 10 11 12 13 14 -1 3 4 5 9 10 11 12 13 15 -1 3 4 5 9 10 11 12 14 15 -1 3 4 5 9 10 11 13 14 15 -1 3 4 5 9 10 12 13 14 15 -1 3 4 5 9 11 12 13 14 15 -1 3 4 5 10 11 12 13 14 15 -1 3 4 6 7 8 9 10 11 12 -1 3 4 6 7 8 9 10 11 13 -1 3 4 6 7 8 9 10 11 14 -1 3 4 6 7 8 9 10 11 15 -1 3 4 6 7 8 9 10 12 13 -1 3 4 6 7 8 9 10 12 14 -1 3 4 6 7 8 9 10 12 15 -1 3 4 6 7 8 9 10 13 14 -1 3 4 6 7 8 9 10 13 15 -1 3 4 6 7 8 9 10 14 15 -1 3 4 6 7 8 9 11 12 13 -1 3 4 6 7 8 9 11 12 14 -1 3 4 6 7 8 9 11 12 15 -1 3 4 6 7 8 9 11 13 14 -1 3 4 6 7 8 9 11 13 15 -1 3 4 6 7 8 9 11 14 15 -1 3 4 6 7 8 9 12 13 14 -1 3 4 6 7 8 9 12 13 15 -1 3 4 6 7 8 9 12 14 15 -1 3 4 6 7 8 9 13 14 15 -1 3 4 6 7 8 10 11 12 13 -1 3 4 6 7 8 10 11 12 14 -1 3 4 6 7 8 10 11 12 15 -1 3 4 6 7 8 10 11 13 14 -1 3 4 6 7 8 10 11 13 15 -1 3 4 6 7 8 10 11 14 15 -1 3 4 6 7 8 10 12 13 14 -1 3 4 6 7 8 10 12 13 15 -1 3 4 6 7 8 10 12 14 15 -1 3 4 6 7 8 10 13 14 15 -1 3 4 6 7 8 11 12 13 14 -1 3 4 6 7 8 11 12 13 15 -1 3 4 6 7 8 11 12 14 15 -1 3 4 6 7 8 11 13 14 15 -1 3 4 6 7 8 12 13 14 15 -1 3 4 6 7 9 10 11 12 13 -1 3 4 6 7 9 10 11 12 14 -1 3 4 6 7 9 10 11 12 15 -1 3 4 6 7 9 10 11 13 14 -1 3 4 6 7 9 10 11 13 15 -1 3 4 6 7 9 10 11 14 15 -1 3 4 6 7 9 10 12 13 14 -1 3 4 6 7 9 10 12 13 15 -1 3 4 6 7 9 10 12 14 15 -1 3 4 6 7 9 10 13 14 15 -1 3 4 6 7 9 11 12 13 14 -1 3 4 6 7 9 11 12 13 15 -1 3 4 6 7 9 11 12 14 15 -1 3 4 6 7 9 11 13 14 15 -1 3 4 6 7 9 12 13 14 15 -1 3 4 6 7 10 11 12 13 14 -1 3 4 6 7 10 11 12 13 15 -1 3 4 6 7 10 11 12 14 15 -1 3 4 6 7 10 11 13 14 15 -1 3 4 6 7 10 12 13 14 15 -1 3 4 6 7 11 12 13 14 15 -1 3 4 6 8 9 10 11 12 13 -1 3 4 6 8 9 10 11 12 14 -1 3 4 6 8 9 10 11 12 15 -1 3 4 6 8 9 10 11 13 14 -1 3 4 6 8 9 10 11 13 15 -1 3 4 6 8 9 10 11 14 15 -1 3 4 6 8 9 10 12 13 14 -1 3 4 6 8 9 10 12 13 15 -1 3 4 6 8 9 10 12 14 15 -1 3 4 6 8 9 10 13 14 15 -1 3 4 6 8 9 11 12 13 14 -1 3 4 6 8 9 11 12 13 15 -1 3 4 6 8 9 11 12 14 15 -1 3 4 6 8 9 11 13 14 15 -1 3 4 6 8 9 12 13 14 15 -1 3 4 6 8 10 11 12 13 14 -1 3 4 6 8 10 11 12 13 15 -1 3 4 6 8 10 11 12 14 15 -1 3 4 6 8 10 11 13 14 15 -1 3 4 6 8 10 12 13 14 15 -1 3 4 6 8 11 12 13 14 15 -1 3 4 6 9 10 11 12 13 14 -1 3 4 6 9 10 11 12 13 15 -1 3 4 6 9 10 11 12 14 15 -1 3 4 6 9 10 11 13 14 15 -1 3 4 6 9 10 12 13 14 15 -1 3 4 6 9 11 12 13 14 15 -1 3 4 6 10 11 12 13 14 15 -1 3 4 7 8 9 10 11 12 13 -1 3 4 7 8 9 10 11 12 14 -1 3 4 7 8 9 10 11 12 15 -1 3 4 7 8 9 10 11 13 14 -1 3 4 7 8 9 10 11 13 15 -1 3 4 7 8 9 10 11 14 15 -1 3 4 7 8 9 10 12 13 14 -1 3 4 7 8 9 10 12 13 15 -1 3 4 7 8 9 10 12 14 15 -1 3 4 7 8 9 10 13 14 15 -1 3 4 7 8 9 11 12 13 14 -1 3 4 7 8 9 11 12 13 15 -1 3 4 7 8 9 11 12 14 15 -1 3 4 7 8 9 11 13 14 15 -1 3 4 7 8 9 12 13 14 15 -1 3 4 7 8 10 11 12 13 14 -1 3 4 7 8 10 11 12 13 15 -1 3 4 7 8 10 11 12 14 15 -1 3 4 7 8 10 11 13 14 15 -1 3 4 7 8 10 12 13 14 15 -1 3 4 7 8 11 12 13 14 15 -1 3 4 7 9 10 11 12 13 14 -1 3 4 7 9 10 11 12 13 15 -1 3 4 7 9 10 11 12 14 15 -1 3 4 7 9 10 11 13 14 15 -1 3 4 7 9 10 12 13 14 15 -1 3 4 7 9 11 12 13 14 15 -1 3 4 7 10 11 12 13 14 15 -1 3 4 8 9 10 11 12 13 14 -1 3 4 8 9 10 11 12 13 15 -1 3 4 8 9 10 11 12 14 15 -1 3 4 8 9 10 11 13 14 15 -1 3 4 8 9 10 12 13 14 15 -1 3 4 8 9 11 12 13 14 15 -1 3 4 8 10 11 12 13 14 15 -1 3 4 9 10 11 12 13 14 15 -1 3 5 6 7 8 9 10 11 12 -1 3 5 6 7 8 9 10 11 13 -1 3 5 6 7 8 9 10 11 14 -1 3 5 6 7 8 9 10 11 15 -1 3 5 6 7 8 9 10 12 13 -1 3 5 6 7 8 9 10 12 14 -1 3 5 6 7 8 9 10 12 15 -1 3 5 6 7 8 9 10 13 14 -1 3 5 6 7 8 9 10 13 15 -1 3 5 6 7 8 9 10 14 15 -1 3 5 6 7 8 9 11 12 13 -1 3 5 6 7 8 9 11 12 14 -1 3 5 6 7 8 9 11 12 15 -1 3 5 6 7 8 9 11 13 14 -1 3 5 6 7 8 9 11 13 15 -1 3 5 6 7 8 9 11 14 15 -1 3 5 6 7 8 9 12 13 14 -1 3 5 6 7 8 9 12 13 15 -1 3 5 6 7 8 9 12 14 15 -1 3 5 6 7 8 9 13 14 15 -1 3 5 6 7 8 10 11 12 13 -1 3 5 6 7 8 10 11 12 14 -1 3 5 6 7 8 10 11 12 15 -1 3 5 6 7 8 10 11 13 14 -1 3 5 6 7 8 10 11 13 15 -1 3 5 6 7 8 10 11 14 15 -1 3 5 6 7 8 10 12 13 14 -1 3 5 6 7 8 10 12 13 15 -1 3 5 6 7 8 10 12 14 15 -1 3 5 6 7 8 10 13 14 15 -1 3 5 6 7 8 11 12 13 14 -1 3 5 6 7 8 11 12 13 15 -1 3 5 6 7 8 11 12 14 15 -1 3 5 6 7 8 11 13 14 15 -1 3 5 6 7 8 12 13 14 15 -1 3 5 6 7 9 10 11 12 13 -1 3 5 6 7 9 10 11 12 14 -1 3 5 6 7 9 10 11 12 15 -1 3 5 6 7 9 10 11 13 14 -1 3 5 6 7 9 10 11 13 15 -1 3 5 6 7 9 10 11 14 15 -1 3 5 6 7 9 10 12 13 14 -1 3 5 6 7 9 10 12 13 15 -1 3 5 6 7 9 10 12 14 15 -1 3 5 6 7 9 10 13 14 15 -1 3 5 6 7 9 11 12 13 14 -1 3 5 6 7 9 11 12 13 15 -1 3 5 6 7 9 11 12 14 15 -1 3 5 6 7 9 11 13 14 15 -1 3 5 6 7 9 12 13 14 15 -1 3 5 6 7 10 11 12 13 14 -1 3 5 6 7 10 11 12 13 15 -1 3 5 6 7 10 11 12 14 15 -1 3 5 6 7 10 11 13 14 15 -1 3 5 6 7 10 12 13 14 15 -1 3 5 6 7 11 12 13 14 15 -1 3 5 6 8 9 10 11 12 13 -1 3 5 6 8 9 10 11 12 14 -1 3 5 6 8 9 10 11 12 15 -1 3 5 6 8 9 10 11 13 14 -1 3 5 6 8 9 10 11 13 15 -1 3 5 6 8 9 10 11 14 15 -1 3 5 6 8 9 10 12 13 14 -1 3 5 6 8 9 10 12 13 15 -1 3 5 6 8 9 10 12 14 15 -1 3 5 6 8 9 10 13 14 15 -1 3 5 6 8 9 11 12 13 14 -1 3 5 6 8 9 11 12 13 15 -1 3 5 6 8 9 11 12 14 15 -1 3 5 6 8 9 11 13 14 15 -1 3 5 6 8 9 12 13 14 15 -1 3 5 6 8 10 11 12 13 14 -1 3 5 6 8 10 11 12 13 15 -1 3 5 6 8 10 11 12 14 15 -1 3 5 6 8 10 11 13 14 15 -1 3 5 6 8 10 12 13 14 15 -1 3 5 6 8 11 12 13 14 15 -1 3 5 6 9 10 11 12 13 14 -1 3 5 6 9 10 11 12 13 15 -1 3 5 6 9 10 11 12 14 15 -1 3 5 6 9 10 11 13 14 15 -1 3 5 6 9 10 12 13 14 15 -1 3 5 6 9 11 12 13 14 15 -1 3 5 6 10 11 12 13 14 15 -1 3 5 7 8 9 10 11 12 13 -1 3 5 7 8 9 10 11 12 14 -1 3 5 7 8 9 10 11 12 15 -1 3 5 7 8 9 10 11 13 14 -1 3 5 7 8 9 10 11 13 15 -1 3 5 7 8 9 10 11 14 15 -1 3 5 7 8 9 10 12 13 14 -1 3 5 7 8 9 10 12 13 15 -1 3 5 7 8 9 10 12 14 15 -1 3 5 7 8 9 10 13 14 15 -1 3 5 7 8 9 11 12 13 14 -1 3 5 7 8 9 11 12 13 15 -1 3 5 7 8 9 11 12 14 15 -1 3 5 7 8 9 11 13 14 15 -1 3 5 7 8 9 12 13 14 15 -1 3 5 7 8 10 11 12 13 14 -1 3 5 7 8 10 11 12 13 15 -1 3 5 7 8 10 11 12 14 15 -1 3 5 7 8 10 11 13 14 15 -1 3 5 7 8 10 12 13 14 15 -1 3 5 7 8 11 12 13 14 15 -1 3 5 7 9 10 11 12 13 14 -1 3 5 7 9 10 11 12 13 15 -1 3 5 7 9 10 11 12 14 15 -1 3 5 7 9 10 11 13 14 15 -1 3 5 7 9 10 12 13 14 15 -1 3 5 7 9 11 12 13 14 15 -1 3 5 7 10 11 12 13 14 15 -1 3 5 8 9 10 11 12 13 14 -1 3 5 8 9 10 11 12 13 15 -1 3 5 8 9 10 11 12 14 15 -1 3 5 8 9 10 11 13 14 15 -1 3 5 8 9 10 12 13 14 15 -1 3 5 8 9 11 12 13 14 15 -1 3 5 8 10 11 12 13 14 15 -1 3 5 9 10 11 12 13 14 15 -1 3 6 7 8 9 10 11 12 13 -1 3 6 7 8 9 10 11 12 14 -1 3 6 7 8 9 10 11 12 15 -1 3 6 7 8 9 10 11 13 14 -1 3 6 7 8 9 10 11 13 15 -1 3 6 7 8 9 10 11 14 15 -1 3 6 7 8 9 10 12 13 14 -1 3 6 7 8 9 10 12 13 15 -1 3 6 7 8 9 10 12 14 15 -1 3 6 7 8 9 10 13 14 15 -1 3 6 7 8 9 11 12 13 14 -1 3 6 7 8 9 11 12 13 15 -1 3 6 7 8 9 11 12 14 15 -1 3 6 7 8 9 11 13 14 15 -1 3 6 7 8 9 12 13 14 15 -1 3 6 7 8 10 11 12 13 14 -1 3 6 7 8 10 11 12 13 15 -1 3 6 7 8 10 11 12 14 15 -1 3 6 7 8 10 11 13 14 15 -1 3 6 7 8 10 12 13 14 15 -1 3 6 7 8 11 12 13 14 15 -1 3 6 7 9 10 11 12 13 14 -1 3 6 7 9 10 11 12 13 15 -1 3 6 7 9 10 11 12 14 15 -1 3 6 7 9 10 11 13 14 15 -1 3 6 7 9 10 12 13 14 15 -1 3 6 7 9 11 12 13 14 15 -1 3 6 7 10 11 12 13 14 15 -1 3 6 8 9 10 11 12 13 14 -1 3 6 8 9 10 11 12 13 15 -1 3 6 8 9 10 11 12 14 15 -1 3 6 8 9 10 11 13 14 15 -1 3 6 8 9 10 12 13 14 15 -1 3 6 8 9 11 12 13 14 15 -1 3 6 8 10 11 12 13 14 15 -1 3 6 9 10 11 12 13 14 15 -1 3 7 8 9 10 11 12 13 14 -1 3 7 8 9 10 11 12 13 15 -1 3 7 8 9 10 11 12 14 15 -1 3 7 8 9 10 11 13 14 15 -1 3 7 8 9 10 12 13 14 15 -1 3 7 8 9 11 12 13 14 15 -1 3 7 8 10 11 12 13 14 15 -1 3 7 9 10 11 12 13 14 15 -1 3 8 9 10 11 12 13 14 15 -1 4 5 6 7 8 9 10 11 12 -1 4 5 6 7 8 9 10 11 13 -1 4 5 6 7 8 9 10 11 14 -1 4 5 6 7 8 9 10 11 15 -1 4 5 6 7 8 9 10 12 13 -1 4 5 6 7 8 9 10 12 14 -1 4 5 6 7 8 9 10 12 15 -1 4 5 6 7 8 9 10 13 14 -1 4 5 6 7 8 9 10 13 15 -1 4 5 6 7 8 9 10 14 15 -1 4 5 6 7 8 9 11 12 13 -1 4 5 6 7 8 9 11 12 14 -1 4 5 6 7 8 9 11 12 15 -1 4 5 6 7 8 9 11 13 14 -1 4 5 6 7 8 9 11 13 15 -1 4 5 6 7 8 9 11 14 15 -1 4 5 6 7 8 9 12 13 14 -1 4 5 6 7 8 9 12 13 15 -1 4 5 6 7 8 9 12 14 15 -1 4 5 6 7 8 9 13 14 15 -1 4 5 6 7 8 10 11 12 13 -1 4 5 6 7 8 10 11 12 14 -1 4 5 6 7 8 10 11 12 15 -1 4 5 6 7 8 10 11 13 14 -1 4 5 6 7 8 10 11 13 15 -1 4 5 6 7 8 10 11 14 15 -1 4 5 6 7 8 10 12 13 14 -1 4 5 6 7 8 10 12 13 15 -1 4 5 6 7 8 10 12 14 15 -1 4 5 6 7 8 10 13 14 15 -1 4 5 6 7 8 11 12 13 14 -1 4 5 6 7 8 11 12 13 15 -1 4 5 6 7 8 11 12 14 15 -1 4 5 6 7 8 11 13 14 15 -1 4 5 6 7 8 12 13 14 15 -1 4 5 6 7 9 10 11 12 13 -1 4 5 6 7 9 10 11 12 14 -1 4 5 6 7 9 10 11 12 15 -1 4 5 6 7 9 10 11 13 14 -1 4 5 6 7 9 10 11 13 15 -1 4 5 6 7 9 10 11 14 15 -1 4 5 6 7 9 10 12 13 14 -1 4 5 6 7 9 10 12 13 15 -1 4 5 6 7 9 10 12 14 15 -1 4 5 6 7 9 10 13 14 15 -1 4 5 6 7 9 11 12 13 14 -1 4 5 6 7 9 11 12 13 15 -1 4 5 6 7 9 11 12 14 15 -1 4 5 6 7 9 11 13 14 15 -1 4 5 6 7 9 12 13 14 15 -1 4 5 6 7 10 11 12 13 14 -1 4 5 6 7 10 11 12 13 15 -1 4 5 6 7 10 11 12 14 15 -1 4 5 6 7 10 11 13 14 15 -1 4 5 6 7 10 12 13 14 15 -1 4 5 6 7 11 12 13 14 15 -1 4 5 6 8 9 10 11 12 13 -1 4 5 6 8 9 10 11 12 14 -1 4 5 6 8 9 10 11 12 15 -1 4 5 6 8 9 10 11 13 14 -1 4 5 6 8 9 10 11 13 15 -1 4 5 6 8 9 10 11 14 15 -1 4 5 6 8 9 10 12 13 14 -1 4 5 6 8 9 10 12 13 15 -1 4 5 6 8 9 10 12 14 15 -1 4 5 6 8 9 10 13 14 15 -1 4 5 6 8 9 11 12 13 14 -1 4 5 6 8 9 11 12 13 15 -1 4 5 6 8 9 11 12 14 15 -1 4 5 6 8 9 11 13 14 15 -1 4 5 6 8 9 12 13 14 15 -1 4 5 6 8 10 11 12 13 14 -1 4 5 6 8 10 11 12 13 15 -1 4 5 6 8 10 11 12 14 15 -1 4 5 6 8 10 11 13 14 15 -1 4 5 6 8 10 12 13 14 15 -1 4 5 6 8 11 12 13 14 15 -1 4 5 6 9 10 11 12 13 14 -1 4 5 6 9 10 11 12 13 15 -1 4 5 6 9 10 11 12 14 15 -1 4 5 6 9 10 11 13 14 15 -1 4 5 6 9 10 12 13 14 15 -1 4 5 6 9 11 12 13 14 15 -1 4 5 6 10 11 12 13 14 15 -1 4 5 7 8 9 10 11 12 13 -1 4 5 7 8 9 10 11 12 14 -1 4 5 7 8 9 10 11 12 15 -1 4 5 7 8 9 10 11 13 14 -1 4 5 7 8 9 10 11 13 15 -1 4 5 7 8 9 10 11 14 15 -1 4 5 7 8 9 10 12 13 14 -1 4 5 7 8 9 10 12 13 15 -1 4 5 7 8 9 10 12 14 15 -1 4 5 7 8 9 10 13 14 15 -1 4 5 7 8 9 11 12 13 14 -1 4 5 7 8 9 11 12 13 15 -1 4 5 7 8 9 11 12 14 15 -1 4 5 7 8 9 11 13 14 15 -1 4 5 7 8 9 12 13 14 15 -1 4 5 7 8 10 11 12 13 14 -1 4 5 7 8 10 11 12 13 15 -1 4 5 7 8 10 11 12 14 15 -1 4 5 7 8 10 11 13 14 15 -1 4 5 7 8 10 12 13 14 15 -1 4 5 7 8 11 12 13 14 15 -1 4 5 7 9 10 11 12 13 14 -1 4 5 7 9 10 11 12 13 15 -1 4 5 7 9 10 11 12 14 15 -1 4 5 7 9 10 11 13 14 15 -1 4 5 7 9 10 12 13 14 15 -1 4 5 7 9 11 12 13 14 15 -1 4 5 7 10 11 12 13 14 15 -1 4 5 8 9 10 11 12 13 14 -1 4 5 8 9 10 11 12 13 15 -1 4 5 8 9 10 11 12 14 15 -1 4 5 8 9 10 11 13 14 15 -1 4 5 8 9 10 12 13 14 15 -1 4 5 8 9 11 12 13 14 15 -1 4 5 8 10 11 12 13 14 15 -1 4 5 9 10 11 12 13 14 15 -1 4 6 7 8 9 10 11 12 13 -1 4 6 7 8 9 10 11 12 14 -1 4 6 7 8 9 10 11 12 15 -1 4 6 7 8 9 10 11 13 14 -1 4 6 7 8 9 10 11 13 15 -1 4 6 7 8 9 10 11 14 15 -1 4 6 7 8 9 10 12 13 14 -1 4 6 7 8 9 10 12 13 15 -1 4 6 7 8 9 10 12 14 15 -1 4 6 7 8 9 10 13 14 15 -1 4 6 7 8 9 11 12 13 14 -1 4 6 7 8 9 11 12 13 15 -1 4 6 7 8 9 11 12 14 15 -1 4 6 7 8 9 11 13 14 15 -1 4 6 7 8 9 12 13 14 15 -1 4 6 7 8 10 11 12 13 14 -1 4 6 7 8 10 11 12 13 15 -1 4 6 7 8 10 11 12 14 15 -1 4 6 7 8 10 11 13 14 15 -1 4 6 7 8 10 12 13 14 15 -1 4 6 7 8 11 12 13 14 15 -1 4 6 7 9 10 11 12 13 14 -1 4 6 7 9 10 11 12 13 15 -1 4 6 7 9 10 11 12 14 15 -1 4 6 7 9 10 11 13 14 15 -1 4 6 7 9 10 12 13 14 15 -1 4 6 7 9 11 12 13 14 15 -1 4 6 7 10 11 12 13 14 15 -1 4 6 8 9 10 11 12 13 14 -1 4 6 8 9 10 11 12 13 15 -1 4 6 8 9 10 11 12 14 15 -1 4 6 8 9 10 11 13 14 15 -1 4 6 8 9 10 12 13 14 15 -1 4 6 8 9 11 12 13 14 15 -1 4 6 8 10 11 12 13 14 15 -1 4 6 9 10 11 12 13 14 15 -1 4 7 8 9 10 11 12 13 14 -1 4 7 8 9 10 11 12 13 15 -1 4 7 8 9 10 11 12 14 15 -1 4 7 8 9 10 11 13 14 15 -1 4 7 8 9 10 12 13 14 15 -1 4 7 8 9 11 12 13 14 15 -1 4 7 8 10 11 12 13 14 15 -1 4 7 9 10 11 12 13 14 15 -1 4 8 9 10 11 12 13 14 15 -1 5 6 7 8 9 10 11 12 13 -1 5 6 7 8 9 10 11 12 14 -1 5 6 7 8 9 10 11 12 15 -1 5 6 7 8 9 10 11 13 14 -1 5 6 7 8 9 10 11 13 15 -1 5 6 7 8 9 10 11 14 15 -1 5 6 7 8 9 10 12 13 14 -1 5 6 7 8 9 10 12 13 15 -1 5 6 7 8 9 10 12 14 15 -1 5 6 7 8 9 10 13 14 15 -1 5 6 7 8 9 11 12 13 14 -1 5 6 7 8 9 11 12 13 15 -1 5 6 7 8 9 11 12 14 15 -1 5 6 7 8 9 11 13 14 15 -1 5 6 7 8 9 12 13 14 15 -1 5 6 7 8 10 11 12 13 14 -1 5 6 7 8 10 11 12 13 15 -1 5 6 7 8 10 11 12 14 15 -1 5 6 7 8 10 11 13 14 15 -1 5 6 7 8 10 12 13 14 15 -1 5 6 7 8 11 12 13 14 15 -1 5 6 7 9 10 11 12 13 14 -1 5 6 7 9 10 11 12 13 15 -1 5 6 7 9 10 11 12 14 15 -1 5 6 7 9 10 11 13 14 15 -1 5 6 7 9 10 12 13 14 15 -1 5 6 7 9 11 12 13 14 15 -1 5 6 7 10 11 12 13 14 15 -1 5 6 8 9 10 11 12 13 14 -1 5 6 8 9 10 11 12 13 15 -1 5 6 8 9 10 11 12 14 15 -1 5 6 8 9 10 11 13 14 15 -1 5 6 8 9 10 12 13 14 15 -1 5 6 8 9 11 12 13 14 15 -1 5 6 8 10 11 12 13 14 15 -1 5 6 9 10 11 12 13 14 15 -1 5 7 8 9 10 11 12 13 14 -1 5 7 8 9 10 11 12 13 15 -1 5 7 8 9 10 11 12 14 15 -1 5 7 8 9 10 11 13 14 15 -1 5 7 8 9 10 12 13 14 15 -1 5 7 8 9 11 12 13 14 15 -1 5 7 8 10 11 12 13 14 15 -1 5 7 9 10 11 12 13 14 15 -1 5 8 9 10 11 12 13 14 15 -1 6 7 8 9 10 11 12 13 14 -1 6 7 8 9 10 11 12 13 15 -1 6 7 8 9 10 11 12 14 15 -1 6 7 8 9 10 11 13 14 15 -1 6 7 8 9 10 12 13 14 15 -1 6 7 8 9 11 12 13 14 15 -1 6 7 8 10 11 12 13 14 15 -1 6 7 9 10 11 12 13 14 15 -1 6 8 9 10 11 12 13 14 15 -1 7 8 9 10 11 12 13 14 15 -2 3 4 5 6 7 8 9 10 11 -2 3 4 5 6 7 8 9 10 12 -2 3 4 5 6 7 8 9 10 13 -2 3 4 5 6 7 8 9 10 14 -2 3 4 5 6 7 8 9 10 15 -2 3 4 5 6 7 8 9 11 12 -2 3 4 5 6 7 8 9 11 13 -2 3 4 5 6 7 8 9 11 14 -2 3 4 5 6 7 8 9 11 15 -2 3 4 5 6 7 8 9 12 13 -2 3 4 5 6 7 8 9 12 14 -2 3 4 5 6 7 8 9 12 15 -2 3 4 5 6 7 8 9 13 14 -2 3 4 5 6 7 8 9 13 15 -2 3 4 5 6 7 8 9 14 15 -2 3 4 5 6 7 8 10 11 12 -2 3 4 5 6 7 8 10 11 13 -2 3 4 5 6 7 8 10 11 14 -2 3 4 5 6 7 8 10 11 15 -2 3 4 5 6 7 8 10 12 13 -2 3 4 5 6 7 8 10 12 14 -2 3 4 5 6 7 8 10 12 15 -2 3 4 5 6 7 8 10 13 14 -2 3 4 5 6 7 8 10 13 15 -2 3 4 5 6 7 8 10 14 15 -2 3 4 5 6 7 8 11 12 13 -2 3 4 5 6 7 8 11 12 14 -2 3 4 5 6 7 8 11 12 15 -2 3 4 5 6 7 8 11 13 14 -2 3 4 5 6 7 8 11 13 15 -2 3 4 5 6 7 8 11 14 15 -2 3 4 5 6 7 8 12 13 14 -2 3 4 5 6 7 8 12 13 15 -2 3 4 5 6 7 8 12 14 15 -2 3 4 5 6 7 8 13 14 15 -2 3 4 5 6 7 9 10 11 12 -2 3 4 5 6 7 9 10 11 13 -2 3 4 5 6 7 9 10 11 14 -2 3 4 5 6 7 9 10 11 15 -2 3 4 5 6 7 9 10 12 13 -2 3 4 5 6 7 9 10 12 14 -2 3 4 5 6 7 9 10 12 15 -2 3 4 5 6 7 9 10 13 14 -2 3 4 5 6 7 9 10 13 15 -2 3 4 5 6 7 9 10 14 15 -2 3 4 5 6 7 9 11 12 13 -2 3 4 5 6 7 9 11 12 14 -2 3 4 5 6 7 9 11 12 15 -2 3 4 5 6 7 9 11 13 14 -2 3 4 5 6 7 9 11 13 15 -2 3 4 5 6 7 9 11 14 15 -2 3 4 5 6 7 9 12 13 14 -2 3 4 5 6 7 9 12 13 15 -2 3 4 5 6 7 9 12 14 15 -2 3 4 5 6 7 9 13 14 15 -2 3 4 5 6 7 10 11 12 13 -2 3 4 5 6 7 10 11 12 14 -2 3 4 5 6 7 10 11 12 15 -2 3 4 5 6 7 10 11 13 14 -2 3 4 5 6 7 10 11 13 15 -2 3 4 5 6 7 10 11 14 15 -2 3 4 5 6 7 10 12 13 14 -2 3 4 5 6 7 10 12 13 15 -2 3 4 5 6 7 10 12 14 15 -2 3 4 5 6 7 10 13 14 15 -2 3 4 5 6 7 11 12 13 14 -2 3 4 5 6 7 11 12 13 15 -2 3 4 5 6 7 11 12 14 15 -2 3 4 5 6 7 11 13 14 15 -2 3 4 5 6 7 12 13 14 15 -2 3 4 5 6 8 9 10 11 12 -2 3 4 5 6 8 9 10 11 13 -2 3 4 5 6 8 9 10 11 14 -2 3 4 5 6 8 9 10 11 15 -2 3 4 5 6 8 9 10 12 13 -2 3 4 5 6 8 9 10 12 14 -2 3 4 5 6 8 9 10 12 15 -2 3 4 5 6 8 9 10 13 14 -2 3 4 5 6 8 9 10 13 15 -2 3 4 5 6 8 9 10 14 15 -2 3 4 5 6 8 9 11 12 13 -2 3 4 5 6 8 9 11 12 14 -2 3 4 5 6 8 9 11 12 15 -2 3 4 5 6 8 9 11 13 14 -2 3 4 5 6 8 9 11 13 15 -2 3 4 5 6 8 9 11 14 15 -2 3 4 5 6 8 9 12 13 14 -2 3 4 5 6 8 9 12 13 15 -2 3 4 5 6 8 9 12 14 15 -2 3 4 5 6 8 9 13 14 15 -2 3 4 5 6 8 10 11 12 13 -2 3 4 5 6 8 10 11 12 14 -2 3 4 5 6 8 10 11 12 15 -2 3 4 5 6 8 10 11 13 14 -2 3 4 5 6 8 10 11 13 15 -2 3 4 5 6 8 10 11 14 15 -2 3 4 5 6 8 10 12 13 14 -2 3 4 5 6 8 10 12 13 15 -2 3 4 5 6 8 10 12 14 15 -2 3 4 5 6 8 10 13 14 15 -2 3 4 5 6 8 11 12 13 14 -2 3 4 5 6 8 11 12 13 15 -2 3 4 5 6 8 11 12 14 15 -2 3 4 5 6 8 11 13 14 15 -2 3 4 5 6 8 12 13 14 15 -2 3 4 5 6 9 10 11 12 13 -2 3 4 5 6 9 10 11 12 14 -2 3 4 5 6 9 10 11 12 15 -2 3 4 5 6 9 10 11 13 14 -2 3 4 5 6 9 10 11 13 15 -2 3 4 5 6 9 10 11 14 15 -2 3 4 5 6 9 10 12 13 14 -2 3 4 5 6 9 10 12 13 15 -2 3 4 5 6 9 10 12 14 15 -2 3 4 5 6 9 10 13 14 15 -2 3 4 5 6 9 11 12 13 14 -2 3 4 5 6 9 11 12 13 15 -2 3 4 5 6 9 11 12 14 15 -2 3 4 5 6 9 11 13 14 15 -2 3 4 5 6 9 12 13 14 15 -2 3 4 5 6 10 11 12 13 14 -2 3 4 5 6 10 11 12 13 15 -2 3 4 5 6 10 11 12 14 15 -2 3 4 5 6 10 11 13 14 15 -2 3 4 5 6 10 12 13 14 15 -2 3 4 5 6 11 12 13 14 15 -2 3 4 5 7 8 9 10 11 12 -2 3 4 5 7 8 9 10 11 13 -2 3 4 5 7 8 9 10 11 14 -2 3 4 5 7 8 9 10 11 15 -2 3 4 5 7 8 9 10 12 13 -2 3 4 5 7 8 9 10 12 14 -2 3 4 5 7 8 9 10 12 15 -2 3 4 5 7 8 9 10 13 14 -2 3 4 5 7 8 9 10 13 15 -2 3 4 5 7 8 9 10 14 15 -2 3 4 5 7 8 9 11 12 13 -2 3 4 5 7 8 9 11 12 14 -2 3 4 5 7 8 9 11 12 15 -2 3 4 5 7 8 9 11 13 14 -2 3 4 5 7 8 9 11 13 15 -2 3 4 5 7 8 9 11 14 15 -2 3 4 5 7 8 9 12 13 14 -2 3 4 5 7 8 9 12 13 15 -2 3 4 5 7 8 9 12 14 15 -2 3 4 5 7 8 9 13 14 15 -2 3 4 5 7 8 10 11 12 13 -2 3 4 5 7 8 10 11 12 14 -2 3 4 5 7 8 10 11 12 15 -2 3 4 5 7 8 10 11 13 14 -2 3 4 5 7 8 10 11 13 15 -2 3 4 5 7 8 10 11 14 15 -2 3 4 5 7 8 10 12 13 14 -2 3 4 5 7 8 10 12 13 15 -2 3 4 5 7 8 10 12 14 15 -2 3 4 5 7 8 10 13 14 15 -2 3 4 5 7 8 11 12 13 14 -2 3 4 5 7 8 11 12 13 15 -2 3 4 5 7 8 11 12 14 15 -2 3 4 5 7 8 11 13 14 15 -2 3 4 5 7 8 12 13 14 15 -2 3 4 5 7 9 10 11 12 13 -2 3 4 5 7 9 10 11 12 14 -2 3 4 5 7 9 10 11 12 15 -2 3 4 5 7 9 10 11 13 14 -2 3 4 5 7 9 10 11 13 15 -2 3 4 5 7 9 10 11 14 15 -2 3 4 5 7 9 10 12 13 14 -2 3 4 5 7 9 10 12 13 15 -2 3 4 5 7 9 10 12 14 15 -2 3 4 5 7 9 10 13 14 15 -2 3 4 5 7 9 11 12 13 14 -2 3 4 5 7 9 11 12 13 15 -2 3 4 5 7 9 11 12 14 15 -2 3 4 5 7 9 11 13 14 15 -2 3 4 5 7 9 12 13 14 15 -2 3 4 5 7 10 11 12 13 14 -2 3 4 5 7 10 11 12 13 15 -2 3 4 5 7 10 11 12 14 15 -2 3 4 5 7 10 11 13 14 15 -2 3 4 5 7 10 12 13 14 15 -2 3 4 5 7 11 12 13 14 15 -2 3 4 5 8 9 10 11 12 13 -2 3 4 5 8 9 10 11 12 14 -2 3 4 5 8 9 10 11 12 15 -2 3 4 5 8 9 10 11 13 14 -2 3 4 5 8 9 10 11 13 15 -2 3 4 5 8 9 10 11 14 15 -2 3 4 5 8 9 10 12 13 14 -2 3 4 5 8 9 10 12 13 15 -2 3 4 5 8 9 10 12 14 15 -2 3 4 5 8 9 10 13 14 15 -2 3 4 5 8 9 11 12 13 14 -2 3 4 5 8 9 11 12 13 15 -2 3 4 5 8 9 11 12 14 15 -2 3 4 5 8 9 11 13 14 15 -2 3 4 5 8 9 12 13 14 15 -2 3 4 5 8 10 11 12 13 14 -2 3 4 5 8 10 11 12 13 15 -2 3 4 5 8 10 11 12 14 15 -2 3 4 5 8 10 11 13 14 15 -2 3 4 5 8 10 12 13 14 15 -2 3 4 5 8 11 12 13 14 15 -2 3 4 5 9 10 11 12 13 14 -2 3 4 5 9 10 11 12 13 15 -2 3 4 5 9 10 11 12 14 15 -2 3 4 5 9 10 11 13 14 15 -2 3 4 5 9 10 12 13 14 15 -2 3 4 5 9 11 12 13 14 15 -2 3 4 5 10 11 12 13 14 15 -2 3 4 6 7 8 9 10 11 12 -2 3 4 6 7 8 9 10 11 13 -2 3 4 6 7 8 9 10 11 14 -2 3 4 6 7 8 9 10 11 15 -2 3 4 6 7 8 9 10 12 13 -2 3 4 6 7 8 9 10 12 14 -2 3 4 6 7 8 9 10 12 15 -2 3 4 6 7 8 9 10 13 14 -2 3 4 6 7 8 9 10 13 15 -2 3 4 6 7 8 9 10 14 15 -2 3 4 6 7 8 9 11 12 13 -2 3 4 6 7 8 9 11 12 14 -2 3 4 6 7 8 9 11 12 15 -2 3 4 6 7 8 9 11 13 14 -2 3 4 6 7 8 9 11 13 15 -2 3 4 6 7 8 9 11 14 15 -2 3 4 6 7 8 9 12 13 14 -2 3 4 6 7 8 9 12 13 15 -2 3 4 6 7 8 9 12 14 15 -2 3 4 6 7 8 9 13 14 15 -2 3 4 6 7 8 10 11 12 13 -2 3 4 6 7 8 10 11 12 14 -2 3 4 6 7 8 10 11 12 15 -2 3 4 6 7 8 10 11 13 14 -2 3 4 6 7 8 10 11 13 15 -2 3 4 6 7 8 10 11 14 15 -2 3 4 6 7 8 10 12 13 14 -2 3 4 6 7 8 10 12 13 15 -2 3 4 6 7 8 10 12 14 15 -2 3 4 6 7 8 10 13 14 15 -2 3 4 6 7 8 11 12 13 14 -2 3 4 6 7 8 11 12 13 15 -2 3 4 6 7 8 11 12 14 15 -2 3 4 6 7 8 11 13 14 15 -2 3 4 6 7 8 12 13 14 15 -2 3 4 6 7 9 10 11 12 13 -2 3 4 6 7 9 10 11 12 14 -2 3 4 6 7 9 10 11 12 15 -2 3 4 6 7 9 10 11 13 14 -2 3 4 6 7 9 10 11 13 15 -2 3 4 6 7 9 10 11 14 15 -2 3 4 6 7 9 10 12 13 14 -2 3 4 6 7 9 10 12 13 15 -2 3 4 6 7 9 10 12 14 15 -2 3 4 6 7 9 10 13 14 15 -2 3 4 6 7 9 11 12 13 14 -2 3 4 6 7 9 11 12 13 15 -2 3 4 6 7 9 11 12 14 15 -2 3 4 6 7 9 11 13 14 15 -2 3 4 6 7 9 12 13 14 15 -2 3 4 6 7 10 11 12 13 14 -2 3 4 6 7 10 11 12 13 15 -2 3 4 6 7 10 11 12 14 15 -2 3 4 6 7 10 11 13 14 15 -2 3 4 6 7 10 12 13 14 15 -2 3 4 6 7 11 12 13 14 15 -2 3 4 6 8 9 10 11 12 13 -2 3 4 6 8 9 10 11 12 14 -2 3 4 6 8 9 10 11 12 15 -2 3 4 6 8 9 10 11 13 14 -2 3 4 6 8 9 10 11 13 15 -2 3 4 6 8 9 10 11 14 15 -2 3 4 6 8 9 10 12 13 14 -2 3 4 6 8 9 10 12 13 15 -2 3 4 6 8 9 10 12 14 15 -2 3 4 6 8 9 10 13 14 15 -2 3 4 6 8 9 11 12 13 14 -2 3 4 6 8 9 11 12 13 15 -2 3 4 6 8 9 11 12 14 15 -2 3 4 6 8 9 11 13 14 15 -2 3 4 6 8 9 12 13 14 15 -2 3 4 6 8 10 11 12 13 14 -2 3 4 6 8 10 11 12 13 15 -2 3 4 6 8 10 11 12 14 15 -2 3 4 6 8 10 11 13 14 15 -2 3 4 6 8 10 12 13 14 15 -2 3 4 6 8 11 12 13 14 15 -2 3 4 6 9 10 11 12 13 14 -2 3 4 6 9 10 11 12 13 15 -2 3 4 6 9 10 11 12 14 15 -2 3 4 6 9 10 11 13 14 15 -2 3 4 6 9 10 12 13 14 15 -2 3 4 6 9 11 12 13 14 15 -2 3 4 6 10 11 12 13 14 15 -2 3 4 7 8 9 10 11 12 13 -2 3 4 7 8 9 10 11 12 14 -2 3 4 7 8 9 10 11 12 15 -2 3 4 7 8 9 10 11 13 14 -2 3 4 7 8 9 10 11 13 15 -2 3 4 7 8 9 10 11 14 15 -2 3 4 7 8 9 10 12 13 14 -2 3 4 7 8 9 10 12 13 15 -2 3 4 7 8 9 10 12 14 15 -2 3 4 7 8 9 10 13 14 15 -2 3 4 7 8 9 11 12 13 14 -2 3 4 7 8 9 11 12 13 15 -2 3 4 7 8 9 11 12 14 15 -2 3 4 7 8 9 11 13 14 15 -2 3 4 7 8 9 12 13 14 15 -2 3 4 7 8 10 11 12 13 14 -2 3 4 7 8 10 11 12 13 15 -2 3 4 7 8 10 11 12 14 15 -2 3 4 7 8 10 11 13 14 15 -2 3 4 7 8 10 12 13 14 15 -2 3 4 7 8 11 12 13 14 15 -2 3 4 7 9 10 11 12 13 14 -2 3 4 7 9 10 11 12 13 15 -2 3 4 7 9 10 11 12 14 15 -2 3 4 7 9 10 11 13 14 15 -2 3 4 7 9 10 12 13 14 15 -2 3 4 7 9 11 12 13 14 15 -2 3 4 7 10 11 12 13 14 15 -2 3 4 8 9 10 11 12 13 14 -2 3 4 8 9 10 11 12 13 15 -2 3 4 8 9 10 11 12 14 15 -2 3 4 8 9 10 11 13 14 15 -2 3 4 8 9 10 12 13 14 15 -2 3 4 8 9 11 12 13 14 15 -2 3 4 8 10 11 12 13 14 15 -2 3 4 9 10 11 12 13 14 15 -2 3 5 6 7 8 9 10 11 12 -2 3 5 6 7 8 9 10 11 13 -2 3 5 6 7 8 9 10 11 14 -2 3 5 6 7 8 9 10 11 15 -2 3 5 6 7 8 9 10 12 13 -2 3 5 6 7 8 9 10 12 14 -2 3 5 6 7 8 9 10 12 15 -2 3 5 6 7 8 9 10 13 14 -2 3 5 6 7 8 9 10 13 15 -2 3 5 6 7 8 9 10 14 15 -2 3 5 6 7 8 9 11 12 13 -2 3 5 6 7 8 9 11 12 14 -2 3 5 6 7 8 9 11 12 15 -2 3 5 6 7 8 9 11 13 14 -2 3 5 6 7 8 9 11 13 15 -2 3 5 6 7 8 9 11 14 15 -2 3 5 6 7 8 9 12 13 14 -2 3 5 6 7 8 9 12 13 15 -2 3 5 6 7 8 9 12 14 15 -2 3 5 6 7 8 9 13 14 15 -2 3 5 6 7 8 10 11 12 13 -2 3 5 6 7 8 10 11 12 14 -2 3 5 6 7 8 10 11 12 15 -2 3 5 6 7 8 10 11 13 14 -2 3 5 6 7 8 10 11 13 15 -2 3 5 6 7 8 10 11 14 15 -2 3 5 6 7 8 10 12 13 14 -2 3 5 6 7 8 10 12 13 15 -2 3 5 6 7 8 10 12 14 15 -2 3 5 6 7 8 10 13 14 15 -2 3 5 6 7 8 11 12 13 14 -2 3 5 6 7 8 11 12 13 15 -2 3 5 6 7 8 11 12 14 15 -2 3 5 6 7 8 11 13 14 15 -2 3 5 6 7 8 12 13 14 15 -2 3 5 6 7 9 10 11 12 13 -2 3 5 6 7 9 10 11 12 14 -2 3 5 6 7 9 10 11 12 15 -2 3 5 6 7 9 10 11 13 14 -2 3 5 6 7 9 10 11 13 15 -2 3 5 6 7 9 10 11 14 15 -2 3 5 6 7 9 10 12 13 14 -2 3 5 6 7 9 10 12 13 15 -2 3 5 6 7 9 10 12 14 15 -2 3 5 6 7 9 10 13 14 15 -2 3 5 6 7 9 11 12 13 14 -2 3 5 6 7 9 11 12 13 15 -2 3 5 6 7 9 11 12 14 15 -2 3 5 6 7 9 11 13 14 15 -2 3 5 6 7 9 12 13 14 15 -2 3 5 6 7 10 11 12 13 14 -2 3 5 6 7 10 11 12 13 15 -2 3 5 6 7 10 11 12 14 15 -2 3 5 6 7 10 11 13 14 15 -2 3 5 6 7 10 12 13 14 15 -2 3 5 6 7 11 12 13 14 15 -2 3 5 6 8 9 10 11 12 13 -2 3 5 6 8 9 10 11 12 14 -2 3 5 6 8 9 10 11 12 15 -2 3 5 6 8 9 10 11 13 14 -2 3 5 6 8 9 10 11 13 15 -2 3 5 6 8 9 10 11 14 15 -2 3 5 6 8 9 10 12 13 14 -2 3 5 6 8 9 10 12 13 15 -2 3 5 6 8 9 10 12 14 15 -2 3 5 6 8 9 10 13 14 15 -2 3 5 6 8 9 11 12 13 14 -2 3 5 6 8 9 11 12 13 15 -2 3 5 6 8 9 11 12 14 15 -2 3 5 6 8 9 11 13 14 15 -2 3 5 6 8 9 12 13 14 15 -2 3 5 6 8 10 11 12 13 14 -2 3 5 6 8 10 11 12 13 15 -2 3 5 6 8 10 11 12 14 15 -2 3 5 6 8 10 11 13 14 15 -2 3 5 6 8 10 12 13 14 15 -2 3 5 6 8 11 12 13 14 15 -2 3 5 6 9 10 11 12 13 14 -2 3 5 6 9 10 11 12 13 15 -2 3 5 6 9 10 11 12 14 15 -2 3 5 6 9 10 11 13 14 15 -2 3 5 6 9 10 12 13 14 15 -2 3 5 6 9 11 12 13 14 15 -2 3 5 6 10 11 12 13 14 15 -2 3 5 7 8 9 10 11 12 13 -2 3 5 7 8 9 10 11 12 14 -2 3 5 7 8 9 10 11 12 15 -2 3 5 7 8 9 10 11 13 14 -2 3 5 7 8 9 10 11 13 15 -2 3 5 7 8 9 10 11 14 15 -2 3 5 7 8 9 10 12 13 14 -2 3 5 7 8 9 10 12 13 15 -2 3 5 7 8 9 10 12 14 15 -2 3 5 7 8 9 10 13 14 15 -2 3 5 7 8 9 11 12 13 14 -2 3 5 7 8 9 11 12 13 15 -2 3 5 7 8 9 11 12 14 15 -2 3 5 7 8 9 11 13 14 15 -2 3 5 7 8 9 12 13 14 15 -2 3 5 7 8 10 11 12 13 14 -2 3 5 7 8 10 11 12 13 15 -2 3 5 7 8 10 11 12 14 15 -2 3 5 7 8 10 11 13 14 15 -2 3 5 7 8 10 12 13 14 15 -2 3 5 7 8 11 12 13 14 15 -2 3 5 7 9 10 11 12 13 14 -2 3 5 7 9 10 11 12 13 15 -2 3 5 7 9 10 11 12 14 15 -2 3 5 7 9 10 11 13 14 15 -2 3 5 7 9 10 12 13 14 15 -2 3 5 7 9 11 12 13 14 15 -2 3 5 7 10 11 12 13 14 15 -2 3 5 8 9 10 11 12 13 14 -2 3 5 8 9 10 11 12 13 15 -2 3 5 8 9 10 11 12 14 15 -2 3 5 8 9 10 11 13 14 15 -2 3 5 8 9 10 12 13 14 15 -2 3 5 8 9 11 12 13 14 15 -2 3 5 8 10 11 12 13 14 15 -2 3 5 9 10 11 12 13 14 15 -2 3 6 7 8 9 10 11 12 13 -2 3 6 7 8 9 10 11 12 14 -2 3 6 7 8 9 10 11 12 15 -2 3 6 7 8 9 10 11 13 14 -2 3 6 7 8 9 10 11 13 15 -2 3 6 7 8 9 10 11 14 15 -2 3 6 7 8 9 10 12 13 14 -2 3 6 7 8 9 10 12 13 15 -2 3 6 7 8 9 10 12 14 15 -2 3 6 7 8 9 10 13 14 15 -2 3 6 7 8 9 11 12 13 14 -2 3 6 7 8 9 11 12 13 15 -2 3 6 7 8 9 11 12 14 15 -2 3 6 7 8 9 11 13 14 15 -2 3 6 7 8 9 12 13 14 15 -2 3 6 7 8 10 11 12 13 14 -2 3 6 7 8 10 11 12 13 15 -2 3 6 7 8 10 11 12 14 15 -2 3 6 7 8 10 11 13 14 15 -2 3 6 7 8 10 12 13 14 15 -2 3 6 7 8 11 12 13 14 15 -2 3 6 7 9 10 11 12 13 14 -2 3 6 7 9 10 11 12 13 15 -2 3 6 7 9 10 11 12 14 15 -2 3 6 7 9 10 11 13 14 15 -2 3 6 7 9 10 12 13 14 15 -2 3 6 7 9 11 12 13 14 15 -2 3 6 7 10 11 12 13 14 15 -2 3 6 8 9 10 11 12 13 14 -2 3 6 8 9 10 11 12 13 15 -2 3 6 8 9 10 11 12 14 15 -2 3 6 8 9 10 11 13 14 15 -2 3 6 8 9 10 12 13 14 15 -2 3 6 8 9 11 12 13 14 15 -2 3 6 8 10 11 12 13 14 15 -2 3 6 9 10 11 12 13 14 15 -2 3 7 8 9 10 11 12 13 14 -2 3 7 8 9 10 11 12 13 15 -2 3 7 8 9 10 11 12 14 15 -2 3 7 8 9 10 11 13 14 15 -2 3 7 8 9 10 12 13 14 15 -2 3 7 8 9 11 12 13 14 15 -2 3 7 8 10 11 12 13 14 15 -2 3 7 9 10 11 12 13 14 15 -2 3 8 9 10 11 12 13 14 15 -2 4 5 6 7 8 9 10 11 12 -2 4 5 6 7 8 9 10 11 13 -2 4 5 6 7 8 9 10 11 14 -2 4 5 6 7 8 9 10 11 15 -2 4 5 6 7 8 9 10 12 13 -2 4 5 6 7 8 9 10 12 14 -2 4 5 6 7 8 9 10 12 15 -2 4 5 6 7 8 9 10 13 14 -2 4 5 6 7 8 9 10 13 15 -2 4 5 6 7 8 9 10 14 15 -2 4 5 6 7 8 9 11 12 13 -2 4 5 6 7 8 9 11 12 14 -2 4 5 6 7 8 9 11 12 15 -2 4 5 6 7 8 9 11 13 14 -2 4 5 6 7 8 9 11 13 15 -2 4 5 6 7 8 9 11 14 15 -2 4 5 6 7 8 9 12 13 14 -2 4 5 6 7 8 9 12 13 15 -2 4 5 6 7 8 9 12 14 15 -2 4 5 6 7 8 9 13 14 15 -2 4 5 6 7 8 10 11 12 13 -2 4 5 6 7 8 10 11 12 14 -2 4 5 6 7 8 10 11 12 15 -2 4 5 6 7 8 10 11 13 14 -2 4 5 6 7 8 10 11 13 15 -2 4 5 6 7 8 10 11 14 15 -2 4 5 6 7 8 10 12 13 14 -2 4 5 6 7 8 10 12 13 15 -2 4 5 6 7 8 10 12 14 15 -2 4 5 6 7 8 10 13 14 15 -2 4 5 6 7 8 11 12 13 14 -2 4 5 6 7 8 11 12 13 15 -2 4 5 6 7 8 11 12 14 15 -2 4 5 6 7 8 11 13 14 15 -2 4 5 6 7 8 12 13 14 15 -2 4 5 6 7 9 10 11 12 13 -2 4 5 6 7 9 10 11 12 14 -2 4 5 6 7 9 10 11 12 15 -2 4 5 6 7 9 10 11 13 14 -2 4 5 6 7 9 10 11 13 15 -2 4 5 6 7 9 10 11 14 15 -2 4 5 6 7 9 10 12 13 14 -2 4 5 6 7 9 10 12 13 15 -2 4 5 6 7 9 10 12 14 15 -2 4 5 6 7 9 10 13 14 15 -2 4 5 6 7 9 11 12 13 14 -2 4 5 6 7 9 11 12 13 15 -2 4 5 6 7 9 11 12 14 15 -2 4 5 6 7 9 11 13 14 15 -2 4 5 6 7 9 12 13 14 15 -2 4 5 6 7 10 11 12 13 14 -2 4 5 6 7 10 11 12 13 15 -2 4 5 6 7 10 11 12 14 15 -2 4 5 6 7 10 11 13 14 15 -2 4 5 6 7 10 12 13 14 15 -2 4 5 6 7 11 12 13 14 15 -2 4 5 6 8 9 10 11 12 13 -2 4 5 6 8 9 10 11 12 14 -2 4 5 6 8 9 10 11 12 15 -2 4 5 6 8 9 10 11 13 14 -2 4 5 6 8 9 10 11 13 15 -2 4 5 6 8 9 10 11 14 15 -2 4 5 6 8 9 10 12 13 14 -2 4 5 6 8 9 10 12 13 15 -2 4 5 6 8 9 10 12 14 15 -2 4 5 6 8 9 10 13 14 15 -2 4 5 6 8 9 11 12 13 14 -2 4 5 6 8 9 11 12 13 15 -2 4 5 6 8 9 11 12 14 15 -2 4 5 6 8 9 11 13 14 15 -2 4 5 6 8 9 12 13 14 15 -2 4 5 6 8 10 11 12 13 14 -2 4 5 6 8 10 11 12 13 15 -2 4 5 6 8 10 11 12 14 15 -2 4 5 6 8 10 11 13 14 15 -2 4 5 6 8 10 12 13 14 15 -2 4 5 6 8 11 12 13 14 15 -2 4 5 6 9 10 11 12 13 14 -2 4 5 6 9 10 11 12 13 15 -2 4 5 6 9 10 11 12 14 15 -2 4 5 6 9 10 11 13 14 15 -2 4 5 6 9 10 12 13 14 15 -2 4 5 6 9 11 12 13 14 15 -2 4 5 6 10 11 12 13 14 15 -2 4 5 7 8 9 10 11 12 13 -2 4 5 7 8 9 10 11 12 14 -2 4 5 7 8 9 10 11 12 15 -2 4 5 7 8 9 10 11 13 14 -2 4 5 7 8 9 10 11 13 15 -2 4 5 7 8 9 10 11 14 15 -2 4 5 7 8 9 10 12 13 14 -2 4 5 7 8 9 10 12 13 15 -2 4 5 7 8 9 10 12 14 15 -2 4 5 7 8 9 10 13 14 15 -2 4 5 7 8 9 11 12 13 14 -2 4 5 7 8 9 11 12 13 15 -2 4 5 7 8 9 11 12 14 15 -2 4 5 7 8 9 11 13 14 15 -2 4 5 7 8 9 12 13 14 15 -2 4 5 7 8 10 11 12 13 14 -2 4 5 7 8 10 11 12 13 15 -2 4 5 7 8 10 11 12 14 15 -2 4 5 7 8 10 11 13 14 15 -2 4 5 7 8 10 12 13 14 15 -2 4 5 7 8 11 12 13 14 15 -2 4 5 7 9 10 11 12 13 14 -2 4 5 7 9 10 11 12 13 15 -2 4 5 7 9 10 11 12 14 15 -2 4 5 7 9 10 11 13 14 15 -2 4 5 7 9 10 12 13 14 15 -2 4 5 7 9 11 12 13 14 15 -2 4 5 7 10 11 12 13 14 15 -2 4 5 8 9 10 11 12 13 14 -2 4 5 8 9 10 11 12 13 15 -2 4 5 8 9 10 11 12 14 15 -2 4 5 8 9 10 11 13 14 15 -2 4 5 8 9 10 12 13 14 15 -2 4 5 8 9 11 12 13 14 15 -2 4 5 8 10 11 12 13 14 15 -2 4 5 9 10 11 12 13 14 15 -2 4 6 7 8 9 10 11 12 13 -2 4 6 7 8 9 10 11 12 14 -2 4 6 7 8 9 10 11 12 15 -2 4 6 7 8 9 10 11 13 14 -2 4 6 7 8 9 10 11 13 15 -2 4 6 7 8 9 10 11 14 15 -2 4 6 7 8 9 10 12 13 14 -2 4 6 7 8 9 10 12 13 15 -2 4 6 7 8 9 10 12 14 15 -2 4 6 7 8 9 10 13 14 15 -2 4 6 7 8 9 11 12 13 14 -2 4 6 7 8 9 11 12 13 15 -2 4 6 7 8 9 11 12 14 15 -2 4 6 7 8 9 11 13 14 15 -2 4 6 7 8 9 12 13 14 15 -2 4 6 7 8 10 11 12 13 14 -2 4 6 7 8 10 11 12 13 15 -2 4 6 7 8 10 11 12 14 15 -2 4 6 7 8 10 11 13 14 15 -2 4 6 7 8 10 12 13 14 15 -2 4 6 7 8 11 12 13 14 15 -2 4 6 7 9 10 11 12 13 14 -2 4 6 7 9 10 11 12 13 15 -2 4 6 7 9 10 11 12 14 15 -2 4 6 7 9 10 11 13 14 15 -2 4 6 7 9 10 12 13 14 15 -2 4 6 7 9 11 12 13 14 15 -2 4 6 7 10 11 12 13 14 15 -2 4 6 8 9 10 11 12 13 14 -2 4 6 8 9 10 11 12 13 15 -2 4 6 8 9 10 11 12 14 15 -2 4 6 8 9 10 11 13 14 15 -2 4 6 8 9 10 12 13 14 15 -2 4 6 8 9 11 12 13 14 15 -2 4 6 8 10 11 12 13 14 15 -2 4 6 9 10 11 12 13 14 15 -2 4 7 8 9 10 11 12 13 14 -2 4 7 8 9 10 11 12 13 15 -2 4 7 8 9 10 11 12 14 15 -2 4 7 8 9 10 11 13 14 15 -2 4 7 8 9 10 12 13 14 15 -2 4 7 8 9 11 12 13 14 15 -2 4 7 8 10 11 12 13 14 15 -2 4 7 9 10 11 12 13 14 15 -2 4 8 9 10 11 12 13 14 15 -2 5 6 7 8 9 10 11 12 13 -2 5 6 7 8 9 10 11 12 14 -2 5 6 7 8 9 10 11 12 15 -2 5 6 7 8 9 10 11 13 14 -2 5 6 7 8 9 10 11 13 15 -2 5 6 7 8 9 10 11 14 15 -2 5 6 7 8 9 10 12 13 14 -2 5 6 7 8 9 10 12 13 15 -2 5 6 7 8 9 10 12 14 15 -2 5 6 7 8 9 10 13 14 15 -2 5 6 7 8 9 11 12 13 14 -2 5 6 7 8 9 11 12 13 15 -2 5 6 7 8 9 11 12 14 15 -2 5 6 7 8 9 11 13 14 15 -2 5 6 7 8 9 12 13 14 15 -2 5 6 7 8 10 11 12 13 14 -2 5 6 7 8 10 11 12 13 15 -2 5 6 7 8 10 11 12 14 15 -2 5 6 7 8 10 11 13 14 15 -2 5 6 7 8 10 12 13 14 15 -2 5 6 7 8 11 12 13 14 15 -2 5 6 7 9 10 11 12 13 14 -2 5 6 7 9 10 11 12 13 15 -2 5 6 7 9 10 11 12 14 15 -2 5 6 7 9 10 11 13 14 15 -2 5 6 7 9 10 12 13 14 15 -2 5 6 7 9 11 12 13 14 15 -2 5 6 7 10 11 12 13 14 15 -2 5 6 8 9 10 11 12 13 14 -2 5 6 8 9 10 11 12 13 15 -2 5 6 8 9 10 11 12 14 15 -2 5 6 8 9 10 11 13 14 15 -2 5 6 8 9 10 12 13 14 15 -2 5 6 8 9 11 12 13 14 15 -2 5 6 8 10 11 12 13 14 15 -2 5 6 9 10 11 12 13 14 15 -2 5 7 8 9 10 11 12 13 14 -2 5 7 8 9 10 11 12 13 15 -2 5 7 8 9 10 11 12 14 15 -2 5 7 8 9 10 11 13 14 15 -2 5 7 8 9 10 12 13 14 15 -2 5 7 8 9 11 12 13 14 15 -2 5 7 8 10 11 12 13 14 15 -2 5 7 9 10 11 12 13 14 15 -2 5 8 9 10 11 12 13 14 15 -2 6 7 8 9 10 11 12 13 14 -2 6 7 8 9 10 11 12 13 15 -2 6 7 8 9 10 11 12 14 15 -2 6 7 8 9 10 11 13 14 15 -2 6 7 8 9 10 12 13 14 15 -2 6 7 8 9 11 12 13 14 15 -2 6 7 8 10 11 12 13 14 15 -2 6 7 9 10 11 12 13 14 15 -2 6 8 9 10 11 12 13 14 15 -2 7 8 9 10 11 12 13 14 15 -3 4 5 6 7 8 9 10 11 12 -3 4 5 6 7 8 9 10 11 13 -3 4 5 6 7 8 9 10 11 14 -3 4 5 6 7 8 9 10 11 15 -3 4 5 6 7 8 9 10 12 13 -3 4 5 6 7 8 9 10 12 14 -3 4 5 6 7 8 9 10 12 15 -3 4 5 6 7 8 9 10 13 14 -3 4 5 6 7 8 9 10 13 15 -3 4 5 6 7 8 9 10 14 15 -3 4 5 6 7 8 9 11 12 13 -3 4 5 6 7 8 9 11 12 14 -3 4 5 6 7 8 9 11 12 15 -3 4 5 6 7 8 9 11 13 14 -3 4 5 6 7 8 9 11 13 15 -3 4 5 6 7 8 9 11 14 15 -3 4 5 6 7 8 9 12 13 14 -3 4 5 6 7 8 9 12 13 15 -3 4 5 6 7 8 9 12 14 15 -3 4 5 6 7 8 9 13 14 15 -3 4 5 6 7 8 10 11 12 13 -3 4 5 6 7 8 10 11 12 14 -3 4 5 6 7 8 10 11 12 15 -3 4 5 6 7 8 10 11 13 14 -3 4 5 6 7 8 10 11 13 15 -3 4 5 6 7 8 10 11 14 15 -3 4 5 6 7 8 10 12 13 14 -3 4 5 6 7 8 10 12 13 15 -3 4 5 6 7 8 10 12 14 15 -3 4 5 6 7 8 10 13 14 15 -3 4 5 6 7 8 11 12 13 14 -3 4 5 6 7 8 11 12 13 15 -3 4 5 6 7 8 11 12 14 15 -3 4 5 6 7 8 11 13 14 15 -3 4 5 6 7 8 12 13 14 15 -3 4 5 6 7 9 10 11 12 13 -3 4 5 6 7 9 10 11 12 14 -3 4 5 6 7 9 10 11 12 15 -3 4 5 6 7 9 10 11 13 14 -3 4 5 6 7 9 10 11 13 15 -3 4 5 6 7 9 10 11 14 15 -3 4 5 6 7 9 10 12 13 14 -3 4 5 6 7 9 10 12 13 15 -3 4 5 6 7 9 10 12 14 15 -3 4 5 6 7 9 10 13 14 15 -3 4 5 6 7 9 11 12 13 14 -3 4 5 6 7 9 11 12 13 15 -3 4 5 6 7 9 11 12 14 15 -3 4 5 6 7 9 11 13 14 15 -3 4 5 6 7 9 12 13 14 15 -3 4 5 6 7 10 11 12 13 14 -3 4 5 6 7 10 11 12 13 15 -3 4 5 6 7 10 11 12 14 15 -3 4 5 6 7 10 11 13 14 15 -3 4 5 6 7 10 12 13 14 15 -3 4 5 6 7 11 12 13 14 15 -3 4 5 6 8 9 10 11 12 13 -3 4 5 6 8 9 10 11 12 14 -3 4 5 6 8 9 10 11 12 15 -3 4 5 6 8 9 10 11 13 14 -3 4 5 6 8 9 10 11 13 15 -3 4 5 6 8 9 10 11 14 15 -3 4 5 6 8 9 10 12 13 14 -3 4 5 6 8 9 10 12 13 15 -3 4 5 6 8 9 10 12 14 15 -3 4 5 6 8 9 10 13 14 15 -3 4 5 6 8 9 11 12 13 14 -3 4 5 6 8 9 11 12 13 15 -3 4 5 6 8 9 11 12 14 15 -3 4 5 6 8 9 11 13 14 15 -3 4 5 6 8 9 12 13 14 15 -3 4 5 6 8 10 11 12 13 14 -3 4 5 6 8 10 11 12 13 15 -3 4 5 6 8 10 11 12 14 15 -3 4 5 6 8 10 11 13 14 15 -3 4 5 6 8 10 12 13 14 15 -3 4 5 6 8 11 12 13 14 15 -3 4 5 6 9 10 11 12 13 14 -3 4 5 6 9 10 11 12 13 15 -3 4 5 6 9 10 11 12 14 15 -3 4 5 6 9 10 11 13 14 15 -3 4 5 6 9 10 12 13 14 15 -3 4 5 6 9 11 12 13 14 15 -3 4 5 6 10 11 12 13 14 15 -3 4 5 7 8 9 10 11 12 13 -3 4 5 7 8 9 10 11 12 14 -3 4 5 7 8 9 10 11 12 15 -3 4 5 7 8 9 10 11 13 14 -3 4 5 7 8 9 10 11 13 15 -3 4 5 7 8 9 10 11 14 15 -3 4 5 7 8 9 10 12 13 14 -3 4 5 7 8 9 10 12 13 15 -3 4 5 7 8 9 10 12 14 15 -3 4 5 7 8 9 10 13 14 15 -3 4 5 7 8 9 11 12 13 14 -3 4 5 7 8 9 11 12 13 15 -3 4 5 7 8 9 11 12 14 15 -3 4 5 7 8 9 11 13 14 15 -3 4 5 7 8 9 12 13 14 15 -3 4 5 7 8 10 11 12 13 14 -3 4 5 7 8 10 11 12 13 15 -3 4 5 7 8 10 11 12 14 15 -3 4 5 7 8 10 11 13 14 15 -3 4 5 7 8 10 12 13 14 15 -3 4 5 7 8 11 12 13 14 15 -3 4 5 7 9 10 11 12 13 14 -3 4 5 7 9 10 11 12 13 15 -3 4 5 7 9 10 11 12 14 15 -3 4 5 7 9 10 11 13 14 15 -3 4 5 7 9 10 12 13 14 15 -3 4 5 7 9 11 12 13 14 15 -3 4 5 7 10 11 12 13 14 15 -3 4 5 8 9 10 11 12 13 14 -3 4 5 8 9 10 11 12 13 15 -3 4 5 8 9 10 11 12 14 15 -3 4 5 8 9 10 11 13 14 15 -3 4 5 8 9 10 12 13 14 15 -3 4 5 8 9 11 12 13 14 15 -3 4 5 8 10 11 12 13 14 15 -3 4 5 9 10 11 12 13 14 15 -3 4 6 7 8 9 10 11 12 13 -3 4 6 7 8 9 10 11 12 14 -3 4 6 7 8 9 10 11 12 15 -3 4 6 7 8 9 10 11 13 14 -3 4 6 7 8 9 10 11 13 15 -3 4 6 7 8 9 10 11 14 15 -3 4 6 7 8 9 10 12 13 14 -3 4 6 7 8 9 10 12 13 15 -3 4 6 7 8 9 10 12 14 15 -3 4 6 7 8 9 10 13 14 15 -3 4 6 7 8 9 11 12 13 14 -3 4 6 7 8 9 11 12 13 15 -3 4 6 7 8 9 11 12 14 15 -3 4 6 7 8 9 11 13 14 15 -3 4 6 7 8 9 12 13 14 15 -3 4 6 7 8 10 11 12 13 14 -3 4 6 7 8 10 11 12 13 15 -3 4 6 7 8 10 11 12 14 15 -3 4 6 7 8 10 11 13 14 15 -3 4 6 7 8 10 12 13 14 15 -3 4 6 7 8 11 12 13 14 15 -3 4 6 7 9 10 11 12 13 14 -3 4 6 7 9 10 11 12 13 15 -3 4 6 7 9 10 11 12 14 15 -3 4 6 7 9 10 11 13 14 15 -3 4 6 7 9 10 12 13 14 15 -3 4 6 7 9 11 12 13 14 15 -3 4 6 7 10 11 12 13 14 15 -3 4 6 8 9 10 11 12 13 14 -3 4 6 8 9 10 11 12 13 15 -3 4 6 8 9 10 11 12 14 15 -3 4 6 8 9 10 11 13 14 15 -3 4 6 8 9 10 12 13 14 15 -3 4 6 8 9 11 12 13 14 15 -3 4 6 8 10 11 12 13 14 15 -3 4 6 9 10 11 12 13 14 15 -3 4 7 8 9 10 11 12 13 14 -3 4 7 8 9 10 11 12 13 15 -3 4 7 8 9 10 11 12 14 15 -3 4 7 8 9 10 11 13 14 15 -3 4 7 8 9 10 12 13 14 15 -3 4 7 8 9 11 12 13 14 15 -3 4 7 8 10 11 12 13 14 15 -3 4 7 9 10 11 12 13 14 15 -3 4 8 9 10 11 12 13 14 15 -3 5 6 7 8 9 10 11 12 13 -3 5 6 7 8 9 10 11 12 14 -3 5 6 7 8 9 10 11 12 15 -3 5 6 7 8 9 10 11 13 14 -3 5 6 7 8 9 10 11 13 15 -3 5 6 7 8 9 10 11 14 15 -3 5 6 7 8 9 10 12 13 14 -3 5 6 7 8 9 10 12 13 15 -3 5 6 7 8 9 10 12 14 15 -3 5 6 7 8 9 10 13 14 15 -3 5 6 7 8 9 11 12 13 14 -3 5 6 7 8 9 11 12 13 15 -3 5 6 7 8 9 11 12 14 15 -3 5 6 7 8 9 11 13 14 15 -3 5 6 7 8 9 12 13 14 15 -3 5 6 7 8 10 11 12 13 14 -3 5 6 7 8 10 11 12 13 15 -3 5 6 7 8 10 11 12 14 15 -3 5 6 7 8 10 11 13 14 15 -3 5 6 7 8 10 12 13 14 15 -3 5 6 7 8 11 12 13 14 15 -3 5 6 7 9 10 11 12 13 14 -3 5 6 7 9 10 11 12 13 15 -3 5 6 7 9 10 11 12 14 15 -3 5 6 7 9 10 11 13 14 15 -3 5 6 7 9 10 12 13 14 15 -3 5 6 7 9 11 12 13 14 15 -3 5 6 7 10 11 12 13 14 15 -3 5 6 8 9 10 11 12 13 14 -3 5 6 8 9 10 11 12 13 15 -3 5 6 8 9 10 11 12 14 15 -3 5 6 8 9 10 11 13 14 15 -3 5 6 8 9 10 12 13 14 15 -3 5 6 8 9 11 12 13 14 15 -3 5 6 8 10 11 12 13 14 15 -3 5 6 9 10 11 12 13 14 15 -3 5 7 8 9 10 11 12 13 14 -3 5 7 8 9 10 11 12 13 15 -3 5 7 8 9 10 11 12 14 15 -3 5 7 8 9 10 11 13 14 15 -3 5 7 8 9 10 12 13 14 15 -3 5 7 8 9 11 12 13 14 15 -3 5 7 8 10 11 12 13 14 15 -3 5 7 9 10 11 12 13 14 15 -3 5 8 9 10 11 12 13 14 15 -3 6 7 8 9 10 11 12 13 14 -3 6 7 8 9 10 11 12 13 15 -3 6 7 8 9 10 11 12 14 15 -3 6 7 8 9 10 11 13 14 15 -3 6 7 8 9 10 12 13 14 15 -3 6 7 8 9 11 12 13 14 15 -3 6 7 8 10 11 12 13 14 15 -3 6 7 9 10 11 12 13 14 15 -3 6 8 9 10 11 12 13 14 15 -3 7 8 9 10 11 12 13 14 15 -4 5 6 7 8 9 10 11 12 13 -4 5 6 7 8 9 10 11 12 14 -4 5 6 7 8 9 10 11 12 15 -4 5 6 7 8 9 10 11 13 14 -4 5 6 7 8 9 10 11 13 15 -4 5 6 7 8 9 10 11 14 15 -4 5 6 7 8 9 10 12 13 14 -4 5 6 7 8 9 10 12 13 15 -4 5 6 7 8 9 10 12 14 15 -4 5 6 7 8 9 10 13 14 15 -4 5 6 7 8 9 11 12 13 14 -4 5 6 7 8 9 11 12 13 15 -4 5 6 7 8 9 11 12 14 15 -4 5 6 7 8 9 11 13 14 15 -4 5 6 7 8 9 12 13 14 15 -4 5 6 7 8 10 11 12 13 14 -4 5 6 7 8 10 11 12 13 15 -4 5 6 7 8 10 11 12 14 15 -4 5 6 7 8 10 11 13 14 15 -4 5 6 7 8 10 12 13 14 15 -4 5 6 7 8 11 12 13 14 15 -4 5 6 7 9 10 11 12 13 14 -4 5 6 7 9 10 11 12 13 15 -4 5 6 7 9 10 11 12 14 15 -4 5 6 7 9 10 11 13 14 15 -4 5 6 7 9 10 12 13 14 15 -4 5 6 7 9 11 12 13 14 15 -4 5 6 7 10 11 12 13 14 15 -4 5 6 8 9 10 11 12 13 14 -4 5 6 8 9 10 11 12 13 15 -4 5 6 8 9 10 11 12 14 15 -4 5 6 8 9 10 11 13 14 15 -4 5 6 8 9 10 12 13 14 15 -4 5 6 8 9 11 12 13 14 15 -4 5 6 8 10 11 12 13 14 15 -4 5 6 9 10 11 12 13 14 15 -4 5 7 8 9 10 11 12 13 14 -4 5 7 8 9 10 11 12 13 15 -4 5 7 8 9 10 11 12 14 15 -4 5 7 8 9 10 11 13 14 15 -4 5 7 8 9 10 12 13 14 15 -4 5 7 8 9 11 12 13 14 15 -4 5 7 8 10 11 12 13 14 15 -4 5 7 9 10 11 12 13 14 15 -4 5 8 9 10 11 12 13 14 15 -4 6 7 8 9 10 11 12 13 14 -4 6 7 8 9 10 11 12 13 15 -4 6 7 8 9 10 11 12 14 15 -4 6 7 8 9 10 11 13 14 15 -4 6 7 8 9 10 12 13 14 15 -4 6 7 8 9 11 12 13 14 15 -4 6 7 8 10 11 12 13 14 15 -4 6 7 9 10 11 12 13 14 15 -4 6 8 9 10 11 12 13 14 15 -4 7 8 9 10 11 12 13 14 15 -5 6 7 8 9 10 11 12 13 14 -5 6 7 8 9 10 11 12 13 15 -5 6 7 8 9 10 11 12 14 15 -5 6 7 8 9 10 11 13 14 15 -5 6 7 8 9 10 12 13 14 15 -5 6 7 8 9 11 12 13 14 15 -5 6 7 8 10 11 12 13 14 15 -5 6 7 9 10 11 12 13 14 15 -5 6 8 9 10 11 12 13 14 15 -5 7 8 9 10 11 12 13 14 15 -6 7 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 9 +0 1 2 3 4 5 6 7 8 10 +0 1 2 3 4 5 6 7 8 11 +0 1 2 3 4 5 6 7 8 12 +0 1 2 3 4 5 6 7 8 13 +0 1 2 3 4 5 6 7 8 14 +0 1 2 3 4 5 6 7 8 15 +0 1 2 3 4 5 6 7 9 10 +0 1 2 3 4 5 6 7 9 11 +0 1 2 3 4 5 6 7 9 12 +0 1 2 3 4 5 6 7 9 13 +0 1 2 3 4 5 6 7 9 14 +0 1 2 3 4 5 6 7 9 15 +0 1 2 3 4 5 6 7 10 11 +0 1 2 3 4 5 6 7 10 12 +0 1 2 3 4 5 6 7 10 13 +0 1 2 3 4 5 6 7 10 14 +0 1 2 3 4 5 6 7 10 15 +0 1 2 3 4 5 6 7 11 12 +0 1 2 3 4 5 6 7 11 13 +0 1 2 3 4 5 6 7 11 14 +0 1 2 3 4 5 6 7 11 15 +0 1 2 3 4 5 6 7 12 13 +0 1 2 3 4 5 6 7 12 14 +0 1 2 3 4 5 6 7 12 15 +0 1 2 3 4 5 6 7 13 14 +0 1 2 3 4 5 6 7 13 15 +0 1 2 3 4 5 6 7 14 15 +0 1 2 3 4 5 6 8 9 10 +0 1 2 3 4 5 6 8 9 11 +0 1 2 3 4 5 6 8 9 12 +0 1 2 3 4 5 6 8 9 13 +0 1 2 3 4 5 6 8 9 14 +0 1 2 3 4 5 6 8 9 15 +0 1 2 3 4 5 6 8 10 11 +0 1 2 3 4 5 6 8 10 12 +0 1 2 3 4 5 6 8 10 13 +0 1 2 3 4 5 6 8 10 14 +0 1 2 3 4 5 6 8 10 15 +0 1 2 3 4 5 6 8 11 12 +0 1 2 3 4 5 6 8 11 13 +0 1 2 3 4 5 6 8 11 14 +0 1 2 3 4 5 6 8 11 15 +0 1 2 3 4 5 6 8 12 13 +0 1 2 3 4 5 6 8 12 14 +0 1 2 3 4 5 6 8 12 15 +0 1 2 3 4 5 6 8 13 14 +0 1 2 3 4 5 6 8 13 15 +0 1 2 3 4 5 6 8 14 15 +0 1 2 3 4 5 6 9 10 11 +0 1 2 3 4 5 6 9 10 12 +0 1 2 3 4 5 6 9 10 13 +0 1 2 3 4 5 6 9 10 14 +0 1 2 3 4 5 6 9 10 15 +0 1 2 3 4 5 6 9 11 12 +0 1 2 3 4 5 6 9 11 13 +0 1 2 3 4 5 6 9 11 14 +0 1 2 3 4 5 6 9 11 15 +0 1 2 3 4 5 6 9 12 13 +0 1 2 3 4 5 6 9 12 14 +0 1 2 3 4 5 6 9 12 15 +0 1 2 3 4 5 6 9 13 14 +0 1 2 3 4 5 6 9 13 15 +0 1 2 3 4 5 6 9 14 15 +0 1 2 3 4 5 6 10 11 12 +0 1 2 3 4 5 6 10 11 13 +0 1 2 3 4 5 6 10 11 14 +0 1 2 3 4 5 6 10 11 15 +0 1 2 3 4 5 6 10 12 13 +0 1 2 3 4 5 6 10 12 14 +0 1 2 3 4 5 6 10 12 15 +0 1 2 3 4 5 6 10 13 14 +0 1 2 3 4 5 6 10 13 15 +0 1 2 3 4 5 6 10 14 15 +0 1 2 3 4 5 6 11 12 13 +0 1 2 3 4 5 6 11 12 14 +0 1 2 3 4 5 6 11 12 15 +0 1 2 3 4 5 6 11 13 14 +0 1 2 3 4 5 6 11 13 15 +0 1 2 3 4 5 6 11 14 15 +0 1 2 3 4 5 6 12 13 14 +0 1 2 3 4 5 6 12 13 15 +0 1 2 3 4 5 6 12 14 15 +0 1 2 3 4 5 6 13 14 15 +0 1 2 3 4 5 7 8 9 10 +0 1 2 3 4 5 7 8 9 11 +0 1 2 3 4 5 7 8 9 12 +0 1 2 3 4 5 7 8 9 13 +0 1 2 3 4 5 7 8 9 14 +0 1 2 3 4 5 7 8 9 15 +0 1 2 3 4 5 7 8 10 11 +0 1 2 3 4 5 7 8 10 12 +0 1 2 3 4 5 7 8 10 13 +0 1 2 3 4 5 7 8 10 14 +0 1 2 3 4 5 7 8 10 15 +0 1 2 3 4 5 7 8 11 12 +0 1 2 3 4 5 7 8 11 13 +0 1 2 3 4 5 7 8 11 14 +0 1 2 3 4 5 7 8 11 15 +0 1 2 3 4 5 7 8 12 13 +0 1 2 3 4 5 7 8 12 14 +0 1 2 3 4 5 7 8 12 15 +0 1 2 3 4 5 7 8 13 14 +0 1 2 3 4 5 7 8 13 15 +0 1 2 3 4 5 7 8 14 15 +0 1 2 3 4 5 7 9 10 11 +0 1 2 3 4 5 7 9 10 12 +0 1 2 3 4 5 7 9 10 13 +0 1 2 3 4 5 7 9 10 14 +0 1 2 3 4 5 7 9 10 15 +0 1 2 3 4 5 7 9 11 12 +0 1 2 3 4 5 7 9 11 13 +0 1 2 3 4 5 7 9 11 14 +0 1 2 3 4 5 7 9 11 15 +0 1 2 3 4 5 7 9 12 13 +0 1 2 3 4 5 7 9 12 14 +0 1 2 3 4 5 7 9 12 15 +0 1 2 3 4 5 7 9 13 14 +0 1 2 3 4 5 7 9 13 15 +0 1 2 3 4 5 7 9 14 15 +0 1 2 3 4 5 7 10 11 12 +0 1 2 3 4 5 7 10 11 13 +0 1 2 3 4 5 7 10 11 14 +0 1 2 3 4 5 7 10 11 15 +0 1 2 3 4 5 7 10 12 13 +0 1 2 3 4 5 7 10 12 14 +0 1 2 3 4 5 7 10 12 15 +0 1 2 3 4 5 7 10 13 14 +0 1 2 3 4 5 7 10 13 15 +0 1 2 3 4 5 7 10 14 15 +0 1 2 3 4 5 7 11 12 13 +0 1 2 3 4 5 7 11 12 14 +0 1 2 3 4 5 7 11 12 15 +0 1 2 3 4 5 7 11 13 14 +0 1 2 3 4 5 7 11 13 15 +0 1 2 3 4 5 7 11 14 15 +0 1 2 3 4 5 7 12 13 14 +0 1 2 3 4 5 7 12 13 15 +0 1 2 3 4 5 7 12 14 15 +0 1 2 3 4 5 7 13 14 15 +0 1 2 3 4 5 8 9 10 11 +0 1 2 3 4 5 8 9 10 12 +0 1 2 3 4 5 8 9 10 13 +0 1 2 3 4 5 8 9 10 14 +0 1 2 3 4 5 8 9 10 15 +0 1 2 3 4 5 8 9 11 12 +0 1 2 3 4 5 8 9 11 13 +0 1 2 3 4 5 8 9 11 14 +0 1 2 3 4 5 8 9 11 15 +0 1 2 3 4 5 8 9 12 13 +0 1 2 3 4 5 8 9 12 14 +0 1 2 3 4 5 8 9 12 15 +0 1 2 3 4 5 8 9 13 14 +0 1 2 3 4 5 8 9 13 15 +0 1 2 3 4 5 8 9 14 15 +0 1 2 3 4 5 8 10 11 12 +0 1 2 3 4 5 8 10 11 13 +0 1 2 3 4 5 8 10 11 14 +0 1 2 3 4 5 8 10 11 15 +0 1 2 3 4 5 8 10 12 13 +0 1 2 3 4 5 8 10 12 14 +0 1 2 3 4 5 8 10 12 15 +0 1 2 3 4 5 8 10 13 14 +0 1 2 3 4 5 8 10 13 15 +0 1 2 3 4 5 8 10 14 15 +0 1 2 3 4 5 8 11 12 13 +0 1 2 3 4 5 8 11 12 14 +0 1 2 3 4 5 8 11 12 15 +0 1 2 3 4 5 8 11 13 14 +0 1 2 3 4 5 8 11 13 15 +0 1 2 3 4 5 8 11 14 15 +0 1 2 3 4 5 8 12 13 14 +0 1 2 3 4 5 8 12 13 15 +0 1 2 3 4 5 8 12 14 15 +0 1 2 3 4 5 8 13 14 15 +0 1 2 3 4 5 9 10 11 12 +0 1 2 3 4 5 9 10 11 13 +0 1 2 3 4 5 9 10 11 14 +0 1 2 3 4 5 9 10 11 15 +0 1 2 3 4 5 9 10 12 13 +0 1 2 3 4 5 9 10 12 14 +0 1 2 3 4 5 9 10 12 15 +0 1 2 3 4 5 9 10 13 14 +0 1 2 3 4 5 9 10 13 15 +0 1 2 3 4 5 9 10 14 15 +0 1 2 3 4 5 9 11 12 13 +0 1 2 3 4 5 9 11 12 14 +0 1 2 3 4 5 9 11 12 15 +0 1 2 3 4 5 9 11 13 14 +0 1 2 3 4 5 9 11 13 15 +0 1 2 3 4 5 9 11 14 15 +0 1 2 3 4 5 9 12 13 14 +0 1 2 3 4 5 9 12 13 15 +0 1 2 3 4 5 9 12 14 15 +0 1 2 3 4 5 9 13 14 15 +0 1 2 3 4 5 10 11 12 13 +0 1 2 3 4 5 10 11 12 14 +0 1 2 3 4 5 10 11 12 15 +0 1 2 3 4 5 10 11 13 14 +0 1 2 3 4 5 10 11 13 15 +0 1 2 3 4 5 10 11 14 15 +0 1 2 3 4 5 10 12 13 14 +0 1 2 3 4 5 10 12 13 15 +0 1 2 3 4 5 10 12 14 15 +0 1 2 3 4 5 10 13 14 15 +0 1 2 3 4 5 11 12 13 14 +0 1 2 3 4 5 11 12 13 15 +0 1 2 3 4 5 11 12 14 15 +0 1 2 3 4 5 11 13 14 15 +0 1 2 3 4 5 12 13 14 15 +0 1 2 3 4 6 7 8 9 10 +0 1 2 3 4 6 7 8 9 11 +0 1 2 3 4 6 7 8 9 12 +0 1 2 3 4 6 7 8 9 13 +0 1 2 3 4 6 7 8 9 14 +0 1 2 3 4 6 7 8 9 15 +0 1 2 3 4 6 7 8 10 11 +0 1 2 3 4 6 7 8 10 12 +0 1 2 3 4 6 7 8 10 13 +0 1 2 3 4 6 7 8 10 14 +0 1 2 3 4 6 7 8 10 15 +0 1 2 3 4 6 7 8 11 12 +0 1 2 3 4 6 7 8 11 13 +0 1 2 3 4 6 7 8 11 14 +0 1 2 3 4 6 7 8 11 15 +0 1 2 3 4 6 7 8 12 13 +0 1 2 3 4 6 7 8 12 14 +0 1 2 3 4 6 7 8 12 15 +0 1 2 3 4 6 7 8 13 14 +0 1 2 3 4 6 7 8 13 15 +0 1 2 3 4 6 7 8 14 15 +0 1 2 3 4 6 7 9 10 11 +0 1 2 3 4 6 7 9 10 12 +0 1 2 3 4 6 7 9 10 13 +0 1 2 3 4 6 7 9 10 14 +0 1 2 3 4 6 7 9 10 15 +0 1 2 3 4 6 7 9 11 12 +0 1 2 3 4 6 7 9 11 13 +0 1 2 3 4 6 7 9 11 14 +0 1 2 3 4 6 7 9 11 15 +0 1 2 3 4 6 7 9 12 13 +0 1 2 3 4 6 7 9 12 14 +0 1 2 3 4 6 7 9 12 15 +0 1 2 3 4 6 7 9 13 14 +0 1 2 3 4 6 7 9 13 15 +0 1 2 3 4 6 7 9 14 15 +0 1 2 3 4 6 7 10 11 12 +0 1 2 3 4 6 7 10 11 13 +0 1 2 3 4 6 7 10 11 14 +0 1 2 3 4 6 7 10 11 15 +0 1 2 3 4 6 7 10 12 13 +0 1 2 3 4 6 7 10 12 14 +0 1 2 3 4 6 7 10 12 15 +0 1 2 3 4 6 7 10 13 14 +0 1 2 3 4 6 7 10 13 15 +0 1 2 3 4 6 7 10 14 15 +0 1 2 3 4 6 7 11 12 13 +0 1 2 3 4 6 7 11 12 14 +0 1 2 3 4 6 7 11 12 15 +0 1 2 3 4 6 7 11 13 14 +0 1 2 3 4 6 7 11 13 15 +0 1 2 3 4 6 7 11 14 15 +0 1 2 3 4 6 7 12 13 14 +0 1 2 3 4 6 7 12 13 15 +0 1 2 3 4 6 7 12 14 15 +0 1 2 3 4 6 7 13 14 15 +0 1 2 3 4 6 8 9 10 11 +0 1 2 3 4 6 8 9 10 12 +0 1 2 3 4 6 8 9 10 13 +0 1 2 3 4 6 8 9 10 14 +0 1 2 3 4 6 8 9 10 15 +0 1 2 3 4 6 8 9 11 12 +0 1 2 3 4 6 8 9 11 13 +0 1 2 3 4 6 8 9 11 14 +0 1 2 3 4 6 8 9 11 15 +0 1 2 3 4 6 8 9 12 13 +0 1 2 3 4 6 8 9 12 14 +0 1 2 3 4 6 8 9 12 15 +0 1 2 3 4 6 8 9 13 14 +0 1 2 3 4 6 8 9 13 15 +0 1 2 3 4 6 8 9 14 15 +0 1 2 3 4 6 8 10 11 12 +0 1 2 3 4 6 8 10 11 13 +0 1 2 3 4 6 8 10 11 14 +0 1 2 3 4 6 8 10 11 15 +0 1 2 3 4 6 8 10 12 13 +0 1 2 3 4 6 8 10 12 14 +0 1 2 3 4 6 8 10 12 15 +0 1 2 3 4 6 8 10 13 14 +0 1 2 3 4 6 8 10 13 15 +0 1 2 3 4 6 8 10 14 15 +0 1 2 3 4 6 8 11 12 13 +0 1 2 3 4 6 8 11 12 14 +0 1 2 3 4 6 8 11 12 15 +0 1 2 3 4 6 8 11 13 14 +0 1 2 3 4 6 8 11 13 15 +0 1 2 3 4 6 8 11 14 15 +0 1 2 3 4 6 8 12 13 14 +0 1 2 3 4 6 8 12 13 15 +0 1 2 3 4 6 8 12 14 15 +0 1 2 3 4 6 8 13 14 15 +0 1 2 3 4 6 9 10 11 12 +0 1 2 3 4 6 9 10 11 13 +0 1 2 3 4 6 9 10 11 14 +0 1 2 3 4 6 9 10 11 15 +0 1 2 3 4 6 9 10 12 13 +0 1 2 3 4 6 9 10 12 14 +0 1 2 3 4 6 9 10 12 15 +0 1 2 3 4 6 9 10 13 14 +0 1 2 3 4 6 9 10 13 15 +0 1 2 3 4 6 9 10 14 15 +0 1 2 3 4 6 9 11 12 13 +0 1 2 3 4 6 9 11 12 14 +0 1 2 3 4 6 9 11 12 15 +0 1 2 3 4 6 9 11 13 14 +0 1 2 3 4 6 9 11 13 15 +0 1 2 3 4 6 9 11 14 15 +0 1 2 3 4 6 9 12 13 14 +0 1 2 3 4 6 9 12 13 15 +0 1 2 3 4 6 9 12 14 15 +0 1 2 3 4 6 9 13 14 15 +0 1 2 3 4 6 10 11 12 13 +0 1 2 3 4 6 10 11 12 14 +0 1 2 3 4 6 10 11 12 15 +0 1 2 3 4 6 10 11 13 14 +0 1 2 3 4 6 10 11 13 15 +0 1 2 3 4 6 10 11 14 15 +0 1 2 3 4 6 10 12 13 14 +0 1 2 3 4 6 10 12 13 15 +0 1 2 3 4 6 10 12 14 15 +0 1 2 3 4 6 10 13 14 15 +0 1 2 3 4 6 11 12 13 14 +0 1 2 3 4 6 11 12 13 15 +0 1 2 3 4 6 11 12 14 15 +0 1 2 3 4 6 11 13 14 15 +0 1 2 3 4 6 12 13 14 15 +0 1 2 3 4 7 8 9 10 11 +0 1 2 3 4 7 8 9 10 12 +0 1 2 3 4 7 8 9 10 13 +0 1 2 3 4 7 8 9 10 14 +0 1 2 3 4 7 8 9 10 15 +0 1 2 3 4 7 8 9 11 12 +0 1 2 3 4 7 8 9 11 13 +0 1 2 3 4 7 8 9 11 14 +0 1 2 3 4 7 8 9 11 15 +0 1 2 3 4 7 8 9 12 13 +0 1 2 3 4 7 8 9 12 14 +0 1 2 3 4 7 8 9 12 15 +0 1 2 3 4 7 8 9 13 14 +0 1 2 3 4 7 8 9 13 15 +0 1 2 3 4 7 8 9 14 15 +0 1 2 3 4 7 8 10 11 12 +0 1 2 3 4 7 8 10 11 13 +0 1 2 3 4 7 8 10 11 14 +0 1 2 3 4 7 8 10 11 15 +0 1 2 3 4 7 8 10 12 13 +0 1 2 3 4 7 8 10 12 14 +0 1 2 3 4 7 8 10 12 15 +0 1 2 3 4 7 8 10 13 14 +0 1 2 3 4 7 8 10 13 15 +0 1 2 3 4 7 8 10 14 15 +0 1 2 3 4 7 8 11 12 13 +0 1 2 3 4 7 8 11 12 14 +0 1 2 3 4 7 8 11 12 15 +0 1 2 3 4 7 8 11 13 14 +0 1 2 3 4 7 8 11 13 15 +0 1 2 3 4 7 8 11 14 15 +0 1 2 3 4 7 8 12 13 14 +0 1 2 3 4 7 8 12 13 15 +0 1 2 3 4 7 8 12 14 15 +0 1 2 3 4 7 8 13 14 15 +0 1 2 3 4 7 9 10 11 12 +0 1 2 3 4 7 9 10 11 13 +0 1 2 3 4 7 9 10 11 14 +0 1 2 3 4 7 9 10 11 15 +0 1 2 3 4 7 9 10 12 13 +0 1 2 3 4 7 9 10 12 14 +0 1 2 3 4 7 9 10 12 15 +0 1 2 3 4 7 9 10 13 14 +0 1 2 3 4 7 9 10 13 15 +0 1 2 3 4 7 9 10 14 15 +0 1 2 3 4 7 9 11 12 13 +0 1 2 3 4 7 9 11 12 14 +0 1 2 3 4 7 9 11 12 15 +0 1 2 3 4 7 9 11 13 14 +0 1 2 3 4 7 9 11 13 15 +0 1 2 3 4 7 9 11 14 15 +0 1 2 3 4 7 9 12 13 14 +0 1 2 3 4 7 9 12 13 15 +0 1 2 3 4 7 9 12 14 15 +0 1 2 3 4 7 9 13 14 15 +0 1 2 3 4 7 10 11 12 13 +0 1 2 3 4 7 10 11 12 14 +0 1 2 3 4 7 10 11 12 15 +0 1 2 3 4 7 10 11 13 14 +0 1 2 3 4 7 10 11 13 15 +0 1 2 3 4 7 10 11 14 15 +0 1 2 3 4 7 10 12 13 14 +0 1 2 3 4 7 10 12 13 15 +0 1 2 3 4 7 10 12 14 15 +0 1 2 3 4 7 10 13 14 15 +0 1 2 3 4 7 11 12 13 14 +0 1 2 3 4 7 11 12 13 15 +0 1 2 3 4 7 11 12 14 15 +0 1 2 3 4 7 11 13 14 15 +0 1 2 3 4 7 12 13 14 15 +0 1 2 3 4 8 9 10 11 12 +0 1 2 3 4 8 9 10 11 13 +0 1 2 3 4 8 9 10 11 14 +0 1 2 3 4 8 9 10 11 15 +0 1 2 3 4 8 9 10 12 13 +0 1 2 3 4 8 9 10 12 14 +0 1 2 3 4 8 9 10 12 15 +0 1 2 3 4 8 9 10 13 14 +0 1 2 3 4 8 9 10 13 15 +0 1 2 3 4 8 9 10 14 15 +0 1 2 3 4 8 9 11 12 13 +0 1 2 3 4 8 9 11 12 14 +0 1 2 3 4 8 9 11 12 15 +0 1 2 3 4 8 9 11 13 14 +0 1 2 3 4 8 9 11 13 15 +0 1 2 3 4 8 9 11 14 15 +0 1 2 3 4 8 9 12 13 14 +0 1 2 3 4 8 9 12 13 15 +0 1 2 3 4 8 9 12 14 15 +0 1 2 3 4 8 9 13 14 15 +0 1 2 3 4 8 10 11 12 13 +0 1 2 3 4 8 10 11 12 14 +0 1 2 3 4 8 10 11 12 15 +0 1 2 3 4 8 10 11 13 14 +0 1 2 3 4 8 10 11 13 15 +0 1 2 3 4 8 10 11 14 15 +0 1 2 3 4 8 10 12 13 14 +0 1 2 3 4 8 10 12 13 15 +0 1 2 3 4 8 10 12 14 15 +0 1 2 3 4 8 10 13 14 15 +0 1 2 3 4 8 11 12 13 14 +0 1 2 3 4 8 11 12 13 15 +0 1 2 3 4 8 11 12 14 15 +0 1 2 3 4 8 11 13 14 15 +0 1 2 3 4 8 12 13 14 15 +0 1 2 3 4 9 10 11 12 13 +0 1 2 3 4 9 10 11 12 14 +0 1 2 3 4 9 10 11 12 15 +0 1 2 3 4 9 10 11 13 14 +0 1 2 3 4 9 10 11 13 15 +0 1 2 3 4 9 10 11 14 15 +0 1 2 3 4 9 10 12 13 14 +0 1 2 3 4 9 10 12 13 15 +0 1 2 3 4 9 10 12 14 15 +0 1 2 3 4 9 10 13 14 15 +0 1 2 3 4 9 11 12 13 14 +0 1 2 3 4 9 11 12 13 15 +0 1 2 3 4 9 11 12 14 15 +0 1 2 3 4 9 11 13 14 15 +0 1 2 3 4 9 12 13 14 15 +0 1 2 3 4 10 11 12 13 14 +0 1 2 3 4 10 11 12 13 15 +0 1 2 3 4 10 11 12 14 15 +0 1 2 3 4 10 11 13 14 15 +0 1 2 3 4 10 12 13 14 15 +0 1 2 3 4 11 12 13 14 15 +0 1 2 3 5 6 7 8 9 10 +0 1 2 3 5 6 7 8 9 11 +0 1 2 3 5 6 7 8 9 12 +0 1 2 3 5 6 7 8 9 13 +0 1 2 3 5 6 7 8 9 14 +0 1 2 3 5 6 7 8 9 15 +0 1 2 3 5 6 7 8 10 11 +0 1 2 3 5 6 7 8 10 12 +0 1 2 3 5 6 7 8 10 13 +0 1 2 3 5 6 7 8 10 14 +0 1 2 3 5 6 7 8 10 15 +0 1 2 3 5 6 7 8 11 12 +0 1 2 3 5 6 7 8 11 13 +0 1 2 3 5 6 7 8 11 14 +0 1 2 3 5 6 7 8 11 15 +0 1 2 3 5 6 7 8 12 13 +0 1 2 3 5 6 7 8 12 14 +0 1 2 3 5 6 7 8 12 15 +0 1 2 3 5 6 7 8 13 14 +0 1 2 3 5 6 7 8 13 15 +0 1 2 3 5 6 7 8 14 15 +0 1 2 3 5 6 7 9 10 11 +0 1 2 3 5 6 7 9 10 12 +0 1 2 3 5 6 7 9 10 13 +0 1 2 3 5 6 7 9 10 14 +0 1 2 3 5 6 7 9 10 15 +0 1 2 3 5 6 7 9 11 12 +0 1 2 3 5 6 7 9 11 13 +0 1 2 3 5 6 7 9 11 14 +0 1 2 3 5 6 7 9 11 15 +0 1 2 3 5 6 7 9 12 13 +0 1 2 3 5 6 7 9 12 14 +0 1 2 3 5 6 7 9 12 15 +0 1 2 3 5 6 7 9 13 14 +0 1 2 3 5 6 7 9 13 15 +0 1 2 3 5 6 7 9 14 15 +0 1 2 3 5 6 7 10 11 12 +0 1 2 3 5 6 7 10 11 13 +0 1 2 3 5 6 7 10 11 14 +0 1 2 3 5 6 7 10 11 15 +0 1 2 3 5 6 7 10 12 13 +0 1 2 3 5 6 7 10 12 14 +0 1 2 3 5 6 7 10 12 15 +0 1 2 3 5 6 7 10 13 14 +0 1 2 3 5 6 7 10 13 15 +0 1 2 3 5 6 7 10 14 15 +0 1 2 3 5 6 7 11 12 13 +0 1 2 3 5 6 7 11 12 14 +0 1 2 3 5 6 7 11 12 15 +0 1 2 3 5 6 7 11 13 14 +0 1 2 3 5 6 7 11 13 15 +0 1 2 3 5 6 7 11 14 15 +0 1 2 3 5 6 7 12 13 14 +0 1 2 3 5 6 7 12 13 15 +0 1 2 3 5 6 7 12 14 15 +0 1 2 3 5 6 7 13 14 15 +0 1 2 3 5 6 8 9 10 11 +0 1 2 3 5 6 8 9 10 12 +0 1 2 3 5 6 8 9 10 13 +0 1 2 3 5 6 8 9 10 14 +0 1 2 3 5 6 8 9 10 15 +0 1 2 3 5 6 8 9 11 12 +0 1 2 3 5 6 8 9 11 13 +0 1 2 3 5 6 8 9 11 14 +0 1 2 3 5 6 8 9 11 15 +0 1 2 3 5 6 8 9 12 13 +0 1 2 3 5 6 8 9 12 14 +0 1 2 3 5 6 8 9 12 15 +0 1 2 3 5 6 8 9 13 14 +0 1 2 3 5 6 8 9 13 15 +0 1 2 3 5 6 8 9 14 15 +0 1 2 3 5 6 8 10 11 12 +0 1 2 3 5 6 8 10 11 13 +0 1 2 3 5 6 8 10 11 14 +0 1 2 3 5 6 8 10 11 15 +0 1 2 3 5 6 8 10 12 13 +0 1 2 3 5 6 8 10 12 14 +0 1 2 3 5 6 8 10 12 15 +0 1 2 3 5 6 8 10 13 14 +0 1 2 3 5 6 8 10 13 15 +0 1 2 3 5 6 8 10 14 15 +0 1 2 3 5 6 8 11 12 13 +0 1 2 3 5 6 8 11 12 14 +0 1 2 3 5 6 8 11 12 15 +0 1 2 3 5 6 8 11 13 14 +0 1 2 3 5 6 8 11 13 15 +0 1 2 3 5 6 8 11 14 15 +0 1 2 3 5 6 8 12 13 14 +0 1 2 3 5 6 8 12 13 15 +0 1 2 3 5 6 8 12 14 15 +0 1 2 3 5 6 8 13 14 15 +0 1 2 3 5 6 9 10 11 12 +0 1 2 3 5 6 9 10 11 13 +0 1 2 3 5 6 9 10 11 14 +0 1 2 3 5 6 9 10 11 15 +0 1 2 3 5 6 9 10 12 13 +0 1 2 3 5 6 9 10 12 14 +0 1 2 3 5 6 9 10 12 15 +0 1 2 3 5 6 9 10 13 14 +0 1 2 3 5 6 9 10 13 15 +0 1 2 3 5 6 9 10 14 15 +0 1 2 3 5 6 9 11 12 13 +0 1 2 3 5 6 9 11 12 14 +0 1 2 3 5 6 9 11 12 15 +0 1 2 3 5 6 9 11 13 14 +0 1 2 3 5 6 9 11 13 15 +0 1 2 3 5 6 9 11 14 15 +0 1 2 3 5 6 9 12 13 14 +0 1 2 3 5 6 9 12 13 15 +0 1 2 3 5 6 9 12 14 15 +0 1 2 3 5 6 9 13 14 15 +0 1 2 3 5 6 10 11 12 13 +0 1 2 3 5 6 10 11 12 14 +0 1 2 3 5 6 10 11 12 15 +0 1 2 3 5 6 10 11 13 14 +0 1 2 3 5 6 10 11 13 15 +0 1 2 3 5 6 10 11 14 15 +0 1 2 3 5 6 10 12 13 14 +0 1 2 3 5 6 10 12 13 15 +0 1 2 3 5 6 10 12 14 15 +0 1 2 3 5 6 10 13 14 15 +0 1 2 3 5 6 11 12 13 14 +0 1 2 3 5 6 11 12 13 15 +0 1 2 3 5 6 11 12 14 15 +0 1 2 3 5 6 11 13 14 15 +0 1 2 3 5 6 12 13 14 15 +0 1 2 3 5 7 8 9 10 11 +0 1 2 3 5 7 8 9 10 12 +0 1 2 3 5 7 8 9 10 13 +0 1 2 3 5 7 8 9 10 14 +0 1 2 3 5 7 8 9 10 15 +0 1 2 3 5 7 8 9 11 12 +0 1 2 3 5 7 8 9 11 13 +0 1 2 3 5 7 8 9 11 14 +0 1 2 3 5 7 8 9 11 15 +0 1 2 3 5 7 8 9 12 13 +0 1 2 3 5 7 8 9 12 14 +0 1 2 3 5 7 8 9 12 15 +0 1 2 3 5 7 8 9 13 14 +0 1 2 3 5 7 8 9 13 15 +0 1 2 3 5 7 8 9 14 15 +0 1 2 3 5 7 8 10 11 12 +0 1 2 3 5 7 8 10 11 13 +0 1 2 3 5 7 8 10 11 14 +0 1 2 3 5 7 8 10 11 15 +0 1 2 3 5 7 8 10 12 13 +0 1 2 3 5 7 8 10 12 14 +0 1 2 3 5 7 8 10 12 15 +0 1 2 3 5 7 8 10 13 14 +0 1 2 3 5 7 8 10 13 15 +0 1 2 3 5 7 8 10 14 15 +0 1 2 3 5 7 8 11 12 13 +0 1 2 3 5 7 8 11 12 14 +0 1 2 3 5 7 8 11 12 15 +0 1 2 3 5 7 8 11 13 14 +0 1 2 3 5 7 8 11 13 15 +0 1 2 3 5 7 8 11 14 15 +0 1 2 3 5 7 8 12 13 14 +0 1 2 3 5 7 8 12 13 15 +0 1 2 3 5 7 8 12 14 15 +0 1 2 3 5 7 8 13 14 15 +0 1 2 3 5 7 9 10 11 12 +0 1 2 3 5 7 9 10 11 13 +0 1 2 3 5 7 9 10 11 14 +0 1 2 3 5 7 9 10 11 15 +0 1 2 3 5 7 9 10 12 13 +0 1 2 3 5 7 9 10 12 14 +0 1 2 3 5 7 9 10 12 15 +0 1 2 3 5 7 9 10 13 14 +0 1 2 3 5 7 9 10 13 15 +0 1 2 3 5 7 9 10 14 15 +0 1 2 3 5 7 9 11 12 13 +0 1 2 3 5 7 9 11 12 14 +0 1 2 3 5 7 9 11 12 15 +0 1 2 3 5 7 9 11 13 14 +0 1 2 3 5 7 9 11 13 15 +0 1 2 3 5 7 9 11 14 15 +0 1 2 3 5 7 9 12 13 14 +0 1 2 3 5 7 9 12 13 15 +0 1 2 3 5 7 9 12 14 15 +0 1 2 3 5 7 9 13 14 15 +0 1 2 3 5 7 10 11 12 13 +0 1 2 3 5 7 10 11 12 14 +0 1 2 3 5 7 10 11 12 15 +0 1 2 3 5 7 10 11 13 14 +0 1 2 3 5 7 10 11 13 15 +0 1 2 3 5 7 10 11 14 15 +0 1 2 3 5 7 10 12 13 14 +0 1 2 3 5 7 10 12 13 15 +0 1 2 3 5 7 10 12 14 15 +0 1 2 3 5 7 10 13 14 15 +0 1 2 3 5 7 11 12 13 14 +0 1 2 3 5 7 11 12 13 15 +0 1 2 3 5 7 11 12 14 15 +0 1 2 3 5 7 11 13 14 15 +0 1 2 3 5 7 12 13 14 15 +0 1 2 3 5 8 9 10 11 12 +0 1 2 3 5 8 9 10 11 13 +0 1 2 3 5 8 9 10 11 14 +0 1 2 3 5 8 9 10 11 15 +0 1 2 3 5 8 9 10 12 13 +0 1 2 3 5 8 9 10 12 14 +0 1 2 3 5 8 9 10 12 15 +0 1 2 3 5 8 9 10 13 14 +0 1 2 3 5 8 9 10 13 15 +0 1 2 3 5 8 9 10 14 15 +0 1 2 3 5 8 9 11 12 13 +0 1 2 3 5 8 9 11 12 14 +0 1 2 3 5 8 9 11 12 15 +0 1 2 3 5 8 9 11 13 14 +0 1 2 3 5 8 9 11 13 15 +0 1 2 3 5 8 9 11 14 15 +0 1 2 3 5 8 9 12 13 14 +0 1 2 3 5 8 9 12 13 15 +0 1 2 3 5 8 9 12 14 15 +0 1 2 3 5 8 9 13 14 15 +0 1 2 3 5 8 10 11 12 13 +0 1 2 3 5 8 10 11 12 14 +0 1 2 3 5 8 10 11 12 15 +0 1 2 3 5 8 10 11 13 14 +0 1 2 3 5 8 10 11 13 15 +0 1 2 3 5 8 10 11 14 15 +0 1 2 3 5 8 10 12 13 14 +0 1 2 3 5 8 10 12 13 15 +0 1 2 3 5 8 10 12 14 15 +0 1 2 3 5 8 10 13 14 15 +0 1 2 3 5 8 11 12 13 14 +0 1 2 3 5 8 11 12 13 15 +0 1 2 3 5 8 11 12 14 15 +0 1 2 3 5 8 11 13 14 15 +0 1 2 3 5 8 12 13 14 15 +0 1 2 3 5 9 10 11 12 13 +0 1 2 3 5 9 10 11 12 14 +0 1 2 3 5 9 10 11 12 15 +0 1 2 3 5 9 10 11 13 14 +0 1 2 3 5 9 10 11 13 15 +0 1 2 3 5 9 10 11 14 15 +0 1 2 3 5 9 10 12 13 14 +0 1 2 3 5 9 10 12 13 15 +0 1 2 3 5 9 10 12 14 15 +0 1 2 3 5 9 10 13 14 15 +0 1 2 3 5 9 11 12 13 14 +0 1 2 3 5 9 11 12 13 15 +0 1 2 3 5 9 11 12 14 15 +0 1 2 3 5 9 11 13 14 15 +0 1 2 3 5 9 12 13 14 15 +0 1 2 3 5 10 11 12 13 14 +0 1 2 3 5 10 11 12 13 15 +0 1 2 3 5 10 11 12 14 15 +0 1 2 3 5 10 11 13 14 15 +0 1 2 3 5 10 12 13 14 15 +0 1 2 3 5 11 12 13 14 15 +0 1 2 3 6 7 8 9 10 11 +0 1 2 3 6 7 8 9 10 12 +0 1 2 3 6 7 8 9 10 13 +0 1 2 3 6 7 8 9 10 14 +0 1 2 3 6 7 8 9 10 15 +0 1 2 3 6 7 8 9 11 12 +0 1 2 3 6 7 8 9 11 13 +0 1 2 3 6 7 8 9 11 14 +0 1 2 3 6 7 8 9 11 15 +0 1 2 3 6 7 8 9 12 13 +0 1 2 3 6 7 8 9 12 14 +0 1 2 3 6 7 8 9 12 15 +0 1 2 3 6 7 8 9 13 14 +0 1 2 3 6 7 8 9 13 15 +0 1 2 3 6 7 8 9 14 15 +0 1 2 3 6 7 8 10 11 12 +0 1 2 3 6 7 8 10 11 13 +0 1 2 3 6 7 8 10 11 14 +0 1 2 3 6 7 8 10 11 15 +0 1 2 3 6 7 8 10 12 13 +0 1 2 3 6 7 8 10 12 14 +0 1 2 3 6 7 8 10 12 15 +0 1 2 3 6 7 8 10 13 14 +0 1 2 3 6 7 8 10 13 15 +0 1 2 3 6 7 8 10 14 15 +0 1 2 3 6 7 8 11 12 13 +0 1 2 3 6 7 8 11 12 14 +0 1 2 3 6 7 8 11 12 15 +0 1 2 3 6 7 8 11 13 14 +0 1 2 3 6 7 8 11 13 15 +0 1 2 3 6 7 8 11 14 15 +0 1 2 3 6 7 8 12 13 14 +0 1 2 3 6 7 8 12 13 15 +0 1 2 3 6 7 8 12 14 15 +0 1 2 3 6 7 8 13 14 15 +0 1 2 3 6 7 9 10 11 12 +0 1 2 3 6 7 9 10 11 13 +0 1 2 3 6 7 9 10 11 14 +0 1 2 3 6 7 9 10 11 15 +0 1 2 3 6 7 9 10 12 13 +0 1 2 3 6 7 9 10 12 14 +0 1 2 3 6 7 9 10 12 15 +0 1 2 3 6 7 9 10 13 14 +0 1 2 3 6 7 9 10 13 15 +0 1 2 3 6 7 9 10 14 15 +0 1 2 3 6 7 9 11 12 13 +0 1 2 3 6 7 9 11 12 14 +0 1 2 3 6 7 9 11 12 15 +0 1 2 3 6 7 9 11 13 14 +0 1 2 3 6 7 9 11 13 15 +0 1 2 3 6 7 9 11 14 15 +0 1 2 3 6 7 9 12 13 14 +0 1 2 3 6 7 9 12 13 15 +0 1 2 3 6 7 9 12 14 15 +0 1 2 3 6 7 9 13 14 15 +0 1 2 3 6 7 10 11 12 13 +0 1 2 3 6 7 10 11 12 14 +0 1 2 3 6 7 10 11 12 15 +0 1 2 3 6 7 10 11 13 14 +0 1 2 3 6 7 10 11 13 15 +0 1 2 3 6 7 10 11 14 15 +0 1 2 3 6 7 10 12 13 14 +0 1 2 3 6 7 10 12 13 15 +0 1 2 3 6 7 10 12 14 15 +0 1 2 3 6 7 10 13 14 15 +0 1 2 3 6 7 11 12 13 14 +0 1 2 3 6 7 11 12 13 15 +0 1 2 3 6 7 11 12 14 15 +0 1 2 3 6 7 11 13 14 15 +0 1 2 3 6 7 12 13 14 15 +0 1 2 3 6 8 9 10 11 12 +0 1 2 3 6 8 9 10 11 13 +0 1 2 3 6 8 9 10 11 14 +0 1 2 3 6 8 9 10 11 15 +0 1 2 3 6 8 9 10 12 13 +0 1 2 3 6 8 9 10 12 14 +0 1 2 3 6 8 9 10 12 15 +0 1 2 3 6 8 9 10 13 14 +0 1 2 3 6 8 9 10 13 15 +0 1 2 3 6 8 9 10 14 15 +0 1 2 3 6 8 9 11 12 13 +0 1 2 3 6 8 9 11 12 14 +0 1 2 3 6 8 9 11 12 15 +0 1 2 3 6 8 9 11 13 14 +0 1 2 3 6 8 9 11 13 15 +0 1 2 3 6 8 9 11 14 15 +0 1 2 3 6 8 9 12 13 14 +0 1 2 3 6 8 9 12 13 15 +0 1 2 3 6 8 9 12 14 15 +0 1 2 3 6 8 9 13 14 15 +0 1 2 3 6 8 10 11 12 13 +0 1 2 3 6 8 10 11 12 14 +0 1 2 3 6 8 10 11 12 15 +0 1 2 3 6 8 10 11 13 14 +0 1 2 3 6 8 10 11 13 15 +0 1 2 3 6 8 10 11 14 15 +0 1 2 3 6 8 10 12 13 14 +0 1 2 3 6 8 10 12 13 15 +0 1 2 3 6 8 10 12 14 15 +0 1 2 3 6 8 10 13 14 15 +0 1 2 3 6 8 11 12 13 14 +0 1 2 3 6 8 11 12 13 15 +0 1 2 3 6 8 11 12 14 15 +0 1 2 3 6 8 11 13 14 15 +0 1 2 3 6 8 12 13 14 15 +0 1 2 3 6 9 10 11 12 13 +0 1 2 3 6 9 10 11 12 14 +0 1 2 3 6 9 10 11 12 15 +0 1 2 3 6 9 10 11 13 14 +0 1 2 3 6 9 10 11 13 15 +0 1 2 3 6 9 10 11 14 15 +0 1 2 3 6 9 10 12 13 14 +0 1 2 3 6 9 10 12 13 15 +0 1 2 3 6 9 10 12 14 15 +0 1 2 3 6 9 10 13 14 15 +0 1 2 3 6 9 11 12 13 14 +0 1 2 3 6 9 11 12 13 15 +0 1 2 3 6 9 11 12 14 15 +0 1 2 3 6 9 11 13 14 15 +0 1 2 3 6 9 12 13 14 15 +0 1 2 3 6 10 11 12 13 14 +0 1 2 3 6 10 11 12 13 15 +0 1 2 3 6 10 11 12 14 15 +0 1 2 3 6 10 11 13 14 15 +0 1 2 3 6 10 12 13 14 15 +0 1 2 3 6 11 12 13 14 15 +0 1 2 3 7 8 9 10 11 12 +0 1 2 3 7 8 9 10 11 13 +0 1 2 3 7 8 9 10 11 14 +0 1 2 3 7 8 9 10 11 15 +0 1 2 3 7 8 9 10 12 13 +0 1 2 3 7 8 9 10 12 14 +0 1 2 3 7 8 9 10 12 15 +0 1 2 3 7 8 9 10 13 14 +0 1 2 3 7 8 9 10 13 15 +0 1 2 3 7 8 9 10 14 15 +0 1 2 3 7 8 9 11 12 13 +0 1 2 3 7 8 9 11 12 14 +0 1 2 3 7 8 9 11 12 15 +0 1 2 3 7 8 9 11 13 14 +0 1 2 3 7 8 9 11 13 15 +0 1 2 3 7 8 9 11 14 15 +0 1 2 3 7 8 9 12 13 14 +0 1 2 3 7 8 9 12 13 15 +0 1 2 3 7 8 9 12 14 15 +0 1 2 3 7 8 9 13 14 15 +0 1 2 3 7 8 10 11 12 13 +0 1 2 3 7 8 10 11 12 14 +0 1 2 3 7 8 10 11 12 15 +0 1 2 3 7 8 10 11 13 14 +0 1 2 3 7 8 10 11 13 15 +0 1 2 3 7 8 10 11 14 15 +0 1 2 3 7 8 10 12 13 14 +0 1 2 3 7 8 10 12 13 15 +0 1 2 3 7 8 10 12 14 15 +0 1 2 3 7 8 10 13 14 15 +0 1 2 3 7 8 11 12 13 14 +0 1 2 3 7 8 11 12 13 15 +0 1 2 3 7 8 11 12 14 15 +0 1 2 3 7 8 11 13 14 15 +0 1 2 3 7 8 12 13 14 15 +0 1 2 3 7 9 10 11 12 13 +0 1 2 3 7 9 10 11 12 14 +0 1 2 3 7 9 10 11 12 15 +0 1 2 3 7 9 10 11 13 14 +0 1 2 3 7 9 10 11 13 15 +0 1 2 3 7 9 10 11 14 15 +0 1 2 3 7 9 10 12 13 14 +0 1 2 3 7 9 10 12 13 15 +0 1 2 3 7 9 10 12 14 15 +0 1 2 3 7 9 10 13 14 15 +0 1 2 3 7 9 11 12 13 14 +0 1 2 3 7 9 11 12 13 15 +0 1 2 3 7 9 11 12 14 15 +0 1 2 3 7 9 11 13 14 15 +0 1 2 3 7 9 12 13 14 15 +0 1 2 3 7 10 11 12 13 14 +0 1 2 3 7 10 11 12 13 15 +0 1 2 3 7 10 11 12 14 15 +0 1 2 3 7 10 11 13 14 15 +0 1 2 3 7 10 12 13 14 15 +0 1 2 3 7 11 12 13 14 15 +0 1 2 3 8 9 10 11 12 13 +0 1 2 3 8 9 10 11 12 14 +0 1 2 3 8 9 10 11 12 15 +0 1 2 3 8 9 10 11 13 14 +0 1 2 3 8 9 10 11 13 15 +0 1 2 3 8 9 10 11 14 15 +0 1 2 3 8 9 10 12 13 14 +0 1 2 3 8 9 10 12 13 15 +0 1 2 3 8 9 10 12 14 15 +0 1 2 3 8 9 10 13 14 15 +0 1 2 3 8 9 11 12 13 14 +0 1 2 3 8 9 11 12 13 15 +0 1 2 3 8 9 11 12 14 15 +0 1 2 3 8 9 11 13 14 15 +0 1 2 3 8 9 12 13 14 15 +0 1 2 3 8 10 11 12 13 14 +0 1 2 3 8 10 11 12 13 15 +0 1 2 3 8 10 11 12 14 15 +0 1 2 3 8 10 11 13 14 15 +0 1 2 3 8 10 12 13 14 15 +0 1 2 3 8 11 12 13 14 15 +0 1 2 3 9 10 11 12 13 14 +0 1 2 3 9 10 11 12 13 15 +0 1 2 3 9 10 11 12 14 15 +0 1 2 3 9 10 11 13 14 15 +0 1 2 3 9 10 12 13 14 15 +0 1 2 3 9 11 12 13 14 15 +0 1 2 3 10 11 12 13 14 15 +0 1 2 4 5 6 7 8 9 10 +0 1 2 4 5 6 7 8 9 11 +0 1 2 4 5 6 7 8 9 12 +0 1 2 4 5 6 7 8 9 13 +0 1 2 4 5 6 7 8 9 14 +0 1 2 4 5 6 7 8 9 15 +0 1 2 4 5 6 7 8 10 11 +0 1 2 4 5 6 7 8 10 12 +0 1 2 4 5 6 7 8 10 13 +0 1 2 4 5 6 7 8 10 14 +0 1 2 4 5 6 7 8 10 15 +0 1 2 4 5 6 7 8 11 12 +0 1 2 4 5 6 7 8 11 13 +0 1 2 4 5 6 7 8 11 14 +0 1 2 4 5 6 7 8 11 15 +0 1 2 4 5 6 7 8 12 13 +0 1 2 4 5 6 7 8 12 14 +0 1 2 4 5 6 7 8 12 15 +0 1 2 4 5 6 7 8 13 14 +0 1 2 4 5 6 7 8 13 15 +0 1 2 4 5 6 7 8 14 15 +0 1 2 4 5 6 7 9 10 11 +0 1 2 4 5 6 7 9 10 12 +0 1 2 4 5 6 7 9 10 13 +0 1 2 4 5 6 7 9 10 14 +0 1 2 4 5 6 7 9 10 15 +0 1 2 4 5 6 7 9 11 12 +0 1 2 4 5 6 7 9 11 13 +0 1 2 4 5 6 7 9 11 14 +0 1 2 4 5 6 7 9 11 15 +0 1 2 4 5 6 7 9 12 13 +0 1 2 4 5 6 7 9 12 14 +0 1 2 4 5 6 7 9 12 15 +0 1 2 4 5 6 7 9 13 14 +0 1 2 4 5 6 7 9 13 15 +0 1 2 4 5 6 7 9 14 15 +0 1 2 4 5 6 7 10 11 12 +0 1 2 4 5 6 7 10 11 13 +0 1 2 4 5 6 7 10 11 14 +0 1 2 4 5 6 7 10 11 15 +0 1 2 4 5 6 7 10 12 13 +0 1 2 4 5 6 7 10 12 14 +0 1 2 4 5 6 7 10 12 15 +0 1 2 4 5 6 7 10 13 14 +0 1 2 4 5 6 7 10 13 15 +0 1 2 4 5 6 7 10 14 15 +0 1 2 4 5 6 7 11 12 13 +0 1 2 4 5 6 7 11 12 14 +0 1 2 4 5 6 7 11 12 15 +0 1 2 4 5 6 7 11 13 14 +0 1 2 4 5 6 7 11 13 15 +0 1 2 4 5 6 7 11 14 15 +0 1 2 4 5 6 7 12 13 14 +0 1 2 4 5 6 7 12 13 15 +0 1 2 4 5 6 7 12 14 15 +0 1 2 4 5 6 7 13 14 15 +0 1 2 4 5 6 8 9 10 11 +0 1 2 4 5 6 8 9 10 12 +0 1 2 4 5 6 8 9 10 13 +0 1 2 4 5 6 8 9 10 14 +0 1 2 4 5 6 8 9 10 15 +0 1 2 4 5 6 8 9 11 12 +0 1 2 4 5 6 8 9 11 13 +0 1 2 4 5 6 8 9 11 14 +0 1 2 4 5 6 8 9 11 15 +0 1 2 4 5 6 8 9 12 13 +0 1 2 4 5 6 8 9 12 14 +0 1 2 4 5 6 8 9 12 15 +0 1 2 4 5 6 8 9 13 14 +0 1 2 4 5 6 8 9 13 15 +0 1 2 4 5 6 8 9 14 15 +0 1 2 4 5 6 8 10 11 12 +0 1 2 4 5 6 8 10 11 13 +0 1 2 4 5 6 8 10 11 14 +0 1 2 4 5 6 8 10 11 15 +0 1 2 4 5 6 8 10 12 13 +0 1 2 4 5 6 8 10 12 14 +0 1 2 4 5 6 8 10 12 15 +0 1 2 4 5 6 8 10 13 14 +0 1 2 4 5 6 8 10 13 15 +0 1 2 4 5 6 8 10 14 15 +0 1 2 4 5 6 8 11 12 13 +0 1 2 4 5 6 8 11 12 14 +0 1 2 4 5 6 8 11 12 15 +0 1 2 4 5 6 8 11 13 14 +0 1 2 4 5 6 8 11 13 15 +0 1 2 4 5 6 8 11 14 15 +0 1 2 4 5 6 8 12 13 14 +0 1 2 4 5 6 8 12 13 15 +0 1 2 4 5 6 8 12 14 15 +0 1 2 4 5 6 8 13 14 15 +0 1 2 4 5 6 9 10 11 12 +0 1 2 4 5 6 9 10 11 13 +0 1 2 4 5 6 9 10 11 14 +0 1 2 4 5 6 9 10 11 15 +0 1 2 4 5 6 9 10 12 13 +0 1 2 4 5 6 9 10 12 14 +0 1 2 4 5 6 9 10 12 15 +0 1 2 4 5 6 9 10 13 14 +0 1 2 4 5 6 9 10 13 15 +0 1 2 4 5 6 9 10 14 15 +0 1 2 4 5 6 9 11 12 13 +0 1 2 4 5 6 9 11 12 14 +0 1 2 4 5 6 9 11 12 15 +0 1 2 4 5 6 9 11 13 14 +0 1 2 4 5 6 9 11 13 15 +0 1 2 4 5 6 9 11 14 15 +0 1 2 4 5 6 9 12 13 14 +0 1 2 4 5 6 9 12 13 15 +0 1 2 4 5 6 9 12 14 15 +0 1 2 4 5 6 9 13 14 15 +0 1 2 4 5 6 10 11 12 13 +0 1 2 4 5 6 10 11 12 14 +0 1 2 4 5 6 10 11 12 15 +0 1 2 4 5 6 10 11 13 14 +0 1 2 4 5 6 10 11 13 15 +0 1 2 4 5 6 10 11 14 15 +0 1 2 4 5 6 10 12 13 14 +0 1 2 4 5 6 10 12 13 15 +0 1 2 4 5 6 10 12 14 15 +0 1 2 4 5 6 10 13 14 15 +0 1 2 4 5 6 11 12 13 14 +0 1 2 4 5 6 11 12 13 15 +0 1 2 4 5 6 11 12 14 15 +0 1 2 4 5 6 11 13 14 15 +0 1 2 4 5 6 12 13 14 15 +0 1 2 4 5 7 8 9 10 11 +0 1 2 4 5 7 8 9 10 12 +0 1 2 4 5 7 8 9 10 13 +0 1 2 4 5 7 8 9 10 14 +0 1 2 4 5 7 8 9 10 15 +0 1 2 4 5 7 8 9 11 12 +0 1 2 4 5 7 8 9 11 13 +0 1 2 4 5 7 8 9 11 14 +0 1 2 4 5 7 8 9 11 15 +0 1 2 4 5 7 8 9 12 13 +0 1 2 4 5 7 8 9 12 14 +0 1 2 4 5 7 8 9 12 15 +0 1 2 4 5 7 8 9 13 14 +0 1 2 4 5 7 8 9 13 15 +0 1 2 4 5 7 8 9 14 15 +0 1 2 4 5 7 8 10 11 12 +0 1 2 4 5 7 8 10 11 13 +0 1 2 4 5 7 8 10 11 14 +0 1 2 4 5 7 8 10 11 15 +0 1 2 4 5 7 8 10 12 13 +0 1 2 4 5 7 8 10 12 14 +0 1 2 4 5 7 8 10 12 15 +0 1 2 4 5 7 8 10 13 14 +0 1 2 4 5 7 8 10 13 15 +0 1 2 4 5 7 8 10 14 15 +0 1 2 4 5 7 8 11 12 13 +0 1 2 4 5 7 8 11 12 14 +0 1 2 4 5 7 8 11 12 15 +0 1 2 4 5 7 8 11 13 14 +0 1 2 4 5 7 8 11 13 15 +0 1 2 4 5 7 8 11 14 15 +0 1 2 4 5 7 8 12 13 14 +0 1 2 4 5 7 8 12 13 15 +0 1 2 4 5 7 8 12 14 15 +0 1 2 4 5 7 8 13 14 15 +0 1 2 4 5 7 9 10 11 12 +0 1 2 4 5 7 9 10 11 13 +0 1 2 4 5 7 9 10 11 14 +0 1 2 4 5 7 9 10 11 15 +0 1 2 4 5 7 9 10 12 13 +0 1 2 4 5 7 9 10 12 14 +0 1 2 4 5 7 9 10 12 15 +0 1 2 4 5 7 9 10 13 14 +0 1 2 4 5 7 9 10 13 15 +0 1 2 4 5 7 9 10 14 15 +0 1 2 4 5 7 9 11 12 13 +0 1 2 4 5 7 9 11 12 14 +0 1 2 4 5 7 9 11 12 15 +0 1 2 4 5 7 9 11 13 14 +0 1 2 4 5 7 9 11 13 15 +0 1 2 4 5 7 9 11 14 15 +0 1 2 4 5 7 9 12 13 14 +0 1 2 4 5 7 9 12 13 15 +0 1 2 4 5 7 9 12 14 15 +0 1 2 4 5 7 9 13 14 15 +0 1 2 4 5 7 10 11 12 13 +0 1 2 4 5 7 10 11 12 14 +0 1 2 4 5 7 10 11 12 15 +0 1 2 4 5 7 10 11 13 14 +0 1 2 4 5 7 10 11 13 15 +0 1 2 4 5 7 10 11 14 15 +0 1 2 4 5 7 10 12 13 14 +0 1 2 4 5 7 10 12 13 15 +0 1 2 4 5 7 10 12 14 15 +0 1 2 4 5 7 10 13 14 15 +0 1 2 4 5 7 11 12 13 14 +0 1 2 4 5 7 11 12 13 15 +0 1 2 4 5 7 11 12 14 15 +0 1 2 4 5 7 11 13 14 15 +0 1 2 4 5 7 12 13 14 15 +0 1 2 4 5 8 9 10 11 12 +0 1 2 4 5 8 9 10 11 13 +0 1 2 4 5 8 9 10 11 14 +0 1 2 4 5 8 9 10 11 15 +0 1 2 4 5 8 9 10 12 13 +0 1 2 4 5 8 9 10 12 14 +0 1 2 4 5 8 9 10 12 15 +0 1 2 4 5 8 9 10 13 14 +0 1 2 4 5 8 9 10 13 15 +0 1 2 4 5 8 9 10 14 15 +0 1 2 4 5 8 9 11 12 13 +0 1 2 4 5 8 9 11 12 14 +0 1 2 4 5 8 9 11 12 15 +0 1 2 4 5 8 9 11 13 14 +0 1 2 4 5 8 9 11 13 15 +0 1 2 4 5 8 9 11 14 15 +0 1 2 4 5 8 9 12 13 14 +0 1 2 4 5 8 9 12 13 15 +0 1 2 4 5 8 9 12 14 15 +0 1 2 4 5 8 9 13 14 15 +0 1 2 4 5 8 10 11 12 13 +0 1 2 4 5 8 10 11 12 14 +0 1 2 4 5 8 10 11 12 15 +0 1 2 4 5 8 10 11 13 14 +0 1 2 4 5 8 10 11 13 15 +0 1 2 4 5 8 10 11 14 15 +0 1 2 4 5 8 10 12 13 14 +0 1 2 4 5 8 10 12 13 15 +0 1 2 4 5 8 10 12 14 15 +0 1 2 4 5 8 10 13 14 15 +0 1 2 4 5 8 11 12 13 14 +0 1 2 4 5 8 11 12 13 15 +0 1 2 4 5 8 11 12 14 15 +0 1 2 4 5 8 11 13 14 15 +0 1 2 4 5 8 12 13 14 15 +0 1 2 4 5 9 10 11 12 13 +0 1 2 4 5 9 10 11 12 14 +0 1 2 4 5 9 10 11 12 15 +0 1 2 4 5 9 10 11 13 14 +0 1 2 4 5 9 10 11 13 15 +0 1 2 4 5 9 10 11 14 15 +0 1 2 4 5 9 10 12 13 14 +0 1 2 4 5 9 10 12 13 15 +0 1 2 4 5 9 10 12 14 15 +0 1 2 4 5 9 10 13 14 15 +0 1 2 4 5 9 11 12 13 14 +0 1 2 4 5 9 11 12 13 15 +0 1 2 4 5 9 11 12 14 15 +0 1 2 4 5 9 11 13 14 15 +0 1 2 4 5 9 12 13 14 15 +0 1 2 4 5 10 11 12 13 14 +0 1 2 4 5 10 11 12 13 15 +0 1 2 4 5 10 11 12 14 15 +0 1 2 4 5 10 11 13 14 15 +0 1 2 4 5 10 12 13 14 15 +0 1 2 4 5 11 12 13 14 15 +0 1 2 4 6 7 8 9 10 11 +0 1 2 4 6 7 8 9 10 12 +0 1 2 4 6 7 8 9 10 13 +0 1 2 4 6 7 8 9 10 14 +0 1 2 4 6 7 8 9 10 15 +0 1 2 4 6 7 8 9 11 12 +0 1 2 4 6 7 8 9 11 13 +0 1 2 4 6 7 8 9 11 14 +0 1 2 4 6 7 8 9 11 15 +0 1 2 4 6 7 8 9 12 13 +0 1 2 4 6 7 8 9 12 14 +0 1 2 4 6 7 8 9 12 15 +0 1 2 4 6 7 8 9 13 14 +0 1 2 4 6 7 8 9 13 15 +0 1 2 4 6 7 8 9 14 15 +0 1 2 4 6 7 8 10 11 12 +0 1 2 4 6 7 8 10 11 13 +0 1 2 4 6 7 8 10 11 14 +0 1 2 4 6 7 8 10 11 15 +0 1 2 4 6 7 8 10 12 13 +0 1 2 4 6 7 8 10 12 14 +0 1 2 4 6 7 8 10 12 15 +0 1 2 4 6 7 8 10 13 14 +0 1 2 4 6 7 8 10 13 15 +0 1 2 4 6 7 8 10 14 15 +0 1 2 4 6 7 8 11 12 13 +0 1 2 4 6 7 8 11 12 14 +0 1 2 4 6 7 8 11 12 15 +0 1 2 4 6 7 8 11 13 14 +0 1 2 4 6 7 8 11 13 15 +0 1 2 4 6 7 8 11 14 15 +0 1 2 4 6 7 8 12 13 14 +0 1 2 4 6 7 8 12 13 15 +0 1 2 4 6 7 8 12 14 15 +0 1 2 4 6 7 8 13 14 15 +0 1 2 4 6 7 9 10 11 12 +0 1 2 4 6 7 9 10 11 13 +0 1 2 4 6 7 9 10 11 14 +0 1 2 4 6 7 9 10 11 15 +0 1 2 4 6 7 9 10 12 13 +0 1 2 4 6 7 9 10 12 14 +0 1 2 4 6 7 9 10 12 15 +0 1 2 4 6 7 9 10 13 14 +0 1 2 4 6 7 9 10 13 15 +0 1 2 4 6 7 9 10 14 15 +0 1 2 4 6 7 9 11 12 13 +0 1 2 4 6 7 9 11 12 14 +0 1 2 4 6 7 9 11 12 15 +0 1 2 4 6 7 9 11 13 14 +0 1 2 4 6 7 9 11 13 15 +0 1 2 4 6 7 9 11 14 15 +0 1 2 4 6 7 9 12 13 14 +0 1 2 4 6 7 9 12 13 15 +0 1 2 4 6 7 9 12 14 15 +0 1 2 4 6 7 9 13 14 15 +0 1 2 4 6 7 10 11 12 13 +0 1 2 4 6 7 10 11 12 14 +0 1 2 4 6 7 10 11 12 15 +0 1 2 4 6 7 10 11 13 14 +0 1 2 4 6 7 10 11 13 15 +0 1 2 4 6 7 10 11 14 15 +0 1 2 4 6 7 10 12 13 14 +0 1 2 4 6 7 10 12 13 15 +0 1 2 4 6 7 10 12 14 15 +0 1 2 4 6 7 10 13 14 15 +0 1 2 4 6 7 11 12 13 14 +0 1 2 4 6 7 11 12 13 15 +0 1 2 4 6 7 11 12 14 15 +0 1 2 4 6 7 11 13 14 15 +0 1 2 4 6 7 12 13 14 15 +0 1 2 4 6 8 9 10 11 12 +0 1 2 4 6 8 9 10 11 13 +0 1 2 4 6 8 9 10 11 14 +0 1 2 4 6 8 9 10 11 15 +0 1 2 4 6 8 9 10 12 13 +0 1 2 4 6 8 9 10 12 14 +0 1 2 4 6 8 9 10 12 15 +0 1 2 4 6 8 9 10 13 14 +0 1 2 4 6 8 9 10 13 15 +0 1 2 4 6 8 9 10 14 15 +0 1 2 4 6 8 9 11 12 13 +0 1 2 4 6 8 9 11 12 14 +0 1 2 4 6 8 9 11 12 15 +0 1 2 4 6 8 9 11 13 14 +0 1 2 4 6 8 9 11 13 15 +0 1 2 4 6 8 9 11 14 15 +0 1 2 4 6 8 9 12 13 14 +0 1 2 4 6 8 9 12 13 15 +0 1 2 4 6 8 9 12 14 15 +0 1 2 4 6 8 9 13 14 15 +0 1 2 4 6 8 10 11 12 13 +0 1 2 4 6 8 10 11 12 14 +0 1 2 4 6 8 10 11 12 15 +0 1 2 4 6 8 10 11 13 14 +0 1 2 4 6 8 10 11 13 15 +0 1 2 4 6 8 10 11 14 15 +0 1 2 4 6 8 10 12 13 14 +0 1 2 4 6 8 10 12 13 15 +0 1 2 4 6 8 10 12 14 15 +0 1 2 4 6 8 10 13 14 15 +0 1 2 4 6 8 11 12 13 14 +0 1 2 4 6 8 11 12 13 15 +0 1 2 4 6 8 11 12 14 15 +0 1 2 4 6 8 11 13 14 15 +0 1 2 4 6 8 12 13 14 15 +0 1 2 4 6 9 10 11 12 13 +0 1 2 4 6 9 10 11 12 14 +0 1 2 4 6 9 10 11 12 15 +0 1 2 4 6 9 10 11 13 14 +0 1 2 4 6 9 10 11 13 15 +0 1 2 4 6 9 10 11 14 15 +0 1 2 4 6 9 10 12 13 14 +0 1 2 4 6 9 10 12 13 15 +0 1 2 4 6 9 10 12 14 15 +0 1 2 4 6 9 10 13 14 15 +0 1 2 4 6 9 11 12 13 14 +0 1 2 4 6 9 11 12 13 15 +0 1 2 4 6 9 11 12 14 15 +0 1 2 4 6 9 11 13 14 15 +0 1 2 4 6 9 12 13 14 15 +0 1 2 4 6 10 11 12 13 14 +0 1 2 4 6 10 11 12 13 15 +0 1 2 4 6 10 11 12 14 15 +0 1 2 4 6 10 11 13 14 15 +0 1 2 4 6 10 12 13 14 15 +0 1 2 4 6 11 12 13 14 15 +0 1 2 4 7 8 9 10 11 12 +0 1 2 4 7 8 9 10 11 13 +0 1 2 4 7 8 9 10 11 14 +0 1 2 4 7 8 9 10 11 15 +0 1 2 4 7 8 9 10 12 13 +0 1 2 4 7 8 9 10 12 14 +0 1 2 4 7 8 9 10 12 15 +0 1 2 4 7 8 9 10 13 14 +0 1 2 4 7 8 9 10 13 15 +0 1 2 4 7 8 9 10 14 15 +0 1 2 4 7 8 9 11 12 13 +0 1 2 4 7 8 9 11 12 14 +0 1 2 4 7 8 9 11 12 15 +0 1 2 4 7 8 9 11 13 14 +0 1 2 4 7 8 9 11 13 15 +0 1 2 4 7 8 9 11 14 15 +0 1 2 4 7 8 9 12 13 14 +0 1 2 4 7 8 9 12 13 15 +0 1 2 4 7 8 9 12 14 15 +0 1 2 4 7 8 9 13 14 15 +0 1 2 4 7 8 10 11 12 13 +0 1 2 4 7 8 10 11 12 14 +0 1 2 4 7 8 10 11 12 15 +0 1 2 4 7 8 10 11 13 14 +0 1 2 4 7 8 10 11 13 15 +0 1 2 4 7 8 10 11 14 15 +0 1 2 4 7 8 10 12 13 14 +0 1 2 4 7 8 10 12 13 15 +0 1 2 4 7 8 10 12 14 15 +0 1 2 4 7 8 10 13 14 15 +0 1 2 4 7 8 11 12 13 14 +0 1 2 4 7 8 11 12 13 15 +0 1 2 4 7 8 11 12 14 15 +0 1 2 4 7 8 11 13 14 15 +0 1 2 4 7 8 12 13 14 15 +0 1 2 4 7 9 10 11 12 13 +0 1 2 4 7 9 10 11 12 14 +0 1 2 4 7 9 10 11 12 15 +0 1 2 4 7 9 10 11 13 14 +0 1 2 4 7 9 10 11 13 15 +0 1 2 4 7 9 10 11 14 15 +0 1 2 4 7 9 10 12 13 14 +0 1 2 4 7 9 10 12 13 15 +0 1 2 4 7 9 10 12 14 15 +0 1 2 4 7 9 10 13 14 15 +0 1 2 4 7 9 11 12 13 14 +0 1 2 4 7 9 11 12 13 15 +0 1 2 4 7 9 11 12 14 15 +0 1 2 4 7 9 11 13 14 15 +0 1 2 4 7 9 12 13 14 15 +0 1 2 4 7 10 11 12 13 14 +0 1 2 4 7 10 11 12 13 15 +0 1 2 4 7 10 11 12 14 15 +0 1 2 4 7 10 11 13 14 15 +0 1 2 4 7 10 12 13 14 15 +0 1 2 4 7 11 12 13 14 15 +0 1 2 4 8 9 10 11 12 13 +0 1 2 4 8 9 10 11 12 14 +0 1 2 4 8 9 10 11 12 15 +0 1 2 4 8 9 10 11 13 14 +0 1 2 4 8 9 10 11 13 15 +0 1 2 4 8 9 10 11 14 15 +0 1 2 4 8 9 10 12 13 14 +0 1 2 4 8 9 10 12 13 15 +0 1 2 4 8 9 10 12 14 15 +0 1 2 4 8 9 10 13 14 15 +0 1 2 4 8 9 11 12 13 14 +0 1 2 4 8 9 11 12 13 15 +0 1 2 4 8 9 11 12 14 15 +0 1 2 4 8 9 11 13 14 15 +0 1 2 4 8 9 12 13 14 15 +0 1 2 4 8 10 11 12 13 14 +0 1 2 4 8 10 11 12 13 15 +0 1 2 4 8 10 11 12 14 15 +0 1 2 4 8 10 11 13 14 15 +0 1 2 4 8 10 12 13 14 15 +0 1 2 4 8 11 12 13 14 15 +0 1 2 4 9 10 11 12 13 14 +0 1 2 4 9 10 11 12 13 15 +0 1 2 4 9 10 11 12 14 15 +0 1 2 4 9 10 11 13 14 15 +0 1 2 4 9 10 12 13 14 15 +0 1 2 4 9 11 12 13 14 15 +0 1 2 4 10 11 12 13 14 15 +0 1 2 5 6 7 8 9 10 11 +0 1 2 5 6 7 8 9 10 12 +0 1 2 5 6 7 8 9 10 13 +0 1 2 5 6 7 8 9 10 14 +0 1 2 5 6 7 8 9 10 15 +0 1 2 5 6 7 8 9 11 12 +0 1 2 5 6 7 8 9 11 13 +0 1 2 5 6 7 8 9 11 14 +0 1 2 5 6 7 8 9 11 15 +0 1 2 5 6 7 8 9 12 13 +0 1 2 5 6 7 8 9 12 14 +0 1 2 5 6 7 8 9 12 15 +0 1 2 5 6 7 8 9 13 14 +0 1 2 5 6 7 8 9 13 15 +0 1 2 5 6 7 8 9 14 15 +0 1 2 5 6 7 8 10 11 12 +0 1 2 5 6 7 8 10 11 13 +0 1 2 5 6 7 8 10 11 14 +0 1 2 5 6 7 8 10 11 15 +0 1 2 5 6 7 8 10 12 13 +0 1 2 5 6 7 8 10 12 14 +0 1 2 5 6 7 8 10 12 15 +0 1 2 5 6 7 8 10 13 14 +0 1 2 5 6 7 8 10 13 15 +0 1 2 5 6 7 8 10 14 15 +0 1 2 5 6 7 8 11 12 13 +0 1 2 5 6 7 8 11 12 14 +0 1 2 5 6 7 8 11 12 15 +0 1 2 5 6 7 8 11 13 14 +0 1 2 5 6 7 8 11 13 15 +0 1 2 5 6 7 8 11 14 15 +0 1 2 5 6 7 8 12 13 14 +0 1 2 5 6 7 8 12 13 15 +0 1 2 5 6 7 8 12 14 15 +0 1 2 5 6 7 8 13 14 15 +0 1 2 5 6 7 9 10 11 12 +0 1 2 5 6 7 9 10 11 13 +0 1 2 5 6 7 9 10 11 14 +0 1 2 5 6 7 9 10 11 15 +0 1 2 5 6 7 9 10 12 13 +0 1 2 5 6 7 9 10 12 14 +0 1 2 5 6 7 9 10 12 15 +0 1 2 5 6 7 9 10 13 14 +0 1 2 5 6 7 9 10 13 15 +0 1 2 5 6 7 9 10 14 15 +0 1 2 5 6 7 9 11 12 13 +0 1 2 5 6 7 9 11 12 14 +0 1 2 5 6 7 9 11 12 15 +0 1 2 5 6 7 9 11 13 14 +0 1 2 5 6 7 9 11 13 15 +0 1 2 5 6 7 9 11 14 15 +0 1 2 5 6 7 9 12 13 14 +0 1 2 5 6 7 9 12 13 15 +0 1 2 5 6 7 9 12 14 15 +0 1 2 5 6 7 9 13 14 15 +0 1 2 5 6 7 10 11 12 13 +0 1 2 5 6 7 10 11 12 14 +0 1 2 5 6 7 10 11 12 15 +0 1 2 5 6 7 10 11 13 14 +0 1 2 5 6 7 10 11 13 15 +0 1 2 5 6 7 10 11 14 15 +0 1 2 5 6 7 10 12 13 14 +0 1 2 5 6 7 10 12 13 15 +0 1 2 5 6 7 10 12 14 15 +0 1 2 5 6 7 10 13 14 15 +0 1 2 5 6 7 11 12 13 14 +0 1 2 5 6 7 11 12 13 15 +0 1 2 5 6 7 11 12 14 15 +0 1 2 5 6 7 11 13 14 15 +0 1 2 5 6 7 12 13 14 15 +0 1 2 5 6 8 9 10 11 12 +0 1 2 5 6 8 9 10 11 13 +0 1 2 5 6 8 9 10 11 14 +0 1 2 5 6 8 9 10 11 15 +0 1 2 5 6 8 9 10 12 13 +0 1 2 5 6 8 9 10 12 14 +0 1 2 5 6 8 9 10 12 15 +0 1 2 5 6 8 9 10 13 14 +0 1 2 5 6 8 9 10 13 15 +0 1 2 5 6 8 9 10 14 15 +0 1 2 5 6 8 9 11 12 13 +0 1 2 5 6 8 9 11 12 14 +0 1 2 5 6 8 9 11 12 15 +0 1 2 5 6 8 9 11 13 14 +0 1 2 5 6 8 9 11 13 15 +0 1 2 5 6 8 9 11 14 15 +0 1 2 5 6 8 9 12 13 14 +0 1 2 5 6 8 9 12 13 15 +0 1 2 5 6 8 9 12 14 15 +0 1 2 5 6 8 9 13 14 15 +0 1 2 5 6 8 10 11 12 13 +0 1 2 5 6 8 10 11 12 14 +0 1 2 5 6 8 10 11 12 15 +0 1 2 5 6 8 10 11 13 14 +0 1 2 5 6 8 10 11 13 15 +0 1 2 5 6 8 10 11 14 15 +0 1 2 5 6 8 10 12 13 14 +0 1 2 5 6 8 10 12 13 15 +0 1 2 5 6 8 10 12 14 15 +0 1 2 5 6 8 10 13 14 15 +0 1 2 5 6 8 11 12 13 14 +0 1 2 5 6 8 11 12 13 15 +0 1 2 5 6 8 11 12 14 15 +0 1 2 5 6 8 11 13 14 15 +0 1 2 5 6 8 12 13 14 15 +0 1 2 5 6 9 10 11 12 13 +0 1 2 5 6 9 10 11 12 14 +0 1 2 5 6 9 10 11 12 15 +0 1 2 5 6 9 10 11 13 14 +0 1 2 5 6 9 10 11 13 15 +0 1 2 5 6 9 10 11 14 15 +0 1 2 5 6 9 10 12 13 14 +0 1 2 5 6 9 10 12 13 15 +0 1 2 5 6 9 10 12 14 15 +0 1 2 5 6 9 10 13 14 15 +0 1 2 5 6 9 11 12 13 14 +0 1 2 5 6 9 11 12 13 15 +0 1 2 5 6 9 11 12 14 15 +0 1 2 5 6 9 11 13 14 15 +0 1 2 5 6 9 12 13 14 15 +0 1 2 5 6 10 11 12 13 14 +0 1 2 5 6 10 11 12 13 15 +0 1 2 5 6 10 11 12 14 15 +0 1 2 5 6 10 11 13 14 15 +0 1 2 5 6 10 12 13 14 15 +0 1 2 5 6 11 12 13 14 15 +0 1 2 5 7 8 9 10 11 12 +0 1 2 5 7 8 9 10 11 13 +0 1 2 5 7 8 9 10 11 14 +0 1 2 5 7 8 9 10 11 15 +0 1 2 5 7 8 9 10 12 13 +0 1 2 5 7 8 9 10 12 14 +0 1 2 5 7 8 9 10 12 15 +0 1 2 5 7 8 9 10 13 14 +0 1 2 5 7 8 9 10 13 15 +0 1 2 5 7 8 9 10 14 15 +0 1 2 5 7 8 9 11 12 13 +0 1 2 5 7 8 9 11 12 14 +0 1 2 5 7 8 9 11 12 15 +0 1 2 5 7 8 9 11 13 14 +0 1 2 5 7 8 9 11 13 15 +0 1 2 5 7 8 9 11 14 15 +0 1 2 5 7 8 9 12 13 14 +0 1 2 5 7 8 9 12 13 15 +0 1 2 5 7 8 9 12 14 15 +0 1 2 5 7 8 9 13 14 15 +0 1 2 5 7 8 10 11 12 13 +0 1 2 5 7 8 10 11 12 14 +0 1 2 5 7 8 10 11 12 15 +0 1 2 5 7 8 10 11 13 14 +0 1 2 5 7 8 10 11 13 15 +0 1 2 5 7 8 10 11 14 15 +0 1 2 5 7 8 10 12 13 14 +0 1 2 5 7 8 10 12 13 15 +0 1 2 5 7 8 10 12 14 15 +0 1 2 5 7 8 10 13 14 15 +0 1 2 5 7 8 11 12 13 14 +0 1 2 5 7 8 11 12 13 15 +0 1 2 5 7 8 11 12 14 15 +0 1 2 5 7 8 11 13 14 15 +0 1 2 5 7 8 12 13 14 15 +0 1 2 5 7 9 10 11 12 13 +0 1 2 5 7 9 10 11 12 14 +0 1 2 5 7 9 10 11 12 15 +0 1 2 5 7 9 10 11 13 14 +0 1 2 5 7 9 10 11 13 15 +0 1 2 5 7 9 10 11 14 15 +0 1 2 5 7 9 10 12 13 14 +0 1 2 5 7 9 10 12 13 15 +0 1 2 5 7 9 10 12 14 15 +0 1 2 5 7 9 10 13 14 15 +0 1 2 5 7 9 11 12 13 14 +0 1 2 5 7 9 11 12 13 15 +0 1 2 5 7 9 11 12 14 15 +0 1 2 5 7 9 11 13 14 15 +0 1 2 5 7 9 12 13 14 15 +0 1 2 5 7 10 11 12 13 14 +0 1 2 5 7 10 11 12 13 15 +0 1 2 5 7 10 11 12 14 15 +0 1 2 5 7 10 11 13 14 15 +0 1 2 5 7 10 12 13 14 15 +0 1 2 5 7 11 12 13 14 15 +0 1 2 5 8 9 10 11 12 13 +0 1 2 5 8 9 10 11 12 14 +0 1 2 5 8 9 10 11 12 15 +0 1 2 5 8 9 10 11 13 14 +0 1 2 5 8 9 10 11 13 15 +0 1 2 5 8 9 10 11 14 15 +0 1 2 5 8 9 10 12 13 14 +0 1 2 5 8 9 10 12 13 15 +0 1 2 5 8 9 10 12 14 15 +0 1 2 5 8 9 10 13 14 15 +0 1 2 5 8 9 11 12 13 14 +0 1 2 5 8 9 11 12 13 15 +0 1 2 5 8 9 11 12 14 15 +0 1 2 5 8 9 11 13 14 15 +0 1 2 5 8 9 12 13 14 15 +0 1 2 5 8 10 11 12 13 14 +0 1 2 5 8 10 11 12 13 15 +0 1 2 5 8 10 11 12 14 15 +0 1 2 5 8 10 11 13 14 15 +0 1 2 5 8 10 12 13 14 15 +0 1 2 5 8 11 12 13 14 15 +0 1 2 5 9 10 11 12 13 14 +0 1 2 5 9 10 11 12 13 15 +0 1 2 5 9 10 11 12 14 15 +0 1 2 5 9 10 11 13 14 15 +0 1 2 5 9 10 12 13 14 15 +0 1 2 5 9 11 12 13 14 15 +0 1 2 5 10 11 12 13 14 15 +0 1 2 6 7 8 9 10 11 12 +0 1 2 6 7 8 9 10 11 13 +0 1 2 6 7 8 9 10 11 14 +0 1 2 6 7 8 9 10 11 15 +0 1 2 6 7 8 9 10 12 13 +0 1 2 6 7 8 9 10 12 14 +0 1 2 6 7 8 9 10 12 15 +0 1 2 6 7 8 9 10 13 14 +0 1 2 6 7 8 9 10 13 15 +0 1 2 6 7 8 9 10 14 15 +0 1 2 6 7 8 9 11 12 13 +0 1 2 6 7 8 9 11 12 14 +0 1 2 6 7 8 9 11 12 15 +0 1 2 6 7 8 9 11 13 14 +0 1 2 6 7 8 9 11 13 15 +0 1 2 6 7 8 9 11 14 15 +0 1 2 6 7 8 9 12 13 14 +0 1 2 6 7 8 9 12 13 15 +0 1 2 6 7 8 9 12 14 15 +0 1 2 6 7 8 9 13 14 15 +0 1 2 6 7 8 10 11 12 13 +0 1 2 6 7 8 10 11 12 14 +0 1 2 6 7 8 10 11 12 15 +0 1 2 6 7 8 10 11 13 14 +0 1 2 6 7 8 10 11 13 15 +0 1 2 6 7 8 10 11 14 15 +0 1 2 6 7 8 10 12 13 14 +0 1 2 6 7 8 10 12 13 15 +0 1 2 6 7 8 10 12 14 15 +0 1 2 6 7 8 10 13 14 15 +0 1 2 6 7 8 11 12 13 14 +0 1 2 6 7 8 11 12 13 15 +0 1 2 6 7 8 11 12 14 15 +0 1 2 6 7 8 11 13 14 15 +0 1 2 6 7 8 12 13 14 15 +0 1 2 6 7 9 10 11 12 13 +0 1 2 6 7 9 10 11 12 14 +0 1 2 6 7 9 10 11 12 15 +0 1 2 6 7 9 10 11 13 14 +0 1 2 6 7 9 10 11 13 15 +0 1 2 6 7 9 10 11 14 15 +0 1 2 6 7 9 10 12 13 14 +0 1 2 6 7 9 10 12 13 15 +0 1 2 6 7 9 10 12 14 15 +0 1 2 6 7 9 10 13 14 15 +0 1 2 6 7 9 11 12 13 14 +0 1 2 6 7 9 11 12 13 15 +0 1 2 6 7 9 11 12 14 15 +0 1 2 6 7 9 11 13 14 15 +0 1 2 6 7 9 12 13 14 15 +0 1 2 6 7 10 11 12 13 14 +0 1 2 6 7 10 11 12 13 15 +0 1 2 6 7 10 11 12 14 15 +0 1 2 6 7 10 11 13 14 15 +0 1 2 6 7 10 12 13 14 15 +0 1 2 6 7 11 12 13 14 15 +0 1 2 6 8 9 10 11 12 13 +0 1 2 6 8 9 10 11 12 14 +0 1 2 6 8 9 10 11 12 15 +0 1 2 6 8 9 10 11 13 14 +0 1 2 6 8 9 10 11 13 15 +0 1 2 6 8 9 10 11 14 15 +0 1 2 6 8 9 10 12 13 14 +0 1 2 6 8 9 10 12 13 15 +0 1 2 6 8 9 10 12 14 15 +0 1 2 6 8 9 10 13 14 15 +0 1 2 6 8 9 11 12 13 14 +0 1 2 6 8 9 11 12 13 15 +0 1 2 6 8 9 11 12 14 15 +0 1 2 6 8 9 11 13 14 15 +0 1 2 6 8 9 12 13 14 15 +0 1 2 6 8 10 11 12 13 14 +0 1 2 6 8 10 11 12 13 15 +0 1 2 6 8 10 11 12 14 15 +0 1 2 6 8 10 11 13 14 15 +0 1 2 6 8 10 12 13 14 15 +0 1 2 6 8 11 12 13 14 15 +0 1 2 6 9 10 11 12 13 14 +0 1 2 6 9 10 11 12 13 15 +0 1 2 6 9 10 11 12 14 15 +0 1 2 6 9 10 11 13 14 15 +0 1 2 6 9 10 12 13 14 15 +0 1 2 6 9 11 12 13 14 15 +0 1 2 6 10 11 12 13 14 15 +0 1 2 7 8 9 10 11 12 13 +0 1 2 7 8 9 10 11 12 14 +0 1 2 7 8 9 10 11 12 15 +0 1 2 7 8 9 10 11 13 14 +0 1 2 7 8 9 10 11 13 15 +0 1 2 7 8 9 10 11 14 15 +0 1 2 7 8 9 10 12 13 14 +0 1 2 7 8 9 10 12 13 15 +0 1 2 7 8 9 10 12 14 15 +0 1 2 7 8 9 10 13 14 15 +0 1 2 7 8 9 11 12 13 14 +0 1 2 7 8 9 11 12 13 15 +0 1 2 7 8 9 11 12 14 15 +0 1 2 7 8 9 11 13 14 15 +0 1 2 7 8 9 12 13 14 15 +0 1 2 7 8 10 11 12 13 14 +0 1 2 7 8 10 11 12 13 15 +0 1 2 7 8 10 11 12 14 15 +0 1 2 7 8 10 11 13 14 15 +0 1 2 7 8 10 12 13 14 15 +0 1 2 7 8 11 12 13 14 15 +0 1 2 7 9 10 11 12 13 14 +0 1 2 7 9 10 11 12 13 15 +0 1 2 7 9 10 11 12 14 15 +0 1 2 7 9 10 11 13 14 15 +0 1 2 7 9 10 12 13 14 15 +0 1 2 7 9 11 12 13 14 15 +0 1 2 7 10 11 12 13 14 15 +0 1 2 8 9 10 11 12 13 14 +0 1 2 8 9 10 11 12 13 15 +0 1 2 8 9 10 11 12 14 15 +0 1 2 8 9 10 11 13 14 15 +0 1 2 8 9 10 12 13 14 15 +0 1 2 8 9 11 12 13 14 15 +0 1 2 8 10 11 12 13 14 15 +0 1 2 9 10 11 12 13 14 15 +0 1 3 4 5 6 7 8 9 10 +0 1 3 4 5 6 7 8 9 11 +0 1 3 4 5 6 7 8 9 12 +0 1 3 4 5 6 7 8 9 13 +0 1 3 4 5 6 7 8 9 14 +0 1 3 4 5 6 7 8 9 15 +0 1 3 4 5 6 7 8 10 11 +0 1 3 4 5 6 7 8 10 12 +0 1 3 4 5 6 7 8 10 13 +0 1 3 4 5 6 7 8 10 14 +0 1 3 4 5 6 7 8 10 15 +0 1 3 4 5 6 7 8 11 12 +0 1 3 4 5 6 7 8 11 13 +0 1 3 4 5 6 7 8 11 14 +0 1 3 4 5 6 7 8 11 15 +0 1 3 4 5 6 7 8 12 13 +0 1 3 4 5 6 7 8 12 14 +0 1 3 4 5 6 7 8 12 15 +0 1 3 4 5 6 7 8 13 14 +0 1 3 4 5 6 7 8 13 15 +0 1 3 4 5 6 7 8 14 15 +0 1 3 4 5 6 7 9 10 11 +0 1 3 4 5 6 7 9 10 12 +0 1 3 4 5 6 7 9 10 13 +0 1 3 4 5 6 7 9 10 14 +0 1 3 4 5 6 7 9 10 15 +0 1 3 4 5 6 7 9 11 12 +0 1 3 4 5 6 7 9 11 13 +0 1 3 4 5 6 7 9 11 14 +0 1 3 4 5 6 7 9 11 15 +0 1 3 4 5 6 7 9 12 13 +0 1 3 4 5 6 7 9 12 14 +0 1 3 4 5 6 7 9 12 15 +0 1 3 4 5 6 7 9 13 14 +0 1 3 4 5 6 7 9 13 15 +0 1 3 4 5 6 7 9 14 15 +0 1 3 4 5 6 7 10 11 12 +0 1 3 4 5 6 7 10 11 13 +0 1 3 4 5 6 7 10 11 14 +0 1 3 4 5 6 7 10 11 15 +0 1 3 4 5 6 7 10 12 13 +0 1 3 4 5 6 7 10 12 14 +0 1 3 4 5 6 7 10 12 15 +0 1 3 4 5 6 7 10 13 14 +0 1 3 4 5 6 7 10 13 15 +0 1 3 4 5 6 7 10 14 15 +0 1 3 4 5 6 7 11 12 13 +0 1 3 4 5 6 7 11 12 14 +0 1 3 4 5 6 7 11 12 15 +0 1 3 4 5 6 7 11 13 14 +0 1 3 4 5 6 7 11 13 15 +0 1 3 4 5 6 7 11 14 15 +0 1 3 4 5 6 7 12 13 14 +0 1 3 4 5 6 7 12 13 15 +0 1 3 4 5 6 7 12 14 15 +0 1 3 4 5 6 7 13 14 15 +0 1 3 4 5 6 8 9 10 11 +0 1 3 4 5 6 8 9 10 12 +0 1 3 4 5 6 8 9 10 13 +0 1 3 4 5 6 8 9 10 14 +0 1 3 4 5 6 8 9 10 15 +0 1 3 4 5 6 8 9 11 12 +0 1 3 4 5 6 8 9 11 13 +0 1 3 4 5 6 8 9 11 14 +0 1 3 4 5 6 8 9 11 15 +0 1 3 4 5 6 8 9 12 13 +0 1 3 4 5 6 8 9 12 14 +0 1 3 4 5 6 8 9 12 15 +0 1 3 4 5 6 8 9 13 14 +0 1 3 4 5 6 8 9 13 15 +0 1 3 4 5 6 8 9 14 15 +0 1 3 4 5 6 8 10 11 12 +0 1 3 4 5 6 8 10 11 13 +0 1 3 4 5 6 8 10 11 14 +0 1 3 4 5 6 8 10 11 15 +0 1 3 4 5 6 8 10 12 13 +0 1 3 4 5 6 8 10 12 14 +0 1 3 4 5 6 8 10 12 15 +0 1 3 4 5 6 8 10 13 14 +0 1 3 4 5 6 8 10 13 15 +0 1 3 4 5 6 8 10 14 15 +0 1 3 4 5 6 8 11 12 13 +0 1 3 4 5 6 8 11 12 14 +0 1 3 4 5 6 8 11 12 15 +0 1 3 4 5 6 8 11 13 14 +0 1 3 4 5 6 8 11 13 15 +0 1 3 4 5 6 8 11 14 15 +0 1 3 4 5 6 8 12 13 14 +0 1 3 4 5 6 8 12 13 15 +0 1 3 4 5 6 8 12 14 15 +0 1 3 4 5 6 8 13 14 15 +0 1 3 4 5 6 9 10 11 12 +0 1 3 4 5 6 9 10 11 13 +0 1 3 4 5 6 9 10 11 14 +0 1 3 4 5 6 9 10 11 15 +0 1 3 4 5 6 9 10 12 13 +0 1 3 4 5 6 9 10 12 14 +0 1 3 4 5 6 9 10 12 15 +0 1 3 4 5 6 9 10 13 14 +0 1 3 4 5 6 9 10 13 15 +0 1 3 4 5 6 9 10 14 15 +0 1 3 4 5 6 9 11 12 13 +0 1 3 4 5 6 9 11 12 14 +0 1 3 4 5 6 9 11 12 15 +0 1 3 4 5 6 9 11 13 14 +0 1 3 4 5 6 9 11 13 15 +0 1 3 4 5 6 9 11 14 15 +0 1 3 4 5 6 9 12 13 14 +0 1 3 4 5 6 9 12 13 15 +0 1 3 4 5 6 9 12 14 15 +0 1 3 4 5 6 9 13 14 15 +0 1 3 4 5 6 10 11 12 13 +0 1 3 4 5 6 10 11 12 14 +0 1 3 4 5 6 10 11 12 15 +0 1 3 4 5 6 10 11 13 14 +0 1 3 4 5 6 10 11 13 15 +0 1 3 4 5 6 10 11 14 15 +0 1 3 4 5 6 10 12 13 14 +0 1 3 4 5 6 10 12 13 15 +0 1 3 4 5 6 10 12 14 15 +0 1 3 4 5 6 10 13 14 15 +0 1 3 4 5 6 11 12 13 14 +0 1 3 4 5 6 11 12 13 15 +0 1 3 4 5 6 11 12 14 15 +0 1 3 4 5 6 11 13 14 15 +0 1 3 4 5 6 12 13 14 15 +0 1 3 4 5 7 8 9 10 11 +0 1 3 4 5 7 8 9 10 12 +0 1 3 4 5 7 8 9 10 13 +0 1 3 4 5 7 8 9 10 14 +0 1 3 4 5 7 8 9 10 15 +0 1 3 4 5 7 8 9 11 12 +0 1 3 4 5 7 8 9 11 13 +0 1 3 4 5 7 8 9 11 14 +0 1 3 4 5 7 8 9 11 15 +0 1 3 4 5 7 8 9 12 13 +0 1 3 4 5 7 8 9 12 14 +0 1 3 4 5 7 8 9 12 15 +0 1 3 4 5 7 8 9 13 14 +0 1 3 4 5 7 8 9 13 15 +0 1 3 4 5 7 8 9 14 15 +0 1 3 4 5 7 8 10 11 12 +0 1 3 4 5 7 8 10 11 13 +0 1 3 4 5 7 8 10 11 14 +0 1 3 4 5 7 8 10 11 15 +0 1 3 4 5 7 8 10 12 13 +0 1 3 4 5 7 8 10 12 14 +0 1 3 4 5 7 8 10 12 15 +0 1 3 4 5 7 8 10 13 14 +0 1 3 4 5 7 8 10 13 15 +0 1 3 4 5 7 8 10 14 15 +0 1 3 4 5 7 8 11 12 13 +0 1 3 4 5 7 8 11 12 14 +0 1 3 4 5 7 8 11 12 15 +0 1 3 4 5 7 8 11 13 14 +0 1 3 4 5 7 8 11 13 15 +0 1 3 4 5 7 8 11 14 15 +0 1 3 4 5 7 8 12 13 14 +0 1 3 4 5 7 8 12 13 15 +0 1 3 4 5 7 8 12 14 15 +0 1 3 4 5 7 8 13 14 15 +0 1 3 4 5 7 9 10 11 12 +0 1 3 4 5 7 9 10 11 13 +0 1 3 4 5 7 9 10 11 14 +0 1 3 4 5 7 9 10 11 15 +0 1 3 4 5 7 9 10 12 13 +0 1 3 4 5 7 9 10 12 14 +0 1 3 4 5 7 9 10 12 15 +0 1 3 4 5 7 9 10 13 14 +0 1 3 4 5 7 9 10 13 15 +0 1 3 4 5 7 9 10 14 15 +0 1 3 4 5 7 9 11 12 13 +0 1 3 4 5 7 9 11 12 14 +0 1 3 4 5 7 9 11 12 15 +0 1 3 4 5 7 9 11 13 14 +0 1 3 4 5 7 9 11 13 15 +0 1 3 4 5 7 9 11 14 15 +0 1 3 4 5 7 9 12 13 14 +0 1 3 4 5 7 9 12 13 15 +0 1 3 4 5 7 9 12 14 15 +0 1 3 4 5 7 9 13 14 15 +0 1 3 4 5 7 10 11 12 13 +0 1 3 4 5 7 10 11 12 14 +0 1 3 4 5 7 10 11 12 15 +0 1 3 4 5 7 10 11 13 14 +0 1 3 4 5 7 10 11 13 15 +0 1 3 4 5 7 10 11 14 15 +0 1 3 4 5 7 10 12 13 14 +0 1 3 4 5 7 10 12 13 15 +0 1 3 4 5 7 10 12 14 15 +0 1 3 4 5 7 10 13 14 15 +0 1 3 4 5 7 11 12 13 14 +0 1 3 4 5 7 11 12 13 15 +0 1 3 4 5 7 11 12 14 15 +0 1 3 4 5 7 11 13 14 15 +0 1 3 4 5 7 12 13 14 15 +0 1 3 4 5 8 9 10 11 12 +0 1 3 4 5 8 9 10 11 13 +0 1 3 4 5 8 9 10 11 14 +0 1 3 4 5 8 9 10 11 15 +0 1 3 4 5 8 9 10 12 13 +0 1 3 4 5 8 9 10 12 14 +0 1 3 4 5 8 9 10 12 15 +0 1 3 4 5 8 9 10 13 14 +0 1 3 4 5 8 9 10 13 15 +0 1 3 4 5 8 9 10 14 15 +0 1 3 4 5 8 9 11 12 13 +0 1 3 4 5 8 9 11 12 14 +0 1 3 4 5 8 9 11 12 15 +0 1 3 4 5 8 9 11 13 14 +0 1 3 4 5 8 9 11 13 15 +0 1 3 4 5 8 9 11 14 15 +0 1 3 4 5 8 9 12 13 14 +0 1 3 4 5 8 9 12 13 15 +0 1 3 4 5 8 9 12 14 15 +0 1 3 4 5 8 9 13 14 15 +0 1 3 4 5 8 10 11 12 13 +0 1 3 4 5 8 10 11 12 14 +0 1 3 4 5 8 10 11 12 15 +0 1 3 4 5 8 10 11 13 14 +0 1 3 4 5 8 10 11 13 15 +0 1 3 4 5 8 10 11 14 15 +0 1 3 4 5 8 10 12 13 14 +0 1 3 4 5 8 10 12 13 15 +0 1 3 4 5 8 10 12 14 15 +0 1 3 4 5 8 10 13 14 15 +0 1 3 4 5 8 11 12 13 14 +0 1 3 4 5 8 11 12 13 15 +0 1 3 4 5 8 11 12 14 15 +0 1 3 4 5 8 11 13 14 15 +0 1 3 4 5 8 12 13 14 15 +0 1 3 4 5 9 10 11 12 13 +0 1 3 4 5 9 10 11 12 14 +0 1 3 4 5 9 10 11 12 15 +0 1 3 4 5 9 10 11 13 14 +0 1 3 4 5 9 10 11 13 15 +0 1 3 4 5 9 10 11 14 15 +0 1 3 4 5 9 10 12 13 14 +0 1 3 4 5 9 10 12 13 15 +0 1 3 4 5 9 10 12 14 15 +0 1 3 4 5 9 10 13 14 15 +0 1 3 4 5 9 11 12 13 14 +0 1 3 4 5 9 11 12 13 15 +0 1 3 4 5 9 11 12 14 15 +0 1 3 4 5 9 11 13 14 15 +0 1 3 4 5 9 12 13 14 15 +0 1 3 4 5 10 11 12 13 14 +0 1 3 4 5 10 11 12 13 15 +0 1 3 4 5 10 11 12 14 15 +0 1 3 4 5 10 11 13 14 15 +0 1 3 4 5 10 12 13 14 15 +0 1 3 4 5 11 12 13 14 15 +0 1 3 4 6 7 8 9 10 11 +0 1 3 4 6 7 8 9 10 12 +0 1 3 4 6 7 8 9 10 13 +0 1 3 4 6 7 8 9 10 14 +0 1 3 4 6 7 8 9 10 15 +0 1 3 4 6 7 8 9 11 12 +0 1 3 4 6 7 8 9 11 13 +0 1 3 4 6 7 8 9 11 14 +0 1 3 4 6 7 8 9 11 15 +0 1 3 4 6 7 8 9 12 13 +0 1 3 4 6 7 8 9 12 14 +0 1 3 4 6 7 8 9 12 15 +0 1 3 4 6 7 8 9 13 14 +0 1 3 4 6 7 8 9 13 15 +0 1 3 4 6 7 8 9 14 15 +0 1 3 4 6 7 8 10 11 12 +0 1 3 4 6 7 8 10 11 13 +0 1 3 4 6 7 8 10 11 14 +0 1 3 4 6 7 8 10 11 15 +0 1 3 4 6 7 8 10 12 13 +0 1 3 4 6 7 8 10 12 14 +0 1 3 4 6 7 8 10 12 15 +0 1 3 4 6 7 8 10 13 14 +0 1 3 4 6 7 8 10 13 15 +0 1 3 4 6 7 8 10 14 15 +0 1 3 4 6 7 8 11 12 13 +0 1 3 4 6 7 8 11 12 14 +0 1 3 4 6 7 8 11 12 15 +0 1 3 4 6 7 8 11 13 14 +0 1 3 4 6 7 8 11 13 15 +0 1 3 4 6 7 8 11 14 15 +0 1 3 4 6 7 8 12 13 14 +0 1 3 4 6 7 8 12 13 15 +0 1 3 4 6 7 8 12 14 15 +0 1 3 4 6 7 8 13 14 15 +0 1 3 4 6 7 9 10 11 12 +0 1 3 4 6 7 9 10 11 13 +0 1 3 4 6 7 9 10 11 14 +0 1 3 4 6 7 9 10 11 15 +0 1 3 4 6 7 9 10 12 13 +0 1 3 4 6 7 9 10 12 14 +0 1 3 4 6 7 9 10 12 15 +0 1 3 4 6 7 9 10 13 14 +0 1 3 4 6 7 9 10 13 15 +0 1 3 4 6 7 9 10 14 15 +0 1 3 4 6 7 9 11 12 13 +0 1 3 4 6 7 9 11 12 14 +0 1 3 4 6 7 9 11 12 15 +0 1 3 4 6 7 9 11 13 14 +0 1 3 4 6 7 9 11 13 15 +0 1 3 4 6 7 9 11 14 15 +0 1 3 4 6 7 9 12 13 14 +0 1 3 4 6 7 9 12 13 15 +0 1 3 4 6 7 9 12 14 15 +0 1 3 4 6 7 9 13 14 15 +0 1 3 4 6 7 10 11 12 13 +0 1 3 4 6 7 10 11 12 14 +0 1 3 4 6 7 10 11 12 15 +0 1 3 4 6 7 10 11 13 14 +0 1 3 4 6 7 10 11 13 15 +0 1 3 4 6 7 10 11 14 15 +0 1 3 4 6 7 10 12 13 14 +0 1 3 4 6 7 10 12 13 15 +0 1 3 4 6 7 10 12 14 15 +0 1 3 4 6 7 10 13 14 15 +0 1 3 4 6 7 11 12 13 14 +0 1 3 4 6 7 11 12 13 15 +0 1 3 4 6 7 11 12 14 15 +0 1 3 4 6 7 11 13 14 15 +0 1 3 4 6 7 12 13 14 15 +0 1 3 4 6 8 9 10 11 12 +0 1 3 4 6 8 9 10 11 13 +0 1 3 4 6 8 9 10 11 14 +0 1 3 4 6 8 9 10 11 15 +0 1 3 4 6 8 9 10 12 13 +0 1 3 4 6 8 9 10 12 14 +0 1 3 4 6 8 9 10 12 15 +0 1 3 4 6 8 9 10 13 14 +0 1 3 4 6 8 9 10 13 15 +0 1 3 4 6 8 9 10 14 15 +0 1 3 4 6 8 9 11 12 13 +0 1 3 4 6 8 9 11 12 14 +0 1 3 4 6 8 9 11 12 15 +0 1 3 4 6 8 9 11 13 14 +0 1 3 4 6 8 9 11 13 15 +0 1 3 4 6 8 9 11 14 15 +0 1 3 4 6 8 9 12 13 14 +0 1 3 4 6 8 9 12 13 15 +0 1 3 4 6 8 9 12 14 15 +0 1 3 4 6 8 9 13 14 15 +0 1 3 4 6 8 10 11 12 13 +0 1 3 4 6 8 10 11 12 14 +0 1 3 4 6 8 10 11 12 15 +0 1 3 4 6 8 10 11 13 14 +0 1 3 4 6 8 10 11 13 15 +0 1 3 4 6 8 10 11 14 15 +0 1 3 4 6 8 10 12 13 14 +0 1 3 4 6 8 10 12 13 15 +0 1 3 4 6 8 10 12 14 15 +0 1 3 4 6 8 10 13 14 15 +0 1 3 4 6 8 11 12 13 14 +0 1 3 4 6 8 11 12 13 15 +0 1 3 4 6 8 11 12 14 15 +0 1 3 4 6 8 11 13 14 15 +0 1 3 4 6 8 12 13 14 15 +0 1 3 4 6 9 10 11 12 13 +0 1 3 4 6 9 10 11 12 14 +0 1 3 4 6 9 10 11 12 15 +0 1 3 4 6 9 10 11 13 14 +0 1 3 4 6 9 10 11 13 15 +0 1 3 4 6 9 10 11 14 15 +0 1 3 4 6 9 10 12 13 14 +0 1 3 4 6 9 10 12 13 15 +0 1 3 4 6 9 10 12 14 15 +0 1 3 4 6 9 10 13 14 15 +0 1 3 4 6 9 11 12 13 14 +0 1 3 4 6 9 11 12 13 15 +0 1 3 4 6 9 11 12 14 15 +0 1 3 4 6 9 11 13 14 15 +0 1 3 4 6 9 12 13 14 15 +0 1 3 4 6 10 11 12 13 14 +0 1 3 4 6 10 11 12 13 15 +0 1 3 4 6 10 11 12 14 15 +0 1 3 4 6 10 11 13 14 15 +0 1 3 4 6 10 12 13 14 15 +0 1 3 4 6 11 12 13 14 15 +0 1 3 4 7 8 9 10 11 12 +0 1 3 4 7 8 9 10 11 13 +0 1 3 4 7 8 9 10 11 14 +0 1 3 4 7 8 9 10 11 15 +0 1 3 4 7 8 9 10 12 13 +0 1 3 4 7 8 9 10 12 14 +0 1 3 4 7 8 9 10 12 15 +0 1 3 4 7 8 9 10 13 14 +0 1 3 4 7 8 9 10 13 15 +0 1 3 4 7 8 9 10 14 15 +0 1 3 4 7 8 9 11 12 13 +0 1 3 4 7 8 9 11 12 14 +0 1 3 4 7 8 9 11 12 15 +0 1 3 4 7 8 9 11 13 14 +0 1 3 4 7 8 9 11 13 15 +0 1 3 4 7 8 9 11 14 15 +0 1 3 4 7 8 9 12 13 14 +0 1 3 4 7 8 9 12 13 15 +0 1 3 4 7 8 9 12 14 15 +0 1 3 4 7 8 9 13 14 15 +0 1 3 4 7 8 10 11 12 13 +0 1 3 4 7 8 10 11 12 14 +0 1 3 4 7 8 10 11 12 15 +0 1 3 4 7 8 10 11 13 14 +0 1 3 4 7 8 10 11 13 15 +0 1 3 4 7 8 10 11 14 15 +0 1 3 4 7 8 10 12 13 14 +0 1 3 4 7 8 10 12 13 15 +0 1 3 4 7 8 10 12 14 15 +0 1 3 4 7 8 10 13 14 15 +0 1 3 4 7 8 11 12 13 14 +0 1 3 4 7 8 11 12 13 15 +0 1 3 4 7 8 11 12 14 15 +0 1 3 4 7 8 11 13 14 15 +0 1 3 4 7 8 12 13 14 15 +0 1 3 4 7 9 10 11 12 13 +0 1 3 4 7 9 10 11 12 14 +0 1 3 4 7 9 10 11 12 15 +0 1 3 4 7 9 10 11 13 14 +0 1 3 4 7 9 10 11 13 15 +0 1 3 4 7 9 10 11 14 15 +0 1 3 4 7 9 10 12 13 14 +0 1 3 4 7 9 10 12 13 15 +0 1 3 4 7 9 10 12 14 15 +0 1 3 4 7 9 10 13 14 15 +0 1 3 4 7 9 11 12 13 14 +0 1 3 4 7 9 11 12 13 15 +0 1 3 4 7 9 11 12 14 15 +0 1 3 4 7 9 11 13 14 15 +0 1 3 4 7 9 12 13 14 15 +0 1 3 4 7 10 11 12 13 14 +0 1 3 4 7 10 11 12 13 15 +0 1 3 4 7 10 11 12 14 15 +0 1 3 4 7 10 11 13 14 15 +0 1 3 4 7 10 12 13 14 15 +0 1 3 4 7 11 12 13 14 15 +0 1 3 4 8 9 10 11 12 13 +0 1 3 4 8 9 10 11 12 14 +0 1 3 4 8 9 10 11 12 15 +0 1 3 4 8 9 10 11 13 14 +0 1 3 4 8 9 10 11 13 15 +0 1 3 4 8 9 10 11 14 15 +0 1 3 4 8 9 10 12 13 14 +0 1 3 4 8 9 10 12 13 15 +0 1 3 4 8 9 10 12 14 15 +0 1 3 4 8 9 10 13 14 15 +0 1 3 4 8 9 11 12 13 14 +0 1 3 4 8 9 11 12 13 15 +0 1 3 4 8 9 11 12 14 15 +0 1 3 4 8 9 11 13 14 15 +0 1 3 4 8 9 12 13 14 15 +0 1 3 4 8 10 11 12 13 14 +0 1 3 4 8 10 11 12 13 15 +0 1 3 4 8 10 11 12 14 15 +0 1 3 4 8 10 11 13 14 15 +0 1 3 4 8 10 12 13 14 15 +0 1 3 4 8 11 12 13 14 15 +0 1 3 4 9 10 11 12 13 14 +0 1 3 4 9 10 11 12 13 15 +0 1 3 4 9 10 11 12 14 15 +0 1 3 4 9 10 11 13 14 15 +0 1 3 4 9 10 12 13 14 15 +0 1 3 4 9 11 12 13 14 15 +0 1 3 4 10 11 12 13 14 15 +0 1 3 5 6 7 8 9 10 11 +0 1 3 5 6 7 8 9 10 12 +0 1 3 5 6 7 8 9 10 13 +0 1 3 5 6 7 8 9 10 14 +0 1 3 5 6 7 8 9 10 15 +0 1 3 5 6 7 8 9 11 12 +0 1 3 5 6 7 8 9 11 13 +0 1 3 5 6 7 8 9 11 14 +0 1 3 5 6 7 8 9 11 15 +0 1 3 5 6 7 8 9 12 13 +0 1 3 5 6 7 8 9 12 14 +0 1 3 5 6 7 8 9 12 15 +0 1 3 5 6 7 8 9 13 14 +0 1 3 5 6 7 8 9 13 15 +0 1 3 5 6 7 8 9 14 15 +0 1 3 5 6 7 8 10 11 12 +0 1 3 5 6 7 8 10 11 13 +0 1 3 5 6 7 8 10 11 14 +0 1 3 5 6 7 8 10 11 15 +0 1 3 5 6 7 8 10 12 13 +0 1 3 5 6 7 8 10 12 14 +0 1 3 5 6 7 8 10 12 15 +0 1 3 5 6 7 8 10 13 14 +0 1 3 5 6 7 8 10 13 15 +0 1 3 5 6 7 8 10 14 15 +0 1 3 5 6 7 8 11 12 13 +0 1 3 5 6 7 8 11 12 14 +0 1 3 5 6 7 8 11 12 15 +0 1 3 5 6 7 8 11 13 14 +0 1 3 5 6 7 8 11 13 15 +0 1 3 5 6 7 8 11 14 15 +0 1 3 5 6 7 8 12 13 14 +0 1 3 5 6 7 8 12 13 15 +0 1 3 5 6 7 8 12 14 15 +0 1 3 5 6 7 8 13 14 15 +0 1 3 5 6 7 9 10 11 12 +0 1 3 5 6 7 9 10 11 13 +0 1 3 5 6 7 9 10 11 14 +0 1 3 5 6 7 9 10 11 15 +0 1 3 5 6 7 9 10 12 13 +0 1 3 5 6 7 9 10 12 14 +0 1 3 5 6 7 9 10 12 15 +0 1 3 5 6 7 9 10 13 14 +0 1 3 5 6 7 9 10 13 15 +0 1 3 5 6 7 9 10 14 15 +0 1 3 5 6 7 9 11 12 13 +0 1 3 5 6 7 9 11 12 14 +0 1 3 5 6 7 9 11 12 15 +0 1 3 5 6 7 9 11 13 14 +0 1 3 5 6 7 9 11 13 15 +0 1 3 5 6 7 9 11 14 15 +0 1 3 5 6 7 9 12 13 14 +0 1 3 5 6 7 9 12 13 15 +0 1 3 5 6 7 9 12 14 15 +0 1 3 5 6 7 9 13 14 15 +0 1 3 5 6 7 10 11 12 13 +0 1 3 5 6 7 10 11 12 14 +0 1 3 5 6 7 10 11 12 15 +0 1 3 5 6 7 10 11 13 14 +0 1 3 5 6 7 10 11 13 15 +0 1 3 5 6 7 10 11 14 15 +0 1 3 5 6 7 10 12 13 14 +0 1 3 5 6 7 10 12 13 15 +0 1 3 5 6 7 10 12 14 15 +0 1 3 5 6 7 10 13 14 15 +0 1 3 5 6 7 11 12 13 14 +0 1 3 5 6 7 11 12 13 15 +0 1 3 5 6 7 11 12 14 15 +0 1 3 5 6 7 11 13 14 15 +0 1 3 5 6 7 12 13 14 15 +0 1 3 5 6 8 9 10 11 12 +0 1 3 5 6 8 9 10 11 13 +0 1 3 5 6 8 9 10 11 14 +0 1 3 5 6 8 9 10 11 15 +0 1 3 5 6 8 9 10 12 13 +0 1 3 5 6 8 9 10 12 14 +0 1 3 5 6 8 9 10 12 15 +0 1 3 5 6 8 9 10 13 14 +0 1 3 5 6 8 9 10 13 15 +0 1 3 5 6 8 9 10 14 15 +0 1 3 5 6 8 9 11 12 13 +0 1 3 5 6 8 9 11 12 14 +0 1 3 5 6 8 9 11 12 15 +0 1 3 5 6 8 9 11 13 14 +0 1 3 5 6 8 9 11 13 15 +0 1 3 5 6 8 9 11 14 15 +0 1 3 5 6 8 9 12 13 14 +0 1 3 5 6 8 9 12 13 15 +0 1 3 5 6 8 9 12 14 15 +0 1 3 5 6 8 9 13 14 15 +0 1 3 5 6 8 10 11 12 13 +0 1 3 5 6 8 10 11 12 14 +0 1 3 5 6 8 10 11 12 15 +0 1 3 5 6 8 10 11 13 14 +0 1 3 5 6 8 10 11 13 15 +0 1 3 5 6 8 10 11 14 15 +0 1 3 5 6 8 10 12 13 14 +0 1 3 5 6 8 10 12 13 15 +0 1 3 5 6 8 10 12 14 15 +0 1 3 5 6 8 10 13 14 15 +0 1 3 5 6 8 11 12 13 14 +0 1 3 5 6 8 11 12 13 15 +0 1 3 5 6 8 11 12 14 15 +0 1 3 5 6 8 11 13 14 15 +0 1 3 5 6 8 12 13 14 15 +0 1 3 5 6 9 10 11 12 13 +0 1 3 5 6 9 10 11 12 14 +0 1 3 5 6 9 10 11 12 15 +0 1 3 5 6 9 10 11 13 14 +0 1 3 5 6 9 10 11 13 15 +0 1 3 5 6 9 10 11 14 15 +0 1 3 5 6 9 10 12 13 14 +0 1 3 5 6 9 10 12 13 15 +0 1 3 5 6 9 10 12 14 15 +0 1 3 5 6 9 10 13 14 15 +0 1 3 5 6 9 11 12 13 14 +0 1 3 5 6 9 11 12 13 15 +0 1 3 5 6 9 11 12 14 15 +0 1 3 5 6 9 11 13 14 15 +0 1 3 5 6 9 12 13 14 15 +0 1 3 5 6 10 11 12 13 14 +0 1 3 5 6 10 11 12 13 15 +0 1 3 5 6 10 11 12 14 15 +0 1 3 5 6 10 11 13 14 15 +0 1 3 5 6 10 12 13 14 15 +0 1 3 5 6 11 12 13 14 15 +0 1 3 5 7 8 9 10 11 12 +0 1 3 5 7 8 9 10 11 13 +0 1 3 5 7 8 9 10 11 14 +0 1 3 5 7 8 9 10 11 15 +0 1 3 5 7 8 9 10 12 13 +0 1 3 5 7 8 9 10 12 14 +0 1 3 5 7 8 9 10 12 15 +0 1 3 5 7 8 9 10 13 14 +0 1 3 5 7 8 9 10 13 15 +0 1 3 5 7 8 9 10 14 15 +0 1 3 5 7 8 9 11 12 13 +0 1 3 5 7 8 9 11 12 14 +0 1 3 5 7 8 9 11 12 15 +0 1 3 5 7 8 9 11 13 14 +0 1 3 5 7 8 9 11 13 15 +0 1 3 5 7 8 9 11 14 15 +0 1 3 5 7 8 9 12 13 14 +0 1 3 5 7 8 9 12 13 15 +0 1 3 5 7 8 9 12 14 15 +0 1 3 5 7 8 9 13 14 15 +0 1 3 5 7 8 10 11 12 13 +0 1 3 5 7 8 10 11 12 14 +0 1 3 5 7 8 10 11 12 15 +0 1 3 5 7 8 10 11 13 14 +0 1 3 5 7 8 10 11 13 15 +0 1 3 5 7 8 10 11 14 15 +0 1 3 5 7 8 10 12 13 14 +0 1 3 5 7 8 10 12 13 15 +0 1 3 5 7 8 10 12 14 15 +0 1 3 5 7 8 10 13 14 15 +0 1 3 5 7 8 11 12 13 14 +0 1 3 5 7 8 11 12 13 15 +0 1 3 5 7 8 11 12 14 15 +0 1 3 5 7 8 11 13 14 15 +0 1 3 5 7 8 12 13 14 15 +0 1 3 5 7 9 10 11 12 13 +0 1 3 5 7 9 10 11 12 14 +0 1 3 5 7 9 10 11 12 15 +0 1 3 5 7 9 10 11 13 14 +0 1 3 5 7 9 10 11 13 15 +0 1 3 5 7 9 10 11 14 15 +0 1 3 5 7 9 10 12 13 14 +0 1 3 5 7 9 10 12 13 15 +0 1 3 5 7 9 10 12 14 15 +0 1 3 5 7 9 10 13 14 15 +0 1 3 5 7 9 11 12 13 14 +0 1 3 5 7 9 11 12 13 15 +0 1 3 5 7 9 11 12 14 15 +0 1 3 5 7 9 11 13 14 15 +0 1 3 5 7 9 12 13 14 15 +0 1 3 5 7 10 11 12 13 14 +0 1 3 5 7 10 11 12 13 15 +0 1 3 5 7 10 11 12 14 15 +0 1 3 5 7 10 11 13 14 15 +0 1 3 5 7 10 12 13 14 15 +0 1 3 5 7 11 12 13 14 15 +0 1 3 5 8 9 10 11 12 13 +0 1 3 5 8 9 10 11 12 14 +0 1 3 5 8 9 10 11 12 15 +0 1 3 5 8 9 10 11 13 14 +0 1 3 5 8 9 10 11 13 15 +0 1 3 5 8 9 10 11 14 15 +0 1 3 5 8 9 10 12 13 14 +0 1 3 5 8 9 10 12 13 15 +0 1 3 5 8 9 10 12 14 15 +0 1 3 5 8 9 10 13 14 15 +0 1 3 5 8 9 11 12 13 14 +0 1 3 5 8 9 11 12 13 15 +0 1 3 5 8 9 11 12 14 15 +0 1 3 5 8 9 11 13 14 15 +0 1 3 5 8 9 12 13 14 15 +0 1 3 5 8 10 11 12 13 14 +0 1 3 5 8 10 11 12 13 15 +0 1 3 5 8 10 11 12 14 15 +0 1 3 5 8 10 11 13 14 15 +0 1 3 5 8 10 12 13 14 15 +0 1 3 5 8 11 12 13 14 15 +0 1 3 5 9 10 11 12 13 14 +0 1 3 5 9 10 11 12 13 15 +0 1 3 5 9 10 11 12 14 15 +0 1 3 5 9 10 11 13 14 15 +0 1 3 5 9 10 12 13 14 15 +0 1 3 5 9 11 12 13 14 15 +0 1 3 5 10 11 12 13 14 15 +0 1 3 6 7 8 9 10 11 12 +0 1 3 6 7 8 9 10 11 13 +0 1 3 6 7 8 9 10 11 14 +0 1 3 6 7 8 9 10 11 15 +0 1 3 6 7 8 9 10 12 13 +0 1 3 6 7 8 9 10 12 14 +0 1 3 6 7 8 9 10 12 15 +0 1 3 6 7 8 9 10 13 14 +0 1 3 6 7 8 9 10 13 15 +0 1 3 6 7 8 9 10 14 15 +0 1 3 6 7 8 9 11 12 13 +0 1 3 6 7 8 9 11 12 14 +0 1 3 6 7 8 9 11 12 15 +0 1 3 6 7 8 9 11 13 14 +0 1 3 6 7 8 9 11 13 15 +0 1 3 6 7 8 9 11 14 15 +0 1 3 6 7 8 9 12 13 14 +0 1 3 6 7 8 9 12 13 15 +0 1 3 6 7 8 9 12 14 15 +0 1 3 6 7 8 9 13 14 15 +0 1 3 6 7 8 10 11 12 13 +0 1 3 6 7 8 10 11 12 14 +0 1 3 6 7 8 10 11 12 15 +0 1 3 6 7 8 10 11 13 14 +0 1 3 6 7 8 10 11 13 15 +0 1 3 6 7 8 10 11 14 15 +0 1 3 6 7 8 10 12 13 14 +0 1 3 6 7 8 10 12 13 15 +0 1 3 6 7 8 10 12 14 15 +0 1 3 6 7 8 10 13 14 15 +0 1 3 6 7 8 11 12 13 14 +0 1 3 6 7 8 11 12 13 15 +0 1 3 6 7 8 11 12 14 15 +0 1 3 6 7 8 11 13 14 15 +0 1 3 6 7 8 12 13 14 15 +0 1 3 6 7 9 10 11 12 13 +0 1 3 6 7 9 10 11 12 14 +0 1 3 6 7 9 10 11 12 15 +0 1 3 6 7 9 10 11 13 14 +0 1 3 6 7 9 10 11 13 15 +0 1 3 6 7 9 10 11 14 15 +0 1 3 6 7 9 10 12 13 14 +0 1 3 6 7 9 10 12 13 15 +0 1 3 6 7 9 10 12 14 15 +0 1 3 6 7 9 10 13 14 15 +0 1 3 6 7 9 11 12 13 14 +0 1 3 6 7 9 11 12 13 15 +0 1 3 6 7 9 11 12 14 15 +0 1 3 6 7 9 11 13 14 15 +0 1 3 6 7 9 12 13 14 15 +0 1 3 6 7 10 11 12 13 14 +0 1 3 6 7 10 11 12 13 15 +0 1 3 6 7 10 11 12 14 15 +0 1 3 6 7 10 11 13 14 15 +0 1 3 6 7 10 12 13 14 15 +0 1 3 6 7 11 12 13 14 15 +0 1 3 6 8 9 10 11 12 13 +0 1 3 6 8 9 10 11 12 14 +0 1 3 6 8 9 10 11 12 15 +0 1 3 6 8 9 10 11 13 14 +0 1 3 6 8 9 10 11 13 15 +0 1 3 6 8 9 10 11 14 15 +0 1 3 6 8 9 10 12 13 14 +0 1 3 6 8 9 10 12 13 15 +0 1 3 6 8 9 10 12 14 15 +0 1 3 6 8 9 10 13 14 15 +0 1 3 6 8 9 11 12 13 14 +0 1 3 6 8 9 11 12 13 15 +0 1 3 6 8 9 11 12 14 15 +0 1 3 6 8 9 11 13 14 15 +0 1 3 6 8 9 12 13 14 15 +0 1 3 6 8 10 11 12 13 14 +0 1 3 6 8 10 11 12 13 15 +0 1 3 6 8 10 11 12 14 15 +0 1 3 6 8 10 11 13 14 15 +0 1 3 6 8 10 12 13 14 15 +0 1 3 6 8 11 12 13 14 15 +0 1 3 6 9 10 11 12 13 14 +0 1 3 6 9 10 11 12 13 15 +0 1 3 6 9 10 11 12 14 15 +0 1 3 6 9 10 11 13 14 15 +0 1 3 6 9 10 12 13 14 15 +0 1 3 6 9 11 12 13 14 15 +0 1 3 6 10 11 12 13 14 15 +0 1 3 7 8 9 10 11 12 13 +0 1 3 7 8 9 10 11 12 14 +0 1 3 7 8 9 10 11 12 15 +0 1 3 7 8 9 10 11 13 14 +0 1 3 7 8 9 10 11 13 15 +0 1 3 7 8 9 10 11 14 15 +0 1 3 7 8 9 10 12 13 14 +0 1 3 7 8 9 10 12 13 15 +0 1 3 7 8 9 10 12 14 15 +0 1 3 7 8 9 10 13 14 15 +0 1 3 7 8 9 11 12 13 14 +0 1 3 7 8 9 11 12 13 15 +0 1 3 7 8 9 11 12 14 15 +0 1 3 7 8 9 11 13 14 15 +0 1 3 7 8 9 12 13 14 15 +0 1 3 7 8 10 11 12 13 14 +0 1 3 7 8 10 11 12 13 15 +0 1 3 7 8 10 11 12 14 15 +0 1 3 7 8 10 11 13 14 15 +0 1 3 7 8 10 12 13 14 15 +0 1 3 7 8 11 12 13 14 15 +0 1 3 7 9 10 11 12 13 14 +0 1 3 7 9 10 11 12 13 15 +0 1 3 7 9 10 11 12 14 15 +0 1 3 7 9 10 11 13 14 15 +0 1 3 7 9 10 12 13 14 15 +0 1 3 7 9 11 12 13 14 15 +0 1 3 7 10 11 12 13 14 15 +0 1 3 8 9 10 11 12 13 14 +0 1 3 8 9 10 11 12 13 15 +0 1 3 8 9 10 11 12 14 15 +0 1 3 8 9 10 11 13 14 15 +0 1 3 8 9 10 12 13 14 15 +0 1 3 8 9 11 12 13 14 15 +0 1 3 8 10 11 12 13 14 15 +0 1 3 9 10 11 12 13 14 15 +0 1 4 5 6 7 8 9 10 11 +0 1 4 5 6 7 8 9 10 12 +0 1 4 5 6 7 8 9 10 13 +0 1 4 5 6 7 8 9 10 14 +0 1 4 5 6 7 8 9 10 15 +0 1 4 5 6 7 8 9 11 12 +0 1 4 5 6 7 8 9 11 13 +0 1 4 5 6 7 8 9 11 14 +0 1 4 5 6 7 8 9 11 15 +0 1 4 5 6 7 8 9 12 13 +0 1 4 5 6 7 8 9 12 14 +0 1 4 5 6 7 8 9 12 15 +0 1 4 5 6 7 8 9 13 14 +0 1 4 5 6 7 8 9 13 15 +0 1 4 5 6 7 8 9 14 15 +0 1 4 5 6 7 8 10 11 12 +0 1 4 5 6 7 8 10 11 13 +0 1 4 5 6 7 8 10 11 14 +0 1 4 5 6 7 8 10 11 15 +0 1 4 5 6 7 8 10 12 13 +0 1 4 5 6 7 8 10 12 14 +0 1 4 5 6 7 8 10 12 15 +0 1 4 5 6 7 8 10 13 14 +0 1 4 5 6 7 8 10 13 15 +0 1 4 5 6 7 8 10 14 15 +0 1 4 5 6 7 8 11 12 13 +0 1 4 5 6 7 8 11 12 14 +0 1 4 5 6 7 8 11 12 15 +0 1 4 5 6 7 8 11 13 14 +0 1 4 5 6 7 8 11 13 15 +0 1 4 5 6 7 8 11 14 15 +0 1 4 5 6 7 8 12 13 14 +0 1 4 5 6 7 8 12 13 15 +0 1 4 5 6 7 8 12 14 15 +0 1 4 5 6 7 8 13 14 15 +0 1 4 5 6 7 9 10 11 12 +0 1 4 5 6 7 9 10 11 13 +0 1 4 5 6 7 9 10 11 14 +0 1 4 5 6 7 9 10 11 15 +0 1 4 5 6 7 9 10 12 13 +0 1 4 5 6 7 9 10 12 14 +0 1 4 5 6 7 9 10 12 15 +0 1 4 5 6 7 9 10 13 14 +0 1 4 5 6 7 9 10 13 15 +0 1 4 5 6 7 9 10 14 15 +0 1 4 5 6 7 9 11 12 13 +0 1 4 5 6 7 9 11 12 14 +0 1 4 5 6 7 9 11 12 15 +0 1 4 5 6 7 9 11 13 14 +0 1 4 5 6 7 9 11 13 15 +0 1 4 5 6 7 9 11 14 15 +0 1 4 5 6 7 9 12 13 14 +0 1 4 5 6 7 9 12 13 15 +0 1 4 5 6 7 9 12 14 15 +0 1 4 5 6 7 9 13 14 15 +0 1 4 5 6 7 10 11 12 13 +0 1 4 5 6 7 10 11 12 14 +0 1 4 5 6 7 10 11 12 15 +0 1 4 5 6 7 10 11 13 14 +0 1 4 5 6 7 10 11 13 15 +0 1 4 5 6 7 10 11 14 15 +0 1 4 5 6 7 10 12 13 14 +0 1 4 5 6 7 10 12 13 15 +0 1 4 5 6 7 10 12 14 15 +0 1 4 5 6 7 10 13 14 15 +0 1 4 5 6 7 11 12 13 14 +0 1 4 5 6 7 11 12 13 15 +0 1 4 5 6 7 11 12 14 15 +0 1 4 5 6 7 11 13 14 15 +0 1 4 5 6 7 12 13 14 15 +0 1 4 5 6 8 9 10 11 12 +0 1 4 5 6 8 9 10 11 13 +0 1 4 5 6 8 9 10 11 14 +0 1 4 5 6 8 9 10 11 15 +0 1 4 5 6 8 9 10 12 13 +0 1 4 5 6 8 9 10 12 14 +0 1 4 5 6 8 9 10 12 15 +0 1 4 5 6 8 9 10 13 14 +0 1 4 5 6 8 9 10 13 15 +0 1 4 5 6 8 9 10 14 15 +0 1 4 5 6 8 9 11 12 13 +0 1 4 5 6 8 9 11 12 14 +0 1 4 5 6 8 9 11 12 15 +0 1 4 5 6 8 9 11 13 14 +0 1 4 5 6 8 9 11 13 15 +0 1 4 5 6 8 9 11 14 15 +0 1 4 5 6 8 9 12 13 14 +0 1 4 5 6 8 9 12 13 15 +0 1 4 5 6 8 9 12 14 15 +0 1 4 5 6 8 9 13 14 15 +0 1 4 5 6 8 10 11 12 13 +0 1 4 5 6 8 10 11 12 14 +0 1 4 5 6 8 10 11 12 15 +0 1 4 5 6 8 10 11 13 14 +0 1 4 5 6 8 10 11 13 15 +0 1 4 5 6 8 10 11 14 15 +0 1 4 5 6 8 10 12 13 14 +0 1 4 5 6 8 10 12 13 15 +0 1 4 5 6 8 10 12 14 15 +0 1 4 5 6 8 10 13 14 15 +0 1 4 5 6 8 11 12 13 14 +0 1 4 5 6 8 11 12 13 15 +0 1 4 5 6 8 11 12 14 15 +0 1 4 5 6 8 11 13 14 15 +0 1 4 5 6 8 12 13 14 15 +0 1 4 5 6 9 10 11 12 13 +0 1 4 5 6 9 10 11 12 14 +0 1 4 5 6 9 10 11 12 15 +0 1 4 5 6 9 10 11 13 14 +0 1 4 5 6 9 10 11 13 15 +0 1 4 5 6 9 10 11 14 15 +0 1 4 5 6 9 10 12 13 14 +0 1 4 5 6 9 10 12 13 15 +0 1 4 5 6 9 10 12 14 15 +0 1 4 5 6 9 10 13 14 15 +0 1 4 5 6 9 11 12 13 14 +0 1 4 5 6 9 11 12 13 15 +0 1 4 5 6 9 11 12 14 15 +0 1 4 5 6 9 11 13 14 15 +0 1 4 5 6 9 12 13 14 15 +0 1 4 5 6 10 11 12 13 14 +0 1 4 5 6 10 11 12 13 15 +0 1 4 5 6 10 11 12 14 15 +0 1 4 5 6 10 11 13 14 15 +0 1 4 5 6 10 12 13 14 15 +0 1 4 5 6 11 12 13 14 15 +0 1 4 5 7 8 9 10 11 12 +0 1 4 5 7 8 9 10 11 13 +0 1 4 5 7 8 9 10 11 14 +0 1 4 5 7 8 9 10 11 15 +0 1 4 5 7 8 9 10 12 13 +0 1 4 5 7 8 9 10 12 14 +0 1 4 5 7 8 9 10 12 15 +0 1 4 5 7 8 9 10 13 14 +0 1 4 5 7 8 9 10 13 15 +0 1 4 5 7 8 9 10 14 15 +0 1 4 5 7 8 9 11 12 13 +0 1 4 5 7 8 9 11 12 14 +0 1 4 5 7 8 9 11 12 15 +0 1 4 5 7 8 9 11 13 14 +0 1 4 5 7 8 9 11 13 15 +0 1 4 5 7 8 9 11 14 15 +0 1 4 5 7 8 9 12 13 14 +0 1 4 5 7 8 9 12 13 15 +0 1 4 5 7 8 9 12 14 15 +0 1 4 5 7 8 9 13 14 15 +0 1 4 5 7 8 10 11 12 13 +0 1 4 5 7 8 10 11 12 14 +0 1 4 5 7 8 10 11 12 15 +0 1 4 5 7 8 10 11 13 14 +0 1 4 5 7 8 10 11 13 15 +0 1 4 5 7 8 10 11 14 15 +0 1 4 5 7 8 10 12 13 14 +0 1 4 5 7 8 10 12 13 15 +0 1 4 5 7 8 10 12 14 15 +0 1 4 5 7 8 10 13 14 15 +0 1 4 5 7 8 11 12 13 14 +0 1 4 5 7 8 11 12 13 15 +0 1 4 5 7 8 11 12 14 15 +0 1 4 5 7 8 11 13 14 15 +0 1 4 5 7 8 12 13 14 15 +0 1 4 5 7 9 10 11 12 13 +0 1 4 5 7 9 10 11 12 14 +0 1 4 5 7 9 10 11 12 15 +0 1 4 5 7 9 10 11 13 14 +0 1 4 5 7 9 10 11 13 15 +0 1 4 5 7 9 10 11 14 15 +0 1 4 5 7 9 10 12 13 14 +0 1 4 5 7 9 10 12 13 15 +0 1 4 5 7 9 10 12 14 15 +0 1 4 5 7 9 10 13 14 15 +0 1 4 5 7 9 11 12 13 14 +0 1 4 5 7 9 11 12 13 15 +0 1 4 5 7 9 11 12 14 15 +0 1 4 5 7 9 11 13 14 15 +0 1 4 5 7 9 12 13 14 15 +0 1 4 5 7 10 11 12 13 14 +0 1 4 5 7 10 11 12 13 15 +0 1 4 5 7 10 11 12 14 15 +0 1 4 5 7 10 11 13 14 15 +0 1 4 5 7 10 12 13 14 15 +0 1 4 5 7 11 12 13 14 15 +0 1 4 5 8 9 10 11 12 13 +0 1 4 5 8 9 10 11 12 14 +0 1 4 5 8 9 10 11 12 15 +0 1 4 5 8 9 10 11 13 14 +0 1 4 5 8 9 10 11 13 15 +0 1 4 5 8 9 10 11 14 15 +0 1 4 5 8 9 10 12 13 14 +0 1 4 5 8 9 10 12 13 15 +0 1 4 5 8 9 10 12 14 15 +0 1 4 5 8 9 10 13 14 15 +0 1 4 5 8 9 11 12 13 14 +0 1 4 5 8 9 11 12 13 15 +0 1 4 5 8 9 11 12 14 15 +0 1 4 5 8 9 11 13 14 15 +0 1 4 5 8 9 12 13 14 15 +0 1 4 5 8 10 11 12 13 14 +0 1 4 5 8 10 11 12 13 15 +0 1 4 5 8 10 11 12 14 15 +0 1 4 5 8 10 11 13 14 15 +0 1 4 5 8 10 12 13 14 15 +0 1 4 5 8 11 12 13 14 15 +0 1 4 5 9 10 11 12 13 14 +0 1 4 5 9 10 11 12 13 15 +0 1 4 5 9 10 11 12 14 15 +0 1 4 5 9 10 11 13 14 15 +0 1 4 5 9 10 12 13 14 15 +0 1 4 5 9 11 12 13 14 15 +0 1 4 5 10 11 12 13 14 15 +0 1 4 6 7 8 9 10 11 12 +0 1 4 6 7 8 9 10 11 13 +0 1 4 6 7 8 9 10 11 14 +0 1 4 6 7 8 9 10 11 15 +0 1 4 6 7 8 9 10 12 13 +0 1 4 6 7 8 9 10 12 14 +0 1 4 6 7 8 9 10 12 15 +0 1 4 6 7 8 9 10 13 14 +0 1 4 6 7 8 9 10 13 15 +0 1 4 6 7 8 9 10 14 15 +0 1 4 6 7 8 9 11 12 13 +0 1 4 6 7 8 9 11 12 14 +0 1 4 6 7 8 9 11 12 15 +0 1 4 6 7 8 9 11 13 14 +0 1 4 6 7 8 9 11 13 15 +0 1 4 6 7 8 9 11 14 15 +0 1 4 6 7 8 9 12 13 14 +0 1 4 6 7 8 9 12 13 15 +0 1 4 6 7 8 9 12 14 15 +0 1 4 6 7 8 9 13 14 15 +0 1 4 6 7 8 10 11 12 13 +0 1 4 6 7 8 10 11 12 14 +0 1 4 6 7 8 10 11 12 15 +0 1 4 6 7 8 10 11 13 14 +0 1 4 6 7 8 10 11 13 15 +0 1 4 6 7 8 10 11 14 15 +0 1 4 6 7 8 10 12 13 14 +0 1 4 6 7 8 10 12 13 15 +0 1 4 6 7 8 10 12 14 15 +0 1 4 6 7 8 10 13 14 15 +0 1 4 6 7 8 11 12 13 14 +0 1 4 6 7 8 11 12 13 15 +0 1 4 6 7 8 11 12 14 15 +0 1 4 6 7 8 11 13 14 15 +0 1 4 6 7 8 12 13 14 15 +0 1 4 6 7 9 10 11 12 13 +0 1 4 6 7 9 10 11 12 14 +0 1 4 6 7 9 10 11 12 15 +0 1 4 6 7 9 10 11 13 14 +0 1 4 6 7 9 10 11 13 15 +0 1 4 6 7 9 10 11 14 15 +0 1 4 6 7 9 10 12 13 14 +0 1 4 6 7 9 10 12 13 15 +0 1 4 6 7 9 10 12 14 15 +0 1 4 6 7 9 10 13 14 15 +0 1 4 6 7 9 11 12 13 14 +0 1 4 6 7 9 11 12 13 15 +0 1 4 6 7 9 11 12 14 15 +0 1 4 6 7 9 11 13 14 15 +0 1 4 6 7 9 12 13 14 15 +0 1 4 6 7 10 11 12 13 14 +0 1 4 6 7 10 11 12 13 15 +0 1 4 6 7 10 11 12 14 15 +0 1 4 6 7 10 11 13 14 15 +0 1 4 6 7 10 12 13 14 15 +0 1 4 6 7 11 12 13 14 15 +0 1 4 6 8 9 10 11 12 13 +0 1 4 6 8 9 10 11 12 14 +0 1 4 6 8 9 10 11 12 15 +0 1 4 6 8 9 10 11 13 14 +0 1 4 6 8 9 10 11 13 15 +0 1 4 6 8 9 10 11 14 15 +0 1 4 6 8 9 10 12 13 14 +0 1 4 6 8 9 10 12 13 15 +0 1 4 6 8 9 10 12 14 15 +0 1 4 6 8 9 10 13 14 15 +0 1 4 6 8 9 11 12 13 14 +0 1 4 6 8 9 11 12 13 15 +0 1 4 6 8 9 11 12 14 15 +0 1 4 6 8 9 11 13 14 15 +0 1 4 6 8 9 12 13 14 15 +0 1 4 6 8 10 11 12 13 14 +0 1 4 6 8 10 11 12 13 15 +0 1 4 6 8 10 11 12 14 15 +0 1 4 6 8 10 11 13 14 15 +0 1 4 6 8 10 12 13 14 15 +0 1 4 6 8 11 12 13 14 15 +0 1 4 6 9 10 11 12 13 14 +0 1 4 6 9 10 11 12 13 15 +0 1 4 6 9 10 11 12 14 15 +0 1 4 6 9 10 11 13 14 15 +0 1 4 6 9 10 12 13 14 15 +0 1 4 6 9 11 12 13 14 15 +0 1 4 6 10 11 12 13 14 15 +0 1 4 7 8 9 10 11 12 13 +0 1 4 7 8 9 10 11 12 14 +0 1 4 7 8 9 10 11 12 15 +0 1 4 7 8 9 10 11 13 14 +0 1 4 7 8 9 10 11 13 15 +0 1 4 7 8 9 10 11 14 15 +0 1 4 7 8 9 10 12 13 14 +0 1 4 7 8 9 10 12 13 15 +0 1 4 7 8 9 10 12 14 15 +0 1 4 7 8 9 10 13 14 15 +0 1 4 7 8 9 11 12 13 14 +0 1 4 7 8 9 11 12 13 15 +0 1 4 7 8 9 11 12 14 15 +0 1 4 7 8 9 11 13 14 15 +0 1 4 7 8 9 12 13 14 15 +0 1 4 7 8 10 11 12 13 14 +0 1 4 7 8 10 11 12 13 15 +0 1 4 7 8 10 11 12 14 15 +0 1 4 7 8 10 11 13 14 15 +0 1 4 7 8 10 12 13 14 15 +0 1 4 7 8 11 12 13 14 15 +0 1 4 7 9 10 11 12 13 14 +0 1 4 7 9 10 11 12 13 15 +0 1 4 7 9 10 11 12 14 15 +0 1 4 7 9 10 11 13 14 15 +0 1 4 7 9 10 12 13 14 15 +0 1 4 7 9 11 12 13 14 15 +0 1 4 7 10 11 12 13 14 15 +0 1 4 8 9 10 11 12 13 14 +0 1 4 8 9 10 11 12 13 15 +0 1 4 8 9 10 11 12 14 15 +0 1 4 8 9 10 11 13 14 15 +0 1 4 8 9 10 12 13 14 15 +0 1 4 8 9 11 12 13 14 15 +0 1 4 8 10 11 12 13 14 15 +0 1 4 9 10 11 12 13 14 15 +0 1 5 6 7 8 9 10 11 12 +0 1 5 6 7 8 9 10 11 13 +0 1 5 6 7 8 9 10 11 14 +0 1 5 6 7 8 9 10 11 15 +0 1 5 6 7 8 9 10 12 13 +0 1 5 6 7 8 9 10 12 14 +0 1 5 6 7 8 9 10 12 15 +0 1 5 6 7 8 9 10 13 14 +0 1 5 6 7 8 9 10 13 15 +0 1 5 6 7 8 9 10 14 15 +0 1 5 6 7 8 9 11 12 13 +0 1 5 6 7 8 9 11 12 14 +0 1 5 6 7 8 9 11 12 15 +0 1 5 6 7 8 9 11 13 14 +0 1 5 6 7 8 9 11 13 15 +0 1 5 6 7 8 9 11 14 15 +0 1 5 6 7 8 9 12 13 14 +0 1 5 6 7 8 9 12 13 15 +0 1 5 6 7 8 9 12 14 15 +0 1 5 6 7 8 9 13 14 15 +0 1 5 6 7 8 10 11 12 13 +0 1 5 6 7 8 10 11 12 14 +0 1 5 6 7 8 10 11 12 15 +0 1 5 6 7 8 10 11 13 14 +0 1 5 6 7 8 10 11 13 15 +0 1 5 6 7 8 10 11 14 15 +0 1 5 6 7 8 10 12 13 14 +0 1 5 6 7 8 10 12 13 15 +0 1 5 6 7 8 10 12 14 15 +0 1 5 6 7 8 10 13 14 15 +0 1 5 6 7 8 11 12 13 14 +0 1 5 6 7 8 11 12 13 15 +0 1 5 6 7 8 11 12 14 15 +0 1 5 6 7 8 11 13 14 15 +0 1 5 6 7 8 12 13 14 15 +0 1 5 6 7 9 10 11 12 13 +0 1 5 6 7 9 10 11 12 14 +0 1 5 6 7 9 10 11 12 15 +0 1 5 6 7 9 10 11 13 14 +0 1 5 6 7 9 10 11 13 15 +0 1 5 6 7 9 10 11 14 15 +0 1 5 6 7 9 10 12 13 14 +0 1 5 6 7 9 10 12 13 15 +0 1 5 6 7 9 10 12 14 15 +0 1 5 6 7 9 10 13 14 15 +0 1 5 6 7 9 11 12 13 14 +0 1 5 6 7 9 11 12 13 15 +0 1 5 6 7 9 11 12 14 15 +0 1 5 6 7 9 11 13 14 15 +0 1 5 6 7 9 12 13 14 15 +0 1 5 6 7 10 11 12 13 14 +0 1 5 6 7 10 11 12 13 15 +0 1 5 6 7 10 11 12 14 15 +0 1 5 6 7 10 11 13 14 15 +0 1 5 6 7 10 12 13 14 15 +0 1 5 6 7 11 12 13 14 15 +0 1 5 6 8 9 10 11 12 13 +0 1 5 6 8 9 10 11 12 14 +0 1 5 6 8 9 10 11 12 15 +0 1 5 6 8 9 10 11 13 14 +0 1 5 6 8 9 10 11 13 15 +0 1 5 6 8 9 10 11 14 15 +0 1 5 6 8 9 10 12 13 14 +0 1 5 6 8 9 10 12 13 15 +0 1 5 6 8 9 10 12 14 15 +0 1 5 6 8 9 10 13 14 15 +0 1 5 6 8 9 11 12 13 14 +0 1 5 6 8 9 11 12 13 15 +0 1 5 6 8 9 11 12 14 15 +0 1 5 6 8 9 11 13 14 15 +0 1 5 6 8 9 12 13 14 15 +0 1 5 6 8 10 11 12 13 14 +0 1 5 6 8 10 11 12 13 15 +0 1 5 6 8 10 11 12 14 15 +0 1 5 6 8 10 11 13 14 15 +0 1 5 6 8 10 12 13 14 15 +0 1 5 6 8 11 12 13 14 15 +0 1 5 6 9 10 11 12 13 14 +0 1 5 6 9 10 11 12 13 15 +0 1 5 6 9 10 11 12 14 15 +0 1 5 6 9 10 11 13 14 15 +0 1 5 6 9 10 12 13 14 15 +0 1 5 6 9 11 12 13 14 15 +0 1 5 6 10 11 12 13 14 15 +0 1 5 7 8 9 10 11 12 13 +0 1 5 7 8 9 10 11 12 14 +0 1 5 7 8 9 10 11 12 15 +0 1 5 7 8 9 10 11 13 14 +0 1 5 7 8 9 10 11 13 15 +0 1 5 7 8 9 10 11 14 15 +0 1 5 7 8 9 10 12 13 14 +0 1 5 7 8 9 10 12 13 15 +0 1 5 7 8 9 10 12 14 15 +0 1 5 7 8 9 10 13 14 15 +0 1 5 7 8 9 11 12 13 14 +0 1 5 7 8 9 11 12 13 15 +0 1 5 7 8 9 11 12 14 15 +0 1 5 7 8 9 11 13 14 15 +0 1 5 7 8 9 12 13 14 15 +0 1 5 7 8 10 11 12 13 14 +0 1 5 7 8 10 11 12 13 15 +0 1 5 7 8 10 11 12 14 15 +0 1 5 7 8 10 11 13 14 15 +0 1 5 7 8 10 12 13 14 15 +0 1 5 7 8 11 12 13 14 15 +0 1 5 7 9 10 11 12 13 14 +0 1 5 7 9 10 11 12 13 15 +0 1 5 7 9 10 11 12 14 15 +0 1 5 7 9 10 11 13 14 15 +0 1 5 7 9 10 12 13 14 15 +0 1 5 7 9 11 12 13 14 15 +0 1 5 7 10 11 12 13 14 15 +0 1 5 8 9 10 11 12 13 14 +0 1 5 8 9 10 11 12 13 15 +0 1 5 8 9 10 11 12 14 15 +0 1 5 8 9 10 11 13 14 15 +0 1 5 8 9 10 12 13 14 15 +0 1 5 8 9 11 12 13 14 15 +0 1 5 8 10 11 12 13 14 15 +0 1 5 9 10 11 12 13 14 15 +0 1 6 7 8 9 10 11 12 13 +0 1 6 7 8 9 10 11 12 14 +0 1 6 7 8 9 10 11 12 15 +0 1 6 7 8 9 10 11 13 14 +0 1 6 7 8 9 10 11 13 15 +0 1 6 7 8 9 10 11 14 15 +0 1 6 7 8 9 10 12 13 14 +0 1 6 7 8 9 10 12 13 15 +0 1 6 7 8 9 10 12 14 15 +0 1 6 7 8 9 10 13 14 15 +0 1 6 7 8 9 11 12 13 14 +0 1 6 7 8 9 11 12 13 15 +0 1 6 7 8 9 11 12 14 15 +0 1 6 7 8 9 11 13 14 15 +0 1 6 7 8 9 12 13 14 15 +0 1 6 7 8 10 11 12 13 14 +0 1 6 7 8 10 11 12 13 15 +0 1 6 7 8 10 11 12 14 15 +0 1 6 7 8 10 11 13 14 15 +0 1 6 7 8 10 12 13 14 15 +0 1 6 7 8 11 12 13 14 15 +0 1 6 7 9 10 11 12 13 14 +0 1 6 7 9 10 11 12 13 15 +0 1 6 7 9 10 11 12 14 15 +0 1 6 7 9 10 11 13 14 15 +0 1 6 7 9 10 12 13 14 15 +0 1 6 7 9 11 12 13 14 15 +0 1 6 7 10 11 12 13 14 15 +0 1 6 8 9 10 11 12 13 14 +0 1 6 8 9 10 11 12 13 15 +0 1 6 8 9 10 11 12 14 15 +0 1 6 8 9 10 11 13 14 15 +0 1 6 8 9 10 12 13 14 15 +0 1 6 8 9 11 12 13 14 15 +0 1 6 8 10 11 12 13 14 15 +0 1 6 9 10 11 12 13 14 15 +0 1 7 8 9 10 11 12 13 14 +0 1 7 8 9 10 11 12 13 15 +0 1 7 8 9 10 11 12 14 15 +0 1 7 8 9 10 11 13 14 15 +0 1 7 8 9 10 12 13 14 15 +0 1 7 8 9 11 12 13 14 15 +0 1 7 8 10 11 12 13 14 15 +0 1 7 9 10 11 12 13 14 15 +0 1 8 9 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 9 10 +0 2 3 4 5 6 7 8 9 11 +0 2 3 4 5 6 7 8 9 12 +0 2 3 4 5 6 7 8 9 13 +0 2 3 4 5 6 7 8 9 14 +0 2 3 4 5 6 7 8 9 15 +0 2 3 4 5 6 7 8 10 11 +0 2 3 4 5 6 7 8 10 12 +0 2 3 4 5 6 7 8 10 13 +0 2 3 4 5 6 7 8 10 14 +0 2 3 4 5 6 7 8 10 15 +0 2 3 4 5 6 7 8 11 12 +0 2 3 4 5 6 7 8 11 13 +0 2 3 4 5 6 7 8 11 14 +0 2 3 4 5 6 7 8 11 15 +0 2 3 4 5 6 7 8 12 13 +0 2 3 4 5 6 7 8 12 14 +0 2 3 4 5 6 7 8 12 15 +0 2 3 4 5 6 7 8 13 14 +0 2 3 4 5 6 7 8 13 15 +0 2 3 4 5 6 7 8 14 15 +0 2 3 4 5 6 7 9 10 11 +0 2 3 4 5 6 7 9 10 12 +0 2 3 4 5 6 7 9 10 13 +0 2 3 4 5 6 7 9 10 14 +0 2 3 4 5 6 7 9 10 15 +0 2 3 4 5 6 7 9 11 12 +0 2 3 4 5 6 7 9 11 13 +0 2 3 4 5 6 7 9 11 14 +0 2 3 4 5 6 7 9 11 15 +0 2 3 4 5 6 7 9 12 13 +0 2 3 4 5 6 7 9 12 14 +0 2 3 4 5 6 7 9 12 15 +0 2 3 4 5 6 7 9 13 14 +0 2 3 4 5 6 7 9 13 15 +0 2 3 4 5 6 7 9 14 15 +0 2 3 4 5 6 7 10 11 12 +0 2 3 4 5 6 7 10 11 13 +0 2 3 4 5 6 7 10 11 14 +0 2 3 4 5 6 7 10 11 15 +0 2 3 4 5 6 7 10 12 13 +0 2 3 4 5 6 7 10 12 14 +0 2 3 4 5 6 7 10 12 15 +0 2 3 4 5 6 7 10 13 14 +0 2 3 4 5 6 7 10 13 15 +0 2 3 4 5 6 7 10 14 15 +0 2 3 4 5 6 7 11 12 13 +0 2 3 4 5 6 7 11 12 14 +0 2 3 4 5 6 7 11 12 15 +0 2 3 4 5 6 7 11 13 14 +0 2 3 4 5 6 7 11 13 15 +0 2 3 4 5 6 7 11 14 15 +0 2 3 4 5 6 7 12 13 14 +0 2 3 4 5 6 7 12 13 15 +0 2 3 4 5 6 7 12 14 15 +0 2 3 4 5 6 7 13 14 15 +0 2 3 4 5 6 8 9 10 11 +0 2 3 4 5 6 8 9 10 12 +0 2 3 4 5 6 8 9 10 13 +0 2 3 4 5 6 8 9 10 14 +0 2 3 4 5 6 8 9 10 15 +0 2 3 4 5 6 8 9 11 12 +0 2 3 4 5 6 8 9 11 13 +0 2 3 4 5 6 8 9 11 14 +0 2 3 4 5 6 8 9 11 15 +0 2 3 4 5 6 8 9 12 13 +0 2 3 4 5 6 8 9 12 14 +0 2 3 4 5 6 8 9 12 15 +0 2 3 4 5 6 8 9 13 14 +0 2 3 4 5 6 8 9 13 15 +0 2 3 4 5 6 8 9 14 15 +0 2 3 4 5 6 8 10 11 12 +0 2 3 4 5 6 8 10 11 13 +0 2 3 4 5 6 8 10 11 14 +0 2 3 4 5 6 8 10 11 15 +0 2 3 4 5 6 8 10 12 13 +0 2 3 4 5 6 8 10 12 14 +0 2 3 4 5 6 8 10 12 15 +0 2 3 4 5 6 8 10 13 14 +0 2 3 4 5 6 8 10 13 15 +0 2 3 4 5 6 8 10 14 15 +0 2 3 4 5 6 8 11 12 13 +0 2 3 4 5 6 8 11 12 14 +0 2 3 4 5 6 8 11 12 15 +0 2 3 4 5 6 8 11 13 14 +0 2 3 4 5 6 8 11 13 15 +0 2 3 4 5 6 8 11 14 15 +0 2 3 4 5 6 8 12 13 14 +0 2 3 4 5 6 8 12 13 15 +0 2 3 4 5 6 8 12 14 15 +0 2 3 4 5 6 8 13 14 15 +0 2 3 4 5 6 9 10 11 12 +0 2 3 4 5 6 9 10 11 13 +0 2 3 4 5 6 9 10 11 14 +0 2 3 4 5 6 9 10 11 15 +0 2 3 4 5 6 9 10 12 13 +0 2 3 4 5 6 9 10 12 14 +0 2 3 4 5 6 9 10 12 15 +0 2 3 4 5 6 9 10 13 14 +0 2 3 4 5 6 9 10 13 15 +0 2 3 4 5 6 9 10 14 15 +0 2 3 4 5 6 9 11 12 13 +0 2 3 4 5 6 9 11 12 14 +0 2 3 4 5 6 9 11 12 15 +0 2 3 4 5 6 9 11 13 14 +0 2 3 4 5 6 9 11 13 15 +0 2 3 4 5 6 9 11 14 15 +0 2 3 4 5 6 9 12 13 14 +0 2 3 4 5 6 9 12 13 15 +0 2 3 4 5 6 9 12 14 15 +0 2 3 4 5 6 9 13 14 15 +0 2 3 4 5 6 10 11 12 13 +0 2 3 4 5 6 10 11 12 14 +0 2 3 4 5 6 10 11 12 15 +0 2 3 4 5 6 10 11 13 14 +0 2 3 4 5 6 10 11 13 15 +0 2 3 4 5 6 10 11 14 15 +0 2 3 4 5 6 10 12 13 14 +0 2 3 4 5 6 10 12 13 15 +0 2 3 4 5 6 10 12 14 15 +0 2 3 4 5 6 10 13 14 15 +0 2 3 4 5 6 11 12 13 14 +0 2 3 4 5 6 11 12 13 15 +0 2 3 4 5 6 11 12 14 15 +0 2 3 4 5 6 11 13 14 15 +0 2 3 4 5 6 12 13 14 15 +0 2 3 4 5 7 8 9 10 11 +0 2 3 4 5 7 8 9 10 12 +0 2 3 4 5 7 8 9 10 13 +0 2 3 4 5 7 8 9 10 14 +0 2 3 4 5 7 8 9 10 15 +0 2 3 4 5 7 8 9 11 12 +0 2 3 4 5 7 8 9 11 13 +0 2 3 4 5 7 8 9 11 14 +0 2 3 4 5 7 8 9 11 15 +0 2 3 4 5 7 8 9 12 13 +0 2 3 4 5 7 8 9 12 14 +0 2 3 4 5 7 8 9 12 15 +0 2 3 4 5 7 8 9 13 14 +0 2 3 4 5 7 8 9 13 15 +0 2 3 4 5 7 8 9 14 15 +0 2 3 4 5 7 8 10 11 12 +0 2 3 4 5 7 8 10 11 13 +0 2 3 4 5 7 8 10 11 14 +0 2 3 4 5 7 8 10 11 15 +0 2 3 4 5 7 8 10 12 13 +0 2 3 4 5 7 8 10 12 14 +0 2 3 4 5 7 8 10 12 15 +0 2 3 4 5 7 8 10 13 14 +0 2 3 4 5 7 8 10 13 15 +0 2 3 4 5 7 8 10 14 15 +0 2 3 4 5 7 8 11 12 13 +0 2 3 4 5 7 8 11 12 14 +0 2 3 4 5 7 8 11 12 15 +0 2 3 4 5 7 8 11 13 14 +0 2 3 4 5 7 8 11 13 15 +0 2 3 4 5 7 8 11 14 15 +0 2 3 4 5 7 8 12 13 14 +0 2 3 4 5 7 8 12 13 15 +0 2 3 4 5 7 8 12 14 15 +0 2 3 4 5 7 8 13 14 15 +0 2 3 4 5 7 9 10 11 12 +0 2 3 4 5 7 9 10 11 13 +0 2 3 4 5 7 9 10 11 14 +0 2 3 4 5 7 9 10 11 15 +0 2 3 4 5 7 9 10 12 13 +0 2 3 4 5 7 9 10 12 14 +0 2 3 4 5 7 9 10 12 15 +0 2 3 4 5 7 9 10 13 14 +0 2 3 4 5 7 9 10 13 15 +0 2 3 4 5 7 9 10 14 15 +0 2 3 4 5 7 9 11 12 13 +0 2 3 4 5 7 9 11 12 14 +0 2 3 4 5 7 9 11 12 15 +0 2 3 4 5 7 9 11 13 14 +0 2 3 4 5 7 9 11 13 15 +0 2 3 4 5 7 9 11 14 15 +0 2 3 4 5 7 9 12 13 14 +0 2 3 4 5 7 9 12 13 15 +0 2 3 4 5 7 9 12 14 15 +0 2 3 4 5 7 9 13 14 15 +0 2 3 4 5 7 10 11 12 13 +0 2 3 4 5 7 10 11 12 14 +0 2 3 4 5 7 10 11 12 15 +0 2 3 4 5 7 10 11 13 14 +0 2 3 4 5 7 10 11 13 15 +0 2 3 4 5 7 10 11 14 15 +0 2 3 4 5 7 10 12 13 14 +0 2 3 4 5 7 10 12 13 15 +0 2 3 4 5 7 10 12 14 15 +0 2 3 4 5 7 10 13 14 15 +0 2 3 4 5 7 11 12 13 14 +0 2 3 4 5 7 11 12 13 15 +0 2 3 4 5 7 11 12 14 15 +0 2 3 4 5 7 11 13 14 15 +0 2 3 4 5 7 12 13 14 15 +0 2 3 4 5 8 9 10 11 12 +0 2 3 4 5 8 9 10 11 13 +0 2 3 4 5 8 9 10 11 14 +0 2 3 4 5 8 9 10 11 15 +0 2 3 4 5 8 9 10 12 13 +0 2 3 4 5 8 9 10 12 14 +0 2 3 4 5 8 9 10 12 15 +0 2 3 4 5 8 9 10 13 14 +0 2 3 4 5 8 9 10 13 15 +0 2 3 4 5 8 9 10 14 15 +0 2 3 4 5 8 9 11 12 13 +0 2 3 4 5 8 9 11 12 14 +0 2 3 4 5 8 9 11 12 15 +0 2 3 4 5 8 9 11 13 14 +0 2 3 4 5 8 9 11 13 15 +0 2 3 4 5 8 9 11 14 15 +0 2 3 4 5 8 9 12 13 14 +0 2 3 4 5 8 9 12 13 15 +0 2 3 4 5 8 9 12 14 15 +0 2 3 4 5 8 9 13 14 15 +0 2 3 4 5 8 10 11 12 13 +0 2 3 4 5 8 10 11 12 14 +0 2 3 4 5 8 10 11 12 15 +0 2 3 4 5 8 10 11 13 14 +0 2 3 4 5 8 10 11 13 15 +0 2 3 4 5 8 10 11 14 15 +0 2 3 4 5 8 10 12 13 14 +0 2 3 4 5 8 10 12 13 15 +0 2 3 4 5 8 10 12 14 15 +0 2 3 4 5 8 10 13 14 15 +0 2 3 4 5 8 11 12 13 14 +0 2 3 4 5 8 11 12 13 15 +0 2 3 4 5 8 11 12 14 15 +0 2 3 4 5 8 11 13 14 15 +0 2 3 4 5 8 12 13 14 15 +0 2 3 4 5 9 10 11 12 13 +0 2 3 4 5 9 10 11 12 14 +0 2 3 4 5 9 10 11 12 15 +0 2 3 4 5 9 10 11 13 14 +0 2 3 4 5 9 10 11 13 15 +0 2 3 4 5 9 10 11 14 15 +0 2 3 4 5 9 10 12 13 14 +0 2 3 4 5 9 10 12 13 15 +0 2 3 4 5 9 10 12 14 15 +0 2 3 4 5 9 10 13 14 15 +0 2 3 4 5 9 11 12 13 14 +0 2 3 4 5 9 11 12 13 15 +0 2 3 4 5 9 11 12 14 15 +0 2 3 4 5 9 11 13 14 15 +0 2 3 4 5 9 12 13 14 15 +0 2 3 4 5 10 11 12 13 14 +0 2 3 4 5 10 11 12 13 15 +0 2 3 4 5 10 11 12 14 15 +0 2 3 4 5 10 11 13 14 15 +0 2 3 4 5 10 12 13 14 15 +0 2 3 4 5 11 12 13 14 15 +0 2 3 4 6 7 8 9 10 11 +0 2 3 4 6 7 8 9 10 12 +0 2 3 4 6 7 8 9 10 13 +0 2 3 4 6 7 8 9 10 14 +0 2 3 4 6 7 8 9 10 15 +0 2 3 4 6 7 8 9 11 12 +0 2 3 4 6 7 8 9 11 13 +0 2 3 4 6 7 8 9 11 14 +0 2 3 4 6 7 8 9 11 15 +0 2 3 4 6 7 8 9 12 13 +0 2 3 4 6 7 8 9 12 14 +0 2 3 4 6 7 8 9 12 15 +0 2 3 4 6 7 8 9 13 14 +0 2 3 4 6 7 8 9 13 15 +0 2 3 4 6 7 8 9 14 15 +0 2 3 4 6 7 8 10 11 12 +0 2 3 4 6 7 8 10 11 13 +0 2 3 4 6 7 8 10 11 14 +0 2 3 4 6 7 8 10 11 15 +0 2 3 4 6 7 8 10 12 13 +0 2 3 4 6 7 8 10 12 14 +0 2 3 4 6 7 8 10 12 15 +0 2 3 4 6 7 8 10 13 14 +0 2 3 4 6 7 8 10 13 15 +0 2 3 4 6 7 8 10 14 15 +0 2 3 4 6 7 8 11 12 13 +0 2 3 4 6 7 8 11 12 14 +0 2 3 4 6 7 8 11 12 15 +0 2 3 4 6 7 8 11 13 14 +0 2 3 4 6 7 8 11 13 15 +0 2 3 4 6 7 8 11 14 15 +0 2 3 4 6 7 8 12 13 14 +0 2 3 4 6 7 8 12 13 15 +0 2 3 4 6 7 8 12 14 15 +0 2 3 4 6 7 8 13 14 15 +0 2 3 4 6 7 9 10 11 12 +0 2 3 4 6 7 9 10 11 13 +0 2 3 4 6 7 9 10 11 14 +0 2 3 4 6 7 9 10 11 15 +0 2 3 4 6 7 9 10 12 13 +0 2 3 4 6 7 9 10 12 14 +0 2 3 4 6 7 9 10 12 15 +0 2 3 4 6 7 9 10 13 14 +0 2 3 4 6 7 9 10 13 15 +0 2 3 4 6 7 9 10 14 15 +0 2 3 4 6 7 9 11 12 13 +0 2 3 4 6 7 9 11 12 14 +0 2 3 4 6 7 9 11 12 15 +0 2 3 4 6 7 9 11 13 14 +0 2 3 4 6 7 9 11 13 15 +0 2 3 4 6 7 9 11 14 15 +0 2 3 4 6 7 9 12 13 14 +0 2 3 4 6 7 9 12 13 15 +0 2 3 4 6 7 9 12 14 15 +0 2 3 4 6 7 9 13 14 15 +0 2 3 4 6 7 10 11 12 13 +0 2 3 4 6 7 10 11 12 14 +0 2 3 4 6 7 10 11 12 15 +0 2 3 4 6 7 10 11 13 14 +0 2 3 4 6 7 10 11 13 15 +0 2 3 4 6 7 10 11 14 15 +0 2 3 4 6 7 10 12 13 14 +0 2 3 4 6 7 10 12 13 15 +0 2 3 4 6 7 10 12 14 15 +0 2 3 4 6 7 10 13 14 15 +0 2 3 4 6 7 11 12 13 14 +0 2 3 4 6 7 11 12 13 15 +0 2 3 4 6 7 11 12 14 15 +0 2 3 4 6 7 11 13 14 15 +0 2 3 4 6 7 12 13 14 15 +0 2 3 4 6 8 9 10 11 12 +0 2 3 4 6 8 9 10 11 13 +0 2 3 4 6 8 9 10 11 14 +0 2 3 4 6 8 9 10 11 15 +0 2 3 4 6 8 9 10 12 13 +0 2 3 4 6 8 9 10 12 14 +0 2 3 4 6 8 9 10 12 15 +0 2 3 4 6 8 9 10 13 14 +0 2 3 4 6 8 9 10 13 15 +0 2 3 4 6 8 9 10 14 15 +0 2 3 4 6 8 9 11 12 13 +0 2 3 4 6 8 9 11 12 14 +0 2 3 4 6 8 9 11 12 15 +0 2 3 4 6 8 9 11 13 14 +0 2 3 4 6 8 9 11 13 15 +0 2 3 4 6 8 9 11 14 15 +0 2 3 4 6 8 9 12 13 14 +0 2 3 4 6 8 9 12 13 15 +0 2 3 4 6 8 9 12 14 15 +0 2 3 4 6 8 9 13 14 15 +0 2 3 4 6 8 10 11 12 13 +0 2 3 4 6 8 10 11 12 14 +0 2 3 4 6 8 10 11 12 15 +0 2 3 4 6 8 10 11 13 14 +0 2 3 4 6 8 10 11 13 15 +0 2 3 4 6 8 10 11 14 15 +0 2 3 4 6 8 10 12 13 14 +0 2 3 4 6 8 10 12 13 15 +0 2 3 4 6 8 10 12 14 15 +0 2 3 4 6 8 10 13 14 15 +0 2 3 4 6 8 11 12 13 14 +0 2 3 4 6 8 11 12 13 15 +0 2 3 4 6 8 11 12 14 15 +0 2 3 4 6 8 11 13 14 15 +0 2 3 4 6 8 12 13 14 15 +0 2 3 4 6 9 10 11 12 13 +0 2 3 4 6 9 10 11 12 14 +0 2 3 4 6 9 10 11 12 15 +0 2 3 4 6 9 10 11 13 14 +0 2 3 4 6 9 10 11 13 15 +0 2 3 4 6 9 10 11 14 15 +0 2 3 4 6 9 10 12 13 14 +0 2 3 4 6 9 10 12 13 15 +0 2 3 4 6 9 10 12 14 15 +0 2 3 4 6 9 10 13 14 15 +0 2 3 4 6 9 11 12 13 14 +0 2 3 4 6 9 11 12 13 15 +0 2 3 4 6 9 11 12 14 15 +0 2 3 4 6 9 11 13 14 15 +0 2 3 4 6 9 12 13 14 15 +0 2 3 4 6 10 11 12 13 14 +0 2 3 4 6 10 11 12 13 15 +0 2 3 4 6 10 11 12 14 15 +0 2 3 4 6 10 11 13 14 15 +0 2 3 4 6 10 12 13 14 15 +0 2 3 4 6 11 12 13 14 15 +0 2 3 4 7 8 9 10 11 12 +0 2 3 4 7 8 9 10 11 13 +0 2 3 4 7 8 9 10 11 14 +0 2 3 4 7 8 9 10 11 15 +0 2 3 4 7 8 9 10 12 13 +0 2 3 4 7 8 9 10 12 14 +0 2 3 4 7 8 9 10 12 15 +0 2 3 4 7 8 9 10 13 14 +0 2 3 4 7 8 9 10 13 15 +0 2 3 4 7 8 9 10 14 15 +0 2 3 4 7 8 9 11 12 13 +0 2 3 4 7 8 9 11 12 14 +0 2 3 4 7 8 9 11 12 15 +0 2 3 4 7 8 9 11 13 14 +0 2 3 4 7 8 9 11 13 15 +0 2 3 4 7 8 9 11 14 15 +0 2 3 4 7 8 9 12 13 14 +0 2 3 4 7 8 9 12 13 15 +0 2 3 4 7 8 9 12 14 15 +0 2 3 4 7 8 9 13 14 15 +0 2 3 4 7 8 10 11 12 13 +0 2 3 4 7 8 10 11 12 14 +0 2 3 4 7 8 10 11 12 15 +0 2 3 4 7 8 10 11 13 14 +0 2 3 4 7 8 10 11 13 15 +0 2 3 4 7 8 10 11 14 15 +0 2 3 4 7 8 10 12 13 14 +0 2 3 4 7 8 10 12 13 15 +0 2 3 4 7 8 10 12 14 15 +0 2 3 4 7 8 10 13 14 15 +0 2 3 4 7 8 11 12 13 14 +0 2 3 4 7 8 11 12 13 15 +0 2 3 4 7 8 11 12 14 15 +0 2 3 4 7 8 11 13 14 15 +0 2 3 4 7 8 12 13 14 15 +0 2 3 4 7 9 10 11 12 13 +0 2 3 4 7 9 10 11 12 14 +0 2 3 4 7 9 10 11 12 15 +0 2 3 4 7 9 10 11 13 14 +0 2 3 4 7 9 10 11 13 15 +0 2 3 4 7 9 10 11 14 15 +0 2 3 4 7 9 10 12 13 14 +0 2 3 4 7 9 10 12 13 15 +0 2 3 4 7 9 10 12 14 15 +0 2 3 4 7 9 10 13 14 15 +0 2 3 4 7 9 11 12 13 14 +0 2 3 4 7 9 11 12 13 15 +0 2 3 4 7 9 11 12 14 15 +0 2 3 4 7 9 11 13 14 15 +0 2 3 4 7 9 12 13 14 15 +0 2 3 4 7 10 11 12 13 14 +0 2 3 4 7 10 11 12 13 15 +0 2 3 4 7 10 11 12 14 15 +0 2 3 4 7 10 11 13 14 15 +0 2 3 4 7 10 12 13 14 15 +0 2 3 4 7 11 12 13 14 15 +0 2 3 4 8 9 10 11 12 13 +0 2 3 4 8 9 10 11 12 14 +0 2 3 4 8 9 10 11 12 15 +0 2 3 4 8 9 10 11 13 14 +0 2 3 4 8 9 10 11 13 15 +0 2 3 4 8 9 10 11 14 15 +0 2 3 4 8 9 10 12 13 14 +0 2 3 4 8 9 10 12 13 15 +0 2 3 4 8 9 10 12 14 15 +0 2 3 4 8 9 10 13 14 15 +0 2 3 4 8 9 11 12 13 14 +0 2 3 4 8 9 11 12 13 15 +0 2 3 4 8 9 11 12 14 15 +0 2 3 4 8 9 11 13 14 15 +0 2 3 4 8 9 12 13 14 15 +0 2 3 4 8 10 11 12 13 14 +0 2 3 4 8 10 11 12 13 15 +0 2 3 4 8 10 11 12 14 15 +0 2 3 4 8 10 11 13 14 15 +0 2 3 4 8 10 12 13 14 15 +0 2 3 4 8 11 12 13 14 15 +0 2 3 4 9 10 11 12 13 14 +0 2 3 4 9 10 11 12 13 15 +0 2 3 4 9 10 11 12 14 15 +0 2 3 4 9 10 11 13 14 15 +0 2 3 4 9 10 12 13 14 15 +0 2 3 4 9 11 12 13 14 15 +0 2 3 4 10 11 12 13 14 15 +0 2 3 5 6 7 8 9 10 11 +0 2 3 5 6 7 8 9 10 12 +0 2 3 5 6 7 8 9 10 13 +0 2 3 5 6 7 8 9 10 14 +0 2 3 5 6 7 8 9 10 15 +0 2 3 5 6 7 8 9 11 12 +0 2 3 5 6 7 8 9 11 13 +0 2 3 5 6 7 8 9 11 14 +0 2 3 5 6 7 8 9 11 15 +0 2 3 5 6 7 8 9 12 13 +0 2 3 5 6 7 8 9 12 14 +0 2 3 5 6 7 8 9 12 15 +0 2 3 5 6 7 8 9 13 14 +0 2 3 5 6 7 8 9 13 15 +0 2 3 5 6 7 8 9 14 15 +0 2 3 5 6 7 8 10 11 12 +0 2 3 5 6 7 8 10 11 13 +0 2 3 5 6 7 8 10 11 14 +0 2 3 5 6 7 8 10 11 15 +0 2 3 5 6 7 8 10 12 13 +0 2 3 5 6 7 8 10 12 14 +0 2 3 5 6 7 8 10 12 15 +0 2 3 5 6 7 8 10 13 14 +0 2 3 5 6 7 8 10 13 15 +0 2 3 5 6 7 8 10 14 15 +0 2 3 5 6 7 8 11 12 13 +0 2 3 5 6 7 8 11 12 14 +0 2 3 5 6 7 8 11 12 15 +0 2 3 5 6 7 8 11 13 14 +0 2 3 5 6 7 8 11 13 15 +0 2 3 5 6 7 8 11 14 15 +0 2 3 5 6 7 8 12 13 14 +0 2 3 5 6 7 8 12 13 15 +0 2 3 5 6 7 8 12 14 15 +0 2 3 5 6 7 8 13 14 15 +0 2 3 5 6 7 9 10 11 12 +0 2 3 5 6 7 9 10 11 13 +0 2 3 5 6 7 9 10 11 14 +0 2 3 5 6 7 9 10 11 15 +0 2 3 5 6 7 9 10 12 13 +0 2 3 5 6 7 9 10 12 14 +0 2 3 5 6 7 9 10 12 15 +0 2 3 5 6 7 9 10 13 14 +0 2 3 5 6 7 9 10 13 15 +0 2 3 5 6 7 9 10 14 15 +0 2 3 5 6 7 9 11 12 13 +0 2 3 5 6 7 9 11 12 14 +0 2 3 5 6 7 9 11 12 15 +0 2 3 5 6 7 9 11 13 14 +0 2 3 5 6 7 9 11 13 15 +0 2 3 5 6 7 9 11 14 15 +0 2 3 5 6 7 9 12 13 14 +0 2 3 5 6 7 9 12 13 15 +0 2 3 5 6 7 9 12 14 15 +0 2 3 5 6 7 9 13 14 15 +0 2 3 5 6 7 10 11 12 13 +0 2 3 5 6 7 10 11 12 14 +0 2 3 5 6 7 10 11 12 15 +0 2 3 5 6 7 10 11 13 14 +0 2 3 5 6 7 10 11 13 15 +0 2 3 5 6 7 10 11 14 15 +0 2 3 5 6 7 10 12 13 14 +0 2 3 5 6 7 10 12 13 15 +0 2 3 5 6 7 10 12 14 15 +0 2 3 5 6 7 10 13 14 15 +0 2 3 5 6 7 11 12 13 14 +0 2 3 5 6 7 11 12 13 15 +0 2 3 5 6 7 11 12 14 15 +0 2 3 5 6 7 11 13 14 15 +0 2 3 5 6 7 12 13 14 15 +0 2 3 5 6 8 9 10 11 12 +0 2 3 5 6 8 9 10 11 13 +0 2 3 5 6 8 9 10 11 14 +0 2 3 5 6 8 9 10 11 15 +0 2 3 5 6 8 9 10 12 13 +0 2 3 5 6 8 9 10 12 14 +0 2 3 5 6 8 9 10 12 15 +0 2 3 5 6 8 9 10 13 14 +0 2 3 5 6 8 9 10 13 15 +0 2 3 5 6 8 9 10 14 15 +0 2 3 5 6 8 9 11 12 13 +0 2 3 5 6 8 9 11 12 14 +0 2 3 5 6 8 9 11 12 15 +0 2 3 5 6 8 9 11 13 14 +0 2 3 5 6 8 9 11 13 15 +0 2 3 5 6 8 9 11 14 15 +0 2 3 5 6 8 9 12 13 14 +0 2 3 5 6 8 9 12 13 15 +0 2 3 5 6 8 9 12 14 15 +0 2 3 5 6 8 9 13 14 15 +0 2 3 5 6 8 10 11 12 13 +0 2 3 5 6 8 10 11 12 14 +0 2 3 5 6 8 10 11 12 15 +0 2 3 5 6 8 10 11 13 14 +0 2 3 5 6 8 10 11 13 15 +0 2 3 5 6 8 10 11 14 15 +0 2 3 5 6 8 10 12 13 14 +0 2 3 5 6 8 10 12 13 15 +0 2 3 5 6 8 10 12 14 15 +0 2 3 5 6 8 10 13 14 15 +0 2 3 5 6 8 11 12 13 14 +0 2 3 5 6 8 11 12 13 15 +0 2 3 5 6 8 11 12 14 15 +0 2 3 5 6 8 11 13 14 15 +0 2 3 5 6 8 12 13 14 15 +0 2 3 5 6 9 10 11 12 13 +0 2 3 5 6 9 10 11 12 14 +0 2 3 5 6 9 10 11 12 15 +0 2 3 5 6 9 10 11 13 14 +0 2 3 5 6 9 10 11 13 15 +0 2 3 5 6 9 10 11 14 15 +0 2 3 5 6 9 10 12 13 14 +0 2 3 5 6 9 10 12 13 15 +0 2 3 5 6 9 10 12 14 15 +0 2 3 5 6 9 10 13 14 15 +0 2 3 5 6 9 11 12 13 14 +0 2 3 5 6 9 11 12 13 15 +0 2 3 5 6 9 11 12 14 15 +0 2 3 5 6 9 11 13 14 15 +0 2 3 5 6 9 12 13 14 15 +0 2 3 5 6 10 11 12 13 14 +0 2 3 5 6 10 11 12 13 15 +0 2 3 5 6 10 11 12 14 15 +0 2 3 5 6 10 11 13 14 15 +0 2 3 5 6 10 12 13 14 15 +0 2 3 5 6 11 12 13 14 15 +0 2 3 5 7 8 9 10 11 12 +0 2 3 5 7 8 9 10 11 13 +0 2 3 5 7 8 9 10 11 14 +0 2 3 5 7 8 9 10 11 15 +0 2 3 5 7 8 9 10 12 13 +0 2 3 5 7 8 9 10 12 14 +0 2 3 5 7 8 9 10 12 15 +0 2 3 5 7 8 9 10 13 14 +0 2 3 5 7 8 9 10 13 15 +0 2 3 5 7 8 9 10 14 15 +0 2 3 5 7 8 9 11 12 13 +0 2 3 5 7 8 9 11 12 14 +0 2 3 5 7 8 9 11 12 15 +0 2 3 5 7 8 9 11 13 14 +0 2 3 5 7 8 9 11 13 15 +0 2 3 5 7 8 9 11 14 15 +0 2 3 5 7 8 9 12 13 14 +0 2 3 5 7 8 9 12 13 15 +0 2 3 5 7 8 9 12 14 15 +0 2 3 5 7 8 9 13 14 15 +0 2 3 5 7 8 10 11 12 13 +0 2 3 5 7 8 10 11 12 14 +0 2 3 5 7 8 10 11 12 15 +0 2 3 5 7 8 10 11 13 14 +0 2 3 5 7 8 10 11 13 15 +0 2 3 5 7 8 10 11 14 15 +0 2 3 5 7 8 10 12 13 14 +0 2 3 5 7 8 10 12 13 15 +0 2 3 5 7 8 10 12 14 15 +0 2 3 5 7 8 10 13 14 15 +0 2 3 5 7 8 11 12 13 14 +0 2 3 5 7 8 11 12 13 15 +0 2 3 5 7 8 11 12 14 15 +0 2 3 5 7 8 11 13 14 15 +0 2 3 5 7 8 12 13 14 15 +0 2 3 5 7 9 10 11 12 13 +0 2 3 5 7 9 10 11 12 14 +0 2 3 5 7 9 10 11 12 15 +0 2 3 5 7 9 10 11 13 14 +0 2 3 5 7 9 10 11 13 15 +0 2 3 5 7 9 10 11 14 15 +0 2 3 5 7 9 10 12 13 14 +0 2 3 5 7 9 10 12 13 15 +0 2 3 5 7 9 10 12 14 15 +0 2 3 5 7 9 10 13 14 15 +0 2 3 5 7 9 11 12 13 14 +0 2 3 5 7 9 11 12 13 15 +0 2 3 5 7 9 11 12 14 15 +0 2 3 5 7 9 11 13 14 15 +0 2 3 5 7 9 12 13 14 15 +0 2 3 5 7 10 11 12 13 14 +0 2 3 5 7 10 11 12 13 15 +0 2 3 5 7 10 11 12 14 15 +0 2 3 5 7 10 11 13 14 15 +0 2 3 5 7 10 12 13 14 15 +0 2 3 5 7 11 12 13 14 15 +0 2 3 5 8 9 10 11 12 13 +0 2 3 5 8 9 10 11 12 14 +0 2 3 5 8 9 10 11 12 15 +0 2 3 5 8 9 10 11 13 14 +0 2 3 5 8 9 10 11 13 15 +0 2 3 5 8 9 10 11 14 15 +0 2 3 5 8 9 10 12 13 14 +0 2 3 5 8 9 10 12 13 15 +0 2 3 5 8 9 10 12 14 15 +0 2 3 5 8 9 10 13 14 15 +0 2 3 5 8 9 11 12 13 14 +0 2 3 5 8 9 11 12 13 15 +0 2 3 5 8 9 11 12 14 15 +0 2 3 5 8 9 11 13 14 15 +0 2 3 5 8 9 12 13 14 15 +0 2 3 5 8 10 11 12 13 14 +0 2 3 5 8 10 11 12 13 15 +0 2 3 5 8 10 11 12 14 15 +0 2 3 5 8 10 11 13 14 15 +0 2 3 5 8 10 12 13 14 15 +0 2 3 5 8 11 12 13 14 15 +0 2 3 5 9 10 11 12 13 14 +0 2 3 5 9 10 11 12 13 15 +0 2 3 5 9 10 11 12 14 15 +0 2 3 5 9 10 11 13 14 15 +0 2 3 5 9 10 12 13 14 15 +0 2 3 5 9 11 12 13 14 15 +0 2 3 5 10 11 12 13 14 15 +0 2 3 6 7 8 9 10 11 12 +0 2 3 6 7 8 9 10 11 13 +0 2 3 6 7 8 9 10 11 14 +0 2 3 6 7 8 9 10 11 15 +0 2 3 6 7 8 9 10 12 13 +0 2 3 6 7 8 9 10 12 14 +0 2 3 6 7 8 9 10 12 15 +0 2 3 6 7 8 9 10 13 14 +0 2 3 6 7 8 9 10 13 15 +0 2 3 6 7 8 9 10 14 15 +0 2 3 6 7 8 9 11 12 13 +0 2 3 6 7 8 9 11 12 14 +0 2 3 6 7 8 9 11 12 15 +0 2 3 6 7 8 9 11 13 14 +0 2 3 6 7 8 9 11 13 15 +0 2 3 6 7 8 9 11 14 15 +0 2 3 6 7 8 9 12 13 14 +0 2 3 6 7 8 9 12 13 15 +0 2 3 6 7 8 9 12 14 15 +0 2 3 6 7 8 9 13 14 15 +0 2 3 6 7 8 10 11 12 13 +0 2 3 6 7 8 10 11 12 14 +0 2 3 6 7 8 10 11 12 15 +0 2 3 6 7 8 10 11 13 14 +0 2 3 6 7 8 10 11 13 15 +0 2 3 6 7 8 10 11 14 15 +0 2 3 6 7 8 10 12 13 14 +0 2 3 6 7 8 10 12 13 15 +0 2 3 6 7 8 10 12 14 15 +0 2 3 6 7 8 10 13 14 15 +0 2 3 6 7 8 11 12 13 14 +0 2 3 6 7 8 11 12 13 15 +0 2 3 6 7 8 11 12 14 15 +0 2 3 6 7 8 11 13 14 15 +0 2 3 6 7 8 12 13 14 15 +0 2 3 6 7 9 10 11 12 13 +0 2 3 6 7 9 10 11 12 14 +0 2 3 6 7 9 10 11 12 15 +0 2 3 6 7 9 10 11 13 14 +0 2 3 6 7 9 10 11 13 15 +0 2 3 6 7 9 10 11 14 15 +0 2 3 6 7 9 10 12 13 14 +0 2 3 6 7 9 10 12 13 15 +0 2 3 6 7 9 10 12 14 15 +0 2 3 6 7 9 10 13 14 15 +0 2 3 6 7 9 11 12 13 14 +0 2 3 6 7 9 11 12 13 15 +0 2 3 6 7 9 11 12 14 15 +0 2 3 6 7 9 11 13 14 15 +0 2 3 6 7 9 12 13 14 15 +0 2 3 6 7 10 11 12 13 14 +0 2 3 6 7 10 11 12 13 15 +0 2 3 6 7 10 11 12 14 15 +0 2 3 6 7 10 11 13 14 15 +0 2 3 6 7 10 12 13 14 15 +0 2 3 6 7 11 12 13 14 15 +0 2 3 6 8 9 10 11 12 13 +0 2 3 6 8 9 10 11 12 14 +0 2 3 6 8 9 10 11 12 15 +0 2 3 6 8 9 10 11 13 14 +0 2 3 6 8 9 10 11 13 15 +0 2 3 6 8 9 10 11 14 15 +0 2 3 6 8 9 10 12 13 14 +0 2 3 6 8 9 10 12 13 15 +0 2 3 6 8 9 10 12 14 15 +0 2 3 6 8 9 10 13 14 15 +0 2 3 6 8 9 11 12 13 14 +0 2 3 6 8 9 11 12 13 15 +0 2 3 6 8 9 11 12 14 15 +0 2 3 6 8 9 11 13 14 15 +0 2 3 6 8 9 12 13 14 15 +0 2 3 6 8 10 11 12 13 14 +0 2 3 6 8 10 11 12 13 15 +0 2 3 6 8 10 11 12 14 15 +0 2 3 6 8 10 11 13 14 15 +0 2 3 6 8 10 12 13 14 15 +0 2 3 6 8 11 12 13 14 15 +0 2 3 6 9 10 11 12 13 14 +0 2 3 6 9 10 11 12 13 15 +0 2 3 6 9 10 11 12 14 15 +0 2 3 6 9 10 11 13 14 15 +0 2 3 6 9 10 12 13 14 15 +0 2 3 6 9 11 12 13 14 15 +0 2 3 6 10 11 12 13 14 15 +0 2 3 7 8 9 10 11 12 13 +0 2 3 7 8 9 10 11 12 14 +0 2 3 7 8 9 10 11 12 15 +0 2 3 7 8 9 10 11 13 14 +0 2 3 7 8 9 10 11 13 15 +0 2 3 7 8 9 10 11 14 15 +0 2 3 7 8 9 10 12 13 14 +0 2 3 7 8 9 10 12 13 15 +0 2 3 7 8 9 10 12 14 15 +0 2 3 7 8 9 10 13 14 15 +0 2 3 7 8 9 11 12 13 14 +0 2 3 7 8 9 11 12 13 15 +0 2 3 7 8 9 11 12 14 15 +0 2 3 7 8 9 11 13 14 15 +0 2 3 7 8 9 12 13 14 15 +0 2 3 7 8 10 11 12 13 14 +0 2 3 7 8 10 11 12 13 15 +0 2 3 7 8 10 11 12 14 15 +0 2 3 7 8 10 11 13 14 15 +0 2 3 7 8 10 12 13 14 15 +0 2 3 7 8 11 12 13 14 15 +0 2 3 7 9 10 11 12 13 14 +0 2 3 7 9 10 11 12 13 15 +0 2 3 7 9 10 11 12 14 15 +0 2 3 7 9 10 11 13 14 15 +0 2 3 7 9 10 12 13 14 15 +0 2 3 7 9 11 12 13 14 15 +0 2 3 7 10 11 12 13 14 15 +0 2 3 8 9 10 11 12 13 14 +0 2 3 8 9 10 11 12 13 15 +0 2 3 8 9 10 11 12 14 15 +0 2 3 8 9 10 11 13 14 15 +0 2 3 8 9 10 12 13 14 15 +0 2 3 8 9 11 12 13 14 15 +0 2 3 8 10 11 12 13 14 15 +0 2 3 9 10 11 12 13 14 15 +0 2 4 5 6 7 8 9 10 11 +0 2 4 5 6 7 8 9 10 12 +0 2 4 5 6 7 8 9 10 13 +0 2 4 5 6 7 8 9 10 14 +0 2 4 5 6 7 8 9 10 15 +0 2 4 5 6 7 8 9 11 12 +0 2 4 5 6 7 8 9 11 13 +0 2 4 5 6 7 8 9 11 14 +0 2 4 5 6 7 8 9 11 15 +0 2 4 5 6 7 8 9 12 13 +0 2 4 5 6 7 8 9 12 14 +0 2 4 5 6 7 8 9 12 15 +0 2 4 5 6 7 8 9 13 14 +0 2 4 5 6 7 8 9 13 15 +0 2 4 5 6 7 8 9 14 15 +0 2 4 5 6 7 8 10 11 12 +0 2 4 5 6 7 8 10 11 13 +0 2 4 5 6 7 8 10 11 14 +0 2 4 5 6 7 8 10 11 15 +0 2 4 5 6 7 8 10 12 13 +0 2 4 5 6 7 8 10 12 14 +0 2 4 5 6 7 8 10 12 15 +0 2 4 5 6 7 8 10 13 14 +0 2 4 5 6 7 8 10 13 15 +0 2 4 5 6 7 8 10 14 15 +0 2 4 5 6 7 8 11 12 13 +0 2 4 5 6 7 8 11 12 14 +0 2 4 5 6 7 8 11 12 15 +0 2 4 5 6 7 8 11 13 14 +0 2 4 5 6 7 8 11 13 15 +0 2 4 5 6 7 8 11 14 15 +0 2 4 5 6 7 8 12 13 14 +0 2 4 5 6 7 8 12 13 15 +0 2 4 5 6 7 8 12 14 15 +0 2 4 5 6 7 8 13 14 15 +0 2 4 5 6 7 9 10 11 12 +0 2 4 5 6 7 9 10 11 13 +0 2 4 5 6 7 9 10 11 14 +0 2 4 5 6 7 9 10 11 15 +0 2 4 5 6 7 9 10 12 13 +0 2 4 5 6 7 9 10 12 14 +0 2 4 5 6 7 9 10 12 15 +0 2 4 5 6 7 9 10 13 14 +0 2 4 5 6 7 9 10 13 15 +0 2 4 5 6 7 9 10 14 15 +0 2 4 5 6 7 9 11 12 13 +0 2 4 5 6 7 9 11 12 14 +0 2 4 5 6 7 9 11 12 15 +0 2 4 5 6 7 9 11 13 14 +0 2 4 5 6 7 9 11 13 15 +0 2 4 5 6 7 9 11 14 15 +0 2 4 5 6 7 9 12 13 14 +0 2 4 5 6 7 9 12 13 15 +0 2 4 5 6 7 9 12 14 15 +0 2 4 5 6 7 9 13 14 15 +0 2 4 5 6 7 10 11 12 13 +0 2 4 5 6 7 10 11 12 14 +0 2 4 5 6 7 10 11 12 15 +0 2 4 5 6 7 10 11 13 14 +0 2 4 5 6 7 10 11 13 15 +0 2 4 5 6 7 10 11 14 15 +0 2 4 5 6 7 10 12 13 14 +0 2 4 5 6 7 10 12 13 15 +0 2 4 5 6 7 10 12 14 15 +0 2 4 5 6 7 10 13 14 15 +0 2 4 5 6 7 11 12 13 14 +0 2 4 5 6 7 11 12 13 15 +0 2 4 5 6 7 11 12 14 15 +0 2 4 5 6 7 11 13 14 15 +0 2 4 5 6 7 12 13 14 15 +0 2 4 5 6 8 9 10 11 12 +0 2 4 5 6 8 9 10 11 13 +0 2 4 5 6 8 9 10 11 14 +0 2 4 5 6 8 9 10 11 15 +0 2 4 5 6 8 9 10 12 13 +0 2 4 5 6 8 9 10 12 14 +0 2 4 5 6 8 9 10 12 15 +0 2 4 5 6 8 9 10 13 14 +0 2 4 5 6 8 9 10 13 15 +0 2 4 5 6 8 9 10 14 15 +0 2 4 5 6 8 9 11 12 13 +0 2 4 5 6 8 9 11 12 14 +0 2 4 5 6 8 9 11 12 15 +0 2 4 5 6 8 9 11 13 14 +0 2 4 5 6 8 9 11 13 15 +0 2 4 5 6 8 9 11 14 15 +0 2 4 5 6 8 9 12 13 14 +0 2 4 5 6 8 9 12 13 15 +0 2 4 5 6 8 9 12 14 15 +0 2 4 5 6 8 9 13 14 15 +0 2 4 5 6 8 10 11 12 13 +0 2 4 5 6 8 10 11 12 14 +0 2 4 5 6 8 10 11 12 15 +0 2 4 5 6 8 10 11 13 14 +0 2 4 5 6 8 10 11 13 15 +0 2 4 5 6 8 10 11 14 15 +0 2 4 5 6 8 10 12 13 14 +0 2 4 5 6 8 10 12 13 15 +0 2 4 5 6 8 10 12 14 15 +0 2 4 5 6 8 10 13 14 15 +0 2 4 5 6 8 11 12 13 14 +0 2 4 5 6 8 11 12 13 15 +0 2 4 5 6 8 11 12 14 15 +0 2 4 5 6 8 11 13 14 15 +0 2 4 5 6 8 12 13 14 15 +0 2 4 5 6 9 10 11 12 13 +0 2 4 5 6 9 10 11 12 14 +0 2 4 5 6 9 10 11 12 15 +0 2 4 5 6 9 10 11 13 14 +0 2 4 5 6 9 10 11 13 15 +0 2 4 5 6 9 10 11 14 15 +0 2 4 5 6 9 10 12 13 14 +0 2 4 5 6 9 10 12 13 15 +0 2 4 5 6 9 10 12 14 15 +0 2 4 5 6 9 10 13 14 15 +0 2 4 5 6 9 11 12 13 14 +0 2 4 5 6 9 11 12 13 15 +0 2 4 5 6 9 11 12 14 15 +0 2 4 5 6 9 11 13 14 15 +0 2 4 5 6 9 12 13 14 15 +0 2 4 5 6 10 11 12 13 14 +0 2 4 5 6 10 11 12 13 15 +0 2 4 5 6 10 11 12 14 15 +0 2 4 5 6 10 11 13 14 15 +0 2 4 5 6 10 12 13 14 15 +0 2 4 5 6 11 12 13 14 15 +0 2 4 5 7 8 9 10 11 12 +0 2 4 5 7 8 9 10 11 13 +0 2 4 5 7 8 9 10 11 14 +0 2 4 5 7 8 9 10 11 15 +0 2 4 5 7 8 9 10 12 13 +0 2 4 5 7 8 9 10 12 14 +0 2 4 5 7 8 9 10 12 15 +0 2 4 5 7 8 9 10 13 14 +0 2 4 5 7 8 9 10 13 15 +0 2 4 5 7 8 9 10 14 15 +0 2 4 5 7 8 9 11 12 13 +0 2 4 5 7 8 9 11 12 14 +0 2 4 5 7 8 9 11 12 15 +0 2 4 5 7 8 9 11 13 14 +0 2 4 5 7 8 9 11 13 15 +0 2 4 5 7 8 9 11 14 15 +0 2 4 5 7 8 9 12 13 14 +0 2 4 5 7 8 9 12 13 15 +0 2 4 5 7 8 9 12 14 15 +0 2 4 5 7 8 9 13 14 15 +0 2 4 5 7 8 10 11 12 13 +0 2 4 5 7 8 10 11 12 14 +0 2 4 5 7 8 10 11 12 15 +0 2 4 5 7 8 10 11 13 14 +0 2 4 5 7 8 10 11 13 15 +0 2 4 5 7 8 10 11 14 15 +0 2 4 5 7 8 10 12 13 14 +0 2 4 5 7 8 10 12 13 15 +0 2 4 5 7 8 10 12 14 15 +0 2 4 5 7 8 10 13 14 15 +0 2 4 5 7 8 11 12 13 14 +0 2 4 5 7 8 11 12 13 15 +0 2 4 5 7 8 11 12 14 15 +0 2 4 5 7 8 11 13 14 15 +0 2 4 5 7 8 12 13 14 15 +0 2 4 5 7 9 10 11 12 13 +0 2 4 5 7 9 10 11 12 14 +0 2 4 5 7 9 10 11 12 15 +0 2 4 5 7 9 10 11 13 14 +0 2 4 5 7 9 10 11 13 15 +0 2 4 5 7 9 10 11 14 15 +0 2 4 5 7 9 10 12 13 14 +0 2 4 5 7 9 10 12 13 15 +0 2 4 5 7 9 10 12 14 15 +0 2 4 5 7 9 10 13 14 15 +0 2 4 5 7 9 11 12 13 14 +0 2 4 5 7 9 11 12 13 15 +0 2 4 5 7 9 11 12 14 15 +0 2 4 5 7 9 11 13 14 15 +0 2 4 5 7 9 12 13 14 15 +0 2 4 5 7 10 11 12 13 14 +0 2 4 5 7 10 11 12 13 15 +0 2 4 5 7 10 11 12 14 15 +0 2 4 5 7 10 11 13 14 15 +0 2 4 5 7 10 12 13 14 15 +0 2 4 5 7 11 12 13 14 15 +0 2 4 5 8 9 10 11 12 13 +0 2 4 5 8 9 10 11 12 14 +0 2 4 5 8 9 10 11 12 15 +0 2 4 5 8 9 10 11 13 14 +0 2 4 5 8 9 10 11 13 15 +0 2 4 5 8 9 10 11 14 15 +0 2 4 5 8 9 10 12 13 14 +0 2 4 5 8 9 10 12 13 15 +0 2 4 5 8 9 10 12 14 15 +0 2 4 5 8 9 10 13 14 15 +0 2 4 5 8 9 11 12 13 14 +0 2 4 5 8 9 11 12 13 15 +0 2 4 5 8 9 11 12 14 15 +0 2 4 5 8 9 11 13 14 15 +0 2 4 5 8 9 12 13 14 15 +0 2 4 5 8 10 11 12 13 14 +0 2 4 5 8 10 11 12 13 15 +0 2 4 5 8 10 11 12 14 15 +0 2 4 5 8 10 11 13 14 15 +0 2 4 5 8 10 12 13 14 15 +0 2 4 5 8 11 12 13 14 15 +0 2 4 5 9 10 11 12 13 14 +0 2 4 5 9 10 11 12 13 15 +0 2 4 5 9 10 11 12 14 15 +0 2 4 5 9 10 11 13 14 15 +0 2 4 5 9 10 12 13 14 15 +0 2 4 5 9 11 12 13 14 15 +0 2 4 5 10 11 12 13 14 15 +0 2 4 6 7 8 9 10 11 12 +0 2 4 6 7 8 9 10 11 13 +0 2 4 6 7 8 9 10 11 14 +0 2 4 6 7 8 9 10 11 15 +0 2 4 6 7 8 9 10 12 13 +0 2 4 6 7 8 9 10 12 14 +0 2 4 6 7 8 9 10 12 15 +0 2 4 6 7 8 9 10 13 14 +0 2 4 6 7 8 9 10 13 15 +0 2 4 6 7 8 9 10 14 15 +0 2 4 6 7 8 9 11 12 13 +0 2 4 6 7 8 9 11 12 14 +0 2 4 6 7 8 9 11 12 15 +0 2 4 6 7 8 9 11 13 14 +0 2 4 6 7 8 9 11 13 15 +0 2 4 6 7 8 9 11 14 15 +0 2 4 6 7 8 9 12 13 14 +0 2 4 6 7 8 9 12 13 15 +0 2 4 6 7 8 9 12 14 15 +0 2 4 6 7 8 9 13 14 15 +0 2 4 6 7 8 10 11 12 13 +0 2 4 6 7 8 10 11 12 14 +0 2 4 6 7 8 10 11 12 15 +0 2 4 6 7 8 10 11 13 14 +0 2 4 6 7 8 10 11 13 15 +0 2 4 6 7 8 10 11 14 15 +0 2 4 6 7 8 10 12 13 14 +0 2 4 6 7 8 10 12 13 15 +0 2 4 6 7 8 10 12 14 15 +0 2 4 6 7 8 10 13 14 15 +0 2 4 6 7 8 11 12 13 14 +0 2 4 6 7 8 11 12 13 15 +0 2 4 6 7 8 11 12 14 15 +0 2 4 6 7 8 11 13 14 15 +0 2 4 6 7 8 12 13 14 15 +0 2 4 6 7 9 10 11 12 13 +0 2 4 6 7 9 10 11 12 14 +0 2 4 6 7 9 10 11 12 15 +0 2 4 6 7 9 10 11 13 14 +0 2 4 6 7 9 10 11 13 15 +0 2 4 6 7 9 10 11 14 15 +0 2 4 6 7 9 10 12 13 14 +0 2 4 6 7 9 10 12 13 15 +0 2 4 6 7 9 10 12 14 15 +0 2 4 6 7 9 10 13 14 15 +0 2 4 6 7 9 11 12 13 14 +0 2 4 6 7 9 11 12 13 15 +0 2 4 6 7 9 11 12 14 15 +0 2 4 6 7 9 11 13 14 15 +0 2 4 6 7 9 12 13 14 15 +0 2 4 6 7 10 11 12 13 14 +0 2 4 6 7 10 11 12 13 15 +0 2 4 6 7 10 11 12 14 15 +0 2 4 6 7 10 11 13 14 15 +0 2 4 6 7 10 12 13 14 15 +0 2 4 6 7 11 12 13 14 15 +0 2 4 6 8 9 10 11 12 13 +0 2 4 6 8 9 10 11 12 14 +0 2 4 6 8 9 10 11 12 15 +0 2 4 6 8 9 10 11 13 14 +0 2 4 6 8 9 10 11 13 15 +0 2 4 6 8 9 10 11 14 15 +0 2 4 6 8 9 10 12 13 14 +0 2 4 6 8 9 10 12 13 15 +0 2 4 6 8 9 10 12 14 15 +0 2 4 6 8 9 10 13 14 15 +0 2 4 6 8 9 11 12 13 14 +0 2 4 6 8 9 11 12 13 15 +0 2 4 6 8 9 11 12 14 15 +0 2 4 6 8 9 11 13 14 15 +0 2 4 6 8 9 12 13 14 15 +0 2 4 6 8 10 11 12 13 14 +0 2 4 6 8 10 11 12 13 15 +0 2 4 6 8 10 11 12 14 15 +0 2 4 6 8 10 11 13 14 15 +0 2 4 6 8 10 12 13 14 15 +0 2 4 6 8 11 12 13 14 15 +0 2 4 6 9 10 11 12 13 14 +0 2 4 6 9 10 11 12 13 15 +0 2 4 6 9 10 11 12 14 15 +0 2 4 6 9 10 11 13 14 15 +0 2 4 6 9 10 12 13 14 15 +0 2 4 6 9 11 12 13 14 15 +0 2 4 6 10 11 12 13 14 15 +0 2 4 7 8 9 10 11 12 13 +0 2 4 7 8 9 10 11 12 14 +0 2 4 7 8 9 10 11 12 15 +0 2 4 7 8 9 10 11 13 14 +0 2 4 7 8 9 10 11 13 15 +0 2 4 7 8 9 10 11 14 15 +0 2 4 7 8 9 10 12 13 14 +0 2 4 7 8 9 10 12 13 15 +0 2 4 7 8 9 10 12 14 15 +0 2 4 7 8 9 10 13 14 15 +0 2 4 7 8 9 11 12 13 14 +0 2 4 7 8 9 11 12 13 15 +0 2 4 7 8 9 11 12 14 15 +0 2 4 7 8 9 11 13 14 15 +0 2 4 7 8 9 12 13 14 15 +0 2 4 7 8 10 11 12 13 14 +0 2 4 7 8 10 11 12 13 15 +0 2 4 7 8 10 11 12 14 15 +0 2 4 7 8 10 11 13 14 15 +0 2 4 7 8 10 12 13 14 15 +0 2 4 7 8 11 12 13 14 15 +0 2 4 7 9 10 11 12 13 14 +0 2 4 7 9 10 11 12 13 15 +0 2 4 7 9 10 11 12 14 15 +0 2 4 7 9 10 11 13 14 15 +0 2 4 7 9 10 12 13 14 15 +0 2 4 7 9 11 12 13 14 15 +0 2 4 7 10 11 12 13 14 15 +0 2 4 8 9 10 11 12 13 14 +0 2 4 8 9 10 11 12 13 15 +0 2 4 8 9 10 11 12 14 15 +0 2 4 8 9 10 11 13 14 15 +0 2 4 8 9 10 12 13 14 15 +0 2 4 8 9 11 12 13 14 15 +0 2 4 8 10 11 12 13 14 15 +0 2 4 9 10 11 12 13 14 15 +0 2 5 6 7 8 9 10 11 12 +0 2 5 6 7 8 9 10 11 13 +0 2 5 6 7 8 9 10 11 14 +0 2 5 6 7 8 9 10 11 15 +0 2 5 6 7 8 9 10 12 13 +0 2 5 6 7 8 9 10 12 14 +0 2 5 6 7 8 9 10 12 15 +0 2 5 6 7 8 9 10 13 14 +0 2 5 6 7 8 9 10 13 15 +0 2 5 6 7 8 9 10 14 15 +0 2 5 6 7 8 9 11 12 13 +0 2 5 6 7 8 9 11 12 14 +0 2 5 6 7 8 9 11 12 15 +0 2 5 6 7 8 9 11 13 14 +0 2 5 6 7 8 9 11 13 15 +0 2 5 6 7 8 9 11 14 15 +0 2 5 6 7 8 9 12 13 14 +0 2 5 6 7 8 9 12 13 15 +0 2 5 6 7 8 9 12 14 15 +0 2 5 6 7 8 9 13 14 15 +0 2 5 6 7 8 10 11 12 13 +0 2 5 6 7 8 10 11 12 14 +0 2 5 6 7 8 10 11 12 15 +0 2 5 6 7 8 10 11 13 14 +0 2 5 6 7 8 10 11 13 15 +0 2 5 6 7 8 10 11 14 15 +0 2 5 6 7 8 10 12 13 14 +0 2 5 6 7 8 10 12 13 15 +0 2 5 6 7 8 10 12 14 15 +0 2 5 6 7 8 10 13 14 15 +0 2 5 6 7 8 11 12 13 14 +0 2 5 6 7 8 11 12 13 15 +0 2 5 6 7 8 11 12 14 15 +0 2 5 6 7 8 11 13 14 15 +0 2 5 6 7 8 12 13 14 15 +0 2 5 6 7 9 10 11 12 13 +0 2 5 6 7 9 10 11 12 14 +0 2 5 6 7 9 10 11 12 15 +0 2 5 6 7 9 10 11 13 14 +0 2 5 6 7 9 10 11 13 15 +0 2 5 6 7 9 10 11 14 15 +0 2 5 6 7 9 10 12 13 14 +0 2 5 6 7 9 10 12 13 15 +0 2 5 6 7 9 10 12 14 15 +0 2 5 6 7 9 10 13 14 15 +0 2 5 6 7 9 11 12 13 14 +0 2 5 6 7 9 11 12 13 15 +0 2 5 6 7 9 11 12 14 15 +0 2 5 6 7 9 11 13 14 15 +0 2 5 6 7 9 12 13 14 15 +0 2 5 6 7 10 11 12 13 14 +0 2 5 6 7 10 11 12 13 15 +0 2 5 6 7 10 11 12 14 15 +0 2 5 6 7 10 11 13 14 15 +0 2 5 6 7 10 12 13 14 15 +0 2 5 6 7 11 12 13 14 15 +0 2 5 6 8 9 10 11 12 13 +0 2 5 6 8 9 10 11 12 14 +0 2 5 6 8 9 10 11 12 15 +0 2 5 6 8 9 10 11 13 14 +0 2 5 6 8 9 10 11 13 15 +0 2 5 6 8 9 10 11 14 15 +0 2 5 6 8 9 10 12 13 14 +0 2 5 6 8 9 10 12 13 15 +0 2 5 6 8 9 10 12 14 15 +0 2 5 6 8 9 10 13 14 15 +0 2 5 6 8 9 11 12 13 14 +0 2 5 6 8 9 11 12 13 15 +0 2 5 6 8 9 11 12 14 15 +0 2 5 6 8 9 11 13 14 15 +0 2 5 6 8 9 12 13 14 15 +0 2 5 6 8 10 11 12 13 14 +0 2 5 6 8 10 11 12 13 15 +0 2 5 6 8 10 11 12 14 15 +0 2 5 6 8 10 11 13 14 15 +0 2 5 6 8 10 12 13 14 15 +0 2 5 6 8 11 12 13 14 15 +0 2 5 6 9 10 11 12 13 14 +0 2 5 6 9 10 11 12 13 15 +0 2 5 6 9 10 11 12 14 15 +0 2 5 6 9 10 11 13 14 15 +0 2 5 6 9 10 12 13 14 15 +0 2 5 6 9 11 12 13 14 15 +0 2 5 6 10 11 12 13 14 15 +0 2 5 7 8 9 10 11 12 13 +0 2 5 7 8 9 10 11 12 14 +0 2 5 7 8 9 10 11 12 15 +0 2 5 7 8 9 10 11 13 14 +0 2 5 7 8 9 10 11 13 15 +0 2 5 7 8 9 10 11 14 15 +0 2 5 7 8 9 10 12 13 14 +0 2 5 7 8 9 10 12 13 15 +0 2 5 7 8 9 10 12 14 15 +0 2 5 7 8 9 10 13 14 15 +0 2 5 7 8 9 11 12 13 14 +0 2 5 7 8 9 11 12 13 15 +0 2 5 7 8 9 11 12 14 15 +0 2 5 7 8 9 11 13 14 15 +0 2 5 7 8 9 12 13 14 15 +0 2 5 7 8 10 11 12 13 14 +0 2 5 7 8 10 11 12 13 15 +0 2 5 7 8 10 11 12 14 15 +0 2 5 7 8 10 11 13 14 15 +0 2 5 7 8 10 12 13 14 15 +0 2 5 7 8 11 12 13 14 15 +0 2 5 7 9 10 11 12 13 14 +0 2 5 7 9 10 11 12 13 15 +0 2 5 7 9 10 11 12 14 15 +0 2 5 7 9 10 11 13 14 15 +0 2 5 7 9 10 12 13 14 15 +0 2 5 7 9 11 12 13 14 15 +0 2 5 7 10 11 12 13 14 15 +0 2 5 8 9 10 11 12 13 14 +0 2 5 8 9 10 11 12 13 15 +0 2 5 8 9 10 11 12 14 15 +0 2 5 8 9 10 11 13 14 15 +0 2 5 8 9 10 12 13 14 15 +0 2 5 8 9 11 12 13 14 15 +0 2 5 8 10 11 12 13 14 15 +0 2 5 9 10 11 12 13 14 15 +0 2 6 7 8 9 10 11 12 13 +0 2 6 7 8 9 10 11 12 14 +0 2 6 7 8 9 10 11 12 15 +0 2 6 7 8 9 10 11 13 14 +0 2 6 7 8 9 10 11 13 15 +0 2 6 7 8 9 10 11 14 15 +0 2 6 7 8 9 10 12 13 14 +0 2 6 7 8 9 10 12 13 15 +0 2 6 7 8 9 10 12 14 15 +0 2 6 7 8 9 10 13 14 15 +0 2 6 7 8 9 11 12 13 14 +0 2 6 7 8 9 11 12 13 15 +0 2 6 7 8 9 11 12 14 15 +0 2 6 7 8 9 11 13 14 15 +0 2 6 7 8 9 12 13 14 15 +0 2 6 7 8 10 11 12 13 14 +0 2 6 7 8 10 11 12 13 15 +0 2 6 7 8 10 11 12 14 15 +0 2 6 7 8 10 11 13 14 15 +0 2 6 7 8 10 12 13 14 15 +0 2 6 7 8 11 12 13 14 15 +0 2 6 7 9 10 11 12 13 14 +0 2 6 7 9 10 11 12 13 15 +0 2 6 7 9 10 11 12 14 15 +0 2 6 7 9 10 11 13 14 15 +0 2 6 7 9 10 12 13 14 15 +0 2 6 7 9 11 12 13 14 15 +0 2 6 7 10 11 12 13 14 15 +0 2 6 8 9 10 11 12 13 14 +0 2 6 8 9 10 11 12 13 15 +0 2 6 8 9 10 11 12 14 15 +0 2 6 8 9 10 11 13 14 15 +0 2 6 8 9 10 12 13 14 15 +0 2 6 8 9 11 12 13 14 15 +0 2 6 8 10 11 12 13 14 15 +0 2 6 9 10 11 12 13 14 15 +0 2 7 8 9 10 11 12 13 14 +0 2 7 8 9 10 11 12 13 15 +0 2 7 8 9 10 11 12 14 15 +0 2 7 8 9 10 11 13 14 15 +0 2 7 8 9 10 12 13 14 15 +0 2 7 8 9 11 12 13 14 15 +0 2 7 8 10 11 12 13 14 15 +0 2 7 9 10 11 12 13 14 15 +0 2 8 9 10 11 12 13 14 15 +0 3 4 5 6 7 8 9 10 11 +0 3 4 5 6 7 8 9 10 12 +0 3 4 5 6 7 8 9 10 13 +0 3 4 5 6 7 8 9 10 14 +0 3 4 5 6 7 8 9 10 15 +0 3 4 5 6 7 8 9 11 12 +0 3 4 5 6 7 8 9 11 13 +0 3 4 5 6 7 8 9 11 14 +0 3 4 5 6 7 8 9 11 15 +0 3 4 5 6 7 8 9 12 13 +0 3 4 5 6 7 8 9 12 14 +0 3 4 5 6 7 8 9 12 15 +0 3 4 5 6 7 8 9 13 14 +0 3 4 5 6 7 8 9 13 15 +0 3 4 5 6 7 8 9 14 15 +0 3 4 5 6 7 8 10 11 12 +0 3 4 5 6 7 8 10 11 13 +0 3 4 5 6 7 8 10 11 14 +0 3 4 5 6 7 8 10 11 15 +0 3 4 5 6 7 8 10 12 13 +0 3 4 5 6 7 8 10 12 14 +0 3 4 5 6 7 8 10 12 15 +0 3 4 5 6 7 8 10 13 14 +0 3 4 5 6 7 8 10 13 15 +0 3 4 5 6 7 8 10 14 15 +0 3 4 5 6 7 8 11 12 13 +0 3 4 5 6 7 8 11 12 14 +0 3 4 5 6 7 8 11 12 15 +0 3 4 5 6 7 8 11 13 14 +0 3 4 5 6 7 8 11 13 15 +0 3 4 5 6 7 8 11 14 15 +0 3 4 5 6 7 8 12 13 14 +0 3 4 5 6 7 8 12 13 15 +0 3 4 5 6 7 8 12 14 15 +0 3 4 5 6 7 8 13 14 15 +0 3 4 5 6 7 9 10 11 12 +0 3 4 5 6 7 9 10 11 13 +0 3 4 5 6 7 9 10 11 14 +0 3 4 5 6 7 9 10 11 15 +0 3 4 5 6 7 9 10 12 13 +0 3 4 5 6 7 9 10 12 14 +0 3 4 5 6 7 9 10 12 15 +0 3 4 5 6 7 9 10 13 14 +0 3 4 5 6 7 9 10 13 15 +0 3 4 5 6 7 9 10 14 15 +0 3 4 5 6 7 9 11 12 13 +0 3 4 5 6 7 9 11 12 14 +0 3 4 5 6 7 9 11 12 15 +0 3 4 5 6 7 9 11 13 14 +0 3 4 5 6 7 9 11 13 15 +0 3 4 5 6 7 9 11 14 15 +0 3 4 5 6 7 9 12 13 14 +0 3 4 5 6 7 9 12 13 15 +0 3 4 5 6 7 9 12 14 15 +0 3 4 5 6 7 9 13 14 15 +0 3 4 5 6 7 10 11 12 13 +0 3 4 5 6 7 10 11 12 14 +0 3 4 5 6 7 10 11 12 15 +0 3 4 5 6 7 10 11 13 14 +0 3 4 5 6 7 10 11 13 15 +0 3 4 5 6 7 10 11 14 15 +0 3 4 5 6 7 10 12 13 14 +0 3 4 5 6 7 10 12 13 15 +0 3 4 5 6 7 10 12 14 15 +0 3 4 5 6 7 10 13 14 15 +0 3 4 5 6 7 11 12 13 14 +0 3 4 5 6 7 11 12 13 15 +0 3 4 5 6 7 11 12 14 15 +0 3 4 5 6 7 11 13 14 15 +0 3 4 5 6 7 12 13 14 15 +0 3 4 5 6 8 9 10 11 12 +0 3 4 5 6 8 9 10 11 13 +0 3 4 5 6 8 9 10 11 14 +0 3 4 5 6 8 9 10 11 15 +0 3 4 5 6 8 9 10 12 13 +0 3 4 5 6 8 9 10 12 14 +0 3 4 5 6 8 9 10 12 15 +0 3 4 5 6 8 9 10 13 14 +0 3 4 5 6 8 9 10 13 15 +0 3 4 5 6 8 9 10 14 15 +0 3 4 5 6 8 9 11 12 13 +0 3 4 5 6 8 9 11 12 14 +0 3 4 5 6 8 9 11 12 15 +0 3 4 5 6 8 9 11 13 14 +0 3 4 5 6 8 9 11 13 15 +0 3 4 5 6 8 9 11 14 15 +0 3 4 5 6 8 9 12 13 14 +0 3 4 5 6 8 9 12 13 15 +0 3 4 5 6 8 9 12 14 15 +0 3 4 5 6 8 9 13 14 15 +0 3 4 5 6 8 10 11 12 13 +0 3 4 5 6 8 10 11 12 14 +0 3 4 5 6 8 10 11 12 15 +0 3 4 5 6 8 10 11 13 14 +0 3 4 5 6 8 10 11 13 15 +0 3 4 5 6 8 10 11 14 15 +0 3 4 5 6 8 10 12 13 14 +0 3 4 5 6 8 10 12 13 15 +0 3 4 5 6 8 10 12 14 15 +0 3 4 5 6 8 10 13 14 15 +0 3 4 5 6 8 11 12 13 14 +0 3 4 5 6 8 11 12 13 15 +0 3 4 5 6 8 11 12 14 15 +0 3 4 5 6 8 11 13 14 15 +0 3 4 5 6 8 12 13 14 15 +0 3 4 5 6 9 10 11 12 13 +0 3 4 5 6 9 10 11 12 14 +0 3 4 5 6 9 10 11 12 15 +0 3 4 5 6 9 10 11 13 14 +0 3 4 5 6 9 10 11 13 15 +0 3 4 5 6 9 10 11 14 15 +0 3 4 5 6 9 10 12 13 14 +0 3 4 5 6 9 10 12 13 15 +0 3 4 5 6 9 10 12 14 15 +0 3 4 5 6 9 10 13 14 15 +0 3 4 5 6 9 11 12 13 14 +0 3 4 5 6 9 11 12 13 15 +0 3 4 5 6 9 11 12 14 15 +0 3 4 5 6 9 11 13 14 15 +0 3 4 5 6 9 12 13 14 15 +0 3 4 5 6 10 11 12 13 14 +0 3 4 5 6 10 11 12 13 15 +0 3 4 5 6 10 11 12 14 15 +0 3 4 5 6 10 11 13 14 15 +0 3 4 5 6 10 12 13 14 15 +0 3 4 5 6 11 12 13 14 15 +0 3 4 5 7 8 9 10 11 12 +0 3 4 5 7 8 9 10 11 13 +0 3 4 5 7 8 9 10 11 14 +0 3 4 5 7 8 9 10 11 15 +0 3 4 5 7 8 9 10 12 13 +0 3 4 5 7 8 9 10 12 14 +0 3 4 5 7 8 9 10 12 15 +0 3 4 5 7 8 9 10 13 14 +0 3 4 5 7 8 9 10 13 15 +0 3 4 5 7 8 9 10 14 15 +0 3 4 5 7 8 9 11 12 13 +0 3 4 5 7 8 9 11 12 14 +0 3 4 5 7 8 9 11 12 15 +0 3 4 5 7 8 9 11 13 14 +0 3 4 5 7 8 9 11 13 15 +0 3 4 5 7 8 9 11 14 15 +0 3 4 5 7 8 9 12 13 14 +0 3 4 5 7 8 9 12 13 15 +0 3 4 5 7 8 9 12 14 15 +0 3 4 5 7 8 9 13 14 15 +0 3 4 5 7 8 10 11 12 13 +0 3 4 5 7 8 10 11 12 14 +0 3 4 5 7 8 10 11 12 15 +0 3 4 5 7 8 10 11 13 14 +0 3 4 5 7 8 10 11 13 15 +0 3 4 5 7 8 10 11 14 15 +0 3 4 5 7 8 10 12 13 14 +0 3 4 5 7 8 10 12 13 15 +0 3 4 5 7 8 10 12 14 15 +0 3 4 5 7 8 10 13 14 15 +0 3 4 5 7 8 11 12 13 14 +0 3 4 5 7 8 11 12 13 15 +0 3 4 5 7 8 11 12 14 15 +0 3 4 5 7 8 11 13 14 15 +0 3 4 5 7 8 12 13 14 15 +0 3 4 5 7 9 10 11 12 13 +0 3 4 5 7 9 10 11 12 14 +0 3 4 5 7 9 10 11 12 15 +0 3 4 5 7 9 10 11 13 14 +0 3 4 5 7 9 10 11 13 15 +0 3 4 5 7 9 10 11 14 15 +0 3 4 5 7 9 10 12 13 14 +0 3 4 5 7 9 10 12 13 15 +0 3 4 5 7 9 10 12 14 15 +0 3 4 5 7 9 10 13 14 15 +0 3 4 5 7 9 11 12 13 14 +0 3 4 5 7 9 11 12 13 15 +0 3 4 5 7 9 11 12 14 15 +0 3 4 5 7 9 11 13 14 15 +0 3 4 5 7 9 12 13 14 15 +0 3 4 5 7 10 11 12 13 14 +0 3 4 5 7 10 11 12 13 15 +0 3 4 5 7 10 11 12 14 15 +0 3 4 5 7 10 11 13 14 15 +0 3 4 5 7 10 12 13 14 15 +0 3 4 5 7 11 12 13 14 15 +0 3 4 5 8 9 10 11 12 13 +0 3 4 5 8 9 10 11 12 14 +0 3 4 5 8 9 10 11 12 15 +0 3 4 5 8 9 10 11 13 14 +0 3 4 5 8 9 10 11 13 15 +0 3 4 5 8 9 10 11 14 15 +0 3 4 5 8 9 10 12 13 14 +0 3 4 5 8 9 10 12 13 15 +0 3 4 5 8 9 10 12 14 15 +0 3 4 5 8 9 10 13 14 15 +0 3 4 5 8 9 11 12 13 14 +0 3 4 5 8 9 11 12 13 15 +0 3 4 5 8 9 11 12 14 15 +0 3 4 5 8 9 11 13 14 15 +0 3 4 5 8 9 12 13 14 15 +0 3 4 5 8 10 11 12 13 14 +0 3 4 5 8 10 11 12 13 15 +0 3 4 5 8 10 11 12 14 15 +0 3 4 5 8 10 11 13 14 15 +0 3 4 5 8 10 12 13 14 15 +0 3 4 5 8 11 12 13 14 15 +0 3 4 5 9 10 11 12 13 14 +0 3 4 5 9 10 11 12 13 15 +0 3 4 5 9 10 11 12 14 15 +0 3 4 5 9 10 11 13 14 15 +0 3 4 5 9 10 12 13 14 15 +0 3 4 5 9 11 12 13 14 15 +0 3 4 5 10 11 12 13 14 15 +0 3 4 6 7 8 9 10 11 12 +0 3 4 6 7 8 9 10 11 13 +0 3 4 6 7 8 9 10 11 14 +0 3 4 6 7 8 9 10 11 15 +0 3 4 6 7 8 9 10 12 13 +0 3 4 6 7 8 9 10 12 14 +0 3 4 6 7 8 9 10 12 15 +0 3 4 6 7 8 9 10 13 14 +0 3 4 6 7 8 9 10 13 15 +0 3 4 6 7 8 9 10 14 15 +0 3 4 6 7 8 9 11 12 13 +0 3 4 6 7 8 9 11 12 14 +0 3 4 6 7 8 9 11 12 15 +0 3 4 6 7 8 9 11 13 14 +0 3 4 6 7 8 9 11 13 15 +0 3 4 6 7 8 9 11 14 15 +0 3 4 6 7 8 9 12 13 14 +0 3 4 6 7 8 9 12 13 15 +0 3 4 6 7 8 9 12 14 15 +0 3 4 6 7 8 9 13 14 15 +0 3 4 6 7 8 10 11 12 13 +0 3 4 6 7 8 10 11 12 14 +0 3 4 6 7 8 10 11 12 15 +0 3 4 6 7 8 10 11 13 14 +0 3 4 6 7 8 10 11 13 15 +0 3 4 6 7 8 10 11 14 15 +0 3 4 6 7 8 10 12 13 14 +0 3 4 6 7 8 10 12 13 15 +0 3 4 6 7 8 10 12 14 15 +0 3 4 6 7 8 10 13 14 15 +0 3 4 6 7 8 11 12 13 14 +0 3 4 6 7 8 11 12 13 15 +0 3 4 6 7 8 11 12 14 15 +0 3 4 6 7 8 11 13 14 15 +0 3 4 6 7 8 12 13 14 15 +0 3 4 6 7 9 10 11 12 13 +0 3 4 6 7 9 10 11 12 14 +0 3 4 6 7 9 10 11 12 15 +0 3 4 6 7 9 10 11 13 14 +0 3 4 6 7 9 10 11 13 15 +0 3 4 6 7 9 10 11 14 15 +0 3 4 6 7 9 10 12 13 14 +0 3 4 6 7 9 10 12 13 15 +0 3 4 6 7 9 10 12 14 15 +0 3 4 6 7 9 10 13 14 15 +0 3 4 6 7 9 11 12 13 14 +0 3 4 6 7 9 11 12 13 15 +0 3 4 6 7 9 11 12 14 15 +0 3 4 6 7 9 11 13 14 15 +0 3 4 6 7 9 12 13 14 15 +0 3 4 6 7 10 11 12 13 14 +0 3 4 6 7 10 11 12 13 15 +0 3 4 6 7 10 11 12 14 15 +0 3 4 6 7 10 11 13 14 15 +0 3 4 6 7 10 12 13 14 15 +0 3 4 6 7 11 12 13 14 15 +0 3 4 6 8 9 10 11 12 13 +0 3 4 6 8 9 10 11 12 14 +0 3 4 6 8 9 10 11 12 15 +0 3 4 6 8 9 10 11 13 14 +0 3 4 6 8 9 10 11 13 15 +0 3 4 6 8 9 10 11 14 15 +0 3 4 6 8 9 10 12 13 14 +0 3 4 6 8 9 10 12 13 15 +0 3 4 6 8 9 10 12 14 15 +0 3 4 6 8 9 10 13 14 15 +0 3 4 6 8 9 11 12 13 14 +0 3 4 6 8 9 11 12 13 15 +0 3 4 6 8 9 11 12 14 15 +0 3 4 6 8 9 11 13 14 15 +0 3 4 6 8 9 12 13 14 15 +0 3 4 6 8 10 11 12 13 14 +0 3 4 6 8 10 11 12 13 15 +0 3 4 6 8 10 11 12 14 15 +0 3 4 6 8 10 11 13 14 15 +0 3 4 6 8 10 12 13 14 15 +0 3 4 6 8 11 12 13 14 15 +0 3 4 6 9 10 11 12 13 14 +0 3 4 6 9 10 11 12 13 15 +0 3 4 6 9 10 11 12 14 15 +0 3 4 6 9 10 11 13 14 15 +0 3 4 6 9 10 12 13 14 15 +0 3 4 6 9 11 12 13 14 15 +0 3 4 6 10 11 12 13 14 15 +0 3 4 7 8 9 10 11 12 13 +0 3 4 7 8 9 10 11 12 14 +0 3 4 7 8 9 10 11 12 15 +0 3 4 7 8 9 10 11 13 14 +0 3 4 7 8 9 10 11 13 15 +0 3 4 7 8 9 10 11 14 15 +0 3 4 7 8 9 10 12 13 14 +0 3 4 7 8 9 10 12 13 15 +0 3 4 7 8 9 10 12 14 15 +0 3 4 7 8 9 10 13 14 15 +0 3 4 7 8 9 11 12 13 14 +0 3 4 7 8 9 11 12 13 15 +0 3 4 7 8 9 11 12 14 15 +0 3 4 7 8 9 11 13 14 15 +0 3 4 7 8 9 12 13 14 15 +0 3 4 7 8 10 11 12 13 14 +0 3 4 7 8 10 11 12 13 15 +0 3 4 7 8 10 11 12 14 15 +0 3 4 7 8 10 11 13 14 15 +0 3 4 7 8 10 12 13 14 15 +0 3 4 7 8 11 12 13 14 15 +0 3 4 7 9 10 11 12 13 14 +0 3 4 7 9 10 11 12 13 15 +0 3 4 7 9 10 11 12 14 15 +0 3 4 7 9 10 11 13 14 15 +0 3 4 7 9 10 12 13 14 15 +0 3 4 7 9 11 12 13 14 15 +0 3 4 7 10 11 12 13 14 15 +0 3 4 8 9 10 11 12 13 14 +0 3 4 8 9 10 11 12 13 15 +0 3 4 8 9 10 11 12 14 15 +0 3 4 8 9 10 11 13 14 15 +0 3 4 8 9 10 12 13 14 15 +0 3 4 8 9 11 12 13 14 15 +0 3 4 8 10 11 12 13 14 15 +0 3 4 9 10 11 12 13 14 15 +0 3 5 6 7 8 9 10 11 12 +0 3 5 6 7 8 9 10 11 13 +0 3 5 6 7 8 9 10 11 14 +0 3 5 6 7 8 9 10 11 15 +0 3 5 6 7 8 9 10 12 13 +0 3 5 6 7 8 9 10 12 14 +0 3 5 6 7 8 9 10 12 15 +0 3 5 6 7 8 9 10 13 14 +0 3 5 6 7 8 9 10 13 15 +0 3 5 6 7 8 9 10 14 15 +0 3 5 6 7 8 9 11 12 13 +0 3 5 6 7 8 9 11 12 14 +0 3 5 6 7 8 9 11 12 15 +0 3 5 6 7 8 9 11 13 14 +0 3 5 6 7 8 9 11 13 15 +0 3 5 6 7 8 9 11 14 15 +0 3 5 6 7 8 9 12 13 14 +0 3 5 6 7 8 9 12 13 15 +0 3 5 6 7 8 9 12 14 15 +0 3 5 6 7 8 9 13 14 15 +0 3 5 6 7 8 10 11 12 13 +0 3 5 6 7 8 10 11 12 14 +0 3 5 6 7 8 10 11 12 15 +0 3 5 6 7 8 10 11 13 14 +0 3 5 6 7 8 10 11 13 15 +0 3 5 6 7 8 10 11 14 15 +0 3 5 6 7 8 10 12 13 14 +0 3 5 6 7 8 10 12 13 15 +0 3 5 6 7 8 10 12 14 15 +0 3 5 6 7 8 10 13 14 15 +0 3 5 6 7 8 11 12 13 14 +0 3 5 6 7 8 11 12 13 15 +0 3 5 6 7 8 11 12 14 15 +0 3 5 6 7 8 11 13 14 15 +0 3 5 6 7 8 12 13 14 15 +0 3 5 6 7 9 10 11 12 13 +0 3 5 6 7 9 10 11 12 14 +0 3 5 6 7 9 10 11 12 15 +0 3 5 6 7 9 10 11 13 14 +0 3 5 6 7 9 10 11 13 15 +0 3 5 6 7 9 10 11 14 15 +0 3 5 6 7 9 10 12 13 14 +0 3 5 6 7 9 10 12 13 15 +0 3 5 6 7 9 10 12 14 15 +0 3 5 6 7 9 10 13 14 15 +0 3 5 6 7 9 11 12 13 14 +0 3 5 6 7 9 11 12 13 15 +0 3 5 6 7 9 11 12 14 15 +0 3 5 6 7 9 11 13 14 15 +0 3 5 6 7 9 12 13 14 15 +0 3 5 6 7 10 11 12 13 14 +0 3 5 6 7 10 11 12 13 15 +0 3 5 6 7 10 11 12 14 15 +0 3 5 6 7 10 11 13 14 15 +0 3 5 6 7 10 12 13 14 15 +0 3 5 6 7 11 12 13 14 15 +0 3 5 6 8 9 10 11 12 13 +0 3 5 6 8 9 10 11 12 14 +0 3 5 6 8 9 10 11 12 15 +0 3 5 6 8 9 10 11 13 14 +0 3 5 6 8 9 10 11 13 15 +0 3 5 6 8 9 10 11 14 15 +0 3 5 6 8 9 10 12 13 14 +0 3 5 6 8 9 10 12 13 15 +0 3 5 6 8 9 10 12 14 15 +0 3 5 6 8 9 10 13 14 15 +0 3 5 6 8 9 11 12 13 14 +0 3 5 6 8 9 11 12 13 15 +0 3 5 6 8 9 11 12 14 15 +0 3 5 6 8 9 11 13 14 15 +0 3 5 6 8 9 12 13 14 15 +0 3 5 6 8 10 11 12 13 14 +0 3 5 6 8 10 11 12 13 15 +0 3 5 6 8 10 11 12 14 15 +0 3 5 6 8 10 11 13 14 15 +0 3 5 6 8 10 12 13 14 15 +0 3 5 6 8 11 12 13 14 15 +0 3 5 6 9 10 11 12 13 14 +0 3 5 6 9 10 11 12 13 15 +0 3 5 6 9 10 11 12 14 15 +0 3 5 6 9 10 11 13 14 15 +0 3 5 6 9 10 12 13 14 15 +0 3 5 6 9 11 12 13 14 15 +0 3 5 6 10 11 12 13 14 15 +0 3 5 7 8 9 10 11 12 13 +0 3 5 7 8 9 10 11 12 14 +0 3 5 7 8 9 10 11 12 15 +0 3 5 7 8 9 10 11 13 14 +0 3 5 7 8 9 10 11 13 15 +0 3 5 7 8 9 10 11 14 15 +0 3 5 7 8 9 10 12 13 14 +0 3 5 7 8 9 10 12 13 15 +0 3 5 7 8 9 10 12 14 15 +0 3 5 7 8 9 10 13 14 15 +0 3 5 7 8 9 11 12 13 14 +0 3 5 7 8 9 11 12 13 15 +0 3 5 7 8 9 11 12 14 15 +0 3 5 7 8 9 11 13 14 15 +0 3 5 7 8 9 12 13 14 15 +0 3 5 7 8 10 11 12 13 14 +0 3 5 7 8 10 11 12 13 15 +0 3 5 7 8 10 11 12 14 15 +0 3 5 7 8 10 11 13 14 15 +0 3 5 7 8 10 12 13 14 15 +0 3 5 7 8 11 12 13 14 15 +0 3 5 7 9 10 11 12 13 14 +0 3 5 7 9 10 11 12 13 15 +0 3 5 7 9 10 11 12 14 15 +0 3 5 7 9 10 11 13 14 15 +0 3 5 7 9 10 12 13 14 15 +0 3 5 7 9 11 12 13 14 15 +0 3 5 7 10 11 12 13 14 15 +0 3 5 8 9 10 11 12 13 14 +0 3 5 8 9 10 11 12 13 15 +0 3 5 8 9 10 11 12 14 15 +0 3 5 8 9 10 11 13 14 15 +0 3 5 8 9 10 12 13 14 15 +0 3 5 8 9 11 12 13 14 15 +0 3 5 8 10 11 12 13 14 15 +0 3 5 9 10 11 12 13 14 15 +0 3 6 7 8 9 10 11 12 13 +0 3 6 7 8 9 10 11 12 14 +0 3 6 7 8 9 10 11 12 15 +0 3 6 7 8 9 10 11 13 14 +0 3 6 7 8 9 10 11 13 15 +0 3 6 7 8 9 10 11 14 15 +0 3 6 7 8 9 10 12 13 14 +0 3 6 7 8 9 10 12 13 15 +0 3 6 7 8 9 10 12 14 15 +0 3 6 7 8 9 10 13 14 15 +0 3 6 7 8 9 11 12 13 14 +0 3 6 7 8 9 11 12 13 15 +0 3 6 7 8 9 11 12 14 15 +0 3 6 7 8 9 11 13 14 15 +0 3 6 7 8 9 12 13 14 15 +0 3 6 7 8 10 11 12 13 14 +0 3 6 7 8 10 11 12 13 15 +0 3 6 7 8 10 11 12 14 15 +0 3 6 7 8 10 11 13 14 15 +0 3 6 7 8 10 12 13 14 15 +0 3 6 7 8 11 12 13 14 15 +0 3 6 7 9 10 11 12 13 14 +0 3 6 7 9 10 11 12 13 15 +0 3 6 7 9 10 11 12 14 15 +0 3 6 7 9 10 11 13 14 15 +0 3 6 7 9 10 12 13 14 15 +0 3 6 7 9 11 12 13 14 15 +0 3 6 7 10 11 12 13 14 15 +0 3 6 8 9 10 11 12 13 14 +0 3 6 8 9 10 11 12 13 15 +0 3 6 8 9 10 11 12 14 15 +0 3 6 8 9 10 11 13 14 15 +0 3 6 8 9 10 12 13 14 15 +0 3 6 8 9 11 12 13 14 15 +0 3 6 8 10 11 12 13 14 15 +0 3 6 9 10 11 12 13 14 15 +0 3 7 8 9 10 11 12 13 14 +0 3 7 8 9 10 11 12 13 15 +0 3 7 8 9 10 11 12 14 15 +0 3 7 8 9 10 11 13 14 15 +0 3 7 8 9 10 12 13 14 15 +0 3 7 8 9 11 12 13 14 15 +0 3 7 8 10 11 12 13 14 15 +0 3 7 9 10 11 12 13 14 15 +0 3 8 9 10 11 12 13 14 15 +0 4 5 6 7 8 9 10 11 12 +0 4 5 6 7 8 9 10 11 13 +0 4 5 6 7 8 9 10 11 14 +0 4 5 6 7 8 9 10 11 15 +0 4 5 6 7 8 9 10 12 13 +0 4 5 6 7 8 9 10 12 14 +0 4 5 6 7 8 9 10 12 15 +0 4 5 6 7 8 9 10 13 14 +0 4 5 6 7 8 9 10 13 15 +0 4 5 6 7 8 9 10 14 15 +0 4 5 6 7 8 9 11 12 13 +0 4 5 6 7 8 9 11 12 14 +0 4 5 6 7 8 9 11 12 15 +0 4 5 6 7 8 9 11 13 14 +0 4 5 6 7 8 9 11 13 15 +0 4 5 6 7 8 9 11 14 15 +0 4 5 6 7 8 9 12 13 14 +0 4 5 6 7 8 9 12 13 15 +0 4 5 6 7 8 9 12 14 15 +0 4 5 6 7 8 9 13 14 15 +0 4 5 6 7 8 10 11 12 13 +0 4 5 6 7 8 10 11 12 14 +0 4 5 6 7 8 10 11 12 15 +0 4 5 6 7 8 10 11 13 14 +0 4 5 6 7 8 10 11 13 15 +0 4 5 6 7 8 10 11 14 15 +0 4 5 6 7 8 10 12 13 14 +0 4 5 6 7 8 10 12 13 15 +0 4 5 6 7 8 10 12 14 15 +0 4 5 6 7 8 10 13 14 15 +0 4 5 6 7 8 11 12 13 14 +0 4 5 6 7 8 11 12 13 15 +0 4 5 6 7 8 11 12 14 15 +0 4 5 6 7 8 11 13 14 15 +0 4 5 6 7 8 12 13 14 15 +0 4 5 6 7 9 10 11 12 13 +0 4 5 6 7 9 10 11 12 14 +0 4 5 6 7 9 10 11 12 15 +0 4 5 6 7 9 10 11 13 14 +0 4 5 6 7 9 10 11 13 15 +0 4 5 6 7 9 10 11 14 15 +0 4 5 6 7 9 10 12 13 14 +0 4 5 6 7 9 10 12 13 15 +0 4 5 6 7 9 10 12 14 15 +0 4 5 6 7 9 10 13 14 15 +0 4 5 6 7 9 11 12 13 14 +0 4 5 6 7 9 11 12 13 15 +0 4 5 6 7 9 11 12 14 15 +0 4 5 6 7 9 11 13 14 15 +0 4 5 6 7 9 12 13 14 15 +0 4 5 6 7 10 11 12 13 14 +0 4 5 6 7 10 11 12 13 15 +0 4 5 6 7 10 11 12 14 15 +0 4 5 6 7 10 11 13 14 15 +0 4 5 6 7 10 12 13 14 15 +0 4 5 6 7 11 12 13 14 15 +0 4 5 6 8 9 10 11 12 13 +0 4 5 6 8 9 10 11 12 14 +0 4 5 6 8 9 10 11 12 15 +0 4 5 6 8 9 10 11 13 14 +0 4 5 6 8 9 10 11 13 15 +0 4 5 6 8 9 10 11 14 15 +0 4 5 6 8 9 10 12 13 14 +0 4 5 6 8 9 10 12 13 15 +0 4 5 6 8 9 10 12 14 15 +0 4 5 6 8 9 10 13 14 15 +0 4 5 6 8 9 11 12 13 14 +0 4 5 6 8 9 11 12 13 15 +0 4 5 6 8 9 11 12 14 15 +0 4 5 6 8 9 11 13 14 15 +0 4 5 6 8 9 12 13 14 15 +0 4 5 6 8 10 11 12 13 14 +0 4 5 6 8 10 11 12 13 15 +0 4 5 6 8 10 11 12 14 15 +0 4 5 6 8 10 11 13 14 15 +0 4 5 6 8 10 12 13 14 15 +0 4 5 6 8 11 12 13 14 15 +0 4 5 6 9 10 11 12 13 14 +0 4 5 6 9 10 11 12 13 15 +0 4 5 6 9 10 11 12 14 15 +0 4 5 6 9 10 11 13 14 15 +0 4 5 6 9 10 12 13 14 15 +0 4 5 6 9 11 12 13 14 15 +0 4 5 6 10 11 12 13 14 15 +0 4 5 7 8 9 10 11 12 13 +0 4 5 7 8 9 10 11 12 14 +0 4 5 7 8 9 10 11 12 15 +0 4 5 7 8 9 10 11 13 14 +0 4 5 7 8 9 10 11 13 15 +0 4 5 7 8 9 10 11 14 15 +0 4 5 7 8 9 10 12 13 14 +0 4 5 7 8 9 10 12 13 15 +0 4 5 7 8 9 10 12 14 15 +0 4 5 7 8 9 10 13 14 15 +0 4 5 7 8 9 11 12 13 14 +0 4 5 7 8 9 11 12 13 15 +0 4 5 7 8 9 11 12 14 15 +0 4 5 7 8 9 11 13 14 15 +0 4 5 7 8 9 12 13 14 15 +0 4 5 7 8 10 11 12 13 14 +0 4 5 7 8 10 11 12 13 15 +0 4 5 7 8 10 11 12 14 15 +0 4 5 7 8 10 11 13 14 15 +0 4 5 7 8 10 12 13 14 15 +0 4 5 7 8 11 12 13 14 15 +0 4 5 7 9 10 11 12 13 14 +0 4 5 7 9 10 11 12 13 15 +0 4 5 7 9 10 11 12 14 15 +0 4 5 7 9 10 11 13 14 15 +0 4 5 7 9 10 12 13 14 15 +0 4 5 7 9 11 12 13 14 15 +0 4 5 7 10 11 12 13 14 15 +0 4 5 8 9 10 11 12 13 14 +0 4 5 8 9 10 11 12 13 15 +0 4 5 8 9 10 11 12 14 15 +0 4 5 8 9 10 11 13 14 15 +0 4 5 8 9 10 12 13 14 15 +0 4 5 8 9 11 12 13 14 15 +0 4 5 8 10 11 12 13 14 15 +0 4 5 9 10 11 12 13 14 15 +0 4 6 7 8 9 10 11 12 13 +0 4 6 7 8 9 10 11 12 14 +0 4 6 7 8 9 10 11 12 15 +0 4 6 7 8 9 10 11 13 14 +0 4 6 7 8 9 10 11 13 15 +0 4 6 7 8 9 10 11 14 15 +0 4 6 7 8 9 10 12 13 14 +0 4 6 7 8 9 10 12 13 15 +0 4 6 7 8 9 10 12 14 15 +0 4 6 7 8 9 10 13 14 15 +0 4 6 7 8 9 11 12 13 14 +0 4 6 7 8 9 11 12 13 15 +0 4 6 7 8 9 11 12 14 15 +0 4 6 7 8 9 11 13 14 15 +0 4 6 7 8 9 12 13 14 15 +0 4 6 7 8 10 11 12 13 14 +0 4 6 7 8 10 11 12 13 15 +0 4 6 7 8 10 11 12 14 15 +0 4 6 7 8 10 11 13 14 15 +0 4 6 7 8 10 12 13 14 15 +0 4 6 7 8 11 12 13 14 15 +0 4 6 7 9 10 11 12 13 14 +0 4 6 7 9 10 11 12 13 15 +0 4 6 7 9 10 11 12 14 15 +0 4 6 7 9 10 11 13 14 15 +0 4 6 7 9 10 12 13 14 15 +0 4 6 7 9 11 12 13 14 15 +0 4 6 7 10 11 12 13 14 15 +0 4 6 8 9 10 11 12 13 14 +0 4 6 8 9 10 11 12 13 15 +0 4 6 8 9 10 11 12 14 15 +0 4 6 8 9 10 11 13 14 15 +0 4 6 8 9 10 12 13 14 15 +0 4 6 8 9 11 12 13 14 15 +0 4 6 8 10 11 12 13 14 15 +0 4 6 9 10 11 12 13 14 15 +0 4 7 8 9 10 11 12 13 14 +0 4 7 8 9 10 11 12 13 15 +0 4 7 8 9 10 11 12 14 15 +0 4 7 8 9 10 11 13 14 15 +0 4 7 8 9 10 12 13 14 15 +0 4 7 8 9 11 12 13 14 15 +0 4 7 8 10 11 12 13 14 15 +0 4 7 9 10 11 12 13 14 15 +0 4 8 9 10 11 12 13 14 15 +0 5 6 7 8 9 10 11 12 13 +0 5 6 7 8 9 10 11 12 14 +0 5 6 7 8 9 10 11 12 15 +0 5 6 7 8 9 10 11 13 14 +0 5 6 7 8 9 10 11 13 15 +0 5 6 7 8 9 10 11 14 15 +0 5 6 7 8 9 10 12 13 14 +0 5 6 7 8 9 10 12 13 15 +0 5 6 7 8 9 10 12 14 15 +0 5 6 7 8 9 10 13 14 15 +0 5 6 7 8 9 11 12 13 14 +0 5 6 7 8 9 11 12 13 15 +0 5 6 7 8 9 11 12 14 15 +0 5 6 7 8 9 11 13 14 15 +0 5 6 7 8 9 12 13 14 15 +0 5 6 7 8 10 11 12 13 14 +0 5 6 7 8 10 11 12 13 15 +0 5 6 7 8 10 11 12 14 15 +0 5 6 7 8 10 11 13 14 15 +0 5 6 7 8 10 12 13 14 15 +0 5 6 7 8 11 12 13 14 15 +0 5 6 7 9 10 11 12 13 14 +0 5 6 7 9 10 11 12 13 15 +0 5 6 7 9 10 11 12 14 15 +0 5 6 7 9 10 11 13 14 15 +0 5 6 7 9 10 12 13 14 15 +0 5 6 7 9 11 12 13 14 15 +0 5 6 7 10 11 12 13 14 15 +0 5 6 8 9 10 11 12 13 14 +0 5 6 8 9 10 11 12 13 15 +0 5 6 8 9 10 11 12 14 15 +0 5 6 8 9 10 11 13 14 15 +0 5 6 8 9 10 12 13 14 15 +0 5 6 8 9 11 12 13 14 15 +0 5 6 8 10 11 12 13 14 15 +0 5 6 9 10 11 12 13 14 15 +0 5 7 8 9 10 11 12 13 14 +0 5 7 8 9 10 11 12 13 15 +0 5 7 8 9 10 11 12 14 15 +0 5 7 8 9 10 11 13 14 15 +0 5 7 8 9 10 12 13 14 15 +0 5 7 8 9 11 12 13 14 15 +0 5 7 8 10 11 12 13 14 15 +0 5 7 9 10 11 12 13 14 15 +0 5 8 9 10 11 12 13 14 15 +0 6 7 8 9 10 11 12 13 14 +0 6 7 8 9 10 11 12 13 15 +0 6 7 8 9 10 11 12 14 15 +0 6 7 8 9 10 11 13 14 15 +0 6 7 8 9 10 12 13 14 15 +0 6 7 8 9 11 12 13 14 15 +0 6 7 8 10 11 12 13 14 15 +0 6 7 9 10 11 12 13 14 15 +0 6 8 9 10 11 12 13 14 15 +0 7 8 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 9 10 +1 2 3 4 5 6 7 8 9 11 +1 2 3 4 5 6 7 8 9 12 +1 2 3 4 5 6 7 8 9 13 +1 2 3 4 5 6 7 8 9 14 +1 2 3 4 5 6 7 8 9 15 +1 2 3 4 5 6 7 8 10 11 +1 2 3 4 5 6 7 8 10 12 +1 2 3 4 5 6 7 8 10 13 +1 2 3 4 5 6 7 8 10 14 +1 2 3 4 5 6 7 8 10 15 +1 2 3 4 5 6 7 8 11 12 +1 2 3 4 5 6 7 8 11 13 +1 2 3 4 5 6 7 8 11 14 +1 2 3 4 5 6 7 8 11 15 +1 2 3 4 5 6 7 8 12 13 +1 2 3 4 5 6 7 8 12 14 +1 2 3 4 5 6 7 8 12 15 +1 2 3 4 5 6 7 8 13 14 +1 2 3 4 5 6 7 8 13 15 +1 2 3 4 5 6 7 8 14 15 +1 2 3 4 5 6 7 9 10 11 +1 2 3 4 5 6 7 9 10 12 +1 2 3 4 5 6 7 9 10 13 +1 2 3 4 5 6 7 9 10 14 +1 2 3 4 5 6 7 9 10 15 +1 2 3 4 5 6 7 9 11 12 +1 2 3 4 5 6 7 9 11 13 +1 2 3 4 5 6 7 9 11 14 +1 2 3 4 5 6 7 9 11 15 +1 2 3 4 5 6 7 9 12 13 +1 2 3 4 5 6 7 9 12 14 +1 2 3 4 5 6 7 9 12 15 +1 2 3 4 5 6 7 9 13 14 +1 2 3 4 5 6 7 9 13 15 +1 2 3 4 5 6 7 9 14 15 +1 2 3 4 5 6 7 10 11 12 +1 2 3 4 5 6 7 10 11 13 +1 2 3 4 5 6 7 10 11 14 +1 2 3 4 5 6 7 10 11 15 +1 2 3 4 5 6 7 10 12 13 +1 2 3 4 5 6 7 10 12 14 +1 2 3 4 5 6 7 10 12 15 +1 2 3 4 5 6 7 10 13 14 +1 2 3 4 5 6 7 10 13 15 +1 2 3 4 5 6 7 10 14 15 +1 2 3 4 5 6 7 11 12 13 +1 2 3 4 5 6 7 11 12 14 +1 2 3 4 5 6 7 11 12 15 +1 2 3 4 5 6 7 11 13 14 +1 2 3 4 5 6 7 11 13 15 +1 2 3 4 5 6 7 11 14 15 +1 2 3 4 5 6 7 12 13 14 +1 2 3 4 5 6 7 12 13 15 +1 2 3 4 5 6 7 12 14 15 +1 2 3 4 5 6 7 13 14 15 +1 2 3 4 5 6 8 9 10 11 +1 2 3 4 5 6 8 9 10 12 +1 2 3 4 5 6 8 9 10 13 +1 2 3 4 5 6 8 9 10 14 +1 2 3 4 5 6 8 9 10 15 +1 2 3 4 5 6 8 9 11 12 +1 2 3 4 5 6 8 9 11 13 +1 2 3 4 5 6 8 9 11 14 +1 2 3 4 5 6 8 9 11 15 +1 2 3 4 5 6 8 9 12 13 +1 2 3 4 5 6 8 9 12 14 +1 2 3 4 5 6 8 9 12 15 +1 2 3 4 5 6 8 9 13 14 +1 2 3 4 5 6 8 9 13 15 +1 2 3 4 5 6 8 9 14 15 +1 2 3 4 5 6 8 10 11 12 +1 2 3 4 5 6 8 10 11 13 +1 2 3 4 5 6 8 10 11 14 +1 2 3 4 5 6 8 10 11 15 +1 2 3 4 5 6 8 10 12 13 +1 2 3 4 5 6 8 10 12 14 +1 2 3 4 5 6 8 10 12 15 +1 2 3 4 5 6 8 10 13 14 +1 2 3 4 5 6 8 10 13 15 +1 2 3 4 5 6 8 10 14 15 +1 2 3 4 5 6 8 11 12 13 +1 2 3 4 5 6 8 11 12 14 +1 2 3 4 5 6 8 11 12 15 +1 2 3 4 5 6 8 11 13 14 +1 2 3 4 5 6 8 11 13 15 +1 2 3 4 5 6 8 11 14 15 +1 2 3 4 5 6 8 12 13 14 +1 2 3 4 5 6 8 12 13 15 +1 2 3 4 5 6 8 12 14 15 +1 2 3 4 5 6 8 13 14 15 +1 2 3 4 5 6 9 10 11 12 +1 2 3 4 5 6 9 10 11 13 +1 2 3 4 5 6 9 10 11 14 +1 2 3 4 5 6 9 10 11 15 +1 2 3 4 5 6 9 10 12 13 +1 2 3 4 5 6 9 10 12 14 +1 2 3 4 5 6 9 10 12 15 +1 2 3 4 5 6 9 10 13 14 +1 2 3 4 5 6 9 10 13 15 +1 2 3 4 5 6 9 10 14 15 +1 2 3 4 5 6 9 11 12 13 +1 2 3 4 5 6 9 11 12 14 +1 2 3 4 5 6 9 11 12 15 +1 2 3 4 5 6 9 11 13 14 +1 2 3 4 5 6 9 11 13 15 +1 2 3 4 5 6 9 11 14 15 +1 2 3 4 5 6 9 12 13 14 +1 2 3 4 5 6 9 12 13 15 +1 2 3 4 5 6 9 12 14 15 +1 2 3 4 5 6 9 13 14 15 +1 2 3 4 5 6 10 11 12 13 +1 2 3 4 5 6 10 11 12 14 +1 2 3 4 5 6 10 11 12 15 +1 2 3 4 5 6 10 11 13 14 +1 2 3 4 5 6 10 11 13 15 +1 2 3 4 5 6 10 11 14 15 +1 2 3 4 5 6 10 12 13 14 +1 2 3 4 5 6 10 12 13 15 +1 2 3 4 5 6 10 12 14 15 +1 2 3 4 5 6 10 13 14 15 +1 2 3 4 5 6 11 12 13 14 +1 2 3 4 5 6 11 12 13 15 +1 2 3 4 5 6 11 12 14 15 +1 2 3 4 5 6 11 13 14 15 +1 2 3 4 5 6 12 13 14 15 +1 2 3 4 5 7 8 9 10 11 +1 2 3 4 5 7 8 9 10 12 +1 2 3 4 5 7 8 9 10 13 +1 2 3 4 5 7 8 9 10 14 +1 2 3 4 5 7 8 9 10 15 +1 2 3 4 5 7 8 9 11 12 +1 2 3 4 5 7 8 9 11 13 +1 2 3 4 5 7 8 9 11 14 +1 2 3 4 5 7 8 9 11 15 +1 2 3 4 5 7 8 9 12 13 +1 2 3 4 5 7 8 9 12 14 +1 2 3 4 5 7 8 9 12 15 +1 2 3 4 5 7 8 9 13 14 +1 2 3 4 5 7 8 9 13 15 +1 2 3 4 5 7 8 9 14 15 +1 2 3 4 5 7 8 10 11 12 +1 2 3 4 5 7 8 10 11 13 +1 2 3 4 5 7 8 10 11 14 +1 2 3 4 5 7 8 10 11 15 +1 2 3 4 5 7 8 10 12 13 +1 2 3 4 5 7 8 10 12 14 +1 2 3 4 5 7 8 10 12 15 +1 2 3 4 5 7 8 10 13 14 +1 2 3 4 5 7 8 10 13 15 +1 2 3 4 5 7 8 10 14 15 +1 2 3 4 5 7 8 11 12 13 +1 2 3 4 5 7 8 11 12 14 +1 2 3 4 5 7 8 11 12 15 +1 2 3 4 5 7 8 11 13 14 +1 2 3 4 5 7 8 11 13 15 +1 2 3 4 5 7 8 11 14 15 +1 2 3 4 5 7 8 12 13 14 +1 2 3 4 5 7 8 12 13 15 +1 2 3 4 5 7 8 12 14 15 +1 2 3 4 5 7 8 13 14 15 +1 2 3 4 5 7 9 10 11 12 +1 2 3 4 5 7 9 10 11 13 +1 2 3 4 5 7 9 10 11 14 +1 2 3 4 5 7 9 10 11 15 +1 2 3 4 5 7 9 10 12 13 +1 2 3 4 5 7 9 10 12 14 +1 2 3 4 5 7 9 10 12 15 +1 2 3 4 5 7 9 10 13 14 +1 2 3 4 5 7 9 10 13 15 +1 2 3 4 5 7 9 10 14 15 +1 2 3 4 5 7 9 11 12 13 +1 2 3 4 5 7 9 11 12 14 +1 2 3 4 5 7 9 11 12 15 +1 2 3 4 5 7 9 11 13 14 +1 2 3 4 5 7 9 11 13 15 +1 2 3 4 5 7 9 11 14 15 +1 2 3 4 5 7 9 12 13 14 +1 2 3 4 5 7 9 12 13 15 +1 2 3 4 5 7 9 12 14 15 +1 2 3 4 5 7 9 13 14 15 +1 2 3 4 5 7 10 11 12 13 +1 2 3 4 5 7 10 11 12 14 +1 2 3 4 5 7 10 11 12 15 +1 2 3 4 5 7 10 11 13 14 +1 2 3 4 5 7 10 11 13 15 +1 2 3 4 5 7 10 11 14 15 +1 2 3 4 5 7 10 12 13 14 +1 2 3 4 5 7 10 12 13 15 +1 2 3 4 5 7 10 12 14 15 +1 2 3 4 5 7 10 13 14 15 +1 2 3 4 5 7 11 12 13 14 +1 2 3 4 5 7 11 12 13 15 +1 2 3 4 5 7 11 12 14 15 +1 2 3 4 5 7 11 13 14 15 +1 2 3 4 5 7 12 13 14 15 +1 2 3 4 5 8 9 10 11 12 +1 2 3 4 5 8 9 10 11 13 +1 2 3 4 5 8 9 10 11 14 +1 2 3 4 5 8 9 10 11 15 +1 2 3 4 5 8 9 10 12 13 +1 2 3 4 5 8 9 10 12 14 +1 2 3 4 5 8 9 10 12 15 +1 2 3 4 5 8 9 10 13 14 +1 2 3 4 5 8 9 10 13 15 +1 2 3 4 5 8 9 10 14 15 +1 2 3 4 5 8 9 11 12 13 +1 2 3 4 5 8 9 11 12 14 +1 2 3 4 5 8 9 11 12 15 +1 2 3 4 5 8 9 11 13 14 +1 2 3 4 5 8 9 11 13 15 +1 2 3 4 5 8 9 11 14 15 +1 2 3 4 5 8 9 12 13 14 +1 2 3 4 5 8 9 12 13 15 +1 2 3 4 5 8 9 12 14 15 +1 2 3 4 5 8 9 13 14 15 +1 2 3 4 5 8 10 11 12 13 +1 2 3 4 5 8 10 11 12 14 +1 2 3 4 5 8 10 11 12 15 +1 2 3 4 5 8 10 11 13 14 +1 2 3 4 5 8 10 11 13 15 +1 2 3 4 5 8 10 11 14 15 +1 2 3 4 5 8 10 12 13 14 +1 2 3 4 5 8 10 12 13 15 +1 2 3 4 5 8 10 12 14 15 +1 2 3 4 5 8 10 13 14 15 +1 2 3 4 5 8 11 12 13 14 +1 2 3 4 5 8 11 12 13 15 +1 2 3 4 5 8 11 12 14 15 +1 2 3 4 5 8 11 13 14 15 +1 2 3 4 5 8 12 13 14 15 +1 2 3 4 5 9 10 11 12 13 +1 2 3 4 5 9 10 11 12 14 +1 2 3 4 5 9 10 11 12 15 +1 2 3 4 5 9 10 11 13 14 +1 2 3 4 5 9 10 11 13 15 +1 2 3 4 5 9 10 11 14 15 +1 2 3 4 5 9 10 12 13 14 +1 2 3 4 5 9 10 12 13 15 +1 2 3 4 5 9 10 12 14 15 +1 2 3 4 5 9 10 13 14 15 +1 2 3 4 5 9 11 12 13 14 +1 2 3 4 5 9 11 12 13 15 +1 2 3 4 5 9 11 12 14 15 +1 2 3 4 5 9 11 13 14 15 +1 2 3 4 5 9 12 13 14 15 +1 2 3 4 5 10 11 12 13 14 +1 2 3 4 5 10 11 12 13 15 +1 2 3 4 5 10 11 12 14 15 +1 2 3 4 5 10 11 13 14 15 +1 2 3 4 5 10 12 13 14 15 +1 2 3 4 5 11 12 13 14 15 +1 2 3 4 6 7 8 9 10 11 +1 2 3 4 6 7 8 9 10 12 +1 2 3 4 6 7 8 9 10 13 +1 2 3 4 6 7 8 9 10 14 +1 2 3 4 6 7 8 9 10 15 +1 2 3 4 6 7 8 9 11 12 +1 2 3 4 6 7 8 9 11 13 +1 2 3 4 6 7 8 9 11 14 +1 2 3 4 6 7 8 9 11 15 +1 2 3 4 6 7 8 9 12 13 +1 2 3 4 6 7 8 9 12 14 +1 2 3 4 6 7 8 9 12 15 +1 2 3 4 6 7 8 9 13 14 +1 2 3 4 6 7 8 9 13 15 +1 2 3 4 6 7 8 9 14 15 +1 2 3 4 6 7 8 10 11 12 +1 2 3 4 6 7 8 10 11 13 +1 2 3 4 6 7 8 10 11 14 +1 2 3 4 6 7 8 10 11 15 +1 2 3 4 6 7 8 10 12 13 +1 2 3 4 6 7 8 10 12 14 +1 2 3 4 6 7 8 10 12 15 +1 2 3 4 6 7 8 10 13 14 +1 2 3 4 6 7 8 10 13 15 +1 2 3 4 6 7 8 10 14 15 +1 2 3 4 6 7 8 11 12 13 +1 2 3 4 6 7 8 11 12 14 +1 2 3 4 6 7 8 11 12 15 +1 2 3 4 6 7 8 11 13 14 +1 2 3 4 6 7 8 11 13 15 +1 2 3 4 6 7 8 11 14 15 +1 2 3 4 6 7 8 12 13 14 +1 2 3 4 6 7 8 12 13 15 +1 2 3 4 6 7 8 12 14 15 +1 2 3 4 6 7 8 13 14 15 +1 2 3 4 6 7 9 10 11 12 +1 2 3 4 6 7 9 10 11 13 +1 2 3 4 6 7 9 10 11 14 +1 2 3 4 6 7 9 10 11 15 +1 2 3 4 6 7 9 10 12 13 +1 2 3 4 6 7 9 10 12 14 +1 2 3 4 6 7 9 10 12 15 +1 2 3 4 6 7 9 10 13 14 +1 2 3 4 6 7 9 10 13 15 +1 2 3 4 6 7 9 10 14 15 +1 2 3 4 6 7 9 11 12 13 +1 2 3 4 6 7 9 11 12 14 +1 2 3 4 6 7 9 11 12 15 +1 2 3 4 6 7 9 11 13 14 +1 2 3 4 6 7 9 11 13 15 +1 2 3 4 6 7 9 11 14 15 +1 2 3 4 6 7 9 12 13 14 +1 2 3 4 6 7 9 12 13 15 +1 2 3 4 6 7 9 12 14 15 +1 2 3 4 6 7 9 13 14 15 +1 2 3 4 6 7 10 11 12 13 +1 2 3 4 6 7 10 11 12 14 +1 2 3 4 6 7 10 11 12 15 +1 2 3 4 6 7 10 11 13 14 +1 2 3 4 6 7 10 11 13 15 +1 2 3 4 6 7 10 11 14 15 +1 2 3 4 6 7 10 12 13 14 +1 2 3 4 6 7 10 12 13 15 +1 2 3 4 6 7 10 12 14 15 +1 2 3 4 6 7 10 13 14 15 +1 2 3 4 6 7 11 12 13 14 +1 2 3 4 6 7 11 12 13 15 +1 2 3 4 6 7 11 12 14 15 +1 2 3 4 6 7 11 13 14 15 +1 2 3 4 6 7 12 13 14 15 +1 2 3 4 6 8 9 10 11 12 +1 2 3 4 6 8 9 10 11 13 +1 2 3 4 6 8 9 10 11 14 +1 2 3 4 6 8 9 10 11 15 +1 2 3 4 6 8 9 10 12 13 +1 2 3 4 6 8 9 10 12 14 +1 2 3 4 6 8 9 10 12 15 +1 2 3 4 6 8 9 10 13 14 +1 2 3 4 6 8 9 10 13 15 +1 2 3 4 6 8 9 10 14 15 +1 2 3 4 6 8 9 11 12 13 +1 2 3 4 6 8 9 11 12 14 +1 2 3 4 6 8 9 11 12 15 +1 2 3 4 6 8 9 11 13 14 +1 2 3 4 6 8 9 11 13 15 +1 2 3 4 6 8 9 11 14 15 +1 2 3 4 6 8 9 12 13 14 +1 2 3 4 6 8 9 12 13 15 +1 2 3 4 6 8 9 12 14 15 +1 2 3 4 6 8 9 13 14 15 +1 2 3 4 6 8 10 11 12 13 +1 2 3 4 6 8 10 11 12 14 +1 2 3 4 6 8 10 11 12 15 +1 2 3 4 6 8 10 11 13 14 +1 2 3 4 6 8 10 11 13 15 +1 2 3 4 6 8 10 11 14 15 +1 2 3 4 6 8 10 12 13 14 +1 2 3 4 6 8 10 12 13 15 +1 2 3 4 6 8 10 12 14 15 +1 2 3 4 6 8 10 13 14 15 +1 2 3 4 6 8 11 12 13 14 +1 2 3 4 6 8 11 12 13 15 +1 2 3 4 6 8 11 12 14 15 +1 2 3 4 6 8 11 13 14 15 +1 2 3 4 6 8 12 13 14 15 +1 2 3 4 6 9 10 11 12 13 +1 2 3 4 6 9 10 11 12 14 +1 2 3 4 6 9 10 11 12 15 +1 2 3 4 6 9 10 11 13 14 +1 2 3 4 6 9 10 11 13 15 +1 2 3 4 6 9 10 11 14 15 +1 2 3 4 6 9 10 12 13 14 +1 2 3 4 6 9 10 12 13 15 +1 2 3 4 6 9 10 12 14 15 +1 2 3 4 6 9 10 13 14 15 +1 2 3 4 6 9 11 12 13 14 +1 2 3 4 6 9 11 12 13 15 +1 2 3 4 6 9 11 12 14 15 +1 2 3 4 6 9 11 13 14 15 +1 2 3 4 6 9 12 13 14 15 +1 2 3 4 6 10 11 12 13 14 +1 2 3 4 6 10 11 12 13 15 +1 2 3 4 6 10 11 12 14 15 +1 2 3 4 6 10 11 13 14 15 +1 2 3 4 6 10 12 13 14 15 +1 2 3 4 6 11 12 13 14 15 +1 2 3 4 7 8 9 10 11 12 +1 2 3 4 7 8 9 10 11 13 +1 2 3 4 7 8 9 10 11 14 +1 2 3 4 7 8 9 10 11 15 +1 2 3 4 7 8 9 10 12 13 +1 2 3 4 7 8 9 10 12 14 +1 2 3 4 7 8 9 10 12 15 +1 2 3 4 7 8 9 10 13 14 +1 2 3 4 7 8 9 10 13 15 +1 2 3 4 7 8 9 10 14 15 +1 2 3 4 7 8 9 11 12 13 +1 2 3 4 7 8 9 11 12 14 +1 2 3 4 7 8 9 11 12 15 +1 2 3 4 7 8 9 11 13 14 +1 2 3 4 7 8 9 11 13 15 +1 2 3 4 7 8 9 11 14 15 +1 2 3 4 7 8 9 12 13 14 +1 2 3 4 7 8 9 12 13 15 +1 2 3 4 7 8 9 12 14 15 +1 2 3 4 7 8 9 13 14 15 +1 2 3 4 7 8 10 11 12 13 +1 2 3 4 7 8 10 11 12 14 +1 2 3 4 7 8 10 11 12 15 +1 2 3 4 7 8 10 11 13 14 +1 2 3 4 7 8 10 11 13 15 +1 2 3 4 7 8 10 11 14 15 +1 2 3 4 7 8 10 12 13 14 +1 2 3 4 7 8 10 12 13 15 +1 2 3 4 7 8 10 12 14 15 +1 2 3 4 7 8 10 13 14 15 +1 2 3 4 7 8 11 12 13 14 +1 2 3 4 7 8 11 12 13 15 +1 2 3 4 7 8 11 12 14 15 +1 2 3 4 7 8 11 13 14 15 +1 2 3 4 7 8 12 13 14 15 +1 2 3 4 7 9 10 11 12 13 +1 2 3 4 7 9 10 11 12 14 +1 2 3 4 7 9 10 11 12 15 +1 2 3 4 7 9 10 11 13 14 +1 2 3 4 7 9 10 11 13 15 +1 2 3 4 7 9 10 11 14 15 +1 2 3 4 7 9 10 12 13 14 +1 2 3 4 7 9 10 12 13 15 +1 2 3 4 7 9 10 12 14 15 +1 2 3 4 7 9 10 13 14 15 +1 2 3 4 7 9 11 12 13 14 +1 2 3 4 7 9 11 12 13 15 +1 2 3 4 7 9 11 12 14 15 +1 2 3 4 7 9 11 13 14 15 +1 2 3 4 7 9 12 13 14 15 +1 2 3 4 7 10 11 12 13 14 +1 2 3 4 7 10 11 12 13 15 +1 2 3 4 7 10 11 12 14 15 +1 2 3 4 7 10 11 13 14 15 +1 2 3 4 7 10 12 13 14 15 +1 2 3 4 7 11 12 13 14 15 +1 2 3 4 8 9 10 11 12 13 +1 2 3 4 8 9 10 11 12 14 +1 2 3 4 8 9 10 11 12 15 +1 2 3 4 8 9 10 11 13 14 +1 2 3 4 8 9 10 11 13 15 +1 2 3 4 8 9 10 11 14 15 +1 2 3 4 8 9 10 12 13 14 +1 2 3 4 8 9 10 12 13 15 +1 2 3 4 8 9 10 12 14 15 +1 2 3 4 8 9 10 13 14 15 +1 2 3 4 8 9 11 12 13 14 +1 2 3 4 8 9 11 12 13 15 +1 2 3 4 8 9 11 12 14 15 +1 2 3 4 8 9 11 13 14 15 +1 2 3 4 8 9 12 13 14 15 +1 2 3 4 8 10 11 12 13 14 +1 2 3 4 8 10 11 12 13 15 +1 2 3 4 8 10 11 12 14 15 +1 2 3 4 8 10 11 13 14 15 +1 2 3 4 8 10 12 13 14 15 +1 2 3 4 8 11 12 13 14 15 +1 2 3 4 9 10 11 12 13 14 +1 2 3 4 9 10 11 12 13 15 +1 2 3 4 9 10 11 12 14 15 +1 2 3 4 9 10 11 13 14 15 +1 2 3 4 9 10 12 13 14 15 +1 2 3 4 9 11 12 13 14 15 +1 2 3 4 10 11 12 13 14 15 +1 2 3 5 6 7 8 9 10 11 +1 2 3 5 6 7 8 9 10 12 +1 2 3 5 6 7 8 9 10 13 +1 2 3 5 6 7 8 9 10 14 +1 2 3 5 6 7 8 9 10 15 +1 2 3 5 6 7 8 9 11 12 +1 2 3 5 6 7 8 9 11 13 +1 2 3 5 6 7 8 9 11 14 +1 2 3 5 6 7 8 9 11 15 +1 2 3 5 6 7 8 9 12 13 +1 2 3 5 6 7 8 9 12 14 +1 2 3 5 6 7 8 9 12 15 +1 2 3 5 6 7 8 9 13 14 +1 2 3 5 6 7 8 9 13 15 +1 2 3 5 6 7 8 9 14 15 +1 2 3 5 6 7 8 10 11 12 +1 2 3 5 6 7 8 10 11 13 +1 2 3 5 6 7 8 10 11 14 +1 2 3 5 6 7 8 10 11 15 +1 2 3 5 6 7 8 10 12 13 +1 2 3 5 6 7 8 10 12 14 +1 2 3 5 6 7 8 10 12 15 +1 2 3 5 6 7 8 10 13 14 +1 2 3 5 6 7 8 10 13 15 +1 2 3 5 6 7 8 10 14 15 +1 2 3 5 6 7 8 11 12 13 +1 2 3 5 6 7 8 11 12 14 +1 2 3 5 6 7 8 11 12 15 +1 2 3 5 6 7 8 11 13 14 +1 2 3 5 6 7 8 11 13 15 +1 2 3 5 6 7 8 11 14 15 +1 2 3 5 6 7 8 12 13 14 +1 2 3 5 6 7 8 12 13 15 +1 2 3 5 6 7 8 12 14 15 +1 2 3 5 6 7 8 13 14 15 +1 2 3 5 6 7 9 10 11 12 +1 2 3 5 6 7 9 10 11 13 +1 2 3 5 6 7 9 10 11 14 +1 2 3 5 6 7 9 10 11 15 +1 2 3 5 6 7 9 10 12 13 +1 2 3 5 6 7 9 10 12 14 +1 2 3 5 6 7 9 10 12 15 +1 2 3 5 6 7 9 10 13 14 +1 2 3 5 6 7 9 10 13 15 +1 2 3 5 6 7 9 10 14 15 +1 2 3 5 6 7 9 11 12 13 +1 2 3 5 6 7 9 11 12 14 +1 2 3 5 6 7 9 11 12 15 +1 2 3 5 6 7 9 11 13 14 +1 2 3 5 6 7 9 11 13 15 +1 2 3 5 6 7 9 11 14 15 +1 2 3 5 6 7 9 12 13 14 +1 2 3 5 6 7 9 12 13 15 +1 2 3 5 6 7 9 12 14 15 +1 2 3 5 6 7 9 13 14 15 +1 2 3 5 6 7 10 11 12 13 +1 2 3 5 6 7 10 11 12 14 +1 2 3 5 6 7 10 11 12 15 +1 2 3 5 6 7 10 11 13 14 +1 2 3 5 6 7 10 11 13 15 +1 2 3 5 6 7 10 11 14 15 +1 2 3 5 6 7 10 12 13 14 +1 2 3 5 6 7 10 12 13 15 +1 2 3 5 6 7 10 12 14 15 +1 2 3 5 6 7 10 13 14 15 +1 2 3 5 6 7 11 12 13 14 +1 2 3 5 6 7 11 12 13 15 +1 2 3 5 6 7 11 12 14 15 +1 2 3 5 6 7 11 13 14 15 +1 2 3 5 6 7 12 13 14 15 +1 2 3 5 6 8 9 10 11 12 +1 2 3 5 6 8 9 10 11 13 +1 2 3 5 6 8 9 10 11 14 +1 2 3 5 6 8 9 10 11 15 +1 2 3 5 6 8 9 10 12 13 +1 2 3 5 6 8 9 10 12 14 +1 2 3 5 6 8 9 10 12 15 +1 2 3 5 6 8 9 10 13 14 +1 2 3 5 6 8 9 10 13 15 +1 2 3 5 6 8 9 10 14 15 +1 2 3 5 6 8 9 11 12 13 +1 2 3 5 6 8 9 11 12 14 +1 2 3 5 6 8 9 11 12 15 +1 2 3 5 6 8 9 11 13 14 +1 2 3 5 6 8 9 11 13 15 +1 2 3 5 6 8 9 11 14 15 +1 2 3 5 6 8 9 12 13 14 +1 2 3 5 6 8 9 12 13 15 +1 2 3 5 6 8 9 12 14 15 +1 2 3 5 6 8 9 13 14 15 +1 2 3 5 6 8 10 11 12 13 +1 2 3 5 6 8 10 11 12 14 +1 2 3 5 6 8 10 11 12 15 +1 2 3 5 6 8 10 11 13 14 +1 2 3 5 6 8 10 11 13 15 +1 2 3 5 6 8 10 11 14 15 +1 2 3 5 6 8 10 12 13 14 +1 2 3 5 6 8 10 12 13 15 +1 2 3 5 6 8 10 12 14 15 +1 2 3 5 6 8 10 13 14 15 +1 2 3 5 6 8 11 12 13 14 +1 2 3 5 6 8 11 12 13 15 +1 2 3 5 6 8 11 12 14 15 +1 2 3 5 6 8 11 13 14 15 +1 2 3 5 6 8 12 13 14 15 +1 2 3 5 6 9 10 11 12 13 +1 2 3 5 6 9 10 11 12 14 +1 2 3 5 6 9 10 11 12 15 +1 2 3 5 6 9 10 11 13 14 +1 2 3 5 6 9 10 11 13 15 +1 2 3 5 6 9 10 11 14 15 +1 2 3 5 6 9 10 12 13 14 +1 2 3 5 6 9 10 12 13 15 +1 2 3 5 6 9 10 12 14 15 +1 2 3 5 6 9 10 13 14 15 +1 2 3 5 6 9 11 12 13 14 +1 2 3 5 6 9 11 12 13 15 +1 2 3 5 6 9 11 12 14 15 +1 2 3 5 6 9 11 13 14 15 +1 2 3 5 6 9 12 13 14 15 +1 2 3 5 6 10 11 12 13 14 +1 2 3 5 6 10 11 12 13 15 +1 2 3 5 6 10 11 12 14 15 +1 2 3 5 6 10 11 13 14 15 +1 2 3 5 6 10 12 13 14 15 +1 2 3 5 6 11 12 13 14 15 +1 2 3 5 7 8 9 10 11 12 +1 2 3 5 7 8 9 10 11 13 +1 2 3 5 7 8 9 10 11 14 +1 2 3 5 7 8 9 10 11 15 +1 2 3 5 7 8 9 10 12 13 +1 2 3 5 7 8 9 10 12 14 +1 2 3 5 7 8 9 10 12 15 +1 2 3 5 7 8 9 10 13 14 +1 2 3 5 7 8 9 10 13 15 +1 2 3 5 7 8 9 10 14 15 +1 2 3 5 7 8 9 11 12 13 +1 2 3 5 7 8 9 11 12 14 +1 2 3 5 7 8 9 11 12 15 +1 2 3 5 7 8 9 11 13 14 +1 2 3 5 7 8 9 11 13 15 +1 2 3 5 7 8 9 11 14 15 +1 2 3 5 7 8 9 12 13 14 +1 2 3 5 7 8 9 12 13 15 +1 2 3 5 7 8 9 12 14 15 +1 2 3 5 7 8 9 13 14 15 +1 2 3 5 7 8 10 11 12 13 +1 2 3 5 7 8 10 11 12 14 +1 2 3 5 7 8 10 11 12 15 +1 2 3 5 7 8 10 11 13 14 +1 2 3 5 7 8 10 11 13 15 +1 2 3 5 7 8 10 11 14 15 +1 2 3 5 7 8 10 12 13 14 +1 2 3 5 7 8 10 12 13 15 +1 2 3 5 7 8 10 12 14 15 +1 2 3 5 7 8 10 13 14 15 +1 2 3 5 7 8 11 12 13 14 +1 2 3 5 7 8 11 12 13 15 +1 2 3 5 7 8 11 12 14 15 +1 2 3 5 7 8 11 13 14 15 +1 2 3 5 7 8 12 13 14 15 +1 2 3 5 7 9 10 11 12 13 +1 2 3 5 7 9 10 11 12 14 +1 2 3 5 7 9 10 11 12 15 +1 2 3 5 7 9 10 11 13 14 +1 2 3 5 7 9 10 11 13 15 +1 2 3 5 7 9 10 11 14 15 +1 2 3 5 7 9 10 12 13 14 +1 2 3 5 7 9 10 12 13 15 +1 2 3 5 7 9 10 12 14 15 +1 2 3 5 7 9 10 13 14 15 +1 2 3 5 7 9 11 12 13 14 +1 2 3 5 7 9 11 12 13 15 +1 2 3 5 7 9 11 12 14 15 +1 2 3 5 7 9 11 13 14 15 +1 2 3 5 7 9 12 13 14 15 +1 2 3 5 7 10 11 12 13 14 +1 2 3 5 7 10 11 12 13 15 +1 2 3 5 7 10 11 12 14 15 +1 2 3 5 7 10 11 13 14 15 +1 2 3 5 7 10 12 13 14 15 +1 2 3 5 7 11 12 13 14 15 +1 2 3 5 8 9 10 11 12 13 +1 2 3 5 8 9 10 11 12 14 +1 2 3 5 8 9 10 11 12 15 +1 2 3 5 8 9 10 11 13 14 +1 2 3 5 8 9 10 11 13 15 +1 2 3 5 8 9 10 11 14 15 +1 2 3 5 8 9 10 12 13 14 +1 2 3 5 8 9 10 12 13 15 +1 2 3 5 8 9 10 12 14 15 +1 2 3 5 8 9 10 13 14 15 +1 2 3 5 8 9 11 12 13 14 +1 2 3 5 8 9 11 12 13 15 +1 2 3 5 8 9 11 12 14 15 +1 2 3 5 8 9 11 13 14 15 +1 2 3 5 8 9 12 13 14 15 +1 2 3 5 8 10 11 12 13 14 +1 2 3 5 8 10 11 12 13 15 +1 2 3 5 8 10 11 12 14 15 +1 2 3 5 8 10 11 13 14 15 +1 2 3 5 8 10 12 13 14 15 +1 2 3 5 8 11 12 13 14 15 +1 2 3 5 9 10 11 12 13 14 +1 2 3 5 9 10 11 12 13 15 +1 2 3 5 9 10 11 12 14 15 +1 2 3 5 9 10 11 13 14 15 +1 2 3 5 9 10 12 13 14 15 +1 2 3 5 9 11 12 13 14 15 +1 2 3 5 10 11 12 13 14 15 +1 2 3 6 7 8 9 10 11 12 +1 2 3 6 7 8 9 10 11 13 +1 2 3 6 7 8 9 10 11 14 +1 2 3 6 7 8 9 10 11 15 +1 2 3 6 7 8 9 10 12 13 +1 2 3 6 7 8 9 10 12 14 +1 2 3 6 7 8 9 10 12 15 +1 2 3 6 7 8 9 10 13 14 +1 2 3 6 7 8 9 10 13 15 +1 2 3 6 7 8 9 10 14 15 +1 2 3 6 7 8 9 11 12 13 +1 2 3 6 7 8 9 11 12 14 +1 2 3 6 7 8 9 11 12 15 +1 2 3 6 7 8 9 11 13 14 +1 2 3 6 7 8 9 11 13 15 +1 2 3 6 7 8 9 11 14 15 +1 2 3 6 7 8 9 12 13 14 +1 2 3 6 7 8 9 12 13 15 +1 2 3 6 7 8 9 12 14 15 +1 2 3 6 7 8 9 13 14 15 +1 2 3 6 7 8 10 11 12 13 +1 2 3 6 7 8 10 11 12 14 +1 2 3 6 7 8 10 11 12 15 +1 2 3 6 7 8 10 11 13 14 +1 2 3 6 7 8 10 11 13 15 +1 2 3 6 7 8 10 11 14 15 +1 2 3 6 7 8 10 12 13 14 +1 2 3 6 7 8 10 12 13 15 +1 2 3 6 7 8 10 12 14 15 +1 2 3 6 7 8 10 13 14 15 +1 2 3 6 7 8 11 12 13 14 +1 2 3 6 7 8 11 12 13 15 +1 2 3 6 7 8 11 12 14 15 +1 2 3 6 7 8 11 13 14 15 +1 2 3 6 7 8 12 13 14 15 +1 2 3 6 7 9 10 11 12 13 +1 2 3 6 7 9 10 11 12 14 +1 2 3 6 7 9 10 11 12 15 +1 2 3 6 7 9 10 11 13 14 +1 2 3 6 7 9 10 11 13 15 +1 2 3 6 7 9 10 11 14 15 +1 2 3 6 7 9 10 12 13 14 +1 2 3 6 7 9 10 12 13 15 +1 2 3 6 7 9 10 12 14 15 +1 2 3 6 7 9 10 13 14 15 +1 2 3 6 7 9 11 12 13 14 +1 2 3 6 7 9 11 12 13 15 +1 2 3 6 7 9 11 12 14 15 +1 2 3 6 7 9 11 13 14 15 +1 2 3 6 7 9 12 13 14 15 +1 2 3 6 7 10 11 12 13 14 +1 2 3 6 7 10 11 12 13 15 +1 2 3 6 7 10 11 12 14 15 +1 2 3 6 7 10 11 13 14 15 +1 2 3 6 7 10 12 13 14 15 +1 2 3 6 7 11 12 13 14 15 +1 2 3 6 8 9 10 11 12 13 +1 2 3 6 8 9 10 11 12 14 +1 2 3 6 8 9 10 11 12 15 +1 2 3 6 8 9 10 11 13 14 +1 2 3 6 8 9 10 11 13 15 +1 2 3 6 8 9 10 11 14 15 +1 2 3 6 8 9 10 12 13 14 +1 2 3 6 8 9 10 12 13 15 +1 2 3 6 8 9 10 12 14 15 +1 2 3 6 8 9 10 13 14 15 +1 2 3 6 8 9 11 12 13 14 +1 2 3 6 8 9 11 12 13 15 +1 2 3 6 8 9 11 12 14 15 +1 2 3 6 8 9 11 13 14 15 +1 2 3 6 8 9 12 13 14 15 +1 2 3 6 8 10 11 12 13 14 +1 2 3 6 8 10 11 12 13 15 +1 2 3 6 8 10 11 12 14 15 +1 2 3 6 8 10 11 13 14 15 +1 2 3 6 8 10 12 13 14 15 +1 2 3 6 8 11 12 13 14 15 +1 2 3 6 9 10 11 12 13 14 +1 2 3 6 9 10 11 12 13 15 +1 2 3 6 9 10 11 12 14 15 +1 2 3 6 9 10 11 13 14 15 +1 2 3 6 9 10 12 13 14 15 +1 2 3 6 9 11 12 13 14 15 +1 2 3 6 10 11 12 13 14 15 +1 2 3 7 8 9 10 11 12 13 +1 2 3 7 8 9 10 11 12 14 +1 2 3 7 8 9 10 11 12 15 +1 2 3 7 8 9 10 11 13 14 +1 2 3 7 8 9 10 11 13 15 +1 2 3 7 8 9 10 11 14 15 +1 2 3 7 8 9 10 12 13 14 +1 2 3 7 8 9 10 12 13 15 +1 2 3 7 8 9 10 12 14 15 +1 2 3 7 8 9 10 13 14 15 +1 2 3 7 8 9 11 12 13 14 +1 2 3 7 8 9 11 12 13 15 +1 2 3 7 8 9 11 12 14 15 +1 2 3 7 8 9 11 13 14 15 +1 2 3 7 8 9 12 13 14 15 +1 2 3 7 8 10 11 12 13 14 +1 2 3 7 8 10 11 12 13 15 +1 2 3 7 8 10 11 12 14 15 +1 2 3 7 8 10 11 13 14 15 +1 2 3 7 8 10 12 13 14 15 +1 2 3 7 8 11 12 13 14 15 +1 2 3 7 9 10 11 12 13 14 +1 2 3 7 9 10 11 12 13 15 +1 2 3 7 9 10 11 12 14 15 +1 2 3 7 9 10 11 13 14 15 +1 2 3 7 9 10 12 13 14 15 +1 2 3 7 9 11 12 13 14 15 +1 2 3 7 10 11 12 13 14 15 +1 2 3 8 9 10 11 12 13 14 +1 2 3 8 9 10 11 12 13 15 +1 2 3 8 9 10 11 12 14 15 +1 2 3 8 9 10 11 13 14 15 +1 2 3 8 9 10 12 13 14 15 +1 2 3 8 9 11 12 13 14 15 +1 2 3 8 10 11 12 13 14 15 +1 2 3 9 10 11 12 13 14 15 +1 2 4 5 6 7 8 9 10 11 +1 2 4 5 6 7 8 9 10 12 +1 2 4 5 6 7 8 9 10 13 +1 2 4 5 6 7 8 9 10 14 +1 2 4 5 6 7 8 9 10 15 +1 2 4 5 6 7 8 9 11 12 +1 2 4 5 6 7 8 9 11 13 +1 2 4 5 6 7 8 9 11 14 +1 2 4 5 6 7 8 9 11 15 +1 2 4 5 6 7 8 9 12 13 +1 2 4 5 6 7 8 9 12 14 +1 2 4 5 6 7 8 9 12 15 +1 2 4 5 6 7 8 9 13 14 +1 2 4 5 6 7 8 9 13 15 +1 2 4 5 6 7 8 9 14 15 +1 2 4 5 6 7 8 10 11 12 +1 2 4 5 6 7 8 10 11 13 +1 2 4 5 6 7 8 10 11 14 +1 2 4 5 6 7 8 10 11 15 +1 2 4 5 6 7 8 10 12 13 +1 2 4 5 6 7 8 10 12 14 +1 2 4 5 6 7 8 10 12 15 +1 2 4 5 6 7 8 10 13 14 +1 2 4 5 6 7 8 10 13 15 +1 2 4 5 6 7 8 10 14 15 +1 2 4 5 6 7 8 11 12 13 +1 2 4 5 6 7 8 11 12 14 +1 2 4 5 6 7 8 11 12 15 +1 2 4 5 6 7 8 11 13 14 +1 2 4 5 6 7 8 11 13 15 +1 2 4 5 6 7 8 11 14 15 +1 2 4 5 6 7 8 12 13 14 +1 2 4 5 6 7 8 12 13 15 +1 2 4 5 6 7 8 12 14 15 +1 2 4 5 6 7 8 13 14 15 +1 2 4 5 6 7 9 10 11 12 +1 2 4 5 6 7 9 10 11 13 +1 2 4 5 6 7 9 10 11 14 +1 2 4 5 6 7 9 10 11 15 +1 2 4 5 6 7 9 10 12 13 +1 2 4 5 6 7 9 10 12 14 +1 2 4 5 6 7 9 10 12 15 +1 2 4 5 6 7 9 10 13 14 +1 2 4 5 6 7 9 10 13 15 +1 2 4 5 6 7 9 10 14 15 +1 2 4 5 6 7 9 11 12 13 +1 2 4 5 6 7 9 11 12 14 +1 2 4 5 6 7 9 11 12 15 +1 2 4 5 6 7 9 11 13 14 +1 2 4 5 6 7 9 11 13 15 +1 2 4 5 6 7 9 11 14 15 +1 2 4 5 6 7 9 12 13 14 +1 2 4 5 6 7 9 12 13 15 +1 2 4 5 6 7 9 12 14 15 +1 2 4 5 6 7 9 13 14 15 +1 2 4 5 6 7 10 11 12 13 +1 2 4 5 6 7 10 11 12 14 +1 2 4 5 6 7 10 11 12 15 +1 2 4 5 6 7 10 11 13 14 +1 2 4 5 6 7 10 11 13 15 +1 2 4 5 6 7 10 11 14 15 +1 2 4 5 6 7 10 12 13 14 +1 2 4 5 6 7 10 12 13 15 +1 2 4 5 6 7 10 12 14 15 +1 2 4 5 6 7 10 13 14 15 +1 2 4 5 6 7 11 12 13 14 +1 2 4 5 6 7 11 12 13 15 +1 2 4 5 6 7 11 12 14 15 +1 2 4 5 6 7 11 13 14 15 +1 2 4 5 6 7 12 13 14 15 +1 2 4 5 6 8 9 10 11 12 +1 2 4 5 6 8 9 10 11 13 +1 2 4 5 6 8 9 10 11 14 +1 2 4 5 6 8 9 10 11 15 +1 2 4 5 6 8 9 10 12 13 +1 2 4 5 6 8 9 10 12 14 +1 2 4 5 6 8 9 10 12 15 +1 2 4 5 6 8 9 10 13 14 +1 2 4 5 6 8 9 10 13 15 +1 2 4 5 6 8 9 10 14 15 +1 2 4 5 6 8 9 11 12 13 +1 2 4 5 6 8 9 11 12 14 +1 2 4 5 6 8 9 11 12 15 +1 2 4 5 6 8 9 11 13 14 +1 2 4 5 6 8 9 11 13 15 +1 2 4 5 6 8 9 11 14 15 +1 2 4 5 6 8 9 12 13 14 +1 2 4 5 6 8 9 12 13 15 +1 2 4 5 6 8 9 12 14 15 +1 2 4 5 6 8 9 13 14 15 +1 2 4 5 6 8 10 11 12 13 +1 2 4 5 6 8 10 11 12 14 +1 2 4 5 6 8 10 11 12 15 +1 2 4 5 6 8 10 11 13 14 +1 2 4 5 6 8 10 11 13 15 +1 2 4 5 6 8 10 11 14 15 +1 2 4 5 6 8 10 12 13 14 +1 2 4 5 6 8 10 12 13 15 +1 2 4 5 6 8 10 12 14 15 +1 2 4 5 6 8 10 13 14 15 +1 2 4 5 6 8 11 12 13 14 +1 2 4 5 6 8 11 12 13 15 +1 2 4 5 6 8 11 12 14 15 +1 2 4 5 6 8 11 13 14 15 +1 2 4 5 6 8 12 13 14 15 +1 2 4 5 6 9 10 11 12 13 +1 2 4 5 6 9 10 11 12 14 +1 2 4 5 6 9 10 11 12 15 +1 2 4 5 6 9 10 11 13 14 +1 2 4 5 6 9 10 11 13 15 +1 2 4 5 6 9 10 11 14 15 +1 2 4 5 6 9 10 12 13 14 +1 2 4 5 6 9 10 12 13 15 +1 2 4 5 6 9 10 12 14 15 +1 2 4 5 6 9 10 13 14 15 +1 2 4 5 6 9 11 12 13 14 +1 2 4 5 6 9 11 12 13 15 +1 2 4 5 6 9 11 12 14 15 +1 2 4 5 6 9 11 13 14 15 +1 2 4 5 6 9 12 13 14 15 +1 2 4 5 6 10 11 12 13 14 +1 2 4 5 6 10 11 12 13 15 +1 2 4 5 6 10 11 12 14 15 +1 2 4 5 6 10 11 13 14 15 +1 2 4 5 6 10 12 13 14 15 +1 2 4 5 6 11 12 13 14 15 +1 2 4 5 7 8 9 10 11 12 +1 2 4 5 7 8 9 10 11 13 +1 2 4 5 7 8 9 10 11 14 +1 2 4 5 7 8 9 10 11 15 +1 2 4 5 7 8 9 10 12 13 +1 2 4 5 7 8 9 10 12 14 +1 2 4 5 7 8 9 10 12 15 +1 2 4 5 7 8 9 10 13 14 +1 2 4 5 7 8 9 10 13 15 +1 2 4 5 7 8 9 10 14 15 +1 2 4 5 7 8 9 11 12 13 +1 2 4 5 7 8 9 11 12 14 +1 2 4 5 7 8 9 11 12 15 +1 2 4 5 7 8 9 11 13 14 +1 2 4 5 7 8 9 11 13 15 +1 2 4 5 7 8 9 11 14 15 +1 2 4 5 7 8 9 12 13 14 +1 2 4 5 7 8 9 12 13 15 +1 2 4 5 7 8 9 12 14 15 +1 2 4 5 7 8 9 13 14 15 +1 2 4 5 7 8 10 11 12 13 +1 2 4 5 7 8 10 11 12 14 +1 2 4 5 7 8 10 11 12 15 +1 2 4 5 7 8 10 11 13 14 +1 2 4 5 7 8 10 11 13 15 +1 2 4 5 7 8 10 11 14 15 +1 2 4 5 7 8 10 12 13 14 +1 2 4 5 7 8 10 12 13 15 +1 2 4 5 7 8 10 12 14 15 +1 2 4 5 7 8 10 13 14 15 +1 2 4 5 7 8 11 12 13 14 +1 2 4 5 7 8 11 12 13 15 +1 2 4 5 7 8 11 12 14 15 +1 2 4 5 7 8 11 13 14 15 +1 2 4 5 7 8 12 13 14 15 +1 2 4 5 7 9 10 11 12 13 +1 2 4 5 7 9 10 11 12 14 +1 2 4 5 7 9 10 11 12 15 +1 2 4 5 7 9 10 11 13 14 +1 2 4 5 7 9 10 11 13 15 +1 2 4 5 7 9 10 11 14 15 +1 2 4 5 7 9 10 12 13 14 +1 2 4 5 7 9 10 12 13 15 +1 2 4 5 7 9 10 12 14 15 +1 2 4 5 7 9 10 13 14 15 +1 2 4 5 7 9 11 12 13 14 +1 2 4 5 7 9 11 12 13 15 +1 2 4 5 7 9 11 12 14 15 +1 2 4 5 7 9 11 13 14 15 +1 2 4 5 7 9 12 13 14 15 +1 2 4 5 7 10 11 12 13 14 +1 2 4 5 7 10 11 12 13 15 +1 2 4 5 7 10 11 12 14 15 +1 2 4 5 7 10 11 13 14 15 +1 2 4 5 7 10 12 13 14 15 +1 2 4 5 7 11 12 13 14 15 +1 2 4 5 8 9 10 11 12 13 +1 2 4 5 8 9 10 11 12 14 +1 2 4 5 8 9 10 11 12 15 +1 2 4 5 8 9 10 11 13 14 +1 2 4 5 8 9 10 11 13 15 +1 2 4 5 8 9 10 11 14 15 +1 2 4 5 8 9 10 12 13 14 +1 2 4 5 8 9 10 12 13 15 +1 2 4 5 8 9 10 12 14 15 +1 2 4 5 8 9 10 13 14 15 +1 2 4 5 8 9 11 12 13 14 +1 2 4 5 8 9 11 12 13 15 +1 2 4 5 8 9 11 12 14 15 +1 2 4 5 8 9 11 13 14 15 +1 2 4 5 8 9 12 13 14 15 +1 2 4 5 8 10 11 12 13 14 +1 2 4 5 8 10 11 12 13 15 +1 2 4 5 8 10 11 12 14 15 +1 2 4 5 8 10 11 13 14 15 +1 2 4 5 8 10 12 13 14 15 +1 2 4 5 8 11 12 13 14 15 +1 2 4 5 9 10 11 12 13 14 +1 2 4 5 9 10 11 12 13 15 +1 2 4 5 9 10 11 12 14 15 +1 2 4 5 9 10 11 13 14 15 +1 2 4 5 9 10 12 13 14 15 +1 2 4 5 9 11 12 13 14 15 +1 2 4 5 10 11 12 13 14 15 +1 2 4 6 7 8 9 10 11 12 +1 2 4 6 7 8 9 10 11 13 +1 2 4 6 7 8 9 10 11 14 +1 2 4 6 7 8 9 10 11 15 +1 2 4 6 7 8 9 10 12 13 +1 2 4 6 7 8 9 10 12 14 +1 2 4 6 7 8 9 10 12 15 +1 2 4 6 7 8 9 10 13 14 +1 2 4 6 7 8 9 10 13 15 +1 2 4 6 7 8 9 10 14 15 +1 2 4 6 7 8 9 11 12 13 +1 2 4 6 7 8 9 11 12 14 +1 2 4 6 7 8 9 11 12 15 +1 2 4 6 7 8 9 11 13 14 +1 2 4 6 7 8 9 11 13 15 +1 2 4 6 7 8 9 11 14 15 +1 2 4 6 7 8 9 12 13 14 +1 2 4 6 7 8 9 12 13 15 +1 2 4 6 7 8 9 12 14 15 +1 2 4 6 7 8 9 13 14 15 +1 2 4 6 7 8 10 11 12 13 +1 2 4 6 7 8 10 11 12 14 +1 2 4 6 7 8 10 11 12 15 +1 2 4 6 7 8 10 11 13 14 +1 2 4 6 7 8 10 11 13 15 +1 2 4 6 7 8 10 11 14 15 +1 2 4 6 7 8 10 12 13 14 +1 2 4 6 7 8 10 12 13 15 +1 2 4 6 7 8 10 12 14 15 +1 2 4 6 7 8 10 13 14 15 +1 2 4 6 7 8 11 12 13 14 +1 2 4 6 7 8 11 12 13 15 +1 2 4 6 7 8 11 12 14 15 +1 2 4 6 7 8 11 13 14 15 +1 2 4 6 7 8 12 13 14 15 +1 2 4 6 7 9 10 11 12 13 +1 2 4 6 7 9 10 11 12 14 +1 2 4 6 7 9 10 11 12 15 +1 2 4 6 7 9 10 11 13 14 +1 2 4 6 7 9 10 11 13 15 +1 2 4 6 7 9 10 11 14 15 +1 2 4 6 7 9 10 12 13 14 +1 2 4 6 7 9 10 12 13 15 +1 2 4 6 7 9 10 12 14 15 +1 2 4 6 7 9 10 13 14 15 +1 2 4 6 7 9 11 12 13 14 +1 2 4 6 7 9 11 12 13 15 +1 2 4 6 7 9 11 12 14 15 +1 2 4 6 7 9 11 13 14 15 +1 2 4 6 7 9 12 13 14 15 +1 2 4 6 7 10 11 12 13 14 +1 2 4 6 7 10 11 12 13 15 +1 2 4 6 7 10 11 12 14 15 +1 2 4 6 7 10 11 13 14 15 +1 2 4 6 7 10 12 13 14 15 +1 2 4 6 7 11 12 13 14 15 +1 2 4 6 8 9 10 11 12 13 +1 2 4 6 8 9 10 11 12 14 +1 2 4 6 8 9 10 11 12 15 +1 2 4 6 8 9 10 11 13 14 +1 2 4 6 8 9 10 11 13 15 +1 2 4 6 8 9 10 11 14 15 +1 2 4 6 8 9 10 12 13 14 +1 2 4 6 8 9 10 12 13 15 +1 2 4 6 8 9 10 12 14 15 +1 2 4 6 8 9 10 13 14 15 +1 2 4 6 8 9 11 12 13 14 +1 2 4 6 8 9 11 12 13 15 +1 2 4 6 8 9 11 12 14 15 +1 2 4 6 8 9 11 13 14 15 +1 2 4 6 8 9 12 13 14 15 +1 2 4 6 8 10 11 12 13 14 +1 2 4 6 8 10 11 12 13 15 +1 2 4 6 8 10 11 12 14 15 +1 2 4 6 8 10 11 13 14 15 +1 2 4 6 8 10 12 13 14 15 +1 2 4 6 8 11 12 13 14 15 +1 2 4 6 9 10 11 12 13 14 +1 2 4 6 9 10 11 12 13 15 +1 2 4 6 9 10 11 12 14 15 +1 2 4 6 9 10 11 13 14 15 +1 2 4 6 9 10 12 13 14 15 +1 2 4 6 9 11 12 13 14 15 +1 2 4 6 10 11 12 13 14 15 +1 2 4 7 8 9 10 11 12 13 +1 2 4 7 8 9 10 11 12 14 +1 2 4 7 8 9 10 11 12 15 +1 2 4 7 8 9 10 11 13 14 +1 2 4 7 8 9 10 11 13 15 +1 2 4 7 8 9 10 11 14 15 +1 2 4 7 8 9 10 12 13 14 +1 2 4 7 8 9 10 12 13 15 +1 2 4 7 8 9 10 12 14 15 +1 2 4 7 8 9 10 13 14 15 +1 2 4 7 8 9 11 12 13 14 +1 2 4 7 8 9 11 12 13 15 +1 2 4 7 8 9 11 12 14 15 +1 2 4 7 8 9 11 13 14 15 +1 2 4 7 8 9 12 13 14 15 +1 2 4 7 8 10 11 12 13 14 +1 2 4 7 8 10 11 12 13 15 +1 2 4 7 8 10 11 12 14 15 +1 2 4 7 8 10 11 13 14 15 +1 2 4 7 8 10 12 13 14 15 +1 2 4 7 8 11 12 13 14 15 +1 2 4 7 9 10 11 12 13 14 +1 2 4 7 9 10 11 12 13 15 +1 2 4 7 9 10 11 12 14 15 +1 2 4 7 9 10 11 13 14 15 +1 2 4 7 9 10 12 13 14 15 +1 2 4 7 9 11 12 13 14 15 +1 2 4 7 10 11 12 13 14 15 +1 2 4 8 9 10 11 12 13 14 +1 2 4 8 9 10 11 12 13 15 +1 2 4 8 9 10 11 12 14 15 +1 2 4 8 9 10 11 13 14 15 +1 2 4 8 9 10 12 13 14 15 +1 2 4 8 9 11 12 13 14 15 +1 2 4 8 10 11 12 13 14 15 +1 2 4 9 10 11 12 13 14 15 +1 2 5 6 7 8 9 10 11 12 +1 2 5 6 7 8 9 10 11 13 +1 2 5 6 7 8 9 10 11 14 +1 2 5 6 7 8 9 10 11 15 +1 2 5 6 7 8 9 10 12 13 +1 2 5 6 7 8 9 10 12 14 +1 2 5 6 7 8 9 10 12 15 +1 2 5 6 7 8 9 10 13 14 +1 2 5 6 7 8 9 10 13 15 +1 2 5 6 7 8 9 10 14 15 +1 2 5 6 7 8 9 11 12 13 +1 2 5 6 7 8 9 11 12 14 +1 2 5 6 7 8 9 11 12 15 +1 2 5 6 7 8 9 11 13 14 +1 2 5 6 7 8 9 11 13 15 +1 2 5 6 7 8 9 11 14 15 +1 2 5 6 7 8 9 12 13 14 +1 2 5 6 7 8 9 12 13 15 +1 2 5 6 7 8 9 12 14 15 +1 2 5 6 7 8 9 13 14 15 +1 2 5 6 7 8 10 11 12 13 +1 2 5 6 7 8 10 11 12 14 +1 2 5 6 7 8 10 11 12 15 +1 2 5 6 7 8 10 11 13 14 +1 2 5 6 7 8 10 11 13 15 +1 2 5 6 7 8 10 11 14 15 +1 2 5 6 7 8 10 12 13 14 +1 2 5 6 7 8 10 12 13 15 +1 2 5 6 7 8 10 12 14 15 +1 2 5 6 7 8 10 13 14 15 +1 2 5 6 7 8 11 12 13 14 +1 2 5 6 7 8 11 12 13 15 +1 2 5 6 7 8 11 12 14 15 +1 2 5 6 7 8 11 13 14 15 +1 2 5 6 7 8 12 13 14 15 +1 2 5 6 7 9 10 11 12 13 +1 2 5 6 7 9 10 11 12 14 +1 2 5 6 7 9 10 11 12 15 +1 2 5 6 7 9 10 11 13 14 +1 2 5 6 7 9 10 11 13 15 +1 2 5 6 7 9 10 11 14 15 +1 2 5 6 7 9 10 12 13 14 +1 2 5 6 7 9 10 12 13 15 +1 2 5 6 7 9 10 12 14 15 +1 2 5 6 7 9 10 13 14 15 +1 2 5 6 7 9 11 12 13 14 +1 2 5 6 7 9 11 12 13 15 +1 2 5 6 7 9 11 12 14 15 +1 2 5 6 7 9 11 13 14 15 +1 2 5 6 7 9 12 13 14 15 +1 2 5 6 7 10 11 12 13 14 +1 2 5 6 7 10 11 12 13 15 +1 2 5 6 7 10 11 12 14 15 +1 2 5 6 7 10 11 13 14 15 +1 2 5 6 7 10 12 13 14 15 +1 2 5 6 7 11 12 13 14 15 +1 2 5 6 8 9 10 11 12 13 +1 2 5 6 8 9 10 11 12 14 +1 2 5 6 8 9 10 11 12 15 +1 2 5 6 8 9 10 11 13 14 +1 2 5 6 8 9 10 11 13 15 +1 2 5 6 8 9 10 11 14 15 +1 2 5 6 8 9 10 12 13 14 +1 2 5 6 8 9 10 12 13 15 +1 2 5 6 8 9 10 12 14 15 +1 2 5 6 8 9 10 13 14 15 +1 2 5 6 8 9 11 12 13 14 +1 2 5 6 8 9 11 12 13 15 +1 2 5 6 8 9 11 12 14 15 +1 2 5 6 8 9 11 13 14 15 +1 2 5 6 8 9 12 13 14 15 +1 2 5 6 8 10 11 12 13 14 +1 2 5 6 8 10 11 12 13 15 +1 2 5 6 8 10 11 12 14 15 +1 2 5 6 8 10 11 13 14 15 +1 2 5 6 8 10 12 13 14 15 +1 2 5 6 8 11 12 13 14 15 +1 2 5 6 9 10 11 12 13 14 +1 2 5 6 9 10 11 12 13 15 +1 2 5 6 9 10 11 12 14 15 +1 2 5 6 9 10 11 13 14 15 +1 2 5 6 9 10 12 13 14 15 +1 2 5 6 9 11 12 13 14 15 +1 2 5 6 10 11 12 13 14 15 +1 2 5 7 8 9 10 11 12 13 +1 2 5 7 8 9 10 11 12 14 +1 2 5 7 8 9 10 11 12 15 +1 2 5 7 8 9 10 11 13 14 +1 2 5 7 8 9 10 11 13 15 +1 2 5 7 8 9 10 11 14 15 +1 2 5 7 8 9 10 12 13 14 +1 2 5 7 8 9 10 12 13 15 +1 2 5 7 8 9 10 12 14 15 +1 2 5 7 8 9 10 13 14 15 +1 2 5 7 8 9 11 12 13 14 +1 2 5 7 8 9 11 12 13 15 +1 2 5 7 8 9 11 12 14 15 +1 2 5 7 8 9 11 13 14 15 +1 2 5 7 8 9 12 13 14 15 +1 2 5 7 8 10 11 12 13 14 +1 2 5 7 8 10 11 12 13 15 +1 2 5 7 8 10 11 12 14 15 +1 2 5 7 8 10 11 13 14 15 +1 2 5 7 8 10 12 13 14 15 +1 2 5 7 8 11 12 13 14 15 +1 2 5 7 9 10 11 12 13 14 +1 2 5 7 9 10 11 12 13 15 +1 2 5 7 9 10 11 12 14 15 +1 2 5 7 9 10 11 13 14 15 +1 2 5 7 9 10 12 13 14 15 +1 2 5 7 9 11 12 13 14 15 +1 2 5 7 10 11 12 13 14 15 +1 2 5 8 9 10 11 12 13 14 +1 2 5 8 9 10 11 12 13 15 +1 2 5 8 9 10 11 12 14 15 +1 2 5 8 9 10 11 13 14 15 +1 2 5 8 9 10 12 13 14 15 +1 2 5 8 9 11 12 13 14 15 +1 2 5 8 10 11 12 13 14 15 +1 2 5 9 10 11 12 13 14 15 +1 2 6 7 8 9 10 11 12 13 +1 2 6 7 8 9 10 11 12 14 +1 2 6 7 8 9 10 11 12 15 +1 2 6 7 8 9 10 11 13 14 +1 2 6 7 8 9 10 11 13 15 +1 2 6 7 8 9 10 11 14 15 +1 2 6 7 8 9 10 12 13 14 +1 2 6 7 8 9 10 12 13 15 +1 2 6 7 8 9 10 12 14 15 +1 2 6 7 8 9 10 13 14 15 +1 2 6 7 8 9 11 12 13 14 +1 2 6 7 8 9 11 12 13 15 +1 2 6 7 8 9 11 12 14 15 +1 2 6 7 8 9 11 13 14 15 +1 2 6 7 8 9 12 13 14 15 +1 2 6 7 8 10 11 12 13 14 +1 2 6 7 8 10 11 12 13 15 +1 2 6 7 8 10 11 12 14 15 +1 2 6 7 8 10 11 13 14 15 +1 2 6 7 8 10 12 13 14 15 +1 2 6 7 8 11 12 13 14 15 +1 2 6 7 9 10 11 12 13 14 +1 2 6 7 9 10 11 12 13 15 +1 2 6 7 9 10 11 12 14 15 +1 2 6 7 9 10 11 13 14 15 +1 2 6 7 9 10 12 13 14 15 +1 2 6 7 9 11 12 13 14 15 +1 2 6 7 10 11 12 13 14 15 +1 2 6 8 9 10 11 12 13 14 +1 2 6 8 9 10 11 12 13 15 +1 2 6 8 9 10 11 12 14 15 +1 2 6 8 9 10 11 13 14 15 +1 2 6 8 9 10 12 13 14 15 +1 2 6 8 9 11 12 13 14 15 +1 2 6 8 10 11 12 13 14 15 +1 2 6 9 10 11 12 13 14 15 +1 2 7 8 9 10 11 12 13 14 +1 2 7 8 9 10 11 12 13 15 +1 2 7 8 9 10 11 12 14 15 +1 2 7 8 9 10 11 13 14 15 +1 2 7 8 9 10 12 13 14 15 +1 2 7 8 9 11 12 13 14 15 +1 2 7 8 10 11 12 13 14 15 +1 2 7 9 10 11 12 13 14 15 +1 2 8 9 10 11 12 13 14 15 +1 3 4 5 6 7 8 9 10 11 +1 3 4 5 6 7 8 9 10 12 +1 3 4 5 6 7 8 9 10 13 +1 3 4 5 6 7 8 9 10 14 +1 3 4 5 6 7 8 9 10 15 +1 3 4 5 6 7 8 9 11 12 +1 3 4 5 6 7 8 9 11 13 +1 3 4 5 6 7 8 9 11 14 +1 3 4 5 6 7 8 9 11 15 +1 3 4 5 6 7 8 9 12 13 +1 3 4 5 6 7 8 9 12 14 +1 3 4 5 6 7 8 9 12 15 +1 3 4 5 6 7 8 9 13 14 +1 3 4 5 6 7 8 9 13 15 +1 3 4 5 6 7 8 9 14 15 +1 3 4 5 6 7 8 10 11 12 +1 3 4 5 6 7 8 10 11 13 +1 3 4 5 6 7 8 10 11 14 +1 3 4 5 6 7 8 10 11 15 +1 3 4 5 6 7 8 10 12 13 +1 3 4 5 6 7 8 10 12 14 +1 3 4 5 6 7 8 10 12 15 +1 3 4 5 6 7 8 10 13 14 +1 3 4 5 6 7 8 10 13 15 +1 3 4 5 6 7 8 10 14 15 +1 3 4 5 6 7 8 11 12 13 +1 3 4 5 6 7 8 11 12 14 +1 3 4 5 6 7 8 11 12 15 +1 3 4 5 6 7 8 11 13 14 +1 3 4 5 6 7 8 11 13 15 +1 3 4 5 6 7 8 11 14 15 +1 3 4 5 6 7 8 12 13 14 +1 3 4 5 6 7 8 12 13 15 +1 3 4 5 6 7 8 12 14 15 +1 3 4 5 6 7 8 13 14 15 +1 3 4 5 6 7 9 10 11 12 +1 3 4 5 6 7 9 10 11 13 +1 3 4 5 6 7 9 10 11 14 +1 3 4 5 6 7 9 10 11 15 +1 3 4 5 6 7 9 10 12 13 +1 3 4 5 6 7 9 10 12 14 +1 3 4 5 6 7 9 10 12 15 +1 3 4 5 6 7 9 10 13 14 +1 3 4 5 6 7 9 10 13 15 +1 3 4 5 6 7 9 10 14 15 +1 3 4 5 6 7 9 11 12 13 +1 3 4 5 6 7 9 11 12 14 +1 3 4 5 6 7 9 11 12 15 +1 3 4 5 6 7 9 11 13 14 +1 3 4 5 6 7 9 11 13 15 +1 3 4 5 6 7 9 11 14 15 +1 3 4 5 6 7 9 12 13 14 +1 3 4 5 6 7 9 12 13 15 +1 3 4 5 6 7 9 12 14 15 +1 3 4 5 6 7 9 13 14 15 +1 3 4 5 6 7 10 11 12 13 +1 3 4 5 6 7 10 11 12 14 +1 3 4 5 6 7 10 11 12 15 +1 3 4 5 6 7 10 11 13 14 +1 3 4 5 6 7 10 11 13 15 +1 3 4 5 6 7 10 11 14 15 +1 3 4 5 6 7 10 12 13 14 +1 3 4 5 6 7 10 12 13 15 +1 3 4 5 6 7 10 12 14 15 +1 3 4 5 6 7 10 13 14 15 +1 3 4 5 6 7 11 12 13 14 +1 3 4 5 6 7 11 12 13 15 +1 3 4 5 6 7 11 12 14 15 +1 3 4 5 6 7 11 13 14 15 +1 3 4 5 6 7 12 13 14 15 +1 3 4 5 6 8 9 10 11 12 +1 3 4 5 6 8 9 10 11 13 +1 3 4 5 6 8 9 10 11 14 +1 3 4 5 6 8 9 10 11 15 +1 3 4 5 6 8 9 10 12 13 +1 3 4 5 6 8 9 10 12 14 +1 3 4 5 6 8 9 10 12 15 +1 3 4 5 6 8 9 10 13 14 +1 3 4 5 6 8 9 10 13 15 +1 3 4 5 6 8 9 10 14 15 +1 3 4 5 6 8 9 11 12 13 +1 3 4 5 6 8 9 11 12 14 +1 3 4 5 6 8 9 11 12 15 +1 3 4 5 6 8 9 11 13 14 +1 3 4 5 6 8 9 11 13 15 +1 3 4 5 6 8 9 11 14 15 +1 3 4 5 6 8 9 12 13 14 +1 3 4 5 6 8 9 12 13 15 +1 3 4 5 6 8 9 12 14 15 +1 3 4 5 6 8 9 13 14 15 +1 3 4 5 6 8 10 11 12 13 +1 3 4 5 6 8 10 11 12 14 +1 3 4 5 6 8 10 11 12 15 +1 3 4 5 6 8 10 11 13 14 +1 3 4 5 6 8 10 11 13 15 +1 3 4 5 6 8 10 11 14 15 +1 3 4 5 6 8 10 12 13 14 +1 3 4 5 6 8 10 12 13 15 +1 3 4 5 6 8 10 12 14 15 +1 3 4 5 6 8 10 13 14 15 +1 3 4 5 6 8 11 12 13 14 +1 3 4 5 6 8 11 12 13 15 +1 3 4 5 6 8 11 12 14 15 +1 3 4 5 6 8 11 13 14 15 +1 3 4 5 6 8 12 13 14 15 +1 3 4 5 6 9 10 11 12 13 +1 3 4 5 6 9 10 11 12 14 +1 3 4 5 6 9 10 11 12 15 +1 3 4 5 6 9 10 11 13 14 +1 3 4 5 6 9 10 11 13 15 +1 3 4 5 6 9 10 11 14 15 +1 3 4 5 6 9 10 12 13 14 +1 3 4 5 6 9 10 12 13 15 +1 3 4 5 6 9 10 12 14 15 +1 3 4 5 6 9 10 13 14 15 +1 3 4 5 6 9 11 12 13 14 +1 3 4 5 6 9 11 12 13 15 +1 3 4 5 6 9 11 12 14 15 +1 3 4 5 6 9 11 13 14 15 +1 3 4 5 6 9 12 13 14 15 +1 3 4 5 6 10 11 12 13 14 +1 3 4 5 6 10 11 12 13 15 +1 3 4 5 6 10 11 12 14 15 +1 3 4 5 6 10 11 13 14 15 +1 3 4 5 6 10 12 13 14 15 +1 3 4 5 6 11 12 13 14 15 +1 3 4 5 7 8 9 10 11 12 +1 3 4 5 7 8 9 10 11 13 +1 3 4 5 7 8 9 10 11 14 +1 3 4 5 7 8 9 10 11 15 +1 3 4 5 7 8 9 10 12 13 +1 3 4 5 7 8 9 10 12 14 +1 3 4 5 7 8 9 10 12 15 +1 3 4 5 7 8 9 10 13 14 +1 3 4 5 7 8 9 10 13 15 +1 3 4 5 7 8 9 10 14 15 +1 3 4 5 7 8 9 11 12 13 +1 3 4 5 7 8 9 11 12 14 +1 3 4 5 7 8 9 11 12 15 +1 3 4 5 7 8 9 11 13 14 +1 3 4 5 7 8 9 11 13 15 +1 3 4 5 7 8 9 11 14 15 +1 3 4 5 7 8 9 12 13 14 +1 3 4 5 7 8 9 12 13 15 +1 3 4 5 7 8 9 12 14 15 +1 3 4 5 7 8 9 13 14 15 +1 3 4 5 7 8 10 11 12 13 +1 3 4 5 7 8 10 11 12 14 +1 3 4 5 7 8 10 11 12 15 +1 3 4 5 7 8 10 11 13 14 +1 3 4 5 7 8 10 11 13 15 +1 3 4 5 7 8 10 11 14 15 +1 3 4 5 7 8 10 12 13 14 +1 3 4 5 7 8 10 12 13 15 +1 3 4 5 7 8 10 12 14 15 +1 3 4 5 7 8 10 13 14 15 +1 3 4 5 7 8 11 12 13 14 +1 3 4 5 7 8 11 12 13 15 +1 3 4 5 7 8 11 12 14 15 +1 3 4 5 7 8 11 13 14 15 +1 3 4 5 7 8 12 13 14 15 +1 3 4 5 7 9 10 11 12 13 +1 3 4 5 7 9 10 11 12 14 +1 3 4 5 7 9 10 11 12 15 +1 3 4 5 7 9 10 11 13 14 +1 3 4 5 7 9 10 11 13 15 +1 3 4 5 7 9 10 11 14 15 +1 3 4 5 7 9 10 12 13 14 +1 3 4 5 7 9 10 12 13 15 +1 3 4 5 7 9 10 12 14 15 +1 3 4 5 7 9 10 13 14 15 +1 3 4 5 7 9 11 12 13 14 +1 3 4 5 7 9 11 12 13 15 +1 3 4 5 7 9 11 12 14 15 +1 3 4 5 7 9 11 13 14 15 +1 3 4 5 7 9 12 13 14 15 +1 3 4 5 7 10 11 12 13 14 +1 3 4 5 7 10 11 12 13 15 +1 3 4 5 7 10 11 12 14 15 +1 3 4 5 7 10 11 13 14 15 +1 3 4 5 7 10 12 13 14 15 +1 3 4 5 7 11 12 13 14 15 +1 3 4 5 8 9 10 11 12 13 +1 3 4 5 8 9 10 11 12 14 +1 3 4 5 8 9 10 11 12 15 +1 3 4 5 8 9 10 11 13 14 +1 3 4 5 8 9 10 11 13 15 +1 3 4 5 8 9 10 11 14 15 +1 3 4 5 8 9 10 12 13 14 +1 3 4 5 8 9 10 12 13 15 +1 3 4 5 8 9 10 12 14 15 +1 3 4 5 8 9 10 13 14 15 +1 3 4 5 8 9 11 12 13 14 +1 3 4 5 8 9 11 12 13 15 +1 3 4 5 8 9 11 12 14 15 +1 3 4 5 8 9 11 13 14 15 +1 3 4 5 8 9 12 13 14 15 +1 3 4 5 8 10 11 12 13 14 +1 3 4 5 8 10 11 12 13 15 +1 3 4 5 8 10 11 12 14 15 +1 3 4 5 8 10 11 13 14 15 +1 3 4 5 8 10 12 13 14 15 +1 3 4 5 8 11 12 13 14 15 +1 3 4 5 9 10 11 12 13 14 +1 3 4 5 9 10 11 12 13 15 +1 3 4 5 9 10 11 12 14 15 +1 3 4 5 9 10 11 13 14 15 +1 3 4 5 9 10 12 13 14 15 +1 3 4 5 9 11 12 13 14 15 +1 3 4 5 10 11 12 13 14 15 +1 3 4 6 7 8 9 10 11 12 +1 3 4 6 7 8 9 10 11 13 +1 3 4 6 7 8 9 10 11 14 +1 3 4 6 7 8 9 10 11 15 +1 3 4 6 7 8 9 10 12 13 +1 3 4 6 7 8 9 10 12 14 +1 3 4 6 7 8 9 10 12 15 +1 3 4 6 7 8 9 10 13 14 +1 3 4 6 7 8 9 10 13 15 +1 3 4 6 7 8 9 10 14 15 +1 3 4 6 7 8 9 11 12 13 +1 3 4 6 7 8 9 11 12 14 +1 3 4 6 7 8 9 11 12 15 +1 3 4 6 7 8 9 11 13 14 +1 3 4 6 7 8 9 11 13 15 +1 3 4 6 7 8 9 11 14 15 +1 3 4 6 7 8 9 12 13 14 +1 3 4 6 7 8 9 12 13 15 +1 3 4 6 7 8 9 12 14 15 +1 3 4 6 7 8 9 13 14 15 +1 3 4 6 7 8 10 11 12 13 +1 3 4 6 7 8 10 11 12 14 +1 3 4 6 7 8 10 11 12 15 +1 3 4 6 7 8 10 11 13 14 +1 3 4 6 7 8 10 11 13 15 +1 3 4 6 7 8 10 11 14 15 +1 3 4 6 7 8 10 12 13 14 +1 3 4 6 7 8 10 12 13 15 +1 3 4 6 7 8 10 12 14 15 +1 3 4 6 7 8 10 13 14 15 +1 3 4 6 7 8 11 12 13 14 +1 3 4 6 7 8 11 12 13 15 +1 3 4 6 7 8 11 12 14 15 +1 3 4 6 7 8 11 13 14 15 +1 3 4 6 7 8 12 13 14 15 +1 3 4 6 7 9 10 11 12 13 +1 3 4 6 7 9 10 11 12 14 +1 3 4 6 7 9 10 11 12 15 +1 3 4 6 7 9 10 11 13 14 +1 3 4 6 7 9 10 11 13 15 +1 3 4 6 7 9 10 11 14 15 +1 3 4 6 7 9 10 12 13 14 +1 3 4 6 7 9 10 12 13 15 +1 3 4 6 7 9 10 12 14 15 +1 3 4 6 7 9 10 13 14 15 +1 3 4 6 7 9 11 12 13 14 +1 3 4 6 7 9 11 12 13 15 +1 3 4 6 7 9 11 12 14 15 +1 3 4 6 7 9 11 13 14 15 +1 3 4 6 7 9 12 13 14 15 +1 3 4 6 7 10 11 12 13 14 +1 3 4 6 7 10 11 12 13 15 +1 3 4 6 7 10 11 12 14 15 +1 3 4 6 7 10 11 13 14 15 +1 3 4 6 7 10 12 13 14 15 +1 3 4 6 7 11 12 13 14 15 +1 3 4 6 8 9 10 11 12 13 +1 3 4 6 8 9 10 11 12 14 +1 3 4 6 8 9 10 11 12 15 +1 3 4 6 8 9 10 11 13 14 +1 3 4 6 8 9 10 11 13 15 +1 3 4 6 8 9 10 11 14 15 +1 3 4 6 8 9 10 12 13 14 +1 3 4 6 8 9 10 12 13 15 +1 3 4 6 8 9 10 12 14 15 +1 3 4 6 8 9 10 13 14 15 +1 3 4 6 8 9 11 12 13 14 +1 3 4 6 8 9 11 12 13 15 +1 3 4 6 8 9 11 12 14 15 +1 3 4 6 8 9 11 13 14 15 +1 3 4 6 8 9 12 13 14 15 +1 3 4 6 8 10 11 12 13 14 +1 3 4 6 8 10 11 12 13 15 +1 3 4 6 8 10 11 12 14 15 +1 3 4 6 8 10 11 13 14 15 +1 3 4 6 8 10 12 13 14 15 +1 3 4 6 8 11 12 13 14 15 +1 3 4 6 9 10 11 12 13 14 +1 3 4 6 9 10 11 12 13 15 +1 3 4 6 9 10 11 12 14 15 +1 3 4 6 9 10 11 13 14 15 +1 3 4 6 9 10 12 13 14 15 +1 3 4 6 9 11 12 13 14 15 +1 3 4 6 10 11 12 13 14 15 +1 3 4 7 8 9 10 11 12 13 +1 3 4 7 8 9 10 11 12 14 +1 3 4 7 8 9 10 11 12 15 +1 3 4 7 8 9 10 11 13 14 +1 3 4 7 8 9 10 11 13 15 +1 3 4 7 8 9 10 11 14 15 +1 3 4 7 8 9 10 12 13 14 +1 3 4 7 8 9 10 12 13 15 +1 3 4 7 8 9 10 12 14 15 +1 3 4 7 8 9 10 13 14 15 +1 3 4 7 8 9 11 12 13 14 +1 3 4 7 8 9 11 12 13 15 +1 3 4 7 8 9 11 12 14 15 +1 3 4 7 8 9 11 13 14 15 +1 3 4 7 8 9 12 13 14 15 +1 3 4 7 8 10 11 12 13 14 +1 3 4 7 8 10 11 12 13 15 +1 3 4 7 8 10 11 12 14 15 +1 3 4 7 8 10 11 13 14 15 +1 3 4 7 8 10 12 13 14 15 +1 3 4 7 8 11 12 13 14 15 +1 3 4 7 9 10 11 12 13 14 +1 3 4 7 9 10 11 12 13 15 +1 3 4 7 9 10 11 12 14 15 +1 3 4 7 9 10 11 13 14 15 +1 3 4 7 9 10 12 13 14 15 +1 3 4 7 9 11 12 13 14 15 +1 3 4 7 10 11 12 13 14 15 +1 3 4 8 9 10 11 12 13 14 +1 3 4 8 9 10 11 12 13 15 +1 3 4 8 9 10 11 12 14 15 +1 3 4 8 9 10 11 13 14 15 +1 3 4 8 9 10 12 13 14 15 +1 3 4 8 9 11 12 13 14 15 +1 3 4 8 10 11 12 13 14 15 +1 3 4 9 10 11 12 13 14 15 +1 3 5 6 7 8 9 10 11 12 +1 3 5 6 7 8 9 10 11 13 +1 3 5 6 7 8 9 10 11 14 +1 3 5 6 7 8 9 10 11 15 +1 3 5 6 7 8 9 10 12 13 +1 3 5 6 7 8 9 10 12 14 +1 3 5 6 7 8 9 10 12 15 +1 3 5 6 7 8 9 10 13 14 +1 3 5 6 7 8 9 10 13 15 +1 3 5 6 7 8 9 10 14 15 +1 3 5 6 7 8 9 11 12 13 +1 3 5 6 7 8 9 11 12 14 +1 3 5 6 7 8 9 11 12 15 +1 3 5 6 7 8 9 11 13 14 +1 3 5 6 7 8 9 11 13 15 +1 3 5 6 7 8 9 11 14 15 +1 3 5 6 7 8 9 12 13 14 +1 3 5 6 7 8 9 12 13 15 +1 3 5 6 7 8 9 12 14 15 +1 3 5 6 7 8 9 13 14 15 +1 3 5 6 7 8 10 11 12 13 +1 3 5 6 7 8 10 11 12 14 +1 3 5 6 7 8 10 11 12 15 +1 3 5 6 7 8 10 11 13 14 +1 3 5 6 7 8 10 11 13 15 +1 3 5 6 7 8 10 11 14 15 +1 3 5 6 7 8 10 12 13 14 +1 3 5 6 7 8 10 12 13 15 +1 3 5 6 7 8 10 12 14 15 +1 3 5 6 7 8 10 13 14 15 +1 3 5 6 7 8 11 12 13 14 +1 3 5 6 7 8 11 12 13 15 +1 3 5 6 7 8 11 12 14 15 +1 3 5 6 7 8 11 13 14 15 +1 3 5 6 7 8 12 13 14 15 +1 3 5 6 7 9 10 11 12 13 +1 3 5 6 7 9 10 11 12 14 +1 3 5 6 7 9 10 11 12 15 +1 3 5 6 7 9 10 11 13 14 +1 3 5 6 7 9 10 11 13 15 +1 3 5 6 7 9 10 11 14 15 +1 3 5 6 7 9 10 12 13 14 +1 3 5 6 7 9 10 12 13 15 +1 3 5 6 7 9 10 12 14 15 +1 3 5 6 7 9 10 13 14 15 +1 3 5 6 7 9 11 12 13 14 +1 3 5 6 7 9 11 12 13 15 +1 3 5 6 7 9 11 12 14 15 +1 3 5 6 7 9 11 13 14 15 +1 3 5 6 7 9 12 13 14 15 +1 3 5 6 7 10 11 12 13 14 +1 3 5 6 7 10 11 12 13 15 +1 3 5 6 7 10 11 12 14 15 +1 3 5 6 7 10 11 13 14 15 +1 3 5 6 7 10 12 13 14 15 +1 3 5 6 7 11 12 13 14 15 +1 3 5 6 8 9 10 11 12 13 +1 3 5 6 8 9 10 11 12 14 +1 3 5 6 8 9 10 11 12 15 +1 3 5 6 8 9 10 11 13 14 +1 3 5 6 8 9 10 11 13 15 +1 3 5 6 8 9 10 11 14 15 +1 3 5 6 8 9 10 12 13 14 +1 3 5 6 8 9 10 12 13 15 +1 3 5 6 8 9 10 12 14 15 +1 3 5 6 8 9 10 13 14 15 +1 3 5 6 8 9 11 12 13 14 +1 3 5 6 8 9 11 12 13 15 +1 3 5 6 8 9 11 12 14 15 +1 3 5 6 8 9 11 13 14 15 +1 3 5 6 8 9 12 13 14 15 +1 3 5 6 8 10 11 12 13 14 +1 3 5 6 8 10 11 12 13 15 +1 3 5 6 8 10 11 12 14 15 +1 3 5 6 8 10 11 13 14 15 +1 3 5 6 8 10 12 13 14 15 +1 3 5 6 8 11 12 13 14 15 +1 3 5 6 9 10 11 12 13 14 +1 3 5 6 9 10 11 12 13 15 +1 3 5 6 9 10 11 12 14 15 +1 3 5 6 9 10 11 13 14 15 +1 3 5 6 9 10 12 13 14 15 +1 3 5 6 9 11 12 13 14 15 +1 3 5 6 10 11 12 13 14 15 +1 3 5 7 8 9 10 11 12 13 +1 3 5 7 8 9 10 11 12 14 +1 3 5 7 8 9 10 11 12 15 +1 3 5 7 8 9 10 11 13 14 +1 3 5 7 8 9 10 11 13 15 +1 3 5 7 8 9 10 11 14 15 +1 3 5 7 8 9 10 12 13 14 +1 3 5 7 8 9 10 12 13 15 +1 3 5 7 8 9 10 12 14 15 +1 3 5 7 8 9 10 13 14 15 +1 3 5 7 8 9 11 12 13 14 +1 3 5 7 8 9 11 12 13 15 +1 3 5 7 8 9 11 12 14 15 +1 3 5 7 8 9 11 13 14 15 +1 3 5 7 8 9 12 13 14 15 +1 3 5 7 8 10 11 12 13 14 +1 3 5 7 8 10 11 12 13 15 +1 3 5 7 8 10 11 12 14 15 +1 3 5 7 8 10 11 13 14 15 +1 3 5 7 8 10 12 13 14 15 +1 3 5 7 8 11 12 13 14 15 +1 3 5 7 9 10 11 12 13 14 +1 3 5 7 9 10 11 12 13 15 +1 3 5 7 9 10 11 12 14 15 +1 3 5 7 9 10 11 13 14 15 +1 3 5 7 9 10 12 13 14 15 +1 3 5 7 9 11 12 13 14 15 +1 3 5 7 10 11 12 13 14 15 +1 3 5 8 9 10 11 12 13 14 +1 3 5 8 9 10 11 12 13 15 +1 3 5 8 9 10 11 12 14 15 +1 3 5 8 9 10 11 13 14 15 +1 3 5 8 9 10 12 13 14 15 +1 3 5 8 9 11 12 13 14 15 +1 3 5 8 10 11 12 13 14 15 +1 3 5 9 10 11 12 13 14 15 +1 3 6 7 8 9 10 11 12 13 +1 3 6 7 8 9 10 11 12 14 +1 3 6 7 8 9 10 11 12 15 +1 3 6 7 8 9 10 11 13 14 +1 3 6 7 8 9 10 11 13 15 +1 3 6 7 8 9 10 11 14 15 +1 3 6 7 8 9 10 12 13 14 +1 3 6 7 8 9 10 12 13 15 +1 3 6 7 8 9 10 12 14 15 +1 3 6 7 8 9 10 13 14 15 +1 3 6 7 8 9 11 12 13 14 +1 3 6 7 8 9 11 12 13 15 +1 3 6 7 8 9 11 12 14 15 +1 3 6 7 8 9 11 13 14 15 +1 3 6 7 8 9 12 13 14 15 +1 3 6 7 8 10 11 12 13 14 +1 3 6 7 8 10 11 12 13 15 +1 3 6 7 8 10 11 12 14 15 +1 3 6 7 8 10 11 13 14 15 +1 3 6 7 8 10 12 13 14 15 +1 3 6 7 8 11 12 13 14 15 +1 3 6 7 9 10 11 12 13 14 +1 3 6 7 9 10 11 12 13 15 +1 3 6 7 9 10 11 12 14 15 +1 3 6 7 9 10 11 13 14 15 +1 3 6 7 9 10 12 13 14 15 +1 3 6 7 9 11 12 13 14 15 +1 3 6 7 10 11 12 13 14 15 +1 3 6 8 9 10 11 12 13 14 +1 3 6 8 9 10 11 12 13 15 +1 3 6 8 9 10 11 12 14 15 +1 3 6 8 9 10 11 13 14 15 +1 3 6 8 9 10 12 13 14 15 +1 3 6 8 9 11 12 13 14 15 +1 3 6 8 10 11 12 13 14 15 +1 3 6 9 10 11 12 13 14 15 +1 3 7 8 9 10 11 12 13 14 +1 3 7 8 9 10 11 12 13 15 +1 3 7 8 9 10 11 12 14 15 +1 3 7 8 9 10 11 13 14 15 +1 3 7 8 9 10 12 13 14 15 +1 3 7 8 9 11 12 13 14 15 +1 3 7 8 10 11 12 13 14 15 +1 3 7 9 10 11 12 13 14 15 +1 3 8 9 10 11 12 13 14 15 +1 4 5 6 7 8 9 10 11 12 +1 4 5 6 7 8 9 10 11 13 +1 4 5 6 7 8 9 10 11 14 +1 4 5 6 7 8 9 10 11 15 +1 4 5 6 7 8 9 10 12 13 +1 4 5 6 7 8 9 10 12 14 +1 4 5 6 7 8 9 10 12 15 +1 4 5 6 7 8 9 10 13 14 +1 4 5 6 7 8 9 10 13 15 +1 4 5 6 7 8 9 10 14 15 +1 4 5 6 7 8 9 11 12 13 +1 4 5 6 7 8 9 11 12 14 +1 4 5 6 7 8 9 11 12 15 +1 4 5 6 7 8 9 11 13 14 +1 4 5 6 7 8 9 11 13 15 +1 4 5 6 7 8 9 11 14 15 +1 4 5 6 7 8 9 12 13 14 +1 4 5 6 7 8 9 12 13 15 +1 4 5 6 7 8 9 12 14 15 +1 4 5 6 7 8 9 13 14 15 +1 4 5 6 7 8 10 11 12 13 +1 4 5 6 7 8 10 11 12 14 +1 4 5 6 7 8 10 11 12 15 +1 4 5 6 7 8 10 11 13 14 +1 4 5 6 7 8 10 11 13 15 +1 4 5 6 7 8 10 11 14 15 +1 4 5 6 7 8 10 12 13 14 +1 4 5 6 7 8 10 12 13 15 +1 4 5 6 7 8 10 12 14 15 +1 4 5 6 7 8 10 13 14 15 +1 4 5 6 7 8 11 12 13 14 +1 4 5 6 7 8 11 12 13 15 +1 4 5 6 7 8 11 12 14 15 +1 4 5 6 7 8 11 13 14 15 +1 4 5 6 7 8 12 13 14 15 +1 4 5 6 7 9 10 11 12 13 +1 4 5 6 7 9 10 11 12 14 +1 4 5 6 7 9 10 11 12 15 +1 4 5 6 7 9 10 11 13 14 +1 4 5 6 7 9 10 11 13 15 +1 4 5 6 7 9 10 11 14 15 +1 4 5 6 7 9 10 12 13 14 +1 4 5 6 7 9 10 12 13 15 +1 4 5 6 7 9 10 12 14 15 +1 4 5 6 7 9 10 13 14 15 +1 4 5 6 7 9 11 12 13 14 +1 4 5 6 7 9 11 12 13 15 +1 4 5 6 7 9 11 12 14 15 +1 4 5 6 7 9 11 13 14 15 +1 4 5 6 7 9 12 13 14 15 +1 4 5 6 7 10 11 12 13 14 +1 4 5 6 7 10 11 12 13 15 +1 4 5 6 7 10 11 12 14 15 +1 4 5 6 7 10 11 13 14 15 +1 4 5 6 7 10 12 13 14 15 +1 4 5 6 7 11 12 13 14 15 +1 4 5 6 8 9 10 11 12 13 +1 4 5 6 8 9 10 11 12 14 +1 4 5 6 8 9 10 11 12 15 +1 4 5 6 8 9 10 11 13 14 +1 4 5 6 8 9 10 11 13 15 +1 4 5 6 8 9 10 11 14 15 +1 4 5 6 8 9 10 12 13 14 +1 4 5 6 8 9 10 12 13 15 +1 4 5 6 8 9 10 12 14 15 +1 4 5 6 8 9 10 13 14 15 +1 4 5 6 8 9 11 12 13 14 +1 4 5 6 8 9 11 12 13 15 +1 4 5 6 8 9 11 12 14 15 +1 4 5 6 8 9 11 13 14 15 +1 4 5 6 8 9 12 13 14 15 +1 4 5 6 8 10 11 12 13 14 +1 4 5 6 8 10 11 12 13 15 +1 4 5 6 8 10 11 12 14 15 +1 4 5 6 8 10 11 13 14 15 +1 4 5 6 8 10 12 13 14 15 +1 4 5 6 8 11 12 13 14 15 +1 4 5 6 9 10 11 12 13 14 +1 4 5 6 9 10 11 12 13 15 +1 4 5 6 9 10 11 12 14 15 +1 4 5 6 9 10 11 13 14 15 +1 4 5 6 9 10 12 13 14 15 +1 4 5 6 9 11 12 13 14 15 +1 4 5 6 10 11 12 13 14 15 +1 4 5 7 8 9 10 11 12 13 +1 4 5 7 8 9 10 11 12 14 +1 4 5 7 8 9 10 11 12 15 +1 4 5 7 8 9 10 11 13 14 +1 4 5 7 8 9 10 11 13 15 +1 4 5 7 8 9 10 11 14 15 +1 4 5 7 8 9 10 12 13 14 +1 4 5 7 8 9 10 12 13 15 +1 4 5 7 8 9 10 12 14 15 +1 4 5 7 8 9 10 13 14 15 +1 4 5 7 8 9 11 12 13 14 +1 4 5 7 8 9 11 12 13 15 +1 4 5 7 8 9 11 12 14 15 +1 4 5 7 8 9 11 13 14 15 +1 4 5 7 8 9 12 13 14 15 +1 4 5 7 8 10 11 12 13 14 +1 4 5 7 8 10 11 12 13 15 +1 4 5 7 8 10 11 12 14 15 +1 4 5 7 8 10 11 13 14 15 +1 4 5 7 8 10 12 13 14 15 +1 4 5 7 8 11 12 13 14 15 +1 4 5 7 9 10 11 12 13 14 +1 4 5 7 9 10 11 12 13 15 +1 4 5 7 9 10 11 12 14 15 +1 4 5 7 9 10 11 13 14 15 +1 4 5 7 9 10 12 13 14 15 +1 4 5 7 9 11 12 13 14 15 +1 4 5 7 10 11 12 13 14 15 +1 4 5 8 9 10 11 12 13 14 +1 4 5 8 9 10 11 12 13 15 +1 4 5 8 9 10 11 12 14 15 +1 4 5 8 9 10 11 13 14 15 +1 4 5 8 9 10 12 13 14 15 +1 4 5 8 9 11 12 13 14 15 +1 4 5 8 10 11 12 13 14 15 +1 4 5 9 10 11 12 13 14 15 +1 4 6 7 8 9 10 11 12 13 +1 4 6 7 8 9 10 11 12 14 +1 4 6 7 8 9 10 11 12 15 +1 4 6 7 8 9 10 11 13 14 +1 4 6 7 8 9 10 11 13 15 +1 4 6 7 8 9 10 11 14 15 +1 4 6 7 8 9 10 12 13 14 +1 4 6 7 8 9 10 12 13 15 +1 4 6 7 8 9 10 12 14 15 +1 4 6 7 8 9 10 13 14 15 +1 4 6 7 8 9 11 12 13 14 +1 4 6 7 8 9 11 12 13 15 +1 4 6 7 8 9 11 12 14 15 +1 4 6 7 8 9 11 13 14 15 +1 4 6 7 8 9 12 13 14 15 +1 4 6 7 8 10 11 12 13 14 +1 4 6 7 8 10 11 12 13 15 +1 4 6 7 8 10 11 12 14 15 +1 4 6 7 8 10 11 13 14 15 +1 4 6 7 8 10 12 13 14 15 +1 4 6 7 8 11 12 13 14 15 +1 4 6 7 9 10 11 12 13 14 +1 4 6 7 9 10 11 12 13 15 +1 4 6 7 9 10 11 12 14 15 +1 4 6 7 9 10 11 13 14 15 +1 4 6 7 9 10 12 13 14 15 +1 4 6 7 9 11 12 13 14 15 +1 4 6 7 10 11 12 13 14 15 +1 4 6 8 9 10 11 12 13 14 +1 4 6 8 9 10 11 12 13 15 +1 4 6 8 9 10 11 12 14 15 +1 4 6 8 9 10 11 13 14 15 +1 4 6 8 9 10 12 13 14 15 +1 4 6 8 9 11 12 13 14 15 +1 4 6 8 10 11 12 13 14 15 +1 4 6 9 10 11 12 13 14 15 +1 4 7 8 9 10 11 12 13 14 +1 4 7 8 9 10 11 12 13 15 +1 4 7 8 9 10 11 12 14 15 +1 4 7 8 9 10 11 13 14 15 +1 4 7 8 9 10 12 13 14 15 +1 4 7 8 9 11 12 13 14 15 +1 4 7 8 10 11 12 13 14 15 +1 4 7 9 10 11 12 13 14 15 +1 4 8 9 10 11 12 13 14 15 +1 5 6 7 8 9 10 11 12 13 +1 5 6 7 8 9 10 11 12 14 +1 5 6 7 8 9 10 11 12 15 +1 5 6 7 8 9 10 11 13 14 +1 5 6 7 8 9 10 11 13 15 +1 5 6 7 8 9 10 11 14 15 +1 5 6 7 8 9 10 12 13 14 +1 5 6 7 8 9 10 12 13 15 +1 5 6 7 8 9 10 12 14 15 +1 5 6 7 8 9 10 13 14 15 +1 5 6 7 8 9 11 12 13 14 +1 5 6 7 8 9 11 12 13 15 +1 5 6 7 8 9 11 12 14 15 +1 5 6 7 8 9 11 13 14 15 +1 5 6 7 8 9 12 13 14 15 +1 5 6 7 8 10 11 12 13 14 +1 5 6 7 8 10 11 12 13 15 +1 5 6 7 8 10 11 12 14 15 +1 5 6 7 8 10 11 13 14 15 +1 5 6 7 8 10 12 13 14 15 +1 5 6 7 8 11 12 13 14 15 +1 5 6 7 9 10 11 12 13 14 +1 5 6 7 9 10 11 12 13 15 +1 5 6 7 9 10 11 12 14 15 +1 5 6 7 9 10 11 13 14 15 +1 5 6 7 9 10 12 13 14 15 +1 5 6 7 9 11 12 13 14 15 +1 5 6 7 10 11 12 13 14 15 +1 5 6 8 9 10 11 12 13 14 +1 5 6 8 9 10 11 12 13 15 +1 5 6 8 9 10 11 12 14 15 +1 5 6 8 9 10 11 13 14 15 +1 5 6 8 9 10 12 13 14 15 +1 5 6 8 9 11 12 13 14 15 +1 5 6 8 10 11 12 13 14 15 +1 5 6 9 10 11 12 13 14 15 +1 5 7 8 9 10 11 12 13 14 +1 5 7 8 9 10 11 12 13 15 +1 5 7 8 9 10 11 12 14 15 +1 5 7 8 9 10 11 13 14 15 +1 5 7 8 9 10 12 13 14 15 +1 5 7 8 9 11 12 13 14 15 +1 5 7 8 10 11 12 13 14 15 +1 5 7 9 10 11 12 13 14 15 +1 5 8 9 10 11 12 13 14 15 +1 6 7 8 9 10 11 12 13 14 +1 6 7 8 9 10 11 12 13 15 +1 6 7 8 9 10 11 12 14 15 +1 6 7 8 9 10 11 13 14 15 +1 6 7 8 9 10 12 13 14 15 +1 6 7 8 9 11 12 13 14 15 +1 6 7 8 10 11 12 13 14 15 +1 6 7 9 10 11 12 13 14 15 +1 6 8 9 10 11 12 13 14 15 +1 7 8 9 10 11 12 13 14 15 +2 3 4 5 6 7 8 9 10 11 +2 3 4 5 6 7 8 9 10 12 +2 3 4 5 6 7 8 9 10 13 +2 3 4 5 6 7 8 9 10 14 +2 3 4 5 6 7 8 9 10 15 +2 3 4 5 6 7 8 9 11 12 +2 3 4 5 6 7 8 9 11 13 +2 3 4 5 6 7 8 9 11 14 +2 3 4 5 6 7 8 9 11 15 +2 3 4 5 6 7 8 9 12 13 +2 3 4 5 6 7 8 9 12 14 +2 3 4 5 6 7 8 9 12 15 +2 3 4 5 6 7 8 9 13 14 +2 3 4 5 6 7 8 9 13 15 +2 3 4 5 6 7 8 9 14 15 +2 3 4 5 6 7 8 10 11 12 +2 3 4 5 6 7 8 10 11 13 +2 3 4 5 6 7 8 10 11 14 +2 3 4 5 6 7 8 10 11 15 +2 3 4 5 6 7 8 10 12 13 +2 3 4 5 6 7 8 10 12 14 +2 3 4 5 6 7 8 10 12 15 +2 3 4 5 6 7 8 10 13 14 +2 3 4 5 6 7 8 10 13 15 +2 3 4 5 6 7 8 10 14 15 +2 3 4 5 6 7 8 11 12 13 +2 3 4 5 6 7 8 11 12 14 +2 3 4 5 6 7 8 11 12 15 +2 3 4 5 6 7 8 11 13 14 +2 3 4 5 6 7 8 11 13 15 +2 3 4 5 6 7 8 11 14 15 +2 3 4 5 6 7 8 12 13 14 +2 3 4 5 6 7 8 12 13 15 +2 3 4 5 6 7 8 12 14 15 +2 3 4 5 6 7 8 13 14 15 +2 3 4 5 6 7 9 10 11 12 +2 3 4 5 6 7 9 10 11 13 +2 3 4 5 6 7 9 10 11 14 +2 3 4 5 6 7 9 10 11 15 +2 3 4 5 6 7 9 10 12 13 +2 3 4 5 6 7 9 10 12 14 +2 3 4 5 6 7 9 10 12 15 +2 3 4 5 6 7 9 10 13 14 +2 3 4 5 6 7 9 10 13 15 +2 3 4 5 6 7 9 10 14 15 +2 3 4 5 6 7 9 11 12 13 +2 3 4 5 6 7 9 11 12 14 +2 3 4 5 6 7 9 11 12 15 +2 3 4 5 6 7 9 11 13 14 +2 3 4 5 6 7 9 11 13 15 +2 3 4 5 6 7 9 11 14 15 +2 3 4 5 6 7 9 12 13 14 +2 3 4 5 6 7 9 12 13 15 +2 3 4 5 6 7 9 12 14 15 +2 3 4 5 6 7 9 13 14 15 +2 3 4 5 6 7 10 11 12 13 +2 3 4 5 6 7 10 11 12 14 +2 3 4 5 6 7 10 11 12 15 +2 3 4 5 6 7 10 11 13 14 +2 3 4 5 6 7 10 11 13 15 +2 3 4 5 6 7 10 11 14 15 +2 3 4 5 6 7 10 12 13 14 +2 3 4 5 6 7 10 12 13 15 +2 3 4 5 6 7 10 12 14 15 +2 3 4 5 6 7 10 13 14 15 +2 3 4 5 6 7 11 12 13 14 +2 3 4 5 6 7 11 12 13 15 +2 3 4 5 6 7 11 12 14 15 +2 3 4 5 6 7 11 13 14 15 +2 3 4 5 6 7 12 13 14 15 +2 3 4 5 6 8 9 10 11 12 +2 3 4 5 6 8 9 10 11 13 +2 3 4 5 6 8 9 10 11 14 +2 3 4 5 6 8 9 10 11 15 +2 3 4 5 6 8 9 10 12 13 +2 3 4 5 6 8 9 10 12 14 +2 3 4 5 6 8 9 10 12 15 +2 3 4 5 6 8 9 10 13 14 +2 3 4 5 6 8 9 10 13 15 +2 3 4 5 6 8 9 10 14 15 +2 3 4 5 6 8 9 11 12 13 +2 3 4 5 6 8 9 11 12 14 +2 3 4 5 6 8 9 11 12 15 +2 3 4 5 6 8 9 11 13 14 +2 3 4 5 6 8 9 11 13 15 +2 3 4 5 6 8 9 11 14 15 +2 3 4 5 6 8 9 12 13 14 +2 3 4 5 6 8 9 12 13 15 +2 3 4 5 6 8 9 12 14 15 +2 3 4 5 6 8 9 13 14 15 +2 3 4 5 6 8 10 11 12 13 +2 3 4 5 6 8 10 11 12 14 +2 3 4 5 6 8 10 11 12 15 +2 3 4 5 6 8 10 11 13 14 +2 3 4 5 6 8 10 11 13 15 +2 3 4 5 6 8 10 11 14 15 +2 3 4 5 6 8 10 12 13 14 +2 3 4 5 6 8 10 12 13 15 +2 3 4 5 6 8 10 12 14 15 +2 3 4 5 6 8 10 13 14 15 +2 3 4 5 6 8 11 12 13 14 +2 3 4 5 6 8 11 12 13 15 +2 3 4 5 6 8 11 12 14 15 +2 3 4 5 6 8 11 13 14 15 +2 3 4 5 6 8 12 13 14 15 +2 3 4 5 6 9 10 11 12 13 +2 3 4 5 6 9 10 11 12 14 +2 3 4 5 6 9 10 11 12 15 +2 3 4 5 6 9 10 11 13 14 +2 3 4 5 6 9 10 11 13 15 +2 3 4 5 6 9 10 11 14 15 +2 3 4 5 6 9 10 12 13 14 +2 3 4 5 6 9 10 12 13 15 +2 3 4 5 6 9 10 12 14 15 +2 3 4 5 6 9 10 13 14 15 +2 3 4 5 6 9 11 12 13 14 +2 3 4 5 6 9 11 12 13 15 +2 3 4 5 6 9 11 12 14 15 +2 3 4 5 6 9 11 13 14 15 +2 3 4 5 6 9 12 13 14 15 +2 3 4 5 6 10 11 12 13 14 +2 3 4 5 6 10 11 12 13 15 +2 3 4 5 6 10 11 12 14 15 +2 3 4 5 6 10 11 13 14 15 +2 3 4 5 6 10 12 13 14 15 +2 3 4 5 6 11 12 13 14 15 +2 3 4 5 7 8 9 10 11 12 +2 3 4 5 7 8 9 10 11 13 +2 3 4 5 7 8 9 10 11 14 +2 3 4 5 7 8 9 10 11 15 +2 3 4 5 7 8 9 10 12 13 +2 3 4 5 7 8 9 10 12 14 +2 3 4 5 7 8 9 10 12 15 +2 3 4 5 7 8 9 10 13 14 +2 3 4 5 7 8 9 10 13 15 +2 3 4 5 7 8 9 10 14 15 +2 3 4 5 7 8 9 11 12 13 +2 3 4 5 7 8 9 11 12 14 +2 3 4 5 7 8 9 11 12 15 +2 3 4 5 7 8 9 11 13 14 +2 3 4 5 7 8 9 11 13 15 +2 3 4 5 7 8 9 11 14 15 +2 3 4 5 7 8 9 12 13 14 +2 3 4 5 7 8 9 12 13 15 +2 3 4 5 7 8 9 12 14 15 +2 3 4 5 7 8 9 13 14 15 +2 3 4 5 7 8 10 11 12 13 +2 3 4 5 7 8 10 11 12 14 +2 3 4 5 7 8 10 11 12 15 +2 3 4 5 7 8 10 11 13 14 +2 3 4 5 7 8 10 11 13 15 +2 3 4 5 7 8 10 11 14 15 +2 3 4 5 7 8 10 12 13 14 +2 3 4 5 7 8 10 12 13 15 +2 3 4 5 7 8 10 12 14 15 +2 3 4 5 7 8 10 13 14 15 +2 3 4 5 7 8 11 12 13 14 +2 3 4 5 7 8 11 12 13 15 +2 3 4 5 7 8 11 12 14 15 +2 3 4 5 7 8 11 13 14 15 +2 3 4 5 7 8 12 13 14 15 +2 3 4 5 7 9 10 11 12 13 +2 3 4 5 7 9 10 11 12 14 +2 3 4 5 7 9 10 11 12 15 +2 3 4 5 7 9 10 11 13 14 +2 3 4 5 7 9 10 11 13 15 +2 3 4 5 7 9 10 11 14 15 +2 3 4 5 7 9 10 12 13 14 +2 3 4 5 7 9 10 12 13 15 +2 3 4 5 7 9 10 12 14 15 +2 3 4 5 7 9 10 13 14 15 +2 3 4 5 7 9 11 12 13 14 +2 3 4 5 7 9 11 12 13 15 +2 3 4 5 7 9 11 12 14 15 +2 3 4 5 7 9 11 13 14 15 +2 3 4 5 7 9 12 13 14 15 +2 3 4 5 7 10 11 12 13 14 +2 3 4 5 7 10 11 12 13 15 +2 3 4 5 7 10 11 12 14 15 +2 3 4 5 7 10 11 13 14 15 +2 3 4 5 7 10 12 13 14 15 +2 3 4 5 7 11 12 13 14 15 +2 3 4 5 8 9 10 11 12 13 +2 3 4 5 8 9 10 11 12 14 +2 3 4 5 8 9 10 11 12 15 +2 3 4 5 8 9 10 11 13 14 +2 3 4 5 8 9 10 11 13 15 +2 3 4 5 8 9 10 11 14 15 +2 3 4 5 8 9 10 12 13 14 +2 3 4 5 8 9 10 12 13 15 +2 3 4 5 8 9 10 12 14 15 +2 3 4 5 8 9 10 13 14 15 +2 3 4 5 8 9 11 12 13 14 +2 3 4 5 8 9 11 12 13 15 +2 3 4 5 8 9 11 12 14 15 +2 3 4 5 8 9 11 13 14 15 +2 3 4 5 8 9 12 13 14 15 +2 3 4 5 8 10 11 12 13 14 +2 3 4 5 8 10 11 12 13 15 +2 3 4 5 8 10 11 12 14 15 +2 3 4 5 8 10 11 13 14 15 +2 3 4 5 8 10 12 13 14 15 +2 3 4 5 8 11 12 13 14 15 +2 3 4 5 9 10 11 12 13 14 +2 3 4 5 9 10 11 12 13 15 +2 3 4 5 9 10 11 12 14 15 +2 3 4 5 9 10 11 13 14 15 +2 3 4 5 9 10 12 13 14 15 +2 3 4 5 9 11 12 13 14 15 +2 3 4 5 10 11 12 13 14 15 +2 3 4 6 7 8 9 10 11 12 +2 3 4 6 7 8 9 10 11 13 +2 3 4 6 7 8 9 10 11 14 +2 3 4 6 7 8 9 10 11 15 +2 3 4 6 7 8 9 10 12 13 +2 3 4 6 7 8 9 10 12 14 +2 3 4 6 7 8 9 10 12 15 +2 3 4 6 7 8 9 10 13 14 +2 3 4 6 7 8 9 10 13 15 +2 3 4 6 7 8 9 10 14 15 +2 3 4 6 7 8 9 11 12 13 +2 3 4 6 7 8 9 11 12 14 +2 3 4 6 7 8 9 11 12 15 +2 3 4 6 7 8 9 11 13 14 +2 3 4 6 7 8 9 11 13 15 +2 3 4 6 7 8 9 11 14 15 +2 3 4 6 7 8 9 12 13 14 +2 3 4 6 7 8 9 12 13 15 +2 3 4 6 7 8 9 12 14 15 +2 3 4 6 7 8 9 13 14 15 +2 3 4 6 7 8 10 11 12 13 +2 3 4 6 7 8 10 11 12 14 +2 3 4 6 7 8 10 11 12 15 +2 3 4 6 7 8 10 11 13 14 +2 3 4 6 7 8 10 11 13 15 +2 3 4 6 7 8 10 11 14 15 +2 3 4 6 7 8 10 12 13 14 +2 3 4 6 7 8 10 12 13 15 +2 3 4 6 7 8 10 12 14 15 +2 3 4 6 7 8 10 13 14 15 +2 3 4 6 7 8 11 12 13 14 +2 3 4 6 7 8 11 12 13 15 +2 3 4 6 7 8 11 12 14 15 +2 3 4 6 7 8 11 13 14 15 +2 3 4 6 7 8 12 13 14 15 +2 3 4 6 7 9 10 11 12 13 +2 3 4 6 7 9 10 11 12 14 +2 3 4 6 7 9 10 11 12 15 +2 3 4 6 7 9 10 11 13 14 +2 3 4 6 7 9 10 11 13 15 +2 3 4 6 7 9 10 11 14 15 +2 3 4 6 7 9 10 12 13 14 +2 3 4 6 7 9 10 12 13 15 +2 3 4 6 7 9 10 12 14 15 +2 3 4 6 7 9 10 13 14 15 +2 3 4 6 7 9 11 12 13 14 +2 3 4 6 7 9 11 12 13 15 +2 3 4 6 7 9 11 12 14 15 +2 3 4 6 7 9 11 13 14 15 +2 3 4 6 7 9 12 13 14 15 +2 3 4 6 7 10 11 12 13 14 +2 3 4 6 7 10 11 12 13 15 +2 3 4 6 7 10 11 12 14 15 +2 3 4 6 7 10 11 13 14 15 +2 3 4 6 7 10 12 13 14 15 +2 3 4 6 7 11 12 13 14 15 +2 3 4 6 8 9 10 11 12 13 +2 3 4 6 8 9 10 11 12 14 +2 3 4 6 8 9 10 11 12 15 +2 3 4 6 8 9 10 11 13 14 +2 3 4 6 8 9 10 11 13 15 +2 3 4 6 8 9 10 11 14 15 +2 3 4 6 8 9 10 12 13 14 +2 3 4 6 8 9 10 12 13 15 +2 3 4 6 8 9 10 12 14 15 +2 3 4 6 8 9 10 13 14 15 +2 3 4 6 8 9 11 12 13 14 +2 3 4 6 8 9 11 12 13 15 +2 3 4 6 8 9 11 12 14 15 +2 3 4 6 8 9 11 13 14 15 +2 3 4 6 8 9 12 13 14 15 +2 3 4 6 8 10 11 12 13 14 +2 3 4 6 8 10 11 12 13 15 +2 3 4 6 8 10 11 12 14 15 +2 3 4 6 8 10 11 13 14 15 +2 3 4 6 8 10 12 13 14 15 +2 3 4 6 8 11 12 13 14 15 +2 3 4 6 9 10 11 12 13 14 +2 3 4 6 9 10 11 12 13 15 +2 3 4 6 9 10 11 12 14 15 +2 3 4 6 9 10 11 13 14 15 +2 3 4 6 9 10 12 13 14 15 +2 3 4 6 9 11 12 13 14 15 +2 3 4 6 10 11 12 13 14 15 +2 3 4 7 8 9 10 11 12 13 +2 3 4 7 8 9 10 11 12 14 +2 3 4 7 8 9 10 11 12 15 +2 3 4 7 8 9 10 11 13 14 +2 3 4 7 8 9 10 11 13 15 +2 3 4 7 8 9 10 11 14 15 +2 3 4 7 8 9 10 12 13 14 +2 3 4 7 8 9 10 12 13 15 +2 3 4 7 8 9 10 12 14 15 +2 3 4 7 8 9 10 13 14 15 +2 3 4 7 8 9 11 12 13 14 +2 3 4 7 8 9 11 12 13 15 +2 3 4 7 8 9 11 12 14 15 +2 3 4 7 8 9 11 13 14 15 +2 3 4 7 8 9 12 13 14 15 +2 3 4 7 8 10 11 12 13 14 +2 3 4 7 8 10 11 12 13 15 +2 3 4 7 8 10 11 12 14 15 +2 3 4 7 8 10 11 13 14 15 +2 3 4 7 8 10 12 13 14 15 +2 3 4 7 8 11 12 13 14 15 +2 3 4 7 9 10 11 12 13 14 +2 3 4 7 9 10 11 12 13 15 +2 3 4 7 9 10 11 12 14 15 +2 3 4 7 9 10 11 13 14 15 +2 3 4 7 9 10 12 13 14 15 +2 3 4 7 9 11 12 13 14 15 +2 3 4 7 10 11 12 13 14 15 +2 3 4 8 9 10 11 12 13 14 +2 3 4 8 9 10 11 12 13 15 +2 3 4 8 9 10 11 12 14 15 +2 3 4 8 9 10 11 13 14 15 +2 3 4 8 9 10 12 13 14 15 +2 3 4 8 9 11 12 13 14 15 +2 3 4 8 10 11 12 13 14 15 +2 3 4 9 10 11 12 13 14 15 +2 3 5 6 7 8 9 10 11 12 +2 3 5 6 7 8 9 10 11 13 +2 3 5 6 7 8 9 10 11 14 +2 3 5 6 7 8 9 10 11 15 +2 3 5 6 7 8 9 10 12 13 +2 3 5 6 7 8 9 10 12 14 +2 3 5 6 7 8 9 10 12 15 +2 3 5 6 7 8 9 10 13 14 +2 3 5 6 7 8 9 10 13 15 +2 3 5 6 7 8 9 10 14 15 +2 3 5 6 7 8 9 11 12 13 +2 3 5 6 7 8 9 11 12 14 +2 3 5 6 7 8 9 11 12 15 +2 3 5 6 7 8 9 11 13 14 +2 3 5 6 7 8 9 11 13 15 +2 3 5 6 7 8 9 11 14 15 +2 3 5 6 7 8 9 12 13 14 +2 3 5 6 7 8 9 12 13 15 +2 3 5 6 7 8 9 12 14 15 +2 3 5 6 7 8 9 13 14 15 +2 3 5 6 7 8 10 11 12 13 +2 3 5 6 7 8 10 11 12 14 +2 3 5 6 7 8 10 11 12 15 +2 3 5 6 7 8 10 11 13 14 +2 3 5 6 7 8 10 11 13 15 +2 3 5 6 7 8 10 11 14 15 +2 3 5 6 7 8 10 12 13 14 +2 3 5 6 7 8 10 12 13 15 +2 3 5 6 7 8 10 12 14 15 +2 3 5 6 7 8 10 13 14 15 +2 3 5 6 7 8 11 12 13 14 +2 3 5 6 7 8 11 12 13 15 +2 3 5 6 7 8 11 12 14 15 +2 3 5 6 7 8 11 13 14 15 +2 3 5 6 7 8 12 13 14 15 +2 3 5 6 7 9 10 11 12 13 +2 3 5 6 7 9 10 11 12 14 +2 3 5 6 7 9 10 11 12 15 +2 3 5 6 7 9 10 11 13 14 +2 3 5 6 7 9 10 11 13 15 +2 3 5 6 7 9 10 11 14 15 +2 3 5 6 7 9 10 12 13 14 +2 3 5 6 7 9 10 12 13 15 +2 3 5 6 7 9 10 12 14 15 +2 3 5 6 7 9 10 13 14 15 +2 3 5 6 7 9 11 12 13 14 +2 3 5 6 7 9 11 12 13 15 +2 3 5 6 7 9 11 12 14 15 +2 3 5 6 7 9 11 13 14 15 +2 3 5 6 7 9 12 13 14 15 +2 3 5 6 7 10 11 12 13 14 +2 3 5 6 7 10 11 12 13 15 +2 3 5 6 7 10 11 12 14 15 +2 3 5 6 7 10 11 13 14 15 +2 3 5 6 7 10 12 13 14 15 +2 3 5 6 7 11 12 13 14 15 +2 3 5 6 8 9 10 11 12 13 +2 3 5 6 8 9 10 11 12 14 +2 3 5 6 8 9 10 11 12 15 +2 3 5 6 8 9 10 11 13 14 +2 3 5 6 8 9 10 11 13 15 +2 3 5 6 8 9 10 11 14 15 +2 3 5 6 8 9 10 12 13 14 +2 3 5 6 8 9 10 12 13 15 +2 3 5 6 8 9 10 12 14 15 +2 3 5 6 8 9 10 13 14 15 +2 3 5 6 8 9 11 12 13 14 +2 3 5 6 8 9 11 12 13 15 +2 3 5 6 8 9 11 12 14 15 +2 3 5 6 8 9 11 13 14 15 +2 3 5 6 8 9 12 13 14 15 +2 3 5 6 8 10 11 12 13 14 +2 3 5 6 8 10 11 12 13 15 +2 3 5 6 8 10 11 12 14 15 +2 3 5 6 8 10 11 13 14 15 +2 3 5 6 8 10 12 13 14 15 +2 3 5 6 8 11 12 13 14 15 +2 3 5 6 9 10 11 12 13 14 +2 3 5 6 9 10 11 12 13 15 +2 3 5 6 9 10 11 12 14 15 +2 3 5 6 9 10 11 13 14 15 +2 3 5 6 9 10 12 13 14 15 +2 3 5 6 9 11 12 13 14 15 +2 3 5 6 10 11 12 13 14 15 +2 3 5 7 8 9 10 11 12 13 +2 3 5 7 8 9 10 11 12 14 +2 3 5 7 8 9 10 11 12 15 +2 3 5 7 8 9 10 11 13 14 +2 3 5 7 8 9 10 11 13 15 +2 3 5 7 8 9 10 11 14 15 +2 3 5 7 8 9 10 12 13 14 +2 3 5 7 8 9 10 12 13 15 +2 3 5 7 8 9 10 12 14 15 +2 3 5 7 8 9 10 13 14 15 +2 3 5 7 8 9 11 12 13 14 +2 3 5 7 8 9 11 12 13 15 +2 3 5 7 8 9 11 12 14 15 +2 3 5 7 8 9 11 13 14 15 +2 3 5 7 8 9 12 13 14 15 +2 3 5 7 8 10 11 12 13 14 +2 3 5 7 8 10 11 12 13 15 +2 3 5 7 8 10 11 12 14 15 +2 3 5 7 8 10 11 13 14 15 +2 3 5 7 8 10 12 13 14 15 +2 3 5 7 8 11 12 13 14 15 +2 3 5 7 9 10 11 12 13 14 +2 3 5 7 9 10 11 12 13 15 +2 3 5 7 9 10 11 12 14 15 +2 3 5 7 9 10 11 13 14 15 +2 3 5 7 9 10 12 13 14 15 +2 3 5 7 9 11 12 13 14 15 +2 3 5 7 10 11 12 13 14 15 +2 3 5 8 9 10 11 12 13 14 +2 3 5 8 9 10 11 12 13 15 +2 3 5 8 9 10 11 12 14 15 +2 3 5 8 9 10 11 13 14 15 +2 3 5 8 9 10 12 13 14 15 +2 3 5 8 9 11 12 13 14 15 +2 3 5 8 10 11 12 13 14 15 +2 3 5 9 10 11 12 13 14 15 +2 3 6 7 8 9 10 11 12 13 +2 3 6 7 8 9 10 11 12 14 +2 3 6 7 8 9 10 11 12 15 +2 3 6 7 8 9 10 11 13 14 +2 3 6 7 8 9 10 11 13 15 +2 3 6 7 8 9 10 11 14 15 +2 3 6 7 8 9 10 12 13 14 +2 3 6 7 8 9 10 12 13 15 +2 3 6 7 8 9 10 12 14 15 +2 3 6 7 8 9 10 13 14 15 +2 3 6 7 8 9 11 12 13 14 +2 3 6 7 8 9 11 12 13 15 +2 3 6 7 8 9 11 12 14 15 +2 3 6 7 8 9 11 13 14 15 +2 3 6 7 8 9 12 13 14 15 +2 3 6 7 8 10 11 12 13 14 +2 3 6 7 8 10 11 12 13 15 +2 3 6 7 8 10 11 12 14 15 +2 3 6 7 8 10 11 13 14 15 +2 3 6 7 8 10 12 13 14 15 +2 3 6 7 8 11 12 13 14 15 +2 3 6 7 9 10 11 12 13 14 +2 3 6 7 9 10 11 12 13 15 +2 3 6 7 9 10 11 12 14 15 +2 3 6 7 9 10 11 13 14 15 +2 3 6 7 9 10 12 13 14 15 +2 3 6 7 9 11 12 13 14 15 +2 3 6 7 10 11 12 13 14 15 +2 3 6 8 9 10 11 12 13 14 +2 3 6 8 9 10 11 12 13 15 +2 3 6 8 9 10 11 12 14 15 +2 3 6 8 9 10 11 13 14 15 +2 3 6 8 9 10 12 13 14 15 +2 3 6 8 9 11 12 13 14 15 +2 3 6 8 10 11 12 13 14 15 +2 3 6 9 10 11 12 13 14 15 +2 3 7 8 9 10 11 12 13 14 +2 3 7 8 9 10 11 12 13 15 +2 3 7 8 9 10 11 12 14 15 +2 3 7 8 9 10 11 13 14 15 +2 3 7 8 9 10 12 13 14 15 +2 3 7 8 9 11 12 13 14 15 +2 3 7 8 10 11 12 13 14 15 +2 3 7 9 10 11 12 13 14 15 +2 3 8 9 10 11 12 13 14 15 +2 4 5 6 7 8 9 10 11 12 +2 4 5 6 7 8 9 10 11 13 +2 4 5 6 7 8 9 10 11 14 +2 4 5 6 7 8 9 10 11 15 +2 4 5 6 7 8 9 10 12 13 +2 4 5 6 7 8 9 10 12 14 +2 4 5 6 7 8 9 10 12 15 +2 4 5 6 7 8 9 10 13 14 +2 4 5 6 7 8 9 10 13 15 +2 4 5 6 7 8 9 10 14 15 +2 4 5 6 7 8 9 11 12 13 +2 4 5 6 7 8 9 11 12 14 +2 4 5 6 7 8 9 11 12 15 +2 4 5 6 7 8 9 11 13 14 +2 4 5 6 7 8 9 11 13 15 +2 4 5 6 7 8 9 11 14 15 +2 4 5 6 7 8 9 12 13 14 +2 4 5 6 7 8 9 12 13 15 +2 4 5 6 7 8 9 12 14 15 +2 4 5 6 7 8 9 13 14 15 +2 4 5 6 7 8 10 11 12 13 +2 4 5 6 7 8 10 11 12 14 +2 4 5 6 7 8 10 11 12 15 +2 4 5 6 7 8 10 11 13 14 +2 4 5 6 7 8 10 11 13 15 +2 4 5 6 7 8 10 11 14 15 +2 4 5 6 7 8 10 12 13 14 +2 4 5 6 7 8 10 12 13 15 +2 4 5 6 7 8 10 12 14 15 +2 4 5 6 7 8 10 13 14 15 +2 4 5 6 7 8 11 12 13 14 +2 4 5 6 7 8 11 12 13 15 +2 4 5 6 7 8 11 12 14 15 +2 4 5 6 7 8 11 13 14 15 +2 4 5 6 7 8 12 13 14 15 +2 4 5 6 7 9 10 11 12 13 +2 4 5 6 7 9 10 11 12 14 +2 4 5 6 7 9 10 11 12 15 +2 4 5 6 7 9 10 11 13 14 +2 4 5 6 7 9 10 11 13 15 +2 4 5 6 7 9 10 11 14 15 +2 4 5 6 7 9 10 12 13 14 +2 4 5 6 7 9 10 12 13 15 +2 4 5 6 7 9 10 12 14 15 +2 4 5 6 7 9 10 13 14 15 +2 4 5 6 7 9 11 12 13 14 +2 4 5 6 7 9 11 12 13 15 +2 4 5 6 7 9 11 12 14 15 +2 4 5 6 7 9 11 13 14 15 +2 4 5 6 7 9 12 13 14 15 +2 4 5 6 7 10 11 12 13 14 +2 4 5 6 7 10 11 12 13 15 +2 4 5 6 7 10 11 12 14 15 +2 4 5 6 7 10 11 13 14 15 +2 4 5 6 7 10 12 13 14 15 +2 4 5 6 7 11 12 13 14 15 +2 4 5 6 8 9 10 11 12 13 +2 4 5 6 8 9 10 11 12 14 +2 4 5 6 8 9 10 11 12 15 +2 4 5 6 8 9 10 11 13 14 +2 4 5 6 8 9 10 11 13 15 +2 4 5 6 8 9 10 11 14 15 +2 4 5 6 8 9 10 12 13 14 +2 4 5 6 8 9 10 12 13 15 +2 4 5 6 8 9 10 12 14 15 +2 4 5 6 8 9 10 13 14 15 +2 4 5 6 8 9 11 12 13 14 +2 4 5 6 8 9 11 12 13 15 +2 4 5 6 8 9 11 12 14 15 +2 4 5 6 8 9 11 13 14 15 +2 4 5 6 8 9 12 13 14 15 +2 4 5 6 8 10 11 12 13 14 +2 4 5 6 8 10 11 12 13 15 +2 4 5 6 8 10 11 12 14 15 +2 4 5 6 8 10 11 13 14 15 +2 4 5 6 8 10 12 13 14 15 +2 4 5 6 8 11 12 13 14 15 +2 4 5 6 9 10 11 12 13 14 +2 4 5 6 9 10 11 12 13 15 +2 4 5 6 9 10 11 12 14 15 +2 4 5 6 9 10 11 13 14 15 +2 4 5 6 9 10 12 13 14 15 +2 4 5 6 9 11 12 13 14 15 +2 4 5 6 10 11 12 13 14 15 +2 4 5 7 8 9 10 11 12 13 +2 4 5 7 8 9 10 11 12 14 +2 4 5 7 8 9 10 11 12 15 +2 4 5 7 8 9 10 11 13 14 +2 4 5 7 8 9 10 11 13 15 +2 4 5 7 8 9 10 11 14 15 +2 4 5 7 8 9 10 12 13 14 +2 4 5 7 8 9 10 12 13 15 +2 4 5 7 8 9 10 12 14 15 +2 4 5 7 8 9 10 13 14 15 +2 4 5 7 8 9 11 12 13 14 +2 4 5 7 8 9 11 12 13 15 +2 4 5 7 8 9 11 12 14 15 +2 4 5 7 8 9 11 13 14 15 +2 4 5 7 8 9 12 13 14 15 +2 4 5 7 8 10 11 12 13 14 +2 4 5 7 8 10 11 12 13 15 +2 4 5 7 8 10 11 12 14 15 +2 4 5 7 8 10 11 13 14 15 +2 4 5 7 8 10 12 13 14 15 +2 4 5 7 8 11 12 13 14 15 +2 4 5 7 9 10 11 12 13 14 +2 4 5 7 9 10 11 12 13 15 +2 4 5 7 9 10 11 12 14 15 +2 4 5 7 9 10 11 13 14 15 +2 4 5 7 9 10 12 13 14 15 +2 4 5 7 9 11 12 13 14 15 +2 4 5 7 10 11 12 13 14 15 +2 4 5 8 9 10 11 12 13 14 +2 4 5 8 9 10 11 12 13 15 +2 4 5 8 9 10 11 12 14 15 +2 4 5 8 9 10 11 13 14 15 +2 4 5 8 9 10 12 13 14 15 +2 4 5 8 9 11 12 13 14 15 +2 4 5 8 10 11 12 13 14 15 +2 4 5 9 10 11 12 13 14 15 +2 4 6 7 8 9 10 11 12 13 +2 4 6 7 8 9 10 11 12 14 +2 4 6 7 8 9 10 11 12 15 +2 4 6 7 8 9 10 11 13 14 +2 4 6 7 8 9 10 11 13 15 +2 4 6 7 8 9 10 11 14 15 +2 4 6 7 8 9 10 12 13 14 +2 4 6 7 8 9 10 12 13 15 +2 4 6 7 8 9 10 12 14 15 +2 4 6 7 8 9 10 13 14 15 +2 4 6 7 8 9 11 12 13 14 +2 4 6 7 8 9 11 12 13 15 +2 4 6 7 8 9 11 12 14 15 +2 4 6 7 8 9 11 13 14 15 +2 4 6 7 8 9 12 13 14 15 +2 4 6 7 8 10 11 12 13 14 +2 4 6 7 8 10 11 12 13 15 +2 4 6 7 8 10 11 12 14 15 +2 4 6 7 8 10 11 13 14 15 +2 4 6 7 8 10 12 13 14 15 +2 4 6 7 8 11 12 13 14 15 +2 4 6 7 9 10 11 12 13 14 +2 4 6 7 9 10 11 12 13 15 +2 4 6 7 9 10 11 12 14 15 +2 4 6 7 9 10 11 13 14 15 +2 4 6 7 9 10 12 13 14 15 +2 4 6 7 9 11 12 13 14 15 +2 4 6 7 10 11 12 13 14 15 +2 4 6 8 9 10 11 12 13 14 +2 4 6 8 9 10 11 12 13 15 +2 4 6 8 9 10 11 12 14 15 +2 4 6 8 9 10 11 13 14 15 +2 4 6 8 9 10 12 13 14 15 +2 4 6 8 9 11 12 13 14 15 +2 4 6 8 10 11 12 13 14 15 +2 4 6 9 10 11 12 13 14 15 +2 4 7 8 9 10 11 12 13 14 +2 4 7 8 9 10 11 12 13 15 +2 4 7 8 9 10 11 12 14 15 +2 4 7 8 9 10 11 13 14 15 +2 4 7 8 9 10 12 13 14 15 +2 4 7 8 9 11 12 13 14 15 +2 4 7 8 10 11 12 13 14 15 +2 4 7 9 10 11 12 13 14 15 +2 4 8 9 10 11 12 13 14 15 +2 5 6 7 8 9 10 11 12 13 +2 5 6 7 8 9 10 11 12 14 +2 5 6 7 8 9 10 11 12 15 +2 5 6 7 8 9 10 11 13 14 +2 5 6 7 8 9 10 11 13 15 +2 5 6 7 8 9 10 11 14 15 +2 5 6 7 8 9 10 12 13 14 +2 5 6 7 8 9 10 12 13 15 +2 5 6 7 8 9 10 12 14 15 +2 5 6 7 8 9 10 13 14 15 +2 5 6 7 8 9 11 12 13 14 +2 5 6 7 8 9 11 12 13 15 +2 5 6 7 8 9 11 12 14 15 +2 5 6 7 8 9 11 13 14 15 +2 5 6 7 8 9 12 13 14 15 +2 5 6 7 8 10 11 12 13 14 +2 5 6 7 8 10 11 12 13 15 +2 5 6 7 8 10 11 12 14 15 +2 5 6 7 8 10 11 13 14 15 +2 5 6 7 8 10 12 13 14 15 +2 5 6 7 8 11 12 13 14 15 +2 5 6 7 9 10 11 12 13 14 +2 5 6 7 9 10 11 12 13 15 +2 5 6 7 9 10 11 12 14 15 +2 5 6 7 9 10 11 13 14 15 +2 5 6 7 9 10 12 13 14 15 +2 5 6 7 9 11 12 13 14 15 +2 5 6 7 10 11 12 13 14 15 +2 5 6 8 9 10 11 12 13 14 +2 5 6 8 9 10 11 12 13 15 +2 5 6 8 9 10 11 12 14 15 +2 5 6 8 9 10 11 13 14 15 +2 5 6 8 9 10 12 13 14 15 +2 5 6 8 9 11 12 13 14 15 +2 5 6 8 10 11 12 13 14 15 +2 5 6 9 10 11 12 13 14 15 +2 5 7 8 9 10 11 12 13 14 +2 5 7 8 9 10 11 12 13 15 +2 5 7 8 9 10 11 12 14 15 +2 5 7 8 9 10 11 13 14 15 +2 5 7 8 9 10 12 13 14 15 +2 5 7 8 9 11 12 13 14 15 +2 5 7 8 10 11 12 13 14 15 +2 5 7 9 10 11 12 13 14 15 +2 5 8 9 10 11 12 13 14 15 +2 6 7 8 9 10 11 12 13 14 +2 6 7 8 9 10 11 12 13 15 +2 6 7 8 9 10 11 12 14 15 +2 6 7 8 9 10 11 13 14 15 +2 6 7 8 9 10 12 13 14 15 +2 6 7 8 9 11 12 13 14 15 +2 6 7 8 10 11 12 13 14 15 +2 6 7 9 10 11 12 13 14 15 +2 6 8 9 10 11 12 13 14 15 +2 7 8 9 10 11 12 13 14 15 +3 4 5 6 7 8 9 10 11 12 +3 4 5 6 7 8 9 10 11 13 +3 4 5 6 7 8 9 10 11 14 +3 4 5 6 7 8 9 10 11 15 +3 4 5 6 7 8 9 10 12 13 +3 4 5 6 7 8 9 10 12 14 +3 4 5 6 7 8 9 10 12 15 +3 4 5 6 7 8 9 10 13 14 +3 4 5 6 7 8 9 10 13 15 +3 4 5 6 7 8 9 10 14 15 +3 4 5 6 7 8 9 11 12 13 +3 4 5 6 7 8 9 11 12 14 +3 4 5 6 7 8 9 11 12 15 +3 4 5 6 7 8 9 11 13 14 +3 4 5 6 7 8 9 11 13 15 +3 4 5 6 7 8 9 11 14 15 +3 4 5 6 7 8 9 12 13 14 +3 4 5 6 7 8 9 12 13 15 +3 4 5 6 7 8 9 12 14 15 +3 4 5 6 7 8 9 13 14 15 +3 4 5 6 7 8 10 11 12 13 +3 4 5 6 7 8 10 11 12 14 +3 4 5 6 7 8 10 11 12 15 +3 4 5 6 7 8 10 11 13 14 +3 4 5 6 7 8 10 11 13 15 +3 4 5 6 7 8 10 11 14 15 +3 4 5 6 7 8 10 12 13 14 +3 4 5 6 7 8 10 12 13 15 +3 4 5 6 7 8 10 12 14 15 +3 4 5 6 7 8 10 13 14 15 +3 4 5 6 7 8 11 12 13 14 +3 4 5 6 7 8 11 12 13 15 +3 4 5 6 7 8 11 12 14 15 +3 4 5 6 7 8 11 13 14 15 +3 4 5 6 7 8 12 13 14 15 +3 4 5 6 7 9 10 11 12 13 +3 4 5 6 7 9 10 11 12 14 +3 4 5 6 7 9 10 11 12 15 +3 4 5 6 7 9 10 11 13 14 +3 4 5 6 7 9 10 11 13 15 +3 4 5 6 7 9 10 11 14 15 +3 4 5 6 7 9 10 12 13 14 +3 4 5 6 7 9 10 12 13 15 +3 4 5 6 7 9 10 12 14 15 +3 4 5 6 7 9 10 13 14 15 +3 4 5 6 7 9 11 12 13 14 +3 4 5 6 7 9 11 12 13 15 +3 4 5 6 7 9 11 12 14 15 +3 4 5 6 7 9 11 13 14 15 +3 4 5 6 7 9 12 13 14 15 +3 4 5 6 7 10 11 12 13 14 +3 4 5 6 7 10 11 12 13 15 +3 4 5 6 7 10 11 12 14 15 +3 4 5 6 7 10 11 13 14 15 +3 4 5 6 7 10 12 13 14 15 +3 4 5 6 7 11 12 13 14 15 +3 4 5 6 8 9 10 11 12 13 +3 4 5 6 8 9 10 11 12 14 +3 4 5 6 8 9 10 11 12 15 +3 4 5 6 8 9 10 11 13 14 +3 4 5 6 8 9 10 11 13 15 +3 4 5 6 8 9 10 11 14 15 +3 4 5 6 8 9 10 12 13 14 +3 4 5 6 8 9 10 12 13 15 +3 4 5 6 8 9 10 12 14 15 +3 4 5 6 8 9 10 13 14 15 +3 4 5 6 8 9 11 12 13 14 +3 4 5 6 8 9 11 12 13 15 +3 4 5 6 8 9 11 12 14 15 +3 4 5 6 8 9 11 13 14 15 +3 4 5 6 8 9 12 13 14 15 +3 4 5 6 8 10 11 12 13 14 +3 4 5 6 8 10 11 12 13 15 +3 4 5 6 8 10 11 12 14 15 +3 4 5 6 8 10 11 13 14 15 +3 4 5 6 8 10 12 13 14 15 +3 4 5 6 8 11 12 13 14 15 +3 4 5 6 9 10 11 12 13 14 +3 4 5 6 9 10 11 12 13 15 +3 4 5 6 9 10 11 12 14 15 +3 4 5 6 9 10 11 13 14 15 +3 4 5 6 9 10 12 13 14 15 +3 4 5 6 9 11 12 13 14 15 +3 4 5 6 10 11 12 13 14 15 +3 4 5 7 8 9 10 11 12 13 +3 4 5 7 8 9 10 11 12 14 +3 4 5 7 8 9 10 11 12 15 +3 4 5 7 8 9 10 11 13 14 +3 4 5 7 8 9 10 11 13 15 +3 4 5 7 8 9 10 11 14 15 +3 4 5 7 8 9 10 12 13 14 +3 4 5 7 8 9 10 12 13 15 +3 4 5 7 8 9 10 12 14 15 +3 4 5 7 8 9 10 13 14 15 +3 4 5 7 8 9 11 12 13 14 +3 4 5 7 8 9 11 12 13 15 +3 4 5 7 8 9 11 12 14 15 +3 4 5 7 8 9 11 13 14 15 +3 4 5 7 8 9 12 13 14 15 +3 4 5 7 8 10 11 12 13 14 +3 4 5 7 8 10 11 12 13 15 +3 4 5 7 8 10 11 12 14 15 +3 4 5 7 8 10 11 13 14 15 +3 4 5 7 8 10 12 13 14 15 +3 4 5 7 8 11 12 13 14 15 +3 4 5 7 9 10 11 12 13 14 +3 4 5 7 9 10 11 12 13 15 +3 4 5 7 9 10 11 12 14 15 +3 4 5 7 9 10 11 13 14 15 +3 4 5 7 9 10 12 13 14 15 +3 4 5 7 9 11 12 13 14 15 +3 4 5 7 10 11 12 13 14 15 +3 4 5 8 9 10 11 12 13 14 +3 4 5 8 9 10 11 12 13 15 +3 4 5 8 9 10 11 12 14 15 +3 4 5 8 9 10 11 13 14 15 +3 4 5 8 9 10 12 13 14 15 +3 4 5 8 9 11 12 13 14 15 +3 4 5 8 10 11 12 13 14 15 +3 4 5 9 10 11 12 13 14 15 +3 4 6 7 8 9 10 11 12 13 +3 4 6 7 8 9 10 11 12 14 +3 4 6 7 8 9 10 11 12 15 +3 4 6 7 8 9 10 11 13 14 +3 4 6 7 8 9 10 11 13 15 +3 4 6 7 8 9 10 11 14 15 +3 4 6 7 8 9 10 12 13 14 +3 4 6 7 8 9 10 12 13 15 +3 4 6 7 8 9 10 12 14 15 +3 4 6 7 8 9 10 13 14 15 +3 4 6 7 8 9 11 12 13 14 +3 4 6 7 8 9 11 12 13 15 +3 4 6 7 8 9 11 12 14 15 +3 4 6 7 8 9 11 13 14 15 +3 4 6 7 8 9 12 13 14 15 +3 4 6 7 8 10 11 12 13 14 +3 4 6 7 8 10 11 12 13 15 +3 4 6 7 8 10 11 12 14 15 +3 4 6 7 8 10 11 13 14 15 +3 4 6 7 8 10 12 13 14 15 +3 4 6 7 8 11 12 13 14 15 +3 4 6 7 9 10 11 12 13 14 +3 4 6 7 9 10 11 12 13 15 +3 4 6 7 9 10 11 12 14 15 +3 4 6 7 9 10 11 13 14 15 +3 4 6 7 9 10 12 13 14 15 +3 4 6 7 9 11 12 13 14 15 +3 4 6 7 10 11 12 13 14 15 +3 4 6 8 9 10 11 12 13 14 +3 4 6 8 9 10 11 12 13 15 +3 4 6 8 9 10 11 12 14 15 +3 4 6 8 9 10 11 13 14 15 +3 4 6 8 9 10 12 13 14 15 +3 4 6 8 9 11 12 13 14 15 +3 4 6 8 10 11 12 13 14 15 +3 4 6 9 10 11 12 13 14 15 +3 4 7 8 9 10 11 12 13 14 +3 4 7 8 9 10 11 12 13 15 +3 4 7 8 9 10 11 12 14 15 +3 4 7 8 9 10 11 13 14 15 +3 4 7 8 9 10 12 13 14 15 +3 4 7 8 9 11 12 13 14 15 +3 4 7 8 10 11 12 13 14 15 +3 4 7 9 10 11 12 13 14 15 +3 4 8 9 10 11 12 13 14 15 +3 5 6 7 8 9 10 11 12 13 +3 5 6 7 8 9 10 11 12 14 +3 5 6 7 8 9 10 11 12 15 +3 5 6 7 8 9 10 11 13 14 +3 5 6 7 8 9 10 11 13 15 +3 5 6 7 8 9 10 11 14 15 +3 5 6 7 8 9 10 12 13 14 +3 5 6 7 8 9 10 12 13 15 +3 5 6 7 8 9 10 12 14 15 +3 5 6 7 8 9 10 13 14 15 +3 5 6 7 8 9 11 12 13 14 +3 5 6 7 8 9 11 12 13 15 +3 5 6 7 8 9 11 12 14 15 +3 5 6 7 8 9 11 13 14 15 +3 5 6 7 8 9 12 13 14 15 +3 5 6 7 8 10 11 12 13 14 +3 5 6 7 8 10 11 12 13 15 +3 5 6 7 8 10 11 12 14 15 +3 5 6 7 8 10 11 13 14 15 +3 5 6 7 8 10 12 13 14 15 +3 5 6 7 8 11 12 13 14 15 +3 5 6 7 9 10 11 12 13 14 +3 5 6 7 9 10 11 12 13 15 +3 5 6 7 9 10 11 12 14 15 +3 5 6 7 9 10 11 13 14 15 +3 5 6 7 9 10 12 13 14 15 +3 5 6 7 9 11 12 13 14 15 +3 5 6 7 10 11 12 13 14 15 +3 5 6 8 9 10 11 12 13 14 +3 5 6 8 9 10 11 12 13 15 +3 5 6 8 9 10 11 12 14 15 +3 5 6 8 9 10 11 13 14 15 +3 5 6 8 9 10 12 13 14 15 +3 5 6 8 9 11 12 13 14 15 +3 5 6 8 10 11 12 13 14 15 +3 5 6 9 10 11 12 13 14 15 +3 5 7 8 9 10 11 12 13 14 +3 5 7 8 9 10 11 12 13 15 +3 5 7 8 9 10 11 12 14 15 +3 5 7 8 9 10 11 13 14 15 +3 5 7 8 9 10 12 13 14 15 +3 5 7 8 9 11 12 13 14 15 +3 5 7 8 10 11 12 13 14 15 +3 5 7 9 10 11 12 13 14 15 +3 5 8 9 10 11 12 13 14 15 +3 6 7 8 9 10 11 12 13 14 +3 6 7 8 9 10 11 12 13 15 +3 6 7 8 9 10 11 12 14 15 +3 6 7 8 9 10 11 13 14 15 +3 6 7 8 9 10 12 13 14 15 +3 6 7 8 9 11 12 13 14 15 +3 6 7 8 10 11 12 13 14 15 +3 6 7 9 10 11 12 13 14 15 +3 6 8 9 10 11 12 13 14 15 +3 7 8 9 10 11 12 13 14 15 +4 5 6 7 8 9 10 11 12 13 +4 5 6 7 8 9 10 11 12 14 +4 5 6 7 8 9 10 11 12 15 +4 5 6 7 8 9 10 11 13 14 +4 5 6 7 8 9 10 11 13 15 +4 5 6 7 8 9 10 11 14 15 +4 5 6 7 8 9 10 12 13 14 +4 5 6 7 8 9 10 12 13 15 +4 5 6 7 8 9 10 12 14 15 +4 5 6 7 8 9 10 13 14 15 +4 5 6 7 8 9 11 12 13 14 +4 5 6 7 8 9 11 12 13 15 +4 5 6 7 8 9 11 12 14 15 +4 5 6 7 8 9 11 13 14 15 +4 5 6 7 8 9 12 13 14 15 +4 5 6 7 8 10 11 12 13 14 +4 5 6 7 8 10 11 12 13 15 +4 5 6 7 8 10 11 12 14 15 +4 5 6 7 8 10 11 13 14 15 +4 5 6 7 8 10 12 13 14 15 +4 5 6 7 8 11 12 13 14 15 +4 5 6 7 9 10 11 12 13 14 +4 5 6 7 9 10 11 12 13 15 +4 5 6 7 9 10 11 12 14 15 +4 5 6 7 9 10 11 13 14 15 +4 5 6 7 9 10 12 13 14 15 +4 5 6 7 9 11 12 13 14 15 +4 5 6 7 10 11 12 13 14 15 +4 5 6 8 9 10 11 12 13 14 +4 5 6 8 9 10 11 12 13 15 +4 5 6 8 9 10 11 12 14 15 +4 5 6 8 9 10 11 13 14 15 +4 5 6 8 9 10 12 13 14 15 +4 5 6 8 9 11 12 13 14 15 +4 5 6 8 10 11 12 13 14 15 +4 5 6 9 10 11 12 13 14 15 +4 5 7 8 9 10 11 12 13 14 +4 5 7 8 9 10 11 12 13 15 +4 5 7 8 9 10 11 12 14 15 +4 5 7 8 9 10 11 13 14 15 +4 5 7 8 9 10 12 13 14 15 +4 5 7 8 9 11 12 13 14 15 +4 5 7 8 10 11 12 13 14 15 +4 5 7 9 10 11 12 13 14 15 +4 5 8 9 10 11 12 13 14 15 +4 6 7 8 9 10 11 12 13 14 +4 6 7 8 9 10 11 12 13 15 +4 6 7 8 9 10 11 12 14 15 +4 6 7 8 9 10 11 13 14 15 +4 6 7 8 9 10 12 13 14 15 +4 6 7 8 9 11 12 13 14 15 +4 6 7 8 10 11 12 13 14 15 +4 6 7 9 10 11 12 13 14 15 +4 6 8 9 10 11 12 13 14 15 +4 7 8 9 10 11 12 13 14 15 +5 6 7 8 9 10 11 12 13 14 +5 6 7 8 9 10 11 12 13 15 +5 6 7 8 9 10 11 12 14 15 +5 6 7 8 9 10 11 13 14 15 +5 6 7 8 9 10 12 13 14 15 +5 6 7 8 9 11 12 13 14 15 +5 6 7 8 10 11 12 13 14 15 +5 6 7 9 10 11 12 13 14 15 +5 6 8 9 10 11 12 13 14 15 +5 7 8 9 10 11 12 13 14 15 +6 7 8 9 10 11 12 13 14 15 diff --git a/combines/16-11.txt b/combines/16-11.txt index 5987f7e..60b4e8c 100644 --- a/combines/16-11.txt +++ b/combines/16-11.txt @@ -1,4368 +1,4368 @@ -0 1 2 3 4 5 6 7 8 9 10 -0 1 2 3 4 5 6 7 8 9 11 -0 1 2 3 4 5 6 7 8 9 12 -0 1 2 3 4 5 6 7 8 9 13 -0 1 2 3 4 5 6 7 8 9 14 -0 1 2 3 4 5 6 7 8 9 15 -0 1 2 3 4 5 6 7 8 10 11 -0 1 2 3 4 5 6 7 8 10 12 -0 1 2 3 4 5 6 7 8 10 13 -0 1 2 3 4 5 6 7 8 10 14 -0 1 2 3 4 5 6 7 8 10 15 -0 1 2 3 4 5 6 7 8 11 12 -0 1 2 3 4 5 6 7 8 11 13 -0 1 2 3 4 5 6 7 8 11 14 -0 1 2 3 4 5 6 7 8 11 15 -0 1 2 3 4 5 6 7 8 12 13 -0 1 2 3 4 5 6 7 8 12 14 -0 1 2 3 4 5 6 7 8 12 15 -0 1 2 3 4 5 6 7 8 13 14 -0 1 2 3 4 5 6 7 8 13 15 -0 1 2 3 4 5 6 7 8 14 15 -0 1 2 3 4 5 6 7 9 10 11 -0 1 2 3 4 5 6 7 9 10 12 -0 1 2 3 4 5 6 7 9 10 13 -0 1 2 3 4 5 6 7 9 10 14 -0 1 2 3 4 5 6 7 9 10 15 -0 1 2 3 4 5 6 7 9 11 12 -0 1 2 3 4 5 6 7 9 11 13 -0 1 2 3 4 5 6 7 9 11 14 -0 1 2 3 4 5 6 7 9 11 15 -0 1 2 3 4 5 6 7 9 12 13 -0 1 2 3 4 5 6 7 9 12 14 -0 1 2 3 4 5 6 7 9 12 15 -0 1 2 3 4 5 6 7 9 13 14 -0 1 2 3 4 5 6 7 9 13 15 -0 1 2 3 4 5 6 7 9 14 15 -0 1 2 3 4 5 6 7 10 11 12 -0 1 2 3 4 5 6 7 10 11 13 -0 1 2 3 4 5 6 7 10 11 14 -0 1 2 3 4 5 6 7 10 11 15 -0 1 2 3 4 5 6 7 10 12 13 -0 1 2 3 4 5 6 7 10 12 14 -0 1 2 3 4 5 6 7 10 12 15 -0 1 2 3 4 5 6 7 10 13 14 -0 1 2 3 4 5 6 7 10 13 15 -0 1 2 3 4 5 6 7 10 14 15 -0 1 2 3 4 5 6 7 11 12 13 -0 1 2 3 4 5 6 7 11 12 14 -0 1 2 3 4 5 6 7 11 12 15 -0 1 2 3 4 5 6 7 11 13 14 -0 1 2 3 4 5 6 7 11 13 15 -0 1 2 3 4 5 6 7 11 14 15 -0 1 2 3 4 5 6 7 12 13 14 -0 1 2 3 4 5 6 7 12 13 15 -0 1 2 3 4 5 6 7 12 14 15 -0 1 2 3 4 5 6 7 13 14 15 -0 1 2 3 4 5 6 8 9 10 11 -0 1 2 3 4 5 6 8 9 10 12 -0 1 2 3 4 5 6 8 9 10 13 -0 1 2 3 4 5 6 8 9 10 14 -0 1 2 3 4 5 6 8 9 10 15 -0 1 2 3 4 5 6 8 9 11 12 -0 1 2 3 4 5 6 8 9 11 13 -0 1 2 3 4 5 6 8 9 11 14 -0 1 2 3 4 5 6 8 9 11 15 -0 1 2 3 4 5 6 8 9 12 13 -0 1 2 3 4 5 6 8 9 12 14 -0 1 2 3 4 5 6 8 9 12 15 -0 1 2 3 4 5 6 8 9 13 14 -0 1 2 3 4 5 6 8 9 13 15 -0 1 2 3 4 5 6 8 9 14 15 -0 1 2 3 4 5 6 8 10 11 12 -0 1 2 3 4 5 6 8 10 11 13 -0 1 2 3 4 5 6 8 10 11 14 -0 1 2 3 4 5 6 8 10 11 15 -0 1 2 3 4 5 6 8 10 12 13 -0 1 2 3 4 5 6 8 10 12 14 -0 1 2 3 4 5 6 8 10 12 15 -0 1 2 3 4 5 6 8 10 13 14 -0 1 2 3 4 5 6 8 10 13 15 -0 1 2 3 4 5 6 8 10 14 15 -0 1 2 3 4 5 6 8 11 12 13 -0 1 2 3 4 5 6 8 11 12 14 -0 1 2 3 4 5 6 8 11 12 15 -0 1 2 3 4 5 6 8 11 13 14 -0 1 2 3 4 5 6 8 11 13 15 -0 1 2 3 4 5 6 8 11 14 15 -0 1 2 3 4 5 6 8 12 13 14 -0 1 2 3 4 5 6 8 12 13 15 -0 1 2 3 4 5 6 8 12 14 15 -0 1 2 3 4 5 6 8 13 14 15 -0 1 2 3 4 5 6 9 10 11 12 -0 1 2 3 4 5 6 9 10 11 13 -0 1 2 3 4 5 6 9 10 11 14 -0 1 2 3 4 5 6 9 10 11 15 -0 1 2 3 4 5 6 9 10 12 13 -0 1 2 3 4 5 6 9 10 12 14 -0 1 2 3 4 5 6 9 10 12 15 -0 1 2 3 4 5 6 9 10 13 14 -0 1 2 3 4 5 6 9 10 13 15 -0 1 2 3 4 5 6 9 10 14 15 -0 1 2 3 4 5 6 9 11 12 13 -0 1 2 3 4 5 6 9 11 12 14 -0 1 2 3 4 5 6 9 11 12 15 -0 1 2 3 4 5 6 9 11 13 14 -0 1 2 3 4 5 6 9 11 13 15 -0 1 2 3 4 5 6 9 11 14 15 -0 1 2 3 4 5 6 9 12 13 14 -0 1 2 3 4 5 6 9 12 13 15 -0 1 2 3 4 5 6 9 12 14 15 -0 1 2 3 4 5 6 9 13 14 15 -0 1 2 3 4 5 6 10 11 12 13 -0 1 2 3 4 5 6 10 11 12 14 -0 1 2 3 4 5 6 10 11 12 15 -0 1 2 3 4 5 6 10 11 13 14 -0 1 2 3 4 5 6 10 11 13 15 -0 1 2 3 4 5 6 10 11 14 15 -0 1 2 3 4 5 6 10 12 13 14 -0 1 2 3 4 5 6 10 12 13 15 -0 1 2 3 4 5 6 10 12 14 15 -0 1 2 3 4 5 6 10 13 14 15 -0 1 2 3 4 5 6 11 12 13 14 -0 1 2 3 4 5 6 11 12 13 15 -0 1 2 3 4 5 6 11 12 14 15 -0 1 2 3 4 5 6 11 13 14 15 -0 1 2 3 4 5 6 12 13 14 15 -0 1 2 3 4 5 7 8 9 10 11 -0 1 2 3 4 5 7 8 9 10 12 -0 1 2 3 4 5 7 8 9 10 13 -0 1 2 3 4 5 7 8 9 10 14 -0 1 2 3 4 5 7 8 9 10 15 -0 1 2 3 4 5 7 8 9 11 12 -0 1 2 3 4 5 7 8 9 11 13 -0 1 2 3 4 5 7 8 9 11 14 -0 1 2 3 4 5 7 8 9 11 15 -0 1 2 3 4 5 7 8 9 12 13 -0 1 2 3 4 5 7 8 9 12 14 -0 1 2 3 4 5 7 8 9 12 15 -0 1 2 3 4 5 7 8 9 13 14 -0 1 2 3 4 5 7 8 9 13 15 -0 1 2 3 4 5 7 8 9 14 15 -0 1 2 3 4 5 7 8 10 11 12 -0 1 2 3 4 5 7 8 10 11 13 -0 1 2 3 4 5 7 8 10 11 14 -0 1 2 3 4 5 7 8 10 11 15 -0 1 2 3 4 5 7 8 10 12 13 -0 1 2 3 4 5 7 8 10 12 14 -0 1 2 3 4 5 7 8 10 12 15 -0 1 2 3 4 5 7 8 10 13 14 -0 1 2 3 4 5 7 8 10 13 15 -0 1 2 3 4 5 7 8 10 14 15 -0 1 2 3 4 5 7 8 11 12 13 -0 1 2 3 4 5 7 8 11 12 14 -0 1 2 3 4 5 7 8 11 12 15 -0 1 2 3 4 5 7 8 11 13 14 -0 1 2 3 4 5 7 8 11 13 15 -0 1 2 3 4 5 7 8 11 14 15 -0 1 2 3 4 5 7 8 12 13 14 -0 1 2 3 4 5 7 8 12 13 15 -0 1 2 3 4 5 7 8 12 14 15 -0 1 2 3 4 5 7 8 13 14 15 -0 1 2 3 4 5 7 9 10 11 12 -0 1 2 3 4 5 7 9 10 11 13 -0 1 2 3 4 5 7 9 10 11 14 -0 1 2 3 4 5 7 9 10 11 15 -0 1 2 3 4 5 7 9 10 12 13 -0 1 2 3 4 5 7 9 10 12 14 -0 1 2 3 4 5 7 9 10 12 15 -0 1 2 3 4 5 7 9 10 13 14 -0 1 2 3 4 5 7 9 10 13 15 -0 1 2 3 4 5 7 9 10 14 15 -0 1 2 3 4 5 7 9 11 12 13 -0 1 2 3 4 5 7 9 11 12 14 -0 1 2 3 4 5 7 9 11 12 15 -0 1 2 3 4 5 7 9 11 13 14 -0 1 2 3 4 5 7 9 11 13 15 -0 1 2 3 4 5 7 9 11 14 15 -0 1 2 3 4 5 7 9 12 13 14 -0 1 2 3 4 5 7 9 12 13 15 -0 1 2 3 4 5 7 9 12 14 15 -0 1 2 3 4 5 7 9 13 14 15 -0 1 2 3 4 5 7 10 11 12 13 -0 1 2 3 4 5 7 10 11 12 14 -0 1 2 3 4 5 7 10 11 12 15 -0 1 2 3 4 5 7 10 11 13 14 -0 1 2 3 4 5 7 10 11 13 15 -0 1 2 3 4 5 7 10 11 14 15 -0 1 2 3 4 5 7 10 12 13 14 -0 1 2 3 4 5 7 10 12 13 15 -0 1 2 3 4 5 7 10 12 14 15 -0 1 2 3 4 5 7 10 13 14 15 -0 1 2 3 4 5 7 11 12 13 14 -0 1 2 3 4 5 7 11 12 13 15 -0 1 2 3 4 5 7 11 12 14 15 -0 1 2 3 4 5 7 11 13 14 15 -0 1 2 3 4 5 7 12 13 14 15 -0 1 2 3 4 5 8 9 10 11 12 -0 1 2 3 4 5 8 9 10 11 13 -0 1 2 3 4 5 8 9 10 11 14 -0 1 2 3 4 5 8 9 10 11 15 -0 1 2 3 4 5 8 9 10 12 13 -0 1 2 3 4 5 8 9 10 12 14 -0 1 2 3 4 5 8 9 10 12 15 -0 1 2 3 4 5 8 9 10 13 14 -0 1 2 3 4 5 8 9 10 13 15 -0 1 2 3 4 5 8 9 10 14 15 -0 1 2 3 4 5 8 9 11 12 13 -0 1 2 3 4 5 8 9 11 12 14 -0 1 2 3 4 5 8 9 11 12 15 -0 1 2 3 4 5 8 9 11 13 14 -0 1 2 3 4 5 8 9 11 13 15 -0 1 2 3 4 5 8 9 11 14 15 -0 1 2 3 4 5 8 9 12 13 14 -0 1 2 3 4 5 8 9 12 13 15 -0 1 2 3 4 5 8 9 12 14 15 -0 1 2 3 4 5 8 9 13 14 15 -0 1 2 3 4 5 8 10 11 12 13 -0 1 2 3 4 5 8 10 11 12 14 -0 1 2 3 4 5 8 10 11 12 15 -0 1 2 3 4 5 8 10 11 13 14 -0 1 2 3 4 5 8 10 11 13 15 -0 1 2 3 4 5 8 10 11 14 15 -0 1 2 3 4 5 8 10 12 13 14 -0 1 2 3 4 5 8 10 12 13 15 -0 1 2 3 4 5 8 10 12 14 15 -0 1 2 3 4 5 8 10 13 14 15 -0 1 2 3 4 5 8 11 12 13 14 -0 1 2 3 4 5 8 11 12 13 15 -0 1 2 3 4 5 8 11 12 14 15 -0 1 2 3 4 5 8 11 13 14 15 -0 1 2 3 4 5 8 12 13 14 15 -0 1 2 3 4 5 9 10 11 12 13 -0 1 2 3 4 5 9 10 11 12 14 -0 1 2 3 4 5 9 10 11 12 15 -0 1 2 3 4 5 9 10 11 13 14 -0 1 2 3 4 5 9 10 11 13 15 -0 1 2 3 4 5 9 10 11 14 15 -0 1 2 3 4 5 9 10 12 13 14 -0 1 2 3 4 5 9 10 12 13 15 -0 1 2 3 4 5 9 10 12 14 15 -0 1 2 3 4 5 9 10 13 14 15 -0 1 2 3 4 5 9 11 12 13 14 -0 1 2 3 4 5 9 11 12 13 15 -0 1 2 3 4 5 9 11 12 14 15 -0 1 2 3 4 5 9 11 13 14 15 -0 1 2 3 4 5 9 12 13 14 15 -0 1 2 3 4 5 10 11 12 13 14 -0 1 2 3 4 5 10 11 12 13 15 -0 1 2 3 4 5 10 11 12 14 15 -0 1 2 3 4 5 10 11 13 14 15 -0 1 2 3 4 5 10 12 13 14 15 -0 1 2 3 4 5 11 12 13 14 15 -0 1 2 3 4 6 7 8 9 10 11 -0 1 2 3 4 6 7 8 9 10 12 -0 1 2 3 4 6 7 8 9 10 13 -0 1 2 3 4 6 7 8 9 10 14 -0 1 2 3 4 6 7 8 9 10 15 -0 1 2 3 4 6 7 8 9 11 12 -0 1 2 3 4 6 7 8 9 11 13 -0 1 2 3 4 6 7 8 9 11 14 -0 1 2 3 4 6 7 8 9 11 15 -0 1 2 3 4 6 7 8 9 12 13 -0 1 2 3 4 6 7 8 9 12 14 -0 1 2 3 4 6 7 8 9 12 15 -0 1 2 3 4 6 7 8 9 13 14 -0 1 2 3 4 6 7 8 9 13 15 -0 1 2 3 4 6 7 8 9 14 15 -0 1 2 3 4 6 7 8 10 11 12 -0 1 2 3 4 6 7 8 10 11 13 -0 1 2 3 4 6 7 8 10 11 14 -0 1 2 3 4 6 7 8 10 11 15 -0 1 2 3 4 6 7 8 10 12 13 -0 1 2 3 4 6 7 8 10 12 14 -0 1 2 3 4 6 7 8 10 12 15 -0 1 2 3 4 6 7 8 10 13 14 -0 1 2 3 4 6 7 8 10 13 15 -0 1 2 3 4 6 7 8 10 14 15 -0 1 2 3 4 6 7 8 11 12 13 -0 1 2 3 4 6 7 8 11 12 14 -0 1 2 3 4 6 7 8 11 12 15 -0 1 2 3 4 6 7 8 11 13 14 -0 1 2 3 4 6 7 8 11 13 15 -0 1 2 3 4 6 7 8 11 14 15 -0 1 2 3 4 6 7 8 12 13 14 -0 1 2 3 4 6 7 8 12 13 15 -0 1 2 3 4 6 7 8 12 14 15 -0 1 2 3 4 6 7 8 13 14 15 -0 1 2 3 4 6 7 9 10 11 12 -0 1 2 3 4 6 7 9 10 11 13 -0 1 2 3 4 6 7 9 10 11 14 -0 1 2 3 4 6 7 9 10 11 15 -0 1 2 3 4 6 7 9 10 12 13 -0 1 2 3 4 6 7 9 10 12 14 -0 1 2 3 4 6 7 9 10 12 15 -0 1 2 3 4 6 7 9 10 13 14 -0 1 2 3 4 6 7 9 10 13 15 -0 1 2 3 4 6 7 9 10 14 15 -0 1 2 3 4 6 7 9 11 12 13 -0 1 2 3 4 6 7 9 11 12 14 -0 1 2 3 4 6 7 9 11 12 15 -0 1 2 3 4 6 7 9 11 13 14 -0 1 2 3 4 6 7 9 11 13 15 -0 1 2 3 4 6 7 9 11 14 15 -0 1 2 3 4 6 7 9 12 13 14 -0 1 2 3 4 6 7 9 12 13 15 -0 1 2 3 4 6 7 9 12 14 15 -0 1 2 3 4 6 7 9 13 14 15 -0 1 2 3 4 6 7 10 11 12 13 -0 1 2 3 4 6 7 10 11 12 14 -0 1 2 3 4 6 7 10 11 12 15 -0 1 2 3 4 6 7 10 11 13 14 -0 1 2 3 4 6 7 10 11 13 15 -0 1 2 3 4 6 7 10 11 14 15 -0 1 2 3 4 6 7 10 12 13 14 -0 1 2 3 4 6 7 10 12 13 15 -0 1 2 3 4 6 7 10 12 14 15 -0 1 2 3 4 6 7 10 13 14 15 -0 1 2 3 4 6 7 11 12 13 14 -0 1 2 3 4 6 7 11 12 13 15 -0 1 2 3 4 6 7 11 12 14 15 -0 1 2 3 4 6 7 11 13 14 15 -0 1 2 3 4 6 7 12 13 14 15 -0 1 2 3 4 6 8 9 10 11 12 -0 1 2 3 4 6 8 9 10 11 13 -0 1 2 3 4 6 8 9 10 11 14 -0 1 2 3 4 6 8 9 10 11 15 -0 1 2 3 4 6 8 9 10 12 13 -0 1 2 3 4 6 8 9 10 12 14 -0 1 2 3 4 6 8 9 10 12 15 -0 1 2 3 4 6 8 9 10 13 14 -0 1 2 3 4 6 8 9 10 13 15 -0 1 2 3 4 6 8 9 10 14 15 -0 1 2 3 4 6 8 9 11 12 13 -0 1 2 3 4 6 8 9 11 12 14 -0 1 2 3 4 6 8 9 11 12 15 -0 1 2 3 4 6 8 9 11 13 14 -0 1 2 3 4 6 8 9 11 13 15 -0 1 2 3 4 6 8 9 11 14 15 -0 1 2 3 4 6 8 9 12 13 14 -0 1 2 3 4 6 8 9 12 13 15 -0 1 2 3 4 6 8 9 12 14 15 -0 1 2 3 4 6 8 9 13 14 15 -0 1 2 3 4 6 8 10 11 12 13 -0 1 2 3 4 6 8 10 11 12 14 -0 1 2 3 4 6 8 10 11 12 15 -0 1 2 3 4 6 8 10 11 13 14 -0 1 2 3 4 6 8 10 11 13 15 -0 1 2 3 4 6 8 10 11 14 15 -0 1 2 3 4 6 8 10 12 13 14 -0 1 2 3 4 6 8 10 12 13 15 -0 1 2 3 4 6 8 10 12 14 15 -0 1 2 3 4 6 8 10 13 14 15 -0 1 2 3 4 6 8 11 12 13 14 -0 1 2 3 4 6 8 11 12 13 15 -0 1 2 3 4 6 8 11 12 14 15 -0 1 2 3 4 6 8 11 13 14 15 -0 1 2 3 4 6 8 12 13 14 15 -0 1 2 3 4 6 9 10 11 12 13 -0 1 2 3 4 6 9 10 11 12 14 -0 1 2 3 4 6 9 10 11 12 15 -0 1 2 3 4 6 9 10 11 13 14 -0 1 2 3 4 6 9 10 11 13 15 -0 1 2 3 4 6 9 10 11 14 15 -0 1 2 3 4 6 9 10 12 13 14 -0 1 2 3 4 6 9 10 12 13 15 -0 1 2 3 4 6 9 10 12 14 15 -0 1 2 3 4 6 9 10 13 14 15 -0 1 2 3 4 6 9 11 12 13 14 -0 1 2 3 4 6 9 11 12 13 15 -0 1 2 3 4 6 9 11 12 14 15 -0 1 2 3 4 6 9 11 13 14 15 -0 1 2 3 4 6 9 12 13 14 15 -0 1 2 3 4 6 10 11 12 13 14 -0 1 2 3 4 6 10 11 12 13 15 -0 1 2 3 4 6 10 11 12 14 15 -0 1 2 3 4 6 10 11 13 14 15 -0 1 2 3 4 6 10 12 13 14 15 -0 1 2 3 4 6 11 12 13 14 15 -0 1 2 3 4 7 8 9 10 11 12 -0 1 2 3 4 7 8 9 10 11 13 -0 1 2 3 4 7 8 9 10 11 14 -0 1 2 3 4 7 8 9 10 11 15 -0 1 2 3 4 7 8 9 10 12 13 -0 1 2 3 4 7 8 9 10 12 14 -0 1 2 3 4 7 8 9 10 12 15 -0 1 2 3 4 7 8 9 10 13 14 -0 1 2 3 4 7 8 9 10 13 15 -0 1 2 3 4 7 8 9 10 14 15 -0 1 2 3 4 7 8 9 11 12 13 -0 1 2 3 4 7 8 9 11 12 14 -0 1 2 3 4 7 8 9 11 12 15 -0 1 2 3 4 7 8 9 11 13 14 -0 1 2 3 4 7 8 9 11 13 15 -0 1 2 3 4 7 8 9 11 14 15 -0 1 2 3 4 7 8 9 12 13 14 -0 1 2 3 4 7 8 9 12 13 15 -0 1 2 3 4 7 8 9 12 14 15 -0 1 2 3 4 7 8 9 13 14 15 -0 1 2 3 4 7 8 10 11 12 13 -0 1 2 3 4 7 8 10 11 12 14 -0 1 2 3 4 7 8 10 11 12 15 -0 1 2 3 4 7 8 10 11 13 14 -0 1 2 3 4 7 8 10 11 13 15 -0 1 2 3 4 7 8 10 11 14 15 -0 1 2 3 4 7 8 10 12 13 14 -0 1 2 3 4 7 8 10 12 13 15 -0 1 2 3 4 7 8 10 12 14 15 -0 1 2 3 4 7 8 10 13 14 15 -0 1 2 3 4 7 8 11 12 13 14 -0 1 2 3 4 7 8 11 12 13 15 -0 1 2 3 4 7 8 11 12 14 15 -0 1 2 3 4 7 8 11 13 14 15 -0 1 2 3 4 7 8 12 13 14 15 -0 1 2 3 4 7 9 10 11 12 13 -0 1 2 3 4 7 9 10 11 12 14 -0 1 2 3 4 7 9 10 11 12 15 -0 1 2 3 4 7 9 10 11 13 14 -0 1 2 3 4 7 9 10 11 13 15 -0 1 2 3 4 7 9 10 11 14 15 -0 1 2 3 4 7 9 10 12 13 14 -0 1 2 3 4 7 9 10 12 13 15 -0 1 2 3 4 7 9 10 12 14 15 -0 1 2 3 4 7 9 10 13 14 15 -0 1 2 3 4 7 9 11 12 13 14 -0 1 2 3 4 7 9 11 12 13 15 -0 1 2 3 4 7 9 11 12 14 15 -0 1 2 3 4 7 9 11 13 14 15 -0 1 2 3 4 7 9 12 13 14 15 -0 1 2 3 4 7 10 11 12 13 14 -0 1 2 3 4 7 10 11 12 13 15 -0 1 2 3 4 7 10 11 12 14 15 -0 1 2 3 4 7 10 11 13 14 15 -0 1 2 3 4 7 10 12 13 14 15 -0 1 2 3 4 7 11 12 13 14 15 -0 1 2 3 4 8 9 10 11 12 13 -0 1 2 3 4 8 9 10 11 12 14 -0 1 2 3 4 8 9 10 11 12 15 -0 1 2 3 4 8 9 10 11 13 14 -0 1 2 3 4 8 9 10 11 13 15 -0 1 2 3 4 8 9 10 11 14 15 -0 1 2 3 4 8 9 10 12 13 14 -0 1 2 3 4 8 9 10 12 13 15 -0 1 2 3 4 8 9 10 12 14 15 -0 1 2 3 4 8 9 10 13 14 15 -0 1 2 3 4 8 9 11 12 13 14 -0 1 2 3 4 8 9 11 12 13 15 -0 1 2 3 4 8 9 11 12 14 15 -0 1 2 3 4 8 9 11 13 14 15 -0 1 2 3 4 8 9 12 13 14 15 -0 1 2 3 4 8 10 11 12 13 14 -0 1 2 3 4 8 10 11 12 13 15 -0 1 2 3 4 8 10 11 12 14 15 -0 1 2 3 4 8 10 11 13 14 15 -0 1 2 3 4 8 10 12 13 14 15 -0 1 2 3 4 8 11 12 13 14 15 -0 1 2 3 4 9 10 11 12 13 14 -0 1 2 3 4 9 10 11 12 13 15 -0 1 2 3 4 9 10 11 12 14 15 -0 1 2 3 4 9 10 11 13 14 15 -0 1 2 3 4 9 10 12 13 14 15 -0 1 2 3 4 9 11 12 13 14 15 -0 1 2 3 4 10 11 12 13 14 15 -0 1 2 3 5 6 7 8 9 10 11 -0 1 2 3 5 6 7 8 9 10 12 -0 1 2 3 5 6 7 8 9 10 13 -0 1 2 3 5 6 7 8 9 10 14 -0 1 2 3 5 6 7 8 9 10 15 -0 1 2 3 5 6 7 8 9 11 12 -0 1 2 3 5 6 7 8 9 11 13 -0 1 2 3 5 6 7 8 9 11 14 -0 1 2 3 5 6 7 8 9 11 15 -0 1 2 3 5 6 7 8 9 12 13 -0 1 2 3 5 6 7 8 9 12 14 -0 1 2 3 5 6 7 8 9 12 15 -0 1 2 3 5 6 7 8 9 13 14 -0 1 2 3 5 6 7 8 9 13 15 -0 1 2 3 5 6 7 8 9 14 15 -0 1 2 3 5 6 7 8 10 11 12 -0 1 2 3 5 6 7 8 10 11 13 -0 1 2 3 5 6 7 8 10 11 14 -0 1 2 3 5 6 7 8 10 11 15 -0 1 2 3 5 6 7 8 10 12 13 -0 1 2 3 5 6 7 8 10 12 14 -0 1 2 3 5 6 7 8 10 12 15 -0 1 2 3 5 6 7 8 10 13 14 -0 1 2 3 5 6 7 8 10 13 15 -0 1 2 3 5 6 7 8 10 14 15 -0 1 2 3 5 6 7 8 11 12 13 -0 1 2 3 5 6 7 8 11 12 14 -0 1 2 3 5 6 7 8 11 12 15 -0 1 2 3 5 6 7 8 11 13 14 -0 1 2 3 5 6 7 8 11 13 15 -0 1 2 3 5 6 7 8 11 14 15 -0 1 2 3 5 6 7 8 12 13 14 -0 1 2 3 5 6 7 8 12 13 15 -0 1 2 3 5 6 7 8 12 14 15 -0 1 2 3 5 6 7 8 13 14 15 -0 1 2 3 5 6 7 9 10 11 12 -0 1 2 3 5 6 7 9 10 11 13 -0 1 2 3 5 6 7 9 10 11 14 -0 1 2 3 5 6 7 9 10 11 15 -0 1 2 3 5 6 7 9 10 12 13 -0 1 2 3 5 6 7 9 10 12 14 -0 1 2 3 5 6 7 9 10 12 15 -0 1 2 3 5 6 7 9 10 13 14 -0 1 2 3 5 6 7 9 10 13 15 -0 1 2 3 5 6 7 9 10 14 15 -0 1 2 3 5 6 7 9 11 12 13 -0 1 2 3 5 6 7 9 11 12 14 -0 1 2 3 5 6 7 9 11 12 15 -0 1 2 3 5 6 7 9 11 13 14 -0 1 2 3 5 6 7 9 11 13 15 -0 1 2 3 5 6 7 9 11 14 15 -0 1 2 3 5 6 7 9 12 13 14 -0 1 2 3 5 6 7 9 12 13 15 -0 1 2 3 5 6 7 9 12 14 15 -0 1 2 3 5 6 7 9 13 14 15 -0 1 2 3 5 6 7 10 11 12 13 -0 1 2 3 5 6 7 10 11 12 14 -0 1 2 3 5 6 7 10 11 12 15 -0 1 2 3 5 6 7 10 11 13 14 -0 1 2 3 5 6 7 10 11 13 15 -0 1 2 3 5 6 7 10 11 14 15 -0 1 2 3 5 6 7 10 12 13 14 -0 1 2 3 5 6 7 10 12 13 15 -0 1 2 3 5 6 7 10 12 14 15 -0 1 2 3 5 6 7 10 13 14 15 -0 1 2 3 5 6 7 11 12 13 14 -0 1 2 3 5 6 7 11 12 13 15 -0 1 2 3 5 6 7 11 12 14 15 -0 1 2 3 5 6 7 11 13 14 15 -0 1 2 3 5 6 7 12 13 14 15 -0 1 2 3 5 6 8 9 10 11 12 -0 1 2 3 5 6 8 9 10 11 13 -0 1 2 3 5 6 8 9 10 11 14 -0 1 2 3 5 6 8 9 10 11 15 -0 1 2 3 5 6 8 9 10 12 13 -0 1 2 3 5 6 8 9 10 12 14 -0 1 2 3 5 6 8 9 10 12 15 -0 1 2 3 5 6 8 9 10 13 14 -0 1 2 3 5 6 8 9 10 13 15 -0 1 2 3 5 6 8 9 10 14 15 -0 1 2 3 5 6 8 9 11 12 13 -0 1 2 3 5 6 8 9 11 12 14 -0 1 2 3 5 6 8 9 11 12 15 -0 1 2 3 5 6 8 9 11 13 14 -0 1 2 3 5 6 8 9 11 13 15 -0 1 2 3 5 6 8 9 11 14 15 -0 1 2 3 5 6 8 9 12 13 14 -0 1 2 3 5 6 8 9 12 13 15 -0 1 2 3 5 6 8 9 12 14 15 -0 1 2 3 5 6 8 9 13 14 15 -0 1 2 3 5 6 8 10 11 12 13 -0 1 2 3 5 6 8 10 11 12 14 -0 1 2 3 5 6 8 10 11 12 15 -0 1 2 3 5 6 8 10 11 13 14 -0 1 2 3 5 6 8 10 11 13 15 -0 1 2 3 5 6 8 10 11 14 15 -0 1 2 3 5 6 8 10 12 13 14 -0 1 2 3 5 6 8 10 12 13 15 -0 1 2 3 5 6 8 10 12 14 15 -0 1 2 3 5 6 8 10 13 14 15 -0 1 2 3 5 6 8 11 12 13 14 -0 1 2 3 5 6 8 11 12 13 15 -0 1 2 3 5 6 8 11 12 14 15 -0 1 2 3 5 6 8 11 13 14 15 -0 1 2 3 5 6 8 12 13 14 15 -0 1 2 3 5 6 9 10 11 12 13 -0 1 2 3 5 6 9 10 11 12 14 -0 1 2 3 5 6 9 10 11 12 15 -0 1 2 3 5 6 9 10 11 13 14 -0 1 2 3 5 6 9 10 11 13 15 -0 1 2 3 5 6 9 10 11 14 15 -0 1 2 3 5 6 9 10 12 13 14 -0 1 2 3 5 6 9 10 12 13 15 -0 1 2 3 5 6 9 10 12 14 15 -0 1 2 3 5 6 9 10 13 14 15 -0 1 2 3 5 6 9 11 12 13 14 -0 1 2 3 5 6 9 11 12 13 15 -0 1 2 3 5 6 9 11 12 14 15 -0 1 2 3 5 6 9 11 13 14 15 -0 1 2 3 5 6 9 12 13 14 15 -0 1 2 3 5 6 10 11 12 13 14 -0 1 2 3 5 6 10 11 12 13 15 -0 1 2 3 5 6 10 11 12 14 15 -0 1 2 3 5 6 10 11 13 14 15 -0 1 2 3 5 6 10 12 13 14 15 -0 1 2 3 5 6 11 12 13 14 15 -0 1 2 3 5 7 8 9 10 11 12 -0 1 2 3 5 7 8 9 10 11 13 -0 1 2 3 5 7 8 9 10 11 14 -0 1 2 3 5 7 8 9 10 11 15 -0 1 2 3 5 7 8 9 10 12 13 -0 1 2 3 5 7 8 9 10 12 14 -0 1 2 3 5 7 8 9 10 12 15 -0 1 2 3 5 7 8 9 10 13 14 -0 1 2 3 5 7 8 9 10 13 15 -0 1 2 3 5 7 8 9 10 14 15 -0 1 2 3 5 7 8 9 11 12 13 -0 1 2 3 5 7 8 9 11 12 14 -0 1 2 3 5 7 8 9 11 12 15 -0 1 2 3 5 7 8 9 11 13 14 -0 1 2 3 5 7 8 9 11 13 15 -0 1 2 3 5 7 8 9 11 14 15 -0 1 2 3 5 7 8 9 12 13 14 -0 1 2 3 5 7 8 9 12 13 15 -0 1 2 3 5 7 8 9 12 14 15 -0 1 2 3 5 7 8 9 13 14 15 -0 1 2 3 5 7 8 10 11 12 13 -0 1 2 3 5 7 8 10 11 12 14 -0 1 2 3 5 7 8 10 11 12 15 -0 1 2 3 5 7 8 10 11 13 14 -0 1 2 3 5 7 8 10 11 13 15 -0 1 2 3 5 7 8 10 11 14 15 -0 1 2 3 5 7 8 10 12 13 14 -0 1 2 3 5 7 8 10 12 13 15 -0 1 2 3 5 7 8 10 12 14 15 -0 1 2 3 5 7 8 10 13 14 15 -0 1 2 3 5 7 8 11 12 13 14 -0 1 2 3 5 7 8 11 12 13 15 -0 1 2 3 5 7 8 11 12 14 15 -0 1 2 3 5 7 8 11 13 14 15 -0 1 2 3 5 7 8 12 13 14 15 -0 1 2 3 5 7 9 10 11 12 13 -0 1 2 3 5 7 9 10 11 12 14 -0 1 2 3 5 7 9 10 11 12 15 -0 1 2 3 5 7 9 10 11 13 14 -0 1 2 3 5 7 9 10 11 13 15 -0 1 2 3 5 7 9 10 11 14 15 -0 1 2 3 5 7 9 10 12 13 14 -0 1 2 3 5 7 9 10 12 13 15 -0 1 2 3 5 7 9 10 12 14 15 -0 1 2 3 5 7 9 10 13 14 15 -0 1 2 3 5 7 9 11 12 13 14 -0 1 2 3 5 7 9 11 12 13 15 -0 1 2 3 5 7 9 11 12 14 15 -0 1 2 3 5 7 9 11 13 14 15 -0 1 2 3 5 7 9 12 13 14 15 -0 1 2 3 5 7 10 11 12 13 14 -0 1 2 3 5 7 10 11 12 13 15 -0 1 2 3 5 7 10 11 12 14 15 -0 1 2 3 5 7 10 11 13 14 15 -0 1 2 3 5 7 10 12 13 14 15 -0 1 2 3 5 7 11 12 13 14 15 -0 1 2 3 5 8 9 10 11 12 13 -0 1 2 3 5 8 9 10 11 12 14 -0 1 2 3 5 8 9 10 11 12 15 -0 1 2 3 5 8 9 10 11 13 14 -0 1 2 3 5 8 9 10 11 13 15 -0 1 2 3 5 8 9 10 11 14 15 -0 1 2 3 5 8 9 10 12 13 14 -0 1 2 3 5 8 9 10 12 13 15 -0 1 2 3 5 8 9 10 12 14 15 -0 1 2 3 5 8 9 10 13 14 15 -0 1 2 3 5 8 9 11 12 13 14 -0 1 2 3 5 8 9 11 12 13 15 -0 1 2 3 5 8 9 11 12 14 15 -0 1 2 3 5 8 9 11 13 14 15 -0 1 2 3 5 8 9 12 13 14 15 -0 1 2 3 5 8 10 11 12 13 14 -0 1 2 3 5 8 10 11 12 13 15 -0 1 2 3 5 8 10 11 12 14 15 -0 1 2 3 5 8 10 11 13 14 15 -0 1 2 3 5 8 10 12 13 14 15 -0 1 2 3 5 8 11 12 13 14 15 -0 1 2 3 5 9 10 11 12 13 14 -0 1 2 3 5 9 10 11 12 13 15 -0 1 2 3 5 9 10 11 12 14 15 -0 1 2 3 5 9 10 11 13 14 15 -0 1 2 3 5 9 10 12 13 14 15 -0 1 2 3 5 9 11 12 13 14 15 -0 1 2 3 5 10 11 12 13 14 15 -0 1 2 3 6 7 8 9 10 11 12 -0 1 2 3 6 7 8 9 10 11 13 -0 1 2 3 6 7 8 9 10 11 14 -0 1 2 3 6 7 8 9 10 11 15 -0 1 2 3 6 7 8 9 10 12 13 -0 1 2 3 6 7 8 9 10 12 14 -0 1 2 3 6 7 8 9 10 12 15 -0 1 2 3 6 7 8 9 10 13 14 -0 1 2 3 6 7 8 9 10 13 15 -0 1 2 3 6 7 8 9 10 14 15 -0 1 2 3 6 7 8 9 11 12 13 -0 1 2 3 6 7 8 9 11 12 14 -0 1 2 3 6 7 8 9 11 12 15 -0 1 2 3 6 7 8 9 11 13 14 -0 1 2 3 6 7 8 9 11 13 15 -0 1 2 3 6 7 8 9 11 14 15 -0 1 2 3 6 7 8 9 12 13 14 -0 1 2 3 6 7 8 9 12 13 15 -0 1 2 3 6 7 8 9 12 14 15 -0 1 2 3 6 7 8 9 13 14 15 -0 1 2 3 6 7 8 10 11 12 13 -0 1 2 3 6 7 8 10 11 12 14 -0 1 2 3 6 7 8 10 11 12 15 -0 1 2 3 6 7 8 10 11 13 14 -0 1 2 3 6 7 8 10 11 13 15 -0 1 2 3 6 7 8 10 11 14 15 -0 1 2 3 6 7 8 10 12 13 14 -0 1 2 3 6 7 8 10 12 13 15 -0 1 2 3 6 7 8 10 12 14 15 -0 1 2 3 6 7 8 10 13 14 15 -0 1 2 3 6 7 8 11 12 13 14 -0 1 2 3 6 7 8 11 12 13 15 -0 1 2 3 6 7 8 11 12 14 15 -0 1 2 3 6 7 8 11 13 14 15 -0 1 2 3 6 7 8 12 13 14 15 -0 1 2 3 6 7 9 10 11 12 13 -0 1 2 3 6 7 9 10 11 12 14 -0 1 2 3 6 7 9 10 11 12 15 -0 1 2 3 6 7 9 10 11 13 14 -0 1 2 3 6 7 9 10 11 13 15 -0 1 2 3 6 7 9 10 11 14 15 -0 1 2 3 6 7 9 10 12 13 14 -0 1 2 3 6 7 9 10 12 13 15 -0 1 2 3 6 7 9 10 12 14 15 -0 1 2 3 6 7 9 10 13 14 15 -0 1 2 3 6 7 9 11 12 13 14 -0 1 2 3 6 7 9 11 12 13 15 -0 1 2 3 6 7 9 11 12 14 15 -0 1 2 3 6 7 9 11 13 14 15 -0 1 2 3 6 7 9 12 13 14 15 -0 1 2 3 6 7 10 11 12 13 14 -0 1 2 3 6 7 10 11 12 13 15 -0 1 2 3 6 7 10 11 12 14 15 -0 1 2 3 6 7 10 11 13 14 15 -0 1 2 3 6 7 10 12 13 14 15 -0 1 2 3 6 7 11 12 13 14 15 -0 1 2 3 6 8 9 10 11 12 13 -0 1 2 3 6 8 9 10 11 12 14 -0 1 2 3 6 8 9 10 11 12 15 -0 1 2 3 6 8 9 10 11 13 14 -0 1 2 3 6 8 9 10 11 13 15 -0 1 2 3 6 8 9 10 11 14 15 -0 1 2 3 6 8 9 10 12 13 14 -0 1 2 3 6 8 9 10 12 13 15 -0 1 2 3 6 8 9 10 12 14 15 -0 1 2 3 6 8 9 10 13 14 15 -0 1 2 3 6 8 9 11 12 13 14 -0 1 2 3 6 8 9 11 12 13 15 -0 1 2 3 6 8 9 11 12 14 15 -0 1 2 3 6 8 9 11 13 14 15 -0 1 2 3 6 8 9 12 13 14 15 -0 1 2 3 6 8 10 11 12 13 14 -0 1 2 3 6 8 10 11 12 13 15 -0 1 2 3 6 8 10 11 12 14 15 -0 1 2 3 6 8 10 11 13 14 15 -0 1 2 3 6 8 10 12 13 14 15 -0 1 2 3 6 8 11 12 13 14 15 -0 1 2 3 6 9 10 11 12 13 14 -0 1 2 3 6 9 10 11 12 13 15 -0 1 2 3 6 9 10 11 12 14 15 -0 1 2 3 6 9 10 11 13 14 15 -0 1 2 3 6 9 10 12 13 14 15 -0 1 2 3 6 9 11 12 13 14 15 -0 1 2 3 6 10 11 12 13 14 15 -0 1 2 3 7 8 9 10 11 12 13 -0 1 2 3 7 8 9 10 11 12 14 -0 1 2 3 7 8 9 10 11 12 15 -0 1 2 3 7 8 9 10 11 13 14 -0 1 2 3 7 8 9 10 11 13 15 -0 1 2 3 7 8 9 10 11 14 15 -0 1 2 3 7 8 9 10 12 13 14 -0 1 2 3 7 8 9 10 12 13 15 -0 1 2 3 7 8 9 10 12 14 15 -0 1 2 3 7 8 9 10 13 14 15 -0 1 2 3 7 8 9 11 12 13 14 -0 1 2 3 7 8 9 11 12 13 15 -0 1 2 3 7 8 9 11 12 14 15 -0 1 2 3 7 8 9 11 13 14 15 -0 1 2 3 7 8 9 12 13 14 15 -0 1 2 3 7 8 10 11 12 13 14 -0 1 2 3 7 8 10 11 12 13 15 -0 1 2 3 7 8 10 11 12 14 15 -0 1 2 3 7 8 10 11 13 14 15 -0 1 2 3 7 8 10 12 13 14 15 -0 1 2 3 7 8 11 12 13 14 15 -0 1 2 3 7 9 10 11 12 13 14 -0 1 2 3 7 9 10 11 12 13 15 -0 1 2 3 7 9 10 11 12 14 15 -0 1 2 3 7 9 10 11 13 14 15 -0 1 2 3 7 9 10 12 13 14 15 -0 1 2 3 7 9 11 12 13 14 15 -0 1 2 3 7 10 11 12 13 14 15 -0 1 2 3 8 9 10 11 12 13 14 -0 1 2 3 8 9 10 11 12 13 15 -0 1 2 3 8 9 10 11 12 14 15 -0 1 2 3 8 9 10 11 13 14 15 -0 1 2 3 8 9 10 12 13 14 15 -0 1 2 3 8 9 11 12 13 14 15 -0 1 2 3 8 10 11 12 13 14 15 -0 1 2 3 9 10 11 12 13 14 15 -0 1 2 4 5 6 7 8 9 10 11 -0 1 2 4 5 6 7 8 9 10 12 -0 1 2 4 5 6 7 8 9 10 13 -0 1 2 4 5 6 7 8 9 10 14 -0 1 2 4 5 6 7 8 9 10 15 -0 1 2 4 5 6 7 8 9 11 12 -0 1 2 4 5 6 7 8 9 11 13 -0 1 2 4 5 6 7 8 9 11 14 -0 1 2 4 5 6 7 8 9 11 15 -0 1 2 4 5 6 7 8 9 12 13 -0 1 2 4 5 6 7 8 9 12 14 -0 1 2 4 5 6 7 8 9 12 15 -0 1 2 4 5 6 7 8 9 13 14 -0 1 2 4 5 6 7 8 9 13 15 -0 1 2 4 5 6 7 8 9 14 15 -0 1 2 4 5 6 7 8 10 11 12 -0 1 2 4 5 6 7 8 10 11 13 -0 1 2 4 5 6 7 8 10 11 14 -0 1 2 4 5 6 7 8 10 11 15 -0 1 2 4 5 6 7 8 10 12 13 -0 1 2 4 5 6 7 8 10 12 14 -0 1 2 4 5 6 7 8 10 12 15 -0 1 2 4 5 6 7 8 10 13 14 -0 1 2 4 5 6 7 8 10 13 15 -0 1 2 4 5 6 7 8 10 14 15 -0 1 2 4 5 6 7 8 11 12 13 -0 1 2 4 5 6 7 8 11 12 14 -0 1 2 4 5 6 7 8 11 12 15 -0 1 2 4 5 6 7 8 11 13 14 -0 1 2 4 5 6 7 8 11 13 15 -0 1 2 4 5 6 7 8 11 14 15 -0 1 2 4 5 6 7 8 12 13 14 -0 1 2 4 5 6 7 8 12 13 15 -0 1 2 4 5 6 7 8 12 14 15 -0 1 2 4 5 6 7 8 13 14 15 -0 1 2 4 5 6 7 9 10 11 12 -0 1 2 4 5 6 7 9 10 11 13 -0 1 2 4 5 6 7 9 10 11 14 -0 1 2 4 5 6 7 9 10 11 15 -0 1 2 4 5 6 7 9 10 12 13 -0 1 2 4 5 6 7 9 10 12 14 -0 1 2 4 5 6 7 9 10 12 15 -0 1 2 4 5 6 7 9 10 13 14 -0 1 2 4 5 6 7 9 10 13 15 -0 1 2 4 5 6 7 9 10 14 15 -0 1 2 4 5 6 7 9 11 12 13 -0 1 2 4 5 6 7 9 11 12 14 -0 1 2 4 5 6 7 9 11 12 15 -0 1 2 4 5 6 7 9 11 13 14 -0 1 2 4 5 6 7 9 11 13 15 -0 1 2 4 5 6 7 9 11 14 15 -0 1 2 4 5 6 7 9 12 13 14 -0 1 2 4 5 6 7 9 12 13 15 -0 1 2 4 5 6 7 9 12 14 15 -0 1 2 4 5 6 7 9 13 14 15 -0 1 2 4 5 6 7 10 11 12 13 -0 1 2 4 5 6 7 10 11 12 14 -0 1 2 4 5 6 7 10 11 12 15 -0 1 2 4 5 6 7 10 11 13 14 -0 1 2 4 5 6 7 10 11 13 15 -0 1 2 4 5 6 7 10 11 14 15 -0 1 2 4 5 6 7 10 12 13 14 -0 1 2 4 5 6 7 10 12 13 15 -0 1 2 4 5 6 7 10 12 14 15 -0 1 2 4 5 6 7 10 13 14 15 -0 1 2 4 5 6 7 11 12 13 14 -0 1 2 4 5 6 7 11 12 13 15 -0 1 2 4 5 6 7 11 12 14 15 -0 1 2 4 5 6 7 11 13 14 15 -0 1 2 4 5 6 7 12 13 14 15 -0 1 2 4 5 6 8 9 10 11 12 -0 1 2 4 5 6 8 9 10 11 13 -0 1 2 4 5 6 8 9 10 11 14 -0 1 2 4 5 6 8 9 10 11 15 -0 1 2 4 5 6 8 9 10 12 13 -0 1 2 4 5 6 8 9 10 12 14 -0 1 2 4 5 6 8 9 10 12 15 -0 1 2 4 5 6 8 9 10 13 14 -0 1 2 4 5 6 8 9 10 13 15 -0 1 2 4 5 6 8 9 10 14 15 -0 1 2 4 5 6 8 9 11 12 13 -0 1 2 4 5 6 8 9 11 12 14 -0 1 2 4 5 6 8 9 11 12 15 -0 1 2 4 5 6 8 9 11 13 14 -0 1 2 4 5 6 8 9 11 13 15 -0 1 2 4 5 6 8 9 11 14 15 -0 1 2 4 5 6 8 9 12 13 14 -0 1 2 4 5 6 8 9 12 13 15 -0 1 2 4 5 6 8 9 12 14 15 -0 1 2 4 5 6 8 9 13 14 15 -0 1 2 4 5 6 8 10 11 12 13 -0 1 2 4 5 6 8 10 11 12 14 -0 1 2 4 5 6 8 10 11 12 15 -0 1 2 4 5 6 8 10 11 13 14 -0 1 2 4 5 6 8 10 11 13 15 -0 1 2 4 5 6 8 10 11 14 15 -0 1 2 4 5 6 8 10 12 13 14 -0 1 2 4 5 6 8 10 12 13 15 -0 1 2 4 5 6 8 10 12 14 15 -0 1 2 4 5 6 8 10 13 14 15 -0 1 2 4 5 6 8 11 12 13 14 -0 1 2 4 5 6 8 11 12 13 15 -0 1 2 4 5 6 8 11 12 14 15 -0 1 2 4 5 6 8 11 13 14 15 -0 1 2 4 5 6 8 12 13 14 15 -0 1 2 4 5 6 9 10 11 12 13 -0 1 2 4 5 6 9 10 11 12 14 -0 1 2 4 5 6 9 10 11 12 15 -0 1 2 4 5 6 9 10 11 13 14 -0 1 2 4 5 6 9 10 11 13 15 -0 1 2 4 5 6 9 10 11 14 15 -0 1 2 4 5 6 9 10 12 13 14 -0 1 2 4 5 6 9 10 12 13 15 -0 1 2 4 5 6 9 10 12 14 15 -0 1 2 4 5 6 9 10 13 14 15 -0 1 2 4 5 6 9 11 12 13 14 -0 1 2 4 5 6 9 11 12 13 15 -0 1 2 4 5 6 9 11 12 14 15 -0 1 2 4 5 6 9 11 13 14 15 -0 1 2 4 5 6 9 12 13 14 15 -0 1 2 4 5 6 10 11 12 13 14 -0 1 2 4 5 6 10 11 12 13 15 -0 1 2 4 5 6 10 11 12 14 15 -0 1 2 4 5 6 10 11 13 14 15 -0 1 2 4 5 6 10 12 13 14 15 -0 1 2 4 5 6 11 12 13 14 15 -0 1 2 4 5 7 8 9 10 11 12 -0 1 2 4 5 7 8 9 10 11 13 -0 1 2 4 5 7 8 9 10 11 14 -0 1 2 4 5 7 8 9 10 11 15 -0 1 2 4 5 7 8 9 10 12 13 -0 1 2 4 5 7 8 9 10 12 14 -0 1 2 4 5 7 8 9 10 12 15 -0 1 2 4 5 7 8 9 10 13 14 -0 1 2 4 5 7 8 9 10 13 15 -0 1 2 4 5 7 8 9 10 14 15 -0 1 2 4 5 7 8 9 11 12 13 -0 1 2 4 5 7 8 9 11 12 14 -0 1 2 4 5 7 8 9 11 12 15 -0 1 2 4 5 7 8 9 11 13 14 -0 1 2 4 5 7 8 9 11 13 15 -0 1 2 4 5 7 8 9 11 14 15 -0 1 2 4 5 7 8 9 12 13 14 -0 1 2 4 5 7 8 9 12 13 15 -0 1 2 4 5 7 8 9 12 14 15 -0 1 2 4 5 7 8 9 13 14 15 -0 1 2 4 5 7 8 10 11 12 13 -0 1 2 4 5 7 8 10 11 12 14 -0 1 2 4 5 7 8 10 11 12 15 -0 1 2 4 5 7 8 10 11 13 14 -0 1 2 4 5 7 8 10 11 13 15 -0 1 2 4 5 7 8 10 11 14 15 -0 1 2 4 5 7 8 10 12 13 14 -0 1 2 4 5 7 8 10 12 13 15 -0 1 2 4 5 7 8 10 12 14 15 -0 1 2 4 5 7 8 10 13 14 15 -0 1 2 4 5 7 8 11 12 13 14 -0 1 2 4 5 7 8 11 12 13 15 -0 1 2 4 5 7 8 11 12 14 15 -0 1 2 4 5 7 8 11 13 14 15 -0 1 2 4 5 7 8 12 13 14 15 -0 1 2 4 5 7 9 10 11 12 13 -0 1 2 4 5 7 9 10 11 12 14 -0 1 2 4 5 7 9 10 11 12 15 -0 1 2 4 5 7 9 10 11 13 14 -0 1 2 4 5 7 9 10 11 13 15 -0 1 2 4 5 7 9 10 11 14 15 -0 1 2 4 5 7 9 10 12 13 14 -0 1 2 4 5 7 9 10 12 13 15 -0 1 2 4 5 7 9 10 12 14 15 -0 1 2 4 5 7 9 10 13 14 15 -0 1 2 4 5 7 9 11 12 13 14 -0 1 2 4 5 7 9 11 12 13 15 -0 1 2 4 5 7 9 11 12 14 15 -0 1 2 4 5 7 9 11 13 14 15 -0 1 2 4 5 7 9 12 13 14 15 -0 1 2 4 5 7 10 11 12 13 14 -0 1 2 4 5 7 10 11 12 13 15 -0 1 2 4 5 7 10 11 12 14 15 -0 1 2 4 5 7 10 11 13 14 15 -0 1 2 4 5 7 10 12 13 14 15 -0 1 2 4 5 7 11 12 13 14 15 -0 1 2 4 5 8 9 10 11 12 13 -0 1 2 4 5 8 9 10 11 12 14 -0 1 2 4 5 8 9 10 11 12 15 -0 1 2 4 5 8 9 10 11 13 14 -0 1 2 4 5 8 9 10 11 13 15 -0 1 2 4 5 8 9 10 11 14 15 -0 1 2 4 5 8 9 10 12 13 14 -0 1 2 4 5 8 9 10 12 13 15 -0 1 2 4 5 8 9 10 12 14 15 -0 1 2 4 5 8 9 10 13 14 15 -0 1 2 4 5 8 9 11 12 13 14 -0 1 2 4 5 8 9 11 12 13 15 -0 1 2 4 5 8 9 11 12 14 15 -0 1 2 4 5 8 9 11 13 14 15 -0 1 2 4 5 8 9 12 13 14 15 -0 1 2 4 5 8 10 11 12 13 14 -0 1 2 4 5 8 10 11 12 13 15 -0 1 2 4 5 8 10 11 12 14 15 -0 1 2 4 5 8 10 11 13 14 15 -0 1 2 4 5 8 10 12 13 14 15 -0 1 2 4 5 8 11 12 13 14 15 -0 1 2 4 5 9 10 11 12 13 14 -0 1 2 4 5 9 10 11 12 13 15 -0 1 2 4 5 9 10 11 12 14 15 -0 1 2 4 5 9 10 11 13 14 15 -0 1 2 4 5 9 10 12 13 14 15 -0 1 2 4 5 9 11 12 13 14 15 -0 1 2 4 5 10 11 12 13 14 15 -0 1 2 4 6 7 8 9 10 11 12 -0 1 2 4 6 7 8 9 10 11 13 -0 1 2 4 6 7 8 9 10 11 14 -0 1 2 4 6 7 8 9 10 11 15 -0 1 2 4 6 7 8 9 10 12 13 -0 1 2 4 6 7 8 9 10 12 14 -0 1 2 4 6 7 8 9 10 12 15 -0 1 2 4 6 7 8 9 10 13 14 -0 1 2 4 6 7 8 9 10 13 15 -0 1 2 4 6 7 8 9 10 14 15 -0 1 2 4 6 7 8 9 11 12 13 -0 1 2 4 6 7 8 9 11 12 14 -0 1 2 4 6 7 8 9 11 12 15 -0 1 2 4 6 7 8 9 11 13 14 -0 1 2 4 6 7 8 9 11 13 15 -0 1 2 4 6 7 8 9 11 14 15 -0 1 2 4 6 7 8 9 12 13 14 -0 1 2 4 6 7 8 9 12 13 15 -0 1 2 4 6 7 8 9 12 14 15 -0 1 2 4 6 7 8 9 13 14 15 -0 1 2 4 6 7 8 10 11 12 13 -0 1 2 4 6 7 8 10 11 12 14 -0 1 2 4 6 7 8 10 11 12 15 -0 1 2 4 6 7 8 10 11 13 14 -0 1 2 4 6 7 8 10 11 13 15 -0 1 2 4 6 7 8 10 11 14 15 -0 1 2 4 6 7 8 10 12 13 14 -0 1 2 4 6 7 8 10 12 13 15 -0 1 2 4 6 7 8 10 12 14 15 -0 1 2 4 6 7 8 10 13 14 15 -0 1 2 4 6 7 8 11 12 13 14 -0 1 2 4 6 7 8 11 12 13 15 -0 1 2 4 6 7 8 11 12 14 15 -0 1 2 4 6 7 8 11 13 14 15 -0 1 2 4 6 7 8 12 13 14 15 -0 1 2 4 6 7 9 10 11 12 13 -0 1 2 4 6 7 9 10 11 12 14 -0 1 2 4 6 7 9 10 11 12 15 -0 1 2 4 6 7 9 10 11 13 14 -0 1 2 4 6 7 9 10 11 13 15 -0 1 2 4 6 7 9 10 11 14 15 -0 1 2 4 6 7 9 10 12 13 14 -0 1 2 4 6 7 9 10 12 13 15 -0 1 2 4 6 7 9 10 12 14 15 -0 1 2 4 6 7 9 10 13 14 15 -0 1 2 4 6 7 9 11 12 13 14 -0 1 2 4 6 7 9 11 12 13 15 -0 1 2 4 6 7 9 11 12 14 15 -0 1 2 4 6 7 9 11 13 14 15 -0 1 2 4 6 7 9 12 13 14 15 -0 1 2 4 6 7 10 11 12 13 14 -0 1 2 4 6 7 10 11 12 13 15 -0 1 2 4 6 7 10 11 12 14 15 -0 1 2 4 6 7 10 11 13 14 15 -0 1 2 4 6 7 10 12 13 14 15 -0 1 2 4 6 7 11 12 13 14 15 -0 1 2 4 6 8 9 10 11 12 13 -0 1 2 4 6 8 9 10 11 12 14 -0 1 2 4 6 8 9 10 11 12 15 -0 1 2 4 6 8 9 10 11 13 14 -0 1 2 4 6 8 9 10 11 13 15 -0 1 2 4 6 8 9 10 11 14 15 -0 1 2 4 6 8 9 10 12 13 14 -0 1 2 4 6 8 9 10 12 13 15 -0 1 2 4 6 8 9 10 12 14 15 -0 1 2 4 6 8 9 10 13 14 15 -0 1 2 4 6 8 9 11 12 13 14 -0 1 2 4 6 8 9 11 12 13 15 -0 1 2 4 6 8 9 11 12 14 15 -0 1 2 4 6 8 9 11 13 14 15 -0 1 2 4 6 8 9 12 13 14 15 -0 1 2 4 6 8 10 11 12 13 14 -0 1 2 4 6 8 10 11 12 13 15 -0 1 2 4 6 8 10 11 12 14 15 -0 1 2 4 6 8 10 11 13 14 15 -0 1 2 4 6 8 10 12 13 14 15 -0 1 2 4 6 8 11 12 13 14 15 -0 1 2 4 6 9 10 11 12 13 14 -0 1 2 4 6 9 10 11 12 13 15 -0 1 2 4 6 9 10 11 12 14 15 -0 1 2 4 6 9 10 11 13 14 15 -0 1 2 4 6 9 10 12 13 14 15 -0 1 2 4 6 9 11 12 13 14 15 -0 1 2 4 6 10 11 12 13 14 15 -0 1 2 4 7 8 9 10 11 12 13 -0 1 2 4 7 8 9 10 11 12 14 -0 1 2 4 7 8 9 10 11 12 15 -0 1 2 4 7 8 9 10 11 13 14 -0 1 2 4 7 8 9 10 11 13 15 -0 1 2 4 7 8 9 10 11 14 15 -0 1 2 4 7 8 9 10 12 13 14 -0 1 2 4 7 8 9 10 12 13 15 -0 1 2 4 7 8 9 10 12 14 15 -0 1 2 4 7 8 9 10 13 14 15 -0 1 2 4 7 8 9 11 12 13 14 -0 1 2 4 7 8 9 11 12 13 15 -0 1 2 4 7 8 9 11 12 14 15 -0 1 2 4 7 8 9 11 13 14 15 -0 1 2 4 7 8 9 12 13 14 15 -0 1 2 4 7 8 10 11 12 13 14 -0 1 2 4 7 8 10 11 12 13 15 -0 1 2 4 7 8 10 11 12 14 15 -0 1 2 4 7 8 10 11 13 14 15 -0 1 2 4 7 8 10 12 13 14 15 -0 1 2 4 7 8 11 12 13 14 15 -0 1 2 4 7 9 10 11 12 13 14 -0 1 2 4 7 9 10 11 12 13 15 -0 1 2 4 7 9 10 11 12 14 15 -0 1 2 4 7 9 10 11 13 14 15 -0 1 2 4 7 9 10 12 13 14 15 -0 1 2 4 7 9 11 12 13 14 15 -0 1 2 4 7 10 11 12 13 14 15 -0 1 2 4 8 9 10 11 12 13 14 -0 1 2 4 8 9 10 11 12 13 15 -0 1 2 4 8 9 10 11 12 14 15 -0 1 2 4 8 9 10 11 13 14 15 -0 1 2 4 8 9 10 12 13 14 15 -0 1 2 4 8 9 11 12 13 14 15 -0 1 2 4 8 10 11 12 13 14 15 -0 1 2 4 9 10 11 12 13 14 15 -0 1 2 5 6 7 8 9 10 11 12 -0 1 2 5 6 7 8 9 10 11 13 -0 1 2 5 6 7 8 9 10 11 14 -0 1 2 5 6 7 8 9 10 11 15 -0 1 2 5 6 7 8 9 10 12 13 -0 1 2 5 6 7 8 9 10 12 14 -0 1 2 5 6 7 8 9 10 12 15 -0 1 2 5 6 7 8 9 10 13 14 -0 1 2 5 6 7 8 9 10 13 15 -0 1 2 5 6 7 8 9 10 14 15 -0 1 2 5 6 7 8 9 11 12 13 -0 1 2 5 6 7 8 9 11 12 14 -0 1 2 5 6 7 8 9 11 12 15 -0 1 2 5 6 7 8 9 11 13 14 -0 1 2 5 6 7 8 9 11 13 15 -0 1 2 5 6 7 8 9 11 14 15 -0 1 2 5 6 7 8 9 12 13 14 -0 1 2 5 6 7 8 9 12 13 15 -0 1 2 5 6 7 8 9 12 14 15 -0 1 2 5 6 7 8 9 13 14 15 -0 1 2 5 6 7 8 10 11 12 13 -0 1 2 5 6 7 8 10 11 12 14 -0 1 2 5 6 7 8 10 11 12 15 -0 1 2 5 6 7 8 10 11 13 14 -0 1 2 5 6 7 8 10 11 13 15 -0 1 2 5 6 7 8 10 11 14 15 -0 1 2 5 6 7 8 10 12 13 14 -0 1 2 5 6 7 8 10 12 13 15 -0 1 2 5 6 7 8 10 12 14 15 -0 1 2 5 6 7 8 10 13 14 15 -0 1 2 5 6 7 8 11 12 13 14 -0 1 2 5 6 7 8 11 12 13 15 -0 1 2 5 6 7 8 11 12 14 15 -0 1 2 5 6 7 8 11 13 14 15 -0 1 2 5 6 7 8 12 13 14 15 -0 1 2 5 6 7 9 10 11 12 13 -0 1 2 5 6 7 9 10 11 12 14 -0 1 2 5 6 7 9 10 11 12 15 -0 1 2 5 6 7 9 10 11 13 14 -0 1 2 5 6 7 9 10 11 13 15 -0 1 2 5 6 7 9 10 11 14 15 -0 1 2 5 6 7 9 10 12 13 14 -0 1 2 5 6 7 9 10 12 13 15 -0 1 2 5 6 7 9 10 12 14 15 -0 1 2 5 6 7 9 10 13 14 15 -0 1 2 5 6 7 9 11 12 13 14 -0 1 2 5 6 7 9 11 12 13 15 -0 1 2 5 6 7 9 11 12 14 15 -0 1 2 5 6 7 9 11 13 14 15 -0 1 2 5 6 7 9 12 13 14 15 -0 1 2 5 6 7 10 11 12 13 14 -0 1 2 5 6 7 10 11 12 13 15 -0 1 2 5 6 7 10 11 12 14 15 -0 1 2 5 6 7 10 11 13 14 15 -0 1 2 5 6 7 10 12 13 14 15 -0 1 2 5 6 7 11 12 13 14 15 -0 1 2 5 6 8 9 10 11 12 13 -0 1 2 5 6 8 9 10 11 12 14 -0 1 2 5 6 8 9 10 11 12 15 -0 1 2 5 6 8 9 10 11 13 14 -0 1 2 5 6 8 9 10 11 13 15 -0 1 2 5 6 8 9 10 11 14 15 -0 1 2 5 6 8 9 10 12 13 14 -0 1 2 5 6 8 9 10 12 13 15 -0 1 2 5 6 8 9 10 12 14 15 -0 1 2 5 6 8 9 10 13 14 15 -0 1 2 5 6 8 9 11 12 13 14 -0 1 2 5 6 8 9 11 12 13 15 -0 1 2 5 6 8 9 11 12 14 15 -0 1 2 5 6 8 9 11 13 14 15 -0 1 2 5 6 8 9 12 13 14 15 -0 1 2 5 6 8 10 11 12 13 14 -0 1 2 5 6 8 10 11 12 13 15 -0 1 2 5 6 8 10 11 12 14 15 -0 1 2 5 6 8 10 11 13 14 15 -0 1 2 5 6 8 10 12 13 14 15 -0 1 2 5 6 8 11 12 13 14 15 -0 1 2 5 6 9 10 11 12 13 14 -0 1 2 5 6 9 10 11 12 13 15 -0 1 2 5 6 9 10 11 12 14 15 -0 1 2 5 6 9 10 11 13 14 15 -0 1 2 5 6 9 10 12 13 14 15 -0 1 2 5 6 9 11 12 13 14 15 -0 1 2 5 6 10 11 12 13 14 15 -0 1 2 5 7 8 9 10 11 12 13 -0 1 2 5 7 8 9 10 11 12 14 -0 1 2 5 7 8 9 10 11 12 15 -0 1 2 5 7 8 9 10 11 13 14 -0 1 2 5 7 8 9 10 11 13 15 -0 1 2 5 7 8 9 10 11 14 15 -0 1 2 5 7 8 9 10 12 13 14 -0 1 2 5 7 8 9 10 12 13 15 -0 1 2 5 7 8 9 10 12 14 15 -0 1 2 5 7 8 9 10 13 14 15 -0 1 2 5 7 8 9 11 12 13 14 -0 1 2 5 7 8 9 11 12 13 15 -0 1 2 5 7 8 9 11 12 14 15 -0 1 2 5 7 8 9 11 13 14 15 -0 1 2 5 7 8 9 12 13 14 15 -0 1 2 5 7 8 10 11 12 13 14 -0 1 2 5 7 8 10 11 12 13 15 -0 1 2 5 7 8 10 11 12 14 15 -0 1 2 5 7 8 10 11 13 14 15 -0 1 2 5 7 8 10 12 13 14 15 -0 1 2 5 7 8 11 12 13 14 15 -0 1 2 5 7 9 10 11 12 13 14 -0 1 2 5 7 9 10 11 12 13 15 -0 1 2 5 7 9 10 11 12 14 15 -0 1 2 5 7 9 10 11 13 14 15 -0 1 2 5 7 9 10 12 13 14 15 -0 1 2 5 7 9 11 12 13 14 15 -0 1 2 5 7 10 11 12 13 14 15 -0 1 2 5 8 9 10 11 12 13 14 -0 1 2 5 8 9 10 11 12 13 15 -0 1 2 5 8 9 10 11 12 14 15 -0 1 2 5 8 9 10 11 13 14 15 -0 1 2 5 8 9 10 12 13 14 15 -0 1 2 5 8 9 11 12 13 14 15 -0 1 2 5 8 10 11 12 13 14 15 -0 1 2 5 9 10 11 12 13 14 15 -0 1 2 6 7 8 9 10 11 12 13 -0 1 2 6 7 8 9 10 11 12 14 -0 1 2 6 7 8 9 10 11 12 15 -0 1 2 6 7 8 9 10 11 13 14 -0 1 2 6 7 8 9 10 11 13 15 -0 1 2 6 7 8 9 10 11 14 15 -0 1 2 6 7 8 9 10 12 13 14 -0 1 2 6 7 8 9 10 12 13 15 -0 1 2 6 7 8 9 10 12 14 15 -0 1 2 6 7 8 9 10 13 14 15 -0 1 2 6 7 8 9 11 12 13 14 -0 1 2 6 7 8 9 11 12 13 15 -0 1 2 6 7 8 9 11 12 14 15 -0 1 2 6 7 8 9 11 13 14 15 -0 1 2 6 7 8 9 12 13 14 15 -0 1 2 6 7 8 10 11 12 13 14 -0 1 2 6 7 8 10 11 12 13 15 -0 1 2 6 7 8 10 11 12 14 15 -0 1 2 6 7 8 10 11 13 14 15 -0 1 2 6 7 8 10 12 13 14 15 -0 1 2 6 7 8 11 12 13 14 15 -0 1 2 6 7 9 10 11 12 13 14 -0 1 2 6 7 9 10 11 12 13 15 -0 1 2 6 7 9 10 11 12 14 15 -0 1 2 6 7 9 10 11 13 14 15 -0 1 2 6 7 9 10 12 13 14 15 -0 1 2 6 7 9 11 12 13 14 15 -0 1 2 6 7 10 11 12 13 14 15 -0 1 2 6 8 9 10 11 12 13 14 -0 1 2 6 8 9 10 11 12 13 15 -0 1 2 6 8 9 10 11 12 14 15 -0 1 2 6 8 9 10 11 13 14 15 -0 1 2 6 8 9 10 12 13 14 15 -0 1 2 6 8 9 11 12 13 14 15 -0 1 2 6 8 10 11 12 13 14 15 -0 1 2 6 9 10 11 12 13 14 15 -0 1 2 7 8 9 10 11 12 13 14 -0 1 2 7 8 9 10 11 12 13 15 -0 1 2 7 8 9 10 11 12 14 15 -0 1 2 7 8 9 10 11 13 14 15 -0 1 2 7 8 9 10 12 13 14 15 -0 1 2 7 8 9 11 12 13 14 15 -0 1 2 7 8 10 11 12 13 14 15 -0 1 2 7 9 10 11 12 13 14 15 -0 1 2 8 9 10 11 12 13 14 15 -0 1 3 4 5 6 7 8 9 10 11 -0 1 3 4 5 6 7 8 9 10 12 -0 1 3 4 5 6 7 8 9 10 13 -0 1 3 4 5 6 7 8 9 10 14 -0 1 3 4 5 6 7 8 9 10 15 -0 1 3 4 5 6 7 8 9 11 12 -0 1 3 4 5 6 7 8 9 11 13 -0 1 3 4 5 6 7 8 9 11 14 -0 1 3 4 5 6 7 8 9 11 15 -0 1 3 4 5 6 7 8 9 12 13 -0 1 3 4 5 6 7 8 9 12 14 -0 1 3 4 5 6 7 8 9 12 15 -0 1 3 4 5 6 7 8 9 13 14 -0 1 3 4 5 6 7 8 9 13 15 -0 1 3 4 5 6 7 8 9 14 15 -0 1 3 4 5 6 7 8 10 11 12 -0 1 3 4 5 6 7 8 10 11 13 -0 1 3 4 5 6 7 8 10 11 14 -0 1 3 4 5 6 7 8 10 11 15 -0 1 3 4 5 6 7 8 10 12 13 -0 1 3 4 5 6 7 8 10 12 14 -0 1 3 4 5 6 7 8 10 12 15 -0 1 3 4 5 6 7 8 10 13 14 -0 1 3 4 5 6 7 8 10 13 15 -0 1 3 4 5 6 7 8 10 14 15 -0 1 3 4 5 6 7 8 11 12 13 -0 1 3 4 5 6 7 8 11 12 14 -0 1 3 4 5 6 7 8 11 12 15 -0 1 3 4 5 6 7 8 11 13 14 -0 1 3 4 5 6 7 8 11 13 15 -0 1 3 4 5 6 7 8 11 14 15 -0 1 3 4 5 6 7 8 12 13 14 -0 1 3 4 5 6 7 8 12 13 15 -0 1 3 4 5 6 7 8 12 14 15 -0 1 3 4 5 6 7 8 13 14 15 -0 1 3 4 5 6 7 9 10 11 12 -0 1 3 4 5 6 7 9 10 11 13 -0 1 3 4 5 6 7 9 10 11 14 -0 1 3 4 5 6 7 9 10 11 15 -0 1 3 4 5 6 7 9 10 12 13 -0 1 3 4 5 6 7 9 10 12 14 -0 1 3 4 5 6 7 9 10 12 15 -0 1 3 4 5 6 7 9 10 13 14 -0 1 3 4 5 6 7 9 10 13 15 -0 1 3 4 5 6 7 9 10 14 15 -0 1 3 4 5 6 7 9 11 12 13 -0 1 3 4 5 6 7 9 11 12 14 -0 1 3 4 5 6 7 9 11 12 15 -0 1 3 4 5 6 7 9 11 13 14 -0 1 3 4 5 6 7 9 11 13 15 -0 1 3 4 5 6 7 9 11 14 15 -0 1 3 4 5 6 7 9 12 13 14 -0 1 3 4 5 6 7 9 12 13 15 -0 1 3 4 5 6 7 9 12 14 15 -0 1 3 4 5 6 7 9 13 14 15 -0 1 3 4 5 6 7 10 11 12 13 -0 1 3 4 5 6 7 10 11 12 14 -0 1 3 4 5 6 7 10 11 12 15 -0 1 3 4 5 6 7 10 11 13 14 -0 1 3 4 5 6 7 10 11 13 15 -0 1 3 4 5 6 7 10 11 14 15 -0 1 3 4 5 6 7 10 12 13 14 -0 1 3 4 5 6 7 10 12 13 15 -0 1 3 4 5 6 7 10 12 14 15 -0 1 3 4 5 6 7 10 13 14 15 -0 1 3 4 5 6 7 11 12 13 14 -0 1 3 4 5 6 7 11 12 13 15 -0 1 3 4 5 6 7 11 12 14 15 -0 1 3 4 5 6 7 11 13 14 15 -0 1 3 4 5 6 7 12 13 14 15 -0 1 3 4 5 6 8 9 10 11 12 -0 1 3 4 5 6 8 9 10 11 13 -0 1 3 4 5 6 8 9 10 11 14 -0 1 3 4 5 6 8 9 10 11 15 -0 1 3 4 5 6 8 9 10 12 13 -0 1 3 4 5 6 8 9 10 12 14 -0 1 3 4 5 6 8 9 10 12 15 -0 1 3 4 5 6 8 9 10 13 14 -0 1 3 4 5 6 8 9 10 13 15 -0 1 3 4 5 6 8 9 10 14 15 -0 1 3 4 5 6 8 9 11 12 13 -0 1 3 4 5 6 8 9 11 12 14 -0 1 3 4 5 6 8 9 11 12 15 -0 1 3 4 5 6 8 9 11 13 14 -0 1 3 4 5 6 8 9 11 13 15 -0 1 3 4 5 6 8 9 11 14 15 -0 1 3 4 5 6 8 9 12 13 14 -0 1 3 4 5 6 8 9 12 13 15 -0 1 3 4 5 6 8 9 12 14 15 -0 1 3 4 5 6 8 9 13 14 15 -0 1 3 4 5 6 8 10 11 12 13 -0 1 3 4 5 6 8 10 11 12 14 -0 1 3 4 5 6 8 10 11 12 15 -0 1 3 4 5 6 8 10 11 13 14 -0 1 3 4 5 6 8 10 11 13 15 -0 1 3 4 5 6 8 10 11 14 15 -0 1 3 4 5 6 8 10 12 13 14 -0 1 3 4 5 6 8 10 12 13 15 -0 1 3 4 5 6 8 10 12 14 15 -0 1 3 4 5 6 8 10 13 14 15 -0 1 3 4 5 6 8 11 12 13 14 -0 1 3 4 5 6 8 11 12 13 15 -0 1 3 4 5 6 8 11 12 14 15 -0 1 3 4 5 6 8 11 13 14 15 -0 1 3 4 5 6 8 12 13 14 15 -0 1 3 4 5 6 9 10 11 12 13 -0 1 3 4 5 6 9 10 11 12 14 -0 1 3 4 5 6 9 10 11 12 15 -0 1 3 4 5 6 9 10 11 13 14 -0 1 3 4 5 6 9 10 11 13 15 -0 1 3 4 5 6 9 10 11 14 15 -0 1 3 4 5 6 9 10 12 13 14 -0 1 3 4 5 6 9 10 12 13 15 -0 1 3 4 5 6 9 10 12 14 15 -0 1 3 4 5 6 9 10 13 14 15 -0 1 3 4 5 6 9 11 12 13 14 -0 1 3 4 5 6 9 11 12 13 15 -0 1 3 4 5 6 9 11 12 14 15 -0 1 3 4 5 6 9 11 13 14 15 -0 1 3 4 5 6 9 12 13 14 15 -0 1 3 4 5 6 10 11 12 13 14 -0 1 3 4 5 6 10 11 12 13 15 -0 1 3 4 5 6 10 11 12 14 15 -0 1 3 4 5 6 10 11 13 14 15 -0 1 3 4 5 6 10 12 13 14 15 -0 1 3 4 5 6 11 12 13 14 15 -0 1 3 4 5 7 8 9 10 11 12 -0 1 3 4 5 7 8 9 10 11 13 -0 1 3 4 5 7 8 9 10 11 14 -0 1 3 4 5 7 8 9 10 11 15 -0 1 3 4 5 7 8 9 10 12 13 -0 1 3 4 5 7 8 9 10 12 14 -0 1 3 4 5 7 8 9 10 12 15 -0 1 3 4 5 7 8 9 10 13 14 -0 1 3 4 5 7 8 9 10 13 15 -0 1 3 4 5 7 8 9 10 14 15 -0 1 3 4 5 7 8 9 11 12 13 -0 1 3 4 5 7 8 9 11 12 14 -0 1 3 4 5 7 8 9 11 12 15 -0 1 3 4 5 7 8 9 11 13 14 -0 1 3 4 5 7 8 9 11 13 15 -0 1 3 4 5 7 8 9 11 14 15 -0 1 3 4 5 7 8 9 12 13 14 -0 1 3 4 5 7 8 9 12 13 15 -0 1 3 4 5 7 8 9 12 14 15 -0 1 3 4 5 7 8 9 13 14 15 -0 1 3 4 5 7 8 10 11 12 13 -0 1 3 4 5 7 8 10 11 12 14 -0 1 3 4 5 7 8 10 11 12 15 -0 1 3 4 5 7 8 10 11 13 14 -0 1 3 4 5 7 8 10 11 13 15 -0 1 3 4 5 7 8 10 11 14 15 -0 1 3 4 5 7 8 10 12 13 14 -0 1 3 4 5 7 8 10 12 13 15 -0 1 3 4 5 7 8 10 12 14 15 -0 1 3 4 5 7 8 10 13 14 15 -0 1 3 4 5 7 8 11 12 13 14 -0 1 3 4 5 7 8 11 12 13 15 -0 1 3 4 5 7 8 11 12 14 15 -0 1 3 4 5 7 8 11 13 14 15 -0 1 3 4 5 7 8 12 13 14 15 -0 1 3 4 5 7 9 10 11 12 13 -0 1 3 4 5 7 9 10 11 12 14 -0 1 3 4 5 7 9 10 11 12 15 -0 1 3 4 5 7 9 10 11 13 14 -0 1 3 4 5 7 9 10 11 13 15 -0 1 3 4 5 7 9 10 11 14 15 -0 1 3 4 5 7 9 10 12 13 14 -0 1 3 4 5 7 9 10 12 13 15 -0 1 3 4 5 7 9 10 12 14 15 -0 1 3 4 5 7 9 10 13 14 15 -0 1 3 4 5 7 9 11 12 13 14 -0 1 3 4 5 7 9 11 12 13 15 -0 1 3 4 5 7 9 11 12 14 15 -0 1 3 4 5 7 9 11 13 14 15 -0 1 3 4 5 7 9 12 13 14 15 -0 1 3 4 5 7 10 11 12 13 14 -0 1 3 4 5 7 10 11 12 13 15 -0 1 3 4 5 7 10 11 12 14 15 -0 1 3 4 5 7 10 11 13 14 15 -0 1 3 4 5 7 10 12 13 14 15 -0 1 3 4 5 7 11 12 13 14 15 -0 1 3 4 5 8 9 10 11 12 13 -0 1 3 4 5 8 9 10 11 12 14 -0 1 3 4 5 8 9 10 11 12 15 -0 1 3 4 5 8 9 10 11 13 14 -0 1 3 4 5 8 9 10 11 13 15 -0 1 3 4 5 8 9 10 11 14 15 -0 1 3 4 5 8 9 10 12 13 14 -0 1 3 4 5 8 9 10 12 13 15 -0 1 3 4 5 8 9 10 12 14 15 -0 1 3 4 5 8 9 10 13 14 15 -0 1 3 4 5 8 9 11 12 13 14 -0 1 3 4 5 8 9 11 12 13 15 -0 1 3 4 5 8 9 11 12 14 15 -0 1 3 4 5 8 9 11 13 14 15 -0 1 3 4 5 8 9 12 13 14 15 -0 1 3 4 5 8 10 11 12 13 14 -0 1 3 4 5 8 10 11 12 13 15 -0 1 3 4 5 8 10 11 12 14 15 -0 1 3 4 5 8 10 11 13 14 15 -0 1 3 4 5 8 10 12 13 14 15 -0 1 3 4 5 8 11 12 13 14 15 -0 1 3 4 5 9 10 11 12 13 14 -0 1 3 4 5 9 10 11 12 13 15 -0 1 3 4 5 9 10 11 12 14 15 -0 1 3 4 5 9 10 11 13 14 15 -0 1 3 4 5 9 10 12 13 14 15 -0 1 3 4 5 9 11 12 13 14 15 -0 1 3 4 5 10 11 12 13 14 15 -0 1 3 4 6 7 8 9 10 11 12 -0 1 3 4 6 7 8 9 10 11 13 -0 1 3 4 6 7 8 9 10 11 14 -0 1 3 4 6 7 8 9 10 11 15 -0 1 3 4 6 7 8 9 10 12 13 -0 1 3 4 6 7 8 9 10 12 14 -0 1 3 4 6 7 8 9 10 12 15 -0 1 3 4 6 7 8 9 10 13 14 -0 1 3 4 6 7 8 9 10 13 15 -0 1 3 4 6 7 8 9 10 14 15 -0 1 3 4 6 7 8 9 11 12 13 -0 1 3 4 6 7 8 9 11 12 14 -0 1 3 4 6 7 8 9 11 12 15 -0 1 3 4 6 7 8 9 11 13 14 -0 1 3 4 6 7 8 9 11 13 15 -0 1 3 4 6 7 8 9 11 14 15 -0 1 3 4 6 7 8 9 12 13 14 -0 1 3 4 6 7 8 9 12 13 15 -0 1 3 4 6 7 8 9 12 14 15 -0 1 3 4 6 7 8 9 13 14 15 -0 1 3 4 6 7 8 10 11 12 13 -0 1 3 4 6 7 8 10 11 12 14 -0 1 3 4 6 7 8 10 11 12 15 -0 1 3 4 6 7 8 10 11 13 14 -0 1 3 4 6 7 8 10 11 13 15 -0 1 3 4 6 7 8 10 11 14 15 -0 1 3 4 6 7 8 10 12 13 14 -0 1 3 4 6 7 8 10 12 13 15 -0 1 3 4 6 7 8 10 12 14 15 -0 1 3 4 6 7 8 10 13 14 15 -0 1 3 4 6 7 8 11 12 13 14 -0 1 3 4 6 7 8 11 12 13 15 -0 1 3 4 6 7 8 11 12 14 15 -0 1 3 4 6 7 8 11 13 14 15 -0 1 3 4 6 7 8 12 13 14 15 -0 1 3 4 6 7 9 10 11 12 13 -0 1 3 4 6 7 9 10 11 12 14 -0 1 3 4 6 7 9 10 11 12 15 -0 1 3 4 6 7 9 10 11 13 14 -0 1 3 4 6 7 9 10 11 13 15 -0 1 3 4 6 7 9 10 11 14 15 -0 1 3 4 6 7 9 10 12 13 14 -0 1 3 4 6 7 9 10 12 13 15 -0 1 3 4 6 7 9 10 12 14 15 -0 1 3 4 6 7 9 10 13 14 15 -0 1 3 4 6 7 9 11 12 13 14 -0 1 3 4 6 7 9 11 12 13 15 -0 1 3 4 6 7 9 11 12 14 15 -0 1 3 4 6 7 9 11 13 14 15 -0 1 3 4 6 7 9 12 13 14 15 -0 1 3 4 6 7 10 11 12 13 14 -0 1 3 4 6 7 10 11 12 13 15 -0 1 3 4 6 7 10 11 12 14 15 -0 1 3 4 6 7 10 11 13 14 15 -0 1 3 4 6 7 10 12 13 14 15 -0 1 3 4 6 7 11 12 13 14 15 -0 1 3 4 6 8 9 10 11 12 13 -0 1 3 4 6 8 9 10 11 12 14 -0 1 3 4 6 8 9 10 11 12 15 -0 1 3 4 6 8 9 10 11 13 14 -0 1 3 4 6 8 9 10 11 13 15 -0 1 3 4 6 8 9 10 11 14 15 -0 1 3 4 6 8 9 10 12 13 14 -0 1 3 4 6 8 9 10 12 13 15 -0 1 3 4 6 8 9 10 12 14 15 -0 1 3 4 6 8 9 10 13 14 15 -0 1 3 4 6 8 9 11 12 13 14 -0 1 3 4 6 8 9 11 12 13 15 -0 1 3 4 6 8 9 11 12 14 15 -0 1 3 4 6 8 9 11 13 14 15 -0 1 3 4 6 8 9 12 13 14 15 -0 1 3 4 6 8 10 11 12 13 14 -0 1 3 4 6 8 10 11 12 13 15 -0 1 3 4 6 8 10 11 12 14 15 -0 1 3 4 6 8 10 11 13 14 15 -0 1 3 4 6 8 10 12 13 14 15 -0 1 3 4 6 8 11 12 13 14 15 -0 1 3 4 6 9 10 11 12 13 14 -0 1 3 4 6 9 10 11 12 13 15 -0 1 3 4 6 9 10 11 12 14 15 -0 1 3 4 6 9 10 11 13 14 15 -0 1 3 4 6 9 10 12 13 14 15 -0 1 3 4 6 9 11 12 13 14 15 -0 1 3 4 6 10 11 12 13 14 15 -0 1 3 4 7 8 9 10 11 12 13 -0 1 3 4 7 8 9 10 11 12 14 -0 1 3 4 7 8 9 10 11 12 15 -0 1 3 4 7 8 9 10 11 13 14 -0 1 3 4 7 8 9 10 11 13 15 -0 1 3 4 7 8 9 10 11 14 15 -0 1 3 4 7 8 9 10 12 13 14 -0 1 3 4 7 8 9 10 12 13 15 -0 1 3 4 7 8 9 10 12 14 15 -0 1 3 4 7 8 9 10 13 14 15 -0 1 3 4 7 8 9 11 12 13 14 -0 1 3 4 7 8 9 11 12 13 15 -0 1 3 4 7 8 9 11 12 14 15 -0 1 3 4 7 8 9 11 13 14 15 -0 1 3 4 7 8 9 12 13 14 15 -0 1 3 4 7 8 10 11 12 13 14 -0 1 3 4 7 8 10 11 12 13 15 -0 1 3 4 7 8 10 11 12 14 15 -0 1 3 4 7 8 10 11 13 14 15 -0 1 3 4 7 8 10 12 13 14 15 -0 1 3 4 7 8 11 12 13 14 15 -0 1 3 4 7 9 10 11 12 13 14 -0 1 3 4 7 9 10 11 12 13 15 -0 1 3 4 7 9 10 11 12 14 15 -0 1 3 4 7 9 10 11 13 14 15 -0 1 3 4 7 9 10 12 13 14 15 -0 1 3 4 7 9 11 12 13 14 15 -0 1 3 4 7 10 11 12 13 14 15 -0 1 3 4 8 9 10 11 12 13 14 -0 1 3 4 8 9 10 11 12 13 15 -0 1 3 4 8 9 10 11 12 14 15 -0 1 3 4 8 9 10 11 13 14 15 -0 1 3 4 8 9 10 12 13 14 15 -0 1 3 4 8 9 11 12 13 14 15 -0 1 3 4 8 10 11 12 13 14 15 -0 1 3 4 9 10 11 12 13 14 15 -0 1 3 5 6 7 8 9 10 11 12 -0 1 3 5 6 7 8 9 10 11 13 -0 1 3 5 6 7 8 9 10 11 14 -0 1 3 5 6 7 8 9 10 11 15 -0 1 3 5 6 7 8 9 10 12 13 -0 1 3 5 6 7 8 9 10 12 14 -0 1 3 5 6 7 8 9 10 12 15 -0 1 3 5 6 7 8 9 10 13 14 -0 1 3 5 6 7 8 9 10 13 15 -0 1 3 5 6 7 8 9 10 14 15 -0 1 3 5 6 7 8 9 11 12 13 -0 1 3 5 6 7 8 9 11 12 14 -0 1 3 5 6 7 8 9 11 12 15 -0 1 3 5 6 7 8 9 11 13 14 -0 1 3 5 6 7 8 9 11 13 15 -0 1 3 5 6 7 8 9 11 14 15 -0 1 3 5 6 7 8 9 12 13 14 -0 1 3 5 6 7 8 9 12 13 15 -0 1 3 5 6 7 8 9 12 14 15 -0 1 3 5 6 7 8 9 13 14 15 -0 1 3 5 6 7 8 10 11 12 13 -0 1 3 5 6 7 8 10 11 12 14 -0 1 3 5 6 7 8 10 11 12 15 -0 1 3 5 6 7 8 10 11 13 14 -0 1 3 5 6 7 8 10 11 13 15 -0 1 3 5 6 7 8 10 11 14 15 -0 1 3 5 6 7 8 10 12 13 14 -0 1 3 5 6 7 8 10 12 13 15 -0 1 3 5 6 7 8 10 12 14 15 -0 1 3 5 6 7 8 10 13 14 15 -0 1 3 5 6 7 8 11 12 13 14 -0 1 3 5 6 7 8 11 12 13 15 -0 1 3 5 6 7 8 11 12 14 15 -0 1 3 5 6 7 8 11 13 14 15 -0 1 3 5 6 7 8 12 13 14 15 -0 1 3 5 6 7 9 10 11 12 13 -0 1 3 5 6 7 9 10 11 12 14 -0 1 3 5 6 7 9 10 11 12 15 -0 1 3 5 6 7 9 10 11 13 14 -0 1 3 5 6 7 9 10 11 13 15 -0 1 3 5 6 7 9 10 11 14 15 -0 1 3 5 6 7 9 10 12 13 14 -0 1 3 5 6 7 9 10 12 13 15 -0 1 3 5 6 7 9 10 12 14 15 -0 1 3 5 6 7 9 10 13 14 15 -0 1 3 5 6 7 9 11 12 13 14 -0 1 3 5 6 7 9 11 12 13 15 -0 1 3 5 6 7 9 11 12 14 15 -0 1 3 5 6 7 9 11 13 14 15 -0 1 3 5 6 7 9 12 13 14 15 -0 1 3 5 6 7 10 11 12 13 14 -0 1 3 5 6 7 10 11 12 13 15 -0 1 3 5 6 7 10 11 12 14 15 -0 1 3 5 6 7 10 11 13 14 15 -0 1 3 5 6 7 10 12 13 14 15 -0 1 3 5 6 7 11 12 13 14 15 -0 1 3 5 6 8 9 10 11 12 13 -0 1 3 5 6 8 9 10 11 12 14 -0 1 3 5 6 8 9 10 11 12 15 -0 1 3 5 6 8 9 10 11 13 14 -0 1 3 5 6 8 9 10 11 13 15 -0 1 3 5 6 8 9 10 11 14 15 -0 1 3 5 6 8 9 10 12 13 14 -0 1 3 5 6 8 9 10 12 13 15 -0 1 3 5 6 8 9 10 12 14 15 -0 1 3 5 6 8 9 10 13 14 15 -0 1 3 5 6 8 9 11 12 13 14 -0 1 3 5 6 8 9 11 12 13 15 -0 1 3 5 6 8 9 11 12 14 15 -0 1 3 5 6 8 9 11 13 14 15 -0 1 3 5 6 8 9 12 13 14 15 -0 1 3 5 6 8 10 11 12 13 14 -0 1 3 5 6 8 10 11 12 13 15 -0 1 3 5 6 8 10 11 12 14 15 -0 1 3 5 6 8 10 11 13 14 15 -0 1 3 5 6 8 10 12 13 14 15 -0 1 3 5 6 8 11 12 13 14 15 -0 1 3 5 6 9 10 11 12 13 14 -0 1 3 5 6 9 10 11 12 13 15 -0 1 3 5 6 9 10 11 12 14 15 -0 1 3 5 6 9 10 11 13 14 15 -0 1 3 5 6 9 10 12 13 14 15 -0 1 3 5 6 9 11 12 13 14 15 -0 1 3 5 6 10 11 12 13 14 15 -0 1 3 5 7 8 9 10 11 12 13 -0 1 3 5 7 8 9 10 11 12 14 -0 1 3 5 7 8 9 10 11 12 15 -0 1 3 5 7 8 9 10 11 13 14 -0 1 3 5 7 8 9 10 11 13 15 -0 1 3 5 7 8 9 10 11 14 15 -0 1 3 5 7 8 9 10 12 13 14 -0 1 3 5 7 8 9 10 12 13 15 -0 1 3 5 7 8 9 10 12 14 15 -0 1 3 5 7 8 9 10 13 14 15 -0 1 3 5 7 8 9 11 12 13 14 -0 1 3 5 7 8 9 11 12 13 15 -0 1 3 5 7 8 9 11 12 14 15 -0 1 3 5 7 8 9 11 13 14 15 -0 1 3 5 7 8 9 12 13 14 15 -0 1 3 5 7 8 10 11 12 13 14 -0 1 3 5 7 8 10 11 12 13 15 -0 1 3 5 7 8 10 11 12 14 15 -0 1 3 5 7 8 10 11 13 14 15 -0 1 3 5 7 8 10 12 13 14 15 -0 1 3 5 7 8 11 12 13 14 15 -0 1 3 5 7 9 10 11 12 13 14 -0 1 3 5 7 9 10 11 12 13 15 -0 1 3 5 7 9 10 11 12 14 15 -0 1 3 5 7 9 10 11 13 14 15 -0 1 3 5 7 9 10 12 13 14 15 -0 1 3 5 7 9 11 12 13 14 15 -0 1 3 5 7 10 11 12 13 14 15 -0 1 3 5 8 9 10 11 12 13 14 -0 1 3 5 8 9 10 11 12 13 15 -0 1 3 5 8 9 10 11 12 14 15 -0 1 3 5 8 9 10 11 13 14 15 -0 1 3 5 8 9 10 12 13 14 15 -0 1 3 5 8 9 11 12 13 14 15 -0 1 3 5 8 10 11 12 13 14 15 -0 1 3 5 9 10 11 12 13 14 15 -0 1 3 6 7 8 9 10 11 12 13 -0 1 3 6 7 8 9 10 11 12 14 -0 1 3 6 7 8 9 10 11 12 15 -0 1 3 6 7 8 9 10 11 13 14 -0 1 3 6 7 8 9 10 11 13 15 -0 1 3 6 7 8 9 10 11 14 15 -0 1 3 6 7 8 9 10 12 13 14 -0 1 3 6 7 8 9 10 12 13 15 -0 1 3 6 7 8 9 10 12 14 15 -0 1 3 6 7 8 9 10 13 14 15 -0 1 3 6 7 8 9 11 12 13 14 -0 1 3 6 7 8 9 11 12 13 15 -0 1 3 6 7 8 9 11 12 14 15 -0 1 3 6 7 8 9 11 13 14 15 -0 1 3 6 7 8 9 12 13 14 15 -0 1 3 6 7 8 10 11 12 13 14 -0 1 3 6 7 8 10 11 12 13 15 -0 1 3 6 7 8 10 11 12 14 15 -0 1 3 6 7 8 10 11 13 14 15 -0 1 3 6 7 8 10 12 13 14 15 -0 1 3 6 7 8 11 12 13 14 15 -0 1 3 6 7 9 10 11 12 13 14 -0 1 3 6 7 9 10 11 12 13 15 -0 1 3 6 7 9 10 11 12 14 15 -0 1 3 6 7 9 10 11 13 14 15 -0 1 3 6 7 9 10 12 13 14 15 -0 1 3 6 7 9 11 12 13 14 15 -0 1 3 6 7 10 11 12 13 14 15 -0 1 3 6 8 9 10 11 12 13 14 -0 1 3 6 8 9 10 11 12 13 15 -0 1 3 6 8 9 10 11 12 14 15 -0 1 3 6 8 9 10 11 13 14 15 -0 1 3 6 8 9 10 12 13 14 15 -0 1 3 6 8 9 11 12 13 14 15 -0 1 3 6 8 10 11 12 13 14 15 -0 1 3 6 9 10 11 12 13 14 15 -0 1 3 7 8 9 10 11 12 13 14 -0 1 3 7 8 9 10 11 12 13 15 -0 1 3 7 8 9 10 11 12 14 15 -0 1 3 7 8 9 10 11 13 14 15 -0 1 3 7 8 9 10 12 13 14 15 -0 1 3 7 8 9 11 12 13 14 15 -0 1 3 7 8 10 11 12 13 14 15 -0 1 3 7 9 10 11 12 13 14 15 -0 1 3 8 9 10 11 12 13 14 15 -0 1 4 5 6 7 8 9 10 11 12 -0 1 4 5 6 7 8 9 10 11 13 -0 1 4 5 6 7 8 9 10 11 14 -0 1 4 5 6 7 8 9 10 11 15 -0 1 4 5 6 7 8 9 10 12 13 -0 1 4 5 6 7 8 9 10 12 14 -0 1 4 5 6 7 8 9 10 12 15 -0 1 4 5 6 7 8 9 10 13 14 -0 1 4 5 6 7 8 9 10 13 15 -0 1 4 5 6 7 8 9 10 14 15 -0 1 4 5 6 7 8 9 11 12 13 -0 1 4 5 6 7 8 9 11 12 14 -0 1 4 5 6 7 8 9 11 12 15 -0 1 4 5 6 7 8 9 11 13 14 -0 1 4 5 6 7 8 9 11 13 15 -0 1 4 5 6 7 8 9 11 14 15 -0 1 4 5 6 7 8 9 12 13 14 -0 1 4 5 6 7 8 9 12 13 15 -0 1 4 5 6 7 8 9 12 14 15 -0 1 4 5 6 7 8 9 13 14 15 -0 1 4 5 6 7 8 10 11 12 13 -0 1 4 5 6 7 8 10 11 12 14 -0 1 4 5 6 7 8 10 11 12 15 -0 1 4 5 6 7 8 10 11 13 14 -0 1 4 5 6 7 8 10 11 13 15 -0 1 4 5 6 7 8 10 11 14 15 -0 1 4 5 6 7 8 10 12 13 14 -0 1 4 5 6 7 8 10 12 13 15 -0 1 4 5 6 7 8 10 12 14 15 -0 1 4 5 6 7 8 10 13 14 15 -0 1 4 5 6 7 8 11 12 13 14 -0 1 4 5 6 7 8 11 12 13 15 -0 1 4 5 6 7 8 11 12 14 15 -0 1 4 5 6 7 8 11 13 14 15 -0 1 4 5 6 7 8 12 13 14 15 -0 1 4 5 6 7 9 10 11 12 13 -0 1 4 5 6 7 9 10 11 12 14 -0 1 4 5 6 7 9 10 11 12 15 -0 1 4 5 6 7 9 10 11 13 14 -0 1 4 5 6 7 9 10 11 13 15 -0 1 4 5 6 7 9 10 11 14 15 -0 1 4 5 6 7 9 10 12 13 14 -0 1 4 5 6 7 9 10 12 13 15 -0 1 4 5 6 7 9 10 12 14 15 -0 1 4 5 6 7 9 10 13 14 15 -0 1 4 5 6 7 9 11 12 13 14 -0 1 4 5 6 7 9 11 12 13 15 -0 1 4 5 6 7 9 11 12 14 15 -0 1 4 5 6 7 9 11 13 14 15 -0 1 4 5 6 7 9 12 13 14 15 -0 1 4 5 6 7 10 11 12 13 14 -0 1 4 5 6 7 10 11 12 13 15 -0 1 4 5 6 7 10 11 12 14 15 -0 1 4 5 6 7 10 11 13 14 15 -0 1 4 5 6 7 10 12 13 14 15 -0 1 4 5 6 7 11 12 13 14 15 -0 1 4 5 6 8 9 10 11 12 13 -0 1 4 5 6 8 9 10 11 12 14 -0 1 4 5 6 8 9 10 11 12 15 -0 1 4 5 6 8 9 10 11 13 14 -0 1 4 5 6 8 9 10 11 13 15 -0 1 4 5 6 8 9 10 11 14 15 -0 1 4 5 6 8 9 10 12 13 14 -0 1 4 5 6 8 9 10 12 13 15 -0 1 4 5 6 8 9 10 12 14 15 -0 1 4 5 6 8 9 10 13 14 15 -0 1 4 5 6 8 9 11 12 13 14 -0 1 4 5 6 8 9 11 12 13 15 -0 1 4 5 6 8 9 11 12 14 15 -0 1 4 5 6 8 9 11 13 14 15 -0 1 4 5 6 8 9 12 13 14 15 -0 1 4 5 6 8 10 11 12 13 14 -0 1 4 5 6 8 10 11 12 13 15 -0 1 4 5 6 8 10 11 12 14 15 -0 1 4 5 6 8 10 11 13 14 15 -0 1 4 5 6 8 10 12 13 14 15 -0 1 4 5 6 8 11 12 13 14 15 -0 1 4 5 6 9 10 11 12 13 14 -0 1 4 5 6 9 10 11 12 13 15 -0 1 4 5 6 9 10 11 12 14 15 -0 1 4 5 6 9 10 11 13 14 15 -0 1 4 5 6 9 10 12 13 14 15 -0 1 4 5 6 9 11 12 13 14 15 -0 1 4 5 6 10 11 12 13 14 15 -0 1 4 5 7 8 9 10 11 12 13 -0 1 4 5 7 8 9 10 11 12 14 -0 1 4 5 7 8 9 10 11 12 15 -0 1 4 5 7 8 9 10 11 13 14 -0 1 4 5 7 8 9 10 11 13 15 -0 1 4 5 7 8 9 10 11 14 15 -0 1 4 5 7 8 9 10 12 13 14 -0 1 4 5 7 8 9 10 12 13 15 -0 1 4 5 7 8 9 10 12 14 15 -0 1 4 5 7 8 9 10 13 14 15 -0 1 4 5 7 8 9 11 12 13 14 -0 1 4 5 7 8 9 11 12 13 15 -0 1 4 5 7 8 9 11 12 14 15 -0 1 4 5 7 8 9 11 13 14 15 -0 1 4 5 7 8 9 12 13 14 15 -0 1 4 5 7 8 10 11 12 13 14 -0 1 4 5 7 8 10 11 12 13 15 -0 1 4 5 7 8 10 11 12 14 15 -0 1 4 5 7 8 10 11 13 14 15 -0 1 4 5 7 8 10 12 13 14 15 -0 1 4 5 7 8 11 12 13 14 15 -0 1 4 5 7 9 10 11 12 13 14 -0 1 4 5 7 9 10 11 12 13 15 -0 1 4 5 7 9 10 11 12 14 15 -0 1 4 5 7 9 10 11 13 14 15 -0 1 4 5 7 9 10 12 13 14 15 -0 1 4 5 7 9 11 12 13 14 15 -0 1 4 5 7 10 11 12 13 14 15 -0 1 4 5 8 9 10 11 12 13 14 -0 1 4 5 8 9 10 11 12 13 15 -0 1 4 5 8 9 10 11 12 14 15 -0 1 4 5 8 9 10 11 13 14 15 -0 1 4 5 8 9 10 12 13 14 15 -0 1 4 5 8 9 11 12 13 14 15 -0 1 4 5 8 10 11 12 13 14 15 -0 1 4 5 9 10 11 12 13 14 15 -0 1 4 6 7 8 9 10 11 12 13 -0 1 4 6 7 8 9 10 11 12 14 -0 1 4 6 7 8 9 10 11 12 15 -0 1 4 6 7 8 9 10 11 13 14 -0 1 4 6 7 8 9 10 11 13 15 -0 1 4 6 7 8 9 10 11 14 15 -0 1 4 6 7 8 9 10 12 13 14 -0 1 4 6 7 8 9 10 12 13 15 -0 1 4 6 7 8 9 10 12 14 15 -0 1 4 6 7 8 9 10 13 14 15 -0 1 4 6 7 8 9 11 12 13 14 -0 1 4 6 7 8 9 11 12 13 15 -0 1 4 6 7 8 9 11 12 14 15 -0 1 4 6 7 8 9 11 13 14 15 -0 1 4 6 7 8 9 12 13 14 15 -0 1 4 6 7 8 10 11 12 13 14 -0 1 4 6 7 8 10 11 12 13 15 -0 1 4 6 7 8 10 11 12 14 15 -0 1 4 6 7 8 10 11 13 14 15 -0 1 4 6 7 8 10 12 13 14 15 -0 1 4 6 7 8 11 12 13 14 15 -0 1 4 6 7 9 10 11 12 13 14 -0 1 4 6 7 9 10 11 12 13 15 -0 1 4 6 7 9 10 11 12 14 15 -0 1 4 6 7 9 10 11 13 14 15 -0 1 4 6 7 9 10 12 13 14 15 -0 1 4 6 7 9 11 12 13 14 15 -0 1 4 6 7 10 11 12 13 14 15 -0 1 4 6 8 9 10 11 12 13 14 -0 1 4 6 8 9 10 11 12 13 15 -0 1 4 6 8 9 10 11 12 14 15 -0 1 4 6 8 9 10 11 13 14 15 -0 1 4 6 8 9 10 12 13 14 15 -0 1 4 6 8 9 11 12 13 14 15 -0 1 4 6 8 10 11 12 13 14 15 -0 1 4 6 9 10 11 12 13 14 15 -0 1 4 7 8 9 10 11 12 13 14 -0 1 4 7 8 9 10 11 12 13 15 -0 1 4 7 8 9 10 11 12 14 15 -0 1 4 7 8 9 10 11 13 14 15 -0 1 4 7 8 9 10 12 13 14 15 -0 1 4 7 8 9 11 12 13 14 15 -0 1 4 7 8 10 11 12 13 14 15 -0 1 4 7 9 10 11 12 13 14 15 -0 1 4 8 9 10 11 12 13 14 15 -0 1 5 6 7 8 9 10 11 12 13 -0 1 5 6 7 8 9 10 11 12 14 -0 1 5 6 7 8 9 10 11 12 15 -0 1 5 6 7 8 9 10 11 13 14 -0 1 5 6 7 8 9 10 11 13 15 -0 1 5 6 7 8 9 10 11 14 15 -0 1 5 6 7 8 9 10 12 13 14 -0 1 5 6 7 8 9 10 12 13 15 -0 1 5 6 7 8 9 10 12 14 15 -0 1 5 6 7 8 9 10 13 14 15 -0 1 5 6 7 8 9 11 12 13 14 -0 1 5 6 7 8 9 11 12 13 15 -0 1 5 6 7 8 9 11 12 14 15 -0 1 5 6 7 8 9 11 13 14 15 -0 1 5 6 7 8 9 12 13 14 15 -0 1 5 6 7 8 10 11 12 13 14 -0 1 5 6 7 8 10 11 12 13 15 -0 1 5 6 7 8 10 11 12 14 15 -0 1 5 6 7 8 10 11 13 14 15 -0 1 5 6 7 8 10 12 13 14 15 -0 1 5 6 7 8 11 12 13 14 15 -0 1 5 6 7 9 10 11 12 13 14 -0 1 5 6 7 9 10 11 12 13 15 -0 1 5 6 7 9 10 11 12 14 15 -0 1 5 6 7 9 10 11 13 14 15 -0 1 5 6 7 9 10 12 13 14 15 -0 1 5 6 7 9 11 12 13 14 15 -0 1 5 6 7 10 11 12 13 14 15 -0 1 5 6 8 9 10 11 12 13 14 -0 1 5 6 8 9 10 11 12 13 15 -0 1 5 6 8 9 10 11 12 14 15 -0 1 5 6 8 9 10 11 13 14 15 -0 1 5 6 8 9 10 12 13 14 15 -0 1 5 6 8 9 11 12 13 14 15 -0 1 5 6 8 10 11 12 13 14 15 -0 1 5 6 9 10 11 12 13 14 15 -0 1 5 7 8 9 10 11 12 13 14 -0 1 5 7 8 9 10 11 12 13 15 -0 1 5 7 8 9 10 11 12 14 15 -0 1 5 7 8 9 10 11 13 14 15 -0 1 5 7 8 9 10 12 13 14 15 -0 1 5 7 8 9 11 12 13 14 15 -0 1 5 7 8 10 11 12 13 14 15 -0 1 5 7 9 10 11 12 13 14 15 -0 1 5 8 9 10 11 12 13 14 15 -0 1 6 7 8 9 10 11 12 13 14 -0 1 6 7 8 9 10 11 12 13 15 -0 1 6 7 8 9 10 11 12 14 15 -0 1 6 7 8 9 10 11 13 14 15 -0 1 6 7 8 9 10 12 13 14 15 -0 1 6 7 8 9 11 12 13 14 15 -0 1 6 7 8 10 11 12 13 14 15 -0 1 6 7 9 10 11 12 13 14 15 -0 1 6 8 9 10 11 12 13 14 15 -0 1 7 8 9 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 9 10 11 -0 2 3 4 5 6 7 8 9 10 12 -0 2 3 4 5 6 7 8 9 10 13 -0 2 3 4 5 6 7 8 9 10 14 -0 2 3 4 5 6 7 8 9 10 15 -0 2 3 4 5 6 7 8 9 11 12 -0 2 3 4 5 6 7 8 9 11 13 -0 2 3 4 5 6 7 8 9 11 14 -0 2 3 4 5 6 7 8 9 11 15 -0 2 3 4 5 6 7 8 9 12 13 -0 2 3 4 5 6 7 8 9 12 14 -0 2 3 4 5 6 7 8 9 12 15 -0 2 3 4 5 6 7 8 9 13 14 -0 2 3 4 5 6 7 8 9 13 15 -0 2 3 4 5 6 7 8 9 14 15 -0 2 3 4 5 6 7 8 10 11 12 -0 2 3 4 5 6 7 8 10 11 13 -0 2 3 4 5 6 7 8 10 11 14 -0 2 3 4 5 6 7 8 10 11 15 -0 2 3 4 5 6 7 8 10 12 13 -0 2 3 4 5 6 7 8 10 12 14 -0 2 3 4 5 6 7 8 10 12 15 -0 2 3 4 5 6 7 8 10 13 14 -0 2 3 4 5 6 7 8 10 13 15 -0 2 3 4 5 6 7 8 10 14 15 -0 2 3 4 5 6 7 8 11 12 13 -0 2 3 4 5 6 7 8 11 12 14 -0 2 3 4 5 6 7 8 11 12 15 -0 2 3 4 5 6 7 8 11 13 14 -0 2 3 4 5 6 7 8 11 13 15 -0 2 3 4 5 6 7 8 11 14 15 -0 2 3 4 5 6 7 8 12 13 14 -0 2 3 4 5 6 7 8 12 13 15 -0 2 3 4 5 6 7 8 12 14 15 -0 2 3 4 5 6 7 8 13 14 15 -0 2 3 4 5 6 7 9 10 11 12 -0 2 3 4 5 6 7 9 10 11 13 -0 2 3 4 5 6 7 9 10 11 14 -0 2 3 4 5 6 7 9 10 11 15 -0 2 3 4 5 6 7 9 10 12 13 -0 2 3 4 5 6 7 9 10 12 14 -0 2 3 4 5 6 7 9 10 12 15 -0 2 3 4 5 6 7 9 10 13 14 -0 2 3 4 5 6 7 9 10 13 15 -0 2 3 4 5 6 7 9 10 14 15 -0 2 3 4 5 6 7 9 11 12 13 -0 2 3 4 5 6 7 9 11 12 14 -0 2 3 4 5 6 7 9 11 12 15 -0 2 3 4 5 6 7 9 11 13 14 -0 2 3 4 5 6 7 9 11 13 15 -0 2 3 4 5 6 7 9 11 14 15 -0 2 3 4 5 6 7 9 12 13 14 -0 2 3 4 5 6 7 9 12 13 15 -0 2 3 4 5 6 7 9 12 14 15 -0 2 3 4 5 6 7 9 13 14 15 -0 2 3 4 5 6 7 10 11 12 13 -0 2 3 4 5 6 7 10 11 12 14 -0 2 3 4 5 6 7 10 11 12 15 -0 2 3 4 5 6 7 10 11 13 14 -0 2 3 4 5 6 7 10 11 13 15 -0 2 3 4 5 6 7 10 11 14 15 -0 2 3 4 5 6 7 10 12 13 14 -0 2 3 4 5 6 7 10 12 13 15 -0 2 3 4 5 6 7 10 12 14 15 -0 2 3 4 5 6 7 10 13 14 15 -0 2 3 4 5 6 7 11 12 13 14 -0 2 3 4 5 6 7 11 12 13 15 -0 2 3 4 5 6 7 11 12 14 15 -0 2 3 4 5 6 7 11 13 14 15 -0 2 3 4 5 6 7 12 13 14 15 -0 2 3 4 5 6 8 9 10 11 12 -0 2 3 4 5 6 8 9 10 11 13 -0 2 3 4 5 6 8 9 10 11 14 -0 2 3 4 5 6 8 9 10 11 15 -0 2 3 4 5 6 8 9 10 12 13 -0 2 3 4 5 6 8 9 10 12 14 -0 2 3 4 5 6 8 9 10 12 15 -0 2 3 4 5 6 8 9 10 13 14 -0 2 3 4 5 6 8 9 10 13 15 -0 2 3 4 5 6 8 9 10 14 15 -0 2 3 4 5 6 8 9 11 12 13 -0 2 3 4 5 6 8 9 11 12 14 -0 2 3 4 5 6 8 9 11 12 15 -0 2 3 4 5 6 8 9 11 13 14 -0 2 3 4 5 6 8 9 11 13 15 -0 2 3 4 5 6 8 9 11 14 15 -0 2 3 4 5 6 8 9 12 13 14 -0 2 3 4 5 6 8 9 12 13 15 -0 2 3 4 5 6 8 9 12 14 15 -0 2 3 4 5 6 8 9 13 14 15 -0 2 3 4 5 6 8 10 11 12 13 -0 2 3 4 5 6 8 10 11 12 14 -0 2 3 4 5 6 8 10 11 12 15 -0 2 3 4 5 6 8 10 11 13 14 -0 2 3 4 5 6 8 10 11 13 15 -0 2 3 4 5 6 8 10 11 14 15 -0 2 3 4 5 6 8 10 12 13 14 -0 2 3 4 5 6 8 10 12 13 15 -0 2 3 4 5 6 8 10 12 14 15 -0 2 3 4 5 6 8 10 13 14 15 -0 2 3 4 5 6 8 11 12 13 14 -0 2 3 4 5 6 8 11 12 13 15 -0 2 3 4 5 6 8 11 12 14 15 -0 2 3 4 5 6 8 11 13 14 15 -0 2 3 4 5 6 8 12 13 14 15 -0 2 3 4 5 6 9 10 11 12 13 -0 2 3 4 5 6 9 10 11 12 14 -0 2 3 4 5 6 9 10 11 12 15 -0 2 3 4 5 6 9 10 11 13 14 -0 2 3 4 5 6 9 10 11 13 15 -0 2 3 4 5 6 9 10 11 14 15 -0 2 3 4 5 6 9 10 12 13 14 -0 2 3 4 5 6 9 10 12 13 15 -0 2 3 4 5 6 9 10 12 14 15 -0 2 3 4 5 6 9 10 13 14 15 -0 2 3 4 5 6 9 11 12 13 14 -0 2 3 4 5 6 9 11 12 13 15 -0 2 3 4 5 6 9 11 12 14 15 -0 2 3 4 5 6 9 11 13 14 15 -0 2 3 4 5 6 9 12 13 14 15 -0 2 3 4 5 6 10 11 12 13 14 -0 2 3 4 5 6 10 11 12 13 15 -0 2 3 4 5 6 10 11 12 14 15 -0 2 3 4 5 6 10 11 13 14 15 -0 2 3 4 5 6 10 12 13 14 15 -0 2 3 4 5 6 11 12 13 14 15 -0 2 3 4 5 7 8 9 10 11 12 -0 2 3 4 5 7 8 9 10 11 13 -0 2 3 4 5 7 8 9 10 11 14 -0 2 3 4 5 7 8 9 10 11 15 -0 2 3 4 5 7 8 9 10 12 13 -0 2 3 4 5 7 8 9 10 12 14 -0 2 3 4 5 7 8 9 10 12 15 -0 2 3 4 5 7 8 9 10 13 14 -0 2 3 4 5 7 8 9 10 13 15 -0 2 3 4 5 7 8 9 10 14 15 -0 2 3 4 5 7 8 9 11 12 13 -0 2 3 4 5 7 8 9 11 12 14 -0 2 3 4 5 7 8 9 11 12 15 -0 2 3 4 5 7 8 9 11 13 14 -0 2 3 4 5 7 8 9 11 13 15 -0 2 3 4 5 7 8 9 11 14 15 -0 2 3 4 5 7 8 9 12 13 14 -0 2 3 4 5 7 8 9 12 13 15 -0 2 3 4 5 7 8 9 12 14 15 -0 2 3 4 5 7 8 9 13 14 15 -0 2 3 4 5 7 8 10 11 12 13 -0 2 3 4 5 7 8 10 11 12 14 -0 2 3 4 5 7 8 10 11 12 15 -0 2 3 4 5 7 8 10 11 13 14 -0 2 3 4 5 7 8 10 11 13 15 -0 2 3 4 5 7 8 10 11 14 15 -0 2 3 4 5 7 8 10 12 13 14 -0 2 3 4 5 7 8 10 12 13 15 -0 2 3 4 5 7 8 10 12 14 15 -0 2 3 4 5 7 8 10 13 14 15 -0 2 3 4 5 7 8 11 12 13 14 -0 2 3 4 5 7 8 11 12 13 15 -0 2 3 4 5 7 8 11 12 14 15 -0 2 3 4 5 7 8 11 13 14 15 -0 2 3 4 5 7 8 12 13 14 15 -0 2 3 4 5 7 9 10 11 12 13 -0 2 3 4 5 7 9 10 11 12 14 -0 2 3 4 5 7 9 10 11 12 15 -0 2 3 4 5 7 9 10 11 13 14 -0 2 3 4 5 7 9 10 11 13 15 -0 2 3 4 5 7 9 10 11 14 15 -0 2 3 4 5 7 9 10 12 13 14 -0 2 3 4 5 7 9 10 12 13 15 -0 2 3 4 5 7 9 10 12 14 15 -0 2 3 4 5 7 9 10 13 14 15 -0 2 3 4 5 7 9 11 12 13 14 -0 2 3 4 5 7 9 11 12 13 15 -0 2 3 4 5 7 9 11 12 14 15 -0 2 3 4 5 7 9 11 13 14 15 -0 2 3 4 5 7 9 12 13 14 15 -0 2 3 4 5 7 10 11 12 13 14 -0 2 3 4 5 7 10 11 12 13 15 -0 2 3 4 5 7 10 11 12 14 15 -0 2 3 4 5 7 10 11 13 14 15 -0 2 3 4 5 7 10 12 13 14 15 -0 2 3 4 5 7 11 12 13 14 15 -0 2 3 4 5 8 9 10 11 12 13 -0 2 3 4 5 8 9 10 11 12 14 -0 2 3 4 5 8 9 10 11 12 15 -0 2 3 4 5 8 9 10 11 13 14 -0 2 3 4 5 8 9 10 11 13 15 -0 2 3 4 5 8 9 10 11 14 15 -0 2 3 4 5 8 9 10 12 13 14 -0 2 3 4 5 8 9 10 12 13 15 -0 2 3 4 5 8 9 10 12 14 15 -0 2 3 4 5 8 9 10 13 14 15 -0 2 3 4 5 8 9 11 12 13 14 -0 2 3 4 5 8 9 11 12 13 15 -0 2 3 4 5 8 9 11 12 14 15 -0 2 3 4 5 8 9 11 13 14 15 -0 2 3 4 5 8 9 12 13 14 15 -0 2 3 4 5 8 10 11 12 13 14 -0 2 3 4 5 8 10 11 12 13 15 -0 2 3 4 5 8 10 11 12 14 15 -0 2 3 4 5 8 10 11 13 14 15 -0 2 3 4 5 8 10 12 13 14 15 -0 2 3 4 5 8 11 12 13 14 15 -0 2 3 4 5 9 10 11 12 13 14 -0 2 3 4 5 9 10 11 12 13 15 -0 2 3 4 5 9 10 11 12 14 15 -0 2 3 4 5 9 10 11 13 14 15 -0 2 3 4 5 9 10 12 13 14 15 -0 2 3 4 5 9 11 12 13 14 15 -0 2 3 4 5 10 11 12 13 14 15 -0 2 3 4 6 7 8 9 10 11 12 -0 2 3 4 6 7 8 9 10 11 13 -0 2 3 4 6 7 8 9 10 11 14 -0 2 3 4 6 7 8 9 10 11 15 -0 2 3 4 6 7 8 9 10 12 13 -0 2 3 4 6 7 8 9 10 12 14 -0 2 3 4 6 7 8 9 10 12 15 -0 2 3 4 6 7 8 9 10 13 14 -0 2 3 4 6 7 8 9 10 13 15 -0 2 3 4 6 7 8 9 10 14 15 -0 2 3 4 6 7 8 9 11 12 13 -0 2 3 4 6 7 8 9 11 12 14 -0 2 3 4 6 7 8 9 11 12 15 -0 2 3 4 6 7 8 9 11 13 14 -0 2 3 4 6 7 8 9 11 13 15 -0 2 3 4 6 7 8 9 11 14 15 -0 2 3 4 6 7 8 9 12 13 14 -0 2 3 4 6 7 8 9 12 13 15 -0 2 3 4 6 7 8 9 12 14 15 -0 2 3 4 6 7 8 9 13 14 15 -0 2 3 4 6 7 8 10 11 12 13 -0 2 3 4 6 7 8 10 11 12 14 -0 2 3 4 6 7 8 10 11 12 15 -0 2 3 4 6 7 8 10 11 13 14 -0 2 3 4 6 7 8 10 11 13 15 -0 2 3 4 6 7 8 10 11 14 15 -0 2 3 4 6 7 8 10 12 13 14 -0 2 3 4 6 7 8 10 12 13 15 -0 2 3 4 6 7 8 10 12 14 15 -0 2 3 4 6 7 8 10 13 14 15 -0 2 3 4 6 7 8 11 12 13 14 -0 2 3 4 6 7 8 11 12 13 15 -0 2 3 4 6 7 8 11 12 14 15 -0 2 3 4 6 7 8 11 13 14 15 -0 2 3 4 6 7 8 12 13 14 15 -0 2 3 4 6 7 9 10 11 12 13 -0 2 3 4 6 7 9 10 11 12 14 -0 2 3 4 6 7 9 10 11 12 15 -0 2 3 4 6 7 9 10 11 13 14 -0 2 3 4 6 7 9 10 11 13 15 -0 2 3 4 6 7 9 10 11 14 15 -0 2 3 4 6 7 9 10 12 13 14 -0 2 3 4 6 7 9 10 12 13 15 -0 2 3 4 6 7 9 10 12 14 15 -0 2 3 4 6 7 9 10 13 14 15 -0 2 3 4 6 7 9 11 12 13 14 -0 2 3 4 6 7 9 11 12 13 15 -0 2 3 4 6 7 9 11 12 14 15 -0 2 3 4 6 7 9 11 13 14 15 -0 2 3 4 6 7 9 12 13 14 15 -0 2 3 4 6 7 10 11 12 13 14 -0 2 3 4 6 7 10 11 12 13 15 -0 2 3 4 6 7 10 11 12 14 15 -0 2 3 4 6 7 10 11 13 14 15 -0 2 3 4 6 7 10 12 13 14 15 -0 2 3 4 6 7 11 12 13 14 15 -0 2 3 4 6 8 9 10 11 12 13 -0 2 3 4 6 8 9 10 11 12 14 -0 2 3 4 6 8 9 10 11 12 15 -0 2 3 4 6 8 9 10 11 13 14 -0 2 3 4 6 8 9 10 11 13 15 -0 2 3 4 6 8 9 10 11 14 15 -0 2 3 4 6 8 9 10 12 13 14 -0 2 3 4 6 8 9 10 12 13 15 -0 2 3 4 6 8 9 10 12 14 15 -0 2 3 4 6 8 9 10 13 14 15 -0 2 3 4 6 8 9 11 12 13 14 -0 2 3 4 6 8 9 11 12 13 15 -0 2 3 4 6 8 9 11 12 14 15 -0 2 3 4 6 8 9 11 13 14 15 -0 2 3 4 6 8 9 12 13 14 15 -0 2 3 4 6 8 10 11 12 13 14 -0 2 3 4 6 8 10 11 12 13 15 -0 2 3 4 6 8 10 11 12 14 15 -0 2 3 4 6 8 10 11 13 14 15 -0 2 3 4 6 8 10 12 13 14 15 -0 2 3 4 6 8 11 12 13 14 15 -0 2 3 4 6 9 10 11 12 13 14 -0 2 3 4 6 9 10 11 12 13 15 -0 2 3 4 6 9 10 11 12 14 15 -0 2 3 4 6 9 10 11 13 14 15 -0 2 3 4 6 9 10 12 13 14 15 -0 2 3 4 6 9 11 12 13 14 15 -0 2 3 4 6 10 11 12 13 14 15 -0 2 3 4 7 8 9 10 11 12 13 -0 2 3 4 7 8 9 10 11 12 14 -0 2 3 4 7 8 9 10 11 12 15 -0 2 3 4 7 8 9 10 11 13 14 -0 2 3 4 7 8 9 10 11 13 15 -0 2 3 4 7 8 9 10 11 14 15 -0 2 3 4 7 8 9 10 12 13 14 -0 2 3 4 7 8 9 10 12 13 15 -0 2 3 4 7 8 9 10 12 14 15 -0 2 3 4 7 8 9 10 13 14 15 -0 2 3 4 7 8 9 11 12 13 14 -0 2 3 4 7 8 9 11 12 13 15 -0 2 3 4 7 8 9 11 12 14 15 -0 2 3 4 7 8 9 11 13 14 15 -0 2 3 4 7 8 9 12 13 14 15 -0 2 3 4 7 8 10 11 12 13 14 -0 2 3 4 7 8 10 11 12 13 15 -0 2 3 4 7 8 10 11 12 14 15 -0 2 3 4 7 8 10 11 13 14 15 -0 2 3 4 7 8 10 12 13 14 15 -0 2 3 4 7 8 11 12 13 14 15 -0 2 3 4 7 9 10 11 12 13 14 -0 2 3 4 7 9 10 11 12 13 15 -0 2 3 4 7 9 10 11 12 14 15 -0 2 3 4 7 9 10 11 13 14 15 -0 2 3 4 7 9 10 12 13 14 15 -0 2 3 4 7 9 11 12 13 14 15 -0 2 3 4 7 10 11 12 13 14 15 -0 2 3 4 8 9 10 11 12 13 14 -0 2 3 4 8 9 10 11 12 13 15 -0 2 3 4 8 9 10 11 12 14 15 -0 2 3 4 8 9 10 11 13 14 15 -0 2 3 4 8 9 10 12 13 14 15 -0 2 3 4 8 9 11 12 13 14 15 -0 2 3 4 8 10 11 12 13 14 15 -0 2 3 4 9 10 11 12 13 14 15 -0 2 3 5 6 7 8 9 10 11 12 -0 2 3 5 6 7 8 9 10 11 13 -0 2 3 5 6 7 8 9 10 11 14 -0 2 3 5 6 7 8 9 10 11 15 -0 2 3 5 6 7 8 9 10 12 13 -0 2 3 5 6 7 8 9 10 12 14 -0 2 3 5 6 7 8 9 10 12 15 -0 2 3 5 6 7 8 9 10 13 14 -0 2 3 5 6 7 8 9 10 13 15 -0 2 3 5 6 7 8 9 10 14 15 -0 2 3 5 6 7 8 9 11 12 13 -0 2 3 5 6 7 8 9 11 12 14 -0 2 3 5 6 7 8 9 11 12 15 -0 2 3 5 6 7 8 9 11 13 14 -0 2 3 5 6 7 8 9 11 13 15 -0 2 3 5 6 7 8 9 11 14 15 -0 2 3 5 6 7 8 9 12 13 14 -0 2 3 5 6 7 8 9 12 13 15 -0 2 3 5 6 7 8 9 12 14 15 -0 2 3 5 6 7 8 9 13 14 15 -0 2 3 5 6 7 8 10 11 12 13 -0 2 3 5 6 7 8 10 11 12 14 -0 2 3 5 6 7 8 10 11 12 15 -0 2 3 5 6 7 8 10 11 13 14 -0 2 3 5 6 7 8 10 11 13 15 -0 2 3 5 6 7 8 10 11 14 15 -0 2 3 5 6 7 8 10 12 13 14 -0 2 3 5 6 7 8 10 12 13 15 -0 2 3 5 6 7 8 10 12 14 15 -0 2 3 5 6 7 8 10 13 14 15 -0 2 3 5 6 7 8 11 12 13 14 -0 2 3 5 6 7 8 11 12 13 15 -0 2 3 5 6 7 8 11 12 14 15 -0 2 3 5 6 7 8 11 13 14 15 -0 2 3 5 6 7 8 12 13 14 15 -0 2 3 5 6 7 9 10 11 12 13 -0 2 3 5 6 7 9 10 11 12 14 -0 2 3 5 6 7 9 10 11 12 15 -0 2 3 5 6 7 9 10 11 13 14 -0 2 3 5 6 7 9 10 11 13 15 -0 2 3 5 6 7 9 10 11 14 15 -0 2 3 5 6 7 9 10 12 13 14 -0 2 3 5 6 7 9 10 12 13 15 -0 2 3 5 6 7 9 10 12 14 15 -0 2 3 5 6 7 9 10 13 14 15 -0 2 3 5 6 7 9 11 12 13 14 -0 2 3 5 6 7 9 11 12 13 15 -0 2 3 5 6 7 9 11 12 14 15 -0 2 3 5 6 7 9 11 13 14 15 -0 2 3 5 6 7 9 12 13 14 15 -0 2 3 5 6 7 10 11 12 13 14 -0 2 3 5 6 7 10 11 12 13 15 -0 2 3 5 6 7 10 11 12 14 15 -0 2 3 5 6 7 10 11 13 14 15 -0 2 3 5 6 7 10 12 13 14 15 -0 2 3 5 6 7 11 12 13 14 15 -0 2 3 5 6 8 9 10 11 12 13 -0 2 3 5 6 8 9 10 11 12 14 -0 2 3 5 6 8 9 10 11 12 15 -0 2 3 5 6 8 9 10 11 13 14 -0 2 3 5 6 8 9 10 11 13 15 -0 2 3 5 6 8 9 10 11 14 15 -0 2 3 5 6 8 9 10 12 13 14 -0 2 3 5 6 8 9 10 12 13 15 -0 2 3 5 6 8 9 10 12 14 15 -0 2 3 5 6 8 9 10 13 14 15 -0 2 3 5 6 8 9 11 12 13 14 -0 2 3 5 6 8 9 11 12 13 15 -0 2 3 5 6 8 9 11 12 14 15 -0 2 3 5 6 8 9 11 13 14 15 -0 2 3 5 6 8 9 12 13 14 15 -0 2 3 5 6 8 10 11 12 13 14 -0 2 3 5 6 8 10 11 12 13 15 -0 2 3 5 6 8 10 11 12 14 15 -0 2 3 5 6 8 10 11 13 14 15 -0 2 3 5 6 8 10 12 13 14 15 -0 2 3 5 6 8 11 12 13 14 15 -0 2 3 5 6 9 10 11 12 13 14 -0 2 3 5 6 9 10 11 12 13 15 -0 2 3 5 6 9 10 11 12 14 15 -0 2 3 5 6 9 10 11 13 14 15 -0 2 3 5 6 9 10 12 13 14 15 -0 2 3 5 6 9 11 12 13 14 15 -0 2 3 5 6 10 11 12 13 14 15 -0 2 3 5 7 8 9 10 11 12 13 -0 2 3 5 7 8 9 10 11 12 14 -0 2 3 5 7 8 9 10 11 12 15 -0 2 3 5 7 8 9 10 11 13 14 -0 2 3 5 7 8 9 10 11 13 15 -0 2 3 5 7 8 9 10 11 14 15 -0 2 3 5 7 8 9 10 12 13 14 -0 2 3 5 7 8 9 10 12 13 15 -0 2 3 5 7 8 9 10 12 14 15 -0 2 3 5 7 8 9 10 13 14 15 -0 2 3 5 7 8 9 11 12 13 14 -0 2 3 5 7 8 9 11 12 13 15 -0 2 3 5 7 8 9 11 12 14 15 -0 2 3 5 7 8 9 11 13 14 15 -0 2 3 5 7 8 9 12 13 14 15 -0 2 3 5 7 8 10 11 12 13 14 -0 2 3 5 7 8 10 11 12 13 15 -0 2 3 5 7 8 10 11 12 14 15 -0 2 3 5 7 8 10 11 13 14 15 -0 2 3 5 7 8 10 12 13 14 15 -0 2 3 5 7 8 11 12 13 14 15 -0 2 3 5 7 9 10 11 12 13 14 -0 2 3 5 7 9 10 11 12 13 15 -0 2 3 5 7 9 10 11 12 14 15 -0 2 3 5 7 9 10 11 13 14 15 -0 2 3 5 7 9 10 12 13 14 15 -0 2 3 5 7 9 11 12 13 14 15 -0 2 3 5 7 10 11 12 13 14 15 -0 2 3 5 8 9 10 11 12 13 14 -0 2 3 5 8 9 10 11 12 13 15 -0 2 3 5 8 9 10 11 12 14 15 -0 2 3 5 8 9 10 11 13 14 15 -0 2 3 5 8 9 10 12 13 14 15 -0 2 3 5 8 9 11 12 13 14 15 -0 2 3 5 8 10 11 12 13 14 15 -0 2 3 5 9 10 11 12 13 14 15 -0 2 3 6 7 8 9 10 11 12 13 -0 2 3 6 7 8 9 10 11 12 14 -0 2 3 6 7 8 9 10 11 12 15 -0 2 3 6 7 8 9 10 11 13 14 -0 2 3 6 7 8 9 10 11 13 15 -0 2 3 6 7 8 9 10 11 14 15 -0 2 3 6 7 8 9 10 12 13 14 -0 2 3 6 7 8 9 10 12 13 15 -0 2 3 6 7 8 9 10 12 14 15 -0 2 3 6 7 8 9 10 13 14 15 -0 2 3 6 7 8 9 11 12 13 14 -0 2 3 6 7 8 9 11 12 13 15 -0 2 3 6 7 8 9 11 12 14 15 -0 2 3 6 7 8 9 11 13 14 15 -0 2 3 6 7 8 9 12 13 14 15 -0 2 3 6 7 8 10 11 12 13 14 -0 2 3 6 7 8 10 11 12 13 15 -0 2 3 6 7 8 10 11 12 14 15 -0 2 3 6 7 8 10 11 13 14 15 -0 2 3 6 7 8 10 12 13 14 15 -0 2 3 6 7 8 11 12 13 14 15 -0 2 3 6 7 9 10 11 12 13 14 -0 2 3 6 7 9 10 11 12 13 15 -0 2 3 6 7 9 10 11 12 14 15 -0 2 3 6 7 9 10 11 13 14 15 -0 2 3 6 7 9 10 12 13 14 15 -0 2 3 6 7 9 11 12 13 14 15 -0 2 3 6 7 10 11 12 13 14 15 -0 2 3 6 8 9 10 11 12 13 14 -0 2 3 6 8 9 10 11 12 13 15 -0 2 3 6 8 9 10 11 12 14 15 -0 2 3 6 8 9 10 11 13 14 15 -0 2 3 6 8 9 10 12 13 14 15 -0 2 3 6 8 9 11 12 13 14 15 -0 2 3 6 8 10 11 12 13 14 15 -0 2 3 6 9 10 11 12 13 14 15 -0 2 3 7 8 9 10 11 12 13 14 -0 2 3 7 8 9 10 11 12 13 15 -0 2 3 7 8 9 10 11 12 14 15 -0 2 3 7 8 9 10 11 13 14 15 -0 2 3 7 8 9 10 12 13 14 15 -0 2 3 7 8 9 11 12 13 14 15 -0 2 3 7 8 10 11 12 13 14 15 -0 2 3 7 9 10 11 12 13 14 15 -0 2 3 8 9 10 11 12 13 14 15 -0 2 4 5 6 7 8 9 10 11 12 -0 2 4 5 6 7 8 9 10 11 13 -0 2 4 5 6 7 8 9 10 11 14 -0 2 4 5 6 7 8 9 10 11 15 -0 2 4 5 6 7 8 9 10 12 13 -0 2 4 5 6 7 8 9 10 12 14 -0 2 4 5 6 7 8 9 10 12 15 -0 2 4 5 6 7 8 9 10 13 14 -0 2 4 5 6 7 8 9 10 13 15 -0 2 4 5 6 7 8 9 10 14 15 -0 2 4 5 6 7 8 9 11 12 13 -0 2 4 5 6 7 8 9 11 12 14 -0 2 4 5 6 7 8 9 11 12 15 -0 2 4 5 6 7 8 9 11 13 14 -0 2 4 5 6 7 8 9 11 13 15 -0 2 4 5 6 7 8 9 11 14 15 -0 2 4 5 6 7 8 9 12 13 14 -0 2 4 5 6 7 8 9 12 13 15 -0 2 4 5 6 7 8 9 12 14 15 -0 2 4 5 6 7 8 9 13 14 15 -0 2 4 5 6 7 8 10 11 12 13 -0 2 4 5 6 7 8 10 11 12 14 -0 2 4 5 6 7 8 10 11 12 15 -0 2 4 5 6 7 8 10 11 13 14 -0 2 4 5 6 7 8 10 11 13 15 -0 2 4 5 6 7 8 10 11 14 15 -0 2 4 5 6 7 8 10 12 13 14 -0 2 4 5 6 7 8 10 12 13 15 -0 2 4 5 6 7 8 10 12 14 15 -0 2 4 5 6 7 8 10 13 14 15 -0 2 4 5 6 7 8 11 12 13 14 -0 2 4 5 6 7 8 11 12 13 15 -0 2 4 5 6 7 8 11 12 14 15 -0 2 4 5 6 7 8 11 13 14 15 -0 2 4 5 6 7 8 12 13 14 15 -0 2 4 5 6 7 9 10 11 12 13 -0 2 4 5 6 7 9 10 11 12 14 -0 2 4 5 6 7 9 10 11 12 15 -0 2 4 5 6 7 9 10 11 13 14 -0 2 4 5 6 7 9 10 11 13 15 -0 2 4 5 6 7 9 10 11 14 15 -0 2 4 5 6 7 9 10 12 13 14 -0 2 4 5 6 7 9 10 12 13 15 -0 2 4 5 6 7 9 10 12 14 15 -0 2 4 5 6 7 9 10 13 14 15 -0 2 4 5 6 7 9 11 12 13 14 -0 2 4 5 6 7 9 11 12 13 15 -0 2 4 5 6 7 9 11 12 14 15 -0 2 4 5 6 7 9 11 13 14 15 -0 2 4 5 6 7 9 12 13 14 15 -0 2 4 5 6 7 10 11 12 13 14 -0 2 4 5 6 7 10 11 12 13 15 -0 2 4 5 6 7 10 11 12 14 15 -0 2 4 5 6 7 10 11 13 14 15 -0 2 4 5 6 7 10 12 13 14 15 -0 2 4 5 6 7 11 12 13 14 15 -0 2 4 5 6 8 9 10 11 12 13 -0 2 4 5 6 8 9 10 11 12 14 -0 2 4 5 6 8 9 10 11 12 15 -0 2 4 5 6 8 9 10 11 13 14 -0 2 4 5 6 8 9 10 11 13 15 -0 2 4 5 6 8 9 10 11 14 15 -0 2 4 5 6 8 9 10 12 13 14 -0 2 4 5 6 8 9 10 12 13 15 -0 2 4 5 6 8 9 10 12 14 15 -0 2 4 5 6 8 9 10 13 14 15 -0 2 4 5 6 8 9 11 12 13 14 -0 2 4 5 6 8 9 11 12 13 15 -0 2 4 5 6 8 9 11 12 14 15 -0 2 4 5 6 8 9 11 13 14 15 -0 2 4 5 6 8 9 12 13 14 15 -0 2 4 5 6 8 10 11 12 13 14 -0 2 4 5 6 8 10 11 12 13 15 -0 2 4 5 6 8 10 11 12 14 15 -0 2 4 5 6 8 10 11 13 14 15 -0 2 4 5 6 8 10 12 13 14 15 -0 2 4 5 6 8 11 12 13 14 15 -0 2 4 5 6 9 10 11 12 13 14 -0 2 4 5 6 9 10 11 12 13 15 -0 2 4 5 6 9 10 11 12 14 15 -0 2 4 5 6 9 10 11 13 14 15 -0 2 4 5 6 9 10 12 13 14 15 -0 2 4 5 6 9 11 12 13 14 15 -0 2 4 5 6 10 11 12 13 14 15 -0 2 4 5 7 8 9 10 11 12 13 -0 2 4 5 7 8 9 10 11 12 14 -0 2 4 5 7 8 9 10 11 12 15 -0 2 4 5 7 8 9 10 11 13 14 -0 2 4 5 7 8 9 10 11 13 15 -0 2 4 5 7 8 9 10 11 14 15 -0 2 4 5 7 8 9 10 12 13 14 -0 2 4 5 7 8 9 10 12 13 15 -0 2 4 5 7 8 9 10 12 14 15 -0 2 4 5 7 8 9 10 13 14 15 -0 2 4 5 7 8 9 11 12 13 14 -0 2 4 5 7 8 9 11 12 13 15 -0 2 4 5 7 8 9 11 12 14 15 -0 2 4 5 7 8 9 11 13 14 15 -0 2 4 5 7 8 9 12 13 14 15 -0 2 4 5 7 8 10 11 12 13 14 -0 2 4 5 7 8 10 11 12 13 15 -0 2 4 5 7 8 10 11 12 14 15 -0 2 4 5 7 8 10 11 13 14 15 -0 2 4 5 7 8 10 12 13 14 15 -0 2 4 5 7 8 11 12 13 14 15 -0 2 4 5 7 9 10 11 12 13 14 -0 2 4 5 7 9 10 11 12 13 15 -0 2 4 5 7 9 10 11 12 14 15 -0 2 4 5 7 9 10 11 13 14 15 -0 2 4 5 7 9 10 12 13 14 15 -0 2 4 5 7 9 11 12 13 14 15 -0 2 4 5 7 10 11 12 13 14 15 -0 2 4 5 8 9 10 11 12 13 14 -0 2 4 5 8 9 10 11 12 13 15 -0 2 4 5 8 9 10 11 12 14 15 -0 2 4 5 8 9 10 11 13 14 15 -0 2 4 5 8 9 10 12 13 14 15 -0 2 4 5 8 9 11 12 13 14 15 -0 2 4 5 8 10 11 12 13 14 15 -0 2 4 5 9 10 11 12 13 14 15 -0 2 4 6 7 8 9 10 11 12 13 -0 2 4 6 7 8 9 10 11 12 14 -0 2 4 6 7 8 9 10 11 12 15 -0 2 4 6 7 8 9 10 11 13 14 -0 2 4 6 7 8 9 10 11 13 15 -0 2 4 6 7 8 9 10 11 14 15 -0 2 4 6 7 8 9 10 12 13 14 -0 2 4 6 7 8 9 10 12 13 15 -0 2 4 6 7 8 9 10 12 14 15 -0 2 4 6 7 8 9 10 13 14 15 -0 2 4 6 7 8 9 11 12 13 14 -0 2 4 6 7 8 9 11 12 13 15 -0 2 4 6 7 8 9 11 12 14 15 -0 2 4 6 7 8 9 11 13 14 15 -0 2 4 6 7 8 9 12 13 14 15 -0 2 4 6 7 8 10 11 12 13 14 -0 2 4 6 7 8 10 11 12 13 15 -0 2 4 6 7 8 10 11 12 14 15 -0 2 4 6 7 8 10 11 13 14 15 -0 2 4 6 7 8 10 12 13 14 15 -0 2 4 6 7 8 11 12 13 14 15 -0 2 4 6 7 9 10 11 12 13 14 -0 2 4 6 7 9 10 11 12 13 15 -0 2 4 6 7 9 10 11 12 14 15 -0 2 4 6 7 9 10 11 13 14 15 -0 2 4 6 7 9 10 12 13 14 15 -0 2 4 6 7 9 11 12 13 14 15 -0 2 4 6 7 10 11 12 13 14 15 -0 2 4 6 8 9 10 11 12 13 14 -0 2 4 6 8 9 10 11 12 13 15 -0 2 4 6 8 9 10 11 12 14 15 -0 2 4 6 8 9 10 11 13 14 15 -0 2 4 6 8 9 10 12 13 14 15 -0 2 4 6 8 9 11 12 13 14 15 -0 2 4 6 8 10 11 12 13 14 15 -0 2 4 6 9 10 11 12 13 14 15 -0 2 4 7 8 9 10 11 12 13 14 -0 2 4 7 8 9 10 11 12 13 15 -0 2 4 7 8 9 10 11 12 14 15 -0 2 4 7 8 9 10 11 13 14 15 -0 2 4 7 8 9 10 12 13 14 15 -0 2 4 7 8 9 11 12 13 14 15 -0 2 4 7 8 10 11 12 13 14 15 -0 2 4 7 9 10 11 12 13 14 15 -0 2 4 8 9 10 11 12 13 14 15 -0 2 5 6 7 8 9 10 11 12 13 -0 2 5 6 7 8 9 10 11 12 14 -0 2 5 6 7 8 9 10 11 12 15 -0 2 5 6 7 8 9 10 11 13 14 -0 2 5 6 7 8 9 10 11 13 15 -0 2 5 6 7 8 9 10 11 14 15 -0 2 5 6 7 8 9 10 12 13 14 -0 2 5 6 7 8 9 10 12 13 15 -0 2 5 6 7 8 9 10 12 14 15 -0 2 5 6 7 8 9 10 13 14 15 -0 2 5 6 7 8 9 11 12 13 14 -0 2 5 6 7 8 9 11 12 13 15 -0 2 5 6 7 8 9 11 12 14 15 -0 2 5 6 7 8 9 11 13 14 15 -0 2 5 6 7 8 9 12 13 14 15 -0 2 5 6 7 8 10 11 12 13 14 -0 2 5 6 7 8 10 11 12 13 15 -0 2 5 6 7 8 10 11 12 14 15 -0 2 5 6 7 8 10 11 13 14 15 -0 2 5 6 7 8 10 12 13 14 15 -0 2 5 6 7 8 11 12 13 14 15 -0 2 5 6 7 9 10 11 12 13 14 -0 2 5 6 7 9 10 11 12 13 15 -0 2 5 6 7 9 10 11 12 14 15 -0 2 5 6 7 9 10 11 13 14 15 -0 2 5 6 7 9 10 12 13 14 15 -0 2 5 6 7 9 11 12 13 14 15 -0 2 5 6 7 10 11 12 13 14 15 -0 2 5 6 8 9 10 11 12 13 14 -0 2 5 6 8 9 10 11 12 13 15 -0 2 5 6 8 9 10 11 12 14 15 -0 2 5 6 8 9 10 11 13 14 15 -0 2 5 6 8 9 10 12 13 14 15 -0 2 5 6 8 9 11 12 13 14 15 -0 2 5 6 8 10 11 12 13 14 15 -0 2 5 6 9 10 11 12 13 14 15 -0 2 5 7 8 9 10 11 12 13 14 -0 2 5 7 8 9 10 11 12 13 15 -0 2 5 7 8 9 10 11 12 14 15 -0 2 5 7 8 9 10 11 13 14 15 -0 2 5 7 8 9 10 12 13 14 15 -0 2 5 7 8 9 11 12 13 14 15 -0 2 5 7 8 10 11 12 13 14 15 -0 2 5 7 9 10 11 12 13 14 15 -0 2 5 8 9 10 11 12 13 14 15 -0 2 6 7 8 9 10 11 12 13 14 -0 2 6 7 8 9 10 11 12 13 15 -0 2 6 7 8 9 10 11 12 14 15 -0 2 6 7 8 9 10 11 13 14 15 -0 2 6 7 8 9 10 12 13 14 15 -0 2 6 7 8 9 11 12 13 14 15 -0 2 6 7 8 10 11 12 13 14 15 -0 2 6 7 9 10 11 12 13 14 15 -0 2 6 8 9 10 11 12 13 14 15 -0 2 7 8 9 10 11 12 13 14 15 -0 3 4 5 6 7 8 9 10 11 12 -0 3 4 5 6 7 8 9 10 11 13 -0 3 4 5 6 7 8 9 10 11 14 -0 3 4 5 6 7 8 9 10 11 15 -0 3 4 5 6 7 8 9 10 12 13 -0 3 4 5 6 7 8 9 10 12 14 -0 3 4 5 6 7 8 9 10 12 15 -0 3 4 5 6 7 8 9 10 13 14 -0 3 4 5 6 7 8 9 10 13 15 -0 3 4 5 6 7 8 9 10 14 15 -0 3 4 5 6 7 8 9 11 12 13 -0 3 4 5 6 7 8 9 11 12 14 -0 3 4 5 6 7 8 9 11 12 15 -0 3 4 5 6 7 8 9 11 13 14 -0 3 4 5 6 7 8 9 11 13 15 -0 3 4 5 6 7 8 9 11 14 15 -0 3 4 5 6 7 8 9 12 13 14 -0 3 4 5 6 7 8 9 12 13 15 -0 3 4 5 6 7 8 9 12 14 15 -0 3 4 5 6 7 8 9 13 14 15 -0 3 4 5 6 7 8 10 11 12 13 -0 3 4 5 6 7 8 10 11 12 14 -0 3 4 5 6 7 8 10 11 12 15 -0 3 4 5 6 7 8 10 11 13 14 -0 3 4 5 6 7 8 10 11 13 15 -0 3 4 5 6 7 8 10 11 14 15 -0 3 4 5 6 7 8 10 12 13 14 -0 3 4 5 6 7 8 10 12 13 15 -0 3 4 5 6 7 8 10 12 14 15 -0 3 4 5 6 7 8 10 13 14 15 -0 3 4 5 6 7 8 11 12 13 14 -0 3 4 5 6 7 8 11 12 13 15 -0 3 4 5 6 7 8 11 12 14 15 -0 3 4 5 6 7 8 11 13 14 15 -0 3 4 5 6 7 8 12 13 14 15 -0 3 4 5 6 7 9 10 11 12 13 -0 3 4 5 6 7 9 10 11 12 14 -0 3 4 5 6 7 9 10 11 12 15 -0 3 4 5 6 7 9 10 11 13 14 -0 3 4 5 6 7 9 10 11 13 15 -0 3 4 5 6 7 9 10 11 14 15 -0 3 4 5 6 7 9 10 12 13 14 -0 3 4 5 6 7 9 10 12 13 15 -0 3 4 5 6 7 9 10 12 14 15 -0 3 4 5 6 7 9 10 13 14 15 -0 3 4 5 6 7 9 11 12 13 14 -0 3 4 5 6 7 9 11 12 13 15 -0 3 4 5 6 7 9 11 12 14 15 -0 3 4 5 6 7 9 11 13 14 15 -0 3 4 5 6 7 9 12 13 14 15 -0 3 4 5 6 7 10 11 12 13 14 -0 3 4 5 6 7 10 11 12 13 15 -0 3 4 5 6 7 10 11 12 14 15 -0 3 4 5 6 7 10 11 13 14 15 -0 3 4 5 6 7 10 12 13 14 15 -0 3 4 5 6 7 11 12 13 14 15 -0 3 4 5 6 8 9 10 11 12 13 -0 3 4 5 6 8 9 10 11 12 14 -0 3 4 5 6 8 9 10 11 12 15 -0 3 4 5 6 8 9 10 11 13 14 -0 3 4 5 6 8 9 10 11 13 15 -0 3 4 5 6 8 9 10 11 14 15 -0 3 4 5 6 8 9 10 12 13 14 -0 3 4 5 6 8 9 10 12 13 15 -0 3 4 5 6 8 9 10 12 14 15 -0 3 4 5 6 8 9 10 13 14 15 -0 3 4 5 6 8 9 11 12 13 14 -0 3 4 5 6 8 9 11 12 13 15 -0 3 4 5 6 8 9 11 12 14 15 -0 3 4 5 6 8 9 11 13 14 15 -0 3 4 5 6 8 9 12 13 14 15 -0 3 4 5 6 8 10 11 12 13 14 -0 3 4 5 6 8 10 11 12 13 15 -0 3 4 5 6 8 10 11 12 14 15 -0 3 4 5 6 8 10 11 13 14 15 -0 3 4 5 6 8 10 12 13 14 15 -0 3 4 5 6 8 11 12 13 14 15 -0 3 4 5 6 9 10 11 12 13 14 -0 3 4 5 6 9 10 11 12 13 15 -0 3 4 5 6 9 10 11 12 14 15 -0 3 4 5 6 9 10 11 13 14 15 -0 3 4 5 6 9 10 12 13 14 15 -0 3 4 5 6 9 11 12 13 14 15 -0 3 4 5 6 10 11 12 13 14 15 -0 3 4 5 7 8 9 10 11 12 13 -0 3 4 5 7 8 9 10 11 12 14 -0 3 4 5 7 8 9 10 11 12 15 -0 3 4 5 7 8 9 10 11 13 14 -0 3 4 5 7 8 9 10 11 13 15 -0 3 4 5 7 8 9 10 11 14 15 -0 3 4 5 7 8 9 10 12 13 14 -0 3 4 5 7 8 9 10 12 13 15 -0 3 4 5 7 8 9 10 12 14 15 -0 3 4 5 7 8 9 10 13 14 15 -0 3 4 5 7 8 9 11 12 13 14 -0 3 4 5 7 8 9 11 12 13 15 -0 3 4 5 7 8 9 11 12 14 15 -0 3 4 5 7 8 9 11 13 14 15 -0 3 4 5 7 8 9 12 13 14 15 -0 3 4 5 7 8 10 11 12 13 14 -0 3 4 5 7 8 10 11 12 13 15 -0 3 4 5 7 8 10 11 12 14 15 -0 3 4 5 7 8 10 11 13 14 15 -0 3 4 5 7 8 10 12 13 14 15 -0 3 4 5 7 8 11 12 13 14 15 -0 3 4 5 7 9 10 11 12 13 14 -0 3 4 5 7 9 10 11 12 13 15 -0 3 4 5 7 9 10 11 12 14 15 -0 3 4 5 7 9 10 11 13 14 15 -0 3 4 5 7 9 10 12 13 14 15 -0 3 4 5 7 9 11 12 13 14 15 -0 3 4 5 7 10 11 12 13 14 15 -0 3 4 5 8 9 10 11 12 13 14 -0 3 4 5 8 9 10 11 12 13 15 -0 3 4 5 8 9 10 11 12 14 15 -0 3 4 5 8 9 10 11 13 14 15 -0 3 4 5 8 9 10 12 13 14 15 -0 3 4 5 8 9 11 12 13 14 15 -0 3 4 5 8 10 11 12 13 14 15 -0 3 4 5 9 10 11 12 13 14 15 -0 3 4 6 7 8 9 10 11 12 13 -0 3 4 6 7 8 9 10 11 12 14 -0 3 4 6 7 8 9 10 11 12 15 -0 3 4 6 7 8 9 10 11 13 14 -0 3 4 6 7 8 9 10 11 13 15 -0 3 4 6 7 8 9 10 11 14 15 -0 3 4 6 7 8 9 10 12 13 14 -0 3 4 6 7 8 9 10 12 13 15 -0 3 4 6 7 8 9 10 12 14 15 -0 3 4 6 7 8 9 10 13 14 15 -0 3 4 6 7 8 9 11 12 13 14 -0 3 4 6 7 8 9 11 12 13 15 -0 3 4 6 7 8 9 11 12 14 15 -0 3 4 6 7 8 9 11 13 14 15 -0 3 4 6 7 8 9 12 13 14 15 -0 3 4 6 7 8 10 11 12 13 14 -0 3 4 6 7 8 10 11 12 13 15 -0 3 4 6 7 8 10 11 12 14 15 -0 3 4 6 7 8 10 11 13 14 15 -0 3 4 6 7 8 10 12 13 14 15 -0 3 4 6 7 8 11 12 13 14 15 -0 3 4 6 7 9 10 11 12 13 14 -0 3 4 6 7 9 10 11 12 13 15 -0 3 4 6 7 9 10 11 12 14 15 -0 3 4 6 7 9 10 11 13 14 15 -0 3 4 6 7 9 10 12 13 14 15 -0 3 4 6 7 9 11 12 13 14 15 -0 3 4 6 7 10 11 12 13 14 15 -0 3 4 6 8 9 10 11 12 13 14 -0 3 4 6 8 9 10 11 12 13 15 -0 3 4 6 8 9 10 11 12 14 15 -0 3 4 6 8 9 10 11 13 14 15 -0 3 4 6 8 9 10 12 13 14 15 -0 3 4 6 8 9 11 12 13 14 15 -0 3 4 6 8 10 11 12 13 14 15 -0 3 4 6 9 10 11 12 13 14 15 -0 3 4 7 8 9 10 11 12 13 14 -0 3 4 7 8 9 10 11 12 13 15 -0 3 4 7 8 9 10 11 12 14 15 -0 3 4 7 8 9 10 11 13 14 15 -0 3 4 7 8 9 10 12 13 14 15 -0 3 4 7 8 9 11 12 13 14 15 -0 3 4 7 8 10 11 12 13 14 15 -0 3 4 7 9 10 11 12 13 14 15 -0 3 4 8 9 10 11 12 13 14 15 -0 3 5 6 7 8 9 10 11 12 13 -0 3 5 6 7 8 9 10 11 12 14 -0 3 5 6 7 8 9 10 11 12 15 -0 3 5 6 7 8 9 10 11 13 14 -0 3 5 6 7 8 9 10 11 13 15 -0 3 5 6 7 8 9 10 11 14 15 -0 3 5 6 7 8 9 10 12 13 14 -0 3 5 6 7 8 9 10 12 13 15 -0 3 5 6 7 8 9 10 12 14 15 -0 3 5 6 7 8 9 10 13 14 15 -0 3 5 6 7 8 9 11 12 13 14 -0 3 5 6 7 8 9 11 12 13 15 -0 3 5 6 7 8 9 11 12 14 15 -0 3 5 6 7 8 9 11 13 14 15 -0 3 5 6 7 8 9 12 13 14 15 -0 3 5 6 7 8 10 11 12 13 14 -0 3 5 6 7 8 10 11 12 13 15 -0 3 5 6 7 8 10 11 12 14 15 -0 3 5 6 7 8 10 11 13 14 15 -0 3 5 6 7 8 10 12 13 14 15 -0 3 5 6 7 8 11 12 13 14 15 -0 3 5 6 7 9 10 11 12 13 14 -0 3 5 6 7 9 10 11 12 13 15 -0 3 5 6 7 9 10 11 12 14 15 -0 3 5 6 7 9 10 11 13 14 15 -0 3 5 6 7 9 10 12 13 14 15 -0 3 5 6 7 9 11 12 13 14 15 -0 3 5 6 7 10 11 12 13 14 15 -0 3 5 6 8 9 10 11 12 13 14 -0 3 5 6 8 9 10 11 12 13 15 -0 3 5 6 8 9 10 11 12 14 15 -0 3 5 6 8 9 10 11 13 14 15 -0 3 5 6 8 9 10 12 13 14 15 -0 3 5 6 8 9 11 12 13 14 15 -0 3 5 6 8 10 11 12 13 14 15 -0 3 5 6 9 10 11 12 13 14 15 -0 3 5 7 8 9 10 11 12 13 14 -0 3 5 7 8 9 10 11 12 13 15 -0 3 5 7 8 9 10 11 12 14 15 -0 3 5 7 8 9 10 11 13 14 15 -0 3 5 7 8 9 10 12 13 14 15 -0 3 5 7 8 9 11 12 13 14 15 -0 3 5 7 8 10 11 12 13 14 15 -0 3 5 7 9 10 11 12 13 14 15 -0 3 5 8 9 10 11 12 13 14 15 -0 3 6 7 8 9 10 11 12 13 14 -0 3 6 7 8 9 10 11 12 13 15 -0 3 6 7 8 9 10 11 12 14 15 -0 3 6 7 8 9 10 11 13 14 15 -0 3 6 7 8 9 10 12 13 14 15 -0 3 6 7 8 9 11 12 13 14 15 -0 3 6 7 8 10 11 12 13 14 15 -0 3 6 7 9 10 11 12 13 14 15 -0 3 6 8 9 10 11 12 13 14 15 -0 3 7 8 9 10 11 12 13 14 15 -0 4 5 6 7 8 9 10 11 12 13 -0 4 5 6 7 8 9 10 11 12 14 -0 4 5 6 7 8 9 10 11 12 15 -0 4 5 6 7 8 9 10 11 13 14 -0 4 5 6 7 8 9 10 11 13 15 -0 4 5 6 7 8 9 10 11 14 15 -0 4 5 6 7 8 9 10 12 13 14 -0 4 5 6 7 8 9 10 12 13 15 -0 4 5 6 7 8 9 10 12 14 15 -0 4 5 6 7 8 9 10 13 14 15 -0 4 5 6 7 8 9 11 12 13 14 -0 4 5 6 7 8 9 11 12 13 15 -0 4 5 6 7 8 9 11 12 14 15 -0 4 5 6 7 8 9 11 13 14 15 -0 4 5 6 7 8 9 12 13 14 15 -0 4 5 6 7 8 10 11 12 13 14 -0 4 5 6 7 8 10 11 12 13 15 -0 4 5 6 7 8 10 11 12 14 15 -0 4 5 6 7 8 10 11 13 14 15 -0 4 5 6 7 8 10 12 13 14 15 -0 4 5 6 7 8 11 12 13 14 15 -0 4 5 6 7 9 10 11 12 13 14 -0 4 5 6 7 9 10 11 12 13 15 -0 4 5 6 7 9 10 11 12 14 15 -0 4 5 6 7 9 10 11 13 14 15 -0 4 5 6 7 9 10 12 13 14 15 -0 4 5 6 7 9 11 12 13 14 15 -0 4 5 6 7 10 11 12 13 14 15 -0 4 5 6 8 9 10 11 12 13 14 -0 4 5 6 8 9 10 11 12 13 15 -0 4 5 6 8 9 10 11 12 14 15 -0 4 5 6 8 9 10 11 13 14 15 -0 4 5 6 8 9 10 12 13 14 15 -0 4 5 6 8 9 11 12 13 14 15 -0 4 5 6 8 10 11 12 13 14 15 -0 4 5 6 9 10 11 12 13 14 15 -0 4 5 7 8 9 10 11 12 13 14 -0 4 5 7 8 9 10 11 12 13 15 -0 4 5 7 8 9 10 11 12 14 15 -0 4 5 7 8 9 10 11 13 14 15 -0 4 5 7 8 9 10 12 13 14 15 -0 4 5 7 8 9 11 12 13 14 15 -0 4 5 7 8 10 11 12 13 14 15 -0 4 5 7 9 10 11 12 13 14 15 -0 4 5 8 9 10 11 12 13 14 15 -0 4 6 7 8 9 10 11 12 13 14 -0 4 6 7 8 9 10 11 12 13 15 -0 4 6 7 8 9 10 11 12 14 15 -0 4 6 7 8 9 10 11 13 14 15 -0 4 6 7 8 9 10 12 13 14 15 -0 4 6 7 8 9 11 12 13 14 15 -0 4 6 7 8 10 11 12 13 14 15 -0 4 6 7 9 10 11 12 13 14 15 -0 4 6 8 9 10 11 12 13 14 15 -0 4 7 8 9 10 11 12 13 14 15 -0 5 6 7 8 9 10 11 12 13 14 -0 5 6 7 8 9 10 11 12 13 15 -0 5 6 7 8 9 10 11 12 14 15 -0 5 6 7 8 9 10 11 13 14 15 -0 5 6 7 8 9 10 12 13 14 15 -0 5 6 7 8 9 11 12 13 14 15 -0 5 6 7 8 10 11 12 13 14 15 -0 5 6 7 9 10 11 12 13 14 15 -0 5 6 8 9 10 11 12 13 14 15 -0 5 7 8 9 10 11 12 13 14 15 -0 6 7 8 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 9 10 11 -1 2 3 4 5 6 7 8 9 10 12 -1 2 3 4 5 6 7 8 9 10 13 -1 2 3 4 5 6 7 8 9 10 14 -1 2 3 4 5 6 7 8 9 10 15 -1 2 3 4 5 6 7 8 9 11 12 -1 2 3 4 5 6 7 8 9 11 13 -1 2 3 4 5 6 7 8 9 11 14 -1 2 3 4 5 6 7 8 9 11 15 -1 2 3 4 5 6 7 8 9 12 13 -1 2 3 4 5 6 7 8 9 12 14 -1 2 3 4 5 6 7 8 9 12 15 -1 2 3 4 5 6 7 8 9 13 14 -1 2 3 4 5 6 7 8 9 13 15 -1 2 3 4 5 6 7 8 9 14 15 -1 2 3 4 5 6 7 8 10 11 12 -1 2 3 4 5 6 7 8 10 11 13 -1 2 3 4 5 6 7 8 10 11 14 -1 2 3 4 5 6 7 8 10 11 15 -1 2 3 4 5 6 7 8 10 12 13 -1 2 3 4 5 6 7 8 10 12 14 -1 2 3 4 5 6 7 8 10 12 15 -1 2 3 4 5 6 7 8 10 13 14 -1 2 3 4 5 6 7 8 10 13 15 -1 2 3 4 5 6 7 8 10 14 15 -1 2 3 4 5 6 7 8 11 12 13 -1 2 3 4 5 6 7 8 11 12 14 -1 2 3 4 5 6 7 8 11 12 15 -1 2 3 4 5 6 7 8 11 13 14 -1 2 3 4 5 6 7 8 11 13 15 -1 2 3 4 5 6 7 8 11 14 15 -1 2 3 4 5 6 7 8 12 13 14 -1 2 3 4 5 6 7 8 12 13 15 -1 2 3 4 5 6 7 8 12 14 15 -1 2 3 4 5 6 7 8 13 14 15 -1 2 3 4 5 6 7 9 10 11 12 -1 2 3 4 5 6 7 9 10 11 13 -1 2 3 4 5 6 7 9 10 11 14 -1 2 3 4 5 6 7 9 10 11 15 -1 2 3 4 5 6 7 9 10 12 13 -1 2 3 4 5 6 7 9 10 12 14 -1 2 3 4 5 6 7 9 10 12 15 -1 2 3 4 5 6 7 9 10 13 14 -1 2 3 4 5 6 7 9 10 13 15 -1 2 3 4 5 6 7 9 10 14 15 -1 2 3 4 5 6 7 9 11 12 13 -1 2 3 4 5 6 7 9 11 12 14 -1 2 3 4 5 6 7 9 11 12 15 -1 2 3 4 5 6 7 9 11 13 14 -1 2 3 4 5 6 7 9 11 13 15 -1 2 3 4 5 6 7 9 11 14 15 -1 2 3 4 5 6 7 9 12 13 14 -1 2 3 4 5 6 7 9 12 13 15 -1 2 3 4 5 6 7 9 12 14 15 -1 2 3 4 5 6 7 9 13 14 15 -1 2 3 4 5 6 7 10 11 12 13 -1 2 3 4 5 6 7 10 11 12 14 -1 2 3 4 5 6 7 10 11 12 15 -1 2 3 4 5 6 7 10 11 13 14 -1 2 3 4 5 6 7 10 11 13 15 -1 2 3 4 5 6 7 10 11 14 15 -1 2 3 4 5 6 7 10 12 13 14 -1 2 3 4 5 6 7 10 12 13 15 -1 2 3 4 5 6 7 10 12 14 15 -1 2 3 4 5 6 7 10 13 14 15 -1 2 3 4 5 6 7 11 12 13 14 -1 2 3 4 5 6 7 11 12 13 15 -1 2 3 4 5 6 7 11 12 14 15 -1 2 3 4 5 6 7 11 13 14 15 -1 2 3 4 5 6 7 12 13 14 15 -1 2 3 4 5 6 8 9 10 11 12 -1 2 3 4 5 6 8 9 10 11 13 -1 2 3 4 5 6 8 9 10 11 14 -1 2 3 4 5 6 8 9 10 11 15 -1 2 3 4 5 6 8 9 10 12 13 -1 2 3 4 5 6 8 9 10 12 14 -1 2 3 4 5 6 8 9 10 12 15 -1 2 3 4 5 6 8 9 10 13 14 -1 2 3 4 5 6 8 9 10 13 15 -1 2 3 4 5 6 8 9 10 14 15 -1 2 3 4 5 6 8 9 11 12 13 -1 2 3 4 5 6 8 9 11 12 14 -1 2 3 4 5 6 8 9 11 12 15 -1 2 3 4 5 6 8 9 11 13 14 -1 2 3 4 5 6 8 9 11 13 15 -1 2 3 4 5 6 8 9 11 14 15 -1 2 3 4 5 6 8 9 12 13 14 -1 2 3 4 5 6 8 9 12 13 15 -1 2 3 4 5 6 8 9 12 14 15 -1 2 3 4 5 6 8 9 13 14 15 -1 2 3 4 5 6 8 10 11 12 13 -1 2 3 4 5 6 8 10 11 12 14 -1 2 3 4 5 6 8 10 11 12 15 -1 2 3 4 5 6 8 10 11 13 14 -1 2 3 4 5 6 8 10 11 13 15 -1 2 3 4 5 6 8 10 11 14 15 -1 2 3 4 5 6 8 10 12 13 14 -1 2 3 4 5 6 8 10 12 13 15 -1 2 3 4 5 6 8 10 12 14 15 -1 2 3 4 5 6 8 10 13 14 15 -1 2 3 4 5 6 8 11 12 13 14 -1 2 3 4 5 6 8 11 12 13 15 -1 2 3 4 5 6 8 11 12 14 15 -1 2 3 4 5 6 8 11 13 14 15 -1 2 3 4 5 6 8 12 13 14 15 -1 2 3 4 5 6 9 10 11 12 13 -1 2 3 4 5 6 9 10 11 12 14 -1 2 3 4 5 6 9 10 11 12 15 -1 2 3 4 5 6 9 10 11 13 14 -1 2 3 4 5 6 9 10 11 13 15 -1 2 3 4 5 6 9 10 11 14 15 -1 2 3 4 5 6 9 10 12 13 14 -1 2 3 4 5 6 9 10 12 13 15 -1 2 3 4 5 6 9 10 12 14 15 -1 2 3 4 5 6 9 10 13 14 15 -1 2 3 4 5 6 9 11 12 13 14 -1 2 3 4 5 6 9 11 12 13 15 -1 2 3 4 5 6 9 11 12 14 15 -1 2 3 4 5 6 9 11 13 14 15 -1 2 3 4 5 6 9 12 13 14 15 -1 2 3 4 5 6 10 11 12 13 14 -1 2 3 4 5 6 10 11 12 13 15 -1 2 3 4 5 6 10 11 12 14 15 -1 2 3 4 5 6 10 11 13 14 15 -1 2 3 4 5 6 10 12 13 14 15 -1 2 3 4 5 6 11 12 13 14 15 -1 2 3 4 5 7 8 9 10 11 12 -1 2 3 4 5 7 8 9 10 11 13 -1 2 3 4 5 7 8 9 10 11 14 -1 2 3 4 5 7 8 9 10 11 15 -1 2 3 4 5 7 8 9 10 12 13 -1 2 3 4 5 7 8 9 10 12 14 -1 2 3 4 5 7 8 9 10 12 15 -1 2 3 4 5 7 8 9 10 13 14 -1 2 3 4 5 7 8 9 10 13 15 -1 2 3 4 5 7 8 9 10 14 15 -1 2 3 4 5 7 8 9 11 12 13 -1 2 3 4 5 7 8 9 11 12 14 -1 2 3 4 5 7 8 9 11 12 15 -1 2 3 4 5 7 8 9 11 13 14 -1 2 3 4 5 7 8 9 11 13 15 -1 2 3 4 5 7 8 9 11 14 15 -1 2 3 4 5 7 8 9 12 13 14 -1 2 3 4 5 7 8 9 12 13 15 -1 2 3 4 5 7 8 9 12 14 15 -1 2 3 4 5 7 8 9 13 14 15 -1 2 3 4 5 7 8 10 11 12 13 -1 2 3 4 5 7 8 10 11 12 14 -1 2 3 4 5 7 8 10 11 12 15 -1 2 3 4 5 7 8 10 11 13 14 -1 2 3 4 5 7 8 10 11 13 15 -1 2 3 4 5 7 8 10 11 14 15 -1 2 3 4 5 7 8 10 12 13 14 -1 2 3 4 5 7 8 10 12 13 15 -1 2 3 4 5 7 8 10 12 14 15 -1 2 3 4 5 7 8 10 13 14 15 -1 2 3 4 5 7 8 11 12 13 14 -1 2 3 4 5 7 8 11 12 13 15 -1 2 3 4 5 7 8 11 12 14 15 -1 2 3 4 5 7 8 11 13 14 15 -1 2 3 4 5 7 8 12 13 14 15 -1 2 3 4 5 7 9 10 11 12 13 -1 2 3 4 5 7 9 10 11 12 14 -1 2 3 4 5 7 9 10 11 12 15 -1 2 3 4 5 7 9 10 11 13 14 -1 2 3 4 5 7 9 10 11 13 15 -1 2 3 4 5 7 9 10 11 14 15 -1 2 3 4 5 7 9 10 12 13 14 -1 2 3 4 5 7 9 10 12 13 15 -1 2 3 4 5 7 9 10 12 14 15 -1 2 3 4 5 7 9 10 13 14 15 -1 2 3 4 5 7 9 11 12 13 14 -1 2 3 4 5 7 9 11 12 13 15 -1 2 3 4 5 7 9 11 12 14 15 -1 2 3 4 5 7 9 11 13 14 15 -1 2 3 4 5 7 9 12 13 14 15 -1 2 3 4 5 7 10 11 12 13 14 -1 2 3 4 5 7 10 11 12 13 15 -1 2 3 4 5 7 10 11 12 14 15 -1 2 3 4 5 7 10 11 13 14 15 -1 2 3 4 5 7 10 12 13 14 15 -1 2 3 4 5 7 11 12 13 14 15 -1 2 3 4 5 8 9 10 11 12 13 -1 2 3 4 5 8 9 10 11 12 14 -1 2 3 4 5 8 9 10 11 12 15 -1 2 3 4 5 8 9 10 11 13 14 -1 2 3 4 5 8 9 10 11 13 15 -1 2 3 4 5 8 9 10 11 14 15 -1 2 3 4 5 8 9 10 12 13 14 -1 2 3 4 5 8 9 10 12 13 15 -1 2 3 4 5 8 9 10 12 14 15 -1 2 3 4 5 8 9 10 13 14 15 -1 2 3 4 5 8 9 11 12 13 14 -1 2 3 4 5 8 9 11 12 13 15 -1 2 3 4 5 8 9 11 12 14 15 -1 2 3 4 5 8 9 11 13 14 15 -1 2 3 4 5 8 9 12 13 14 15 -1 2 3 4 5 8 10 11 12 13 14 -1 2 3 4 5 8 10 11 12 13 15 -1 2 3 4 5 8 10 11 12 14 15 -1 2 3 4 5 8 10 11 13 14 15 -1 2 3 4 5 8 10 12 13 14 15 -1 2 3 4 5 8 11 12 13 14 15 -1 2 3 4 5 9 10 11 12 13 14 -1 2 3 4 5 9 10 11 12 13 15 -1 2 3 4 5 9 10 11 12 14 15 -1 2 3 4 5 9 10 11 13 14 15 -1 2 3 4 5 9 10 12 13 14 15 -1 2 3 4 5 9 11 12 13 14 15 -1 2 3 4 5 10 11 12 13 14 15 -1 2 3 4 6 7 8 9 10 11 12 -1 2 3 4 6 7 8 9 10 11 13 -1 2 3 4 6 7 8 9 10 11 14 -1 2 3 4 6 7 8 9 10 11 15 -1 2 3 4 6 7 8 9 10 12 13 -1 2 3 4 6 7 8 9 10 12 14 -1 2 3 4 6 7 8 9 10 12 15 -1 2 3 4 6 7 8 9 10 13 14 -1 2 3 4 6 7 8 9 10 13 15 -1 2 3 4 6 7 8 9 10 14 15 -1 2 3 4 6 7 8 9 11 12 13 -1 2 3 4 6 7 8 9 11 12 14 -1 2 3 4 6 7 8 9 11 12 15 -1 2 3 4 6 7 8 9 11 13 14 -1 2 3 4 6 7 8 9 11 13 15 -1 2 3 4 6 7 8 9 11 14 15 -1 2 3 4 6 7 8 9 12 13 14 -1 2 3 4 6 7 8 9 12 13 15 -1 2 3 4 6 7 8 9 12 14 15 -1 2 3 4 6 7 8 9 13 14 15 -1 2 3 4 6 7 8 10 11 12 13 -1 2 3 4 6 7 8 10 11 12 14 -1 2 3 4 6 7 8 10 11 12 15 -1 2 3 4 6 7 8 10 11 13 14 -1 2 3 4 6 7 8 10 11 13 15 -1 2 3 4 6 7 8 10 11 14 15 -1 2 3 4 6 7 8 10 12 13 14 -1 2 3 4 6 7 8 10 12 13 15 -1 2 3 4 6 7 8 10 12 14 15 -1 2 3 4 6 7 8 10 13 14 15 -1 2 3 4 6 7 8 11 12 13 14 -1 2 3 4 6 7 8 11 12 13 15 -1 2 3 4 6 7 8 11 12 14 15 -1 2 3 4 6 7 8 11 13 14 15 -1 2 3 4 6 7 8 12 13 14 15 -1 2 3 4 6 7 9 10 11 12 13 -1 2 3 4 6 7 9 10 11 12 14 -1 2 3 4 6 7 9 10 11 12 15 -1 2 3 4 6 7 9 10 11 13 14 -1 2 3 4 6 7 9 10 11 13 15 -1 2 3 4 6 7 9 10 11 14 15 -1 2 3 4 6 7 9 10 12 13 14 -1 2 3 4 6 7 9 10 12 13 15 -1 2 3 4 6 7 9 10 12 14 15 -1 2 3 4 6 7 9 10 13 14 15 -1 2 3 4 6 7 9 11 12 13 14 -1 2 3 4 6 7 9 11 12 13 15 -1 2 3 4 6 7 9 11 12 14 15 -1 2 3 4 6 7 9 11 13 14 15 -1 2 3 4 6 7 9 12 13 14 15 -1 2 3 4 6 7 10 11 12 13 14 -1 2 3 4 6 7 10 11 12 13 15 -1 2 3 4 6 7 10 11 12 14 15 -1 2 3 4 6 7 10 11 13 14 15 -1 2 3 4 6 7 10 12 13 14 15 -1 2 3 4 6 7 11 12 13 14 15 -1 2 3 4 6 8 9 10 11 12 13 -1 2 3 4 6 8 9 10 11 12 14 -1 2 3 4 6 8 9 10 11 12 15 -1 2 3 4 6 8 9 10 11 13 14 -1 2 3 4 6 8 9 10 11 13 15 -1 2 3 4 6 8 9 10 11 14 15 -1 2 3 4 6 8 9 10 12 13 14 -1 2 3 4 6 8 9 10 12 13 15 -1 2 3 4 6 8 9 10 12 14 15 -1 2 3 4 6 8 9 10 13 14 15 -1 2 3 4 6 8 9 11 12 13 14 -1 2 3 4 6 8 9 11 12 13 15 -1 2 3 4 6 8 9 11 12 14 15 -1 2 3 4 6 8 9 11 13 14 15 -1 2 3 4 6 8 9 12 13 14 15 -1 2 3 4 6 8 10 11 12 13 14 -1 2 3 4 6 8 10 11 12 13 15 -1 2 3 4 6 8 10 11 12 14 15 -1 2 3 4 6 8 10 11 13 14 15 -1 2 3 4 6 8 10 12 13 14 15 -1 2 3 4 6 8 11 12 13 14 15 -1 2 3 4 6 9 10 11 12 13 14 -1 2 3 4 6 9 10 11 12 13 15 -1 2 3 4 6 9 10 11 12 14 15 -1 2 3 4 6 9 10 11 13 14 15 -1 2 3 4 6 9 10 12 13 14 15 -1 2 3 4 6 9 11 12 13 14 15 -1 2 3 4 6 10 11 12 13 14 15 -1 2 3 4 7 8 9 10 11 12 13 -1 2 3 4 7 8 9 10 11 12 14 -1 2 3 4 7 8 9 10 11 12 15 -1 2 3 4 7 8 9 10 11 13 14 -1 2 3 4 7 8 9 10 11 13 15 -1 2 3 4 7 8 9 10 11 14 15 -1 2 3 4 7 8 9 10 12 13 14 -1 2 3 4 7 8 9 10 12 13 15 -1 2 3 4 7 8 9 10 12 14 15 -1 2 3 4 7 8 9 10 13 14 15 -1 2 3 4 7 8 9 11 12 13 14 -1 2 3 4 7 8 9 11 12 13 15 -1 2 3 4 7 8 9 11 12 14 15 -1 2 3 4 7 8 9 11 13 14 15 -1 2 3 4 7 8 9 12 13 14 15 -1 2 3 4 7 8 10 11 12 13 14 -1 2 3 4 7 8 10 11 12 13 15 -1 2 3 4 7 8 10 11 12 14 15 -1 2 3 4 7 8 10 11 13 14 15 -1 2 3 4 7 8 10 12 13 14 15 -1 2 3 4 7 8 11 12 13 14 15 -1 2 3 4 7 9 10 11 12 13 14 -1 2 3 4 7 9 10 11 12 13 15 -1 2 3 4 7 9 10 11 12 14 15 -1 2 3 4 7 9 10 11 13 14 15 -1 2 3 4 7 9 10 12 13 14 15 -1 2 3 4 7 9 11 12 13 14 15 -1 2 3 4 7 10 11 12 13 14 15 -1 2 3 4 8 9 10 11 12 13 14 -1 2 3 4 8 9 10 11 12 13 15 -1 2 3 4 8 9 10 11 12 14 15 -1 2 3 4 8 9 10 11 13 14 15 -1 2 3 4 8 9 10 12 13 14 15 -1 2 3 4 8 9 11 12 13 14 15 -1 2 3 4 8 10 11 12 13 14 15 -1 2 3 4 9 10 11 12 13 14 15 -1 2 3 5 6 7 8 9 10 11 12 -1 2 3 5 6 7 8 9 10 11 13 -1 2 3 5 6 7 8 9 10 11 14 -1 2 3 5 6 7 8 9 10 11 15 -1 2 3 5 6 7 8 9 10 12 13 -1 2 3 5 6 7 8 9 10 12 14 -1 2 3 5 6 7 8 9 10 12 15 -1 2 3 5 6 7 8 9 10 13 14 -1 2 3 5 6 7 8 9 10 13 15 -1 2 3 5 6 7 8 9 10 14 15 -1 2 3 5 6 7 8 9 11 12 13 -1 2 3 5 6 7 8 9 11 12 14 -1 2 3 5 6 7 8 9 11 12 15 -1 2 3 5 6 7 8 9 11 13 14 -1 2 3 5 6 7 8 9 11 13 15 -1 2 3 5 6 7 8 9 11 14 15 -1 2 3 5 6 7 8 9 12 13 14 -1 2 3 5 6 7 8 9 12 13 15 -1 2 3 5 6 7 8 9 12 14 15 -1 2 3 5 6 7 8 9 13 14 15 -1 2 3 5 6 7 8 10 11 12 13 -1 2 3 5 6 7 8 10 11 12 14 -1 2 3 5 6 7 8 10 11 12 15 -1 2 3 5 6 7 8 10 11 13 14 -1 2 3 5 6 7 8 10 11 13 15 -1 2 3 5 6 7 8 10 11 14 15 -1 2 3 5 6 7 8 10 12 13 14 -1 2 3 5 6 7 8 10 12 13 15 -1 2 3 5 6 7 8 10 12 14 15 -1 2 3 5 6 7 8 10 13 14 15 -1 2 3 5 6 7 8 11 12 13 14 -1 2 3 5 6 7 8 11 12 13 15 -1 2 3 5 6 7 8 11 12 14 15 -1 2 3 5 6 7 8 11 13 14 15 -1 2 3 5 6 7 8 12 13 14 15 -1 2 3 5 6 7 9 10 11 12 13 -1 2 3 5 6 7 9 10 11 12 14 -1 2 3 5 6 7 9 10 11 12 15 -1 2 3 5 6 7 9 10 11 13 14 -1 2 3 5 6 7 9 10 11 13 15 -1 2 3 5 6 7 9 10 11 14 15 -1 2 3 5 6 7 9 10 12 13 14 -1 2 3 5 6 7 9 10 12 13 15 -1 2 3 5 6 7 9 10 12 14 15 -1 2 3 5 6 7 9 10 13 14 15 -1 2 3 5 6 7 9 11 12 13 14 -1 2 3 5 6 7 9 11 12 13 15 -1 2 3 5 6 7 9 11 12 14 15 -1 2 3 5 6 7 9 11 13 14 15 -1 2 3 5 6 7 9 12 13 14 15 -1 2 3 5 6 7 10 11 12 13 14 -1 2 3 5 6 7 10 11 12 13 15 -1 2 3 5 6 7 10 11 12 14 15 -1 2 3 5 6 7 10 11 13 14 15 -1 2 3 5 6 7 10 12 13 14 15 -1 2 3 5 6 7 11 12 13 14 15 -1 2 3 5 6 8 9 10 11 12 13 -1 2 3 5 6 8 9 10 11 12 14 -1 2 3 5 6 8 9 10 11 12 15 -1 2 3 5 6 8 9 10 11 13 14 -1 2 3 5 6 8 9 10 11 13 15 -1 2 3 5 6 8 9 10 11 14 15 -1 2 3 5 6 8 9 10 12 13 14 -1 2 3 5 6 8 9 10 12 13 15 -1 2 3 5 6 8 9 10 12 14 15 -1 2 3 5 6 8 9 10 13 14 15 -1 2 3 5 6 8 9 11 12 13 14 -1 2 3 5 6 8 9 11 12 13 15 -1 2 3 5 6 8 9 11 12 14 15 -1 2 3 5 6 8 9 11 13 14 15 -1 2 3 5 6 8 9 12 13 14 15 -1 2 3 5 6 8 10 11 12 13 14 -1 2 3 5 6 8 10 11 12 13 15 -1 2 3 5 6 8 10 11 12 14 15 -1 2 3 5 6 8 10 11 13 14 15 -1 2 3 5 6 8 10 12 13 14 15 -1 2 3 5 6 8 11 12 13 14 15 -1 2 3 5 6 9 10 11 12 13 14 -1 2 3 5 6 9 10 11 12 13 15 -1 2 3 5 6 9 10 11 12 14 15 -1 2 3 5 6 9 10 11 13 14 15 -1 2 3 5 6 9 10 12 13 14 15 -1 2 3 5 6 9 11 12 13 14 15 -1 2 3 5 6 10 11 12 13 14 15 -1 2 3 5 7 8 9 10 11 12 13 -1 2 3 5 7 8 9 10 11 12 14 -1 2 3 5 7 8 9 10 11 12 15 -1 2 3 5 7 8 9 10 11 13 14 -1 2 3 5 7 8 9 10 11 13 15 -1 2 3 5 7 8 9 10 11 14 15 -1 2 3 5 7 8 9 10 12 13 14 -1 2 3 5 7 8 9 10 12 13 15 -1 2 3 5 7 8 9 10 12 14 15 -1 2 3 5 7 8 9 10 13 14 15 -1 2 3 5 7 8 9 11 12 13 14 -1 2 3 5 7 8 9 11 12 13 15 -1 2 3 5 7 8 9 11 12 14 15 -1 2 3 5 7 8 9 11 13 14 15 -1 2 3 5 7 8 9 12 13 14 15 -1 2 3 5 7 8 10 11 12 13 14 -1 2 3 5 7 8 10 11 12 13 15 -1 2 3 5 7 8 10 11 12 14 15 -1 2 3 5 7 8 10 11 13 14 15 -1 2 3 5 7 8 10 12 13 14 15 -1 2 3 5 7 8 11 12 13 14 15 -1 2 3 5 7 9 10 11 12 13 14 -1 2 3 5 7 9 10 11 12 13 15 -1 2 3 5 7 9 10 11 12 14 15 -1 2 3 5 7 9 10 11 13 14 15 -1 2 3 5 7 9 10 12 13 14 15 -1 2 3 5 7 9 11 12 13 14 15 -1 2 3 5 7 10 11 12 13 14 15 -1 2 3 5 8 9 10 11 12 13 14 -1 2 3 5 8 9 10 11 12 13 15 -1 2 3 5 8 9 10 11 12 14 15 -1 2 3 5 8 9 10 11 13 14 15 -1 2 3 5 8 9 10 12 13 14 15 -1 2 3 5 8 9 11 12 13 14 15 -1 2 3 5 8 10 11 12 13 14 15 -1 2 3 5 9 10 11 12 13 14 15 -1 2 3 6 7 8 9 10 11 12 13 -1 2 3 6 7 8 9 10 11 12 14 -1 2 3 6 7 8 9 10 11 12 15 -1 2 3 6 7 8 9 10 11 13 14 -1 2 3 6 7 8 9 10 11 13 15 -1 2 3 6 7 8 9 10 11 14 15 -1 2 3 6 7 8 9 10 12 13 14 -1 2 3 6 7 8 9 10 12 13 15 -1 2 3 6 7 8 9 10 12 14 15 -1 2 3 6 7 8 9 10 13 14 15 -1 2 3 6 7 8 9 11 12 13 14 -1 2 3 6 7 8 9 11 12 13 15 -1 2 3 6 7 8 9 11 12 14 15 -1 2 3 6 7 8 9 11 13 14 15 -1 2 3 6 7 8 9 12 13 14 15 -1 2 3 6 7 8 10 11 12 13 14 -1 2 3 6 7 8 10 11 12 13 15 -1 2 3 6 7 8 10 11 12 14 15 -1 2 3 6 7 8 10 11 13 14 15 -1 2 3 6 7 8 10 12 13 14 15 -1 2 3 6 7 8 11 12 13 14 15 -1 2 3 6 7 9 10 11 12 13 14 -1 2 3 6 7 9 10 11 12 13 15 -1 2 3 6 7 9 10 11 12 14 15 -1 2 3 6 7 9 10 11 13 14 15 -1 2 3 6 7 9 10 12 13 14 15 -1 2 3 6 7 9 11 12 13 14 15 -1 2 3 6 7 10 11 12 13 14 15 -1 2 3 6 8 9 10 11 12 13 14 -1 2 3 6 8 9 10 11 12 13 15 -1 2 3 6 8 9 10 11 12 14 15 -1 2 3 6 8 9 10 11 13 14 15 -1 2 3 6 8 9 10 12 13 14 15 -1 2 3 6 8 9 11 12 13 14 15 -1 2 3 6 8 10 11 12 13 14 15 -1 2 3 6 9 10 11 12 13 14 15 -1 2 3 7 8 9 10 11 12 13 14 -1 2 3 7 8 9 10 11 12 13 15 -1 2 3 7 8 9 10 11 12 14 15 -1 2 3 7 8 9 10 11 13 14 15 -1 2 3 7 8 9 10 12 13 14 15 -1 2 3 7 8 9 11 12 13 14 15 -1 2 3 7 8 10 11 12 13 14 15 -1 2 3 7 9 10 11 12 13 14 15 -1 2 3 8 9 10 11 12 13 14 15 -1 2 4 5 6 7 8 9 10 11 12 -1 2 4 5 6 7 8 9 10 11 13 -1 2 4 5 6 7 8 9 10 11 14 -1 2 4 5 6 7 8 9 10 11 15 -1 2 4 5 6 7 8 9 10 12 13 -1 2 4 5 6 7 8 9 10 12 14 -1 2 4 5 6 7 8 9 10 12 15 -1 2 4 5 6 7 8 9 10 13 14 -1 2 4 5 6 7 8 9 10 13 15 -1 2 4 5 6 7 8 9 10 14 15 -1 2 4 5 6 7 8 9 11 12 13 -1 2 4 5 6 7 8 9 11 12 14 -1 2 4 5 6 7 8 9 11 12 15 -1 2 4 5 6 7 8 9 11 13 14 -1 2 4 5 6 7 8 9 11 13 15 -1 2 4 5 6 7 8 9 11 14 15 -1 2 4 5 6 7 8 9 12 13 14 -1 2 4 5 6 7 8 9 12 13 15 -1 2 4 5 6 7 8 9 12 14 15 -1 2 4 5 6 7 8 9 13 14 15 -1 2 4 5 6 7 8 10 11 12 13 -1 2 4 5 6 7 8 10 11 12 14 -1 2 4 5 6 7 8 10 11 12 15 -1 2 4 5 6 7 8 10 11 13 14 -1 2 4 5 6 7 8 10 11 13 15 -1 2 4 5 6 7 8 10 11 14 15 -1 2 4 5 6 7 8 10 12 13 14 -1 2 4 5 6 7 8 10 12 13 15 -1 2 4 5 6 7 8 10 12 14 15 -1 2 4 5 6 7 8 10 13 14 15 -1 2 4 5 6 7 8 11 12 13 14 -1 2 4 5 6 7 8 11 12 13 15 -1 2 4 5 6 7 8 11 12 14 15 -1 2 4 5 6 7 8 11 13 14 15 -1 2 4 5 6 7 8 12 13 14 15 -1 2 4 5 6 7 9 10 11 12 13 -1 2 4 5 6 7 9 10 11 12 14 -1 2 4 5 6 7 9 10 11 12 15 -1 2 4 5 6 7 9 10 11 13 14 -1 2 4 5 6 7 9 10 11 13 15 -1 2 4 5 6 7 9 10 11 14 15 -1 2 4 5 6 7 9 10 12 13 14 -1 2 4 5 6 7 9 10 12 13 15 -1 2 4 5 6 7 9 10 12 14 15 -1 2 4 5 6 7 9 10 13 14 15 -1 2 4 5 6 7 9 11 12 13 14 -1 2 4 5 6 7 9 11 12 13 15 -1 2 4 5 6 7 9 11 12 14 15 -1 2 4 5 6 7 9 11 13 14 15 -1 2 4 5 6 7 9 12 13 14 15 -1 2 4 5 6 7 10 11 12 13 14 -1 2 4 5 6 7 10 11 12 13 15 -1 2 4 5 6 7 10 11 12 14 15 -1 2 4 5 6 7 10 11 13 14 15 -1 2 4 5 6 7 10 12 13 14 15 -1 2 4 5 6 7 11 12 13 14 15 -1 2 4 5 6 8 9 10 11 12 13 -1 2 4 5 6 8 9 10 11 12 14 -1 2 4 5 6 8 9 10 11 12 15 -1 2 4 5 6 8 9 10 11 13 14 -1 2 4 5 6 8 9 10 11 13 15 -1 2 4 5 6 8 9 10 11 14 15 -1 2 4 5 6 8 9 10 12 13 14 -1 2 4 5 6 8 9 10 12 13 15 -1 2 4 5 6 8 9 10 12 14 15 -1 2 4 5 6 8 9 10 13 14 15 -1 2 4 5 6 8 9 11 12 13 14 -1 2 4 5 6 8 9 11 12 13 15 -1 2 4 5 6 8 9 11 12 14 15 -1 2 4 5 6 8 9 11 13 14 15 -1 2 4 5 6 8 9 12 13 14 15 -1 2 4 5 6 8 10 11 12 13 14 -1 2 4 5 6 8 10 11 12 13 15 -1 2 4 5 6 8 10 11 12 14 15 -1 2 4 5 6 8 10 11 13 14 15 -1 2 4 5 6 8 10 12 13 14 15 -1 2 4 5 6 8 11 12 13 14 15 -1 2 4 5 6 9 10 11 12 13 14 -1 2 4 5 6 9 10 11 12 13 15 -1 2 4 5 6 9 10 11 12 14 15 -1 2 4 5 6 9 10 11 13 14 15 -1 2 4 5 6 9 10 12 13 14 15 -1 2 4 5 6 9 11 12 13 14 15 -1 2 4 5 6 10 11 12 13 14 15 -1 2 4 5 7 8 9 10 11 12 13 -1 2 4 5 7 8 9 10 11 12 14 -1 2 4 5 7 8 9 10 11 12 15 -1 2 4 5 7 8 9 10 11 13 14 -1 2 4 5 7 8 9 10 11 13 15 -1 2 4 5 7 8 9 10 11 14 15 -1 2 4 5 7 8 9 10 12 13 14 -1 2 4 5 7 8 9 10 12 13 15 -1 2 4 5 7 8 9 10 12 14 15 -1 2 4 5 7 8 9 10 13 14 15 -1 2 4 5 7 8 9 11 12 13 14 -1 2 4 5 7 8 9 11 12 13 15 -1 2 4 5 7 8 9 11 12 14 15 -1 2 4 5 7 8 9 11 13 14 15 -1 2 4 5 7 8 9 12 13 14 15 -1 2 4 5 7 8 10 11 12 13 14 -1 2 4 5 7 8 10 11 12 13 15 -1 2 4 5 7 8 10 11 12 14 15 -1 2 4 5 7 8 10 11 13 14 15 -1 2 4 5 7 8 10 12 13 14 15 -1 2 4 5 7 8 11 12 13 14 15 -1 2 4 5 7 9 10 11 12 13 14 -1 2 4 5 7 9 10 11 12 13 15 -1 2 4 5 7 9 10 11 12 14 15 -1 2 4 5 7 9 10 11 13 14 15 -1 2 4 5 7 9 10 12 13 14 15 -1 2 4 5 7 9 11 12 13 14 15 -1 2 4 5 7 10 11 12 13 14 15 -1 2 4 5 8 9 10 11 12 13 14 -1 2 4 5 8 9 10 11 12 13 15 -1 2 4 5 8 9 10 11 12 14 15 -1 2 4 5 8 9 10 11 13 14 15 -1 2 4 5 8 9 10 12 13 14 15 -1 2 4 5 8 9 11 12 13 14 15 -1 2 4 5 8 10 11 12 13 14 15 -1 2 4 5 9 10 11 12 13 14 15 -1 2 4 6 7 8 9 10 11 12 13 -1 2 4 6 7 8 9 10 11 12 14 -1 2 4 6 7 8 9 10 11 12 15 -1 2 4 6 7 8 9 10 11 13 14 -1 2 4 6 7 8 9 10 11 13 15 -1 2 4 6 7 8 9 10 11 14 15 -1 2 4 6 7 8 9 10 12 13 14 -1 2 4 6 7 8 9 10 12 13 15 -1 2 4 6 7 8 9 10 12 14 15 -1 2 4 6 7 8 9 10 13 14 15 -1 2 4 6 7 8 9 11 12 13 14 -1 2 4 6 7 8 9 11 12 13 15 -1 2 4 6 7 8 9 11 12 14 15 -1 2 4 6 7 8 9 11 13 14 15 -1 2 4 6 7 8 9 12 13 14 15 -1 2 4 6 7 8 10 11 12 13 14 -1 2 4 6 7 8 10 11 12 13 15 -1 2 4 6 7 8 10 11 12 14 15 -1 2 4 6 7 8 10 11 13 14 15 -1 2 4 6 7 8 10 12 13 14 15 -1 2 4 6 7 8 11 12 13 14 15 -1 2 4 6 7 9 10 11 12 13 14 -1 2 4 6 7 9 10 11 12 13 15 -1 2 4 6 7 9 10 11 12 14 15 -1 2 4 6 7 9 10 11 13 14 15 -1 2 4 6 7 9 10 12 13 14 15 -1 2 4 6 7 9 11 12 13 14 15 -1 2 4 6 7 10 11 12 13 14 15 -1 2 4 6 8 9 10 11 12 13 14 -1 2 4 6 8 9 10 11 12 13 15 -1 2 4 6 8 9 10 11 12 14 15 -1 2 4 6 8 9 10 11 13 14 15 -1 2 4 6 8 9 10 12 13 14 15 -1 2 4 6 8 9 11 12 13 14 15 -1 2 4 6 8 10 11 12 13 14 15 -1 2 4 6 9 10 11 12 13 14 15 -1 2 4 7 8 9 10 11 12 13 14 -1 2 4 7 8 9 10 11 12 13 15 -1 2 4 7 8 9 10 11 12 14 15 -1 2 4 7 8 9 10 11 13 14 15 -1 2 4 7 8 9 10 12 13 14 15 -1 2 4 7 8 9 11 12 13 14 15 -1 2 4 7 8 10 11 12 13 14 15 -1 2 4 7 9 10 11 12 13 14 15 -1 2 4 8 9 10 11 12 13 14 15 -1 2 5 6 7 8 9 10 11 12 13 -1 2 5 6 7 8 9 10 11 12 14 -1 2 5 6 7 8 9 10 11 12 15 -1 2 5 6 7 8 9 10 11 13 14 -1 2 5 6 7 8 9 10 11 13 15 -1 2 5 6 7 8 9 10 11 14 15 -1 2 5 6 7 8 9 10 12 13 14 -1 2 5 6 7 8 9 10 12 13 15 -1 2 5 6 7 8 9 10 12 14 15 -1 2 5 6 7 8 9 10 13 14 15 -1 2 5 6 7 8 9 11 12 13 14 -1 2 5 6 7 8 9 11 12 13 15 -1 2 5 6 7 8 9 11 12 14 15 -1 2 5 6 7 8 9 11 13 14 15 -1 2 5 6 7 8 9 12 13 14 15 -1 2 5 6 7 8 10 11 12 13 14 -1 2 5 6 7 8 10 11 12 13 15 -1 2 5 6 7 8 10 11 12 14 15 -1 2 5 6 7 8 10 11 13 14 15 -1 2 5 6 7 8 10 12 13 14 15 -1 2 5 6 7 8 11 12 13 14 15 -1 2 5 6 7 9 10 11 12 13 14 -1 2 5 6 7 9 10 11 12 13 15 -1 2 5 6 7 9 10 11 12 14 15 -1 2 5 6 7 9 10 11 13 14 15 -1 2 5 6 7 9 10 12 13 14 15 -1 2 5 6 7 9 11 12 13 14 15 -1 2 5 6 7 10 11 12 13 14 15 -1 2 5 6 8 9 10 11 12 13 14 -1 2 5 6 8 9 10 11 12 13 15 -1 2 5 6 8 9 10 11 12 14 15 -1 2 5 6 8 9 10 11 13 14 15 -1 2 5 6 8 9 10 12 13 14 15 -1 2 5 6 8 9 11 12 13 14 15 -1 2 5 6 8 10 11 12 13 14 15 -1 2 5 6 9 10 11 12 13 14 15 -1 2 5 7 8 9 10 11 12 13 14 -1 2 5 7 8 9 10 11 12 13 15 -1 2 5 7 8 9 10 11 12 14 15 -1 2 5 7 8 9 10 11 13 14 15 -1 2 5 7 8 9 10 12 13 14 15 -1 2 5 7 8 9 11 12 13 14 15 -1 2 5 7 8 10 11 12 13 14 15 -1 2 5 7 9 10 11 12 13 14 15 -1 2 5 8 9 10 11 12 13 14 15 -1 2 6 7 8 9 10 11 12 13 14 -1 2 6 7 8 9 10 11 12 13 15 -1 2 6 7 8 9 10 11 12 14 15 -1 2 6 7 8 9 10 11 13 14 15 -1 2 6 7 8 9 10 12 13 14 15 -1 2 6 7 8 9 11 12 13 14 15 -1 2 6 7 8 10 11 12 13 14 15 -1 2 6 7 9 10 11 12 13 14 15 -1 2 6 8 9 10 11 12 13 14 15 -1 2 7 8 9 10 11 12 13 14 15 -1 3 4 5 6 7 8 9 10 11 12 -1 3 4 5 6 7 8 9 10 11 13 -1 3 4 5 6 7 8 9 10 11 14 -1 3 4 5 6 7 8 9 10 11 15 -1 3 4 5 6 7 8 9 10 12 13 -1 3 4 5 6 7 8 9 10 12 14 -1 3 4 5 6 7 8 9 10 12 15 -1 3 4 5 6 7 8 9 10 13 14 -1 3 4 5 6 7 8 9 10 13 15 -1 3 4 5 6 7 8 9 10 14 15 -1 3 4 5 6 7 8 9 11 12 13 -1 3 4 5 6 7 8 9 11 12 14 -1 3 4 5 6 7 8 9 11 12 15 -1 3 4 5 6 7 8 9 11 13 14 -1 3 4 5 6 7 8 9 11 13 15 -1 3 4 5 6 7 8 9 11 14 15 -1 3 4 5 6 7 8 9 12 13 14 -1 3 4 5 6 7 8 9 12 13 15 -1 3 4 5 6 7 8 9 12 14 15 -1 3 4 5 6 7 8 9 13 14 15 -1 3 4 5 6 7 8 10 11 12 13 -1 3 4 5 6 7 8 10 11 12 14 -1 3 4 5 6 7 8 10 11 12 15 -1 3 4 5 6 7 8 10 11 13 14 -1 3 4 5 6 7 8 10 11 13 15 -1 3 4 5 6 7 8 10 11 14 15 -1 3 4 5 6 7 8 10 12 13 14 -1 3 4 5 6 7 8 10 12 13 15 -1 3 4 5 6 7 8 10 12 14 15 -1 3 4 5 6 7 8 10 13 14 15 -1 3 4 5 6 7 8 11 12 13 14 -1 3 4 5 6 7 8 11 12 13 15 -1 3 4 5 6 7 8 11 12 14 15 -1 3 4 5 6 7 8 11 13 14 15 -1 3 4 5 6 7 8 12 13 14 15 -1 3 4 5 6 7 9 10 11 12 13 -1 3 4 5 6 7 9 10 11 12 14 -1 3 4 5 6 7 9 10 11 12 15 -1 3 4 5 6 7 9 10 11 13 14 -1 3 4 5 6 7 9 10 11 13 15 -1 3 4 5 6 7 9 10 11 14 15 -1 3 4 5 6 7 9 10 12 13 14 -1 3 4 5 6 7 9 10 12 13 15 -1 3 4 5 6 7 9 10 12 14 15 -1 3 4 5 6 7 9 10 13 14 15 -1 3 4 5 6 7 9 11 12 13 14 -1 3 4 5 6 7 9 11 12 13 15 -1 3 4 5 6 7 9 11 12 14 15 -1 3 4 5 6 7 9 11 13 14 15 -1 3 4 5 6 7 9 12 13 14 15 -1 3 4 5 6 7 10 11 12 13 14 -1 3 4 5 6 7 10 11 12 13 15 -1 3 4 5 6 7 10 11 12 14 15 -1 3 4 5 6 7 10 11 13 14 15 -1 3 4 5 6 7 10 12 13 14 15 -1 3 4 5 6 7 11 12 13 14 15 -1 3 4 5 6 8 9 10 11 12 13 -1 3 4 5 6 8 9 10 11 12 14 -1 3 4 5 6 8 9 10 11 12 15 -1 3 4 5 6 8 9 10 11 13 14 -1 3 4 5 6 8 9 10 11 13 15 -1 3 4 5 6 8 9 10 11 14 15 -1 3 4 5 6 8 9 10 12 13 14 -1 3 4 5 6 8 9 10 12 13 15 -1 3 4 5 6 8 9 10 12 14 15 -1 3 4 5 6 8 9 10 13 14 15 -1 3 4 5 6 8 9 11 12 13 14 -1 3 4 5 6 8 9 11 12 13 15 -1 3 4 5 6 8 9 11 12 14 15 -1 3 4 5 6 8 9 11 13 14 15 -1 3 4 5 6 8 9 12 13 14 15 -1 3 4 5 6 8 10 11 12 13 14 -1 3 4 5 6 8 10 11 12 13 15 -1 3 4 5 6 8 10 11 12 14 15 -1 3 4 5 6 8 10 11 13 14 15 -1 3 4 5 6 8 10 12 13 14 15 -1 3 4 5 6 8 11 12 13 14 15 -1 3 4 5 6 9 10 11 12 13 14 -1 3 4 5 6 9 10 11 12 13 15 -1 3 4 5 6 9 10 11 12 14 15 -1 3 4 5 6 9 10 11 13 14 15 -1 3 4 5 6 9 10 12 13 14 15 -1 3 4 5 6 9 11 12 13 14 15 -1 3 4 5 6 10 11 12 13 14 15 -1 3 4 5 7 8 9 10 11 12 13 -1 3 4 5 7 8 9 10 11 12 14 -1 3 4 5 7 8 9 10 11 12 15 -1 3 4 5 7 8 9 10 11 13 14 -1 3 4 5 7 8 9 10 11 13 15 -1 3 4 5 7 8 9 10 11 14 15 -1 3 4 5 7 8 9 10 12 13 14 -1 3 4 5 7 8 9 10 12 13 15 -1 3 4 5 7 8 9 10 12 14 15 -1 3 4 5 7 8 9 10 13 14 15 -1 3 4 5 7 8 9 11 12 13 14 -1 3 4 5 7 8 9 11 12 13 15 -1 3 4 5 7 8 9 11 12 14 15 -1 3 4 5 7 8 9 11 13 14 15 -1 3 4 5 7 8 9 12 13 14 15 -1 3 4 5 7 8 10 11 12 13 14 -1 3 4 5 7 8 10 11 12 13 15 -1 3 4 5 7 8 10 11 12 14 15 -1 3 4 5 7 8 10 11 13 14 15 -1 3 4 5 7 8 10 12 13 14 15 -1 3 4 5 7 8 11 12 13 14 15 -1 3 4 5 7 9 10 11 12 13 14 -1 3 4 5 7 9 10 11 12 13 15 -1 3 4 5 7 9 10 11 12 14 15 -1 3 4 5 7 9 10 11 13 14 15 -1 3 4 5 7 9 10 12 13 14 15 -1 3 4 5 7 9 11 12 13 14 15 -1 3 4 5 7 10 11 12 13 14 15 -1 3 4 5 8 9 10 11 12 13 14 -1 3 4 5 8 9 10 11 12 13 15 -1 3 4 5 8 9 10 11 12 14 15 -1 3 4 5 8 9 10 11 13 14 15 -1 3 4 5 8 9 10 12 13 14 15 -1 3 4 5 8 9 11 12 13 14 15 -1 3 4 5 8 10 11 12 13 14 15 -1 3 4 5 9 10 11 12 13 14 15 -1 3 4 6 7 8 9 10 11 12 13 -1 3 4 6 7 8 9 10 11 12 14 -1 3 4 6 7 8 9 10 11 12 15 -1 3 4 6 7 8 9 10 11 13 14 -1 3 4 6 7 8 9 10 11 13 15 -1 3 4 6 7 8 9 10 11 14 15 -1 3 4 6 7 8 9 10 12 13 14 -1 3 4 6 7 8 9 10 12 13 15 -1 3 4 6 7 8 9 10 12 14 15 -1 3 4 6 7 8 9 10 13 14 15 -1 3 4 6 7 8 9 11 12 13 14 -1 3 4 6 7 8 9 11 12 13 15 -1 3 4 6 7 8 9 11 12 14 15 -1 3 4 6 7 8 9 11 13 14 15 -1 3 4 6 7 8 9 12 13 14 15 -1 3 4 6 7 8 10 11 12 13 14 -1 3 4 6 7 8 10 11 12 13 15 -1 3 4 6 7 8 10 11 12 14 15 -1 3 4 6 7 8 10 11 13 14 15 -1 3 4 6 7 8 10 12 13 14 15 -1 3 4 6 7 8 11 12 13 14 15 -1 3 4 6 7 9 10 11 12 13 14 -1 3 4 6 7 9 10 11 12 13 15 -1 3 4 6 7 9 10 11 12 14 15 -1 3 4 6 7 9 10 11 13 14 15 -1 3 4 6 7 9 10 12 13 14 15 -1 3 4 6 7 9 11 12 13 14 15 -1 3 4 6 7 10 11 12 13 14 15 -1 3 4 6 8 9 10 11 12 13 14 -1 3 4 6 8 9 10 11 12 13 15 -1 3 4 6 8 9 10 11 12 14 15 -1 3 4 6 8 9 10 11 13 14 15 -1 3 4 6 8 9 10 12 13 14 15 -1 3 4 6 8 9 11 12 13 14 15 -1 3 4 6 8 10 11 12 13 14 15 -1 3 4 6 9 10 11 12 13 14 15 -1 3 4 7 8 9 10 11 12 13 14 -1 3 4 7 8 9 10 11 12 13 15 -1 3 4 7 8 9 10 11 12 14 15 -1 3 4 7 8 9 10 11 13 14 15 -1 3 4 7 8 9 10 12 13 14 15 -1 3 4 7 8 9 11 12 13 14 15 -1 3 4 7 8 10 11 12 13 14 15 -1 3 4 7 9 10 11 12 13 14 15 -1 3 4 8 9 10 11 12 13 14 15 -1 3 5 6 7 8 9 10 11 12 13 -1 3 5 6 7 8 9 10 11 12 14 -1 3 5 6 7 8 9 10 11 12 15 -1 3 5 6 7 8 9 10 11 13 14 -1 3 5 6 7 8 9 10 11 13 15 -1 3 5 6 7 8 9 10 11 14 15 -1 3 5 6 7 8 9 10 12 13 14 -1 3 5 6 7 8 9 10 12 13 15 -1 3 5 6 7 8 9 10 12 14 15 -1 3 5 6 7 8 9 10 13 14 15 -1 3 5 6 7 8 9 11 12 13 14 -1 3 5 6 7 8 9 11 12 13 15 -1 3 5 6 7 8 9 11 12 14 15 -1 3 5 6 7 8 9 11 13 14 15 -1 3 5 6 7 8 9 12 13 14 15 -1 3 5 6 7 8 10 11 12 13 14 -1 3 5 6 7 8 10 11 12 13 15 -1 3 5 6 7 8 10 11 12 14 15 -1 3 5 6 7 8 10 11 13 14 15 -1 3 5 6 7 8 10 12 13 14 15 -1 3 5 6 7 8 11 12 13 14 15 -1 3 5 6 7 9 10 11 12 13 14 -1 3 5 6 7 9 10 11 12 13 15 -1 3 5 6 7 9 10 11 12 14 15 -1 3 5 6 7 9 10 11 13 14 15 -1 3 5 6 7 9 10 12 13 14 15 -1 3 5 6 7 9 11 12 13 14 15 -1 3 5 6 7 10 11 12 13 14 15 -1 3 5 6 8 9 10 11 12 13 14 -1 3 5 6 8 9 10 11 12 13 15 -1 3 5 6 8 9 10 11 12 14 15 -1 3 5 6 8 9 10 11 13 14 15 -1 3 5 6 8 9 10 12 13 14 15 -1 3 5 6 8 9 11 12 13 14 15 -1 3 5 6 8 10 11 12 13 14 15 -1 3 5 6 9 10 11 12 13 14 15 -1 3 5 7 8 9 10 11 12 13 14 -1 3 5 7 8 9 10 11 12 13 15 -1 3 5 7 8 9 10 11 12 14 15 -1 3 5 7 8 9 10 11 13 14 15 -1 3 5 7 8 9 10 12 13 14 15 -1 3 5 7 8 9 11 12 13 14 15 -1 3 5 7 8 10 11 12 13 14 15 -1 3 5 7 9 10 11 12 13 14 15 -1 3 5 8 9 10 11 12 13 14 15 -1 3 6 7 8 9 10 11 12 13 14 -1 3 6 7 8 9 10 11 12 13 15 -1 3 6 7 8 9 10 11 12 14 15 -1 3 6 7 8 9 10 11 13 14 15 -1 3 6 7 8 9 10 12 13 14 15 -1 3 6 7 8 9 11 12 13 14 15 -1 3 6 7 8 10 11 12 13 14 15 -1 3 6 7 9 10 11 12 13 14 15 -1 3 6 8 9 10 11 12 13 14 15 -1 3 7 8 9 10 11 12 13 14 15 -1 4 5 6 7 8 9 10 11 12 13 -1 4 5 6 7 8 9 10 11 12 14 -1 4 5 6 7 8 9 10 11 12 15 -1 4 5 6 7 8 9 10 11 13 14 -1 4 5 6 7 8 9 10 11 13 15 -1 4 5 6 7 8 9 10 11 14 15 -1 4 5 6 7 8 9 10 12 13 14 -1 4 5 6 7 8 9 10 12 13 15 -1 4 5 6 7 8 9 10 12 14 15 -1 4 5 6 7 8 9 10 13 14 15 -1 4 5 6 7 8 9 11 12 13 14 -1 4 5 6 7 8 9 11 12 13 15 -1 4 5 6 7 8 9 11 12 14 15 -1 4 5 6 7 8 9 11 13 14 15 -1 4 5 6 7 8 9 12 13 14 15 -1 4 5 6 7 8 10 11 12 13 14 -1 4 5 6 7 8 10 11 12 13 15 -1 4 5 6 7 8 10 11 12 14 15 -1 4 5 6 7 8 10 11 13 14 15 -1 4 5 6 7 8 10 12 13 14 15 -1 4 5 6 7 8 11 12 13 14 15 -1 4 5 6 7 9 10 11 12 13 14 -1 4 5 6 7 9 10 11 12 13 15 -1 4 5 6 7 9 10 11 12 14 15 -1 4 5 6 7 9 10 11 13 14 15 -1 4 5 6 7 9 10 12 13 14 15 -1 4 5 6 7 9 11 12 13 14 15 -1 4 5 6 7 10 11 12 13 14 15 -1 4 5 6 8 9 10 11 12 13 14 -1 4 5 6 8 9 10 11 12 13 15 -1 4 5 6 8 9 10 11 12 14 15 -1 4 5 6 8 9 10 11 13 14 15 -1 4 5 6 8 9 10 12 13 14 15 -1 4 5 6 8 9 11 12 13 14 15 -1 4 5 6 8 10 11 12 13 14 15 -1 4 5 6 9 10 11 12 13 14 15 -1 4 5 7 8 9 10 11 12 13 14 -1 4 5 7 8 9 10 11 12 13 15 -1 4 5 7 8 9 10 11 12 14 15 -1 4 5 7 8 9 10 11 13 14 15 -1 4 5 7 8 9 10 12 13 14 15 -1 4 5 7 8 9 11 12 13 14 15 -1 4 5 7 8 10 11 12 13 14 15 -1 4 5 7 9 10 11 12 13 14 15 -1 4 5 8 9 10 11 12 13 14 15 -1 4 6 7 8 9 10 11 12 13 14 -1 4 6 7 8 9 10 11 12 13 15 -1 4 6 7 8 9 10 11 12 14 15 -1 4 6 7 8 9 10 11 13 14 15 -1 4 6 7 8 9 10 12 13 14 15 -1 4 6 7 8 9 11 12 13 14 15 -1 4 6 7 8 10 11 12 13 14 15 -1 4 6 7 9 10 11 12 13 14 15 -1 4 6 8 9 10 11 12 13 14 15 -1 4 7 8 9 10 11 12 13 14 15 -1 5 6 7 8 9 10 11 12 13 14 -1 5 6 7 8 9 10 11 12 13 15 -1 5 6 7 8 9 10 11 12 14 15 -1 5 6 7 8 9 10 11 13 14 15 -1 5 6 7 8 9 10 12 13 14 15 -1 5 6 7 8 9 11 12 13 14 15 -1 5 6 7 8 10 11 12 13 14 15 -1 5 6 7 9 10 11 12 13 14 15 -1 5 6 8 9 10 11 12 13 14 15 -1 5 7 8 9 10 11 12 13 14 15 -1 6 7 8 9 10 11 12 13 14 15 -2 3 4 5 6 7 8 9 10 11 12 -2 3 4 5 6 7 8 9 10 11 13 -2 3 4 5 6 7 8 9 10 11 14 -2 3 4 5 6 7 8 9 10 11 15 -2 3 4 5 6 7 8 9 10 12 13 -2 3 4 5 6 7 8 9 10 12 14 -2 3 4 5 6 7 8 9 10 12 15 -2 3 4 5 6 7 8 9 10 13 14 -2 3 4 5 6 7 8 9 10 13 15 -2 3 4 5 6 7 8 9 10 14 15 -2 3 4 5 6 7 8 9 11 12 13 -2 3 4 5 6 7 8 9 11 12 14 -2 3 4 5 6 7 8 9 11 12 15 -2 3 4 5 6 7 8 9 11 13 14 -2 3 4 5 6 7 8 9 11 13 15 -2 3 4 5 6 7 8 9 11 14 15 -2 3 4 5 6 7 8 9 12 13 14 -2 3 4 5 6 7 8 9 12 13 15 -2 3 4 5 6 7 8 9 12 14 15 -2 3 4 5 6 7 8 9 13 14 15 -2 3 4 5 6 7 8 10 11 12 13 -2 3 4 5 6 7 8 10 11 12 14 -2 3 4 5 6 7 8 10 11 12 15 -2 3 4 5 6 7 8 10 11 13 14 -2 3 4 5 6 7 8 10 11 13 15 -2 3 4 5 6 7 8 10 11 14 15 -2 3 4 5 6 7 8 10 12 13 14 -2 3 4 5 6 7 8 10 12 13 15 -2 3 4 5 6 7 8 10 12 14 15 -2 3 4 5 6 7 8 10 13 14 15 -2 3 4 5 6 7 8 11 12 13 14 -2 3 4 5 6 7 8 11 12 13 15 -2 3 4 5 6 7 8 11 12 14 15 -2 3 4 5 6 7 8 11 13 14 15 -2 3 4 5 6 7 8 12 13 14 15 -2 3 4 5 6 7 9 10 11 12 13 -2 3 4 5 6 7 9 10 11 12 14 -2 3 4 5 6 7 9 10 11 12 15 -2 3 4 5 6 7 9 10 11 13 14 -2 3 4 5 6 7 9 10 11 13 15 -2 3 4 5 6 7 9 10 11 14 15 -2 3 4 5 6 7 9 10 12 13 14 -2 3 4 5 6 7 9 10 12 13 15 -2 3 4 5 6 7 9 10 12 14 15 -2 3 4 5 6 7 9 10 13 14 15 -2 3 4 5 6 7 9 11 12 13 14 -2 3 4 5 6 7 9 11 12 13 15 -2 3 4 5 6 7 9 11 12 14 15 -2 3 4 5 6 7 9 11 13 14 15 -2 3 4 5 6 7 9 12 13 14 15 -2 3 4 5 6 7 10 11 12 13 14 -2 3 4 5 6 7 10 11 12 13 15 -2 3 4 5 6 7 10 11 12 14 15 -2 3 4 5 6 7 10 11 13 14 15 -2 3 4 5 6 7 10 12 13 14 15 -2 3 4 5 6 7 11 12 13 14 15 -2 3 4 5 6 8 9 10 11 12 13 -2 3 4 5 6 8 9 10 11 12 14 -2 3 4 5 6 8 9 10 11 12 15 -2 3 4 5 6 8 9 10 11 13 14 -2 3 4 5 6 8 9 10 11 13 15 -2 3 4 5 6 8 9 10 11 14 15 -2 3 4 5 6 8 9 10 12 13 14 -2 3 4 5 6 8 9 10 12 13 15 -2 3 4 5 6 8 9 10 12 14 15 -2 3 4 5 6 8 9 10 13 14 15 -2 3 4 5 6 8 9 11 12 13 14 -2 3 4 5 6 8 9 11 12 13 15 -2 3 4 5 6 8 9 11 12 14 15 -2 3 4 5 6 8 9 11 13 14 15 -2 3 4 5 6 8 9 12 13 14 15 -2 3 4 5 6 8 10 11 12 13 14 -2 3 4 5 6 8 10 11 12 13 15 -2 3 4 5 6 8 10 11 12 14 15 -2 3 4 5 6 8 10 11 13 14 15 -2 3 4 5 6 8 10 12 13 14 15 -2 3 4 5 6 8 11 12 13 14 15 -2 3 4 5 6 9 10 11 12 13 14 -2 3 4 5 6 9 10 11 12 13 15 -2 3 4 5 6 9 10 11 12 14 15 -2 3 4 5 6 9 10 11 13 14 15 -2 3 4 5 6 9 10 12 13 14 15 -2 3 4 5 6 9 11 12 13 14 15 -2 3 4 5 6 10 11 12 13 14 15 -2 3 4 5 7 8 9 10 11 12 13 -2 3 4 5 7 8 9 10 11 12 14 -2 3 4 5 7 8 9 10 11 12 15 -2 3 4 5 7 8 9 10 11 13 14 -2 3 4 5 7 8 9 10 11 13 15 -2 3 4 5 7 8 9 10 11 14 15 -2 3 4 5 7 8 9 10 12 13 14 -2 3 4 5 7 8 9 10 12 13 15 -2 3 4 5 7 8 9 10 12 14 15 -2 3 4 5 7 8 9 10 13 14 15 -2 3 4 5 7 8 9 11 12 13 14 -2 3 4 5 7 8 9 11 12 13 15 -2 3 4 5 7 8 9 11 12 14 15 -2 3 4 5 7 8 9 11 13 14 15 -2 3 4 5 7 8 9 12 13 14 15 -2 3 4 5 7 8 10 11 12 13 14 -2 3 4 5 7 8 10 11 12 13 15 -2 3 4 5 7 8 10 11 12 14 15 -2 3 4 5 7 8 10 11 13 14 15 -2 3 4 5 7 8 10 12 13 14 15 -2 3 4 5 7 8 11 12 13 14 15 -2 3 4 5 7 9 10 11 12 13 14 -2 3 4 5 7 9 10 11 12 13 15 -2 3 4 5 7 9 10 11 12 14 15 -2 3 4 5 7 9 10 11 13 14 15 -2 3 4 5 7 9 10 12 13 14 15 -2 3 4 5 7 9 11 12 13 14 15 -2 3 4 5 7 10 11 12 13 14 15 -2 3 4 5 8 9 10 11 12 13 14 -2 3 4 5 8 9 10 11 12 13 15 -2 3 4 5 8 9 10 11 12 14 15 -2 3 4 5 8 9 10 11 13 14 15 -2 3 4 5 8 9 10 12 13 14 15 -2 3 4 5 8 9 11 12 13 14 15 -2 3 4 5 8 10 11 12 13 14 15 -2 3 4 5 9 10 11 12 13 14 15 -2 3 4 6 7 8 9 10 11 12 13 -2 3 4 6 7 8 9 10 11 12 14 -2 3 4 6 7 8 9 10 11 12 15 -2 3 4 6 7 8 9 10 11 13 14 -2 3 4 6 7 8 9 10 11 13 15 -2 3 4 6 7 8 9 10 11 14 15 -2 3 4 6 7 8 9 10 12 13 14 -2 3 4 6 7 8 9 10 12 13 15 -2 3 4 6 7 8 9 10 12 14 15 -2 3 4 6 7 8 9 10 13 14 15 -2 3 4 6 7 8 9 11 12 13 14 -2 3 4 6 7 8 9 11 12 13 15 -2 3 4 6 7 8 9 11 12 14 15 -2 3 4 6 7 8 9 11 13 14 15 -2 3 4 6 7 8 9 12 13 14 15 -2 3 4 6 7 8 10 11 12 13 14 -2 3 4 6 7 8 10 11 12 13 15 -2 3 4 6 7 8 10 11 12 14 15 -2 3 4 6 7 8 10 11 13 14 15 -2 3 4 6 7 8 10 12 13 14 15 -2 3 4 6 7 8 11 12 13 14 15 -2 3 4 6 7 9 10 11 12 13 14 -2 3 4 6 7 9 10 11 12 13 15 -2 3 4 6 7 9 10 11 12 14 15 -2 3 4 6 7 9 10 11 13 14 15 -2 3 4 6 7 9 10 12 13 14 15 -2 3 4 6 7 9 11 12 13 14 15 -2 3 4 6 7 10 11 12 13 14 15 -2 3 4 6 8 9 10 11 12 13 14 -2 3 4 6 8 9 10 11 12 13 15 -2 3 4 6 8 9 10 11 12 14 15 -2 3 4 6 8 9 10 11 13 14 15 -2 3 4 6 8 9 10 12 13 14 15 -2 3 4 6 8 9 11 12 13 14 15 -2 3 4 6 8 10 11 12 13 14 15 -2 3 4 6 9 10 11 12 13 14 15 -2 3 4 7 8 9 10 11 12 13 14 -2 3 4 7 8 9 10 11 12 13 15 -2 3 4 7 8 9 10 11 12 14 15 -2 3 4 7 8 9 10 11 13 14 15 -2 3 4 7 8 9 10 12 13 14 15 -2 3 4 7 8 9 11 12 13 14 15 -2 3 4 7 8 10 11 12 13 14 15 -2 3 4 7 9 10 11 12 13 14 15 -2 3 4 8 9 10 11 12 13 14 15 -2 3 5 6 7 8 9 10 11 12 13 -2 3 5 6 7 8 9 10 11 12 14 -2 3 5 6 7 8 9 10 11 12 15 -2 3 5 6 7 8 9 10 11 13 14 -2 3 5 6 7 8 9 10 11 13 15 -2 3 5 6 7 8 9 10 11 14 15 -2 3 5 6 7 8 9 10 12 13 14 -2 3 5 6 7 8 9 10 12 13 15 -2 3 5 6 7 8 9 10 12 14 15 -2 3 5 6 7 8 9 10 13 14 15 -2 3 5 6 7 8 9 11 12 13 14 -2 3 5 6 7 8 9 11 12 13 15 -2 3 5 6 7 8 9 11 12 14 15 -2 3 5 6 7 8 9 11 13 14 15 -2 3 5 6 7 8 9 12 13 14 15 -2 3 5 6 7 8 10 11 12 13 14 -2 3 5 6 7 8 10 11 12 13 15 -2 3 5 6 7 8 10 11 12 14 15 -2 3 5 6 7 8 10 11 13 14 15 -2 3 5 6 7 8 10 12 13 14 15 -2 3 5 6 7 8 11 12 13 14 15 -2 3 5 6 7 9 10 11 12 13 14 -2 3 5 6 7 9 10 11 12 13 15 -2 3 5 6 7 9 10 11 12 14 15 -2 3 5 6 7 9 10 11 13 14 15 -2 3 5 6 7 9 10 12 13 14 15 -2 3 5 6 7 9 11 12 13 14 15 -2 3 5 6 7 10 11 12 13 14 15 -2 3 5 6 8 9 10 11 12 13 14 -2 3 5 6 8 9 10 11 12 13 15 -2 3 5 6 8 9 10 11 12 14 15 -2 3 5 6 8 9 10 11 13 14 15 -2 3 5 6 8 9 10 12 13 14 15 -2 3 5 6 8 9 11 12 13 14 15 -2 3 5 6 8 10 11 12 13 14 15 -2 3 5 6 9 10 11 12 13 14 15 -2 3 5 7 8 9 10 11 12 13 14 -2 3 5 7 8 9 10 11 12 13 15 -2 3 5 7 8 9 10 11 12 14 15 -2 3 5 7 8 9 10 11 13 14 15 -2 3 5 7 8 9 10 12 13 14 15 -2 3 5 7 8 9 11 12 13 14 15 -2 3 5 7 8 10 11 12 13 14 15 -2 3 5 7 9 10 11 12 13 14 15 -2 3 5 8 9 10 11 12 13 14 15 -2 3 6 7 8 9 10 11 12 13 14 -2 3 6 7 8 9 10 11 12 13 15 -2 3 6 7 8 9 10 11 12 14 15 -2 3 6 7 8 9 10 11 13 14 15 -2 3 6 7 8 9 10 12 13 14 15 -2 3 6 7 8 9 11 12 13 14 15 -2 3 6 7 8 10 11 12 13 14 15 -2 3 6 7 9 10 11 12 13 14 15 -2 3 6 8 9 10 11 12 13 14 15 -2 3 7 8 9 10 11 12 13 14 15 -2 4 5 6 7 8 9 10 11 12 13 -2 4 5 6 7 8 9 10 11 12 14 -2 4 5 6 7 8 9 10 11 12 15 -2 4 5 6 7 8 9 10 11 13 14 -2 4 5 6 7 8 9 10 11 13 15 -2 4 5 6 7 8 9 10 11 14 15 -2 4 5 6 7 8 9 10 12 13 14 -2 4 5 6 7 8 9 10 12 13 15 -2 4 5 6 7 8 9 10 12 14 15 -2 4 5 6 7 8 9 10 13 14 15 -2 4 5 6 7 8 9 11 12 13 14 -2 4 5 6 7 8 9 11 12 13 15 -2 4 5 6 7 8 9 11 12 14 15 -2 4 5 6 7 8 9 11 13 14 15 -2 4 5 6 7 8 9 12 13 14 15 -2 4 5 6 7 8 10 11 12 13 14 -2 4 5 6 7 8 10 11 12 13 15 -2 4 5 6 7 8 10 11 12 14 15 -2 4 5 6 7 8 10 11 13 14 15 -2 4 5 6 7 8 10 12 13 14 15 -2 4 5 6 7 8 11 12 13 14 15 -2 4 5 6 7 9 10 11 12 13 14 -2 4 5 6 7 9 10 11 12 13 15 -2 4 5 6 7 9 10 11 12 14 15 -2 4 5 6 7 9 10 11 13 14 15 -2 4 5 6 7 9 10 12 13 14 15 -2 4 5 6 7 9 11 12 13 14 15 -2 4 5 6 7 10 11 12 13 14 15 -2 4 5 6 8 9 10 11 12 13 14 -2 4 5 6 8 9 10 11 12 13 15 -2 4 5 6 8 9 10 11 12 14 15 -2 4 5 6 8 9 10 11 13 14 15 -2 4 5 6 8 9 10 12 13 14 15 -2 4 5 6 8 9 11 12 13 14 15 -2 4 5 6 8 10 11 12 13 14 15 -2 4 5 6 9 10 11 12 13 14 15 -2 4 5 7 8 9 10 11 12 13 14 -2 4 5 7 8 9 10 11 12 13 15 -2 4 5 7 8 9 10 11 12 14 15 -2 4 5 7 8 9 10 11 13 14 15 -2 4 5 7 8 9 10 12 13 14 15 -2 4 5 7 8 9 11 12 13 14 15 -2 4 5 7 8 10 11 12 13 14 15 -2 4 5 7 9 10 11 12 13 14 15 -2 4 5 8 9 10 11 12 13 14 15 -2 4 6 7 8 9 10 11 12 13 14 -2 4 6 7 8 9 10 11 12 13 15 -2 4 6 7 8 9 10 11 12 14 15 -2 4 6 7 8 9 10 11 13 14 15 -2 4 6 7 8 9 10 12 13 14 15 -2 4 6 7 8 9 11 12 13 14 15 -2 4 6 7 8 10 11 12 13 14 15 -2 4 6 7 9 10 11 12 13 14 15 -2 4 6 8 9 10 11 12 13 14 15 -2 4 7 8 9 10 11 12 13 14 15 -2 5 6 7 8 9 10 11 12 13 14 -2 5 6 7 8 9 10 11 12 13 15 -2 5 6 7 8 9 10 11 12 14 15 -2 5 6 7 8 9 10 11 13 14 15 -2 5 6 7 8 9 10 12 13 14 15 -2 5 6 7 8 9 11 12 13 14 15 -2 5 6 7 8 10 11 12 13 14 15 -2 5 6 7 9 10 11 12 13 14 15 -2 5 6 8 9 10 11 12 13 14 15 -2 5 7 8 9 10 11 12 13 14 15 -2 6 7 8 9 10 11 12 13 14 15 -3 4 5 6 7 8 9 10 11 12 13 -3 4 5 6 7 8 9 10 11 12 14 -3 4 5 6 7 8 9 10 11 12 15 -3 4 5 6 7 8 9 10 11 13 14 -3 4 5 6 7 8 9 10 11 13 15 -3 4 5 6 7 8 9 10 11 14 15 -3 4 5 6 7 8 9 10 12 13 14 -3 4 5 6 7 8 9 10 12 13 15 -3 4 5 6 7 8 9 10 12 14 15 -3 4 5 6 7 8 9 10 13 14 15 -3 4 5 6 7 8 9 11 12 13 14 -3 4 5 6 7 8 9 11 12 13 15 -3 4 5 6 7 8 9 11 12 14 15 -3 4 5 6 7 8 9 11 13 14 15 -3 4 5 6 7 8 9 12 13 14 15 -3 4 5 6 7 8 10 11 12 13 14 -3 4 5 6 7 8 10 11 12 13 15 -3 4 5 6 7 8 10 11 12 14 15 -3 4 5 6 7 8 10 11 13 14 15 -3 4 5 6 7 8 10 12 13 14 15 -3 4 5 6 7 8 11 12 13 14 15 -3 4 5 6 7 9 10 11 12 13 14 -3 4 5 6 7 9 10 11 12 13 15 -3 4 5 6 7 9 10 11 12 14 15 -3 4 5 6 7 9 10 11 13 14 15 -3 4 5 6 7 9 10 12 13 14 15 -3 4 5 6 7 9 11 12 13 14 15 -3 4 5 6 7 10 11 12 13 14 15 -3 4 5 6 8 9 10 11 12 13 14 -3 4 5 6 8 9 10 11 12 13 15 -3 4 5 6 8 9 10 11 12 14 15 -3 4 5 6 8 9 10 11 13 14 15 -3 4 5 6 8 9 10 12 13 14 15 -3 4 5 6 8 9 11 12 13 14 15 -3 4 5 6 8 10 11 12 13 14 15 -3 4 5 6 9 10 11 12 13 14 15 -3 4 5 7 8 9 10 11 12 13 14 -3 4 5 7 8 9 10 11 12 13 15 -3 4 5 7 8 9 10 11 12 14 15 -3 4 5 7 8 9 10 11 13 14 15 -3 4 5 7 8 9 10 12 13 14 15 -3 4 5 7 8 9 11 12 13 14 15 -3 4 5 7 8 10 11 12 13 14 15 -3 4 5 7 9 10 11 12 13 14 15 -3 4 5 8 9 10 11 12 13 14 15 -3 4 6 7 8 9 10 11 12 13 14 -3 4 6 7 8 9 10 11 12 13 15 -3 4 6 7 8 9 10 11 12 14 15 -3 4 6 7 8 9 10 11 13 14 15 -3 4 6 7 8 9 10 12 13 14 15 -3 4 6 7 8 9 11 12 13 14 15 -3 4 6 7 8 10 11 12 13 14 15 -3 4 6 7 9 10 11 12 13 14 15 -3 4 6 8 9 10 11 12 13 14 15 -3 4 7 8 9 10 11 12 13 14 15 -3 5 6 7 8 9 10 11 12 13 14 -3 5 6 7 8 9 10 11 12 13 15 -3 5 6 7 8 9 10 11 12 14 15 -3 5 6 7 8 9 10 11 13 14 15 -3 5 6 7 8 9 10 12 13 14 15 -3 5 6 7 8 9 11 12 13 14 15 -3 5 6 7 8 10 11 12 13 14 15 -3 5 6 7 9 10 11 12 13 14 15 -3 5 6 8 9 10 11 12 13 14 15 -3 5 7 8 9 10 11 12 13 14 15 -3 6 7 8 9 10 11 12 13 14 15 -4 5 6 7 8 9 10 11 12 13 14 -4 5 6 7 8 9 10 11 12 13 15 -4 5 6 7 8 9 10 11 12 14 15 -4 5 6 7 8 9 10 11 13 14 15 -4 5 6 7 8 9 10 12 13 14 15 -4 5 6 7 8 9 11 12 13 14 15 -4 5 6 7 8 10 11 12 13 14 15 -4 5 6 7 9 10 11 12 13 14 15 -4 5 6 8 9 10 11 12 13 14 15 -4 5 7 8 9 10 11 12 13 14 15 -4 6 7 8 9 10 11 12 13 14 15 -5 6 7 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 9 10 +0 1 2 3 4 5 6 7 8 9 11 +0 1 2 3 4 5 6 7 8 9 12 +0 1 2 3 4 5 6 7 8 9 13 +0 1 2 3 4 5 6 7 8 9 14 +0 1 2 3 4 5 6 7 8 9 15 +0 1 2 3 4 5 6 7 8 10 11 +0 1 2 3 4 5 6 7 8 10 12 +0 1 2 3 4 5 6 7 8 10 13 +0 1 2 3 4 5 6 7 8 10 14 +0 1 2 3 4 5 6 7 8 10 15 +0 1 2 3 4 5 6 7 8 11 12 +0 1 2 3 4 5 6 7 8 11 13 +0 1 2 3 4 5 6 7 8 11 14 +0 1 2 3 4 5 6 7 8 11 15 +0 1 2 3 4 5 6 7 8 12 13 +0 1 2 3 4 5 6 7 8 12 14 +0 1 2 3 4 5 6 7 8 12 15 +0 1 2 3 4 5 6 7 8 13 14 +0 1 2 3 4 5 6 7 8 13 15 +0 1 2 3 4 5 6 7 8 14 15 +0 1 2 3 4 5 6 7 9 10 11 +0 1 2 3 4 5 6 7 9 10 12 +0 1 2 3 4 5 6 7 9 10 13 +0 1 2 3 4 5 6 7 9 10 14 +0 1 2 3 4 5 6 7 9 10 15 +0 1 2 3 4 5 6 7 9 11 12 +0 1 2 3 4 5 6 7 9 11 13 +0 1 2 3 4 5 6 7 9 11 14 +0 1 2 3 4 5 6 7 9 11 15 +0 1 2 3 4 5 6 7 9 12 13 +0 1 2 3 4 5 6 7 9 12 14 +0 1 2 3 4 5 6 7 9 12 15 +0 1 2 3 4 5 6 7 9 13 14 +0 1 2 3 4 5 6 7 9 13 15 +0 1 2 3 4 5 6 7 9 14 15 +0 1 2 3 4 5 6 7 10 11 12 +0 1 2 3 4 5 6 7 10 11 13 +0 1 2 3 4 5 6 7 10 11 14 +0 1 2 3 4 5 6 7 10 11 15 +0 1 2 3 4 5 6 7 10 12 13 +0 1 2 3 4 5 6 7 10 12 14 +0 1 2 3 4 5 6 7 10 12 15 +0 1 2 3 4 5 6 7 10 13 14 +0 1 2 3 4 5 6 7 10 13 15 +0 1 2 3 4 5 6 7 10 14 15 +0 1 2 3 4 5 6 7 11 12 13 +0 1 2 3 4 5 6 7 11 12 14 +0 1 2 3 4 5 6 7 11 12 15 +0 1 2 3 4 5 6 7 11 13 14 +0 1 2 3 4 5 6 7 11 13 15 +0 1 2 3 4 5 6 7 11 14 15 +0 1 2 3 4 5 6 7 12 13 14 +0 1 2 3 4 5 6 7 12 13 15 +0 1 2 3 4 5 6 7 12 14 15 +0 1 2 3 4 5 6 7 13 14 15 +0 1 2 3 4 5 6 8 9 10 11 +0 1 2 3 4 5 6 8 9 10 12 +0 1 2 3 4 5 6 8 9 10 13 +0 1 2 3 4 5 6 8 9 10 14 +0 1 2 3 4 5 6 8 9 10 15 +0 1 2 3 4 5 6 8 9 11 12 +0 1 2 3 4 5 6 8 9 11 13 +0 1 2 3 4 5 6 8 9 11 14 +0 1 2 3 4 5 6 8 9 11 15 +0 1 2 3 4 5 6 8 9 12 13 +0 1 2 3 4 5 6 8 9 12 14 +0 1 2 3 4 5 6 8 9 12 15 +0 1 2 3 4 5 6 8 9 13 14 +0 1 2 3 4 5 6 8 9 13 15 +0 1 2 3 4 5 6 8 9 14 15 +0 1 2 3 4 5 6 8 10 11 12 +0 1 2 3 4 5 6 8 10 11 13 +0 1 2 3 4 5 6 8 10 11 14 +0 1 2 3 4 5 6 8 10 11 15 +0 1 2 3 4 5 6 8 10 12 13 +0 1 2 3 4 5 6 8 10 12 14 +0 1 2 3 4 5 6 8 10 12 15 +0 1 2 3 4 5 6 8 10 13 14 +0 1 2 3 4 5 6 8 10 13 15 +0 1 2 3 4 5 6 8 10 14 15 +0 1 2 3 4 5 6 8 11 12 13 +0 1 2 3 4 5 6 8 11 12 14 +0 1 2 3 4 5 6 8 11 12 15 +0 1 2 3 4 5 6 8 11 13 14 +0 1 2 3 4 5 6 8 11 13 15 +0 1 2 3 4 5 6 8 11 14 15 +0 1 2 3 4 5 6 8 12 13 14 +0 1 2 3 4 5 6 8 12 13 15 +0 1 2 3 4 5 6 8 12 14 15 +0 1 2 3 4 5 6 8 13 14 15 +0 1 2 3 4 5 6 9 10 11 12 +0 1 2 3 4 5 6 9 10 11 13 +0 1 2 3 4 5 6 9 10 11 14 +0 1 2 3 4 5 6 9 10 11 15 +0 1 2 3 4 5 6 9 10 12 13 +0 1 2 3 4 5 6 9 10 12 14 +0 1 2 3 4 5 6 9 10 12 15 +0 1 2 3 4 5 6 9 10 13 14 +0 1 2 3 4 5 6 9 10 13 15 +0 1 2 3 4 5 6 9 10 14 15 +0 1 2 3 4 5 6 9 11 12 13 +0 1 2 3 4 5 6 9 11 12 14 +0 1 2 3 4 5 6 9 11 12 15 +0 1 2 3 4 5 6 9 11 13 14 +0 1 2 3 4 5 6 9 11 13 15 +0 1 2 3 4 5 6 9 11 14 15 +0 1 2 3 4 5 6 9 12 13 14 +0 1 2 3 4 5 6 9 12 13 15 +0 1 2 3 4 5 6 9 12 14 15 +0 1 2 3 4 5 6 9 13 14 15 +0 1 2 3 4 5 6 10 11 12 13 +0 1 2 3 4 5 6 10 11 12 14 +0 1 2 3 4 5 6 10 11 12 15 +0 1 2 3 4 5 6 10 11 13 14 +0 1 2 3 4 5 6 10 11 13 15 +0 1 2 3 4 5 6 10 11 14 15 +0 1 2 3 4 5 6 10 12 13 14 +0 1 2 3 4 5 6 10 12 13 15 +0 1 2 3 4 5 6 10 12 14 15 +0 1 2 3 4 5 6 10 13 14 15 +0 1 2 3 4 5 6 11 12 13 14 +0 1 2 3 4 5 6 11 12 13 15 +0 1 2 3 4 5 6 11 12 14 15 +0 1 2 3 4 5 6 11 13 14 15 +0 1 2 3 4 5 6 12 13 14 15 +0 1 2 3 4 5 7 8 9 10 11 +0 1 2 3 4 5 7 8 9 10 12 +0 1 2 3 4 5 7 8 9 10 13 +0 1 2 3 4 5 7 8 9 10 14 +0 1 2 3 4 5 7 8 9 10 15 +0 1 2 3 4 5 7 8 9 11 12 +0 1 2 3 4 5 7 8 9 11 13 +0 1 2 3 4 5 7 8 9 11 14 +0 1 2 3 4 5 7 8 9 11 15 +0 1 2 3 4 5 7 8 9 12 13 +0 1 2 3 4 5 7 8 9 12 14 +0 1 2 3 4 5 7 8 9 12 15 +0 1 2 3 4 5 7 8 9 13 14 +0 1 2 3 4 5 7 8 9 13 15 +0 1 2 3 4 5 7 8 9 14 15 +0 1 2 3 4 5 7 8 10 11 12 +0 1 2 3 4 5 7 8 10 11 13 +0 1 2 3 4 5 7 8 10 11 14 +0 1 2 3 4 5 7 8 10 11 15 +0 1 2 3 4 5 7 8 10 12 13 +0 1 2 3 4 5 7 8 10 12 14 +0 1 2 3 4 5 7 8 10 12 15 +0 1 2 3 4 5 7 8 10 13 14 +0 1 2 3 4 5 7 8 10 13 15 +0 1 2 3 4 5 7 8 10 14 15 +0 1 2 3 4 5 7 8 11 12 13 +0 1 2 3 4 5 7 8 11 12 14 +0 1 2 3 4 5 7 8 11 12 15 +0 1 2 3 4 5 7 8 11 13 14 +0 1 2 3 4 5 7 8 11 13 15 +0 1 2 3 4 5 7 8 11 14 15 +0 1 2 3 4 5 7 8 12 13 14 +0 1 2 3 4 5 7 8 12 13 15 +0 1 2 3 4 5 7 8 12 14 15 +0 1 2 3 4 5 7 8 13 14 15 +0 1 2 3 4 5 7 9 10 11 12 +0 1 2 3 4 5 7 9 10 11 13 +0 1 2 3 4 5 7 9 10 11 14 +0 1 2 3 4 5 7 9 10 11 15 +0 1 2 3 4 5 7 9 10 12 13 +0 1 2 3 4 5 7 9 10 12 14 +0 1 2 3 4 5 7 9 10 12 15 +0 1 2 3 4 5 7 9 10 13 14 +0 1 2 3 4 5 7 9 10 13 15 +0 1 2 3 4 5 7 9 10 14 15 +0 1 2 3 4 5 7 9 11 12 13 +0 1 2 3 4 5 7 9 11 12 14 +0 1 2 3 4 5 7 9 11 12 15 +0 1 2 3 4 5 7 9 11 13 14 +0 1 2 3 4 5 7 9 11 13 15 +0 1 2 3 4 5 7 9 11 14 15 +0 1 2 3 4 5 7 9 12 13 14 +0 1 2 3 4 5 7 9 12 13 15 +0 1 2 3 4 5 7 9 12 14 15 +0 1 2 3 4 5 7 9 13 14 15 +0 1 2 3 4 5 7 10 11 12 13 +0 1 2 3 4 5 7 10 11 12 14 +0 1 2 3 4 5 7 10 11 12 15 +0 1 2 3 4 5 7 10 11 13 14 +0 1 2 3 4 5 7 10 11 13 15 +0 1 2 3 4 5 7 10 11 14 15 +0 1 2 3 4 5 7 10 12 13 14 +0 1 2 3 4 5 7 10 12 13 15 +0 1 2 3 4 5 7 10 12 14 15 +0 1 2 3 4 5 7 10 13 14 15 +0 1 2 3 4 5 7 11 12 13 14 +0 1 2 3 4 5 7 11 12 13 15 +0 1 2 3 4 5 7 11 12 14 15 +0 1 2 3 4 5 7 11 13 14 15 +0 1 2 3 4 5 7 12 13 14 15 +0 1 2 3 4 5 8 9 10 11 12 +0 1 2 3 4 5 8 9 10 11 13 +0 1 2 3 4 5 8 9 10 11 14 +0 1 2 3 4 5 8 9 10 11 15 +0 1 2 3 4 5 8 9 10 12 13 +0 1 2 3 4 5 8 9 10 12 14 +0 1 2 3 4 5 8 9 10 12 15 +0 1 2 3 4 5 8 9 10 13 14 +0 1 2 3 4 5 8 9 10 13 15 +0 1 2 3 4 5 8 9 10 14 15 +0 1 2 3 4 5 8 9 11 12 13 +0 1 2 3 4 5 8 9 11 12 14 +0 1 2 3 4 5 8 9 11 12 15 +0 1 2 3 4 5 8 9 11 13 14 +0 1 2 3 4 5 8 9 11 13 15 +0 1 2 3 4 5 8 9 11 14 15 +0 1 2 3 4 5 8 9 12 13 14 +0 1 2 3 4 5 8 9 12 13 15 +0 1 2 3 4 5 8 9 12 14 15 +0 1 2 3 4 5 8 9 13 14 15 +0 1 2 3 4 5 8 10 11 12 13 +0 1 2 3 4 5 8 10 11 12 14 +0 1 2 3 4 5 8 10 11 12 15 +0 1 2 3 4 5 8 10 11 13 14 +0 1 2 3 4 5 8 10 11 13 15 +0 1 2 3 4 5 8 10 11 14 15 +0 1 2 3 4 5 8 10 12 13 14 +0 1 2 3 4 5 8 10 12 13 15 +0 1 2 3 4 5 8 10 12 14 15 +0 1 2 3 4 5 8 10 13 14 15 +0 1 2 3 4 5 8 11 12 13 14 +0 1 2 3 4 5 8 11 12 13 15 +0 1 2 3 4 5 8 11 12 14 15 +0 1 2 3 4 5 8 11 13 14 15 +0 1 2 3 4 5 8 12 13 14 15 +0 1 2 3 4 5 9 10 11 12 13 +0 1 2 3 4 5 9 10 11 12 14 +0 1 2 3 4 5 9 10 11 12 15 +0 1 2 3 4 5 9 10 11 13 14 +0 1 2 3 4 5 9 10 11 13 15 +0 1 2 3 4 5 9 10 11 14 15 +0 1 2 3 4 5 9 10 12 13 14 +0 1 2 3 4 5 9 10 12 13 15 +0 1 2 3 4 5 9 10 12 14 15 +0 1 2 3 4 5 9 10 13 14 15 +0 1 2 3 4 5 9 11 12 13 14 +0 1 2 3 4 5 9 11 12 13 15 +0 1 2 3 4 5 9 11 12 14 15 +0 1 2 3 4 5 9 11 13 14 15 +0 1 2 3 4 5 9 12 13 14 15 +0 1 2 3 4 5 10 11 12 13 14 +0 1 2 3 4 5 10 11 12 13 15 +0 1 2 3 4 5 10 11 12 14 15 +0 1 2 3 4 5 10 11 13 14 15 +0 1 2 3 4 5 10 12 13 14 15 +0 1 2 3 4 5 11 12 13 14 15 +0 1 2 3 4 6 7 8 9 10 11 +0 1 2 3 4 6 7 8 9 10 12 +0 1 2 3 4 6 7 8 9 10 13 +0 1 2 3 4 6 7 8 9 10 14 +0 1 2 3 4 6 7 8 9 10 15 +0 1 2 3 4 6 7 8 9 11 12 +0 1 2 3 4 6 7 8 9 11 13 +0 1 2 3 4 6 7 8 9 11 14 +0 1 2 3 4 6 7 8 9 11 15 +0 1 2 3 4 6 7 8 9 12 13 +0 1 2 3 4 6 7 8 9 12 14 +0 1 2 3 4 6 7 8 9 12 15 +0 1 2 3 4 6 7 8 9 13 14 +0 1 2 3 4 6 7 8 9 13 15 +0 1 2 3 4 6 7 8 9 14 15 +0 1 2 3 4 6 7 8 10 11 12 +0 1 2 3 4 6 7 8 10 11 13 +0 1 2 3 4 6 7 8 10 11 14 +0 1 2 3 4 6 7 8 10 11 15 +0 1 2 3 4 6 7 8 10 12 13 +0 1 2 3 4 6 7 8 10 12 14 +0 1 2 3 4 6 7 8 10 12 15 +0 1 2 3 4 6 7 8 10 13 14 +0 1 2 3 4 6 7 8 10 13 15 +0 1 2 3 4 6 7 8 10 14 15 +0 1 2 3 4 6 7 8 11 12 13 +0 1 2 3 4 6 7 8 11 12 14 +0 1 2 3 4 6 7 8 11 12 15 +0 1 2 3 4 6 7 8 11 13 14 +0 1 2 3 4 6 7 8 11 13 15 +0 1 2 3 4 6 7 8 11 14 15 +0 1 2 3 4 6 7 8 12 13 14 +0 1 2 3 4 6 7 8 12 13 15 +0 1 2 3 4 6 7 8 12 14 15 +0 1 2 3 4 6 7 8 13 14 15 +0 1 2 3 4 6 7 9 10 11 12 +0 1 2 3 4 6 7 9 10 11 13 +0 1 2 3 4 6 7 9 10 11 14 +0 1 2 3 4 6 7 9 10 11 15 +0 1 2 3 4 6 7 9 10 12 13 +0 1 2 3 4 6 7 9 10 12 14 +0 1 2 3 4 6 7 9 10 12 15 +0 1 2 3 4 6 7 9 10 13 14 +0 1 2 3 4 6 7 9 10 13 15 +0 1 2 3 4 6 7 9 10 14 15 +0 1 2 3 4 6 7 9 11 12 13 +0 1 2 3 4 6 7 9 11 12 14 +0 1 2 3 4 6 7 9 11 12 15 +0 1 2 3 4 6 7 9 11 13 14 +0 1 2 3 4 6 7 9 11 13 15 +0 1 2 3 4 6 7 9 11 14 15 +0 1 2 3 4 6 7 9 12 13 14 +0 1 2 3 4 6 7 9 12 13 15 +0 1 2 3 4 6 7 9 12 14 15 +0 1 2 3 4 6 7 9 13 14 15 +0 1 2 3 4 6 7 10 11 12 13 +0 1 2 3 4 6 7 10 11 12 14 +0 1 2 3 4 6 7 10 11 12 15 +0 1 2 3 4 6 7 10 11 13 14 +0 1 2 3 4 6 7 10 11 13 15 +0 1 2 3 4 6 7 10 11 14 15 +0 1 2 3 4 6 7 10 12 13 14 +0 1 2 3 4 6 7 10 12 13 15 +0 1 2 3 4 6 7 10 12 14 15 +0 1 2 3 4 6 7 10 13 14 15 +0 1 2 3 4 6 7 11 12 13 14 +0 1 2 3 4 6 7 11 12 13 15 +0 1 2 3 4 6 7 11 12 14 15 +0 1 2 3 4 6 7 11 13 14 15 +0 1 2 3 4 6 7 12 13 14 15 +0 1 2 3 4 6 8 9 10 11 12 +0 1 2 3 4 6 8 9 10 11 13 +0 1 2 3 4 6 8 9 10 11 14 +0 1 2 3 4 6 8 9 10 11 15 +0 1 2 3 4 6 8 9 10 12 13 +0 1 2 3 4 6 8 9 10 12 14 +0 1 2 3 4 6 8 9 10 12 15 +0 1 2 3 4 6 8 9 10 13 14 +0 1 2 3 4 6 8 9 10 13 15 +0 1 2 3 4 6 8 9 10 14 15 +0 1 2 3 4 6 8 9 11 12 13 +0 1 2 3 4 6 8 9 11 12 14 +0 1 2 3 4 6 8 9 11 12 15 +0 1 2 3 4 6 8 9 11 13 14 +0 1 2 3 4 6 8 9 11 13 15 +0 1 2 3 4 6 8 9 11 14 15 +0 1 2 3 4 6 8 9 12 13 14 +0 1 2 3 4 6 8 9 12 13 15 +0 1 2 3 4 6 8 9 12 14 15 +0 1 2 3 4 6 8 9 13 14 15 +0 1 2 3 4 6 8 10 11 12 13 +0 1 2 3 4 6 8 10 11 12 14 +0 1 2 3 4 6 8 10 11 12 15 +0 1 2 3 4 6 8 10 11 13 14 +0 1 2 3 4 6 8 10 11 13 15 +0 1 2 3 4 6 8 10 11 14 15 +0 1 2 3 4 6 8 10 12 13 14 +0 1 2 3 4 6 8 10 12 13 15 +0 1 2 3 4 6 8 10 12 14 15 +0 1 2 3 4 6 8 10 13 14 15 +0 1 2 3 4 6 8 11 12 13 14 +0 1 2 3 4 6 8 11 12 13 15 +0 1 2 3 4 6 8 11 12 14 15 +0 1 2 3 4 6 8 11 13 14 15 +0 1 2 3 4 6 8 12 13 14 15 +0 1 2 3 4 6 9 10 11 12 13 +0 1 2 3 4 6 9 10 11 12 14 +0 1 2 3 4 6 9 10 11 12 15 +0 1 2 3 4 6 9 10 11 13 14 +0 1 2 3 4 6 9 10 11 13 15 +0 1 2 3 4 6 9 10 11 14 15 +0 1 2 3 4 6 9 10 12 13 14 +0 1 2 3 4 6 9 10 12 13 15 +0 1 2 3 4 6 9 10 12 14 15 +0 1 2 3 4 6 9 10 13 14 15 +0 1 2 3 4 6 9 11 12 13 14 +0 1 2 3 4 6 9 11 12 13 15 +0 1 2 3 4 6 9 11 12 14 15 +0 1 2 3 4 6 9 11 13 14 15 +0 1 2 3 4 6 9 12 13 14 15 +0 1 2 3 4 6 10 11 12 13 14 +0 1 2 3 4 6 10 11 12 13 15 +0 1 2 3 4 6 10 11 12 14 15 +0 1 2 3 4 6 10 11 13 14 15 +0 1 2 3 4 6 10 12 13 14 15 +0 1 2 3 4 6 11 12 13 14 15 +0 1 2 3 4 7 8 9 10 11 12 +0 1 2 3 4 7 8 9 10 11 13 +0 1 2 3 4 7 8 9 10 11 14 +0 1 2 3 4 7 8 9 10 11 15 +0 1 2 3 4 7 8 9 10 12 13 +0 1 2 3 4 7 8 9 10 12 14 +0 1 2 3 4 7 8 9 10 12 15 +0 1 2 3 4 7 8 9 10 13 14 +0 1 2 3 4 7 8 9 10 13 15 +0 1 2 3 4 7 8 9 10 14 15 +0 1 2 3 4 7 8 9 11 12 13 +0 1 2 3 4 7 8 9 11 12 14 +0 1 2 3 4 7 8 9 11 12 15 +0 1 2 3 4 7 8 9 11 13 14 +0 1 2 3 4 7 8 9 11 13 15 +0 1 2 3 4 7 8 9 11 14 15 +0 1 2 3 4 7 8 9 12 13 14 +0 1 2 3 4 7 8 9 12 13 15 +0 1 2 3 4 7 8 9 12 14 15 +0 1 2 3 4 7 8 9 13 14 15 +0 1 2 3 4 7 8 10 11 12 13 +0 1 2 3 4 7 8 10 11 12 14 +0 1 2 3 4 7 8 10 11 12 15 +0 1 2 3 4 7 8 10 11 13 14 +0 1 2 3 4 7 8 10 11 13 15 +0 1 2 3 4 7 8 10 11 14 15 +0 1 2 3 4 7 8 10 12 13 14 +0 1 2 3 4 7 8 10 12 13 15 +0 1 2 3 4 7 8 10 12 14 15 +0 1 2 3 4 7 8 10 13 14 15 +0 1 2 3 4 7 8 11 12 13 14 +0 1 2 3 4 7 8 11 12 13 15 +0 1 2 3 4 7 8 11 12 14 15 +0 1 2 3 4 7 8 11 13 14 15 +0 1 2 3 4 7 8 12 13 14 15 +0 1 2 3 4 7 9 10 11 12 13 +0 1 2 3 4 7 9 10 11 12 14 +0 1 2 3 4 7 9 10 11 12 15 +0 1 2 3 4 7 9 10 11 13 14 +0 1 2 3 4 7 9 10 11 13 15 +0 1 2 3 4 7 9 10 11 14 15 +0 1 2 3 4 7 9 10 12 13 14 +0 1 2 3 4 7 9 10 12 13 15 +0 1 2 3 4 7 9 10 12 14 15 +0 1 2 3 4 7 9 10 13 14 15 +0 1 2 3 4 7 9 11 12 13 14 +0 1 2 3 4 7 9 11 12 13 15 +0 1 2 3 4 7 9 11 12 14 15 +0 1 2 3 4 7 9 11 13 14 15 +0 1 2 3 4 7 9 12 13 14 15 +0 1 2 3 4 7 10 11 12 13 14 +0 1 2 3 4 7 10 11 12 13 15 +0 1 2 3 4 7 10 11 12 14 15 +0 1 2 3 4 7 10 11 13 14 15 +0 1 2 3 4 7 10 12 13 14 15 +0 1 2 3 4 7 11 12 13 14 15 +0 1 2 3 4 8 9 10 11 12 13 +0 1 2 3 4 8 9 10 11 12 14 +0 1 2 3 4 8 9 10 11 12 15 +0 1 2 3 4 8 9 10 11 13 14 +0 1 2 3 4 8 9 10 11 13 15 +0 1 2 3 4 8 9 10 11 14 15 +0 1 2 3 4 8 9 10 12 13 14 +0 1 2 3 4 8 9 10 12 13 15 +0 1 2 3 4 8 9 10 12 14 15 +0 1 2 3 4 8 9 10 13 14 15 +0 1 2 3 4 8 9 11 12 13 14 +0 1 2 3 4 8 9 11 12 13 15 +0 1 2 3 4 8 9 11 12 14 15 +0 1 2 3 4 8 9 11 13 14 15 +0 1 2 3 4 8 9 12 13 14 15 +0 1 2 3 4 8 10 11 12 13 14 +0 1 2 3 4 8 10 11 12 13 15 +0 1 2 3 4 8 10 11 12 14 15 +0 1 2 3 4 8 10 11 13 14 15 +0 1 2 3 4 8 10 12 13 14 15 +0 1 2 3 4 8 11 12 13 14 15 +0 1 2 3 4 9 10 11 12 13 14 +0 1 2 3 4 9 10 11 12 13 15 +0 1 2 3 4 9 10 11 12 14 15 +0 1 2 3 4 9 10 11 13 14 15 +0 1 2 3 4 9 10 12 13 14 15 +0 1 2 3 4 9 11 12 13 14 15 +0 1 2 3 4 10 11 12 13 14 15 +0 1 2 3 5 6 7 8 9 10 11 +0 1 2 3 5 6 7 8 9 10 12 +0 1 2 3 5 6 7 8 9 10 13 +0 1 2 3 5 6 7 8 9 10 14 +0 1 2 3 5 6 7 8 9 10 15 +0 1 2 3 5 6 7 8 9 11 12 +0 1 2 3 5 6 7 8 9 11 13 +0 1 2 3 5 6 7 8 9 11 14 +0 1 2 3 5 6 7 8 9 11 15 +0 1 2 3 5 6 7 8 9 12 13 +0 1 2 3 5 6 7 8 9 12 14 +0 1 2 3 5 6 7 8 9 12 15 +0 1 2 3 5 6 7 8 9 13 14 +0 1 2 3 5 6 7 8 9 13 15 +0 1 2 3 5 6 7 8 9 14 15 +0 1 2 3 5 6 7 8 10 11 12 +0 1 2 3 5 6 7 8 10 11 13 +0 1 2 3 5 6 7 8 10 11 14 +0 1 2 3 5 6 7 8 10 11 15 +0 1 2 3 5 6 7 8 10 12 13 +0 1 2 3 5 6 7 8 10 12 14 +0 1 2 3 5 6 7 8 10 12 15 +0 1 2 3 5 6 7 8 10 13 14 +0 1 2 3 5 6 7 8 10 13 15 +0 1 2 3 5 6 7 8 10 14 15 +0 1 2 3 5 6 7 8 11 12 13 +0 1 2 3 5 6 7 8 11 12 14 +0 1 2 3 5 6 7 8 11 12 15 +0 1 2 3 5 6 7 8 11 13 14 +0 1 2 3 5 6 7 8 11 13 15 +0 1 2 3 5 6 7 8 11 14 15 +0 1 2 3 5 6 7 8 12 13 14 +0 1 2 3 5 6 7 8 12 13 15 +0 1 2 3 5 6 7 8 12 14 15 +0 1 2 3 5 6 7 8 13 14 15 +0 1 2 3 5 6 7 9 10 11 12 +0 1 2 3 5 6 7 9 10 11 13 +0 1 2 3 5 6 7 9 10 11 14 +0 1 2 3 5 6 7 9 10 11 15 +0 1 2 3 5 6 7 9 10 12 13 +0 1 2 3 5 6 7 9 10 12 14 +0 1 2 3 5 6 7 9 10 12 15 +0 1 2 3 5 6 7 9 10 13 14 +0 1 2 3 5 6 7 9 10 13 15 +0 1 2 3 5 6 7 9 10 14 15 +0 1 2 3 5 6 7 9 11 12 13 +0 1 2 3 5 6 7 9 11 12 14 +0 1 2 3 5 6 7 9 11 12 15 +0 1 2 3 5 6 7 9 11 13 14 +0 1 2 3 5 6 7 9 11 13 15 +0 1 2 3 5 6 7 9 11 14 15 +0 1 2 3 5 6 7 9 12 13 14 +0 1 2 3 5 6 7 9 12 13 15 +0 1 2 3 5 6 7 9 12 14 15 +0 1 2 3 5 6 7 9 13 14 15 +0 1 2 3 5 6 7 10 11 12 13 +0 1 2 3 5 6 7 10 11 12 14 +0 1 2 3 5 6 7 10 11 12 15 +0 1 2 3 5 6 7 10 11 13 14 +0 1 2 3 5 6 7 10 11 13 15 +0 1 2 3 5 6 7 10 11 14 15 +0 1 2 3 5 6 7 10 12 13 14 +0 1 2 3 5 6 7 10 12 13 15 +0 1 2 3 5 6 7 10 12 14 15 +0 1 2 3 5 6 7 10 13 14 15 +0 1 2 3 5 6 7 11 12 13 14 +0 1 2 3 5 6 7 11 12 13 15 +0 1 2 3 5 6 7 11 12 14 15 +0 1 2 3 5 6 7 11 13 14 15 +0 1 2 3 5 6 7 12 13 14 15 +0 1 2 3 5 6 8 9 10 11 12 +0 1 2 3 5 6 8 9 10 11 13 +0 1 2 3 5 6 8 9 10 11 14 +0 1 2 3 5 6 8 9 10 11 15 +0 1 2 3 5 6 8 9 10 12 13 +0 1 2 3 5 6 8 9 10 12 14 +0 1 2 3 5 6 8 9 10 12 15 +0 1 2 3 5 6 8 9 10 13 14 +0 1 2 3 5 6 8 9 10 13 15 +0 1 2 3 5 6 8 9 10 14 15 +0 1 2 3 5 6 8 9 11 12 13 +0 1 2 3 5 6 8 9 11 12 14 +0 1 2 3 5 6 8 9 11 12 15 +0 1 2 3 5 6 8 9 11 13 14 +0 1 2 3 5 6 8 9 11 13 15 +0 1 2 3 5 6 8 9 11 14 15 +0 1 2 3 5 6 8 9 12 13 14 +0 1 2 3 5 6 8 9 12 13 15 +0 1 2 3 5 6 8 9 12 14 15 +0 1 2 3 5 6 8 9 13 14 15 +0 1 2 3 5 6 8 10 11 12 13 +0 1 2 3 5 6 8 10 11 12 14 +0 1 2 3 5 6 8 10 11 12 15 +0 1 2 3 5 6 8 10 11 13 14 +0 1 2 3 5 6 8 10 11 13 15 +0 1 2 3 5 6 8 10 11 14 15 +0 1 2 3 5 6 8 10 12 13 14 +0 1 2 3 5 6 8 10 12 13 15 +0 1 2 3 5 6 8 10 12 14 15 +0 1 2 3 5 6 8 10 13 14 15 +0 1 2 3 5 6 8 11 12 13 14 +0 1 2 3 5 6 8 11 12 13 15 +0 1 2 3 5 6 8 11 12 14 15 +0 1 2 3 5 6 8 11 13 14 15 +0 1 2 3 5 6 8 12 13 14 15 +0 1 2 3 5 6 9 10 11 12 13 +0 1 2 3 5 6 9 10 11 12 14 +0 1 2 3 5 6 9 10 11 12 15 +0 1 2 3 5 6 9 10 11 13 14 +0 1 2 3 5 6 9 10 11 13 15 +0 1 2 3 5 6 9 10 11 14 15 +0 1 2 3 5 6 9 10 12 13 14 +0 1 2 3 5 6 9 10 12 13 15 +0 1 2 3 5 6 9 10 12 14 15 +0 1 2 3 5 6 9 10 13 14 15 +0 1 2 3 5 6 9 11 12 13 14 +0 1 2 3 5 6 9 11 12 13 15 +0 1 2 3 5 6 9 11 12 14 15 +0 1 2 3 5 6 9 11 13 14 15 +0 1 2 3 5 6 9 12 13 14 15 +0 1 2 3 5 6 10 11 12 13 14 +0 1 2 3 5 6 10 11 12 13 15 +0 1 2 3 5 6 10 11 12 14 15 +0 1 2 3 5 6 10 11 13 14 15 +0 1 2 3 5 6 10 12 13 14 15 +0 1 2 3 5 6 11 12 13 14 15 +0 1 2 3 5 7 8 9 10 11 12 +0 1 2 3 5 7 8 9 10 11 13 +0 1 2 3 5 7 8 9 10 11 14 +0 1 2 3 5 7 8 9 10 11 15 +0 1 2 3 5 7 8 9 10 12 13 +0 1 2 3 5 7 8 9 10 12 14 +0 1 2 3 5 7 8 9 10 12 15 +0 1 2 3 5 7 8 9 10 13 14 +0 1 2 3 5 7 8 9 10 13 15 +0 1 2 3 5 7 8 9 10 14 15 +0 1 2 3 5 7 8 9 11 12 13 +0 1 2 3 5 7 8 9 11 12 14 +0 1 2 3 5 7 8 9 11 12 15 +0 1 2 3 5 7 8 9 11 13 14 +0 1 2 3 5 7 8 9 11 13 15 +0 1 2 3 5 7 8 9 11 14 15 +0 1 2 3 5 7 8 9 12 13 14 +0 1 2 3 5 7 8 9 12 13 15 +0 1 2 3 5 7 8 9 12 14 15 +0 1 2 3 5 7 8 9 13 14 15 +0 1 2 3 5 7 8 10 11 12 13 +0 1 2 3 5 7 8 10 11 12 14 +0 1 2 3 5 7 8 10 11 12 15 +0 1 2 3 5 7 8 10 11 13 14 +0 1 2 3 5 7 8 10 11 13 15 +0 1 2 3 5 7 8 10 11 14 15 +0 1 2 3 5 7 8 10 12 13 14 +0 1 2 3 5 7 8 10 12 13 15 +0 1 2 3 5 7 8 10 12 14 15 +0 1 2 3 5 7 8 10 13 14 15 +0 1 2 3 5 7 8 11 12 13 14 +0 1 2 3 5 7 8 11 12 13 15 +0 1 2 3 5 7 8 11 12 14 15 +0 1 2 3 5 7 8 11 13 14 15 +0 1 2 3 5 7 8 12 13 14 15 +0 1 2 3 5 7 9 10 11 12 13 +0 1 2 3 5 7 9 10 11 12 14 +0 1 2 3 5 7 9 10 11 12 15 +0 1 2 3 5 7 9 10 11 13 14 +0 1 2 3 5 7 9 10 11 13 15 +0 1 2 3 5 7 9 10 11 14 15 +0 1 2 3 5 7 9 10 12 13 14 +0 1 2 3 5 7 9 10 12 13 15 +0 1 2 3 5 7 9 10 12 14 15 +0 1 2 3 5 7 9 10 13 14 15 +0 1 2 3 5 7 9 11 12 13 14 +0 1 2 3 5 7 9 11 12 13 15 +0 1 2 3 5 7 9 11 12 14 15 +0 1 2 3 5 7 9 11 13 14 15 +0 1 2 3 5 7 9 12 13 14 15 +0 1 2 3 5 7 10 11 12 13 14 +0 1 2 3 5 7 10 11 12 13 15 +0 1 2 3 5 7 10 11 12 14 15 +0 1 2 3 5 7 10 11 13 14 15 +0 1 2 3 5 7 10 12 13 14 15 +0 1 2 3 5 7 11 12 13 14 15 +0 1 2 3 5 8 9 10 11 12 13 +0 1 2 3 5 8 9 10 11 12 14 +0 1 2 3 5 8 9 10 11 12 15 +0 1 2 3 5 8 9 10 11 13 14 +0 1 2 3 5 8 9 10 11 13 15 +0 1 2 3 5 8 9 10 11 14 15 +0 1 2 3 5 8 9 10 12 13 14 +0 1 2 3 5 8 9 10 12 13 15 +0 1 2 3 5 8 9 10 12 14 15 +0 1 2 3 5 8 9 10 13 14 15 +0 1 2 3 5 8 9 11 12 13 14 +0 1 2 3 5 8 9 11 12 13 15 +0 1 2 3 5 8 9 11 12 14 15 +0 1 2 3 5 8 9 11 13 14 15 +0 1 2 3 5 8 9 12 13 14 15 +0 1 2 3 5 8 10 11 12 13 14 +0 1 2 3 5 8 10 11 12 13 15 +0 1 2 3 5 8 10 11 12 14 15 +0 1 2 3 5 8 10 11 13 14 15 +0 1 2 3 5 8 10 12 13 14 15 +0 1 2 3 5 8 11 12 13 14 15 +0 1 2 3 5 9 10 11 12 13 14 +0 1 2 3 5 9 10 11 12 13 15 +0 1 2 3 5 9 10 11 12 14 15 +0 1 2 3 5 9 10 11 13 14 15 +0 1 2 3 5 9 10 12 13 14 15 +0 1 2 3 5 9 11 12 13 14 15 +0 1 2 3 5 10 11 12 13 14 15 +0 1 2 3 6 7 8 9 10 11 12 +0 1 2 3 6 7 8 9 10 11 13 +0 1 2 3 6 7 8 9 10 11 14 +0 1 2 3 6 7 8 9 10 11 15 +0 1 2 3 6 7 8 9 10 12 13 +0 1 2 3 6 7 8 9 10 12 14 +0 1 2 3 6 7 8 9 10 12 15 +0 1 2 3 6 7 8 9 10 13 14 +0 1 2 3 6 7 8 9 10 13 15 +0 1 2 3 6 7 8 9 10 14 15 +0 1 2 3 6 7 8 9 11 12 13 +0 1 2 3 6 7 8 9 11 12 14 +0 1 2 3 6 7 8 9 11 12 15 +0 1 2 3 6 7 8 9 11 13 14 +0 1 2 3 6 7 8 9 11 13 15 +0 1 2 3 6 7 8 9 11 14 15 +0 1 2 3 6 7 8 9 12 13 14 +0 1 2 3 6 7 8 9 12 13 15 +0 1 2 3 6 7 8 9 12 14 15 +0 1 2 3 6 7 8 9 13 14 15 +0 1 2 3 6 7 8 10 11 12 13 +0 1 2 3 6 7 8 10 11 12 14 +0 1 2 3 6 7 8 10 11 12 15 +0 1 2 3 6 7 8 10 11 13 14 +0 1 2 3 6 7 8 10 11 13 15 +0 1 2 3 6 7 8 10 11 14 15 +0 1 2 3 6 7 8 10 12 13 14 +0 1 2 3 6 7 8 10 12 13 15 +0 1 2 3 6 7 8 10 12 14 15 +0 1 2 3 6 7 8 10 13 14 15 +0 1 2 3 6 7 8 11 12 13 14 +0 1 2 3 6 7 8 11 12 13 15 +0 1 2 3 6 7 8 11 12 14 15 +0 1 2 3 6 7 8 11 13 14 15 +0 1 2 3 6 7 8 12 13 14 15 +0 1 2 3 6 7 9 10 11 12 13 +0 1 2 3 6 7 9 10 11 12 14 +0 1 2 3 6 7 9 10 11 12 15 +0 1 2 3 6 7 9 10 11 13 14 +0 1 2 3 6 7 9 10 11 13 15 +0 1 2 3 6 7 9 10 11 14 15 +0 1 2 3 6 7 9 10 12 13 14 +0 1 2 3 6 7 9 10 12 13 15 +0 1 2 3 6 7 9 10 12 14 15 +0 1 2 3 6 7 9 10 13 14 15 +0 1 2 3 6 7 9 11 12 13 14 +0 1 2 3 6 7 9 11 12 13 15 +0 1 2 3 6 7 9 11 12 14 15 +0 1 2 3 6 7 9 11 13 14 15 +0 1 2 3 6 7 9 12 13 14 15 +0 1 2 3 6 7 10 11 12 13 14 +0 1 2 3 6 7 10 11 12 13 15 +0 1 2 3 6 7 10 11 12 14 15 +0 1 2 3 6 7 10 11 13 14 15 +0 1 2 3 6 7 10 12 13 14 15 +0 1 2 3 6 7 11 12 13 14 15 +0 1 2 3 6 8 9 10 11 12 13 +0 1 2 3 6 8 9 10 11 12 14 +0 1 2 3 6 8 9 10 11 12 15 +0 1 2 3 6 8 9 10 11 13 14 +0 1 2 3 6 8 9 10 11 13 15 +0 1 2 3 6 8 9 10 11 14 15 +0 1 2 3 6 8 9 10 12 13 14 +0 1 2 3 6 8 9 10 12 13 15 +0 1 2 3 6 8 9 10 12 14 15 +0 1 2 3 6 8 9 10 13 14 15 +0 1 2 3 6 8 9 11 12 13 14 +0 1 2 3 6 8 9 11 12 13 15 +0 1 2 3 6 8 9 11 12 14 15 +0 1 2 3 6 8 9 11 13 14 15 +0 1 2 3 6 8 9 12 13 14 15 +0 1 2 3 6 8 10 11 12 13 14 +0 1 2 3 6 8 10 11 12 13 15 +0 1 2 3 6 8 10 11 12 14 15 +0 1 2 3 6 8 10 11 13 14 15 +0 1 2 3 6 8 10 12 13 14 15 +0 1 2 3 6 8 11 12 13 14 15 +0 1 2 3 6 9 10 11 12 13 14 +0 1 2 3 6 9 10 11 12 13 15 +0 1 2 3 6 9 10 11 12 14 15 +0 1 2 3 6 9 10 11 13 14 15 +0 1 2 3 6 9 10 12 13 14 15 +0 1 2 3 6 9 11 12 13 14 15 +0 1 2 3 6 10 11 12 13 14 15 +0 1 2 3 7 8 9 10 11 12 13 +0 1 2 3 7 8 9 10 11 12 14 +0 1 2 3 7 8 9 10 11 12 15 +0 1 2 3 7 8 9 10 11 13 14 +0 1 2 3 7 8 9 10 11 13 15 +0 1 2 3 7 8 9 10 11 14 15 +0 1 2 3 7 8 9 10 12 13 14 +0 1 2 3 7 8 9 10 12 13 15 +0 1 2 3 7 8 9 10 12 14 15 +0 1 2 3 7 8 9 10 13 14 15 +0 1 2 3 7 8 9 11 12 13 14 +0 1 2 3 7 8 9 11 12 13 15 +0 1 2 3 7 8 9 11 12 14 15 +0 1 2 3 7 8 9 11 13 14 15 +0 1 2 3 7 8 9 12 13 14 15 +0 1 2 3 7 8 10 11 12 13 14 +0 1 2 3 7 8 10 11 12 13 15 +0 1 2 3 7 8 10 11 12 14 15 +0 1 2 3 7 8 10 11 13 14 15 +0 1 2 3 7 8 10 12 13 14 15 +0 1 2 3 7 8 11 12 13 14 15 +0 1 2 3 7 9 10 11 12 13 14 +0 1 2 3 7 9 10 11 12 13 15 +0 1 2 3 7 9 10 11 12 14 15 +0 1 2 3 7 9 10 11 13 14 15 +0 1 2 3 7 9 10 12 13 14 15 +0 1 2 3 7 9 11 12 13 14 15 +0 1 2 3 7 10 11 12 13 14 15 +0 1 2 3 8 9 10 11 12 13 14 +0 1 2 3 8 9 10 11 12 13 15 +0 1 2 3 8 9 10 11 12 14 15 +0 1 2 3 8 9 10 11 13 14 15 +0 1 2 3 8 9 10 12 13 14 15 +0 1 2 3 8 9 11 12 13 14 15 +0 1 2 3 8 10 11 12 13 14 15 +0 1 2 3 9 10 11 12 13 14 15 +0 1 2 4 5 6 7 8 9 10 11 +0 1 2 4 5 6 7 8 9 10 12 +0 1 2 4 5 6 7 8 9 10 13 +0 1 2 4 5 6 7 8 9 10 14 +0 1 2 4 5 6 7 8 9 10 15 +0 1 2 4 5 6 7 8 9 11 12 +0 1 2 4 5 6 7 8 9 11 13 +0 1 2 4 5 6 7 8 9 11 14 +0 1 2 4 5 6 7 8 9 11 15 +0 1 2 4 5 6 7 8 9 12 13 +0 1 2 4 5 6 7 8 9 12 14 +0 1 2 4 5 6 7 8 9 12 15 +0 1 2 4 5 6 7 8 9 13 14 +0 1 2 4 5 6 7 8 9 13 15 +0 1 2 4 5 6 7 8 9 14 15 +0 1 2 4 5 6 7 8 10 11 12 +0 1 2 4 5 6 7 8 10 11 13 +0 1 2 4 5 6 7 8 10 11 14 +0 1 2 4 5 6 7 8 10 11 15 +0 1 2 4 5 6 7 8 10 12 13 +0 1 2 4 5 6 7 8 10 12 14 +0 1 2 4 5 6 7 8 10 12 15 +0 1 2 4 5 6 7 8 10 13 14 +0 1 2 4 5 6 7 8 10 13 15 +0 1 2 4 5 6 7 8 10 14 15 +0 1 2 4 5 6 7 8 11 12 13 +0 1 2 4 5 6 7 8 11 12 14 +0 1 2 4 5 6 7 8 11 12 15 +0 1 2 4 5 6 7 8 11 13 14 +0 1 2 4 5 6 7 8 11 13 15 +0 1 2 4 5 6 7 8 11 14 15 +0 1 2 4 5 6 7 8 12 13 14 +0 1 2 4 5 6 7 8 12 13 15 +0 1 2 4 5 6 7 8 12 14 15 +0 1 2 4 5 6 7 8 13 14 15 +0 1 2 4 5 6 7 9 10 11 12 +0 1 2 4 5 6 7 9 10 11 13 +0 1 2 4 5 6 7 9 10 11 14 +0 1 2 4 5 6 7 9 10 11 15 +0 1 2 4 5 6 7 9 10 12 13 +0 1 2 4 5 6 7 9 10 12 14 +0 1 2 4 5 6 7 9 10 12 15 +0 1 2 4 5 6 7 9 10 13 14 +0 1 2 4 5 6 7 9 10 13 15 +0 1 2 4 5 6 7 9 10 14 15 +0 1 2 4 5 6 7 9 11 12 13 +0 1 2 4 5 6 7 9 11 12 14 +0 1 2 4 5 6 7 9 11 12 15 +0 1 2 4 5 6 7 9 11 13 14 +0 1 2 4 5 6 7 9 11 13 15 +0 1 2 4 5 6 7 9 11 14 15 +0 1 2 4 5 6 7 9 12 13 14 +0 1 2 4 5 6 7 9 12 13 15 +0 1 2 4 5 6 7 9 12 14 15 +0 1 2 4 5 6 7 9 13 14 15 +0 1 2 4 5 6 7 10 11 12 13 +0 1 2 4 5 6 7 10 11 12 14 +0 1 2 4 5 6 7 10 11 12 15 +0 1 2 4 5 6 7 10 11 13 14 +0 1 2 4 5 6 7 10 11 13 15 +0 1 2 4 5 6 7 10 11 14 15 +0 1 2 4 5 6 7 10 12 13 14 +0 1 2 4 5 6 7 10 12 13 15 +0 1 2 4 5 6 7 10 12 14 15 +0 1 2 4 5 6 7 10 13 14 15 +0 1 2 4 5 6 7 11 12 13 14 +0 1 2 4 5 6 7 11 12 13 15 +0 1 2 4 5 6 7 11 12 14 15 +0 1 2 4 5 6 7 11 13 14 15 +0 1 2 4 5 6 7 12 13 14 15 +0 1 2 4 5 6 8 9 10 11 12 +0 1 2 4 5 6 8 9 10 11 13 +0 1 2 4 5 6 8 9 10 11 14 +0 1 2 4 5 6 8 9 10 11 15 +0 1 2 4 5 6 8 9 10 12 13 +0 1 2 4 5 6 8 9 10 12 14 +0 1 2 4 5 6 8 9 10 12 15 +0 1 2 4 5 6 8 9 10 13 14 +0 1 2 4 5 6 8 9 10 13 15 +0 1 2 4 5 6 8 9 10 14 15 +0 1 2 4 5 6 8 9 11 12 13 +0 1 2 4 5 6 8 9 11 12 14 +0 1 2 4 5 6 8 9 11 12 15 +0 1 2 4 5 6 8 9 11 13 14 +0 1 2 4 5 6 8 9 11 13 15 +0 1 2 4 5 6 8 9 11 14 15 +0 1 2 4 5 6 8 9 12 13 14 +0 1 2 4 5 6 8 9 12 13 15 +0 1 2 4 5 6 8 9 12 14 15 +0 1 2 4 5 6 8 9 13 14 15 +0 1 2 4 5 6 8 10 11 12 13 +0 1 2 4 5 6 8 10 11 12 14 +0 1 2 4 5 6 8 10 11 12 15 +0 1 2 4 5 6 8 10 11 13 14 +0 1 2 4 5 6 8 10 11 13 15 +0 1 2 4 5 6 8 10 11 14 15 +0 1 2 4 5 6 8 10 12 13 14 +0 1 2 4 5 6 8 10 12 13 15 +0 1 2 4 5 6 8 10 12 14 15 +0 1 2 4 5 6 8 10 13 14 15 +0 1 2 4 5 6 8 11 12 13 14 +0 1 2 4 5 6 8 11 12 13 15 +0 1 2 4 5 6 8 11 12 14 15 +0 1 2 4 5 6 8 11 13 14 15 +0 1 2 4 5 6 8 12 13 14 15 +0 1 2 4 5 6 9 10 11 12 13 +0 1 2 4 5 6 9 10 11 12 14 +0 1 2 4 5 6 9 10 11 12 15 +0 1 2 4 5 6 9 10 11 13 14 +0 1 2 4 5 6 9 10 11 13 15 +0 1 2 4 5 6 9 10 11 14 15 +0 1 2 4 5 6 9 10 12 13 14 +0 1 2 4 5 6 9 10 12 13 15 +0 1 2 4 5 6 9 10 12 14 15 +0 1 2 4 5 6 9 10 13 14 15 +0 1 2 4 5 6 9 11 12 13 14 +0 1 2 4 5 6 9 11 12 13 15 +0 1 2 4 5 6 9 11 12 14 15 +0 1 2 4 5 6 9 11 13 14 15 +0 1 2 4 5 6 9 12 13 14 15 +0 1 2 4 5 6 10 11 12 13 14 +0 1 2 4 5 6 10 11 12 13 15 +0 1 2 4 5 6 10 11 12 14 15 +0 1 2 4 5 6 10 11 13 14 15 +0 1 2 4 5 6 10 12 13 14 15 +0 1 2 4 5 6 11 12 13 14 15 +0 1 2 4 5 7 8 9 10 11 12 +0 1 2 4 5 7 8 9 10 11 13 +0 1 2 4 5 7 8 9 10 11 14 +0 1 2 4 5 7 8 9 10 11 15 +0 1 2 4 5 7 8 9 10 12 13 +0 1 2 4 5 7 8 9 10 12 14 +0 1 2 4 5 7 8 9 10 12 15 +0 1 2 4 5 7 8 9 10 13 14 +0 1 2 4 5 7 8 9 10 13 15 +0 1 2 4 5 7 8 9 10 14 15 +0 1 2 4 5 7 8 9 11 12 13 +0 1 2 4 5 7 8 9 11 12 14 +0 1 2 4 5 7 8 9 11 12 15 +0 1 2 4 5 7 8 9 11 13 14 +0 1 2 4 5 7 8 9 11 13 15 +0 1 2 4 5 7 8 9 11 14 15 +0 1 2 4 5 7 8 9 12 13 14 +0 1 2 4 5 7 8 9 12 13 15 +0 1 2 4 5 7 8 9 12 14 15 +0 1 2 4 5 7 8 9 13 14 15 +0 1 2 4 5 7 8 10 11 12 13 +0 1 2 4 5 7 8 10 11 12 14 +0 1 2 4 5 7 8 10 11 12 15 +0 1 2 4 5 7 8 10 11 13 14 +0 1 2 4 5 7 8 10 11 13 15 +0 1 2 4 5 7 8 10 11 14 15 +0 1 2 4 5 7 8 10 12 13 14 +0 1 2 4 5 7 8 10 12 13 15 +0 1 2 4 5 7 8 10 12 14 15 +0 1 2 4 5 7 8 10 13 14 15 +0 1 2 4 5 7 8 11 12 13 14 +0 1 2 4 5 7 8 11 12 13 15 +0 1 2 4 5 7 8 11 12 14 15 +0 1 2 4 5 7 8 11 13 14 15 +0 1 2 4 5 7 8 12 13 14 15 +0 1 2 4 5 7 9 10 11 12 13 +0 1 2 4 5 7 9 10 11 12 14 +0 1 2 4 5 7 9 10 11 12 15 +0 1 2 4 5 7 9 10 11 13 14 +0 1 2 4 5 7 9 10 11 13 15 +0 1 2 4 5 7 9 10 11 14 15 +0 1 2 4 5 7 9 10 12 13 14 +0 1 2 4 5 7 9 10 12 13 15 +0 1 2 4 5 7 9 10 12 14 15 +0 1 2 4 5 7 9 10 13 14 15 +0 1 2 4 5 7 9 11 12 13 14 +0 1 2 4 5 7 9 11 12 13 15 +0 1 2 4 5 7 9 11 12 14 15 +0 1 2 4 5 7 9 11 13 14 15 +0 1 2 4 5 7 9 12 13 14 15 +0 1 2 4 5 7 10 11 12 13 14 +0 1 2 4 5 7 10 11 12 13 15 +0 1 2 4 5 7 10 11 12 14 15 +0 1 2 4 5 7 10 11 13 14 15 +0 1 2 4 5 7 10 12 13 14 15 +0 1 2 4 5 7 11 12 13 14 15 +0 1 2 4 5 8 9 10 11 12 13 +0 1 2 4 5 8 9 10 11 12 14 +0 1 2 4 5 8 9 10 11 12 15 +0 1 2 4 5 8 9 10 11 13 14 +0 1 2 4 5 8 9 10 11 13 15 +0 1 2 4 5 8 9 10 11 14 15 +0 1 2 4 5 8 9 10 12 13 14 +0 1 2 4 5 8 9 10 12 13 15 +0 1 2 4 5 8 9 10 12 14 15 +0 1 2 4 5 8 9 10 13 14 15 +0 1 2 4 5 8 9 11 12 13 14 +0 1 2 4 5 8 9 11 12 13 15 +0 1 2 4 5 8 9 11 12 14 15 +0 1 2 4 5 8 9 11 13 14 15 +0 1 2 4 5 8 9 12 13 14 15 +0 1 2 4 5 8 10 11 12 13 14 +0 1 2 4 5 8 10 11 12 13 15 +0 1 2 4 5 8 10 11 12 14 15 +0 1 2 4 5 8 10 11 13 14 15 +0 1 2 4 5 8 10 12 13 14 15 +0 1 2 4 5 8 11 12 13 14 15 +0 1 2 4 5 9 10 11 12 13 14 +0 1 2 4 5 9 10 11 12 13 15 +0 1 2 4 5 9 10 11 12 14 15 +0 1 2 4 5 9 10 11 13 14 15 +0 1 2 4 5 9 10 12 13 14 15 +0 1 2 4 5 9 11 12 13 14 15 +0 1 2 4 5 10 11 12 13 14 15 +0 1 2 4 6 7 8 9 10 11 12 +0 1 2 4 6 7 8 9 10 11 13 +0 1 2 4 6 7 8 9 10 11 14 +0 1 2 4 6 7 8 9 10 11 15 +0 1 2 4 6 7 8 9 10 12 13 +0 1 2 4 6 7 8 9 10 12 14 +0 1 2 4 6 7 8 9 10 12 15 +0 1 2 4 6 7 8 9 10 13 14 +0 1 2 4 6 7 8 9 10 13 15 +0 1 2 4 6 7 8 9 10 14 15 +0 1 2 4 6 7 8 9 11 12 13 +0 1 2 4 6 7 8 9 11 12 14 +0 1 2 4 6 7 8 9 11 12 15 +0 1 2 4 6 7 8 9 11 13 14 +0 1 2 4 6 7 8 9 11 13 15 +0 1 2 4 6 7 8 9 11 14 15 +0 1 2 4 6 7 8 9 12 13 14 +0 1 2 4 6 7 8 9 12 13 15 +0 1 2 4 6 7 8 9 12 14 15 +0 1 2 4 6 7 8 9 13 14 15 +0 1 2 4 6 7 8 10 11 12 13 +0 1 2 4 6 7 8 10 11 12 14 +0 1 2 4 6 7 8 10 11 12 15 +0 1 2 4 6 7 8 10 11 13 14 +0 1 2 4 6 7 8 10 11 13 15 +0 1 2 4 6 7 8 10 11 14 15 +0 1 2 4 6 7 8 10 12 13 14 +0 1 2 4 6 7 8 10 12 13 15 +0 1 2 4 6 7 8 10 12 14 15 +0 1 2 4 6 7 8 10 13 14 15 +0 1 2 4 6 7 8 11 12 13 14 +0 1 2 4 6 7 8 11 12 13 15 +0 1 2 4 6 7 8 11 12 14 15 +0 1 2 4 6 7 8 11 13 14 15 +0 1 2 4 6 7 8 12 13 14 15 +0 1 2 4 6 7 9 10 11 12 13 +0 1 2 4 6 7 9 10 11 12 14 +0 1 2 4 6 7 9 10 11 12 15 +0 1 2 4 6 7 9 10 11 13 14 +0 1 2 4 6 7 9 10 11 13 15 +0 1 2 4 6 7 9 10 11 14 15 +0 1 2 4 6 7 9 10 12 13 14 +0 1 2 4 6 7 9 10 12 13 15 +0 1 2 4 6 7 9 10 12 14 15 +0 1 2 4 6 7 9 10 13 14 15 +0 1 2 4 6 7 9 11 12 13 14 +0 1 2 4 6 7 9 11 12 13 15 +0 1 2 4 6 7 9 11 12 14 15 +0 1 2 4 6 7 9 11 13 14 15 +0 1 2 4 6 7 9 12 13 14 15 +0 1 2 4 6 7 10 11 12 13 14 +0 1 2 4 6 7 10 11 12 13 15 +0 1 2 4 6 7 10 11 12 14 15 +0 1 2 4 6 7 10 11 13 14 15 +0 1 2 4 6 7 10 12 13 14 15 +0 1 2 4 6 7 11 12 13 14 15 +0 1 2 4 6 8 9 10 11 12 13 +0 1 2 4 6 8 9 10 11 12 14 +0 1 2 4 6 8 9 10 11 12 15 +0 1 2 4 6 8 9 10 11 13 14 +0 1 2 4 6 8 9 10 11 13 15 +0 1 2 4 6 8 9 10 11 14 15 +0 1 2 4 6 8 9 10 12 13 14 +0 1 2 4 6 8 9 10 12 13 15 +0 1 2 4 6 8 9 10 12 14 15 +0 1 2 4 6 8 9 10 13 14 15 +0 1 2 4 6 8 9 11 12 13 14 +0 1 2 4 6 8 9 11 12 13 15 +0 1 2 4 6 8 9 11 12 14 15 +0 1 2 4 6 8 9 11 13 14 15 +0 1 2 4 6 8 9 12 13 14 15 +0 1 2 4 6 8 10 11 12 13 14 +0 1 2 4 6 8 10 11 12 13 15 +0 1 2 4 6 8 10 11 12 14 15 +0 1 2 4 6 8 10 11 13 14 15 +0 1 2 4 6 8 10 12 13 14 15 +0 1 2 4 6 8 11 12 13 14 15 +0 1 2 4 6 9 10 11 12 13 14 +0 1 2 4 6 9 10 11 12 13 15 +0 1 2 4 6 9 10 11 12 14 15 +0 1 2 4 6 9 10 11 13 14 15 +0 1 2 4 6 9 10 12 13 14 15 +0 1 2 4 6 9 11 12 13 14 15 +0 1 2 4 6 10 11 12 13 14 15 +0 1 2 4 7 8 9 10 11 12 13 +0 1 2 4 7 8 9 10 11 12 14 +0 1 2 4 7 8 9 10 11 12 15 +0 1 2 4 7 8 9 10 11 13 14 +0 1 2 4 7 8 9 10 11 13 15 +0 1 2 4 7 8 9 10 11 14 15 +0 1 2 4 7 8 9 10 12 13 14 +0 1 2 4 7 8 9 10 12 13 15 +0 1 2 4 7 8 9 10 12 14 15 +0 1 2 4 7 8 9 10 13 14 15 +0 1 2 4 7 8 9 11 12 13 14 +0 1 2 4 7 8 9 11 12 13 15 +0 1 2 4 7 8 9 11 12 14 15 +0 1 2 4 7 8 9 11 13 14 15 +0 1 2 4 7 8 9 12 13 14 15 +0 1 2 4 7 8 10 11 12 13 14 +0 1 2 4 7 8 10 11 12 13 15 +0 1 2 4 7 8 10 11 12 14 15 +0 1 2 4 7 8 10 11 13 14 15 +0 1 2 4 7 8 10 12 13 14 15 +0 1 2 4 7 8 11 12 13 14 15 +0 1 2 4 7 9 10 11 12 13 14 +0 1 2 4 7 9 10 11 12 13 15 +0 1 2 4 7 9 10 11 12 14 15 +0 1 2 4 7 9 10 11 13 14 15 +0 1 2 4 7 9 10 12 13 14 15 +0 1 2 4 7 9 11 12 13 14 15 +0 1 2 4 7 10 11 12 13 14 15 +0 1 2 4 8 9 10 11 12 13 14 +0 1 2 4 8 9 10 11 12 13 15 +0 1 2 4 8 9 10 11 12 14 15 +0 1 2 4 8 9 10 11 13 14 15 +0 1 2 4 8 9 10 12 13 14 15 +0 1 2 4 8 9 11 12 13 14 15 +0 1 2 4 8 10 11 12 13 14 15 +0 1 2 4 9 10 11 12 13 14 15 +0 1 2 5 6 7 8 9 10 11 12 +0 1 2 5 6 7 8 9 10 11 13 +0 1 2 5 6 7 8 9 10 11 14 +0 1 2 5 6 7 8 9 10 11 15 +0 1 2 5 6 7 8 9 10 12 13 +0 1 2 5 6 7 8 9 10 12 14 +0 1 2 5 6 7 8 9 10 12 15 +0 1 2 5 6 7 8 9 10 13 14 +0 1 2 5 6 7 8 9 10 13 15 +0 1 2 5 6 7 8 9 10 14 15 +0 1 2 5 6 7 8 9 11 12 13 +0 1 2 5 6 7 8 9 11 12 14 +0 1 2 5 6 7 8 9 11 12 15 +0 1 2 5 6 7 8 9 11 13 14 +0 1 2 5 6 7 8 9 11 13 15 +0 1 2 5 6 7 8 9 11 14 15 +0 1 2 5 6 7 8 9 12 13 14 +0 1 2 5 6 7 8 9 12 13 15 +0 1 2 5 6 7 8 9 12 14 15 +0 1 2 5 6 7 8 9 13 14 15 +0 1 2 5 6 7 8 10 11 12 13 +0 1 2 5 6 7 8 10 11 12 14 +0 1 2 5 6 7 8 10 11 12 15 +0 1 2 5 6 7 8 10 11 13 14 +0 1 2 5 6 7 8 10 11 13 15 +0 1 2 5 6 7 8 10 11 14 15 +0 1 2 5 6 7 8 10 12 13 14 +0 1 2 5 6 7 8 10 12 13 15 +0 1 2 5 6 7 8 10 12 14 15 +0 1 2 5 6 7 8 10 13 14 15 +0 1 2 5 6 7 8 11 12 13 14 +0 1 2 5 6 7 8 11 12 13 15 +0 1 2 5 6 7 8 11 12 14 15 +0 1 2 5 6 7 8 11 13 14 15 +0 1 2 5 6 7 8 12 13 14 15 +0 1 2 5 6 7 9 10 11 12 13 +0 1 2 5 6 7 9 10 11 12 14 +0 1 2 5 6 7 9 10 11 12 15 +0 1 2 5 6 7 9 10 11 13 14 +0 1 2 5 6 7 9 10 11 13 15 +0 1 2 5 6 7 9 10 11 14 15 +0 1 2 5 6 7 9 10 12 13 14 +0 1 2 5 6 7 9 10 12 13 15 +0 1 2 5 6 7 9 10 12 14 15 +0 1 2 5 6 7 9 10 13 14 15 +0 1 2 5 6 7 9 11 12 13 14 +0 1 2 5 6 7 9 11 12 13 15 +0 1 2 5 6 7 9 11 12 14 15 +0 1 2 5 6 7 9 11 13 14 15 +0 1 2 5 6 7 9 12 13 14 15 +0 1 2 5 6 7 10 11 12 13 14 +0 1 2 5 6 7 10 11 12 13 15 +0 1 2 5 6 7 10 11 12 14 15 +0 1 2 5 6 7 10 11 13 14 15 +0 1 2 5 6 7 10 12 13 14 15 +0 1 2 5 6 7 11 12 13 14 15 +0 1 2 5 6 8 9 10 11 12 13 +0 1 2 5 6 8 9 10 11 12 14 +0 1 2 5 6 8 9 10 11 12 15 +0 1 2 5 6 8 9 10 11 13 14 +0 1 2 5 6 8 9 10 11 13 15 +0 1 2 5 6 8 9 10 11 14 15 +0 1 2 5 6 8 9 10 12 13 14 +0 1 2 5 6 8 9 10 12 13 15 +0 1 2 5 6 8 9 10 12 14 15 +0 1 2 5 6 8 9 10 13 14 15 +0 1 2 5 6 8 9 11 12 13 14 +0 1 2 5 6 8 9 11 12 13 15 +0 1 2 5 6 8 9 11 12 14 15 +0 1 2 5 6 8 9 11 13 14 15 +0 1 2 5 6 8 9 12 13 14 15 +0 1 2 5 6 8 10 11 12 13 14 +0 1 2 5 6 8 10 11 12 13 15 +0 1 2 5 6 8 10 11 12 14 15 +0 1 2 5 6 8 10 11 13 14 15 +0 1 2 5 6 8 10 12 13 14 15 +0 1 2 5 6 8 11 12 13 14 15 +0 1 2 5 6 9 10 11 12 13 14 +0 1 2 5 6 9 10 11 12 13 15 +0 1 2 5 6 9 10 11 12 14 15 +0 1 2 5 6 9 10 11 13 14 15 +0 1 2 5 6 9 10 12 13 14 15 +0 1 2 5 6 9 11 12 13 14 15 +0 1 2 5 6 10 11 12 13 14 15 +0 1 2 5 7 8 9 10 11 12 13 +0 1 2 5 7 8 9 10 11 12 14 +0 1 2 5 7 8 9 10 11 12 15 +0 1 2 5 7 8 9 10 11 13 14 +0 1 2 5 7 8 9 10 11 13 15 +0 1 2 5 7 8 9 10 11 14 15 +0 1 2 5 7 8 9 10 12 13 14 +0 1 2 5 7 8 9 10 12 13 15 +0 1 2 5 7 8 9 10 12 14 15 +0 1 2 5 7 8 9 10 13 14 15 +0 1 2 5 7 8 9 11 12 13 14 +0 1 2 5 7 8 9 11 12 13 15 +0 1 2 5 7 8 9 11 12 14 15 +0 1 2 5 7 8 9 11 13 14 15 +0 1 2 5 7 8 9 12 13 14 15 +0 1 2 5 7 8 10 11 12 13 14 +0 1 2 5 7 8 10 11 12 13 15 +0 1 2 5 7 8 10 11 12 14 15 +0 1 2 5 7 8 10 11 13 14 15 +0 1 2 5 7 8 10 12 13 14 15 +0 1 2 5 7 8 11 12 13 14 15 +0 1 2 5 7 9 10 11 12 13 14 +0 1 2 5 7 9 10 11 12 13 15 +0 1 2 5 7 9 10 11 12 14 15 +0 1 2 5 7 9 10 11 13 14 15 +0 1 2 5 7 9 10 12 13 14 15 +0 1 2 5 7 9 11 12 13 14 15 +0 1 2 5 7 10 11 12 13 14 15 +0 1 2 5 8 9 10 11 12 13 14 +0 1 2 5 8 9 10 11 12 13 15 +0 1 2 5 8 9 10 11 12 14 15 +0 1 2 5 8 9 10 11 13 14 15 +0 1 2 5 8 9 10 12 13 14 15 +0 1 2 5 8 9 11 12 13 14 15 +0 1 2 5 8 10 11 12 13 14 15 +0 1 2 5 9 10 11 12 13 14 15 +0 1 2 6 7 8 9 10 11 12 13 +0 1 2 6 7 8 9 10 11 12 14 +0 1 2 6 7 8 9 10 11 12 15 +0 1 2 6 7 8 9 10 11 13 14 +0 1 2 6 7 8 9 10 11 13 15 +0 1 2 6 7 8 9 10 11 14 15 +0 1 2 6 7 8 9 10 12 13 14 +0 1 2 6 7 8 9 10 12 13 15 +0 1 2 6 7 8 9 10 12 14 15 +0 1 2 6 7 8 9 10 13 14 15 +0 1 2 6 7 8 9 11 12 13 14 +0 1 2 6 7 8 9 11 12 13 15 +0 1 2 6 7 8 9 11 12 14 15 +0 1 2 6 7 8 9 11 13 14 15 +0 1 2 6 7 8 9 12 13 14 15 +0 1 2 6 7 8 10 11 12 13 14 +0 1 2 6 7 8 10 11 12 13 15 +0 1 2 6 7 8 10 11 12 14 15 +0 1 2 6 7 8 10 11 13 14 15 +0 1 2 6 7 8 10 12 13 14 15 +0 1 2 6 7 8 11 12 13 14 15 +0 1 2 6 7 9 10 11 12 13 14 +0 1 2 6 7 9 10 11 12 13 15 +0 1 2 6 7 9 10 11 12 14 15 +0 1 2 6 7 9 10 11 13 14 15 +0 1 2 6 7 9 10 12 13 14 15 +0 1 2 6 7 9 11 12 13 14 15 +0 1 2 6 7 10 11 12 13 14 15 +0 1 2 6 8 9 10 11 12 13 14 +0 1 2 6 8 9 10 11 12 13 15 +0 1 2 6 8 9 10 11 12 14 15 +0 1 2 6 8 9 10 11 13 14 15 +0 1 2 6 8 9 10 12 13 14 15 +0 1 2 6 8 9 11 12 13 14 15 +0 1 2 6 8 10 11 12 13 14 15 +0 1 2 6 9 10 11 12 13 14 15 +0 1 2 7 8 9 10 11 12 13 14 +0 1 2 7 8 9 10 11 12 13 15 +0 1 2 7 8 9 10 11 12 14 15 +0 1 2 7 8 9 10 11 13 14 15 +0 1 2 7 8 9 10 12 13 14 15 +0 1 2 7 8 9 11 12 13 14 15 +0 1 2 7 8 10 11 12 13 14 15 +0 1 2 7 9 10 11 12 13 14 15 +0 1 2 8 9 10 11 12 13 14 15 +0 1 3 4 5 6 7 8 9 10 11 +0 1 3 4 5 6 7 8 9 10 12 +0 1 3 4 5 6 7 8 9 10 13 +0 1 3 4 5 6 7 8 9 10 14 +0 1 3 4 5 6 7 8 9 10 15 +0 1 3 4 5 6 7 8 9 11 12 +0 1 3 4 5 6 7 8 9 11 13 +0 1 3 4 5 6 7 8 9 11 14 +0 1 3 4 5 6 7 8 9 11 15 +0 1 3 4 5 6 7 8 9 12 13 +0 1 3 4 5 6 7 8 9 12 14 +0 1 3 4 5 6 7 8 9 12 15 +0 1 3 4 5 6 7 8 9 13 14 +0 1 3 4 5 6 7 8 9 13 15 +0 1 3 4 5 6 7 8 9 14 15 +0 1 3 4 5 6 7 8 10 11 12 +0 1 3 4 5 6 7 8 10 11 13 +0 1 3 4 5 6 7 8 10 11 14 +0 1 3 4 5 6 7 8 10 11 15 +0 1 3 4 5 6 7 8 10 12 13 +0 1 3 4 5 6 7 8 10 12 14 +0 1 3 4 5 6 7 8 10 12 15 +0 1 3 4 5 6 7 8 10 13 14 +0 1 3 4 5 6 7 8 10 13 15 +0 1 3 4 5 6 7 8 10 14 15 +0 1 3 4 5 6 7 8 11 12 13 +0 1 3 4 5 6 7 8 11 12 14 +0 1 3 4 5 6 7 8 11 12 15 +0 1 3 4 5 6 7 8 11 13 14 +0 1 3 4 5 6 7 8 11 13 15 +0 1 3 4 5 6 7 8 11 14 15 +0 1 3 4 5 6 7 8 12 13 14 +0 1 3 4 5 6 7 8 12 13 15 +0 1 3 4 5 6 7 8 12 14 15 +0 1 3 4 5 6 7 8 13 14 15 +0 1 3 4 5 6 7 9 10 11 12 +0 1 3 4 5 6 7 9 10 11 13 +0 1 3 4 5 6 7 9 10 11 14 +0 1 3 4 5 6 7 9 10 11 15 +0 1 3 4 5 6 7 9 10 12 13 +0 1 3 4 5 6 7 9 10 12 14 +0 1 3 4 5 6 7 9 10 12 15 +0 1 3 4 5 6 7 9 10 13 14 +0 1 3 4 5 6 7 9 10 13 15 +0 1 3 4 5 6 7 9 10 14 15 +0 1 3 4 5 6 7 9 11 12 13 +0 1 3 4 5 6 7 9 11 12 14 +0 1 3 4 5 6 7 9 11 12 15 +0 1 3 4 5 6 7 9 11 13 14 +0 1 3 4 5 6 7 9 11 13 15 +0 1 3 4 5 6 7 9 11 14 15 +0 1 3 4 5 6 7 9 12 13 14 +0 1 3 4 5 6 7 9 12 13 15 +0 1 3 4 5 6 7 9 12 14 15 +0 1 3 4 5 6 7 9 13 14 15 +0 1 3 4 5 6 7 10 11 12 13 +0 1 3 4 5 6 7 10 11 12 14 +0 1 3 4 5 6 7 10 11 12 15 +0 1 3 4 5 6 7 10 11 13 14 +0 1 3 4 5 6 7 10 11 13 15 +0 1 3 4 5 6 7 10 11 14 15 +0 1 3 4 5 6 7 10 12 13 14 +0 1 3 4 5 6 7 10 12 13 15 +0 1 3 4 5 6 7 10 12 14 15 +0 1 3 4 5 6 7 10 13 14 15 +0 1 3 4 5 6 7 11 12 13 14 +0 1 3 4 5 6 7 11 12 13 15 +0 1 3 4 5 6 7 11 12 14 15 +0 1 3 4 5 6 7 11 13 14 15 +0 1 3 4 5 6 7 12 13 14 15 +0 1 3 4 5 6 8 9 10 11 12 +0 1 3 4 5 6 8 9 10 11 13 +0 1 3 4 5 6 8 9 10 11 14 +0 1 3 4 5 6 8 9 10 11 15 +0 1 3 4 5 6 8 9 10 12 13 +0 1 3 4 5 6 8 9 10 12 14 +0 1 3 4 5 6 8 9 10 12 15 +0 1 3 4 5 6 8 9 10 13 14 +0 1 3 4 5 6 8 9 10 13 15 +0 1 3 4 5 6 8 9 10 14 15 +0 1 3 4 5 6 8 9 11 12 13 +0 1 3 4 5 6 8 9 11 12 14 +0 1 3 4 5 6 8 9 11 12 15 +0 1 3 4 5 6 8 9 11 13 14 +0 1 3 4 5 6 8 9 11 13 15 +0 1 3 4 5 6 8 9 11 14 15 +0 1 3 4 5 6 8 9 12 13 14 +0 1 3 4 5 6 8 9 12 13 15 +0 1 3 4 5 6 8 9 12 14 15 +0 1 3 4 5 6 8 9 13 14 15 +0 1 3 4 5 6 8 10 11 12 13 +0 1 3 4 5 6 8 10 11 12 14 +0 1 3 4 5 6 8 10 11 12 15 +0 1 3 4 5 6 8 10 11 13 14 +0 1 3 4 5 6 8 10 11 13 15 +0 1 3 4 5 6 8 10 11 14 15 +0 1 3 4 5 6 8 10 12 13 14 +0 1 3 4 5 6 8 10 12 13 15 +0 1 3 4 5 6 8 10 12 14 15 +0 1 3 4 5 6 8 10 13 14 15 +0 1 3 4 5 6 8 11 12 13 14 +0 1 3 4 5 6 8 11 12 13 15 +0 1 3 4 5 6 8 11 12 14 15 +0 1 3 4 5 6 8 11 13 14 15 +0 1 3 4 5 6 8 12 13 14 15 +0 1 3 4 5 6 9 10 11 12 13 +0 1 3 4 5 6 9 10 11 12 14 +0 1 3 4 5 6 9 10 11 12 15 +0 1 3 4 5 6 9 10 11 13 14 +0 1 3 4 5 6 9 10 11 13 15 +0 1 3 4 5 6 9 10 11 14 15 +0 1 3 4 5 6 9 10 12 13 14 +0 1 3 4 5 6 9 10 12 13 15 +0 1 3 4 5 6 9 10 12 14 15 +0 1 3 4 5 6 9 10 13 14 15 +0 1 3 4 5 6 9 11 12 13 14 +0 1 3 4 5 6 9 11 12 13 15 +0 1 3 4 5 6 9 11 12 14 15 +0 1 3 4 5 6 9 11 13 14 15 +0 1 3 4 5 6 9 12 13 14 15 +0 1 3 4 5 6 10 11 12 13 14 +0 1 3 4 5 6 10 11 12 13 15 +0 1 3 4 5 6 10 11 12 14 15 +0 1 3 4 5 6 10 11 13 14 15 +0 1 3 4 5 6 10 12 13 14 15 +0 1 3 4 5 6 11 12 13 14 15 +0 1 3 4 5 7 8 9 10 11 12 +0 1 3 4 5 7 8 9 10 11 13 +0 1 3 4 5 7 8 9 10 11 14 +0 1 3 4 5 7 8 9 10 11 15 +0 1 3 4 5 7 8 9 10 12 13 +0 1 3 4 5 7 8 9 10 12 14 +0 1 3 4 5 7 8 9 10 12 15 +0 1 3 4 5 7 8 9 10 13 14 +0 1 3 4 5 7 8 9 10 13 15 +0 1 3 4 5 7 8 9 10 14 15 +0 1 3 4 5 7 8 9 11 12 13 +0 1 3 4 5 7 8 9 11 12 14 +0 1 3 4 5 7 8 9 11 12 15 +0 1 3 4 5 7 8 9 11 13 14 +0 1 3 4 5 7 8 9 11 13 15 +0 1 3 4 5 7 8 9 11 14 15 +0 1 3 4 5 7 8 9 12 13 14 +0 1 3 4 5 7 8 9 12 13 15 +0 1 3 4 5 7 8 9 12 14 15 +0 1 3 4 5 7 8 9 13 14 15 +0 1 3 4 5 7 8 10 11 12 13 +0 1 3 4 5 7 8 10 11 12 14 +0 1 3 4 5 7 8 10 11 12 15 +0 1 3 4 5 7 8 10 11 13 14 +0 1 3 4 5 7 8 10 11 13 15 +0 1 3 4 5 7 8 10 11 14 15 +0 1 3 4 5 7 8 10 12 13 14 +0 1 3 4 5 7 8 10 12 13 15 +0 1 3 4 5 7 8 10 12 14 15 +0 1 3 4 5 7 8 10 13 14 15 +0 1 3 4 5 7 8 11 12 13 14 +0 1 3 4 5 7 8 11 12 13 15 +0 1 3 4 5 7 8 11 12 14 15 +0 1 3 4 5 7 8 11 13 14 15 +0 1 3 4 5 7 8 12 13 14 15 +0 1 3 4 5 7 9 10 11 12 13 +0 1 3 4 5 7 9 10 11 12 14 +0 1 3 4 5 7 9 10 11 12 15 +0 1 3 4 5 7 9 10 11 13 14 +0 1 3 4 5 7 9 10 11 13 15 +0 1 3 4 5 7 9 10 11 14 15 +0 1 3 4 5 7 9 10 12 13 14 +0 1 3 4 5 7 9 10 12 13 15 +0 1 3 4 5 7 9 10 12 14 15 +0 1 3 4 5 7 9 10 13 14 15 +0 1 3 4 5 7 9 11 12 13 14 +0 1 3 4 5 7 9 11 12 13 15 +0 1 3 4 5 7 9 11 12 14 15 +0 1 3 4 5 7 9 11 13 14 15 +0 1 3 4 5 7 9 12 13 14 15 +0 1 3 4 5 7 10 11 12 13 14 +0 1 3 4 5 7 10 11 12 13 15 +0 1 3 4 5 7 10 11 12 14 15 +0 1 3 4 5 7 10 11 13 14 15 +0 1 3 4 5 7 10 12 13 14 15 +0 1 3 4 5 7 11 12 13 14 15 +0 1 3 4 5 8 9 10 11 12 13 +0 1 3 4 5 8 9 10 11 12 14 +0 1 3 4 5 8 9 10 11 12 15 +0 1 3 4 5 8 9 10 11 13 14 +0 1 3 4 5 8 9 10 11 13 15 +0 1 3 4 5 8 9 10 11 14 15 +0 1 3 4 5 8 9 10 12 13 14 +0 1 3 4 5 8 9 10 12 13 15 +0 1 3 4 5 8 9 10 12 14 15 +0 1 3 4 5 8 9 10 13 14 15 +0 1 3 4 5 8 9 11 12 13 14 +0 1 3 4 5 8 9 11 12 13 15 +0 1 3 4 5 8 9 11 12 14 15 +0 1 3 4 5 8 9 11 13 14 15 +0 1 3 4 5 8 9 12 13 14 15 +0 1 3 4 5 8 10 11 12 13 14 +0 1 3 4 5 8 10 11 12 13 15 +0 1 3 4 5 8 10 11 12 14 15 +0 1 3 4 5 8 10 11 13 14 15 +0 1 3 4 5 8 10 12 13 14 15 +0 1 3 4 5 8 11 12 13 14 15 +0 1 3 4 5 9 10 11 12 13 14 +0 1 3 4 5 9 10 11 12 13 15 +0 1 3 4 5 9 10 11 12 14 15 +0 1 3 4 5 9 10 11 13 14 15 +0 1 3 4 5 9 10 12 13 14 15 +0 1 3 4 5 9 11 12 13 14 15 +0 1 3 4 5 10 11 12 13 14 15 +0 1 3 4 6 7 8 9 10 11 12 +0 1 3 4 6 7 8 9 10 11 13 +0 1 3 4 6 7 8 9 10 11 14 +0 1 3 4 6 7 8 9 10 11 15 +0 1 3 4 6 7 8 9 10 12 13 +0 1 3 4 6 7 8 9 10 12 14 +0 1 3 4 6 7 8 9 10 12 15 +0 1 3 4 6 7 8 9 10 13 14 +0 1 3 4 6 7 8 9 10 13 15 +0 1 3 4 6 7 8 9 10 14 15 +0 1 3 4 6 7 8 9 11 12 13 +0 1 3 4 6 7 8 9 11 12 14 +0 1 3 4 6 7 8 9 11 12 15 +0 1 3 4 6 7 8 9 11 13 14 +0 1 3 4 6 7 8 9 11 13 15 +0 1 3 4 6 7 8 9 11 14 15 +0 1 3 4 6 7 8 9 12 13 14 +0 1 3 4 6 7 8 9 12 13 15 +0 1 3 4 6 7 8 9 12 14 15 +0 1 3 4 6 7 8 9 13 14 15 +0 1 3 4 6 7 8 10 11 12 13 +0 1 3 4 6 7 8 10 11 12 14 +0 1 3 4 6 7 8 10 11 12 15 +0 1 3 4 6 7 8 10 11 13 14 +0 1 3 4 6 7 8 10 11 13 15 +0 1 3 4 6 7 8 10 11 14 15 +0 1 3 4 6 7 8 10 12 13 14 +0 1 3 4 6 7 8 10 12 13 15 +0 1 3 4 6 7 8 10 12 14 15 +0 1 3 4 6 7 8 10 13 14 15 +0 1 3 4 6 7 8 11 12 13 14 +0 1 3 4 6 7 8 11 12 13 15 +0 1 3 4 6 7 8 11 12 14 15 +0 1 3 4 6 7 8 11 13 14 15 +0 1 3 4 6 7 8 12 13 14 15 +0 1 3 4 6 7 9 10 11 12 13 +0 1 3 4 6 7 9 10 11 12 14 +0 1 3 4 6 7 9 10 11 12 15 +0 1 3 4 6 7 9 10 11 13 14 +0 1 3 4 6 7 9 10 11 13 15 +0 1 3 4 6 7 9 10 11 14 15 +0 1 3 4 6 7 9 10 12 13 14 +0 1 3 4 6 7 9 10 12 13 15 +0 1 3 4 6 7 9 10 12 14 15 +0 1 3 4 6 7 9 10 13 14 15 +0 1 3 4 6 7 9 11 12 13 14 +0 1 3 4 6 7 9 11 12 13 15 +0 1 3 4 6 7 9 11 12 14 15 +0 1 3 4 6 7 9 11 13 14 15 +0 1 3 4 6 7 9 12 13 14 15 +0 1 3 4 6 7 10 11 12 13 14 +0 1 3 4 6 7 10 11 12 13 15 +0 1 3 4 6 7 10 11 12 14 15 +0 1 3 4 6 7 10 11 13 14 15 +0 1 3 4 6 7 10 12 13 14 15 +0 1 3 4 6 7 11 12 13 14 15 +0 1 3 4 6 8 9 10 11 12 13 +0 1 3 4 6 8 9 10 11 12 14 +0 1 3 4 6 8 9 10 11 12 15 +0 1 3 4 6 8 9 10 11 13 14 +0 1 3 4 6 8 9 10 11 13 15 +0 1 3 4 6 8 9 10 11 14 15 +0 1 3 4 6 8 9 10 12 13 14 +0 1 3 4 6 8 9 10 12 13 15 +0 1 3 4 6 8 9 10 12 14 15 +0 1 3 4 6 8 9 10 13 14 15 +0 1 3 4 6 8 9 11 12 13 14 +0 1 3 4 6 8 9 11 12 13 15 +0 1 3 4 6 8 9 11 12 14 15 +0 1 3 4 6 8 9 11 13 14 15 +0 1 3 4 6 8 9 12 13 14 15 +0 1 3 4 6 8 10 11 12 13 14 +0 1 3 4 6 8 10 11 12 13 15 +0 1 3 4 6 8 10 11 12 14 15 +0 1 3 4 6 8 10 11 13 14 15 +0 1 3 4 6 8 10 12 13 14 15 +0 1 3 4 6 8 11 12 13 14 15 +0 1 3 4 6 9 10 11 12 13 14 +0 1 3 4 6 9 10 11 12 13 15 +0 1 3 4 6 9 10 11 12 14 15 +0 1 3 4 6 9 10 11 13 14 15 +0 1 3 4 6 9 10 12 13 14 15 +0 1 3 4 6 9 11 12 13 14 15 +0 1 3 4 6 10 11 12 13 14 15 +0 1 3 4 7 8 9 10 11 12 13 +0 1 3 4 7 8 9 10 11 12 14 +0 1 3 4 7 8 9 10 11 12 15 +0 1 3 4 7 8 9 10 11 13 14 +0 1 3 4 7 8 9 10 11 13 15 +0 1 3 4 7 8 9 10 11 14 15 +0 1 3 4 7 8 9 10 12 13 14 +0 1 3 4 7 8 9 10 12 13 15 +0 1 3 4 7 8 9 10 12 14 15 +0 1 3 4 7 8 9 10 13 14 15 +0 1 3 4 7 8 9 11 12 13 14 +0 1 3 4 7 8 9 11 12 13 15 +0 1 3 4 7 8 9 11 12 14 15 +0 1 3 4 7 8 9 11 13 14 15 +0 1 3 4 7 8 9 12 13 14 15 +0 1 3 4 7 8 10 11 12 13 14 +0 1 3 4 7 8 10 11 12 13 15 +0 1 3 4 7 8 10 11 12 14 15 +0 1 3 4 7 8 10 11 13 14 15 +0 1 3 4 7 8 10 12 13 14 15 +0 1 3 4 7 8 11 12 13 14 15 +0 1 3 4 7 9 10 11 12 13 14 +0 1 3 4 7 9 10 11 12 13 15 +0 1 3 4 7 9 10 11 12 14 15 +0 1 3 4 7 9 10 11 13 14 15 +0 1 3 4 7 9 10 12 13 14 15 +0 1 3 4 7 9 11 12 13 14 15 +0 1 3 4 7 10 11 12 13 14 15 +0 1 3 4 8 9 10 11 12 13 14 +0 1 3 4 8 9 10 11 12 13 15 +0 1 3 4 8 9 10 11 12 14 15 +0 1 3 4 8 9 10 11 13 14 15 +0 1 3 4 8 9 10 12 13 14 15 +0 1 3 4 8 9 11 12 13 14 15 +0 1 3 4 8 10 11 12 13 14 15 +0 1 3 4 9 10 11 12 13 14 15 +0 1 3 5 6 7 8 9 10 11 12 +0 1 3 5 6 7 8 9 10 11 13 +0 1 3 5 6 7 8 9 10 11 14 +0 1 3 5 6 7 8 9 10 11 15 +0 1 3 5 6 7 8 9 10 12 13 +0 1 3 5 6 7 8 9 10 12 14 +0 1 3 5 6 7 8 9 10 12 15 +0 1 3 5 6 7 8 9 10 13 14 +0 1 3 5 6 7 8 9 10 13 15 +0 1 3 5 6 7 8 9 10 14 15 +0 1 3 5 6 7 8 9 11 12 13 +0 1 3 5 6 7 8 9 11 12 14 +0 1 3 5 6 7 8 9 11 12 15 +0 1 3 5 6 7 8 9 11 13 14 +0 1 3 5 6 7 8 9 11 13 15 +0 1 3 5 6 7 8 9 11 14 15 +0 1 3 5 6 7 8 9 12 13 14 +0 1 3 5 6 7 8 9 12 13 15 +0 1 3 5 6 7 8 9 12 14 15 +0 1 3 5 6 7 8 9 13 14 15 +0 1 3 5 6 7 8 10 11 12 13 +0 1 3 5 6 7 8 10 11 12 14 +0 1 3 5 6 7 8 10 11 12 15 +0 1 3 5 6 7 8 10 11 13 14 +0 1 3 5 6 7 8 10 11 13 15 +0 1 3 5 6 7 8 10 11 14 15 +0 1 3 5 6 7 8 10 12 13 14 +0 1 3 5 6 7 8 10 12 13 15 +0 1 3 5 6 7 8 10 12 14 15 +0 1 3 5 6 7 8 10 13 14 15 +0 1 3 5 6 7 8 11 12 13 14 +0 1 3 5 6 7 8 11 12 13 15 +0 1 3 5 6 7 8 11 12 14 15 +0 1 3 5 6 7 8 11 13 14 15 +0 1 3 5 6 7 8 12 13 14 15 +0 1 3 5 6 7 9 10 11 12 13 +0 1 3 5 6 7 9 10 11 12 14 +0 1 3 5 6 7 9 10 11 12 15 +0 1 3 5 6 7 9 10 11 13 14 +0 1 3 5 6 7 9 10 11 13 15 +0 1 3 5 6 7 9 10 11 14 15 +0 1 3 5 6 7 9 10 12 13 14 +0 1 3 5 6 7 9 10 12 13 15 +0 1 3 5 6 7 9 10 12 14 15 +0 1 3 5 6 7 9 10 13 14 15 +0 1 3 5 6 7 9 11 12 13 14 +0 1 3 5 6 7 9 11 12 13 15 +0 1 3 5 6 7 9 11 12 14 15 +0 1 3 5 6 7 9 11 13 14 15 +0 1 3 5 6 7 9 12 13 14 15 +0 1 3 5 6 7 10 11 12 13 14 +0 1 3 5 6 7 10 11 12 13 15 +0 1 3 5 6 7 10 11 12 14 15 +0 1 3 5 6 7 10 11 13 14 15 +0 1 3 5 6 7 10 12 13 14 15 +0 1 3 5 6 7 11 12 13 14 15 +0 1 3 5 6 8 9 10 11 12 13 +0 1 3 5 6 8 9 10 11 12 14 +0 1 3 5 6 8 9 10 11 12 15 +0 1 3 5 6 8 9 10 11 13 14 +0 1 3 5 6 8 9 10 11 13 15 +0 1 3 5 6 8 9 10 11 14 15 +0 1 3 5 6 8 9 10 12 13 14 +0 1 3 5 6 8 9 10 12 13 15 +0 1 3 5 6 8 9 10 12 14 15 +0 1 3 5 6 8 9 10 13 14 15 +0 1 3 5 6 8 9 11 12 13 14 +0 1 3 5 6 8 9 11 12 13 15 +0 1 3 5 6 8 9 11 12 14 15 +0 1 3 5 6 8 9 11 13 14 15 +0 1 3 5 6 8 9 12 13 14 15 +0 1 3 5 6 8 10 11 12 13 14 +0 1 3 5 6 8 10 11 12 13 15 +0 1 3 5 6 8 10 11 12 14 15 +0 1 3 5 6 8 10 11 13 14 15 +0 1 3 5 6 8 10 12 13 14 15 +0 1 3 5 6 8 11 12 13 14 15 +0 1 3 5 6 9 10 11 12 13 14 +0 1 3 5 6 9 10 11 12 13 15 +0 1 3 5 6 9 10 11 12 14 15 +0 1 3 5 6 9 10 11 13 14 15 +0 1 3 5 6 9 10 12 13 14 15 +0 1 3 5 6 9 11 12 13 14 15 +0 1 3 5 6 10 11 12 13 14 15 +0 1 3 5 7 8 9 10 11 12 13 +0 1 3 5 7 8 9 10 11 12 14 +0 1 3 5 7 8 9 10 11 12 15 +0 1 3 5 7 8 9 10 11 13 14 +0 1 3 5 7 8 9 10 11 13 15 +0 1 3 5 7 8 9 10 11 14 15 +0 1 3 5 7 8 9 10 12 13 14 +0 1 3 5 7 8 9 10 12 13 15 +0 1 3 5 7 8 9 10 12 14 15 +0 1 3 5 7 8 9 10 13 14 15 +0 1 3 5 7 8 9 11 12 13 14 +0 1 3 5 7 8 9 11 12 13 15 +0 1 3 5 7 8 9 11 12 14 15 +0 1 3 5 7 8 9 11 13 14 15 +0 1 3 5 7 8 9 12 13 14 15 +0 1 3 5 7 8 10 11 12 13 14 +0 1 3 5 7 8 10 11 12 13 15 +0 1 3 5 7 8 10 11 12 14 15 +0 1 3 5 7 8 10 11 13 14 15 +0 1 3 5 7 8 10 12 13 14 15 +0 1 3 5 7 8 11 12 13 14 15 +0 1 3 5 7 9 10 11 12 13 14 +0 1 3 5 7 9 10 11 12 13 15 +0 1 3 5 7 9 10 11 12 14 15 +0 1 3 5 7 9 10 11 13 14 15 +0 1 3 5 7 9 10 12 13 14 15 +0 1 3 5 7 9 11 12 13 14 15 +0 1 3 5 7 10 11 12 13 14 15 +0 1 3 5 8 9 10 11 12 13 14 +0 1 3 5 8 9 10 11 12 13 15 +0 1 3 5 8 9 10 11 12 14 15 +0 1 3 5 8 9 10 11 13 14 15 +0 1 3 5 8 9 10 12 13 14 15 +0 1 3 5 8 9 11 12 13 14 15 +0 1 3 5 8 10 11 12 13 14 15 +0 1 3 5 9 10 11 12 13 14 15 +0 1 3 6 7 8 9 10 11 12 13 +0 1 3 6 7 8 9 10 11 12 14 +0 1 3 6 7 8 9 10 11 12 15 +0 1 3 6 7 8 9 10 11 13 14 +0 1 3 6 7 8 9 10 11 13 15 +0 1 3 6 7 8 9 10 11 14 15 +0 1 3 6 7 8 9 10 12 13 14 +0 1 3 6 7 8 9 10 12 13 15 +0 1 3 6 7 8 9 10 12 14 15 +0 1 3 6 7 8 9 10 13 14 15 +0 1 3 6 7 8 9 11 12 13 14 +0 1 3 6 7 8 9 11 12 13 15 +0 1 3 6 7 8 9 11 12 14 15 +0 1 3 6 7 8 9 11 13 14 15 +0 1 3 6 7 8 9 12 13 14 15 +0 1 3 6 7 8 10 11 12 13 14 +0 1 3 6 7 8 10 11 12 13 15 +0 1 3 6 7 8 10 11 12 14 15 +0 1 3 6 7 8 10 11 13 14 15 +0 1 3 6 7 8 10 12 13 14 15 +0 1 3 6 7 8 11 12 13 14 15 +0 1 3 6 7 9 10 11 12 13 14 +0 1 3 6 7 9 10 11 12 13 15 +0 1 3 6 7 9 10 11 12 14 15 +0 1 3 6 7 9 10 11 13 14 15 +0 1 3 6 7 9 10 12 13 14 15 +0 1 3 6 7 9 11 12 13 14 15 +0 1 3 6 7 10 11 12 13 14 15 +0 1 3 6 8 9 10 11 12 13 14 +0 1 3 6 8 9 10 11 12 13 15 +0 1 3 6 8 9 10 11 12 14 15 +0 1 3 6 8 9 10 11 13 14 15 +0 1 3 6 8 9 10 12 13 14 15 +0 1 3 6 8 9 11 12 13 14 15 +0 1 3 6 8 10 11 12 13 14 15 +0 1 3 6 9 10 11 12 13 14 15 +0 1 3 7 8 9 10 11 12 13 14 +0 1 3 7 8 9 10 11 12 13 15 +0 1 3 7 8 9 10 11 12 14 15 +0 1 3 7 8 9 10 11 13 14 15 +0 1 3 7 8 9 10 12 13 14 15 +0 1 3 7 8 9 11 12 13 14 15 +0 1 3 7 8 10 11 12 13 14 15 +0 1 3 7 9 10 11 12 13 14 15 +0 1 3 8 9 10 11 12 13 14 15 +0 1 4 5 6 7 8 9 10 11 12 +0 1 4 5 6 7 8 9 10 11 13 +0 1 4 5 6 7 8 9 10 11 14 +0 1 4 5 6 7 8 9 10 11 15 +0 1 4 5 6 7 8 9 10 12 13 +0 1 4 5 6 7 8 9 10 12 14 +0 1 4 5 6 7 8 9 10 12 15 +0 1 4 5 6 7 8 9 10 13 14 +0 1 4 5 6 7 8 9 10 13 15 +0 1 4 5 6 7 8 9 10 14 15 +0 1 4 5 6 7 8 9 11 12 13 +0 1 4 5 6 7 8 9 11 12 14 +0 1 4 5 6 7 8 9 11 12 15 +0 1 4 5 6 7 8 9 11 13 14 +0 1 4 5 6 7 8 9 11 13 15 +0 1 4 5 6 7 8 9 11 14 15 +0 1 4 5 6 7 8 9 12 13 14 +0 1 4 5 6 7 8 9 12 13 15 +0 1 4 5 6 7 8 9 12 14 15 +0 1 4 5 6 7 8 9 13 14 15 +0 1 4 5 6 7 8 10 11 12 13 +0 1 4 5 6 7 8 10 11 12 14 +0 1 4 5 6 7 8 10 11 12 15 +0 1 4 5 6 7 8 10 11 13 14 +0 1 4 5 6 7 8 10 11 13 15 +0 1 4 5 6 7 8 10 11 14 15 +0 1 4 5 6 7 8 10 12 13 14 +0 1 4 5 6 7 8 10 12 13 15 +0 1 4 5 6 7 8 10 12 14 15 +0 1 4 5 6 7 8 10 13 14 15 +0 1 4 5 6 7 8 11 12 13 14 +0 1 4 5 6 7 8 11 12 13 15 +0 1 4 5 6 7 8 11 12 14 15 +0 1 4 5 6 7 8 11 13 14 15 +0 1 4 5 6 7 8 12 13 14 15 +0 1 4 5 6 7 9 10 11 12 13 +0 1 4 5 6 7 9 10 11 12 14 +0 1 4 5 6 7 9 10 11 12 15 +0 1 4 5 6 7 9 10 11 13 14 +0 1 4 5 6 7 9 10 11 13 15 +0 1 4 5 6 7 9 10 11 14 15 +0 1 4 5 6 7 9 10 12 13 14 +0 1 4 5 6 7 9 10 12 13 15 +0 1 4 5 6 7 9 10 12 14 15 +0 1 4 5 6 7 9 10 13 14 15 +0 1 4 5 6 7 9 11 12 13 14 +0 1 4 5 6 7 9 11 12 13 15 +0 1 4 5 6 7 9 11 12 14 15 +0 1 4 5 6 7 9 11 13 14 15 +0 1 4 5 6 7 9 12 13 14 15 +0 1 4 5 6 7 10 11 12 13 14 +0 1 4 5 6 7 10 11 12 13 15 +0 1 4 5 6 7 10 11 12 14 15 +0 1 4 5 6 7 10 11 13 14 15 +0 1 4 5 6 7 10 12 13 14 15 +0 1 4 5 6 7 11 12 13 14 15 +0 1 4 5 6 8 9 10 11 12 13 +0 1 4 5 6 8 9 10 11 12 14 +0 1 4 5 6 8 9 10 11 12 15 +0 1 4 5 6 8 9 10 11 13 14 +0 1 4 5 6 8 9 10 11 13 15 +0 1 4 5 6 8 9 10 11 14 15 +0 1 4 5 6 8 9 10 12 13 14 +0 1 4 5 6 8 9 10 12 13 15 +0 1 4 5 6 8 9 10 12 14 15 +0 1 4 5 6 8 9 10 13 14 15 +0 1 4 5 6 8 9 11 12 13 14 +0 1 4 5 6 8 9 11 12 13 15 +0 1 4 5 6 8 9 11 12 14 15 +0 1 4 5 6 8 9 11 13 14 15 +0 1 4 5 6 8 9 12 13 14 15 +0 1 4 5 6 8 10 11 12 13 14 +0 1 4 5 6 8 10 11 12 13 15 +0 1 4 5 6 8 10 11 12 14 15 +0 1 4 5 6 8 10 11 13 14 15 +0 1 4 5 6 8 10 12 13 14 15 +0 1 4 5 6 8 11 12 13 14 15 +0 1 4 5 6 9 10 11 12 13 14 +0 1 4 5 6 9 10 11 12 13 15 +0 1 4 5 6 9 10 11 12 14 15 +0 1 4 5 6 9 10 11 13 14 15 +0 1 4 5 6 9 10 12 13 14 15 +0 1 4 5 6 9 11 12 13 14 15 +0 1 4 5 6 10 11 12 13 14 15 +0 1 4 5 7 8 9 10 11 12 13 +0 1 4 5 7 8 9 10 11 12 14 +0 1 4 5 7 8 9 10 11 12 15 +0 1 4 5 7 8 9 10 11 13 14 +0 1 4 5 7 8 9 10 11 13 15 +0 1 4 5 7 8 9 10 11 14 15 +0 1 4 5 7 8 9 10 12 13 14 +0 1 4 5 7 8 9 10 12 13 15 +0 1 4 5 7 8 9 10 12 14 15 +0 1 4 5 7 8 9 10 13 14 15 +0 1 4 5 7 8 9 11 12 13 14 +0 1 4 5 7 8 9 11 12 13 15 +0 1 4 5 7 8 9 11 12 14 15 +0 1 4 5 7 8 9 11 13 14 15 +0 1 4 5 7 8 9 12 13 14 15 +0 1 4 5 7 8 10 11 12 13 14 +0 1 4 5 7 8 10 11 12 13 15 +0 1 4 5 7 8 10 11 12 14 15 +0 1 4 5 7 8 10 11 13 14 15 +0 1 4 5 7 8 10 12 13 14 15 +0 1 4 5 7 8 11 12 13 14 15 +0 1 4 5 7 9 10 11 12 13 14 +0 1 4 5 7 9 10 11 12 13 15 +0 1 4 5 7 9 10 11 12 14 15 +0 1 4 5 7 9 10 11 13 14 15 +0 1 4 5 7 9 10 12 13 14 15 +0 1 4 5 7 9 11 12 13 14 15 +0 1 4 5 7 10 11 12 13 14 15 +0 1 4 5 8 9 10 11 12 13 14 +0 1 4 5 8 9 10 11 12 13 15 +0 1 4 5 8 9 10 11 12 14 15 +0 1 4 5 8 9 10 11 13 14 15 +0 1 4 5 8 9 10 12 13 14 15 +0 1 4 5 8 9 11 12 13 14 15 +0 1 4 5 8 10 11 12 13 14 15 +0 1 4 5 9 10 11 12 13 14 15 +0 1 4 6 7 8 9 10 11 12 13 +0 1 4 6 7 8 9 10 11 12 14 +0 1 4 6 7 8 9 10 11 12 15 +0 1 4 6 7 8 9 10 11 13 14 +0 1 4 6 7 8 9 10 11 13 15 +0 1 4 6 7 8 9 10 11 14 15 +0 1 4 6 7 8 9 10 12 13 14 +0 1 4 6 7 8 9 10 12 13 15 +0 1 4 6 7 8 9 10 12 14 15 +0 1 4 6 7 8 9 10 13 14 15 +0 1 4 6 7 8 9 11 12 13 14 +0 1 4 6 7 8 9 11 12 13 15 +0 1 4 6 7 8 9 11 12 14 15 +0 1 4 6 7 8 9 11 13 14 15 +0 1 4 6 7 8 9 12 13 14 15 +0 1 4 6 7 8 10 11 12 13 14 +0 1 4 6 7 8 10 11 12 13 15 +0 1 4 6 7 8 10 11 12 14 15 +0 1 4 6 7 8 10 11 13 14 15 +0 1 4 6 7 8 10 12 13 14 15 +0 1 4 6 7 8 11 12 13 14 15 +0 1 4 6 7 9 10 11 12 13 14 +0 1 4 6 7 9 10 11 12 13 15 +0 1 4 6 7 9 10 11 12 14 15 +0 1 4 6 7 9 10 11 13 14 15 +0 1 4 6 7 9 10 12 13 14 15 +0 1 4 6 7 9 11 12 13 14 15 +0 1 4 6 7 10 11 12 13 14 15 +0 1 4 6 8 9 10 11 12 13 14 +0 1 4 6 8 9 10 11 12 13 15 +0 1 4 6 8 9 10 11 12 14 15 +0 1 4 6 8 9 10 11 13 14 15 +0 1 4 6 8 9 10 12 13 14 15 +0 1 4 6 8 9 11 12 13 14 15 +0 1 4 6 8 10 11 12 13 14 15 +0 1 4 6 9 10 11 12 13 14 15 +0 1 4 7 8 9 10 11 12 13 14 +0 1 4 7 8 9 10 11 12 13 15 +0 1 4 7 8 9 10 11 12 14 15 +0 1 4 7 8 9 10 11 13 14 15 +0 1 4 7 8 9 10 12 13 14 15 +0 1 4 7 8 9 11 12 13 14 15 +0 1 4 7 8 10 11 12 13 14 15 +0 1 4 7 9 10 11 12 13 14 15 +0 1 4 8 9 10 11 12 13 14 15 +0 1 5 6 7 8 9 10 11 12 13 +0 1 5 6 7 8 9 10 11 12 14 +0 1 5 6 7 8 9 10 11 12 15 +0 1 5 6 7 8 9 10 11 13 14 +0 1 5 6 7 8 9 10 11 13 15 +0 1 5 6 7 8 9 10 11 14 15 +0 1 5 6 7 8 9 10 12 13 14 +0 1 5 6 7 8 9 10 12 13 15 +0 1 5 6 7 8 9 10 12 14 15 +0 1 5 6 7 8 9 10 13 14 15 +0 1 5 6 7 8 9 11 12 13 14 +0 1 5 6 7 8 9 11 12 13 15 +0 1 5 6 7 8 9 11 12 14 15 +0 1 5 6 7 8 9 11 13 14 15 +0 1 5 6 7 8 9 12 13 14 15 +0 1 5 6 7 8 10 11 12 13 14 +0 1 5 6 7 8 10 11 12 13 15 +0 1 5 6 7 8 10 11 12 14 15 +0 1 5 6 7 8 10 11 13 14 15 +0 1 5 6 7 8 10 12 13 14 15 +0 1 5 6 7 8 11 12 13 14 15 +0 1 5 6 7 9 10 11 12 13 14 +0 1 5 6 7 9 10 11 12 13 15 +0 1 5 6 7 9 10 11 12 14 15 +0 1 5 6 7 9 10 11 13 14 15 +0 1 5 6 7 9 10 12 13 14 15 +0 1 5 6 7 9 11 12 13 14 15 +0 1 5 6 7 10 11 12 13 14 15 +0 1 5 6 8 9 10 11 12 13 14 +0 1 5 6 8 9 10 11 12 13 15 +0 1 5 6 8 9 10 11 12 14 15 +0 1 5 6 8 9 10 11 13 14 15 +0 1 5 6 8 9 10 12 13 14 15 +0 1 5 6 8 9 11 12 13 14 15 +0 1 5 6 8 10 11 12 13 14 15 +0 1 5 6 9 10 11 12 13 14 15 +0 1 5 7 8 9 10 11 12 13 14 +0 1 5 7 8 9 10 11 12 13 15 +0 1 5 7 8 9 10 11 12 14 15 +0 1 5 7 8 9 10 11 13 14 15 +0 1 5 7 8 9 10 12 13 14 15 +0 1 5 7 8 9 11 12 13 14 15 +0 1 5 7 8 10 11 12 13 14 15 +0 1 5 7 9 10 11 12 13 14 15 +0 1 5 8 9 10 11 12 13 14 15 +0 1 6 7 8 9 10 11 12 13 14 +0 1 6 7 8 9 10 11 12 13 15 +0 1 6 7 8 9 10 11 12 14 15 +0 1 6 7 8 9 10 11 13 14 15 +0 1 6 7 8 9 10 12 13 14 15 +0 1 6 7 8 9 11 12 13 14 15 +0 1 6 7 8 10 11 12 13 14 15 +0 1 6 7 9 10 11 12 13 14 15 +0 1 6 8 9 10 11 12 13 14 15 +0 1 7 8 9 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 9 10 11 +0 2 3 4 5 6 7 8 9 10 12 +0 2 3 4 5 6 7 8 9 10 13 +0 2 3 4 5 6 7 8 9 10 14 +0 2 3 4 5 6 7 8 9 10 15 +0 2 3 4 5 6 7 8 9 11 12 +0 2 3 4 5 6 7 8 9 11 13 +0 2 3 4 5 6 7 8 9 11 14 +0 2 3 4 5 6 7 8 9 11 15 +0 2 3 4 5 6 7 8 9 12 13 +0 2 3 4 5 6 7 8 9 12 14 +0 2 3 4 5 6 7 8 9 12 15 +0 2 3 4 5 6 7 8 9 13 14 +0 2 3 4 5 6 7 8 9 13 15 +0 2 3 4 5 6 7 8 9 14 15 +0 2 3 4 5 6 7 8 10 11 12 +0 2 3 4 5 6 7 8 10 11 13 +0 2 3 4 5 6 7 8 10 11 14 +0 2 3 4 5 6 7 8 10 11 15 +0 2 3 4 5 6 7 8 10 12 13 +0 2 3 4 5 6 7 8 10 12 14 +0 2 3 4 5 6 7 8 10 12 15 +0 2 3 4 5 6 7 8 10 13 14 +0 2 3 4 5 6 7 8 10 13 15 +0 2 3 4 5 6 7 8 10 14 15 +0 2 3 4 5 6 7 8 11 12 13 +0 2 3 4 5 6 7 8 11 12 14 +0 2 3 4 5 6 7 8 11 12 15 +0 2 3 4 5 6 7 8 11 13 14 +0 2 3 4 5 6 7 8 11 13 15 +0 2 3 4 5 6 7 8 11 14 15 +0 2 3 4 5 6 7 8 12 13 14 +0 2 3 4 5 6 7 8 12 13 15 +0 2 3 4 5 6 7 8 12 14 15 +0 2 3 4 5 6 7 8 13 14 15 +0 2 3 4 5 6 7 9 10 11 12 +0 2 3 4 5 6 7 9 10 11 13 +0 2 3 4 5 6 7 9 10 11 14 +0 2 3 4 5 6 7 9 10 11 15 +0 2 3 4 5 6 7 9 10 12 13 +0 2 3 4 5 6 7 9 10 12 14 +0 2 3 4 5 6 7 9 10 12 15 +0 2 3 4 5 6 7 9 10 13 14 +0 2 3 4 5 6 7 9 10 13 15 +0 2 3 4 5 6 7 9 10 14 15 +0 2 3 4 5 6 7 9 11 12 13 +0 2 3 4 5 6 7 9 11 12 14 +0 2 3 4 5 6 7 9 11 12 15 +0 2 3 4 5 6 7 9 11 13 14 +0 2 3 4 5 6 7 9 11 13 15 +0 2 3 4 5 6 7 9 11 14 15 +0 2 3 4 5 6 7 9 12 13 14 +0 2 3 4 5 6 7 9 12 13 15 +0 2 3 4 5 6 7 9 12 14 15 +0 2 3 4 5 6 7 9 13 14 15 +0 2 3 4 5 6 7 10 11 12 13 +0 2 3 4 5 6 7 10 11 12 14 +0 2 3 4 5 6 7 10 11 12 15 +0 2 3 4 5 6 7 10 11 13 14 +0 2 3 4 5 6 7 10 11 13 15 +0 2 3 4 5 6 7 10 11 14 15 +0 2 3 4 5 6 7 10 12 13 14 +0 2 3 4 5 6 7 10 12 13 15 +0 2 3 4 5 6 7 10 12 14 15 +0 2 3 4 5 6 7 10 13 14 15 +0 2 3 4 5 6 7 11 12 13 14 +0 2 3 4 5 6 7 11 12 13 15 +0 2 3 4 5 6 7 11 12 14 15 +0 2 3 4 5 6 7 11 13 14 15 +0 2 3 4 5 6 7 12 13 14 15 +0 2 3 4 5 6 8 9 10 11 12 +0 2 3 4 5 6 8 9 10 11 13 +0 2 3 4 5 6 8 9 10 11 14 +0 2 3 4 5 6 8 9 10 11 15 +0 2 3 4 5 6 8 9 10 12 13 +0 2 3 4 5 6 8 9 10 12 14 +0 2 3 4 5 6 8 9 10 12 15 +0 2 3 4 5 6 8 9 10 13 14 +0 2 3 4 5 6 8 9 10 13 15 +0 2 3 4 5 6 8 9 10 14 15 +0 2 3 4 5 6 8 9 11 12 13 +0 2 3 4 5 6 8 9 11 12 14 +0 2 3 4 5 6 8 9 11 12 15 +0 2 3 4 5 6 8 9 11 13 14 +0 2 3 4 5 6 8 9 11 13 15 +0 2 3 4 5 6 8 9 11 14 15 +0 2 3 4 5 6 8 9 12 13 14 +0 2 3 4 5 6 8 9 12 13 15 +0 2 3 4 5 6 8 9 12 14 15 +0 2 3 4 5 6 8 9 13 14 15 +0 2 3 4 5 6 8 10 11 12 13 +0 2 3 4 5 6 8 10 11 12 14 +0 2 3 4 5 6 8 10 11 12 15 +0 2 3 4 5 6 8 10 11 13 14 +0 2 3 4 5 6 8 10 11 13 15 +0 2 3 4 5 6 8 10 11 14 15 +0 2 3 4 5 6 8 10 12 13 14 +0 2 3 4 5 6 8 10 12 13 15 +0 2 3 4 5 6 8 10 12 14 15 +0 2 3 4 5 6 8 10 13 14 15 +0 2 3 4 5 6 8 11 12 13 14 +0 2 3 4 5 6 8 11 12 13 15 +0 2 3 4 5 6 8 11 12 14 15 +0 2 3 4 5 6 8 11 13 14 15 +0 2 3 4 5 6 8 12 13 14 15 +0 2 3 4 5 6 9 10 11 12 13 +0 2 3 4 5 6 9 10 11 12 14 +0 2 3 4 5 6 9 10 11 12 15 +0 2 3 4 5 6 9 10 11 13 14 +0 2 3 4 5 6 9 10 11 13 15 +0 2 3 4 5 6 9 10 11 14 15 +0 2 3 4 5 6 9 10 12 13 14 +0 2 3 4 5 6 9 10 12 13 15 +0 2 3 4 5 6 9 10 12 14 15 +0 2 3 4 5 6 9 10 13 14 15 +0 2 3 4 5 6 9 11 12 13 14 +0 2 3 4 5 6 9 11 12 13 15 +0 2 3 4 5 6 9 11 12 14 15 +0 2 3 4 5 6 9 11 13 14 15 +0 2 3 4 5 6 9 12 13 14 15 +0 2 3 4 5 6 10 11 12 13 14 +0 2 3 4 5 6 10 11 12 13 15 +0 2 3 4 5 6 10 11 12 14 15 +0 2 3 4 5 6 10 11 13 14 15 +0 2 3 4 5 6 10 12 13 14 15 +0 2 3 4 5 6 11 12 13 14 15 +0 2 3 4 5 7 8 9 10 11 12 +0 2 3 4 5 7 8 9 10 11 13 +0 2 3 4 5 7 8 9 10 11 14 +0 2 3 4 5 7 8 9 10 11 15 +0 2 3 4 5 7 8 9 10 12 13 +0 2 3 4 5 7 8 9 10 12 14 +0 2 3 4 5 7 8 9 10 12 15 +0 2 3 4 5 7 8 9 10 13 14 +0 2 3 4 5 7 8 9 10 13 15 +0 2 3 4 5 7 8 9 10 14 15 +0 2 3 4 5 7 8 9 11 12 13 +0 2 3 4 5 7 8 9 11 12 14 +0 2 3 4 5 7 8 9 11 12 15 +0 2 3 4 5 7 8 9 11 13 14 +0 2 3 4 5 7 8 9 11 13 15 +0 2 3 4 5 7 8 9 11 14 15 +0 2 3 4 5 7 8 9 12 13 14 +0 2 3 4 5 7 8 9 12 13 15 +0 2 3 4 5 7 8 9 12 14 15 +0 2 3 4 5 7 8 9 13 14 15 +0 2 3 4 5 7 8 10 11 12 13 +0 2 3 4 5 7 8 10 11 12 14 +0 2 3 4 5 7 8 10 11 12 15 +0 2 3 4 5 7 8 10 11 13 14 +0 2 3 4 5 7 8 10 11 13 15 +0 2 3 4 5 7 8 10 11 14 15 +0 2 3 4 5 7 8 10 12 13 14 +0 2 3 4 5 7 8 10 12 13 15 +0 2 3 4 5 7 8 10 12 14 15 +0 2 3 4 5 7 8 10 13 14 15 +0 2 3 4 5 7 8 11 12 13 14 +0 2 3 4 5 7 8 11 12 13 15 +0 2 3 4 5 7 8 11 12 14 15 +0 2 3 4 5 7 8 11 13 14 15 +0 2 3 4 5 7 8 12 13 14 15 +0 2 3 4 5 7 9 10 11 12 13 +0 2 3 4 5 7 9 10 11 12 14 +0 2 3 4 5 7 9 10 11 12 15 +0 2 3 4 5 7 9 10 11 13 14 +0 2 3 4 5 7 9 10 11 13 15 +0 2 3 4 5 7 9 10 11 14 15 +0 2 3 4 5 7 9 10 12 13 14 +0 2 3 4 5 7 9 10 12 13 15 +0 2 3 4 5 7 9 10 12 14 15 +0 2 3 4 5 7 9 10 13 14 15 +0 2 3 4 5 7 9 11 12 13 14 +0 2 3 4 5 7 9 11 12 13 15 +0 2 3 4 5 7 9 11 12 14 15 +0 2 3 4 5 7 9 11 13 14 15 +0 2 3 4 5 7 9 12 13 14 15 +0 2 3 4 5 7 10 11 12 13 14 +0 2 3 4 5 7 10 11 12 13 15 +0 2 3 4 5 7 10 11 12 14 15 +0 2 3 4 5 7 10 11 13 14 15 +0 2 3 4 5 7 10 12 13 14 15 +0 2 3 4 5 7 11 12 13 14 15 +0 2 3 4 5 8 9 10 11 12 13 +0 2 3 4 5 8 9 10 11 12 14 +0 2 3 4 5 8 9 10 11 12 15 +0 2 3 4 5 8 9 10 11 13 14 +0 2 3 4 5 8 9 10 11 13 15 +0 2 3 4 5 8 9 10 11 14 15 +0 2 3 4 5 8 9 10 12 13 14 +0 2 3 4 5 8 9 10 12 13 15 +0 2 3 4 5 8 9 10 12 14 15 +0 2 3 4 5 8 9 10 13 14 15 +0 2 3 4 5 8 9 11 12 13 14 +0 2 3 4 5 8 9 11 12 13 15 +0 2 3 4 5 8 9 11 12 14 15 +0 2 3 4 5 8 9 11 13 14 15 +0 2 3 4 5 8 9 12 13 14 15 +0 2 3 4 5 8 10 11 12 13 14 +0 2 3 4 5 8 10 11 12 13 15 +0 2 3 4 5 8 10 11 12 14 15 +0 2 3 4 5 8 10 11 13 14 15 +0 2 3 4 5 8 10 12 13 14 15 +0 2 3 4 5 8 11 12 13 14 15 +0 2 3 4 5 9 10 11 12 13 14 +0 2 3 4 5 9 10 11 12 13 15 +0 2 3 4 5 9 10 11 12 14 15 +0 2 3 4 5 9 10 11 13 14 15 +0 2 3 4 5 9 10 12 13 14 15 +0 2 3 4 5 9 11 12 13 14 15 +0 2 3 4 5 10 11 12 13 14 15 +0 2 3 4 6 7 8 9 10 11 12 +0 2 3 4 6 7 8 9 10 11 13 +0 2 3 4 6 7 8 9 10 11 14 +0 2 3 4 6 7 8 9 10 11 15 +0 2 3 4 6 7 8 9 10 12 13 +0 2 3 4 6 7 8 9 10 12 14 +0 2 3 4 6 7 8 9 10 12 15 +0 2 3 4 6 7 8 9 10 13 14 +0 2 3 4 6 7 8 9 10 13 15 +0 2 3 4 6 7 8 9 10 14 15 +0 2 3 4 6 7 8 9 11 12 13 +0 2 3 4 6 7 8 9 11 12 14 +0 2 3 4 6 7 8 9 11 12 15 +0 2 3 4 6 7 8 9 11 13 14 +0 2 3 4 6 7 8 9 11 13 15 +0 2 3 4 6 7 8 9 11 14 15 +0 2 3 4 6 7 8 9 12 13 14 +0 2 3 4 6 7 8 9 12 13 15 +0 2 3 4 6 7 8 9 12 14 15 +0 2 3 4 6 7 8 9 13 14 15 +0 2 3 4 6 7 8 10 11 12 13 +0 2 3 4 6 7 8 10 11 12 14 +0 2 3 4 6 7 8 10 11 12 15 +0 2 3 4 6 7 8 10 11 13 14 +0 2 3 4 6 7 8 10 11 13 15 +0 2 3 4 6 7 8 10 11 14 15 +0 2 3 4 6 7 8 10 12 13 14 +0 2 3 4 6 7 8 10 12 13 15 +0 2 3 4 6 7 8 10 12 14 15 +0 2 3 4 6 7 8 10 13 14 15 +0 2 3 4 6 7 8 11 12 13 14 +0 2 3 4 6 7 8 11 12 13 15 +0 2 3 4 6 7 8 11 12 14 15 +0 2 3 4 6 7 8 11 13 14 15 +0 2 3 4 6 7 8 12 13 14 15 +0 2 3 4 6 7 9 10 11 12 13 +0 2 3 4 6 7 9 10 11 12 14 +0 2 3 4 6 7 9 10 11 12 15 +0 2 3 4 6 7 9 10 11 13 14 +0 2 3 4 6 7 9 10 11 13 15 +0 2 3 4 6 7 9 10 11 14 15 +0 2 3 4 6 7 9 10 12 13 14 +0 2 3 4 6 7 9 10 12 13 15 +0 2 3 4 6 7 9 10 12 14 15 +0 2 3 4 6 7 9 10 13 14 15 +0 2 3 4 6 7 9 11 12 13 14 +0 2 3 4 6 7 9 11 12 13 15 +0 2 3 4 6 7 9 11 12 14 15 +0 2 3 4 6 7 9 11 13 14 15 +0 2 3 4 6 7 9 12 13 14 15 +0 2 3 4 6 7 10 11 12 13 14 +0 2 3 4 6 7 10 11 12 13 15 +0 2 3 4 6 7 10 11 12 14 15 +0 2 3 4 6 7 10 11 13 14 15 +0 2 3 4 6 7 10 12 13 14 15 +0 2 3 4 6 7 11 12 13 14 15 +0 2 3 4 6 8 9 10 11 12 13 +0 2 3 4 6 8 9 10 11 12 14 +0 2 3 4 6 8 9 10 11 12 15 +0 2 3 4 6 8 9 10 11 13 14 +0 2 3 4 6 8 9 10 11 13 15 +0 2 3 4 6 8 9 10 11 14 15 +0 2 3 4 6 8 9 10 12 13 14 +0 2 3 4 6 8 9 10 12 13 15 +0 2 3 4 6 8 9 10 12 14 15 +0 2 3 4 6 8 9 10 13 14 15 +0 2 3 4 6 8 9 11 12 13 14 +0 2 3 4 6 8 9 11 12 13 15 +0 2 3 4 6 8 9 11 12 14 15 +0 2 3 4 6 8 9 11 13 14 15 +0 2 3 4 6 8 9 12 13 14 15 +0 2 3 4 6 8 10 11 12 13 14 +0 2 3 4 6 8 10 11 12 13 15 +0 2 3 4 6 8 10 11 12 14 15 +0 2 3 4 6 8 10 11 13 14 15 +0 2 3 4 6 8 10 12 13 14 15 +0 2 3 4 6 8 11 12 13 14 15 +0 2 3 4 6 9 10 11 12 13 14 +0 2 3 4 6 9 10 11 12 13 15 +0 2 3 4 6 9 10 11 12 14 15 +0 2 3 4 6 9 10 11 13 14 15 +0 2 3 4 6 9 10 12 13 14 15 +0 2 3 4 6 9 11 12 13 14 15 +0 2 3 4 6 10 11 12 13 14 15 +0 2 3 4 7 8 9 10 11 12 13 +0 2 3 4 7 8 9 10 11 12 14 +0 2 3 4 7 8 9 10 11 12 15 +0 2 3 4 7 8 9 10 11 13 14 +0 2 3 4 7 8 9 10 11 13 15 +0 2 3 4 7 8 9 10 11 14 15 +0 2 3 4 7 8 9 10 12 13 14 +0 2 3 4 7 8 9 10 12 13 15 +0 2 3 4 7 8 9 10 12 14 15 +0 2 3 4 7 8 9 10 13 14 15 +0 2 3 4 7 8 9 11 12 13 14 +0 2 3 4 7 8 9 11 12 13 15 +0 2 3 4 7 8 9 11 12 14 15 +0 2 3 4 7 8 9 11 13 14 15 +0 2 3 4 7 8 9 12 13 14 15 +0 2 3 4 7 8 10 11 12 13 14 +0 2 3 4 7 8 10 11 12 13 15 +0 2 3 4 7 8 10 11 12 14 15 +0 2 3 4 7 8 10 11 13 14 15 +0 2 3 4 7 8 10 12 13 14 15 +0 2 3 4 7 8 11 12 13 14 15 +0 2 3 4 7 9 10 11 12 13 14 +0 2 3 4 7 9 10 11 12 13 15 +0 2 3 4 7 9 10 11 12 14 15 +0 2 3 4 7 9 10 11 13 14 15 +0 2 3 4 7 9 10 12 13 14 15 +0 2 3 4 7 9 11 12 13 14 15 +0 2 3 4 7 10 11 12 13 14 15 +0 2 3 4 8 9 10 11 12 13 14 +0 2 3 4 8 9 10 11 12 13 15 +0 2 3 4 8 9 10 11 12 14 15 +0 2 3 4 8 9 10 11 13 14 15 +0 2 3 4 8 9 10 12 13 14 15 +0 2 3 4 8 9 11 12 13 14 15 +0 2 3 4 8 10 11 12 13 14 15 +0 2 3 4 9 10 11 12 13 14 15 +0 2 3 5 6 7 8 9 10 11 12 +0 2 3 5 6 7 8 9 10 11 13 +0 2 3 5 6 7 8 9 10 11 14 +0 2 3 5 6 7 8 9 10 11 15 +0 2 3 5 6 7 8 9 10 12 13 +0 2 3 5 6 7 8 9 10 12 14 +0 2 3 5 6 7 8 9 10 12 15 +0 2 3 5 6 7 8 9 10 13 14 +0 2 3 5 6 7 8 9 10 13 15 +0 2 3 5 6 7 8 9 10 14 15 +0 2 3 5 6 7 8 9 11 12 13 +0 2 3 5 6 7 8 9 11 12 14 +0 2 3 5 6 7 8 9 11 12 15 +0 2 3 5 6 7 8 9 11 13 14 +0 2 3 5 6 7 8 9 11 13 15 +0 2 3 5 6 7 8 9 11 14 15 +0 2 3 5 6 7 8 9 12 13 14 +0 2 3 5 6 7 8 9 12 13 15 +0 2 3 5 6 7 8 9 12 14 15 +0 2 3 5 6 7 8 9 13 14 15 +0 2 3 5 6 7 8 10 11 12 13 +0 2 3 5 6 7 8 10 11 12 14 +0 2 3 5 6 7 8 10 11 12 15 +0 2 3 5 6 7 8 10 11 13 14 +0 2 3 5 6 7 8 10 11 13 15 +0 2 3 5 6 7 8 10 11 14 15 +0 2 3 5 6 7 8 10 12 13 14 +0 2 3 5 6 7 8 10 12 13 15 +0 2 3 5 6 7 8 10 12 14 15 +0 2 3 5 6 7 8 10 13 14 15 +0 2 3 5 6 7 8 11 12 13 14 +0 2 3 5 6 7 8 11 12 13 15 +0 2 3 5 6 7 8 11 12 14 15 +0 2 3 5 6 7 8 11 13 14 15 +0 2 3 5 6 7 8 12 13 14 15 +0 2 3 5 6 7 9 10 11 12 13 +0 2 3 5 6 7 9 10 11 12 14 +0 2 3 5 6 7 9 10 11 12 15 +0 2 3 5 6 7 9 10 11 13 14 +0 2 3 5 6 7 9 10 11 13 15 +0 2 3 5 6 7 9 10 11 14 15 +0 2 3 5 6 7 9 10 12 13 14 +0 2 3 5 6 7 9 10 12 13 15 +0 2 3 5 6 7 9 10 12 14 15 +0 2 3 5 6 7 9 10 13 14 15 +0 2 3 5 6 7 9 11 12 13 14 +0 2 3 5 6 7 9 11 12 13 15 +0 2 3 5 6 7 9 11 12 14 15 +0 2 3 5 6 7 9 11 13 14 15 +0 2 3 5 6 7 9 12 13 14 15 +0 2 3 5 6 7 10 11 12 13 14 +0 2 3 5 6 7 10 11 12 13 15 +0 2 3 5 6 7 10 11 12 14 15 +0 2 3 5 6 7 10 11 13 14 15 +0 2 3 5 6 7 10 12 13 14 15 +0 2 3 5 6 7 11 12 13 14 15 +0 2 3 5 6 8 9 10 11 12 13 +0 2 3 5 6 8 9 10 11 12 14 +0 2 3 5 6 8 9 10 11 12 15 +0 2 3 5 6 8 9 10 11 13 14 +0 2 3 5 6 8 9 10 11 13 15 +0 2 3 5 6 8 9 10 11 14 15 +0 2 3 5 6 8 9 10 12 13 14 +0 2 3 5 6 8 9 10 12 13 15 +0 2 3 5 6 8 9 10 12 14 15 +0 2 3 5 6 8 9 10 13 14 15 +0 2 3 5 6 8 9 11 12 13 14 +0 2 3 5 6 8 9 11 12 13 15 +0 2 3 5 6 8 9 11 12 14 15 +0 2 3 5 6 8 9 11 13 14 15 +0 2 3 5 6 8 9 12 13 14 15 +0 2 3 5 6 8 10 11 12 13 14 +0 2 3 5 6 8 10 11 12 13 15 +0 2 3 5 6 8 10 11 12 14 15 +0 2 3 5 6 8 10 11 13 14 15 +0 2 3 5 6 8 10 12 13 14 15 +0 2 3 5 6 8 11 12 13 14 15 +0 2 3 5 6 9 10 11 12 13 14 +0 2 3 5 6 9 10 11 12 13 15 +0 2 3 5 6 9 10 11 12 14 15 +0 2 3 5 6 9 10 11 13 14 15 +0 2 3 5 6 9 10 12 13 14 15 +0 2 3 5 6 9 11 12 13 14 15 +0 2 3 5 6 10 11 12 13 14 15 +0 2 3 5 7 8 9 10 11 12 13 +0 2 3 5 7 8 9 10 11 12 14 +0 2 3 5 7 8 9 10 11 12 15 +0 2 3 5 7 8 9 10 11 13 14 +0 2 3 5 7 8 9 10 11 13 15 +0 2 3 5 7 8 9 10 11 14 15 +0 2 3 5 7 8 9 10 12 13 14 +0 2 3 5 7 8 9 10 12 13 15 +0 2 3 5 7 8 9 10 12 14 15 +0 2 3 5 7 8 9 10 13 14 15 +0 2 3 5 7 8 9 11 12 13 14 +0 2 3 5 7 8 9 11 12 13 15 +0 2 3 5 7 8 9 11 12 14 15 +0 2 3 5 7 8 9 11 13 14 15 +0 2 3 5 7 8 9 12 13 14 15 +0 2 3 5 7 8 10 11 12 13 14 +0 2 3 5 7 8 10 11 12 13 15 +0 2 3 5 7 8 10 11 12 14 15 +0 2 3 5 7 8 10 11 13 14 15 +0 2 3 5 7 8 10 12 13 14 15 +0 2 3 5 7 8 11 12 13 14 15 +0 2 3 5 7 9 10 11 12 13 14 +0 2 3 5 7 9 10 11 12 13 15 +0 2 3 5 7 9 10 11 12 14 15 +0 2 3 5 7 9 10 11 13 14 15 +0 2 3 5 7 9 10 12 13 14 15 +0 2 3 5 7 9 11 12 13 14 15 +0 2 3 5 7 10 11 12 13 14 15 +0 2 3 5 8 9 10 11 12 13 14 +0 2 3 5 8 9 10 11 12 13 15 +0 2 3 5 8 9 10 11 12 14 15 +0 2 3 5 8 9 10 11 13 14 15 +0 2 3 5 8 9 10 12 13 14 15 +0 2 3 5 8 9 11 12 13 14 15 +0 2 3 5 8 10 11 12 13 14 15 +0 2 3 5 9 10 11 12 13 14 15 +0 2 3 6 7 8 9 10 11 12 13 +0 2 3 6 7 8 9 10 11 12 14 +0 2 3 6 7 8 9 10 11 12 15 +0 2 3 6 7 8 9 10 11 13 14 +0 2 3 6 7 8 9 10 11 13 15 +0 2 3 6 7 8 9 10 11 14 15 +0 2 3 6 7 8 9 10 12 13 14 +0 2 3 6 7 8 9 10 12 13 15 +0 2 3 6 7 8 9 10 12 14 15 +0 2 3 6 7 8 9 10 13 14 15 +0 2 3 6 7 8 9 11 12 13 14 +0 2 3 6 7 8 9 11 12 13 15 +0 2 3 6 7 8 9 11 12 14 15 +0 2 3 6 7 8 9 11 13 14 15 +0 2 3 6 7 8 9 12 13 14 15 +0 2 3 6 7 8 10 11 12 13 14 +0 2 3 6 7 8 10 11 12 13 15 +0 2 3 6 7 8 10 11 12 14 15 +0 2 3 6 7 8 10 11 13 14 15 +0 2 3 6 7 8 10 12 13 14 15 +0 2 3 6 7 8 11 12 13 14 15 +0 2 3 6 7 9 10 11 12 13 14 +0 2 3 6 7 9 10 11 12 13 15 +0 2 3 6 7 9 10 11 12 14 15 +0 2 3 6 7 9 10 11 13 14 15 +0 2 3 6 7 9 10 12 13 14 15 +0 2 3 6 7 9 11 12 13 14 15 +0 2 3 6 7 10 11 12 13 14 15 +0 2 3 6 8 9 10 11 12 13 14 +0 2 3 6 8 9 10 11 12 13 15 +0 2 3 6 8 9 10 11 12 14 15 +0 2 3 6 8 9 10 11 13 14 15 +0 2 3 6 8 9 10 12 13 14 15 +0 2 3 6 8 9 11 12 13 14 15 +0 2 3 6 8 10 11 12 13 14 15 +0 2 3 6 9 10 11 12 13 14 15 +0 2 3 7 8 9 10 11 12 13 14 +0 2 3 7 8 9 10 11 12 13 15 +0 2 3 7 8 9 10 11 12 14 15 +0 2 3 7 8 9 10 11 13 14 15 +0 2 3 7 8 9 10 12 13 14 15 +0 2 3 7 8 9 11 12 13 14 15 +0 2 3 7 8 10 11 12 13 14 15 +0 2 3 7 9 10 11 12 13 14 15 +0 2 3 8 9 10 11 12 13 14 15 +0 2 4 5 6 7 8 9 10 11 12 +0 2 4 5 6 7 8 9 10 11 13 +0 2 4 5 6 7 8 9 10 11 14 +0 2 4 5 6 7 8 9 10 11 15 +0 2 4 5 6 7 8 9 10 12 13 +0 2 4 5 6 7 8 9 10 12 14 +0 2 4 5 6 7 8 9 10 12 15 +0 2 4 5 6 7 8 9 10 13 14 +0 2 4 5 6 7 8 9 10 13 15 +0 2 4 5 6 7 8 9 10 14 15 +0 2 4 5 6 7 8 9 11 12 13 +0 2 4 5 6 7 8 9 11 12 14 +0 2 4 5 6 7 8 9 11 12 15 +0 2 4 5 6 7 8 9 11 13 14 +0 2 4 5 6 7 8 9 11 13 15 +0 2 4 5 6 7 8 9 11 14 15 +0 2 4 5 6 7 8 9 12 13 14 +0 2 4 5 6 7 8 9 12 13 15 +0 2 4 5 6 7 8 9 12 14 15 +0 2 4 5 6 7 8 9 13 14 15 +0 2 4 5 6 7 8 10 11 12 13 +0 2 4 5 6 7 8 10 11 12 14 +0 2 4 5 6 7 8 10 11 12 15 +0 2 4 5 6 7 8 10 11 13 14 +0 2 4 5 6 7 8 10 11 13 15 +0 2 4 5 6 7 8 10 11 14 15 +0 2 4 5 6 7 8 10 12 13 14 +0 2 4 5 6 7 8 10 12 13 15 +0 2 4 5 6 7 8 10 12 14 15 +0 2 4 5 6 7 8 10 13 14 15 +0 2 4 5 6 7 8 11 12 13 14 +0 2 4 5 6 7 8 11 12 13 15 +0 2 4 5 6 7 8 11 12 14 15 +0 2 4 5 6 7 8 11 13 14 15 +0 2 4 5 6 7 8 12 13 14 15 +0 2 4 5 6 7 9 10 11 12 13 +0 2 4 5 6 7 9 10 11 12 14 +0 2 4 5 6 7 9 10 11 12 15 +0 2 4 5 6 7 9 10 11 13 14 +0 2 4 5 6 7 9 10 11 13 15 +0 2 4 5 6 7 9 10 11 14 15 +0 2 4 5 6 7 9 10 12 13 14 +0 2 4 5 6 7 9 10 12 13 15 +0 2 4 5 6 7 9 10 12 14 15 +0 2 4 5 6 7 9 10 13 14 15 +0 2 4 5 6 7 9 11 12 13 14 +0 2 4 5 6 7 9 11 12 13 15 +0 2 4 5 6 7 9 11 12 14 15 +0 2 4 5 6 7 9 11 13 14 15 +0 2 4 5 6 7 9 12 13 14 15 +0 2 4 5 6 7 10 11 12 13 14 +0 2 4 5 6 7 10 11 12 13 15 +0 2 4 5 6 7 10 11 12 14 15 +0 2 4 5 6 7 10 11 13 14 15 +0 2 4 5 6 7 10 12 13 14 15 +0 2 4 5 6 7 11 12 13 14 15 +0 2 4 5 6 8 9 10 11 12 13 +0 2 4 5 6 8 9 10 11 12 14 +0 2 4 5 6 8 9 10 11 12 15 +0 2 4 5 6 8 9 10 11 13 14 +0 2 4 5 6 8 9 10 11 13 15 +0 2 4 5 6 8 9 10 11 14 15 +0 2 4 5 6 8 9 10 12 13 14 +0 2 4 5 6 8 9 10 12 13 15 +0 2 4 5 6 8 9 10 12 14 15 +0 2 4 5 6 8 9 10 13 14 15 +0 2 4 5 6 8 9 11 12 13 14 +0 2 4 5 6 8 9 11 12 13 15 +0 2 4 5 6 8 9 11 12 14 15 +0 2 4 5 6 8 9 11 13 14 15 +0 2 4 5 6 8 9 12 13 14 15 +0 2 4 5 6 8 10 11 12 13 14 +0 2 4 5 6 8 10 11 12 13 15 +0 2 4 5 6 8 10 11 12 14 15 +0 2 4 5 6 8 10 11 13 14 15 +0 2 4 5 6 8 10 12 13 14 15 +0 2 4 5 6 8 11 12 13 14 15 +0 2 4 5 6 9 10 11 12 13 14 +0 2 4 5 6 9 10 11 12 13 15 +0 2 4 5 6 9 10 11 12 14 15 +0 2 4 5 6 9 10 11 13 14 15 +0 2 4 5 6 9 10 12 13 14 15 +0 2 4 5 6 9 11 12 13 14 15 +0 2 4 5 6 10 11 12 13 14 15 +0 2 4 5 7 8 9 10 11 12 13 +0 2 4 5 7 8 9 10 11 12 14 +0 2 4 5 7 8 9 10 11 12 15 +0 2 4 5 7 8 9 10 11 13 14 +0 2 4 5 7 8 9 10 11 13 15 +0 2 4 5 7 8 9 10 11 14 15 +0 2 4 5 7 8 9 10 12 13 14 +0 2 4 5 7 8 9 10 12 13 15 +0 2 4 5 7 8 9 10 12 14 15 +0 2 4 5 7 8 9 10 13 14 15 +0 2 4 5 7 8 9 11 12 13 14 +0 2 4 5 7 8 9 11 12 13 15 +0 2 4 5 7 8 9 11 12 14 15 +0 2 4 5 7 8 9 11 13 14 15 +0 2 4 5 7 8 9 12 13 14 15 +0 2 4 5 7 8 10 11 12 13 14 +0 2 4 5 7 8 10 11 12 13 15 +0 2 4 5 7 8 10 11 12 14 15 +0 2 4 5 7 8 10 11 13 14 15 +0 2 4 5 7 8 10 12 13 14 15 +0 2 4 5 7 8 11 12 13 14 15 +0 2 4 5 7 9 10 11 12 13 14 +0 2 4 5 7 9 10 11 12 13 15 +0 2 4 5 7 9 10 11 12 14 15 +0 2 4 5 7 9 10 11 13 14 15 +0 2 4 5 7 9 10 12 13 14 15 +0 2 4 5 7 9 11 12 13 14 15 +0 2 4 5 7 10 11 12 13 14 15 +0 2 4 5 8 9 10 11 12 13 14 +0 2 4 5 8 9 10 11 12 13 15 +0 2 4 5 8 9 10 11 12 14 15 +0 2 4 5 8 9 10 11 13 14 15 +0 2 4 5 8 9 10 12 13 14 15 +0 2 4 5 8 9 11 12 13 14 15 +0 2 4 5 8 10 11 12 13 14 15 +0 2 4 5 9 10 11 12 13 14 15 +0 2 4 6 7 8 9 10 11 12 13 +0 2 4 6 7 8 9 10 11 12 14 +0 2 4 6 7 8 9 10 11 12 15 +0 2 4 6 7 8 9 10 11 13 14 +0 2 4 6 7 8 9 10 11 13 15 +0 2 4 6 7 8 9 10 11 14 15 +0 2 4 6 7 8 9 10 12 13 14 +0 2 4 6 7 8 9 10 12 13 15 +0 2 4 6 7 8 9 10 12 14 15 +0 2 4 6 7 8 9 10 13 14 15 +0 2 4 6 7 8 9 11 12 13 14 +0 2 4 6 7 8 9 11 12 13 15 +0 2 4 6 7 8 9 11 12 14 15 +0 2 4 6 7 8 9 11 13 14 15 +0 2 4 6 7 8 9 12 13 14 15 +0 2 4 6 7 8 10 11 12 13 14 +0 2 4 6 7 8 10 11 12 13 15 +0 2 4 6 7 8 10 11 12 14 15 +0 2 4 6 7 8 10 11 13 14 15 +0 2 4 6 7 8 10 12 13 14 15 +0 2 4 6 7 8 11 12 13 14 15 +0 2 4 6 7 9 10 11 12 13 14 +0 2 4 6 7 9 10 11 12 13 15 +0 2 4 6 7 9 10 11 12 14 15 +0 2 4 6 7 9 10 11 13 14 15 +0 2 4 6 7 9 10 12 13 14 15 +0 2 4 6 7 9 11 12 13 14 15 +0 2 4 6 7 10 11 12 13 14 15 +0 2 4 6 8 9 10 11 12 13 14 +0 2 4 6 8 9 10 11 12 13 15 +0 2 4 6 8 9 10 11 12 14 15 +0 2 4 6 8 9 10 11 13 14 15 +0 2 4 6 8 9 10 12 13 14 15 +0 2 4 6 8 9 11 12 13 14 15 +0 2 4 6 8 10 11 12 13 14 15 +0 2 4 6 9 10 11 12 13 14 15 +0 2 4 7 8 9 10 11 12 13 14 +0 2 4 7 8 9 10 11 12 13 15 +0 2 4 7 8 9 10 11 12 14 15 +0 2 4 7 8 9 10 11 13 14 15 +0 2 4 7 8 9 10 12 13 14 15 +0 2 4 7 8 9 11 12 13 14 15 +0 2 4 7 8 10 11 12 13 14 15 +0 2 4 7 9 10 11 12 13 14 15 +0 2 4 8 9 10 11 12 13 14 15 +0 2 5 6 7 8 9 10 11 12 13 +0 2 5 6 7 8 9 10 11 12 14 +0 2 5 6 7 8 9 10 11 12 15 +0 2 5 6 7 8 9 10 11 13 14 +0 2 5 6 7 8 9 10 11 13 15 +0 2 5 6 7 8 9 10 11 14 15 +0 2 5 6 7 8 9 10 12 13 14 +0 2 5 6 7 8 9 10 12 13 15 +0 2 5 6 7 8 9 10 12 14 15 +0 2 5 6 7 8 9 10 13 14 15 +0 2 5 6 7 8 9 11 12 13 14 +0 2 5 6 7 8 9 11 12 13 15 +0 2 5 6 7 8 9 11 12 14 15 +0 2 5 6 7 8 9 11 13 14 15 +0 2 5 6 7 8 9 12 13 14 15 +0 2 5 6 7 8 10 11 12 13 14 +0 2 5 6 7 8 10 11 12 13 15 +0 2 5 6 7 8 10 11 12 14 15 +0 2 5 6 7 8 10 11 13 14 15 +0 2 5 6 7 8 10 12 13 14 15 +0 2 5 6 7 8 11 12 13 14 15 +0 2 5 6 7 9 10 11 12 13 14 +0 2 5 6 7 9 10 11 12 13 15 +0 2 5 6 7 9 10 11 12 14 15 +0 2 5 6 7 9 10 11 13 14 15 +0 2 5 6 7 9 10 12 13 14 15 +0 2 5 6 7 9 11 12 13 14 15 +0 2 5 6 7 10 11 12 13 14 15 +0 2 5 6 8 9 10 11 12 13 14 +0 2 5 6 8 9 10 11 12 13 15 +0 2 5 6 8 9 10 11 12 14 15 +0 2 5 6 8 9 10 11 13 14 15 +0 2 5 6 8 9 10 12 13 14 15 +0 2 5 6 8 9 11 12 13 14 15 +0 2 5 6 8 10 11 12 13 14 15 +0 2 5 6 9 10 11 12 13 14 15 +0 2 5 7 8 9 10 11 12 13 14 +0 2 5 7 8 9 10 11 12 13 15 +0 2 5 7 8 9 10 11 12 14 15 +0 2 5 7 8 9 10 11 13 14 15 +0 2 5 7 8 9 10 12 13 14 15 +0 2 5 7 8 9 11 12 13 14 15 +0 2 5 7 8 10 11 12 13 14 15 +0 2 5 7 9 10 11 12 13 14 15 +0 2 5 8 9 10 11 12 13 14 15 +0 2 6 7 8 9 10 11 12 13 14 +0 2 6 7 8 9 10 11 12 13 15 +0 2 6 7 8 9 10 11 12 14 15 +0 2 6 7 8 9 10 11 13 14 15 +0 2 6 7 8 9 10 12 13 14 15 +0 2 6 7 8 9 11 12 13 14 15 +0 2 6 7 8 10 11 12 13 14 15 +0 2 6 7 9 10 11 12 13 14 15 +0 2 6 8 9 10 11 12 13 14 15 +0 2 7 8 9 10 11 12 13 14 15 +0 3 4 5 6 7 8 9 10 11 12 +0 3 4 5 6 7 8 9 10 11 13 +0 3 4 5 6 7 8 9 10 11 14 +0 3 4 5 6 7 8 9 10 11 15 +0 3 4 5 6 7 8 9 10 12 13 +0 3 4 5 6 7 8 9 10 12 14 +0 3 4 5 6 7 8 9 10 12 15 +0 3 4 5 6 7 8 9 10 13 14 +0 3 4 5 6 7 8 9 10 13 15 +0 3 4 5 6 7 8 9 10 14 15 +0 3 4 5 6 7 8 9 11 12 13 +0 3 4 5 6 7 8 9 11 12 14 +0 3 4 5 6 7 8 9 11 12 15 +0 3 4 5 6 7 8 9 11 13 14 +0 3 4 5 6 7 8 9 11 13 15 +0 3 4 5 6 7 8 9 11 14 15 +0 3 4 5 6 7 8 9 12 13 14 +0 3 4 5 6 7 8 9 12 13 15 +0 3 4 5 6 7 8 9 12 14 15 +0 3 4 5 6 7 8 9 13 14 15 +0 3 4 5 6 7 8 10 11 12 13 +0 3 4 5 6 7 8 10 11 12 14 +0 3 4 5 6 7 8 10 11 12 15 +0 3 4 5 6 7 8 10 11 13 14 +0 3 4 5 6 7 8 10 11 13 15 +0 3 4 5 6 7 8 10 11 14 15 +0 3 4 5 6 7 8 10 12 13 14 +0 3 4 5 6 7 8 10 12 13 15 +0 3 4 5 6 7 8 10 12 14 15 +0 3 4 5 6 7 8 10 13 14 15 +0 3 4 5 6 7 8 11 12 13 14 +0 3 4 5 6 7 8 11 12 13 15 +0 3 4 5 6 7 8 11 12 14 15 +0 3 4 5 6 7 8 11 13 14 15 +0 3 4 5 6 7 8 12 13 14 15 +0 3 4 5 6 7 9 10 11 12 13 +0 3 4 5 6 7 9 10 11 12 14 +0 3 4 5 6 7 9 10 11 12 15 +0 3 4 5 6 7 9 10 11 13 14 +0 3 4 5 6 7 9 10 11 13 15 +0 3 4 5 6 7 9 10 11 14 15 +0 3 4 5 6 7 9 10 12 13 14 +0 3 4 5 6 7 9 10 12 13 15 +0 3 4 5 6 7 9 10 12 14 15 +0 3 4 5 6 7 9 10 13 14 15 +0 3 4 5 6 7 9 11 12 13 14 +0 3 4 5 6 7 9 11 12 13 15 +0 3 4 5 6 7 9 11 12 14 15 +0 3 4 5 6 7 9 11 13 14 15 +0 3 4 5 6 7 9 12 13 14 15 +0 3 4 5 6 7 10 11 12 13 14 +0 3 4 5 6 7 10 11 12 13 15 +0 3 4 5 6 7 10 11 12 14 15 +0 3 4 5 6 7 10 11 13 14 15 +0 3 4 5 6 7 10 12 13 14 15 +0 3 4 5 6 7 11 12 13 14 15 +0 3 4 5 6 8 9 10 11 12 13 +0 3 4 5 6 8 9 10 11 12 14 +0 3 4 5 6 8 9 10 11 12 15 +0 3 4 5 6 8 9 10 11 13 14 +0 3 4 5 6 8 9 10 11 13 15 +0 3 4 5 6 8 9 10 11 14 15 +0 3 4 5 6 8 9 10 12 13 14 +0 3 4 5 6 8 9 10 12 13 15 +0 3 4 5 6 8 9 10 12 14 15 +0 3 4 5 6 8 9 10 13 14 15 +0 3 4 5 6 8 9 11 12 13 14 +0 3 4 5 6 8 9 11 12 13 15 +0 3 4 5 6 8 9 11 12 14 15 +0 3 4 5 6 8 9 11 13 14 15 +0 3 4 5 6 8 9 12 13 14 15 +0 3 4 5 6 8 10 11 12 13 14 +0 3 4 5 6 8 10 11 12 13 15 +0 3 4 5 6 8 10 11 12 14 15 +0 3 4 5 6 8 10 11 13 14 15 +0 3 4 5 6 8 10 12 13 14 15 +0 3 4 5 6 8 11 12 13 14 15 +0 3 4 5 6 9 10 11 12 13 14 +0 3 4 5 6 9 10 11 12 13 15 +0 3 4 5 6 9 10 11 12 14 15 +0 3 4 5 6 9 10 11 13 14 15 +0 3 4 5 6 9 10 12 13 14 15 +0 3 4 5 6 9 11 12 13 14 15 +0 3 4 5 6 10 11 12 13 14 15 +0 3 4 5 7 8 9 10 11 12 13 +0 3 4 5 7 8 9 10 11 12 14 +0 3 4 5 7 8 9 10 11 12 15 +0 3 4 5 7 8 9 10 11 13 14 +0 3 4 5 7 8 9 10 11 13 15 +0 3 4 5 7 8 9 10 11 14 15 +0 3 4 5 7 8 9 10 12 13 14 +0 3 4 5 7 8 9 10 12 13 15 +0 3 4 5 7 8 9 10 12 14 15 +0 3 4 5 7 8 9 10 13 14 15 +0 3 4 5 7 8 9 11 12 13 14 +0 3 4 5 7 8 9 11 12 13 15 +0 3 4 5 7 8 9 11 12 14 15 +0 3 4 5 7 8 9 11 13 14 15 +0 3 4 5 7 8 9 12 13 14 15 +0 3 4 5 7 8 10 11 12 13 14 +0 3 4 5 7 8 10 11 12 13 15 +0 3 4 5 7 8 10 11 12 14 15 +0 3 4 5 7 8 10 11 13 14 15 +0 3 4 5 7 8 10 12 13 14 15 +0 3 4 5 7 8 11 12 13 14 15 +0 3 4 5 7 9 10 11 12 13 14 +0 3 4 5 7 9 10 11 12 13 15 +0 3 4 5 7 9 10 11 12 14 15 +0 3 4 5 7 9 10 11 13 14 15 +0 3 4 5 7 9 10 12 13 14 15 +0 3 4 5 7 9 11 12 13 14 15 +0 3 4 5 7 10 11 12 13 14 15 +0 3 4 5 8 9 10 11 12 13 14 +0 3 4 5 8 9 10 11 12 13 15 +0 3 4 5 8 9 10 11 12 14 15 +0 3 4 5 8 9 10 11 13 14 15 +0 3 4 5 8 9 10 12 13 14 15 +0 3 4 5 8 9 11 12 13 14 15 +0 3 4 5 8 10 11 12 13 14 15 +0 3 4 5 9 10 11 12 13 14 15 +0 3 4 6 7 8 9 10 11 12 13 +0 3 4 6 7 8 9 10 11 12 14 +0 3 4 6 7 8 9 10 11 12 15 +0 3 4 6 7 8 9 10 11 13 14 +0 3 4 6 7 8 9 10 11 13 15 +0 3 4 6 7 8 9 10 11 14 15 +0 3 4 6 7 8 9 10 12 13 14 +0 3 4 6 7 8 9 10 12 13 15 +0 3 4 6 7 8 9 10 12 14 15 +0 3 4 6 7 8 9 10 13 14 15 +0 3 4 6 7 8 9 11 12 13 14 +0 3 4 6 7 8 9 11 12 13 15 +0 3 4 6 7 8 9 11 12 14 15 +0 3 4 6 7 8 9 11 13 14 15 +0 3 4 6 7 8 9 12 13 14 15 +0 3 4 6 7 8 10 11 12 13 14 +0 3 4 6 7 8 10 11 12 13 15 +0 3 4 6 7 8 10 11 12 14 15 +0 3 4 6 7 8 10 11 13 14 15 +0 3 4 6 7 8 10 12 13 14 15 +0 3 4 6 7 8 11 12 13 14 15 +0 3 4 6 7 9 10 11 12 13 14 +0 3 4 6 7 9 10 11 12 13 15 +0 3 4 6 7 9 10 11 12 14 15 +0 3 4 6 7 9 10 11 13 14 15 +0 3 4 6 7 9 10 12 13 14 15 +0 3 4 6 7 9 11 12 13 14 15 +0 3 4 6 7 10 11 12 13 14 15 +0 3 4 6 8 9 10 11 12 13 14 +0 3 4 6 8 9 10 11 12 13 15 +0 3 4 6 8 9 10 11 12 14 15 +0 3 4 6 8 9 10 11 13 14 15 +0 3 4 6 8 9 10 12 13 14 15 +0 3 4 6 8 9 11 12 13 14 15 +0 3 4 6 8 10 11 12 13 14 15 +0 3 4 6 9 10 11 12 13 14 15 +0 3 4 7 8 9 10 11 12 13 14 +0 3 4 7 8 9 10 11 12 13 15 +0 3 4 7 8 9 10 11 12 14 15 +0 3 4 7 8 9 10 11 13 14 15 +0 3 4 7 8 9 10 12 13 14 15 +0 3 4 7 8 9 11 12 13 14 15 +0 3 4 7 8 10 11 12 13 14 15 +0 3 4 7 9 10 11 12 13 14 15 +0 3 4 8 9 10 11 12 13 14 15 +0 3 5 6 7 8 9 10 11 12 13 +0 3 5 6 7 8 9 10 11 12 14 +0 3 5 6 7 8 9 10 11 12 15 +0 3 5 6 7 8 9 10 11 13 14 +0 3 5 6 7 8 9 10 11 13 15 +0 3 5 6 7 8 9 10 11 14 15 +0 3 5 6 7 8 9 10 12 13 14 +0 3 5 6 7 8 9 10 12 13 15 +0 3 5 6 7 8 9 10 12 14 15 +0 3 5 6 7 8 9 10 13 14 15 +0 3 5 6 7 8 9 11 12 13 14 +0 3 5 6 7 8 9 11 12 13 15 +0 3 5 6 7 8 9 11 12 14 15 +0 3 5 6 7 8 9 11 13 14 15 +0 3 5 6 7 8 9 12 13 14 15 +0 3 5 6 7 8 10 11 12 13 14 +0 3 5 6 7 8 10 11 12 13 15 +0 3 5 6 7 8 10 11 12 14 15 +0 3 5 6 7 8 10 11 13 14 15 +0 3 5 6 7 8 10 12 13 14 15 +0 3 5 6 7 8 11 12 13 14 15 +0 3 5 6 7 9 10 11 12 13 14 +0 3 5 6 7 9 10 11 12 13 15 +0 3 5 6 7 9 10 11 12 14 15 +0 3 5 6 7 9 10 11 13 14 15 +0 3 5 6 7 9 10 12 13 14 15 +0 3 5 6 7 9 11 12 13 14 15 +0 3 5 6 7 10 11 12 13 14 15 +0 3 5 6 8 9 10 11 12 13 14 +0 3 5 6 8 9 10 11 12 13 15 +0 3 5 6 8 9 10 11 12 14 15 +0 3 5 6 8 9 10 11 13 14 15 +0 3 5 6 8 9 10 12 13 14 15 +0 3 5 6 8 9 11 12 13 14 15 +0 3 5 6 8 10 11 12 13 14 15 +0 3 5 6 9 10 11 12 13 14 15 +0 3 5 7 8 9 10 11 12 13 14 +0 3 5 7 8 9 10 11 12 13 15 +0 3 5 7 8 9 10 11 12 14 15 +0 3 5 7 8 9 10 11 13 14 15 +0 3 5 7 8 9 10 12 13 14 15 +0 3 5 7 8 9 11 12 13 14 15 +0 3 5 7 8 10 11 12 13 14 15 +0 3 5 7 9 10 11 12 13 14 15 +0 3 5 8 9 10 11 12 13 14 15 +0 3 6 7 8 9 10 11 12 13 14 +0 3 6 7 8 9 10 11 12 13 15 +0 3 6 7 8 9 10 11 12 14 15 +0 3 6 7 8 9 10 11 13 14 15 +0 3 6 7 8 9 10 12 13 14 15 +0 3 6 7 8 9 11 12 13 14 15 +0 3 6 7 8 10 11 12 13 14 15 +0 3 6 7 9 10 11 12 13 14 15 +0 3 6 8 9 10 11 12 13 14 15 +0 3 7 8 9 10 11 12 13 14 15 +0 4 5 6 7 8 9 10 11 12 13 +0 4 5 6 7 8 9 10 11 12 14 +0 4 5 6 7 8 9 10 11 12 15 +0 4 5 6 7 8 9 10 11 13 14 +0 4 5 6 7 8 9 10 11 13 15 +0 4 5 6 7 8 9 10 11 14 15 +0 4 5 6 7 8 9 10 12 13 14 +0 4 5 6 7 8 9 10 12 13 15 +0 4 5 6 7 8 9 10 12 14 15 +0 4 5 6 7 8 9 10 13 14 15 +0 4 5 6 7 8 9 11 12 13 14 +0 4 5 6 7 8 9 11 12 13 15 +0 4 5 6 7 8 9 11 12 14 15 +0 4 5 6 7 8 9 11 13 14 15 +0 4 5 6 7 8 9 12 13 14 15 +0 4 5 6 7 8 10 11 12 13 14 +0 4 5 6 7 8 10 11 12 13 15 +0 4 5 6 7 8 10 11 12 14 15 +0 4 5 6 7 8 10 11 13 14 15 +0 4 5 6 7 8 10 12 13 14 15 +0 4 5 6 7 8 11 12 13 14 15 +0 4 5 6 7 9 10 11 12 13 14 +0 4 5 6 7 9 10 11 12 13 15 +0 4 5 6 7 9 10 11 12 14 15 +0 4 5 6 7 9 10 11 13 14 15 +0 4 5 6 7 9 10 12 13 14 15 +0 4 5 6 7 9 11 12 13 14 15 +0 4 5 6 7 10 11 12 13 14 15 +0 4 5 6 8 9 10 11 12 13 14 +0 4 5 6 8 9 10 11 12 13 15 +0 4 5 6 8 9 10 11 12 14 15 +0 4 5 6 8 9 10 11 13 14 15 +0 4 5 6 8 9 10 12 13 14 15 +0 4 5 6 8 9 11 12 13 14 15 +0 4 5 6 8 10 11 12 13 14 15 +0 4 5 6 9 10 11 12 13 14 15 +0 4 5 7 8 9 10 11 12 13 14 +0 4 5 7 8 9 10 11 12 13 15 +0 4 5 7 8 9 10 11 12 14 15 +0 4 5 7 8 9 10 11 13 14 15 +0 4 5 7 8 9 10 12 13 14 15 +0 4 5 7 8 9 11 12 13 14 15 +0 4 5 7 8 10 11 12 13 14 15 +0 4 5 7 9 10 11 12 13 14 15 +0 4 5 8 9 10 11 12 13 14 15 +0 4 6 7 8 9 10 11 12 13 14 +0 4 6 7 8 9 10 11 12 13 15 +0 4 6 7 8 9 10 11 12 14 15 +0 4 6 7 8 9 10 11 13 14 15 +0 4 6 7 8 9 10 12 13 14 15 +0 4 6 7 8 9 11 12 13 14 15 +0 4 6 7 8 10 11 12 13 14 15 +0 4 6 7 9 10 11 12 13 14 15 +0 4 6 8 9 10 11 12 13 14 15 +0 4 7 8 9 10 11 12 13 14 15 +0 5 6 7 8 9 10 11 12 13 14 +0 5 6 7 8 9 10 11 12 13 15 +0 5 6 7 8 9 10 11 12 14 15 +0 5 6 7 8 9 10 11 13 14 15 +0 5 6 7 8 9 10 12 13 14 15 +0 5 6 7 8 9 11 12 13 14 15 +0 5 6 7 8 10 11 12 13 14 15 +0 5 6 7 9 10 11 12 13 14 15 +0 5 6 8 9 10 11 12 13 14 15 +0 5 7 8 9 10 11 12 13 14 15 +0 6 7 8 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 9 10 11 +1 2 3 4 5 6 7 8 9 10 12 +1 2 3 4 5 6 7 8 9 10 13 +1 2 3 4 5 6 7 8 9 10 14 +1 2 3 4 5 6 7 8 9 10 15 +1 2 3 4 5 6 7 8 9 11 12 +1 2 3 4 5 6 7 8 9 11 13 +1 2 3 4 5 6 7 8 9 11 14 +1 2 3 4 5 6 7 8 9 11 15 +1 2 3 4 5 6 7 8 9 12 13 +1 2 3 4 5 6 7 8 9 12 14 +1 2 3 4 5 6 7 8 9 12 15 +1 2 3 4 5 6 7 8 9 13 14 +1 2 3 4 5 6 7 8 9 13 15 +1 2 3 4 5 6 7 8 9 14 15 +1 2 3 4 5 6 7 8 10 11 12 +1 2 3 4 5 6 7 8 10 11 13 +1 2 3 4 5 6 7 8 10 11 14 +1 2 3 4 5 6 7 8 10 11 15 +1 2 3 4 5 6 7 8 10 12 13 +1 2 3 4 5 6 7 8 10 12 14 +1 2 3 4 5 6 7 8 10 12 15 +1 2 3 4 5 6 7 8 10 13 14 +1 2 3 4 5 6 7 8 10 13 15 +1 2 3 4 5 6 7 8 10 14 15 +1 2 3 4 5 6 7 8 11 12 13 +1 2 3 4 5 6 7 8 11 12 14 +1 2 3 4 5 6 7 8 11 12 15 +1 2 3 4 5 6 7 8 11 13 14 +1 2 3 4 5 6 7 8 11 13 15 +1 2 3 4 5 6 7 8 11 14 15 +1 2 3 4 5 6 7 8 12 13 14 +1 2 3 4 5 6 7 8 12 13 15 +1 2 3 4 5 6 7 8 12 14 15 +1 2 3 4 5 6 7 8 13 14 15 +1 2 3 4 5 6 7 9 10 11 12 +1 2 3 4 5 6 7 9 10 11 13 +1 2 3 4 5 6 7 9 10 11 14 +1 2 3 4 5 6 7 9 10 11 15 +1 2 3 4 5 6 7 9 10 12 13 +1 2 3 4 5 6 7 9 10 12 14 +1 2 3 4 5 6 7 9 10 12 15 +1 2 3 4 5 6 7 9 10 13 14 +1 2 3 4 5 6 7 9 10 13 15 +1 2 3 4 5 6 7 9 10 14 15 +1 2 3 4 5 6 7 9 11 12 13 +1 2 3 4 5 6 7 9 11 12 14 +1 2 3 4 5 6 7 9 11 12 15 +1 2 3 4 5 6 7 9 11 13 14 +1 2 3 4 5 6 7 9 11 13 15 +1 2 3 4 5 6 7 9 11 14 15 +1 2 3 4 5 6 7 9 12 13 14 +1 2 3 4 5 6 7 9 12 13 15 +1 2 3 4 5 6 7 9 12 14 15 +1 2 3 4 5 6 7 9 13 14 15 +1 2 3 4 5 6 7 10 11 12 13 +1 2 3 4 5 6 7 10 11 12 14 +1 2 3 4 5 6 7 10 11 12 15 +1 2 3 4 5 6 7 10 11 13 14 +1 2 3 4 5 6 7 10 11 13 15 +1 2 3 4 5 6 7 10 11 14 15 +1 2 3 4 5 6 7 10 12 13 14 +1 2 3 4 5 6 7 10 12 13 15 +1 2 3 4 5 6 7 10 12 14 15 +1 2 3 4 5 6 7 10 13 14 15 +1 2 3 4 5 6 7 11 12 13 14 +1 2 3 4 5 6 7 11 12 13 15 +1 2 3 4 5 6 7 11 12 14 15 +1 2 3 4 5 6 7 11 13 14 15 +1 2 3 4 5 6 7 12 13 14 15 +1 2 3 4 5 6 8 9 10 11 12 +1 2 3 4 5 6 8 9 10 11 13 +1 2 3 4 5 6 8 9 10 11 14 +1 2 3 4 5 6 8 9 10 11 15 +1 2 3 4 5 6 8 9 10 12 13 +1 2 3 4 5 6 8 9 10 12 14 +1 2 3 4 5 6 8 9 10 12 15 +1 2 3 4 5 6 8 9 10 13 14 +1 2 3 4 5 6 8 9 10 13 15 +1 2 3 4 5 6 8 9 10 14 15 +1 2 3 4 5 6 8 9 11 12 13 +1 2 3 4 5 6 8 9 11 12 14 +1 2 3 4 5 6 8 9 11 12 15 +1 2 3 4 5 6 8 9 11 13 14 +1 2 3 4 5 6 8 9 11 13 15 +1 2 3 4 5 6 8 9 11 14 15 +1 2 3 4 5 6 8 9 12 13 14 +1 2 3 4 5 6 8 9 12 13 15 +1 2 3 4 5 6 8 9 12 14 15 +1 2 3 4 5 6 8 9 13 14 15 +1 2 3 4 5 6 8 10 11 12 13 +1 2 3 4 5 6 8 10 11 12 14 +1 2 3 4 5 6 8 10 11 12 15 +1 2 3 4 5 6 8 10 11 13 14 +1 2 3 4 5 6 8 10 11 13 15 +1 2 3 4 5 6 8 10 11 14 15 +1 2 3 4 5 6 8 10 12 13 14 +1 2 3 4 5 6 8 10 12 13 15 +1 2 3 4 5 6 8 10 12 14 15 +1 2 3 4 5 6 8 10 13 14 15 +1 2 3 4 5 6 8 11 12 13 14 +1 2 3 4 5 6 8 11 12 13 15 +1 2 3 4 5 6 8 11 12 14 15 +1 2 3 4 5 6 8 11 13 14 15 +1 2 3 4 5 6 8 12 13 14 15 +1 2 3 4 5 6 9 10 11 12 13 +1 2 3 4 5 6 9 10 11 12 14 +1 2 3 4 5 6 9 10 11 12 15 +1 2 3 4 5 6 9 10 11 13 14 +1 2 3 4 5 6 9 10 11 13 15 +1 2 3 4 5 6 9 10 11 14 15 +1 2 3 4 5 6 9 10 12 13 14 +1 2 3 4 5 6 9 10 12 13 15 +1 2 3 4 5 6 9 10 12 14 15 +1 2 3 4 5 6 9 10 13 14 15 +1 2 3 4 5 6 9 11 12 13 14 +1 2 3 4 5 6 9 11 12 13 15 +1 2 3 4 5 6 9 11 12 14 15 +1 2 3 4 5 6 9 11 13 14 15 +1 2 3 4 5 6 9 12 13 14 15 +1 2 3 4 5 6 10 11 12 13 14 +1 2 3 4 5 6 10 11 12 13 15 +1 2 3 4 5 6 10 11 12 14 15 +1 2 3 4 5 6 10 11 13 14 15 +1 2 3 4 5 6 10 12 13 14 15 +1 2 3 4 5 6 11 12 13 14 15 +1 2 3 4 5 7 8 9 10 11 12 +1 2 3 4 5 7 8 9 10 11 13 +1 2 3 4 5 7 8 9 10 11 14 +1 2 3 4 5 7 8 9 10 11 15 +1 2 3 4 5 7 8 9 10 12 13 +1 2 3 4 5 7 8 9 10 12 14 +1 2 3 4 5 7 8 9 10 12 15 +1 2 3 4 5 7 8 9 10 13 14 +1 2 3 4 5 7 8 9 10 13 15 +1 2 3 4 5 7 8 9 10 14 15 +1 2 3 4 5 7 8 9 11 12 13 +1 2 3 4 5 7 8 9 11 12 14 +1 2 3 4 5 7 8 9 11 12 15 +1 2 3 4 5 7 8 9 11 13 14 +1 2 3 4 5 7 8 9 11 13 15 +1 2 3 4 5 7 8 9 11 14 15 +1 2 3 4 5 7 8 9 12 13 14 +1 2 3 4 5 7 8 9 12 13 15 +1 2 3 4 5 7 8 9 12 14 15 +1 2 3 4 5 7 8 9 13 14 15 +1 2 3 4 5 7 8 10 11 12 13 +1 2 3 4 5 7 8 10 11 12 14 +1 2 3 4 5 7 8 10 11 12 15 +1 2 3 4 5 7 8 10 11 13 14 +1 2 3 4 5 7 8 10 11 13 15 +1 2 3 4 5 7 8 10 11 14 15 +1 2 3 4 5 7 8 10 12 13 14 +1 2 3 4 5 7 8 10 12 13 15 +1 2 3 4 5 7 8 10 12 14 15 +1 2 3 4 5 7 8 10 13 14 15 +1 2 3 4 5 7 8 11 12 13 14 +1 2 3 4 5 7 8 11 12 13 15 +1 2 3 4 5 7 8 11 12 14 15 +1 2 3 4 5 7 8 11 13 14 15 +1 2 3 4 5 7 8 12 13 14 15 +1 2 3 4 5 7 9 10 11 12 13 +1 2 3 4 5 7 9 10 11 12 14 +1 2 3 4 5 7 9 10 11 12 15 +1 2 3 4 5 7 9 10 11 13 14 +1 2 3 4 5 7 9 10 11 13 15 +1 2 3 4 5 7 9 10 11 14 15 +1 2 3 4 5 7 9 10 12 13 14 +1 2 3 4 5 7 9 10 12 13 15 +1 2 3 4 5 7 9 10 12 14 15 +1 2 3 4 5 7 9 10 13 14 15 +1 2 3 4 5 7 9 11 12 13 14 +1 2 3 4 5 7 9 11 12 13 15 +1 2 3 4 5 7 9 11 12 14 15 +1 2 3 4 5 7 9 11 13 14 15 +1 2 3 4 5 7 9 12 13 14 15 +1 2 3 4 5 7 10 11 12 13 14 +1 2 3 4 5 7 10 11 12 13 15 +1 2 3 4 5 7 10 11 12 14 15 +1 2 3 4 5 7 10 11 13 14 15 +1 2 3 4 5 7 10 12 13 14 15 +1 2 3 4 5 7 11 12 13 14 15 +1 2 3 4 5 8 9 10 11 12 13 +1 2 3 4 5 8 9 10 11 12 14 +1 2 3 4 5 8 9 10 11 12 15 +1 2 3 4 5 8 9 10 11 13 14 +1 2 3 4 5 8 9 10 11 13 15 +1 2 3 4 5 8 9 10 11 14 15 +1 2 3 4 5 8 9 10 12 13 14 +1 2 3 4 5 8 9 10 12 13 15 +1 2 3 4 5 8 9 10 12 14 15 +1 2 3 4 5 8 9 10 13 14 15 +1 2 3 4 5 8 9 11 12 13 14 +1 2 3 4 5 8 9 11 12 13 15 +1 2 3 4 5 8 9 11 12 14 15 +1 2 3 4 5 8 9 11 13 14 15 +1 2 3 4 5 8 9 12 13 14 15 +1 2 3 4 5 8 10 11 12 13 14 +1 2 3 4 5 8 10 11 12 13 15 +1 2 3 4 5 8 10 11 12 14 15 +1 2 3 4 5 8 10 11 13 14 15 +1 2 3 4 5 8 10 12 13 14 15 +1 2 3 4 5 8 11 12 13 14 15 +1 2 3 4 5 9 10 11 12 13 14 +1 2 3 4 5 9 10 11 12 13 15 +1 2 3 4 5 9 10 11 12 14 15 +1 2 3 4 5 9 10 11 13 14 15 +1 2 3 4 5 9 10 12 13 14 15 +1 2 3 4 5 9 11 12 13 14 15 +1 2 3 4 5 10 11 12 13 14 15 +1 2 3 4 6 7 8 9 10 11 12 +1 2 3 4 6 7 8 9 10 11 13 +1 2 3 4 6 7 8 9 10 11 14 +1 2 3 4 6 7 8 9 10 11 15 +1 2 3 4 6 7 8 9 10 12 13 +1 2 3 4 6 7 8 9 10 12 14 +1 2 3 4 6 7 8 9 10 12 15 +1 2 3 4 6 7 8 9 10 13 14 +1 2 3 4 6 7 8 9 10 13 15 +1 2 3 4 6 7 8 9 10 14 15 +1 2 3 4 6 7 8 9 11 12 13 +1 2 3 4 6 7 8 9 11 12 14 +1 2 3 4 6 7 8 9 11 12 15 +1 2 3 4 6 7 8 9 11 13 14 +1 2 3 4 6 7 8 9 11 13 15 +1 2 3 4 6 7 8 9 11 14 15 +1 2 3 4 6 7 8 9 12 13 14 +1 2 3 4 6 7 8 9 12 13 15 +1 2 3 4 6 7 8 9 12 14 15 +1 2 3 4 6 7 8 9 13 14 15 +1 2 3 4 6 7 8 10 11 12 13 +1 2 3 4 6 7 8 10 11 12 14 +1 2 3 4 6 7 8 10 11 12 15 +1 2 3 4 6 7 8 10 11 13 14 +1 2 3 4 6 7 8 10 11 13 15 +1 2 3 4 6 7 8 10 11 14 15 +1 2 3 4 6 7 8 10 12 13 14 +1 2 3 4 6 7 8 10 12 13 15 +1 2 3 4 6 7 8 10 12 14 15 +1 2 3 4 6 7 8 10 13 14 15 +1 2 3 4 6 7 8 11 12 13 14 +1 2 3 4 6 7 8 11 12 13 15 +1 2 3 4 6 7 8 11 12 14 15 +1 2 3 4 6 7 8 11 13 14 15 +1 2 3 4 6 7 8 12 13 14 15 +1 2 3 4 6 7 9 10 11 12 13 +1 2 3 4 6 7 9 10 11 12 14 +1 2 3 4 6 7 9 10 11 12 15 +1 2 3 4 6 7 9 10 11 13 14 +1 2 3 4 6 7 9 10 11 13 15 +1 2 3 4 6 7 9 10 11 14 15 +1 2 3 4 6 7 9 10 12 13 14 +1 2 3 4 6 7 9 10 12 13 15 +1 2 3 4 6 7 9 10 12 14 15 +1 2 3 4 6 7 9 10 13 14 15 +1 2 3 4 6 7 9 11 12 13 14 +1 2 3 4 6 7 9 11 12 13 15 +1 2 3 4 6 7 9 11 12 14 15 +1 2 3 4 6 7 9 11 13 14 15 +1 2 3 4 6 7 9 12 13 14 15 +1 2 3 4 6 7 10 11 12 13 14 +1 2 3 4 6 7 10 11 12 13 15 +1 2 3 4 6 7 10 11 12 14 15 +1 2 3 4 6 7 10 11 13 14 15 +1 2 3 4 6 7 10 12 13 14 15 +1 2 3 4 6 7 11 12 13 14 15 +1 2 3 4 6 8 9 10 11 12 13 +1 2 3 4 6 8 9 10 11 12 14 +1 2 3 4 6 8 9 10 11 12 15 +1 2 3 4 6 8 9 10 11 13 14 +1 2 3 4 6 8 9 10 11 13 15 +1 2 3 4 6 8 9 10 11 14 15 +1 2 3 4 6 8 9 10 12 13 14 +1 2 3 4 6 8 9 10 12 13 15 +1 2 3 4 6 8 9 10 12 14 15 +1 2 3 4 6 8 9 10 13 14 15 +1 2 3 4 6 8 9 11 12 13 14 +1 2 3 4 6 8 9 11 12 13 15 +1 2 3 4 6 8 9 11 12 14 15 +1 2 3 4 6 8 9 11 13 14 15 +1 2 3 4 6 8 9 12 13 14 15 +1 2 3 4 6 8 10 11 12 13 14 +1 2 3 4 6 8 10 11 12 13 15 +1 2 3 4 6 8 10 11 12 14 15 +1 2 3 4 6 8 10 11 13 14 15 +1 2 3 4 6 8 10 12 13 14 15 +1 2 3 4 6 8 11 12 13 14 15 +1 2 3 4 6 9 10 11 12 13 14 +1 2 3 4 6 9 10 11 12 13 15 +1 2 3 4 6 9 10 11 12 14 15 +1 2 3 4 6 9 10 11 13 14 15 +1 2 3 4 6 9 10 12 13 14 15 +1 2 3 4 6 9 11 12 13 14 15 +1 2 3 4 6 10 11 12 13 14 15 +1 2 3 4 7 8 9 10 11 12 13 +1 2 3 4 7 8 9 10 11 12 14 +1 2 3 4 7 8 9 10 11 12 15 +1 2 3 4 7 8 9 10 11 13 14 +1 2 3 4 7 8 9 10 11 13 15 +1 2 3 4 7 8 9 10 11 14 15 +1 2 3 4 7 8 9 10 12 13 14 +1 2 3 4 7 8 9 10 12 13 15 +1 2 3 4 7 8 9 10 12 14 15 +1 2 3 4 7 8 9 10 13 14 15 +1 2 3 4 7 8 9 11 12 13 14 +1 2 3 4 7 8 9 11 12 13 15 +1 2 3 4 7 8 9 11 12 14 15 +1 2 3 4 7 8 9 11 13 14 15 +1 2 3 4 7 8 9 12 13 14 15 +1 2 3 4 7 8 10 11 12 13 14 +1 2 3 4 7 8 10 11 12 13 15 +1 2 3 4 7 8 10 11 12 14 15 +1 2 3 4 7 8 10 11 13 14 15 +1 2 3 4 7 8 10 12 13 14 15 +1 2 3 4 7 8 11 12 13 14 15 +1 2 3 4 7 9 10 11 12 13 14 +1 2 3 4 7 9 10 11 12 13 15 +1 2 3 4 7 9 10 11 12 14 15 +1 2 3 4 7 9 10 11 13 14 15 +1 2 3 4 7 9 10 12 13 14 15 +1 2 3 4 7 9 11 12 13 14 15 +1 2 3 4 7 10 11 12 13 14 15 +1 2 3 4 8 9 10 11 12 13 14 +1 2 3 4 8 9 10 11 12 13 15 +1 2 3 4 8 9 10 11 12 14 15 +1 2 3 4 8 9 10 11 13 14 15 +1 2 3 4 8 9 10 12 13 14 15 +1 2 3 4 8 9 11 12 13 14 15 +1 2 3 4 8 10 11 12 13 14 15 +1 2 3 4 9 10 11 12 13 14 15 +1 2 3 5 6 7 8 9 10 11 12 +1 2 3 5 6 7 8 9 10 11 13 +1 2 3 5 6 7 8 9 10 11 14 +1 2 3 5 6 7 8 9 10 11 15 +1 2 3 5 6 7 8 9 10 12 13 +1 2 3 5 6 7 8 9 10 12 14 +1 2 3 5 6 7 8 9 10 12 15 +1 2 3 5 6 7 8 9 10 13 14 +1 2 3 5 6 7 8 9 10 13 15 +1 2 3 5 6 7 8 9 10 14 15 +1 2 3 5 6 7 8 9 11 12 13 +1 2 3 5 6 7 8 9 11 12 14 +1 2 3 5 6 7 8 9 11 12 15 +1 2 3 5 6 7 8 9 11 13 14 +1 2 3 5 6 7 8 9 11 13 15 +1 2 3 5 6 7 8 9 11 14 15 +1 2 3 5 6 7 8 9 12 13 14 +1 2 3 5 6 7 8 9 12 13 15 +1 2 3 5 6 7 8 9 12 14 15 +1 2 3 5 6 7 8 9 13 14 15 +1 2 3 5 6 7 8 10 11 12 13 +1 2 3 5 6 7 8 10 11 12 14 +1 2 3 5 6 7 8 10 11 12 15 +1 2 3 5 6 7 8 10 11 13 14 +1 2 3 5 6 7 8 10 11 13 15 +1 2 3 5 6 7 8 10 11 14 15 +1 2 3 5 6 7 8 10 12 13 14 +1 2 3 5 6 7 8 10 12 13 15 +1 2 3 5 6 7 8 10 12 14 15 +1 2 3 5 6 7 8 10 13 14 15 +1 2 3 5 6 7 8 11 12 13 14 +1 2 3 5 6 7 8 11 12 13 15 +1 2 3 5 6 7 8 11 12 14 15 +1 2 3 5 6 7 8 11 13 14 15 +1 2 3 5 6 7 8 12 13 14 15 +1 2 3 5 6 7 9 10 11 12 13 +1 2 3 5 6 7 9 10 11 12 14 +1 2 3 5 6 7 9 10 11 12 15 +1 2 3 5 6 7 9 10 11 13 14 +1 2 3 5 6 7 9 10 11 13 15 +1 2 3 5 6 7 9 10 11 14 15 +1 2 3 5 6 7 9 10 12 13 14 +1 2 3 5 6 7 9 10 12 13 15 +1 2 3 5 6 7 9 10 12 14 15 +1 2 3 5 6 7 9 10 13 14 15 +1 2 3 5 6 7 9 11 12 13 14 +1 2 3 5 6 7 9 11 12 13 15 +1 2 3 5 6 7 9 11 12 14 15 +1 2 3 5 6 7 9 11 13 14 15 +1 2 3 5 6 7 9 12 13 14 15 +1 2 3 5 6 7 10 11 12 13 14 +1 2 3 5 6 7 10 11 12 13 15 +1 2 3 5 6 7 10 11 12 14 15 +1 2 3 5 6 7 10 11 13 14 15 +1 2 3 5 6 7 10 12 13 14 15 +1 2 3 5 6 7 11 12 13 14 15 +1 2 3 5 6 8 9 10 11 12 13 +1 2 3 5 6 8 9 10 11 12 14 +1 2 3 5 6 8 9 10 11 12 15 +1 2 3 5 6 8 9 10 11 13 14 +1 2 3 5 6 8 9 10 11 13 15 +1 2 3 5 6 8 9 10 11 14 15 +1 2 3 5 6 8 9 10 12 13 14 +1 2 3 5 6 8 9 10 12 13 15 +1 2 3 5 6 8 9 10 12 14 15 +1 2 3 5 6 8 9 10 13 14 15 +1 2 3 5 6 8 9 11 12 13 14 +1 2 3 5 6 8 9 11 12 13 15 +1 2 3 5 6 8 9 11 12 14 15 +1 2 3 5 6 8 9 11 13 14 15 +1 2 3 5 6 8 9 12 13 14 15 +1 2 3 5 6 8 10 11 12 13 14 +1 2 3 5 6 8 10 11 12 13 15 +1 2 3 5 6 8 10 11 12 14 15 +1 2 3 5 6 8 10 11 13 14 15 +1 2 3 5 6 8 10 12 13 14 15 +1 2 3 5 6 8 11 12 13 14 15 +1 2 3 5 6 9 10 11 12 13 14 +1 2 3 5 6 9 10 11 12 13 15 +1 2 3 5 6 9 10 11 12 14 15 +1 2 3 5 6 9 10 11 13 14 15 +1 2 3 5 6 9 10 12 13 14 15 +1 2 3 5 6 9 11 12 13 14 15 +1 2 3 5 6 10 11 12 13 14 15 +1 2 3 5 7 8 9 10 11 12 13 +1 2 3 5 7 8 9 10 11 12 14 +1 2 3 5 7 8 9 10 11 12 15 +1 2 3 5 7 8 9 10 11 13 14 +1 2 3 5 7 8 9 10 11 13 15 +1 2 3 5 7 8 9 10 11 14 15 +1 2 3 5 7 8 9 10 12 13 14 +1 2 3 5 7 8 9 10 12 13 15 +1 2 3 5 7 8 9 10 12 14 15 +1 2 3 5 7 8 9 10 13 14 15 +1 2 3 5 7 8 9 11 12 13 14 +1 2 3 5 7 8 9 11 12 13 15 +1 2 3 5 7 8 9 11 12 14 15 +1 2 3 5 7 8 9 11 13 14 15 +1 2 3 5 7 8 9 12 13 14 15 +1 2 3 5 7 8 10 11 12 13 14 +1 2 3 5 7 8 10 11 12 13 15 +1 2 3 5 7 8 10 11 12 14 15 +1 2 3 5 7 8 10 11 13 14 15 +1 2 3 5 7 8 10 12 13 14 15 +1 2 3 5 7 8 11 12 13 14 15 +1 2 3 5 7 9 10 11 12 13 14 +1 2 3 5 7 9 10 11 12 13 15 +1 2 3 5 7 9 10 11 12 14 15 +1 2 3 5 7 9 10 11 13 14 15 +1 2 3 5 7 9 10 12 13 14 15 +1 2 3 5 7 9 11 12 13 14 15 +1 2 3 5 7 10 11 12 13 14 15 +1 2 3 5 8 9 10 11 12 13 14 +1 2 3 5 8 9 10 11 12 13 15 +1 2 3 5 8 9 10 11 12 14 15 +1 2 3 5 8 9 10 11 13 14 15 +1 2 3 5 8 9 10 12 13 14 15 +1 2 3 5 8 9 11 12 13 14 15 +1 2 3 5 8 10 11 12 13 14 15 +1 2 3 5 9 10 11 12 13 14 15 +1 2 3 6 7 8 9 10 11 12 13 +1 2 3 6 7 8 9 10 11 12 14 +1 2 3 6 7 8 9 10 11 12 15 +1 2 3 6 7 8 9 10 11 13 14 +1 2 3 6 7 8 9 10 11 13 15 +1 2 3 6 7 8 9 10 11 14 15 +1 2 3 6 7 8 9 10 12 13 14 +1 2 3 6 7 8 9 10 12 13 15 +1 2 3 6 7 8 9 10 12 14 15 +1 2 3 6 7 8 9 10 13 14 15 +1 2 3 6 7 8 9 11 12 13 14 +1 2 3 6 7 8 9 11 12 13 15 +1 2 3 6 7 8 9 11 12 14 15 +1 2 3 6 7 8 9 11 13 14 15 +1 2 3 6 7 8 9 12 13 14 15 +1 2 3 6 7 8 10 11 12 13 14 +1 2 3 6 7 8 10 11 12 13 15 +1 2 3 6 7 8 10 11 12 14 15 +1 2 3 6 7 8 10 11 13 14 15 +1 2 3 6 7 8 10 12 13 14 15 +1 2 3 6 7 8 11 12 13 14 15 +1 2 3 6 7 9 10 11 12 13 14 +1 2 3 6 7 9 10 11 12 13 15 +1 2 3 6 7 9 10 11 12 14 15 +1 2 3 6 7 9 10 11 13 14 15 +1 2 3 6 7 9 10 12 13 14 15 +1 2 3 6 7 9 11 12 13 14 15 +1 2 3 6 7 10 11 12 13 14 15 +1 2 3 6 8 9 10 11 12 13 14 +1 2 3 6 8 9 10 11 12 13 15 +1 2 3 6 8 9 10 11 12 14 15 +1 2 3 6 8 9 10 11 13 14 15 +1 2 3 6 8 9 10 12 13 14 15 +1 2 3 6 8 9 11 12 13 14 15 +1 2 3 6 8 10 11 12 13 14 15 +1 2 3 6 9 10 11 12 13 14 15 +1 2 3 7 8 9 10 11 12 13 14 +1 2 3 7 8 9 10 11 12 13 15 +1 2 3 7 8 9 10 11 12 14 15 +1 2 3 7 8 9 10 11 13 14 15 +1 2 3 7 8 9 10 12 13 14 15 +1 2 3 7 8 9 11 12 13 14 15 +1 2 3 7 8 10 11 12 13 14 15 +1 2 3 7 9 10 11 12 13 14 15 +1 2 3 8 9 10 11 12 13 14 15 +1 2 4 5 6 7 8 9 10 11 12 +1 2 4 5 6 7 8 9 10 11 13 +1 2 4 5 6 7 8 9 10 11 14 +1 2 4 5 6 7 8 9 10 11 15 +1 2 4 5 6 7 8 9 10 12 13 +1 2 4 5 6 7 8 9 10 12 14 +1 2 4 5 6 7 8 9 10 12 15 +1 2 4 5 6 7 8 9 10 13 14 +1 2 4 5 6 7 8 9 10 13 15 +1 2 4 5 6 7 8 9 10 14 15 +1 2 4 5 6 7 8 9 11 12 13 +1 2 4 5 6 7 8 9 11 12 14 +1 2 4 5 6 7 8 9 11 12 15 +1 2 4 5 6 7 8 9 11 13 14 +1 2 4 5 6 7 8 9 11 13 15 +1 2 4 5 6 7 8 9 11 14 15 +1 2 4 5 6 7 8 9 12 13 14 +1 2 4 5 6 7 8 9 12 13 15 +1 2 4 5 6 7 8 9 12 14 15 +1 2 4 5 6 7 8 9 13 14 15 +1 2 4 5 6 7 8 10 11 12 13 +1 2 4 5 6 7 8 10 11 12 14 +1 2 4 5 6 7 8 10 11 12 15 +1 2 4 5 6 7 8 10 11 13 14 +1 2 4 5 6 7 8 10 11 13 15 +1 2 4 5 6 7 8 10 11 14 15 +1 2 4 5 6 7 8 10 12 13 14 +1 2 4 5 6 7 8 10 12 13 15 +1 2 4 5 6 7 8 10 12 14 15 +1 2 4 5 6 7 8 10 13 14 15 +1 2 4 5 6 7 8 11 12 13 14 +1 2 4 5 6 7 8 11 12 13 15 +1 2 4 5 6 7 8 11 12 14 15 +1 2 4 5 6 7 8 11 13 14 15 +1 2 4 5 6 7 8 12 13 14 15 +1 2 4 5 6 7 9 10 11 12 13 +1 2 4 5 6 7 9 10 11 12 14 +1 2 4 5 6 7 9 10 11 12 15 +1 2 4 5 6 7 9 10 11 13 14 +1 2 4 5 6 7 9 10 11 13 15 +1 2 4 5 6 7 9 10 11 14 15 +1 2 4 5 6 7 9 10 12 13 14 +1 2 4 5 6 7 9 10 12 13 15 +1 2 4 5 6 7 9 10 12 14 15 +1 2 4 5 6 7 9 10 13 14 15 +1 2 4 5 6 7 9 11 12 13 14 +1 2 4 5 6 7 9 11 12 13 15 +1 2 4 5 6 7 9 11 12 14 15 +1 2 4 5 6 7 9 11 13 14 15 +1 2 4 5 6 7 9 12 13 14 15 +1 2 4 5 6 7 10 11 12 13 14 +1 2 4 5 6 7 10 11 12 13 15 +1 2 4 5 6 7 10 11 12 14 15 +1 2 4 5 6 7 10 11 13 14 15 +1 2 4 5 6 7 10 12 13 14 15 +1 2 4 5 6 7 11 12 13 14 15 +1 2 4 5 6 8 9 10 11 12 13 +1 2 4 5 6 8 9 10 11 12 14 +1 2 4 5 6 8 9 10 11 12 15 +1 2 4 5 6 8 9 10 11 13 14 +1 2 4 5 6 8 9 10 11 13 15 +1 2 4 5 6 8 9 10 11 14 15 +1 2 4 5 6 8 9 10 12 13 14 +1 2 4 5 6 8 9 10 12 13 15 +1 2 4 5 6 8 9 10 12 14 15 +1 2 4 5 6 8 9 10 13 14 15 +1 2 4 5 6 8 9 11 12 13 14 +1 2 4 5 6 8 9 11 12 13 15 +1 2 4 5 6 8 9 11 12 14 15 +1 2 4 5 6 8 9 11 13 14 15 +1 2 4 5 6 8 9 12 13 14 15 +1 2 4 5 6 8 10 11 12 13 14 +1 2 4 5 6 8 10 11 12 13 15 +1 2 4 5 6 8 10 11 12 14 15 +1 2 4 5 6 8 10 11 13 14 15 +1 2 4 5 6 8 10 12 13 14 15 +1 2 4 5 6 8 11 12 13 14 15 +1 2 4 5 6 9 10 11 12 13 14 +1 2 4 5 6 9 10 11 12 13 15 +1 2 4 5 6 9 10 11 12 14 15 +1 2 4 5 6 9 10 11 13 14 15 +1 2 4 5 6 9 10 12 13 14 15 +1 2 4 5 6 9 11 12 13 14 15 +1 2 4 5 6 10 11 12 13 14 15 +1 2 4 5 7 8 9 10 11 12 13 +1 2 4 5 7 8 9 10 11 12 14 +1 2 4 5 7 8 9 10 11 12 15 +1 2 4 5 7 8 9 10 11 13 14 +1 2 4 5 7 8 9 10 11 13 15 +1 2 4 5 7 8 9 10 11 14 15 +1 2 4 5 7 8 9 10 12 13 14 +1 2 4 5 7 8 9 10 12 13 15 +1 2 4 5 7 8 9 10 12 14 15 +1 2 4 5 7 8 9 10 13 14 15 +1 2 4 5 7 8 9 11 12 13 14 +1 2 4 5 7 8 9 11 12 13 15 +1 2 4 5 7 8 9 11 12 14 15 +1 2 4 5 7 8 9 11 13 14 15 +1 2 4 5 7 8 9 12 13 14 15 +1 2 4 5 7 8 10 11 12 13 14 +1 2 4 5 7 8 10 11 12 13 15 +1 2 4 5 7 8 10 11 12 14 15 +1 2 4 5 7 8 10 11 13 14 15 +1 2 4 5 7 8 10 12 13 14 15 +1 2 4 5 7 8 11 12 13 14 15 +1 2 4 5 7 9 10 11 12 13 14 +1 2 4 5 7 9 10 11 12 13 15 +1 2 4 5 7 9 10 11 12 14 15 +1 2 4 5 7 9 10 11 13 14 15 +1 2 4 5 7 9 10 12 13 14 15 +1 2 4 5 7 9 11 12 13 14 15 +1 2 4 5 7 10 11 12 13 14 15 +1 2 4 5 8 9 10 11 12 13 14 +1 2 4 5 8 9 10 11 12 13 15 +1 2 4 5 8 9 10 11 12 14 15 +1 2 4 5 8 9 10 11 13 14 15 +1 2 4 5 8 9 10 12 13 14 15 +1 2 4 5 8 9 11 12 13 14 15 +1 2 4 5 8 10 11 12 13 14 15 +1 2 4 5 9 10 11 12 13 14 15 +1 2 4 6 7 8 9 10 11 12 13 +1 2 4 6 7 8 9 10 11 12 14 +1 2 4 6 7 8 9 10 11 12 15 +1 2 4 6 7 8 9 10 11 13 14 +1 2 4 6 7 8 9 10 11 13 15 +1 2 4 6 7 8 9 10 11 14 15 +1 2 4 6 7 8 9 10 12 13 14 +1 2 4 6 7 8 9 10 12 13 15 +1 2 4 6 7 8 9 10 12 14 15 +1 2 4 6 7 8 9 10 13 14 15 +1 2 4 6 7 8 9 11 12 13 14 +1 2 4 6 7 8 9 11 12 13 15 +1 2 4 6 7 8 9 11 12 14 15 +1 2 4 6 7 8 9 11 13 14 15 +1 2 4 6 7 8 9 12 13 14 15 +1 2 4 6 7 8 10 11 12 13 14 +1 2 4 6 7 8 10 11 12 13 15 +1 2 4 6 7 8 10 11 12 14 15 +1 2 4 6 7 8 10 11 13 14 15 +1 2 4 6 7 8 10 12 13 14 15 +1 2 4 6 7 8 11 12 13 14 15 +1 2 4 6 7 9 10 11 12 13 14 +1 2 4 6 7 9 10 11 12 13 15 +1 2 4 6 7 9 10 11 12 14 15 +1 2 4 6 7 9 10 11 13 14 15 +1 2 4 6 7 9 10 12 13 14 15 +1 2 4 6 7 9 11 12 13 14 15 +1 2 4 6 7 10 11 12 13 14 15 +1 2 4 6 8 9 10 11 12 13 14 +1 2 4 6 8 9 10 11 12 13 15 +1 2 4 6 8 9 10 11 12 14 15 +1 2 4 6 8 9 10 11 13 14 15 +1 2 4 6 8 9 10 12 13 14 15 +1 2 4 6 8 9 11 12 13 14 15 +1 2 4 6 8 10 11 12 13 14 15 +1 2 4 6 9 10 11 12 13 14 15 +1 2 4 7 8 9 10 11 12 13 14 +1 2 4 7 8 9 10 11 12 13 15 +1 2 4 7 8 9 10 11 12 14 15 +1 2 4 7 8 9 10 11 13 14 15 +1 2 4 7 8 9 10 12 13 14 15 +1 2 4 7 8 9 11 12 13 14 15 +1 2 4 7 8 10 11 12 13 14 15 +1 2 4 7 9 10 11 12 13 14 15 +1 2 4 8 9 10 11 12 13 14 15 +1 2 5 6 7 8 9 10 11 12 13 +1 2 5 6 7 8 9 10 11 12 14 +1 2 5 6 7 8 9 10 11 12 15 +1 2 5 6 7 8 9 10 11 13 14 +1 2 5 6 7 8 9 10 11 13 15 +1 2 5 6 7 8 9 10 11 14 15 +1 2 5 6 7 8 9 10 12 13 14 +1 2 5 6 7 8 9 10 12 13 15 +1 2 5 6 7 8 9 10 12 14 15 +1 2 5 6 7 8 9 10 13 14 15 +1 2 5 6 7 8 9 11 12 13 14 +1 2 5 6 7 8 9 11 12 13 15 +1 2 5 6 7 8 9 11 12 14 15 +1 2 5 6 7 8 9 11 13 14 15 +1 2 5 6 7 8 9 12 13 14 15 +1 2 5 6 7 8 10 11 12 13 14 +1 2 5 6 7 8 10 11 12 13 15 +1 2 5 6 7 8 10 11 12 14 15 +1 2 5 6 7 8 10 11 13 14 15 +1 2 5 6 7 8 10 12 13 14 15 +1 2 5 6 7 8 11 12 13 14 15 +1 2 5 6 7 9 10 11 12 13 14 +1 2 5 6 7 9 10 11 12 13 15 +1 2 5 6 7 9 10 11 12 14 15 +1 2 5 6 7 9 10 11 13 14 15 +1 2 5 6 7 9 10 12 13 14 15 +1 2 5 6 7 9 11 12 13 14 15 +1 2 5 6 7 10 11 12 13 14 15 +1 2 5 6 8 9 10 11 12 13 14 +1 2 5 6 8 9 10 11 12 13 15 +1 2 5 6 8 9 10 11 12 14 15 +1 2 5 6 8 9 10 11 13 14 15 +1 2 5 6 8 9 10 12 13 14 15 +1 2 5 6 8 9 11 12 13 14 15 +1 2 5 6 8 10 11 12 13 14 15 +1 2 5 6 9 10 11 12 13 14 15 +1 2 5 7 8 9 10 11 12 13 14 +1 2 5 7 8 9 10 11 12 13 15 +1 2 5 7 8 9 10 11 12 14 15 +1 2 5 7 8 9 10 11 13 14 15 +1 2 5 7 8 9 10 12 13 14 15 +1 2 5 7 8 9 11 12 13 14 15 +1 2 5 7 8 10 11 12 13 14 15 +1 2 5 7 9 10 11 12 13 14 15 +1 2 5 8 9 10 11 12 13 14 15 +1 2 6 7 8 9 10 11 12 13 14 +1 2 6 7 8 9 10 11 12 13 15 +1 2 6 7 8 9 10 11 12 14 15 +1 2 6 7 8 9 10 11 13 14 15 +1 2 6 7 8 9 10 12 13 14 15 +1 2 6 7 8 9 11 12 13 14 15 +1 2 6 7 8 10 11 12 13 14 15 +1 2 6 7 9 10 11 12 13 14 15 +1 2 6 8 9 10 11 12 13 14 15 +1 2 7 8 9 10 11 12 13 14 15 +1 3 4 5 6 7 8 9 10 11 12 +1 3 4 5 6 7 8 9 10 11 13 +1 3 4 5 6 7 8 9 10 11 14 +1 3 4 5 6 7 8 9 10 11 15 +1 3 4 5 6 7 8 9 10 12 13 +1 3 4 5 6 7 8 9 10 12 14 +1 3 4 5 6 7 8 9 10 12 15 +1 3 4 5 6 7 8 9 10 13 14 +1 3 4 5 6 7 8 9 10 13 15 +1 3 4 5 6 7 8 9 10 14 15 +1 3 4 5 6 7 8 9 11 12 13 +1 3 4 5 6 7 8 9 11 12 14 +1 3 4 5 6 7 8 9 11 12 15 +1 3 4 5 6 7 8 9 11 13 14 +1 3 4 5 6 7 8 9 11 13 15 +1 3 4 5 6 7 8 9 11 14 15 +1 3 4 5 6 7 8 9 12 13 14 +1 3 4 5 6 7 8 9 12 13 15 +1 3 4 5 6 7 8 9 12 14 15 +1 3 4 5 6 7 8 9 13 14 15 +1 3 4 5 6 7 8 10 11 12 13 +1 3 4 5 6 7 8 10 11 12 14 +1 3 4 5 6 7 8 10 11 12 15 +1 3 4 5 6 7 8 10 11 13 14 +1 3 4 5 6 7 8 10 11 13 15 +1 3 4 5 6 7 8 10 11 14 15 +1 3 4 5 6 7 8 10 12 13 14 +1 3 4 5 6 7 8 10 12 13 15 +1 3 4 5 6 7 8 10 12 14 15 +1 3 4 5 6 7 8 10 13 14 15 +1 3 4 5 6 7 8 11 12 13 14 +1 3 4 5 6 7 8 11 12 13 15 +1 3 4 5 6 7 8 11 12 14 15 +1 3 4 5 6 7 8 11 13 14 15 +1 3 4 5 6 7 8 12 13 14 15 +1 3 4 5 6 7 9 10 11 12 13 +1 3 4 5 6 7 9 10 11 12 14 +1 3 4 5 6 7 9 10 11 12 15 +1 3 4 5 6 7 9 10 11 13 14 +1 3 4 5 6 7 9 10 11 13 15 +1 3 4 5 6 7 9 10 11 14 15 +1 3 4 5 6 7 9 10 12 13 14 +1 3 4 5 6 7 9 10 12 13 15 +1 3 4 5 6 7 9 10 12 14 15 +1 3 4 5 6 7 9 10 13 14 15 +1 3 4 5 6 7 9 11 12 13 14 +1 3 4 5 6 7 9 11 12 13 15 +1 3 4 5 6 7 9 11 12 14 15 +1 3 4 5 6 7 9 11 13 14 15 +1 3 4 5 6 7 9 12 13 14 15 +1 3 4 5 6 7 10 11 12 13 14 +1 3 4 5 6 7 10 11 12 13 15 +1 3 4 5 6 7 10 11 12 14 15 +1 3 4 5 6 7 10 11 13 14 15 +1 3 4 5 6 7 10 12 13 14 15 +1 3 4 5 6 7 11 12 13 14 15 +1 3 4 5 6 8 9 10 11 12 13 +1 3 4 5 6 8 9 10 11 12 14 +1 3 4 5 6 8 9 10 11 12 15 +1 3 4 5 6 8 9 10 11 13 14 +1 3 4 5 6 8 9 10 11 13 15 +1 3 4 5 6 8 9 10 11 14 15 +1 3 4 5 6 8 9 10 12 13 14 +1 3 4 5 6 8 9 10 12 13 15 +1 3 4 5 6 8 9 10 12 14 15 +1 3 4 5 6 8 9 10 13 14 15 +1 3 4 5 6 8 9 11 12 13 14 +1 3 4 5 6 8 9 11 12 13 15 +1 3 4 5 6 8 9 11 12 14 15 +1 3 4 5 6 8 9 11 13 14 15 +1 3 4 5 6 8 9 12 13 14 15 +1 3 4 5 6 8 10 11 12 13 14 +1 3 4 5 6 8 10 11 12 13 15 +1 3 4 5 6 8 10 11 12 14 15 +1 3 4 5 6 8 10 11 13 14 15 +1 3 4 5 6 8 10 12 13 14 15 +1 3 4 5 6 8 11 12 13 14 15 +1 3 4 5 6 9 10 11 12 13 14 +1 3 4 5 6 9 10 11 12 13 15 +1 3 4 5 6 9 10 11 12 14 15 +1 3 4 5 6 9 10 11 13 14 15 +1 3 4 5 6 9 10 12 13 14 15 +1 3 4 5 6 9 11 12 13 14 15 +1 3 4 5 6 10 11 12 13 14 15 +1 3 4 5 7 8 9 10 11 12 13 +1 3 4 5 7 8 9 10 11 12 14 +1 3 4 5 7 8 9 10 11 12 15 +1 3 4 5 7 8 9 10 11 13 14 +1 3 4 5 7 8 9 10 11 13 15 +1 3 4 5 7 8 9 10 11 14 15 +1 3 4 5 7 8 9 10 12 13 14 +1 3 4 5 7 8 9 10 12 13 15 +1 3 4 5 7 8 9 10 12 14 15 +1 3 4 5 7 8 9 10 13 14 15 +1 3 4 5 7 8 9 11 12 13 14 +1 3 4 5 7 8 9 11 12 13 15 +1 3 4 5 7 8 9 11 12 14 15 +1 3 4 5 7 8 9 11 13 14 15 +1 3 4 5 7 8 9 12 13 14 15 +1 3 4 5 7 8 10 11 12 13 14 +1 3 4 5 7 8 10 11 12 13 15 +1 3 4 5 7 8 10 11 12 14 15 +1 3 4 5 7 8 10 11 13 14 15 +1 3 4 5 7 8 10 12 13 14 15 +1 3 4 5 7 8 11 12 13 14 15 +1 3 4 5 7 9 10 11 12 13 14 +1 3 4 5 7 9 10 11 12 13 15 +1 3 4 5 7 9 10 11 12 14 15 +1 3 4 5 7 9 10 11 13 14 15 +1 3 4 5 7 9 10 12 13 14 15 +1 3 4 5 7 9 11 12 13 14 15 +1 3 4 5 7 10 11 12 13 14 15 +1 3 4 5 8 9 10 11 12 13 14 +1 3 4 5 8 9 10 11 12 13 15 +1 3 4 5 8 9 10 11 12 14 15 +1 3 4 5 8 9 10 11 13 14 15 +1 3 4 5 8 9 10 12 13 14 15 +1 3 4 5 8 9 11 12 13 14 15 +1 3 4 5 8 10 11 12 13 14 15 +1 3 4 5 9 10 11 12 13 14 15 +1 3 4 6 7 8 9 10 11 12 13 +1 3 4 6 7 8 9 10 11 12 14 +1 3 4 6 7 8 9 10 11 12 15 +1 3 4 6 7 8 9 10 11 13 14 +1 3 4 6 7 8 9 10 11 13 15 +1 3 4 6 7 8 9 10 11 14 15 +1 3 4 6 7 8 9 10 12 13 14 +1 3 4 6 7 8 9 10 12 13 15 +1 3 4 6 7 8 9 10 12 14 15 +1 3 4 6 7 8 9 10 13 14 15 +1 3 4 6 7 8 9 11 12 13 14 +1 3 4 6 7 8 9 11 12 13 15 +1 3 4 6 7 8 9 11 12 14 15 +1 3 4 6 7 8 9 11 13 14 15 +1 3 4 6 7 8 9 12 13 14 15 +1 3 4 6 7 8 10 11 12 13 14 +1 3 4 6 7 8 10 11 12 13 15 +1 3 4 6 7 8 10 11 12 14 15 +1 3 4 6 7 8 10 11 13 14 15 +1 3 4 6 7 8 10 12 13 14 15 +1 3 4 6 7 8 11 12 13 14 15 +1 3 4 6 7 9 10 11 12 13 14 +1 3 4 6 7 9 10 11 12 13 15 +1 3 4 6 7 9 10 11 12 14 15 +1 3 4 6 7 9 10 11 13 14 15 +1 3 4 6 7 9 10 12 13 14 15 +1 3 4 6 7 9 11 12 13 14 15 +1 3 4 6 7 10 11 12 13 14 15 +1 3 4 6 8 9 10 11 12 13 14 +1 3 4 6 8 9 10 11 12 13 15 +1 3 4 6 8 9 10 11 12 14 15 +1 3 4 6 8 9 10 11 13 14 15 +1 3 4 6 8 9 10 12 13 14 15 +1 3 4 6 8 9 11 12 13 14 15 +1 3 4 6 8 10 11 12 13 14 15 +1 3 4 6 9 10 11 12 13 14 15 +1 3 4 7 8 9 10 11 12 13 14 +1 3 4 7 8 9 10 11 12 13 15 +1 3 4 7 8 9 10 11 12 14 15 +1 3 4 7 8 9 10 11 13 14 15 +1 3 4 7 8 9 10 12 13 14 15 +1 3 4 7 8 9 11 12 13 14 15 +1 3 4 7 8 10 11 12 13 14 15 +1 3 4 7 9 10 11 12 13 14 15 +1 3 4 8 9 10 11 12 13 14 15 +1 3 5 6 7 8 9 10 11 12 13 +1 3 5 6 7 8 9 10 11 12 14 +1 3 5 6 7 8 9 10 11 12 15 +1 3 5 6 7 8 9 10 11 13 14 +1 3 5 6 7 8 9 10 11 13 15 +1 3 5 6 7 8 9 10 11 14 15 +1 3 5 6 7 8 9 10 12 13 14 +1 3 5 6 7 8 9 10 12 13 15 +1 3 5 6 7 8 9 10 12 14 15 +1 3 5 6 7 8 9 10 13 14 15 +1 3 5 6 7 8 9 11 12 13 14 +1 3 5 6 7 8 9 11 12 13 15 +1 3 5 6 7 8 9 11 12 14 15 +1 3 5 6 7 8 9 11 13 14 15 +1 3 5 6 7 8 9 12 13 14 15 +1 3 5 6 7 8 10 11 12 13 14 +1 3 5 6 7 8 10 11 12 13 15 +1 3 5 6 7 8 10 11 12 14 15 +1 3 5 6 7 8 10 11 13 14 15 +1 3 5 6 7 8 10 12 13 14 15 +1 3 5 6 7 8 11 12 13 14 15 +1 3 5 6 7 9 10 11 12 13 14 +1 3 5 6 7 9 10 11 12 13 15 +1 3 5 6 7 9 10 11 12 14 15 +1 3 5 6 7 9 10 11 13 14 15 +1 3 5 6 7 9 10 12 13 14 15 +1 3 5 6 7 9 11 12 13 14 15 +1 3 5 6 7 10 11 12 13 14 15 +1 3 5 6 8 9 10 11 12 13 14 +1 3 5 6 8 9 10 11 12 13 15 +1 3 5 6 8 9 10 11 12 14 15 +1 3 5 6 8 9 10 11 13 14 15 +1 3 5 6 8 9 10 12 13 14 15 +1 3 5 6 8 9 11 12 13 14 15 +1 3 5 6 8 10 11 12 13 14 15 +1 3 5 6 9 10 11 12 13 14 15 +1 3 5 7 8 9 10 11 12 13 14 +1 3 5 7 8 9 10 11 12 13 15 +1 3 5 7 8 9 10 11 12 14 15 +1 3 5 7 8 9 10 11 13 14 15 +1 3 5 7 8 9 10 12 13 14 15 +1 3 5 7 8 9 11 12 13 14 15 +1 3 5 7 8 10 11 12 13 14 15 +1 3 5 7 9 10 11 12 13 14 15 +1 3 5 8 9 10 11 12 13 14 15 +1 3 6 7 8 9 10 11 12 13 14 +1 3 6 7 8 9 10 11 12 13 15 +1 3 6 7 8 9 10 11 12 14 15 +1 3 6 7 8 9 10 11 13 14 15 +1 3 6 7 8 9 10 12 13 14 15 +1 3 6 7 8 9 11 12 13 14 15 +1 3 6 7 8 10 11 12 13 14 15 +1 3 6 7 9 10 11 12 13 14 15 +1 3 6 8 9 10 11 12 13 14 15 +1 3 7 8 9 10 11 12 13 14 15 +1 4 5 6 7 8 9 10 11 12 13 +1 4 5 6 7 8 9 10 11 12 14 +1 4 5 6 7 8 9 10 11 12 15 +1 4 5 6 7 8 9 10 11 13 14 +1 4 5 6 7 8 9 10 11 13 15 +1 4 5 6 7 8 9 10 11 14 15 +1 4 5 6 7 8 9 10 12 13 14 +1 4 5 6 7 8 9 10 12 13 15 +1 4 5 6 7 8 9 10 12 14 15 +1 4 5 6 7 8 9 10 13 14 15 +1 4 5 6 7 8 9 11 12 13 14 +1 4 5 6 7 8 9 11 12 13 15 +1 4 5 6 7 8 9 11 12 14 15 +1 4 5 6 7 8 9 11 13 14 15 +1 4 5 6 7 8 9 12 13 14 15 +1 4 5 6 7 8 10 11 12 13 14 +1 4 5 6 7 8 10 11 12 13 15 +1 4 5 6 7 8 10 11 12 14 15 +1 4 5 6 7 8 10 11 13 14 15 +1 4 5 6 7 8 10 12 13 14 15 +1 4 5 6 7 8 11 12 13 14 15 +1 4 5 6 7 9 10 11 12 13 14 +1 4 5 6 7 9 10 11 12 13 15 +1 4 5 6 7 9 10 11 12 14 15 +1 4 5 6 7 9 10 11 13 14 15 +1 4 5 6 7 9 10 12 13 14 15 +1 4 5 6 7 9 11 12 13 14 15 +1 4 5 6 7 10 11 12 13 14 15 +1 4 5 6 8 9 10 11 12 13 14 +1 4 5 6 8 9 10 11 12 13 15 +1 4 5 6 8 9 10 11 12 14 15 +1 4 5 6 8 9 10 11 13 14 15 +1 4 5 6 8 9 10 12 13 14 15 +1 4 5 6 8 9 11 12 13 14 15 +1 4 5 6 8 10 11 12 13 14 15 +1 4 5 6 9 10 11 12 13 14 15 +1 4 5 7 8 9 10 11 12 13 14 +1 4 5 7 8 9 10 11 12 13 15 +1 4 5 7 8 9 10 11 12 14 15 +1 4 5 7 8 9 10 11 13 14 15 +1 4 5 7 8 9 10 12 13 14 15 +1 4 5 7 8 9 11 12 13 14 15 +1 4 5 7 8 10 11 12 13 14 15 +1 4 5 7 9 10 11 12 13 14 15 +1 4 5 8 9 10 11 12 13 14 15 +1 4 6 7 8 9 10 11 12 13 14 +1 4 6 7 8 9 10 11 12 13 15 +1 4 6 7 8 9 10 11 12 14 15 +1 4 6 7 8 9 10 11 13 14 15 +1 4 6 7 8 9 10 12 13 14 15 +1 4 6 7 8 9 11 12 13 14 15 +1 4 6 7 8 10 11 12 13 14 15 +1 4 6 7 9 10 11 12 13 14 15 +1 4 6 8 9 10 11 12 13 14 15 +1 4 7 8 9 10 11 12 13 14 15 +1 5 6 7 8 9 10 11 12 13 14 +1 5 6 7 8 9 10 11 12 13 15 +1 5 6 7 8 9 10 11 12 14 15 +1 5 6 7 8 9 10 11 13 14 15 +1 5 6 7 8 9 10 12 13 14 15 +1 5 6 7 8 9 11 12 13 14 15 +1 5 6 7 8 10 11 12 13 14 15 +1 5 6 7 9 10 11 12 13 14 15 +1 5 6 8 9 10 11 12 13 14 15 +1 5 7 8 9 10 11 12 13 14 15 +1 6 7 8 9 10 11 12 13 14 15 +2 3 4 5 6 7 8 9 10 11 12 +2 3 4 5 6 7 8 9 10 11 13 +2 3 4 5 6 7 8 9 10 11 14 +2 3 4 5 6 7 8 9 10 11 15 +2 3 4 5 6 7 8 9 10 12 13 +2 3 4 5 6 7 8 9 10 12 14 +2 3 4 5 6 7 8 9 10 12 15 +2 3 4 5 6 7 8 9 10 13 14 +2 3 4 5 6 7 8 9 10 13 15 +2 3 4 5 6 7 8 9 10 14 15 +2 3 4 5 6 7 8 9 11 12 13 +2 3 4 5 6 7 8 9 11 12 14 +2 3 4 5 6 7 8 9 11 12 15 +2 3 4 5 6 7 8 9 11 13 14 +2 3 4 5 6 7 8 9 11 13 15 +2 3 4 5 6 7 8 9 11 14 15 +2 3 4 5 6 7 8 9 12 13 14 +2 3 4 5 6 7 8 9 12 13 15 +2 3 4 5 6 7 8 9 12 14 15 +2 3 4 5 6 7 8 9 13 14 15 +2 3 4 5 6 7 8 10 11 12 13 +2 3 4 5 6 7 8 10 11 12 14 +2 3 4 5 6 7 8 10 11 12 15 +2 3 4 5 6 7 8 10 11 13 14 +2 3 4 5 6 7 8 10 11 13 15 +2 3 4 5 6 7 8 10 11 14 15 +2 3 4 5 6 7 8 10 12 13 14 +2 3 4 5 6 7 8 10 12 13 15 +2 3 4 5 6 7 8 10 12 14 15 +2 3 4 5 6 7 8 10 13 14 15 +2 3 4 5 6 7 8 11 12 13 14 +2 3 4 5 6 7 8 11 12 13 15 +2 3 4 5 6 7 8 11 12 14 15 +2 3 4 5 6 7 8 11 13 14 15 +2 3 4 5 6 7 8 12 13 14 15 +2 3 4 5 6 7 9 10 11 12 13 +2 3 4 5 6 7 9 10 11 12 14 +2 3 4 5 6 7 9 10 11 12 15 +2 3 4 5 6 7 9 10 11 13 14 +2 3 4 5 6 7 9 10 11 13 15 +2 3 4 5 6 7 9 10 11 14 15 +2 3 4 5 6 7 9 10 12 13 14 +2 3 4 5 6 7 9 10 12 13 15 +2 3 4 5 6 7 9 10 12 14 15 +2 3 4 5 6 7 9 10 13 14 15 +2 3 4 5 6 7 9 11 12 13 14 +2 3 4 5 6 7 9 11 12 13 15 +2 3 4 5 6 7 9 11 12 14 15 +2 3 4 5 6 7 9 11 13 14 15 +2 3 4 5 6 7 9 12 13 14 15 +2 3 4 5 6 7 10 11 12 13 14 +2 3 4 5 6 7 10 11 12 13 15 +2 3 4 5 6 7 10 11 12 14 15 +2 3 4 5 6 7 10 11 13 14 15 +2 3 4 5 6 7 10 12 13 14 15 +2 3 4 5 6 7 11 12 13 14 15 +2 3 4 5 6 8 9 10 11 12 13 +2 3 4 5 6 8 9 10 11 12 14 +2 3 4 5 6 8 9 10 11 12 15 +2 3 4 5 6 8 9 10 11 13 14 +2 3 4 5 6 8 9 10 11 13 15 +2 3 4 5 6 8 9 10 11 14 15 +2 3 4 5 6 8 9 10 12 13 14 +2 3 4 5 6 8 9 10 12 13 15 +2 3 4 5 6 8 9 10 12 14 15 +2 3 4 5 6 8 9 10 13 14 15 +2 3 4 5 6 8 9 11 12 13 14 +2 3 4 5 6 8 9 11 12 13 15 +2 3 4 5 6 8 9 11 12 14 15 +2 3 4 5 6 8 9 11 13 14 15 +2 3 4 5 6 8 9 12 13 14 15 +2 3 4 5 6 8 10 11 12 13 14 +2 3 4 5 6 8 10 11 12 13 15 +2 3 4 5 6 8 10 11 12 14 15 +2 3 4 5 6 8 10 11 13 14 15 +2 3 4 5 6 8 10 12 13 14 15 +2 3 4 5 6 8 11 12 13 14 15 +2 3 4 5 6 9 10 11 12 13 14 +2 3 4 5 6 9 10 11 12 13 15 +2 3 4 5 6 9 10 11 12 14 15 +2 3 4 5 6 9 10 11 13 14 15 +2 3 4 5 6 9 10 12 13 14 15 +2 3 4 5 6 9 11 12 13 14 15 +2 3 4 5 6 10 11 12 13 14 15 +2 3 4 5 7 8 9 10 11 12 13 +2 3 4 5 7 8 9 10 11 12 14 +2 3 4 5 7 8 9 10 11 12 15 +2 3 4 5 7 8 9 10 11 13 14 +2 3 4 5 7 8 9 10 11 13 15 +2 3 4 5 7 8 9 10 11 14 15 +2 3 4 5 7 8 9 10 12 13 14 +2 3 4 5 7 8 9 10 12 13 15 +2 3 4 5 7 8 9 10 12 14 15 +2 3 4 5 7 8 9 10 13 14 15 +2 3 4 5 7 8 9 11 12 13 14 +2 3 4 5 7 8 9 11 12 13 15 +2 3 4 5 7 8 9 11 12 14 15 +2 3 4 5 7 8 9 11 13 14 15 +2 3 4 5 7 8 9 12 13 14 15 +2 3 4 5 7 8 10 11 12 13 14 +2 3 4 5 7 8 10 11 12 13 15 +2 3 4 5 7 8 10 11 12 14 15 +2 3 4 5 7 8 10 11 13 14 15 +2 3 4 5 7 8 10 12 13 14 15 +2 3 4 5 7 8 11 12 13 14 15 +2 3 4 5 7 9 10 11 12 13 14 +2 3 4 5 7 9 10 11 12 13 15 +2 3 4 5 7 9 10 11 12 14 15 +2 3 4 5 7 9 10 11 13 14 15 +2 3 4 5 7 9 10 12 13 14 15 +2 3 4 5 7 9 11 12 13 14 15 +2 3 4 5 7 10 11 12 13 14 15 +2 3 4 5 8 9 10 11 12 13 14 +2 3 4 5 8 9 10 11 12 13 15 +2 3 4 5 8 9 10 11 12 14 15 +2 3 4 5 8 9 10 11 13 14 15 +2 3 4 5 8 9 10 12 13 14 15 +2 3 4 5 8 9 11 12 13 14 15 +2 3 4 5 8 10 11 12 13 14 15 +2 3 4 5 9 10 11 12 13 14 15 +2 3 4 6 7 8 9 10 11 12 13 +2 3 4 6 7 8 9 10 11 12 14 +2 3 4 6 7 8 9 10 11 12 15 +2 3 4 6 7 8 9 10 11 13 14 +2 3 4 6 7 8 9 10 11 13 15 +2 3 4 6 7 8 9 10 11 14 15 +2 3 4 6 7 8 9 10 12 13 14 +2 3 4 6 7 8 9 10 12 13 15 +2 3 4 6 7 8 9 10 12 14 15 +2 3 4 6 7 8 9 10 13 14 15 +2 3 4 6 7 8 9 11 12 13 14 +2 3 4 6 7 8 9 11 12 13 15 +2 3 4 6 7 8 9 11 12 14 15 +2 3 4 6 7 8 9 11 13 14 15 +2 3 4 6 7 8 9 12 13 14 15 +2 3 4 6 7 8 10 11 12 13 14 +2 3 4 6 7 8 10 11 12 13 15 +2 3 4 6 7 8 10 11 12 14 15 +2 3 4 6 7 8 10 11 13 14 15 +2 3 4 6 7 8 10 12 13 14 15 +2 3 4 6 7 8 11 12 13 14 15 +2 3 4 6 7 9 10 11 12 13 14 +2 3 4 6 7 9 10 11 12 13 15 +2 3 4 6 7 9 10 11 12 14 15 +2 3 4 6 7 9 10 11 13 14 15 +2 3 4 6 7 9 10 12 13 14 15 +2 3 4 6 7 9 11 12 13 14 15 +2 3 4 6 7 10 11 12 13 14 15 +2 3 4 6 8 9 10 11 12 13 14 +2 3 4 6 8 9 10 11 12 13 15 +2 3 4 6 8 9 10 11 12 14 15 +2 3 4 6 8 9 10 11 13 14 15 +2 3 4 6 8 9 10 12 13 14 15 +2 3 4 6 8 9 11 12 13 14 15 +2 3 4 6 8 10 11 12 13 14 15 +2 3 4 6 9 10 11 12 13 14 15 +2 3 4 7 8 9 10 11 12 13 14 +2 3 4 7 8 9 10 11 12 13 15 +2 3 4 7 8 9 10 11 12 14 15 +2 3 4 7 8 9 10 11 13 14 15 +2 3 4 7 8 9 10 12 13 14 15 +2 3 4 7 8 9 11 12 13 14 15 +2 3 4 7 8 10 11 12 13 14 15 +2 3 4 7 9 10 11 12 13 14 15 +2 3 4 8 9 10 11 12 13 14 15 +2 3 5 6 7 8 9 10 11 12 13 +2 3 5 6 7 8 9 10 11 12 14 +2 3 5 6 7 8 9 10 11 12 15 +2 3 5 6 7 8 9 10 11 13 14 +2 3 5 6 7 8 9 10 11 13 15 +2 3 5 6 7 8 9 10 11 14 15 +2 3 5 6 7 8 9 10 12 13 14 +2 3 5 6 7 8 9 10 12 13 15 +2 3 5 6 7 8 9 10 12 14 15 +2 3 5 6 7 8 9 10 13 14 15 +2 3 5 6 7 8 9 11 12 13 14 +2 3 5 6 7 8 9 11 12 13 15 +2 3 5 6 7 8 9 11 12 14 15 +2 3 5 6 7 8 9 11 13 14 15 +2 3 5 6 7 8 9 12 13 14 15 +2 3 5 6 7 8 10 11 12 13 14 +2 3 5 6 7 8 10 11 12 13 15 +2 3 5 6 7 8 10 11 12 14 15 +2 3 5 6 7 8 10 11 13 14 15 +2 3 5 6 7 8 10 12 13 14 15 +2 3 5 6 7 8 11 12 13 14 15 +2 3 5 6 7 9 10 11 12 13 14 +2 3 5 6 7 9 10 11 12 13 15 +2 3 5 6 7 9 10 11 12 14 15 +2 3 5 6 7 9 10 11 13 14 15 +2 3 5 6 7 9 10 12 13 14 15 +2 3 5 6 7 9 11 12 13 14 15 +2 3 5 6 7 10 11 12 13 14 15 +2 3 5 6 8 9 10 11 12 13 14 +2 3 5 6 8 9 10 11 12 13 15 +2 3 5 6 8 9 10 11 12 14 15 +2 3 5 6 8 9 10 11 13 14 15 +2 3 5 6 8 9 10 12 13 14 15 +2 3 5 6 8 9 11 12 13 14 15 +2 3 5 6 8 10 11 12 13 14 15 +2 3 5 6 9 10 11 12 13 14 15 +2 3 5 7 8 9 10 11 12 13 14 +2 3 5 7 8 9 10 11 12 13 15 +2 3 5 7 8 9 10 11 12 14 15 +2 3 5 7 8 9 10 11 13 14 15 +2 3 5 7 8 9 10 12 13 14 15 +2 3 5 7 8 9 11 12 13 14 15 +2 3 5 7 8 10 11 12 13 14 15 +2 3 5 7 9 10 11 12 13 14 15 +2 3 5 8 9 10 11 12 13 14 15 +2 3 6 7 8 9 10 11 12 13 14 +2 3 6 7 8 9 10 11 12 13 15 +2 3 6 7 8 9 10 11 12 14 15 +2 3 6 7 8 9 10 11 13 14 15 +2 3 6 7 8 9 10 12 13 14 15 +2 3 6 7 8 9 11 12 13 14 15 +2 3 6 7 8 10 11 12 13 14 15 +2 3 6 7 9 10 11 12 13 14 15 +2 3 6 8 9 10 11 12 13 14 15 +2 3 7 8 9 10 11 12 13 14 15 +2 4 5 6 7 8 9 10 11 12 13 +2 4 5 6 7 8 9 10 11 12 14 +2 4 5 6 7 8 9 10 11 12 15 +2 4 5 6 7 8 9 10 11 13 14 +2 4 5 6 7 8 9 10 11 13 15 +2 4 5 6 7 8 9 10 11 14 15 +2 4 5 6 7 8 9 10 12 13 14 +2 4 5 6 7 8 9 10 12 13 15 +2 4 5 6 7 8 9 10 12 14 15 +2 4 5 6 7 8 9 10 13 14 15 +2 4 5 6 7 8 9 11 12 13 14 +2 4 5 6 7 8 9 11 12 13 15 +2 4 5 6 7 8 9 11 12 14 15 +2 4 5 6 7 8 9 11 13 14 15 +2 4 5 6 7 8 9 12 13 14 15 +2 4 5 6 7 8 10 11 12 13 14 +2 4 5 6 7 8 10 11 12 13 15 +2 4 5 6 7 8 10 11 12 14 15 +2 4 5 6 7 8 10 11 13 14 15 +2 4 5 6 7 8 10 12 13 14 15 +2 4 5 6 7 8 11 12 13 14 15 +2 4 5 6 7 9 10 11 12 13 14 +2 4 5 6 7 9 10 11 12 13 15 +2 4 5 6 7 9 10 11 12 14 15 +2 4 5 6 7 9 10 11 13 14 15 +2 4 5 6 7 9 10 12 13 14 15 +2 4 5 6 7 9 11 12 13 14 15 +2 4 5 6 7 10 11 12 13 14 15 +2 4 5 6 8 9 10 11 12 13 14 +2 4 5 6 8 9 10 11 12 13 15 +2 4 5 6 8 9 10 11 12 14 15 +2 4 5 6 8 9 10 11 13 14 15 +2 4 5 6 8 9 10 12 13 14 15 +2 4 5 6 8 9 11 12 13 14 15 +2 4 5 6 8 10 11 12 13 14 15 +2 4 5 6 9 10 11 12 13 14 15 +2 4 5 7 8 9 10 11 12 13 14 +2 4 5 7 8 9 10 11 12 13 15 +2 4 5 7 8 9 10 11 12 14 15 +2 4 5 7 8 9 10 11 13 14 15 +2 4 5 7 8 9 10 12 13 14 15 +2 4 5 7 8 9 11 12 13 14 15 +2 4 5 7 8 10 11 12 13 14 15 +2 4 5 7 9 10 11 12 13 14 15 +2 4 5 8 9 10 11 12 13 14 15 +2 4 6 7 8 9 10 11 12 13 14 +2 4 6 7 8 9 10 11 12 13 15 +2 4 6 7 8 9 10 11 12 14 15 +2 4 6 7 8 9 10 11 13 14 15 +2 4 6 7 8 9 10 12 13 14 15 +2 4 6 7 8 9 11 12 13 14 15 +2 4 6 7 8 10 11 12 13 14 15 +2 4 6 7 9 10 11 12 13 14 15 +2 4 6 8 9 10 11 12 13 14 15 +2 4 7 8 9 10 11 12 13 14 15 +2 5 6 7 8 9 10 11 12 13 14 +2 5 6 7 8 9 10 11 12 13 15 +2 5 6 7 8 9 10 11 12 14 15 +2 5 6 7 8 9 10 11 13 14 15 +2 5 6 7 8 9 10 12 13 14 15 +2 5 6 7 8 9 11 12 13 14 15 +2 5 6 7 8 10 11 12 13 14 15 +2 5 6 7 9 10 11 12 13 14 15 +2 5 6 8 9 10 11 12 13 14 15 +2 5 7 8 9 10 11 12 13 14 15 +2 6 7 8 9 10 11 12 13 14 15 +3 4 5 6 7 8 9 10 11 12 13 +3 4 5 6 7 8 9 10 11 12 14 +3 4 5 6 7 8 9 10 11 12 15 +3 4 5 6 7 8 9 10 11 13 14 +3 4 5 6 7 8 9 10 11 13 15 +3 4 5 6 7 8 9 10 11 14 15 +3 4 5 6 7 8 9 10 12 13 14 +3 4 5 6 7 8 9 10 12 13 15 +3 4 5 6 7 8 9 10 12 14 15 +3 4 5 6 7 8 9 10 13 14 15 +3 4 5 6 7 8 9 11 12 13 14 +3 4 5 6 7 8 9 11 12 13 15 +3 4 5 6 7 8 9 11 12 14 15 +3 4 5 6 7 8 9 11 13 14 15 +3 4 5 6 7 8 9 12 13 14 15 +3 4 5 6 7 8 10 11 12 13 14 +3 4 5 6 7 8 10 11 12 13 15 +3 4 5 6 7 8 10 11 12 14 15 +3 4 5 6 7 8 10 11 13 14 15 +3 4 5 6 7 8 10 12 13 14 15 +3 4 5 6 7 8 11 12 13 14 15 +3 4 5 6 7 9 10 11 12 13 14 +3 4 5 6 7 9 10 11 12 13 15 +3 4 5 6 7 9 10 11 12 14 15 +3 4 5 6 7 9 10 11 13 14 15 +3 4 5 6 7 9 10 12 13 14 15 +3 4 5 6 7 9 11 12 13 14 15 +3 4 5 6 7 10 11 12 13 14 15 +3 4 5 6 8 9 10 11 12 13 14 +3 4 5 6 8 9 10 11 12 13 15 +3 4 5 6 8 9 10 11 12 14 15 +3 4 5 6 8 9 10 11 13 14 15 +3 4 5 6 8 9 10 12 13 14 15 +3 4 5 6 8 9 11 12 13 14 15 +3 4 5 6 8 10 11 12 13 14 15 +3 4 5 6 9 10 11 12 13 14 15 +3 4 5 7 8 9 10 11 12 13 14 +3 4 5 7 8 9 10 11 12 13 15 +3 4 5 7 8 9 10 11 12 14 15 +3 4 5 7 8 9 10 11 13 14 15 +3 4 5 7 8 9 10 12 13 14 15 +3 4 5 7 8 9 11 12 13 14 15 +3 4 5 7 8 10 11 12 13 14 15 +3 4 5 7 9 10 11 12 13 14 15 +3 4 5 8 9 10 11 12 13 14 15 +3 4 6 7 8 9 10 11 12 13 14 +3 4 6 7 8 9 10 11 12 13 15 +3 4 6 7 8 9 10 11 12 14 15 +3 4 6 7 8 9 10 11 13 14 15 +3 4 6 7 8 9 10 12 13 14 15 +3 4 6 7 8 9 11 12 13 14 15 +3 4 6 7 8 10 11 12 13 14 15 +3 4 6 7 9 10 11 12 13 14 15 +3 4 6 8 9 10 11 12 13 14 15 +3 4 7 8 9 10 11 12 13 14 15 +3 5 6 7 8 9 10 11 12 13 14 +3 5 6 7 8 9 10 11 12 13 15 +3 5 6 7 8 9 10 11 12 14 15 +3 5 6 7 8 9 10 11 13 14 15 +3 5 6 7 8 9 10 12 13 14 15 +3 5 6 7 8 9 11 12 13 14 15 +3 5 6 7 8 10 11 12 13 14 15 +3 5 6 7 9 10 11 12 13 14 15 +3 5 6 8 9 10 11 12 13 14 15 +3 5 7 8 9 10 11 12 13 14 15 +3 6 7 8 9 10 11 12 13 14 15 +4 5 6 7 8 9 10 11 12 13 14 +4 5 6 7 8 9 10 11 12 13 15 +4 5 6 7 8 9 10 11 12 14 15 +4 5 6 7 8 9 10 11 13 14 15 +4 5 6 7 8 9 10 12 13 14 15 +4 5 6 7 8 9 11 12 13 14 15 +4 5 6 7 8 10 11 12 13 14 15 +4 5 6 7 9 10 11 12 13 14 15 +4 5 6 8 9 10 11 12 13 14 15 +4 5 7 8 9 10 11 12 13 14 15 +4 6 7 8 9 10 11 12 13 14 15 +5 6 7 8 9 10 11 12 13 14 15 diff --git a/combines/16-12.txt b/combines/16-12.txt index 21ef46f..326f86c 100644 --- a/combines/16-12.txt +++ b/combines/16-12.txt @@ -1,1820 +1,1820 @@ -0 1 2 3 4 5 6 7 8 9 10 11 -0 1 2 3 4 5 6 7 8 9 10 12 -0 1 2 3 4 5 6 7 8 9 10 13 -0 1 2 3 4 5 6 7 8 9 10 14 -0 1 2 3 4 5 6 7 8 9 10 15 -0 1 2 3 4 5 6 7 8 9 11 12 -0 1 2 3 4 5 6 7 8 9 11 13 -0 1 2 3 4 5 6 7 8 9 11 14 -0 1 2 3 4 5 6 7 8 9 11 15 -0 1 2 3 4 5 6 7 8 9 12 13 -0 1 2 3 4 5 6 7 8 9 12 14 -0 1 2 3 4 5 6 7 8 9 12 15 -0 1 2 3 4 5 6 7 8 9 13 14 -0 1 2 3 4 5 6 7 8 9 13 15 -0 1 2 3 4 5 6 7 8 9 14 15 -0 1 2 3 4 5 6 7 8 10 11 12 -0 1 2 3 4 5 6 7 8 10 11 13 -0 1 2 3 4 5 6 7 8 10 11 14 -0 1 2 3 4 5 6 7 8 10 11 15 -0 1 2 3 4 5 6 7 8 10 12 13 -0 1 2 3 4 5 6 7 8 10 12 14 -0 1 2 3 4 5 6 7 8 10 12 15 -0 1 2 3 4 5 6 7 8 10 13 14 -0 1 2 3 4 5 6 7 8 10 13 15 -0 1 2 3 4 5 6 7 8 10 14 15 -0 1 2 3 4 5 6 7 8 11 12 13 -0 1 2 3 4 5 6 7 8 11 12 14 -0 1 2 3 4 5 6 7 8 11 12 15 -0 1 2 3 4 5 6 7 8 11 13 14 -0 1 2 3 4 5 6 7 8 11 13 15 -0 1 2 3 4 5 6 7 8 11 14 15 -0 1 2 3 4 5 6 7 8 12 13 14 -0 1 2 3 4 5 6 7 8 12 13 15 -0 1 2 3 4 5 6 7 8 12 14 15 -0 1 2 3 4 5 6 7 8 13 14 15 -0 1 2 3 4 5 6 7 9 10 11 12 -0 1 2 3 4 5 6 7 9 10 11 13 -0 1 2 3 4 5 6 7 9 10 11 14 -0 1 2 3 4 5 6 7 9 10 11 15 -0 1 2 3 4 5 6 7 9 10 12 13 -0 1 2 3 4 5 6 7 9 10 12 14 -0 1 2 3 4 5 6 7 9 10 12 15 -0 1 2 3 4 5 6 7 9 10 13 14 -0 1 2 3 4 5 6 7 9 10 13 15 -0 1 2 3 4 5 6 7 9 10 14 15 -0 1 2 3 4 5 6 7 9 11 12 13 -0 1 2 3 4 5 6 7 9 11 12 14 -0 1 2 3 4 5 6 7 9 11 12 15 -0 1 2 3 4 5 6 7 9 11 13 14 -0 1 2 3 4 5 6 7 9 11 13 15 -0 1 2 3 4 5 6 7 9 11 14 15 -0 1 2 3 4 5 6 7 9 12 13 14 -0 1 2 3 4 5 6 7 9 12 13 15 -0 1 2 3 4 5 6 7 9 12 14 15 -0 1 2 3 4 5 6 7 9 13 14 15 -0 1 2 3 4 5 6 7 10 11 12 13 -0 1 2 3 4 5 6 7 10 11 12 14 -0 1 2 3 4 5 6 7 10 11 12 15 -0 1 2 3 4 5 6 7 10 11 13 14 -0 1 2 3 4 5 6 7 10 11 13 15 -0 1 2 3 4 5 6 7 10 11 14 15 -0 1 2 3 4 5 6 7 10 12 13 14 -0 1 2 3 4 5 6 7 10 12 13 15 -0 1 2 3 4 5 6 7 10 12 14 15 -0 1 2 3 4 5 6 7 10 13 14 15 -0 1 2 3 4 5 6 7 11 12 13 14 -0 1 2 3 4 5 6 7 11 12 13 15 -0 1 2 3 4 5 6 7 11 12 14 15 -0 1 2 3 4 5 6 7 11 13 14 15 -0 1 2 3 4 5 6 7 12 13 14 15 -0 1 2 3 4 5 6 8 9 10 11 12 -0 1 2 3 4 5 6 8 9 10 11 13 -0 1 2 3 4 5 6 8 9 10 11 14 -0 1 2 3 4 5 6 8 9 10 11 15 -0 1 2 3 4 5 6 8 9 10 12 13 -0 1 2 3 4 5 6 8 9 10 12 14 -0 1 2 3 4 5 6 8 9 10 12 15 -0 1 2 3 4 5 6 8 9 10 13 14 -0 1 2 3 4 5 6 8 9 10 13 15 -0 1 2 3 4 5 6 8 9 10 14 15 -0 1 2 3 4 5 6 8 9 11 12 13 -0 1 2 3 4 5 6 8 9 11 12 14 -0 1 2 3 4 5 6 8 9 11 12 15 -0 1 2 3 4 5 6 8 9 11 13 14 -0 1 2 3 4 5 6 8 9 11 13 15 -0 1 2 3 4 5 6 8 9 11 14 15 -0 1 2 3 4 5 6 8 9 12 13 14 -0 1 2 3 4 5 6 8 9 12 13 15 -0 1 2 3 4 5 6 8 9 12 14 15 -0 1 2 3 4 5 6 8 9 13 14 15 -0 1 2 3 4 5 6 8 10 11 12 13 -0 1 2 3 4 5 6 8 10 11 12 14 -0 1 2 3 4 5 6 8 10 11 12 15 -0 1 2 3 4 5 6 8 10 11 13 14 -0 1 2 3 4 5 6 8 10 11 13 15 -0 1 2 3 4 5 6 8 10 11 14 15 -0 1 2 3 4 5 6 8 10 12 13 14 -0 1 2 3 4 5 6 8 10 12 13 15 -0 1 2 3 4 5 6 8 10 12 14 15 -0 1 2 3 4 5 6 8 10 13 14 15 -0 1 2 3 4 5 6 8 11 12 13 14 -0 1 2 3 4 5 6 8 11 12 13 15 -0 1 2 3 4 5 6 8 11 12 14 15 -0 1 2 3 4 5 6 8 11 13 14 15 -0 1 2 3 4 5 6 8 12 13 14 15 -0 1 2 3 4 5 6 9 10 11 12 13 -0 1 2 3 4 5 6 9 10 11 12 14 -0 1 2 3 4 5 6 9 10 11 12 15 -0 1 2 3 4 5 6 9 10 11 13 14 -0 1 2 3 4 5 6 9 10 11 13 15 -0 1 2 3 4 5 6 9 10 11 14 15 -0 1 2 3 4 5 6 9 10 12 13 14 -0 1 2 3 4 5 6 9 10 12 13 15 -0 1 2 3 4 5 6 9 10 12 14 15 -0 1 2 3 4 5 6 9 10 13 14 15 -0 1 2 3 4 5 6 9 11 12 13 14 -0 1 2 3 4 5 6 9 11 12 13 15 -0 1 2 3 4 5 6 9 11 12 14 15 -0 1 2 3 4 5 6 9 11 13 14 15 -0 1 2 3 4 5 6 9 12 13 14 15 -0 1 2 3 4 5 6 10 11 12 13 14 -0 1 2 3 4 5 6 10 11 12 13 15 -0 1 2 3 4 5 6 10 11 12 14 15 -0 1 2 3 4 5 6 10 11 13 14 15 -0 1 2 3 4 5 6 10 12 13 14 15 -0 1 2 3 4 5 6 11 12 13 14 15 -0 1 2 3 4 5 7 8 9 10 11 12 -0 1 2 3 4 5 7 8 9 10 11 13 -0 1 2 3 4 5 7 8 9 10 11 14 -0 1 2 3 4 5 7 8 9 10 11 15 -0 1 2 3 4 5 7 8 9 10 12 13 -0 1 2 3 4 5 7 8 9 10 12 14 -0 1 2 3 4 5 7 8 9 10 12 15 -0 1 2 3 4 5 7 8 9 10 13 14 -0 1 2 3 4 5 7 8 9 10 13 15 -0 1 2 3 4 5 7 8 9 10 14 15 -0 1 2 3 4 5 7 8 9 11 12 13 -0 1 2 3 4 5 7 8 9 11 12 14 -0 1 2 3 4 5 7 8 9 11 12 15 -0 1 2 3 4 5 7 8 9 11 13 14 -0 1 2 3 4 5 7 8 9 11 13 15 -0 1 2 3 4 5 7 8 9 11 14 15 -0 1 2 3 4 5 7 8 9 12 13 14 -0 1 2 3 4 5 7 8 9 12 13 15 -0 1 2 3 4 5 7 8 9 12 14 15 -0 1 2 3 4 5 7 8 9 13 14 15 -0 1 2 3 4 5 7 8 10 11 12 13 -0 1 2 3 4 5 7 8 10 11 12 14 -0 1 2 3 4 5 7 8 10 11 12 15 -0 1 2 3 4 5 7 8 10 11 13 14 -0 1 2 3 4 5 7 8 10 11 13 15 -0 1 2 3 4 5 7 8 10 11 14 15 -0 1 2 3 4 5 7 8 10 12 13 14 -0 1 2 3 4 5 7 8 10 12 13 15 -0 1 2 3 4 5 7 8 10 12 14 15 -0 1 2 3 4 5 7 8 10 13 14 15 -0 1 2 3 4 5 7 8 11 12 13 14 -0 1 2 3 4 5 7 8 11 12 13 15 -0 1 2 3 4 5 7 8 11 12 14 15 -0 1 2 3 4 5 7 8 11 13 14 15 -0 1 2 3 4 5 7 8 12 13 14 15 -0 1 2 3 4 5 7 9 10 11 12 13 -0 1 2 3 4 5 7 9 10 11 12 14 -0 1 2 3 4 5 7 9 10 11 12 15 -0 1 2 3 4 5 7 9 10 11 13 14 -0 1 2 3 4 5 7 9 10 11 13 15 -0 1 2 3 4 5 7 9 10 11 14 15 -0 1 2 3 4 5 7 9 10 12 13 14 -0 1 2 3 4 5 7 9 10 12 13 15 -0 1 2 3 4 5 7 9 10 12 14 15 -0 1 2 3 4 5 7 9 10 13 14 15 -0 1 2 3 4 5 7 9 11 12 13 14 -0 1 2 3 4 5 7 9 11 12 13 15 -0 1 2 3 4 5 7 9 11 12 14 15 -0 1 2 3 4 5 7 9 11 13 14 15 -0 1 2 3 4 5 7 9 12 13 14 15 -0 1 2 3 4 5 7 10 11 12 13 14 -0 1 2 3 4 5 7 10 11 12 13 15 -0 1 2 3 4 5 7 10 11 12 14 15 -0 1 2 3 4 5 7 10 11 13 14 15 -0 1 2 3 4 5 7 10 12 13 14 15 -0 1 2 3 4 5 7 11 12 13 14 15 -0 1 2 3 4 5 8 9 10 11 12 13 -0 1 2 3 4 5 8 9 10 11 12 14 -0 1 2 3 4 5 8 9 10 11 12 15 -0 1 2 3 4 5 8 9 10 11 13 14 -0 1 2 3 4 5 8 9 10 11 13 15 -0 1 2 3 4 5 8 9 10 11 14 15 -0 1 2 3 4 5 8 9 10 12 13 14 -0 1 2 3 4 5 8 9 10 12 13 15 -0 1 2 3 4 5 8 9 10 12 14 15 -0 1 2 3 4 5 8 9 10 13 14 15 -0 1 2 3 4 5 8 9 11 12 13 14 -0 1 2 3 4 5 8 9 11 12 13 15 -0 1 2 3 4 5 8 9 11 12 14 15 -0 1 2 3 4 5 8 9 11 13 14 15 -0 1 2 3 4 5 8 9 12 13 14 15 -0 1 2 3 4 5 8 10 11 12 13 14 -0 1 2 3 4 5 8 10 11 12 13 15 -0 1 2 3 4 5 8 10 11 12 14 15 -0 1 2 3 4 5 8 10 11 13 14 15 -0 1 2 3 4 5 8 10 12 13 14 15 -0 1 2 3 4 5 8 11 12 13 14 15 -0 1 2 3 4 5 9 10 11 12 13 14 -0 1 2 3 4 5 9 10 11 12 13 15 -0 1 2 3 4 5 9 10 11 12 14 15 -0 1 2 3 4 5 9 10 11 13 14 15 -0 1 2 3 4 5 9 10 12 13 14 15 -0 1 2 3 4 5 9 11 12 13 14 15 -0 1 2 3 4 5 10 11 12 13 14 15 -0 1 2 3 4 6 7 8 9 10 11 12 -0 1 2 3 4 6 7 8 9 10 11 13 -0 1 2 3 4 6 7 8 9 10 11 14 -0 1 2 3 4 6 7 8 9 10 11 15 -0 1 2 3 4 6 7 8 9 10 12 13 -0 1 2 3 4 6 7 8 9 10 12 14 -0 1 2 3 4 6 7 8 9 10 12 15 -0 1 2 3 4 6 7 8 9 10 13 14 -0 1 2 3 4 6 7 8 9 10 13 15 -0 1 2 3 4 6 7 8 9 10 14 15 -0 1 2 3 4 6 7 8 9 11 12 13 -0 1 2 3 4 6 7 8 9 11 12 14 -0 1 2 3 4 6 7 8 9 11 12 15 -0 1 2 3 4 6 7 8 9 11 13 14 -0 1 2 3 4 6 7 8 9 11 13 15 -0 1 2 3 4 6 7 8 9 11 14 15 -0 1 2 3 4 6 7 8 9 12 13 14 -0 1 2 3 4 6 7 8 9 12 13 15 -0 1 2 3 4 6 7 8 9 12 14 15 -0 1 2 3 4 6 7 8 9 13 14 15 -0 1 2 3 4 6 7 8 10 11 12 13 -0 1 2 3 4 6 7 8 10 11 12 14 -0 1 2 3 4 6 7 8 10 11 12 15 -0 1 2 3 4 6 7 8 10 11 13 14 -0 1 2 3 4 6 7 8 10 11 13 15 -0 1 2 3 4 6 7 8 10 11 14 15 -0 1 2 3 4 6 7 8 10 12 13 14 -0 1 2 3 4 6 7 8 10 12 13 15 -0 1 2 3 4 6 7 8 10 12 14 15 -0 1 2 3 4 6 7 8 10 13 14 15 -0 1 2 3 4 6 7 8 11 12 13 14 -0 1 2 3 4 6 7 8 11 12 13 15 -0 1 2 3 4 6 7 8 11 12 14 15 -0 1 2 3 4 6 7 8 11 13 14 15 -0 1 2 3 4 6 7 8 12 13 14 15 -0 1 2 3 4 6 7 9 10 11 12 13 -0 1 2 3 4 6 7 9 10 11 12 14 -0 1 2 3 4 6 7 9 10 11 12 15 -0 1 2 3 4 6 7 9 10 11 13 14 -0 1 2 3 4 6 7 9 10 11 13 15 -0 1 2 3 4 6 7 9 10 11 14 15 -0 1 2 3 4 6 7 9 10 12 13 14 -0 1 2 3 4 6 7 9 10 12 13 15 -0 1 2 3 4 6 7 9 10 12 14 15 -0 1 2 3 4 6 7 9 10 13 14 15 -0 1 2 3 4 6 7 9 11 12 13 14 -0 1 2 3 4 6 7 9 11 12 13 15 -0 1 2 3 4 6 7 9 11 12 14 15 -0 1 2 3 4 6 7 9 11 13 14 15 -0 1 2 3 4 6 7 9 12 13 14 15 -0 1 2 3 4 6 7 10 11 12 13 14 -0 1 2 3 4 6 7 10 11 12 13 15 -0 1 2 3 4 6 7 10 11 12 14 15 -0 1 2 3 4 6 7 10 11 13 14 15 -0 1 2 3 4 6 7 10 12 13 14 15 -0 1 2 3 4 6 7 11 12 13 14 15 -0 1 2 3 4 6 8 9 10 11 12 13 -0 1 2 3 4 6 8 9 10 11 12 14 -0 1 2 3 4 6 8 9 10 11 12 15 -0 1 2 3 4 6 8 9 10 11 13 14 -0 1 2 3 4 6 8 9 10 11 13 15 -0 1 2 3 4 6 8 9 10 11 14 15 -0 1 2 3 4 6 8 9 10 12 13 14 -0 1 2 3 4 6 8 9 10 12 13 15 -0 1 2 3 4 6 8 9 10 12 14 15 -0 1 2 3 4 6 8 9 10 13 14 15 -0 1 2 3 4 6 8 9 11 12 13 14 -0 1 2 3 4 6 8 9 11 12 13 15 -0 1 2 3 4 6 8 9 11 12 14 15 -0 1 2 3 4 6 8 9 11 13 14 15 -0 1 2 3 4 6 8 9 12 13 14 15 -0 1 2 3 4 6 8 10 11 12 13 14 -0 1 2 3 4 6 8 10 11 12 13 15 -0 1 2 3 4 6 8 10 11 12 14 15 -0 1 2 3 4 6 8 10 11 13 14 15 -0 1 2 3 4 6 8 10 12 13 14 15 -0 1 2 3 4 6 8 11 12 13 14 15 -0 1 2 3 4 6 9 10 11 12 13 14 -0 1 2 3 4 6 9 10 11 12 13 15 -0 1 2 3 4 6 9 10 11 12 14 15 -0 1 2 3 4 6 9 10 11 13 14 15 -0 1 2 3 4 6 9 10 12 13 14 15 -0 1 2 3 4 6 9 11 12 13 14 15 -0 1 2 3 4 6 10 11 12 13 14 15 -0 1 2 3 4 7 8 9 10 11 12 13 -0 1 2 3 4 7 8 9 10 11 12 14 -0 1 2 3 4 7 8 9 10 11 12 15 -0 1 2 3 4 7 8 9 10 11 13 14 -0 1 2 3 4 7 8 9 10 11 13 15 -0 1 2 3 4 7 8 9 10 11 14 15 -0 1 2 3 4 7 8 9 10 12 13 14 -0 1 2 3 4 7 8 9 10 12 13 15 -0 1 2 3 4 7 8 9 10 12 14 15 -0 1 2 3 4 7 8 9 10 13 14 15 -0 1 2 3 4 7 8 9 11 12 13 14 -0 1 2 3 4 7 8 9 11 12 13 15 -0 1 2 3 4 7 8 9 11 12 14 15 -0 1 2 3 4 7 8 9 11 13 14 15 -0 1 2 3 4 7 8 9 12 13 14 15 -0 1 2 3 4 7 8 10 11 12 13 14 -0 1 2 3 4 7 8 10 11 12 13 15 -0 1 2 3 4 7 8 10 11 12 14 15 -0 1 2 3 4 7 8 10 11 13 14 15 -0 1 2 3 4 7 8 10 12 13 14 15 -0 1 2 3 4 7 8 11 12 13 14 15 -0 1 2 3 4 7 9 10 11 12 13 14 -0 1 2 3 4 7 9 10 11 12 13 15 -0 1 2 3 4 7 9 10 11 12 14 15 -0 1 2 3 4 7 9 10 11 13 14 15 -0 1 2 3 4 7 9 10 12 13 14 15 -0 1 2 3 4 7 9 11 12 13 14 15 -0 1 2 3 4 7 10 11 12 13 14 15 -0 1 2 3 4 8 9 10 11 12 13 14 -0 1 2 3 4 8 9 10 11 12 13 15 -0 1 2 3 4 8 9 10 11 12 14 15 -0 1 2 3 4 8 9 10 11 13 14 15 -0 1 2 3 4 8 9 10 12 13 14 15 -0 1 2 3 4 8 9 11 12 13 14 15 -0 1 2 3 4 8 10 11 12 13 14 15 -0 1 2 3 4 9 10 11 12 13 14 15 -0 1 2 3 5 6 7 8 9 10 11 12 -0 1 2 3 5 6 7 8 9 10 11 13 -0 1 2 3 5 6 7 8 9 10 11 14 -0 1 2 3 5 6 7 8 9 10 11 15 -0 1 2 3 5 6 7 8 9 10 12 13 -0 1 2 3 5 6 7 8 9 10 12 14 -0 1 2 3 5 6 7 8 9 10 12 15 -0 1 2 3 5 6 7 8 9 10 13 14 -0 1 2 3 5 6 7 8 9 10 13 15 -0 1 2 3 5 6 7 8 9 10 14 15 -0 1 2 3 5 6 7 8 9 11 12 13 -0 1 2 3 5 6 7 8 9 11 12 14 -0 1 2 3 5 6 7 8 9 11 12 15 -0 1 2 3 5 6 7 8 9 11 13 14 -0 1 2 3 5 6 7 8 9 11 13 15 -0 1 2 3 5 6 7 8 9 11 14 15 -0 1 2 3 5 6 7 8 9 12 13 14 -0 1 2 3 5 6 7 8 9 12 13 15 -0 1 2 3 5 6 7 8 9 12 14 15 -0 1 2 3 5 6 7 8 9 13 14 15 -0 1 2 3 5 6 7 8 10 11 12 13 -0 1 2 3 5 6 7 8 10 11 12 14 -0 1 2 3 5 6 7 8 10 11 12 15 -0 1 2 3 5 6 7 8 10 11 13 14 -0 1 2 3 5 6 7 8 10 11 13 15 -0 1 2 3 5 6 7 8 10 11 14 15 -0 1 2 3 5 6 7 8 10 12 13 14 -0 1 2 3 5 6 7 8 10 12 13 15 -0 1 2 3 5 6 7 8 10 12 14 15 -0 1 2 3 5 6 7 8 10 13 14 15 -0 1 2 3 5 6 7 8 11 12 13 14 -0 1 2 3 5 6 7 8 11 12 13 15 -0 1 2 3 5 6 7 8 11 12 14 15 -0 1 2 3 5 6 7 8 11 13 14 15 -0 1 2 3 5 6 7 8 12 13 14 15 -0 1 2 3 5 6 7 9 10 11 12 13 -0 1 2 3 5 6 7 9 10 11 12 14 -0 1 2 3 5 6 7 9 10 11 12 15 -0 1 2 3 5 6 7 9 10 11 13 14 -0 1 2 3 5 6 7 9 10 11 13 15 -0 1 2 3 5 6 7 9 10 11 14 15 -0 1 2 3 5 6 7 9 10 12 13 14 -0 1 2 3 5 6 7 9 10 12 13 15 -0 1 2 3 5 6 7 9 10 12 14 15 -0 1 2 3 5 6 7 9 10 13 14 15 -0 1 2 3 5 6 7 9 11 12 13 14 -0 1 2 3 5 6 7 9 11 12 13 15 -0 1 2 3 5 6 7 9 11 12 14 15 -0 1 2 3 5 6 7 9 11 13 14 15 -0 1 2 3 5 6 7 9 12 13 14 15 -0 1 2 3 5 6 7 10 11 12 13 14 -0 1 2 3 5 6 7 10 11 12 13 15 -0 1 2 3 5 6 7 10 11 12 14 15 -0 1 2 3 5 6 7 10 11 13 14 15 -0 1 2 3 5 6 7 10 12 13 14 15 -0 1 2 3 5 6 7 11 12 13 14 15 -0 1 2 3 5 6 8 9 10 11 12 13 -0 1 2 3 5 6 8 9 10 11 12 14 -0 1 2 3 5 6 8 9 10 11 12 15 -0 1 2 3 5 6 8 9 10 11 13 14 -0 1 2 3 5 6 8 9 10 11 13 15 -0 1 2 3 5 6 8 9 10 11 14 15 -0 1 2 3 5 6 8 9 10 12 13 14 -0 1 2 3 5 6 8 9 10 12 13 15 -0 1 2 3 5 6 8 9 10 12 14 15 -0 1 2 3 5 6 8 9 10 13 14 15 -0 1 2 3 5 6 8 9 11 12 13 14 -0 1 2 3 5 6 8 9 11 12 13 15 -0 1 2 3 5 6 8 9 11 12 14 15 -0 1 2 3 5 6 8 9 11 13 14 15 -0 1 2 3 5 6 8 9 12 13 14 15 -0 1 2 3 5 6 8 10 11 12 13 14 -0 1 2 3 5 6 8 10 11 12 13 15 -0 1 2 3 5 6 8 10 11 12 14 15 -0 1 2 3 5 6 8 10 11 13 14 15 -0 1 2 3 5 6 8 10 12 13 14 15 -0 1 2 3 5 6 8 11 12 13 14 15 -0 1 2 3 5 6 9 10 11 12 13 14 -0 1 2 3 5 6 9 10 11 12 13 15 -0 1 2 3 5 6 9 10 11 12 14 15 -0 1 2 3 5 6 9 10 11 13 14 15 -0 1 2 3 5 6 9 10 12 13 14 15 -0 1 2 3 5 6 9 11 12 13 14 15 -0 1 2 3 5 6 10 11 12 13 14 15 -0 1 2 3 5 7 8 9 10 11 12 13 -0 1 2 3 5 7 8 9 10 11 12 14 -0 1 2 3 5 7 8 9 10 11 12 15 -0 1 2 3 5 7 8 9 10 11 13 14 -0 1 2 3 5 7 8 9 10 11 13 15 -0 1 2 3 5 7 8 9 10 11 14 15 -0 1 2 3 5 7 8 9 10 12 13 14 -0 1 2 3 5 7 8 9 10 12 13 15 -0 1 2 3 5 7 8 9 10 12 14 15 -0 1 2 3 5 7 8 9 10 13 14 15 -0 1 2 3 5 7 8 9 11 12 13 14 -0 1 2 3 5 7 8 9 11 12 13 15 -0 1 2 3 5 7 8 9 11 12 14 15 -0 1 2 3 5 7 8 9 11 13 14 15 -0 1 2 3 5 7 8 9 12 13 14 15 -0 1 2 3 5 7 8 10 11 12 13 14 -0 1 2 3 5 7 8 10 11 12 13 15 -0 1 2 3 5 7 8 10 11 12 14 15 -0 1 2 3 5 7 8 10 11 13 14 15 -0 1 2 3 5 7 8 10 12 13 14 15 -0 1 2 3 5 7 8 11 12 13 14 15 -0 1 2 3 5 7 9 10 11 12 13 14 -0 1 2 3 5 7 9 10 11 12 13 15 -0 1 2 3 5 7 9 10 11 12 14 15 -0 1 2 3 5 7 9 10 11 13 14 15 -0 1 2 3 5 7 9 10 12 13 14 15 -0 1 2 3 5 7 9 11 12 13 14 15 -0 1 2 3 5 7 10 11 12 13 14 15 -0 1 2 3 5 8 9 10 11 12 13 14 -0 1 2 3 5 8 9 10 11 12 13 15 -0 1 2 3 5 8 9 10 11 12 14 15 -0 1 2 3 5 8 9 10 11 13 14 15 -0 1 2 3 5 8 9 10 12 13 14 15 -0 1 2 3 5 8 9 11 12 13 14 15 -0 1 2 3 5 8 10 11 12 13 14 15 -0 1 2 3 5 9 10 11 12 13 14 15 -0 1 2 3 6 7 8 9 10 11 12 13 -0 1 2 3 6 7 8 9 10 11 12 14 -0 1 2 3 6 7 8 9 10 11 12 15 -0 1 2 3 6 7 8 9 10 11 13 14 -0 1 2 3 6 7 8 9 10 11 13 15 -0 1 2 3 6 7 8 9 10 11 14 15 -0 1 2 3 6 7 8 9 10 12 13 14 -0 1 2 3 6 7 8 9 10 12 13 15 -0 1 2 3 6 7 8 9 10 12 14 15 -0 1 2 3 6 7 8 9 10 13 14 15 -0 1 2 3 6 7 8 9 11 12 13 14 -0 1 2 3 6 7 8 9 11 12 13 15 -0 1 2 3 6 7 8 9 11 12 14 15 -0 1 2 3 6 7 8 9 11 13 14 15 -0 1 2 3 6 7 8 9 12 13 14 15 -0 1 2 3 6 7 8 10 11 12 13 14 -0 1 2 3 6 7 8 10 11 12 13 15 -0 1 2 3 6 7 8 10 11 12 14 15 -0 1 2 3 6 7 8 10 11 13 14 15 -0 1 2 3 6 7 8 10 12 13 14 15 -0 1 2 3 6 7 8 11 12 13 14 15 -0 1 2 3 6 7 9 10 11 12 13 14 -0 1 2 3 6 7 9 10 11 12 13 15 -0 1 2 3 6 7 9 10 11 12 14 15 -0 1 2 3 6 7 9 10 11 13 14 15 -0 1 2 3 6 7 9 10 12 13 14 15 -0 1 2 3 6 7 9 11 12 13 14 15 -0 1 2 3 6 7 10 11 12 13 14 15 -0 1 2 3 6 8 9 10 11 12 13 14 -0 1 2 3 6 8 9 10 11 12 13 15 -0 1 2 3 6 8 9 10 11 12 14 15 -0 1 2 3 6 8 9 10 11 13 14 15 -0 1 2 3 6 8 9 10 12 13 14 15 -0 1 2 3 6 8 9 11 12 13 14 15 -0 1 2 3 6 8 10 11 12 13 14 15 -0 1 2 3 6 9 10 11 12 13 14 15 -0 1 2 3 7 8 9 10 11 12 13 14 -0 1 2 3 7 8 9 10 11 12 13 15 -0 1 2 3 7 8 9 10 11 12 14 15 -0 1 2 3 7 8 9 10 11 13 14 15 -0 1 2 3 7 8 9 10 12 13 14 15 -0 1 2 3 7 8 9 11 12 13 14 15 -0 1 2 3 7 8 10 11 12 13 14 15 -0 1 2 3 7 9 10 11 12 13 14 15 -0 1 2 3 8 9 10 11 12 13 14 15 -0 1 2 4 5 6 7 8 9 10 11 12 -0 1 2 4 5 6 7 8 9 10 11 13 -0 1 2 4 5 6 7 8 9 10 11 14 -0 1 2 4 5 6 7 8 9 10 11 15 -0 1 2 4 5 6 7 8 9 10 12 13 -0 1 2 4 5 6 7 8 9 10 12 14 -0 1 2 4 5 6 7 8 9 10 12 15 -0 1 2 4 5 6 7 8 9 10 13 14 -0 1 2 4 5 6 7 8 9 10 13 15 -0 1 2 4 5 6 7 8 9 10 14 15 -0 1 2 4 5 6 7 8 9 11 12 13 -0 1 2 4 5 6 7 8 9 11 12 14 -0 1 2 4 5 6 7 8 9 11 12 15 -0 1 2 4 5 6 7 8 9 11 13 14 -0 1 2 4 5 6 7 8 9 11 13 15 -0 1 2 4 5 6 7 8 9 11 14 15 -0 1 2 4 5 6 7 8 9 12 13 14 -0 1 2 4 5 6 7 8 9 12 13 15 -0 1 2 4 5 6 7 8 9 12 14 15 -0 1 2 4 5 6 7 8 9 13 14 15 -0 1 2 4 5 6 7 8 10 11 12 13 -0 1 2 4 5 6 7 8 10 11 12 14 -0 1 2 4 5 6 7 8 10 11 12 15 -0 1 2 4 5 6 7 8 10 11 13 14 -0 1 2 4 5 6 7 8 10 11 13 15 -0 1 2 4 5 6 7 8 10 11 14 15 -0 1 2 4 5 6 7 8 10 12 13 14 -0 1 2 4 5 6 7 8 10 12 13 15 -0 1 2 4 5 6 7 8 10 12 14 15 -0 1 2 4 5 6 7 8 10 13 14 15 -0 1 2 4 5 6 7 8 11 12 13 14 -0 1 2 4 5 6 7 8 11 12 13 15 -0 1 2 4 5 6 7 8 11 12 14 15 -0 1 2 4 5 6 7 8 11 13 14 15 -0 1 2 4 5 6 7 8 12 13 14 15 -0 1 2 4 5 6 7 9 10 11 12 13 -0 1 2 4 5 6 7 9 10 11 12 14 -0 1 2 4 5 6 7 9 10 11 12 15 -0 1 2 4 5 6 7 9 10 11 13 14 -0 1 2 4 5 6 7 9 10 11 13 15 -0 1 2 4 5 6 7 9 10 11 14 15 -0 1 2 4 5 6 7 9 10 12 13 14 -0 1 2 4 5 6 7 9 10 12 13 15 -0 1 2 4 5 6 7 9 10 12 14 15 -0 1 2 4 5 6 7 9 10 13 14 15 -0 1 2 4 5 6 7 9 11 12 13 14 -0 1 2 4 5 6 7 9 11 12 13 15 -0 1 2 4 5 6 7 9 11 12 14 15 -0 1 2 4 5 6 7 9 11 13 14 15 -0 1 2 4 5 6 7 9 12 13 14 15 -0 1 2 4 5 6 7 10 11 12 13 14 -0 1 2 4 5 6 7 10 11 12 13 15 -0 1 2 4 5 6 7 10 11 12 14 15 -0 1 2 4 5 6 7 10 11 13 14 15 -0 1 2 4 5 6 7 10 12 13 14 15 -0 1 2 4 5 6 7 11 12 13 14 15 -0 1 2 4 5 6 8 9 10 11 12 13 -0 1 2 4 5 6 8 9 10 11 12 14 -0 1 2 4 5 6 8 9 10 11 12 15 -0 1 2 4 5 6 8 9 10 11 13 14 -0 1 2 4 5 6 8 9 10 11 13 15 -0 1 2 4 5 6 8 9 10 11 14 15 -0 1 2 4 5 6 8 9 10 12 13 14 -0 1 2 4 5 6 8 9 10 12 13 15 -0 1 2 4 5 6 8 9 10 12 14 15 -0 1 2 4 5 6 8 9 10 13 14 15 -0 1 2 4 5 6 8 9 11 12 13 14 -0 1 2 4 5 6 8 9 11 12 13 15 -0 1 2 4 5 6 8 9 11 12 14 15 -0 1 2 4 5 6 8 9 11 13 14 15 -0 1 2 4 5 6 8 9 12 13 14 15 -0 1 2 4 5 6 8 10 11 12 13 14 -0 1 2 4 5 6 8 10 11 12 13 15 -0 1 2 4 5 6 8 10 11 12 14 15 -0 1 2 4 5 6 8 10 11 13 14 15 -0 1 2 4 5 6 8 10 12 13 14 15 -0 1 2 4 5 6 8 11 12 13 14 15 -0 1 2 4 5 6 9 10 11 12 13 14 -0 1 2 4 5 6 9 10 11 12 13 15 -0 1 2 4 5 6 9 10 11 12 14 15 -0 1 2 4 5 6 9 10 11 13 14 15 -0 1 2 4 5 6 9 10 12 13 14 15 -0 1 2 4 5 6 9 11 12 13 14 15 -0 1 2 4 5 6 10 11 12 13 14 15 -0 1 2 4 5 7 8 9 10 11 12 13 -0 1 2 4 5 7 8 9 10 11 12 14 -0 1 2 4 5 7 8 9 10 11 12 15 -0 1 2 4 5 7 8 9 10 11 13 14 -0 1 2 4 5 7 8 9 10 11 13 15 -0 1 2 4 5 7 8 9 10 11 14 15 -0 1 2 4 5 7 8 9 10 12 13 14 -0 1 2 4 5 7 8 9 10 12 13 15 -0 1 2 4 5 7 8 9 10 12 14 15 -0 1 2 4 5 7 8 9 10 13 14 15 -0 1 2 4 5 7 8 9 11 12 13 14 -0 1 2 4 5 7 8 9 11 12 13 15 -0 1 2 4 5 7 8 9 11 12 14 15 -0 1 2 4 5 7 8 9 11 13 14 15 -0 1 2 4 5 7 8 9 12 13 14 15 -0 1 2 4 5 7 8 10 11 12 13 14 -0 1 2 4 5 7 8 10 11 12 13 15 -0 1 2 4 5 7 8 10 11 12 14 15 -0 1 2 4 5 7 8 10 11 13 14 15 -0 1 2 4 5 7 8 10 12 13 14 15 -0 1 2 4 5 7 8 11 12 13 14 15 -0 1 2 4 5 7 9 10 11 12 13 14 -0 1 2 4 5 7 9 10 11 12 13 15 -0 1 2 4 5 7 9 10 11 12 14 15 -0 1 2 4 5 7 9 10 11 13 14 15 -0 1 2 4 5 7 9 10 12 13 14 15 -0 1 2 4 5 7 9 11 12 13 14 15 -0 1 2 4 5 7 10 11 12 13 14 15 -0 1 2 4 5 8 9 10 11 12 13 14 -0 1 2 4 5 8 9 10 11 12 13 15 -0 1 2 4 5 8 9 10 11 12 14 15 -0 1 2 4 5 8 9 10 11 13 14 15 -0 1 2 4 5 8 9 10 12 13 14 15 -0 1 2 4 5 8 9 11 12 13 14 15 -0 1 2 4 5 8 10 11 12 13 14 15 -0 1 2 4 5 9 10 11 12 13 14 15 -0 1 2 4 6 7 8 9 10 11 12 13 -0 1 2 4 6 7 8 9 10 11 12 14 -0 1 2 4 6 7 8 9 10 11 12 15 -0 1 2 4 6 7 8 9 10 11 13 14 -0 1 2 4 6 7 8 9 10 11 13 15 -0 1 2 4 6 7 8 9 10 11 14 15 -0 1 2 4 6 7 8 9 10 12 13 14 -0 1 2 4 6 7 8 9 10 12 13 15 -0 1 2 4 6 7 8 9 10 12 14 15 -0 1 2 4 6 7 8 9 10 13 14 15 -0 1 2 4 6 7 8 9 11 12 13 14 -0 1 2 4 6 7 8 9 11 12 13 15 -0 1 2 4 6 7 8 9 11 12 14 15 -0 1 2 4 6 7 8 9 11 13 14 15 -0 1 2 4 6 7 8 9 12 13 14 15 -0 1 2 4 6 7 8 10 11 12 13 14 -0 1 2 4 6 7 8 10 11 12 13 15 -0 1 2 4 6 7 8 10 11 12 14 15 -0 1 2 4 6 7 8 10 11 13 14 15 -0 1 2 4 6 7 8 10 12 13 14 15 -0 1 2 4 6 7 8 11 12 13 14 15 -0 1 2 4 6 7 9 10 11 12 13 14 -0 1 2 4 6 7 9 10 11 12 13 15 -0 1 2 4 6 7 9 10 11 12 14 15 -0 1 2 4 6 7 9 10 11 13 14 15 -0 1 2 4 6 7 9 10 12 13 14 15 -0 1 2 4 6 7 9 11 12 13 14 15 -0 1 2 4 6 7 10 11 12 13 14 15 -0 1 2 4 6 8 9 10 11 12 13 14 -0 1 2 4 6 8 9 10 11 12 13 15 -0 1 2 4 6 8 9 10 11 12 14 15 -0 1 2 4 6 8 9 10 11 13 14 15 -0 1 2 4 6 8 9 10 12 13 14 15 -0 1 2 4 6 8 9 11 12 13 14 15 -0 1 2 4 6 8 10 11 12 13 14 15 -0 1 2 4 6 9 10 11 12 13 14 15 -0 1 2 4 7 8 9 10 11 12 13 14 -0 1 2 4 7 8 9 10 11 12 13 15 -0 1 2 4 7 8 9 10 11 12 14 15 -0 1 2 4 7 8 9 10 11 13 14 15 -0 1 2 4 7 8 9 10 12 13 14 15 -0 1 2 4 7 8 9 11 12 13 14 15 -0 1 2 4 7 8 10 11 12 13 14 15 -0 1 2 4 7 9 10 11 12 13 14 15 -0 1 2 4 8 9 10 11 12 13 14 15 -0 1 2 5 6 7 8 9 10 11 12 13 -0 1 2 5 6 7 8 9 10 11 12 14 -0 1 2 5 6 7 8 9 10 11 12 15 -0 1 2 5 6 7 8 9 10 11 13 14 -0 1 2 5 6 7 8 9 10 11 13 15 -0 1 2 5 6 7 8 9 10 11 14 15 -0 1 2 5 6 7 8 9 10 12 13 14 -0 1 2 5 6 7 8 9 10 12 13 15 -0 1 2 5 6 7 8 9 10 12 14 15 -0 1 2 5 6 7 8 9 10 13 14 15 -0 1 2 5 6 7 8 9 11 12 13 14 -0 1 2 5 6 7 8 9 11 12 13 15 -0 1 2 5 6 7 8 9 11 12 14 15 -0 1 2 5 6 7 8 9 11 13 14 15 -0 1 2 5 6 7 8 9 12 13 14 15 -0 1 2 5 6 7 8 10 11 12 13 14 -0 1 2 5 6 7 8 10 11 12 13 15 -0 1 2 5 6 7 8 10 11 12 14 15 -0 1 2 5 6 7 8 10 11 13 14 15 -0 1 2 5 6 7 8 10 12 13 14 15 -0 1 2 5 6 7 8 11 12 13 14 15 -0 1 2 5 6 7 9 10 11 12 13 14 -0 1 2 5 6 7 9 10 11 12 13 15 -0 1 2 5 6 7 9 10 11 12 14 15 -0 1 2 5 6 7 9 10 11 13 14 15 -0 1 2 5 6 7 9 10 12 13 14 15 -0 1 2 5 6 7 9 11 12 13 14 15 -0 1 2 5 6 7 10 11 12 13 14 15 -0 1 2 5 6 8 9 10 11 12 13 14 -0 1 2 5 6 8 9 10 11 12 13 15 -0 1 2 5 6 8 9 10 11 12 14 15 -0 1 2 5 6 8 9 10 11 13 14 15 -0 1 2 5 6 8 9 10 12 13 14 15 -0 1 2 5 6 8 9 11 12 13 14 15 -0 1 2 5 6 8 10 11 12 13 14 15 -0 1 2 5 6 9 10 11 12 13 14 15 -0 1 2 5 7 8 9 10 11 12 13 14 -0 1 2 5 7 8 9 10 11 12 13 15 -0 1 2 5 7 8 9 10 11 12 14 15 -0 1 2 5 7 8 9 10 11 13 14 15 -0 1 2 5 7 8 9 10 12 13 14 15 -0 1 2 5 7 8 9 11 12 13 14 15 -0 1 2 5 7 8 10 11 12 13 14 15 -0 1 2 5 7 9 10 11 12 13 14 15 -0 1 2 5 8 9 10 11 12 13 14 15 -0 1 2 6 7 8 9 10 11 12 13 14 -0 1 2 6 7 8 9 10 11 12 13 15 -0 1 2 6 7 8 9 10 11 12 14 15 -0 1 2 6 7 8 9 10 11 13 14 15 -0 1 2 6 7 8 9 10 12 13 14 15 -0 1 2 6 7 8 9 11 12 13 14 15 -0 1 2 6 7 8 10 11 12 13 14 15 -0 1 2 6 7 9 10 11 12 13 14 15 -0 1 2 6 8 9 10 11 12 13 14 15 -0 1 2 7 8 9 10 11 12 13 14 15 -0 1 3 4 5 6 7 8 9 10 11 12 -0 1 3 4 5 6 7 8 9 10 11 13 -0 1 3 4 5 6 7 8 9 10 11 14 -0 1 3 4 5 6 7 8 9 10 11 15 -0 1 3 4 5 6 7 8 9 10 12 13 -0 1 3 4 5 6 7 8 9 10 12 14 -0 1 3 4 5 6 7 8 9 10 12 15 -0 1 3 4 5 6 7 8 9 10 13 14 -0 1 3 4 5 6 7 8 9 10 13 15 -0 1 3 4 5 6 7 8 9 10 14 15 -0 1 3 4 5 6 7 8 9 11 12 13 -0 1 3 4 5 6 7 8 9 11 12 14 -0 1 3 4 5 6 7 8 9 11 12 15 -0 1 3 4 5 6 7 8 9 11 13 14 -0 1 3 4 5 6 7 8 9 11 13 15 -0 1 3 4 5 6 7 8 9 11 14 15 -0 1 3 4 5 6 7 8 9 12 13 14 -0 1 3 4 5 6 7 8 9 12 13 15 -0 1 3 4 5 6 7 8 9 12 14 15 -0 1 3 4 5 6 7 8 9 13 14 15 -0 1 3 4 5 6 7 8 10 11 12 13 -0 1 3 4 5 6 7 8 10 11 12 14 -0 1 3 4 5 6 7 8 10 11 12 15 -0 1 3 4 5 6 7 8 10 11 13 14 -0 1 3 4 5 6 7 8 10 11 13 15 -0 1 3 4 5 6 7 8 10 11 14 15 -0 1 3 4 5 6 7 8 10 12 13 14 -0 1 3 4 5 6 7 8 10 12 13 15 -0 1 3 4 5 6 7 8 10 12 14 15 -0 1 3 4 5 6 7 8 10 13 14 15 -0 1 3 4 5 6 7 8 11 12 13 14 -0 1 3 4 5 6 7 8 11 12 13 15 -0 1 3 4 5 6 7 8 11 12 14 15 -0 1 3 4 5 6 7 8 11 13 14 15 -0 1 3 4 5 6 7 8 12 13 14 15 -0 1 3 4 5 6 7 9 10 11 12 13 -0 1 3 4 5 6 7 9 10 11 12 14 -0 1 3 4 5 6 7 9 10 11 12 15 -0 1 3 4 5 6 7 9 10 11 13 14 -0 1 3 4 5 6 7 9 10 11 13 15 -0 1 3 4 5 6 7 9 10 11 14 15 -0 1 3 4 5 6 7 9 10 12 13 14 -0 1 3 4 5 6 7 9 10 12 13 15 -0 1 3 4 5 6 7 9 10 12 14 15 -0 1 3 4 5 6 7 9 10 13 14 15 -0 1 3 4 5 6 7 9 11 12 13 14 -0 1 3 4 5 6 7 9 11 12 13 15 -0 1 3 4 5 6 7 9 11 12 14 15 -0 1 3 4 5 6 7 9 11 13 14 15 -0 1 3 4 5 6 7 9 12 13 14 15 -0 1 3 4 5 6 7 10 11 12 13 14 -0 1 3 4 5 6 7 10 11 12 13 15 -0 1 3 4 5 6 7 10 11 12 14 15 -0 1 3 4 5 6 7 10 11 13 14 15 -0 1 3 4 5 6 7 10 12 13 14 15 -0 1 3 4 5 6 7 11 12 13 14 15 -0 1 3 4 5 6 8 9 10 11 12 13 -0 1 3 4 5 6 8 9 10 11 12 14 -0 1 3 4 5 6 8 9 10 11 12 15 -0 1 3 4 5 6 8 9 10 11 13 14 -0 1 3 4 5 6 8 9 10 11 13 15 -0 1 3 4 5 6 8 9 10 11 14 15 -0 1 3 4 5 6 8 9 10 12 13 14 -0 1 3 4 5 6 8 9 10 12 13 15 -0 1 3 4 5 6 8 9 10 12 14 15 -0 1 3 4 5 6 8 9 10 13 14 15 -0 1 3 4 5 6 8 9 11 12 13 14 -0 1 3 4 5 6 8 9 11 12 13 15 -0 1 3 4 5 6 8 9 11 12 14 15 -0 1 3 4 5 6 8 9 11 13 14 15 -0 1 3 4 5 6 8 9 12 13 14 15 -0 1 3 4 5 6 8 10 11 12 13 14 -0 1 3 4 5 6 8 10 11 12 13 15 -0 1 3 4 5 6 8 10 11 12 14 15 -0 1 3 4 5 6 8 10 11 13 14 15 -0 1 3 4 5 6 8 10 12 13 14 15 -0 1 3 4 5 6 8 11 12 13 14 15 -0 1 3 4 5 6 9 10 11 12 13 14 -0 1 3 4 5 6 9 10 11 12 13 15 -0 1 3 4 5 6 9 10 11 12 14 15 -0 1 3 4 5 6 9 10 11 13 14 15 -0 1 3 4 5 6 9 10 12 13 14 15 -0 1 3 4 5 6 9 11 12 13 14 15 -0 1 3 4 5 6 10 11 12 13 14 15 -0 1 3 4 5 7 8 9 10 11 12 13 -0 1 3 4 5 7 8 9 10 11 12 14 -0 1 3 4 5 7 8 9 10 11 12 15 -0 1 3 4 5 7 8 9 10 11 13 14 -0 1 3 4 5 7 8 9 10 11 13 15 -0 1 3 4 5 7 8 9 10 11 14 15 -0 1 3 4 5 7 8 9 10 12 13 14 -0 1 3 4 5 7 8 9 10 12 13 15 -0 1 3 4 5 7 8 9 10 12 14 15 -0 1 3 4 5 7 8 9 10 13 14 15 -0 1 3 4 5 7 8 9 11 12 13 14 -0 1 3 4 5 7 8 9 11 12 13 15 -0 1 3 4 5 7 8 9 11 12 14 15 -0 1 3 4 5 7 8 9 11 13 14 15 -0 1 3 4 5 7 8 9 12 13 14 15 -0 1 3 4 5 7 8 10 11 12 13 14 -0 1 3 4 5 7 8 10 11 12 13 15 -0 1 3 4 5 7 8 10 11 12 14 15 -0 1 3 4 5 7 8 10 11 13 14 15 -0 1 3 4 5 7 8 10 12 13 14 15 -0 1 3 4 5 7 8 11 12 13 14 15 -0 1 3 4 5 7 9 10 11 12 13 14 -0 1 3 4 5 7 9 10 11 12 13 15 -0 1 3 4 5 7 9 10 11 12 14 15 -0 1 3 4 5 7 9 10 11 13 14 15 -0 1 3 4 5 7 9 10 12 13 14 15 -0 1 3 4 5 7 9 11 12 13 14 15 -0 1 3 4 5 7 10 11 12 13 14 15 -0 1 3 4 5 8 9 10 11 12 13 14 -0 1 3 4 5 8 9 10 11 12 13 15 -0 1 3 4 5 8 9 10 11 12 14 15 -0 1 3 4 5 8 9 10 11 13 14 15 -0 1 3 4 5 8 9 10 12 13 14 15 -0 1 3 4 5 8 9 11 12 13 14 15 -0 1 3 4 5 8 10 11 12 13 14 15 -0 1 3 4 5 9 10 11 12 13 14 15 -0 1 3 4 6 7 8 9 10 11 12 13 -0 1 3 4 6 7 8 9 10 11 12 14 -0 1 3 4 6 7 8 9 10 11 12 15 -0 1 3 4 6 7 8 9 10 11 13 14 -0 1 3 4 6 7 8 9 10 11 13 15 -0 1 3 4 6 7 8 9 10 11 14 15 -0 1 3 4 6 7 8 9 10 12 13 14 -0 1 3 4 6 7 8 9 10 12 13 15 -0 1 3 4 6 7 8 9 10 12 14 15 -0 1 3 4 6 7 8 9 10 13 14 15 -0 1 3 4 6 7 8 9 11 12 13 14 -0 1 3 4 6 7 8 9 11 12 13 15 -0 1 3 4 6 7 8 9 11 12 14 15 -0 1 3 4 6 7 8 9 11 13 14 15 -0 1 3 4 6 7 8 9 12 13 14 15 -0 1 3 4 6 7 8 10 11 12 13 14 -0 1 3 4 6 7 8 10 11 12 13 15 -0 1 3 4 6 7 8 10 11 12 14 15 -0 1 3 4 6 7 8 10 11 13 14 15 -0 1 3 4 6 7 8 10 12 13 14 15 -0 1 3 4 6 7 8 11 12 13 14 15 -0 1 3 4 6 7 9 10 11 12 13 14 -0 1 3 4 6 7 9 10 11 12 13 15 -0 1 3 4 6 7 9 10 11 12 14 15 -0 1 3 4 6 7 9 10 11 13 14 15 -0 1 3 4 6 7 9 10 12 13 14 15 -0 1 3 4 6 7 9 11 12 13 14 15 -0 1 3 4 6 7 10 11 12 13 14 15 -0 1 3 4 6 8 9 10 11 12 13 14 -0 1 3 4 6 8 9 10 11 12 13 15 -0 1 3 4 6 8 9 10 11 12 14 15 -0 1 3 4 6 8 9 10 11 13 14 15 -0 1 3 4 6 8 9 10 12 13 14 15 -0 1 3 4 6 8 9 11 12 13 14 15 -0 1 3 4 6 8 10 11 12 13 14 15 -0 1 3 4 6 9 10 11 12 13 14 15 -0 1 3 4 7 8 9 10 11 12 13 14 -0 1 3 4 7 8 9 10 11 12 13 15 -0 1 3 4 7 8 9 10 11 12 14 15 -0 1 3 4 7 8 9 10 11 13 14 15 -0 1 3 4 7 8 9 10 12 13 14 15 -0 1 3 4 7 8 9 11 12 13 14 15 -0 1 3 4 7 8 10 11 12 13 14 15 -0 1 3 4 7 9 10 11 12 13 14 15 -0 1 3 4 8 9 10 11 12 13 14 15 -0 1 3 5 6 7 8 9 10 11 12 13 -0 1 3 5 6 7 8 9 10 11 12 14 -0 1 3 5 6 7 8 9 10 11 12 15 -0 1 3 5 6 7 8 9 10 11 13 14 -0 1 3 5 6 7 8 9 10 11 13 15 -0 1 3 5 6 7 8 9 10 11 14 15 -0 1 3 5 6 7 8 9 10 12 13 14 -0 1 3 5 6 7 8 9 10 12 13 15 -0 1 3 5 6 7 8 9 10 12 14 15 -0 1 3 5 6 7 8 9 10 13 14 15 -0 1 3 5 6 7 8 9 11 12 13 14 -0 1 3 5 6 7 8 9 11 12 13 15 -0 1 3 5 6 7 8 9 11 12 14 15 -0 1 3 5 6 7 8 9 11 13 14 15 -0 1 3 5 6 7 8 9 12 13 14 15 -0 1 3 5 6 7 8 10 11 12 13 14 -0 1 3 5 6 7 8 10 11 12 13 15 -0 1 3 5 6 7 8 10 11 12 14 15 -0 1 3 5 6 7 8 10 11 13 14 15 -0 1 3 5 6 7 8 10 12 13 14 15 -0 1 3 5 6 7 8 11 12 13 14 15 -0 1 3 5 6 7 9 10 11 12 13 14 -0 1 3 5 6 7 9 10 11 12 13 15 -0 1 3 5 6 7 9 10 11 12 14 15 -0 1 3 5 6 7 9 10 11 13 14 15 -0 1 3 5 6 7 9 10 12 13 14 15 -0 1 3 5 6 7 9 11 12 13 14 15 -0 1 3 5 6 7 10 11 12 13 14 15 -0 1 3 5 6 8 9 10 11 12 13 14 -0 1 3 5 6 8 9 10 11 12 13 15 -0 1 3 5 6 8 9 10 11 12 14 15 -0 1 3 5 6 8 9 10 11 13 14 15 -0 1 3 5 6 8 9 10 12 13 14 15 -0 1 3 5 6 8 9 11 12 13 14 15 -0 1 3 5 6 8 10 11 12 13 14 15 -0 1 3 5 6 9 10 11 12 13 14 15 -0 1 3 5 7 8 9 10 11 12 13 14 -0 1 3 5 7 8 9 10 11 12 13 15 -0 1 3 5 7 8 9 10 11 12 14 15 -0 1 3 5 7 8 9 10 11 13 14 15 -0 1 3 5 7 8 9 10 12 13 14 15 -0 1 3 5 7 8 9 11 12 13 14 15 -0 1 3 5 7 8 10 11 12 13 14 15 -0 1 3 5 7 9 10 11 12 13 14 15 -0 1 3 5 8 9 10 11 12 13 14 15 -0 1 3 6 7 8 9 10 11 12 13 14 -0 1 3 6 7 8 9 10 11 12 13 15 -0 1 3 6 7 8 9 10 11 12 14 15 -0 1 3 6 7 8 9 10 11 13 14 15 -0 1 3 6 7 8 9 10 12 13 14 15 -0 1 3 6 7 8 9 11 12 13 14 15 -0 1 3 6 7 8 10 11 12 13 14 15 -0 1 3 6 7 9 10 11 12 13 14 15 -0 1 3 6 8 9 10 11 12 13 14 15 -0 1 3 7 8 9 10 11 12 13 14 15 -0 1 4 5 6 7 8 9 10 11 12 13 -0 1 4 5 6 7 8 9 10 11 12 14 -0 1 4 5 6 7 8 9 10 11 12 15 -0 1 4 5 6 7 8 9 10 11 13 14 -0 1 4 5 6 7 8 9 10 11 13 15 -0 1 4 5 6 7 8 9 10 11 14 15 -0 1 4 5 6 7 8 9 10 12 13 14 -0 1 4 5 6 7 8 9 10 12 13 15 -0 1 4 5 6 7 8 9 10 12 14 15 -0 1 4 5 6 7 8 9 10 13 14 15 -0 1 4 5 6 7 8 9 11 12 13 14 -0 1 4 5 6 7 8 9 11 12 13 15 -0 1 4 5 6 7 8 9 11 12 14 15 -0 1 4 5 6 7 8 9 11 13 14 15 -0 1 4 5 6 7 8 9 12 13 14 15 -0 1 4 5 6 7 8 10 11 12 13 14 -0 1 4 5 6 7 8 10 11 12 13 15 -0 1 4 5 6 7 8 10 11 12 14 15 -0 1 4 5 6 7 8 10 11 13 14 15 -0 1 4 5 6 7 8 10 12 13 14 15 -0 1 4 5 6 7 8 11 12 13 14 15 -0 1 4 5 6 7 9 10 11 12 13 14 -0 1 4 5 6 7 9 10 11 12 13 15 -0 1 4 5 6 7 9 10 11 12 14 15 -0 1 4 5 6 7 9 10 11 13 14 15 -0 1 4 5 6 7 9 10 12 13 14 15 -0 1 4 5 6 7 9 11 12 13 14 15 -0 1 4 5 6 7 10 11 12 13 14 15 -0 1 4 5 6 8 9 10 11 12 13 14 -0 1 4 5 6 8 9 10 11 12 13 15 -0 1 4 5 6 8 9 10 11 12 14 15 -0 1 4 5 6 8 9 10 11 13 14 15 -0 1 4 5 6 8 9 10 12 13 14 15 -0 1 4 5 6 8 9 11 12 13 14 15 -0 1 4 5 6 8 10 11 12 13 14 15 -0 1 4 5 6 9 10 11 12 13 14 15 -0 1 4 5 7 8 9 10 11 12 13 14 -0 1 4 5 7 8 9 10 11 12 13 15 -0 1 4 5 7 8 9 10 11 12 14 15 -0 1 4 5 7 8 9 10 11 13 14 15 -0 1 4 5 7 8 9 10 12 13 14 15 -0 1 4 5 7 8 9 11 12 13 14 15 -0 1 4 5 7 8 10 11 12 13 14 15 -0 1 4 5 7 9 10 11 12 13 14 15 -0 1 4 5 8 9 10 11 12 13 14 15 -0 1 4 6 7 8 9 10 11 12 13 14 -0 1 4 6 7 8 9 10 11 12 13 15 -0 1 4 6 7 8 9 10 11 12 14 15 -0 1 4 6 7 8 9 10 11 13 14 15 -0 1 4 6 7 8 9 10 12 13 14 15 -0 1 4 6 7 8 9 11 12 13 14 15 -0 1 4 6 7 8 10 11 12 13 14 15 -0 1 4 6 7 9 10 11 12 13 14 15 -0 1 4 6 8 9 10 11 12 13 14 15 -0 1 4 7 8 9 10 11 12 13 14 15 -0 1 5 6 7 8 9 10 11 12 13 14 -0 1 5 6 7 8 9 10 11 12 13 15 -0 1 5 6 7 8 9 10 11 12 14 15 -0 1 5 6 7 8 9 10 11 13 14 15 -0 1 5 6 7 8 9 10 12 13 14 15 -0 1 5 6 7 8 9 11 12 13 14 15 -0 1 5 6 7 8 10 11 12 13 14 15 -0 1 5 6 7 9 10 11 12 13 14 15 -0 1 5 6 8 9 10 11 12 13 14 15 -0 1 5 7 8 9 10 11 12 13 14 15 -0 1 6 7 8 9 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 9 10 11 12 -0 2 3 4 5 6 7 8 9 10 11 13 -0 2 3 4 5 6 7 8 9 10 11 14 -0 2 3 4 5 6 7 8 9 10 11 15 -0 2 3 4 5 6 7 8 9 10 12 13 -0 2 3 4 5 6 7 8 9 10 12 14 -0 2 3 4 5 6 7 8 9 10 12 15 -0 2 3 4 5 6 7 8 9 10 13 14 -0 2 3 4 5 6 7 8 9 10 13 15 -0 2 3 4 5 6 7 8 9 10 14 15 -0 2 3 4 5 6 7 8 9 11 12 13 -0 2 3 4 5 6 7 8 9 11 12 14 -0 2 3 4 5 6 7 8 9 11 12 15 -0 2 3 4 5 6 7 8 9 11 13 14 -0 2 3 4 5 6 7 8 9 11 13 15 -0 2 3 4 5 6 7 8 9 11 14 15 -0 2 3 4 5 6 7 8 9 12 13 14 -0 2 3 4 5 6 7 8 9 12 13 15 -0 2 3 4 5 6 7 8 9 12 14 15 -0 2 3 4 5 6 7 8 9 13 14 15 -0 2 3 4 5 6 7 8 10 11 12 13 -0 2 3 4 5 6 7 8 10 11 12 14 -0 2 3 4 5 6 7 8 10 11 12 15 -0 2 3 4 5 6 7 8 10 11 13 14 -0 2 3 4 5 6 7 8 10 11 13 15 -0 2 3 4 5 6 7 8 10 11 14 15 -0 2 3 4 5 6 7 8 10 12 13 14 -0 2 3 4 5 6 7 8 10 12 13 15 -0 2 3 4 5 6 7 8 10 12 14 15 -0 2 3 4 5 6 7 8 10 13 14 15 -0 2 3 4 5 6 7 8 11 12 13 14 -0 2 3 4 5 6 7 8 11 12 13 15 -0 2 3 4 5 6 7 8 11 12 14 15 -0 2 3 4 5 6 7 8 11 13 14 15 -0 2 3 4 5 6 7 8 12 13 14 15 -0 2 3 4 5 6 7 9 10 11 12 13 -0 2 3 4 5 6 7 9 10 11 12 14 -0 2 3 4 5 6 7 9 10 11 12 15 -0 2 3 4 5 6 7 9 10 11 13 14 -0 2 3 4 5 6 7 9 10 11 13 15 -0 2 3 4 5 6 7 9 10 11 14 15 -0 2 3 4 5 6 7 9 10 12 13 14 -0 2 3 4 5 6 7 9 10 12 13 15 -0 2 3 4 5 6 7 9 10 12 14 15 -0 2 3 4 5 6 7 9 10 13 14 15 -0 2 3 4 5 6 7 9 11 12 13 14 -0 2 3 4 5 6 7 9 11 12 13 15 -0 2 3 4 5 6 7 9 11 12 14 15 -0 2 3 4 5 6 7 9 11 13 14 15 -0 2 3 4 5 6 7 9 12 13 14 15 -0 2 3 4 5 6 7 10 11 12 13 14 -0 2 3 4 5 6 7 10 11 12 13 15 -0 2 3 4 5 6 7 10 11 12 14 15 -0 2 3 4 5 6 7 10 11 13 14 15 -0 2 3 4 5 6 7 10 12 13 14 15 -0 2 3 4 5 6 7 11 12 13 14 15 -0 2 3 4 5 6 8 9 10 11 12 13 -0 2 3 4 5 6 8 9 10 11 12 14 -0 2 3 4 5 6 8 9 10 11 12 15 -0 2 3 4 5 6 8 9 10 11 13 14 -0 2 3 4 5 6 8 9 10 11 13 15 -0 2 3 4 5 6 8 9 10 11 14 15 -0 2 3 4 5 6 8 9 10 12 13 14 -0 2 3 4 5 6 8 9 10 12 13 15 -0 2 3 4 5 6 8 9 10 12 14 15 -0 2 3 4 5 6 8 9 10 13 14 15 -0 2 3 4 5 6 8 9 11 12 13 14 -0 2 3 4 5 6 8 9 11 12 13 15 -0 2 3 4 5 6 8 9 11 12 14 15 -0 2 3 4 5 6 8 9 11 13 14 15 -0 2 3 4 5 6 8 9 12 13 14 15 -0 2 3 4 5 6 8 10 11 12 13 14 -0 2 3 4 5 6 8 10 11 12 13 15 -0 2 3 4 5 6 8 10 11 12 14 15 -0 2 3 4 5 6 8 10 11 13 14 15 -0 2 3 4 5 6 8 10 12 13 14 15 -0 2 3 4 5 6 8 11 12 13 14 15 -0 2 3 4 5 6 9 10 11 12 13 14 -0 2 3 4 5 6 9 10 11 12 13 15 -0 2 3 4 5 6 9 10 11 12 14 15 -0 2 3 4 5 6 9 10 11 13 14 15 -0 2 3 4 5 6 9 10 12 13 14 15 -0 2 3 4 5 6 9 11 12 13 14 15 -0 2 3 4 5 6 10 11 12 13 14 15 -0 2 3 4 5 7 8 9 10 11 12 13 -0 2 3 4 5 7 8 9 10 11 12 14 -0 2 3 4 5 7 8 9 10 11 12 15 -0 2 3 4 5 7 8 9 10 11 13 14 -0 2 3 4 5 7 8 9 10 11 13 15 -0 2 3 4 5 7 8 9 10 11 14 15 -0 2 3 4 5 7 8 9 10 12 13 14 -0 2 3 4 5 7 8 9 10 12 13 15 -0 2 3 4 5 7 8 9 10 12 14 15 -0 2 3 4 5 7 8 9 10 13 14 15 -0 2 3 4 5 7 8 9 11 12 13 14 -0 2 3 4 5 7 8 9 11 12 13 15 -0 2 3 4 5 7 8 9 11 12 14 15 -0 2 3 4 5 7 8 9 11 13 14 15 -0 2 3 4 5 7 8 9 12 13 14 15 -0 2 3 4 5 7 8 10 11 12 13 14 -0 2 3 4 5 7 8 10 11 12 13 15 -0 2 3 4 5 7 8 10 11 12 14 15 -0 2 3 4 5 7 8 10 11 13 14 15 -0 2 3 4 5 7 8 10 12 13 14 15 -0 2 3 4 5 7 8 11 12 13 14 15 -0 2 3 4 5 7 9 10 11 12 13 14 -0 2 3 4 5 7 9 10 11 12 13 15 -0 2 3 4 5 7 9 10 11 12 14 15 -0 2 3 4 5 7 9 10 11 13 14 15 -0 2 3 4 5 7 9 10 12 13 14 15 -0 2 3 4 5 7 9 11 12 13 14 15 -0 2 3 4 5 7 10 11 12 13 14 15 -0 2 3 4 5 8 9 10 11 12 13 14 -0 2 3 4 5 8 9 10 11 12 13 15 -0 2 3 4 5 8 9 10 11 12 14 15 -0 2 3 4 5 8 9 10 11 13 14 15 -0 2 3 4 5 8 9 10 12 13 14 15 -0 2 3 4 5 8 9 11 12 13 14 15 -0 2 3 4 5 8 10 11 12 13 14 15 -0 2 3 4 5 9 10 11 12 13 14 15 -0 2 3 4 6 7 8 9 10 11 12 13 -0 2 3 4 6 7 8 9 10 11 12 14 -0 2 3 4 6 7 8 9 10 11 12 15 -0 2 3 4 6 7 8 9 10 11 13 14 -0 2 3 4 6 7 8 9 10 11 13 15 -0 2 3 4 6 7 8 9 10 11 14 15 -0 2 3 4 6 7 8 9 10 12 13 14 -0 2 3 4 6 7 8 9 10 12 13 15 -0 2 3 4 6 7 8 9 10 12 14 15 -0 2 3 4 6 7 8 9 10 13 14 15 -0 2 3 4 6 7 8 9 11 12 13 14 -0 2 3 4 6 7 8 9 11 12 13 15 -0 2 3 4 6 7 8 9 11 12 14 15 -0 2 3 4 6 7 8 9 11 13 14 15 -0 2 3 4 6 7 8 9 12 13 14 15 -0 2 3 4 6 7 8 10 11 12 13 14 -0 2 3 4 6 7 8 10 11 12 13 15 -0 2 3 4 6 7 8 10 11 12 14 15 -0 2 3 4 6 7 8 10 11 13 14 15 -0 2 3 4 6 7 8 10 12 13 14 15 -0 2 3 4 6 7 8 11 12 13 14 15 -0 2 3 4 6 7 9 10 11 12 13 14 -0 2 3 4 6 7 9 10 11 12 13 15 -0 2 3 4 6 7 9 10 11 12 14 15 -0 2 3 4 6 7 9 10 11 13 14 15 -0 2 3 4 6 7 9 10 12 13 14 15 -0 2 3 4 6 7 9 11 12 13 14 15 -0 2 3 4 6 7 10 11 12 13 14 15 -0 2 3 4 6 8 9 10 11 12 13 14 -0 2 3 4 6 8 9 10 11 12 13 15 -0 2 3 4 6 8 9 10 11 12 14 15 -0 2 3 4 6 8 9 10 11 13 14 15 -0 2 3 4 6 8 9 10 12 13 14 15 -0 2 3 4 6 8 9 11 12 13 14 15 -0 2 3 4 6 8 10 11 12 13 14 15 -0 2 3 4 6 9 10 11 12 13 14 15 -0 2 3 4 7 8 9 10 11 12 13 14 -0 2 3 4 7 8 9 10 11 12 13 15 -0 2 3 4 7 8 9 10 11 12 14 15 -0 2 3 4 7 8 9 10 11 13 14 15 -0 2 3 4 7 8 9 10 12 13 14 15 -0 2 3 4 7 8 9 11 12 13 14 15 -0 2 3 4 7 8 10 11 12 13 14 15 -0 2 3 4 7 9 10 11 12 13 14 15 -0 2 3 4 8 9 10 11 12 13 14 15 -0 2 3 5 6 7 8 9 10 11 12 13 -0 2 3 5 6 7 8 9 10 11 12 14 -0 2 3 5 6 7 8 9 10 11 12 15 -0 2 3 5 6 7 8 9 10 11 13 14 -0 2 3 5 6 7 8 9 10 11 13 15 -0 2 3 5 6 7 8 9 10 11 14 15 -0 2 3 5 6 7 8 9 10 12 13 14 -0 2 3 5 6 7 8 9 10 12 13 15 -0 2 3 5 6 7 8 9 10 12 14 15 -0 2 3 5 6 7 8 9 10 13 14 15 -0 2 3 5 6 7 8 9 11 12 13 14 -0 2 3 5 6 7 8 9 11 12 13 15 -0 2 3 5 6 7 8 9 11 12 14 15 -0 2 3 5 6 7 8 9 11 13 14 15 -0 2 3 5 6 7 8 9 12 13 14 15 -0 2 3 5 6 7 8 10 11 12 13 14 -0 2 3 5 6 7 8 10 11 12 13 15 -0 2 3 5 6 7 8 10 11 12 14 15 -0 2 3 5 6 7 8 10 11 13 14 15 -0 2 3 5 6 7 8 10 12 13 14 15 -0 2 3 5 6 7 8 11 12 13 14 15 -0 2 3 5 6 7 9 10 11 12 13 14 -0 2 3 5 6 7 9 10 11 12 13 15 -0 2 3 5 6 7 9 10 11 12 14 15 -0 2 3 5 6 7 9 10 11 13 14 15 -0 2 3 5 6 7 9 10 12 13 14 15 -0 2 3 5 6 7 9 11 12 13 14 15 -0 2 3 5 6 7 10 11 12 13 14 15 -0 2 3 5 6 8 9 10 11 12 13 14 -0 2 3 5 6 8 9 10 11 12 13 15 -0 2 3 5 6 8 9 10 11 12 14 15 -0 2 3 5 6 8 9 10 11 13 14 15 -0 2 3 5 6 8 9 10 12 13 14 15 -0 2 3 5 6 8 9 11 12 13 14 15 -0 2 3 5 6 8 10 11 12 13 14 15 -0 2 3 5 6 9 10 11 12 13 14 15 -0 2 3 5 7 8 9 10 11 12 13 14 -0 2 3 5 7 8 9 10 11 12 13 15 -0 2 3 5 7 8 9 10 11 12 14 15 -0 2 3 5 7 8 9 10 11 13 14 15 -0 2 3 5 7 8 9 10 12 13 14 15 -0 2 3 5 7 8 9 11 12 13 14 15 -0 2 3 5 7 8 10 11 12 13 14 15 -0 2 3 5 7 9 10 11 12 13 14 15 -0 2 3 5 8 9 10 11 12 13 14 15 -0 2 3 6 7 8 9 10 11 12 13 14 -0 2 3 6 7 8 9 10 11 12 13 15 -0 2 3 6 7 8 9 10 11 12 14 15 -0 2 3 6 7 8 9 10 11 13 14 15 -0 2 3 6 7 8 9 10 12 13 14 15 -0 2 3 6 7 8 9 11 12 13 14 15 -0 2 3 6 7 8 10 11 12 13 14 15 -0 2 3 6 7 9 10 11 12 13 14 15 -0 2 3 6 8 9 10 11 12 13 14 15 -0 2 3 7 8 9 10 11 12 13 14 15 -0 2 4 5 6 7 8 9 10 11 12 13 -0 2 4 5 6 7 8 9 10 11 12 14 -0 2 4 5 6 7 8 9 10 11 12 15 -0 2 4 5 6 7 8 9 10 11 13 14 -0 2 4 5 6 7 8 9 10 11 13 15 -0 2 4 5 6 7 8 9 10 11 14 15 -0 2 4 5 6 7 8 9 10 12 13 14 -0 2 4 5 6 7 8 9 10 12 13 15 -0 2 4 5 6 7 8 9 10 12 14 15 -0 2 4 5 6 7 8 9 10 13 14 15 -0 2 4 5 6 7 8 9 11 12 13 14 -0 2 4 5 6 7 8 9 11 12 13 15 -0 2 4 5 6 7 8 9 11 12 14 15 -0 2 4 5 6 7 8 9 11 13 14 15 -0 2 4 5 6 7 8 9 12 13 14 15 -0 2 4 5 6 7 8 10 11 12 13 14 -0 2 4 5 6 7 8 10 11 12 13 15 -0 2 4 5 6 7 8 10 11 12 14 15 -0 2 4 5 6 7 8 10 11 13 14 15 -0 2 4 5 6 7 8 10 12 13 14 15 -0 2 4 5 6 7 8 11 12 13 14 15 -0 2 4 5 6 7 9 10 11 12 13 14 -0 2 4 5 6 7 9 10 11 12 13 15 -0 2 4 5 6 7 9 10 11 12 14 15 -0 2 4 5 6 7 9 10 11 13 14 15 -0 2 4 5 6 7 9 10 12 13 14 15 -0 2 4 5 6 7 9 11 12 13 14 15 -0 2 4 5 6 7 10 11 12 13 14 15 -0 2 4 5 6 8 9 10 11 12 13 14 -0 2 4 5 6 8 9 10 11 12 13 15 -0 2 4 5 6 8 9 10 11 12 14 15 -0 2 4 5 6 8 9 10 11 13 14 15 -0 2 4 5 6 8 9 10 12 13 14 15 -0 2 4 5 6 8 9 11 12 13 14 15 -0 2 4 5 6 8 10 11 12 13 14 15 -0 2 4 5 6 9 10 11 12 13 14 15 -0 2 4 5 7 8 9 10 11 12 13 14 -0 2 4 5 7 8 9 10 11 12 13 15 -0 2 4 5 7 8 9 10 11 12 14 15 -0 2 4 5 7 8 9 10 11 13 14 15 -0 2 4 5 7 8 9 10 12 13 14 15 -0 2 4 5 7 8 9 11 12 13 14 15 -0 2 4 5 7 8 10 11 12 13 14 15 -0 2 4 5 7 9 10 11 12 13 14 15 -0 2 4 5 8 9 10 11 12 13 14 15 -0 2 4 6 7 8 9 10 11 12 13 14 -0 2 4 6 7 8 9 10 11 12 13 15 -0 2 4 6 7 8 9 10 11 12 14 15 -0 2 4 6 7 8 9 10 11 13 14 15 -0 2 4 6 7 8 9 10 12 13 14 15 -0 2 4 6 7 8 9 11 12 13 14 15 -0 2 4 6 7 8 10 11 12 13 14 15 -0 2 4 6 7 9 10 11 12 13 14 15 -0 2 4 6 8 9 10 11 12 13 14 15 -0 2 4 7 8 9 10 11 12 13 14 15 -0 2 5 6 7 8 9 10 11 12 13 14 -0 2 5 6 7 8 9 10 11 12 13 15 -0 2 5 6 7 8 9 10 11 12 14 15 -0 2 5 6 7 8 9 10 11 13 14 15 -0 2 5 6 7 8 9 10 12 13 14 15 -0 2 5 6 7 8 9 11 12 13 14 15 -0 2 5 6 7 8 10 11 12 13 14 15 -0 2 5 6 7 9 10 11 12 13 14 15 -0 2 5 6 8 9 10 11 12 13 14 15 -0 2 5 7 8 9 10 11 12 13 14 15 -0 2 6 7 8 9 10 11 12 13 14 15 -0 3 4 5 6 7 8 9 10 11 12 13 -0 3 4 5 6 7 8 9 10 11 12 14 -0 3 4 5 6 7 8 9 10 11 12 15 -0 3 4 5 6 7 8 9 10 11 13 14 -0 3 4 5 6 7 8 9 10 11 13 15 -0 3 4 5 6 7 8 9 10 11 14 15 -0 3 4 5 6 7 8 9 10 12 13 14 -0 3 4 5 6 7 8 9 10 12 13 15 -0 3 4 5 6 7 8 9 10 12 14 15 -0 3 4 5 6 7 8 9 10 13 14 15 -0 3 4 5 6 7 8 9 11 12 13 14 -0 3 4 5 6 7 8 9 11 12 13 15 -0 3 4 5 6 7 8 9 11 12 14 15 -0 3 4 5 6 7 8 9 11 13 14 15 -0 3 4 5 6 7 8 9 12 13 14 15 -0 3 4 5 6 7 8 10 11 12 13 14 -0 3 4 5 6 7 8 10 11 12 13 15 -0 3 4 5 6 7 8 10 11 12 14 15 -0 3 4 5 6 7 8 10 11 13 14 15 -0 3 4 5 6 7 8 10 12 13 14 15 -0 3 4 5 6 7 8 11 12 13 14 15 -0 3 4 5 6 7 9 10 11 12 13 14 -0 3 4 5 6 7 9 10 11 12 13 15 -0 3 4 5 6 7 9 10 11 12 14 15 -0 3 4 5 6 7 9 10 11 13 14 15 -0 3 4 5 6 7 9 10 12 13 14 15 -0 3 4 5 6 7 9 11 12 13 14 15 -0 3 4 5 6 7 10 11 12 13 14 15 -0 3 4 5 6 8 9 10 11 12 13 14 -0 3 4 5 6 8 9 10 11 12 13 15 -0 3 4 5 6 8 9 10 11 12 14 15 -0 3 4 5 6 8 9 10 11 13 14 15 -0 3 4 5 6 8 9 10 12 13 14 15 -0 3 4 5 6 8 9 11 12 13 14 15 -0 3 4 5 6 8 10 11 12 13 14 15 -0 3 4 5 6 9 10 11 12 13 14 15 -0 3 4 5 7 8 9 10 11 12 13 14 -0 3 4 5 7 8 9 10 11 12 13 15 -0 3 4 5 7 8 9 10 11 12 14 15 -0 3 4 5 7 8 9 10 11 13 14 15 -0 3 4 5 7 8 9 10 12 13 14 15 -0 3 4 5 7 8 9 11 12 13 14 15 -0 3 4 5 7 8 10 11 12 13 14 15 -0 3 4 5 7 9 10 11 12 13 14 15 -0 3 4 5 8 9 10 11 12 13 14 15 -0 3 4 6 7 8 9 10 11 12 13 14 -0 3 4 6 7 8 9 10 11 12 13 15 -0 3 4 6 7 8 9 10 11 12 14 15 -0 3 4 6 7 8 9 10 11 13 14 15 -0 3 4 6 7 8 9 10 12 13 14 15 -0 3 4 6 7 8 9 11 12 13 14 15 -0 3 4 6 7 8 10 11 12 13 14 15 -0 3 4 6 7 9 10 11 12 13 14 15 -0 3 4 6 8 9 10 11 12 13 14 15 -0 3 4 7 8 9 10 11 12 13 14 15 -0 3 5 6 7 8 9 10 11 12 13 14 -0 3 5 6 7 8 9 10 11 12 13 15 -0 3 5 6 7 8 9 10 11 12 14 15 -0 3 5 6 7 8 9 10 11 13 14 15 -0 3 5 6 7 8 9 10 12 13 14 15 -0 3 5 6 7 8 9 11 12 13 14 15 -0 3 5 6 7 8 10 11 12 13 14 15 -0 3 5 6 7 9 10 11 12 13 14 15 -0 3 5 6 8 9 10 11 12 13 14 15 -0 3 5 7 8 9 10 11 12 13 14 15 -0 3 6 7 8 9 10 11 12 13 14 15 -0 4 5 6 7 8 9 10 11 12 13 14 -0 4 5 6 7 8 9 10 11 12 13 15 -0 4 5 6 7 8 9 10 11 12 14 15 -0 4 5 6 7 8 9 10 11 13 14 15 -0 4 5 6 7 8 9 10 12 13 14 15 -0 4 5 6 7 8 9 11 12 13 14 15 -0 4 5 6 7 8 10 11 12 13 14 15 -0 4 5 6 7 9 10 11 12 13 14 15 -0 4 5 6 8 9 10 11 12 13 14 15 -0 4 5 7 8 9 10 11 12 13 14 15 -0 4 6 7 8 9 10 11 12 13 14 15 -0 5 6 7 8 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 9 10 11 12 -1 2 3 4 5 6 7 8 9 10 11 13 -1 2 3 4 5 6 7 8 9 10 11 14 -1 2 3 4 5 6 7 8 9 10 11 15 -1 2 3 4 5 6 7 8 9 10 12 13 -1 2 3 4 5 6 7 8 9 10 12 14 -1 2 3 4 5 6 7 8 9 10 12 15 -1 2 3 4 5 6 7 8 9 10 13 14 -1 2 3 4 5 6 7 8 9 10 13 15 -1 2 3 4 5 6 7 8 9 10 14 15 -1 2 3 4 5 6 7 8 9 11 12 13 -1 2 3 4 5 6 7 8 9 11 12 14 -1 2 3 4 5 6 7 8 9 11 12 15 -1 2 3 4 5 6 7 8 9 11 13 14 -1 2 3 4 5 6 7 8 9 11 13 15 -1 2 3 4 5 6 7 8 9 11 14 15 -1 2 3 4 5 6 7 8 9 12 13 14 -1 2 3 4 5 6 7 8 9 12 13 15 -1 2 3 4 5 6 7 8 9 12 14 15 -1 2 3 4 5 6 7 8 9 13 14 15 -1 2 3 4 5 6 7 8 10 11 12 13 -1 2 3 4 5 6 7 8 10 11 12 14 -1 2 3 4 5 6 7 8 10 11 12 15 -1 2 3 4 5 6 7 8 10 11 13 14 -1 2 3 4 5 6 7 8 10 11 13 15 -1 2 3 4 5 6 7 8 10 11 14 15 -1 2 3 4 5 6 7 8 10 12 13 14 -1 2 3 4 5 6 7 8 10 12 13 15 -1 2 3 4 5 6 7 8 10 12 14 15 -1 2 3 4 5 6 7 8 10 13 14 15 -1 2 3 4 5 6 7 8 11 12 13 14 -1 2 3 4 5 6 7 8 11 12 13 15 -1 2 3 4 5 6 7 8 11 12 14 15 -1 2 3 4 5 6 7 8 11 13 14 15 -1 2 3 4 5 6 7 8 12 13 14 15 -1 2 3 4 5 6 7 9 10 11 12 13 -1 2 3 4 5 6 7 9 10 11 12 14 -1 2 3 4 5 6 7 9 10 11 12 15 -1 2 3 4 5 6 7 9 10 11 13 14 -1 2 3 4 5 6 7 9 10 11 13 15 -1 2 3 4 5 6 7 9 10 11 14 15 -1 2 3 4 5 6 7 9 10 12 13 14 -1 2 3 4 5 6 7 9 10 12 13 15 -1 2 3 4 5 6 7 9 10 12 14 15 -1 2 3 4 5 6 7 9 10 13 14 15 -1 2 3 4 5 6 7 9 11 12 13 14 -1 2 3 4 5 6 7 9 11 12 13 15 -1 2 3 4 5 6 7 9 11 12 14 15 -1 2 3 4 5 6 7 9 11 13 14 15 -1 2 3 4 5 6 7 9 12 13 14 15 -1 2 3 4 5 6 7 10 11 12 13 14 -1 2 3 4 5 6 7 10 11 12 13 15 -1 2 3 4 5 6 7 10 11 12 14 15 -1 2 3 4 5 6 7 10 11 13 14 15 -1 2 3 4 5 6 7 10 12 13 14 15 -1 2 3 4 5 6 7 11 12 13 14 15 -1 2 3 4 5 6 8 9 10 11 12 13 -1 2 3 4 5 6 8 9 10 11 12 14 -1 2 3 4 5 6 8 9 10 11 12 15 -1 2 3 4 5 6 8 9 10 11 13 14 -1 2 3 4 5 6 8 9 10 11 13 15 -1 2 3 4 5 6 8 9 10 11 14 15 -1 2 3 4 5 6 8 9 10 12 13 14 -1 2 3 4 5 6 8 9 10 12 13 15 -1 2 3 4 5 6 8 9 10 12 14 15 -1 2 3 4 5 6 8 9 10 13 14 15 -1 2 3 4 5 6 8 9 11 12 13 14 -1 2 3 4 5 6 8 9 11 12 13 15 -1 2 3 4 5 6 8 9 11 12 14 15 -1 2 3 4 5 6 8 9 11 13 14 15 -1 2 3 4 5 6 8 9 12 13 14 15 -1 2 3 4 5 6 8 10 11 12 13 14 -1 2 3 4 5 6 8 10 11 12 13 15 -1 2 3 4 5 6 8 10 11 12 14 15 -1 2 3 4 5 6 8 10 11 13 14 15 -1 2 3 4 5 6 8 10 12 13 14 15 -1 2 3 4 5 6 8 11 12 13 14 15 -1 2 3 4 5 6 9 10 11 12 13 14 -1 2 3 4 5 6 9 10 11 12 13 15 -1 2 3 4 5 6 9 10 11 12 14 15 -1 2 3 4 5 6 9 10 11 13 14 15 -1 2 3 4 5 6 9 10 12 13 14 15 -1 2 3 4 5 6 9 11 12 13 14 15 -1 2 3 4 5 6 10 11 12 13 14 15 -1 2 3 4 5 7 8 9 10 11 12 13 -1 2 3 4 5 7 8 9 10 11 12 14 -1 2 3 4 5 7 8 9 10 11 12 15 -1 2 3 4 5 7 8 9 10 11 13 14 -1 2 3 4 5 7 8 9 10 11 13 15 -1 2 3 4 5 7 8 9 10 11 14 15 -1 2 3 4 5 7 8 9 10 12 13 14 -1 2 3 4 5 7 8 9 10 12 13 15 -1 2 3 4 5 7 8 9 10 12 14 15 -1 2 3 4 5 7 8 9 10 13 14 15 -1 2 3 4 5 7 8 9 11 12 13 14 -1 2 3 4 5 7 8 9 11 12 13 15 -1 2 3 4 5 7 8 9 11 12 14 15 -1 2 3 4 5 7 8 9 11 13 14 15 -1 2 3 4 5 7 8 9 12 13 14 15 -1 2 3 4 5 7 8 10 11 12 13 14 -1 2 3 4 5 7 8 10 11 12 13 15 -1 2 3 4 5 7 8 10 11 12 14 15 -1 2 3 4 5 7 8 10 11 13 14 15 -1 2 3 4 5 7 8 10 12 13 14 15 -1 2 3 4 5 7 8 11 12 13 14 15 -1 2 3 4 5 7 9 10 11 12 13 14 -1 2 3 4 5 7 9 10 11 12 13 15 -1 2 3 4 5 7 9 10 11 12 14 15 -1 2 3 4 5 7 9 10 11 13 14 15 -1 2 3 4 5 7 9 10 12 13 14 15 -1 2 3 4 5 7 9 11 12 13 14 15 -1 2 3 4 5 7 10 11 12 13 14 15 -1 2 3 4 5 8 9 10 11 12 13 14 -1 2 3 4 5 8 9 10 11 12 13 15 -1 2 3 4 5 8 9 10 11 12 14 15 -1 2 3 4 5 8 9 10 11 13 14 15 -1 2 3 4 5 8 9 10 12 13 14 15 -1 2 3 4 5 8 9 11 12 13 14 15 -1 2 3 4 5 8 10 11 12 13 14 15 -1 2 3 4 5 9 10 11 12 13 14 15 -1 2 3 4 6 7 8 9 10 11 12 13 -1 2 3 4 6 7 8 9 10 11 12 14 -1 2 3 4 6 7 8 9 10 11 12 15 -1 2 3 4 6 7 8 9 10 11 13 14 -1 2 3 4 6 7 8 9 10 11 13 15 -1 2 3 4 6 7 8 9 10 11 14 15 -1 2 3 4 6 7 8 9 10 12 13 14 -1 2 3 4 6 7 8 9 10 12 13 15 -1 2 3 4 6 7 8 9 10 12 14 15 -1 2 3 4 6 7 8 9 10 13 14 15 -1 2 3 4 6 7 8 9 11 12 13 14 -1 2 3 4 6 7 8 9 11 12 13 15 -1 2 3 4 6 7 8 9 11 12 14 15 -1 2 3 4 6 7 8 9 11 13 14 15 -1 2 3 4 6 7 8 9 12 13 14 15 -1 2 3 4 6 7 8 10 11 12 13 14 -1 2 3 4 6 7 8 10 11 12 13 15 -1 2 3 4 6 7 8 10 11 12 14 15 -1 2 3 4 6 7 8 10 11 13 14 15 -1 2 3 4 6 7 8 10 12 13 14 15 -1 2 3 4 6 7 8 11 12 13 14 15 -1 2 3 4 6 7 9 10 11 12 13 14 -1 2 3 4 6 7 9 10 11 12 13 15 -1 2 3 4 6 7 9 10 11 12 14 15 -1 2 3 4 6 7 9 10 11 13 14 15 -1 2 3 4 6 7 9 10 12 13 14 15 -1 2 3 4 6 7 9 11 12 13 14 15 -1 2 3 4 6 7 10 11 12 13 14 15 -1 2 3 4 6 8 9 10 11 12 13 14 -1 2 3 4 6 8 9 10 11 12 13 15 -1 2 3 4 6 8 9 10 11 12 14 15 -1 2 3 4 6 8 9 10 11 13 14 15 -1 2 3 4 6 8 9 10 12 13 14 15 -1 2 3 4 6 8 9 11 12 13 14 15 -1 2 3 4 6 8 10 11 12 13 14 15 -1 2 3 4 6 9 10 11 12 13 14 15 -1 2 3 4 7 8 9 10 11 12 13 14 -1 2 3 4 7 8 9 10 11 12 13 15 -1 2 3 4 7 8 9 10 11 12 14 15 -1 2 3 4 7 8 9 10 11 13 14 15 -1 2 3 4 7 8 9 10 12 13 14 15 -1 2 3 4 7 8 9 11 12 13 14 15 -1 2 3 4 7 8 10 11 12 13 14 15 -1 2 3 4 7 9 10 11 12 13 14 15 -1 2 3 4 8 9 10 11 12 13 14 15 -1 2 3 5 6 7 8 9 10 11 12 13 -1 2 3 5 6 7 8 9 10 11 12 14 -1 2 3 5 6 7 8 9 10 11 12 15 -1 2 3 5 6 7 8 9 10 11 13 14 -1 2 3 5 6 7 8 9 10 11 13 15 -1 2 3 5 6 7 8 9 10 11 14 15 -1 2 3 5 6 7 8 9 10 12 13 14 -1 2 3 5 6 7 8 9 10 12 13 15 -1 2 3 5 6 7 8 9 10 12 14 15 -1 2 3 5 6 7 8 9 10 13 14 15 -1 2 3 5 6 7 8 9 11 12 13 14 -1 2 3 5 6 7 8 9 11 12 13 15 -1 2 3 5 6 7 8 9 11 12 14 15 -1 2 3 5 6 7 8 9 11 13 14 15 -1 2 3 5 6 7 8 9 12 13 14 15 -1 2 3 5 6 7 8 10 11 12 13 14 -1 2 3 5 6 7 8 10 11 12 13 15 -1 2 3 5 6 7 8 10 11 12 14 15 -1 2 3 5 6 7 8 10 11 13 14 15 -1 2 3 5 6 7 8 10 12 13 14 15 -1 2 3 5 6 7 8 11 12 13 14 15 -1 2 3 5 6 7 9 10 11 12 13 14 -1 2 3 5 6 7 9 10 11 12 13 15 -1 2 3 5 6 7 9 10 11 12 14 15 -1 2 3 5 6 7 9 10 11 13 14 15 -1 2 3 5 6 7 9 10 12 13 14 15 -1 2 3 5 6 7 9 11 12 13 14 15 -1 2 3 5 6 7 10 11 12 13 14 15 -1 2 3 5 6 8 9 10 11 12 13 14 -1 2 3 5 6 8 9 10 11 12 13 15 -1 2 3 5 6 8 9 10 11 12 14 15 -1 2 3 5 6 8 9 10 11 13 14 15 -1 2 3 5 6 8 9 10 12 13 14 15 -1 2 3 5 6 8 9 11 12 13 14 15 -1 2 3 5 6 8 10 11 12 13 14 15 -1 2 3 5 6 9 10 11 12 13 14 15 -1 2 3 5 7 8 9 10 11 12 13 14 -1 2 3 5 7 8 9 10 11 12 13 15 -1 2 3 5 7 8 9 10 11 12 14 15 -1 2 3 5 7 8 9 10 11 13 14 15 -1 2 3 5 7 8 9 10 12 13 14 15 -1 2 3 5 7 8 9 11 12 13 14 15 -1 2 3 5 7 8 10 11 12 13 14 15 -1 2 3 5 7 9 10 11 12 13 14 15 -1 2 3 5 8 9 10 11 12 13 14 15 -1 2 3 6 7 8 9 10 11 12 13 14 -1 2 3 6 7 8 9 10 11 12 13 15 -1 2 3 6 7 8 9 10 11 12 14 15 -1 2 3 6 7 8 9 10 11 13 14 15 -1 2 3 6 7 8 9 10 12 13 14 15 -1 2 3 6 7 8 9 11 12 13 14 15 -1 2 3 6 7 8 10 11 12 13 14 15 -1 2 3 6 7 9 10 11 12 13 14 15 -1 2 3 6 8 9 10 11 12 13 14 15 -1 2 3 7 8 9 10 11 12 13 14 15 -1 2 4 5 6 7 8 9 10 11 12 13 -1 2 4 5 6 7 8 9 10 11 12 14 -1 2 4 5 6 7 8 9 10 11 12 15 -1 2 4 5 6 7 8 9 10 11 13 14 -1 2 4 5 6 7 8 9 10 11 13 15 -1 2 4 5 6 7 8 9 10 11 14 15 -1 2 4 5 6 7 8 9 10 12 13 14 -1 2 4 5 6 7 8 9 10 12 13 15 -1 2 4 5 6 7 8 9 10 12 14 15 -1 2 4 5 6 7 8 9 10 13 14 15 -1 2 4 5 6 7 8 9 11 12 13 14 -1 2 4 5 6 7 8 9 11 12 13 15 -1 2 4 5 6 7 8 9 11 12 14 15 -1 2 4 5 6 7 8 9 11 13 14 15 -1 2 4 5 6 7 8 9 12 13 14 15 -1 2 4 5 6 7 8 10 11 12 13 14 -1 2 4 5 6 7 8 10 11 12 13 15 -1 2 4 5 6 7 8 10 11 12 14 15 -1 2 4 5 6 7 8 10 11 13 14 15 -1 2 4 5 6 7 8 10 12 13 14 15 -1 2 4 5 6 7 8 11 12 13 14 15 -1 2 4 5 6 7 9 10 11 12 13 14 -1 2 4 5 6 7 9 10 11 12 13 15 -1 2 4 5 6 7 9 10 11 12 14 15 -1 2 4 5 6 7 9 10 11 13 14 15 -1 2 4 5 6 7 9 10 12 13 14 15 -1 2 4 5 6 7 9 11 12 13 14 15 -1 2 4 5 6 7 10 11 12 13 14 15 -1 2 4 5 6 8 9 10 11 12 13 14 -1 2 4 5 6 8 9 10 11 12 13 15 -1 2 4 5 6 8 9 10 11 12 14 15 -1 2 4 5 6 8 9 10 11 13 14 15 -1 2 4 5 6 8 9 10 12 13 14 15 -1 2 4 5 6 8 9 11 12 13 14 15 -1 2 4 5 6 8 10 11 12 13 14 15 -1 2 4 5 6 9 10 11 12 13 14 15 -1 2 4 5 7 8 9 10 11 12 13 14 -1 2 4 5 7 8 9 10 11 12 13 15 -1 2 4 5 7 8 9 10 11 12 14 15 -1 2 4 5 7 8 9 10 11 13 14 15 -1 2 4 5 7 8 9 10 12 13 14 15 -1 2 4 5 7 8 9 11 12 13 14 15 -1 2 4 5 7 8 10 11 12 13 14 15 -1 2 4 5 7 9 10 11 12 13 14 15 -1 2 4 5 8 9 10 11 12 13 14 15 -1 2 4 6 7 8 9 10 11 12 13 14 -1 2 4 6 7 8 9 10 11 12 13 15 -1 2 4 6 7 8 9 10 11 12 14 15 -1 2 4 6 7 8 9 10 11 13 14 15 -1 2 4 6 7 8 9 10 12 13 14 15 -1 2 4 6 7 8 9 11 12 13 14 15 -1 2 4 6 7 8 10 11 12 13 14 15 -1 2 4 6 7 9 10 11 12 13 14 15 -1 2 4 6 8 9 10 11 12 13 14 15 -1 2 4 7 8 9 10 11 12 13 14 15 -1 2 5 6 7 8 9 10 11 12 13 14 -1 2 5 6 7 8 9 10 11 12 13 15 -1 2 5 6 7 8 9 10 11 12 14 15 -1 2 5 6 7 8 9 10 11 13 14 15 -1 2 5 6 7 8 9 10 12 13 14 15 -1 2 5 6 7 8 9 11 12 13 14 15 -1 2 5 6 7 8 10 11 12 13 14 15 -1 2 5 6 7 9 10 11 12 13 14 15 -1 2 5 6 8 9 10 11 12 13 14 15 -1 2 5 7 8 9 10 11 12 13 14 15 -1 2 6 7 8 9 10 11 12 13 14 15 -1 3 4 5 6 7 8 9 10 11 12 13 -1 3 4 5 6 7 8 9 10 11 12 14 -1 3 4 5 6 7 8 9 10 11 12 15 -1 3 4 5 6 7 8 9 10 11 13 14 -1 3 4 5 6 7 8 9 10 11 13 15 -1 3 4 5 6 7 8 9 10 11 14 15 -1 3 4 5 6 7 8 9 10 12 13 14 -1 3 4 5 6 7 8 9 10 12 13 15 -1 3 4 5 6 7 8 9 10 12 14 15 -1 3 4 5 6 7 8 9 10 13 14 15 -1 3 4 5 6 7 8 9 11 12 13 14 -1 3 4 5 6 7 8 9 11 12 13 15 -1 3 4 5 6 7 8 9 11 12 14 15 -1 3 4 5 6 7 8 9 11 13 14 15 -1 3 4 5 6 7 8 9 12 13 14 15 -1 3 4 5 6 7 8 10 11 12 13 14 -1 3 4 5 6 7 8 10 11 12 13 15 -1 3 4 5 6 7 8 10 11 12 14 15 -1 3 4 5 6 7 8 10 11 13 14 15 -1 3 4 5 6 7 8 10 12 13 14 15 -1 3 4 5 6 7 8 11 12 13 14 15 -1 3 4 5 6 7 9 10 11 12 13 14 -1 3 4 5 6 7 9 10 11 12 13 15 -1 3 4 5 6 7 9 10 11 12 14 15 -1 3 4 5 6 7 9 10 11 13 14 15 -1 3 4 5 6 7 9 10 12 13 14 15 -1 3 4 5 6 7 9 11 12 13 14 15 -1 3 4 5 6 7 10 11 12 13 14 15 -1 3 4 5 6 8 9 10 11 12 13 14 -1 3 4 5 6 8 9 10 11 12 13 15 -1 3 4 5 6 8 9 10 11 12 14 15 -1 3 4 5 6 8 9 10 11 13 14 15 -1 3 4 5 6 8 9 10 12 13 14 15 -1 3 4 5 6 8 9 11 12 13 14 15 -1 3 4 5 6 8 10 11 12 13 14 15 -1 3 4 5 6 9 10 11 12 13 14 15 -1 3 4 5 7 8 9 10 11 12 13 14 -1 3 4 5 7 8 9 10 11 12 13 15 -1 3 4 5 7 8 9 10 11 12 14 15 -1 3 4 5 7 8 9 10 11 13 14 15 -1 3 4 5 7 8 9 10 12 13 14 15 -1 3 4 5 7 8 9 11 12 13 14 15 -1 3 4 5 7 8 10 11 12 13 14 15 -1 3 4 5 7 9 10 11 12 13 14 15 -1 3 4 5 8 9 10 11 12 13 14 15 -1 3 4 6 7 8 9 10 11 12 13 14 -1 3 4 6 7 8 9 10 11 12 13 15 -1 3 4 6 7 8 9 10 11 12 14 15 -1 3 4 6 7 8 9 10 11 13 14 15 -1 3 4 6 7 8 9 10 12 13 14 15 -1 3 4 6 7 8 9 11 12 13 14 15 -1 3 4 6 7 8 10 11 12 13 14 15 -1 3 4 6 7 9 10 11 12 13 14 15 -1 3 4 6 8 9 10 11 12 13 14 15 -1 3 4 7 8 9 10 11 12 13 14 15 -1 3 5 6 7 8 9 10 11 12 13 14 -1 3 5 6 7 8 9 10 11 12 13 15 -1 3 5 6 7 8 9 10 11 12 14 15 -1 3 5 6 7 8 9 10 11 13 14 15 -1 3 5 6 7 8 9 10 12 13 14 15 -1 3 5 6 7 8 9 11 12 13 14 15 -1 3 5 6 7 8 10 11 12 13 14 15 -1 3 5 6 7 9 10 11 12 13 14 15 -1 3 5 6 8 9 10 11 12 13 14 15 -1 3 5 7 8 9 10 11 12 13 14 15 -1 3 6 7 8 9 10 11 12 13 14 15 -1 4 5 6 7 8 9 10 11 12 13 14 -1 4 5 6 7 8 9 10 11 12 13 15 -1 4 5 6 7 8 9 10 11 12 14 15 -1 4 5 6 7 8 9 10 11 13 14 15 -1 4 5 6 7 8 9 10 12 13 14 15 -1 4 5 6 7 8 9 11 12 13 14 15 -1 4 5 6 7 8 10 11 12 13 14 15 -1 4 5 6 7 9 10 11 12 13 14 15 -1 4 5 6 8 9 10 11 12 13 14 15 -1 4 5 7 8 9 10 11 12 13 14 15 -1 4 6 7 8 9 10 11 12 13 14 15 -1 5 6 7 8 9 10 11 12 13 14 15 -2 3 4 5 6 7 8 9 10 11 12 13 -2 3 4 5 6 7 8 9 10 11 12 14 -2 3 4 5 6 7 8 9 10 11 12 15 -2 3 4 5 6 7 8 9 10 11 13 14 -2 3 4 5 6 7 8 9 10 11 13 15 -2 3 4 5 6 7 8 9 10 11 14 15 -2 3 4 5 6 7 8 9 10 12 13 14 -2 3 4 5 6 7 8 9 10 12 13 15 -2 3 4 5 6 7 8 9 10 12 14 15 -2 3 4 5 6 7 8 9 10 13 14 15 -2 3 4 5 6 7 8 9 11 12 13 14 -2 3 4 5 6 7 8 9 11 12 13 15 -2 3 4 5 6 7 8 9 11 12 14 15 -2 3 4 5 6 7 8 9 11 13 14 15 -2 3 4 5 6 7 8 9 12 13 14 15 -2 3 4 5 6 7 8 10 11 12 13 14 -2 3 4 5 6 7 8 10 11 12 13 15 -2 3 4 5 6 7 8 10 11 12 14 15 -2 3 4 5 6 7 8 10 11 13 14 15 -2 3 4 5 6 7 8 10 12 13 14 15 -2 3 4 5 6 7 8 11 12 13 14 15 -2 3 4 5 6 7 9 10 11 12 13 14 -2 3 4 5 6 7 9 10 11 12 13 15 -2 3 4 5 6 7 9 10 11 12 14 15 -2 3 4 5 6 7 9 10 11 13 14 15 -2 3 4 5 6 7 9 10 12 13 14 15 -2 3 4 5 6 7 9 11 12 13 14 15 -2 3 4 5 6 7 10 11 12 13 14 15 -2 3 4 5 6 8 9 10 11 12 13 14 -2 3 4 5 6 8 9 10 11 12 13 15 -2 3 4 5 6 8 9 10 11 12 14 15 -2 3 4 5 6 8 9 10 11 13 14 15 -2 3 4 5 6 8 9 10 12 13 14 15 -2 3 4 5 6 8 9 11 12 13 14 15 -2 3 4 5 6 8 10 11 12 13 14 15 -2 3 4 5 6 9 10 11 12 13 14 15 -2 3 4 5 7 8 9 10 11 12 13 14 -2 3 4 5 7 8 9 10 11 12 13 15 -2 3 4 5 7 8 9 10 11 12 14 15 -2 3 4 5 7 8 9 10 11 13 14 15 -2 3 4 5 7 8 9 10 12 13 14 15 -2 3 4 5 7 8 9 11 12 13 14 15 -2 3 4 5 7 8 10 11 12 13 14 15 -2 3 4 5 7 9 10 11 12 13 14 15 -2 3 4 5 8 9 10 11 12 13 14 15 -2 3 4 6 7 8 9 10 11 12 13 14 -2 3 4 6 7 8 9 10 11 12 13 15 -2 3 4 6 7 8 9 10 11 12 14 15 -2 3 4 6 7 8 9 10 11 13 14 15 -2 3 4 6 7 8 9 10 12 13 14 15 -2 3 4 6 7 8 9 11 12 13 14 15 -2 3 4 6 7 8 10 11 12 13 14 15 -2 3 4 6 7 9 10 11 12 13 14 15 -2 3 4 6 8 9 10 11 12 13 14 15 -2 3 4 7 8 9 10 11 12 13 14 15 -2 3 5 6 7 8 9 10 11 12 13 14 -2 3 5 6 7 8 9 10 11 12 13 15 -2 3 5 6 7 8 9 10 11 12 14 15 -2 3 5 6 7 8 9 10 11 13 14 15 -2 3 5 6 7 8 9 10 12 13 14 15 -2 3 5 6 7 8 9 11 12 13 14 15 -2 3 5 6 7 8 10 11 12 13 14 15 -2 3 5 6 7 9 10 11 12 13 14 15 -2 3 5 6 8 9 10 11 12 13 14 15 -2 3 5 7 8 9 10 11 12 13 14 15 -2 3 6 7 8 9 10 11 12 13 14 15 -2 4 5 6 7 8 9 10 11 12 13 14 -2 4 5 6 7 8 9 10 11 12 13 15 -2 4 5 6 7 8 9 10 11 12 14 15 -2 4 5 6 7 8 9 10 11 13 14 15 -2 4 5 6 7 8 9 10 12 13 14 15 -2 4 5 6 7 8 9 11 12 13 14 15 -2 4 5 6 7 8 10 11 12 13 14 15 -2 4 5 6 7 9 10 11 12 13 14 15 -2 4 5 6 8 9 10 11 12 13 14 15 -2 4 5 7 8 9 10 11 12 13 14 15 -2 4 6 7 8 9 10 11 12 13 14 15 -2 5 6 7 8 9 10 11 12 13 14 15 -3 4 5 6 7 8 9 10 11 12 13 14 -3 4 5 6 7 8 9 10 11 12 13 15 -3 4 5 6 7 8 9 10 11 12 14 15 -3 4 5 6 7 8 9 10 11 13 14 15 -3 4 5 6 7 8 9 10 12 13 14 15 -3 4 5 6 7 8 9 11 12 13 14 15 -3 4 5 6 7 8 10 11 12 13 14 15 -3 4 5 6 7 9 10 11 12 13 14 15 -3 4 5 6 8 9 10 11 12 13 14 15 -3 4 5 7 8 9 10 11 12 13 14 15 -3 4 6 7 8 9 10 11 12 13 14 15 -3 5 6 7 8 9 10 11 12 13 14 15 -4 5 6 7 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 9 10 11 +0 1 2 3 4 5 6 7 8 9 10 12 +0 1 2 3 4 5 6 7 8 9 10 13 +0 1 2 3 4 5 6 7 8 9 10 14 +0 1 2 3 4 5 6 7 8 9 10 15 +0 1 2 3 4 5 6 7 8 9 11 12 +0 1 2 3 4 5 6 7 8 9 11 13 +0 1 2 3 4 5 6 7 8 9 11 14 +0 1 2 3 4 5 6 7 8 9 11 15 +0 1 2 3 4 5 6 7 8 9 12 13 +0 1 2 3 4 5 6 7 8 9 12 14 +0 1 2 3 4 5 6 7 8 9 12 15 +0 1 2 3 4 5 6 7 8 9 13 14 +0 1 2 3 4 5 6 7 8 9 13 15 +0 1 2 3 4 5 6 7 8 9 14 15 +0 1 2 3 4 5 6 7 8 10 11 12 +0 1 2 3 4 5 6 7 8 10 11 13 +0 1 2 3 4 5 6 7 8 10 11 14 +0 1 2 3 4 5 6 7 8 10 11 15 +0 1 2 3 4 5 6 7 8 10 12 13 +0 1 2 3 4 5 6 7 8 10 12 14 +0 1 2 3 4 5 6 7 8 10 12 15 +0 1 2 3 4 5 6 7 8 10 13 14 +0 1 2 3 4 5 6 7 8 10 13 15 +0 1 2 3 4 5 6 7 8 10 14 15 +0 1 2 3 4 5 6 7 8 11 12 13 +0 1 2 3 4 5 6 7 8 11 12 14 +0 1 2 3 4 5 6 7 8 11 12 15 +0 1 2 3 4 5 6 7 8 11 13 14 +0 1 2 3 4 5 6 7 8 11 13 15 +0 1 2 3 4 5 6 7 8 11 14 15 +0 1 2 3 4 5 6 7 8 12 13 14 +0 1 2 3 4 5 6 7 8 12 13 15 +0 1 2 3 4 5 6 7 8 12 14 15 +0 1 2 3 4 5 6 7 8 13 14 15 +0 1 2 3 4 5 6 7 9 10 11 12 +0 1 2 3 4 5 6 7 9 10 11 13 +0 1 2 3 4 5 6 7 9 10 11 14 +0 1 2 3 4 5 6 7 9 10 11 15 +0 1 2 3 4 5 6 7 9 10 12 13 +0 1 2 3 4 5 6 7 9 10 12 14 +0 1 2 3 4 5 6 7 9 10 12 15 +0 1 2 3 4 5 6 7 9 10 13 14 +0 1 2 3 4 5 6 7 9 10 13 15 +0 1 2 3 4 5 6 7 9 10 14 15 +0 1 2 3 4 5 6 7 9 11 12 13 +0 1 2 3 4 5 6 7 9 11 12 14 +0 1 2 3 4 5 6 7 9 11 12 15 +0 1 2 3 4 5 6 7 9 11 13 14 +0 1 2 3 4 5 6 7 9 11 13 15 +0 1 2 3 4 5 6 7 9 11 14 15 +0 1 2 3 4 5 6 7 9 12 13 14 +0 1 2 3 4 5 6 7 9 12 13 15 +0 1 2 3 4 5 6 7 9 12 14 15 +0 1 2 3 4 5 6 7 9 13 14 15 +0 1 2 3 4 5 6 7 10 11 12 13 +0 1 2 3 4 5 6 7 10 11 12 14 +0 1 2 3 4 5 6 7 10 11 12 15 +0 1 2 3 4 5 6 7 10 11 13 14 +0 1 2 3 4 5 6 7 10 11 13 15 +0 1 2 3 4 5 6 7 10 11 14 15 +0 1 2 3 4 5 6 7 10 12 13 14 +0 1 2 3 4 5 6 7 10 12 13 15 +0 1 2 3 4 5 6 7 10 12 14 15 +0 1 2 3 4 5 6 7 10 13 14 15 +0 1 2 3 4 5 6 7 11 12 13 14 +0 1 2 3 4 5 6 7 11 12 13 15 +0 1 2 3 4 5 6 7 11 12 14 15 +0 1 2 3 4 5 6 7 11 13 14 15 +0 1 2 3 4 5 6 7 12 13 14 15 +0 1 2 3 4 5 6 8 9 10 11 12 +0 1 2 3 4 5 6 8 9 10 11 13 +0 1 2 3 4 5 6 8 9 10 11 14 +0 1 2 3 4 5 6 8 9 10 11 15 +0 1 2 3 4 5 6 8 9 10 12 13 +0 1 2 3 4 5 6 8 9 10 12 14 +0 1 2 3 4 5 6 8 9 10 12 15 +0 1 2 3 4 5 6 8 9 10 13 14 +0 1 2 3 4 5 6 8 9 10 13 15 +0 1 2 3 4 5 6 8 9 10 14 15 +0 1 2 3 4 5 6 8 9 11 12 13 +0 1 2 3 4 5 6 8 9 11 12 14 +0 1 2 3 4 5 6 8 9 11 12 15 +0 1 2 3 4 5 6 8 9 11 13 14 +0 1 2 3 4 5 6 8 9 11 13 15 +0 1 2 3 4 5 6 8 9 11 14 15 +0 1 2 3 4 5 6 8 9 12 13 14 +0 1 2 3 4 5 6 8 9 12 13 15 +0 1 2 3 4 5 6 8 9 12 14 15 +0 1 2 3 4 5 6 8 9 13 14 15 +0 1 2 3 4 5 6 8 10 11 12 13 +0 1 2 3 4 5 6 8 10 11 12 14 +0 1 2 3 4 5 6 8 10 11 12 15 +0 1 2 3 4 5 6 8 10 11 13 14 +0 1 2 3 4 5 6 8 10 11 13 15 +0 1 2 3 4 5 6 8 10 11 14 15 +0 1 2 3 4 5 6 8 10 12 13 14 +0 1 2 3 4 5 6 8 10 12 13 15 +0 1 2 3 4 5 6 8 10 12 14 15 +0 1 2 3 4 5 6 8 10 13 14 15 +0 1 2 3 4 5 6 8 11 12 13 14 +0 1 2 3 4 5 6 8 11 12 13 15 +0 1 2 3 4 5 6 8 11 12 14 15 +0 1 2 3 4 5 6 8 11 13 14 15 +0 1 2 3 4 5 6 8 12 13 14 15 +0 1 2 3 4 5 6 9 10 11 12 13 +0 1 2 3 4 5 6 9 10 11 12 14 +0 1 2 3 4 5 6 9 10 11 12 15 +0 1 2 3 4 5 6 9 10 11 13 14 +0 1 2 3 4 5 6 9 10 11 13 15 +0 1 2 3 4 5 6 9 10 11 14 15 +0 1 2 3 4 5 6 9 10 12 13 14 +0 1 2 3 4 5 6 9 10 12 13 15 +0 1 2 3 4 5 6 9 10 12 14 15 +0 1 2 3 4 5 6 9 10 13 14 15 +0 1 2 3 4 5 6 9 11 12 13 14 +0 1 2 3 4 5 6 9 11 12 13 15 +0 1 2 3 4 5 6 9 11 12 14 15 +0 1 2 3 4 5 6 9 11 13 14 15 +0 1 2 3 4 5 6 9 12 13 14 15 +0 1 2 3 4 5 6 10 11 12 13 14 +0 1 2 3 4 5 6 10 11 12 13 15 +0 1 2 3 4 5 6 10 11 12 14 15 +0 1 2 3 4 5 6 10 11 13 14 15 +0 1 2 3 4 5 6 10 12 13 14 15 +0 1 2 3 4 5 6 11 12 13 14 15 +0 1 2 3 4 5 7 8 9 10 11 12 +0 1 2 3 4 5 7 8 9 10 11 13 +0 1 2 3 4 5 7 8 9 10 11 14 +0 1 2 3 4 5 7 8 9 10 11 15 +0 1 2 3 4 5 7 8 9 10 12 13 +0 1 2 3 4 5 7 8 9 10 12 14 +0 1 2 3 4 5 7 8 9 10 12 15 +0 1 2 3 4 5 7 8 9 10 13 14 +0 1 2 3 4 5 7 8 9 10 13 15 +0 1 2 3 4 5 7 8 9 10 14 15 +0 1 2 3 4 5 7 8 9 11 12 13 +0 1 2 3 4 5 7 8 9 11 12 14 +0 1 2 3 4 5 7 8 9 11 12 15 +0 1 2 3 4 5 7 8 9 11 13 14 +0 1 2 3 4 5 7 8 9 11 13 15 +0 1 2 3 4 5 7 8 9 11 14 15 +0 1 2 3 4 5 7 8 9 12 13 14 +0 1 2 3 4 5 7 8 9 12 13 15 +0 1 2 3 4 5 7 8 9 12 14 15 +0 1 2 3 4 5 7 8 9 13 14 15 +0 1 2 3 4 5 7 8 10 11 12 13 +0 1 2 3 4 5 7 8 10 11 12 14 +0 1 2 3 4 5 7 8 10 11 12 15 +0 1 2 3 4 5 7 8 10 11 13 14 +0 1 2 3 4 5 7 8 10 11 13 15 +0 1 2 3 4 5 7 8 10 11 14 15 +0 1 2 3 4 5 7 8 10 12 13 14 +0 1 2 3 4 5 7 8 10 12 13 15 +0 1 2 3 4 5 7 8 10 12 14 15 +0 1 2 3 4 5 7 8 10 13 14 15 +0 1 2 3 4 5 7 8 11 12 13 14 +0 1 2 3 4 5 7 8 11 12 13 15 +0 1 2 3 4 5 7 8 11 12 14 15 +0 1 2 3 4 5 7 8 11 13 14 15 +0 1 2 3 4 5 7 8 12 13 14 15 +0 1 2 3 4 5 7 9 10 11 12 13 +0 1 2 3 4 5 7 9 10 11 12 14 +0 1 2 3 4 5 7 9 10 11 12 15 +0 1 2 3 4 5 7 9 10 11 13 14 +0 1 2 3 4 5 7 9 10 11 13 15 +0 1 2 3 4 5 7 9 10 11 14 15 +0 1 2 3 4 5 7 9 10 12 13 14 +0 1 2 3 4 5 7 9 10 12 13 15 +0 1 2 3 4 5 7 9 10 12 14 15 +0 1 2 3 4 5 7 9 10 13 14 15 +0 1 2 3 4 5 7 9 11 12 13 14 +0 1 2 3 4 5 7 9 11 12 13 15 +0 1 2 3 4 5 7 9 11 12 14 15 +0 1 2 3 4 5 7 9 11 13 14 15 +0 1 2 3 4 5 7 9 12 13 14 15 +0 1 2 3 4 5 7 10 11 12 13 14 +0 1 2 3 4 5 7 10 11 12 13 15 +0 1 2 3 4 5 7 10 11 12 14 15 +0 1 2 3 4 5 7 10 11 13 14 15 +0 1 2 3 4 5 7 10 12 13 14 15 +0 1 2 3 4 5 7 11 12 13 14 15 +0 1 2 3 4 5 8 9 10 11 12 13 +0 1 2 3 4 5 8 9 10 11 12 14 +0 1 2 3 4 5 8 9 10 11 12 15 +0 1 2 3 4 5 8 9 10 11 13 14 +0 1 2 3 4 5 8 9 10 11 13 15 +0 1 2 3 4 5 8 9 10 11 14 15 +0 1 2 3 4 5 8 9 10 12 13 14 +0 1 2 3 4 5 8 9 10 12 13 15 +0 1 2 3 4 5 8 9 10 12 14 15 +0 1 2 3 4 5 8 9 10 13 14 15 +0 1 2 3 4 5 8 9 11 12 13 14 +0 1 2 3 4 5 8 9 11 12 13 15 +0 1 2 3 4 5 8 9 11 12 14 15 +0 1 2 3 4 5 8 9 11 13 14 15 +0 1 2 3 4 5 8 9 12 13 14 15 +0 1 2 3 4 5 8 10 11 12 13 14 +0 1 2 3 4 5 8 10 11 12 13 15 +0 1 2 3 4 5 8 10 11 12 14 15 +0 1 2 3 4 5 8 10 11 13 14 15 +0 1 2 3 4 5 8 10 12 13 14 15 +0 1 2 3 4 5 8 11 12 13 14 15 +0 1 2 3 4 5 9 10 11 12 13 14 +0 1 2 3 4 5 9 10 11 12 13 15 +0 1 2 3 4 5 9 10 11 12 14 15 +0 1 2 3 4 5 9 10 11 13 14 15 +0 1 2 3 4 5 9 10 12 13 14 15 +0 1 2 3 4 5 9 11 12 13 14 15 +0 1 2 3 4 5 10 11 12 13 14 15 +0 1 2 3 4 6 7 8 9 10 11 12 +0 1 2 3 4 6 7 8 9 10 11 13 +0 1 2 3 4 6 7 8 9 10 11 14 +0 1 2 3 4 6 7 8 9 10 11 15 +0 1 2 3 4 6 7 8 9 10 12 13 +0 1 2 3 4 6 7 8 9 10 12 14 +0 1 2 3 4 6 7 8 9 10 12 15 +0 1 2 3 4 6 7 8 9 10 13 14 +0 1 2 3 4 6 7 8 9 10 13 15 +0 1 2 3 4 6 7 8 9 10 14 15 +0 1 2 3 4 6 7 8 9 11 12 13 +0 1 2 3 4 6 7 8 9 11 12 14 +0 1 2 3 4 6 7 8 9 11 12 15 +0 1 2 3 4 6 7 8 9 11 13 14 +0 1 2 3 4 6 7 8 9 11 13 15 +0 1 2 3 4 6 7 8 9 11 14 15 +0 1 2 3 4 6 7 8 9 12 13 14 +0 1 2 3 4 6 7 8 9 12 13 15 +0 1 2 3 4 6 7 8 9 12 14 15 +0 1 2 3 4 6 7 8 9 13 14 15 +0 1 2 3 4 6 7 8 10 11 12 13 +0 1 2 3 4 6 7 8 10 11 12 14 +0 1 2 3 4 6 7 8 10 11 12 15 +0 1 2 3 4 6 7 8 10 11 13 14 +0 1 2 3 4 6 7 8 10 11 13 15 +0 1 2 3 4 6 7 8 10 11 14 15 +0 1 2 3 4 6 7 8 10 12 13 14 +0 1 2 3 4 6 7 8 10 12 13 15 +0 1 2 3 4 6 7 8 10 12 14 15 +0 1 2 3 4 6 7 8 10 13 14 15 +0 1 2 3 4 6 7 8 11 12 13 14 +0 1 2 3 4 6 7 8 11 12 13 15 +0 1 2 3 4 6 7 8 11 12 14 15 +0 1 2 3 4 6 7 8 11 13 14 15 +0 1 2 3 4 6 7 8 12 13 14 15 +0 1 2 3 4 6 7 9 10 11 12 13 +0 1 2 3 4 6 7 9 10 11 12 14 +0 1 2 3 4 6 7 9 10 11 12 15 +0 1 2 3 4 6 7 9 10 11 13 14 +0 1 2 3 4 6 7 9 10 11 13 15 +0 1 2 3 4 6 7 9 10 11 14 15 +0 1 2 3 4 6 7 9 10 12 13 14 +0 1 2 3 4 6 7 9 10 12 13 15 +0 1 2 3 4 6 7 9 10 12 14 15 +0 1 2 3 4 6 7 9 10 13 14 15 +0 1 2 3 4 6 7 9 11 12 13 14 +0 1 2 3 4 6 7 9 11 12 13 15 +0 1 2 3 4 6 7 9 11 12 14 15 +0 1 2 3 4 6 7 9 11 13 14 15 +0 1 2 3 4 6 7 9 12 13 14 15 +0 1 2 3 4 6 7 10 11 12 13 14 +0 1 2 3 4 6 7 10 11 12 13 15 +0 1 2 3 4 6 7 10 11 12 14 15 +0 1 2 3 4 6 7 10 11 13 14 15 +0 1 2 3 4 6 7 10 12 13 14 15 +0 1 2 3 4 6 7 11 12 13 14 15 +0 1 2 3 4 6 8 9 10 11 12 13 +0 1 2 3 4 6 8 9 10 11 12 14 +0 1 2 3 4 6 8 9 10 11 12 15 +0 1 2 3 4 6 8 9 10 11 13 14 +0 1 2 3 4 6 8 9 10 11 13 15 +0 1 2 3 4 6 8 9 10 11 14 15 +0 1 2 3 4 6 8 9 10 12 13 14 +0 1 2 3 4 6 8 9 10 12 13 15 +0 1 2 3 4 6 8 9 10 12 14 15 +0 1 2 3 4 6 8 9 10 13 14 15 +0 1 2 3 4 6 8 9 11 12 13 14 +0 1 2 3 4 6 8 9 11 12 13 15 +0 1 2 3 4 6 8 9 11 12 14 15 +0 1 2 3 4 6 8 9 11 13 14 15 +0 1 2 3 4 6 8 9 12 13 14 15 +0 1 2 3 4 6 8 10 11 12 13 14 +0 1 2 3 4 6 8 10 11 12 13 15 +0 1 2 3 4 6 8 10 11 12 14 15 +0 1 2 3 4 6 8 10 11 13 14 15 +0 1 2 3 4 6 8 10 12 13 14 15 +0 1 2 3 4 6 8 11 12 13 14 15 +0 1 2 3 4 6 9 10 11 12 13 14 +0 1 2 3 4 6 9 10 11 12 13 15 +0 1 2 3 4 6 9 10 11 12 14 15 +0 1 2 3 4 6 9 10 11 13 14 15 +0 1 2 3 4 6 9 10 12 13 14 15 +0 1 2 3 4 6 9 11 12 13 14 15 +0 1 2 3 4 6 10 11 12 13 14 15 +0 1 2 3 4 7 8 9 10 11 12 13 +0 1 2 3 4 7 8 9 10 11 12 14 +0 1 2 3 4 7 8 9 10 11 12 15 +0 1 2 3 4 7 8 9 10 11 13 14 +0 1 2 3 4 7 8 9 10 11 13 15 +0 1 2 3 4 7 8 9 10 11 14 15 +0 1 2 3 4 7 8 9 10 12 13 14 +0 1 2 3 4 7 8 9 10 12 13 15 +0 1 2 3 4 7 8 9 10 12 14 15 +0 1 2 3 4 7 8 9 10 13 14 15 +0 1 2 3 4 7 8 9 11 12 13 14 +0 1 2 3 4 7 8 9 11 12 13 15 +0 1 2 3 4 7 8 9 11 12 14 15 +0 1 2 3 4 7 8 9 11 13 14 15 +0 1 2 3 4 7 8 9 12 13 14 15 +0 1 2 3 4 7 8 10 11 12 13 14 +0 1 2 3 4 7 8 10 11 12 13 15 +0 1 2 3 4 7 8 10 11 12 14 15 +0 1 2 3 4 7 8 10 11 13 14 15 +0 1 2 3 4 7 8 10 12 13 14 15 +0 1 2 3 4 7 8 11 12 13 14 15 +0 1 2 3 4 7 9 10 11 12 13 14 +0 1 2 3 4 7 9 10 11 12 13 15 +0 1 2 3 4 7 9 10 11 12 14 15 +0 1 2 3 4 7 9 10 11 13 14 15 +0 1 2 3 4 7 9 10 12 13 14 15 +0 1 2 3 4 7 9 11 12 13 14 15 +0 1 2 3 4 7 10 11 12 13 14 15 +0 1 2 3 4 8 9 10 11 12 13 14 +0 1 2 3 4 8 9 10 11 12 13 15 +0 1 2 3 4 8 9 10 11 12 14 15 +0 1 2 3 4 8 9 10 11 13 14 15 +0 1 2 3 4 8 9 10 12 13 14 15 +0 1 2 3 4 8 9 11 12 13 14 15 +0 1 2 3 4 8 10 11 12 13 14 15 +0 1 2 3 4 9 10 11 12 13 14 15 +0 1 2 3 5 6 7 8 9 10 11 12 +0 1 2 3 5 6 7 8 9 10 11 13 +0 1 2 3 5 6 7 8 9 10 11 14 +0 1 2 3 5 6 7 8 9 10 11 15 +0 1 2 3 5 6 7 8 9 10 12 13 +0 1 2 3 5 6 7 8 9 10 12 14 +0 1 2 3 5 6 7 8 9 10 12 15 +0 1 2 3 5 6 7 8 9 10 13 14 +0 1 2 3 5 6 7 8 9 10 13 15 +0 1 2 3 5 6 7 8 9 10 14 15 +0 1 2 3 5 6 7 8 9 11 12 13 +0 1 2 3 5 6 7 8 9 11 12 14 +0 1 2 3 5 6 7 8 9 11 12 15 +0 1 2 3 5 6 7 8 9 11 13 14 +0 1 2 3 5 6 7 8 9 11 13 15 +0 1 2 3 5 6 7 8 9 11 14 15 +0 1 2 3 5 6 7 8 9 12 13 14 +0 1 2 3 5 6 7 8 9 12 13 15 +0 1 2 3 5 6 7 8 9 12 14 15 +0 1 2 3 5 6 7 8 9 13 14 15 +0 1 2 3 5 6 7 8 10 11 12 13 +0 1 2 3 5 6 7 8 10 11 12 14 +0 1 2 3 5 6 7 8 10 11 12 15 +0 1 2 3 5 6 7 8 10 11 13 14 +0 1 2 3 5 6 7 8 10 11 13 15 +0 1 2 3 5 6 7 8 10 11 14 15 +0 1 2 3 5 6 7 8 10 12 13 14 +0 1 2 3 5 6 7 8 10 12 13 15 +0 1 2 3 5 6 7 8 10 12 14 15 +0 1 2 3 5 6 7 8 10 13 14 15 +0 1 2 3 5 6 7 8 11 12 13 14 +0 1 2 3 5 6 7 8 11 12 13 15 +0 1 2 3 5 6 7 8 11 12 14 15 +0 1 2 3 5 6 7 8 11 13 14 15 +0 1 2 3 5 6 7 8 12 13 14 15 +0 1 2 3 5 6 7 9 10 11 12 13 +0 1 2 3 5 6 7 9 10 11 12 14 +0 1 2 3 5 6 7 9 10 11 12 15 +0 1 2 3 5 6 7 9 10 11 13 14 +0 1 2 3 5 6 7 9 10 11 13 15 +0 1 2 3 5 6 7 9 10 11 14 15 +0 1 2 3 5 6 7 9 10 12 13 14 +0 1 2 3 5 6 7 9 10 12 13 15 +0 1 2 3 5 6 7 9 10 12 14 15 +0 1 2 3 5 6 7 9 10 13 14 15 +0 1 2 3 5 6 7 9 11 12 13 14 +0 1 2 3 5 6 7 9 11 12 13 15 +0 1 2 3 5 6 7 9 11 12 14 15 +0 1 2 3 5 6 7 9 11 13 14 15 +0 1 2 3 5 6 7 9 12 13 14 15 +0 1 2 3 5 6 7 10 11 12 13 14 +0 1 2 3 5 6 7 10 11 12 13 15 +0 1 2 3 5 6 7 10 11 12 14 15 +0 1 2 3 5 6 7 10 11 13 14 15 +0 1 2 3 5 6 7 10 12 13 14 15 +0 1 2 3 5 6 7 11 12 13 14 15 +0 1 2 3 5 6 8 9 10 11 12 13 +0 1 2 3 5 6 8 9 10 11 12 14 +0 1 2 3 5 6 8 9 10 11 12 15 +0 1 2 3 5 6 8 9 10 11 13 14 +0 1 2 3 5 6 8 9 10 11 13 15 +0 1 2 3 5 6 8 9 10 11 14 15 +0 1 2 3 5 6 8 9 10 12 13 14 +0 1 2 3 5 6 8 9 10 12 13 15 +0 1 2 3 5 6 8 9 10 12 14 15 +0 1 2 3 5 6 8 9 10 13 14 15 +0 1 2 3 5 6 8 9 11 12 13 14 +0 1 2 3 5 6 8 9 11 12 13 15 +0 1 2 3 5 6 8 9 11 12 14 15 +0 1 2 3 5 6 8 9 11 13 14 15 +0 1 2 3 5 6 8 9 12 13 14 15 +0 1 2 3 5 6 8 10 11 12 13 14 +0 1 2 3 5 6 8 10 11 12 13 15 +0 1 2 3 5 6 8 10 11 12 14 15 +0 1 2 3 5 6 8 10 11 13 14 15 +0 1 2 3 5 6 8 10 12 13 14 15 +0 1 2 3 5 6 8 11 12 13 14 15 +0 1 2 3 5 6 9 10 11 12 13 14 +0 1 2 3 5 6 9 10 11 12 13 15 +0 1 2 3 5 6 9 10 11 12 14 15 +0 1 2 3 5 6 9 10 11 13 14 15 +0 1 2 3 5 6 9 10 12 13 14 15 +0 1 2 3 5 6 9 11 12 13 14 15 +0 1 2 3 5 6 10 11 12 13 14 15 +0 1 2 3 5 7 8 9 10 11 12 13 +0 1 2 3 5 7 8 9 10 11 12 14 +0 1 2 3 5 7 8 9 10 11 12 15 +0 1 2 3 5 7 8 9 10 11 13 14 +0 1 2 3 5 7 8 9 10 11 13 15 +0 1 2 3 5 7 8 9 10 11 14 15 +0 1 2 3 5 7 8 9 10 12 13 14 +0 1 2 3 5 7 8 9 10 12 13 15 +0 1 2 3 5 7 8 9 10 12 14 15 +0 1 2 3 5 7 8 9 10 13 14 15 +0 1 2 3 5 7 8 9 11 12 13 14 +0 1 2 3 5 7 8 9 11 12 13 15 +0 1 2 3 5 7 8 9 11 12 14 15 +0 1 2 3 5 7 8 9 11 13 14 15 +0 1 2 3 5 7 8 9 12 13 14 15 +0 1 2 3 5 7 8 10 11 12 13 14 +0 1 2 3 5 7 8 10 11 12 13 15 +0 1 2 3 5 7 8 10 11 12 14 15 +0 1 2 3 5 7 8 10 11 13 14 15 +0 1 2 3 5 7 8 10 12 13 14 15 +0 1 2 3 5 7 8 11 12 13 14 15 +0 1 2 3 5 7 9 10 11 12 13 14 +0 1 2 3 5 7 9 10 11 12 13 15 +0 1 2 3 5 7 9 10 11 12 14 15 +0 1 2 3 5 7 9 10 11 13 14 15 +0 1 2 3 5 7 9 10 12 13 14 15 +0 1 2 3 5 7 9 11 12 13 14 15 +0 1 2 3 5 7 10 11 12 13 14 15 +0 1 2 3 5 8 9 10 11 12 13 14 +0 1 2 3 5 8 9 10 11 12 13 15 +0 1 2 3 5 8 9 10 11 12 14 15 +0 1 2 3 5 8 9 10 11 13 14 15 +0 1 2 3 5 8 9 10 12 13 14 15 +0 1 2 3 5 8 9 11 12 13 14 15 +0 1 2 3 5 8 10 11 12 13 14 15 +0 1 2 3 5 9 10 11 12 13 14 15 +0 1 2 3 6 7 8 9 10 11 12 13 +0 1 2 3 6 7 8 9 10 11 12 14 +0 1 2 3 6 7 8 9 10 11 12 15 +0 1 2 3 6 7 8 9 10 11 13 14 +0 1 2 3 6 7 8 9 10 11 13 15 +0 1 2 3 6 7 8 9 10 11 14 15 +0 1 2 3 6 7 8 9 10 12 13 14 +0 1 2 3 6 7 8 9 10 12 13 15 +0 1 2 3 6 7 8 9 10 12 14 15 +0 1 2 3 6 7 8 9 10 13 14 15 +0 1 2 3 6 7 8 9 11 12 13 14 +0 1 2 3 6 7 8 9 11 12 13 15 +0 1 2 3 6 7 8 9 11 12 14 15 +0 1 2 3 6 7 8 9 11 13 14 15 +0 1 2 3 6 7 8 9 12 13 14 15 +0 1 2 3 6 7 8 10 11 12 13 14 +0 1 2 3 6 7 8 10 11 12 13 15 +0 1 2 3 6 7 8 10 11 12 14 15 +0 1 2 3 6 7 8 10 11 13 14 15 +0 1 2 3 6 7 8 10 12 13 14 15 +0 1 2 3 6 7 8 11 12 13 14 15 +0 1 2 3 6 7 9 10 11 12 13 14 +0 1 2 3 6 7 9 10 11 12 13 15 +0 1 2 3 6 7 9 10 11 12 14 15 +0 1 2 3 6 7 9 10 11 13 14 15 +0 1 2 3 6 7 9 10 12 13 14 15 +0 1 2 3 6 7 9 11 12 13 14 15 +0 1 2 3 6 7 10 11 12 13 14 15 +0 1 2 3 6 8 9 10 11 12 13 14 +0 1 2 3 6 8 9 10 11 12 13 15 +0 1 2 3 6 8 9 10 11 12 14 15 +0 1 2 3 6 8 9 10 11 13 14 15 +0 1 2 3 6 8 9 10 12 13 14 15 +0 1 2 3 6 8 9 11 12 13 14 15 +0 1 2 3 6 8 10 11 12 13 14 15 +0 1 2 3 6 9 10 11 12 13 14 15 +0 1 2 3 7 8 9 10 11 12 13 14 +0 1 2 3 7 8 9 10 11 12 13 15 +0 1 2 3 7 8 9 10 11 12 14 15 +0 1 2 3 7 8 9 10 11 13 14 15 +0 1 2 3 7 8 9 10 12 13 14 15 +0 1 2 3 7 8 9 11 12 13 14 15 +0 1 2 3 7 8 10 11 12 13 14 15 +0 1 2 3 7 9 10 11 12 13 14 15 +0 1 2 3 8 9 10 11 12 13 14 15 +0 1 2 4 5 6 7 8 9 10 11 12 +0 1 2 4 5 6 7 8 9 10 11 13 +0 1 2 4 5 6 7 8 9 10 11 14 +0 1 2 4 5 6 7 8 9 10 11 15 +0 1 2 4 5 6 7 8 9 10 12 13 +0 1 2 4 5 6 7 8 9 10 12 14 +0 1 2 4 5 6 7 8 9 10 12 15 +0 1 2 4 5 6 7 8 9 10 13 14 +0 1 2 4 5 6 7 8 9 10 13 15 +0 1 2 4 5 6 7 8 9 10 14 15 +0 1 2 4 5 6 7 8 9 11 12 13 +0 1 2 4 5 6 7 8 9 11 12 14 +0 1 2 4 5 6 7 8 9 11 12 15 +0 1 2 4 5 6 7 8 9 11 13 14 +0 1 2 4 5 6 7 8 9 11 13 15 +0 1 2 4 5 6 7 8 9 11 14 15 +0 1 2 4 5 6 7 8 9 12 13 14 +0 1 2 4 5 6 7 8 9 12 13 15 +0 1 2 4 5 6 7 8 9 12 14 15 +0 1 2 4 5 6 7 8 9 13 14 15 +0 1 2 4 5 6 7 8 10 11 12 13 +0 1 2 4 5 6 7 8 10 11 12 14 +0 1 2 4 5 6 7 8 10 11 12 15 +0 1 2 4 5 6 7 8 10 11 13 14 +0 1 2 4 5 6 7 8 10 11 13 15 +0 1 2 4 5 6 7 8 10 11 14 15 +0 1 2 4 5 6 7 8 10 12 13 14 +0 1 2 4 5 6 7 8 10 12 13 15 +0 1 2 4 5 6 7 8 10 12 14 15 +0 1 2 4 5 6 7 8 10 13 14 15 +0 1 2 4 5 6 7 8 11 12 13 14 +0 1 2 4 5 6 7 8 11 12 13 15 +0 1 2 4 5 6 7 8 11 12 14 15 +0 1 2 4 5 6 7 8 11 13 14 15 +0 1 2 4 5 6 7 8 12 13 14 15 +0 1 2 4 5 6 7 9 10 11 12 13 +0 1 2 4 5 6 7 9 10 11 12 14 +0 1 2 4 5 6 7 9 10 11 12 15 +0 1 2 4 5 6 7 9 10 11 13 14 +0 1 2 4 5 6 7 9 10 11 13 15 +0 1 2 4 5 6 7 9 10 11 14 15 +0 1 2 4 5 6 7 9 10 12 13 14 +0 1 2 4 5 6 7 9 10 12 13 15 +0 1 2 4 5 6 7 9 10 12 14 15 +0 1 2 4 5 6 7 9 10 13 14 15 +0 1 2 4 5 6 7 9 11 12 13 14 +0 1 2 4 5 6 7 9 11 12 13 15 +0 1 2 4 5 6 7 9 11 12 14 15 +0 1 2 4 5 6 7 9 11 13 14 15 +0 1 2 4 5 6 7 9 12 13 14 15 +0 1 2 4 5 6 7 10 11 12 13 14 +0 1 2 4 5 6 7 10 11 12 13 15 +0 1 2 4 5 6 7 10 11 12 14 15 +0 1 2 4 5 6 7 10 11 13 14 15 +0 1 2 4 5 6 7 10 12 13 14 15 +0 1 2 4 5 6 7 11 12 13 14 15 +0 1 2 4 5 6 8 9 10 11 12 13 +0 1 2 4 5 6 8 9 10 11 12 14 +0 1 2 4 5 6 8 9 10 11 12 15 +0 1 2 4 5 6 8 9 10 11 13 14 +0 1 2 4 5 6 8 9 10 11 13 15 +0 1 2 4 5 6 8 9 10 11 14 15 +0 1 2 4 5 6 8 9 10 12 13 14 +0 1 2 4 5 6 8 9 10 12 13 15 +0 1 2 4 5 6 8 9 10 12 14 15 +0 1 2 4 5 6 8 9 10 13 14 15 +0 1 2 4 5 6 8 9 11 12 13 14 +0 1 2 4 5 6 8 9 11 12 13 15 +0 1 2 4 5 6 8 9 11 12 14 15 +0 1 2 4 5 6 8 9 11 13 14 15 +0 1 2 4 5 6 8 9 12 13 14 15 +0 1 2 4 5 6 8 10 11 12 13 14 +0 1 2 4 5 6 8 10 11 12 13 15 +0 1 2 4 5 6 8 10 11 12 14 15 +0 1 2 4 5 6 8 10 11 13 14 15 +0 1 2 4 5 6 8 10 12 13 14 15 +0 1 2 4 5 6 8 11 12 13 14 15 +0 1 2 4 5 6 9 10 11 12 13 14 +0 1 2 4 5 6 9 10 11 12 13 15 +0 1 2 4 5 6 9 10 11 12 14 15 +0 1 2 4 5 6 9 10 11 13 14 15 +0 1 2 4 5 6 9 10 12 13 14 15 +0 1 2 4 5 6 9 11 12 13 14 15 +0 1 2 4 5 6 10 11 12 13 14 15 +0 1 2 4 5 7 8 9 10 11 12 13 +0 1 2 4 5 7 8 9 10 11 12 14 +0 1 2 4 5 7 8 9 10 11 12 15 +0 1 2 4 5 7 8 9 10 11 13 14 +0 1 2 4 5 7 8 9 10 11 13 15 +0 1 2 4 5 7 8 9 10 11 14 15 +0 1 2 4 5 7 8 9 10 12 13 14 +0 1 2 4 5 7 8 9 10 12 13 15 +0 1 2 4 5 7 8 9 10 12 14 15 +0 1 2 4 5 7 8 9 10 13 14 15 +0 1 2 4 5 7 8 9 11 12 13 14 +0 1 2 4 5 7 8 9 11 12 13 15 +0 1 2 4 5 7 8 9 11 12 14 15 +0 1 2 4 5 7 8 9 11 13 14 15 +0 1 2 4 5 7 8 9 12 13 14 15 +0 1 2 4 5 7 8 10 11 12 13 14 +0 1 2 4 5 7 8 10 11 12 13 15 +0 1 2 4 5 7 8 10 11 12 14 15 +0 1 2 4 5 7 8 10 11 13 14 15 +0 1 2 4 5 7 8 10 12 13 14 15 +0 1 2 4 5 7 8 11 12 13 14 15 +0 1 2 4 5 7 9 10 11 12 13 14 +0 1 2 4 5 7 9 10 11 12 13 15 +0 1 2 4 5 7 9 10 11 12 14 15 +0 1 2 4 5 7 9 10 11 13 14 15 +0 1 2 4 5 7 9 10 12 13 14 15 +0 1 2 4 5 7 9 11 12 13 14 15 +0 1 2 4 5 7 10 11 12 13 14 15 +0 1 2 4 5 8 9 10 11 12 13 14 +0 1 2 4 5 8 9 10 11 12 13 15 +0 1 2 4 5 8 9 10 11 12 14 15 +0 1 2 4 5 8 9 10 11 13 14 15 +0 1 2 4 5 8 9 10 12 13 14 15 +0 1 2 4 5 8 9 11 12 13 14 15 +0 1 2 4 5 8 10 11 12 13 14 15 +0 1 2 4 5 9 10 11 12 13 14 15 +0 1 2 4 6 7 8 9 10 11 12 13 +0 1 2 4 6 7 8 9 10 11 12 14 +0 1 2 4 6 7 8 9 10 11 12 15 +0 1 2 4 6 7 8 9 10 11 13 14 +0 1 2 4 6 7 8 9 10 11 13 15 +0 1 2 4 6 7 8 9 10 11 14 15 +0 1 2 4 6 7 8 9 10 12 13 14 +0 1 2 4 6 7 8 9 10 12 13 15 +0 1 2 4 6 7 8 9 10 12 14 15 +0 1 2 4 6 7 8 9 10 13 14 15 +0 1 2 4 6 7 8 9 11 12 13 14 +0 1 2 4 6 7 8 9 11 12 13 15 +0 1 2 4 6 7 8 9 11 12 14 15 +0 1 2 4 6 7 8 9 11 13 14 15 +0 1 2 4 6 7 8 9 12 13 14 15 +0 1 2 4 6 7 8 10 11 12 13 14 +0 1 2 4 6 7 8 10 11 12 13 15 +0 1 2 4 6 7 8 10 11 12 14 15 +0 1 2 4 6 7 8 10 11 13 14 15 +0 1 2 4 6 7 8 10 12 13 14 15 +0 1 2 4 6 7 8 11 12 13 14 15 +0 1 2 4 6 7 9 10 11 12 13 14 +0 1 2 4 6 7 9 10 11 12 13 15 +0 1 2 4 6 7 9 10 11 12 14 15 +0 1 2 4 6 7 9 10 11 13 14 15 +0 1 2 4 6 7 9 10 12 13 14 15 +0 1 2 4 6 7 9 11 12 13 14 15 +0 1 2 4 6 7 10 11 12 13 14 15 +0 1 2 4 6 8 9 10 11 12 13 14 +0 1 2 4 6 8 9 10 11 12 13 15 +0 1 2 4 6 8 9 10 11 12 14 15 +0 1 2 4 6 8 9 10 11 13 14 15 +0 1 2 4 6 8 9 10 12 13 14 15 +0 1 2 4 6 8 9 11 12 13 14 15 +0 1 2 4 6 8 10 11 12 13 14 15 +0 1 2 4 6 9 10 11 12 13 14 15 +0 1 2 4 7 8 9 10 11 12 13 14 +0 1 2 4 7 8 9 10 11 12 13 15 +0 1 2 4 7 8 9 10 11 12 14 15 +0 1 2 4 7 8 9 10 11 13 14 15 +0 1 2 4 7 8 9 10 12 13 14 15 +0 1 2 4 7 8 9 11 12 13 14 15 +0 1 2 4 7 8 10 11 12 13 14 15 +0 1 2 4 7 9 10 11 12 13 14 15 +0 1 2 4 8 9 10 11 12 13 14 15 +0 1 2 5 6 7 8 9 10 11 12 13 +0 1 2 5 6 7 8 9 10 11 12 14 +0 1 2 5 6 7 8 9 10 11 12 15 +0 1 2 5 6 7 8 9 10 11 13 14 +0 1 2 5 6 7 8 9 10 11 13 15 +0 1 2 5 6 7 8 9 10 11 14 15 +0 1 2 5 6 7 8 9 10 12 13 14 +0 1 2 5 6 7 8 9 10 12 13 15 +0 1 2 5 6 7 8 9 10 12 14 15 +0 1 2 5 6 7 8 9 10 13 14 15 +0 1 2 5 6 7 8 9 11 12 13 14 +0 1 2 5 6 7 8 9 11 12 13 15 +0 1 2 5 6 7 8 9 11 12 14 15 +0 1 2 5 6 7 8 9 11 13 14 15 +0 1 2 5 6 7 8 9 12 13 14 15 +0 1 2 5 6 7 8 10 11 12 13 14 +0 1 2 5 6 7 8 10 11 12 13 15 +0 1 2 5 6 7 8 10 11 12 14 15 +0 1 2 5 6 7 8 10 11 13 14 15 +0 1 2 5 6 7 8 10 12 13 14 15 +0 1 2 5 6 7 8 11 12 13 14 15 +0 1 2 5 6 7 9 10 11 12 13 14 +0 1 2 5 6 7 9 10 11 12 13 15 +0 1 2 5 6 7 9 10 11 12 14 15 +0 1 2 5 6 7 9 10 11 13 14 15 +0 1 2 5 6 7 9 10 12 13 14 15 +0 1 2 5 6 7 9 11 12 13 14 15 +0 1 2 5 6 7 10 11 12 13 14 15 +0 1 2 5 6 8 9 10 11 12 13 14 +0 1 2 5 6 8 9 10 11 12 13 15 +0 1 2 5 6 8 9 10 11 12 14 15 +0 1 2 5 6 8 9 10 11 13 14 15 +0 1 2 5 6 8 9 10 12 13 14 15 +0 1 2 5 6 8 9 11 12 13 14 15 +0 1 2 5 6 8 10 11 12 13 14 15 +0 1 2 5 6 9 10 11 12 13 14 15 +0 1 2 5 7 8 9 10 11 12 13 14 +0 1 2 5 7 8 9 10 11 12 13 15 +0 1 2 5 7 8 9 10 11 12 14 15 +0 1 2 5 7 8 9 10 11 13 14 15 +0 1 2 5 7 8 9 10 12 13 14 15 +0 1 2 5 7 8 9 11 12 13 14 15 +0 1 2 5 7 8 10 11 12 13 14 15 +0 1 2 5 7 9 10 11 12 13 14 15 +0 1 2 5 8 9 10 11 12 13 14 15 +0 1 2 6 7 8 9 10 11 12 13 14 +0 1 2 6 7 8 9 10 11 12 13 15 +0 1 2 6 7 8 9 10 11 12 14 15 +0 1 2 6 7 8 9 10 11 13 14 15 +0 1 2 6 7 8 9 10 12 13 14 15 +0 1 2 6 7 8 9 11 12 13 14 15 +0 1 2 6 7 8 10 11 12 13 14 15 +0 1 2 6 7 9 10 11 12 13 14 15 +0 1 2 6 8 9 10 11 12 13 14 15 +0 1 2 7 8 9 10 11 12 13 14 15 +0 1 3 4 5 6 7 8 9 10 11 12 +0 1 3 4 5 6 7 8 9 10 11 13 +0 1 3 4 5 6 7 8 9 10 11 14 +0 1 3 4 5 6 7 8 9 10 11 15 +0 1 3 4 5 6 7 8 9 10 12 13 +0 1 3 4 5 6 7 8 9 10 12 14 +0 1 3 4 5 6 7 8 9 10 12 15 +0 1 3 4 5 6 7 8 9 10 13 14 +0 1 3 4 5 6 7 8 9 10 13 15 +0 1 3 4 5 6 7 8 9 10 14 15 +0 1 3 4 5 6 7 8 9 11 12 13 +0 1 3 4 5 6 7 8 9 11 12 14 +0 1 3 4 5 6 7 8 9 11 12 15 +0 1 3 4 5 6 7 8 9 11 13 14 +0 1 3 4 5 6 7 8 9 11 13 15 +0 1 3 4 5 6 7 8 9 11 14 15 +0 1 3 4 5 6 7 8 9 12 13 14 +0 1 3 4 5 6 7 8 9 12 13 15 +0 1 3 4 5 6 7 8 9 12 14 15 +0 1 3 4 5 6 7 8 9 13 14 15 +0 1 3 4 5 6 7 8 10 11 12 13 +0 1 3 4 5 6 7 8 10 11 12 14 +0 1 3 4 5 6 7 8 10 11 12 15 +0 1 3 4 5 6 7 8 10 11 13 14 +0 1 3 4 5 6 7 8 10 11 13 15 +0 1 3 4 5 6 7 8 10 11 14 15 +0 1 3 4 5 6 7 8 10 12 13 14 +0 1 3 4 5 6 7 8 10 12 13 15 +0 1 3 4 5 6 7 8 10 12 14 15 +0 1 3 4 5 6 7 8 10 13 14 15 +0 1 3 4 5 6 7 8 11 12 13 14 +0 1 3 4 5 6 7 8 11 12 13 15 +0 1 3 4 5 6 7 8 11 12 14 15 +0 1 3 4 5 6 7 8 11 13 14 15 +0 1 3 4 5 6 7 8 12 13 14 15 +0 1 3 4 5 6 7 9 10 11 12 13 +0 1 3 4 5 6 7 9 10 11 12 14 +0 1 3 4 5 6 7 9 10 11 12 15 +0 1 3 4 5 6 7 9 10 11 13 14 +0 1 3 4 5 6 7 9 10 11 13 15 +0 1 3 4 5 6 7 9 10 11 14 15 +0 1 3 4 5 6 7 9 10 12 13 14 +0 1 3 4 5 6 7 9 10 12 13 15 +0 1 3 4 5 6 7 9 10 12 14 15 +0 1 3 4 5 6 7 9 10 13 14 15 +0 1 3 4 5 6 7 9 11 12 13 14 +0 1 3 4 5 6 7 9 11 12 13 15 +0 1 3 4 5 6 7 9 11 12 14 15 +0 1 3 4 5 6 7 9 11 13 14 15 +0 1 3 4 5 6 7 9 12 13 14 15 +0 1 3 4 5 6 7 10 11 12 13 14 +0 1 3 4 5 6 7 10 11 12 13 15 +0 1 3 4 5 6 7 10 11 12 14 15 +0 1 3 4 5 6 7 10 11 13 14 15 +0 1 3 4 5 6 7 10 12 13 14 15 +0 1 3 4 5 6 7 11 12 13 14 15 +0 1 3 4 5 6 8 9 10 11 12 13 +0 1 3 4 5 6 8 9 10 11 12 14 +0 1 3 4 5 6 8 9 10 11 12 15 +0 1 3 4 5 6 8 9 10 11 13 14 +0 1 3 4 5 6 8 9 10 11 13 15 +0 1 3 4 5 6 8 9 10 11 14 15 +0 1 3 4 5 6 8 9 10 12 13 14 +0 1 3 4 5 6 8 9 10 12 13 15 +0 1 3 4 5 6 8 9 10 12 14 15 +0 1 3 4 5 6 8 9 10 13 14 15 +0 1 3 4 5 6 8 9 11 12 13 14 +0 1 3 4 5 6 8 9 11 12 13 15 +0 1 3 4 5 6 8 9 11 12 14 15 +0 1 3 4 5 6 8 9 11 13 14 15 +0 1 3 4 5 6 8 9 12 13 14 15 +0 1 3 4 5 6 8 10 11 12 13 14 +0 1 3 4 5 6 8 10 11 12 13 15 +0 1 3 4 5 6 8 10 11 12 14 15 +0 1 3 4 5 6 8 10 11 13 14 15 +0 1 3 4 5 6 8 10 12 13 14 15 +0 1 3 4 5 6 8 11 12 13 14 15 +0 1 3 4 5 6 9 10 11 12 13 14 +0 1 3 4 5 6 9 10 11 12 13 15 +0 1 3 4 5 6 9 10 11 12 14 15 +0 1 3 4 5 6 9 10 11 13 14 15 +0 1 3 4 5 6 9 10 12 13 14 15 +0 1 3 4 5 6 9 11 12 13 14 15 +0 1 3 4 5 6 10 11 12 13 14 15 +0 1 3 4 5 7 8 9 10 11 12 13 +0 1 3 4 5 7 8 9 10 11 12 14 +0 1 3 4 5 7 8 9 10 11 12 15 +0 1 3 4 5 7 8 9 10 11 13 14 +0 1 3 4 5 7 8 9 10 11 13 15 +0 1 3 4 5 7 8 9 10 11 14 15 +0 1 3 4 5 7 8 9 10 12 13 14 +0 1 3 4 5 7 8 9 10 12 13 15 +0 1 3 4 5 7 8 9 10 12 14 15 +0 1 3 4 5 7 8 9 10 13 14 15 +0 1 3 4 5 7 8 9 11 12 13 14 +0 1 3 4 5 7 8 9 11 12 13 15 +0 1 3 4 5 7 8 9 11 12 14 15 +0 1 3 4 5 7 8 9 11 13 14 15 +0 1 3 4 5 7 8 9 12 13 14 15 +0 1 3 4 5 7 8 10 11 12 13 14 +0 1 3 4 5 7 8 10 11 12 13 15 +0 1 3 4 5 7 8 10 11 12 14 15 +0 1 3 4 5 7 8 10 11 13 14 15 +0 1 3 4 5 7 8 10 12 13 14 15 +0 1 3 4 5 7 8 11 12 13 14 15 +0 1 3 4 5 7 9 10 11 12 13 14 +0 1 3 4 5 7 9 10 11 12 13 15 +0 1 3 4 5 7 9 10 11 12 14 15 +0 1 3 4 5 7 9 10 11 13 14 15 +0 1 3 4 5 7 9 10 12 13 14 15 +0 1 3 4 5 7 9 11 12 13 14 15 +0 1 3 4 5 7 10 11 12 13 14 15 +0 1 3 4 5 8 9 10 11 12 13 14 +0 1 3 4 5 8 9 10 11 12 13 15 +0 1 3 4 5 8 9 10 11 12 14 15 +0 1 3 4 5 8 9 10 11 13 14 15 +0 1 3 4 5 8 9 10 12 13 14 15 +0 1 3 4 5 8 9 11 12 13 14 15 +0 1 3 4 5 8 10 11 12 13 14 15 +0 1 3 4 5 9 10 11 12 13 14 15 +0 1 3 4 6 7 8 9 10 11 12 13 +0 1 3 4 6 7 8 9 10 11 12 14 +0 1 3 4 6 7 8 9 10 11 12 15 +0 1 3 4 6 7 8 9 10 11 13 14 +0 1 3 4 6 7 8 9 10 11 13 15 +0 1 3 4 6 7 8 9 10 11 14 15 +0 1 3 4 6 7 8 9 10 12 13 14 +0 1 3 4 6 7 8 9 10 12 13 15 +0 1 3 4 6 7 8 9 10 12 14 15 +0 1 3 4 6 7 8 9 10 13 14 15 +0 1 3 4 6 7 8 9 11 12 13 14 +0 1 3 4 6 7 8 9 11 12 13 15 +0 1 3 4 6 7 8 9 11 12 14 15 +0 1 3 4 6 7 8 9 11 13 14 15 +0 1 3 4 6 7 8 9 12 13 14 15 +0 1 3 4 6 7 8 10 11 12 13 14 +0 1 3 4 6 7 8 10 11 12 13 15 +0 1 3 4 6 7 8 10 11 12 14 15 +0 1 3 4 6 7 8 10 11 13 14 15 +0 1 3 4 6 7 8 10 12 13 14 15 +0 1 3 4 6 7 8 11 12 13 14 15 +0 1 3 4 6 7 9 10 11 12 13 14 +0 1 3 4 6 7 9 10 11 12 13 15 +0 1 3 4 6 7 9 10 11 12 14 15 +0 1 3 4 6 7 9 10 11 13 14 15 +0 1 3 4 6 7 9 10 12 13 14 15 +0 1 3 4 6 7 9 11 12 13 14 15 +0 1 3 4 6 7 10 11 12 13 14 15 +0 1 3 4 6 8 9 10 11 12 13 14 +0 1 3 4 6 8 9 10 11 12 13 15 +0 1 3 4 6 8 9 10 11 12 14 15 +0 1 3 4 6 8 9 10 11 13 14 15 +0 1 3 4 6 8 9 10 12 13 14 15 +0 1 3 4 6 8 9 11 12 13 14 15 +0 1 3 4 6 8 10 11 12 13 14 15 +0 1 3 4 6 9 10 11 12 13 14 15 +0 1 3 4 7 8 9 10 11 12 13 14 +0 1 3 4 7 8 9 10 11 12 13 15 +0 1 3 4 7 8 9 10 11 12 14 15 +0 1 3 4 7 8 9 10 11 13 14 15 +0 1 3 4 7 8 9 10 12 13 14 15 +0 1 3 4 7 8 9 11 12 13 14 15 +0 1 3 4 7 8 10 11 12 13 14 15 +0 1 3 4 7 9 10 11 12 13 14 15 +0 1 3 4 8 9 10 11 12 13 14 15 +0 1 3 5 6 7 8 9 10 11 12 13 +0 1 3 5 6 7 8 9 10 11 12 14 +0 1 3 5 6 7 8 9 10 11 12 15 +0 1 3 5 6 7 8 9 10 11 13 14 +0 1 3 5 6 7 8 9 10 11 13 15 +0 1 3 5 6 7 8 9 10 11 14 15 +0 1 3 5 6 7 8 9 10 12 13 14 +0 1 3 5 6 7 8 9 10 12 13 15 +0 1 3 5 6 7 8 9 10 12 14 15 +0 1 3 5 6 7 8 9 10 13 14 15 +0 1 3 5 6 7 8 9 11 12 13 14 +0 1 3 5 6 7 8 9 11 12 13 15 +0 1 3 5 6 7 8 9 11 12 14 15 +0 1 3 5 6 7 8 9 11 13 14 15 +0 1 3 5 6 7 8 9 12 13 14 15 +0 1 3 5 6 7 8 10 11 12 13 14 +0 1 3 5 6 7 8 10 11 12 13 15 +0 1 3 5 6 7 8 10 11 12 14 15 +0 1 3 5 6 7 8 10 11 13 14 15 +0 1 3 5 6 7 8 10 12 13 14 15 +0 1 3 5 6 7 8 11 12 13 14 15 +0 1 3 5 6 7 9 10 11 12 13 14 +0 1 3 5 6 7 9 10 11 12 13 15 +0 1 3 5 6 7 9 10 11 12 14 15 +0 1 3 5 6 7 9 10 11 13 14 15 +0 1 3 5 6 7 9 10 12 13 14 15 +0 1 3 5 6 7 9 11 12 13 14 15 +0 1 3 5 6 7 10 11 12 13 14 15 +0 1 3 5 6 8 9 10 11 12 13 14 +0 1 3 5 6 8 9 10 11 12 13 15 +0 1 3 5 6 8 9 10 11 12 14 15 +0 1 3 5 6 8 9 10 11 13 14 15 +0 1 3 5 6 8 9 10 12 13 14 15 +0 1 3 5 6 8 9 11 12 13 14 15 +0 1 3 5 6 8 10 11 12 13 14 15 +0 1 3 5 6 9 10 11 12 13 14 15 +0 1 3 5 7 8 9 10 11 12 13 14 +0 1 3 5 7 8 9 10 11 12 13 15 +0 1 3 5 7 8 9 10 11 12 14 15 +0 1 3 5 7 8 9 10 11 13 14 15 +0 1 3 5 7 8 9 10 12 13 14 15 +0 1 3 5 7 8 9 11 12 13 14 15 +0 1 3 5 7 8 10 11 12 13 14 15 +0 1 3 5 7 9 10 11 12 13 14 15 +0 1 3 5 8 9 10 11 12 13 14 15 +0 1 3 6 7 8 9 10 11 12 13 14 +0 1 3 6 7 8 9 10 11 12 13 15 +0 1 3 6 7 8 9 10 11 12 14 15 +0 1 3 6 7 8 9 10 11 13 14 15 +0 1 3 6 7 8 9 10 12 13 14 15 +0 1 3 6 7 8 9 11 12 13 14 15 +0 1 3 6 7 8 10 11 12 13 14 15 +0 1 3 6 7 9 10 11 12 13 14 15 +0 1 3 6 8 9 10 11 12 13 14 15 +0 1 3 7 8 9 10 11 12 13 14 15 +0 1 4 5 6 7 8 9 10 11 12 13 +0 1 4 5 6 7 8 9 10 11 12 14 +0 1 4 5 6 7 8 9 10 11 12 15 +0 1 4 5 6 7 8 9 10 11 13 14 +0 1 4 5 6 7 8 9 10 11 13 15 +0 1 4 5 6 7 8 9 10 11 14 15 +0 1 4 5 6 7 8 9 10 12 13 14 +0 1 4 5 6 7 8 9 10 12 13 15 +0 1 4 5 6 7 8 9 10 12 14 15 +0 1 4 5 6 7 8 9 10 13 14 15 +0 1 4 5 6 7 8 9 11 12 13 14 +0 1 4 5 6 7 8 9 11 12 13 15 +0 1 4 5 6 7 8 9 11 12 14 15 +0 1 4 5 6 7 8 9 11 13 14 15 +0 1 4 5 6 7 8 9 12 13 14 15 +0 1 4 5 6 7 8 10 11 12 13 14 +0 1 4 5 6 7 8 10 11 12 13 15 +0 1 4 5 6 7 8 10 11 12 14 15 +0 1 4 5 6 7 8 10 11 13 14 15 +0 1 4 5 6 7 8 10 12 13 14 15 +0 1 4 5 6 7 8 11 12 13 14 15 +0 1 4 5 6 7 9 10 11 12 13 14 +0 1 4 5 6 7 9 10 11 12 13 15 +0 1 4 5 6 7 9 10 11 12 14 15 +0 1 4 5 6 7 9 10 11 13 14 15 +0 1 4 5 6 7 9 10 12 13 14 15 +0 1 4 5 6 7 9 11 12 13 14 15 +0 1 4 5 6 7 10 11 12 13 14 15 +0 1 4 5 6 8 9 10 11 12 13 14 +0 1 4 5 6 8 9 10 11 12 13 15 +0 1 4 5 6 8 9 10 11 12 14 15 +0 1 4 5 6 8 9 10 11 13 14 15 +0 1 4 5 6 8 9 10 12 13 14 15 +0 1 4 5 6 8 9 11 12 13 14 15 +0 1 4 5 6 8 10 11 12 13 14 15 +0 1 4 5 6 9 10 11 12 13 14 15 +0 1 4 5 7 8 9 10 11 12 13 14 +0 1 4 5 7 8 9 10 11 12 13 15 +0 1 4 5 7 8 9 10 11 12 14 15 +0 1 4 5 7 8 9 10 11 13 14 15 +0 1 4 5 7 8 9 10 12 13 14 15 +0 1 4 5 7 8 9 11 12 13 14 15 +0 1 4 5 7 8 10 11 12 13 14 15 +0 1 4 5 7 9 10 11 12 13 14 15 +0 1 4 5 8 9 10 11 12 13 14 15 +0 1 4 6 7 8 9 10 11 12 13 14 +0 1 4 6 7 8 9 10 11 12 13 15 +0 1 4 6 7 8 9 10 11 12 14 15 +0 1 4 6 7 8 9 10 11 13 14 15 +0 1 4 6 7 8 9 10 12 13 14 15 +0 1 4 6 7 8 9 11 12 13 14 15 +0 1 4 6 7 8 10 11 12 13 14 15 +0 1 4 6 7 9 10 11 12 13 14 15 +0 1 4 6 8 9 10 11 12 13 14 15 +0 1 4 7 8 9 10 11 12 13 14 15 +0 1 5 6 7 8 9 10 11 12 13 14 +0 1 5 6 7 8 9 10 11 12 13 15 +0 1 5 6 7 8 9 10 11 12 14 15 +0 1 5 6 7 8 9 10 11 13 14 15 +0 1 5 6 7 8 9 10 12 13 14 15 +0 1 5 6 7 8 9 11 12 13 14 15 +0 1 5 6 7 8 10 11 12 13 14 15 +0 1 5 6 7 9 10 11 12 13 14 15 +0 1 5 6 8 9 10 11 12 13 14 15 +0 1 5 7 8 9 10 11 12 13 14 15 +0 1 6 7 8 9 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 9 10 11 12 +0 2 3 4 5 6 7 8 9 10 11 13 +0 2 3 4 5 6 7 8 9 10 11 14 +0 2 3 4 5 6 7 8 9 10 11 15 +0 2 3 4 5 6 7 8 9 10 12 13 +0 2 3 4 5 6 7 8 9 10 12 14 +0 2 3 4 5 6 7 8 9 10 12 15 +0 2 3 4 5 6 7 8 9 10 13 14 +0 2 3 4 5 6 7 8 9 10 13 15 +0 2 3 4 5 6 7 8 9 10 14 15 +0 2 3 4 5 6 7 8 9 11 12 13 +0 2 3 4 5 6 7 8 9 11 12 14 +0 2 3 4 5 6 7 8 9 11 12 15 +0 2 3 4 5 6 7 8 9 11 13 14 +0 2 3 4 5 6 7 8 9 11 13 15 +0 2 3 4 5 6 7 8 9 11 14 15 +0 2 3 4 5 6 7 8 9 12 13 14 +0 2 3 4 5 6 7 8 9 12 13 15 +0 2 3 4 5 6 7 8 9 12 14 15 +0 2 3 4 5 6 7 8 9 13 14 15 +0 2 3 4 5 6 7 8 10 11 12 13 +0 2 3 4 5 6 7 8 10 11 12 14 +0 2 3 4 5 6 7 8 10 11 12 15 +0 2 3 4 5 6 7 8 10 11 13 14 +0 2 3 4 5 6 7 8 10 11 13 15 +0 2 3 4 5 6 7 8 10 11 14 15 +0 2 3 4 5 6 7 8 10 12 13 14 +0 2 3 4 5 6 7 8 10 12 13 15 +0 2 3 4 5 6 7 8 10 12 14 15 +0 2 3 4 5 6 7 8 10 13 14 15 +0 2 3 4 5 6 7 8 11 12 13 14 +0 2 3 4 5 6 7 8 11 12 13 15 +0 2 3 4 5 6 7 8 11 12 14 15 +0 2 3 4 5 6 7 8 11 13 14 15 +0 2 3 4 5 6 7 8 12 13 14 15 +0 2 3 4 5 6 7 9 10 11 12 13 +0 2 3 4 5 6 7 9 10 11 12 14 +0 2 3 4 5 6 7 9 10 11 12 15 +0 2 3 4 5 6 7 9 10 11 13 14 +0 2 3 4 5 6 7 9 10 11 13 15 +0 2 3 4 5 6 7 9 10 11 14 15 +0 2 3 4 5 6 7 9 10 12 13 14 +0 2 3 4 5 6 7 9 10 12 13 15 +0 2 3 4 5 6 7 9 10 12 14 15 +0 2 3 4 5 6 7 9 10 13 14 15 +0 2 3 4 5 6 7 9 11 12 13 14 +0 2 3 4 5 6 7 9 11 12 13 15 +0 2 3 4 5 6 7 9 11 12 14 15 +0 2 3 4 5 6 7 9 11 13 14 15 +0 2 3 4 5 6 7 9 12 13 14 15 +0 2 3 4 5 6 7 10 11 12 13 14 +0 2 3 4 5 6 7 10 11 12 13 15 +0 2 3 4 5 6 7 10 11 12 14 15 +0 2 3 4 5 6 7 10 11 13 14 15 +0 2 3 4 5 6 7 10 12 13 14 15 +0 2 3 4 5 6 7 11 12 13 14 15 +0 2 3 4 5 6 8 9 10 11 12 13 +0 2 3 4 5 6 8 9 10 11 12 14 +0 2 3 4 5 6 8 9 10 11 12 15 +0 2 3 4 5 6 8 9 10 11 13 14 +0 2 3 4 5 6 8 9 10 11 13 15 +0 2 3 4 5 6 8 9 10 11 14 15 +0 2 3 4 5 6 8 9 10 12 13 14 +0 2 3 4 5 6 8 9 10 12 13 15 +0 2 3 4 5 6 8 9 10 12 14 15 +0 2 3 4 5 6 8 9 10 13 14 15 +0 2 3 4 5 6 8 9 11 12 13 14 +0 2 3 4 5 6 8 9 11 12 13 15 +0 2 3 4 5 6 8 9 11 12 14 15 +0 2 3 4 5 6 8 9 11 13 14 15 +0 2 3 4 5 6 8 9 12 13 14 15 +0 2 3 4 5 6 8 10 11 12 13 14 +0 2 3 4 5 6 8 10 11 12 13 15 +0 2 3 4 5 6 8 10 11 12 14 15 +0 2 3 4 5 6 8 10 11 13 14 15 +0 2 3 4 5 6 8 10 12 13 14 15 +0 2 3 4 5 6 8 11 12 13 14 15 +0 2 3 4 5 6 9 10 11 12 13 14 +0 2 3 4 5 6 9 10 11 12 13 15 +0 2 3 4 5 6 9 10 11 12 14 15 +0 2 3 4 5 6 9 10 11 13 14 15 +0 2 3 4 5 6 9 10 12 13 14 15 +0 2 3 4 5 6 9 11 12 13 14 15 +0 2 3 4 5 6 10 11 12 13 14 15 +0 2 3 4 5 7 8 9 10 11 12 13 +0 2 3 4 5 7 8 9 10 11 12 14 +0 2 3 4 5 7 8 9 10 11 12 15 +0 2 3 4 5 7 8 9 10 11 13 14 +0 2 3 4 5 7 8 9 10 11 13 15 +0 2 3 4 5 7 8 9 10 11 14 15 +0 2 3 4 5 7 8 9 10 12 13 14 +0 2 3 4 5 7 8 9 10 12 13 15 +0 2 3 4 5 7 8 9 10 12 14 15 +0 2 3 4 5 7 8 9 10 13 14 15 +0 2 3 4 5 7 8 9 11 12 13 14 +0 2 3 4 5 7 8 9 11 12 13 15 +0 2 3 4 5 7 8 9 11 12 14 15 +0 2 3 4 5 7 8 9 11 13 14 15 +0 2 3 4 5 7 8 9 12 13 14 15 +0 2 3 4 5 7 8 10 11 12 13 14 +0 2 3 4 5 7 8 10 11 12 13 15 +0 2 3 4 5 7 8 10 11 12 14 15 +0 2 3 4 5 7 8 10 11 13 14 15 +0 2 3 4 5 7 8 10 12 13 14 15 +0 2 3 4 5 7 8 11 12 13 14 15 +0 2 3 4 5 7 9 10 11 12 13 14 +0 2 3 4 5 7 9 10 11 12 13 15 +0 2 3 4 5 7 9 10 11 12 14 15 +0 2 3 4 5 7 9 10 11 13 14 15 +0 2 3 4 5 7 9 10 12 13 14 15 +0 2 3 4 5 7 9 11 12 13 14 15 +0 2 3 4 5 7 10 11 12 13 14 15 +0 2 3 4 5 8 9 10 11 12 13 14 +0 2 3 4 5 8 9 10 11 12 13 15 +0 2 3 4 5 8 9 10 11 12 14 15 +0 2 3 4 5 8 9 10 11 13 14 15 +0 2 3 4 5 8 9 10 12 13 14 15 +0 2 3 4 5 8 9 11 12 13 14 15 +0 2 3 4 5 8 10 11 12 13 14 15 +0 2 3 4 5 9 10 11 12 13 14 15 +0 2 3 4 6 7 8 9 10 11 12 13 +0 2 3 4 6 7 8 9 10 11 12 14 +0 2 3 4 6 7 8 9 10 11 12 15 +0 2 3 4 6 7 8 9 10 11 13 14 +0 2 3 4 6 7 8 9 10 11 13 15 +0 2 3 4 6 7 8 9 10 11 14 15 +0 2 3 4 6 7 8 9 10 12 13 14 +0 2 3 4 6 7 8 9 10 12 13 15 +0 2 3 4 6 7 8 9 10 12 14 15 +0 2 3 4 6 7 8 9 10 13 14 15 +0 2 3 4 6 7 8 9 11 12 13 14 +0 2 3 4 6 7 8 9 11 12 13 15 +0 2 3 4 6 7 8 9 11 12 14 15 +0 2 3 4 6 7 8 9 11 13 14 15 +0 2 3 4 6 7 8 9 12 13 14 15 +0 2 3 4 6 7 8 10 11 12 13 14 +0 2 3 4 6 7 8 10 11 12 13 15 +0 2 3 4 6 7 8 10 11 12 14 15 +0 2 3 4 6 7 8 10 11 13 14 15 +0 2 3 4 6 7 8 10 12 13 14 15 +0 2 3 4 6 7 8 11 12 13 14 15 +0 2 3 4 6 7 9 10 11 12 13 14 +0 2 3 4 6 7 9 10 11 12 13 15 +0 2 3 4 6 7 9 10 11 12 14 15 +0 2 3 4 6 7 9 10 11 13 14 15 +0 2 3 4 6 7 9 10 12 13 14 15 +0 2 3 4 6 7 9 11 12 13 14 15 +0 2 3 4 6 7 10 11 12 13 14 15 +0 2 3 4 6 8 9 10 11 12 13 14 +0 2 3 4 6 8 9 10 11 12 13 15 +0 2 3 4 6 8 9 10 11 12 14 15 +0 2 3 4 6 8 9 10 11 13 14 15 +0 2 3 4 6 8 9 10 12 13 14 15 +0 2 3 4 6 8 9 11 12 13 14 15 +0 2 3 4 6 8 10 11 12 13 14 15 +0 2 3 4 6 9 10 11 12 13 14 15 +0 2 3 4 7 8 9 10 11 12 13 14 +0 2 3 4 7 8 9 10 11 12 13 15 +0 2 3 4 7 8 9 10 11 12 14 15 +0 2 3 4 7 8 9 10 11 13 14 15 +0 2 3 4 7 8 9 10 12 13 14 15 +0 2 3 4 7 8 9 11 12 13 14 15 +0 2 3 4 7 8 10 11 12 13 14 15 +0 2 3 4 7 9 10 11 12 13 14 15 +0 2 3 4 8 9 10 11 12 13 14 15 +0 2 3 5 6 7 8 9 10 11 12 13 +0 2 3 5 6 7 8 9 10 11 12 14 +0 2 3 5 6 7 8 9 10 11 12 15 +0 2 3 5 6 7 8 9 10 11 13 14 +0 2 3 5 6 7 8 9 10 11 13 15 +0 2 3 5 6 7 8 9 10 11 14 15 +0 2 3 5 6 7 8 9 10 12 13 14 +0 2 3 5 6 7 8 9 10 12 13 15 +0 2 3 5 6 7 8 9 10 12 14 15 +0 2 3 5 6 7 8 9 10 13 14 15 +0 2 3 5 6 7 8 9 11 12 13 14 +0 2 3 5 6 7 8 9 11 12 13 15 +0 2 3 5 6 7 8 9 11 12 14 15 +0 2 3 5 6 7 8 9 11 13 14 15 +0 2 3 5 6 7 8 9 12 13 14 15 +0 2 3 5 6 7 8 10 11 12 13 14 +0 2 3 5 6 7 8 10 11 12 13 15 +0 2 3 5 6 7 8 10 11 12 14 15 +0 2 3 5 6 7 8 10 11 13 14 15 +0 2 3 5 6 7 8 10 12 13 14 15 +0 2 3 5 6 7 8 11 12 13 14 15 +0 2 3 5 6 7 9 10 11 12 13 14 +0 2 3 5 6 7 9 10 11 12 13 15 +0 2 3 5 6 7 9 10 11 12 14 15 +0 2 3 5 6 7 9 10 11 13 14 15 +0 2 3 5 6 7 9 10 12 13 14 15 +0 2 3 5 6 7 9 11 12 13 14 15 +0 2 3 5 6 7 10 11 12 13 14 15 +0 2 3 5 6 8 9 10 11 12 13 14 +0 2 3 5 6 8 9 10 11 12 13 15 +0 2 3 5 6 8 9 10 11 12 14 15 +0 2 3 5 6 8 9 10 11 13 14 15 +0 2 3 5 6 8 9 10 12 13 14 15 +0 2 3 5 6 8 9 11 12 13 14 15 +0 2 3 5 6 8 10 11 12 13 14 15 +0 2 3 5 6 9 10 11 12 13 14 15 +0 2 3 5 7 8 9 10 11 12 13 14 +0 2 3 5 7 8 9 10 11 12 13 15 +0 2 3 5 7 8 9 10 11 12 14 15 +0 2 3 5 7 8 9 10 11 13 14 15 +0 2 3 5 7 8 9 10 12 13 14 15 +0 2 3 5 7 8 9 11 12 13 14 15 +0 2 3 5 7 8 10 11 12 13 14 15 +0 2 3 5 7 9 10 11 12 13 14 15 +0 2 3 5 8 9 10 11 12 13 14 15 +0 2 3 6 7 8 9 10 11 12 13 14 +0 2 3 6 7 8 9 10 11 12 13 15 +0 2 3 6 7 8 9 10 11 12 14 15 +0 2 3 6 7 8 9 10 11 13 14 15 +0 2 3 6 7 8 9 10 12 13 14 15 +0 2 3 6 7 8 9 11 12 13 14 15 +0 2 3 6 7 8 10 11 12 13 14 15 +0 2 3 6 7 9 10 11 12 13 14 15 +0 2 3 6 8 9 10 11 12 13 14 15 +0 2 3 7 8 9 10 11 12 13 14 15 +0 2 4 5 6 7 8 9 10 11 12 13 +0 2 4 5 6 7 8 9 10 11 12 14 +0 2 4 5 6 7 8 9 10 11 12 15 +0 2 4 5 6 7 8 9 10 11 13 14 +0 2 4 5 6 7 8 9 10 11 13 15 +0 2 4 5 6 7 8 9 10 11 14 15 +0 2 4 5 6 7 8 9 10 12 13 14 +0 2 4 5 6 7 8 9 10 12 13 15 +0 2 4 5 6 7 8 9 10 12 14 15 +0 2 4 5 6 7 8 9 10 13 14 15 +0 2 4 5 6 7 8 9 11 12 13 14 +0 2 4 5 6 7 8 9 11 12 13 15 +0 2 4 5 6 7 8 9 11 12 14 15 +0 2 4 5 6 7 8 9 11 13 14 15 +0 2 4 5 6 7 8 9 12 13 14 15 +0 2 4 5 6 7 8 10 11 12 13 14 +0 2 4 5 6 7 8 10 11 12 13 15 +0 2 4 5 6 7 8 10 11 12 14 15 +0 2 4 5 6 7 8 10 11 13 14 15 +0 2 4 5 6 7 8 10 12 13 14 15 +0 2 4 5 6 7 8 11 12 13 14 15 +0 2 4 5 6 7 9 10 11 12 13 14 +0 2 4 5 6 7 9 10 11 12 13 15 +0 2 4 5 6 7 9 10 11 12 14 15 +0 2 4 5 6 7 9 10 11 13 14 15 +0 2 4 5 6 7 9 10 12 13 14 15 +0 2 4 5 6 7 9 11 12 13 14 15 +0 2 4 5 6 7 10 11 12 13 14 15 +0 2 4 5 6 8 9 10 11 12 13 14 +0 2 4 5 6 8 9 10 11 12 13 15 +0 2 4 5 6 8 9 10 11 12 14 15 +0 2 4 5 6 8 9 10 11 13 14 15 +0 2 4 5 6 8 9 10 12 13 14 15 +0 2 4 5 6 8 9 11 12 13 14 15 +0 2 4 5 6 8 10 11 12 13 14 15 +0 2 4 5 6 9 10 11 12 13 14 15 +0 2 4 5 7 8 9 10 11 12 13 14 +0 2 4 5 7 8 9 10 11 12 13 15 +0 2 4 5 7 8 9 10 11 12 14 15 +0 2 4 5 7 8 9 10 11 13 14 15 +0 2 4 5 7 8 9 10 12 13 14 15 +0 2 4 5 7 8 9 11 12 13 14 15 +0 2 4 5 7 8 10 11 12 13 14 15 +0 2 4 5 7 9 10 11 12 13 14 15 +0 2 4 5 8 9 10 11 12 13 14 15 +0 2 4 6 7 8 9 10 11 12 13 14 +0 2 4 6 7 8 9 10 11 12 13 15 +0 2 4 6 7 8 9 10 11 12 14 15 +0 2 4 6 7 8 9 10 11 13 14 15 +0 2 4 6 7 8 9 10 12 13 14 15 +0 2 4 6 7 8 9 11 12 13 14 15 +0 2 4 6 7 8 10 11 12 13 14 15 +0 2 4 6 7 9 10 11 12 13 14 15 +0 2 4 6 8 9 10 11 12 13 14 15 +0 2 4 7 8 9 10 11 12 13 14 15 +0 2 5 6 7 8 9 10 11 12 13 14 +0 2 5 6 7 8 9 10 11 12 13 15 +0 2 5 6 7 8 9 10 11 12 14 15 +0 2 5 6 7 8 9 10 11 13 14 15 +0 2 5 6 7 8 9 10 12 13 14 15 +0 2 5 6 7 8 9 11 12 13 14 15 +0 2 5 6 7 8 10 11 12 13 14 15 +0 2 5 6 7 9 10 11 12 13 14 15 +0 2 5 6 8 9 10 11 12 13 14 15 +0 2 5 7 8 9 10 11 12 13 14 15 +0 2 6 7 8 9 10 11 12 13 14 15 +0 3 4 5 6 7 8 9 10 11 12 13 +0 3 4 5 6 7 8 9 10 11 12 14 +0 3 4 5 6 7 8 9 10 11 12 15 +0 3 4 5 6 7 8 9 10 11 13 14 +0 3 4 5 6 7 8 9 10 11 13 15 +0 3 4 5 6 7 8 9 10 11 14 15 +0 3 4 5 6 7 8 9 10 12 13 14 +0 3 4 5 6 7 8 9 10 12 13 15 +0 3 4 5 6 7 8 9 10 12 14 15 +0 3 4 5 6 7 8 9 10 13 14 15 +0 3 4 5 6 7 8 9 11 12 13 14 +0 3 4 5 6 7 8 9 11 12 13 15 +0 3 4 5 6 7 8 9 11 12 14 15 +0 3 4 5 6 7 8 9 11 13 14 15 +0 3 4 5 6 7 8 9 12 13 14 15 +0 3 4 5 6 7 8 10 11 12 13 14 +0 3 4 5 6 7 8 10 11 12 13 15 +0 3 4 5 6 7 8 10 11 12 14 15 +0 3 4 5 6 7 8 10 11 13 14 15 +0 3 4 5 6 7 8 10 12 13 14 15 +0 3 4 5 6 7 8 11 12 13 14 15 +0 3 4 5 6 7 9 10 11 12 13 14 +0 3 4 5 6 7 9 10 11 12 13 15 +0 3 4 5 6 7 9 10 11 12 14 15 +0 3 4 5 6 7 9 10 11 13 14 15 +0 3 4 5 6 7 9 10 12 13 14 15 +0 3 4 5 6 7 9 11 12 13 14 15 +0 3 4 5 6 7 10 11 12 13 14 15 +0 3 4 5 6 8 9 10 11 12 13 14 +0 3 4 5 6 8 9 10 11 12 13 15 +0 3 4 5 6 8 9 10 11 12 14 15 +0 3 4 5 6 8 9 10 11 13 14 15 +0 3 4 5 6 8 9 10 12 13 14 15 +0 3 4 5 6 8 9 11 12 13 14 15 +0 3 4 5 6 8 10 11 12 13 14 15 +0 3 4 5 6 9 10 11 12 13 14 15 +0 3 4 5 7 8 9 10 11 12 13 14 +0 3 4 5 7 8 9 10 11 12 13 15 +0 3 4 5 7 8 9 10 11 12 14 15 +0 3 4 5 7 8 9 10 11 13 14 15 +0 3 4 5 7 8 9 10 12 13 14 15 +0 3 4 5 7 8 9 11 12 13 14 15 +0 3 4 5 7 8 10 11 12 13 14 15 +0 3 4 5 7 9 10 11 12 13 14 15 +0 3 4 5 8 9 10 11 12 13 14 15 +0 3 4 6 7 8 9 10 11 12 13 14 +0 3 4 6 7 8 9 10 11 12 13 15 +0 3 4 6 7 8 9 10 11 12 14 15 +0 3 4 6 7 8 9 10 11 13 14 15 +0 3 4 6 7 8 9 10 12 13 14 15 +0 3 4 6 7 8 9 11 12 13 14 15 +0 3 4 6 7 8 10 11 12 13 14 15 +0 3 4 6 7 9 10 11 12 13 14 15 +0 3 4 6 8 9 10 11 12 13 14 15 +0 3 4 7 8 9 10 11 12 13 14 15 +0 3 5 6 7 8 9 10 11 12 13 14 +0 3 5 6 7 8 9 10 11 12 13 15 +0 3 5 6 7 8 9 10 11 12 14 15 +0 3 5 6 7 8 9 10 11 13 14 15 +0 3 5 6 7 8 9 10 12 13 14 15 +0 3 5 6 7 8 9 11 12 13 14 15 +0 3 5 6 7 8 10 11 12 13 14 15 +0 3 5 6 7 9 10 11 12 13 14 15 +0 3 5 6 8 9 10 11 12 13 14 15 +0 3 5 7 8 9 10 11 12 13 14 15 +0 3 6 7 8 9 10 11 12 13 14 15 +0 4 5 6 7 8 9 10 11 12 13 14 +0 4 5 6 7 8 9 10 11 12 13 15 +0 4 5 6 7 8 9 10 11 12 14 15 +0 4 5 6 7 8 9 10 11 13 14 15 +0 4 5 6 7 8 9 10 12 13 14 15 +0 4 5 6 7 8 9 11 12 13 14 15 +0 4 5 6 7 8 10 11 12 13 14 15 +0 4 5 6 7 9 10 11 12 13 14 15 +0 4 5 6 8 9 10 11 12 13 14 15 +0 4 5 7 8 9 10 11 12 13 14 15 +0 4 6 7 8 9 10 11 12 13 14 15 +0 5 6 7 8 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 9 10 11 12 +1 2 3 4 5 6 7 8 9 10 11 13 +1 2 3 4 5 6 7 8 9 10 11 14 +1 2 3 4 5 6 7 8 9 10 11 15 +1 2 3 4 5 6 7 8 9 10 12 13 +1 2 3 4 5 6 7 8 9 10 12 14 +1 2 3 4 5 6 7 8 9 10 12 15 +1 2 3 4 5 6 7 8 9 10 13 14 +1 2 3 4 5 6 7 8 9 10 13 15 +1 2 3 4 5 6 7 8 9 10 14 15 +1 2 3 4 5 6 7 8 9 11 12 13 +1 2 3 4 5 6 7 8 9 11 12 14 +1 2 3 4 5 6 7 8 9 11 12 15 +1 2 3 4 5 6 7 8 9 11 13 14 +1 2 3 4 5 6 7 8 9 11 13 15 +1 2 3 4 5 6 7 8 9 11 14 15 +1 2 3 4 5 6 7 8 9 12 13 14 +1 2 3 4 5 6 7 8 9 12 13 15 +1 2 3 4 5 6 7 8 9 12 14 15 +1 2 3 4 5 6 7 8 9 13 14 15 +1 2 3 4 5 6 7 8 10 11 12 13 +1 2 3 4 5 6 7 8 10 11 12 14 +1 2 3 4 5 6 7 8 10 11 12 15 +1 2 3 4 5 6 7 8 10 11 13 14 +1 2 3 4 5 6 7 8 10 11 13 15 +1 2 3 4 5 6 7 8 10 11 14 15 +1 2 3 4 5 6 7 8 10 12 13 14 +1 2 3 4 5 6 7 8 10 12 13 15 +1 2 3 4 5 6 7 8 10 12 14 15 +1 2 3 4 5 6 7 8 10 13 14 15 +1 2 3 4 5 6 7 8 11 12 13 14 +1 2 3 4 5 6 7 8 11 12 13 15 +1 2 3 4 5 6 7 8 11 12 14 15 +1 2 3 4 5 6 7 8 11 13 14 15 +1 2 3 4 5 6 7 8 12 13 14 15 +1 2 3 4 5 6 7 9 10 11 12 13 +1 2 3 4 5 6 7 9 10 11 12 14 +1 2 3 4 5 6 7 9 10 11 12 15 +1 2 3 4 5 6 7 9 10 11 13 14 +1 2 3 4 5 6 7 9 10 11 13 15 +1 2 3 4 5 6 7 9 10 11 14 15 +1 2 3 4 5 6 7 9 10 12 13 14 +1 2 3 4 5 6 7 9 10 12 13 15 +1 2 3 4 5 6 7 9 10 12 14 15 +1 2 3 4 5 6 7 9 10 13 14 15 +1 2 3 4 5 6 7 9 11 12 13 14 +1 2 3 4 5 6 7 9 11 12 13 15 +1 2 3 4 5 6 7 9 11 12 14 15 +1 2 3 4 5 6 7 9 11 13 14 15 +1 2 3 4 5 6 7 9 12 13 14 15 +1 2 3 4 5 6 7 10 11 12 13 14 +1 2 3 4 5 6 7 10 11 12 13 15 +1 2 3 4 5 6 7 10 11 12 14 15 +1 2 3 4 5 6 7 10 11 13 14 15 +1 2 3 4 5 6 7 10 12 13 14 15 +1 2 3 4 5 6 7 11 12 13 14 15 +1 2 3 4 5 6 8 9 10 11 12 13 +1 2 3 4 5 6 8 9 10 11 12 14 +1 2 3 4 5 6 8 9 10 11 12 15 +1 2 3 4 5 6 8 9 10 11 13 14 +1 2 3 4 5 6 8 9 10 11 13 15 +1 2 3 4 5 6 8 9 10 11 14 15 +1 2 3 4 5 6 8 9 10 12 13 14 +1 2 3 4 5 6 8 9 10 12 13 15 +1 2 3 4 5 6 8 9 10 12 14 15 +1 2 3 4 5 6 8 9 10 13 14 15 +1 2 3 4 5 6 8 9 11 12 13 14 +1 2 3 4 5 6 8 9 11 12 13 15 +1 2 3 4 5 6 8 9 11 12 14 15 +1 2 3 4 5 6 8 9 11 13 14 15 +1 2 3 4 5 6 8 9 12 13 14 15 +1 2 3 4 5 6 8 10 11 12 13 14 +1 2 3 4 5 6 8 10 11 12 13 15 +1 2 3 4 5 6 8 10 11 12 14 15 +1 2 3 4 5 6 8 10 11 13 14 15 +1 2 3 4 5 6 8 10 12 13 14 15 +1 2 3 4 5 6 8 11 12 13 14 15 +1 2 3 4 5 6 9 10 11 12 13 14 +1 2 3 4 5 6 9 10 11 12 13 15 +1 2 3 4 5 6 9 10 11 12 14 15 +1 2 3 4 5 6 9 10 11 13 14 15 +1 2 3 4 5 6 9 10 12 13 14 15 +1 2 3 4 5 6 9 11 12 13 14 15 +1 2 3 4 5 6 10 11 12 13 14 15 +1 2 3 4 5 7 8 9 10 11 12 13 +1 2 3 4 5 7 8 9 10 11 12 14 +1 2 3 4 5 7 8 9 10 11 12 15 +1 2 3 4 5 7 8 9 10 11 13 14 +1 2 3 4 5 7 8 9 10 11 13 15 +1 2 3 4 5 7 8 9 10 11 14 15 +1 2 3 4 5 7 8 9 10 12 13 14 +1 2 3 4 5 7 8 9 10 12 13 15 +1 2 3 4 5 7 8 9 10 12 14 15 +1 2 3 4 5 7 8 9 10 13 14 15 +1 2 3 4 5 7 8 9 11 12 13 14 +1 2 3 4 5 7 8 9 11 12 13 15 +1 2 3 4 5 7 8 9 11 12 14 15 +1 2 3 4 5 7 8 9 11 13 14 15 +1 2 3 4 5 7 8 9 12 13 14 15 +1 2 3 4 5 7 8 10 11 12 13 14 +1 2 3 4 5 7 8 10 11 12 13 15 +1 2 3 4 5 7 8 10 11 12 14 15 +1 2 3 4 5 7 8 10 11 13 14 15 +1 2 3 4 5 7 8 10 12 13 14 15 +1 2 3 4 5 7 8 11 12 13 14 15 +1 2 3 4 5 7 9 10 11 12 13 14 +1 2 3 4 5 7 9 10 11 12 13 15 +1 2 3 4 5 7 9 10 11 12 14 15 +1 2 3 4 5 7 9 10 11 13 14 15 +1 2 3 4 5 7 9 10 12 13 14 15 +1 2 3 4 5 7 9 11 12 13 14 15 +1 2 3 4 5 7 10 11 12 13 14 15 +1 2 3 4 5 8 9 10 11 12 13 14 +1 2 3 4 5 8 9 10 11 12 13 15 +1 2 3 4 5 8 9 10 11 12 14 15 +1 2 3 4 5 8 9 10 11 13 14 15 +1 2 3 4 5 8 9 10 12 13 14 15 +1 2 3 4 5 8 9 11 12 13 14 15 +1 2 3 4 5 8 10 11 12 13 14 15 +1 2 3 4 5 9 10 11 12 13 14 15 +1 2 3 4 6 7 8 9 10 11 12 13 +1 2 3 4 6 7 8 9 10 11 12 14 +1 2 3 4 6 7 8 9 10 11 12 15 +1 2 3 4 6 7 8 9 10 11 13 14 +1 2 3 4 6 7 8 9 10 11 13 15 +1 2 3 4 6 7 8 9 10 11 14 15 +1 2 3 4 6 7 8 9 10 12 13 14 +1 2 3 4 6 7 8 9 10 12 13 15 +1 2 3 4 6 7 8 9 10 12 14 15 +1 2 3 4 6 7 8 9 10 13 14 15 +1 2 3 4 6 7 8 9 11 12 13 14 +1 2 3 4 6 7 8 9 11 12 13 15 +1 2 3 4 6 7 8 9 11 12 14 15 +1 2 3 4 6 7 8 9 11 13 14 15 +1 2 3 4 6 7 8 9 12 13 14 15 +1 2 3 4 6 7 8 10 11 12 13 14 +1 2 3 4 6 7 8 10 11 12 13 15 +1 2 3 4 6 7 8 10 11 12 14 15 +1 2 3 4 6 7 8 10 11 13 14 15 +1 2 3 4 6 7 8 10 12 13 14 15 +1 2 3 4 6 7 8 11 12 13 14 15 +1 2 3 4 6 7 9 10 11 12 13 14 +1 2 3 4 6 7 9 10 11 12 13 15 +1 2 3 4 6 7 9 10 11 12 14 15 +1 2 3 4 6 7 9 10 11 13 14 15 +1 2 3 4 6 7 9 10 12 13 14 15 +1 2 3 4 6 7 9 11 12 13 14 15 +1 2 3 4 6 7 10 11 12 13 14 15 +1 2 3 4 6 8 9 10 11 12 13 14 +1 2 3 4 6 8 9 10 11 12 13 15 +1 2 3 4 6 8 9 10 11 12 14 15 +1 2 3 4 6 8 9 10 11 13 14 15 +1 2 3 4 6 8 9 10 12 13 14 15 +1 2 3 4 6 8 9 11 12 13 14 15 +1 2 3 4 6 8 10 11 12 13 14 15 +1 2 3 4 6 9 10 11 12 13 14 15 +1 2 3 4 7 8 9 10 11 12 13 14 +1 2 3 4 7 8 9 10 11 12 13 15 +1 2 3 4 7 8 9 10 11 12 14 15 +1 2 3 4 7 8 9 10 11 13 14 15 +1 2 3 4 7 8 9 10 12 13 14 15 +1 2 3 4 7 8 9 11 12 13 14 15 +1 2 3 4 7 8 10 11 12 13 14 15 +1 2 3 4 7 9 10 11 12 13 14 15 +1 2 3 4 8 9 10 11 12 13 14 15 +1 2 3 5 6 7 8 9 10 11 12 13 +1 2 3 5 6 7 8 9 10 11 12 14 +1 2 3 5 6 7 8 9 10 11 12 15 +1 2 3 5 6 7 8 9 10 11 13 14 +1 2 3 5 6 7 8 9 10 11 13 15 +1 2 3 5 6 7 8 9 10 11 14 15 +1 2 3 5 6 7 8 9 10 12 13 14 +1 2 3 5 6 7 8 9 10 12 13 15 +1 2 3 5 6 7 8 9 10 12 14 15 +1 2 3 5 6 7 8 9 10 13 14 15 +1 2 3 5 6 7 8 9 11 12 13 14 +1 2 3 5 6 7 8 9 11 12 13 15 +1 2 3 5 6 7 8 9 11 12 14 15 +1 2 3 5 6 7 8 9 11 13 14 15 +1 2 3 5 6 7 8 9 12 13 14 15 +1 2 3 5 6 7 8 10 11 12 13 14 +1 2 3 5 6 7 8 10 11 12 13 15 +1 2 3 5 6 7 8 10 11 12 14 15 +1 2 3 5 6 7 8 10 11 13 14 15 +1 2 3 5 6 7 8 10 12 13 14 15 +1 2 3 5 6 7 8 11 12 13 14 15 +1 2 3 5 6 7 9 10 11 12 13 14 +1 2 3 5 6 7 9 10 11 12 13 15 +1 2 3 5 6 7 9 10 11 12 14 15 +1 2 3 5 6 7 9 10 11 13 14 15 +1 2 3 5 6 7 9 10 12 13 14 15 +1 2 3 5 6 7 9 11 12 13 14 15 +1 2 3 5 6 7 10 11 12 13 14 15 +1 2 3 5 6 8 9 10 11 12 13 14 +1 2 3 5 6 8 9 10 11 12 13 15 +1 2 3 5 6 8 9 10 11 12 14 15 +1 2 3 5 6 8 9 10 11 13 14 15 +1 2 3 5 6 8 9 10 12 13 14 15 +1 2 3 5 6 8 9 11 12 13 14 15 +1 2 3 5 6 8 10 11 12 13 14 15 +1 2 3 5 6 9 10 11 12 13 14 15 +1 2 3 5 7 8 9 10 11 12 13 14 +1 2 3 5 7 8 9 10 11 12 13 15 +1 2 3 5 7 8 9 10 11 12 14 15 +1 2 3 5 7 8 9 10 11 13 14 15 +1 2 3 5 7 8 9 10 12 13 14 15 +1 2 3 5 7 8 9 11 12 13 14 15 +1 2 3 5 7 8 10 11 12 13 14 15 +1 2 3 5 7 9 10 11 12 13 14 15 +1 2 3 5 8 9 10 11 12 13 14 15 +1 2 3 6 7 8 9 10 11 12 13 14 +1 2 3 6 7 8 9 10 11 12 13 15 +1 2 3 6 7 8 9 10 11 12 14 15 +1 2 3 6 7 8 9 10 11 13 14 15 +1 2 3 6 7 8 9 10 12 13 14 15 +1 2 3 6 7 8 9 11 12 13 14 15 +1 2 3 6 7 8 10 11 12 13 14 15 +1 2 3 6 7 9 10 11 12 13 14 15 +1 2 3 6 8 9 10 11 12 13 14 15 +1 2 3 7 8 9 10 11 12 13 14 15 +1 2 4 5 6 7 8 9 10 11 12 13 +1 2 4 5 6 7 8 9 10 11 12 14 +1 2 4 5 6 7 8 9 10 11 12 15 +1 2 4 5 6 7 8 9 10 11 13 14 +1 2 4 5 6 7 8 9 10 11 13 15 +1 2 4 5 6 7 8 9 10 11 14 15 +1 2 4 5 6 7 8 9 10 12 13 14 +1 2 4 5 6 7 8 9 10 12 13 15 +1 2 4 5 6 7 8 9 10 12 14 15 +1 2 4 5 6 7 8 9 10 13 14 15 +1 2 4 5 6 7 8 9 11 12 13 14 +1 2 4 5 6 7 8 9 11 12 13 15 +1 2 4 5 6 7 8 9 11 12 14 15 +1 2 4 5 6 7 8 9 11 13 14 15 +1 2 4 5 6 7 8 9 12 13 14 15 +1 2 4 5 6 7 8 10 11 12 13 14 +1 2 4 5 6 7 8 10 11 12 13 15 +1 2 4 5 6 7 8 10 11 12 14 15 +1 2 4 5 6 7 8 10 11 13 14 15 +1 2 4 5 6 7 8 10 12 13 14 15 +1 2 4 5 6 7 8 11 12 13 14 15 +1 2 4 5 6 7 9 10 11 12 13 14 +1 2 4 5 6 7 9 10 11 12 13 15 +1 2 4 5 6 7 9 10 11 12 14 15 +1 2 4 5 6 7 9 10 11 13 14 15 +1 2 4 5 6 7 9 10 12 13 14 15 +1 2 4 5 6 7 9 11 12 13 14 15 +1 2 4 5 6 7 10 11 12 13 14 15 +1 2 4 5 6 8 9 10 11 12 13 14 +1 2 4 5 6 8 9 10 11 12 13 15 +1 2 4 5 6 8 9 10 11 12 14 15 +1 2 4 5 6 8 9 10 11 13 14 15 +1 2 4 5 6 8 9 10 12 13 14 15 +1 2 4 5 6 8 9 11 12 13 14 15 +1 2 4 5 6 8 10 11 12 13 14 15 +1 2 4 5 6 9 10 11 12 13 14 15 +1 2 4 5 7 8 9 10 11 12 13 14 +1 2 4 5 7 8 9 10 11 12 13 15 +1 2 4 5 7 8 9 10 11 12 14 15 +1 2 4 5 7 8 9 10 11 13 14 15 +1 2 4 5 7 8 9 10 12 13 14 15 +1 2 4 5 7 8 9 11 12 13 14 15 +1 2 4 5 7 8 10 11 12 13 14 15 +1 2 4 5 7 9 10 11 12 13 14 15 +1 2 4 5 8 9 10 11 12 13 14 15 +1 2 4 6 7 8 9 10 11 12 13 14 +1 2 4 6 7 8 9 10 11 12 13 15 +1 2 4 6 7 8 9 10 11 12 14 15 +1 2 4 6 7 8 9 10 11 13 14 15 +1 2 4 6 7 8 9 10 12 13 14 15 +1 2 4 6 7 8 9 11 12 13 14 15 +1 2 4 6 7 8 10 11 12 13 14 15 +1 2 4 6 7 9 10 11 12 13 14 15 +1 2 4 6 8 9 10 11 12 13 14 15 +1 2 4 7 8 9 10 11 12 13 14 15 +1 2 5 6 7 8 9 10 11 12 13 14 +1 2 5 6 7 8 9 10 11 12 13 15 +1 2 5 6 7 8 9 10 11 12 14 15 +1 2 5 6 7 8 9 10 11 13 14 15 +1 2 5 6 7 8 9 10 12 13 14 15 +1 2 5 6 7 8 9 11 12 13 14 15 +1 2 5 6 7 8 10 11 12 13 14 15 +1 2 5 6 7 9 10 11 12 13 14 15 +1 2 5 6 8 9 10 11 12 13 14 15 +1 2 5 7 8 9 10 11 12 13 14 15 +1 2 6 7 8 9 10 11 12 13 14 15 +1 3 4 5 6 7 8 9 10 11 12 13 +1 3 4 5 6 7 8 9 10 11 12 14 +1 3 4 5 6 7 8 9 10 11 12 15 +1 3 4 5 6 7 8 9 10 11 13 14 +1 3 4 5 6 7 8 9 10 11 13 15 +1 3 4 5 6 7 8 9 10 11 14 15 +1 3 4 5 6 7 8 9 10 12 13 14 +1 3 4 5 6 7 8 9 10 12 13 15 +1 3 4 5 6 7 8 9 10 12 14 15 +1 3 4 5 6 7 8 9 10 13 14 15 +1 3 4 5 6 7 8 9 11 12 13 14 +1 3 4 5 6 7 8 9 11 12 13 15 +1 3 4 5 6 7 8 9 11 12 14 15 +1 3 4 5 6 7 8 9 11 13 14 15 +1 3 4 5 6 7 8 9 12 13 14 15 +1 3 4 5 6 7 8 10 11 12 13 14 +1 3 4 5 6 7 8 10 11 12 13 15 +1 3 4 5 6 7 8 10 11 12 14 15 +1 3 4 5 6 7 8 10 11 13 14 15 +1 3 4 5 6 7 8 10 12 13 14 15 +1 3 4 5 6 7 8 11 12 13 14 15 +1 3 4 5 6 7 9 10 11 12 13 14 +1 3 4 5 6 7 9 10 11 12 13 15 +1 3 4 5 6 7 9 10 11 12 14 15 +1 3 4 5 6 7 9 10 11 13 14 15 +1 3 4 5 6 7 9 10 12 13 14 15 +1 3 4 5 6 7 9 11 12 13 14 15 +1 3 4 5 6 7 10 11 12 13 14 15 +1 3 4 5 6 8 9 10 11 12 13 14 +1 3 4 5 6 8 9 10 11 12 13 15 +1 3 4 5 6 8 9 10 11 12 14 15 +1 3 4 5 6 8 9 10 11 13 14 15 +1 3 4 5 6 8 9 10 12 13 14 15 +1 3 4 5 6 8 9 11 12 13 14 15 +1 3 4 5 6 8 10 11 12 13 14 15 +1 3 4 5 6 9 10 11 12 13 14 15 +1 3 4 5 7 8 9 10 11 12 13 14 +1 3 4 5 7 8 9 10 11 12 13 15 +1 3 4 5 7 8 9 10 11 12 14 15 +1 3 4 5 7 8 9 10 11 13 14 15 +1 3 4 5 7 8 9 10 12 13 14 15 +1 3 4 5 7 8 9 11 12 13 14 15 +1 3 4 5 7 8 10 11 12 13 14 15 +1 3 4 5 7 9 10 11 12 13 14 15 +1 3 4 5 8 9 10 11 12 13 14 15 +1 3 4 6 7 8 9 10 11 12 13 14 +1 3 4 6 7 8 9 10 11 12 13 15 +1 3 4 6 7 8 9 10 11 12 14 15 +1 3 4 6 7 8 9 10 11 13 14 15 +1 3 4 6 7 8 9 10 12 13 14 15 +1 3 4 6 7 8 9 11 12 13 14 15 +1 3 4 6 7 8 10 11 12 13 14 15 +1 3 4 6 7 9 10 11 12 13 14 15 +1 3 4 6 8 9 10 11 12 13 14 15 +1 3 4 7 8 9 10 11 12 13 14 15 +1 3 5 6 7 8 9 10 11 12 13 14 +1 3 5 6 7 8 9 10 11 12 13 15 +1 3 5 6 7 8 9 10 11 12 14 15 +1 3 5 6 7 8 9 10 11 13 14 15 +1 3 5 6 7 8 9 10 12 13 14 15 +1 3 5 6 7 8 9 11 12 13 14 15 +1 3 5 6 7 8 10 11 12 13 14 15 +1 3 5 6 7 9 10 11 12 13 14 15 +1 3 5 6 8 9 10 11 12 13 14 15 +1 3 5 7 8 9 10 11 12 13 14 15 +1 3 6 7 8 9 10 11 12 13 14 15 +1 4 5 6 7 8 9 10 11 12 13 14 +1 4 5 6 7 8 9 10 11 12 13 15 +1 4 5 6 7 8 9 10 11 12 14 15 +1 4 5 6 7 8 9 10 11 13 14 15 +1 4 5 6 7 8 9 10 12 13 14 15 +1 4 5 6 7 8 9 11 12 13 14 15 +1 4 5 6 7 8 10 11 12 13 14 15 +1 4 5 6 7 9 10 11 12 13 14 15 +1 4 5 6 8 9 10 11 12 13 14 15 +1 4 5 7 8 9 10 11 12 13 14 15 +1 4 6 7 8 9 10 11 12 13 14 15 +1 5 6 7 8 9 10 11 12 13 14 15 +2 3 4 5 6 7 8 9 10 11 12 13 +2 3 4 5 6 7 8 9 10 11 12 14 +2 3 4 5 6 7 8 9 10 11 12 15 +2 3 4 5 6 7 8 9 10 11 13 14 +2 3 4 5 6 7 8 9 10 11 13 15 +2 3 4 5 6 7 8 9 10 11 14 15 +2 3 4 5 6 7 8 9 10 12 13 14 +2 3 4 5 6 7 8 9 10 12 13 15 +2 3 4 5 6 7 8 9 10 12 14 15 +2 3 4 5 6 7 8 9 10 13 14 15 +2 3 4 5 6 7 8 9 11 12 13 14 +2 3 4 5 6 7 8 9 11 12 13 15 +2 3 4 5 6 7 8 9 11 12 14 15 +2 3 4 5 6 7 8 9 11 13 14 15 +2 3 4 5 6 7 8 9 12 13 14 15 +2 3 4 5 6 7 8 10 11 12 13 14 +2 3 4 5 6 7 8 10 11 12 13 15 +2 3 4 5 6 7 8 10 11 12 14 15 +2 3 4 5 6 7 8 10 11 13 14 15 +2 3 4 5 6 7 8 10 12 13 14 15 +2 3 4 5 6 7 8 11 12 13 14 15 +2 3 4 5 6 7 9 10 11 12 13 14 +2 3 4 5 6 7 9 10 11 12 13 15 +2 3 4 5 6 7 9 10 11 12 14 15 +2 3 4 5 6 7 9 10 11 13 14 15 +2 3 4 5 6 7 9 10 12 13 14 15 +2 3 4 5 6 7 9 11 12 13 14 15 +2 3 4 5 6 7 10 11 12 13 14 15 +2 3 4 5 6 8 9 10 11 12 13 14 +2 3 4 5 6 8 9 10 11 12 13 15 +2 3 4 5 6 8 9 10 11 12 14 15 +2 3 4 5 6 8 9 10 11 13 14 15 +2 3 4 5 6 8 9 10 12 13 14 15 +2 3 4 5 6 8 9 11 12 13 14 15 +2 3 4 5 6 8 10 11 12 13 14 15 +2 3 4 5 6 9 10 11 12 13 14 15 +2 3 4 5 7 8 9 10 11 12 13 14 +2 3 4 5 7 8 9 10 11 12 13 15 +2 3 4 5 7 8 9 10 11 12 14 15 +2 3 4 5 7 8 9 10 11 13 14 15 +2 3 4 5 7 8 9 10 12 13 14 15 +2 3 4 5 7 8 9 11 12 13 14 15 +2 3 4 5 7 8 10 11 12 13 14 15 +2 3 4 5 7 9 10 11 12 13 14 15 +2 3 4 5 8 9 10 11 12 13 14 15 +2 3 4 6 7 8 9 10 11 12 13 14 +2 3 4 6 7 8 9 10 11 12 13 15 +2 3 4 6 7 8 9 10 11 12 14 15 +2 3 4 6 7 8 9 10 11 13 14 15 +2 3 4 6 7 8 9 10 12 13 14 15 +2 3 4 6 7 8 9 11 12 13 14 15 +2 3 4 6 7 8 10 11 12 13 14 15 +2 3 4 6 7 9 10 11 12 13 14 15 +2 3 4 6 8 9 10 11 12 13 14 15 +2 3 4 7 8 9 10 11 12 13 14 15 +2 3 5 6 7 8 9 10 11 12 13 14 +2 3 5 6 7 8 9 10 11 12 13 15 +2 3 5 6 7 8 9 10 11 12 14 15 +2 3 5 6 7 8 9 10 11 13 14 15 +2 3 5 6 7 8 9 10 12 13 14 15 +2 3 5 6 7 8 9 11 12 13 14 15 +2 3 5 6 7 8 10 11 12 13 14 15 +2 3 5 6 7 9 10 11 12 13 14 15 +2 3 5 6 8 9 10 11 12 13 14 15 +2 3 5 7 8 9 10 11 12 13 14 15 +2 3 6 7 8 9 10 11 12 13 14 15 +2 4 5 6 7 8 9 10 11 12 13 14 +2 4 5 6 7 8 9 10 11 12 13 15 +2 4 5 6 7 8 9 10 11 12 14 15 +2 4 5 6 7 8 9 10 11 13 14 15 +2 4 5 6 7 8 9 10 12 13 14 15 +2 4 5 6 7 8 9 11 12 13 14 15 +2 4 5 6 7 8 10 11 12 13 14 15 +2 4 5 6 7 9 10 11 12 13 14 15 +2 4 5 6 8 9 10 11 12 13 14 15 +2 4 5 7 8 9 10 11 12 13 14 15 +2 4 6 7 8 9 10 11 12 13 14 15 +2 5 6 7 8 9 10 11 12 13 14 15 +3 4 5 6 7 8 9 10 11 12 13 14 +3 4 5 6 7 8 9 10 11 12 13 15 +3 4 5 6 7 8 9 10 11 12 14 15 +3 4 5 6 7 8 9 10 11 13 14 15 +3 4 5 6 7 8 9 10 12 13 14 15 +3 4 5 6 7 8 9 11 12 13 14 15 +3 4 5 6 7 8 10 11 12 13 14 15 +3 4 5 6 7 9 10 11 12 13 14 15 +3 4 5 6 8 9 10 11 12 13 14 15 +3 4 5 7 8 9 10 11 12 13 14 15 +3 4 6 7 8 9 10 11 12 13 14 15 +3 5 6 7 8 9 10 11 12 13 14 15 +4 5 6 7 8 9 10 11 12 13 14 15 diff --git a/combines/16-13.txt b/combines/16-13.txt index 7b34f4a..c5f982a 100644 --- a/combines/16-13.txt +++ b/combines/16-13.txt @@ -1,560 +1,560 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 -0 1 2 3 4 5 6 7 8 9 10 11 13 -0 1 2 3 4 5 6 7 8 9 10 11 14 -0 1 2 3 4 5 6 7 8 9 10 11 15 -0 1 2 3 4 5 6 7 8 9 10 12 13 -0 1 2 3 4 5 6 7 8 9 10 12 14 -0 1 2 3 4 5 6 7 8 9 10 12 15 -0 1 2 3 4 5 6 7 8 9 10 13 14 -0 1 2 3 4 5 6 7 8 9 10 13 15 -0 1 2 3 4 5 6 7 8 9 10 14 15 -0 1 2 3 4 5 6 7 8 9 11 12 13 -0 1 2 3 4 5 6 7 8 9 11 12 14 -0 1 2 3 4 5 6 7 8 9 11 12 15 -0 1 2 3 4 5 6 7 8 9 11 13 14 -0 1 2 3 4 5 6 7 8 9 11 13 15 -0 1 2 3 4 5 6 7 8 9 11 14 15 -0 1 2 3 4 5 6 7 8 9 12 13 14 -0 1 2 3 4 5 6 7 8 9 12 13 15 -0 1 2 3 4 5 6 7 8 9 12 14 15 -0 1 2 3 4 5 6 7 8 9 13 14 15 -0 1 2 3 4 5 6 7 8 10 11 12 13 -0 1 2 3 4 5 6 7 8 10 11 12 14 -0 1 2 3 4 5 6 7 8 10 11 12 15 -0 1 2 3 4 5 6 7 8 10 11 13 14 -0 1 2 3 4 5 6 7 8 10 11 13 15 -0 1 2 3 4 5 6 7 8 10 11 14 15 -0 1 2 3 4 5 6 7 8 10 12 13 14 -0 1 2 3 4 5 6 7 8 10 12 13 15 -0 1 2 3 4 5 6 7 8 10 12 14 15 -0 1 2 3 4 5 6 7 8 10 13 14 15 -0 1 2 3 4 5 6 7 8 11 12 13 14 -0 1 2 3 4 5 6 7 8 11 12 13 15 -0 1 2 3 4 5 6 7 8 11 12 14 15 -0 1 2 3 4 5 6 7 8 11 13 14 15 -0 1 2 3 4 5 6 7 8 12 13 14 15 -0 1 2 3 4 5 6 7 9 10 11 12 13 -0 1 2 3 4 5 6 7 9 10 11 12 14 -0 1 2 3 4 5 6 7 9 10 11 12 15 -0 1 2 3 4 5 6 7 9 10 11 13 14 -0 1 2 3 4 5 6 7 9 10 11 13 15 -0 1 2 3 4 5 6 7 9 10 11 14 15 -0 1 2 3 4 5 6 7 9 10 12 13 14 -0 1 2 3 4 5 6 7 9 10 12 13 15 -0 1 2 3 4 5 6 7 9 10 12 14 15 -0 1 2 3 4 5 6 7 9 10 13 14 15 -0 1 2 3 4 5 6 7 9 11 12 13 14 -0 1 2 3 4 5 6 7 9 11 12 13 15 -0 1 2 3 4 5 6 7 9 11 12 14 15 -0 1 2 3 4 5 6 7 9 11 13 14 15 -0 1 2 3 4 5 6 7 9 12 13 14 15 -0 1 2 3 4 5 6 7 10 11 12 13 14 -0 1 2 3 4 5 6 7 10 11 12 13 15 -0 1 2 3 4 5 6 7 10 11 12 14 15 -0 1 2 3 4 5 6 7 10 11 13 14 15 -0 1 2 3 4 5 6 7 10 12 13 14 15 -0 1 2 3 4 5 6 7 11 12 13 14 15 -0 1 2 3 4 5 6 8 9 10 11 12 13 -0 1 2 3 4 5 6 8 9 10 11 12 14 -0 1 2 3 4 5 6 8 9 10 11 12 15 -0 1 2 3 4 5 6 8 9 10 11 13 14 -0 1 2 3 4 5 6 8 9 10 11 13 15 -0 1 2 3 4 5 6 8 9 10 11 14 15 -0 1 2 3 4 5 6 8 9 10 12 13 14 -0 1 2 3 4 5 6 8 9 10 12 13 15 -0 1 2 3 4 5 6 8 9 10 12 14 15 -0 1 2 3 4 5 6 8 9 10 13 14 15 -0 1 2 3 4 5 6 8 9 11 12 13 14 -0 1 2 3 4 5 6 8 9 11 12 13 15 -0 1 2 3 4 5 6 8 9 11 12 14 15 -0 1 2 3 4 5 6 8 9 11 13 14 15 -0 1 2 3 4 5 6 8 9 12 13 14 15 -0 1 2 3 4 5 6 8 10 11 12 13 14 -0 1 2 3 4 5 6 8 10 11 12 13 15 -0 1 2 3 4 5 6 8 10 11 12 14 15 -0 1 2 3 4 5 6 8 10 11 13 14 15 -0 1 2 3 4 5 6 8 10 12 13 14 15 -0 1 2 3 4 5 6 8 11 12 13 14 15 -0 1 2 3 4 5 6 9 10 11 12 13 14 -0 1 2 3 4 5 6 9 10 11 12 13 15 -0 1 2 3 4 5 6 9 10 11 12 14 15 -0 1 2 3 4 5 6 9 10 11 13 14 15 -0 1 2 3 4 5 6 9 10 12 13 14 15 -0 1 2 3 4 5 6 9 11 12 13 14 15 -0 1 2 3 4 5 6 10 11 12 13 14 15 -0 1 2 3 4 5 7 8 9 10 11 12 13 -0 1 2 3 4 5 7 8 9 10 11 12 14 -0 1 2 3 4 5 7 8 9 10 11 12 15 -0 1 2 3 4 5 7 8 9 10 11 13 14 -0 1 2 3 4 5 7 8 9 10 11 13 15 -0 1 2 3 4 5 7 8 9 10 11 14 15 -0 1 2 3 4 5 7 8 9 10 12 13 14 -0 1 2 3 4 5 7 8 9 10 12 13 15 -0 1 2 3 4 5 7 8 9 10 12 14 15 -0 1 2 3 4 5 7 8 9 10 13 14 15 -0 1 2 3 4 5 7 8 9 11 12 13 14 -0 1 2 3 4 5 7 8 9 11 12 13 15 -0 1 2 3 4 5 7 8 9 11 12 14 15 -0 1 2 3 4 5 7 8 9 11 13 14 15 -0 1 2 3 4 5 7 8 9 12 13 14 15 -0 1 2 3 4 5 7 8 10 11 12 13 14 -0 1 2 3 4 5 7 8 10 11 12 13 15 -0 1 2 3 4 5 7 8 10 11 12 14 15 -0 1 2 3 4 5 7 8 10 11 13 14 15 -0 1 2 3 4 5 7 8 10 12 13 14 15 -0 1 2 3 4 5 7 8 11 12 13 14 15 -0 1 2 3 4 5 7 9 10 11 12 13 14 -0 1 2 3 4 5 7 9 10 11 12 13 15 -0 1 2 3 4 5 7 9 10 11 12 14 15 -0 1 2 3 4 5 7 9 10 11 13 14 15 -0 1 2 3 4 5 7 9 10 12 13 14 15 -0 1 2 3 4 5 7 9 11 12 13 14 15 -0 1 2 3 4 5 7 10 11 12 13 14 15 -0 1 2 3 4 5 8 9 10 11 12 13 14 -0 1 2 3 4 5 8 9 10 11 12 13 15 -0 1 2 3 4 5 8 9 10 11 12 14 15 -0 1 2 3 4 5 8 9 10 11 13 14 15 -0 1 2 3 4 5 8 9 10 12 13 14 15 -0 1 2 3 4 5 8 9 11 12 13 14 15 -0 1 2 3 4 5 8 10 11 12 13 14 15 -0 1 2 3 4 5 9 10 11 12 13 14 15 -0 1 2 3 4 6 7 8 9 10 11 12 13 -0 1 2 3 4 6 7 8 9 10 11 12 14 -0 1 2 3 4 6 7 8 9 10 11 12 15 -0 1 2 3 4 6 7 8 9 10 11 13 14 -0 1 2 3 4 6 7 8 9 10 11 13 15 -0 1 2 3 4 6 7 8 9 10 11 14 15 -0 1 2 3 4 6 7 8 9 10 12 13 14 -0 1 2 3 4 6 7 8 9 10 12 13 15 -0 1 2 3 4 6 7 8 9 10 12 14 15 -0 1 2 3 4 6 7 8 9 10 13 14 15 -0 1 2 3 4 6 7 8 9 11 12 13 14 -0 1 2 3 4 6 7 8 9 11 12 13 15 -0 1 2 3 4 6 7 8 9 11 12 14 15 -0 1 2 3 4 6 7 8 9 11 13 14 15 -0 1 2 3 4 6 7 8 9 12 13 14 15 -0 1 2 3 4 6 7 8 10 11 12 13 14 -0 1 2 3 4 6 7 8 10 11 12 13 15 -0 1 2 3 4 6 7 8 10 11 12 14 15 -0 1 2 3 4 6 7 8 10 11 13 14 15 -0 1 2 3 4 6 7 8 10 12 13 14 15 -0 1 2 3 4 6 7 8 11 12 13 14 15 -0 1 2 3 4 6 7 9 10 11 12 13 14 -0 1 2 3 4 6 7 9 10 11 12 13 15 -0 1 2 3 4 6 7 9 10 11 12 14 15 -0 1 2 3 4 6 7 9 10 11 13 14 15 -0 1 2 3 4 6 7 9 10 12 13 14 15 -0 1 2 3 4 6 7 9 11 12 13 14 15 -0 1 2 3 4 6 7 10 11 12 13 14 15 -0 1 2 3 4 6 8 9 10 11 12 13 14 -0 1 2 3 4 6 8 9 10 11 12 13 15 -0 1 2 3 4 6 8 9 10 11 12 14 15 -0 1 2 3 4 6 8 9 10 11 13 14 15 -0 1 2 3 4 6 8 9 10 12 13 14 15 -0 1 2 3 4 6 8 9 11 12 13 14 15 -0 1 2 3 4 6 8 10 11 12 13 14 15 -0 1 2 3 4 6 9 10 11 12 13 14 15 -0 1 2 3 4 7 8 9 10 11 12 13 14 -0 1 2 3 4 7 8 9 10 11 12 13 15 -0 1 2 3 4 7 8 9 10 11 12 14 15 -0 1 2 3 4 7 8 9 10 11 13 14 15 -0 1 2 3 4 7 8 9 10 12 13 14 15 -0 1 2 3 4 7 8 9 11 12 13 14 15 -0 1 2 3 4 7 8 10 11 12 13 14 15 -0 1 2 3 4 7 9 10 11 12 13 14 15 -0 1 2 3 4 8 9 10 11 12 13 14 15 -0 1 2 3 5 6 7 8 9 10 11 12 13 -0 1 2 3 5 6 7 8 9 10 11 12 14 -0 1 2 3 5 6 7 8 9 10 11 12 15 -0 1 2 3 5 6 7 8 9 10 11 13 14 -0 1 2 3 5 6 7 8 9 10 11 13 15 -0 1 2 3 5 6 7 8 9 10 11 14 15 -0 1 2 3 5 6 7 8 9 10 12 13 14 -0 1 2 3 5 6 7 8 9 10 12 13 15 -0 1 2 3 5 6 7 8 9 10 12 14 15 -0 1 2 3 5 6 7 8 9 10 13 14 15 -0 1 2 3 5 6 7 8 9 11 12 13 14 -0 1 2 3 5 6 7 8 9 11 12 13 15 -0 1 2 3 5 6 7 8 9 11 12 14 15 -0 1 2 3 5 6 7 8 9 11 13 14 15 -0 1 2 3 5 6 7 8 9 12 13 14 15 -0 1 2 3 5 6 7 8 10 11 12 13 14 -0 1 2 3 5 6 7 8 10 11 12 13 15 -0 1 2 3 5 6 7 8 10 11 12 14 15 -0 1 2 3 5 6 7 8 10 11 13 14 15 -0 1 2 3 5 6 7 8 10 12 13 14 15 -0 1 2 3 5 6 7 8 11 12 13 14 15 -0 1 2 3 5 6 7 9 10 11 12 13 14 -0 1 2 3 5 6 7 9 10 11 12 13 15 -0 1 2 3 5 6 7 9 10 11 12 14 15 -0 1 2 3 5 6 7 9 10 11 13 14 15 -0 1 2 3 5 6 7 9 10 12 13 14 15 -0 1 2 3 5 6 7 9 11 12 13 14 15 -0 1 2 3 5 6 7 10 11 12 13 14 15 -0 1 2 3 5 6 8 9 10 11 12 13 14 -0 1 2 3 5 6 8 9 10 11 12 13 15 -0 1 2 3 5 6 8 9 10 11 12 14 15 -0 1 2 3 5 6 8 9 10 11 13 14 15 -0 1 2 3 5 6 8 9 10 12 13 14 15 -0 1 2 3 5 6 8 9 11 12 13 14 15 -0 1 2 3 5 6 8 10 11 12 13 14 15 -0 1 2 3 5 6 9 10 11 12 13 14 15 -0 1 2 3 5 7 8 9 10 11 12 13 14 -0 1 2 3 5 7 8 9 10 11 12 13 15 -0 1 2 3 5 7 8 9 10 11 12 14 15 -0 1 2 3 5 7 8 9 10 11 13 14 15 -0 1 2 3 5 7 8 9 10 12 13 14 15 -0 1 2 3 5 7 8 9 11 12 13 14 15 -0 1 2 3 5 7 8 10 11 12 13 14 15 -0 1 2 3 5 7 9 10 11 12 13 14 15 -0 1 2 3 5 8 9 10 11 12 13 14 15 -0 1 2 3 6 7 8 9 10 11 12 13 14 -0 1 2 3 6 7 8 9 10 11 12 13 15 -0 1 2 3 6 7 8 9 10 11 12 14 15 -0 1 2 3 6 7 8 9 10 11 13 14 15 -0 1 2 3 6 7 8 9 10 12 13 14 15 -0 1 2 3 6 7 8 9 11 12 13 14 15 -0 1 2 3 6 7 8 10 11 12 13 14 15 -0 1 2 3 6 7 9 10 11 12 13 14 15 -0 1 2 3 6 8 9 10 11 12 13 14 15 -0 1 2 3 7 8 9 10 11 12 13 14 15 -0 1 2 4 5 6 7 8 9 10 11 12 13 -0 1 2 4 5 6 7 8 9 10 11 12 14 -0 1 2 4 5 6 7 8 9 10 11 12 15 -0 1 2 4 5 6 7 8 9 10 11 13 14 -0 1 2 4 5 6 7 8 9 10 11 13 15 -0 1 2 4 5 6 7 8 9 10 11 14 15 -0 1 2 4 5 6 7 8 9 10 12 13 14 -0 1 2 4 5 6 7 8 9 10 12 13 15 -0 1 2 4 5 6 7 8 9 10 12 14 15 -0 1 2 4 5 6 7 8 9 10 13 14 15 -0 1 2 4 5 6 7 8 9 11 12 13 14 -0 1 2 4 5 6 7 8 9 11 12 13 15 -0 1 2 4 5 6 7 8 9 11 12 14 15 -0 1 2 4 5 6 7 8 9 11 13 14 15 -0 1 2 4 5 6 7 8 9 12 13 14 15 -0 1 2 4 5 6 7 8 10 11 12 13 14 -0 1 2 4 5 6 7 8 10 11 12 13 15 -0 1 2 4 5 6 7 8 10 11 12 14 15 -0 1 2 4 5 6 7 8 10 11 13 14 15 -0 1 2 4 5 6 7 8 10 12 13 14 15 -0 1 2 4 5 6 7 8 11 12 13 14 15 -0 1 2 4 5 6 7 9 10 11 12 13 14 -0 1 2 4 5 6 7 9 10 11 12 13 15 -0 1 2 4 5 6 7 9 10 11 12 14 15 -0 1 2 4 5 6 7 9 10 11 13 14 15 -0 1 2 4 5 6 7 9 10 12 13 14 15 -0 1 2 4 5 6 7 9 11 12 13 14 15 -0 1 2 4 5 6 7 10 11 12 13 14 15 -0 1 2 4 5 6 8 9 10 11 12 13 14 -0 1 2 4 5 6 8 9 10 11 12 13 15 -0 1 2 4 5 6 8 9 10 11 12 14 15 -0 1 2 4 5 6 8 9 10 11 13 14 15 -0 1 2 4 5 6 8 9 10 12 13 14 15 -0 1 2 4 5 6 8 9 11 12 13 14 15 -0 1 2 4 5 6 8 10 11 12 13 14 15 -0 1 2 4 5 6 9 10 11 12 13 14 15 -0 1 2 4 5 7 8 9 10 11 12 13 14 -0 1 2 4 5 7 8 9 10 11 12 13 15 -0 1 2 4 5 7 8 9 10 11 12 14 15 -0 1 2 4 5 7 8 9 10 11 13 14 15 -0 1 2 4 5 7 8 9 10 12 13 14 15 -0 1 2 4 5 7 8 9 11 12 13 14 15 -0 1 2 4 5 7 8 10 11 12 13 14 15 -0 1 2 4 5 7 9 10 11 12 13 14 15 -0 1 2 4 5 8 9 10 11 12 13 14 15 -0 1 2 4 6 7 8 9 10 11 12 13 14 -0 1 2 4 6 7 8 9 10 11 12 13 15 -0 1 2 4 6 7 8 9 10 11 12 14 15 -0 1 2 4 6 7 8 9 10 11 13 14 15 -0 1 2 4 6 7 8 9 10 12 13 14 15 -0 1 2 4 6 7 8 9 11 12 13 14 15 -0 1 2 4 6 7 8 10 11 12 13 14 15 -0 1 2 4 6 7 9 10 11 12 13 14 15 -0 1 2 4 6 8 9 10 11 12 13 14 15 -0 1 2 4 7 8 9 10 11 12 13 14 15 -0 1 2 5 6 7 8 9 10 11 12 13 14 -0 1 2 5 6 7 8 9 10 11 12 13 15 -0 1 2 5 6 7 8 9 10 11 12 14 15 -0 1 2 5 6 7 8 9 10 11 13 14 15 -0 1 2 5 6 7 8 9 10 12 13 14 15 -0 1 2 5 6 7 8 9 11 12 13 14 15 -0 1 2 5 6 7 8 10 11 12 13 14 15 -0 1 2 5 6 7 9 10 11 12 13 14 15 -0 1 2 5 6 8 9 10 11 12 13 14 15 -0 1 2 5 7 8 9 10 11 12 13 14 15 -0 1 2 6 7 8 9 10 11 12 13 14 15 -0 1 3 4 5 6 7 8 9 10 11 12 13 -0 1 3 4 5 6 7 8 9 10 11 12 14 -0 1 3 4 5 6 7 8 9 10 11 12 15 -0 1 3 4 5 6 7 8 9 10 11 13 14 -0 1 3 4 5 6 7 8 9 10 11 13 15 -0 1 3 4 5 6 7 8 9 10 11 14 15 -0 1 3 4 5 6 7 8 9 10 12 13 14 -0 1 3 4 5 6 7 8 9 10 12 13 15 -0 1 3 4 5 6 7 8 9 10 12 14 15 -0 1 3 4 5 6 7 8 9 10 13 14 15 -0 1 3 4 5 6 7 8 9 11 12 13 14 -0 1 3 4 5 6 7 8 9 11 12 13 15 -0 1 3 4 5 6 7 8 9 11 12 14 15 -0 1 3 4 5 6 7 8 9 11 13 14 15 -0 1 3 4 5 6 7 8 9 12 13 14 15 -0 1 3 4 5 6 7 8 10 11 12 13 14 -0 1 3 4 5 6 7 8 10 11 12 13 15 -0 1 3 4 5 6 7 8 10 11 12 14 15 -0 1 3 4 5 6 7 8 10 11 13 14 15 -0 1 3 4 5 6 7 8 10 12 13 14 15 -0 1 3 4 5 6 7 8 11 12 13 14 15 -0 1 3 4 5 6 7 9 10 11 12 13 14 -0 1 3 4 5 6 7 9 10 11 12 13 15 -0 1 3 4 5 6 7 9 10 11 12 14 15 -0 1 3 4 5 6 7 9 10 11 13 14 15 -0 1 3 4 5 6 7 9 10 12 13 14 15 -0 1 3 4 5 6 7 9 11 12 13 14 15 -0 1 3 4 5 6 7 10 11 12 13 14 15 -0 1 3 4 5 6 8 9 10 11 12 13 14 -0 1 3 4 5 6 8 9 10 11 12 13 15 -0 1 3 4 5 6 8 9 10 11 12 14 15 -0 1 3 4 5 6 8 9 10 11 13 14 15 -0 1 3 4 5 6 8 9 10 12 13 14 15 -0 1 3 4 5 6 8 9 11 12 13 14 15 -0 1 3 4 5 6 8 10 11 12 13 14 15 -0 1 3 4 5 6 9 10 11 12 13 14 15 -0 1 3 4 5 7 8 9 10 11 12 13 14 -0 1 3 4 5 7 8 9 10 11 12 13 15 -0 1 3 4 5 7 8 9 10 11 12 14 15 -0 1 3 4 5 7 8 9 10 11 13 14 15 -0 1 3 4 5 7 8 9 10 12 13 14 15 -0 1 3 4 5 7 8 9 11 12 13 14 15 -0 1 3 4 5 7 8 10 11 12 13 14 15 -0 1 3 4 5 7 9 10 11 12 13 14 15 -0 1 3 4 5 8 9 10 11 12 13 14 15 -0 1 3 4 6 7 8 9 10 11 12 13 14 -0 1 3 4 6 7 8 9 10 11 12 13 15 -0 1 3 4 6 7 8 9 10 11 12 14 15 -0 1 3 4 6 7 8 9 10 11 13 14 15 -0 1 3 4 6 7 8 9 10 12 13 14 15 -0 1 3 4 6 7 8 9 11 12 13 14 15 -0 1 3 4 6 7 8 10 11 12 13 14 15 -0 1 3 4 6 7 9 10 11 12 13 14 15 -0 1 3 4 6 8 9 10 11 12 13 14 15 -0 1 3 4 7 8 9 10 11 12 13 14 15 -0 1 3 5 6 7 8 9 10 11 12 13 14 -0 1 3 5 6 7 8 9 10 11 12 13 15 -0 1 3 5 6 7 8 9 10 11 12 14 15 -0 1 3 5 6 7 8 9 10 11 13 14 15 -0 1 3 5 6 7 8 9 10 12 13 14 15 -0 1 3 5 6 7 8 9 11 12 13 14 15 -0 1 3 5 6 7 8 10 11 12 13 14 15 -0 1 3 5 6 7 9 10 11 12 13 14 15 -0 1 3 5 6 8 9 10 11 12 13 14 15 -0 1 3 5 7 8 9 10 11 12 13 14 15 -0 1 3 6 7 8 9 10 11 12 13 14 15 -0 1 4 5 6 7 8 9 10 11 12 13 14 -0 1 4 5 6 7 8 9 10 11 12 13 15 -0 1 4 5 6 7 8 9 10 11 12 14 15 -0 1 4 5 6 7 8 9 10 11 13 14 15 -0 1 4 5 6 7 8 9 10 12 13 14 15 -0 1 4 5 6 7 8 9 11 12 13 14 15 -0 1 4 5 6 7 8 10 11 12 13 14 15 -0 1 4 5 6 7 9 10 11 12 13 14 15 -0 1 4 5 6 8 9 10 11 12 13 14 15 -0 1 4 5 7 8 9 10 11 12 13 14 15 -0 1 4 6 7 8 9 10 11 12 13 14 15 -0 1 5 6 7 8 9 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 9 10 11 12 13 -0 2 3 4 5 6 7 8 9 10 11 12 14 -0 2 3 4 5 6 7 8 9 10 11 12 15 -0 2 3 4 5 6 7 8 9 10 11 13 14 -0 2 3 4 5 6 7 8 9 10 11 13 15 -0 2 3 4 5 6 7 8 9 10 11 14 15 -0 2 3 4 5 6 7 8 9 10 12 13 14 -0 2 3 4 5 6 7 8 9 10 12 13 15 -0 2 3 4 5 6 7 8 9 10 12 14 15 -0 2 3 4 5 6 7 8 9 10 13 14 15 -0 2 3 4 5 6 7 8 9 11 12 13 14 -0 2 3 4 5 6 7 8 9 11 12 13 15 -0 2 3 4 5 6 7 8 9 11 12 14 15 -0 2 3 4 5 6 7 8 9 11 13 14 15 -0 2 3 4 5 6 7 8 9 12 13 14 15 -0 2 3 4 5 6 7 8 10 11 12 13 14 -0 2 3 4 5 6 7 8 10 11 12 13 15 -0 2 3 4 5 6 7 8 10 11 12 14 15 -0 2 3 4 5 6 7 8 10 11 13 14 15 -0 2 3 4 5 6 7 8 10 12 13 14 15 -0 2 3 4 5 6 7 8 11 12 13 14 15 -0 2 3 4 5 6 7 9 10 11 12 13 14 -0 2 3 4 5 6 7 9 10 11 12 13 15 -0 2 3 4 5 6 7 9 10 11 12 14 15 -0 2 3 4 5 6 7 9 10 11 13 14 15 -0 2 3 4 5 6 7 9 10 12 13 14 15 -0 2 3 4 5 6 7 9 11 12 13 14 15 -0 2 3 4 5 6 7 10 11 12 13 14 15 -0 2 3 4 5 6 8 9 10 11 12 13 14 -0 2 3 4 5 6 8 9 10 11 12 13 15 -0 2 3 4 5 6 8 9 10 11 12 14 15 -0 2 3 4 5 6 8 9 10 11 13 14 15 -0 2 3 4 5 6 8 9 10 12 13 14 15 -0 2 3 4 5 6 8 9 11 12 13 14 15 -0 2 3 4 5 6 8 10 11 12 13 14 15 -0 2 3 4 5 6 9 10 11 12 13 14 15 -0 2 3 4 5 7 8 9 10 11 12 13 14 -0 2 3 4 5 7 8 9 10 11 12 13 15 -0 2 3 4 5 7 8 9 10 11 12 14 15 -0 2 3 4 5 7 8 9 10 11 13 14 15 -0 2 3 4 5 7 8 9 10 12 13 14 15 -0 2 3 4 5 7 8 9 11 12 13 14 15 -0 2 3 4 5 7 8 10 11 12 13 14 15 -0 2 3 4 5 7 9 10 11 12 13 14 15 -0 2 3 4 5 8 9 10 11 12 13 14 15 -0 2 3 4 6 7 8 9 10 11 12 13 14 -0 2 3 4 6 7 8 9 10 11 12 13 15 -0 2 3 4 6 7 8 9 10 11 12 14 15 -0 2 3 4 6 7 8 9 10 11 13 14 15 -0 2 3 4 6 7 8 9 10 12 13 14 15 -0 2 3 4 6 7 8 9 11 12 13 14 15 -0 2 3 4 6 7 8 10 11 12 13 14 15 -0 2 3 4 6 7 9 10 11 12 13 14 15 -0 2 3 4 6 8 9 10 11 12 13 14 15 -0 2 3 4 7 8 9 10 11 12 13 14 15 -0 2 3 5 6 7 8 9 10 11 12 13 14 -0 2 3 5 6 7 8 9 10 11 12 13 15 -0 2 3 5 6 7 8 9 10 11 12 14 15 -0 2 3 5 6 7 8 9 10 11 13 14 15 -0 2 3 5 6 7 8 9 10 12 13 14 15 -0 2 3 5 6 7 8 9 11 12 13 14 15 -0 2 3 5 6 7 8 10 11 12 13 14 15 -0 2 3 5 6 7 9 10 11 12 13 14 15 -0 2 3 5 6 8 9 10 11 12 13 14 15 -0 2 3 5 7 8 9 10 11 12 13 14 15 -0 2 3 6 7 8 9 10 11 12 13 14 15 -0 2 4 5 6 7 8 9 10 11 12 13 14 -0 2 4 5 6 7 8 9 10 11 12 13 15 -0 2 4 5 6 7 8 9 10 11 12 14 15 -0 2 4 5 6 7 8 9 10 11 13 14 15 -0 2 4 5 6 7 8 9 10 12 13 14 15 -0 2 4 5 6 7 8 9 11 12 13 14 15 -0 2 4 5 6 7 8 10 11 12 13 14 15 -0 2 4 5 6 7 9 10 11 12 13 14 15 -0 2 4 5 6 8 9 10 11 12 13 14 15 -0 2 4 5 7 8 9 10 11 12 13 14 15 -0 2 4 6 7 8 9 10 11 12 13 14 15 -0 2 5 6 7 8 9 10 11 12 13 14 15 -0 3 4 5 6 7 8 9 10 11 12 13 14 -0 3 4 5 6 7 8 9 10 11 12 13 15 -0 3 4 5 6 7 8 9 10 11 12 14 15 -0 3 4 5 6 7 8 9 10 11 13 14 15 -0 3 4 5 6 7 8 9 10 12 13 14 15 -0 3 4 5 6 7 8 9 11 12 13 14 15 -0 3 4 5 6 7 8 10 11 12 13 14 15 -0 3 4 5 6 7 9 10 11 12 13 14 15 -0 3 4 5 6 8 9 10 11 12 13 14 15 -0 3 4 5 7 8 9 10 11 12 13 14 15 -0 3 4 6 7 8 9 10 11 12 13 14 15 -0 3 5 6 7 8 9 10 11 12 13 14 15 -0 4 5 6 7 8 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 9 10 11 12 13 -1 2 3 4 5 6 7 8 9 10 11 12 14 -1 2 3 4 5 6 7 8 9 10 11 12 15 -1 2 3 4 5 6 7 8 9 10 11 13 14 -1 2 3 4 5 6 7 8 9 10 11 13 15 -1 2 3 4 5 6 7 8 9 10 11 14 15 -1 2 3 4 5 6 7 8 9 10 12 13 14 -1 2 3 4 5 6 7 8 9 10 12 13 15 -1 2 3 4 5 6 7 8 9 10 12 14 15 -1 2 3 4 5 6 7 8 9 10 13 14 15 -1 2 3 4 5 6 7 8 9 11 12 13 14 -1 2 3 4 5 6 7 8 9 11 12 13 15 -1 2 3 4 5 6 7 8 9 11 12 14 15 -1 2 3 4 5 6 7 8 9 11 13 14 15 -1 2 3 4 5 6 7 8 9 12 13 14 15 -1 2 3 4 5 6 7 8 10 11 12 13 14 -1 2 3 4 5 6 7 8 10 11 12 13 15 -1 2 3 4 5 6 7 8 10 11 12 14 15 -1 2 3 4 5 6 7 8 10 11 13 14 15 -1 2 3 4 5 6 7 8 10 12 13 14 15 -1 2 3 4 5 6 7 8 11 12 13 14 15 -1 2 3 4 5 6 7 9 10 11 12 13 14 -1 2 3 4 5 6 7 9 10 11 12 13 15 -1 2 3 4 5 6 7 9 10 11 12 14 15 -1 2 3 4 5 6 7 9 10 11 13 14 15 -1 2 3 4 5 6 7 9 10 12 13 14 15 -1 2 3 4 5 6 7 9 11 12 13 14 15 -1 2 3 4 5 6 7 10 11 12 13 14 15 -1 2 3 4 5 6 8 9 10 11 12 13 14 -1 2 3 4 5 6 8 9 10 11 12 13 15 -1 2 3 4 5 6 8 9 10 11 12 14 15 -1 2 3 4 5 6 8 9 10 11 13 14 15 -1 2 3 4 5 6 8 9 10 12 13 14 15 -1 2 3 4 5 6 8 9 11 12 13 14 15 -1 2 3 4 5 6 8 10 11 12 13 14 15 -1 2 3 4 5 6 9 10 11 12 13 14 15 -1 2 3 4 5 7 8 9 10 11 12 13 14 -1 2 3 4 5 7 8 9 10 11 12 13 15 -1 2 3 4 5 7 8 9 10 11 12 14 15 -1 2 3 4 5 7 8 9 10 11 13 14 15 -1 2 3 4 5 7 8 9 10 12 13 14 15 -1 2 3 4 5 7 8 9 11 12 13 14 15 -1 2 3 4 5 7 8 10 11 12 13 14 15 -1 2 3 4 5 7 9 10 11 12 13 14 15 -1 2 3 4 5 8 9 10 11 12 13 14 15 -1 2 3 4 6 7 8 9 10 11 12 13 14 -1 2 3 4 6 7 8 9 10 11 12 13 15 -1 2 3 4 6 7 8 9 10 11 12 14 15 -1 2 3 4 6 7 8 9 10 11 13 14 15 -1 2 3 4 6 7 8 9 10 12 13 14 15 -1 2 3 4 6 7 8 9 11 12 13 14 15 -1 2 3 4 6 7 8 10 11 12 13 14 15 -1 2 3 4 6 7 9 10 11 12 13 14 15 -1 2 3 4 6 8 9 10 11 12 13 14 15 -1 2 3 4 7 8 9 10 11 12 13 14 15 -1 2 3 5 6 7 8 9 10 11 12 13 14 -1 2 3 5 6 7 8 9 10 11 12 13 15 -1 2 3 5 6 7 8 9 10 11 12 14 15 -1 2 3 5 6 7 8 9 10 11 13 14 15 -1 2 3 5 6 7 8 9 10 12 13 14 15 -1 2 3 5 6 7 8 9 11 12 13 14 15 -1 2 3 5 6 7 8 10 11 12 13 14 15 -1 2 3 5 6 7 9 10 11 12 13 14 15 -1 2 3 5 6 8 9 10 11 12 13 14 15 -1 2 3 5 7 8 9 10 11 12 13 14 15 -1 2 3 6 7 8 9 10 11 12 13 14 15 -1 2 4 5 6 7 8 9 10 11 12 13 14 -1 2 4 5 6 7 8 9 10 11 12 13 15 -1 2 4 5 6 7 8 9 10 11 12 14 15 -1 2 4 5 6 7 8 9 10 11 13 14 15 -1 2 4 5 6 7 8 9 10 12 13 14 15 -1 2 4 5 6 7 8 9 11 12 13 14 15 -1 2 4 5 6 7 8 10 11 12 13 14 15 -1 2 4 5 6 7 9 10 11 12 13 14 15 -1 2 4 5 6 8 9 10 11 12 13 14 15 -1 2 4 5 7 8 9 10 11 12 13 14 15 -1 2 4 6 7 8 9 10 11 12 13 14 15 -1 2 5 6 7 8 9 10 11 12 13 14 15 -1 3 4 5 6 7 8 9 10 11 12 13 14 -1 3 4 5 6 7 8 9 10 11 12 13 15 -1 3 4 5 6 7 8 9 10 11 12 14 15 -1 3 4 5 6 7 8 9 10 11 13 14 15 -1 3 4 5 6 7 8 9 10 12 13 14 15 -1 3 4 5 6 7 8 9 11 12 13 14 15 -1 3 4 5 6 7 8 10 11 12 13 14 15 -1 3 4 5 6 7 9 10 11 12 13 14 15 -1 3 4 5 6 8 9 10 11 12 13 14 15 -1 3 4 5 7 8 9 10 11 12 13 14 15 -1 3 4 6 7 8 9 10 11 12 13 14 15 -1 3 5 6 7 8 9 10 11 12 13 14 15 -1 4 5 6 7 8 9 10 11 12 13 14 15 -2 3 4 5 6 7 8 9 10 11 12 13 14 -2 3 4 5 6 7 8 9 10 11 12 13 15 -2 3 4 5 6 7 8 9 10 11 12 14 15 -2 3 4 5 6 7 8 9 10 11 13 14 15 -2 3 4 5 6 7 8 9 10 12 13 14 15 -2 3 4 5 6 7 8 9 11 12 13 14 15 -2 3 4 5 6 7 8 10 11 12 13 14 15 -2 3 4 5 6 7 9 10 11 12 13 14 15 -2 3 4 5 6 8 9 10 11 12 13 14 15 -2 3 4 5 7 8 9 10 11 12 13 14 15 -2 3 4 6 7 8 9 10 11 12 13 14 15 -2 3 5 6 7 8 9 10 11 12 13 14 15 -2 4 5 6 7 8 9 10 11 12 13 14 15 -3 4 5 6 7 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 9 10 11 12 +0 1 2 3 4 5 6 7 8 9 10 11 13 +0 1 2 3 4 5 6 7 8 9 10 11 14 +0 1 2 3 4 5 6 7 8 9 10 11 15 +0 1 2 3 4 5 6 7 8 9 10 12 13 +0 1 2 3 4 5 6 7 8 9 10 12 14 +0 1 2 3 4 5 6 7 8 9 10 12 15 +0 1 2 3 4 5 6 7 8 9 10 13 14 +0 1 2 3 4 5 6 7 8 9 10 13 15 +0 1 2 3 4 5 6 7 8 9 10 14 15 +0 1 2 3 4 5 6 7 8 9 11 12 13 +0 1 2 3 4 5 6 7 8 9 11 12 14 +0 1 2 3 4 5 6 7 8 9 11 12 15 +0 1 2 3 4 5 6 7 8 9 11 13 14 +0 1 2 3 4 5 6 7 8 9 11 13 15 +0 1 2 3 4 5 6 7 8 9 11 14 15 +0 1 2 3 4 5 6 7 8 9 12 13 14 +0 1 2 3 4 5 6 7 8 9 12 13 15 +0 1 2 3 4 5 6 7 8 9 12 14 15 +0 1 2 3 4 5 6 7 8 9 13 14 15 +0 1 2 3 4 5 6 7 8 10 11 12 13 +0 1 2 3 4 5 6 7 8 10 11 12 14 +0 1 2 3 4 5 6 7 8 10 11 12 15 +0 1 2 3 4 5 6 7 8 10 11 13 14 +0 1 2 3 4 5 6 7 8 10 11 13 15 +0 1 2 3 4 5 6 7 8 10 11 14 15 +0 1 2 3 4 5 6 7 8 10 12 13 14 +0 1 2 3 4 5 6 7 8 10 12 13 15 +0 1 2 3 4 5 6 7 8 10 12 14 15 +0 1 2 3 4 5 6 7 8 10 13 14 15 +0 1 2 3 4 5 6 7 8 11 12 13 14 +0 1 2 3 4 5 6 7 8 11 12 13 15 +0 1 2 3 4 5 6 7 8 11 12 14 15 +0 1 2 3 4 5 6 7 8 11 13 14 15 +0 1 2 3 4 5 6 7 8 12 13 14 15 +0 1 2 3 4 5 6 7 9 10 11 12 13 +0 1 2 3 4 5 6 7 9 10 11 12 14 +0 1 2 3 4 5 6 7 9 10 11 12 15 +0 1 2 3 4 5 6 7 9 10 11 13 14 +0 1 2 3 4 5 6 7 9 10 11 13 15 +0 1 2 3 4 5 6 7 9 10 11 14 15 +0 1 2 3 4 5 6 7 9 10 12 13 14 +0 1 2 3 4 5 6 7 9 10 12 13 15 +0 1 2 3 4 5 6 7 9 10 12 14 15 +0 1 2 3 4 5 6 7 9 10 13 14 15 +0 1 2 3 4 5 6 7 9 11 12 13 14 +0 1 2 3 4 5 6 7 9 11 12 13 15 +0 1 2 3 4 5 6 7 9 11 12 14 15 +0 1 2 3 4 5 6 7 9 11 13 14 15 +0 1 2 3 4 5 6 7 9 12 13 14 15 +0 1 2 3 4 5 6 7 10 11 12 13 14 +0 1 2 3 4 5 6 7 10 11 12 13 15 +0 1 2 3 4 5 6 7 10 11 12 14 15 +0 1 2 3 4 5 6 7 10 11 13 14 15 +0 1 2 3 4 5 6 7 10 12 13 14 15 +0 1 2 3 4 5 6 7 11 12 13 14 15 +0 1 2 3 4 5 6 8 9 10 11 12 13 +0 1 2 3 4 5 6 8 9 10 11 12 14 +0 1 2 3 4 5 6 8 9 10 11 12 15 +0 1 2 3 4 5 6 8 9 10 11 13 14 +0 1 2 3 4 5 6 8 9 10 11 13 15 +0 1 2 3 4 5 6 8 9 10 11 14 15 +0 1 2 3 4 5 6 8 9 10 12 13 14 +0 1 2 3 4 5 6 8 9 10 12 13 15 +0 1 2 3 4 5 6 8 9 10 12 14 15 +0 1 2 3 4 5 6 8 9 10 13 14 15 +0 1 2 3 4 5 6 8 9 11 12 13 14 +0 1 2 3 4 5 6 8 9 11 12 13 15 +0 1 2 3 4 5 6 8 9 11 12 14 15 +0 1 2 3 4 5 6 8 9 11 13 14 15 +0 1 2 3 4 5 6 8 9 12 13 14 15 +0 1 2 3 4 5 6 8 10 11 12 13 14 +0 1 2 3 4 5 6 8 10 11 12 13 15 +0 1 2 3 4 5 6 8 10 11 12 14 15 +0 1 2 3 4 5 6 8 10 11 13 14 15 +0 1 2 3 4 5 6 8 10 12 13 14 15 +0 1 2 3 4 5 6 8 11 12 13 14 15 +0 1 2 3 4 5 6 9 10 11 12 13 14 +0 1 2 3 4 5 6 9 10 11 12 13 15 +0 1 2 3 4 5 6 9 10 11 12 14 15 +0 1 2 3 4 5 6 9 10 11 13 14 15 +0 1 2 3 4 5 6 9 10 12 13 14 15 +0 1 2 3 4 5 6 9 11 12 13 14 15 +0 1 2 3 4 5 6 10 11 12 13 14 15 +0 1 2 3 4 5 7 8 9 10 11 12 13 +0 1 2 3 4 5 7 8 9 10 11 12 14 +0 1 2 3 4 5 7 8 9 10 11 12 15 +0 1 2 3 4 5 7 8 9 10 11 13 14 +0 1 2 3 4 5 7 8 9 10 11 13 15 +0 1 2 3 4 5 7 8 9 10 11 14 15 +0 1 2 3 4 5 7 8 9 10 12 13 14 +0 1 2 3 4 5 7 8 9 10 12 13 15 +0 1 2 3 4 5 7 8 9 10 12 14 15 +0 1 2 3 4 5 7 8 9 10 13 14 15 +0 1 2 3 4 5 7 8 9 11 12 13 14 +0 1 2 3 4 5 7 8 9 11 12 13 15 +0 1 2 3 4 5 7 8 9 11 12 14 15 +0 1 2 3 4 5 7 8 9 11 13 14 15 +0 1 2 3 4 5 7 8 9 12 13 14 15 +0 1 2 3 4 5 7 8 10 11 12 13 14 +0 1 2 3 4 5 7 8 10 11 12 13 15 +0 1 2 3 4 5 7 8 10 11 12 14 15 +0 1 2 3 4 5 7 8 10 11 13 14 15 +0 1 2 3 4 5 7 8 10 12 13 14 15 +0 1 2 3 4 5 7 8 11 12 13 14 15 +0 1 2 3 4 5 7 9 10 11 12 13 14 +0 1 2 3 4 5 7 9 10 11 12 13 15 +0 1 2 3 4 5 7 9 10 11 12 14 15 +0 1 2 3 4 5 7 9 10 11 13 14 15 +0 1 2 3 4 5 7 9 10 12 13 14 15 +0 1 2 3 4 5 7 9 11 12 13 14 15 +0 1 2 3 4 5 7 10 11 12 13 14 15 +0 1 2 3 4 5 8 9 10 11 12 13 14 +0 1 2 3 4 5 8 9 10 11 12 13 15 +0 1 2 3 4 5 8 9 10 11 12 14 15 +0 1 2 3 4 5 8 9 10 11 13 14 15 +0 1 2 3 4 5 8 9 10 12 13 14 15 +0 1 2 3 4 5 8 9 11 12 13 14 15 +0 1 2 3 4 5 8 10 11 12 13 14 15 +0 1 2 3 4 5 9 10 11 12 13 14 15 +0 1 2 3 4 6 7 8 9 10 11 12 13 +0 1 2 3 4 6 7 8 9 10 11 12 14 +0 1 2 3 4 6 7 8 9 10 11 12 15 +0 1 2 3 4 6 7 8 9 10 11 13 14 +0 1 2 3 4 6 7 8 9 10 11 13 15 +0 1 2 3 4 6 7 8 9 10 11 14 15 +0 1 2 3 4 6 7 8 9 10 12 13 14 +0 1 2 3 4 6 7 8 9 10 12 13 15 +0 1 2 3 4 6 7 8 9 10 12 14 15 +0 1 2 3 4 6 7 8 9 10 13 14 15 +0 1 2 3 4 6 7 8 9 11 12 13 14 +0 1 2 3 4 6 7 8 9 11 12 13 15 +0 1 2 3 4 6 7 8 9 11 12 14 15 +0 1 2 3 4 6 7 8 9 11 13 14 15 +0 1 2 3 4 6 7 8 9 12 13 14 15 +0 1 2 3 4 6 7 8 10 11 12 13 14 +0 1 2 3 4 6 7 8 10 11 12 13 15 +0 1 2 3 4 6 7 8 10 11 12 14 15 +0 1 2 3 4 6 7 8 10 11 13 14 15 +0 1 2 3 4 6 7 8 10 12 13 14 15 +0 1 2 3 4 6 7 8 11 12 13 14 15 +0 1 2 3 4 6 7 9 10 11 12 13 14 +0 1 2 3 4 6 7 9 10 11 12 13 15 +0 1 2 3 4 6 7 9 10 11 12 14 15 +0 1 2 3 4 6 7 9 10 11 13 14 15 +0 1 2 3 4 6 7 9 10 12 13 14 15 +0 1 2 3 4 6 7 9 11 12 13 14 15 +0 1 2 3 4 6 7 10 11 12 13 14 15 +0 1 2 3 4 6 8 9 10 11 12 13 14 +0 1 2 3 4 6 8 9 10 11 12 13 15 +0 1 2 3 4 6 8 9 10 11 12 14 15 +0 1 2 3 4 6 8 9 10 11 13 14 15 +0 1 2 3 4 6 8 9 10 12 13 14 15 +0 1 2 3 4 6 8 9 11 12 13 14 15 +0 1 2 3 4 6 8 10 11 12 13 14 15 +0 1 2 3 4 6 9 10 11 12 13 14 15 +0 1 2 3 4 7 8 9 10 11 12 13 14 +0 1 2 3 4 7 8 9 10 11 12 13 15 +0 1 2 3 4 7 8 9 10 11 12 14 15 +0 1 2 3 4 7 8 9 10 11 13 14 15 +0 1 2 3 4 7 8 9 10 12 13 14 15 +0 1 2 3 4 7 8 9 11 12 13 14 15 +0 1 2 3 4 7 8 10 11 12 13 14 15 +0 1 2 3 4 7 9 10 11 12 13 14 15 +0 1 2 3 4 8 9 10 11 12 13 14 15 +0 1 2 3 5 6 7 8 9 10 11 12 13 +0 1 2 3 5 6 7 8 9 10 11 12 14 +0 1 2 3 5 6 7 8 9 10 11 12 15 +0 1 2 3 5 6 7 8 9 10 11 13 14 +0 1 2 3 5 6 7 8 9 10 11 13 15 +0 1 2 3 5 6 7 8 9 10 11 14 15 +0 1 2 3 5 6 7 8 9 10 12 13 14 +0 1 2 3 5 6 7 8 9 10 12 13 15 +0 1 2 3 5 6 7 8 9 10 12 14 15 +0 1 2 3 5 6 7 8 9 10 13 14 15 +0 1 2 3 5 6 7 8 9 11 12 13 14 +0 1 2 3 5 6 7 8 9 11 12 13 15 +0 1 2 3 5 6 7 8 9 11 12 14 15 +0 1 2 3 5 6 7 8 9 11 13 14 15 +0 1 2 3 5 6 7 8 9 12 13 14 15 +0 1 2 3 5 6 7 8 10 11 12 13 14 +0 1 2 3 5 6 7 8 10 11 12 13 15 +0 1 2 3 5 6 7 8 10 11 12 14 15 +0 1 2 3 5 6 7 8 10 11 13 14 15 +0 1 2 3 5 6 7 8 10 12 13 14 15 +0 1 2 3 5 6 7 8 11 12 13 14 15 +0 1 2 3 5 6 7 9 10 11 12 13 14 +0 1 2 3 5 6 7 9 10 11 12 13 15 +0 1 2 3 5 6 7 9 10 11 12 14 15 +0 1 2 3 5 6 7 9 10 11 13 14 15 +0 1 2 3 5 6 7 9 10 12 13 14 15 +0 1 2 3 5 6 7 9 11 12 13 14 15 +0 1 2 3 5 6 7 10 11 12 13 14 15 +0 1 2 3 5 6 8 9 10 11 12 13 14 +0 1 2 3 5 6 8 9 10 11 12 13 15 +0 1 2 3 5 6 8 9 10 11 12 14 15 +0 1 2 3 5 6 8 9 10 11 13 14 15 +0 1 2 3 5 6 8 9 10 12 13 14 15 +0 1 2 3 5 6 8 9 11 12 13 14 15 +0 1 2 3 5 6 8 10 11 12 13 14 15 +0 1 2 3 5 6 9 10 11 12 13 14 15 +0 1 2 3 5 7 8 9 10 11 12 13 14 +0 1 2 3 5 7 8 9 10 11 12 13 15 +0 1 2 3 5 7 8 9 10 11 12 14 15 +0 1 2 3 5 7 8 9 10 11 13 14 15 +0 1 2 3 5 7 8 9 10 12 13 14 15 +0 1 2 3 5 7 8 9 11 12 13 14 15 +0 1 2 3 5 7 8 10 11 12 13 14 15 +0 1 2 3 5 7 9 10 11 12 13 14 15 +0 1 2 3 5 8 9 10 11 12 13 14 15 +0 1 2 3 6 7 8 9 10 11 12 13 14 +0 1 2 3 6 7 8 9 10 11 12 13 15 +0 1 2 3 6 7 8 9 10 11 12 14 15 +0 1 2 3 6 7 8 9 10 11 13 14 15 +0 1 2 3 6 7 8 9 10 12 13 14 15 +0 1 2 3 6 7 8 9 11 12 13 14 15 +0 1 2 3 6 7 8 10 11 12 13 14 15 +0 1 2 3 6 7 9 10 11 12 13 14 15 +0 1 2 3 6 8 9 10 11 12 13 14 15 +0 1 2 3 7 8 9 10 11 12 13 14 15 +0 1 2 4 5 6 7 8 9 10 11 12 13 +0 1 2 4 5 6 7 8 9 10 11 12 14 +0 1 2 4 5 6 7 8 9 10 11 12 15 +0 1 2 4 5 6 7 8 9 10 11 13 14 +0 1 2 4 5 6 7 8 9 10 11 13 15 +0 1 2 4 5 6 7 8 9 10 11 14 15 +0 1 2 4 5 6 7 8 9 10 12 13 14 +0 1 2 4 5 6 7 8 9 10 12 13 15 +0 1 2 4 5 6 7 8 9 10 12 14 15 +0 1 2 4 5 6 7 8 9 10 13 14 15 +0 1 2 4 5 6 7 8 9 11 12 13 14 +0 1 2 4 5 6 7 8 9 11 12 13 15 +0 1 2 4 5 6 7 8 9 11 12 14 15 +0 1 2 4 5 6 7 8 9 11 13 14 15 +0 1 2 4 5 6 7 8 9 12 13 14 15 +0 1 2 4 5 6 7 8 10 11 12 13 14 +0 1 2 4 5 6 7 8 10 11 12 13 15 +0 1 2 4 5 6 7 8 10 11 12 14 15 +0 1 2 4 5 6 7 8 10 11 13 14 15 +0 1 2 4 5 6 7 8 10 12 13 14 15 +0 1 2 4 5 6 7 8 11 12 13 14 15 +0 1 2 4 5 6 7 9 10 11 12 13 14 +0 1 2 4 5 6 7 9 10 11 12 13 15 +0 1 2 4 5 6 7 9 10 11 12 14 15 +0 1 2 4 5 6 7 9 10 11 13 14 15 +0 1 2 4 5 6 7 9 10 12 13 14 15 +0 1 2 4 5 6 7 9 11 12 13 14 15 +0 1 2 4 5 6 7 10 11 12 13 14 15 +0 1 2 4 5 6 8 9 10 11 12 13 14 +0 1 2 4 5 6 8 9 10 11 12 13 15 +0 1 2 4 5 6 8 9 10 11 12 14 15 +0 1 2 4 5 6 8 9 10 11 13 14 15 +0 1 2 4 5 6 8 9 10 12 13 14 15 +0 1 2 4 5 6 8 9 11 12 13 14 15 +0 1 2 4 5 6 8 10 11 12 13 14 15 +0 1 2 4 5 6 9 10 11 12 13 14 15 +0 1 2 4 5 7 8 9 10 11 12 13 14 +0 1 2 4 5 7 8 9 10 11 12 13 15 +0 1 2 4 5 7 8 9 10 11 12 14 15 +0 1 2 4 5 7 8 9 10 11 13 14 15 +0 1 2 4 5 7 8 9 10 12 13 14 15 +0 1 2 4 5 7 8 9 11 12 13 14 15 +0 1 2 4 5 7 8 10 11 12 13 14 15 +0 1 2 4 5 7 9 10 11 12 13 14 15 +0 1 2 4 5 8 9 10 11 12 13 14 15 +0 1 2 4 6 7 8 9 10 11 12 13 14 +0 1 2 4 6 7 8 9 10 11 12 13 15 +0 1 2 4 6 7 8 9 10 11 12 14 15 +0 1 2 4 6 7 8 9 10 11 13 14 15 +0 1 2 4 6 7 8 9 10 12 13 14 15 +0 1 2 4 6 7 8 9 11 12 13 14 15 +0 1 2 4 6 7 8 10 11 12 13 14 15 +0 1 2 4 6 7 9 10 11 12 13 14 15 +0 1 2 4 6 8 9 10 11 12 13 14 15 +0 1 2 4 7 8 9 10 11 12 13 14 15 +0 1 2 5 6 7 8 9 10 11 12 13 14 +0 1 2 5 6 7 8 9 10 11 12 13 15 +0 1 2 5 6 7 8 9 10 11 12 14 15 +0 1 2 5 6 7 8 9 10 11 13 14 15 +0 1 2 5 6 7 8 9 10 12 13 14 15 +0 1 2 5 6 7 8 9 11 12 13 14 15 +0 1 2 5 6 7 8 10 11 12 13 14 15 +0 1 2 5 6 7 9 10 11 12 13 14 15 +0 1 2 5 6 8 9 10 11 12 13 14 15 +0 1 2 5 7 8 9 10 11 12 13 14 15 +0 1 2 6 7 8 9 10 11 12 13 14 15 +0 1 3 4 5 6 7 8 9 10 11 12 13 +0 1 3 4 5 6 7 8 9 10 11 12 14 +0 1 3 4 5 6 7 8 9 10 11 12 15 +0 1 3 4 5 6 7 8 9 10 11 13 14 +0 1 3 4 5 6 7 8 9 10 11 13 15 +0 1 3 4 5 6 7 8 9 10 11 14 15 +0 1 3 4 5 6 7 8 9 10 12 13 14 +0 1 3 4 5 6 7 8 9 10 12 13 15 +0 1 3 4 5 6 7 8 9 10 12 14 15 +0 1 3 4 5 6 7 8 9 10 13 14 15 +0 1 3 4 5 6 7 8 9 11 12 13 14 +0 1 3 4 5 6 7 8 9 11 12 13 15 +0 1 3 4 5 6 7 8 9 11 12 14 15 +0 1 3 4 5 6 7 8 9 11 13 14 15 +0 1 3 4 5 6 7 8 9 12 13 14 15 +0 1 3 4 5 6 7 8 10 11 12 13 14 +0 1 3 4 5 6 7 8 10 11 12 13 15 +0 1 3 4 5 6 7 8 10 11 12 14 15 +0 1 3 4 5 6 7 8 10 11 13 14 15 +0 1 3 4 5 6 7 8 10 12 13 14 15 +0 1 3 4 5 6 7 8 11 12 13 14 15 +0 1 3 4 5 6 7 9 10 11 12 13 14 +0 1 3 4 5 6 7 9 10 11 12 13 15 +0 1 3 4 5 6 7 9 10 11 12 14 15 +0 1 3 4 5 6 7 9 10 11 13 14 15 +0 1 3 4 5 6 7 9 10 12 13 14 15 +0 1 3 4 5 6 7 9 11 12 13 14 15 +0 1 3 4 5 6 7 10 11 12 13 14 15 +0 1 3 4 5 6 8 9 10 11 12 13 14 +0 1 3 4 5 6 8 9 10 11 12 13 15 +0 1 3 4 5 6 8 9 10 11 12 14 15 +0 1 3 4 5 6 8 9 10 11 13 14 15 +0 1 3 4 5 6 8 9 10 12 13 14 15 +0 1 3 4 5 6 8 9 11 12 13 14 15 +0 1 3 4 5 6 8 10 11 12 13 14 15 +0 1 3 4 5 6 9 10 11 12 13 14 15 +0 1 3 4 5 7 8 9 10 11 12 13 14 +0 1 3 4 5 7 8 9 10 11 12 13 15 +0 1 3 4 5 7 8 9 10 11 12 14 15 +0 1 3 4 5 7 8 9 10 11 13 14 15 +0 1 3 4 5 7 8 9 10 12 13 14 15 +0 1 3 4 5 7 8 9 11 12 13 14 15 +0 1 3 4 5 7 8 10 11 12 13 14 15 +0 1 3 4 5 7 9 10 11 12 13 14 15 +0 1 3 4 5 8 9 10 11 12 13 14 15 +0 1 3 4 6 7 8 9 10 11 12 13 14 +0 1 3 4 6 7 8 9 10 11 12 13 15 +0 1 3 4 6 7 8 9 10 11 12 14 15 +0 1 3 4 6 7 8 9 10 11 13 14 15 +0 1 3 4 6 7 8 9 10 12 13 14 15 +0 1 3 4 6 7 8 9 11 12 13 14 15 +0 1 3 4 6 7 8 10 11 12 13 14 15 +0 1 3 4 6 7 9 10 11 12 13 14 15 +0 1 3 4 6 8 9 10 11 12 13 14 15 +0 1 3 4 7 8 9 10 11 12 13 14 15 +0 1 3 5 6 7 8 9 10 11 12 13 14 +0 1 3 5 6 7 8 9 10 11 12 13 15 +0 1 3 5 6 7 8 9 10 11 12 14 15 +0 1 3 5 6 7 8 9 10 11 13 14 15 +0 1 3 5 6 7 8 9 10 12 13 14 15 +0 1 3 5 6 7 8 9 11 12 13 14 15 +0 1 3 5 6 7 8 10 11 12 13 14 15 +0 1 3 5 6 7 9 10 11 12 13 14 15 +0 1 3 5 6 8 9 10 11 12 13 14 15 +0 1 3 5 7 8 9 10 11 12 13 14 15 +0 1 3 6 7 8 9 10 11 12 13 14 15 +0 1 4 5 6 7 8 9 10 11 12 13 14 +0 1 4 5 6 7 8 9 10 11 12 13 15 +0 1 4 5 6 7 8 9 10 11 12 14 15 +0 1 4 5 6 7 8 9 10 11 13 14 15 +0 1 4 5 6 7 8 9 10 12 13 14 15 +0 1 4 5 6 7 8 9 11 12 13 14 15 +0 1 4 5 6 7 8 10 11 12 13 14 15 +0 1 4 5 6 7 9 10 11 12 13 14 15 +0 1 4 5 6 8 9 10 11 12 13 14 15 +0 1 4 5 7 8 9 10 11 12 13 14 15 +0 1 4 6 7 8 9 10 11 12 13 14 15 +0 1 5 6 7 8 9 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 9 10 11 12 13 +0 2 3 4 5 6 7 8 9 10 11 12 14 +0 2 3 4 5 6 7 8 9 10 11 12 15 +0 2 3 4 5 6 7 8 9 10 11 13 14 +0 2 3 4 5 6 7 8 9 10 11 13 15 +0 2 3 4 5 6 7 8 9 10 11 14 15 +0 2 3 4 5 6 7 8 9 10 12 13 14 +0 2 3 4 5 6 7 8 9 10 12 13 15 +0 2 3 4 5 6 7 8 9 10 12 14 15 +0 2 3 4 5 6 7 8 9 10 13 14 15 +0 2 3 4 5 6 7 8 9 11 12 13 14 +0 2 3 4 5 6 7 8 9 11 12 13 15 +0 2 3 4 5 6 7 8 9 11 12 14 15 +0 2 3 4 5 6 7 8 9 11 13 14 15 +0 2 3 4 5 6 7 8 9 12 13 14 15 +0 2 3 4 5 6 7 8 10 11 12 13 14 +0 2 3 4 5 6 7 8 10 11 12 13 15 +0 2 3 4 5 6 7 8 10 11 12 14 15 +0 2 3 4 5 6 7 8 10 11 13 14 15 +0 2 3 4 5 6 7 8 10 12 13 14 15 +0 2 3 4 5 6 7 8 11 12 13 14 15 +0 2 3 4 5 6 7 9 10 11 12 13 14 +0 2 3 4 5 6 7 9 10 11 12 13 15 +0 2 3 4 5 6 7 9 10 11 12 14 15 +0 2 3 4 5 6 7 9 10 11 13 14 15 +0 2 3 4 5 6 7 9 10 12 13 14 15 +0 2 3 4 5 6 7 9 11 12 13 14 15 +0 2 3 4 5 6 7 10 11 12 13 14 15 +0 2 3 4 5 6 8 9 10 11 12 13 14 +0 2 3 4 5 6 8 9 10 11 12 13 15 +0 2 3 4 5 6 8 9 10 11 12 14 15 +0 2 3 4 5 6 8 9 10 11 13 14 15 +0 2 3 4 5 6 8 9 10 12 13 14 15 +0 2 3 4 5 6 8 9 11 12 13 14 15 +0 2 3 4 5 6 8 10 11 12 13 14 15 +0 2 3 4 5 6 9 10 11 12 13 14 15 +0 2 3 4 5 7 8 9 10 11 12 13 14 +0 2 3 4 5 7 8 9 10 11 12 13 15 +0 2 3 4 5 7 8 9 10 11 12 14 15 +0 2 3 4 5 7 8 9 10 11 13 14 15 +0 2 3 4 5 7 8 9 10 12 13 14 15 +0 2 3 4 5 7 8 9 11 12 13 14 15 +0 2 3 4 5 7 8 10 11 12 13 14 15 +0 2 3 4 5 7 9 10 11 12 13 14 15 +0 2 3 4 5 8 9 10 11 12 13 14 15 +0 2 3 4 6 7 8 9 10 11 12 13 14 +0 2 3 4 6 7 8 9 10 11 12 13 15 +0 2 3 4 6 7 8 9 10 11 12 14 15 +0 2 3 4 6 7 8 9 10 11 13 14 15 +0 2 3 4 6 7 8 9 10 12 13 14 15 +0 2 3 4 6 7 8 9 11 12 13 14 15 +0 2 3 4 6 7 8 10 11 12 13 14 15 +0 2 3 4 6 7 9 10 11 12 13 14 15 +0 2 3 4 6 8 9 10 11 12 13 14 15 +0 2 3 4 7 8 9 10 11 12 13 14 15 +0 2 3 5 6 7 8 9 10 11 12 13 14 +0 2 3 5 6 7 8 9 10 11 12 13 15 +0 2 3 5 6 7 8 9 10 11 12 14 15 +0 2 3 5 6 7 8 9 10 11 13 14 15 +0 2 3 5 6 7 8 9 10 12 13 14 15 +0 2 3 5 6 7 8 9 11 12 13 14 15 +0 2 3 5 6 7 8 10 11 12 13 14 15 +0 2 3 5 6 7 9 10 11 12 13 14 15 +0 2 3 5 6 8 9 10 11 12 13 14 15 +0 2 3 5 7 8 9 10 11 12 13 14 15 +0 2 3 6 7 8 9 10 11 12 13 14 15 +0 2 4 5 6 7 8 9 10 11 12 13 14 +0 2 4 5 6 7 8 9 10 11 12 13 15 +0 2 4 5 6 7 8 9 10 11 12 14 15 +0 2 4 5 6 7 8 9 10 11 13 14 15 +0 2 4 5 6 7 8 9 10 12 13 14 15 +0 2 4 5 6 7 8 9 11 12 13 14 15 +0 2 4 5 6 7 8 10 11 12 13 14 15 +0 2 4 5 6 7 9 10 11 12 13 14 15 +0 2 4 5 6 8 9 10 11 12 13 14 15 +0 2 4 5 7 8 9 10 11 12 13 14 15 +0 2 4 6 7 8 9 10 11 12 13 14 15 +0 2 5 6 7 8 9 10 11 12 13 14 15 +0 3 4 5 6 7 8 9 10 11 12 13 14 +0 3 4 5 6 7 8 9 10 11 12 13 15 +0 3 4 5 6 7 8 9 10 11 12 14 15 +0 3 4 5 6 7 8 9 10 11 13 14 15 +0 3 4 5 6 7 8 9 10 12 13 14 15 +0 3 4 5 6 7 8 9 11 12 13 14 15 +0 3 4 5 6 7 8 10 11 12 13 14 15 +0 3 4 5 6 7 9 10 11 12 13 14 15 +0 3 4 5 6 8 9 10 11 12 13 14 15 +0 3 4 5 7 8 9 10 11 12 13 14 15 +0 3 4 6 7 8 9 10 11 12 13 14 15 +0 3 5 6 7 8 9 10 11 12 13 14 15 +0 4 5 6 7 8 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 9 10 11 12 13 +1 2 3 4 5 6 7 8 9 10 11 12 14 +1 2 3 4 5 6 7 8 9 10 11 12 15 +1 2 3 4 5 6 7 8 9 10 11 13 14 +1 2 3 4 5 6 7 8 9 10 11 13 15 +1 2 3 4 5 6 7 8 9 10 11 14 15 +1 2 3 4 5 6 7 8 9 10 12 13 14 +1 2 3 4 5 6 7 8 9 10 12 13 15 +1 2 3 4 5 6 7 8 9 10 12 14 15 +1 2 3 4 5 6 7 8 9 10 13 14 15 +1 2 3 4 5 6 7 8 9 11 12 13 14 +1 2 3 4 5 6 7 8 9 11 12 13 15 +1 2 3 4 5 6 7 8 9 11 12 14 15 +1 2 3 4 5 6 7 8 9 11 13 14 15 +1 2 3 4 5 6 7 8 9 12 13 14 15 +1 2 3 4 5 6 7 8 10 11 12 13 14 +1 2 3 4 5 6 7 8 10 11 12 13 15 +1 2 3 4 5 6 7 8 10 11 12 14 15 +1 2 3 4 5 6 7 8 10 11 13 14 15 +1 2 3 4 5 6 7 8 10 12 13 14 15 +1 2 3 4 5 6 7 8 11 12 13 14 15 +1 2 3 4 5 6 7 9 10 11 12 13 14 +1 2 3 4 5 6 7 9 10 11 12 13 15 +1 2 3 4 5 6 7 9 10 11 12 14 15 +1 2 3 4 5 6 7 9 10 11 13 14 15 +1 2 3 4 5 6 7 9 10 12 13 14 15 +1 2 3 4 5 6 7 9 11 12 13 14 15 +1 2 3 4 5 6 7 10 11 12 13 14 15 +1 2 3 4 5 6 8 9 10 11 12 13 14 +1 2 3 4 5 6 8 9 10 11 12 13 15 +1 2 3 4 5 6 8 9 10 11 12 14 15 +1 2 3 4 5 6 8 9 10 11 13 14 15 +1 2 3 4 5 6 8 9 10 12 13 14 15 +1 2 3 4 5 6 8 9 11 12 13 14 15 +1 2 3 4 5 6 8 10 11 12 13 14 15 +1 2 3 4 5 6 9 10 11 12 13 14 15 +1 2 3 4 5 7 8 9 10 11 12 13 14 +1 2 3 4 5 7 8 9 10 11 12 13 15 +1 2 3 4 5 7 8 9 10 11 12 14 15 +1 2 3 4 5 7 8 9 10 11 13 14 15 +1 2 3 4 5 7 8 9 10 12 13 14 15 +1 2 3 4 5 7 8 9 11 12 13 14 15 +1 2 3 4 5 7 8 10 11 12 13 14 15 +1 2 3 4 5 7 9 10 11 12 13 14 15 +1 2 3 4 5 8 9 10 11 12 13 14 15 +1 2 3 4 6 7 8 9 10 11 12 13 14 +1 2 3 4 6 7 8 9 10 11 12 13 15 +1 2 3 4 6 7 8 9 10 11 12 14 15 +1 2 3 4 6 7 8 9 10 11 13 14 15 +1 2 3 4 6 7 8 9 10 12 13 14 15 +1 2 3 4 6 7 8 9 11 12 13 14 15 +1 2 3 4 6 7 8 10 11 12 13 14 15 +1 2 3 4 6 7 9 10 11 12 13 14 15 +1 2 3 4 6 8 9 10 11 12 13 14 15 +1 2 3 4 7 8 9 10 11 12 13 14 15 +1 2 3 5 6 7 8 9 10 11 12 13 14 +1 2 3 5 6 7 8 9 10 11 12 13 15 +1 2 3 5 6 7 8 9 10 11 12 14 15 +1 2 3 5 6 7 8 9 10 11 13 14 15 +1 2 3 5 6 7 8 9 10 12 13 14 15 +1 2 3 5 6 7 8 9 11 12 13 14 15 +1 2 3 5 6 7 8 10 11 12 13 14 15 +1 2 3 5 6 7 9 10 11 12 13 14 15 +1 2 3 5 6 8 9 10 11 12 13 14 15 +1 2 3 5 7 8 9 10 11 12 13 14 15 +1 2 3 6 7 8 9 10 11 12 13 14 15 +1 2 4 5 6 7 8 9 10 11 12 13 14 +1 2 4 5 6 7 8 9 10 11 12 13 15 +1 2 4 5 6 7 8 9 10 11 12 14 15 +1 2 4 5 6 7 8 9 10 11 13 14 15 +1 2 4 5 6 7 8 9 10 12 13 14 15 +1 2 4 5 6 7 8 9 11 12 13 14 15 +1 2 4 5 6 7 8 10 11 12 13 14 15 +1 2 4 5 6 7 9 10 11 12 13 14 15 +1 2 4 5 6 8 9 10 11 12 13 14 15 +1 2 4 5 7 8 9 10 11 12 13 14 15 +1 2 4 6 7 8 9 10 11 12 13 14 15 +1 2 5 6 7 8 9 10 11 12 13 14 15 +1 3 4 5 6 7 8 9 10 11 12 13 14 +1 3 4 5 6 7 8 9 10 11 12 13 15 +1 3 4 5 6 7 8 9 10 11 12 14 15 +1 3 4 5 6 7 8 9 10 11 13 14 15 +1 3 4 5 6 7 8 9 10 12 13 14 15 +1 3 4 5 6 7 8 9 11 12 13 14 15 +1 3 4 5 6 7 8 10 11 12 13 14 15 +1 3 4 5 6 7 9 10 11 12 13 14 15 +1 3 4 5 6 8 9 10 11 12 13 14 15 +1 3 4 5 7 8 9 10 11 12 13 14 15 +1 3 4 6 7 8 9 10 11 12 13 14 15 +1 3 5 6 7 8 9 10 11 12 13 14 15 +1 4 5 6 7 8 9 10 11 12 13 14 15 +2 3 4 5 6 7 8 9 10 11 12 13 14 +2 3 4 5 6 7 8 9 10 11 12 13 15 +2 3 4 5 6 7 8 9 10 11 12 14 15 +2 3 4 5 6 7 8 9 10 11 13 14 15 +2 3 4 5 6 7 8 9 10 12 13 14 15 +2 3 4 5 6 7 8 9 11 12 13 14 15 +2 3 4 5 6 7 8 10 11 12 13 14 15 +2 3 4 5 6 7 9 10 11 12 13 14 15 +2 3 4 5 6 8 9 10 11 12 13 14 15 +2 3 4 5 7 8 9 10 11 12 13 14 15 +2 3 4 6 7 8 9 10 11 12 13 14 15 +2 3 5 6 7 8 9 10 11 12 13 14 15 +2 4 5 6 7 8 9 10 11 12 13 14 15 +3 4 5 6 7 8 9 10 11 12 13 14 15 diff --git a/combines/16-14.txt b/combines/16-14.txt index 185f436..93323ba 100644 --- a/combines/16-14.txt +++ b/combines/16-14.txt @@ -1,120 +1,120 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 -0 1 2 3 4 5 6 7 8 9 10 11 12 14 -0 1 2 3 4 5 6 7 8 9 10 11 12 15 -0 1 2 3 4 5 6 7 8 9 10 11 13 14 -0 1 2 3 4 5 6 7 8 9 10 11 13 15 -0 1 2 3 4 5 6 7 8 9 10 11 14 15 -0 1 2 3 4 5 6 7 8 9 10 12 13 14 -0 1 2 3 4 5 6 7 8 9 10 12 13 15 -0 1 2 3 4 5 6 7 8 9 10 12 14 15 -0 1 2 3 4 5 6 7 8 9 10 13 14 15 -0 1 2 3 4 5 6 7 8 9 11 12 13 14 -0 1 2 3 4 5 6 7 8 9 11 12 13 15 -0 1 2 3 4 5 6 7 8 9 11 12 14 15 -0 1 2 3 4 5 6 7 8 9 11 13 14 15 -0 1 2 3 4 5 6 7 8 9 12 13 14 15 -0 1 2 3 4 5 6 7 8 10 11 12 13 14 -0 1 2 3 4 5 6 7 8 10 11 12 13 15 -0 1 2 3 4 5 6 7 8 10 11 12 14 15 -0 1 2 3 4 5 6 7 8 10 11 13 14 15 -0 1 2 3 4 5 6 7 8 10 12 13 14 15 -0 1 2 3 4 5 6 7 8 11 12 13 14 15 -0 1 2 3 4 5 6 7 9 10 11 12 13 14 -0 1 2 3 4 5 6 7 9 10 11 12 13 15 -0 1 2 3 4 5 6 7 9 10 11 12 14 15 -0 1 2 3 4 5 6 7 9 10 11 13 14 15 -0 1 2 3 4 5 6 7 9 10 12 13 14 15 -0 1 2 3 4 5 6 7 9 11 12 13 14 15 -0 1 2 3 4 5 6 7 10 11 12 13 14 15 -0 1 2 3 4 5 6 8 9 10 11 12 13 14 -0 1 2 3 4 5 6 8 9 10 11 12 13 15 -0 1 2 3 4 5 6 8 9 10 11 12 14 15 -0 1 2 3 4 5 6 8 9 10 11 13 14 15 -0 1 2 3 4 5 6 8 9 10 12 13 14 15 -0 1 2 3 4 5 6 8 9 11 12 13 14 15 -0 1 2 3 4 5 6 8 10 11 12 13 14 15 -0 1 2 3 4 5 6 9 10 11 12 13 14 15 -0 1 2 3 4 5 7 8 9 10 11 12 13 14 -0 1 2 3 4 5 7 8 9 10 11 12 13 15 -0 1 2 3 4 5 7 8 9 10 11 12 14 15 -0 1 2 3 4 5 7 8 9 10 11 13 14 15 -0 1 2 3 4 5 7 8 9 10 12 13 14 15 -0 1 2 3 4 5 7 8 9 11 12 13 14 15 -0 1 2 3 4 5 7 8 10 11 12 13 14 15 -0 1 2 3 4 5 7 9 10 11 12 13 14 15 -0 1 2 3 4 5 8 9 10 11 12 13 14 15 -0 1 2 3 4 6 7 8 9 10 11 12 13 14 -0 1 2 3 4 6 7 8 9 10 11 12 13 15 -0 1 2 3 4 6 7 8 9 10 11 12 14 15 -0 1 2 3 4 6 7 8 9 10 11 13 14 15 -0 1 2 3 4 6 7 8 9 10 12 13 14 15 -0 1 2 3 4 6 7 8 9 11 12 13 14 15 -0 1 2 3 4 6 7 8 10 11 12 13 14 15 -0 1 2 3 4 6 7 9 10 11 12 13 14 15 -0 1 2 3 4 6 8 9 10 11 12 13 14 15 -0 1 2 3 4 7 8 9 10 11 12 13 14 15 -0 1 2 3 5 6 7 8 9 10 11 12 13 14 -0 1 2 3 5 6 7 8 9 10 11 12 13 15 -0 1 2 3 5 6 7 8 9 10 11 12 14 15 -0 1 2 3 5 6 7 8 9 10 11 13 14 15 -0 1 2 3 5 6 7 8 9 10 12 13 14 15 -0 1 2 3 5 6 7 8 9 11 12 13 14 15 -0 1 2 3 5 6 7 8 10 11 12 13 14 15 -0 1 2 3 5 6 7 9 10 11 12 13 14 15 -0 1 2 3 5 6 8 9 10 11 12 13 14 15 -0 1 2 3 5 7 8 9 10 11 12 13 14 15 -0 1 2 3 6 7 8 9 10 11 12 13 14 15 -0 1 2 4 5 6 7 8 9 10 11 12 13 14 -0 1 2 4 5 6 7 8 9 10 11 12 13 15 -0 1 2 4 5 6 7 8 9 10 11 12 14 15 -0 1 2 4 5 6 7 8 9 10 11 13 14 15 -0 1 2 4 5 6 7 8 9 10 12 13 14 15 -0 1 2 4 5 6 7 8 9 11 12 13 14 15 -0 1 2 4 5 6 7 8 10 11 12 13 14 15 -0 1 2 4 5 6 7 9 10 11 12 13 14 15 -0 1 2 4 5 6 8 9 10 11 12 13 14 15 -0 1 2 4 5 7 8 9 10 11 12 13 14 15 -0 1 2 4 6 7 8 9 10 11 12 13 14 15 -0 1 2 5 6 7 8 9 10 11 12 13 14 15 -0 1 3 4 5 6 7 8 9 10 11 12 13 14 -0 1 3 4 5 6 7 8 9 10 11 12 13 15 -0 1 3 4 5 6 7 8 9 10 11 12 14 15 -0 1 3 4 5 6 7 8 9 10 11 13 14 15 -0 1 3 4 5 6 7 8 9 10 12 13 14 15 -0 1 3 4 5 6 7 8 9 11 12 13 14 15 -0 1 3 4 5 6 7 8 10 11 12 13 14 15 -0 1 3 4 5 6 7 9 10 11 12 13 14 15 -0 1 3 4 5 6 8 9 10 11 12 13 14 15 -0 1 3 4 5 7 8 9 10 11 12 13 14 15 -0 1 3 4 6 7 8 9 10 11 12 13 14 15 -0 1 3 5 6 7 8 9 10 11 12 13 14 15 -0 1 4 5 6 7 8 9 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 9 10 11 12 13 14 -0 2 3 4 5 6 7 8 9 10 11 12 13 15 -0 2 3 4 5 6 7 8 9 10 11 12 14 15 -0 2 3 4 5 6 7 8 9 10 11 13 14 15 -0 2 3 4 5 6 7 8 9 10 12 13 14 15 -0 2 3 4 5 6 7 8 9 11 12 13 14 15 -0 2 3 4 5 6 7 8 10 11 12 13 14 15 -0 2 3 4 5 6 7 9 10 11 12 13 14 15 -0 2 3 4 5 6 8 9 10 11 12 13 14 15 -0 2 3 4 5 7 8 9 10 11 12 13 14 15 -0 2 3 4 6 7 8 9 10 11 12 13 14 15 -0 2 3 5 6 7 8 9 10 11 12 13 14 15 -0 2 4 5 6 7 8 9 10 11 12 13 14 15 -0 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 9 10 11 12 13 14 -1 2 3 4 5 6 7 8 9 10 11 12 13 15 -1 2 3 4 5 6 7 8 9 10 11 12 14 15 -1 2 3 4 5 6 7 8 9 10 11 13 14 15 -1 2 3 4 5 6 7 8 9 10 12 13 14 15 -1 2 3 4 5 6 7 8 9 11 12 13 14 15 -1 2 3 4 5 6 7 8 10 11 12 13 14 15 -1 2 3 4 5 6 7 9 10 11 12 13 14 15 -1 2 3 4 5 6 8 9 10 11 12 13 14 15 -1 2 3 4 5 7 8 9 10 11 12 13 14 15 -1 2 3 4 6 7 8 9 10 11 12 13 14 15 -1 2 3 5 6 7 8 9 10 11 12 13 14 15 -1 2 4 5 6 7 8 9 10 11 12 13 14 15 -1 3 4 5 6 7 8 9 10 11 12 13 14 15 -2 3 4 5 6 7 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 +0 1 2 3 4 5 6 7 8 9 10 11 12 14 +0 1 2 3 4 5 6 7 8 9 10 11 12 15 +0 1 2 3 4 5 6 7 8 9 10 11 13 14 +0 1 2 3 4 5 6 7 8 9 10 11 13 15 +0 1 2 3 4 5 6 7 8 9 10 11 14 15 +0 1 2 3 4 5 6 7 8 9 10 12 13 14 +0 1 2 3 4 5 6 7 8 9 10 12 13 15 +0 1 2 3 4 5 6 7 8 9 10 12 14 15 +0 1 2 3 4 5 6 7 8 9 10 13 14 15 +0 1 2 3 4 5 6 7 8 9 11 12 13 14 +0 1 2 3 4 5 6 7 8 9 11 12 13 15 +0 1 2 3 4 5 6 7 8 9 11 12 14 15 +0 1 2 3 4 5 6 7 8 9 11 13 14 15 +0 1 2 3 4 5 6 7 8 9 12 13 14 15 +0 1 2 3 4 5 6 7 8 10 11 12 13 14 +0 1 2 3 4 5 6 7 8 10 11 12 13 15 +0 1 2 3 4 5 6 7 8 10 11 12 14 15 +0 1 2 3 4 5 6 7 8 10 11 13 14 15 +0 1 2 3 4 5 6 7 8 10 12 13 14 15 +0 1 2 3 4 5 6 7 8 11 12 13 14 15 +0 1 2 3 4 5 6 7 9 10 11 12 13 14 +0 1 2 3 4 5 6 7 9 10 11 12 13 15 +0 1 2 3 4 5 6 7 9 10 11 12 14 15 +0 1 2 3 4 5 6 7 9 10 11 13 14 15 +0 1 2 3 4 5 6 7 9 10 12 13 14 15 +0 1 2 3 4 5 6 7 9 11 12 13 14 15 +0 1 2 3 4 5 6 7 10 11 12 13 14 15 +0 1 2 3 4 5 6 8 9 10 11 12 13 14 +0 1 2 3 4 5 6 8 9 10 11 12 13 15 +0 1 2 3 4 5 6 8 9 10 11 12 14 15 +0 1 2 3 4 5 6 8 9 10 11 13 14 15 +0 1 2 3 4 5 6 8 9 10 12 13 14 15 +0 1 2 3 4 5 6 8 9 11 12 13 14 15 +0 1 2 3 4 5 6 8 10 11 12 13 14 15 +0 1 2 3 4 5 6 9 10 11 12 13 14 15 +0 1 2 3 4 5 7 8 9 10 11 12 13 14 +0 1 2 3 4 5 7 8 9 10 11 12 13 15 +0 1 2 3 4 5 7 8 9 10 11 12 14 15 +0 1 2 3 4 5 7 8 9 10 11 13 14 15 +0 1 2 3 4 5 7 8 9 10 12 13 14 15 +0 1 2 3 4 5 7 8 9 11 12 13 14 15 +0 1 2 3 4 5 7 8 10 11 12 13 14 15 +0 1 2 3 4 5 7 9 10 11 12 13 14 15 +0 1 2 3 4 5 8 9 10 11 12 13 14 15 +0 1 2 3 4 6 7 8 9 10 11 12 13 14 +0 1 2 3 4 6 7 8 9 10 11 12 13 15 +0 1 2 3 4 6 7 8 9 10 11 12 14 15 +0 1 2 3 4 6 7 8 9 10 11 13 14 15 +0 1 2 3 4 6 7 8 9 10 12 13 14 15 +0 1 2 3 4 6 7 8 9 11 12 13 14 15 +0 1 2 3 4 6 7 8 10 11 12 13 14 15 +0 1 2 3 4 6 7 9 10 11 12 13 14 15 +0 1 2 3 4 6 8 9 10 11 12 13 14 15 +0 1 2 3 4 7 8 9 10 11 12 13 14 15 +0 1 2 3 5 6 7 8 9 10 11 12 13 14 +0 1 2 3 5 6 7 8 9 10 11 12 13 15 +0 1 2 3 5 6 7 8 9 10 11 12 14 15 +0 1 2 3 5 6 7 8 9 10 11 13 14 15 +0 1 2 3 5 6 7 8 9 10 12 13 14 15 +0 1 2 3 5 6 7 8 9 11 12 13 14 15 +0 1 2 3 5 6 7 8 10 11 12 13 14 15 +0 1 2 3 5 6 7 9 10 11 12 13 14 15 +0 1 2 3 5 6 8 9 10 11 12 13 14 15 +0 1 2 3 5 7 8 9 10 11 12 13 14 15 +0 1 2 3 6 7 8 9 10 11 12 13 14 15 +0 1 2 4 5 6 7 8 9 10 11 12 13 14 +0 1 2 4 5 6 7 8 9 10 11 12 13 15 +0 1 2 4 5 6 7 8 9 10 11 12 14 15 +0 1 2 4 5 6 7 8 9 10 11 13 14 15 +0 1 2 4 5 6 7 8 9 10 12 13 14 15 +0 1 2 4 5 6 7 8 9 11 12 13 14 15 +0 1 2 4 5 6 7 8 10 11 12 13 14 15 +0 1 2 4 5 6 7 9 10 11 12 13 14 15 +0 1 2 4 5 6 8 9 10 11 12 13 14 15 +0 1 2 4 5 7 8 9 10 11 12 13 14 15 +0 1 2 4 6 7 8 9 10 11 12 13 14 15 +0 1 2 5 6 7 8 9 10 11 12 13 14 15 +0 1 3 4 5 6 7 8 9 10 11 12 13 14 +0 1 3 4 5 6 7 8 9 10 11 12 13 15 +0 1 3 4 5 6 7 8 9 10 11 12 14 15 +0 1 3 4 5 6 7 8 9 10 11 13 14 15 +0 1 3 4 5 6 7 8 9 10 12 13 14 15 +0 1 3 4 5 6 7 8 9 11 12 13 14 15 +0 1 3 4 5 6 7 8 10 11 12 13 14 15 +0 1 3 4 5 6 7 9 10 11 12 13 14 15 +0 1 3 4 5 6 8 9 10 11 12 13 14 15 +0 1 3 4 5 7 8 9 10 11 12 13 14 15 +0 1 3 4 6 7 8 9 10 11 12 13 14 15 +0 1 3 5 6 7 8 9 10 11 12 13 14 15 +0 1 4 5 6 7 8 9 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 9 10 11 12 13 14 +0 2 3 4 5 6 7 8 9 10 11 12 13 15 +0 2 3 4 5 6 7 8 9 10 11 12 14 15 +0 2 3 4 5 6 7 8 9 10 11 13 14 15 +0 2 3 4 5 6 7 8 9 10 12 13 14 15 +0 2 3 4 5 6 7 8 9 11 12 13 14 15 +0 2 3 4 5 6 7 8 10 11 12 13 14 15 +0 2 3 4 5 6 7 9 10 11 12 13 14 15 +0 2 3 4 5 6 8 9 10 11 12 13 14 15 +0 2 3 4 5 7 8 9 10 11 12 13 14 15 +0 2 3 4 6 7 8 9 10 11 12 13 14 15 +0 2 3 5 6 7 8 9 10 11 12 13 14 15 +0 2 4 5 6 7 8 9 10 11 12 13 14 15 +0 3 4 5 6 7 8 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 +1 2 3 4 5 6 7 8 9 10 11 12 13 15 +1 2 3 4 5 6 7 8 9 10 11 12 14 15 +1 2 3 4 5 6 7 8 9 10 11 13 14 15 +1 2 3 4 5 6 7 8 9 10 12 13 14 15 +1 2 3 4 5 6 7 8 9 11 12 13 14 15 +1 2 3 4 5 6 7 8 10 11 12 13 14 15 +1 2 3 4 5 6 7 9 10 11 12 13 14 15 +1 2 3 4 5 6 8 9 10 11 12 13 14 15 +1 2 3 4 5 7 8 9 10 11 12 13 14 15 +1 2 3 4 6 7 8 9 10 11 12 13 14 15 +1 2 3 5 6 7 8 9 10 11 12 13 14 15 +1 2 4 5 6 7 8 9 10 11 12 13 14 15 +1 3 4 5 6 7 8 9 10 11 12 13 14 15 +2 3 4 5 6 7 8 9 10 11 12 13 14 15 diff --git a/combines/16-15.txt b/combines/16-15.txt index 0e07be0..6807d7b 100644 --- a/combines/16-15.txt +++ b/combines/16-15.txt @@ -1,16 +1,16 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 -0 1 2 3 4 5 6 7 8 9 10 11 12 14 15 -0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 -0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 -0 1 2 3 4 5 6 7 8 9 11 12 13 14 15 -0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 -0 1 2 3 4 5 6 7 9 10 11 12 13 14 15 -0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 -0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 -0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 -0 1 2 3 5 6 7 8 9 10 11 12 13 14 15 -0 1 2 4 5 6 7 8 9 10 11 12 13 14 15 -0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 +0 1 2 3 4 5 6 7 8 9 10 11 12 14 15 +0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 +0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 +0 1 2 3 4 5 6 7 8 9 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 +0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 +0 1 2 3 5 6 7 8 9 10 11 12 13 14 15 +0 1 2 4 5 6 7 8 9 10 11 12 13 14 15 +0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 diff --git a/combines/16-2.txt b/combines/16-2.txt index 70e6aa3..58c5cc9 100644 --- a/combines/16-2.txt +++ b/combines/16-2.txt @@ -1,120 +1,120 @@ -0 1 -0 2 -0 3 -0 4 -0 5 -0 6 -0 7 -0 8 -0 9 -0 10 -0 11 -0 12 -0 13 -0 14 -0 15 -1 2 -1 3 -1 4 -1 5 -1 6 -1 7 -1 8 -1 9 -1 10 -1 11 -1 12 -1 13 -1 14 -1 15 -2 3 -2 4 -2 5 -2 6 -2 7 -2 8 -2 9 -2 10 -2 11 -2 12 -2 13 -2 14 -2 15 -3 4 -3 5 -3 6 -3 7 -3 8 -3 9 -3 10 -3 11 -3 12 -3 13 -3 14 -3 15 -4 5 -4 6 -4 7 -4 8 -4 9 -4 10 -4 11 -4 12 -4 13 -4 14 -4 15 -5 6 -5 7 -5 8 -5 9 -5 10 -5 11 -5 12 -5 13 -5 14 -5 15 -6 7 -6 8 -6 9 -6 10 -6 11 -6 12 -6 13 -6 14 -6 15 -7 8 -7 9 -7 10 -7 11 -7 12 -7 13 -7 14 -7 15 -8 9 -8 10 -8 11 -8 12 -8 13 -8 14 -8 15 -9 10 -9 11 -9 12 -9 13 -9 14 -9 15 -10 11 -10 12 -10 13 -10 14 -10 15 -11 12 -11 13 -11 14 -11 15 -12 13 -12 14 -12 15 -13 14 -13 15 +0 1 +0 2 +0 3 +0 4 +0 5 +0 6 +0 7 +0 8 +0 9 +0 10 +0 11 +0 12 +0 13 +0 14 +0 15 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 8 +1 9 +1 10 +1 11 +1 12 +1 13 +1 14 +1 15 +2 3 +2 4 +2 5 +2 6 +2 7 +2 8 +2 9 +2 10 +2 11 +2 12 +2 13 +2 14 +2 15 +3 4 +3 5 +3 6 +3 7 +3 8 +3 9 +3 10 +3 11 +3 12 +3 13 +3 14 +3 15 +4 5 +4 6 +4 7 +4 8 +4 9 +4 10 +4 11 +4 12 +4 13 +4 14 +4 15 +5 6 +5 7 +5 8 +5 9 +5 10 +5 11 +5 12 +5 13 +5 14 +5 15 +6 7 +6 8 +6 9 +6 10 +6 11 +6 12 +6 13 +6 14 +6 15 +7 8 +7 9 +7 10 +7 11 +7 12 +7 13 +7 14 +7 15 +8 9 +8 10 +8 11 +8 12 +8 13 +8 14 +8 15 +9 10 +9 11 +9 12 +9 13 +9 14 +9 15 +10 11 +10 12 +10 13 +10 14 +10 15 +11 12 +11 13 +11 14 +11 15 +12 13 +12 14 +12 15 +13 14 +13 15 14 15 \ No newline at end of file diff --git a/combines/16-3.txt b/combines/16-3.txt index bd14b21..fff9e7e 100644 --- a/combines/16-3.txt +++ b/combines/16-3.txt @@ -1,560 +1,560 @@ -0 1 2 -0 1 3 -0 1 4 -0 1 5 -0 1 6 -0 1 7 -0 1 8 -0 1 9 -0 1 10 -0 1 11 -0 1 12 -0 1 13 -0 1 14 -0 1 15 -0 2 3 -0 2 4 -0 2 5 -0 2 6 -0 2 7 -0 2 8 -0 2 9 -0 2 10 -0 2 11 -0 2 12 -0 2 13 -0 2 14 -0 2 15 -0 3 4 -0 3 5 -0 3 6 -0 3 7 -0 3 8 -0 3 9 -0 3 10 -0 3 11 -0 3 12 -0 3 13 -0 3 14 -0 3 15 -0 4 5 -0 4 6 -0 4 7 -0 4 8 -0 4 9 -0 4 10 -0 4 11 -0 4 12 -0 4 13 -0 4 14 -0 4 15 -0 5 6 -0 5 7 -0 5 8 -0 5 9 -0 5 10 -0 5 11 -0 5 12 -0 5 13 -0 5 14 -0 5 15 -0 6 7 -0 6 8 -0 6 9 -0 6 10 -0 6 11 -0 6 12 -0 6 13 -0 6 14 -0 6 15 -0 7 8 -0 7 9 -0 7 10 -0 7 11 -0 7 12 -0 7 13 -0 7 14 -0 7 15 -0 8 9 -0 8 10 -0 8 11 -0 8 12 -0 8 13 -0 8 14 -0 8 15 -0 9 10 -0 9 11 -0 9 12 -0 9 13 -0 9 14 -0 9 15 -0 10 11 -0 10 12 -0 10 13 -0 10 14 -0 10 15 -0 11 12 -0 11 13 -0 11 14 -0 11 15 -0 12 13 -0 12 14 -0 12 15 -0 13 14 -0 13 15 -0 14 15 -1 2 3 -1 2 4 -1 2 5 -1 2 6 -1 2 7 -1 2 8 -1 2 9 -1 2 10 -1 2 11 -1 2 12 -1 2 13 -1 2 14 -1 2 15 -1 3 4 -1 3 5 -1 3 6 -1 3 7 -1 3 8 -1 3 9 -1 3 10 -1 3 11 -1 3 12 -1 3 13 -1 3 14 -1 3 15 -1 4 5 -1 4 6 -1 4 7 -1 4 8 -1 4 9 -1 4 10 -1 4 11 -1 4 12 -1 4 13 -1 4 14 -1 4 15 -1 5 6 -1 5 7 -1 5 8 -1 5 9 -1 5 10 -1 5 11 -1 5 12 -1 5 13 -1 5 14 -1 5 15 -1 6 7 -1 6 8 -1 6 9 -1 6 10 -1 6 11 -1 6 12 -1 6 13 -1 6 14 -1 6 15 -1 7 8 -1 7 9 -1 7 10 -1 7 11 -1 7 12 -1 7 13 -1 7 14 -1 7 15 -1 8 9 -1 8 10 -1 8 11 -1 8 12 -1 8 13 -1 8 14 -1 8 15 -1 9 10 -1 9 11 -1 9 12 -1 9 13 -1 9 14 -1 9 15 -1 10 11 -1 10 12 -1 10 13 -1 10 14 -1 10 15 -1 11 12 -1 11 13 -1 11 14 -1 11 15 -1 12 13 -1 12 14 -1 12 15 -1 13 14 -1 13 15 -1 14 15 -2 3 4 -2 3 5 -2 3 6 -2 3 7 -2 3 8 -2 3 9 -2 3 10 -2 3 11 -2 3 12 -2 3 13 -2 3 14 -2 3 15 -2 4 5 -2 4 6 -2 4 7 -2 4 8 -2 4 9 -2 4 10 -2 4 11 -2 4 12 -2 4 13 -2 4 14 -2 4 15 -2 5 6 -2 5 7 -2 5 8 -2 5 9 -2 5 10 -2 5 11 -2 5 12 -2 5 13 -2 5 14 -2 5 15 -2 6 7 -2 6 8 -2 6 9 -2 6 10 -2 6 11 -2 6 12 -2 6 13 -2 6 14 -2 6 15 -2 7 8 -2 7 9 -2 7 10 -2 7 11 -2 7 12 -2 7 13 -2 7 14 -2 7 15 -2 8 9 -2 8 10 -2 8 11 -2 8 12 -2 8 13 -2 8 14 -2 8 15 -2 9 10 -2 9 11 -2 9 12 -2 9 13 -2 9 14 -2 9 15 -2 10 11 -2 10 12 -2 10 13 -2 10 14 -2 10 15 -2 11 12 -2 11 13 -2 11 14 -2 11 15 -2 12 13 -2 12 14 -2 12 15 -2 13 14 -2 13 15 -2 14 15 -3 4 5 -3 4 6 -3 4 7 -3 4 8 -3 4 9 -3 4 10 -3 4 11 -3 4 12 -3 4 13 -3 4 14 -3 4 15 -3 5 6 -3 5 7 -3 5 8 -3 5 9 -3 5 10 -3 5 11 -3 5 12 -3 5 13 -3 5 14 -3 5 15 -3 6 7 -3 6 8 -3 6 9 -3 6 10 -3 6 11 -3 6 12 -3 6 13 -3 6 14 -3 6 15 -3 7 8 -3 7 9 -3 7 10 -3 7 11 -3 7 12 -3 7 13 -3 7 14 -3 7 15 -3 8 9 -3 8 10 -3 8 11 -3 8 12 -3 8 13 -3 8 14 -3 8 15 -3 9 10 -3 9 11 -3 9 12 -3 9 13 -3 9 14 -3 9 15 -3 10 11 -3 10 12 -3 10 13 -3 10 14 -3 10 15 -3 11 12 -3 11 13 -3 11 14 -3 11 15 -3 12 13 -3 12 14 -3 12 15 -3 13 14 -3 13 15 -3 14 15 -4 5 6 -4 5 7 -4 5 8 -4 5 9 -4 5 10 -4 5 11 -4 5 12 -4 5 13 -4 5 14 -4 5 15 -4 6 7 -4 6 8 -4 6 9 -4 6 10 -4 6 11 -4 6 12 -4 6 13 -4 6 14 -4 6 15 -4 7 8 -4 7 9 -4 7 10 -4 7 11 -4 7 12 -4 7 13 -4 7 14 -4 7 15 -4 8 9 -4 8 10 -4 8 11 -4 8 12 -4 8 13 -4 8 14 -4 8 15 -4 9 10 -4 9 11 -4 9 12 -4 9 13 -4 9 14 -4 9 15 -4 10 11 -4 10 12 -4 10 13 -4 10 14 -4 10 15 -4 11 12 -4 11 13 -4 11 14 -4 11 15 -4 12 13 -4 12 14 -4 12 15 -4 13 14 -4 13 15 -4 14 15 -5 6 7 -5 6 8 -5 6 9 -5 6 10 -5 6 11 -5 6 12 -5 6 13 -5 6 14 -5 6 15 -5 7 8 -5 7 9 -5 7 10 -5 7 11 -5 7 12 -5 7 13 -5 7 14 -5 7 15 -5 8 9 -5 8 10 -5 8 11 -5 8 12 -5 8 13 -5 8 14 -5 8 15 -5 9 10 -5 9 11 -5 9 12 -5 9 13 -5 9 14 -5 9 15 -5 10 11 -5 10 12 -5 10 13 -5 10 14 -5 10 15 -5 11 12 -5 11 13 -5 11 14 -5 11 15 -5 12 13 -5 12 14 -5 12 15 -5 13 14 -5 13 15 -5 14 15 -6 7 8 -6 7 9 -6 7 10 -6 7 11 -6 7 12 -6 7 13 -6 7 14 -6 7 15 -6 8 9 -6 8 10 -6 8 11 -6 8 12 -6 8 13 -6 8 14 -6 8 15 -6 9 10 -6 9 11 -6 9 12 -6 9 13 -6 9 14 -6 9 15 -6 10 11 -6 10 12 -6 10 13 -6 10 14 -6 10 15 -6 11 12 -6 11 13 -6 11 14 -6 11 15 -6 12 13 -6 12 14 -6 12 15 -6 13 14 -6 13 15 -6 14 15 -7 8 9 -7 8 10 -7 8 11 -7 8 12 -7 8 13 -7 8 14 -7 8 15 -7 9 10 -7 9 11 -7 9 12 -7 9 13 -7 9 14 -7 9 15 -7 10 11 -7 10 12 -7 10 13 -7 10 14 -7 10 15 -7 11 12 -7 11 13 -7 11 14 -7 11 15 -7 12 13 -7 12 14 -7 12 15 -7 13 14 -7 13 15 -7 14 15 -8 9 10 -8 9 11 -8 9 12 -8 9 13 -8 9 14 -8 9 15 -8 10 11 -8 10 12 -8 10 13 -8 10 14 -8 10 15 -8 11 12 -8 11 13 -8 11 14 -8 11 15 -8 12 13 -8 12 14 -8 12 15 -8 13 14 -8 13 15 -8 14 15 -9 10 11 -9 10 12 -9 10 13 -9 10 14 -9 10 15 -9 11 12 -9 11 13 -9 11 14 -9 11 15 -9 12 13 -9 12 14 -9 12 15 -9 13 14 -9 13 15 -9 14 15 -10 11 12 -10 11 13 -10 11 14 -10 11 15 -10 12 13 -10 12 14 -10 12 15 -10 13 14 -10 13 15 -10 14 15 -11 12 13 -11 12 14 -11 12 15 -11 13 14 -11 13 15 -11 14 15 -12 13 14 -12 13 15 -12 14 15 -13 14 15 +0 1 2 +0 1 3 +0 1 4 +0 1 5 +0 1 6 +0 1 7 +0 1 8 +0 1 9 +0 1 10 +0 1 11 +0 1 12 +0 1 13 +0 1 14 +0 1 15 +0 2 3 +0 2 4 +0 2 5 +0 2 6 +0 2 7 +0 2 8 +0 2 9 +0 2 10 +0 2 11 +0 2 12 +0 2 13 +0 2 14 +0 2 15 +0 3 4 +0 3 5 +0 3 6 +0 3 7 +0 3 8 +0 3 9 +0 3 10 +0 3 11 +0 3 12 +0 3 13 +0 3 14 +0 3 15 +0 4 5 +0 4 6 +0 4 7 +0 4 8 +0 4 9 +0 4 10 +0 4 11 +0 4 12 +0 4 13 +0 4 14 +0 4 15 +0 5 6 +0 5 7 +0 5 8 +0 5 9 +0 5 10 +0 5 11 +0 5 12 +0 5 13 +0 5 14 +0 5 15 +0 6 7 +0 6 8 +0 6 9 +0 6 10 +0 6 11 +0 6 12 +0 6 13 +0 6 14 +0 6 15 +0 7 8 +0 7 9 +0 7 10 +0 7 11 +0 7 12 +0 7 13 +0 7 14 +0 7 15 +0 8 9 +0 8 10 +0 8 11 +0 8 12 +0 8 13 +0 8 14 +0 8 15 +0 9 10 +0 9 11 +0 9 12 +0 9 13 +0 9 14 +0 9 15 +0 10 11 +0 10 12 +0 10 13 +0 10 14 +0 10 15 +0 11 12 +0 11 13 +0 11 14 +0 11 15 +0 12 13 +0 12 14 +0 12 15 +0 13 14 +0 13 15 +0 14 15 +1 2 3 +1 2 4 +1 2 5 +1 2 6 +1 2 7 +1 2 8 +1 2 9 +1 2 10 +1 2 11 +1 2 12 +1 2 13 +1 2 14 +1 2 15 +1 3 4 +1 3 5 +1 3 6 +1 3 7 +1 3 8 +1 3 9 +1 3 10 +1 3 11 +1 3 12 +1 3 13 +1 3 14 +1 3 15 +1 4 5 +1 4 6 +1 4 7 +1 4 8 +1 4 9 +1 4 10 +1 4 11 +1 4 12 +1 4 13 +1 4 14 +1 4 15 +1 5 6 +1 5 7 +1 5 8 +1 5 9 +1 5 10 +1 5 11 +1 5 12 +1 5 13 +1 5 14 +1 5 15 +1 6 7 +1 6 8 +1 6 9 +1 6 10 +1 6 11 +1 6 12 +1 6 13 +1 6 14 +1 6 15 +1 7 8 +1 7 9 +1 7 10 +1 7 11 +1 7 12 +1 7 13 +1 7 14 +1 7 15 +1 8 9 +1 8 10 +1 8 11 +1 8 12 +1 8 13 +1 8 14 +1 8 15 +1 9 10 +1 9 11 +1 9 12 +1 9 13 +1 9 14 +1 9 15 +1 10 11 +1 10 12 +1 10 13 +1 10 14 +1 10 15 +1 11 12 +1 11 13 +1 11 14 +1 11 15 +1 12 13 +1 12 14 +1 12 15 +1 13 14 +1 13 15 +1 14 15 +2 3 4 +2 3 5 +2 3 6 +2 3 7 +2 3 8 +2 3 9 +2 3 10 +2 3 11 +2 3 12 +2 3 13 +2 3 14 +2 3 15 +2 4 5 +2 4 6 +2 4 7 +2 4 8 +2 4 9 +2 4 10 +2 4 11 +2 4 12 +2 4 13 +2 4 14 +2 4 15 +2 5 6 +2 5 7 +2 5 8 +2 5 9 +2 5 10 +2 5 11 +2 5 12 +2 5 13 +2 5 14 +2 5 15 +2 6 7 +2 6 8 +2 6 9 +2 6 10 +2 6 11 +2 6 12 +2 6 13 +2 6 14 +2 6 15 +2 7 8 +2 7 9 +2 7 10 +2 7 11 +2 7 12 +2 7 13 +2 7 14 +2 7 15 +2 8 9 +2 8 10 +2 8 11 +2 8 12 +2 8 13 +2 8 14 +2 8 15 +2 9 10 +2 9 11 +2 9 12 +2 9 13 +2 9 14 +2 9 15 +2 10 11 +2 10 12 +2 10 13 +2 10 14 +2 10 15 +2 11 12 +2 11 13 +2 11 14 +2 11 15 +2 12 13 +2 12 14 +2 12 15 +2 13 14 +2 13 15 +2 14 15 +3 4 5 +3 4 6 +3 4 7 +3 4 8 +3 4 9 +3 4 10 +3 4 11 +3 4 12 +3 4 13 +3 4 14 +3 4 15 +3 5 6 +3 5 7 +3 5 8 +3 5 9 +3 5 10 +3 5 11 +3 5 12 +3 5 13 +3 5 14 +3 5 15 +3 6 7 +3 6 8 +3 6 9 +3 6 10 +3 6 11 +3 6 12 +3 6 13 +3 6 14 +3 6 15 +3 7 8 +3 7 9 +3 7 10 +3 7 11 +3 7 12 +3 7 13 +3 7 14 +3 7 15 +3 8 9 +3 8 10 +3 8 11 +3 8 12 +3 8 13 +3 8 14 +3 8 15 +3 9 10 +3 9 11 +3 9 12 +3 9 13 +3 9 14 +3 9 15 +3 10 11 +3 10 12 +3 10 13 +3 10 14 +3 10 15 +3 11 12 +3 11 13 +3 11 14 +3 11 15 +3 12 13 +3 12 14 +3 12 15 +3 13 14 +3 13 15 +3 14 15 +4 5 6 +4 5 7 +4 5 8 +4 5 9 +4 5 10 +4 5 11 +4 5 12 +4 5 13 +4 5 14 +4 5 15 +4 6 7 +4 6 8 +4 6 9 +4 6 10 +4 6 11 +4 6 12 +4 6 13 +4 6 14 +4 6 15 +4 7 8 +4 7 9 +4 7 10 +4 7 11 +4 7 12 +4 7 13 +4 7 14 +4 7 15 +4 8 9 +4 8 10 +4 8 11 +4 8 12 +4 8 13 +4 8 14 +4 8 15 +4 9 10 +4 9 11 +4 9 12 +4 9 13 +4 9 14 +4 9 15 +4 10 11 +4 10 12 +4 10 13 +4 10 14 +4 10 15 +4 11 12 +4 11 13 +4 11 14 +4 11 15 +4 12 13 +4 12 14 +4 12 15 +4 13 14 +4 13 15 +4 14 15 +5 6 7 +5 6 8 +5 6 9 +5 6 10 +5 6 11 +5 6 12 +5 6 13 +5 6 14 +5 6 15 +5 7 8 +5 7 9 +5 7 10 +5 7 11 +5 7 12 +5 7 13 +5 7 14 +5 7 15 +5 8 9 +5 8 10 +5 8 11 +5 8 12 +5 8 13 +5 8 14 +5 8 15 +5 9 10 +5 9 11 +5 9 12 +5 9 13 +5 9 14 +5 9 15 +5 10 11 +5 10 12 +5 10 13 +5 10 14 +5 10 15 +5 11 12 +5 11 13 +5 11 14 +5 11 15 +5 12 13 +5 12 14 +5 12 15 +5 13 14 +5 13 15 +5 14 15 +6 7 8 +6 7 9 +6 7 10 +6 7 11 +6 7 12 +6 7 13 +6 7 14 +6 7 15 +6 8 9 +6 8 10 +6 8 11 +6 8 12 +6 8 13 +6 8 14 +6 8 15 +6 9 10 +6 9 11 +6 9 12 +6 9 13 +6 9 14 +6 9 15 +6 10 11 +6 10 12 +6 10 13 +6 10 14 +6 10 15 +6 11 12 +6 11 13 +6 11 14 +6 11 15 +6 12 13 +6 12 14 +6 12 15 +6 13 14 +6 13 15 +6 14 15 +7 8 9 +7 8 10 +7 8 11 +7 8 12 +7 8 13 +7 8 14 +7 8 15 +7 9 10 +7 9 11 +7 9 12 +7 9 13 +7 9 14 +7 9 15 +7 10 11 +7 10 12 +7 10 13 +7 10 14 +7 10 15 +7 11 12 +7 11 13 +7 11 14 +7 11 15 +7 12 13 +7 12 14 +7 12 15 +7 13 14 +7 13 15 +7 14 15 +8 9 10 +8 9 11 +8 9 12 +8 9 13 +8 9 14 +8 9 15 +8 10 11 +8 10 12 +8 10 13 +8 10 14 +8 10 15 +8 11 12 +8 11 13 +8 11 14 +8 11 15 +8 12 13 +8 12 14 +8 12 15 +8 13 14 +8 13 15 +8 14 15 +9 10 11 +9 10 12 +9 10 13 +9 10 14 +9 10 15 +9 11 12 +9 11 13 +9 11 14 +9 11 15 +9 12 13 +9 12 14 +9 12 15 +9 13 14 +9 13 15 +9 14 15 +10 11 12 +10 11 13 +10 11 14 +10 11 15 +10 12 13 +10 12 14 +10 12 15 +10 13 14 +10 13 15 +10 14 15 +11 12 13 +11 12 14 +11 12 15 +11 13 14 +11 13 15 +11 14 15 +12 13 14 +12 13 15 +12 14 15 +13 14 15 diff --git a/combines/16-4.txt b/combines/16-4.txt index 093884f..bdb647e 100644 --- a/combines/16-4.txt +++ b/combines/16-4.txt @@ -1,1820 +1,1820 @@ -0 1 2 3 -0 1 2 4 -0 1 2 5 -0 1 2 6 -0 1 2 7 -0 1 2 8 -0 1 2 9 -0 1 2 10 -0 1 2 11 -0 1 2 12 -0 1 2 13 -0 1 2 14 -0 1 2 15 -0 1 3 4 -0 1 3 5 -0 1 3 6 -0 1 3 7 -0 1 3 8 -0 1 3 9 -0 1 3 10 -0 1 3 11 -0 1 3 12 -0 1 3 13 -0 1 3 14 -0 1 3 15 -0 1 4 5 -0 1 4 6 -0 1 4 7 -0 1 4 8 -0 1 4 9 -0 1 4 10 -0 1 4 11 -0 1 4 12 -0 1 4 13 -0 1 4 14 -0 1 4 15 -0 1 5 6 -0 1 5 7 -0 1 5 8 -0 1 5 9 -0 1 5 10 -0 1 5 11 -0 1 5 12 -0 1 5 13 -0 1 5 14 -0 1 5 15 -0 1 6 7 -0 1 6 8 -0 1 6 9 -0 1 6 10 -0 1 6 11 -0 1 6 12 -0 1 6 13 -0 1 6 14 -0 1 6 15 -0 1 7 8 -0 1 7 9 -0 1 7 10 -0 1 7 11 -0 1 7 12 -0 1 7 13 -0 1 7 14 -0 1 7 15 -0 1 8 9 -0 1 8 10 -0 1 8 11 -0 1 8 12 -0 1 8 13 -0 1 8 14 -0 1 8 15 -0 1 9 10 -0 1 9 11 -0 1 9 12 -0 1 9 13 -0 1 9 14 -0 1 9 15 -0 1 10 11 -0 1 10 12 -0 1 10 13 -0 1 10 14 -0 1 10 15 -0 1 11 12 -0 1 11 13 -0 1 11 14 -0 1 11 15 -0 1 12 13 -0 1 12 14 -0 1 12 15 -0 1 13 14 -0 1 13 15 -0 1 14 15 -0 2 3 4 -0 2 3 5 -0 2 3 6 -0 2 3 7 -0 2 3 8 -0 2 3 9 -0 2 3 10 -0 2 3 11 -0 2 3 12 -0 2 3 13 -0 2 3 14 -0 2 3 15 -0 2 4 5 -0 2 4 6 -0 2 4 7 -0 2 4 8 -0 2 4 9 -0 2 4 10 -0 2 4 11 -0 2 4 12 -0 2 4 13 -0 2 4 14 -0 2 4 15 -0 2 5 6 -0 2 5 7 -0 2 5 8 -0 2 5 9 -0 2 5 10 -0 2 5 11 -0 2 5 12 -0 2 5 13 -0 2 5 14 -0 2 5 15 -0 2 6 7 -0 2 6 8 -0 2 6 9 -0 2 6 10 -0 2 6 11 -0 2 6 12 -0 2 6 13 -0 2 6 14 -0 2 6 15 -0 2 7 8 -0 2 7 9 -0 2 7 10 -0 2 7 11 -0 2 7 12 -0 2 7 13 -0 2 7 14 -0 2 7 15 -0 2 8 9 -0 2 8 10 -0 2 8 11 -0 2 8 12 -0 2 8 13 -0 2 8 14 -0 2 8 15 -0 2 9 10 -0 2 9 11 -0 2 9 12 -0 2 9 13 -0 2 9 14 -0 2 9 15 -0 2 10 11 -0 2 10 12 -0 2 10 13 -0 2 10 14 -0 2 10 15 -0 2 11 12 -0 2 11 13 -0 2 11 14 -0 2 11 15 -0 2 12 13 -0 2 12 14 -0 2 12 15 -0 2 13 14 -0 2 13 15 -0 2 14 15 -0 3 4 5 -0 3 4 6 -0 3 4 7 -0 3 4 8 -0 3 4 9 -0 3 4 10 -0 3 4 11 -0 3 4 12 -0 3 4 13 -0 3 4 14 -0 3 4 15 -0 3 5 6 -0 3 5 7 -0 3 5 8 -0 3 5 9 -0 3 5 10 -0 3 5 11 -0 3 5 12 -0 3 5 13 -0 3 5 14 -0 3 5 15 -0 3 6 7 -0 3 6 8 -0 3 6 9 -0 3 6 10 -0 3 6 11 -0 3 6 12 -0 3 6 13 -0 3 6 14 -0 3 6 15 -0 3 7 8 -0 3 7 9 -0 3 7 10 -0 3 7 11 -0 3 7 12 -0 3 7 13 -0 3 7 14 -0 3 7 15 -0 3 8 9 -0 3 8 10 -0 3 8 11 -0 3 8 12 -0 3 8 13 -0 3 8 14 -0 3 8 15 -0 3 9 10 -0 3 9 11 -0 3 9 12 -0 3 9 13 -0 3 9 14 -0 3 9 15 -0 3 10 11 -0 3 10 12 -0 3 10 13 -0 3 10 14 -0 3 10 15 -0 3 11 12 -0 3 11 13 -0 3 11 14 -0 3 11 15 -0 3 12 13 -0 3 12 14 -0 3 12 15 -0 3 13 14 -0 3 13 15 -0 3 14 15 -0 4 5 6 -0 4 5 7 -0 4 5 8 -0 4 5 9 -0 4 5 10 -0 4 5 11 -0 4 5 12 -0 4 5 13 -0 4 5 14 -0 4 5 15 -0 4 6 7 -0 4 6 8 -0 4 6 9 -0 4 6 10 -0 4 6 11 -0 4 6 12 -0 4 6 13 -0 4 6 14 -0 4 6 15 -0 4 7 8 -0 4 7 9 -0 4 7 10 -0 4 7 11 -0 4 7 12 -0 4 7 13 -0 4 7 14 -0 4 7 15 -0 4 8 9 -0 4 8 10 -0 4 8 11 -0 4 8 12 -0 4 8 13 -0 4 8 14 -0 4 8 15 -0 4 9 10 -0 4 9 11 -0 4 9 12 -0 4 9 13 -0 4 9 14 -0 4 9 15 -0 4 10 11 -0 4 10 12 -0 4 10 13 -0 4 10 14 -0 4 10 15 -0 4 11 12 -0 4 11 13 -0 4 11 14 -0 4 11 15 -0 4 12 13 -0 4 12 14 -0 4 12 15 -0 4 13 14 -0 4 13 15 -0 4 14 15 -0 5 6 7 -0 5 6 8 -0 5 6 9 -0 5 6 10 -0 5 6 11 -0 5 6 12 -0 5 6 13 -0 5 6 14 -0 5 6 15 -0 5 7 8 -0 5 7 9 -0 5 7 10 -0 5 7 11 -0 5 7 12 -0 5 7 13 -0 5 7 14 -0 5 7 15 -0 5 8 9 -0 5 8 10 -0 5 8 11 -0 5 8 12 -0 5 8 13 -0 5 8 14 -0 5 8 15 -0 5 9 10 -0 5 9 11 -0 5 9 12 -0 5 9 13 -0 5 9 14 -0 5 9 15 -0 5 10 11 -0 5 10 12 -0 5 10 13 -0 5 10 14 -0 5 10 15 -0 5 11 12 -0 5 11 13 -0 5 11 14 -0 5 11 15 -0 5 12 13 -0 5 12 14 -0 5 12 15 -0 5 13 14 -0 5 13 15 -0 5 14 15 -0 6 7 8 -0 6 7 9 -0 6 7 10 -0 6 7 11 -0 6 7 12 -0 6 7 13 -0 6 7 14 -0 6 7 15 -0 6 8 9 -0 6 8 10 -0 6 8 11 -0 6 8 12 -0 6 8 13 -0 6 8 14 -0 6 8 15 -0 6 9 10 -0 6 9 11 -0 6 9 12 -0 6 9 13 -0 6 9 14 -0 6 9 15 -0 6 10 11 -0 6 10 12 -0 6 10 13 -0 6 10 14 -0 6 10 15 -0 6 11 12 -0 6 11 13 -0 6 11 14 -0 6 11 15 -0 6 12 13 -0 6 12 14 -0 6 12 15 -0 6 13 14 -0 6 13 15 -0 6 14 15 -0 7 8 9 -0 7 8 10 -0 7 8 11 -0 7 8 12 -0 7 8 13 -0 7 8 14 -0 7 8 15 -0 7 9 10 -0 7 9 11 -0 7 9 12 -0 7 9 13 -0 7 9 14 -0 7 9 15 -0 7 10 11 -0 7 10 12 -0 7 10 13 -0 7 10 14 -0 7 10 15 -0 7 11 12 -0 7 11 13 -0 7 11 14 -0 7 11 15 -0 7 12 13 -0 7 12 14 -0 7 12 15 -0 7 13 14 -0 7 13 15 -0 7 14 15 -0 8 9 10 -0 8 9 11 -0 8 9 12 -0 8 9 13 -0 8 9 14 -0 8 9 15 -0 8 10 11 -0 8 10 12 -0 8 10 13 -0 8 10 14 -0 8 10 15 -0 8 11 12 -0 8 11 13 -0 8 11 14 -0 8 11 15 -0 8 12 13 -0 8 12 14 -0 8 12 15 -0 8 13 14 -0 8 13 15 -0 8 14 15 -0 9 10 11 -0 9 10 12 -0 9 10 13 -0 9 10 14 -0 9 10 15 -0 9 11 12 -0 9 11 13 -0 9 11 14 -0 9 11 15 -0 9 12 13 -0 9 12 14 -0 9 12 15 -0 9 13 14 -0 9 13 15 -0 9 14 15 -0 10 11 12 -0 10 11 13 -0 10 11 14 -0 10 11 15 -0 10 12 13 -0 10 12 14 -0 10 12 15 -0 10 13 14 -0 10 13 15 -0 10 14 15 -0 11 12 13 -0 11 12 14 -0 11 12 15 -0 11 13 14 -0 11 13 15 -0 11 14 15 -0 12 13 14 -0 12 13 15 -0 12 14 15 -0 13 14 15 -1 2 3 4 -1 2 3 5 -1 2 3 6 -1 2 3 7 -1 2 3 8 -1 2 3 9 -1 2 3 10 -1 2 3 11 -1 2 3 12 -1 2 3 13 -1 2 3 14 -1 2 3 15 -1 2 4 5 -1 2 4 6 -1 2 4 7 -1 2 4 8 -1 2 4 9 -1 2 4 10 -1 2 4 11 -1 2 4 12 -1 2 4 13 -1 2 4 14 -1 2 4 15 -1 2 5 6 -1 2 5 7 -1 2 5 8 -1 2 5 9 -1 2 5 10 -1 2 5 11 -1 2 5 12 -1 2 5 13 -1 2 5 14 -1 2 5 15 -1 2 6 7 -1 2 6 8 -1 2 6 9 -1 2 6 10 -1 2 6 11 -1 2 6 12 -1 2 6 13 -1 2 6 14 -1 2 6 15 -1 2 7 8 -1 2 7 9 -1 2 7 10 -1 2 7 11 -1 2 7 12 -1 2 7 13 -1 2 7 14 -1 2 7 15 -1 2 8 9 -1 2 8 10 -1 2 8 11 -1 2 8 12 -1 2 8 13 -1 2 8 14 -1 2 8 15 -1 2 9 10 -1 2 9 11 -1 2 9 12 -1 2 9 13 -1 2 9 14 -1 2 9 15 -1 2 10 11 -1 2 10 12 -1 2 10 13 -1 2 10 14 -1 2 10 15 -1 2 11 12 -1 2 11 13 -1 2 11 14 -1 2 11 15 -1 2 12 13 -1 2 12 14 -1 2 12 15 -1 2 13 14 -1 2 13 15 -1 2 14 15 -1 3 4 5 -1 3 4 6 -1 3 4 7 -1 3 4 8 -1 3 4 9 -1 3 4 10 -1 3 4 11 -1 3 4 12 -1 3 4 13 -1 3 4 14 -1 3 4 15 -1 3 5 6 -1 3 5 7 -1 3 5 8 -1 3 5 9 -1 3 5 10 -1 3 5 11 -1 3 5 12 -1 3 5 13 -1 3 5 14 -1 3 5 15 -1 3 6 7 -1 3 6 8 -1 3 6 9 -1 3 6 10 -1 3 6 11 -1 3 6 12 -1 3 6 13 -1 3 6 14 -1 3 6 15 -1 3 7 8 -1 3 7 9 -1 3 7 10 -1 3 7 11 -1 3 7 12 -1 3 7 13 -1 3 7 14 -1 3 7 15 -1 3 8 9 -1 3 8 10 -1 3 8 11 -1 3 8 12 -1 3 8 13 -1 3 8 14 -1 3 8 15 -1 3 9 10 -1 3 9 11 -1 3 9 12 -1 3 9 13 -1 3 9 14 -1 3 9 15 -1 3 10 11 -1 3 10 12 -1 3 10 13 -1 3 10 14 -1 3 10 15 -1 3 11 12 -1 3 11 13 -1 3 11 14 -1 3 11 15 -1 3 12 13 -1 3 12 14 -1 3 12 15 -1 3 13 14 -1 3 13 15 -1 3 14 15 -1 4 5 6 -1 4 5 7 -1 4 5 8 -1 4 5 9 -1 4 5 10 -1 4 5 11 -1 4 5 12 -1 4 5 13 -1 4 5 14 -1 4 5 15 -1 4 6 7 -1 4 6 8 -1 4 6 9 -1 4 6 10 -1 4 6 11 -1 4 6 12 -1 4 6 13 -1 4 6 14 -1 4 6 15 -1 4 7 8 -1 4 7 9 -1 4 7 10 -1 4 7 11 -1 4 7 12 -1 4 7 13 -1 4 7 14 -1 4 7 15 -1 4 8 9 -1 4 8 10 -1 4 8 11 -1 4 8 12 -1 4 8 13 -1 4 8 14 -1 4 8 15 -1 4 9 10 -1 4 9 11 -1 4 9 12 -1 4 9 13 -1 4 9 14 -1 4 9 15 -1 4 10 11 -1 4 10 12 -1 4 10 13 -1 4 10 14 -1 4 10 15 -1 4 11 12 -1 4 11 13 -1 4 11 14 -1 4 11 15 -1 4 12 13 -1 4 12 14 -1 4 12 15 -1 4 13 14 -1 4 13 15 -1 4 14 15 -1 5 6 7 -1 5 6 8 -1 5 6 9 -1 5 6 10 -1 5 6 11 -1 5 6 12 -1 5 6 13 -1 5 6 14 -1 5 6 15 -1 5 7 8 -1 5 7 9 -1 5 7 10 -1 5 7 11 -1 5 7 12 -1 5 7 13 -1 5 7 14 -1 5 7 15 -1 5 8 9 -1 5 8 10 -1 5 8 11 -1 5 8 12 -1 5 8 13 -1 5 8 14 -1 5 8 15 -1 5 9 10 -1 5 9 11 -1 5 9 12 -1 5 9 13 -1 5 9 14 -1 5 9 15 -1 5 10 11 -1 5 10 12 -1 5 10 13 -1 5 10 14 -1 5 10 15 -1 5 11 12 -1 5 11 13 -1 5 11 14 -1 5 11 15 -1 5 12 13 -1 5 12 14 -1 5 12 15 -1 5 13 14 -1 5 13 15 -1 5 14 15 -1 6 7 8 -1 6 7 9 -1 6 7 10 -1 6 7 11 -1 6 7 12 -1 6 7 13 -1 6 7 14 -1 6 7 15 -1 6 8 9 -1 6 8 10 -1 6 8 11 -1 6 8 12 -1 6 8 13 -1 6 8 14 -1 6 8 15 -1 6 9 10 -1 6 9 11 -1 6 9 12 -1 6 9 13 -1 6 9 14 -1 6 9 15 -1 6 10 11 -1 6 10 12 -1 6 10 13 -1 6 10 14 -1 6 10 15 -1 6 11 12 -1 6 11 13 -1 6 11 14 -1 6 11 15 -1 6 12 13 -1 6 12 14 -1 6 12 15 -1 6 13 14 -1 6 13 15 -1 6 14 15 -1 7 8 9 -1 7 8 10 -1 7 8 11 -1 7 8 12 -1 7 8 13 -1 7 8 14 -1 7 8 15 -1 7 9 10 -1 7 9 11 -1 7 9 12 -1 7 9 13 -1 7 9 14 -1 7 9 15 -1 7 10 11 -1 7 10 12 -1 7 10 13 -1 7 10 14 -1 7 10 15 -1 7 11 12 -1 7 11 13 -1 7 11 14 -1 7 11 15 -1 7 12 13 -1 7 12 14 -1 7 12 15 -1 7 13 14 -1 7 13 15 -1 7 14 15 -1 8 9 10 -1 8 9 11 -1 8 9 12 -1 8 9 13 -1 8 9 14 -1 8 9 15 -1 8 10 11 -1 8 10 12 -1 8 10 13 -1 8 10 14 -1 8 10 15 -1 8 11 12 -1 8 11 13 -1 8 11 14 -1 8 11 15 -1 8 12 13 -1 8 12 14 -1 8 12 15 -1 8 13 14 -1 8 13 15 -1 8 14 15 -1 9 10 11 -1 9 10 12 -1 9 10 13 -1 9 10 14 -1 9 10 15 -1 9 11 12 -1 9 11 13 -1 9 11 14 -1 9 11 15 -1 9 12 13 -1 9 12 14 -1 9 12 15 -1 9 13 14 -1 9 13 15 -1 9 14 15 -1 10 11 12 -1 10 11 13 -1 10 11 14 -1 10 11 15 -1 10 12 13 -1 10 12 14 -1 10 12 15 -1 10 13 14 -1 10 13 15 -1 10 14 15 -1 11 12 13 -1 11 12 14 -1 11 12 15 -1 11 13 14 -1 11 13 15 -1 11 14 15 -1 12 13 14 -1 12 13 15 -1 12 14 15 -1 13 14 15 -2 3 4 5 -2 3 4 6 -2 3 4 7 -2 3 4 8 -2 3 4 9 -2 3 4 10 -2 3 4 11 -2 3 4 12 -2 3 4 13 -2 3 4 14 -2 3 4 15 -2 3 5 6 -2 3 5 7 -2 3 5 8 -2 3 5 9 -2 3 5 10 -2 3 5 11 -2 3 5 12 -2 3 5 13 -2 3 5 14 -2 3 5 15 -2 3 6 7 -2 3 6 8 -2 3 6 9 -2 3 6 10 -2 3 6 11 -2 3 6 12 -2 3 6 13 -2 3 6 14 -2 3 6 15 -2 3 7 8 -2 3 7 9 -2 3 7 10 -2 3 7 11 -2 3 7 12 -2 3 7 13 -2 3 7 14 -2 3 7 15 -2 3 8 9 -2 3 8 10 -2 3 8 11 -2 3 8 12 -2 3 8 13 -2 3 8 14 -2 3 8 15 -2 3 9 10 -2 3 9 11 -2 3 9 12 -2 3 9 13 -2 3 9 14 -2 3 9 15 -2 3 10 11 -2 3 10 12 -2 3 10 13 -2 3 10 14 -2 3 10 15 -2 3 11 12 -2 3 11 13 -2 3 11 14 -2 3 11 15 -2 3 12 13 -2 3 12 14 -2 3 12 15 -2 3 13 14 -2 3 13 15 -2 3 14 15 -2 4 5 6 -2 4 5 7 -2 4 5 8 -2 4 5 9 -2 4 5 10 -2 4 5 11 -2 4 5 12 -2 4 5 13 -2 4 5 14 -2 4 5 15 -2 4 6 7 -2 4 6 8 -2 4 6 9 -2 4 6 10 -2 4 6 11 -2 4 6 12 -2 4 6 13 -2 4 6 14 -2 4 6 15 -2 4 7 8 -2 4 7 9 -2 4 7 10 -2 4 7 11 -2 4 7 12 -2 4 7 13 -2 4 7 14 -2 4 7 15 -2 4 8 9 -2 4 8 10 -2 4 8 11 -2 4 8 12 -2 4 8 13 -2 4 8 14 -2 4 8 15 -2 4 9 10 -2 4 9 11 -2 4 9 12 -2 4 9 13 -2 4 9 14 -2 4 9 15 -2 4 10 11 -2 4 10 12 -2 4 10 13 -2 4 10 14 -2 4 10 15 -2 4 11 12 -2 4 11 13 -2 4 11 14 -2 4 11 15 -2 4 12 13 -2 4 12 14 -2 4 12 15 -2 4 13 14 -2 4 13 15 -2 4 14 15 -2 5 6 7 -2 5 6 8 -2 5 6 9 -2 5 6 10 -2 5 6 11 -2 5 6 12 -2 5 6 13 -2 5 6 14 -2 5 6 15 -2 5 7 8 -2 5 7 9 -2 5 7 10 -2 5 7 11 -2 5 7 12 -2 5 7 13 -2 5 7 14 -2 5 7 15 -2 5 8 9 -2 5 8 10 -2 5 8 11 -2 5 8 12 -2 5 8 13 -2 5 8 14 -2 5 8 15 -2 5 9 10 -2 5 9 11 -2 5 9 12 -2 5 9 13 -2 5 9 14 -2 5 9 15 -2 5 10 11 -2 5 10 12 -2 5 10 13 -2 5 10 14 -2 5 10 15 -2 5 11 12 -2 5 11 13 -2 5 11 14 -2 5 11 15 -2 5 12 13 -2 5 12 14 -2 5 12 15 -2 5 13 14 -2 5 13 15 -2 5 14 15 -2 6 7 8 -2 6 7 9 -2 6 7 10 -2 6 7 11 -2 6 7 12 -2 6 7 13 -2 6 7 14 -2 6 7 15 -2 6 8 9 -2 6 8 10 -2 6 8 11 -2 6 8 12 -2 6 8 13 -2 6 8 14 -2 6 8 15 -2 6 9 10 -2 6 9 11 -2 6 9 12 -2 6 9 13 -2 6 9 14 -2 6 9 15 -2 6 10 11 -2 6 10 12 -2 6 10 13 -2 6 10 14 -2 6 10 15 -2 6 11 12 -2 6 11 13 -2 6 11 14 -2 6 11 15 -2 6 12 13 -2 6 12 14 -2 6 12 15 -2 6 13 14 -2 6 13 15 -2 6 14 15 -2 7 8 9 -2 7 8 10 -2 7 8 11 -2 7 8 12 -2 7 8 13 -2 7 8 14 -2 7 8 15 -2 7 9 10 -2 7 9 11 -2 7 9 12 -2 7 9 13 -2 7 9 14 -2 7 9 15 -2 7 10 11 -2 7 10 12 -2 7 10 13 -2 7 10 14 -2 7 10 15 -2 7 11 12 -2 7 11 13 -2 7 11 14 -2 7 11 15 -2 7 12 13 -2 7 12 14 -2 7 12 15 -2 7 13 14 -2 7 13 15 -2 7 14 15 -2 8 9 10 -2 8 9 11 -2 8 9 12 -2 8 9 13 -2 8 9 14 -2 8 9 15 -2 8 10 11 -2 8 10 12 -2 8 10 13 -2 8 10 14 -2 8 10 15 -2 8 11 12 -2 8 11 13 -2 8 11 14 -2 8 11 15 -2 8 12 13 -2 8 12 14 -2 8 12 15 -2 8 13 14 -2 8 13 15 -2 8 14 15 -2 9 10 11 -2 9 10 12 -2 9 10 13 -2 9 10 14 -2 9 10 15 -2 9 11 12 -2 9 11 13 -2 9 11 14 -2 9 11 15 -2 9 12 13 -2 9 12 14 -2 9 12 15 -2 9 13 14 -2 9 13 15 -2 9 14 15 -2 10 11 12 -2 10 11 13 -2 10 11 14 -2 10 11 15 -2 10 12 13 -2 10 12 14 -2 10 12 15 -2 10 13 14 -2 10 13 15 -2 10 14 15 -2 11 12 13 -2 11 12 14 -2 11 12 15 -2 11 13 14 -2 11 13 15 -2 11 14 15 -2 12 13 14 -2 12 13 15 -2 12 14 15 -2 13 14 15 -3 4 5 6 -3 4 5 7 -3 4 5 8 -3 4 5 9 -3 4 5 10 -3 4 5 11 -3 4 5 12 -3 4 5 13 -3 4 5 14 -3 4 5 15 -3 4 6 7 -3 4 6 8 -3 4 6 9 -3 4 6 10 -3 4 6 11 -3 4 6 12 -3 4 6 13 -3 4 6 14 -3 4 6 15 -3 4 7 8 -3 4 7 9 -3 4 7 10 -3 4 7 11 -3 4 7 12 -3 4 7 13 -3 4 7 14 -3 4 7 15 -3 4 8 9 -3 4 8 10 -3 4 8 11 -3 4 8 12 -3 4 8 13 -3 4 8 14 -3 4 8 15 -3 4 9 10 -3 4 9 11 -3 4 9 12 -3 4 9 13 -3 4 9 14 -3 4 9 15 -3 4 10 11 -3 4 10 12 -3 4 10 13 -3 4 10 14 -3 4 10 15 -3 4 11 12 -3 4 11 13 -3 4 11 14 -3 4 11 15 -3 4 12 13 -3 4 12 14 -3 4 12 15 -3 4 13 14 -3 4 13 15 -3 4 14 15 -3 5 6 7 -3 5 6 8 -3 5 6 9 -3 5 6 10 -3 5 6 11 -3 5 6 12 -3 5 6 13 -3 5 6 14 -3 5 6 15 -3 5 7 8 -3 5 7 9 -3 5 7 10 -3 5 7 11 -3 5 7 12 -3 5 7 13 -3 5 7 14 -3 5 7 15 -3 5 8 9 -3 5 8 10 -3 5 8 11 -3 5 8 12 -3 5 8 13 -3 5 8 14 -3 5 8 15 -3 5 9 10 -3 5 9 11 -3 5 9 12 -3 5 9 13 -3 5 9 14 -3 5 9 15 -3 5 10 11 -3 5 10 12 -3 5 10 13 -3 5 10 14 -3 5 10 15 -3 5 11 12 -3 5 11 13 -3 5 11 14 -3 5 11 15 -3 5 12 13 -3 5 12 14 -3 5 12 15 -3 5 13 14 -3 5 13 15 -3 5 14 15 -3 6 7 8 -3 6 7 9 -3 6 7 10 -3 6 7 11 -3 6 7 12 -3 6 7 13 -3 6 7 14 -3 6 7 15 -3 6 8 9 -3 6 8 10 -3 6 8 11 -3 6 8 12 -3 6 8 13 -3 6 8 14 -3 6 8 15 -3 6 9 10 -3 6 9 11 -3 6 9 12 -3 6 9 13 -3 6 9 14 -3 6 9 15 -3 6 10 11 -3 6 10 12 -3 6 10 13 -3 6 10 14 -3 6 10 15 -3 6 11 12 -3 6 11 13 -3 6 11 14 -3 6 11 15 -3 6 12 13 -3 6 12 14 -3 6 12 15 -3 6 13 14 -3 6 13 15 -3 6 14 15 -3 7 8 9 -3 7 8 10 -3 7 8 11 -3 7 8 12 -3 7 8 13 -3 7 8 14 -3 7 8 15 -3 7 9 10 -3 7 9 11 -3 7 9 12 -3 7 9 13 -3 7 9 14 -3 7 9 15 -3 7 10 11 -3 7 10 12 -3 7 10 13 -3 7 10 14 -3 7 10 15 -3 7 11 12 -3 7 11 13 -3 7 11 14 -3 7 11 15 -3 7 12 13 -3 7 12 14 -3 7 12 15 -3 7 13 14 -3 7 13 15 -3 7 14 15 -3 8 9 10 -3 8 9 11 -3 8 9 12 -3 8 9 13 -3 8 9 14 -3 8 9 15 -3 8 10 11 -3 8 10 12 -3 8 10 13 -3 8 10 14 -3 8 10 15 -3 8 11 12 -3 8 11 13 -3 8 11 14 -3 8 11 15 -3 8 12 13 -3 8 12 14 -3 8 12 15 -3 8 13 14 -3 8 13 15 -3 8 14 15 -3 9 10 11 -3 9 10 12 -3 9 10 13 -3 9 10 14 -3 9 10 15 -3 9 11 12 -3 9 11 13 -3 9 11 14 -3 9 11 15 -3 9 12 13 -3 9 12 14 -3 9 12 15 -3 9 13 14 -3 9 13 15 -3 9 14 15 -3 10 11 12 -3 10 11 13 -3 10 11 14 -3 10 11 15 -3 10 12 13 -3 10 12 14 -3 10 12 15 -3 10 13 14 -3 10 13 15 -3 10 14 15 -3 11 12 13 -3 11 12 14 -3 11 12 15 -3 11 13 14 -3 11 13 15 -3 11 14 15 -3 12 13 14 -3 12 13 15 -3 12 14 15 -3 13 14 15 -4 5 6 7 -4 5 6 8 -4 5 6 9 -4 5 6 10 -4 5 6 11 -4 5 6 12 -4 5 6 13 -4 5 6 14 -4 5 6 15 -4 5 7 8 -4 5 7 9 -4 5 7 10 -4 5 7 11 -4 5 7 12 -4 5 7 13 -4 5 7 14 -4 5 7 15 -4 5 8 9 -4 5 8 10 -4 5 8 11 -4 5 8 12 -4 5 8 13 -4 5 8 14 -4 5 8 15 -4 5 9 10 -4 5 9 11 -4 5 9 12 -4 5 9 13 -4 5 9 14 -4 5 9 15 -4 5 10 11 -4 5 10 12 -4 5 10 13 -4 5 10 14 -4 5 10 15 -4 5 11 12 -4 5 11 13 -4 5 11 14 -4 5 11 15 -4 5 12 13 -4 5 12 14 -4 5 12 15 -4 5 13 14 -4 5 13 15 -4 5 14 15 -4 6 7 8 -4 6 7 9 -4 6 7 10 -4 6 7 11 -4 6 7 12 -4 6 7 13 -4 6 7 14 -4 6 7 15 -4 6 8 9 -4 6 8 10 -4 6 8 11 -4 6 8 12 -4 6 8 13 -4 6 8 14 -4 6 8 15 -4 6 9 10 -4 6 9 11 -4 6 9 12 -4 6 9 13 -4 6 9 14 -4 6 9 15 -4 6 10 11 -4 6 10 12 -4 6 10 13 -4 6 10 14 -4 6 10 15 -4 6 11 12 -4 6 11 13 -4 6 11 14 -4 6 11 15 -4 6 12 13 -4 6 12 14 -4 6 12 15 -4 6 13 14 -4 6 13 15 -4 6 14 15 -4 7 8 9 -4 7 8 10 -4 7 8 11 -4 7 8 12 -4 7 8 13 -4 7 8 14 -4 7 8 15 -4 7 9 10 -4 7 9 11 -4 7 9 12 -4 7 9 13 -4 7 9 14 -4 7 9 15 -4 7 10 11 -4 7 10 12 -4 7 10 13 -4 7 10 14 -4 7 10 15 -4 7 11 12 -4 7 11 13 -4 7 11 14 -4 7 11 15 -4 7 12 13 -4 7 12 14 -4 7 12 15 -4 7 13 14 -4 7 13 15 -4 7 14 15 -4 8 9 10 -4 8 9 11 -4 8 9 12 -4 8 9 13 -4 8 9 14 -4 8 9 15 -4 8 10 11 -4 8 10 12 -4 8 10 13 -4 8 10 14 -4 8 10 15 -4 8 11 12 -4 8 11 13 -4 8 11 14 -4 8 11 15 -4 8 12 13 -4 8 12 14 -4 8 12 15 -4 8 13 14 -4 8 13 15 -4 8 14 15 -4 9 10 11 -4 9 10 12 -4 9 10 13 -4 9 10 14 -4 9 10 15 -4 9 11 12 -4 9 11 13 -4 9 11 14 -4 9 11 15 -4 9 12 13 -4 9 12 14 -4 9 12 15 -4 9 13 14 -4 9 13 15 -4 9 14 15 -4 10 11 12 -4 10 11 13 -4 10 11 14 -4 10 11 15 -4 10 12 13 -4 10 12 14 -4 10 12 15 -4 10 13 14 -4 10 13 15 -4 10 14 15 -4 11 12 13 -4 11 12 14 -4 11 12 15 -4 11 13 14 -4 11 13 15 -4 11 14 15 -4 12 13 14 -4 12 13 15 -4 12 14 15 -4 13 14 15 -5 6 7 8 -5 6 7 9 -5 6 7 10 -5 6 7 11 -5 6 7 12 -5 6 7 13 -5 6 7 14 -5 6 7 15 -5 6 8 9 -5 6 8 10 -5 6 8 11 -5 6 8 12 -5 6 8 13 -5 6 8 14 -5 6 8 15 -5 6 9 10 -5 6 9 11 -5 6 9 12 -5 6 9 13 -5 6 9 14 -5 6 9 15 -5 6 10 11 -5 6 10 12 -5 6 10 13 -5 6 10 14 -5 6 10 15 -5 6 11 12 -5 6 11 13 -5 6 11 14 -5 6 11 15 -5 6 12 13 -5 6 12 14 -5 6 12 15 -5 6 13 14 -5 6 13 15 -5 6 14 15 -5 7 8 9 -5 7 8 10 -5 7 8 11 -5 7 8 12 -5 7 8 13 -5 7 8 14 -5 7 8 15 -5 7 9 10 -5 7 9 11 -5 7 9 12 -5 7 9 13 -5 7 9 14 -5 7 9 15 -5 7 10 11 -5 7 10 12 -5 7 10 13 -5 7 10 14 -5 7 10 15 -5 7 11 12 -5 7 11 13 -5 7 11 14 -5 7 11 15 -5 7 12 13 -5 7 12 14 -5 7 12 15 -5 7 13 14 -5 7 13 15 -5 7 14 15 -5 8 9 10 -5 8 9 11 -5 8 9 12 -5 8 9 13 -5 8 9 14 -5 8 9 15 -5 8 10 11 -5 8 10 12 -5 8 10 13 -5 8 10 14 -5 8 10 15 -5 8 11 12 -5 8 11 13 -5 8 11 14 -5 8 11 15 -5 8 12 13 -5 8 12 14 -5 8 12 15 -5 8 13 14 -5 8 13 15 -5 8 14 15 -5 9 10 11 -5 9 10 12 -5 9 10 13 -5 9 10 14 -5 9 10 15 -5 9 11 12 -5 9 11 13 -5 9 11 14 -5 9 11 15 -5 9 12 13 -5 9 12 14 -5 9 12 15 -5 9 13 14 -5 9 13 15 -5 9 14 15 -5 10 11 12 -5 10 11 13 -5 10 11 14 -5 10 11 15 -5 10 12 13 -5 10 12 14 -5 10 12 15 -5 10 13 14 -5 10 13 15 -5 10 14 15 -5 11 12 13 -5 11 12 14 -5 11 12 15 -5 11 13 14 -5 11 13 15 -5 11 14 15 -5 12 13 14 -5 12 13 15 -5 12 14 15 -5 13 14 15 -6 7 8 9 -6 7 8 10 -6 7 8 11 -6 7 8 12 -6 7 8 13 -6 7 8 14 -6 7 8 15 -6 7 9 10 -6 7 9 11 -6 7 9 12 -6 7 9 13 -6 7 9 14 -6 7 9 15 -6 7 10 11 -6 7 10 12 -6 7 10 13 -6 7 10 14 -6 7 10 15 -6 7 11 12 -6 7 11 13 -6 7 11 14 -6 7 11 15 -6 7 12 13 -6 7 12 14 -6 7 12 15 -6 7 13 14 -6 7 13 15 -6 7 14 15 -6 8 9 10 -6 8 9 11 -6 8 9 12 -6 8 9 13 -6 8 9 14 -6 8 9 15 -6 8 10 11 -6 8 10 12 -6 8 10 13 -6 8 10 14 -6 8 10 15 -6 8 11 12 -6 8 11 13 -6 8 11 14 -6 8 11 15 -6 8 12 13 -6 8 12 14 -6 8 12 15 -6 8 13 14 -6 8 13 15 -6 8 14 15 -6 9 10 11 -6 9 10 12 -6 9 10 13 -6 9 10 14 -6 9 10 15 -6 9 11 12 -6 9 11 13 -6 9 11 14 -6 9 11 15 -6 9 12 13 -6 9 12 14 -6 9 12 15 -6 9 13 14 -6 9 13 15 -6 9 14 15 -6 10 11 12 -6 10 11 13 -6 10 11 14 -6 10 11 15 -6 10 12 13 -6 10 12 14 -6 10 12 15 -6 10 13 14 -6 10 13 15 -6 10 14 15 -6 11 12 13 -6 11 12 14 -6 11 12 15 -6 11 13 14 -6 11 13 15 -6 11 14 15 -6 12 13 14 -6 12 13 15 -6 12 14 15 -6 13 14 15 -7 8 9 10 -7 8 9 11 -7 8 9 12 -7 8 9 13 -7 8 9 14 -7 8 9 15 -7 8 10 11 -7 8 10 12 -7 8 10 13 -7 8 10 14 -7 8 10 15 -7 8 11 12 -7 8 11 13 -7 8 11 14 -7 8 11 15 -7 8 12 13 -7 8 12 14 -7 8 12 15 -7 8 13 14 -7 8 13 15 -7 8 14 15 -7 9 10 11 -7 9 10 12 -7 9 10 13 -7 9 10 14 -7 9 10 15 -7 9 11 12 -7 9 11 13 -7 9 11 14 -7 9 11 15 -7 9 12 13 -7 9 12 14 -7 9 12 15 -7 9 13 14 -7 9 13 15 -7 9 14 15 -7 10 11 12 -7 10 11 13 -7 10 11 14 -7 10 11 15 -7 10 12 13 -7 10 12 14 -7 10 12 15 -7 10 13 14 -7 10 13 15 -7 10 14 15 -7 11 12 13 -7 11 12 14 -7 11 12 15 -7 11 13 14 -7 11 13 15 -7 11 14 15 -7 12 13 14 -7 12 13 15 -7 12 14 15 -7 13 14 15 -8 9 10 11 -8 9 10 12 -8 9 10 13 -8 9 10 14 -8 9 10 15 -8 9 11 12 -8 9 11 13 -8 9 11 14 -8 9 11 15 -8 9 12 13 -8 9 12 14 -8 9 12 15 -8 9 13 14 -8 9 13 15 -8 9 14 15 -8 10 11 12 -8 10 11 13 -8 10 11 14 -8 10 11 15 -8 10 12 13 -8 10 12 14 -8 10 12 15 -8 10 13 14 -8 10 13 15 -8 10 14 15 -8 11 12 13 -8 11 12 14 -8 11 12 15 -8 11 13 14 -8 11 13 15 -8 11 14 15 -8 12 13 14 -8 12 13 15 -8 12 14 15 -8 13 14 15 -9 10 11 12 -9 10 11 13 -9 10 11 14 -9 10 11 15 -9 10 12 13 -9 10 12 14 -9 10 12 15 -9 10 13 14 -9 10 13 15 -9 10 14 15 -9 11 12 13 -9 11 12 14 -9 11 12 15 -9 11 13 14 -9 11 13 15 -9 11 14 15 -9 12 13 14 -9 12 13 15 -9 12 14 15 -9 13 14 15 -10 11 12 13 -10 11 12 14 -10 11 12 15 -10 11 13 14 -10 11 13 15 -10 11 14 15 -10 12 13 14 -10 12 13 15 -10 12 14 15 -10 13 14 15 -11 12 13 14 -11 12 13 15 -11 12 14 15 -11 13 14 15 -12 13 14 15 +0 1 2 3 +0 1 2 4 +0 1 2 5 +0 1 2 6 +0 1 2 7 +0 1 2 8 +0 1 2 9 +0 1 2 10 +0 1 2 11 +0 1 2 12 +0 1 2 13 +0 1 2 14 +0 1 2 15 +0 1 3 4 +0 1 3 5 +0 1 3 6 +0 1 3 7 +0 1 3 8 +0 1 3 9 +0 1 3 10 +0 1 3 11 +0 1 3 12 +0 1 3 13 +0 1 3 14 +0 1 3 15 +0 1 4 5 +0 1 4 6 +0 1 4 7 +0 1 4 8 +0 1 4 9 +0 1 4 10 +0 1 4 11 +0 1 4 12 +0 1 4 13 +0 1 4 14 +0 1 4 15 +0 1 5 6 +0 1 5 7 +0 1 5 8 +0 1 5 9 +0 1 5 10 +0 1 5 11 +0 1 5 12 +0 1 5 13 +0 1 5 14 +0 1 5 15 +0 1 6 7 +0 1 6 8 +0 1 6 9 +0 1 6 10 +0 1 6 11 +0 1 6 12 +0 1 6 13 +0 1 6 14 +0 1 6 15 +0 1 7 8 +0 1 7 9 +0 1 7 10 +0 1 7 11 +0 1 7 12 +0 1 7 13 +0 1 7 14 +0 1 7 15 +0 1 8 9 +0 1 8 10 +0 1 8 11 +0 1 8 12 +0 1 8 13 +0 1 8 14 +0 1 8 15 +0 1 9 10 +0 1 9 11 +0 1 9 12 +0 1 9 13 +0 1 9 14 +0 1 9 15 +0 1 10 11 +0 1 10 12 +0 1 10 13 +0 1 10 14 +0 1 10 15 +0 1 11 12 +0 1 11 13 +0 1 11 14 +0 1 11 15 +0 1 12 13 +0 1 12 14 +0 1 12 15 +0 1 13 14 +0 1 13 15 +0 1 14 15 +0 2 3 4 +0 2 3 5 +0 2 3 6 +0 2 3 7 +0 2 3 8 +0 2 3 9 +0 2 3 10 +0 2 3 11 +0 2 3 12 +0 2 3 13 +0 2 3 14 +0 2 3 15 +0 2 4 5 +0 2 4 6 +0 2 4 7 +0 2 4 8 +0 2 4 9 +0 2 4 10 +0 2 4 11 +0 2 4 12 +0 2 4 13 +0 2 4 14 +0 2 4 15 +0 2 5 6 +0 2 5 7 +0 2 5 8 +0 2 5 9 +0 2 5 10 +0 2 5 11 +0 2 5 12 +0 2 5 13 +0 2 5 14 +0 2 5 15 +0 2 6 7 +0 2 6 8 +0 2 6 9 +0 2 6 10 +0 2 6 11 +0 2 6 12 +0 2 6 13 +0 2 6 14 +0 2 6 15 +0 2 7 8 +0 2 7 9 +0 2 7 10 +0 2 7 11 +0 2 7 12 +0 2 7 13 +0 2 7 14 +0 2 7 15 +0 2 8 9 +0 2 8 10 +0 2 8 11 +0 2 8 12 +0 2 8 13 +0 2 8 14 +0 2 8 15 +0 2 9 10 +0 2 9 11 +0 2 9 12 +0 2 9 13 +0 2 9 14 +0 2 9 15 +0 2 10 11 +0 2 10 12 +0 2 10 13 +0 2 10 14 +0 2 10 15 +0 2 11 12 +0 2 11 13 +0 2 11 14 +0 2 11 15 +0 2 12 13 +0 2 12 14 +0 2 12 15 +0 2 13 14 +0 2 13 15 +0 2 14 15 +0 3 4 5 +0 3 4 6 +0 3 4 7 +0 3 4 8 +0 3 4 9 +0 3 4 10 +0 3 4 11 +0 3 4 12 +0 3 4 13 +0 3 4 14 +0 3 4 15 +0 3 5 6 +0 3 5 7 +0 3 5 8 +0 3 5 9 +0 3 5 10 +0 3 5 11 +0 3 5 12 +0 3 5 13 +0 3 5 14 +0 3 5 15 +0 3 6 7 +0 3 6 8 +0 3 6 9 +0 3 6 10 +0 3 6 11 +0 3 6 12 +0 3 6 13 +0 3 6 14 +0 3 6 15 +0 3 7 8 +0 3 7 9 +0 3 7 10 +0 3 7 11 +0 3 7 12 +0 3 7 13 +0 3 7 14 +0 3 7 15 +0 3 8 9 +0 3 8 10 +0 3 8 11 +0 3 8 12 +0 3 8 13 +0 3 8 14 +0 3 8 15 +0 3 9 10 +0 3 9 11 +0 3 9 12 +0 3 9 13 +0 3 9 14 +0 3 9 15 +0 3 10 11 +0 3 10 12 +0 3 10 13 +0 3 10 14 +0 3 10 15 +0 3 11 12 +0 3 11 13 +0 3 11 14 +0 3 11 15 +0 3 12 13 +0 3 12 14 +0 3 12 15 +0 3 13 14 +0 3 13 15 +0 3 14 15 +0 4 5 6 +0 4 5 7 +0 4 5 8 +0 4 5 9 +0 4 5 10 +0 4 5 11 +0 4 5 12 +0 4 5 13 +0 4 5 14 +0 4 5 15 +0 4 6 7 +0 4 6 8 +0 4 6 9 +0 4 6 10 +0 4 6 11 +0 4 6 12 +0 4 6 13 +0 4 6 14 +0 4 6 15 +0 4 7 8 +0 4 7 9 +0 4 7 10 +0 4 7 11 +0 4 7 12 +0 4 7 13 +0 4 7 14 +0 4 7 15 +0 4 8 9 +0 4 8 10 +0 4 8 11 +0 4 8 12 +0 4 8 13 +0 4 8 14 +0 4 8 15 +0 4 9 10 +0 4 9 11 +0 4 9 12 +0 4 9 13 +0 4 9 14 +0 4 9 15 +0 4 10 11 +0 4 10 12 +0 4 10 13 +0 4 10 14 +0 4 10 15 +0 4 11 12 +0 4 11 13 +0 4 11 14 +0 4 11 15 +0 4 12 13 +0 4 12 14 +0 4 12 15 +0 4 13 14 +0 4 13 15 +0 4 14 15 +0 5 6 7 +0 5 6 8 +0 5 6 9 +0 5 6 10 +0 5 6 11 +0 5 6 12 +0 5 6 13 +0 5 6 14 +0 5 6 15 +0 5 7 8 +0 5 7 9 +0 5 7 10 +0 5 7 11 +0 5 7 12 +0 5 7 13 +0 5 7 14 +0 5 7 15 +0 5 8 9 +0 5 8 10 +0 5 8 11 +0 5 8 12 +0 5 8 13 +0 5 8 14 +0 5 8 15 +0 5 9 10 +0 5 9 11 +0 5 9 12 +0 5 9 13 +0 5 9 14 +0 5 9 15 +0 5 10 11 +0 5 10 12 +0 5 10 13 +0 5 10 14 +0 5 10 15 +0 5 11 12 +0 5 11 13 +0 5 11 14 +0 5 11 15 +0 5 12 13 +0 5 12 14 +0 5 12 15 +0 5 13 14 +0 5 13 15 +0 5 14 15 +0 6 7 8 +0 6 7 9 +0 6 7 10 +0 6 7 11 +0 6 7 12 +0 6 7 13 +0 6 7 14 +0 6 7 15 +0 6 8 9 +0 6 8 10 +0 6 8 11 +0 6 8 12 +0 6 8 13 +0 6 8 14 +0 6 8 15 +0 6 9 10 +0 6 9 11 +0 6 9 12 +0 6 9 13 +0 6 9 14 +0 6 9 15 +0 6 10 11 +0 6 10 12 +0 6 10 13 +0 6 10 14 +0 6 10 15 +0 6 11 12 +0 6 11 13 +0 6 11 14 +0 6 11 15 +0 6 12 13 +0 6 12 14 +0 6 12 15 +0 6 13 14 +0 6 13 15 +0 6 14 15 +0 7 8 9 +0 7 8 10 +0 7 8 11 +0 7 8 12 +0 7 8 13 +0 7 8 14 +0 7 8 15 +0 7 9 10 +0 7 9 11 +0 7 9 12 +0 7 9 13 +0 7 9 14 +0 7 9 15 +0 7 10 11 +0 7 10 12 +0 7 10 13 +0 7 10 14 +0 7 10 15 +0 7 11 12 +0 7 11 13 +0 7 11 14 +0 7 11 15 +0 7 12 13 +0 7 12 14 +0 7 12 15 +0 7 13 14 +0 7 13 15 +0 7 14 15 +0 8 9 10 +0 8 9 11 +0 8 9 12 +0 8 9 13 +0 8 9 14 +0 8 9 15 +0 8 10 11 +0 8 10 12 +0 8 10 13 +0 8 10 14 +0 8 10 15 +0 8 11 12 +0 8 11 13 +0 8 11 14 +0 8 11 15 +0 8 12 13 +0 8 12 14 +0 8 12 15 +0 8 13 14 +0 8 13 15 +0 8 14 15 +0 9 10 11 +0 9 10 12 +0 9 10 13 +0 9 10 14 +0 9 10 15 +0 9 11 12 +0 9 11 13 +0 9 11 14 +0 9 11 15 +0 9 12 13 +0 9 12 14 +0 9 12 15 +0 9 13 14 +0 9 13 15 +0 9 14 15 +0 10 11 12 +0 10 11 13 +0 10 11 14 +0 10 11 15 +0 10 12 13 +0 10 12 14 +0 10 12 15 +0 10 13 14 +0 10 13 15 +0 10 14 15 +0 11 12 13 +0 11 12 14 +0 11 12 15 +0 11 13 14 +0 11 13 15 +0 11 14 15 +0 12 13 14 +0 12 13 15 +0 12 14 15 +0 13 14 15 +1 2 3 4 +1 2 3 5 +1 2 3 6 +1 2 3 7 +1 2 3 8 +1 2 3 9 +1 2 3 10 +1 2 3 11 +1 2 3 12 +1 2 3 13 +1 2 3 14 +1 2 3 15 +1 2 4 5 +1 2 4 6 +1 2 4 7 +1 2 4 8 +1 2 4 9 +1 2 4 10 +1 2 4 11 +1 2 4 12 +1 2 4 13 +1 2 4 14 +1 2 4 15 +1 2 5 6 +1 2 5 7 +1 2 5 8 +1 2 5 9 +1 2 5 10 +1 2 5 11 +1 2 5 12 +1 2 5 13 +1 2 5 14 +1 2 5 15 +1 2 6 7 +1 2 6 8 +1 2 6 9 +1 2 6 10 +1 2 6 11 +1 2 6 12 +1 2 6 13 +1 2 6 14 +1 2 6 15 +1 2 7 8 +1 2 7 9 +1 2 7 10 +1 2 7 11 +1 2 7 12 +1 2 7 13 +1 2 7 14 +1 2 7 15 +1 2 8 9 +1 2 8 10 +1 2 8 11 +1 2 8 12 +1 2 8 13 +1 2 8 14 +1 2 8 15 +1 2 9 10 +1 2 9 11 +1 2 9 12 +1 2 9 13 +1 2 9 14 +1 2 9 15 +1 2 10 11 +1 2 10 12 +1 2 10 13 +1 2 10 14 +1 2 10 15 +1 2 11 12 +1 2 11 13 +1 2 11 14 +1 2 11 15 +1 2 12 13 +1 2 12 14 +1 2 12 15 +1 2 13 14 +1 2 13 15 +1 2 14 15 +1 3 4 5 +1 3 4 6 +1 3 4 7 +1 3 4 8 +1 3 4 9 +1 3 4 10 +1 3 4 11 +1 3 4 12 +1 3 4 13 +1 3 4 14 +1 3 4 15 +1 3 5 6 +1 3 5 7 +1 3 5 8 +1 3 5 9 +1 3 5 10 +1 3 5 11 +1 3 5 12 +1 3 5 13 +1 3 5 14 +1 3 5 15 +1 3 6 7 +1 3 6 8 +1 3 6 9 +1 3 6 10 +1 3 6 11 +1 3 6 12 +1 3 6 13 +1 3 6 14 +1 3 6 15 +1 3 7 8 +1 3 7 9 +1 3 7 10 +1 3 7 11 +1 3 7 12 +1 3 7 13 +1 3 7 14 +1 3 7 15 +1 3 8 9 +1 3 8 10 +1 3 8 11 +1 3 8 12 +1 3 8 13 +1 3 8 14 +1 3 8 15 +1 3 9 10 +1 3 9 11 +1 3 9 12 +1 3 9 13 +1 3 9 14 +1 3 9 15 +1 3 10 11 +1 3 10 12 +1 3 10 13 +1 3 10 14 +1 3 10 15 +1 3 11 12 +1 3 11 13 +1 3 11 14 +1 3 11 15 +1 3 12 13 +1 3 12 14 +1 3 12 15 +1 3 13 14 +1 3 13 15 +1 3 14 15 +1 4 5 6 +1 4 5 7 +1 4 5 8 +1 4 5 9 +1 4 5 10 +1 4 5 11 +1 4 5 12 +1 4 5 13 +1 4 5 14 +1 4 5 15 +1 4 6 7 +1 4 6 8 +1 4 6 9 +1 4 6 10 +1 4 6 11 +1 4 6 12 +1 4 6 13 +1 4 6 14 +1 4 6 15 +1 4 7 8 +1 4 7 9 +1 4 7 10 +1 4 7 11 +1 4 7 12 +1 4 7 13 +1 4 7 14 +1 4 7 15 +1 4 8 9 +1 4 8 10 +1 4 8 11 +1 4 8 12 +1 4 8 13 +1 4 8 14 +1 4 8 15 +1 4 9 10 +1 4 9 11 +1 4 9 12 +1 4 9 13 +1 4 9 14 +1 4 9 15 +1 4 10 11 +1 4 10 12 +1 4 10 13 +1 4 10 14 +1 4 10 15 +1 4 11 12 +1 4 11 13 +1 4 11 14 +1 4 11 15 +1 4 12 13 +1 4 12 14 +1 4 12 15 +1 4 13 14 +1 4 13 15 +1 4 14 15 +1 5 6 7 +1 5 6 8 +1 5 6 9 +1 5 6 10 +1 5 6 11 +1 5 6 12 +1 5 6 13 +1 5 6 14 +1 5 6 15 +1 5 7 8 +1 5 7 9 +1 5 7 10 +1 5 7 11 +1 5 7 12 +1 5 7 13 +1 5 7 14 +1 5 7 15 +1 5 8 9 +1 5 8 10 +1 5 8 11 +1 5 8 12 +1 5 8 13 +1 5 8 14 +1 5 8 15 +1 5 9 10 +1 5 9 11 +1 5 9 12 +1 5 9 13 +1 5 9 14 +1 5 9 15 +1 5 10 11 +1 5 10 12 +1 5 10 13 +1 5 10 14 +1 5 10 15 +1 5 11 12 +1 5 11 13 +1 5 11 14 +1 5 11 15 +1 5 12 13 +1 5 12 14 +1 5 12 15 +1 5 13 14 +1 5 13 15 +1 5 14 15 +1 6 7 8 +1 6 7 9 +1 6 7 10 +1 6 7 11 +1 6 7 12 +1 6 7 13 +1 6 7 14 +1 6 7 15 +1 6 8 9 +1 6 8 10 +1 6 8 11 +1 6 8 12 +1 6 8 13 +1 6 8 14 +1 6 8 15 +1 6 9 10 +1 6 9 11 +1 6 9 12 +1 6 9 13 +1 6 9 14 +1 6 9 15 +1 6 10 11 +1 6 10 12 +1 6 10 13 +1 6 10 14 +1 6 10 15 +1 6 11 12 +1 6 11 13 +1 6 11 14 +1 6 11 15 +1 6 12 13 +1 6 12 14 +1 6 12 15 +1 6 13 14 +1 6 13 15 +1 6 14 15 +1 7 8 9 +1 7 8 10 +1 7 8 11 +1 7 8 12 +1 7 8 13 +1 7 8 14 +1 7 8 15 +1 7 9 10 +1 7 9 11 +1 7 9 12 +1 7 9 13 +1 7 9 14 +1 7 9 15 +1 7 10 11 +1 7 10 12 +1 7 10 13 +1 7 10 14 +1 7 10 15 +1 7 11 12 +1 7 11 13 +1 7 11 14 +1 7 11 15 +1 7 12 13 +1 7 12 14 +1 7 12 15 +1 7 13 14 +1 7 13 15 +1 7 14 15 +1 8 9 10 +1 8 9 11 +1 8 9 12 +1 8 9 13 +1 8 9 14 +1 8 9 15 +1 8 10 11 +1 8 10 12 +1 8 10 13 +1 8 10 14 +1 8 10 15 +1 8 11 12 +1 8 11 13 +1 8 11 14 +1 8 11 15 +1 8 12 13 +1 8 12 14 +1 8 12 15 +1 8 13 14 +1 8 13 15 +1 8 14 15 +1 9 10 11 +1 9 10 12 +1 9 10 13 +1 9 10 14 +1 9 10 15 +1 9 11 12 +1 9 11 13 +1 9 11 14 +1 9 11 15 +1 9 12 13 +1 9 12 14 +1 9 12 15 +1 9 13 14 +1 9 13 15 +1 9 14 15 +1 10 11 12 +1 10 11 13 +1 10 11 14 +1 10 11 15 +1 10 12 13 +1 10 12 14 +1 10 12 15 +1 10 13 14 +1 10 13 15 +1 10 14 15 +1 11 12 13 +1 11 12 14 +1 11 12 15 +1 11 13 14 +1 11 13 15 +1 11 14 15 +1 12 13 14 +1 12 13 15 +1 12 14 15 +1 13 14 15 +2 3 4 5 +2 3 4 6 +2 3 4 7 +2 3 4 8 +2 3 4 9 +2 3 4 10 +2 3 4 11 +2 3 4 12 +2 3 4 13 +2 3 4 14 +2 3 4 15 +2 3 5 6 +2 3 5 7 +2 3 5 8 +2 3 5 9 +2 3 5 10 +2 3 5 11 +2 3 5 12 +2 3 5 13 +2 3 5 14 +2 3 5 15 +2 3 6 7 +2 3 6 8 +2 3 6 9 +2 3 6 10 +2 3 6 11 +2 3 6 12 +2 3 6 13 +2 3 6 14 +2 3 6 15 +2 3 7 8 +2 3 7 9 +2 3 7 10 +2 3 7 11 +2 3 7 12 +2 3 7 13 +2 3 7 14 +2 3 7 15 +2 3 8 9 +2 3 8 10 +2 3 8 11 +2 3 8 12 +2 3 8 13 +2 3 8 14 +2 3 8 15 +2 3 9 10 +2 3 9 11 +2 3 9 12 +2 3 9 13 +2 3 9 14 +2 3 9 15 +2 3 10 11 +2 3 10 12 +2 3 10 13 +2 3 10 14 +2 3 10 15 +2 3 11 12 +2 3 11 13 +2 3 11 14 +2 3 11 15 +2 3 12 13 +2 3 12 14 +2 3 12 15 +2 3 13 14 +2 3 13 15 +2 3 14 15 +2 4 5 6 +2 4 5 7 +2 4 5 8 +2 4 5 9 +2 4 5 10 +2 4 5 11 +2 4 5 12 +2 4 5 13 +2 4 5 14 +2 4 5 15 +2 4 6 7 +2 4 6 8 +2 4 6 9 +2 4 6 10 +2 4 6 11 +2 4 6 12 +2 4 6 13 +2 4 6 14 +2 4 6 15 +2 4 7 8 +2 4 7 9 +2 4 7 10 +2 4 7 11 +2 4 7 12 +2 4 7 13 +2 4 7 14 +2 4 7 15 +2 4 8 9 +2 4 8 10 +2 4 8 11 +2 4 8 12 +2 4 8 13 +2 4 8 14 +2 4 8 15 +2 4 9 10 +2 4 9 11 +2 4 9 12 +2 4 9 13 +2 4 9 14 +2 4 9 15 +2 4 10 11 +2 4 10 12 +2 4 10 13 +2 4 10 14 +2 4 10 15 +2 4 11 12 +2 4 11 13 +2 4 11 14 +2 4 11 15 +2 4 12 13 +2 4 12 14 +2 4 12 15 +2 4 13 14 +2 4 13 15 +2 4 14 15 +2 5 6 7 +2 5 6 8 +2 5 6 9 +2 5 6 10 +2 5 6 11 +2 5 6 12 +2 5 6 13 +2 5 6 14 +2 5 6 15 +2 5 7 8 +2 5 7 9 +2 5 7 10 +2 5 7 11 +2 5 7 12 +2 5 7 13 +2 5 7 14 +2 5 7 15 +2 5 8 9 +2 5 8 10 +2 5 8 11 +2 5 8 12 +2 5 8 13 +2 5 8 14 +2 5 8 15 +2 5 9 10 +2 5 9 11 +2 5 9 12 +2 5 9 13 +2 5 9 14 +2 5 9 15 +2 5 10 11 +2 5 10 12 +2 5 10 13 +2 5 10 14 +2 5 10 15 +2 5 11 12 +2 5 11 13 +2 5 11 14 +2 5 11 15 +2 5 12 13 +2 5 12 14 +2 5 12 15 +2 5 13 14 +2 5 13 15 +2 5 14 15 +2 6 7 8 +2 6 7 9 +2 6 7 10 +2 6 7 11 +2 6 7 12 +2 6 7 13 +2 6 7 14 +2 6 7 15 +2 6 8 9 +2 6 8 10 +2 6 8 11 +2 6 8 12 +2 6 8 13 +2 6 8 14 +2 6 8 15 +2 6 9 10 +2 6 9 11 +2 6 9 12 +2 6 9 13 +2 6 9 14 +2 6 9 15 +2 6 10 11 +2 6 10 12 +2 6 10 13 +2 6 10 14 +2 6 10 15 +2 6 11 12 +2 6 11 13 +2 6 11 14 +2 6 11 15 +2 6 12 13 +2 6 12 14 +2 6 12 15 +2 6 13 14 +2 6 13 15 +2 6 14 15 +2 7 8 9 +2 7 8 10 +2 7 8 11 +2 7 8 12 +2 7 8 13 +2 7 8 14 +2 7 8 15 +2 7 9 10 +2 7 9 11 +2 7 9 12 +2 7 9 13 +2 7 9 14 +2 7 9 15 +2 7 10 11 +2 7 10 12 +2 7 10 13 +2 7 10 14 +2 7 10 15 +2 7 11 12 +2 7 11 13 +2 7 11 14 +2 7 11 15 +2 7 12 13 +2 7 12 14 +2 7 12 15 +2 7 13 14 +2 7 13 15 +2 7 14 15 +2 8 9 10 +2 8 9 11 +2 8 9 12 +2 8 9 13 +2 8 9 14 +2 8 9 15 +2 8 10 11 +2 8 10 12 +2 8 10 13 +2 8 10 14 +2 8 10 15 +2 8 11 12 +2 8 11 13 +2 8 11 14 +2 8 11 15 +2 8 12 13 +2 8 12 14 +2 8 12 15 +2 8 13 14 +2 8 13 15 +2 8 14 15 +2 9 10 11 +2 9 10 12 +2 9 10 13 +2 9 10 14 +2 9 10 15 +2 9 11 12 +2 9 11 13 +2 9 11 14 +2 9 11 15 +2 9 12 13 +2 9 12 14 +2 9 12 15 +2 9 13 14 +2 9 13 15 +2 9 14 15 +2 10 11 12 +2 10 11 13 +2 10 11 14 +2 10 11 15 +2 10 12 13 +2 10 12 14 +2 10 12 15 +2 10 13 14 +2 10 13 15 +2 10 14 15 +2 11 12 13 +2 11 12 14 +2 11 12 15 +2 11 13 14 +2 11 13 15 +2 11 14 15 +2 12 13 14 +2 12 13 15 +2 12 14 15 +2 13 14 15 +3 4 5 6 +3 4 5 7 +3 4 5 8 +3 4 5 9 +3 4 5 10 +3 4 5 11 +3 4 5 12 +3 4 5 13 +3 4 5 14 +3 4 5 15 +3 4 6 7 +3 4 6 8 +3 4 6 9 +3 4 6 10 +3 4 6 11 +3 4 6 12 +3 4 6 13 +3 4 6 14 +3 4 6 15 +3 4 7 8 +3 4 7 9 +3 4 7 10 +3 4 7 11 +3 4 7 12 +3 4 7 13 +3 4 7 14 +3 4 7 15 +3 4 8 9 +3 4 8 10 +3 4 8 11 +3 4 8 12 +3 4 8 13 +3 4 8 14 +3 4 8 15 +3 4 9 10 +3 4 9 11 +3 4 9 12 +3 4 9 13 +3 4 9 14 +3 4 9 15 +3 4 10 11 +3 4 10 12 +3 4 10 13 +3 4 10 14 +3 4 10 15 +3 4 11 12 +3 4 11 13 +3 4 11 14 +3 4 11 15 +3 4 12 13 +3 4 12 14 +3 4 12 15 +3 4 13 14 +3 4 13 15 +3 4 14 15 +3 5 6 7 +3 5 6 8 +3 5 6 9 +3 5 6 10 +3 5 6 11 +3 5 6 12 +3 5 6 13 +3 5 6 14 +3 5 6 15 +3 5 7 8 +3 5 7 9 +3 5 7 10 +3 5 7 11 +3 5 7 12 +3 5 7 13 +3 5 7 14 +3 5 7 15 +3 5 8 9 +3 5 8 10 +3 5 8 11 +3 5 8 12 +3 5 8 13 +3 5 8 14 +3 5 8 15 +3 5 9 10 +3 5 9 11 +3 5 9 12 +3 5 9 13 +3 5 9 14 +3 5 9 15 +3 5 10 11 +3 5 10 12 +3 5 10 13 +3 5 10 14 +3 5 10 15 +3 5 11 12 +3 5 11 13 +3 5 11 14 +3 5 11 15 +3 5 12 13 +3 5 12 14 +3 5 12 15 +3 5 13 14 +3 5 13 15 +3 5 14 15 +3 6 7 8 +3 6 7 9 +3 6 7 10 +3 6 7 11 +3 6 7 12 +3 6 7 13 +3 6 7 14 +3 6 7 15 +3 6 8 9 +3 6 8 10 +3 6 8 11 +3 6 8 12 +3 6 8 13 +3 6 8 14 +3 6 8 15 +3 6 9 10 +3 6 9 11 +3 6 9 12 +3 6 9 13 +3 6 9 14 +3 6 9 15 +3 6 10 11 +3 6 10 12 +3 6 10 13 +3 6 10 14 +3 6 10 15 +3 6 11 12 +3 6 11 13 +3 6 11 14 +3 6 11 15 +3 6 12 13 +3 6 12 14 +3 6 12 15 +3 6 13 14 +3 6 13 15 +3 6 14 15 +3 7 8 9 +3 7 8 10 +3 7 8 11 +3 7 8 12 +3 7 8 13 +3 7 8 14 +3 7 8 15 +3 7 9 10 +3 7 9 11 +3 7 9 12 +3 7 9 13 +3 7 9 14 +3 7 9 15 +3 7 10 11 +3 7 10 12 +3 7 10 13 +3 7 10 14 +3 7 10 15 +3 7 11 12 +3 7 11 13 +3 7 11 14 +3 7 11 15 +3 7 12 13 +3 7 12 14 +3 7 12 15 +3 7 13 14 +3 7 13 15 +3 7 14 15 +3 8 9 10 +3 8 9 11 +3 8 9 12 +3 8 9 13 +3 8 9 14 +3 8 9 15 +3 8 10 11 +3 8 10 12 +3 8 10 13 +3 8 10 14 +3 8 10 15 +3 8 11 12 +3 8 11 13 +3 8 11 14 +3 8 11 15 +3 8 12 13 +3 8 12 14 +3 8 12 15 +3 8 13 14 +3 8 13 15 +3 8 14 15 +3 9 10 11 +3 9 10 12 +3 9 10 13 +3 9 10 14 +3 9 10 15 +3 9 11 12 +3 9 11 13 +3 9 11 14 +3 9 11 15 +3 9 12 13 +3 9 12 14 +3 9 12 15 +3 9 13 14 +3 9 13 15 +3 9 14 15 +3 10 11 12 +3 10 11 13 +3 10 11 14 +3 10 11 15 +3 10 12 13 +3 10 12 14 +3 10 12 15 +3 10 13 14 +3 10 13 15 +3 10 14 15 +3 11 12 13 +3 11 12 14 +3 11 12 15 +3 11 13 14 +3 11 13 15 +3 11 14 15 +3 12 13 14 +3 12 13 15 +3 12 14 15 +3 13 14 15 +4 5 6 7 +4 5 6 8 +4 5 6 9 +4 5 6 10 +4 5 6 11 +4 5 6 12 +4 5 6 13 +4 5 6 14 +4 5 6 15 +4 5 7 8 +4 5 7 9 +4 5 7 10 +4 5 7 11 +4 5 7 12 +4 5 7 13 +4 5 7 14 +4 5 7 15 +4 5 8 9 +4 5 8 10 +4 5 8 11 +4 5 8 12 +4 5 8 13 +4 5 8 14 +4 5 8 15 +4 5 9 10 +4 5 9 11 +4 5 9 12 +4 5 9 13 +4 5 9 14 +4 5 9 15 +4 5 10 11 +4 5 10 12 +4 5 10 13 +4 5 10 14 +4 5 10 15 +4 5 11 12 +4 5 11 13 +4 5 11 14 +4 5 11 15 +4 5 12 13 +4 5 12 14 +4 5 12 15 +4 5 13 14 +4 5 13 15 +4 5 14 15 +4 6 7 8 +4 6 7 9 +4 6 7 10 +4 6 7 11 +4 6 7 12 +4 6 7 13 +4 6 7 14 +4 6 7 15 +4 6 8 9 +4 6 8 10 +4 6 8 11 +4 6 8 12 +4 6 8 13 +4 6 8 14 +4 6 8 15 +4 6 9 10 +4 6 9 11 +4 6 9 12 +4 6 9 13 +4 6 9 14 +4 6 9 15 +4 6 10 11 +4 6 10 12 +4 6 10 13 +4 6 10 14 +4 6 10 15 +4 6 11 12 +4 6 11 13 +4 6 11 14 +4 6 11 15 +4 6 12 13 +4 6 12 14 +4 6 12 15 +4 6 13 14 +4 6 13 15 +4 6 14 15 +4 7 8 9 +4 7 8 10 +4 7 8 11 +4 7 8 12 +4 7 8 13 +4 7 8 14 +4 7 8 15 +4 7 9 10 +4 7 9 11 +4 7 9 12 +4 7 9 13 +4 7 9 14 +4 7 9 15 +4 7 10 11 +4 7 10 12 +4 7 10 13 +4 7 10 14 +4 7 10 15 +4 7 11 12 +4 7 11 13 +4 7 11 14 +4 7 11 15 +4 7 12 13 +4 7 12 14 +4 7 12 15 +4 7 13 14 +4 7 13 15 +4 7 14 15 +4 8 9 10 +4 8 9 11 +4 8 9 12 +4 8 9 13 +4 8 9 14 +4 8 9 15 +4 8 10 11 +4 8 10 12 +4 8 10 13 +4 8 10 14 +4 8 10 15 +4 8 11 12 +4 8 11 13 +4 8 11 14 +4 8 11 15 +4 8 12 13 +4 8 12 14 +4 8 12 15 +4 8 13 14 +4 8 13 15 +4 8 14 15 +4 9 10 11 +4 9 10 12 +4 9 10 13 +4 9 10 14 +4 9 10 15 +4 9 11 12 +4 9 11 13 +4 9 11 14 +4 9 11 15 +4 9 12 13 +4 9 12 14 +4 9 12 15 +4 9 13 14 +4 9 13 15 +4 9 14 15 +4 10 11 12 +4 10 11 13 +4 10 11 14 +4 10 11 15 +4 10 12 13 +4 10 12 14 +4 10 12 15 +4 10 13 14 +4 10 13 15 +4 10 14 15 +4 11 12 13 +4 11 12 14 +4 11 12 15 +4 11 13 14 +4 11 13 15 +4 11 14 15 +4 12 13 14 +4 12 13 15 +4 12 14 15 +4 13 14 15 +5 6 7 8 +5 6 7 9 +5 6 7 10 +5 6 7 11 +5 6 7 12 +5 6 7 13 +5 6 7 14 +5 6 7 15 +5 6 8 9 +5 6 8 10 +5 6 8 11 +5 6 8 12 +5 6 8 13 +5 6 8 14 +5 6 8 15 +5 6 9 10 +5 6 9 11 +5 6 9 12 +5 6 9 13 +5 6 9 14 +5 6 9 15 +5 6 10 11 +5 6 10 12 +5 6 10 13 +5 6 10 14 +5 6 10 15 +5 6 11 12 +5 6 11 13 +5 6 11 14 +5 6 11 15 +5 6 12 13 +5 6 12 14 +5 6 12 15 +5 6 13 14 +5 6 13 15 +5 6 14 15 +5 7 8 9 +5 7 8 10 +5 7 8 11 +5 7 8 12 +5 7 8 13 +5 7 8 14 +5 7 8 15 +5 7 9 10 +5 7 9 11 +5 7 9 12 +5 7 9 13 +5 7 9 14 +5 7 9 15 +5 7 10 11 +5 7 10 12 +5 7 10 13 +5 7 10 14 +5 7 10 15 +5 7 11 12 +5 7 11 13 +5 7 11 14 +5 7 11 15 +5 7 12 13 +5 7 12 14 +5 7 12 15 +5 7 13 14 +5 7 13 15 +5 7 14 15 +5 8 9 10 +5 8 9 11 +5 8 9 12 +5 8 9 13 +5 8 9 14 +5 8 9 15 +5 8 10 11 +5 8 10 12 +5 8 10 13 +5 8 10 14 +5 8 10 15 +5 8 11 12 +5 8 11 13 +5 8 11 14 +5 8 11 15 +5 8 12 13 +5 8 12 14 +5 8 12 15 +5 8 13 14 +5 8 13 15 +5 8 14 15 +5 9 10 11 +5 9 10 12 +5 9 10 13 +5 9 10 14 +5 9 10 15 +5 9 11 12 +5 9 11 13 +5 9 11 14 +5 9 11 15 +5 9 12 13 +5 9 12 14 +5 9 12 15 +5 9 13 14 +5 9 13 15 +5 9 14 15 +5 10 11 12 +5 10 11 13 +5 10 11 14 +5 10 11 15 +5 10 12 13 +5 10 12 14 +5 10 12 15 +5 10 13 14 +5 10 13 15 +5 10 14 15 +5 11 12 13 +5 11 12 14 +5 11 12 15 +5 11 13 14 +5 11 13 15 +5 11 14 15 +5 12 13 14 +5 12 13 15 +5 12 14 15 +5 13 14 15 +6 7 8 9 +6 7 8 10 +6 7 8 11 +6 7 8 12 +6 7 8 13 +6 7 8 14 +6 7 8 15 +6 7 9 10 +6 7 9 11 +6 7 9 12 +6 7 9 13 +6 7 9 14 +6 7 9 15 +6 7 10 11 +6 7 10 12 +6 7 10 13 +6 7 10 14 +6 7 10 15 +6 7 11 12 +6 7 11 13 +6 7 11 14 +6 7 11 15 +6 7 12 13 +6 7 12 14 +6 7 12 15 +6 7 13 14 +6 7 13 15 +6 7 14 15 +6 8 9 10 +6 8 9 11 +6 8 9 12 +6 8 9 13 +6 8 9 14 +6 8 9 15 +6 8 10 11 +6 8 10 12 +6 8 10 13 +6 8 10 14 +6 8 10 15 +6 8 11 12 +6 8 11 13 +6 8 11 14 +6 8 11 15 +6 8 12 13 +6 8 12 14 +6 8 12 15 +6 8 13 14 +6 8 13 15 +6 8 14 15 +6 9 10 11 +6 9 10 12 +6 9 10 13 +6 9 10 14 +6 9 10 15 +6 9 11 12 +6 9 11 13 +6 9 11 14 +6 9 11 15 +6 9 12 13 +6 9 12 14 +6 9 12 15 +6 9 13 14 +6 9 13 15 +6 9 14 15 +6 10 11 12 +6 10 11 13 +6 10 11 14 +6 10 11 15 +6 10 12 13 +6 10 12 14 +6 10 12 15 +6 10 13 14 +6 10 13 15 +6 10 14 15 +6 11 12 13 +6 11 12 14 +6 11 12 15 +6 11 13 14 +6 11 13 15 +6 11 14 15 +6 12 13 14 +6 12 13 15 +6 12 14 15 +6 13 14 15 +7 8 9 10 +7 8 9 11 +7 8 9 12 +7 8 9 13 +7 8 9 14 +7 8 9 15 +7 8 10 11 +7 8 10 12 +7 8 10 13 +7 8 10 14 +7 8 10 15 +7 8 11 12 +7 8 11 13 +7 8 11 14 +7 8 11 15 +7 8 12 13 +7 8 12 14 +7 8 12 15 +7 8 13 14 +7 8 13 15 +7 8 14 15 +7 9 10 11 +7 9 10 12 +7 9 10 13 +7 9 10 14 +7 9 10 15 +7 9 11 12 +7 9 11 13 +7 9 11 14 +7 9 11 15 +7 9 12 13 +7 9 12 14 +7 9 12 15 +7 9 13 14 +7 9 13 15 +7 9 14 15 +7 10 11 12 +7 10 11 13 +7 10 11 14 +7 10 11 15 +7 10 12 13 +7 10 12 14 +7 10 12 15 +7 10 13 14 +7 10 13 15 +7 10 14 15 +7 11 12 13 +7 11 12 14 +7 11 12 15 +7 11 13 14 +7 11 13 15 +7 11 14 15 +7 12 13 14 +7 12 13 15 +7 12 14 15 +7 13 14 15 +8 9 10 11 +8 9 10 12 +8 9 10 13 +8 9 10 14 +8 9 10 15 +8 9 11 12 +8 9 11 13 +8 9 11 14 +8 9 11 15 +8 9 12 13 +8 9 12 14 +8 9 12 15 +8 9 13 14 +8 9 13 15 +8 9 14 15 +8 10 11 12 +8 10 11 13 +8 10 11 14 +8 10 11 15 +8 10 12 13 +8 10 12 14 +8 10 12 15 +8 10 13 14 +8 10 13 15 +8 10 14 15 +8 11 12 13 +8 11 12 14 +8 11 12 15 +8 11 13 14 +8 11 13 15 +8 11 14 15 +8 12 13 14 +8 12 13 15 +8 12 14 15 +8 13 14 15 +9 10 11 12 +9 10 11 13 +9 10 11 14 +9 10 11 15 +9 10 12 13 +9 10 12 14 +9 10 12 15 +9 10 13 14 +9 10 13 15 +9 10 14 15 +9 11 12 13 +9 11 12 14 +9 11 12 15 +9 11 13 14 +9 11 13 15 +9 11 14 15 +9 12 13 14 +9 12 13 15 +9 12 14 15 +9 13 14 15 +10 11 12 13 +10 11 12 14 +10 11 12 15 +10 11 13 14 +10 11 13 15 +10 11 14 15 +10 12 13 14 +10 12 13 15 +10 12 14 15 +10 13 14 15 +11 12 13 14 +11 12 13 15 +11 12 14 15 +11 13 14 15 +12 13 14 15 diff --git a/combines/16-5.txt b/combines/16-5.txt index 4fb505b..0caf75e 100644 --- a/combines/16-5.txt +++ b/combines/16-5.txt @@ -1,4368 +1,4368 @@ -0 1 2 3 4 -0 1 2 3 5 -0 1 2 3 6 -0 1 2 3 7 -0 1 2 3 8 -0 1 2 3 9 -0 1 2 3 10 -0 1 2 3 11 -0 1 2 3 12 -0 1 2 3 13 -0 1 2 3 14 -0 1 2 3 15 -0 1 2 4 5 -0 1 2 4 6 -0 1 2 4 7 -0 1 2 4 8 -0 1 2 4 9 -0 1 2 4 10 -0 1 2 4 11 -0 1 2 4 12 -0 1 2 4 13 -0 1 2 4 14 -0 1 2 4 15 -0 1 2 5 6 -0 1 2 5 7 -0 1 2 5 8 -0 1 2 5 9 -0 1 2 5 10 -0 1 2 5 11 -0 1 2 5 12 -0 1 2 5 13 -0 1 2 5 14 -0 1 2 5 15 -0 1 2 6 7 -0 1 2 6 8 -0 1 2 6 9 -0 1 2 6 10 -0 1 2 6 11 -0 1 2 6 12 -0 1 2 6 13 -0 1 2 6 14 -0 1 2 6 15 -0 1 2 7 8 -0 1 2 7 9 -0 1 2 7 10 -0 1 2 7 11 -0 1 2 7 12 -0 1 2 7 13 -0 1 2 7 14 -0 1 2 7 15 -0 1 2 8 9 -0 1 2 8 10 -0 1 2 8 11 -0 1 2 8 12 -0 1 2 8 13 -0 1 2 8 14 -0 1 2 8 15 -0 1 2 9 10 -0 1 2 9 11 -0 1 2 9 12 -0 1 2 9 13 -0 1 2 9 14 -0 1 2 9 15 -0 1 2 10 11 -0 1 2 10 12 -0 1 2 10 13 -0 1 2 10 14 -0 1 2 10 15 -0 1 2 11 12 -0 1 2 11 13 -0 1 2 11 14 -0 1 2 11 15 -0 1 2 12 13 -0 1 2 12 14 -0 1 2 12 15 -0 1 2 13 14 -0 1 2 13 15 -0 1 2 14 15 -0 1 3 4 5 -0 1 3 4 6 -0 1 3 4 7 -0 1 3 4 8 -0 1 3 4 9 -0 1 3 4 10 -0 1 3 4 11 -0 1 3 4 12 -0 1 3 4 13 -0 1 3 4 14 -0 1 3 4 15 -0 1 3 5 6 -0 1 3 5 7 -0 1 3 5 8 -0 1 3 5 9 -0 1 3 5 10 -0 1 3 5 11 -0 1 3 5 12 -0 1 3 5 13 -0 1 3 5 14 -0 1 3 5 15 -0 1 3 6 7 -0 1 3 6 8 -0 1 3 6 9 -0 1 3 6 10 -0 1 3 6 11 -0 1 3 6 12 -0 1 3 6 13 -0 1 3 6 14 -0 1 3 6 15 -0 1 3 7 8 -0 1 3 7 9 -0 1 3 7 10 -0 1 3 7 11 -0 1 3 7 12 -0 1 3 7 13 -0 1 3 7 14 -0 1 3 7 15 -0 1 3 8 9 -0 1 3 8 10 -0 1 3 8 11 -0 1 3 8 12 -0 1 3 8 13 -0 1 3 8 14 -0 1 3 8 15 -0 1 3 9 10 -0 1 3 9 11 -0 1 3 9 12 -0 1 3 9 13 -0 1 3 9 14 -0 1 3 9 15 -0 1 3 10 11 -0 1 3 10 12 -0 1 3 10 13 -0 1 3 10 14 -0 1 3 10 15 -0 1 3 11 12 -0 1 3 11 13 -0 1 3 11 14 -0 1 3 11 15 -0 1 3 12 13 -0 1 3 12 14 -0 1 3 12 15 -0 1 3 13 14 -0 1 3 13 15 -0 1 3 14 15 -0 1 4 5 6 -0 1 4 5 7 -0 1 4 5 8 -0 1 4 5 9 -0 1 4 5 10 -0 1 4 5 11 -0 1 4 5 12 -0 1 4 5 13 -0 1 4 5 14 -0 1 4 5 15 -0 1 4 6 7 -0 1 4 6 8 -0 1 4 6 9 -0 1 4 6 10 -0 1 4 6 11 -0 1 4 6 12 -0 1 4 6 13 -0 1 4 6 14 -0 1 4 6 15 -0 1 4 7 8 -0 1 4 7 9 -0 1 4 7 10 -0 1 4 7 11 -0 1 4 7 12 -0 1 4 7 13 -0 1 4 7 14 -0 1 4 7 15 -0 1 4 8 9 -0 1 4 8 10 -0 1 4 8 11 -0 1 4 8 12 -0 1 4 8 13 -0 1 4 8 14 -0 1 4 8 15 -0 1 4 9 10 -0 1 4 9 11 -0 1 4 9 12 -0 1 4 9 13 -0 1 4 9 14 -0 1 4 9 15 -0 1 4 10 11 -0 1 4 10 12 -0 1 4 10 13 -0 1 4 10 14 -0 1 4 10 15 -0 1 4 11 12 -0 1 4 11 13 -0 1 4 11 14 -0 1 4 11 15 -0 1 4 12 13 -0 1 4 12 14 -0 1 4 12 15 -0 1 4 13 14 -0 1 4 13 15 -0 1 4 14 15 -0 1 5 6 7 -0 1 5 6 8 -0 1 5 6 9 -0 1 5 6 10 -0 1 5 6 11 -0 1 5 6 12 -0 1 5 6 13 -0 1 5 6 14 -0 1 5 6 15 -0 1 5 7 8 -0 1 5 7 9 -0 1 5 7 10 -0 1 5 7 11 -0 1 5 7 12 -0 1 5 7 13 -0 1 5 7 14 -0 1 5 7 15 -0 1 5 8 9 -0 1 5 8 10 -0 1 5 8 11 -0 1 5 8 12 -0 1 5 8 13 -0 1 5 8 14 -0 1 5 8 15 -0 1 5 9 10 -0 1 5 9 11 -0 1 5 9 12 -0 1 5 9 13 -0 1 5 9 14 -0 1 5 9 15 -0 1 5 10 11 -0 1 5 10 12 -0 1 5 10 13 -0 1 5 10 14 -0 1 5 10 15 -0 1 5 11 12 -0 1 5 11 13 -0 1 5 11 14 -0 1 5 11 15 -0 1 5 12 13 -0 1 5 12 14 -0 1 5 12 15 -0 1 5 13 14 -0 1 5 13 15 -0 1 5 14 15 -0 1 6 7 8 -0 1 6 7 9 -0 1 6 7 10 -0 1 6 7 11 -0 1 6 7 12 -0 1 6 7 13 -0 1 6 7 14 -0 1 6 7 15 -0 1 6 8 9 -0 1 6 8 10 -0 1 6 8 11 -0 1 6 8 12 -0 1 6 8 13 -0 1 6 8 14 -0 1 6 8 15 -0 1 6 9 10 -0 1 6 9 11 -0 1 6 9 12 -0 1 6 9 13 -0 1 6 9 14 -0 1 6 9 15 -0 1 6 10 11 -0 1 6 10 12 -0 1 6 10 13 -0 1 6 10 14 -0 1 6 10 15 -0 1 6 11 12 -0 1 6 11 13 -0 1 6 11 14 -0 1 6 11 15 -0 1 6 12 13 -0 1 6 12 14 -0 1 6 12 15 -0 1 6 13 14 -0 1 6 13 15 -0 1 6 14 15 -0 1 7 8 9 -0 1 7 8 10 -0 1 7 8 11 -0 1 7 8 12 -0 1 7 8 13 -0 1 7 8 14 -0 1 7 8 15 -0 1 7 9 10 -0 1 7 9 11 -0 1 7 9 12 -0 1 7 9 13 -0 1 7 9 14 -0 1 7 9 15 -0 1 7 10 11 -0 1 7 10 12 -0 1 7 10 13 -0 1 7 10 14 -0 1 7 10 15 -0 1 7 11 12 -0 1 7 11 13 -0 1 7 11 14 -0 1 7 11 15 -0 1 7 12 13 -0 1 7 12 14 -0 1 7 12 15 -0 1 7 13 14 -0 1 7 13 15 -0 1 7 14 15 -0 1 8 9 10 -0 1 8 9 11 -0 1 8 9 12 -0 1 8 9 13 -0 1 8 9 14 -0 1 8 9 15 -0 1 8 10 11 -0 1 8 10 12 -0 1 8 10 13 -0 1 8 10 14 -0 1 8 10 15 -0 1 8 11 12 -0 1 8 11 13 -0 1 8 11 14 -0 1 8 11 15 -0 1 8 12 13 -0 1 8 12 14 -0 1 8 12 15 -0 1 8 13 14 -0 1 8 13 15 -0 1 8 14 15 -0 1 9 10 11 -0 1 9 10 12 -0 1 9 10 13 -0 1 9 10 14 -0 1 9 10 15 -0 1 9 11 12 -0 1 9 11 13 -0 1 9 11 14 -0 1 9 11 15 -0 1 9 12 13 -0 1 9 12 14 -0 1 9 12 15 -0 1 9 13 14 -0 1 9 13 15 -0 1 9 14 15 -0 1 10 11 12 -0 1 10 11 13 -0 1 10 11 14 -0 1 10 11 15 -0 1 10 12 13 -0 1 10 12 14 -0 1 10 12 15 -0 1 10 13 14 -0 1 10 13 15 -0 1 10 14 15 -0 1 11 12 13 -0 1 11 12 14 -0 1 11 12 15 -0 1 11 13 14 -0 1 11 13 15 -0 1 11 14 15 -0 1 12 13 14 -0 1 12 13 15 -0 1 12 14 15 -0 1 13 14 15 -0 2 3 4 5 -0 2 3 4 6 -0 2 3 4 7 -0 2 3 4 8 -0 2 3 4 9 -0 2 3 4 10 -0 2 3 4 11 -0 2 3 4 12 -0 2 3 4 13 -0 2 3 4 14 -0 2 3 4 15 -0 2 3 5 6 -0 2 3 5 7 -0 2 3 5 8 -0 2 3 5 9 -0 2 3 5 10 -0 2 3 5 11 -0 2 3 5 12 -0 2 3 5 13 -0 2 3 5 14 -0 2 3 5 15 -0 2 3 6 7 -0 2 3 6 8 -0 2 3 6 9 -0 2 3 6 10 -0 2 3 6 11 -0 2 3 6 12 -0 2 3 6 13 -0 2 3 6 14 -0 2 3 6 15 -0 2 3 7 8 -0 2 3 7 9 -0 2 3 7 10 -0 2 3 7 11 -0 2 3 7 12 -0 2 3 7 13 -0 2 3 7 14 -0 2 3 7 15 -0 2 3 8 9 -0 2 3 8 10 -0 2 3 8 11 -0 2 3 8 12 -0 2 3 8 13 -0 2 3 8 14 -0 2 3 8 15 -0 2 3 9 10 -0 2 3 9 11 -0 2 3 9 12 -0 2 3 9 13 -0 2 3 9 14 -0 2 3 9 15 -0 2 3 10 11 -0 2 3 10 12 -0 2 3 10 13 -0 2 3 10 14 -0 2 3 10 15 -0 2 3 11 12 -0 2 3 11 13 -0 2 3 11 14 -0 2 3 11 15 -0 2 3 12 13 -0 2 3 12 14 -0 2 3 12 15 -0 2 3 13 14 -0 2 3 13 15 -0 2 3 14 15 -0 2 4 5 6 -0 2 4 5 7 -0 2 4 5 8 -0 2 4 5 9 -0 2 4 5 10 -0 2 4 5 11 -0 2 4 5 12 -0 2 4 5 13 -0 2 4 5 14 -0 2 4 5 15 -0 2 4 6 7 -0 2 4 6 8 -0 2 4 6 9 -0 2 4 6 10 -0 2 4 6 11 -0 2 4 6 12 -0 2 4 6 13 -0 2 4 6 14 -0 2 4 6 15 -0 2 4 7 8 -0 2 4 7 9 -0 2 4 7 10 -0 2 4 7 11 -0 2 4 7 12 -0 2 4 7 13 -0 2 4 7 14 -0 2 4 7 15 -0 2 4 8 9 -0 2 4 8 10 -0 2 4 8 11 -0 2 4 8 12 -0 2 4 8 13 -0 2 4 8 14 -0 2 4 8 15 -0 2 4 9 10 -0 2 4 9 11 -0 2 4 9 12 -0 2 4 9 13 -0 2 4 9 14 -0 2 4 9 15 -0 2 4 10 11 -0 2 4 10 12 -0 2 4 10 13 -0 2 4 10 14 -0 2 4 10 15 -0 2 4 11 12 -0 2 4 11 13 -0 2 4 11 14 -0 2 4 11 15 -0 2 4 12 13 -0 2 4 12 14 -0 2 4 12 15 -0 2 4 13 14 -0 2 4 13 15 -0 2 4 14 15 -0 2 5 6 7 -0 2 5 6 8 -0 2 5 6 9 -0 2 5 6 10 -0 2 5 6 11 -0 2 5 6 12 -0 2 5 6 13 -0 2 5 6 14 -0 2 5 6 15 -0 2 5 7 8 -0 2 5 7 9 -0 2 5 7 10 -0 2 5 7 11 -0 2 5 7 12 -0 2 5 7 13 -0 2 5 7 14 -0 2 5 7 15 -0 2 5 8 9 -0 2 5 8 10 -0 2 5 8 11 -0 2 5 8 12 -0 2 5 8 13 -0 2 5 8 14 -0 2 5 8 15 -0 2 5 9 10 -0 2 5 9 11 -0 2 5 9 12 -0 2 5 9 13 -0 2 5 9 14 -0 2 5 9 15 -0 2 5 10 11 -0 2 5 10 12 -0 2 5 10 13 -0 2 5 10 14 -0 2 5 10 15 -0 2 5 11 12 -0 2 5 11 13 -0 2 5 11 14 -0 2 5 11 15 -0 2 5 12 13 -0 2 5 12 14 -0 2 5 12 15 -0 2 5 13 14 -0 2 5 13 15 -0 2 5 14 15 -0 2 6 7 8 -0 2 6 7 9 -0 2 6 7 10 -0 2 6 7 11 -0 2 6 7 12 -0 2 6 7 13 -0 2 6 7 14 -0 2 6 7 15 -0 2 6 8 9 -0 2 6 8 10 -0 2 6 8 11 -0 2 6 8 12 -0 2 6 8 13 -0 2 6 8 14 -0 2 6 8 15 -0 2 6 9 10 -0 2 6 9 11 -0 2 6 9 12 -0 2 6 9 13 -0 2 6 9 14 -0 2 6 9 15 -0 2 6 10 11 -0 2 6 10 12 -0 2 6 10 13 -0 2 6 10 14 -0 2 6 10 15 -0 2 6 11 12 -0 2 6 11 13 -0 2 6 11 14 -0 2 6 11 15 -0 2 6 12 13 -0 2 6 12 14 -0 2 6 12 15 -0 2 6 13 14 -0 2 6 13 15 -0 2 6 14 15 -0 2 7 8 9 -0 2 7 8 10 -0 2 7 8 11 -0 2 7 8 12 -0 2 7 8 13 -0 2 7 8 14 -0 2 7 8 15 -0 2 7 9 10 -0 2 7 9 11 -0 2 7 9 12 -0 2 7 9 13 -0 2 7 9 14 -0 2 7 9 15 -0 2 7 10 11 -0 2 7 10 12 -0 2 7 10 13 -0 2 7 10 14 -0 2 7 10 15 -0 2 7 11 12 -0 2 7 11 13 -0 2 7 11 14 -0 2 7 11 15 -0 2 7 12 13 -0 2 7 12 14 -0 2 7 12 15 -0 2 7 13 14 -0 2 7 13 15 -0 2 7 14 15 -0 2 8 9 10 -0 2 8 9 11 -0 2 8 9 12 -0 2 8 9 13 -0 2 8 9 14 -0 2 8 9 15 -0 2 8 10 11 -0 2 8 10 12 -0 2 8 10 13 -0 2 8 10 14 -0 2 8 10 15 -0 2 8 11 12 -0 2 8 11 13 -0 2 8 11 14 -0 2 8 11 15 -0 2 8 12 13 -0 2 8 12 14 -0 2 8 12 15 -0 2 8 13 14 -0 2 8 13 15 -0 2 8 14 15 -0 2 9 10 11 -0 2 9 10 12 -0 2 9 10 13 -0 2 9 10 14 -0 2 9 10 15 -0 2 9 11 12 -0 2 9 11 13 -0 2 9 11 14 -0 2 9 11 15 -0 2 9 12 13 -0 2 9 12 14 -0 2 9 12 15 -0 2 9 13 14 -0 2 9 13 15 -0 2 9 14 15 -0 2 10 11 12 -0 2 10 11 13 -0 2 10 11 14 -0 2 10 11 15 -0 2 10 12 13 -0 2 10 12 14 -0 2 10 12 15 -0 2 10 13 14 -0 2 10 13 15 -0 2 10 14 15 -0 2 11 12 13 -0 2 11 12 14 -0 2 11 12 15 -0 2 11 13 14 -0 2 11 13 15 -0 2 11 14 15 -0 2 12 13 14 -0 2 12 13 15 -0 2 12 14 15 -0 2 13 14 15 -0 3 4 5 6 -0 3 4 5 7 -0 3 4 5 8 -0 3 4 5 9 -0 3 4 5 10 -0 3 4 5 11 -0 3 4 5 12 -0 3 4 5 13 -0 3 4 5 14 -0 3 4 5 15 -0 3 4 6 7 -0 3 4 6 8 -0 3 4 6 9 -0 3 4 6 10 -0 3 4 6 11 -0 3 4 6 12 -0 3 4 6 13 -0 3 4 6 14 -0 3 4 6 15 -0 3 4 7 8 -0 3 4 7 9 -0 3 4 7 10 -0 3 4 7 11 -0 3 4 7 12 -0 3 4 7 13 -0 3 4 7 14 -0 3 4 7 15 -0 3 4 8 9 -0 3 4 8 10 -0 3 4 8 11 -0 3 4 8 12 -0 3 4 8 13 -0 3 4 8 14 -0 3 4 8 15 -0 3 4 9 10 -0 3 4 9 11 -0 3 4 9 12 -0 3 4 9 13 -0 3 4 9 14 -0 3 4 9 15 -0 3 4 10 11 -0 3 4 10 12 -0 3 4 10 13 -0 3 4 10 14 -0 3 4 10 15 -0 3 4 11 12 -0 3 4 11 13 -0 3 4 11 14 -0 3 4 11 15 -0 3 4 12 13 -0 3 4 12 14 -0 3 4 12 15 -0 3 4 13 14 -0 3 4 13 15 -0 3 4 14 15 -0 3 5 6 7 -0 3 5 6 8 -0 3 5 6 9 -0 3 5 6 10 -0 3 5 6 11 -0 3 5 6 12 -0 3 5 6 13 -0 3 5 6 14 -0 3 5 6 15 -0 3 5 7 8 -0 3 5 7 9 -0 3 5 7 10 -0 3 5 7 11 -0 3 5 7 12 -0 3 5 7 13 -0 3 5 7 14 -0 3 5 7 15 -0 3 5 8 9 -0 3 5 8 10 -0 3 5 8 11 -0 3 5 8 12 -0 3 5 8 13 -0 3 5 8 14 -0 3 5 8 15 -0 3 5 9 10 -0 3 5 9 11 -0 3 5 9 12 -0 3 5 9 13 -0 3 5 9 14 -0 3 5 9 15 -0 3 5 10 11 -0 3 5 10 12 -0 3 5 10 13 -0 3 5 10 14 -0 3 5 10 15 -0 3 5 11 12 -0 3 5 11 13 -0 3 5 11 14 -0 3 5 11 15 -0 3 5 12 13 -0 3 5 12 14 -0 3 5 12 15 -0 3 5 13 14 -0 3 5 13 15 -0 3 5 14 15 -0 3 6 7 8 -0 3 6 7 9 -0 3 6 7 10 -0 3 6 7 11 -0 3 6 7 12 -0 3 6 7 13 -0 3 6 7 14 -0 3 6 7 15 -0 3 6 8 9 -0 3 6 8 10 -0 3 6 8 11 -0 3 6 8 12 -0 3 6 8 13 -0 3 6 8 14 -0 3 6 8 15 -0 3 6 9 10 -0 3 6 9 11 -0 3 6 9 12 -0 3 6 9 13 -0 3 6 9 14 -0 3 6 9 15 -0 3 6 10 11 -0 3 6 10 12 -0 3 6 10 13 -0 3 6 10 14 -0 3 6 10 15 -0 3 6 11 12 -0 3 6 11 13 -0 3 6 11 14 -0 3 6 11 15 -0 3 6 12 13 -0 3 6 12 14 -0 3 6 12 15 -0 3 6 13 14 -0 3 6 13 15 -0 3 6 14 15 -0 3 7 8 9 -0 3 7 8 10 -0 3 7 8 11 -0 3 7 8 12 -0 3 7 8 13 -0 3 7 8 14 -0 3 7 8 15 -0 3 7 9 10 -0 3 7 9 11 -0 3 7 9 12 -0 3 7 9 13 -0 3 7 9 14 -0 3 7 9 15 -0 3 7 10 11 -0 3 7 10 12 -0 3 7 10 13 -0 3 7 10 14 -0 3 7 10 15 -0 3 7 11 12 -0 3 7 11 13 -0 3 7 11 14 -0 3 7 11 15 -0 3 7 12 13 -0 3 7 12 14 -0 3 7 12 15 -0 3 7 13 14 -0 3 7 13 15 -0 3 7 14 15 -0 3 8 9 10 -0 3 8 9 11 -0 3 8 9 12 -0 3 8 9 13 -0 3 8 9 14 -0 3 8 9 15 -0 3 8 10 11 -0 3 8 10 12 -0 3 8 10 13 -0 3 8 10 14 -0 3 8 10 15 -0 3 8 11 12 -0 3 8 11 13 -0 3 8 11 14 -0 3 8 11 15 -0 3 8 12 13 -0 3 8 12 14 -0 3 8 12 15 -0 3 8 13 14 -0 3 8 13 15 -0 3 8 14 15 -0 3 9 10 11 -0 3 9 10 12 -0 3 9 10 13 -0 3 9 10 14 -0 3 9 10 15 -0 3 9 11 12 -0 3 9 11 13 -0 3 9 11 14 -0 3 9 11 15 -0 3 9 12 13 -0 3 9 12 14 -0 3 9 12 15 -0 3 9 13 14 -0 3 9 13 15 -0 3 9 14 15 -0 3 10 11 12 -0 3 10 11 13 -0 3 10 11 14 -0 3 10 11 15 -0 3 10 12 13 -0 3 10 12 14 -0 3 10 12 15 -0 3 10 13 14 -0 3 10 13 15 -0 3 10 14 15 -0 3 11 12 13 -0 3 11 12 14 -0 3 11 12 15 -0 3 11 13 14 -0 3 11 13 15 -0 3 11 14 15 -0 3 12 13 14 -0 3 12 13 15 -0 3 12 14 15 -0 3 13 14 15 -0 4 5 6 7 -0 4 5 6 8 -0 4 5 6 9 -0 4 5 6 10 -0 4 5 6 11 -0 4 5 6 12 -0 4 5 6 13 -0 4 5 6 14 -0 4 5 6 15 -0 4 5 7 8 -0 4 5 7 9 -0 4 5 7 10 -0 4 5 7 11 -0 4 5 7 12 -0 4 5 7 13 -0 4 5 7 14 -0 4 5 7 15 -0 4 5 8 9 -0 4 5 8 10 -0 4 5 8 11 -0 4 5 8 12 -0 4 5 8 13 -0 4 5 8 14 -0 4 5 8 15 -0 4 5 9 10 -0 4 5 9 11 -0 4 5 9 12 -0 4 5 9 13 -0 4 5 9 14 -0 4 5 9 15 -0 4 5 10 11 -0 4 5 10 12 -0 4 5 10 13 -0 4 5 10 14 -0 4 5 10 15 -0 4 5 11 12 -0 4 5 11 13 -0 4 5 11 14 -0 4 5 11 15 -0 4 5 12 13 -0 4 5 12 14 -0 4 5 12 15 -0 4 5 13 14 -0 4 5 13 15 -0 4 5 14 15 -0 4 6 7 8 -0 4 6 7 9 -0 4 6 7 10 -0 4 6 7 11 -0 4 6 7 12 -0 4 6 7 13 -0 4 6 7 14 -0 4 6 7 15 -0 4 6 8 9 -0 4 6 8 10 -0 4 6 8 11 -0 4 6 8 12 -0 4 6 8 13 -0 4 6 8 14 -0 4 6 8 15 -0 4 6 9 10 -0 4 6 9 11 -0 4 6 9 12 -0 4 6 9 13 -0 4 6 9 14 -0 4 6 9 15 -0 4 6 10 11 -0 4 6 10 12 -0 4 6 10 13 -0 4 6 10 14 -0 4 6 10 15 -0 4 6 11 12 -0 4 6 11 13 -0 4 6 11 14 -0 4 6 11 15 -0 4 6 12 13 -0 4 6 12 14 -0 4 6 12 15 -0 4 6 13 14 -0 4 6 13 15 -0 4 6 14 15 -0 4 7 8 9 -0 4 7 8 10 -0 4 7 8 11 -0 4 7 8 12 -0 4 7 8 13 -0 4 7 8 14 -0 4 7 8 15 -0 4 7 9 10 -0 4 7 9 11 -0 4 7 9 12 -0 4 7 9 13 -0 4 7 9 14 -0 4 7 9 15 -0 4 7 10 11 -0 4 7 10 12 -0 4 7 10 13 -0 4 7 10 14 -0 4 7 10 15 -0 4 7 11 12 -0 4 7 11 13 -0 4 7 11 14 -0 4 7 11 15 -0 4 7 12 13 -0 4 7 12 14 -0 4 7 12 15 -0 4 7 13 14 -0 4 7 13 15 -0 4 7 14 15 -0 4 8 9 10 -0 4 8 9 11 -0 4 8 9 12 -0 4 8 9 13 -0 4 8 9 14 -0 4 8 9 15 -0 4 8 10 11 -0 4 8 10 12 -0 4 8 10 13 -0 4 8 10 14 -0 4 8 10 15 -0 4 8 11 12 -0 4 8 11 13 -0 4 8 11 14 -0 4 8 11 15 -0 4 8 12 13 -0 4 8 12 14 -0 4 8 12 15 -0 4 8 13 14 -0 4 8 13 15 -0 4 8 14 15 -0 4 9 10 11 -0 4 9 10 12 -0 4 9 10 13 -0 4 9 10 14 -0 4 9 10 15 -0 4 9 11 12 -0 4 9 11 13 -0 4 9 11 14 -0 4 9 11 15 -0 4 9 12 13 -0 4 9 12 14 -0 4 9 12 15 -0 4 9 13 14 -0 4 9 13 15 -0 4 9 14 15 -0 4 10 11 12 -0 4 10 11 13 -0 4 10 11 14 -0 4 10 11 15 -0 4 10 12 13 -0 4 10 12 14 -0 4 10 12 15 -0 4 10 13 14 -0 4 10 13 15 -0 4 10 14 15 -0 4 11 12 13 -0 4 11 12 14 -0 4 11 12 15 -0 4 11 13 14 -0 4 11 13 15 -0 4 11 14 15 -0 4 12 13 14 -0 4 12 13 15 -0 4 12 14 15 -0 4 13 14 15 -0 5 6 7 8 -0 5 6 7 9 -0 5 6 7 10 -0 5 6 7 11 -0 5 6 7 12 -0 5 6 7 13 -0 5 6 7 14 -0 5 6 7 15 -0 5 6 8 9 -0 5 6 8 10 -0 5 6 8 11 -0 5 6 8 12 -0 5 6 8 13 -0 5 6 8 14 -0 5 6 8 15 -0 5 6 9 10 -0 5 6 9 11 -0 5 6 9 12 -0 5 6 9 13 -0 5 6 9 14 -0 5 6 9 15 -0 5 6 10 11 -0 5 6 10 12 -0 5 6 10 13 -0 5 6 10 14 -0 5 6 10 15 -0 5 6 11 12 -0 5 6 11 13 -0 5 6 11 14 -0 5 6 11 15 -0 5 6 12 13 -0 5 6 12 14 -0 5 6 12 15 -0 5 6 13 14 -0 5 6 13 15 -0 5 6 14 15 -0 5 7 8 9 -0 5 7 8 10 -0 5 7 8 11 -0 5 7 8 12 -0 5 7 8 13 -0 5 7 8 14 -0 5 7 8 15 -0 5 7 9 10 -0 5 7 9 11 -0 5 7 9 12 -0 5 7 9 13 -0 5 7 9 14 -0 5 7 9 15 -0 5 7 10 11 -0 5 7 10 12 -0 5 7 10 13 -0 5 7 10 14 -0 5 7 10 15 -0 5 7 11 12 -0 5 7 11 13 -0 5 7 11 14 -0 5 7 11 15 -0 5 7 12 13 -0 5 7 12 14 -0 5 7 12 15 -0 5 7 13 14 -0 5 7 13 15 -0 5 7 14 15 -0 5 8 9 10 -0 5 8 9 11 -0 5 8 9 12 -0 5 8 9 13 -0 5 8 9 14 -0 5 8 9 15 -0 5 8 10 11 -0 5 8 10 12 -0 5 8 10 13 -0 5 8 10 14 -0 5 8 10 15 -0 5 8 11 12 -0 5 8 11 13 -0 5 8 11 14 -0 5 8 11 15 -0 5 8 12 13 -0 5 8 12 14 -0 5 8 12 15 -0 5 8 13 14 -0 5 8 13 15 -0 5 8 14 15 -0 5 9 10 11 -0 5 9 10 12 -0 5 9 10 13 -0 5 9 10 14 -0 5 9 10 15 -0 5 9 11 12 -0 5 9 11 13 -0 5 9 11 14 -0 5 9 11 15 -0 5 9 12 13 -0 5 9 12 14 -0 5 9 12 15 -0 5 9 13 14 -0 5 9 13 15 -0 5 9 14 15 -0 5 10 11 12 -0 5 10 11 13 -0 5 10 11 14 -0 5 10 11 15 -0 5 10 12 13 -0 5 10 12 14 -0 5 10 12 15 -0 5 10 13 14 -0 5 10 13 15 -0 5 10 14 15 -0 5 11 12 13 -0 5 11 12 14 -0 5 11 12 15 -0 5 11 13 14 -0 5 11 13 15 -0 5 11 14 15 -0 5 12 13 14 -0 5 12 13 15 -0 5 12 14 15 -0 5 13 14 15 -0 6 7 8 9 -0 6 7 8 10 -0 6 7 8 11 -0 6 7 8 12 -0 6 7 8 13 -0 6 7 8 14 -0 6 7 8 15 -0 6 7 9 10 -0 6 7 9 11 -0 6 7 9 12 -0 6 7 9 13 -0 6 7 9 14 -0 6 7 9 15 -0 6 7 10 11 -0 6 7 10 12 -0 6 7 10 13 -0 6 7 10 14 -0 6 7 10 15 -0 6 7 11 12 -0 6 7 11 13 -0 6 7 11 14 -0 6 7 11 15 -0 6 7 12 13 -0 6 7 12 14 -0 6 7 12 15 -0 6 7 13 14 -0 6 7 13 15 -0 6 7 14 15 -0 6 8 9 10 -0 6 8 9 11 -0 6 8 9 12 -0 6 8 9 13 -0 6 8 9 14 -0 6 8 9 15 -0 6 8 10 11 -0 6 8 10 12 -0 6 8 10 13 -0 6 8 10 14 -0 6 8 10 15 -0 6 8 11 12 -0 6 8 11 13 -0 6 8 11 14 -0 6 8 11 15 -0 6 8 12 13 -0 6 8 12 14 -0 6 8 12 15 -0 6 8 13 14 -0 6 8 13 15 -0 6 8 14 15 -0 6 9 10 11 -0 6 9 10 12 -0 6 9 10 13 -0 6 9 10 14 -0 6 9 10 15 -0 6 9 11 12 -0 6 9 11 13 -0 6 9 11 14 -0 6 9 11 15 -0 6 9 12 13 -0 6 9 12 14 -0 6 9 12 15 -0 6 9 13 14 -0 6 9 13 15 -0 6 9 14 15 -0 6 10 11 12 -0 6 10 11 13 -0 6 10 11 14 -0 6 10 11 15 -0 6 10 12 13 -0 6 10 12 14 -0 6 10 12 15 -0 6 10 13 14 -0 6 10 13 15 -0 6 10 14 15 -0 6 11 12 13 -0 6 11 12 14 -0 6 11 12 15 -0 6 11 13 14 -0 6 11 13 15 -0 6 11 14 15 -0 6 12 13 14 -0 6 12 13 15 -0 6 12 14 15 -0 6 13 14 15 -0 7 8 9 10 -0 7 8 9 11 -0 7 8 9 12 -0 7 8 9 13 -0 7 8 9 14 -0 7 8 9 15 -0 7 8 10 11 -0 7 8 10 12 -0 7 8 10 13 -0 7 8 10 14 -0 7 8 10 15 -0 7 8 11 12 -0 7 8 11 13 -0 7 8 11 14 -0 7 8 11 15 -0 7 8 12 13 -0 7 8 12 14 -0 7 8 12 15 -0 7 8 13 14 -0 7 8 13 15 -0 7 8 14 15 -0 7 9 10 11 -0 7 9 10 12 -0 7 9 10 13 -0 7 9 10 14 -0 7 9 10 15 -0 7 9 11 12 -0 7 9 11 13 -0 7 9 11 14 -0 7 9 11 15 -0 7 9 12 13 -0 7 9 12 14 -0 7 9 12 15 -0 7 9 13 14 -0 7 9 13 15 -0 7 9 14 15 -0 7 10 11 12 -0 7 10 11 13 -0 7 10 11 14 -0 7 10 11 15 -0 7 10 12 13 -0 7 10 12 14 -0 7 10 12 15 -0 7 10 13 14 -0 7 10 13 15 -0 7 10 14 15 -0 7 11 12 13 -0 7 11 12 14 -0 7 11 12 15 -0 7 11 13 14 -0 7 11 13 15 -0 7 11 14 15 -0 7 12 13 14 -0 7 12 13 15 -0 7 12 14 15 -0 7 13 14 15 -0 8 9 10 11 -0 8 9 10 12 -0 8 9 10 13 -0 8 9 10 14 -0 8 9 10 15 -0 8 9 11 12 -0 8 9 11 13 -0 8 9 11 14 -0 8 9 11 15 -0 8 9 12 13 -0 8 9 12 14 -0 8 9 12 15 -0 8 9 13 14 -0 8 9 13 15 -0 8 9 14 15 -0 8 10 11 12 -0 8 10 11 13 -0 8 10 11 14 -0 8 10 11 15 -0 8 10 12 13 -0 8 10 12 14 -0 8 10 12 15 -0 8 10 13 14 -0 8 10 13 15 -0 8 10 14 15 -0 8 11 12 13 -0 8 11 12 14 -0 8 11 12 15 -0 8 11 13 14 -0 8 11 13 15 -0 8 11 14 15 -0 8 12 13 14 -0 8 12 13 15 -0 8 12 14 15 -0 8 13 14 15 -0 9 10 11 12 -0 9 10 11 13 -0 9 10 11 14 -0 9 10 11 15 -0 9 10 12 13 -0 9 10 12 14 -0 9 10 12 15 -0 9 10 13 14 -0 9 10 13 15 -0 9 10 14 15 -0 9 11 12 13 -0 9 11 12 14 -0 9 11 12 15 -0 9 11 13 14 -0 9 11 13 15 -0 9 11 14 15 -0 9 12 13 14 -0 9 12 13 15 -0 9 12 14 15 -0 9 13 14 15 -0 10 11 12 13 -0 10 11 12 14 -0 10 11 12 15 -0 10 11 13 14 -0 10 11 13 15 -0 10 11 14 15 -0 10 12 13 14 -0 10 12 13 15 -0 10 12 14 15 -0 10 13 14 15 -0 11 12 13 14 -0 11 12 13 15 -0 11 12 14 15 -0 11 13 14 15 -0 12 13 14 15 -1 2 3 4 5 -1 2 3 4 6 -1 2 3 4 7 -1 2 3 4 8 -1 2 3 4 9 -1 2 3 4 10 -1 2 3 4 11 -1 2 3 4 12 -1 2 3 4 13 -1 2 3 4 14 -1 2 3 4 15 -1 2 3 5 6 -1 2 3 5 7 -1 2 3 5 8 -1 2 3 5 9 -1 2 3 5 10 -1 2 3 5 11 -1 2 3 5 12 -1 2 3 5 13 -1 2 3 5 14 -1 2 3 5 15 -1 2 3 6 7 -1 2 3 6 8 -1 2 3 6 9 -1 2 3 6 10 -1 2 3 6 11 -1 2 3 6 12 -1 2 3 6 13 -1 2 3 6 14 -1 2 3 6 15 -1 2 3 7 8 -1 2 3 7 9 -1 2 3 7 10 -1 2 3 7 11 -1 2 3 7 12 -1 2 3 7 13 -1 2 3 7 14 -1 2 3 7 15 -1 2 3 8 9 -1 2 3 8 10 -1 2 3 8 11 -1 2 3 8 12 -1 2 3 8 13 -1 2 3 8 14 -1 2 3 8 15 -1 2 3 9 10 -1 2 3 9 11 -1 2 3 9 12 -1 2 3 9 13 -1 2 3 9 14 -1 2 3 9 15 -1 2 3 10 11 -1 2 3 10 12 -1 2 3 10 13 -1 2 3 10 14 -1 2 3 10 15 -1 2 3 11 12 -1 2 3 11 13 -1 2 3 11 14 -1 2 3 11 15 -1 2 3 12 13 -1 2 3 12 14 -1 2 3 12 15 -1 2 3 13 14 -1 2 3 13 15 -1 2 3 14 15 -1 2 4 5 6 -1 2 4 5 7 -1 2 4 5 8 -1 2 4 5 9 -1 2 4 5 10 -1 2 4 5 11 -1 2 4 5 12 -1 2 4 5 13 -1 2 4 5 14 -1 2 4 5 15 -1 2 4 6 7 -1 2 4 6 8 -1 2 4 6 9 -1 2 4 6 10 -1 2 4 6 11 -1 2 4 6 12 -1 2 4 6 13 -1 2 4 6 14 -1 2 4 6 15 -1 2 4 7 8 -1 2 4 7 9 -1 2 4 7 10 -1 2 4 7 11 -1 2 4 7 12 -1 2 4 7 13 -1 2 4 7 14 -1 2 4 7 15 -1 2 4 8 9 -1 2 4 8 10 -1 2 4 8 11 -1 2 4 8 12 -1 2 4 8 13 -1 2 4 8 14 -1 2 4 8 15 -1 2 4 9 10 -1 2 4 9 11 -1 2 4 9 12 -1 2 4 9 13 -1 2 4 9 14 -1 2 4 9 15 -1 2 4 10 11 -1 2 4 10 12 -1 2 4 10 13 -1 2 4 10 14 -1 2 4 10 15 -1 2 4 11 12 -1 2 4 11 13 -1 2 4 11 14 -1 2 4 11 15 -1 2 4 12 13 -1 2 4 12 14 -1 2 4 12 15 -1 2 4 13 14 -1 2 4 13 15 -1 2 4 14 15 -1 2 5 6 7 -1 2 5 6 8 -1 2 5 6 9 -1 2 5 6 10 -1 2 5 6 11 -1 2 5 6 12 -1 2 5 6 13 -1 2 5 6 14 -1 2 5 6 15 -1 2 5 7 8 -1 2 5 7 9 -1 2 5 7 10 -1 2 5 7 11 -1 2 5 7 12 -1 2 5 7 13 -1 2 5 7 14 -1 2 5 7 15 -1 2 5 8 9 -1 2 5 8 10 -1 2 5 8 11 -1 2 5 8 12 -1 2 5 8 13 -1 2 5 8 14 -1 2 5 8 15 -1 2 5 9 10 -1 2 5 9 11 -1 2 5 9 12 -1 2 5 9 13 -1 2 5 9 14 -1 2 5 9 15 -1 2 5 10 11 -1 2 5 10 12 -1 2 5 10 13 -1 2 5 10 14 -1 2 5 10 15 -1 2 5 11 12 -1 2 5 11 13 -1 2 5 11 14 -1 2 5 11 15 -1 2 5 12 13 -1 2 5 12 14 -1 2 5 12 15 -1 2 5 13 14 -1 2 5 13 15 -1 2 5 14 15 -1 2 6 7 8 -1 2 6 7 9 -1 2 6 7 10 -1 2 6 7 11 -1 2 6 7 12 -1 2 6 7 13 -1 2 6 7 14 -1 2 6 7 15 -1 2 6 8 9 -1 2 6 8 10 -1 2 6 8 11 -1 2 6 8 12 -1 2 6 8 13 -1 2 6 8 14 -1 2 6 8 15 -1 2 6 9 10 -1 2 6 9 11 -1 2 6 9 12 -1 2 6 9 13 -1 2 6 9 14 -1 2 6 9 15 -1 2 6 10 11 -1 2 6 10 12 -1 2 6 10 13 -1 2 6 10 14 -1 2 6 10 15 -1 2 6 11 12 -1 2 6 11 13 -1 2 6 11 14 -1 2 6 11 15 -1 2 6 12 13 -1 2 6 12 14 -1 2 6 12 15 -1 2 6 13 14 -1 2 6 13 15 -1 2 6 14 15 -1 2 7 8 9 -1 2 7 8 10 -1 2 7 8 11 -1 2 7 8 12 -1 2 7 8 13 -1 2 7 8 14 -1 2 7 8 15 -1 2 7 9 10 -1 2 7 9 11 -1 2 7 9 12 -1 2 7 9 13 -1 2 7 9 14 -1 2 7 9 15 -1 2 7 10 11 -1 2 7 10 12 -1 2 7 10 13 -1 2 7 10 14 -1 2 7 10 15 -1 2 7 11 12 -1 2 7 11 13 -1 2 7 11 14 -1 2 7 11 15 -1 2 7 12 13 -1 2 7 12 14 -1 2 7 12 15 -1 2 7 13 14 -1 2 7 13 15 -1 2 7 14 15 -1 2 8 9 10 -1 2 8 9 11 -1 2 8 9 12 -1 2 8 9 13 -1 2 8 9 14 -1 2 8 9 15 -1 2 8 10 11 -1 2 8 10 12 -1 2 8 10 13 -1 2 8 10 14 -1 2 8 10 15 -1 2 8 11 12 -1 2 8 11 13 -1 2 8 11 14 -1 2 8 11 15 -1 2 8 12 13 -1 2 8 12 14 -1 2 8 12 15 -1 2 8 13 14 -1 2 8 13 15 -1 2 8 14 15 -1 2 9 10 11 -1 2 9 10 12 -1 2 9 10 13 -1 2 9 10 14 -1 2 9 10 15 -1 2 9 11 12 -1 2 9 11 13 -1 2 9 11 14 -1 2 9 11 15 -1 2 9 12 13 -1 2 9 12 14 -1 2 9 12 15 -1 2 9 13 14 -1 2 9 13 15 -1 2 9 14 15 -1 2 10 11 12 -1 2 10 11 13 -1 2 10 11 14 -1 2 10 11 15 -1 2 10 12 13 -1 2 10 12 14 -1 2 10 12 15 -1 2 10 13 14 -1 2 10 13 15 -1 2 10 14 15 -1 2 11 12 13 -1 2 11 12 14 -1 2 11 12 15 -1 2 11 13 14 -1 2 11 13 15 -1 2 11 14 15 -1 2 12 13 14 -1 2 12 13 15 -1 2 12 14 15 -1 2 13 14 15 -1 3 4 5 6 -1 3 4 5 7 -1 3 4 5 8 -1 3 4 5 9 -1 3 4 5 10 -1 3 4 5 11 -1 3 4 5 12 -1 3 4 5 13 -1 3 4 5 14 -1 3 4 5 15 -1 3 4 6 7 -1 3 4 6 8 -1 3 4 6 9 -1 3 4 6 10 -1 3 4 6 11 -1 3 4 6 12 -1 3 4 6 13 -1 3 4 6 14 -1 3 4 6 15 -1 3 4 7 8 -1 3 4 7 9 -1 3 4 7 10 -1 3 4 7 11 -1 3 4 7 12 -1 3 4 7 13 -1 3 4 7 14 -1 3 4 7 15 -1 3 4 8 9 -1 3 4 8 10 -1 3 4 8 11 -1 3 4 8 12 -1 3 4 8 13 -1 3 4 8 14 -1 3 4 8 15 -1 3 4 9 10 -1 3 4 9 11 -1 3 4 9 12 -1 3 4 9 13 -1 3 4 9 14 -1 3 4 9 15 -1 3 4 10 11 -1 3 4 10 12 -1 3 4 10 13 -1 3 4 10 14 -1 3 4 10 15 -1 3 4 11 12 -1 3 4 11 13 -1 3 4 11 14 -1 3 4 11 15 -1 3 4 12 13 -1 3 4 12 14 -1 3 4 12 15 -1 3 4 13 14 -1 3 4 13 15 -1 3 4 14 15 -1 3 5 6 7 -1 3 5 6 8 -1 3 5 6 9 -1 3 5 6 10 -1 3 5 6 11 -1 3 5 6 12 -1 3 5 6 13 -1 3 5 6 14 -1 3 5 6 15 -1 3 5 7 8 -1 3 5 7 9 -1 3 5 7 10 -1 3 5 7 11 -1 3 5 7 12 -1 3 5 7 13 -1 3 5 7 14 -1 3 5 7 15 -1 3 5 8 9 -1 3 5 8 10 -1 3 5 8 11 -1 3 5 8 12 -1 3 5 8 13 -1 3 5 8 14 -1 3 5 8 15 -1 3 5 9 10 -1 3 5 9 11 -1 3 5 9 12 -1 3 5 9 13 -1 3 5 9 14 -1 3 5 9 15 -1 3 5 10 11 -1 3 5 10 12 -1 3 5 10 13 -1 3 5 10 14 -1 3 5 10 15 -1 3 5 11 12 -1 3 5 11 13 -1 3 5 11 14 -1 3 5 11 15 -1 3 5 12 13 -1 3 5 12 14 -1 3 5 12 15 -1 3 5 13 14 -1 3 5 13 15 -1 3 5 14 15 -1 3 6 7 8 -1 3 6 7 9 -1 3 6 7 10 -1 3 6 7 11 -1 3 6 7 12 -1 3 6 7 13 -1 3 6 7 14 -1 3 6 7 15 -1 3 6 8 9 -1 3 6 8 10 -1 3 6 8 11 -1 3 6 8 12 -1 3 6 8 13 -1 3 6 8 14 -1 3 6 8 15 -1 3 6 9 10 -1 3 6 9 11 -1 3 6 9 12 -1 3 6 9 13 -1 3 6 9 14 -1 3 6 9 15 -1 3 6 10 11 -1 3 6 10 12 -1 3 6 10 13 -1 3 6 10 14 -1 3 6 10 15 -1 3 6 11 12 -1 3 6 11 13 -1 3 6 11 14 -1 3 6 11 15 -1 3 6 12 13 -1 3 6 12 14 -1 3 6 12 15 -1 3 6 13 14 -1 3 6 13 15 -1 3 6 14 15 -1 3 7 8 9 -1 3 7 8 10 -1 3 7 8 11 -1 3 7 8 12 -1 3 7 8 13 -1 3 7 8 14 -1 3 7 8 15 -1 3 7 9 10 -1 3 7 9 11 -1 3 7 9 12 -1 3 7 9 13 -1 3 7 9 14 -1 3 7 9 15 -1 3 7 10 11 -1 3 7 10 12 -1 3 7 10 13 -1 3 7 10 14 -1 3 7 10 15 -1 3 7 11 12 -1 3 7 11 13 -1 3 7 11 14 -1 3 7 11 15 -1 3 7 12 13 -1 3 7 12 14 -1 3 7 12 15 -1 3 7 13 14 -1 3 7 13 15 -1 3 7 14 15 -1 3 8 9 10 -1 3 8 9 11 -1 3 8 9 12 -1 3 8 9 13 -1 3 8 9 14 -1 3 8 9 15 -1 3 8 10 11 -1 3 8 10 12 -1 3 8 10 13 -1 3 8 10 14 -1 3 8 10 15 -1 3 8 11 12 -1 3 8 11 13 -1 3 8 11 14 -1 3 8 11 15 -1 3 8 12 13 -1 3 8 12 14 -1 3 8 12 15 -1 3 8 13 14 -1 3 8 13 15 -1 3 8 14 15 -1 3 9 10 11 -1 3 9 10 12 -1 3 9 10 13 -1 3 9 10 14 -1 3 9 10 15 -1 3 9 11 12 -1 3 9 11 13 -1 3 9 11 14 -1 3 9 11 15 -1 3 9 12 13 -1 3 9 12 14 -1 3 9 12 15 -1 3 9 13 14 -1 3 9 13 15 -1 3 9 14 15 -1 3 10 11 12 -1 3 10 11 13 -1 3 10 11 14 -1 3 10 11 15 -1 3 10 12 13 -1 3 10 12 14 -1 3 10 12 15 -1 3 10 13 14 -1 3 10 13 15 -1 3 10 14 15 -1 3 11 12 13 -1 3 11 12 14 -1 3 11 12 15 -1 3 11 13 14 -1 3 11 13 15 -1 3 11 14 15 -1 3 12 13 14 -1 3 12 13 15 -1 3 12 14 15 -1 3 13 14 15 -1 4 5 6 7 -1 4 5 6 8 -1 4 5 6 9 -1 4 5 6 10 -1 4 5 6 11 -1 4 5 6 12 -1 4 5 6 13 -1 4 5 6 14 -1 4 5 6 15 -1 4 5 7 8 -1 4 5 7 9 -1 4 5 7 10 -1 4 5 7 11 -1 4 5 7 12 -1 4 5 7 13 -1 4 5 7 14 -1 4 5 7 15 -1 4 5 8 9 -1 4 5 8 10 -1 4 5 8 11 -1 4 5 8 12 -1 4 5 8 13 -1 4 5 8 14 -1 4 5 8 15 -1 4 5 9 10 -1 4 5 9 11 -1 4 5 9 12 -1 4 5 9 13 -1 4 5 9 14 -1 4 5 9 15 -1 4 5 10 11 -1 4 5 10 12 -1 4 5 10 13 -1 4 5 10 14 -1 4 5 10 15 -1 4 5 11 12 -1 4 5 11 13 -1 4 5 11 14 -1 4 5 11 15 -1 4 5 12 13 -1 4 5 12 14 -1 4 5 12 15 -1 4 5 13 14 -1 4 5 13 15 -1 4 5 14 15 -1 4 6 7 8 -1 4 6 7 9 -1 4 6 7 10 -1 4 6 7 11 -1 4 6 7 12 -1 4 6 7 13 -1 4 6 7 14 -1 4 6 7 15 -1 4 6 8 9 -1 4 6 8 10 -1 4 6 8 11 -1 4 6 8 12 -1 4 6 8 13 -1 4 6 8 14 -1 4 6 8 15 -1 4 6 9 10 -1 4 6 9 11 -1 4 6 9 12 -1 4 6 9 13 -1 4 6 9 14 -1 4 6 9 15 -1 4 6 10 11 -1 4 6 10 12 -1 4 6 10 13 -1 4 6 10 14 -1 4 6 10 15 -1 4 6 11 12 -1 4 6 11 13 -1 4 6 11 14 -1 4 6 11 15 -1 4 6 12 13 -1 4 6 12 14 -1 4 6 12 15 -1 4 6 13 14 -1 4 6 13 15 -1 4 6 14 15 -1 4 7 8 9 -1 4 7 8 10 -1 4 7 8 11 -1 4 7 8 12 -1 4 7 8 13 -1 4 7 8 14 -1 4 7 8 15 -1 4 7 9 10 -1 4 7 9 11 -1 4 7 9 12 -1 4 7 9 13 -1 4 7 9 14 -1 4 7 9 15 -1 4 7 10 11 -1 4 7 10 12 -1 4 7 10 13 -1 4 7 10 14 -1 4 7 10 15 -1 4 7 11 12 -1 4 7 11 13 -1 4 7 11 14 -1 4 7 11 15 -1 4 7 12 13 -1 4 7 12 14 -1 4 7 12 15 -1 4 7 13 14 -1 4 7 13 15 -1 4 7 14 15 -1 4 8 9 10 -1 4 8 9 11 -1 4 8 9 12 -1 4 8 9 13 -1 4 8 9 14 -1 4 8 9 15 -1 4 8 10 11 -1 4 8 10 12 -1 4 8 10 13 -1 4 8 10 14 -1 4 8 10 15 -1 4 8 11 12 -1 4 8 11 13 -1 4 8 11 14 -1 4 8 11 15 -1 4 8 12 13 -1 4 8 12 14 -1 4 8 12 15 -1 4 8 13 14 -1 4 8 13 15 -1 4 8 14 15 -1 4 9 10 11 -1 4 9 10 12 -1 4 9 10 13 -1 4 9 10 14 -1 4 9 10 15 -1 4 9 11 12 -1 4 9 11 13 -1 4 9 11 14 -1 4 9 11 15 -1 4 9 12 13 -1 4 9 12 14 -1 4 9 12 15 -1 4 9 13 14 -1 4 9 13 15 -1 4 9 14 15 -1 4 10 11 12 -1 4 10 11 13 -1 4 10 11 14 -1 4 10 11 15 -1 4 10 12 13 -1 4 10 12 14 -1 4 10 12 15 -1 4 10 13 14 -1 4 10 13 15 -1 4 10 14 15 -1 4 11 12 13 -1 4 11 12 14 -1 4 11 12 15 -1 4 11 13 14 -1 4 11 13 15 -1 4 11 14 15 -1 4 12 13 14 -1 4 12 13 15 -1 4 12 14 15 -1 4 13 14 15 -1 5 6 7 8 -1 5 6 7 9 -1 5 6 7 10 -1 5 6 7 11 -1 5 6 7 12 -1 5 6 7 13 -1 5 6 7 14 -1 5 6 7 15 -1 5 6 8 9 -1 5 6 8 10 -1 5 6 8 11 -1 5 6 8 12 -1 5 6 8 13 -1 5 6 8 14 -1 5 6 8 15 -1 5 6 9 10 -1 5 6 9 11 -1 5 6 9 12 -1 5 6 9 13 -1 5 6 9 14 -1 5 6 9 15 -1 5 6 10 11 -1 5 6 10 12 -1 5 6 10 13 -1 5 6 10 14 -1 5 6 10 15 -1 5 6 11 12 -1 5 6 11 13 -1 5 6 11 14 -1 5 6 11 15 -1 5 6 12 13 -1 5 6 12 14 -1 5 6 12 15 -1 5 6 13 14 -1 5 6 13 15 -1 5 6 14 15 -1 5 7 8 9 -1 5 7 8 10 -1 5 7 8 11 -1 5 7 8 12 -1 5 7 8 13 -1 5 7 8 14 -1 5 7 8 15 -1 5 7 9 10 -1 5 7 9 11 -1 5 7 9 12 -1 5 7 9 13 -1 5 7 9 14 -1 5 7 9 15 -1 5 7 10 11 -1 5 7 10 12 -1 5 7 10 13 -1 5 7 10 14 -1 5 7 10 15 -1 5 7 11 12 -1 5 7 11 13 -1 5 7 11 14 -1 5 7 11 15 -1 5 7 12 13 -1 5 7 12 14 -1 5 7 12 15 -1 5 7 13 14 -1 5 7 13 15 -1 5 7 14 15 -1 5 8 9 10 -1 5 8 9 11 -1 5 8 9 12 -1 5 8 9 13 -1 5 8 9 14 -1 5 8 9 15 -1 5 8 10 11 -1 5 8 10 12 -1 5 8 10 13 -1 5 8 10 14 -1 5 8 10 15 -1 5 8 11 12 -1 5 8 11 13 -1 5 8 11 14 -1 5 8 11 15 -1 5 8 12 13 -1 5 8 12 14 -1 5 8 12 15 -1 5 8 13 14 -1 5 8 13 15 -1 5 8 14 15 -1 5 9 10 11 -1 5 9 10 12 -1 5 9 10 13 -1 5 9 10 14 -1 5 9 10 15 -1 5 9 11 12 -1 5 9 11 13 -1 5 9 11 14 -1 5 9 11 15 -1 5 9 12 13 -1 5 9 12 14 -1 5 9 12 15 -1 5 9 13 14 -1 5 9 13 15 -1 5 9 14 15 -1 5 10 11 12 -1 5 10 11 13 -1 5 10 11 14 -1 5 10 11 15 -1 5 10 12 13 -1 5 10 12 14 -1 5 10 12 15 -1 5 10 13 14 -1 5 10 13 15 -1 5 10 14 15 -1 5 11 12 13 -1 5 11 12 14 -1 5 11 12 15 -1 5 11 13 14 -1 5 11 13 15 -1 5 11 14 15 -1 5 12 13 14 -1 5 12 13 15 -1 5 12 14 15 -1 5 13 14 15 -1 6 7 8 9 -1 6 7 8 10 -1 6 7 8 11 -1 6 7 8 12 -1 6 7 8 13 -1 6 7 8 14 -1 6 7 8 15 -1 6 7 9 10 -1 6 7 9 11 -1 6 7 9 12 -1 6 7 9 13 -1 6 7 9 14 -1 6 7 9 15 -1 6 7 10 11 -1 6 7 10 12 -1 6 7 10 13 -1 6 7 10 14 -1 6 7 10 15 -1 6 7 11 12 -1 6 7 11 13 -1 6 7 11 14 -1 6 7 11 15 -1 6 7 12 13 -1 6 7 12 14 -1 6 7 12 15 -1 6 7 13 14 -1 6 7 13 15 -1 6 7 14 15 -1 6 8 9 10 -1 6 8 9 11 -1 6 8 9 12 -1 6 8 9 13 -1 6 8 9 14 -1 6 8 9 15 -1 6 8 10 11 -1 6 8 10 12 -1 6 8 10 13 -1 6 8 10 14 -1 6 8 10 15 -1 6 8 11 12 -1 6 8 11 13 -1 6 8 11 14 -1 6 8 11 15 -1 6 8 12 13 -1 6 8 12 14 -1 6 8 12 15 -1 6 8 13 14 -1 6 8 13 15 -1 6 8 14 15 -1 6 9 10 11 -1 6 9 10 12 -1 6 9 10 13 -1 6 9 10 14 -1 6 9 10 15 -1 6 9 11 12 -1 6 9 11 13 -1 6 9 11 14 -1 6 9 11 15 -1 6 9 12 13 -1 6 9 12 14 -1 6 9 12 15 -1 6 9 13 14 -1 6 9 13 15 -1 6 9 14 15 -1 6 10 11 12 -1 6 10 11 13 -1 6 10 11 14 -1 6 10 11 15 -1 6 10 12 13 -1 6 10 12 14 -1 6 10 12 15 -1 6 10 13 14 -1 6 10 13 15 -1 6 10 14 15 -1 6 11 12 13 -1 6 11 12 14 -1 6 11 12 15 -1 6 11 13 14 -1 6 11 13 15 -1 6 11 14 15 -1 6 12 13 14 -1 6 12 13 15 -1 6 12 14 15 -1 6 13 14 15 -1 7 8 9 10 -1 7 8 9 11 -1 7 8 9 12 -1 7 8 9 13 -1 7 8 9 14 -1 7 8 9 15 -1 7 8 10 11 -1 7 8 10 12 -1 7 8 10 13 -1 7 8 10 14 -1 7 8 10 15 -1 7 8 11 12 -1 7 8 11 13 -1 7 8 11 14 -1 7 8 11 15 -1 7 8 12 13 -1 7 8 12 14 -1 7 8 12 15 -1 7 8 13 14 -1 7 8 13 15 -1 7 8 14 15 -1 7 9 10 11 -1 7 9 10 12 -1 7 9 10 13 -1 7 9 10 14 -1 7 9 10 15 -1 7 9 11 12 -1 7 9 11 13 -1 7 9 11 14 -1 7 9 11 15 -1 7 9 12 13 -1 7 9 12 14 -1 7 9 12 15 -1 7 9 13 14 -1 7 9 13 15 -1 7 9 14 15 -1 7 10 11 12 -1 7 10 11 13 -1 7 10 11 14 -1 7 10 11 15 -1 7 10 12 13 -1 7 10 12 14 -1 7 10 12 15 -1 7 10 13 14 -1 7 10 13 15 -1 7 10 14 15 -1 7 11 12 13 -1 7 11 12 14 -1 7 11 12 15 -1 7 11 13 14 -1 7 11 13 15 -1 7 11 14 15 -1 7 12 13 14 -1 7 12 13 15 -1 7 12 14 15 -1 7 13 14 15 -1 8 9 10 11 -1 8 9 10 12 -1 8 9 10 13 -1 8 9 10 14 -1 8 9 10 15 -1 8 9 11 12 -1 8 9 11 13 -1 8 9 11 14 -1 8 9 11 15 -1 8 9 12 13 -1 8 9 12 14 -1 8 9 12 15 -1 8 9 13 14 -1 8 9 13 15 -1 8 9 14 15 -1 8 10 11 12 -1 8 10 11 13 -1 8 10 11 14 -1 8 10 11 15 -1 8 10 12 13 -1 8 10 12 14 -1 8 10 12 15 -1 8 10 13 14 -1 8 10 13 15 -1 8 10 14 15 -1 8 11 12 13 -1 8 11 12 14 -1 8 11 12 15 -1 8 11 13 14 -1 8 11 13 15 -1 8 11 14 15 -1 8 12 13 14 -1 8 12 13 15 -1 8 12 14 15 -1 8 13 14 15 -1 9 10 11 12 -1 9 10 11 13 -1 9 10 11 14 -1 9 10 11 15 -1 9 10 12 13 -1 9 10 12 14 -1 9 10 12 15 -1 9 10 13 14 -1 9 10 13 15 -1 9 10 14 15 -1 9 11 12 13 -1 9 11 12 14 -1 9 11 12 15 -1 9 11 13 14 -1 9 11 13 15 -1 9 11 14 15 -1 9 12 13 14 -1 9 12 13 15 -1 9 12 14 15 -1 9 13 14 15 -1 10 11 12 13 -1 10 11 12 14 -1 10 11 12 15 -1 10 11 13 14 -1 10 11 13 15 -1 10 11 14 15 -1 10 12 13 14 -1 10 12 13 15 -1 10 12 14 15 -1 10 13 14 15 -1 11 12 13 14 -1 11 12 13 15 -1 11 12 14 15 -1 11 13 14 15 -1 12 13 14 15 -2 3 4 5 6 -2 3 4 5 7 -2 3 4 5 8 -2 3 4 5 9 -2 3 4 5 10 -2 3 4 5 11 -2 3 4 5 12 -2 3 4 5 13 -2 3 4 5 14 -2 3 4 5 15 -2 3 4 6 7 -2 3 4 6 8 -2 3 4 6 9 -2 3 4 6 10 -2 3 4 6 11 -2 3 4 6 12 -2 3 4 6 13 -2 3 4 6 14 -2 3 4 6 15 -2 3 4 7 8 -2 3 4 7 9 -2 3 4 7 10 -2 3 4 7 11 -2 3 4 7 12 -2 3 4 7 13 -2 3 4 7 14 -2 3 4 7 15 -2 3 4 8 9 -2 3 4 8 10 -2 3 4 8 11 -2 3 4 8 12 -2 3 4 8 13 -2 3 4 8 14 -2 3 4 8 15 -2 3 4 9 10 -2 3 4 9 11 -2 3 4 9 12 -2 3 4 9 13 -2 3 4 9 14 -2 3 4 9 15 -2 3 4 10 11 -2 3 4 10 12 -2 3 4 10 13 -2 3 4 10 14 -2 3 4 10 15 -2 3 4 11 12 -2 3 4 11 13 -2 3 4 11 14 -2 3 4 11 15 -2 3 4 12 13 -2 3 4 12 14 -2 3 4 12 15 -2 3 4 13 14 -2 3 4 13 15 -2 3 4 14 15 -2 3 5 6 7 -2 3 5 6 8 -2 3 5 6 9 -2 3 5 6 10 -2 3 5 6 11 -2 3 5 6 12 -2 3 5 6 13 -2 3 5 6 14 -2 3 5 6 15 -2 3 5 7 8 -2 3 5 7 9 -2 3 5 7 10 -2 3 5 7 11 -2 3 5 7 12 -2 3 5 7 13 -2 3 5 7 14 -2 3 5 7 15 -2 3 5 8 9 -2 3 5 8 10 -2 3 5 8 11 -2 3 5 8 12 -2 3 5 8 13 -2 3 5 8 14 -2 3 5 8 15 -2 3 5 9 10 -2 3 5 9 11 -2 3 5 9 12 -2 3 5 9 13 -2 3 5 9 14 -2 3 5 9 15 -2 3 5 10 11 -2 3 5 10 12 -2 3 5 10 13 -2 3 5 10 14 -2 3 5 10 15 -2 3 5 11 12 -2 3 5 11 13 -2 3 5 11 14 -2 3 5 11 15 -2 3 5 12 13 -2 3 5 12 14 -2 3 5 12 15 -2 3 5 13 14 -2 3 5 13 15 -2 3 5 14 15 -2 3 6 7 8 -2 3 6 7 9 -2 3 6 7 10 -2 3 6 7 11 -2 3 6 7 12 -2 3 6 7 13 -2 3 6 7 14 -2 3 6 7 15 -2 3 6 8 9 -2 3 6 8 10 -2 3 6 8 11 -2 3 6 8 12 -2 3 6 8 13 -2 3 6 8 14 -2 3 6 8 15 -2 3 6 9 10 -2 3 6 9 11 -2 3 6 9 12 -2 3 6 9 13 -2 3 6 9 14 -2 3 6 9 15 -2 3 6 10 11 -2 3 6 10 12 -2 3 6 10 13 -2 3 6 10 14 -2 3 6 10 15 -2 3 6 11 12 -2 3 6 11 13 -2 3 6 11 14 -2 3 6 11 15 -2 3 6 12 13 -2 3 6 12 14 -2 3 6 12 15 -2 3 6 13 14 -2 3 6 13 15 -2 3 6 14 15 -2 3 7 8 9 -2 3 7 8 10 -2 3 7 8 11 -2 3 7 8 12 -2 3 7 8 13 -2 3 7 8 14 -2 3 7 8 15 -2 3 7 9 10 -2 3 7 9 11 -2 3 7 9 12 -2 3 7 9 13 -2 3 7 9 14 -2 3 7 9 15 -2 3 7 10 11 -2 3 7 10 12 -2 3 7 10 13 -2 3 7 10 14 -2 3 7 10 15 -2 3 7 11 12 -2 3 7 11 13 -2 3 7 11 14 -2 3 7 11 15 -2 3 7 12 13 -2 3 7 12 14 -2 3 7 12 15 -2 3 7 13 14 -2 3 7 13 15 -2 3 7 14 15 -2 3 8 9 10 -2 3 8 9 11 -2 3 8 9 12 -2 3 8 9 13 -2 3 8 9 14 -2 3 8 9 15 -2 3 8 10 11 -2 3 8 10 12 -2 3 8 10 13 -2 3 8 10 14 -2 3 8 10 15 -2 3 8 11 12 -2 3 8 11 13 -2 3 8 11 14 -2 3 8 11 15 -2 3 8 12 13 -2 3 8 12 14 -2 3 8 12 15 -2 3 8 13 14 -2 3 8 13 15 -2 3 8 14 15 -2 3 9 10 11 -2 3 9 10 12 -2 3 9 10 13 -2 3 9 10 14 -2 3 9 10 15 -2 3 9 11 12 -2 3 9 11 13 -2 3 9 11 14 -2 3 9 11 15 -2 3 9 12 13 -2 3 9 12 14 -2 3 9 12 15 -2 3 9 13 14 -2 3 9 13 15 -2 3 9 14 15 -2 3 10 11 12 -2 3 10 11 13 -2 3 10 11 14 -2 3 10 11 15 -2 3 10 12 13 -2 3 10 12 14 -2 3 10 12 15 -2 3 10 13 14 -2 3 10 13 15 -2 3 10 14 15 -2 3 11 12 13 -2 3 11 12 14 -2 3 11 12 15 -2 3 11 13 14 -2 3 11 13 15 -2 3 11 14 15 -2 3 12 13 14 -2 3 12 13 15 -2 3 12 14 15 -2 3 13 14 15 -2 4 5 6 7 -2 4 5 6 8 -2 4 5 6 9 -2 4 5 6 10 -2 4 5 6 11 -2 4 5 6 12 -2 4 5 6 13 -2 4 5 6 14 -2 4 5 6 15 -2 4 5 7 8 -2 4 5 7 9 -2 4 5 7 10 -2 4 5 7 11 -2 4 5 7 12 -2 4 5 7 13 -2 4 5 7 14 -2 4 5 7 15 -2 4 5 8 9 -2 4 5 8 10 -2 4 5 8 11 -2 4 5 8 12 -2 4 5 8 13 -2 4 5 8 14 -2 4 5 8 15 -2 4 5 9 10 -2 4 5 9 11 -2 4 5 9 12 -2 4 5 9 13 -2 4 5 9 14 -2 4 5 9 15 -2 4 5 10 11 -2 4 5 10 12 -2 4 5 10 13 -2 4 5 10 14 -2 4 5 10 15 -2 4 5 11 12 -2 4 5 11 13 -2 4 5 11 14 -2 4 5 11 15 -2 4 5 12 13 -2 4 5 12 14 -2 4 5 12 15 -2 4 5 13 14 -2 4 5 13 15 -2 4 5 14 15 -2 4 6 7 8 -2 4 6 7 9 -2 4 6 7 10 -2 4 6 7 11 -2 4 6 7 12 -2 4 6 7 13 -2 4 6 7 14 -2 4 6 7 15 -2 4 6 8 9 -2 4 6 8 10 -2 4 6 8 11 -2 4 6 8 12 -2 4 6 8 13 -2 4 6 8 14 -2 4 6 8 15 -2 4 6 9 10 -2 4 6 9 11 -2 4 6 9 12 -2 4 6 9 13 -2 4 6 9 14 -2 4 6 9 15 -2 4 6 10 11 -2 4 6 10 12 -2 4 6 10 13 -2 4 6 10 14 -2 4 6 10 15 -2 4 6 11 12 -2 4 6 11 13 -2 4 6 11 14 -2 4 6 11 15 -2 4 6 12 13 -2 4 6 12 14 -2 4 6 12 15 -2 4 6 13 14 -2 4 6 13 15 -2 4 6 14 15 -2 4 7 8 9 -2 4 7 8 10 -2 4 7 8 11 -2 4 7 8 12 -2 4 7 8 13 -2 4 7 8 14 -2 4 7 8 15 -2 4 7 9 10 -2 4 7 9 11 -2 4 7 9 12 -2 4 7 9 13 -2 4 7 9 14 -2 4 7 9 15 -2 4 7 10 11 -2 4 7 10 12 -2 4 7 10 13 -2 4 7 10 14 -2 4 7 10 15 -2 4 7 11 12 -2 4 7 11 13 -2 4 7 11 14 -2 4 7 11 15 -2 4 7 12 13 -2 4 7 12 14 -2 4 7 12 15 -2 4 7 13 14 -2 4 7 13 15 -2 4 7 14 15 -2 4 8 9 10 -2 4 8 9 11 -2 4 8 9 12 -2 4 8 9 13 -2 4 8 9 14 -2 4 8 9 15 -2 4 8 10 11 -2 4 8 10 12 -2 4 8 10 13 -2 4 8 10 14 -2 4 8 10 15 -2 4 8 11 12 -2 4 8 11 13 -2 4 8 11 14 -2 4 8 11 15 -2 4 8 12 13 -2 4 8 12 14 -2 4 8 12 15 -2 4 8 13 14 -2 4 8 13 15 -2 4 8 14 15 -2 4 9 10 11 -2 4 9 10 12 -2 4 9 10 13 -2 4 9 10 14 -2 4 9 10 15 -2 4 9 11 12 -2 4 9 11 13 -2 4 9 11 14 -2 4 9 11 15 -2 4 9 12 13 -2 4 9 12 14 -2 4 9 12 15 -2 4 9 13 14 -2 4 9 13 15 -2 4 9 14 15 -2 4 10 11 12 -2 4 10 11 13 -2 4 10 11 14 -2 4 10 11 15 -2 4 10 12 13 -2 4 10 12 14 -2 4 10 12 15 -2 4 10 13 14 -2 4 10 13 15 -2 4 10 14 15 -2 4 11 12 13 -2 4 11 12 14 -2 4 11 12 15 -2 4 11 13 14 -2 4 11 13 15 -2 4 11 14 15 -2 4 12 13 14 -2 4 12 13 15 -2 4 12 14 15 -2 4 13 14 15 -2 5 6 7 8 -2 5 6 7 9 -2 5 6 7 10 -2 5 6 7 11 -2 5 6 7 12 -2 5 6 7 13 -2 5 6 7 14 -2 5 6 7 15 -2 5 6 8 9 -2 5 6 8 10 -2 5 6 8 11 -2 5 6 8 12 -2 5 6 8 13 -2 5 6 8 14 -2 5 6 8 15 -2 5 6 9 10 -2 5 6 9 11 -2 5 6 9 12 -2 5 6 9 13 -2 5 6 9 14 -2 5 6 9 15 -2 5 6 10 11 -2 5 6 10 12 -2 5 6 10 13 -2 5 6 10 14 -2 5 6 10 15 -2 5 6 11 12 -2 5 6 11 13 -2 5 6 11 14 -2 5 6 11 15 -2 5 6 12 13 -2 5 6 12 14 -2 5 6 12 15 -2 5 6 13 14 -2 5 6 13 15 -2 5 6 14 15 -2 5 7 8 9 -2 5 7 8 10 -2 5 7 8 11 -2 5 7 8 12 -2 5 7 8 13 -2 5 7 8 14 -2 5 7 8 15 -2 5 7 9 10 -2 5 7 9 11 -2 5 7 9 12 -2 5 7 9 13 -2 5 7 9 14 -2 5 7 9 15 -2 5 7 10 11 -2 5 7 10 12 -2 5 7 10 13 -2 5 7 10 14 -2 5 7 10 15 -2 5 7 11 12 -2 5 7 11 13 -2 5 7 11 14 -2 5 7 11 15 -2 5 7 12 13 -2 5 7 12 14 -2 5 7 12 15 -2 5 7 13 14 -2 5 7 13 15 -2 5 7 14 15 -2 5 8 9 10 -2 5 8 9 11 -2 5 8 9 12 -2 5 8 9 13 -2 5 8 9 14 -2 5 8 9 15 -2 5 8 10 11 -2 5 8 10 12 -2 5 8 10 13 -2 5 8 10 14 -2 5 8 10 15 -2 5 8 11 12 -2 5 8 11 13 -2 5 8 11 14 -2 5 8 11 15 -2 5 8 12 13 -2 5 8 12 14 -2 5 8 12 15 -2 5 8 13 14 -2 5 8 13 15 -2 5 8 14 15 -2 5 9 10 11 -2 5 9 10 12 -2 5 9 10 13 -2 5 9 10 14 -2 5 9 10 15 -2 5 9 11 12 -2 5 9 11 13 -2 5 9 11 14 -2 5 9 11 15 -2 5 9 12 13 -2 5 9 12 14 -2 5 9 12 15 -2 5 9 13 14 -2 5 9 13 15 -2 5 9 14 15 -2 5 10 11 12 -2 5 10 11 13 -2 5 10 11 14 -2 5 10 11 15 -2 5 10 12 13 -2 5 10 12 14 -2 5 10 12 15 -2 5 10 13 14 -2 5 10 13 15 -2 5 10 14 15 -2 5 11 12 13 -2 5 11 12 14 -2 5 11 12 15 -2 5 11 13 14 -2 5 11 13 15 -2 5 11 14 15 -2 5 12 13 14 -2 5 12 13 15 -2 5 12 14 15 -2 5 13 14 15 -2 6 7 8 9 -2 6 7 8 10 -2 6 7 8 11 -2 6 7 8 12 -2 6 7 8 13 -2 6 7 8 14 -2 6 7 8 15 -2 6 7 9 10 -2 6 7 9 11 -2 6 7 9 12 -2 6 7 9 13 -2 6 7 9 14 -2 6 7 9 15 -2 6 7 10 11 -2 6 7 10 12 -2 6 7 10 13 -2 6 7 10 14 -2 6 7 10 15 -2 6 7 11 12 -2 6 7 11 13 -2 6 7 11 14 -2 6 7 11 15 -2 6 7 12 13 -2 6 7 12 14 -2 6 7 12 15 -2 6 7 13 14 -2 6 7 13 15 -2 6 7 14 15 -2 6 8 9 10 -2 6 8 9 11 -2 6 8 9 12 -2 6 8 9 13 -2 6 8 9 14 -2 6 8 9 15 -2 6 8 10 11 -2 6 8 10 12 -2 6 8 10 13 -2 6 8 10 14 -2 6 8 10 15 -2 6 8 11 12 -2 6 8 11 13 -2 6 8 11 14 -2 6 8 11 15 -2 6 8 12 13 -2 6 8 12 14 -2 6 8 12 15 -2 6 8 13 14 -2 6 8 13 15 -2 6 8 14 15 -2 6 9 10 11 -2 6 9 10 12 -2 6 9 10 13 -2 6 9 10 14 -2 6 9 10 15 -2 6 9 11 12 -2 6 9 11 13 -2 6 9 11 14 -2 6 9 11 15 -2 6 9 12 13 -2 6 9 12 14 -2 6 9 12 15 -2 6 9 13 14 -2 6 9 13 15 -2 6 9 14 15 -2 6 10 11 12 -2 6 10 11 13 -2 6 10 11 14 -2 6 10 11 15 -2 6 10 12 13 -2 6 10 12 14 -2 6 10 12 15 -2 6 10 13 14 -2 6 10 13 15 -2 6 10 14 15 -2 6 11 12 13 -2 6 11 12 14 -2 6 11 12 15 -2 6 11 13 14 -2 6 11 13 15 -2 6 11 14 15 -2 6 12 13 14 -2 6 12 13 15 -2 6 12 14 15 -2 6 13 14 15 -2 7 8 9 10 -2 7 8 9 11 -2 7 8 9 12 -2 7 8 9 13 -2 7 8 9 14 -2 7 8 9 15 -2 7 8 10 11 -2 7 8 10 12 -2 7 8 10 13 -2 7 8 10 14 -2 7 8 10 15 -2 7 8 11 12 -2 7 8 11 13 -2 7 8 11 14 -2 7 8 11 15 -2 7 8 12 13 -2 7 8 12 14 -2 7 8 12 15 -2 7 8 13 14 -2 7 8 13 15 -2 7 8 14 15 -2 7 9 10 11 -2 7 9 10 12 -2 7 9 10 13 -2 7 9 10 14 -2 7 9 10 15 -2 7 9 11 12 -2 7 9 11 13 -2 7 9 11 14 -2 7 9 11 15 -2 7 9 12 13 -2 7 9 12 14 -2 7 9 12 15 -2 7 9 13 14 -2 7 9 13 15 -2 7 9 14 15 -2 7 10 11 12 -2 7 10 11 13 -2 7 10 11 14 -2 7 10 11 15 -2 7 10 12 13 -2 7 10 12 14 -2 7 10 12 15 -2 7 10 13 14 -2 7 10 13 15 -2 7 10 14 15 -2 7 11 12 13 -2 7 11 12 14 -2 7 11 12 15 -2 7 11 13 14 -2 7 11 13 15 -2 7 11 14 15 -2 7 12 13 14 -2 7 12 13 15 -2 7 12 14 15 -2 7 13 14 15 -2 8 9 10 11 -2 8 9 10 12 -2 8 9 10 13 -2 8 9 10 14 -2 8 9 10 15 -2 8 9 11 12 -2 8 9 11 13 -2 8 9 11 14 -2 8 9 11 15 -2 8 9 12 13 -2 8 9 12 14 -2 8 9 12 15 -2 8 9 13 14 -2 8 9 13 15 -2 8 9 14 15 -2 8 10 11 12 -2 8 10 11 13 -2 8 10 11 14 -2 8 10 11 15 -2 8 10 12 13 -2 8 10 12 14 -2 8 10 12 15 -2 8 10 13 14 -2 8 10 13 15 -2 8 10 14 15 -2 8 11 12 13 -2 8 11 12 14 -2 8 11 12 15 -2 8 11 13 14 -2 8 11 13 15 -2 8 11 14 15 -2 8 12 13 14 -2 8 12 13 15 -2 8 12 14 15 -2 8 13 14 15 -2 9 10 11 12 -2 9 10 11 13 -2 9 10 11 14 -2 9 10 11 15 -2 9 10 12 13 -2 9 10 12 14 -2 9 10 12 15 -2 9 10 13 14 -2 9 10 13 15 -2 9 10 14 15 -2 9 11 12 13 -2 9 11 12 14 -2 9 11 12 15 -2 9 11 13 14 -2 9 11 13 15 -2 9 11 14 15 -2 9 12 13 14 -2 9 12 13 15 -2 9 12 14 15 -2 9 13 14 15 -2 10 11 12 13 -2 10 11 12 14 -2 10 11 12 15 -2 10 11 13 14 -2 10 11 13 15 -2 10 11 14 15 -2 10 12 13 14 -2 10 12 13 15 -2 10 12 14 15 -2 10 13 14 15 -2 11 12 13 14 -2 11 12 13 15 -2 11 12 14 15 -2 11 13 14 15 -2 12 13 14 15 -3 4 5 6 7 -3 4 5 6 8 -3 4 5 6 9 -3 4 5 6 10 -3 4 5 6 11 -3 4 5 6 12 -3 4 5 6 13 -3 4 5 6 14 -3 4 5 6 15 -3 4 5 7 8 -3 4 5 7 9 -3 4 5 7 10 -3 4 5 7 11 -3 4 5 7 12 -3 4 5 7 13 -3 4 5 7 14 -3 4 5 7 15 -3 4 5 8 9 -3 4 5 8 10 -3 4 5 8 11 -3 4 5 8 12 -3 4 5 8 13 -3 4 5 8 14 -3 4 5 8 15 -3 4 5 9 10 -3 4 5 9 11 -3 4 5 9 12 -3 4 5 9 13 -3 4 5 9 14 -3 4 5 9 15 -3 4 5 10 11 -3 4 5 10 12 -3 4 5 10 13 -3 4 5 10 14 -3 4 5 10 15 -3 4 5 11 12 -3 4 5 11 13 -3 4 5 11 14 -3 4 5 11 15 -3 4 5 12 13 -3 4 5 12 14 -3 4 5 12 15 -3 4 5 13 14 -3 4 5 13 15 -3 4 5 14 15 -3 4 6 7 8 -3 4 6 7 9 -3 4 6 7 10 -3 4 6 7 11 -3 4 6 7 12 -3 4 6 7 13 -3 4 6 7 14 -3 4 6 7 15 -3 4 6 8 9 -3 4 6 8 10 -3 4 6 8 11 -3 4 6 8 12 -3 4 6 8 13 -3 4 6 8 14 -3 4 6 8 15 -3 4 6 9 10 -3 4 6 9 11 -3 4 6 9 12 -3 4 6 9 13 -3 4 6 9 14 -3 4 6 9 15 -3 4 6 10 11 -3 4 6 10 12 -3 4 6 10 13 -3 4 6 10 14 -3 4 6 10 15 -3 4 6 11 12 -3 4 6 11 13 -3 4 6 11 14 -3 4 6 11 15 -3 4 6 12 13 -3 4 6 12 14 -3 4 6 12 15 -3 4 6 13 14 -3 4 6 13 15 -3 4 6 14 15 -3 4 7 8 9 -3 4 7 8 10 -3 4 7 8 11 -3 4 7 8 12 -3 4 7 8 13 -3 4 7 8 14 -3 4 7 8 15 -3 4 7 9 10 -3 4 7 9 11 -3 4 7 9 12 -3 4 7 9 13 -3 4 7 9 14 -3 4 7 9 15 -3 4 7 10 11 -3 4 7 10 12 -3 4 7 10 13 -3 4 7 10 14 -3 4 7 10 15 -3 4 7 11 12 -3 4 7 11 13 -3 4 7 11 14 -3 4 7 11 15 -3 4 7 12 13 -3 4 7 12 14 -3 4 7 12 15 -3 4 7 13 14 -3 4 7 13 15 -3 4 7 14 15 -3 4 8 9 10 -3 4 8 9 11 -3 4 8 9 12 -3 4 8 9 13 -3 4 8 9 14 -3 4 8 9 15 -3 4 8 10 11 -3 4 8 10 12 -3 4 8 10 13 -3 4 8 10 14 -3 4 8 10 15 -3 4 8 11 12 -3 4 8 11 13 -3 4 8 11 14 -3 4 8 11 15 -3 4 8 12 13 -3 4 8 12 14 -3 4 8 12 15 -3 4 8 13 14 -3 4 8 13 15 -3 4 8 14 15 -3 4 9 10 11 -3 4 9 10 12 -3 4 9 10 13 -3 4 9 10 14 -3 4 9 10 15 -3 4 9 11 12 -3 4 9 11 13 -3 4 9 11 14 -3 4 9 11 15 -3 4 9 12 13 -3 4 9 12 14 -3 4 9 12 15 -3 4 9 13 14 -3 4 9 13 15 -3 4 9 14 15 -3 4 10 11 12 -3 4 10 11 13 -3 4 10 11 14 -3 4 10 11 15 -3 4 10 12 13 -3 4 10 12 14 -3 4 10 12 15 -3 4 10 13 14 -3 4 10 13 15 -3 4 10 14 15 -3 4 11 12 13 -3 4 11 12 14 -3 4 11 12 15 -3 4 11 13 14 -3 4 11 13 15 -3 4 11 14 15 -3 4 12 13 14 -3 4 12 13 15 -3 4 12 14 15 -3 4 13 14 15 -3 5 6 7 8 -3 5 6 7 9 -3 5 6 7 10 -3 5 6 7 11 -3 5 6 7 12 -3 5 6 7 13 -3 5 6 7 14 -3 5 6 7 15 -3 5 6 8 9 -3 5 6 8 10 -3 5 6 8 11 -3 5 6 8 12 -3 5 6 8 13 -3 5 6 8 14 -3 5 6 8 15 -3 5 6 9 10 -3 5 6 9 11 -3 5 6 9 12 -3 5 6 9 13 -3 5 6 9 14 -3 5 6 9 15 -3 5 6 10 11 -3 5 6 10 12 -3 5 6 10 13 -3 5 6 10 14 -3 5 6 10 15 -3 5 6 11 12 -3 5 6 11 13 -3 5 6 11 14 -3 5 6 11 15 -3 5 6 12 13 -3 5 6 12 14 -3 5 6 12 15 -3 5 6 13 14 -3 5 6 13 15 -3 5 6 14 15 -3 5 7 8 9 -3 5 7 8 10 -3 5 7 8 11 -3 5 7 8 12 -3 5 7 8 13 -3 5 7 8 14 -3 5 7 8 15 -3 5 7 9 10 -3 5 7 9 11 -3 5 7 9 12 -3 5 7 9 13 -3 5 7 9 14 -3 5 7 9 15 -3 5 7 10 11 -3 5 7 10 12 -3 5 7 10 13 -3 5 7 10 14 -3 5 7 10 15 -3 5 7 11 12 -3 5 7 11 13 -3 5 7 11 14 -3 5 7 11 15 -3 5 7 12 13 -3 5 7 12 14 -3 5 7 12 15 -3 5 7 13 14 -3 5 7 13 15 -3 5 7 14 15 -3 5 8 9 10 -3 5 8 9 11 -3 5 8 9 12 -3 5 8 9 13 -3 5 8 9 14 -3 5 8 9 15 -3 5 8 10 11 -3 5 8 10 12 -3 5 8 10 13 -3 5 8 10 14 -3 5 8 10 15 -3 5 8 11 12 -3 5 8 11 13 -3 5 8 11 14 -3 5 8 11 15 -3 5 8 12 13 -3 5 8 12 14 -3 5 8 12 15 -3 5 8 13 14 -3 5 8 13 15 -3 5 8 14 15 -3 5 9 10 11 -3 5 9 10 12 -3 5 9 10 13 -3 5 9 10 14 -3 5 9 10 15 -3 5 9 11 12 -3 5 9 11 13 -3 5 9 11 14 -3 5 9 11 15 -3 5 9 12 13 -3 5 9 12 14 -3 5 9 12 15 -3 5 9 13 14 -3 5 9 13 15 -3 5 9 14 15 -3 5 10 11 12 -3 5 10 11 13 -3 5 10 11 14 -3 5 10 11 15 -3 5 10 12 13 -3 5 10 12 14 -3 5 10 12 15 -3 5 10 13 14 -3 5 10 13 15 -3 5 10 14 15 -3 5 11 12 13 -3 5 11 12 14 -3 5 11 12 15 -3 5 11 13 14 -3 5 11 13 15 -3 5 11 14 15 -3 5 12 13 14 -3 5 12 13 15 -3 5 12 14 15 -3 5 13 14 15 -3 6 7 8 9 -3 6 7 8 10 -3 6 7 8 11 -3 6 7 8 12 -3 6 7 8 13 -3 6 7 8 14 -3 6 7 8 15 -3 6 7 9 10 -3 6 7 9 11 -3 6 7 9 12 -3 6 7 9 13 -3 6 7 9 14 -3 6 7 9 15 -3 6 7 10 11 -3 6 7 10 12 -3 6 7 10 13 -3 6 7 10 14 -3 6 7 10 15 -3 6 7 11 12 -3 6 7 11 13 -3 6 7 11 14 -3 6 7 11 15 -3 6 7 12 13 -3 6 7 12 14 -3 6 7 12 15 -3 6 7 13 14 -3 6 7 13 15 -3 6 7 14 15 -3 6 8 9 10 -3 6 8 9 11 -3 6 8 9 12 -3 6 8 9 13 -3 6 8 9 14 -3 6 8 9 15 -3 6 8 10 11 -3 6 8 10 12 -3 6 8 10 13 -3 6 8 10 14 -3 6 8 10 15 -3 6 8 11 12 -3 6 8 11 13 -3 6 8 11 14 -3 6 8 11 15 -3 6 8 12 13 -3 6 8 12 14 -3 6 8 12 15 -3 6 8 13 14 -3 6 8 13 15 -3 6 8 14 15 -3 6 9 10 11 -3 6 9 10 12 -3 6 9 10 13 -3 6 9 10 14 -3 6 9 10 15 -3 6 9 11 12 -3 6 9 11 13 -3 6 9 11 14 -3 6 9 11 15 -3 6 9 12 13 -3 6 9 12 14 -3 6 9 12 15 -3 6 9 13 14 -3 6 9 13 15 -3 6 9 14 15 -3 6 10 11 12 -3 6 10 11 13 -3 6 10 11 14 -3 6 10 11 15 -3 6 10 12 13 -3 6 10 12 14 -3 6 10 12 15 -3 6 10 13 14 -3 6 10 13 15 -3 6 10 14 15 -3 6 11 12 13 -3 6 11 12 14 -3 6 11 12 15 -3 6 11 13 14 -3 6 11 13 15 -3 6 11 14 15 -3 6 12 13 14 -3 6 12 13 15 -3 6 12 14 15 -3 6 13 14 15 -3 7 8 9 10 -3 7 8 9 11 -3 7 8 9 12 -3 7 8 9 13 -3 7 8 9 14 -3 7 8 9 15 -3 7 8 10 11 -3 7 8 10 12 -3 7 8 10 13 -3 7 8 10 14 -3 7 8 10 15 -3 7 8 11 12 -3 7 8 11 13 -3 7 8 11 14 -3 7 8 11 15 -3 7 8 12 13 -3 7 8 12 14 -3 7 8 12 15 -3 7 8 13 14 -3 7 8 13 15 -3 7 8 14 15 -3 7 9 10 11 -3 7 9 10 12 -3 7 9 10 13 -3 7 9 10 14 -3 7 9 10 15 -3 7 9 11 12 -3 7 9 11 13 -3 7 9 11 14 -3 7 9 11 15 -3 7 9 12 13 -3 7 9 12 14 -3 7 9 12 15 -3 7 9 13 14 -3 7 9 13 15 -3 7 9 14 15 -3 7 10 11 12 -3 7 10 11 13 -3 7 10 11 14 -3 7 10 11 15 -3 7 10 12 13 -3 7 10 12 14 -3 7 10 12 15 -3 7 10 13 14 -3 7 10 13 15 -3 7 10 14 15 -3 7 11 12 13 -3 7 11 12 14 -3 7 11 12 15 -3 7 11 13 14 -3 7 11 13 15 -3 7 11 14 15 -3 7 12 13 14 -3 7 12 13 15 -3 7 12 14 15 -3 7 13 14 15 -3 8 9 10 11 -3 8 9 10 12 -3 8 9 10 13 -3 8 9 10 14 -3 8 9 10 15 -3 8 9 11 12 -3 8 9 11 13 -3 8 9 11 14 -3 8 9 11 15 -3 8 9 12 13 -3 8 9 12 14 -3 8 9 12 15 -3 8 9 13 14 -3 8 9 13 15 -3 8 9 14 15 -3 8 10 11 12 -3 8 10 11 13 -3 8 10 11 14 -3 8 10 11 15 -3 8 10 12 13 -3 8 10 12 14 -3 8 10 12 15 -3 8 10 13 14 -3 8 10 13 15 -3 8 10 14 15 -3 8 11 12 13 -3 8 11 12 14 -3 8 11 12 15 -3 8 11 13 14 -3 8 11 13 15 -3 8 11 14 15 -3 8 12 13 14 -3 8 12 13 15 -3 8 12 14 15 -3 8 13 14 15 -3 9 10 11 12 -3 9 10 11 13 -3 9 10 11 14 -3 9 10 11 15 -3 9 10 12 13 -3 9 10 12 14 -3 9 10 12 15 -3 9 10 13 14 -3 9 10 13 15 -3 9 10 14 15 -3 9 11 12 13 -3 9 11 12 14 -3 9 11 12 15 -3 9 11 13 14 -3 9 11 13 15 -3 9 11 14 15 -3 9 12 13 14 -3 9 12 13 15 -3 9 12 14 15 -3 9 13 14 15 -3 10 11 12 13 -3 10 11 12 14 -3 10 11 12 15 -3 10 11 13 14 -3 10 11 13 15 -3 10 11 14 15 -3 10 12 13 14 -3 10 12 13 15 -3 10 12 14 15 -3 10 13 14 15 -3 11 12 13 14 -3 11 12 13 15 -3 11 12 14 15 -3 11 13 14 15 -3 12 13 14 15 -4 5 6 7 8 -4 5 6 7 9 -4 5 6 7 10 -4 5 6 7 11 -4 5 6 7 12 -4 5 6 7 13 -4 5 6 7 14 -4 5 6 7 15 -4 5 6 8 9 -4 5 6 8 10 -4 5 6 8 11 -4 5 6 8 12 -4 5 6 8 13 -4 5 6 8 14 -4 5 6 8 15 -4 5 6 9 10 -4 5 6 9 11 -4 5 6 9 12 -4 5 6 9 13 -4 5 6 9 14 -4 5 6 9 15 -4 5 6 10 11 -4 5 6 10 12 -4 5 6 10 13 -4 5 6 10 14 -4 5 6 10 15 -4 5 6 11 12 -4 5 6 11 13 -4 5 6 11 14 -4 5 6 11 15 -4 5 6 12 13 -4 5 6 12 14 -4 5 6 12 15 -4 5 6 13 14 -4 5 6 13 15 -4 5 6 14 15 -4 5 7 8 9 -4 5 7 8 10 -4 5 7 8 11 -4 5 7 8 12 -4 5 7 8 13 -4 5 7 8 14 -4 5 7 8 15 -4 5 7 9 10 -4 5 7 9 11 -4 5 7 9 12 -4 5 7 9 13 -4 5 7 9 14 -4 5 7 9 15 -4 5 7 10 11 -4 5 7 10 12 -4 5 7 10 13 -4 5 7 10 14 -4 5 7 10 15 -4 5 7 11 12 -4 5 7 11 13 -4 5 7 11 14 -4 5 7 11 15 -4 5 7 12 13 -4 5 7 12 14 -4 5 7 12 15 -4 5 7 13 14 -4 5 7 13 15 -4 5 7 14 15 -4 5 8 9 10 -4 5 8 9 11 -4 5 8 9 12 -4 5 8 9 13 -4 5 8 9 14 -4 5 8 9 15 -4 5 8 10 11 -4 5 8 10 12 -4 5 8 10 13 -4 5 8 10 14 -4 5 8 10 15 -4 5 8 11 12 -4 5 8 11 13 -4 5 8 11 14 -4 5 8 11 15 -4 5 8 12 13 -4 5 8 12 14 -4 5 8 12 15 -4 5 8 13 14 -4 5 8 13 15 -4 5 8 14 15 -4 5 9 10 11 -4 5 9 10 12 -4 5 9 10 13 -4 5 9 10 14 -4 5 9 10 15 -4 5 9 11 12 -4 5 9 11 13 -4 5 9 11 14 -4 5 9 11 15 -4 5 9 12 13 -4 5 9 12 14 -4 5 9 12 15 -4 5 9 13 14 -4 5 9 13 15 -4 5 9 14 15 -4 5 10 11 12 -4 5 10 11 13 -4 5 10 11 14 -4 5 10 11 15 -4 5 10 12 13 -4 5 10 12 14 -4 5 10 12 15 -4 5 10 13 14 -4 5 10 13 15 -4 5 10 14 15 -4 5 11 12 13 -4 5 11 12 14 -4 5 11 12 15 -4 5 11 13 14 -4 5 11 13 15 -4 5 11 14 15 -4 5 12 13 14 -4 5 12 13 15 -4 5 12 14 15 -4 5 13 14 15 -4 6 7 8 9 -4 6 7 8 10 -4 6 7 8 11 -4 6 7 8 12 -4 6 7 8 13 -4 6 7 8 14 -4 6 7 8 15 -4 6 7 9 10 -4 6 7 9 11 -4 6 7 9 12 -4 6 7 9 13 -4 6 7 9 14 -4 6 7 9 15 -4 6 7 10 11 -4 6 7 10 12 -4 6 7 10 13 -4 6 7 10 14 -4 6 7 10 15 -4 6 7 11 12 -4 6 7 11 13 -4 6 7 11 14 -4 6 7 11 15 -4 6 7 12 13 -4 6 7 12 14 -4 6 7 12 15 -4 6 7 13 14 -4 6 7 13 15 -4 6 7 14 15 -4 6 8 9 10 -4 6 8 9 11 -4 6 8 9 12 -4 6 8 9 13 -4 6 8 9 14 -4 6 8 9 15 -4 6 8 10 11 -4 6 8 10 12 -4 6 8 10 13 -4 6 8 10 14 -4 6 8 10 15 -4 6 8 11 12 -4 6 8 11 13 -4 6 8 11 14 -4 6 8 11 15 -4 6 8 12 13 -4 6 8 12 14 -4 6 8 12 15 -4 6 8 13 14 -4 6 8 13 15 -4 6 8 14 15 -4 6 9 10 11 -4 6 9 10 12 -4 6 9 10 13 -4 6 9 10 14 -4 6 9 10 15 -4 6 9 11 12 -4 6 9 11 13 -4 6 9 11 14 -4 6 9 11 15 -4 6 9 12 13 -4 6 9 12 14 -4 6 9 12 15 -4 6 9 13 14 -4 6 9 13 15 -4 6 9 14 15 -4 6 10 11 12 -4 6 10 11 13 -4 6 10 11 14 -4 6 10 11 15 -4 6 10 12 13 -4 6 10 12 14 -4 6 10 12 15 -4 6 10 13 14 -4 6 10 13 15 -4 6 10 14 15 -4 6 11 12 13 -4 6 11 12 14 -4 6 11 12 15 -4 6 11 13 14 -4 6 11 13 15 -4 6 11 14 15 -4 6 12 13 14 -4 6 12 13 15 -4 6 12 14 15 -4 6 13 14 15 -4 7 8 9 10 -4 7 8 9 11 -4 7 8 9 12 -4 7 8 9 13 -4 7 8 9 14 -4 7 8 9 15 -4 7 8 10 11 -4 7 8 10 12 -4 7 8 10 13 -4 7 8 10 14 -4 7 8 10 15 -4 7 8 11 12 -4 7 8 11 13 -4 7 8 11 14 -4 7 8 11 15 -4 7 8 12 13 -4 7 8 12 14 -4 7 8 12 15 -4 7 8 13 14 -4 7 8 13 15 -4 7 8 14 15 -4 7 9 10 11 -4 7 9 10 12 -4 7 9 10 13 -4 7 9 10 14 -4 7 9 10 15 -4 7 9 11 12 -4 7 9 11 13 -4 7 9 11 14 -4 7 9 11 15 -4 7 9 12 13 -4 7 9 12 14 -4 7 9 12 15 -4 7 9 13 14 -4 7 9 13 15 -4 7 9 14 15 -4 7 10 11 12 -4 7 10 11 13 -4 7 10 11 14 -4 7 10 11 15 -4 7 10 12 13 -4 7 10 12 14 -4 7 10 12 15 -4 7 10 13 14 -4 7 10 13 15 -4 7 10 14 15 -4 7 11 12 13 -4 7 11 12 14 -4 7 11 12 15 -4 7 11 13 14 -4 7 11 13 15 -4 7 11 14 15 -4 7 12 13 14 -4 7 12 13 15 -4 7 12 14 15 -4 7 13 14 15 -4 8 9 10 11 -4 8 9 10 12 -4 8 9 10 13 -4 8 9 10 14 -4 8 9 10 15 -4 8 9 11 12 -4 8 9 11 13 -4 8 9 11 14 -4 8 9 11 15 -4 8 9 12 13 -4 8 9 12 14 -4 8 9 12 15 -4 8 9 13 14 -4 8 9 13 15 -4 8 9 14 15 -4 8 10 11 12 -4 8 10 11 13 -4 8 10 11 14 -4 8 10 11 15 -4 8 10 12 13 -4 8 10 12 14 -4 8 10 12 15 -4 8 10 13 14 -4 8 10 13 15 -4 8 10 14 15 -4 8 11 12 13 -4 8 11 12 14 -4 8 11 12 15 -4 8 11 13 14 -4 8 11 13 15 -4 8 11 14 15 -4 8 12 13 14 -4 8 12 13 15 -4 8 12 14 15 -4 8 13 14 15 -4 9 10 11 12 -4 9 10 11 13 -4 9 10 11 14 -4 9 10 11 15 -4 9 10 12 13 -4 9 10 12 14 -4 9 10 12 15 -4 9 10 13 14 -4 9 10 13 15 -4 9 10 14 15 -4 9 11 12 13 -4 9 11 12 14 -4 9 11 12 15 -4 9 11 13 14 -4 9 11 13 15 -4 9 11 14 15 -4 9 12 13 14 -4 9 12 13 15 -4 9 12 14 15 -4 9 13 14 15 -4 10 11 12 13 -4 10 11 12 14 -4 10 11 12 15 -4 10 11 13 14 -4 10 11 13 15 -4 10 11 14 15 -4 10 12 13 14 -4 10 12 13 15 -4 10 12 14 15 -4 10 13 14 15 -4 11 12 13 14 -4 11 12 13 15 -4 11 12 14 15 -4 11 13 14 15 -4 12 13 14 15 -5 6 7 8 9 -5 6 7 8 10 -5 6 7 8 11 -5 6 7 8 12 -5 6 7 8 13 -5 6 7 8 14 -5 6 7 8 15 -5 6 7 9 10 -5 6 7 9 11 -5 6 7 9 12 -5 6 7 9 13 -5 6 7 9 14 -5 6 7 9 15 -5 6 7 10 11 -5 6 7 10 12 -5 6 7 10 13 -5 6 7 10 14 -5 6 7 10 15 -5 6 7 11 12 -5 6 7 11 13 -5 6 7 11 14 -5 6 7 11 15 -5 6 7 12 13 -5 6 7 12 14 -5 6 7 12 15 -5 6 7 13 14 -5 6 7 13 15 -5 6 7 14 15 -5 6 8 9 10 -5 6 8 9 11 -5 6 8 9 12 -5 6 8 9 13 -5 6 8 9 14 -5 6 8 9 15 -5 6 8 10 11 -5 6 8 10 12 -5 6 8 10 13 -5 6 8 10 14 -5 6 8 10 15 -5 6 8 11 12 -5 6 8 11 13 -5 6 8 11 14 -5 6 8 11 15 -5 6 8 12 13 -5 6 8 12 14 -5 6 8 12 15 -5 6 8 13 14 -5 6 8 13 15 -5 6 8 14 15 -5 6 9 10 11 -5 6 9 10 12 -5 6 9 10 13 -5 6 9 10 14 -5 6 9 10 15 -5 6 9 11 12 -5 6 9 11 13 -5 6 9 11 14 -5 6 9 11 15 -5 6 9 12 13 -5 6 9 12 14 -5 6 9 12 15 -5 6 9 13 14 -5 6 9 13 15 -5 6 9 14 15 -5 6 10 11 12 -5 6 10 11 13 -5 6 10 11 14 -5 6 10 11 15 -5 6 10 12 13 -5 6 10 12 14 -5 6 10 12 15 -5 6 10 13 14 -5 6 10 13 15 -5 6 10 14 15 -5 6 11 12 13 -5 6 11 12 14 -5 6 11 12 15 -5 6 11 13 14 -5 6 11 13 15 -5 6 11 14 15 -5 6 12 13 14 -5 6 12 13 15 -5 6 12 14 15 -5 6 13 14 15 -5 7 8 9 10 -5 7 8 9 11 -5 7 8 9 12 -5 7 8 9 13 -5 7 8 9 14 -5 7 8 9 15 -5 7 8 10 11 -5 7 8 10 12 -5 7 8 10 13 -5 7 8 10 14 -5 7 8 10 15 -5 7 8 11 12 -5 7 8 11 13 -5 7 8 11 14 -5 7 8 11 15 -5 7 8 12 13 -5 7 8 12 14 -5 7 8 12 15 -5 7 8 13 14 -5 7 8 13 15 -5 7 8 14 15 -5 7 9 10 11 -5 7 9 10 12 -5 7 9 10 13 -5 7 9 10 14 -5 7 9 10 15 -5 7 9 11 12 -5 7 9 11 13 -5 7 9 11 14 -5 7 9 11 15 -5 7 9 12 13 -5 7 9 12 14 -5 7 9 12 15 -5 7 9 13 14 -5 7 9 13 15 -5 7 9 14 15 -5 7 10 11 12 -5 7 10 11 13 -5 7 10 11 14 -5 7 10 11 15 -5 7 10 12 13 -5 7 10 12 14 -5 7 10 12 15 -5 7 10 13 14 -5 7 10 13 15 -5 7 10 14 15 -5 7 11 12 13 -5 7 11 12 14 -5 7 11 12 15 -5 7 11 13 14 -5 7 11 13 15 -5 7 11 14 15 -5 7 12 13 14 -5 7 12 13 15 -5 7 12 14 15 -5 7 13 14 15 -5 8 9 10 11 -5 8 9 10 12 -5 8 9 10 13 -5 8 9 10 14 -5 8 9 10 15 -5 8 9 11 12 -5 8 9 11 13 -5 8 9 11 14 -5 8 9 11 15 -5 8 9 12 13 -5 8 9 12 14 -5 8 9 12 15 -5 8 9 13 14 -5 8 9 13 15 -5 8 9 14 15 -5 8 10 11 12 -5 8 10 11 13 -5 8 10 11 14 -5 8 10 11 15 -5 8 10 12 13 -5 8 10 12 14 -5 8 10 12 15 -5 8 10 13 14 -5 8 10 13 15 -5 8 10 14 15 -5 8 11 12 13 -5 8 11 12 14 -5 8 11 12 15 -5 8 11 13 14 -5 8 11 13 15 -5 8 11 14 15 -5 8 12 13 14 -5 8 12 13 15 -5 8 12 14 15 -5 8 13 14 15 -5 9 10 11 12 -5 9 10 11 13 -5 9 10 11 14 -5 9 10 11 15 -5 9 10 12 13 -5 9 10 12 14 -5 9 10 12 15 -5 9 10 13 14 -5 9 10 13 15 -5 9 10 14 15 -5 9 11 12 13 -5 9 11 12 14 -5 9 11 12 15 -5 9 11 13 14 -5 9 11 13 15 -5 9 11 14 15 -5 9 12 13 14 -5 9 12 13 15 -5 9 12 14 15 -5 9 13 14 15 -5 10 11 12 13 -5 10 11 12 14 -5 10 11 12 15 -5 10 11 13 14 -5 10 11 13 15 -5 10 11 14 15 -5 10 12 13 14 -5 10 12 13 15 -5 10 12 14 15 -5 10 13 14 15 -5 11 12 13 14 -5 11 12 13 15 -5 11 12 14 15 -5 11 13 14 15 -5 12 13 14 15 -6 7 8 9 10 -6 7 8 9 11 -6 7 8 9 12 -6 7 8 9 13 -6 7 8 9 14 -6 7 8 9 15 -6 7 8 10 11 -6 7 8 10 12 -6 7 8 10 13 -6 7 8 10 14 -6 7 8 10 15 -6 7 8 11 12 -6 7 8 11 13 -6 7 8 11 14 -6 7 8 11 15 -6 7 8 12 13 -6 7 8 12 14 -6 7 8 12 15 -6 7 8 13 14 -6 7 8 13 15 -6 7 8 14 15 -6 7 9 10 11 -6 7 9 10 12 -6 7 9 10 13 -6 7 9 10 14 -6 7 9 10 15 -6 7 9 11 12 -6 7 9 11 13 -6 7 9 11 14 -6 7 9 11 15 -6 7 9 12 13 -6 7 9 12 14 -6 7 9 12 15 -6 7 9 13 14 -6 7 9 13 15 -6 7 9 14 15 -6 7 10 11 12 -6 7 10 11 13 -6 7 10 11 14 -6 7 10 11 15 -6 7 10 12 13 -6 7 10 12 14 -6 7 10 12 15 -6 7 10 13 14 -6 7 10 13 15 -6 7 10 14 15 -6 7 11 12 13 -6 7 11 12 14 -6 7 11 12 15 -6 7 11 13 14 -6 7 11 13 15 -6 7 11 14 15 -6 7 12 13 14 -6 7 12 13 15 -6 7 12 14 15 -6 7 13 14 15 -6 8 9 10 11 -6 8 9 10 12 -6 8 9 10 13 -6 8 9 10 14 -6 8 9 10 15 -6 8 9 11 12 -6 8 9 11 13 -6 8 9 11 14 -6 8 9 11 15 -6 8 9 12 13 -6 8 9 12 14 -6 8 9 12 15 -6 8 9 13 14 -6 8 9 13 15 -6 8 9 14 15 -6 8 10 11 12 -6 8 10 11 13 -6 8 10 11 14 -6 8 10 11 15 -6 8 10 12 13 -6 8 10 12 14 -6 8 10 12 15 -6 8 10 13 14 -6 8 10 13 15 -6 8 10 14 15 -6 8 11 12 13 -6 8 11 12 14 -6 8 11 12 15 -6 8 11 13 14 -6 8 11 13 15 -6 8 11 14 15 -6 8 12 13 14 -6 8 12 13 15 -6 8 12 14 15 -6 8 13 14 15 -6 9 10 11 12 -6 9 10 11 13 -6 9 10 11 14 -6 9 10 11 15 -6 9 10 12 13 -6 9 10 12 14 -6 9 10 12 15 -6 9 10 13 14 -6 9 10 13 15 -6 9 10 14 15 -6 9 11 12 13 -6 9 11 12 14 -6 9 11 12 15 -6 9 11 13 14 -6 9 11 13 15 -6 9 11 14 15 -6 9 12 13 14 -6 9 12 13 15 -6 9 12 14 15 -6 9 13 14 15 -6 10 11 12 13 -6 10 11 12 14 -6 10 11 12 15 -6 10 11 13 14 -6 10 11 13 15 -6 10 11 14 15 -6 10 12 13 14 -6 10 12 13 15 -6 10 12 14 15 -6 10 13 14 15 -6 11 12 13 14 -6 11 12 13 15 -6 11 12 14 15 -6 11 13 14 15 -6 12 13 14 15 -7 8 9 10 11 -7 8 9 10 12 -7 8 9 10 13 -7 8 9 10 14 -7 8 9 10 15 -7 8 9 11 12 -7 8 9 11 13 -7 8 9 11 14 -7 8 9 11 15 -7 8 9 12 13 -7 8 9 12 14 -7 8 9 12 15 -7 8 9 13 14 -7 8 9 13 15 -7 8 9 14 15 -7 8 10 11 12 -7 8 10 11 13 -7 8 10 11 14 -7 8 10 11 15 -7 8 10 12 13 -7 8 10 12 14 -7 8 10 12 15 -7 8 10 13 14 -7 8 10 13 15 -7 8 10 14 15 -7 8 11 12 13 -7 8 11 12 14 -7 8 11 12 15 -7 8 11 13 14 -7 8 11 13 15 -7 8 11 14 15 -7 8 12 13 14 -7 8 12 13 15 -7 8 12 14 15 -7 8 13 14 15 -7 9 10 11 12 -7 9 10 11 13 -7 9 10 11 14 -7 9 10 11 15 -7 9 10 12 13 -7 9 10 12 14 -7 9 10 12 15 -7 9 10 13 14 -7 9 10 13 15 -7 9 10 14 15 -7 9 11 12 13 -7 9 11 12 14 -7 9 11 12 15 -7 9 11 13 14 -7 9 11 13 15 -7 9 11 14 15 -7 9 12 13 14 -7 9 12 13 15 -7 9 12 14 15 -7 9 13 14 15 -7 10 11 12 13 -7 10 11 12 14 -7 10 11 12 15 -7 10 11 13 14 -7 10 11 13 15 -7 10 11 14 15 -7 10 12 13 14 -7 10 12 13 15 -7 10 12 14 15 -7 10 13 14 15 -7 11 12 13 14 -7 11 12 13 15 -7 11 12 14 15 -7 11 13 14 15 -7 12 13 14 15 -8 9 10 11 12 -8 9 10 11 13 -8 9 10 11 14 -8 9 10 11 15 -8 9 10 12 13 -8 9 10 12 14 -8 9 10 12 15 -8 9 10 13 14 -8 9 10 13 15 -8 9 10 14 15 -8 9 11 12 13 -8 9 11 12 14 -8 9 11 12 15 -8 9 11 13 14 -8 9 11 13 15 -8 9 11 14 15 -8 9 12 13 14 -8 9 12 13 15 -8 9 12 14 15 -8 9 13 14 15 -8 10 11 12 13 -8 10 11 12 14 -8 10 11 12 15 -8 10 11 13 14 -8 10 11 13 15 -8 10 11 14 15 -8 10 12 13 14 -8 10 12 13 15 -8 10 12 14 15 -8 10 13 14 15 -8 11 12 13 14 -8 11 12 13 15 -8 11 12 14 15 -8 11 13 14 15 -8 12 13 14 15 -9 10 11 12 13 -9 10 11 12 14 -9 10 11 12 15 -9 10 11 13 14 -9 10 11 13 15 -9 10 11 14 15 -9 10 12 13 14 -9 10 12 13 15 -9 10 12 14 15 -9 10 13 14 15 -9 11 12 13 14 -9 11 12 13 15 -9 11 12 14 15 -9 11 13 14 15 -9 12 13 14 15 -10 11 12 13 14 -10 11 12 13 15 -10 11 12 14 15 -10 11 13 14 15 -10 12 13 14 15 -11 12 13 14 15 +0 1 2 3 4 +0 1 2 3 5 +0 1 2 3 6 +0 1 2 3 7 +0 1 2 3 8 +0 1 2 3 9 +0 1 2 3 10 +0 1 2 3 11 +0 1 2 3 12 +0 1 2 3 13 +0 1 2 3 14 +0 1 2 3 15 +0 1 2 4 5 +0 1 2 4 6 +0 1 2 4 7 +0 1 2 4 8 +0 1 2 4 9 +0 1 2 4 10 +0 1 2 4 11 +0 1 2 4 12 +0 1 2 4 13 +0 1 2 4 14 +0 1 2 4 15 +0 1 2 5 6 +0 1 2 5 7 +0 1 2 5 8 +0 1 2 5 9 +0 1 2 5 10 +0 1 2 5 11 +0 1 2 5 12 +0 1 2 5 13 +0 1 2 5 14 +0 1 2 5 15 +0 1 2 6 7 +0 1 2 6 8 +0 1 2 6 9 +0 1 2 6 10 +0 1 2 6 11 +0 1 2 6 12 +0 1 2 6 13 +0 1 2 6 14 +0 1 2 6 15 +0 1 2 7 8 +0 1 2 7 9 +0 1 2 7 10 +0 1 2 7 11 +0 1 2 7 12 +0 1 2 7 13 +0 1 2 7 14 +0 1 2 7 15 +0 1 2 8 9 +0 1 2 8 10 +0 1 2 8 11 +0 1 2 8 12 +0 1 2 8 13 +0 1 2 8 14 +0 1 2 8 15 +0 1 2 9 10 +0 1 2 9 11 +0 1 2 9 12 +0 1 2 9 13 +0 1 2 9 14 +0 1 2 9 15 +0 1 2 10 11 +0 1 2 10 12 +0 1 2 10 13 +0 1 2 10 14 +0 1 2 10 15 +0 1 2 11 12 +0 1 2 11 13 +0 1 2 11 14 +0 1 2 11 15 +0 1 2 12 13 +0 1 2 12 14 +0 1 2 12 15 +0 1 2 13 14 +0 1 2 13 15 +0 1 2 14 15 +0 1 3 4 5 +0 1 3 4 6 +0 1 3 4 7 +0 1 3 4 8 +0 1 3 4 9 +0 1 3 4 10 +0 1 3 4 11 +0 1 3 4 12 +0 1 3 4 13 +0 1 3 4 14 +0 1 3 4 15 +0 1 3 5 6 +0 1 3 5 7 +0 1 3 5 8 +0 1 3 5 9 +0 1 3 5 10 +0 1 3 5 11 +0 1 3 5 12 +0 1 3 5 13 +0 1 3 5 14 +0 1 3 5 15 +0 1 3 6 7 +0 1 3 6 8 +0 1 3 6 9 +0 1 3 6 10 +0 1 3 6 11 +0 1 3 6 12 +0 1 3 6 13 +0 1 3 6 14 +0 1 3 6 15 +0 1 3 7 8 +0 1 3 7 9 +0 1 3 7 10 +0 1 3 7 11 +0 1 3 7 12 +0 1 3 7 13 +0 1 3 7 14 +0 1 3 7 15 +0 1 3 8 9 +0 1 3 8 10 +0 1 3 8 11 +0 1 3 8 12 +0 1 3 8 13 +0 1 3 8 14 +0 1 3 8 15 +0 1 3 9 10 +0 1 3 9 11 +0 1 3 9 12 +0 1 3 9 13 +0 1 3 9 14 +0 1 3 9 15 +0 1 3 10 11 +0 1 3 10 12 +0 1 3 10 13 +0 1 3 10 14 +0 1 3 10 15 +0 1 3 11 12 +0 1 3 11 13 +0 1 3 11 14 +0 1 3 11 15 +0 1 3 12 13 +0 1 3 12 14 +0 1 3 12 15 +0 1 3 13 14 +0 1 3 13 15 +0 1 3 14 15 +0 1 4 5 6 +0 1 4 5 7 +0 1 4 5 8 +0 1 4 5 9 +0 1 4 5 10 +0 1 4 5 11 +0 1 4 5 12 +0 1 4 5 13 +0 1 4 5 14 +0 1 4 5 15 +0 1 4 6 7 +0 1 4 6 8 +0 1 4 6 9 +0 1 4 6 10 +0 1 4 6 11 +0 1 4 6 12 +0 1 4 6 13 +0 1 4 6 14 +0 1 4 6 15 +0 1 4 7 8 +0 1 4 7 9 +0 1 4 7 10 +0 1 4 7 11 +0 1 4 7 12 +0 1 4 7 13 +0 1 4 7 14 +0 1 4 7 15 +0 1 4 8 9 +0 1 4 8 10 +0 1 4 8 11 +0 1 4 8 12 +0 1 4 8 13 +0 1 4 8 14 +0 1 4 8 15 +0 1 4 9 10 +0 1 4 9 11 +0 1 4 9 12 +0 1 4 9 13 +0 1 4 9 14 +0 1 4 9 15 +0 1 4 10 11 +0 1 4 10 12 +0 1 4 10 13 +0 1 4 10 14 +0 1 4 10 15 +0 1 4 11 12 +0 1 4 11 13 +0 1 4 11 14 +0 1 4 11 15 +0 1 4 12 13 +0 1 4 12 14 +0 1 4 12 15 +0 1 4 13 14 +0 1 4 13 15 +0 1 4 14 15 +0 1 5 6 7 +0 1 5 6 8 +0 1 5 6 9 +0 1 5 6 10 +0 1 5 6 11 +0 1 5 6 12 +0 1 5 6 13 +0 1 5 6 14 +0 1 5 6 15 +0 1 5 7 8 +0 1 5 7 9 +0 1 5 7 10 +0 1 5 7 11 +0 1 5 7 12 +0 1 5 7 13 +0 1 5 7 14 +0 1 5 7 15 +0 1 5 8 9 +0 1 5 8 10 +0 1 5 8 11 +0 1 5 8 12 +0 1 5 8 13 +0 1 5 8 14 +0 1 5 8 15 +0 1 5 9 10 +0 1 5 9 11 +0 1 5 9 12 +0 1 5 9 13 +0 1 5 9 14 +0 1 5 9 15 +0 1 5 10 11 +0 1 5 10 12 +0 1 5 10 13 +0 1 5 10 14 +0 1 5 10 15 +0 1 5 11 12 +0 1 5 11 13 +0 1 5 11 14 +0 1 5 11 15 +0 1 5 12 13 +0 1 5 12 14 +0 1 5 12 15 +0 1 5 13 14 +0 1 5 13 15 +0 1 5 14 15 +0 1 6 7 8 +0 1 6 7 9 +0 1 6 7 10 +0 1 6 7 11 +0 1 6 7 12 +0 1 6 7 13 +0 1 6 7 14 +0 1 6 7 15 +0 1 6 8 9 +0 1 6 8 10 +0 1 6 8 11 +0 1 6 8 12 +0 1 6 8 13 +0 1 6 8 14 +0 1 6 8 15 +0 1 6 9 10 +0 1 6 9 11 +0 1 6 9 12 +0 1 6 9 13 +0 1 6 9 14 +0 1 6 9 15 +0 1 6 10 11 +0 1 6 10 12 +0 1 6 10 13 +0 1 6 10 14 +0 1 6 10 15 +0 1 6 11 12 +0 1 6 11 13 +0 1 6 11 14 +0 1 6 11 15 +0 1 6 12 13 +0 1 6 12 14 +0 1 6 12 15 +0 1 6 13 14 +0 1 6 13 15 +0 1 6 14 15 +0 1 7 8 9 +0 1 7 8 10 +0 1 7 8 11 +0 1 7 8 12 +0 1 7 8 13 +0 1 7 8 14 +0 1 7 8 15 +0 1 7 9 10 +0 1 7 9 11 +0 1 7 9 12 +0 1 7 9 13 +0 1 7 9 14 +0 1 7 9 15 +0 1 7 10 11 +0 1 7 10 12 +0 1 7 10 13 +0 1 7 10 14 +0 1 7 10 15 +0 1 7 11 12 +0 1 7 11 13 +0 1 7 11 14 +0 1 7 11 15 +0 1 7 12 13 +0 1 7 12 14 +0 1 7 12 15 +0 1 7 13 14 +0 1 7 13 15 +0 1 7 14 15 +0 1 8 9 10 +0 1 8 9 11 +0 1 8 9 12 +0 1 8 9 13 +0 1 8 9 14 +0 1 8 9 15 +0 1 8 10 11 +0 1 8 10 12 +0 1 8 10 13 +0 1 8 10 14 +0 1 8 10 15 +0 1 8 11 12 +0 1 8 11 13 +0 1 8 11 14 +0 1 8 11 15 +0 1 8 12 13 +0 1 8 12 14 +0 1 8 12 15 +0 1 8 13 14 +0 1 8 13 15 +0 1 8 14 15 +0 1 9 10 11 +0 1 9 10 12 +0 1 9 10 13 +0 1 9 10 14 +0 1 9 10 15 +0 1 9 11 12 +0 1 9 11 13 +0 1 9 11 14 +0 1 9 11 15 +0 1 9 12 13 +0 1 9 12 14 +0 1 9 12 15 +0 1 9 13 14 +0 1 9 13 15 +0 1 9 14 15 +0 1 10 11 12 +0 1 10 11 13 +0 1 10 11 14 +0 1 10 11 15 +0 1 10 12 13 +0 1 10 12 14 +0 1 10 12 15 +0 1 10 13 14 +0 1 10 13 15 +0 1 10 14 15 +0 1 11 12 13 +0 1 11 12 14 +0 1 11 12 15 +0 1 11 13 14 +0 1 11 13 15 +0 1 11 14 15 +0 1 12 13 14 +0 1 12 13 15 +0 1 12 14 15 +0 1 13 14 15 +0 2 3 4 5 +0 2 3 4 6 +0 2 3 4 7 +0 2 3 4 8 +0 2 3 4 9 +0 2 3 4 10 +0 2 3 4 11 +0 2 3 4 12 +0 2 3 4 13 +0 2 3 4 14 +0 2 3 4 15 +0 2 3 5 6 +0 2 3 5 7 +0 2 3 5 8 +0 2 3 5 9 +0 2 3 5 10 +0 2 3 5 11 +0 2 3 5 12 +0 2 3 5 13 +0 2 3 5 14 +0 2 3 5 15 +0 2 3 6 7 +0 2 3 6 8 +0 2 3 6 9 +0 2 3 6 10 +0 2 3 6 11 +0 2 3 6 12 +0 2 3 6 13 +0 2 3 6 14 +0 2 3 6 15 +0 2 3 7 8 +0 2 3 7 9 +0 2 3 7 10 +0 2 3 7 11 +0 2 3 7 12 +0 2 3 7 13 +0 2 3 7 14 +0 2 3 7 15 +0 2 3 8 9 +0 2 3 8 10 +0 2 3 8 11 +0 2 3 8 12 +0 2 3 8 13 +0 2 3 8 14 +0 2 3 8 15 +0 2 3 9 10 +0 2 3 9 11 +0 2 3 9 12 +0 2 3 9 13 +0 2 3 9 14 +0 2 3 9 15 +0 2 3 10 11 +0 2 3 10 12 +0 2 3 10 13 +0 2 3 10 14 +0 2 3 10 15 +0 2 3 11 12 +0 2 3 11 13 +0 2 3 11 14 +0 2 3 11 15 +0 2 3 12 13 +0 2 3 12 14 +0 2 3 12 15 +0 2 3 13 14 +0 2 3 13 15 +0 2 3 14 15 +0 2 4 5 6 +0 2 4 5 7 +0 2 4 5 8 +0 2 4 5 9 +0 2 4 5 10 +0 2 4 5 11 +0 2 4 5 12 +0 2 4 5 13 +0 2 4 5 14 +0 2 4 5 15 +0 2 4 6 7 +0 2 4 6 8 +0 2 4 6 9 +0 2 4 6 10 +0 2 4 6 11 +0 2 4 6 12 +0 2 4 6 13 +0 2 4 6 14 +0 2 4 6 15 +0 2 4 7 8 +0 2 4 7 9 +0 2 4 7 10 +0 2 4 7 11 +0 2 4 7 12 +0 2 4 7 13 +0 2 4 7 14 +0 2 4 7 15 +0 2 4 8 9 +0 2 4 8 10 +0 2 4 8 11 +0 2 4 8 12 +0 2 4 8 13 +0 2 4 8 14 +0 2 4 8 15 +0 2 4 9 10 +0 2 4 9 11 +0 2 4 9 12 +0 2 4 9 13 +0 2 4 9 14 +0 2 4 9 15 +0 2 4 10 11 +0 2 4 10 12 +0 2 4 10 13 +0 2 4 10 14 +0 2 4 10 15 +0 2 4 11 12 +0 2 4 11 13 +0 2 4 11 14 +0 2 4 11 15 +0 2 4 12 13 +0 2 4 12 14 +0 2 4 12 15 +0 2 4 13 14 +0 2 4 13 15 +0 2 4 14 15 +0 2 5 6 7 +0 2 5 6 8 +0 2 5 6 9 +0 2 5 6 10 +0 2 5 6 11 +0 2 5 6 12 +0 2 5 6 13 +0 2 5 6 14 +0 2 5 6 15 +0 2 5 7 8 +0 2 5 7 9 +0 2 5 7 10 +0 2 5 7 11 +0 2 5 7 12 +0 2 5 7 13 +0 2 5 7 14 +0 2 5 7 15 +0 2 5 8 9 +0 2 5 8 10 +0 2 5 8 11 +0 2 5 8 12 +0 2 5 8 13 +0 2 5 8 14 +0 2 5 8 15 +0 2 5 9 10 +0 2 5 9 11 +0 2 5 9 12 +0 2 5 9 13 +0 2 5 9 14 +0 2 5 9 15 +0 2 5 10 11 +0 2 5 10 12 +0 2 5 10 13 +0 2 5 10 14 +0 2 5 10 15 +0 2 5 11 12 +0 2 5 11 13 +0 2 5 11 14 +0 2 5 11 15 +0 2 5 12 13 +0 2 5 12 14 +0 2 5 12 15 +0 2 5 13 14 +0 2 5 13 15 +0 2 5 14 15 +0 2 6 7 8 +0 2 6 7 9 +0 2 6 7 10 +0 2 6 7 11 +0 2 6 7 12 +0 2 6 7 13 +0 2 6 7 14 +0 2 6 7 15 +0 2 6 8 9 +0 2 6 8 10 +0 2 6 8 11 +0 2 6 8 12 +0 2 6 8 13 +0 2 6 8 14 +0 2 6 8 15 +0 2 6 9 10 +0 2 6 9 11 +0 2 6 9 12 +0 2 6 9 13 +0 2 6 9 14 +0 2 6 9 15 +0 2 6 10 11 +0 2 6 10 12 +0 2 6 10 13 +0 2 6 10 14 +0 2 6 10 15 +0 2 6 11 12 +0 2 6 11 13 +0 2 6 11 14 +0 2 6 11 15 +0 2 6 12 13 +0 2 6 12 14 +0 2 6 12 15 +0 2 6 13 14 +0 2 6 13 15 +0 2 6 14 15 +0 2 7 8 9 +0 2 7 8 10 +0 2 7 8 11 +0 2 7 8 12 +0 2 7 8 13 +0 2 7 8 14 +0 2 7 8 15 +0 2 7 9 10 +0 2 7 9 11 +0 2 7 9 12 +0 2 7 9 13 +0 2 7 9 14 +0 2 7 9 15 +0 2 7 10 11 +0 2 7 10 12 +0 2 7 10 13 +0 2 7 10 14 +0 2 7 10 15 +0 2 7 11 12 +0 2 7 11 13 +0 2 7 11 14 +0 2 7 11 15 +0 2 7 12 13 +0 2 7 12 14 +0 2 7 12 15 +0 2 7 13 14 +0 2 7 13 15 +0 2 7 14 15 +0 2 8 9 10 +0 2 8 9 11 +0 2 8 9 12 +0 2 8 9 13 +0 2 8 9 14 +0 2 8 9 15 +0 2 8 10 11 +0 2 8 10 12 +0 2 8 10 13 +0 2 8 10 14 +0 2 8 10 15 +0 2 8 11 12 +0 2 8 11 13 +0 2 8 11 14 +0 2 8 11 15 +0 2 8 12 13 +0 2 8 12 14 +0 2 8 12 15 +0 2 8 13 14 +0 2 8 13 15 +0 2 8 14 15 +0 2 9 10 11 +0 2 9 10 12 +0 2 9 10 13 +0 2 9 10 14 +0 2 9 10 15 +0 2 9 11 12 +0 2 9 11 13 +0 2 9 11 14 +0 2 9 11 15 +0 2 9 12 13 +0 2 9 12 14 +0 2 9 12 15 +0 2 9 13 14 +0 2 9 13 15 +0 2 9 14 15 +0 2 10 11 12 +0 2 10 11 13 +0 2 10 11 14 +0 2 10 11 15 +0 2 10 12 13 +0 2 10 12 14 +0 2 10 12 15 +0 2 10 13 14 +0 2 10 13 15 +0 2 10 14 15 +0 2 11 12 13 +0 2 11 12 14 +0 2 11 12 15 +0 2 11 13 14 +0 2 11 13 15 +0 2 11 14 15 +0 2 12 13 14 +0 2 12 13 15 +0 2 12 14 15 +0 2 13 14 15 +0 3 4 5 6 +0 3 4 5 7 +0 3 4 5 8 +0 3 4 5 9 +0 3 4 5 10 +0 3 4 5 11 +0 3 4 5 12 +0 3 4 5 13 +0 3 4 5 14 +0 3 4 5 15 +0 3 4 6 7 +0 3 4 6 8 +0 3 4 6 9 +0 3 4 6 10 +0 3 4 6 11 +0 3 4 6 12 +0 3 4 6 13 +0 3 4 6 14 +0 3 4 6 15 +0 3 4 7 8 +0 3 4 7 9 +0 3 4 7 10 +0 3 4 7 11 +0 3 4 7 12 +0 3 4 7 13 +0 3 4 7 14 +0 3 4 7 15 +0 3 4 8 9 +0 3 4 8 10 +0 3 4 8 11 +0 3 4 8 12 +0 3 4 8 13 +0 3 4 8 14 +0 3 4 8 15 +0 3 4 9 10 +0 3 4 9 11 +0 3 4 9 12 +0 3 4 9 13 +0 3 4 9 14 +0 3 4 9 15 +0 3 4 10 11 +0 3 4 10 12 +0 3 4 10 13 +0 3 4 10 14 +0 3 4 10 15 +0 3 4 11 12 +0 3 4 11 13 +0 3 4 11 14 +0 3 4 11 15 +0 3 4 12 13 +0 3 4 12 14 +0 3 4 12 15 +0 3 4 13 14 +0 3 4 13 15 +0 3 4 14 15 +0 3 5 6 7 +0 3 5 6 8 +0 3 5 6 9 +0 3 5 6 10 +0 3 5 6 11 +0 3 5 6 12 +0 3 5 6 13 +0 3 5 6 14 +0 3 5 6 15 +0 3 5 7 8 +0 3 5 7 9 +0 3 5 7 10 +0 3 5 7 11 +0 3 5 7 12 +0 3 5 7 13 +0 3 5 7 14 +0 3 5 7 15 +0 3 5 8 9 +0 3 5 8 10 +0 3 5 8 11 +0 3 5 8 12 +0 3 5 8 13 +0 3 5 8 14 +0 3 5 8 15 +0 3 5 9 10 +0 3 5 9 11 +0 3 5 9 12 +0 3 5 9 13 +0 3 5 9 14 +0 3 5 9 15 +0 3 5 10 11 +0 3 5 10 12 +0 3 5 10 13 +0 3 5 10 14 +0 3 5 10 15 +0 3 5 11 12 +0 3 5 11 13 +0 3 5 11 14 +0 3 5 11 15 +0 3 5 12 13 +0 3 5 12 14 +0 3 5 12 15 +0 3 5 13 14 +0 3 5 13 15 +0 3 5 14 15 +0 3 6 7 8 +0 3 6 7 9 +0 3 6 7 10 +0 3 6 7 11 +0 3 6 7 12 +0 3 6 7 13 +0 3 6 7 14 +0 3 6 7 15 +0 3 6 8 9 +0 3 6 8 10 +0 3 6 8 11 +0 3 6 8 12 +0 3 6 8 13 +0 3 6 8 14 +0 3 6 8 15 +0 3 6 9 10 +0 3 6 9 11 +0 3 6 9 12 +0 3 6 9 13 +0 3 6 9 14 +0 3 6 9 15 +0 3 6 10 11 +0 3 6 10 12 +0 3 6 10 13 +0 3 6 10 14 +0 3 6 10 15 +0 3 6 11 12 +0 3 6 11 13 +0 3 6 11 14 +0 3 6 11 15 +0 3 6 12 13 +0 3 6 12 14 +0 3 6 12 15 +0 3 6 13 14 +0 3 6 13 15 +0 3 6 14 15 +0 3 7 8 9 +0 3 7 8 10 +0 3 7 8 11 +0 3 7 8 12 +0 3 7 8 13 +0 3 7 8 14 +0 3 7 8 15 +0 3 7 9 10 +0 3 7 9 11 +0 3 7 9 12 +0 3 7 9 13 +0 3 7 9 14 +0 3 7 9 15 +0 3 7 10 11 +0 3 7 10 12 +0 3 7 10 13 +0 3 7 10 14 +0 3 7 10 15 +0 3 7 11 12 +0 3 7 11 13 +0 3 7 11 14 +0 3 7 11 15 +0 3 7 12 13 +0 3 7 12 14 +0 3 7 12 15 +0 3 7 13 14 +0 3 7 13 15 +0 3 7 14 15 +0 3 8 9 10 +0 3 8 9 11 +0 3 8 9 12 +0 3 8 9 13 +0 3 8 9 14 +0 3 8 9 15 +0 3 8 10 11 +0 3 8 10 12 +0 3 8 10 13 +0 3 8 10 14 +0 3 8 10 15 +0 3 8 11 12 +0 3 8 11 13 +0 3 8 11 14 +0 3 8 11 15 +0 3 8 12 13 +0 3 8 12 14 +0 3 8 12 15 +0 3 8 13 14 +0 3 8 13 15 +0 3 8 14 15 +0 3 9 10 11 +0 3 9 10 12 +0 3 9 10 13 +0 3 9 10 14 +0 3 9 10 15 +0 3 9 11 12 +0 3 9 11 13 +0 3 9 11 14 +0 3 9 11 15 +0 3 9 12 13 +0 3 9 12 14 +0 3 9 12 15 +0 3 9 13 14 +0 3 9 13 15 +0 3 9 14 15 +0 3 10 11 12 +0 3 10 11 13 +0 3 10 11 14 +0 3 10 11 15 +0 3 10 12 13 +0 3 10 12 14 +0 3 10 12 15 +0 3 10 13 14 +0 3 10 13 15 +0 3 10 14 15 +0 3 11 12 13 +0 3 11 12 14 +0 3 11 12 15 +0 3 11 13 14 +0 3 11 13 15 +0 3 11 14 15 +0 3 12 13 14 +0 3 12 13 15 +0 3 12 14 15 +0 3 13 14 15 +0 4 5 6 7 +0 4 5 6 8 +0 4 5 6 9 +0 4 5 6 10 +0 4 5 6 11 +0 4 5 6 12 +0 4 5 6 13 +0 4 5 6 14 +0 4 5 6 15 +0 4 5 7 8 +0 4 5 7 9 +0 4 5 7 10 +0 4 5 7 11 +0 4 5 7 12 +0 4 5 7 13 +0 4 5 7 14 +0 4 5 7 15 +0 4 5 8 9 +0 4 5 8 10 +0 4 5 8 11 +0 4 5 8 12 +0 4 5 8 13 +0 4 5 8 14 +0 4 5 8 15 +0 4 5 9 10 +0 4 5 9 11 +0 4 5 9 12 +0 4 5 9 13 +0 4 5 9 14 +0 4 5 9 15 +0 4 5 10 11 +0 4 5 10 12 +0 4 5 10 13 +0 4 5 10 14 +0 4 5 10 15 +0 4 5 11 12 +0 4 5 11 13 +0 4 5 11 14 +0 4 5 11 15 +0 4 5 12 13 +0 4 5 12 14 +0 4 5 12 15 +0 4 5 13 14 +0 4 5 13 15 +0 4 5 14 15 +0 4 6 7 8 +0 4 6 7 9 +0 4 6 7 10 +0 4 6 7 11 +0 4 6 7 12 +0 4 6 7 13 +0 4 6 7 14 +0 4 6 7 15 +0 4 6 8 9 +0 4 6 8 10 +0 4 6 8 11 +0 4 6 8 12 +0 4 6 8 13 +0 4 6 8 14 +0 4 6 8 15 +0 4 6 9 10 +0 4 6 9 11 +0 4 6 9 12 +0 4 6 9 13 +0 4 6 9 14 +0 4 6 9 15 +0 4 6 10 11 +0 4 6 10 12 +0 4 6 10 13 +0 4 6 10 14 +0 4 6 10 15 +0 4 6 11 12 +0 4 6 11 13 +0 4 6 11 14 +0 4 6 11 15 +0 4 6 12 13 +0 4 6 12 14 +0 4 6 12 15 +0 4 6 13 14 +0 4 6 13 15 +0 4 6 14 15 +0 4 7 8 9 +0 4 7 8 10 +0 4 7 8 11 +0 4 7 8 12 +0 4 7 8 13 +0 4 7 8 14 +0 4 7 8 15 +0 4 7 9 10 +0 4 7 9 11 +0 4 7 9 12 +0 4 7 9 13 +0 4 7 9 14 +0 4 7 9 15 +0 4 7 10 11 +0 4 7 10 12 +0 4 7 10 13 +0 4 7 10 14 +0 4 7 10 15 +0 4 7 11 12 +0 4 7 11 13 +0 4 7 11 14 +0 4 7 11 15 +0 4 7 12 13 +0 4 7 12 14 +0 4 7 12 15 +0 4 7 13 14 +0 4 7 13 15 +0 4 7 14 15 +0 4 8 9 10 +0 4 8 9 11 +0 4 8 9 12 +0 4 8 9 13 +0 4 8 9 14 +0 4 8 9 15 +0 4 8 10 11 +0 4 8 10 12 +0 4 8 10 13 +0 4 8 10 14 +0 4 8 10 15 +0 4 8 11 12 +0 4 8 11 13 +0 4 8 11 14 +0 4 8 11 15 +0 4 8 12 13 +0 4 8 12 14 +0 4 8 12 15 +0 4 8 13 14 +0 4 8 13 15 +0 4 8 14 15 +0 4 9 10 11 +0 4 9 10 12 +0 4 9 10 13 +0 4 9 10 14 +0 4 9 10 15 +0 4 9 11 12 +0 4 9 11 13 +0 4 9 11 14 +0 4 9 11 15 +0 4 9 12 13 +0 4 9 12 14 +0 4 9 12 15 +0 4 9 13 14 +0 4 9 13 15 +0 4 9 14 15 +0 4 10 11 12 +0 4 10 11 13 +0 4 10 11 14 +0 4 10 11 15 +0 4 10 12 13 +0 4 10 12 14 +0 4 10 12 15 +0 4 10 13 14 +0 4 10 13 15 +0 4 10 14 15 +0 4 11 12 13 +0 4 11 12 14 +0 4 11 12 15 +0 4 11 13 14 +0 4 11 13 15 +0 4 11 14 15 +0 4 12 13 14 +0 4 12 13 15 +0 4 12 14 15 +0 4 13 14 15 +0 5 6 7 8 +0 5 6 7 9 +0 5 6 7 10 +0 5 6 7 11 +0 5 6 7 12 +0 5 6 7 13 +0 5 6 7 14 +0 5 6 7 15 +0 5 6 8 9 +0 5 6 8 10 +0 5 6 8 11 +0 5 6 8 12 +0 5 6 8 13 +0 5 6 8 14 +0 5 6 8 15 +0 5 6 9 10 +0 5 6 9 11 +0 5 6 9 12 +0 5 6 9 13 +0 5 6 9 14 +0 5 6 9 15 +0 5 6 10 11 +0 5 6 10 12 +0 5 6 10 13 +0 5 6 10 14 +0 5 6 10 15 +0 5 6 11 12 +0 5 6 11 13 +0 5 6 11 14 +0 5 6 11 15 +0 5 6 12 13 +0 5 6 12 14 +0 5 6 12 15 +0 5 6 13 14 +0 5 6 13 15 +0 5 6 14 15 +0 5 7 8 9 +0 5 7 8 10 +0 5 7 8 11 +0 5 7 8 12 +0 5 7 8 13 +0 5 7 8 14 +0 5 7 8 15 +0 5 7 9 10 +0 5 7 9 11 +0 5 7 9 12 +0 5 7 9 13 +0 5 7 9 14 +0 5 7 9 15 +0 5 7 10 11 +0 5 7 10 12 +0 5 7 10 13 +0 5 7 10 14 +0 5 7 10 15 +0 5 7 11 12 +0 5 7 11 13 +0 5 7 11 14 +0 5 7 11 15 +0 5 7 12 13 +0 5 7 12 14 +0 5 7 12 15 +0 5 7 13 14 +0 5 7 13 15 +0 5 7 14 15 +0 5 8 9 10 +0 5 8 9 11 +0 5 8 9 12 +0 5 8 9 13 +0 5 8 9 14 +0 5 8 9 15 +0 5 8 10 11 +0 5 8 10 12 +0 5 8 10 13 +0 5 8 10 14 +0 5 8 10 15 +0 5 8 11 12 +0 5 8 11 13 +0 5 8 11 14 +0 5 8 11 15 +0 5 8 12 13 +0 5 8 12 14 +0 5 8 12 15 +0 5 8 13 14 +0 5 8 13 15 +0 5 8 14 15 +0 5 9 10 11 +0 5 9 10 12 +0 5 9 10 13 +0 5 9 10 14 +0 5 9 10 15 +0 5 9 11 12 +0 5 9 11 13 +0 5 9 11 14 +0 5 9 11 15 +0 5 9 12 13 +0 5 9 12 14 +0 5 9 12 15 +0 5 9 13 14 +0 5 9 13 15 +0 5 9 14 15 +0 5 10 11 12 +0 5 10 11 13 +0 5 10 11 14 +0 5 10 11 15 +0 5 10 12 13 +0 5 10 12 14 +0 5 10 12 15 +0 5 10 13 14 +0 5 10 13 15 +0 5 10 14 15 +0 5 11 12 13 +0 5 11 12 14 +0 5 11 12 15 +0 5 11 13 14 +0 5 11 13 15 +0 5 11 14 15 +0 5 12 13 14 +0 5 12 13 15 +0 5 12 14 15 +0 5 13 14 15 +0 6 7 8 9 +0 6 7 8 10 +0 6 7 8 11 +0 6 7 8 12 +0 6 7 8 13 +0 6 7 8 14 +0 6 7 8 15 +0 6 7 9 10 +0 6 7 9 11 +0 6 7 9 12 +0 6 7 9 13 +0 6 7 9 14 +0 6 7 9 15 +0 6 7 10 11 +0 6 7 10 12 +0 6 7 10 13 +0 6 7 10 14 +0 6 7 10 15 +0 6 7 11 12 +0 6 7 11 13 +0 6 7 11 14 +0 6 7 11 15 +0 6 7 12 13 +0 6 7 12 14 +0 6 7 12 15 +0 6 7 13 14 +0 6 7 13 15 +0 6 7 14 15 +0 6 8 9 10 +0 6 8 9 11 +0 6 8 9 12 +0 6 8 9 13 +0 6 8 9 14 +0 6 8 9 15 +0 6 8 10 11 +0 6 8 10 12 +0 6 8 10 13 +0 6 8 10 14 +0 6 8 10 15 +0 6 8 11 12 +0 6 8 11 13 +0 6 8 11 14 +0 6 8 11 15 +0 6 8 12 13 +0 6 8 12 14 +0 6 8 12 15 +0 6 8 13 14 +0 6 8 13 15 +0 6 8 14 15 +0 6 9 10 11 +0 6 9 10 12 +0 6 9 10 13 +0 6 9 10 14 +0 6 9 10 15 +0 6 9 11 12 +0 6 9 11 13 +0 6 9 11 14 +0 6 9 11 15 +0 6 9 12 13 +0 6 9 12 14 +0 6 9 12 15 +0 6 9 13 14 +0 6 9 13 15 +0 6 9 14 15 +0 6 10 11 12 +0 6 10 11 13 +0 6 10 11 14 +0 6 10 11 15 +0 6 10 12 13 +0 6 10 12 14 +0 6 10 12 15 +0 6 10 13 14 +0 6 10 13 15 +0 6 10 14 15 +0 6 11 12 13 +0 6 11 12 14 +0 6 11 12 15 +0 6 11 13 14 +0 6 11 13 15 +0 6 11 14 15 +0 6 12 13 14 +0 6 12 13 15 +0 6 12 14 15 +0 6 13 14 15 +0 7 8 9 10 +0 7 8 9 11 +0 7 8 9 12 +0 7 8 9 13 +0 7 8 9 14 +0 7 8 9 15 +0 7 8 10 11 +0 7 8 10 12 +0 7 8 10 13 +0 7 8 10 14 +0 7 8 10 15 +0 7 8 11 12 +0 7 8 11 13 +0 7 8 11 14 +0 7 8 11 15 +0 7 8 12 13 +0 7 8 12 14 +0 7 8 12 15 +0 7 8 13 14 +0 7 8 13 15 +0 7 8 14 15 +0 7 9 10 11 +0 7 9 10 12 +0 7 9 10 13 +0 7 9 10 14 +0 7 9 10 15 +0 7 9 11 12 +0 7 9 11 13 +0 7 9 11 14 +0 7 9 11 15 +0 7 9 12 13 +0 7 9 12 14 +0 7 9 12 15 +0 7 9 13 14 +0 7 9 13 15 +0 7 9 14 15 +0 7 10 11 12 +0 7 10 11 13 +0 7 10 11 14 +0 7 10 11 15 +0 7 10 12 13 +0 7 10 12 14 +0 7 10 12 15 +0 7 10 13 14 +0 7 10 13 15 +0 7 10 14 15 +0 7 11 12 13 +0 7 11 12 14 +0 7 11 12 15 +0 7 11 13 14 +0 7 11 13 15 +0 7 11 14 15 +0 7 12 13 14 +0 7 12 13 15 +0 7 12 14 15 +0 7 13 14 15 +0 8 9 10 11 +0 8 9 10 12 +0 8 9 10 13 +0 8 9 10 14 +0 8 9 10 15 +0 8 9 11 12 +0 8 9 11 13 +0 8 9 11 14 +0 8 9 11 15 +0 8 9 12 13 +0 8 9 12 14 +0 8 9 12 15 +0 8 9 13 14 +0 8 9 13 15 +0 8 9 14 15 +0 8 10 11 12 +0 8 10 11 13 +0 8 10 11 14 +0 8 10 11 15 +0 8 10 12 13 +0 8 10 12 14 +0 8 10 12 15 +0 8 10 13 14 +0 8 10 13 15 +0 8 10 14 15 +0 8 11 12 13 +0 8 11 12 14 +0 8 11 12 15 +0 8 11 13 14 +0 8 11 13 15 +0 8 11 14 15 +0 8 12 13 14 +0 8 12 13 15 +0 8 12 14 15 +0 8 13 14 15 +0 9 10 11 12 +0 9 10 11 13 +0 9 10 11 14 +0 9 10 11 15 +0 9 10 12 13 +0 9 10 12 14 +0 9 10 12 15 +0 9 10 13 14 +0 9 10 13 15 +0 9 10 14 15 +0 9 11 12 13 +0 9 11 12 14 +0 9 11 12 15 +0 9 11 13 14 +0 9 11 13 15 +0 9 11 14 15 +0 9 12 13 14 +0 9 12 13 15 +0 9 12 14 15 +0 9 13 14 15 +0 10 11 12 13 +0 10 11 12 14 +0 10 11 12 15 +0 10 11 13 14 +0 10 11 13 15 +0 10 11 14 15 +0 10 12 13 14 +0 10 12 13 15 +0 10 12 14 15 +0 10 13 14 15 +0 11 12 13 14 +0 11 12 13 15 +0 11 12 14 15 +0 11 13 14 15 +0 12 13 14 15 +1 2 3 4 5 +1 2 3 4 6 +1 2 3 4 7 +1 2 3 4 8 +1 2 3 4 9 +1 2 3 4 10 +1 2 3 4 11 +1 2 3 4 12 +1 2 3 4 13 +1 2 3 4 14 +1 2 3 4 15 +1 2 3 5 6 +1 2 3 5 7 +1 2 3 5 8 +1 2 3 5 9 +1 2 3 5 10 +1 2 3 5 11 +1 2 3 5 12 +1 2 3 5 13 +1 2 3 5 14 +1 2 3 5 15 +1 2 3 6 7 +1 2 3 6 8 +1 2 3 6 9 +1 2 3 6 10 +1 2 3 6 11 +1 2 3 6 12 +1 2 3 6 13 +1 2 3 6 14 +1 2 3 6 15 +1 2 3 7 8 +1 2 3 7 9 +1 2 3 7 10 +1 2 3 7 11 +1 2 3 7 12 +1 2 3 7 13 +1 2 3 7 14 +1 2 3 7 15 +1 2 3 8 9 +1 2 3 8 10 +1 2 3 8 11 +1 2 3 8 12 +1 2 3 8 13 +1 2 3 8 14 +1 2 3 8 15 +1 2 3 9 10 +1 2 3 9 11 +1 2 3 9 12 +1 2 3 9 13 +1 2 3 9 14 +1 2 3 9 15 +1 2 3 10 11 +1 2 3 10 12 +1 2 3 10 13 +1 2 3 10 14 +1 2 3 10 15 +1 2 3 11 12 +1 2 3 11 13 +1 2 3 11 14 +1 2 3 11 15 +1 2 3 12 13 +1 2 3 12 14 +1 2 3 12 15 +1 2 3 13 14 +1 2 3 13 15 +1 2 3 14 15 +1 2 4 5 6 +1 2 4 5 7 +1 2 4 5 8 +1 2 4 5 9 +1 2 4 5 10 +1 2 4 5 11 +1 2 4 5 12 +1 2 4 5 13 +1 2 4 5 14 +1 2 4 5 15 +1 2 4 6 7 +1 2 4 6 8 +1 2 4 6 9 +1 2 4 6 10 +1 2 4 6 11 +1 2 4 6 12 +1 2 4 6 13 +1 2 4 6 14 +1 2 4 6 15 +1 2 4 7 8 +1 2 4 7 9 +1 2 4 7 10 +1 2 4 7 11 +1 2 4 7 12 +1 2 4 7 13 +1 2 4 7 14 +1 2 4 7 15 +1 2 4 8 9 +1 2 4 8 10 +1 2 4 8 11 +1 2 4 8 12 +1 2 4 8 13 +1 2 4 8 14 +1 2 4 8 15 +1 2 4 9 10 +1 2 4 9 11 +1 2 4 9 12 +1 2 4 9 13 +1 2 4 9 14 +1 2 4 9 15 +1 2 4 10 11 +1 2 4 10 12 +1 2 4 10 13 +1 2 4 10 14 +1 2 4 10 15 +1 2 4 11 12 +1 2 4 11 13 +1 2 4 11 14 +1 2 4 11 15 +1 2 4 12 13 +1 2 4 12 14 +1 2 4 12 15 +1 2 4 13 14 +1 2 4 13 15 +1 2 4 14 15 +1 2 5 6 7 +1 2 5 6 8 +1 2 5 6 9 +1 2 5 6 10 +1 2 5 6 11 +1 2 5 6 12 +1 2 5 6 13 +1 2 5 6 14 +1 2 5 6 15 +1 2 5 7 8 +1 2 5 7 9 +1 2 5 7 10 +1 2 5 7 11 +1 2 5 7 12 +1 2 5 7 13 +1 2 5 7 14 +1 2 5 7 15 +1 2 5 8 9 +1 2 5 8 10 +1 2 5 8 11 +1 2 5 8 12 +1 2 5 8 13 +1 2 5 8 14 +1 2 5 8 15 +1 2 5 9 10 +1 2 5 9 11 +1 2 5 9 12 +1 2 5 9 13 +1 2 5 9 14 +1 2 5 9 15 +1 2 5 10 11 +1 2 5 10 12 +1 2 5 10 13 +1 2 5 10 14 +1 2 5 10 15 +1 2 5 11 12 +1 2 5 11 13 +1 2 5 11 14 +1 2 5 11 15 +1 2 5 12 13 +1 2 5 12 14 +1 2 5 12 15 +1 2 5 13 14 +1 2 5 13 15 +1 2 5 14 15 +1 2 6 7 8 +1 2 6 7 9 +1 2 6 7 10 +1 2 6 7 11 +1 2 6 7 12 +1 2 6 7 13 +1 2 6 7 14 +1 2 6 7 15 +1 2 6 8 9 +1 2 6 8 10 +1 2 6 8 11 +1 2 6 8 12 +1 2 6 8 13 +1 2 6 8 14 +1 2 6 8 15 +1 2 6 9 10 +1 2 6 9 11 +1 2 6 9 12 +1 2 6 9 13 +1 2 6 9 14 +1 2 6 9 15 +1 2 6 10 11 +1 2 6 10 12 +1 2 6 10 13 +1 2 6 10 14 +1 2 6 10 15 +1 2 6 11 12 +1 2 6 11 13 +1 2 6 11 14 +1 2 6 11 15 +1 2 6 12 13 +1 2 6 12 14 +1 2 6 12 15 +1 2 6 13 14 +1 2 6 13 15 +1 2 6 14 15 +1 2 7 8 9 +1 2 7 8 10 +1 2 7 8 11 +1 2 7 8 12 +1 2 7 8 13 +1 2 7 8 14 +1 2 7 8 15 +1 2 7 9 10 +1 2 7 9 11 +1 2 7 9 12 +1 2 7 9 13 +1 2 7 9 14 +1 2 7 9 15 +1 2 7 10 11 +1 2 7 10 12 +1 2 7 10 13 +1 2 7 10 14 +1 2 7 10 15 +1 2 7 11 12 +1 2 7 11 13 +1 2 7 11 14 +1 2 7 11 15 +1 2 7 12 13 +1 2 7 12 14 +1 2 7 12 15 +1 2 7 13 14 +1 2 7 13 15 +1 2 7 14 15 +1 2 8 9 10 +1 2 8 9 11 +1 2 8 9 12 +1 2 8 9 13 +1 2 8 9 14 +1 2 8 9 15 +1 2 8 10 11 +1 2 8 10 12 +1 2 8 10 13 +1 2 8 10 14 +1 2 8 10 15 +1 2 8 11 12 +1 2 8 11 13 +1 2 8 11 14 +1 2 8 11 15 +1 2 8 12 13 +1 2 8 12 14 +1 2 8 12 15 +1 2 8 13 14 +1 2 8 13 15 +1 2 8 14 15 +1 2 9 10 11 +1 2 9 10 12 +1 2 9 10 13 +1 2 9 10 14 +1 2 9 10 15 +1 2 9 11 12 +1 2 9 11 13 +1 2 9 11 14 +1 2 9 11 15 +1 2 9 12 13 +1 2 9 12 14 +1 2 9 12 15 +1 2 9 13 14 +1 2 9 13 15 +1 2 9 14 15 +1 2 10 11 12 +1 2 10 11 13 +1 2 10 11 14 +1 2 10 11 15 +1 2 10 12 13 +1 2 10 12 14 +1 2 10 12 15 +1 2 10 13 14 +1 2 10 13 15 +1 2 10 14 15 +1 2 11 12 13 +1 2 11 12 14 +1 2 11 12 15 +1 2 11 13 14 +1 2 11 13 15 +1 2 11 14 15 +1 2 12 13 14 +1 2 12 13 15 +1 2 12 14 15 +1 2 13 14 15 +1 3 4 5 6 +1 3 4 5 7 +1 3 4 5 8 +1 3 4 5 9 +1 3 4 5 10 +1 3 4 5 11 +1 3 4 5 12 +1 3 4 5 13 +1 3 4 5 14 +1 3 4 5 15 +1 3 4 6 7 +1 3 4 6 8 +1 3 4 6 9 +1 3 4 6 10 +1 3 4 6 11 +1 3 4 6 12 +1 3 4 6 13 +1 3 4 6 14 +1 3 4 6 15 +1 3 4 7 8 +1 3 4 7 9 +1 3 4 7 10 +1 3 4 7 11 +1 3 4 7 12 +1 3 4 7 13 +1 3 4 7 14 +1 3 4 7 15 +1 3 4 8 9 +1 3 4 8 10 +1 3 4 8 11 +1 3 4 8 12 +1 3 4 8 13 +1 3 4 8 14 +1 3 4 8 15 +1 3 4 9 10 +1 3 4 9 11 +1 3 4 9 12 +1 3 4 9 13 +1 3 4 9 14 +1 3 4 9 15 +1 3 4 10 11 +1 3 4 10 12 +1 3 4 10 13 +1 3 4 10 14 +1 3 4 10 15 +1 3 4 11 12 +1 3 4 11 13 +1 3 4 11 14 +1 3 4 11 15 +1 3 4 12 13 +1 3 4 12 14 +1 3 4 12 15 +1 3 4 13 14 +1 3 4 13 15 +1 3 4 14 15 +1 3 5 6 7 +1 3 5 6 8 +1 3 5 6 9 +1 3 5 6 10 +1 3 5 6 11 +1 3 5 6 12 +1 3 5 6 13 +1 3 5 6 14 +1 3 5 6 15 +1 3 5 7 8 +1 3 5 7 9 +1 3 5 7 10 +1 3 5 7 11 +1 3 5 7 12 +1 3 5 7 13 +1 3 5 7 14 +1 3 5 7 15 +1 3 5 8 9 +1 3 5 8 10 +1 3 5 8 11 +1 3 5 8 12 +1 3 5 8 13 +1 3 5 8 14 +1 3 5 8 15 +1 3 5 9 10 +1 3 5 9 11 +1 3 5 9 12 +1 3 5 9 13 +1 3 5 9 14 +1 3 5 9 15 +1 3 5 10 11 +1 3 5 10 12 +1 3 5 10 13 +1 3 5 10 14 +1 3 5 10 15 +1 3 5 11 12 +1 3 5 11 13 +1 3 5 11 14 +1 3 5 11 15 +1 3 5 12 13 +1 3 5 12 14 +1 3 5 12 15 +1 3 5 13 14 +1 3 5 13 15 +1 3 5 14 15 +1 3 6 7 8 +1 3 6 7 9 +1 3 6 7 10 +1 3 6 7 11 +1 3 6 7 12 +1 3 6 7 13 +1 3 6 7 14 +1 3 6 7 15 +1 3 6 8 9 +1 3 6 8 10 +1 3 6 8 11 +1 3 6 8 12 +1 3 6 8 13 +1 3 6 8 14 +1 3 6 8 15 +1 3 6 9 10 +1 3 6 9 11 +1 3 6 9 12 +1 3 6 9 13 +1 3 6 9 14 +1 3 6 9 15 +1 3 6 10 11 +1 3 6 10 12 +1 3 6 10 13 +1 3 6 10 14 +1 3 6 10 15 +1 3 6 11 12 +1 3 6 11 13 +1 3 6 11 14 +1 3 6 11 15 +1 3 6 12 13 +1 3 6 12 14 +1 3 6 12 15 +1 3 6 13 14 +1 3 6 13 15 +1 3 6 14 15 +1 3 7 8 9 +1 3 7 8 10 +1 3 7 8 11 +1 3 7 8 12 +1 3 7 8 13 +1 3 7 8 14 +1 3 7 8 15 +1 3 7 9 10 +1 3 7 9 11 +1 3 7 9 12 +1 3 7 9 13 +1 3 7 9 14 +1 3 7 9 15 +1 3 7 10 11 +1 3 7 10 12 +1 3 7 10 13 +1 3 7 10 14 +1 3 7 10 15 +1 3 7 11 12 +1 3 7 11 13 +1 3 7 11 14 +1 3 7 11 15 +1 3 7 12 13 +1 3 7 12 14 +1 3 7 12 15 +1 3 7 13 14 +1 3 7 13 15 +1 3 7 14 15 +1 3 8 9 10 +1 3 8 9 11 +1 3 8 9 12 +1 3 8 9 13 +1 3 8 9 14 +1 3 8 9 15 +1 3 8 10 11 +1 3 8 10 12 +1 3 8 10 13 +1 3 8 10 14 +1 3 8 10 15 +1 3 8 11 12 +1 3 8 11 13 +1 3 8 11 14 +1 3 8 11 15 +1 3 8 12 13 +1 3 8 12 14 +1 3 8 12 15 +1 3 8 13 14 +1 3 8 13 15 +1 3 8 14 15 +1 3 9 10 11 +1 3 9 10 12 +1 3 9 10 13 +1 3 9 10 14 +1 3 9 10 15 +1 3 9 11 12 +1 3 9 11 13 +1 3 9 11 14 +1 3 9 11 15 +1 3 9 12 13 +1 3 9 12 14 +1 3 9 12 15 +1 3 9 13 14 +1 3 9 13 15 +1 3 9 14 15 +1 3 10 11 12 +1 3 10 11 13 +1 3 10 11 14 +1 3 10 11 15 +1 3 10 12 13 +1 3 10 12 14 +1 3 10 12 15 +1 3 10 13 14 +1 3 10 13 15 +1 3 10 14 15 +1 3 11 12 13 +1 3 11 12 14 +1 3 11 12 15 +1 3 11 13 14 +1 3 11 13 15 +1 3 11 14 15 +1 3 12 13 14 +1 3 12 13 15 +1 3 12 14 15 +1 3 13 14 15 +1 4 5 6 7 +1 4 5 6 8 +1 4 5 6 9 +1 4 5 6 10 +1 4 5 6 11 +1 4 5 6 12 +1 4 5 6 13 +1 4 5 6 14 +1 4 5 6 15 +1 4 5 7 8 +1 4 5 7 9 +1 4 5 7 10 +1 4 5 7 11 +1 4 5 7 12 +1 4 5 7 13 +1 4 5 7 14 +1 4 5 7 15 +1 4 5 8 9 +1 4 5 8 10 +1 4 5 8 11 +1 4 5 8 12 +1 4 5 8 13 +1 4 5 8 14 +1 4 5 8 15 +1 4 5 9 10 +1 4 5 9 11 +1 4 5 9 12 +1 4 5 9 13 +1 4 5 9 14 +1 4 5 9 15 +1 4 5 10 11 +1 4 5 10 12 +1 4 5 10 13 +1 4 5 10 14 +1 4 5 10 15 +1 4 5 11 12 +1 4 5 11 13 +1 4 5 11 14 +1 4 5 11 15 +1 4 5 12 13 +1 4 5 12 14 +1 4 5 12 15 +1 4 5 13 14 +1 4 5 13 15 +1 4 5 14 15 +1 4 6 7 8 +1 4 6 7 9 +1 4 6 7 10 +1 4 6 7 11 +1 4 6 7 12 +1 4 6 7 13 +1 4 6 7 14 +1 4 6 7 15 +1 4 6 8 9 +1 4 6 8 10 +1 4 6 8 11 +1 4 6 8 12 +1 4 6 8 13 +1 4 6 8 14 +1 4 6 8 15 +1 4 6 9 10 +1 4 6 9 11 +1 4 6 9 12 +1 4 6 9 13 +1 4 6 9 14 +1 4 6 9 15 +1 4 6 10 11 +1 4 6 10 12 +1 4 6 10 13 +1 4 6 10 14 +1 4 6 10 15 +1 4 6 11 12 +1 4 6 11 13 +1 4 6 11 14 +1 4 6 11 15 +1 4 6 12 13 +1 4 6 12 14 +1 4 6 12 15 +1 4 6 13 14 +1 4 6 13 15 +1 4 6 14 15 +1 4 7 8 9 +1 4 7 8 10 +1 4 7 8 11 +1 4 7 8 12 +1 4 7 8 13 +1 4 7 8 14 +1 4 7 8 15 +1 4 7 9 10 +1 4 7 9 11 +1 4 7 9 12 +1 4 7 9 13 +1 4 7 9 14 +1 4 7 9 15 +1 4 7 10 11 +1 4 7 10 12 +1 4 7 10 13 +1 4 7 10 14 +1 4 7 10 15 +1 4 7 11 12 +1 4 7 11 13 +1 4 7 11 14 +1 4 7 11 15 +1 4 7 12 13 +1 4 7 12 14 +1 4 7 12 15 +1 4 7 13 14 +1 4 7 13 15 +1 4 7 14 15 +1 4 8 9 10 +1 4 8 9 11 +1 4 8 9 12 +1 4 8 9 13 +1 4 8 9 14 +1 4 8 9 15 +1 4 8 10 11 +1 4 8 10 12 +1 4 8 10 13 +1 4 8 10 14 +1 4 8 10 15 +1 4 8 11 12 +1 4 8 11 13 +1 4 8 11 14 +1 4 8 11 15 +1 4 8 12 13 +1 4 8 12 14 +1 4 8 12 15 +1 4 8 13 14 +1 4 8 13 15 +1 4 8 14 15 +1 4 9 10 11 +1 4 9 10 12 +1 4 9 10 13 +1 4 9 10 14 +1 4 9 10 15 +1 4 9 11 12 +1 4 9 11 13 +1 4 9 11 14 +1 4 9 11 15 +1 4 9 12 13 +1 4 9 12 14 +1 4 9 12 15 +1 4 9 13 14 +1 4 9 13 15 +1 4 9 14 15 +1 4 10 11 12 +1 4 10 11 13 +1 4 10 11 14 +1 4 10 11 15 +1 4 10 12 13 +1 4 10 12 14 +1 4 10 12 15 +1 4 10 13 14 +1 4 10 13 15 +1 4 10 14 15 +1 4 11 12 13 +1 4 11 12 14 +1 4 11 12 15 +1 4 11 13 14 +1 4 11 13 15 +1 4 11 14 15 +1 4 12 13 14 +1 4 12 13 15 +1 4 12 14 15 +1 4 13 14 15 +1 5 6 7 8 +1 5 6 7 9 +1 5 6 7 10 +1 5 6 7 11 +1 5 6 7 12 +1 5 6 7 13 +1 5 6 7 14 +1 5 6 7 15 +1 5 6 8 9 +1 5 6 8 10 +1 5 6 8 11 +1 5 6 8 12 +1 5 6 8 13 +1 5 6 8 14 +1 5 6 8 15 +1 5 6 9 10 +1 5 6 9 11 +1 5 6 9 12 +1 5 6 9 13 +1 5 6 9 14 +1 5 6 9 15 +1 5 6 10 11 +1 5 6 10 12 +1 5 6 10 13 +1 5 6 10 14 +1 5 6 10 15 +1 5 6 11 12 +1 5 6 11 13 +1 5 6 11 14 +1 5 6 11 15 +1 5 6 12 13 +1 5 6 12 14 +1 5 6 12 15 +1 5 6 13 14 +1 5 6 13 15 +1 5 6 14 15 +1 5 7 8 9 +1 5 7 8 10 +1 5 7 8 11 +1 5 7 8 12 +1 5 7 8 13 +1 5 7 8 14 +1 5 7 8 15 +1 5 7 9 10 +1 5 7 9 11 +1 5 7 9 12 +1 5 7 9 13 +1 5 7 9 14 +1 5 7 9 15 +1 5 7 10 11 +1 5 7 10 12 +1 5 7 10 13 +1 5 7 10 14 +1 5 7 10 15 +1 5 7 11 12 +1 5 7 11 13 +1 5 7 11 14 +1 5 7 11 15 +1 5 7 12 13 +1 5 7 12 14 +1 5 7 12 15 +1 5 7 13 14 +1 5 7 13 15 +1 5 7 14 15 +1 5 8 9 10 +1 5 8 9 11 +1 5 8 9 12 +1 5 8 9 13 +1 5 8 9 14 +1 5 8 9 15 +1 5 8 10 11 +1 5 8 10 12 +1 5 8 10 13 +1 5 8 10 14 +1 5 8 10 15 +1 5 8 11 12 +1 5 8 11 13 +1 5 8 11 14 +1 5 8 11 15 +1 5 8 12 13 +1 5 8 12 14 +1 5 8 12 15 +1 5 8 13 14 +1 5 8 13 15 +1 5 8 14 15 +1 5 9 10 11 +1 5 9 10 12 +1 5 9 10 13 +1 5 9 10 14 +1 5 9 10 15 +1 5 9 11 12 +1 5 9 11 13 +1 5 9 11 14 +1 5 9 11 15 +1 5 9 12 13 +1 5 9 12 14 +1 5 9 12 15 +1 5 9 13 14 +1 5 9 13 15 +1 5 9 14 15 +1 5 10 11 12 +1 5 10 11 13 +1 5 10 11 14 +1 5 10 11 15 +1 5 10 12 13 +1 5 10 12 14 +1 5 10 12 15 +1 5 10 13 14 +1 5 10 13 15 +1 5 10 14 15 +1 5 11 12 13 +1 5 11 12 14 +1 5 11 12 15 +1 5 11 13 14 +1 5 11 13 15 +1 5 11 14 15 +1 5 12 13 14 +1 5 12 13 15 +1 5 12 14 15 +1 5 13 14 15 +1 6 7 8 9 +1 6 7 8 10 +1 6 7 8 11 +1 6 7 8 12 +1 6 7 8 13 +1 6 7 8 14 +1 6 7 8 15 +1 6 7 9 10 +1 6 7 9 11 +1 6 7 9 12 +1 6 7 9 13 +1 6 7 9 14 +1 6 7 9 15 +1 6 7 10 11 +1 6 7 10 12 +1 6 7 10 13 +1 6 7 10 14 +1 6 7 10 15 +1 6 7 11 12 +1 6 7 11 13 +1 6 7 11 14 +1 6 7 11 15 +1 6 7 12 13 +1 6 7 12 14 +1 6 7 12 15 +1 6 7 13 14 +1 6 7 13 15 +1 6 7 14 15 +1 6 8 9 10 +1 6 8 9 11 +1 6 8 9 12 +1 6 8 9 13 +1 6 8 9 14 +1 6 8 9 15 +1 6 8 10 11 +1 6 8 10 12 +1 6 8 10 13 +1 6 8 10 14 +1 6 8 10 15 +1 6 8 11 12 +1 6 8 11 13 +1 6 8 11 14 +1 6 8 11 15 +1 6 8 12 13 +1 6 8 12 14 +1 6 8 12 15 +1 6 8 13 14 +1 6 8 13 15 +1 6 8 14 15 +1 6 9 10 11 +1 6 9 10 12 +1 6 9 10 13 +1 6 9 10 14 +1 6 9 10 15 +1 6 9 11 12 +1 6 9 11 13 +1 6 9 11 14 +1 6 9 11 15 +1 6 9 12 13 +1 6 9 12 14 +1 6 9 12 15 +1 6 9 13 14 +1 6 9 13 15 +1 6 9 14 15 +1 6 10 11 12 +1 6 10 11 13 +1 6 10 11 14 +1 6 10 11 15 +1 6 10 12 13 +1 6 10 12 14 +1 6 10 12 15 +1 6 10 13 14 +1 6 10 13 15 +1 6 10 14 15 +1 6 11 12 13 +1 6 11 12 14 +1 6 11 12 15 +1 6 11 13 14 +1 6 11 13 15 +1 6 11 14 15 +1 6 12 13 14 +1 6 12 13 15 +1 6 12 14 15 +1 6 13 14 15 +1 7 8 9 10 +1 7 8 9 11 +1 7 8 9 12 +1 7 8 9 13 +1 7 8 9 14 +1 7 8 9 15 +1 7 8 10 11 +1 7 8 10 12 +1 7 8 10 13 +1 7 8 10 14 +1 7 8 10 15 +1 7 8 11 12 +1 7 8 11 13 +1 7 8 11 14 +1 7 8 11 15 +1 7 8 12 13 +1 7 8 12 14 +1 7 8 12 15 +1 7 8 13 14 +1 7 8 13 15 +1 7 8 14 15 +1 7 9 10 11 +1 7 9 10 12 +1 7 9 10 13 +1 7 9 10 14 +1 7 9 10 15 +1 7 9 11 12 +1 7 9 11 13 +1 7 9 11 14 +1 7 9 11 15 +1 7 9 12 13 +1 7 9 12 14 +1 7 9 12 15 +1 7 9 13 14 +1 7 9 13 15 +1 7 9 14 15 +1 7 10 11 12 +1 7 10 11 13 +1 7 10 11 14 +1 7 10 11 15 +1 7 10 12 13 +1 7 10 12 14 +1 7 10 12 15 +1 7 10 13 14 +1 7 10 13 15 +1 7 10 14 15 +1 7 11 12 13 +1 7 11 12 14 +1 7 11 12 15 +1 7 11 13 14 +1 7 11 13 15 +1 7 11 14 15 +1 7 12 13 14 +1 7 12 13 15 +1 7 12 14 15 +1 7 13 14 15 +1 8 9 10 11 +1 8 9 10 12 +1 8 9 10 13 +1 8 9 10 14 +1 8 9 10 15 +1 8 9 11 12 +1 8 9 11 13 +1 8 9 11 14 +1 8 9 11 15 +1 8 9 12 13 +1 8 9 12 14 +1 8 9 12 15 +1 8 9 13 14 +1 8 9 13 15 +1 8 9 14 15 +1 8 10 11 12 +1 8 10 11 13 +1 8 10 11 14 +1 8 10 11 15 +1 8 10 12 13 +1 8 10 12 14 +1 8 10 12 15 +1 8 10 13 14 +1 8 10 13 15 +1 8 10 14 15 +1 8 11 12 13 +1 8 11 12 14 +1 8 11 12 15 +1 8 11 13 14 +1 8 11 13 15 +1 8 11 14 15 +1 8 12 13 14 +1 8 12 13 15 +1 8 12 14 15 +1 8 13 14 15 +1 9 10 11 12 +1 9 10 11 13 +1 9 10 11 14 +1 9 10 11 15 +1 9 10 12 13 +1 9 10 12 14 +1 9 10 12 15 +1 9 10 13 14 +1 9 10 13 15 +1 9 10 14 15 +1 9 11 12 13 +1 9 11 12 14 +1 9 11 12 15 +1 9 11 13 14 +1 9 11 13 15 +1 9 11 14 15 +1 9 12 13 14 +1 9 12 13 15 +1 9 12 14 15 +1 9 13 14 15 +1 10 11 12 13 +1 10 11 12 14 +1 10 11 12 15 +1 10 11 13 14 +1 10 11 13 15 +1 10 11 14 15 +1 10 12 13 14 +1 10 12 13 15 +1 10 12 14 15 +1 10 13 14 15 +1 11 12 13 14 +1 11 12 13 15 +1 11 12 14 15 +1 11 13 14 15 +1 12 13 14 15 +2 3 4 5 6 +2 3 4 5 7 +2 3 4 5 8 +2 3 4 5 9 +2 3 4 5 10 +2 3 4 5 11 +2 3 4 5 12 +2 3 4 5 13 +2 3 4 5 14 +2 3 4 5 15 +2 3 4 6 7 +2 3 4 6 8 +2 3 4 6 9 +2 3 4 6 10 +2 3 4 6 11 +2 3 4 6 12 +2 3 4 6 13 +2 3 4 6 14 +2 3 4 6 15 +2 3 4 7 8 +2 3 4 7 9 +2 3 4 7 10 +2 3 4 7 11 +2 3 4 7 12 +2 3 4 7 13 +2 3 4 7 14 +2 3 4 7 15 +2 3 4 8 9 +2 3 4 8 10 +2 3 4 8 11 +2 3 4 8 12 +2 3 4 8 13 +2 3 4 8 14 +2 3 4 8 15 +2 3 4 9 10 +2 3 4 9 11 +2 3 4 9 12 +2 3 4 9 13 +2 3 4 9 14 +2 3 4 9 15 +2 3 4 10 11 +2 3 4 10 12 +2 3 4 10 13 +2 3 4 10 14 +2 3 4 10 15 +2 3 4 11 12 +2 3 4 11 13 +2 3 4 11 14 +2 3 4 11 15 +2 3 4 12 13 +2 3 4 12 14 +2 3 4 12 15 +2 3 4 13 14 +2 3 4 13 15 +2 3 4 14 15 +2 3 5 6 7 +2 3 5 6 8 +2 3 5 6 9 +2 3 5 6 10 +2 3 5 6 11 +2 3 5 6 12 +2 3 5 6 13 +2 3 5 6 14 +2 3 5 6 15 +2 3 5 7 8 +2 3 5 7 9 +2 3 5 7 10 +2 3 5 7 11 +2 3 5 7 12 +2 3 5 7 13 +2 3 5 7 14 +2 3 5 7 15 +2 3 5 8 9 +2 3 5 8 10 +2 3 5 8 11 +2 3 5 8 12 +2 3 5 8 13 +2 3 5 8 14 +2 3 5 8 15 +2 3 5 9 10 +2 3 5 9 11 +2 3 5 9 12 +2 3 5 9 13 +2 3 5 9 14 +2 3 5 9 15 +2 3 5 10 11 +2 3 5 10 12 +2 3 5 10 13 +2 3 5 10 14 +2 3 5 10 15 +2 3 5 11 12 +2 3 5 11 13 +2 3 5 11 14 +2 3 5 11 15 +2 3 5 12 13 +2 3 5 12 14 +2 3 5 12 15 +2 3 5 13 14 +2 3 5 13 15 +2 3 5 14 15 +2 3 6 7 8 +2 3 6 7 9 +2 3 6 7 10 +2 3 6 7 11 +2 3 6 7 12 +2 3 6 7 13 +2 3 6 7 14 +2 3 6 7 15 +2 3 6 8 9 +2 3 6 8 10 +2 3 6 8 11 +2 3 6 8 12 +2 3 6 8 13 +2 3 6 8 14 +2 3 6 8 15 +2 3 6 9 10 +2 3 6 9 11 +2 3 6 9 12 +2 3 6 9 13 +2 3 6 9 14 +2 3 6 9 15 +2 3 6 10 11 +2 3 6 10 12 +2 3 6 10 13 +2 3 6 10 14 +2 3 6 10 15 +2 3 6 11 12 +2 3 6 11 13 +2 3 6 11 14 +2 3 6 11 15 +2 3 6 12 13 +2 3 6 12 14 +2 3 6 12 15 +2 3 6 13 14 +2 3 6 13 15 +2 3 6 14 15 +2 3 7 8 9 +2 3 7 8 10 +2 3 7 8 11 +2 3 7 8 12 +2 3 7 8 13 +2 3 7 8 14 +2 3 7 8 15 +2 3 7 9 10 +2 3 7 9 11 +2 3 7 9 12 +2 3 7 9 13 +2 3 7 9 14 +2 3 7 9 15 +2 3 7 10 11 +2 3 7 10 12 +2 3 7 10 13 +2 3 7 10 14 +2 3 7 10 15 +2 3 7 11 12 +2 3 7 11 13 +2 3 7 11 14 +2 3 7 11 15 +2 3 7 12 13 +2 3 7 12 14 +2 3 7 12 15 +2 3 7 13 14 +2 3 7 13 15 +2 3 7 14 15 +2 3 8 9 10 +2 3 8 9 11 +2 3 8 9 12 +2 3 8 9 13 +2 3 8 9 14 +2 3 8 9 15 +2 3 8 10 11 +2 3 8 10 12 +2 3 8 10 13 +2 3 8 10 14 +2 3 8 10 15 +2 3 8 11 12 +2 3 8 11 13 +2 3 8 11 14 +2 3 8 11 15 +2 3 8 12 13 +2 3 8 12 14 +2 3 8 12 15 +2 3 8 13 14 +2 3 8 13 15 +2 3 8 14 15 +2 3 9 10 11 +2 3 9 10 12 +2 3 9 10 13 +2 3 9 10 14 +2 3 9 10 15 +2 3 9 11 12 +2 3 9 11 13 +2 3 9 11 14 +2 3 9 11 15 +2 3 9 12 13 +2 3 9 12 14 +2 3 9 12 15 +2 3 9 13 14 +2 3 9 13 15 +2 3 9 14 15 +2 3 10 11 12 +2 3 10 11 13 +2 3 10 11 14 +2 3 10 11 15 +2 3 10 12 13 +2 3 10 12 14 +2 3 10 12 15 +2 3 10 13 14 +2 3 10 13 15 +2 3 10 14 15 +2 3 11 12 13 +2 3 11 12 14 +2 3 11 12 15 +2 3 11 13 14 +2 3 11 13 15 +2 3 11 14 15 +2 3 12 13 14 +2 3 12 13 15 +2 3 12 14 15 +2 3 13 14 15 +2 4 5 6 7 +2 4 5 6 8 +2 4 5 6 9 +2 4 5 6 10 +2 4 5 6 11 +2 4 5 6 12 +2 4 5 6 13 +2 4 5 6 14 +2 4 5 6 15 +2 4 5 7 8 +2 4 5 7 9 +2 4 5 7 10 +2 4 5 7 11 +2 4 5 7 12 +2 4 5 7 13 +2 4 5 7 14 +2 4 5 7 15 +2 4 5 8 9 +2 4 5 8 10 +2 4 5 8 11 +2 4 5 8 12 +2 4 5 8 13 +2 4 5 8 14 +2 4 5 8 15 +2 4 5 9 10 +2 4 5 9 11 +2 4 5 9 12 +2 4 5 9 13 +2 4 5 9 14 +2 4 5 9 15 +2 4 5 10 11 +2 4 5 10 12 +2 4 5 10 13 +2 4 5 10 14 +2 4 5 10 15 +2 4 5 11 12 +2 4 5 11 13 +2 4 5 11 14 +2 4 5 11 15 +2 4 5 12 13 +2 4 5 12 14 +2 4 5 12 15 +2 4 5 13 14 +2 4 5 13 15 +2 4 5 14 15 +2 4 6 7 8 +2 4 6 7 9 +2 4 6 7 10 +2 4 6 7 11 +2 4 6 7 12 +2 4 6 7 13 +2 4 6 7 14 +2 4 6 7 15 +2 4 6 8 9 +2 4 6 8 10 +2 4 6 8 11 +2 4 6 8 12 +2 4 6 8 13 +2 4 6 8 14 +2 4 6 8 15 +2 4 6 9 10 +2 4 6 9 11 +2 4 6 9 12 +2 4 6 9 13 +2 4 6 9 14 +2 4 6 9 15 +2 4 6 10 11 +2 4 6 10 12 +2 4 6 10 13 +2 4 6 10 14 +2 4 6 10 15 +2 4 6 11 12 +2 4 6 11 13 +2 4 6 11 14 +2 4 6 11 15 +2 4 6 12 13 +2 4 6 12 14 +2 4 6 12 15 +2 4 6 13 14 +2 4 6 13 15 +2 4 6 14 15 +2 4 7 8 9 +2 4 7 8 10 +2 4 7 8 11 +2 4 7 8 12 +2 4 7 8 13 +2 4 7 8 14 +2 4 7 8 15 +2 4 7 9 10 +2 4 7 9 11 +2 4 7 9 12 +2 4 7 9 13 +2 4 7 9 14 +2 4 7 9 15 +2 4 7 10 11 +2 4 7 10 12 +2 4 7 10 13 +2 4 7 10 14 +2 4 7 10 15 +2 4 7 11 12 +2 4 7 11 13 +2 4 7 11 14 +2 4 7 11 15 +2 4 7 12 13 +2 4 7 12 14 +2 4 7 12 15 +2 4 7 13 14 +2 4 7 13 15 +2 4 7 14 15 +2 4 8 9 10 +2 4 8 9 11 +2 4 8 9 12 +2 4 8 9 13 +2 4 8 9 14 +2 4 8 9 15 +2 4 8 10 11 +2 4 8 10 12 +2 4 8 10 13 +2 4 8 10 14 +2 4 8 10 15 +2 4 8 11 12 +2 4 8 11 13 +2 4 8 11 14 +2 4 8 11 15 +2 4 8 12 13 +2 4 8 12 14 +2 4 8 12 15 +2 4 8 13 14 +2 4 8 13 15 +2 4 8 14 15 +2 4 9 10 11 +2 4 9 10 12 +2 4 9 10 13 +2 4 9 10 14 +2 4 9 10 15 +2 4 9 11 12 +2 4 9 11 13 +2 4 9 11 14 +2 4 9 11 15 +2 4 9 12 13 +2 4 9 12 14 +2 4 9 12 15 +2 4 9 13 14 +2 4 9 13 15 +2 4 9 14 15 +2 4 10 11 12 +2 4 10 11 13 +2 4 10 11 14 +2 4 10 11 15 +2 4 10 12 13 +2 4 10 12 14 +2 4 10 12 15 +2 4 10 13 14 +2 4 10 13 15 +2 4 10 14 15 +2 4 11 12 13 +2 4 11 12 14 +2 4 11 12 15 +2 4 11 13 14 +2 4 11 13 15 +2 4 11 14 15 +2 4 12 13 14 +2 4 12 13 15 +2 4 12 14 15 +2 4 13 14 15 +2 5 6 7 8 +2 5 6 7 9 +2 5 6 7 10 +2 5 6 7 11 +2 5 6 7 12 +2 5 6 7 13 +2 5 6 7 14 +2 5 6 7 15 +2 5 6 8 9 +2 5 6 8 10 +2 5 6 8 11 +2 5 6 8 12 +2 5 6 8 13 +2 5 6 8 14 +2 5 6 8 15 +2 5 6 9 10 +2 5 6 9 11 +2 5 6 9 12 +2 5 6 9 13 +2 5 6 9 14 +2 5 6 9 15 +2 5 6 10 11 +2 5 6 10 12 +2 5 6 10 13 +2 5 6 10 14 +2 5 6 10 15 +2 5 6 11 12 +2 5 6 11 13 +2 5 6 11 14 +2 5 6 11 15 +2 5 6 12 13 +2 5 6 12 14 +2 5 6 12 15 +2 5 6 13 14 +2 5 6 13 15 +2 5 6 14 15 +2 5 7 8 9 +2 5 7 8 10 +2 5 7 8 11 +2 5 7 8 12 +2 5 7 8 13 +2 5 7 8 14 +2 5 7 8 15 +2 5 7 9 10 +2 5 7 9 11 +2 5 7 9 12 +2 5 7 9 13 +2 5 7 9 14 +2 5 7 9 15 +2 5 7 10 11 +2 5 7 10 12 +2 5 7 10 13 +2 5 7 10 14 +2 5 7 10 15 +2 5 7 11 12 +2 5 7 11 13 +2 5 7 11 14 +2 5 7 11 15 +2 5 7 12 13 +2 5 7 12 14 +2 5 7 12 15 +2 5 7 13 14 +2 5 7 13 15 +2 5 7 14 15 +2 5 8 9 10 +2 5 8 9 11 +2 5 8 9 12 +2 5 8 9 13 +2 5 8 9 14 +2 5 8 9 15 +2 5 8 10 11 +2 5 8 10 12 +2 5 8 10 13 +2 5 8 10 14 +2 5 8 10 15 +2 5 8 11 12 +2 5 8 11 13 +2 5 8 11 14 +2 5 8 11 15 +2 5 8 12 13 +2 5 8 12 14 +2 5 8 12 15 +2 5 8 13 14 +2 5 8 13 15 +2 5 8 14 15 +2 5 9 10 11 +2 5 9 10 12 +2 5 9 10 13 +2 5 9 10 14 +2 5 9 10 15 +2 5 9 11 12 +2 5 9 11 13 +2 5 9 11 14 +2 5 9 11 15 +2 5 9 12 13 +2 5 9 12 14 +2 5 9 12 15 +2 5 9 13 14 +2 5 9 13 15 +2 5 9 14 15 +2 5 10 11 12 +2 5 10 11 13 +2 5 10 11 14 +2 5 10 11 15 +2 5 10 12 13 +2 5 10 12 14 +2 5 10 12 15 +2 5 10 13 14 +2 5 10 13 15 +2 5 10 14 15 +2 5 11 12 13 +2 5 11 12 14 +2 5 11 12 15 +2 5 11 13 14 +2 5 11 13 15 +2 5 11 14 15 +2 5 12 13 14 +2 5 12 13 15 +2 5 12 14 15 +2 5 13 14 15 +2 6 7 8 9 +2 6 7 8 10 +2 6 7 8 11 +2 6 7 8 12 +2 6 7 8 13 +2 6 7 8 14 +2 6 7 8 15 +2 6 7 9 10 +2 6 7 9 11 +2 6 7 9 12 +2 6 7 9 13 +2 6 7 9 14 +2 6 7 9 15 +2 6 7 10 11 +2 6 7 10 12 +2 6 7 10 13 +2 6 7 10 14 +2 6 7 10 15 +2 6 7 11 12 +2 6 7 11 13 +2 6 7 11 14 +2 6 7 11 15 +2 6 7 12 13 +2 6 7 12 14 +2 6 7 12 15 +2 6 7 13 14 +2 6 7 13 15 +2 6 7 14 15 +2 6 8 9 10 +2 6 8 9 11 +2 6 8 9 12 +2 6 8 9 13 +2 6 8 9 14 +2 6 8 9 15 +2 6 8 10 11 +2 6 8 10 12 +2 6 8 10 13 +2 6 8 10 14 +2 6 8 10 15 +2 6 8 11 12 +2 6 8 11 13 +2 6 8 11 14 +2 6 8 11 15 +2 6 8 12 13 +2 6 8 12 14 +2 6 8 12 15 +2 6 8 13 14 +2 6 8 13 15 +2 6 8 14 15 +2 6 9 10 11 +2 6 9 10 12 +2 6 9 10 13 +2 6 9 10 14 +2 6 9 10 15 +2 6 9 11 12 +2 6 9 11 13 +2 6 9 11 14 +2 6 9 11 15 +2 6 9 12 13 +2 6 9 12 14 +2 6 9 12 15 +2 6 9 13 14 +2 6 9 13 15 +2 6 9 14 15 +2 6 10 11 12 +2 6 10 11 13 +2 6 10 11 14 +2 6 10 11 15 +2 6 10 12 13 +2 6 10 12 14 +2 6 10 12 15 +2 6 10 13 14 +2 6 10 13 15 +2 6 10 14 15 +2 6 11 12 13 +2 6 11 12 14 +2 6 11 12 15 +2 6 11 13 14 +2 6 11 13 15 +2 6 11 14 15 +2 6 12 13 14 +2 6 12 13 15 +2 6 12 14 15 +2 6 13 14 15 +2 7 8 9 10 +2 7 8 9 11 +2 7 8 9 12 +2 7 8 9 13 +2 7 8 9 14 +2 7 8 9 15 +2 7 8 10 11 +2 7 8 10 12 +2 7 8 10 13 +2 7 8 10 14 +2 7 8 10 15 +2 7 8 11 12 +2 7 8 11 13 +2 7 8 11 14 +2 7 8 11 15 +2 7 8 12 13 +2 7 8 12 14 +2 7 8 12 15 +2 7 8 13 14 +2 7 8 13 15 +2 7 8 14 15 +2 7 9 10 11 +2 7 9 10 12 +2 7 9 10 13 +2 7 9 10 14 +2 7 9 10 15 +2 7 9 11 12 +2 7 9 11 13 +2 7 9 11 14 +2 7 9 11 15 +2 7 9 12 13 +2 7 9 12 14 +2 7 9 12 15 +2 7 9 13 14 +2 7 9 13 15 +2 7 9 14 15 +2 7 10 11 12 +2 7 10 11 13 +2 7 10 11 14 +2 7 10 11 15 +2 7 10 12 13 +2 7 10 12 14 +2 7 10 12 15 +2 7 10 13 14 +2 7 10 13 15 +2 7 10 14 15 +2 7 11 12 13 +2 7 11 12 14 +2 7 11 12 15 +2 7 11 13 14 +2 7 11 13 15 +2 7 11 14 15 +2 7 12 13 14 +2 7 12 13 15 +2 7 12 14 15 +2 7 13 14 15 +2 8 9 10 11 +2 8 9 10 12 +2 8 9 10 13 +2 8 9 10 14 +2 8 9 10 15 +2 8 9 11 12 +2 8 9 11 13 +2 8 9 11 14 +2 8 9 11 15 +2 8 9 12 13 +2 8 9 12 14 +2 8 9 12 15 +2 8 9 13 14 +2 8 9 13 15 +2 8 9 14 15 +2 8 10 11 12 +2 8 10 11 13 +2 8 10 11 14 +2 8 10 11 15 +2 8 10 12 13 +2 8 10 12 14 +2 8 10 12 15 +2 8 10 13 14 +2 8 10 13 15 +2 8 10 14 15 +2 8 11 12 13 +2 8 11 12 14 +2 8 11 12 15 +2 8 11 13 14 +2 8 11 13 15 +2 8 11 14 15 +2 8 12 13 14 +2 8 12 13 15 +2 8 12 14 15 +2 8 13 14 15 +2 9 10 11 12 +2 9 10 11 13 +2 9 10 11 14 +2 9 10 11 15 +2 9 10 12 13 +2 9 10 12 14 +2 9 10 12 15 +2 9 10 13 14 +2 9 10 13 15 +2 9 10 14 15 +2 9 11 12 13 +2 9 11 12 14 +2 9 11 12 15 +2 9 11 13 14 +2 9 11 13 15 +2 9 11 14 15 +2 9 12 13 14 +2 9 12 13 15 +2 9 12 14 15 +2 9 13 14 15 +2 10 11 12 13 +2 10 11 12 14 +2 10 11 12 15 +2 10 11 13 14 +2 10 11 13 15 +2 10 11 14 15 +2 10 12 13 14 +2 10 12 13 15 +2 10 12 14 15 +2 10 13 14 15 +2 11 12 13 14 +2 11 12 13 15 +2 11 12 14 15 +2 11 13 14 15 +2 12 13 14 15 +3 4 5 6 7 +3 4 5 6 8 +3 4 5 6 9 +3 4 5 6 10 +3 4 5 6 11 +3 4 5 6 12 +3 4 5 6 13 +3 4 5 6 14 +3 4 5 6 15 +3 4 5 7 8 +3 4 5 7 9 +3 4 5 7 10 +3 4 5 7 11 +3 4 5 7 12 +3 4 5 7 13 +3 4 5 7 14 +3 4 5 7 15 +3 4 5 8 9 +3 4 5 8 10 +3 4 5 8 11 +3 4 5 8 12 +3 4 5 8 13 +3 4 5 8 14 +3 4 5 8 15 +3 4 5 9 10 +3 4 5 9 11 +3 4 5 9 12 +3 4 5 9 13 +3 4 5 9 14 +3 4 5 9 15 +3 4 5 10 11 +3 4 5 10 12 +3 4 5 10 13 +3 4 5 10 14 +3 4 5 10 15 +3 4 5 11 12 +3 4 5 11 13 +3 4 5 11 14 +3 4 5 11 15 +3 4 5 12 13 +3 4 5 12 14 +3 4 5 12 15 +3 4 5 13 14 +3 4 5 13 15 +3 4 5 14 15 +3 4 6 7 8 +3 4 6 7 9 +3 4 6 7 10 +3 4 6 7 11 +3 4 6 7 12 +3 4 6 7 13 +3 4 6 7 14 +3 4 6 7 15 +3 4 6 8 9 +3 4 6 8 10 +3 4 6 8 11 +3 4 6 8 12 +3 4 6 8 13 +3 4 6 8 14 +3 4 6 8 15 +3 4 6 9 10 +3 4 6 9 11 +3 4 6 9 12 +3 4 6 9 13 +3 4 6 9 14 +3 4 6 9 15 +3 4 6 10 11 +3 4 6 10 12 +3 4 6 10 13 +3 4 6 10 14 +3 4 6 10 15 +3 4 6 11 12 +3 4 6 11 13 +3 4 6 11 14 +3 4 6 11 15 +3 4 6 12 13 +3 4 6 12 14 +3 4 6 12 15 +3 4 6 13 14 +3 4 6 13 15 +3 4 6 14 15 +3 4 7 8 9 +3 4 7 8 10 +3 4 7 8 11 +3 4 7 8 12 +3 4 7 8 13 +3 4 7 8 14 +3 4 7 8 15 +3 4 7 9 10 +3 4 7 9 11 +3 4 7 9 12 +3 4 7 9 13 +3 4 7 9 14 +3 4 7 9 15 +3 4 7 10 11 +3 4 7 10 12 +3 4 7 10 13 +3 4 7 10 14 +3 4 7 10 15 +3 4 7 11 12 +3 4 7 11 13 +3 4 7 11 14 +3 4 7 11 15 +3 4 7 12 13 +3 4 7 12 14 +3 4 7 12 15 +3 4 7 13 14 +3 4 7 13 15 +3 4 7 14 15 +3 4 8 9 10 +3 4 8 9 11 +3 4 8 9 12 +3 4 8 9 13 +3 4 8 9 14 +3 4 8 9 15 +3 4 8 10 11 +3 4 8 10 12 +3 4 8 10 13 +3 4 8 10 14 +3 4 8 10 15 +3 4 8 11 12 +3 4 8 11 13 +3 4 8 11 14 +3 4 8 11 15 +3 4 8 12 13 +3 4 8 12 14 +3 4 8 12 15 +3 4 8 13 14 +3 4 8 13 15 +3 4 8 14 15 +3 4 9 10 11 +3 4 9 10 12 +3 4 9 10 13 +3 4 9 10 14 +3 4 9 10 15 +3 4 9 11 12 +3 4 9 11 13 +3 4 9 11 14 +3 4 9 11 15 +3 4 9 12 13 +3 4 9 12 14 +3 4 9 12 15 +3 4 9 13 14 +3 4 9 13 15 +3 4 9 14 15 +3 4 10 11 12 +3 4 10 11 13 +3 4 10 11 14 +3 4 10 11 15 +3 4 10 12 13 +3 4 10 12 14 +3 4 10 12 15 +3 4 10 13 14 +3 4 10 13 15 +3 4 10 14 15 +3 4 11 12 13 +3 4 11 12 14 +3 4 11 12 15 +3 4 11 13 14 +3 4 11 13 15 +3 4 11 14 15 +3 4 12 13 14 +3 4 12 13 15 +3 4 12 14 15 +3 4 13 14 15 +3 5 6 7 8 +3 5 6 7 9 +3 5 6 7 10 +3 5 6 7 11 +3 5 6 7 12 +3 5 6 7 13 +3 5 6 7 14 +3 5 6 7 15 +3 5 6 8 9 +3 5 6 8 10 +3 5 6 8 11 +3 5 6 8 12 +3 5 6 8 13 +3 5 6 8 14 +3 5 6 8 15 +3 5 6 9 10 +3 5 6 9 11 +3 5 6 9 12 +3 5 6 9 13 +3 5 6 9 14 +3 5 6 9 15 +3 5 6 10 11 +3 5 6 10 12 +3 5 6 10 13 +3 5 6 10 14 +3 5 6 10 15 +3 5 6 11 12 +3 5 6 11 13 +3 5 6 11 14 +3 5 6 11 15 +3 5 6 12 13 +3 5 6 12 14 +3 5 6 12 15 +3 5 6 13 14 +3 5 6 13 15 +3 5 6 14 15 +3 5 7 8 9 +3 5 7 8 10 +3 5 7 8 11 +3 5 7 8 12 +3 5 7 8 13 +3 5 7 8 14 +3 5 7 8 15 +3 5 7 9 10 +3 5 7 9 11 +3 5 7 9 12 +3 5 7 9 13 +3 5 7 9 14 +3 5 7 9 15 +3 5 7 10 11 +3 5 7 10 12 +3 5 7 10 13 +3 5 7 10 14 +3 5 7 10 15 +3 5 7 11 12 +3 5 7 11 13 +3 5 7 11 14 +3 5 7 11 15 +3 5 7 12 13 +3 5 7 12 14 +3 5 7 12 15 +3 5 7 13 14 +3 5 7 13 15 +3 5 7 14 15 +3 5 8 9 10 +3 5 8 9 11 +3 5 8 9 12 +3 5 8 9 13 +3 5 8 9 14 +3 5 8 9 15 +3 5 8 10 11 +3 5 8 10 12 +3 5 8 10 13 +3 5 8 10 14 +3 5 8 10 15 +3 5 8 11 12 +3 5 8 11 13 +3 5 8 11 14 +3 5 8 11 15 +3 5 8 12 13 +3 5 8 12 14 +3 5 8 12 15 +3 5 8 13 14 +3 5 8 13 15 +3 5 8 14 15 +3 5 9 10 11 +3 5 9 10 12 +3 5 9 10 13 +3 5 9 10 14 +3 5 9 10 15 +3 5 9 11 12 +3 5 9 11 13 +3 5 9 11 14 +3 5 9 11 15 +3 5 9 12 13 +3 5 9 12 14 +3 5 9 12 15 +3 5 9 13 14 +3 5 9 13 15 +3 5 9 14 15 +3 5 10 11 12 +3 5 10 11 13 +3 5 10 11 14 +3 5 10 11 15 +3 5 10 12 13 +3 5 10 12 14 +3 5 10 12 15 +3 5 10 13 14 +3 5 10 13 15 +3 5 10 14 15 +3 5 11 12 13 +3 5 11 12 14 +3 5 11 12 15 +3 5 11 13 14 +3 5 11 13 15 +3 5 11 14 15 +3 5 12 13 14 +3 5 12 13 15 +3 5 12 14 15 +3 5 13 14 15 +3 6 7 8 9 +3 6 7 8 10 +3 6 7 8 11 +3 6 7 8 12 +3 6 7 8 13 +3 6 7 8 14 +3 6 7 8 15 +3 6 7 9 10 +3 6 7 9 11 +3 6 7 9 12 +3 6 7 9 13 +3 6 7 9 14 +3 6 7 9 15 +3 6 7 10 11 +3 6 7 10 12 +3 6 7 10 13 +3 6 7 10 14 +3 6 7 10 15 +3 6 7 11 12 +3 6 7 11 13 +3 6 7 11 14 +3 6 7 11 15 +3 6 7 12 13 +3 6 7 12 14 +3 6 7 12 15 +3 6 7 13 14 +3 6 7 13 15 +3 6 7 14 15 +3 6 8 9 10 +3 6 8 9 11 +3 6 8 9 12 +3 6 8 9 13 +3 6 8 9 14 +3 6 8 9 15 +3 6 8 10 11 +3 6 8 10 12 +3 6 8 10 13 +3 6 8 10 14 +3 6 8 10 15 +3 6 8 11 12 +3 6 8 11 13 +3 6 8 11 14 +3 6 8 11 15 +3 6 8 12 13 +3 6 8 12 14 +3 6 8 12 15 +3 6 8 13 14 +3 6 8 13 15 +3 6 8 14 15 +3 6 9 10 11 +3 6 9 10 12 +3 6 9 10 13 +3 6 9 10 14 +3 6 9 10 15 +3 6 9 11 12 +3 6 9 11 13 +3 6 9 11 14 +3 6 9 11 15 +3 6 9 12 13 +3 6 9 12 14 +3 6 9 12 15 +3 6 9 13 14 +3 6 9 13 15 +3 6 9 14 15 +3 6 10 11 12 +3 6 10 11 13 +3 6 10 11 14 +3 6 10 11 15 +3 6 10 12 13 +3 6 10 12 14 +3 6 10 12 15 +3 6 10 13 14 +3 6 10 13 15 +3 6 10 14 15 +3 6 11 12 13 +3 6 11 12 14 +3 6 11 12 15 +3 6 11 13 14 +3 6 11 13 15 +3 6 11 14 15 +3 6 12 13 14 +3 6 12 13 15 +3 6 12 14 15 +3 6 13 14 15 +3 7 8 9 10 +3 7 8 9 11 +3 7 8 9 12 +3 7 8 9 13 +3 7 8 9 14 +3 7 8 9 15 +3 7 8 10 11 +3 7 8 10 12 +3 7 8 10 13 +3 7 8 10 14 +3 7 8 10 15 +3 7 8 11 12 +3 7 8 11 13 +3 7 8 11 14 +3 7 8 11 15 +3 7 8 12 13 +3 7 8 12 14 +3 7 8 12 15 +3 7 8 13 14 +3 7 8 13 15 +3 7 8 14 15 +3 7 9 10 11 +3 7 9 10 12 +3 7 9 10 13 +3 7 9 10 14 +3 7 9 10 15 +3 7 9 11 12 +3 7 9 11 13 +3 7 9 11 14 +3 7 9 11 15 +3 7 9 12 13 +3 7 9 12 14 +3 7 9 12 15 +3 7 9 13 14 +3 7 9 13 15 +3 7 9 14 15 +3 7 10 11 12 +3 7 10 11 13 +3 7 10 11 14 +3 7 10 11 15 +3 7 10 12 13 +3 7 10 12 14 +3 7 10 12 15 +3 7 10 13 14 +3 7 10 13 15 +3 7 10 14 15 +3 7 11 12 13 +3 7 11 12 14 +3 7 11 12 15 +3 7 11 13 14 +3 7 11 13 15 +3 7 11 14 15 +3 7 12 13 14 +3 7 12 13 15 +3 7 12 14 15 +3 7 13 14 15 +3 8 9 10 11 +3 8 9 10 12 +3 8 9 10 13 +3 8 9 10 14 +3 8 9 10 15 +3 8 9 11 12 +3 8 9 11 13 +3 8 9 11 14 +3 8 9 11 15 +3 8 9 12 13 +3 8 9 12 14 +3 8 9 12 15 +3 8 9 13 14 +3 8 9 13 15 +3 8 9 14 15 +3 8 10 11 12 +3 8 10 11 13 +3 8 10 11 14 +3 8 10 11 15 +3 8 10 12 13 +3 8 10 12 14 +3 8 10 12 15 +3 8 10 13 14 +3 8 10 13 15 +3 8 10 14 15 +3 8 11 12 13 +3 8 11 12 14 +3 8 11 12 15 +3 8 11 13 14 +3 8 11 13 15 +3 8 11 14 15 +3 8 12 13 14 +3 8 12 13 15 +3 8 12 14 15 +3 8 13 14 15 +3 9 10 11 12 +3 9 10 11 13 +3 9 10 11 14 +3 9 10 11 15 +3 9 10 12 13 +3 9 10 12 14 +3 9 10 12 15 +3 9 10 13 14 +3 9 10 13 15 +3 9 10 14 15 +3 9 11 12 13 +3 9 11 12 14 +3 9 11 12 15 +3 9 11 13 14 +3 9 11 13 15 +3 9 11 14 15 +3 9 12 13 14 +3 9 12 13 15 +3 9 12 14 15 +3 9 13 14 15 +3 10 11 12 13 +3 10 11 12 14 +3 10 11 12 15 +3 10 11 13 14 +3 10 11 13 15 +3 10 11 14 15 +3 10 12 13 14 +3 10 12 13 15 +3 10 12 14 15 +3 10 13 14 15 +3 11 12 13 14 +3 11 12 13 15 +3 11 12 14 15 +3 11 13 14 15 +3 12 13 14 15 +4 5 6 7 8 +4 5 6 7 9 +4 5 6 7 10 +4 5 6 7 11 +4 5 6 7 12 +4 5 6 7 13 +4 5 6 7 14 +4 5 6 7 15 +4 5 6 8 9 +4 5 6 8 10 +4 5 6 8 11 +4 5 6 8 12 +4 5 6 8 13 +4 5 6 8 14 +4 5 6 8 15 +4 5 6 9 10 +4 5 6 9 11 +4 5 6 9 12 +4 5 6 9 13 +4 5 6 9 14 +4 5 6 9 15 +4 5 6 10 11 +4 5 6 10 12 +4 5 6 10 13 +4 5 6 10 14 +4 5 6 10 15 +4 5 6 11 12 +4 5 6 11 13 +4 5 6 11 14 +4 5 6 11 15 +4 5 6 12 13 +4 5 6 12 14 +4 5 6 12 15 +4 5 6 13 14 +4 5 6 13 15 +4 5 6 14 15 +4 5 7 8 9 +4 5 7 8 10 +4 5 7 8 11 +4 5 7 8 12 +4 5 7 8 13 +4 5 7 8 14 +4 5 7 8 15 +4 5 7 9 10 +4 5 7 9 11 +4 5 7 9 12 +4 5 7 9 13 +4 5 7 9 14 +4 5 7 9 15 +4 5 7 10 11 +4 5 7 10 12 +4 5 7 10 13 +4 5 7 10 14 +4 5 7 10 15 +4 5 7 11 12 +4 5 7 11 13 +4 5 7 11 14 +4 5 7 11 15 +4 5 7 12 13 +4 5 7 12 14 +4 5 7 12 15 +4 5 7 13 14 +4 5 7 13 15 +4 5 7 14 15 +4 5 8 9 10 +4 5 8 9 11 +4 5 8 9 12 +4 5 8 9 13 +4 5 8 9 14 +4 5 8 9 15 +4 5 8 10 11 +4 5 8 10 12 +4 5 8 10 13 +4 5 8 10 14 +4 5 8 10 15 +4 5 8 11 12 +4 5 8 11 13 +4 5 8 11 14 +4 5 8 11 15 +4 5 8 12 13 +4 5 8 12 14 +4 5 8 12 15 +4 5 8 13 14 +4 5 8 13 15 +4 5 8 14 15 +4 5 9 10 11 +4 5 9 10 12 +4 5 9 10 13 +4 5 9 10 14 +4 5 9 10 15 +4 5 9 11 12 +4 5 9 11 13 +4 5 9 11 14 +4 5 9 11 15 +4 5 9 12 13 +4 5 9 12 14 +4 5 9 12 15 +4 5 9 13 14 +4 5 9 13 15 +4 5 9 14 15 +4 5 10 11 12 +4 5 10 11 13 +4 5 10 11 14 +4 5 10 11 15 +4 5 10 12 13 +4 5 10 12 14 +4 5 10 12 15 +4 5 10 13 14 +4 5 10 13 15 +4 5 10 14 15 +4 5 11 12 13 +4 5 11 12 14 +4 5 11 12 15 +4 5 11 13 14 +4 5 11 13 15 +4 5 11 14 15 +4 5 12 13 14 +4 5 12 13 15 +4 5 12 14 15 +4 5 13 14 15 +4 6 7 8 9 +4 6 7 8 10 +4 6 7 8 11 +4 6 7 8 12 +4 6 7 8 13 +4 6 7 8 14 +4 6 7 8 15 +4 6 7 9 10 +4 6 7 9 11 +4 6 7 9 12 +4 6 7 9 13 +4 6 7 9 14 +4 6 7 9 15 +4 6 7 10 11 +4 6 7 10 12 +4 6 7 10 13 +4 6 7 10 14 +4 6 7 10 15 +4 6 7 11 12 +4 6 7 11 13 +4 6 7 11 14 +4 6 7 11 15 +4 6 7 12 13 +4 6 7 12 14 +4 6 7 12 15 +4 6 7 13 14 +4 6 7 13 15 +4 6 7 14 15 +4 6 8 9 10 +4 6 8 9 11 +4 6 8 9 12 +4 6 8 9 13 +4 6 8 9 14 +4 6 8 9 15 +4 6 8 10 11 +4 6 8 10 12 +4 6 8 10 13 +4 6 8 10 14 +4 6 8 10 15 +4 6 8 11 12 +4 6 8 11 13 +4 6 8 11 14 +4 6 8 11 15 +4 6 8 12 13 +4 6 8 12 14 +4 6 8 12 15 +4 6 8 13 14 +4 6 8 13 15 +4 6 8 14 15 +4 6 9 10 11 +4 6 9 10 12 +4 6 9 10 13 +4 6 9 10 14 +4 6 9 10 15 +4 6 9 11 12 +4 6 9 11 13 +4 6 9 11 14 +4 6 9 11 15 +4 6 9 12 13 +4 6 9 12 14 +4 6 9 12 15 +4 6 9 13 14 +4 6 9 13 15 +4 6 9 14 15 +4 6 10 11 12 +4 6 10 11 13 +4 6 10 11 14 +4 6 10 11 15 +4 6 10 12 13 +4 6 10 12 14 +4 6 10 12 15 +4 6 10 13 14 +4 6 10 13 15 +4 6 10 14 15 +4 6 11 12 13 +4 6 11 12 14 +4 6 11 12 15 +4 6 11 13 14 +4 6 11 13 15 +4 6 11 14 15 +4 6 12 13 14 +4 6 12 13 15 +4 6 12 14 15 +4 6 13 14 15 +4 7 8 9 10 +4 7 8 9 11 +4 7 8 9 12 +4 7 8 9 13 +4 7 8 9 14 +4 7 8 9 15 +4 7 8 10 11 +4 7 8 10 12 +4 7 8 10 13 +4 7 8 10 14 +4 7 8 10 15 +4 7 8 11 12 +4 7 8 11 13 +4 7 8 11 14 +4 7 8 11 15 +4 7 8 12 13 +4 7 8 12 14 +4 7 8 12 15 +4 7 8 13 14 +4 7 8 13 15 +4 7 8 14 15 +4 7 9 10 11 +4 7 9 10 12 +4 7 9 10 13 +4 7 9 10 14 +4 7 9 10 15 +4 7 9 11 12 +4 7 9 11 13 +4 7 9 11 14 +4 7 9 11 15 +4 7 9 12 13 +4 7 9 12 14 +4 7 9 12 15 +4 7 9 13 14 +4 7 9 13 15 +4 7 9 14 15 +4 7 10 11 12 +4 7 10 11 13 +4 7 10 11 14 +4 7 10 11 15 +4 7 10 12 13 +4 7 10 12 14 +4 7 10 12 15 +4 7 10 13 14 +4 7 10 13 15 +4 7 10 14 15 +4 7 11 12 13 +4 7 11 12 14 +4 7 11 12 15 +4 7 11 13 14 +4 7 11 13 15 +4 7 11 14 15 +4 7 12 13 14 +4 7 12 13 15 +4 7 12 14 15 +4 7 13 14 15 +4 8 9 10 11 +4 8 9 10 12 +4 8 9 10 13 +4 8 9 10 14 +4 8 9 10 15 +4 8 9 11 12 +4 8 9 11 13 +4 8 9 11 14 +4 8 9 11 15 +4 8 9 12 13 +4 8 9 12 14 +4 8 9 12 15 +4 8 9 13 14 +4 8 9 13 15 +4 8 9 14 15 +4 8 10 11 12 +4 8 10 11 13 +4 8 10 11 14 +4 8 10 11 15 +4 8 10 12 13 +4 8 10 12 14 +4 8 10 12 15 +4 8 10 13 14 +4 8 10 13 15 +4 8 10 14 15 +4 8 11 12 13 +4 8 11 12 14 +4 8 11 12 15 +4 8 11 13 14 +4 8 11 13 15 +4 8 11 14 15 +4 8 12 13 14 +4 8 12 13 15 +4 8 12 14 15 +4 8 13 14 15 +4 9 10 11 12 +4 9 10 11 13 +4 9 10 11 14 +4 9 10 11 15 +4 9 10 12 13 +4 9 10 12 14 +4 9 10 12 15 +4 9 10 13 14 +4 9 10 13 15 +4 9 10 14 15 +4 9 11 12 13 +4 9 11 12 14 +4 9 11 12 15 +4 9 11 13 14 +4 9 11 13 15 +4 9 11 14 15 +4 9 12 13 14 +4 9 12 13 15 +4 9 12 14 15 +4 9 13 14 15 +4 10 11 12 13 +4 10 11 12 14 +4 10 11 12 15 +4 10 11 13 14 +4 10 11 13 15 +4 10 11 14 15 +4 10 12 13 14 +4 10 12 13 15 +4 10 12 14 15 +4 10 13 14 15 +4 11 12 13 14 +4 11 12 13 15 +4 11 12 14 15 +4 11 13 14 15 +4 12 13 14 15 +5 6 7 8 9 +5 6 7 8 10 +5 6 7 8 11 +5 6 7 8 12 +5 6 7 8 13 +5 6 7 8 14 +5 6 7 8 15 +5 6 7 9 10 +5 6 7 9 11 +5 6 7 9 12 +5 6 7 9 13 +5 6 7 9 14 +5 6 7 9 15 +5 6 7 10 11 +5 6 7 10 12 +5 6 7 10 13 +5 6 7 10 14 +5 6 7 10 15 +5 6 7 11 12 +5 6 7 11 13 +5 6 7 11 14 +5 6 7 11 15 +5 6 7 12 13 +5 6 7 12 14 +5 6 7 12 15 +5 6 7 13 14 +5 6 7 13 15 +5 6 7 14 15 +5 6 8 9 10 +5 6 8 9 11 +5 6 8 9 12 +5 6 8 9 13 +5 6 8 9 14 +5 6 8 9 15 +5 6 8 10 11 +5 6 8 10 12 +5 6 8 10 13 +5 6 8 10 14 +5 6 8 10 15 +5 6 8 11 12 +5 6 8 11 13 +5 6 8 11 14 +5 6 8 11 15 +5 6 8 12 13 +5 6 8 12 14 +5 6 8 12 15 +5 6 8 13 14 +5 6 8 13 15 +5 6 8 14 15 +5 6 9 10 11 +5 6 9 10 12 +5 6 9 10 13 +5 6 9 10 14 +5 6 9 10 15 +5 6 9 11 12 +5 6 9 11 13 +5 6 9 11 14 +5 6 9 11 15 +5 6 9 12 13 +5 6 9 12 14 +5 6 9 12 15 +5 6 9 13 14 +5 6 9 13 15 +5 6 9 14 15 +5 6 10 11 12 +5 6 10 11 13 +5 6 10 11 14 +5 6 10 11 15 +5 6 10 12 13 +5 6 10 12 14 +5 6 10 12 15 +5 6 10 13 14 +5 6 10 13 15 +5 6 10 14 15 +5 6 11 12 13 +5 6 11 12 14 +5 6 11 12 15 +5 6 11 13 14 +5 6 11 13 15 +5 6 11 14 15 +5 6 12 13 14 +5 6 12 13 15 +5 6 12 14 15 +5 6 13 14 15 +5 7 8 9 10 +5 7 8 9 11 +5 7 8 9 12 +5 7 8 9 13 +5 7 8 9 14 +5 7 8 9 15 +5 7 8 10 11 +5 7 8 10 12 +5 7 8 10 13 +5 7 8 10 14 +5 7 8 10 15 +5 7 8 11 12 +5 7 8 11 13 +5 7 8 11 14 +5 7 8 11 15 +5 7 8 12 13 +5 7 8 12 14 +5 7 8 12 15 +5 7 8 13 14 +5 7 8 13 15 +5 7 8 14 15 +5 7 9 10 11 +5 7 9 10 12 +5 7 9 10 13 +5 7 9 10 14 +5 7 9 10 15 +5 7 9 11 12 +5 7 9 11 13 +5 7 9 11 14 +5 7 9 11 15 +5 7 9 12 13 +5 7 9 12 14 +5 7 9 12 15 +5 7 9 13 14 +5 7 9 13 15 +5 7 9 14 15 +5 7 10 11 12 +5 7 10 11 13 +5 7 10 11 14 +5 7 10 11 15 +5 7 10 12 13 +5 7 10 12 14 +5 7 10 12 15 +5 7 10 13 14 +5 7 10 13 15 +5 7 10 14 15 +5 7 11 12 13 +5 7 11 12 14 +5 7 11 12 15 +5 7 11 13 14 +5 7 11 13 15 +5 7 11 14 15 +5 7 12 13 14 +5 7 12 13 15 +5 7 12 14 15 +5 7 13 14 15 +5 8 9 10 11 +5 8 9 10 12 +5 8 9 10 13 +5 8 9 10 14 +5 8 9 10 15 +5 8 9 11 12 +5 8 9 11 13 +5 8 9 11 14 +5 8 9 11 15 +5 8 9 12 13 +5 8 9 12 14 +5 8 9 12 15 +5 8 9 13 14 +5 8 9 13 15 +5 8 9 14 15 +5 8 10 11 12 +5 8 10 11 13 +5 8 10 11 14 +5 8 10 11 15 +5 8 10 12 13 +5 8 10 12 14 +5 8 10 12 15 +5 8 10 13 14 +5 8 10 13 15 +5 8 10 14 15 +5 8 11 12 13 +5 8 11 12 14 +5 8 11 12 15 +5 8 11 13 14 +5 8 11 13 15 +5 8 11 14 15 +5 8 12 13 14 +5 8 12 13 15 +5 8 12 14 15 +5 8 13 14 15 +5 9 10 11 12 +5 9 10 11 13 +5 9 10 11 14 +5 9 10 11 15 +5 9 10 12 13 +5 9 10 12 14 +5 9 10 12 15 +5 9 10 13 14 +5 9 10 13 15 +5 9 10 14 15 +5 9 11 12 13 +5 9 11 12 14 +5 9 11 12 15 +5 9 11 13 14 +5 9 11 13 15 +5 9 11 14 15 +5 9 12 13 14 +5 9 12 13 15 +5 9 12 14 15 +5 9 13 14 15 +5 10 11 12 13 +5 10 11 12 14 +5 10 11 12 15 +5 10 11 13 14 +5 10 11 13 15 +5 10 11 14 15 +5 10 12 13 14 +5 10 12 13 15 +5 10 12 14 15 +5 10 13 14 15 +5 11 12 13 14 +5 11 12 13 15 +5 11 12 14 15 +5 11 13 14 15 +5 12 13 14 15 +6 7 8 9 10 +6 7 8 9 11 +6 7 8 9 12 +6 7 8 9 13 +6 7 8 9 14 +6 7 8 9 15 +6 7 8 10 11 +6 7 8 10 12 +6 7 8 10 13 +6 7 8 10 14 +6 7 8 10 15 +6 7 8 11 12 +6 7 8 11 13 +6 7 8 11 14 +6 7 8 11 15 +6 7 8 12 13 +6 7 8 12 14 +6 7 8 12 15 +6 7 8 13 14 +6 7 8 13 15 +6 7 8 14 15 +6 7 9 10 11 +6 7 9 10 12 +6 7 9 10 13 +6 7 9 10 14 +6 7 9 10 15 +6 7 9 11 12 +6 7 9 11 13 +6 7 9 11 14 +6 7 9 11 15 +6 7 9 12 13 +6 7 9 12 14 +6 7 9 12 15 +6 7 9 13 14 +6 7 9 13 15 +6 7 9 14 15 +6 7 10 11 12 +6 7 10 11 13 +6 7 10 11 14 +6 7 10 11 15 +6 7 10 12 13 +6 7 10 12 14 +6 7 10 12 15 +6 7 10 13 14 +6 7 10 13 15 +6 7 10 14 15 +6 7 11 12 13 +6 7 11 12 14 +6 7 11 12 15 +6 7 11 13 14 +6 7 11 13 15 +6 7 11 14 15 +6 7 12 13 14 +6 7 12 13 15 +6 7 12 14 15 +6 7 13 14 15 +6 8 9 10 11 +6 8 9 10 12 +6 8 9 10 13 +6 8 9 10 14 +6 8 9 10 15 +6 8 9 11 12 +6 8 9 11 13 +6 8 9 11 14 +6 8 9 11 15 +6 8 9 12 13 +6 8 9 12 14 +6 8 9 12 15 +6 8 9 13 14 +6 8 9 13 15 +6 8 9 14 15 +6 8 10 11 12 +6 8 10 11 13 +6 8 10 11 14 +6 8 10 11 15 +6 8 10 12 13 +6 8 10 12 14 +6 8 10 12 15 +6 8 10 13 14 +6 8 10 13 15 +6 8 10 14 15 +6 8 11 12 13 +6 8 11 12 14 +6 8 11 12 15 +6 8 11 13 14 +6 8 11 13 15 +6 8 11 14 15 +6 8 12 13 14 +6 8 12 13 15 +6 8 12 14 15 +6 8 13 14 15 +6 9 10 11 12 +6 9 10 11 13 +6 9 10 11 14 +6 9 10 11 15 +6 9 10 12 13 +6 9 10 12 14 +6 9 10 12 15 +6 9 10 13 14 +6 9 10 13 15 +6 9 10 14 15 +6 9 11 12 13 +6 9 11 12 14 +6 9 11 12 15 +6 9 11 13 14 +6 9 11 13 15 +6 9 11 14 15 +6 9 12 13 14 +6 9 12 13 15 +6 9 12 14 15 +6 9 13 14 15 +6 10 11 12 13 +6 10 11 12 14 +6 10 11 12 15 +6 10 11 13 14 +6 10 11 13 15 +6 10 11 14 15 +6 10 12 13 14 +6 10 12 13 15 +6 10 12 14 15 +6 10 13 14 15 +6 11 12 13 14 +6 11 12 13 15 +6 11 12 14 15 +6 11 13 14 15 +6 12 13 14 15 +7 8 9 10 11 +7 8 9 10 12 +7 8 9 10 13 +7 8 9 10 14 +7 8 9 10 15 +7 8 9 11 12 +7 8 9 11 13 +7 8 9 11 14 +7 8 9 11 15 +7 8 9 12 13 +7 8 9 12 14 +7 8 9 12 15 +7 8 9 13 14 +7 8 9 13 15 +7 8 9 14 15 +7 8 10 11 12 +7 8 10 11 13 +7 8 10 11 14 +7 8 10 11 15 +7 8 10 12 13 +7 8 10 12 14 +7 8 10 12 15 +7 8 10 13 14 +7 8 10 13 15 +7 8 10 14 15 +7 8 11 12 13 +7 8 11 12 14 +7 8 11 12 15 +7 8 11 13 14 +7 8 11 13 15 +7 8 11 14 15 +7 8 12 13 14 +7 8 12 13 15 +7 8 12 14 15 +7 8 13 14 15 +7 9 10 11 12 +7 9 10 11 13 +7 9 10 11 14 +7 9 10 11 15 +7 9 10 12 13 +7 9 10 12 14 +7 9 10 12 15 +7 9 10 13 14 +7 9 10 13 15 +7 9 10 14 15 +7 9 11 12 13 +7 9 11 12 14 +7 9 11 12 15 +7 9 11 13 14 +7 9 11 13 15 +7 9 11 14 15 +7 9 12 13 14 +7 9 12 13 15 +7 9 12 14 15 +7 9 13 14 15 +7 10 11 12 13 +7 10 11 12 14 +7 10 11 12 15 +7 10 11 13 14 +7 10 11 13 15 +7 10 11 14 15 +7 10 12 13 14 +7 10 12 13 15 +7 10 12 14 15 +7 10 13 14 15 +7 11 12 13 14 +7 11 12 13 15 +7 11 12 14 15 +7 11 13 14 15 +7 12 13 14 15 +8 9 10 11 12 +8 9 10 11 13 +8 9 10 11 14 +8 9 10 11 15 +8 9 10 12 13 +8 9 10 12 14 +8 9 10 12 15 +8 9 10 13 14 +8 9 10 13 15 +8 9 10 14 15 +8 9 11 12 13 +8 9 11 12 14 +8 9 11 12 15 +8 9 11 13 14 +8 9 11 13 15 +8 9 11 14 15 +8 9 12 13 14 +8 9 12 13 15 +8 9 12 14 15 +8 9 13 14 15 +8 10 11 12 13 +8 10 11 12 14 +8 10 11 12 15 +8 10 11 13 14 +8 10 11 13 15 +8 10 11 14 15 +8 10 12 13 14 +8 10 12 13 15 +8 10 12 14 15 +8 10 13 14 15 +8 11 12 13 14 +8 11 12 13 15 +8 11 12 14 15 +8 11 13 14 15 +8 12 13 14 15 +9 10 11 12 13 +9 10 11 12 14 +9 10 11 12 15 +9 10 11 13 14 +9 10 11 13 15 +9 10 11 14 15 +9 10 12 13 14 +9 10 12 13 15 +9 10 12 14 15 +9 10 13 14 15 +9 11 12 13 14 +9 11 12 13 15 +9 11 12 14 15 +9 11 13 14 15 +9 12 13 14 15 +10 11 12 13 14 +10 11 12 13 15 +10 11 12 14 15 +10 11 13 14 15 +10 12 13 14 15 +11 12 13 14 15 diff --git a/combines/16-6.txt b/combines/16-6.txt index ecf598f..b301a01 100644 --- a/combines/16-6.txt +++ b/combines/16-6.txt @@ -1,8008 +1,8008 @@ -0 1 2 3 4 5 -0 1 2 3 4 6 -0 1 2 3 4 7 -0 1 2 3 4 8 -0 1 2 3 4 9 -0 1 2 3 4 10 -0 1 2 3 4 11 -0 1 2 3 4 12 -0 1 2 3 4 13 -0 1 2 3 4 14 -0 1 2 3 4 15 -0 1 2 3 5 6 -0 1 2 3 5 7 -0 1 2 3 5 8 -0 1 2 3 5 9 -0 1 2 3 5 10 -0 1 2 3 5 11 -0 1 2 3 5 12 -0 1 2 3 5 13 -0 1 2 3 5 14 -0 1 2 3 5 15 -0 1 2 3 6 7 -0 1 2 3 6 8 -0 1 2 3 6 9 -0 1 2 3 6 10 -0 1 2 3 6 11 -0 1 2 3 6 12 -0 1 2 3 6 13 -0 1 2 3 6 14 -0 1 2 3 6 15 -0 1 2 3 7 8 -0 1 2 3 7 9 -0 1 2 3 7 10 -0 1 2 3 7 11 -0 1 2 3 7 12 -0 1 2 3 7 13 -0 1 2 3 7 14 -0 1 2 3 7 15 -0 1 2 3 8 9 -0 1 2 3 8 10 -0 1 2 3 8 11 -0 1 2 3 8 12 -0 1 2 3 8 13 -0 1 2 3 8 14 -0 1 2 3 8 15 -0 1 2 3 9 10 -0 1 2 3 9 11 -0 1 2 3 9 12 -0 1 2 3 9 13 -0 1 2 3 9 14 -0 1 2 3 9 15 -0 1 2 3 10 11 -0 1 2 3 10 12 -0 1 2 3 10 13 -0 1 2 3 10 14 -0 1 2 3 10 15 -0 1 2 3 11 12 -0 1 2 3 11 13 -0 1 2 3 11 14 -0 1 2 3 11 15 -0 1 2 3 12 13 -0 1 2 3 12 14 -0 1 2 3 12 15 -0 1 2 3 13 14 -0 1 2 3 13 15 -0 1 2 3 14 15 -0 1 2 4 5 6 -0 1 2 4 5 7 -0 1 2 4 5 8 -0 1 2 4 5 9 -0 1 2 4 5 10 -0 1 2 4 5 11 -0 1 2 4 5 12 -0 1 2 4 5 13 -0 1 2 4 5 14 -0 1 2 4 5 15 -0 1 2 4 6 7 -0 1 2 4 6 8 -0 1 2 4 6 9 -0 1 2 4 6 10 -0 1 2 4 6 11 -0 1 2 4 6 12 -0 1 2 4 6 13 -0 1 2 4 6 14 -0 1 2 4 6 15 -0 1 2 4 7 8 -0 1 2 4 7 9 -0 1 2 4 7 10 -0 1 2 4 7 11 -0 1 2 4 7 12 -0 1 2 4 7 13 -0 1 2 4 7 14 -0 1 2 4 7 15 -0 1 2 4 8 9 -0 1 2 4 8 10 -0 1 2 4 8 11 -0 1 2 4 8 12 -0 1 2 4 8 13 -0 1 2 4 8 14 -0 1 2 4 8 15 -0 1 2 4 9 10 -0 1 2 4 9 11 -0 1 2 4 9 12 -0 1 2 4 9 13 -0 1 2 4 9 14 -0 1 2 4 9 15 -0 1 2 4 10 11 -0 1 2 4 10 12 -0 1 2 4 10 13 -0 1 2 4 10 14 -0 1 2 4 10 15 -0 1 2 4 11 12 -0 1 2 4 11 13 -0 1 2 4 11 14 -0 1 2 4 11 15 -0 1 2 4 12 13 -0 1 2 4 12 14 -0 1 2 4 12 15 -0 1 2 4 13 14 -0 1 2 4 13 15 -0 1 2 4 14 15 -0 1 2 5 6 7 -0 1 2 5 6 8 -0 1 2 5 6 9 -0 1 2 5 6 10 -0 1 2 5 6 11 -0 1 2 5 6 12 -0 1 2 5 6 13 -0 1 2 5 6 14 -0 1 2 5 6 15 -0 1 2 5 7 8 -0 1 2 5 7 9 -0 1 2 5 7 10 -0 1 2 5 7 11 -0 1 2 5 7 12 -0 1 2 5 7 13 -0 1 2 5 7 14 -0 1 2 5 7 15 -0 1 2 5 8 9 -0 1 2 5 8 10 -0 1 2 5 8 11 -0 1 2 5 8 12 -0 1 2 5 8 13 -0 1 2 5 8 14 -0 1 2 5 8 15 -0 1 2 5 9 10 -0 1 2 5 9 11 -0 1 2 5 9 12 -0 1 2 5 9 13 -0 1 2 5 9 14 -0 1 2 5 9 15 -0 1 2 5 10 11 -0 1 2 5 10 12 -0 1 2 5 10 13 -0 1 2 5 10 14 -0 1 2 5 10 15 -0 1 2 5 11 12 -0 1 2 5 11 13 -0 1 2 5 11 14 -0 1 2 5 11 15 -0 1 2 5 12 13 -0 1 2 5 12 14 -0 1 2 5 12 15 -0 1 2 5 13 14 -0 1 2 5 13 15 -0 1 2 5 14 15 -0 1 2 6 7 8 -0 1 2 6 7 9 -0 1 2 6 7 10 -0 1 2 6 7 11 -0 1 2 6 7 12 -0 1 2 6 7 13 -0 1 2 6 7 14 -0 1 2 6 7 15 -0 1 2 6 8 9 -0 1 2 6 8 10 -0 1 2 6 8 11 -0 1 2 6 8 12 -0 1 2 6 8 13 -0 1 2 6 8 14 -0 1 2 6 8 15 -0 1 2 6 9 10 -0 1 2 6 9 11 -0 1 2 6 9 12 -0 1 2 6 9 13 -0 1 2 6 9 14 -0 1 2 6 9 15 -0 1 2 6 10 11 -0 1 2 6 10 12 -0 1 2 6 10 13 -0 1 2 6 10 14 -0 1 2 6 10 15 -0 1 2 6 11 12 -0 1 2 6 11 13 -0 1 2 6 11 14 -0 1 2 6 11 15 -0 1 2 6 12 13 -0 1 2 6 12 14 -0 1 2 6 12 15 -0 1 2 6 13 14 -0 1 2 6 13 15 -0 1 2 6 14 15 -0 1 2 7 8 9 -0 1 2 7 8 10 -0 1 2 7 8 11 -0 1 2 7 8 12 -0 1 2 7 8 13 -0 1 2 7 8 14 -0 1 2 7 8 15 -0 1 2 7 9 10 -0 1 2 7 9 11 -0 1 2 7 9 12 -0 1 2 7 9 13 -0 1 2 7 9 14 -0 1 2 7 9 15 -0 1 2 7 10 11 -0 1 2 7 10 12 -0 1 2 7 10 13 -0 1 2 7 10 14 -0 1 2 7 10 15 -0 1 2 7 11 12 -0 1 2 7 11 13 -0 1 2 7 11 14 -0 1 2 7 11 15 -0 1 2 7 12 13 -0 1 2 7 12 14 -0 1 2 7 12 15 -0 1 2 7 13 14 -0 1 2 7 13 15 -0 1 2 7 14 15 -0 1 2 8 9 10 -0 1 2 8 9 11 -0 1 2 8 9 12 -0 1 2 8 9 13 -0 1 2 8 9 14 -0 1 2 8 9 15 -0 1 2 8 10 11 -0 1 2 8 10 12 -0 1 2 8 10 13 -0 1 2 8 10 14 -0 1 2 8 10 15 -0 1 2 8 11 12 -0 1 2 8 11 13 -0 1 2 8 11 14 -0 1 2 8 11 15 -0 1 2 8 12 13 -0 1 2 8 12 14 -0 1 2 8 12 15 -0 1 2 8 13 14 -0 1 2 8 13 15 -0 1 2 8 14 15 -0 1 2 9 10 11 -0 1 2 9 10 12 -0 1 2 9 10 13 -0 1 2 9 10 14 -0 1 2 9 10 15 -0 1 2 9 11 12 -0 1 2 9 11 13 -0 1 2 9 11 14 -0 1 2 9 11 15 -0 1 2 9 12 13 -0 1 2 9 12 14 -0 1 2 9 12 15 -0 1 2 9 13 14 -0 1 2 9 13 15 -0 1 2 9 14 15 -0 1 2 10 11 12 -0 1 2 10 11 13 -0 1 2 10 11 14 -0 1 2 10 11 15 -0 1 2 10 12 13 -0 1 2 10 12 14 -0 1 2 10 12 15 -0 1 2 10 13 14 -0 1 2 10 13 15 -0 1 2 10 14 15 -0 1 2 11 12 13 -0 1 2 11 12 14 -0 1 2 11 12 15 -0 1 2 11 13 14 -0 1 2 11 13 15 -0 1 2 11 14 15 -0 1 2 12 13 14 -0 1 2 12 13 15 -0 1 2 12 14 15 -0 1 2 13 14 15 -0 1 3 4 5 6 -0 1 3 4 5 7 -0 1 3 4 5 8 -0 1 3 4 5 9 -0 1 3 4 5 10 -0 1 3 4 5 11 -0 1 3 4 5 12 -0 1 3 4 5 13 -0 1 3 4 5 14 -0 1 3 4 5 15 -0 1 3 4 6 7 -0 1 3 4 6 8 -0 1 3 4 6 9 -0 1 3 4 6 10 -0 1 3 4 6 11 -0 1 3 4 6 12 -0 1 3 4 6 13 -0 1 3 4 6 14 -0 1 3 4 6 15 -0 1 3 4 7 8 -0 1 3 4 7 9 -0 1 3 4 7 10 -0 1 3 4 7 11 -0 1 3 4 7 12 -0 1 3 4 7 13 -0 1 3 4 7 14 -0 1 3 4 7 15 -0 1 3 4 8 9 -0 1 3 4 8 10 -0 1 3 4 8 11 -0 1 3 4 8 12 -0 1 3 4 8 13 -0 1 3 4 8 14 -0 1 3 4 8 15 -0 1 3 4 9 10 -0 1 3 4 9 11 -0 1 3 4 9 12 -0 1 3 4 9 13 -0 1 3 4 9 14 -0 1 3 4 9 15 -0 1 3 4 10 11 -0 1 3 4 10 12 -0 1 3 4 10 13 -0 1 3 4 10 14 -0 1 3 4 10 15 -0 1 3 4 11 12 -0 1 3 4 11 13 -0 1 3 4 11 14 -0 1 3 4 11 15 -0 1 3 4 12 13 -0 1 3 4 12 14 -0 1 3 4 12 15 -0 1 3 4 13 14 -0 1 3 4 13 15 -0 1 3 4 14 15 -0 1 3 5 6 7 -0 1 3 5 6 8 -0 1 3 5 6 9 -0 1 3 5 6 10 -0 1 3 5 6 11 -0 1 3 5 6 12 -0 1 3 5 6 13 -0 1 3 5 6 14 -0 1 3 5 6 15 -0 1 3 5 7 8 -0 1 3 5 7 9 -0 1 3 5 7 10 -0 1 3 5 7 11 -0 1 3 5 7 12 -0 1 3 5 7 13 -0 1 3 5 7 14 -0 1 3 5 7 15 -0 1 3 5 8 9 -0 1 3 5 8 10 -0 1 3 5 8 11 -0 1 3 5 8 12 -0 1 3 5 8 13 -0 1 3 5 8 14 -0 1 3 5 8 15 -0 1 3 5 9 10 -0 1 3 5 9 11 -0 1 3 5 9 12 -0 1 3 5 9 13 -0 1 3 5 9 14 -0 1 3 5 9 15 -0 1 3 5 10 11 -0 1 3 5 10 12 -0 1 3 5 10 13 -0 1 3 5 10 14 -0 1 3 5 10 15 -0 1 3 5 11 12 -0 1 3 5 11 13 -0 1 3 5 11 14 -0 1 3 5 11 15 -0 1 3 5 12 13 -0 1 3 5 12 14 -0 1 3 5 12 15 -0 1 3 5 13 14 -0 1 3 5 13 15 -0 1 3 5 14 15 -0 1 3 6 7 8 -0 1 3 6 7 9 -0 1 3 6 7 10 -0 1 3 6 7 11 -0 1 3 6 7 12 -0 1 3 6 7 13 -0 1 3 6 7 14 -0 1 3 6 7 15 -0 1 3 6 8 9 -0 1 3 6 8 10 -0 1 3 6 8 11 -0 1 3 6 8 12 -0 1 3 6 8 13 -0 1 3 6 8 14 -0 1 3 6 8 15 -0 1 3 6 9 10 -0 1 3 6 9 11 -0 1 3 6 9 12 -0 1 3 6 9 13 -0 1 3 6 9 14 -0 1 3 6 9 15 -0 1 3 6 10 11 -0 1 3 6 10 12 -0 1 3 6 10 13 -0 1 3 6 10 14 -0 1 3 6 10 15 -0 1 3 6 11 12 -0 1 3 6 11 13 -0 1 3 6 11 14 -0 1 3 6 11 15 -0 1 3 6 12 13 -0 1 3 6 12 14 -0 1 3 6 12 15 -0 1 3 6 13 14 -0 1 3 6 13 15 -0 1 3 6 14 15 -0 1 3 7 8 9 -0 1 3 7 8 10 -0 1 3 7 8 11 -0 1 3 7 8 12 -0 1 3 7 8 13 -0 1 3 7 8 14 -0 1 3 7 8 15 -0 1 3 7 9 10 -0 1 3 7 9 11 -0 1 3 7 9 12 -0 1 3 7 9 13 -0 1 3 7 9 14 -0 1 3 7 9 15 -0 1 3 7 10 11 -0 1 3 7 10 12 -0 1 3 7 10 13 -0 1 3 7 10 14 -0 1 3 7 10 15 -0 1 3 7 11 12 -0 1 3 7 11 13 -0 1 3 7 11 14 -0 1 3 7 11 15 -0 1 3 7 12 13 -0 1 3 7 12 14 -0 1 3 7 12 15 -0 1 3 7 13 14 -0 1 3 7 13 15 -0 1 3 7 14 15 -0 1 3 8 9 10 -0 1 3 8 9 11 -0 1 3 8 9 12 -0 1 3 8 9 13 -0 1 3 8 9 14 -0 1 3 8 9 15 -0 1 3 8 10 11 -0 1 3 8 10 12 -0 1 3 8 10 13 -0 1 3 8 10 14 -0 1 3 8 10 15 -0 1 3 8 11 12 -0 1 3 8 11 13 -0 1 3 8 11 14 -0 1 3 8 11 15 -0 1 3 8 12 13 -0 1 3 8 12 14 -0 1 3 8 12 15 -0 1 3 8 13 14 -0 1 3 8 13 15 -0 1 3 8 14 15 -0 1 3 9 10 11 -0 1 3 9 10 12 -0 1 3 9 10 13 -0 1 3 9 10 14 -0 1 3 9 10 15 -0 1 3 9 11 12 -0 1 3 9 11 13 -0 1 3 9 11 14 -0 1 3 9 11 15 -0 1 3 9 12 13 -0 1 3 9 12 14 -0 1 3 9 12 15 -0 1 3 9 13 14 -0 1 3 9 13 15 -0 1 3 9 14 15 -0 1 3 10 11 12 -0 1 3 10 11 13 -0 1 3 10 11 14 -0 1 3 10 11 15 -0 1 3 10 12 13 -0 1 3 10 12 14 -0 1 3 10 12 15 -0 1 3 10 13 14 -0 1 3 10 13 15 -0 1 3 10 14 15 -0 1 3 11 12 13 -0 1 3 11 12 14 -0 1 3 11 12 15 -0 1 3 11 13 14 -0 1 3 11 13 15 -0 1 3 11 14 15 -0 1 3 12 13 14 -0 1 3 12 13 15 -0 1 3 12 14 15 -0 1 3 13 14 15 -0 1 4 5 6 7 -0 1 4 5 6 8 -0 1 4 5 6 9 -0 1 4 5 6 10 -0 1 4 5 6 11 -0 1 4 5 6 12 -0 1 4 5 6 13 -0 1 4 5 6 14 -0 1 4 5 6 15 -0 1 4 5 7 8 -0 1 4 5 7 9 -0 1 4 5 7 10 -0 1 4 5 7 11 -0 1 4 5 7 12 -0 1 4 5 7 13 -0 1 4 5 7 14 -0 1 4 5 7 15 -0 1 4 5 8 9 -0 1 4 5 8 10 -0 1 4 5 8 11 -0 1 4 5 8 12 -0 1 4 5 8 13 -0 1 4 5 8 14 -0 1 4 5 8 15 -0 1 4 5 9 10 -0 1 4 5 9 11 -0 1 4 5 9 12 -0 1 4 5 9 13 -0 1 4 5 9 14 -0 1 4 5 9 15 -0 1 4 5 10 11 -0 1 4 5 10 12 -0 1 4 5 10 13 -0 1 4 5 10 14 -0 1 4 5 10 15 -0 1 4 5 11 12 -0 1 4 5 11 13 -0 1 4 5 11 14 -0 1 4 5 11 15 -0 1 4 5 12 13 -0 1 4 5 12 14 -0 1 4 5 12 15 -0 1 4 5 13 14 -0 1 4 5 13 15 -0 1 4 5 14 15 -0 1 4 6 7 8 -0 1 4 6 7 9 -0 1 4 6 7 10 -0 1 4 6 7 11 -0 1 4 6 7 12 -0 1 4 6 7 13 -0 1 4 6 7 14 -0 1 4 6 7 15 -0 1 4 6 8 9 -0 1 4 6 8 10 -0 1 4 6 8 11 -0 1 4 6 8 12 -0 1 4 6 8 13 -0 1 4 6 8 14 -0 1 4 6 8 15 -0 1 4 6 9 10 -0 1 4 6 9 11 -0 1 4 6 9 12 -0 1 4 6 9 13 -0 1 4 6 9 14 -0 1 4 6 9 15 -0 1 4 6 10 11 -0 1 4 6 10 12 -0 1 4 6 10 13 -0 1 4 6 10 14 -0 1 4 6 10 15 -0 1 4 6 11 12 -0 1 4 6 11 13 -0 1 4 6 11 14 -0 1 4 6 11 15 -0 1 4 6 12 13 -0 1 4 6 12 14 -0 1 4 6 12 15 -0 1 4 6 13 14 -0 1 4 6 13 15 -0 1 4 6 14 15 -0 1 4 7 8 9 -0 1 4 7 8 10 -0 1 4 7 8 11 -0 1 4 7 8 12 -0 1 4 7 8 13 -0 1 4 7 8 14 -0 1 4 7 8 15 -0 1 4 7 9 10 -0 1 4 7 9 11 -0 1 4 7 9 12 -0 1 4 7 9 13 -0 1 4 7 9 14 -0 1 4 7 9 15 -0 1 4 7 10 11 -0 1 4 7 10 12 -0 1 4 7 10 13 -0 1 4 7 10 14 -0 1 4 7 10 15 -0 1 4 7 11 12 -0 1 4 7 11 13 -0 1 4 7 11 14 -0 1 4 7 11 15 -0 1 4 7 12 13 -0 1 4 7 12 14 -0 1 4 7 12 15 -0 1 4 7 13 14 -0 1 4 7 13 15 -0 1 4 7 14 15 -0 1 4 8 9 10 -0 1 4 8 9 11 -0 1 4 8 9 12 -0 1 4 8 9 13 -0 1 4 8 9 14 -0 1 4 8 9 15 -0 1 4 8 10 11 -0 1 4 8 10 12 -0 1 4 8 10 13 -0 1 4 8 10 14 -0 1 4 8 10 15 -0 1 4 8 11 12 -0 1 4 8 11 13 -0 1 4 8 11 14 -0 1 4 8 11 15 -0 1 4 8 12 13 -0 1 4 8 12 14 -0 1 4 8 12 15 -0 1 4 8 13 14 -0 1 4 8 13 15 -0 1 4 8 14 15 -0 1 4 9 10 11 -0 1 4 9 10 12 -0 1 4 9 10 13 -0 1 4 9 10 14 -0 1 4 9 10 15 -0 1 4 9 11 12 -0 1 4 9 11 13 -0 1 4 9 11 14 -0 1 4 9 11 15 -0 1 4 9 12 13 -0 1 4 9 12 14 -0 1 4 9 12 15 -0 1 4 9 13 14 -0 1 4 9 13 15 -0 1 4 9 14 15 -0 1 4 10 11 12 -0 1 4 10 11 13 -0 1 4 10 11 14 -0 1 4 10 11 15 -0 1 4 10 12 13 -0 1 4 10 12 14 -0 1 4 10 12 15 -0 1 4 10 13 14 -0 1 4 10 13 15 -0 1 4 10 14 15 -0 1 4 11 12 13 -0 1 4 11 12 14 -0 1 4 11 12 15 -0 1 4 11 13 14 -0 1 4 11 13 15 -0 1 4 11 14 15 -0 1 4 12 13 14 -0 1 4 12 13 15 -0 1 4 12 14 15 -0 1 4 13 14 15 -0 1 5 6 7 8 -0 1 5 6 7 9 -0 1 5 6 7 10 -0 1 5 6 7 11 -0 1 5 6 7 12 -0 1 5 6 7 13 -0 1 5 6 7 14 -0 1 5 6 7 15 -0 1 5 6 8 9 -0 1 5 6 8 10 -0 1 5 6 8 11 -0 1 5 6 8 12 -0 1 5 6 8 13 -0 1 5 6 8 14 -0 1 5 6 8 15 -0 1 5 6 9 10 -0 1 5 6 9 11 -0 1 5 6 9 12 -0 1 5 6 9 13 -0 1 5 6 9 14 -0 1 5 6 9 15 -0 1 5 6 10 11 -0 1 5 6 10 12 -0 1 5 6 10 13 -0 1 5 6 10 14 -0 1 5 6 10 15 -0 1 5 6 11 12 -0 1 5 6 11 13 -0 1 5 6 11 14 -0 1 5 6 11 15 -0 1 5 6 12 13 -0 1 5 6 12 14 -0 1 5 6 12 15 -0 1 5 6 13 14 -0 1 5 6 13 15 -0 1 5 6 14 15 -0 1 5 7 8 9 -0 1 5 7 8 10 -0 1 5 7 8 11 -0 1 5 7 8 12 -0 1 5 7 8 13 -0 1 5 7 8 14 -0 1 5 7 8 15 -0 1 5 7 9 10 -0 1 5 7 9 11 -0 1 5 7 9 12 -0 1 5 7 9 13 -0 1 5 7 9 14 -0 1 5 7 9 15 -0 1 5 7 10 11 -0 1 5 7 10 12 -0 1 5 7 10 13 -0 1 5 7 10 14 -0 1 5 7 10 15 -0 1 5 7 11 12 -0 1 5 7 11 13 -0 1 5 7 11 14 -0 1 5 7 11 15 -0 1 5 7 12 13 -0 1 5 7 12 14 -0 1 5 7 12 15 -0 1 5 7 13 14 -0 1 5 7 13 15 -0 1 5 7 14 15 -0 1 5 8 9 10 -0 1 5 8 9 11 -0 1 5 8 9 12 -0 1 5 8 9 13 -0 1 5 8 9 14 -0 1 5 8 9 15 -0 1 5 8 10 11 -0 1 5 8 10 12 -0 1 5 8 10 13 -0 1 5 8 10 14 -0 1 5 8 10 15 -0 1 5 8 11 12 -0 1 5 8 11 13 -0 1 5 8 11 14 -0 1 5 8 11 15 -0 1 5 8 12 13 -0 1 5 8 12 14 -0 1 5 8 12 15 -0 1 5 8 13 14 -0 1 5 8 13 15 -0 1 5 8 14 15 -0 1 5 9 10 11 -0 1 5 9 10 12 -0 1 5 9 10 13 -0 1 5 9 10 14 -0 1 5 9 10 15 -0 1 5 9 11 12 -0 1 5 9 11 13 -0 1 5 9 11 14 -0 1 5 9 11 15 -0 1 5 9 12 13 -0 1 5 9 12 14 -0 1 5 9 12 15 -0 1 5 9 13 14 -0 1 5 9 13 15 -0 1 5 9 14 15 -0 1 5 10 11 12 -0 1 5 10 11 13 -0 1 5 10 11 14 -0 1 5 10 11 15 -0 1 5 10 12 13 -0 1 5 10 12 14 -0 1 5 10 12 15 -0 1 5 10 13 14 -0 1 5 10 13 15 -0 1 5 10 14 15 -0 1 5 11 12 13 -0 1 5 11 12 14 -0 1 5 11 12 15 -0 1 5 11 13 14 -0 1 5 11 13 15 -0 1 5 11 14 15 -0 1 5 12 13 14 -0 1 5 12 13 15 -0 1 5 12 14 15 -0 1 5 13 14 15 -0 1 6 7 8 9 -0 1 6 7 8 10 -0 1 6 7 8 11 -0 1 6 7 8 12 -0 1 6 7 8 13 -0 1 6 7 8 14 -0 1 6 7 8 15 -0 1 6 7 9 10 -0 1 6 7 9 11 -0 1 6 7 9 12 -0 1 6 7 9 13 -0 1 6 7 9 14 -0 1 6 7 9 15 -0 1 6 7 10 11 -0 1 6 7 10 12 -0 1 6 7 10 13 -0 1 6 7 10 14 -0 1 6 7 10 15 -0 1 6 7 11 12 -0 1 6 7 11 13 -0 1 6 7 11 14 -0 1 6 7 11 15 -0 1 6 7 12 13 -0 1 6 7 12 14 -0 1 6 7 12 15 -0 1 6 7 13 14 -0 1 6 7 13 15 -0 1 6 7 14 15 -0 1 6 8 9 10 -0 1 6 8 9 11 -0 1 6 8 9 12 -0 1 6 8 9 13 -0 1 6 8 9 14 -0 1 6 8 9 15 -0 1 6 8 10 11 -0 1 6 8 10 12 -0 1 6 8 10 13 -0 1 6 8 10 14 -0 1 6 8 10 15 -0 1 6 8 11 12 -0 1 6 8 11 13 -0 1 6 8 11 14 -0 1 6 8 11 15 -0 1 6 8 12 13 -0 1 6 8 12 14 -0 1 6 8 12 15 -0 1 6 8 13 14 -0 1 6 8 13 15 -0 1 6 8 14 15 -0 1 6 9 10 11 -0 1 6 9 10 12 -0 1 6 9 10 13 -0 1 6 9 10 14 -0 1 6 9 10 15 -0 1 6 9 11 12 -0 1 6 9 11 13 -0 1 6 9 11 14 -0 1 6 9 11 15 -0 1 6 9 12 13 -0 1 6 9 12 14 -0 1 6 9 12 15 -0 1 6 9 13 14 -0 1 6 9 13 15 -0 1 6 9 14 15 -0 1 6 10 11 12 -0 1 6 10 11 13 -0 1 6 10 11 14 -0 1 6 10 11 15 -0 1 6 10 12 13 -0 1 6 10 12 14 -0 1 6 10 12 15 -0 1 6 10 13 14 -0 1 6 10 13 15 -0 1 6 10 14 15 -0 1 6 11 12 13 -0 1 6 11 12 14 -0 1 6 11 12 15 -0 1 6 11 13 14 -0 1 6 11 13 15 -0 1 6 11 14 15 -0 1 6 12 13 14 -0 1 6 12 13 15 -0 1 6 12 14 15 -0 1 6 13 14 15 -0 1 7 8 9 10 -0 1 7 8 9 11 -0 1 7 8 9 12 -0 1 7 8 9 13 -0 1 7 8 9 14 -0 1 7 8 9 15 -0 1 7 8 10 11 -0 1 7 8 10 12 -0 1 7 8 10 13 -0 1 7 8 10 14 -0 1 7 8 10 15 -0 1 7 8 11 12 -0 1 7 8 11 13 -0 1 7 8 11 14 -0 1 7 8 11 15 -0 1 7 8 12 13 -0 1 7 8 12 14 -0 1 7 8 12 15 -0 1 7 8 13 14 -0 1 7 8 13 15 -0 1 7 8 14 15 -0 1 7 9 10 11 -0 1 7 9 10 12 -0 1 7 9 10 13 -0 1 7 9 10 14 -0 1 7 9 10 15 -0 1 7 9 11 12 -0 1 7 9 11 13 -0 1 7 9 11 14 -0 1 7 9 11 15 -0 1 7 9 12 13 -0 1 7 9 12 14 -0 1 7 9 12 15 -0 1 7 9 13 14 -0 1 7 9 13 15 -0 1 7 9 14 15 -0 1 7 10 11 12 -0 1 7 10 11 13 -0 1 7 10 11 14 -0 1 7 10 11 15 -0 1 7 10 12 13 -0 1 7 10 12 14 -0 1 7 10 12 15 -0 1 7 10 13 14 -0 1 7 10 13 15 -0 1 7 10 14 15 -0 1 7 11 12 13 -0 1 7 11 12 14 -0 1 7 11 12 15 -0 1 7 11 13 14 -0 1 7 11 13 15 -0 1 7 11 14 15 -0 1 7 12 13 14 -0 1 7 12 13 15 -0 1 7 12 14 15 -0 1 7 13 14 15 -0 1 8 9 10 11 -0 1 8 9 10 12 -0 1 8 9 10 13 -0 1 8 9 10 14 -0 1 8 9 10 15 -0 1 8 9 11 12 -0 1 8 9 11 13 -0 1 8 9 11 14 -0 1 8 9 11 15 -0 1 8 9 12 13 -0 1 8 9 12 14 -0 1 8 9 12 15 -0 1 8 9 13 14 -0 1 8 9 13 15 -0 1 8 9 14 15 -0 1 8 10 11 12 -0 1 8 10 11 13 -0 1 8 10 11 14 -0 1 8 10 11 15 -0 1 8 10 12 13 -0 1 8 10 12 14 -0 1 8 10 12 15 -0 1 8 10 13 14 -0 1 8 10 13 15 -0 1 8 10 14 15 -0 1 8 11 12 13 -0 1 8 11 12 14 -0 1 8 11 12 15 -0 1 8 11 13 14 -0 1 8 11 13 15 -0 1 8 11 14 15 -0 1 8 12 13 14 -0 1 8 12 13 15 -0 1 8 12 14 15 -0 1 8 13 14 15 -0 1 9 10 11 12 -0 1 9 10 11 13 -0 1 9 10 11 14 -0 1 9 10 11 15 -0 1 9 10 12 13 -0 1 9 10 12 14 -0 1 9 10 12 15 -0 1 9 10 13 14 -0 1 9 10 13 15 -0 1 9 10 14 15 -0 1 9 11 12 13 -0 1 9 11 12 14 -0 1 9 11 12 15 -0 1 9 11 13 14 -0 1 9 11 13 15 -0 1 9 11 14 15 -0 1 9 12 13 14 -0 1 9 12 13 15 -0 1 9 12 14 15 -0 1 9 13 14 15 -0 1 10 11 12 13 -0 1 10 11 12 14 -0 1 10 11 12 15 -0 1 10 11 13 14 -0 1 10 11 13 15 -0 1 10 11 14 15 -0 1 10 12 13 14 -0 1 10 12 13 15 -0 1 10 12 14 15 -0 1 10 13 14 15 -0 1 11 12 13 14 -0 1 11 12 13 15 -0 1 11 12 14 15 -0 1 11 13 14 15 -0 1 12 13 14 15 -0 2 3 4 5 6 -0 2 3 4 5 7 -0 2 3 4 5 8 -0 2 3 4 5 9 -0 2 3 4 5 10 -0 2 3 4 5 11 -0 2 3 4 5 12 -0 2 3 4 5 13 -0 2 3 4 5 14 -0 2 3 4 5 15 -0 2 3 4 6 7 -0 2 3 4 6 8 -0 2 3 4 6 9 -0 2 3 4 6 10 -0 2 3 4 6 11 -0 2 3 4 6 12 -0 2 3 4 6 13 -0 2 3 4 6 14 -0 2 3 4 6 15 -0 2 3 4 7 8 -0 2 3 4 7 9 -0 2 3 4 7 10 -0 2 3 4 7 11 -0 2 3 4 7 12 -0 2 3 4 7 13 -0 2 3 4 7 14 -0 2 3 4 7 15 -0 2 3 4 8 9 -0 2 3 4 8 10 -0 2 3 4 8 11 -0 2 3 4 8 12 -0 2 3 4 8 13 -0 2 3 4 8 14 -0 2 3 4 8 15 -0 2 3 4 9 10 -0 2 3 4 9 11 -0 2 3 4 9 12 -0 2 3 4 9 13 -0 2 3 4 9 14 -0 2 3 4 9 15 -0 2 3 4 10 11 -0 2 3 4 10 12 -0 2 3 4 10 13 -0 2 3 4 10 14 -0 2 3 4 10 15 -0 2 3 4 11 12 -0 2 3 4 11 13 -0 2 3 4 11 14 -0 2 3 4 11 15 -0 2 3 4 12 13 -0 2 3 4 12 14 -0 2 3 4 12 15 -0 2 3 4 13 14 -0 2 3 4 13 15 -0 2 3 4 14 15 -0 2 3 5 6 7 -0 2 3 5 6 8 -0 2 3 5 6 9 -0 2 3 5 6 10 -0 2 3 5 6 11 -0 2 3 5 6 12 -0 2 3 5 6 13 -0 2 3 5 6 14 -0 2 3 5 6 15 -0 2 3 5 7 8 -0 2 3 5 7 9 -0 2 3 5 7 10 -0 2 3 5 7 11 -0 2 3 5 7 12 -0 2 3 5 7 13 -0 2 3 5 7 14 -0 2 3 5 7 15 -0 2 3 5 8 9 -0 2 3 5 8 10 -0 2 3 5 8 11 -0 2 3 5 8 12 -0 2 3 5 8 13 -0 2 3 5 8 14 -0 2 3 5 8 15 -0 2 3 5 9 10 -0 2 3 5 9 11 -0 2 3 5 9 12 -0 2 3 5 9 13 -0 2 3 5 9 14 -0 2 3 5 9 15 -0 2 3 5 10 11 -0 2 3 5 10 12 -0 2 3 5 10 13 -0 2 3 5 10 14 -0 2 3 5 10 15 -0 2 3 5 11 12 -0 2 3 5 11 13 -0 2 3 5 11 14 -0 2 3 5 11 15 -0 2 3 5 12 13 -0 2 3 5 12 14 -0 2 3 5 12 15 -0 2 3 5 13 14 -0 2 3 5 13 15 -0 2 3 5 14 15 -0 2 3 6 7 8 -0 2 3 6 7 9 -0 2 3 6 7 10 -0 2 3 6 7 11 -0 2 3 6 7 12 -0 2 3 6 7 13 -0 2 3 6 7 14 -0 2 3 6 7 15 -0 2 3 6 8 9 -0 2 3 6 8 10 -0 2 3 6 8 11 -0 2 3 6 8 12 -0 2 3 6 8 13 -0 2 3 6 8 14 -0 2 3 6 8 15 -0 2 3 6 9 10 -0 2 3 6 9 11 -0 2 3 6 9 12 -0 2 3 6 9 13 -0 2 3 6 9 14 -0 2 3 6 9 15 -0 2 3 6 10 11 -0 2 3 6 10 12 -0 2 3 6 10 13 -0 2 3 6 10 14 -0 2 3 6 10 15 -0 2 3 6 11 12 -0 2 3 6 11 13 -0 2 3 6 11 14 -0 2 3 6 11 15 -0 2 3 6 12 13 -0 2 3 6 12 14 -0 2 3 6 12 15 -0 2 3 6 13 14 -0 2 3 6 13 15 -0 2 3 6 14 15 -0 2 3 7 8 9 -0 2 3 7 8 10 -0 2 3 7 8 11 -0 2 3 7 8 12 -0 2 3 7 8 13 -0 2 3 7 8 14 -0 2 3 7 8 15 -0 2 3 7 9 10 -0 2 3 7 9 11 -0 2 3 7 9 12 -0 2 3 7 9 13 -0 2 3 7 9 14 -0 2 3 7 9 15 -0 2 3 7 10 11 -0 2 3 7 10 12 -0 2 3 7 10 13 -0 2 3 7 10 14 -0 2 3 7 10 15 -0 2 3 7 11 12 -0 2 3 7 11 13 -0 2 3 7 11 14 -0 2 3 7 11 15 -0 2 3 7 12 13 -0 2 3 7 12 14 -0 2 3 7 12 15 -0 2 3 7 13 14 -0 2 3 7 13 15 -0 2 3 7 14 15 -0 2 3 8 9 10 -0 2 3 8 9 11 -0 2 3 8 9 12 -0 2 3 8 9 13 -0 2 3 8 9 14 -0 2 3 8 9 15 -0 2 3 8 10 11 -0 2 3 8 10 12 -0 2 3 8 10 13 -0 2 3 8 10 14 -0 2 3 8 10 15 -0 2 3 8 11 12 -0 2 3 8 11 13 -0 2 3 8 11 14 -0 2 3 8 11 15 -0 2 3 8 12 13 -0 2 3 8 12 14 -0 2 3 8 12 15 -0 2 3 8 13 14 -0 2 3 8 13 15 -0 2 3 8 14 15 -0 2 3 9 10 11 -0 2 3 9 10 12 -0 2 3 9 10 13 -0 2 3 9 10 14 -0 2 3 9 10 15 -0 2 3 9 11 12 -0 2 3 9 11 13 -0 2 3 9 11 14 -0 2 3 9 11 15 -0 2 3 9 12 13 -0 2 3 9 12 14 -0 2 3 9 12 15 -0 2 3 9 13 14 -0 2 3 9 13 15 -0 2 3 9 14 15 -0 2 3 10 11 12 -0 2 3 10 11 13 -0 2 3 10 11 14 -0 2 3 10 11 15 -0 2 3 10 12 13 -0 2 3 10 12 14 -0 2 3 10 12 15 -0 2 3 10 13 14 -0 2 3 10 13 15 -0 2 3 10 14 15 -0 2 3 11 12 13 -0 2 3 11 12 14 -0 2 3 11 12 15 -0 2 3 11 13 14 -0 2 3 11 13 15 -0 2 3 11 14 15 -0 2 3 12 13 14 -0 2 3 12 13 15 -0 2 3 12 14 15 -0 2 3 13 14 15 -0 2 4 5 6 7 -0 2 4 5 6 8 -0 2 4 5 6 9 -0 2 4 5 6 10 -0 2 4 5 6 11 -0 2 4 5 6 12 -0 2 4 5 6 13 -0 2 4 5 6 14 -0 2 4 5 6 15 -0 2 4 5 7 8 -0 2 4 5 7 9 -0 2 4 5 7 10 -0 2 4 5 7 11 -0 2 4 5 7 12 -0 2 4 5 7 13 -0 2 4 5 7 14 -0 2 4 5 7 15 -0 2 4 5 8 9 -0 2 4 5 8 10 -0 2 4 5 8 11 -0 2 4 5 8 12 -0 2 4 5 8 13 -0 2 4 5 8 14 -0 2 4 5 8 15 -0 2 4 5 9 10 -0 2 4 5 9 11 -0 2 4 5 9 12 -0 2 4 5 9 13 -0 2 4 5 9 14 -0 2 4 5 9 15 -0 2 4 5 10 11 -0 2 4 5 10 12 -0 2 4 5 10 13 -0 2 4 5 10 14 -0 2 4 5 10 15 -0 2 4 5 11 12 -0 2 4 5 11 13 -0 2 4 5 11 14 -0 2 4 5 11 15 -0 2 4 5 12 13 -0 2 4 5 12 14 -0 2 4 5 12 15 -0 2 4 5 13 14 -0 2 4 5 13 15 -0 2 4 5 14 15 -0 2 4 6 7 8 -0 2 4 6 7 9 -0 2 4 6 7 10 -0 2 4 6 7 11 -0 2 4 6 7 12 -0 2 4 6 7 13 -0 2 4 6 7 14 -0 2 4 6 7 15 -0 2 4 6 8 9 -0 2 4 6 8 10 -0 2 4 6 8 11 -0 2 4 6 8 12 -0 2 4 6 8 13 -0 2 4 6 8 14 -0 2 4 6 8 15 -0 2 4 6 9 10 -0 2 4 6 9 11 -0 2 4 6 9 12 -0 2 4 6 9 13 -0 2 4 6 9 14 -0 2 4 6 9 15 -0 2 4 6 10 11 -0 2 4 6 10 12 -0 2 4 6 10 13 -0 2 4 6 10 14 -0 2 4 6 10 15 -0 2 4 6 11 12 -0 2 4 6 11 13 -0 2 4 6 11 14 -0 2 4 6 11 15 -0 2 4 6 12 13 -0 2 4 6 12 14 -0 2 4 6 12 15 -0 2 4 6 13 14 -0 2 4 6 13 15 -0 2 4 6 14 15 -0 2 4 7 8 9 -0 2 4 7 8 10 -0 2 4 7 8 11 -0 2 4 7 8 12 -0 2 4 7 8 13 -0 2 4 7 8 14 -0 2 4 7 8 15 -0 2 4 7 9 10 -0 2 4 7 9 11 -0 2 4 7 9 12 -0 2 4 7 9 13 -0 2 4 7 9 14 -0 2 4 7 9 15 -0 2 4 7 10 11 -0 2 4 7 10 12 -0 2 4 7 10 13 -0 2 4 7 10 14 -0 2 4 7 10 15 -0 2 4 7 11 12 -0 2 4 7 11 13 -0 2 4 7 11 14 -0 2 4 7 11 15 -0 2 4 7 12 13 -0 2 4 7 12 14 -0 2 4 7 12 15 -0 2 4 7 13 14 -0 2 4 7 13 15 -0 2 4 7 14 15 -0 2 4 8 9 10 -0 2 4 8 9 11 -0 2 4 8 9 12 -0 2 4 8 9 13 -0 2 4 8 9 14 -0 2 4 8 9 15 -0 2 4 8 10 11 -0 2 4 8 10 12 -0 2 4 8 10 13 -0 2 4 8 10 14 -0 2 4 8 10 15 -0 2 4 8 11 12 -0 2 4 8 11 13 -0 2 4 8 11 14 -0 2 4 8 11 15 -0 2 4 8 12 13 -0 2 4 8 12 14 -0 2 4 8 12 15 -0 2 4 8 13 14 -0 2 4 8 13 15 -0 2 4 8 14 15 -0 2 4 9 10 11 -0 2 4 9 10 12 -0 2 4 9 10 13 -0 2 4 9 10 14 -0 2 4 9 10 15 -0 2 4 9 11 12 -0 2 4 9 11 13 -0 2 4 9 11 14 -0 2 4 9 11 15 -0 2 4 9 12 13 -0 2 4 9 12 14 -0 2 4 9 12 15 -0 2 4 9 13 14 -0 2 4 9 13 15 -0 2 4 9 14 15 -0 2 4 10 11 12 -0 2 4 10 11 13 -0 2 4 10 11 14 -0 2 4 10 11 15 -0 2 4 10 12 13 -0 2 4 10 12 14 -0 2 4 10 12 15 -0 2 4 10 13 14 -0 2 4 10 13 15 -0 2 4 10 14 15 -0 2 4 11 12 13 -0 2 4 11 12 14 -0 2 4 11 12 15 -0 2 4 11 13 14 -0 2 4 11 13 15 -0 2 4 11 14 15 -0 2 4 12 13 14 -0 2 4 12 13 15 -0 2 4 12 14 15 -0 2 4 13 14 15 -0 2 5 6 7 8 -0 2 5 6 7 9 -0 2 5 6 7 10 -0 2 5 6 7 11 -0 2 5 6 7 12 -0 2 5 6 7 13 -0 2 5 6 7 14 -0 2 5 6 7 15 -0 2 5 6 8 9 -0 2 5 6 8 10 -0 2 5 6 8 11 -0 2 5 6 8 12 -0 2 5 6 8 13 -0 2 5 6 8 14 -0 2 5 6 8 15 -0 2 5 6 9 10 -0 2 5 6 9 11 -0 2 5 6 9 12 -0 2 5 6 9 13 -0 2 5 6 9 14 -0 2 5 6 9 15 -0 2 5 6 10 11 -0 2 5 6 10 12 -0 2 5 6 10 13 -0 2 5 6 10 14 -0 2 5 6 10 15 -0 2 5 6 11 12 -0 2 5 6 11 13 -0 2 5 6 11 14 -0 2 5 6 11 15 -0 2 5 6 12 13 -0 2 5 6 12 14 -0 2 5 6 12 15 -0 2 5 6 13 14 -0 2 5 6 13 15 -0 2 5 6 14 15 -0 2 5 7 8 9 -0 2 5 7 8 10 -0 2 5 7 8 11 -0 2 5 7 8 12 -0 2 5 7 8 13 -0 2 5 7 8 14 -0 2 5 7 8 15 -0 2 5 7 9 10 -0 2 5 7 9 11 -0 2 5 7 9 12 -0 2 5 7 9 13 -0 2 5 7 9 14 -0 2 5 7 9 15 -0 2 5 7 10 11 -0 2 5 7 10 12 -0 2 5 7 10 13 -0 2 5 7 10 14 -0 2 5 7 10 15 -0 2 5 7 11 12 -0 2 5 7 11 13 -0 2 5 7 11 14 -0 2 5 7 11 15 -0 2 5 7 12 13 -0 2 5 7 12 14 -0 2 5 7 12 15 -0 2 5 7 13 14 -0 2 5 7 13 15 -0 2 5 7 14 15 -0 2 5 8 9 10 -0 2 5 8 9 11 -0 2 5 8 9 12 -0 2 5 8 9 13 -0 2 5 8 9 14 -0 2 5 8 9 15 -0 2 5 8 10 11 -0 2 5 8 10 12 -0 2 5 8 10 13 -0 2 5 8 10 14 -0 2 5 8 10 15 -0 2 5 8 11 12 -0 2 5 8 11 13 -0 2 5 8 11 14 -0 2 5 8 11 15 -0 2 5 8 12 13 -0 2 5 8 12 14 -0 2 5 8 12 15 -0 2 5 8 13 14 -0 2 5 8 13 15 -0 2 5 8 14 15 -0 2 5 9 10 11 -0 2 5 9 10 12 -0 2 5 9 10 13 -0 2 5 9 10 14 -0 2 5 9 10 15 -0 2 5 9 11 12 -0 2 5 9 11 13 -0 2 5 9 11 14 -0 2 5 9 11 15 -0 2 5 9 12 13 -0 2 5 9 12 14 -0 2 5 9 12 15 -0 2 5 9 13 14 -0 2 5 9 13 15 -0 2 5 9 14 15 -0 2 5 10 11 12 -0 2 5 10 11 13 -0 2 5 10 11 14 -0 2 5 10 11 15 -0 2 5 10 12 13 -0 2 5 10 12 14 -0 2 5 10 12 15 -0 2 5 10 13 14 -0 2 5 10 13 15 -0 2 5 10 14 15 -0 2 5 11 12 13 -0 2 5 11 12 14 -0 2 5 11 12 15 -0 2 5 11 13 14 -0 2 5 11 13 15 -0 2 5 11 14 15 -0 2 5 12 13 14 -0 2 5 12 13 15 -0 2 5 12 14 15 -0 2 5 13 14 15 -0 2 6 7 8 9 -0 2 6 7 8 10 -0 2 6 7 8 11 -0 2 6 7 8 12 -0 2 6 7 8 13 -0 2 6 7 8 14 -0 2 6 7 8 15 -0 2 6 7 9 10 -0 2 6 7 9 11 -0 2 6 7 9 12 -0 2 6 7 9 13 -0 2 6 7 9 14 -0 2 6 7 9 15 -0 2 6 7 10 11 -0 2 6 7 10 12 -0 2 6 7 10 13 -0 2 6 7 10 14 -0 2 6 7 10 15 -0 2 6 7 11 12 -0 2 6 7 11 13 -0 2 6 7 11 14 -0 2 6 7 11 15 -0 2 6 7 12 13 -0 2 6 7 12 14 -0 2 6 7 12 15 -0 2 6 7 13 14 -0 2 6 7 13 15 -0 2 6 7 14 15 -0 2 6 8 9 10 -0 2 6 8 9 11 -0 2 6 8 9 12 -0 2 6 8 9 13 -0 2 6 8 9 14 -0 2 6 8 9 15 -0 2 6 8 10 11 -0 2 6 8 10 12 -0 2 6 8 10 13 -0 2 6 8 10 14 -0 2 6 8 10 15 -0 2 6 8 11 12 -0 2 6 8 11 13 -0 2 6 8 11 14 -0 2 6 8 11 15 -0 2 6 8 12 13 -0 2 6 8 12 14 -0 2 6 8 12 15 -0 2 6 8 13 14 -0 2 6 8 13 15 -0 2 6 8 14 15 -0 2 6 9 10 11 -0 2 6 9 10 12 -0 2 6 9 10 13 -0 2 6 9 10 14 -0 2 6 9 10 15 -0 2 6 9 11 12 -0 2 6 9 11 13 -0 2 6 9 11 14 -0 2 6 9 11 15 -0 2 6 9 12 13 -0 2 6 9 12 14 -0 2 6 9 12 15 -0 2 6 9 13 14 -0 2 6 9 13 15 -0 2 6 9 14 15 -0 2 6 10 11 12 -0 2 6 10 11 13 -0 2 6 10 11 14 -0 2 6 10 11 15 -0 2 6 10 12 13 -0 2 6 10 12 14 -0 2 6 10 12 15 -0 2 6 10 13 14 -0 2 6 10 13 15 -0 2 6 10 14 15 -0 2 6 11 12 13 -0 2 6 11 12 14 -0 2 6 11 12 15 -0 2 6 11 13 14 -0 2 6 11 13 15 -0 2 6 11 14 15 -0 2 6 12 13 14 -0 2 6 12 13 15 -0 2 6 12 14 15 -0 2 6 13 14 15 -0 2 7 8 9 10 -0 2 7 8 9 11 -0 2 7 8 9 12 -0 2 7 8 9 13 -0 2 7 8 9 14 -0 2 7 8 9 15 -0 2 7 8 10 11 -0 2 7 8 10 12 -0 2 7 8 10 13 -0 2 7 8 10 14 -0 2 7 8 10 15 -0 2 7 8 11 12 -0 2 7 8 11 13 -0 2 7 8 11 14 -0 2 7 8 11 15 -0 2 7 8 12 13 -0 2 7 8 12 14 -0 2 7 8 12 15 -0 2 7 8 13 14 -0 2 7 8 13 15 -0 2 7 8 14 15 -0 2 7 9 10 11 -0 2 7 9 10 12 -0 2 7 9 10 13 -0 2 7 9 10 14 -0 2 7 9 10 15 -0 2 7 9 11 12 -0 2 7 9 11 13 -0 2 7 9 11 14 -0 2 7 9 11 15 -0 2 7 9 12 13 -0 2 7 9 12 14 -0 2 7 9 12 15 -0 2 7 9 13 14 -0 2 7 9 13 15 -0 2 7 9 14 15 -0 2 7 10 11 12 -0 2 7 10 11 13 -0 2 7 10 11 14 -0 2 7 10 11 15 -0 2 7 10 12 13 -0 2 7 10 12 14 -0 2 7 10 12 15 -0 2 7 10 13 14 -0 2 7 10 13 15 -0 2 7 10 14 15 -0 2 7 11 12 13 -0 2 7 11 12 14 -0 2 7 11 12 15 -0 2 7 11 13 14 -0 2 7 11 13 15 -0 2 7 11 14 15 -0 2 7 12 13 14 -0 2 7 12 13 15 -0 2 7 12 14 15 -0 2 7 13 14 15 -0 2 8 9 10 11 -0 2 8 9 10 12 -0 2 8 9 10 13 -0 2 8 9 10 14 -0 2 8 9 10 15 -0 2 8 9 11 12 -0 2 8 9 11 13 -0 2 8 9 11 14 -0 2 8 9 11 15 -0 2 8 9 12 13 -0 2 8 9 12 14 -0 2 8 9 12 15 -0 2 8 9 13 14 -0 2 8 9 13 15 -0 2 8 9 14 15 -0 2 8 10 11 12 -0 2 8 10 11 13 -0 2 8 10 11 14 -0 2 8 10 11 15 -0 2 8 10 12 13 -0 2 8 10 12 14 -0 2 8 10 12 15 -0 2 8 10 13 14 -0 2 8 10 13 15 -0 2 8 10 14 15 -0 2 8 11 12 13 -0 2 8 11 12 14 -0 2 8 11 12 15 -0 2 8 11 13 14 -0 2 8 11 13 15 -0 2 8 11 14 15 -0 2 8 12 13 14 -0 2 8 12 13 15 -0 2 8 12 14 15 -0 2 8 13 14 15 -0 2 9 10 11 12 -0 2 9 10 11 13 -0 2 9 10 11 14 -0 2 9 10 11 15 -0 2 9 10 12 13 -0 2 9 10 12 14 -0 2 9 10 12 15 -0 2 9 10 13 14 -0 2 9 10 13 15 -0 2 9 10 14 15 -0 2 9 11 12 13 -0 2 9 11 12 14 -0 2 9 11 12 15 -0 2 9 11 13 14 -0 2 9 11 13 15 -0 2 9 11 14 15 -0 2 9 12 13 14 -0 2 9 12 13 15 -0 2 9 12 14 15 -0 2 9 13 14 15 -0 2 10 11 12 13 -0 2 10 11 12 14 -0 2 10 11 12 15 -0 2 10 11 13 14 -0 2 10 11 13 15 -0 2 10 11 14 15 -0 2 10 12 13 14 -0 2 10 12 13 15 -0 2 10 12 14 15 -0 2 10 13 14 15 -0 2 11 12 13 14 -0 2 11 12 13 15 -0 2 11 12 14 15 -0 2 11 13 14 15 -0 2 12 13 14 15 -0 3 4 5 6 7 -0 3 4 5 6 8 -0 3 4 5 6 9 -0 3 4 5 6 10 -0 3 4 5 6 11 -0 3 4 5 6 12 -0 3 4 5 6 13 -0 3 4 5 6 14 -0 3 4 5 6 15 -0 3 4 5 7 8 -0 3 4 5 7 9 -0 3 4 5 7 10 -0 3 4 5 7 11 -0 3 4 5 7 12 -0 3 4 5 7 13 -0 3 4 5 7 14 -0 3 4 5 7 15 -0 3 4 5 8 9 -0 3 4 5 8 10 -0 3 4 5 8 11 -0 3 4 5 8 12 -0 3 4 5 8 13 -0 3 4 5 8 14 -0 3 4 5 8 15 -0 3 4 5 9 10 -0 3 4 5 9 11 -0 3 4 5 9 12 -0 3 4 5 9 13 -0 3 4 5 9 14 -0 3 4 5 9 15 -0 3 4 5 10 11 -0 3 4 5 10 12 -0 3 4 5 10 13 -0 3 4 5 10 14 -0 3 4 5 10 15 -0 3 4 5 11 12 -0 3 4 5 11 13 -0 3 4 5 11 14 -0 3 4 5 11 15 -0 3 4 5 12 13 -0 3 4 5 12 14 -0 3 4 5 12 15 -0 3 4 5 13 14 -0 3 4 5 13 15 -0 3 4 5 14 15 -0 3 4 6 7 8 -0 3 4 6 7 9 -0 3 4 6 7 10 -0 3 4 6 7 11 -0 3 4 6 7 12 -0 3 4 6 7 13 -0 3 4 6 7 14 -0 3 4 6 7 15 -0 3 4 6 8 9 -0 3 4 6 8 10 -0 3 4 6 8 11 -0 3 4 6 8 12 -0 3 4 6 8 13 -0 3 4 6 8 14 -0 3 4 6 8 15 -0 3 4 6 9 10 -0 3 4 6 9 11 -0 3 4 6 9 12 -0 3 4 6 9 13 -0 3 4 6 9 14 -0 3 4 6 9 15 -0 3 4 6 10 11 -0 3 4 6 10 12 -0 3 4 6 10 13 -0 3 4 6 10 14 -0 3 4 6 10 15 -0 3 4 6 11 12 -0 3 4 6 11 13 -0 3 4 6 11 14 -0 3 4 6 11 15 -0 3 4 6 12 13 -0 3 4 6 12 14 -0 3 4 6 12 15 -0 3 4 6 13 14 -0 3 4 6 13 15 -0 3 4 6 14 15 -0 3 4 7 8 9 -0 3 4 7 8 10 -0 3 4 7 8 11 -0 3 4 7 8 12 -0 3 4 7 8 13 -0 3 4 7 8 14 -0 3 4 7 8 15 -0 3 4 7 9 10 -0 3 4 7 9 11 -0 3 4 7 9 12 -0 3 4 7 9 13 -0 3 4 7 9 14 -0 3 4 7 9 15 -0 3 4 7 10 11 -0 3 4 7 10 12 -0 3 4 7 10 13 -0 3 4 7 10 14 -0 3 4 7 10 15 -0 3 4 7 11 12 -0 3 4 7 11 13 -0 3 4 7 11 14 -0 3 4 7 11 15 -0 3 4 7 12 13 -0 3 4 7 12 14 -0 3 4 7 12 15 -0 3 4 7 13 14 -0 3 4 7 13 15 -0 3 4 7 14 15 -0 3 4 8 9 10 -0 3 4 8 9 11 -0 3 4 8 9 12 -0 3 4 8 9 13 -0 3 4 8 9 14 -0 3 4 8 9 15 -0 3 4 8 10 11 -0 3 4 8 10 12 -0 3 4 8 10 13 -0 3 4 8 10 14 -0 3 4 8 10 15 -0 3 4 8 11 12 -0 3 4 8 11 13 -0 3 4 8 11 14 -0 3 4 8 11 15 -0 3 4 8 12 13 -0 3 4 8 12 14 -0 3 4 8 12 15 -0 3 4 8 13 14 -0 3 4 8 13 15 -0 3 4 8 14 15 -0 3 4 9 10 11 -0 3 4 9 10 12 -0 3 4 9 10 13 -0 3 4 9 10 14 -0 3 4 9 10 15 -0 3 4 9 11 12 -0 3 4 9 11 13 -0 3 4 9 11 14 -0 3 4 9 11 15 -0 3 4 9 12 13 -0 3 4 9 12 14 -0 3 4 9 12 15 -0 3 4 9 13 14 -0 3 4 9 13 15 -0 3 4 9 14 15 -0 3 4 10 11 12 -0 3 4 10 11 13 -0 3 4 10 11 14 -0 3 4 10 11 15 -0 3 4 10 12 13 -0 3 4 10 12 14 -0 3 4 10 12 15 -0 3 4 10 13 14 -0 3 4 10 13 15 -0 3 4 10 14 15 -0 3 4 11 12 13 -0 3 4 11 12 14 -0 3 4 11 12 15 -0 3 4 11 13 14 -0 3 4 11 13 15 -0 3 4 11 14 15 -0 3 4 12 13 14 -0 3 4 12 13 15 -0 3 4 12 14 15 -0 3 4 13 14 15 -0 3 5 6 7 8 -0 3 5 6 7 9 -0 3 5 6 7 10 -0 3 5 6 7 11 -0 3 5 6 7 12 -0 3 5 6 7 13 -0 3 5 6 7 14 -0 3 5 6 7 15 -0 3 5 6 8 9 -0 3 5 6 8 10 -0 3 5 6 8 11 -0 3 5 6 8 12 -0 3 5 6 8 13 -0 3 5 6 8 14 -0 3 5 6 8 15 -0 3 5 6 9 10 -0 3 5 6 9 11 -0 3 5 6 9 12 -0 3 5 6 9 13 -0 3 5 6 9 14 -0 3 5 6 9 15 -0 3 5 6 10 11 -0 3 5 6 10 12 -0 3 5 6 10 13 -0 3 5 6 10 14 -0 3 5 6 10 15 -0 3 5 6 11 12 -0 3 5 6 11 13 -0 3 5 6 11 14 -0 3 5 6 11 15 -0 3 5 6 12 13 -0 3 5 6 12 14 -0 3 5 6 12 15 -0 3 5 6 13 14 -0 3 5 6 13 15 -0 3 5 6 14 15 -0 3 5 7 8 9 -0 3 5 7 8 10 -0 3 5 7 8 11 -0 3 5 7 8 12 -0 3 5 7 8 13 -0 3 5 7 8 14 -0 3 5 7 8 15 -0 3 5 7 9 10 -0 3 5 7 9 11 -0 3 5 7 9 12 -0 3 5 7 9 13 -0 3 5 7 9 14 -0 3 5 7 9 15 -0 3 5 7 10 11 -0 3 5 7 10 12 -0 3 5 7 10 13 -0 3 5 7 10 14 -0 3 5 7 10 15 -0 3 5 7 11 12 -0 3 5 7 11 13 -0 3 5 7 11 14 -0 3 5 7 11 15 -0 3 5 7 12 13 -0 3 5 7 12 14 -0 3 5 7 12 15 -0 3 5 7 13 14 -0 3 5 7 13 15 -0 3 5 7 14 15 -0 3 5 8 9 10 -0 3 5 8 9 11 -0 3 5 8 9 12 -0 3 5 8 9 13 -0 3 5 8 9 14 -0 3 5 8 9 15 -0 3 5 8 10 11 -0 3 5 8 10 12 -0 3 5 8 10 13 -0 3 5 8 10 14 -0 3 5 8 10 15 -0 3 5 8 11 12 -0 3 5 8 11 13 -0 3 5 8 11 14 -0 3 5 8 11 15 -0 3 5 8 12 13 -0 3 5 8 12 14 -0 3 5 8 12 15 -0 3 5 8 13 14 -0 3 5 8 13 15 -0 3 5 8 14 15 -0 3 5 9 10 11 -0 3 5 9 10 12 -0 3 5 9 10 13 -0 3 5 9 10 14 -0 3 5 9 10 15 -0 3 5 9 11 12 -0 3 5 9 11 13 -0 3 5 9 11 14 -0 3 5 9 11 15 -0 3 5 9 12 13 -0 3 5 9 12 14 -0 3 5 9 12 15 -0 3 5 9 13 14 -0 3 5 9 13 15 -0 3 5 9 14 15 -0 3 5 10 11 12 -0 3 5 10 11 13 -0 3 5 10 11 14 -0 3 5 10 11 15 -0 3 5 10 12 13 -0 3 5 10 12 14 -0 3 5 10 12 15 -0 3 5 10 13 14 -0 3 5 10 13 15 -0 3 5 10 14 15 -0 3 5 11 12 13 -0 3 5 11 12 14 -0 3 5 11 12 15 -0 3 5 11 13 14 -0 3 5 11 13 15 -0 3 5 11 14 15 -0 3 5 12 13 14 -0 3 5 12 13 15 -0 3 5 12 14 15 -0 3 5 13 14 15 -0 3 6 7 8 9 -0 3 6 7 8 10 -0 3 6 7 8 11 -0 3 6 7 8 12 -0 3 6 7 8 13 -0 3 6 7 8 14 -0 3 6 7 8 15 -0 3 6 7 9 10 -0 3 6 7 9 11 -0 3 6 7 9 12 -0 3 6 7 9 13 -0 3 6 7 9 14 -0 3 6 7 9 15 -0 3 6 7 10 11 -0 3 6 7 10 12 -0 3 6 7 10 13 -0 3 6 7 10 14 -0 3 6 7 10 15 -0 3 6 7 11 12 -0 3 6 7 11 13 -0 3 6 7 11 14 -0 3 6 7 11 15 -0 3 6 7 12 13 -0 3 6 7 12 14 -0 3 6 7 12 15 -0 3 6 7 13 14 -0 3 6 7 13 15 -0 3 6 7 14 15 -0 3 6 8 9 10 -0 3 6 8 9 11 -0 3 6 8 9 12 -0 3 6 8 9 13 -0 3 6 8 9 14 -0 3 6 8 9 15 -0 3 6 8 10 11 -0 3 6 8 10 12 -0 3 6 8 10 13 -0 3 6 8 10 14 -0 3 6 8 10 15 -0 3 6 8 11 12 -0 3 6 8 11 13 -0 3 6 8 11 14 -0 3 6 8 11 15 -0 3 6 8 12 13 -0 3 6 8 12 14 -0 3 6 8 12 15 -0 3 6 8 13 14 -0 3 6 8 13 15 -0 3 6 8 14 15 -0 3 6 9 10 11 -0 3 6 9 10 12 -0 3 6 9 10 13 -0 3 6 9 10 14 -0 3 6 9 10 15 -0 3 6 9 11 12 -0 3 6 9 11 13 -0 3 6 9 11 14 -0 3 6 9 11 15 -0 3 6 9 12 13 -0 3 6 9 12 14 -0 3 6 9 12 15 -0 3 6 9 13 14 -0 3 6 9 13 15 -0 3 6 9 14 15 -0 3 6 10 11 12 -0 3 6 10 11 13 -0 3 6 10 11 14 -0 3 6 10 11 15 -0 3 6 10 12 13 -0 3 6 10 12 14 -0 3 6 10 12 15 -0 3 6 10 13 14 -0 3 6 10 13 15 -0 3 6 10 14 15 -0 3 6 11 12 13 -0 3 6 11 12 14 -0 3 6 11 12 15 -0 3 6 11 13 14 -0 3 6 11 13 15 -0 3 6 11 14 15 -0 3 6 12 13 14 -0 3 6 12 13 15 -0 3 6 12 14 15 -0 3 6 13 14 15 -0 3 7 8 9 10 -0 3 7 8 9 11 -0 3 7 8 9 12 -0 3 7 8 9 13 -0 3 7 8 9 14 -0 3 7 8 9 15 -0 3 7 8 10 11 -0 3 7 8 10 12 -0 3 7 8 10 13 -0 3 7 8 10 14 -0 3 7 8 10 15 -0 3 7 8 11 12 -0 3 7 8 11 13 -0 3 7 8 11 14 -0 3 7 8 11 15 -0 3 7 8 12 13 -0 3 7 8 12 14 -0 3 7 8 12 15 -0 3 7 8 13 14 -0 3 7 8 13 15 -0 3 7 8 14 15 -0 3 7 9 10 11 -0 3 7 9 10 12 -0 3 7 9 10 13 -0 3 7 9 10 14 -0 3 7 9 10 15 -0 3 7 9 11 12 -0 3 7 9 11 13 -0 3 7 9 11 14 -0 3 7 9 11 15 -0 3 7 9 12 13 -0 3 7 9 12 14 -0 3 7 9 12 15 -0 3 7 9 13 14 -0 3 7 9 13 15 -0 3 7 9 14 15 -0 3 7 10 11 12 -0 3 7 10 11 13 -0 3 7 10 11 14 -0 3 7 10 11 15 -0 3 7 10 12 13 -0 3 7 10 12 14 -0 3 7 10 12 15 -0 3 7 10 13 14 -0 3 7 10 13 15 -0 3 7 10 14 15 -0 3 7 11 12 13 -0 3 7 11 12 14 -0 3 7 11 12 15 -0 3 7 11 13 14 -0 3 7 11 13 15 -0 3 7 11 14 15 -0 3 7 12 13 14 -0 3 7 12 13 15 -0 3 7 12 14 15 -0 3 7 13 14 15 -0 3 8 9 10 11 -0 3 8 9 10 12 -0 3 8 9 10 13 -0 3 8 9 10 14 -0 3 8 9 10 15 -0 3 8 9 11 12 -0 3 8 9 11 13 -0 3 8 9 11 14 -0 3 8 9 11 15 -0 3 8 9 12 13 -0 3 8 9 12 14 -0 3 8 9 12 15 -0 3 8 9 13 14 -0 3 8 9 13 15 -0 3 8 9 14 15 -0 3 8 10 11 12 -0 3 8 10 11 13 -0 3 8 10 11 14 -0 3 8 10 11 15 -0 3 8 10 12 13 -0 3 8 10 12 14 -0 3 8 10 12 15 -0 3 8 10 13 14 -0 3 8 10 13 15 -0 3 8 10 14 15 -0 3 8 11 12 13 -0 3 8 11 12 14 -0 3 8 11 12 15 -0 3 8 11 13 14 -0 3 8 11 13 15 -0 3 8 11 14 15 -0 3 8 12 13 14 -0 3 8 12 13 15 -0 3 8 12 14 15 -0 3 8 13 14 15 -0 3 9 10 11 12 -0 3 9 10 11 13 -0 3 9 10 11 14 -0 3 9 10 11 15 -0 3 9 10 12 13 -0 3 9 10 12 14 -0 3 9 10 12 15 -0 3 9 10 13 14 -0 3 9 10 13 15 -0 3 9 10 14 15 -0 3 9 11 12 13 -0 3 9 11 12 14 -0 3 9 11 12 15 -0 3 9 11 13 14 -0 3 9 11 13 15 -0 3 9 11 14 15 -0 3 9 12 13 14 -0 3 9 12 13 15 -0 3 9 12 14 15 -0 3 9 13 14 15 -0 3 10 11 12 13 -0 3 10 11 12 14 -0 3 10 11 12 15 -0 3 10 11 13 14 -0 3 10 11 13 15 -0 3 10 11 14 15 -0 3 10 12 13 14 -0 3 10 12 13 15 -0 3 10 12 14 15 -0 3 10 13 14 15 -0 3 11 12 13 14 -0 3 11 12 13 15 -0 3 11 12 14 15 -0 3 11 13 14 15 -0 3 12 13 14 15 -0 4 5 6 7 8 -0 4 5 6 7 9 -0 4 5 6 7 10 -0 4 5 6 7 11 -0 4 5 6 7 12 -0 4 5 6 7 13 -0 4 5 6 7 14 -0 4 5 6 7 15 -0 4 5 6 8 9 -0 4 5 6 8 10 -0 4 5 6 8 11 -0 4 5 6 8 12 -0 4 5 6 8 13 -0 4 5 6 8 14 -0 4 5 6 8 15 -0 4 5 6 9 10 -0 4 5 6 9 11 -0 4 5 6 9 12 -0 4 5 6 9 13 -0 4 5 6 9 14 -0 4 5 6 9 15 -0 4 5 6 10 11 -0 4 5 6 10 12 -0 4 5 6 10 13 -0 4 5 6 10 14 -0 4 5 6 10 15 -0 4 5 6 11 12 -0 4 5 6 11 13 -0 4 5 6 11 14 -0 4 5 6 11 15 -0 4 5 6 12 13 -0 4 5 6 12 14 -0 4 5 6 12 15 -0 4 5 6 13 14 -0 4 5 6 13 15 -0 4 5 6 14 15 -0 4 5 7 8 9 -0 4 5 7 8 10 -0 4 5 7 8 11 -0 4 5 7 8 12 -0 4 5 7 8 13 -0 4 5 7 8 14 -0 4 5 7 8 15 -0 4 5 7 9 10 -0 4 5 7 9 11 -0 4 5 7 9 12 -0 4 5 7 9 13 -0 4 5 7 9 14 -0 4 5 7 9 15 -0 4 5 7 10 11 -0 4 5 7 10 12 -0 4 5 7 10 13 -0 4 5 7 10 14 -0 4 5 7 10 15 -0 4 5 7 11 12 -0 4 5 7 11 13 -0 4 5 7 11 14 -0 4 5 7 11 15 -0 4 5 7 12 13 -0 4 5 7 12 14 -0 4 5 7 12 15 -0 4 5 7 13 14 -0 4 5 7 13 15 -0 4 5 7 14 15 -0 4 5 8 9 10 -0 4 5 8 9 11 -0 4 5 8 9 12 -0 4 5 8 9 13 -0 4 5 8 9 14 -0 4 5 8 9 15 -0 4 5 8 10 11 -0 4 5 8 10 12 -0 4 5 8 10 13 -0 4 5 8 10 14 -0 4 5 8 10 15 -0 4 5 8 11 12 -0 4 5 8 11 13 -0 4 5 8 11 14 -0 4 5 8 11 15 -0 4 5 8 12 13 -0 4 5 8 12 14 -0 4 5 8 12 15 -0 4 5 8 13 14 -0 4 5 8 13 15 -0 4 5 8 14 15 -0 4 5 9 10 11 -0 4 5 9 10 12 -0 4 5 9 10 13 -0 4 5 9 10 14 -0 4 5 9 10 15 -0 4 5 9 11 12 -0 4 5 9 11 13 -0 4 5 9 11 14 -0 4 5 9 11 15 -0 4 5 9 12 13 -0 4 5 9 12 14 -0 4 5 9 12 15 -0 4 5 9 13 14 -0 4 5 9 13 15 -0 4 5 9 14 15 -0 4 5 10 11 12 -0 4 5 10 11 13 -0 4 5 10 11 14 -0 4 5 10 11 15 -0 4 5 10 12 13 -0 4 5 10 12 14 -0 4 5 10 12 15 -0 4 5 10 13 14 -0 4 5 10 13 15 -0 4 5 10 14 15 -0 4 5 11 12 13 -0 4 5 11 12 14 -0 4 5 11 12 15 -0 4 5 11 13 14 -0 4 5 11 13 15 -0 4 5 11 14 15 -0 4 5 12 13 14 -0 4 5 12 13 15 -0 4 5 12 14 15 -0 4 5 13 14 15 -0 4 6 7 8 9 -0 4 6 7 8 10 -0 4 6 7 8 11 -0 4 6 7 8 12 -0 4 6 7 8 13 -0 4 6 7 8 14 -0 4 6 7 8 15 -0 4 6 7 9 10 -0 4 6 7 9 11 -0 4 6 7 9 12 -0 4 6 7 9 13 -0 4 6 7 9 14 -0 4 6 7 9 15 -0 4 6 7 10 11 -0 4 6 7 10 12 -0 4 6 7 10 13 -0 4 6 7 10 14 -0 4 6 7 10 15 -0 4 6 7 11 12 -0 4 6 7 11 13 -0 4 6 7 11 14 -0 4 6 7 11 15 -0 4 6 7 12 13 -0 4 6 7 12 14 -0 4 6 7 12 15 -0 4 6 7 13 14 -0 4 6 7 13 15 -0 4 6 7 14 15 -0 4 6 8 9 10 -0 4 6 8 9 11 -0 4 6 8 9 12 -0 4 6 8 9 13 -0 4 6 8 9 14 -0 4 6 8 9 15 -0 4 6 8 10 11 -0 4 6 8 10 12 -0 4 6 8 10 13 -0 4 6 8 10 14 -0 4 6 8 10 15 -0 4 6 8 11 12 -0 4 6 8 11 13 -0 4 6 8 11 14 -0 4 6 8 11 15 -0 4 6 8 12 13 -0 4 6 8 12 14 -0 4 6 8 12 15 -0 4 6 8 13 14 -0 4 6 8 13 15 -0 4 6 8 14 15 -0 4 6 9 10 11 -0 4 6 9 10 12 -0 4 6 9 10 13 -0 4 6 9 10 14 -0 4 6 9 10 15 -0 4 6 9 11 12 -0 4 6 9 11 13 -0 4 6 9 11 14 -0 4 6 9 11 15 -0 4 6 9 12 13 -0 4 6 9 12 14 -0 4 6 9 12 15 -0 4 6 9 13 14 -0 4 6 9 13 15 -0 4 6 9 14 15 -0 4 6 10 11 12 -0 4 6 10 11 13 -0 4 6 10 11 14 -0 4 6 10 11 15 -0 4 6 10 12 13 -0 4 6 10 12 14 -0 4 6 10 12 15 -0 4 6 10 13 14 -0 4 6 10 13 15 -0 4 6 10 14 15 -0 4 6 11 12 13 -0 4 6 11 12 14 -0 4 6 11 12 15 -0 4 6 11 13 14 -0 4 6 11 13 15 -0 4 6 11 14 15 -0 4 6 12 13 14 -0 4 6 12 13 15 -0 4 6 12 14 15 -0 4 6 13 14 15 -0 4 7 8 9 10 -0 4 7 8 9 11 -0 4 7 8 9 12 -0 4 7 8 9 13 -0 4 7 8 9 14 -0 4 7 8 9 15 -0 4 7 8 10 11 -0 4 7 8 10 12 -0 4 7 8 10 13 -0 4 7 8 10 14 -0 4 7 8 10 15 -0 4 7 8 11 12 -0 4 7 8 11 13 -0 4 7 8 11 14 -0 4 7 8 11 15 -0 4 7 8 12 13 -0 4 7 8 12 14 -0 4 7 8 12 15 -0 4 7 8 13 14 -0 4 7 8 13 15 -0 4 7 8 14 15 -0 4 7 9 10 11 -0 4 7 9 10 12 -0 4 7 9 10 13 -0 4 7 9 10 14 -0 4 7 9 10 15 -0 4 7 9 11 12 -0 4 7 9 11 13 -0 4 7 9 11 14 -0 4 7 9 11 15 -0 4 7 9 12 13 -0 4 7 9 12 14 -0 4 7 9 12 15 -0 4 7 9 13 14 -0 4 7 9 13 15 -0 4 7 9 14 15 -0 4 7 10 11 12 -0 4 7 10 11 13 -0 4 7 10 11 14 -0 4 7 10 11 15 -0 4 7 10 12 13 -0 4 7 10 12 14 -0 4 7 10 12 15 -0 4 7 10 13 14 -0 4 7 10 13 15 -0 4 7 10 14 15 -0 4 7 11 12 13 -0 4 7 11 12 14 -0 4 7 11 12 15 -0 4 7 11 13 14 -0 4 7 11 13 15 -0 4 7 11 14 15 -0 4 7 12 13 14 -0 4 7 12 13 15 -0 4 7 12 14 15 -0 4 7 13 14 15 -0 4 8 9 10 11 -0 4 8 9 10 12 -0 4 8 9 10 13 -0 4 8 9 10 14 -0 4 8 9 10 15 -0 4 8 9 11 12 -0 4 8 9 11 13 -0 4 8 9 11 14 -0 4 8 9 11 15 -0 4 8 9 12 13 -0 4 8 9 12 14 -0 4 8 9 12 15 -0 4 8 9 13 14 -0 4 8 9 13 15 -0 4 8 9 14 15 -0 4 8 10 11 12 -0 4 8 10 11 13 -0 4 8 10 11 14 -0 4 8 10 11 15 -0 4 8 10 12 13 -0 4 8 10 12 14 -0 4 8 10 12 15 -0 4 8 10 13 14 -0 4 8 10 13 15 -0 4 8 10 14 15 -0 4 8 11 12 13 -0 4 8 11 12 14 -0 4 8 11 12 15 -0 4 8 11 13 14 -0 4 8 11 13 15 -0 4 8 11 14 15 -0 4 8 12 13 14 -0 4 8 12 13 15 -0 4 8 12 14 15 -0 4 8 13 14 15 -0 4 9 10 11 12 -0 4 9 10 11 13 -0 4 9 10 11 14 -0 4 9 10 11 15 -0 4 9 10 12 13 -0 4 9 10 12 14 -0 4 9 10 12 15 -0 4 9 10 13 14 -0 4 9 10 13 15 -0 4 9 10 14 15 -0 4 9 11 12 13 -0 4 9 11 12 14 -0 4 9 11 12 15 -0 4 9 11 13 14 -0 4 9 11 13 15 -0 4 9 11 14 15 -0 4 9 12 13 14 -0 4 9 12 13 15 -0 4 9 12 14 15 -0 4 9 13 14 15 -0 4 10 11 12 13 -0 4 10 11 12 14 -0 4 10 11 12 15 -0 4 10 11 13 14 -0 4 10 11 13 15 -0 4 10 11 14 15 -0 4 10 12 13 14 -0 4 10 12 13 15 -0 4 10 12 14 15 -0 4 10 13 14 15 -0 4 11 12 13 14 -0 4 11 12 13 15 -0 4 11 12 14 15 -0 4 11 13 14 15 -0 4 12 13 14 15 -0 5 6 7 8 9 -0 5 6 7 8 10 -0 5 6 7 8 11 -0 5 6 7 8 12 -0 5 6 7 8 13 -0 5 6 7 8 14 -0 5 6 7 8 15 -0 5 6 7 9 10 -0 5 6 7 9 11 -0 5 6 7 9 12 -0 5 6 7 9 13 -0 5 6 7 9 14 -0 5 6 7 9 15 -0 5 6 7 10 11 -0 5 6 7 10 12 -0 5 6 7 10 13 -0 5 6 7 10 14 -0 5 6 7 10 15 -0 5 6 7 11 12 -0 5 6 7 11 13 -0 5 6 7 11 14 -0 5 6 7 11 15 -0 5 6 7 12 13 -0 5 6 7 12 14 -0 5 6 7 12 15 -0 5 6 7 13 14 -0 5 6 7 13 15 -0 5 6 7 14 15 -0 5 6 8 9 10 -0 5 6 8 9 11 -0 5 6 8 9 12 -0 5 6 8 9 13 -0 5 6 8 9 14 -0 5 6 8 9 15 -0 5 6 8 10 11 -0 5 6 8 10 12 -0 5 6 8 10 13 -0 5 6 8 10 14 -0 5 6 8 10 15 -0 5 6 8 11 12 -0 5 6 8 11 13 -0 5 6 8 11 14 -0 5 6 8 11 15 -0 5 6 8 12 13 -0 5 6 8 12 14 -0 5 6 8 12 15 -0 5 6 8 13 14 -0 5 6 8 13 15 -0 5 6 8 14 15 -0 5 6 9 10 11 -0 5 6 9 10 12 -0 5 6 9 10 13 -0 5 6 9 10 14 -0 5 6 9 10 15 -0 5 6 9 11 12 -0 5 6 9 11 13 -0 5 6 9 11 14 -0 5 6 9 11 15 -0 5 6 9 12 13 -0 5 6 9 12 14 -0 5 6 9 12 15 -0 5 6 9 13 14 -0 5 6 9 13 15 -0 5 6 9 14 15 -0 5 6 10 11 12 -0 5 6 10 11 13 -0 5 6 10 11 14 -0 5 6 10 11 15 -0 5 6 10 12 13 -0 5 6 10 12 14 -0 5 6 10 12 15 -0 5 6 10 13 14 -0 5 6 10 13 15 -0 5 6 10 14 15 -0 5 6 11 12 13 -0 5 6 11 12 14 -0 5 6 11 12 15 -0 5 6 11 13 14 -0 5 6 11 13 15 -0 5 6 11 14 15 -0 5 6 12 13 14 -0 5 6 12 13 15 -0 5 6 12 14 15 -0 5 6 13 14 15 -0 5 7 8 9 10 -0 5 7 8 9 11 -0 5 7 8 9 12 -0 5 7 8 9 13 -0 5 7 8 9 14 -0 5 7 8 9 15 -0 5 7 8 10 11 -0 5 7 8 10 12 -0 5 7 8 10 13 -0 5 7 8 10 14 -0 5 7 8 10 15 -0 5 7 8 11 12 -0 5 7 8 11 13 -0 5 7 8 11 14 -0 5 7 8 11 15 -0 5 7 8 12 13 -0 5 7 8 12 14 -0 5 7 8 12 15 -0 5 7 8 13 14 -0 5 7 8 13 15 -0 5 7 8 14 15 -0 5 7 9 10 11 -0 5 7 9 10 12 -0 5 7 9 10 13 -0 5 7 9 10 14 -0 5 7 9 10 15 -0 5 7 9 11 12 -0 5 7 9 11 13 -0 5 7 9 11 14 -0 5 7 9 11 15 -0 5 7 9 12 13 -0 5 7 9 12 14 -0 5 7 9 12 15 -0 5 7 9 13 14 -0 5 7 9 13 15 -0 5 7 9 14 15 -0 5 7 10 11 12 -0 5 7 10 11 13 -0 5 7 10 11 14 -0 5 7 10 11 15 -0 5 7 10 12 13 -0 5 7 10 12 14 -0 5 7 10 12 15 -0 5 7 10 13 14 -0 5 7 10 13 15 -0 5 7 10 14 15 -0 5 7 11 12 13 -0 5 7 11 12 14 -0 5 7 11 12 15 -0 5 7 11 13 14 -0 5 7 11 13 15 -0 5 7 11 14 15 -0 5 7 12 13 14 -0 5 7 12 13 15 -0 5 7 12 14 15 -0 5 7 13 14 15 -0 5 8 9 10 11 -0 5 8 9 10 12 -0 5 8 9 10 13 -0 5 8 9 10 14 -0 5 8 9 10 15 -0 5 8 9 11 12 -0 5 8 9 11 13 -0 5 8 9 11 14 -0 5 8 9 11 15 -0 5 8 9 12 13 -0 5 8 9 12 14 -0 5 8 9 12 15 -0 5 8 9 13 14 -0 5 8 9 13 15 -0 5 8 9 14 15 -0 5 8 10 11 12 -0 5 8 10 11 13 -0 5 8 10 11 14 -0 5 8 10 11 15 -0 5 8 10 12 13 -0 5 8 10 12 14 -0 5 8 10 12 15 -0 5 8 10 13 14 -0 5 8 10 13 15 -0 5 8 10 14 15 -0 5 8 11 12 13 -0 5 8 11 12 14 -0 5 8 11 12 15 -0 5 8 11 13 14 -0 5 8 11 13 15 -0 5 8 11 14 15 -0 5 8 12 13 14 -0 5 8 12 13 15 -0 5 8 12 14 15 -0 5 8 13 14 15 -0 5 9 10 11 12 -0 5 9 10 11 13 -0 5 9 10 11 14 -0 5 9 10 11 15 -0 5 9 10 12 13 -0 5 9 10 12 14 -0 5 9 10 12 15 -0 5 9 10 13 14 -0 5 9 10 13 15 -0 5 9 10 14 15 -0 5 9 11 12 13 -0 5 9 11 12 14 -0 5 9 11 12 15 -0 5 9 11 13 14 -0 5 9 11 13 15 -0 5 9 11 14 15 -0 5 9 12 13 14 -0 5 9 12 13 15 -0 5 9 12 14 15 -0 5 9 13 14 15 -0 5 10 11 12 13 -0 5 10 11 12 14 -0 5 10 11 12 15 -0 5 10 11 13 14 -0 5 10 11 13 15 -0 5 10 11 14 15 -0 5 10 12 13 14 -0 5 10 12 13 15 -0 5 10 12 14 15 -0 5 10 13 14 15 -0 5 11 12 13 14 -0 5 11 12 13 15 -0 5 11 12 14 15 -0 5 11 13 14 15 -0 5 12 13 14 15 -0 6 7 8 9 10 -0 6 7 8 9 11 -0 6 7 8 9 12 -0 6 7 8 9 13 -0 6 7 8 9 14 -0 6 7 8 9 15 -0 6 7 8 10 11 -0 6 7 8 10 12 -0 6 7 8 10 13 -0 6 7 8 10 14 -0 6 7 8 10 15 -0 6 7 8 11 12 -0 6 7 8 11 13 -0 6 7 8 11 14 -0 6 7 8 11 15 -0 6 7 8 12 13 -0 6 7 8 12 14 -0 6 7 8 12 15 -0 6 7 8 13 14 -0 6 7 8 13 15 -0 6 7 8 14 15 -0 6 7 9 10 11 -0 6 7 9 10 12 -0 6 7 9 10 13 -0 6 7 9 10 14 -0 6 7 9 10 15 -0 6 7 9 11 12 -0 6 7 9 11 13 -0 6 7 9 11 14 -0 6 7 9 11 15 -0 6 7 9 12 13 -0 6 7 9 12 14 -0 6 7 9 12 15 -0 6 7 9 13 14 -0 6 7 9 13 15 -0 6 7 9 14 15 -0 6 7 10 11 12 -0 6 7 10 11 13 -0 6 7 10 11 14 -0 6 7 10 11 15 -0 6 7 10 12 13 -0 6 7 10 12 14 -0 6 7 10 12 15 -0 6 7 10 13 14 -0 6 7 10 13 15 -0 6 7 10 14 15 -0 6 7 11 12 13 -0 6 7 11 12 14 -0 6 7 11 12 15 -0 6 7 11 13 14 -0 6 7 11 13 15 -0 6 7 11 14 15 -0 6 7 12 13 14 -0 6 7 12 13 15 -0 6 7 12 14 15 -0 6 7 13 14 15 -0 6 8 9 10 11 -0 6 8 9 10 12 -0 6 8 9 10 13 -0 6 8 9 10 14 -0 6 8 9 10 15 -0 6 8 9 11 12 -0 6 8 9 11 13 -0 6 8 9 11 14 -0 6 8 9 11 15 -0 6 8 9 12 13 -0 6 8 9 12 14 -0 6 8 9 12 15 -0 6 8 9 13 14 -0 6 8 9 13 15 -0 6 8 9 14 15 -0 6 8 10 11 12 -0 6 8 10 11 13 -0 6 8 10 11 14 -0 6 8 10 11 15 -0 6 8 10 12 13 -0 6 8 10 12 14 -0 6 8 10 12 15 -0 6 8 10 13 14 -0 6 8 10 13 15 -0 6 8 10 14 15 -0 6 8 11 12 13 -0 6 8 11 12 14 -0 6 8 11 12 15 -0 6 8 11 13 14 -0 6 8 11 13 15 -0 6 8 11 14 15 -0 6 8 12 13 14 -0 6 8 12 13 15 -0 6 8 12 14 15 -0 6 8 13 14 15 -0 6 9 10 11 12 -0 6 9 10 11 13 -0 6 9 10 11 14 -0 6 9 10 11 15 -0 6 9 10 12 13 -0 6 9 10 12 14 -0 6 9 10 12 15 -0 6 9 10 13 14 -0 6 9 10 13 15 -0 6 9 10 14 15 -0 6 9 11 12 13 -0 6 9 11 12 14 -0 6 9 11 12 15 -0 6 9 11 13 14 -0 6 9 11 13 15 -0 6 9 11 14 15 -0 6 9 12 13 14 -0 6 9 12 13 15 -0 6 9 12 14 15 -0 6 9 13 14 15 -0 6 10 11 12 13 -0 6 10 11 12 14 -0 6 10 11 12 15 -0 6 10 11 13 14 -0 6 10 11 13 15 -0 6 10 11 14 15 -0 6 10 12 13 14 -0 6 10 12 13 15 -0 6 10 12 14 15 -0 6 10 13 14 15 -0 6 11 12 13 14 -0 6 11 12 13 15 -0 6 11 12 14 15 -0 6 11 13 14 15 -0 6 12 13 14 15 -0 7 8 9 10 11 -0 7 8 9 10 12 -0 7 8 9 10 13 -0 7 8 9 10 14 -0 7 8 9 10 15 -0 7 8 9 11 12 -0 7 8 9 11 13 -0 7 8 9 11 14 -0 7 8 9 11 15 -0 7 8 9 12 13 -0 7 8 9 12 14 -0 7 8 9 12 15 -0 7 8 9 13 14 -0 7 8 9 13 15 -0 7 8 9 14 15 -0 7 8 10 11 12 -0 7 8 10 11 13 -0 7 8 10 11 14 -0 7 8 10 11 15 -0 7 8 10 12 13 -0 7 8 10 12 14 -0 7 8 10 12 15 -0 7 8 10 13 14 -0 7 8 10 13 15 -0 7 8 10 14 15 -0 7 8 11 12 13 -0 7 8 11 12 14 -0 7 8 11 12 15 -0 7 8 11 13 14 -0 7 8 11 13 15 -0 7 8 11 14 15 -0 7 8 12 13 14 -0 7 8 12 13 15 -0 7 8 12 14 15 -0 7 8 13 14 15 -0 7 9 10 11 12 -0 7 9 10 11 13 -0 7 9 10 11 14 -0 7 9 10 11 15 -0 7 9 10 12 13 -0 7 9 10 12 14 -0 7 9 10 12 15 -0 7 9 10 13 14 -0 7 9 10 13 15 -0 7 9 10 14 15 -0 7 9 11 12 13 -0 7 9 11 12 14 -0 7 9 11 12 15 -0 7 9 11 13 14 -0 7 9 11 13 15 -0 7 9 11 14 15 -0 7 9 12 13 14 -0 7 9 12 13 15 -0 7 9 12 14 15 -0 7 9 13 14 15 -0 7 10 11 12 13 -0 7 10 11 12 14 -0 7 10 11 12 15 -0 7 10 11 13 14 -0 7 10 11 13 15 -0 7 10 11 14 15 -0 7 10 12 13 14 -0 7 10 12 13 15 -0 7 10 12 14 15 -0 7 10 13 14 15 -0 7 11 12 13 14 -0 7 11 12 13 15 -0 7 11 12 14 15 -0 7 11 13 14 15 -0 7 12 13 14 15 -0 8 9 10 11 12 -0 8 9 10 11 13 -0 8 9 10 11 14 -0 8 9 10 11 15 -0 8 9 10 12 13 -0 8 9 10 12 14 -0 8 9 10 12 15 -0 8 9 10 13 14 -0 8 9 10 13 15 -0 8 9 10 14 15 -0 8 9 11 12 13 -0 8 9 11 12 14 -0 8 9 11 12 15 -0 8 9 11 13 14 -0 8 9 11 13 15 -0 8 9 11 14 15 -0 8 9 12 13 14 -0 8 9 12 13 15 -0 8 9 12 14 15 -0 8 9 13 14 15 -0 8 10 11 12 13 -0 8 10 11 12 14 -0 8 10 11 12 15 -0 8 10 11 13 14 -0 8 10 11 13 15 -0 8 10 11 14 15 -0 8 10 12 13 14 -0 8 10 12 13 15 -0 8 10 12 14 15 -0 8 10 13 14 15 -0 8 11 12 13 14 -0 8 11 12 13 15 -0 8 11 12 14 15 -0 8 11 13 14 15 -0 8 12 13 14 15 -0 9 10 11 12 13 -0 9 10 11 12 14 -0 9 10 11 12 15 -0 9 10 11 13 14 -0 9 10 11 13 15 -0 9 10 11 14 15 -0 9 10 12 13 14 -0 9 10 12 13 15 -0 9 10 12 14 15 -0 9 10 13 14 15 -0 9 11 12 13 14 -0 9 11 12 13 15 -0 9 11 12 14 15 -0 9 11 13 14 15 -0 9 12 13 14 15 -0 10 11 12 13 14 -0 10 11 12 13 15 -0 10 11 12 14 15 -0 10 11 13 14 15 -0 10 12 13 14 15 -0 11 12 13 14 15 -1 2 3 4 5 6 -1 2 3 4 5 7 -1 2 3 4 5 8 -1 2 3 4 5 9 -1 2 3 4 5 10 -1 2 3 4 5 11 -1 2 3 4 5 12 -1 2 3 4 5 13 -1 2 3 4 5 14 -1 2 3 4 5 15 -1 2 3 4 6 7 -1 2 3 4 6 8 -1 2 3 4 6 9 -1 2 3 4 6 10 -1 2 3 4 6 11 -1 2 3 4 6 12 -1 2 3 4 6 13 -1 2 3 4 6 14 -1 2 3 4 6 15 -1 2 3 4 7 8 -1 2 3 4 7 9 -1 2 3 4 7 10 -1 2 3 4 7 11 -1 2 3 4 7 12 -1 2 3 4 7 13 -1 2 3 4 7 14 -1 2 3 4 7 15 -1 2 3 4 8 9 -1 2 3 4 8 10 -1 2 3 4 8 11 -1 2 3 4 8 12 -1 2 3 4 8 13 -1 2 3 4 8 14 -1 2 3 4 8 15 -1 2 3 4 9 10 -1 2 3 4 9 11 -1 2 3 4 9 12 -1 2 3 4 9 13 -1 2 3 4 9 14 -1 2 3 4 9 15 -1 2 3 4 10 11 -1 2 3 4 10 12 -1 2 3 4 10 13 -1 2 3 4 10 14 -1 2 3 4 10 15 -1 2 3 4 11 12 -1 2 3 4 11 13 -1 2 3 4 11 14 -1 2 3 4 11 15 -1 2 3 4 12 13 -1 2 3 4 12 14 -1 2 3 4 12 15 -1 2 3 4 13 14 -1 2 3 4 13 15 -1 2 3 4 14 15 -1 2 3 5 6 7 -1 2 3 5 6 8 -1 2 3 5 6 9 -1 2 3 5 6 10 -1 2 3 5 6 11 -1 2 3 5 6 12 -1 2 3 5 6 13 -1 2 3 5 6 14 -1 2 3 5 6 15 -1 2 3 5 7 8 -1 2 3 5 7 9 -1 2 3 5 7 10 -1 2 3 5 7 11 -1 2 3 5 7 12 -1 2 3 5 7 13 -1 2 3 5 7 14 -1 2 3 5 7 15 -1 2 3 5 8 9 -1 2 3 5 8 10 -1 2 3 5 8 11 -1 2 3 5 8 12 -1 2 3 5 8 13 -1 2 3 5 8 14 -1 2 3 5 8 15 -1 2 3 5 9 10 -1 2 3 5 9 11 -1 2 3 5 9 12 -1 2 3 5 9 13 -1 2 3 5 9 14 -1 2 3 5 9 15 -1 2 3 5 10 11 -1 2 3 5 10 12 -1 2 3 5 10 13 -1 2 3 5 10 14 -1 2 3 5 10 15 -1 2 3 5 11 12 -1 2 3 5 11 13 -1 2 3 5 11 14 -1 2 3 5 11 15 -1 2 3 5 12 13 -1 2 3 5 12 14 -1 2 3 5 12 15 -1 2 3 5 13 14 -1 2 3 5 13 15 -1 2 3 5 14 15 -1 2 3 6 7 8 -1 2 3 6 7 9 -1 2 3 6 7 10 -1 2 3 6 7 11 -1 2 3 6 7 12 -1 2 3 6 7 13 -1 2 3 6 7 14 -1 2 3 6 7 15 -1 2 3 6 8 9 -1 2 3 6 8 10 -1 2 3 6 8 11 -1 2 3 6 8 12 -1 2 3 6 8 13 -1 2 3 6 8 14 -1 2 3 6 8 15 -1 2 3 6 9 10 -1 2 3 6 9 11 -1 2 3 6 9 12 -1 2 3 6 9 13 -1 2 3 6 9 14 -1 2 3 6 9 15 -1 2 3 6 10 11 -1 2 3 6 10 12 -1 2 3 6 10 13 -1 2 3 6 10 14 -1 2 3 6 10 15 -1 2 3 6 11 12 -1 2 3 6 11 13 -1 2 3 6 11 14 -1 2 3 6 11 15 -1 2 3 6 12 13 -1 2 3 6 12 14 -1 2 3 6 12 15 -1 2 3 6 13 14 -1 2 3 6 13 15 -1 2 3 6 14 15 -1 2 3 7 8 9 -1 2 3 7 8 10 -1 2 3 7 8 11 -1 2 3 7 8 12 -1 2 3 7 8 13 -1 2 3 7 8 14 -1 2 3 7 8 15 -1 2 3 7 9 10 -1 2 3 7 9 11 -1 2 3 7 9 12 -1 2 3 7 9 13 -1 2 3 7 9 14 -1 2 3 7 9 15 -1 2 3 7 10 11 -1 2 3 7 10 12 -1 2 3 7 10 13 -1 2 3 7 10 14 -1 2 3 7 10 15 -1 2 3 7 11 12 -1 2 3 7 11 13 -1 2 3 7 11 14 -1 2 3 7 11 15 -1 2 3 7 12 13 -1 2 3 7 12 14 -1 2 3 7 12 15 -1 2 3 7 13 14 -1 2 3 7 13 15 -1 2 3 7 14 15 -1 2 3 8 9 10 -1 2 3 8 9 11 -1 2 3 8 9 12 -1 2 3 8 9 13 -1 2 3 8 9 14 -1 2 3 8 9 15 -1 2 3 8 10 11 -1 2 3 8 10 12 -1 2 3 8 10 13 -1 2 3 8 10 14 -1 2 3 8 10 15 -1 2 3 8 11 12 -1 2 3 8 11 13 -1 2 3 8 11 14 -1 2 3 8 11 15 -1 2 3 8 12 13 -1 2 3 8 12 14 -1 2 3 8 12 15 -1 2 3 8 13 14 -1 2 3 8 13 15 -1 2 3 8 14 15 -1 2 3 9 10 11 -1 2 3 9 10 12 -1 2 3 9 10 13 -1 2 3 9 10 14 -1 2 3 9 10 15 -1 2 3 9 11 12 -1 2 3 9 11 13 -1 2 3 9 11 14 -1 2 3 9 11 15 -1 2 3 9 12 13 -1 2 3 9 12 14 -1 2 3 9 12 15 -1 2 3 9 13 14 -1 2 3 9 13 15 -1 2 3 9 14 15 -1 2 3 10 11 12 -1 2 3 10 11 13 -1 2 3 10 11 14 -1 2 3 10 11 15 -1 2 3 10 12 13 -1 2 3 10 12 14 -1 2 3 10 12 15 -1 2 3 10 13 14 -1 2 3 10 13 15 -1 2 3 10 14 15 -1 2 3 11 12 13 -1 2 3 11 12 14 -1 2 3 11 12 15 -1 2 3 11 13 14 -1 2 3 11 13 15 -1 2 3 11 14 15 -1 2 3 12 13 14 -1 2 3 12 13 15 -1 2 3 12 14 15 -1 2 3 13 14 15 -1 2 4 5 6 7 -1 2 4 5 6 8 -1 2 4 5 6 9 -1 2 4 5 6 10 -1 2 4 5 6 11 -1 2 4 5 6 12 -1 2 4 5 6 13 -1 2 4 5 6 14 -1 2 4 5 6 15 -1 2 4 5 7 8 -1 2 4 5 7 9 -1 2 4 5 7 10 -1 2 4 5 7 11 -1 2 4 5 7 12 -1 2 4 5 7 13 -1 2 4 5 7 14 -1 2 4 5 7 15 -1 2 4 5 8 9 -1 2 4 5 8 10 -1 2 4 5 8 11 -1 2 4 5 8 12 -1 2 4 5 8 13 -1 2 4 5 8 14 -1 2 4 5 8 15 -1 2 4 5 9 10 -1 2 4 5 9 11 -1 2 4 5 9 12 -1 2 4 5 9 13 -1 2 4 5 9 14 -1 2 4 5 9 15 -1 2 4 5 10 11 -1 2 4 5 10 12 -1 2 4 5 10 13 -1 2 4 5 10 14 -1 2 4 5 10 15 -1 2 4 5 11 12 -1 2 4 5 11 13 -1 2 4 5 11 14 -1 2 4 5 11 15 -1 2 4 5 12 13 -1 2 4 5 12 14 -1 2 4 5 12 15 -1 2 4 5 13 14 -1 2 4 5 13 15 -1 2 4 5 14 15 -1 2 4 6 7 8 -1 2 4 6 7 9 -1 2 4 6 7 10 -1 2 4 6 7 11 -1 2 4 6 7 12 -1 2 4 6 7 13 -1 2 4 6 7 14 -1 2 4 6 7 15 -1 2 4 6 8 9 -1 2 4 6 8 10 -1 2 4 6 8 11 -1 2 4 6 8 12 -1 2 4 6 8 13 -1 2 4 6 8 14 -1 2 4 6 8 15 -1 2 4 6 9 10 -1 2 4 6 9 11 -1 2 4 6 9 12 -1 2 4 6 9 13 -1 2 4 6 9 14 -1 2 4 6 9 15 -1 2 4 6 10 11 -1 2 4 6 10 12 -1 2 4 6 10 13 -1 2 4 6 10 14 -1 2 4 6 10 15 -1 2 4 6 11 12 -1 2 4 6 11 13 -1 2 4 6 11 14 -1 2 4 6 11 15 -1 2 4 6 12 13 -1 2 4 6 12 14 -1 2 4 6 12 15 -1 2 4 6 13 14 -1 2 4 6 13 15 -1 2 4 6 14 15 -1 2 4 7 8 9 -1 2 4 7 8 10 -1 2 4 7 8 11 -1 2 4 7 8 12 -1 2 4 7 8 13 -1 2 4 7 8 14 -1 2 4 7 8 15 -1 2 4 7 9 10 -1 2 4 7 9 11 -1 2 4 7 9 12 -1 2 4 7 9 13 -1 2 4 7 9 14 -1 2 4 7 9 15 -1 2 4 7 10 11 -1 2 4 7 10 12 -1 2 4 7 10 13 -1 2 4 7 10 14 -1 2 4 7 10 15 -1 2 4 7 11 12 -1 2 4 7 11 13 -1 2 4 7 11 14 -1 2 4 7 11 15 -1 2 4 7 12 13 -1 2 4 7 12 14 -1 2 4 7 12 15 -1 2 4 7 13 14 -1 2 4 7 13 15 -1 2 4 7 14 15 -1 2 4 8 9 10 -1 2 4 8 9 11 -1 2 4 8 9 12 -1 2 4 8 9 13 -1 2 4 8 9 14 -1 2 4 8 9 15 -1 2 4 8 10 11 -1 2 4 8 10 12 -1 2 4 8 10 13 -1 2 4 8 10 14 -1 2 4 8 10 15 -1 2 4 8 11 12 -1 2 4 8 11 13 -1 2 4 8 11 14 -1 2 4 8 11 15 -1 2 4 8 12 13 -1 2 4 8 12 14 -1 2 4 8 12 15 -1 2 4 8 13 14 -1 2 4 8 13 15 -1 2 4 8 14 15 -1 2 4 9 10 11 -1 2 4 9 10 12 -1 2 4 9 10 13 -1 2 4 9 10 14 -1 2 4 9 10 15 -1 2 4 9 11 12 -1 2 4 9 11 13 -1 2 4 9 11 14 -1 2 4 9 11 15 -1 2 4 9 12 13 -1 2 4 9 12 14 -1 2 4 9 12 15 -1 2 4 9 13 14 -1 2 4 9 13 15 -1 2 4 9 14 15 -1 2 4 10 11 12 -1 2 4 10 11 13 -1 2 4 10 11 14 -1 2 4 10 11 15 -1 2 4 10 12 13 -1 2 4 10 12 14 -1 2 4 10 12 15 -1 2 4 10 13 14 -1 2 4 10 13 15 -1 2 4 10 14 15 -1 2 4 11 12 13 -1 2 4 11 12 14 -1 2 4 11 12 15 -1 2 4 11 13 14 -1 2 4 11 13 15 -1 2 4 11 14 15 -1 2 4 12 13 14 -1 2 4 12 13 15 -1 2 4 12 14 15 -1 2 4 13 14 15 -1 2 5 6 7 8 -1 2 5 6 7 9 -1 2 5 6 7 10 -1 2 5 6 7 11 -1 2 5 6 7 12 -1 2 5 6 7 13 -1 2 5 6 7 14 -1 2 5 6 7 15 -1 2 5 6 8 9 -1 2 5 6 8 10 -1 2 5 6 8 11 -1 2 5 6 8 12 -1 2 5 6 8 13 -1 2 5 6 8 14 -1 2 5 6 8 15 -1 2 5 6 9 10 -1 2 5 6 9 11 -1 2 5 6 9 12 -1 2 5 6 9 13 -1 2 5 6 9 14 -1 2 5 6 9 15 -1 2 5 6 10 11 -1 2 5 6 10 12 -1 2 5 6 10 13 -1 2 5 6 10 14 -1 2 5 6 10 15 -1 2 5 6 11 12 -1 2 5 6 11 13 -1 2 5 6 11 14 -1 2 5 6 11 15 -1 2 5 6 12 13 -1 2 5 6 12 14 -1 2 5 6 12 15 -1 2 5 6 13 14 -1 2 5 6 13 15 -1 2 5 6 14 15 -1 2 5 7 8 9 -1 2 5 7 8 10 -1 2 5 7 8 11 -1 2 5 7 8 12 -1 2 5 7 8 13 -1 2 5 7 8 14 -1 2 5 7 8 15 -1 2 5 7 9 10 -1 2 5 7 9 11 -1 2 5 7 9 12 -1 2 5 7 9 13 -1 2 5 7 9 14 -1 2 5 7 9 15 -1 2 5 7 10 11 -1 2 5 7 10 12 -1 2 5 7 10 13 -1 2 5 7 10 14 -1 2 5 7 10 15 -1 2 5 7 11 12 -1 2 5 7 11 13 -1 2 5 7 11 14 -1 2 5 7 11 15 -1 2 5 7 12 13 -1 2 5 7 12 14 -1 2 5 7 12 15 -1 2 5 7 13 14 -1 2 5 7 13 15 -1 2 5 7 14 15 -1 2 5 8 9 10 -1 2 5 8 9 11 -1 2 5 8 9 12 -1 2 5 8 9 13 -1 2 5 8 9 14 -1 2 5 8 9 15 -1 2 5 8 10 11 -1 2 5 8 10 12 -1 2 5 8 10 13 -1 2 5 8 10 14 -1 2 5 8 10 15 -1 2 5 8 11 12 -1 2 5 8 11 13 -1 2 5 8 11 14 -1 2 5 8 11 15 -1 2 5 8 12 13 -1 2 5 8 12 14 -1 2 5 8 12 15 -1 2 5 8 13 14 -1 2 5 8 13 15 -1 2 5 8 14 15 -1 2 5 9 10 11 -1 2 5 9 10 12 -1 2 5 9 10 13 -1 2 5 9 10 14 -1 2 5 9 10 15 -1 2 5 9 11 12 -1 2 5 9 11 13 -1 2 5 9 11 14 -1 2 5 9 11 15 -1 2 5 9 12 13 -1 2 5 9 12 14 -1 2 5 9 12 15 -1 2 5 9 13 14 -1 2 5 9 13 15 -1 2 5 9 14 15 -1 2 5 10 11 12 -1 2 5 10 11 13 -1 2 5 10 11 14 -1 2 5 10 11 15 -1 2 5 10 12 13 -1 2 5 10 12 14 -1 2 5 10 12 15 -1 2 5 10 13 14 -1 2 5 10 13 15 -1 2 5 10 14 15 -1 2 5 11 12 13 -1 2 5 11 12 14 -1 2 5 11 12 15 -1 2 5 11 13 14 -1 2 5 11 13 15 -1 2 5 11 14 15 -1 2 5 12 13 14 -1 2 5 12 13 15 -1 2 5 12 14 15 -1 2 5 13 14 15 -1 2 6 7 8 9 -1 2 6 7 8 10 -1 2 6 7 8 11 -1 2 6 7 8 12 -1 2 6 7 8 13 -1 2 6 7 8 14 -1 2 6 7 8 15 -1 2 6 7 9 10 -1 2 6 7 9 11 -1 2 6 7 9 12 -1 2 6 7 9 13 -1 2 6 7 9 14 -1 2 6 7 9 15 -1 2 6 7 10 11 -1 2 6 7 10 12 -1 2 6 7 10 13 -1 2 6 7 10 14 -1 2 6 7 10 15 -1 2 6 7 11 12 -1 2 6 7 11 13 -1 2 6 7 11 14 -1 2 6 7 11 15 -1 2 6 7 12 13 -1 2 6 7 12 14 -1 2 6 7 12 15 -1 2 6 7 13 14 -1 2 6 7 13 15 -1 2 6 7 14 15 -1 2 6 8 9 10 -1 2 6 8 9 11 -1 2 6 8 9 12 -1 2 6 8 9 13 -1 2 6 8 9 14 -1 2 6 8 9 15 -1 2 6 8 10 11 -1 2 6 8 10 12 -1 2 6 8 10 13 -1 2 6 8 10 14 -1 2 6 8 10 15 -1 2 6 8 11 12 -1 2 6 8 11 13 -1 2 6 8 11 14 -1 2 6 8 11 15 -1 2 6 8 12 13 -1 2 6 8 12 14 -1 2 6 8 12 15 -1 2 6 8 13 14 -1 2 6 8 13 15 -1 2 6 8 14 15 -1 2 6 9 10 11 -1 2 6 9 10 12 -1 2 6 9 10 13 -1 2 6 9 10 14 -1 2 6 9 10 15 -1 2 6 9 11 12 -1 2 6 9 11 13 -1 2 6 9 11 14 -1 2 6 9 11 15 -1 2 6 9 12 13 -1 2 6 9 12 14 -1 2 6 9 12 15 -1 2 6 9 13 14 -1 2 6 9 13 15 -1 2 6 9 14 15 -1 2 6 10 11 12 -1 2 6 10 11 13 -1 2 6 10 11 14 -1 2 6 10 11 15 -1 2 6 10 12 13 -1 2 6 10 12 14 -1 2 6 10 12 15 -1 2 6 10 13 14 -1 2 6 10 13 15 -1 2 6 10 14 15 -1 2 6 11 12 13 -1 2 6 11 12 14 -1 2 6 11 12 15 -1 2 6 11 13 14 -1 2 6 11 13 15 -1 2 6 11 14 15 -1 2 6 12 13 14 -1 2 6 12 13 15 -1 2 6 12 14 15 -1 2 6 13 14 15 -1 2 7 8 9 10 -1 2 7 8 9 11 -1 2 7 8 9 12 -1 2 7 8 9 13 -1 2 7 8 9 14 -1 2 7 8 9 15 -1 2 7 8 10 11 -1 2 7 8 10 12 -1 2 7 8 10 13 -1 2 7 8 10 14 -1 2 7 8 10 15 -1 2 7 8 11 12 -1 2 7 8 11 13 -1 2 7 8 11 14 -1 2 7 8 11 15 -1 2 7 8 12 13 -1 2 7 8 12 14 -1 2 7 8 12 15 -1 2 7 8 13 14 -1 2 7 8 13 15 -1 2 7 8 14 15 -1 2 7 9 10 11 -1 2 7 9 10 12 -1 2 7 9 10 13 -1 2 7 9 10 14 -1 2 7 9 10 15 -1 2 7 9 11 12 -1 2 7 9 11 13 -1 2 7 9 11 14 -1 2 7 9 11 15 -1 2 7 9 12 13 -1 2 7 9 12 14 -1 2 7 9 12 15 -1 2 7 9 13 14 -1 2 7 9 13 15 -1 2 7 9 14 15 -1 2 7 10 11 12 -1 2 7 10 11 13 -1 2 7 10 11 14 -1 2 7 10 11 15 -1 2 7 10 12 13 -1 2 7 10 12 14 -1 2 7 10 12 15 -1 2 7 10 13 14 -1 2 7 10 13 15 -1 2 7 10 14 15 -1 2 7 11 12 13 -1 2 7 11 12 14 -1 2 7 11 12 15 -1 2 7 11 13 14 -1 2 7 11 13 15 -1 2 7 11 14 15 -1 2 7 12 13 14 -1 2 7 12 13 15 -1 2 7 12 14 15 -1 2 7 13 14 15 -1 2 8 9 10 11 -1 2 8 9 10 12 -1 2 8 9 10 13 -1 2 8 9 10 14 -1 2 8 9 10 15 -1 2 8 9 11 12 -1 2 8 9 11 13 -1 2 8 9 11 14 -1 2 8 9 11 15 -1 2 8 9 12 13 -1 2 8 9 12 14 -1 2 8 9 12 15 -1 2 8 9 13 14 -1 2 8 9 13 15 -1 2 8 9 14 15 -1 2 8 10 11 12 -1 2 8 10 11 13 -1 2 8 10 11 14 -1 2 8 10 11 15 -1 2 8 10 12 13 -1 2 8 10 12 14 -1 2 8 10 12 15 -1 2 8 10 13 14 -1 2 8 10 13 15 -1 2 8 10 14 15 -1 2 8 11 12 13 -1 2 8 11 12 14 -1 2 8 11 12 15 -1 2 8 11 13 14 -1 2 8 11 13 15 -1 2 8 11 14 15 -1 2 8 12 13 14 -1 2 8 12 13 15 -1 2 8 12 14 15 -1 2 8 13 14 15 -1 2 9 10 11 12 -1 2 9 10 11 13 -1 2 9 10 11 14 -1 2 9 10 11 15 -1 2 9 10 12 13 -1 2 9 10 12 14 -1 2 9 10 12 15 -1 2 9 10 13 14 -1 2 9 10 13 15 -1 2 9 10 14 15 -1 2 9 11 12 13 -1 2 9 11 12 14 -1 2 9 11 12 15 -1 2 9 11 13 14 -1 2 9 11 13 15 -1 2 9 11 14 15 -1 2 9 12 13 14 -1 2 9 12 13 15 -1 2 9 12 14 15 -1 2 9 13 14 15 -1 2 10 11 12 13 -1 2 10 11 12 14 -1 2 10 11 12 15 -1 2 10 11 13 14 -1 2 10 11 13 15 -1 2 10 11 14 15 -1 2 10 12 13 14 -1 2 10 12 13 15 -1 2 10 12 14 15 -1 2 10 13 14 15 -1 2 11 12 13 14 -1 2 11 12 13 15 -1 2 11 12 14 15 -1 2 11 13 14 15 -1 2 12 13 14 15 -1 3 4 5 6 7 -1 3 4 5 6 8 -1 3 4 5 6 9 -1 3 4 5 6 10 -1 3 4 5 6 11 -1 3 4 5 6 12 -1 3 4 5 6 13 -1 3 4 5 6 14 -1 3 4 5 6 15 -1 3 4 5 7 8 -1 3 4 5 7 9 -1 3 4 5 7 10 -1 3 4 5 7 11 -1 3 4 5 7 12 -1 3 4 5 7 13 -1 3 4 5 7 14 -1 3 4 5 7 15 -1 3 4 5 8 9 -1 3 4 5 8 10 -1 3 4 5 8 11 -1 3 4 5 8 12 -1 3 4 5 8 13 -1 3 4 5 8 14 -1 3 4 5 8 15 -1 3 4 5 9 10 -1 3 4 5 9 11 -1 3 4 5 9 12 -1 3 4 5 9 13 -1 3 4 5 9 14 -1 3 4 5 9 15 -1 3 4 5 10 11 -1 3 4 5 10 12 -1 3 4 5 10 13 -1 3 4 5 10 14 -1 3 4 5 10 15 -1 3 4 5 11 12 -1 3 4 5 11 13 -1 3 4 5 11 14 -1 3 4 5 11 15 -1 3 4 5 12 13 -1 3 4 5 12 14 -1 3 4 5 12 15 -1 3 4 5 13 14 -1 3 4 5 13 15 -1 3 4 5 14 15 -1 3 4 6 7 8 -1 3 4 6 7 9 -1 3 4 6 7 10 -1 3 4 6 7 11 -1 3 4 6 7 12 -1 3 4 6 7 13 -1 3 4 6 7 14 -1 3 4 6 7 15 -1 3 4 6 8 9 -1 3 4 6 8 10 -1 3 4 6 8 11 -1 3 4 6 8 12 -1 3 4 6 8 13 -1 3 4 6 8 14 -1 3 4 6 8 15 -1 3 4 6 9 10 -1 3 4 6 9 11 -1 3 4 6 9 12 -1 3 4 6 9 13 -1 3 4 6 9 14 -1 3 4 6 9 15 -1 3 4 6 10 11 -1 3 4 6 10 12 -1 3 4 6 10 13 -1 3 4 6 10 14 -1 3 4 6 10 15 -1 3 4 6 11 12 -1 3 4 6 11 13 -1 3 4 6 11 14 -1 3 4 6 11 15 -1 3 4 6 12 13 -1 3 4 6 12 14 -1 3 4 6 12 15 -1 3 4 6 13 14 -1 3 4 6 13 15 -1 3 4 6 14 15 -1 3 4 7 8 9 -1 3 4 7 8 10 -1 3 4 7 8 11 -1 3 4 7 8 12 -1 3 4 7 8 13 -1 3 4 7 8 14 -1 3 4 7 8 15 -1 3 4 7 9 10 -1 3 4 7 9 11 -1 3 4 7 9 12 -1 3 4 7 9 13 -1 3 4 7 9 14 -1 3 4 7 9 15 -1 3 4 7 10 11 -1 3 4 7 10 12 -1 3 4 7 10 13 -1 3 4 7 10 14 -1 3 4 7 10 15 -1 3 4 7 11 12 -1 3 4 7 11 13 -1 3 4 7 11 14 -1 3 4 7 11 15 -1 3 4 7 12 13 -1 3 4 7 12 14 -1 3 4 7 12 15 -1 3 4 7 13 14 -1 3 4 7 13 15 -1 3 4 7 14 15 -1 3 4 8 9 10 -1 3 4 8 9 11 -1 3 4 8 9 12 -1 3 4 8 9 13 -1 3 4 8 9 14 -1 3 4 8 9 15 -1 3 4 8 10 11 -1 3 4 8 10 12 -1 3 4 8 10 13 -1 3 4 8 10 14 -1 3 4 8 10 15 -1 3 4 8 11 12 -1 3 4 8 11 13 -1 3 4 8 11 14 -1 3 4 8 11 15 -1 3 4 8 12 13 -1 3 4 8 12 14 -1 3 4 8 12 15 -1 3 4 8 13 14 -1 3 4 8 13 15 -1 3 4 8 14 15 -1 3 4 9 10 11 -1 3 4 9 10 12 -1 3 4 9 10 13 -1 3 4 9 10 14 -1 3 4 9 10 15 -1 3 4 9 11 12 -1 3 4 9 11 13 -1 3 4 9 11 14 -1 3 4 9 11 15 -1 3 4 9 12 13 -1 3 4 9 12 14 -1 3 4 9 12 15 -1 3 4 9 13 14 -1 3 4 9 13 15 -1 3 4 9 14 15 -1 3 4 10 11 12 -1 3 4 10 11 13 -1 3 4 10 11 14 -1 3 4 10 11 15 -1 3 4 10 12 13 -1 3 4 10 12 14 -1 3 4 10 12 15 -1 3 4 10 13 14 -1 3 4 10 13 15 -1 3 4 10 14 15 -1 3 4 11 12 13 -1 3 4 11 12 14 -1 3 4 11 12 15 -1 3 4 11 13 14 -1 3 4 11 13 15 -1 3 4 11 14 15 -1 3 4 12 13 14 -1 3 4 12 13 15 -1 3 4 12 14 15 -1 3 4 13 14 15 -1 3 5 6 7 8 -1 3 5 6 7 9 -1 3 5 6 7 10 -1 3 5 6 7 11 -1 3 5 6 7 12 -1 3 5 6 7 13 -1 3 5 6 7 14 -1 3 5 6 7 15 -1 3 5 6 8 9 -1 3 5 6 8 10 -1 3 5 6 8 11 -1 3 5 6 8 12 -1 3 5 6 8 13 -1 3 5 6 8 14 -1 3 5 6 8 15 -1 3 5 6 9 10 -1 3 5 6 9 11 -1 3 5 6 9 12 -1 3 5 6 9 13 -1 3 5 6 9 14 -1 3 5 6 9 15 -1 3 5 6 10 11 -1 3 5 6 10 12 -1 3 5 6 10 13 -1 3 5 6 10 14 -1 3 5 6 10 15 -1 3 5 6 11 12 -1 3 5 6 11 13 -1 3 5 6 11 14 -1 3 5 6 11 15 -1 3 5 6 12 13 -1 3 5 6 12 14 -1 3 5 6 12 15 -1 3 5 6 13 14 -1 3 5 6 13 15 -1 3 5 6 14 15 -1 3 5 7 8 9 -1 3 5 7 8 10 -1 3 5 7 8 11 -1 3 5 7 8 12 -1 3 5 7 8 13 -1 3 5 7 8 14 -1 3 5 7 8 15 -1 3 5 7 9 10 -1 3 5 7 9 11 -1 3 5 7 9 12 -1 3 5 7 9 13 -1 3 5 7 9 14 -1 3 5 7 9 15 -1 3 5 7 10 11 -1 3 5 7 10 12 -1 3 5 7 10 13 -1 3 5 7 10 14 -1 3 5 7 10 15 -1 3 5 7 11 12 -1 3 5 7 11 13 -1 3 5 7 11 14 -1 3 5 7 11 15 -1 3 5 7 12 13 -1 3 5 7 12 14 -1 3 5 7 12 15 -1 3 5 7 13 14 -1 3 5 7 13 15 -1 3 5 7 14 15 -1 3 5 8 9 10 -1 3 5 8 9 11 -1 3 5 8 9 12 -1 3 5 8 9 13 -1 3 5 8 9 14 -1 3 5 8 9 15 -1 3 5 8 10 11 -1 3 5 8 10 12 -1 3 5 8 10 13 -1 3 5 8 10 14 -1 3 5 8 10 15 -1 3 5 8 11 12 -1 3 5 8 11 13 -1 3 5 8 11 14 -1 3 5 8 11 15 -1 3 5 8 12 13 -1 3 5 8 12 14 -1 3 5 8 12 15 -1 3 5 8 13 14 -1 3 5 8 13 15 -1 3 5 8 14 15 -1 3 5 9 10 11 -1 3 5 9 10 12 -1 3 5 9 10 13 -1 3 5 9 10 14 -1 3 5 9 10 15 -1 3 5 9 11 12 -1 3 5 9 11 13 -1 3 5 9 11 14 -1 3 5 9 11 15 -1 3 5 9 12 13 -1 3 5 9 12 14 -1 3 5 9 12 15 -1 3 5 9 13 14 -1 3 5 9 13 15 -1 3 5 9 14 15 -1 3 5 10 11 12 -1 3 5 10 11 13 -1 3 5 10 11 14 -1 3 5 10 11 15 -1 3 5 10 12 13 -1 3 5 10 12 14 -1 3 5 10 12 15 -1 3 5 10 13 14 -1 3 5 10 13 15 -1 3 5 10 14 15 -1 3 5 11 12 13 -1 3 5 11 12 14 -1 3 5 11 12 15 -1 3 5 11 13 14 -1 3 5 11 13 15 -1 3 5 11 14 15 -1 3 5 12 13 14 -1 3 5 12 13 15 -1 3 5 12 14 15 -1 3 5 13 14 15 -1 3 6 7 8 9 -1 3 6 7 8 10 -1 3 6 7 8 11 -1 3 6 7 8 12 -1 3 6 7 8 13 -1 3 6 7 8 14 -1 3 6 7 8 15 -1 3 6 7 9 10 -1 3 6 7 9 11 -1 3 6 7 9 12 -1 3 6 7 9 13 -1 3 6 7 9 14 -1 3 6 7 9 15 -1 3 6 7 10 11 -1 3 6 7 10 12 -1 3 6 7 10 13 -1 3 6 7 10 14 -1 3 6 7 10 15 -1 3 6 7 11 12 -1 3 6 7 11 13 -1 3 6 7 11 14 -1 3 6 7 11 15 -1 3 6 7 12 13 -1 3 6 7 12 14 -1 3 6 7 12 15 -1 3 6 7 13 14 -1 3 6 7 13 15 -1 3 6 7 14 15 -1 3 6 8 9 10 -1 3 6 8 9 11 -1 3 6 8 9 12 -1 3 6 8 9 13 -1 3 6 8 9 14 -1 3 6 8 9 15 -1 3 6 8 10 11 -1 3 6 8 10 12 -1 3 6 8 10 13 -1 3 6 8 10 14 -1 3 6 8 10 15 -1 3 6 8 11 12 -1 3 6 8 11 13 -1 3 6 8 11 14 -1 3 6 8 11 15 -1 3 6 8 12 13 -1 3 6 8 12 14 -1 3 6 8 12 15 -1 3 6 8 13 14 -1 3 6 8 13 15 -1 3 6 8 14 15 -1 3 6 9 10 11 -1 3 6 9 10 12 -1 3 6 9 10 13 -1 3 6 9 10 14 -1 3 6 9 10 15 -1 3 6 9 11 12 -1 3 6 9 11 13 -1 3 6 9 11 14 -1 3 6 9 11 15 -1 3 6 9 12 13 -1 3 6 9 12 14 -1 3 6 9 12 15 -1 3 6 9 13 14 -1 3 6 9 13 15 -1 3 6 9 14 15 -1 3 6 10 11 12 -1 3 6 10 11 13 -1 3 6 10 11 14 -1 3 6 10 11 15 -1 3 6 10 12 13 -1 3 6 10 12 14 -1 3 6 10 12 15 -1 3 6 10 13 14 -1 3 6 10 13 15 -1 3 6 10 14 15 -1 3 6 11 12 13 -1 3 6 11 12 14 -1 3 6 11 12 15 -1 3 6 11 13 14 -1 3 6 11 13 15 -1 3 6 11 14 15 -1 3 6 12 13 14 -1 3 6 12 13 15 -1 3 6 12 14 15 -1 3 6 13 14 15 -1 3 7 8 9 10 -1 3 7 8 9 11 -1 3 7 8 9 12 -1 3 7 8 9 13 -1 3 7 8 9 14 -1 3 7 8 9 15 -1 3 7 8 10 11 -1 3 7 8 10 12 -1 3 7 8 10 13 -1 3 7 8 10 14 -1 3 7 8 10 15 -1 3 7 8 11 12 -1 3 7 8 11 13 -1 3 7 8 11 14 -1 3 7 8 11 15 -1 3 7 8 12 13 -1 3 7 8 12 14 -1 3 7 8 12 15 -1 3 7 8 13 14 -1 3 7 8 13 15 -1 3 7 8 14 15 -1 3 7 9 10 11 -1 3 7 9 10 12 -1 3 7 9 10 13 -1 3 7 9 10 14 -1 3 7 9 10 15 -1 3 7 9 11 12 -1 3 7 9 11 13 -1 3 7 9 11 14 -1 3 7 9 11 15 -1 3 7 9 12 13 -1 3 7 9 12 14 -1 3 7 9 12 15 -1 3 7 9 13 14 -1 3 7 9 13 15 -1 3 7 9 14 15 -1 3 7 10 11 12 -1 3 7 10 11 13 -1 3 7 10 11 14 -1 3 7 10 11 15 -1 3 7 10 12 13 -1 3 7 10 12 14 -1 3 7 10 12 15 -1 3 7 10 13 14 -1 3 7 10 13 15 -1 3 7 10 14 15 -1 3 7 11 12 13 -1 3 7 11 12 14 -1 3 7 11 12 15 -1 3 7 11 13 14 -1 3 7 11 13 15 -1 3 7 11 14 15 -1 3 7 12 13 14 -1 3 7 12 13 15 -1 3 7 12 14 15 -1 3 7 13 14 15 -1 3 8 9 10 11 -1 3 8 9 10 12 -1 3 8 9 10 13 -1 3 8 9 10 14 -1 3 8 9 10 15 -1 3 8 9 11 12 -1 3 8 9 11 13 -1 3 8 9 11 14 -1 3 8 9 11 15 -1 3 8 9 12 13 -1 3 8 9 12 14 -1 3 8 9 12 15 -1 3 8 9 13 14 -1 3 8 9 13 15 -1 3 8 9 14 15 -1 3 8 10 11 12 -1 3 8 10 11 13 -1 3 8 10 11 14 -1 3 8 10 11 15 -1 3 8 10 12 13 -1 3 8 10 12 14 -1 3 8 10 12 15 -1 3 8 10 13 14 -1 3 8 10 13 15 -1 3 8 10 14 15 -1 3 8 11 12 13 -1 3 8 11 12 14 -1 3 8 11 12 15 -1 3 8 11 13 14 -1 3 8 11 13 15 -1 3 8 11 14 15 -1 3 8 12 13 14 -1 3 8 12 13 15 -1 3 8 12 14 15 -1 3 8 13 14 15 -1 3 9 10 11 12 -1 3 9 10 11 13 -1 3 9 10 11 14 -1 3 9 10 11 15 -1 3 9 10 12 13 -1 3 9 10 12 14 -1 3 9 10 12 15 -1 3 9 10 13 14 -1 3 9 10 13 15 -1 3 9 10 14 15 -1 3 9 11 12 13 -1 3 9 11 12 14 -1 3 9 11 12 15 -1 3 9 11 13 14 -1 3 9 11 13 15 -1 3 9 11 14 15 -1 3 9 12 13 14 -1 3 9 12 13 15 -1 3 9 12 14 15 -1 3 9 13 14 15 -1 3 10 11 12 13 -1 3 10 11 12 14 -1 3 10 11 12 15 -1 3 10 11 13 14 -1 3 10 11 13 15 -1 3 10 11 14 15 -1 3 10 12 13 14 -1 3 10 12 13 15 -1 3 10 12 14 15 -1 3 10 13 14 15 -1 3 11 12 13 14 -1 3 11 12 13 15 -1 3 11 12 14 15 -1 3 11 13 14 15 -1 3 12 13 14 15 -1 4 5 6 7 8 -1 4 5 6 7 9 -1 4 5 6 7 10 -1 4 5 6 7 11 -1 4 5 6 7 12 -1 4 5 6 7 13 -1 4 5 6 7 14 -1 4 5 6 7 15 -1 4 5 6 8 9 -1 4 5 6 8 10 -1 4 5 6 8 11 -1 4 5 6 8 12 -1 4 5 6 8 13 -1 4 5 6 8 14 -1 4 5 6 8 15 -1 4 5 6 9 10 -1 4 5 6 9 11 -1 4 5 6 9 12 -1 4 5 6 9 13 -1 4 5 6 9 14 -1 4 5 6 9 15 -1 4 5 6 10 11 -1 4 5 6 10 12 -1 4 5 6 10 13 -1 4 5 6 10 14 -1 4 5 6 10 15 -1 4 5 6 11 12 -1 4 5 6 11 13 -1 4 5 6 11 14 -1 4 5 6 11 15 -1 4 5 6 12 13 -1 4 5 6 12 14 -1 4 5 6 12 15 -1 4 5 6 13 14 -1 4 5 6 13 15 -1 4 5 6 14 15 -1 4 5 7 8 9 -1 4 5 7 8 10 -1 4 5 7 8 11 -1 4 5 7 8 12 -1 4 5 7 8 13 -1 4 5 7 8 14 -1 4 5 7 8 15 -1 4 5 7 9 10 -1 4 5 7 9 11 -1 4 5 7 9 12 -1 4 5 7 9 13 -1 4 5 7 9 14 -1 4 5 7 9 15 -1 4 5 7 10 11 -1 4 5 7 10 12 -1 4 5 7 10 13 -1 4 5 7 10 14 -1 4 5 7 10 15 -1 4 5 7 11 12 -1 4 5 7 11 13 -1 4 5 7 11 14 -1 4 5 7 11 15 -1 4 5 7 12 13 -1 4 5 7 12 14 -1 4 5 7 12 15 -1 4 5 7 13 14 -1 4 5 7 13 15 -1 4 5 7 14 15 -1 4 5 8 9 10 -1 4 5 8 9 11 -1 4 5 8 9 12 -1 4 5 8 9 13 -1 4 5 8 9 14 -1 4 5 8 9 15 -1 4 5 8 10 11 -1 4 5 8 10 12 -1 4 5 8 10 13 -1 4 5 8 10 14 -1 4 5 8 10 15 -1 4 5 8 11 12 -1 4 5 8 11 13 -1 4 5 8 11 14 -1 4 5 8 11 15 -1 4 5 8 12 13 -1 4 5 8 12 14 -1 4 5 8 12 15 -1 4 5 8 13 14 -1 4 5 8 13 15 -1 4 5 8 14 15 -1 4 5 9 10 11 -1 4 5 9 10 12 -1 4 5 9 10 13 -1 4 5 9 10 14 -1 4 5 9 10 15 -1 4 5 9 11 12 -1 4 5 9 11 13 -1 4 5 9 11 14 -1 4 5 9 11 15 -1 4 5 9 12 13 -1 4 5 9 12 14 -1 4 5 9 12 15 -1 4 5 9 13 14 -1 4 5 9 13 15 -1 4 5 9 14 15 -1 4 5 10 11 12 -1 4 5 10 11 13 -1 4 5 10 11 14 -1 4 5 10 11 15 -1 4 5 10 12 13 -1 4 5 10 12 14 -1 4 5 10 12 15 -1 4 5 10 13 14 -1 4 5 10 13 15 -1 4 5 10 14 15 -1 4 5 11 12 13 -1 4 5 11 12 14 -1 4 5 11 12 15 -1 4 5 11 13 14 -1 4 5 11 13 15 -1 4 5 11 14 15 -1 4 5 12 13 14 -1 4 5 12 13 15 -1 4 5 12 14 15 -1 4 5 13 14 15 -1 4 6 7 8 9 -1 4 6 7 8 10 -1 4 6 7 8 11 -1 4 6 7 8 12 -1 4 6 7 8 13 -1 4 6 7 8 14 -1 4 6 7 8 15 -1 4 6 7 9 10 -1 4 6 7 9 11 -1 4 6 7 9 12 -1 4 6 7 9 13 -1 4 6 7 9 14 -1 4 6 7 9 15 -1 4 6 7 10 11 -1 4 6 7 10 12 -1 4 6 7 10 13 -1 4 6 7 10 14 -1 4 6 7 10 15 -1 4 6 7 11 12 -1 4 6 7 11 13 -1 4 6 7 11 14 -1 4 6 7 11 15 -1 4 6 7 12 13 -1 4 6 7 12 14 -1 4 6 7 12 15 -1 4 6 7 13 14 -1 4 6 7 13 15 -1 4 6 7 14 15 -1 4 6 8 9 10 -1 4 6 8 9 11 -1 4 6 8 9 12 -1 4 6 8 9 13 -1 4 6 8 9 14 -1 4 6 8 9 15 -1 4 6 8 10 11 -1 4 6 8 10 12 -1 4 6 8 10 13 -1 4 6 8 10 14 -1 4 6 8 10 15 -1 4 6 8 11 12 -1 4 6 8 11 13 -1 4 6 8 11 14 -1 4 6 8 11 15 -1 4 6 8 12 13 -1 4 6 8 12 14 -1 4 6 8 12 15 -1 4 6 8 13 14 -1 4 6 8 13 15 -1 4 6 8 14 15 -1 4 6 9 10 11 -1 4 6 9 10 12 -1 4 6 9 10 13 -1 4 6 9 10 14 -1 4 6 9 10 15 -1 4 6 9 11 12 -1 4 6 9 11 13 -1 4 6 9 11 14 -1 4 6 9 11 15 -1 4 6 9 12 13 -1 4 6 9 12 14 -1 4 6 9 12 15 -1 4 6 9 13 14 -1 4 6 9 13 15 -1 4 6 9 14 15 -1 4 6 10 11 12 -1 4 6 10 11 13 -1 4 6 10 11 14 -1 4 6 10 11 15 -1 4 6 10 12 13 -1 4 6 10 12 14 -1 4 6 10 12 15 -1 4 6 10 13 14 -1 4 6 10 13 15 -1 4 6 10 14 15 -1 4 6 11 12 13 -1 4 6 11 12 14 -1 4 6 11 12 15 -1 4 6 11 13 14 -1 4 6 11 13 15 -1 4 6 11 14 15 -1 4 6 12 13 14 -1 4 6 12 13 15 -1 4 6 12 14 15 -1 4 6 13 14 15 -1 4 7 8 9 10 -1 4 7 8 9 11 -1 4 7 8 9 12 -1 4 7 8 9 13 -1 4 7 8 9 14 -1 4 7 8 9 15 -1 4 7 8 10 11 -1 4 7 8 10 12 -1 4 7 8 10 13 -1 4 7 8 10 14 -1 4 7 8 10 15 -1 4 7 8 11 12 -1 4 7 8 11 13 -1 4 7 8 11 14 -1 4 7 8 11 15 -1 4 7 8 12 13 -1 4 7 8 12 14 -1 4 7 8 12 15 -1 4 7 8 13 14 -1 4 7 8 13 15 -1 4 7 8 14 15 -1 4 7 9 10 11 -1 4 7 9 10 12 -1 4 7 9 10 13 -1 4 7 9 10 14 -1 4 7 9 10 15 -1 4 7 9 11 12 -1 4 7 9 11 13 -1 4 7 9 11 14 -1 4 7 9 11 15 -1 4 7 9 12 13 -1 4 7 9 12 14 -1 4 7 9 12 15 -1 4 7 9 13 14 -1 4 7 9 13 15 -1 4 7 9 14 15 -1 4 7 10 11 12 -1 4 7 10 11 13 -1 4 7 10 11 14 -1 4 7 10 11 15 -1 4 7 10 12 13 -1 4 7 10 12 14 -1 4 7 10 12 15 -1 4 7 10 13 14 -1 4 7 10 13 15 -1 4 7 10 14 15 -1 4 7 11 12 13 -1 4 7 11 12 14 -1 4 7 11 12 15 -1 4 7 11 13 14 -1 4 7 11 13 15 -1 4 7 11 14 15 -1 4 7 12 13 14 -1 4 7 12 13 15 -1 4 7 12 14 15 -1 4 7 13 14 15 -1 4 8 9 10 11 -1 4 8 9 10 12 -1 4 8 9 10 13 -1 4 8 9 10 14 -1 4 8 9 10 15 -1 4 8 9 11 12 -1 4 8 9 11 13 -1 4 8 9 11 14 -1 4 8 9 11 15 -1 4 8 9 12 13 -1 4 8 9 12 14 -1 4 8 9 12 15 -1 4 8 9 13 14 -1 4 8 9 13 15 -1 4 8 9 14 15 -1 4 8 10 11 12 -1 4 8 10 11 13 -1 4 8 10 11 14 -1 4 8 10 11 15 -1 4 8 10 12 13 -1 4 8 10 12 14 -1 4 8 10 12 15 -1 4 8 10 13 14 -1 4 8 10 13 15 -1 4 8 10 14 15 -1 4 8 11 12 13 -1 4 8 11 12 14 -1 4 8 11 12 15 -1 4 8 11 13 14 -1 4 8 11 13 15 -1 4 8 11 14 15 -1 4 8 12 13 14 -1 4 8 12 13 15 -1 4 8 12 14 15 -1 4 8 13 14 15 -1 4 9 10 11 12 -1 4 9 10 11 13 -1 4 9 10 11 14 -1 4 9 10 11 15 -1 4 9 10 12 13 -1 4 9 10 12 14 -1 4 9 10 12 15 -1 4 9 10 13 14 -1 4 9 10 13 15 -1 4 9 10 14 15 -1 4 9 11 12 13 -1 4 9 11 12 14 -1 4 9 11 12 15 -1 4 9 11 13 14 -1 4 9 11 13 15 -1 4 9 11 14 15 -1 4 9 12 13 14 -1 4 9 12 13 15 -1 4 9 12 14 15 -1 4 9 13 14 15 -1 4 10 11 12 13 -1 4 10 11 12 14 -1 4 10 11 12 15 -1 4 10 11 13 14 -1 4 10 11 13 15 -1 4 10 11 14 15 -1 4 10 12 13 14 -1 4 10 12 13 15 -1 4 10 12 14 15 -1 4 10 13 14 15 -1 4 11 12 13 14 -1 4 11 12 13 15 -1 4 11 12 14 15 -1 4 11 13 14 15 -1 4 12 13 14 15 -1 5 6 7 8 9 -1 5 6 7 8 10 -1 5 6 7 8 11 -1 5 6 7 8 12 -1 5 6 7 8 13 -1 5 6 7 8 14 -1 5 6 7 8 15 -1 5 6 7 9 10 -1 5 6 7 9 11 -1 5 6 7 9 12 -1 5 6 7 9 13 -1 5 6 7 9 14 -1 5 6 7 9 15 -1 5 6 7 10 11 -1 5 6 7 10 12 -1 5 6 7 10 13 -1 5 6 7 10 14 -1 5 6 7 10 15 -1 5 6 7 11 12 -1 5 6 7 11 13 -1 5 6 7 11 14 -1 5 6 7 11 15 -1 5 6 7 12 13 -1 5 6 7 12 14 -1 5 6 7 12 15 -1 5 6 7 13 14 -1 5 6 7 13 15 -1 5 6 7 14 15 -1 5 6 8 9 10 -1 5 6 8 9 11 -1 5 6 8 9 12 -1 5 6 8 9 13 -1 5 6 8 9 14 -1 5 6 8 9 15 -1 5 6 8 10 11 -1 5 6 8 10 12 -1 5 6 8 10 13 -1 5 6 8 10 14 -1 5 6 8 10 15 -1 5 6 8 11 12 -1 5 6 8 11 13 -1 5 6 8 11 14 -1 5 6 8 11 15 -1 5 6 8 12 13 -1 5 6 8 12 14 -1 5 6 8 12 15 -1 5 6 8 13 14 -1 5 6 8 13 15 -1 5 6 8 14 15 -1 5 6 9 10 11 -1 5 6 9 10 12 -1 5 6 9 10 13 -1 5 6 9 10 14 -1 5 6 9 10 15 -1 5 6 9 11 12 -1 5 6 9 11 13 -1 5 6 9 11 14 -1 5 6 9 11 15 -1 5 6 9 12 13 -1 5 6 9 12 14 -1 5 6 9 12 15 -1 5 6 9 13 14 -1 5 6 9 13 15 -1 5 6 9 14 15 -1 5 6 10 11 12 -1 5 6 10 11 13 -1 5 6 10 11 14 -1 5 6 10 11 15 -1 5 6 10 12 13 -1 5 6 10 12 14 -1 5 6 10 12 15 -1 5 6 10 13 14 -1 5 6 10 13 15 -1 5 6 10 14 15 -1 5 6 11 12 13 -1 5 6 11 12 14 -1 5 6 11 12 15 -1 5 6 11 13 14 -1 5 6 11 13 15 -1 5 6 11 14 15 -1 5 6 12 13 14 -1 5 6 12 13 15 -1 5 6 12 14 15 -1 5 6 13 14 15 -1 5 7 8 9 10 -1 5 7 8 9 11 -1 5 7 8 9 12 -1 5 7 8 9 13 -1 5 7 8 9 14 -1 5 7 8 9 15 -1 5 7 8 10 11 -1 5 7 8 10 12 -1 5 7 8 10 13 -1 5 7 8 10 14 -1 5 7 8 10 15 -1 5 7 8 11 12 -1 5 7 8 11 13 -1 5 7 8 11 14 -1 5 7 8 11 15 -1 5 7 8 12 13 -1 5 7 8 12 14 -1 5 7 8 12 15 -1 5 7 8 13 14 -1 5 7 8 13 15 -1 5 7 8 14 15 -1 5 7 9 10 11 -1 5 7 9 10 12 -1 5 7 9 10 13 -1 5 7 9 10 14 -1 5 7 9 10 15 -1 5 7 9 11 12 -1 5 7 9 11 13 -1 5 7 9 11 14 -1 5 7 9 11 15 -1 5 7 9 12 13 -1 5 7 9 12 14 -1 5 7 9 12 15 -1 5 7 9 13 14 -1 5 7 9 13 15 -1 5 7 9 14 15 -1 5 7 10 11 12 -1 5 7 10 11 13 -1 5 7 10 11 14 -1 5 7 10 11 15 -1 5 7 10 12 13 -1 5 7 10 12 14 -1 5 7 10 12 15 -1 5 7 10 13 14 -1 5 7 10 13 15 -1 5 7 10 14 15 -1 5 7 11 12 13 -1 5 7 11 12 14 -1 5 7 11 12 15 -1 5 7 11 13 14 -1 5 7 11 13 15 -1 5 7 11 14 15 -1 5 7 12 13 14 -1 5 7 12 13 15 -1 5 7 12 14 15 -1 5 7 13 14 15 -1 5 8 9 10 11 -1 5 8 9 10 12 -1 5 8 9 10 13 -1 5 8 9 10 14 -1 5 8 9 10 15 -1 5 8 9 11 12 -1 5 8 9 11 13 -1 5 8 9 11 14 -1 5 8 9 11 15 -1 5 8 9 12 13 -1 5 8 9 12 14 -1 5 8 9 12 15 -1 5 8 9 13 14 -1 5 8 9 13 15 -1 5 8 9 14 15 -1 5 8 10 11 12 -1 5 8 10 11 13 -1 5 8 10 11 14 -1 5 8 10 11 15 -1 5 8 10 12 13 -1 5 8 10 12 14 -1 5 8 10 12 15 -1 5 8 10 13 14 -1 5 8 10 13 15 -1 5 8 10 14 15 -1 5 8 11 12 13 -1 5 8 11 12 14 -1 5 8 11 12 15 -1 5 8 11 13 14 -1 5 8 11 13 15 -1 5 8 11 14 15 -1 5 8 12 13 14 -1 5 8 12 13 15 -1 5 8 12 14 15 -1 5 8 13 14 15 -1 5 9 10 11 12 -1 5 9 10 11 13 -1 5 9 10 11 14 -1 5 9 10 11 15 -1 5 9 10 12 13 -1 5 9 10 12 14 -1 5 9 10 12 15 -1 5 9 10 13 14 -1 5 9 10 13 15 -1 5 9 10 14 15 -1 5 9 11 12 13 -1 5 9 11 12 14 -1 5 9 11 12 15 -1 5 9 11 13 14 -1 5 9 11 13 15 -1 5 9 11 14 15 -1 5 9 12 13 14 -1 5 9 12 13 15 -1 5 9 12 14 15 -1 5 9 13 14 15 -1 5 10 11 12 13 -1 5 10 11 12 14 -1 5 10 11 12 15 -1 5 10 11 13 14 -1 5 10 11 13 15 -1 5 10 11 14 15 -1 5 10 12 13 14 -1 5 10 12 13 15 -1 5 10 12 14 15 -1 5 10 13 14 15 -1 5 11 12 13 14 -1 5 11 12 13 15 -1 5 11 12 14 15 -1 5 11 13 14 15 -1 5 12 13 14 15 -1 6 7 8 9 10 -1 6 7 8 9 11 -1 6 7 8 9 12 -1 6 7 8 9 13 -1 6 7 8 9 14 -1 6 7 8 9 15 -1 6 7 8 10 11 -1 6 7 8 10 12 -1 6 7 8 10 13 -1 6 7 8 10 14 -1 6 7 8 10 15 -1 6 7 8 11 12 -1 6 7 8 11 13 -1 6 7 8 11 14 -1 6 7 8 11 15 -1 6 7 8 12 13 -1 6 7 8 12 14 -1 6 7 8 12 15 -1 6 7 8 13 14 -1 6 7 8 13 15 -1 6 7 8 14 15 -1 6 7 9 10 11 -1 6 7 9 10 12 -1 6 7 9 10 13 -1 6 7 9 10 14 -1 6 7 9 10 15 -1 6 7 9 11 12 -1 6 7 9 11 13 -1 6 7 9 11 14 -1 6 7 9 11 15 -1 6 7 9 12 13 -1 6 7 9 12 14 -1 6 7 9 12 15 -1 6 7 9 13 14 -1 6 7 9 13 15 -1 6 7 9 14 15 -1 6 7 10 11 12 -1 6 7 10 11 13 -1 6 7 10 11 14 -1 6 7 10 11 15 -1 6 7 10 12 13 -1 6 7 10 12 14 -1 6 7 10 12 15 -1 6 7 10 13 14 -1 6 7 10 13 15 -1 6 7 10 14 15 -1 6 7 11 12 13 -1 6 7 11 12 14 -1 6 7 11 12 15 -1 6 7 11 13 14 -1 6 7 11 13 15 -1 6 7 11 14 15 -1 6 7 12 13 14 -1 6 7 12 13 15 -1 6 7 12 14 15 -1 6 7 13 14 15 -1 6 8 9 10 11 -1 6 8 9 10 12 -1 6 8 9 10 13 -1 6 8 9 10 14 -1 6 8 9 10 15 -1 6 8 9 11 12 -1 6 8 9 11 13 -1 6 8 9 11 14 -1 6 8 9 11 15 -1 6 8 9 12 13 -1 6 8 9 12 14 -1 6 8 9 12 15 -1 6 8 9 13 14 -1 6 8 9 13 15 -1 6 8 9 14 15 -1 6 8 10 11 12 -1 6 8 10 11 13 -1 6 8 10 11 14 -1 6 8 10 11 15 -1 6 8 10 12 13 -1 6 8 10 12 14 -1 6 8 10 12 15 -1 6 8 10 13 14 -1 6 8 10 13 15 -1 6 8 10 14 15 -1 6 8 11 12 13 -1 6 8 11 12 14 -1 6 8 11 12 15 -1 6 8 11 13 14 -1 6 8 11 13 15 -1 6 8 11 14 15 -1 6 8 12 13 14 -1 6 8 12 13 15 -1 6 8 12 14 15 -1 6 8 13 14 15 -1 6 9 10 11 12 -1 6 9 10 11 13 -1 6 9 10 11 14 -1 6 9 10 11 15 -1 6 9 10 12 13 -1 6 9 10 12 14 -1 6 9 10 12 15 -1 6 9 10 13 14 -1 6 9 10 13 15 -1 6 9 10 14 15 -1 6 9 11 12 13 -1 6 9 11 12 14 -1 6 9 11 12 15 -1 6 9 11 13 14 -1 6 9 11 13 15 -1 6 9 11 14 15 -1 6 9 12 13 14 -1 6 9 12 13 15 -1 6 9 12 14 15 -1 6 9 13 14 15 -1 6 10 11 12 13 -1 6 10 11 12 14 -1 6 10 11 12 15 -1 6 10 11 13 14 -1 6 10 11 13 15 -1 6 10 11 14 15 -1 6 10 12 13 14 -1 6 10 12 13 15 -1 6 10 12 14 15 -1 6 10 13 14 15 -1 6 11 12 13 14 -1 6 11 12 13 15 -1 6 11 12 14 15 -1 6 11 13 14 15 -1 6 12 13 14 15 -1 7 8 9 10 11 -1 7 8 9 10 12 -1 7 8 9 10 13 -1 7 8 9 10 14 -1 7 8 9 10 15 -1 7 8 9 11 12 -1 7 8 9 11 13 -1 7 8 9 11 14 -1 7 8 9 11 15 -1 7 8 9 12 13 -1 7 8 9 12 14 -1 7 8 9 12 15 -1 7 8 9 13 14 -1 7 8 9 13 15 -1 7 8 9 14 15 -1 7 8 10 11 12 -1 7 8 10 11 13 -1 7 8 10 11 14 -1 7 8 10 11 15 -1 7 8 10 12 13 -1 7 8 10 12 14 -1 7 8 10 12 15 -1 7 8 10 13 14 -1 7 8 10 13 15 -1 7 8 10 14 15 -1 7 8 11 12 13 -1 7 8 11 12 14 -1 7 8 11 12 15 -1 7 8 11 13 14 -1 7 8 11 13 15 -1 7 8 11 14 15 -1 7 8 12 13 14 -1 7 8 12 13 15 -1 7 8 12 14 15 -1 7 8 13 14 15 -1 7 9 10 11 12 -1 7 9 10 11 13 -1 7 9 10 11 14 -1 7 9 10 11 15 -1 7 9 10 12 13 -1 7 9 10 12 14 -1 7 9 10 12 15 -1 7 9 10 13 14 -1 7 9 10 13 15 -1 7 9 10 14 15 -1 7 9 11 12 13 -1 7 9 11 12 14 -1 7 9 11 12 15 -1 7 9 11 13 14 -1 7 9 11 13 15 -1 7 9 11 14 15 -1 7 9 12 13 14 -1 7 9 12 13 15 -1 7 9 12 14 15 -1 7 9 13 14 15 -1 7 10 11 12 13 -1 7 10 11 12 14 -1 7 10 11 12 15 -1 7 10 11 13 14 -1 7 10 11 13 15 -1 7 10 11 14 15 -1 7 10 12 13 14 -1 7 10 12 13 15 -1 7 10 12 14 15 -1 7 10 13 14 15 -1 7 11 12 13 14 -1 7 11 12 13 15 -1 7 11 12 14 15 -1 7 11 13 14 15 -1 7 12 13 14 15 -1 8 9 10 11 12 -1 8 9 10 11 13 -1 8 9 10 11 14 -1 8 9 10 11 15 -1 8 9 10 12 13 -1 8 9 10 12 14 -1 8 9 10 12 15 -1 8 9 10 13 14 -1 8 9 10 13 15 -1 8 9 10 14 15 -1 8 9 11 12 13 -1 8 9 11 12 14 -1 8 9 11 12 15 -1 8 9 11 13 14 -1 8 9 11 13 15 -1 8 9 11 14 15 -1 8 9 12 13 14 -1 8 9 12 13 15 -1 8 9 12 14 15 -1 8 9 13 14 15 -1 8 10 11 12 13 -1 8 10 11 12 14 -1 8 10 11 12 15 -1 8 10 11 13 14 -1 8 10 11 13 15 -1 8 10 11 14 15 -1 8 10 12 13 14 -1 8 10 12 13 15 -1 8 10 12 14 15 -1 8 10 13 14 15 -1 8 11 12 13 14 -1 8 11 12 13 15 -1 8 11 12 14 15 -1 8 11 13 14 15 -1 8 12 13 14 15 -1 9 10 11 12 13 -1 9 10 11 12 14 -1 9 10 11 12 15 -1 9 10 11 13 14 -1 9 10 11 13 15 -1 9 10 11 14 15 -1 9 10 12 13 14 -1 9 10 12 13 15 -1 9 10 12 14 15 -1 9 10 13 14 15 -1 9 11 12 13 14 -1 9 11 12 13 15 -1 9 11 12 14 15 -1 9 11 13 14 15 -1 9 12 13 14 15 -1 10 11 12 13 14 -1 10 11 12 13 15 -1 10 11 12 14 15 -1 10 11 13 14 15 -1 10 12 13 14 15 -1 11 12 13 14 15 -2 3 4 5 6 7 -2 3 4 5 6 8 -2 3 4 5 6 9 -2 3 4 5 6 10 -2 3 4 5 6 11 -2 3 4 5 6 12 -2 3 4 5 6 13 -2 3 4 5 6 14 -2 3 4 5 6 15 -2 3 4 5 7 8 -2 3 4 5 7 9 -2 3 4 5 7 10 -2 3 4 5 7 11 -2 3 4 5 7 12 -2 3 4 5 7 13 -2 3 4 5 7 14 -2 3 4 5 7 15 -2 3 4 5 8 9 -2 3 4 5 8 10 -2 3 4 5 8 11 -2 3 4 5 8 12 -2 3 4 5 8 13 -2 3 4 5 8 14 -2 3 4 5 8 15 -2 3 4 5 9 10 -2 3 4 5 9 11 -2 3 4 5 9 12 -2 3 4 5 9 13 -2 3 4 5 9 14 -2 3 4 5 9 15 -2 3 4 5 10 11 -2 3 4 5 10 12 -2 3 4 5 10 13 -2 3 4 5 10 14 -2 3 4 5 10 15 -2 3 4 5 11 12 -2 3 4 5 11 13 -2 3 4 5 11 14 -2 3 4 5 11 15 -2 3 4 5 12 13 -2 3 4 5 12 14 -2 3 4 5 12 15 -2 3 4 5 13 14 -2 3 4 5 13 15 -2 3 4 5 14 15 -2 3 4 6 7 8 -2 3 4 6 7 9 -2 3 4 6 7 10 -2 3 4 6 7 11 -2 3 4 6 7 12 -2 3 4 6 7 13 -2 3 4 6 7 14 -2 3 4 6 7 15 -2 3 4 6 8 9 -2 3 4 6 8 10 -2 3 4 6 8 11 -2 3 4 6 8 12 -2 3 4 6 8 13 -2 3 4 6 8 14 -2 3 4 6 8 15 -2 3 4 6 9 10 -2 3 4 6 9 11 -2 3 4 6 9 12 -2 3 4 6 9 13 -2 3 4 6 9 14 -2 3 4 6 9 15 -2 3 4 6 10 11 -2 3 4 6 10 12 -2 3 4 6 10 13 -2 3 4 6 10 14 -2 3 4 6 10 15 -2 3 4 6 11 12 -2 3 4 6 11 13 -2 3 4 6 11 14 -2 3 4 6 11 15 -2 3 4 6 12 13 -2 3 4 6 12 14 -2 3 4 6 12 15 -2 3 4 6 13 14 -2 3 4 6 13 15 -2 3 4 6 14 15 -2 3 4 7 8 9 -2 3 4 7 8 10 -2 3 4 7 8 11 -2 3 4 7 8 12 -2 3 4 7 8 13 -2 3 4 7 8 14 -2 3 4 7 8 15 -2 3 4 7 9 10 -2 3 4 7 9 11 -2 3 4 7 9 12 -2 3 4 7 9 13 -2 3 4 7 9 14 -2 3 4 7 9 15 -2 3 4 7 10 11 -2 3 4 7 10 12 -2 3 4 7 10 13 -2 3 4 7 10 14 -2 3 4 7 10 15 -2 3 4 7 11 12 -2 3 4 7 11 13 -2 3 4 7 11 14 -2 3 4 7 11 15 -2 3 4 7 12 13 -2 3 4 7 12 14 -2 3 4 7 12 15 -2 3 4 7 13 14 -2 3 4 7 13 15 -2 3 4 7 14 15 -2 3 4 8 9 10 -2 3 4 8 9 11 -2 3 4 8 9 12 -2 3 4 8 9 13 -2 3 4 8 9 14 -2 3 4 8 9 15 -2 3 4 8 10 11 -2 3 4 8 10 12 -2 3 4 8 10 13 -2 3 4 8 10 14 -2 3 4 8 10 15 -2 3 4 8 11 12 -2 3 4 8 11 13 -2 3 4 8 11 14 -2 3 4 8 11 15 -2 3 4 8 12 13 -2 3 4 8 12 14 -2 3 4 8 12 15 -2 3 4 8 13 14 -2 3 4 8 13 15 -2 3 4 8 14 15 -2 3 4 9 10 11 -2 3 4 9 10 12 -2 3 4 9 10 13 -2 3 4 9 10 14 -2 3 4 9 10 15 -2 3 4 9 11 12 -2 3 4 9 11 13 -2 3 4 9 11 14 -2 3 4 9 11 15 -2 3 4 9 12 13 -2 3 4 9 12 14 -2 3 4 9 12 15 -2 3 4 9 13 14 -2 3 4 9 13 15 -2 3 4 9 14 15 -2 3 4 10 11 12 -2 3 4 10 11 13 -2 3 4 10 11 14 -2 3 4 10 11 15 -2 3 4 10 12 13 -2 3 4 10 12 14 -2 3 4 10 12 15 -2 3 4 10 13 14 -2 3 4 10 13 15 -2 3 4 10 14 15 -2 3 4 11 12 13 -2 3 4 11 12 14 -2 3 4 11 12 15 -2 3 4 11 13 14 -2 3 4 11 13 15 -2 3 4 11 14 15 -2 3 4 12 13 14 -2 3 4 12 13 15 -2 3 4 12 14 15 -2 3 4 13 14 15 -2 3 5 6 7 8 -2 3 5 6 7 9 -2 3 5 6 7 10 -2 3 5 6 7 11 -2 3 5 6 7 12 -2 3 5 6 7 13 -2 3 5 6 7 14 -2 3 5 6 7 15 -2 3 5 6 8 9 -2 3 5 6 8 10 -2 3 5 6 8 11 -2 3 5 6 8 12 -2 3 5 6 8 13 -2 3 5 6 8 14 -2 3 5 6 8 15 -2 3 5 6 9 10 -2 3 5 6 9 11 -2 3 5 6 9 12 -2 3 5 6 9 13 -2 3 5 6 9 14 -2 3 5 6 9 15 -2 3 5 6 10 11 -2 3 5 6 10 12 -2 3 5 6 10 13 -2 3 5 6 10 14 -2 3 5 6 10 15 -2 3 5 6 11 12 -2 3 5 6 11 13 -2 3 5 6 11 14 -2 3 5 6 11 15 -2 3 5 6 12 13 -2 3 5 6 12 14 -2 3 5 6 12 15 -2 3 5 6 13 14 -2 3 5 6 13 15 -2 3 5 6 14 15 -2 3 5 7 8 9 -2 3 5 7 8 10 -2 3 5 7 8 11 -2 3 5 7 8 12 -2 3 5 7 8 13 -2 3 5 7 8 14 -2 3 5 7 8 15 -2 3 5 7 9 10 -2 3 5 7 9 11 -2 3 5 7 9 12 -2 3 5 7 9 13 -2 3 5 7 9 14 -2 3 5 7 9 15 -2 3 5 7 10 11 -2 3 5 7 10 12 -2 3 5 7 10 13 -2 3 5 7 10 14 -2 3 5 7 10 15 -2 3 5 7 11 12 -2 3 5 7 11 13 -2 3 5 7 11 14 -2 3 5 7 11 15 -2 3 5 7 12 13 -2 3 5 7 12 14 -2 3 5 7 12 15 -2 3 5 7 13 14 -2 3 5 7 13 15 -2 3 5 7 14 15 -2 3 5 8 9 10 -2 3 5 8 9 11 -2 3 5 8 9 12 -2 3 5 8 9 13 -2 3 5 8 9 14 -2 3 5 8 9 15 -2 3 5 8 10 11 -2 3 5 8 10 12 -2 3 5 8 10 13 -2 3 5 8 10 14 -2 3 5 8 10 15 -2 3 5 8 11 12 -2 3 5 8 11 13 -2 3 5 8 11 14 -2 3 5 8 11 15 -2 3 5 8 12 13 -2 3 5 8 12 14 -2 3 5 8 12 15 -2 3 5 8 13 14 -2 3 5 8 13 15 -2 3 5 8 14 15 -2 3 5 9 10 11 -2 3 5 9 10 12 -2 3 5 9 10 13 -2 3 5 9 10 14 -2 3 5 9 10 15 -2 3 5 9 11 12 -2 3 5 9 11 13 -2 3 5 9 11 14 -2 3 5 9 11 15 -2 3 5 9 12 13 -2 3 5 9 12 14 -2 3 5 9 12 15 -2 3 5 9 13 14 -2 3 5 9 13 15 -2 3 5 9 14 15 -2 3 5 10 11 12 -2 3 5 10 11 13 -2 3 5 10 11 14 -2 3 5 10 11 15 -2 3 5 10 12 13 -2 3 5 10 12 14 -2 3 5 10 12 15 -2 3 5 10 13 14 -2 3 5 10 13 15 -2 3 5 10 14 15 -2 3 5 11 12 13 -2 3 5 11 12 14 -2 3 5 11 12 15 -2 3 5 11 13 14 -2 3 5 11 13 15 -2 3 5 11 14 15 -2 3 5 12 13 14 -2 3 5 12 13 15 -2 3 5 12 14 15 -2 3 5 13 14 15 -2 3 6 7 8 9 -2 3 6 7 8 10 -2 3 6 7 8 11 -2 3 6 7 8 12 -2 3 6 7 8 13 -2 3 6 7 8 14 -2 3 6 7 8 15 -2 3 6 7 9 10 -2 3 6 7 9 11 -2 3 6 7 9 12 -2 3 6 7 9 13 -2 3 6 7 9 14 -2 3 6 7 9 15 -2 3 6 7 10 11 -2 3 6 7 10 12 -2 3 6 7 10 13 -2 3 6 7 10 14 -2 3 6 7 10 15 -2 3 6 7 11 12 -2 3 6 7 11 13 -2 3 6 7 11 14 -2 3 6 7 11 15 -2 3 6 7 12 13 -2 3 6 7 12 14 -2 3 6 7 12 15 -2 3 6 7 13 14 -2 3 6 7 13 15 -2 3 6 7 14 15 -2 3 6 8 9 10 -2 3 6 8 9 11 -2 3 6 8 9 12 -2 3 6 8 9 13 -2 3 6 8 9 14 -2 3 6 8 9 15 -2 3 6 8 10 11 -2 3 6 8 10 12 -2 3 6 8 10 13 -2 3 6 8 10 14 -2 3 6 8 10 15 -2 3 6 8 11 12 -2 3 6 8 11 13 -2 3 6 8 11 14 -2 3 6 8 11 15 -2 3 6 8 12 13 -2 3 6 8 12 14 -2 3 6 8 12 15 -2 3 6 8 13 14 -2 3 6 8 13 15 -2 3 6 8 14 15 -2 3 6 9 10 11 -2 3 6 9 10 12 -2 3 6 9 10 13 -2 3 6 9 10 14 -2 3 6 9 10 15 -2 3 6 9 11 12 -2 3 6 9 11 13 -2 3 6 9 11 14 -2 3 6 9 11 15 -2 3 6 9 12 13 -2 3 6 9 12 14 -2 3 6 9 12 15 -2 3 6 9 13 14 -2 3 6 9 13 15 -2 3 6 9 14 15 -2 3 6 10 11 12 -2 3 6 10 11 13 -2 3 6 10 11 14 -2 3 6 10 11 15 -2 3 6 10 12 13 -2 3 6 10 12 14 -2 3 6 10 12 15 -2 3 6 10 13 14 -2 3 6 10 13 15 -2 3 6 10 14 15 -2 3 6 11 12 13 -2 3 6 11 12 14 -2 3 6 11 12 15 -2 3 6 11 13 14 -2 3 6 11 13 15 -2 3 6 11 14 15 -2 3 6 12 13 14 -2 3 6 12 13 15 -2 3 6 12 14 15 -2 3 6 13 14 15 -2 3 7 8 9 10 -2 3 7 8 9 11 -2 3 7 8 9 12 -2 3 7 8 9 13 -2 3 7 8 9 14 -2 3 7 8 9 15 -2 3 7 8 10 11 -2 3 7 8 10 12 -2 3 7 8 10 13 -2 3 7 8 10 14 -2 3 7 8 10 15 -2 3 7 8 11 12 -2 3 7 8 11 13 -2 3 7 8 11 14 -2 3 7 8 11 15 -2 3 7 8 12 13 -2 3 7 8 12 14 -2 3 7 8 12 15 -2 3 7 8 13 14 -2 3 7 8 13 15 -2 3 7 8 14 15 -2 3 7 9 10 11 -2 3 7 9 10 12 -2 3 7 9 10 13 -2 3 7 9 10 14 -2 3 7 9 10 15 -2 3 7 9 11 12 -2 3 7 9 11 13 -2 3 7 9 11 14 -2 3 7 9 11 15 -2 3 7 9 12 13 -2 3 7 9 12 14 -2 3 7 9 12 15 -2 3 7 9 13 14 -2 3 7 9 13 15 -2 3 7 9 14 15 -2 3 7 10 11 12 -2 3 7 10 11 13 -2 3 7 10 11 14 -2 3 7 10 11 15 -2 3 7 10 12 13 -2 3 7 10 12 14 -2 3 7 10 12 15 -2 3 7 10 13 14 -2 3 7 10 13 15 -2 3 7 10 14 15 -2 3 7 11 12 13 -2 3 7 11 12 14 -2 3 7 11 12 15 -2 3 7 11 13 14 -2 3 7 11 13 15 -2 3 7 11 14 15 -2 3 7 12 13 14 -2 3 7 12 13 15 -2 3 7 12 14 15 -2 3 7 13 14 15 -2 3 8 9 10 11 -2 3 8 9 10 12 -2 3 8 9 10 13 -2 3 8 9 10 14 -2 3 8 9 10 15 -2 3 8 9 11 12 -2 3 8 9 11 13 -2 3 8 9 11 14 -2 3 8 9 11 15 -2 3 8 9 12 13 -2 3 8 9 12 14 -2 3 8 9 12 15 -2 3 8 9 13 14 -2 3 8 9 13 15 -2 3 8 9 14 15 -2 3 8 10 11 12 -2 3 8 10 11 13 -2 3 8 10 11 14 -2 3 8 10 11 15 -2 3 8 10 12 13 -2 3 8 10 12 14 -2 3 8 10 12 15 -2 3 8 10 13 14 -2 3 8 10 13 15 -2 3 8 10 14 15 -2 3 8 11 12 13 -2 3 8 11 12 14 -2 3 8 11 12 15 -2 3 8 11 13 14 -2 3 8 11 13 15 -2 3 8 11 14 15 -2 3 8 12 13 14 -2 3 8 12 13 15 -2 3 8 12 14 15 -2 3 8 13 14 15 -2 3 9 10 11 12 -2 3 9 10 11 13 -2 3 9 10 11 14 -2 3 9 10 11 15 -2 3 9 10 12 13 -2 3 9 10 12 14 -2 3 9 10 12 15 -2 3 9 10 13 14 -2 3 9 10 13 15 -2 3 9 10 14 15 -2 3 9 11 12 13 -2 3 9 11 12 14 -2 3 9 11 12 15 -2 3 9 11 13 14 -2 3 9 11 13 15 -2 3 9 11 14 15 -2 3 9 12 13 14 -2 3 9 12 13 15 -2 3 9 12 14 15 -2 3 9 13 14 15 -2 3 10 11 12 13 -2 3 10 11 12 14 -2 3 10 11 12 15 -2 3 10 11 13 14 -2 3 10 11 13 15 -2 3 10 11 14 15 -2 3 10 12 13 14 -2 3 10 12 13 15 -2 3 10 12 14 15 -2 3 10 13 14 15 -2 3 11 12 13 14 -2 3 11 12 13 15 -2 3 11 12 14 15 -2 3 11 13 14 15 -2 3 12 13 14 15 -2 4 5 6 7 8 -2 4 5 6 7 9 -2 4 5 6 7 10 -2 4 5 6 7 11 -2 4 5 6 7 12 -2 4 5 6 7 13 -2 4 5 6 7 14 -2 4 5 6 7 15 -2 4 5 6 8 9 -2 4 5 6 8 10 -2 4 5 6 8 11 -2 4 5 6 8 12 -2 4 5 6 8 13 -2 4 5 6 8 14 -2 4 5 6 8 15 -2 4 5 6 9 10 -2 4 5 6 9 11 -2 4 5 6 9 12 -2 4 5 6 9 13 -2 4 5 6 9 14 -2 4 5 6 9 15 -2 4 5 6 10 11 -2 4 5 6 10 12 -2 4 5 6 10 13 -2 4 5 6 10 14 -2 4 5 6 10 15 -2 4 5 6 11 12 -2 4 5 6 11 13 -2 4 5 6 11 14 -2 4 5 6 11 15 -2 4 5 6 12 13 -2 4 5 6 12 14 -2 4 5 6 12 15 -2 4 5 6 13 14 -2 4 5 6 13 15 -2 4 5 6 14 15 -2 4 5 7 8 9 -2 4 5 7 8 10 -2 4 5 7 8 11 -2 4 5 7 8 12 -2 4 5 7 8 13 -2 4 5 7 8 14 -2 4 5 7 8 15 -2 4 5 7 9 10 -2 4 5 7 9 11 -2 4 5 7 9 12 -2 4 5 7 9 13 -2 4 5 7 9 14 -2 4 5 7 9 15 -2 4 5 7 10 11 -2 4 5 7 10 12 -2 4 5 7 10 13 -2 4 5 7 10 14 -2 4 5 7 10 15 -2 4 5 7 11 12 -2 4 5 7 11 13 -2 4 5 7 11 14 -2 4 5 7 11 15 -2 4 5 7 12 13 -2 4 5 7 12 14 -2 4 5 7 12 15 -2 4 5 7 13 14 -2 4 5 7 13 15 -2 4 5 7 14 15 -2 4 5 8 9 10 -2 4 5 8 9 11 -2 4 5 8 9 12 -2 4 5 8 9 13 -2 4 5 8 9 14 -2 4 5 8 9 15 -2 4 5 8 10 11 -2 4 5 8 10 12 -2 4 5 8 10 13 -2 4 5 8 10 14 -2 4 5 8 10 15 -2 4 5 8 11 12 -2 4 5 8 11 13 -2 4 5 8 11 14 -2 4 5 8 11 15 -2 4 5 8 12 13 -2 4 5 8 12 14 -2 4 5 8 12 15 -2 4 5 8 13 14 -2 4 5 8 13 15 -2 4 5 8 14 15 -2 4 5 9 10 11 -2 4 5 9 10 12 -2 4 5 9 10 13 -2 4 5 9 10 14 -2 4 5 9 10 15 -2 4 5 9 11 12 -2 4 5 9 11 13 -2 4 5 9 11 14 -2 4 5 9 11 15 -2 4 5 9 12 13 -2 4 5 9 12 14 -2 4 5 9 12 15 -2 4 5 9 13 14 -2 4 5 9 13 15 -2 4 5 9 14 15 -2 4 5 10 11 12 -2 4 5 10 11 13 -2 4 5 10 11 14 -2 4 5 10 11 15 -2 4 5 10 12 13 -2 4 5 10 12 14 -2 4 5 10 12 15 -2 4 5 10 13 14 -2 4 5 10 13 15 -2 4 5 10 14 15 -2 4 5 11 12 13 -2 4 5 11 12 14 -2 4 5 11 12 15 -2 4 5 11 13 14 -2 4 5 11 13 15 -2 4 5 11 14 15 -2 4 5 12 13 14 -2 4 5 12 13 15 -2 4 5 12 14 15 -2 4 5 13 14 15 -2 4 6 7 8 9 -2 4 6 7 8 10 -2 4 6 7 8 11 -2 4 6 7 8 12 -2 4 6 7 8 13 -2 4 6 7 8 14 -2 4 6 7 8 15 -2 4 6 7 9 10 -2 4 6 7 9 11 -2 4 6 7 9 12 -2 4 6 7 9 13 -2 4 6 7 9 14 -2 4 6 7 9 15 -2 4 6 7 10 11 -2 4 6 7 10 12 -2 4 6 7 10 13 -2 4 6 7 10 14 -2 4 6 7 10 15 -2 4 6 7 11 12 -2 4 6 7 11 13 -2 4 6 7 11 14 -2 4 6 7 11 15 -2 4 6 7 12 13 -2 4 6 7 12 14 -2 4 6 7 12 15 -2 4 6 7 13 14 -2 4 6 7 13 15 -2 4 6 7 14 15 -2 4 6 8 9 10 -2 4 6 8 9 11 -2 4 6 8 9 12 -2 4 6 8 9 13 -2 4 6 8 9 14 -2 4 6 8 9 15 -2 4 6 8 10 11 -2 4 6 8 10 12 -2 4 6 8 10 13 -2 4 6 8 10 14 -2 4 6 8 10 15 -2 4 6 8 11 12 -2 4 6 8 11 13 -2 4 6 8 11 14 -2 4 6 8 11 15 -2 4 6 8 12 13 -2 4 6 8 12 14 -2 4 6 8 12 15 -2 4 6 8 13 14 -2 4 6 8 13 15 -2 4 6 8 14 15 -2 4 6 9 10 11 -2 4 6 9 10 12 -2 4 6 9 10 13 -2 4 6 9 10 14 -2 4 6 9 10 15 -2 4 6 9 11 12 -2 4 6 9 11 13 -2 4 6 9 11 14 -2 4 6 9 11 15 -2 4 6 9 12 13 -2 4 6 9 12 14 -2 4 6 9 12 15 -2 4 6 9 13 14 -2 4 6 9 13 15 -2 4 6 9 14 15 -2 4 6 10 11 12 -2 4 6 10 11 13 -2 4 6 10 11 14 -2 4 6 10 11 15 -2 4 6 10 12 13 -2 4 6 10 12 14 -2 4 6 10 12 15 -2 4 6 10 13 14 -2 4 6 10 13 15 -2 4 6 10 14 15 -2 4 6 11 12 13 -2 4 6 11 12 14 -2 4 6 11 12 15 -2 4 6 11 13 14 -2 4 6 11 13 15 -2 4 6 11 14 15 -2 4 6 12 13 14 -2 4 6 12 13 15 -2 4 6 12 14 15 -2 4 6 13 14 15 -2 4 7 8 9 10 -2 4 7 8 9 11 -2 4 7 8 9 12 -2 4 7 8 9 13 -2 4 7 8 9 14 -2 4 7 8 9 15 -2 4 7 8 10 11 -2 4 7 8 10 12 -2 4 7 8 10 13 -2 4 7 8 10 14 -2 4 7 8 10 15 -2 4 7 8 11 12 -2 4 7 8 11 13 -2 4 7 8 11 14 -2 4 7 8 11 15 -2 4 7 8 12 13 -2 4 7 8 12 14 -2 4 7 8 12 15 -2 4 7 8 13 14 -2 4 7 8 13 15 -2 4 7 8 14 15 -2 4 7 9 10 11 -2 4 7 9 10 12 -2 4 7 9 10 13 -2 4 7 9 10 14 -2 4 7 9 10 15 -2 4 7 9 11 12 -2 4 7 9 11 13 -2 4 7 9 11 14 -2 4 7 9 11 15 -2 4 7 9 12 13 -2 4 7 9 12 14 -2 4 7 9 12 15 -2 4 7 9 13 14 -2 4 7 9 13 15 -2 4 7 9 14 15 -2 4 7 10 11 12 -2 4 7 10 11 13 -2 4 7 10 11 14 -2 4 7 10 11 15 -2 4 7 10 12 13 -2 4 7 10 12 14 -2 4 7 10 12 15 -2 4 7 10 13 14 -2 4 7 10 13 15 -2 4 7 10 14 15 -2 4 7 11 12 13 -2 4 7 11 12 14 -2 4 7 11 12 15 -2 4 7 11 13 14 -2 4 7 11 13 15 -2 4 7 11 14 15 -2 4 7 12 13 14 -2 4 7 12 13 15 -2 4 7 12 14 15 -2 4 7 13 14 15 -2 4 8 9 10 11 -2 4 8 9 10 12 -2 4 8 9 10 13 -2 4 8 9 10 14 -2 4 8 9 10 15 -2 4 8 9 11 12 -2 4 8 9 11 13 -2 4 8 9 11 14 -2 4 8 9 11 15 -2 4 8 9 12 13 -2 4 8 9 12 14 -2 4 8 9 12 15 -2 4 8 9 13 14 -2 4 8 9 13 15 -2 4 8 9 14 15 -2 4 8 10 11 12 -2 4 8 10 11 13 -2 4 8 10 11 14 -2 4 8 10 11 15 -2 4 8 10 12 13 -2 4 8 10 12 14 -2 4 8 10 12 15 -2 4 8 10 13 14 -2 4 8 10 13 15 -2 4 8 10 14 15 -2 4 8 11 12 13 -2 4 8 11 12 14 -2 4 8 11 12 15 -2 4 8 11 13 14 -2 4 8 11 13 15 -2 4 8 11 14 15 -2 4 8 12 13 14 -2 4 8 12 13 15 -2 4 8 12 14 15 -2 4 8 13 14 15 -2 4 9 10 11 12 -2 4 9 10 11 13 -2 4 9 10 11 14 -2 4 9 10 11 15 -2 4 9 10 12 13 -2 4 9 10 12 14 -2 4 9 10 12 15 -2 4 9 10 13 14 -2 4 9 10 13 15 -2 4 9 10 14 15 -2 4 9 11 12 13 -2 4 9 11 12 14 -2 4 9 11 12 15 -2 4 9 11 13 14 -2 4 9 11 13 15 -2 4 9 11 14 15 -2 4 9 12 13 14 -2 4 9 12 13 15 -2 4 9 12 14 15 -2 4 9 13 14 15 -2 4 10 11 12 13 -2 4 10 11 12 14 -2 4 10 11 12 15 -2 4 10 11 13 14 -2 4 10 11 13 15 -2 4 10 11 14 15 -2 4 10 12 13 14 -2 4 10 12 13 15 -2 4 10 12 14 15 -2 4 10 13 14 15 -2 4 11 12 13 14 -2 4 11 12 13 15 -2 4 11 12 14 15 -2 4 11 13 14 15 -2 4 12 13 14 15 -2 5 6 7 8 9 -2 5 6 7 8 10 -2 5 6 7 8 11 -2 5 6 7 8 12 -2 5 6 7 8 13 -2 5 6 7 8 14 -2 5 6 7 8 15 -2 5 6 7 9 10 -2 5 6 7 9 11 -2 5 6 7 9 12 -2 5 6 7 9 13 -2 5 6 7 9 14 -2 5 6 7 9 15 -2 5 6 7 10 11 -2 5 6 7 10 12 -2 5 6 7 10 13 -2 5 6 7 10 14 -2 5 6 7 10 15 -2 5 6 7 11 12 -2 5 6 7 11 13 -2 5 6 7 11 14 -2 5 6 7 11 15 -2 5 6 7 12 13 -2 5 6 7 12 14 -2 5 6 7 12 15 -2 5 6 7 13 14 -2 5 6 7 13 15 -2 5 6 7 14 15 -2 5 6 8 9 10 -2 5 6 8 9 11 -2 5 6 8 9 12 -2 5 6 8 9 13 -2 5 6 8 9 14 -2 5 6 8 9 15 -2 5 6 8 10 11 -2 5 6 8 10 12 -2 5 6 8 10 13 -2 5 6 8 10 14 -2 5 6 8 10 15 -2 5 6 8 11 12 -2 5 6 8 11 13 -2 5 6 8 11 14 -2 5 6 8 11 15 -2 5 6 8 12 13 -2 5 6 8 12 14 -2 5 6 8 12 15 -2 5 6 8 13 14 -2 5 6 8 13 15 -2 5 6 8 14 15 -2 5 6 9 10 11 -2 5 6 9 10 12 -2 5 6 9 10 13 -2 5 6 9 10 14 -2 5 6 9 10 15 -2 5 6 9 11 12 -2 5 6 9 11 13 -2 5 6 9 11 14 -2 5 6 9 11 15 -2 5 6 9 12 13 -2 5 6 9 12 14 -2 5 6 9 12 15 -2 5 6 9 13 14 -2 5 6 9 13 15 -2 5 6 9 14 15 -2 5 6 10 11 12 -2 5 6 10 11 13 -2 5 6 10 11 14 -2 5 6 10 11 15 -2 5 6 10 12 13 -2 5 6 10 12 14 -2 5 6 10 12 15 -2 5 6 10 13 14 -2 5 6 10 13 15 -2 5 6 10 14 15 -2 5 6 11 12 13 -2 5 6 11 12 14 -2 5 6 11 12 15 -2 5 6 11 13 14 -2 5 6 11 13 15 -2 5 6 11 14 15 -2 5 6 12 13 14 -2 5 6 12 13 15 -2 5 6 12 14 15 -2 5 6 13 14 15 -2 5 7 8 9 10 -2 5 7 8 9 11 -2 5 7 8 9 12 -2 5 7 8 9 13 -2 5 7 8 9 14 -2 5 7 8 9 15 -2 5 7 8 10 11 -2 5 7 8 10 12 -2 5 7 8 10 13 -2 5 7 8 10 14 -2 5 7 8 10 15 -2 5 7 8 11 12 -2 5 7 8 11 13 -2 5 7 8 11 14 -2 5 7 8 11 15 -2 5 7 8 12 13 -2 5 7 8 12 14 -2 5 7 8 12 15 -2 5 7 8 13 14 -2 5 7 8 13 15 -2 5 7 8 14 15 -2 5 7 9 10 11 -2 5 7 9 10 12 -2 5 7 9 10 13 -2 5 7 9 10 14 -2 5 7 9 10 15 -2 5 7 9 11 12 -2 5 7 9 11 13 -2 5 7 9 11 14 -2 5 7 9 11 15 -2 5 7 9 12 13 -2 5 7 9 12 14 -2 5 7 9 12 15 -2 5 7 9 13 14 -2 5 7 9 13 15 -2 5 7 9 14 15 -2 5 7 10 11 12 -2 5 7 10 11 13 -2 5 7 10 11 14 -2 5 7 10 11 15 -2 5 7 10 12 13 -2 5 7 10 12 14 -2 5 7 10 12 15 -2 5 7 10 13 14 -2 5 7 10 13 15 -2 5 7 10 14 15 -2 5 7 11 12 13 -2 5 7 11 12 14 -2 5 7 11 12 15 -2 5 7 11 13 14 -2 5 7 11 13 15 -2 5 7 11 14 15 -2 5 7 12 13 14 -2 5 7 12 13 15 -2 5 7 12 14 15 -2 5 7 13 14 15 -2 5 8 9 10 11 -2 5 8 9 10 12 -2 5 8 9 10 13 -2 5 8 9 10 14 -2 5 8 9 10 15 -2 5 8 9 11 12 -2 5 8 9 11 13 -2 5 8 9 11 14 -2 5 8 9 11 15 -2 5 8 9 12 13 -2 5 8 9 12 14 -2 5 8 9 12 15 -2 5 8 9 13 14 -2 5 8 9 13 15 -2 5 8 9 14 15 -2 5 8 10 11 12 -2 5 8 10 11 13 -2 5 8 10 11 14 -2 5 8 10 11 15 -2 5 8 10 12 13 -2 5 8 10 12 14 -2 5 8 10 12 15 -2 5 8 10 13 14 -2 5 8 10 13 15 -2 5 8 10 14 15 -2 5 8 11 12 13 -2 5 8 11 12 14 -2 5 8 11 12 15 -2 5 8 11 13 14 -2 5 8 11 13 15 -2 5 8 11 14 15 -2 5 8 12 13 14 -2 5 8 12 13 15 -2 5 8 12 14 15 -2 5 8 13 14 15 -2 5 9 10 11 12 -2 5 9 10 11 13 -2 5 9 10 11 14 -2 5 9 10 11 15 -2 5 9 10 12 13 -2 5 9 10 12 14 -2 5 9 10 12 15 -2 5 9 10 13 14 -2 5 9 10 13 15 -2 5 9 10 14 15 -2 5 9 11 12 13 -2 5 9 11 12 14 -2 5 9 11 12 15 -2 5 9 11 13 14 -2 5 9 11 13 15 -2 5 9 11 14 15 -2 5 9 12 13 14 -2 5 9 12 13 15 -2 5 9 12 14 15 -2 5 9 13 14 15 -2 5 10 11 12 13 -2 5 10 11 12 14 -2 5 10 11 12 15 -2 5 10 11 13 14 -2 5 10 11 13 15 -2 5 10 11 14 15 -2 5 10 12 13 14 -2 5 10 12 13 15 -2 5 10 12 14 15 -2 5 10 13 14 15 -2 5 11 12 13 14 -2 5 11 12 13 15 -2 5 11 12 14 15 -2 5 11 13 14 15 -2 5 12 13 14 15 -2 6 7 8 9 10 -2 6 7 8 9 11 -2 6 7 8 9 12 -2 6 7 8 9 13 -2 6 7 8 9 14 -2 6 7 8 9 15 -2 6 7 8 10 11 -2 6 7 8 10 12 -2 6 7 8 10 13 -2 6 7 8 10 14 -2 6 7 8 10 15 -2 6 7 8 11 12 -2 6 7 8 11 13 -2 6 7 8 11 14 -2 6 7 8 11 15 -2 6 7 8 12 13 -2 6 7 8 12 14 -2 6 7 8 12 15 -2 6 7 8 13 14 -2 6 7 8 13 15 -2 6 7 8 14 15 -2 6 7 9 10 11 -2 6 7 9 10 12 -2 6 7 9 10 13 -2 6 7 9 10 14 -2 6 7 9 10 15 -2 6 7 9 11 12 -2 6 7 9 11 13 -2 6 7 9 11 14 -2 6 7 9 11 15 -2 6 7 9 12 13 -2 6 7 9 12 14 -2 6 7 9 12 15 -2 6 7 9 13 14 -2 6 7 9 13 15 -2 6 7 9 14 15 -2 6 7 10 11 12 -2 6 7 10 11 13 -2 6 7 10 11 14 -2 6 7 10 11 15 -2 6 7 10 12 13 -2 6 7 10 12 14 -2 6 7 10 12 15 -2 6 7 10 13 14 -2 6 7 10 13 15 -2 6 7 10 14 15 -2 6 7 11 12 13 -2 6 7 11 12 14 -2 6 7 11 12 15 -2 6 7 11 13 14 -2 6 7 11 13 15 -2 6 7 11 14 15 -2 6 7 12 13 14 -2 6 7 12 13 15 -2 6 7 12 14 15 -2 6 7 13 14 15 -2 6 8 9 10 11 -2 6 8 9 10 12 -2 6 8 9 10 13 -2 6 8 9 10 14 -2 6 8 9 10 15 -2 6 8 9 11 12 -2 6 8 9 11 13 -2 6 8 9 11 14 -2 6 8 9 11 15 -2 6 8 9 12 13 -2 6 8 9 12 14 -2 6 8 9 12 15 -2 6 8 9 13 14 -2 6 8 9 13 15 -2 6 8 9 14 15 -2 6 8 10 11 12 -2 6 8 10 11 13 -2 6 8 10 11 14 -2 6 8 10 11 15 -2 6 8 10 12 13 -2 6 8 10 12 14 -2 6 8 10 12 15 -2 6 8 10 13 14 -2 6 8 10 13 15 -2 6 8 10 14 15 -2 6 8 11 12 13 -2 6 8 11 12 14 -2 6 8 11 12 15 -2 6 8 11 13 14 -2 6 8 11 13 15 -2 6 8 11 14 15 -2 6 8 12 13 14 -2 6 8 12 13 15 -2 6 8 12 14 15 -2 6 8 13 14 15 -2 6 9 10 11 12 -2 6 9 10 11 13 -2 6 9 10 11 14 -2 6 9 10 11 15 -2 6 9 10 12 13 -2 6 9 10 12 14 -2 6 9 10 12 15 -2 6 9 10 13 14 -2 6 9 10 13 15 -2 6 9 10 14 15 -2 6 9 11 12 13 -2 6 9 11 12 14 -2 6 9 11 12 15 -2 6 9 11 13 14 -2 6 9 11 13 15 -2 6 9 11 14 15 -2 6 9 12 13 14 -2 6 9 12 13 15 -2 6 9 12 14 15 -2 6 9 13 14 15 -2 6 10 11 12 13 -2 6 10 11 12 14 -2 6 10 11 12 15 -2 6 10 11 13 14 -2 6 10 11 13 15 -2 6 10 11 14 15 -2 6 10 12 13 14 -2 6 10 12 13 15 -2 6 10 12 14 15 -2 6 10 13 14 15 -2 6 11 12 13 14 -2 6 11 12 13 15 -2 6 11 12 14 15 -2 6 11 13 14 15 -2 6 12 13 14 15 -2 7 8 9 10 11 -2 7 8 9 10 12 -2 7 8 9 10 13 -2 7 8 9 10 14 -2 7 8 9 10 15 -2 7 8 9 11 12 -2 7 8 9 11 13 -2 7 8 9 11 14 -2 7 8 9 11 15 -2 7 8 9 12 13 -2 7 8 9 12 14 -2 7 8 9 12 15 -2 7 8 9 13 14 -2 7 8 9 13 15 -2 7 8 9 14 15 -2 7 8 10 11 12 -2 7 8 10 11 13 -2 7 8 10 11 14 -2 7 8 10 11 15 -2 7 8 10 12 13 -2 7 8 10 12 14 -2 7 8 10 12 15 -2 7 8 10 13 14 -2 7 8 10 13 15 -2 7 8 10 14 15 -2 7 8 11 12 13 -2 7 8 11 12 14 -2 7 8 11 12 15 -2 7 8 11 13 14 -2 7 8 11 13 15 -2 7 8 11 14 15 -2 7 8 12 13 14 -2 7 8 12 13 15 -2 7 8 12 14 15 -2 7 8 13 14 15 -2 7 9 10 11 12 -2 7 9 10 11 13 -2 7 9 10 11 14 -2 7 9 10 11 15 -2 7 9 10 12 13 -2 7 9 10 12 14 -2 7 9 10 12 15 -2 7 9 10 13 14 -2 7 9 10 13 15 -2 7 9 10 14 15 -2 7 9 11 12 13 -2 7 9 11 12 14 -2 7 9 11 12 15 -2 7 9 11 13 14 -2 7 9 11 13 15 -2 7 9 11 14 15 -2 7 9 12 13 14 -2 7 9 12 13 15 -2 7 9 12 14 15 -2 7 9 13 14 15 -2 7 10 11 12 13 -2 7 10 11 12 14 -2 7 10 11 12 15 -2 7 10 11 13 14 -2 7 10 11 13 15 -2 7 10 11 14 15 -2 7 10 12 13 14 -2 7 10 12 13 15 -2 7 10 12 14 15 -2 7 10 13 14 15 -2 7 11 12 13 14 -2 7 11 12 13 15 -2 7 11 12 14 15 -2 7 11 13 14 15 -2 7 12 13 14 15 -2 8 9 10 11 12 -2 8 9 10 11 13 -2 8 9 10 11 14 -2 8 9 10 11 15 -2 8 9 10 12 13 -2 8 9 10 12 14 -2 8 9 10 12 15 -2 8 9 10 13 14 -2 8 9 10 13 15 -2 8 9 10 14 15 -2 8 9 11 12 13 -2 8 9 11 12 14 -2 8 9 11 12 15 -2 8 9 11 13 14 -2 8 9 11 13 15 -2 8 9 11 14 15 -2 8 9 12 13 14 -2 8 9 12 13 15 -2 8 9 12 14 15 -2 8 9 13 14 15 -2 8 10 11 12 13 -2 8 10 11 12 14 -2 8 10 11 12 15 -2 8 10 11 13 14 -2 8 10 11 13 15 -2 8 10 11 14 15 -2 8 10 12 13 14 -2 8 10 12 13 15 -2 8 10 12 14 15 -2 8 10 13 14 15 -2 8 11 12 13 14 -2 8 11 12 13 15 -2 8 11 12 14 15 -2 8 11 13 14 15 -2 8 12 13 14 15 -2 9 10 11 12 13 -2 9 10 11 12 14 -2 9 10 11 12 15 -2 9 10 11 13 14 -2 9 10 11 13 15 -2 9 10 11 14 15 -2 9 10 12 13 14 -2 9 10 12 13 15 -2 9 10 12 14 15 -2 9 10 13 14 15 -2 9 11 12 13 14 -2 9 11 12 13 15 -2 9 11 12 14 15 -2 9 11 13 14 15 -2 9 12 13 14 15 -2 10 11 12 13 14 -2 10 11 12 13 15 -2 10 11 12 14 15 -2 10 11 13 14 15 -2 10 12 13 14 15 -2 11 12 13 14 15 -3 4 5 6 7 8 -3 4 5 6 7 9 -3 4 5 6 7 10 -3 4 5 6 7 11 -3 4 5 6 7 12 -3 4 5 6 7 13 -3 4 5 6 7 14 -3 4 5 6 7 15 -3 4 5 6 8 9 -3 4 5 6 8 10 -3 4 5 6 8 11 -3 4 5 6 8 12 -3 4 5 6 8 13 -3 4 5 6 8 14 -3 4 5 6 8 15 -3 4 5 6 9 10 -3 4 5 6 9 11 -3 4 5 6 9 12 -3 4 5 6 9 13 -3 4 5 6 9 14 -3 4 5 6 9 15 -3 4 5 6 10 11 -3 4 5 6 10 12 -3 4 5 6 10 13 -3 4 5 6 10 14 -3 4 5 6 10 15 -3 4 5 6 11 12 -3 4 5 6 11 13 -3 4 5 6 11 14 -3 4 5 6 11 15 -3 4 5 6 12 13 -3 4 5 6 12 14 -3 4 5 6 12 15 -3 4 5 6 13 14 -3 4 5 6 13 15 -3 4 5 6 14 15 -3 4 5 7 8 9 -3 4 5 7 8 10 -3 4 5 7 8 11 -3 4 5 7 8 12 -3 4 5 7 8 13 -3 4 5 7 8 14 -3 4 5 7 8 15 -3 4 5 7 9 10 -3 4 5 7 9 11 -3 4 5 7 9 12 -3 4 5 7 9 13 -3 4 5 7 9 14 -3 4 5 7 9 15 -3 4 5 7 10 11 -3 4 5 7 10 12 -3 4 5 7 10 13 -3 4 5 7 10 14 -3 4 5 7 10 15 -3 4 5 7 11 12 -3 4 5 7 11 13 -3 4 5 7 11 14 -3 4 5 7 11 15 -3 4 5 7 12 13 -3 4 5 7 12 14 -3 4 5 7 12 15 -3 4 5 7 13 14 -3 4 5 7 13 15 -3 4 5 7 14 15 -3 4 5 8 9 10 -3 4 5 8 9 11 -3 4 5 8 9 12 -3 4 5 8 9 13 -3 4 5 8 9 14 -3 4 5 8 9 15 -3 4 5 8 10 11 -3 4 5 8 10 12 -3 4 5 8 10 13 -3 4 5 8 10 14 -3 4 5 8 10 15 -3 4 5 8 11 12 -3 4 5 8 11 13 -3 4 5 8 11 14 -3 4 5 8 11 15 -3 4 5 8 12 13 -3 4 5 8 12 14 -3 4 5 8 12 15 -3 4 5 8 13 14 -3 4 5 8 13 15 -3 4 5 8 14 15 -3 4 5 9 10 11 -3 4 5 9 10 12 -3 4 5 9 10 13 -3 4 5 9 10 14 -3 4 5 9 10 15 -3 4 5 9 11 12 -3 4 5 9 11 13 -3 4 5 9 11 14 -3 4 5 9 11 15 -3 4 5 9 12 13 -3 4 5 9 12 14 -3 4 5 9 12 15 -3 4 5 9 13 14 -3 4 5 9 13 15 -3 4 5 9 14 15 -3 4 5 10 11 12 -3 4 5 10 11 13 -3 4 5 10 11 14 -3 4 5 10 11 15 -3 4 5 10 12 13 -3 4 5 10 12 14 -3 4 5 10 12 15 -3 4 5 10 13 14 -3 4 5 10 13 15 -3 4 5 10 14 15 -3 4 5 11 12 13 -3 4 5 11 12 14 -3 4 5 11 12 15 -3 4 5 11 13 14 -3 4 5 11 13 15 -3 4 5 11 14 15 -3 4 5 12 13 14 -3 4 5 12 13 15 -3 4 5 12 14 15 -3 4 5 13 14 15 -3 4 6 7 8 9 -3 4 6 7 8 10 -3 4 6 7 8 11 -3 4 6 7 8 12 -3 4 6 7 8 13 -3 4 6 7 8 14 -3 4 6 7 8 15 -3 4 6 7 9 10 -3 4 6 7 9 11 -3 4 6 7 9 12 -3 4 6 7 9 13 -3 4 6 7 9 14 -3 4 6 7 9 15 -3 4 6 7 10 11 -3 4 6 7 10 12 -3 4 6 7 10 13 -3 4 6 7 10 14 -3 4 6 7 10 15 -3 4 6 7 11 12 -3 4 6 7 11 13 -3 4 6 7 11 14 -3 4 6 7 11 15 -3 4 6 7 12 13 -3 4 6 7 12 14 -3 4 6 7 12 15 -3 4 6 7 13 14 -3 4 6 7 13 15 -3 4 6 7 14 15 -3 4 6 8 9 10 -3 4 6 8 9 11 -3 4 6 8 9 12 -3 4 6 8 9 13 -3 4 6 8 9 14 -3 4 6 8 9 15 -3 4 6 8 10 11 -3 4 6 8 10 12 -3 4 6 8 10 13 -3 4 6 8 10 14 -3 4 6 8 10 15 -3 4 6 8 11 12 -3 4 6 8 11 13 -3 4 6 8 11 14 -3 4 6 8 11 15 -3 4 6 8 12 13 -3 4 6 8 12 14 -3 4 6 8 12 15 -3 4 6 8 13 14 -3 4 6 8 13 15 -3 4 6 8 14 15 -3 4 6 9 10 11 -3 4 6 9 10 12 -3 4 6 9 10 13 -3 4 6 9 10 14 -3 4 6 9 10 15 -3 4 6 9 11 12 -3 4 6 9 11 13 -3 4 6 9 11 14 -3 4 6 9 11 15 -3 4 6 9 12 13 -3 4 6 9 12 14 -3 4 6 9 12 15 -3 4 6 9 13 14 -3 4 6 9 13 15 -3 4 6 9 14 15 -3 4 6 10 11 12 -3 4 6 10 11 13 -3 4 6 10 11 14 -3 4 6 10 11 15 -3 4 6 10 12 13 -3 4 6 10 12 14 -3 4 6 10 12 15 -3 4 6 10 13 14 -3 4 6 10 13 15 -3 4 6 10 14 15 -3 4 6 11 12 13 -3 4 6 11 12 14 -3 4 6 11 12 15 -3 4 6 11 13 14 -3 4 6 11 13 15 -3 4 6 11 14 15 -3 4 6 12 13 14 -3 4 6 12 13 15 -3 4 6 12 14 15 -3 4 6 13 14 15 -3 4 7 8 9 10 -3 4 7 8 9 11 -3 4 7 8 9 12 -3 4 7 8 9 13 -3 4 7 8 9 14 -3 4 7 8 9 15 -3 4 7 8 10 11 -3 4 7 8 10 12 -3 4 7 8 10 13 -3 4 7 8 10 14 -3 4 7 8 10 15 -3 4 7 8 11 12 -3 4 7 8 11 13 -3 4 7 8 11 14 -3 4 7 8 11 15 -3 4 7 8 12 13 -3 4 7 8 12 14 -3 4 7 8 12 15 -3 4 7 8 13 14 -3 4 7 8 13 15 -3 4 7 8 14 15 -3 4 7 9 10 11 -3 4 7 9 10 12 -3 4 7 9 10 13 -3 4 7 9 10 14 -3 4 7 9 10 15 -3 4 7 9 11 12 -3 4 7 9 11 13 -3 4 7 9 11 14 -3 4 7 9 11 15 -3 4 7 9 12 13 -3 4 7 9 12 14 -3 4 7 9 12 15 -3 4 7 9 13 14 -3 4 7 9 13 15 -3 4 7 9 14 15 -3 4 7 10 11 12 -3 4 7 10 11 13 -3 4 7 10 11 14 -3 4 7 10 11 15 -3 4 7 10 12 13 -3 4 7 10 12 14 -3 4 7 10 12 15 -3 4 7 10 13 14 -3 4 7 10 13 15 -3 4 7 10 14 15 -3 4 7 11 12 13 -3 4 7 11 12 14 -3 4 7 11 12 15 -3 4 7 11 13 14 -3 4 7 11 13 15 -3 4 7 11 14 15 -3 4 7 12 13 14 -3 4 7 12 13 15 -3 4 7 12 14 15 -3 4 7 13 14 15 -3 4 8 9 10 11 -3 4 8 9 10 12 -3 4 8 9 10 13 -3 4 8 9 10 14 -3 4 8 9 10 15 -3 4 8 9 11 12 -3 4 8 9 11 13 -3 4 8 9 11 14 -3 4 8 9 11 15 -3 4 8 9 12 13 -3 4 8 9 12 14 -3 4 8 9 12 15 -3 4 8 9 13 14 -3 4 8 9 13 15 -3 4 8 9 14 15 -3 4 8 10 11 12 -3 4 8 10 11 13 -3 4 8 10 11 14 -3 4 8 10 11 15 -3 4 8 10 12 13 -3 4 8 10 12 14 -3 4 8 10 12 15 -3 4 8 10 13 14 -3 4 8 10 13 15 -3 4 8 10 14 15 -3 4 8 11 12 13 -3 4 8 11 12 14 -3 4 8 11 12 15 -3 4 8 11 13 14 -3 4 8 11 13 15 -3 4 8 11 14 15 -3 4 8 12 13 14 -3 4 8 12 13 15 -3 4 8 12 14 15 -3 4 8 13 14 15 -3 4 9 10 11 12 -3 4 9 10 11 13 -3 4 9 10 11 14 -3 4 9 10 11 15 -3 4 9 10 12 13 -3 4 9 10 12 14 -3 4 9 10 12 15 -3 4 9 10 13 14 -3 4 9 10 13 15 -3 4 9 10 14 15 -3 4 9 11 12 13 -3 4 9 11 12 14 -3 4 9 11 12 15 -3 4 9 11 13 14 -3 4 9 11 13 15 -3 4 9 11 14 15 -3 4 9 12 13 14 -3 4 9 12 13 15 -3 4 9 12 14 15 -3 4 9 13 14 15 -3 4 10 11 12 13 -3 4 10 11 12 14 -3 4 10 11 12 15 -3 4 10 11 13 14 -3 4 10 11 13 15 -3 4 10 11 14 15 -3 4 10 12 13 14 -3 4 10 12 13 15 -3 4 10 12 14 15 -3 4 10 13 14 15 -3 4 11 12 13 14 -3 4 11 12 13 15 -3 4 11 12 14 15 -3 4 11 13 14 15 -3 4 12 13 14 15 -3 5 6 7 8 9 -3 5 6 7 8 10 -3 5 6 7 8 11 -3 5 6 7 8 12 -3 5 6 7 8 13 -3 5 6 7 8 14 -3 5 6 7 8 15 -3 5 6 7 9 10 -3 5 6 7 9 11 -3 5 6 7 9 12 -3 5 6 7 9 13 -3 5 6 7 9 14 -3 5 6 7 9 15 -3 5 6 7 10 11 -3 5 6 7 10 12 -3 5 6 7 10 13 -3 5 6 7 10 14 -3 5 6 7 10 15 -3 5 6 7 11 12 -3 5 6 7 11 13 -3 5 6 7 11 14 -3 5 6 7 11 15 -3 5 6 7 12 13 -3 5 6 7 12 14 -3 5 6 7 12 15 -3 5 6 7 13 14 -3 5 6 7 13 15 -3 5 6 7 14 15 -3 5 6 8 9 10 -3 5 6 8 9 11 -3 5 6 8 9 12 -3 5 6 8 9 13 -3 5 6 8 9 14 -3 5 6 8 9 15 -3 5 6 8 10 11 -3 5 6 8 10 12 -3 5 6 8 10 13 -3 5 6 8 10 14 -3 5 6 8 10 15 -3 5 6 8 11 12 -3 5 6 8 11 13 -3 5 6 8 11 14 -3 5 6 8 11 15 -3 5 6 8 12 13 -3 5 6 8 12 14 -3 5 6 8 12 15 -3 5 6 8 13 14 -3 5 6 8 13 15 -3 5 6 8 14 15 -3 5 6 9 10 11 -3 5 6 9 10 12 -3 5 6 9 10 13 -3 5 6 9 10 14 -3 5 6 9 10 15 -3 5 6 9 11 12 -3 5 6 9 11 13 -3 5 6 9 11 14 -3 5 6 9 11 15 -3 5 6 9 12 13 -3 5 6 9 12 14 -3 5 6 9 12 15 -3 5 6 9 13 14 -3 5 6 9 13 15 -3 5 6 9 14 15 -3 5 6 10 11 12 -3 5 6 10 11 13 -3 5 6 10 11 14 -3 5 6 10 11 15 -3 5 6 10 12 13 -3 5 6 10 12 14 -3 5 6 10 12 15 -3 5 6 10 13 14 -3 5 6 10 13 15 -3 5 6 10 14 15 -3 5 6 11 12 13 -3 5 6 11 12 14 -3 5 6 11 12 15 -3 5 6 11 13 14 -3 5 6 11 13 15 -3 5 6 11 14 15 -3 5 6 12 13 14 -3 5 6 12 13 15 -3 5 6 12 14 15 -3 5 6 13 14 15 -3 5 7 8 9 10 -3 5 7 8 9 11 -3 5 7 8 9 12 -3 5 7 8 9 13 -3 5 7 8 9 14 -3 5 7 8 9 15 -3 5 7 8 10 11 -3 5 7 8 10 12 -3 5 7 8 10 13 -3 5 7 8 10 14 -3 5 7 8 10 15 -3 5 7 8 11 12 -3 5 7 8 11 13 -3 5 7 8 11 14 -3 5 7 8 11 15 -3 5 7 8 12 13 -3 5 7 8 12 14 -3 5 7 8 12 15 -3 5 7 8 13 14 -3 5 7 8 13 15 -3 5 7 8 14 15 -3 5 7 9 10 11 -3 5 7 9 10 12 -3 5 7 9 10 13 -3 5 7 9 10 14 -3 5 7 9 10 15 -3 5 7 9 11 12 -3 5 7 9 11 13 -3 5 7 9 11 14 -3 5 7 9 11 15 -3 5 7 9 12 13 -3 5 7 9 12 14 -3 5 7 9 12 15 -3 5 7 9 13 14 -3 5 7 9 13 15 -3 5 7 9 14 15 -3 5 7 10 11 12 -3 5 7 10 11 13 -3 5 7 10 11 14 -3 5 7 10 11 15 -3 5 7 10 12 13 -3 5 7 10 12 14 -3 5 7 10 12 15 -3 5 7 10 13 14 -3 5 7 10 13 15 -3 5 7 10 14 15 -3 5 7 11 12 13 -3 5 7 11 12 14 -3 5 7 11 12 15 -3 5 7 11 13 14 -3 5 7 11 13 15 -3 5 7 11 14 15 -3 5 7 12 13 14 -3 5 7 12 13 15 -3 5 7 12 14 15 -3 5 7 13 14 15 -3 5 8 9 10 11 -3 5 8 9 10 12 -3 5 8 9 10 13 -3 5 8 9 10 14 -3 5 8 9 10 15 -3 5 8 9 11 12 -3 5 8 9 11 13 -3 5 8 9 11 14 -3 5 8 9 11 15 -3 5 8 9 12 13 -3 5 8 9 12 14 -3 5 8 9 12 15 -3 5 8 9 13 14 -3 5 8 9 13 15 -3 5 8 9 14 15 -3 5 8 10 11 12 -3 5 8 10 11 13 -3 5 8 10 11 14 -3 5 8 10 11 15 -3 5 8 10 12 13 -3 5 8 10 12 14 -3 5 8 10 12 15 -3 5 8 10 13 14 -3 5 8 10 13 15 -3 5 8 10 14 15 -3 5 8 11 12 13 -3 5 8 11 12 14 -3 5 8 11 12 15 -3 5 8 11 13 14 -3 5 8 11 13 15 -3 5 8 11 14 15 -3 5 8 12 13 14 -3 5 8 12 13 15 -3 5 8 12 14 15 -3 5 8 13 14 15 -3 5 9 10 11 12 -3 5 9 10 11 13 -3 5 9 10 11 14 -3 5 9 10 11 15 -3 5 9 10 12 13 -3 5 9 10 12 14 -3 5 9 10 12 15 -3 5 9 10 13 14 -3 5 9 10 13 15 -3 5 9 10 14 15 -3 5 9 11 12 13 -3 5 9 11 12 14 -3 5 9 11 12 15 -3 5 9 11 13 14 -3 5 9 11 13 15 -3 5 9 11 14 15 -3 5 9 12 13 14 -3 5 9 12 13 15 -3 5 9 12 14 15 -3 5 9 13 14 15 -3 5 10 11 12 13 -3 5 10 11 12 14 -3 5 10 11 12 15 -3 5 10 11 13 14 -3 5 10 11 13 15 -3 5 10 11 14 15 -3 5 10 12 13 14 -3 5 10 12 13 15 -3 5 10 12 14 15 -3 5 10 13 14 15 -3 5 11 12 13 14 -3 5 11 12 13 15 -3 5 11 12 14 15 -3 5 11 13 14 15 -3 5 12 13 14 15 -3 6 7 8 9 10 -3 6 7 8 9 11 -3 6 7 8 9 12 -3 6 7 8 9 13 -3 6 7 8 9 14 -3 6 7 8 9 15 -3 6 7 8 10 11 -3 6 7 8 10 12 -3 6 7 8 10 13 -3 6 7 8 10 14 -3 6 7 8 10 15 -3 6 7 8 11 12 -3 6 7 8 11 13 -3 6 7 8 11 14 -3 6 7 8 11 15 -3 6 7 8 12 13 -3 6 7 8 12 14 -3 6 7 8 12 15 -3 6 7 8 13 14 -3 6 7 8 13 15 -3 6 7 8 14 15 -3 6 7 9 10 11 -3 6 7 9 10 12 -3 6 7 9 10 13 -3 6 7 9 10 14 -3 6 7 9 10 15 -3 6 7 9 11 12 -3 6 7 9 11 13 -3 6 7 9 11 14 -3 6 7 9 11 15 -3 6 7 9 12 13 -3 6 7 9 12 14 -3 6 7 9 12 15 -3 6 7 9 13 14 -3 6 7 9 13 15 -3 6 7 9 14 15 -3 6 7 10 11 12 -3 6 7 10 11 13 -3 6 7 10 11 14 -3 6 7 10 11 15 -3 6 7 10 12 13 -3 6 7 10 12 14 -3 6 7 10 12 15 -3 6 7 10 13 14 -3 6 7 10 13 15 -3 6 7 10 14 15 -3 6 7 11 12 13 -3 6 7 11 12 14 -3 6 7 11 12 15 -3 6 7 11 13 14 -3 6 7 11 13 15 -3 6 7 11 14 15 -3 6 7 12 13 14 -3 6 7 12 13 15 -3 6 7 12 14 15 -3 6 7 13 14 15 -3 6 8 9 10 11 -3 6 8 9 10 12 -3 6 8 9 10 13 -3 6 8 9 10 14 -3 6 8 9 10 15 -3 6 8 9 11 12 -3 6 8 9 11 13 -3 6 8 9 11 14 -3 6 8 9 11 15 -3 6 8 9 12 13 -3 6 8 9 12 14 -3 6 8 9 12 15 -3 6 8 9 13 14 -3 6 8 9 13 15 -3 6 8 9 14 15 -3 6 8 10 11 12 -3 6 8 10 11 13 -3 6 8 10 11 14 -3 6 8 10 11 15 -3 6 8 10 12 13 -3 6 8 10 12 14 -3 6 8 10 12 15 -3 6 8 10 13 14 -3 6 8 10 13 15 -3 6 8 10 14 15 -3 6 8 11 12 13 -3 6 8 11 12 14 -3 6 8 11 12 15 -3 6 8 11 13 14 -3 6 8 11 13 15 -3 6 8 11 14 15 -3 6 8 12 13 14 -3 6 8 12 13 15 -3 6 8 12 14 15 -3 6 8 13 14 15 -3 6 9 10 11 12 -3 6 9 10 11 13 -3 6 9 10 11 14 -3 6 9 10 11 15 -3 6 9 10 12 13 -3 6 9 10 12 14 -3 6 9 10 12 15 -3 6 9 10 13 14 -3 6 9 10 13 15 -3 6 9 10 14 15 -3 6 9 11 12 13 -3 6 9 11 12 14 -3 6 9 11 12 15 -3 6 9 11 13 14 -3 6 9 11 13 15 -3 6 9 11 14 15 -3 6 9 12 13 14 -3 6 9 12 13 15 -3 6 9 12 14 15 -3 6 9 13 14 15 -3 6 10 11 12 13 -3 6 10 11 12 14 -3 6 10 11 12 15 -3 6 10 11 13 14 -3 6 10 11 13 15 -3 6 10 11 14 15 -3 6 10 12 13 14 -3 6 10 12 13 15 -3 6 10 12 14 15 -3 6 10 13 14 15 -3 6 11 12 13 14 -3 6 11 12 13 15 -3 6 11 12 14 15 -3 6 11 13 14 15 -3 6 12 13 14 15 -3 7 8 9 10 11 -3 7 8 9 10 12 -3 7 8 9 10 13 -3 7 8 9 10 14 -3 7 8 9 10 15 -3 7 8 9 11 12 -3 7 8 9 11 13 -3 7 8 9 11 14 -3 7 8 9 11 15 -3 7 8 9 12 13 -3 7 8 9 12 14 -3 7 8 9 12 15 -3 7 8 9 13 14 -3 7 8 9 13 15 -3 7 8 9 14 15 -3 7 8 10 11 12 -3 7 8 10 11 13 -3 7 8 10 11 14 -3 7 8 10 11 15 -3 7 8 10 12 13 -3 7 8 10 12 14 -3 7 8 10 12 15 -3 7 8 10 13 14 -3 7 8 10 13 15 -3 7 8 10 14 15 -3 7 8 11 12 13 -3 7 8 11 12 14 -3 7 8 11 12 15 -3 7 8 11 13 14 -3 7 8 11 13 15 -3 7 8 11 14 15 -3 7 8 12 13 14 -3 7 8 12 13 15 -3 7 8 12 14 15 -3 7 8 13 14 15 -3 7 9 10 11 12 -3 7 9 10 11 13 -3 7 9 10 11 14 -3 7 9 10 11 15 -3 7 9 10 12 13 -3 7 9 10 12 14 -3 7 9 10 12 15 -3 7 9 10 13 14 -3 7 9 10 13 15 -3 7 9 10 14 15 -3 7 9 11 12 13 -3 7 9 11 12 14 -3 7 9 11 12 15 -3 7 9 11 13 14 -3 7 9 11 13 15 -3 7 9 11 14 15 -3 7 9 12 13 14 -3 7 9 12 13 15 -3 7 9 12 14 15 -3 7 9 13 14 15 -3 7 10 11 12 13 -3 7 10 11 12 14 -3 7 10 11 12 15 -3 7 10 11 13 14 -3 7 10 11 13 15 -3 7 10 11 14 15 -3 7 10 12 13 14 -3 7 10 12 13 15 -3 7 10 12 14 15 -3 7 10 13 14 15 -3 7 11 12 13 14 -3 7 11 12 13 15 -3 7 11 12 14 15 -3 7 11 13 14 15 -3 7 12 13 14 15 -3 8 9 10 11 12 -3 8 9 10 11 13 -3 8 9 10 11 14 -3 8 9 10 11 15 -3 8 9 10 12 13 -3 8 9 10 12 14 -3 8 9 10 12 15 -3 8 9 10 13 14 -3 8 9 10 13 15 -3 8 9 10 14 15 -3 8 9 11 12 13 -3 8 9 11 12 14 -3 8 9 11 12 15 -3 8 9 11 13 14 -3 8 9 11 13 15 -3 8 9 11 14 15 -3 8 9 12 13 14 -3 8 9 12 13 15 -3 8 9 12 14 15 -3 8 9 13 14 15 -3 8 10 11 12 13 -3 8 10 11 12 14 -3 8 10 11 12 15 -3 8 10 11 13 14 -3 8 10 11 13 15 -3 8 10 11 14 15 -3 8 10 12 13 14 -3 8 10 12 13 15 -3 8 10 12 14 15 -3 8 10 13 14 15 -3 8 11 12 13 14 -3 8 11 12 13 15 -3 8 11 12 14 15 -3 8 11 13 14 15 -3 8 12 13 14 15 -3 9 10 11 12 13 -3 9 10 11 12 14 -3 9 10 11 12 15 -3 9 10 11 13 14 -3 9 10 11 13 15 -3 9 10 11 14 15 -3 9 10 12 13 14 -3 9 10 12 13 15 -3 9 10 12 14 15 -3 9 10 13 14 15 -3 9 11 12 13 14 -3 9 11 12 13 15 -3 9 11 12 14 15 -3 9 11 13 14 15 -3 9 12 13 14 15 -3 10 11 12 13 14 -3 10 11 12 13 15 -3 10 11 12 14 15 -3 10 11 13 14 15 -3 10 12 13 14 15 -3 11 12 13 14 15 -4 5 6 7 8 9 -4 5 6 7 8 10 -4 5 6 7 8 11 -4 5 6 7 8 12 -4 5 6 7 8 13 -4 5 6 7 8 14 -4 5 6 7 8 15 -4 5 6 7 9 10 -4 5 6 7 9 11 -4 5 6 7 9 12 -4 5 6 7 9 13 -4 5 6 7 9 14 -4 5 6 7 9 15 -4 5 6 7 10 11 -4 5 6 7 10 12 -4 5 6 7 10 13 -4 5 6 7 10 14 -4 5 6 7 10 15 -4 5 6 7 11 12 -4 5 6 7 11 13 -4 5 6 7 11 14 -4 5 6 7 11 15 -4 5 6 7 12 13 -4 5 6 7 12 14 -4 5 6 7 12 15 -4 5 6 7 13 14 -4 5 6 7 13 15 -4 5 6 7 14 15 -4 5 6 8 9 10 -4 5 6 8 9 11 -4 5 6 8 9 12 -4 5 6 8 9 13 -4 5 6 8 9 14 -4 5 6 8 9 15 -4 5 6 8 10 11 -4 5 6 8 10 12 -4 5 6 8 10 13 -4 5 6 8 10 14 -4 5 6 8 10 15 -4 5 6 8 11 12 -4 5 6 8 11 13 -4 5 6 8 11 14 -4 5 6 8 11 15 -4 5 6 8 12 13 -4 5 6 8 12 14 -4 5 6 8 12 15 -4 5 6 8 13 14 -4 5 6 8 13 15 -4 5 6 8 14 15 -4 5 6 9 10 11 -4 5 6 9 10 12 -4 5 6 9 10 13 -4 5 6 9 10 14 -4 5 6 9 10 15 -4 5 6 9 11 12 -4 5 6 9 11 13 -4 5 6 9 11 14 -4 5 6 9 11 15 -4 5 6 9 12 13 -4 5 6 9 12 14 -4 5 6 9 12 15 -4 5 6 9 13 14 -4 5 6 9 13 15 -4 5 6 9 14 15 -4 5 6 10 11 12 -4 5 6 10 11 13 -4 5 6 10 11 14 -4 5 6 10 11 15 -4 5 6 10 12 13 -4 5 6 10 12 14 -4 5 6 10 12 15 -4 5 6 10 13 14 -4 5 6 10 13 15 -4 5 6 10 14 15 -4 5 6 11 12 13 -4 5 6 11 12 14 -4 5 6 11 12 15 -4 5 6 11 13 14 -4 5 6 11 13 15 -4 5 6 11 14 15 -4 5 6 12 13 14 -4 5 6 12 13 15 -4 5 6 12 14 15 -4 5 6 13 14 15 -4 5 7 8 9 10 -4 5 7 8 9 11 -4 5 7 8 9 12 -4 5 7 8 9 13 -4 5 7 8 9 14 -4 5 7 8 9 15 -4 5 7 8 10 11 -4 5 7 8 10 12 -4 5 7 8 10 13 -4 5 7 8 10 14 -4 5 7 8 10 15 -4 5 7 8 11 12 -4 5 7 8 11 13 -4 5 7 8 11 14 -4 5 7 8 11 15 -4 5 7 8 12 13 -4 5 7 8 12 14 -4 5 7 8 12 15 -4 5 7 8 13 14 -4 5 7 8 13 15 -4 5 7 8 14 15 -4 5 7 9 10 11 -4 5 7 9 10 12 -4 5 7 9 10 13 -4 5 7 9 10 14 -4 5 7 9 10 15 -4 5 7 9 11 12 -4 5 7 9 11 13 -4 5 7 9 11 14 -4 5 7 9 11 15 -4 5 7 9 12 13 -4 5 7 9 12 14 -4 5 7 9 12 15 -4 5 7 9 13 14 -4 5 7 9 13 15 -4 5 7 9 14 15 -4 5 7 10 11 12 -4 5 7 10 11 13 -4 5 7 10 11 14 -4 5 7 10 11 15 -4 5 7 10 12 13 -4 5 7 10 12 14 -4 5 7 10 12 15 -4 5 7 10 13 14 -4 5 7 10 13 15 -4 5 7 10 14 15 -4 5 7 11 12 13 -4 5 7 11 12 14 -4 5 7 11 12 15 -4 5 7 11 13 14 -4 5 7 11 13 15 -4 5 7 11 14 15 -4 5 7 12 13 14 -4 5 7 12 13 15 -4 5 7 12 14 15 -4 5 7 13 14 15 -4 5 8 9 10 11 -4 5 8 9 10 12 -4 5 8 9 10 13 -4 5 8 9 10 14 -4 5 8 9 10 15 -4 5 8 9 11 12 -4 5 8 9 11 13 -4 5 8 9 11 14 -4 5 8 9 11 15 -4 5 8 9 12 13 -4 5 8 9 12 14 -4 5 8 9 12 15 -4 5 8 9 13 14 -4 5 8 9 13 15 -4 5 8 9 14 15 -4 5 8 10 11 12 -4 5 8 10 11 13 -4 5 8 10 11 14 -4 5 8 10 11 15 -4 5 8 10 12 13 -4 5 8 10 12 14 -4 5 8 10 12 15 -4 5 8 10 13 14 -4 5 8 10 13 15 -4 5 8 10 14 15 -4 5 8 11 12 13 -4 5 8 11 12 14 -4 5 8 11 12 15 -4 5 8 11 13 14 -4 5 8 11 13 15 -4 5 8 11 14 15 -4 5 8 12 13 14 -4 5 8 12 13 15 -4 5 8 12 14 15 -4 5 8 13 14 15 -4 5 9 10 11 12 -4 5 9 10 11 13 -4 5 9 10 11 14 -4 5 9 10 11 15 -4 5 9 10 12 13 -4 5 9 10 12 14 -4 5 9 10 12 15 -4 5 9 10 13 14 -4 5 9 10 13 15 -4 5 9 10 14 15 -4 5 9 11 12 13 -4 5 9 11 12 14 -4 5 9 11 12 15 -4 5 9 11 13 14 -4 5 9 11 13 15 -4 5 9 11 14 15 -4 5 9 12 13 14 -4 5 9 12 13 15 -4 5 9 12 14 15 -4 5 9 13 14 15 -4 5 10 11 12 13 -4 5 10 11 12 14 -4 5 10 11 12 15 -4 5 10 11 13 14 -4 5 10 11 13 15 -4 5 10 11 14 15 -4 5 10 12 13 14 -4 5 10 12 13 15 -4 5 10 12 14 15 -4 5 10 13 14 15 -4 5 11 12 13 14 -4 5 11 12 13 15 -4 5 11 12 14 15 -4 5 11 13 14 15 -4 5 12 13 14 15 -4 6 7 8 9 10 -4 6 7 8 9 11 -4 6 7 8 9 12 -4 6 7 8 9 13 -4 6 7 8 9 14 -4 6 7 8 9 15 -4 6 7 8 10 11 -4 6 7 8 10 12 -4 6 7 8 10 13 -4 6 7 8 10 14 -4 6 7 8 10 15 -4 6 7 8 11 12 -4 6 7 8 11 13 -4 6 7 8 11 14 -4 6 7 8 11 15 -4 6 7 8 12 13 -4 6 7 8 12 14 -4 6 7 8 12 15 -4 6 7 8 13 14 -4 6 7 8 13 15 -4 6 7 8 14 15 -4 6 7 9 10 11 -4 6 7 9 10 12 -4 6 7 9 10 13 -4 6 7 9 10 14 -4 6 7 9 10 15 -4 6 7 9 11 12 -4 6 7 9 11 13 -4 6 7 9 11 14 -4 6 7 9 11 15 -4 6 7 9 12 13 -4 6 7 9 12 14 -4 6 7 9 12 15 -4 6 7 9 13 14 -4 6 7 9 13 15 -4 6 7 9 14 15 -4 6 7 10 11 12 -4 6 7 10 11 13 -4 6 7 10 11 14 -4 6 7 10 11 15 -4 6 7 10 12 13 -4 6 7 10 12 14 -4 6 7 10 12 15 -4 6 7 10 13 14 -4 6 7 10 13 15 -4 6 7 10 14 15 -4 6 7 11 12 13 -4 6 7 11 12 14 -4 6 7 11 12 15 -4 6 7 11 13 14 -4 6 7 11 13 15 -4 6 7 11 14 15 -4 6 7 12 13 14 -4 6 7 12 13 15 -4 6 7 12 14 15 -4 6 7 13 14 15 -4 6 8 9 10 11 -4 6 8 9 10 12 -4 6 8 9 10 13 -4 6 8 9 10 14 -4 6 8 9 10 15 -4 6 8 9 11 12 -4 6 8 9 11 13 -4 6 8 9 11 14 -4 6 8 9 11 15 -4 6 8 9 12 13 -4 6 8 9 12 14 -4 6 8 9 12 15 -4 6 8 9 13 14 -4 6 8 9 13 15 -4 6 8 9 14 15 -4 6 8 10 11 12 -4 6 8 10 11 13 -4 6 8 10 11 14 -4 6 8 10 11 15 -4 6 8 10 12 13 -4 6 8 10 12 14 -4 6 8 10 12 15 -4 6 8 10 13 14 -4 6 8 10 13 15 -4 6 8 10 14 15 -4 6 8 11 12 13 -4 6 8 11 12 14 -4 6 8 11 12 15 -4 6 8 11 13 14 -4 6 8 11 13 15 -4 6 8 11 14 15 -4 6 8 12 13 14 -4 6 8 12 13 15 -4 6 8 12 14 15 -4 6 8 13 14 15 -4 6 9 10 11 12 -4 6 9 10 11 13 -4 6 9 10 11 14 -4 6 9 10 11 15 -4 6 9 10 12 13 -4 6 9 10 12 14 -4 6 9 10 12 15 -4 6 9 10 13 14 -4 6 9 10 13 15 -4 6 9 10 14 15 -4 6 9 11 12 13 -4 6 9 11 12 14 -4 6 9 11 12 15 -4 6 9 11 13 14 -4 6 9 11 13 15 -4 6 9 11 14 15 -4 6 9 12 13 14 -4 6 9 12 13 15 -4 6 9 12 14 15 -4 6 9 13 14 15 -4 6 10 11 12 13 -4 6 10 11 12 14 -4 6 10 11 12 15 -4 6 10 11 13 14 -4 6 10 11 13 15 -4 6 10 11 14 15 -4 6 10 12 13 14 -4 6 10 12 13 15 -4 6 10 12 14 15 -4 6 10 13 14 15 -4 6 11 12 13 14 -4 6 11 12 13 15 -4 6 11 12 14 15 -4 6 11 13 14 15 -4 6 12 13 14 15 -4 7 8 9 10 11 -4 7 8 9 10 12 -4 7 8 9 10 13 -4 7 8 9 10 14 -4 7 8 9 10 15 -4 7 8 9 11 12 -4 7 8 9 11 13 -4 7 8 9 11 14 -4 7 8 9 11 15 -4 7 8 9 12 13 -4 7 8 9 12 14 -4 7 8 9 12 15 -4 7 8 9 13 14 -4 7 8 9 13 15 -4 7 8 9 14 15 -4 7 8 10 11 12 -4 7 8 10 11 13 -4 7 8 10 11 14 -4 7 8 10 11 15 -4 7 8 10 12 13 -4 7 8 10 12 14 -4 7 8 10 12 15 -4 7 8 10 13 14 -4 7 8 10 13 15 -4 7 8 10 14 15 -4 7 8 11 12 13 -4 7 8 11 12 14 -4 7 8 11 12 15 -4 7 8 11 13 14 -4 7 8 11 13 15 -4 7 8 11 14 15 -4 7 8 12 13 14 -4 7 8 12 13 15 -4 7 8 12 14 15 -4 7 8 13 14 15 -4 7 9 10 11 12 -4 7 9 10 11 13 -4 7 9 10 11 14 -4 7 9 10 11 15 -4 7 9 10 12 13 -4 7 9 10 12 14 -4 7 9 10 12 15 -4 7 9 10 13 14 -4 7 9 10 13 15 -4 7 9 10 14 15 -4 7 9 11 12 13 -4 7 9 11 12 14 -4 7 9 11 12 15 -4 7 9 11 13 14 -4 7 9 11 13 15 -4 7 9 11 14 15 -4 7 9 12 13 14 -4 7 9 12 13 15 -4 7 9 12 14 15 -4 7 9 13 14 15 -4 7 10 11 12 13 -4 7 10 11 12 14 -4 7 10 11 12 15 -4 7 10 11 13 14 -4 7 10 11 13 15 -4 7 10 11 14 15 -4 7 10 12 13 14 -4 7 10 12 13 15 -4 7 10 12 14 15 -4 7 10 13 14 15 -4 7 11 12 13 14 -4 7 11 12 13 15 -4 7 11 12 14 15 -4 7 11 13 14 15 -4 7 12 13 14 15 -4 8 9 10 11 12 -4 8 9 10 11 13 -4 8 9 10 11 14 -4 8 9 10 11 15 -4 8 9 10 12 13 -4 8 9 10 12 14 -4 8 9 10 12 15 -4 8 9 10 13 14 -4 8 9 10 13 15 -4 8 9 10 14 15 -4 8 9 11 12 13 -4 8 9 11 12 14 -4 8 9 11 12 15 -4 8 9 11 13 14 -4 8 9 11 13 15 -4 8 9 11 14 15 -4 8 9 12 13 14 -4 8 9 12 13 15 -4 8 9 12 14 15 -4 8 9 13 14 15 -4 8 10 11 12 13 -4 8 10 11 12 14 -4 8 10 11 12 15 -4 8 10 11 13 14 -4 8 10 11 13 15 -4 8 10 11 14 15 -4 8 10 12 13 14 -4 8 10 12 13 15 -4 8 10 12 14 15 -4 8 10 13 14 15 -4 8 11 12 13 14 -4 8 11 12 13 15 -4 8 11 12 14 15 -4 8 11 13 14 15 -4 8 12 13 14 15 -4 9 10 11 12 13 -4 9 10 11 12 14 -4 9 10 11 12 15 -4 9 10 11 13 14 -4 9 10 11 13 15 -4 9 10 11 14 15 -4 9 10 12 13 14 -4 9 10 12 13 15 -4 9 10 12 14 15 -4 9 10 13 14 15 -4 9 11 12 13 14 -4 9 11 12 13 15 -4 9 11 12 14 15 -4 9 11 13 14 15 -4 9 12 13 14 15 -4 10 11 12 13 14 -4 10 11 12 13 15 -4 10 11 12 14 15 -4 10 11 13 14 15 -4 10 12 13 14 15 -4 11 12 13 14 15 -5 6 7 8 9 10 -5 6 7 8 9 11 -5 6 7 8 9 12 -5 6 7 8 9 13 -5 6 7 8 9 14 -5 6 7 8 9 15 -5 6 7 8 10 11 -5 6 7 8 10 12 -5 6 7 8 10 13 -5 6 7 8 10 14 -5 6 7 8 10 15 -5 6 7 8 11 12 -5 6 7 8 11 13 -5 6 7 8 11 14 -5 6 7 8 11 15 -5 6 7 8 12 13 -5 6 7 8 12 14 -5 6 7 8 12 15 -5 6 7 8 13 14 -5 6 7 8 13 15 -5 6 7 8 14 15 -5 6 7 9 10 11 -5 6 7 9 10 12 -5 6 7 9 10 13 -5 6 7 9 10 14 -5 6 7 9 10 15 -5 6 7 9 11 12 -5 6 7 9 11 13 -5 6 7 9 11 14 -5 6 7 9 11 15 -5 6 7 9 12 13 -5 6 7 9 12 14 -5 6 7 9 12 15 -5 6 7 9 13 14 -5 6 7 9 13 15 -5 6 7 9 14 15 -5 6 7 10 11 12 -5 6 7 10 11 13 -5 6 7 10 11 14 -5 6 7 10 11 15 -5 6 7 10 12 13 -5 6 7 10 12 14 -5 6 7 10 12 15 -5 6 7 10 13 14 -5 6 7 10 13 15 -5 6 7 10 14 15 -5 6 7 11 12 13 -5 6 7 11 12 14 -5 6 7 11 12 15 -5 6 7 11 13 14 -5 6 7 11 13 15 -5 6 7 11 14 15 -5 6 7 12 13 14 -5 6 7 12 13 15 -5 6 7 12 14 15 -5 6 7 13 14 15 -5 6 8 9 10 11 -5 6 8 9 10 12 -5 6 8 9 10 13 -5 6 8 9 10 14 -5 6 8 9 10 15 -5 6 8 9 11 12 -5 6 8 9 11 13 -5 6 8 9 11 14 -5 6 8 9 11 15 -5 6 8 9 12 13 -5 6 8 9 12 14 -5 6 8 9 12 15 -5 6 8 9 13 14 -5 6 8 9 13 15 -5 6 8 9 14 15 -5 6 8 10 11 12 -5 6 8 10 11 13 -5 6 8 10 11 14 -5 6 8 10 11 15 -5 6 8 10 12 13 -5 6 8 10 12 14 -5 6 8 10 12 15 -5 6 8 10 13 14 -5 6 8 10 13 15 -5 6 8 10 14 15 -5 6 8 11 12 13 -5 6 8 11 12 14 -5 6 8 11 12 15 -5 6 8 11 13 14 -5 6 8 11 13 15 -5 6 8 11 14 15 -5 6 8 12 13 14 -5 6 8 12 13 15 -5 6 8 12 14 15 -5 6 8 13 14 15 -5 6 9 10 11 12 -5 6 9 10 11 13 -5 6 9 10 11 14 -5 6 9 10 11 15 -5 6 9 10 12 13 -5 6 9 10 12 14 -5 6 9 10 12 15 -5 6 9 10 13 14 -5 6 9 10 13 15 -5 6 9 10 14 15 -5 6 9 11 12 13 -5 6 9 11 12 14 -5 6 9 11 12 15 -5 6 9 11 13 14 -5 6 9 11 13 15 -5 6 9 11 14 15 -5 6 9 12 13 14 -5 6 9 12 13 15 -5 6 9 12 14 15 -5 6 9 13 14 15 -5 6 10 11 12 13 -5 6 10 11 12 14 -5 6 10 11 12 15 -5 6 10 11 13 14 -5 6 10 11 13 15 -5 6 10 11 14 15 -5 6 10 12 13 14 -5 6 10 12 13 15 -5 6 10 12 14 15 -5 6 10 13 14 15 -5 6 11 12 13 14 -5 6 11 12 13 15 -5 6 11 12 14 15 -5 6 11 13 14 15 -5 6 12 13 14 15 -5 7 8 9 10 11 -5 7 8 9 10 12 -5 7 8 9 10 13 -5 7 8 9 10 14 -5 7 8 9 10 15 -5 7 8 9 11 12 -5 7 8 9 11 13 -5 7 8 9 11 14 -5 7 8 9 11 15 -5 7 8 9 12 13 -5 7 8 9 12 14 -5 7 8 9 12 15 -5 7 8 9 13 14 -5 7 8 9 13 15 -5 7 8 9 14 15 -5 7 8 10 11 12 -5 7 8 10 11 13 -5 7 8 10 11 14 -5 7 8 10 11 15 -5 7 8 10 12 13 -5 7 8 10 12 14 -5 7 8 10 12 15 -5 7 8 10 13 14 -5 7 8 10 13 15 -5 7 8 10 14 15 -5 7 8 11 12 13 -5 7 8 11 12 14 -5 7 8 11 12 15 -5 7 8 11 13 14 -5 7 8 11 13 15 -5 7 8 11 14 15 -5 7 8 12 13 14 -5 7 8 12 13 15 -5 7 8 12 14 15 -5 7 8 13 14 15 -5 7 9 10 11 12 -5 7 9 10 11 13 -5 7 9 10 11 14 -5 7 9 10 11 15 -5 7 9 10 12 13 -5 7 9 10 12 14 -5 7 9 10 12 15 -5 7 9 10 13 14 -5 7 9 10 13 15 -5 7 9 10 14 15 -5 7 9 11 12 13 -5 7 9 11 12 14 -5 7 9 11 12 15 -5 7 9 11 13 14 -5 7 9 11 13 15 -5 7 9 11 14 15 -5 7 9 12 13 14 -5 7 9 12 13 15 -5 7 9 12 14 15 -5 7 9 13 14 15 -5 7 10 11 12 13 -5 7 10 11 12 14 -5 7 10 11 12 15 -5 7 10 11 13 14 -5 7 10 11 13 15 -5 7 10 11 14 15 -5 7 10 12 13 14 -5 7 10 12 13 15 -5 7 10 12 14 15 -5 7 10 13 14 15 -5 7 11 12 13 14 -5 7 11 12 13 15 -5 7 11 12 14 15 -5 7 11 13 14 15 -5 7 12 13 14 15 -5 8 9 10 11 12 -5 8 9 10 11 13 -5 8 9 10 11 14 -5 8 9 10 11 15 -5 8 9 10 12 13 -5 8 9 10 12 14 -5 8 9 10 12 15 -5 8 9 10 13 14 -5 8 9 10 13 15 -5 8 9 10 14 15 -5 8 9 11 12 13 -5 8 9 11 12 14 -5 8 9 11 12 15 -5 8 9 11 13 14 -5 8 9 11 13 15 -5 8 9 11 14 15 -5 8 9 12 13 14 -5 8 9 12 13 15 -5 8 9 12 14 15 -5 8 9 13 14 15 -5 8 10 11 12 13 -5 8 10 11 12 14 -5 8 10 11 12 15 -5 8 10 11 13 14 -5 8 10 11 13 15 -5 8 10 11 14 15 -5 8 10 12 13 14 -5 8 10 12 13 15 -5 8 10 12 14 15 -5 8 10 13 14 15 -5 8 11 12 13 14 -5 8 11 12 13 15 -5 8 11 12 14 15 -5 8 11 13 14 15 -5 8 12 13 14 15 -5 9 10 11 12 13 -5 9 10 11 12 14 -5 9 10 11 12 15 -5 9 10 11 13 14 -5 9 10 11 13 15 -5 9 10 11 14 15 -5 9 10 12 13 14 -5 9 10 12 13 15 -5 9 10 12 14 15 -5 9 10 13 14 15 -5 9 11 12 13 14 -5 9 11 12 13 15 -5 9 11 12 14 15 -5 9 11 13 14 15 -5 9 12 13 14 15 -5 10 11 12 13 14 -5 10 11 12 13 15 -5 10 11 12 14 15 -5 10 11 13 14 15 -5 10 12 13 14 15 -5 11 12 13 14 15 -6 7 8 9 10 11 -6 7 8 9 10 12 -6 7 8 9 10 13 -6 7 8 9 10 14 -6 7 8 9 10 15 -6 7 8 9 11 12 -6 7 8 9 11 13 -6 7 8 9 11 14 -6 7 8 9 11 15 -6 7 8 9 12 13 -6 7 8 9 12 14 -6 7 8 9 12 15 -6 7 8 9 13 14 -6 7 8 9 13 15 -6 7 8 9 14 15 -6 7 8 10 11 12 -6 7 8 10 11 13 -6 7 8 10 11 14 -6 7 8 10 11 15 -6 7 8 10 12 13 -6 7 8 10 12 14 -6 7 8 10 12 15 -6 7 8 10 13 14 -6 7 8 10 13 15 -6 7 8 10 14 15 -6 7 8 11 12 13 -6 7 8 11 12 14 -6 7 8 11 12 15 -6 7 8 11 13 14 -6 7 8 11 13 15 -6 7 8 11 14 15 -6 7 8 12 13 14 -6 7 8 12 13 15 -6 7 8 12 14 15 -6 7 8 13 14 15 -6 7 9 10 11 12 -6 7 9 10 11 13 -6 7 9 10 11 14 -6 7 9 10 11 15 -6 7 9 10 12 13 -6 7 9 10 12 14 -6 7 9 10 12 15 -6 7 9 10 13 14 -6 7 9 10 13 15 -6 7 9 10 14 15 -6 7 9 11 12 13 -6 7 9 11 12 14 -6 7 9 11 12 15 -6 7 9 11 13 14 -6 7 9 11 13 15 -6 7 9 11 14 15 -6 7 9 12 13 14 -6 7 9 12 13 15 -6 7 9 12 14 15 -6 7 9 13 14 15 -6 7 10 11 12 13 -6 7 10 11 12 14 -6 7 10 11 12 15 -6 7 10 11 13 14 -6 7 10 11 13 15 -6 7 10 11 14 15 -6 7 10 12 13 14 -6 7 10 12 13 15 -6 7 10 12 14 15 -6 7 10 13 14 15 -6 7 11 12 13 14 -6 7 11 12 13 15 -6 7 11 12 14 15 -6 7 11 13 14 15 -6 7 12 13 14 15 -6 8 9 10 11 12 -6 8 9 10 11 13 -6 8 9 10 11 14 -6 8 9 10 11 15 -6 8 9 10 12 13 -6 8 9 10 12 14 -6 8 9 10 12 15 -6 8 9 10 13 14 -6 8 9 10 13 15 -6 8 9 10 14 15 -6 8 9 11 12 13 -6 8 9 11 12 14 -6 8 9 11 12 15 -6 8 9 11 13 14 -6 8 9 11 13 15 -6 8 9 11 14 15 -6 8 9 12 13 14 -6 8 9 12 13 15 -6 8 9 12 14 15 -6 8 9 13 14 15 -6 8 10 11 12 13 -6 8 10 11 12 14 -6 8 10 11 12 15 -6 8 10 11 13 14 -6 8 10 11 13 15 -6 8 10 11 14 15 -6 8 10 12 13 14 -6 8 10 12 13 15 -6 8 10 12 14 15 -6 8 10 13 14 15 -6 8 11 12 13 14 -6 8 11 12 13 15 -6 8 11 12 14 15 -6 8 11 13 14 15 -6 8 12 13 14 15 -6 9 10 11 12 13 -6 9 10 11 12 14 -6 9 10 11 12 15 -6 9 10 11 13 14 -6 9 10 11 13 15 -6 9 10 11 14 15 -6 9 10 12 13 14 -6 9 10 12 13 15 -6 9 10 12 14 15 -6 9 10 13 14 15 -6 9 11 12 13 14 -6 9 11 12 13 15 -6 9 11 12 14 15 -6 9 11 13 14 15 -6 9 12 13 14 15 -6 10 11 12 13 14 -6 10 11 12 13 15 -6 10 11 12 14 15 -6 10 11 13 14 15 -6 10 12 13 14 15 -6 11 12 13 14 15 -7 8 9 10 11 12 -7 8 9 10 11 13 -7 8 9 10 11 14 -7 8 9 10 11 15 -7 8 9 10 12 13 -7 8 9 10 12 14 -7 8 9 10 12 15 -7 8 9 10 13 14 -7 8 9 10 13 15 -7 8 9 10 14 15 -7 8 9 11 12 13 -7 8 9 11 12 14 -7 8 9 11 12 15 -7 8 9 11 13 14 -7 8 9 11 13 15 -7 8 9 11 14 15 -7 8 9 12 13 14 -7 8 9 12 13 15 -7 8 9 12 14 15 -7 8 9 13 14 15 -7 8 10 11 12 13 -7 8 10 11 12 14 -7 8 10 11 12 15 -7 8 10 11 13 14 -7 8 10 11 13 15 -7 8 10 11 14 15 -7 8 10 12 13 14 -7 8 10 12 13 15 -7 8 10 12 14 15 -7 8 10 13 14 15 -7 8 11 12 13 14 -7 8 11 12 13 15 -7 8 11 12 14 15 -7 8 11 13 14 15 -7 8 12 13 14 15 -7 9 10 11 12 13 -7 9 10 11 12 14 -7 9 10 11 12 15 -7 9 10 11 13 14 -7 9 10 11 13 15 -7 9 10 11 14 15 -7 9 10 12 13 14 -7 9 10 12 13 15 -7 9 10 12 14 15 -7 9 10 13 14 15 -7 9 11 12 13 14 -7 9 11 12 13 15 -7 9 11 12 14 15 -7 9 11 13 14 15 -7 9 12 13 14 15 -7 10 11 12 13 14 -7 10 11 12 13 15 -7 10 11 12 14 15 -7 10 11 13 14 15 -7 10 12 13 14 15 -7 11 12 13 14 15 -8 9 10 11 12 13 -8 9 10 11 12 14 -8 9 10 11 12 15 -8 9 10 11 13 14 -8 9 10 11 13 15 -8 9 10 11 14 15 -8 9 10 12 13 14 -8 9 10 12 13 15 -8 9 10 12 14 15 -8 9 10 13 14 15 -8 9 11 12 13 14 -8 9 11 12 13 15 -8 9 11 12 14 15 -8 9 11 13 14 15 -8 9 12 13 14 15 -8 10 11 12 13 14 -8 10 11 12 13 15 -8 10 11 12 14 15 -8 10 11 13 14 15 -8 10 12 13 14 15 -8 11 12 13 14 15 -9 10 11 12 13 14 -9 10 11 12 13 15 -9 10 11 12 14 15 -9 10 11 13 14 15 -9 10 12 13 14 15 -9 11 12 13 14 15 -10 11 12 13 14 15 +0 1 2 3 4 5 +0 1 2 3 4 6 +0 1 2 3 4 7 +0 1 2 3 4 8 +0 1 2 3 4 9 +0 1 2 3 4 10 +0 1 2 3 4 11 +0 1 2 3 4 12 +0 1 2 3 4 13 +0 1 2 3 4 14 +0 1 2 3 4 15 +0 1 2 3 5 6 +0 1 2 3 5 7 +0 1 2 3 5 8 +0 1 2 3 5 9 +0 1 2 3 5 10 +0 1 2 3 5 11 +0 1 2 3 5 12 +0 1 2 3 5 13 +0 1 2 3 5 14 +0 1 2 3 5 15 +0 1 2 3 6 7 +0 1 2 3 6 8 +0 1 2 3 6 9 +0 1 2 3 6 10 +0 1 2 3 6 11 +0 1 2 3 6 12 +0 1 2 3 6 13 +0 1 2 3 6 14 +0 1 2 3 6 15 +0 1 2 3 7 8 +0 1 2 3 7 9 +0 1 2 3 7 10 +0 1 2 3 7 11 +0 1 2 3 7 12 +0 1 2 3 7 13 +0 1 2 3 7 14 +0 1 2 3 7 15 +0 1 2 3 8 9 +0 1 2 3 8 10 +0 1 2 3 8 11 +0 1 2 3 8 12 +0 1 2 3 8 13 +0 1 2 3 8 14 +0 1 2 3 8 15 +0 1 2 3 9 10 +0 1 2 3 9 11 +0 1 2 3 9 12 +0 1 2 3 9 13 +0 1 2 3 9 14 +0 1 2 3 9 15 +0 1 2 3 10 11 +0 1 2 3 10 12 +0 1 2 3 10 13 +0 1 2 3 10 14 +0 1 2 3 10 15 +0 1 2 3 11 12 +0 1 2 3 11 13 +0 1 2 3 11 14 +0 1 2 3 11 15 +0 1 2 3 12 13 +0 1 2 3 12 14 +0 1 2 3 12 15 +0 1 2 3 13 14 +0 1 2 3 13 15 +0 1 2 3 14 15 +0 1 2 4 5 6 +0 1 2 4 5 7 +0 1 2 4 5 8 +0 1 2 4 5 9 +0 1 2 4 5 10 +0 1 2 4 5 11 +0 1 2 4 5 12 +0 1 2 4 5 13 +0 1 2 4 5 14 +0 1 2 4 5 15 +0 1 2 4 6 7 +0 1 2 4 6 8 +0 1 2 4 6 9 +0 1 2 4 6 10 +0 1 2 4 6 11 +0 1 2 4 6 12 +0 1 2 4 6 13 +0 1 2 4 6 14 +0 1 2 4 6 15 +0 1 2 4 7 8 +0 1 2 4 7 9 +0 1 2 4 7 10 +0 1 2 4 7 11 +0 1 2 4 7 12 +0 1 2 4 7 13 +0 1 2 4 7 14 +0 1 2 4 7 15 +0 1 2 4 8 9 +0 1 2 4 8 10 +0 1 2 4 8 11 +0 1 2 4 8 12 +0 1 2 4 8 13 +0 1 2 4 8 14 +0 1 2 4 8 15 +0 1 2 4 9 10 +0 1 2 4 9 11 +0 1 2 4 9 12 +0 1 2 4 9 13 +0 1 2 4 9 14 +0 1 2 4 9 15 +0 1 2 4 10 11 +0 1 2 4 10 12 +0 1 2 4 10 13 +0 1 2 4 10 14 +0 1 2 4 10 15 +0 1 2 4 11 12 +0 1 2 4 11 13 +0 1 2 4 11 14 +0 1 2 4 11 15 +0 1 2 4 12 13 +0 1 2 4 12 14 +0 1 2 4 12 15 +0 1 2 4 13 14 +0 1 2 4 13 15 +0 1 2 4 14 15 +0 1 2 5 6 7 +0 1 2 5 6 8 +0 1 2 5 6 9 +0 1 2 5 6 10 +0 1 2 5 6 11 +0 1 2 5 6 12 +0 1 2 5 6 13 +0 1 2 5 6 14 +0 1 2 5 6 15 +0 1 2 5 7 8 +0 1 2 5 7 9 +0 1 2 5 7 10 +0 1 2 5 7 11 +0 1 2 5 7 12 +0 1 2 5 7 13 +0 1 2 5 7 14 +0 1 2 5 7 15 +0 1 2 5 8 9 +0 1 2 5 8 10 +0 1 2 5 8 11 +0 1 2 5 8 12 +0 1 2 5 8 13 +0 1 2 5 8 14 +0 1 2 5 8 15 +0 1 2 5 9 10 +0 1 2 5 9 11 +0 1 2 5 9 12 +0 1 2 5 9 13 +0 1 2 5 9 14 +0 1 2 5 9 15 +0 1 2 5 10 11 +0 1 2 5 10 12 +0 1 2 5 10 13 +0 1 2 5 10 14 +0 1 2 5 10 15 +0 1 2 5 11 12 +0 1 2 5 11 13 +0 1 2 5 11 14 +0 1 2 5 11 15 +0 1 2 5 12 13 +0 1 2 5 12 14 +0 1 2 5 12 15 +0 1 2 5 13 14 +0 1 2 5 13 15 +0 1 2 5 14 15 +0 1 2 6 7 8 +0 1 2 6 7 9 +0 1 2 6 7 10 +0 1 2 6 7 11 +0 1 2 6 7 12 +0 1 2 6 7 13 +0 1 2 6 7 14 +0 1 2 6 7 15 +0 1 2 6 8 9 +0 1 2 6 8 10 +0 1 2 6 8 11 +0 1 2 6 8 12 +0 1 2 6 8 13 +0 1 2 6 8 14 +0 1 2 6 8 15 +0 1 2 6 9 10 +0 1 2 6 9 11 +0 1 2 6 9 12 +0 1 2 6 9 13 +0 1 2 6 9 14 +0 1 2 6 9 15 +0 1 2 6 10 11 +0 1 2 6 10 12 +0 1 2 6 10 13 +0 1 2 6 10 14 +0 1 2 6 10 15 +0 1 2 6 11 12 +0 1 2 6 11 13 +0 1 2 6 11 14 +0 1 2 6 11 15 +0 1 2 6 12 13 +0 1 2 6 12 14 +0 1 2 6 12 15 +0 1 2 6 13 14 +0 1 2 6 13 15 +0 1 2 6 14 15 +0 1 2 7 8 9 +0 1 2 7 8 10 +0 1 2 7 8 11 +0 1 2 7 8 12 +0 1 2 7 8 13 +0 1 2 7 8 14 +0 1 2 7 8 15 +0 1 2 7 9 10 +0 1 2 7 9 11 +0 1 2 7 9 12 +0 1 2 7 9 13 +0 1 2 7 9 14 +0 1 2 7 9 15 +0 1 2 7 10 11 +0 1 2 7 10 12 +0 1 2 7 10 13 +0 1 2 7 10 14 +0 1 2 7 10 15 +0 1 2 7 11 12 +0 1 2 7 11 13 +0 1 2 7 11 14 +0 1 2 7 11 15 +0 1 2 7 12 13 +0 1 2 7 12 14 +0 1 2 7 12 15 +0 1 2 7 13 14 +0 1 2 7 13 15 +0 1 2 7 14 15 +0 1 2 8 9 10 +0 1 2 8 9 11 +0 1 2 8 9 12 +0 1 2 8 9 13 +0 1 2 8 9 14 +0 1 2 8 9 15 +0 1 2 8 10 11 +0 1 2 8 10 12 +0 1 2 8 10 13 +0 1 2 8 10 14 +0 1 2 8 10 15 +0 1 2 8 11 12 +0 1 2 8 11 13 +0 1 2 8 11 14 +0 1 2 8 11 15 +0 1 2 8 12 13 +0 1 2 8 12 14 +0 1 2 8 12 15 +0 1 2 8 13 14 +0 1 2 8 13 15 +0 1 2 8 14 15 +0 1 2 9 10 11 +0 1 2 9 10 12 +0 1 2 9 10 13 +0 1 2 9 10 14 +0 1 2 9 10 15 +0 1 2 9 11 12 +0 1 2 9 11 13 +0 1 2 9 11 14 +0 1 2 9 11 15 +0 1 2 9 12 13 +0 1 2 9 12 14 +0 1 2 9 12 15 +0 1 2 9 13 14 +0 1 2 9 13 15 +0 1 2 9 14 15 +0 1 2 10 11 12 +0 1 2 10 11 13 +0 1 2 10 11 14 +0 1 2 10 11 15 +0 1 2 10 12 13 +0 1 2 10 12 14 +0 1 2 10 12 15 +0 1 2 10 13 14 +0 1 2 10 13 15 +0 1 2 10 14 15 +0 1 2 11 12 13 +0 1 2 11 12 14 +0 1 2 11 12 15 +0 1 2 11 13 14 +0 1 2 11 13 15 +0 1 2 11 14 15 +0 1 2 12 13 14 +0 1 2 12 13 15 +0 1 2 12 14 15 +0 1 2 13 14 15 +0 1 3 4 5 6 +0 1 3 4 5 7 +0 1 3 4 5 8 +0 1 3 4 5 9 +0 1 3 4 5 10 +0 1 3 4 5 11 +0 1 3 4 5 12 +0 1 3 4 5 13 +0 1 3 4 5 14 +0 1 3 4 5 15 +0 1 3 4 6 7 +0 1 3 4 6 8 +0 1 3 4 6 9 +0 1 3 4 6 10 +0 1 3 4 6 11 +0 1 3 4 6 12 +0 1 3 4 6 13 +0 1 3 4 6 14 +0 1 3 4 6 15 +0 1 3 4 7 8 +0 1 3 4 7 9 +0 1 3 4 7 10 +0 1 3 4 7 11 +0 1 3 4 7 12 +0 1 3 4 7 13 +0 1 3 4 7 14 +0 1 3 4 7 15 +0 1 3 4 8 9 +0 1 3 4 8 10 +0 1 3 4 8 11 +0 1 3 4 8 12 +0 1 3 4 8 13 +0 1 3 4 8 14 +0 1 3 4 8 15 +0 1 3 4 9 10 +0 1 3 4 9 11 +0 1 3 4 9 12 +0 1 3 4 9 13 +0 1 3 4 9 14 +0 1 3 4 9 15 +0 1 3 4 10 11 +0 1 3 4 10 12 +0 1 3 4 10 13 +0 1 3 4 10 14 +0 1 3 4 10 15 +0 1 3 4 11 12 +0 1 3 4 11 13 +0 1 3 4 11 14 +0 1 3 4 11 15 +0 1 3 4 12 13 +0 1 3 4 12 14 +0 1 3 4 12 15 +0 1 3 4 13 14 +0 1 3 4 13 15 +0 1 3 4 14 15 +0 1 3 5 6 7 +0 1 3 5 6 8 +0 1 3 5 6 9 +0 1 3 5 6 10 +0 1 3 5 6 11 +0 1 3 5 6 12 +0 1 3 5 6 13 +0 1 3 5 6 14 +0 1 3 5 6 15 +0 1 3 5 7 8 +0 1 3 5 7 9 +0 1 3 5 7 10 +0 1 3 5 7 11 +0 1 3 5 7 12 +0 1 3 5 7 13 +0 1 3 5 7 14 +0 1 3 5 7 15 +0 1 3 5 8 9 +0 1 3 5 8 10 +0 1 3 5 8 11 +0 1 3 5 8 12 +0 1 3 5 8 13 +0 1 3 5 8 14 +0 1 3 5 8 15 +0 1 3 5 9 10 +0 1 3 5 9 11 +0 1 3 5 9 12 +0 1 3 5 9 13 +0 1 3 5 9 14 +0 1 3 5 9 15 +0 1 3 5 10 11 +0 1 3 5 10 12 +0 1 3 5 10 13 +0 1 3 5 10 14 +0 1 3 5 10 15 +0 1 3 5 11 12 +0 1 3 5 11 13 +0 1 3 5 11 14 +0 1 3 5 11 15 +0 1 3 5 12 13 +0 1 3 5 12 14 +0 1 3 5 12 15 +0 1 3 5 13 14 +0 1 3 5 13 15 +0 1 3 5 14 15 +0 1 3 6 7 8 +0 1 3 6 7 9 +0 1 3 6 7 10 +0 1 3 6 7 11 +0 1 3 6 7 12 +0 1 3 6 7 13 +0 1 3 6 7 14 +0 1 3 6 7 15 +0 1 3 6 8 9 +0 1 3 6 8 10 +0 1 3 6 8 11 +0 1 3 6 8 12 +0 1 3 6 8 13 +0 1 3 6 8 14 +0 1 3 6 8 15 +0 1 3 6 9 10 +0 1 3 6 9 11 +0 1 3 6 9 12 +0 1 3 6 9 13 +0 1 3 6 9 14 +0 1 3 6 9 15 +0 1 3 6 10 11 +0 1 3 6 10 12 +0 1 3 6 10 13 +0 1 3 6 10 14 +0 1 3 6 10 15 +0 1 3 6 11 12 +0 1 3 6 11 13 +0 1 3 6 11 14 +0 1 3 6 11 15 +0 1 3 6 12 13 +0 1 3 6 12 14 +0 1 3 6 12 15 +0 1 3 6 13 14 +0 1 3 6 13 15 +0 1 3 6 14 15 +0 1 3 7 8 9 +0 1 3 7 8 10 +0 1 3 7 8 11 +0 1 3 7 8 12 +0 1 3 7 8 13 +0 1 3 7 8 14 +0 1 3 7 8 15 +0 1 3 7 9 10 +0 1 3 7 9 11 +0 1 3 7 9 12 +0 1 3 7 9 13 +0 1 3 7 9 14 +0 1 3 7 9 15 +0 1 3 7 10 11 +0 1 3 7 10 12 +0 1 3 7 10 13 +0 1 3 7 10 14 +0 1 3 7 10 15 +0 1 3 7 11 12 +0 1 3 7 11 13 +0 1 3 7 11 14 +0 1 3 7 11 15 +0 1 3 7 12 13 +0 1 3 7 12 14 +0 1 3 7 12 15 +0 1 3 7 13 14 +0 1 3 7 13 15 +0 1 3 7 14 15 +0 1 3 8 9 10 +0 1 3 8 9 11 +0 1 3 8 9 12 +0 1 3 8 9 13 +0 1 3 8 9 14 +0 1 3 8 9 15 +0 1 3 8 10 11 +0 1 3 8 10 12 +0 1 3 8 10 13 +0 1 3 8 10 14 +0 1 3 8 10 15 +0 1 3 8 11 12 +0 1 3 8 11 13 +0 1 3 8 11 14 +0 1 3 8 11 15 +0 1 3 8 12 13 +0 1 3 8 12 14 +0 1 3 8 12 15 +0 1 3 8 13 14 +0 1 3 8 13 15 +0 1 3 8 14 15 +0 1 3 9 10 11 +0 1 3 9 10 12 +0 1 3 9 10 13 +0 1 3 9 10 14 +0 1 3 9 10 15 +0 1 3 9 11 12 +0 1 3 9 11 13 +0 1 3 9 11 14 +0 1 3 9 11 15 +0 1 3 9 12 13 +0 1 3 9 12 14 +0 1 3 9 12 15 +0 1 3 9 13 14 +0 1 3 9 13 15 +0 1 3 9 14 15 +0 1 3 10 11 12 +0 1 3 10 11 13 +0 1 3 10 11 14 +0 1 3 10 11 15 +0 1 3 10 12 13 +0 1 3 10 12 14 +0 1 3 10 12 15 +0 1 3 10 13 14 +0 1 3 10 13 15 +0 1 3 10 14 15 +0 1 3 11 12 13 +0 1 3 11 12 14 +0 1 3 11 12 15 +0 1 3 11 13 14 +0 1 3 11 13 15 +0 1 3 11 14 15 +0 1 3 12 13 14 +0 1 3 12 13 15 +0 1 3 12 14 15 +0 1 3 13 14 15 +0 1 4 5 6 7 +0 1 4 5 6 8 +0 1 4 5 6 9 +0 1 4 5 6 10 +0 1 4 5 6 11 +0 1 4 5 6 12 +0 1 4 5 6 13 +0 1 4 5 6 14 +0 1 4 5 6 15 +0 1 4 5 7 8 +0 1 4 5 7 9 +0 1 4 5 7 10 +0 1 4 5 7 11 +0 1 4 5 7 12 +0 1 4 5 7 13 +0 1 4 5 7 14 +0 1 4 5 7 15 +0 1 4 5 8 9 +0 1 4 5 8 10 +0 1 4 5 8 11 +0 1 4 5 8 12 +0 1 4 5 8 13 +0 1 4 5 8 14 +0 1 4 5 8 15 +0 1 4 5 9 10 +0 1 4 5 9 11 +0 1 4 5 9 12 +0 1 4 5 9 13 +0 1 4 5 9 14 +0 1 4 5 9 15 +0 1 4 5 10 11 +0 1 4 5 10 12 +0 1 4 5 10 13 +0 1 4 5 10 14 +0 1 4 5 10 15 +0 1 4 5 11 12 +0 1 4 5 11 13 +0 1 4 5 11 14 +0 1 4 5 11 15 +0 1 4 5 12 13 +0 1 4 5 12 14 +0 1 4 5 12 15 +0 1 4 5 13 14 +0 1 4 5 13 15 +0 1 4 5 14 15 +0 1 4 6 7 8 +0 1 4 6 7 9 +0 1 4 6 7 10 +0 1 4 6 7 11 +0 1 4 6 7 12 +0 1 4 6 7 13 +0 1 4 6 7 14 +0 1 4 6 7 15 +0 1 4 6 8 9 +0 1 4 6 8 10 +0 1 4 6 8 11 +0 1 4 6 8 12 +0 1 4 6 8 13 +0 1 4 6 8 14 +0 1 4 6 8 15 +0 1 4 6 9 10 +0 1 4 6 9 11 +0 1 4 6 9 12 +0 1 4 6 9 13 +0 1 4 6 9 14 +0 1 4 6 9 15 +0 1 4 6 10 11 +0 1 4 6 10 12 +0 1 4 6 10 13 +0 1 4 6 10 14 +0 1 4 6 10 15 +0 1 4 6 11 12 +0 1 4 6 11 13 +0 1 4 6 11 14 +0 1 4 6 11 15 +0 1 4 6 12 13 +0 1 4 6 12 14 +0 1 4 6 12 15 +0 1 4 6 13 14 +0 1 4 6 13 15 +0 1 4 6 14 15 +0 1 4 7 8 9 +0 1 4 7 8 10 +0 1 4 7 8 11 +0 1 4 7 8 12 +0 1 4 7 8 13 +0 1 4 7 8 14 +0 1 4 7 8 15 +0 1 4 7 9 10 +0 1 4 7 9 11 +0 1 4 7 9 12 +0 1 4 7 9 13 +0 1 4 7 9 14 +0 1 4 7 9 15 +0 1 4 7 10 11 +0 1 4 7 10 12 +0 1 4 7 10 13 +0 1 4 7 10 14 +0 1 4 7 10 15 +0 1 4 7 11 12 +0 1 4 7 11 13 +0 1 4 7 11 14 +0 1 4 7 11 15 +0 1 4 7 12 13 +0 1 4 7 12 14 +0 1 4 7 12 15 +0 1 4 7 13 14 +0 1 4 7 13 15 +0 1 4 7 14 15 +0 1 4 8 9 10 +0 1 4 8 9 11 +0 1 4 8 9 12 +0 1 4 8 9 13 +0 1 4 8 9 14 +0 1 4 8 9 15 +0 1 4 8 10 11 +0 1 4 8 10 12 +0 1 4 8 10 13 +0 1 4 8 10 14 +0 1 4 8 10 15 +0 1 4 8 11 12 +0 1 4 8 11 13 +0 1 4 8 11 14 +0 1 4 8 11 15 +0 1 4 8 12 13 +0 1 4 8 12 14 +0 1 4 8 12 15 +0 1 4 8 13 14 +0 1 4 8 13 15 +0 1 4 8 14 15 +0 1 4 9 10 11 +0 1 4 9 10 12 +0 1 4 9 10 13 +0 1 4 9 10 14 +0 1 4 9 10 15 +0 1 4 9 11 12 +0 1 4 9 11 13 +0 1 4 9 11 14 +0 1 4 9 11 15 +0 1 4 9 12 13 +0 1 4 9 12 14 +0 1 4 9 12 15 +0 1 4 9 13 14 +0 1 4 9 13 15 +0 1 4 9 14 15 +0 1 4 10 11 12 +0 1 4 10 11 13 +0 1 4 10 11 14 +0 1 4 10 11 15 +0 1 4 10 12 13 +0 1 4 10 12 14 +0 1 4 10 12 15 +0 1 4 10 13 14 +0 1 4 10 13 15 +0 1 4 10 14 15 +0 1 4 11 12 13 +0 1 4 11 12 14 +0 1 4 11 12 15 +0 1 4 11 13 14 +0 1 4 11 13 15 +0 1 4 11 14 15 +0 1 4 12 13 14 +0 1 4 12 13 15 +0 1 4 12 14 15 +0 1 4 13 14 15 +0 1 5 6 7 8 +0 1 5 6 7 9 +0 1 5 6 7 10 +0 1 5 6 7 11 +0 1 5 6 7 12 +0 1 5 6 7 13 +0 1 5 6 7 14 +0 1 5 6 7 15 +0 1 5 6 8 9 +0 1 5 6 8 10 +0 1 5 6 8 11 +0 1 5 6 8 12 +0 1 5 6 8 13 +0 1 5 6 8 14 +0 1 5 6 8 15 +0 1 5 6 9 10 +0 1 5 6 9 11 +0 1 5 6 9 12 +0 1 5 6 9 13 +0 1 5 6 9 14 +0 1 5 6 9 15 +0 1 5 6 10 11 +0 1 5 6 10 12 +0 1 5 6 10 13 +0 1 5 6 10 14 +0 1 5 6 10 15 +0 1 5 6 11 12 +0 1 5 6 11 13 +0 1 5 6 11 14 +0 1 5 6 11 15 +0 1 5 6 12 13 +0 1 5 6 12 14 +0 1 5 6 12 15 +0 1 5 6 13 14 +0 1 5 6 13 15 +0 1 5 6 14 15 +0 1 5 7 8 9 +0 1 5 7 8 10 +0 1 5 7 8 11 +0 1 5 7 8 12 +0 1 5 7 8 13 +0 1 5 7 8 14 +0 1 5 7 8 15 +0 1 5 7 9 10 +0 1 5 7 9 11 +0 1 5 7 9 12 +0 1 5 7 9 13 +0 1 5 7 9 14 +0 1 5 7 9 15 +0 1 5 7 10 11 +0 1 5 7 10 12 +0 1 5 7 10 13 +0 1 5 7 10 14 +0 1 5 7 10 15 +0 1 5 7 11 12 +0 1 5 7 11 13 +0 1 5 7 11 14 +0 1 5 7 11 15 +0 1 5 7 12 13 +0 1 5 7 12 14 +0 1 5 7 12 15 +0 1 5 7 13 14 +0 1 5 7 13 15 +0 1 5 7 14 15 +0 1 5 8 9 10 +0 1 5 8 9 11 +0 1 5 8 9 12 +0 1 5 8 9 13 +0 1 5 8 9 14 +0 1 5 8 9 15 +0 1 5 8 10 11 +0 1 5 8 10 12 +0 1 5 8 10 13 +0 1 5 8 10 14 +0 1 5 8 10 15 +0 1 5 8 11 12 +0 1 5 8 11 13 +0 1 5 8 11 14 +0 1 5 8 11 15 +0 1 5 8 12 13 +0 1 5 8 12 14 +0 1 5 8 12 15 +0 1 5 8 13 14 +0 1 5 8 13 15 +0 1 5 8 14 15 +0 1 5 9 10 11 +0 1 5 9 10 12 +0 1 5 9 10 13 +0 1 5 9 10 14 +0 1 5 9 10 15 +0 1 5 9 11 12 +0 1 5 9 11 13 +0 1 5 9 11 14 +0 1 5 9 11 15 +0 1 5 9 12 13 +0 1 5 9 12 14 +0 1 5 9 12 15 +0 1 5 9 13 14 +0 1 5 9 13 15 +0 1 5 9 14 15 +0 1 5 10 11 12 +0 1 5 10 11 13 +0 1 5 10 11 14 +0 1 5 10 11 15 +0 1 5 10 12 13 +0 1 5 10 12 14 +0 1 5 10 12 15 +0 1 5 10 13 14 +0 1 5 10 13 15 +0 1 5 10 14 15 +0 1 5 11 12 13 +0 1 5 11 12 14 +0 1 5 11 12 15 +0 1 5 11 13 14 +0 1 5 11 13 15 +0 1 5 11 14 15 +0 1 5 12 13 14 +0 1 5 12 13 15 +0 1 5 12 14 15 +0 1 5 13 14 15 +0 1 6 7 8 9 +0 1 6 7 8 10 +0 1 6 7 8 11 +0 1 6 7 8 12 +0 1 6 7 8 13 +0 1 6 7 8 14 +0 1 6 7 8 15 +0 1 6 7 9 10 +0 1 6 7 9 11 +0 1 6 7 9 12 +0 1 6 7 9 13 +0 1 6 7 9 14 +0 1 6 7 9 15 +0 1 6 7 10 11 +0 1 6 7 10 12 +0 1 6 7 10 13 +0 1 6 7 10 14 +0 1 6 7 10 15 +0 1 6 7 11 12 +0 1 6 7 11 13 +0 1 6 7 11 14 +0 1 6 7 11 15 +0 1 6 7 12 13 +0 1 6 7 12 14 +0 1 6 7 12 15 +0 1 6 7 13 14 +0 1 6 7 13 15 +0 1 6 7 14 15 +0 1 6 8 9 10 +0 1 6 8 9 11 +0 1 6 8 9 12 +0 1 6 8 9 13 +0 1 6 8 9 14 +0 1 6 8 9 15 +0 1 6 8 10 11 +0 1 6 8 10 12 +0 1 6 8 10 13 +0 1 6 8 10 14 +0 1 6 8 10 15 +0 1 6 8 11 12 +0 1 6 8 11 13 +0 1 6 8 11 14 +0 1 6 8 11 15 +0 1 6 8 12 13 +0 1 6 8 12 14 +0 1 6 8 12 15 +0 1 6 8 13 14 +0 1 6 8 13 15 +0 1 6 8 14 15 +0 1 6 9 10 11 +0 1 6 9 10 12 +0 1 6 9 10 13 +0 1 6 9 10 14 +0 1 6 9 10 15 +0 1 6 9 11 12 +0 1 6 9 11 13 +0 1 6 9 11 14 +0 1 6 9 11 15 +0 1 6 9 12 13 +0 1 6 9 12 14 +0 1 6 9 12 15 +0 1 6 9 13 14 +0 1 6 9 13 15 +0 1 6 9 14 15 +0 1 6 10 11 12 +0 1 6 10 11 13 +0 1 6 10 11 14 +0 1 6 10 11 15 +0 1 6 10 12 13 +0 1 6 10 12 14 +0 1 6 10 12 15 +0 1 6 10 13 14 +0 1 6 10 13 15 +0 1 6 10 14 15 +0 1 6 11 12 13 +0 1 6 11 12 14 +0 1 6 11 12 15 +0 1 6 11 13 14 +0 1 6 11 13 15 +0 1 6 11 14 15 +0 1 6 12 13 14 +0 1 6 12 13 15 +0 1 6 12 14 15 +0 1 6 13 14 15 +0 1 7 8 9 10 +0 1 7 8 9 11 +0 1 7 8 9 12 +0 1 7 8 9 13 +0 1 7 8 9 14 +0 1 7 8 9 15 +0 1 7 8 10 11 +0 1 7 8 10 12 +0 1 7 8 10 13 +0 1 7 8 10 14 +0 1 7 8 10 15 +0 1 7 8 11 12 +0 1 7 8 11 13 +0 1 7 8 11 14 +0 1 7 8 11 15 +0 1 7 8 12 13 +0 1 7 8 12 14 +0 1 7 8 12 15 +0 1 7 8 13 14 +0 1 7 8 13 15 +0 1 7 8 14 15 +0 1 7 9 10 11 +0 1 7 9 10 12 +0 1 7 9 10 13 +0 1 7 9 10 14 +0 1 7 9 10 15 +0 1 7 9 11 12 +0 1 7 9 11 13 +0 1 7 9 11 14 +0 1 7 9 11 15 +0 1 7 9 12 13 +0 1 7 9 12 14 +0 1 7 9 12 15 +0 1 7 9 13 14 +0 1 7 9 13 15 +0 1 7 9 14 15 +0 1 7 10 11 12 +0 1 7 10 11 13 +0 1 7 10 11 14 +0 1 7 10 11 15 +0 1 7 10 12 13 +0 1 7 10 12 14 +0 1 7 10 12 15 +0 1 7 10 13 14 +0 1 7 10 13 15 +0 1 7 10 14 15 +0 1 7 11 12 13 +0 1 7 11 12 14 +0 1 7 11 12 15 +0 1 7 11 13 14 +0 1 7 11 13 15 +0 1 7 11 14 15 +0 1 7 12 13 14 +0 1 7 12 13 15 +0 1 7 12 14 15 +0 1 7 13 14 15 +0 1 8 9 10 11 +0 1 8 9 10 12 +0 1 8 9 10 13 +0 1 8 9 10 14 +0 1 8 9 10 15 +0 1 8 9 11 12 +0 1 8 9 11 13 +0 1 8 9 11 14 +0 1 8 9 11 15 +0 1 8 9 12 13 +0 1 8 9 12 14 +0 1 8 9 12 15 +0 1 8 9 13 14 +0 1 8 9 13 15 +0 1 8 9 14 15 +0 1 8 10 11 12 +0 1 8 10 11 13 +0 1 8 10 11 14 +0 1 8 10 11 15 +0 1 8 10 12 13 +0 1 8 10 12 14 +0 1 8 10 12 15 +0 1 8 10 13 14 +0 1 8 10 13 15 +0 1 8 10 14 15 +0 1 8 11 12 13 +0 1 8 11 12 14 +0 1 8 11 12 15 +0 1 8 11 13 14 +0 1 8 11 13 15 +0 1 8 11 14 15 +0 1 8 12 13 14 +0 1 8 12 13 15 +0 1 8 12 14 15 +0 1 8 13 14 15 +0 1 9 10 11 12 +0 1 9 10 11 13 +0 1 9 10 11 14 +0 1 9 10 11 15 +0 1 9 10 12 13 +0 1 9 10 12 14 +0 1 9 10 12 15 +0 1 9 10 13 14 +0 1 9 10 13 15 +0 1 9 10 14 15 +0 1 9 11 12 13 +0 1 9 11 12 14 +0 1 9 11 12 15 +0 1 9 11 13 14 +0 1 9 11 13 15 +0 1 9 11 14 15 +0 1 9 12 13 14 +0 1 9 12 13 15 +0 1 9 12 14 15 +0 1 9 13 14 15 +0 1 10 11 12 13 +0 1 10 11 12 14 +0 1 10 11 12 15 +0 1 10 11 13 14 +0 1 10 11 13 15 +0 1 10 11 14 15 +0 1 10 12 13 14 +0 1 10 12 13 15 +0 1 10 12 14 15 +0 1 10 13 14 15 +0 1 11 12 13 14 +0 1 11 12 13 15 +0 1 11 12 14 15 +0 1 11 13 14 15 +0 1 12 13 14 15 +0 2 3 4 5 6 +0 2 3 4 5 7 +0 2 3 4 5 8 +0 2 3 4 5 9 +0 2 3 4 5 10 +0 2 3 4 5 11 +0 2 3 4 5 12 +0 2 3 4 5 13 +0 2 3 4 5 14 +0 2 3 4 5 15 +0 2 3 4 6 7 +0 2 3 4 6 8 +0 2 3 4 6 9 +0 2 3 4 6 10 +0 2 3 4 6 11 +0 2 3 4 6 12 +0 2 3 4 6 13 +0 2 3 4 6 14 +0 2 3 4 6 15 +0 2 3 4 7 8 +0 2 3 4 7 9 +0 2 3 4 7 10 +0 2 3 4 7 11 +0 2 3 4 7 12 +0 2 3 4 7 13 +0 2 3 4 7 14 +0 2 3 4 7 15 +0 2 3 4 8 9 +0 2 3 4 8 10 +0 2 3 4 8 11 +0 2 3 4 8 12 +0 2 3 4 8 13 +0 2 3 4 8 14 +0 2 3 4 8 15 +0 2 3 4 9 10 +0 2 3 4 9 11 +0 2 3 4 9 12 +0 2 3 4 9 13 +0 2 3 4 9 14 +0 2 3 4 9 15 +0 2 3 4 10 11 +0 2 3 4 10 12 +0 2 3 4 10 13 +0 2 3 4 10 14 +0 2 3 4 10 15 +0 2 3 4 11 12 +0 2 3 4 11 13 +0 2 3 4 11 14 +0 2 3 4 11 15 +0 2 3 4 12 13 +0 2 3 4 12 14 +0 2 3 4 12 15 +0 2 3 4 13 14 +0 2 3 4 13 15 +0 2 3 4 14 15 +0 2 3 5 6 7 +0 2 3 5 6 8 +0 2 3 5 6 9 +0 2 3 5 6 10 +0 2 3 5 6 11 +0 2 3 5 6 12 +0 2 3 5 6 13 +0 2 3 5 6 14 +0 2 3 5 6 15 +0 2 3 5 7 8 +0 2 3 5 7 9 +0 2 3 5 7 10 +0 2 3 5 7 11 +0 2 3 5 7 12 +0 2 3 5 7 13 +0 2 3 5 7 14 +0 2 3 5 7 15 +0 2 3 5 8 9 +0 2 3 5 8 10 +0 2 3 5 8 11 +0 2 3 5 8 12 +0 2 3 5 8 13 +0 2 3 5 8 14 +0 2 3 5 8 15 +0 2 3 5 9 10 +0 2 3 5 9 11 +0 2 3 5 9 12 +0 2 3 5 9 13 +0 2 3 5 9 14 +0 2 3 5 9 15 +0 2 3 5 10 11 +0 2 3 5 10 12 +0 2 3 5 10 13 +0 2 3 5 10 14 +0 2 3 5 10 15 +0 2 3 5 11 12 +0 2 3 5 11 13 +0 2 3 5 11 14 +0 2 3 5 11 15 +0 2 3 5 12 13 +0 2 3 5 12 14 +0 2 3 5 12 15 +0 2 3 5 13 14 +0 2 3 5 13 15 +0 2 3 5 14 15 +0 2 3 6 7 8 +0 2 3 6 7 9 +0 2 3 6 7 10 +0 2 3 6 7 11 +0 2 3 6 7 12 +0 2 3 6 7 13 +0 2 3 6 7 14 +0 2 3 6 7 15 +0 2 3 6 8 9 +0 2 3 6 8 10 +0 2 3 6 8 11 +0 2 3 6 8 12 +0 2 3 6 8 13 +0 2 3 6 8 14 +0 2 3 6 8 15 +0 2 3 6 9 10 +0 2 3 6 9 11 +0 2 3 6 9 12 +0 2 3 6 9 13 +0 2 3 6 9 14 +0 2 3 6 9 15 +0 2 3 6 10 11 +0 2 3 6 10 12 +0 2 3 6 10 13 +0 2 3 6 10 14 +0 2 3 6 10 15 +0 2 3 6 11 12 +0 2 3 6 11 13 +0 2 3 6 11 14 +0 2 3 6 11 15 +0 2 3 6 12 13 +0 2 3 6 12 14 +0 2 3 6 12 15 +0 2 3 6 13 14 +0 2 3 6 13 15 +0 2 3 6 14 15 +0 2 3 7 8 9 +0 2 3 7 8 10 +0 2 3 7 8 11 +0 2 3 7 8 12 +0 2 3 7 8 13 +0 2 3 7 8 14 +0 2 3 7 8 15 +0 2 3 7 9 10 +0 2 3 7 9 11 +0 2 3 7 9 12 +0 2 3 7 9 13 +0 2 3 7 9 14 +0 2 3 7 9 15 +0 2 3 7 10 11 +0 2 3 7 10 12 +0 2 3 7 10 13 +0 2 3 7 10 14 +0 2 3 7 10 15 +0 2 3 7 11 12 +0 2 3 7 11 13 +0 2 3 7 11 14 +0 2 3 7 11 15 +0 2 3 7 12 13 +0 2 3 7 12 14 +0 2 3 7 12 15 +0 2 3 7 13 14 +0 2 3 7 13 15 +0 2 3 7 14 15 +0 2 3 8 9 10 +0 2 3 8 9 11 +0 2 3 8 9 12 +0 2 3 8 9 13 +0 2 3 8 9 14 +0 2 3 8 9 15 +0 2 3 8 10 11 +0 2 3 8 10 12 +0 2 3 8 10 13 +0 2 3 8 10 14 +0 2 3 8 10 15 +0 2 3 8 11 12 +0 2 3 8 11 13 +0 2 3 8 11 14 +0 2 3 8 11 15 +0 2 3 8 12 13 +0 2 3 8 12 14 +0 2 3 8 12 15 +0 2 3 8 13 14 +0 2 3 8 13 15 +0 2 3 8 14 15 +0 2 3 9 10 11 +0 2 3 9 10 12 +0 2 3 9 10 13 +0 2 3 9 10 14 +0 2 3 9 10 15 +0 2 3 9 11 12 +0 2 3 9 11 13 +0 2 3 9 11 14 +0 2 3 9 11 15 +0 2 3 9 12 13 +0 2 3 9 12 14 +0 2 3 9 12 15 +0 2 3 9 13 14 +0 2 3 9 13 15 +0 2 3 9 14 15 +0 2 3 10 11 12 +0 2 3 10 11 13 +0 2 3 10 11 14 +0 2 3 10 11 15 +0 2 3 10 12 13 +0 2 3 10 12 14 +0 2 3 10 12 15 +0 2 3 10 13 14 +0 2 3 10 13 15 +0 2 3 10 14 15 +0 2 3 11 12 13 +0 2 3 11 12 14 +0 2 3 11 12 15 +0 2 3 11 13 14 +0 2 3 11 13 15 +0 2 3 11 14 15 +0 2 3 12 13 14 +0 2 3 12 13 15 +0 2 3 12 14 15 +0 2 3 13 14 15 +0 2 4 5 6 7 +0 2 4 5 6 8 +0 2 4 5 6 9 +0 2 4 5 6 10 +0 2 4 5 6 11 +0 2 4 5 6 12 +0 2 4 5 6 13 +0 2 4 5 6 14 +0 2 4 5 6 15 +0 2 4 5 7 8 +0 2 4 5 7 9 +0 2 4 5 7 10 +0 2 4 5 7 11 +0 2 4 5 7 12 +0 2 4 5 7 13 +0 2 4 5 7 14 +0 2 4 5 7 15 +0 2 4 5 8 9 +0 2 4 5 8 10 +0 2 4 5 8 11 +0 2 4 5 8 12 +0 2 4 5 8 13 +0 2 4 5 8 14 +0 2 4 5 8 15 +0 2 4 5 9 10 +0 2 4 5 9 11 +0 2 4 5 9 12 +0 2 4 5 9 13 +0 2 4 5 9 14 +0 2 4 5 9 15 +0 2 4 5 10 11 +0 2 4 5 10 12 +0 2 4 5 10 13 +0 2 4 5 10 14 +0 2 4 5 10 15 +0 2 4 5 11 12 +0 2 4 5 11 13 +0 2 4 5 11 14 +0 2 4 5 11 15 +0 2 4 5 12 13 +0 2 4 5 12 14 +0 2 4 5 12 15 +0 2 4 5 13 14 +0 2 4 5 13 15 +0 2 4 5 14 15 +0 2 4 6 7 8 +0 2 4 6 7 9 +0 2 4 6 7 10 +0 2 4 6 7 11 +0 2 4 6 7 12 +0 2 4 6 7 13 +0 2 4 6 7 14 +0 2 4 6 7 15 +0 2 4 6 8 9 +0 2 4 6 8 10 +0 2 4 6 8 11 +0 2 4 6 8 12 +0 2 4 6 8 13 +0 2 4 6 8 14 +0 2 4 6 8 15 +0 2 4 6 9 10 +0 2 4 6 9 11 +0 2 4 6 9 12 +0 2 4 6 9 13 +0 2 4 6 9 14 +0 2 4 6 9 15 +0 2 4 6 10 11 +0 2 4 6 10 12 +0 2 4 6 10 13 +0 2 4 6 10 14 +0 2 4 6 10 15 +0 2 4 6 11 12 +0 2 4 6 11 13 +0 2 4 6 11 14 +0 2 4 6 11 15 +0 2 4 6 12 13 +0 2 4 6 12 14 +0 2 4 6 12 15 +0 2 4 6 13 14 +0 2 4 6 13 15 +0 2 4 6 14 15 +0 2 4 7 8 9 +0 2 4 7 8 10 +0 2 4 7 8 11 +0 2 4 7 8 12 +0 2 4 7 8 13 +0 2 4 7 8 14 +0 2 4 7 8 15 +0 2 4 7 9 10 +0 2 4 7 9 11 +0 2 4 7 9 12 +0 2 4 7 9 13 +0 2 4 7 9 14 +0 2 4 7 9 15 +0 2 4 7 10 11 +0 2 4 7 10 12 +0 2 4 7 10 13 +0 2 4 7 10 14 +0 2 4 7 10 15 +0 2 4 7 11 12 +0 2 4 7 11 13 +0 2 4 7 11 14 +0 2 4 7 11 15 +0 2 4 7 12 13 +0 2 4 7 12 14 +0 2 4 7 12 15 +0 2 4 7 13 14 +0 2 4 7 13 15 +0 2 4 7 14 15 +0 2 4 8 9 10 +0 2 4 8 9 11 +0 2 4 8 9 12 +0 2 4 8 9 13 +0 2 4 8 9 14 +0 2 4 8 9 15 +0 2 4 8 10 11 +0 2 4 8 10 12 +0 2 4 8 10 13 +0 2 4 8 10 14 +0 2 4 8 10 15 +0 2 4 8 11 12 +0 2 4 8 11 13 +0 2 4 8 11 14 +0 2 4 8 11 15 +0 2 4 8 12 13 +0 2 4 8 12 14 +0 2 4 8 12 15 +0 2 4 8 13 14 +0 2 4 8 13 15 +0 2 4 8 14 15 +0 2 4 9 10 11 +0 2 4 9 10 12 +0 2 4 9 10 13 +0 2 4 9 10 14 +0 2 4 9 10 15 +0 2 4 9 11 12 +0 2 4 9 11 13 +0 2 4 9 11 14 +0 2 4 9 11 15 +0 2 4 9 12 13 +0 2 4 9 12 14 +0 2 4 9 12 15 +0 2 4 9 13 14 +0 2 4 9 13 15 +0 2 4 9 14 15 +0 2 4 10 11 12 +0 2 4 10 11 13 +0 2 4 10 11 14 +0 2 4 10 11 15 +0 2 4 10 12 13 +0 2 4 10 12 14 +0 2 4 10 12 15 +0 2 4 10 13 14 +0 2 4 10 13 15 +0 2 4 10 14 15 +0 2 4 11 12 13 +0 2 4 11 12 14 +0 2 4 11 12 15 +0 2 4 11 13 14 +0 2 4 11 13 15 +0 2 4 11 14 15 +0 2 4 12 13 14 +0 2 4 12 13 15 +0 2 4 12 14 15 +0 2 4 13 14 15 +0 2 5 6 7 8 +0 2 5 6 7 9 +0 2 5 6 7 10 +0 2 5 6 7 11 +0 2 5 6 7 12 +0 2 5 6 7 13 +0 2 5 6 7 14 +0 2 5 6 7 15 +0 2 5 6 8 9 +0 2 5 6 8 10 +0 2 5 6 8 11 +0 2 5 6 8 12 +0 2 5 6 8 13 +0 2 5 6 8 14 +0 2 5 6 8 15 +0 2 5 6 9 10 +0 2 5 6 9 11 +0 2 5 6 9 12 +0 2 5 6 9 13 +0 2 5 6 9 14 +0 2 5 6 9 15 +0 2 5 6 10 11 +0 2 5 6 10 12 +0 2 5 6 10 13 +0 2 5 6 10 14 +0 2 5 6 10 15 +0 2 5 6 11 12 +0 2 5 6 11 13 +0 2 5 6 11 14 +0 2 5 6 11 15 +0 2 5 6 12 13 +0 2 5 6 12 14 +0 2 5 6 12 15 +0 2 5 6 13 14 +0 2 5 6 13 15 +0 2 5 6 14 15 +0 2 5 7 8 9 +0 2 5 7 8 10 +0 2 5 7 8 11 +0 2 5 7 8 12 +0 2 5 7 8 13 +0 2 5 7 8 14 +0 2 5 7 8 15 +0 2 5 7 9 10 +0 2 5 7 9 11 +0 2 5 7 9 12 +0 2 5 7 9 13 +0 2 5 7 9 14 +0 2 5 7 9 15 +0 2 5 7 10 11 +0 2 5 7 10 12 +0 2 5 7 10 13 +0 2 5 7 10 14 +0 2 5 7 10 15 +0 2 5 7 11 12 +0 2 5 7 11 13 +0 2 5 7 11 14 +0 2 5 7 11 15 +0 2 5 7 12 13 +0 2 5 7 12 14 +0 2 5 7 12 15 +0 2 5 7 13 14 +0 2 5 7 13 15 +0 2 5 7 14 15 +0 2 5 8 9 10 +0 2 5 8 9 11 +0 2 5 8 9 12 +0 2 5 8 9 13 +0 2 5 8 9 14 +0 2 5 8 9 15 +0 2 5 8 10 11 +0 2 5 8 10 12 +0 2 5 8 10 13 +0 2 5 8 10 14 +0 2 5 8 10 15 +0 2 5 8 11 12 +0 2 5 8 11 13 +0 2 5 8 11 14 +0 2 5 8 11 15 +0 2 5 8 12 13 +0 2 5 8 12 14 +0 2 5 8 12 15 +0 2 5 8 13 14 +0 2 5 8 13 15 +0 2 5 8 14 15 +0 2 5 9 10 11 +0 2 5 9 10 12 +0 2 5 9 10 13 +0 2 5 9 10 14 +0 2 5 9 10 15 +0 2 5 9 11 12 +0 2 5 9 11 13 +0 2 5 9 11 14 +0 2 5 9 11 15 +0 2 5 9 12 13 +0 2 5 9 12 14 +0 2 5 9 12 15 +0 2 5 9 13 14 +0 2 5 9 13 15 +0 2 5 9 14 15 +0 2 5 10 11 12 +0 2 5 10 11 13 +0 2 5 10 11 14 +0 2 5 10 11 15 +0 2 5 10 12 13 +0 2 5 10 12 14 +0 2 5 10 12 15 +0 2 5 10 13 14 +0 2 5 10 13 15 +0 2 5 10 14 15 +0 2 5 11 12 13 +0 2 5 11 12 14 +0 2 5 11 12 15 +0 2 5 11 13 14 +0 2 5 11 13 15 +0 2 5 11 14 15 +0 2 5 12 13 14 +0 2 5 12 13 15 +0 2 5 12 14 15 +0 2 5 13 14 15 +0 2 6 7 8 9 +0 2 6 7 8 10 +0 2 6 7 8 11 +0 2 6 7 8 12 +0 2 6 7 8 13 +0 2 6 7 8 14 +0 2 6 7 8 15 +0 2 6 7 9 10 +0 2 6 7 9 11 +0 2 6 7 9 12 +0 2 6 7 9 13 +0 2 6 7 9 14 +0 2 6 7 9 15 +0 2 6 7 10 11 +0 2 6 7 10 12 +0 2 6 7 10 13 +0 2 6 7 10 14 +0 2 6 7 10 15 +0 2 6 7 11 12 +0 2 6 7 11 13 +0 2 6 7 11 14 +0 2 6 7 11 15 +0 2 6 7 12 13 +0 2 6 7 12 14 +0 2 6 7 12 15 +0 2 6 7 13 14 +0 2 6 7 13 15 +0 2 6 7 14 15 +0 2 6 8 9 10 +0 2 6 8 9 11 +0 2 6 8 9 12 +0 2 6 8 9 13 +0 2 6 8 9 14 +0 2 6 8 9 15 +0 2 6 8 10 11 +0 2 6 8 10 12 +0 2 6 8 10 13 +0 2 6 8 10 14 +0 2 6 8 10 15 +0 2 6 8 11 12 +0 2 6 8 11 13 +0 2 6 8 11 14 +0 2 6 8 11 15 +0 2 6 8 12 13 +0 2 6 8 12 14 +0 2 6 8 12 15 +0 2 6 8 13 14 +0 2 6 8 13 15 +0 2 6 8 14 15 +0 2 6 9 10 11 +0 2 6 9 10 12 +0 2 6 9 10 13 +0 2 6 9 10 14 +0 2 6 9 10 15 +0 2 6 9 11 12 +0 2 6 9 11 13 +0 2 6 9 11 14 +0 2 6 9 11 15 +0 2 6 9 12 13 +0 2 6 9 12 14 +0 2 6 9 12 15 +0 2 6 9 13 14 +0 2 6 9 13 15 +0 2 6 9 14 15 +0 2 6 10 11 12 +0 2 6 10 11 13 +0 2 6 10 11 14 +0 2 6 10 11 15 +0 2 6 10 12 13 +0 2 6 10 12 14 +0 2 6 10 12 15 +0 2 6 10 13 14 +0 2 6 10 13 15 +0 2 6 10 14 15 +0 2 6 11 12 13 +0 2 6 11 12 14 +0 2 6 11 12 15 +0 2 6 11 13 14 +0 2 6 11 13 15 +0 2 6 11 14 15 +0 2 6 12 13 14 +0 2 6 12 13 15 +0 2 6 12 14 15 +0 2 6 13 14 15 +0 2 7 8 9 10 +0 2 7 8 9 11 +0 2 7 8 9 12 +0 2 7 8 9 13 +0 2 7 8 9 14 +0 2 7 8 9 15 +0 2 7 8 10 11 +0 2 7 8 10 12 +0 2 7 8 10 13 +0 2 7 8 10 14 +0 2 7 8 10 15 +0 2 7 8 11 12 +0 2 7 8 11 13 +0 2 7 8 11 14 +0 2 7 8 11 15 +0 2 7 8 12 13 +0 2 7 8 12 14 +0 2 7 8 12 15 +0 2 7 8 13 14 +0 2 7 8 13 15 +0 2 7 8 14 15 +0 2 7 9 10 11 +0 2 7 9 10 12 +0 2 7 9 10 13 +0 2 7 9 10 14 +0 2 7 9 10 15 +0 2 7 9 11 12 +0 2 7 9 11 13 +0 2 7 9 11 14 +0 2 7 9 11 15 +0 2 7 9 12 13 +0 2 7 9 12 14 +0 2 7 9 12 15 +0 2 7 9 13 14 +0 2 7 9 13 15 +0 2 7 9 14 15 +0 2 7 10 11 12 +0 2 7 10 11 13 +0 2 7 10 11 14 +0 2 7 10 11 15 +0 2 7 10 12 13 +0 2 7 10 12 14 +0 2 7 10 12 15 +0 2 7 10 13 14 +0 2 7 10 13 15 +0 2 7 10 14 15 +0 2 7 11 12 13 +0 2 7 11 12 14 +0 2 7 11 12 15 +0 2 7 11 13 14 +0 2 7 11 13 15 +0 2 7 11 14 15 +0 2 7 12 13 14 +0 2 7 12 13 15 +0 2 7 12 14 15 +0 2 7 13 14 15 +0 2 8 9 10 11 +0 2 8 9 10 12 +0 2 8 9 10 13 +0 2 8 9 10 14 +0 2 8 9 10 15 +0 2 8 9 11 12 +0 2 8 9 11 13 +0 2 8 9 11 14 +0 2 8 9 11 15 +0 2 8 9 12 13 +0 2 8 9 12 14 +0 2 8 9 12 15 +0 2 8 9 13 14 +0 2 8 9 13 15 +0 2 8 9 14 15 +0 2 8 10 11 12 +0 2 8 10 11 13 +0 2 8 10 11 14 +0 2 8 10 11 15 +0 2 8 10 12 13 +0 2 8 10 12 14 +0 2 8 10 12 15 +0 2 8 10 13 14 +0 2 8 10 13 15 +0 2 8 10 14 15 +0 2 8 11 12 13 +0 2 8 11 12 14 +0 2 8 11 12 15 +0 2 8 11 13 14 +0 2 8 11 13 15 +0 2 8 11 14 15 +0 2 8 12 13 14 +0 2 8 12 13 15 +0 2 8 12 14 15 +0 2 8 13 14 15 +0 2 9 10 11 12 +0 2 9 10 11 13 +0 2 9 10 11 14 +0 2 9 10 11 15 +0 2 9 10 12 13 +0 2 9 10 12 14 +0 2 9 10 12 15 +0 2 9 10 13 14 +0 2 9 10 13 15 +0 2 9 10 14 15 +0 2 9 11 12 13 +0 2 9 11 12 14 +0 2 9 11 12 15 +0 2 9 11 13 14 +0 2 9 11 13 15 +0 2 9 11 14 15 +0 2 9 12 13 14 +0 2 9 12 13 15 +0 2 9 12 14 15 +0 2 9 13 14 15 +0 2 10 11 12 13 +0 2 10 11 12 14 +0 2 10 11 12 15 +0 2 10 11 13 14 +0 2 10 11 13 15 +0 2 10 11 14 15 +0 2 10 12 13 14 +0 2 10 12 13 15 +0 2 10 12 14 15 +0 2 10 13 14 15 +0 2 11 12 13 14 +0 2 11 12 13 15 +0 2 11 12 14 15 +0 2 11 13 14 15 +0 2 12 13 14 15 +0 3 4 5 6 7 +0 3 4 5 6 8 +0 3 4 5 6 9 +0 3 4 5 6 10 +0 3 4 5 6 11 +0 3 4 5 6 12 +0 3 4 5 6 13 +0 3 4 5 6 14 +0 3 4 5 6 15 +0 3 4 5 7 8 +0 3 4 5 7 9 +0 3 4 5 7 10 +0 3 4 5 7 11 +0 3 4 5 7 12 +0 3 4 5 7 13 +0 3 4 5 7 14 +0 3 4 5 7 15 +0 3 4 5 8 9 +0 3 4 5 8 10 +0 3 4 5 8 11 +0 3 4 5 8 12 +0 3 4 5 8 13 +0 3 4 5 8 14 +0 3 4 5 8 15 +0 3 4 5 9 10 +0 3 4 5 9 11 +0 3 4 5 9 12 +0 3 4 5 9 13 +0 3 4 5 9 14 +0 3 4 5 9 15 +0 3 4 5 10 11 +0 3 4 5 10 12 +0 3 4 5 10 13 +0 3 4 5 10 14 +0 3 4 5 10 15 +0 3 4 5 11 12 +0 3 4 5 11 13 +0 3 4 5 11 14 +0 3 4 5 11 15 +0 3 4 5 12 13 +0 3 4 5 12 14 +0 3 4 5 12 15 +0 3 4 5 13 14 +0 3 4 5 13 15 +0 3 4 5 14 15 +0 3 4 6 7 8 +0 3 4 6 7 9 +0 3 4 6 7 10 +0 3 4 6 7 11 +0 3 4 6 7 12 +0 3 4 6 7 13 +0 3 4 6 7 14 +0 3 4 6 7 15 +0 3 4 6 8 9 +0 3 4 6 8 10 +0 3 4 6 8 11 +0 3 4 6 8 12 +0 3 4 6 8 13 +0 3 4 6 8 14 +0 3 4 6 8 15 +0 3 4 6 9 10 +0 3 4 6 9 11 +0 3 4 6 9 12 +0 3 4 6 9 13 +0 3 4 6 9 14 +0 3 4 6 9 15 +0 3 4 6 10 11 +0 3 4 6 10 12 +0 3 4 6 10 13 +0 3 4 6 10 14 +0 3 4 6 10 15 +0 3 4 6 11 12 +0 3 4 6 11 13 +0 3 4 6 11 14 +0 3 4 6 11 15 +0 3 4 6 12 13 +0 3 4 6 12 14 +0 3 4 6 12 15 +0 3 4 6 13 14 +0 3 4 6 13 15 +0 3 4 6 14 15 +0 3 4 7 8 9 +0 3 4 7 8 10 +0 3 4 7 8 11 +0 3 4 7 8 12 +0 3 4 7 8 13 +0 3 4 7 8 14 +0 3 4 7 8 15 +0 3 4 7 9 10 +0 3 4 7 9 11 +0 3 4 7 9 12 +0 3 4 7 9 13 +0 3 4 7 9 14 +0 3 4 7 9 15 +0 3 4 7 10 11 +0 3 4 7 10 12 +0 3 4 7 10 13 +0 3 4 7 10 14 +0 3 4 7 10 15 +0 3 4 7 11 12 +0 3 4 7 11 13 +0 3 4 7 11 14 +0 3 4 7 11 15 +0 3 4 7 12 13 +0 3 4 7 12 14 +0 3 4 7 12 15 +0 3 4 7 13 14 +0 3 4 7 13 15 +0 3 4 7 14 15 +0 3 4 8 9 10 +0 3 4 8 9 11 +0 3 4 8 9 12 +0 3 4 8 9 13 +0 3 4 8 9 14 +0 3 4 8 9 15 +0 3 4 8 10 11 +0 3 4 8 10 12 +0 3 4 8 10 13 +0 3 4 8 10 14 +0 3 4 8 10 15 +0 3 4 8 11 12 +0 3 4 8 11 13 +0 3 4 8 11 14 +0 3 4 8 11 15 +0 3 4 8 12 13 +0 3 4 8 12 14 +0 3 4 8 12 15 +0 3 4 8 13 14 +0 3 4 8 13 15 +0 3 4 8 14 15 +0 3 4 9 10 11 +0 3 4 9 10 12 +0 3 4 9 10 13 +0 3 4 9 10 14 +0 3 4 9 10 15 +0 3 4 9 11 12 +0 3 4 9 11 13 +0 3 4 9 11 14 +0 3 4 9 11 15 +0 3 4 9 12 13 +0 3 4 9 12 14 +0 3 4 9 12 15 +0 3 4 9 13 14 +0 3 4 9 13 15 +0 3 4 9 14 15 +0 3 4 10 11 12 +0 3 4 10 11 13 +0 3 4 10 11 14 +0 3 4 10 11 15 +0 3 4 10 12 13 +0 3 4 10 12 14 +0 3 4 10 12 15 +0 3 4 10 13 14 +0 3 4 10 13 15 +0 3 4 10 14 15 +0 3 4 11 12 13 +0 3 4 11 12 14 +0 3 4 11 12 15 +0 3 4 11 13 14 +0 3 4 11 13 15 +0 3 4 11 14 15 +0 3 4 12 13 14 +0 3 4 12 13 15 +0 3 4 12 14 15 +0 3 4 13 14 15 +0 3 5 6 7 8 +0 3 5 6 7 9 +0 3 5 6 7 10 +0 3 5 6 7 11 +0 3 5 6 7 12 +0 3 5 6 7 13 +0 3 5 6 7 14 +0 3 5 6 7 15 +0 3 5 6 8 9 +0 3 5 6 8 10 +0 3 5 6 8 11 +0 3 5 6 8 12 +0 3 5 6 8 13 +0 3 5 6 8 14 +0 3 5 6 8 15 +0 3 5 6 9 10 +0 3 5 6 9 11 +0 3 5 6 9 12 +0 3 5 6 9 13 +0 3 5 6 9 14 +0 3 5 6 9 15 +0 3 5 6 10 11 +0 3 5 6 10 12 +0 3 5 6 10 13 +0 3 5 6 10 14 +0 3 5 6 10 15 +0 3 5 6 11 12 +0 3 5 6 11 13 +0 3 5 6 11 14 +0 3 5 6 11 15 +0 3 5 6 12 13 +0 3 5 6 12 14 +0 3 5 6 12 15 +0 3 5 6 13 14 +0 3 5 6 13 15 +0 3 5 6 14 15 +0 3 5 7 8 9 +0 3 5 7 8 10 +0 3 5 7 8 11 +0 3 5 7 8 12 +0 3 5 7 8 13 +0 3 5 7 8 14 +0 3 5 7 8 15 +0 3 5 7 9 10 +0 3 5 7 9 11 +0 3 5 7 9 12 +0 3 5 7 9 13 +0 3 5 7 9 14 +0 3 5 7 9 15 +0 3 5 7 10 11 +0 3 5 7 10 12 +0 3 5 7 10 13 +0 3 5 7 10 14 +0 3 5 7 10 15 +0 3 5 7 11 12 +0 3 5 7 11 13 +0 3 5 7 11 14 +0 3 5 7 11 15 +0 3 5 7 12 13 +0 3 5 7 12 14 +0 3 5 7 12 15 +0 3 5 7 13 14 +0 3 5 7 13 15 +0 3 5 7 14 15 +0 3 5 8 9 10 +0 3 5 8 9 11 +0 3 5 8 9 12 +0 3 5 8 9 13 +0 3 5 8 9 14 +0 3 5 8 9 15 +0 3 5 8 10 11 +0 3 5 8 10 12 +0 3 5 8 10 13 +0 3 5 8 10 14 +0 3 5 8 10 15 +0 3 5 8 11 12 +0 3 5 8 11 13 +0 3 5 8 11 14 +0 3 5 8 11 15 +0 3 5 8 12 13 +0 3 5 8 12 14 +0 3 5 8 12 15 +0 3 5 8 13 14 +0 3 5 8 13 15 +0 3 5 8 14 15 +0 3 5 9 10 11 +0 3 5 9 10 12 +0 3 5 9 10 13 +0 3 5 9 10 14 +0 3 5 9 10 15 +0 3 5 9 11 12 +0 3 5 9 11 13 +0 3 5 9 11 14 +0 3 5 9 11 15 +0 3 5 9 12 13 +0 3 5 9 12 14 +0 3 5 9 12 15 +0 3 5 9 13 14 +0 3 5 9 13 15 +0 3 5 9 14 15 +0 3 5 10 11 12 +0 3 5 10 11 13 +0 3 5 10 11 14 +0 3 5 10 11 15 +0 3 5 10 12 13 +0 3 5 10 12 14 +0 3 5 10 12 15 +0 3 5 10 13 14 +0 3 5 10 13 15 +0 3 5 10 14 15 +0 3 5 11 12 13 +0 3 5 11 12 14 +0 3 5 11 12 15 +0 3 5 11 13 14 +0 3 5 11 13 15 +0 3 5 11 14 15 +0 3 5 12 13 14 +0 3 5 12 13 15 +0 3 5 12 14 15 +0 3 5 13 14 15 +0 3 6 7 8 9 +0 3 6 7 8 10 +0 3 6 7 8 11 +0 3 6 7 8 12 +0 3 6 7 8 13 +0 3 6 7 8 14 +0 3 6 7 8 15 +0 3 6 7 9 10 +0 3 6 7 9 11 +0 3 6 7 9 12 +0 3 6 7 9 13 +0 3 6 7 9 14 +0 3 6 7 9 15 +0 3 6 7 10 11 +0 3 6 7 10 12 +0 3 6 7 10 13 +0 3 6 7 10 14 +0 3 6 7 10 15 +0 3 6 7 11 12 +0 3 6 7 11 13 +0 3 6 7 11 14 +0 3 6 7 11 15 +0 3 6 7 12 13 +0 3 6 7 12 14 +0 3 6 7 12 15 +0 3 6 7 13 14 +0 3 6 7 13 15 +0 3 6 7 14 15 +0 3 6 8 9 10 +0 3 6 8 9 11 +0 3 6 8 9 12 +0 3 6 8 9 13 +0 3 6 8 9 14 +0 3 6 8 9 15 +0 3 6 8 10 11 +0 3 6 8 10 12 +0 3 6 8 10 13 +0 3 6 8 10 14 +0 3 6 8 10 15 +0 3 6 8 11 12 +0 3 6 8 11 13 +0 3 6 8 11 14 +0 3 6 8 11 15 +0 3 6 8 12 13 +0 3 6 8 12 14 +0 3 6 8 12 15 +0 3 6 8 13 14 +0 3 6 8 13 15 +0 3 6 8 14 15 +0 3 6 9 10 11 +0 3 6 9 10 12 +0 3 6 9 10 13 +0 3 6 9 10 14 +0 3 6 9 10 15 +0 3 6 9 11 12 +0 3 6 9 11 13 +0 3 6 9 11 14 +0 3 6 9 11 15 +0 3 6 9 12 13 +0 3 6 9 12 14 +0 3 6 9 12 15 +0 3 6 9 13 14 +0 3 6 9 13 15 +0 3 6 9 14 15 +0 3 6 10 11 12 +0 3 6 10 11 13 +0 3 6 10 11 14 +0 3 6 10 11 15 +0 3 6 10 12 13 +0 3 6 10 12 14 +0 3 6 10 12 15 +0 3 6 10 13 14 +0 3 6 10 13 15 +0 3 6 10 14 15 +0 3 6 11 12 13 +0 3 6 11 12 14 +0 3 6 11 12 15 +0 3 6 11 13 14 +0 3 6 11 13 15 +0 3 6 11 14 15 +0 3 6 12 13 14 +0 3 6 12 13 15 +0 3 6 12 14 15 +0 3 6 13 14 15 +0 3 7 8 9 10 +0 3 7 8 9 11 +0 3 7 8 9 12 +0 3 7 8 9 13 +0 3 7 8 9 14 +0 3 7 8 9 15 +0 3 7 8 10 11 +0 3 7 8 10 12 +0 3 7 8 10 13 +0 3 7 8 10 14 +0 3 7 8 10 15 +0 3 7 8 11 12 +0 3 7 8 11 13 +0 3 7 8 11 14 +0 3 7 8 11 15 +0 3 7 8 12 13 +0 3 7 8 12 14 +0 3 7 8 12 15 +0 3 7 8 13 14 +0 3 7 8 13 15 +0 3 7 8 14 15 +0 3 7 9 10 11 +0 3 7 9 10 12 +0 3 7 9 10 13 +0 3 7 9 10 14 +0 3 7 9 10 15 +0 3 7 9 11 12 +0 3 7 9 11 13 +0 3 7 9 11 14 +0 3 7 9 11 15 +0 3 7 9 12 13 +0 3 7 9 12 14 +0 3 7 9 12 15 +0 3 7 9 13 14 +0 3 7 9 13 15 +0 3 7 9 14 15 +0 3 7 10 11 12 +0 3 7 10 11 13 +0 3 7 10 11 14 +0 3 7 10 11 15 +0 3 7 10 12 13 +0 3 7 10 12 14 +0 3 7 10 12 15 +0 3 7 10 13 14 +0 3 7 10 13 15 +0 3 7 10 14 15 +0 3 7 11 12 13 +0 3 7 11 12 14 +0 3 7 11 12 15 +0 3 7 11 13 14 +0 3 7 11 13 15 +0 3 7 11 14 15 +0 3 7 12 13 14 +0 3 7 12 13 15 +0 3 7 12 14 15 +0 3 7 13 14 15 +0 3 8 9 10 11 +0 3 8 9 10 12 +0 3 8 9 10 13 +0 3 8 9 10 14 +0 3 8 9 10 15 +0 3 8 9 11 12 +0 3 8 9 11 13 +0 3 8 9 11 14 +0 3 8 9 11 15 +0 3 8 9 12 13 +0 3 8 9 12 14 +0 3 8 9 12 15 +0 3 8 9 13 14 +0 3 8 9 13 15 +0 3 8 9 14 15 +0 3 8 10 11 12 +0 3 8 10 11 13 +0 3 8 10 11 14 +0 3 8 10 11 15 +0 3 8 10 12 13 +0 3 8 10 12 14 +0 3 8 10 12 15 +0 3 8 10 13 14 +0 3 8 10 13 15 +0 3 8 10 14 15 +0 3 8 11 12 13 +0 3 8 11 12 14 +0 3 8 11 12 15 +0 3 8 11 13 14 +0 3 8 11 13 15 +0 3 8 11 14 15 +0 3 8 12 13 14 +0 3 8 12 13 15 +0 3 8 12 14 15 +0 3 8 13 14 15 +0 3 9 10 11 12 +0 3 9 10 11 13 +0 3 9 10 11 14 +0 3 9 10 11 15 +0 3 9 10 12 13 +0 3 9 10 12 14 +0 3 9 10 12 15 +0 3 9 10 13 14 +0 3 9 10 13 15 +0 3 9 10 14 15 +0 3 9 11 12 13 +0 3 9 11 12 14 +0 3 9 11 12 15 +0 3 9 11 13 14 +0 3 9 11 13 15 +0 3 9 11 14 15 +0 3 9 12 13 14 +0 3 9 12 13 15 +0 3 9 12 14 15 +0 3 9 13 14 15 +0 3 10 11 12 13 +0 3 10 11 12 14 +0 3 10 11 12 15 +0 3 10 11 13 14 +0 3 10 11 13 15 +0 3 10 11 14 15 +0 3 10 12 13 14 +0 3 10 12 13 15 +0 3 10 12 14 15 +0 3 10 13 14 15 +0 3 11 12 13 14 +0 3 11 12 13 15 +0 3 11 12 14 15 +0 3 11 13 14 15 +0 3 12 13 14 15 +0 4 5 6 7 8 +0 4 5 6 7 9 +0 4 5 6 7 10 +0 4 5 6 7 11 +0 4 5 6 7 12 +0 4 5 6 7 13 +0 4 5 6 7 14 +0 4 5 6 7 15 +0 4 5 6 8 9 +0 4 5 6 8 10 +0 4 5 6 8 11 +0 4 5 6 8 12 +0 4 5 6 8 13 +0 4 5 6 8 14 +0 4 5 6 8 15 +0 4 5 6 9 10 +0 4 5 6 9 11 +0 4 5 6 9 12 +0 4 5 6 9 13 +0 4 5 6 9 14 +0 4 5 6 9 15 +0 4 5 6 10 11 +0 4 5 6 10 12 +0 4 5 6 10 13 +0 4 5 6 10 14 +0 4 5 6 10 15 +0 4 5 6 11 12 +0 4 5 6 11 13 +0 4 5 6 11 14 +0 4 5 6 11 15 +0 4 5 6 12 13 +0 4 5 6 12 14 +0 4 5 6 12 15 +0 4 5 6 13 14 +0 4 5 6 13 15 +0 4 5 6 14 15 +0 4 5 7 8 9 +0 4 5 7 8 10 +0 4 5 7 8 11 +0 4 5 7 8 12 +0 4 5 7 8 13 +0 4 5 7 8 14 +0 4 5 7 8 15 +0 4 5 7 9 10 +0 4 5 7 9 11 +0 4 5 7 9 12 +0 4 5 7 9 13 +0 4 5 7 9 14 +0 4 5 7 9 15 +0 4 5 7 10 11 +0 4 5 7 10 12 +0 4 5 7 10 13 +0 4 5 7 10 14 +0 4 5 7 10 15 +0 4 5 7 11 12 +0 4 5 7 11 13 +0 4 5 7 11 14 +0 4 5 7 11 15 +0 4 5 7 12 13 +0 4 5 7 12 14 +0 4 5 7 12 15 +0 4 5 7 13 14 +0 4 5 7 13 15 +0 4 5 7 14 15 +0 4 5 8 9 10 +0 4 5 8 9 11 +0 4 5 8 9 12 +0 4 5 8 9 13 +0 4 5 8 9 14 +0 4 5 8 9 15 +0 4 5 8 10 11 +0 4 5 8 10 12 +0 4 5 8 10 13 +0 4 5 8 10 14 +0 4 5 8 10 15 +0 4 5 8 11 12 +0 4 5 8 11 13 +0 4 5 8 11 14 +0 4 5 8 11 15 +0 4 5 8 12 13 +0 4 5 8 12 14 +0 4 5 8 12 15 +0 4 5 8 13 14 +0 4 5 8 13 15 +0 4 5 8 14 15 +0 4 5 9 10 11 +0 4 5 9 10 12 +0 4 5 9 10 13 +0 4 5 9 10 14 +0 4 5 9 10 15 +0 4 5 9 11 12 +0 4 5 9 11 13 +0 4 5 9 11 14 +0 4 5 9 11 15 +0 4 5 9 12 13 +0 4 5 9 12 14 +0 4 5 9 12 15 +0 4 5 9 13 14 +0 4 5 9 13 15 +0 4 5 9 14 15 +0 4 5 10 11 12 +0 4 5 10 11 13 +0 4 5 10 11 14 +0 4 5 10 11 15 +0 4 5 10 12 13 +0 4 5 10 12 14 +0 4 5 10 12 15 +0 4 5 10 13 14 +0 4 5 10 13 15 +0 4 5 10 14 15 +0 4 5 11 12 13 +0 4 5 11 12 14 +0 4 5 11 12 15 +0 4 5 11 13 14 +0 4 5 11 13 15 +0 4 5 11 14 15 +0 4 5 12 13 14 +0 4 5 12 13 15 +0 4 5 12 14 15 +0 4 5 13 14 15 +0 4 6 7 8 9 +0 4 6 7 8 10 +0 4 6 7 8 11 +0 4 6 7 8 12 +0 4 6 7 8 13 +0 4 6 7 8 14 +0 4 6 7 8 15 +0 4 6 7 9 10 +0 4 6 7 9 11 +0 4 6 7 9 12 +0 4 6 7 9 13 +0 4 6 7 9 14 +0 4 6 7 9 15 +0 4 6 7 10 11 +0 4 6 7 10 12 +0 4 6 7 10 13 +0 4 6 7 10 14 +0 4 6 7 10 15 +0 4 6 7 11 12 +0 4 6 7 11 13 +0 4 6 7 11 14 +0 4 6 7 11 15 +0 4 6 7 12 13 +0 4 6 7 12 14 +0 4 6 7 12 15 +0 4 6 7 13 14 +0 4 6 7 13 15 +0 4 6 7 14 15 +0 4 6 8 9 10 +0 4 6 8 9 11 +0 4 6 8 9 12 +0 4 6 8 9 13 +0 4 6 8 9 14 +0 4 6 8 9 15 +0 4 6 8 10 11 +0 4 6 8 10 12 +0 4 6 8 10 13 +0 4 6 8 10 14 +0 4 6 8 10 15 +0 4 6 8 11 12 +0 4 6 8 11 13 +0 4 6 8 11 14 +0 4 6 8 11 15 +0 4 6 8 12 13 +0 4 6 8 12 14 +0 4 6 8 12 15 +0 4 6 8 13 14 +0 4 6 8 13 15 +0 4 6 8 14 15 +0 4 6 9 10 11 +0 4 6 9 10 12 +0 4 6 9 10 13 +0 4 6 9 10 14 +0 4 6 9 10 15 +0 4 6 9 11 12 +0 4 6 9 11 13 +0 4 6 9 11 14 +0 4 6 9 11 15 +0 4 6 9 12 13 +0 4 6 9 12 14 +0 4 6 9 12 15 +0 4 6 9 13 14 +0 4 6 9 13 15 +0 4 6 9 14 15 +0 4 6 10 11 12 +0 4 6 10 11 13 +0 4 6 10 11 14 +0 4 6 10 11 15 +0 4 6 10 12 13 +0 4 6 10 12 14 +0 4 6 10 12 15 +0 4 6 10 13 14 +0 4 6 10 13 15 +0 4 6 10 14 15 +0 4 6 11 12 13 +0 4 6 11 12 14 +0 4 6 11 12 15 +0 4 6 11 13 14 +0 4 6 11 13 15 +0 4 6 11 14 15 +0 4 6 12 13 14 +0 4 6 12 13 15 +0 4 6 12 14 15 +0 4 6 13 14 15 +0 4 7 8 9 10 +0 4 7 8 9 11 +0 4 7 8 9 12 +0 4 7 8 9 13 +0 4 7 8 9 14 +0 4 7 8 9 15 +0 4 7 8 10 11 +0 4 7 8 10 12 +0 4 7 8 10 13 +0 4 7 8 10 14 +0 4 7 8 10 15 +0 4 7 8 11 12 +0 4 7 8 11 13 +0 4 7 8 11 14 +0 4 7 8 11 15 +0 4 7 8 12 13 +0 4 7 8 12 14 +0 4 7 8 12 15 +0 4 7 8 13 14 +0 4 7 8 13 15 +0 4 7 8 14 15 +0 4 7 9 10 11 +0 4 7 9 10 12 +0 4 7 9 10 13 +0 4 7 9 10 14 +0 4 7 9 10 15 +0 4 7 9 11 12 +0 4 7 9 11 13 +0 4 7 9 11 14 +0 4 7 9 11 15 +0 4 7 9 12 13 +0 4 7 9 12 14 +0 4 7 9 12 15 +0 4 7 9 13 14 +0 4 7 9 13 15 +0 4 7 9 14 15 +0 4 7 10 11 12 +0 4 7 10 11 13 +0 4 7 10 11 14 +0 4 7 10 11 15 +0 4 7 10 12 13 +0 4 7 10 12 14 +0 4 7 10 12 15 +0 4 7 10 13 14 +0 4 7 10 13 15 +0 4 7 10 14 15 +0 4 7 11 12 13 +0 4 7 11 12 14 +0 4 7 11 12 15 +0 4 7 11 13 14 +0 4 7 11 13 15 +0 4 7 11 14 15 +0 4 7 12 13 14 +0 4 7 12 13 15 +0 4 7 12 14 15 +0 4 7 13 14 15 +0 4 8 9 10 11 +0 4 8 9 10 12 +0 4 8 9 10 13 +0 4 8 9 10 14 +0 4 8 9 10 15 +0 4 8 9 11 12 +0 4 8 9 11 13 +0 4 8 9 11 14 +0 4 8 9 11 15 +0 4 8 9 12 13 +0 4 8 9 12 14 +0 4 8 9 12 15 +0 4 8 9 13 14 +0 4 8 9 13 15 +0 4 8 9 14 15 +0 4 8 10 11 12 +0 4 8 10 11 13 +0 4 8 10 11 14 +0 4 8 10 11 15 +0 4 8 10 12 13 +0 4 8 10 12 14 +0 4 8 10 12 15 +0 4 8 10 13 14 +0 4 8 10 13 15 +0 4 8 10 14 15 +0 4 8 11 12 13 +0 4 8 11 12 14 +0 4 8 11 12 15 +0 4 8 11 13 14 +0 4 8 11 13 15 +0 4 8 11 14 15 +0 4 8 12 13 14 +0 4 8 12 13 15 +0 4 8 12 14 15 +0 4 8 13 14 15 +0 4 9 10 11 12 +0 4 9 10 11 13 +0 4 9 10 11 14 +0 4 9 10 11 15 +0 4 9 10 12 13 +0 4 9 10 12 14 +0 4 9 10 12 15 +0 4 9 10 13 14 +0 4 9 10 13 15 +0 4 9 10 14 15 +0 4 9 11 12 13 +0 4 9 11 12 14 +0 4 9 11 12 15 +0 4 9 11 13 14 +0 4 9 11 13 15 +0 4 9 11 14 15 +0 4 9 12 13 14 +0 4 9 12 13 15 +0 4 9 12 14 15 +0 4 9 13 14 15 +0 4 10 11 12 13 +0 4 10 11 12 14 +0 4 10 11 12 15 +0 4 10 11 13 14 +0 4 10 11 13 15 +0 4 10 11 14 15 +0 4 10 12 13 14 +0 4 10 12 13 15 +0 4 10 12 14 15 +0 4 10 13 14 15 +0 4 11 12 13 14 +0 4 11 12 13 15 +0 4 11 12 14 15 +0 4 11 13 14 15 +0 4 12 13 14 15 +0 5 6 7 8 9 +0 5 6 7 8 10 +0 5 6 7 8 11 +0 5 6 7 8 12 +0 5 6 7 8 13 +0 5 6 7 8 14 +0 5 6 7 8 15 +0 5 6 7 9 10 +0 5 6 7 9 11 +0 5 6 7 9 12 +0 5 6 7 9 13 +0 5 6 7 9 14 +0 5 6 7 9 15 +0 5 6 7 10 11 +0 5 6 7 10 12 +0 5 6 7 10 13 +0 5 6 7 10 14 +0 5 6 7 10 15 +0 5 6 7 11 12 +0 5 6 7 11 13 +0 5 6 7 11 14 +0 5 6 7 11 15 +0 5 6 7 12 13 +0 5 6 7 12 14 +0 5 6 7 12 15 +0 5 6 7 13 14 +0 5 6 7 13 15 +0 5 6 7 14 15 +0 5 6 8 9 10 +0 5 6 8 9 11 +0 5 6 8 9 12 +0 5 6 8 9 13 +0 5 6 8 9 14 +0 5 6 8 9 15 +0 5 6 8 10 11 +0 5 6 8 10 12 +0 5 6 8 10 13 +0 5 6 8 10 14 +0 5 6 8 10 15 +0 5 6 8 11 12 +0 5 6 8 11 13 +0 5 6 8 11 14 +0 5 6 8 11 15 +0 5 6 8 12 13 +0 5 6 8 12 14 +0 5 6 8 12 15 +0 5 6 8 13 14 +0 5 6 8 13 15 +0 5 6 8 14 15 +0 5 6 9 10 11 +0 5 6 9 10 12 +0 5 6 9 10 13 +0 5 6 9 10 14 +0 5 6 9 10 15 +0 5 6 9 11 12 +0 5 6 9 11 13 +0 5 6 9 11 14 +0 5 6 9 11 15 +0 5 6 9 12 13 +0 5 6 9 12 14 +0 5 6 9 12 15 +0 5 6 9 13 14 +0 5 6 9 13 15 +0 5 6 9 14 15 +0 5 6 10 11 12 +0 5 6 10 11 13 +0 5 6 10 11 14 +0 5 6 10 11 15 +0 5 6 10 12 13 +0 5 6 10 12 14 +0 5 6 10 12 15 +0 5 6 10 13 14 +0 5 6 10 13 15 +0 5 6 10 14 15 +0 5 6 11 12 13 +0 5 6 11 12 14 +0 5 6 11 12 15 +0 5 6 11 13 14 +0 5 6 11 13 15 +0 5 6 11 14 15 +0 5 6 12 13 14 +0 5 6 12 13 15 +0 5 6 12 14 15 +0 5 6 13 14 15 +0 5 7 8 9 10 +0 5 7 8 9 11 +0 5 7 8 9 12 +0 5 7 8 9 13 +0 5 7 8 9 14 +0 5 7 8 9 15 +0 5 7 8 10 11 +0 5 7 8 10 12 +0 5 7 8 10 13 +0 5 7 8 10 14 +0 5 7 8 10 15 +0 5 7 8 11 12 +0 5 7 8 11 13 +0 5 7 8 11 14 +0 5 7 8 11 15 +0 5 7 8 12 13 +0 5 7 8 12 14 +0 5 7 8 12 15 +0 5 7 8 13 14 +0 5 7 8 13 15 +0 5 7 8 14 15 +0 5 7 9 10 11 +0 5 7 9 10 12 +0 5 7 9 10 13 +0 5 7 9 10 14 +0 5 7 9 10 15 +0 5 7 9 11 12 +0 5 7 9 11 13 +0 5 7 9 11 14 +0 5 7 9 11 15 +0 5 7 9 12 13 +0 5 7 9 12 14 +0 5 7 9 12 15 +0 5 7 9 13 14 +0 5 7 9 13 15 +0 5 7 9 14 15 +0 5 7 10 11 12 +0 5 7 10 11 13 +0 5 7 10 11 14 +0 5 7 10 11 15 +0 5 7 10 12 13 +0 5 7 10 12 14 +0 5 7 10 12 15 +0 5 7 10 13 14 +0 5 7 10 13 15 +0 5 7 10 14 15 +0 5 7 11 12 13 +0 5 7 11 12 14 +0 5 7 11 12 15 +0 5 7 11 13 14 +0 5 7 11 13 15 +0 5 7 11 14 15 +0 5 7 12 13 14 +0 5 7 12 13 15 +0 5 7 12 14 15 +0 5 7 13 14 15 +0 5 8 9 10 11 +0 5 8 9 10 12 +0 5 8 9 10 13 +0 5 8 9 10 14 +0 5 8 9 10 15 +0 5 8 9 11 12 +0 5 8 9 11 13 +0 5 8 9 11 14 +0 5 8 9 11 15 +0 5 8 9 12 13 +0 5 8 9 12 14 +0 5 8 9 12 15 +0 5 8 9 13 14 +0 5 8 9 13 15 +0 5 8 9 14 15 +0 5 8 10 11 12 +0 5 8 10 11 13 +0 5 8 10 11 14 +0 5 8 10 11 15 +0 5 8 10 12 13 +0 5 8 10 12 14 +0 5 8 10 12 15 +0 5 8 10 13 14 +0 5 8 10 13 15 +0 5 8 10 14 15 +0 5 8 11 12 13 +0 5 8 11 12 14 +0 5 8 11 12 15 +0 5 8 11 13 14 +0 5 8 11 13 15 +0 5 8 11 14 15 +0 5 8 12 13 14 +0 5 8 12 13 15 +0 5 8 12 14 15 +0 5 8 13 14 15 +0 5 9 10 11 12 +0 5 9 10 11 13 +0 5 9 10 11 14 +0 5 9 10 11 15 +0 5 9 10 12 13 +0 5 9 10 12 14 +0 5 9 10 12 15 +0 5 9 10 13 14 +0 5 9 10 13 15 +0 5 9 10 14 15 +0 5 9 11 12 13 +0 5 9 11 12 14 +0 5 9 11 12 15 +0 5 9 11 13 14 +0 5 9 11 13 15 +0 5 9 11 14 15 +0 5 9 12 13 14 +0 5 9 12 13 15 +0 5 9 12 14 15 +0 5 9 13 14 15 +0 5 10 11 12 13 +0 5 10 11 12 14 +0 5 10 11 12 15 +0 5 10 11 13 14 +0 5 10 11 13 15 +0 5 10 11 14 15 +0 5 10 12 13 14 +0 5 10 12 13 15 +0 5 10 12 14 15 +0 5 10 13 14 15 +0 5 11 12 13 14 +0 5 11 12 13 15 +0 5 11 12 14 15 +0 5 11 13 14 15 +0 5 12 13 14 15 +0 6 7 8 9 10 +0 6 7 8 9 11 +0 6 7 8 9 12 +0 6 7 8 9 13 +0 6 7 8 9 14 +0 6 7 8 9 15 +0 6 7 8 10 11 +0 6 7 8 10 12 +0 6 7 8 10 13 +0 6 7 8 10 14 +0 6 7 8 10 15 +0 6 7 8 11 12 +0 6 7 8 11 13 +0 6 7 8 11 14 +0 6 7 8 11 15 +0 6 7 8 12 13 +0 6 7 8 12 14 +0 6 7 8 12 15 +0 6 7 8 13 14 +0 6 7 8 13 15 +0 6 7 8 14 15 +0 6 7 9 10 11 +0 6 7 9 10 12 +0 6 7 9 10 13 +0 6 7 9 10 14 +0 6 7 9 10 15 +0 6 7 9 11 12 +0 6 7 9 11 13 +0 6 7 9 11 14 +0 6 7 9 11 15 +0 6 7 9 12 13 +0 6 7 9 12 14 +0 6 7 9 12 15 +0 6 7 9 13 14 +0 6 7 9 13 15 +0 6 7 9 14 15 +0 6 7 10 11 12 +0 6 7 10 11 13 +0 6 7 10 11 14 +0 6 7 10 11 15 +0 6 7 10 12 13 +0 6 7 10 12 14 +0 6 7 10 12 15 +0 6 7 10 13 14 +0 6 7 10 13 15 +0 6 7 10 14 15 +0 6 7 11 12 13 +0 6 7 11 12 14 +0 6 7 11 12 15 +0 6 7 11 13 14 +0 6 7 11 13 15 +0 6 7 11 14 15 +0 6 7 12 13 14 +0 6 7 12 13 15 +0 6 7 12 14 15 +0 6 7 13 14 15 +0 6 8 9 10 11 +0 6 8 9 10 12 +0 6 8 9 10 13 +0 6 8 9 10 14 +0 6 8 9 10 15 +0 6 8 9 11 12 +0 6 8 9 11 13 +0 6 8 9 11 14 +0 6 8 9 11 15 +0 6 8 9 12 13 +0 6 8 9 12 14 +0 6 8 9 12 15 +0 6 8 9 13 14 +0 6 8 9 13 15 +0 6 8 9 14 15 +0 6 8 10 11 12 +0 6 8 10 11 13 +0 6 8 10 11 14 +0 6 8 10 11 15 +0 6 8 10 12 13 +0 6 8 10 12 14 +0 6 8 10 12 15 +0 6 8 10 13 14 +0 6 8 10 13 15 +0 6 8 10 14 15 +0 6 8 11 12 13 +0 6 8 11 12 14 +0 6 8 11 12 15 +0 6 8 11 13 14 +0 6 8 11 13 15 +0 6 8 11 14 15 +0 6 8 12 13 14 +0 6 8 12 13 15 +0 6 8 12 14 15 +0 6 8 13 14 15 +0 6 9 10 11 12 +0 6 9 10 11 13 +0 6 9 10 11 14 +0 6 9 10 11 15 +0 6 9 10 12 13 +0 6 9 10 12 14 +0 6 9 10 12 15 +0 6 9 10 13 14 +0 6 9 10 13 15 +0 6 9 10 14 15 +0 6 9 11 12 13 +0 6 9 11 12 14 +0 6 9 11 12 15 +0 6 9 11 13 14 +0 6 9 11 13 15 +0 6 9 11 14 15 +0 6 9 12 13 14 +0 6 9 12 13 15 +0 6 9 12 14 15 +0 6 9 13 14 15 +0 6 10 11 12 13 +0 6 10 11 12 14 +0 6 10 11 12 15 +0 6 10 11 13 14 +0 6 10 11 13 15 +0 6 10 11 14 15 +0 6 10 12 13 14 +0 6 10 12 13 15 +0 6 10 12 14 15 +0 6 10 13 14 15 +0 6 11 12 13 14 +0 6 11 12 13 15 +0 6 11 12 14 15 +0 6 11 13 14 15 +0 6 12 13 14 15 +0 7 8 9 10 11 +0 7 8 9 10 12 +0 7 8 9 10 13 +0 7 8 9 10 14 +0 7 8 9 10 15 +0 7 8 9 11 12 +0 7 8 9 11 13 +0 7 8 9 11 14 +0 7 8 9 11 15 +0 7 8 9 12 13 +0 7 8 9 12 14 +0 7 8 9 12 15 +0 7 8 9 13 14 +0 7 8 9 13 15 +0 7 8 9 14 15 +0 7 8 10 11 12 +0 7 8 10 11 13 +0 7 8 10 11 14 +0 7 8 10 11 15 +0 7 8 10 12 13 +0 7 8 10 12 14 +0 7 8 10 12 15 +0 7 8 10 13 14 +0 7 8 10 13 15 +0 7 8 10 14 15 +0 7 8 11 12 13 +0 7 8 11 12 14 +0 7 8 11 12 15 +0 7 8 11 13 14 +0 7 8 11 13 15 +0 7 8 11 14 15 +0 7 8 12 13 14 +0 7 8 12 13 15 +0 7 8 12 14 15 +0 7 8 13 14 15 +0 7 9 10 11 12 +0 7 9 10 11 13 +0 7 9 10 11 14 +0 7 9 10 11 15 +0 7 9 10 12 13 +0 7 9 10 12 14 +0 7 9 10 12 15 +0 7 9 10 13 14 +0 7 9 10 13 15 +0 7 9 10 14 15 +0 7 9 11 12 13 +0 7 9 11 12 14 +0 7 9 11 12 15 +0 7 9 11 13 14 +0 7 9 11 13 15 +0 7 9 11 14 15 +0 7 9 12 13 14 +0 7 9 12 13 15 +0 7 9 12 14 15 +0 7 9 13 14 15 +0 7 10 11 12 13 +0 7 10 11 12 14 +0 7 10 11 12 15 +0 7 10 11 13 14 +0 7 10 11 13 15 +0 7 10 11 14 15 +0 7 10 12 13 14 +0 7 10 12 13 15 +0 7 10 12 14 15 +0 7 10 13 14 15 +0 7 11 12 13 14 +0 7 11 12 13 15 +0 7 11 12 14 15 +0 7 11 13 14 15 +0 7 12 13 14 15 +0 8 9 10 11 12 +0 8 9 10 11 13 +0 8 9 10 11 14 +0 8 9 10 11 15 +0 8 9 10 12 13 +0 8 9 10 12 14 +0 8 9 10 12 15 +0 8 9 10 13 14 +0 8 9 10 13 15 +0 8 9 10 14 15 +0 8 9 11 12 13 +0 8 9 11 12 14 +0 8 9 11 12 15 +0 8 9 11 13 14 +0 8 9 11 13 15 +0 8 9 11 14 15 +0 8 9 12 13 14 +0 8 9 12 13 15 +0 8 9 12 14 15 +0 8 9 13 14 15 +0 8 10 11 12 13 +0 8 10 11 12 14 +0 8 10 11 12 15 +0 8 10 11 13 14 +0 8 10 11 13 15 +0 8 10 11 14 15 +0 8 10 12 13 14 +0 8 10 12 13 15 +0 8 10 12 14 15 +0 8 10 13 14 15 +0 8 11 12 13 14 +0 8 11 12 13 15 +0 8 11 12 14 15 +0 8 11 13 14 15 +0 8 12 13 14 15 +0 9 10 11 12 13 +0 9 10 11 12 14 +0 9 10 11 12 15 +0 9 10 11 13 14 +0 9 10 11 13 15 +0 9 10 11 14 15 +0 9 10 12 13 14 +0 9 10 12 13 15 +0 9 10 12 14 15 +0 9 10 13 14 15 +0 9 11 12 13 14 +0 9 11 12 13 15 +0 9 11 12 14 15 +0 9 11 13 14 15 +0 9 12 13 14 15 +0 10 11 12 13 14 +0 10 11 12 13 15 +0 10 11 12 14 15 +0 10 11 13 14 15 +0 10 12 13 14 15 +0 11 12 13 14 15 +1 2 3 4 5 6 +1 2 3 4 5 7 +1 2 3 4 5 8 +1 2 3 4 5 9 +1 2 3 4 5 10 +1 2 3 4 5 11 +1 2 3 4 5 12 +1 2 3 4 5 13 +1 2 3 4 5 14 +1 2 3 4 5 15 +1 2 3 4 6 7 +1 2 3 4 6 8 +1 2 3 4 6 9 +1 2 3 4 6 10 +1 2 3 4 6 11 +1 2 3 4 6 12 +1 2 3 4 6 13 +1 2 3 4 6 14 +1 2 3 4 6 15 +1 2 3 4 7 8 +1 2 3 4 7 9 +1 2 3 4 7 10 +1 2 3 4 7 11 +1 2 3 4 7 12 +1 2 3 4 7 13 +1 2 3 4 7 14 +1 2 3 4 7 15 +1 2 3 4 8 9 +1 2 3 4 8 10 +1 2 3 4 8 11 +1 2 3 4 8 12 +1 2 3 4 8 13 +1 2 3 4 8 14 +1 2 3 4 8 15 +1 2 3 4 9 10 +1 2 3 4 9 11 +1 2 3 4 9 12 +1 2 3 4 9 13 +1 2 3 4 9 14 +1 2 3 4 9 15 +1 2 3 4 10 11 +1 2 3 4 10 12 +1 2 3 4 10 13 +1 2 3 4 10 14 +1 2 3 4 10 15 +1 2 3 4 11 12 +1 2 3 4 11 13 +1 2 3 4 11 14 +1 2 3 4 11 15 +1 2 3 4 12 13 +1 2 3 4 12 14 +1 2 3 4 12 15 +1 2 3 4 13 14 +1 2 3 4 13 15 +1 2 3 4 14 15 +1 2 3 5 6 7 +1 2 3 5 6 8 +1 2 3 5 6 9 +1 2 3 5 6 10 +1 2 3 5 6 11 +1 2 3 5 6 12 +1 2 3 5 6 13 +1 2 3 5 6 14 +1 2 3 5 6 15 +1 2 3 5 7 8 +1 2 3 5 7 9 +1 2 3 5 7 10 +1 2 3 5 7 11 +1 2 3 5 7 12 +1 2 3 5 7 13 +1 2 3 5 7 14 +1 2 3 5 7 15 +1 2 3 5 8 9 +1 2 3 5 8 10 +1 2 3 5 8 11 +1 2 3 5 8 12 +1 2 3 5 8 13 +1 2 3 5 8 14 +1 2 3 5 8 15 +1 2 3 5 9 10 +1 2 3 5 9 11 +1 2 3 5 9 12 +1 2 3 5 9 13 +1 2 3 5 9 14 +1 2 3 5 9 15 +1 2 3 5 10 11 +1 2 3 5 10 12 +1 2 3 5 10 13 +1 2 3 5 10 14 +1 2 3 5 10 15 +1 2 3 5 11 12 +1 2 3 5 11 13 +1 2 3 5 11 14 +1 2 3 5 11 15 +1 2 3 5 12 13 +1 2 3 5 12 14 +1 2 3 5 12 15 +1 2 3 5 13 14 +1 2 3 5 13 15 +1 2 3 5 14 15 +1 2 3 6 7 8 +1 2 3 6 7 9 +1 2 3 6 7 10 +1 2 3 6 7 11 +1 2 3 6 7 12 +1 2 3 6 7 13 +1 2 3 6 7 14 +1 2 3 6 7 15 +1 2 3 6 8 9 +1 2 3 6 8 10 +1 2 3 6 8 11 +1 2 3 6 8 12 +1 2 3 6 8 13 +1 2 3 6 8 14 +1 2 3 6 8 15 +1 2 3 6 9 10 +1 2 3 6 9 11 +1 2 3 6 9 12 +1 2 3 6 9 13 +1 2 3 6 9 14 +1 2 3 6 9 15 +1 2 3 6 10 11 +1 2 3 6 10 12 +1 2 3 6 10 13 +1 2 3 6 10 14 +1 2 3 6 10 15 +1 2 3 6 11 12 +1 2 3 6 11 13 +1 2 3 6 11 14 +1 2 3 6 11 15 +1 2 3 6 12 13 +1 2 3 6 12 14 +1 2 3 6 12 15 +1 2 3 6 13 14 +1 2 3 6 13 15 +1 2 3 6 14 15 +1 2 3 7 8 9 +1 2 3 7 8 10 +1 2 3 7 8 11 +1 2 3 7 8 12 +1 2 3 7 8 13 +1 2 3 7 8 14 +1 2 3 7 8 15 +1 2 3 7 9 10 +1 2 3 7 9 11 +1 2 3 7 9 12 +1 2 3 7 9 13 +1 2 3 7 9 14 +1 2 3 7 9 15 +1 2 3 7 10 11 +1 2 3 7 10 12 +1 2 3 7 10 13 +1 2 3 7 10 14 +1 2 3 7 10 15 +1 2 3 7 11 12 +1 2 3 7 11 13 +1 2 3 7 11 14 +1 2 3 7 11 15 +1 2 3 7 12 13 +1 2 3 7 12 14 +1 2 3 7 12 15 +1 2 3 7 13 14 +1 2 3 7 13 15 +1 2 3 7 14 15 +1 2 3 8 9 10 +1 2 3 8 9 11 +1 2 3 8 9 12 +1 2 3 8 9 13 +1 2 3 8 9 14 +1 2 3 8 9 15 +1 2 3 8 10 11 +1 2 3 8 10 12 +1 2 3 8 10 13 +1 2 3 8 10 14 +1 2 3 8 10 15 +1 2 3 8 11 12 +1 2 3 8 11 13 +1 2 3 8 11 14 +1 2 3 8 11 15 +1 2 3 8 12 13 +1 2 3 8 12 14 +1 2 3 8 12 15 +1 2 3 8 13 14 +1 2 3 8 13 15 +1 2 3 8 14 15 +1 2 3 9 10 11 +1 2 3 9 10 12 +1 2 3 9 10 13 +1 2 3 9 10 14 +1 2 3 9 10 15 +1 2 3 9 11 12 +1 2 3 9 11 13 +1 2 3 9 11 14 +1 2 3 9 11 15 +1 2 3 9 12 13 +1 2 3 9 12 14 +1 2 3 9 12 15 +1 2 3 9 13 14 +1 2 3 9 13 15 +1 2 3 9 14 15 +1 2 3 10 11 12 +1 2 3 10 11 13 +1 2 3 10 11 14 +1 2 3 10 11 15 +1 2 3 10 12 13 +1 2 3 10 12 14 +1 2 3 10 12 15 +1 2 3 10 13 14 +1 2 3 10 13 15 +1 2 3 10 14 15 +1 2 3 11 12 13 +1 2 3 11 12 14 +1 2 3 11 12 15 +1 2 3 11 13 14 +1 2 3 11 13 15 +1 2 3 11 14 15 +1 2 3 12 13 14 +1 2 3 12 13 15 +1 2 3 12 14 15 +1 2 3 13 14 15 +1 2 4 5 6 7 +1 2 4 5 6 8 +1 2 4 5 6 9 +1 2 4 5 6 10 +1 2 4 5 6 11 +1 2 4 5 6 12 +1 2 4 5 6 13 +1 2 4 5 6 14 +1 2 4 5 6 15 +1 2 4 5 7 8 +1 2 4 5 7 9 +1 2 4 5 7 10 +1 2 4 5 7 11 +1 2 4 5 7 12 +1 2 4 5 7 13 +1 2 4 5 7 14 +1 2 4 5 7 15 +1 2 4 5 8 9 +1 2 4 5 8 10 +1 2 4 5 8 11 +1 2 4 5 8 12 +1 2 4 5 8 13 +1 2 4 5 8 14 +1 2 4 5 8 15 +1 2 4 5 9 10 +1 2 4 5 9 11 +1 2 4 5 9 12 +1 2 4 5 9 13 +1 2 4 5 9 14 +1 2 4 5 9 15 +1 2 4 5 10 11 +1 2 4 5 10 12 +1 2 4 5 10 13 +1 2 4 5 10 14 +1 2 4 5 10 15 +1 2 4 5 11 12 +1 2 4 5 11 13 +1 2 4 5 11 14 +1 2 4 5 11 15 +1 2 4 5 12 13 +1 2 4 5 12 14 +1 2 4 5 12 15 +1 2 4 5 13 14 +1 2 4 5 13 15 +1 2 4 5 14 15 +1 2 4 6 7 8 +1 2 4 6 7 9 +1 2 4 6 7 10 +1 2 4 6 7 11 +1 2 4 6 7 12 +1 2 4 6 7 13 +1 2 4 6 7 14 +1 2 4 6 7 15 +1 2 4 6 8 9 +1 2 4 6 8 10 +1 2 4 6 8 11 +1 2 4 6 8 12 +1 2 4 6 8 13 +1 2 4 6 8 14 +1 2 4 6 8 15 +1 2 4 6 9 10 +1 2 4 6 9 11 +1 2 4 6 9 12 +1 2 4 6 9 13 +1 2 4 6 9 14 +1 2 4 6 9 15 +1 2 4 6 10 11 +1 2 4 6 10 12 +1 2 4 6 10 13 +1 2 4 6 10 14 +1 2 4 6 10 15 +1 2 4 6 11 12 +1 2 4 6 11 13 +1 2 4 6 11 14 +1 2 4 6 11 15 +1 2 4 6 12 13 +1 2 4 6 12 14 +1 2 4 6 12 15 +1 2 4 6 13 14 +1 2 4 6 13 15 +1 2 4 6 14 15 +1 2 4 7 8 9 +1 2 4 7 8 10 +1 2 4 7 8 11 +1 2 4 7 8 12 +1 2 4 7 8 13 +1 2 4 7 8 14 +1 2 4 7 8 15 +1 2 4 7 9 10 +1 2 4 7 9 11 +1 2 4 7 9 12 +1 2 4 7 9 13 +1 2 4 7 9 14 +1 2 4 7 9 15 +1 2 4 7 10 11 +1 2 4 7 10 12 +1 2 4 7 10 13 +1 2 4 7 10 14 +1 2 4 7 10 15 +1 2 4 7 11 12 +1 2 4 7 11 13 +1 2 4 7 11 14 +1 2 4 7 11 15 +1 2 4 7 12 13 +1 2 4 7 12 14 +1 2 4 7 12 15 +1 2 4 7 13 14 +1 2 4 7 13 15 +1 2 4 7 14 15 +1 2 4 8 9 10 +1 2 4 8 9 11 +1 2 4 8 9 12 +1 2 4 8 9 13 +1 2 4 8 9 14 +1 2 4 8 9 15 +1 2 4 8 10 11 +1 2 4 8 10 12 +1 2 4 8 10 13 +1 2 4 8 10 14 +1 2 4 8 10 15 +1 2 4 8 11 12 +1 2 4 8 11 13 +1 2 4 8 11 14 +1 2 4 8 11 15 +1 2 4 8 12 13 +1 2 4 8 12 14 +1 2 4 8 12 15 +1 2 4 8 13 14 +1 2 4 8 13 15 +1 2 4 8 14 15 +1 2 4 9 10 11 +1 2 4 9 10 12 +1 2 4 9 10 13 +1 2 4 9 10 14 +1 2 4 9 10 15 +1 2 4 9 11 12 +1 2 4 9 11 13 +1 2 4 9 11 14 +1 2 4 9 11 15 +1 2 4 9 12 13 +1 2 4 9 12 14 +1 2 4 9 12 15 +1 2 4 9 13 14 +1 2 4 9 13 15 +1 2 4 9 14 15 +1 2 4 10 11 12 +1 2 4 10 11 13 +1 2 4 10 11 14 +1 2 4 10 11 15 +1 2 4 10 12 13 +1 2 4 10 12 14 +1 2 4 10 12 15 +1 2 4 10 13 14 +1 2 4 10 13 15 +1 2 4 10 14 15 +1 2 4 11 12 13 +1 2 4 11 12 14 +1 2 4 11 12 15 +1 2 4 11 13 14 +1 2 4 11 13 15 +1 2 4 11 14 15 +1 2 4 12 13 14 +1 2 4 12 13 15 +1 2 4 12 14 15 +1 2 4 13 14 15 +1 2 5 6 7 8 +1 2 5 6 7 9 +1 2 5 6 7 10 +1 2 5 6 7 11 +1 2 5 6 7 12 +1 2 5 6 7 13 +1 2 5 6 7 14 +1 2 5 6 7 15 +1 2 5 6 8 9 +1 2 5 6 8 10 +1 2 5 6 8 11 +1 2 5 6 8 12 +1 2 5 6 8 13 +1 2 5 6 8 14 +1 2 5 6 8 15 +1 2 5 6 9 10 +1 2 5 6 9 11 +1 2 5 6 9 12 +1 2 5 6 9 13 +1 2 5 6 9 14 +1 2 5 6 9 15 +1 2 5 6 10 11 +1 2 5 6 10 12 +1 2 5 6 10 13 +1 2 5 6 10 14 +1 2 5 6 10 15 +1 2 5 6 11 12 +1 2 5 6 11 13 +1 2 5 6 11 14 +1 2 5 6 11 15 +1 2 5 6 12 13 +1 2 5 6 12 14 +1 2 5 6 12 15 +1 2 5 6 13 14 +1 2 5 6 13 15 +1 2 5 6 14 15 +1 2 5 7 8 9 +1 2 5 7 8 10 +1 2 5 7 8 11 +1 2 5 7 8 12 +1 2 5 7 8 13 +1 2 5 7 8 14 +1 2 5 7 8 15 +1 2 5 7 9 10 +1 2 5 7 9 11 +1 2 5 7 9 12 +1 2 5 7 9 13 +1 2 5 7 9 14 +1 2 5 7 9 15 +1 2 5 7 10 11 +1 2 5 7 10 12 +1 2 5 7 10 13 +1 2 5 7 10 14 +1 2 5 7 10 15 +1 2 5 7 11 12 +1 2 5 7 11 13 +1 2 5 7 11 14 +1 2 5 7 11 15 +1 2 5 7 12 13 +1 2 5 7 12 14 +1 2 5 7 12 15 +1 2 5 7 13 14 +1 2 5 7 13 15 +1 2 5 7 14 15 +1 2 5 8 9 10 +1 2 5 8 9 11 +1 2 5 8 9 12 +1 2 5 8 9 13 +1 2 5 8 9 14 +1 2 5 8 9 15 +1 2 5 8 10 11 +1 2 5 8 10 12 +1 2 5 8 10 13 +1 2 5 8 10 14 +1 2 5 8 10 15 +1 2 5 8 11 12 +1 2 5 8 11 13 +1 2 5 8 11 14 +1 2 5 8 11 15 +1 2 5 8 12 13 +1 2 5 8 12 14 +1 2 5 8 12 15 +1 2 5 8 13 14 +1 2 5 8 13 15 +1 2 5 8 14 15 +1 2 5 9 10 11 +1 2 5 9 10 12 +1 2 5 9 10 13 +1 2 5 9 10 14 +1 2 5 9 10 15 +1 2 5 9 11 12 +1 2 5 9 11 13 +1 2 5 9 11 14 +1 2 5 9 11 15 +1 2 5 9 12 13 +1 2 5 9 12 14 +1 2 5 9 12 15 +1 2 5 9 13 14 +1 2 5 9 13 15 +1 2 5 9 14 15 +1 2 5 10 11 12 +1 2 5 10 11 13 +1 2 5 10 11 14 +1 2 5 10 11 15 +1 2 5 10 12 13 +1 2 5 10 12 14 +1 2 5 10 12 15 +1 2 5 10 13 14 +1 2 5 10 13 15 +1 2 5 10 14 15 +1 2 5 11 12 13 +1 2 5 11 12 14 +1 2 5 11 12 15 +1 2 5 11 13 14 +1 2 5 11 13 15 +1 2 5 11 14 15 +1 2 5 12 13 14 +1 2 5 12 13 15 +1 2 5 12 14 15 +1 2 5 13 14 15 +1 2 6 7 8 9 +1 2 6 7 8 10 +1 2 6 7 8 11 +1 2 6 7 8 12 +1 2 6 7 8 13 +1 2 6 7 8 14 +1 2 6 7 8 15 +1 2 6 7 9 10 +1 2 6 7 9 11 +1 2 6 7 9 12 +1 2 6 7 9 13 +1 2 6 7 9 14 +1 2 6 7 9 15 +1 2 6 7 10 11 +1 2 6 7 10 12 +1 2 6 7 10 13 +1 2 6 7 10 14 +1 2 6 7 10 15 +1 2 6 7 11 12 +1 2 6 7 11 13 +1 2 6 7 11 14 +1 2 6 7 11 15 +1 2 6 7 12 13 +1 2 6 7 12 14 +1 2 6 7 12 15 +1 2 6 7 13 14 +1 2 6 7 13 15 +1 2 6 7 14 15 +1 2 6 8 9 10 +1 2 6 8 9 11 +1 2 6 8 9 12 +1 2 6 8 9 13 +1 2 6 8 9 14 +1 2 6 8 9 15 +1 2 6 8 10 11 +1 2 6 8 10 12 +1 2 6 8 10 13 +1 2 6 8 10 14 +1 2 6 8 10 15 +1 2 6 8 11 12 +1 2 6 8 11 13 +1 2 6 8 11 14 +1 2 6 8 11 15 +1 2 6 8 12 13 +1 2 6 8 12 14 +1 2 6 8 12 15 +1 2 6 8 13 14 +1 2 6 8 13 15 +1 2 6 8 14 15 +1 2 6 9 10 11 +1 2 6 9 10 12 +1 2 6 9 10 13 +1 2 6 9 10 14 +1 2 6 9 10 15 +1 2 6 9 11 12 +1 2 6 9 11 13 +1 2 6 9 11 14 +1 2 6 9 11 15 +1 2 6 9 12 13 +1 2 6 9 12 14 +1 2 6 9 12 15 +1 2 6 9 13 14 +1 2 6 9 13 15 +1 2 6 9 14 15 +1 2 6 10 11 12 +1 2 6 10 11 13 +1 2 6 10 11 14 +1 2 6 10 11 15 +1 2 6 10 12 13 +1 2 6 10 12 14 +1 2 6 10 12 15 +1 2 6 10 13 14 +1 2 6 10 13 15 +1 2 6 10 14 15 +1 2 6 11 12 13 +1 2 6 11 12 14 +1 2 6 11 12 15 +1 2 6 11 13 14 +1 2 6 11 13 15 +1 2 6 11 14 15 +1 2 6 12 13 14 +1 2 6 12 13 15 +1 2 6 12 14 15 +1 2 6 13 14 15 +1 2 7 8 9 10 +1 2 7 8 9 11 +1 2 7 8 9 12 +1 2 7 8 9 13 +1 2 7 8 9 14 +1 2 7 8 9 15 +1 2 7 8 10 11 +1 2 7 8 10 12 +1 2 7 8 10 13 +1 2 7 8 10 14 +1 2 7 8 10 15 +1 2 7 8 11 12 +1 2 7 8 11 13 +1 2 7 8 11 14 +1 2 7 8 11 15 +1 2 7 8 12 13 +1 2 7 8 12 14 +1 2 7 8 12 15 +1 2 7 8 13 14 +1 2 7 8 13 15 +1 2 7 8 14 15 +1 2 7 9 10 11 +1 2 7 9 10 12 +1 2 7 9 10 13 +1 2 7 9 10 14 +1 2 7 9 10 15 +1 2 7 9 11 12 +1 2 7 9 11 13 +1 2 7 9 11 14 +1 2 7 9 11 15 +1 2 7 9 12 13 +1 2 7 9 12 14 +1 2 7 9 12 15 +1 2 7 9 13 14 +1 2 7 9 13 15 +1 2 7 9 14 15 +1 2 7 10 11 12 +1 2 7 10 11 13 +1 2 7 10 11 14 +1 2 7 10 11 15 +1 2 7 10 12 13 +1 2 7 10 12 14 +1 2 7 10 12 15 +1 2 7 10 13 14 +1 2 7 10 13 15 +1 2 7 10 14 15 +1 2 7 11 12 13 +1 2 7 11 12 14 +1 2 7 11 12 15 +1 2 7 11 13 14 +1 2 7 11 13 15 +1 2 7 11 14 15 +1 2 7 12 13 14 +1 2 7 12 13 15 +1 2 7 12 14 15 +1 2 7 13 14 15 +1 2 8 9 10 11 +1 2 8 9 10 12 +1 2 8 9 10 13 +1 2 8 9 10 14 +1 2 8 9 10 15 +1 2 8 9 11 12 +1 2 8 9 11 13 +1 2 8 9 11 14 +1 2 8 9 11 15 +1 2 8 9 12 13 +1 2 8 9 12 14 +1 2 8 9 12 15 +1 2 8 9 13 14 +1 2 8 9 13 15 +1 2 8 9 14 15 +1 2 8 10 11 12 +1 2 8 10 11 13 +1 2 8 10 11 14 +1 2 8 10 11 15 +1 2 8 10 12 13 +1 2 8 10 12 14 +1 2 8 10 12 15 +1 2 8 10 13 14 +1 2 8 10 13 15 +1 2 8 10 14 15 +1 2 8 11 12 13 +1 2 8 11 12 14 +1 2 8 11 12 15 +1 2 8 11 13 14 +1 2 8 11 13 15 +1 2 8 11 14 15 +1 2 8 12 13 14 +1 2 8 12 13 15 +1 2 8 12 14 15 +1 2 8 13 14 15 +1 2 9 10 11 12 +1 2 9 10 11 13 +1 2 9 10 11 14 +1 2 9 10 11 15 +1 2 9 10 12 13 +1 2 9 10 12 14 +1 2 9 10 12 15 +1 2 9 10 13 14 +1 2 9 10 13 15 +1 2 9 10 14 15 +1 2 9 11 12 13 +1 2 9 11 12 14 +1 2 9 11 12 15 +1 2 9 11 13 14 +1 2 9 11 13 15 +1 2 9 11 14 15 +1 2 9 12 13 14 +1 2 9 12 13 15 +1 2 9 12 14 15 +1 2 9 13 14 15 +1 2 10 11 12 13 +1 2 10 11 12 14 +1 2 10 11 12 15 +1 2 10 11 13 14 +1 2 10 11 13 15 +1 2 10 11 14 15 +1 2 10 12 13 14 +1 2 10 12 13 15 +1 2 10 12 14 15 +1 2 10 13 14 15 +1 2 11 12 13 14 +1 2 11 12 13 15 +1 2 11 12 14 15 +1 2 11 13 14 15 +1 2 12 13 14 15 +1 3 4 5 6 7 +1 3 4 5 6 8 +1 3 4 5 6 9 +1 3 4 5 6 10 +1 3 4 5 6 11 +1 3 4 5 6 12 +1 3 4 5 6 13 +1 3 4 5 6 14 +1 3 4 5 6 15 +1 3 4 5 7 8 +1 3 4 5 7 9 +1 3 4 5 7 10 +1 3 4 5 7 11 +1 3 4 5 7 12 +1 3 4 5 7 13 +1 3 4 5 7 14 +1 3 4 5 7 15 +1 3 4 5 8 9 +1 3 4 5 8 10 +1 3 4 5 8 11 +1 3 4 5 8 12 +1 3 4 5 8 13 +1 3 4 5 8 14 +1 3 4 5 8 15 +1 3 4 5 9 10 +1 3 4 5 9 11 +1 3 4 5 9 12 +1 3 4 5 9 13 +1 3 4 5 9 14 +1 3 4 5 9 15 +1 3 4 5 10 11 +1 3 4 5 10 12 +1 3 4 5 10 13 +1 3 4 5 10 14 +1 3 4 5 10 15 +1 3 4 5 11 12 +1 3 4 5 11 13 +1 3 4 5 11 14 +1 3 4 5 11 15 +1 3 4 5 12 13 +1 3 4 5 12 14 +1 3 4 5 12 15 +1 3 4 5 13 14 +1 3 4 5 13 15 +1 3 4 5 14 15 +1 3 4 6 7 8 +1 3 4 6 7 9 +1 3 4 6 7 10 +1 3 4 6 7 11 +1 3 4 6 7 12 +1 3 4 6 7 13 +1 3 4 6 7 14 +1 3 4 6 7 15 +1 3 4 6 8 9 +1 3 4 6 8 10 +1 3 4 6 8 11 +1 3 4 6 8 12 +1 3 4 6 8 13 +1 3 4 6 8 14 +1 3 4 6 8 15 +1 3 4 6 9 10 +1 3 4 6 9 11 +1 3 4 6 9 12 +1 3 4 6 9 13 +1 3 4 6 9 14 +1 3 4 6 9 15 +1 3 4 6 10 11 +1 3 4 6 10 12 +1 3 4 6 10 13 +1 3 4 6 10 14 +1 3 4 6 10 15 +1 3 4 6 11 12 +1 3 4 6 11 13 +1 3 4 6 11 14 +1 3 4 6 11 15 +1 3 4 6 12 13 +1 3 4 6 12 14 +1 3 4 6 12 15 +1 3 4 6 13 14 +1 3 4 6 13 15 +1 3 4 6 14 15 +1 3 4 7 8 9 +1 3 4 7 8 10 +1 3 4 7 8 11 +1 3 4 7 8 12 +1 3 4 7 8 13 +1 3 4 7 8 14 +1 3 4 7 8 15 +1 3 4 7 9 10 +1 3 4 7 9 11 +1 3 4 7 9 12 +1 3 4 7 9 13 +1 3 4 7 9 14 +1 3 4 7 9 15 +1 3 4 7 10 11 +1 3 4 7 10 12 +1 3 4 7 10 13 +1 3 4 7 10 14 +1 3 4 7 10 15 +1 3 4 7 11 12 +1 3 4 7 11 13 +1 3 4 7 11 14 +1 3 4 7 11 15 +1 3 4 7 12 13 +1 3 4 7 12 14 +1 3 4 7 12 15 +1 3 4 7 13 14 +1 3 4 7 13 15 +1 3 4 7 14 15 +1 3 4 8 9 10 +1 3 4 8 9 11 +1 3 4 8 9 12 +1 3 4 8 9 13 +1 3 4 8 9 14 +1 3 4 8 9 15 +1 3 4 8 10 11 +1 3 4 8 10 12 +1 3 4 8 10 13 +1 3 4 8 10 14 +1 3 4 8 10 15 +1 3 4 8 11 12 +1 3 4 8 11 13 +1 3 4 8 11 14 +1 3 4 8 11 15 +1 3 4 8 12 13 +1 3 4 8 12 14 +1 3 4 8 12 15 +1 3 4 8 13 14 +1 3 4 8 13 15 +1 3 4 8 14 15 +1 3 4 9 10 11 +1 3 4 9 10 12 +1 3 4 9 10 13 +1 3 4 9 10 14 +1 3 4 9 10 15 +1 3 4 9 11 12 +1 3 4 9 11 13 +1 3 4 9 11 14 +1 3 4 9 11 15 +1 3 4 9 12 13 +1 3 4 9 12 14 +1 3 4 9 12 15 +1 3 4 9 13 14 +1 3 4 9 13 15 +1 3 4 9 14 15 +1 3 4 10 11 12 +1 3 4 10 11 13 +1 3 4 10 11 14 +1 3 4 10 11 15 +1 3 4 10 12 13 +1 3 4 10 12 14 +1 3 4 10 12 15 +1 3 4 10 13 14 +1 3 4 10 13 15 +1 3 4 10 14 15 +1 3 4 11 12 13 +1 3 4 11 12 14 +1 3 4 11 12 15 +1 3 4 11 13 14 +1 3 4 11 13 15 +1 3 4 11 14 15 +1 3 4 12 13 14 +1 3 4 12 13 15 +1 3 4 12 14 15 +1 3 4 13 14 15 +1 3 5 6 7 8 +1 3 5 6 7 9 +1 3 5 6 7 10 +1 3 5 6 7 11 +1 3 5 6 7 12 +1 3 5 6 7 13 +1 3 5 6 7 14 +1 3 5 6 7 15 +1 3 5 6 8 9 +1 3 5 6 8 10 +1 3 5 6 8 11 +1 3 5 6 8 12 +1 3 5 6 8 13 +1 3 5 6 8 14 +1 3 5 6 8 15 +1 3 5 6 9 10 +1 3 5 6 9 11 +1 3 5 6 9 12 +1 3 5 6 9 13 +1 3 5 6 9 14 +1 3 5 6 9 15 +1 3 5 6 10 11 +1 3 5 6 10 12 +1 3 5 6 10 13 +1 3 5 6 10 14 +1 3 5 6 10 15 +1 3 5 6 11 12 +1 3 5 6 11 13 +1 3 5 6 11 14 +1 3 5 6 11 15 +1 3 5 6 12 13 +1 3 5 6 12 14 +1 3 5 6 12 15 +1 3 5 6 13 14 +1 3 5 6 13 15 +1 3 5 6 14 15 +1 3 5 7 8 9 +1 3 5 7 8 10 +1 3 5 7 8 11 +1 3 5 7 8 12 +1 3 5 7 8 13 +1 3 5 7 8 14 +1 3 5 7 8 15 +1 3 5 7 9 10 +1 3 5 7 9 11 +1 3 5 7 9 12 +1 3 5 7 9 13 +1 3 5 7 9 14 +1 3 5 7 9 15 +1 3 5 7 10 11 +1 3 5 7 10 12 +1 3 5 7 10 13 +1 3 5 7 10 14 +1 3 5 7 10 15 +1 3 5 7 11 12 +1 3 5 7 11 13 +1 3 5 7 11 14 +1 3 5 7 11 15 +1 3 5 7 12 13 +1 3 5 7 12 14 +1 3 5 7 12 15 +1 3 5 7 13 14 +1 3 5 7 13 15 +1 3 5 7 14 15 +1 3 5 8 9 10 +1 3 5 8 9 11 +1 3 5 8 9 12 +1 3 5 8 9 13 +1 3 5 8 9 14 +1 3 5 8 9 15 +1 3 5 8 10 11 +1 3 5 8 10 12 +1 3 5 8 10 13 +1 3 5 8 10 14 +1 3 5 8 10 15 +1 3 5 8 11 12 +1 3 5 8 11 13 +1 3 5 8 11 14 +1 3 5 8 11 15 +1 3 5 8 12 13 +1 3 5 8 12 14 +1 3 5 8 12 15 +1 3 5 8 13 14 +1 3 5 8 13 15 +1 3 5 8 14 15 +1 3 5 9 10 11 +1 3 5 9 10 12 +1 3 5 9 10 13 +1 3 5 9 10 14 +1 3 5 9 10 15 +1 3 5 9 11 12 +1 3 5 9 11 13 +1 3 5 9 11 14 +1 3 5 9 11 15 +1 3 5 9 12 13 +1 3 5 9 12 14 +1 3 5 9 12 15 +1 3 5 9 13 14 +1 3 5 9 13 15 +1 3 5 9 14 15 +1 3 5 10 11 12 +1 3 5 10 11 13 +1 3 5 10 11 14 +1 3 5 10 11 15 +1 3 5 10 12 13 +1 3 5 10 12 14 +1 3 5 10 12 15 +1 3 5 10 13 14 +1 3 5 10 13 15 +1 3 5 10 14 15 +1 3 5 11 12 13 +1 3 5 11 12 14 +1 3 5 11 12 15 +1 3 5 11 13 14 +1 3 5 11 13 15 +1 3 5 11 14 15 +1 3 5 12 13 14 +1 3 5 12 13 15 +1 3 5 12 14 15 +1 3 5 13 14 15 +1 3 6 7 8 9 +1 3 6 7 8 10 +1 3 6 7 8 11 +1 3 6 7 8 12 +1 3 6 7 8 13 +1 3 6 7 8 14 +1 3 6 7 8 15 +1 3 6 7 9 10 +1 3 6 7 9 11 +1 3 6 7 9 12 +1 3 6 7 9 13 +1 3 6 7 9 14 +1 3 6 7 9 15 +1 3 6 7 10 11 +1 3 6 7 10 12 +1 3 6 7 10 13 +1 3 6 7 10 14 +1 3 6 7 10 15 +1 3 6 7 11 12 +1 3 6 7 11 13 +1 3 6 7 11 14 +1 3 6 7 11 15 +1 3 6 7 12 13 +1 3 6 7 12 14 +1 3 6 7 12 15 +1 3 6 7 13 14 +1 3 6 7 13 15 +1 3 6 7 14 15 +1 3 6 8 9 10 +1 3 6 8 9 11 +1 3 6 8 9 12 +1 3 6 8 9 13 +1 3 6 8 9 14 +1 3 6 8 9 15 +1 3 6 8 10 11 +1 3 6 8 10 12 +1 3 6 8 10 13 +1 3 6 8 10 14 +1 3 6 8 10 15 +1 3 6 8 11 12 +1 3 6 8 11 13 +1 3 6 8 11 14 +1 3 6 8 11 15 +1 3 6 8 12 13 +1 3 6 8 12 14 +1 3 6 8 12 15 +1 3 6 8 13 14 +1 3 6 8 13 15 +1 3 6 8 14 15 +1 3 6 9 10 11 +1 3 6 9 10 12 +1 3 6 9 10 13 +1 3 6 9 10 14 +1 3 6 9 10 15 +1 3 6 9 11 12 +1 3 6 9 11 13 +1 3 6 9 11 14 +1 3 6 9 11 15 +1 3 6 9 12 13 +1 3 6 9 12 14 +1 3 6 9 12 15 +1 3 6 9 13 14 +1 3 6 9 13 15 +1 3 6 9 14 15 +1 3 6 10 11 12 +1 3 6 10 11 13 +1 3 6 10 11 14 +1 3 6 10 11 15 +1 3 6 10 12 13 +1 3 6 10 12 14 +1 3 6 10 12 15 +1 3 6 10 13 14 +1 3 6 10 13 15 +1 3 6 10 14 15 +1 3 6 11 12 13 +1 3 6 11 12 14 +1 3 6 11 12 15 +1 3 6 11 13 14 +1 3 6 11 13 15 +1 3 6 11 14 15 +1 3 6 12 13 14 +1 3 6 12 13 15 +1 3 6 12 14 15 +1 3 6 13 14 15 +1 3 7 8 9 10 +1 3 7 8 9 11 +1 3 7 8 9 12 +1 3 7 8 9 13 +1 3 7 8 9 14 +1 3 7 8 9 15 +1 3 7 8 10 11 +1 3 7 8 10 12 +1 3 7 8 10 13 +1 3 7 8 10 14 +1 3 7 8 10 15 +1 3 7 8 11 12 +1 3 7 8 11 13 +1 3 7 8 11 14 +1 3 7 8 11 15 +1 3 7 8 12 13 +1 3 7 8 12 14 +1 3 7 8 12 15 +1 3 7 8 13 14 +1 3 7 8 13 15 +1 3 7 8 14 15 +1 3 7 9 10 11 +1 3 7 9 10 12 +1 3 7 9 10 13 +1 3 7 9 10 14 +1 3 7 9 10 15 +1 3 7 9 11 12 +1 3 7 9 11 13 +1 3 7 9 11 14 +1 3 7 9 11 15 +1 3 7 9 12 13 +1 3 7 9 12 14 +1 3 7 9 12 15 +1 3 7 9 13 14 +1 3 7 9 13 15 +1 3 7 9 14 15 +1 3 7 10 11 12 +1 3 7 10 11 13 +1 3 7 10 11 14 +1 3 7 10 11 15 +1 3 7 10 12 13 +1 3 7 10 12 14 +1 3 7 10 12 15 +1 3 7 10 13 14 +1 3 7 10 13 15 +1 3 7 10 14 15 +1 3 7 11 12 13 +1 3 7 11 12 14 +1 3 7 11 12 15 +1 3 7 11 13 14 +1 3 7 11 13 15 +1 3 7 11 14 15 +1 3 7 12 13 14 +1 3 7 12 13 15 +1 3 7 12 14 15 +1 3 7 13 14 15 +1 3 8 9 10 11 +1 3 8 9 10 12 +1 3 8 9 10 13 +1 3 8 9 10 14 +1 3 8 9 10 15 +1 3 8 9 11 12 +1 3 8 9 11 13 +1 3 8 9 11 14 +1 3 8 9 11 15 +1 3 8 9 12 13 +1 3 8 9 12 14 +1 3 8 9 12 15 +1 3 8 9 13 14 +1 3 8 9 13 15 +1 3 8 9 14 15 +1 3 8 10 11 12 +1 3 8 10 11 13 +1 3 8 10 11 14 +1 3 8 10 11 15 +1 3 8 10 12 13 +1 3 8 10 12 14 +1 3 8 10 12 15 +1 3 8 10 13 14 +1 3 8 10 13 15 +1 3 8 10 14 15 +1 3 8 11 12 13 +1 3 8 11 12 14 +1 3 8 11 12 15 +1 3 8 11 13 14 +1 3 8 11 13 15 +1 3 8 11 14 15 +1 3 8 12 13 14 +1 3 8 12 13 15 +1 3 8 12 14 15 +1 3 8 13 14 15 +1 3 9 10 11 12 +1 3 9 10 11 13 +1 3 9 10 11 14 +1 3 9 10 11 15 +1 3 9 10 12 13 +1 3 9 10 12 14 +1 3 9 10 12 15 +1 3 9 10 13 14 +1 3 9 10 13 15 +1 3 9 10 14 15 +1 3 9 11 12 13 +1 3 9 11 12 14 +1 3 9 11 12 15 +1 3 9 11 13 14 +1 3 9 11 13 15 +1 3 9 11 14 15 +1 3 9 12 13 14 +1 3 9 12 13 15 +1 3 9 12 14 15 +1 3 9 13 14 15 +1 3 10 11 12 13 +1 3 10 11 12 14 +1 3 10 11 12 15 +1 3 10 11 13 14 +1 3 10 11 13 15 +1 3 10 11 14 15 +1 3 10 12 13 14 +1 3 10 12 13 15 +1 3 10 12 14 15 +1 3 10 13 14 15 +1 3 11 12 13 14 +1 3 11 12 13 15 +1 3 11 12 14 15 +1 3 11 13 14 15 +1 3 12 13 14 15 +1 4 5 6 7 8 +1 4 5 6 7 9 +1 4 5 6 7 10 +1 4 5 6 7 11 +1 4 5 6 7 12 +1 4 5 6 7 13 +1 4 5 6 7 14 +1 4 5 6 7 15 +1 4 5 6 8 9 +1 4 5 6 8 10 +1 4 5 6 8 11 +1 4 5 6 8 12 +1 4 5 6 8 13 +1 4 5 6 8 14 +1 4 5 6 8 15 +1 4 5 6 9 10 +1 4 5 6 9 11 +1 4 5 6 9 12 +1 4 5 6 9 13 +1 4 5 6 9 14 +1 4 5 6 9 15 +1 4 5 6 10 11 +1 4 5 6 10 12 +1 4 5 6 10 13 +1 4 5 6 10 14 +1 4 5 6 10 15 +1 4 5 6 11 12 +1 4 5 6 11 13 +1 4 5 6 11 14 +1 4 5 6 11 15 +1 4 5 6 12 13 +1 4 5 6 12 14 +1 4 5 6 12 15 +1 4 5 6 13 14 +1 4 5 6 13 15 +1 4 5 6 14 15 +1 4 5 7 8 9 +1 4 5 7 8 10 +1 4 5 7 8 11 +1 4 5 7 8 12 +1 4 5 7 8 13 +1 4 5 7 8 14 +1 4 5 7 8 15 +1 4 5 7 9 10 +1 4 5 7 9 11 +1 4 5 7 9 12 +1 4 5 7 9 13 +1 4 5 7 9 14 +1 4 5 7 9 15 +1 4 5 7 10 11 +1 4 5 7 10 12 +1 4 5 7 10 13 +1 4 5 7 10 14 +1 4 5 7 10 15 +1 4 5 7 11 12 +1 4 5 7 11 13 +1 4 5 7 11 14 +1 4 5 7 11 15 +1 4 5 7 12 13 +1 4 5 7 12 14 +1 4 5 7 12 15 +1 4 5 7 13 14 +1 4 5 7 13 15 +1 4 5 7 14 15 +1 4 5 8 9 10 +1 4 5 8 9 11 +1 4 5 8 9 12 +1 4 5 8 9 13 +1 4 5 8 9 14 +1 4 5 8 9 15 +1 4 5 8 10 11 +1 4 5 8 10 12 +1 4 5 8 10 13 +1 4 5 8 10 14 +1 4 5 8 10 15 +1 4 5 8 11 12 +1 4 5 8 11 13 +1 4 5 8 11 14 +1 4 5 8 11 15 +1 4 5 8 12 13 +1 4 5 8 12 14 +1 4 5 8 12 15 +1 4 5 8 13 14 +1 4 5 8 13 15 +1 4 5 8 14 15 +1 4 5 9 10 11 +1 4 5 9 10 12 +1 4 5 9 10 13 +1 4 5 9 10 14 +1 4 5 9 10 15 +1 4 5 9 11 12 +1 4 5 9 11 13 +1 4 5 9 11 14 +1 4 5 9 11 15 +1 4 5 9 12 13 +1 4 5 9 12 14 +1 4 5 9 12 15 +1 4 5 9 13 14 +1 4 5 9 13 15 +1 4 5 9 14 15 +1 4 5 10 11 12 +1 4 5 10 11 13 +1 4 5 10 11 14 +1 4 5 10 11 15 +1 4 5 10 12 13 +1 4 5 10 12 14 +1 4 5 10 12 15 +1 4 5 10 13 14 +1 4 5 10 13 15 +1 4 5 10 14 15 +1 4 5 11 12 13 +1 4 5 11 12 14 +1 4 5 11 12 15 +1 4 5 11 13 14 +1 4 5 11 13 15 +1 4 5 11 14 15 +1 4 5 12 13 14 +1 4 5 12 13 15 +1 4 5 12 14 15 +1 4 5 13 14 15 +1 4 6 7 8 9 +1 4 6 7 8 10 +1 4 6 7 8 11 +1 4 6 7 8 12 +1 4 6 7 8 13 +1 4 6 7 8 14 +1 4 6 7 8 15 +1 4 6 7 9 10 +1 4 6 7 9 11 +1 4 6 7 9 12 +1 4 6 7 9 13 +1 4 6 7 9 14 +1 4 6 7 9 15 +1 4 6 7 10 11 +1 4 6 7 10 12 +1 4 6 7 10 13 +1 4 6 7 10 14 +1 4 6 7 10 15 +1 4 6 7 11 12 +1 4 6 7 11 13 +1 4 6 7 11 14 +1 4 6 7 11 15 +1 4 6 7 12 13 +1 4 6 7 12 14 +1 4 6 7 12 15 +1 4 6 7 13 14 +1 4 6 7 13 15 +1 4 6 7 14 15 +1 4 6 8 9 10 +1 4 6 8 9 11 +1 4 6 8 9 12 +1 4 6 8 9 13 +1 4 6 8 9 14 +1 4 6 8 9 15 +1 4 6 8 10 11 +1 4 6 8 10 12 +1 4 6 8 10 13 +1 4 6 8 10 14 +1 4 6 8 10 15 +1 4 6 8 11 12 +1 4 6 8 11 13 +1 4 6 8 11 14 +1 4 6 8 11 15 +1 4 6 8 12 13 +1 4 6 8 12 14 +1 4 6 8 12 15 +1 4 6 8 13 14 +1 4 6 8 13 15 +1 4 6 8 14 15 +1 4 6 9 10 11 +1 4 6 9 10 12 +1 4 6 9 10 13 +1 4 6 9 10 14 +1 4 6 9 10 15 +1 4 6 9 11 12 +1 4 6 9 11 13 +1 4 6 9 11 14 +1 4 6 9 11 15 +1 4 6 9 12 13 +1 4 6 9 12 14 +1 4 6 9 12 15 +1 4 6 9 13 14 +1 4 6 9 13 15 +1 4 6 9 14 15 +1 4 6 10 11 12 +1 4 6 10 11 13 +1 4 6 10 11 14 +1 4 6 10 11 15 +1 4 6 10 12 13 +1 4 6 10 12 14 +1 4 6 10 12 15 +1 4 6 10 13 14 +1 4 6 10 13 15 +1 4 6 10 14 15 +1 4 6 11 12 13 +1 4 6 11 12 14 +1 4 6 11 12 15 +1 4 6 11 13 14 +1 4 6 11 13 15 +1 4 6 11 14 15 +1 4 6 12 13 14 +1 4 6 12 13 15 +1 4 6 12 14 15 +1 4 6 13 14 15 +1 4 7 8 9 10 +1 4 7 8 9 11 +1 4 7 8 9 12 +1 4 7 8 9 13 +1 4 7 8 9 14 +1 4 7 8 9 15 +1 4 7 8 10 11 +1 4 7 8 10 12 +1 4 7 8 10 13 +1 4 7 8 10 14 +1 4 7 8 10 15 +1 4 7 8 11 12 +1 4 7 8 11 13 +1 4 7 8 11 14 +1 4 7 8 11 15 +1 4 7 8 12 13 +1 4 7 8 12 14 +1 4 7 8 12 15 +1 4 7 8 13 14 +1 4 7 8 13 15 +1 4 7 8 14 15 +1 4 7 9 10 11 +1 4 7 9 10 12 +1 4 7 9 10 13 +1 4 7 9 10 14 +1 4 7 9 10 15 +1 4 7 9 11 12 +1 4 7 9 11 13 +1 4 7 9 11 14 +1 4 7 9 11 15 +1 4 7 9 12 13 +1 4 7 9 12 14 +1 4 7 9 12 15 +1 4 7 9 13 14 +1 4 7 9 13 15 +1 4 7 9 14 15 +1 4 7 10 11 12 +1 4 7 10 11 13 +1 4 7 10 11 14 +1 4 7 10 11 15 +1 4 7 10 12 13 +1 4 7 10 12 14 +1 4 7 10 12 15 +1 4 7 10 13 14 +1 4 7 10 13 15 +1 4 7 10 14 15 +1 4 7 11 12 13 +1 4 7 11 12 14 +1 4 7 11 12 15 +1 4 7 11 13 14 +1 4 7 11 13 15 +1 4 7 11 14 15 +1 4 7 12 13 14 +1 4 7 12 13 15 +1 4 7 12 14 15 +1 4 7 13 14 15 +1 4 8 9 10 11 +1 4 8 9 10 12 +1 4 8 9 10 13 +1 4 8 9 10 14 +1 4 8 9 10 15 +1 4 8 9 11 12 +1 4 8 9 11 13 +1 4 8 9 11 14 +1 4 8 9 11 15 +1 4 8 9 12 13 +1 4 8 9 12 14 +1 4 8 9 12 15 +1 4 8 9 13 14 +1 4 8 9 13 15 +1 4 8 9 14 15 +1 4 8 10 11 12 +1 4 8 10 11 13 +1 4 8 10 11 14 +1 4 8 10 11 15 +1 4 8 10 12 13 +1 4 8 10 12 14 +1 4 8 10 12 15 +1 4 8 10 13 14 +1 4 8 10 13 15 +1 4 8 10 14 15 +1 4 8 11 12 13 +1 4 8 11 12 14 +1 4 8 11 12 15 +1 4 8 11 13 14 +1 4 8 11 13 15 +1 4 8 11 14 15 +1 4 8 12 13 14 +1 4 8 12 13 15 +1 4 8 12 14 15 +1 4 8 13 14 15 +1 4 9 10 11 12 +1 4 9 10 11 13 +1 4 9 10 11 14 +1 4 9 10 11 15 +1 4 9 10 12 13 +1 4 9 10 12 14 +1 4 9 10 12 15 +1 4 9 10 13 14 +1 4 9 10 13 15 +1 4 9 10 14 15 +1 4 9 11 12 13 +1 4 9 11 12 14 +1 4 9 11 12 15 +1 4 9 11 13 14 +1 4 9 11 13 15 +1 4 9 11 14 15 +1 4 9 12 13 14 +1 4 9 12 13 15 +1 4 9 12 14 15 +1 4 9 13 14 15 +1 4 10 11 12 13 +1 4 10 11 12 14 +1 4 10 11 12 15 +1 4 10 11 13 14 +1 4 10 11 13 15 +1 4 10 11 14 15 +1 4 10 12 13 14 +1 4 10 12 13 15 +1 4 10 12 14 15 +1 4 10 13 14 15 +1 4 11 12 13 14 +1 4 11 12 13 15 +1 4 11 12 14 15 +1 4 11 13 14 15 +1 4 12 13 14 15 +1 5 6 7 8 9 +1 5 6 7 8 10 +1 5 6 7 8 11 +1 5 6 7 8 12 +1 5 6 7 8 13 +1 5 6 7 8 14 +1 5 6 7 8 15 +1 5 6 7 9 10 +1 5 6 7 9 11 +1 5 6 7 9 12 +1 5 6 7 9 13 +1 5 6 7 9 14 +1 5 6 7 9 15 +1 5 6 7 10 11 +1 5 6 7 10 12 +1 5 6 7 10 13 +1 5 6 7 10 14 +1 5 6 7 10 15 +1 5 6 7 11 12 +1 5 6 7 11 13 +1 5 6 7 11 14 +1 5 6 7 11 15 +1 5 6 7 12 13 +1 5 6 7 12 14 +1 5 6 7 12 15 +1 5 6 7 13 14 +1 5 6 7 13 15 +1 5 6 7 14 15 +1 5 6 8 9 10 +1 5 6 8 9 11 +1 5 6 8 9 12 +1 5 6 8 9 13 +1 5 6 8 9 14 +1 5 6 8 9 15 +1 5 6 8 10 11 +1 5 6 8 10 12 +1 5 6 8 10 13 +1 5 6 8 10 14 +1 5 6 8 10 15 +1 5 6 8 11 12 +1 5 6 8 11 13 +1 5 6 8 11 14 +1 5 6 8 11 15 +1 5 6 8 12 13 +1 5 6 8 12 14 +1 5 6 8 12 15 +1 5 6 8 13 14 +1 5 6 8 13 15 +1 5 6 8 14 15 +1 5 6 9 10 11 +1 5 6 9 10 12 +1 5 6 9 10 13 +1 5 6 9 10 14 +1 5 6 9 10 15 +1 5 6 9 11 12 +1 5 6 9 11 13 +1 5 6 9 11 14 +1 5 6 9 11 15 +1 5 6 9 12 13 +1 5 6 9 12 14 +1 5 6 9 12 15 +1 5 6 9 13 14 +1 5 6 9 13 15 +1 5 6 9 14 15 +1 5 6 10 11 12 +1 5 6 10 11 13 +1 5 6 10 11 14 +1 5 6 10 11 15 +1 5 6 10 12 13 +1 5 6 10 12 14 +1 5 6 10 12 15 +1 5 6 10 13 14 +1 5 6 10 13 15 +1 5 6 10 14 15 +1 5 6 11 12 13 +1 5 6 11 12 14 +1 5 6 11 12 15 +1 5 6 11 13 14 +1 5 6 11 13 15 +1 5 6 11 14 15 +1 5 6 12 13 14 +1 5 6 12 13 15 +1 5 6 12 14 15 +1 5 6 13 14 15 +1 5 7 8 9 10 +1 5 7 8 9 11 +1 5 7 8 9 12 +1 5 7 8 9 13 +1 5 7 8 9 14 +1 5 7 8 9 15 +1 5 7 8 10 11 +1 5 7 8 10 12 +1 5 7 8 10 13 +1 5 7 8 10 14 +1 5 7 8 10 15 +1 5 7 8 11 12 +1 5 7 8 11 13 +1 5 7 8 11 14 +1 5 7 8 11 15 +1 5 7 8 12 13 +1 5 7 8 12 14 +1 5 7 8 12 15 +1 5 7 8 13 14 +1 5 7 8 13 15 +1 5 7 8 14 15 +1 5 7 9 10 11 +1 5 7 9 10 12 +1 5 7 9 10 13 +1 5 7 9 10 14 +1 5 7 9 10 15 +1 5 7 9 11 12 +1 5 7 9 11 13 +1 5 7 9 11 14 +1 5 7 9 11 15 +1 5 7 9 12 13 +1 5 7 9 12 14 +1 5 7 9 12 15 +1 5 7 9 13 14 +1 5 7 9 13 15 +1 5 7 9 14 15 +1 5 7 10 11 12 +1 5 7 10 11 13 +1 5 7 10 11 14 +1 5 7 10 11 15 +1 5 7 10 12 13 +1 5 7 10 12 14 +1 5 7 10 12 15 +1 5 7 10 13 14 +1 5 7 10 13 15 +1 5 7 10 14 15 +1 5 7 11 12 13 +1 5 7 11 12 14 +1 5 7 11 12 15 +1 5 7 11 13 14 +1 5 7 11 13 15 +1 5 7 11 14 15 +1 5 7 12 13 14 +1 5 7 12 13 15 +1 5 7 12 14 15 +1 5 7 13 14 15 +1 5 8 9 10 11 +1 5 8 9 10 12 +1 5 8 9 10 13 +1 5 8 9 10 14 +1 5 8 9 10 15 +1 5 8 9 11 12 +1 5 8 9 11 13 +1 5 8 9 11 14 +1 5 8 9 11 15 +1 5 8 9 12 13 +1 5 8 9 12 14 +1 5 8 9 12 15 +1 5 8 9 13 14 +1 5 8 9 13 15 +1 5 8 9 14 15 +1 5 8 10 11 12 +1 5 8 10 11 13 +1 5 8 10 11 14 +1 5 8 10 11 15 +1 5 8 10 12 13 +1 5 8 10 12 14 +1 5 8 10 12 15 +1 5 8 10 13 14 +1 5 8 10 13 15 +1 5 8 10 14 15 +1 5 8 11 12 13 +1 5 8 11 12 14 +1 5 8 11 12 15 +1 5 8 11 13 14 +1 5 8 11 13 15 +1 5 8 11 14 15 +1 5 8 12 13 14 +1 5 8 12 13 15 +1 5 8 12 14 15 +1 5 8 13 14 15 +1 5 9 10 11 12 +1 5 9 10 11 13 +1 5 9 10 11 14 +1 5 9 10 11 15 +1 5 9 10 12 13 +1 5 9 10 12 14 +1 5 9 10 12 15 +1 5 9 10 13 14 +1 5 9 10 13 15 +1 5 9 10 14 15 +1 5 9 11 12 13 +1 5 9 11 12 14 +1 5 9 11 12 15 +1 5 9 11 13 14 +1 5 9 11 13 15 +1 5 9 11 14 15 +1 5 9 12 13 14 +1 5 9 12 13 15 +1 5 9 12 14 15 +1 5 9 13 14 15 +1 5 10 11 12 13 +1 5 10 11 12 14 +1 5 10 11 12 15 +1 5 10 11 13 14 +1 5 10 11 13 15 +1 5 10 11 14 15 +1 5 10 12 13 14 +1 5 10 12 13 15 +1 5 10 12 14 15 +1 5 10 13 14 15 +1 5 11 12 13 14 +1 5 11 12 13 15 +1 5 11 12 14 15 +1 5 11 13 14 15 +1 5 12 13 14 15 +1 6 7 8 9 10 +1 6 7 8 9 11 +1 6 7 8 9 12 +1 6 7 8 9 13 +1 6 7 8 9 14 +1 6 7 8 9 15 +1 6 7 8 10 11 +1 6 7 8 10 12 +1 6 7 8 10 13 +1 6 7 8 10 14 +1 6 7 8 10 15 +1 6 7 8 11 12 +1 6 7 8 11 13 +1 6 7 8 11 14 +1 6 7 8 11 15 +1 6 7 8 12 13 +1 6 7 8 12 14 +1 6 7 8 12 15 +1 6 7 8 13 14 +1 6 7 8 13 15 +1 6 7 8 14 15 +1 6 7 9 10 11 +1 6 7 9 10 12 +1 6 7 9 10 13 +1 6 7 9 10 14 +1 6 7 9 10 15 +1 6 7 9 11 12 +1 6 7 9 11 13 +1 6 7 9 11 14 +1 6 7 9 11 15 +1 6 7 9 12 13 +1 6 7 9 12 14 +1 6 7 9 12 15 +1 6 7 9 13 14 +1 6 7 9 13 15 +1 6 7 9 14 15 +1 6 7 10 11 12 +1 6 7 10 11 13 +1 6 7 10 11 14 +1 6 7 10 11 15 +1 6 7 10 12 13 +1 6 7 10 12 14 +1 6 7 10 12 15 +1 6 7 10 13 14 +1 6 7 10 13 15 +1 6 7 10 14 15 +1 6 7 11 12 13 +1 6 7 11 12 14 +1 6 7 11 12 15 +1 6 7 11 13 14 +1 6 7 11 13 15 +1 6 7 11 14 15 +1 6 7 12 13 14 +1 6 7 12 13 15 +1 6 7 12 14 15 +1 6 7 13 14 15 +1 6 8 9 10 11 +1 6 8 9 10 12 +1 6 8 9 10 13 +1 6 8 9 10 14 +1 6 8 9 10 15 +1 6 8 9 11 12 +1 6 8 9 11 13 +1 6 8 9 11 14 +1 6 8 9 11 15 +1 6 8 9 12 13 +1 6 8 9 12 14 +1 6 8 9 12 15 +1 6 8 9 13 14 +1 6 8 9 13 15 +1 6 8 9 14 15 +1 6 8 10 11 12 +1 6 8 10 11 13 +1 6 8 10 11 14 +1 6 8 10 11 15 +1 6 8 10 12 13 +1 6 8 10 12 14 +1 6 8 10 12 15 +1 6 8 10 13 14 +1 6 8 10 13 15 +1 6 8 10 14 15 +1 6 8 11 12 13 +1 6 8 11 12 14 +1 6 8 11 12 15 +1 6 8 11 13 14 +1 6 8 11 13 15 +1 6 8 11 14 15 +1 6 8 12 13 14 +1 6 8 12 13 15 +1 6 8 12 14 15 +1 6 8 13 14 15 +1 6 9 10 11 12 +1 6 9 10 11 13 +1 6 9 10 11 14 +1 6 9 10 11 15 +1 6 9 10 12 13 +1 6 9 10 12 14 +1 6 9 10 12 15 +1 6 9 10 13 14 +1 6 9 10 13 15 +1 6 9 10 14 15 +1 6 9 11 12 13 +1 6 9 11 12 14 +1 6 9 11 12 15 +1 6 9 11 13 14 +1 6 9 11 13 15 +1 6 9 11 14 15 +1 6 9 12 13 14 +1 6 9 12 13 15 +1 6 9 12 14 15 +1 6 9 13 14 15 +1 6 10 11 12 13 +1 6 10 11 12 14 +1 6 10 11 12 15 +1 6 10 11 13 14 +1 6 10 11 13 15 +1 6 10 11 14 15 +1 6 10 12 13 14 +1 6 10 12 13 15 +1 6 10 12 14 15 +1 6 10 13 14 15 +1 6 11 12 13 14 +1 6 11 12 13 15 +1 6 11 12 14 15 +1 6 11 13 14 15 +1 6 12 13 14 15 +1 7 8 9 10 11 +1 7 8 9 10 12 +1 7 8 9 10 13 +1 7 8 9 10 14 +1 7 8 9 10 15 +1 7 8 9 11 12 +1 7 8 9 11 13 +1 7 8 9 11 14 +1 7 8 9 11 15 +1 7 8 9 12 13 +1 7 8 9 12 14 +1 7 8 9 12 15 +1 7 8 9 13 14 +1 7 8 9 13 15 +1 7 8 9 14 15 +1 7 8 10 11 12 +1 7 8 10 11 13 +1 7 8 10 11 14 +1 7 8 10 11 15 +1 7 8 10 12 13 +1 7 8 10 12 14 +1 7 8 10 12 15 +1 7 8 10 13 14 +1 7 8 10 13 15 +1 7 8 10 14 15 +1 7 8 11 12 13 +1 7 8 11 12 14 +1 7 8 11 12 15 +1 7 8 11 13 14 +1 7 8 11 13 15 +1 7 8 11 14 15 +1 7 8 12 13 14 +1 7 8 12 13 15 +1 7 8 12 14 15 +1 7 8 13 14 15 +1 7 9 10 11 12 +1 7 9 10 11 13 +1 7 9 10 11 14 +1 7 9 10 11 15 +1 7 9 10 12 13 +1 7 9 10 12 14 +1 7 9 10 12 15 +1 7 9 10 13 14 +1 7 9 10 13 15 +1 7 9 10 14 15 +1 7 9 11 12 13 +1 7 9 11 12 14 +1 7 9 11 12 15 +1 7 9 11 13 14 +1 7 9 11 13 15 +1 7 9 11 14 15 +1 7 9 12 13 14 +1 7 9 12 13 15 +1 7 9 12 14 15 +1 7 9 13 14 15 +1 7 10 11 12 13 +1 7 10 11 12 14 +1 7 10 11 12 15 +1 7 10 11 13 14 +1 7 10 11 13 15 +1 7 10 11 14 15 +1 7 10 12 13 14 +1 7 10 12 13 15 +1 7 10 12 14 15 +1 7 10 13 14 15 +1 7 11 12 13 14 +1 7 11 12 13 15 +1 7 11 12 14 15 +1 7 11 13 14 15 +1 7 12 13 14 15 +1 8 9 10 11 12 +1 8 9 10 11 13 +1 8 9 10 11 14 +1 8 9 10 11 15 +1 8 9 10 12 13 +1 8 9 10 12 14 +1 8 9 10 12 15 +1 8 9 10 13 14 +1 8 9 10 13 15 +1 8 9 10 14 15 +1 8 9 11 12 13 +1 8 9 11 12 14 +1 8 9 11 12 15 +1 8 9 11 13 14 +1 8 9 11 13 15 +1 8 9 11 14 15 +1 8 9 12 13 14 +1 8 9 12 13 15 +1 8 9 12 14 15 +1 8 9 13 14 15 +1 8 10 11 12 13 +1 8 10 11 12 14 +1 8 10 11 12 15 +1 8 10 11 13 14 +1 8 10 11 13 15 +1 8 10 11 14 15 +1 8 10 12 13 14 +1 8 10 12 13 15 +1 8 10 12 14 15 +1 8 10 13 14 15 +1 8 11 12 13 14 +1 8 11 12 13 15 +1 8 11 12 14 15 +1 8 11 13 14 15 +1 8 12 13 14 15 +1 9 10 11 12 13 +1 9 10 11 12 14 +1 9 10 11 12 15 +1 9 10 11 13 14 +1 9 10 11 13 15 +1 9 10 11 14 15 +1 9 10 12 13 14 +1 9 10 12 13 15 +1 9 10 12 14 15 +1 9 10 13 14 15 +1 9 11 12 13 14 +1 9 11 12 13 15 +1 9 11 12 14 15 +1 9 11 13 14 15 +1 9 12 13 14 15 +1 10 11 12 13 14 +1 10 11 12 13 15 +1 10 11 12 14 15 +1 10 11 13 14 15 +1 10 12 13 14 15 +1 11 12 13 14 15 +2 3 4 5 6 7 +2 3 4 5 6 8 +2 3 4 5 6 9 +2 3 4 5 6 10 +2 3 4 5 6 11 +2 3 4 5 6 12 +2 3 4 5 6 13 +2 3 4 5 6 14 +2 3 4 5 6 15 +2 3 4 5 7 8 +2 3 4 5 7 9 +2 3 4 5 7 10 +2 3 4 5 7 11 +2 3 4 5 7 12 +2 3 4 5 7 13 +2 3 4 5 7 14 +2 3 4 5 7 15 +2 3 4 5 8 9 +2 3 4 5 8 10 +2 3 4 5 8 11 +2 3 4 5 8 12 +2 3 4 5 8 13 +2 3 4 5 8 14 +2 3 4 5 8 15 +2 3 4 5 9 10 +2 3 4 5 9 11 +2 3 4 5 9 12 +2 3 4 5 9 13 +2 3 4 5 9 14 +2 3 4 5 9 15 +2 3 4 5 10 11 +2 3 4 5 10 12 +2 3 4 5 10 13 +2 3 4 5 10 14 +2 3 4 5 10 15 +2 3 4 5 11 12 +2 3 4 5 11 13 +2 3 4 5 11 14 +2 3 4 5 11 15 +2 3 4 5 12 13 +2 3 4 5 12 14 +2 3 4 5 12 15 +2 3 4 5 13 14 +2 3 4 5 13 15 +2 3 4 5 14 15 +2 3 4 6 7 8 +2 3 4 6 7 9 +2 3 4 6 7 10 +2 3 4 6 7 11 +2 3 4 6 7 12 +2 3 4 6 7 13 +2 3 4 6 7 14 +2 3 4 6 7 15 +2 3 4 6 8 9 +2 3 4 6 8 10 +2 3 4 6 8 11 +2 3 4 6 8 12 +2 3 4 6 8 13 +2 3 4 6 8 14 +2 3 4 6 8 15 +2 3 4 6 9 10 +2 3 4 6 9 11 +2 3 4 6 9 12 +2 3 4 6 9 13 +2 3 4 6 9 14 +2 3 4 6 9 15 +2 3 4 6 10 11 +2 3 4 6 10 12 +2 3 4 6 10 13 +2 3 4 6 10 14 +2 3 4 6 10 15 +2 3 4 6 11 12 +2 3 4 6 11 13 +2 3 4 6 11 14 +2 3 4 6 11 15 +2 3 4 6 12 13 +2 3 4 6 12 14 +2 3 4 6 12 15 +2 3 4 6 13 14 +2 3 4 6 13 15 +2 3 4 6 14 15 +2 3 4 7 8 9 +2 3 4 7 8 10 +2 3 4 7 8 11 +2 3 4 7 8 12 +2 3 4 7 8 13 +2 3 4 7 8 14 +2 3 4 7 8 15 +2 3 4 7 9 10 +2 3 4 7 9 11 +2 3 4 7 9 12 +2 3 4 7 9 13 +2 3 4 7 9 14 +2 3 4 7 9 15 +2 3 4 7 10 11 +2 3 4 7 10 12 +2 3 4 7 10 13 +2 3 4 7 10 14 +2 3 4 7 10 15 +2 3 4 7 11 12 +2 3 4 7 11 13 +2 3 4 7 11 14 +2 3 4 7 11 15 +2 3 4 7 12 13 +2 3 4 7 12 14 +2 3 4 7 12 15 +2 3 4 7 13 14 +2 3 4 7 13 15 +2 3 4 7 14 15 +2 3 4 8 9 10 +2 3 4 8 9 11 +2 3 4 8 9 12 +2 3 4 8 9 13 +2 3 4 8 9 14 +2 3 4 8 9 15 +2 3 4 8 10 11 +2 3 4 8 10 12 +2 3 4 8 10 13 +2 3 4 8 10 14 +2 3 4 8 10 15 +2 3 4 8 11 12 +2 3 4 8 11 13 +2 3 4 8 11 14 +2 3 4 8 11 15 +2 3 4 8 12 13 +2 3 4 8 12 14 +2 3 4 8 12 15 +2 3 4 8 13 14 +2 3 4 8 13 15 +2 3 4 8 14 15 +2 3 4 9 10 11 +2 3 4 9 10 12 +2 3 4 9 10 13 +2 3 4 9 10 14 +2 3 4 9 10 15 +2 3 4 9 11 12 +2 3 4 9 11 13 +2 3 4 9 11 14 +2 3 4 9 11 15 +2 3 4 9 12 13 +2 3 4 9 12 14 +2 3 4 9 12 15 +2 3 4 9 13 14 +2 3 4 9 13 15 +2 3 4 9 14 15 +2 3 4 10 11 12 +2 3 4 10 11 13 +2 3 4 10 11 14 +2 3 4 10 11 15 +2 3 4 10 12 13 +2 3 4 10 12 14 +2 3 4 10 12 15 +2 3 4 10 13 14 +2 3 4 10 13 15 +2 3 4 10 14 15 +2 3 4 11 12 13 +2 3 4 11 12 14 +2 3 4 11 12 15 +2 3 4 11 13 14 +2 3 4 11 13 15 +2 3 4 11 14 15 +2 3 4 12 13 14 +2 3 4 12 13 15 +2 3 4 12 14 15 +2 3 4 13 14 15 +2 3 5 6 7 8 +2 3 5 6 7 9 +2 3 5 6 7 10 +2 3 5 6 7 11 +2 3 5 6 7 12 +2 3 5 6 7 13 +2 3 5 6 7 14 +2 3 5 6 7 15 +2 3 5 6 8 9 +2 3 5 6 8 10 +2 3 5 6 8 11 +2 3 5 6 8 12 +2 3 5 6 8 13 +2 3 5 6 8 14 +2 3 5 6 8 15 +2 3 5 6 9 10 +2 3 5 6 9 11 +2 3 5 6 9 12 +2 3 5 6 9 13 +2 3 5 6 9 14 +2 3 5 6 9 15 +2 3 5 6 10 11 +2 3 5 6 10 12 +2 3 5 6 10 13 +2 3 5 6 10 14 +2 3 5 6 10 15 +2 3 5 6 11 12 +2 3 5 6 11 13 +2 3 5 6 11 14 +2 3 5 6 11 15 +2 3 5 6 12 13 +2 3 5 6 12 14 +2 3 5 6 12 15 +2 3 5 6 13 14 +2 3 5 6 13 15 +2 3 5 6 14 15 +2 3 5 7 8 9 +2 3 5 7 8 10 +2 3 5 7 8 11 +2 3 5 7 8 12 +2 3 5 7 8 13 +2 3 5 7 8 14 +2 3 5 7 8 15 +2 3 5 7 9 10 +2 3 5 7 9 11 +2 3 5 7 9 12 +2 3 5 7 9 13 +2 3 5 7 9 14 +2 3 5 7 9 15 +2 3 5 7 10 11 +2 3 5 7 10 12 +2 3 5 7 10 13 +2 3 5 7 10 14 +2 3 5 7 10 15 +2 3 5 7 11 12 +2 3 5 7 11 13 +2 3 5 7 11 14 +2 3 5 7 11 15 +2 3 5 7 12 13 +2 3 5 7 12 14 +2 3 5 7 12 15 +2 3 5 7 13 14 +2 3 5 7 13 15 +2 3 5 7 14 15 +2 3 5 8 9 10 +2 3 5 8 9 11 +2 3 5 8 9 12 +2 3 5 8 9 13 +2 3 5 8 9 14 +2 3 5 8 9 15 +2 3 5 8 10 11 +2 3 5 8 10 12 +2 3 5 8 10 13 +2 3 5 8 10 14 +2 3 5 8 10 15 +2 3 5 8 11 12 +2 3 5 8 11 13 +2 3 5 8 11 14 +2 3 5 8 11 15 +2 3 5 8 12 13 +2 3 5 8 12 14 +2 3 5 8 12 15 +2 3 5 8 13 14 +2 3 5 8 13 15 +2 3 5 8 14 15 +2 3 5 9 10 11 +2 3 5 9 10 12 +2 3 5 9 10 13 +2 3 5 9 10 14 +2 3 5 9 10 15 +2 3 5 9 11 12 +2 3 5 9 11 13 +2 3 5 9 11 14 +2 3 5 9 11 15 +2 3 5 9 12 13 +2 3 5 9 12 14 +2 3 5 9 12 15 +2 3 5 9 13 14 +2 3 5 9 13 15 +2 3 5 9 14 15 +2 3 5 10 11 12 +2 3 5 10 11 13 +2 3 5 10 11 14 +2 3 5 10 11 15 +2 3 5 10 12 13 +2 3 5 10 12 14 +2 3 5 10 12 15 +2 3 5 10 13 14 +2 3 5 10 13 15 +2 3 5 10 14 15 +2 3 5 11 12 13 +2 3 5 11 12 14 +2 3 5 11 12 15 +2 3 5 11 13 14 +2 3 5 11 13 15 +2 3 5 11 14 15 +2 3 5 12 13 14 +2 3 5 12 13 15 +2 3 5 12 14 15 +2 3 5 13 14 15 +2 3 6 7 8 9 +2 3 6 7 8 10 +2 3 6 7 8 11 +2 3 6 7 8 12 +2 3 6 7 8 13 +2 3 6 7 8 14 +2 3 6 7 8 15 +2 3 6 7 9 10 +2 3 6 7 9 11 +2 3 6 7 9 12 +2 3 6 7 9 13 +2 3 6 7 9 14 +2 3 6 7 9 15 +2 3 6 7 10 11 +2 3 6 7 10 12 +2 3 6 7 10 13 +2 3 6 7 10 14 +2 3 6 7 10 15 +2 3 6 7 11 12 +2 3 6 7 11 13 +2 3 6 7 11 14 +2 3 6 7 11 15 +2 3 6 7 12 13 +2 3 6 7 12 14 +2 3 6 7 12 15 +2 3 6 7 13 14 +2 3 6 7 13 15 +2 3 6 7 14 15 +2 3 6 8 9 10 +2 3 6 8 9 11 +2 3 6 8 9 12 +2 3 6 8 9 13 +2 3 6 8 9 14 +2 3 6 8 9 15 +2 3 6 8 10 11 +2 3 6 8 10 12 +2 3 6 8 10 13 +2 3 6 8 10 14 +2 3 6 8 10 15 +2 3 6 8 11 12 +2 3 6 8 11 13 +2 3 6 8 11 14 +2 3 6 8 11 15 +2 3 6 8 12 13 +2 3 6 8 12 14 +2 3 6 8 12 15 +2 3 6 8 13 14 +2 3 6 8 13 15 +2 3 6 8 14 15 +2 3 6 9 10 11 +2 3 6 9 10 12 +2 3 6 9 10 13 +2 3 6 9 10 14 +2 3 6 9 10 15 +2 3 6 9 11 12 +2 3 6 9 11 13 +2 3 6 9 11 14 +2 3 6 9 11 15 +2 3 6 9 12 13 +2 3 6 9 12 14 +2 3 6 9 12 15 +2 3 6 9 13 14 +2 3 6 9 13 15 +2 3 6 9 14 15 +2 3 6 10 11 12 +2 3 6 10 11 13 +2 3 6 10 11 14 +2 3 6 10 11 15 +2 3 6 10 12 13 +2 3 6 10 12 14 +2 3 6 10 12 15 +2 3 6 10 13 14 +2 3 6 10 13 15 +2 3 6 10 14 15 +2 3 6 11 12 13 +2 3 6 11 12 14 +2 3 6 11 12 15 +2 3 6 11 13 14 +2 3 6 11 13 15 +2 3 6 11 14 15 +2 3 6 12 13 14 +2 3 6 12 13 15 +2 3 6 12 14 15 +2 3 6 13 14 15 +2 3 7 8 9 10 +2 3 7 8 9 11 +2 3 7 8 9 12 +2 3 7 8 9 13 +2 3 7 8 9 14 +2 3 7 8 9 15 +2 3 7 8 10 11 +2 3 7 8 10 12 +2 3 7 8 10 13 +2 3 7 8 10 14 +2 3 7 8 10 15 +2 3 7 8 11 12 +2 3 7 8 11 13 +2 3 7 8 11 14 +2 3 7 8 11 15 +2 3 7 8 12 13 +2 3 7 8 12 14 +2 3 7 8 12 15 +2 3 7 8 13 14 +2 3 7 8 13 15 +2 3 7 8 14 15 +2 3 7 9 10 11 +2 3 7 9 10 12 +2 3 7 9 10 13 +2 3 7 9 10 14 +2 3 7 9 10 15 +2 3 7 9 11 12 +2 3 7 9 11 13 +2 3 7 9 11 14 +2 3 7 9 11 15 +2 3 7 9 12 13 +2 3 7 9 12 14 +2 3 7 9 12 15 +2 3 7 9 13 14 +2 3 7 9 13 15 +2 3 7 9 14 15 +2 3 7 10 11 12 +2 3 7 10 11 13 +2 3 7 10 11 14 +2 3 7 10 11 15 +2 3 7 10 12 13 +2 3 7 10 12 14 +2 3 7 10 12 15 +2 3 7 10 13 14 +2 3 7 10 13 15 +2 3 7 10 14 15 +2 3 7 11 12 13 +2 3 7 11 12 14 +2 3 7 11 12 15 +2 3 7 11 13 14 +2 3 7 11 13 15 +2 3 7 11 14 15 +2 3 7 12 13 14 +2 3 7 12 13 15 +2 3 7 12 14 15 +2 3 7 13 14 15 +2 3 8 9 10 11 +2 3 8 9 10 12 +2 3 8 9 10 13 +2 3 8 9 10 14 +2 3 8 9 10 15 +2 3 8 9 11 12 +2 3 8 9 11 13 +2 3 8 9 11 14 +2 3 8 9 11 15 +2 3 8 9 12 13 +2 3 8 9 12 14 +2 3 8 9 12 15 +2 3 8 9 13 14 +2 3 8 9 13 15 +2 3 8 9 14 15 +2 3 8 10 11 12 +2 3 8 10 11 13 +2 3 8 10 11 14 +2 3 8 10 11 15 +2 3 8 10 12 13 +2 3 8 10 12 14 +2 3 8 10 12 15 +2 3 8 10 13 14 +2 3 8 10 13 15 +2 3 8 10 14 15 +2 3 8 11 12 13 +2 3 8 11 12 14 +2 3 8 11 12 15 +2 3 8 11 13 14 +2 3 8 11 13 15 +2 3 8 11 14 15 +2 3 8 12 13 14 +2 3 8 12 13 15 +2 3 8 12 14 15 +2 3 8 13 14 15 +2 3 9 10 11 12 +2 3 9 10 11 13 +2 3 9 10 11 14 +2 3 9 10 11 15 +2 3 9 10 12 13 +2 3 9 10 12 14 +2 3 9 10 12 15 +2 3 9 10 13 14 +2 3 9 10 13 15 +2 3 9 10 14 15 +2 3 9 11 12 13 +2 3 9 11 12 14 +2 3 9 11 12 15 +2 3 9 11 13 14 +2 3 9 11 13 15 +2 3 9 11 14 15 +2 3 9 12 13 14 +2 3 9 12 13 15 +2 3 9 12 14 15 +2 3 9 13 14 15 +2 3 10 11 12 13 +2 3 10 11 12 14 +2 3 10 11 12 15 +2 3 10 11 13 14 +2 3 10 11 13 15 +2 3 10 11 14 15 +2 3 10 12 13 14 +2 3 10 12 13 15 +2 3 10 12 14 15 +2 3 10 13 14 15 +2 3 11 12 13 14 +2 3 11 12 13 15 +2 3 11 12 14 15 +2 3 11 13 14 15 +2 3 12 13 14 15 +2 4 5 6 7 8 +2 4 5 6 7 9 +2 4 5 6 7 10 +2 4 5 6 7 11 +2 4 5 6 7 12 +2 4 5 6 7 13 +2 4 5 6 7 14 +2 4 5 6 7 15 +2 4 5 6 8 9 +2 4 5 6 8 10 +2 4 5 6 8 11 +2 4 5 6 8 12 +2 4 5 6 8 13 +2 4 5 6 8 14 +2 4 5 6 8 15 +2 4 5 6 9 10 +2 4 5 6 9 11 +2 4 5 6 9 12 +2 4 5 6 9 13 +2 4 5 6 9 14 +2 4 5 6 9 15 +2 4 5 6 10 11 +2 4 5 6 10 12 +2 4 5 6 10 13 +2 4 5 6 10 14 +2 4 5 6 10 15 +2 4 5 6 11 12 +2 4 5 6 11 13 +2 4 5 6 11 14 +2 4 5 6 11 15 +2 4 5 6 12 13 +2 4 5 6 12 14 +2 4 5 6 12 15 +2 4 5 6 13 14 +2 4 5 6 13 15 +2 4 5 6 14 15 +2 4 5 7 8 9 +2 4 5 7 8 10 +2 4 5 7 8 11 +2 4 5 7 8 12 +2 4 5 7 8 13 +2 4 5 7 8 14 +2 4 5 7 8 15 +2 4 5 7 9 10 +2 4 5 7 9 11 +2 4 5 7 9 12 +2 4 5 7 9 13 +2 4 5 7 9 14 +2 4 5 7 9 15 +2 4 5 7 10 11 +2 4 5 7 10 12 +2 4 5 7 10 13 +2 4 5 7 10 14 +2 4 5 7 10 15 +2 4 5 7 11 12 +2 4 5 7 11 13 +2 4 5 7 11 14 +2 4 5 7 11 15 +2 4 5 7 12 13 +2 4 5 7 12 14 +2 4 5 7 12 15 +2 4 5 7 13 14 +2 4 5 7 13 15 +2 4 5 7 14 15 +2 4 5 8 9 10 +2 4 5 8 9 11 +2 4 5 8 9 12 +2 4 5 8 9 13 +2 4 5 8 9 14 +2 4 5 8 9 15 +2 4 5 8 10 11 +2 4 5 8 10 12 +2 4 5 8 10 13 +2 4 5 8 10 14 +2 4 5 8 10 15 +2 4 5 8 11 12 +2 4 5 8 11 13 +2 4 5 8 11 14 +2 4 5 8 11 15 +2 4 5 8 12 13 +2 4 5 8 12 14 +2 4 5 8 12 15 +2 4 5 8 13 14 +2 4 5 8 13 15 +2 4 5 8 14 15 +2 4 5 9 10 11 +2 4 5 9 10 12 +2 4 5 9 10 13 +2 4 5 9 10 14 +2 4 5 9 10 15 +2 4 5 9 11 12 +2 4 5 9 11 13 +2 4 5 9 11 14 +2 4 5 9 11 15 +2 4 5 9 12 13 +2 4 5 9 12 14 +2 4 5 9 12 15 +2 4 5 9 13 14 +2 4 5 9 13 15 +2 4 5 9 14 15 +2 4 5 10 11 12 +2 4 5 10 11 13 +2 4 5 10 11 14 +2 4 5 10 11 15 +2 4 5 10 12 13 +2 4 5 10 12 14 +2 4 5 10 12 15 +2 4 5 10 13 14 +2 4 5 10 13 15 +2 4 5 10 14 15 +2 4 5 11 12 13 +2 4 5 11 12 14 +2 4 5 11 12 15 +2 4 5 11 13 14 +2 4 5 11 13 15 +2 4 5 11 14 15 +2 4 5 12 13 14 +2 4 5 12 13 15 +2 4 5 12 14 15 +2 4 5 13 14 15 +2 4 6 7 8 9 +2 4 6 7 8 10 +2 4 6 7 8 11 +2 4 6 7 8 12 +2 4 6 7 8 13 +2 4 6 7 8 14 +2 4 6 7 8 15 +2 4 6 7 9 10 +2 4 6 7 9 11 +2 4 6 7 9 12 +2 4 6 7 9 13 +2 4 6 7 9 14 +2 4 6 7 9 15 +2 4 6 7 10 11 +2 4 6 7 10 12 +2 4 6 7 10 13 +2 4 6 7 10 14 +2 4 6 7 10 15 +2 4 6 7 11 12 +2 4 6 7 11 13 +2 4 6 7 11 14 +2 4 6 7 11 15 +2 4 6 7 12 13 +2 4 6 7 12 14 +2 4 6 7 12 15 +2 4 6 7 13 14 +2 4 6 7 13 15 +2 4 6 7 14 15 +2 4 6 8 9 10 +2 4 6 8 9 11 +2 4 6 8 9 12 +2 4 6 8 9 13 +2 4 6 8 9 14 +2 4 6 8 9 15 +2 4 6 8 10 11 +2 4 6 8 10 12 +2 4 6 8 10 13 +2 4 6 8 10 14 +2 4 6 8 10 15 +2 4 6 8 11 12 +2 4 6 8 11 13 +2 4 6 8 11 14 +2 4 6 8 11 15 +2 4 6 8 12 13 +2 4 6 8 12 14 +2 4 6 8 12 15 +2 4 6 8 13 14 +2 4 6 8 13 15 +2 4 6 8 14 15 +2 4 6 9 10 11 +2 4 6 9 10 12 +2 4 6 9 10 13 +2 4 6 9 10 14 +2 4 6 9 10 15 +2 4 6 9 11 12 +2 4 6 9 11 13 +2 4 6 9 11 14 +2 4 6 9 11 15 +2 4 6 9 12 13 +2 4 6 9 12 14 +2 4 6 9 12 15 +2 4 6 9 13 14 +2 4 6 9 13 15 +2 4 6 9 14 15 +2 4 6 10 11 12 +2 4 6 10 11 13 +2 4 6 10 11 14 +2 4 6 10 11 15 +2 4 6 10 12 13 +2 4 6 10 12 14 +2 4 6 10 12 15 +2 4 6 10 13 14 +2 4 6 10 13 15 +2 4 6 10 14 15 +2 4 6 11 12 13 +2 4 6 11 12 14 +2 4 6 11 12 15 +2 4 6 11 13 14 +2 4 6 11 13 15 +2 4 6 11 14 15 +2 4 6 12 13 14 +2 4 6 12 13 15 +2 4 6 12 14 15 +2 4 6 13 14 15 +2 4 7 8 9 10 +2 4 7 8 9 11 +2 4 7 8 9 12 +2 4 7 8 9 13 +2 4 7 8 9 14 +2 4 7 8 9 15 +2 4 7 8 10 11 +2 4 7 8 10 12 +2 4 7 8 10 13 +2 4 7 8 10 14 +2 4 7 8 10 15 +2 4 7 8 11 12 +2 4 7 8 11 13 +2 4 7 8 11 14 +2 4 7 8 11 15 +2 4 7 8 12 13 +2 4 7 8 12 14 +2 4 7 8 12 15 +2 4 7 8 13 14 +2 4 7 8 13 15 +2 4 7 8 14 15 +2 4 7 9 10 11 +2 4 7 9 10 12 +2 4 7 9 10 13 +2 4 7 9 10 14 +2 4 7 9 10 15 +2 4 7 9 11 12 +2 4 7 9 11 13 +2 4 7 9 11 14 +2 4 7 9 11 15 +2 4 7 9 12 13 +2 4 7 9 12 14 +2 4 7 9 12 15 +2 4 7 9 13 14 +2 4 7 9 13 15 +2 4 7 9 14 15 +2 4 7 10 11 12 +2 4 7 10 11 13 +2 4 7 10 11 14 +2 4 7 10 11 15 +2 4 7 10 12 13 +2 4 7 10 12 14 +2 4 7 10 12 15 +2 4 7 10 13 14 +2 4 7 10 13 15 +2 4 7 10 14 15 +2 4 7 11 12 13 +2 4 7 11 12 14 +2 4 7 11 12 15 +2 4 7 11 13 14 +2 4 7 11 13 15 +2 4 7 11 14 15 +2 4 7 12 13 14 +2 4 7 12 13 15 +2 4 7 12 14 15 +2 4 7 13 14 15 +2 4 8 9 10 11 +2 4 8 9 10 12 +2 4 8 9 10 13 +2 4 8 9 10 14 +2 4 8 9 10 15 +2 4 8 9 11 12 +2 4 8 9 11 13 +2 4 8 9 11 14 +2 4 8 9 11 15 +2 4 8 9 12 13 +2 4 8 9 12 14 +2 4 8 9 12 15 +2 4 8 9 13 14 +2 4 8 9 13 15 +2 4 8 9 14 15 +2 4 8 10 11 12 +2 4 8 10 11 13 +2 4 8 10 11 14 +2 4 8 10 11 15 +2 4 8 10 12 13 +2 4 8 10 12 14 +2 4 8 10 12 15 +2 4 8 10 13 14 +2 4 8 10 13 15 +2 4 8 10 14 15 +2 4 8 11 12 13 +2 4 8 11 12 14 +2 4 8 11 12 15 +2 4 8 11 13 14 +2 4 8 11 13 15 +2 4 8 11 14 15 +2 4 8 12 13 14 +2 4 8 12 13 15 +2 4 8 12 14 15 +2 4 8 13 14 15 +2 4 9 10 11 12 +2 4 9 10 11 13 +2 4 9 10 11 14 +2 4 9 10 11 15 +2 4 9 10 12 13 +2 4 9 10 12 14 +2 4 9 10 12 15 +2 4 9 10 13 14 +2 4 9 10 13 15 +2 4 9 10 14 15 +2 4 9 11 12 13 +2 4 9 11 12 14 +2 4 9 11 12 15 +2 4 9 11 13 14 +2 4 9 11 13 15 +2 4 9 11 14 15 +2 4 9 12 13 14 +2 4 9 12 13 15 +2 4 9 12 14 15 +2 4 9 13 14 15 +2 4 10 11 12 13 +2 4 10 11 12 14 +2 4 10 11 12 15 +2 4 10 11 13 14 +2 4 10 11 13 15 +2 4 10 11 14 15 +2 4 10 12 13 14 +2 4 10 12 13 15 +2 4 10 12 14 15 +2 4 10 13 14 15 +2 4 11 12 13 14 +2 4 11 12 13 15 +2 4 11 12 14 15 +2 4 11 13 14 15 +2 4 12 13 14 15 +2 5 6 7 8 9 +2 5 6 7 8 10 +2 5 6 7 8 11 +2 5 6 7 8 12 +2 5 6 7 8 13 +2 5 6 7 8 14 +2 5 6 7 8 15 +2 5 6 7 9 10 +2 5 6 7 9 11 +2 5 6 7 9 12 +2 5 6 7 9 13 +2 5 6 7 9 14 +2 5 6 7 9 15 +2 5 6 7 10 11 +2 5 6 7 10 12 +2 5 6 7 10 13 +2 5 6 7 10 14 +2 5 6 7 10 15 +2 5 6 7 11 12 +2 5 6 7 11 13 +2 5 6 7 11 14 +2 5 6 7 11 15 +2 5 6 7 12 13 +2 5 6 7 12 14 +2 5 6 7 12 15 +2 5 6 7 13 14 +2 5 6 7 13 15 +2 5 6 7 14 15 +2 5 6 8 9 10 +2 5 6 8 9 11 +2 5 6 8 9 12 +2 5 6 8 9 13 +2 5 6 8 9 14 +2 5 6 8 9 15 +2 5 6 8 10 11 +2 5 6 8 10 12 +2 5 6 8 10 13 +2 5 6 8 10 14 +2 5 6 8 10 15 +2 5 6 8 11 12 +2 5 6 8 11 13 +2 5 6 8 11 14 +2 5 6 8 11 15 +2 5 6 8 12 13 +2 5 6 8 12 14 +2 5 6 8 12 15 +2 5 6 8 13 14 +2 5 6 8 13 15 +2 5 6 8 14 15 +2 5 6 9 10 11 +2 5 6 9 10 12 +2 5 6 9 10 13 +2 5 6 9 10 14 +2 5 6 9 10 15 +2 5 6 9 11 12 +2 5 6 9 11 13 +2 5 6 9 11 14 +2 5 6 9 11 15 +2 5 6 9 12 13 +2 5 6 9 12 14 +2 5 6 9 12 15 +2 5 6 9 13 14 +2 5 6 9 13 15 +2 5 6 9 14 15 +2 5 6 10 11 12 +2 5 6 10 11 13 +2 5 6 10 11 14 +2 5 6 10 11 15 +2 5 6 10 12 13 +2 5 6 10 12 14 +2 5 6 10 12 15 +2 5 6 10 13 14 +2 5 6 10 13 15 +2 5 6 10 14 15 +2 5 6 11 12 13 +2 5 6 11 12 14 +2 5 6 11 12 15 +2 5 6 11 13 14 +2 5 6 11 13 15 +2 5 6 11 14 15 +2 5 6 12 13 14 +2 5 6 12 13 15 +2 5 6 12 14 15 +2 5 6 13 14 15 +2 5 7 8 9 10 +2 5 7 8 9 11 +2 5 7 8 9 12 +2 5 7 8 9 13 +2 5 7 8 9 14 +2 5 7 8 9 15 +2 5 7 8 10 11 +2 5 7 8 10 12 +2 5 7 8 10 13 +2 5 7 8 10 14 +2 5 7 8 10 15 +2 5 7 8 11 12 +2 5 7 8 11 13 +2 5 7 8 11 14 +2 5 7 8 11 15 +2 5 7 8 12 13 +2 5 7 8 12 14 +2 5 7 8 12 15 +2 5 7 8 13 14 +2 5 7 8 13 15 +2 5 7 8 14 15 +2 5 7 9 10 11 +2 5 7 9 10 12 +2 5 7 9 10 13 +2 5 7 9 10 14 +2 5 7 9 10 15 +2 5 7 9 11 12 +2 5 7 9 11 13 +2 5 7 9 11 14 +2 5 7 9 11 15 +2 5 7 9 12 13 +2 5 7 9 12 14 +2 5 7 9 12 15 +2 5 7 9 13 14 +2 5 7 9 13 15 +2 5 7 9 14 15 +2 5 7 10 11 12 +2 5 7 10 11 13 +2 5 7 10 11 14 +2 5 7 10 11 15 +2 5 7 10 12 13 +2 5 7 10 12 14 +2 5 7 10 12 15 +2 5 7 10 13 14 +2 5 7 10 13 15 +2 5 7 10 14 15 +2 5 7 11 12 13 +2 5 7 11 12 14 +2 5 7 11 12 15 +2 5 7 11 13 14 +2 5 7 11 13 15 +2 5 7 11 14 15 +2 5 7 12 13 14 +2 5 7 12 13 15 +2 5 7 12 14 15 +2 5 7 13 14 15 +2 5 8 9 10 11 +2 5 8 9 10 12 +2 5 8 9 10 13 +2 5 8 9 10 14 +2 5 8 9 10 15 +2 5 8 9 11 12 +2 5 8 9 11 13 +2 5 8 9 11 14 +2 5 8 9 11 15 +2 5 8 9 12 13 +2 5 8 9 12 14 +2 5 8 9 12 15 +2 5 8 9 13 14 +2 5 8 9 13 15 +2 5 8 9 14 15 +2 5 8 10 11 12 +2 5 8 10 11 13 +2 5 8 10 11 14 +2 5 8 10 11 15 +2 5 8 10 12 13 +2 5 8 10 12 14 +2 5 8 10 12 15 +2 5 8 10 13 14 +2 5 8 10 13 15 +2 5 8 10 14 15 +2 5 8 11 12 13 +2 5 8 11 12 14 +2 5 8 11 12 15 +2 5 8 11 13 14 +2 5 8 11 13 15 +2 5 8 11 14 15 +2 5 8 12 13 14 +2 5 8 12 13 15 +2 5 8 12 14 15 +2 5 8 13 14 15 +2 5 9 10 11 12 +2 5 9 10 11 13 +2 5 9 10 11 14 +2 5 9 10 11 15 +2 5 9 10 12 13 +2 5 9 10 12 14 +2 5 9 10 12 15 +2 5 9 10 13 14 +2 5 9 10 13 15 +2 5 9 10 14 15 +2 5 9 11 12 13 +2 5 9 11 12 14 +2 5 9 11 12 15 +2 5 9 11 13 14 +2 5 9 11 13 15 +2 5 9 11 14 15 +2 5 9 12 13 14 +2 5 9 12 13 15 +2 5 9 12 14 15 +2 5 9 13 14 15 +2 5 10 11 12 13 +2 5 10 11 12 14 +2 5 10 11 12 15 +2 5 10 11 13 14 +2 5 10 11 13 15 +2 5 10 11 14 15 +2 5 10 12 13 14 +2 5 10 12 13 15 +2 5 10 12 14 15 +2 5 10 13 14 15 +2 5 11 12 13 14 +2 5 11 12 13 15 +2 5 11 12 14 15 +2 5 11 13 14 15 +2 5 12 13 14 15 +2 6 7 8 9 10 +2 6 7 8 9 11 +2 6 7 8 9 12 +2 6 7 8 9 13 +2 6 7 8 9 14 +2 6 7 8 9 15 +2 6 7 8 10 11 +2 6 7 8 10 12 +2 6 7 8 10 13 +2 6 7 8 10 14 +2 6 7 8 10 15 +2 6 7 8 11 12 +2 6 7 8 11 13 +2 6 7 8 11 14 +2 6 7 8 11 15 +2 6 7 8 12 13 +2 6 7 8 12 14 +2 6 7 8 12 15 +2 6 7 8 13 14 +2 6 7 8 13 15 +2 6 7 8 14 15 +2 6 7 9 10 11 +2 6 7 9 10 12 +2 6 7 9 10 13 +2 6 7 9 10 14 +2 6 7 9 10 15 +2 6 7 9 11 12 +2 6 7 9 11 13 +2 6 7 9 11 14 +2 6 7 9 11 15 +2 6 7 9 12 13 +2 6 7 9 12 14 +2 6 7 9 12 15 +2 6 7 9 13 14 +2 6 7 9 13 15 +2 6 7 9 14 15 +2 6 7 10 11 12 +2 6 7 10 11 13 +2 6 7 10 11 14 +2 6 7 10 11 15 +2 6 7 10 12 13 +2 6 7 10 12 14 +2 6 7 10 12 15 +2 6 7 10 13 14 +2 6 7 10 13 15 +2 6 7 10 14 15 +2 6 7 11 12 13 +2 6 7 11 12 14 +2 6 7 11 12 15 +2 6 7 11 13 14 +2 6 7 11 13 15 +2 6 7 11 14 15 +2 6 7 12 13 14 +2 6 7 12 13 15 +2 6 7 12 14 15 +2 6 7 13 14 15 +2 6 8 9 10 11 +2 6 8 9 10 12 +2 6 8 9 10 13 +2 6 8 9 10 14 +2 6 8 9 10 15 +2 6 8 9 11 12 +2 6 8 9 11 13 +2 6 8 9 11 14 +2 6 8 9 11 15 +2 6 8 9 12 13 +2 6 8 9 12 14 +2 6 8 9 12 15 +2 6 8 9 13 14 +2 6 8 9 13 15 +2 6 8 9 14 15 +2 6 8 10 11 12 +2 6 8 10 11 13 +2 6 8 10 11 14 +2 6 8 10 11 15 +2 6 8 10 12 13 +2 6 8 10 12 14 +2 6 8 10 12 15 +2 6 8 10 13 14 +2 6 8 10 13 15 +2 6 8 10 14 15 +2 6 8 11 12 13 +2 6 8 11 12 14 +2 6 8 11 12 15 +2 6 8 11 13 14 +2 6 8 11 13 15 +2 6 8 11 14 15 +2 6 8 12 13 14 +2 6 8 12 13 15 +2 6 8 12 14 15 +2 6 8 13 14 15 +2 6 9 10 11 12 +2 6 9 10 11 13 +2 6 9 10 11 14 +2 6 9 10 11 15 +2 6 9 10 12 13 +2 6 9 10 12 14 +2 6 9 10 12 15 +2 6 9 10 13 14 +2 6 9 10 13 15 +2 6 9 10 14 15 +2 6 9 11 12 13 +2 6 9 11 12 14 +2 6 9 11 12 15 +2 6 9 11 13 14 +2 6 9 11 13 15 +2 6 9 11 14 15 +2 6 9 12 13 14 +2 6 9 12 13 15 +2 6 9 12 14 15 +2 6 9 13 14 15 +2 6 10 11 12 13 +2 6 10 11 12 14 +2 6 10 11 12 15 +2 6 10 11 13 14 +2 6 10 11 13 15 +2 6 10 11 14 15 +2 6 10 12 13 14 +2 6 10 12 13 15 +2 6 10 12 14 15 +2 6 10 13 14 15 +2 6 11 12 13 14 +2 6 11 12 13 15 +2 6 11 12 14 15 +2 6 11 13 14 15 +2 6 12 13 14 15 +2 7 8 9 10 11 +2 7 8 9 10 12 +2 7 8 9 10 13 +2 7 8 9 10 14 +2 7 8 9 10 15 +2 7 8 9 11 12 +2 7 8 9 11 13 +2 7 8 9 11 14 +2 7 8 9 11 15 +2 7 8 9 12 13 +2 7 8 9 12 14 +2 7 8 9 12 15 +2 7 8 9 13 14 +2 7 8 9 13 15 +2 7 8 9 14 15 +2 7 8 10 11 12 +2 7 8 10 11 13 +2 7 8 10 11 14 +2 7 8 10 11 15 +2 7 8 10 12 13 +2 7 8 10 12 14 +2 7 8 10 12 15 +2 7 8 10 13 14 +2 7 8 10 13 15 +2 7 8 10 14 15 +2 7 8 11 12 13 +2 7 8 11 12 14 +2 7 8 11 12 15 +2 7 8 11 13 14 +2 7 8 11 13 15 +2 7 8 11 14 15 +2 7 8 12 13 14 +2 7 8 12 13 15 +2 7 8 12 14 15 +2 7 8 13 14 15 +2 7 9 10 11 12 +2 7 9 10 11 13 +2 7 9 10 11 14 +2 7 9 10 11 15 +2 7 9 10 12 13 +2 7 9 10 12 14 +2 7 9 10 12 15 +2 7 9 10 13 14 +2 7 9 10 13 15 +2 7 9 10 14 15 +2 7 9 11 12 13 +2 7 9 11 12 14 +2 7 9 11 12 15 +2 7 9 11 13 14 +2 7 9 11 13 15 +2 7 9 11 14 15 +2 7 9 12 13 14 +2 7 9 12 13 15 +2 7 9 12 14 15 +2 7 9 13 14 15 +2 7 10 11 12 13 +2 7 10 11 12 14 +2 7 10 11 12 15 +2 7 10 11 13 14 +2 7 10 11 13 15 +2 7 10 11 14 15 +2 7 10 12 13 14 +2 7 10 12 13 15 +2 7 10 12 14 15 +2 7 10 13 14 15 +2 7 11 12 13 14 +2 7 11 12 13 15 +2 7 11 12 14 15 +2 7 11 13 14 15 +2 7 12 13 14 15 +2 8 9 10 11 12 +2 8 9 10 11 13 +2 8 9 10 11 14 +2 8 9 10 11 15 +2 8 9 10 12 13 +2 8 9 10 12 14 +2 8 9 10 12 15 +2 8 9 10 13 14 +2 8 9 10 13 15 +2 8 9 10 14 15 +2 8 9 11 12 13 +2 8 9 11 12 14 +2 8 9 11 12 15 +2 8 9 11 13 14 +2 8 9 11 13 15 +2 8 9 11 14 15 +2 8 9 12 13 14 +2 8 9 12 13 15 +2 8 9 12 14 15 +2 8 9 13 14 15 +2 8 10 11 12 13 +2 8 10 11 12 14 +2 8 10 11 12 15 +2 8 10 11 13 14 +2 8 10 11 13 15 +2 8 10 11 14 15 +2 8 10 12 13 14 +2 8 10 12 13 15 +2 8 10 12 14 15 +2 8 10 13 14 15 +2 8 11 12 13 14 +2 8 11 12 13 15 +2 8 11 12 14 15 +2 8 11 13 14 15 +2 8 12 13 14 15 +2 9 10 11 12 13 +2 9 10 11 12 14 +2 9 10 11 12 15 +2 9 10 11 13 14 +2 9 10 11 13 15 +2 9 10 11 14 15 +2 9 10 12 13 14 +2 9 10 12 13 15 +2 9 10 12 14 15 +2 9 10 13 14 15 +2 9 11 12 13 14 +2 9 11 12 13 15 +2 9 11 12 14 15 +2 9 11 13 14 15 +2 9 12 13 14 15 +2 10 11 12 13 14 +2 10 11 12 13 15 +2 10 11 12 14 15 +2 10 11 13 14 15 +2 10 12 13 14 15 +2 11 12 13 14 15 +3 4 5 6 7 8 +3 4 5 6 7 9 +3 4 5 6 7 10 +3 4 5 6 7 11 +3 4 5 6 7 12 +3 4 5 6 7 13 +3 4 5 6 7 14 +3 4 5 6 7 15 +3 4 5 6 8 9 +3 4 5 6 8 10 +3 4 5 6 8 11 +3 4 5 6 8 12 +3 4 5 6 8 13 +3 4 5 6 8 14 +3 4 5 6 8 15 +3 4 5 6 9 10 +3 4 5 6 9 11 +3 4 5 6 9 12 +3 4 5 6 9 13 +3 4 5 6 9 14 +3 4 5 6 9 15 +3 4 5 6 10 11 +3 4 5 6 10 12 +3 4 5 6 10 13 +3 4 5 6 10 14 +3 4 5 6 10 15 +3 4 5 6 11 12 +3 4 5 6 11 13 +3 4 5 6 11 14 +3 4 5 6 11 15 +3 4 5 6 12 13 +3 4 5 6 12 14 +3 4 5 6 12 15 +3 4 5 6 13 14 +3 4 5 6 13 15 +3 4 5 6 14 15 +3 4 5 7 8 9 +3 4 5 7 8 10 +3 4 5 7 8 11 +3 4 5 7 8 12 +3 4 5 7 8 13 +3 4 5 7 8 14 +3 4 5 7 8 15 +3 4 5 7 9 10 +3 4 5 7 9 11 +3 4 5 7 9 12 +3 4 5 7 9 13 +3 4 5 7 9 14 +3 4 5 7 9 15 +3 4 5 7 10 11 +3 4 5 7 10 12 +3 4 5 7 10 13 +3 4 5 7 10 14 +3 4 5 7 10 15 +3 4 5 7 11 12 +3 4 5 7 11 13 +3 4 5 7 11 14 +3 4 5 7 11 15 +3 4 5 7 12 13 +3 4 5 7 12 14 +3 4 5 7 12 15 +3 4 5 7 13 14 +3 4 5 7 13 15 +3 4 5 7 14 15 +3 4 5 8 9 10 +3 4 5 8 9 11 +3 4 5 8 9 12 +3 4 5 8 9 13 +3 4 5 8 9 14 +3 4 5 8 9 15 +3 4 5 8 10 11 +3 4 5 8 10 12 +3 4 5 8 10 13 +3 4 5 8 10 14 +3 4 5 8 10 15 +3 4 5 8 11 12 +3 4 5 8 11 13 +3 4 5 8 11 14 +3 4 5 8 11 15 +3 4 5 8 12 13 +3 4 5 8 12 14 +3 4 5 8 12 15 +3 4 5 8 13 14 +3 4 5 8 13 15 +3 4 5 8 14 15 +3 4 5 9 10 11 +3 4 5 9 10 12 +3 4 5 9 10 13 +3 4 5 9 10 14 +3 4 5 9 10 15 +3 4 5 9 11 12 +3 4 5 9 11 13 +3 4 5 9 11 14 +3 4 5 9 11 15 +3 4 5 9 12 13 +3 4 5 9 12 14 +3 4 5 9 12 15 +3 4 5 9 13 14 +3 4 5 9 13 15 +3 4 5 9 14 15 +3 4 5 10 11 12 +3 4 5 10 11 13 +3 4 5 10 11 14 +3 4 5 10 11 15 +3 4 5 10 12 13 +3 4 5 10 12 14 +3 4 5 10 12 15 +3 4 5 10 13 14 +3 4 5 10 13 15 +3 4 5 10 14 15 +3 4 5 11 12 13 +3 4 5 11 12 14 +3 4 5 11 12 15 +3 4 5 11 13 14 +3 4 5 11 13 15 +3 4 5 11 14 15 +3 4 5 12 13 14 +3 4 5 12 13 15 +3 4 5 12 14 15 +3 4 5 13 14 15 +3 4 6 7 8 9 +3 4 6 7 8 10 +3 4 6 7 8 11 +3 4 6 7 8 12 +3 4 6 7 8 13 +3 4 6 7 8 14 +3 4 6 7 8 15 +3 4 6 7 9 10 +3 4 6 7 9 11 +3 4 6 7 9 12 +3 4 6 7 9 13 +3 4 6 7 9 14 +3 4 6 7 9 15 +3 4 6 7 10 11 +3 4 6 7 10 12 +3 4 6 7 10 13 +3 4 6 7 10 14 +3 4 6 7 10 15 +3 4 6 7 11 12 +3 4 6 7 11 13 +3 4 6 7 11 14 +3 4 6 7 11 15 +3 4 6 7 12 13 +3 4 6 7 12 14 +3 4 6 7 12 15 +3 4 6 7 13 14 +3 4 6 7 13 15 +3 4 6 7 14 15 +3 4 6 8 9 10 +3 4 6 8 9 11 +3 4 6 8 9 12 +3 4 6 8 9 13 +3 4 6 8 9 14 +3 4 6 8 9 15 +3 4 6 8 10 11 +3 4 6 8 10 12 +3 4 6 8 10 13 +3 4 6 8 10 14 +3 4 6 8 10 15 +3 4 6 8 11 12 +3 4 6 8 11 13 +3 4 6 8 11 14 +3 4 6 8 11 15 +3 4 6 8 12 13 +3 4 6 8 12 14 +3 4 6 8 12 15 +3 4 6 8 13 14 +3 4 6 8 13 15 +3 4 6 8 14 15 +3 4 6 9 10 11 +3 4 6 9 10 12 +3 4 6 9 10 13 +3 4 6 9 10 14 +3 4 6 9 10 15 +3 4 6 9 11 12 +3 4 6 9 11 13 +3 4 6 9 11 14 +3 4 6 9 11 15 +3 4 6 9 12 13 +3 4 6 9 12 14 +3 4 6 9 12 15 +3 4 6 9 13 14 +3 4 6 9 13 15 +3 4 6 9 14 15 +3 4 6 10 11 12 +3 4 6 10 11 13 +3 4 6 10 11 14 +3 4 6 10 11 15 +3 4 6 10 12 13 +3 4 6 10 12 14 +3 4 6 10 12 15 +3 4 6 10 13 14 +3 4 6 10 13 15 +3 4 6 10 14 15 +3 4 6 11 12 13 +3 4 6 11 12 14 +3 4 6 11 12 15 +3 4 6 11 13 14 +3 4 6 11 13 15 +3 4 6 11 14 15 +3 4 6 12 13 14 +3 4 6 12 13 15 +3 4 6 12 14 15 +3 4 6 13 14 15 +3 4 7 8 9 10 +3 4 7 8 9 11 +3 4 7 8 9 12 +3 4 7 8 9 13 +3 4 7 8 9 14 +3 4 7 8 9 15 +3 4 7 8 10 11 +3 4 7 8 10 12 +3 4 7 8 10 13 +3 4 7 8 10 14 +3 4 7 8 10 15 +3 4 7 8 11 12 +3 4 7 8 11 13 +3 4 7 8 11 14 +3 4 7 8 11 15 +3 4 7 8 12 13 +3 4 7 8 12 14 +3 4 7 8 12 15 +3 4 7 8 13 14 +3 4 7 8 13 15 +3 4 7 8 14 15 +3 4 7 9 10 11 +3 4 7 9 10 12 +3 4 7 9 10 13 +3 4 7 9 10 14 +3 4 7 9 10 15 +3 4 7 9 11 12 +3 4 7 9 11 13 +3 4 7 9 11 14 +3 4 7 9 11 15 +3 4 7 9 12 13 +3 4 7 9 12 14 +3 4 7 9 12 15 +3 4 7 9 13 14 +3 4 7 9 13 15 +3 4 7 9 14 15 +3 4 7 10 11 12 +3 4 7 10 11 13 +3 4 7 10 11 14 +3 4 7 10 11 15 +3 4 7 10 12 13 +3 4 7 10 12 14 +3 4 7 10 12 15 +3 4 7 10 13 14 +3 4 7 10 13 15 +3 4 7 10 14 15 +3 4 7 11 12 13 +3 4 7 11 12 14 +3 4 7 11 12 15 +3 4 7 11 13 14 +3 4 7 11 13 15 +3 4 7 11 14 15 +3 4 7 12 13 14 +3 4 7 12 13 15 +3 4 7 12 14 15 +3 4 7 13 14 15 +3 4 8 9 10 11 +3 4 8 9 10 12 +3 4 8 9 10 13 +3 4 8 9 10 14 +3 4 8 9 10 15 +3 4 8 9 11 12 +3 4 8 9 11 13 +3 4 8 9 11 14 +3 4 8 9 11 15 +3 4 8 9 12 13 +3 4 8 9 12 14 +3 4 8 9 12 15 +3 4 8 9 13 14 +3 4 8 9 13 15 +3 4 8 9 14 15 +3 4 8 10 11 12 +3 4 8 10 11 13 +3 4 8 10 11 14 +3 4 8 10 11 15 +3 4 8 10 12 13 +3 4 8 10 12 14 +3 4 8 10 12 15 +3 4 8 10 13 14 +3 4 8 10 13 15 +3 4 8 10 14 15 +3 4 8 11 12 13 +3 4 8 11 12 14 +3 4 8 11 12 15 +3 4 8 11 13 14 +3 4 8 11 13 15 +3 4 8 11 14 15 +3 4 8 12 13 14 +3 4 8 12 13 15 +3 4 8 12 14 15 +3 4 8 13 14 15 +3 4 9 10 11 12 +3 4 9 10 11 13 +3 4 9 10 11 14 +3 4 9 10 11 15 +3 4 9 10 12 13 +3 4 9 10 12 14 +3 4 9 10 12 15 +3 4 9 10 13 14 +3 4 9 10 13 15 +3 4 9 10 14 15 +3 4 9 11 12 13 +3 4 9 11 12 14 +3 4 9 11 12 15 +3 4 9 11 13 14 +3 4 9 11 13 15 +3 4 9 11 14 15 +3 4 9 12 13 14 +3 4 9 12 13 15 +3 4 9 12 14 15 +3 4 9 13 14 15 +3 4 10 11 12 13 +3 4 10 11 12 14 +3 4 10 11 12 15 +3 4 10 11 13 14 +3 4 10 11 13 15 +3 4 10 11 14 15 +3 4 10 12 13 14 +3 4 10 12 13 15 +3 4 10 12 14 15 +3 4 10 13 14 15 +3 4 11 12 13 14 +3 4 11 12 13 15 +3 4 11 12 14 15 +3 4 11 13 14 15 +3 4 12 13 14 15 +3 5 6 7 8 9 +3 5 6 7 8 10 +3 5 6 7 8 11 +3 5 6 7 8 12 +3 5 6 7 8 13 +3 5 6 7 8 14 +3 5 6 7 8 15 +3 5 6 7 9 10 +3 5 6 7 9 11 +3 5 6 7 9 12 +3 5 6 7 9 13 +3 5 6 7 9 14 +3 5 6 7 9 15 +3 5 6 7 10 11 +3 5 6 7 10 12 +3 5 6 7 10 13 +3 5 6 7 10 14 +3 5 6 7 10 15 +3 5 6 7 11 12 +3 5 6 7 11 13 +3 5 6 7 11 14 +3 5 6 7 11 15 +3 5 6 7 12 13 +3 5 6 7 12 14 +3 5 6 7 12 15 +3 5 6 7 13 14 +3 5 6 7 13 15 +3 5 6 7 14 15 +3 5 6 8 9 10 +3 5 6 8 9 11 +3 5 6 8 9 12 +3 5 6 8 9 13 +3 5 6 8 9 14 +3 5 6 8 9 15 +3 5 6 8 10 11 +3 5 6 8 10 12 +3 5 6 8 10 13 +3 5 6 8 10 14 +3 5 6 8 10 15 +3 5 6 8 11 12 +3 5 6 8 11 13 +3 5 6 8 11 14 +3 5 6 8 11 15 +3 5 6 8 12 13 +3 5 6 8 12 14 +3 5 6 8 12 15 +3 5 6 8 13 14 +3 5 6 8 13 15 +3 5 6 8 14 15 +3 5 6 9 10 11 +3 5 6 9 10 12 +3 5 6 9 10 13 +3 5 6 9 10 14 +3 5 6 9 10 15 +3 5 6 9 11 12 +3 5 6 9 11 13 +3 5 6 9 11 14 +3 5 6 9 11 15 +3 5 6 9 12 13 +3 5 6 9 12 14 +3 5 6 9 12 15 +3 5 6 9 13 14 +3 5 6 9 13 15 +3 5 6 9 14 15 +3 5 6 10 11 12 +3 5 6 10 11 13 +3 5 6 10 11 14 +3 5 6 10 11 15 +3 5 6 10 12 13 +3 5 6 10 12 14 +3 5 6 10 12 15 +3 5 6 10 13 14 +3 5 6 10 13 15 +3 5 6 10 14 15 +3 5 6 11 12 13 +3 5 6 11 12 14 +3 5 6 11 12 15 +3 5 6 11 13 14 +3 5 6 11 13 15 +3 5 6 11 14 15 +3 5 6 12 13 14 +3 5 6 12 13 15 +3 5 6 12 14 15 +3 5 6 13 14 15 +3 5 7 8 9 10 +3 5 7 8 9 11 +3 5 7 8 9 12 +3 5 7 8 9 13 +3 5 7 8 9 14 +3 5 7 8 9 15 +3 5 7 8 10 11 +3 5 7 8 10 12 +3 5 7 8 10 13 +3 5 7 8 10 14 +3 5 7 8 10 15 +3 5 7 8 11 12 +3 5 7 8 11 13 +3 5 7 8 11 14 +3 5 7 8 11 15 +3 5 7 8 12 13 +3 5 7 8 12 14 +3 5 7 8 12 15 +3 5 7 8 13 14 +3 5 7 8 13 15 +3 5 7 8 14 15 +3 5 7 9 10 11 +3 5 7 9 10 12 +3 5 7 9 10 13 +3 5 7 9 10 14 +3 5 7 9 10 15 +3 5 7 9 11 12 +3 5 7 9 11 13 +3 5 7 9 11 14 +3 5 7 9 11 15 +3 5 7 9 12 13 +3 5 7 9 12 14 +3 5 7 9 12 15 +3 5 7 9 13 14 +3 5 7 9 13 15 +3 5 7 9 14 15 +3 5 7 10 11 12 +3 5 7 10 11 13 +3 5 7 10 11 14 +3 5 7 10 11 15 +3 5 7 10 12 13 +3 5 7 10 12 14 +3 5 7 10 12 15 +3 5 7 10 13 14 +3 5 7 10 13 15 +3 5 7 10 14 15 +3 5 7 11 12 13 +3 5 7 11 12 14 +3 5 7 11 12 15 +3 5 7 11 13 14 +3 5 7 11 13 15 +3 5 7 11 14 15 +3 5 7 12 13 14 +3 5 7 12 13 15 +3 5 7 12 14 15 +3 5 7 13 14 15 +3 5 8 9 10 11 +3 5 8 9 10 12 +3 5 8 9 10 13 +3 5 8 9 10 14 +3 5 8 9 10 15 +3 5 8 9 11 12 +3 5 8 9 11 13 +3 5 8 9 11 14 +3 5 8 9 11 15 +3 5 8 9 12 13 +3 5 8 9 12 14 +3 5 8 9 12 15 +3 5 8 9 13 14 +3 5 8 9 13 15 +3 5 8 9 14 15 +3 5 8 10 11 12 +3 5 8 10 11 13 +3 5 8 10 11 14 +3 5 8 10 11 15 +3 5 8 10 12 13 +3 5 8 10 12 14 +3 5 8 10 12 15 +3 5 8 10 13 14 +3 5 8 10 13 15 +3 5 8 10 14 15 +3 5 8 11 12 13 +3 5 8 11 12 14 +3 5 8 11 12 15 +3 5 8 11 13 14 +3 5 8 11 13 15 +3 5 8 11 14 15 +3 5 8 12 13 14 +3 5 8 12 13 15 +3 5 8 12 14 15 +3 5 8 13 14 15 +3 5 9 10 11 12 +3 5 9 10 11 13 +3 5 9 10 11 14 +3 5 9 10 11 15 +3 5 9 10 12 13 +3 5 9 10 12 14 +3 5 9 10 12 15 +3 5 9 10 13 14 +3 5 9 10 13 15 +3 5 9 10 14 15 +3 5 9 11 12 13 +3 5 9 11 12 14 +3 5 9 11 12 15 +3 5 9 11 13 14 +3 5 9 11 13 15 +3 5 9 11 14 15 +3 5 9 12 13 14 +3 5 9 12 13 15 +3 5 9 12 14 15 +3 5 9 13 14 15 +3 5 10 11 12 13 +3 5 10 11 12 14 +3 5 10 11 12 15 +3 5 10 11 13 14 +3 5 10 11 13 15 +3 5 10 11 14 15 +3 5 10 12 13 14 +3 5 10 12 13 15 +3 5 10 12 14 15 +3 5 10 13 14 15 +3 5 11 12 13 14 +3 5 11 12 13 15 +3 5 11 12 14 15 +3 5 11 13 14 15 +3 5 12 13 14 15 +3 6 7 8 9 10 +3 6 7 8 9 11 +3 6 7 8 9 12 +3 6 7 8 9 13 +3 6 7 8 9 14 +3 6 7 8 9 15 +3 6 7 8 10 11 +3 6 7 8 10 12 +3 6 7 8 10 13 +3 6 7 8 10 14 +3 6 7 8 10 15 +3 6 7 8 11 12 +3 6 7 8 11 13 +3 6 7 8 11 14 +3 6 7 8 11 15 +3 6 7 8 12 13 +3 6 7 8 12 14 +3 6 7 8 12 15 +3 6 7 8 13 14 +3 6 7 8 13 15 +3 6 7 8 14 15 +3 6 7 9 10 11 +3 6 7 9 10 12 +3 6 7 9 10 13 +3 6 7 9 10 14 +3 6 7 9 10 15 +3 6 7 9 11 12 +3 6 7 9 11 13 +3 6 7 9 11 14 +3 6 7 9 11 15 +3 6 7 9 12 13 +3 6 7 9 12 14 +3 6 7 9 12 15 +3 6 7 9 13 14 +3 6 7 9 13 15 +3 6 7 9 14 15 +3 6 7 10 11 12 +3 6 7 10 11 13 +3 6 7 10 11 14 +3 6 7 10 11 15 +3 6 7 10 12 13 +3 6 7 10 12 14 +3 6 7 10 12 15 +3 6 7 10 13 14 +3 6 7 10 13 15 +3 6 7 10 14 15 +3 6 7 11 12 13 +3 6 7 11 12 14 +3 6 7 11 12 15 +3 6 7 11 13 14 +3 6 7 11 13 15 +3 6 7 11 14 15 +3 6 7 12 13 14 +3 6 7 12 13 15 +3 6 7 12 14 15 +3 6 7 13 14 15 +3 6 8 9 10 11 +3 6 8 9 10 12 +3 6 8 9 10 13 +3 6 8 9 10 14 +3 6 8 9 10 15 +3 6 8 9 11 12 +3 6 8 9 11 13 +3 6 8 9 11 14 +3 6 8 9 11 15 +3 6 8 9 12 13 +3 6 8 9 12 14 +3 6 8 9 12 15 +3 6 8 9 13 14 +3 6 8 9 13 15 +3 6 8 9 14 15 +3 6 8 10 11 12 +3 6 8 10 11 13 +3 6 8 10 11 14 +3 6 8 10 11 15 +3 6 8 10 12 13 +3 6 8 10 12 14 +3 6 8 10 12 15 +3 6 8 10 13 14 +3 6 8 10 13 15 +3 6 8 10 14 15 +3 6 8 11 12 13 +3 6 8 11 12 14 +3 6 8 11 12 15 +3 6 8 11 13 14 +3 6 8 11 13 15 +3 6 8 11 14 15 +3 6 8 12 13 14 +3 6 8 12 13 15 +3 6 8 12 14 15 +3 6 8 13 14 15 +3 6 9 10 11 12 +3 6 9 10 11 13 +3 6 9 10 11 14 +3 6 9 10 11 15 +3 6 9 10 12 13 +3 6 9 10 12 14 +3 6 9 10 12 15 +3 6 9 10 13 14 +3 6 9 10 13 15 +3 6 9 10 14 15 +3 6 9 11 12 13 +3 6 9 11 12 14 +3 6 9 11 12 15 +3 6 9 11 13 14 +3 6 9 11 13 15 +3 6 9 11 14 15 +3 6 9 12 13 14 +3 6 9 12 13 15 +3 6 9 12 14 15 +3 6 9 13 14 15 +3 6 10 11 12 13 +3 6 10 11 12 14 +3 6 10 11 12 15 +3 6 10 11 13 14 +3 6 10 11 13 15 +3 6 10 11 14 15 +3 6 10 12 13 14 +3 6 10 12 13 15 +3 6 10 12 14 15 +3 6 10 13 14 15 +3 6 11 12 13 14 +3 6 11 12 13 15 +3 6 11 12 14 15 +3 6 11 13 14 15 +3 6 12 13 14 15 +3 7 8 9 10 11 +3 7 8 9 10 12 +3 7 8 9 10 13 +3 7 8 9 10 14 +3 7 8 9 10 15 +3 7 8 9 11 12 +3 7 8 9 11 13 +3 7 8 9 11 14 +3 7 8 9 11 15 +3 7 8 9 12 13 +3 7 8 9 12 14 +3 7 8 9 12 15 +3 7 8 9 13 14 +3 7 8 9 13 15 +3 7 8 9 14 15 +3 7 8 10 11 12 +3 7 8 10 11 13 +3 7 8 10 11 14 +3 7 8 10 11 15 +3 7 8 10 12 13 +3 7 8 10 12 14 +3 7 8 10 12 15 +3 7 8 10 13 14 +3 7 8 10 13 15 +3 7 8 10 14 15 +3 7 8 11 12 13 +3 7 8 11 12 14 +3 7 8 11 12 15 +3 7 8 11 13 14 +3 7 8 11 13 15 +3 7 8 11 14 15 +3 7 8 12 13 14 +3 7 8 12 13 15 +3 7 8 12 14 15 +3 7 8 13 14 15 +3 7 9 10 11 12 +3 7 9 10 11 13 +3 7 9 10 11 14 +3 7 9 10 11 15 +3 7 9 10 12 13 +3 7 9 10 12 14 +3 7 9 10 12 15 +3 7 9 10 13 14 +3 7 9 10 13 15 +3 7 9 10 14 15 +3 7 9 11 12 13 +3 7 9 11 12 14 +3 7 9 11 12 15 +3 7 9 11 13 14 +3 7 9 11 13 15 +3 7 9 11 14 15 +3 7 9 12 13 14 +3 7 9 12 13 15 +3 7 9 12 14 15 +3 7 9 13 14 15 +3 7 10 11 12 13 +3 7 10 11 12 14 +3 7 10 11 12 15 +3 7 10 11 13 14 +3 7 10 11 13 15 +3 7 10 11 14 15 +3 7 10 12 13 14 +3 7 10 12 13 15 +3 7 10 12 14 15 +3 7 10 13 14 15 +3 7 11 12 13 14 +3 7 11 12 13 15 +3 7 11 12 14 15 +3 7 11 13 14 15 +3 7 12 13 14 15 +3 8 9 10 11 12 +3 8 9 10 11 13 +3 8 9 10 11 14 +3 8 9 10 11 15 +3 8 9 10 12 13 +3 8 9 10 12 14 +3 8 9 10 12 15 +3 8 9 10 13 14 +3 8 9 10 13 15 +3 8 9 10 14 15 +3 8 9 11 12 13 +3 8 9 11 12 14 +3 8 9 11 12 15 +3 8 9 11 13 14 +3 8 9 11 13 15 +3 8 9 11 14 15 +3 8 9 12 13 14 +3 8 9 12 13 15 +3 8 9 12 14 15 +3 8 9 13 14 15 +3 8 10 11 12 13 +3 8 10 11 12 14 +3 8 10 11 12 15 +3 8 10 11 13 14 +3 8 10 11 13 15 +3 8 10 11 14 15 +3 8 10 12 13 14 +3 8 10 12 13 15 +3 8 10 12 14 15 +3 8 10 13 14 15 +3 8 11 12 13 14 +3 8 11 12 13 15 +3 8 11 12 14 15 +3 8 11 13 14 15 +3 8 12 13 14 15 +3 9 10 11 12 13 +3 9 10 11 12 14 +3 9 10 11 12 15 +3 9 10 11 13 14 +3 9 10 11 13 15 +3 9 10 11 14 15 +3 9 10 12 13 14 +3 9 10 12 13 15 +3 9 10 12 14 15 +3 9 10 13 14 15 +3 9 11 12 13 14 +3 9 11 12 13 15 +3 9 11 12 14 15 +3 9 11 13 14 15 +3 9 12 13 14 15 +3 10 11 12 13 14 +3 10 11 12 13 15 +3 10 11 12 14 15 +3 10 11 13 14 15 +3 10 12 13 14 15 +3 11 12 13 14 15 +4 5 6 7 8 9 +4 5 6 7 8 10 +4 5 6 7 8 11 +4 5 6 7 8 12 +4 5 6 7 8 13 +4 5 6 7 8 14 +4 5 6 7 8 15 +4 5 6 7 9 10 +4 5 6 7 9 11 +4 5 6 7 9 12 +4 5 6 7 9 13 +4 5 6 7 9 14 +4 5 6 7 9 15 +4 5 6 7 10 11 +4 5 6 7 10 12 +4 5 6 7 10 13 +4 5 6 7 10 14 +4 5 6 7 10 15 +4 5 6 7 11 12 +4 5 6 7 11 13 +4 5 6 7 11 14 +4 5 6 7 11 15 +4 5 6 7 12 13 +4 5 6 7 12 14 +4 5 6 7 12 15 +4 5 6 7 13 14 +4 5 6 7 13 15 +4 5 6 7 14 15 +4 5 6 8 9 10 +4 5 6 8 9 11 +4 5 6 8 9 12 +4 5 6 8 9 13 +4 5 6 8 9 14 +4 5 6 8 9 15 +4 5 6 8 10 11 +4 5 6 8 10 12 +4 5 6 8 10 13 +4 5 6 8 10 14 +4 5 6 8 10 15 +4 5 6 8 11 12 +4 5 6 8 11 13 +4 5 6 8 11 14 +4 5 6 8 11 15 +4 5 6 8 12 13 +4 5 6 8 12 14 +4 5 6 8 12 15 +4 5 6 8 13 14 +4 5 6 8 13 15 +4 5 6 8 14 15 +4 5 6 9 10 11 +4 5 6 9 10 12 +4 5 6 9 10 13 +4 5 6 9 10 14 +4 5 6 9 10 15 +4 5 6 9 11 12 +4 5 6 9 11 13 +4 5 6 9 11 14 +4 5 6 9 11 15 +4 5 6 9 12 13 +4 5 6 9 12 14 +4 5 6 9 12 15 +4 5 6 9 13 14 +4 5 6 9 13 15 +4 5 6 9 14 15 +4 5 6 10 11 12 +4 5 6 10 11 13 +4 5 6 10 11 14 +4 5 6 10 11 15 +4 5 6 10 12 13 +4 5 6 10 12 14 +4 5 6 10 12 15 +4 5 6 10 13 14 +4 5 6 10 13 15 +4 5 6 10 14 15 +4 5 6 11 12 13 +4 5 6 11 12 14 +4 5 6 11 12 15 +4 5 6 11 13 14 +4 5 6 11 13 15 +4 5 6 11 14 15 +4 5 6 12 13 14 +4 5 6 12 13 15 +4 5 6 12 14 15 +4 5 6 13 14 15 +4 5 7 8 9 10 +4 5 7 8 9 11 +4 5 7 8 9 12 +4 5 7 8 9 13 +4 5 7 8 9 14 +4 5 7 8 9 15 +4 5 7 8 10 11 +4 5 7 8 10 12 +4 5 7 8 10 13 +4 5 7 8 10 14 +4 5 7 8 10 15 +4 5 7 8 11 12 +4 5 7 8 11 13 +4 5 7 8 11 14 +4 5 7 8 11 15 +4 5 7 8 12 13 +4 5 7 8 12 14 +4 5 7 8 12 15 +4 5 7 8 13 14 +4 5 7 8 13 15 +4 5 7 8 14 15 +4 5 7 9 10 11 +4 5 7 9 10 12 +4 5 7 9 10 13 +4 5 7 9 10 14 +4 5 7 9 10 15 +4 5 7 9 11 12 +4 5 7 9 11 13 +4 5 7 9 11 14 +4 5 7 9 11 15 +4 5 7 9 12 13 +4 5 7 9 12 14 +4 5 7 9 12 15 +4 5 7 9 13 14 +4 5 7 9 13 15 +4 5 7 9 14 15 +4 5 7 10 11 12 +4 5 7 10 11 13 +4 5 7 10 11 14 +4 5 7 10 11 15 +4 5 7 10 12 13 +4 5 7 10 12 14 +4 5 7 10 12 15 +4 5 7 10 13 14 +4 5 7 10 13 15 +4 5 7 10 14 15 +4 5 7 11 12 13 +4 5 7 11 12 14 +4 5 7 11 12 15 +4 5 7 11 13 14 +4 5 7 11 13 15 +4 5 7 11 14 15 +4 5 7 12 13 14 +4 5 7 12 13 15 +4 5 7 12 14 15 +4 5 7 13 14 15 +4 5 8 9 10 11 +4 5 8 9 10 12 +4 5 8 9 10 13 +4 5 8 9 10 14 +4 5 8 9 10 15 +4 5 8 9 11 12 +4 5 8 9 11 13 +4 5 8 9 11 14 +4 5 8 9 11 15 +4 5 8 9 12 13 +4 5 8 9 12 14 +4 5 8 9 12 15 +4 5 8 9 13 14 +4 5 8 9 13 15 +4 5 8 9 14 15 +4 5 8 10 11 12 +4 5 8 10 11 13 +4 5 8 10 11 14 +4 5 8 10 11 15 +4 5 8 10 12 13 +4 5 8 10 12 14 +4 5 8 10 12 15 +4 5 8 10 13 14 +4 5 8 10 13 15 +4 5 8 10 14 15 +4 5 8 11 12 13 +4 5 8 11 12 14 +4 5 8 11 12 15 +4 5 8 11 13 14 +4 5 8 11 13 15 +4 5 8 11 14 15 +4 5 8 12 13 14 +4 5 8 12 13 15 +4 5 8 12 14 15 +4 5 8 13 14 15 +4 5 9 10 11 12 +4 5 9 10 11 13 +4 5 9 10 11 14 +4 5 9 10 11 15 +4 5 9 10 12 13 +4 5 9 10 12 14 +4 5 9 10 12 15 +4 5 9 10 13 14 +4 5 9 10 13 15 +4 5 9 10 14 15 +4 5 9 11 12 13 +4 5 9 11 12 14 +4 5 9 11 12 15 +4 5 9 11 13 14 +4 5 9 11 13 15 +4 5 9 11 14 15 +4 5 9 12 13 14 +4 5 9 12 13 15 +4 5 9 12 14 15 +4 5 9 13 14 15 +4 5 10 11 12 13 +4 5 10 11 12 14 +4 5 10 11 12 15 +4 5 10 11 13 14 +4 5 10 11 13 15 +4 5 10 11 14 15 +4 5 10 12 13 14 +4 5 10 12 13 15 +4 5 10 12 14 15 +4 5 10 13 14 15 +4 5 11 12 13 14 +4 5 11 12 13 15 +4 5 11 12 14 15 +4 5 11 13 14 15 +4 5 12 13 14 15 +4 6 7 8 9 10 +4 6 7 8 9 11 +4 6 7 8 9 12 +4 6 7 8 9 13 +4 6 7 8 9 14 +4 6 7 8 9 15 +4 6 7 8 10 11 +4 6 7 8 10 12 +4 6 7 8 10 13 +4 6 7 8 10 14 +4 6 7 8 10 15 +4 6 7 8 11 12 +4 6 7 8 11 13 +4 6 7 8 11 14 +4 6 7 8 11 15 +4 6 7 8 12 13 +4 6 7 8 12 14 +4 6 7 8 12 15 +4 6 7 8 13 14 +4 6 7 8 13 15 +4 6 7 8 14 15 +4 6 7 9 10 11 +4 6 7 9 10 12 +4 6 7 9 10 13 +4 6 7 9 10 14 +4 6 7 9 10 15 +4 6 7 9 11 12 +4 6 7 9 11 13 +4 6 7 9 11 14 +4 6 7 9 11 15 +4 6 7 9 12 13 +4 6 7 9 12 14 +4 6 7 9 12 15 +4 6 7 9 13 14 +4 6 7 9 13 15 +4 6 7 9 14 15 +4 6 7 10 11 12 +4 6 7 10 11 13 +4 6 7 10 11 14 +4 6 7 10 11 15 +4 6 7 10 12 13 +4 6 7 10 12 14 +4 6 7 10 12 15 +4 6 7 10 13 14 +4 6 7 10 13 15 +4 6 7 10 14 15 +4 6 7 11 12 13 +4 6 7 11 12 14 +4 6 7 11 12 15 +4 6 7 11 13 14 +4 6 7 11 13 15 +4 6 7 11 14 15 +4 6 7 12 13 14 +4 6 7 12 13 15 +4 6 7 12 14 15 +4 6 7 13 14 15 +4 6 8 9 10 11 +4 6 8 9 10 12 +4 6 8 9 10 13 +4 6 8 9 10 14 +4 6 8 9 10 15 +4 6 8 9 11 12 +4 6 8 9 11 13 +4 6 8 9 11 14 +4 6 8 9 11 15 +4 6 8 9 12 13 +4 6 8 9 12 14 +4 6 8 9 12 15 +4 6 8 9 13 14 +4 6 8 9 13 15 +4 6 8 9 14 15 +4 6 8 10 11 12 +4 6 8 10 11 13 +4 6 8 10 11 14 +4 6 8 10 11 15 +4 6 8 10 12 13 +4 6 8 10 12 14 +4 6 8 10 12 15 +4 6 8 10 13 14 +4 6 8 10 13 15 +4 6 8 10 14 15 +4 6 8 11 12 13 +4 6 8 11 12 14 +4 6 8 11 12 15 +4 6 8 11 13 14 +4 6 8 11 13 15 +4 6 8 11 14 15 +4 6 8 12 13 14 +4 6 8 12 13 15 +4 6 8 12 14 15 +4 6 8 13 14 15 +4 6 9 10 11 12 +4 6 9 10 11 13 +4 6 9 10 11 14 +4 6 9 10 11 15 +4 6 9 10 12 13 +4 6 9 10 12 14 +4 6 9 10 12 15 +4 6 9 10 13 14 +4 6 9 10 13 15 +4 6 9 10 14 15 +4 6 9 11 12 13 +4 6 9 11 12 14 +4 6 9 11 12 15 +4 6 9 11 13 14 +4 6 9 11 13 15 +4 6 9 11 14 15 +4 6 9 12 13 14 +4 6 9 12 13 15 +4 6 9 12 14 15 +4 6 9 13 14 15 +4 6 10 11 12 13 +4 6 10 11 12 14 +4 6 10 11 12 15 +4 6 10 11 13 14 +4 6 10 11 13 15 +4 6 10 11 14 15 +4 6 10 12 13 14 +4 6 10 12 13 15 +4 6 10 12 14 15 +4 6 10 13 14 15 +4 6 11 12 13 14 +4 6 11 12 13 15 +4 6 11 12 14 15 +4 6 11 13 14 15 +4 6 12 13 14 15 +4 7 8 9 10 11 +4 7 8 9 10 12 +4 7 8 9 10 13 +4 7 8 9 10 14 +4 7 8 9 10 15 +4 7 8 9 11 12 +4 7 8 9 11 13 +4 7 8 9 11 14 +4 7 8 9 11 15 +4 7 8 9 12 13 +4 7 8 9 12 14 +4 7 8 9 12 15 +4 7 8 9 13 14 +4 7 8 9 13 15 +4 7 8 9 14 15 +4 7 8 10 11 12 +4 7 8 10 11 13 +4 7 8 10 11 14 +4 7 8 10 11 15 +4 7 8 10 12 13 +4 7 8 10 12 14 +4 7 8 10 12 15 +4 7 8 10 13 14 +4 7 8 10 13 15 +4 7 8 10 14 15 +4 7 8 11 12 13 +4 7 8 11 12 14 +4 7 8 11 12 15 +4 7 8 11 13 14 +4 7 8 11 13 15 +4 7 8 11 14 15 +4 7 8 12 13 14 +4 7 8 12 13 15 +4 7 8 12 14 15 +4 7 8 13 14 15 +4 7 9 10 11 12 +4 7 9 10 11 13 +4 7 9 10 11 14 +4 7 9 10 11 15 +4 7 9 10 12 13 +4 7 9 10 12 14 +4 7 9 10 12 15 +4 7 9 10 13 14 +4 7 9 10 13 15 +4 7 9 10 14 15 +4 7 9 11 12 13 +4 7 9 11 12 14 +4 7 9 11 12 15 +4 7 9 11 13 14 +4 7 9 11 13 15 +4 7 9 11 14 15 +4 7 9 12 13 14 +4 7 9 12 13 15 +4 7 9 12 14 15 +4 7 9 13 14 15 +4 7 10 11 12 13 +4 7 10 11 12 14 +4 7 10 11 12 15 +4 7 10 11 13 14 +4 7 10 11 13 15 +4 7 10 11 14 15 +4 7 10 12 13 14 +4 7 10 12 13 15 +4 7 10 12 14 15 +4 7 10 13 14 15 +4 7 11 12 13 14 +4 7 11 12 13 15 +4 7 11 12 14 15 +4 7 11 13 14 15 +4 7 12 13 14 15 +4 8 9 10 11 12 +4 8 9 10 11 13 +4 8 9 10 11 14 +4 8 9 10 11 15 +4 8 9 10 12 13 +4 8 9 10 12 14 +4 8 9 10 12 15 +4 8 9 10 13 14 +4 8 9 10 13 15 +4 8 9 10 14 15 +4 8 9 11 12 13 +4 8 9 11 12 14 +4 8 9 11 12 15 +4 8 9 11 13 14 +4 8 9 11 13 15 +4 8 9 11 14 15 +4 8 9 12 13 14 +4 8 9 12 13 15 +4 8 9 12 14 15 +4 8 9 13 14 15 +4 8 10 11 12 13 +4 8 10 11 12 14 +4 8 10 11 12 15 +4 8 10 11 13 14 +4 8 10 11 13 15 +4 8 10 11 14 15 +4 8 10 12 13 14 +4 8 10 12 13 15 +4 8 10 12 14 15 +4 8 10 13 14 15 +4 8 11 12 13 14 +4 8 11 12 13 15 +4 8 11 12 14 15 +4 8 11 13 14 15 +4 8 12 13 14 15 +4 9 10 11 12 13 +4 9 10 11 12 14 +4 9 10 11 12 15 +4 9 10 11 13 14 +4 9 10 11 13 15 +4 9 10 11 14 15 +4 9 10 12 13 14 +4 9 10 12 13 15 +4 9 10 12 14 15 +4 9 10 13 14 15 +4 9 11 12 13 14 +4 9 11 12 13 15 +4 9 11 12 14 15 +4 9 11 13 14 15 +4 9 12 13 14 15 +4 10 11 12 13 14 +4 10 11 12 13 15 +4 10 11 12 14 15 +4 10 11 13 14 15 +4 10 12 13 14 15 +4 11 12 13 14 15 +5 6 7 8 9 10 +5 6 7 8 9 11 +5 6 7 8 9 12 +5 6 7 8 9 13 +5 6 7 8 9 14 +5 6 7 8 9 15 +5 6 7 8 10 11 +5 6 7 8 10 12 +5 6 7 8 10 13 +5 6 7 8 10 14 +5 6 7 8 10 15 +5 6 7 8 11 12 +5 6 7 8 11 13 +5 6 7 8 11 14 +5 6 7 8 11 15 +5 6 7 8 12 13 +5 6 7 8 12 14 +5 6 7 8 12 15 +5 6 7 8 13 14 +5 6 7 8 13 15 +5 6 7 8 14 15 +5 6 7 9 10 11 +5 6 7 9 10 12 +5 6 7 9 10 13 +5 6 7 9 10 14 +5 6 7 9 10 15 +5 6 7 9 11 12 +5 6 7 9 11 13 +5 6 7 9 11 14 +5 6 7 9 11 15 +5 6 7 9 12 13 +5 6 7 9 12 14 +5 6 7 9 12 15 +5 6 7 9 13 14 +5 6 7 9 13 15 +5 6 7 9 14 15 +5 6 7 10 11 12 +5 6 7 10 11 13 +5 6 7 10 11 14 +5 6 7 10 11 15 +5 6 7 10 12 13 +5 6 7 10 12 14 +5 6 7 10 12 15 +5 6 7 10 13 14 +5 6 7 10 13 15 +5 6 7 10 14 15 +5 6 7 11 12 13 +5 6 7 11 12 14 +5 6 7 11 12 15 +5 6 7 11 13 14 +5 6 7 11 13 15 +5 6 7 11 14 15 +5 6 7 12 13 14 +5 6 7 12 13 15 +5 6 7 12 14 15 +5 6 7 13 14 15 +5 6 8 9 10 11 +5 6 8 9 10 12 +5 6 8 9 10 13 +5 6 8 9 10 14 +5 6 8 9 10 15 +5 6 8 9 11 12 +5 6 8 9 11 13 +5 6 8 9 11 14 +5 6 8 9 11 15 +5 6 8 9 12 13 +5 6 8 9 12 14 +5 6 8 9 12 15 +5 6 8 9 13 14 +5 6 8 9 13 15 +5 6 8 9 14 15 +5 6 8 10 11 12 +5 6 8 10 11 13 +5 6 8 10 11 14 +5 6 8 10 11 15 +5 6 8 10 12 13 +5 6 8 10 12 14 +5 6 8 10 12 15 +5 6 8 10 13 14 +5 6 8 10 13 15 +5 6 8 10 14 15 +5 6 8 11 12 13 +5 6 8 11 12 14 +5 6 8 11 12 15 +5 6 8 11 13 14 +5 6 8 11 13 15 +5 6 8 11 14 15 +5 6 8 12 13 14 +5 6 8 12 13 15 +5 6 8 12 14 15 +5 6 8 13 14 15 +5 6 9 10 11 12 +5 6 9 10 11 13 +5 6 9 10 11 14 +5 6 9 10 11 15 +5 6 9 10 12 13 +5 6 9 10 12 14 +5 6 9 10 12 15 +5 6 9 10 13 14 +5 6 9 10 13 15 +5 6 9 10 14 15 +5 6 9 11 12 13 +5 6 9 11 12 14 +5 6 9 11 12 15 +5 6 9 11 13 14 +5 6 9 11 13 15 +5 6 9 11 14 15 +5 6 9 12 13 14 +5 6 9 12 13 15 +5 6 9 12 14 15 +5 6 9 13 14 15 +5 6 10 11 12 13 +5 6 10 11 12 14 +5 6 10 11 12 15 +5 6 10 11 13 14 +5 6 10 11 13 15 +5 6 10 11 14 15 +5 6 10 12 13 14 +5 6 10 12 13 15 +5 6 10 12 14 15 +5 6 10 13 14 15 +5 6 11 12 13 14 +5 6 11 12 13 15 +5 6 11 12 14 15 +5 6 11 13 14 15 +5 6 12 13 14 15 +5 7 8 9 10 11 +5 7 8 9 10 12 +5 7 8 9 10 13 +5 7 8 9 10 14 +5 7 8 9 10 15 +5 7 8 9 11 12 +5 7 8 9 11 13 +5 7 8 9 11 14 +5 7 8 9 11 15 +5 7 8 9 12 13 +5 7 8 9 12 14 +5 7 8 9 12 15 +5 7 8 9 13 14 +5 7 8 9 13 15 +5 7 8 9 14 15 +5 7 8 10 11 12 +5 7 8 10 11 13 +5 7 8 10 11 14 +5 7 8 10 11 15 +5 7 8 10 12 13 +5 7 8 10 12 14 +5 7 8 10 12 15 +5 7 8 10 13 14 +5 7 8 10 13 15 +5 7 8 10 14 15 +5 7 8 11 12 13 +5 7 8 11 12 14 +5 7 8 11 12 15 +5 7 8 11 13 14 +5 7 8 11 13 15 +5 7 8 11 14 15 +5 7 8 12 13 14 +5 7 8 12 13 15 +5 7 8 12 14 15 +5 7 8 13 14 15 +5 7 9 10 11 12 +5 7 9 10 11 13 +5 7 9 10 11 14 +5 7 9 10 11 15 +5 7 9 10 12 13 +5 7 9 10 12 14 +5 7 9 10 12 15 +5 7 9 10 13 14 +5 7 9 10 13 15 +5 7 9 10 14 15 +5 7 9 11 12 13 +5 7 9 11 12 14 +5 7 9 11 12 15 +5 7 9 11 13 14 +5 7 9 11 13 15 +5 7 9 11 14 15 +5 7 9 12 13 14 +5 7 9 12 13 15 +5 7 9 12 14 15 +5 7 9 13 14 15 +5 7 10 11 12 13 +5 7 10 11 12 14 +5 7 10 11 12 15 +5 7 10 11 13 14 +5 7 10 11 13 15 +5 7 10 11 14 15 +5 7 10 12 13 14 +5 7 10 12 13 15 +5 7 10 12 14 15 +5 7 10 13 14 15 +5 7 11 12 13 14 +5 7 11 12 13 15 +5 7 11 12 14 15 +5 7 11 13 14 15 +5 7 12 13 14 15 +5 8 9 10 11 12 +5 8 9 10 11 13 +5 8 9 10 11 14 +5 8 9 10 11 15 +5 8 9 10 12 13 +5 8 9 10 12 14 +5 8 9 10 12 15 +5 8 9 10 13 14 +5 8 9 10 13 15 +5 8 9 10 14 15 +5 8 9 11 12 13 +5 8 9 11 12 14 +5 8 9 11 12 15 +5 8 9 11 13 14 +5 8 9 11 13 15 +5 8 9 11 14 15 +5 8 9 12 13 14 +5 8 9 12 13 15 +5 8 9 12 14 15 +5 8 9 13 14 15 +5 8 10 11 12 13 +5 8 10 11 12 14 +5 8 10 11 12 15 +5 8 10 11 13 14 +5 8 10 11 13 15 +5 8 10 11 14 15 +5 8 10 12 13 14 +5 8 10 12 13 15 +5 8 10 12 14 15 +5 8 10 13 14 15 +5 8 11 12 13 14 +5 8 11 12 13 15 +5 8 11 12 14 15 +5 8 11 13 14 15 +5 8 12 13 14 15 +5 9 10 11 12 13 +5 9 10 11 12 14 +5 9 10 11 12 15 +5 9 10 11 13 14 +5 9 10 11 13 15 +5 9 10 11 14 15 +5 9 10 12 13 14 +5 9 10 12 13 15 +5 9 10 12 14 15 +5 9 10 13 14 15 +5 9 11 12 13 14 +5 9 11 12 13 15 +5 9 11 12 14 15 +5 9 11 13 14 15 +5 9 12 13 14 15 +5 10 11 12 13 14 +5 10 11 12 13 15 +5 10 11 12 14 15 +5 10 11 13 14 15 +5 10 12 13 14 15 +5 11 12 13 14 15 +6 7 8 9 10 11 +6 7 8 9 10 12 +6 7 8 9 10 13 +6 7 8 9 10 14 +6 7 8 9 10 15 +6 7 8 9 11 12 +6 7 8 9 11 13 +6 7 8 9 11 14 +6 7 8 9 11 15 +6 7 8 9 12 13 +6 7 8 9 12 14 +6 7 8 9 12 15 +6 7 8 9 13 14 +6 7 8 9 13 15 +6 7 8 9 14 15 +6 7 8 10 11 12 +6 7 8 10 11 13 +6 7 8 10 11 14 +6 7 8 10 11 15 +6 7 8 10 12 13 +6 7 8 10 12 14 +6 7 8 10 12 15 +6 7 8 10 13 14 +6 7 8 10 13 15 +6 7 8 10 14 15 +6 7 8 11 12 13 +6 7 8 11 12 14 +6 7 8 11 12 15 +6 7 8 11 13 14 +6 7 8 11 13 15 +6 7 8 11 14 15 +6 7 8 12 13 14 +6 7 8 12 13 15 +6 7 8 12 14 15 +6 7 8 13 14 15 +6 7 9 10 11 12 +6 7 9 10 11 13 +6 7 9 10 11 14 +6 7 9 10 11 15 +6 7 9 10 12 13 +6 7 9 10 12 14 +6 7 9 10 12 15 +6 7 9 10 13 14 +6 7 9 10 13 15 +6 7 9 10 14 15 +6 7 9 11 12 13 +6 7 9 11 12 14 +6 7 9 11 12 15 +6 7 9 11 13 14 +6 7 9 11 13 15 +6 7 9 11 14 15 +6 7 9 12 13 14 +6 7 9 12 13 15 +6 7 9 12 14 15 +6 7 9 13 14 15 +6 7 10 11 12 13 +6 7 10 11 12 14 +6 7 10 11 12 15 +6 7 10 11 13 14 +6 7 10 11 13 15 +6 7 10 11 14 15 +6 7 10 12 13 14 +6 7 10 12 13 15 +6 7 10 12 14 15 +6 7 10 13 14 15 +6 7 11 12 13 14 +6 7 11 12 13 15 +6 7 11 12 14 15 +6 7 11 13 14 15 +6 7 12 13 14 15 +6 8 9 10 11 12 +6 8 9 10 11 13 +6 8 9 10 11 14 +6 8 9 10 11 15 +6 8 9 10 12 13 +6 8 9 10 12 14 +6 8 9 10 12 15 +6 8 9 10 13 14 +6 8 9 10 13 15 +6 8 9 10 14 15 +6 8 9 11 12 13 +6 8 9 11 12 14 +6 8 9 11 12 15 +6 8 9 11 13 14 +6 8 9 11 13 15 +6 8 9 11 14 15 +6 8 9 12 13 14 +6 8 9 12 13 15 +6 8 9 12 14 15 +6 8 9 13 14 15 +6 8 10 11 12 13 +6 8 10 11 12 14 +6 8 10 11 12 15 +6 8 10 11 13 14 +6 8 10 11 13 15 +6 8 10 11 14 15 +6 8 10 12 13 14 +6 8 10 12 13 15 +6 8 10 12 14 15 +6 8 10 13 14 15 +6 8 11 12 13 14 +6 8 11 12 13 15 +6 8 11 12 14 15 +6 8 11 13 14 15 +6 8 12 13 14 15 +6 9 10 11 12 13 +6 9 10 11 12 14 +6 9 10 11 12 15 +6 9 10 11 13 14 +6 9 10 11 13 15 +6 9 10 11 14 15 +6 9 10 12 13 14 +6 9 10 12 13 15 +6 9 10 12 14 15 +6 9 10 13 14 15 +6 9 11 12 13 14 +6 9 11 12 13 15 +6 9 11 12 14 15 +6 9 11 13 14 15 +6 9 12 13 14 15 +6 10 11 12 13 14 +6 10 11 12 13 15 +6 10 11 12 14 15 +6 10 11 13 14 15 +6 10 12 13 14 15 +6 11 12 13 14 15 +7 8 9 10 11 12 +7 8 9 10 11 13 +7 8 9 10 11 14 +7 8 9 10 11 15 +7 8 9 10 12 13 +7 8 9 10 12 14 +7 8 9 10 12 15 +7 8 9 10 13 14 +7 8 9 10 13 15 +7 8 9 10 14 15 +7 8 9 11 12 13 +7 8 9 11 12 14 +7 8 9 11 12 15 +7 8 9 11 13 14 +7 8 9 11 13 15 +7 8 9 11 14 15 +7 8 9 12 13 14 +7 8 9 12 13 15 +7 8 9 12 14 15 +7 8 9 13 14 15 +7 8 10 11 12 13 +7 8 10 11 12 14 +7 8 10 11 12 15 +7 8 10 11 13 14 +7 8 10 11 13 15 +7 8 10 11 14 15 +7 8 10 12 13 14 +7 8 10 12 13 15 +7 8 10 12 14 15 +7 8 10 13 14 15 +7 8 11 12 13 14 +7 8 11 12 13 15 +7 8 11 12 14 15 +7 8 11 13 14 15 +7 8 12 13 14 15 +7 9 10 11 12 13 +7 9 10 11 12 14 +7 9 10 11 12 15 +7 9 10 11 13 14 +7 9 10 11 13 15 +7 9 10 11 14 15 +7 9 10 12 13 14 +7 9 10 12 13 15 +7 9 10 12 14 15 +7 9 10 13 14 15 +7 9 11 12 13 14 +7 9 11 12 13 15 +7 9 11 12 14 15 +7 9 11 13 14 15 +7 9 12 13 14 15 +7 10 11 12 13 14 +7 10 11 12 13 15 +7 10 11 12 14 15 +7 10 11 13 14 15 +7 10 12 13 14 15 +7 11 12 13 14 15 +8 9 10 11 12 13 +8 9 10 11 12 14 +8 9 10 11 12 15 +8 9 10 11 13 14 +8 9 10 11 13 15 +8 9 10 11 14 15 +8 9 10 12 13 14 +8 9 10 12 13 15 +8 9 10 12 14 15 +8 9 10 13 14 15 +8 9 11 12 13 14 +8 9 11 12 13 15 +8 9 11 12 14 15 +8 9 11 13 14 15 +8 9 12 13 14 15 +8 10 11 12 13 14 +8 10 11 12 13 15 +8 10 11 12 14 15 +8 10 11 13 14 15 +8 10 12 13 14 15 +8 11 12 13 14 15 +9 10 11 12 13 14 +9 10 11 12 13 15 +9 10 11 12 14 15 +9 10 11 13 14 15 +9 10 12 13 14 15 +9 11 12 13 14 15 +10 11 12 13 14 15 diff --git a/combines/16-7.txt b/combines/16-7.txt index 91fdcd9..5b3b7e7 100644 --- a/combines/16-7.txt +++ b/combines/16-7.txt @@ -1,11440 +1,11440 @@ -0 1 2 3 4 5 6 -0 1 2 3 4 5 7 -0 1 2 3 4 5 8 -0 1 2 3 4 5 9 -0 1 2 3 4 5 10 -0 1 2 3 4 5 11 -0 1 2 3 4 5 12 -0 1 2 3 4 5 13 -0 1 2 3 4 5 14 -0 1 2 3 4 5 15 -0 1 2 3 4 6 7 -0 1 2 3 4 6 8 -0 1 2 3 4 6 9 -0 1 2 3 4 6 10 -0 1 2 3 4 6 11 -0 1 2 3 4 6 12 -0 1 2 3 4 6 13 -0 1 2 3 4 6 14 -0 1 2 3 4 6 15 -0 1 2 3 4 7 8 -0 1 2 3 4 7 9 -0 1 2 3 4 7 10 -0 1 2 3 4 7 11 -0 1 2 3 4 7 12 -0 1 2 3 4 7 13 -0 1 2 3 4 7 14 -0 1 2 3 4 7 15 -0 1 2 3 4 8 9 -0 1 2 3 4 8 10 -0 1 2 3 4 8 11 -0 1 2 3 4 8 12 -0 1 2 3 4 8 13 -0 1 2 3 4 8 14 -0 1 2 3 4 8 15 -0 1 2 3 4 9 10 -0 1 2 3 4 9 11 -0 1 2 3 4 9 12 -0 1 2 3 4 9 13 -0 1 2 3 4 9 14 -0 1 2 3 4 9 15 -0 1 2 3 4 10 11 -0 1 2 3 4 10 12 -0 1 2 3 4 10 13 -0 1 2 3 4 10 14 -0 1 2 3 4 10 15 -0 1 2 3 4 11 12 -0 1 2 3 4 11 13 -0 1 2 3 4 11 14 -0 1 2 3 4 11 15 -0 1 2 3 4 12 13 -0 1 2 3 4 12 14 -0 1 2 3 4 12 15 -0 1 2 3 4 13 14 -0 1 2 3 4 13 15 -0 1 2 3 4 14 15 -0 1 2 3 5 6 7 -0 1 2 3 5 6 8 -0 1 2 3 5 6 9 -0 1 2 3 5 6 10 -0 1 2 3 5 6 11 -0 1 2 3 5 6 12 -0 1 2 3 5 6 13 -0 1 2 3 5 6 14 -0 1 2 3 5 6 15 -0 1 2 3 5 7 8 -0 1 2 3 5 7 9 -0 1 2 3 5 7 10 -0 1 2 3 5 7 11 -0 1 2 3 5 7 12 -0 1 2 3 5 7 13 -0 1 2 3 5 7 14 -0 1 2 3 5 7 15 -0 1 2 3 5 8 9 -0 1 2 3 5 8 10 -0 1 2 3 5 8 11 -0 1 2 3 5 8 12 -0 1 2 3 5 8 13 -0 1 2 3 5 8 14 -0 1 2 3 5 8 15 -0 1 2 3 5 9 10 -0 1 2 3 5 9 11 -0 1 2 3 5 9 12 -0 1 2 3 5 9 13 -0 1 2 3 5 9 14 -0 1 2 3 5 9 15 -0 1 2 3 5 10 11 -0 1 2 3 5 10 12 -0 1 2 3 5 10 13 -0 1 2 3 5 10 14 -0 1 2 3 5 10 15 -0 1 2 3 5 11 12 -0 1 2 3 5 11 13 -0 1 2 3 5 11 14 -0 1 2 3 5 11 15 -0 1 2 3 5 12 13 -0 1 2 3 5 12 14 -0 1 2 3 5 12 15 -0 1 2 3 5 13 14 -0 1 2 3 5 13 15 -0 1 2 3 5 14 15 -0 1 2 3 6 7 8 -0 1 2 3 6 7 9 -0 1 2 3 6 7 10 -0 1 2 3 6 7 11 -0 1 2 3 6 7 12 -0 1 2 3 6 7 13 -0 1 2 3 6 7 14 -0 1 2 3 6 7 15 -0 1 2 3 6 8 9 -0 1 2 3 6 8 10 -0 1 2 3 6 8 11 -0 1 2 3 6 8 12 -0 1 2 3 6 8 13 -0 1 2 3 6 8 14 -0 1 2 3 6 8 15 -0 1 2 3 6 9 10 -0 1 2 3 6 9 11 -0 1 2 3 6 9 12 -0 1 2 3 6 9 13 -0 1 2 3 6 9 14 -0 1 2 3 6 9 15 -0 1 2 3 6 10 11 -0 1 2 3 6 10 12 -0 1 2 3 6 10 13 -0 1 2 3 6 10 14 -0 1 2 3 6 10 15 -0 1 2 3 6 11 12 -0 1 2 3 6 11 13 -0 1 2 3 6 11 14 -0 1 2 3 6 11 15 -0 1 2 3 6 12 13 -0 1 2 3 6 12 14 -0 1 2 3 6 12 15 -0 1 2 3 6 13 14 -0 1 2 3 6 13 15 -0 1 2 3 6 14 15 -0 1 2 3 7 8 9 -0 1 2 3 7 8 10 -0 1 2 3 7 8 11 -0 1 2 3 7 8 12 -0 1 2 3 7 8 13 -0 1 2 3 7 8 14 -0 1 2 3 7 8 15 -0 1 2 3 7 9 10 -0 1 2 3 7 9 11 -0 1 2 3 7 9 12 -0 1 2 3 7 9 13 -0 1 2 3 7 9 14 -0 1 2 3 7 9 15 -0 1 2 3 7 10 11 -0 1 2 3 7 10 12 -0 1 2 3 7 10 13 -0 1 2 3 7 10 14 -0 1 2 3 7 10 15 -0 1 2 3 7 11 12 -0 1 2 3 7 11 13 -0 1 2 3 7 11 14 -0 1 2 3 7 11 15 -0 1 2 3 7 12 13 -0 1 2 3 7 12 14 -0 1 2 3 7 12 15 -0 1 2 3 7 13 14 -0 1 2 3 7 13 15 -0 1 2 3 7 14 15 -0 1 2 3 8 9 10 -0 1 2 3 8 9 11 -0 1 2 3 8 9 12 -0 1 2 3 8 9 13 -0 1 2 3 8 9 14 -0 1 2 3 8 9 15 -0 1 2 3 8 10 11 -0 1 2 3 8 10 12 -0 1 2 3 8 10 13 -0 1 2 3 8 10 14 -0 1 2 3 8 10 15 -0 1 2 3 8 11 12 -0 1 2 3 8 11 13 -0 1 2 3 8 11 14 -0 1 2 3 8 11 15 -0 1 2 3 8 12 13 -0 1 2 3 8 12 14 -0 1 2 3 8 12 15 -0 1 2 3 8 13 14 -0 1 2 3 8 13 15 -0 1 2 3 8 14 15 -0 1 2 3 9 10 11 -0 1 2 3 9 10 12 -0 1 2 3 9 10 13 -0 1 2 3 9 10 14 -0 1 2 3 9 10 15 -0 1 2 3 9 11 12 -0 1 2 3 9 11 13 -0 1 2 3 9 11 14 -0 1 2 3 9 11 15 -0 1 2 3 9 12 13 -0 1 2 3 9 12 14 -0 1 2 3 9 12 15 -0 1 2 3 9 13 14 -0 1 2 3 9 13 15 -0 1 2 3 9 14 15 -0 1 2 3 10 11 12 -0 1 2 3 10 11 13 -0 1 2 3 10 11 14 -0 1 2 3 10 11 15 -0 1 2 3 10 12 13 -0 1 2 3 10 12 14 -0 1 2 3 10 12 15 -0 1 2 3 10 13 14 -0 1 2 3 10 13 15 -0 1 2 3 10 14 15 -0 1 2 3 11 12 13 -0 1 2 3 11 12 14 -0 1 2 3 11 12 15 -0 1 2 3 11 13 14 -0 1 2 3 11 13 15 -0 1 2 3 11 14 15 -0 1 2 3 12 13 14 -0 1 2 3 12 13 15 -0 1 2 3 12 14 15 -0 1 2 3 13 14 15 -0 1 2 4 5 6 7 -0 1 2 4 5 6 8 -0 1 2 4 5 6 9 -0 1 2 4 5 6 10 -0 1 2 4 5 6 11 -0 1 2 4 5 6 12 -0 1 2 4 5 6 13 -0 1 2 4 5 6 14 -0 1 2 4 5 6 15 -0 1 2 4 5 7 8 -0 1 2 4 5 7 9 -0 1 2 4 5 7 10 -0 1 2 4 5 7 11 -0 1 2 4 5 7 12 -0 1 2 4 5 7 13 -0 1 2 4 5 7 14 -0 1 2 4 5 7 15 -0 1 2 4 5 8 9 -0 1 2 4 5 8 10 -0 1 2 4 5 8 11 -0 1 2 4 5 8 12 -0 1 2 4 5 8 13 -0 1 2 4 5 8 14 -0 1 2 4 5 8 15 -0 1 2 4 5 9 10 -0 1 2 4 5 9 11 -0 1 2 4 5 9 12 -0 1 2 4 5 9 13 -0 1 2 4 5 9 14 -0 1 2 4 5 9 15 -0 1 2 4 5 10 11 -0 1 2 4 5 10 12 -0 1 2 4 5 10 13 -0 1 2 4 5 10 14 -0 1 2 4 5 10 15 -0 1 2 4 5 11 12 -0 1 2 4 5 11 13 -0 1 2 4 5 11 14 -0 1 2 4 5 11 15 -0 1 2 4 5 12 13 -0 1 2 4 5 12 14 -0 1 2 4 5 12 15 -0 1 2 4 5 13 14 -0 1 2 4 5 13 15 -0 1 2 4 5 14 15 -0 1 2 4 6 7 8 -0 1 2 4 6 7 9 -0 1 2 4 6 7 10 -0 1 2 4 6 7 11 -0 1 2 4 6 7 12 -0 1 2 4 6 7 13 -0 1 2 4 6 7 14 -0 1 2 4 6 7 15 -0 1 2 4 6 8 9 -0 1 2 4 6 8 10 -0 1 2 4 6 8 11 -0 1 2 4 6 8 12 -0 1 2 4 6 8 13 -0 1 2 4 6 8 14 -0 1 2 4 6 8 15 -0 1 2 4 6 9 10 -0 1 2 4 6 9 11 -0 1 2 4 6 9 12 -0 1 2 4 6 9 13 -0 1 2 4 6 9 14 -0 1 2 4 6 9 15 -0 1 2 4 6 10 11 -0 1 2 4 6 10 12 -0 1 2 4 6 10 13 -0 1 2 4 6 10 14 -0 1 2 4 6 10 15 -0 1 2 4 6 11 12 -0 1 2 4 6 11 13 -0 1 2 4 6 11 14 -0 1 2 4 6 11 15 -0 1 2 4 6 12 13 -0 1 2 4 6 12 14 -0 1 2 4 6 12 15 -0 1 2 4 6 13 14 -0 1 2 4 6 13 15 -0 1 2 4 6 14 15 -0 1 2 4 7 8 9 -0 1 2 4 7 8 10 -0 1 2 4 7 8 11 -0 1 2 4 7 8 12 -0 1 2 4 7 8 13 -0 1 2 4 7 8 14 -0 1 2 4 7 8 15 -0 1 2 4 7 9 10 -0 1 2 4 7 9 11 -0 1 2 4 7 9 12 -0 1 2 4 7 9 13 -0 1 2 4 7 9 14 -0 1 2 4 7 9 15 -0 1 2 4 7 10 11 -0 1 2 4 7 10 12 -0 1 2 4 7 10 13 -0 1 2 4 7 10 14 -0 1 2 4 7 10 15 -0 1 2 4 7 11 12 -0 1 2 4 7 11 13 -0 1 2 4 7 11 14 -0 1 2 4 7 11 15 -0 1 2 4 7 12 13 -0 1 2 4 7 12 14 -0 1 2 4 7 12 15 -0 1 2 4 7 13 14 -0 1 2 4 7 13 15 -0 1 2 4 7 14 15 -0 1 2 4 8 9 10 -0 1 2 4 8 9 11 -0 1 2 4 8 9 12 -0 1 2 4 8 9 13 -0 1 2 4 8 9 14 -0 1 2 4 8 9 15 -0 1 2 4 8 10 11 -0 1 2 4 8 10 12 -0 1 2 4 8 10 13 -0 1 2 4 8 10 14 -0 1 2 4 8 10 15 -0 1 2 4 8 11 12 -0 1 2 4 8 11 13 -0 1 2 4 8 11 14 -0 1 2 4 8 11 15 -0 1 2 4 8 12 13 -0 1 2 4 8 12 14 -0 1 2 4 8 12 15 -0 1 2 4 8 13 14 -0 1 2 4 8 13 15 -0 1 2 4 8 14 15 -0 1 2 4 9 10 11 -0 1 2 4 9 10 12 -0 1 2 4 9 10 13 -0 1 2 4 9 10 14 -0 1 2 4 9 10 15 -0 1 2 4 9 11 12 -0 1 2 4 9 11 13 -0 1 2 4 9 11 14 -0 1 2 4 9 11 15 -0 1 2 4 9 12 13 -0 1 2 4 9 12 14 -0 1 2 4 9 12 15 -0 1 2 4 9 13 14 -0 1 2 4 9 13 15 -0 1 2 4 9 14 15 -0 1 2 4 10 11 12 -0 1 2 4 10 11 13 -0 1 2 4 10 11 14 -0 1 2 4 10 11 15 -0 1 2 4 10 12 13 -0 1 2 4 10 12 14 -0 1 2 4 10 12 15 -0 1 2 4 10 13 14 -0 1 2 4 10 13 15 -0 1 2 4 10 14 15 -0 1 2 4 11 12 13 -0 1 2 4 11 12 14 -0 1 2 4 11 12 15 -0 1 2 4 11 13 14 -0 1 2 4 11 13 15 -0 1 2 4 11 14 15 -0 1 2 4 12 13 14 -0 1 2 4 12 13 15 -0 1 2 4 12 14 15 -0 1 2 4 13 14 15 -0 1 2 5 6 7 8 -0 1 2 5 6 7 9 -0 1 2 5 6 7 10 -0 1 2 5 6 7 11 -0 1 2 5 6 7 12 -0 1 2 5 6 7 13 -0 1 2 5 6 7 14 -0 1 2 5 6 7 15 -0 1 2 5 6 8 9 -0 1 2 5 6 8 10 -0 1 2 5 6 8 11 -0 1 2 5 6 8 12 -0 1 2 5 6 8 13 -0 1 2 5 6 8 14 -0 1 2 5 6 8 15 -0 1 2 5 6 9 10 -0 1 2 5 6 9 11 -0 1 2 5 6 9 12 -0 1 2 5 6 9 13 -0 1 2 5 6 9 14 -0 1 2 5 6 9 15 -0 1 2 5 6 10 11 -0 1 2 5 6 10 12 -0 1 2 5 6 10 13 -0 1 2 5 6 10 14 -0 1 2 5 6 10 15 -0 1 2 5 6 11 12 -0 1 2 5 6 11 13 -0 1 2 5 6 11 14 -0 1 2 5 6 11 15 -0 1 2 5 6 12 13 -0 1 2 5 6 12 14 -0 1 2 5 6 12 15 -0 1 2 5 6 13 14 -0 1 2 5 6 13 15 -0 1 2 5 6 14 15 -0 1 2 5 7 8 9 -0 1 2 5 7 8 10 -0 1 2 5 7 8 11 -0 1 2 5 7 8 12 -0 1 2 5 7 8 13 -0 1 2 5 7 8 14 -0 1 2 5 7 8 15 -0 1 2 5 7 9 10 -0 1 2 5 7 9 11 -0 1 2 5 7 9 12 -0 1 2 5 7 9 13 -0 1 2 5 7 9 14 -0 1 2 5 7 9 15 -0 1 2 5 7 10 11 -0 1 2 5 7 10 12 -0 1 2 5 7 10 13 -0 1 2 5 7 10 14 -0 1 2 5 7 10 15 -0 1 2 5 7 11 12 -0 1 2 5 7 11 13 -0 1 2 5 7 11 14 -0 1 2 5 7 11 15 -0 1 2 5 7 12 13 -0 1 2 5 7 12 14 -0 1 2 5 7 12 15 -0 1 2 5 7 13 14 -0 1 2 5 7 13 15 -0 1 2 5 7 14 15 -0 1 2 5 8 9 10 -0 1 2 5 8 9 11 -0 1 2 5 8 9 12 -0 1 2 5 8 9 13 -0 1 2 5 8 9 14 -0 1 2 5 8 9 15 -0 1 2 5 8 10 11 -0 1 2 5 8 10 12 -0 1 2 5 8 10 13 -0 1 2 5 8 10 14 -0 1 2 5 8 10 15 -0 1 2 5 8 11 12 -0 1 2 5 8 11 13 -0 1 2 5 8 11 14 -0 1 2 5 8 11 15 -0 1 2 5 8 12 13 -0 1 2 5 8 12 14 -0 1 2 5 8 12 15 -0 1 2 5 8 13 14 -0 1 2 5 8 13 15 -0 1 2 5 8 14 15 -0 1 2 5 9 10 11 -0 1 2 5 9 10 12 -0 1 2 5 9 10 13 -0 1 2 5 9 10 14 -0 1 2 5 9 10 15 -0 1 2 5 9 11 12 -0 1 2 5 9 11 13 -0 1 2 5 9 11 14 -0 1 2 5 9 11 15 -0 1 2 5 9 12 13 -0 1 2 5 9 12 14 -0 1 2 5 9 12 15 -0 1 2 5 9 13 14 -0 1 2 5 9 13 15 -0 1 2 5 9 14 15 -0 1 2 5 10 11 12 -0 1 2 5 10 11 13 -0 1 2 5 10 11 14 -0 1 2 5 10 11 15 -0 1 2 5 10 12 13 -0 1 2 5 10 12 14 -0 1 2 5 10 12 15 -0 1 2 5 10 13 14 -0 1 2 5 10 13 15 -0 1 2 5 10 14 15 -0 1 2 5 11 12 13 -0 1 2 5 11 12 14 -0 1 2 5 11 12 15 -0 1 2 5 11 13 14 -0 1 2 5 11 13 15 -0 1 2 5 11 14 15 -0 1 2 5 12 13 14 -0 1 2 5 12 13 15 -0 1 2 5 12 14 15 -0 1 2 5 13 14 15 -0 1 2 6 7 8 9 -0 1 2 6 7 8 10 -0 1 2 6 7 8 11 -0 1 2 6 7 8 12 -0 1 2 6 7 8 13 -0 1 2 6 7 8 14 -0 1 2 6 7 8 15 -0 1 2 6 7 9 10 -0 1 2 6 7 9 11 -0 1 2 6 7 9 12 -0 1 2 6 7 9 13 -0 1 2 6 7 9 14 -0 1 2 6 7 9 15 -0 1 2 6 7 10 11 -0 1 2 6 7 10 12 -0 1 2 6 7 10 13 -0 1 2 6 7 10 14 -0 1 2 6 7 10 15 -0 1 2 6 7 11 12 -0 1 2 6 7 11 13 -0 1 2 6 7 11 14 -0 1 2 6 7 11 15 -0 1 2 6 7 12 13 -0 1 2 6 7 12 14 -0 1 2 6 7 12 15 -0 1 2 6 7 13 14 -0 1 2 6 7 13 15 -0 1 2 6 7 14 15 -0 1 2 6 8 9 10 -0 1 2 6 8 9 11 -0 1 2 6 8 9 12 -0 1 2 6 8 9 13 -0 1 2 6 8 9 14 -0 1 2 6 8 9 15 -0 1 2 6 8 10 11 -0 1 2 6 8 10 12 -0 1 2 6 8 10 13 -0 1 2 6 8 10 14 -0 1 2 6 8 10 15 -0 1 2 6 8 11 12 -0 1 2 6 8 11 13 -0 1 2 6 8 11 14 -0 1 2 6 8 11 15 -0 1 2 6 8 12 13 -0 1 2 6 8 12 14 -0 1 2 6 8 12 15 -0 1 2 6 8 13 14 -0 1 2 6 8 13 15 -0 1 2 6 8 14 15 -0 1 2 6 9 10 11 -0 1 2 6 9 10 12 -0 1 2 6 9 10 13 -0 1 2 6 9 10 14 -0 1 2 6 9 10 15 -0 1 2 6 9 11 12 -0 1 2 6 9 11 13 -0 1 2 6 9 11 14 -0 1 2 6 9 11 15 -0 1 2 6 9 12 13 -0 1 2 6 9 12 14 -0 1 2 6 9 12 15 -0 1 2 6 9 13 14 -0 1 2 6 9 13 15 -0 1 2 6 9 14 15 -0 1 2 6 10 11 12 -0 1 2 6 10 11 13 -0 1 2 6 10 11 14 -0 1 2 6 10 11 15 -0 1 2 6 10 12 13 -0 1 2 6 10 12 14 -0 1 2 6 10 12 15 -0 1 2 6 10 13 14 -0 1 2 6 10 13 15 -0 1 2 6 10 14 15 -0 1 2 6 11 12 13 -0 1 2 6 11 12 14 -0 1 2 6 11 12 15 -0 1 2 6 11 13 14 -0 1 2 6 11 13 15 -0 1 2 6 11 14 15 -0 1 2 6 12 13 14 -0 1 2 6 12 13 15 -0 1 2 6 12 14 15 -0 1 2 6 13 14 15 -0 1 2 7 8 9 10 -0 1 2 7 8 9 11 -0 1 2 7 8 9 12 -0 1 2 7 8 9 13 -0 1 2 7 8 9 14 -0 1 2 7 8 9 15 -0 1 2 7 8 10 11 -0 1 2 7 8 10 12 -0 1 2 7 8 10 13 -0 1 2 7 8 10 14 -0 1 2 7 8 10 15 -0 1 2 7 8 11 12 -0 1 2 7 8 11 13 -0 1 2 7 8 11 14 -0 1 2 7 8 11 15 -0 1 2 7 8 12 13 -0 1 2 7 8 12 14 -0 1 2 7 8 12 15 -0 1 2 7 8 13 14 -0 1 2 7 8 13 15 -0 1 2 7 8 14 15 -0 1 2 7 9 10 11 -0 1 2 7 9 10 12 -0 1 2 7 9 10 13 -0 1 2 7 9 10 14 -0 1 2 7 9 10 15 -0 1 2 7 9 11 12 -0 1 2 7 9 11 13 -0 1 2 7 9 11 14 -0 1 2 7 9 11 15 -0 1 2 7 9 12 13 -0 1 2 7 9 12 14 -0 1 2 7 9 12 15 -0 1 2 7 9 13 14 -0 1 2 7 9 13 15 -0 1 2 7 9 14 15 -0 1 2 7 10 11 12 -0 1 2 7 10 11 13 -0 1 2 7 10 11 14 -0 1 2 7 10 11 15 -0 1 2 7 10 12 13 -0 1 2 7 10 12 14 -0 1 2 7 10 12 15 -0 1 2 7 10 13 14 -0 1 2 7 10 13 15 -0 1 2 7 10 14 15 -0 1 2 7 11 12 13 -0 1 2 7 11 12 14 -0 1 2 7 11 12 15 -0 1 2 7 11 13 14 -0 1 2 7 11 13 15 -0 1 2 7 11 14 15 -0 1 2 7 12 13 14 -0 1 2 7 12 13 15 -0 1 2 7 12 14 15 -0 1 2 7 13 14 15 -0 1 2 8 9 10 11 -0 1 2 8 9 10 12 -0 1 2 8 9 10 13 -0 1 2 8 9 10 14 -0 1 2 8 9 10 15 -0 1 2 8 9 11 12 -0 1 2 8 9 11 13 -0 1 2 8 9 11 14 -0 1 2 8 9 11 15 -0 1 2 8 9 12 13 -0 1 2 8 9 12 14 -0 1 2 8 9 12 15 -0 1 2 8 9 13 14 -0 1 2 8 9 13 15 -0 1 2 8 9 14 15 -0 1 2 8 10 11 12 -0 1 2 8 10 11 13 -0 1 2 8 10 11 14 -0 1 2 8 10 11 15 -0 1 2 8 10 12 13 -0 1 2 8 10 12 14 -0 1 2 8 10 12 15 -0 1 2 8 10 13 14 -0 1 2 8 10 13 15 -0 1 2 8 10 14 15 -0 1 2 8 11 12 13 -0 1 2 8 11 12 14 -0 1 2 8 11 12 15 -0 1 2 8 11 13 14 -0 1 2 8 11 13 15 -0 1 2 8 11 14 15 -0 1 2 8 12 13 14 -0 1 2 8 12 13 15 -0 1 2 8 12 14 15 -0 1 2 8 13 14 15 -0 1 2 9 10 11 12 -0 1 2 9 10 11 13 -0 1 2 9 10 11 14 -0 1 2 9 10 11 15 -0 1 2 9 10 12 13 -0 1 2 9 10 12 14 -0 1 2 9 10 12 15 -0 1 2 9 10 13 14 -0 1 2 9 10 13 15 -0 1 2 9 10 14 15 -0 1 2 9 11 12 13 -0 1 2 9 11 12 14 -0 1 2 9 11 12 15 -0 1 2 9 11 13 14 -0 1 2 9 11 13 15 -0 1 2 9 11 14 15 -0 1 2 9 12 13 14 -0 1 2 9 12 13 15 -0 1 2 9 12 14 15 -0 1 2 9 13 14 15 -0 1 2 10 11 12 13 -0 1 2 10 11 12 14 -0 1 2 10 11 12 15 -0 1 2 10 11 13 14 -0 1 2 10 11 13 15 -0 1 2 10 11 14 15 -0 1 2 10 12 13 14 -0 1 2 10 12 13 15 -0 1 2 10 12 14 15 -0 1 2 10 13 14 15 -0 1 2 11 12 13 14 -0 1 2 11 12 13 15 -0 1 2 11 12 14 15 -0 1 2 11 13 14 15 -0 1 2 12 13 14 15 -0 1 3 4 5 6 7 -0 1 3 4 5 6 8 -0 1 3 4 5 6 9 -0 1 3 4 5 6 10 -0 1 3 4 5 6 11 -0 1 3 4 5 6 12 -0 1 3 4 5 6 13 -0 1 3 4 5 6 14 -0 1 3 4 5 6 15 -0 1 3 4 5 7 8 -0 1 3 4 5 7 9 -0 1 3 4 5 7 10 -0 1 3 4 5 7 11 -0 1 3 4 5 7 12 -0 1 3 4 5 7 13 -0 1 3 4 5 7 14 -0 1 3 4 5 7 15 -0 1 3 4 5 8 9 -0 1 3 4 5 8 10 -0 1 3 4 5 8 11 -0 1 3 4 5 8 12 -0 1 3 4 5 8 13 -0 1 3 4 5 8 14 -0 1 3 4 5 8 15 -0 1 3 4 5 9 10 -0 1 3 4 5 9 11 -0 1 3 4 5 9 12 -0 1 3 4 5 9 13 -0 1 3 4 5 9 14 -0 1 3 4 5 9 15 -0 1 3 4 5 10 11 -0 1 3 4 5 10 12 -0 1 3 4 5 10 13 -0 1 3 4 5 10 14 -0 1 3 4 5 10 15 -0 1 3 4 5 11 12 -0 1 3 4 5 11 13 -0 1 3 4 5 11 14 -0 1 3 4 5 11 15 -0 1 3 4 5 12 13 -0 1 3 4 5 12 14 -0 1 3 4 5 12 15 -0 1 3 4 5 13 14 -0 1 3 4 5 13 15 -0 1 3 4 5 14 15 -0 1 3 4 6 7 8 -0 1 3 4 6 7 9 -0 1 3 4 6 7 10 -0 1 3 4 6 7 11 -0 1 3 4 6 7 12 -0 1 3 4 6 7 13 -0 1 3 4 6 7 14 -0 1 3 4 6 7 15 -0 1 3 4 6 8 9 -0 1 3 4 6 8 10 -0 1 3 4 6 8 11 -0 1 3 4 6 8 12 -0 1 3 4 6 8 13 -0 1 3 4 6 8 14 -0 1 3 4 6 8 15 -0 1 3 4 6 9 10 -0 1 3 4 6 9 11 -0 1 3 4 6 9 12 -0 1 3 4 6 9 13 -0 1 3 4 6 9 14 -0 1 3 4 6 9 15 -0 1 3 4 6 10 11 -0 1 3 4 6 10 12 -0 1 3 4 6 10 13 -0 1 3 4 6 10 14 -0 1 3 4 6 10 15 -0 1 3 4 6 11 12 -0 1 3 4 6 11 13 -0 1 3 4 6 11 14 -0 1 3 4 6 11 15 -0 1 3 4 6 12 13 -0 1 3 4 6 12 14 -0 1 3 4 6 12 15 -0 1 3 4 6 13 14 -0 1 3 4 6 13 15 -0 1 3 4 6 14 15 -0 1 3 4 7 8 9 -0 1 3 4 7 8 10 -0 1 3 4 7 8 11 -0 1 3 4 7 8 12 -0 1 3 4 7 8 13 -0 1 3 4 7 8 14 -0 1 3 4 7 8 15 -0 1 3 4 7 9 10 -0 1 3 4 7 9 11 -0 1 3 4 7 9 12 -0 1 3 4 7 9 13 -0 1 3 4 7 9 14 -0 1 3 4 7 9 15 -0 1 3 4 7 10 11 -0 1 3 4 7 10 12 -0 1 3 4 7 10 13 -0 1 3 4 7 10 14 -0 1 3 4 7 10 15 -0 1 3 4 7 11 12 -0 1 3 4 7 11 13 -0 1 3 4 7 11 14 -0 1 3 4 7 11 15 -0 1 3 4 7 12 13 -0 1 3 4 7 12 14 -0 1 3 4 7 12 15 -0 1 3 4 7 13 14 -0 1 3 4 7 13 15 -0 1 3 4 7 14 15 -0 1 3 4 8 9 10 -0 1 3 4 8 9 11 -0 1 3 4 8 9 12 -0 1 3 4 8 9 13 -0 1 3 4 8 9 14 -0 1 3 4 8 9 15 -0 1 3 4 8 10 11 -0 1 3 4 8 10 12 -0 1 3 4 8 10 13 -0 1 3 4 8 10 14 -0 1 3 4 8 10 15 -0 1 3 4 8 11 12 -0 1 3 4 8 11 13 -0 1 3 4 8 11 14 -0 1 3 4 8 11 15 -0 1 3 4 8 12 13 -0 1 3 4 8 12 14 -0 1 3 4 8 12 15 -0 1 3 4 8 13 14 -0 1 3 4 8 13 15 -0 1 3 4 8 14 15 -0 1 3 4 9 10 11 -0 1 3 4 9 10 12 -0 1 3 4 9 10 13 -0 1 3 4 9 10 14 -0 1 3 4 9 10 15 -0 1 3 4 9 11 12 -0 1 3 4 9 11 13 -0 1 3 4 9 11 14 -0 1 3 4 9 11 15 -0 1 3 4 9 12 13 -0 1 3 4 9 12 14 -0 1 3 4 9 12 15 -0 1 3 4 9 13 14 -0 1 3 4 9 13 15 -0 1 3 4 9 14 15 -0 1 3 4 10 11 12 -0 1 3 4 10 11 13 -0 1 3 4 10 11 14 -0 1 3 4 10 11 15 -0 1 3 4 10 12 13 -0 1 3 4 10 12 14 -0 1 3 4 10 12 15 -0 1 3 4 10 13 14 -0 1 3 4 10 13 15 -0 1 3 4 10 14 15 -0 1 3 4 11 12 13 -0 1 3 4 11 12 14 -0 1 3 4 11 12 15 -0 1 3 4 11 13 14 -0 1 3 4 11 13 15 -0 1 3 4 11 14 15 -0 1 3 4 12 13 14 -0 1 3 4 12 13 15 -0 1 3 4 12 14 15 -0 1 3 4 13 14 15 -0 1 3 5 6 7 8 -0 1 3 5 6 7 9 -0 1 3 5 6 7 10 -0 1 3 5 6 7 11 -0 1 3 5 6 7 12 -0 1 3 5 6 7 13 -0 1 3 5 6 7 14 -0 1 3 5 6 7 15 -0 1 3 5 6 8 9 -0 1 3 5 6 8 10 -0 1 3 5 6 8 11 -0 1 3 5 6 8 12 -0 1 3 5 6 8 13 -0 1 3 5 6 8 14 -0 1 3 5 6 8 15 -0 1 3 5 6 9 10 -0 1 3 5 6 9 11 -0 1 3 5 6 9 12 -0 1 3 5 6 9 13 -0 1 3 5 6 9 14 -0 1 3 5 6 9 15 -0 1 3 5 6 10 11 -0 1 3 5 6 10 12 -0 1 3 5 6 10 13 -0 1 3 5 6 10 14 -0 1 3 5 6 10 15 -0 1 3 5 6 11 12 -0 1 3 5 6 11 13 -0 1 3 5 6 11 14 -0 1 3 5 6 11 15 -0 1 3 5 6 12 13 -0 1 3 5 6 12 14 -0 1 3 5 6 12 15 -0 1 3 5 6 13 14 -0 1 3 5 6 13 15 -0 1 3 5 6 14 15 -0 1 3 5 7 8 9 -0 1 3 5 7 8 10 -0 1 3 5 7 8 11 -0 1 3 5 7 8 12 -0 1 3 5 7 8 13 -0 1 3 5 7 8 14 -0 1 3 5 7 8 15 -0 1 3 5 7 9 10 -0 1 3 5 7 9 11 -0 1 3 5 7 9 12 -0 1 3 5 7 9 13 -0 1 3 5 7 9 14 -0 1 3 5 7 9 15 -0 1 3 5 7 10 11 -0 1 3 5 7 10 12 -0 1 3 5 7 10 13 -0 1 3 5 7 10 14 -0 1 3 5 7 10 15 -0 1 3 5 7 11 12 -0 1 3 5 7 11 13 -0 1 3 5 7 11 14 -0 1 3 5 7 11 15 -0 1 3 5 7 12 13 -0 1 3 5 7 12 14 -0 1 3 5 7 12 15 -0 1 3 5 7 13 14 -0 1 3 5 7 13 15 -0 1 3 5 7 14 15 -0 1 3 5 8 9 10 -0 1 3 5 8 9 11 -0 1 3 5 8 9 12 -0 1 3 5 8 9 13 -0 1 3 5 8 9 14 -0 1 3 5 8 9 15 -0 1 3 5 8 10 11 -0 1 3 5 8 10 12 -0 1 3 5 8 10 13 -0 1 3 5 8 10 14 -0 1 3 5 8 10 15 -0 1 3 5 8 11 12 -0 1 3 5 8 11 13 -0 1 3 5 8 11 14 -0 1 3 5 8 11 15 -0 1 3 5 8 12 13 -0 1 3 5 8 12 14 -0 1 3 5 8 12 15 -0 1 3 5 8 13 14 -0 1 3 5 8 13 15 -0 1 3 5 8 14 15 -0 1 3 5 9 10 11 -0 1 3 5 9 10 12 -0 1 3 5 9 10 13 -0 1 3 5 9 10 14 -0 1 3 5 9 10 15 -0 1 3 5 9 11 12 -0 1 3 5 9 11 13 -0 1 3 5 9 11 14 -0 1 3 5 9 11 15 -0 1 3 5 9 12 13 -0 1 3 5 9 12 14 -0 1 3 5 9 12 15 -0 1 3 5 9 13 14 -0 1 3 5 9 13 15 -0 1 3 5 9 14 15 -0 1 3 5 10 11 12 -0 1 3 5 10 11 13 -0 1 3 5 10 11 14 -0 1 3 5 10 11 15 -0 1 3 5 10 12 13 -0 1 3 5 10 12 14 -0 1 3 5 10 12 15 -0 1 3 5 10 13 14 -0 1 3 5 10 13 15 -0 1 3 5 10 14 15 -0 1 3 5 11 12 13 -0 1 3 5 11 12 14 -0 1 3 5 11 12 15 -0 1 3 5 11 13 14 -0 1 3 5 11 13 15 -0 1 3 5 11 14 15 -0 1 3 5 12 13 14 -0 1 3 5 12 13 15 -0 1 3 5 12 14 15 -0 1 3 5 13 14 15 -0 1 3 6 7 8 9 -0 1 3 6 7 8 10 -0 1 3 6 7 8 11 -0 1 3 6 7 8 12 -0 1 3 6 7 8 13 -0 1 3 6 7 8 14 -0 1 3 6 7 8 15 -0 1 3 6 7 9 10 -0 1 3 6 7 9 11 -0 1 3 6 7 9 12 -0 1 3 6 7 9 13 -0 1 3 6 7 9 14 -0 1 3 6 7 9 15 -0 1 3 6 7 10 11 -0 1 3 6 7 10 12 -0 1 3 6 7 10 13 -0 1 3 6 7 10 14 -0 1 3 6 7 10 15 -0 1 3 6 7 11 12 -0 1 3 6 7 11 13 -0 1 3 6 7 11 14 -0 1 3 6 7 11 15 -0 1 3 6 7 12 13 -0 1 3 6 7 12 14 -0 1 3 6 7 12 15 -0 1 3 6 7 13 14 -0 1 3 6 7 13 15 -0 1 3 6 7 14 15 -0 1 3 6 8 9 10 -0 1 3 6 8 9 11 -0 1 3 6 8 9 12 -0 1 3 6 8 9 13 -0 1 3 6 8 9 14 -0 1 3 6 8 9 15 -0 1 3 6 8 10 11 -0 1 3 6 8 10 12 -0 1 3 6 8 10 13 -0 1 3 6 8 10 14 -0 1 3 6 8 10 15 -0 1 3 6 8 11 12 -0 1 3 6 8 11 13 -0 1 3 6 8 11 14 -0 1 3 6 8 11 15 -0 1 3 6 8 12 13 -0 1 3 6 8 12 14 -0 1 3 6 8 12 15 -0 1 3 6 8 13 14 -0 1 3 6 8 13 15 -0 1 3 6 8 14 15 -0 1 3 6 9 10 11 -0 1 3 6 9 10 12 -0 1 3 6 9 10 13 -0 1 3 6 9 10 14 -0 1 3 6 9 10 15 -0 1 3 6 9 11 12 -0 1 3 6 9 11 13 -0 1 3 6 9 11 14 -0 1 3 6 9 11 15 -0 1 3 6 9 12 13 -0 1 3 6 9 12 14 -0 1 3 6 9 12 15 -0 1 3 6 9 13 14 -0 1 3 6 9 13 15 -0 1 3 6 9 14 15 -0 1 3 6 10 11 12 -0 1 3 6 10 11 13 -0 1 3 6 10 11 14 -0 1 3 6 10 11 15 -0 1 3 6 10 12 13 -0 1 3 6 10 12 14 -0 1 3 6 10 12 15 -0 1 3 6 10 13 14 -0 1 3 6 10 13 15 -0 1 3 6 10 14 15 -0 1 3 6 11 12 13 -0 1 3 6 11 12 14 -0 1 3 6 11 12 15 -0 1 3 6 11 13 14 -0 1 3 6 11 13 15 -0 1 3 6 11 14 15 -0 1 3 6 12 13 14 -0 1 3 6 12 13 15 -0 1 3 6 12 14 15 -0 1 3 6 13 14 15 -0 1 3 7 8 9 10 -0 1 3 7 8 9 11 -0 1 3 7 8 9 12 -0 1 3 7 8 9 13 -0 1 3 7 8 9 14 -0 1 3 7 8 9 15 -0 1 3 7 8 10 11 -0 1 3 7 8 10 12 -0 1 3 7 8 10 13 -0 1 3 7 8 10 14 -0 1 3 7 8 10 15 -0 1 3 7 8 11 12 -0 1 3 7 8 11 13 -0 1 3 7 8 11 14 -0 1 3 7 8 11 15 -0 1 3 7 8 12 13 -0 1 3 7 8 12 14 -0 1 3 7 8 12 15 -0 1 3 7 8 13 14 -0 1 3 7 8 13 15 -0 1 3 7 8 14 15 -0 1 3 7 9 10 11 -0 1 3 7 9 10 12 -0 1 3 7 9 10 13 -0 1 3 7 9 10 14 -0 1 3 7 9 10 15 -0 1 3 7 9 11 12 -0 1 3 7 9 11 13 -0 1 3 7 9 11 14 -0 1 3 7 9 11 15 -0 1 3 7 9 12 13 -0 1 3 7 9 12 14 -0 1 3 7 9 12 15 -0 1 3 7 9 13 14 -0 1 3 7 9 13 15 -0 1 3 7 9 14 15 -0 1 3 7 10 11 12 -0 1 3 7 10 11 13 -0 1 3 7 10 11 14 -0 1 3 7 10 11 15 -0 1 3 7 10 12 13 -0 1 3 7 10 12 14 -0 1 3 7 10 12 15 -0 1 3 7 10 13 14 -0 1 3 7 10 13 15 -0 1 3 7 10 14 15 -0 1 3 7 11 12 13 -0 1 3 7 11 12 14 -0 1 3 7 11 12 15 -0 1 3 7 11 13 14 -0 1 3 7 11 13 15 -0 1 3 7 11 14 15 -0 1 3 7 12 13 14 -0 1 3 7 12 13 15 -0 1 3 7 12 14 15 -0 1 3 7 13 14 15 -0 1 3 8 9 10 11 -0 1 3 8 9 10 12 -0 1 3 8 9 10 13 -0 1 3 8 9 10 14 -0 1 3 8 9 10 15 -0 1 3 8 9 11 12 -0 1 3 8 9 11 13 -0 1 3 8 9 11 14 -0 1 3 8 9 11 15 -0 1 3 8 9 12 13 -0 1 3 8 9 12 14 -0 1 3 8 9 12 15 -0 1 3 8 9 13 14 -0 1 3 8 9 13 15 -0 1 3 8 9 14 15 -0 1 3 8 10 11 12 -0 1 3 8 10 11 13 -0 1 3 8 10 11 14 -0 1 3 8 10 11 15 -0 1 3 8 10 12 13 -0 1 3 8 10 12 14 -0 1 3 8 10 12 15 -0 1 3 8 10 13 14 -0 1 3 8 10 13 15 -0 1 3 8 10 14 15 -0 1 3 8 11 12 13 -0 1 3 8 11 12 14 -0 1 3 8 11 12 15 -0 1 3 8 11 13 14 -0 1 3 8 11 13 15 -0 1 3 8 11 14 15 -0 1 3 8 12 13 14 -0 1 3 8 12 13 15 -0 1 3 8 12 14 15 -0 1 3 8 13 14 15 -0 1 3 9 10 11 12 -0 1 3 9 10 11 13 -0 1 3 9 10 11 14 -0 1 3 9 10 11 15 -0 1 3 9 10 12 13 -0 1 3 9 10 12 14 -0 1 3 9 10 12 15 -0 1 3 9 10 13 14 -0 1 3 9 10 13 15 -0 1 3 9 10 14 15 -0 1 3 9 11 12 13 -0 1 3 9 11 12 14 -0 1 3 9 11 12 15 -0 1 3 9 11 13 14 -0 1 3 9 11 13 15 -0 1 3 9 11 14 15 -0 1 3 9 12 13 14 -0 1 3 9 12 13 15 -0 1 3 9 12 14 15 -0 1 3 9 13 14 15 -0 1 3 10 11 12 13 -0 1 3 10 11 12 14 -0 1 3 10 11 12 15 -0 1 3 10 11 13 14 -0 1 3 10 11 13 15 -0 1 3 10 11 14 15 -0 1 3 10 12 13 14 -0 1 3 10 12 13 15 -0 1 3 10 12 14 15 -0 1 3 10 13 14 15 -0 1 3 11 12 13 14 -0 1 3 11 12 13 15 -0 1 3 11 12 14 15 -0 1 3 11 13 14 15 -0 1 3 12 13 14 15 -0 1 4 5 6 7 8 -0 1 4 5 6 7 9 -0 1 4 5 6 7 10 -0 1 4 5 6 7 11 -0 1 4 5 6 7 12 -0 1 4 5 6 7 13 -0 1 4 5 6 7 14 -0 1 4 5 6 7 15 -0 1 4 5 6 8 9 -0 1 4 5 6 8 10 -0 1 4 5 6 8 11 -0 1 4 5 6 8 12 -0 1 4 5 6 8 13 -0 1 4 5 6 8 14 -0 1 4 5 6 8 15 -0 1 4 5 6 9 10 -0 1 4 5 6 9 11 -0 1 4 5 6 9 12 -0 1 4 5 6 9 13 -0 1 4 5 6 9 14 -0 1 4 5 6 9 15 -0 1 4 5 6 10 11 -0 1 4 5 6 10 12 -0 1 4 5 6 10 13 -0 1 4 5 6 10 14 -0 1 4 5 6 10 15 -0 1 4 5 6 11 12 -0 1 4 5 6 11 13 -0 1 4 5 6 11 14 -0 1 4 5 6 11 15 -0 1 4 5 6 12 13 -0 1 4 5 6 12 14 -0 1 4 5 6 12 15 -0 1 4 5 6 13 14 -0 1 4 5 6 13 15 -0 1 4 5 6 14 15 -0 1 4 5 7 8 9 -0 1 4 5 7 8 10 -0 1 4 5 7 8 11 -0 1 4 5 7 8 12 -0 1 4 5 7 8 13 -0 1 4 5 7 8 14 -0 1 4 5 7 8 15 -0 1 4 5 7 9 10 -0 1 4 5 7 9 11 -0 1 4 5 7 9 12 -0 1 4 5 7 9 13 -0 1 4 5 7 9 14 -0 1 4 5 7 9 15 -0 1 4 5 7 10 11 -0 1 4 5 7 10 12 -0 1 4 5 7 10 13 -0 1 4 5 7 10 14 -0 1 4 5 7 10 15 -0 1 4 5 7 11 12 -0 1 4 5 7 11 13 -0 1 4 5 7 11 14 -0 1 4 5 7 11 15 -0 1 4 5 7 12 13 -0 1 4 5 7 12 14 -0 1 4 5 7 12 15 -0 1 4 5 7 13 14 -0 1 4 5 7 13 15 -0 1 4 5 7 14 15 -0 1 4 5 8 9 10 -0 1 4 5 8 9 11 -0 1 4 5 8 9 12 -0 1 4 5 8 9 13 -0 1 4 5 8 9 14 -0 1 4 5 8 9 15 -0 1 4 5 8 10 11 -0 1 4 5 8 10 12 -0 1 4 5 8 10 13 -0 1 4 5 8 10 14 -0 1 4 5 8 10 15 -0 1 4 5 8 11 12 -0 1 4 5 8 11 13 -0 1 4 5 8 11 14 -0 1 4 5 8 11 15 -0 1 4 5 8 12 13 -0 1 4 5 8 12 14 -0 1 4 5 8 12 15 -0 1 4 5 8 13 14 -0 1 4 5 8 13 15 -0 1 4 5 8 14 15 -0 1 4 5 9 10 11 -0 1 4 5 9 10 12 -0 1 4 5 9 10 13 -0 1 4 5 9 10 14 -0 1 4 5 9 10 15 -0 1 4 5 9 11 12 -0 1 4 5 9 11 13 -0 1 4 5 9 11 14 -0 1 4 5 9 11 15 -0 1 4 5 9 12 13 -0 1 4 5 9 12 14 -0 1 4 5 9 12 15 -0 1 4 5 9 13 14 -0 1 4 5 9 13 15 -0 1 4 5 9 14 15 -0 1 4 5 10 11 12 -0 1 4 5 10 11 13 -0 1 4 5 10 11 14 -0 1 4 5 10 11 15 -0 1 4 5 10 12 13 -0 1 4 5 10 12 14 -0 1 4 5 10 12 15 -0 1 4 5 10 13 14 -0 1 4 5 10 13 15 -0 1 4 5 10 14 15 -0 1 4 5 11 12 13 -0 1 4 5 11 12 14 -0 1 4 5 11 12 15 -0 1 4 5 11 13 14 -0 1 4 5 11 13 15 -0 1 4 5 11 14 15 -0 1 4 5 12 13 14 -0 1 4 5 12 13 15 -0 1 4 5 12 14 15 -0 1 4 5 13 14 15 -0 1 4 6 7 8 9 -0 1 4 6 7 8 10 -0 1 4 6 7 8 11 -0 1 4 6 7 8 12 -0 1 4 6 7 8 13 -0 1 4 6 7 8 14 -0 1 4 6 7 8 15 -0 1 4 6 7 9 10 -0 1 4 6 7 9 11 -0 1 4 6 7 9 12 -0 1 4 6 7 9 13 -0 1 4 6 7 9 14 -0 1 4 6 7 9 15 -0 1 4 6 7 10 11 -0 1 4 6 7 10 12 -0 1 4 6 7 10 13 -0 1 4 6 7 10 14 -0 1 4 6 7 10 15 -0 1 4 6 7 11 12 -0 1 4 6 7 11 13 -0 1 4 6 7 11 14 -0 1 4 6 7 11 15 -0 1 4 6 7 12 13 -0 1 4 6 7 12 14 -0 1 4 6 7 12 15 -0 1 4 6 7 13 14 -0 1 4 6 7 13 15 -0 1 4 6 7 14 15 -0 1 4 6 8 9 10 -0 1 4 6 8 9 11 -0 1 4 6 8 9 12 -0 1 4 6 8 9 13 -0 1 4 6 8 9 14 -0 1 4 6 8 9 15 -0 1 4 6 8 10 11 -0 1 4 6 8 10 12 -0 1 4 6 8 10 13 -0 1 4 6 8 10 14 -0 1 4 6 8 10 15 -0 1 4 6 8 11 12 -0 1 4 6 8 11 13 -0 1 4 6 8 11 14 -0 1 4 6 8 11 15 -0 1 4 6 8 12 13 -0 1 4 6 8 12 14 -0 1 4 6 8 12 15 -0 1 4 6 8 13 14 -0 1 4 6 8 13 15 -0 1 4 6 8 14 15 -0 1 4 6 9 10 11 -0 1 4 6 9 10 12 -0 1 4 6 9 10 13 -0 1 4 6 9 10 14 -0 1 4 6 9 10 15 -0 1 4 6 9 11 12 -0 1 4 6 9 11 13 -0 1 4 6 9 11 14 -0 1 4 6 9 11 15 -0 1 4 6 9 12 13 -0 1 4 6 9 12 14 -0 1 4 6 9 12 15 -0 1 4 6 9 13 14 -0 1 4 6 9 13 15 -0 1 4 6 9 14 15 -0 1 4 6 10 11 12 -0 1 4 6 10 11 13 -0 1 4 6 10 11 14 -0 1 4 6 10 11 15 -0 1 4 6 10 12 13 -0 1 4 6 10 12 14 -0 1 4 6 10 12 15 -0 1 4 6 10 13 14 -0 1 4 6 10 13 15 -0 1 4 6 10 14 15 -0 1 4 6 11 12 13 -0 1 4 6 11 12 14 -0 1 4 6 11 12 15 -0 1 4 6 11 13 14 -0 1 4 6 11 13 15 -0 1 4 6 11 14 15 -0 1 4 6 12 13 14 -0 1 4 6 12 13 15 -0 1 4 6 12 14 15 -0 1 4 6 13 14 15 -0 1 4 7 8 9 10 -0 1 4 7 8 9 11 -0 1 4 7 8 9 12 -0 1 4 7 8 9 13 -0 1 4 7 8 9 14 -0 1 4 7 8 9 15 -0 1 4 7 8 10 11 -0 1 4 7 8 10 12 -0 1 4 7 8 10 13 -0 1 4 7 8 10 14 -0 1 4 7 8 10 15 -0 1 4 7 8 11 12 -0 1 4 7 8 11 13 -0 1 4 7 8 11 14 -0 1 4 7 8 11 15 -0 1 4 7 8 12 13 -0 1 4 7 8 12 14 -0 1 4 7 8 12 15 -0 1 4 7 8 13 14 -0 1 4 7 8 13 15 -0 1 4 7 8 14 15 -0 1 4 7 9 10 11 -0 1 4 7 9 10 12 -0 1 4 7 9 10 13 -0 1 4 7 9 10 14 -0 1 4 7 9 10 15 -0 1 4 7 9 11 12 -0 1 4 7 9 11 13 -0 1 4 7 9 11 14 -0 1 4 7 9 11 15 -0 1 4 7 9 12 13 -0 1 4 7 9 12 14 -0 1 4 7 9 12 15 -0 1 4 7 9 13 14 -0 1 4 7 9 13 15 -0 1 4 7 9 14 15 -0 1 4 7 10 11 12 -0 1 4 7 10 11 13 -0 1 4 7 10 11 14 -0 1 4 7 10 11 15 -0 1 4 7 10 12 13 -0 1 4 7 10 12 14 -0 1 4 7 10 12 15 -0 1 4 7 10 13 14 -0 1 4 7 10 13 15 -0 1 4 7 10 14 15 -0 1 4 7 11 12 13 -0 1 4 7 11 12 14 -0 1 4 7 11 12 15 -0 1 4 7 11 13 14 -0 1 4 7 11 13 15 -0 1 4 7 11 14 15 -0 1 4 7 12 13 14 -0 1 4 7 12 13 15 -0 1 4 7 12 14 15 -0 1 4 7 13 14 15 -0 1 4 8 9 10 11 -0 1 4 8 9 10 12 -0 1 4 8 9 10 13 -0 1 4 8 9 10 14 -0 1 4 8 9 10 15 -0 1 4 8 9 11 12 -0 1 4 8 9 11 13 -0 1 4 8 9 11 14 -0 1 4 8 9 11 15 -0 1 4 8 9 12 13 -0 1 4 8 9 12 14 -0 1 4 8 9 12 15 -0 1 4 8 9 13 14 -0 1 4 8 9 13 15 -0 1 4 8 9 14 15 -0 1 4 8 10 11 12 -0 1 4 8 10 11 13 -0 1 4 8 10 11 14 -0 1 4 8 10 11 15 -0 1 4 8 10 12 13 -0 1 4 8 10 12 14 -0 1 4 8 10 12 15 -0 1 4 8 10 13 14 -0 1 4 8 10 13 15 -0 1 4 8 10 14 15 -0 1 4 8 11 12 13 -0 1 4 8 11 12 14 -0 1 4 8 11 12 15 -0 1 4 8 11 13 14 -0 1 4 8 11 13 15 -0 1 4 8 11 14 15 -0 1 4 8 12 13 14 -0 1 4 8 12 13 15 -0 1 4 8 12 14 15 -0 1 4 8 13 14 15 -0 1 4 9 10 11 12 -0 1 4 9 10 11 13 -0 1 4 9 10 11 14 -0 1 4 9 10 11 15 -0 1 4 9 10 12 13 -0 1 4 9 10 12 14 -0 1 4 9 10 12 15 -0 1 4 9 10 13 14 -0 1 4 9 10 13 15 -0 1 4 9 10 14 15 -0 1 4 9 11 12 13 -0 1 4 9 11 12 14 -0 1 4 9 11 12 15 -0 1 4 9 11 13 14 -0 1 4 9 11 13 15 -0 1 4 9 11 14 15 -0 1 4 9 12 13 14 -0 1 4 9 12 13 15 -0 1 4 9 12 14 15 -0 1 4 9 13 14 15 -0 1 4 10 11 12 13 -0 1 4 10 11 12 14 -0 1 4 10 11 12 15 -0 1 4 10 11 13 14 -0 1 4 10 11 13 15 -0 1 4 10 11 14 15 -0 1 4 10 12 13 14 -0 1 4 10 12 13 15 -0 1 4 10 12 14 15 -0 1 4 10 13 14 15 -0 1 4 11 12 13 14 -0 1 4 11 12 13 15 -0 1 4 11 12 14 15 -0 1 4 11 13 14 15 -0 1 4 12 13 14 15 -0 1 5 6 7 8 9 -0 1 5 6 7 8 10 -0 1 5 6 7 8 11 -0 1 5 6 7 8 12 -0 1 5 6 7 8 13 -0 1 5 6 7 8 14 -0 1 5 6 7 8 15 -0 1 5 6 7 9 10 -0 1 5 6 7 9 11 -0 1 5 6 7 9 12 -0 1 5 6 7 9 13 -0 1 5 6 7 9 14 -0 1 5 6 7 9 15 -0 1 5 6 7 10 11 -0 1 5 6 7 10 12 -0 1 5 6 7 10 13 -0 1 5 6 7 10 14 -0 1 5 6 7 10 15 -0 1 5 6 7 11 12 -0 1 5 6 7 11 13 -0 1 5 6 7 11 14 -0 1 5 6 7 11 15 -0 1 5 6 7 12 13 -0 1 5 6 7 12 14 -0 1 5 6 7 12 15 -0 1 5 6 7 13 14 -0 1 5 6 7 13 15 -0 1 5 6 7 14 15 -0 1 5 6 8 9 10 -0 1 5 6 8 9 11 -0 1 5 6 8 9 12 -0 1 5 6 8 9 13 -0 1 5 6 8 9 14 -0 1 5 6 8 9 15 -0 1 5 6 8 10 11 -0 1 5 6 8 10 12 -0 1 5 6 8 10 13 -0 1 5 6 8 10 14 -0 1 5 6 8 10 15 -0 1 5 6 8 11 12 -0 1 5 6 8 11 13 -0 1 5 6 8 11 14 -0 1 5 6 8 11 15 -0 1 5 6 8 12 13 -0 1 5 6 8 12 14 -0 1 5 6 8 12 15 -0 1 5 6 8 13 14 -0 1 5 6 8 13 15 -0 1 5 6 8 14 15 -0 1 5 6 9 10 11 -0 1 5 6 9 10 12 -0 1 5 6 9 10 13 -0 1 5 6 9 10 14 -0 1 5 6 9 10 15 -0 1 5 6 9 11 12 -0 1 5 6 9 11 13 -0 1 5 6 9 11 14 -0 1 5 6 9 11 15 -0 1 5 6 9 12 13 -0 1 5 6 9 12 14 -0 1 5 6 9 12 15 -0 1 5 6 9 13 14 -0 1 5 6 9 13 15 -0 1 5 6 9 14 15 -0 1 5 6 10 11 12 -0 1 5 6 10 11 13 -0 1 5 6 10 11 14 -0 1 5 6 10 11 15 -0 1 5 6 10 12 13 -0 1 5 6 10 12 14 -0 1 5 6 10 12 15 -0 1 5 6 10 13 14 -0 1 5 6 10 13 15 -0 1 5 6 10 14 15 -0 1 5 6 11 12 13 -0 1 5 6 11 12 14 -0 1 5 6 11 12 15 -0 1 5 6 11 13 14 -0 1 5 6 11 13 15 -0 1 5 6 11 14 15 -0 1 5 6 12 13 14 -0 1 5 6 12 13 15 -0 1 5 6 12 14 15 -0 1 5 6 13 14 15 -0 1 5 7 8 9 10 -0 1 5 7 8 9 11 -0 1 5 7 8 9 12 -0 1 5 7 8 9 13 -0 1 5 7 8 9 14 -0 1 5 7 8 9 15 -0 1 5 7 8 10 11 -0 1 5 7 8 10 12 -0 1 5 7 8 10 13 -0 1 5 7 8 10 14 -0 1 5 7 8 10 15 -0 1 5 7 8 11 12 -0 1 5 7 8 11 13 -0 1 5 7 8 11 14 -0 1 5 7 8 11 15 -0 1 5 7 8 12 13 -0 1 5 7 8 12 14 -0 1 5 7 8 12 15 -0 1 5 7 8 13 14 -0 1 5 7 8 13 15 -0 1 5 7 8 14 15 -0 1 5 7 9 10 11 -0 1 5 7 9 10 12 -0 1 5 7 9 10 13 -0 1 5 7 9 10 14 -0 1 5 7 9 10 15 -0 1 5 7 9 11 12 -0 1 5 7 9 11 13 -0 1 5 7 9 11 14 -0 1 5 7 9 11 15 -0 1 5 7 9 12 13 -0 1 5 7 9 12 14 -0 1 5 7 9 12 15 -0 1 5 7 9 13 14 -0 1 5 7 9 13 15 -0 1 5 7 9 14 15 -0 1 5 7 10 11 12 -0 1 5 7 10 11 13 -0 1 5 7 10 11 14 -0 1 5 7 10 11 15 -0 1 5 7 10 12 13 -0 1 5 7 10 12 14 -0 1 5 7 10 12 15 -0 1 5 7 10 13 14 -0 1 5 7 10 13 15 -0 1 5 7 10 14 15 -0 1 5 7 11 12 13 -0 1 5 7 11 12 14 -0 1 5 7 11 12 15 -0 1 5 7 11 13 14 -0 1 5 7 11 13 15 -0 1 5 7 11 14 15 -0 1 5 7 12 13 14 -0 1 5 7 12 13 15 -0 1 5 7 12 14 15 -0 1 5 7 13 14 15 -0 1 5 8 9 10 11 -0 1 5 8 9 10 12 -0 1 5 8 9 10 13 -0 1 5 8 9 10 14 -0 1 5 8 9 10 15 -0 1 5 8 9 11 12 -0 1 5 8 9 11 13 -0 1 5 8 9 11 14 -0 1 5 8 9 11 15 -0 1 5 8 9 12 13 -0 1 5 8 9 12 14 -0 1 5 8 9 12 15 -0 1 5 8 9 13 14 -0 1 5 8 9 13 15 -0 1 5 8 9 14 15 -0 1 5 8 10 11 12 -0 1 5 8 10 11 13 -0 1 5 8 10 11 14 -0 1 5 8 10 11 15 -0 1 5 8 10 12 13 -0 1 5 8 10 12 14 -0 1 5 8 10 12 15 -0 1 5 8 10 13 14 -0 1 5 8 10 13 15 -0 1 5 8 10 14 15 -0 1 5 8 11 12 13 -0 1 5 8 11 12 14 -0 1 5 8 11 12 15 -0 1 5 8 11 13 14 -0 1 5 8 11 13 15 -0 1 5 8 11 14 15 -0 1 5 8 12 13 14 -0 1 5 8 12 13 15 -0 1 5 8 12 14 15 -0 1 5 8 13 14 15 -0 1 5 9 10 11 12 -0 1 5 9 10 11 13 -0 1 5 9 10 11 14 -0 1 5 9 10 11 15 -0 1 5 9 10 12 13 -0 1 5 9 10 12 14 -0 1 5 9 10 12 15 -0 1 5 9 10 13 14 -0 1 5 9 10 13 15 -0 1 5 9 10 14 15 -0 1 5 9 11 12 13 -0 1 5 9 11 12 14 -0 1 5 9 11 12 15 -0 1 5 9 11 13 14 -0 1 5 9 11 13 15 -0 1 5 9 11 14 15 -0 1 5 9 12 13 14 -0 1 5 9 12 13 15 -0 1 5 9 12 14 15 -0 1 5 9 13 14 15 -0 1 5 10 11 12 13 -0 1 5 10 11 12 14 -0 1 5 10 11 12 15 -0 1 5 10 11 13 14 -0 1 5 10 11 13 15 -0 1 5 10 11 14 15 -0 1 5 10 12 13 14 -0 1 5 10 12 13 15 -0 1 5 10 12 14 15 -0 1 5 10 13 14 15 -0 1 5 11 12 13 14 -0 1 5 11 12 13 15 -0 1 5 11 12 14 15 -0 1 5 11 13 14 15 -0 1 5 12 13 14 15 -0 1 6 7 8 9 10 -0 1 6 7 8 9 11 -0 1 6 7 8 9 12 -0 1 6 7 8 9 13 -0 1 6 7 8 9 14 -0 1 6 7 8 9 15 -0 1 6 7 8 10 11 -0 1 6 7 8 10 12 -0 1 6 7 8 10 13 -0 1 6 7 8 10 14 -0 1 6 7 8 10 15 -0 1 6 7 8 11 12 -0 1 6 7 8 11 13 -0 1 6 7 8 11 14 -0 1 6 7 8 11 15 -0 1 6 7 8 12 13 -0 1 6 7 8 12 14 -0 1 6 7 8 12 15 -0 1 6 7 8 13 14 -0 1 6 7 8 13 15 -0 1 6 7 8 14 15 -0 1 6 7 9 10 11 -0 1 6 7 9 10 12 -0 1 6 7 9 10 13 -0 1 6 7 9 10 14 -0 1 6 7 9 10 15 -0 1 6 7 9 11 12 -0 1 6 7 9 11 13 -0 1 6 7 9 11 14 -0 1 6 7 9 11 15 -0 1 6 7 9 12 13 -0 1 6 7 9 12 14 -0 1 6 7 9 12 15 -0 1 6 7 9 13 14 -0 1 6 7 9 13 15 -0 1 6 7 9 14 15 -0 1 6 7 10 11 12 -0 1 6 7 10 11 13 -0 1 6 7 10 11 14 -0 1 6 7 10 11 15 -0 1 6 7 10 12 13 -0 1 6 7 10 12 14 -0 1 6 7 10 12 15 -0 1 6 7 10 13 14 -0 1 6 7 10 13 15 -0 1 6 7 10 14 15 -0 1 6 7 11 12 13 -0 1 6 7 11 12 14 -0 1 6 7 11 12 15 -0 1 6 7 11 13 14 -0 1 6 7 11 13 15 -0 1 6 7 11 14 15 -0 1 6 7 12 13 14 -0 1 6 7 12 13 15 -0 1 6 7 12 14 15 -0 1 6 7 13 14 15 -0 1 6 8 9 10 11 -0 1 6 8 9 10 12 -0 1 6 8 9 10 13 -0 1 6 8 9 10 14 -0 1 6 8 9 10 15 -0 1 6 8 9 11 12 -0 1 6 8 9 11 13 -0 1 6 8 9 11 14 -0 1 6 8 9 11 15 -0 1 6 8 9 12 13 -0 1 6 8 9 12 14 -0 1 6 8 9 12 15 -0 1 6 8 9 13 14 -0 1 6 8 9 13 15 -0 1 6 8 9 14 15 -0 1 6 8 10 11 12 -0 1 6 8 10 11 13 -0 1 6 8 10 11 14 -0 1 6 8 10 11 15 -0 1 6 8 10 12 13 -0 1 6 8 10 12 14 -0 1 6 8 10 12 15 -0 1 6 8 10 13 14 -0 1 6 8 10 13 15 -0 1 6 8 10 14 15 -0 1 6 8 11 12 13 -0 1 6 8 11 12 14 -0 1 6 8 11 12 15 -0 1 6 8 11 13 14 -0 1 6 8 11 13 15 -0 1 6 8 11 14 15 -0 1 6 8 12 13 14 -0 1 6 8 12 13 15 -0 1 6 8 12 14 15 -0 1 6 8 13 14 15 -0 1 6 9 10 11 12 -0 1 6 9 10 11 13 -0 1 6 9 10 11 14 -0 1 6 9 10 11 15 -0 1 6 9 10 12 13 -0 1 6 9 10 12 14 -0 1 6 9 10 12 15 -0 1 6 9 10 13 14 -0 1 6 9 10 13 15 -0 1 6 9 10 14 15 -0 1 6 9 11 12 13 -0 1 6 9 11 12 14 -0 1 6 9 11 12 15 -0 1 6 9 11 13 14 -0 1 6 9 11 13 15 -0 1 6 9 11 14 15 -0 1 6 9 12 13 14 -0 1 6 9 12 13 15 -0 1 6 9 12 14 15 -0 1 6 9 13 14 15 -0 1 6 10 11 12 13 -0 1 6 10 11 12 14 -0 1 6 10 11 12 15 -0 1 6 10 11 13 14 -0 1 6 10 11 13 15 -0 1 6 10 11 14 15 -0 1 6 10 12 13 14 -0 1 6 10 12 13 15 -0 1 6 10 12 14 15 -0 1 6 10 13 14 15 -0 1 6 11 12 13 14 -0 1 6 11 12 13 15 -0 1 6 11 12 14 15 -0 1 6 11 13 14 15 -0 1 6 12 13 14 15 -0 1 7 8 9 10 11 -0 1 7 8 9 10 12 -0 1 7 8 9 10 13 -0 1 7 8 9 10 14 -0 1 7 8 9 10 15 -0 1 7 8 9 11 12 -0 1 7 8 9 11 13 -0 1 7 8 9 11 14 -0 1 7 8 9 11 15 -0 1 7 8 9 12 13 -0 1 7 8 9 12 14 -0 1 7 8 9 12 15 -0 1 7 8 9 13 14 -0 1 7 8 9 13 15 -0 1 7 8 9 14 15 -0 1 7 8 10 11 12 -0 1 7 8 10 11 13 -0 1 7 8 10 11 14 -0 1 7 8 10 11 15 -0 1 7 8 10 12 13 -0 1 7 8 10 12 14 -0 1 7 8 10 12 15 -0 1 7 8 10 13 14 -0 1 7 8 10 13 15 -0 1 7 8 10 14 15 -0 1 7 8 11 12 13 -0 1 7 8 11 12 14 -0 1 7 8 11 12 15 -0 1 7 8 11 13 14 -0 1 7 8 11 13 15 -0 1 7 8 11 14 15 -0 1 7 8 12 13 14 -0 1 7 8 12 13 15 -0 1 7 8 12 14 15 -0 1 7 8 13 14 15 -0 1 7 9 10 11 12 -0 1 7 9 10 11 13 -0 1 7 9 10 11 14 -0 1 7 9 10 11 15 -0 1 7 9 10 12 13 -0 1 7 9 10 12 14 -0 1 7 9 10 12 15 -0 1 7 9 10 13 14 -0 1 7 9 10 13 15 -0 1 7 9 10 14 15 -0 1 7 9 11 12 13 -0 1 7 9 11 12 14 -0 1 7 9 11 12 15 -0 1 7 9 11 13 14 -0 1 7 9 11 13 15 -0 1 7 9 11 14 15 -0 1 7 9 12 13 14 -0 1 7 9 12 13 15 -0 1 7 9 12 14 15 -0 1 7 9 13 14 15 -0 1 7 10 11 12 13 -0 1 7 10 11 12 14 -0 1 7 10 11 12 15 -0 1 7 10 11 13 14 -0 1 7 10 11 13 15 -0 1 7 10 11 14 15 -0 1 7 10 12 13 14 -0 1 7 10 12 13 15 -0 1 7 10 12 14 15 -0 1 7 10 13 14 15 -0 1 7 11 12 13 14 -0 1 7 11 12 13 15 -0 1 7 11 12 14 15 -0 1 7 11 13 14 15 -0 1 7 12 13 14 15 -0 1 8 9 10 11 12 -0 1 8 9 10 11 13 -0 1 8 9 10 11 14 -0 1 8 9 10 11 15 -0 1 8 9 10 12 13 -0 1 8 9 10 12 14 -0 1 8 9 10 12 15 -0 1 8 9 10 13 14 -0 1 8 9 10 13 15 -0 1 8 9 10 14 15 -0 1 8 9 11 12 13 -0 1 8 9 11 12 14 -0 1 8 9 11 12 15 -0 1 8 9 11 13 14 -0 1 8 9 11 13 15 -0 1 8 9 11 14 15 -0 1 8 9 12 13 14 -0 1 8 9 12 13 15 -0 1 8 9 12 14 15 -0 1 8 9 13 14 15 -0 1 8 10 11 12 13 -0 1 8 10 11 12 14 -0 1 8 10 11 12 15 -0 1 8 10 11 13 14 -0 1 8 10 11 13 15 -0 1 8 10 11 14 15 -0 1 8 10 12 13 14 -0 1 8 10 12 13 15 -0 1 8 10 12 14 15 -0 1 8 10 13 14 15 -0 1 8 11 12 13 14 -0 1 8 11 12 13 15 -0 1 8 11 12 14 15 -0 1 8 11 13 14 15 -0 1 8 12 13 14 15 -0 1 9 10 11 12 13 -0 1 9 10 11 12 14 -0 1 9 10 11 12 15 -0 1 9 10 11 13 14 -0 1 9 10 11 13 15 -0 1 9 10 11 14 15 -0 1 9 10 12 13 14 -0 1 9 10 12 13 15 -0 1 9 10 12 14 15 -0 1 9 10 13 14 15 -0 1 9 11 12 13 14 -0 1 9 11 12 13 15 -0 1 9 11 12 14 15 -0 1 9 11 13 14 15 -0 1 9 12 13 14 15 -0 1 10 11 12 13 14 -0 1 10 11 12 13 15 -0 1 10 11 12 14 15 -0 1 10 11 13 14 15 -0 1 10 12 13 14 15 -0 1 11 12 13 14 15 -0 2 3 4 5 6 7 -0 2 3 4 5 6 8 -0 2 3 4 5 6 9 -0 2 3 4 5 6 10 -0 2 3 4 5 6 11 -0 2 3 4 5 6 12 -0 2 3 4 5 6 13 -0 2 3 4 5 6 14 -0 2 3 4 5 6 15 -0 2 3 4 5 7 8 -0 2 3 4 5 7 9 -0 2 3 4 5 7 10 -0 2 3 4 5 7 11 -0 2 3 4 5 7 12 -0 2 3 4 5 7 13 -0 2 3 4 5 7 14 -0 2 3 4 5 7 15 -0 2 3 4 5 8 9 -0 2 3 4 5 8 10 -0 2 3 4 5 8 11 -0 2 3 4 5 8 12 -0 2 3 4 5 8 13 -0 2 3 4 5 8 14 -0 2 3 4 5 8 15 -0 2 3 4 5 9 10 -0 2 3 4 5 9 11 -0 2 3 4 5 9 12 -0 2 3 4 5 9 13 -0 2 3 4 5 9 14 -0 2 3 4 5 9 15 -0 2 3 4 5 10 11 -0 2 3 4 5 10 12 -0 2 3 4 5 10 13 -0 2 3 4 5 10 14 -0 2 3 4 5 10 15 -0 2 3 4 5 11 12 -0 2 3 4 5 11 13 -0 2 3 4 5 11 14 -0 2 3 4 5 11 15 -0 2 3 4 5 12 13 -0 2 3 4 5 12 14 -0 2 3 4 5 12 15 -0 2 3 4 5 13 14 -0 2 3 4 5 13 15 -0 2 3 4 5 14 15 -0 2 3 4 6 7 8 -0 2 3 4 6 7 9 -0 2 3 4 6 7 10 -0 2 3 4 6 7 11 -0 2 3 4 6 7 12 -0 2 3 4 6 7 13 -0 2 3 4 6 7 14 -0 2 3 4 6 7 15 -0 2 3 4 6 8 9 -0 2 3 4 6 8 10 -0 2 3 4 6 8 11 -0 2 3 4 6 8 12 -0 2 3 4 6 8 13 -0 2 3 4 6 8 14 -0 2 3 4 6 8 15 -0 2 3 4 6 9 10 -0 2 3 4 6 9 11 -0 2 3 4 6 9 12 -0 2 3 4 6 9 13 -0 2 3 4 6 9 14 -0 2 3 4 6 9 15 -0 2 3 4 6 10 11 -0 2 3 4 6 10 12 -0 2 3 4 6 10 13 -0 2 3 4 6 10 14 -0 2 3 4 6 10 15 -0 2 3 4 6 11 12 -0 2 3 4 6 11 13 -0 2 3 4 6 11 14 -0 2 3 4 6 11 15 -0 2 3 4 6 12 13 -0 2 3 4 6 12 14 -0 2 3 4 6 12 15 -0 2 3 4 6 13 14 -0 2 3 4 6 13 15 -0 2 3 4 6 14 15 -0 2 3 4 7 8 9 -0 2 3 4 7 8 10 -0 2 3 4 7 8 11 -0 2 3 4 7 8 12 -0 2 3 4 7 8 13 -0 2 3 4 7 8 14 -0 2 3 4 7 8 15 -0 2 3 4 7 9 10 -0 2 3 4 7 9 11 -0 2 3 4 7 9 12 -0 2 3 4 7 9 13 -0 2 3 4 7 9 14 -0 2 3 4 7 9 15 -0 2 3 4 7 10 11 -0 2 3 4 7 10 12 -0 2 3 4 7 10 13 -0 2 3 4 7 10 14 -0 2 3 4 7 10 15 -0 2 3 4 7 11 12 -0 2 3 4 7 11 13 -0 2 3 4 7 11 14 -0 2 3 4 7 11 15 -0 2 3 4 7 12 13 -0 2 3 4 7 12 14 -0 2 3 4 7 12 15 -0 2 3 4 7 13 14 -0 2 3 4 7 13 15 -0 2 3 4 7 14 15 -0 2 3 4 8 9 10 -0 2 3 4 8 9 11 -0 2 3 4 8 9 12 -0 2 3 4 8 9 13 -0 2 3 4 8 9 14 -0 2 3 4 8 9 15 -0 2 3 4 8 10 11 -0 2 3 4 8 10 12 -0 2 3 4 8 10 13 -0 2 3 4 8 10 14 -0 2 3 4 8 10 15 -0 2 3 4 8 11 12 -0 2 3 4 8 11 13 -0 2 3 4 8 11 14 -0 2 3 4 8 11 15 -0 2 3 4 8 12 13 -0 2 3 4 8 12 14 -0 2 3 4 8 12 15 -0 2 3 4 8 13 14 -0 2 3 4 8 13 15 -0 2 3 4 8 14 15 -0 2 3 4 9 10 11 -0 2 3 4 9 10 12 -0 2 3 4 9 10 13 -0 2 3 4 9 10 14 -0 2 3 4 9 10 15 -0 2 3 4 9 11 12 -0 2 3 4 9 11 13 -0 2 3 4 9 11 14 -0 2 3 4 9 11 15 -0 2 3 4 9 12 13 -0 2 3 4 9 12 14 -0 2 3 4 9 12 15 -0 2 3 4 9 13 14 -0 2 3 4 9 13 15 -0 2 3 4 9 14 15 -0 2 3 4 10 11 12 -0 2 3 4 10 11 13 -0 2 3 4 10 11 14 -0 2 3 4 10 11 15 -0 2 3 4 10 12 13 -0 2 3 4 10 12 14 -0 2 3 4 10 12 15 -0 2 3 4 10 13 14 -0 2 3 4 10 13 15 -0 2 3 4 10 14 15 -0 2 3 4 11 12 13 -0 2 3 4 11 12 14 -0 2 3 4 11 12 15 -0 2 3 4 11 13 14 -0 2 3 4 11 13 15 -0 2 3 4 11 14 15 -0 2 3 4 12 13 14 -0 2 3 4 12 13 15 -0 2 3 4 12 14 15 -0 2 3 4 13 14 15 -0 2 3 5 6 7 8 -0 2 3 5 6 7 9 -0 2 3 5 6 7 10 -0 2 3 5 6 7 11 -0 2 3 5 6 7 12 -0 2 3 5 6 7 13 -0 2 3 5 6 7 14 -0 2 3 5 6 7 15 -0 2 3 5 6 8 9 -0 2 3 5 6 8 10 -0 2 3 5 6 8 11 -0 2 3 5 6 8 12 -0 2 3 5 6 8 13 -0 2 3 5 6 8 14 -0 2 3 5 6 8 15 -0 2 3 5 6 9 10 -0 2 3 5 6 9 11 -0 2 3 5 6 9 12 -0 2 3 5 6 9 13 -0 2 3 5 6 9 14 -0 2 3 5 6 9 15 -0 2 3 5 6 10 11 -0 2 3 5 6 10 12 -0 2 3 5 6 10 13 -0 2 3 5 6 10 14 -0 2 3 5 6 10 15 -0 2 3 5 6 11 12 -0 2 3 5 6 11 13 -0 2 3 5 6 11 14 -0 2 3 5 6 11 15 -0 2 3 5 6 12 13 -0 2 3 5 6 12 14 -0 2 3 5 6 12 15 -0 2 3 5 6 13 14 -0 2 3 5 6 13 15 -0 2 3 5 6 14 15 -0 2 3 5 7 8 9 -0 2 3 5 7 8 10 -0 2 3 5 7 8 11 -0 2 3 5 7 8 12 -0 2 3 5 7 8 13 -0 2 3 5 7 8 14 -0 2 3 5 7 8 15 -0 2 3 5 7 9 10 -0 2 3 5 7 9 11 -0 2 3 5 7 9 12 -0 2 3 5 7 9 13 -0 2 3 5 7 9 14 -0 2 3 5 7 9 15 -0 2 3 5 7 10 11 -0 2 3 5 7 10 12 -0 2 3 5 7 10 13 -0 2 3 5 7 10 14 -0 2 3 5 7 10 15 -0 2 3 5 7 11 12 -0 2 3 5 7 11 13 -0 2 3 5 7 11 14 -0 2 3 5 7 11 15 -0 2 3 5 7 12 13 -0 2 3 5 7 12 14 -0 2 3 5 7 12 15 -0 2 3 5 7 13 14 -0 2 3 5 7 13 15 -0 2 3 5 7 14 15 -0 2 3 5 8 9 10 -0 2 3 5 8 9 11 -0 2 3 5 8 9 12 -0 2 3 5 8 9 13 -0 2 3 5 8 9 14 -0 2 3 5 8 9 15 -0 2 3 5 8 10 11 -0 2 3 5 8 10 12 -0 2 3 5 8 10 13 -0 2 3 5 8 10 14 -0 2 3 5 8 10 15 -0 2 3 5 8 11 12 -0 2 3 5 8 11 13 -0 2 3 5 8 11 14 -0 2 3 5 8 11 15 -0 2 3 5 8 12 13 -0 2 3 5 8 12 14 -0 2 3 5 8 12 15 -0 2 3 5 8 13 14 -0 2 3 5 8 13 15 -0 2 3 5 8 14 15 -0 2 3 5 9 10 11 -0 2 3 5 9 10 12 -0 2 3 5 9 10 13 -0 2 3 5 9 10 14 -0 2 3 5 9 10 15 -0 2 3 5 9 11 12 -0 2 3 5 9 11 13 -0 2 3 5 9 11 14 -0 2 3 5 9 11 15 -0 2 3 5 9 12 13 -0 2 3 5 9 12 14 -0 2 3 5 9 12 15 -0 2 3 5 9 13 14 -0 2 3 5 9 13 15 -0 2 3 5 9 14 15 -0 2 3 5 10 11 12 -0 2 3 5 10 11 13 -0 2 3 5 10 11 14 -0 2 3 5 10 11 15 -0 2 3 5 10 12 13 -0 2 3 5 10 12 14 -0 2 3 5 10 12 15 -0 2 3 5 10 13 14 -0 2 3 5 10 13 15 -0 2 3 5 10 14 15 -0 2 3 5 11 12 13 -0 2 3 5 11 12 14 -0 2 3 5 11 12 15 -0 2 3 5 11 13 14 -0 2 3 5 11 13 15 -0 2 3 5 11 14 15 -0 2 3 5 12 13 14 -0 2 3 5 12 13 15 -0 2 3 5 12 14 15 -0 2 3 5 13 14 15 -0 2 3 6 7 8 9 -0 2 3 6 7 8 10 -0 2 3 6 7 8 11 -0 2 3 6 7 8 12 -0 2 3 6 7 8 13 -0 2 3 6 7 8 14 -0 2 3 6 7 8 15 -0 2 3 6 7 9 10 -0 2 3 6 7 9 11 -0 2 3 6 7 9 12 -0 2 3 6 7 9 13 -0 2 3 6 7 9 14 -0 2 3 6 7 9 15 -0 2 3 6 7 10 11 -0 2 3 6 7 10 12 -0 2 3 6 7 10 13 -0 2 3 6 7 10 14 -0 2 3 6 7 10 15 -0 2 3 6 7 11 12 -0 2 3 6 7 11 13 -0 2 3 6 7 11 14 -0 2 3 6 7 11 15 -0 2 3 6 7 12 13 -0 2 3 6 7 12 14 -0 2 3 6 7 12 15 -0 2 3 6 7 13 14 -0 2 3 6 7 13 15 -0 2 3 6 7 14 15 -0 2 3 6 8 9 10 -0 2 3 6 8 9 11 -0 2 3 6 8 9 12 -0 2 3 6 8 9 13 -0 2 3 6 8 9 14 -0 2 3 6 8 9 15 -0 2 3 6 8 10 11 -0 2 3 6 8 10 12 -0 2 3 6 8 10 13 -0 2 3 6 8 10 14 -0 2 3 6 8 10 15 -0 2 3 6 8 11 12 -0 2 3 6 8 11 13 -0 2 3 6 8 11 14 -0 2 3 6 8 11 15 -0 2 3 6 8 12 13 -0 2 3 6 8 12 14 -0 2 3 6 8 12 15 -0 2 3 6 8 13 14 -0 2 3 6 8 13 15 -0 2 3 6 8 14 15 -0 2 3 6 9 10 11 -0 2 3 6 9 10 12 -0 2 3 6 9 10 13 -0 2 3 6 9 10 14 -0 2 3 6 9 10 15 -0 2 3 6 9 11 12 -0 2 3 6 9 11 13 -0 2 3 6 9 11 14 -0 2 3 6 9 11 15 -0 2 3 6 9 12 13 -0 2 3 6 9 12 14 -0 2 3 6 9 12 15 -0 2 3 6 9 13 14 -0 2 3 6 9 13 15 -0 2 3 6 9 14 15 -0 2 3 6 10 11 12 -0 2 3 6 10 11 13 -0 2 3 6 10 11 14 -0 2 3 6 10 11 15 -0 2 3 6 10 12 13 -0 2 3 6 10 12 14 -0 2 3 6 10 12 15 -0 2 3 6 10 13 14 -0 2 3 6 10 13 15 -0 2 3 6 10 14 15 -0 2 3 6 11 12 13 -0 2 3 6 11 12 14 -0 2 3 6 11 12 15 -0 2 3 6 11 13 14 -0 2 3 6 11 13 15 -0 2 3 6 11 14 15 -0 2 3 6 12 13 14 -0 2 3 6 12 13 15 -0 2 3 6 12 14 15 -0 2 3 6 13 14 15 -0 2 3 7 8 9 10 -0 2 3 7 8 9 11 -0 2 3 7 8 9 12 -0 2 3 7 8 9 13 -0 2 3 7 8 9 14 -0 2 3 7 8 9 15 -0 2 3 7 8 10 11 -0 2 3 7 8 10 12 -0 2 3 7 8 10 13 -0 2 3 7 8 10 14 -0 2 3 7 8 10 15 -0 2 3 7 8 11 12 -0 2 3 7 8 11 13 -0 2 3 7 8 11 14 -0 2 3 7 8 11 15 -0 2 3 7 8 12 13 -0 2 3 7 8 12 14 -0 2 3 7 8 12 15 -0 2 3 7 8 13 14 -0 2 3 7 8 13 15 -0 2 3 7 8 14 15 -0 2 3 7 9 10 11 -0 2 3 7 9 10 12 -0 2 3 7 9 10 13 -0 2 3 7 9 10 14 -0 2 3 7 9 10 15 -0 2 3 7 9 11 12 -0 2 3 7 9 11 13 -0 2 3 7 9 11 14 -0 2 3 7 9 11 15 -0 2 3 7 9 12 13 -0 2 3 7 9 12 14 -0 2 3 7 9 12 15 -0 2 3 7 9 13 14 -0 2 3 7 9 13 15 -0 2 3 7 9 14 15 -0 2 3 7 10 11 12 -0 2 3 7 10 11 13 -0 2 3 7 10 11 14 -0 2 3 7 10 11 15 -0 2 3 7 10 12 13 -0 2 3 7 10 12 14 -0 2 3 7 10 12 15 -0 2 3 7 10 13 14 -0 2 3 7 10 13 15 -0 2 3 7 10 14 15 -0 2 3 7 11 12 13 -0 2 3 7 11 12 14 -0 2 3 7 11 12 15 -0 2 3 7 11 13 14 -0 2 3 7 11 13 15 -0 2 3 7 11 14 15 -0 2 3 7 12 13 14 -0 2 3 7 12 13 15 -0 2 3 7 12 14 15 -0 2 3 7 13 14 15 -0 2 3 8 9 10 11 -0 2 3 8 9 10 12 -0 2 3 8 9 10 13 -0 2 3 8 9 10 14 -0 2 3 8 9 10 15 -0 2 3 8 9 11 12 -0 2 3 8 9 11 13 -0 2 3 8 9 11 14 -0 2 3 8 9 11 15 -0 2 3 8 9 12 13 -0 2 3 8 9 12 14 -0 2 3 8 9 12 15 -0 2 3 8 9 13 14 -0 2 3 8 9 13 15 -0 2 3 8 9 14 15 -0 2 3 8 10 11 12 -0 2 3 8 10 11 13 -0 2 3 8 10 11 14 -0 2 3 8 10 11 15 -0 2 3 8 10 12 13 -0 2 3 8 10 12 14 -0 2 3 8 10 12 15 -0 2 3 8 10 13 14 -0 2 3 8 10 13 15 -0 2 3 8 10 14 15 -0 2 3 8 11 12 13 -0 2 3 8 11 12 14 -0 2 3 8 11 12 15 -0 2 3 8 11 13 14 -0 2 3 8 11 13 15 -0 2 3 8 11 14 15 -0 2 3 8 12 13 14 -0 2 3 8 12 13 15 -0 2 3 8 12 14 15 -0 2 3 8 13 14 15 -0 2 3 9 10 11 12 -0 2 3 9 10 11 13 -0 2 3 9 10 11 14 -0 2 3 9 10 11 15 -0 2 3 9 10 12 13 -0 2 3 9 10 12 14 -0 2 3 9 10 12 15 -0 2 3 9 10 13 14 -0 2 3 9 10 13 15 -0 2 3 9 10 14 15 -0 2 3 9 11 12 13 -0 2 3 9 11 12 14 -0 2 3 9 11 12 15 -0 2 3 9 11 13 14 -0 2 3 9 11 13 15 -0 2 3 9 11 14 15 -0 2 3 9 12 13 14 -0 2 3 9 12 13 15 -0 2 3 9 12 14 15 -0 2 3 9 13 14 15 -0 2 3 10 11 12 13 -0 2 3 10 11 12 14 -0 2 3 10 11 12 15 -0 2 3 10 11 13 14 -0 2 3 10 11 13 15 -0 2 3 10 11 14 15 -0 2 3 10 12 13 14 -0 2 3 10 12 13 15 -0 2 3 10 12 14 15 -0 2 3 10 13 14 15 -0 2 3 11 12 13 14 -0 2 3 11 12 13 15 -0 2 3 11 12 14 15 -0 2 3 11 13 14 15 -0 2 3 12 13 14 15 -0 2 4 5 6 7 8 -0 2 4 5 6 7 9 -0 2 4 5 6 7 10 -0 2 4 5 6 7 11 -0 2 4 5 6 7 12 -0 2 4 5 6 7 13 -0 2 4 5 6 7 14 -0 2 4 5 6 7 15 -0 2 4 5 6 8 9 -0 2 4 5 6 8 10 -0 2 4 5 6 8 11 -0 2 4 5 6 8 12 -0 2 4 5 6 8 13 -0 2 4 5 6 8 14 -0 2 4 5 6 8 15 -0 2 4 5 6 9 10 -0 2 4 5 6 9 11 -0 2 4 5 6 9 12 -0 2 4 5 6 9 13 -0 2 4 5 6 9 14 -0 2 4 5 6 9 15 -0 2 4 5 6 10 11 -0 2 4 5 6 10 12 -0 2 4 5 6 10 13 -0 2 4 5 6 10 14 -0 2 4 5 6 10 15 -0 2 4 5 6 11 12 -0 2 4 5 6 11 13 -0 2 4 5 6 11 14 -0 2 4 5 6 11 15 -0 2 4 5 6 12 13 -0 2 4 5 6 12 14 -0 2 4 5 6 12 15 -0 2 4 5 6 13 14 -0 2 4 5 6 13 15 -0 2 4 5 6 14 15 -0 2 4 5 7 8 9 -0 2 4 5 7 8 10 -0 2 4 5 7 8 11 -0 2 4 5 7 8 12 -0 2 4 5 7 8 13 -0 2 4 5 7 8 14 -0 2 4 5 7 8 15 -0 2 4 5 7 9 10 -0 2 4 5 7 9 11 -0 2 4 5 7 9 12 -0 2 4 5 7 9 13 -0 2 4 5 7 9 14 -0 2 4 5 7 9 15 -0 2 4 5 7 10 11 -0 2 4 5 7 10 12 -0 2 4 5 7 10 13 -0 2 4 5 7 10 14 -0 2 4 5 7 10 15 -0 2 4 5 7 11 12 -0 2 4 5 7 11 13 -0 2 4 5 7 11 14 -0 2 4 5 7 11 15 -0 2 4 5 7 12 13 -0 2 4 5 7 12 14 -0 2 4 5 7 12 15 -0 2 4 5 7 13 14 -0 2 4 5 7 13 15 -0 2 4 5 7 14 15 -0 2 4 5 8 9 10 -0 2 4 5 8 9 11 -0 2 4 5 8 9 12 -0 2 4 5 8 9 13 -0 2 4 5 8 9 14 -0 2 4 5 8 9 15 -0 2 4 5 8 10 11 -0 2 4 5 8 10 12 -0 2 4 5 8 10 13 -0 2 4 5 8 10 14 -0 2 4 5 8 10 15 -0 2 4 5 8 11 12 -0 2 4 5 8 11 13 -0 2 4 5 8 11 14 -0 2 4 5 8 11 15 -0 2 4 5 8 12 13 -0 2 4 5 8 12 14 -0 2 4 5 8 12 15 -0 2 4 5 8 13 14 -0 2 4 5 8 13 15 -0 2 4 5 8 14 15 -0 2 4 5 9 10 11 -0 2 4 5 9 10 12 -0 2 4 5 9 10 13 -0 2 4 5 9 10 14 -0 2 4 5 9 10 15 -0 2 4 5 9 11 12 -0 2 4 5 9 11 13 -0 2 4 5 9 11 14 -0 2 4 5 9 11 15 -0 2 4 5 9 12 13 -0 2 4 5 9 12 14 -0 2 4 5 9 12 15 -0 2 4 5 9 13 14 -0 2 4 5 9 13 15 -0 2 4 5 9 14 15 -0 2 4 5 10 11 12 -0 2 4 5 10 11 13 -0 2 4 5 10 11 14 -0 2 4 5 10 11 15 -0 2 4 5 10 12 13 -0 2 4 5 10 12 14 -0 2 4 5 10 12 15 -0 2 4 5 10 13 14 -0 2 4 5 10 13 15 -0 2 4 5 10 14 15 -0 2 4 5 11 12 13 -0 2 4 5 11 12 14 -0 2 4 5 11 12 15 -0 2 4 5 11 13 14 -0 2 4 5 11 13 15 -0 2 4 5 11 14 15 -0 2 4 5 12 13 14 -0 2 4 5 12 13 15 -0 2 4 5 12 14 15 -0 2 4 5 13 14 15 -0 2 4 6 7 8 9 -0 2 4 6 7 8 10 -0 2 4 6 7 8 11 -0 2 4 6 7 8 12 -0 2 4 6 7 8 13 -0 2 4 6 7 8 14 -0 2 4 6 7 8 15 -0 2 4 6 7 9 10 -0 2 4 6 7 9 11 -0 2 4 6 7 9 12 -0 2 4 6 7 9 13 -0 2 4 6 7 9 14 -0 2 4 6 7 9 15 -0 2 4 6 7 10 11 -0 2 4 6 7 10 12 -0 2 4 6 7 10 13 -0 2 4 6 7 10 14 -0 2 4 6 7 10 15 -0 2 4 6 7 11 12 -0 2 4 6 7 11 13 -0 2 4 6 7 11 14 -0 2 4 6 7 11 15 -0 2 4 6 7 12 13 -0 2 4 6 7 12 14 -0 2 4 6 7 12 15 -0 2 4 6 7 13 14 -0 2 4 6 7 13 15 -0 2 4 6 7 14 15 -0 2 4 6 8 9 10 -0 2 4 6 8 9 11 -0 2 4 6 8 9 12 -0 2 4 6 8 9 13 -0 2 4 6 8 9 14 -0 2 4 6 8 9 15 -0 2 4 6 8 10 11 -0 2 4 6 8 10 12 -0 2 4 6 8 10 13 -0 2 4 6 8 10 14 -0 2 4 6 8 10 15 -0 2 4 6 8 11 12 -0 2 4 6 8 11 13 -0 2 4 6 8 11 14 -0 2 4 6 8 11 15 -0 2 4 6 8 12 13 -0 2 4 6 8 12 14 -0 2 4 6 8 12 15 -0 2 4 6 8 13 14 -0 2 4 6 8 13 15 -0 2 4 6 8 14 15 -0 2 4 6 9 10 11 -0 2 4 6 9 10 12 -0 2 4 6 9 10 13 -0 2 4 6 9 10 14 -0 2 4 6 9 10 15 -0 2 4 6 9 11 12 -0 2 4 6 9 11 13 -0 2 4 6 9 11 14 -0 2 4 6 9 11 15 -0 2 4 6 9 12 13 -0 2 4 6 9 12 14 -0 2 4 6 9 12 15 -0 2 4 6 9 13 14 -0 2 4 6 9 13 15 -0 2 4 6 9 14 15 -0 2 4 6 10 11 12 -0 2 4 6 10 11 13 -0 2 4 6 10 11 14 -0 2 4 6 10 11 15 -0 2 4 6 10 12 13 -0 2 4 6 10 12 14 -0 2 4 6 10 12 15 -0 2 4 6 10 13 14 -0 2 4 6 10 13 15 -0 2 4 6 10 14 15 -0 2 4 6 11 12 13 -0 2 4 6 11 12 14 -0 2 4 6 11 12 15 -0 2 4 6 11 13 14 -0 2 4 6 11 13 15 -0 2 4 6 11 14 15 -0 2 4 6 12 13 14 -0 2 4 6 12 13 15 -0 2 4 6 12 14 15 -0 2 4 6 13 14 15 -0 2 4 7 8 9 10 -0 2 4 7 8 9 11 -0 2 4 7 8 9 12 -0 2 4 7 8 9 13 -0 2 4 7 8 9 14 -0 2 4 7 8 9 15 -0 2 4 7 8 10 11 -0 2 4 7 8 10 12 -0 2 4 7 8 10 13 -0 2 4 7 8 10 14 -0 2 4 7 8 10 15 -0 2 4 7 8 11 12 -0 2 4 7 8 11 13 -0 2 4 7 8 11 14 -0 2 4 7 8 11 15 -0 2 4 7 8 12 13 -0 2 4 7 8 12 14 -0 2 4 7 8 12 15 -0 2 4 7 8 13 14 -0 2 4 7 8 13 15 -0 2 4 7 8 14 15 -0 2 4 7 9 10 11 -0 2 4 7 9 10 12 -0 2 4 7 9 10 13 -0 2 4 7 9 10 14 -0 2 4 7 9 10 15 -0 2 4 7 9 11 12 -0 2 4 7 9 11 13 -0 2 4 7 9 11 14 -0 2 4 7 9 11 15 -0 2 4 7 9 12 13 -0 2 4 7 9 12 14 -0 2 4 7 9 12 15 -0 2 4 7 9 13 14 -0 2 4 7 9 13 15 -0 2 4 7 9 14 15 -0 2 4 7 10 11 12 -0 2 4 7 10 11 13 -0 2 4 7 10 11 14 -0 2 4 7 10 11 15 -0 2 4 7 10 12 13 -0 2 4 7 10 12 14 -0 2 4 7 10 12 15 -0 2 4 7 10 13 14 -0 2 4 7 10 13 15 -0 2 4 7 10 14 15 -0 2 4 7 11 12 13 -0 2 4 7 11 12 14 -0 2 4 7 11 12 15 -0 2 4 7 11 13 14 -0 2 4 7 11 13 15 -0 2 4 7 11 14 15 -0 2 4 7 12 13 14 -0 2 4 7 12 13 15 -0 2 4 7 12 14 15 -0 2 4 7 13 14 15 -0 2 4 8 9 10 11 -0 2 4 8 9 10 12 -0 2 4 8 9 10 13 -0 2 4 8 9 10 14 -0 2 4 8 9 10 15 -0 2 4 8 9 11 12 -0 2 4 8 9 11 13 -0 2 4 8 9 11 14 -0 2 4 8 9 11 15 -0 2 4 8 9 12 13 -0 2 4 8 9 12 14 -0 2 4 8 9 12 15 -0 2 4 8 9 13 14 -0 2 4 8 9 13 15 -0 2 4 8 9 14 15 -0 2 4 8 10 11 12 -0 2 4 8 10 11 13 -0 2 4 8 10 11 14 -0 2 4 8 10 11 15 -0 2 4 8 10 12 13 -0 2 4 8 10 12 14 -0 2 4 8 10 12 15 -0 2 4 8 10 13 14 -0 2 4 8 10 13 15 -0 2 4 8 10 14 15 -0 2 4 8 11 12 13 -0 2 4 8 11 12 14 -0 2 4 8 11 12 15 -0 2 4 8 11 13 14 -0 2 4 8 11 13 15 -0 2 4 8 11 14 15 -0 2 4 8 12 13 14 -0 2 4 8 12 13 15 -0 2 4 8 12 14 15 -0 2 4 8 13 14 15 -0 2 4 9 10 11 12 -0 2 4 9 10 11 13 -0 2 4 9 10 11 14 -0 2 4 9 10 11 15 -0 2 4 9 10 12 13 -0 2 4 9 10 12 14 -0 2 4 9 10 12 15 -0 2 4 9 10 13 14 -0 2 4 9 10 13 15 -0 2 4 9 10 14 15 -0 2 4 9 11 12 13 -0 2 4 9 11 12 14 -0 2 4 9 11 12 15 -0 2 4 9 11 13 14 -0 2 4 9 11 13 15 -0 2 4 9 11 14 15 -0 2 4 9 12 13 14 -0 2 4 9 12 13 15 -0 2 4 9 12 14 15 -0 2 4 9 13 14 15 -0 2 4 10 11 12 13 -0 2 4 10 11 12 14 -0 2 4 10 11 12 15 -0 2 4 10 11 13 14 -0 2 4 10 11 13 15 -0 2 4 10 11 14 15 -0 2 4 10 12 13 14 -0 2 4 10 12 13 15 -0 2 4 10 12 14 15 -0 2 4 10 13 14 15 -0 2 4 11 12 13 14 -0 2 4 11 12 13 15 -0 2 4 11 12 14 15 -0 2 4 11 13 14 15 -0 2 4 12 13 14 15 -0 2 5 6 7 8 9 -0 2 5 6 7 8 10 -0 2 5 6 7 8 11 -0 2 5 6 7 8 12 -0 2 5 6 7 8 13 -0 2 5 6 7 8 14 -0 2 5 6 7 8 15 -0 2 5 6 7 9 10 -0 2 5 6 7 9 11 -0 2 5 6 7 9 12 -0 2 5 6 7 9 13 -0 2 5 6 7 9 14 -0 2 5 6 7 9 15 -0 2 5 6 7 10 11 -0 2 5 6 7 10 12 -0 2 5 6 7 10 13 -0 2 5 6 7 10 14 -0 2 5 6 7 10 15 -0 2 5 6 7 11 12 -0 2 5 6 7 11 13 -0 2 5 6 7 11 14 -0 2 5 6 7 11 15 -0 2 5 6 7 12 13 -0 2 5 6 7 12 14 -0 2 5 6 7 12 15 -0 2 5 6 7 13 14 -0 2 5 6 7 13 15 -0 2 5 6 7 14 15 -0 2 5 6 8 9 10 -0 2 5 6 8 9 11 -0 2 5 6 8 9 12 -0 2 5 6 8 9 13 -0 2 5 6 8 9 14 -0 2 5 6 8 9 15 -0 2 5 6 8 10 11 -0 2 5 6 8 10 12 -0 2 5 6 8 10 13 -0 2 5 6 8 10 14 -0 2 5 6 8 10 15 -0 2 5 6 8 11 12 -0 2 5 6 8 11 13 -0 2 5 6 8 11 14 -0 2 5 6 8 11 15 -0 2 5 6 8 12 13 -0 2 5 6 8 12 14 -0 2 5 6 8 12 15 -0 2 5 6 8 13 14 -0 2 5 6 8 13 15 -0 2 5 6 8 14 15 -0 2 5 6 9 10 11 -0 2 5 6 9 10 12 -0 2 5 6 9 10 13 -0 2 5 6 9 10 14 -0 2 5 6 9 10 15 -0 2 5 6 9 11 12 -0 2 5 6 9 11 13 -0 2 5 6 9 11 14 -0 2 5 6 9 11 15 -0 2 5 6 9 12 13 -0 2 5 6 9 12 14 -0 2 5 6 9 12 15 -0 2 5 6 9 13 14 -0 2 5 6 9 13 15 -0 2 5 6 9 14 15 -0 2 5 6 10 11 12 -0 2 5 6 10 11 13 -0 2 5 6 10 11 14 -0 2 5 6 10 11 15 -0 2 5 6 10 12 13 -0 2 5 6 10 12 14 -0 2 5 6 10 12 15 -0 2 5 6 10 13 14 -0 2 5 6 10 13 15 -0 2 5 6 10 14 15 -0 2 5 6 11 12 13 -0 2 5 6 11 12 14 -0 2 5 6 11 12 15 -0 2 5 6 11 13 14 -0 2 5 6 11 13 15 -0 2 5 6 11 14 15 -0 2 5 6 12 13 14 -0 2 5 6 12 13 15 -0 2 5 6 12 14 15 -0 2 5 6 13 14 15 -0 2 5 7 8 9 10 -0 2 5 7 8 9 11 -0 2 5 7 8 9 12 -0 2 5 7 8 9 13 -0 2 5 7 8 9 14 -0 2 5 7 8 9 15 -0 2 5 7 8 10 11 -0 2 5 7 8 10 12 -0 2 5 7 8 10 13 -0 2 5 7 8 10 14 -0 2 5 7 8 10 15 -0 2 5 7 8 11 12 -0 2 5 7 8 11 13 -0 2 5 7 8 11 14 -0 2 5 7 8 11 15 -0 2 5 7 8 12 13 -0 2 5 7 8 12 14 -0 2 5 7 8 12 15 -0 2 5 7 8 13 14 -0 2 5 7 8 13 15 -0 2 5 7 8 14 15 -0 2 5 7 9 10 11 -0 2 5 7 9 10 12 -0 2 5 7 9 10 13 -0 2 5 7 9 10 14 -0 2 5 7 9 10 15 -0 2 5 7 9 11 12 -0 2 5 7 9 11 13 -0 2 5 7 9 11 14 -0 2 5 7 9 11 15 -0 2 5 7 9 12 13 -0 2 5 7 9 12 14 -0 2 5 7 9 12 15 -0 2 5 7 9 13 14 -0 2 5 7 9 13 15 -0 2 5 7 9 14 15 -0 2 5 7 10 11 12 -0 2 5 7 10 11 13 -0 2 5 7 10 11 14 -0 2 5 7 10 11 15 -0 2 5 7 10 12 13 -0 2 5 7 10 12 14 -0 2 5 7 10 12 15 -0 2 5 7 10 13 14 -0 2 5 7 10 13 15 -0 2 5 7 10 14 15 -0 2 5 7 11 12 13 -0 2 5 7 11 12 14 -0 2 5 7 11 12 15 -0 2 5 7 11 13 14 -0 2 5 7 11 13 15 -0 2 5 7 11 14 15 -0 2 5 7 12 13 14 -0 2 5 7 12 13 15 -0 2 5 7 12 14 15 -0 2 5 7 13 14 15 -0 2 5 8 9 10 11 -0 2 5 8 9 10 12 -0 2 5 8 9 10 13 -0 2 5 8 9 10 14 -0 2 5 8 9 10 15 -0 2 5 8 9 11 12 -0 2 5 8 9 11 13 -0 2 5 8 9 11 14 -0 2 5 8 9 11 15 -0 2 5 8 9 12 13 -0 2 5 8 9 12 14 -0 2 5 8 9 12 15 -0 2 5 8 9 13 14 -0 2 5 8 9 13 15 -0 2 5 8 9 14 15 -0 2 5 8 10 11 12 -0 2 5 8 10 11 13 -0 2 5 8 10 11 14 -0 2 5 8 10 11 15 -0 2 5 8 10 12 13 -0 2 5 8 10 12 14 -0 2 5 8 10 12 15 -0 2 5 8 10 13 14 -0 2 5 8 10 13 15 -0 2 5 8 10 14 15 -0 2 5 8 11 12 13 -0 2 5 8 11 12 14 -0 2 5 8 11 12 15 -0 2 5 8 11 13 14 -0 2 5 8 11 13 15 -0 2 5 8 11 14 15 -0 2 5 8 12 13 14 -0 2 5 8 12 13 15 -0 2 5 8 12 14 15 -0 2 5 8 13 14 15 -0 2 5 9 10 11 12 -0 2 5 9 10 11 13 -0 2 5 9 10 11 14 -0 2 5 9 10 11 15 -0 2 5 9 10 12 13 -0 2 5 9 10 12 14 -0 2 5 9 10 12 15 -0 2 5 9 10 13 14 -0 2 5 9 10 13 15 -0 2 5 9 10 14 15 -0 2 5 9 11 12 13 -0 2 5 9 11 12 14 -0 2 5 9 11 12 15 -0 2 5 9 11 13 14 -0 2 5 9 11 13 15 -0 2 5 9 11 14 15 -0 2 5 9 12 13 14 -0 2 5 9 12 13 15 -0 2 5 9 12 14 15 -0 2 5 9 13 14 15 -0 2 5 10 11 12 13 -0 2 5 10 11 12 14 -0 2 5 10 11 12 15 -0 2 5 10 11 13 14 -0 2 5 10 11 13 15 -0 2 5 10 11 14 15 -0 2 5 10 12 13 14 -0 2 5 10 12 13 15 -0 2 5 10 12 14 15 -0 2 5 10 13 14 15 -0 2 5 11 12 13 14 -0 2 5 11 12 13 15 -0 2 5 11 12 14 15 -0 2 5 11 13 14 15 -0 2 5 12 13 14 15 -0 2 6 7 8 9 10 -0 2 6 7 8 9 11 -0 2 6 7 8 9 12 -0 2 6 7 8 9 13 -0 2 6 7 8 9 14 -0 2 6 7 8 9 15 -0 2 6 7 8 10 11 -0 2 6 7 8 10 12 -0 2 6 7 8 10 13 -0 2 6 7 8 10 14 -0 2 6 7 8 10 15 -0 2 6 7 8 11 12 -0 2 6 7 8 11 13 -0 2 6 7 8 11 14 -0 2 6 7 8 11 15 -0 2 6 7 8 12 13 -0 2 6 7 8 12 14 -0 2 6 7 8 12 15 -0 2 6 7 8 13 14 -0 2 6 7 8 13 15 -0 2 6 7 8 14 15 -0 2 6 7 9 10 11 -0 2 6 7 9 10 12 -0 2 6 7 9 10 13 -0 2 6 7 9 10 14 -0 2 6 7 9 10 15 -0 2 6 7 9 11 12 -0 2 6 7 9 11 13 -0 2 6 7 9 11 14 -0 2 6 7 9 11 15 -0 2 6 7 9 12 13 -0 2 6 7 9 12 14 -0 2 6 7 9 12 15 -0 2 6 7 9 13 14 -0 2 6 7 9 13 15 -0 2 6 7 9 14 15 -0 2 6 7 10 11 12 -0 2 6 7 10 11 13 -0 2 6 7 10 11 14 -0 2 6 7 10 11 15 -0 2 6 7 10 12 13 -0 2 6 7 10 12 14 -0 2 6 7 10 12 15 -0 2 6 7 10 13 14 -0 2 6 7 10 13 15 -0 2 6 7 10 14 15 -0 2 6 7 11 12 13 -0 2 6 7 11 12 14 -0 2 6 7 11 12 15 -0 2 6 7 11 13 14 -0 2 6 7 11 13 15 -0 2 6 7 11 14 15 -0 2 6 7 12 13 14 -0 2 6 7 12 13 15 -0 2 6 7 12 14 15 -0 2 6 7 13 14 15 -0 2 6 8 9 10 11 -0 2 6 8 9 10 12 -0 2 6 8 9 10 13 -0 2 6 8 9 10 14 -0 2 6 8 9 10 15 -0 2 6 8 9 11 12 -0 2 6 8 9 11 13 -0 2 6 8 9 11 14 -0 2 6 8 9 11 15 -0 2 6 8 9 12 13 -0 2 6 8 9 12 14 -0 2 6 8 9 12 15 -0 2 6 8 9 13 14 -0 2 6 8 9 13 15 -0 2 6 8 9 14 15 -0 2 6 8 10 11 12 -0 2 6 8 10 11 13 -0 2 6 8 10 11 14 -0 2 6 8 10 11 15 -0 2 6 8 10 12 13 -0 2 6 8 10 12 14 -0 2 6 8 10 12 15 -0 2 6 8 10 13 14 -0 2 6 8 10 13 15 -0 2 6 8 10 14 15 -0 2 6 8 11 12 13 -0 2 6 8 11 12 14 -0 2 6 8 11 12 15 -0 2 6 8 11 13 14 -0 2 6 8 11 13 15 -0 2 6 8 11 14 15 -0 2 6 8 12 13 14 -0 2 6 8 12 13 15 -0 2 6 8 12 14 15 -0 2 6 8 13 14 15 -0 2 6 9 10 11 12 -0 2 6 9 10 11 13 -0 2 6 9 10 11 14 -0 2 6 9 10 11 15 -0 2 6 9 10 12 13 -0 2 6 9 10 12 14 -0 2 6 9 10 12 15 -0 2 6 9 10 13 14 -0 2 6 9 10 13 15 -0 2 6 9 10 14 15 -0 2 6 9 11 12 13 -0 2 6 9 11 12 14 -0 2 6 9 11 12 15 -0 2 6 9 11 13 14 -0 2 6 9 11 13 15 -0 2 6 9 11 14 15 -0 2 6 9 12 13 14 -0 2 6 9 12 13 15 -0 2 6 9 12 14 15 -0 2 6 9 13 14 15 -0 2 6 10 11 12 13 -0 2 6 10 11 12 14 -0 2 6 10 11 12 15 -0 2 6 10 11 13 14 -0 2 6 10 11 13 15 -0 2 6 10 11 14 15 -0 2 6 10 12 13 14 -0 2 6 10 12 13 15 -0 2 6 10 12 14 15 -0 2 6 10 13 14 15 -0 2 6 11 12 13 14 -0 2 6 11 12 13 15 -0 2 6 11 12 14 15 -0 2 6 11 13 14 15 -0 2 6 12 13 14 15 -0 2 7 8 9 10 11 -0 2 7 8 9 10 12 -0 2 7 8 9 10 13 -0 2 7 8 9 10 14 -0 2 7 8 9 10 15 -0 2 7 8 9 11 12 -0 2 7 8 9 11 13 -0 2 7 8 9 11 14 -0 2 7 8 9 11 15 -0 2 7 8 9 12 13 -0 2 7 8 9 12 14 -0 2 7 8 9 12 15 -0 2 7 8 9 13 14 -0 2 7 8 9 13 15 -0 2 7 8 9 14 15 -0 2 7 8 10 11 12 -0 2 7 8 10 11 13 -0 2 7 8 10 11 14 -0 2 7 8 10 11 15 -0 2 7 8 10 12 13 -0 2 7 8 10 12 14 -0 2 7 8 10 12 15 -0 2 7 8 10 13 14 -0 2 7 8 10 13 15 -0 2 7 8 10 14 15 -0 2 7 8 11 12 13 -0 2 7 8 11 12 14 -0 2 7 8 11 12 15 -0 2 7 8 11 13 14 -0 2 7 8 11 13 15 -0 2 7 8 11 14 15 -0 2 7 8 12 13 14 -0 2 7 8 12 13 15 -0 2 7 8 12 14 15 -0 2 7 8 13 14 15 -0 2 7 9 10 11 12 -0 2 7 9 10 11 13 -0 2 7 9 10 11 14 -0 2 7 9 10 11 15 -0 2 7 9 10 12 13 -0 2 7 9 10 12 14 -0 2 7 9 10 12 15 -0 2 7 9 10 13 14 -0 2 7 9 10 13 15 -0 2 7 9 10 14 15 -0 2 7 9 11 12 13 -0 2 7 9 11 12 14 -0 2 7 9 11 12 15 -0 2 7 9 11 13 14 -0 2 7 9 11 13 15 -0 2 7 9 11 14 15 -0 2 7 9 12 13 14 -0 2 7 9 12 13 15 -0 2 7 9 12 14 15 -0 2 7 9 13 14 15 -0 2 7 10 11 12 13 -0 2 7 10 11 12 14 -0 2 7 10 11 12 15 -0 2 7 10 11 13 14 -0 2 7 10 11 13 15 -0 2 7 10 11 14 15 -0 2 7 10 12 13 14 -0 2 7 10 12 13 15 -0 2 7 10 12 14 15 -0 2 7 10 13 14 15 -0 2 7 11 12 13 14 -0 2 7 11 12 13 15 -0 2 7 11 12 14 15 -0 2 7 11 13 14 15 -0 2 7 12 13 14 15 -0 2 8 9 10 11 12 -0 2 8 9 10 11 13 -0 2 8 9 10 11 14 -0 2 8 9 10 11 15 -0 2 8 9 10 12 13 -0 2 8 9 10 12 14 -0 2 8 9 10 12 15 -0 2 8 9 10 13 14 -0 2 8 9 10 13 15 -0 2 8 9 10 14 15 -0 2 8 9 11 12 13 -0 2 8 9 11 12 14 -0 2 8 9 11 12 15 -0 2 8 9 11 13 14 -0 2 8 9 11 13 15 -0 2 8 9 11 14 15 -0 2 8 9 12 13 14 -0 2 8 9 12 13 15 -0 2 8 9 12 14 15 -0 2 8 9 13 14 15 -0 2 8 10 11 12 13 -0 2 8 10 11 12 14 -0 2 8 10 11 12 15 -0 2 8 10 11 13 14 -0 2 8 10 11 13 15 -0 2 8 10 11 14 15 -0 2 8 10 12 13 14 -0 2 8 10 12 13 15 -0 2 8 10 12 14 15 -0 2 8 10 13 14 15 -0 2 8 11 12 13 14 -0 2 8 11 12 13 15 -0 2 8 11 12 14 15 -0 2 8 11 13 14 15 -0 2 8 12 13 14 15 -0 2 9 10 11 12 13 -0 2 9 10 11 12 14 -0 2 9 10 11 12 15 -0 2 9 10 11 13 14 -0 2 9 10 11 13 15 -0 2 9 10 11 14 15 -0 2 9 10 12 13 14 -0 2 9 10 12 13 15 -0 2 9 10 12 14 15 -0 2 9 10 13 14 15 -0 2 9 11 12 13 14 -0 2 9 11 12 13 15 -0 2 9 11 12 14 15 -0 2 9 11 13 14 15 -0 2 9 12 13 14 15 -0 2 10 11 12 13 14 -0 2 10 11 12 13 15 -0 2 10 11 12 14 15 -0 2 10 11 13 14 15 -0 2 10 12 13 14 15 -0 2 11 12 13 14 15 -0 3 4 5 6 7 8 -0 3 4 5 6 7 9 -0 3 4 5 6 7 10 -0 3 4 5 6 7 11 -0 3 4 5 6 7 12 -0 3 4 5 6 7 13 -0 3 4 5 6 7 14 -0 3 4 5 6 7 15 -0 3 4 5 6 8 9 -0 3 4 5 6 8 10 -0 3 4 5 6 8 11 -0 3 4 5 6 8 12 -0 3 4 5 6 8 13 -0 3 4 5 6 8 14 -0 3 4 5 6 8 15 -0 3 4 5 6 9 10 -0 3 4 5 6 9 11 -0 3 4 5 6 9 12 -0 3 4 5 6 9 13 -0 3 4 5 6 9 14 -0 3 4 5 6 9 15 -0 3 4 5 6 10 11 -0 3 4 5 6 10 12 -0 3 4 5 6 10 13 -0 3 4 5 6 10 14 -0 3 4 5 6 10 15 -0 3 4 5 6 11 12 -0 3 4 5 6 11 13 -0 3 4 5 6 11 14 -0 3 4 5 6 11 15 -0 3 4 5 6 12 13 -0 3 4 5 6 12 14 -0 3 4 5 6 12 15 -0 3 4 5 6 13 14 -0 3 4 5 6 13 15 -0 3 4 5 6 14 15 -0 3 4 5 7 8 9 -0 3 4 5 7 8 10 -0 3 4 5 7 8 11 -0 3 4 5 7 8 12 -0 3 4 5 7 8 13 -0 3 4 5 7 8 14 -0 3 4 5 7 8 15 -0 3 4 5 7 9 10 -0 3 4 5 7 9 11 -0 3 4 5 7 9 12 -0 3 4 5 7 9 13 -0 3 4 5 7 9 14 -0 3 4 5 7 9 15 -0 3 4 5 7 10 11 -0 3 4 5 7 10 12 -0 3 4 5 7 10 13 -0 3 4 5 7 10 14 -0 3 4 5 7 10 15 -0 3 4 5 7 11 12 -0 3 4 5 7 11 13 -0 3 4 5 7 11 14 -0 3 4 5 7 11 15 -0 3 4 5 7 12 13 -0 3 4 5 7 12 14 -0 3 4 5 7 12 15 -0 3 4 5 7 13 14 -0 3 4 5 7 13 15 -0 3 4 5 7 14 15 -0 3 4 5 8 9 10 -0 3 4 5 8 9 11 -0 3 4 5 8 9 12 -0 3 4 5 8 9 13 -0 3 4 5 8 9 14 -0 3 4 5 8 9 15 -0 3 4 5 8 10 11 -0 3 4 5 8 10 12 -0 3 4 5 8 10 13 -0 3 4 5 8 10 14 -0 3 4 5 8 10 15 -0 3 4 5 8 11 12 -0 3 4 5 8 11 13 -0 3 4 5 8 11 14 -0 3 4 5 8 11 15 -0 3 4 5 8 12 13 -0 3 4 5 8 12 14 -0 3 4 5 8 12 15 -0 3 4 5 8 13 14 -0 3 4 5 8 13 15 -0 3 4 5 8 14 15 -0 3 4 5 9 10 11 -0 3 4 5 9 10 12 -0 3 4 5 9 10 13 -0 3 4 5 9 10 14 -0 3 4 5 9 10 15 -0 3 4 5 9 11 12 -0 3 4 5 9 11 13 -0 3 4 5 9 11 14 -0 3 4 5 9 11 15 -0 3 4 5 9 12 13 -0 3 4 5 9 12 14 -0 3 4 5 9 12 15 -0 3 4 5 9 13 14 -0 3 4 5 9 13 15 -0 3 4 5 9 14 15 -0 3 4 5 10 11 12 -0 3 4 5 10 11 13 -0 3 4 5 10 11 14 -0 3 4 5 10 11 15 -0 3 4 5 10 12 13 -0 3 4 5 10 12 14 -0 3 4 5 10 12 15 -0 3 4 5 10 13 14 -0 3 4 5 10 13 15 -0 3 4 5 10 14 15 -0 3 4 5 11 12 13 -0 3 4 5 11 12 14 -0 3 4 5 11 12 15 -0 3 4 5 11 13 14 -0 3 4 5 11 13 15 -0 3 4 5 11 14 15 -0 3 4 5 12 13 14 -0 3 4 5 12 13 15 -0 3 4 5 12 14 15 -0 3 4 5 13 14 15 -0 3 4 6 7 8 9 -0 3 4 6 7 8 10 -0 3 4 6 7 8 11 -0 3 4 6 7 8 12 -0 3 4 6 7 8 13 -0 3 4 6 7 8 14 -0 3 4 6 7 8 15 -0 3 4 6 7 9 10 -0 3 4 6 7 9 11 -0 3 4 6 7 9 12 -0 3 4 6 7 9 13 -0 3 4 6 7 9 14 -0 3 4 6 7 9 15 -0 3 4 6 7 10 11 -0 3 4 6 7 10 12 -0 3 4 6 7 10 13 -0 3 4 6 7 10 14 -0 3 4 6 7 10 15 -0 3 4 6 7 11 12 -0 3 4 6 7 11 13 -0 3 4 6 7 11 14 -0 3 4 6 7 11 15 -0 3 4 6 7 12 13 -0 3 4 6 7 12 14 -0 3 4 6 7 12 15 -0 3 4 6 7 13 14 -0 3 4 6 7 13 15 -0 3 4 6 7 14 15 -0 3 4 6 8 9 10 -0 3 4 6 8 9 11 -0 3 4 6 8 9 12 -0 3 4 6 8 9 13 -0 3 4 6 8 9 14 -0 3 4 6 8 9 15 -0 3 4 6 8 10 11 -0 3 4 6 8 10 12 -0 3 4 6 8 10 13 -0 3 4 6 8 10 14 -0 3 4 6 8 10 15 -0 3 4 6 8 11 12 -0 3 4 6 8 11 13 -0 3 4 6 8 11 14 -0 3 4 6 8 11 15 -0 3 4 6 8 12 13 -0 3 4 6 8 12 14 -0 3 4 6 8 12 15 -0 3 4 6 8 13 14 -0 3 4 6 8 13 15 -0 3 4 6 8 14 15 -0 3 4 6 9 10 11 -0 3 4 6 9 10 12 -0 3 4 6 9 10 13 -0 3 4 6 9 10 14 -0 3 4 6 9 10 15 -0 3 4 6 9 11 12 -0 3 4 6 9 11 13 -0 3 4 6 9 11 14 -0 3 4 6 9 11 15 -0 3 4 6 9 12 13 -0 3 4 6 9 12 14 -0 3 4 6 9 12 15 -0 3 4 6 9 13 14 -0 3 4 6 9 13 15 -0 3 4 6 9 14 15 -0 3 4 6 10 11 12 -0 3 4 6 10 11 13 -0 3 4 6 10 11 14 -0 3 4 6 10 11 15 -0 3 4 6 10 12 13 -0 3 4 6 10 12 14 -0 3 4 6 10 12 15 -0 3 4 6 10 13 14 -0 3 4 6 10 13 15 -0 3 4 6 10 14 15 -0 3 4 6 11 12 13 -0 3 4 6 11 12 14 -0 3 4 6 11 12 15 -0 3 4 6 11 13 14 -0 3 4 6 11 13 15 -0 3 4 6 11 14 15 -0 3 4 6 12 13 14 -0 3 4 6 12 13 15 -0 3 4 6 12 14 15 -0 3 4 6 13 14 15 -0 3 4 7 8 9 10 -0 3 4 7 8 9 11 -0 3 4 7 8 9 12 -0 3 4 7 8 9 13 -0 3 4 7 8 9 14 -0 3 4 7 8 9 15 -0 3 4 7 8 10 11 -0 3 4 7 8 10 12 -0 3 4 7 8 10 13 -0 3 4 7 8 10 14 -0 3 4 7 8 10 15 -0 3 4 7 8 11 12 -0 3 4 7 8 11 13 -0 3 4 7 8 11 14 -0 3 4 7 8 11 15 -0 3 4 7 8 12 13 -0 3 4 7 8 12 14 -0 3 4 7 8 12 15 -0 3 4 7 8 13 14 -0 3 4 7 8 13 15 -0 3 4 7 8 14 15 -0 3 4 7 9 10 11 -0 3 4 7 9 10 12 -0 3 4 7 9 10 13 -0 3 4 7 9 10 14 -0 3 4 7 9 10 15 -0 3 4 7 9 11 12 -0 3 4 7 9 11 13 -0 3 4 7 9 11 14 -0 3 4 7 9 11 15 -0 3 4 7 9 12 13 -0 3 4 7 9 12 14 -0 3 4 7 9 12 15 -0 3 4 7 9 13 14 -0 3 4 7 9 13 15 -0 3 4 7 9 14 15 -0 3 4 7 10 11 12 -0 3 4 7 10 11 13 -0 3 4 7 10 11 14 -0 3 4 7 10 11 15 -0 3 4 7 10 12 13 -0 3 4 7 10 12 14 -0 3 4 7 10 12 15 -0 3 4 7 10 13 14 -0 3 4 7 10 13 15 -0 3 4 7 10 14 15 -0 3 4 7 11 12 13 -0 3 4 7 11 12 14 -0 3 4 7 11 12 15 -0 3 4 7 11 13 14 -0 3 4 7 11 13 15 -0 3 4 7 11 14 15 -0 3 4 7 12 13 14 -0 3 4 7 12 13 15 -0 3 4 7 12 14 15 -0 3 4 7 13 14 15 -0 3 4 8 9 10 11 -0 3 4 8 9 10 12 -0 3 4 8 9 10 13 -0 3 4 8 9 10 14 -0 3 4 8 9 10 15 -0 3 4 8 9 11 12 -0 3 4 8 9 11 13 -0 3 4 8 9 11 14 -0 3 4 8 9 11 15 -0 3 4 8 9 12 13 -0 3 4 8 9 12 14 -0 3 4 8 9 12 15 -0 3 4 8 9 13 14 -0 3 4 8 9 13 15 -0 3 4 8 9 14 15 -0 3 4 8 10 11 12 -0 3 4 8 10 11 13 -0 3 4 8 10 11 14 -0 3 4 8 10 11 15 -0 3 4 8 10 12 13 -0 3 4 8 10 12 14 -0 3 4 8 10 12 15 -0 3 4 8 10 13 14 -0 3 4 8 10 13 15 -0 3 4 8 10 14 15 -0 3 4 8 11 12 13 -0 3 4 8 11 12 14 -0 3 4 8 11 12 15 -0 3 4 8 11 13 14 -0 3 4 8 11 13 15 -0 3 4 8 11 14 15 -0 3 4 8 12 13 14 -0 3 4 8 12 13 15 -0 3 4 8 12 14 15 -0 3 4 8 13 14 15 -0 3 4 9 10 11 12 -0 3 4 9 10 11 13 -0 3 4 9 10 11 14 -0 3 4 9 10 11 15 -0 3 4 9 10 12 13 -0 3 4 9 10 12 14 -0 3 4 9 10 12 15 -0 3 4 9 10 13 14 -0 3 4 9 10 13 15 -0 3 4 9 10 14 15 -0 3 4 9 11 12 13 -0 3 4 9 11 12 14 -0 3 4 9 11 12 15 -0 3 4 9 11 13 14 -0 3 4 9 11 13 15 -0 3 4 9 11 14 15 -0 3 4 9 12 13 14 -0 3 4 9 12 13 15 -0 3 4 9 12 14 15 -0 3 4 9 13 14 15 -0 3 4 10 11 12 13 -0 3 4 10 11 12 14 -0 3 4 10 11 12 15 -0 3 4 10 11 13 14 -0 3 4 10 11 13 15 -0 3 4 10 11 14 15 -0 3 4 10 12 13 14 -0 3 4 10 12 13 15 -0 3 4 10 12 14 15 -0 3 4 10 13 14 15 -0 3 4 11 12 13 14 -0 3 4 11 12 13 15 -0 3 4 11 12 14 15 -0 3 4 11 13 14 15 -0 3 4 12 13 14 15 -0 3 5 6 7 8 9 -0 3 5 6 7 8 10 -0 3 5 6 7 8 11 -0 3 5 6 7 8 12 -0 3 5 6 7 8 13 -0 3 5 6 7 8 14 -0 3 5 6 7 8 15 -0 3 5 6 7 9 10 -0 3 5 6 7 9 11 -0 3 5 6 7 9 12 -0 3 5 6 7 9 13 -0 3 5 6 7 9 14 -0 3 5 6 7 9 15 -0 3 5 6 7 10 11 -0 3 5 6 7 10 12 -0 3 5 6 7 10 13 -0 3 5 6 7 10 14 -0 3 5 6 7 10 15 -0 3 5 6 7 11 12 -0 3 5 6 7 11 13 -0 3 5 6 7 11 14 -0 3 5 6 7 11 15 -0 3 5 6 7 12 13 -0 3 5 6 7 12 14 -0 3 5 6 7 12 15 -0 3 5 6 7 13 14 -0 3 5 6 7 13 15 -0 3 5 6 7 14 15 -0 3 5 6 8 9 10 -0 3 5 6 8 9 11 -0 3 5 6 8 9 12 -0 3 5 6 8 9 13 -0 3 5 6 8 9 14 -0 3 5 6 8 9 15 -0 3 5 6 8 10 11 -0 3 5 6 8 10 12 -0 3 5 6 8 10 13 -0 3 5 6 8 10 14 -0 3 5 6 8 10 15 -0 3 5 6 8 11 12 -0 3 5 6 8 11 13 -0 3 5 6 8 11 14 -0 3 5 6 8 11 15 -0 3 5 6 8 12 13 -0 3 5 6 8 12 14 -0 3 5 6 8 12 15 -0 3 5 6 8 13 14 -0 3 5 6 8 13 15 -0 3 5 6 8 14 15 -0 3 5 6 9 10 11 -0 3 5 6 9 10 12 -0 3 5 6 9 10 13 -0 3 5 6 9 10 14 -0 3 5 6 9 10 15 -0 3 5 6 9 11 12 -0 3 5 6 9 11 13 -0 3 5 6 9 11 14 -0 3 5 6 9 11 15 -0 3 5 6 9 12 13 -0 3 5 6 9 12 14 -0 3 5 6 9 12 15 -0 3 5 6 9 13 14 -0 3 5 6 9 13 15 -0 3 5 6 9 14 15 -0 3 5 6 10 11 12 -0 3 5 6 10 11 13 -0 3 5 6 10 11 14 -0 3 5 6 10 11 15 -0 3 5 6 10 12 13 -0 3 5 6 10 12 14 -0 3 5 6 10 12 15 -0 3 5 6 10 13 14 -0 3 5 6 10 13 15 -0 3 5 6 10 14 15 -0 3 5 6 11 12 13 -0 3 5 6 11 12 14 -0 3 5 6 11 12 15 -0 3 5 6 11 13 14 -0 3 5 6 11 13 15 -0 3 5 6 11 14 15 -0 3 5 6 12 13 14 -0 3 5 6 12 13 15 -0 3 5 6 12 14 15 -0 3 5 6 13 14 15 -0 3 5 7 8 9 10 -0 3 5 7 8 9 11 -0 3 5 7 8 9 12 -0 3 5 7 8 9 13 -0 3 5 7 8 9 14 -0 3 5 7 8 9 15 -0 3 5 7 8 10 11 -0 3 5 7 8 10 12 -0 3 5 7 8 10 13 -0 3 5 7 8 10 14 -0 3 5 7 8 10 15 -0 3 5 7 8 11 12 -0 3 5 7 8 11 13 -0 3 5 7 8 11 14 -0 3 5 7 8 11 15 -0 3 5 7 8 12 13 -0 3 5 7 8 12 14 -0 3 5 7 8 12 15 -0 3 5 7 8 13 14 -0 3 5 7 8 13 15 -0 3 5 7 8 14 15 -0 3 5 7 9 10 11 -0 3 5 7 9 10 12 -0 3 5 7 9 10 13 -0 3 5 7 9 10 14 -0 3 5 7 9 10 15 -0 3 5 7 9 11 12 -0 3 5 7 9 11 13 -0 3 5 7 9 11 14 -0 3 5 7 9 11 15 -0 3 5 7 9 12 13 -0 3 5 7 9 12 14 -0 3 5 7 9 12 15 -0 3 5 7 9 13 14 -0 3 5 7 9 13 15 -0 3 5 7 9 14 15 -0 3 5 7 10 11 12 -0 3 5 7 10 11 13 -0 3 5 7 10 11 14 -0 3 5 7 10 11 15 -0 3 5 7 10 12 13 -0 3 5 7 10 12 14 -0 3 5 7 10 12 15 -0 3 5 7 10 13 14 -0 3 5 7 10 13 15 -0 3 5 7 10 14 15 -0 3 5 7 11 12 13 -0 3 5 7 11 12 14 -0 3 5 7 11 12 15 -0 3 5 7 11 13 14 -0 3 5 7 11 13 15 -0 3 5 7 11 14 15 -0 3 5 7 12 13 14 -0 3 5 7 12 13 15 -0 3 5 7 12 14 15 -0 3 5 7 13 14 15 -0 3 5 8 9 10 11 -0 3 5 8 9 10 12 -0 3 5 8 9 10 13 -0 3 5 8 9 10 14 -0 3 5 8 9 10 15 -0 3 5 8 9 11 12 -0 3 5 8 9 11 13 -0 3 5 8 9 11 14 -0 3 5 8 9 11 15 -0 3 5 8 9 12 13 -0 3 5 8 9 12 14 -0 3 5 8 9 12 15 -0 3 5 8 9 13 14 -0 3 5 8 9 13 15 -0 3 5 8 9 14 15 -0 3 5 8 10 11 12 -0 3 5 8 10 11 13 -0 3 5 8 10 11 14 -0 3 5 8 10 11 15 -0 3 5 8 10 12 13 -0 3 5 8 10 12 14 -0 3 5 8 10 12 15 -0 3 5 8 10 13 14 -0 3 5 8 10 13 15 -0 3 5 8 10 14 15 -0 3 5 8 11 12 13 -0 3 5 8 11 12 14 -0 3 5 8 11 12 15 -0 3 5 8 11 13 14 -0 3 5 8 11 13 15 -0 3 5 8 11 14 15 -0 3 5 8 12 13 14 -0 3 5 8 12 13 15 -0 3 5 8 12 14 15 -0 3 5 8 13 14 15 -0 3 5 9 10 11 12 -0 3 5 9 10 11 13 -0 3 5 9 10 11 14 -0 3 5 9 10 11 15 -0 3 5 9 10 12 13 -0 3 5 9 10 12 14 -0 3 5 9 10 12 15 -0 3 5 9 10 13 14 -0 3 5 9 10 13 15 -0 3 5 9 10 14 15 -0 3 5 9 11 12 13 -0 3 5 9 11 12 14 -0 3 5 9 11 12 15 -0 3 5 9 11 13 14 -0 3 5 9 11 13 15 -0 3 5 9 11 14 15 -0 3 5 9 12 13 14 -0 3 5 9 12 13 15 -0 3 5 9 12 14 15 -0 3 5 9 13 14 15 -0 3 5 10 11 12 13 -0 3 5 10 11 12 14 -0 3 5 10 11 12 15 -0 3 5 10 11 13 14 -0 3 5 10 11 13 15 -0 3 5 10 11 14 15 -0 3 5 10 12 13 14 -0 3 5 10 12 13 15 -0 3 5 10 12 14 15 -0 3 5 10 13 14 15 -0 3 5 11 12 13 14 -0 3 5 11 12 13 15 -0 3 5 11 12 14 15 -0 3 5 11 13 14 15 -0 3 5 12 13 14 15 -0 3 6 7 8 9 10 -0 3 6 7 8 9 11 -0 3 6 7 8 9 12 -0 3 6 7 8 9 13 -0 3 6 7 8 9 14 -0 3 6 7 8 9 15 -0 3 6 7 8 10 11 -0 3 6 7 8 10 12 -0 3 6 7 8 10 13 -0 3 6 7 8 10 14 -0 3 6 7 8 10 15 -0 3 6 7 8 11 12 -0 3 6 7 8 11 13 -0 3 6 7 8 11 14 -0 3 6 7 8 11 15 -0 3 6 7 8 12 13 -0 3 6 7 8 12 14 -0 3 6 7 8 12 15 -0 3 6 7 8 13 14 -0 3 6 7 8 13 15 -0 3 6 7 8 14 15 -0 3 6 7 9 10 11 -0 3 6 7 9 10 12 -0 3 6 7 9 10 13 -0 3 6 7 9 10 14 -0 3 6 7 9 10 15 -0 3 6 7 9 11 12 -0 3 6 7 9 11 13 -0 3 6 7 9 11 14 -0 3 6 7 9 11 15 -0 3 6 7 9 12 13 -0 3 6 7 9 12 14 -0 3 6 7 9 12 15 -0 3 6 7 9 13 14 -0 3 6 7 9 13 15 -0 3 6 7 9 14 15 -0 3 6 7 10 11 12 -0 3 6 7 10 11 13 -0 3 6 7 10 11 14 -0 3 6 7 10 11 15 -0 3 6 7 10 12 13 -0 3 6 7 10 12 14 -0 3 6 7 10 12 15 -0 3 6 7 10 13 14 -0 3 6 7 10 13 15 -0 3 6 7 10 14 15 -0 3 6 7 11 12 13 -0 3 6 7 11 12 14 -0 3 6 7 11 12 15 -0 3 6 7 11 13 14 -0 3 6 7 11 13 15 -0 3 6 7 11 14 15 -0 3 6 7 12 13 14 -0 3 6 7 12 13 15 -0 3 6 7 12 14 15 -0 3 6 7 13 14 15 -0 3 6 8 9 10 11 -0 3 6 8 9 10 12 -0 3 6 8 9 10 13 -0 3 6 8 9 10 14 -0 3 6 8 9 10 15 -0 3 6 8 9 11 12 -0 3 6 8 9 11 13 -0 3 6 8 9 11 14 -0 3 6 8 9 11 15 -0 3 6 8 9 12 13 -0 3 6 8 9 12 14 -0 3 6 8 9 12 15 -0 3 6 8 9 13 14 -0 3 6 8 9 13 15 -0 3 6 8 9 14 15 -0 3 6 8 10 11 12 -0 3 6 8 10 11 13 -0 3 6 8 10 11 14 -0 3 6 8 10 11 15 -0 3 6 8 10 12 13 -0 3 6 8 10 12 14 -0 3 6 8 10 12 15 -0 3 6 8 10 13 14 -0 3 6 8 10 13 15 -0 3 6 8 10 14 15 -0 3 6 8 11 12 13 -0 3 6 8 11 12 14 -0 3 6 8 11 12 15 -0 3 6 8 11 13 14 -0 3 6 8 11 13 15 -0 3 6 8 11 14 15 -0 3 6 8 12 13 14 -0 3 6 8 12 13 15 -0 3 6 8 12 14 15 -0 3 6 8 13 14 15 -0 3 6 9 10 11 12 -0 3 6 9 10 11 13 -0 3 6 9 10 11 14 -0 3 6 9 10 11 15 -0 3 6 9 10 12 13 -0 3 6 9 10 12 14 -0 3 6 9 10 12 15 -0 3 6 9 10 13 14 -0 3 6 9 10 13 15 -0 3 6 9 10 14 15 -0 3 6 9 11 12 13 -0 3 6 9 11 12 14 -0 3 6 9 11 12 15 -0 3 6 9 11 13 14 -0 3 6 9 11 13 15 -0 3 6 9 11 14 15 -0 3 6 9 12 13 14 -0 3 6 9 12 13 15 -0 3 6 9 12 14 15 -0 3 6 9 13 14 15 -0 3 6 10 11 12 13 -0 3 6 10 11 12 14 -0 3 6 10 11 12 15 -0 3 6 10 11 13 14 -0 3 6 10 11 13 15 -0 3 6 10 11 14 15 -0 3 6 10 12 13 14 -0 3 6 10 12 13 15 -0 3 6 10 12 14 15 -0 3 6 10 13 14 15 -0 3 6 11 12 13 14 -0 3 6 11 12 13 15 -0 3 6 11 12 14 15 -0 3 6 11 13 14 15 -0 3 6 12 13 14 15 -0 3 7 8 9 10 11 -0 3 7 8 9 10 12 -0 3 7 8 9 10 13 -0 3 7 8 9 10 14 -0 3 7 8 9 10 15 -0 3 7 8 9 11 12 -0 3 7 8 9 11 13 -0 3 7 8 9 11 14 -0 3 7 8 9 11 15 -0 3 7 8 9 12 13 -0 3 7 8 9 12 14 -0 3 7 8 9 12 15 -0 3 7 8 9 13 14 -0 3 7 8 9 13 15 -0 3 7 8 9 14 15 -0 3 7 8 10 11 12 -0 3 7 8 10 11 13 -0 3 7 8 10 11 14 -0 3 7 8 10 11 15 -0 3 7 8 10 12 13 -0 3 7 8 10 12 14 -0 3 7 8 10 12 15 -0 3 7 8 10 13 14 -0 3 7 8 10 13 15 -0 3 7 8 10 14 15 -0 3 7 8 11 12 13 -0 3 7 8 11 12 14 -0 3 7 8 11 12 15 -0 3 7 8 11 13 14 -0 3 7 8 11 13 15 -0 3 7 8 11 14 15 -0 3 7 8 12 13 14 -0 3 7 8 12 13 15 -0 3 7 8 12 14 15 -0 3 7 8 13 14 15 -0 3 7 9 10 11 12 -0 3 7 9 10 11 13 -0 3 7 9 10 11 14 -0 3 7 9 10 11 15 -0 3 7 9 10 12 13 -0 3 7 9 10 12 14 -0 3 7 9 10 12 15 -0 3 7 9 10 13 14 -0 3 7 9 10 13 15 -0 3 7 9 10 14 15 -0 3 7 9 11 12 13 -0 3 7 9 11 12 14 -0 3 7 9 11 12 15 -0 3 7 9 11 13 14 -0 3 7 9 11 13 15 -0 3 7 9 11 14 15 -0 3 7 9 12 13 14 -0 3 7 9 12 13 15 -0 3 7 9 12 14 15 -0 3 7 9 13 14 15 -0 3 7 10 11 12 13 -0 3 7 10 11 12 14 -0 3 7 10 11 12 15 -0 3 7 10 11 13 14 -0 3 7 10 11 13 15 -0 3 7 10 11 14 15 -0 3 7 10 12 13 14 -0 3 7 10 12 13 15 -0 3 7 10 12 14 15 -0 3 7 10 13 14 15 -0 3 7 11 12 13 14 -0 3 7 11 12 13 15 -0 3 7 11 12 14 15 -0 3 7 11 13 14 15 -0 3 7 12 13 14 15 -0 3 8 9 10 11 12 -0 3 8 9 10 11 13 -0 3 8 9 10 11 14 -0 3 8 9 10 11 15 -0 3 8 9 10 12 13 -0 3 8 9 10 12 14 -0 3 8 9 10 12 15 -0 3 8 9 10 13 14 -0 3 8 9 10 13 15 -0 3 8 9 10 14 15 -0 3 8 9 11 12 13 -0 3 8 9 11 12 14 -0 3 8 9 11 12 15 -0 3 8 9 11 13 14 -0 3 8 9 11 13 15 -0 3 8 9 11 14 15 -0 3 8 9 12 13 14 -0 3 8 9 12 13 15 -0 3 8 9 12 14 15 -0 3 8 9 13 14 15 -0 3 8 10 11 12 13 -0 3 8 10 11 12 14 -0 3 8 10 11 12 15 -0 3 8 10 11 13 14 -0 3 8 10 11 13 15 -0 3 8 10 11 14 15 -0 3 8 10 12 13 14 -0 3 8 10 12 13 15 -0 3 8 10 12 14 15 -0 3 8 10 13 14 15 -0 3 8 11 12 13 14 -0 3 8 11 12 13 15 -0 3 8 11 12 14 15 -0 3 8 11 13 14 15 -0 3 8 12 13 14 15 -0 3 9 10 11 12 13 -0 3 9 10 11 12 14 -0 3 9 10 11 12 15 -0 3 9 10 11 13 14 -0 3 9 10 11 13 15 -0 3 9 10 11 14 15 -0 3 9 10 12 13 14 -0 3 9 10 12 13 15 -0 3 9 10 12 14 15 -0 3 9 10 13 14 15 -0 3 9 11 12 13 14 -0 3 9 11 12 13 15 -0 3 9 11 12 14 15 -0 3 9 11 13 14 15 -0 3 9 12 13 14 15 -0 3 10 11 12 13 14 -0 3 10 11 12 13 15 -0 3 10 11 12 14 15 -0 3 10 11 13 14 15 -0 3 10 12 13 14 15 -0 3 11 12 13 14 15 -0 4 5 6 7 8 9 -0 4 5 6 7 8 10 -0 4 5 6 7 8 11 -0 4 5 6 7 8 12 -0 4 5 6 7 8 13 -0 4 5 6 7 8 14 -0 4 5 6 7 8 15 -0 4 5 6 7 9 10 -0 4 5 6 7 9 11 -0 4 5 6 7 9 12 -0 4 5 6 7 9 13 -0 4 5 6 7 9 14 -0 4 5 6 7 9 15 -0 4 5 6 7 10 11 -0 4 5 6 7 10 12 -0 4 5 6 7 10 13 -0 4 5 6 7 10 14 -0 4 5 6 7 10 15 -0 4 5 6 7 11 12 -0 4 5 6 7 11 13 -0 4 5 6 7 11 14 -0 4 5 6 7 11 15 -0 4 5 6 7 12 13 -0 4 5 6 7 12 14 -0 4 5 6 7 12 15 -0 4 5 6 7 13 14 -0 4 5 6 7 13 15 -0 4 5 6 7 14 15 -0 4 5 6 8 9 10 -0 4 5 6 8 9 11 -0 4 5 6 8 9 12 -0 4 5 6 8 9 13 -0 4 5 6 8 9 14 -0 4 5 6 8 9 15 -0 4 5 6 8 10 11 -0 4 5 6 8 10 12 -0 4 5 6 8 10 13 -0 4 5 6 8 10 14 -0 4 5 6 8 10 15 -0 4 5 6 8 11 12 -0 4 5 6 8 11 13 -0 4 5 6 8 11 14 -0 4 5 6 8 11 15 -0 4 5 6 8 12 13 -0 4 5 6 8 12 14 -0 4 5 6 8 12 15 -0 4 5 6 8 13 14 -0 4 5 6 8 13 15 -0 4 5 6 8 14 15 -0 4 5 6 9 10 11 -0 4 5 6 9 10 12 -0 4 5 6 9 10 13 -0 4 5 6 9 10 14 -0 4 5 6 9 10 15 -0 4 5 6 9 11 12 -0 4 5 6 9 11 13 -0 4 5 6 9 11 14 -0 4 5 6 9 11 15 -0 4 5 6 9 12 13 -0 4 5 6 9 12 14 -0 4 5 6 9 12 15 -0 4 5 6 9 13 14 -0 4 5 6 9 13 15 -0 4 5 6 9 14 15 -0 4 5 6 10 11 12 -0 4 5 6 10 11 13 -0 4 5 6 10 11 14 -0 4 5 6 10 11 15 -0 4 5 6 10 12 13 -0 4 5 6 10 12 14 -0 4 5 6 10 12 15 -0 4 5 6 10 13 14 -0 4 5 6 10 13 15 -0 4 5 6 10 14 15 -0 4 5 6 11 12 13 -0 4 5 6 11 12 14 -0 4 5 6 11 12 15 -0 4 5 6 11 13 14 -0 4 5 6 11 13 15 -0 4 5 6 11 14 15 -0 4 5 6 12 13 14 -0 4 5 6 12 13 15 -0 4 5 6 12 14 15 -0 4 5 6 13 14 15 -0 4 5 7 8 9 10 -0 4 5 7 8 9 11 -0 4 5 7 8 9 12 -0 4 5 7 8 9 13 -0 4 5 7 8 9 14 -0 4 5 7 8 9 15 -0 4 5 7 8 10 11 -0 4 5 7 8 10 12 -0 4 5 7 8 10 13 -0 4 5 7 8 10 14 -0 4 5 7 8 10 15 -0 4 5 7 8 11 12 -0 4 5 7 8 11 13 -0 4 5 7 8 11 14 -0 4 5 7 8 11 15 -0 4 5 7 8 12 13 -0 4 5 7 8 12 14 -0 4 5 7 8 12 15 -0 4 5 7 8 13 14 -0 4 5 7 8 13 15 -0 4 5 7 8 14 15 -0 4 5 7 9 10 11 -0 4 5 7 9 10 12 -0 4 5 7 9 10 13 -0 4 5 7 9 10 14 -0 4 5 7 9 10 15 -0 4 5 7 9 11 12 -0 4 5 7 9 11 13 -0 4 5 7 9 11 14 -0 4 5 7 9 11 15 -0 4 5 7 9 12 13 -0 4 5 7 9 12 14 -0 4 5 7 9 12 15 -0 4 5 7 9 13 14 -0 4 5 7 9 13 15 -0 4 5 7 9 14 15 -0 4 5 7 10 11 12 -0 4 5 7 10 11 13 -0 4 5 7 10 11 14 -0 4 5 7 10 11 15 -0 4 5 7 10 12 13 -0 4 5 7 10 12 14 -0 4 5 7 10 12 15 -0 4 5 7 10 13 14 -0 4 5 7 10 13 15 -0 4 5 7 10 14 15 -0 4 5 7 11 12 13 -0 4 5 7 11 12 14 -0 4 5 7 11 12 15 -0 4 5 7 11 13 14 -0 4 5 7 11 13 15 -0 4 5 7 11 14 15 -0 4 5 7 12 13 14 -0 4 5 7 12 13 15 -0 4 5 7 12 14 15 -0 4 5 7 13 14 15 -0 4 5 8 9 10 11 -0 4 5 8 9 10 12 -0 4 5 8 9 10 13 -0 4 5 8 9 10 14 -0 4 5 8 9 10 15 -0 4 5 8 9 11 12 -0 4 5 8 9 11 13 -0 4 5 8 9 11 14 -0 4 5 8 9 11 15 -0 4 5 8 9 12 13 -0 4 5 8 9 12 14 -0 4 5 8 9 12 15 -0 4 5 8 9 13 14 -0 4 5 8 9 13 15 -0 4 5 8 9 14 15 -0 4 5 8 10 11 12 -0 4 5 8 10 11 13 -0 4 5 8 10 11 14 -0 4 5 8 10 11 15 -0 4 5 8 10 12 13 -0 4 5 8 10 12 14 -0 4 5 8 10 12 15 -0 4 5 8 10 13 14 -0 4 5 8 10 13 15 -0 4 5 8 10 14 15 -0 4 5 8 11 12 13 -0 4 5 8 11 12 14 -0 4 5 8 11 12 15 -0 4 5 8 11 13 14 -0 4 5 8 11 13 15 -0 4 5 8 11 14 15 -0 4 5 8 12 13 14 -0 4 5 8 12 13 15 -0 4 5 8 12 14 15 -0 4 5 8 13 14 15 -0 4 5 9 10 11 12 -0 4 5 9 10 11 13 -0 4 5 9 10 11 14 -0 4 5 9 10 11 15 -0 4 5 9 10 12 13 -0 4 5 9 10 12 14 -0 4 5 9 10 12 15 -0 4 5 9 10 13 14 -0 4 5 9 10 13 15 -0 4 5 9 10 14 15 -0 4 5 9 11 12 13 -0 4 5 9 11 12 14 -0 4 5 9 11 12 15 -0 4 5 9 11 13 14 -0 4 5 9 11 13 15 -0 4 5 9 11 14 15 -0 4 5 9 12 13 14 -0 4 5 9 12 13 15 -0 4 5 9 12 14 15 -0 4 5 9 13 14 15 -0 4 5 10 11 12 13 -0 4 5 10 11 12 14 -0 4 5 10 11 12 15 -0 4 5 10 11 13 14 -0 4 5 10 11 13 15 -0 4 5 10 11 14 15 -0 4 5 10 12 13 14 -0 4 5 10 12 13 15 -0 4 5 10 12 14 15 -0 4 5 10 13 14 15 -0 4 5 11 12 13 14 -0 4 5 11 12 13 15 -0 4 5 11 12 14 15 -0 4 5 11 13 14 15 -0 4 5 12 13 14 15 -0 4 6 7 8 9 10 -0 4 6 7 8 9 11 -0 4 6 7 8 9 12 -0 4 6 7 8 9 13 -0 4 6 7 8 9 14 -0 4 6 7 8 9 15 -0 4 6 7 8 10 11 -0 4 6 7 8 10 12 -0 4 6 7 8 10 13 -0 4 6 7 8 10 14 -0 4 6 7 8 10 15 -0 4 6 7 8 11 12 -0 4 6 7 8 11 13 -0 4 6 7 8 11 14 -0 4 6 7 8 11 15 -0 4 6 7 8 12 13 -0 4 6 7 8 12 14 -0 4 6 7 8 12 15 -0 4 6 7 8 13 14 -0 4 6 7 8 13 15 -0 4 6 7 8 14 15 -0 4 6 7 9 10 11 -0 4 6 7 9 10 12 -0 4 6 7 9 10 13 -0 4 6 7 9 10 14 -0 4 6 7 9 10 15 -0 4 6 7 9 11 12 -0 4 6 7 9 11 13 -0 4 6 7 9 11 14 -0 4 6 7 9 11 15 -0 4 6 7 9 12 13 -0 4 6 7 9 12 14 -0 4 6 7 9 12 15 -0 4 6 7 9 13 14 -0 4 6 7 9 13 15 -0 4 6 7 9 14 15 -0 4 6 7 10 11 12 -0 4 6 7 10 11 13 -0 4 6 7 10 11 14 -0 4 6 7 10 11 15 -0 4 6 7 10 12 13 -0 4 6 7 10 12 14 -0 4 6 7 10 12 15 -0 4 6 7 10 13 14 -0 4 6 7 10 13 15 -0 4 6 7 10 14 15 -0 4 6 7 11 12 13 -0 4 6 7 11 12 14 -0 4 6 7 11 12 15 -0 4 6 7 11 13 14 -0 4 6 7 11 13 15 -0 4 6 7 11 14 15 -0 4 6 7 12 13 14 -0 4 6 7 12 13 15 -0 4 6 7 12 14 15 -0 4 6 7 13 14 15 -0 4 6 8 9 10 11 -0 4 6 8 9 10 12 -0 4 6 8 9 10 13 -0 4 6 8 9 10 14 -0 4 6 8 9 10 15 -0 4 6 8 9 11 12 -0 4 6 8 9 11 13 -0 4 6 8 9 11 14 -0 4 6 8 9 11 15 -0 4 6 8 9 12 13 -0 4 6 8 9 12 14 -0 4 6 8 9 12 15 -0 4 6 8 9 13 14 -0 4 6 8 9 13 15 -0 4 6 8 9 14 15 -0 4 6 8 10 11 12 -0 4 6 8 10 11 13 -0 4 6 8 10 11 14 -0 4 6 8 10 11 15 -0 4 6 8 10 12 13 -0 4 6 8 10 12 14 -0 4 6 8 10 12 15 -0 4 6 8 10 13 14 -0 4 6 8 10 13 15 -0 4 6 8 10 14 15 -0 4 6 8 11 12 13 -0 4 6 8 11 12 14 -0 4 6 8 11 12 15 -0 4 6 8 11 13 14 -0 4 6 8 11 13 15 -0 4 6 8 11 14 15 -0 4 6 8 12 13 14 -0 4 6 8 12 13 15 -0 4 6 8 12 14 15 -0 4 6 8 13 14 15 -0 4 6 9 10 11 12 -0 4 6 9 10 11 13 -0 4 6 9 10 11 14 -0 4 6 9 10 11 15 -0 4 6 9 10 12 13 -0 4 6 9 10 12 14 -0 4 6 9 10 12 15 -0 4 6 9 10 13 14 -0 4 6 9 10 13 15 -0 4 6 9 10 14 15 -0 4 6 9 11 12 13 -0 4 6 9 11 12 14 -0 4 6 9 11 12 15 -0 4 6 9 11 13 14 -0 4 6 9 11 13 15 -0 4 6 9 11 14 15 -0 4 6 9 12 13 14 -0 4 6 9 12 13 15 -0 4 6 9 12 14 15 -0 4 6 9 13 14 15 -0 4 6 10 11 12 13 -0 4 6 10 11 12 14 -0 4 6 10 11 12 15 -0 4 6 10 11 13 14 -0 4 6 10 11 13 15 -0 4 6 10 11 14 15 -0 4 6 10 12 13 14 -0 4 6 10 12 13 15 -0 4 6 10 12 14 15 -0 4 6 10 13 14 15 -0 4 6 11 12 13 14 -0 4 6 11 12 13 15 -0 4 6 11 12 14 15 -0 4 6 11 13 14 15 -0 4 6 12 13 14 15 -0 4 7 8 9 10 11 -0 4 7 8 9 10 12 -0 4 7 8 9 10 13 -0 4 7 8 9 10 14 -0 4 7 8 9 10 15 -0 4 7 8 9 11 12 -0 4 7 8 9 11 13 -0 4 7 8 9 11 14 -0 4 7 8 9 11 15 -0 4 7 8 9 12 13 -0 4 7 8 9 12 14 -0 4 7 8 9 12 15 -0 4 7 8 9 13 14 -0 4 7 8 9 13 15 -0 4 7 8 9 14 15 -0 4 7 8 10 11 12 -0 4 7 8 10 11 13 -0 4 7 8 10 11 14 -0 4 7 8 10 11 15 -0 4 7 8 10 12 13 -0 4 7 8 10 12 14 -0 4 7 8 10 12 15 -0 4 7 8 10 13 14 -0 4 7 8 10 13 15 -0 4 7 8 10 14 15 -0 4 7 8 11 12 13 -0 4 7 8 11 12 14 -0 4 7 8 11 12 15 -0 4 7 8 11 13 14 -0 4 7 8 11 13 15 -0 4 7 8 11 14 15 -0 4 7 8 12 13 14 -0 4 7 8 12 13 15 -0 4 7 8 12 14 15 -0 4 7 8 13 14 15 -0 4 7 9 10 11 12 -0 4 7 9 10 11 13 -0 4 7 9 10 11 14 -0 4 7 9 10 11 15 -0 4 7 9 10 12 13 -0 4 7 9 10 12 14 -0 4 7 9 10 12 15 -0 4 7 9 10 13 14 -0 4 7 9 10 13 15 -0 4 7 9 10 14 15 -0 4 7 9 11 12 13 -0 4 7 9 11 12 14 -0 4 7 9 11 12 15 -0 4 7 9 11 13 14 -0 4 7 9 11 13 15 -0 4 7 9 11 14 15 -0 4 7 9 12 13 14 -0 4 7 9 12 13 15 -0 4 7 9 12 14 15 -0 4 7 9 13 14 15 -0 4 7 10 11 12 13 -0 4 7 10 11 12 14 -0 4 7 10 11 12 15 -0 4 7 10 11 13 14 -0 4 7 10 11 13 15 -0 4 7 10 11 14 15 -0 4 7 10 12 13 14 -0 4 7 10 12 13 15 -0 4 7 10 12 14 15 -0 4 7 10 13 14 15 -0 4 7 11 12 13 14 -0 4 7 11 12 13 15 -0 4 7 11 12 14 15 -0 4 7 11 13 14 15 -0 4 7 12 13 14 15 -0 4 8 9 10 11 12 -0 4 8 9 10 11 13 -0 4 8 9 10 11 14 -0 4 8 9 10 11 15 -0 4 8 9 10 12 13 -0 4 8 9 10 12 14 -0 4 8 9 10 12 15 -0 4 8 9 10 13 14 -0 4 8 9 10 13 15 -0 4 8 9 10 14 15 -0 4 8 9 11 12 13 -0 4 8 9 11 12 14 -0 4 8 9 11 12 15 -0 4 8 9 11 13 14 -0 4 8 9 11 13 15 -0 4 8 9 11 14 15 -0 4 8 9 12 13 14 -0 4 8 9 12 13 15 -0 4 8 9 12 14 15 -0 4 8 9 13 14 15 -0 4 8 10 11 12 13 -0 4 8 10 11 12 14 -0 4 8 10 11 12 15 -0 4 8 10 11 13 14 -0 4 8 10 11 13 15 -0 4 8 10 11 14 15 -0 4 8 10 12 13 14 -0 4 8 10 12 13 15 -0 4 8 10 12 14 15 -0 4 8 10 13 14 15 -0 4 8 11 12 13 14 -0 4 8 11 12 13 15 -0 4 8 11 12 14 15 -0 4 8 11 13 14 15 -0 4 8 12 13 14 15 -0 4 9 10 11 12 13 -0 4 9 10 11 12 14 -0 4 9 10 11 12 15 -0 4 9 10 11 13 14 -0 4 9 10 11 13 15 -0 4 9 10 11 14 15 -0 4 9 10 12 13 14 -0 4 9 10 12 13 15 -0 4 9 10 12 14 15 -0 4 9 10 13 14 15 -0 4 9 11 12 13 14 -0 4 9 11 12 13 15 -0 4 9 11 12 14 15 -0 4 9 11 13 14 15 -0 4 9 12 13 14 15 -0 4 10 11 12 13 14 -0 4 10 11 12 13 15 -0 4 10 11 12 14 15 -0 4 10 11 13 14 15 -0 4 10 12 13 14 15 -0 4 11 12 13 14 15 -0 5 6 7 8 9 10 -0 5 6 7 8 9 11 -0 5 6 7 8 9 12 -0 5 6 7 8 9 13 -0 5 6 7 8 9 14 -0 5 6 7 8 9 15 -0 5 6 7 8 10 11 -0 5 6 7 8 10 12 -0 5 6 7 8 10 13 -0 5 6 7 8 10 14 -0 5 6 7 8 10 15 -0 5 6 7 8 11 12 -0 5 6 7 8 11 13 -0 5 6 7 8 11 14 -0 5 6 7 8 11 15 -0 5 6 7 8 12 13 -0 5 6 7 8 12 14 -0 5 6 7 8 12 15 -0 5 6 7 8 13 14 -0 5 6 7 8 13 15 -0 5 6 7 8 14 15 -0 5 6 7 9 10 11 -0 5 6 7 9 10 12 -0 5 6 7 9 10 13 -0 5 6 7 9 10 14 -0 5 6 7 9 10 15 -0 5 6 7 9 11 12 -0 5 6 7 9 11 13 -0 5 6 7 9 11 14 -0 5 6 7 9 11 15 -0 5 6 7 9 12 13 -0 5 6 7 9 12 14 -0 5 6 7 9 12 15 -0 5 6 7 9 13 14 -0 5 6 7 9 13 15 -0 5 6 7 9 14 15 -0 5 6 7 10 11 12 -0 5 6 7 10 11 13 -0 5 6 7 10 11 14 -0 5 6 7 10 11 15 -0 5 6 7 10 12 13 -0 5 6 7 10 12 14 -0 5 6 7 10 12 15 -0 5 6 7 10 13 14 -0 5 6 7 10 13 15 -0 5 6 7 10 14 15 -0 5 6 7 11 12 13 -0 5 6 7 11 12 14 -0 5 6 7 11 12 15 -0 5 6 7 11 13 14 -0 5 6 7 11 13 15 -0 5 6 7 11 14 15 -0 5 6 7 12 13 14 -0 5 6 7 12 13 15 -0 5 6 7 12 14 15 -0 5 6 7 13 14 15 -0 5 6 8 9 10 11 -0 5 6 8 9 10 12 -0 5 6 8 9 10 13 -0 5 6 8 9 10 14 -0 5 6 8 9 10 15 -0 5 6 8 9 11 12 -0 5 6 8 9 11 13 -0 5 6 8 9 11 14 -0 5 6 8 9 11 15 -0 5 6 8 9 12 13 -0 5 6 8 9 12 14 -0 5 6 8 9 12 15 -0 5 6 8 9 13 14 -0 5 6 8 9 13 15 -0 5 6 8 9 14 15 -0 5 6 8 10 11 12 -0 5 6 8 10 11 13 -0 5 6 8 10 11 14 -0 5 6 8 10 11 15 -0 5 6 8 10 12 13 -0 5 6 8 10 12 14 -0 5 6 8 10 12 15 -0 5 6 8 10 13 14 -0 5 6 8 10 13 15 -0 5 6 8 10 14 15 -0 5 6 8 11 12 13 -0 5 6 8 11 12 14 -0 5 6 8 11 12 15 -0 5 6 8 11 13 14 -0 5 6 8 11 13 15 -0 5 6 8 11 14 15 -0 5 6 8 12 13 14 -0 5 6 8 12 13 15 -0 5 6 8 12 14 15 -0 5 6 8 13 14 15 -0 5 6 9 10 11 12 -0 5 6 9 10 11 13 -0 5 6 9 10 11 14 -0 5 6 9 10 11 15 -0 5 6 9 10 12 13 -0 5 6 9 10 12 14 -0 5 6 9 10 12 15 -0 5 6 9 10 13 14 -0 5 6 9 10 13 15 -0 5 6 9 10 14 15 -0 5 6 9 11 12 13 -0 5 6 9 11 12 14 -0 5 6 9 11 12 15 -0 5 6 9 11 13 14 -0 5 6 9 11 13 15 -0 5 6 9 11 14 15 -0 5 6 9 12 13 14 -0 5 6 9 12 13 15 -0 5 6 9 12 14 15 -0 5 6 9 13 14 15 -0 5 6 10 11 12 13 -0 5 6 10 11 12 14 -0 5 6 10 11 12 15 -0 5 6 10 11 13 14 -0 5 6 10 11 13 15 -0 5 6 10 11 14 15 -0 5 6 10 12 13 14 -0 5 6 10 12 13 15 -0 5 6 10 12 14 15 -0 5 6 10 13 14 15 -0 5 6 11 12 13 14 -0 5 6 11 12 13 15 -0 5 6 11 12 14 15 -0 5 6 11 13 14 15 -0 5 6 12 13 14 15 -0 5 7 8 9 10 11 -0 5 7 8 9 10 12 -0 5 7 8 9 10 13 -0 5 7 8 9 10 14 -0 5 7 8 9 10 15 -0 5 7 8 9 11 12 -0 5 7 8 9 11 13 -0 5 7 8 9 11 14 -0 5 7 8 9 11 15 -0 5 7 8 9 12 13 -0 5 7 8 9 12 14 -0 5 7 8 9 12 15 -0 5 7 8 9 13 14 -0 5 7 8 9 13 15 -0 5 7 8 9 14 15 -0 5 7 8 10 11 12 -0 5 7 8 10 11 13 -0 5 7 8 10 11 14 -0 5 7 8 10 11 15 -0 5 7 8 10 12 13 -0 5 7 8 10 12 14 -0 5 7 8 10 12 15 -0 5 7 8 10 13 14 -0 5 7 8 10 13 15 -0 5 7 8 10 14 15 -0 5 7 8 11 12 13 -0 5 7 8 11 12 14 -0 5 7 8 11 12 15 -0 5 7 8 11 13 14 -0 5 7 8 11 13 15 -0 5 7 8 11 14 15 -0 5 7 8 12 13 14 -0 5 7 8 12 13 15 -0 5 7 8 12 14 15 -0 5 7 8 13 14 15 -0 5 7 9 10 11 12 -0 5 7 9 10 11 13 -0 5 7 9 10 11 14 -0 5 7 9 10 11 15 -0 5 7 9 10 12 13 -0 5 7 9 10 12 14 -0 5 7 9 10 12 15 -0 5 7 9 10 13 14 -0 5 7 9 10 13 15 -0 5 7 9 10 14 15 -0 5 7 9 11 12 13 -0 5 7 9 11 12 14 -0 5 7 9 11 12 15 -0 5 7 9 11 13 14 -0 5 7 9 11 13 15 -0 5 7 9 11 14 15 -0 5 7 9 12 13 14 -0 5 7 9 12 13 15 -0 5 7 9 12 14 15 -0 5 7 9 13 14 15 -0 5 7 10 11 12 13 -0 5 7 10 11 12 14 -0 5 7 10 11 12 15 -0 5 7 10 11 13 14 -0 5 7 10 11 13 15 -0 5 7 10 11 14 15 -0 5 7 10 12 13 14 -0 5 7 10 12 13 15 -0 5 7 10 12 14 15 -0 5 7 10 13 14 15 -0 5 7 11 12 13 14 -0 5 7 11 12 13 15 -0 5 7 11 12 14 15 -0 5 7 11 13 14 15 -0 5 7 12 13 14 15 -0 5 8 9 10 11 12 -0 5 8 9 10 11 13 -0 5 8 9 10 11 14 -0 5 8 9 10 11 15 -0 5 8 9 10 12 13 -0 5 8 9 10 12 14 -0 5 8 9 10 12 15 -0 5 8 9 10 13 14 -0 5 8 9 10 13 15 -0 5 8 9 10 14 15 -0 5 8 9 11 12 13 -0 5 8 9 11 12 14 -0 5 8 9 11 12 15 -0 5 8 9 11 13 14 -0 5 8 9 11 13 15 -0 5 8 9 11 14 15 -0 5 8 9 12 13 14 -0 5 8 9 12 13 15 -0 5 8 9 12 14 15 -0 5 8 9 13 14 15 -0 5 8 10 11 12 13 -0 5 8 10 11 12 14 -0 5 8 10 11 12 15 -0 5 8 10 11 13 14 -0 5 8 10 11 13 15 -0 5 8 10 11 14 15 -0 5 8 10 12 13 14 -0 5 8 10 12 13 15 -0 5 8 10 12 14 15 -0 5 8 10 13 14 15 -0 5 8 11 12 13 14 -0 5 8 11 12 13 15 -0 5 8 11 12 14 15 -0 5 8 11 13 14 15 -0 5 8 12 13 14 15 -0 5 9 10 11 12 13 -0 5 9 10 11 12 14 -0 5 9 10 11 12 15 -0 5 9 10 11 13 14 -0 5 9 10 11 13 15 -0 5 9 10 11 14 15 -0 5 9 10 12 13 14 -0 5 9 10 12 13 15 -0 5 9 10 12 14 15 -0 5 9 10 13 14 15 -0 5 9 11 12 13 14 -0 5 9 11 12 13 15 -0 5 9 11 12 14 15 -0 5 9 11 13 14 15 -0 5 9 12 13 14 15 -0 5 10 11 12 13 14 -0 5 10 11 12 13 15 -0 5 10 11 12 14 15 -0 5 10 11 13 14 15 -0 5 10 12 13 14 15 -0 5 11 12 13 14 15 -0 6 7 8 9 10 11 -0 6 7 8 9 10 12 -0 6 7 8 9 10 13 -0 6 7 8 9 10 14 -0 6 7 8 9 10 15 -0 6 7 8 9 11 12 -0 6 7 8 9 11 13 -0 6 7 8 9 11 14 -0 6 7 8 9 11 15 -0 6 7 8 9 12 13 -0 6 7 8 9 12 14 -0 6 7 8 9 12 15 -0 6 7 8 9 13 14 -0 6 7 8 9 13 15 -0 6 7 8 9 14 15 -0 6 7 8 10 11 12 -0 6 7 8 10 11 13 -0 6 7 8 10 11 14 -0 6 7 8 10 11 15 -0 6 7 8 10 12 13 -0 6 7 8 10 12 14 -0 6 7 8 10 12 15 -0 6 7 8 10 13 14 -0 6 7 8 10 13 15 -0 6 7 8 10 14 15 -0 6 7 8 11 12 13 -0 6 7 8 11 12 14 -0 6 7 8 11 12 15 -0 6 7 8 11 13 14 -0 6 7 8 11 13 15 -0 6 7 8 11 14 15 -0 6 7 8 12 13 14 -0 6 7 8 12 13 15 -0 6 7 8 12 14 15 -0 6 7 8 13 14 15 -0 6 7 9 10 11 12 -0 6 7 9 10 11 13 -0 6 7 9 10 11 14 -0 6 7 9 10 11 15 -0 6 7 9 10 12 13 -0 6 7 9 10 12 14 -0 6 7 9 10 12 15 -0 6 7 9 10 13 14 -0 6 7 9 10 13 15 -0 6 7 9 10 14 15 -0 6 7 9 11 12 13 -0 6 7 9 11 12 14 -0 6 7 9 11 12 15 -0 6 7 9 11 13 14 -0 6 7 9 11 13 15 -0 6 7 9 11 14 15 -0 6 7 9 12 13 14 -0 6 7 9 12 13 15 -0 6 7 9 12 14 15 -0 6 7 9 13 14 15 -0 6 7 10 11 12 13 -0 6 7 10 11 12 14 -0 6 7 10 11 12 15 -0 6 7 10 11 13 14 -0 6 7 10 11 13 15 -0 6 7 10 11 14 15 -0 6 7 10 12 13 14 -0 6 7 10 12 13 15 -0 6 7 10 12 14 15 -0 6 7 10 13 14 15 -0 6 7 11 12 13 14 -0 6 7 11 12 13 15 -0 6 7 11 12 14 15 -0 6 7 11 13 14 15 -0 6 7 12 13 14 15 -0 6 8 9 10 11 12 -0 6 8 9 10 11 13 -0 6 8 9 10 11 14 -0 6 8 9 10 11 15 -0 6 8 9 10 12 13 -0 6 8 9 10 12 14 -0 6 8 9 10 12 15 -0 6 8 9 10 13 14 -0 6 8 9 10 13 15 -0 6 8 9 10 14 15 -0 6 8 9 11 12 13 -0 6 8 9 11 12 14 -0 6 8 9 11 12 15 -0 6 8 9 11 13 14 -0 6 8 9 11 13 15 -0 6 8 9 11 14 15 -0 6 8 9 12 13 14 -0 6 8 9 12 13 15 -0 6 8 9 12 14 15 -0 6 8 9 13 14 15 -0 6 8 10 11 12 13 -0 6 8 10 11 12 14 -0 6 8 10 11 12 15 -0 6 8 10 11 13 14 -0 6 8 10 11 13 15 -0 6 8 10 11 14 15 -0 6 8 10 12 13 14 -0 6 8 10 12 13 15 -0 6 8 10 12 14 15 -0 6 8 10 13 14 15 -0 6 8 11 12 13 14 -0 6 8 11 12 13 15 -0 6 8 11 12 14 15 -0 6 8 11 13 14 15 -0 6 8 12 13 14 15 -0 6 9 10 11 12 13 -0 6 9 10 11 12 14 -0 6 9 10 11 12 15 -0 6 9 10 11 13 14 -0 6 9 10 11 13 15 -0 6 9 10 11 14 15 -0 6 9 10 12 13 14 -0 6 9 10 12 13 15 -0 6 9 10 12 14 15 -0 6 9 10 13 14 15 -0 6 9 11 12 13 14 -0 6 9 11 12 13 15 -0 6 9 11 12 14 15 -0 6 9 11 13 14 15 -0 6 9 12 13 14 15 -0 6 10 11 12 13 14 -0 6 10 11 12 13 15 -0 6 10 11 12 14 15 -0 6 10 11 13 14 15 -0 6 10 12 13 14 15 -0 6 11 12 13 14 15 -0 7 8 9 10 11 12 -0 7 8 9 10 11 13 -0 7 8 9 10 11 14 -0 7 8 9 10 11 15 -0 7 8 9 10 12 13 -0 7 8 9 10 12 14 -0 7 8 9 10 12 15 -0 7 8 9 10 13 14 -0 7 8 9 10 13 15 -0 7 8 9 10 14 15 -0 7 8 9 11 12 13 -0 7 8 9 11 12 14 -0 7 8 9 11 12 15 -0 7 8 9 11 13 14 -0 7 8 9 11 13 15 -0 7 8 9 11 14 15 -0 7 8 9 12 13 14 -0 7 8 9 12 13 15 -0 7 8 9 12 14 15 -0 7 8 9 13 14 15 -0 7 8 10 11 12 13 -0 7 8 10 11 12 14 -0 7 8 10 11 12 15 -0 7 8 10 11 13 14 -0 7 8 10 11 13 15 -0 7 8 10 11 14 15 -0 7 8 10 12 13 14 -0 7 8 10 12 13 15 -0 7 8 10 12 14 15 -0 7 8 10 13 14 15 -0 7 8 11 12 13 14 -0 7 8 11 12 13 15 -0 7 8 11 12 14 15 -0 7 8 11 13 14 15 -0 7 8 12 13 14 15 -0 7 9 10 11 12 13 -0 7 9 10 11 12 14 -0 7 9 10 11 12 15 -0 7 9 10 11 13 14 -0 7 9 10 11 13 15 -0 7 9 10 11 14 15 -0 7 9 10 12 13 14 -0 7 9 10 12 13 15 -0 7 9 10 12 14 15 -0 7 9 10 13 14 15 -0 7 9 11 12 13 14 -0 7 9 11 12 13 15 -0 7 9 11 12 14 15 -0 7 9 11 13 14 15 -0 7 9 12 13 14 15 -0 7 10 11 12 13 14 -0 7 10 11 12 13 15 -0 7 10 11 12 14 15 -0 7 10 11 13 14 15 -0 7 10 12 13 14 15 -0 7 11 12 13 14 15 -0 8 9 10 11 12 13 -0 8 9 10 11 12 14 -0 8 9 10 11 12 15 -0 8 9 10 11 13 14 -0 8 9 10 11 13 15 -0 8 9 10 11 14 15 -0 8 9 10 12 13 14 -0 8 9 10 12 13 15 -0 8 9 10 12 14 15 -0 8 9 10 13 14 15 -0 8 9 11 12 13 14 -0 8 9 11 12 13 15 -0 8 9 11 12 14 15 -0 8 9 11 13 14 15 -0 8 9 12 13 14 15 -0 8 10 11 12 13 14 -0 8 10 11 12 13 15 -0 8 10 11 12 14 15 -0 8 10 11 13 14 15 -0 8 10 12 13 14 15 -0 8 11 12 13 14 15 -0 9 10 11 12 13 14 -0 9 10 11 12 13 15 -0 9 10 11 12 14 15 -0 9 10 11 13 14 15 -0 9 10 12 13 14 15 -0 9 11 12 13 14 15 -0 10 11 12 13 14 15 -1 2 3 4 5 6 7 -1 2 3 4 5 6 8 -1 2 3 4 5 6 9 -1 2 3 4 5 6 10 -1 2 3 4 5 6 11 -1 2 3 4 5 6 12 -1 2 3 4 5 6 13 -1 2 3 4 5 6 14 -1 2 3 4 5 6 15 -1 2 3 4 5 7 8 -1 2 3 4 5 7 9 -1 2 3 4 5 7 10 -1 2 3 4 5 7 11 -1 2 3 4 5 7 12 -1 2 3 4 5 7 13 -1 2 3 4 5 7 14 -1 2 3 4 5 7 15 -1 2 3 4 5 8 9 -1 2 3 4 5 8 10 -1 2 3 4 5 8 11 -1 2 3 4 5 8 12 -1 2 3 4 5 8 13 -1 2 3 4 5 8 14 -1 2 3 4 5 8 15 -1 2 3 4 5 9 10 -1 2 3 4 5 9 11 -1 2 3 4 5 9 12 -1 2 3 4 5 9 13 -1 2 3 4 5 9 14 -1 2 3 4 5 9 15 -1 2 3 4 5 10 11 -1 2 3 4 5 10 12 -1 2 3 4 5 10 13 -1 2 3 4 5 10 14 -1 2 3 4 5 10 15 -1 2 3 4 5 11 12 -1 2 3 4 5 11 13 -1 2 3 4 5 11 14 -1 2 3 4 5 11 15 -1 2 3 4 5 12 13 -1 2 3 4 5 12 14 -1 2 3 4 5 12 15 -1 2 3 4 5 13 14 -1 2 3 4 5 13 15 -1 2 3 4 5 14 15 -1 2 3 4 6 7 8 -1 2 3 4 6 7 9 -1 2 3 4 6 7 10 -1 2 3 4 6 7 11 -1 2 3 4 6 7 12 -1 2 3 4 6 7 13 -1 2 3 4 6 7 14 -1 2 3 4 6 7 15 -1 2 3 4 6 8 9 -1 2 3 4 6 8 10 -1 2 3 4 6 8 11 -1 2 3 4 6 8 12 -1 2 3 4 6 8 13 -1 2 3 4 6 8 14 -1 2 3 4 6 8 15 -1 2 3 4 6 9 10 -1 2 3 4 6 9 11 -1 2 3 4 6 9 12 -1 2 3 4 6 9 13 -1 2 3 4 6 9 14 -1 2 3 4 6 9 15 -1 2 3 4 6 10 11 -1 2 3 4 6 10 12 -1 2 3 4 6 10 13 -1 2 3 4 6 10 14 -1 2 3 4 6 10 15 -1 2 3 4 6 11 12 -1 2 3 4 6 11 13 -1 2 3 4 6 11 14 -1 2 3 4 6 11 15 -1 2 3 4 6 12 13 -1 2 3 4 6 12 14 -1 2 3 4 6 12 15 -1 2 3 4 6 13 14 -1 2 3 4 6 13 15 -1 2 3 4 6 14 15 -1 2 3 4 7 8 9 -1 2 3 4 7 8 10 -1 2 3 4 7 8 11 -1 2 3 4 7 8 12 -1 2 3 4 7 8 13 -1 2 3 4 7 8 14 -1 2 3 4 7 8 15 -1 2 3 4 7 9 10 -1 2 3 4 7 9 11 -1 2 3 4 7 9 12 -1 2 3 4 7 9 13 -1 2 3 4 7 9 14 -1 2 3 4 7 9 15 -1 2 3 4 7 10 11 -1 2 3 4 7 10 12 -1 2 3 4 7 10 13 -1 2 3 4 7 10 14 -1 2 3 4 7 10 15 -1 2 3 4 7 11 12 -1 2 3 4 7 11 13 -1 2 3 4 7 11 14 -1 2 3 4 7 11 15 -1 2 3 4 7 12 13 -1 2 3 4 7 12 14 -1 2 3 4 7 12 15 -1 2 3 4 7 13 14 -1 2 3 4 7 13 15 -1 2 3 4 7 14 15 -1 2 3 4 8 9 10 -1 2 3 4 8 9 11 -1 2 3 4 8 9 12 -1 2 3 4 8 9 13 -1 2 3 4 8 9 14 -1 2 3 4 8 9 15 -1 2 3 4 8 10 11 -1 2 3 4 8 10 12 -1 2 3 4 8 10 13 -1 2 3 4 8 10 14 -1 2 3 4 8 10 15 -1 2 3 4 8 11 12 -1 2 3 4 8 11 13 -1 2 3 4 8 11 14 -1 2 3 4 8 11 15 -1 2 3 4 8 12 13 -1 2 3 4 8 12 14 -1 2 3 4 8 12 15 -1 2 3 4 8 13 14 -1 2 3 4 8 13 15 -1 2 3 4 8 14 15 -1 2 3 4 9 10 11 -1 2 3 4 9 10 12 -1 2 3 4 9 10 13 -1 2 3 4 9 10 14 -1 2 3 4 9 10 15 -1 2 3 4 9 11 12 -1 2 3 4 9 11 13 -1 2 3 4 9 11 14 -1 2 3 4 9 11 15 -1 2 3 4 9 12 13 -1 2 3 4 9 12 14 -1 2 3 4 9 12 15 -1 2 3 4 9 13 14 -1 2 3 4 9 13 15 -1 2 3 4 9 14 15 -1 2 3 4 10 11 12 -1 2 3 4 10 11 13 -1 2 3 4 10 11 14 -1 2 3 4 10 11 15 -1 2 3 4 10 12 13 -1 2 3 4 10 12 14 -1 2 3 4 10 12 15 -1 2 3 4 10 13 14 -1 2 3 4 10 13 15 -1 2 3 4 10 14 15 -1 2 3 4 11 12 13 -1 2 3 4 11 12 14 -1 2 3 4 11 12 15 -1 2 3 4 11 13 14 -1 2 3 4 11 13 15 -1 2 3 4 11 14 15 -1 2 3 4 12 13 14 -1 2 3 4 12 13 15 -1 2 3 4 12 14 15 -1 2 3 4 13 14 15 -1 2 3 5 6 7 8 -1 2 3 5 6 7 9 -1 2 3 5 6 7 10 -1 2 3 5 6 7 11 -1 2 3 5 6 7 12 -1 2 3 5 6 7 13 -1 2 3 5 6 7 14 -1 2 3 5 6 7 15 -1 2 3 5 6 8 9 -1 2 3 5 6 8 10 -1 2 3 5 6 8 11 -1 2 3 5 6 8 12 -1 2 3 5 6 8 13 -1 2 3 5 6 8 14 -1 2 3 5 6 8 15 -1 2 3 5 6 9 10 -1 2 3 5 6 9 11 -1 2 3 5 6 9 12 -1 2 3 5 6 9 13 -1 2 3 5 6 9 14 -1 2 3 5 6 9 15 -1 2 3 5 6 10 11 -1 2 3 5 6 10 12 -1 2 3 5 6 10 13 -1 2 3 5 6 10 14 -1 2 3 5 6 10 15 -1 2 3 5 6 11 12 -1 2 3 5 6 11 13 -1 2 3 5 6 11 14 -1 2 3 5 6 11 15 -1 2 3 5 6 12 13 -1 2 3 5 6 12 14 -1 2 3 5 6 12 15 -1 2 3 5 6 13 14 -1 2 3 5 6 13 15 -1 2 3 5 6 14 15 -1 2 3 5 7 8 9 -1 2 3 5 7 8 10 -1 2 3 5 7 8 11 -1 2 3 5 7 8 12 -1 2 3 5 7 8 13 -1 2 3 5 7 8 14 -1 2 3 5 7 8 15 -1 2 3 5 7 9 10 -1 2 3 5 7 9 11 -1 2 3 5 7 9 12 -1 2 3 5 7 9 13 -1 2 3 5 7 9 14 -1 2 3 5 7 9 15 -1 2 3 5 7 10 11 -1 2 3 5 7 10 12 -1 2 3 5 7 10 13 -1 2 3 5 7 10 14 -1 2 3 5 7 10 15 -1 2 3 5 7 11 12 -1 2 3 5 7 11 13 -1 2 3 5 7 11 14 -1 2 3 5 7 11 15 -1 2 3 5 7 12 13 -1 2 3 5 7 12 14 -1 2 3 5 7 12 15 -1 2 3 5 7 13 14 -1 2 3 5 7 13 15 -1 2 3 5 7 14 15 -1 2 3 5 8 9 10 -1 2 3 5 8 9 11 -1 2 3 5 8 9 12 -1 2 3 5 8 9 13 -1 2 3 5 8 9 14 -1 2 3 5 8 9 15 -1 2 3 5 8 10 11 -1 2 3 5 8 10 12 -1 2 3 5 8 10 13 -1 2 3 5 8 10 14 -1 2 3 5 8 10 15 -1 2 3 5 8 11 12 -1 2 3 5 8 11 13 -1 2 3 5 8 11 14 -1 2 3 5 8 11 15 -1 2 3 5 8 12 13 -1 2 3 5 8 12 14 -1 2 3 5 8 12 15 -1 2 3 5 8 13 14 -1 2 3 5 8 13 15 -1 2 3 5 8 14 15 -1 2 3 5 9 10 11 -1 2 3 5 9 10 12 -1 2 3 5 9 10 13 -1 2 3 5 9 10 14 -1 2 3 5 9 10 15 -1 2 3 5 9 11 12 -1 2 3 5 9 11 13 -1 2 3 5 9 11 14 -1 2 3 5 9 11 15 -1 2 3 5 9 12 13 -1 2 3 5 9 12 14 -1 2 3 5 9 12 15 -1 2 3 5 9 13 14 -1 2 3 5 9 13 15 -1 2 3 5 9 14 15 -1 2 3 5 10 11 12 -1 2 3 5 10 11 13 -1 2 3 5 10 11 14 -1 2 3 5 10 11 15 -1 2 3 5 10 12 13 -1 2 3 5 10 12 14 -1 2 3 5 10 12 15 -1 2 3 5 10 13 14 -1 2 3 5 10 13 15 -1 2 3 5 10 14 15 -1 2 3 5 11 12 13 -1 2 3 5 11 12 14 -1 2 3 5 11 12 15 -1 2 3 5 11 13 14 -1 2 3 5 11 13 15 -1 2 3 5 11 14 15 -1 2 3 5 12 13 14 -1 2 3 5 12 13 15 -1 2 3 5 12 14 15 -1 2 3 5 13 14 15 -1 2 3 6 7 8 9 -1 2 3 6 7 8 10 -1 2 3 6 7 8 11 -1 2 3 6 7 8 12 -1 2 3 6 7 8 13 -1 2 3 6 7 8 14 -1 2 3 6 7 8 15 -1 2 3 6 7 9 10 -1 2 3 6 7 9 11 -1 2 3 6 7 9 12 -1 2 3 6 7 9 13 -1 2 3 6 7 9 14 -1 2 3 6 7 9 15 -1 2 3 6 7 10 11 -1 2 3 6 7 10 12 -1 2 3 6 7 10 13 -1 2 3 6 7 10 14 -1 2 3 6 7 10 15 -1 2 3 6 7 11 12 -1 2 3 6 7 11 13 -1 2 3 6 7 11 14 -1 2 3 6 7 11 15 -1 2 3 6 7 12 13 -1 2 3 6 7 12 14 -1 2 3 6 7 12 15 -1 2 3 6 7 13 14 -1 2 3 6 7 13 15 -1 2 3 6 7 14 15 -1 2 3 6 8 9 10 -1 2 3 6 8 9 11 -1 2 3 6 8 9 12 -1 2 3 6 8 9 13 -1 2 3 6 8 9 14 -1 2 3 6 8 9 15 -1 2 3 6 8 10 11 -1 2 3 6 8 10 12 -1 2 3 6 8 10 13 -1 2 3 6 8 10 14 -1 2 3 6 8 10 15 -1 2 3 6 8 11 12 -1 2 3 6 8 11 13 -1 2 3 6 8 11 14 -1 2 3 6 8 11 15 -1 2 3 6 8 12 13 -1 2 3 6 8 12 14 -1 2 3 6 8 12 15 -1 2 3 6 8 13 14 -1 2 3 6 8 13 15 -1 2 3 6 8 14 15 -1 2 3 6 9 10 11 -1 2 3 6 9 10 12 -1 2 3 6 9 10 13 -1 2 3 6 9 10 14 -1 2 3 6 9 10 15 -1 2 3 6 9 11 12 -1 2 3 6 9 11 13 -1 2 3 6 9 11 14 -1 2 3 6 9 11 15 -1 2 3 6 9 12 13 -1 2 3 6 9 12 14 -1 2 3 6 9 12 15 -1 2 3 6 9 13 14 -1 2 3 6 9 13 15 -1 2 3 6 9 14 15 -1 2 3 6 10 11 12 -1 2 3 6 10 11 13 -1 2 3 6 10 11 14 -1 2 3 6 10 11 15 -1 2 3 6 10 12 13 -1 2 3 6 10 12 14 -1 2 3 6 10 12 15 -1 2 3 6 10 13 14 -1 2 3 6 10 13 15 -1 2 3 6 10 14 15 -1 2 3 6 11 12 13 -1 2 3 6 11 12 14 -1 2 3 6 11 12 15 -1 2 3 6 11 13 14 -1 2 3 6 11 13 15 -1 2 3 6 11 14 15 -1 2 3 6 12 13 14 -1 2 3 6 12 13 15 -1 2 3 6 12 14 15 -1 2 3 6 13 14 15 -1 2 3 7 8 9 10 -1 2 3 7 8 9 11 -1 2 3 7 8 9 12 -1 2 3 7 8 9 13 -1 2 3 7 8 9 14 -1 2 3 7 8 9 15 -1 2 3 7 8 10 11 -1 2 3 7 8 10 12 -1 2 3 7 8 10 13 -1 2 3 7 8 10 14 -1 2 3 7 8 10 15 -1 2 3 7 8 11 12 -1 2 3 7 8 11 13 -1 2 3 7 8 11 14 -1 2 3 7 8 11 15 -1 2 3 7 8 12 13 -1 2 3 7 8 12 14 -1 2 3 7 8 12 15 -1 2 3 7 8 13 14 -1 2 3 7 8 13 15 -1 2 3 7 8 14 15 -1 2 3 7 9 10 11 -1 2 3 7 9 10 12 -1 2 3 7 9 10 13 -1 2 3 7 9 10 14 -1 2 3 7 9 10 15 -1 2 3 7 9 11 12 -1 2 3 7 9 11 13 -1 2 3 7 9 11 14 -1 2 3 7 9 11 15 -1 2 3 7 9 12 13 -1 2 3 7 9 12 14 -1 2 3 7 9 12 15 -1 2 3 7 9 13 14 -1 2 3 7 9 13 15 -1 2 3 7 9 14 15 -1 2 3 7 10 11 12 -1 2 3 7 10 11 13 -1 2 3 7 10 11 14 -1 2 3 7 10 11 15 -1 2 3 7 10 12 13 -1 2 3 7 10 12 14 -1 2 3 7 10 12 15 -1 2 3 7 10 13 14 -1 2 3 7 10 13 15 -1 2 3 7 10 14 15 -1 2 3 7 11 12 13 -1 2 3 7 11 12 14 -1 2 3 7 11 12 15 -1 2 3 7 11 13 14 -1 2 3 7 11 13 15 -1 2 3 7 11 14 15 -1 2 3 7 12 13 14 -1 2 3 7 12 13 15 -1 2 3 7 12 14 15 -1 2 3 7 13 14 15 -1 2 3 8 9 10 11 -1 2 3 8 9 10 12 -1 2 3 8 9 10 13 -1 2 3 8 9 10 14 -1 2 3 8 9 10 15 -1 2 3 8 9 11 12 -1 2 3 8 9 11 13 -1 2 3 8 9 11 14 -1 2 3 8 9 11 15 -1 2 3 8 9 12 13 -1 2 3 8 9 12 14 -1 2 3 8 9 12 15 -1 2 3 8 9 13 14 -1 2 3 8 9 13 15 -1 2 3 8 9 14 15 -1 2 3 8 10 11 12 -1 2 3 8 10 11 13 -1 2 3 8 10 11 14 -1 2 3 8 10 11 15 -1 2 3 8 10 12 13 -1 2 3 8 10 12 14 -1 2 3 8 10 12 15 -1 2 3 8 10 13 14 -1 2 3 8 10 13 15 -1 2 3 8 10 14 15 -1 2 3 8 11 12 13 -1 2 3 8 11 12 14 -1 2 3 8 11 12 15 -1 2 3 8 11 13 14 -1 2 3 8 11 13 15 -1 2 3 8 11 14 15 -1 2 3 8 12 13 14 -1 2 3 8 12 13 15 -1 2 3 8 12 14 15 -1 2 3 8 13 14 15 -1 2 3 9 10 11 12 -1 2 3 9 10 11 13 -1 2 3 9 10 11 14 -1 2 3 9 10 11 15 -1 2 3 9 10 12 13 -1 2 3 9 10 12 14 -1 2 3 9 10 12 15 -1 2 3 9 10 13 14 -1 2 3 9 10 13 15 -1 2 3 9 10 14 15 -1 2 3 9 11 12 13 -1 2 3 9 11 12 14 -1 2 3 9 11 12 15 -1 2 3 9 11 13 14 -1 2 3 9 11 13 15 -1 2 3 9 11 14 15 -1 2 3 9 12 13 14 -1 2 3 9 12 13 15 -1 2 3 9 12 14 15 -1 2 3 9 13 14 15 -1 2 3 10 11 12 13 -1 2 3 10 11 12 14 -1 2 3 10 11 12 15 -1 2 3 10 11 13 14 -1 2 3 10 11 13 15 -1 2 3 10 11 14 15 -1 2 3 10 12 13 14 -1 2 3 10 12 13 15 -1 2 3 10 12 14 15 -1 2 3 10 13 14 15 -1 2 3 11 12 13 14 -1 2 3 11 12 13 15 -1 2 3 11 12 14 15 -1 2 3 11 13 14 15 -1 2 3 12 13 14 15 -1 2 4 5 6 7 8 -1 2 4 5 6 7 9 -1 2 4 5 6 7 10 -1 2 4 5 6 7 11 -1 2 4 5 6 7 12 -1 2 4 5 6 7 13 -1 2 4 5 6 7 14 -1 2 4 5 6 7 15 -1 2 4 5 6 8 9 -1 2 4 5 6 8 10 -1 2 4 5 6 8 11 -1 2 4 5 6 8 12 -1 2 4 5 6 8 13 -1 2 4 5 6 8 14 -1 2 4 5 6 8 15 -1 2 4 5 6 9 10 -1 2 4 5 6 9 11 -1 2 4 5 6 9 12 -1 2 4 5 6 9 13 -1 2 4 5 6 9 14 -1 2 4 5 6 9 15 -1 2 4 5 6 10 11 -1 2 4 5 6 10 12 -1 2 4 5 6 10 13 -1 2 4 5 6 10 14 -1 2 4 5 6 10 15 -1 2 4 5 6 11 12 -1 2 4 5 6 11 13 -1 2 4 5 6 11 14 -1 2 4 5 6 11 15 -1 2 4 5 6 12 13 -1 2 4 5 6 12 14 -1 2 4 5 6 12 15 -1 2 4 5 6 13 14 -1 2 4 5 6 13 15 -1 2 4 5 6 14 15 -1 2 4 5 7 8 9 -1 2 4 5 7 8 10 -1 2 4 5 7 8 11 -1 2 4 5 7 8 12 -1 2 4 5 7 8 13 -1 2 4 5 7 8 14 -1 2 4 5 7 8 15 -1 2 4 5 7 9 10 -1 2 4 5 7 9 11 -1 2 4 5 7 9 12 -1 2 4 5 7 9 13 -1 2 4 5 7 9 14 -1 2 4 5 7 9 15 -1 2 4 5 7 10 11 -1 2 4 5 7 10 12 -1 2 4 5 7 10 13 -1 2 4 5 7 10 14 -1 2 4 5 7 10 15 -1 2 4 5 7 11 12 -1 2 4 5 7 11 13 -1 2 4 5 7 11 14 -1 2 4 5 7 11 15 -1 2 4 5 7 12 13 -1 2 4 5 7 12 14 -1 2 4 5 7 12 15 -1 2 4 5 7 13 14 -1 2 4 5 7 13 15 -1 2 4 5 7 14 15 -1 2 4 5 8 9 10 -1 2 4 5 8 9 11 -1 2 4 5 8 9 12 -1 2 4 5 8 9 13 -1 2 4 5 8 9 14 -1 2 4 5 8 9 15 -1 2 4 5 8 10 11 -1 2 4 5 8 10 12 -1 2 4 5 8 10 13 -1 2 4 5 8 10 14 -1 2 4 5 8 10 15 -1 2 4 5 8 11 12 -1 2 4 5 8 11 13 -1 2 4 5 8 11 14 -1 2 4 5 8 11 15 -1 2 4 5 8 12 13 -1 2 4 5 8 12 14 -1 2 4 5 8 12 15 -1 2 4 5 8 13 14 -1 2 4 5 8 13 15 -1 2 4 5 8 14 15 -1 2 4 5 9 10 11 -1 2 4 5 9 10 12 -1 2 4 5 9 10 13 -1 2 4 5 9 10 14 -1 2 4 5 9 10 15 -1 2 4 5 9 11 12 -1 2 4 5 9 11 13 -1 2 4 5 9 11 14 -1 2 4 5 9 11 15 -1 2 4 5 9 12 13 -1 2 4 5 9 12 14 -1 2 4 5 9 12 15 -1 2 4 5 9 13 14 -1 2 4 5 9 13 15 -1 2 4 5 9 14 15 -1 2 4 5 10 11 12 -1 2 4 5 10 11 13 -1 2 4 5 10 11 14 -1 2 4 5 10 11 15 -1 2 4 5 10 12 13 -1 2 4 5 10 12 14 -1 2 4 5 10 12 15 -1 2 4 5 10 13 14 -1 2 4 5 10 13 15 -1 2 4 5 10 14 15 -1 2 4 5 11 12 13 -1 2 4 5 11 12 14 -1 2 4 5 11 12 15 -1 2 4 5 11 13 14 -1 2 4 5 11 13 15 -1 2 4 5 11 14 15 -1 2 4 5 12 13 14 -1 2 4 5 12 13 15 -1 2 4 5 12 14 15 -1 2 4 5 13 14 15 -1 2 4 6 7 8 9 -1 2 4 6 7 8 10 -1 2 4 6 7 8 11 -1 2 4 6 7 8 12 -1 2 4 6 7 8 13 -1 2 4 6 7 8 14 -1 2 4 6 7 8 15 -1 2 4 6 7 9 10 -1 2 4 6 7 9 11 -1 2 4 6 7 9 12 -1 2 4 6 7 9 13 -1 2 4 6 7 9 14 -1 2 4 6 7 9 15 -1 2 4 6 7 10 11 -1 2 4 6 7 10 12 -1 2 4 6 7 10 13 -1 2 4 6 7 10 14 -1 2 4 6 7 10 15 -1 2 4 6 7 11 12 -1 2 4 6 7 11 13 -1 2 4 6 7 11 14 -1 2 4 6 7 11 15 -1 2 4 6 7 12 13 -1 2 4 6 7 12 14 -1 2 4 6 7 12 15 -1 2 4 6 7 13 14 -1 2 4 6 7 13 15 -1 2 4 6 7 14 15 -1 2 4 6 8 9 10 -1 2 4 6 8 9 11 -1 2 4 6 8 9 12 -1 2 4 6 8 9 13 -1 2 4 6 8 9 14 -1 2 4 6 8 9 15 -1 2 4 6 8 10 11 -1 2 4 6 8 10 12 -1 2 4 6 8 10 13 -1 2 4 6 8 10 14 -1 2 4 6 8 10 15 -1 2 4 6 8 11 12 -1 2 4 6 8 11 13 -1 2 4 6 8 11 14 -1 2 4 6 8 11 15 -1 2 4 6 8 12 13 -1 2 4 6 8 12 14 -1 2 4 6 8 12 15 -1 2 4 6 8 13 14 -1 2 4 6 8 13 15 -1 2 4 6 8 14 15 -1 2 4 6 9 10 11 -1 2 4 6 9 10 12 -1 2 4 6 9 10 13 -1 2 4 6 9 10 14 -1 2 4 6 9 10 15 -1 2 4 6 9 11 12 -1 2 4 6 9 11 13 -1 2 4 6 9 11 14 -1 2 4 6 9 11 15 -1 2 4 6 9 12 13 -1 2 4 6 9 12 14 -1 2 4 6 9 12 15 -1 2 4 6 9 13 14 -1 2 4 6 9 13 15 -1 2 4 6 9 14 15 -1 2 4 6 10 11 12 -1 2 4 6 10 11 13 -1 2 4 6 10 11 14 -1 2 4 6 10 11 15 -1 2 4 6 10 12 13 -1 2 4 6 10 12 14 -1 2 4 6 10 12 15 -1 2 4 6 10 13 14 -1 2 4 6 10 13 15 -1 2 4 6 10 14 15 -1 2 4 6 11 12 13 -1 2 4 6 11 12 14 -1 2 4 6 11 12 15 -1 2 4 6 11 13 14 -1 2 4 6 11 13 15 -1 2 4 6 11 14 15 -1 2 4 6 12 13 14 -1 2 4 6 12 13 15 -1 2 4 6 12 14 15 -1 2 4 6 13 14 15 -1 2 4 7 8 9 10 -1 2 4 7 8 9 11 -1 2 4 7 8 9 12 -1 2 4 7 8 9 13 -1 2 4 7 8 9 14 -1 2 4 7 8 9 15 -1 2 4 7 8 10 11 -1 2 4 7 8 10 12 -1 2 4 7 8 10 13 -1 2 4 7 8 10 14 -1 2 4 7 8 10 15 -1 2 4 7 8 11 12 -1 2 4 7 8 11 13 -1 2 4 7 8 11 14 -1 2 4 7 8 11 15 -1 2 4 7 8 12 13 -1 2 4 7 8 12 14 -1 2 4 7 8 12 15 -1 2 4 7 8 13 14 -1 2 4 7 8 13 15 -1 2 4 7 8 14 15 -1 2 4 7 9 10 11 -1 2 4 7 9 10 12 -1 2 4 7 9 10 13 -1 2 4 7 9 10 14 -1 2 4 7 9 10 15 -1 2 4 7 9 11 12 -1 2 4 7 9 11 13 -1 2 4 7 9 11 14 -1 2 4 7 9 11 15 -1 2 4 7 9 12 13 -1 2 4 7 9 12 14 -1 2 4 7 9 12 15 -1 2 4 7 9 13 14 -1 2 4 7 9 13 15 -1 2 4 7 9 14 15 -1 2 4 7 10 11 12 -1 2 4 7 10 11 13 -1 2 4 7 10 11 14 -1 2 4 7 10 11 15 -1 2 4 7 10 12 13 -1 2 4 7 10 12 14 -1 2 4 7 10 12 15 -1 2 4 7 10 13 14 -1 2 4 7 10 13 15 -1 2 4 7 10 14 15 -1 2 4 7 11 12 13 -1 2 4 7 11 12 14 -1 2 4 7 11 12 15 -1 2 4 7 11 13 14 -1 2 4 7 11 13 15 -1 2 4 7 11 14 15 -1 2 4 7 12 13 14 -1 2 4 7 12 13 15 -1 2 4 7 12 14 15 -1 2 4 7 13 14 15 -1 2 4 8 9 10 11 -1 2 4 8 9 10 12 -1 2 4 8 9 10 13 -1 2 4 8 9 10 14 -1 2 4 8 9 10 15 -1 2 4 8 9 11 12 -1 2 4 8 9 11 13 -1 2 4 8 9 11 14 -1 2 4 8 9 11 15 -1 2 4 8 9 12 13 -1 2 4 8 9 12 14 -1 2 4 8 9 12 15 -1 2 4 8 9 13 14 -1 2 4 8 9 13 15 -1 2 4 8 9 14 15 -1 2 4 8 10 11 12 -1 2 4 8 10 11 13 -1 2 4 8 10 11 14 -1 2 4 8 10 11 15 -1 2 4 8 10 12 13 -1 2 4 8 10 12 14 -1 2 4 8 10 12 15 -1 2 4 8 10 13 14 -1 2 4 8 10 13 15 -1 2 4 8 10 14 15 -1 2 4 8 11 12 13 -1 2 4 8 11 12 14 -1 2 4 8 11 12 15 -1 2 4 8 11 13 14 -1 2 4 8 11 13 15 -1 2 4 8 11 14 15 -1 2 4 8 12 13 14 -1 2 4 8 12 13 15 -1 2 4 8 12 14 15 -1 2 4 8 13 14 15 -1 2 4 9 10 11 12 -1 2 4 9 10 11 13 -1 2 4 9 10 11 14 -1 2 4 9 10 11 15 -1 2 4 9 10 12 13 -1 2 4 9 10 12 14 -1 2 4 9 10 12 15 -1 2 4 9 10 13 14 -1 2 4 9 10 13 15 -1 2 4 9 10 14 15 -1 2 4 9 11 12 13 -1 2 4 9 11 12 14 -1 2 4 9 11 12 15 -1 2 4 9 11 13 14 -1 2 4 9 11 13 15 -1 2 4 9 11 14 15 -1 2 4 9 12 13 14 -1 2 4 9 12 13 15 -1 2 4 9 12 14 15 -1 2 4 9 13 14 15 -1 2 4 10 11 12 13 -1 2 4 10 11 12 14 -1 2 4 10 11 12 15 -1 2 4 10 11 13 14 -1 2 4 10 11 13 15 -1 2 4 10 11 14 15 -1 2 4 10 12 13 14 -1 2 4 10 12 13 15 -1 2 4 10 12 14 15 -1 2 4 10 13 14 15 -1 2 4 11 12 13 14 -1 2 4 11 12 13 15 -1 2 4 11 12 14 15 -1 2 4 11 13 14 15 -1 2 4 12 13 14 15 -1 2 5 6 7 8 9 -1 2 5 6 7 8 10 -1 2 5 6 7 8 11 -1 2 5 6 7 8 12 -1 2 5 6 7 8 13 -1 2 5 6 7 8 14 -1 2 5 6 7 8 15 -1 2 5 6 7 9 10 -1 2 5 6 7 9 11 -1 2 5 6 7 9 12 -1 2 5 6 7 9 13 -1 2 5 6 7 9 14 -1 2 5 6 7 9 15 -1 2 5 6 7 10 11 -1 2 5 6 7 10 12 -1 2 5 6 7 10 13 -1 2 5 6 7 10 14 -1 2 5 6 7 10 15 -1 2 5 6 7 11 12 -1 2 5 6 7 11 13 -1 2 5 6 7 11 14 -1 2 5 6 7 11 15 -1 2 5 6 7 12 13 -1 2 5 6 7 12 14 -1 2 5 6 7 12 15 -1 2 5 6 7 13 14 -1 2 5 6 7 13 15 -1 2 5 6 7 14 15 -1 2 5 6 8 9 10 -1 2 5 6 8 9 11 -1 2 5 6 8 9 12 -1 2 5 6 8 9 13 -1 2 5 6 8 9 14 -1 2 5 6 8 9 15 -1 2 5 6 8 10 11 -1 2 5 6 8 10 12 -1 2 5 6 8 10 13 -1 2 5 6 8 10 14 -1 2 5 6 8 10 15 -1 2 5 6 8 11 12 -1 2 5 6 8 11 13 -1 2 5 6 8 11 14 -1 2 5 6 8 11 15 -1 2 5 6 8 12 13 -1 2 5 6 8 12 14 -1 2 5 6 8 12 15 -1 2 5 6 8 13 14 -1 2 5 6 8 13 15 -1 2 5 6 8 14 15 -1 2 5 6 9 10 11 -1 2 5 6 9 10 12 -1 2 5 6 9 10 13 -1 2 5 6 9 10 14 -1 2 5 6 9 10 15 -1 2 5 6 9 11 12 -1 2 5 6 9 11 13 -1 2 5 6 9 11 14 -1 2 5 6 9 11 15 -1 2 5 6 9 12 13 -1 2 5 6 9 12 14 -1 2 5 6 9 12 15 -1 2 5 6 9 13 14 -1 2 5 6 9 13 15 -1 2 5 6 9 14 15 -1 2 5 6 10 11 12 -1 2 5 6 10 11 13 -1 2 5 6 10 11 14 -1 2 5 6 10 11 15 -1 2 5 6 10 12 13 -1 2 5 6 10 12 14 -1 2 5 6 10 12 15 -1 2 5 6 10 13 14 -1 2 5 6 10 13 15 -1 2 5 6 10 14 15 -1 2 5 6 11 12 13 -1 2 5 6 11 12 14 -1 2 5 6 11 12 15 -1 2 5 6 11 13 14 -1 2 5 6 11 13 15 -1 2 5 6 11 14 15 -1 2 5 6 12 13 14 -1 2 5 6 12 13 15 -1 2 5 6 12 14 15 -1 2 5 6 13 14 15 -1 2 5 7 8 9 10 -1 2 5 7 8 9 11 -1 2 5 7 8 9 12 -1 2 5 7 8 9 13 -1 2 5 7 8 9 14 -1 2 5 7 8 9 15 -1 2 5 7 8 10 11 -1 2 5 7 8 10 12 -1 2 5 7 8 10 13 -1 2 5 7 8 10 14 -1 2 5 7 8 10 15 -1 2 5 7 8 11 12 -1 2 5 7 8 11 13 -1 2 5 7 8 11 14 -1 2 5 7 8 11 15 -1 2 5 7 8 12 13 -1 2 5 7 8 12 14 -1 2 5 7 8 12 15 -1 2 5 7 8 13 14 -1 2 5 7 8 13 15 -1 2 5 7 8 14 15 -1 2 5 7 9 10 11 -1 2 5 7 9 10 12 -1 2 5 7 9 10 13 -1 2 5 7 9 10 14 -1 2 5 7 9 10 15 -1 2 5 7 9 11 12 -1 2 5 7 9 11 13 -1 2 5 7 9 11 14 -1 2 5 7 9 11 15 -1 2 5 7 9 12 13 -1 2 5 7 9 12 14 -1 2 5 7 9 12 15 -1 2 5 7 9 13 14 -1 2 5 7 9 13 15 -1 2 5 7 9 14 15 -1 2 5 7 10 11 12 -1 2 5 7 10 11 13 -1 2 5 7 10 11 14 -1 2 5 7 10 11 15 -1 2 5 7 10 12 13 -1 2 5 7 10 12 14 -1 2 5 7 10 12 15 -1 2 5 7 10 13 14 -1 2 5 7 10 13 15 -1 2 5 7 10 14 15 -1 2 5 7 11 12 13 -1 2 5 7 11 12 14 -1 2 5 7 11 12 15 -1 2 5 7 11 13 14 -1 2 5 7 11 13 15 -1 2 5 7 11 14 15 -1 2 5 7 12 13 14 -1 2 5 7 12 13 15 -1 2 5 7 12 14 15 -1 2 5 7 13 14 15 -1 2 5 8 9 10 11 -1 2 5 8 9 10 12 -1 2 5 8 9 10 13 -1 2 5 8 9 10 14 -1 2 5 8 9 10 15 -1 2 5 8 9 11 12 -1 2 5 8 9 11 13 -1 2 5 8 9 11 14 -1 2 5 8 9 11 15 -1 2 5 8 9 12 13 -1 2 5 8 9 12 14 -1 2 5 8 9 12 15 -1 2 5 8 9 13 14 -1 2 5 8 9 13 15 -1 2 5 8 9 14 15 -1 2 5 8 10 11 12 -1 2 5 8 10 11 13 -1 2 5 8 10 11 14 -1 2 5 8 10 11 15 -1 2 5 8 10 12 13 -1 2 5 8 10 12 14 -1 2 5 8 10 12 15 -1 2 5 8 10 13 14 -1 2 5 8 10 13 15 -1 2 5 8 10 14 15 -1 2 5 8 11 12 13 -1 2 5 8 11 12 14 -1 2 5 8 11 12 15 -1 2 5 8 11 13 14 -1 2 5 8 11 13 15 -1 2 5 8 11 14 15 -1 2 5 8 12 13 14 -1 2 5 8 12 13 15 -1 2 5 8 12 14 15 -1 2 5 8 13 14 15 -1 2 5 9 10 11 12 -1 2 5 9 10 11 13 -1 2 5 9 10 11 14 -1 2 5 9 10 11 15 -1 2 5 9 10 12 13 -1 2 5 9 10 12 14 -1 2 5 9 10 12 15 -1 2 5 9 10 13 14 -1 2 5 9 10 13 15 -1 2 5 9 10 14 15 -1 2 5 9 11 12 13 -1 2 5 9 11 12 14 -1 2 5 9 11 12 15 -1 2 5 9 11 13 14 -1 2 5 9 11 13 15 -1 2 5 9 11 14 15 -1 2 5 9 12 13 14 -1 2 5 9 12 13 15 -1 2 5 9 12 14 15 -1 2 5 9 13 14 15 -1 2 5 10 11 12 13 -1 2 5 10 11 12 14 -1 2 5 10 11 12 15 -1 2 5 10 11 13 14 -1 2 5 10 11 13 15 -1 2 5 10 11 14 15 -1 2 5 10 12 13 14 -1 2 5 10 12 13 15 -1 2 5 10 12 14 15 -1 2 5 10 13 14 15 -1 2 5 11 12 13 14 -1 2 5 11 12 13 15 -1 2 5 11 12 14 15 -1 2 5 11 13 14 15 -1 2 5 12 13 14 15 -1 2 6 7 8 9 10 -1 2 6 7 8 9 11 -1 2 6 7 8 9 12 -1 2 6 7 8 9 13 -1 2 6 7 8 9 14 -1 2 6 7 8 9 15 -1 2 6 7 8 10 11 -1 2 6 7 8 10 12 -1 2 6 7 8 10 13 -1 2 6 7 8 10 14 -1 2 6 7 8 10 15 -1 2 6 7 8 11 12 -1 2 6 7 8 11 13 -1 2 6 7 8 11 14 -1 2 6 7 8 11 15 -1 2 6 7 8 12 13 -1 2 6 7 8 12 14 -1 2 6 7 8 12 15 -1 2 6 7 8 13 14 -1 2 6 7 8 13 15 -1 2 6 7 8 14 15 -1 2 6 7 9 10 11 -1 2 6 7 9 10 12 -1 2 6 7 9 10 13 -1 2 6 7 9 10 14 -1 2 6 7 9 10 15 -1 2 6 7 9 11 12 -1 2 6 7 9 11 13 -1 2 6 7 9 11 14 -1 2 6 7 9 11 15 -1 2 6 7 9 12 13 -1 2 6 7 9 12 14 -1 2 6 7 9 12 15 -1 2 6 7 9 13 14 -1 2 6 7 9 13 15 -1 2 6 7 9 14 15 -1 2 6 7 10 11 12 -1 2 6 7 10 11 13 -1 2 6 7 10 11 14 -1 2 6 7 10 11 15 -1 2 6 7 10 12 13 -1 2 6 7 10 12 14 -1 2 6 7 10 12 15 -1 2 6 7 10 13 14 -1 2 6 7 10 13 15 -1 2 6 7 10 14 15 -1 2 6 7 11 12 13 -1 2 6 7 11 12 14 -1 2 6 7 11 12 15 -1 2 6 7 11 13 14 -1 2 6 7 11 13 15 -1 2 6 7 11 14 15 -1 2 6 7 12 13 14 -1 2 6 7 12 13 15 -1 2 6 7 12 14 15 -1 2 6 7 13 14 15 -1 2 6 8 9 10 11 -1 2 6 8 9 10 12 -1 2 6 8 9 10 13 -1 2 6 8 9 10 14 -1 2 6 8 9 10 15 -1 2 6 8 9 11 12 -1 2 6 8 9 11 13 -1 2 6 8 9 11 14 -1 2 6 8 9 11 15 -1 2 6 8 9 12 13 -1 2 6 8 9 12 14 -1 2 6 8 9 12 15 -1 2 6 8 9 13 14 -1 2 6 8 9 13 15 -1 2 6 8 9 14 15 -1 2 6 8 10 11 12 -1 2 6 8 10 11 13 -1 2 6 8 10 11 14 -1 2 6 8 10 11 15 -1 2 6 8 10 12 13 -1 2 6 8 10 12 14 -1 2 6 8 10 12 15 -1 2 6 8 10 13 14 -1 2 6 8 10 13 15 -1 2 6 8 10 14 15 -1 2 6 8 11 12 13 -1 2 6 8 11 12 14 -1 2 6 8 11 12 15 -1 2 6 8 11 13 14 -1 2 6 8 11 13 15 -1 2 6 8 11 14 15 -1 2 6 8 12 13 14 -1 2 6 8 12 13 15 -1 2 6 8 12 14 15 -1 2 6 8 13 14 15 -1 2 6 9 10 11 12 -1 2 6 9 10 11 13 -1 2 6 9 10 11 14 -1 2 6 9 10 11 15 -1 2 6 9 10 12 13 -1 2 6 9 10 12 14 -1 2 6 9 10 12 15 -1 2 6 9 10 13 14 -1 2 6 9 10 13 15 -1 2 6 9 10 14 15 -1 2 6 9 11 12 13 -1 2 6 9 11 12 14 -1 2 6 9 11 12 15 -1 2 6 9 11 13 14 -1 2 6 9 11 13 15 -1 2 6 9 11 14 15 -1 2 6 9 12 13 14 -1 2 6 9 12 13 15 -1 2 6 9 12 14 15 -1 2 6 9 13 14 15 -1 2 6 10 11 12 13 -1 2 6 10 11 12 14 -1 2 6 10 11 12 15 -1 2 6 10 11 13 14 -1 2 6 10 11 13 15 -1 2 6 10 11 14 15 -1 2 6 10 12 13 14 -1 2 6 10 12 13 15 -1 2 6 10 12 14 15 -1 2 6 10 13 14 15 -1 2 6 11 12 13 14 -1 2 6 11 12 13 15 -1 2 6 11 12 14 15 -1 2 6 11 13 14 15 -1 2 6 12 13 14 15 -1 2 7 8 9 10 11 -1 2 7 8 9 10 12 -1 2 7 8 9 10 13 -1 2 7 8 9 10 14 -1 2 7 8 9 10 15 -1 2 7 8 9 11 12 -1 2 7 8 9 11 13 -1 2 7 8 9 11 14 -1 2 7 8 9 11 15 -1 2 7 8 9 12 13 -1 2 7 8 9 12 14 -1 2 7 8 9 12 15 -1 2 7 8 9 13 14 -1 2 7 8 9 13 15 -1 2 7 8 9 14 15 -1 2 7 8 10 11 12 -1 2 7 8 10 11 13 -1 2 7 8 10 11 14 -1 2 7 8 10 11 15 -1 2 7 8 10 12 13 -1 2 7 8 10 12 14 -1 2 7 8 10 12 15 -1 2 7 8 10 13 14 -1 2 7 8 10 13 15 -1 2 7 8 10 14 15 -1 2 7 8 11 12 13 -1 2 7 8 11 12 14 -1 2 7 8 11 12 15 -1 2 7 8 11 13 14 -1 2 7 8 11 13 15 -1 2 7 8 11 14 15 -1 2 7 8 12 13 14 -1 2 7 8 12 13 15 -1 2 7 8 12 14 15 -1 2 7 8 13 14 15 -1 2 7 9 10 11 12 -1 2 7 9 10 11 13 -1 2 7 9 10 11 14 -1 2 7 9 10 11 15 -1 2 7 9 10 12 13 -1 2 7 9 10 12 14 -1 2 7 9 10 12 15 -1 2 7 9 10 13 14 -1 2 7 9 10 13 15 -1 2 7 9 10 14 15 -1 2 7 9 11 12 13 -1 2 7 9 11 12 14 -1 2 7 9 11 12 15 -1 2 7 9 11 13 14 -1 2 7 9 11 13 15 -1 2 7 9 11 14 15 -1 2 7 9 12 13 14 -1 2 7 9 12 13 15 -1 2 7 9 12 14 15 -1 2 7 9 13 14 15 -1 2 7 10 11 12 13 -1 2 7 10 11 12 14 -1 2 7 10 11 12 15 -1 2 7 10 11 13 14 -1 2 7 10 11 13 15 -1 2 7 10 11 14 15 -1 2 7 10 12 13 14 -1 2 7 10 12 13 15 -1 2 7 10 12 14 15 -1 2 7 10 13 14 15 -1 2 7 11 12 13 14 -1 2 7 11 12 13 15 -1 2 7 11 12 14 15 -1 2 7 11 13 14 15 -1 2 7 12 13 14 15 -1 2 8 9 10 11 12 -1 2 8 9 10 11 13 -1 2 8 9 10 11 14 -1 2 8 9 10 11 15 -1 2 8 9 10 12 13 -1 2 8 9 10 12 14 -1 2 8 9 10 12 15 -1 2 8 9 10 13 14 -1 2 8 9 10 13 15 -1 2 8 9 10 14 15 -1 2 8 9 11 12 13 -1 2 8 9 11 12 14 -1 2 8 9 11 12 15 -1 2 8 9 11 13 14 -1 2 8 9 11 13 15 -1 2 8 9 11 14 15 -1 2 8 9 12 13 14 -1 2 8 9 12 13 15 -1 2 8 9 12 14 15 -1 2 8 9 13 14 15 -1 2 8 10 11 12 13 -1 2 8 10 11 12 14 -1 2 8 10 11 12 15 -1 2 8 10 11 13 14 -1 2 8 10 11 13 15 -1 2 8 10 11 14 15 -1 2 8 10 12 13 14 -1 2 8 10 12 13 15 -1 2 8 10 12 14 15 -1 2 8 10 13 14 15 -1 2 8 11 12 13 14 -1 2 8 11 12 13 15 -1 2 8 11 12 14 15 -1 2 8 11 13 14 15 -1 2 8 12 13 14 15 -1 2 9 10 11 12 13 -1 2 9 10 11 12 14 -1 2 9 10 11 12 15 -1 2 9 10 11 13 14 -1 2 9 10 11 13 15 -1 2 9 10 11 14 15 -1 2 9 10 12 13 14 -1 2 9 10 12 13 15 -1 2 9 10 12 14 15 -1 2 9 10 13 14 15 -1 2 9 11 12 13 14 -1 2 9 11 12 13 15 -1 2 9 11 12 14 15 -1 2 9 11 13 14 15 -1 2 9 12 13 14 15 -1 2 10 11 12 13 14 -1 2 10 11 12 13 15 -1 2 10 11 12 14 15 -1 2 10 11 13 14 15 -1 2 10 12 13 14 15 -1 2 11 12 13 14 15 -1 3 4 5 6 7 8 -1 3 4 5 6 7 9 -1 3 4 5 6 7 10 -1 3 4 5 6 7 11 -1 3 4 5 6 7 12 -1 3 4 5 6 7 13 -1 3 4 5 6 7 14 -1 3 4 5 6 7 15 -1 3 4 5 6 8 9 -1 3 4 5 6 8 10 -1 3 4 5 6 8 11 -1 3 4 5 6 8 12 -1 3 4 5 6 8 13 -1 3 4 5 6 8 14 -1 3 4 5 6 8 15 -1 3 4 5 6 9 10 -1 3 4 5 6 9 11 -1 3 4 5 6 9 12 -1 3 4 5 6 9 13 -1 3 4 5 6 9 14 -1 3 4 5 6 9 15 -1 3 4 5 6 10 11 -1 3 4 5 6 10 12 -1 3 4 5 6 10 13 -1 3 4 5 6 10 14 -1 3 4 5 6 10 15 -1 3 4 5 6 11 12 -1 3 4 5 6 11 13 -1 3 4 5 6 11 14 -1 3 4 5 6 11 15 -1 3 4 5 6 12 13 -1 3 4 5 6 12 14 -1 3 4 5 6 12 15 -1 3 4 5 6 13 14 -1 3 4 5 6 13 15 -1 3 4 5 6 14 15 -1 3 4 5 7 8 9 -1 3 4 5 7 8 10 -1 3 4 5 7 8 11 -1 3 4 5 7 8 12 -1 3 4 5 7 8 13 -1 3 4 5 7 8 14 -1 3 4 5 7 8 15 -1 3 4 5 7 9 10 -1 3 4 5 7 9 11 -1 3 4 5 7 9 12 -1 3 4 5 7 9 13 -1 3 4 5 7 9 14 -1 3 4 5 7 9 15 -1 3 4 5 7 10 11 -1 3 4 5 7 10 12 -1 3 4 5 7 10 13 -1 3 4 5 7 10 14 -1 3 4 5 7 10 15 -1 3 4 5 7 11 12 -1 3 4 5 7 11 13 -1 3 4 5 7 11 14 -1 3 4 5 7 11 15 -1 3 4 5 7 12 13 -1 3 4 5 7 12 14 -1 3 4 5 7 12 15 -1 3 4 5 7 13 14 -1 3 4 5 7 13 15 -1 3 4 5 7 14 15 -1 3 4 5 8 9 10 -1 3 4 5 8 9 11 -1 3 4 5 8 9 12 -1 3 4 5 8 9 13 -1 3 4 5 8 9 14 -1 3 4 5 8 9 15 -1 3 4 5 8 10 11 -1 3 4 5 8 10 12 -1 3 4 5 8 10 13 -1 3 4 5 8 10 14 -1 3 4 5 8 10 15 -1 3 4 5 8 11 12 -1 3 4 5 8 11 13 -1 3 4 5 8 11 14 -1 3 4 5 8 11 15 -1 3 4 5 8 12 13 -1 3 4 5 8 12 14 -1 3 4 5 8 12 15 -1 3 4 5 8 13 14 -1 3 4 5 8 13 15 -1 3 4 5 8 14 15 -1 3 4 5 9 10 11 -1 3 4 5 9 10 12 -1 3 4 5 9 10 13 -1 3 4 5 9 10 14 -1 3 4 5 9 10 15 -1 3 4 5 9 11 12 -1 3 4 5 9 11 13 -1 3 4 5 9 11 14 -1 3 4 5 9 11 15 -1 3 4 5 9 12 13 -1 3 4 5 9 12 14 -1 3 4 5 9 12 15 -1 3 4 5 9 13 14 -1 3 4 5 9 13 15 -1 3 4 5 9 14 15 -1 3 4 5 10 11 12 -1 3 4 5 10 11 13 -1 3 4 5 10 11 14 -1 3 4 5 10 11 15 -1 3 4 5 10 12 13 -1 3 4 5 10 12 14 -1 3 4 5 10 12 15 -1 3 4 5 10 13 14 -1 3 4 5 10 13 15 -1 3 4 5 10 14 15 -1 3 4 5 11 12 13 -1 3 4 5 11 12 14 -1 3 4 5 11 12 15 -1 3 4 5 11 13 14 -1 3 4 5 11 13 15 -1 3 4 5 11 14 15 -1 3 4 5 12 13 14 -1 3 4 5 12 13 15 -1 3 4 5 12 14 15 -1 3 4 5 13 14 15 -1 3 4 6 7 8 9 -1 3 4 6 7 8 10 -1 3 4 6 7 8 11 -1 3 4 6 7 8 12 -1 3 4 6 7 8 13 -1 3 4 6 7 8 14 -1 3 4 6 7 8 15 -1 3 4 6 7 9 10 -1 3 4 6 7 9 11 -1 3 4 6 7 9 12 -1 3 4 6 7 9 13 -1 3 4 6 7 9 14 -1 3 4 6 7 9 15 -1 3 4 6 7 10 11 -1 3 4 6 7 10 12 -1 3 4 6 7 10 13 -1 3 4 6 7 10 14 -1 3 4 6 7 10 15 -1 3 4 6 7 11 12 -1 3 4 6 7 11 13 -1 3 4 6 7 11 14 -1 3 4 6 7 11 15 -1 3 4 6 7 12 13 -1 3 4 6 7 12 14 -1 3 4 6 7 12 15 -1 3 4 6 7 13 14 -1 3 4 6 7 13 15 -1 3 4 6 7 14 15 -1 3 4 6 8 9 10 -1 3 4 6 8 9 11 -1 3 4 6 8 9 12 -1 3 4 6 8 9 13 -1 3 4 6 8 9 14 -1 3 4 6 8 9 15 -1 3 4 6 8 10 11 -1 3 4 6 8 10 12 -1 3 4 6 8 10 13 -1 3 4 6 8 10 14 -1 3 4 6 8 10 15 -1 3 4 6 8 11 12 -1 3 4 6 8 11 13 -1 3 4 6 8 11 14 -1 3 4 6 8 11 15 -1 3 4 6 8 12 13 -1 3 4 6 8 12 14 -1 3 4 6 8 12 15 -1 3 4 6 8 13 14 -1 3 4 6 8 13 15 -1 3 4 6 8 14 15 -1 3 4 6 9 10 11 -1 3 4 6 9 10 12 -1 3 4 6 9 10 13 -1 3 4 6 9 10 14 -1 3 4 6 9 10 15 -1 3 4 6 9 11 12 -1 3 4 6 9 11 13 -1 3 4 6 9 11 14 -1 3 4 6 9 11 15 -1 3 4 6 9 12 13 -1 3 4 6 9 12 14 -1 3 4 6 9 12 15 -1 3 4 6 9 13 14 -1 3 4 6 9 13 15 -1 3 4 6 9 14 15 -1 3 4 6 10 11 12 -1 3 4 6 10 11 13 -1 3 4 6 10 11 14 -1 3 4 6 10 11 15 -1 3 4 6 10 12 13 -1 3 4 6 10 12 14 -1 3 4 6 10 12 15 -1 3 4 6 10 13 14 -1 3 4 6 10 13 15 -1 3 4 6 10 14 15 -1 3 4 6 11 12 13 -1 3 4 6 11 12 14 -1 3 4 6 11 12 15 -1 3 4 6 11 13 14 -1 3 4 6 11 13 15 -1 3 4 6 11 14 15 -1 3 4 6 12 13 14 -1 3 4 6 12 13 15 -1 3 4 6 12 14 15 -1 3 4 6 13 14 15 -1 3 4 7 8 9 10 -1 3 4 7 8 9 11 -1 3 4 7 8 9 12 -1 3 4 7 8 9 13 -1 3 4 7 8 9 14 -1 3 4 7 8 9 15 -1 3 4 7 8 10 11 -1 3 4 7 8 10 12 -1 3 4 7 8 10 13 -1 3 4 7 8 10 14 -1 3 4 7 8 10 15 -1 3 4 7 8 11 12 -1 3 4 7 8 11 13 -1 3 4 7 8 11 14 -1 3 4 7 8 11 15 -1 3 4 7 8 12 13 -1 3 4 7 8 12 14 -1 3 4 7 8 12 15 -1 3 4 7 8 13 14 -1 3 4 7 8 13 15 -1 3 4 7 8 14 15 -1 3 4 7 9 10 11 -1 3 4 7 9 10 12 -1 3 4 7 9 10 13 -1 3 4 7 9 10 14 -1 3 4 7 9 10 15 -1 3 4 7 9 11 12 -1 3 4 7 9 11 13 -1 3 4 7 9 11 14 -1 3 4 7 9 11 15 -1 3 4 7 9 12 13 -1 3 4 7 9 12 14 -1 3 4 7 9 12 15 -1 3 4 7 9 13 14 -1 3 4 7 9 13 15 -1 3 4 7 9 14 15 -1 3 4 7 10 11 12 -1 3 4 7 10 11 13 -1 3 4 7 10 11 14 -1 3 4 7 10 11 15 -1 3 4 7 10 12 13 -1 3 4 7 10 12 14 -1 3 4 7 10 12 15 -1 3 4 7 10 13 14 -1 3 4 7 10 13 15 -1 3 4 7 10 14 15 -1 3 4 7 11 12 13 -1 3 4 7 11 12 14 -1 3 4 7 11 12 15 -1 3 4 7 11 13 14 -1 3 4 7 11 13 15 -1 3 4 7 11 14 15 -1 3 4 7 12 13 14 -1 3 4 7 12 13 15 -1 3 4 7 12 14 15 -1 3 4 7 13 14 15 -1 3 4 8 9 10 11 -1 3 4 8 9 10 12 -1 3 4 8 9 10 13 -1 3 4 8 9 10 14 -1 3 4 8 9 10 15 -1 3 4 8 9 11 12 -1 3 4 8 9 11 13 -1 3 4 8 9 11 14 -1 3 4 8 9 11 15 -1 3 4 8 9 12 13 -1 3 4 8 9 12 14 -1 3 4 8 9 12 15 -1 3 4 8 9 13 14 -1 3 4 8 9 13 15 -1 3 4 8 9 14 15 -1 3 4 8 10 11 12 -1 3 4 8 10 11 13 -1 3 4 8 10 11 14 -1 3 4 8 10 11 15 -1 3 4 8 10 12 13 -1 3 4 8 10 12 14 -1 3 4 8 10 12 15 -1 3 4 8 10 13 14 -1 3 4 8 10 13 15 -1 3 4 8 10 14 15 -1 3 4 8 11 12 13 -1 3 4 8 11 12 14 -1 3 4 8 11 12 15 -1 3 4 8 11 13 14 -1 3 4 8 11 13 15 -1 3 4 8 11 14 15 -1 3 4 8 12 13 14 -1 3 4 8 12 13 15 -1 3 4 8 12 14 15 -1 3 4 8 13 14 15 -1 3 4 9 10 11 12 -1 3 4 9 10 11 13 -1 3 4 9 10 11 14 -1 3 4 9 10 11 15 -1 3 4 9 10 12 13 -1 3 4 9 10 12 14 -1 3 4 9 10 12 15 -1 3 4 9 10 13 14 -1 3 4 9 10 13 15 -1 3 4 9 10 14 15 -1 3 4 9 11 12 13 -1 3 4 9 11 12 14 -1 3 4 9 11 12 15 -1 3 4 9 11 13 14 -1 3 4 9 11 13 15 -1 3 4 9 11 14 15 -1 3 4 9 12 13 14 -1 3 4 9 12 13 15 -1 3 4 9 12 14 15 -1 3 4 9 13 14 15 -1 3 4 10 11 12 13 -1 3 4 10 11 12 14 -1 3 4 10 11 12 15 -1 3 4 10 11 13 14 -1 3 4 10 11 13 15 -1 3 4 10 11 14 15 -1 3 4 10 12 13 14 -1 3 4 10 12 13 15 -1 3 4 10 12 14 15 -1 3 4 10 13 14 15 -1 3 4 11 12 13 14 -1 3 4 11 12 13 15 -1 3 4 11 12 14 15 -1 3 4 11 13 14 15 -1 3 4 12 13 14 15 -1 3 5 6 7 8 9 -1 3 5 6 7 8 10 -1 3 5 6 7 8 11 -1 3 5 6 7 8 12 -1 3 5 6 7 8 13 -1 3 5 6 7 8 14 -1 3 5 6 7 8 15 -1 3 5 6 7 9 10 -1 3 5 6 7 9 11 -1 3 5 6 7 9 12 -1 3 5 6 7 9 13 -1 3 5 6 7 9 14 -1 3 5 6 7 9 15 -1 3 5 6 7 10 11 -1 3 5 6 7 10 12 -1 3 5 6 7 10 13 -1 3 5 6 7 10 14 -1 3 5 6 7 10 15 -1 3 5 6 7 11 12 -1 3 5 6 7 11 13 -1 3 5 6 7 11 14 -1 3 5 6 7 11 15 -1 3 5 6 7 12 13 -1 3 5 6 7 12 14 -1 3 5 6 7 12 15 -1 3 5 6 7 13 14 -1 3 5 6 7 13 15 -1 3 5 6 7 14 15 -1 3 5 6 8 9 10 -1 3 5 6 8 9 11 -1 3 5 6 8 9 12 -1 3 5 6 8 9 13 -1 3 5 6 8 9 14 -1 3 5 6 8 9 15 -1 3 5 6 8 10 11 -1 3 5 6 8 10 12 -1 3 5 6 8 10 13 -1 3 5 6 8 10 14 -1 3 5 6 8 10 15 -1 3 5 6 8 11 12 -1 3 5 6 8 11 13 -1 3 5 6 8 11 14 -1 3 5 6 8 11 15 -1 3 5 6 8 12 13 -1 3 5 6 8 12 14 -1 3 5 6 8 12 15 -1 3 5 6 8 13 14 -1 3 5 6 8 13 15 -1 3 5 6 8 14 15 -1 3 5 6 9 10 11 -1 3 5 6 9 10 12 -1 3 5 6 9 10 13 -1 3 5 6 9 10 14 -1 3 5 6 9 10 15 -1 3 5 6 9 11 12 -1 3 5 6 9 11 13 -1 3 5 6 9 11 14 -1 3 5 6 9 11 15 -1 3 5 6 9 12 13 -1 3 5 6 9 12 14 -1 3 5 6 9 12 15 -1 3 5 6 9 13 14 -1 3 5 6 9 13 15 -1 3 5 6 9 14 15 -1 3 5 6 10 11 12 -1 3 5 6 10 11 13 -1 3 5 6 10 11 14 -1 3 5 6 10 11 15 -1 3 5 6 10 12 13 -1 3 5 6 10 12 14 -1 3 5 6 10 12 15 -1 3 5 6 10 13 14 -1 3 5 6 10 13 15 -1 3 5 6 10 14 15 -1 3 5 6 11 12 13 -1 3 5 6 11 12 14 -1 3 5 6 11 12 15 -1 3 5 6 11 13 14 -1 3 5 6 11 13 15 -1 3 5 6 11 14 15 -1 3 5 6 12 13 14 -1 3 5 6 12 13 15 -1 3 5 6 12 14 15 -1 3 5 6 13 14 15 -1 3 5 7 8 9 10 -1 3 5 7 8 9 11 -1 3 5 7 8 9 12 -1 3 5 7 8 9 13 -1 3 5 7 8 9 14 -1 3 5 7 8 9 15 -1 3 5 7 8 10 11 -1 3 5 7 8 10 12 -1 3 5 7 8 10 13 -1 3 5 7 8 10 14 -1 3 5 7 8 10 15 -1 3 5 7 8 11 12 -1 3 5 7 8 11 13 -1 3 5 7 8 11 14 -1 3 5 7 8 11 15 -1 3 5 7 8 12 13 -1 3 5 7 8 12 14 -1 3 5 7 8 12 15 -1 3 5 7 8 13 14 -1 3 5 7 8 13 15 -1 3 5 7 8 14 15 -1 3 5 7 9 10 11 -1 3 5 7 9 10 12 -1 3 5 7 9 10 13 -1 3 5 7 9 10 14 -1 3 5 7 9 10 15 -1 3 5 7 9 11 12 -1 3 5 7 9 11 13 -1 3 5 7 9 11 14 -1 3 5 7 9 11 15 -1 3 5 7 9 12 13 -1 3 5 7 9 12 14 -1 3 5 7 9 12 15 -1 3 5 7 9 13 14 -1 3 5 7 9 13 15 -1 3 5 7 9 14 15 -1 3 5 7 10 11 12 -1 3 5 7 10 11 13 -1 3 5 7 10 11 14 -1 3 5 7 10 11 15 -1 3 5 7 10 12 13 -1 3 5 7 10 12 14 -1 3 5 7 10 12 15 -1 3 5 7 10 13 14 -1 3 5 7 10 13 15 -1 3 5 7 10 14 15 -1 3 5 7 11 12 13 -1 3 5 7 11 12 14 -1 3 5 7 11 12 15 -1 3 5 7 11 13 14 -1 3 5 7 11 13 15 -1 3 5 7 11 14 15 -1 3 5 7 12 13 14 -1 3 5 7 12 13 15 -1 3 5 7 12 14 15 -1 3 5 7 13 14 15 -1 3 5 8 9 10 11 -1 3 5 8 9 10 12 -1 3 5 8 9 10 13 -1 3 5 8 9 10 14 -1 3 5 8 9 10 15 -1 3 5 8 9 11 12 -1 3 5 8 9 11 13 -1 3 5 8 9 11 14 -1 3 5 8 9 11 15 -1 3 5 8 9 12 13 -1 3 5 8 9 12 14 -1 3 5 8 9 12 15 -1 3 5 8 9 13 14 -1 3 5 8 9 13 15 -1 3 5 8 9 14 15 -1 3 5 8 10 11 12 -1 3 5 8 10 11 13 -1 3 5 8 10 11 14 -1 3 5 8 10 11 15 -1 3 5 8 10 12 13 -1 3 5 8 10 12 14 -1 3 5 8 10 12 15 -1 3 5 8 10 13 14 -1 3 5 8 10 13 15 -1 3 5 8 10 14 15 -1 3 5 8 11 12 13 -1 3 5 8 11 12 14 -1 3 5 8 11 12 15 -1 3 5 8 11 13 14 -1 3 5 8 11 13 15 -1 3 5 8 11 14 15 -1 3 5 8 12 13 14 -1 3 5 8 12 13 15 -1 3 5 8 12 14 15 -1 3 5 8 13 14 15 -1 3 5 9 10 11 12 -1 3 5 9 10 11 13 -1 3 5 9 10 11 14 -1 3 5 9 10 11 15 -1 3 5 9 10 12 13 -1 3 5 9 10 12 14 -1 3 5 9 10 12 15 -1 3 5 9 10 13 14 -1 3 5 9 10 13 15 -1 3 5 9 10 14 15 -1 3 5 9 11 12 13 -1 3 5 9 11 12 14 -1 3 5 9 11 12 15 -1 3 5 9 11 13 14 -1 3 5 9 11 13 15 -1 3 5 9 11 14 15 -1 3 5 9 12 13 14 -1 3 5 9 12 13 15 -1 3 5 9 12 14 15 -1 3 5 9 13 14 15 -1 3 5 10 11 12 13 -1 3 5 10 11 12 14 -1 3 5 10 11 12 15 -1 3 5 10 11 13 14 -1 3 5 10 11 13 15 -1 3 5 10 11 14 15 -1 3 5 10 12 13 14 -1 3 5 10 12 13 15 -1 3 5 10 12 14 15 -1 3 5 10 13 14 15 -1 3 5 11 12 13 14 -1 3 5 11 12 13 15 -1 3 5 11 12 14 15 -1 3 5 11 13 14 15 -1 3 5 12 13 14 15 -1 3 6 7 8 9 10 -1 3 6 7 8 9 11 -1 3 6 7 8 9 12 -1 3 6 7 8 9 13 -1 3 6 7 8 9 14 -1 3 6 7 8 9 15 -1 3 6 7 8 10 11 -1 3 6 7 8 10 12 -1 3 6 7 8 10 13 -1 3 6 7 8 10 14 -1 3 6 7 8 10 15 -1 3 6 7 8 11 12 -1 3 6 7 8 11 13 -1 3 6 7 8 11 14 -1 3 6 7 8 11 15 -1 3 6 7 8 12 13 -1 3 6 7 8 12 14 -1 3 6 7 8 12 15 -1 3 6 7 8 13 14 -1 3 6 7 8 13 15 -1 3 6 7 8 14 15 -1 3 6 7 9 10 11 -1 3 6 7 9 10 12 -1 3 6 7 9 10 13 -1 3 6 7 9 10 14 -1 3 6 7 9 10 15 -1 3 6 7 9 11 12 -1 3 6 7 9 11 13 -1 3 6 7 9 11 14 -1 3 6 7 9 11 15 -1 3 6 7 9 12 13 -1 3 6 7 9 12 14 -1 3 6 7 9 12 15 -1 3 6 7 9 13 14 -1 3 6 7 9 13 15 -1 3 6 7 9 14 15 -1 3 6 7 10 11 12 -1 3 6 7 10 11 13 -1 3 6 7 10 11 14 -1 3 6 7 10 11 15 -1 3 6 7 10 12 13 -1 3 6 7 10 12 14 -1 3 6 7 10 12 15 -1 3 6 7 10 13 14 -1 3 6 7 10 13 15 -1 3 6 7 10 14 15 -1 3 6 7 11 12 13 -1 3 6 7 11 12 14 -1 3 6 7 11 12 15 -1 3 6 7 11 13 14 -1 3 6 7 11 13 15 -1 3 6 7 11 14 15 -1 3 6 7 12 13 14 -1 3 6 7 12 13 15 -1 3 6 7 12 14 15 -1 3 6 7 13 14 15 -1 3 6 8 9 10 11 -1 3 6 8 9 10 12 -1 3 6 8 9 10 13 -1 3 6 8 9 10 14 -1 3 6 8 9 10 15 -1 3 6 8 9 11 12 -1 3 6 8 9 11 13 -1 3 6 8 9 11 14 -1 3 6 8 9 11 15 -1 3 6 8 9 12 13 -1 3 6 8 9 12 14 -1 3 6 8 9 12 15 -1 3 6 8 9 13 14 -1 3 6 8 9 13 15 -1 3 6 8 9 14 15 -1 3 6 8 10 11 12 -1 3 6 8 10 11 13 -1 3 6 8 10 11 14 -1 3 6 8 10 11 15 -1 3 6 8 10 12 13 -1 3 6 8 10 12 14 -1 3 6 8 10 12 15 -1 3 6 8 10 13 14 -1 3 6 8 10 13 15 -1 3 6 8 10 14 15 -1 3 6 8 11 12 13 -1 3 6 8 11 12 14 -1 3 6 8 11 12 15 -1 3 6 8 11 13 14 -1 3 6 8 11 13 15 -1 3 6 8 11 14 15 -1 3 6 8 12 13 14 -1 3 6 8 12 13 15 -1 3 6 8 12 14 15 -1 3 6 8 13 14 15 -1 3 6 9 10 11 12 -1 3 6 9 10 11 13 -1 3 6 9 10 11 14 -1 3 6 9 10 11 15 -1 3 6 9 10 12 13 -1 3 6 9 10 12 14 -1 3 6 9 10 12 15 -1 3 6 9 10 13 14 -1 3 6 9 10 13 15 -1 3 6 9 10 14 15 -1 3 6 9 11 12 13 -1 3 6 9 11 12 14 -1 3 6 9 11 12 15 -1 3 6 9 11 13 14 -1 3 6 9 11 13 15 -1 3 6 9 11 14 15 -1 3 6 9 12 13 14 -1 3 6 9 12 13 15 -1 3 6 9 12 14 15 -1 3 6 9 13 14 15 -1 3 6 10 11 12 13 -1 3 6 10 11 12 14 -1 3 6 10 11 12 15 -1 3 6 10 11 13 14 -1 3 6 10 11 13 15 -1 3 6 10 11 14 15 -1 3 6 10 12 13 14 -1 3 6 10 12 13 15 -1 3 6 10 12 14 15 -1 3 6 10 13 14 15 -1 3 6 11 12 13 14 -1 3 6 11 12 13 15 -1 3 6 11 12 14 15 -1 3 6 11 13 14 15 -1 3 6 12 13 14 15 -1 3 7 8 9 10 11 -1 3 7 8 9 10 12 -1 3 7 8 9 10 13 -1 3 7 8 9 10 14 -1 3 7 8 9 10 15 -1 3 7 8 9 11 12 -1 3 7 8 9 11 13 -1 3 7 8 9 11 14 -1 3 7 8 9 11 15 -1 3 7 8 9 12 13 -1 3 7 8 9 12 14 -1 3 7 8 9 12 15 -1 3 7 8 9 13 14 -1 3 7 8 9 13 15 -1 3 7 8 9 14 15 -1 3 7 8 10 11 12 -1 3 7 8 10 11 13 -1 3 7 8 10 11 14 -1 3 7 8 10 11 15 -1 3 7 8 10 12 13 -1 3 7 8 10 12 14 -1 3 7 8 10 12 15 -1 3 7 8 10 13 14 -1 3 7 8 10 13 15 -1 3 7 8 10 14 15 -1 3 7 8 11 12 13 -1 3 7 8 11 12 14 -1 3 7 8 11 12 15 -1 3 7 8 11 13 14 -1 3 7 8 11 13 15 -1 3 7 8 11 14 15 -1 3 7 8 12 13 14 -1 3 7 8 12 13 15 -1 3 7 8 12 14 15 -1 3 7 8 13 14 15 -1 3 7 9 10 11 12 -1 3 7 9 10 11 13 -1 3 7 9 10 11 14 -1 3 7 9 10 11 15 -1 3 7 9 10 12 13 -1 3 7 9 10 12 14 -1 3 7 9 10 12 15 -1 3 7 9 10 13 14 -1 3 7 9 10 13 15 -1 3 7 9 10 14 15 -1 3 7 9 11 12 13 -1 3 7 9 11 12 14 -1 3 7 9 11 12 15 -1 3 7 9 11 13 14 -1 3 7 9 11 13 15 -1 3 7 9 11 14 15 -1 3 7 9 12 13 14 -1 3 7 9 12 13 15 -1 3 7 9 12 14 15 -1 3 7 9 13 14 15 -1 3 7 10 11 12 13 -1 3 7 10 11 12 14 -1 3 7 10 11 12 15 -1 3 7 10 11 13 14 -1 3 7 10 11 13 15 -1 3 7 10 11 14 15 -1 3 7 10 12 13 14 -1 3 7 10 12 13 15 -1 3 7 10 12 14 15 -1 3 7 10 13 14 15 -1 3 7 11 12 13 14 -1 3 7 11 12 13 15 -1 3 7 11 12 14 15 -1 3 7 11 13 14 15 -1 3 7 12 13 14 15 -1 3 8 9 10 11 12 -1 3 8 9 10 11 13 -1 3 8 9 10 11 14 -1 3 8 9 10 11 15 -1 3 8 9 10 12 13 -1 3 8 9 10 12 14 -1 3 8 9 10 12 15 -1 3 8 9 10 13 14 -1 3 8 9 10 13 15 -1 3 8 9 10 14 15 -1 3 8 9 11 12 13 -1 3 8 9 11 12 14 -1 3 8 9 11 12 15 -1 3 8 9 11 13 14 -1 3 8 9 11 13 15 -1 3 8 9 11 14 15 -1 3 8 9 12 13 14 -1 3 8 9 12 13 15 -1 3 8 9 12 14 15 -1 3 8 9 13 14 15 -1 3 8 10 11 12 13 -1 3 8 10 11 12 14 -1 3 8 10 11 12 15 -1 3 8 10 11 13 14 -1 3 8 10 11 13 15 -1 3 8 10 11 14 15 -1 3 8 10 12 13 14 -1 3 8 10 12 13 15 -1 3 8 10 12 14 15 -1 3 8 10 13 14 15 -1 3 8 11 12 13 14 -1 3 8 11 12 13 15 -1 3 8 11 12 14 15 -1 3 8 11 13 14 15 -1 3 8 12 13 14 15 -1 3 9 10 11 12 13 -1 3 9 10 11 12 14 -1 3 9 10 11 12 15 -1 3 9 10 11 13 14 -1 3 9 10 11 13 15 -1 3 9 10 11 14 15 -1 3 9 10 12 13 14 -1 3 9 10 12 13 15 -1 3 9 10 12 14 15 -1 3 9 10 13 14 15 -1 3 9 11 12 13 14 -1 3 9 11 12 13 15 -1 3 9 11 12 14 15 -1 3 9 11 13 14 15 -1 3 9 12 13 14 15 -1 3 10 11 12 13 14 -1 3 10 11 12 13 15 -1 3 10 11 12 14 15 -1 3 10 11 13 14 15 -1 3 10 12 13 14 15 -1 3 11 12 13 14 15 -1 4 5 6 7 8 9 -1 4 5 6 7 8 10 -1 4 5 6 7 8 11 -1 4 5 6 7 8 12 -1 4 5 6 7 8 13 -1 4 5 6 7 8 14 -1 4 5 6 7 8 15 -1 4 5 6 7 9 10 -1 4 5 6 7 9 11 -1 4 5 6 7 9 12 -1 4 5 6 7 9 13 -1 4 5 6 7 9 14 -1 4 5 6 7 9 15 -1 4 5 6 7 10 11 -1 4 5 6 7 10 12 -1 4 5 6 7 10 13 -1 4 5 6 7 10 14 -1 4 5 6 7 10 15 -1 4 5 6 7 11 12 -1 4 5 6 7 11 13 -1 4 5 6 7 11 14 -1 4 5 6 7 11 15 -1 4 5 6 7 12 13 -1 4 5 6 7 12 14 -1 4 5 6 7 12 15 -1 4 5 6 7 13 14 -1 4 5 6 7 13 15 -1 4 5 6 7 14 15 -1 4 5 6 8 9 10 -1 4 5 6 8 9 11 -1 4 5 6 8 9 12 -1 4 5 6 8 9 13 -1 4 5 6 8 9 14 -1 4 5 6 8 9 15 -1 4 5 6 8 10 11 -1 4 5 6 8 10 12 -1 4 5 6 8 10 13 -1 4 5 6 8 10 14 -1 4 5 6 8 10 15 -1 4 5 6 8 11 12 -1 4 5 6 8 11 13 -1 4 5 6 8 11 14 -1 4 5 6 8 11 15 -1 4 5 6 8 12 13 -1 4 5 6 8 12 14 -1 4 5 6 8 12 15 -1 4 5 6 8 13 14 -1 4 5 6 8 13 15 -1 4 5 6 8 14 15 -1 4 5 6 9 10 11 -1 4 5 6 9 10 12 -1 4 5 6 9 10 13 -1 4 5 6 9 10 14 -1 4 5 6 9 10 15 -1 4 5 6 9 11 12 -1 4 5 6 9 11 13 -1 4 5 6 9 11 14 -1 4 5 6 9 11 15 -1 4 5 6 9 12 13 -1 4 5 6 9 12 14 -1 4 5 6 9 12 15 -1 4 5 6 9 13 14 -1 4 5 6 9 13 15 -1 4 5 6 9 14 15 -1 4 5 6 10 11 12 -1 4 5 6 10 11 13 -1 4 5 6 10 11 14 -1 4 5 6 10 11 15 -1 4 5 6 10 12 13 -1 4 5 6 10 12 14 -1 4 5 6 10 12 15 -1 4 5 6 10 13 14 -1 4 5 6 10 13 15 -1 4 5 6 10 14 15 -1 4 5 6 11 12 13 -1 4 5 6 11 12 14 -1 4 5 6 11 12 15 -1 4 5 6 11 13 14 -1 4 5 6 11 13 15 -1 4 5 6 11 14 15 -1 4 5 6 12 13 14 -1 4 5 6 12 13 15 -1 4 5 6 12 14 15 -1 4 5 6 13 14 15 -1 4 5 7 8 9 10 -1 4 5 7 8 9 11 -1 4 5 7 8 9 12 -1 4 5 7 8 9 13 -1 4 5 7 8 9 14 -1 4 5 7 8 9 15 -1 4 5 7 8 10 11 -1 4 5 7 8 10 12 -1 4 5 7 8 10 13 -1 4 5 7 8 10 14 -1 4 5 7 8 10 15 -1 4 5 7 8 11 12 -1 4 5 7 8 11 13 -1 4 5 7 8 11 14 -1 4 5 7 8 11 15 -1 4 5 7 8 12 13 -1 4 5 7 8 12 14 -1 4 5 7 8 12 15 -1 4 5 7 8 13 14 -1 4 5 7 8 13 15 -1 4 5 7 8 14 15 -1 4 5 7 9 10 11 -1 4 5 7 9 10 12 -1 4 5 7 9 10 13 -1 4 5 7 9 10 14 -1 4 5 7 9 10 15 -1 4 5 7 9 11 12 -1 4 5 7 9 11 13 -1 4 5 7 9 11 14 -1 4 5 7 9 11 15 -1 4 5 7 9 12 13 -1 4 5 7 9 12 14 -1 4 5 7 9 12 15 -1 4 5 7 9 13 14 -1 4 5 7 9 13 15 -1 4 5 7 9 14 15 -1 4 5 7 10 11 12 -1 4 5 7 10 11 13 -1 4 5 7 10 11 14 -1 4 5 7 10 11 15 -1 4 5 7 10 12 13 -1 4 5 7 10 12 14 -1 4 5 7 10 12 15 -1 4 5 7 10 13 14 -1 4 5 7 10 13 15 -1 4 5 7 10 14 15 -1 4 5 7 11 12 13 -1 4 5 7 11 12 14 -1 4 5 7 11 12 15 -1 4 5 7 11 13 14 -1 4 5 7 11 13 15 -1 4 5 7 11 14 15 -1 4 5 7 12 13 14 -1 4 5 7 12 13 15 -1 4 5 7 12 14 15 -1 4 5 7 13 14 15 -1 4 5 8 9 10 11 -1 4 5 8 9 10 12 -1 4 5 8 9 10 13 -1 4 5 8 9 10 14 -1 4 5 8 9 10 15 -1 4 5 8 9 11 12 -1 4 5 8 9 11 13 -1 4 5 8 9 11 14 -1 4 5 8 9 11 15 -1 4 5 8 9 12 13 -1 4 5 8 9 12 14 -1 4 5 8 9 12 15 -1 4 5 8 9 13 14 -1 4 5 8 9 13 15 -1 4 5 8 9 14 15 -1 4 5 8 10 11 12 -1 4 5 8 10 11 13 -1 4 5 8 10 11 14 -1 4 5 8 10 11 15 -1 4 5 8 10 12 13 -1 4 5 8 10 12 14 -1 4 5 8 10 12 15 -1 4 5 8 10 13 14 -1 4 5 8 10 13 15 -1 4 5 8 10 14 15 -1 4 5 8 11 12 13 -1 4 5 8 11 12 14 -1 4 5 8 11 12 15 -1 4 5 8 11 13 14 -1 4 5 8 11 13 15 -1 4 5 8 11 14 15 -1 4 5 8 12 13 14 -1 4 5 8 12 13 15 -1 4 5 8 12 14 15 -1 4 5 8 13 14 15 -1 4 5 9 10 11 12 -1 4 5 9 10 11 13 -1 4 5 9 10 11 14 -1 4 5 9 10 11 15 -1 4 5 9 10 12 13 -1 4 5 9 10 12 14 -1 4 5 9 10 12 15 -1 4 5 9 10 13 14 -1 4 5 9 10 13 15 -1 4 5 9 10 14 15 -1 4 5 9 11 12 13 -1 4 5 9 11 12 14 -1 4 5 9 11 12 15 -1 4 5 9 11 13 14 -1 4 5 9 11 13 15 -1 4 5 9 11 14 15 -1 4 5 9 12 13 14 -1 4 5 9 12 13 15 -1 4 5 9 12 14 15 -1 4 5 9 13 14 15 -1 4 5 10 11 12 13 -1 4 5 10 11 12 14 -1 4 5 10 11 12 15 -1 4 5 10 11 13 14 -1 4 5 10 11 13 15 -1 4 5 10 11 14 15 -1 4 5 10 12 13 14 -1 4 5 10 12 13 15 -1 4 5 10 12 14 15 -1 4 5 10 13 14 15 -1 4 5 11 12 13 14 -1 4 5 11 12 13 15 -1 4 5 11 12 14 15 -1 4 5 11 13 14 15 -1 4 5 12 13 14 15 -1 4 6 7 8 9 10 -1 4 6 7 8 9 11 -1 4 6 7 8 9 12 -1 4 6 7 8 9 13 -1 4 6 7 8 9 14 -1 4 6 7 8 9 15 -1 4 6 7 8 10 11 -1 4 6 7 8 10 12 -1 4 6 7 8 10 13 -1 4 6 7 8 10 14 -1 4 6 7 8 10 15 -1 4 6 7 8 11 12 -1 4 6 7 8 11 13 -1 4 6 7 8 11 14 -1 4 6 7 8 11 15 -1 4 6 7 8 12 13 -1 4 6 7 8 12 14 -1 4 6 7 8 12 15 -1 4 6 7 8 13 14 -1 4 6 7 8 13 15 -1 4 6 7 8 14 15 -1 4 6 7 9 10 11 -1 4 6 7 9 10 12 -1 4 6 7 9 10 13 -1 4 6 7 9 10 14 -1 4 6 7 9 10 15 -1 4 6 7 9 11 12 -1 4 6 7 9 11 13 -1 4 6 7 9 11 14 -1 4 6 7 9 11 15 -1 4 6 7 9 12 13 -1 4 6 7 9 12 14 -1 4 6 7 9 12 15 -1 4 6 7 9 13 14 -1 4 6 7 9 13 15 -1 4 6 7 9 14 15 -1 4 6 7 10 11 12 -1 4 6 7 10 11 13 -1 4 6 7 10 11 14 -1 4 6 7 10 11 15 -1 4 6 7 10 12 13 -1 4 6 7 10 12 14 -1 4 6 7 10 12 15 -1 4 6 7 10 13 14 -1 4 6 7 10 13 15 -1 4 6 7 10 14 15 -1 4 6 7 11 12 13 -1 4 6 7 11 12 14 -1 4 6 7 11 12 15 -1 4 6 7 11 13 14 -1 4 6 7 11 13 15 -1 4 6 7 11 14 15 -1 4 6 7 12 13 14 -1 4 6 7 12 13 15 -1 4 6 7 12 14 15 -1 4 6 7 13 14 15 -1 4 6 8 9 10 11 -1 4 6 8 9 10 12 -1 4 6 8 9 10 13 -1 4 6 8 9 10 14 -1 4 6 8 9 10 15 -1 4 6 8 9 11 12 -1 4 6 8 9 11 13 -1 4 6 8 9 11 14 -1 4 6 8 9 11 15 -1 4 6 8 9 12 13 -1 4 6 8 9 12 14 -1 4 6 8 9 12 15 -1 4 6 8 9 13 14 -1 4 6 8 9 13 15 -1 4 6 8 9 14 15 -1 4 6 8 10 11 12 -1 4 6 8 10 11 13 -1 4 6 8 10 11 14 -1 4 6 8 10 11 15 -1 4 6 8 10 12 13 -1 4 6 8 10 12 14 -1 4 6 8 10 12 15 -1 4 6 8 10 13 14 -1 4 6 8 10 13 15 -1 4 6 8 10 14 15 -1 4 6 8 11 12 13 -1 4 6 8 11 12 14 -1 4 6 8 11 12 15 -1 4 6 8 11 13 14 -1 4 6 8 11 13 15 -1 4 6 8 11 14 15 -1 4 6 8 12 13 14 -1 4 6 8 12 13 15 -1 4 6 8 12 14 15 -1 4 6 8 13 14 15 -1 4 6 9 10 11 12 -1 4 6 9 10 11 13 -1 4 6 9 10 11 14 -1 4 6 9 10 11 15 -1 4 6 9 10 12 13 -1 4 6 9 10 12 14 -1 4 6 9 10 12 15 -1 4 6 9 10 13 14 -1 4 6 9 10 13 15 -1 4 6 9 10 14 15 -1 4 6 9 11 12 13 -1 4 6 9 11 12 14 -1 4 6 9 11 12 15 -1 4 6 9 11 13 14 -1 4 6 9 11 13 15 -1 4 6 9 11 14 15 -1 4 6 9 12 13 14 -1 4 6 9 12 13 15 -1 4 6 9 12 14 15 -1 4 6 9 13 14 15 -1 4 6 10 11 12 13 -1 4 6 10 11 12 14 -1 4 6 10 11 12 15 -1 4 6 10 11 13 14 -1 4 6 10 11 13 15 -1 4 6 10 11 14 15 -1 4 6 10 12 13 14 -1 4 6 10 12 13 15 -1 4 6 10 12 14 15 -1 4 6 10 13 14 15 -1 4 6 11 12 13 14 -1 4 6 11 12 13 15 -1 4 6 11 12 14 15 -1 4 6 11 13 14 15 -1 4 6 12 13 14 15 -1 4 7 8 9 10 11 -1 4 7 8 9 10 12 -1 4 7 8 9 10 13 -1 4 7 8 9 10 14 -1 4 7 8 9 10 15 -1 4 7 8 9 11 12 -1 4 7 8 9 11 13 -1 4 7 8 9 11 14 -1 4 7 8 9 11 15 -1 4 7 8 9 12 13 -1 4 7 8 9 12 14 -1 4 7 8 9 12 15 -1 4 7 8 9 13 14 -1 4 7 8 9 13 15 -1 4 7 8 9 14 15 -1 4 7 8 10 11 12 -1 4 7 8 10 11 13 -1 4 7 8 10 11 14 -1 4 7 8 10 11 15 -1 4 7 8 10 12 13 -1 4 7 8 10 12 14 -1 4 7 8 10 12 15 -1 4 7 8 10 13 14 -1 4 7 8 10 13 15 -1 4 7 8 10 14 15 -1 4 7 8 11 12 13 -1 4 7 8 11 12 14 -1 4 7 8 11 12 15 -1 4 7 8 11 13 14 -1 4 7 8 11 13 15 -1 4 7 8 11 14 15 -1 4 7 8 12 13 14 -1 4 7 8 12 13 15 -1 4 7 8 12 14 15 -1 4 7 8 13 14 15 -1 4 7 9 10 11 12 -1 4 7 9 10 11 13 -1 4 7 9 10 11 14 -1 4 7 9 10 11 15 -1 4 7 9 10 12 13 -1 4 7 9 10 12 14 -1 4 7 9 10 12 15 -1 4 7 9 10 13 14 -1 4 7 9 10 13 15 -1 4 7 9 10 14 15 -1 4 7 9 11 12 13 -1 4 7 9 11 12 14 -1 4 7 9 11 12 15 -1 4 7 9 11 13 14 -1 4 7 9 11 13 15 -1 4 7 9 11 14 15 -1 4 7 9 12 13 14 -1 4 7 9 12 13 15 -1 4 7 9 12 14 15 -1 4 7 9 13 14 15 -1 4 7 10 11 12 13 -1 4 7 10 11 12 14 -1 4 7 10 11 12 15 -1 4 7 10 11 13 14 -1 4 7 10 11 13 15 -1 4 7 10 11 14 15 -1 4 7 10 12 13 14 -1 4 7 10 12 13 15 -1 4 7 10 12 14 15 -1 4 7 10 13 14 15 -1 4 7 11 12 13 14 -1 4 7 11 12 13 15 -1 4 7 11 12 14 15 -1 4 7 11 13 14 15 -1 4 7 12 13 14 15 -1 4 8 9 10 11 12 -1 4 8 9 10 11 13 -1 4 8 9 10 11 14 -1 4 8 9 10 11 15 -1 4 8 9 10 12 13 -1 4 8 9 10 12 14 -1 4 8 9 10 12 15 -1 4 8 9 10 13 14 -1 4 8 9 10 13 15 -1 4 8 9 10 14 15 -1 4 8 9 11 12 13 -1 4 8 9 11 12 14 -1 4 8 9 11 12 15 -1 4 8 9 11 13 14 -1 4 8 9 11 13 15 -1 4 8 9 11 14 15 -1 4 8 9 12 13 14 -1 4 8 9 12 13 15 -1 4 8 9 12 14 15 -1 4 8 9 13 14 15 -1 4 8 10 11 12 13 -1 4 8 10 11 12 14 -1 4 8 10 11 12 15 -1 4 8 10 11 13 14 -1 4 8 10 11 13 15 -1 4 8 10 11 14 15 -1 4 8 10 12 13 14 -1 4 8 10 12 13 15 -1 4 8 10 12 14 15 -1 4 8 10 13 14 15 -1 4 8 11 12 13 14 -1 4 8 11 12 13 15 -1 4 8 11 12 14 15 -1 4 8 11 13 14 15 -1 4 8 12 13 14 15 -1 4 9 10 11 12 13 -1 4 9 10 11 12 14 -1 4 9 10 11 12 15 -1 4 9 10 11 13 14 -1 4 9 10 11 13 15 -1 4 9 10 11 14 15 -1 4 9 10 12 13 14 -1 4 9 10 12 13 15 -1 4 9 10 12 14 15 -1 4 9 10 13 14 15 -1 4 9 11 12 13 14 -1 4 9 11 12 13 15 -1 4 9 11 12 14 15 -1 4 9 11 13 14 15 -1 4 9 12 13 14 15 -1 4 10 11 12 13 14 -1 4 10 11 12 13 15 -1 4 10 11 12 14 15 -1 4 10 11 13 14 15 -1 4 10 12 13 14 15 -1 4 11 12 13 14 15 -1 5 6 7 8 9 10 -1 5 6 7 8 9 11 -1 5 6 7 8 9 12 -1 5 6 7 8 9 13 -1 5 6 7 8 9 14 -1 5 6 7 8 9 15 -1 5 6 7 8 10 11 -1 5 6 7 8 10 12 -1 5 6 7 8 10 13 -1 5 6 7 8 10 14 -1 5 6 7 8 10 15 -1 5 6 7 8 11 12 -1 5 6 7 8 11 13 -1 5 6 7 8 11 14 -1 5 6 7 8 11 15 -1 5 6 7 8 12 13 -1 5 6 7 8 12 14 -1 5 6 7 8 12 15 -1 5 6 7 8 13 14 -1 5 6 7 8 13 15 -1 5 6 7 8 14 15 -1 5 6 7 9 10 11 -1 5 6 7 9 10 12 -1 5 6 7 9 10 13 -1 5 6 7 9 10 14 -1 5 6 7 9 10 15 -1 5 6 7 9 11 12 -1 5 6 7 9 11 13 -1 5 6 7 9 11 14 -1 5 6 7 9 11 15 -1 5 6 7 9 12 13 -1 5 6 7 9 12 14 -1 5 6 7 9 12 15 -1 5 6 7 9 13 14 -1 5 6 7 9 13 15 -1 5 6 7 9 14 15 -1 5 6 7 10 11 12 -1 5 6 7 10 11 13 -1 5 6 7 10 11 14 -1 5 6 7 10 11 15 -1 5 6 7 10 12 13 -1 5 6 7 10 12 14 -1 5 6 7 10 12 15 -1 5 6 7 10 13 14 -1 5 6 7 10 13 15 -1 5 6 7 10 14 15 -1 5 6 7 11 12 13 -1 5 6 7 11 12 14 -1 5 6 7 11 12 15 -1 5 6 7 11 13 14 -1 5 6 7 11 13 15 -1 5 6 7 11 14 15 -1 5 6 7 12 13 14 -1 5 6 7 12 13 15 -1 5 6 7 12 14 15 -1 5 6 7 13 14 15 -1 5 6 8 9 10 11 -1 5 6 8 9 10 12 -1 5 6 8 9 10 13 -1 5 6 8 9 10 14 -1 5 6 8 9 10 15 -1 5 6 8 9 11 12 -1 5 6 8 9 11 13 -1 5 6 8 9 11 14 -1 5 6 8 9 11 15 -1 5 6 8 9 12 13 -1 5 6 8 9 12 14 -1 5 6 8 9 12 15 -1 5 6 8 9 13 14 -1 5 6 8 9 13 15 -1 5 6 8 9 14 15 -1 5 6 8 10 11 12 -1 5 6 8 10 11 13 -1 5 6 8 10 11 14 -1 5 6 8 10 11 15 -1 5 6 8 10 12 13 -1 5 6 8 10 12 14 -1 5 6 8 10 12 15 -1 5 6 8 10 13 14 -1 5 6 8 10 13 15 -1 5 6 8 10 14 15 -1 5 6 8 11 12 13 -1 5 6 8 11 12 14 -1 5 6 8 11 12 15 -1 5 6 8 11 13 14 -1 5 6 8 11 13 15 -1 5 6 8 11 14 15 -1 5 6 8 12 13 14 -1 5 6 8 12 13 15 -1 5 6 8 12 14 15 -1 5 6 8 13 14 15 -1 5 6 9 10 11 12 -1 5 6 9 10 11 13 -1 5 6 9 10 11 14 -1 5 6 9 10 11 15 -1 5 6 9 10 12 13 -1 5 6 9 10 12 14 -1 5 6 9 10 12 15 -1 5 6 9 10 13 14 -1 5 6 9 10 13 15 -1 5 6 9 10 14 15 -1 5 6 9 11 12 13 -1 5 6 9 11 12 14 -1 5 6 9 11 12 15 -1 5 6 9 11 13 14 -1 5 6 9 11 13 15 -1 5 6 9 11 14 15 -1 5 6 9 12 13 14 -1 5 6 9 12 13 15 -1 5 6 9 12 14 15 -1 5 6 9 13 14 15 -1 5 6 10 11 12 13 -1 5 6 10 11 12 14 -1 5 6 10 11 12 15 -1 5 6 10 11 13 14 -1 5 6 10 11 13 15 -1 5 6 10 11 14 15 -1 5 6 10 12 13 14 -1 5 6 10 12 13 15 -1 5 6 10 12 14 15 -1 5 6 10 13 14 15 -1 5 6 11 12 13 14 -1 5 6 11 12 13 15 -1 5 6 11 12 14 15 -1 5 6 11 13 14 15 -1 5 6 12 13 14 15 -1 5 7 8 9 10 11 -1 5 7 8 9 10 12 -1 5 7 8 9 10 13 -1 5 7 8 9 10 14 -1 5 7 8 9 10 15 -1 5 7 8 9 11 12 -1 5 7 8 9 11 13 -1 5 7 8 9 11 14 -1 5 7 8 9 11 15 -1 5 7 8 9 12 13 -1 5 7 8 9 12 14 -1 5 7 8 9 12 15 -1 5 7 8 9 13 14 -1 5 7 8 9 13 15 -1 5 7 8 9 14 15 -1 5 7 8 10 11 12 -1 5 7 8 10 11 13 -1 5 7 8 10 11 14 -1 5 7 8 10 11 15 -1 5 7 8 10 12 13 -1 5 7 8 10 12 14 -1 5 7 8 10 12 15 -1 5 7 8 10 13 14 -1 5 7 8 10 13 15 -1 5 7 8 10 14 15 -1 5 7 8 11 12 13 -1 5 7 8 11 12 14 -1 5 7 8 11 12 15 -1 5 7 8 11 13 14 -1 5 7 8 11 13 15 -1 5 7 8 11 14 15 -1 5 7 8 12 13 14 -1 5 7 8 12 13 15 -1 5 7 8 12 14 15 -1 5 7 8 13 14 15 -1 5 7 9 10 11 12 -1 5 7 9 10 11 13 -1 5 7 9 10 11 14 -1 5 7 9 10 11 15 -1 5 7 9 10 12 13 -1 5 7 9 10 12 14 -1 5 7 9 10 12 15 -1 5 7 9 10 13 14 -1 5 7 9 10 13 15 -1 5 7 9 10 14 15 -1 5 7 9 11 12 13 -1 5 7 9 11 12 14 -1 5 7 9 11 12 15 -1 5 7 9 11 13 14 -1 5 7 9 11 13 15 -1 5 7 9 11 14 15 -1 5 7 9 12 13 14 -1 5 7 9 12 13 15 -1 5 7 9 12 14 15 -1 5 7 9 13 14 15 -1 5 7 10 11 12 13 -1 5 7 10 11 12 14 -1 5 7 10 11 12 15 -1 5 7 10 11 13 14 -1 5 7 10 11 13 15 -1 5 7 10 11 14 15 -1 5 7 10 12 13 14 -1 5 7 10 12 13 15 -1 5 7 10 12 14 15 -1 5 7 10 13 14 15 -1 5 7 11 12 13 14 -1 5 7 11 12 13 15 -1 5 7 11 12 14 15 -1 5 7 11 13 14 15 -1 5 7 12 13 14 15 -1 5 8 9 10 11 12 -1 5 8 9 10 11 13 -1 5 8 9 10 11 14 -1 5 8 9 10 11 15 -1 5 8 9 10 12 13 -1 5 8 9 10 12 14 -1 5 8 9 10 12 15 -1 5 8 9 10 13 14 -1 5 8 9 10 13 15 -1 5 8 9 10 14 15 -1 5 8 9 11 12 13 -1 5 8 9 11 12 14 -1 5 8 9 11 12 15 -1 5 8 9 11 13 14 -1 5 8 9 11 13 15 -1 5 8 9 11 14 15 -1 5 8 9 12 13 14 -1 5 8 9 12 13 15 -1 5 8 9 12 14 15 -1 5 8 9 13 14 15 -1 5 8 10 11 12 13 -1 5 8 10 11 12 14 -1 5 8 10 11 12 15 -1 5 8 10 11 13 14 -1 5 8 10 11 13 15 -1 5 8 10 11 14 15 -1 5 8 10 12 13 14 -1 5 8 10 12 13 15 -1 5 8 10 12 14 15 -1 5 8 10 13 14 15 -1 5 8 11 12 13 14 -1 5 8 11 12 13 15 -1 5 8 11 12 14 15 -1 5 8 11 13 14 15 -1 5 8 12 13 14 15 -1 5 9 10 11 12 13 -1 5 9 10 11 12 14 -1 5 9 10 11 12 15 -1 5 9 10 11 13 14 -1 5 9 10 11 13 15 -1 5 9 10 11 14 15 -1 5 9 10 12 13 14 -1 5 9 10 12 13 15 -1 5 9 10 12 14 15 -1 5 9 10 13 14 15 -1 5 9 11 12 13 14 -1 5 9 11 12 13 15 -1 5 9 11 12 14 15 -1 5 9 11 13 14 15 -1 5 9 12 13 14 15 -1 5 10 11 12 13 14 -1 5 10 11 12 13 15 -1 5 10 11 12 14 15 -1 5 10 11 13 14 15 -1 5 10 12 13 14 15 -1 5 11 12 13 14 15 -1 6 7 8 9 10 11 -1 6 7 8 9 10 12 -1 6 7 8 9 10 13 -1 6 7 8 9 10 14 -1 6 7 8 9 10 15 -1 6 7 8 9 11 12 -1 6 7 8 9 11 13 -1 6 7 8 9 11 14 -1 6 7 8 9 11 15 -1 6 7 8 9 12 13 -1 6 7 8 9 12 14 -1 6 7 8 9 12 15 -1 6 7 8 9 13 14 -1 6 7 8 9 13 15 -1 6 7 8 9 14 15 -1 6 7 8 10 11 12 -1 6 7 8 10 11 13 -1 6 7 8 10 11 14 -1 6 7 8 10 11 15 -1 6 7 8 10 12 13 -1 6 7 8 10 12 14 -1 6 7 8 10 12 15 -1 6 7 8 10 13 14 -1 6 7 8 10 13 15 -1 6 7 8 10 14 15 -1 6 7 8 11 12 13 -1 6 7 8 11 12 14 -1 6 7 8 11 12 15 -1 6 7 8 11 13 14 -1 6 7 8 11 13 15 -1 6 7 8 11 14 15 -1 6 7 8 12 13 14 -1 6 7 8 12 13 15 -1 6 7 8 12 14 15 -1 6 7 8 13 14 15 -1 6 7 9 10 11 12 -1 6 7 9 10 11 13 -1 6 7 9 10 11 14 -1 6 7 9 10 11 15 -1 6 7 9 10 12 13 -1 6 7 9 10 12 14 -1 6 7 9 10 12 15 -1 6 7 9 10 13 14 -1 6 7 9 10 13 15 -1 6 7 9 10 14 15 -1 6 7 9 11 12 13 -1 6 7 9 11 12 14 -1 6 7 9 11 12 15 -1 6 7 9 11 13 14 -1 6 7 9 11 13 15 -1 6 7 9 11 14 15 -1 6 7 9 12 13 14 -1 6 7 9 12 13 15 -1 6 7 9 12 14 15 -1 6 7 9 13 14 15 -1 6 7 10 11 12 13 -1 6 7 10 11 12 14 -1 6 7 10 11 12 15 -1 6 7 10 11 13 14 -1 6 7 10 11 13 15 -1 6 7 10 11 14 15 -1 6 7 10 12 13 14 -1 6 7 10 12 13 15 -1 6 7 10 12 14 15 -1 6 7 10 13 14 15 -1 6 7 11 12 13 14 -1 6 7 11 12 13 15 -1 6 7 11 12 14 15 -1 6 7 11 13 14 15 -1 6 7 12 13 14 15 -1 6 8 9 10 11 12 -1 6 8 9 10 11 13 -1 6 8 9 10 11 14 -1 6 8 9 10 11 15 -1 6 8 9 10 12 13 -1 6 8 9 10 12 14 -1 6 8 9 10 12 15 -1 6 8 9 10 13 14 -1 6 8 9 10 13 15 -1 6 8 9 10 14 15 -1 6 8 9 11 12 13 -1 6 8 9 11 12 14 -1 6 8 9 11 12 15 -1 6 8 9 11 13 14 -1 6 8 9 11 13 15 -1 6 8 9 11 14 15 -1 6 8 9 12 13 14 -1 6 8 9 12 13 15 -1 6 8 9 12 14 15 -1 6 8 9 13 14 15 -1 6 8 10 11 12 13 -1 6 8 10 11 12 14 -1 6 8 10 11 12 15 -1 6 8 10 11 13 14 -1 6 8 10 11 13 15 -1 6 8 10 11 14 15 -1 6 8 10 12 13 14 -1 6 8 10 12 13 15 -1 6 8 10 12 14 15 -1 6 8 10 13 14 15 -1 6 8 11 12 13 14 -1 6 8 11 12 13 15 -1 6 8 11 12 14 15 -1 6 8 11 13 14 15 -1 6 8 12 13 14 15 -1 6 9 10 11 12 13 -1 6 9 10 11 12 14 -1 6 9 10 11 12 15 -1 6 9 10 11 13 14 -1 6 9 10 11 13 15 -1 6 9 10 11 14 15 -1 6 9 10 12 13 14 -1 6 9 10 12 13 15 -1 6 9 10 12 14 15 -1 6 9 10 13 14 15 -1 6 9 11 12 13 14 -1 6 9 11 12 13 15 -1 6 9 11 12 14 15 -1 6 9 11 13 14 15 -1 6 9 12 13 14 15 -1 6 10 11 12 13 14 -1 6 10 11 12 13 15 -1 6 10 11 12 14 15 -1 6 10 11 13 14 15 -1 6 10 12 13 14 15 -1 6 11 12 13 14 15 -1 7 8 9 10 11 12 -1 7 8 9 10 11 13 -1 7 8 9 10 11 14 -1 7 8 9 10 11 15 -1 7 8 9 10 12 13 -1 7 8 9 10 12 14 -1 7 8 9 10 12 15 -1 7 8 9 10 13 14 -1 7 8 9 10 13 15 -1 7 8 9 10 14 15 -1 7 8 9 11 12 13 -1 7 8 9 11 12 14 -1 7 8 9 11 12 15 -1 7 8 9 11 13 14 -1 7 8 9 11 13 15 -1 7 8 9 11 14 15 -1 7 8 9 12 13 14 -1 7 8 9 12 13 15 -1 7 8 9 12 14 15 -1 7 8 9 13 14 15 -1 7 8 10 11 12 13 -1 7 8 10 11 12 14 -1 7 8 10 11 12 15 -1 7 8 10 11 13 14 -1 7 8 10 11 13 15 -1 7 8 10 11 14 15 -1 7 8 10 12 13 14 -1 7 8 10 12 13 15 -1 7 8 10 12 14 15 -1 7 8 10 13 14 15 -1 7 8 11 12 13 14 -1 7 8 11 12 13 15 -1 7 8 11 12 14 15 -1 7 8 11 13 14 15 -1 7 8 12 13 14 15 -1 7 9 10 11 12 13 -1 7 9 10 11 12 14 -1 7 9 10 11 12 15 -1 7 9 10 11 13 14 -1 7 9 10 11 13 15 -1 7 9 10 11 14 15 -1 7 9 10 12 13 14 -1 7 9 10 12 13 15 -1 7 9 10 12 14 15 -1 7 9 10 13 14 15 -1 7 9 11 12 13 14 -1 7 9 11 12 13 15 -1 7 9 11 12 14 15 -1 7 9 11 13 14 15 -1 7 9 12 13 14 15 -1 7 10 11 12 13 14 -1 7 10 11 12 13 15 -1 7 10 11 12 14 15 -1 7 10 11 13 14 15 -1 7 10 12 13 14 15 -1 7 11 12 13 14 15 -1 8 9 10 11 12 13 -1 8 9 10 11 12 14 -1 8 9 10 11 12 15 -1 8 9 10 11 13 14 -1 8 9 10 11 13 15 -1 8 9 10 11 14 15 -1 8 9 10 12 13 14 -1 8 9 10 12 13 15 -1 8 9 10 12 14 15 -1 8 9 10 13 14 15 -1 8 9 11 12 13 14 -1 8 9 11 12 13 15 -1 8 9 11 12 14 15 -1 8 9 11 13 14 15 -1 8 9 12 13 14 15 -1 8 10 11 12 13 14 -1 8 10 11 12 13 15 -1 8 10 11 12 14 15 -1 8 10 11 13 14 15 -1 8 10 12 13 14 15 -1 8 11 12 13 14 15 -1 9 10 11 12 13 14 -1 9 10 11 12 13 15 -1 9 10 11 12 14 15 -1 9 10 11 13 14 15 -1 9 10 12 13 14 15 -1 9 11 12 13 14 15 -1 10 11 12 13 14 15 -2 3 4 5 6 7 8 -2 3 4 5 6 7 9 -2 3 4 5 6 7 10 -2 3 4 5 6 7 11 -2 3 4 5 6 7 12 -2 3 4 5 6 7 13 -2 3 4 5 6 7 14 -2 3 4 5 6 7 15 -2 3 4 5 6 8 9 -2 3 4 5 6 8 10 -2 3 4 5 6 8 11 -2 3 4 5 6 8 12 -2 3 4 5 6 8 13 -2 3 4 5 6 8 14 -2 3 4 5 6 8 15 -2 3 4 5 6 9 10 -2 3 4 5 6 9 11 -2 3 4 5 6 9 12 -2 3 4 5 6 9 13 -2 3 4 5 6 9 14 -2 3 4 5 6 9 15 -2 3 4 5 6 10 11 -2 3 4 5 6 10 12 -2 3 4 5 6 10 13 -2 3 4 5 6 10 14 -2 3 4 5 6 10 15 -2 3 4 5 6 11 12 -2 3 4 5 6 11 13 -2 3 4 5 6 11 14 -2 3 4 5 6 11 15 -2 3 4 5 6 12 13 -2 3 4 5 6 12 14 -2 3 4 5 6 12 15 -2 3 4 5 6 13 14 -2 3 4 5 6 13 15 -2 3 4 5 6 14 15 -2 3 4 5 7 8 9 -2 3 4 5 7 8 10 -2 3 4 5 7 8 11 -2 3 4 5 7 8 12 -2 3 4 5 7 8 13 -2 3 4 5 7 8 14 -2 3 4 5 7 8 15 -2 3 4 5 7 9 10 -2 3 4 5 7 9 11 -2 3 4 5 7 9 12 -2 3 4 5 7 9 13 -2 3 4 5 7 9 14 -2 3 4 5 7 9 15 -2 3 4 5 7 10 11 -2 3 4 5 7 10 12 -2 3 4 5 7 10 13 -2 3 4 5 7 10 14 -2 3 4 5 7 10 15 -2 3 4 5 7 11 12 -2 3 4 5 7 11 13 -2 3 4 5 7 11 14 -2 3 4 5 7 11 15 -2 3 4 5 7 12 13 -2 3 4 5 7 12 14 -2 3 4 5 7 12 15 -2 3 4 5 7 13 14 -2 3 4 5 7 13 15 -2 3 4 5 7 14 15 -2 3 4 5 8 9 10 -2 3 4 5 8 9 11 -2 3 4 5 8 9 12 -2 3 4 5 8 9 13 -2 3 4 5 8 9 14 -2 3 4 5 8 9 15 -2 3 4 5 8 10 11 -2 3 4 5 8 10 12 -2 3 4 5 8 10 13 -2 3 4 5 8 10 14 -2 3 4 5 8 10 15 -2 3 4 5 8 11 12 -2 3 4 5 8 11 13 -2 3 4 5 8 11 14 -2 3 4 5 8 11 15 -2 3 4 5 8 12 13 -2 3 4 5 8 12 14 -2 3 4 5 8 12 15 -2 3 4 5 8 13 14 -2 3 4 5 8 13 15 -2 3 4 5 8 14 15 -2 3 4 5 9 10 11 -2 3 4 5 9 10 12 -2 3 4 5 9 10 13 -2 3 4 5 9 10 14 -2 3 4 5 9 10 15 -2 3 4 5 9 11 12 -2 3 4 5 9 11 13 -2 3 4 5 9 11 14 -2 3 4 5 9 11 15 -2 3 4 5 9 12 13 -2 3 4 5 9 12 14 -2 3 4 5 9 12 15 -2 3 4 5 9 13 14 -2 3 4 5 9 13 15 -2 3 4 5 9 14 15 -2 3 4 5 10 11 12 -2 3 4 5 10 11 13 -2 3 4 5 10 11 14 -2 3 4 5 10 11 15 -2 3 4 5 10 12 13 -2 3 4 5 10 12 14 -2 3 4 5 10 12 15 -2 3 4 5 10 13 14 -2 3 4 5 10 13 15 -2 3 4 5 10 14 15 -2 3 4 5 11 12 13 -2 3 4 5 11 12 14 -2 3 4 5 11 12 15 -2 3 4 5 11 13 14 -2 3 4 5 11 13 15 -2 3 4 5 11 14 15 -2 3 4 5 12 13 14 -2 3 4 5 12 13 15 -2 3 4 5 12 14 15 -2 3 4 5 13 14 15 -2 3 4 6 7 8 9 -2 3 4 6 7 8 10 -2 3 4 6 7 8 11 -2 3 4 6 7 8 12 -2 3 4 6 7 8 13 -2 3 4 6 7 8 14 -2 3 4 6 7 8 15 -2 3 4 6 7 9 10 -2 3 4 6 7 9 11 -2 3 4 6 7 9 12 -2 3 4 6 7 9 13 -2 3 4 6 7 9 14 -2 3 4 6 7 9 15 -2 3 4 6 7 10 11 -2 3 4 6 7 10 12 -2 3 4 6 7 10 13 -2 3 4 6 7 10 14 -2 3 4 6 7 10 15 -2 3 4 6 7 11 12 -2 3 4 6 7 11 13 -2 3 4 6 7 11 14 -2 3 4 6 7 11 15 -2 3 4 6 7 12 13 -2 3 4 6 7 12 14 -2 3 4 6 7 12 15 -2 3 4 6 7 13 14 -2 3 4 6 7 13 15 -2 3 4 6 7 14 15 -2 3 4 6 8 9 10 -2 3 4 6 8 9 11 -2 3 4 6 8 9 12 -2 3 4 6 8 9 13 -2 3 4 6 8 9 14 -2 3 4 6 8 9 15 -2 3 4 6 8 10 11 -2 3 4 6 8 10 12 -2 3 4 6 8 10 13 -2 3 4 6 8 10 14 -2 3 4 6 8 10 15 -2 3 4 6 8 11 12 -2 3 4 6 8 11 13 -2 3 4 6 8 11 14 -2 3 4 6 8 11 15 -2 3 4 6 8 12 13 -2 3 4 6 8 12 14 -2 3 4 6 8 12 15 -2 3 4 6 8 13 14 -2 3 4 6 8 13 15 -2 3 4 6 8 14 15 -2 3 4 6 9 10 11 -2 3 4 6 9 10 12 -2 3 4 6 9 10 13 -2 3 4 6 9 10 14 -2 3 4 6 9 10 15 -2 3 4 6 9 11 12 -2 3 4 6 9 11 13 -2 3 4 6 9 11 14 -2 3 4 6 9 11 15 -2 3 4 6 9 12 13 -2 3 4 6 9 12 14 -2 3 4 6 9 12 15 -2 3 4 6 9 13 14 -2 3 4 6 9 13 15 -2 3 4 6 9 14 15 -2 3 4 6 10 11 12 -2 3 4 6 10 11 13 -2 3 4 6 10 11 14 -2 3 4 6 10 11 15 -2 3 4 6 10 12 13 -2 3 4 6 10 12 14 -2 3 4 6 10 12 15 -2 3 4 6 10 13 14 -2 3 4 6 10 13 15 -2 3 4 6 10 14 15 -2 3 4 6 11 12 13 -2 3 4 6 11 12 14 -2 3 4 6 11 12 15 -2 3 4 6 11 13 14 -2 3 4 6 11 13 15 -2 3 4 6 11 14 15 -2 3 4 6 12 13 14 -2 3 4 6 12 13 15 -2 3 4 6 12 14 15 -2 3 4 6 13 14 15 -2 3 4 7 8 9 10 -2 3 4 7 8 9 11 -2 3 4 7 8 9 12 -2 3 4 7 8 9 13 -2 3 4 7 8 9 14 -2 3 4 7 8 9 15 -2 3 4 7 8 10 11 -2 3 4 7 8 10 12 -2 3 4 7 8 10 13 -2 3 4 7 8 10 14 -2 3 4 7 8 10 15 -2 3 4 7 8 11 12 -2 3 4 7 8 11 13 -2 3 4 7 8 11 14 -2 3 4 7 8 11 15 -2 3 4 7 8 12 13 -2 3 4 7 8 12 14 -2 3 4 7 8 12 15 -2 3 4 7 8 13 14 -2 3 4 7 8 13 15 -2 3 4 7 8 14 15 -2 3 4 7 9 10 11 -2 3 4 7 9 10 12 -2 3 4 7 9 10 13 -2 3 4 7 9 10 14 -2 3 4 7 9 10 15 -2 3 4 7 9 11 12 -2 3 4 7 9 11 13 -2 3 4 7 9 11 14 -2 3 4 7 9 11 15 -2 3 4 7 9 12 13 -2 3 4 7 9 12 14 -2 3 4 7 9 12 15 -2 3 4 7 9 13 14 -2 3 4 7 9 13 15 -2 3 4 7 9 14 15 -2 3 4 7 10 11 12 -2 3 4 7 10 11 13 -2 3 4 7 10 11 14 -2 3 4 7 10 11 15 -2 3 4 7 10 12 13 -2 3 4 7 10 12 14 -2 3 4 7 10 12 15 -2 3 4 7 10 13 14 -2 3 4 7 10 13 15 -2 3 4 7 10 14 15 -2 3 4 7 11 12 13 -2 3 4 7 11 12 14 -2 3 4 7 11 12 15 -2 3 4 7 11 13 14 -2 3 4 7 11 13 15 -2 3 4 7 11 14 15 -2 3 4 7 12 13 14 -2 3 4 7 12 13 15 -2 3 4 7 12 14 15 -2 3 4 7 13 14 15 -2 3 4 8 9 10 11 -2 3 4 8 9 10 12 -2 3 4 8 9 10 13 -2 3 4 8 9 10 14 -2 3 4 8 9 10 15 -2 3 4 8 9 11 12 -2 3 4 8 9 11 13 -2 3 4 8 9 11 14 -2 3 4 8 9 11 15 -2 3 4 8 9 12 13 -2 3 4 8 9 12 14 -2 3 4 8 9 12 15 -2 3 4 8 9 13 14 -2 3 4 8 9 13 15 -2 3 4 8 9 14 15 -2 3 4 8 10 11 12 -2 3 4 8 10 11 13 -2 3 4 8 10 11 14 -2 3 4 8 10 11 15 -2 3 4 8 10 12 13 -2 3 4 8 10 12 14 -2 3 4 8 10 12 15 -2 3 4 8 10 13 14 -2 3 4 8 10 13 15 -2 3 4 8 10 14 15 -2 3 4 8 11 12 13 -2 3 4 8 11 12 14 -2 3 4 8 11 12 15 -2 3 4 8 11 13 14 -2 3 4 8 11 13 15 -2 3 4 8 11 14 15 -2 3 4 8 12 13 14 -2 3 4 8 12 13 15 -2 3 4 8 12 14 15 -2 3 4 8 13 14 15 -2 3 4 9 10 11 12 -2 3 4 9 10 11 13 -2 3 4 9 10 11 14 -2 3 4 9 10 11 15 -2 3 4 9 10 12 13 -2 3 4 9 10 12 14 -2 3 4 9 10 12 15 -2 3 4 9 10 13 14 -2 3 4 9 10 13 15 -2 3 4 9 10 14 15 -2 3 4 9 11 12 13 -2 3 4 9 11 12 14 -2 3 4 9 11 12 15 -2 3 4 9 11 13 14 -2 3 4 9 11 13 15 -2 3 4 9 11 14 15 -2 3 4 9 12 13 14 -2 3 4 9 12 13 15 -2 3 4 9 12 14 15 -2 3 4 9 13 14 15 -2 3 4 10 11 12 13 -2 3 4 10 11 12 14 -2 3 4 10 11 12 15 -2 3 4 10 11 13 14 -2 3 4 10 11 13 15 -2 3 4 10 11 14 15 -2 3 4 10 12 13 14 -2 3 4 10 12 13 15 -2 3 4 10 12 14 15 -2 3 4 10 13 14 15 -2 3 4 11 12 13 14 -2 3 4 11 12 13 15 -2 3 4 11 12 14 15 -2 3 4 11 13 14 15 -2 3 4 12 13 14 15 -2 3 5 6 7 8 9 -2 3 5 6 7 8 10 -2 3 5 6 7 8 11 -2 3 5 6 7 8 12 -2 3 5 6 7 8 13 -2 3 5 6 7 8 14 -2 3 5 6 7 8 15 -2 3 5 6 7 9 10 -2 3 5 6 7 9 11 -2 3 5 6 7 9 12 -2 3 5 6 7 9 13 -2 3 5 6 7 9 14 -2 3 5 6 7 9 15 -2 3 5 6 7 10 11 -2 3 5 6 7 10 12 -2 3 5 6 7 10 13 -2 3 5 6 7 10 14 -2 3 5 6 7 10 15 -2 3 5 6 7 11 12 -2 3 5 6 7 11 13 -2 3 5 6 7 11 14 -2 3 5 6 7 11 15 -2 3 5 6 7 12 13 -2 3 5 6 7 12 14 -2 3 5 6 7 12 15 -2 3 5 6 7 13 14 -2 3 5 6 7 13 15 -2 3 5 6 7 14 15 -2 3 5 6 8 9 10 -2 3 5 6 8 9 11 -2 3 5 6 8 9 12 -2 3 5 6 8 9 13 -2 3 5 6 8 9 14 -2 3 5 6 8 9 15 -2 3 5 6 8 10 11 -2 3 5 6 8 10 12 -2 3 5 6 8 10 13 -2 3 5 6 8 10 14 -2 3 5 6 8 10 15 -2 3 5 6 8 11 12 -2 3 5 6 8 11 13 -2 3 5 6 8 11 14 -2 3 5 6 8 11 15 -2 3 5 6 8 12 13 -2 3 5 6 8 12 14 -2 3 5 6 8 12 15 -2 3 5 6 8 13 14 -2 3 5 6 8 13 15 -2 3 5 6 8 14 15 -2 3 5 6 9 10 11 -2 3 5 6 9 10 12 -2 3 5 6 9 10 13 -2 3 5 6 9 10 14 -2 3 5 6 9 10 15 -2 3 5 6 9 11 12 -2 3 5 6 9 11 13 -2 3 5 6 9 11 14 -2 3 5 6 9 11 15 -2 3 5 6 9 12 13 -2 3 5 6 9 12 14 -2 3 5 6 9 12 15 -2 3 5 6 9 13 14 -2 3 5 6 9 13 15 -2 3 5 6 9 14 15 -2 3 5 6 10 11 12 -2 3 5 6 10 11 13 -2 3 5 6 10 11 14 -2 3 5 6 10 11 15 -2 3 5 6 10 12 13 -2 3 5 6 10 12 14 -2 3 5 6 10 12 15 -2 3 5 6 10 13 14 -2 3 5 6 10 13 15 -2 3 5 6 10 14 15 -2 3 5 6 11 12 13 -2 3 5 6 11 12 14 -2 3 5 6 11 12 15 -2 3 5 6 11 13 14 -2 3 5 6 11 13 15 -2 3 5 6 11 14 15 -2 3 5 6 12 13 14 -2 3 5 6 12 13 15 -2 3 5 6 12 14 15 -2 3 5 6 13 14 15 -2 3 5 7 8 9 10 -2 3 5 7 8 9 11 -2 3 5 7 8 9 12 -2 3 5 7 8 9 13 -2 3 5 7 8 9 14 -2 3 5 7 8 9 15 -2 3 5 7 8 10 11 -2 3 5 7 8 10 12 -2 3 5 7 8 10 13 -2 3 5 7 8 10 14 -2 3 5 7 8 10 15 -2 3 5 7 8 11 12 -2 3 5 7 8 11 13 -2 3 5 7 8 11 14 -2 3 5 7 8 11 15 -2 3 5 7 8 12 13 -2 3 5 7 8 12 14 -2 3 5 7 8 12 15 -2 3 5 7 8 13 14 -2 3 5 7 8 13 15 -2 3 5 7 8 14 15 -2 3 5 7 9 10 11 -2 3 5 7 9 10 12 -2 3 5 7 9 10 13 -2 3 5 7 9 10 14 -2 3 5 7 9 10 15 -2 3 5 7 9 11 12 -2 3 5 7 9 11 13 -2 3 5 7 9 11 14 -2 3 5 7 9 11 15 -2 3 5 7 9 12 13 -2 3 5 7 9 12 14 -2 3 5 7 9 12 15 -2 3 5 7 9 13 14 -2 3 5 7 9 13 15 -2 3 5 7 9 14 15 -2 3 5 7 10 11 12 -2 3 5 7 10 11 13 -2 3 5 7 10 11 14 -2 3 5 7 10 11 15 -2 3 5 7 10 12 13 -2 3 5 7 10 12 14 -2 3 5 7 10 12 15 -2 3 5 7 10 13 14 -2 3 5 7 10 13 15 -2 3 5 7 10 14 15 -2 3 5 7 11 12 13 -2 3 5 7 11 12 14 -2 3 5 7 11 12 15 -2 3 5 7 11 13 14 -2 3 5 7 11 13 15 -2 3 5 7 11 14 15 -2 3 5 7 12 13 14 -2 3 5 7 12 13 15 -2 3 5 7 12 14 15 -2 3 5 7 13 14 15 -2 3 5 8 9 10 11 -2 3 5 8 9 10 12 -2 3 5 8 9 10 13 -2 3 5 8 9 10 14 -2 3 5 8 9 10 15 -2 3 5 8 9 11 12 -2 3 5 8 9 11 13 -2 3 5 8 9 11 14 -2 3 5 8 9 11 15 -2 3 5 8 9 12 13 -2 3 5 8 9 12 14 -2 3 5 8 9 12 15 -2 3 5 8 9 13 14 -2 3 5 8 9 13 15 -2 3 5 8 9 14 15 -2 3 5 8 10 11 12 -2 3 5 8 10 11 13 -2 3 5 8 10 11 14 -2 3 5 8 10 11 15 -2 3 5 8 10 12 13 -2 3 5 8 10 12 14 -2 3 5 8 10 12 15 -2 3 5 8 10 13 14 -2 3 5 8 10 13 15 -2 3 5 8 10 14 15 -2 3 5 8 11 12 13 -2 3 5 8 11 12 14 -2 3 5 8 11 12 15 -2 3 5 8 11 13 14 -2 3 5 8 11 13 15 -2 3 5 8 11 14 15 -2 3 5 8 12 13 14 -2 3 5 8 12 13 15 -2 3 5 8 12 14 15 -2 3 5 8 13 14 15 -2 3 5 9 10 11 12 -2 3 5 9 10 11 13 -2 3 5 9 10 11 14 -2 3 5 9 10 11 15 -2 3 5 9 10 12 13 -2 3 5 9 10 12 14 -2 3 5 9 10 12 15 -2 3 5 9 10 13 14 -2 3 5 9 10 13 15 -2 3 5 9 10 14 15 -2 3 5 9 11 12 13 -2 3 5 9 11 12 14 -2 3 5 9 11 12 15 -2 3 5 9 11 13 14 -2 3 5 9 11 13 15 -2 3 5 9 11 14 15 -2 3 5 9 12 13 14 -2 3 5 9 12 13 15 -2 3 5 9 12 14 15 -2 3 5 9 13 14 15 -2 3 5 10 11 12 13 -2 3 5 10 11 12 14 -2 3 5 10 11 12 15 -2 3 5 10 11 13 14 -2 3 5 10 11 13 15 -2 3 5 10 11 14 15 -2 3 5 10 12 13 14 -2 3 5 10 12 13 15 -2 3 5 10 12 14 15 -2 3 5 10 13 14 15 -2 3 5 11 12 13 14 -2 3 5 11 12 13 15 -2 3 5 11 12 14 15 -2 3 5 11 13 14 15 -2 3 5 12 13 14 15 -2 3 6 7 8 9 10 -2 3 6 7 8 9 11 -2 3 6 7 8 9 12 -2 3 6 7 8 9 13 -2 3 6 7 8 9 14 -2 3 6 7 8 9 15 -2 3 6 7 8 10 11 -2 3 6 7 8 10 12 -2 3 6 7 8 10 13 -2 3 6 7 8 10 14 -2 3 6 7 8 10 15 -2 3 6 7 8 11 12 -2 3 6 7 8 11 13 -2 3 6 7 8 11 14 -2 3 6 7 8 11 15 -2 3 6 7 8 12 13 -2 3 6 7 8 12 14 -2 3 6 7 8 12 15 -2 3 6 7 8 13 14 -2 3 6 7 8 13 15 -2 3 6 7 8 14 15 -2 3 6 7 9 10 11 -2 3 6 7 9 10 12 -2 3 6 7 9 10 13 -2 3 6 7 9 10 14 -2 3 6 7 9 10 15 -2 3 6 7 9 11 12 -2 3 6 7 9 11 13 -2 3 6 7 9 11 14 -2 3 6 7 9 11 15 -2 3 6 7 9 12 13 -2 3 6 7 9 12 14 -2 3 6 7 9 12 15 -2 3 6 7 9 13 14 -2 3 6 7 9 13 15 -2 3 6 7 9 14 15 -2 3 6 7 10 11 12 -2 3 6 7 10 11 13 -2 3 6 7 10 11 14 -2 3 6 7 10 11 15 -2 3 6 7 10 12 13 -2 3 6 7 10 12 14 -2 3 6 7 10 12 15 -2 3 6 7 10 13 14 -2 3 6 7 10 13 15 -2 3 6 7 10 14 15 -2 3 6 7 11 12 13 -2 3 6 7 11 12 14 -2 3 6 7 11 12 15 -2 3 6 7 11 13 14 -2 3 6 7 11 13 15 -2 3 6 7 11 14 15 -2 3 6 7 12 13 14 -2 3 6 7 12 13 15 -2 3 6 7 12 14 15 -2 3 6 7 13 14 15 -2 3 6 8 9 10 11 -2 3 6 8 9 10 12 -2 3 6 8 9 10 13 -2 3 6 8 9 10 14 -2 3 6 8 9 10 15 -2 3 6 8 9 11 12 -2 3 6 8 9 11 13 -2 3 6 8 9 11 14 -2 3 6 8 9 11 15 -2 3 6 8 9 12 13 -2 3 6 8 9 12 14 -2 3 6 8 9 12 15 -2 3 6 8 9 13 14 -2 3 6 8 9 13 15 -2 3 6 8 9 14 15 -2 3 6 8 10 11 12 -2 3 6 8 10 11 13 -2 3 6 8 10 11 14 -2 3 6 8 10 11 15 -2 3 6 8 10 12 13 -2 3 6 8 10 12 14 -2 3 6 8 10 12 15 -2 3 6 8 10 13 14 -2 3 6 8 10 13 15 -2 3 6 8 10 14 15 -2 3 6 8 11 12 13 -2 3 6 8 11 12 14 -2 3 6 8 11 12 15 -2 3 6 8 11 13 14 -2 3 6 8 11 13 15 -2 3 6 8 11 14 15 -2 3 6 8 12 13 14 -2 3 6 8 12 13 15 -2 3 6 8 12 14 15 -2 3 6 8 13 14 15 -2 3 6 9 10 11 12 -2 3 6 9 10 11 13 -2 3 6 9 10 11 14 -2 3 6 9 10 11 15 -2 3 6 9 10 12 13 -2 3 6 9 10 12 14 -2 3 6 9 10 12 15 -2 3 6 9 10 13 14 -2 3 6 9 10 13 15 -2 3 6 9 10 14 15 -2 3 6 9 11 12 13 -2 3 6 9 11 12 14 -2 3 6 9 11 12 15 -2 3 6 9 11 13 14 -2 3 6 9 11 13 15 -2 3 6 9 11 14 15 -2 3 6 9 12 13 14 -2 3 6 9 12 13 15 -2 3 6 9 12 14 15 -2 3 6 9 13 14 15 -2 3 6 10 11 12 13 -2 3 6 10 11 12 14 -2 3 6 10 11 12 15 -2 3 6 10 11 13 14 -2 3 6 10 11 13 15 -2 3 6 10 11 14 15 -2 3 6 10 12 13 14 -2 3 6 10 12 13 15 -2 3 6 10 12 14 15 -2 3 6 10 13 14 15 -2 3 6 11 12 13 14 -2 3 6 11 12 13 15 -2 3 6 11 12 14 15 -2 3 6 11 13 14 15 -2 3 6 12 13 14 15 -2 3 7 8 9 10 11 -2 3 7 8 9 10 12 -2 3 7 8 9 10 13 -2 3 7 8 9 10 14 -2 3 7 8 9 10 15 -2 3 7 8 9 11 12 -2 3 7 8 9 11 13 -2 3 7 8 9 11 14 -2 3 7 8 9 11 15 -2 3 7 8 9 12 13 -2 3 7 8 9 12 14 -2 3 7 8 9 12 15 -2 3 7 8 9 13 14 -2 3 7 8 9 13 15 -2 3 7 8 9 14 15 -2 3 7 8 10 11 12 -2 3 7 8 10 11 13 -2 3 7 8 10 11 14 -2 3 7 8 10 11 15 -2 3 7 8 10 12 13 -2 3 7 8 10 12 14 -2 3 7 8 10 12 15 -2 3 7 8 10 13 14 -2 3 7 8 10 13 15 -2 3 7 8 10 14 15 -2 3 7 8 11 12 13 -2 3 7 8 11 12 14 -2 3 7 8 11 12 15 -2 3 7 8 11 13 14 -2 3 7 8 11 13 15 -2 3 7 8 11 14 15 -2 3 7 8 12 13 14 -2 3 7 8 12 13 15 -2 3 7 8 12 14 15 -2 3 7 8 13 14 15 -2 3 7 9 10 11 12 -2 3 7 9 10 11 13 -2 3 7 9 10 11 14 -2 3 7 9 10 11 15 -2 3 7 9 10 12 13 -2 3 7 9 10 12 14 -2 3 7 9 10 12 15 -2 3 7 9 10 13 14 -2 3 7 9 10 13 15 -2 3 7 9 10 14 15 -2 3 7 9 11 12 13 -2 3 7 9 11 12 14 -2 3 7 9 11 12 15 -2 3 7 9 11 13 14 -2 3 7 9 11 13 15 -2 3 7 9 11 14 15 -2 3 7 9 12 13 14 -2 3 7 9 12 13 15 -2 3 7 9 12 14 15 -2 3 7 9 13 14 15 -2 3 7 10 11 12 13 -2 3 7 10 11 12 14 -2 3 7 10 11 12 15 -2 3 7 10 11 13 14 -2 3 7 10 11 13 15 -2 3 7 10 11 14 15 -2 3 7 10 12 13 14 -2 3 7 10 12 13 15 -2 3 7 10 12 14 15 -2 3 7 10 13 14 15 -2 3 7 11 12 13 14 -2 3 7 11 12 13 15 -2 3 7 11 12 14 15 -2 3 7 11 13 14 15 -2 3 7 12 13 14 15 -2 3 8 9 10 11 12 -2 3 8 9 10 11 13 -2 3 8 9 10 11 14 -2 3 8 9 10 11 15 -2 3 8 9 10 12 13 -2 3 8 9 10 12 14 -2 3 8 9 10 12 15 -2 3 8 9 10 13 14 -2 3 8 9 10 13 15 -2 3 8 9 10 14 15 -2 3 8 9 11 12 13 -2 3 8 9 11 12 14 -2 3 8 9 11 12 15 -2 3 8 9 11 13 14 -2 3 8 9 11 13 15 -2 3 8 9 11 14 15 -2 3 8 9 12 13 14 -2 3 8 9 12 13 15 -2 3 8 9 12 14 15 -2 3 8 9 13 14 15 -2 3 8 10 11 12 13 -2 3 8 10 11 12 14 -2 3 8 10 11 12 15 -2 3 8 10 11 13 14 -2 3 8 10 11 13 15 -2 3 8 10 11 14 15 -2 3 8 10 12 13 14 -2 3 8 10 12 13 15 -2 3 8 10 12 14 15 -2 3 8 10 13 14 15 -2 3 8 11 12 13 14 -2 3 8 11 12 13 15 -2 3 8 11 12 14 15 -2 3 8 11 13 14 15 -2 3 8 12 13 14 15 -2 3 9 10 11 12 13 -2 3 9 10 11 12 14 -2 3 9 10 11 12 15 -2 3 9 10 11 13 14 -2 3 9 10 11 13 15 -2 3 9 10 11 14 15 -2 3 9 10 12 13 14 -2 3 9 10 12 13 15 -2 3 9 10 12 14 15 -2 3 9 10 13 14 15 -2 3 9 11 12 13 14 -2 3 9 11 12 13 15 -2 3 9 11 12 14 15 -2 3 9 11 13 14 15 -2 3 9 12 13 14 15 -2 3 10 11 12 13 14 -2 3 10 11 12 13 15 -2 3 10 11 12 14 15 -2 3 10 11 13 14 15 -2 3 10 12 13 14 15 -2 3 11 12 13 14 15 -2 4 5 6 7 8 9 -2 4 5 6 7 8 10 -2 4 5 6 7 8 11 -2 4 5 6 7 8 12 -2 4 5 6 7 8 13 -2 4 5 6 7 8 14 -2 4 5 6 7 8 15 -2 4 5 6 7 9 10 -2 4 5 6 7 9 11 -2 4 5 6 7 9 12 -2 4 5 6 7 9 13 -2 4 5 6 7 9 14 -2 4 5 6 7 9 15 -2 4 5 6 7 10 11 -2 4 5 6 7 10 12 -2 4 5 6 7 10 13 -2 4 5 6 7 10 14 -2 4 5 6 7 10 15 -2 4 5 6 7 11 12 -2 4 5 6 7 11 13 -2 4 5 6 7 11 14 -2 4 5 6 7 11 15 -2 4 5 6 7 12 13 -2 4 5 6 7 12 14 -2 4 5 6 7 12 15 -2 4 5 6 7 13 14 -2 4 5 6 7 13 15 -2 4 5 6 7 14 15 -2 4 5 6 8 9 10 -2 4 5 6 8 9 11 -2 4 5 6 8 9 12 -2 4 5 6 8 9 13 -2 4 5 6 8 9 14 -2 4 5 6 8 9 15 -2 4 5 6 8 10 11 -2 4 5 6 8 10 12 -2 4 5 6 8 10 13 -2 4 5 6 8 10 14 -2 4 5 6 8 10 15 -2 4 5 6 8 11 12 -2 4 5 6 8 11 13 -2 4 5 6 8 11 14 -2 4 5 6 8 11 15 -2 4 5 6 8 12 13 -2 4 5 6 8 12 14 -2 4 5 6 8 12 15 -2 4 5 6 8 13 14 -2 4 5 6 8 13 15 -2 4 5 6 8 14 15 -2 4 5 6 9 10 11 -2 4 5 6 9 10 12 -2 4 5 6 9 10 13 -2 4 5 6 9 10 14 -2 4 5 6 9 10 15 -2 4 5 6 9 11 12 -2 4 5 6 9 11 13 -2 4 5 6 9 11 14 -2 4 5 6 9 11 15 -2 4 5 6 9 12 13 -2 4 5 6 9 12 14 -2 4 5 6 9 12 15 -2 4 5 6 9 13 14 -2 4 5 6 9 13 15 -2 4 5 6 9 14 15 -2 4 5 6 10 11 12 -2 4 5 6 10 11 13 -2 4 5 6 10 11 14 -2 4 5 6 10 11 15 -2 4 5 6 10 12 13 -2 4 5 6 10 12 14 -2 4 5 6 10 12 15 -2 4 5 6 10 13 14 -2 4 5 6 10 13 15 -2 4 5 6 10 14 15 -2 4 5 6 11 12 13 -2 4 5 6 11 12 14 -2 4 5 6 11 12 15 -2 4 5 6 11 13 14 -2 4 5 6 11 13 15 -2 4 5 6 11 14 15 -2 4 5 6 12 13 14 -2 4 5 6 12 13 15 -2 4 5 6 12 14 15 -2 4 5 6 13 14 15 -2 4 5 7 8 9 10 -2 4 5 7 8 9 11 -2 4 5 7 8 9 12 -2 4 5 7 8 9 13 -2 4 5 7 8 9 14 -2 4 5 7 8 9 15 -2 4 5 7 8 10 11 -2 4 5 7 8 10 12 -2 4 5 7 8 10 13 -2 4 5 7 8 10 14 -2 4 5 7 8 10 15 -2 4 5 7 8 11 12 -2 4 5 7 8 11 13 -2 4 5 7 8 11 14 -2 4 5 7 8 11 15 -2 4 5 7 8 12 13 -2 4 5 7 8 12 14 -2 4 5 7 8 12 15 -2 4 5 7 8 13 14 -2 4 5 7 8 13 15 -2 4 5 7 8 14 15 -2 4 5 7 9 10 11 -2 4 5 7 9 10 12 -2 4 5 7 9 10 13 -2 4 5 7 9 10 14 -2 4 5 7 9 10 15 -2 4 5 7 9 11 12 -2 4 5 7 9 11 13 -2 4 5 7 9 11 14 -2 4 5 7 9 11 15 -2 4 5 7 9 12 13 -2 4 5 7 9 12 14 -2 4 5 7 9 12 15 -2 4 5 7 9 13 14 -2 4 5 7 9 13 15 -2 4 5 7 9 14 15 -2 4 5 7 10 11 12 -2 4 5 7 10 11 13 -2 4 5 7 10 11 14 -2 4 5 7 10 11 15 -2 4 5 7 10 12 13 -2 4 5 7 10 12 14 -2 4 5 7 10 12 15 -2 4 5 7 10 13 14 -2 4 5 7 10 13 15 -2 4 5 7 10 14 15 -2 4 5 7 11 12 13 -2 4 5 7 11 12 14 -2 4 5 7 11 12 15 -2 4 5 7 11 13 14 -2 4 5 7 11 13 15 -2 4 5 7 11 14 15 -2 4 5 7 12 13 14 -2 4 5 7 12 13 15 -2 4 5 7 12 14 15 -2 4 5 7 13 14 15 -2 4 5 8 9 10 11 -2 4 5 8 9 10 12 -2 4 5 8 9 10 13 -2 4 5 8 9 10 14 -2 4 5 8 9 10 15 -2 4 5 8 9 11 12 -2 4 5 8 9 11 13 -2 4 5 8 9 11 14 -2 4 5 8 9 11 15 -2 4 5 8 9 12 13 -2 4 5 8 9 12 14 -2 4 5 8 9 12 15 -2 4 5 8 9 13 14 -2 4 5 8 9 13 15 -2 4 5 8 9 14 15 -2 4 5 8 10 11 12 -2 4 5 8 10 11 13 -2 4 5 8 10 11 14 -2 4 5 8 10 11 15 -2 4 5 8 10 12 13 -2 4 5 8 10 12 14 -2 4 5 8 10 12 15 -2 4 5 8 10 13 14 -2 4 5 8 10 13 15 -2 4 5 8 10 14 15 -2 4 5 8 11 12 13 -2 4 5 8 11 12 14 -2 4 5 8 11 12 15 -2 4 5 8 11 13 14 -2 4 5 8 11 13 15 -2 4 5 8 11 14 15 -2 4 5 8 12 13 14 -2 4 5 8 12 13 15 -2 4 5 8 12 14 15 -2 4 5 8 13 14 15 -2 4 5 9 10 11 12 -2 4 5 9 10 11 13 -2 4 5 9 10 11 14 -2 4 5 9 10 11 15 -2 4 5 9 10 12 13 -2 4 5 9 10 12 14 -2 4 5 9 10 12 15 -2 4 5 9 10 13 14 -2 4 5 9 10 13 15 -2 4 5 9 10 14 15 -2 4 5 9 11 12 13 -2 4 5 9 11 12 14 -2 4 5 9 11 12 15 -2 4 5 9 11 13 14 -2 4 5 9 11 13 15 -2 4 5 9 11 14 15 -2 4 5 9 12 13 14 -2 4 5 9 12 13 15 -2 4 5 9 12 14 15 -2 4 5 9 13 14 15 -2 4 5 10 11 12 13 -2 4 5 10 11 12 14 -2 4 5 10 11 12 15 -2 4 5 10 11 13 14 -2 4 5 10 11 13 15 -2 4 5 10 11 14 15 -2 4 5 10 12 13 14 -2 4 5 10 12 13 15 -2 4 5 10 12 14 15 -2 4 5 10 13 14 15 -2 4 5 11 12 13 14 -2 4 5 11 12 13 15 -2 4 5 11 12 14 15 -2 4 5 11 13 14 15 -2 4 5 12 13 14 15 -2 4 6 7 8 9 10 -2 4 6 7 8 9 11 -2 4 6 7 8 9 12 -2 4 6 7 8 9 13 -2 4 6 7 8 9 14 -2 4 6 7 8 9 15 -2 4 6 7 8 10 11 -2 4 6 7 8 10 12 -2 4 6 7 8 10 13 -2 4 6 7 8 10 14 -2 4 6 7 8 10 15 -2 4 6 7 8 11 12 -2 4 6 7 8 11 13 -2 4 6 7 8 11 14 -2 4 6 7 8 11 15 -2 4 6 7 8 12 13 -2 4 6 7 8 12 14 -2 4 6 7 8 12 15 -2 4 6 7 8 13 14 -2 4 6 7 8 13 15 -2 4 6 7 8 14 15 -2 4 6 7 9 10 11 -2 4 6 7 9 10 12 -2 4 6 7 9 10 13 -2 4 6 7 9 10 14 -2 4 6 7 9 10 15 -2 4 6 7 9 11 12 -2 4 6 7 9 11 13 -2 4 6 7 9 11 14 -2 4 6 7 9 11 15 -2 4 6 7 9 12 13 -2 4 6 7 9 12 14 -2 4 6 7 9 12 15 -2 4 6 7 9 13 14 -2 4 6 7 9 13 15 -2 4 6 7 9 14 15 -2 4 6 7 10 11 12 -2 4 6 7 10 11 13 -2 4 6 7 10 11 14 -2 4 6 7 10 11 15 -2 4 6 7 10 12 13 -2 4 6 7 10 12 14 -2 4 6 7 10 12 15 -2 4 6 7 10 13 14 -2 4 6 7 10 13 15 -2 4 6 7 10 14 15 -2 4 6 7 11 12 13 -2 4 6 7 11 12 14 -2 4 6 7 11 12 15 -2 4 6 7 11 13 14 -2 4 6 7 11 13 15 -2 4 6 7 11 14 15 -2 4 6 7 12 13 14 -2 4 6 7 12 13 15 -2 4 6 7 12 14 15 -2 4 6 7 13 14 15 -2 4 6 8 9 10 11 -2 4 6 8 9 10 12 -2 4 6 8 9 10 13 -2 4 6 8 9 10 14 -2 4 6 8 9 10 15 -2 4 6 8 9 11 12 -2 4 6 8 9 11 13 -2 4 6 8 9 11 14 -2 4 6 8 9 11 15 -2 4 6 8 9 12 13 -2 4 6 8 9 12 14 -2 4 6 8 9 12 15 -2 4 6 8 9 13 14 -2 4 6 8 9 13 15 -2 4 6 8 9 14 15 -2 4 6 8 10 11 12 -2 4 6 8 10 11 13 -2 4 6 8 10 11 14 -2 4 6 8 10 11 15 -2 4 6 8 10 12 13 -2 4 6 8 10 12 14 -2 4 6 8 10 12 15 -2 4 6 8 10 13 14 -2 4 6 8 10 13 15 -2 4 6 8 10 14 15 -2 4 6 8 11 12 13 -2 4 6 8 11 12 14 -2 4 6 8 11 12 15 -2 4 6 8 11 13 14 -2 4 6 8 11 13 15 -2 4 6 8 11 14 15 -2 4 6 8 12 13 14 -2 4 6 8 12 13 15 -2 4 6 8 12 14 15 -2 4 6 8 13 14 15 -2 4 6 9 10 11 12 -2 4 6 9 10 11 13 -2 4 6 9 10 11 14 -2 4 6 9 10 11 15 -2 4 6 9 10 12 13 -2 4 6 9 10 12 14 -2 4 6 9 10 12 15 -2 4 6 9 10 13 14 -2 4 6 9 10 13 15 -2 4 6 9 10 14 15 -2 4 6 9 11 12 13 -2 4 6 9 11 12 14 -2 4 6 9 11 12 15 -2 4 6 9 11 13 14 -2 4 6 9 11 13 15 -2 4 6 9 11 14 15 -2 4 6 9 12 13 14 -2 4 6 9 12 13 15 -2 4 6 9 12 14 15 -2 4 6 9 13 14 15 -2 4 6 10 11 12 13 -2 4 6 10 11 12 14 -2 4 6 10 11 12 15 -2 4 6 10 11 13 14 -2 4 6 10 11 13 15 -2 4 6 10 11 14 15 -2 4 6 10 12 13 14 -2 4 6 10 12 13 15 -2 4 6 10 12 14 15 -2 4 6 10 13 14 15 -2 4 6 11 12 13 14 -2 4 6 11 12 13 15 -2 4 6 11 12 14 15 -2 4 6 11 13 14 15 -2 4 6 12 13 14 15 -2 4 7 8 9 10 11 -2 4 7 8 9 10 12 -2 4 7 8 9 10 13 -2 4 7 8 9 10 14 -2 4 7 8 9 10 15 -2 4 7 8 9 11 12 -2 4 7 8 9 11 13 -2 4 7 8 9 11 14 -2 4 7 8 9 11 15 -2 4 7 8 9 12 13 -2 4 7 8 9 12 14 -2 4 7 8 9 12 15 -2 4 7 8 9 13 14 -2 4 7 8 9 13 15 -2 4 7 8 9 14 15 -2 4 7 8 10 11 12 -2 4 7 8 10 11 13 -2 4 7 8 10 11 14 -2 4 7 8 10 11 15 -2 4 7 8 10 12 13 -2 4 7 8 10 12 14 -2 4 7 8 10 12 15 -2 4 7 8 10 13 14 -2 4 7 8 10 13 15 -2 4 7 8 10 14 15 -2 4 7 8 11 12 13 -2 4 7 8 11 12 14 -2 4 7 8 11 12 15 -2 4 7 8 11 13 14 -2 4 7 8 11 13 15 -2 4 7 8 11 14 15 -2 4 7 8 12 13 14 -2 4 7 8 12 13 15 -2 4 7 8 12 14 15 -2 4 7 8 13 14 15 -2 4 7 9 10 11 12 -2 4 7 9 10 11 13 -2 4 7 9 10 11 14 -2 4 7 9 10 11 15 -2 4 7 9 10 12 13 -2 4 7 9 10 12 14 -2 4 7 9 10 12 15 -2 4 7 9 10 13 14 -2 4 7 9 10 13 15 -2 4 7 9 10 14 15 -2 4 7 9 11 12 13 -2 4 7 9 11 12 14 -2 4 7 9 11 12 15 -2 4 7 9 11 13 14 -2 4 7 9 11 13 15 -2 4 7 9 11 14 15 -2 4 7 9 12 13 14 -2 4 7 9 12 13 15 -2 4 7 9 12 14 15 -2 4 7 9 13 14 15 -2 4 7 10 11 12 13 -2 4 7 10 11 12 14 -2 4 7 10 11 12 15 -2 4 7 10 11 13 14 -2 4 7 10 11 13 15 -2 4 7 10 11 14 15 -2 4 7 10 12 13 14 -2 4 7 10 12 13 15 -2 4 7 10 12 14 15 -2 4 7 10 13 14 15 -2 4 7 11 12 13 14 -2 4 7 11 12 13 15 -2 4 7 11 12 14 15 -2 4 7 11 13 14 15 -2 4 7 12 13 14 15 -2 4 8 9 10 11 12 -2 4 8 9 10 11 13 -2 4 8 9 10 11 14 -2 4 8 9 10 11 15 -2 4 8 9 10 12 13 -2 4 8 9 10 12 14 -2 4 8 9 10 12 15 -2 4 8 9 10 13 14 -2 4 8 9 10 13 15 -2 4 8 9 10 14 15 -2 4 8 9 11 12 13 -2 4 8 9 11 12 14 -2 4 8 9 11 12 15 -2 4 8 9 11 13 14 -2 4 8 9 11 13 15 -2 4 8 9 11 14 15 -2 4 8 9 12 13 14 -2 4 8 9 12 13 15 -2 4 8 9 12 14 15 -2 4 8 9 13 14 15 -2 4 8 10 11 12 13 -2 4 8 10 11 12 14 -2 4 8 10 11 12 15 -2 4 8 10 11 13 14 -2 4 8 10 11 13 15 -2 4 8 10 11 14 15 -2 4 8 10 12 13 14 -2 4 8 10 12 13 15 -2 4 8 10 12 14 15 -2 4 8 10 13 14 15 -2 4 8 11 12 13 14 -2 4 8 11 12 13 15 -2 4 8 11 12 14 15 -2 4 8 11 13 14 15 -2 4 8 12 13 14 15 -2 4 9 10 11 12 13 -2 4 9 10 11 12 14 -2 4 9 10 11 12 15 -2 4 9 10 11 13 14 -2 4 9 10 11 13 15 -2 4 9 10 11 14 15 -2 4 9 10 12 13 14 -2 4 9 10 12 13 15 -2 4 9 10 12 14 15 -2 4 9 10 13 14 15 -2 4 9 11 12 13 14 -2 4 9 11 12 13 15 -2 4 9 11 12 14 15 -2 4 9 11 13 14 15 -2 4 9 12 13 14 15 -2 4 10 11 12 13 14 -2 4 10 11 12 13 15 -2 4 10 11 12 14 15 -2 4 10 11 13 14 15 -2 4 10 12 13 14 15 -2 4 11 12 13 14 15 -2 5 6 7 8 9 10 -2 5 6 7 8 9 11 -2 5 6 7 8 9 12 -2 5 6 7 8 9 13 -2 5 6 7 8 9 14 -2 5 6 7 8 9 15 -2 5 6 7 8 10 11 -2 5 6 7 8 10 12 -2 5 6 7 8 10 13 -2 5 6 7 8 10 14 -2 5 6 7 8 10 15 -2 5 6 7 8 11 12 -2 5 6 7 8 11 13 -2 5 6 7 8 11 14 -2 5 6 7 8 11 15 -2 5 6 7 8 12 13 -2 5 6 7 8 12 14 -2 5 6 7 8 12 15 -2 5 6 7 8 13 14 -2 5 6 7 8 13 15 -2 5 6 7 8 14 15 -2 5 6 7 9 10 11 -2 5 6 7 9 10 12 -2 5 6 7 9 10 13 -2 5 6 7 9 10 14 -2 5 6 7 9 10 15 -2 5 6 7 9 11 12 -2 5 6 7 9 11 13 -2 5 6 7 9 11 14 -2 5 6 7 9 11 15 -2 5 6 7 9 12 13 -2 5 6 7 9 12 14 -2 5 6 7 9 12 15 -2 5 6 7 9 13 14 -2 5 6 7 9 13 15 -2 5 6 7 9 14 15 -2 5 6 7 10 11 12 -2 5 6 7 10 11 13 -2 5 6 7 10 11 14 -2 5 6 7 10 11 15 -2 5 6 7 10 12 13 -2 5 6 7 10 12 14 -2 5 6 7 10 12 15 -2 5 6 7 10 13 14 -2 5 6 7 10 13 15 -2 5 6 7 10 14 15 -2 5 6 7 11 12 13 -2 5 6 7 11 12 14 -2 5 6 7 11 12 15 -2 5 6 7 11 13 14 -2 5 6 7 11 13 15 -2 5 6 7 11 14 15 -2 5 6 7 12 13 14 -2 5 6 7 12 13 15 -2 5 6 7 12 14 15 -2 5 6 7 13 14 15 -2 5 6 8 9 10 11 -2 5 6 8 9 10 12 -2 5 6 8 9 10 13 -2 5 6 8 9 10 14 -2 5 6 8 9 10 15 -2 5 6 8 9 11 12 -2 5 6 8 9 11 13 -2 5 6 8 9 11 14 -2 5 6 8 9 11 15 -2 5 6 8 9 12 13 -2 5 6 8 9 12 14 -2 5 6 8 9 12 15 -2 5 6 8 9 13 14 -2 5 6 8 9 13 15 -2 5 6 8 9 14 15 -2 5 6 8 10 11 12 -2 5 6 8 10 11 13 -2 5 6 8 10 11 14 -2 5 6 8 10 11 15 -2 5 6 8 10 12 13 -2 5 6 8 10 12 14 -2 5 6 8 10 12 15 -2 5 6 8 10 13 14 -2 5 6 8 10 13 15 -2 5 6 8 10 14 15 -2 5 6 8 11 12 13 -2 5 6 8 11 12 14 -2 5 6 8 11 12 15 -2 5 6 8 11 13 14 -2 5 6 8 11 13 15 -2 5 6 8 11 14 15 -2 5 6 8 12 13 14 -2 5 6 8 12 13 15 -2 5 6 8 12 14 15 -2 5 6 8 13 14 15 -2 5 6 9 10 11 12 -2 5 6 9 10 11 13 -2 5 6 9 10 11 14 -2 5 6 9 10 11 15 -2 5 6 9 10 12 13 -2 5 6 9 10 12 14 -2 5 6 9 10 12 15 -2 5 6 9 10 13 14 -2 5 6 9 10 13 15 -2 5 6 9 10 14 15 -2 5 6 9 11 12 13 -2 5 6 9 11 12 14 -2 5 6 9 11 12 15 -2 5 6 9 11 13 14 -2 5 6 9 11 13 15 -2 5 6 9 11 14 15 -2 5 6 9 12 13 14 -2 5 6 9 12 13 15 -2 5 6 9 12 14 15 -2 5 6 9 13 14 15 -2 5 6 10 11 12 13 -2 5 6 10 11 12 14 -2 5 6 10 11 12 15 -2 5 6 10 11 13 14 -2 5 6 10 11 13 15 -2 5 6 10 11 14 15 -2 5 6 10 12 13 14 -2 5 6 10 12 13 15 -2 5 6 10 12 14 15 -2 5 6 10 13 14 15 -2 5 6 11 12 13 14 -2 5 6 11 12 13 15 -2 5 6 11 12 14 15 -2 5 6 11 13 14 15 -2 5 6 12 13 14 15 -2 5 7 8 9 10 11 -2 5 7 8 9 10 12 -2 5 7 8 9 10 13 -2 5 7 8 9 10 14 -2 5 7 8 9 10 15 -2 5 7 8 9 11 12 -2 5 7 8 9 11 13 -2 5 7 8 9 11 14 -2 5 7 8 9 11 15 -2 5 7 8 9 12 13 -2 5 7 8 9 12 14 -2 5 7 8 9 12 15 -2 5 7 8 9 13 14 -2 5 7 8 9 13 15 -2 5 7 8 9 14 15 -2 5 7 8 10 11 12 -2 5 7 8 10 11 13 -2 5 7 8 10 11 14 -2 5 7 8 10 11 15 -2 5 7 8 10 12 13 -2 5 7 8 10 12 14 -2 5 7 8 10 12 15 -2 5 7 8 10 13 14 -2 5 7 8 10 13 15 -2 5 7 8 10 14 15 -2 5 7 8 11 12 13 -2 5 7 8 11 12 14 -2 5 7 8 11 12 15 -2 5 7 8 11 13 14 -2 5 7 8 11 13 15 -2 5 7 8 11 14 15 -2 5 7 8 12 13 14 -2 5 7 8 12 13 15 -2 5 7 8 12 14 15 -2 5 7 8 13 14 15 -2 5 7 9 10 11 12 -2 5 7 9 10 11 13 -2 5 7 9 10 11 14 -2 5 7 9 10 11 15 -2 5 7 9 10 12 13 -2 5 7 9 10 12 14 -2 5 7 9 10 12 15 -2 5 7 9 10 13 14 -2 5 7 9 10 13 15 -2 5 7 9 10 14 15 -2 5 7 9 11 12 13 -2 5 7 9 11 12 14 -2 5 7 9 11 12 15 -2 5 7 9 11 13 14 -2 5 7 9 11 13 15 -2 5 7 9 11 14 15 -2 5 7 9 12 13 14 -2 5 7 9 12 13 15 -2 5 7 9 12 14 15 -2 5 7 9 13 14 15 -2 5 7 10 11 12 13 -2 5 7 10 11 12 14 -2 5 7 10 11 12 15 -2 5 7 10 11 13 14 -2 5 7 10 11 13 15 -2 5 7 10 11 14 15 -2 5 7 10 12 13 14 -2 5 7 10 12 13 15 -2 5 7 10 12 14 15 -2 5 7 10 13 14 15 -2 5 7 11 12 13 14 -2 5 7 11 12 13 15 -2 5 7 11 12 14 15 -2 5 7 11 13 14 15 -2 5 7 12 13 14 15 -2 5 8 9 10 11 12 -2 5 8 9 10 11 13 -2 5 8 9 10 11 14 -2 5 8 9 10 11 15 -2 5 8 9 10 12 13 -2 5 8 9 10 12 14 -2 5 8 9 10 12 15 -2 5 8 9 10 13 14 -2 5 8 9 10 13 15 -2 5 8 9 10 14 15 -2 5 8 9 11 12 13 -2 5 8 9 11 12 14 -2 5 8 9 11 12 15 -2 5 8 9 11 13 14 -2 5 8 9 11 13 15 -2 5 8 9 11 14 15 -2 5 8 9 12 13 14 -2 5 8 9 12 13 15 -2 5 8 9 12 14 15 -2 5 8 9 13 14 15 -2 5 8 10 11 12 13 -2 5 8 10 11 12 14 -2 5 8 10 11 12 15 -2 5 8 10 11 13 14 -2 5 8 10 11 13 15 -2 5 8 10 11 14 15 -2 5 8 10 12 13 14 -2 5 8 10 12 13 15 -2 5 8 10 12 14 15 -2 5 8 10 13 14 15 -2 5 8 11 12 13 14 -2 5 8 11 12 13 15 -2 5 8 11 12 14 15 -2 5 8 11 13 14 15 -2 5 8 12 13 14 15 -2 5 9 10 11 12 13 -2 5 9 10 11 12 14 -2 5 9 10 11 12 15 -2 5 9 10 11 13 14 -2 5 9 10 11 13 15 -2 5 9 10 11 14 15 -2 5 9 10 12 13 14 -2 5 9 10 12 13 15 -2 5 9 10 12 14 15 -2 5 9 10 13 14 15 -2 5 9 11 12 13 14 -2 5 9 11 12 13 15 -2 5 9 11 12 14 15 -2 5 9 11 13 14 15 -2 5 9 12 13 14 15 -2 5 10 11 12 13 14 -2 5 10 11 12 13 15 -2 5 10 11 12 14 15 -2 5 10 11 13 14 15 -2 5 10 12 13 14 15 -2 5 11 12 13 14 15 -2 6 7 8 9 10 11 -2 6 7 8 9 10 12 -2 6 7 8 9 10 13 -2 6 7 8 9 10 14 -2 6 7 8 9 10 15 -2 6 7 8 9 11 12 -2 6 7 8 9 11 13 -2 6 7 8 9 11 14 -2 6 7 8 9 11 15 -2 6 7 8 9 12 13 -2 6 7 8 9 12 14 -2 6 7 8 9 12 15 -2 6 7 8 9 13 14 -2 6 7 8 9 13 15 -2 6 7 8 9 14 15 -2 6 7 8 10 11 12 -2 6 7 8 10 11 13 -2 6 7 8 10 11 14 -2 6 7 8 10 11 15 -2 6 7 8 10 12 13 -2 6 7 8 10 12 14 -2 6 7 8 10 12 15 -2 6 7 8 10 13 14 -2 6 7 8 10 13 15 -2 6 7 8 10 14 15 -2 6 7 8 11 12 13 -2 6 7 8 11 12 14 -2 6 7 8 11 12 15 -2 6 7 8 11 13 14 -2 6 7 8 11 13 15 -2 6 7 8 11 14 15 -2 6 7 8 12 13 14 -2 6 7 8 12 13 15 -2 6 7 8 12 14 15 -2 6 7 8 13 14 15 -2 6 7 9 10 11 12 -2 6 7 9 10 11 13 -2 6 7 9 10 11 14 -2 6 7 9 10 11 15 -2 6 7 9 10 12 13 -2 6 7 9 10 12 14 -2 6 7 9 10 12 15 -2 6 7 9 10 13 14 -2 6 7 9 10 13 15 -2 6 7 9 10 14 15 -2 6 7 9 11 12 13 -2 6 7 9 11 12 14 -2 6 7 9 11 12 15 -2 6 7 9 11 13 14 -2 6 7 9 11 13 15 -2 6 7 9 11 14 15 -2 6 7 9 12 13 14 -2 6 7 9 12 13 15 -2 6 7 9 12 14 15 -2 6 7 9 13 14 15 -2 6 7 10 11 12 13 -2 6 7 10 11 12 14 -2 6 7 10 11 12 15 -2 6 7 10 11 13 14 -2 6 7 10 11 13 15 -2 6 7 10 11 14 15 -2 6 7 10 12 13 14 -2 6 7 10 12 13 15 -2 6 7 10 12 14 15 -2 6 7 10 13 14 15 -2 6 7 11 12 13 14 -2 6 7 11 12 13 15 -2 6 7 11 12 14 15 -2 6 7 11 13 14 15 -2 6 7 12 13 14 15 -2 6 8 9 10 11 12 -2 6 8 9 10 11 13 -2 6 8 9 10 11 14 -2 6 8 9 10 11 15 -2 6 8 9 10 12 13 -2 6 8 9 10 12 14 -2 6 8 9 10 12 15 -2 6 8 9 10 13 14 -2 6 8 9 10 13 15 -2 6 8 9 10 14 15 -2 6 8 9 11 12 13 -2 6 8 9 11 12 14 -2 6 8 9 11 12 15 -2 6 8 9 11 13 14 -2 6 8 9 11 13 15 -2 6 8 9 11 14 15 -2 6 8 9 12 13 14 -2 6 8 9 12 13 15 -2 6 8 9 12 14 15 -2 6 8 9 13 14 15 -2 6 8 10 11 12 13 -2 6 8 10 11 12 14 -2 6 8 10 11 12 15 -2 6 8 10 11 13 14 -2 6 8 10 11 13 15 -2 6 8 10 11 14 15 -2 6 8 10 12 13 14 -2 6 8 10 12 13 15 -2 6 8 10 12 14 15 -2 6 8 10 13 14 15 -2 6 8 11 12 13 14 -2 6 8 11 12 13 15 -2 6 8 11 12 14 15 -2 6 8 11 13 14 15 -2 6 8 12 13 14 15 -2 6 9 10 11 12 13 -2 6 9 10 11 12 14 -2 6 9 10 11 12 15 -2 6 9 10 11 13 14 -2 6 9 10 11 13 15 -2 6 9 10 11 14 15 -2 6 9 10 12 13 14 -2 6 9 10 12 13 15 -2 6 9 10 12 14 15 -2 6 9 10 13 14 15 -2 6 9 11 12 13 14 -2 6 9 11 12 13 15 -2 6 9 11 12 14 15 -2 6 9 11 13 14 15 -2 6 9 12 13 14 15 -2 6 10 11 12 13 14 -2 6 10 11 12 13 15 -2 6 10 11 12 14 15 -2 6 10 11 13 14 15 -2 6 10 12 13 14 15 -2 6 11 12 13 14 15 -2 7 8 9 10 11 12 -2 7 8 9 10 11 13 -2 7 8 9 10 11 14 -2 7 8 9 10 11 15 -2 7 8 9 10 12 13 -2 7 8 9 10 12 14 -2 7 8 9 10 12 15 -2 7 8 9 10 13 14 -2 7 8 9 10 13 15 -2 7 8 9 10 14 15 -2 7 8 9 11 12 13 -2 7 8 9 11 12 14 -2 7 8 9 11 12 15 -2 7 8 9 11 13 14 -2 7 8 9 11 13 15 -2 7 8 9 11 14 15 -2 7 8 9 12 13 14 -2 7 8 9 12 13 15 -2 7 8 9 12 14 15 -2 7 8 9 13 14 15 -2 7 8 10 11 12 13 -2 7 8 10 11 12 14 -2 7 8 10 11 12 15 -2 7 8 10 11 13 14 -2 7 8 10 11 13 15 -2 7 8 10 11 14 15 -2 7 8 10 12 13 14 -2 7 8 10 12 13 15 -2 7 8 10 12 14 15 -2 7 8 10 13 14 15 -2 7 8 11 12 13 14 -2 7 8 11 12 13 15 -2 7 8 11 12 14 15 -2 7 8 11 13 14 15 -2 7 8 12 13 14 15 -2 7 9 10 11 12 13 -2 7 9 10 11 12 14 -2 7 9 10 11 12 15 -2 7 9 10 11 13 14 -2 7 9 10 11 13 15 -2 7 9 10 11 14 15 -2 7 9 10 12 13 14 -2 7 9 10 12 13 15 -2 7 9 10 12 14 15 -2 7 9 10 13 14 15 -2 7 9 11 12 13 14 -2 7 9 11 12 13 15 -2 7 9 11 12 14 15 -2 7 9 11 13 14 15 -2 7 9 12 13 14 15 -2 7 10 11 12 13 14 -2 7 10 11 12 13 15 -2 7 10 11 12 14 15 -2 7 10 11 13 14 15 -2 7 10 12 13 14 15 -2 7 11 12 13 14 15 -2 8 9 10 11 12 13 -2 8 9 10 11 12 14 -2 8 9 10 11 12 15 -2 8 9 10 11 13 14 -2 8 9 10 11 13 15 -2 8 9 10 11 14 15 -2 8 9 10 12 13 14 -2 8 9 10 12 13 15 -2 8 9 10 12 14 15 -2 8 9 10 13 14 15 -2 8 9 11 12 13 14 -2 8 9 11 12 13 15 -2 8 9 11 12 14 15 -2 8 9 11 13 14 15 -2 8 9 12 13 14 15 -2 8 10 11 12 13 14 -2 8 10 11 12 13 15 -2 8 10 11 12 14 15 -2 8 10 11 13 14 15 -2 8 10 12 13 14 15 -2 8 11 12 13 14 15 -2 9 10 11 12 13 14 -2 9 10 11 12 13 15 -2 9 10 11 12 14 15 -2 9 10 11 13 14 15 -2 9 10 12 13 14 15 -2 9 11 12 13 14 15 -2 10 11 12 13 14 15 -3 4 5 6 7 8 9 -3 4 5 6 7 8 10 -3 4 5 6 7 8 11 -3 4 5 6 7 8 12 -3 4 5 6 7 8 13 -3 4 5 6 7 8 14 -3 4 5 6 7 8 15 -3 4 5 6 7 9 10 -3 4 5 6 7 9 11 -3 4 5 6 7 9 12 -3 4 5 6 7 9 13 -3 4 5 6 7 9 14 -3 4 5 6 7 9 15 -3 4 5 6 7 10 11 -3 4 5 6 7 10 12 -3 4 5 6 7 10 13 -3 4 5 6 7 10 14 -3 4 5 6 7 10 15 -3 4 5 6 7 11 12 -3 4 5 6 7 11 13 -3 4 5 6 7 11 14 -3 4 5 6 7 11 15 -3 4 5 6 7 12 13 -3 4 5 6 7 12 14 -3 4 5 6 7 12 15 -3 4 5 6 7 13 14 -3 4 5 6 7 13 15 -3 4 5 6 7 14 15 -3 4 5 6 8 9 10 -3 4 5 6 8 9 11 -3 4 5 6 8 9 12 -3 4 5 6 8 9 13 -3 4 5 6 8 9 14 -3 4 5 6 8 9 15 -3 4 5 6 8 10 11 -3 4 5 6 8 10 12 -3 4 5 6 8 10 13 -3 4 5 6 8 10 14 -3 4 5 6 8 10 15 -3 4 5 6 8 11 12 -3 4 5 6 8 11 13 -3 4 5 6 8 11 14 -3 4 5 6 8 11 15 -3 4 5 6 8 12 13 -3 4 5 6 8 12 14 -3 4 5 6 8 12 15 -3 4 5 6 8 13 14 -3 4 5 6 8 13 15 -3 4 5 6 8 14 15 -3 4 5 6 9 10 11 -3 4 5 6 9 10 12 -3 4 5 6 9 10 13 -3 4 5 6 9 10 14 -3 4 5 6 9 10 15 -3 4 5 6 9 11 12 -3 4 5 6 9 11 13 -3 4 5 6 9 11 14 -3 4 5 6 9 11 15 -3 4 5 6 9 12 13 -3 4 5 6 9 12 14 -3 4 5 6 9 12 15 -3 4 5 6 9 13 14 -3 4 5 6 9 13 15 -3 4 5 6 9 14 15 -3 4 5 6 10 11 12 -3 4 5 6 10 11 13 -3 4 5 6 10 11 14 -3 4 5 6 10 11 15 -3 4 5 6 10 12 13 -3 4 5 6 10 12 14 -3 4 5 6 10 12 15 -3 4 5 6 10 13 14 -3 4 5 6 10 13 15 -3 4 5 6 10 14 15 -3 4 5 6 11 12 13 -3 4 5 6 11 12 14 -3 4 5 6 11 12 15 -3 4 5 6 11 13 14 -3 4 5 6 11 13 15 -3 4 5 6 11 14 15 -3 4 5 6 12 13 14 -3 4 5 6 12 13 15 -3 4 5 6 12 14 15 -3 4 5 6 13 14 15 -3 4 5 7 8 9 10 -3 4 5 7 8 9 11 -3 4 5 7 8 9 12 -3 4 5 7 8 9 13 -3 4 5 7 8 9 14 -3 4 5 7 8 9 15 -3 4 5 7 8 10 11 -3 4 5 7 8 10 12 -3 4 5 7 8 10 13 -3 4 5 7 8 10 14 -3 4 5 7 8 10 15 -3 4 5 7 8 11 12 -3 4 5 7 8 11 13 -3 4 5 7 8 11 14 -3 4 5 7 8 11 15 -3 4 5 7 8 12 13 -3 4 5 7 8 12 14 -3 4 5 7 8 12 15 -3 4 5 7 8 13 14 -3 4 5 7 8 13 15 -3 4 5 7 8 14 15 -3 4 5 7 9 10 11 -3 4 5 7 9 10 12 -3 4 5 7 9 10 13 -3 4 5 7 9 10 14 -3 4 5 7 9 10 15 -3 4 5 7 9 11 12 -3 4 5 7 9 11 13 -3 4 5 7 9 11 14 -3 4 5 7 9 11 15 -3 4 5 7 9 12 13 -3 4 5 7 9 12 14 -3 4 5 7 9 12 15 -3 4 5 7 9 13 14 -3 4 5 7 9 13 15 -3 4 5 7 9 14 15 -3 4 5 7 10 11 12 -3 4 5 7 10 11 13 -3 4 5 7 10 11 14 -3 4 5 7 10 11 15 -3 4 5 7 10 12 13 -3 4 5 7 10 12 14 -3 4 5 7 10 12 15 -3 4 5 7 10 13 14 -3 4 5 7 10 13 15 -3 4 5 7 10 14 15 -3 4 5 7 11 12 13 -3 4 5 7 11 12 14 -3 4 5 7 11 12 15 -3 4 5 7 11 13 14 -3 4 5 7 11 13 15 -3 4 5 7 11 14 15 -3 4 5 7 12 13 14 -3 4 5 7 12 13 15 -3 4 5 7 12 14 15 -3 4 5 7 13 14 15 -3 4 5 8 9 10 11 -3 4 5 8 9 10 12 -3 4 5 8 9 10 13 -3 4 5 8 9 10 14 -3 4 5 8 9 10 15 -3 4 5 8 9 11 12 -3 4 5 8 9 11 13 -3 4 5 8 9 11 14 -3 4 5 8 9 11 15 -3 4 5 8 9 12 13 -3 4 5 8 9 12 14 -3 4 5 8 9 12 15 -3 4 5 8 9 13 14 -3 4 5 8 9 13 15 -3 4 5 8 9 14 15 -3 4 5 8 10 11 12 -3 4 5 8 10 11 13 -3 4 5 8 10 11 14 -3 4 5 8 10 11 15 -3 4 5 8 10 12 13 -3 4 5 8 10 12 14 -3 4 5 8 10 12 15 -3 4 5 8 10 13 14 -3 4 5 8 10 13 15 -3 4 5 8 10 14 15 -3 4 5 8 11 12 13 -3 4 5 8 11 12 14 -3 4 5 8 11 12 15 -3 4 5 8 11 13 14 -3 4 5 8 11 13 15 -3 4 5 8 11 14 15 -3 4 5 8 12 13 14 -3 4 5 8 12 13 15 -3 4 5 8 12 14 15 -3 4 5 8 13 14 15 -3 4 5 9 10 11 12 -3 4 5 9 10 11 13 -3 4 5 9 10 11 14 -3 4 5 9 10 11 15 -3 4 5 9 10 12 13 -3 4 5 9 10 12 14 -3 4 5 9 10 12 15 -3 4 5 9 10 13 14 -3 4 5 9 10 13 15 -3 4 5 9 10 14 15 -3 4 5 9 11 12 13 -3 4 5 9 11 12 14 -3 4 5 9 11 12 15 -3 4 5 9 11 13 14 -3 4 5 9 11 13 15 -3 4 5 9 11 14 15 -3 4 5 9 12 13 14 -3 4 5 9 12 13 15 -3 4 5 9 12 14 15 -3 4 5 9 13 14 15 -3 4 5 10 11 12 13 -3 4 5 10 11 12 14 -3 4 5 10 11 12 15 -3 4 5 10 11 13 14 -3 4 5 10 11 13 15 -3 4 5 10 11 14 15 -3 4 5 10 12 13 14 -3 4 5 10 12 13 15 -3 4 5 10 12 14 15 -3 4 5 10 13 14 15 -3 4 5 11 12 13 14 -3 4 5 11 12 13 15 -3 4 5 11 12 14 15 -3 4 5 11 13 14 15 -3 4 5 12 13 14 15 -3 4 6 7 8 9 10 -3 4 6 7 8 9 11 -3 4 6 7 8 9 12 -3 4 6 7 8 9 13 -3 4 6 7 8 9 14 -3 4 6 7 8 9 15 -3 4 6 7 8 10 11 -3 4 6 7 8 10 12 -3 4 6 7 8 10 13 -3 4 6 7 8 10 14 -3 4 6 7 8 10 15 -3 4 6 7 8 11 12 -3 4 6 7 8 11 13 -3 4 6 7 8 11 14 -3 4 6 7 8 11 15 -3 4 6 7 8 12 13 -3 4 6 7 8 12 14 -3 4 6 7 8 12 15 -3 4 6 7 8 13 14 -3 4 6 7 8 13 15 -3 4 6 7 8 14 15 -3 4 6 7 9 10 11 -3 4 6 7 9 10 12 -3 4 6 7 9 10 13 -3 4 6 7 9 10 14 -3 4 6 7 9 10 15 -3 4 6 7 9 11 12 -3 4 6 7 9 11 13 -3 4 6 7 9 11 14 -3 4 6 7 9 11 15 -3 4 6 7 9 12 13 -3 4 6 7 9 12 14 -3 4 6 7 9 12 15 -3 4 6 7 9 13 14 -3 4 6 7 9 13 15 -3 4 6 7 9 14 15 -3 4 6 7 10 11 12 -3 4 6 7 10 11 13 -3 4 6 7 10 11 14 -3 4 6 7 10 11 15 -3 4 6 7 10 12 13 -3 4 6 7 10 12 14 -3 4 6 7 10 12 15 -3 4 6 7 10 13 14 -3 4 6 7 10 13 15 -3 4 6 7 10 14 15 -3 4 6 7 11 12 13 -3 4 6 7 11 12 14 -3 4 6 7 11 12 15 -3 4 6 7 11 13 14 -3 4 6 7 11 13 15 -3 4 6 7 11 14 15 -3 4 6 7 12 13 14 -3 4 6 7 12 13 15 -3 4 6 7 12 14 15 -3 4 6 7 13 14 15 -3 4 6 8 9 10 11 -3 4 6 8 9 10 12 -3 4 6 8 9 10 13 -3 4 6 8 9 10 14 -3 4 6 8 9 10 15 -3 4 6 8 9 11 12 -3 4 6 8 9 11 13 -3 4 6 8 9 11 14 -3 4 6 8 9 11 15 -3 4 6 8 9 12 13 -3 4 6 8 9 12 14 -3 4 6 8 9 12 15 -3 4 6 8 9 13 14 -3 4 6 8 9 13 15 -3 4 6 8 9 14 15 -3 4 6 8 10 11 12 -3 4 6 8 10 11 13 -3 4 6 8 10 11 14 -3 4 6 8 10 11 15 -3 4 6 8 10 12 13 -3 4 6 8 10 12 14 -3 4 6 8 10 12 15 -3 4 6 8 10 13 14 -3 4 6 8 10 13 15 -3 4 6 8 10 14 15 -3 4 6 8 11 12 13 -3 4 6 8 11 12 14 -3 4 6 8 11 12 15 -3 4 6 8 11 13 14 -3 4 6 8 11 13 15 -3 4 6 8 11 14 15 -3 4 6 8 12 13 14 -3 4 6 8 12 13 15 -3 4 6 8 12 14 15 -3 4 6 8 13 14 15 -3 4 6 9 10 11 12 -3 4 6 9 10 11 13 -3 4 6 9 10 11 14 -3 4 6 9 10 11 15 -3 4 6 9 10 12 13 -3 4 6 9 10 12 14 -3 4 6 9 10 12 15 -3 4 6 9 10 13 14 -3 4 6 9 10 13 15 -3 4 6 9 10 14 15 -3 4 6 9 11 12 13 -3 4 6 9 11 12 14 -3 4 6 9 11 12 15 -3 4 6 9 11 13 14 -3 4 6 9 11 13 15 -3 4 6 9 11 14 15 -3 4 6 9 12 13 14 -3 4 6 9 12 13 15 -3 4 6 9 12 14 15 -3 4 6 9 13 14 15 -3 4 6 10 11 12 13 -3 4 6 10 11 12 14 -3 4 6 10 11 12 15 -3 4 6 10 11 13 14 -3 4 6 10 11 13 15 -3 4 6 10 11 14 15 -3 4 6 10 12 13 14 -3 4 6 10 12 13 15 -3 4 6 10 12 14 15 -3 4 6 10 13 14 15 -3 4 6 11 12 13 14 -3 4 6 11 12 13 15 -3 4 6 11 12 14 15 -3 4 6 11 13 14 15 -3 4 6 12 13 14 15 -3 4 7 8 9 10 11 -3 4 7 8 9 10 12 -3 4 7 8 9 10 13 -3 4 7 8 9 10 14 -3 4 7 8 9 10 15 -3 4 7 8 9 11 12 -3 4 7 8 9 11 13 -3 4 7 8 9 11 14 -3 4 7 8 9 11 15 -3 4 7 8 9 12 13 -3 4 7 8 9 12 14 -3 4 7 8 9 12 15 -3 4 7 8 9 13 14 -3 4 7 8 9 13 15 -3 4 7 8 9 14 15 -3 4 7 8 10 11 12 -3 4 7 8 10 11 13 -3 4 7 8 10 11 14 -3 4 7 8 10 11 15 -3 4 7 8 10 12 13 -3 4 7 8 10 12 14 -3 4 7 8 10 12 15 -3 4 7 8 10 13 14 -3 4 7 8 10 13 15 -3 4 7 8 10 14 15 -3 4 7 8 11 12 13 -3 4 7 8 11 12 14 -3 4 7 8 11 12 15 -3 4 7 8 11 13 14 -3 4 7 8 11 13 15 -3 4 7 8 11 14 15 -3 4 7 8 12 13 14 -3 4 7 8 12 13 15 -3 4 7 8 12 14 15 -3 4 7 8 13 14 15 -3 4 7 9 10 11 12 -3 4 7 9 10 11 13 -3 4 7 9 10 11 14 -3 4 7 9 10 11 15 -3 4 7 9 10 12 13 -3 4 7 9 10 12 14 -3 4 7 9 10 12 15 -3 4 7 9 10 13 14 -3 4 7 9 10 13 15 -3 4 7 9 10 14 15 -3 4 7 9 11 12 13 -3 4 7 9 11 12 14 -3 4 7 9 11 12 15 -3 4 7 9 11 13 14 -3 4 7 9 11 13 15 -3 4 7 9 11 14 15 -3 4 7 9 12 13 14 -3 4 7 9 12 13 15 -3 4 7 9 12 14 15 -3 4 7 9 13 14 15 -3 4 7 10 11 12 13 -3 4 7 10 11 12 14 -3 4 7 10 11 12 15 -3 4 7 10 11 13 14 -3 4 7 10 11 13 15 -3 4 7 10 11 14 15 -3 4 7 10 12 13 14 -3 4 7 10 12 13 15 -3 4 7 10 12 14 15 -3 4 7 10 13 14 15 -3 4 7 11 12 13 14 -3 4 7 11 12 13 15 -3 4 7 11 12 14 15 -3 4 7 11 13 14 15 -3 4 7 12 13 14 15 -3 4 8 9 10 11 12 -3 4 8 9 10 11 13 -3 4 8 9 10 11 14 -3 4 8 9 10 11 15 -3 4 8 9 10 12 13 -3 4 8 9 10 12 14 -3 4 8 9 10 12 15 -3 4 8 9 10 13 14 -3 4 8 9 10 13 15 -3 4 8 9 10 14 15 -3 4 8 9 11 12 13 -3 4 8 9 11 12 14 -3 4 8 9 11 12 15 -3 4 8 9 11 13 14 -3 4 8 9 11 13 15 -3 4 8 9 11 14 15 -3 4 8 9 12 13 14 -3 4 8 9 12 13 15 -3 4 8 9 12 14 15 -3 4 8 9 13 14 15 -3 4 8 10 11 12 13 -3 4 8 10 11 12 14 -3 4 8 10 11 12 15 -3 4 8 10 11 13 14 -3 4 8 10 11 13 15 -3 4 8 10 11 14 15 -3 4 8 10 12 13 14 -3 4 8 10 12 13 15 -3 4 8 10 12 14 15 -3 4 8 10 13 14 15 -3 4 8 11 12 13 14 -3 4 8 11 12 13 15 -3 4 8 11 12 14 15 -3 4 8 11 13 14 15 -3 4 8 12 13 14 15 -3 4 9 10 11 12 13 -3 4 9 10 11 12 14 -3 4 9 10 11 12 15 -3 4 9 10 11 13 14 -3 4 9 10 11 13 15 -3 4 9 10 11 14 15 -3 4 9 10 12 13 14 -3 4 9 10 12 13 15 -3 4 9 10 12 14 15 -3 4 9 10 13 14 15 -3 4 9 11 12 13 14 -3 4 9 11 12 13 15 -3 4 9 11 12 14 15 -3 4 9 11 13 14 15 -3 4 9 12 13 14 15 -3 4 10 11 12 13 14 -3 4 10 11 12 13 15 -3 4 10 11 12 14 15 -3 4 10 11 13 14 15 -3 4 10 12 13 14 15 -3 4 11 12 13 14 15 -3 5 6 7 8 9 10 -3 5 6 7 8 9 11 -3 5 6 7 8 9 12 -3 5 6 7 8 9 13 -3 5 6 7 8 9 14 -3 5 6 7 8 9 15 -3 5 6 7 8 10 11 -3 5 6 7 8 10 12 -3 5 6 7 8 10 13 -3 5 6 7 8 10 14 -3 5 6 7 8 10 15 -3 5 6 7 8 11 12 -3 5 6 7 8 11 13 -3 5 6 7 8 11 14 -3 5 6 7 8 11 15 -3 5 6 7 8 12 13 -3 5 6 7 8 12 14 -3 5 6 7 8 12 15 -3 5 6 7 8 13 14 -3 5 6 7 8 13 15 -3 5 6 7 8 14 15 -3 5 6 7 9 10 11 -3 5 6 7 9 10 12 -3 5 6 7 9 10 13 -3 5 6 7 9 10 14 -3 5 6 7 9 10 15 -3 5 6 7 9 11 12 -3 5 6 7 9 11 13 -3 5 6 7 9 11 14 -3 5 6 7 9 11 15 -3 5 6 7 9 12 13 -3 5 6 7 9 12 14 -3 5 6 7 9 12 15 -3 5 6 7 9 13 14 -3 5 6 7 9 13 15 -3 5 6 7 9 14 15 -3 5 6 7 10 11 12 -3 5 6 7 10 11 13 -3 5 6 7 10 11 14 -3 5 6 7 10 11 15 -3 5 6 7 10 12 13 -3 5 6 7 10 12 14 -3 5 6 7 10 12 15 -3 5 6 7 10 13 14 -3 5 6 7 10 13 15 -3 5 6 7 10 14 15 -3 5 6 7 11 12 13 -3 5 6 7 11 12 14 -3 5 6 7 11 12 15 -3 5 6 7 11 13 14 -3 5 6 7 11 13 15 -3 5 6 7 11 14 15 -3 5 6 7 12 13 14 -3 5 6 7 12 13 15 -3 5 6 7 12 14 15 -3 5 6 7 13 14 15 -3 5 6 8 9 10 11 -3 5 6 8 9 10 12 -3 5 6 8 9 10 13 -3 5 6 8 9 10 14 -3 5 6 8 9 10 15 -3 5 6 8 9 11 12 -3 5 6 8 9 11 13 -3 5 6 8 9 11 14 -3 5 6 8 9 11 15 -3 5 6 8 9 12 13 -3 5 6 8 9 12 14 -3 5 6 8 9 12 15 -3 5 6 8 9 13 14 -3 5 6 8 9 13 15 -3 5 6 8 9 14 15 -3 5 6 8 10 11 12 -3 5 6 8 10 11 13 -3 5 6 8 10 11 14 -3 5 6 8 10 11 15 -3 5 6 8 10 12 13 -3 5 6 8 10 12 14 -3 5 6 8 10 12 15 -3 5 6 8 10 13 14 -3 5 6 8 10 13 15 -3 5 6 8 10 14 15 -3 5 6 8 11 12 13 -3 5 6 8 11 12 14 -3 5 6 8 11 12 15 -3 5 6 8 11 13 14 -3 5 6 8 11 13 15 -3 5 6 8 11 14 15 -3 5 6 8 12 13 14 -3 5 6 8 12 13 15 -3 5 6 8 12 14 15 -3 5 6 8 13 14 15 -3 5 6 9 10 11 12 -3 5 6 9 10 11 13 -3 5 6 9 10 11 14 -3 5 6 9 10 11 15 -3 5 6 9 10 12 13 -3 5 6 9 10 12 14 -3 5 6 9 10 12 15 -3 5 6 9 10 13 14 -3 5 6 9 10 13 15 -3 5 6 9 10 14 15 -3 5 6 9 11 12 13 -3 5 6 9 11 12 14 -3 5 6 9 11 12 15 -3 5 6 9 11 13 14 -3 5 6 9 11 13 15 -3 5 6 9 11 14 15 -3 5 6 9 12 13 14 -3 5 6 9 12 13 15 -3 5 6 9 12 14 15 -3 5 6 9 13 14 15 -3 5 6 10 11 12 13 -3 5 6 10 11 12 14 -3 5 6 10 11 12 15 -3 5 6 10 11 13 14 -3 5 6 10 11 13 15 -3 5 6 10 11 14 15 -3 5 6 10 12 13 14 -3 5 6 10 12 13 15 -3 5 6 10 12 14 15 -3 5 6 10 13 14 15 -3 5 6 11 12 13 14 -3 5 6 11 12 13 15 -3 5 6 11 12 14 15 -3 5 6 11 13 14 15 -3 5 6 12 13 14 15 -3 5 7 8 9 10 11 -3 5 7 8 9 10 12 -3 5 7 8 9 10 13 -3 5 7 8 9 10 14 -3 5 7 8 9 10 15 -3 5 7 8 9 11 12 -3 5 7 8 9 11 13 -3 5 7 8 9 11 14 -3 5 7 8 9 11 15 -3 5 7 8 9 12 13 -3 5 7 8 9 12 14 -3 5 7 8 9 12 15 -3 5 7 8 9 13 14 -3 5 7 8 9 13 15 -3 5 7 8 9 14 15 -3 5 7 8 10 11 12 -3 5 7 8 10 11 13 -3 5 7 8 10 11 14 -3 5 7 8 10 11 15 -3 5 7 8 10 12 13 -3 5 7 8 10 12 14 -3 5 7 8 10 12 15 -3 5 7 8 10 13 14 -3 5 7 8 10 13 15 -3 5 7 8 10 14 15 -3 5 7 8 11 12 13 -3 5 7 8 11 12 14 -3 5 7 8 11 12 15 -3 5 7 8 11 13 14 -3 5 7 8 11 13 15 -3 5 7 8 11 14 15 -3 5 7 8 12 13 14 -3 5 7 8 12 13 15 -3 5 7 8 12 14 15 -3 5 7 8 13 14 15 -3 5 7 9 10 11 12 -3 5 7 9 10 11 13 -3 5 7 9 10 11 14 -3 5 7 9 10 11 15 -3 5 7 9 10 12 13 -3 5 7 9 10 12 14 -3 5 7 9 10 12 15 -3 5 7 9 10 13 14 -3 5 7 9 10 13 15 -3 5 7 9 10 14 15 -3 5 7 9 11 12 13 -3 5 7 9 11 12 14 -3 5 7 9 11 12 15 -3 5 7 9 11 13 14 -3 5 7 9 11 13 15 -3 5 7 9 11 14 15 -3 5 7 9 12 13 14 -3 5 7 9 12 13 15 -3 5 7 9 12 14 15 -3 5 7 9 13 14 15 -3 5 7 10 11 12 13 -3 5 7 10 11 12 14 -3 5 7 10 11 12 15 -3 5 7 10 11 13 14 -3 5 7 10 11 13 15 -3 5 7 10 11 14 15 -3 5 7 10 12 13 14 -3 5 7 10 12 13 15 -3 5 7 10 12 14 15 -3 5 7 10 13 14 15 -3 5 7 11 12 13 14 -3 5 7 11 12 13 15 -3 5 7 11 12 14 15 -3 5 7 11 13 14 15 -3 5 7 12 13 14 15 -3 5 8 9 10 11 12 -3 5 8 9 10 11 13 -3 5 8 9 10 11 14 -3 5 8 9 10 11 15 -3 5 8 9 10 12 13 -3 5 8 9 10 12 14 -3 5 8 9 10 12 15 -3 5 8 9 10 13 14 -3 5 8 9 10 13 15 -3 5 8 9 10 14 15 -3 5 8 9 11 12 13 -3 5 8 9 11 12 14 -3 5 8 9 11 12 15 -3 5 8 9 11 13 14 -3 5 8 9 11 13 15 -3 5 8 9 11 14 15 -3 5 8 9 12 13 14 -3 5 8 9 12 13 15 -3 5 8 9 12 14 15 -3 5 8 9 13 14 15 -3 5 8 10 11 12 13 -3 5 8 10 11 12 14 -3 5 8 10 11 12 15 -3 5 8 10 11 13 14 -3 5 8 10 11 13 15 -3 5 8 10 11 14 15 -3 5 8 10 12 13 14 -3 5 8 10 12 13 15 -3 5 8 10 12 14 15 -3 5 8 10 13 14 15 -3 5 8 11 12 13 14 -3 5 8 11 12 13 15 -3 5 8 11 12 14 15 -3 5 8 11 13 14 15 -3 5 8 12 13 14 15 -3 5 9 10 11 12 13 -3 5 9 10 11 12 14 -3 5 9 10 11 12 15 -3 5 9 10 11 13 14 -3 5 9 10 11 13 15 -3 5 9 10 11 14 15 -3 5 9 10 12 13 14 -3 5 9 10 12 13 15 -3 5 9 10 12 14 15 -3 5 9 10 13 14 15 -3 5 9 11 12 13 14 -3 5 9 11 12 13 15 -3 5 9 11 12 14 15 -3 5 9 11 13 14 15 -3 5 9 12 13 14 15 -3 5 10 11 12 13 14 -3 5 10 11 12 13 15 -3 5 10 11 12 14 15 -3 5 10 11 13 14 15 -3 5 10 12 13 14 15 -3 5 11 12 13 14 15 -3 6 7 8 9 10 11 -3 6 7 8 9 10 12 -3 6 7 8 9 10 13 -3 6 7 8 9 10 14 -3 6 7 8 9 10 15 -3 6 7 8 9 11 12 -3 6 7 8 9 11 13 -3 6 7 8 9 11 14 -3 6 7 8 9 11 15 -3 6 7 8 9 12 13 -3 6 7 8 9 12 14 -3 6 7 8 9 12 15 -3 6 7 8 9 13 14 -3 6 7 8 9 13 15 -3 6 7 8 9 14 15 -3 6 7 8 10 11 12 -3 6 7 8 10 11 13 -3 6 7 8 10 11 14 -3 6 7 8 10 11 15 -3 6 7 8 10 12 13 -3 6 7 8 10 12 14 -3 6 7 8 10 12 15 -3 6 7 8 10 13 14 -3 6 7 8 10 13 15 -3 6 7 8 10 14 15 -3 6 7 8 11 12 13 -3 6 7 8 11 12 14 -3 6 7 8 11 12 15 -3 6 7 8 11 13 14 -3 6 7 8 11 13 15 -3 6 7 8 11 14 15 -3 6 7 8 12 13 14 -3 6 7 8 12 13 15 -3 6 7 8 12 14 15 -3 6 7 8 13 14 15 -3 6 7 9 10 11 12 -3 6 7 9 10 11 13 -3 6 7 9 10 11 14 -3 6 7 9 10 11 15 -3 6 7 9 10 12 13 -3 6 7 9 10 12 14 -3 6 7 9 10 12 15 -3 6 7 9 10 13 14 -3 6 7 9 10 13 15 -3 6 7 9 10 14 15 -3 6 7 9 11 12 13 -3 6 7 9 11 12 14 -3 6 7 9 11 12 15 -3 6 7 9 11 13 14 -3 6 7 9 11 13 15 -3 6 7 9 11 14 15 -3 6 7 9 12 13 14 -3 6 7 9 12 13 15 -3 6 7 9 12 14 15 -3 6 7 9 13 14 15 -3 6 7 10 11 12 13 -3 6 7 10 11 12 14 -3 6 7 10 11 12 15 -3 6 7 10 11 13 14 -3 6 7 10 11 13 15 -3 6 7 10 11 14 15 -3 6 7 10 12 13 14 -3 6 7 10 12 13 15 -3 6 7 10 12 14 15 -3 6 7 10 13 14 15 -3 6 7 11 12 13 14 -3 6 7 11 12 13 15 -3 6 7 11 12 14 15 -3 6 7 11 13 14 15 -3 6 7 12 13 14 15 -3 6 8 9 10 11 12 -3 6 8 9 10 11 13 -3 6 8 9 10 11 14 -3 6 8 9 10 11 15 -3 6 8 9 10 12 13 -3 6 8 9 10 12 14 -3 6 8 9 10 12 15 -3 6 8 9 10 13 14 -3 6 8 9 10 13 15 -3 6 8 9 10 14 15 -3 6 8 9 11 12 13 -3 6 8 9 11 12 14 -3 6 8 9 11 12 15 -3 6 8 9 11 13 14 -3 6 8 9 11 13 15 -3 6 8 9 11 14 15 -3 6 8 9 12 13 14 -3 6 8 9 12 13 15 -3 6 8 9 12 14 15 -3 6 8 9 13 14 15 -3 6 8 10 11 12 13 -3 6 8 10 11 12 14 -3 6 8 10 11 12 15 -3 6 8 10 11 13 14 -3 6 8 10 11 13 15 -3 6 8 10 11 14 15 -3 6 8 10 12 13 14 -3 6 8 10 12 13 15 -3 6 8 10 12 14 15 -3 6 8 10 13 14 15 -3 6 8 11 12 13 14 -3 6 8 11 12 13 15 -3 6 8 11 12 14 15 -3 6 8 11 13 14 15 -3 6 8 12 13 14 15 -3 6 9 10 11 12 13 -3 6 9 10 11 12 14 -3 6 9 10 11 12 15 -3 6 9 10 11 13 14 -3 6 9 10 11 13 15 -3 6 9 10 11 14 15 -3 6 9 10 12 13 14 -3 6 9 10 12 13 15 -3 6 9 10 12 14 15 -3 6 9 10 13 14 15 -3 6 9 11 12 13 14 -3 6 9 11 12 13 15 -3 6 9 11 12 14 15 -3 6 9 11 13 14 15 -3 6 9 12 13 14 15 -3 6 10 11 12 13 14 -3 6 10 11 12 13 15 -3 6 10 11 12 14 15 -3 6 10 11 13 14 15 -3 6 10 12 13 14 15 -3 6 11 12 13 14 15 -3 7 8 9 10 11 12 -3 7 8 9 10 11 13 -3 7 8 9 10 11 14 -3 7 8 9 10 11 15 -3 7 8 9 10 12 13 -3 7 8 9 10 12 14 -3 7 8 9 10 12 15 -3 7 8 9 10 13 14 -3 7 8 9 10 13 15 -3 7 8 9 10 14 15 -3 7 8 9 11 12 13 -3 7 8 9 11 12 14 -3 7 8 9 11 12 15 -3 7 8 9 11 13 14 -3 7 8 9 11 13 15 -3 7 8 9 11 14 15 -3 7 8 9 12 13 14 -3 7 8 9 12 13 15 -3 7 8 9 12 14 15 -3 7 8 9 13 14 15 -3 7 8 10 11 12 13 -3 7 8 10 11 12 14 -3 7 8 10 11 12 15 -3 7 8 10 11 13 14 -3 7 8 10 11 13 15 -3 7 8 10 11 14 15 -3 7 8 10 12 13 14 -3 7 8 10 12 13 15 -3 7 8 10 12 14 15 -3 7 8 10 13 14 15 -3 7 8 11 12 13 14 -3 7 8 11 12 13 15 -3 7 8 11 12 14 15 -3 7 8 11 13 14 15 -3 7 8 12 13 14 15 -3 7 9 10 11 12 13 -3 7 9 10 11 12 14 -3 7 9 10 11 12 15 -3 7 9 10 11 13 14 -3 7 9 10 11 13 15 -3 7 9 10 11 14 15 -3 7 9 10 12 13 14 -3 7 9 10 12 13 15 -3 7 9 10 12 14 15 -3 7 9 10 13 14 15 -3 7 9 11 12 13 14 -3 7 9 11 12 13 15 -3 7 9 11 12 14 15 -3 7 9 11 13 14 15 -3 7 9 12 13 14 15 -3 7 10 11 12 13 14 -3 7 10 11 12 13 15 -3 7 10 11 12 14 15 -3 7 10 11 13 14 15 -3 7 10 12 13 14 15 -3 7 11 12 13 14 15 -3 8 9 10 11 12 13 -3 8 9 10 11 12 14 -3 8 9 10 11 12 15 -3 8 9 10 11 13 14 -3 8 9 10 11 13 15 -3 8 9 10 11 14 15 -3 8 9 10 12 13 14 -3 8 9 10 12 13 15 -3 8 9 10 12 14 15 -3 8 9 10 13 14 15 -3 8 9 11 12 13 14 -3 8 9 11 12 13 15 -3 8 9 11 12 14 15 -3 8 9 11 13 14 15 -3 8 9 12 13 14 15 -3 8 10 11 12 13 14 -3 8 10 11 12 13 15 -3 8 10 11 12 14 15 -3 8 10 11 13 14 15 -3 8 10 12 13 14 15 -3 8 11 12 13 14 15 -3 9 10 11 12 13 14 -3 9 10 11 12 13 15 -3 9 10 11 12 14 15 -3 9 10 11 13 14 15 -3 9 10 12 13 14 15 -3 9 11 12 13 14 15 -3 10 11 12 13 14 15 -4 5 6 7 8 9 10 -4 5 6 7 8 9 11 -4 5 6 7 8 9 12 -4 5 6 7 8 9 13 -4 5 6 7 8 9 14 -4 5 6 7 8 9 15 -4 5 6 7 8 10 11 -4 5 6 7 8 10 12 -4 5 6 7 8 10 13 -4 5 6 7 8 10 14 -4 5 6 7 8 10 15 -4 5 6 7 8 11 12 -4 5 6 7 8 11 13 -4 5 6 7 8 11 14 -4 5 6 7 8 11 15 -4 5 6 7 8 12 13 -4 5 6 7 8 12 14 -4 5 6 7 8 12 15 -4 5 6 7 8 13 14 -4 5 6 7 8 13 15 -4 5 6 7 8 14 15 -4 5 6 7 9 10 11 -4 5 6 7 9 10 12 -4 5 6 7 9 10 13 -4 5 6 7 9 10 14 -4 5 6 7 9 10 15 -4 5 6 7 9 11 12 -4 5 6 7 9 11 13 -4 5 6 7 9 11 14 -4 5 6 7 9 11 15 -4 5 6 7 9 12 13 -4 5 6 7 9 12 14 -4 5 6 7 9 12 15 -4 5 6 7 9 13 14 -4 5 6 7 9 13 15 -4 5 6 7 9 14 15 -4 5 6 7 10 11 12 -4 5 6 7 10 11 13 -4 5 6 7 10 11 14 -4 5 6 7 10 11 15 -4 5 6 7 10 12 13 -4 5 6 7 10 12 14 -4 5 6 7 10 12 15 -4 5 6 7 10 13 14 -4 5 6 7 10 13 15 -4 5 6 7 10 14 15 -4 5 6 7 11 12 13 -4 5 6 7 11 12 14 -4 5 6 7 11 12 15 -4 5 6 7 11 13 14 -4 5 6 7 11 13 15 -4 5 6 7 11 14 15 -4 5 6 7 12 13 14 -4 5 6 7 12 13 15 -4 5 6 7 12 14 15 -4 5 6 7 13 14 15 -4 5 6 8 9 10 11 -4 5 6 8 9 10 12 -4 5 6 8 9 10 13 -4 5 6 8 9 10 14 -4 5 6 8 9 10 15 -4 5 6 8 9 11 12 -4 5 6 8 9 11 13 -4 5 6 8 9 11 14 -4 5 6 8 9 11 15 -4 5 6 8 9 12 13 -4 5 6 8 9 12 14 -4 5 6 8 9 12 15 -4 5 6 8 9 13 14 -4 5 6 8 9 13 15 -4 5 6 8 9 14 15 -4 5 6 8 10 11 12 -4 5 6 8 10 11 13 -4 5 6 8 10 11 14 -4 5 6 8 10 11 15 -4 5 6 8 10 12 13 -4 5 6 8 10 12 14 -4 5 6 8 10 12 15 -4 5 6 8 10 13 14 -4 5 6 8 10 13 15 -4 5 6 8 10 14 15 -4 5 6 8 11 12 13 -4 5 6 8 11 12 14 -4 5 6 8 11 12 15 -4 5 6 8 11 13 14 -4 5 6 8 11 13 15 -4 5 6 8 11 14 15 -4 5 6 8 12 13 14 -4 5 6 8 12 13 15 -4 5 6 8 12 14 15 -4 5 6 8 13 14 15 -4 5 6 9 10 11 12 -4 5 6 9 10 11 13 -4 5 6 9 10 11 14 -4 5 6 9 10 11 15 -4 5 6 9 10 12 13 -4 5 6 9 10 12 14 -4 5 6 9 10 12 15 -4 5 6 9 10 13 14 -4 5 6 9 10 13 15 -4 5 6 9 10 14 15 -4 5 6 9 11 12 13 -4 5 6 9 11 12 14 -4 5 6 9 11 12 15 -4 5 6 9 11 13 14 -4 5 6 9 11 13 15 -4 5 6 9 11 14 15 -4 5 6 9 12 13 14 -4 5 6 9 12 13 15 -4 5 6 9 12 14 15 -4 5 6 9 13 14 15 -4 5 6 10 11 12 13 -4 5 6 10 11 12 14 -4 5 6 10 11 12 15 -4 5 6 10 11 13 14 -4 5 6 10 11 13 15 -4 5 6 10 11 14 15 -4 5 6 10 12 13 14 -4 5 6 10 12 13 15 -4 5 6 10 12 14 15 -4 5 6 10 13 14 15 -4 5 6 11 12 13 14 -4 5 6 11 12 13 15 -4 5 6 11 12 14 15 -4 5 6 11 13 14 15 -4 5 6 12 13 14 15 -4 5 7 8 9 10 11 -4 5 7 8 9 10 12 -4 5 7 8 9 10 13 -4 5 7 8 9 10 14 -4 5 7 8 9 10 15 -4 5 7 8 9 11 12 -4 5 7 8 9 11 13 -4 5 7 8 9 11 14 -4 5 7 8 9 11 15 -4 5 7 8 9 12 13 -4 5 7 8 9 12 14 -4 5 7 8 9 12 15 -4 5 7 8 9 13 14 -4 5 7 8 9 13 15 -4 5 7 8 9 14 15 -4 5 7 8 10 11 12 -4 5 7 8 10 11 13 -4 5 7 8 10 11 14 -4 5 7 8 10 11 15 -4 5 7 8 10 12 13 -4 5 7 8 10 12 14 -4 5 7 8 10 12 15 -4 5 7 8 10 13 14 -4 5 7 8 10 13 15 -4 5 7 8 10 14 15 -4 5 7 8 11 12 13 -4 5 7 8 11 12 14 -4 5 7 8 11 12 15 -4 5 7 8 11 13 14 -4 5 7 8 11 13 15 -4 5 7 8 11 14 15 -4 5 7 8 12 13 14 -4 5 7 8 12 13 15 -4 5 7 8 12 14 15 -4 5 7 8 13 14 15 -4 5 7 9 10 11 12 -4 5 7 9 10 11 13 -4 5 7 9 10 11 14 -4 5 7 9 10 11 15 -4 5 7 9 10 12 13 -4 5 7 9 10 12 14 -4 5 7 9 10 12 15 -4 5 7 9 10 13 14 -4 5 7 9 10 13 15 -4 5 7 9 10 14 15 -4 5 7 9 11 12 13 -4 5 7 9 11 12 14 -4 5 7 9 11 12 15 -4 5 7 9 11 13 14 -4 5 7 9 11 13 15 -4 5 7 9 11 14 15 -4 5 7 9 12 13 14 -4 5 7 9 12 13 15 -4 5 7 9 12 14 15 -4 5 7 9 13 14 15 -4 5 7 10 11 12 13 -4 5 7 10 11 12 14 -4 5 7 10 11 12 15 -4 5 7 10 11 13 14 -4 5 7 10 11 13 15 -4 5 7 10 11 14 15 -4 5 7 10 12 13 14 -4 5 7 10 12 13 15 -4 5 7 10 12 14 15 -4 5 7 10 13 14 15 -4 5 7 11 12 13 14 -4 5 7 11 12 13 15 -4 5 7 11 12 14 15 -4 5 7 11 13 14 15 -4 5 7 12 13 14 15 -4 5 8 9 10 11 12 -4 5 8 9 10 11 13 -4 5 8 9 10 11 14 -4 5 8 9 10 11 15 -4 5 8 9 10 12 13 -4 5 8 9 10 12 14 -4 5 8 9 10 12 15 -4 5 8 9 10 13 14 -4 5 8 9 10 13 15 -4 5 8 9 10 14 15 -4 5 8 9 11 12 13 -4 5 8 9 11 12 14 -4 5 8 9 11 12 15 -4 5 8 9 11 13 14 -4 5 8 9 11 13 15 -4 5 8 9 11 14 15 -4 5 8 9 12 13 14 -4 5 8 9 12 13 15 -4 5 8 9 12 14 15 -4 5 8 9 13 14 15 -4 5 8 10 11 12 13 -4 5 8 10 11 12 14 -4 5 8 10 11 12 15 -4 5 8 10 11 13 14 -4 5 8 10 11 13 15 -4 5 8 10 11 14 15 -4 5 8 10 12 13 14 -4 5 8 10 12 13 15 -4 5 8 10 12 14 15 -4 5 8 10 13 14 15 -4 5 8 11 12 13 14 -4 5 8 11 12 13 15 -4 5 8 11 12 14 15 -4 5 8 11 13 14 15 -4 5 8 12 13 14 15 -4 5 9 10 11 12 13 -4 5 9 10 11 12 14 -4 5 9 10 11 12 15 -4 5 9 10 11 13 14 -4 5 9 10 11 13 15 -4 5 9 10 11 14 15 -4 5 9 10 12 13 14 -4 5 9 10 12 13 15 -4 5 9 10 12 14 15 -4 5 9 10 13 14 15 -4 5 9 11 12 13 14 -4 5 9 11 12 13 15 -4 5 9 11 12 14 15 -4 5 9 11 13 14 15 -4 5 9 12 13 14 15 -4 5 10 11 12 13 14 -4 5 10 11 12 13 15 -4 5 10 11 12 14 15 -4 5 10 11 13 14 15 -4 5 10 12 13 14 15 -4 5 11 12 13 14 15 -4 6 7 8 9 10 11 -4 6 7 8 9 10 12 -4 6 7 8 9 10 13 -4 6 7 8 9 10 14 -4 6 7 8 9 10 15 -4 6 7 8 9 11 12 -4 6 7 8 9 11 13 -4 6 7 8 9 11 14 -4 6 7 8 9 11 15 -4 6 7 8 9 12 13 -4 6 7 8 9 12 14 -4 6 7 8 9 12 15 -4 6 7 8 9 13 14 -4 6 7 8 9 13 15 -4 6 7 8 9 14 15 -4 6 7 8 10 11 12 -4 6 7 8 10 11 13 -4 6 7 8 10 11 14 -4 6 7 8 10 11 15 -4 6 7 8 10 12 13 -4 6 7 8 10 12 14 -4 6 7 8 10 12 15 -4 6 7 8 10 13 14 -4 6 7 8 10 13 15 -4 6 7 8 10 14 15 -4 6 7 8 11 12 13 -4 6 7 8 11 12 14 -4 6 7 8 11 12 15 -4 6 7 8 11 13 14 -4 6 7 8 11 13 15 -4 6 7 8 11 14 15 -4 6 7 8 12 13 14 -4 6 7 8 12 13 15 -4 6 7 8 12 14 15 -4 6 7 8 13 14 15 -4 6 7 9 10 11 12 -4 6 7 9 10 11 13 -4 6 7 9 10 11 14 -4 6 7 9 10 11 15 -4 6 7 9 10 12 13 -4 6 7 9 10 12 14 -4 6 7 9 10 12 15 -4 6 7 9 10 13 14 -4 6 7 9 10 13 15 -4 6 7 9 10 14 15 -4 6 7 9 11 12 13 -4 6 7 9 11 12 14 -4 6 7 9 11 12 15 -4 6 7 9 11 13 14 -4 6 7 9 11 13 15 -4 6 7 9 11 14 15 -4 6 7 9 12 13 14 -4 6 7 9 12 13 15 -4 6 7 9 12 14 15 -4 6 7 9 13 14 15 -4 6 7 10 11 12 13 -4 6 7 10 11 12 14 -4 6 7 10 11 12 15 -4 6 7 10 11 13 14 -4 6 7 10 11 13 15 -4 6 7 10 11 14 15 -4 6 7 10 12 13 14 -4 6 7 10 12 13 15 -4 6 7 10 12 14 15 -4 6 7 10 13 14 15 -4 6 7 11 12 13 14 -4 6 7 11 12 13 15 -4 6 7 11 12 14 15 -4 6 7 11 13 14 15 -4 6 7 12 13 14 15 -4 6 8 9 10 11 12 -4 6 8 9 10 11 13 -4 6 8 9 10 11 14 -4 6 8 9 10 11 15 -4 6 8 9 10 12 13 -4 6 8 9 10 12 14 -4 6 8 9 10 12 15 -4 6 8 9 10 13 14 -4 6 8 9 10 13 15 -4 6 8 9 10 14 15 -4 6 8 9 11 12 13 -4 6 8 9 11 12 14 -4 6 8 9 11 12 15 -4 6 8 9 11 13 14 -4 6 8 9 11 13 15 -4 6 8 9 11 14 15 -4 6 8 9 12 13 14 -4 6 8 9 12 13 15 -4 6 8 9 12 14 15 -4 6 8 9 13 14 15 -4 6 8 10 11 12 13 -4 6 8 10 11 12 14 -4 6 8 10 11 12 15 -4 6 8 10 11 13 14 -4 6 8 10 11 13 15 -4 6 8 10 11 14 15 -4 6 8 10 12 13 14 -4 6 8 10 12 13 15 -4 6 8 10 12 14 15 -4 6 8 10 13 14 15 -4 6 8 11 12 13 14 -4 6 8 11 12 13 15 -4 6 8 11 12 14 15 -4 6 8 11 13 14 15 -4 6 8 12 13 14 15 -4 6 9 10 11 12 13 -4 6 9 10 11 12 14 -4 6 9 10 11 12 15 -4 6 9 10 11 13 14 -4 6 9 10 11 13 15 -4 6 9 10 11 14 15 -4 6 9 10 12 13 14 -4 6 9 10 12 13 15 -4 6 9 10 12 14 15 -4 6 9 10 13 14 15 -4 6 9 11 12 13 14 -4 6 9 11 12 13 15 -4 6 9 11 12 14 15 -4 6 9 11 13 14 15 -4 6 9 12 13 14 15 -4 6 10 11 12 13 14 -4 6 10 11 12 13 15 -4 6 10 11 12 14 15 -4 6 10 11 13 14 15 -4 6 10 12 13 14 15 -4 6 11 12 13 14 15 -4 7 8 9 10 11 12 -4 7 8 9 10 11 13 -4 7 8 9 10 11 14 -4 7 8 9 10 11 15 -4 7 8 9 10 12 13 -4 7 8 9 10 12 14 -4 7 8 9 10 12 15 -4 7 8 9 10 13 14 -4 7 8 9 10 13 15 -4 7 8 9 10 14 15 -4 7 8 9 11 12 13 -4 7 8 9 11 12 14 -4 7 8 9 11 12 15 -4 7 8 9 11 13 14 -4 7 8 9 11 13 15 -4 7 8 9 11 14 15 -4 7 8 9 12 13 14 -4 7 8 9 12 13 15 -4 7 8 9 12 14 15 -4 7 8 9 13 14 15 -4 7 8 10 11 12 13 -4 7 8 10 11 12 14 -4 7 8 10 11 12 15 -4 7 8 10 11 13 14 -4 7 8 10 11 13 15 -4 7 8 10 11 14 15 -4 7 8 10 12 13 14 -4 7 8 10 12 13 15 -4 7 8 10 12 14 15 -4 7 8 10 13 14 15 -4 7 8 11 12 13 14 -4 7 8 11 12 13 15 -4 7 8 11 12 14 15 -4 7 8 11 13 14 15 -4 7 8 12 13 14 15 -4 7 9 10 11 12 13 -4 7 9 10 11 12 14 -4 7 9 10 11 12 15 -4 7 9 10 11 13 14 -4 7 9 10 11 13 15 -4 7 9 10 11 14 15 -4 7 9 10 12 13 14 -4 7 9 10 12 13 15 -4 7 9 10 12 14 15 -4 7 9 10 13 14 15 -4 7 9 11 12 13 14 -4 7 9 11 12 13 15 -4 7 9 11 12 14 15 -4 7 9 11 13 14 15 -4 7 9 12 13 14 15 -4 7 10 11 12 13 14 -4 7 10 11 12 13 15 -4 7 10 11 12 14 15 -4 7 10 11 13 14 15 -4 7 10 12 13 14 15 -4 7 11 12 13 14 15 -4 8 9 10 11 12 13 -4 8 9 10 11 12 14 -4 8 9 10 11 12 15 -4 8 9 10 11 13 14 -4 8 9 10 11 13 15 -4 8 9 10 11 14 15 -4 8 9 10 12 13 14 -4 8 9 10 12 13 15 -4 8 9 10 12 14 15 -4 8 9 10 13 14 15 -4 8 9 11 12 13 14 -4 8 9 11 12 13 15 -4 8 9 11 12 14 15 -4 8 9 11 13 14 15 -4 8 9 12 13 14 15 -4 8 10 11 12 13 14 -4 8 10 11 12 13 15 -4 8 10 11 12 14 15 -4 8 10 11 13 14 15 -4 8 10 12 13 14 15 -4 8 11 12 13 14 15 -4 9 10 11 12 13 14 -4 9 10 11 12 13 15 -4 9 10 11 12 14 15 -4 9 10 11 13 14 15 -4 9 10 12 13 14 15 -4 9 11 12 13 14 15 -4 10 11 12 13 14 15 -5 6 7 8 9 10 11 -5 6 7 8 9 10 12 -5 6 7 8 9 10 13 -5 6 7 8 9 10 14 -5 6 7 8 9 10 15 -5 6 7 8 9 11 12 -5 6 7 8 9 11 13 -5 6 7 8 9 11 14 -5 6 7 8 9 11 15 -5 6 7 8 9 12 13 -5 6 7 8 9 12 14 -5 6 7 8 9 12 15 -5 6 7 8 9 13 14 -5 6 7 8 9 13 15 -5 6 7 8 9 14 15 -5 6 7 8 10 11 12 -5 6 7 8 10 11 13 -5 6 7 8 10 11 14 -5 6 7 8 10 11 15 -5 6 7 8 10 12 13 -5 6 7 8 10 12 14 -5 6 7 8 10 12 15 -5 6 7 8 10 13 14 -5 6 7 8 10 13 15 -5 6 7 8 10 14 15 -5 6 7 8 11 12 13 -5 6 7 8 11 12 14 -5 6 7 8 11 12 15 -5 6 7 8 11 13 14 -5 6 7 8 11 13 15 -5 6 7 8 11 14 15 -5 6 7 8 12 13 14 -5 6 7 8 12 13 15 -5 6 7 8 12 14 15 -5 6 7 8 13 14 15 -5 6 7 9 10 11 12 -5 6 7 9 10 11 13 -5 6 7 9 10 11 14 -5 6 7 9 10 11 15 -5 6 7 9 10 12 13 -5 6 7 9 10 12 14 -5 6 7 9 10 12 15 -5 6 7 9 10 13 14 -5 6 7 9 10 13 15 -5 6 7 9 10 14 15 -5 6 7 9 11 12 13 -5 6 7 9 11 12 14 -5 6 7 9 11 12 15 -5 6 7 9 11 13 14 -5 6 7 9 11 13 15 -5 6 7 9 11 14 15 -5 6 7 9 12 13 14 -5 6 7 9 12 13 15 -5 6 7 9 12 14 15 -5 6 7 9 13 14 15 -5 6 7 10 11 12 13 -5 6 7 10 11 12 14 -5 6 7 10 11 12 15 -5 6 7 10 11 13 14 -5 6 7 10 11 13 15 -5 6 7 10 11 14 15 -5 6 7 10 12 13 14 -5 6 7 10 12 13 15 -5 6 7 10 12 14 15 -5 6 7 10 13 14 15 -5 6 7 11 12 13 14 -5 6 7 11 12 13 15 -5 6 7 11 12 14 15 -5 6 7 11 13 14 15 -5 6 7 12 13 14 15 -5 6 8 9 10 11 12 -5 6 8 9 10 11 13 -5 6 8 9 10 11 14 -5 6 8 9 10 11 15 -5 6 8 9 10 12 13 -5 6 8 9 10 12 14 -5 6 8 9 10 12 15 -5 6 8 9 10 13 14 -5 6 8 9 10 13 15 -5 6 8 9 10 14 15 -5 6 8 9 11 12 13 -5 6 8 9 11 12 14 -5 6 8 9 11 12 15 -5 6 8 9 11 13 14 -5 6 8 9 11 13 15 -5 6 8 9 11 14 15 -5 6 8 9 12 13 14 -5 6 8 9 12 13 15 -5 6 8 9 12 14 15 -5 6 8 9 13 14 15 -5 6 8 10 11 12 13 -5 6 8 10 11 12 14 -5 6 8 10 11 12 15 -5 6 8 10 11 13 14 -5 6 8 10 11 13 15 -5 6 8 10 11 14 15 -5 6 8 10 12 13 14 -5 6 8 10 12 13 15 -5 6 8 10 12 14 15 -5 6 8 10 13 14 15 -5 6 8 11 12 13 14 -5 6 8 11 12 13 15 -5 6 8 11 12 14 15 -5 6 8 11 13 14 15 -5 6 8 12 13 14 15 -5 6 9 10 11 12 13 -5 6 9 10 11 12 14 -5 6 9 10 11 12 15 -5 6 9 10 11 13 14 -5 6 9 10 11 13 15 -5 6 9 10 11 14 15 -5 6 9 10 12 13 14 -5 6 9 10 12 13 15 -5 6 9 10 12 14 15 -5 6 9 10 13 14 15 -5 6 9 11 12 13 14 -5 6 9 11 12 13 15 -5 6 9 11 12 14 15 -5 6 9 11 13 14 15 -5 6 9 12 13 14 15 -5 6 10 11 12 13 14 -5 6 10 11 12 13 15 -5 6 10 11 12 14 15 -5 6 10 11 13 14 15 -5 6 10 12 13 14 15 -5 6 11 12 13 14 15 -5 7 8 9 10 11 12 -5 7 8 9 10 11 13 -5 7 8 9 10 11 14 -5 7 8 9 10 11 15 -5 7 8 9 10 12 13 -5 7 8 9 10 12 14 -5 7 8 9 10 12 15 -5 7 8 9 10 13 14 -5 7 8 9 10 13 15 -5 7 8 9 10 14 15 -5 7 8 9 11 12 13 -5 7 8 9 11 12 14 -5 7 8 9 11 12 15 -5 7 8 9 11 13 14 -5 7 8 9 11 13 15 -5 7 8 9 11 14 15 -5 7 8 9 12 13 14 -5 7 8 9 12 13 15 -5 7 8 9 12 14 15 -5 7 8 9 13 14 15 -5 7 8 10 11 12 13 -5 7 8 10 11 12 14 -5 7 8 10 11 12 15 -5 7 8 10 11 13 14 -5 7 8 10 11 13 15 -5 7 8 10 11 14 15 -5 7 8 10 12 13 14 -5 7 8 10 12 13 15 -5 7 8 10 12 14 15 -5 7 8 10 13 14 15 -5 7 8 11 12 13 14 -5 7 8 11 12 13 15 -5 7 8 11 12 14 15 -5 7 8 11 13 14 15 -5 7 8 12 13 14 15 -5 7 9 10 11 12 13 -5 7 9 10 11 12 14 -5 7 9 10 11 12 15 -5 7 9 10 11 13 14 -5 7 9 10 11 13 15 -5 7 9 10 11 14 15 -5 7 9 10 12 13 14 -5 7 9 10 12 13 15 -5 7 9 10 12 14 15 -5 7 9 10 13 14 15 -5 7 9 11 12 13 14 -5 7 9 11 12 13 15 -5 7 9 11 12 14 15 -5 7 9 11 13 14 15 -5 7 9 12 13 14 15 -5 7 10 11 12 13 14 -5 7 10 11 12 13 15 -5 7 10 11 12 14 15 -5 7 10 11 13 14 15 -5 7 10 12 13 14 15 -5 7 11 12 13 14 15 -5 8 9 10 11 12 13 -5 8 9 10 11 12 14 -5 8 9 10 11 12 15 -5 8 9 10 11 13 14 -5 8 9 10 11 13 15 -5 8 9 10 11 14 15 -5 8 9 10 12 13 14 -5 8 9 10 12 13 15 -5 8 9 10 12 14 15 -5 8 9 10 13 14 15 -5 8 9 11 12 13 14 -5 8 9 11 12 13 15 -5 8 9 11 12 14 15 -5 8 9 11 13 14 15 -5 8 9 12 13 14 15 -5 8 10 11 12 13 14 -5 8 10 11 12 13 15 -5 8 10 11 12 14 15 -5 8 10 11 13 14 15 -5 8 10 12 13 14 15 -5 8 11 12 13 14 15 -5 9 10 11 12 13 14 -5 9 10 11 12 13 15 -5 9 10 11 12 14 15 -5 9 10 11 13 14 15 -5 9 10 12 13 14 15 -5 9 11 12 13 14 15 -5 10 11 12 13 14 15 -6 7 8 9 10 11 12 -6 7 8 9 10 11 13 -6 7 8 9 10 11 14 -6 7 8 9 10 11 15 -6 7 8 9 10 12 13 -6 7 8 9 10 12 14 -6 7 8 9 10 12 15 -6 7 8 9 10 13 14 -6 7 8 9 10 13 15 -6 7 8 9 10 14 15 -6 7 8 9 11 12 13 -6 7 8 9 11 12 14 -6 7 8 9 11 12 15 -6 7 8 9 11 13 14 -6 7 8 9 11 13 15 -6 7 8 9 11 14 15 -6 7 8 9 12 13 14 -6 7 8 9 12 13 15 -6 7 8 9 12 14 15 -6 7 8 9 13 14 15 -6 7 8 10 11 12 13 -6 7 8 10 11 12 14 -6 7 8 10 11 12 15 -6 7 8 10 11 13 14 -6 7 8 10 11 13 15 -6 7 8 10 11 14 15 -6 7 8 10 12 13 14 -6 7 8 10 12 13 15 -6 7 8 10 12 14 15 -6 7 8 10 13 14 15 -6 7 8 11 12 13 14 -6 7 8 11 12 13 15 -6 7 8 11 12 14 15 -6 7 8 11 13 14 15 -6 7 8 12 13 14 15 -6 7 9 10 11 12 13 -6 7 9 10 11 12 14 -6 7 9 10 11 12 15 -6 7 9 10 11 13 14 -6 7 9 10 11 13 15 -6 7 9 10 11 14 15 -6 7 9 10 12 13 14 -6 7 9 10 12 13 15 -6 7 9 10 12 14 15 -6 7 9 10 13 14 15 -6 7 9 11 12 13 14 -6 7 9 11 12 13 15 -6 7 9 11 12 14 15 -6 7 9 11 13 14 15 -6 7 9 12 13 14 15 -6 7 10 11 12 13 14 -6 7 10 11 12 13 15 -6 7 10 11 12 14 15 -6 7 10 11 13 14 15 -6 7 10 12 13 14 15 -6 7 11 12 13 14 15 -6 8 9 10 11 12 13 -6 8 9 10 11 12 14 -6 8 9 10 11 12 15 -6 8 9 10 11 13 14 -6 8 9 10 11 13 15 -6 8 9 10 11 14 15 -6 8 9 10 12 13 14 -6 8 9 10 12 13 15 -6 8 9 10 12 14 15 -6 8 9 10 13 14 15 -6 8 9 11 12 13 14 -6 8 9 11 12 13 15 -6 8 9 11 12 14 15 -6 8 9 11 13 14 15 -6 8 9 12 13 14 15 -6 8 10 11 12 13 14 -6 8 10 11 12 13 15 -6 8 10 11 12 14 15 -6 8 10 11 13 14 15 -6 8 10 12 13 14 15 -6 8 11 12 13 14 15 -6 9 10 11 12 13 14 -6 9 10 11 12 13 15 -6 9 10 11 12 14 15 -6 9 10 11 13 14 15 -6 9 10 12 13 14 15 -6 9 11 12 13 14 15 -6 10 11 12 13 14 15 -7 8 9 10 11 12 13 -7 8 9 10 11 12 14 -7 8 9 10 11 12 15 -7 8 9 10 11 13 14 -7 8 9 10 11 13 15 -7 8 9 10 11 14 15 -7 8 9 10 12 13 14 -7 8 9 10 12 13 15 -7 8 9 10 12 14 15 -7 8 9 10 13 14 15 -7 8 9 11 12 13 14 -7 8 9 11 12 13 15 -7 8 9 11 12 14 15 -7 8 9 11 13 14 15 -7 8 9 12 13 14 15 -7 8 10 11 12 13 14 -7 8 10 11 12 13 15 -7 8 10 11 12 14 15 -7 8 10 11 13 14 15 -7 8 10 12 13 14 15 -7 8 11 12 13 14 15 -7 9 10 11 12 13 14 -7 9 10 11 12 13 15 -7 9 10 11 12 14 15 -7 9 10 11 13 14 15 -7 9 10 12 13 14 15 -7 9 11 12 13 14 15 -7 10 11 12 13 14 15 -8 9 10 11 12 13 14 -8 9 10 11 12 13 15 -8 9 10 11 12 14 15 -8 9 10 11 13 14 15 -8 9 10 12 13 14 15 -8 9 11 12 13 14 15 -8 10 11 12 13 14 15 -9 10 11 12 13 14 15 +0 1 2 3 4 5 6 +0 1 2 3 4 5 7 +0 1 2 3 4 5 8 +0 1 2 3 4 5 9 +0 1 2 3 4 5 10 +0 1 2 3 4 5 11 +0 1 2 3 4 5 12 +0 1 2 3 4 5 13 +0 1 2 3 4 5 14 +0 1 2 3 4 5 15 +0 1 2 3 4 6 7 +0 1 2 3 4 6 8 +0 1 2 3 4 6 9 +0 1 2 3 4 6 10 +0 1 2 3 4 6 11 +0 1 2 3 4 6 12 +0 1 2 3 4 6 13 +0 1 2 3 4 6 14 +0 1 2 3 4 6 15 +0 1 2 3 4 7 8 +0 1 2 3 4 7 9 +0 1 2 3 4 7 10 +0 1 2 3 4 7 11 +0 1 2 3 4 7 12 +0 1 2 3 4 7 13 +0 1 2 3 4 7 14 +0 1 2 3 4 7 15 +0 1 2 3 4 8 9 +0 1 2 3 4 8 10 +0 1 2 3 4 8 11 +0 1 2 3 4 8 12 +0 1 2 3 4 8 13 +0 1 2 3 4 8 14 +0 1 2 3 4 8 15 +0 1 2 3 4 9 10 +0 1 2 3 4 9 11 +0 1 2 3 4 9 12 +0 1 2 3 4 9 13 +0 1 2 3 4 9 14 +0 1 2 3 4 9 15 +0 1 2 3 4 10 11 +0 1 2 3 4 10 12 +0 1 2 3 4 10 13 +0 1 2 3 4 10 14 +0 1 2 3 4 10 15 +0 1 2 3 4 11 12 +0 1 2 3 4 11 13 +0 1 2 3 4 11 14 +0 1 2 3 4 11 15 +0 1 2 3 4 12 13 +0 1 2 3 4 12 14 +0 1 2 3 4 12 15 +0 1 2 3 4 13 14 +0 1 2 3 4 13 15 +0 1 2 3 4 14 15 +0 1 2 3 5 6 7 +0 1 2 3 5 6 8 +0 1 2 3 5 6 9 +0 1 2 3 5 6 10 +0 1 2 3 5 6 11 +0 1 2 3 5 6 12 +0 1 2 3 5 6 13 +0 1 2 3 5 6 14 +0 1 2 3 5 6 15 +0 1 2 3 5 7 8 +0 1 2 3 5 7 9 +0 1 2 3 5 7 10 +0 1 2 3 5 7 11 +0 1 2 3 5 7 12 +0 1 2 3 5 7 13 +0 1 2 3 5 7 14 +0 1 2 3 5 7 15 +0 1 2 3 5 8 9 +0 1 2 3 5 8 10 +0 1 2 3 5 8 11 +0 1 2 3 5 8 12 +0 1 2 3 5 8 13 +0 1 2 3 5 8 14 +0 1 2 3 5 8 15 +0 1 2 3 5 9 10 +0 1 2 3 5 9 11 +0 1 2 3 5 9 12 +0 1 2 3 5 9 13 +0 1 2 3 5 9 14 +0 1 2 3 5 9 15 +0 1 2 3 5 10 11 +0 1 2 3 5 10 12 +0 1 2 3 5 10 13 +0 1 2 3 5 10 14 +0 1 2 3 5 10 15 +0 1 2 3 5 11 12 +0 1 2 3 5 11 13 +0 1 2 3 5 11 14 +0 1 2 3 5 11 15 +0 1 2 3 5 12 13 +0 1 2 3 5 12 14 +0 1 2 3 5 12 15 +0 1 2 3 5 13 14 +0 1 2 3 5 13 15 +0 1 2 3 5 14 15 +0 1 2 3 6 7 8 +0 1 2 3 6 7 9 +0 1 2 3 6 7 10 +0 1 2 3 6 7 11 +0 1 2 3 6 7 12 +0 1 2 3 6 7 13 +0 1 2 3 6 7 14 +0 1 2 3 6 7 15 +0 1 2 3 6 8 9 +0 1 2 3 6 8 10 +0 1 2 3 6 8 11 +0 1 2 3 6 8 12 +0 1 2 3 6 8 13 +0 1 2 3 6 8 14 +0 1 2 3 6 8 15 +0 1 2 3 6 9 10 +0 1 2 3 6 9 11 +0 1 2 3 6 9 12 +0 1 2 3 6 9 13 +0 1 2 3 6 9 14 +0 1 2 3 6 9 15 +0 1 2 3 6 10 11 +0 1 2 3 6 10 12 +0 1 2 3 6 10 13 +0 1 2 3 6 10 14 +0 1 2 3 6 10 15 +0 1 2 3 6 11 12 +0 1 2 3 6 11 13 +0 1 2 3 6 11 14 +0 1 2 3 6 11 15 +0 1 2 3 6 12 13 +0 1 2 3 6 12 14 +0 1 2 3 6 12 15 +0 1 2 3 6 13 14 +0 1 2 3 6 13 15 +0 1 2 3 6 14 15 +0 1 2 3 7 8 9 +0 1 2 3 7 8 10 +0 1 2 3 7 8 11 +0 1 2 3 7 8 12 +0 1 2 3 7 8 13 +0 1 2 3 7 8 14 +0 1 2 3 7 8 15 +0 1 2 3 7 9 10 +0 1 2 3 7 9 11 +0 1 2 3 7 9 12 +0 1 2 3 7 9 13 +0 1 2 3 7 9 14 +0 1 2 3 7 9 15 +0 1 2 3 7 10 11 +0 1 2 3 7 10 12 +0 1 2 3 7 10 13 +0 1 2 3 7 10 14 +0 1 2 3 7 10 15 +0 1 2 3 7 11 12 +0 1 2 3 7 11 13 +0 1 2 3 7 11 14 +0 1 2 3 7 11 15 +0 1 2 3 7 12 13 +0 1 2 3 7 12 14 +0 1 2 3 7 12 15 +0 1 2 3 7 13 14 +0 1 2 3 7 13 15 +0 1 2 3 7 14 15 +0 1 2 3 8 9 10 +0 1 2 3 8 9 11 +0 1 2 3 8 9 12 +0 1 2 3 8 9 13 +0 1 2 3 8 9 14 +0 1 2 3 8 9 15 +0 1 2 3 8 10 11 +0 1 2 3 8 10 12 +0 1 2 3 8 10 13 +0 1 2 3 8 10 14 +0 1 2 3 8 10 15 +0 1 2 3 8 11 12 +0 1 2 3 8 11 13 +0 1 2 3 8 11 14 +0 1 2 3 8 11 15 +0 1 2 3 8 12 13 +0 1 2 3 8 12 14 +0 1 2 3 8 12 15 +0 1 2 3 8 13 14 +0 1 2 3 8 13 15 +0 1 2 3 8 14 15 +0 1 2 3 9 10 11 +0 1 2 3 9 10 12 +0 1 2 3 9 10 13 +0 1 2 3 9 10 14 +0 1 2 3 9 10 15 +0 1 2 3 9 11 12 +0 1 2 3 9 11 13 +0 1 2 3 9 11 14 +0 1 2 3 9 11 15 +0 1 2 3 9 12 13 +0 1 2 3 9 12 14 +0 1 2 3 9 12 15 +0 1 2 3 9 13 14 +0 1 2 3 9 13 15 +0 1 2 3 9 14 15 +0 1 2 3 10 11 12 +0 1 2 3 10 11 13 +0 1 2 3 10 11 14 +0 1 2 3 10 11 15 +0 1 2 3 10 12 13 +0 1 2 3 10 12 14 +0 1 2 3 10 12 15 +0 1 2 3 10 13 14 +0 1 2 3 10 13 15 +0 1 2 3 10 14 15 +0 1 2 3 11 12 13 +0 1 2 3 11 12 14 +0 1 2 3 11 12 15 +0 1 2 3 11 13 14 +0 1 2 3 11 13 15 +0 1 2 3 11 14 15 +0 1 2 3 12 13 14 +0 1 2 3 12 13 15 +0 1 2 3 12 14 15 +0 1 2 3 13 14 15 +0 1 2 4 5 6 7 +0 1 2 4 5 6 8 +0 1 2 4 5 6 9 +0 1 2 4 5 6 10 +0 1 2 4 5 6 11 +0 1 2 4 5 6 12 +0 1 2 4 5 6 13 +0 1 2 4 5 6 14 +0 1 2 4 5 6 15 +0 1 2 4 5 7 8 +0 1 2 4 5 7 9 +0 1 2 4 5 7 10 +0 1 2 4 5 7 11 +0 1 2 4 5 7 12 +0 1 2 4 5 7 13 +0 1 2 4 5 7 14 +0 1 2 4 5 7 15 +0 1 2 4 5 8 9 +0 1 2 4 5 8 10 +0 1 2 4 5 8 11 +0 1 2 4 5 8 12 +0 1 2 4 5 8 13 +0 1 2 4 5 8 14 +0 1 2 4 5 8 15 +0 1 2 4 5 9 10 +0 1 2 4 5 9 11 +0 1 2 4 5 9 12 +0 1 2 4 5 9 13 +0 1 2 4 5 9 14 +0 1 2 4 5 9 15 +0 1 2 4 5 10 11 +0 1 2 4 5 10 12 +0 1 2 4 5 10 13 +0 1 2 4 5 10 14 +0 1 2 4 5 10 15 +0 1 2 4 5 11 12 +0 1 2 4 5 11 13 +0 1 2 4 5 11 14 +0 1 2 4 5 11 15 +0 1 2 4 5 12 13 +0 1 2 4 5 12 14 +0 1 2 4 5 12 15 +0 1 2 4 5 13 14 +0 1 2 4 5 13 15 +0 1 2 4 5 14 15 +0 1 2 4 6 7 8 +0 1 2 4 6 7 9 +0 1 2 4 6 7 10 +0 1 2 4 6 7 11 +0 1 2 4 6 7 12 +0 1 2 4 6 7 13 +0 1 2 4 6 7 14 +0 1 2 4 6 7 15 +0 1 2 4 6 8 9 +0 1 2 4 6 8 10 +0 1 2 4 6 8 11 +0 1 2 4 6 8 12 +0 1 2 4 6 8 13 +0 1 2 4 6 8 14 +0 1 2 4 6 8 15 +0 1 2 4 6 9 10 +0 1 2 4 6 9 11 +0 1 2 4 6 9 12 +0 1 2 4 6 9 13 +0 1 2 4 6 9 14 +0 1 2 4 6 9 15 +0 1 2 4 6 10 11 +0 1 2 4 6 10 12 +0 1 2 4 6 10 13 +0 1 2 4 6 10 14 +0 1 2 4 6 10 15 +0 1 2 4 6 11 12 +0 1 2 4 6 11 13 +0 1 2 4 6 11 14 +0 1 2 4 6 11 15 +0 1 2 4 6 12 13 +0 1 2 4 6 12 14 +0 1 2 4 6 12 15 +0 1 2 4 6 13 14 +0 1 2 4 6 13 15 +0 1 2 4 6 14 15 +0 1 2 4 7 8 9 +0 1 2 4 7 8 10 +0 1 2 4 7 8 11 +0 1 2 4 7 8 12 +0 1 2 4 7 8 13 +0 1 2 4 7 8 14 +0 1 2 4 7 8 15 +0 1 2 4 7 9 10 +0 1 2 4 7 9 11 +0 1 2 4 7 9 12 +0 1 2 4 7 9 13 +0 1 2 4 7 9 14 +0 1 2 4 7 9 15 +0 1 2 4 7 10 11 +0 1 2 4 7 10 12 +0 1 2 4 7 10 13 +0 1 2 4 7 10 14 +0 1 2 4 7 10 15 +0 1 2 4 7 11 12 +0 1 2 4 7 11 13 +0 1 2 4 7 11 14 +0 1 2 4 7 11 15 +0 1 2 4 7 12 13 +0 1 2 4 7 12 14 +0 1 2 4 7 12 15 +0 1 2 4 7 13 14 +0 1 2 4 7 13 15 +0 1 2 4 7 14 15 +0 1 2 4 8 9 10 +0 1 2 4 8 9 11 +0 1 2 4 8 9 12 +0 1 2 4 8 9 13 +0 1 2 4 8 9 14 +0 1 2 4 8 9 15 +0 1 2 4 8 10 11 +0 1 2 4 8 10 12 +0 1 2 4 8 10 13 +0 1 2 4 8 10 14 +0 1 2 4 8 10 15 +0 1 2 4 8 11 12 +0 1 2 4 8 11 13 +0 1 2 4 8 11 14 +0 1 2 4 8 11 15 +0 1 2 4 8 12 13 +0 1 2 4 8 12 14 +0 1 2 4 8 12 15 +0 1 2 4 8 13 14 +0 1 2 4 8 13 15 +0 1 2 4 8 14 15 +0 1 2 4 9 10 11 +0 1 2 4 9 10 12 +0 1 2 4 9 10 13 +0 1 2 4 9 10 14 +0 1 2 4 9 10 15 +0 1 2 4 9 11 12 +0 1 2 4 9 11 13 +0 1 2 4 9 11 14 +0 1 2 4 9 11 15 +0 1 2 4 9 12 13 +0 1 2 4 9 12 14 +0 1 2 4 9 12 15 +0 1 2 4 9 13 14 +0 1 2 4 9 13 15 +0 1 2 4 9 14 15 +0 1 2 4 10 11 12 +0 1 2 4 10 11 13 +0 1 2 4 10 11 14 +0 1 2 4 10 11 15 +0 1 2 4 10 12 13 +0 1 2 4 10 12 14 +0 1 2 4 10 12 15 +0 1 2 4 10 13 14 +0 1 2 4 10 13 15 +0 1 2 4 10 14 15 +0 1 2 4 11 12 13 +0 1 2 4 11 12 14 +0 1 2 4 11 12 15 +0 1 2 4 11 13 14 +0 1 2 4 11 13 15 +0 1 2 4 11 14 15 +0 1 2 4 12 13 14 +0 1 2 4 12 13 15 +0 1 2 4 12 14 15 +0 1 2 4 13 14 15 +0 1 2 5 6 7 8 +0 1 2 5 6 7 9 +0 1 2 5 6 7 10 +0 1 2 5 6 7 11 +0 1 2 5 6 7 12 +0 1 2 5 6 7 13 +0 1 2 5 6 7 14 +0 1 2 5 6 7 15 +0 1 2 5 6 8 9 +0 1 2 5 6 8 10 +0 1 2 5 6 8 11 +0 1 2 5 6 8 12 +0 1 2 5 6 8 13 +0 1 2 5 6 8 14 +0 1 2 5 6 8 15 +0 1 2 5 6 9 10 +0 1 2 5 6 9 11 +0 1 2 5 6 9 12 +0 1 2 5 6 9 13 +0 1 2 5 6 9 14 +0 1 2 5 6 9 15 +0 1 2 5 6 10 11 +0 1 2 5 6 10 12 +0 1 2 5 6 10 13 +0 1 2 5 6 10 14 +0 1 2 5 6 10 15 +0 1 2 5 6 11 12 +0 1 2 5 6 11 13 +0 1 2 5 6 11 14 +0 1 2 5 6 11 15 +0 1 2 5 6 12 13 +0 1 2 5 6 12 14 +0 1 2 5 6 12 15 +0 1 2 5 6 13 14 +0 1 2 5 6 13 15 +0 1 2 5 6 14 15 +0 1 2 5 7 8 9 +0 1 2 5 7 8 10 +0 1 2 5 7 8 11 +0 1 2 5 7 8 12 +0 1 2 5 7 8 13 +0 1 2 5 7 8 14 +0 1 2 5 7 8 15 +0 1 2 5 7 9 10 +0 1 2 5 7 9 11 +0 1 2 5 7 9 12 +0 1 2 5 7 9 13 +0 1 2 5 7 9 14 +0 1 2 5 7 9 15 +0 1 2 5 7 10 11 +0 1 2 5 7 10 12 +0 1 2 5 7 10 13 +0 1 2 5 7 10 14 +0 1 2 5 7 10 15 +0 1 2 5 7 11 12 +0 1 2 5 7 11 13 +0 1 2 5 7 11 14 +0 1 2 5 7 11 15 +0 1 2 5 7 12 13 +0 1 2 5 7 12 14 +0 1 2 5 7 12 15 +0 1 2 5 7 13 14 +0 1 2 5 7 13 15 +0 1 2 5 7 14 15 +0 1 2 5 8 9 10 +0 1 2 5 8 9 11 +0 1 2 5 8 9 12 +0 1 2 5 8 9 13 +0 1 2 5 8 9 14 +0 1 2 5 8 9 15 +0 1 2 5 8 10 11 +0 1 2 5 8 10 12 +0 1 2 5 8 10 13 +0 1 2 5 8 10 14 +0 1 2 5 8 10 15 +0 1 2 5 8 11 12 +0 1 2 5 8 11 13 +0 1 2 5 8 11 14 +0 1 2 5 8 11 15 +0 1 2 5 8 12 13 +0 1 2 5 8 12 14 +0 1 2 5 8 12 15 +0 1 2 5 8 13 14 +0 1 2 5 8 13 15 +0 1 2 5 8 14 15 +0 1 2 5 9 10 11 +0 1 2 5 9 10 12 +0 1 2 5 9 10 13 +0 1 2 5 9 10 14 +0 1 2 5 9 10 15 +0 1 2 5 9 11 12 +0 1 2 5 9 11 13 +0 1 2 5 9 11 14 +0 1 2 5 9 11 15 +0 1 2 5 9 12 13 +0 1 2 5 9 12 14 +0 1 2 5 9 12 15 +0 1 2 5 9 13 14 +0 1 2 5 9 13 15 +0 1 2 5 9 14 15 +0 1 2 5 10 11 12 +0 1 2 5 10 11 13 +0 1 2 5 10 11 14 +0 1 2 5 10 11 15 +0 1 2 5 10 12 13 +0 1 2 5 10 12 14 +0 1 2 5 10 12 15 +0 1 2 5 10 13 14 +0 1 2 5 10 13 15 +0 1 2 5 10 14 15 +0 1 2 5 11 12 13 +0 1 2 5 11 12 14 +0 1 2 5 11 12 15 +0 1 2 5 11 13 14 +0 1 2 5 11 13 15 +0 1 2 5 11 14 15 +0 1 2 5 12 13 14 +0 1 2 5 12 13 15 +0 1 2 5 12 14 15 +0 1 2 5 13 14 15 +0 1 2 6 7 8 9 +0 1 2 6 7 8 10 +0 1 2 6 7 8 11 +0 1 2 6 7 8 12 +0 1 2 6 7 8 13 +0 1 2 6 7 8 14 +0 1 2 6 7 8 15 +0 1 2 6 7 9 10 +0 1 2 6 7 9 11 +0 1 2 6 7 9 12 +0 1 2 6 7 9 13 +0 1 2 6 7 9 14 +0 1 2 6 7 9 15 +0 1 2 6 7 10 11 +0 1 2 6 7 10 12 +0 1 2 6 7 10 13 +0 1 2 6 7 10 14 +0 1 2 6 7 10 15 +0 1 2 6 7 11 12 +0 1 2 6 7 11 13 +0 1 2 6 7 11 14 +0 1 2 6 7 11 15 +0 1 2 6 7 12 13 +0 1 2 6 7 12 14 +0 1 2 6 7 12 15 +0 1 2 6 7 13 14 +0 1 2 6 7 13 15 +0 1 2 6 7 14 15 +0 1 2 6 8 9 10 +0 1 2 6 8 9 11 +0 1 2 6 8 9 12 +0 1 2 6 8 9 13 +0 1 2 6 8 9 14 +0 1 2 6 8 9 15 +0 1 2 6 8 10 11 +0 1 2 6 8 10 12 +0 1 2 6 8 10 13 +0 1 2 6 8 10 14 +0 1 2 6 8 10 15 +0 1 2 6 8 11 12 +0 1 2 6 8 11 13 +0 1 2 6 8 11 14 +0 1 2 6 8 11 15 +0 1 2 6 8 12 13 +0 1 2 6 8 12 14 +0 1 2 6 8 12 15 +0 1 2 6 8 13 14 +0 1 2 6 8 13 15 +0 1 2 6 8 14 15 +0 1 2 6 9 10 11 +0 1 2 6 9 10 12 +0 1 2 6 9 10 13 +0 1 2 6 9 10 14 +0 1 2 6 9 10 15 +0 1 2 6 9 11 12 +0 1 2 6 9 11 13 +0 1 2 6 9 11 14 +0 1 2 6 9 11 15 +0 1 2 6 9 12 13 +0 1 2 6 9 12 14 +0 1 2 6 9 12 15 +0 1 2 6 9 13 14 +0 1 2 6 9 13 15 +0 1 2 6 9 14 15 +0 1 2 6 10 11 12 +0 1 2 6 10 11 13 +0 1 2 6 10 11 14 +0 1 2 6 10 11 15 +0 1 2 6 10 12 13 +0 1 2 6 10 12 14 +0 1 2 6 10 12 15 +0 1 2 6 10 13 14 +0 1 2 6 10 13 15 +0 1 2 6 10 14 15 +0 1 2 6 11 12 13 +0 1 2 6 11 12 14 +0 1 2 6 11 12 15 +0 1 2 6 11 13 14 +0 1 2 6 11 13 15 +0 1 2 6 11 14 15 +0 1 2 6 12 13 14 +0 1 2 6 12 13 15 +0 1 2 6 12 14 15 +0 1 2 6 13 14 15 +0 1 2 7 8 9 10 +0 1 2 7 8 9 11 +0 1 2 7 8 9 12 +0 1 2 7 8 9 13 +0 1 2 7 8 9 14 +0 1 2 7 8 9 15 +0 1 2 7 8 10 11 +0 1 2 7 8 10 12 +0 1 2 7 8 10 13 +0 1 2 7 8 10 14 +0 1 2 7 8 10 15 +0 1 2 7 8 11 12 +0 1 2 7 8 11 13 +0 1 2 7 8 11 14 +0 1 2 7 8 11 15 +0 1 2 7 8 12 13 +0 1 2 7 8 12 14 +0 1 2 7 8 12 15 +0 1 2 7 8 13 14 +0 1 2 7 8 13 15 +0 1 2 7 8 14 15 +0 1 2 7 9 10 11 +0 1 2 7 9 10 12 +0 1 2 7 9 10 13 +0 1 2 7 9 10 14 +0 1 2 7 9 10 15 +0 1 2 7 9 11 12 +0 1 2 7 9 11 13 +0 1 2 7 9 11 14 +0 1 2 7 9 11 15 +0 1 2 7 9 12 13 +0 1 2 7 9 12 14 +0 1 2 7 9 12 15 +0 1 2 7 9 13 14 +0 1 2 7 9 13 15 +0 1 2 7 9 14 15 +0 1 2 7 10 11 12 +0 1 2 7 10 11 13 +0 1 2 7 10 11 14 +0 1 2 7 10 11 15 +0 1 2 7 10 12 13 +0 1 2 7 10 12 14 +0 1 2 7 10 12 15 +0 1 2 7 10 13 14 +0 1 2 7 10 13 15 +0 1 2 7 10 14 15 +0 1 2 7 11 12 13 +0 1 2 7 11 12 14 +0 1 2 7 11 12 15 +0 1 2 7 11 13 14 +0 1 2 7 11 13 15 +0 1 2 7 11 14 15 +0 1 2 7 12 13 14 +0 1 2 7 12 13 15 +0 1 2 7 12 14 15 +0 1 2 7 13 14 15 +0 1 2 8 9 10 11 +0 1 2 8 9 10 12 +0 1 2 8 9 10 13 +0 1 2 8 9 10 14 +0 1 2 8 9 10 15 +0 1 2 8 9 11 12 +0 1 2 8 9 11 13 +0 1 2 8 9 11 14 +0 1 2 8 9 11 15 +0 1 2 8 9 12 13 +0 1 2 8 9 12 14 +0 1 2 8 9 12 15 +0 1 2 8 9 13 14 +0 1 2 8 9 13 15 +0 1 2 8 9 14 15 +0 1 2 8 10 11 12 +0 1 2 8 10 11 13 +0 1 2 8 10 11 14 +0 1 2 8 10 11 15 +0 1 2 8 10 12 13 +0 1 2 8 10 12 14 +0 1 2 8 10 12 15 +0 1 2 8 10 13 14 +0 1 2 8 10 13 15 +0 1 2 8 10 14 15 +0 1 2 8 11 12 13 +0 1 2 8 11 12 14 +0 1 2 8 11 12 15 +0 1 2 8 11 13 14 +0 1 2 8 11 13 15 +0 1 2 8 11 14 15 +0 1 2 8 12 13 14 +0 1 2 8 12 13 15 +0 1 2 8 12 14 15 +0 1 2 8 13 14 15 +0 1 2 9 10 11 12 +0 1 2 9 10 11 13 +0 1 2 9 10 11 14 +0 1 2 9 10 11 15 +0 1 2 9 10 12 13 +0 1 2 9 10 12 14 +0 1 2 9 10 12 15 +0 1 2 9 10 13 14 +0 1 2 9 10 13 15 +0 1 2 9 10 14 15 +0 1 2 9 11 12 13 +0 1 2 9 11 12 14 +0 1 2 9 11 12 15 +0 1 2 9 11 13 14 +0 1 2 9 11 13 15 +0 1 2 9 11 14 15 +0 1 2 9 12 13 14 +0 1 2 9 12 13 15 +0 1 2 9 12 14 15 +0 1 2 9 13 14 15 +0 1 2 10 11 12 13 +0 1 2 10 11 12 14 +0 1 2 10 11 12 15 +0 1 2 10 11 13 14 +0 1 2 10 11 13 15 +0 1 2 10 11 14 15 +0 1 2 10 12 13 14 +0 1 2 10 12 13 15 +0 1 2 10 12 14 15 +0 1 2 10 13 14 15 +0 1 2 11 12 13 14 +0 1 2 11 12 13 15 +0 1 2 11 12 14 15 +0 1 2 11 13 14 15 +0 1 2 12 13 14 15 +0 1 3 4 5 6 7 +0 1 3 4 5 6 8 +0 1 3 4 5 6 9 +0 1 3 4 5 6 10 +0 1 3 4 5 6 11 +0 1 3 4 5 6 12 +0 1 3 4 5 6 13 +0 1 3 4 5 6 14 +0 1 3 4 5 6 15 +0 1 3 4 5 7 8 +0 1 3 4 5 7 9 +0 1 3 4 5 7 10 +0 1 3 4 5 7 11 +0 1 3 4 5 7 12 +0 1 3 4 5 7 13 +0 1 3 4 5 7 14 +0 1 3 4 5 7 15 +0 1 3 4 5 8 9 +0 1 3 4 5 8 10 +0 1 3 4 5 8 11 +0 1 3 4 5 8 12 +0 1 3 4 5 8 13 +0 1 3 4 5 8 14 +0 1 3 4 5 8 15 +0 1 3 4 5 9 10 +0 1 3 4 5 9 11 +0 1 3 4 5 9 12 +0 1 3 4 5 9 13 +0 1 3 4 5 9 14 +0 1 3 4 5 9 15 +0 1 3 4 5 10 11 +0 1 3 4 5 10 12 +0 1 3 4 5 10 13 +0 1 3 4 5 10 14 +0 1 3 4 5 10 15 +0 1 3 4 5 11 12 +0 1 3 4 5 11 13 +0 1 3 4 5 11 14 +0 1 3 4 5 11 15 +0 1 3 4 5 12 13 +0 1 3 4 5 12 14 +0 1 3 4 5 12 15 +0 1 3 4 5 13 14 +0 1 3 4 5 13 15 +0 1 3 4 5 14 15 +0 1 3 4 6 7 8 +0 1 3 4 6 7 9 +0 1 3 4 6 7 10 +0 1 3 4 6 7 11 +0 1 3 4 6 7 12 +0 1 3 4 6 7 13 +0 1 3 4 6 7 14 +0 1 3 4 6 7 15 +0 1 3 4 6 8 9 +0 1 3 4 6 8 10 +0 1 3 4 6 8 11 +0 1 3 4 6 8 12 +0 1 3 4 6 8 13 +0 1 3 4 6 8 14 +0 1 3 4 6 8 15 +0 1 3 4 6 9 10 +0 1 3 4 6 9 11 +0 1 3 4 6 9 12 +0 1 3 4 6 9 13 +0 1 3 4 6 9 14 +0 1 3 4 6 9 15 +0 1 3 4 6 10 11 +0 1 3 4 6 10 12 +0 1 3 4 6 10 13 +0 1 3 4 6 10 14 +0 1 3 4 6 10 15 +0 1 3 4 6 11 12 +0 1 3 4 6 11 13 +0 1 3 4 6 11 14 +0 1 3 4 6 11 15 +0 1 3 4 6 12 13 +0 1 3 4 6 12 14 +0 1 3 4 6 12 15 +0 1 3 4 6 13 14 +0 1 3 4 6 13 15 +0 1 3 4 6 14 15 +0 1 3 4 7 8 9 +0 1 3 4 7 8 10 +0 1 3 4 7 8 11 +0 1 3 4 7 8 12 +0 1 3 4 7 8 13 +0 1 3 4 7 8 14 +0 1 3 4 7 8 15 +0 1 3 4 7 9 10 +0 1 3 4 7 9 11 +0 1 3 4 7 9 12 +0 1 3 4 7 9 13 +0 1 3 4 7 9 14 +0 1 3 4 7 9 15 +0 1 3 4 7 10 11 +0 1 3 4 7 10 12 +0 1 3 4 7 10 13 +0 1 3 4 7 10 14 +0 1 3 4 7 10 15 +0 1 3 4 7 11 12 +0 1 3 4 7 11 13 +0 1 3 4 7 11 14 +0 1 3 4 7 11 15 +0 1 3 4 7 12 13 +0 1 3 4 7 12 14 +0 1 3 4 7 12 15 +0 1 3 4 7 13 14 +0 1 3 4 7 13 15 +0 1 3 4 7 14 15 +0 1 3 4 8 9 10 +0 1 3 4 8 9 11 +0 1 3 4 8 9 12 +0 1 3 4 8 9 13 +0 1 3 4 8 9 14 +0 1 3 4 8 9 15 +0 1 3 4 8 10 11 +0 1 3 4 8 10 12 +0 1 3 4 8 10 13 +0 1 3 4 8 10 14 +0 1 3 4 8 10 15 +0 1 3 4 8 11 12 +0 1 3 4 8 11 13 +0 1 3 4 8 11 14 +0 1 3 4 8 11 15 +0 1 3 4 8 12 13 +0 1 3 4 8 12 14 +0 1 3 4 8 12 15 +0 1 3 4 8 13 14 +0 1 3 4 8 13 15 +0 1 3 4 8 14 15 +0 1 3 4 9 10 11 +0 1 3 4 9 10 12 +0 1 3 4 9 10 13 +0 1 3 4 9 10 14 +0 1 3 4 9 10 15 +0 1 3 4 9 11 12 +0 1 3 4 9 11 13 +0 1 3 4 9 11 14 +0 1 3 4 9 11 15 +0 1 3 4 9 12 13 +0 1 3 4 9 12 14 +0 1 3 4 9 12 15 +0 1 3 4 9 13 14 +0 1 3 4 9 13 15 +0 1 3 4 9 14 15 +0 1 3 4 10 11 12 +0 1 3 4 10 11 13 +0 1 3 4 10 11 14 +0 1 3 4 10 11 15 +0 1 3 4 10 12 13 +0 1 3 4 10 12 14 +0 1 3 4 10 12 15 +0 1 3 4 10 13 14 +0 1 3 4 10 13 15 +0 1 3 4 10 14 15 +0 1 3 4 11 12 13 +0 1 3 4 11 12 14 +0 1 3 4 11 12 15 +0 1 3 4 11 13 14 +0 1 3 4 11 13 15 +0 1 3 4 11 14 15 +0 1 3 4 12 13 14 +0 1 3 4 12 13 15 +0 1 3 4 12 14 15 +0 1 3 4 13 14 15 +0 1 3 5 6 7 8 +0 1 3 5 6 7 9 +0 1 3 5 6 7 10 +0 1 3 5 6 7 11 +0 1 3 5 6 7 12 +0 1 3 5 6 7 13 +0 1 3 5 6 7 14 +0 1 3 5 6 7 15 +0 1 3 5 6 8 9 +0 1 3 5 6 8 10 +0 1 3 5 6 8 11 +0 1 3 5 6 8 12 +0 1 3 5 6 8 13 +0 1 3 5 6 8 14 +0 1 3 5 6 8 15 +0 1 3 5 6 9 10 +0 1 3 5 6 9 11 +0 1 3 5 6 9 12 +0 1 3 5 6 9 13 +0 1 3 5 6 9 14 +0 1 3 5 6 9 15 +0 1 3 5 6 10 11 +0 1 3 5 6 10 12 +0 1 3 5 6 10 13 +0 1 3 5 6 10 14 +0 1 3 5 6 10 15 +0 1 3 5 6 11 12 +0 1 3 5 6 11 13 +0 1 3 5 6 11 14 +0 1 3 5 6 11 15 +0 1 3 5 6 12 13 +0 1 3 5 6 12 14 +0 1 3 5 6 12 15 +0 1 3 5 6 13 14 +0 1 3 5 6 13 15 +0 1 3 5 6 14 15 +0 1 3 5 7 8 9 +0 1 3 5 7 8 10 +0 1 3 5 7 8 11 +0 1 3 5 7 8 12 +0 1 3 5 7 8 13 +0 1 3 5 7 8 14 +0 1 3 5 7 8 15 +0 1 3 5 7 9 10 +0 1 3 5 7 9 11 +0 1 3 5 7 9 12 +0 1 3 5 7 9 13 +0 1 3 5 7 9 14 +0 1 3 5 7 9 15 +0 1 3 5 7 10 11 +0 1 3 5 7 10 12 +0 1 3 5 7 10 13 +0 1 3 5 7 10 14 +0 1 3 5 7 10 15 +0 1 3 5 7 11 12 +0 1 3 5 7 11 13 +0 1 3 5 7 11 14 +0 1 3 5 7 11 15 +0 1 3 5 7 12 13 +0 1 3 5 7 12 14 +0 1 3 5 7 12 15 +0 1 3 5 7 13 14 +0 1 3 5 7 13 15 +0 1 3 5 7 14 15 +0 1 3 5 8 9 10 +0 1 3 5 8 9 11 +0 1 3 5 8 9 12 +0 1 3 5 8 9 13 +0 1 3 5 8 9 14 +0 1 3 5 8 9 15 +0 1 3 5 8 10 11 +0 1 3 5 8 10 12 +0 1 3 5 8 10 13 +0 1 3 5 8 10 14 +0 1 3 5 8 10 15 +0 1 3 5 8 11 12 +0 1 3 5 8 11 13 +0 1 3 5 8 11 14 +0 1 3 5 8 11 15 +0 1 3 5 8 12 13 +0 1 3 5 8 12 14 +0 1 3 5 8 12 15 +0 1 3 5 8 13 14 +0 1 3 5 8 13 15 +0 1 3 5 8 14 15 +0 1 3 5 9 10 11 +0 1 3 5 9 10 12 +0 1 3 5 9 10 13 +0 1 3 5 9 10 14 +0 1 3 5 9 10 15 +0 1 3 5 9 11 12 +0 1 3 5 9 11 13 +0 1 3 5 9 11 14 +0 1 3 5 9 11 15 +0 1 3 5 9 12 13 +0 1 3 5 9 12 14 +0 1 3 5 9 12 15 +0 1 3 5 9 13 14 +0 1 3 5 9 13 15 +0 1 3 5 9 14 15 +0 1 3 5 10 11 12 +0 1 3 5 10 11 13 +0 1 3 5 10 11 14 +0 1 3 5 10 11 15 +0 1 3 5 10 12 13 +0 1 3 5 10 12 14 +0 1 3 5 10 12 15 +0 1 3 5 10 13 14 +0 1 3 5 10 13 15 +0 1 3 5 10 14 15 +0 1 3 5 11 12 13 +0 1 3 5 11 12 14 +0 1 3 5 11 12 15 +0 1 3 5 11 13 14 +0 1 3 5 11 13 15 +0 1 3 5 11 14 15 +0 1 3 5 12 13 14 +0 1 3 5 12 13 15 +0 1 3 5 12 14 15 +0 1 3 5 13 14 15 +0 1 3 6 7 8 9 +0 1 3 6 7 8 10 +0 1 3 6 7 8 11 +0 1 3 6 7 8 12 +0 1 3 6 7 8 13 +0 1 3 6 7 8 14 +0 1 3 6 7 8 15 +0 1 3 6 7 9 10 +0 1 3 6 7 9 11 +0 1 3 6 7 9 12 +0 1 3 6 7 9 13 +0 1 3 6 7 9 14 +0 1 3 6 7 9 15 +0 1 3 6 7 10 11 +0 1 3 6 7 10 12 +0 1 3 6 7 10 13 +0 1 3 6 7 10 14 +0 1 3 6 7 10 15 +0 1 3 6 7 11 12 +0 1 3 6 7 11 13 +0 1 3 6 7 11 14 +0 1 3 6 7 11 15 +0 1 3 6 7 12 13 +0 1 3 6 7 12 14 +0 1 3 6 7 12 15 +0 1 3 6 7 13 14 +0 1 3 6 7 13 15 +0 1 3 6 7 14 15 +0 1 3 6 8 9 10 +0 1 3 6 8 9 11 +0 1 3 6 8 9 12 +0 1 3 6 8 9 13 +0 1 3 6 8 9 14 +0 1 3 6 8 9 15 +0 1 3 6 8 10 11 +0 1 3 6 8 10 12 +0 1 3 6 8 10 13 +0 1 3 6 8 10 14 +0 1 3 6 8 10 15 +0 1 3 6 8 11 12 +0 1 3 6 8 11 13 +0 1 3 6 8 11 14 +0 1 3 6 8 11 15 +0 1 3 6 8 12 13 +0 1 3 6 8 12 14 +0 1 3 6 8 12 15 +0 1 3 6 8 13 14 +0 1 3 6 8 13 15 +0 1 3 6 8 14 15 +0 1 3 6 9 10 11 +0 1 3 6 9 10 12 +0 1 3 6 9 10 13 +0 1 3 6 9 10 14 +0 1 3 6 9 10 15 +0 1 3 6 9 11 12 +0 1 3 6 9 11 13 +0 1 3 6 9 11 14 +0 1 3 6 9 11 15 +0 1 3 6 9 12 13 +0 1 3 6 9 12 14 +0 1 3 6 9 12 15 +0 1 3 6 9 13 14 +0 1 3 6 9 13 15 +0 1 3 6 9 14 15 +0 1 3 6 10 11 12 +0 1 3 6 10 11 13 +0 1 3 6 10 11 14 +0 1 3 6 10 11 15 +0 1 3 6 10 12 13 +0 1 3 6 10 12 14 +0 1 3 6 10 12 15 +0 1 3 6 10 13 14 +0 1 3 6 10 13 15 +0 1 3 6 10 14 15 +0 1 3 6 11 12 13 +0 1 3 6 11 12 14 +0 1 3 6 11 12 15 +0 1 3 6 11 13 14 +0 1 3 6 11 13 15 +0 1 3 6 11 14 15 +0 1 3 6 12 13 14 +0 1 3 6 12 13 15 +0 1 3 6 12 14 15 +0 1 3 6 13 14 15 +0 1 3 7 8 9 10 +0 1 3 7 8 9 11 +0 1 3 7 8 9 12 +0 1 3 7 8 9 13 +0 1 3 7 8 9 14 +0 1 3 7 8 9 15 +0 1 3 7 8 10 11 +0 1 3 7 8 10 12 +0 1 3 7 8 10 13 +0 1 3 7 8 10 14 +0 1 3 7 8 10 15 +0 1 3 7 8 11 12 +0 1 3 7 8 11 13 +0 1 3 7 8 11 14 +0 1 3 7 8 11 15 +0 1 3 7 8 12 13 +0 1 3 7 8 12 14 +0 1 3 7 8 12 15 +0 1 3 7 8 13 14 +0 1 3 7 8 13 15 +0 1 3 7 8 14 15 +0 1 3 7 9 10 11 +0 1 3 7 9 10 12 +0 1 3 7 9 10 13 +0 1 3 7 9 10 14 +0 1 3 7 9 10 15 +0 1 3 7 9 11 12 +0 1 3 7 9 11 13 +0 1 3 7 9 11 14 +0 1 3 7 9 11 15 +0 1 3 7 9 12 13 +0 1 3 7 9 12 14 +0 1 3 7 9 12 15 +0 1 3 7 9 13 14 +0 1 3 7 9 13 15 +0 1 3 7 9 14 15 +0 1 3 7 10 11 12 +0 1 3 7 10 11 13 +0 1 3 7 10 11 14 +0 1 3 7 10 11 15 +0 1 3 7 10 12 13 +0 1 3 7 10 12 14 +0 1 3 7 10 12 15 +0 1 3 7 10 13 14 +0 1 3 7 10 13 15 +0 1 3 7 10 14 15 +0 1 3 7 11 12 13 +0 1 3 7 11 12 14 +0 1 3 7 11 12 15 +0 1 3 7 11 13 14 +0 1 3 7 11 13 15 +0 1 3 7 11 14 15 +0 1 3 7 12 13 14 +0 1 3 7 12 13 15 +0 1 3 7 12 14 15 +0 1 3 7 13 14 15 +0 1 3 8 9 10 11 +0 1 3 8 9 10 12 +0 1 3 8 9 10 13 +0 1 3 8 9 10 14 +0 1 3 8 9 10 15 +0 1 3 8 9 11 12 +0 1 3 8 9 11 13 +0 1 3 8 9 11 14 +0 1 3 8 9 11 15 +0 1 3 8 9 12 13 +0 1 3 8 9 12 14 +0 1 3 8 9 12 15 +0 1 3 8 9 13 14 +0 1 3 8 9 13 15 +0 1 3 8 9 14 15 +0 1 3 8 10 11 12 +0 1 3 8 10 11 13 +0 1 3 8 10 11 14 +0 1 3 8 10 11 15 +0 1 3 8 10 12 13 +0 1 3 8 10 12 14 +0 1 3 8 10 12 15 +0 1 3 8 10 13 14 +0 1 3 8 10 13 15 +0 1 3 8 10 14 15 +0 1 3 8 11 12 13 +0 1 3 8 11 12 14 +0 1 3 8 11 12 15 +0 1 3 8 11 13 14 +0 1 3 8 11 13 15 +0 1 3 8 11 14 15 +0 1 3 8 12 13 14 +0 1 3 8 12 13 15 +0 1 3 8 12 14 15 +0 1 3 8 13 14 15 +0 1 3 9 10 11 12 +0 1 3 9 10 11 13 +0 1 3 9 10 11 14 +0 1 3 9 10 11 15 +0 1 3 9 10 12 13 +0 1 3 9 10 12 14 +0 1 3 9 10 12 15 +0 1 3 9 10 13 14 +0 1 3 9 10 13 15 +0 1 3 9 10 14 15 +0 1 3 9 11 12 13 +0 1 3 9 11 12 14 +0 1 3 9 11 12 15 +0 1 3 9 11 13 14 +0 1 3 9 11 13 15 +0 1 3 9 11 14 15 +0 1 3 9 12 13 14 +0 1 3 9 12 13 15 +0 1 3 9 12 14 15 +0 1 3 9 13 14 15 +0 1 3 10 11 12 13 +0 1 3 10 11 12 14 +0 1 3 10 11 12 15 +0 1 3 10 11 13 14 +0 1 3 10 11 13 15 +0 1 3 10 11 14 15 +0 1 3 10 12 13 14 +0 1 3 10 12 13 15 +0 1 3 10 12 14 15 +0 1 3 10 13 14 15 +0 1 3 11 12 13 14 +0 1 3 11 12 13 15 +0 1 3 11 12 14 15 +0 1 3 11 13 14 15 +0 1 3 12 13 14 15 +0 1 4 5 6 7 8 +0 1 4 5 6 7 9 +0 1 4 5 6 7 10 +0 1 4 5 6 7 11 +0 1 4 5 6 7 12 +0 1 4 5 6 7 13 +0 1 4 5 6 7 14 +0 1 4 5 6 7 15 +0 1 4 5 6 8 9 +0 1 4 5 6 8 10 +0 1 4 5 6 8 11 +0 1 4 5 6 8 12 +0 1 4 5 6 8 13 +0 1 4 5 6 8 14 +0 1 4 5 6 8 15 +0 1 4 5 6 9 10 +0 1 4 5 6 9 11 +0 1 4 5 6 9 12 +0 1 4 5 6 9 13 +0 1 4 5 6 9 14 +0 1 4 5 6 9 15 +0 1 4 5 6 10 11 +0 1 4 5 6 10 12 +0 1 4 5 6 10 13 +0 1 4 5 6 10 14 +0 1 4 5 6 10 15 +0 1 4 5 6 11 12 +0 1 4 5 6 11 13 +0 1 4 5 6 11 14 +0 1 4 5 6 11 15 +0 1 4 5 6 12 13 +0 1 4 5 6 12 14 +0 1 4 5 6 12 15 +0 1 4 5 6 13 14 +0 1 4 5 6 13 15 +0 1 4 5 6 14 15 +0 1 4 5 7 8 9 +0 1 4 5 7 8 10 +0 1 4 5 7 8 11 +0 1 4 5 7 8 12 +0 1 4 5 7 8 13 +0 1 4 5 7 8 14 +0 1 4 5 7 8 15 +0 1 4 5 7 9 10 +0 1 4 5 7 9 11 +0 1 4 5 7 9 12 +0 1 4 5 7 9 13 +0 1 4 5 7 9 14 +0 1 4 5 7 9 15 +0 1 4 5 7 10 11 +0 1 4 5 7 10 12 +0 1 4 5 7 10 13 +0 1 4 5 7 10 14 +0 1 4 5 7 10 15 +0 1 4 5 7 11 12 +0 1 4 5 7 11 13 +0 1 4 5 7 11 14 +0 1 4 5 7 11 15 +0 1 4 5 7 12 13 +0 1 4 5 7 12 14 +0 1 4 5 7 12 15 +0 1 4 5 7 13 14 +0 1 4 5 7 13 15 +0 1 4 5 7 14 15 +0 1 4 5 8 9 10 +0 1 4 5 8 9 11 +0 1 4 5 8 9 12 +0 1 4 5 8 9 13 +0 1 4 5 8 9 14 +0 1 4 5 8 9 15 +0 1 4 5 8 10 11 +0 1 4 5 8 10 12 +0 1 4 5 8 10 13 +0 1 4 5 8 10 14 +0 1 4 5 8 10 15 +0 1 4 5 8 11 12 +0 1 4 5 8 11 13 +0 1 4 5 8 11 14 +0 1 4 5 8 11 15 +0 1 4 5 8 12 13 +0 1 4 5 8 12 14 +0 1 4 5 8 12 15 +0 1 4 5 8 13 14 +0 1 4 5 8 13 15 +0 1 4 5 8 14 15 +0 1 4 5 9 10 11 +0 1 4 5 9 10 12 +0 1 4 5 9 10 13 +0 1 4 5 9 10 14 +0 1 4 5 9 10 15 +0 1 4 5 9 11 12 +0 1 4 5 9 11 13 +0 1 4 5 9 11 14 +0 1 4 5 9 11 15 +0 1 4 5 9 12 13 +0 1 4 5 9 12 14 +0 1 4 5 9 12 15 +0 1 4 5 9 13 14 +0 1 4 5 9 13 15 +0 1 4 5 9 14 15 +0 1 4 5 10 11 12 +0 1 4 5 10 11 13 +0 1 4 5 10 11 14 +0 1 4 5 10 11 15 +0 1 4 5 10 12 13 +0 1 4 5 10 12 14 +0 1 4 5 10 12 15 +0 1 4 5 10 13 14 +0 1 4 5 10 13 15 +0 1 4 5 10 14 15 +0 1 4 5 11 12 13 +0 1 4 5 11 12 14 +0 1 4 5 11 12 15 +0 1 4 5 11 13 14 +0 1 4 5 11 13 15 +0 1 4 5 11 14 15 +0 1 4 5 12 13 14 +0 1 4 5 12 13 15 +0 1 4 5 12 14 15 +0 1 4 5 13 14 15 +0 1 4 6 7 8 9 +0 1 4 6 7 8 10 +0 1 4 6 7 8 11 +0 1 4 6 7 8 12 +0 1 4 6 7 8 13 +0 1 4 6 7 8 14 +0 1 4 6 7 8 15 +0 1 4 6 7 9 10 +0 1 4 6 7 9 11 +0 1 4 6 7 9 12 +0 1 4 6 7 9 13 +0 1 4 6 7 9 14 +0 1 4 6 7 9 15 +0 1 4 6 7 10 11 +0 1 4 6 7 10 12 +0 1 4 6 7 10 13 +0 1 4 6 7 10 14 +0 1 4 6 7 10 15 +0 1 4 6 7 11 12 +0 1 4 6 7 11 13 +0 1 4 6 7 11 14 +0 1 4 6 7 11 15 +0 1 4 6 7 12 13 +0 1 4 6 7 12 14 +0 1 4 6 7 12 15 +0 1 4 6 7 13 14 +0 1 4 6 7 13 15 +0 1 4 6 7 14 15 +0 1 4 6 8 9 10 +0 1 4 6 8 9 11 +0 1 4 6 8 9 12 +0 1 4 6 8 9 13 +0 1 4 6 8 9 14 +0 1 4 6 8 9 15 +0 1 4 6 8 10 11 +0 1 4 6 8 10 12 +0 1 4 6 8 10 13 +0 1 4 6 8 10 14 +0 1 4 6 8 10 15 +0 1 4 6 8 11 12 +0 1 4 6 8 11 13 +0 1 4 6 8 11 14 +0 1 4 6 8 11 15 +0 1 4 6 8 12 13 +0 1 4 6 8 12 14 +0 1 4 6 8 12 15 +0 1 4 6 8 13 14 +0 1 4 6 8 13 15 +0 1 4 6 8 14 15 +0 1 4 6 9 10 11 +0 1 4 6 9 10 12 +0 1 4 6 9 10 13 +0 1 4 6 9 10 14 +0 1 4 6 9 10 15 +0 1 4 6 9 11 12 +0 1 4 6 9 11 13 +0 1 4 6 9 11 14 +0 1 4 6 9 11 15 +0 1 4 6 9 12 13 +0 1 4 6 9 12 14 +0 1 4 6 9 12 15 +0 1 4 6 9 13 14 +0 1 4 6 9 13 15 +0 1 4 6 9 14 15 +0 1 4 6 10 11 12 +0 1 4 6 10 11 13 +0 1 4 6 10 11 14 +0 1 4 6 10 11 15 +0 1 4 6 10 12 13 +0 1 4 6 10 12 14 +0 1 4 6 10 12 15 +0 1 4 6 10 13 14 +0 1 4 6 10 13 15 +0 1 4 6 10 14 15 +0 1 4 6 11 12 13 +0 1 4 6 11 12 14 +0 1 4 6 11 12 15 +0 1 4 6 11 13 14 +0 1 4 6 11 13 15 +0 1 4 6 11 14 15 +0 1 4 6 12 13 14 +0 1 4 6 12 13 15 +0 1 4 6 12 14 15 +0 1 4 6 13 14 15 +0 1 4 7 8 9 10 +0 1 4 7 8 9 11 +0 1 4 7 8 9 12 +0 1 4 7 8 9 13 +0 1 4 7 8 9 14 +0 1 4 7 8 9 15 +0 1 4 7 8 10 11 +0 1 4 7 8 10 12 +0 1 4 7 8 10 13 +0 1 4 7 8 10 14 +0 1 4 7 8 10 15 +0 1 4 7 8 11 12 +0 1 4 7 8 11 13 +0 1 4 7 8 11 14 +0 1 4 7 8 11 15 +0 1 4 7 8 12 13 +0 1 4 7 8 12 14 +0 1 4 7 8 12 15 +0 1 4 7 8 13 14 +0 1 4 7 8 13 15 +0 1 4 7 8 14 15 +0 1 4 7 9 10 11 +0 1 4 7 9 10 12 +0 1 4 7 9 10 13 +0 1 4 7 9 10 14 +0 1 4 7 9 10 15 +0 1 4 7 9 11 12 +0 1 4 7 9 11 13 +0 1 4 7 9 11 14 +0 1 4 7 9 11 15 +0 1 4 7 9 12 13 +0 1 4 7 9 12 14 +0 1 4 7 9 12 15 +0 1 4 7 9 13 14 +0 1 4 7 9 13 15 +0 1 4 7 9 14 15 +0 1 4 7 10 11 12 +0 1 4 7 10 11 13 +0 1 4 7 10 11 14 +0 1 4 7 10 11 15 +0 1 4 7 10 12 13 +0 1 4 7 10 12 14 +0 1 4 7 10 12 15 +0 1 4 7 10 13 14 +0 1 4 7 10 13 15 +0 1 4 7 10 14 15 +0 1 4 7 11 12 13 +0 1 4 7 11 12 14 +0 1 4 7 11 12 15 +0 1 4 7 11 13 14 +0 1 4 7 11 13 15 +0 1 4 7 11 14 15 +0 1 4 7 12 13 14 +0 1 4 7 12 13 15 +0 1 4 7 12 14 15 +0 1 4 7 13 14 15 +0 1 4 8 9 10 11 +0 1 4 8 9 10 12 +0 1 4 8 9 10 13 +0 1 4 8 9 10 14 +0 1 4 8 9 10 15 +0 1 4 8 9 11 12 +0 1 4 8 9 11 13 +0 1 4 8 9 11 14 +0 1 4 8 9 11 15 +0 1 4 8 9 12 13 +0 1 4 8 9 12 14 +0 1 4 8 9 12 15 +0 1 4 8 9 13 14 +0 1 4 8 9 13 15 +0 1 4 8 9 14 15 +0 1 4 8 10 11 12 +0 1 4 8 10 11 13 +0 1 4 8 10 11 14 +0 1 4 8 10 11 15 +0 1 4 8 10 12 13 +0 1 4 8 10 12 14 +0 1 4 8 10 12 15 +0 1 4 8 10 13 14 +0 1 4 8 10 13 15 +0 1 4 8 10 14 15 +0 1 4 8 11 12 13 +0 1 4 8 11 12 14 +0 1 4 8 11 12 15 +0 1 4 8 11 13 14 +0 1 4 8 11 13 15 +0 1 4 8 11 14 15 +0 1 4 8 12 13 14 +0 1 4 8 12 13 15 +0 1 4 8 12 14 15 +0 1 4 8 13 14 15 +0 1 4 9 10 11 12 +0 1 4 9 10 11 13 +0 1 4 9 10 11 14 +0 1 4 9 10 11 15 +0 1 4 9 10 12 13 +0 1 4 9 10 12 14 +0 1 4 9 10 12 15 +0 1 4 9 10 13 14 +0 1 4 9 10 13 15 +0 1 4 9 10 14 15 +0 1 4 9 11 12 13 +0 1 4 9 11 12 14 +0 1 4 9 11 12 15 +0 1 4 9 11 13 14 +0 1 4 9 11 13 15 +0 1 4 9 11 14 15 +0 1 4 9 12 13 14 +0 1 4 9 12 13 15 +0 1 4 9 12 14 15 +0 1 4 9 13 14 15 +0 1 4 10 11 12 13 +0 1 4 10 11 12 14 +0 1 4 10 11 12 15 +0 1 4 10 11 13 14 +0 1 4 10 11 13 15 +0 1 4 10 11 14 15 +0 1 4 10 12 13 14 +0 1 4 10 12 13 15 +0 1 4 10 12 14 15 +0 1 4 10 13 14 15 +0 1 4 11 12 13 14 +0 1 4 11 12 13 15 +0 1 4 11 12 14 15 +0 1 4 11 13 14 15 +0 1 4 12 13 14 15 +0 1 5 6 7 8 9 +0 1 5 6 7 8 10 +0 1 5 6 7 8 11 +0 1 5 6 7 8 12 +0 1 5 6 7 8 13 +0 1 5 6 7 8 14 +0 1 5 6 7 8 15 +0 1 5 6 7 9 10 +0 1 5 6 7 9 11 +0 1 5 6 7 9 12 +0 1 5 6 7 9 13 +0 1 5 6 7 9 14 +0 1 5 6 7 9 15 +0 1 5 6 7 10 11 +0 1 5 6 7 10 12 +0 1 5 6 7 10 13 +0 1 5 6 7 10 14 +0 1 5 6 7 10 15 +0 1 5 6 7 11 12 +0 1 5 6 7 11 13 +0 1 5 6 7 11 14 +0 1 5 6 7 11 15 +0 1 5 6 7 12 13 +0 1 5 6 7 12 14 +0 1 5 6 7 12 15 +0 1 5 6 7 13 14 +0 1 5 6 7 13 15 +0 1 5 6 7 14 15 +0 1 5 6 8 9 10 +0 1 5 6 8 9 11 +0 1 5 6 8 9 12 +0 1 5 6 8 9 13 +0 1 5 6 8 9 14 +0 1 5 6 8 9 15 +0 1 5 6 8 10 11 +0 1 5 6 8 10 12 +0 1 5 6 8 10 13 +0 1 5 6 8 10 14 +0 1 5 6 8 10 15 +0 1 5 6 8 11 12 +0 1 5 6 8 11 13 +0 1 5 6 8 11 14 +0 1 5 6 8 11 15 +0 1 5 6 8 12 13 +0 1 5 6 8 12 14 +0 1 5 6 8 12 15 +0 1 5 6 8 13 14 +0 1 5 6 8 13 15 +0 1 5 6 8 14 15 +0 1 5 6 9 10 11 +0 1 5 6 9 10 12 +0 1 5 6 9 10 13 +0 1 5 6 9 10 14 +0 1 5 6 9 10 15 +0 1 5 6 9 11 12 +0 1 5 6 9 11 13 +0 1 5 6 9 11 14 +0 1 5 6 9 11 15 +0 1 5 6 9 12 13 +0 1 5 6 9 12 14 +0 1 5 6 9 12 15 +0 1 5 6 9 13 14 +0 1 5 6 9 13 15 +0 1 5 6 9 14 15 +0 1 5 6 10 11 12 +0 1 5 6 10 11 13 +0 1 5 6 10 11 14 +0 1 5 6 10 11 15 +0 1 5 6 10 12 13 +0 1 5 6 10 12 14 +0 1 5 6 10 12 15 +0 1 5 6 10 13 14 +0 1 5 6 10 13 15 +0 1 5 6 10 14 15 +0 1 5 6 11 12 13 +0 1 5 6 11 12 14 +0 1 5 6 11 12 15 +0 1 5 6 11 13 14 +0 1 5 6 11 13 15 +0 1 5 6 11 14 15 +0 1 5 6 12 13 14 +0 1 5 6 12 13 15 +0 1 5 6 12 14 15 +0 1 5 6 13 14 15 +0 1 5 7 8 9 10 +0 1 5 7 8 9 11 +0 1 5 7 8 9 12 +0 1 5 7 8 9 13 +0 1 5 7 8 9 14 +0 1 5 7 8 9 15 +0 1 5 7 8 10 11 +0 1 5 7 8 10 12 +0 1 5 7 8 10 13 +0 1 5 7 8 10 14 +0 1 5 7 8 10 15 +0 1 5 7 8 11 12 +0 1 5 7 8 11 13 +0 1 5 7 8 11 14 +0 1 5 7 8 11 15 +0 1 5 7 8 12 13 +0 1 5 7 8 12 14 +0 1 5 7 8 12 15 +0 1 5 7 8 13 14 +0 1 5 7 8 13 15 +0 1 5 7 8 14 15 +0 1 5 7 9 10 11 +0 1 5 7 9 10 12 +0 1 5 7 9 10 13 +0 1 5 7 9 10 14 +0 1 5 7 9 10 15 +0 1 5 7 9 11 12 +0 1 5 7 9 11 13 +0 1 5 7 9 11 14 +0 1 5 7 9 11 15 +0 1 5 7 9 12 13 +0 1 5 7 9 12 14 +0 1 5 7 9 12 15 +0 1 5 7 9 13 14 +0 1 5 7 9 13 15 +0 1 5 7 9 14 15 +0 1 5 7 10 11 12 +0 1 5 7 10 11 13 +0 1 5 7 10 11 14 +0 1 5 7 10 11 15 +0 1 5 7 10 12 13 +0 1 5 7 10 12 14 +0 1 5 7 10 12 15 +0 1 5 7 10 13 14 +0 1 5 7 10 13 15 +0 1 5 7 10 14 15 +0 1 5 7 11 12 13 +0 1 5 7 11 12 14 +0 1 5 7 11 12 15 +0 1 5 7 11 13 14 +0 1 5 7 11 13 15 +0 1 5 7 11 14 15 +0 1 5 7 12 13 14 +0 1 5 7 12 13 15 +0 1 5 7 12 14 15 +0 1 5 7 13 14 15 +0 1 5 8 9 10 11 +0 1 5 8 9 10 12 +0 1 5 8 9 10 13 +0 1 5 8 9 10 14 +0 1 5 8 9 10 15 +0 1 5 8 9 11 12 +0 1 5 8 9 11 13 +0 1 5 8 9 11 14 +0 1 5 8 9 11 15 +0 1 5 8 9 12 13 +0 1 5 8 9 12 14 +0 1 5 8 9 12 15 +0 1 5 8 9 13 14 +0 1 5 8 9 13 15 +0 1 5 8 9 14 15 +0 1 5 8 10 11 12 +0 1 5 8 10 11 13 +0 1 5 8 10 11 14 +0 1 5 8 10 11 15 +0 1 5 8 10 12 13 +0 1 5 8 10 12 14 +0 1 5 8 10 12 15 +0 1 5 8 10 13 14 +0 1 5 8 10 13 15 +0 1 5 8 10 14 15 +0 1 5 8 11 12 13 +0 1 5 8 11 12 14 +0 1 5 8 11 12 15 +0 1 5 8 11 13 14 +0 1 5 8 11 13 15 +0 1 5 8 11 14 15 +0 1 5 8 12 13 14 +0 1 5 8 12 13 15 +0 1 5 8 12 14 15 +0 1 5 8 13 14 15 +0 1 5 9 10 11 12 +0 1 5 9 10 11 13 +0 1 5 9 10 11 14 +0 1 5 9 10 11 15 +0 1 5 9 10 12 13 +0 1 5 9 10 12 14 +0 1 5 9 10 12 15 +0 1 5 9 10 13 14 +0 1 5 9 10 13 15 +0 1 5 9 10 14 15 +0 1 5 9 11 12 13 +0 1 5 9 11 12 14 +0 1 5 9 11 12 15 +0 1 5 9 11 13 14 +0 1 5 9 11 13 15 +0 1 5 9 11 14 15 +0 1 5 9 12 13 14 +0 1 5 9 12 13 15 +0 1 5 9 12 14 15 +0 1 5 9 13 14 15 +0 1 5 10 11 12 13 +0 1 5 10 11 12 14 +0 1 5 10 11 12 15 +0 1 5 10 11 13 14 +0 1 5 10 11 13 15 +0 1 5 10 11 14 15 +0 1 5 10 12 13 14 +0 1 5 10 12 13 15 +0 1 5 10 12 14 15 +0 1 5 10 13 14 15 +0 1 5 11 12 13 14 +0 1 5 11 12 13 15 +0 1 5 11 12 14 15 +0 1 5 11 13 14 15 +0 1 5 12 13 14 15 +0 1 6 7 8 9 10 +0 1 6 7 8 9 11 +0 1 6 7 8 9 12 +0 1 6 7 8 9 13 +0 1 6 7 8 9 14 +0 1 6 7 8 9 15 +0 1 6 7 8 10 11 +0 1 6 7 8 10 12 +0 1 6 7 8 10 13 +0 1 6 7 8 10 14 +0 1 6 7 8 10 15 +0 1 6 7 8 11 12 +0 1 6 7 8 11 13 +0 1 6 7 8 11 14 +0 1 6 7 8 11 15 +0 1 6 7 8 12 13 +0 1 6 7 8 12 14 +0 1 6 7 8 12 15 +0 1 6 7 8 13 14 +0 1 6 7 8 13 15 +0 1 6 7 8 14 15 +0 1 6 7 9 10 11 +0 1 6 7 9 10 12 +0 1 6 7 9 10 13 +0 1 6 7 9 10 14 +0 1 6 7 9 10 15 +0 1 6 7 9 11 12 +0 1 6 7 9 11 13 +0 1 6 7 9 11 14 +0 1 6 7 9 11 15 +0 1 6 7 9 12 13 +0 1 6 7 9 12 14 +0 1 6 7 9 12 15 +0 1 6 7 9 13 14 +0 1 6 7 9 13 15 +0 1 6 7 9 14 15 +0 1 6 7 10 11 12 +0 1 6 7 10 11 13 +0 1 6 7 10 11 14 +0 1 6 7 10 11 15 +0 1 6 7 10 12 13 +0 1 6 7 10 12 14 +0 1 6 7 10 12 15 +0 1 6 7 10 13 14 +0 1 6 7 10 13 15 +0 1 6 7 10 14 15 +0 1 6 7 11 12 13 +0 1 6 7 11 12 14 +0 1 6 7 11 12 15 +0 1 6 7 11 13 14 +0 1 6 7 11 13 15 +0 1 6 7 11 14 15 +0 1 6 7 12 13 14 +0 1 6 7 12 13 15 +0 1 6 7 12 14 15 +0 1 6 7 13 14 15 +0 1 6 8 9 10 11 +0 1 6 8 9 10 12 +0 1 6 8 9 10 13 +0 1 6 8 9 10 14 +0 1 6 8 9 10 15 +0 1 6 8 9 11 12 +0 1 6 8 9 11 13 +0 1 6 8 9 11 14 +0 1 6 8 9 11 15 +0 1 6 8 9 12 13 +0 1 6 8 9 12 14 +0 1 6 8 9 12 15 +0 1 6 8 9 13 14 +0 1 6 8 9 13 15 +0 1 6 8 9 14 15 +0 1 6 8 10 11 12 +0 1 6 8 10 11 13 +0 1 6 8 10 11 14 +0 1 6 8 10 11 15 +0 1 6 8 10 12 13 +0 1 6 8 10 12 14 +0 1 6 8 10 12 15 +0 1 6 8 10 13 14 +0 1 6 8 10 13 15 +0 1 6 8 10 14 15 +0 1 6 8 11 12 13 +0 1 6 8 11 12 14 +0 1 6 8 11 12 15 +0 1 6 8 11 13 14 +0 1 6 8 11 13 15 +0 1 6 8 11 14 15 +0 1 6 8 12 13 14 +0 1 6 8 12 13 15 +0 1 6 8 12 14 15 +0 1 6 8 13 14 15 +0 1 6 9 10 11 12 +0 1 6 9 10 11 13 +0 1 6 9 10 11 14 +0 1 6 9 10 11 15 +0 1 6 9 10 12 13 +0 1 6 9 10 12 14 +0 1 6 9 10 12 15 +0 1 6 9 10 13 14 +0 1 6 9 10 13 15 +0 1 6 9 10 14 15 +0 1 6 9 11 12 13 +0 1 6 9 11 12 14 +0 1 6 9 11 12 15 +0 1 6 9 11 13 14 +0 1 6 9 11 13 15 +0 1 6 9 11 14 15 +0 1 6 9 12 13 14 +0 1 6 9 12 13 15 +0 1 6 9 12 14 15 +0 1 6 9 13 14 15 +0 1 6 10 11 12 13 +0 1 6 10 11 12 14 +0 1 6 10 11 12 15 +0 1 6 10 11 13 14 +0 1 6 10 11 13 15 +0 1 6 10 11 14 15 +0 1 6 10 12 13 14 +0 1 6 10 12 13 15 +0 1 6 10 12 14 15 +0 1 6 10 13 14 15 +0 1 6 11 12 13 14 +0 1 6 11 12 13 15 +0 1 6 11 12 14 15 +0 1 6 11 13 14 15 +0 1 6 12 13 14 15 +0 1 7 8 9 10 11 +0 1 7 8 9 10 12 +0 1 7 8 9 10 13 +0 1 7 8 9 10 14 +0 1 7 8 9 10 15 +0 1 7 8 9 11 12 +0 1 7 8 9 11 13 +0 1 7 8 9 11 14 +0 1 7 8 9 11 15 +0 1 7 8 9 12 13 +0 1 7 8 9 12 14 +0 1 7 8 9 12 15 +0 1 7 8 9 13 14 +0 1 7 8 9 13 15 +0 1 7 8 9 14 15 +0 1 7 8 10 11 12 +0 1 7 8 10 11 13 +0 1 7 8 10 11 14 +0 1 7 8 10 11 15 +0 1 7 8 10 12 13 +0 1 7 8 10 12 14 +0 1 7 8 10 12 15 +0 1 7 8 10 13 14 +0 1 7 8 10 13 15 +0 1 7 8 10 14 15 +0 1 7 8 11 12 13 +0 1 7 8 11 12 14 +0 1 7 8 11 12 15 +0 1 7 8 11 13 14 +0 1 7 8 11 13 15 +0 1 7 8 11 14 15 +0 1 7 8 12 13 14 +0 1 7 8 12 13 15 +0 1 7 8 12 14 15 +0 1 7 8 13 14 15 +0 1 7 9 10 11 12 +0 1 7 9 10 11 13 +0 1 7 9 10 11 14 +0 1 7 9 10 11 15 +0 1 7 9 10 12 13 +0 1 7 9 10 12 14 +0 1 7 9 10 12 15 +0 1 7 9 10 13 14 +0 1 7 9 10 13 15 +0 1 7 9 10 14 15 +0 1 7 9 11 12 13 +0 1 7 9 11 12 14 +0 1 7 9 11 12 15 +0 1 7 9 11 13 14 +0 1 7 9 11 13 15 +0 1 7 9 11 14 15 +0 1 7 9 12 13 14 +0 1 7 9 12 13 15 +0 1 7 9 12 14 15 +0 1 7 9 13 14 15 +0 1 7 10 11 12 13 +0 1 7 10 11 12 14 +0 1 7 10 11 12 15 +0 1 7 10 11 13 14 +0 1 7 10 11 13 15 +0 1 7 10 11 14 15 +0 1 7 10 12 13 14 +0 1 7 10 12 13 15 +0 1 7 10 12 14 15 +0 1 7 10 13 14 15 +0 1 7 11 12 13 14 +0 1 7 11 12 13 15 +0 1 7 11 12 14 15 +0 1 7 11 13 14 15 +0 1 7 12 13 14 15 +0 1 8 9 10 11 12 +0 1 8 9 10 11 13 +0 1 8 9 10 11 14 +0 1 8 9 10 11 15 +0 1 8 9 10 12 13 +0 1 8 9 10 12 14 +0 1 8 9 10 12 15 +0 1 8 9 10 13 14 +0 1 8 9 10 13 15 +0 1 8 9 10 14 15 +0 1 8 9 11 12 13 +0 1 8 9 11 12 14 +0 1 8 9 11 12 15 +0 1 8 9 11 13 14 +0 1 8 9 11 13 15 +0 1 8 9 11 14 15 +0 1 8 9 12 13 14 +0 1 8 9 12 13 15 +0 1 8 9 12 14 15 +0 1 8 9 13 14 15 +0 1 8 10 11 12 13 +0 1 8 10 11 12 14 +0 1 8 10 11 12 15 +0 1 8 10 11 13 14 +0 1 8 10 11 13 15 +0 1 8 10 11 14 15 +0 1 8 10 12 13 14 +0 1 8 10 12 13 15 +0 1 8 10 12 14 15 +0 1 8 10 13 14 15 +0 1 8 11 12 13 14 +0 1 8 11 12 13 15 +0 1 8 11 12 14 15 +0 1 8 11 13 14 15 +0 1 8 12 13 14 15 +0 1 9 10 11 12 13 +0 1 9 10 11 12 14 +0 1 9 10 11 12 15 +0 1 9 10 11 13 14 +0 1 9 10 11 13 15 +0 1 9 10 11 14 15 +0 1 9 10 12 13 14 +0 1 9 10 12 13 15 +0 1 9 10 12 14 15 +0 1 9 10 13 14 15 +0 1 9 11 12 13 14 +0 1 9 11 12 13 15 +0 1 9 11 12 14 15 +0 1 9 11 13 14 15 +0 1 9 12 13 14 15 +0 1 10 11 12 13 14 +0 1 10 11 12 13 15 +0 1 10 11 12 14 15 +0 1 10 11 13 14 15 +0 1 10 12 13 14 15 +0 1 11 12 13 14 15 +0 2 3 4 5 6 7 +0 2 3 4 5 6 8 +0 2 3 4 5 6 9 +0 2 3 4 5 6 10 +0 2 3 4 5 6 11 +0 2 3 4 5 6 12 +0 2 3 4 5 6 13 +0 2 3 4 5 6 14 +0 2 3 4 5 6 15 +0 2 3 4 5 7 8 +0 2 3 4 5 7 9 +0 2 3 4 5 7 10 +0 2 3 4 5 7 11 +0 2 3 4 5 7 12 +0 2 3 4 5 7 13 +0 2 3 4 5 7 14 +0 2 3 4 5 7 15 +0 2 3 4 5 8 9 +0 2 3 4 5 8 10 +0 2 3 4 5 8 11 +0 2 3 4 5 8 12 +0 2 3 4 5 8 13 +0 2 3 4 5 8 14 +0 2 3 4 5 8 15 +0 2 3 4 5 9 10 +0 2 3 4 5 9 11 +0 2 3 4 5 9 12 +0 2 3 4 5 9 13 +0 2 3 4 5 9 14 +0 2 3 4 5 9 15 +0 2 3 4 5 10 11 +0 2 3 4 5 10 12 +0 2 3 4 5 10 13 +0 2 3 4 5 10 14 +0 2 3 4 5 10 15 +0 2 3 4 5 11 12 +0 2 3 4 5 11 13 +0 2 3 4 5 11 14 +0 2 3 4 5 11 15 +0 2 3 4 5 12 13 +0 2 3 4 5 12 14 +0 2 3 4 5 12 15 +0 2 3 4 5 13 14 +0 2 3 4 5 13 15 +0 2 3 4 5 14 15 +0 2 3 4 6 7 8 +0 2 3 4 6 7 9 +0 2 3 4 6 7 10 +0 2 3 4 6 7 11 +0 2 3 4 6 7 12 +0 2 3 4 6 7 13 +0 2 3 4 6 7 14 +0 2 3 4 6 7 15 +0 2 3 4 6 8 9 +0 2 3 4 6 8 10 +0 2 3 4 6 8 11 +0 2 3 4 6 8 12 +0 2 3 4 6 8 13 +0 2 3 4 6 8 14 +0 2 3 4 6 8 15 +0 2 3 4 6 9 10 +0 2 3 4 6 9 11 +0 2 3 4 6 9 12 +0 2 3 4 6 9 13 +0 2 3 4 6 9 14 +0 2 3 4 6 9 15 +0 2 3 4 6 10 11 +0 2 3 4 6 10 12 +0 2 3 4 6 10 13 +0 2 3 4 6 10 14 +0 2 3 4 6 10 15 +0 2 3 4 6 11 12 +0 2 3 4 6 11 13 +0 2 3 4 6 11 14 +0 2 3 4 6 11 15 +0 2 3 4 6 12 13 +0 2 3 4 6 12 14 +0 2 3 4 6 12 15 +0 2 3 4 6 13 14 +0 2 3 4 6 13 15 +0 2 3 4 6 14 15 +0 2 3 4 7 8 9 +0 2 3 4 7 8 10 +0 2 3 4 7 8 11 +0 2 3 4 7 8 12 +0 2 3 4 7 8 13 +0 2 3 4 7 8 14 +0 2 3 4 7 8 15 +0 2 3 4 7 9 10 +0 2 3 4 7 9 11 +0 2 3 4 7 9 12 +0 2 3 4 7 9 13 +0 2 3 4 7 9 14 +0 2 3 4 7 9 15 +0 2 3 4 7 10 11 +0 2 3 4 7 10 12 +0 2 3 4 7 10 13 +0 2 3 4 7 10 14 +0 2 3 4 7 10 15 +0 2 3 4 7 11 12 +0 2 3 4 7 11 13 +0 2 3 4 7 11 14 +0 2 3 4 7 11 15 +0 2 3 4 7 12 13 +0 2 3 4 7 12 14 +0 2 3 4 7 12 15 +0 2 3 4 7 13 14 +0 2 3 4 7 13 15 +0 2 3 4 7 14 15 +0 2 3 4 8 9 10 +0 2 3 4 8 9 11 +0 2 3 4 8 9 12 +0 2 3 4 8 9 13 +0 2 3 4 8 9 14 +0 2 3 4 8 9 15 +0 2 3 4 8 10 11 +0 2 3 4 8 10 12 +0 2 3 4 8 10 13 +0 2 3 4 8 10 14 +0 2 3 4 8 10 15 +0 2 3 4 8 11 12 +0 2 3 4 8 11 13 +0 2 3 4 8 11 14 +0 2 3 4 8 11 15 +0 2 3 4 8 12 13 +0 2 3 4 8 12 14 +0 2 3 4 8 12 15 +0 2 3 4 8 13 14 +0 2 3 4 8 13 15 +0 2 3 4 8 14 15 +0 2 3 4 9 10 11 +0 2 3 4 9 10 12 +0 2 3 4 9 10 13 +0 2 3 4 9 10 14 +0 2 3 4 9 10 15 +0 2 3 4 9 11 12 +0 2 3 4 9 11 13 +0 2 3 4 9 11 14 +0 2 3 4 9 11 15 +0 2 3 4 9 12 13 +0 2 3 4 9 12 14 +0 2 3 4 9 12 15 +0 2 3 4 9 13 14 +0 2 3 4 9 13 15 +0 2 3 4 9 14 15 +0 2 3 4 10 11 12 +0 2 3 4 10 11 13 +0 2 3 4 10 11 14 +0 2 3 4 10 11 15 +0 2 3 4 10 12 13 +0 2 3 4 10 12 14 +0 2 3 4 10 12 15 +0 2 3 4 10 13 14 +0 2 3 4 10 13 15 +0 2 3 4 10 14 15 +0 2 3 4 11 12 13 +0 2 3 4 11 12 14 +0 2 3 4 11 12 15 +0 2 3 4 11 13 14 +0 2 3 4 11 13 15 +0 2 3 4 11 14 15 +0 2 3 4 12 13 14 +0 2 3 4 12 13 15 +0 2 3 4 12 14 15 +0 2 3 4 13 14 15 +0 2 3 5 6 7 8 +0 2 3 5 6 7 9 +0 2 3 5 6 7 10 +0 2 3 5 6 7 11 +0 2 3 5 6 7 12 +0 2 3 5 6 7 13 +0 2 3 5 6 7 14 +0 2 3 5 6 7 15 +0 2 3 5 6 8 9 +0 2 3 5 6 8 10 +0 2 3 5 6 8 11 +0 2 3 5 6 8 12 +0 2 3 5 6 8 13 +0 2 3 5 6 8 14 +0 2 3 5 6 8 15 +0 2 3 5 6 9 10 +0 2 3 5 6 9 11 +0 2 3 5 6 9 12 +0 2 3 5 6 9 13 +0 2 3 5 6 9 14 +0 2 3 5 6 9 15 +0 2 3 5 6 10 11 +0 2 3 5 6 10 12 +0 2 3 5 6 10 13 +0 2 3 5 6 10 14 +0 2 3 5 6 10 15 +0 2 3 5 6 11 12 +0 2 3 5 6 11 13 +0 2 3 5 6 11 14 +0 2 3 5 6 11 15 +0 2 3 5 6 12 13 +0 2 3 5 6 12 14 +0 2 3 5 6 12 15 +0 2 3 5 6 13 14 +0 2 3 5 6 13 15 +0 2 3 5 6 14 15 +0 2 3 5 7 8 9 +0 2 3 5 7 8 10 +0 2 3 5 7 8 11 +0 2 3 5 7 8 12 +0 2 3 5 7 8 13 +0 2 3 5 7 8 14 +0 2 3 5 7 8 15 +0 2 3 5 7 9 10 +0 2 3 5 7 9 11 +0 2 3 5 7 9 12 +0 2 3 5 7 9 13 +0 2 3 5 7 9 14 +0 2 3 5 7 9 15 +0 2 3 5 7 10 11 +0 2 3 5 7 10 12 +0 2 3 5 7 10 13 +0 2 3 5 7 10 14 +0 2 3 5 7 10 15 +0 2 3 5 7 11 12 +0 2 3 5 7 11 13 +0 2 3 5 7 11 14 +0 2 3 5 7 11 15 +0 2 3 5 7 12 13 +0 2 3 5 7 12 14 +0 2 3 5 7 12 15 +0 2 3 5 7 13 14 +0 2 3 5 7 13 15 +0 2 3 5 7 14 15 +0 2 3 5 8 9 10 +0 2 3 5 8 9 11 +0 2 3 5 8 9 12 +0 2 3 5 8 9 13 +0 2 3 5 8 9 14 +0 2 3 5 8 9 15 +0 2 3 5 8 10 11 +0 2 3 5 8 10 12 +0 2 3 5 8 10 13 +0 2 3 5 8 10 14 +0 2 3 5 8 10 15 +0 2 3 5 8 11 12 +0 2 3 5 8 11 13 +0 2 3 5 8 11 14 +0 2 3 5 8 11 15 +0 2 3 5 8 12 13 +0 2 3 5 8 12 14 +0 2 3 5 8 12 15 +0 2 3 5 8 13 14 +0 2 3 5 8 13 15 +0 2 3 5 8 14 15 +0 2 3 5 9 10 11 +0 2 3 5 9 10 12 +0 2 3 5 9 10 13 +0 2 3 5 9 10 14 +0 2 3 5 9 10 15 +0 2 3 5 9 11 12 +0 2 3 5 9 11 13 +0 2 3 5 9 11 14 +0 2 3 5 9 11 15 +0 2 3 5 9 12 13 +0 2 3 5 9 12 14 +0 2 3 5 9 12 15 +0 2 3 5 9 13 14 +0 2 3 5 9 13 15 +0 2 3 5 9 14 15 +0 2 3 5 10 11 12 +0 2 3 5 10 11 13 +0 2 3 5 10 11 14 +0 2 3 5 10 11 15 +0 2 3 5 10 12 13 +0 2 3 5 10 12 14 +0 2 3 5 10 12 15 +0 2 3 5 10 13 14 +0 2 3 5 10 13 15 +0 2 3 5 10 14 15 +0 2 3 5 11 12 13 +0 2 3 5 11 12 14 +0 2 3 5 11 12 15 +0 2 3 5 11 13 14 +0 2 3 5 11 13 15 +0 2 3 5 11 14 15 +0 2 3 5 12 13 14 +0 2 3 5 12 13 15 +0 2 3 5 12 14 15 +0 2 3 5 13 14 15 +0 2 3 6 7 8 9 +0 2 3 6 7 8 10 +0 2 3 6 7 8 11 +0 2 3 6 7 8 12 +0 2 3 6 7 8 13 +0 2 3 6 7 8 14 +0 2 3 6 7 8 15 +0 2 3 6 7 9 10 +0 2 3 6 7 9 11 +0 2 3 6 7 9 12 +0 2 3 6 7 9 13 +0 2 3 6 7 9 14 +0 2 3 6 7 9 15 +0 2 3 6 7 10 11 +0 2 3 6 7 10 12 +0 2 3 6 7 10 13 +0 2 3 6 7 10 14 +0 2 3 6 7 10 15 +0 2 3 6 7 11 12 +0 2 3 6 7 11 13 +0 2 3 6 7 11 14 +0 2 3 6 7 11 15 +0 2 3 6 7 12 13 +0 2 3 6 7 12 14 +0 2 3 6 7 12 15 +0 2 3 6 7 13 14 +0 2 3 6 7 13 15 +0 2 3 6 7 14 15 +0 2 3 6 8 9 10 +0 2 3 6 8 9 11 +0 2 3 6 8 9 12 +0 2 3 6 8 9 13 +0 2 3 6 8 9 14 +0 2 3 6 8 9 15 +0 2 3 6 8 10 11 +0 2 3 6 8 10 12 +0 2 3 6 8 10 13 +0 2 3 6 8 10 14 +0 2 3 6 8 10 15 +0 2 3 6 8 11 12 +0 2 3 6 8 11 13 +0 2 3 6 8 11 14 +0 2 3 6 8 11 15 +0 2 3 6 8 12 13 +0 2 3 6 8 12 14 +0 2 3 6 8 12 15 +0 2 3 6 8 13 14 +0 2 3 6 8 13 15 +0 2 3 6 8 14 15 +0 2 3 6 9 10 11 +0 2 3 6 9 10 12 +0 2 3 6 9 10 13 +0 2 3 6 9 10 14 +0 2 3 6 9 10 15 +0 2 3 6 9 11 12 +0 2 3 6 9 11 13 +0 2 3 6 9 11 14 +0 2 3 6 9 11 15 +0 2 3 6 9 12 13 +0 2 3 6 9 12 14 +0 2 3 6 9 12 15 +0 2 3 6 9 13 14 +0 2 3 6 9 13 15 +0 2 3 6 9 14 15 +0 2 3 6 10 11 12 +0 2 3 6 10 11 13 +0 2 3 6 10 11 14 +0 2 3 6 10 11 15 +0 2 3 6 10 12 13 +0 2 3 6 10 12 14 +0 2 3 6 10 12 15 +0 2 3 6 10 13 14 +0 2 3 6 10 13 15 +0 2 3 6 10 14 15 +0 2 3 6 11 12 13 +0 2 3 6 11 12 14 +0 2 3 6 11 12 15 +0 2 3 6 11 13 14 +0 2 3 6 11 13 15 +0 2 3 6 11 14 15 +0 2 3 6 12 13 14 +0 2 3 6 12 13 15 +0 2 3 6 12 14 15 +0 2 3 6 13 14 15 +0 2 3 7 8 9 10 +0 2 3 7 8 9 11 +0 2 3 7 8 9 12 +0 2 3 7 8 9 13 +0 2 3 7 8 9 14 +0 2 3 7 8 9 15 +0 2 3 7 8 10 11 +0 2 3 7 8 10 12 +0 2 3 7 8 10 13 +0 2 3 7 8 10 14 +0 2 3 7 8 10 15 +0 2 3 7 8 11 12 +0 2 3 7 8 11 13 +0 2 3 7 8 11 14 +0 2 3 7 8 11 15 +0 2 3 7 8 12 13 +0 2 3 7 8 12 14 +0 2 3 7 8 12 15 +0 2 3 7 8 13 14 +0 2 3 7 8 13 15 +0 2 3 7 8 14 15 +0 2 3 7 9 10 11 +0 2 3 7 9 10 12 +0 2 3 7 9 10 13 +0 2 3 7 9 10 14 +0 2 3 7 9 10 15 +0 2 3 7 9 11 12 +0 2 3 7 9 11 13 +0 2 3 7 9 11 14 +0 2 3 7 9 11 15 +0 2 3 7 9 12 13 +0 2 3 7 9 12 14 +0 2 3 7 9 12 15 +0 2 3 7 9 13 14 +0 2 3 7 9 13 15 +0 2 3 7 9 14 15 +0 2 3 7 10 11 12 +0 2 3 7 10 11 13 +0 2 3 7 10 11 14 +0 2 3 7 10 11 15 +0 2 3 7 10 12 13 +0 2 3 7 10 12 14 +0 2 3 7 10 12 15 +0 2 3 7 10 13 14 +0 2 3 7 10 13 15 +0 2 3 7 10 14 15 +0 2 3 7 11 12 13 +0 2 3 7 11 12 14 +0 2 3 7 11 12 15 +0 2 3 7 11 13 14 +0 2 3 7 11 13 15 +0 2 3 7 11 14 15 +0 2 3 7 12 13 14 +0 2 3 7 12 13 15 +0 2 3 7 12 14 15 +0 2 3 7 13 14 15 +0 2 3 8 9 10 11 +0 2 3 8 9 10 12 +0 2 3 8 9 10 13 +0 2 3 8 9 10 14 +0 2 3 8 9 10 15 +0 2 3 8 9 11 12 +0 2 3 8 9 11 13 +0 2 3 8 9 11 14 +0 2 3 8 9 11 15 +0 2 3 8 9 12 13 +0 2 3 8 9 12 14 +0 2 3 8 9 12 15 +0 2 3 8 9 13 14 +0 2 3 8 9 13 15 +0 2 3 8 9 14 15 +0 2 3 8 10 11 12 +0 2 3 8 10 11 13 +0 2 3 8 10 11 14 +0 2 3 8 10 11 15 +0 2 3 8 10 12 13 +0 2 3 8 10 12 14 +0 2 3 8 10 12 15 +0 2 3 8 10 13 14 +0 2 3 8 10 13 15 +0 2 3 8 10 14 15 +0 2 3 8 11 12 13 +0 2 3 8 11 12 14 +0 2 3 8 11 12 15 +0 2 3 8 11 13 14 +0 2 3 8 11 13 15 +0 2 3 8 11 14 15 +0 2 3 8 12 13 14 +0 2 3 8 12 13 15 +0 2 3 8 12 14 15 +0 2 3 8 13 14 15 +0 2 3 9 10 11 12 +0 2 3 9 10 11 13 +0 2 3 9 10 11 14 +0 2 3 9 10 11 15 +0 2 3 9 10 12 13 +0 2 3 9 10 12 14 +0 2 3 9 10 12 15 +0 2 3 9 10 13 14 +0 2 3 9 10 13 15 +0 2 3 9 10 14 15 +0 2 3 9 11 12 13 +0 2 3 9 11 12 14 +0 2 3 9 11 12 15 +0 2 3 9 11 13 14 +0 2 3 9 11 13 15 +0 2 3 9 11 14 15 +0 2 3 9 12 13 14 +0 2 3 9 12 13 15 +0 2 3 9 12 14 15 +0 2 3 9 13 14 15 +0 2 3 10 11 12 13 +0 2 3 10 11 12 14 +0 2 3 10 11 12 15 +0 2 3 10 11 13 14 +0 2 3 10 11 13 15 +0 2 3 10 11 14 15 +0 2 3 10 12 13 14 +0 2 3 10 12 13 15 +0 2 3 10 12 14 15 +0 2 3 10 13 14 15 +0 2 3 11 12 13 14 +0 2 3 11 12 13 15 +0 2 3 11 12 14 15 +0 2 3 11 13 14 15 +0 2 3 12 13 14 15 +0 2 4 5 6 7 8 +0 2 4 5 6 7 9 +0 2 4 5 6 7 10 +0 2 4 5 6 7 11 +0 2 4 5 6 7 12 +0 2 4 5 6 7 13 +0 2 4 5 6 7 14 +0 2 4 5 6 7 15 +0 2 4 5 6 8 9 +0 2 4 5 6 8 10 +0 2 4 5 6 8 11 +0 2 4 5 6 8 12 +0 2 4 5 6 8 13 +0 2 4 5 6 8 14 +0 2 4 5 6 8 15 +0 2 4 5 6 9 10 +0 2 4 5 6 9 11 +0 2 4 5 6 9 12 +0 2 4 5 6 9 13 +0 2 4 5 6 9 14 +0 2 4 5 6 9 15 +0 2 4 5 6 10 11 +0 2 4 5 6 10 12 +0 2 4 5 6 10 13 +0 2 4 5 6 10 14 +0 2 4 5 6 10 15 +0 2 4 5 6 11 12 +0 2 4 5 6 11 13 +0 2 4 5 6 11 14 +0 2 4 5 6 11 15 +0 2 4 5 6 12 13 +0 2 4 5 6 12 14 +0 2 4 5 6 12 15 +0 2 4 5 6 13 14 +0 2 4 5 6 13 15 +0 2 4 5 6 14 15 +0 2 4 5 7 8 9 +0 2 4 5 7 8 10 +0 2 4 5 7 8 11 +0 2 4 5 7 8 12 +0 2 4 5 7 8 13 +0 2 4 5 7 8 14 +0 2 4 5 7 8 15 +0 2 4 5 7 9 10 +0 2 4 5 7 9 11 +0 2 4 5 7 9 12 +0 2 4 5 7 9 13 +0 2 4 5 7 9 14 +0 2 4 5 7 9 15 +0 2 4 5 7 10 11 +0 2 4 5 7 10 12 +0 2 4 5 7 10 13 +0 2 4 5 7 10 14 +0 2 4 5 7 10 15 +0 2 4 5 7 11 12 +0 2 4 5 7 11 13 +0 2 4 5 7 11 14 +0 2 4 5 7 11 15 +0 2 4 5 7 12 13 +0 2 4 5 7 12 14 +0 2 4 5 7 12 15 +0 2 4 5 7 13 14 +0 2 4 5 7 13 15 +0 2 4 5 7 14 15 +0 2 4 5 8 9 10 +0 2 4 5 8 9 11 +0 2 4 5 8 9 12 +0 2 4 5 8 9 13 +0 2 4 5 8 9 14 +0 2 4 5 8 9 15 +0 2 4 5 8 10 11 +0 2 4 5 8 10 12 +0 2 4 5 8 10 13 +0 2 4 5 8 10 14 +0 2 4 5 8 10 15 +0 2 4 5 8 11 12 +0 2 4 5 8 11 13 +0 2 4 5 8 11 14 +0 2 4 5 8 11 15 +0 2 4 5 8 12 13 +0 2 4 5 8 12 14 +0 2 4 5 8 12 15 +0 2 4 5 8 13 14 +0 2 4 5 8 13 15 +0 2 4 5 8 14 15 +0 2 4 5 9 10 11 +0 2 4 5 9 10 12 +0 2 4 5 9 10 13 +0 2 4 5 9 10 14 +0 2 4 5 9 10 15 +0 2 4 5 9 11 12 +0 2 4 5 9 11 13 +0 2 4 5 9 11 14 +0 2 4 5 9 11 15 +0 2 4 5 9 12 13 +0 2 4 5 9 12 14 +0 2 4 5 9 12 15 +0 2 4 5 9 13 14 +0 2 4 5 9 13 15 +0 2 4 5 9 14 15 +0 2 4 5 10 11 12 +0 2 4 5 10 11 13 +0 2 4 5 10 11 14 +0 2 4 5 10 11 15 +0 2 4 5 10 12 13 +0 2 4 5 10 12 14 +0 2 4 5 10 12 15 +0 2 4 5 10 13 14 +0 2 4 5 10 13 15 +0 2 4 5 10 14 15 +0 2 4 5 11 12 13 +0 2 4 5 11 12 14 +0 2 4 5 11 12 15 +0 2 4 5 11 13 14 +0 2 4 5 11 13 15 +0 2 4 5 11 14 15 +0 2 4 5 12 13 14 +0 2 4 5 12 13 15 +0 2 4 5 12 14 15 +0 2 4 5 13 14 15 +0 2 4 6 7 8 9 +0 2 4 6 7 8 10 +0 2 4 6 7 8 11 +0 2 4 6 7 8 12 +0 2 4 6 7 8 13 +0 2 4 6 7 8 14 +0 2 4 6 7 8 15 +0 2 4 6 7 9 10 +0 2 4 6 7 9 11 +0 2 4 6 7 9 12 +0 2 4 6 7 9 13 +0 2 4 6 7 9 14 +0 2 4 6 7 9 15 +0 2 4 6 7 10 11 +0 2 4 6 7 10 12 +0 2 4 6 7 10 13 +0 2 4 6 7 10 14 +0 2 4 6 7 10 15 +0 2 4 6 7 11 12 +0 2 4 6 7 11 13 +0 2 4 6 7 11 14 +0 2 4 6 7 11 15 +0 2 4 6 7 12 13 +0 2 4 6 7 12 14 +0 2 4 6 7 12 15 +0 2 4 6 7 13 14 +0 2 4 6 7 13 15 +0 2 4 6 7 14 15 +0 2 4 6 8 9 10 +0 2 4 6 8 9 11 +0 2 4 6 8 9 12 +0 2 4 6 8 9 13 +0 2 4 6 8 9 14 +0 2 4 6 8 9 15 +0 2 4 6 8 10 11 +0 2 4 6 8 10 12 +0 2 4 6 8 10 13 +0 2 4 6 8 10 14 +0 2 4 6 8 10 15 +0 2 4 6 8 11 12 +0 2 4 6 8 11 13 +0 2 4 6 8 11 14 +0 2 4 6 8 11 15 +0 2 4 6 8 12 13 +0 2 4 6 8 12 14 +0 2 4 6 8 12 15 +0 2 4 6 8 13 14 +0 2 4 6 8 13 15 +0 2 4 6 8 14 15 +0 2 4 6 9 10 11 +0 2 4 6 9 10 12 +0 2 4 6 9 10 13 +0 2 4 6 9 10 14 +0 2 4 6 9 10 15 +0 2 4 6 9 11 12 +0 2 4 6 9 11 13 +0 2 4 6 9 11 14 +0 2 4 6 9 11 15 +0 2 4 6 9 12 13 +0 2 4 6 9 12 14 +0 2 4 6 9 12 15 +0 2 4 6 9 13 14 +0 2 4 6 9 13 15 +0 2 4 6 9 14 15 +0 2 4 6 10 11 12 +0 2 4 6 10 11 13 +0 2 4 6 10 11 14 +0 2 4 6 10 11 15 +0 2 4 6 10 12 13 +0 2 4 6 10 12 14 +0 2 4 6 10 12 15 +0 2 4 6 10 13 14 +0 2 4 6 10 13 15 +0 2 4 6 10 14 15 +0 2 4 6 11 12 13 +0 2 4 6 11 12 14 +0 2 4 6 11 12 15 +0 2 4 6 11 13 14 +0 2 4 6 11 13 15 +0 2 4 6 11 14 15 +0 2 4 6 12 13 14 +0 2 4 6 12 13 15 +0 2 4 6 12 14 15 +0 2 4 6 13 14 15 +0 2 4 7 8 9 10 +0 2 4 7 8 9 11 +0 2 4 7 8 9 12 +0 2 4 7 8 9 13 +0 2 4 7 8 9 14 +0 2 4 7 8 9 15 +0 2 4 7 8 10 11 +0 2 4 7 8 10 12 +0 2 4 7 8 10 13 +0 2 4 7 8 10 14 +0 2 4 7 8 10 15 +0 2 4 7 8 11 12 +0 2 4 7 8 11 13 +0 2 4 7 8 11 14 +0 2 4 7 8 11 15 +0 2 4 7 8 12 13 +0 2 4 7 8 12 14 +0 2 4 7 8 12 15 +0 2 4 7 8 13 14 +0 2 4 7 8 13 15 +0 2 4 7 8 14 15 +0 2 4 7 9 10 11 +0 2 4 7 9 10 12 +0 2 4 7 9 10 13 +0 2 4 7 9 10 14 +0 2 4 7 9 10 15 +0 2 4 7 9 11 12 +0 2 4 7 9 11 13 +0 2 4 7 9 11 14 +0 2 4 7 9 11 15 +0 2 4 7 9 12 13 +0 2 4 7 9 12 14 +0 2 4 7 9 12 15 +0 2 4 7 9 13 14 +0 2 4 7 9 13 15 +0 2 4 7 9 14 15 +0 2 4 7 10 11 12 +0 2 4 7 10 11 13 +0 2 4 7 10 11 14 +0 2 4 7 10 11 15 +0 2 4 7 10 12 13 +0 2 4 7 10 12 14 +0 2 4 7 10 12 15 +0 2 4 7 10 13 14 +0 2 4 7 10 13 15 +0 2 4 7 10 14 15 +0 2 4 7 11 12 13 +0 2 4 7 11 12 14 +0 2 4 7 11 12 15 +0 2 4 7 11 13 14 +0 2 4 7 11 13 15 +0 2 4 7 11 14 15 +0 2 4 7 12 13 14 +0 2 4 7 12 13 15 +0 2 4 7 12 14 15 +0 2 4 7 13 14 15 +0 2 4 8 9 10 11 +0 2 4 8 9 10 12 +0 2 4 8 9 10 13 +0 2 4 8 9 10 14 +0 2 4 8 9 10 15 +0 2 4 8 9 11 12 +0 2 4 8 9 11 13 +0 2 4 8 9 11 14 +0 2 4 8 9 11 15 +0 2 4 8 9 12 13 +0 2 4 8 9 12 14 +0 2 4 8 9 12 15 +0 2 4 8 9 13 14 +0 2 4 8 9 13 15 +0 2 4 8 9 14 15 +0 2 4 8 10 11 12 +0 2 4 8 10 11 13 +0 2 4 8 10 11 14 +0 2 4 8 10 11 15 +0 2 4 8 10 12 13 +0 2 4 8 10 12 14 +0 2 4 8 10 12 15 +0 2 4 8 10 13 14 +0 2 4 8 10 13 15 +0 2 4 8 10 14 15 +0 2 4 8 11 12 13 +0 2 4 8 11 12 14 +0 2 4 8 11 12 15 +0 2 4 8 11 13 14 +0 2 4 8 11 13 15 +0 2 4 8 11 14 15 +0 2 4 8 12 13 14 +0 2 4 8 12 13 15 +0 2 4 8 12 14 15 +0 2 4 8 13 14 15 +0 2 4 9 10 11 12 +0 2 4 9 10 11 13 +0 2 4 9 10 11 14 +0 2 4 9 10 11 15 +0 2 4 9 10 12 13 +0 2 4 9 10 12 14 +0 2 4 9 10 12 15 +0 2 4 9 10 13 14 +0 2 4 9 10 13 15 +0 2 4 9 10 14 15 +0 2 4 9 11 12 13 +0 2 4 9 11 12 14 +0 2 4 9 11 12 15 +0 2 4 9 11 13 14 +0 2 4 9 11 13 15 +0 2 4 9 11 14 15 +0 2 4 9 12 13 14 +0 2 4 9 12 13 15 +0 2 4 9 12 14 15 +0 2 4 9 13 14 15 +0 2 4 10 11 12 13 +0 2 4 10 11 12 14 +0 2 4 10 11 12 15 +0 2 4 10 11 13 14 +0 2 4 10 11 13 15 +0 2 4 10 11 14 15 +0 2 4 10 12 13 14 +0 2 4 10 12 13 15 +0 2 4 10 12 14 15 +0 2 4 10 13 14 15 +0 2 4 11 12 13 14 +0 2 4 11 12 13 15 +0 2 4 11 12 14 15 +0 2 4 11 13 14 15 +0 2 4 12 13 14 15 +0 2 5 6 7 8 9 +0 2 5 6 7 8 10 +0 2 5 6 7 8 11 +0 2 5 6 7 8 12 +0 2 5 6 7 8 13 +0 2 5 6 7 8 14 +0 2 5 6 7 8 15 +0 2 5 6 7 9 10 +0 2 5 6 7 9 11 +0 2 5 6 7 9 12 +0 2 5 6 7 9 13 +0 2 5 6 7 9 14 +0 2 5 6 7 9 15 +0 2 5 6 7 10 11 +0 2 5 6 7 10 12 +0 2 5 6 7 10 13 +0 2 5 6 7 10 14 +0 2 5 6 7 10 15 +0 2 5 6 7 11 12 +0 2 5 6 7 11 13 +0 2 5 6 7 11 14 +0 2 5 6 7 11 15 +0 2 5 6 7 12 13 +0 2 5 6 7 12 14 +0 2 5 6 7 12 15 +0 2 5 6 7 13 14 +0 2 5 6 7 13 15 +0 2 5 6 7 14 15 +0 2 5 6 8 9 10 +0 2 5 6 8 9 11 +0 2 5 6 8 9 12 +0 2 5 6 8 9 13 +0 2 5 6 8 9 14 +0 2 5 6 8 9 15 +0 2 5 6 8 10 11 +0 2 5 6 8 10 12 +0 2 5 6 8 10 13 +0 2 5 6 8 10 14 +0 2 5 6 8 10 15 +0 2 5 6 8 11 12 +0 2 5 6 8 11 13 +0 2 5 6 8 11 14 +0 2 5 6 8 11 15 +0 2 5 6 8 12 13 +0 2 5 6 8 12 14 +0 2 5 6 8 12 15 +0 2 5 6 8 13 14 +0 2 5 6 8 13 15 +0 2 5 6 8 14 15 +0 2 5 6 9 10 11 +0 2 5 6 9 10 12 +0 2 5 6 9 10 13 +0 2 5 6 9 10 14 +0 2 5 6 9 10 15 +0 2 5 6 9 11 12 +0 2 5 6 9 11 13 +0 2 5 6 9 11 14 +0 2 5 6 9 11 15 +0 2 5 6 9 12 13 +0 2 5 6 9 12 14 +0 2 5 6 9 12 15 +0 2 5 6 9 13 14 +0 2 5 6 9 13 15 +0 2 5 6 9 14 15 +0 2 5 6 10 11 12 +0 2 5 6 10 11 13 +0 2 5 6 10 11 14 +0 2 5 6 10 11 15 +0 2 5 6 10 12 13 +0 2 5 6 10 12 14 +0 2 5 6 10 12 15 +0 2 5 6 10 13 14 +0 2 5 6 10 13 15 +0 2 5 6 10 14 15 +0 2 5 6 11 12 13 +0 2 5 6 11 12 14 +0 2 5 6 11 12 15 +0 2 5 6 11 13 14 +0 2 5 6 11 13 15 +0 2 5 6 11 14 15 +0 2 5 6 12 13 14 +0 2 5 6 12 13 15 +0 2 5 6 12 14 15 +0 2 5 6 13 14 15 +0 2 5 7 8 9 10 +0 2 5 7 8 9 11 +0 2 5 7 8 9 12 +0 2 5 7 8 9 13 +0 2 5 7 8 9 14 +0 2 5 7 8 9 15 +0 2 5 7 8 10 11 +0 2 5 7 8 10 12 +0 2 5 7 8 10 13 +0 2 5 7 8 10 14 +0 2 5 7 8 10 15 +0 2 5 7 8 11 12 +0 2 5 7 8 11 13 +0 2 5 7 8 11 14 +0 2 5 7 8 11 15 +0 2 5 7 8 12 13 +0 2 5 7 8 12 14 +0 2 5 7 8 12 15 +0 2 5 7 8 13 14 +0 2 5 7 8 13 15 +0 2 5 7 8 14 15 +0 2 5 7 9 10 11 +0 2 5 7 9 10 12 +0 2 5 7 9 10 13 +0 2 5 7 9 10 14 +0 2 5 7 9 10 15 +0 2 5 7 9 11 12 +0 2 5 7 9 11 13 +0 2 5 7 9 11 14 +0 2 5 7 9 11 15 +0 2 5 7 9 12 13 +0 2 5 7 9 12 14 +0 2 5 7 9 12 15 +0 2 5 7 9 13 14 +0 2 5 7 9 13 15 +0 2 5 7 9 14 15 +0 2 5 7 10 11 12 +0 2 5 7 10 11 13 +0 2 5 7 10 11 14 +0 2 5 7 10 11 15 +0 2 5 7 10 12 13 +0 2 5 7 10 12 14 +0 2 5 7 10 12 15 +0 2 5 7 10 13 14 +0 2 5 7 10 13 15 +0 2 5 7 10 14 15 +0 2 5 7 11 12 13 +0 2 5 7 11 12 14 +0 2 5 7 11 12 15 +0 2 5 7 11 13 14 +0 2 5 7 11 13 15 +0 2 5 7 11 14 15 +0 2 5 7 12 13 14 +0 2 5 7 12 13 15 +0 2 5 7 12 14 15 +0 2 5 7 13 14 15 +0 2 5 8 9 10 11 +0 2 5 8 9 10 12 +0 2 5 8 9 10 13 +0 2 5 8 9 10 14 +0 2 5 8 9 10 15 +0 2 5 8 9 11 12 +0 2 5 8 9 11 13 +0 2 5 8 9 11 14 +0 2 5 8 9 11 15 +0 2 5 8 9 12 13 +0 2 5 8 9 12 14 +0 2 5 8 9 12 15 +0 2 5 8 9 13 14 +0 2 5 8 9 13 15 +0 2 5 8 9 14 15 +0 2 5 8 10 11 12 +0 2 5 8 10 11 13 +0 2 5 8 10 11 14 +0 2 5 8 10 11 15 +0 2 5 8 10 12 13 +0 2 5 8 10 12 14 +0 2 5 8 10 12 15 +0 2 5 8 10 13 14 +0 2 5 8 10 13 15 +0 2 5 8 10 14 15 +0 2 5 8 11 12 13 +0 2 5 8 11 12 14 +0 2 5 8 11 12 15 +0 2 5 8 11 13 14 +0 2 5 8 11 13 15 +0 2 5 8 11 14 15 +0 2 5 8 12 13 14 +0 2 5 8 12 13 15 +0 2 5 8 12 14 15 +0 2 5 8 13 14 15 +0 2 5 9 10 11 12 +0 2 5 9 10 11 13 +0 2 5 9 10 11 14 +0 2 5 9 10 11 15 +0 2 5 9 10 12 13 +0 2 5 9 10 12 14 +0 2 5 9 10 12 15 +0 2 5 9 10 13 14 +0 2 5 9 10 13 15 +0 2 5 9 10 14 15 +0 2 5 9 11 12 13 +0 2 5 9 11 12 14 +0 2 5 9 11 12 15 +0 2 5 9 11 13 14 +0 2 5 9 11 13 15 +0 2 5 9 11 14 15 +0 2 5 9 12 13 14 +0 2 5 9 12 13 15 +0 2 5 9 12 14 15 +0 2 5 9 13 14 15 +0 2 5 10 11 12 13 +0 2 5 10 11 12 14 +0 2 5 10 11 12 15 +0 2 5 10 11 13 14 +0 2 5 10 11 13 15 +0 2 5 10 11 14 15 +0 2 5 10 12 13 14 +0 2 5 10 12 13 15 +0 2 5 10 12 14 15 +0 2 5 10 13 14 15 +0 2 5 11 12 13 14 +0 2 5 11 12 13 15 +0 2 5 11 12 14 15 +0 2 5 11 13 14 15 +0 2 5 12 13 14 15 +0 2 6 7 8 9 10 +0 2 6 7 8 9 11 +0 2 6 7 8 9 12 +0 2 6 7 8 9 13 +0 2 6 7 8 9 14 +0 2 6 7 8 9 15 +0 2 6 7 8 10 11 +0 2 6 7 8 10 12 +0 2 6 7 8 10 13 +0 2 6 7 8 10 14 +0 2 6 7 8 10 15 +0 2 6 7 8 11 12 +0 2 6 7 8 11 13 +0 2 6 7 8 11 14 +0 2 6 7 8 11 15 +0 2 6 7 8 12 13 +0 2 6 7 8 12 14 +0 2 6 7 8 12 15 +0 2 6 7 8 13 14 +0 2 6 7 8 13 15 +0 2 6 7 8 14 15 +0 2 6 7 9 10 11 +0 2 6 7 9 10 12 +0 2 6 7 9 10 13 +0 2 6 7 9 10 14 +0 2 6 7 9 10 15 +0 2 6 7 9 11 12 +0 2 6 7 9 11 13 +0 2 6 7 9 11 14 +0 2 6 7 9 11 15 +0 2 6 7 9 12 13 +0 2 6 7 9 12 14 +0 2 6 7 9 12 15 +0 2 6 7 9 13 14 +0 2 6 7 9 13 15 +0 2 6 7 9 14 15 +0 2 6 7 10 11 12 +0 2 6 7 10 11 13 +0 2 6 7 10 11 14 +0 2 6 7 10 11 15 +0 2 6 7 10 12 13 +0 2 6 7 10 12 14 +0 2 6 7 10 12 15 +0 2 6 7 10 13 14 +0 2 6 7 10 13 15 +0 2 6 7 10 14 15 +0 2 6 7 11 12 13 +0 2 6 7 11 12 14 +0 2 6 7 11 12 15 +0 2 6 7 11 13 14 +0 2 6 7 11 13 15 +0 2 6 7 11 14 15 +0 2 6 7 12 13 14 +0 2 6 7 12 13 15 +0 2 6 7 12 14 15 +0 2 6 7 13 14 15 +0 2 6 8 9 10 11 +0 2 6 8 9 10 12 +0 2 6 8 9 10 13 +0 2 6 8 9 10 14 +0 2 6 8 9 10 15 +0 2 6 8 9 11 12 +0 2 6 8 9 11 13 +0 2 6 8 9 11 14 +0 2 6 8 9 11 15 +0 2 6 8 9 12 13 +0 2 6 8 9 12 14 +0 2 6 8 9 12 15 +0 2 6 8 9 13 14 +0 2 6 8 9 13 15 +0 2 6 8 9 14 15 +0 2 6 8 10 11 12 +0 2 6 8 10 11 13 +0 2 6 8 10 11 14 +0 2 6 8 10 11 15 +0 2 6 8 10 12 13 +0 2 6 8 10 12 14 +0 2 6 8 10 12 15 +0 2 6 8 10 13 14 +0 2 6 8 10 13 15 +0 2 6 8 10 14 15 +0 2 6 8 11 12 13 +0 2 6 8 11 12 14 +0 2 6 8 11 12 15 +0 2 6 8 11 13 14 +0 2 6 8 11 13 15 +0 2 6 8 11 14 15 +0 2 6 8 12 13 14 +0 2 6 8 12 13 15 +0 2 6 8 12 14 15 +0 2 6 8 13 14 15 +0 2 6 9 10 11 12 +0 2 6 9 10 11 13 +0 2 6 9 10 11 14 +0 2 6 9 10 11 15 +0 2 6 9 10 12 13 +0 2 6 9 10 12 14 +0 2 6 9 10 12 15 +0 2 6 9 10 13 14 +0 2 6 9 10 13 15 +0 2 6 9 10 14 15 +0 2 6 9 11 12 13 +0 2 6 9 11 12 14 +0 2 6 9 11 12 15 +0 2 6 9 11 13 14 +0 2 6 9 11 13 15 +0 2 6 9 11 14 15 +0 2 6 9 12 13 14 +0 2 6 9 12 13 15 +0 2 6 9 12 14 15 +0 2 6 9 13 14 15 +0 2 6 10 11 12 13 +0 2 6 10 11 12 14 +0 2 6 10 11 12 15 +0 2 6 10 11 13 14 +0 2 6 10 11 13 15 +0 2 6 10 11 14 15 +0 2 6 10 12 13 14 +0 2 6 10 12 13 15 +0 2 6 10 12 14 15 +0 2 6 10 13 14 15 +0 2 6 11 12 13 14 +0 2 6 11 12 13 15 +0 2 6 11 12 14 15 +0 2 6 11 13 14 15 +0 2 6 12 13 14 15 +0 2 7 8 9 10 11 +0 2 7 8 9 10 12 +0 2 7 8 9 10 13 +0 2 7 8 9 10 14 +0 2 7 8 9 10 15 +0 2 7 8 9 11 12 +0 2 7 8 9 11 13 +0 2 7 8 9 11 14 +0 2 7 8 9 11 15 +0 2 7 8 9 12 13 +0 2 7 8 9 12 14 +0 2 7 8 9 12 15 +0 2 7 8 9 13 14 +0 2 7 8 9 13 15 +0 2 7 8 9 14 15 +0 2 7 8 10 11 12 +0 2 7 8 10 11 13 +0 2 7 8 10 11 14 +0 2 7 8 10 11 15 +0 2 7 8 10 12 13 +0 2 7 8 10 12 14 +0 2 7 8 10 12 15 +0 2 7 8 10 13 14 +0 2 7 8 10 13 15 +0 2 7 8 10 14 15 +0 2 7 8 11 12 13 +0 2 7 8 11 12 14 +0 2 7 8 11 12 15 +0 2 7 8 11 13 14 +0 2 7 8 11 13 15 +0 2 7 8 11 14 15 +0 2 7 8 12 13 14 +0 2 7 8 12 13 15 +0 2 7 8 12 14 15 +0 2 7 8 13 14 15 +0 2 7 9 10 11 12 +0 2 7 9 10 11 13 +0 2 7 9 10 11 14 +0 2 7 9 10 11 15 +0 2 7 9 10 12 13 +0 2 7 9 10 12 14 +0 2 7 9 10 12 15 +0 2 7 9 10 13 14 +0 2 7 9 10 13 15 +0 2 7 9 10 14 15 +0 2 7 9 11 12 13 +0 2 7 9 11 12 14 +0 2 7 9 11 12 15 +0 2 7 9 11 13 14 +0 2 7 9 11 13 15 +0 2 7 9 11 14 15 +0 2 7 9 12 13 14 +0 2 7 9 12 13 15 +0 2 7 9 12 14 15 +0 2 7 9 13 14 15 +0 2 7 10 11 12 13 +0 2 7 10 11 12 14 +0 2 7 10 11 12 15 +0 2 7 10 11 13 14 +0 2 7 10 11 13 15 +0 2 7 10 11 14 15 +0 2 7 10 12 13 14 +0 2 7 10 12 13 15 +0 2 7 10 12 14 15 +0 2 7 10 13 14 15 +0 2 7 11 12 13 14 +0 2 7 11 12 13 15 +0 2 7 11 12 14 15 +0 2 7 11 13 14 15 +0 2 7 12 13 14 15 +0 2 8 9 10 11 12 +0 2 8 9 10 11 13 +0 2 8 9 10 11 14 +0 2 8 9 10 11 15 +0 2 8 9 10 12 13 +0 2 8 9 10 12 14 +0 2 8 9 10 12 15 +0 2 8 9 10 13 14 +0 2 8 9 10 13 15 +0 2 8 9 10 14 15 +0 2 8 9 11 12 13 +0 2 8 9 11 12 14 +0 2 8 9 11 12 15 +0 2 8 9 11 13 14 +0 2 8 9 11 13 15 +0 2 8 9 11 14 15 +0 2 8 9 12 13 14 +0 2 8 9 12 13 15 +0 2 8 9 12 14 15 +0 2 8 9 13 14 15 +0 2 8 10 11 12 13 +0 2 8 10 11 12 14 +0 2 8 10 11 12 15 +0 2 8 10 11 13 14 +0 2 8 10 11 13 15 +0 2 8 10 11 14 15 +0 2 8 10 12 13 14 +0 2 8 10 12 13 15 +0 2 8 10 12 14 15 +0 2 8 10 13 14 15 +0 2 8 11 12 13 14 +0 2 8 11 12 13 15 +0 2 8 11 12 14 15 +0 2 8 11 13 14 15 +0 2 8 12 13 14 15 +0 2 9 10 11 12 13 +0 2 9 10 11 12 14 +0 2 9 10 11 12 15 +0 2 9 10 11 13 14 +0 2 9 10 11 13 15 +0 2 9 10 11 14 15 +0 2 9 10 12 13 14 +0 2 9 10 12 13 15 +0 2 9 10 12 14 15 +0 2 9 10 13 14 15 +0 2 9 11 12 13 14 +0 2 9 11 12 13 15 +0 2 9 11 12 14 15 +0 2 9 11 13 14 15 +0 2 9 12 13 14 15 +0 2 10 11 12 13 14 +0 2 10 11 12 13 15 +0 2 10 11 12 14 15 +0 2 10 11 13 14 15 +0 2 10 12 13 14 15 +0 2 11 12 13 14 15 +0 3 4 5 6 7 8 +0 3 4 5 6 7 9 +0 3 4 5 6 7 10 +0 3 4 5 6 7 11 +0 3 4 5 6 7 12 +0 3 4 5 6 7 13 +0 3 4 5 6 7 14 +0 3 4 5 6 7 15 +0 3 4 5 6 8 9 +0 3 4 5 6 8 10 +0 3 4 5 6 8 11 +0 3 4 5 6 8 12 +0 3 4 5 6 8 13 +0 3 4 5 6 8 14 +0 3 4 5 6 8 15 +0 3 4 5 6 9 10 +0 3 4 5 6 9 11 +0 3 4 5 6 9 12 +0 3 4 5 6 9 13 +0 3 4 5 6 9 14 +0 3 4 5 6 9 15 +0 3 4 5 6 10 11 +0 3 4 5 6 10 12 +0 3 4 5 6 10 13 +0 3 4 5 6 10 14 +0 3 4 5 6 10 15 +0 3 4 5 6 11 12 +0 3 4 5 6 11 13 +0 3 4 5 6 11 14 +0 3 4 5 6 11 15 +0 3 4 5 6 12 13 +0 3 4 5 6 12 14 +0 3 4 5 6 12 15 +0 3 4 5 6 13 14 +0 3 4 5 6 13 15 +0 3 4 5 6 14 15 +0 3 4 5 7 8 9 +0 3 4 5 7 8 10 +0 3 4 5 7 8 11 +0 3 4 5 7 8 12 +0 3 4 5 7 8 13 +0 3 4 5 7 8 14 +0 3 4 5 7 8 15 +0 3 4 5 7 9 10 +0 3 4 5 7 9 11 +0 3 4 5 7 9 12 +0 3 4 5 7 9 13 +0 3 4 5 7 9 14 +0 3 4 5 7 9 15 +0 3 4 5 7 10 11 +0 3 4 5 7 10 12 +0 3 4 5 7 10 13 +0 3 4 5 7 10 14 +0 3 4 5 7 10 15 +0 3 4 5 7 11 12 +0 3 4 5 7 11 13 +0 3 4 5 7 11 14 +0 3 4 5 7 11 15 +0 3 4 5 7 12 13 +0 3 4 5 7 12 14 +0 3 4 5 7 12 15 +0 3 4 5 7 13 14 +0 3 4 5 7 13 15 +0 3 4 5 7 14 15 +0 3 4 5 8 9 10 +0 3 4 5 8 9 11 +0 3 4 5 8 9 12 +0 3 4 5 8 9 13 +0 3 4 5 8 9 14 +0 3 4 5 8 9 15 +0 3 4 5 8 10 11 +0 3 4 5 8 10 12 +0 3 4 5 8 10 13 +0 3 4 5 8 10 14 +0 3 4 5 8 10 15 +0 3 4 5 8 11 12 +0 3 4 5 8 11 13 +0 3 4 5 8 11 14 +0 3 4 5 8 11 15 +0 3 4 5 8 12 13 +0 3 4 5 8 12 14 +0 3 4 5 8 12 15 +0 3 4 5 8 13 14 +0 3 4 5 8 13 15 +0 3 4 5 8 14 15 +0 3 4 5 9 10 11 +0 3 4 5 9 10 12 +0 3 4 5 9 10 13 +0 3 4 5 9 10 14 +0 3 4 5 9 10 15 +0 3 4 5 9 11 12 +0 3 4 5 9 11 13 +0 3 4 5 9 11 14 +0 3 4 5 9 11 15 +0 3 4 5 9 12 13 +0 3 4 5 9 12 14 +0 3 4 5 9 12 15 +0 3 4 5 9 13 14 +0 3 4 5 9 13 15 +0 3 4 5 9 14 15 +0 3 4 5 10 11 12 +0 3 4 5 10 11 13 +0 3 4 5 10 11 14 +0 3 4 5 10 11 15 +0 3 4 5 10 12 13 +0 3 4 5 10 12 14 +0 3 4 5 10 12 15 +0 3 4 5 10 13 14 +0 3 4 5 10 13 15 +0 3 4 5 10 14 15 +0 3 4 5 11 12 13 +0 3 4 5 11 12 14 +0 3 4 5 11 12 15 +0 3 4 5 11 13 14 +0 3 4 5 11 13 15 +0 3 4 5 11 14 15 +0 3 4 5 12 13 14 +0 3 4 5 12 13 15 +0 3 4 5 12 14 15 +0 3 4 5 13 14 15 +0 3 4 6 7 8 9 +0 3 4 6 7 8 10 +0 3 4 6 7 8 11 +0 3 4 6 7 8 12 +0 3 4 6 7 8 13 +0 3 4 6 7 8 14 +0 3 4 6 7 8 15 +0 3 4 6 7 9 10 +0 3 4 6 7 9 11 +0 3 4 6 7 9 12 +0 3 4 6 7 9 13 +0 3 4 6 7 9 14 +0 3 4 6 7 9 15 +0 3 4 6 7 10 11 +0 3 4 6 7 10 12 +0 3 4 6 7 10 13 +0 3 4 6 7 10 14 +0 3 4 6 7 10 15 +0 3 4 6 7 11 12 +0 3 4 6 7 11 13 +0 3 4 6 7 11 14 +0 3 4 6 7 11 15 +0 3 4 6 7 12 13 +0 3 4 6 7 12 14 +0 3 4 6 7 12 15 +0 3 4 6 7 13 14 +0 3 4 6 7 13 15 +0 3 4 6 7 14 15 +0 3 4 6 8 9 10 +0 3 4 6 8 9 11 +0 3 4 6 8 9 12 +0 3 4 6 8 9 13 +0 3 4 6 8 9 14 +0 3 4 6 8 9 15 +0 3 4 6 8 10 11 +0 3 4 6 8 10 12 +0 3 4 6 8 10 13 +0 3 4 6 8 10 14 +0 3 4 6 8 10 15 +0 3 4 6 8 11 12 +0 3 4 6 8 11 13 +0 3 4 6 8 11 14 +0 3 4 6 8 11 15 +0 3 4 6 8 12 13 +0 3 4 6 8 12 14 +0 3 4 6 8 12 15 +0 3 4 6 8 13 14 +0 3 4 6 8 13 15 +0 3 4 6 8 14 15 +0 3 4 6 9 10 11 +0 3 4 6 9 10 12 +0 3 4 6 9 10 13 +0 3 4 6 9 10 14 +0 3 4 6 9 10 15 +0 3 4 6 9 11 12 +0 3 4 6 9 11 13 +0 3 4 6 9 11 14 +0 3 4 6 9 11 15 +0 3 4 6 9 12 13 +0 3 4 6 9 12 14 +0 3 4 6 9 12 15 +0 3 4 6 9 13 14 +0 3 4 6 9 13 15 +0 3 4 6 9 14 15 +0 3 4 6 10 11 12 +0 3 4 6 10 11 13 +0 3 4 6 10 11 14 +0 3 4 6 10 11 15 +0 3 4 6 10 12 13 +0 3 4 6 10 12 14 +0 3 4 6 10 12 15 +0 3 4 6 10 13 14 +0 3 4 6 10 13 15 +0 3 4 6 10 14 15 +0 3 4 6 11 12 13 +0 3 4 6 11 12 14 +0 3 4 6 11 12 15 +0 3 4 6 11 13 14 +0 3 4 6 11 13 15 +0 3 4 6 11 14 15 +0 3 4 6 12 13 14 +0 3 4 6 12 13 15 +0 3 4 6 12 14 15 +0 3 4 6 13 14 15 +0 3 4 7 8 9 10 +0 3 4 7 8 9 11 +0 3 4 7 8 9 12 +0 3 4 7 8 9 13 +0 3 4 7 8 9 14 +0 3 4 7 8 9 15 +0 3 4 7 8 10 11 +0 3 4 7 8 10 12 +0 3 4 7 8 10 13 +0 3 4 7 8 10 14 +0 3 4 7 8 10 15 +0 3 4 7 8 11 12 +0 3 4 7 8 11 13 +0 3 4 7 8 11 14 +0 3 4 7 8 11 15 +0 3 4 7 8 12 13 +0 3 4 7 8 12 14 +0 3 4 7 8 12 15 +0 3 4 7 8 13 14 +0 3 4 7 8 13 15 +0 3 4 7 8 14 15 +0 3 4 7 9 10 11 +0 3 4 7 9 10 12 +0 3 4 7 9 10 13 +0 3 4 7 9 10 14 +0 3 4 7 9 10 15 +0 3 4 7 9 11 12 +0 3 4 7 9 11 13 +0 3 4 7 9 11 14 +0 3 4 7 9 11 15 +0 3 4 7 9 12 13 +0 3 4 7 9 12 14 +0 3 4 7 9 12 15 +0 3 4 7 9 13 14 +0 3 4 7 9 13 15 +0 3 4 7 9 14 15 +0 3 4 7 10 11 12 +0 3 4 7 10 11 13 +0 3 4 7 10 11 14 +0 3 4 7 10 11 15 +0 3 4 7 10 12 13 +0 3 4 7 10 12 14 +0 3 4 7 10 12 15 +0 3 4 7 10 13 14 +0 3 4 7 10 13 15 +0 3 4 7 10 14 15 +0 3 4 7 11 12 13 +0 3 4 7 11 12 14 +0 3 4 7 11 12 15 +0 3 4 7 11 13 14 +0 3 4 7 11 13 15 +0 3 4 7 11 14 15 +0 3 4 7 12 13 14 +0 3 4 7 12 13 15 +0 3 4 7 12 14 15 +0 3 4 7 13 14 15 +0 3 4 8 9 10 11 +0 3 4 8 9 10 12 +0 3 4 8 9 10 13 +0 3 4 8 9 10 14 +0 3 4 8 9 10 15 +0 3 4 8 9 11 12 +0 3 4 8 9 11 13 +0 3 4 8 9 11 14 +0 3 4 8 9 11 15 +0 3 4 8 9 12 13 +0 3 4 8 9 12 14 +0 3 4 8 9 12 15 +0 3 4 8 9 13 14 +0 3 4 8 9 13 15 +0 3 4 8 9 14 15 +0 3 4 8 10 11 12 +0 3 4 8 10 11 13 +0 3 4 8 10 11 14 +0 3 4 8 10 11 15 +0 3 4 8 10 12 13 +0 3 4 8 10 12 14 +0 3 4 8 10 12 15 +0 3 4 8 10 13 14 +0 3 4 8 10 13 15 +0 3 4 8 10 14 15 +0 3 4 8 11 12 13 +0 3 4 8 11 12 14 +0 3 4 8 11 12 15 +0 3 4 8 11 13 14 +0 3 4 8 11 13 15 +0 3 4 8 11 14 15 +0 3 4 8 12 13 14 +0 3 4 8 12 13 15 +0 3 4 8 12 14 15 +0 3 4 8 13 14 15 +0 3 4 9 10 11 12 +0 3 4 9 10 11 13 +0 3 4 9 10 11 14 +0 3 4 9 10 11 15 +0 3 4 9 10 12 13 +0 3 4 9 10 12 14 +0 3 4 9 10 12 15 +0 3 4 9 10 13 14 +0 3 4 9 10 13 15 +0 3 4 9 10 14 15 +0 3 4 9 11 12 13 +0 3 4 9 11 12 14 +0 3 4 9 11 12 15 +0 3 4 9 11 13 14 +0 3 4 9 11 13 15 +0 3 4 9 11 14 15 +0 3 4 9 12 13 14 +0 3 4 9 12 13 15 +0 3 4 9 12 14 15 +0 3 4 9 13 14 15 +0 3 4 10 11 12 13 +0 3 4 10 11 12 14 +0 3 4 10 11 12 15 +0 3 4 10 11 13 14 +0 3 4 10 11 13 15 +0 3 4 10 11 14 15 +0 3 4 10 12 13 14 +0 3 4 10 12 13 15 +0 3 4 10 12 14 15 +0 3 4 10 13 14 15 +0 3 4 11 12 13 14 +0 3 4 11 12 13 15 +0 3 4 11 12 14 15 +0 3 4 11 13 14 15 +0 3 4 12 13 14 15 +0 3 5 6 7 8 9 +0 3 5 6 7 8 10 +0 3 5 6 7 8 11 +0 3 5 6 7 8 12 +0 3 5 6 7 8 13 +0 3 5 6 7 8 14 +0 3 5 6 7 8 15 +0 3 5 6 7 9 10 +0 3 5 6 7 9 11 +0 3 5 6 7 9 12 +0 3 5 6 7 9 13 +0 3 5 6 7 9 14 +0 3 5 6 7 9 15 +0 3 5 6 7 10 11 +0 3 5 6 7 10 12 +0 3 5 6 7 10 13 +0 3 5 6 7 10 14 +0 3 5 6 7 10 15 +0 3 5 6 7 11 12 +0 3 5 6 7 11 13 +0 3 5 6 7 11 14 +0 3 5 6 7 11 15 +0 3 5 6 7 12 13 +0 3 5 6 7 12 14 +0 3 5 6 7 12 15 +0 3 5 6 7 13 14 +0 3 5 6 7 13 15 +0 3 5 6 7 14 15 +0 3 5 6 8 9 10 +0 3 5 6 8 9 11 +0 3 5 6 8 9 12 +0 3 5 6 8 9 13 +0 3 5 6 8 9 14 +0 3 5 6 8 9 15 +0 3 5 6 8 10 11 +0 3 5 6 8 10 12 +0 3 5 6 8 10 13 +0 3 5 6 8 10 14 +0 3 5 6 8 10 15 +0 3 5 6 8 11 12 +0 3 5 6 8 11 13 +0 3 5 6 8 11 14 +0 3 5 6 8 11 15 +0 3 5 6 8 12 13 +0 3 5 6 8 12 14 +0 3 5 6 8 12 15 +0 3 5 6 8 13 14 +0 3 5 6 8 13 15 +0 3 5 6 8 14 15 +0 3 5 6 9 10 11 +0 3 5 6 9 10 12 +0 3 5 6 9 10 13 +0 3 5 6 9 10 14 +0 3 5 6 9 10 15 +0 3 5 6 9 11 12 +0 3 5 6 9 11 13 +0 3 5 6 9 11 14 +0 3 5 6 9 11 15 +0 3 5 6 9 12 13 +0 3 5 6 9 12 14 +0 3 5 6 9 12 15 +0 3 5 6 9 13 14 +0 3 5 6 9 13 15 +0 3 5 6 9 14 15 +0 3 5 6 10 11 12 +0 3 5 6 10 11 13 +0 3 5 6 10 11 14 +0 3 5 6 10 11 15 +0 3 5 6 10 12 13 +0 3 5 6 10 12 14 +0 3 5 6 10 12 15 +0 3 5 6 10 13 14 +0 3 5 6 10 13 15 +0 3 5 6 10 14 15 +0 3 5 6 11 12 13 +0 3 5 6 11 12 14 +0 3 5 6 11 12 15 +0 3 5 6 11 13 14 +0 3 5 6 11 13 15 +0 3 5 6 11 14 15 +0 3 5 6 12 13 14 +0 3 5 6 12 13 15 +0 3 5 6 12 14 15 +0 3 5 6 13 14 15 +0 3 5 7 8 9 10 +0 3 5 7 8 9 11 +0 3 5 7 8 9 12 +0 3 5 7 8 9 13 +0 3 5 7 8 9 14 +0 3 5 7 8 9 15 +0 3 5 7 8 10 11 +0 3 5 7 8 10 12 +0 3 5 7 8 10 13 +0 3 5 7 8 10 14 +0 3 5 7 8 10 15 +0 3 5 7 8 11 12 +0 3 5 7 8 11 13 +0 3 5 7 8 11 14 +0 3 5 7 8 11 15 +0 3 5 7 8 12 13 +0 3 5 7 8 12 14 +0 3 5 7 8 12 15 +0 3 5 7 8 13 14 +0 3 5 7 8 13 15 +0 3 5 7 8 14 15 +0 3 5 7 9 10 11 +0 3 5 7 9 10 12 +0 3 5 7 9 10 13 +0 3 5 7 9 10 14 +0 3 5 7 9 10 15 +0 3 5 7 9 11 12 +0 3 5 7 9 11 13 +0 3 5 7 9 11 14 +0 3 5 7 9 11 15 +0 3 5 7 9 12 13 +0 3 5 7 9 12 14 +0 3 5 7 9 12 15 +0 3 5 7 9 13 14 +0 3 5 7 9 13 15 +0 3 5 7 9 14 15 +0 3 5 7 10 11 12 +0 3 5 7 10 11 13 +0 3 5 7 10 11 14 +0 3 5 7 10 11 15 +0 3 5 7 10 12 13 +0 3 5 7 10 12 14 +0 3 5 7 10 12 15 +0 3 5 7 10 13 14 +0 3 5 7 10 13 15 +0 3 5 7 10 14 15 +0 3 5 7 11 12 13 +0 3 5 7 11 12 14 +0 3 5 7 11 12 15 +0 3 5 7 11 13 14 +0 3 5 7 11 13 15 +0 3 5 7 11 14 15 +0 3 5 7 12 13 14 +0 3 5 7 12 13 15 +0 3 5 7 12 14 15 +0 3 5 7 13 14 15 +0 3 5 8 9 10 11 +0 3 5 8 9 10 12 +0 3 5 8 9 10 13 +0 3 5 8 9 10 14 +0 3 5 8 9 10 15 +0 3 5 8 9 11 12 +0 3 5 8 9 11 13 +0 3 5 8 9 11 14 +0 3 5 8 9 11 15 +0 3 5 8 9 12 13 +0 3 5 8 9 12 14 +0 3 5 8 9 12 15 +0 3 5 8 9 13 14 +0 3 5 8 9 13 15 +0 3 5 8 9 14 15 +0 3 5 8 10 11 12 +0 3 5 8 10 11 13 +0 3 5 8 10 11 14 +0 3 5 8 10 11 15 +0 3 5 8 10 12 13 +0 3 5 8 10 12 14 +0 3 5 8 10 12 15 +0 3 5 8 10 13 14 +0 3 5 8 10 13 15 +0 3 5 8 10 14 15 +0 3 5 8 11 12 13 +0 3 5 8 11 12 14 +0 3 5 8 11 12 15 +0 3 5 8 11 13 14 +0 3 5 8 11 13 15 +0 3 5 8 11 14 15 +0 3 5 8 12 13 14 +0 3 5 8 12 13 15 +0 3 5 8 12 14 15 +0 3 5 8 13 14 15 +0 3 5 9 10 11 12 +0 3 5 9 10 11 13 +0 3 5 9 10 11 14 +0 3 5 9 10 11 15 +0 3 5 9 10 12 13 +0 3 5 9 10 12 14 +0 3 5 9 10 12 15 +0 3 5 9 10 13 14 +0 3 5 9 10 13 15 +0 3 5 9 10 14 15 +0 3 5 9 11 12 13 +0 3 5 9 11 12 14 +0 3 5 9 11 12 15 +0 3 5 9 11 13 14 +0 3 5 9 11 13 15 +0 3 5 9 11 14 15 +0 3 5 9 12 13 14 +0 3 5 9 12 13 15 +0 3 5 9 12 14 15 +0 3 5 9 13 14 15 +0 3 5 10 11 12 13 +0 3 5 10 11 12 14 +0 3 5 10 11 12 15 +0 3 5 10 11 13 14 +0 3 5 10 11 13 15 +0 3 5 10 11 14 15 +0 3 5 10 12 13 14 +0 3 5 10 12 13 15 +0 3 5 10 12 14 15 +0 3 5 10 13 14 15 +0 3 5 11 12 13 14 +0 3 5 11 12 13 15 +0 3 5 11 12 14 15 +0 3 5 11 13 14 15 +0 3 5 12 13 14 15 +0 3 6 7 8 9 10 +0 3 6 7 8 9 11 +0 3 6 7 8 9 12 +0 3 6 7 8 9 13 +0 3 6 7 8 9 14 +0 3 6 7 8 9 15 +0 3 6 7 8 10 11 +0 3 6 7 8 10 12 +0 3 6 7 8 10 13 +0 3 6 7 8 10 14 +0 3 6 7 8 10 15 +0 3 6 7 8 11 12 +0 3 6 7 8 11 13 +0 3 6 7 8 11 14 +0 3 6 7 8 11 15 +0 3 6 7 8 12 13 +0 3 6 7 8 12 14 +0 3 6 7 8 12 15 +0 3 6 7 8 13 14 +0 3 6 7 8 13 15 +0 3 6 7 8 14 15 +0 3 6 7 9 10 11 +0 3 6 7 9 10 12 +0 3 6 7 9 10 13 +0 3 6 7 9 10 14 +0 3 6 7 9 10 15 +0 3 6 7 9 11 12 +0 3 6 7 9 11 13 +0 3 6 7 9 11 14 +0 3 6 7 9 11 15 +0 3 6 7 9 12 13 +0 3 6 7 9 12 14 +0 3 6 7 9 12 15 +0 3 6 7 9 13 14 +0 3 6 7 9 13 15 +0 3 6 7 9 14 15 +0 3 6 7 10 11 12 +0 3 6 7 10 11 13 +0 3 6 7 10 11 14 +0 3 6 7 10 11 15 +0 3 6 7 10 12 13 +0 3 6 7 10 12 14 +0 3 6 7 10 12 15 +0 3 6 7 10 13 14 +0 3 6 7 10 13 15 +0 3 6 7 10 14 15 +0 3 6 7 11 12 13 +0 3 6 7 11 12 14 +0 3 6 7 11 12 15 +0 3 6 7 11 13 14 +0 3 6 7 11 13 15 +0 3 6 7 11 14 15 +0 3 6 7 12 13 14 +0 3 6 7 12 13 15 +0 3 6 7 12 14 15 +0 3 6 7 13 14 15 +0 3 6 8 9 10 11 +0 3 6 8 9 10 12 +0 3 6 8 9 10 13 +0 3 6 8 9 10 14 +0 3 6 8 9 10 15 +0 3 6 8 9 11 12 +0 3 6 8 9 11 13 +0 3 6 8 9 11 14 +0 3 6 8 9 11 15 +0 3 6 8 9 12 13 +0 3 6 8 9 12 14 +0 3 6 8 9 12 15 +0 3 6 8 9 13 14 +0 3 6 8 9 13 15 +0 3 6 8 9 14 15 +0 3 6 8 10 11 12 +0 3 6 8 10 11 13 +0 3 6 8 10 11 14 +0 3 6 8 10 11 15 +0 3 6 8 10 12 13 +0 3 6 8 10 12 14 +0 3 6 8 10 12 15 +0 3 6 8 10 13 14 +0 3 6 8 10 13 15 +0 3 6 8 10 14 15 +0 3 6 8 11 12 13 +0 3 6 8 11 12 14 +0 3 6 8 11 12 15 +0 3 6 8 11 13 14 +0 3 6 8 11 13 15 +0 3 6 8 11 14 15 +0 3 6 8 12 13 14 +0 3 6 8 12 13 15 +0 3 6 8 12 14 15 +0 3 6 8 13 14 15 +0 3 6 9 10 11 12 +0 3 6 9 10 11 13 +0 3 6 9 10 11 14 +0 3 6 9 10 11 15 +0 3 6 9 10 12 13 +0 3 6 9 10 12 14 +0 3 6 9 10 12 15 +0 3 6 9 10 13 14 +0 3 6 9 10 13 15 +0 3 6 9 10 14 15 +0 3 6 9 11 12 13 +0 3 6 9 11 12 14 +0 3 6 9 11 12 15 +0 3 6 9 11 13 14 +0 3 6 9 11 13 15 +0 3 6 9 11 14 15 +0 3 6 9 12 13 14 +0 3 6 9 12 13 15 +0 3 6 9 12 14 15 +0 3 6 9 13 14 15 +0 3 6 10 11 12 13 +0 3 6 10 11 12 14 +0 3 6 10 11 12 15 +0 3 6 10 11 13 14 +0 3 6 10 11 13 15 +0 3 6 10 11 14 15 +0 3 6 10 12 13 14 +0 3 6 10 12 13 15 +0 3 6 10 12 14 15 +0 3 6 10 13 14 15 +0 3 6 11 12 13 14 +0 3 6 11 12 13 15 +0 3 6 11 12 14 15 +0 3 6 11 13 14 15 +0 3 6 12 13 14 15 +0 3 7 8 9 10 11 +0 3 7 8 9 10 12 +0 3 7 8 9 10 13 +0 3 7 8 9 10 14 +0 3 7 8 9 10 15 +0 3 7 8 9 11 12 +0 3 7 8 9 11 13 +0 3 7 8 9 11 14 +0 3 7 8 9 11 15 +0 3 7 8 9 12 13 +0 3 7 8 9 12 14 +0 3 7 8 9 12 15 +0 3 7 8 9 13 14 +0 3 7 8 9 13 15 +0 3 7 8 9 14 15 +0 3 7 8 10 11 12 +0 3 7 8 10 11 13 +0 3 7 8 10 11 14 +0 3 7 8 10 11 15 +0 3 7 8 10 12 13 +0 3 7 8 10 12 14 +0 3 7 8 10 12 15 +0 3 7 8 10 13 14 +0 3 7 8 10 13 15 +0 3 7 8 10 14 15 +0 3 7 8 11 12 13 +0 3 7 8 11 12 14 +0 3 7 8 11 12 15 +0 3 7 8 11 13 14 +0 3 7 8 11 13 15 +0 3 7 8 11 14 15 +0 3 7 8 12 13 14 +0 3 7 8 12 13 15 +0 3 7 8 12 14 15 +0 3 7 8 13 14 15 +0 3 7 9 10 11 12 +0 3 7 9 10 11 13 +0 3 7 9 10 11 14 +0 3 7 9 10 11 15 +0 3 7 9 10 12 13 +0 3 7 9 10 12 14 +0 3 7 9 10 12 15 +0 3 7 9 10 13 14 +0 3 7 9 10 13 15 +0 3 7 9 10 14 15 +0 3 7 9 11 12 13 +0 3 7 9 11 12 14 +0 3 7 9 11 12 15 +0 3 7 9 11 13 14 +0 3 7 9 11 13 15 +0 3 7 9 11 14 15 +0 3 7 9 12 13 14 +0 3 7 9 12 13 15 +0 3 7 9 12 14 15 +0 3 7 9 13 14 15 +0 3 7 10 11 12 13 +0 3 7 10 11 12 14 +0 3 7 10 11 12 15 +0 3 7 10 11 13 14 +0 3 7 10 11 13 15 +0 3 7 10 11 14 15 +0 3 7 10 12 13 14 +0 3 7 10 12 13 15 +0 3 7 10 12 14 15 +0 3 7 10 13 14 15 +0 3 7 11 12 13 14 +0 3 7 11 12 13 15 +0 3 7 11 12 14 15 +0 3 7 11 13 14 15 +0 3 7 12 13 14 15 +0 3 8 9 10 11 12 +0 3 8 9 10 11 13 +0 3 8 9 10 11 14 +0 3 8 9 10 11 15 +0 3 8 9 10 12 13 +0 3 8 9 10 12 14 +0 3 8 9 10 12 15 +0 3 8 9 10 13 14 +0 3 8 9 10 13 15 +0 3 8 9 10 14 15 +0 3 8 9 11 12 13 +0 3 8 9 11 12 14 +0 3 8 9 11 12 15 +0 3 8 9 11 13 14 +0 3 8 9 11 13 15 +0 3 8 9 11 14 15 +0 3 8 9 12 13 14 +0 3 8 9 12 13 15 +0 3 8 9 12 14 15 +0 3 8 9 13 14 15 +0 3 8 10 11 12 13 +0 3 8 10 11 12 14 +0 3 8 10 11 12 15 +0 3 8 10 11 13 14 +0 3 8 10 11 13 15 +0 3 8 10 11 14 15 +0 3 8 10 12 13 14 +0 3 8 10 12 13 15 +0 3 8 10 12 14 15 +0 3 8 10 13 14 15 +0 3 8 11 12 13 14 +0 3 8 11 12 13 15 +0 3 8 11 12 14 15 +0 3 8 11 13 14 15 +0 3 8 12 13 14 15 +0 3 9 10 11 12 13 +0 3 9 10 11 12 14 +0 3 9 10 11 12 15 +0 3 9 10 11 13 14 +0 3 9 10 11 13 15 +0 3 9 10 11 14 15 +0 3 9 10 12 13 14 +0 3 9 10 12 13 15 +0 3 9 10 12 14 15 +0 3 9 10 13 14 15 +0 3 9 11 12 13 14 +0 3 9 11 12 13 15 +0 3 9 11 12 14 15 +0 3 9 11 13 14 15 +0 3 9 12 13 14 15 +0 3 10 11 12 13 14 +0 3 10 11 12 13 15 +0 3 10 11 12 14 15 +0 3 10 11 13 14 15 +0 3 10 12 13 14 15 +0 3 11 12 13 14 15 +0 4 5 6 7 8 9 +0 4 5 6 7 8 10 +0 4 5 6 7 8 11 +0 4 5 6 7 8 12 +0 4 5 6 7 8 13 +0 4 5 6 7 8 14 +0 4 5 6 7 8 15 +0 4 5 6 7 9 10 +0 4 5 6 7 9 11 +0 4 5 6 7 9 12 +0 4 5 6 7 9 13 +0 4 5 6 7 9 14 +0 4 5 6 7 9 15 +0 4 5 6 7 10 11 +0 4 5 6 7 10 12 +0 4 5 6 7 10 13 +0 4 5 6 7 10 14 +0 4 5 6 7 10 15 +0 4 5 6 7 11 12 +0 4 5 6 7 11 13 +0 4 5 6 7 11 14 +0 4 5 6 7 11 15 +0 4 5 6 7 12 13 +0 4 5 6 7 12 14 +0 4 5 6 7 12 15 +0 4 5 6 7 13 14 +0 4 5 6 7 13 15 +0 4 5 6 7 14 15 +0 4 5 6 8 9 10 +0 4 5 6 8 9 11 +0 4 5 6 8 9 12 +0 4 5 6 8 9 13 +0 4 5 6 8 9 14 +0 4 5 6 8 9 15 +0 4 5 6 8 10 11 +0 4 5 6 8 10 12 +0 4 5 6 8 10 13 +0 4 5 6 8 10 14 +0 4 5 6 8 10 15 +0 4 5 6 8 11 12 +0 4 5 6 8 11 13 +0 4 5 6 8 11 14 +0 4 5 6 8 11 15 +0 4 5 6 8 12 13 +0 4 5 6 8 12 14 +0 4 5 6 8 12 15 +0 4 5 6 8 13 14 +0 4 5 6 8 13 15 +0 4 5 6 8 14 15 +0 4 5 6 9 10 11 +0 4 5 6 9 10 12 +0 4 5 6 9 10 13 +0 4 5 6 9 10 14 +0 4 5 6 9 10 15 +0 4 5 6 9 11 12 +0 4 5 6 9 11 13 +0 4 5 6 9 11 14 +0 4 5 6 9 11 15 +0 4 5 6 9 12 13 +0 4 5 6 9 12 14 +0 4 5 6 9 12 15 +0 4 5 6 9 13 14 +0 4 5 6 9 13 15 +0 4 5 6 9 14 15 +0 4 5 6 10 11 12 +0 4 5 6 10 11 13 +0 4 5 6 10 11 14 +0 4 5 6 10 11 15 +0 4 5 6 10 12 13 +0 4 5 6 10 12 14 +0 4 5 6 10 12 15 +0 4 5 6 10 13 14 +0 4 5 6 10 13 15 +0 4 5 6 10 14 15 +0 4 5 6 11 12 13 +0 4 5 6 11 12 14 +0 4 5 6 11 12 15 +0 4 5 6 11 13 14 +0 4 5 6 11 13 15 +0 4 5 6 11 14 15 +0 4 5 6 12 13 14 +0 4 5 6 12 13 15 +0 4 5 6 12 14 15 +0 4 5 6 13 14 15 +0 4 5 7 8 9 10 +0 4 5 7 8 9 11 +0 4 5 7 8 9 12 +0 4 5 7 8 9 13 +0 4 5 7 8 9 14 +0 4 5 7 8 9 15 +0 4 5 7 8 10 11 +0 4 5 7 8 10 12 +0 4 5 7 8 10 13 +0 4 5 7 8 10 14 +0 4 5 7 8 10 15 +0 4 5 7 8 11 12 +0 4 5 7 8 11 13 +0 4 5 7 8 11 14 +0 4 5 7 8 11 15 +0 4 5 7 8 12 13 +0 4 5 7 8 12 14 +0 4 5 7 8 12 15 +0 4 5 7 8 13 14 +0 4 5 7 8 13 15 +0 4 5 7 8 14 15 +0 4 5 7 9 10 11 +0 4 5 7 9 10 12 +0 4 5 7 9 10 13 +0 4 5 7 9 10 14 +0 4 5 7 9 10 15 +0 4 5 7 9 11 12 +0 4 5 7 9 11 13 +0 4 5 7 9 11 14 +0 4 5 7 9 11 15 +0 4 5 7 9 12 13 +0 4 5 7 9 12 14 +0 4 5 7 9 12 15 +0 4 5 7 9 13 14 +0 4 5 7 9 13 15 +0 4 5 7 9 14 15 +0 4 5 7 10 11 12 +0 4 5 7 10 11 13 +0 4 5 7 10 11 14 +0 4 5 7 10 11 15 +0 4 5 7 10 12 13 +0 4 5 7 10 12 14 +0 4 5 7 10 12 15 +0 4 5 7 10 13 14 +0 4 5 7 10 13 15 +0 4 5 7 10 14 15 +0 4 5 7 11 12 13 +0 4 5 7 11 12 14 +0 4 5 7 11 12 15 +0 4 5 7 11 13 14 +0 4 5 7 11 13 15 +0 4 5 7 11 14 15 +0 4 5 7 12 13 14 +0 4 5 7 12 13 15 +0 4 5 7 12 14 15 +0 4 5 7 13 14 15 +0 4 5 8 9 10 11 +0 4 5 8 9 10 12 +0 4 5 8 9 10 13 +0 4 5 8 9 10 14 +0 4 5 8 9 10 15 +0 4 5 8 9 11 12 +0 4 5 8 9 11 13 +0 4 5 8 9 11 14 +0 4 5 8 9 11 15 +0 4 5 8 9 12 13 +0 4 5 8 9 12 14 +0 4 5 8 9 12 15 +0 4 5 8 9 13 14 +0 4 5 8 9 13 15 +0 4 5 8 9 14 15 +0 4 5 8 10 11 12 +0 4 5 8 10 11 13 +0 4 5 8 10 11 14 +0 4 5 8 10 11 15 +0 4 5 8 10 12 13 +0 4 5 8 10 12 14 +0 4 5 8 10 12 15 +0 4 5 8 10 13 14 +0 4 5 8 10 13 15 +0 4 5 8 10 14 15 +0 4 5 8 11 12 13 +0 4 5 8 11 12 14 +0 4 5 8 11 12 15 +0 4 5 8 11 13 14 +0 4 5 8 11 13 15 +0 4 5 8 11 14 15 +0 4 5 8 12 13 14 +0 4 5 8 12 13 15 +0 4 5 8 12 14 15 +0 4 5 8 13 14 15 +0 4 5 9 10 11 12 +0 4 5 9 10 11 13 +0 4 5 9 10 11 14 +0 4 5 9 10 11 15 +0 4 5 9 10 12 13 +0 4 5 9 10 12 14 +0 4 5 9 10 12 15 +0 4 5 9 10 13 14 +0 4 5 9 10 13 15 +0 4 5 9 10 14 15 +0 4 5 9 11 12 13 +0 4 5 9 11 12 14 +0 4 5 9 11 12 15 +0 4 5 9 11 13 14 +0 4 5 9 11 13 15 +0 4 5 9 11 14 15 +0 4 5 9 12 13 14 +0 4 5 9 12 13 15 +0 4 5 9 12 14 15 +0 4 5 9 13 14 15 +0 4 5 10 11 12 13 +0 4 5 10 11 12 14 +0 4 5 10 11 12 15 +0 4 5 10 11 13 14 +0 4 5 10 11 13 15 +0 4 5 10 11 14 15 +0 4 5 10 12 13 14 +0 4 5 10 12 13 15 +0 4 5 10 12 14 15 +0 4 5 10 13 14 15 +0 4 5 11 12 13 14 +0 4 5 11 12 13 15 +0 4 5 11 12 14 15 +0 4 5 11 13 14 15 +0 4 5 12 13 14 15 +0 4 6 7 8 9 10 +0 4 6 7 8 9 11 +0 4 6 7 8 9 12 +0 4 6 7 8 9 13 +0 4 6 7 8 9 14 +0 4 6 7 8 9 15 +0 4 6 7 8 10 11 +0 4 6 7 8 10 12 +0 4 6 7 8 10 13 +0 4 6 7 8 10 14 +0 4 6 7 8 10 15 +0 4 6 7 8 11 12 +0 4 6 7 8 11 13 +0 4 6 7 8 11 14 +0 4 6 7 8 11 15 +0 4 6 7 8 12 13 +0 4 6 7 8 12 14 +0 4 6 7 8 12 15 +0 4 6 7 8 13 14 +0 4 6 7 8 13 15 +0 4 6 7 8 14 15 +0 4 6 7 9 10 11 +0 4 6 7 9 10 12 +0 4 6 7 9 10 13 +0 4 6 7 9 10 14 +0 4 6 7 9 10 15 +0 4 6 7 9 11 12 +0 4 6 7 9 11 13 +0 4 6 7 9 11 14 +0 4 6 7 9 11 15 +0 4 6 7 9 12 13 +0 4 6 7 9 12 14 +0 4 6 7 9 12 15 +0 4 6 7 9 13 14 +0 4 6 7 9 13 15 +0 4 6 7 9 14 15 +0 4 6 7 10 11 12 +0 4 6 7 10 11 13 +0 4 6 7 10 11 14 +0 4 6 7 10 11 15 +0 4 6 7 10 12 13 +0 4 6 7 10 12 14 +0 4 6 7 10 12 15 +0 4 6 7 10 13 14 +0 4 6 7 10 13 15 +0 4 6 7 10 14 15 +0 4 6 7 11 12 13 +0 4 6 7 11 12 14 +0 4 6 7 11 12 15 +0 4 6 7 11 13 14 +0 4 6 7 11 13 15 +0 4 6 7 11 14 15 +0 4 6 7 12 13 14 +0 4 6 7 12 13 15 +0 4 6 7 12 14 15 +0 4 6 7 13 14 15 +0 4 6 8 9 10 11 +0 4 6 8 9 10 12 +0 4 6 8 9 10 13 +0 4 6 8 9 10 14 +0 4 6 8 9 10 15 +0 4 6 8 9 11 12 +0 4 6 8 9 11 13 +0 4 6 8 9 11 14 +0 4 6 8 9 11 15 +0 4 6 8 9 12 13 +0 4 6 8 9 12 14 +0 4 6 8 9 12 15 +0 4 6 8 9 13 14 +0 4 6 8 9 13 15 +0 4 6 8 9 14 15 +0 4 6 8 10 11 12 +0 4 6 8 10 11 13 +0 4 6 8 10 11 14 +0 4 6 8 10 11 15 +0 4 6 8 10 12 13 +0 4 6 8 10 12 14 +0 4 6 8 10 12 15 +0 4 6 8 10 13 14 +0 4 6 8 10 13 15 +0 4 6 8 10 14 15 +0 4 6 8 11 12 13 +0 4 6 8 11 12 14 +0 4 6 8 11 12 15 +0 4 6 8 11 13 14 +0 4 6 8 11 13 15 +0 4 6 8 11 14 15 +0 4 6 8 12 13 14 +0 4 6 8 12 13 15 +0 4 6 8 12 14 15 +0 4 6 8 13 14 15 +0 4 6 9 10 11 12 +0 4 6 9 10 11 13 +0 4 6 9 10 11 14 +0 4 6 9 10 11 15 +0 4 6 9 10 12 13 +0 4 6 9 10 12 14 +0 4 6 9 10 12 15 +0 4 6 9 10 13 14 +0 4 6 9 10 13 15 +0 4 6 9 10 14 15 +0 4 6 9 11 12 13 +0 4 6 9 11 12 14 +0 4 6 9 11 12 15 +0 4 6 9 11 13 14 +0 4 6 9 11 13 15 +0 4 6 9 11 14 15 +0 4 6 9 12 13 14 +0 4 6 9 12 13 15 +0 4 6 9 12 14 15 +0 4 6 9 13 14 15 +0 4 6 10 11 12 13 +0 4 6 10 11 12 14 +0 4 6 10 11 12 15 +0 4 6 10 11 13 14 +0 4 6 10 11 13 15 +0 4 6 10 11 14 15 +0 4 6 10 12 13 14 +0 4 6 10 12 13 15 +0 4 6 10 12 14 15 +0 4 6 10 13 14 15 +0 4 6 11 12 13 14 +0 4 6 11 12 13 15 +0 4 6 11 12 14 15 +0 4 6 11 13 14 15 +0 4 6 12 13 14 15 +0 4 7 8 9 10 11 +0 4 7 8 9 10 12 +0 4 7 8 9 10 13 +0 4 7 8 9 10 14 +0 4 7 8 9 10 15 +0 4 7 8 9 11 12 +0 4 7 8 9 11 13 +0 4 7 8 9 11 14 +0 4 7 8 9 11 15 +0 4 7 8 9 12 13 +0 4 7 8 9 12 14 +0 4 7 8 9 12 15 +0 4 7 8 9 13 14 +0 4 7 8 9 13 15 +0 4 7 8 9 14 15 +0 4 7 8 10 11 12 +0 4 7 8 10 11 13 +0 4 7 8 10 11 14 +0 4 7 8 10 11 15 +0 4 7 8 10 12 13 +0 4 7 8 10 12 14 +0 4 7 8 10 12 15 +0 4 7 8 10 13 14 +0 4 7 8 10 13 15 +0 4 7 8 10 14 15 +0 4 7 8 11 12 13 +0 4 7 8 11 12 14 +0 4 7 8 11 12 15 +0 4 7 8 11 13 14 +0 4 7 8 11 13 15 +0 4 7 8 11 14 15 +0 4 7 8 12 13 14 +0 4 7 8 12 13 15 +0 4 7 8 12 14 15 +0 4 7 8 13 14 15 +0 4 7 9 10 11 12 +0 4 7 9 10 11 13 +0 4 7 9 10 11 14 +0 4 7 9 10 11 15 +0 4 7 9 10 12 13 +0 4 7 9 10 12 14 +0 4 7 9 10 12 15 +0 4 7 9 10 13 14 +0 4 7 9 10 13 15 +0 4 7 9 10 14 15 +0 4 7 9 11 12 13 +0 4 7 9 11 12 14 +0 4 7 9 11 12 15 +0 4 7 9 11 13 14 +0 4 7 9 11 13 15 +0 4 7 9 11 14 15 +0 4 7 9 12 13 14 +0 4 7 9 12 13 15 +0 4 7 9 12 14 15 +0 4 7 9 13 14 15 +0 4 7 10 11 12 13 +0 4 7 10 11 12 14 +0 4 7 10 11 12 15 +0 4 7 10 11 13 14 +0 4 7 10 11 13 15 +0 4 7 10 11 14 15 +0 4 7 10 12 13 14 +0 4 7 10 12 13 15 +0 4 7 10 12 14 15 +0 4 7 10 13 14 15 +0 4 7 11 12 13 14 +0 4 7 11 12 13 15 +0 4 7 11 12 14 15 +0 4 7 11 13 14 15 +0 4 7 12 13 14 15 +0 4 8 9 10 11 12 +0 4 8 9 10 11 13 +0 4 8 9 10 11 14 +0 4 8 9 10 11 15 +0 4 8 9 10 12 13 +0 4 8 9 10 12 14 +0 4 8 9 10 12 15 +0 4 8 9 10 13 14 +0 4 8 9 10 13 15 +0 4 8 9 10 14 15 +0 4 8 9 11 12 13 +0 4 8 9 11 12 14 +0 4 8 9 11 12 15 +0 4 8 9 11 13 14 +0 4 8 9 11 13 15 +0 4 8 9 11 14 15 +0 4 8 9 12 13 14 +0 4 8 9 12 13 15 +0 4 8 9 12 14 15 +0 4 8 9 13 14 15 +0 4 8 10 11 12 13 +0 4 8 10 11 12 14 +0 4 8 10 11 12 15 +0 4 8 10 11 13 14 +0 4 8 10 11 13 15 +0 4 8 10 11 14 15 +0 4 8 10 12 13 14 +0 4 8 10 12 13 15 +0 4 8 10 12 14 15 +0 4 8 10 13 14 15 +0 4 8 11 12 13 14 +0 4 8 11 12 13 15 +0 4 8 11 12 14 15 +0 4 8 11 13 14 15 +0 4 8 12 13 14 15 +0 4 9 10 11 12 13 +0 4 9 10 11 12 14 +0 4 9 10 11 12 15 +0 4 9 10 11 13 14 +0 4 9 10 11 13 15 +0 4 9 10 11 14 15 +0 4 9 10 12 13 14 +0 4 9 10 12 13 15 +0 4 9 10 12 14 15 +0 4 9 10 13 14 15 +0 4 9 11 12 13 14 +0 4 9 11 12 13 15 +0 4 9 11 12 14 15 +0 4 9 11 13 14 15 +0 4 9 12 13 14 15 +0 4 10 11 12 13 14 +0 4 10 11 12 13 15 +0 4 10 11 12 14 15 +0 4 10 11 13 14 15 +0 4 10 12 13 14 15 +0 4 11 12 13 14 15 +0 5 6 7 8 9 10 +0 5 6 7 8 9 11 +0 5 6 7 8 9 12 +0 5 6 7 8 9 13 +0 5 6 7 8 9 14 +0 5 6 7 8 9 15 +0 5 6 7 8 10 11 +0 5 6 7 8 10 12 +0 5 6 7 8 10 13 +0 5 6 7 8 10 14 +0 5 6 7 8 10 15 +0 5 6 7 8 11 12 +0 5 6 7 8 11 13 +0 5 6 7 8 11 14 +0 5 6 7 8 11 15 +0 5 6 7 8 12 13 +0 5 6 7 8 12 14 +0 5 6 7 8 12 15 +0 5 6 7 8 13 14 +0 5 6 7 8 13 15 +0 5 6 7 8 14 15 +0 5 6 7 9 10 11 +0 5 6 7 9 10 12 +0 5 6 7 9 10 13 +0 5 6 7 9 10 14 +0 5 6 7 9 10 15 +0 5 6 7 9 11 12 +0 5 6 7 9 11 13 +0 5 6 7 9 11 14 +0 5 6 7 9 11 15 +0 5 6 7 9 12 13 +0 5 6 7 9 12 14 +0 5 6 7 9 12 15 +0 5 6 7 9 13 14 +0 5 6 7 9 13 15 +0 5 6 7 9 14 15 +0 5 6 7 10 11 12 +0 5 6 7 10 11 13 +0 5 6 7 10 11 14 +0 5 6 7 10 11 15 +0 5 6 7 10 12 13 +0 5 6 7 10 12 14 +0 5 6 7 10 12 15 +0 5 6 7 10 13 14 +0 5 6 7 10 13 15 +0 5 6 7 10 14 15 +0 5 6 7 11 12 13 +0 5 6 7 11 12 14 +0 5 6 7 11 12 15 +0 5 6 7 11 13 14 +0 5 6 7 11 13 15 +0 5 6 7 11 14 15 +0 5 6 7 12 13 14 +0 5 6 7 12 13 15 +0 5 6 7 12 14 15 +0 5 6 7 13 14 15 +0 5 6 8 9 10 11 +0 5 6 8 9 10 12 +0 5 6 8 9 10 13 +0 5 6 8 9 10 14 +0 5 6 8 9 10 15 +0 5 6 8 9 11 12 +0 5 6 8 9 11 13 +0 5 6 8 9 11 14 +0 5 6 8 9 11 15 +0 5 6 8 9 12 13 +0 5 6 8 9 12 14 +0 5 6 8 9 12 15 +0 5 6 8 9 13 14 +0 5 6 8 9 13 15 +0 5 6 8 9 14 15 +0 5 6 8 10 11 12 +0 5 6 8 10 11 13 +0 5 6 8 10 11 14 +0 5 6 8 10 11 15 +0 5 6 8 10 12 13 +0 5 6 8 10 12 14 +0 5 6 8 10 12 15 +0 5 6 8 10 13 14 +0 5 6 8 10 13 15 +0 5 6 8 10 14 15 +0 5 6 8 11 12 13 +0 5 6 8 11 12 14 +0 5 6 8 11 12 15 +0 5 6 8 11 13 14 +0 5 6 8 11 13 15 +0 5 6 8 11 14 15 +0 5 6 8 12 13 14 +0 5 6 8 12 13 15 +0 5 6 8 12 14 15 +0 5 6 8 13 14 15 +0 5 6 9 10 11 12 +0 5 6 9 10 11 13 +0 5 6 9 10 11 14 +0 5 6 9 10 11 15 +0 5 6 9 10 12 13 +0 5 6 9 10 12 14 +0 5 6 9 10 12 15 +0 5 6 9 10 13 14 +0 5 6 9 10 13 15 +0 5 6 9 10 14 15 +0 5 6 9 11 12 13 +0 5 6 9 11 12 14 +0 5 6 9 11 12 15 +0 5 6 9 11 13 14 +0 5 6 9 11 13 15 +0 5 6 9 11 14 15 +0 5 6 9 12 13 14 +0 5 6 9 12 13 15 +0 5 6 9 12 14 15 +0 5 6 9 13 14 15 +0 5 6 10 11 12 13 +0 5 6 10 11 12 14 +0 5 6 10 11 12 15 +0 5 6 10 11 13 14 +0 5 6 10 11 13 15 +0 5 6 10 11 14 15 +0 5 6 10 12 13 14 +0 5 6 10 12 13 15 +0 5 6 10 12 14 15 +0 5 6 10 13 14 15 +0 5 6 11 12 13 14 +0 5 6 11 12 13 15 +0 5 6 11 12 14 15 +0 5 6 11 13 14 15 +0 5 6 12 13 14 15 +0 5 7 8 9 10 11 +0 5 7 8 9 10 12 +0 5 7 8 9 10 13 +0 5 7 8 9 10 14 +0 5 7 8 9 10 15 +0 5 7 8 9 11 12 +0 5 7 8 9 11 13 +0 5 7 8 9 11 14 +0 5 7 8 9 11 15 +0 5 7 8 9 12 13 +0 5 7 8 9 12 14 +0 5 7 8 9 12 15 +0 5 7 8 9 13 14 +0 5 7 8 9 13 15 +0 5 7 8 9 14 15 +0 5 7 8 10 11 12 +0 5 7 8 10 11 13 +0 5 7 8 10 11 14 +0 5 7 8 10 11 15 +0 5 7 8 10 12 13 +0 5 7 8 10 12 14 +0 5 7 8 10 12 15 +0 5 7 8 10 13 14 +0 5 7 8 10 13 15 +0 5 7 8 10 14 15 +0 5 7 8 11 12 13 +0 5 7 8 11 12 14 +0 5 7 8 11 12 15 +0 5 7 8 11 13 14 +0 5 7 8 11 13 15 +0 5 7 8 11 14 15 +0 5 7 8 12 13 14 +0 5 7 8 12 13 15 +0 5 7 8 12 14 15 +0 5 7 8 13 14 15 +0 5 7 9 10 11 12 +0 5 7 9 10 11 13 +0 5 7 9 10 11 14 +0 5 7 9 10 11 15 +0 5 7 9 10 12 13 +0 5 7 9 10 12 14 +0 5 7 9 10 12 15 +0 5 7 9 10 13 14 +0 5 7 9 10 13 15 +0 5 7 9 10 14 15 +0 5 7 9 11 12 13 +0 5 7 9 11 12 14 +0 5 7 9 11 12 15 +0 5 7 9 11 13 14 +0 5 7 9 11 13 15 +0 5 7 9 11 14 15 +0 5 7 9 12 13 14 +0 5 7 9 12 13 15 +0 5 7 9 12 14 15 +0 5 7 9 13 14 15 +0 5 7 10 11 12 13 +0 5 7 10 11 12 14 +0 5 7 10 11 12 15 +0 5 7 10 11 13 14 +0 5 7 10 11 13 15 +0 5 7 10 11 14 15 +0 5 7 10 12 13 14 +0 5 7 10 12 13 15 +0 5 7 10 12 14 15 +0 5 7 10 13 14 15 +0 5 7 11 12 13 14 +0 5 7 11 12 13 15 +0 5 7 11 12 14 15 +0 5 7 11 13 14 15 +0 5 7 12 13 14 15 +0 5 8 9 10 11 12 +0 5 8 9 10 11 13 +0 5 8 9 10 11 14 +0 5 8 9 10 11 15 +0 5 8 9 10 12 13 +0 5 8 9 10 12 14 +0 5 8 9 10 12 15 +0 5 8 9 10 13 14 +0 5 8 9 10 13 15 +0 5 8 9 10 14 15 +0 5 8 9 11 12 13 +0 5 8 9 11 12 14 +0 5 8 9 11 12 15 +0 5 8 9 11 13 14 +0 5 8 9 11 13 15 +0 5 8 9 11 14 15 +0 5 8 9 12 13 14 +0 5 8 9 12 13 15 +0 5 8 9 12 14 15 +0 5 8 9 13 14 15 +0 5 8 10 11 12 13 +0 5 8 10 11 12 14 +0 5 8 10 11 12 15 +0 5 8 10 11 13 14 +0 5 8 10 11 13 15 +0 5 8 10 11 14 15 +0 5 8 10 12 13 14 +0 5 8 10 12 13 15 +0 5 8 10 12 14 15 +0 5 8 10 13 14 15 +0 5 8 11 12 13 14 +0 5 8 11 12 13 15 +0 5 8 11 12 14 15 +0 5 8 11 13 14 15 +0 5 8 12 13 14 15 +0 5 9 10 11 12 13 +0 5 9 10 11 12 14 +0 5 9 10 11 12 15 +0 5 9 10 11 13 14 +0 5 9 10 11 13 15 +0 5 9 10 11 14 15 +0 5 9 10 12 13 14 +0 5 9 10 12 13 15 +0 5 9 10 12 14 15 +0 5 9 10 13 14 15 +0 5 9 11 12 13 14 +0 5 9 11 12 13 15 +0 5 9 11 12 14 15 +0 5 9 11 13 14 15 +0 5 9 12 13 14 15 +0 5 10 11 12 13 14 +0 5 10 11 12 13 15 +0 5 10 11 12 14 15 +0 5 10 11 13 14 15 +0 5 10 12 13 14 15 +0 5 11 12 13 14 15 +0 6 7 8 9 10 11 +0 6 7 8 9 10 12 +0 6 7 8 9 10 13 +0 6 7 8 9 10 14 +0 6 7 8 9 10 15 +0 6 7 8 9 11 12 +0 6 7 8 9 11 13 +0 6 7 8 9 11 14 +0 6 7 8 9 11 15 +0 6 7 8 9 12 13 +0 6 7 8 9 12 14 +0 6 7 8 9 12 15 +0 6 7 8 9 13 14 +0 6 7 8 9 13 15 +0 6 7 8 9 14 15 +0 6 7 8 10 11 12 +0 6 7 8 10 11 13 +0 6 7 8 10 11 14 +0 6 7 8 10 11 15 +0 6 7 8 10 12 13 +0 6 7 8 10 12 14 +0 6 7 8 10 12 15 +0 6 7 8 10 13 14 +0 6 7 8 10 13 15 +0 6 7 8 10 14 15 +0 6 7 8 11 12 13 +0 6 7 8 11 12 14 +0 6 7 8 11 12 15 +0 6 7 8 11 13 14 +0 6 7 8 11 13 15 +0 6 7 8 11 14 15 +0 6 7 8 12 13 14 +0 6 7 8 12 13 15 +0 6 7 8 12 14 15 +0 6 7 8 13 14 15 +0 6 7 9 10 11 12 +0 6 7 9 10 11 13 +0 6 7 9 10 11 14 +0 6 7 9 10 11 15 +0 6 7 9 10 12 13 +0 6 7 9 10 12 14 +0 6 7 9 10 12 15 +0 6 7 9 10 13 14 +0 6 7 9 10 13 15 +0 6 7 9 10 14 15 +0 6 7 9 11 12 13 +0 6 7 9 11 12 14 +0 6 7 9 11 12 15 +0 6 7 9 11 13 14 +0 6 7 9 11 13 15 +0 6 7 9 11 14 15 +0 6 7 9 12 13 14 +0 6 7 9 12 13 15 +0 6 7 9 12 14 15 +0 6 7 9 13 14 15 +0 6 7 10 11 12 13 +0 6 7 10 11 12 14 +0 6 7 10 11 12 15 +0 6 7 10 11 13 14 +0 6 7 10 11 13 15 +0 6 7 10 11 14 15 +0 6 7 10 12 13 14 +0 6 7 10 12 13 15 +0 6 7 10 12 14 15 +0 6 7 10 13 14 15 +0 6 7 11 12 13 14 +0 6 7 11 12 13 15 +0 6 7 11 12 14 15 +0 6 7 11 13 14 15 +0 6 7 12 13 14 15 +0 6 8 9 10 11 12 +0 6 8 9 10 11 13 +0 6 8 9 10 11 14 +0 6 8 9 10 11 15 +0 6 8 9 10 12 13 +0 6 8 9 10 12 14 +0 6 8 9 10 12 15 +0 6 8 9 10 13 14 +0 6 8 9 10 13 15 +0 6 8 9 10 14 15 +0 6 8 9 11 12 13 +0 6 8 9 11 12 14 +0 6 8 9 11 12 15 +0 6 8 9 11 13 14 +0 6 8 9 11 13 15 +0 6 8 9 11 14 15 +0 6 8 9 12 13 14 +0 6 8 9 12 13 15 +0 6 8 9 12 14 15 +0 6 8 9 13 14 15 +0 6 8 10 11 12 13 +0 6 8 10 11 12 14 +0 6 8 10 11 12 15 +0 6 8 10 11 13 14 +0 6 8 10 11 13 15 +0 6 8 10 11 14 15 +0 6 8 10 12 13 14 +0 6 8 10 12 13 15 +0 6 8 10 12 14 15 +0 6 8 10 13 14 15 +0 6 8 11 12 13 14 +0 6 8 11 12 13 15 +0 6 8 11 12 14 15 +0 6 8 11 13 14 15 +0 6 8 12 13 14 15 +0 6 9 10 11 12 13 +0 6 9 10 11 12 14 +0 6 9 10 11 12 15 +0 6 9 10 11 13 14 +0 6 9 10 11 13 15 +0 6 9 10 11 14 15 +0 6 9 10 12 13 14 +0 6 9 10 12 13 15 +0 6 9 10 12 14 15 +0 6 9 10 13 14 15 +0 6 9 11 12 13 14 +0 6 9 11 12 13 15 +0 6 9 11 12 14 15 +0 6 9 11 13 14 15 +0 6 9 12 13 14 15 +0 6 10 11 12 13 14 +0 6 10 11 12 13 15 +0 6 10 11 12 14 15 +0 6 10 11 13 14 15 +0 6 10 12 13 14 15 +0 6 11 12 13 14 15 +0 7 8 9 10 11 12 +0 7 8 9 10 11 13 +0 7 8 9 10 11 14 +0 7 8 9 10 11 15 +0 7 8 9 10 12 13 +0 7 8 9 10 12 14 +0 7 8 9 10 12 15 +0 7 8 9 10 13 14 +0 7 8 9 10 13 15 +0 7 8 9 10 14 15 +0 7 8 9 11 12 13 +0 7 8 9 11 12 14 +0 7 8 9 11 12 15 +0 7 8 9 11 13 14 +0 7 8 9 11 13 15 +0 7 8 9 11 14 15 +0 7 8 9 12 13 14 +0 7 8 9 12 13 15 +0 7 8 9 12 14 15 +0 7 8 9 13 14 15 +0 7 8 10 11 12 13 +0 7 8 10 11 12 14 +0 7 8 10 11 12 15 +0 7 8 10 11 13 14 +0 7 8 10 11 13 15 +0 7 8 10 11 14 15 +0 7 8 10 12 13 14 +0 7 8 10 12 13 15 +0 7 8 10 12 14 15 +0 7 8 10 13 14 15 +0 7 8 11 12 13 14 +0 7 8 11 12 13 15 +0 7 8 11 12 14 15 +0 7 8 11 13 14 15 +0 7 8 12 13 14 15 +0 7 9 10 11 12 13 +0 7 9 10 11 12 14 +0 7 9 10 11 12 15 +0 7 9 10 11 13 14 +0 7 9 10 11 13 15 +0 7 9 10 11 14 15 +0 7 9 10 12 13 14 +0 7 9 10 12 13 15 +0 7 9 10 12 14 15 +0 7 9 10 13 14 15 +0 7 9 11 12 13 14 +0 7 9 11 12 13 15 +0 7 9 11 12 14 15 +0 7 9 11 13 14 15 +0 7 9 12 13 14 15 +0 7 10 11 12 13 14 +0 7 10 11 12 13 15 +0 7 10 11 12 14 15 +0 7 10 11 13 14 15 +0 7 10 12 13 14 15 +0 7 11 12 13 14 15 +0 8 9 10 11 12 13 +0 8 9 10 11 12 14 +0 8 9 10 11 12 15 +0 8 9 10 11 13 14 +0 8 9 10 11 13 15 +0 8 9 10 11 14 15 +0 8 9 10 12 13 14 +0 8 9 10 12 13 15 +0 8 9 10 12 14 15 +0 8 9 10 13 14 15 +0 8 9 11 12 13 14 +0 8 9 11 12 13 15 +0 8 9 11 12 14 15 +0 8 9 11 13 14 15 +0 8 9 12 13 14 15 +0 8 10 11 12 13 14 +0 8 10 11 12 13 15 +0 8 10 11 12 14 15 +0 8 10 11 13 14 15 +0 8 10 12 13 14 15 +0 8 11 12 13 14 15 +0 9 10 11 12 13 14 +0 9 10 11 12 13 15 +0 9 10 11 12 14 15 +0 9 10 11 13 14 15 +0 9 10 12 13 14 15 +0 9 11 12 13 14 15 +0 10 11 12 13 14 15 +1 2 3 4 5 6 7 +1 2 3 4 5 6 8 +1 2 3 4 5 6 9 +1 2 3 4 5 6 10 +1 2 3 4 5 6 11 +1 2 3 4 5 6 12 +1 2 3 4 5 6 13 +1 2 3 4 5 6 14 +1 2 3 4 5 6 15 +1 2 3 4 5 7 8 +1 2 3 4 5 7 9 +1 2 3 4 5 7 10 +1 2 3 4 5 7 11 +1 2 3 4 5 7 12 +1 2 3 4 5 7 13 +1 2 3 4 5 7 14 +1 2 3 4 5 7 15 +1 2 3 4 5 8 9 +1 2 3 4 5 8 10 +1 2 3 4 5 8 11 +1 2 3 4 5 8 12 +1 2 3 4 5 8 13 +1 2 3 4 5 8 14 +1 2 3 4 5 8 15 +1 2 3 4 5 9 10 +1 2 3 4 5 9 11 +1 2 3 4 5 9 12 +1 2 3 4 5 9 13 +1 2 3 4 5 9 14 +1 2 3 4 5 9 15 +1 2 3 4 5 10 11 +1 2 3 4 5 10 12 +1 2 3 4 5 10 13 +1 2 3 4 5 10 14 +1 2 3 4 5 10 15 +1 2 3 4 5 11 12 +1 2 3 4 5 11 13 +1 2 3 4 5 11 14 +1 2 3 4 5 11 15 +1 2 3 4 5 12 13 +1 2 3 4 5 12 14 +1 2 3 4 5 12 15 +1 2 3 4 5 13 14 +1 2 3 4 5 13 15 +1 2 3 4 5 14 15 +1 2 3 4 6 7 8 +1 2 3 4 6 7 9 +1 2 3 4 6 7 10 +1 2 3 4 6 7 11 +1 2 3 4 6 7 12 +1 2 3 4 6 7 13 +1 2 3 4 6 7 14 +1 2 3 4 6 7 15 +1 2 3 4 6 8 9 +1 2 3 4 6 8 10 +1 2 3 4 6 8 11 +1 2 3 4 6 8 12 +1 2 3 4 6 8 13 +1 2 3 4 6 8 14 +1 2 3 4 6 8 15 +1 2 3 4 6 9 10 +1 2 3 4 6 9 11 +1 2 3 4 6 9 12 +1 2 3 4 6 9 13 +1 2 3 4 6 9 14 +1 2 3 4 6 9 15 +1 2 3 4 6 10 11 +1 2 3 4 6 10 12 +1 2 3 4 6 10 13 +1 2 3 4 6 10 14 +1 2 3 4 6 10 15 +1 2 3 4 6 11 12 +1 2 3 4 6 11 13 +1 2 3 4 6 11 14 +1 2 3 4 6 11 15 +1 2 3 4 6 12 13 +1 2 3 4 6 12 14 +1 2 3 4 6 12 15 +1 2 3 4 6 13 14 +1 2 3 4 6 13 15 +1 2 3 4 6 14 15 +1 2 3 4 7 8 9 +1 2 3 4 7 8 10 +1 2 3 4 7 8 11 +1 2 3 4 7 8 12 +1 2 3 4 7 8 13 +1 2 3 4 7 8 14 +1 2 3 4 7 8 15 +1 2 3 4 7 9 10 +1 2 3 4 7 9 11 +1 2 3 4 7 9 12 +1 2 3 4 7 9 13 +1 2 3 4 7 9 14 +1 2 3 4 7 9 15 +1 2 3 4 7 10 11 +1 2 3 4 7 10 12 +1 2 3 4 7 10 13 +1 2 3 4 7 10 14 +1 2 3 4 7 10 15 +1 2 3 4 7 11 12 +1 2 3 4 7 11 13 +1 2 3 4 7 11 14 +1 2 3 4 7 11 15 +1 2 3 4 7 12 13 +1 2 3 4 7 12 14 +1 2 3 4 7 12 15 +1 2 3 4 7 13 14 +1 2 3 4 7 13 15 +1 2 3 4 7 14 15 +1 2 3 4 8 9 10 +1 2 3 4 8 9 11 +1 2 3 4 8 9 12 +1 2 3 4 8 9 13 +1 2 3 4 8 9 14 +1 2 3 4 8 9 15 +1 2 3 4 8 10 11 +1 2 3 4 8 10 12 +1 2 3 4 8 10 13 +1 2 3 4 8 10 14 +1 2 3 4 8 10 15 +1 2 3 4 8 11 12 +1 2 3 4 8 11 13 +1 2 3 4 8 11 14 +1 2 3 4 8 11 15 +1 2 3 4 8 12 13 +1 2 3 4 8 12 14 +1 2 3 4 8 12 15 +1 2 3 4 8 13 14 +1 2 3 4 8 13 15 +1 2 3 4 8 14 15 +1 2 3 4 9 10 11 +1 2 3 4 9 10 12 +1 2 3 4 9 10 13 +1 2 3 4 9 10 14 +1 2 3 4 9 10 15 +1 2 3 4 9 11 12 +1 2 3 4 9 11 13 +1 2 3 4 9 11 14 +1 2 3 4 9 11 15 +1 2 3 4 9 12 13 +1 2 3 4 9 12 14 +1 2 3 4 9 12 15 +1 2 3 4 9 13 14 +1 2 3 4 9 13 15 +1 2 3 4 9 14 15 +1 2 3 4 10 11 12 +1 2 3 4 10 11 13 +1 2 3 4 10 11 14 +1 2 3 4 10 11 15 +1 2 3 4 10 12 13 +1 2 3 4 10 12 14 +1 2 3 4 10 12 15 +1 2 3 4 10 13 14 +1 2 3 4 10 13 15 +1 2 3 4 10 14 15 +1 2 3 4 11 12 13 +1 2 3 4 11 12 14 +1 2 3 4 11 12 15 +1 2 3 4 11 13 14 +1 2 3 4 11 13 15 +1 2 3 4 11 14 15 +1 2 3 4 12 13 14 +1 2 3 4 12 13 15 +1 2 3 4 12 14 15 +1 2 3 4 13 14 15 +1 2 3 5 6 7 8 +1 2 3 5 6 7 9 +1 2 3 5 6 7 10 +1 2 3 5 6 7 11 +1 2 3 5 6 7 12 +1 2 3 5 6 7 13 +1 2 3 5 6 7 14 +1 2 3 5 6 7 15 +1 2 3 5 6 8 9 +1 2 3 5 6 8 10 +1 2 3 5 6 8 11 +1 2 3 5 6 8 12 +1 2 3 5 6 8 13 +1 2 3 5 6 8 14 +1 2 3 5 6 8 15 +1 2 3 5 6 9 10 +1 2 3 5 6 9 11 +1 2 3 5 6 9 12 +1 2 3 5 6 9 13 +1 2 3 5 6 9 14 +1 2 3 5 6 9 15 +1 2 3 5 6 10 11 +1 2 3 5 6 10 12 +1 2 3 5 6 10 13 +1 2 3 5 6 10 14 +1 2 3 5 6 10 15 +1 2 3 5 6 11 12 +1 2 3 5 6 11 13 +1 2 3 5 6 11 14 +1 2 3 5 6 11 15 +1 2 3 5 6 12 13 +1 2 3 5 6 12 14 +1 2 3 5 6 12 15 +1 2 3 5 6 13 14 +1 2 3 5 6 13 15 +1 2 3 5 6 14 15 +1 2 3 5 7 8 9 +1 2 3 5 7 8 10 +1 2 3 5 7 8 11 +1 2 3 5 7 8 12 +1 2 3 5 7 8 13 +1 2 3 5 7 8 14 +1 2 3 5 7 8 15 +1 2 3 5 7 9 10 +1 2 3 5 7 9 11 +1 2 3 5 7 9 12 +1 2 3 5 7 9 13 +1 2 3 5 7 9 14 +1 2 3 5 7 9 15 +1 2 3 5 7 10 11 +1 2 3 5 7 10 12 +1 2 3 5 7 10 13 +1 2 3 5 7 10 14 +1 2 3 5 7 10 15 +1 2 3 5 7 11 12 +1 2 3 5 7 11 13 +1 2 3 5 7 11 14 +1 2 3 5 7 11 15 +1 2 3 5 7 12 13 +1 2 3 5 7 12 14 +1 2 3 5 7 12 15 +1 2 3 5 7 13 14 +1 2 3 5 7 13 15 +1 2 3 5 7 14 15 +1 2 3 5 8 9 10 +1 2 3 5 8 9 11 +1 2 3 5 8 9 12 +1 2 3 5 8 9 13 +1 2 3 5 8 9 14 +1 2 3 5 8 9 15 +1 2 3 5 8 10 11 +1 2 3 5 8 10 12 +1 2 3 5 8 10 13 +1 2 3 5 8 10 14 +1 2 3 5 8 10 15 +1 2 3 5 8 11 12 +1 2 3 5 8 11 13 +1 2 3 5 8 11 14 +1 2 3 5 8 11 15 +1 2 3 5 8 12 13 +1 2 3 5 8 12 14 +1 2 3 5 8 12 15 +1 2 3 5 8 13 14 +1 2 3 5 8 13 15 +1 2 3 5 8 14 15 +1 2 3 5 9 10 11 +1 2 3 5 9 10 12 +1 2 3 5 9 10 13 +1 2 3 5 9 10 14 +1 2 3 5 9 10 15 +1 2 3 5 9 11 12 +1 2 3 5 9 11 13 +1 2 3 5 9 11 14 +1 2 3 5 9 11 15 +1 2 3 5 9 12 13 +1 2 3 5 9 12 14 +1 2 3 5 9 12 15 +1 2 3 5 9 13 14 +1 2 3 5 9 13 15 +1 2 3 5 9 14 15 +1 2 3 5 10 11 12 +1 2 3 5 10 11 13 +1 2 3 5 10 11 14 +1 2 3 5 10 11 15 +1 2 3 5 10 12 13 +1 2 3 5 10 12 14 +1 2 3 5 10 12 15 +1 2 3 5 10 13 14 +1 2 3 5 10 13 15 +1 2 3 5 10 14 15 +1 2 3 5 11 12 13 +1 2 3 5 11 12 14 +1 2 3 5 11 12 15 +1 2 3 5 11 13 14 +1 2 3 5 11 13 15 +1 2 3 5 11 14 15 +1 2 3 5 12 13 14 +1 2 3 5 12 13 15 +1 2 3 5 12 14 15 +1 2 3 5 13 14 15 +1 2 3 6 7 8 9 +1 2 3 6 7 8 10 +1 2 3 6 7 8 11 +1 2 3 6 7 8 12 +1 2 3 6 7 8 13 +1 2 3 6 7 8 14 +1 2 3 6 7 8 15 +1 2 3 6 7 9 10 +1 2 3 6 7 9 11 +1 2 3 6 7 9 12 +1 2 3 6 7 9 13 +1 2 3 6 7 9 14 +1 2 3 6 7 9 15 +1 2 3 6 7 10 11 +1 2 3 6 7 10 12 +1 2 3 6 7 10 13 +1 2 3 6 7 10 14 +1 2 3 6 7 10 15 +1 2 3 6 7 11 12 +1 2 3 6 7 11 13 +1 2 3 6 7 11 14 +1 2 3 6 7 11 15 +1 2 3 6 7 12 13 +1 2 3 6 7 12 14 +1 2 3 6 7 12 15 +1 2 3 6 7 13 14 +1 2 3 6 7 13 15 +1 2 3 6 7 14 15 +1 2 3 6 8 9 10 +1 2 3 6 8 9 11 +1 2 3 6 8 9 12 +1 2 3 6 8 9 13 +1 2 3 6 8 9 14 +1 2 3 6 8 9 15 +1 2 3 6 8 10 11 +1 2 3 6 8 10 12 +1 2 3 6 8 10 13 +1 2 3 6 8 10 14 +1 2 3 6 8 10 15 +1 2 3 6 8 11 12 +1 2 3 6 8 11 13 +1 2 3 6 8 11 14 +1 2 3 6 8 11 15 +1 2 3 6 8 12 13 +1 2 3 6 8 12 14 +1 2 3 6 8 12 15 +1 2 3 6 8 13 14 +1 2 3 6 8 13 15 +1 2 3 6 8 14 15 +1 2 3 6 9 10 11 +1 2 3 6 9 10 12 +1 2 3 6 9 10 13 +1 2 3 6 9 10 14 +1 2 3 6 9 10 15 +1 2 3 6 9 11 12 +1 2 3 6 9 11 13 +1 2 3 6 9 11 14 +1 2 3 6 9 11 15 +1 2 3 6 9 12 13 +1 2 3 6 9 12 14 +1 2 3 6 9 12 15 +1 2 3 6 9 13 14 +1 2 3 6 9 13 15 +1 2 3 6 9 14 15 +1 2 3 6 10 11 12 +1 2 3 6 10 11 13 +1 2 3 6 10 11 14 +1 2 3 6 10 11 15 +1 2 3 6 10 12 13 +1 2 3 6 10 12 14 +1 2 3 6 10 12 15 +1 2 3 6 10 13 14 +1 2 3 6 10 13 15 +1 2 3 6 10 14 15 +1 2 3 6 11 12 13 +1 2 3 6 11 12 14 +1 2 3 6 11 12 15 +1 2 3 6 11 13 14 +1 2 3 6 11 13 15 +1 2 3 6 11 14 15 +1 2 3 6 12 13 14 +1 2 3 6 12 13 15 +1 2 3 6 12 14 15 +1 2 3 6 13 14 15 +1 2 3 7 8 9 10 +1 2 3 7 8 9 11 +1 2 3 7 8 9 12 +1 2 3 7 8 9 13 +1 2 3 7 8 9 14 +1 2 3 7 8 9 15 +1 2 3 7 8 10 11 +1 2 3 7 8 10 12 +1 2 3 7 8 10 13 +1 2 3 7 8 10 14 +1 2 3 7 8 10 15 +1 2 3 7 8 11 12 +1 2 3 7 8 11 13 +1 2 3 7 8 11 14 +1 2 3 7 8 11 15 +1 2 3 7 8 12 13 +1 2 3 7 8 12 14 +1 2 3 7 8 12 15 +1 2 3 7 8 13 14 +1 2 3 7 8 13 15 +1 2 3 7 8 14 15 +1 2 3 7 9 10 11 +1 2 3 7 9 10 12 +1 2 3 7 9 10 13 +1 2 3 7 9 10 14 +1 2 3 7 9 10 15 +1 2 3 7 9 11 12 +1 2 3 7 9 11 13 +1 2 3 7 9 11 14 +1 2 3 7 9 11 15 +1 2 3 7 9 12 13 +1 2 3 7 9 12 14 +1 2 3 7 9 12 15 +1 2 3 7 9 13 14 +1 2 3 7 9 13 15 +1 2 3 7 9 14 15 +1 2 3 7 10 11 12 +1 2 3 7 10 11 13 +1 2 3 7 10 11 14 +1 2 3 7 10 11 15 +1 2 3 7 10 12 13 +1 2 3 7 10 12 14 +1 2 3 7 10 12 15 +1 2 3 7 10 13 14 +1 2 3 7 10 13 15 +1 2 3 7 10 14 15 +1 2 3 7 11 12 13 +1 2 3 7 11 12 14 +1 2 3 7 11 12 15 +1 2 3 7 11 13 14 +1 2 3 7 11 13 15 +1 2 3 7 11 14 15 +1 2 3 7 12 13 14 +1 2 3 7 12 13 15 +1 2 3 7 12 14 15 +1 2 3 7 13 14 15 +1 2 3 8 9 10 11 +1 2 3 8 9 10 12 +1 2 3 8 9 10 13 +1 2 3 8 9 10 14 +1 2 3 8 9 10 15 +1 2 3 8 9 11 12 +1 2 3 8 9 11 13 +1 2 3 8 9 11 14 +1 2 3 8 9 11 15 +1 2 3 8 9 12 13 +1 2 3 8 9 12 14 +1 2 3 8 9 12 15 +1 2 3 8 9 13 14 +1 2 3 8 9 13 15 +1 2 3 8 9 14 15 +1 2 3 8 10 11 12 +1 2 3 8 10 11 13 +1 2 3 8 10 11 14 +1 2 3 8 10 11 15 +1 2 3 8 10 12 13 +1 2 3 8 10 12 14 +1 2 3 8 10 12 15 +1 2 3 8 10 13 14 +1 2 3 8 10 13 15 +1 2 3 8 10 14 15 +1 2 3 8 11 12 13 +1 2 3 8 11 12 14 +1 2 3 8 11 12 15 +1 2 3 8 11 13 14 +1 2 3 8 11 13 15 +1 2 3 8 11 14 15 +1 2 3 8 12 13 14 +1 2 3 8 12 13 15 +1 2 3 8 12 14 15 +1 2 3 8 13 14 15 +1 2 3 9 10 11 12 +1 2 3 9 10 11 13 +1 2 3 9 10 11 14 +1 2 3 9 10 11 15 +1 2 3 9 10 12 13 +1 2 3 9 10 12 14 +1 2 3 9 10 12 15 +1 2 3 9 10 13 14 +1 2 3 9 10 13 15 +1 2 3 9 10 14 15 +1 2 3 9 11 12 13 +1 2 3 9 11 12 14 +1 2 3 9 11 12 15 +1 2 3 9 11 13 14 +1 2 3 9 11 13 15 +1 2 3 9 11 14 15 +1 2 3 9 12 13 14 +1 2 3 9 12 13 15 +1 2 3 9 12 14 15 +1 2 3 9 13 14 15 +1 2 3 10 11 12 13 +1 2 3 10 11 12 14 +1 2 3 10 11 12 15 +1 2 3 10 11 13 14 +1 2 3 10 11 13 15 +1 2 3 10 11 14 15 +1 2 3 10 12 13 14 +1 2 3 10 12 13 15 +1 2 3 10 12 14 15 +1 2 3 10 13 14 15 +1 2 3 11 12 13 14 +1 2 3 11 12 13 15 +1 2 3 11 12 14 15 +1 2 3 11 13 14 15 +1 2 3 12 13 14 15 +1 2 4 5 6 7 8 +1 2 4 5 6 7 9 +1 2 4 5 6 7 10 +1 2 4 5 6 7 11 +1 2 4 5 6 7 12 +1 2 4 5 6 7 13 +1 2 4 5 6 7 14 +1 2 4 5 6 7 15 +1 2 4 5 6 8 9 +1 2 4 5 6 8 10 +1 2 4 5 6 8 11 +1 2 4 5 6 8 12 +1 2 4 5 6 8 13 +1 2 4 5 6 8 14 +1 2 4 5 6 8 15 +1 2 4 5 6 9 10 +1 2 4 5 6 9 11 +1 2 4 5 6 9 12 +1 2 4 5 6 9 13 +1 2 4 5 6 9 14 +1 2 4 5 6 9 15 +1 2 4 5 6 10 11 +1 2 4 5 6 10 12 +1 2 4 5 6 10 13 +1 2 4 5 6 10 14 +1 2 4 5 6 10 15 +1 2 4 5 6 11 12 +1 2 4 5 6 11 13 +1 2 4 5 6 11 14 +1 2 4 5 6 11 15 +1 2 4 5 6 12 13 +1 2 4 5 6 12 14 +1 2 4 5 6 12 15 +1 2 4 5 6 13 14 +1 2 4 5 6 13 15 +1 2 4 5 6 14 15 +1 2 4 5 7 8 9 +1 2 4 5 7 8 10 +1 2 4 5 7 8 11 +1 2 4 5 7 8 12 +1 2 4 5 7 8 13 +1 2 4 5 7 8 14 +1 2 4 5 7 8 15 +1 2 4 5 7 9 10 +1 2 4 5 7 9 11 +1 2 4 5 7 9 12 +1 2 4 5 7 9 13 +1 2 4 5 7 9 14 +1 2 4 5 7 9 15 +1 2 4 5 7 10 11 +1 2 4 5 7 10 12 +1 2 4 5 7 10 13 +1 2 4 5 7 10 14 +1 2 4 5 7 10 15 +1 2 4 5 7 11 12 +1 2 4 5 7 11 13 +1 2 4 5 7 11 14 +1 2 4 5 7 11 15 +1 2 4 5 7 12 13 +1 2 4 5 7 12 14 +1 2 4 5 7 12 15 +1 2 4 5 7 13 14 +1 2 4 5 7 13 15 +1 2 4 5 7 14 15 +1 2 4 5 8 9 10 +1 2 4 5 8 9 11 +1 2 4 5 8 9 12 +1 2 4 5 8 9 13 +1 2 4 5 8 9 14 +1 2 4 5 8 9 15 +1 2 4 5 8 10 11 +1 2 4 5 8 10 12 +1 2 4 5 8 10 13 +1 2 4 5 8 10 14 +1 2 4 5 8 10 15 +1 2 4 5 8 11 12 +1 2 4 5 8 11 13 +1 2 4 5 8 11 14 +1 2 4 5 8 11 15 +1 2 4 5 8 12 13 +1 2 4 5 8 12 14 +1 2 4 5 8 12 15 +1 2 4 5 8 13 14 +1 2 4 5 8 13 15 +1 2 4 5 8 14 15 +1 2 4 5 9 10 11 +1 2 4 5 9 10 12 +1 2 4 5 9 10 13 +1 2 4 5 9 10 14 +1 2 4 5 9 10 15 +1 2 4 5 9 11 12 +1 2 4 5 9 11 13 +1 2 4 5 9 11 14 +1 2 4 5 9 11 15 +1 2 4 5 9 12 13 +1 2 4 5 9 12 14 +1 2 4 5 9 12 15 +1 2 4 5 9 13 14 +1 2 4 5 9 13 15 +1 2 4 5 9 14 15 +1 2 4 5 10 11 12 +1 2 4 5 10 11 13 +1 2 4 5 10 11 14 +1 2 4 5 10 11 15 +1 2 4 5 10 12 13 +1 2 4 5 10 12 14 +1 2 4 5 10 12 15 +1 2 4 5 10 13 14 +1 2 4 5 10 13 15 +1 2 4 5 10 14 15 +1 2 4 5 11 12 13 +1 2 4 5 11 12 14 +1 2 4 5 11 12 15 +1 2 4 5 11 13 14 +1 2 4 5 11 13 15 +1 2 4 5 11 14 15 +1 2 4 5 12 13 14 +1 2 4 5 12 13 15 +1 2 4 5 12 14 15 +1 2 4 5 13 14 15 +1 2 4 6 7 8 9 +1 2 4 6 7 8 10 +1 2 4 6 7 8 11 +1 2 4 6 7 8 12 +1 2 4 6 7 8 13 +1 2 4 6 7 8 14 +1 2 4 6 7 8 15 +1 2 4 6 7 9 10 +1 2 4 6 7 9 11 +1 2 4 6 7 9 12 +1 2 4 6 7 9 13 +1 2 4 6 7 9 14 +1 2 4 6 7 9 15 +1 2 4 6 7 10 11 +1 2 4 6 7 10 12 +1 2 4 6 7 10 13 +1 2 4 6 7 10 14 +1 2 4 6 7 10 15 +1 2 4 6 7 11 12 +1 2 4 6 7 11 13 +1 2 4 6 7 11 14 +1 2 4 6 7 11 15 +1 2 4 6 7 12 13 +1 2 4 6 7 12 14 +1 2 4 6 7 12 15 +1 2 4 6 7 13 14 +1 2 4 6 7 13 15 +1 2 4 6 7 14 15 +1 2 4 6 8 9 10 +1 2 4 6 8 9 11 +1 2 4 6 8 9 12 +1 2 4 6 8 9 13 +1 2 4 6 8 9 14 +1 2 4 6 8 9 15 +1 2 4 6 8 10 11 +1 2 4 6 8 10 12 +1 2 4 6 8 10 13 +1 2 4 6 8 10 14 +1 2 4 6 8 10 15 +1 2 4 6 8 11 12 +1 2 4 6 8 11 13 +1 2 4 6 8 11 14 +1 2 4 6 8 11 15 +1 2 4 6 8 12 13 +1 2 4 6 8 12 14 +1 2 4 6 8 12 15 +1 2 4 6 8 13 14 +1 2 4 6 8 13 15 +1 2 4 6 8 14 15 +1 2 4 6 9 10 11 +1 2 4 6 9 10 12 +1 2 4 6 9 10 13 +1 2 4 6 9 10 14 +1 2 4 6 9 10 15 +1 2 4 6 9 11 12 +1 2 4 6 9 11 13 +1 2 4 6 9 11 14 +1 2 4 6 9 11 15 +1 2 4 6 9 12 13 +1 2 4 6 9 12 14 +1 2 4 6 9 12 15 +1 2 4 6 9 13 14 +1 2 4 6 9 13 15 +1 2 4 6 9 14 15 +1 2 4 6 10 11 12 +1 2 4 6 10 11 13 +1 2 4 6 10 11 14 +1 2 4 6 10 11 15 +1 2 4 6 10 12 13 +1 2 4 6 10 12 14 +1 2 4 6 10 12 15 +1 2 4 6 10 13 14 +1 2 4 6 10 13 15 +1 2 4 6 10 14 15 +1 2 4 6 11 12 13 +1 2 4 6 11 12 14 +1 2 4 6 11 12 15 +1 2 4 6 11 13 14 +1 2 4 6 11 13 15 +1 2 4 6 11 14 15 +1 2 4 6 12 13 14 +1 2 4 6 12 13 15 +1 2 4 6 12 14 15 +1 2 4 6 13 14 15 +1 2 4 7 8 9 10 +1 2 4 7 8 9 11 +1 2 4 7 8 9 12 +1 2 4 7 8 9 13 +1 2 4 7 8 9 14 +1 2 4 7 8 9 15 +1 2 4 7 8 10 11 +1 2 4 7 8 10 12 +1 2 4 7 8 10 13 +1 2 4 7 8 10 14 +1 2 4 7 8 10 15 +1 2 4 7 8 11 12 +1 2 4 7 8 11 13 +1 2 4 7 8 11 14 +1 2 4 7 8 11 15 +1 2 4 7 8 12 13 +1 2 4 7 8 12 14 +1 2 4 7 8 12 15 +1 2 4 7 8 13 14 +1 2 4 7 8 13 15 +1 2 4 7 8 14 15 +1 2 4 7 9 10 11 +1 2 4 7 9 10 12 +1 2 4 7 9 10 13 +1 2 4 7 9 10 14 +1 2 4 7 9 10 15 +1 2 4 7 9 11 12 +1 2 4 7 9 11 13 +1 2 4 7 9 11 14 +1 2 4 7 9 11 15 +1 2 4 7 9 12 13 +1 2 4 7 9 12 14 +1 2 4 7 9 12 15 +1 2 4 7 9 13 14 +1 2 4 7 9 13 15 +1 2 4 7 9 14 15 +1 2 4 7 10 11 12 +1 2 4 7 10 11 13 +1 2 4 7 10 11 14 +1 2 4 7 10 11 15 +1 2 4 7 10 12 13 +1 2 4 7 10 12 14 +1 2 4 7 10 12 15 +1 2 4 7 10 13 14 +1 2 4 7 10 13 15 +1 2 4 7 10 14 15 +1 2 4 7 11 12 13 +1 2 4 7 11 12 14 +1 2 4 7 11 12 15 +1 2 4 7 11 13 14 +1 2 4 7 11 13 15 +1 2 4 7 11 14 15 +1 2 4 7 12 13 14 +1 2 4 7 12 13 15 +1 2 4 7 12 14 15 +1 2 4 7 13 14 15 +1 2 4 8 9 10 11 +1 2 4 8 9 10 12 +1 2 4 8 9 10 13 +1 2 4 8 9 10 14 +1 2 4 8 9 10 15 +1 2 4 8 9 11 12 +1 2 4 8 9 11 13 +1 2 4 8 9 11 14 +1 2 4 8 9 11 15 +1 2 4 8 9 12 13 +1 2 4 8 9 12 14 +1 2 4 8 9 12 15 +1 2 4 8 9 13 14 +1 2 4 8 9 13 15 +1 2 4 8 9 14 15 +1 2 4 8 10 11 12 +1 2 4 8 10 11 13 +1 2 4 8 10 11 14 +1 2 4 8 10 11 15 +1 2 4 8 10 12 13 +1 2 4 8 10 12 14 +1 2 4 8 10 12 15 +1 2 4 8 10 13 14 +1 2 4 8 10 13 15 +1 2 4 8 10 14 15 +1 2 4 8 11 12 13 +1 2 4 8 11 12 14 +1 2 4 8 11 12 15 +1 2 4 8 11 13 14 +1 2 4 8 11 13 15 +1 2 4 8 11 14 15 +1 2 4 8 12 13 14 +1 2 4 8 12 13 15 +1 2 4 8 12 14 15 +1 2 4 8 13 14 15 +1 2 4 9 10 11 12 +1 2 4 9 10 11 13 +1 2 4 9 10 11 14 +1 2 4 9 10 11 15 +1 2 4 9 10 12 13 +1 2 4 9 10 12 14 +1 2 4 9 10 12 15 +1 2 4 9 10 13 14 +1 2 4 9 10 13 15 +1 2 4 9 10 14 15 +1 2 4 9 11 12 13 +1 2 4 9 11 12 14 +1 2 4 9 11 12 15 +1 2 4 9 11 13 14 +1 2 4 9 11 13 15 +1 2 4 9 11 14 15 +1 2 4 9 12 13 14 +1 2 4 9 12 13 15 +1 2 4 9 12 14 15 +1 2 4 9 13 14 15 +1 2 4 10 11 12 13 +1 2 4 10 11 12 14 +1 2 4 10 11 12 15 +1 2 4 10 11 13 14 +1 2 4 10 11 13 15 +1 2 4 10 11 14 15 +1 2 4 10 12 13 14 +1 2 4 10 12 13 15 +1 2 4 10 12 14 15 +1 2 4 10 13 14 15 +1 2 4 11 12 13 14 +1 2 4 11 12 13 15 +1 2 4 11 12 14 15 +1 2 4 11 13 14 15 +1 2 4 12 13 14 15 +1 2 5 6 7 8 9 +1 2 5 6 7 8 10 +1 2 5 6 7 8 11 +1 2 5 6 7 8 12 +1 2 5 6 7 8 13 +1 2 5 6 7 8 14 +1 2 5 6 7 8 15 +1 2 5 6 7 9 10 +1 2 5 6 7 9 11 +1 2 5 6 7 9 12 +1 2 5 6 7 9 13 +1 2 5 6 7 9 14 +1 2 5 6 7 9 15 +1 2 5 6 7 10 11 +1 2 5 6 7 10 12 +1 2 5 6 7 10 13 +1 2 5 6 7 10 14 +1 2 5 6 7 10 15 +1 2 5 6 7 11 12 +1 2 5 6 7 11 13 +1 2 5 6 7 11 14 +1 2 5 6 7 11 15 +1 2 5 6 7 12 13 +1 2 5 6 7 12 14 +1 2 5 6 7 12 15 +1 2 5 6 7 13 14 +1 2 5 6 7 13 15 +1 2 5 6 7 14 15 +1 2 5 6 8 9 10 +1 2 5 6 8 9 11 +1 2 5 6 8 9 12 +1 2 5 6 8 9 13 +1 2 5 6 8 9 14 +1 2 5 6 8 9 15 +1 2 5 6 8 10 11 +1 2 5 6 8 10 12 +1 2 5 6 8 10 13 +1 2 5 6 8 10 14 +1 2 5 6 8 10 15 +1 2 5 6 8 11 12 +1 2 5 6 8 11 13 +1 2 5 6 8 11 14 +1 2 5 6 8 11 15 +1 2 5 6 8 12 13 +1 2 5 6 8 12 14 +1 2 5 6 8 12 15 +1 2 5 6 8 13 14 +1 2 5 6 8 13 15 +1 2 5 6 8 14 15 +1 2 5 6 9 10 11 +1 2 5 6 9 10 12 +1 2 5 6 9 10 13 +1 2 5 6 9 10 14 +1 2 5 6 9 10 15 +1 2 5 6 9 11 12 +1 2 5 6 9 11 13 +1 2 5 6 9 11 14 +1 2 5 6 9 11 15 +1 2 5 6 9 12 13 +1 2 5 6 9 12 14 +1 2 5 6 9 12 15 +1 2 5 6 9 13 14 +1 2 5 6 9 13 15 +1 2 5 6 9 14 15 +1 2 5 6 10 11 12 +1 2 5 6 10 11 13 +1 2 5 6 10 11 14 +1 2 5 6 10 11 15 +1 2 5 6 10 12 13 +1 2 5 6 10 12 14 +1 2 5 6 10 12 15 +1 2 5 6 10 13 14 +1 2 5 6 10 13 15 +1 2 5 6 10 14 15 +1 2 5 6 11 12 13 +1 2 5 6 11 12 14 +1 2 5 6 11 12 15 +1 2 5 6 11 13 14 +1 2 5 6 11 13 15 +1 2 5 6 11 14 15 +1 2 5 6 12 13 14 +1 2 5 6 12 13 15 +1 2 5 6 12 14 15 +1 2 5 6 13 14 15 +1 2 5 7 8 9 10 +1 2 5 7 8 9 11 +1 2 5 7 8 9 12 +1 2 5 7 8 9 13 +1 2 5 7 8 9 14 +1 2 5 7 8 9 15 +1 2 5 7 8 10 11 +1 2 5 7 8 10 12 +1 2 5 7 8 10 13 +1 2 5 7 8 10 14 +1 2 5 7 8 10 15 +1 2 5 7 8 11 12 +1 2 5 7 8 11 13 +1 2 5 7 8 11 14 +1 2 5 7 8 11 15 +1 2 5 7 8 12 13 +1 2 5 7 8 12 14 +1 2 5 7 8 12 15 +1 2 5 7 8 13 14 +1 2 5 7 8 13 15 +1 2 5 7 8 14 15 +1 2 5 7 9 10 11 +1 2 5 7 9 10 12 +1 2 5 7 9 10 13 +1 2 5 7 9 10 14 +1 2 5 7 9 10 15 +1 2 5 7 9 11 12 +1 2 5 7 9 11 13 +1 2 5 7 9 11 14 +1 2 5 7 9 11 15 +1 2 5 7 9 12 13 +1 2 5 7 9 12 14 +1 2 5 7 9 12 15 +1 2 5 7 9 13 14 +1 2 5 7 9 13 15 +1 2 5 7 9 14 15 +1 2 5 7 10 11 12 +1 2 5 7 10 11 13 +1 2 5 7 10 11 14 +1 2 5 7 10 11 15 +1 2 5 7 10 12 13 +1 2 5 7 10 12 14 +1 2 5 7 10 12 15 +1 2 5 7 10 13 14 +1 2 5 7 10 13 15 +1 2 5 7 10 14 15 +1 2 5 7 11 12 13 +1 2 5 7 11 12 14 +1 2 5 7 11 12 15 +1 2 5 7 11 13 14 +1 2 5 7 11 13 15 +1 2 5 7 11 14 15 +1 2 5 7 12 13 14 +1 2 5 7 12 13 15 +1 2 5 7 12 14 15 +1 2 5 7 13 14 15 +1 2 5 8 9 10 11 +1 2 5 8 9 10 12 +1 2 5 8 9 10 13 +1 2 5 8 9 10 14 +1 2 5 8 9 10 15 +1 2 5 8 9 11 12 +1 2 5 8 9 11 13 +1 2 5 8 9 11 14 +1 2 5 8 9 11 15 +1 2 5 8 9 12 13 +1 2 5 8 9 12 14 +1 2 5 8 9 12 15 +1 2 5 8 9 13 14 +1 2 5 8 9 13 15 +1 2 5 8 9 14 15 +1 2 5 8 10 11 12 +1 2 5 8 10 11 13 +1 2 5 8 10 11 14 +1 2 5 8 10 11 15 +1 2 5 8 10 12 13 +1 2 5 8 10 12 14 +1 2 5 8 10 12 15 +1 2 5 8 10 13 14 +1 2 5 8 10 13 15 +1 2 5 8 10 14 15 +1 2 5 8 11 12 13 +1 2 5 8 11 12 14 +1 2 5 8 11 12 15 +1 2 5 8 11 13 14 +1 2 5 8 11 13 15 +1 2 5 8 11 14 15 +1 2 5 8 12 13 14 +1 2 5 8 12 13 15 +1 2 5 8 12 14 15 +1 2 5 8 13 14 15 +1 2 5 9 10 11 12 +1 2 5 9 10 11 13 +1 2 5 9 10 11 14 +1 2 5 9 10 11 15 +1 2 5 9 10 12 13 +1 2 5 9 10 12 14 +1 2 5 9 10 12 15 +1 2 5 9 10 13 14 +1 2 5 9 10 13 15 +1 2 5 9 10 14 15 +1 2 5 9 11 12 13 +1 2 5 9 11 12 14 +1 2 5 9 11 12 15 +1 2 5 9 11 13 14 +1 2 5 9 11 13 15 +1 2 5 9 11 14 15 +1 2 5 9 12 13 14 +1 2 5 9 12 13 15 +1 2 5 9 12 14 15 +1 2 5 9 13 14 15 +1 2 5 10 11 12 13 +1 2 5 10 11 12 14 +1 2 5 10 11 12 15 +1 2 5 10 11 13 14 +1 2 5 10 11 13 15 +1 2 5 10 11 14 15 +1 2 5 10 12 13 14 +1 2 5 10 12 13 15 +1 2 5 10 12 14 15 +1 2 5 10 13 14 15 +1 2 5 11 12 13 14 +1 2 5 11 12 13 15 +1 2 5 11 12 14 15 +1 2 5 11 13 14 15 +1 2 5 12 13 14 15 +1 2 6 7 8 9 10 +1 2 6 7 8 9 11 +1 2 6 7 8 9 12 +1 2 6 7 8 9 13 +1 2 6 7 8 9 14 +1 2 6 7 8 9 15 +1 2 6 7 8 10 11 +1 2 6 7 8 10 12 +1 2 6 7 8 10 13 +1 2 6 7 8 10 14 +1 2 6 7 8 10 15 +1 2 6 7 8 11 12 +1 2 6 7 8 11 13 +1 2 6 7 8 11 14 +1 2 6 7 8 11 15 +1 2 6 7 8 12 13 +1 2 6 7 8 12 14 +1 2 6 7 8 12 15 +1 2 6 7 8 13 14 +1 2 6 7 8 13 15 +1 2 6 7 8 14 15 +1 2 6 7 9 10 11 +1 2 6 7 9 10 12 +1 2 6 7 9 10 13 +1 2 6 7 9 10 14 +1 2 6 7 9 10 15 +1 2 6 7 9 11 12 +1 2 6 7 9 11 13 +1 2 6 7 9 11 14 +1 2 6 7 9 11 15 +1 2 6 7 9 12 13 +1 2 6 7 9 12 14 +1 2 6 7 9 12 15 +1 2 6 7 9 13 14 +1 2 6 7 9 13 15 +1 2 6 7 9 14 15 +1 2 6 7 10 11 12 +1 2 6 7 10 11 13 +1 2 6 7 10 11 14 +1 2 6 7 10 11 15 +1 2 6 7 10 12 13 +1 2 6 7 10 12 14 +1 2 6 7 10 12 15 +1 2 6 7 10 13 14 +1 2 6 7 10 13 15 +1 2 6 7 10 14 15 +1 2 6 7 11 12 13 +1 2 6 7 11 12 14 +1 2 6 7 11 12 15 +1 2 6 7 11 13 14 +1 2 6 7 11 13 15 +1 2 6 7 11 14 15 +1 2 6 7 12 13 14 +1 2 6 7 12 13 15 +1 2 6 7 12 14 15 +1 2 6 7 13 14 15 +1 2 6 8 9 10 11 +1 2 6 8 9 10 12 +1 2 6 8 9 10 13 +1 2 6 8 9 10 14 +1 2 6 8 9 10 15 +1 2 6 8 9 11 12 +1 2 6 8 9 11 13 +1 2 6 8 9 11 14 +1 2 6 8 9 11 15 +1 2 6 8 9 12 13 +1 2 6 8 9 12 14 +1 2 6 8 9 12 15 +1 2 6 8 9 13 14 +1 2 6 8 9 13 15 +1 2 6 8 9 14 15 +1 2 6 8 10 11 12 +1 2 6 8 10 11 13 +1 2 6 8 10 11 14 +1 2 6 8 10 11 15 +1 2 6 8 10 12 13 +1 2 6 8 10 12 14 +1 2 6 8 10 12 15 +1 2 6 8 10 13 14 +1 2 6 8 10 13 15 +1 2 6 8 10 14 15 +1 2 6 8 11 12 13 +1 2 6 8 11 12 14 +1 2 6 8 11 12 15 +1 2 6 8 11 13 14 +1 2 6 8 11 13 15 +1 2 6 8 11 14 15 +1 2 6 8 12 13 14 +1 2 6 8 12 13 15 +1 2 6 8 12 14 15 +1 2 6 8 13 14 15 +1 2 6 9 10 11 12 +1 2 6 9 10 11 13 +1 2 6 9 10 11 14 +1 2 6 9 10 11 15 +1 2 6 9 10 12 13 +1 2 6 9 10 12 14 +1 2 6 9 10 12 15 +1 2 6 9 10 13 14 +1 2 6 9 10 13 15 +1 2 6 9 10 14 15 +1 2 6 9 11 12 13 +1 2 6 9 11 12 14 +1 2 6 9 11 12 15 +1 2 6 9 11 13 14 +1 2 6 9 11 13 15 +1 2 6 9 11 14 15 +1 2 6 9 12 13 14 +1 2 6 9 12 13 15 +1 2 6 9 12 14 15 +1 2 6 9 13 14 15 +1 2 6 10 11 12 13 +1 2 6 10 11 12 14 +1 2 6 10 11 12 15 +1 2 6 10 11 13 14 +1 2 6 10 11 13 15 +1 2 6 10 11 14 15 +1 2 6 10 12 13 14 +1 2 6 10 12 13 15 +1 2 6 10 12 14 15 +1 2 6 10 13 14 15 +1 2 6 11 12 13 14 +1 2 6 11 12 13 15 +1 2 6 11 12 14 15 +1 2 6 11 13 14 15 +1 2 6 12 13 14 15 +1 2 7 8 9 10 11 +1 2 7 8 9 10 12 +1 2 7 8 9 10 13 +1 2 7 8 9 10 14 +1 2 7 8 9 10 15 +1 2 7 8 9 11 12 +1 2 7 8 9 11 13 +1 2 7 8 9 11 14 +1 2 7 8 9 11 15 +1 2 7 8 9 12 13 +1 2 7 8 9 12 14 +1 2 7 8 9 12 15 +1 2 7 8 9 13 14 +1 2 7 8 9 13 15 +1 2 7 8 9 14 15 +1 2 7 8 10 11 12 +1 2 7 8 10 11 13 +1 2 7 8 10 11 14 +1 2 7 8 10 11 15 +1 2 7 8 10 12 13 +1 2 7 8 10 12 14 +1 2 7 8 10 12 15 +1 2 7 8 10 13 14 +1 2 7 8 10 13 15 +1 2 7 8 10 14 15 +1 2 7 8 11 12 13 +1 2 7 8 11 12 14 +1 2 7 8 11 12 15 +1 2 7 8 11 13 14 +1 2 7 8 11 13 15 +1 2 7 8 11 14 15 +1 2 7 8 12 13 14 +1 2 7 8 12 13 15 +1 2 7 8 12 14 15 +1 2 7 8 13 14 15 +1 2 7 9 10 11 12 +1 2 7 9 10 11 13 +1 2 7 9 10 11 14 +1 2 7 9 10 11 15 +1 2 7 9 10 12 13 +1 2 7 9 10 12 14 +1 2 7 9 10 12 15 +1 2 7 9 10 13 14 +1 2 7 9 10 13 15 +1 2 7 9 10 14 15 +1 2 7 9 11 12 13 +1 2 7 9 11 12 14 +1 2 7 9 11 12 15 +1 2 7 9 11 13 14 +1 2 7 9 11 13 15 +1 2 7 9 11 14 15 +1 2 7 9 12 13 14 +1 2 7 9 12 13 15 +1 2 7 9 12 14 15 +1 2 7 9 13 14 15 +1 2 7 10 11 12 13 +1 2 7 10 11 12 14 +1 2 7 10 11 12 15 +1 2 7 10 11 13 14 +1 2 7 10 11 13 15 +1 2 7 10 11 14 15 +1 2 7 10 12 13 14 +1 2 7 10 12 13 15 +1 2 7 10 12 14 15 +1 2 7 10 13 14 15 +1 2 7 11 12 13 14 +1 2 7 11 12 13 15 +1 2 7 11 12 14 15 +1 2 7 11 13 14 15 +1 2 7 12 13 14 15 +1 2 8 9 10 11 12 +1 2 8 9 10 11 13 +1 2 8 9 10 11 14 +1 2 8 9 10 11 15 +1 2 8 9 10 12 13 +1 2 8 9 10 12 14 +1 2 8 9 10 12 15 +1 2 8 9 10 13 14 +1 2 8 9 10 13 15 +1 2 8 9 10 14 15 +1 2 8 9 11 12 13 +1 2 8 9 11 12 14 +1 2 8 9 11 12 15 +1 2 8 9 11 13 14 +1 2 8 9 11 13 15 +1 2 8 9 11 14 15 +1 2 8 9 12 13 14 +1 2 8 9 12 13 15 +1 2 8 9 12 14 15 +1 2 8 9 13 14 15 +1 2 8 10 11 12 13 +1 2 8 10 11 12 14 +1 2 8 10 11 12 15 +1 2 8 10 11 13 14 +1 2 8 10 11 13 15 +1 2 8 10 11 14 15 +1 2 8 10 12 13 14 +1 2 8 10 12 13 15 +1 2 8 10 12 14 15 +1 2 8 10 13 14 15 +1 2 8 11 12 13 14 +1 2 8 11 12 13 15 +1 2 8 11 12 14 15 +1 2 8 11 13 14 15 +1 2 8 12 13 14 15 +1 2 9 10 11 12 13 +1 2 9 10 11 12 14 +1 2 9 10 11 12 15 +1 2 9 10 11 13 14 +1 2 9 10 11 13 15 +1 2 9 10 11 14 15 +1 2 9 10 12 13 14 +1 2 9 10 12 13 15 +1 2 9 10 12 14 15 +1 2 9 10 13 14 15 +1 2 9 11 12 13 14 +1 2 9 11 12 13 15 +1 2 9 11 12 14 15 +1 2 9 11 13 14 15 +1 2 9 12 13 14 15 +1 2 10 11 12 13 14 +1 2 10 11 12 13 15 +1 2 10 11 12 14 15 +1 2 10 11 13 14 15 +1 2 10 12 13 14 15 +1 2 11 12 13 14 15 +1 3 4 5 6 7 8 +1 3 4 5 6 7 9 +1 3 4 5 6 7 10 +1 3 4 5 6 7 11 +1 3 4 5 6 7 12 +1 3 4 5 6 7 13 +1 3 4 5 6 7 14 +1 3 4 5 6 7 15 +1 3 4 5 6 8 9 +1 3 4 5 6 8 10 +1 3 4 5 6 8 11 +1 3 4 5 6 8 12 +1 3 4 5 6 8 13 +1 3 4 5 6 8 14 +1 3 4 5 6 8 15 +1 3 4 5 6 9 10 +1 3 4 5 6 9 11 +1 3 4 5 6 9 12 +1 3 4 5 6 9 13 +1 3 4 5 6 9 14 +1 3 4 5 6 9 15 +1 3 4 5 6 10 11 +1 3 4 5 6 10 12 +1 3 4 5 6 10 13 +1 3 4 5 6 10 14 +1 3 4 5 6 10 15 +1 3 4 5 6 11 12 +1 3 4 5 6 11 13 +1 3 4 5 6 11 14 +1 3 4 5 6 11 15 +1 3 4 5 6 12 13 +1 3 4 5 6 12 14 +1 3 4 5 6 12 15 +1 3 4 5 6 13 14 +1 3 4 5 6 13 15 +1 3 4 5 6 14 15 +1 3 4 5 7 8 9 +1 3 4 5 7 8 10 +1 3 4 5 7 8 11 +1 3 4 5 7 8 12 +1 3 4 5 7 8 13 +1 3 4 5 7 8 14 +1 3 4 5 7 8 15 +1 3 4 5 7 9 10 +1 3 4 5 7 9 11 +1 3 4 5 7 9 12 +1 3 4 5 7 9 13 +1 3 4 5 7 9 14 +1 3 4 5 7 9 15 +1 3 4 5 7 10 11 +1 3 4 5 7 10 12 +1 3 4 5 7 10 13 +1 3 4 5 7 10 14 +1 3 4 5 7 10 15 +1 3 4 5 7 11 12 +1 3 4 5 7 11 13 +1 3 4 5 7 11 14 +1 3 4 5 7 11 15 +1 3 4 5 7 12 13 +1 3 4 5 7 12 14 +1 3 4 5 7 12 15 +1 3 4 5 7 13 14 +1 3 4 5 7 13 15 +1 3 4 5 7 14 15 +1 3 4 5 8 9 10 +1 3 4 5 8 9 11 +1 3 4 5 8 9 12 +1 3 4 5 8 9 13 +1 3 4 5 8 9 14 +1 3 4 5 8 9 15 +1 3 4 5 8 10 11 +1 3 4 5 8 10 12 +1 3 4 5 8 10 13 +1 3 4 5 8 10 14 +1 3 4 5 8 10 15 +1 3 4 5 8 11 12 +1 3 4 5 8 11 13 +1 3 4 5 8 11 14 +1 3 4 5 8 11 15 +1 3 4 5 8 12 13 +1 3 4 5 8 12 14 +1 3 4 5 8 12 15 +1 3 4 5 8 13 14 +1 3 4 5 8 13 15 +1 3 4 5 8 14 15 +1 3 4 5 9 10 11 +1 3 4 5 9 10 12 +1 3 4 5 9 10 13 +1 3 4 5 9 10 14 +1 3 4 5 9 10 15 +1 3 4 5 9 11 12 +1 3 4 5 9 11 13 +1 3 4 5 9 11 14 +1 3 4 5 9 11 15 +1 3 4 5 9 12 13 +1 3 4 5 9 12 14 +1 3 4 5 9 12 15 +1 3 4 5 9 13 14 +1 3 4 5 9 13 15 +1 3 4 5 9 14 15 +1 3 4 5 10 11 12 +1 3 4 5 10 11 13 +1 3 4 5 10 11 14 +1 3 4 5 10 11 15 +1 3 4 5 10 12 13 +1 3 4 5 10 12 14 +1 3 4 5 10 12 15 +1 3 4 5 10 13 14 +1 3 4 5 10 13 15 +1 3 4 5 10 14 15 +1 3 4 5 11 12 13 +1 3 4 5 11 12 14 +1 3 4 5 11 12 15 +1 3 4 5 11 13 14 +1 3 4 5 11 13 15 +1 3 4 5 11 14 15 +1 3 4 5 12 13 14 +1 3 4 5 12 13 15 +1 3 4 5 12 14 15 +1 3 4 5 13 14 15 +1 3 4 6 7 8 9 +1 3 4 6 7 8 10 +1 3 4 6 7 8 11 +1 3 4 6 7 8 12 +1 3 4 6 7 8 13 +1 3 4 6 7 8 14 +1 3 4 6 7 8 15 +1 3 4 6 7 9 10 +1 3 4 6 7 9 11 +1 3 4 6 7 9 12 +1 3 4 6 7 9 13 +1 3 4 6 7 9 14 +1 3 4 6 7 9 15 +1 3 4 6 7 10 11 +1 3 4 6 7 10 12 +1 3 4 6 7 10 13 +1 3 4 6 7 10 14 +1 3 4 6 7 10 15 +1 3 4 6 7 11 12 +1 3 4 6 7 11 13 +1 3 4 6 7 11 14 +1 3 4 6 7 11 15 +1 3 4 6 7 12 13 +1 3 4 6 7 12 14 +1 3 4 6 7 12 15 +1 3 4 6 7 13 14 +1 3 4 6 7 13 15 +1 3 4 6 7 14 15 +1 3 4 6 8 9 10 +1 3 4 6 8 9 11 +1 3 4 6 8 9 12 +1 3 4 6 8 9 13 +1 3 4 6 8 9 14 +1 3 4 6 8 9 15 +1 3 4 6 8 10 11 +1 3 4 6 8 10 12 +1 3 4 6 8 10 13 +1 3 4 6 8 10 14 +1 3 4 6 8 10 15 +1 3 4 6 8 11 12 +1 3 4 6 8 11 13 +1 3 4 6 8 11 14 +1 3 4 6 8 11 15 +1 3 4 6 8 12 13 +1 3 4 6 8 12 14 +1 3 4 6 8 12 15 +1 3 4 6 8 13 14 +1 3 4 6 8 13 15 +1 3 4 6 8 14 15 +1 3 4 6 9 10 11 +1 3 4 6 9 10 12 +1 3 4 6 9 10 13 +1 3 4 6 9 10 14 +1 3 4 6 9 10 15 +1 3 4 6 9 11 12 +1 3 4 6 9 11 13 +1 3 4 6 9 11 14 +1 3 4 6 9 11 15 +1 3 4 6 9 12 13 +1 3 4 6 9 12 14 +1 3 4 6 9 12 15 +1 3 4 6 9 13 14 +1 3 4 6 9 13 15 +1 3 4 6 9 14 15 +1 3 4 6 10 11 12 +1 3 4 6 10 11 13 +1 3 4 6 10 11 14 +1 3 4 6 10 11 15 +1 3 4 6 10 12 13 +1 3 4 6 10 12 14 +1 3 4 6 10 12 15 +1 3 4 6 10 13 14 +1 3 4 6 10 13 15 +1 3 4 6 10 14 15 +1 3 4 6 11 12 13 +1 3 4 6 11 12 14 +1 3 4 6 11 12 15 +1 3 4 6 11 13 14 +1 3 4 6 11 13 15 +1 3 4 6 11 14 15 +1 3 4 6 12 13 14 +1 3 4 6 12 13 15 +1 3 4 6 12 14 15 +1 3 4 6 13 14 15 +1 3 4 7 8 9 10 +1 3 4 7 8 9 11 +1 3 4 7 8 9 12 +1 3 4 7 8 9 13 +1 3 4 7 8 9 14 +1 3 4 7 8 9 15 +1 3 4 7 8 10 11 +1 3 4 7 8 10 12 +1 3 4 7 8 10 13 +1 3 4 7 8 10 14 +1 3 4 7 8 10 15 +1 3 4 7 8 11 12 +1 3 4 7 8 11 13 +1 3 4 7 8 11 14 +1 3 4 7 8 11 15 +1 3 4 7 8 12 13 +1 3 4 7 8 12 14 +1 3 4 7 8 12 15 +1 3 4 7 8 13 14 +1 3 4 7 8 13 15 +1 3 4 7 8 14 15 +1 3 4 7 9 10 11 +1 3 4 7 9 10 12 +1 3 4 7 9 10 13 +1 3 4 7 9 10 14 +1 3 4 7 9 10 15 +1 3 4 7 9 11 12 +1 3 4 7 9 11 13 +1 3 4 7 9 11 14 +1 3 4 7 9 11 15 +1 3 4 7 9 12 13 +1 3 4 7 9 12 14 +1 3 4 7 9 12 15 +1 3 4 7 9 13 14 +1 3 4 7 9 13 15 +1 3 4 7 9 14 15 +1 3 4 7 10 11 12 +1 3 4 7 10 11 13 +1 3 4 7 10 11 14 +1 3 4 7 10 11 15 +1 3 4 7 10 12 13 +1 3 4 7 10 12 14 +1 3 4 7 10 12 15 +1 3 4 7 10 13 14 +1 3 4 7 10 13 15 +1 3 4 7 10 14 15 +1 3 4 7 11 12 13 +1 3 4 7 11 12 14 +1 3 4 7 11 12 15 +1 3 4 7 11 13 14 +1 3 4 7 11 13 15 +1 3 4 7 11 14 15 +1 3 4 7 12 13 14 +1 3 4 7 12 13 15 +1 3 4 7 12 14 15 +1 3 4 7 13 14 15 +1 3 4 8 9 10 11 +1 3 4 8 9 10 12 +1 3 4 8 9 10 13 +1 3 4 8 9 10 14 +1 3 4 8 9 10 15 +1 3 4 8 9 11 12 +1 3 4 8 9 11 13 +1 3 4 8 9 11 14 +1 3 4 8 9 11 15 +1 3 4 8 9 12 13 +1 3 4 8 9 12 14 +1 3 4 8 9 12 15 +1 3 4 8 9 13 14 +1 3 4 8 9 13 15 +1 3 4 8 9 14 15 +1 3 4 8 10 11 12 +1 3 4 8 10 11 13 +1 3 4 8 10 11 14 +1 3 4 8 10 11 15 +1 3 4 8 10 12 13 +1 3 4 8 10 12 14 +1 3 4 8 10 12 15 +1 3 4 8 10 13 14 +1 3 4 8 10 13 15 +1 3 4 8 10 14 15 +1 3 4 8 11 12 13 +1 3 4 8 11 12 14 +1 3 4 8 11 12 15 +1 3 4 8 11 13 14 +1 3 4 8 11 13 15 +1 3 4 8 11 14 15 +1 3 4 8 12 13 14 +1 3 4 8 12 13 15 +1 3 4 8 12 14 15 +1 3 4 8 13 14 15 +1 3 4 9 10 11 12 +1 3 4 9 10 11 13 +1 3 4 9 10 11 14 +1 3 4 9 10 11 15 +1 3 4 9 10 12 13 +1 3 4 9 10 12 14 +1 3 4 9 10 12 15 +1 3 4 9 10 13 14 +1 3 4 9 10 13 15 +1 3 4 9 10 14 15 +1 3 4 9 11 12 13 +1 3 4 9 11 12 14 +1 3 4 9 11 12 15 +1 3 4 9 11 13 14 +1 3 4 9 11 13 15 +1 3 4 9 11 14 15 +1 3 4 9 12 13 14 +1 3 4 9 12 13 15 +1 3 4 9 12 14 15 +1 3 4 9 13 14 15 +1 3 4 10 11 12 13 +1 3 4 10 11 12 14 +1 3 4 10 11 12 15 +1 3 4 10 11 13 14 +1 3 4 10 11 13 15 +1 3 4 10 11 14 15 +1 3 4 10 12 13 14 +1 3 4 10 12 13 15 +1 3 4 10 12 14 15 +1 3 4 10 13 14 15 +1 3 4 11 12 13 14 +1 3 4 11 12 13 15 +1 3 4 11 12 14 15 +1 3 4 11 13 14 15 +1 3 4 12 13 14 15 +1 3 5 6 7 8 9 +1 3 5 6 7 8 10 +1 3 5 6 7 8 11 +1 3 5 6 7 8 12 +1 3 5 6 7 8 13 +1 3 5 6 7 8 14 +1 3 5 6 7 8 15 +1 3 5 6 7 9 10 +1 3 5 6 7 9 11 +1 3 5 6 7 9 12 +1 3 5 6 7 9 13 +1 3 5 6 7 9 14 +1 3 5 6 7 9 15 +1 3 5 6 7 10 11 +1 3 5 6 7 10 12 +1 3 5 6 7 10 13 +1 3 5 6 7 10 14 +1 3 5 6 7 10 15 +1 3 5 6 7 11 12 +1 3 5 6 7 11 13 +1 3 5 6 7 11 14 +1 3 5 6 7 11 15 +1 3 5 6 7 12 13 +1 3 5 6 7 12 14 +1 3 5 6 7 12 15 +1 3 5 6 7 13 14 +1 3 5 6 7 13 15 +1 3 5 6 7 14 15 +1 3 5 6 8 9 10 +1 3 5 6 8 9 11 +1 3 5 6 8 9 12 +1 3 5 6 8 9 13 +1 3 5 6 8 9 14 +1 3 5 6 8 9 15 +1 3 5 6 8 10 11 +1 3 5 6 8 10 12 +1 3 5 6 8 10 13 +1 3 5 6 8 10 14 +1 3 5 6 8 10 15 +1 3 5 6 8 11 12 +1 3 5 6 8 11 13 +1 3 5 6 8 11 14 +1 3 5 6 8 11 15 +1 3 5 6 8 12 13 +1 3 5 6 8 12 14 +1 3 5 6 8 12 15 +1 3 5 6 8 13 14 +1 3 5 6 8 13 15 +1 3 5 6 8 14 15 +1 3 5 6 9 10 11 +1 3 5 6 9 10 12 +1 3 5 6 9 10 13 +1 3 5 6 9 10 14 +1 3 5 6 9 10 15 +1 3 5 6 9 11 12 +1 3 5 6 9 11 13 +1 3 5 6 9 11 14 +1 3 5 6 9 11 15 +1 3 5 6 9 12 13 +1 3 5 6 9 12 14 +1 3 5 6 9 12 15 +1 3 5 6 9 13 14 +1 3 5 6 9 13 15 +1 3 5 6 9 14 15 +1 3 5 6 10 11 12 +1 3 5 6 10 11 13 +1 3 5 6 10 11 14 +1 3 5 6 10 11 15 +1 3 5 6 10 12 13 +1 3 5 6 10 12 14 +1 3 5 6 10 12 15 +1 3 5 6 10 13 14 +1 3 5 6 10 13 15 +1 3 5 6 10 14 15 +1 3 5 6 11 12 13 +1 3 5 6 11 12 14 +1 3 5 6 11 12 15 +1 3 5 6 11 13 14 +1 3 5 6 11 13 15 +1 3 5 6 11 14 15 +1 3 5 6 12 13 14 +1 3 5 6 12 13 15 +1 3 5 6 12 14 15 +1 3 5 6 13 14 15 +1 3 5 7 8 9 10 +1 3 5 7 8 9 11 +1 3 5 7 8 9 12 +1 3 5 7 8 9 13 +1 3 5 7 8 9 14 +1 3 5 7 8 9 15 +1 3 5 7 8 10 11 +1 3 5 7 8 10 12 +1 3 5 7 8 10 13 +1 3 5 7 8 10 14 +1 3 5 7 8 10 15 +1 3 5 7 8 11 12 +1 3 5 7 8 11 13 +1 3 5 7 8 11 14 +1 3 5 7 8 11 15 +1 3 5 7 8 12 13 +1 3 5 7 8 12 14 +1 3 5 7 8 12 15 +1 3 5 7 8 13 14 +1 3 5 7 8 13 15 +1 3 5 7 8 14 15 +1 3 5 7 9 10 11 +1 3 5 7 9 10 12 +1 3 5 7 9 10 13 +1 3 5 7 9 10 14 +1 3 5 7 9 10 15 +1 3 5 7 9 11 12 +1 3 5 7 9 11 13 +1 3 5 7 9 11 14 +1 3 5 7 9 11 15 +1 3 5 7 9 12 13 +1 3 5 7 9 12 14 +1 3 5 7 9 12 15 +1 3 5 7 9 13 14 +1 3 5 7 9 13 15 +1 3 5 7 9 14 15 +1 3 5 7 10 11 12 +1 3 5 7 10 11 13 +1 3 5 7 10 11 14 +1 3 5 7 10 11 15 +1 3 5 7 10 12 13 +1 3 5 7 10 12 14 +1 3 5 7 10 12 15 +1 3 5 7 10 13 14 +1 3 5 7 10 13 15 +1 3 5 7 10 14 15 +1 3 5 7 11 12 13 +1 3 5 7 11 12 14 +1 3 5 7 11 12 15 +1 3 5 7 11 13 14 +1 3 5 7 11 13 15 +1 3 5 7 11 14 15 +1 3 5 7 12 13 14 +1 3 5 7 12 13 15 +1 3 5 7 12 14 15 +1 3 5 7 13 14 15 +1 3 5 8 9 10 11 +1 3 5 8 9 10 12 +1 3 5 8 9 10 13 +1 3 5 8 9 10 14 +1 3 5 8 9 10 15 +1 3 5 8 9 11 12 +1 3 5 8 9 11 13 +1 3 5 8 9 11 14 +1 3 5 8 9 11 15 +1 3 5 8 9 12 13 +1 3 5 8 9 12 14 +1 3 5 8 9 12 15 +1 3 5 8 9 13 14 +1 3 5 8 9 13 15 +1 3 5 8 9 14 15 +1 3 5 8 10 11 12 +1 3 5 8 10 11 13 +1 3 5 8 10 11 14 +1 3 5 8 10 11 15 +1 3 5 8 10 12 13 +1 3 5 8 10 12 14 +1 3 5 8 10 12 15 +1 3 5 8 10 13 14 +1 3 5 8 10 13 15 +1 3 5 8 10 14 15 +1 3 5 8 11 12 13 +1 3 5 8 11 12 14 +1 3 5 8 11 12 15 +1 3 5 8 11 13 14 +1 3 5 8 11 13 15 +1 3 5 8 11 14 15 +1 3 5 8 12 13 14 +1 3 5 8 12 13 15 +1 3 5 8 12 14 15 +1 3 5 8 13 14 15 +1 3 5 9 10 11 12 +1 3 5 9 10 11 13 +1 3 5 9 10 11 14 +1 3 5 9 10 11 15 +1 3 5 9 10 12 13 +1 3 5 9 10 12 14 +1 3 5 9 10 12 15 +1 3 5 9 10 13 14 +1 3 5 9 10 13 15 +1 3 5 9 10 14 15 +1 3 5 9 11 12 13 +1 3 5 9 11 12 14 +1 3 5 9 11 12 15 +1 3 5 9 11 13 14 +1 3 5 9 11 13 15 +1 3 5 9 11 14 15 +1 3 5 9 12 13 14 +1 3 5 9 12 13 15 +1 3 5 9 12 14 15 +1 3 5 9 13 14 15 +1 3 5 10 11 12 13 +1 3 5 10 11 12 14 +1 3 5 10 11 12 15 +1 3 5 10 11 13 14 +1 3 5 10 11 13 15 +1 3 5 10 11 14 15 +1 3 5 10 12 13 14 +1 3 5 10 12 13 15 +1 3 5 10 12 14 15 +1 3 5 10 13 14 15 +1 3 5 11 12 13 14 +1 3 5 11 12 13 15 +1 3 5 11 12 14 15 +1 3 5 11 13 14 15 +1 3 5 12 13 14 15 +1 3 6 7 8 9 10 +1 3 6 7 8 9 11 +1 3 6 7 8 9 12 +1 3 6 7 8 9 13 +1 3 6 7 8 9 14 +1 3 6 7 8 9 15 +1 3 6 7 8 10 11 +1 3 6 7 8 10 12 +1 3 6 7 8 10 13 +1 3 6 7 8 10 14 +1 3 6 7 8 10 15 +1 3 6 7 8 11 12 +1 3 6 7 8 11 13 +1 3 6 7 8 11 14 +1 3 6 7 8 11 15 +1 3 6 7 8 12 13 +1 3 6 7 8 12 14 +1 3 6 7 8 12 15 +1 3 6 7 8 13 14 +1 3 6 7 8 13 15 +1 3 6 7 8 14 15 +1 3 6 7 9 10 11 +1 3 6 7 9 10 12 +1 3 6 7 9 10 13 +1 3 6 7 9 10 14 +1 3 6 7 9 10 15 +1 3 6 7 9 11 12 +1 3 6 7 9 11 13 +1 3 6 7 9 11 14 +1 3 6 7 9 11 15 +1 3 6 7 9 12 13 +1 3 6 7 9 12 14 +1 3 6 7 9 12 15 +1 3 6 7 9 13 14 +1 3 6 7 9 13 15 +1 3 6 7 9 14 15 +1 3 6 7 10 11 12 +1 3 6 7 10 11 13 +1 3 6 7 10 11 14 +1 3 6 7 10 11 15 +1 3 6 7 10 12 13 +1 3 6 7 10 12 14 +1 3 6 7 10 12 15 +1 3 6 7 10 13 14 +1 3 6 7 10 13 15 +1 3 6 7 10 14 15 +1 3 6 7 11 12 13 +1 3 6 7 11 12 14 +1 3 6 7 11 12 15 +1 3 6 7 11 13 14 +1 3 6 7 11 13 15 +1 3 6 7 11 14 15 +1 3 6 7 12 13 14 +1 3 6 7 12 13 15 +1 3 6 7 12 14 15 +1 3 6 7 13 14 15 +1 3 6 8 9 10 11 +1 3 6 8 9 10 12 +1 3 6 8 9 10 13 +1 3 6 8 9 10 14 +1 3 6 8 9 10 15 +1 3 6 8 9 11 12 +1 3 6 8 9 11 13 +1 3 6 8 9 11 14 +1 3 6 8 9 11 15 +1 3 6 8 9 12 13 +1 3 6 8 9 12 14 +1 3 6 8 9 12 15 +1 3 6 8 9 13 14 +1 3 6 8 9 13 15 +1 3 6 8 9 14 15 +1 3 6 8 10 11 12 +1 3 6 8 10 11 13 +1 3 6 8 10 11 14 +1 3 6 8 10 11 15 +1 3 6 8 10 12 13 +1 3 6 8 10 12 14 +1 3 6 8 10 12 15 +1 3 6 8 10 13 14 +1 3 6 8 10 13 15 +1 3 6 8 10 14 15 +1 3 6 8 11 12 13 +1 3 6 8 11 12 14 +1 3 6 8 11 12 15 +1 3 6 8 11 13 14 +1 3 6 8 11 13 15 +1 3 6 8 11 14 15 +1 3 6 8 12 13 14 +1 3 6 8 12 13 15 +1 3 6 8 12 14 15 +1 3 6 8 13 14 15 +1 3 6 9 10 11 12 +1 3 6 9 10 11 13 +1 3 6 9 10 11 14 +1 3 6 9 10 11 15 +1 3 6 9 10 12 13 +1 3 6 9 10 12 14 +1 3 6 9 10 12 15 +1 3 6 9 10 13 14 +1 3 6 9 10 13 15 +1 3 6 9 10 14 15 +1 3 6 9 11 12 13 +1 3 6 9 11 12 14 +1 3 6 9 11 12 15 +1 3 6 9 11 13 14 +1 3 6 9 11 13 15 +1 3 6 9 11 14 15 +1 3 6 9 12 13 14 +1 3 6 9 12 13 15 +1 3 6 9 12 14 15 +1 3 6 9 13 14 15 +1 3 6 10 11 12 13 +1 3 6 10 11 12 14 +1 3 6 10 11 12 15 +1 3 6 10 11 13 14 +1 3 6 10 11 13 15 +1 3 6 10 11 14 15 +1 3 6 10 12 13 14 +1 3 6 10 12 13 15 +1 3 6 10 12 14 15 +1 3 6 10 13 14 15 +1 3 6 11 12 13 14 +1 3 6 11 12 13 15 +1 3 6 11 12 14 15 +1 3 6 11 13 14 15 +1 3 6 12 13 14 15 +1 3 7 8 9 10 11 +1 3 7 8 9 10 12 +1 3 7 8 9 10 13 +1 3 7 8 9 10 14 +1 3 7 8 9 10 15 +1 3 7 8 9 11 12 +1 3 7 8 9 11 13 +1 3 7 8 9 11 14 +1 3 7 8 9 11 15 +1 3 7 8 9 12 13 +1 3 7 8 9 12 14 +1 3 7 8 9 12 15 +1 3 7 8 9 13 14 +1 3 7 8 9 13 15 +1 3 7 8 9 14 15 +1 3 7 8 10 11 12 +1 3 7 8 10 11 13 +1 3 7 8 10 11 14 +1 3 7 8 10 11 15 +1 3 7 8 10 12 13 +1 3 7 8 10 12 14 +1 3 7 8 10 12 15 +1 3 7 8 10 13 14 +1 3 7 8 10 13 15 +1 3 7 8 10 14 15 +1 3 7 8 11 12 13 +1 3 7 8 11 12 14 +1 3 7 8 11 12 15 +1 3 7 8 11 13 14 +1 3 7 8 11 13 15 +1 3 7 8 11 14 15 +1 3 7 8 12 13 14 +1 3 7 8 12 13 15 +1 3 7 8 12 14 15 +1 3 7 8 13 14 15 +1 3 7 9 10 11 12 +1 3 7 9 10 11 13 +1 3 7 9 10 11 14 +1 3 7 9 10 11 15 +1 3 7 9 10 12 13 +1 3 7 9 10 12 14 +1 3 7 9 10 12 15 +1 3 7 9 10 13 14 +1 3 7 9 10 13 15 +1 3 7 9 10 14 15 +1 3 7 9 11 12 13 +1 3 7 9 11 12 14 +1 3 7 9 11 12 15 +1 3 7 9 11 13 14 +1 3 7 9 11 13 15 +1 3 7 9 11 14 15 +1 3 7 9 12 13 14 +1 3 7 9 12 13 15 +1 3 7 9 12 14 15 +1 3 7 9 13 14 15 +1 3 7 10 11 12 13 +1 3 7 10 11 12 14 +1 3 7 10 11 12 15 +1 3 7 10 11 13 14 +1 3 7 10 11 13 15 +1 3 7 10 11 14 15 +1 3 7 10 12 13 14 +1 3 7 10 12 13 15 +1 3 7 10 12 14 15 +1 3 7 10 13 14 15 +1 3 7 11 12 13 14 +1 3 7 11 12 13 15 +1 3 7 11 12 14 15 +1 3 7 11 13 14 15 +1 3 7 12 13 14 15 +1 3 8 9 10 11 12 +1 3 8 9 10 11 13 +1 3 8 9 10 11 14 +1 3 8 9 10 11 15 +1 3 8 9 10 12 13 +1 3 8 9 10 12 14 +1 3 8 9 10 12 15 +1 3 8 9 10 13 14 +1 3 8 9 10 13 15 +1 3 8 9 10 14 15 +1 3 8 9 11 12 13 +1 3 8 9 11 12 14 +1 3 8 9 11 12 15 +1 3 8 9 11 13 14 +1 3 8 9 11 13 15 +1 3 8 9 11 14 15 +1 3 8 9 12 13 14 +1 3 8 9 12 13 15 +1 3 8 9 12 14 15 +1 3 8 9 13 14 15 +1 3 8 10 11 12 13 +1 3 8 10 11 12 14 +1 3 8 10 11 12 15 +1 3 8 10 11 13 14 +1 3 8 10 11 13 15 +1 3 8 10 11 14 15 +1 3 8 10 12 13 14 +1 3 8 10 12 13 15 +1 3 8 10 12 14 15 +1 3 8 10 13 14 15 +1 3 8 11 12 13 14 +1 3 8 11 12 13 15 +1 3 8 11 12 14 15 +1 3 8 11 13 14 15 +1 3 8 12 13 14 15 +1 3 9 10 11 12 13 +1 3 9 10 11 12 14 +1 3 9 10 11 12 15 +1 3 9 10 11 13 14 +1 3 9 10 11 13 15 +1 3 9 10 11 14 15 +1 3 9 10 12 13 14 +1 3 9 10 12 13 15 +1 3 9 10 12 14 15 +1 3 9 10 13 14 15 +1 3 9 11 12 13 14 +1 3 9 11 12 13 15 +1 3 9 11 12 14 15 +1 3 9 11 13 14 15 +1 3 9 12 13 14 15 +1 3 10 11 12 13 14 +1 3 10 11 12 13 15 +1 3 10 11 12 14 15 +1 3 10 11 13 14 15 +1 3 10 12 13 14 15 +1 3 11 12 13 14 15 +1 4 5 6 7 8 9 +1 4 5 6 7 8 10 +1 4 5 6 7 8 11 +1 4 5 6 7 8 12 +1 4 5 6 7 8 13 +1 4 5 6 7 8 14 +1 4 5 6 7 8 15 +1 4 5 6 7 9 10 +1 4 5 6 7 9 11 +1 4 5 6 7 9 12 +1 4 5 6 7 9 13 +1 4 5 6 7 9 14 +1 4 5 6 7 9 15 +1 4 5 6 7 10 11 +1 4 5 6 7 10 12 +1 4 5 6 7 10 13 +1 4 5 6 7 10 14 +1 4 5 6 7 10 15 +1 4 5 6 7 11 12 +1 4 5 6 7 11 13 +1 4 5 6 7 11 14 +1 4 5 6 7 11 15 +1 4 5 6 7 12 13 +1 4 5 6 7 12 14 +1 4 5 6 7 12 15 +1 4 5 6 7 13 14 +1 4 5 6 7 13 15 +1 4 5 6 7 14 15 +1 4 5 6 8 9 10 +1 4 5 6 8 9 11 +1 4 5 6 8 9 12 +1 4 5 6 8 9 13 +1 4 5 6 8 9 14 +1 4 5 6 8 9 15 +1 4 5 6 8 10 11 +1 4 5 6 8 10 12 +1 4 5 6 8 10 13 +1 4 5 6 8 10 14 +1 4 5 6 8 10 15 +1 4 5 6 8 11 12 +1 4 5 6 8 11 13 +1 4 5 6 8 11 14 +1 4 5 6 8 11 15 +1 4 5 6 8 12 13 +1 4 5 6 8 12 14 +1 4 5 6 8 12 15 +1 4 5 6 8 13 14 +1 4 5 6 8 13 15 +1 4 5 6 8 14 15 +1 4 5 6 9 10 11 +1 4 5 6 9 10 12 +1 4 5 6 9 10 13 +1 4 5 6 9 10 14 +1 4 5 6 9 10 15 +1 4 5 6 9 11 12 +1 4 5 6 9 11 13 +1 4 5 6 9 11 14 +1 4 5 6 9 11 15 +1 4 5 6 9 12 13 +1 4 5 6 9 12 14 +1 4 5 6 9 12 15 +1 4 5 6 9 13 14 +1 4 5 6 9 13 15 +1 4 5 6 9 14 15 +1 4 5 6 10 11 12 +1 4 5 6 10 11 13 +1 4 5 6 10 11 14 +1 4 5 6 10 11 15 +1 4 5 6 10 12 13 +1 4 5 6 10 12 14 +1 4 5 6 10 12 15 +1 4 5 6 10 13 14 +1 4 5 6 10 13 15 +1 4 5 6 10 14 15 +1 4 5 6 11 12 13 +1 4 5 6 11 12 14 +1 4 5 6 11 12 15 +1 4 5 6 11 13 14 +1 4 5 6 11 13 15 +1 4 5 6 11 14 15 +1 4 5 6 12 13 14 +1 4 5 6 12 13 15 +1 4 5 6 12 14 15 +1 4 5 6 13 14 15 +1 4 5 7 8 9 10 +1 4 5 7 8 9 11 +1 4 5 7 8 9 12 +1 4 5 7 8 9 13 +1 4 5 7 8 9 14 +1 4 5 7 8 9 15 +1 4 5 7 8 10 11 +1 4 5 7 8 10 12 +1 4 5 7 8 10 13 +1 4 5 7 8 10 14 +1 4 5 7 8 10 15 +1 4 5 7 8 11 12 +1 4 5 7 8 11 13 +1 4 5 7 8 11 14 +1 4 5 7 8 11 15 +1 4 5 7 8 12 13 +1 4 5 7 8 12 14 +1 4 5 7 8 12 15 +1 4 5 7 8 13 14 +1 4 5 7 8 13 15 +1 4 5 7 8 14 15 +1 4 5 7 9 10 11 +1 4 5 7 9 10 12 +1 4 5 7 9 10 13 +1 4 5 7 9 10 14 +1 4 5 7 9 10 15 +1 4 5 7 9 11 12 +1 4 5 7 9 11 13 +1 4 5 7 9 11 14 +1 4 5 7 9 11 15 +1 4 5 7 9 12 13 +1 4 5 7 9 12 14 +1 4 5 7 9 12 15 +1 4 5 7 9 13 14 +1 4 5 7 9 13 15 +1 4 5 7 9 14 15 +1 4 5 7 10 11 12 +1 4 5 7 10 11 13 +1 4 5 7 10 11 14 +1 4 5 7 10 11 15 +1 4 5 7 10 12 13 +1 4 5 7 10 12 14 +1 4 5 7 10 12 15 +1 4 5 7 10 13 14 +1 4 5 7 10 13 15 +1 4 5 7 10 14 15 +1 4 5 7 11 12 13 +1 4 5 7 11 12 14 +1 4 5 7 11 12 15 +1 4 5 7 11 13 14 +1 4 5 7 11 13 15 +1 4 5 7 11 14 15 +1 4 5 7 12 13 14 +1 4 5 7 12 13 15 +1 4 5 7 12 14 15 +1 4 5 7 13 14 15 +1 4 5 8 9 10 11 +1 4 5 8 9 10 12 +1 4 5 8 9 10 13 +1 4 5 8 9 10 14 +1 4 5 8 9 10 15 +1 4 5 8 9 11 12 +1 4 5 8 9 11 13 +1 4 5 8 9 11 14 +1 4 5 8 9 11 15 +1 4 5 8 9 12 13 +1 4 5 8 9 12 14 +1 4 5 8 9 12 15 +1 4 5 8 9 13 14 +1 4 5 8 9 13 15 +1 4 5 8 9 14 15 +1 4 5 8 10 11 12 +1 4 5 8 10 11 13 +1 4 5 8 10 11 14 +1 4 5 8 10 11 15 +1 4 5 8 10 12 13 +1 4 5 8 10 12 14 +1 4 5 8 10 12 15 +1 4 5 8 10 13 14 +1 4 5 8 10 13 15 +1 4 5 8 10 14 15 +1 4 5 8 11 12 13 +1 4 5 8 11 12 14 +1 4 5 8 11 12 15 +1 4 5 8 11 13 14 +1 4 5 8 11 13 15 +1 4 5 8 11 14 15 +1 4 5 8 12 13 14 +1 4 5 8 12 13 15 +1 4 5 8 12 14 15 +1 4 5 8 13 14 15 +1 4 5 9 10 11 12 +1 4 5 9 10 11 13 +1 4 5 9 10 11 14 +1 4 5 9 10 11 15 +1 4 5 9 10 12 13 +1 4 5 9 10 12 14 +1 4 5 9 10 12 15 +1 4 5 9 10 13 14 +1 4 5 9 10 13 15 +1 4 5 9 10 14 15 +1 4 5 9 11 12 13 +1 4 5 9 11 12 14 +1 4 5 9 11 12 15 +1 4 5 9 11 13 14 +1 4 5 9 11 13 15 +1 4 5 9 11 14 15 +1 4 5 9 12 13 14 +1 4 5 9 12 13 15 +1 4 5 9 12 14 15 +1 4 5 9 13 14 15 +1 4 5 10 11 12 13 +1 4 5 10 11 12 14 +1 4 5 10 11 12 15 +1 4 5 10 11 13 14 +1 4 5 10 11 13 15 +1 4 5 10 11 14 15 +1 4 5 10 12 13 14 +1 4 5 10 12 13 15 +1 4 5 10 12 14 15 +1 4 5 10 13 14 15 +1 4 5 11 12 13 14 +1 4 5 11 12 13 15 +1 4 5 11 12 14 15 +1 4 5 11 13 14 15 +1 4 5 12 13 14 15 +1 4 6 7 8 9 10 +1 4 6 7 8 9 11 +1 4 6 7 8 9 12 +1 4 6 7 8 9 13 +1 4 6 7 8 9 14 +1 4 6 7 8 9 15 +1 4 6 7 8 10 11 +1 4 6 7 8 10 12 +1 4 6 7 8 10 13 +1 4 6 7 8 10 14 +1 4 6 7 8 10 15 +1 4 6 7 8 11 12 +1 4 6 7 8 11 13 +1 4 6 7 8 11 14 +1 4 6 7 8 11 15 +1 4 6 7 8 12 13 +1 4 6 7 8 12 14 +1 4 6 7 8 12 15 +1 4 6 7 8 13 14 +1 4 6 7 8 13 15 +1 4 6 7 8 14 15 +1 4 6 7 9 10 11 +1 4 6 7 9 10 12 +1 4 6 7 9 10 13 +1 4 6 7 9 10 14 +1 4 6 7 9 10 15 +1 4 6 7 9 11 12 +1 4 6 7 9 11 13 +1 4 6 7 9 11 14 +1 4 6 7 9 11 15 +1 4 6 7 9 12 13 +1 4 6 7 9 12 14 +1 4 6 7 9 12 15 +1 4 6 7 9 13 14 +1 4 6 7 9 13 15 +1 4 6 7 9 14 15 +1 4 6 7 10 11 12 +1 4 6 7 10 11 13 +1 4 6 7 10 11 14 +1 4 6 7 10 11 15 +1 4 6 7 10 12 13 +1 4 6 7 10 12 14 +1 4 6 7 10 12 15 +1 4 6 7 10 13 14 +1 4 6 7 10 13 15 +1 4 6 7 10 14 15 +1 4 6 7 11 12 13 +1 4 6 7 11 12 14 +1 4 6 7 11 12 15 +1 4 6 7 11 13 14 +1 4 6 7 11 13 15 +1 4 6 7 11 14 15 +1 4 6 7 12 13 14 +1 4 6 7 12 13 15 +1 4 6 7 12 14 15 +1 4 6 7 13 14 15 +1 4 6 8 9 10 11 +1 4 6 8 9 10 12 +1 4 6 8 9 10 13 +1 4 6 8 9 10 14 +1 4 6 8 9 10 15 +1 4 6 8 9 11 12 +1 4 6 8 9 11 13 +1 4 6 8 9 11 14 +1 4 6 8 9 11 15 +1 4 6 8 9 12 13 +1 4 6 8 9 12 14 +1 4 6 8 9 12 15 +1 4 6 8 9 13 14 +1 4 6 8 9 13 15 +1 4 6 8 9 14 15 +1 4 6 8 10 11 12 +1 4 6 8 10 11 13 +1 4 6 8 10 11 14 +1 4 6 8 10 11 15 +1 4 6 8 10 12 13 +1 4 6 8 10 12 14 +1 4 6 8 10 12 15 +1 4 6 8 10 13 14 +1 4 6 8 10 13 15 +1 4 6 8 10 14 15 +1 4 6 8 11 12 13 +1 4 6 8 11 12 14 +1 4 6 8 11 12 15 +1 4 6 8 11 13 14 +1 4 6 8 11 13 15 +1 4 6 8 11 14 15 +1 4 6 8 12 13 14 +1 4 6 8 12 13 15 +1 4 6 8 12 14 15 +1 4 6 8 13 14 15 +1 4 6 9 10 11 12 +1 4 6 9 10 11 13 +1 4 6 9 10 11 14 +1 4 6 9 10 11 15 +1 4 6 9 10 12 13 +1 4 6 9 10 12 14 +1 4 6 9 10 12 15 +1 4 6 9 10 13 14 +1 4 6 9 10 13 15 +1 4 6 9 10 14 15 +1 4 6 9 11 12 13 +1 4 6 9 11 12 14 +1 4 6 9 11 12 15 +1 4 6 9 11 13 14 +1 4 6 9 11 13 15 +1 4 6 9 11 14 15 +1 4 6 9 12 13 14 +1 4 6 9 12 13 15 +1 4 6 9 12 14 15 +1 4 6 9 13 14 15 +1 4 6 10 11 12 13 +1 4 6 10 11 12 14 +1 4 6 10 11 12 15 +1 4 6 10 11 13 14 +1 4 6 10 11 13 15 +1 4 6 10 11 14 15 +1 4 6 10 12 13 14 +1 4 6 10 12 13 15 +1 4 6 10 12 14 15 +1 4 6 10 13 14 15 +1 4 6 11 12 13 14 +1 4 6 11 12 13 15 +1 4 6 11 12 14 15 +1 4 6 11 13 14 15 +1 4 6 12 13 14 15 +1 4 7 8 9 10 11 +1 4 7 8 9 10 12 +1 4 7 8 9 10 13 +1 4 7 8 9 10 14 +1 4 7 8 9 10 15 +1 4 7 8 9 11 12 +1 4 7 8 9 11 13 +1 4 7 8 9 11 14 +1 4 7 8 9 11 15 +1 4 7 8 9 12 13 +1 4 7 8 9 12 14 +1 4 7 8 9 12 15 +1 4 7 8 9 13 14 +1 4 7 8 9 13 15 +1 4 7 8 9 14 15 +1 4 7 8 10 11 12 +1 4 7 8 10 11 13 +1 4 7 8 10 11 14 +1 4 7 8 10 11 15 +1 4 7 8 10 12 13 +1 4 7 8 10 12 14 +1 4 7 8 10 12 15 +1 4 7 8 10 13 14 +1 4 7 8 10 13 15 +1 4 7 8 10 14 15 +1 4 7 8 11 12 13 +1 4 7 8 11 12 14 +1 4 7 8 11 12 15 +1 4 7 8 11 13 14 +1 4 7 8 11 13 15 +1 4 7 8 11 14 15 +1 4 7 8 12 13 14 +1 4 7 8 12 13 15 +1 4 7 8 12 14 15 +1 4 7 8 13 14 15 +1 4 7 9 10 11 12 +1 4 7 9 10 11 13 +1 4 7 9 10 11 14 +1 4 7 9 10 11 15 +1 4 7 9 10 12 13 +1 4 7 9 10 12 14 +1 4 7 9 10 12 15 +1 4 7 9 10 13 14 +1 4 7 9 10 13 15 +1 4 7 9 10 14 15 +1 4 7 9 11 12 13 +1 4 7 9 11 12 14 +1 4 7 9 11 12 15 +1 4 7 9 11 13 14 +1 4 7 9 11 13 15 +1 4 7 9 11 14 15 +1 4 7 9 12 13 14 +1 4 7 9 12 13 15 +1 4 7 9 12 14 15 +1 4 7 9 13 14 15 +1 4 7 10 11 12 13 +1 4 7 10 11 12 14 +1 4 7 10 11 12 15 +1 4 7 10 11 13 14 +1 4 7 10 11 13 15 +1 4 7 10 11 14 15 +1 4 7 10 12 13 14 +1 4 7 10 12 13 15 +1 4 7 10 12 14 15 +1 4 7 10 13 14 15 +1 4 7 11 12 13 14 +1 4 7 11 12 13 15 +1 4 7 11 12 14 15 +1 4 7 11 13 14 15 +1 4 7 12 13 14 15 +1 4 8 9 10 11 12 +1 4 8 9 10 11 13 +1 4 8 9 10 11 14 +1 4 8 9 10 11 15 +1 4 8 9 10 12 13 +1 4 8 9 10 12 14 +1 4 8 9 10 12 15 +1 4 8 9 10 13 14 +1 4 8 9 10 13 15 +1 4 8 9 10 14 15 +1 4 8 9 11 12 13 +1 4 8 9 11 12 14 +1 4 8 9 11 12 15 +1 4 8 9 11 13 14 +1 4 8 9 11 13 15 +1 4 8 9 11 14 15 +1 4 8 9 12 13 14 +1 4 8 9 12 13 15 +1 4 8 9 12 14 15 +1 4 8 9 13 14 15 +1 4 8 10 11 12 13 +1 4 8 10 11 12 14 +1 4 8 10 11 12 15 +1 4 8 10 11 13 14 +1 4 8 10 11 13 15 +1 4 8 10 11 14 15 +1 4 8 10 12 13 14 +1 4 8 10 12 13 15 +1 4 8 10 12 14 15 +1 4 8 10 13 14 15 +1 4 8 11 12 13 14 +1 4 8 11 12 13 15 +1 4 8 11 12 14 15 +1 4 8 11 13 14 15 +1 4 8 12 13 14 15 +1 4 9 10 11 12 13 +1 4 9 10 11 12 14 +1 4 9 10 11 12 15 +1 4 9 10 11 13 14 +1 4 9 10 11 13 15 +1 4 9 10 11 14 15 +1 4 9 10 12 13 14 +1 4 9 10 12 13 15 +1 4 9 10 12 14 15 +1 4 9 10 13 14 15 +1 4 9 11 12 13 14 +1 4 9 11 12 13 15 +1 4 9 11 12 14 15 +1 4 9 11 13 14 15 +1 4 9 12 13 14 15 +1 4 10 11 12 13 14 +1 4 10 11 12 13 15 +1 4 10 11 12 14 15 +1 4 10 11 13 14 15 +1 4 10 12 13 14 15 +1 4 11 12 13 14 15 +1 5 6 7 8 9 10 +1 5 6 7 8 9 11 +1 5 6 7 8 9 12 +1 5 6 7 8 9 13 +1 5 6 7 8 9 14 +1 5 6 7 8 9 15 +1 5 6 7 8 10 11 +1 5 6 7 8 10 12 +1 5 6 7 8 10 13 +1 5 6 7 8 10 14 +1 5 6 7 8 10 15 +1 5 6 7 8 11 12 +1 5 6 7 8 11 13 +1 5 6 7 8 11 14 +1 5 6 7 8 11 15 +1 5 6 7 8 12 13 +1 5 6 7 8 12 14 +1 5 6 7 8 12 15 +1 5 6 7 8 13 14 +1 5 6 7 8 13 15 +1 5 6 7 8 14 15 +1 5 6 7 9 10 11 +1 5 6 7 9 10 12 +1 5 6 7 9 10 13 +1 5 6 7 9 10 14 +1 5 6 7 9 10 15 +1 5 6 7 9 11 12 +1 5 6 7 9 11 13 +1 5 6 7 9 11 14 +1 5 6 7 9 11 15 +1 5 6 7 9 12 13 +1 5 6 7 9 12 14 +1 5 6 7 9 12 15 +1 5 6 7 9 13 14 +1 5 6 7 9 13 15 +1 5 6 7 9 14 15 +1 5 6 7 10 11 12 +1 5 6 7 10 11 13 +1 5 6 7 10 11 14 +1 5 6 7 10 11 15 +1 5 6 7 10 12 13 +1 5 6 7 10 12 14 +1 5 6 7 10 12 15 +1 5 6 7 10 13 14 +1 5 6 7 10 13 15 +1 5 6 7 10 14 15 +1 5 6 7 11 12 13 +1 5 6 7 11 12 14 +1 5 6 7 11 12 15 +1 5 6 7 11 13 14 +1 5 6 7 11 13 15 +1 5 6 7 11 14 15 +1 5 6 7 12 13 14 +1 5 6 7 12 13 15 +1 5 6 7 12 14 15 +1 5 6 7 13 14 15 +1 5 6 8 9 10 11 +1 5 6 8 9 10 12 +1 5 6 8 9 10 13 +1 5 6 8 9 10 14 +1 5 6 8 9 10 15 +1 5 6 8 9 11 12 +1 5 6 8 9 11 13 +1 5 6 8 9 11 14 +1 5 6 8 9 11 15 +1 5 6 8 9 12 13 +1 5 6 8 9 12 14 +1 5 6 8 9 12 15 +1 5 6 8 9 13 14 +1 5 6 8 9 13 15 +1 5 6 8 9 14 15 +1 5 6 8 10 11 12 +1 5 6 8 10 11 13 +1 5 6 8 10 11 14 +1 5 6 8 10 11 15 +1 5 6 8 10 12 13 +1 5 6 8 10 12 14 +1 5 6 8 10 12 15 +1 5 6 8 10 13 14 +1 5 6 8 10 13 15 +1 5 6 8 10 14 15 +1 5 6 8 11 12 13 +1 5 6 8 11 12 14 +1 5 6 8 11 12 15 +1 5 6 8 11 13 14 +1 5 6 8 11 13 15 +1 5 6 8 11 14 15 +1 5 6 8 12 13 14 +1 5 6 8 12 13 15 +1 5 6 8 12 14 15 +1 5 6 8 13 14 15 +1 5 6 9 10 11 12 +1 5 6 9 10 11 13 +1 5 6 9 10 11 14 +1 5 6 9 10 11 15 +1 5 6 9 10 12 13 +1 5 6 9 10 12 14 +1 5 6 9 10 12 15 +1 5 6 9 10 13 14 +1 5 6 9 10 13 15 +1 5 6 9 10 14 15 +1 5 6 9 11 12 13 +1 5 6 9 11 12 14 +1 5 6 9 11 12 15 +1 5 6 9 11 13 14 +1 5 6 9 11 13 15 +1 5 6 9 11 14 15 +1 5 6 9 12 13 14 +1 5 6 9 12 13 15 +1 5 6 9 12 14 15 +1 5 6 9 13 14 15 +1 5 6 10 11 12 13 +1 5 6 10 11 12 14 +1 5 6 10 11 12 15 +1 5 6 10 11 13 14 +1 5 6 10 11 13 15 +1 5 6 10 11 14 15 +1 5 6 10 12 13 14 +1 5 6 10 12 13 15 +1 5 6 10 12 14 15 +1 5 6 10 13 14 15 +1 5 6 11 12 13 14 +1 5 6 11 12 13 15 +1 5 6 11 12 14 15 +1 5 6 11 13 14 15 +1 5 6 12 13 14 15 +1 5 7 8 9 10 11 +1 5 7 8 9 10 12 +1 5 7 8 9 10 13 +1 5 7 8 9 10 14 +1 5 7 8 9 10 15 +1 5 7 8 9 11 12 +1 5 7 8 9 11 13 +1 5 7 8 9 11 14 +1 5 7 8 9 11 15 +1 5 7 8 9 12 13 +1 5 7 8 9 12 14 +1 5 7 8 9 12 15 +1 5 7 8 9 13 14 +1 5 7 8 9 13 15 +1 5 7 8 9 14 15 +1 5 7 8 10 11 12 +1 5 7 8 10 11 13 +1 5 7 8 10 11 14 +1 5 7 8 10 11 15 +1 5 7 8 10 12 13 +1 5 7 8 10 12 14 +1 5 7 8 10 12 15 +1 5 7 8 10 13 14 +1 5 7 8 10 13 15 +1 5 7 8 10 14 15 +1 5 7 8 11 12 13 +1 5 7 8 11 12 14 +1 5 7 8 11 12 15 +1 5 7 8 11 13 14 +1 5 7 8 11 13 15 +1 5 7 8 11 14 15 +1 5 7 8 12 13 14 +1 5 7 8 12 13 15 +1 5 7 8 12 14 15 +1 5 7 8 13 14 15 +1 5 7 9 10 11 12 +1 5 7 9 10 11 13 +1 5 7 9 10 11 14 +1 5 7 9 10 11 15 +1 5 7 9 10 12 13 +1 5 7 9 10 12 14 +1 5 7 9 10 12 15 +1 5 7 9 10 13 14 +1 5 7 9 10 13 15 +1 5 7 9 10 14 15 +1 5 7 9 11 12 13 +1 5 7 9 11 12 14 +1 5 7 9 11 12 15 +1 5 7 9 11 13 14 +1 5 7 9 11 13 15 +1 5 7 9 11 14 15 +1 5 7 9 12 13 14 +1 5 7 9 12 13 15 +1 5 7 9 12 14 15 +1 5 7 9 13 14 15 +1 5 7 10 11 12 13 +1 5 7 10 11 12 14 +1 5 7 10 11 12 15 +1 5 7 10 11 13 14 +1 5 7 10 11 13 15 +1 5 7 10 11 14 15 +1 5 7 10 12 13 14 +1 5 7 10 12 13 15 +1 5 7 10 12 14 15 +1 5 7 10 13 14 15 +1 5 7 11 12 13 14 +1 5 7 11 12 13 15 +1 5 7 11 12 14 15 +1 5 7 11 13 14 15 +1 5 7 12 13 14 15 +1 5 8 9 10 11 12 +1 5 8 9 10 11 13 +1 5 8 9 10 11 14 +1 5 8 9 10 11 15 +1 5 8 9 10 12 13 +1 5 8 9 10 12 14 +1 5 8 9 10 12 15 +1 5 8 9 10 13 14 +1 5 8 9 10 13 15 +1 5 8 9 10 14 15 +1 5 8 9 11 12 13 +1 5 8 9 11 12 14 +1 5 8 9 11 12 15 +1 5 8 9 11 13 14 +1 5 8 9 11 13 15 +1 5 8 9 11 14 15 +1 5 8 9 12 13 14 +1 5 8 9 12 13 15 +1 5 8 9 12 14 15 +1 5 8 9 13 14 15 +1 5 8 10 11 12 13 +1 5 8 10 11 12 14 +1 5 8 10 11 12 15 +1 5 8 10 11 13 14 +1 5 8 10 11 13 15 +1 5 8 10 11 14 15 +1 5 8 10 12 13 14 +1 5 8 10 12 13 15 +1 5 8 10 12 14 15 +1 5 8 10 13 14 15 +1 5 8 11 12 13 14 +1 5 8 11 12 13 15 +1 5 8 11 12 14 15 +1 5 8 11 13 14 15 +1 5 8 12 13 14 15 +1 5 9 10 11 12 13 +1 5 9 10 11 12 14 +1 5 9 10 11 12 15 +1 5 9 10 11 13 14 +1 5 9 10 11 13 15 +1 5 9 10 11 14 15 +1 5 9 10 12 13 14 +1 5 9 10 12 13 15 +1 5 9 10 12 14 15 +1 5 9 10 13 14 15 +1 5 9 11 12 13 14 +1 5 9 11 12 13 15 +1 5 9 11 12 14 15 +1 5 9 11 13 14 15 +1 5 9 12 13 14 15 +1 5 10 11 12 13 14 +1 5 10 11 12 13 15 +1 5 10 11 12 14 15 +1 5 10 11 13 14 15 +1 5 10 12 13 14 15 +1 5 11 12 13 14 15 +1 6 7 8 9 10 11 +1 6 7 8 9 10 12 +1 6 7 8 9 10 13 +1 6 7 8 9 10 14 +1 6 7 8 9 10 15 +1 6 7 8 9 11 12 +1 6 7 8 9 11 13 +1 6 7 8 9 11 14 +1 6 7 8 9 11 15 +1 6 7 8 9 12 13 +1 6 7 8 9 12 14 +1 6 7 8 9 12 15 +1 6 7 8 9 13 14 +1 6 7 8 9 13 15 +1 6 7 8 9 14 15 +1 6 7 8 10 11 12 +1 6 7 8 10 11 13 +1 6 7 8 10 11 14 +1 6 7 8 10 11 15 +1 6 7 8 10 12 13 +1 6 7 8 10 12 14 +1 6 7 8 10 12 15 +1 6 7 8 10 13 14 +1 6 7 8 10 13 15 +1 6 7 8 10 14 15 +1 6 7 8 11 12 13 +1 6 7 8 11 12 14 +1 6 7 8 11 12 15 +1 6 7 8 11 13 14 +1 6 7 8 11 13 15 +1 6 7 8 11 14 15 +1 6 7 8 12 13 14 +1 6 7 8 12 13 15 +1 6 7 8 12 14 15 +1 6 7 8 13 14 15 +1 6 7 9 10 11 12 +1 6 7 9 10 11 13 +1 6 7 9 10 11 14 +1 6 7 9 10 11 15 +1 6 7 9 10 12 13 +1 6 7 9 10 12 14 +1 6 7 9 10 12 15 +1 6 7 9 10 13 14 +1 6 7 9 10 13 15 +1 6 7 9 10 14 15 +1 6 7 9 11 12 13 +1 6 7 9 11 12 14 +1 6 7 9 11 12 15 +1 6 7 9 11 13 14 +1 6 7 9 11 13 15 +1 6 7 9 11 14 15 +1 6 7 9 12 13 14 +1 6 7 9 12 13 15 +1 6 7 9 12 14 15 +1 6 7 9 13 14 15 +1 6 7 10 11 12 13 +1 6 7 10 11 12 14 +1 6 7 10 11 12 15 +1 6 7 10 11 13 14 +1 6 7 10 11 13 15 +1 6 7 10 11 14 15 +1 6 7 10 12 13 14 +1 6 7 10 12 13 15 +1 6 7 10 12 14 15 +1 6 7 10 13 14 15 +1 6 7 11 12 13 14 +1 6 7 11 12 13 15 +1 6 7 11 12 14 15 +1 6 7 11 13 14 15 +1 6 7 12 13 14 15 +1 6 8 9 10 11 12 +1 6 8 9 10 11 13 +1 6 8 9 10 11 14 +1 6 8 9 10 11 15 +1 6 8 9 10 12 13 +1 6 8 9 10 12 14 +1 6 8 9 10 12 15 +1 6 8 9 10 13 14 +1 6 8 9 10 13 15 +1 6 8 9 10 14 15 +1 6 8 9 11 12 13 +1 6 8 9 11 12 14 +1 6 8 9 11 12 15 +1 6 8 9 11 13 14 +1 6 8 9 11 13 15 +1 6 8 9 11 14 15 +1 6 8 9 12 13 14 +1 6 8 9 12 13 15 +1 6 8 9 12 14 15 +1 6 8 9 13 14 15 +1 6 8 10 11 12 13 +1 6 8 10 11 12 14 +1 6 8 10 11 12 15 +1 6 8 10 11 13 14 +1 6 8 10 11 13 15 +1 6 8 10 11 14 15 +1 6 8 10 12 13 14 +1 6 8 10 12 13 15 +1 6 8 10 12 14 15 +1 6 8 10 13 14 15 +1 6 8 11 12 13 14 +1 6 8 11 12 13 15 +1 6 8 11 12 14 15 +1 6 8 11 13 14 15 +1 6 8 12 13 14 15 +1 6 9 10 11 12 13 +1 6 9 10 11 12 14 +1 6 9 10 11 12 15 +1 6 9 10 11 13 14 +1 6 9 10 11 13 15 +1 6 9 10 11 14 15 +1 6 9 10 12 13 14 +1 6 9 10 12 13 15 +1 6 9 10 12 14 15 +1 6 9 10 13 14 15 +1 6 9 11 12 13 14 +1 6 9 11 12 13 15 +1 6 9 11 12 14 15 +1 6 9 11 13 14 15 +1 6 9 12 13 14 15 +1 6 10 11 12 13 14 +1 6 10 11 12 13 15 +1 6 10 11 12 14 15 +1 6 10 11 13 14 15 +1 6 10 12 13 14 15 +1 6 11 12 13 14 15 +1 7 8 9 10 11 12 +1 7 8 9 10 11 13 +1 7 8 9 10 11 14 +1 7 8 9 10 11 15 +1 7 8 9 10 12 13 +1 7 8 9 10 12 14 +1 7 8 9 10 12 15 +1 7 8 9 10 13 14 +1 7 8 9 10 13 15 +1 7 8 9 10 14 15 +1 7 8 9 11 12 13 +1 7 8 9 11 12 14 +1 7 8 9 11 12 15 +1 7 8 9 11 13 14 +1 7 8 9 11 13 15 +1 7 8 9 11 14 15 +1 7 8 9 12 13 14 +1 7 8 9 12 13 15 +1 7 8 9 12 14 15 +1 7 8 9 13 14 15 +1 7 8 10 11 12 13 +1 7 8 10 11 12 14 +1 7 8 10 11 12 15 +1 7 8 10 11 13 14 +1 7 8 10 11 13 15 +1 7 8 10 11 14 15 +1 7 8 10 12 13 14 +1 7 8 10 12 13 15 +1 7 8 10 12 14 15 +1 7 8 10 13 14 15 +1 7 8 11 12 13 14 +1 7 8 11 12 13 15 +1 7 8 11 12 14 15 +1 7 8 11 13 14 15 +1 7 8 12 13 14 15 +1 7 9 10 11 12 13 +1 7 9 10 11 12 14 +1 7 9 10 11 12 15 +1 7 9 10 11 13 14 +1 7 9 10 11 13 15 +1 7 9 10 11 14 15 +1 7 9 10 12 13 14 +1 7 9 10 12 13 15 +1 7 9 10 12 14 15 +1 7 9 10 13 14 15 +1 7 9 11 12 13 14 +1 7 9 11 12 13 15 +1 7 9 11 12 14 15 +1 7 9 11 13 14 15 +1 7 9 12 13 14 15 +1 7 10 11 12 13 14 +1 7 10 11 12 13 15 +1 7 10 11 12 14 15 +1 7 10 11 13 14 15 +1 7 10 12 13 14 15 +1 7 11 12 13 14 15 +1 8 9 10 11 12 13 +1 8 9 10 11 12 14 +1 8 9 10 11 12 15 +1 8 9 10 11 13 14 +1 8 9 10 11 13 15 +1 8 9 10 11 14 15 +1 8 9 10 12 13 14 +1 8 9 10 12 13 15 +1 8 9 10 12 14 15 +1 8 9 10 13 14 15 +1 8 9 11 12 13 14 +1 8 9 11 12 13 15 +1 8 9 11 12 14 15 +1 8 9 11 13 14 15 +1 8 9 12 13 14 15 +1 8 10 11 12 13 14 +1 8 10 11 12 13 15 +1 8 10 11 12 14 15 +1 8 10 11 13 14 15 +1 8 10 12 13 14 15 +1 8 11 12 13 14 15 +1 9 10 11 12 13 14 +1 9 10 11 12 13 15 +1 9 10 11 12 14 15 +1 9 10 11 13 14 15 +1 9 10 12 13 14 15 +1 9 11 12 13 14 15 +1 10 11 12 13 14 15 +2 3 4 5 6 7 8 +2 3 4 5 6 7 9 +2 3 4 5 6 7 10 +2 3 4 5 6 7 11 +2 3 4 5 6 7 12 +2 3 4 5 6 7 13 +2 3 4 5 6 7 14 +2 3 4 5 6 7 15 +2 3 4 5 6 8 9 +2 3 4 5 6 8 10 +2 3 4 5 6 8 11 +2 3 4 5 6 8 12 +2 3 4 5 6 8 13 +2 3 4 5 6 8 14 +2 3 4 5 6 8 15 +2 3 4 5 6 9 10 +2 3 4 5 6 9 11 +2 3 4 5 6 9 12 +2 3 4 5 6 9 13 +2 3 4 5 6 9 14 +2 3 4 5 6 9 15 +2 3 4 5 6 10 11 +2 3 4 5 6 10 12 +2 3 4 5 6 10 13 +2 3 4 5 6 10 14 +2 3 4 5 6 10 15 +2 3 4 5 6 11 12 +2 3 4 5 6 11 13 +2 3 4 5 6 11 14 +2 3 4 5 6 11 15 +2 3 4 5 6 12 13 +2 3 4 5 6 12 14 +2 3 4 5 6 12 15 +2 3 4 5 6 13 14 +2 3 4 5 6 13 15 +2 3 4 5 6 14 15 +2 3 4 5 7 8 9 +2 3 4 5 7 8 10 +2 3 4 5 7 8 11 +2 3 4 5 7 8 12 +2 3 4 5 7 8 13 +2 3 4 5 7 8 14 +2 3 4 5 7 8 15 +2 3 4 5 7 9 10 +2 3 4 5 7 9 11 +2 3 4 5 7 9 12 +2 3 4 5 7 9 13 +2 3 4 5 7 9 14 +2 3 4 5 7 9 15 +2 3 4 5 7 10 11 +2 3 4 5 7 10 12 +2 3 4 5 7 10 13 +2 3 4 5 7 10 14 +2 3 4 5 7 10 15 +2 3 4 5 7 11 12 +2 3 4 5 7 11 13 +2 3 4 5 7 11 14 +2 3 4 5 7 11 15 +2 3 4 5 7 12 13 +2 3 4 5 7 12 14 +2 3 4 5 7 12 15 +2 3 4 5 7 13 14 +2 3 4 5 7 13 15 +2 3 4 5 7 14 15 +2 3 4 5 8 9 10 +2 3 4 5 8 9 11 +2 3 4 5 8 9 12 +2 3 4 5 8 9 13 +2 3 4 5 8 9 14 +2 3 4 5 8 9 15 +2 3 4 5 8 10 11 +2 3 4 5 8 10 12 +2 3 4 5 8 10 13 +2 3 4 5 8 10 14 +2 3 4 5 8 10 15 +2 3 4 5 8 11 12 +2 3 4 5 8 11 13 +2 3 4 5 8 11 14 +2 3 4 5 8 11 15 +2 3 4 5 8 12 13 +2 3 4 5 8 12 14 +2 3 4 5 8 12 15 +2 3 4 5 8 13 14 +2 3 4 5 8 13 15 +2 3 4 5 8 14 15 +2 3 4 5 9 10 11 +2 3 4 5 9 10 12 +2 3 4 5 9 10 13 +2 3 4 5 9 10 14 +2 3 4 5 9 10 15 +2 3 4 5 9 11 12 +2 3 4 5 9 11 13 +2 3 4 5 9 11 14 +2 3 4 5 9 11 15 +2 3 4 5 9 12 13 +2 3 4 5 9 12 14 +2 3 4 5 9 12 15 +2 3 4 5 9 13 14 +2 3 4 5 9 13 15 +2 3 4 5 9 14 15 +2 3 4 5 10 11 12 +2 3 4 5 10 11 13 +2 3 4 5 10 11 14 +2 3 4 5 10 11 15 +2 3 4 5 10 12 13 +2 3 4 5 10 12 14 +2 3 4 5 10 12 15 +2 3 4 5 10 13 14 +2 3 4 5 10 13 15 +2 3 4 5 10 14 15 +2 3 4 5 11 12 13 +2 3 4 5 11 12 14 +2 3 4 5 11 12 15 +2 3 4 5 11 13 14 +2 3 4 5 11 13 15 +2 3 4 5 11 14 15 +2 3 4 5 12 13 14 +2 3 4 5 12 13 15 +2 3 4 5 12 14 15 +2 3 4 5 13 14 15 +2 3 4 6 7 8 9 +2 3 4 6 7 8 10 +2 3 4 6 7 8 11 +2 3 4 6 7 8 12 +2 3 4 6 7 8 13 +2 3 4 6 7 8 14 +2 3 4 6 7 8 15 +2 3 4 6 7 9 10 +2 3 4 6 7 9 11 +2 3 4 6 7 9 12 +2 3 4 6 7 9 13 +2 3 4 6 7 9 14 +2 3 4 6 7 9 15 +2 3 4 6 7 10 11 +2 3 4 6 7 10 12 +2 3 4 6 7 10 13 +2 3 4 6 7 10 14 +2 3 4 6 7 10 15 +2 3 4 6 7 11 12 +2 3 4 6 7 11 13 +2 3 4 6 7 11 14 +2 3 4 6 7 11 15 +2 3 4 6 7 12 13 +2 3 4 6 7 12 14 +2 3 4 6 7 12 15 +2 3 4 6 7 13 14 +2 3 4 6 7 13 15 +2 3 4 6 7 14 15 +2 3 4 6 8 9 10 +2 3 4 6 8 9 11 +2 3 4 6 8 9 12 +2 3 4 6 8 9 13 +2 3 4 6 8 9 14 +2 3 4 6 8 9 15 +2 3 4 6 8 10 11 +2 3 4 6 8 10 12 +2 3 4 6 8 10 13 +2 3 4 6 8 10 14 +2 3 4 6 8 10 15 +2 3 4 6 8 11 12 +2 3 4 6 8 11 13 +2 3 4 6 8 11 14 +2 3 4 6 8 11 15 +2 3 4 6 8 12 13 +2 3 4 6 8 12 14 +2 3 4 6 8 12 15 +2 3 4 6 8 13 14 +2 3 4 6 8 13 15 +2 3 4 6 8 14 15 +2 3 4 6 9 10 11 +2 3 4 6 9 10 12 +2 3 4 6 9 10 13 +2 3 4 6 9 10 14 +2 3 4 6 9 10 15 +2 3 4 6 9 11 12 +2 3 4 6 9 11 13 +2 3 4 6 9 11 14 +2 3 4 6 9 11 15 +2 3 4 6 9 12 13 +2 3 4 6 9 12 14 +2 3 4 6 9 12 15 +2 3 4 6 9 13 14 +2 3 4 6 9 13 15 +2 3 4 6 9 14 15 +2 3 4 6 10 11 12 +2 3 4 6 10 11 13 +2 3 4 6 10 11 14 +2 3 4 6 10 11 15 +2 3 4 6 10 12 13 +2 3 4 6 10 12 14 +2 3 4 6 10 12 15 +2 3 4 6 10 13 14 +2 3 4 6 10 13 15 +2 3 4 6 10 14 15 +2 3 4 6 11 12 13 +2 3 4 6 11 12 14 +2 3 4 6 11 12 15 +2 3 4 6 11 13 14 +2 3 4 6 11 13 15 +2 3 4 6 11 14 15 +2 3 4 6 12 13 14 +2 3 4 6 12 13 15 +2 3 4 6 12 14 15 +2 3 4 6 13 14 15 +2 3 4 7 8 9 10 +2 3 4 7 8 9 11 +2 3 4 7 8 9 12 +2 3 4 7 8 9 13 +2 3 4 7 8 9 14 +2 3 4 7 8 9 15 +2 3 4 7 8 10 11 +2 3 4 7 8 10 12 +2 3 4 7 8 10 13 +2 3 4 7 8 10 14 +2 3 4 7 8 10 15 +2 3 4 7 8 11 12 +2 3 4 7 8 11 13 +2 3 4 7 8 11 14 +2 3 4 7 8 11 15 +2 3 4 7 8 12 13 +2 3 4 7 8 12 14 +2 3 4 7 8 12 15 +2 3 4 7 8 13 14 +2 3 4 7 8 13 15 +2 3 4 7 8 14 15 +2 3 4 7 9 10 11 +2 3 4 7 9 10 12 +2 3 4 7 9 10 13 +2 3 4 7 9 10 14 +2 3 4 7 9 10 15 +2 3 4 7 9 11 12 +2 3 4 7 9 11 13 +2 3 4 7 9 11 14 +2 3 4 7 9 11 15 +2 3 4 7 9 12 13 +2 3 4 7 9 12 14 +2 3 4 7 9 12 15 +2 3 4 7 9 13 14 +2 3 4 7 9 13 15 +2 3 4 7 9 14 15 +2 3 4 7 10 11 12 +2 3 4 7 10 11 13 +2 3 4 7 10 11 14 +2 3 4 7 10 11 15 +2 3 4 7 10 12 13 +2 3 4 7 10 12 14 +2 3 4 7 10 12 15 +2 3 4 7 10 13 14 +2 3 4 7 10 13 15 +2 3 4 7 10 14 15 +2 3 4 7 11 12 13 +2 3 4 7 11 12 14 +2 3 4 7 11 12 15 +2 3 4 7 11 13 14 +2 3 4 7 11 13 15 +2 3 4 7 11 14 15 +2 3 4 7 12 13 14 +2 3 4 7 12 13 15 +2 3 4 7 12 14 15 +2 3 4 7 13 14 15 +2 3 4 8 9 10 11 +2 3 4 8 9 10 12 +2 3 4 8 9 10 13 +2 3 4 8 9 10 14 +2 3 4 8 9 10 15 +2 3 4 8 9 11 12 +2 3 4 8 9 11 13 +2 3 4 8 9 11 14 +2 3 4 8 9 11 15 +2 3 4 8 9 12 13 +2 3 4 8 9 12 14 +2 3 4 8 9 12 15 +2 3 4 8 9 13 14 +2 3 4 8 9 13 15 +2 3 4 8 9 14 15 +2 3 4 8 10 11 12 +2 3 4 8 10 11 13 +2 3 4 8 10 11 14 +2 3 4 8 10 11 15 +2 3 4 8 10 12 13 +2 3 4 8 10 12 14 +2 3 4 8 10 12 15 +2 3 4 8 10 13 14 +2 3 4 8 10 13 15 +2 3 4 8 10 14 15 +2 3 4 8 11 12 13 +2 3 4 8 11 12 14 +2 3 4 8 11 12 15 +2 3 4 8 11 13 14 +2 3 4 8 11 13 15 +2 3 4 8 11 14 15 +2 3 4 8 12 13 14 +2 3 4 8 12 13 15 +2 3 4 8 12 14 15 +2 3 4 8 13 14 15 +2 3 4 9 10 11 12 +2 3 4 9 10 11 13 +2 3 4 9 10 11 14 +2 3 4 9 10 11 15 +2 3 4 9 10 12 13 +2 3 4 9 10 12 14 +2 3 4 9 10 12 15 +2 3 4 9 10 13 14 +2 3 4 9 10 13 15 +2 3 4 9 10 14 15 +2 3 4 9 11 12 13 +2 3 4 9 11 12 14 +2 3 4 9 11 12 15 +2 3 4 9 11 13 14 +2 3 4 9 11 13 15 +2 3 4 9 11 14 15 +2 3 4 9 12 13 14 +2 3 4 9 12 13 15 +2 3 4 9 12 14 15 +2 3 4 9 13 14 15 +2 3 4 10 11 12 13 +2 3 4 10 11 12 14 +2 3 4 10 11 12 15 +2 3 4 10 11 13 14 +2 3 4 10 11 13 15 +2 3 4 10 11 14 15 +2 3 4 10 12 13 14 +2 3 4 10 12 13 15 +2 3 4 10 12 14 15 +2 3 4 10 13 14 15 +2 3 4 11 12 13 14 +2 3 4 11 12 13 15 +2 3 4 11 12 14 15 +2 3 4 11 13 14 15 +2 3 4 12 13 14 15 +2 3 5 6 7 8 9 +2 3 5 6 7 8 10 +2 3 5 6 7 8 11 +2 3 5 6 7 8 12 +2 3 5 6 7 8 13 +2 3 5 6 7 8 14 +2 3 5 6 7 8 15 +2 3 5 6 7 9 10 +2 3 5 6 7 9 11 +2 3 5 6 7 9 12 +2 3 5 6 7 9 13 +2 3 5 6 7 9 14 +2 3 5 6 7 9 15 +2 3 5 6 7 10 11 +2 3 5 6 7 10 12 +2 3 5 6 7 10 13 +2 3 5 6 7 10 14 +2 3 5 6 7 10 15 +2 3 5 6 7 11 12 +2 3 5 6 7 11 13 +2 3 5 6 7 11 14 +2 3 5 6 7 11 15 +2 3 5 6 7 12 13 +2 3 5 6 7 12 14 +2 3 5 6 7 12 15 +2 3 5 6 7 13 14 +2 3 5 6 7 13 15 +2 3 5 6 7 14 15 +2 3 5 6 8 9 10 +2 3 5 6 8 9 11 +2 3 5 6 8 9 12 +2 3 5 6 8 9 13 +2 3 5 6 8 9 14 +2 3 5 6 8 9 15 +2 3 5 6 8 10 11 +2 3 5 6 8 10 12 +2 3 5 6 8 10 13 +2 3 5 6 8 10 14 +2 3 5 6 8 10 15 +2 3 5 6 8 11 12 +2 3 5 6 8 11 13 +2 3 5 6 8 11 14 +2 3 5 6 8 11 15 +2 3 5 6 8 12 13 +2 3 5 6 8 12 14 +2 3 5 6 8 12 15 +2 3 5 6 8 13 14 +2 3 5 6 8 13 15 +2 3 5 6 8 14 15 +2 3 5 6 9 10 11 +2 3 5 6 9 10 12 +2 3 5 6 9 10 13 +2 3 5 6 9 10 14 +2 3 5 6 9 10 15 +2 3 5 6 9 11 12 +2 3 5 6 9 11 13 +2 3 5 6 9 11 14 +2 3 5 6 9 11 15 +2 3 5 6 9 12 13 +2 3 5 6 9 12 14 +2 3 5 6 9 12 15 +2 3 5 6 9 13 14 +2 3 5 6 9 13 15 +2 3 5 6 9 14 15 +2 3 5 6 10 11 12 +2 3 5 6 10 11 13 +2 3 5 6 10 11 14 +2 3 5 6 10 11 15 +2 3 5 6 10 12 13 +2 3 5 6 10 12 14 +2 3 5 6 10 12 15 +2 3 5 6 10 13 14 +2 3 5 6 10 13 15 +2 3 5 6 10 14 15 +2 3 5 6 11 12 13 +2 3 5 6 11 12 14 +2 3 5 6 11 12 15 +2 3 5 6 11 13 14 +2 3 5 6 11 13 15 +2 3 5 6 11 14 15 +2 3 5 6 12 13 14 +2 3 5 6 12 13 15 +2 3 5 6 12 14 15 +2 3 5 6 13 14 15 +2 3 5 7 8 9 10 +2 3 5 7 8 9 11 +2 3 5 7 8 9 12 +2 3 5 7 8 9 13 +2 3 5 7 8 9 14 +2 3 5 7 8 9 15 +2 3 5 7 8 10 11 +2 3 5 7 8 10 12 +2 3 5 7 8 10 13 +2 3 5 7 8 10 14 +2 3 5 7 8 10 15 +2 3 5 7 8 11 12 +2 3 5 7 8 11 13 +2 3 5 7 8 11 14 +2 3 5 7 8 11 15 +2 3 5 7 8 12 13 +2 3 5 7 8 12 14 +2 3 5 7 8 12 15 +2 3 5 7 8 13 14 +2 3 5 7 8 13 15 +2 3 5 7 8 14 15 +2 3 5 7 9 10 11 +2 3 5 7 9 10 12 +2 3 5 7 9 10 13 +2 3 5 7 9 10 14 +2 3 5 7 9 10 15 +2 3 5 7 9 11 12 +2 3 5 7 9 11 13 +2 3 5 7 9 11 14 +2 3 5 7 9 11 15 +2 3 5 7 9 12 13 +2 3 5 7 9 12 14 +2 3 5 7 9 12 15 +2 3 5 7 9 13 14 +2 3 5 7 9 13 15 +2 3 5 7 9 14 15 +2 3 5 7 10 11 12 +2 3 5 7 10 11 13 +2 3 5 7 10 11 14 +2 3 5 7 10 11 15 +2 3 5 7 10 12 13 +2 3 5 7 10 12 14 +2 3 5 7 10 12 15 +2 3 5 7 10 13 14 +2 3 5 7 10 13 15 +2 3 5 7 10 14 15 +2 3 5 7 11 12 13 +2 3 5 7 11 12 14 +2 3 5 7 11 12 15 +2 3 5 7 11 13 14 +2 3 5 7 11 13 15 +2 3 5 7 11 14 15 +2 3 5 7 12 13 14 +2 3 5 7 12 13 15 +2 3 5 7 12 14 15 +2 3 5 7 13 14 15 +2 3 5 8 9 10 11 +2 3 5 8 9 10 12 +2 3 5 8 9 10 13 +2 3 5 8 9 10 14 +2 3 5 8 9 10 15 +2 3 5 8 9 11 12 +2 3 5 8 9 11 13 +2 3 5 8 9 11 14 +2 3 5 8 9 11 15 +2 3 5 8 9 12 13 +2 3 5 8 9 12 14 +2 3 5 8 9 12 15 +2 3 5 8 9 13 14 +2 3 5 8 9 13 15 +2 3 5 8 9 14 15 +2 3 5 8 10 11 12 +2 3 5 8 10 11 13 +2 3 5 8 10 11 14 +2 3 5 8 10 11 15 +2 3 5 8 10 12 13 +2 3 5 8 10 12 14 +2 3 5 8 10 12 15 +2 3 5 8 10 13 14 +2 3 5 8 10 13 15 +2 3 5 8 10 14 15 +2 3 5 8 11 12 13 +2 3 5 8 11 12 14 +2 3 5 8 11 12 15 +2 3 5 8 11 13 14 +2 3 5 8 11 13 15 +2 3 5 8 11 14 15 +2 3 5 8 12 13 14 +2 3 5 8 12 13 15 +2 3 5 8 12 14 15 +2 3 5 8 13 14 15 +2 3 5 9 10 11 12 +2 3 5 9 10 11 13 +2 3 5 9 10 11 14 +2 3 5 9 10 11 15 +2 3 5 9 10 12 13 +2 3 5 9 10 12 14 +2 3 5 9 10 12 15 +2 3 5 9 10 13 14 +2 3 5 9 10 13 15 +2 3 5 9 10 14 15 +2 3 5 9 11 12 13 +2 3 5 9 11 12 14 +2 3 5 9 11 12 15 +2 3 5 9 11 13 14 +2 3 5 9 11 13 15 +2 3 5 9 11 14 15 +2 3 5 9 12 13 14 +2 3 5 9 12 13 15 +2 3 5 9 12 14 15 +2 3 5 9 13 14 15 +2 3 5 10 11 12 13 +2 3 5 10 11 12 14 +2 3 5 10 11 12 15 +2 3 5 10 11 13 14 +2 3 5 10 11 13 15 +2 3 5 10 11 14 15 +2 3 5 10 12 13 14 +2 3 5 10 12 13 15 +2 3 5 10 12 14 15 +2 3 5 10 13 14 15 +2 3 5 11 12 13 14 +2 3 5 11 12 13 15 +2 3 5 11 12 14 15 +2 3 5 11 13 14 15 +2 3 5 12 13 14 15 +2 3 6 7 8 9 10 +2 3 6 7 8 9 11 +2 3 6 7 8 9 12 +2 3 6 7 8 9 13 +2 3 6 7 8 9 14 +2 3 6 7 8 9 15 +2 3 6 7 8 10 11 +2 3 6 7 8 10 12 +2 3 6 7 8 10 13 +2 3 6 7 8 10 14 +2 3 6 7 8 10 15 +2 3 6 7 8 11 12 +2 3 6 7 8 11 13 +2 3 6 7 8 11 14 +2 3 6 7 8 11 15 +2 3 6 7 8 12 13 +2 3 6 7 8 12 14 +2 3 6 7 8 12 15 +2 3 6 7 8 13 14 +2 3 6 7 8 13 15 +2 3 6 7 8 14 15 +2 3 6 7 9 10 11 +2 3 6 7 9 10 12 +2 3 6 7 9 10 13 +2 3 6 7 9 10 14 +2 3 6 7 9 10 15 +2 3 6 7 9 11 12 +2 3 6 7 9 11 13 +2 3 6 7 9 11 14 +2 3 6 7 9 11 15 +2 3 6 7 9 12 13 +2 3 6 7 9 12 14 +2 3 6 7 9 12 15 +2 3 6 7 9 13 14 +2 3 6 7 9 13 15 +2 3 6 7 9 14 15 +2 3 6 7 10 11 12 +2 3 6 7 10 11 13 +2 3 6 7 10 11 14 +2 3 6 7 10 11 15 +2 3 6 7 10 12 13 +2 3 6 7 10 12 14 +2 3 6 7 10 12 15 +2 3 6 7 10 13 14 +2 3 6 7 10 13 15 +2 3 6 7 10 14 15 +2 3 6 7 11 12 13 +2 3 6 7 11 12 14 +2 3 6 7 11 12 15 +2 3 6 7 11 13 14 +2 3 6 7 11 13 15 +2 3 6 7 11 14 15 +2 3 6 7 12 13 14 +2 3 6 7 12 13 15 +2 3 6 7 12 14 15 +2 3 6 7 13 14 15 +2 3 6 8 9 10 11 +2 3 6 8 9 10 12 +2 3 6 8 9 10 13 +2 3 6 8 9 10 14 +2 3 6 8 9 10 15 +2 3 6 8 9 11 12 +2 3 6 8 9 11 13 +2 3 6 8 9 11 14 +2 3 6 8 9 11 15 +2 3 6 8 9 12 13 +2 3 6 8 9 12 14 +2 3 6 8 9 12 15 +2 3 6 8 9 13 14 +2 3 6 8 9 13 15 +2 3 6 8 9 14 15 +2 3 6 8 10 11 12 +2 3 6 8 10 11 13 +2 3 6 8 10 11 14 +2 3 6 8 10 11 15 +2 3 6 8 10 12 13 +2 3 6 8 10 12 14 +2 3 6 8 10 12 15 +2 3 6 8 10 13 14 +2 3 6 8 10 13 15 +2 3 6 8 10 14 15 +2 3 6 8 11 12 13 +2 3 6 8 11 12 14 +2 3 6 8 11 12 15 +2 3 6 8 11 13 14 +2 3 6 8 11 13 15 +2 3 6 8 11 14 15 +2 3 6 8 12 13 14 +2 3 6 8 12 13 15 +2 3 6 8 12 14 15 +2 3 6 8 13 14 15 +2 3 6 9 10 11 12 +2 3 6 9 10 11 13 +2 3 6 9 10 11 14 +2 3 6 9 10 11 15 +2 3 6 9 10 12 13 +2 3 6 9 10 12 14 +2 3 6 9 10 12 15 +2 3 6 9 10 13 14 +2 3 6 9 10 13 15 +2 3 6 9 10 14 15 +2 3 6 9 11 12 13 +2 3 6 9 11 12 14 +2 3 6 9 11 12 15 +2 3 6 9 11 13 14 +2 3 6 9 11 13 15 +2 3 6 9 11 14 15 +2 3 6 9 12 13 14 +2 3 6 9 12 13 15 +2 3 6 9 12 14 15 +2 3 6 9 13 14 15 +2 3 6 10 11 12 13 +2 3 6 10 11 12 14 +2 3 6 10 11 12 15 +2 3 6 10 11 13 14 +2 3 6 10 11 13 15 +2 3 6 10 11 14 15 +2 3 6 10 12 13 14 +2 3 6 10 12 13 15 +2 3 6 10 12 14 15 +2 3 6 10 13 14 15 +2 3 6 11 12 13 14 +2 3 6 11 12 13 15 +2 3 6 11 12 14 15 +2 3 6 11 13 14 15 +2 3 6 12 13 14 15 +2 3 7 8 9 10 11 +2 3 7 8 9 10 12 +2 3 7 8 9 10 13 +2 3 7 8 9 10 14 +2 3 7 8 9 10 15 +2 3 7 8 9 11 12 +2 3 7 8 9 11 13 +2 3 7 8 9 11 14 +2 3 7 8 9 11 15 +2 3 7 8 9 12 13 +2 3 7 8 9 12 14 +2 3 7 8 9 12 15 +2 3 7 8 9 13 14 +2 3 7 8 9 13 15 +2 3 7 8 9 14 15 +2 3 7 8 10 11 12 +2 3 7 8 10 11 13 +2 3 7 8 10 11 14 +2 3 7 8 10 11 15 +2 3 7 8 10 12 13 +2 3 7 8 10 12 14 +2 3 7 8 10 12 15 +2 3 7 8 10 13 14 +2 3 7 8 10 13 15 +2 3 7 8 10 14 15 +2 3 7 8 11 12 13 +2 3 7 8 11 12 14 +2 3 7 8 11 12 15 +2 3 7 8 11 13 14 +2 3 7 8 11 13 15 +2 3 7 8 11 14 15 +2 3 7 8 12 13 14 +2 3 7 8 12 13 15 +2 3 7 8 12 14 15 +2 3 7 8 13 14 15 +2 3 7 9 10 11 12 +2 3 7 9 10 11 13 +2 3 7 9 10 11 14 +2 3 7 9 10 11 15 +2 3 7 9 10 12 13 +2 3 7 9 10 12 14 +2 3 7 9 10 12 15 +2 3 7 9 10 13 14 +2 3 7 9 10 13 15 +2 3 7 9 10 14 15 +2 3 7 9 11 12 13 +2 3 7 9 11 12 14 +2 3 7 9 11 12 15 +2 3 7 9 11 13 14 +2 3 7 9 11 13 15 +2 3 7 9 11 14 15 +2 3 7 9 12 13 14 +2 3 7 9 12 13 15 +2 3 7 9 12 14 15 +2 3 7 9 13 14 15 +2 3 7 10 11 12 13 +2 3 7 10 11 12 14 +2 3 7 10 11 12 15 +2 3 7 10 11 13 14 +2 3 7 10 11 13 15 +2 3 7 10 11 14 15 +2 3 7 10 12 13 14 +2 3 7 10 12 13 15 +2 3 7 10 12 14 15 +2 3 7 10 13 14 15 +2 3 7 11 12 13 14 +2 3 7 11 12 13 15 +2 3 7 11 12 14 15 +2 3 7 11 13 14 15 +2 3 7 12 13 14 15 +2 3 8 9 10 11 12 +2 3 8 9 10 11 13 +2 3 8 9 10 11 14 +2 3 8 9 10 11 15 +2 3 8 9 10 12 13 +2 3 8 9 10 12 14 +2 3 8 9 10 12 15 +2 3 8 9 10 13 14 +2 3 8 9 10 13 15 +2 3 8 9 10 14 15 +2 3 8 9 11 12 13 +2 3 8 9 11 12 14 +2 3 8 9 11 12 15 +2 3 8 9 11 13 14 +2 3 8 9 11 13 15 +2 3 8 9 11 14 15 +2 3 8 9 12 13 14 +2 3 8 9 12 13 15 +2 3 8 9 12 14 15 +2 3 8 9 13 14 15 +2 3 8 10 11 12 13 +2 3 8 10 11 12 14 +2 3 8 10 11 12 15 +2 3 8 10 11 13 14 +2 3 8 10 11 13 15 +2 3 8 10 11 14 15 +2 3 8 10 12 13 14 +2 3 8 10 12 13 15 +2 3 8 10 12 14 15 +2 3 8 10 13 14 15 +2 3 8 11 12 13 14 +2 3 8 11 12 13 15 +2 3 8 11 12 14 15 +2 3 8 11 13 14 15 +2 3 8 12 13 14 15 +2 3 9 10 11 12 13 +2 3 9 10 11 12 14 +2 3 9 10 11 12 15 +2 3 9 10 11 13 14 +2 3 9 10 11 13 15 +2 3 9 10 11 14 15 +2 3 9 10 12 13 14 +2 3 9 10 12 13 15 +2 3 9 10 12 14 15 +2 3 9 10 13 14 15 +2 3 9 11 12 13 14 +2 3 9 11 12 13 15 +2 3 9 11 12 14 15 +2 3 9 11 13 14 15 +2 3 9 12 13 14 15 +2 3 10 11 12 13 14 +2 3 10 11 12 13 15 +2 3 10 11 12 14 15 +2 3 10 11 13 14 15 +2 3 10 12 13 14 15 +2 3 11 12 13 14 15 +2 4 5 6 7 8 9 +2 4 5 6 7 8 10 +2 4 5 6 7 8 11 +2 4 5 6 7 8 12 +2 4 5 6 7 8 13 +2 4 5 6 7 8 14 +2 4 5 6 7 8 15 +2 4 5 6 7 9 10 +2 4 5 6 7 9 11 +2 4 5 6 7 9 12 +2 4 5 6 7 9 13 +2 4 5 6 7 9 14 +2 4 5 6 7 9 15 +2 4 5 6 7 10 11 +2 4 5 6 7 10 12 +2 4 5 6 7 10 13 +2 4 5 6 7 10 14 +2 4 5 6 7 10 15 +2 4 5 6 7 11 12 +2 4 5 6 7 11 13 +2 4 5 6 7 11 14 +2 4 5 6 7 11 15 +2 4 5 6 7 12 13 +2 4 5 6 7 12 14 +2 4 5 6 7 12 15 +2 4 5 6 7 13 14 +2 4 5 6 7 13 15 +2 4 5 6 7 14 15 +2 4 5 6 8 9 10 +2 4 5 6 8 9 11 +2 4 5 6 8 9 12 +2 4 5 6 8 9 13 +2 4 5 6 8 9 14 +2 4 5 6 8 9 15 +2 4 5 6 8 10 11 +2 4 5 6 8 10 12 +2 4 5 6 8 10 13 +2 4 5 6 8 10 14 +2 4 5 6 8 10 15 +2 4 5 6 8 11 12 +2 4 5 6 8 11 13 +2 4 5 6 8 11 14 +2 4 5 6 8 11 15 +2 4 5 6 8 12 13 +2 4 5 6 8 12 14 +2 4 5 6 8 12 15 +2 4 5 6 8 13 14 +2 4 5 6 8 13 15 +2 4 5 6 8 14 15 +2 4 5 6 9 10 11 +2 4 5 6 9 10 12 +2 4 5 6 9 10 13 +2 4 5 6 9 10 14 +2 4 5 6 9 10 15 +2 4 5 6 9 11 12 +2 4 5 6 9 11 13 +2 4 5 6 9 11 14 +2 4 5 6 9 11 15 +2 4 5 6 9 12 13 +2 4 5 6 9 12 14 +2 4 5 6 9 12 15 +2 4 5 6 9 13 14 +2 4 5 6 9 13 15 +2 4 5 6 9 14 15 +2 4 5 6 10 11 12 +2 4 5 6 10 11 13 +2 4 5 6 10 11 14 +2 4 5 6 10 11 15 +2 4 5 6 10 12 13 +2 4 5 6 10 12 14 +2 4 5 6 10 12 15 +2 4 5 6 10 13 14 +2 4 5 6 10 13 15 +2 4 5 6 10 14 15 +2 4 5 6 11 12 13 +2 4 5 6 11 12 14 +2 4 5 6 11 12 15 +2 4 5 6 11 13 14 +2 4 5 6 11 13 15 +2 4 5 6 11 14 15 +2 4 5 6 12 13 14 +2 4 5 6 12 13 15 +2 4 5 6 12 14 15 +2 4 5 6 13 14 15 +2 4 5 7 8 9 10 +2 4 5 7 8 9 11 +2 4 5 7 8 9 12 +2 4 5 7 8 9 13 +2 4 5 7 8 9 14 +2 4 5 7 8 9 15 +2 4 5 7 8 10 11 +2 4 5 7 8 10 12 +2 4 5 7 8 10 13 +2 4 5 7 8 10 14 +2 4 5 7 8 10 15 +2 4 5 7 8 11 12 +2 4 5 7 8 11 13 +2 4 5 7 8 11 14 +2 4 5 7 8 11 15 +2 4 5 7 8 12 13 +2 4 5 7 8 12 14 +2 4 5 7 8 12 15 +2 4 5 7 8 13 14 +2 4 5 7 8 13 15 +2 4 5 7 8 14 15 +2 4 5 7 9 10 11 +2 4 5 7 9 10 12 +2 4 5 7 9 10 13 +2 4 5 7 9 10 14 +2 4 5 7 9 10 15 +2 4 5 7 9 11 12 +2 4 5 7 9 11 13 +2 4 5 7 9 11 14 +2 4 5 7 9 11 15 +2 4 5 7 9 12 13 +2 4 5 7 9 12 14 +2 4 5 7 9 12 15 +2 4 5 7 9 13 14 +2 4 5 7 9 13 15 +2 4 5 7 9 14 15 +2 4 5 7 10 11 12 +2 4 5 7 10 11 13 +2 4 5 7 10 11 14 +2 4 5 7 10 11 15 +2 4 5 7 10 12 13 +2 4 5 7 10 12 14 +2 4 5 7 10 12 15 +2 4 5 7 10 13 14 +2 4 5 7 10 13 15 +2 4 5 7 10 14 15 +2 4 5 7 11 12 13 +2 4 5 7 11 12 14 +2 4 5 7 11 12 15 +2 4 5 7 11 13 14 +2 4 5 7 11 13 15 +2 4 5 7 11 14 15 +2 4 5 7 12 13 14 +2 4 5 7 12 13 15 +2 4 5 7 12 14 15 +2 4 5 7 13 14 15 +2 4 5 8 9 10 11 +2 4 5 8 9 10 12 +2 4 5 8 9 10 13 +2 4 5 8 9 10 14 +2 4 5 8 9 10 15 +2 4 5 8 9 11 12 +2 4 5 8 9 11 13 +2 4 5 8 9 11 14 +2 4 5 8 9 11 15 +2 4 5 8 9 12 13 +2 4 5 8 9 12 14 +2 4 5 8 9 12 15 +2 4 5 8 9 13 14 +2 4 5 8 9 13 15 +2 4 5 8 9 14 15 +2 4 5 8 10 11 12 +2 4 5 8 10 11 13 +2 4 5 8 10 11 14 +2 4 5 8 10 11 15 +2 4 5 8 10 12 13 +2 4 5 8 10 12 14 +2 4 5 8 10 12 15 +2 4 5 8 10 13 14 +2 4 5 8 10 13 15 +2 4 5 8 10 14 15 +2 4 5 8 11 12 13 +2 4 5 8 11 12 14 +2 4 5 8 11 12 15 +2 4 5 8 11 13 14 +2 4 5 8 11 13 15 +2 4 5 8 11 14 15 +2 4 5 8 12 13 14 +2 4 5 8 12 13 15 +2 4 5 8 12 14 15 +2 4 5 8 13 14 15 +2 4 5 9 10 11 12 +2 4 5 9 10 11 13 +2 4 5 9 10 11 14 +2 4 5 9 10 11 15 +2 4 5 9 10 12 13 +2 4 5 9 10 12 14 +2 4 5 9 10 12 15 +2 4 5 9 10 13 14 +2 4 5 9 10 13 15 +2 4 5 9 10 14 15 +2 4 5 9 11 12 13 +2 4 5 9 11 12 14 +2 4 5 9 11 12 15 +2 4 5 9 11 13 14 +2 4 5 9 11 13 15 +2 4 5 9 11 14 15 +2 4 5 9 12 13 14 +2 4 5 9 12 13 15 +2 4 5 9 12 14 15 +2 4 5 9 13 14 15 +2 4 5 10 11 12 13 +2 4 5 10 11 12 14 +2 4 5 10 11 12 15 +2 4 5 10 11 13 14 +2 4 5 10 11 13 15 +2 4 5 10 11 14 15 +2 4 5 10 12 13 14 +2 4 5 10 12 13 15 +2 4 5 10 12 14 15 +2 4 5 10 13 14 15 +2 4 5 11 12 13 14 +2 4 5 11 12 13 15 +2 4 5 11 12 14 15 +2 4 5 11 13 14 15 +2 4 5 12 13 14 15 +2 4 6 7 8 9 10 +2 4 6 7 8 9 11 +2 4 6 7 8 9 12 +2 4 6 7 8 9 13 +2 4 6 7 8 9 14 +2 4 6 7 8 9 15 +2 4 6 7 8 10 11 +2 4 6 7 8 10 12 +2 4 6 7 8 10 13 +2 4 6 7 8 10 14 +2 4 6 7 8 10 15 +2 4 6 7 8 11 12 +2 4 6 7 8 11 13 +2 4 6 7 8 11 14 +2 4 6 7 8 11 15 +2 4 6 7 8 12 13 +2 4 6 7 8 12 14 +2 4 6 7 8 12 15 +2 4 6 7 8 13 14 +2 4 6 7 8 13 15 +2 4 6 7 8 14 15 +2 4 6 7 9 10 11 +2 4 6 7 9 10 12 +2 4 6 7 9 10 13 +2 4 6 7 9 10 14 +2 4 6 7 9 10 15 +2 4 6 7 9 11 12 +2 4 6 7 9 11 13 +2 4 6 7 9 11 14 +2 4 6 7 9 11 15 +2 4 6 7 9 12 13 +2 4 6 7 9 12 14 +2 4 6 7 9 12 15 +2 4 6 7 9 13 14 +2 4 6 7 9 13 15 +2 4 6 7 9 14 15 +2 4 6 7 10 11 12 +2 4 6 7 10 11 13 +2 4 6 7 10 11 14 +2 4 6 7 10 11 15 +2 4 6 7 10 12 13 +2 4 6 7 10 12 14 +2 4 6 7 10 12 15 +2 4 6 7 10 13 14 +2 4 6 7 10 13 15 +2 4 6 7 10 14 15 +2 4 6 7 11 12 13 +2 4 6 7 11 12 14 +2 4 6 7 11 12 15 +2 4 6 7 11 13 14 +2 4 6 7 11 13 15 +2 4 6 7 11 14 15 +2 4 6 7 12 13 14 +2 4 6 7 12 13 15 +2 4 6 7 12 14 15 +2 4 6 7 13 14 15 +2 4 6 8 9 10 11 +2 4 6 8 9 10 12 +2 4 6 8 9 10 13 +2 4 6 8 9 10 14 +2 4 6 8 9 10 15 +2 4 6 8 9 11 12 +2 4 6 8 9 11 13 +2 4 6 8 9 11 14 +2 4 6 8 9 11 15 +2 4 6 8 9 12 13 +2 4 6 8 9 12 14 +2 4 6 8 9 12 15 +2 4 6 8 9 13 14 +2 4 6 8 9 13 15 +2 4 6 8 9 14 15 +2 4 6 8 10 11 12 +2 4 6 8 10 11 13 +2 4 6 8 10 11 14 +2 4 6 8 10 11 15 +2 4 6 8 10 12 13 +2 4 6 8 10 12 14 +2 4 6 8 10 12 15 +2 4 6 8 10 13 14 +2 4 6 8 10 13 15 +2 4 6 8 10 14 15 +2 4 6 8 11 12 13 +2 4 6 8 11 12 14 +2 4 6 8 11 12 15 +2 4 6 8 11 13 14 +2 4 6 8 11 13 15 +2 4 6 8 11 14 15 +2 4 6 8 12 13 14 +2 4 6 8 12 13 15 +2 4 6 8 12 14 15 +2 4 6 8 13 14 15 +2 4 6 9 10 11 12 +2 4 6 9 10 11 13 +2 4 6 9 10 11 14 +2 4 6 9 10 11 15 +2 4 6 9 10 12 13 +2 4 6 9 10 12 14 +2 4 6 9 10 12 15 +2 4 6 9 10 13 14 +2 4 6 9 10 13 15 +2 4 6 9 10 14 15 +2 4 6 9 11 12 13 +2 4 6 9 11 12 14 +2 4 6 9 11 12 15 +2 4 6 9 11 13 14 +2 4 6 9 11 13 15 +2 4 6 9 11 14 15 +2 4 6 9 12 13 14 +2 4 6 9 12 13 15 +2 4 6 9 12 14 15 +2 4 6 9 13 14 15 +2 4 6 10 11 12 13 +2 4 6 10 11 12 14 +2 4 6 10 11 12 15 +2 4 6 10 11 13 14 +2 4 6 10 11 13 15 +2 4 6 10 11 14 15 +2 4 6 10 12 13 14 +2 4 6 10 12 13 15 +2 4 6 10 12 14 15 +2 4 6 10 13 14 15 +2 4 6 11 12 13 14 +2 4 6 11 12 13 15 +2 4 6 11 12 14 15 +2 4 6 11 13 14 15 +2 4 6 12 13 14 15 +2 4 7 8 9 10 11 +2 4 7 8 9 10 12 +2 4 7 8 9 10 13 +2 4 7 8 9 10 14 +2 4 7 8 9 10 15 +2 4 7 8 9 11 12 +2 4 7 8 9 11 13 +2 4 7 8 9 11 14 +2 4 7 8 9 11 15 +2 4 7 8 9 12 13 +2 4 7 8 9 12 14 +2 4 7 8 9 12 15 +2 4 7 8 9 13 14 +2 4 7 8 9 13 15 +2 4 7 8 9 14 15 +2 4 7 8 10 11 12 +2 4 7 8 10 11 13 +2 4 7 8 10 11 14 +2 4 7 8 10 11 15 +2 4 7 8 10 12 13 +2 4 7 8 10 12 14 +2 4 7 8 10 12 15 +2 4 7 8 10 13 14 +2 4 7 8 10 13 15 +2 4 7 8 10 14 15 +2 4 7 8 11 12 13 +2 4 7 8 11 12 14 +2 4 7 8 11 12 15 +2 4 7 8 11 13 14 +2 4 7 8 11 13 15 +2 4 7 8 11 14 15 +2 4 7 8 12 13 14 +2 4 7 8 12 13 15 +2 4 7 8 12 14 15 +2 4 7 8 13 14 15 +2 4 7 9 10 11 12 +2 4 7 9 10 11 13 +2 4 7 9 10 11 14 +2 4 7 9 10 11 15 +2 4 7 9 10 12 13 +2 4 7 9 10 12 14 +2 4 7 9 10 12 15 +2 4 7 9 10 13 14 +2 4 7 9 10 13 15 +2 4 7 9 10 14 15 +2 4 7 9 11 12 13 +2 4 7 9 11 12 14 +2 4 7 9 11 12 15 +2 4 7 9 11 13 14 +2 4 7 9 11 13 15 +2 4 7 9 11 14 15 +2 4 7 9 12 13 14 +2 4 7 9 12 13 15 +2 4 7 9 12 14 15 +2 4 7 9 13 14 15 +2 4 7 10 11 12 13 +2 4 7 10 11 12 14 +2 4 7 10 11 12 15 +2 4 7 10 11 13 14 +2 4 7 10 11 13 15 +2 4 7 10 11 14 15 +2 4 7 10 12 13 14 +2 4 7 10 12 13 15 +2 4 7 10 12 14 15 +2 4 7 10 13 14 15 +2 4 7 11 12 13 14 +2 4 7 11 12 13 15 +2 4 7 11 12 14 15 +2 4 7 11 13 14 15 +2 4 7 12 13 14 15 +2 4 8 9 10 11 12 +2 4 8 9 10 11 13 +2 4 8 9 10 11 14 +2 4 8 9 10 11 15 +2 4 8 9 10 12 13 +2 4 8 9 10 12 14 +2 4 8 9 10 12 15 +2 4 8 9 10 13 14 +2 4 8 9 10 13 15 +2 4 8 9 10 14 15 +2 4 8 9 11 12 13 +2 4 8 9 11 12 14 +2 4 8 9 11 12 15 +2 4 8 9 11 13 14 +2 4 8 9 11 13 15 +2 4 8 9 11 14 15 +2 4 8 9 12 13 14 +2 4 8 9 12 13 15 +2 4 8 9 12 14 15 +2 4 8 9 13 14 15 +2 4 8 10 11 12 13 +2 4 8 10 11 12 14 +2 4 8 10 11 12 15 +2 4 8 10 11 13 14 +2 4 8 10 11 13 15 +2 4 8 10 11 14 15 +2 4 8 10 12 13 14 +2 4 8 10 12 13 15 +2 4 8 10 12 14 15 +2 4 8 10 13 14 15 +2 4 8 11 12 13 14 +2 4 8 11 12 13 15 +2 4 8 11 12 14 15 +2 4 8 11 13 14 15 +2 4 8 12 13 14 15 +2 4 9 10 11 12 13 +2 4 9 10 11 12 14 +2 4 9 10 11 12 15 +2 4 9 10 11 13 14 +2 4 9 10 11 13 15 +2 4 9 10 11 14 15 +2 4 9 10 12 13 14 +2 4 9 10 12 13 15 +2 4 9 10 12 14 15 +2 4 9 10 13 14 15 +2 4 9 11 12 13 14 +2 4 9 11 12 13 15 +2 4 9 11 12 14 15 +2 4 9 11 13 14 15 +2 4 9 12 13 14 15 +2 4 10 11 12 13 14 +2 4 10 11 12 13 15 +2 4 10 11 12 14 15 +2 4 10 11 13 14 15 +2 4 10 12 13 14 15 +2 4 11 12 13 14 15 +2 5 6 7 8 9 10 +2 5 6 7 8 9 11 +2 5 6 7 8 9 12 +2 5 6 7 8 9 13 +2 5 6 7 8 9 14 +2 5 6 7 8 9 15 +2 5 6 7 8 10 11 +2 5 6 7 8 10 12 +2 5 6 7 8 10 13 +2 5 6 7 8 10 14 +2 5 6 7 8 10 15 +2 5 6 7 8 11 12 +2 5 6 7 8 11 13 +2 5 6 7 8 11 14 +2 5 6 7 8 11 15 +2 5 6 7 8 12 13 +2 5 6 7 8 12 14 +2 5 6 7 8 12 15 +2 5 6 7 8 13 14 +2 5 6 7 8 13 15 +2 5 6 7 8 14 15 +2 5 6 7 9 10 11 +2 5 6 7 9 10 12 +2 5 6 7 9 10 13 +2 5 6 7 9 10 14 +2 5 6 7 9 10 15 +2 5 6 7 9 11 12 +2 5 6 7 9 11 13 +2 5 6 7 9 11 14 +2 5 6 7 9 11 15 +2 5 6 7 9 12 13 +2 5 6 7 9 12 14 +2 5 6 7 9 12 15 +2 5 6 7 9 13 14 +2 5 6 7 9 13 15 +2 5 6 7 9 14 15 +2 5 6 7 10 11 12 +2 5 6 7 10 11 13 +2 5 6 7 10 11 14 +2 5 6 7 10 11 15 +2 5 6 7 10 12 13 +2 5 6 7 10 12 14 +2 5 6 7 10 12 15 +2 5 6 7 10 13 14 +2 5 6 7 10 13 15 +2 5 6 7 10 14 15 +2 5 6 7 11 12 13 +2 5 6 7 11 12 14 +2 5 6 7 11 12 15 +2 5 6 7 11 13 14 +2 5 6 7 11 13 15 +2 5 6 7 11 14 15 +2 5 6 7 12 13 14 +2 5 6 7 12 13 15 +2 5 6 7 12 14 15 +2 5 6 7 13 14 15 +2 5 6 8 9 10 11 +2 5 6 8 9 10 12 +2 5 6 8 9 10 13 +2 5 6 8 9 10 14 +2 5 6 8 9 10 15 +2 5 6 8 9 11 12 +2 5 6 8 9 11 13 +2 5 6 8 9 11 14 +2 5 6 8 9 11 15 +2 5 6 8 9 12 13 +2 5 6 8 9 12 14 +2 5 6 8 9 12 15 +2 5 6 8 9 13 14 +2 5 6 8 9 13 15 +2 5 6 8 9 14 15 +2 5 6 8 10 11 12 +2 5 6 8 10 11 13 +2 5 6 8 10 11 14 +2 5 6 8 10 11 15 +2 5 6 8 10 12 13 +2 5 6 8 10 12 14 +2 5 6 8 10 12 15 +2 5 6 8 10 13 14 +2 5 6 8 10 13 15 +2 5 6 8 10 14 15 +2 5 6 8 11 12 13 +2 5 6 8 11 12 14 +2 5 6 8 11 12 15 +2 5 6 8 11 13 14 +2 5 6 8 11 13 15 +2 5 6 8 11 14 15 +2 5 6 8 12 13 14 +2 5 6 8 12 13 15 +2 5 6 8 12 14 15 +2 5 6 8 13 14 15 +2 5 6 9 10 11 12 +2 5 6 9 10 11 13 +2 5 6 9 10 11 14 +2 5 6 9 10 11 15 +2 5 6 9 10 12 13 +2 5 6 9 10 12 14 +2 5 6 9 10 12 15 +2 5 6 9 10 13 14 +2 5 6 9 10 13 15 +2 5 6 9 10 14 15 +2 5 6 9 11 12 13 +2 5 6 9 11 12 14 +2 5 6 9 11 12 15 +2 5 6 9 11 13 14 +2 5 6 9 11 13 15 +2 5 6 9 11 14 15 +2 5 6 9 12 13 14 +2 5 6 9 12 13 15 +2 5 6 9 12 14 15 +2 5 6 9 13 14 15 +2 5 6 10 11 12 13 +2 5 6 10 11 12 14 +2 5 6 10 11 12 15 +2 5 6 10 11 13 14 +2 5 6 10 11 13 15 +2 5 6 10 11 14 15 +2 5 6 10 12 13 14 +2 5 6 10 12 13 15 +2 5 6 10 12 14 15 +2 5 6 10 13 14 15 +2 5 6 11 12 13 14 +2 5 6 11 12 13 15 +2 5 6 11 12 14 15 +2 5 6 11 13 14 15 +2 5 6 12 13 14 15 +2 5 7 8 9 10 11 +2 5 7 8 9 10 12 +2 5 7 8 9 10 13 +2 5 7 8 9 10 14 +2 5 7 8 9 10 15 +2 5 7 8 9 11 12 +2 5 7 8 9 11 13 +2 5 7 8 9 11 14 +2 5 7 8 9 11 15 +2 5 7 8 9 12 13 +2 5 7 8 9 12 14 +2 5 7 8 9 12 15 +2 5 7 8 9 13 14 +2 5 7 8 9 13 15 +2 5 7 8 9 14 15 +2 5 7 8 10 11 12 +2 5 7 8 10 11 13 +2 5 7 8 10 11 14 +2 5 7 8 10 11 15 +2 5 7 8 10 12 13 +2 5 7 8 10 12 14 +2 5 7 8 10 12 15 +2 5 7 8 10 13 14 +2 5 7 8 10 13 15 +2 5 7 8 10 14 15 +2 5 7 8 11 12 13 +2 5 7 8 11 12 14 +2 5 7 8 11 12 15 +2 5 7 8 11 13 14 +2 5 7 8 11 13 15 +2 5 7 8 11 14 15 +2 5 7 8 12 13 14 +2 5 7 8 12 13 15 +2 5 7 8 12 14 15 +2 5 7 8 13 14 15 +2 5 7 9 10 11 12 +2 5 7 9 10 11 13 +2 5 7 9 10 11 14 +2 5 7 9 10 11 15 +2 5 7 9 10 12 13 +2 5 7 9 10 12 14 +2 5 7 9 10 12 15 +2 5 7 9 10 13 14 +2 5 7 9 10 13 15 +2 5 7 9 10 14 15 +2 5 7 9 11 12 13 +2 5 7 9 11 12 14 +2 5 7 9 11 12 15 +2 5 7 9 11 13 14 +2 5 7 9 11 13 15 +2 5 7 9 11 14 15 +2 5 7 9 12 13 14 +2 5 7 9 12 13 15 +2 5 7 9 12 14 15 +2 5 7 9 13 14 15 +2 5 7 10 11 12 13 +2 5 7 10 11 12 14 +2 5 7 10 11 12 15 +2 5 7 10 11 13 14 +2 5 7 10 11 13 15 +2 5 7 10 11 14 15 +2 5 7 10 12 13 14 +2 5 7 10 12 13 15 +2 5 7 10 12 14 15 +2 5 7 10 13 14 15 +2 5 7 11 12 13 14 +2 5 7 11 12 13 15 +2 5 7 11 12 14 15 +2 5 7 11 13 14 15 +2 5 7 12 13 14 15 +2 5 8 9 10 11 12 +2 5 8 9 10 11 13 +2 5 8 9 10 11 14 +2 5 8 9 10 11 15 +2 5 8 9 10 12 13 +2 5 8 9 10 12 14 +2 5 8 9 10 12 15 +2 5 8 9 10 13 14 +2 5 8 9 10 13 15 +2 5 8 9 10 14 15 +2 5 8 9 11 12 13 +2 5 8 9 11 12 14 +2 5 8 9 11 12 15 +2 5 8 9 11 13 14 +2 5 8 9 11 13 15 +2 5 8 9 11 14 15 +2 5 8 9 12 13 14 +2 5 8 9 12 13 15 +2 5 8 9 12 14 15 +2 5 8 9 13 14 15 +2 5 8 10 11 12 13 +2 5 8 10 11 12 14 +2 5 8 10 11 12 15 +2 5 8 10 11 13 14 +2 5 8 10 11 13 15 +2 5 8 10 11 14 15 +2 5 8 10 12 13 14 +2 5 8 10 12 13 15 +2 5 8 10 12 14 15 +2 5 8 10 13 14 15 +2 5 8 11 12 13 14 +2 5 8 11 12 13 15 +2 5 8 11 12 14 15 +2 5 8 11 13 14 15 +2 5 8 12 13 14 15 +2 5 9 10 11 12 13 +2 5 9 10 11 12 14 +2 5 9 10 11 12 15 +2 5 9 10 11 13 14 +2 5 9 10 11 13 15 +2 5 9 10 11 14 15 +2 5 9 10 12 13 14 +2 5 9 10 12 13 15 +2 5 9 10 12 14 15 +2 5 9 10 13 14 15 +2 5 9 11 12 13 14 +2 5 9 11 12 13 15 +2 5 9 11 12 14 15 +2 5 9 11 13 14 15 +2 5 9 12 13 14 15 +2 5 10 11 12 13 14 +2 5 10 11 12 13 15 +2 5 10 11 12 14 15 +2 5 10 11 13 14 15 +2 5 10 12 13 14 15 +2 5 11 12 13 14 15 +2 6 7 8 9 10 11 +2 6 7 8 9 10 12 +2 6 7 8 9 10 13 +2 6 7 8 9 10 14 +2 6 7 8 9 10 15 +2 6 7 8 9 11 12 +2 6 7 8 9 11 13 +2 6 7 8 9 11 14 +2 6 7 8 9 11 15 +2 6 7 8 9 12 13 +2 6 7 8 9 12 14 +2 6 7 8 9 12 15 +2 6 7 8 9 13 14 +2 6 7 8 9 13 15 +2 6 7 8 9 14 15 +2 6 7 8 10 11 12 +2 6 7 8 10 11 13 +2 6 7 8 10 11 14 +2 6 7 8 10 11 15 +2 6 7 8 10 12 13 +2 6 7 8 10 12 14 +2 6 7 8 10 12 15 +2 6 7 8 10 13 14 +2 6 7 8 10 13 15 +2 6 7 8 10 14 15 +2 6 7 8 11 12 13 +2 6 7 8 11 12 14 +2 6 7 8 11 12 15 +2 6 7 8 11 13 14 +2 6 7 8 11 13 15 +2 6 7 8 11 14 15 +2 6 7 8 12 13 14 +2 6 7 8 12 13 15 +2 6 7 8 12 14 15 +2 6 7 8 13 14 15 +2 6 7 9 10 11 12 +2 6 7 9 10 11 13 +2 6 7 9 10 11 14 +2 6 7 9 10 11 15 +2 6 7 9 10 12 13 +2 6 7 9 10 12 14 +2 6 7 9 10 12 15 +2 6 7 9 10 13 14 +2 6 7 9 10 13 15 +2 6 7 9 10 14 15 +2 6 7 9 11 12 13 +2 6 7 9 11 12 14 +2 6 7 9 11 12 15 +2 6 7 9 11 13 14 +2 6 7 9 11 13 15 +2 6 7 9 11 14 15 +2 6 7 9 12 13 14 +2 6 7 9 12 13 15 +2 6 7 9 12 14 15 +2 6 7 9 13 14 15 +2 6 7 10 11 12 13 +2 6 7 10 11 12 14 +2 6 7 10 11 12 15 +2 6 7 10 11 13 14 +2 6 7 10 11 13 15 +2 6 7 10 11 14 15 +2 6 7 10 12 13 14 +2 6 7 10 12 13 15 +2 6 7 10 12 14 15 +2 6 7 10 13 14 15 +2 6 7 11 12 13 14 +2 6 7 11 12 13 15 +2 6 7 11 12 14 15 +2 6 7 11 13 14 15 +2 6 7 12 13 14 15 +2 6 8 9 10 11 12 +2 6 8 9 10 11 13 +2 6 8 9 10 11 14 +2 6 8 9 10 11 15 +2 6 8 9 10 12 13 +2 6 8 9 10 12 14 +2 6 8 9 10 12 15 +2 6 8 9 10 13 14 +2 6 8 9 10 13 15 +2 6 8 9 10 14 15 +2 6 8 9 11 12 13 +2 6 8 9 11 12 14 +2 6 8 9 11 12 15 +2 6 8 9 11 13 14 +2 6 8 9 11 13 15 +2 6 8 9 11 14 15 +2 6 8 9 12 13 14 +2 6 8 9 12 13 15 +2 6 8 9 12 14 15 +2 6 8 9 13 14 15 +2 6 8 10 11 12 13 +2 6 8 10 11 12 14 +2 6 8 10 11 12 15 +2 6 8 10 11 13 14 +2 6 8 10 11 13 15 +2 6 8 10 11 14 15 +2 6 8 10 12 13 14 +2 6 8 10 12 13 15 +2 6 8 10 12 14 15 +2 6 8 10 13 14 15 +2 6 8 11 12 13 14 +2 6 8 11 12 13 15 +2 6 8 11 12 14 15 +2 6 8 11 13 14 15 +2 6 8 12 13 14 15 +2 6 9 10 11 12 13 +2 6 9 10 11 12 14 +2 6 9 10 11 12 15 +2 6 9 10 11 13 14 +2 6 9 10 11 13 15 +2 6 9 10 11 14 15 +2 6 9 10 12 13 14 +2 6 9 10 12 13 15 +2 6 9 10 12 14 15 +2 6 9 10 13 14 15 +2 6 9 11 12 13 14 +2 6 9 11 12 13 15 +2 6 9 11 12 14 15 +2 6 9 11 13 14 15 +2 6 9 12 13 14 15 +2 6 10 11 12 13 14 +2 6 10 11 12 13 15 +2 6 10 11 12 14 15 +2 6 10 11 13 14 15 +2 6 10 12 13 14 15 +2 6 11 12 13 14 15 +2 7 8 9 10 11 12 +2 7 8 9 10 11 13 +2 7 8 9 10 11 14 +2 7 8 9 10 11 15 +2 7 8 9 10 12 13 +2 7 8 9 10 12 14 +2 7 8 9 10 12 15 +2 7 8 9 10 13 14 +2 7 8 9 10 13 15 +2 7 8 9 10 14 15 +2 7 8 9 11 12 13 +2 7 8 9 11 12 14 +2 7 8 9 11 12 15 +2 7 8 9 11 13 14 +2 7 8 9 11 13 15 +2 7 8 9 11 14 15 +2 7 8 9 12 13 14 +2 7 8 9 12 13 15 +2 7 8 9 12 14 15 +2 7 8 9 13 14 15 +2 7 8 10 11 12 13 +2 7 8 10 11 12 14 +2 7 8 10 11 12 15 +2 7 8 10 11 13 14 +2 7 8 10 11 13 15 +2 7 8 10 11 14 15 +2 7 8 10 12 13 14 +2 7 8 10 12 13 15 +2 7 8 10 12 14 15 +2 7 8 10 13 14 15 +2 7 8 11 12 13 14 +2 7 8 11 12 13 15 +2 7 8 11 12 14 15 +2 7 8 11 13 14 15 +2 7 8 12 13 14 15 +2 7 9 10 11 12 13 +2 7 9 10 11 12 14 +2 7 9 10 11 12 15 +2 7 9 10 11 13 14 +2 7 9 10 11 13 15 +2 7 9 10 11 14 15 +2 7 9 10 12 13 14 +2 7 9 10 12 13 15 +2 7 9 10 12 14 15 +2 7 9 10 13 14 15 +2 7 9 11 12 13 14 +2 7 9 11 12 13 15 +2 7 9 11 12 14 15 +2 7 9 11 13 14 15 +2 7 9 12 13 14 15 +2 7 10 11 12 13 14 +2 7 10 11 12 13 15 +2 7 10 11 12 14 15 +2 7 10 11 13 14 15 +2 7 10 12 13 14 15 +2 7 11 12 13 14 15 +2 8 9 10 11 12 13 +2 8 9 10 11 12 14 +2 8 9 10 11 12 15 +2 8 9 10 11 13 14 +2 8 9 10 11 13 15 +2 8 9 10 11 14 15 +2 8 9 10 12 13 14 +2 8 9 10 12 13 15 +2 8 9 10 12 14 15 +2 8 9 10 13 14 15 +2 8 9 11 12 13 14 +2 8 9 11 12 13 15 +2 8 9 11 12 14 15 +2 8 9 11 13 14 15 +2 8 9 12 13 14 15 +2 8 10 11 12 13 14 +2 8 10 11 12 13 15 +2 8 10 11 12 14 15 +2 8 10 11 13 14 15 +2 8 10 12 13 14 15 +2 8 11 12 13 14 15 +2 9 10 11 12 13 14 +2 9 10 11 12 13 15 +2 9 10 11 12 14 15 +2 9 10 11 13 14 15 +2 9 10 12 13 14 15 +2 9 11 12 13 14 15 +2 10 11 12 13 14 15 +3 4 5 6 7 8 9 +3 4 5 6 7 8 10 +3 4 5 6 7 8 11 +3 4 5 6 7 8 12 +3 4 5 6 7 8 13 +3 4 5 6 7 8 14 +3 4 5 6 7 8 15 +3 4 5 6 7 9 10 +3 4 5 6 7 9 11 +3 4 5 6 7 9 12 +3 4 5 6 7 9 13 +3 4 5 6 7 9 14 +3 4 5 6 7 9 15 +3 4 5 6 7 10 11 +3 4 5 6 7 10 12 +3 4 5 6 7 10 13 +3 4 5 6 7 10 14 +3 4 5 6 7 10 15 +3 4 5 6 7 11 12 +3 4 5 6 7 11 13 +3 4 5 6 7 11 14 +3 4 5 6 7 11 15 +3 4 5 6 7 12 13 +3 4 5 6 7 12 14 +3 4 5 6 7 12 15 +3 4 5 6 7 13 14 +3 4 5 6 7 13 15 +3 4 5 6 7 14 15 +3 4 5 6 8 9 10 +3 4 5 6 8 9 11 +3 4 5 6 8 9 12 +3 4 5 6 8 9 13 +3 4 5 6 8 9 14 +3 4 5 6 8 9 15 +3 4 5 6 8 10 11 +3 4 5 6 8 10 12 +3 4 5 6 8 10 13 +3 4 5 6 8 10 14 +3 4 5 6 8 10 15 +3 4 5 6 8 11 12 +3 4 5 6 8 11 13 +3 4 5 6 8 11 14 +3 4 5 6 8 11 15 +3 4 5 6 8 12 13 +3 4 5 6 8 12 14 +3 4 5 6 8 12 15 +3 4 5 6 8 13 14 +3 4 5 6 8 13 15 +3 4 5 6 8 14 15 +3 4 5 6 9 10 11 +3 4 5 6 9 10 12 +3 4 5 6 9 10 13 +3 4 5 6 9 10 14 +3 4 5 6 9 10 15 +3 4 5 6 9 11 12 +3 4 5 6 9 11 13 +3 4 5 6 9 11 14 +3 4 5 6 9 11 15 +3 4 5 6 9 12 13 +3 4 5 6 9 12 14 +3 4 5 6 9 12 15 +3 4 5 6 9 13 14 +3 4 5 6 9 13 15 +3 4 5 6 9 14 15 +3 4 5 6 10 11 12 +3 4 5 6 10 11 13 +3 4 5 6 10 11 14 +3 4 5 6 10 11 15 +3 4 5 6 10 12 13 +3 4 5 6 10 12 14 +3 4 5 6 10 12 15 +3 4 5 6 10 13 14 +3 4 5 6 10 13 15 +3 4 5 6 10 14 15 +3 4 5 6 11 12 13 +3 4 5 6 11 12 14 +3 4 5 6 11 12 15 +3 4 5 6 11 13 14 +3 4 5 6 11 13 15 +3 4 5 6 11 14 15 +3 4 5 6 12 13 14 +3 4 5 6 12 13 15 +3 4 5 6 12 14 15 +3 4 5 6 13 14 15 +3 4 5 7 8 9 10 +3 4 5 7 8 9 11 +3 4 5 7 8 9 12 +3 4 5 7 8 9 13 +3 4 5 7 8 9 14 +3 4 5 7 8 9 15 +3 4 5 7 8 10 11 +3 4 5 7 8 10 12 +3 4 5 7 8 10 13 +3 4 5 7 8 10 14 +3 4 5 7 8 10 15 +3 4 5 7 8 11 12 +3 4 5 7 8 11 13 +3 4 5 7 8 11 14 +3 4 5 7 8 11 15 +3 4 5 7 8 12 13 +3 4 5 7 8 12 14 +3 4 5 7 8 12 15 +3 4 5 7 8 13 14 +3 4 5 7 8 13 15 +3 4 5 7 8 14 15 +3 4 5 7 9 10 11 +3 4 5 7 9 10 12 +3 4 5 7 9 10 13 +3 4 5 7 9 10 14 +3 4 5 7 9 10 15 +3 4 5 7 9 11 12 +3 4 5 7 9 11 13 +3 4 5 7 9 11 14 +3 4 5 7 9 11 15 +3 4 5 7 9 12 13 +3 4 5 7 9 12 14 +3 4 5 7 9 12 15 +3 4 5 7 9 13 14 +3 4 5 7 9 13 15 +3 4 5 7 9 14 15 +3 4 5 7 10 11 12 +3 4 5 7 10 11 13 +3 4 5 7 10 11 14 +3 4 5 7 10 11 15 +3 4 5 7 10 12 13 +3 4 5 7 10 12 14 +3 4 5 7 10 12 15 +3 4 5 7 10 13 14 +3 4 5 7 10 13 15 +3 4 5 7 10 14 15 +3 4 5 7 11 12 13 +3 4 5 7 11 12 14 +3 4 5 7 11 12 15 +3 4 5 7 11 13 14 +3 4 5 7 11 13 15 +3 4 5 7 11 14 15 +3 4 5 7 12 13 14 +3 4 5 7 12 13 15 +3 4 5 7 12 14 15 +3 4 5 7 13 14 15 +3 4 5 8 9 10 11 +3 4 5 8 9 10 12 +3 4 5 8 9 10 13 +3 4 5 8 9 10 14 +3 4 5 8 9 10 15 +3 4 5 8 9 11 12 +3 4 5 8 9 11 13 +3 4 5 8 9 11 14 +3 4 5 8 9 11 15 +3 4 5 8 9 12 13 +3 4 5 8 9 12 14 +3 4 5 8 9 12 15 +3 4 5 8 9 13 14 +3 4 5 8 9 13 15 +3 4 5 8 9 14 15 +3 4 5 8 10 11 12 +3 4 5 8 10 11 13 +3 4 5 8 10 11 14 +3 4 5 8 10 11 15 +3 4 5 8 10 12 13 +3 4 5 8 10 12 14 +3 4 5 8 10 12 15 +3 4 5 8 10 13 14 +3 4 5 8 10 13 15 +3 4 5 8 10 14 15 +3 4 5 8 11 12 13 +3 4 5 8 11 12 14 +3 4 5 8 11 12 15 +3 4 5 8 11 13 14 +3 4 5 8 11 13 15 +3 4 5 8 11 14 15 +3 4 5 8 12 13 14 +3 4 5 8 12 13 15 +3 4 5 8 12 14 15 +3 4 5 8 13 14 15 +3 4 5 9 10 11 12 +3 4 5 9 10 11 13 +3 4 5 9 10 11 14 +3 4 5 9 10 11 15 +3 4 5 9 10 12 13 +3 4 5 9 10 12 14 +3 4 5 9 10 12 15 +3 4 5 9 10 13 14 +3 4 5 9 10 13 15 +3 4 5 9 10 14 15 +3 4 5 9 11 12 13 +3 4 5 9 11 12 14 +3 4 5 9 11 12 15 +3 4 5 9 11 13 14 +3 4 5 9 11 13 15 +3 4 5 9 11 14 15 +3 4 5 9 12 13 14 +3 4 5 9 12 13 15 +3 4 5 9 12 14 15 +3 4 5 9 13 14 15 +3 4 5 10 11 12 13 +3 4 5 10 11 12 14 +3 4 5 10 11 12 15 +3 4 5 10 11 13 14 +3 4 5 10 11 13 15 +3 4 5 10 11 14 15 +3 4 5 10 12 13 14 +3 4 5 10 12 13 15 +3 4 5 10 12 14 15 +3 4 5 10 13 14 15 +3 4 5 11 12 13 14 +3 4 5 11 12 13 15 +3 4 5 11 12 14 15 +3 4 5 11 13 14 15 +3 4 5 12 13 14 15 +3 4 6 7 8 9 10 +3 4 6 7 8 9 11 +3 4 6 7 8 9 12 +3 4 6 7 8 9 13 +3 4 6 7 8 9 14 +3 4 6 7 8 9 15 +3 4 6 7 8 10 11 +3 4 6 7 8 10 12 +3 4 6 7 8 10 13 +3 4 6 7 8 10 14 +3 4 6 7 8 10 15 +3 4 6 7 8 11 12 +3 4 6 7 8 11 13 +3 4 6 7 8 11 14 +3 4 6 7 8 11 15 +3 4 6 7 8 12 13 +3 4 6 7 8 12 14 +3 4 6 7 8 12 15 +3 4 6 7 8 13 14 +3 4 6 7 8 13 15 +3 4 6 7 8 14 15 +3 4 6 7 9 10 11 +3 4 6 7 9 10 12 +3 4 6 7 9 10 13 +3 4 6 7 9 10 14 +3 4 6 7 9 10 15 +3 4 6 7 9 11 12 +3 4 6 7 9 11 13 +3 4 6 7 9 11 14 +3 4 6 7 9 11 15 +3 4 6 7 9 12 13 +3 4 6 7 9 12 14 +3 4 6 7 9 12 15 +3 4 6 7 9 13 14 +3 4 6 7 9 13 15 +3 4 6 7 9 14 15 +3 4 6 7 10 11 12 +3 4 6 7 10 11 13 +3 4 6 7 10 11 14 +3 4 6 7 10 11 15 +3 4 6 7 10 12 13 +3 4 6 7 10 12 14 +3 4 6 7 10 12 15 +3 4 6 7 10 13 14 +3 4 6 7 10 13 15 +3 4 6 7 10 14 15 +3 4 6 7 11 12 13 +3 4 6 7 11 12 14 +3 4 6 7 11 12 15 +3 4 6 7 11 13 14 +3 4 6 7 11 13 15 +3 4 6 7 11 14 15 +3 4 6 7 12 13 14 +3 4 6 7 12 13 15 +3 4 6 7 12 14 15 +3 4 6 7 13 14 15 +3 4 6 8 9 10 11 +3 4 6 8 9 10 12 +3 4 6 8 9 10 13 +3 4 6 8 9 10 14 +3 4 6 8 9 10 15 +3 4 6 8 9 11 12 +3 4 6 8 9 11 13 +3 4 6 8 9 11 14 +3 4 6 8 9 11 15 +3 4 6 8 9 12 13 +3 4 6 8 9 12 14 +3 4 6 8 9 12 15 +3 4 6 8 9 13 14 +3 4 6 8 9 13 15 +3 4 6 8 9 14 15 +3 4 6 8 10 11 12 +3 4 6 8 10 11 13 +3 4 6 8 10 11 14 +3 4 6 8 10 11 15 +3 4 6 8 10 12 13 +3 4 6 8 10 12 14 +3 4 6 8 10 12 15 +3 4 6 8 10 13 14 +3 4 6 8 10 13 15 +3 4 6 8 10 14 15 +3 4 6 8 11 12 13 +3 4 6 8 11 12 14 +3 4 6 8 11 12 15 +3 4 6 8 11 13 14 +3 4 6 8 11 13 15 +3 4 6 8 11 14 15 +3 4 6 8 12 13 14 +3 4 6 8 12 13 15 +3 4 6 8 12 14 15 +3 4 6 8 13 14 15 +3 4 6 9 10 11 12 +3 4 6 9 10 11 13 +3 4 6 9 10 11 14 +3 4 6 9 10 11 15 +3 4 6 9 10 12 13 +3 4 6 9 10 12 14 +3 4 6 9 10 12 15 +3 4 6 9 10 13 14 +3 4 6 9 10 13 15 +3 4 6 9 10 14 15 +3 4 6 9 11 12 13 +3 4 6 9 11 12 14 +3 4 6 9 11 12 15 +3 4 6 9 11 13 14 +3 4 6 9 11 13 15 +3 4 6 9 11 14 15 +3 4 6 9 12 13 14 +3 4 6 9 12 13 15 +3 4 6 9 12 14 15 +3 4 6 9 13 14 15 +3 4 6 10 11 12 13 +3 4 6 10 11 12 14 +3 4 6 10 11 12 15 +3 4 6 10 11 13 14 +3 4 6 10 11 13 15 +3 4 6 10 11 14 15 +3 4 6 10 12 13 14 +3 4 6 10 12 13 15 +3 4 6 10 12 14 15 +3 4 6 10 13 14 15 +3 4 6 11 12 13 14 +3 4 6 11 12 13 15 +3 4 6 11 12 14 15 +3 4 6 11 13 14 15 +3 4 6 12 13 14 15 +3 4 7 8 9 10 11 +3 4 7 8 9 10 12 +3 4 7 8 9 10 13 +3 4 7 8 9 10 14 +3 4 7 8 9 10 15 +3 4 7 8 9 11 12 +3 4 7 8 9 11 13 +3 4 7 8 9 11 14 +3 4 7 8 9 11 15 +3 4 7 8 9 12 13 +3 4 7 8 9 12 14 +3 4 7 8 9 12 15 +3 4 7 8 9 13 14 +3 4 7 8 9 13 15 +3 4 7 8 9 14 15 +3 4 7 8 10 11 12 +3 4 7 8 10 11 13 +3 4 7 8 10 11 14 +3 4 7 8 10 11 15 +3 4 7 8 10 12 13 +3 4 7 8 10 12 14 +3 4 7 8 10 12 15 +3 4 7 8 10 13 14 +3 4 7 8 10 13 15 +3 4 7 8 10 14 15 +3 4 7 8 11 12 13 +3 4 7 8 11 12 14 +3 4 7 8 11 12 15 +3 4 7 8 11 13 14 +3 4 7 8 11 13 15 +3 4 7 8 11 14 15 +3 4 7 8 12 13 14 +3 4 7 8 12 13 15 +3 4 7 8 12 14 15 +3 4 7 8 13 14 15 +3 4 7 9 10 11 12 +3 4 7 9 10 11 13 +3 4 7 9 10 11 14 +3 4 7 9 10 11 15 +3 4 7 9 10 12 13 +3 4 7 9 10 12 14 +3 4 7 9 10 12 15 +3 4 7 9 10 13 14 +3 4 7 9 10 13 15 +3 4 7 9 10 14 15 +3 4 7 9 11 12 13 +3 4 7 9 11 12 14 +3 4 7 9 11 12 15 +3 4 7 9 11 13 14 +3 4 7 9 11 13 15 +3 4 7 9 11 14 15 +3 4 7 9 12 13 14 +3 4 7 9 12 13 15 +3 4 7 9 12 14 15 +3 4 7 9 13 14 15 +3 4 7 10 11 12 13 +3 4 7 10 11 12 14 +3 4 7 10 11 12 15 +3 4 7 10 11 13 14 +3 4 7 10 11 13 15 +3 4 7 10 11 14 15 +3 4 7 10 12 13 14 +3 4 7 10 12 13 15 +3 4 7 10 12 14 15 +3 4 7 10 13 14 15 +3 4 7 11 12 13 14 +3 4 7 11 12 13 15 +3 4 7 11 12 14 15 +3 4 7 11 13 14 15 +3 4 7 12 13 14 15 +3 4 8 9 10 11 12 +3 4 8 9 10 11 13 +3 4 8 9 10 11 14 +3 4 8 9 10 11 15 +3 4 8 9 10 12 13 +3 4 8 9 10 12 14 +3 4 8 9 10 12 15 +3 4 8 9 10 13 14 +3 4 8 9 10 13 15 +3 4 8 9 10 14 15 +3 4 8 9 11 12 13 +3 4 8 9 11 12 14 +3 4 8 9 11 12 15 +3 4 8 9 11 13 14 +3 4 8 9 11 13 15 +3 4 8 9 11 14 15 +3 4 8 9 12 13 14 +3 4 8 9 12 13 15 +3 4 8 9 12 14 15 +3 4 8 9 13 14 15 +3 4 8 10 11 12 13 +3 4 8 10 11 12 14 +3 4 8 10 11 12 15 +3 4 8 10 11 13 14 +3 4 8 10 11 13 15 +3 4 8 10 11 14 15 +3 4 8 10 12 13 14 +3 4 8 10 12 13 15 +3 4 8 10 12 14 15 +3 4 8 10 13 14 15 +3 4 8 11 12 13 14 +3 4 8 11 12 13 15 +3 4 8 11 12 14 15 +3 4 8 11 13 14 15 +3 4 8 12 13 14 15 +3 4 9 10 11 12 13 +3 4 9 10 11 12 14 +3 4 9 10 11 12 15 +3 4 9 10 11 13 14 +3 4 9 10 11 13 15 +3 4 9 10 11 14 15 +3 4 9 10 12 13 14 +3 4 9 10 12 13 15 +3 4 9 10 12 14 15 +3 4 9 10 13 14 15 +3 4 9 11 12 13 14 +3 4 9 11 12 13 15 +3 4 9 11 12 14 15 +3 4 9 11 13 14 15 +3 4 9 12 13 14 15 +3 4 10 11 12 13 14 +3 4 10 11 12 13 15 +3 4 10 11 12 14 15 +3 4 10 11 13 14 15 +3 4 10 12 13 14 15 +3 4 11 12 13 14 15 +3 5 6 7 8 9 10 +3 5 6 7 8 9 11 +3 5 6 7 8 9 12 +3 5 6 7 8 9 13 +3 5 6 7 8 9 14 +3 5 6 7 8 9 15 +3 5 6 7 8 10 11 +3 5 6 7 8 10 12 +3 5 6 7 8 10 13 +3 5 6 7 8 10 14 +3 5 6 7 8 10 15 +3 5 6 7 8 11 12 +3 5 6 7 8 11 13 +3 5 6 7 8 11 14 +3 5 6 7 8 11 15 +3 5 6 7 8 12 13 +3 5 6 7 8 12 14 +3 5 6 7 8 12 15 +3 5 6 7 8 13 14 +3 5 6 7 8 13 15 +3 5 6 7 8 14 15 +3 5 6 7 9 10 11 +3 5 6 7 9 10 12 +3 5 6 7 9 10 13 +3 5 6 7 9 10 14 +3 5 6 7 9 10 15 +3 5 6 7 9 11 12 +3 5 6 7 9 11 13 +3 5 6 7 9 11 14 +3 5 6 7 9 11 15 +3 5 6 7 9 12 13 +3 5 6 7 9 12 14 +3 5 6 7 9 12 15 +3 5 6 7 9 13 14 +3 5 6 7 9 13 15 +3 5 6 7 9 14 15 +3 5 6 7 10 11 12 +3 5 6 7 10 11 13 +3 5 6 7 10 11 14 +3 5 6 7 10 11 15 +3 5 6 7 10 12 13 +3 5 6 7 10 12 14 +3 5 6 7 10 12 15 +3 5 6 7 10 13 14 +3 5 6 7 10 13 15 +3 5 6 7 10 14 15 +3 5 6 7 11 12 13 +3 5 6 7 11 12 14 +3 5 6 7 11 12 15 +3 5 6 7 11 13 14 +3 5 6 7 11 13 15 +3 5 6 7 11 14 15 +3 5 6 7 12 13 14 +3 5 6 7 12 13 15 +3 5 6 7 12 14 15 +3 5 6 7 13 14 15 +3 5 6 8 9 10 11 +3 5 6 8 9 10 12 +3 5 6 8 9 10 13 +3 5 6 8 9 10 14 +3 5 6 8 9 10 15 +3 5 6 8 9 11 12 +3 5 6 8 9 11 13 +3 5 6 8 9 11 14 +3 5 6 8 9 11 15 +3 5 6 8 9 12 13 +3 5 6 8 9 12 14 +3 5 6 8 9 12 15 +3 5 6 8 9 13 14 +3 5 6 8 9 13 15 +3 5 6 8 9 14 15 +3 5 6 8 10 11 12 +3 5 6 8 10 11 13 +3 5 6 8 10 11 14 +3 5 6 8 10 11 15 +3 5 6 8 10 12 13 +3 5 6 8 10 12 14 +3 5 6 8 10 12 15 +3 5 6 8 10 13 14 +3 5 6 8 10 13 15 +3 5 6 8 10 14 15 +3 5 6 8 11 12 13 +3 5 6 8 11 12 14 +3 5 6 8 11 12 15 +3 5 6 8 11 13 14 +3 5 6 8 11 13 15 +3 5 6 8 11 14 15 +3 5 6 8 12 13 14 +3 5 6 8 12 13 15 +3 5 6 8 12 14 15 +3 5 6 8 13 14 15 +3 5 6 9 10 11 12 +3 5 6 9 10 11 13 +3 5 6 9 10 11 14 +3 5 6 9 10 11 15 +3 5 6 9 10 12 13 +3 5 6 9 10 12 14 +3 5 6 9 10 12 15 +3 5 6 9 10 13 14 +3 5 6 9 10 13 15 +3 5 6 9 10 14 15 +3 5 6 9 11 12 13 +3 5 6 9 11 12 14 +3 5 6 9 11 12 15 +3 5 6 9 11 13 14 +3 5 6 9 11 13 15 +3 5 6 9 11 14 15 +3 5 6 9 12 13 14 +3 5 6 9 12 13 15 +3 5 6 9 12 14 15 +3 5 6 9 13 14 15 +3 5 6 10 11 12 13 +3 5 6 10 11 12 14 +3 5 6 10 11 12 15 +3 5 6 10 11 13 14 +3 5 6 10 11 13 15 +3 5 6 10 11 14 15 +3 5 6 10 12 13 14 +3 5 6 10 12 13 15 +3 5 6 10 12 14 15 +3 5 6 10 13 14 15 +3 5 6 11 12 13 14 +3 5 6 11 12 13 15 +3 5 6 11 12 14 15 +3 5 6 11 13 14 15 +3 5 6 12 13 14 15 +3 5 7 8 9 10 11 +3 5 7 8 9 10 12 +3 5 7 8 9 10 13 +3 5 7 8 9 10 14 +3 5 7 8 9 10 15 +3 5 7 8 9 11 12 +3 5 7 8 9 11 13 +3 5 7 8 9 11 14 +3 5 7 8 9 11 15 +3 5 7 8 9 12 13 +3 5 7 8 9 12 14 +3 5 7 8 9 12 15 +3 5 7 8 9 13 14 +3 5 7 8 9 13 15 +3 5 7 8 9 14 15 +3 5 7 8 10 11 12 +3 5 7 8 10 11 13 +3 5 7 8 10 11 14 +3 5 7 8 10 11 15 +3 5 7 8 10 12 13 +3 5 7 8 10 12 14 +3 5 7 8 10 12 15 +3 5 7 8 10 13 14 +3 5 7 8 10 13 15 +3 5 7 8 10 14 15 +3 5 7 8 11 12 13 +3 5 7 8 11 12 14 +3 5 7 8 11 12 15 +3 5 7 8 11 13 14 +3 5 7 8 11 13 15 +3 5 7 8 11 14 15 +3 5 7 8 12 13 14 +3 5 7 8 12 13 15 +3 5 7 8 12 14 15 +3 5 7 8 13 14 15 +3 5 7 9 10 11 12 +3 5 7 9 10 11 13 +3 5 7 9 10 11 14 +3 5 7 9 10 11 15 +3 5 7 9 10 12 13 +3 5 7 9 10 12 14 +3 5 7 9 10 12 15 +3 5 7 9 10 13 14 +3 5 7 9 10 13 15 +3 5 7 9 10 14 15 +3 5 7 9 11 12 13 +3 5 7 9 11 12 14 +3 5 7 9 11 12 15 +3 5 7 9 11 13 14 +3 5 7 9 11 13 15 +3 5 7 9 11 14 15 +3 5 7 9 12 13 14 +3 5 7 9 12 13 15 +3 5 7 9 12 14 15 +3 5 7 9 13 14 15 +3 5 7 10 11 12 13 +3 5 7 10 11 12 14 +3 5 7 10 11 12 15 +3 5 7 10 11 13 14 +3 5 7 10 11 13 15 +3 5 7 10 11 14 15 +3 5 7 10 12 13 14 +3 5 7 10 12 13 15 +3 5 7 10 12 14 15 +3 5 7 10 13 14 15 +3 5 7 11 12 13 14 +3 5 7 11 12 13 15 +3 5 7 11 12 14 15 +3 5 7 11 13 14 15 +3 5 7 12 13 14 15 +3 5 8 9 10 11 12 +3 5 8 9 10 11 13 +3 5 8 9 10 11 14 +3 5 8 9 10 11 15 +3 5 8 9 10 12 13 +3 5 8 9 10 12 14 +3 5 8 9 10 12 15 +3 5 8 9 10 13 14 +3 5 8 9 10 13 15 +3 5 8 9 10 14 15 +3 5 8 9 11 12 13 +3 5 8 9 11 12 14 +3 5 8 9 11 12 15 +3 5 8 9 11 13 14 +3 5 8 9 11 13 15 +3 5 8 9 11 14 15 +3 5 8 9 12 13 14 +3 5 8 9 12 13 15 +3 5 8 9 12 14 15 +3 5 8 9 13 14 15 +3 5 8 10 11 12 13 +3 5 8 10 11 12 14 +3 5 8 10 11 12 15 +3 5 8 10 11 13 14 +3 5 8 10 11 13 15 +3 5 8 10 11 14 15 +3 5 8 10 12 13 14 +3 5 8 10 12 13 15 +3 5 8 10 12 14 15 +3 5 8 10 13 14 15 +3 5 8 11 12 13 14 +3 5 8 11 12 13 15 +3 5 8 11 12 14 15 +3 5 8 11 13 14 15 +3 5 8 12 13 14 15 +3 5 9 10 11 12 13 +3 5 9 10 11 12 14 +3 5 9 10 11 12 15 +3 5 9 10 11 13 14 +3 5 9 10 11 13 15 +3 5 9 10 11 14 15 +3 5 9 10 12 13 14 +3 5 9 10 12 13 15 +3 5 9 10 12 14 15 +3 5 9 10 13 14 15 +3 5 9 11 12 13 14 +3 5 9 11 12 13 15 +3 5 9 11 12 14 15 +3 5 9 11 13 14 15 +3 5 9 12 13 14 15 +3 5 10 11 12 13 14 +3 5 10 11 12 13 15 +3 5 10 11 12 14 15 +3 5 10 11 13 14 15 +3 5 10 12 13 14 15 +3 5 11 12 13 14 15 +3 6 7 8 9 10 11 +3 6 7 8 9 10 12 +3 6 7 8 9 10 13 +3 6 7 8 9 10 14 +3 6 7 8 9 10 15 +3 6 7 8 9 11 12 +3 6 7 8 9 11 13 +3 6 7 8 9 11 14 +3 6 7 8 9 11 15 +3 6 7 8 9 12 13 +3 6 7 8 9 12 14 +3 6 7 8 9 12 15 +3 6 7 8 9 13 14 +3 6 7 8 9 13 15 +3 6 7 8 9 14 15 +3 6 7 8 10 11 12 +3 6 7 8 10 11 13 +3 6 7 8 10 11 14 +3 6 7 8 10 11 15 +3 6 7 8 10 12 13 +3 6 7 8 10 12 14 +3 6 7 8 10 12 15 +3 6 7 8 10 13 14 +3 6 7 8 10 13 15 +3 6 7 8 10 14 15 +3 6 7 8 11 12 13 +3 6 7 8 11 12 14 +3 6 7 8 11 12 15 +3 6 7 8 11 13 14 +3 6 7 8 11 13 15 +3 6 7 8 11 14 15 +3 6 7 8 12 13 14 +3 6 7 8 12 13 15 +3 6 7 8 12 14 15 +3 6 7 8 13 14 15 +3 6 7 9 10 11 12 +3 6 7 9 10 11 13 +3 6 7 9 10 11 14 +3 6 7 9 10 11 15 +3 6 7 9 10 12 13 +3 6 7 9 10 12 14 +3 6 7 9 10 12 15 +3 6 7 9 10 13 14 +3 6 7 9 10 13 15 +3 6 7 9 10 14 15 +3 6 7 9 11 12 13 +3 6 7 9 11 12 14 +3 6 7 9 11 12 15 +3 6 7 9 11 13 14 +3 6 7 9 11 13 15 +3 6 7 9 11 14 15 +3 6 7 9 12 13 14 +3 6 7 9 12 13 15 +3 6 7 9 12 14 15 +3 6 7 9 13 14 15 +3 6 7 10 11 12 13 +3 6 7 10 11 12 14 +3 6 7 10 11 12 15 +3 6 7 10 11 13 14 +3 6 7 10 11 13 15 +3 6 7 10 11 14 15 +3 6 7 10 12 13 14 +3 6 7 10 12 13 15 +3 6 7 10 12 14 15 +3 6 7 10 13 14 15 +3 6 7 11 12 13 14 +3 6 7 11 12 13 15 +3 6 7 11 12 14 15 +3 6 7 11 13 14 15 +3 6 7 12 13 14 15 +3 6 8 9 10 11 12 +3 6 8 9 10 11 13 +3 6 8 9 10 11 14 +3 6 8 9 10 11 15 +3 6 8 9 10 12 13 +3 6 8 9 10 12 14 +3 6 8 9 10 12 15 +3 6 8 9 10 13 14 +3 6 8 9 10 13 15 +3 6 8 9 10 14 15 +3 6 8 9 11 12 13 +3 6 8 9 11 12 14 +3 6 8 9 11 12 15 +3 6 8 9 11 13 14 +3 6 8 9 11 13 15 +3 6 8 9 11 14 15 +3 6 8 9 12 13 14 +3 6 8 9 12 13 15 +3 6 8 9 12 14 15 +3 6 8 9 13 14 15 +3 6 8 10 11 12 13 +3 6 8 10 11 12 14 +3 6 8 10 11 12 15 +3 6 8 10 11 13 14 +3 6 8 10 11 13 15 +3 6 8 10 11 14 15 +3 6 8 10 12 13 14 +3 6 8 10 12 13 15 +3 6 8 10 12 14 15 +3 6 8 10 13 14 15 +3 6 8 11 12 13 14 +3 6 8 11 12 13 15 +3 6 8 11 12 14 15 +3 6 8 11 13 14 15 +3 6 8 12 13 14 15 +3 6 9 10 11 12 13 +3 6 9 10 11 12 14 +3 6 9 10 11 12 15 +3 6 9 10 11 13 14 +3 6 9 10 11 13 15 +3 6 9 10 11 14 15 +3 6 9 10 12 13 14 +3 6 9 10 12 13 15 +3 6 9 10 12 14 15 +3 6 9 10 13 14 15 +3 6 9 11 12 13 14 +3 6 9 11 12 13 15 +3 6 9 11 12 14 15 +3 6 9 11 13 14 15 +3 6 9 12 13 14 15 +3 6 10 11 12 13 14 +3 6 10 11 12 13 15 +3 6 10 11 12 14 15 +3 6 10 11 13 14 15 +3 6 10 12 13 14 15 +3 6 11 12 13 14 15 +3 7 8 9 10 11 12 +3 7 8 9 10 11 13 +3 7 8 9 10 11 14 +3 7 8 9 10 11 15 +3 7 8 9 10 12 13 +3 7 8 9 10 12 14 +3 7 8 9 10 12 15 +3 7 8 9 10 13 14 +3 7 8 9 10 13 15 +3 7 8 9 10 14 15 +3 7 8 9 11 12 13 +3 7 8 9 11 12 14 +3 7 8 9 11 12 15 +3 7 8 9 11 13 14 +3 7 8 9 11 13 15 +3 7 8 9 11 14 15 +3 7 8 9 12 13 14 +3 7 8 9 12 13 15 +3 7 8 9 12 14 15 +3 7 8 9 13 14 15 +3 7 8 10 11 12 13 +3 7 8 10 11 12 14 +3 7 8 10 11 12 15 +3 7 8 10 11 13 14 +3 7 8 10 11 13 15 +3 7 8 10 11 14 15 +3 7 8 10 12 13 14 +3 7 8 10 12 13 15 +3 7 8 10 12 14 15 +3 7 8 10 13 14 15 +3 7 8 11 12 13 14 +3 7 8 11 12 13 15 +3 7 8 11 12 14 15 +3 7 8 11 13 14 15 +3 7 8 12 13 14 15 +3 7 9 10 11 12 13 +3 7 9 10 11 12 14 +3 7 9 10 11 12 15 +3 7 9 10 11 13 14 +3 7 9 10 11 13 15 +3 7 9 10 11 14 15 +3 7 9 10 12 13 14 +3 7 9 10 12 13 15 +3 7 9 10 12 14 15 +3 7 9 10 13 14 15 +3 7 9 11 12 13 14 +3 7 9 11 12 13 15 +3 7 9 11 12 14 15 +3 7 9 11 13 14 15 +3 7 9 12 13 14 15 +3 7 10 11 12 13 14 +3 7 10 11 12 13 15 +3 7 10 11 12 14 15 +3 7 10 11 13 14 15 +3 7 10 12 13 14 15 +3 7 11 12 13 14 15 +3 8 9 10 11 12 13 +3 8 9 10 11 12 14 +3 8 9 10 11 12 15 +3 8 9 10 11 13 14 +3 8 9 10 11 13 15 +3 8 9 10 11 14 15 +3 8 9 10 12 13 14 +3 8 9 10 12 13 15 +3 8 9 10 12 14 15 +3 8 9 10 13 14 15 +3 8 9 11 12 13 14 +3 8 9 11 12 13 15 +3 8 9 11 12 14 15 +3 8 9 11 13 14 15 +3 8 9 12 13 14 15 +3 8 10 11 12 13 14 +3 8 10 11 12 13 15 +3 8 10 11 12 14 15 +3 8 10 11 13 14 15 +3 8 10 12 13 14 15 +3 8 11 12 13 14 15 +3 9 10 11 12 13 14 +3 9 10 11 12 13 15 +3 9 10 11 12 14 15 +3 9 10 11 13 14 15 +3 9 10 12 13 14 15 +3 9 11 12 13 14 15 +3 10 11 12 13 14 15 +4 5 6 7 8 9 10 +4 5 6 7 8 9 11 +4 5 6 7 8 9 12 +4 5 6 7 8 9 13 +4 5 6 7 8 9 14 +4 5 6 7 8 9 15 +4 5 6 7 8 10 11 +4 5 6 7 8 10 12 +4 5 6 7 8 10 13 +4 5 6 7 8 10 14 +4 5 6 7 8 10 15 +4 5 6 7 8 11 12 +4 5 6 7 8 11 13 +4 5 6 7 8 11 14 +4 5 6 7 8 11 15 +4 5 6 7 8 12 13 +4 5 6 7 8 12 14 +4 5 6 7 8 12 15 +4 5 6 7 8 13 14 +4 5 6 7 8 13 15 +4 5 6 7 8 14 15 +4 5 6 7 9 10 11 +4 5 6 7 9 10 12 +4 5 6 7 9 10 13 +4 5 6 7 9 10 14 +4 5 6 7 9 10 15 +4 5 6 7 9 11 12 +4 5 6 7 9 11 13 +4 5 6 7 9 11 14 +4 5 6 7 9 11 15 +4 5 6 7 9 12 13 +4 5 6 7 9 12 14 +4 5 6 7 9 12 15 +4 5 6 7 9 13 14 +4 5 6 7 9 13 15 +4 5 6 7 9 14 15 +4 5 6 7 10 11 12 +4 5 6 7 10 11 13 +4 5 6 7 10 11 14 +4 5 6 7 10 11 15 +4 5 6 7 10 12 13 +4 5 6 7 10 12 14 +4 5 6 7 10 12 15 +4 5 6 7 10 13 14 +4 5 6 7 10 13 15 +4 5 6 7 10 14 15 +4 5 6 7 11 12 13 +4 5 6 7 11 12 14 +4 5 6 7 11 12 15 +4 5 6 7 11 13 14 +4 5 6 7 11 13 15 +4 5 6 7 11 14 15 +4 5 6 7 12 13 14 +4 5 6 7 12 13 15 +4 5 6 7 12 14 15 +4 5 6 7 13 14 15 +4 5 6 8 9 10 11 +4 5 6 8 9 10 12 +4 5 6 8 9 10 13 +4 5 6 8 9 10 14 +4 5 6 8 9 10 15 +4 5 6 8 9 11 12 +4 5 6 8 9 11 13 +4 5 6 8 9 11 14 +4 5 6 8 9 11 15 +4 5 6 8 9 12 13 +4 5 6 8 9 12 14 +4 5 6 8 9 12 15 +4 5 6 8 9 13 14 +4 5 6 8 9 13 15 +4 5 6 8 9 14 15 +4 5 6 8 10 11 12 +4 5 6 8 10 11 13 +4 5 6 8 10 11 14 +4 5 6 8 10 11 15 +4 5 6 8 10 12 13 +4 5 6 8 10 12 14 +4 5 6 8 10 12 15 +4 5 6 8 10 13 14 +4 5 6 8 10 13 15 +4 5 6 8 10 14 15 +4 5 6 8 11 12 13 +4 5 6 8 11 12 14 +4 5 6 8 11 12 15 +4 5 6 8 11 13 14 +4 5 6 8 11 13 15 +4 5 6 8 11 14 15 +4 5 6 8 12 13 14 +4 5 6 8 12 13 15 +4 5 6 8 12 14 15 +4 5 6 8 13 14 15 +4 5 6 9 10 11 12 +4 5 6 9 10 11 13 +4 5 6 9 10 11 14 +4 5 6 9 10 11 15 +4 5 6 9 10 12 13 +4 5 6 9 10 12 14 +4 5 6 9 10 12 15 +4 5 6 9 10 13 14 +4 5 6 9 10 13 15 +4 5 6 9 10 14 15 +4 5 6 9 11 12 13 +4 5 6 9 11 12 14 +4 5 6 9 11 12 15 +4 5 6 9 11 13 14 +4 5 6 9 11 13 15 +4 5 6 9 11 14 15 +4 5 6 9 12 13 14 +4 5 6 9 12 13 15 +4 5 6 9 12 14 15 +4 5 6 9 13 14 15 +4 5 6 10 11 12 13 +4 5 6 10 11 12 14 +4 5 6 10 11 12 15 +4 5 6 10 11 13 14 +4 5 6 10 11 13 15 +4 5 6 10 11 14 15 +4 5 6 10 12 13 14 +4 5 6 10 12 13 15 +4 5 6 10 12 14 15 +4 5 6 10 13 14 15 +4 5 6 11 12 13 14 +4 5 6 11 12 13 15 +4 5 6 11 12 14 15 +4 5 6 11 13 14 15 +4 5 6 12 13 14 15 +4 5 7 8 9 10 11 +4 5 7 8 9 10 12 +4 5 7 8 9 10 13 +4 5 7 8 9 10 14 +4 5 7 8 9 10 15 +4 5 7 8 9 11 12 +4 5 7 8 9 11 13 +4 5 7 8 9 11 14 +4 5 7 8 9 11 15 +4 5 7 8 9 12 13 +4 5 7 8 9 12 14 +4 5 7 8 9 12 15 +4 5 7 8 9 13 14 +4 5 7 8 9 13 15 +4 5 7 8 9 14 15 +4 5 7 8 10 11 12 +4 5 7 8 10 11 13 +4 5 7 8 10 11 14 +4 5 7 8 10 11 15 +4 5 7 8 10 12 13 +4 5 7 8 10 12 14 +4 5 7 8 10 12 15 +4 5 7 8 10 13 14 +4 5 7 8 10 13 15 +4 5 7 8 10 14 15 +4 5 7 8 11 12 13 +4 5 7 8 11 12 14 +4 5 7 8 11 12 15 +4 5 7 8 11 13 14 +4 5 7 8 11 13 15 +4 5 7 8 11 14 15 +4 5 7 8 12 13 14 +4 5 7 8 12 13 15 +4 5 7 8 12 14 15 +4 5 7 8 13 14 15 +4 5 7 9 10 11 12 +4 5 7 9 10 11 13 +4 5 7 9 10 11 14 +4 5 7 9 10 11 15 +4 5 7 9 10 12 13 +4 5 7 9 10 12 14 +4 5 7 9 10 12 15 +4 5 7 9 10 13 14 +4 5 7 9 10 13 15 +4 5 7 9 10 14 15 +4 5 7 9 11 12 13 +4 5 7 9 11 12 14 +4 5 7 9 11 12 15 +4 5 7 9 11 13 14 +4 5 7 9 11 13 15 +4 5 7 9 11 14 15 +4 5 7 9 12 13 14 +4 5 7 9 12 13 15 +4 5 7 9 12 14 15 +4 5 7 9 13 14 15 +4 5 7 10 11 12 13 +4 5 7 10 11 12 14 +4 5 7 10 11 12 15 +4 5 7 10 11 13 14 +4 5 7 10 11 13 15 +4 5 7 10 11 14 15 +4 5 7 10 12 13 14 +4 5 7 10 12 13 15 +4 5 7 10 12 14 15 +4 5 7 10 13 14 15 +4 5 7 11 12 13 14 +4 5 7 11 12 13 15 +4 5 7 11 12 14 15 +4 5 7 11 13 14 15 +4 5 7 12 13 14 15 +4 5 8 9 10 11 12 +4 5 8 9 10 11 13 +4 5 8 9 10 11 14 +4 5 8 9 10 11 15 +4 5 8 9 10 12 13 +4 5 8 9 10 12 14 +4 5 8 9 10 12 15 +4 5 8 9 10 13 14 +4 5 8 9 10 13 15 +4 5 8 9 10 14 15 +4 5 8 9 11 12 13 +4 5 8 9 11 12 14 +4 5 8 9 11 12 15 +4 5 8 9 11 13 14 +4 5 8 9 11 13 15 +4 5 8 9 11 14 15 +4 5 8 9 12 13 14 +4 5 8 9 12 13 15 +4 5 8 9 12 14 15 +4 5 8 9 13 14 15 +4 5 8 10 11 12 13 +4 5 8 10 11 12 14 +4 5 8 10 11 12 15 +4 5 8 10 11 13 14 +4 5 8 10 11 13 15 +4 5 8 10 11 14 15 +4 5 8 10 12 13 14 +4 5 8 10 12 13 15 +4 5 8 10 12 14 15 +4 5 8 10 13 14 15 +4 5 8 11 12 13 14 +4 5 8 11 12 13 15 +4 5 8 11 12 14 15 +4 5 8 11 13 14 15 +4 5 8 12 13 14 15 +4 5 9 10 11 12 13 +4 5 9 10 11 12 14 +4 5 9 10 11 12 15 +4 5 9 10 11 13 14 +4 5 9 10 11 13 15 +4 5 9 10 11 14 15 +4 5 9 10 12 13 14 +4 5 9 10 12 13 15 +4 5 9 10 12 14 15 +4 5 9 10 13 14 15 +4 5 9 11 12 13 14 +4 5 9 11 12 13 15 +4 5 9 11 12 14 15 +4 5 9 11 13 14 15 +4 5 9 12 13 14 15 +4 5 10 11 12 13 14 +4 5 10 11 12 13 15 +4 5 10 11 12 14 15 +4 5 10 11 13 14 15 +4 5 10 12 13 14 15 +4 5 11 12 13 14 15 +4 6 7 8 9 10 11 +4 6 7 8 9 10 12 +4 6 7 8 9 10 13 +4 6 7 8 9 10 14 +4 6 7 8 9 10 15 +4 6 7 8 9 11 12 +4 6 7 8 9 11 13 +4 6 7 8 9 11 14 +4 6 7 8 9 11 15 +4 6 7 8 9 12 13 +4 6 7 8 9 12 14 +4 6 7 8 9 12 15 +4 6 7 8 9 13 14 +4 6 7 8 9 13 15 +4 6 7 8 9 14 15 +4 6 7 8 10 11 12 +4 6 7 8 10 11 13 +4 6 7 8 10 11 14 +4 6 7 8 10 11 15 +4 6 7 8 10 12 13 +4 6 7 8 10 12 14 +4 6 7 8 10 12 15 +4 6 7 8 10 13 14 +4 6 7 8 10 13 15 +4 6 7 8 10 14 15 +4 6 7 8 11 12 13 +4 6 7 8 11 12 14 +4 6 7 8 11 12 15 +4 6 7 8 11 13 14 +4 6 7 8 11 13 15 +4 6 7 8 11 14 15 +4 6 7 8 12 13 14 +4 6 7 8 12 13 15 +4 6 7 8 12 14 15 +4 6 7 8 13 14 15 +4 6 7 9 10 11 12 +4 6 7 9 10 11 13 +4 6 7 9 10 11 14 +4 6 7 9 10 11 15 +4 6 7 9 10 12 13 +4 6 7 9 10 12 14 +4 6 7 9 10 12 15 +4 6 7 9 10 13 14 +4 6 7 9 10 13 15 +4 6 7 9 10 14 15 +4 6 7 9 11 12 13 +4 6 7 9 11 12 14 +4 6 7 9 11 12 15 +4 6 7 9 11 13 14 +4 6 7 9 11 13 15 +4 6 7 9 11 14 15 +4 6 7 9 12 13 14 +4 6 7 9 12 13 15 +4 6 7 9 12 14 15 +4 6 7 9 13 14 15 +4 6 7 10 11 12 13 +4 6 7 10 11 12 14 +4 6 7 10 11 12 15 +4 6 7 10 11 13 14 +4 6 7 10 11 13 15 +4 6 7 10 11 14 15 +4 6 7 10 12 13 14 +4 6 7 10 12 13 15 +4 6 7 10 12 14 15 +4 6 7 10 13 14 15 +4 6 7 11 12 13 14 +4 6 7 11 12 13 15 +4 6 7 11 12 14 15 +4 6 7 11 13 14 15 +4 6 7 12 13 14 15 +4 6 8 9 10 11 12 +4 6 8 9 10 11 13 +4 6 8 9 10 11 14 +4 6 8 9 10 11 15 +4 6 8 9 10 12 13 +4 6 8 9 10 12 14 +4 6 8 9 10 12 15 +4 6 8 9 10 13 14 +4 6 8 9 10 13 15 +4 6 8 9 10 14 15 +4 6 8 9 11 12 13 +4 6 8 9 11 12 14 +4 6 8 9 11 12 15 +4 6 8 9 11 13 14 +4 6 8 9 11 13 15 +4 6 8 9 11 14 15 +4 6 8 9 12 13 14 +4 6 8 9 12 13 15 +4 6 8 9 12 14 15 +4 6 8 9 13 14 15 +4 6 8 10 11 12 13 +4 6 8 10 11 12 14 +4 6 8 10 11 12 15 +4 6 8 10 11 13 14 +4 6 8 10 11 13 15 +4 6 8 10 11 14 15 +4 6 8 10 12 13 14 +4 6 8 10 12 13 15 +4 6 8 10 12 14 15 +4 6 8 10 13 14 15 +4 6 8 11 12 13 14 +4 6 8 11 12 13 15 +4 6 8 11 12 14 15 +4 6 8 11 13 14 15 +4 6 8 12 13 14 15 +4 6 9 10 11 12 13 +4 6 9 10 11 12 14 +4 6 9 10 11 12 15 +4 6 9 10 11 13 14 +4 6 9 10 11 13 15 +4 6 9 10 11 14 15 +4 6 9 10 12 13 14 +4 6 9 10 12 13 15 +4 6 9 10 12 14 15 +4 6 9 10 13 14 15 +4 6 9 11 12 13 14 +4 6 9 11 12 13 15 +4 6 9 11 12 14 15 +4 6 9 11 13 14 15 +4 6 9 12 13 14 15 +4 6 10 11 12 13 14 +4 6 10 11 12 13 15 +4 6 10 11 12 14 15 +4 6 10 11 13 14 15 +4 6 10 12 13 14 15 +4 6 11 12 13 14 15 +4 7 8 9 10 11 12 +4 7 8 9 10 11 13 +4 7 8 9 10 11 14 +4 7 8 9 10 11 15 +4 7 8 9 10 12 13 +4 7 8 9 10 12 14 +4 7 8 9 10 12 15 +4 7 8 9 10 13 14 +4 7 8 9 10 13 15 +4 7 8 9 10 14 15 +4 7 8 9 11 12 13 +4 7 8 9 11 12 14 +4 7 8 9 11 12 15 +4 7 8 9 11 13 14 +4 7 8 9 11 13 15 +4 7 8 9 11 14 15 +4 7 8 9 12 13 14 +4 7 8 9 12 13 15 +4 7 8 9 12 14 15 +4 7 8 9 13 14 15 +4 7 8 10 11 12 13 +4 7 8 10 11 12 14 +4 7 8 10 11 12 15 +4 7 8 10 11 13 14 +4 7 8 10 11 13 15 +4 7 8 10 11 14 15 +4 7 8 10 12 13 14 +4 7 8 10 12 13 15 +4 7 8 10 12 14 15 +4 7 8 10 13 14 15 +4 7 8 11 12 13 14 +4 7 8 11 12 13 15 +4 7 8 11 12 14 15 +4 7 8 11 13 14 15 +4 7 8 12 13 14 15 +4 7 9 10 11 12 13 +4 7 9 10 11 12 14 +4 7 9 10 11 12 15 +4 7 9 10 11 13 14 +4 7 9 10 11 13 15 +4 7 9 10 11 14 15 +4 7 9 10 12 13 14 +4 7 9 10 12 13 15 +4 7 9 10 12 14 15 +4 7 9 10 13 14 15 +4 7 9 11 12 13 14 +4 7 9 11 12 13 15 +4 7 9 11 12 14 15 +4 7 9 11 13 14 15 +4 7 9 12 13 14 15 +4 7 10 11 12 13 14 +4 7 10 11 12 13 15 +4 7 10 11 12 14 15 +4 7 10 11 13 14 15 +4 7 10 12 13 14 15 +4 7 11 12 13 14 15 +4 8 9 10 11 12 13 +4 8 9 10 11 12 14 +4 8 9 10 11 12 15 +4 8 9 10 11 13 14 +4 8 9 10 11 13 15 +4 8 9 10 11 14 15 +4 8 9 10 12 13 14 +4 8 9 10 12 13 15 +4 8 9 10 12 14 15 +4 8 9 10 13 14 15 +4 8 9 11 12 13 14 +4 8 9 11 12 13 15 +4 8 9 11 12 14 15 +4 8 9 11 13 14 15 +4 8 9 12 13 14 15 +4 8 10 11 12 13 14 +4 8 10 11 12 13 15 +4 8 10 11 12 14 15 +4 8 10 11 13 14 15 +4 8 10 12 13 14 15 +4 8 11 12 13 14 15 +4 9 10 11 12 13 14 +4 9 10 11 12 13 15 +4 9 10 11 12 14 15 +4 9 10 11 13 14 15 +4 9 10 12 13 14 15 +4 9 11 12 13 14 15 +4 10 11 12 13 14 15 +5 6 7 8 9 10 11 +5 6 7 8 9 10 12 +5 6 7 8 9 10 13 +5 6 7 8 9 10 14 +5 6 7 8 9 10 15 +5 6 7 8 9 11 12 +5 6 7 8 9 11 13 +5 6 7 8 9 11 14 +5 6 7 8 9 11 15 +5 6 7 8 9 12 13 +5 6 7 8 9 12 14 +5 6 7 8 9 12 15 +5 6 7 8 9 13 14 +5 6 7 8 9 13 15 +5 6 7 8 9 14 15 +5 6 7 8 10 11 12 +5 6 7 8 10 11 13 +5 6 7 8 10 11 14 +5 6 7 8 10 11 15 +5 6 7 8 10 12 13 +5 6 7 8 10 12 14 +5 6 7 8 10 12 15 +5 6 7 8 10 13 14 +5 6 7 8 10 13 15 +5 6 7 8 10 14 15 +5 6 7 8 11 12 13 +5 6 7 8 11 12 14 +5 6 7 8 11 12 15 +5 6 7 8 11 13 14 +5 6 7 8 11 13 15 +5 6 7 8 11 14 15 +5 6 7 8 12 13 14 +5 6 7 8 12 13 15 +5 6 7 8 12 14 15 +5 6 7 8 13 14 15 +5 6 7 9 10 11 12 +5 6 7 9 10 11 13 +5 6 7 9 10 11 14 +5 6 7 9 10 11 15 +5 6 7 9 10 12 13 +5 6 7 9 10 12 14 +5 6 7 9 10 12 15 +5 6 7 9 10 13 14 +5 6 7 9 10 13 15 +5 6 7 9 10 14 15 +5 6 7 9 11 12 13 +5 6 7 9 11 12 14 +5 6 7 9 11 12 15 +5 6 7 9 11 13 14 +5 6 7 9 11 13 15 +5 6 7 9 11 14 15 +5 6 7 9 12 13 14 +5 6 7 9 12 13 15 +5 6 7 9 12 14 15 +5 6 7 9 13 14 15 +5 6 7 10 11 12 13 +5 6 7 10 11 12 14 +5 6 7 10 11 12 15 +5 6 7 10 11 13 14 +5 6 7 10 11 13 15 +5 6 7 10 11 14 15 +5 6 7 10 12 13 14 +5 6 7 10 12 13 15 +5 6 7 10 12 14 15 +5 6 7 10 13 14 15 +5 6 7 11 12 13 14 +5 6 7 11 12 13 15 +5 6 7 11 12 14 15 +5 6 7 11 13 14 15 +5 6 7 12 13 14 15 +5 6 8 9 10 11 12 +5 6 8 9 10 11 13 +5 6 8 9 10 11 14 +5 6 8 9 10 11 15 +5 6 8 9 10 12 13 +5 6 8 9 10 12 14 +5 6 8 9 10 12 15 +5 6 8 9 10 13 14 +5 6 8 9 10 13 15 +5 6 8 9 10 14 15 +5 6 8 9 11 12 13 +5 6 8 9 11 12 14 +5 6 8 9 11 12 15 +5 6 8 9 11 13 14 +5 6 8 9 11 13 15 +5 6 8 9 11 14 15 +5 6 8 9 12 13 14 +5 6 8 9 12 13 15 +5 6 8 9 12 14 15 +5 6 8 9 13 14 15 +5 6 8 10 11 12 13 +5 6 8 10 11 12 14 +5 6 8 10 11 12 15 +5 6 8 10 11 13 14 +5 6 8 10 11 13 15 +5 6 8 10 11 14 15 +5 6 8 10 12 13 14 +5 6 8 10 12 13 15 +5 6 8 10 12 14 15 +5 6 8 10 13 14 15 +5 6 8 11 12 13 14 +5 6 8 11 12 13 15 +5 6 8 11 12 14 15 +5 6 8 11 13 14 15 +5 6 8 12 13 14 15 +5 6 9 10 11 12 13 +5 6 9 10 11 12 14 +5 6 9 10 11 12 15 +5 6 9 10 11 13 14 +5 6 9 10 11 13 15 +5 6 9 10 11 14 15 +5 6 9 10 12 13 14 +5 6 9 10 12 13 15 +5 6 9 10 12 14 15 +5 6 9 10 13 14 15 +5 6 9 11 12 13 14 +5 6 9 11 12 13 15 +5 6 9 11 12 14 15 +5 6 9 11 13 14 15 +5 6 9 12 13 14 15 +5 6 10 11 12 13 14 +5 6 10 11 12 13 15 +5 6 10 11 12 14 15 +5 6 10 11 13 14 15 +5 6 10 12 13 14 15 +5 6 11 12 13 14 15 +5 7 8 9 10 11 12 +5 7 8 9 10 11 13 +5 7 8 9 10 11 14 +5 7 8 9 10 11 15 +5 7 8 9 10 12 13 +5 7 8 9 10 12 14 +5 7 8 9 10 12 15 +5 7 8 9 10 13 14 +5 7 8 9 10 13 15 +5 7 8 9 10 14 15 +5 7 8 9 11 12 13 +5 7 8 9 11 12 14 +5 7 8 9 11 12 15 +5 7 8 9 11 13 14 +5 7 8 9 11 13 15 +5 7 8 9 11 14 15 +5 7 8 9 12 13 14 +5 7 8 9 12 13 15 +5 7 8 9 12 14 15 +5 7 8 9 13 14 15 +5 7 8 10 11 12 13 +5 7 8 10 11 12 14 +5 7 8 10 11 12 15 +5 7 8 10 11 13 14 +5 7 8 10 11 13 15 +5 7 8 10 11 14 15 +5 7 8 10 12 13 14 +5 7 8 10 12 13 15 +5 7 8 10 12 14 15 +5 7 8 10 13 14 15 +5 7 8 11 12 13 14 +5 7 8 11 12 13 15 +5 7 8 11 12 14 15 +5 7 8 11 13 14 15 +5 7 8 12 13 14 15 +5 7 9 10 11 12 13 +5 7 9 10 11 12 14 +5 7 9 10 11 12 15 +5 7 9 10 11 13 14 +5 7 9 10 11 13 15 +5 7 9 10 11 14 15 +5 7 9 10 12 13 14 +5 7 9 10 12 13 15 +5 7 9 10 12 14 15 +5 7 9 10 13 14 15 +5 7 9 11 12 13 14 +5 7 9 11 12 13 15 +5 7 9 11 12 14 15 +5 7 9 11 13 14 15 +5 7 9 12 13 14 15 +5 7 10 11 12 13 14 +5 7 10 11 12 13 15 +5 7 10 11 12 14 15 +5 7 10 11 13 14 15 +5 7 10 12 13 14 15 +5 7 11 12 13 14 15 +5 8 9 10 11 12 13 +5 8 9 10 11 12 14 +5 8 9 10 11 12 15 +5 8 9 10 11 13 14 +5 8 9 10 11 13 15 +5 8 9 10 11 14 15 +5 8 9 10 12 13 14 +5 8 9 10 12 13 15 +5 8 9 10 12 14 15 +5 8 9 10 13 14 15 +5 8 9 11 12 13 14 +5 8 9 11 12 13 15 +5 8 9 11 12 14 15 +5 8 9 11 13 14 15 +5 8 9 12 13 14 15 +5 8 10 11 12 13 14 +5 8 10 11 12 13 15 +5 8 10 11 12 14 15 +5 8 10 11 13 14 15 +5 8 10 12 13 14 15 +5 8 11 12 13 14 15 +5 9 10 11 12 13 14 +5 9 10 11 12 13 15 +5 9 10 11 12 14 15 +5 9 10 11 13 14 15 +5 9 10 12 13 14 15 +5 9 11 12 13 14 15 +5 10 11 12 13 14 15 +6 7 8 9 10 11 12 +6 7 8 9 10 11 13 +6 7 8 9 10 11 14 +6 7 8 9 10 11 15 +6 7 8 9 10 12 13 +6 7 8 9 10 12 14 +6 7 8 9 10 12 15 +6 7 8 9 10 13 14 +6 7 8 9 10 13 15 +6 7 8 9 10 14 15 +6 7 8 9 11 12 13 +6 7 8 9 11 12 14 +6 7 8 9 11 12 15 +6 7 8 9 11 13 14 +6 7 8 9 11 13 15 +6 7 8 9 11 14 15 +6 7 8 9 12 13 14 +6 7 8 9 12 13 15 +6 7 8 9 12 14 15 +6 7 8 9 13 14 15 +6 7 8 10 11 12 13 +6 7 8 10 11 12 14 +6 7 8 10 11 12 15 +6 7 8 10 11 13 14 +6 7 8 10 11 13 15 +6 7 8 10 11 14 15 +6 7 8 10 12 13 14 +6 7 8 10 12 13 15 +6 7 8 10 12 14 15 +6 7 8 10 13 14 15 +6 7 8 11 12 13 14 +6 7 8 11 12 13 15 +6 7 8 11 12 14 15 +6 7 8 11 13 14 15 +6 7 8 12 13 14 15 +6 7 9 10 11 12 13 +6 7 9 10 11 12 14 +6 7 9 10 11 12 15 +6 7 9 10 11 13 14 +6 7 9 10 11 13 15 +6 7 9 10 11 14 15 +6 7 9 10 12 13 14 +6 7 9 10 12 13 15 +6 7 9 10 12 14 15 +6 7 9 10 13 14 15 +6 7 9 11 12 13 14 +6 7 9 11 12 13 15 +6 7 9 11 12 14 15 +6 7 9 11 13 14 15 +6 7 9 12 13 14 15 +6 7 10 11 12 13 14 +6 7 10 11 12 13 15 +6 7 10 11 12 14 15 +6 7 10 11 13 14 15 +6 7 10 12 13 14 15 +6 7 11 12 13 14 15 +6 8 9 10 11 12 13 +6 8 9 10 11 12 14 +6 8 9 10 11 12 15 +6 8 9 10 11 13 14 +6 8 9 10 11 13 15 +6 8 9 10 11 14 15 +6 8 9 10 12 13 14 +6 8 9 10 12 13 15 +6 8 9 10 12 14 15 +6 8 9 10 13 14 15 +6 8 9 11 12 13 14 +6 8 9 11 12 13 15 +6 8 9 11 12 14 15 +6 8 9 11 13 14 15 +6 8 9 12 13 14 15 +6 8 10 11 12 13 14 +6 8 10 11 12 13 15 +6 8 10 11 12 14 15 +6 8 10 11 13 14 15 +6 8 10 12 13 14 15 +6 8 11 12 13 14 15 +6 9 10 11 12 13 14 +6 9 10 11 12 13 15 +6 9 10 11 12 14 15 +6 9 10 11 13 14 15 +6 9 10 12 13 14 15 +6 9 11 12 13 14 15 +6 10 11 12 13 14 15 +7 8 9 10 11 12 13 +7 8 9 10 11 12 14 +7 8 9 10 11 12 15 +7 8 9 10 11 13 14 +7 8 9 10 11 13 15 +7 8 9 10 11 14 15 +7 8 9 10 12 13 14 +7 8 9 10 12 13 15 +7 8 9 10 12 14 15 +7 8 9 10 13 14 15 +7 8 9 11 12 13 14 +7 8 9 11 12 13 15 +7 8 9 11 12 14 15 +7 8 9 11 13 14 15 +7 8 9 12 13 14 15 +7 8 10 11 12 13 14 +7 8 10 11 12 13 15 +7 8 10 11 12 14 15 +7 8 10 11 13 14 15 +7 8 10 12 13 14 15 +7 8 11 12 13 14 15 +7 9 10 11 12 13 14 +7 9 10 11 12 13 15 +7 9 10 11 12 14 15 +7 9 10 11 13 14 15 +7 9 10 12 13 14 15 +7 9 11 12 13 14 15 +7 10 11 12 13 14 15 +8 9 10 11 12 13 14 +8 9 10 11 12 13 15 +8 9 10 11 12 14 15 +8 9 10 11 13 14 15 +8 9 10 12 13 14 15 +8 9 11 12 13 14 15 +8 10 11 12 13 14 15 +9 10 11 12 13 14 15 diff --git a/combines/16-8.txt b/combines/16-8.txt index 8f98057..5d788b0 100644 --- a/combines/16-8.txt +++ b/combines/16-8.txt @@ -1,12870 +1,12870 @@ -0 1 2 3 4 5 6 7 -0 1 2 3 4 5 6 8 -0 1 2 3 4 5 6 9 -0 1 2 3 4 5 6 10 -0 1 2 3 4 5 6 11 -0 1 2 3 4 5 6 12 -0 1 2 3 4 5 6 13 -0 1 2 3 4 5 6 14 -0 1 2 3 4 5 6 15 -0 1 2 3 4 5 7 8 -0 1 2 3 4 5 7 9 -0 1 2 3 4 5 7 10 -0 1 2 3 4 5 7 11 -0 1 2 3 4 5 7 12 -0 1 2 3 4 5 7 13 -0 1 2 3 4 5 7 14 -0 1 2 3 4 5 7 15 -0 1 2 3 4 5 8 9 -0 1 2 3 4 5 8 10 -0 1 2 3 4 5 8 11 -0 1 2 3 4 5 8 12 -0 1 2 3 4 5 8 13 -0 1 2 3 4 5 8 14 -0 1 2 3 4 5 8 15 -0 1 2 3 4 5 9 10 -0 1 2 3 4 5 9 11 -0 1 2 3 4 5 9 12 -0 1 2 3 4 5 9 13 -0 1 2 3 4 5 9 14 -0 1 2 3 4 5 9 15 -0 1 2 3 4 5 10 11 -0 1 2 3 4 5 10 12 -0 1 2 3 4 5 10 13 -0 1 2 3 4 5 10 14 -0 1 2 3 4 5 10 15 -0 1 2 3 4 5 11 12 -0 1 2 3 4 5 11 13 -0 1 2 3 4 5 11 14 -0 1 2 3 4 5 11 15 -0 1 2 3 4 5 12 13 -0 1 2 3 4 5 12 14 -0 1 2 3 4 5 12 15 -0 1 2 3 4 5 13 14 -0 1 2 3 4 5 13 15 -0 1 2 3 4 5 14 15 -0 1 2 3 4 6 7 8 -0 1 2 3 4 6 7 9 -0 1 2 3 4 6 7 10 -0 1 2 3 4 6 7 11 -0 1 2 3 4 6 7 12 -0 1 2 3 4 6 7 13 -0 1 2 3 4 6 7 14 -0 1 2 3 4 6 7 15 -0 1 2 3 4 6 8 9 -0 1 2 3 4 6 8 10 -0 1 2 3 4 6 8 11 -0 1 2 3 4 6 8 12 -0 1 2 3 4 6 8 13 -0 1 2 3 4 6 8 14 -0 1 2 3 4 6 8 15 -0 1 2 3 4 6 9 10 -0 1 2 3 4 6 9 11 -0 1 2 3 4 6 9 12 -0 1 2 3 4 6 9 13 -0 1 2 3 4 6 9 14 -0 1 2 3 4 6 9 15 -0 1 2 3 4 6 10 11 -0 1 2 3 4 6 10 12 -0 1 2 3 4 6 10 13 -0 1 2 3 4 6 10 14 -0 1 2 3 4 6 10 15 -0 1 2 3 4 6 11 12 -0 1 2 3 4 6 11 13 -0 1 2 3 4 6 11 14 -0 1 2 3 4 6 11 15 -0 1 2 3 4 6 12 13 -0 1 2 3 4 6 12 14 -0 1 2 3 4 6 12 15 -0 1 2 3 4 6 13 14 -0 1 2 3 4 6 13 15 -0 1 2 3 4 6 14 15 -0 1 2 3 4 7 8 9 -0 1 2 3 4 7 8 10 -0 1 2 3 4 7 8 11 -0 1 2 3 4 7 8 12 -0 1 2 3 4 7 8 13 -0 1 2 3 4 7 8 14 -0 1 2 3 4 7 8 15 -0 1 2 3 4 7 9 10 -0 1 2 3 4 7 9 11 -0 1 2 3 4 7 9 12 -0 1 2 3 4 7 9 13 -0 1 2 3 4 7 9 14 -0 1 2 3 4 7 9 15 -0 1 2 3 4 7 10 11 -0 1 2 3 4 7 10 12 -0 1 2 3 4 7 10 13 -0 1 2 3 4 7 10 14 -0 1 2 3 4 7 10 15 -0 1 2 3 4 7 11 12 -0 1 2 3 4 7 11 13 -0 1 2 3 4 7 11 14 -0 1 2 3 4 7 11 15 -0 1 2 3 4 7 12 13 -0 1 2 3 4 7 12 14 -0 1 2 3 4 7 12 15 -0 1 2 3 4 7 13 14 -0 1 2 3 4 7 13 15 -0 1 2 3 4 7 14 15 -0 1 2 3 4 8 9 10 -0 1 2 3 4 8 9 11 -0 1 2 3 4 8 9 12 -0 1 2 3 4 8 9 13 -0 1 2 3 4 8 9 14 -0 1 2 3 4 8 9 15 -0 1 2 3 4 8 10 11 -0 1 2 3 4 8 10 12 -0 1 2 3 4 8 10 13 -0 1 2 3 4 8 10 14 -0 1 2 3 4 8 10 15 -0 1 2 3 4 8 11 12 -0 1 2 3 4 8 11 13 -0 1 2 3 4 8 11 14 -0 1 2 3 4 8 11 15 -0 1 2 3 4 8 12 13 -0 1 2 3 4 8 12 14 -0 1 2 3 4 8 12 15 -0 1 2 3 4 8 13 14 -0 1 2 3 4 8 13 15 -0 1 2 3 4 8 14 15 -0 1 2 3 4 9 10 11 -0 1 2 3 4 9 10 12 -0 1 2 3 4 9 10 13 -0 1 2 3 4 9 10 14 -0 1 2 3 4 9 10 15 -0 1 2 3 4 9 11 12 -0 1 2 3 4 9 11 13 -0 1 2 3 4 9 11 14 -0 1 2 3 4 9 11 15 -0 1 2 3 4 9 12 13 -0 1 2 3 4 9 12 14 -0 1 2 3 4 9 12 15 -0 1 2 3 4 9 13 14 -0 1 2 3 4 9 13 15 -0 1 2 3 4 9 14 15 -0 1 2 3 4 10 11 12 -0 1 2 3 4 10 11 13 -0 1 2 3 4 10 11 14 -0 1 2 3 4 10 11 15 -0 1 2 3 4 10 12 13 -0 1 2 3 4 10 12 14 -0 1 2 3 4 10 12 15 -0 1 2 3 4 10 13 14 -0 1 2 3 4 10 13 15 -0 1 2 3 4 10 14 15 -0 1 2 3 4 11 12 13 -0 1 2 3 4 11 12 14 -0 1 2 3 4 11 12 15 -0 1 2 3 4 11 13 14 -0 1 2 3 4 11 13 15 -0 1 2 3 4 11 14 15 -0 1 2 3 4 12 13 14 -0 1 2 3 4 12 13 15 -0 1 2 3 4 12 14 15 -0 1 2 3 4 13 14 15 -0 1 2 3 5 6 7 8 -0 1 2 3 5 6 7 9 -0 1 2 3 5 6 7 10 -0 1 2 3 5 6 7 11 -0 1 2 3 5 6 7 12 -0 1 2 3 5 6 7 13 -0 1 2 3 5 6 7 14 -0 1 2 3 5 6 7 15 -0 1 2 3 5 6 8 9 -0 1 2 3 5 6 8 10 -0 1 2 3 5 6 8 11 -0 1 2 3 5 6 8 12 -0 1 2 3 5 6 8 13 -0 1 2 3 5 6 8 14 -0 1 2 3 5 6 8 15 -0 1 2 3 5 6 9 10 -0 1 2 3 5 6 9 11 -0 1 2 3 5 6 9 12 -0 1 2 3 5 6 9 13 -0 1 2 3 5 6 9 14 -0 1 2 3 5 6 9 15 -0 1 2 3 5 6 10 11 -0 1 2 3 5 6 10 12 -0 1 2 3 5 6 10 13 -0 1 2 3 5 6 10 14 -0 1 2 3 5 6 10 15 -0 1 2 3 5 6 11 12 -0 1 2 3 5 6 11 13 -0 1 2 3 5 6 11 14 -0 1 2 3 5 6 11 15 -0 1 2 3 5 6 12 13 -0 1 2 3 5 6 12 14 -0 1 2 3 5 6 12 15 -0 1 2 3 5 6 13 14 -0 1 2 3 5 6 13 15 -0 1 2 3 5 6 14 15 -0 1 2 3 5 7 8 9 -0 1 2 3 5 7 8 10 -0 1 2 3 5 7 8 11 -0 1 2 3 5 7 8 12 -0 1 2 3 5 7 8 13 -0 1 2 3 5 7 8 14 -0 1 2 3 5 7 8 15 -0 1 2 3 5 7 9 10 -0 1 2 3 5 7 9 11 -0 1 2 3 5 7 9 12 -0 1 2 3 5 7 9 13 -0 1 2 3 5 7 9 14 -0 1 2 3 5 7 9 15 -0 1 2 3 5 7 10 11 -0 1 2 3 5 7 10 12 -0 1 2 3 5 7 10 13 -0 1 2 3 5 7 10 14 -0 1 2 3 5 7 10 15 -0 1 2 3 5 7 11 12 -0 1 2 3 5 7 11 13 -0 1 2 3 5 7 11 14 -0 1 2 3 5 7 11 15 -0 1 2 3 5 7 12 13 -0 1 2 3 5 7 12 14 -0 1 2 3 5 7 12 15 -0 1 2 3 5 7 13 14 -0 1 2 3 5 7 13 15 -0 1 2 3 5 7 14 15 -0 1 2 3 5 8 9 10 -0 1 2 3 5 8 9 11 -0 1 2 3 5 8 9 12 -0 1 2 3 5 8 9 13 -0 1 2 3 5 8 9 14 -0 1 2 3 5 8 9 15 -0 1 2 3 5 8 10 11 -0 1 2 3 5 8 10 12 -0 1 2 3 5 8 10 13 -0 1 2 3 5 8 10 14 -0 1 2 3 5 8 10 15 -0 1 2 3 5 8 11 12 -0 1 2 3 5 8 11 13 -0 1 2 3 5 8 11 14 -0 1 2 3 5 8 11 15 -0 1 2 3 5 8 12 13 -0 1 2 3 5 8 12 14 -0 1 2 3 5 8 12 15 -0 1 2 3 5 8 13 14 -0 1 2 3 5 8 13 15 -0 1 2 3 5 8 14 15 -0 1 2 3 5 9 10 11 -0 1 2 3 5 9 10 12 -0 1 2 3 5 9 10 13 -0 1 2 3 5 9 10 14 -0 1 2 3 5 9 10 15 -0 1 2 3 5 9 11 12 -0 1 2 3 5 9 11 13 -0 1 2 3 5 9 11 14 -0 1 2 3 5 9 11 15 -0 1 2 3 5 9 12 13 -0 1 2 3 5 9 12 14 -0 1 2 3 5 9 12 15 -0 1 2 3 5 9 13 14 -0 1 2 3 5 9 13 15 -0 1 2 3 5 9 14 15 -0 1 2 3 5 10 11 12 -0 1 2 3 5 10 11 13 -0 1 2 3 5 10 11 14 -0 1 2 3 5 10 11 15 -0 1 2 3 5 10 12 13 -0 1 2 3 5 10 12 14 -0 1 2 3 5 10 12 15 -0 1 2 3 5 10 13 14 -0 1 2 3 5 10 13 15 -0 1 2 3 5 10 14 15 -0 1 2 3 5 11 12 13 -0 1 2 3 5 11 12 14 -0 1 2 3 5 11 12 15 -0 1 2 3 5 11 13 14 -0 1 2 3 5 11 13 15 -0 1 2 3 5 11 14 15 -0 1 2 3 5 12 13 14 -0 1 2 3 5 12 13 15 -0 1 2 3 5 12 14 15 -0 1 2 3 5 13 14 15 -0 1 2 3 6 7 8 9 -0 1 2 3 6 7 8 10 -0 1 2 3 6 7 8 11 -0 1 2 3 6 7 8 12 -0 1 2 3 6 7 8 13 -0 1 2 3 6 7 8 14 -0 1 2 3 6 7 8 15 -0 1 2 3 6 7 9 10 -0 1 2 3 6 7 9 11 -0 1 2 3 6 7 9 12 -0 1 2 3 6 7 9 13 -0 1 2 3 6 7 9 14 -0 1 2 3 6 7 9 15 -0 1 2 3 6 7 10 11 -0 1 2 3 6 7 10 12 -0 1 2 3 6 7 10 13 -0 1 2 3 6 7 10 14 -0 1 2 3 6 7 10 15 -0 1 2 3 6 7 11 12 -0 1 2 3 6 7 11 13 -0 1 2 3 6 7 11 14 -0 1 2 3 6 7 11 15 -0 1 2 3 6 7 12 13 -0 1 2 3 6 7 12 14 -0 1 2 3 6 7 12 15 -0 1 2 3 6 7 13 14 -0 1 2 3 6 7 13 15 -0 1 2 3 6 7 14 15 -0 1 2 3 6 8 9 10 -0 1 2 3 6 8 9 11 -0 1 2 3 6 8 9 12 -0 1 2 3 6 8 9 13 -0 1 2 3 6 8 9 14 -0 1 2 3 6 8 9 15 -0 1 2 3 6 8 10 11 -0 1 2 3 6 8 10 12 -0 1 2 3 6 8 10 13 -0 1 2 3 6 8 10 14 -0 1 2 3 6 8 10 15 -0 1 2 3 6 8 11 12 -0 1 2 3 6 8 11 13 -0 1 2 3 6 8 11 14 -0 1 2 3 6 8 11 15 -0 1 2 3 6 8 12 13 -0 1 2 3 6 8 12 14 -0 1 2 3 6 8 12 15 -0 1 2 3 6 8 13 14 -0 1 2 3 6 8 13 15 -0 1 2 3 6 8 14 15 -0 1 2 3 6 9 10 11 -0 1 2 3 6 9 10 12 -0 1 2 3 6 9 10 13 -0 1 2 3 6 9 10 14 -0 1 2 3 6 9 10 15 -0 1 2 3 6 9 11 12 -0 1 2 3 6 9 11 13 -0 1 2 3 6 9 11 14 -0 1 2 3 6 9 11 15 -0 1 2 3 6 9 12 13 -0 1 2 3 6 9 12 14 -0 1 2 3 6 9 12 15 -0 1 2 3 6 9 13 14 -0 1 2 3 6 9 13 15 -0 1 2 3 6 9 14 15 -0 1 2 3 6 10 11 12 -0 1 2 3 6 10 11 13 -0 1 2 3 6 10 11 14 -0 1 2 3 6 10 11 15 -0 1 2 3 6 10 12 13 -0 1 2 3 6 10 12 14 -0 1 2 3 6 10 12 15 -0 1 2 3 6 10 13 14 -0 1 2 3 6 10 13 15 -0 1 2 3 6 10 14 15 -0 1 2 3 6 11 12 13 -0 1 2 3 6 11 12 14 -0 1 2 3 6 11 12 15 -0 1 2 3 6 11 13 14 -0 1 2 3 6 11 13 15 -0 1 2 3 6 11 14 15 -0 1 2 3 6 12 13 14 -0 1 2 3 6 12 13 15 -0 1 2 3 6 12 14 15 -0 1 2 3 6 13 14 15 -0 1 2 3 7 8 9 10 -0 1 2 3 7 8 9 11 -0 1 2 3 7 8 9 12 -0 1 2 3 7 8 9 13 -0 1 2 3 7 8 9 14 -0 1 2 3 7 8 9 15 -0 1 2 3 7 8 10 11 -0 1 2 3 7 8 10 12 -0 1 2 3 7 8 10 13 -0 1 2 3 7 8 10 14 -0 1 2 3 7 8 10 15 -0 1 2 3 7 8 11 12 -0 1 2 3 7 8 11 13 -0 1 2 3 7 8 11 14 -0 1 2 3 7 8 11 15 -0 1 2 3 7 8 12 13 -0 1 2 3 7 8 12 14 -0 1 2 3 7 8 12 15 -0 1 2 3 7 8 13 14 -0 1 2 3 7 8 13 15 -0 1 2 3 7 8 14 15 -0 1 2 3 7 9 10 11 -0 1 2 3 7 9 10 12 -0 1 2 3 7 9 10 13 -0 1 2 3 7 9 10 14 -0 1 2 3 7 9 10 15 -0 1 2 3 7 9 11 12 -0 1 2 3 7 9 11 13 -0 1 2 3 7 9 11 14 -0 1 2 3 7 9 11 15 -0 1 2 3 7 9 12 13 -0 1 2 3 7 9 12 14 -0 1 2 3 7 9 12 15 -0 1 2 3 7 9 13 14 -0 1 2 3 7 9 13 15 -0 1 2 3 7 9 14 15 -0 1 2 3 7 10 11 12 -0 1 2 3 7 10 11 13 -0 1 2 3 7 10 11 14 -0 1 2 3 7 10 11 15 -0 1 2 3 7 10 12 13 -0 1 2 3 7 10 12 14 -0 1 2 3 7 10 12 15 -0 1 2 3 7 10 13 14 -0 1 2 3 7 10 13 15 -0 1 2 3 7 10 14 15 -0 1 2 3 7 11 12 13 -0 1 2 3 7 11 12 14 -0 1 2 3 7 11 12 15 -0 1 2 3 7 11 13 14 -0 1 2 3 7 11 13 15 -0 1 2 3 7 11 14 15 -0 1 2 3 7 12 13 14 -0 1 2 3 7 12 13 15 -0 1 2 3 7 12 14 15 -0 1 2 3 7 13 14 15 -0 1 2 3 8 9 10 11 -0 1 2 3 8 9 10 12 -0 1 2 3 8 9 10 13 -0 1 2 3 8 9 10 14 -0 1 2 3 8 9 10 15 -0 1 2 3 8 9 11 12 -0 1 2 3 8 9 11 13 -0 1 2 3 8 9 11 14 -0 1 2 3 8 9 11 15 -0 1 2 3 8 9 12 13 -0 1 2 3 8 9 12 14 -0 1 2 3 8 9 12 15 -0 1 2 3 8 9 13 14 -0 1 2 3 8 9 13 15 -0 1 2 3 8 9 14 15 -0 1 2 3 8 10 11 12 -0 1 2 3 8 10 11 13 -0 1 2 3 8 10 11 14 -0 1 2 3 8 10 11 15 -0 1 2 3 8 10 12 13 -0 1 2 3 8 10 12 14 -0 1 2 3 8 10 12 15 -0 1 2 3 8 10 13 14 -0 1 2 3 8 10 13 15 -0 1 2 3 8 10 14 15 -0 1 2 3 8 11 12 13 -0 1 2 3 8 11 12 14 -0 1 2 3 8 11 12 15 -0 1 2 3 8 11 13 14 -0 1 2 3 8 11 13 15 -0 1 2 3 8 11 14 15 -0 1 2 3 8 12 13 14 -0 1 2 3 8 12 13 15 -0 1 2 3 8 12 14 15 -0 1 2 3 8 13 14 15 -0 1 2 3 9 10 11 12 -0 1 2 3 9 10 11 13 -0 1 2 3 9 10 11 14 -0 1 2 3 9 10 11 15 -0 1 2 3 9 10 12 13 -0 1 2 3 9 10 12 14 -0 1 2 3 9 10 12 15 -0 1 2 3 9 10 13 14 -0 1 2 3 9 10 13 15 -0 1 2 3 9 10 14 15 -0 1 2 3 9 11 12 13 -0 1 2 3 9 11 12 14 -0 1 2 3 9 11 12 15 -0 1 2 3 9 11 13 14 -0 1 2 3 9 11 13 15 -0 1 2 3 9 11 14 15 -0 1 2 3 9 12 13 14 -0 1 2 3 9 12 13 15 -0 1 2 3 9 12 14 15 -0 1 2 3 9 13 14 15 -0 1 2 3 10 11 12 13 -0 1 2 3 10 11 12 14 -0 1 2 3 10 11 12 15 -0 1 2 3 10 11 13 14 -0 1 2 3 10 11 13 15 -0 1 2 3 10 11 14 15 -0 1 2 3 10 12 13 14 -0 1 2 3 10 12 13 15 -0 1 2 3 10 12 14 15 -0 1 2 3 10 13 14 15 -0 1 2 3 11 12 13 14 -0 1 2 3 11 12 13 15 -0 1 2 3 11 12 14 15 -0 1 2 3 11 13 14 15 -0 1 2 3 12 13 14 15 -0 1 2 4 5 6 7 8 -0 1 2 4 5 6 7 9 -0 1 2 4 5 6 7 10 -0 1 2 4 5 6 7 11 -0 1 2 4 5 6 7 12 -0 1 2 4 5 6 7 13 -0 1 2 4 5 6 7 14 -0 1 2 4 5 6 7 15 -0 1 2 4 5 6 8 9 -0 1 2 4 5 6 8 10 -0 1 2 4 5 6 8 11 -0 1 2 4 5 6 8 12 -0 1 2 4 5 6 8 13 -0 1 2 4 5 6 8 14 -0 1 2 4 5 6 8 15 -0 1 2 4 5 6 9 10 -0 1 2 4 5 6 9 11 -0 1 2 4 5 6 9 12 -0 1 2 4 5 6 9 13 -0 1 2 4 5 6 9 14 -0 1 2 4 5 6 9 15 -0 1 2 4 5 6 10 11 -0 1 2 4 5 6 10 12 -0 1 2 4 5 6 10 13 -0 1 2 4 5 6 10 14 -0 1 2 4 5 6 10 15 -0 1 2 4 5 6 11 12 -0 1 2 4 5 6 11 13 -0 1 2 4 5 6 11 14 -0 1 2 4 5 6 11 15 -0 1 2 4 5 6 12 13 -0 1 2 4 5 6 12 14 -0 1 2 4 5 6 12 15 -0 1 2 4 5 6 13 14 -0 1 2 4 5 6 13 15 -0 1 2 4 5 6 14 15 -0 1 2 4 5 7 8 9 -0 1 2 4 5 7 8 10 -0 1 2 4 5 7 8 11 -0 1 2 4 5 7 8 12 -0 1 2 4 5 7 8 13 -0 1 2 4 5 7 8 14 -0 1 2 4 5 7 8 15 -0 1 2 4 5 7 9 10 -0 1 2 4 5 7 9 11 -0 1 2 4 5 7 9 12 -0 1 2 4 5 7 9 13 -0 1 2 4 5 7 9 14 -0 1 2 4 5 7 9 15 -0 1 2 4 5 7 10 11 -0 1 2 4 5 7 10 12 -0 1 2 4 5 7 10 13 -0 1 2 4 5 7 10 14 -0 1 2 4 5 7 10 15 -0 1 2 4 5 7 11 12 -0 1 2 4 5 7 11 13 -0 1 2 4 5 7 11 14 -0 1 2 4 5 7 11 15 -0 1 2 4 5 7 12 13 -0 1 2 4 5 7 12 14 -0 1 2 4 5 7 12 15 -0 1 2 4 5 7 13 14 -0 1 2 4 5 7 13 15 -0 1 2 4 5 7 14 15 -0 1 2 4 5 8 9 10 -0 1 2 4 5 8 9 11 -0 1 2 4 5 8 9 12 -0 1 2 4 5 8 9 13 -0 1 2 4 5 8 9 14 -0 1 2 4 5 8 9 15 -0 1 2 4 5 8 10 11 -0 1 2 4 5 8 10 12 -0 1 2 4 5 8 10 13 -0 1 2 4 5 8 10 14 -0 1 2 4 5 8 10 15 -0 1 2 4 5 8 11 12 -0 1 2 4 5 8 11 13 -0 1 2 4 5 8 11 14 -0 1 2 4 5 8 11 15 -0 1 2 4 5 8 12 13 -0 1 2 4 5 8 12 14 -0 1 2 4 5 8 12 15 -0 1 2 4 5 8 13 14 -0 1 2 4 5 8 13 15 -0 1 2 4 5 8 14 15 -0 1 2 4 5 9 10 11 -0 1 2 4 5 9 10 12 -0 1 2 4 5 9 10 13 -0 1 2 4 5 9 10 14 -0 1 2 4 5 9 10 15 -0 1 2 4 5 9 11 12 -0 1 2 4 5 9 11 13 -0 1 2 4 5 9 11 14 -0 1 2 4 5 9 11 15 -0 1 2 4 5 9 12 13 -0 1 2 4 5 9 12 14 -0 1 2 4 5 9 12 15 -0 1 2 4 5 9 13 14 -0 1 2 4 5 9 13 15 -0 1 2 4 5 9 14 15 -0 1 2 4 5 10 11 12 -0 1 2 4 5 10 11 13 -0 1 2 4 5 10 11 14 -0 1 2 4 5 10 11 15 -0 1 2 4 5 10 12 13 -0 1 2 4 5 10 12 14 -0 1 2 4 5 10 12 15 -0 1 2 4 5 10 13 14 -0 1 2 4 5 10 13 15 -0 1 2 4 5 10 14 15 -0 1 2 4 5 11 12 13 -0 1 2 4 5 11 12 14 -0 1 2 4 5 11 12 15 -0 1 2 4 5 11 13 14 -0 1 2 4 5 11 13 15 -0 1 2 4 5 11 14 15 -0 1 2 4 5 12 13 14 -0 1 2 4 5 12 13 15 -0 1 2 4 5 12 14 15 -0 1 2 4 5 13 14 15 -0 1 2 4 6 7 8 9 -0 1 2 4 6 7 8 10 -0 1 2 4 6 7 8 11 -0 1 2 4 6 7 8 12 -0 1 2 4 6 7 8 13 -0 1 2 4 6 7 8 14 -0 1 2 4 6 7 8 15 -0 1 2 4 6 7 9 10 -0 1 2 4 6 7 9 11 -0 1 2 4 6 7 9 12 -0 1 2 4 6 7 9 13 -0 1 2 4 6 7 9 14 -0 1 2 4 6 7 9 15 -0 1 2 4 6 7 10 11 -0 1 2 4 6 7 10 12 -0 1 2 4 6 7 10 13 -0 1 2 4 6 7 10 14 -0 1 2 4 6 7 10 15 -0 1 2 4 6 7 11 12 -0 1 2 4 6 7 11 13 -0 1 2 4 6 7 11 14 -0 1 2 4 6 7 11 15 -0 1 2 4 6 7 12 13 -0 1 2 4 6 7 12 14 -0 1 2 4 6 7 12 15 -0 1 2 4 6 7 13 14 -0 1 2 4 6 7 13 15 -0 1 2 4 6 7 14 15 -0 1 2 4 6 8 9 10 -0 1 2 4 6 8 9 11 -0 1 2 4 6 8 9 12 -0 1 2 4 6 8 9 13 -0 1 2 4 6 8 9 14 -0 1 2 4 6 8 9 15 -0 1 2 4 6 8 10 11 -0 1 2 4 6 8 10 12 -0 1 2 4 6 8 10 13 -0 1 2 4 6 8 10 14 -0 1 2 4 6 8 10 15 -0 1 2 4 6 8 11 12 -0 1 2 4 6 8 11 13 -0 1 2 4 6 8 11 14 -0 1 2 4 6 8 11 15 -0 1 2 4 6 8 12 13 -0 1 2 4 6 8 12 14 -0 1 2 4 6 8 12 15 -0 1 2 4 6 8 13 14 -0 1 2 4 6 8 13 15 -0 1 2 4 6 8 14 15 -0 1 2 4 6 9 10 11 -0 1 2 4 6 9 10 12 -0 1 2 4 6 9 10 13 -0 1 2 4 6 9 10 14 -0 1 2 4 6 9 10 15 -0 1 2 4 6 9 11 12 -0 1 2 4 6 9 11 13 -0 1 2 4 6 9 11 14 -0 1 2 4 6 9 11 15 -0 1 2 4 6 9 12 13 -0 1 2 4 6 9 12 14 -0 1 2 4 6 9 12 15 -0 1 2 4 6 9 13 14 -0 1 2 4 6 9 13 15 -0 1 2 4 6 9 14 15 -0 1 2 4 6 10 11 12 -0 1 2 4 6 10 11 13 -0 1 2 4 6 10 11 14 -0 1 2 4 6 10 11 15 -0 1 2 4 6 10 12 13 -0 1 2 4 6 10 12 14 -0 1 2 4 6 10 12 15 -0 1 2 4 6 10 13 14 -0 1 2 4 6 10 13 15 -0 1 2 4 6 10 14 15 -0 1 2 4 6 11 12 13 -0 1 2 4 6 11 12 14 -0 1 2 4 6 11 12 15 -0 1 2 4 6 11 13 14 -0 1 2 4 6 11 13 15 -0 1 2 4 6 11 14 15 -0 1 2 4 6 12 13 14 -0 1 2 4 6 12 13 15 -0 1 2 4 6 12 14 15 -0 1 2 4 6 13 14 15 -0 1 2 4 7 8 9 10 -0 1 2 4 7 8 9 11 -0 1 2 4 7 8 9 12 -0 1 2 4 7 8 9 13 -0 1 2 4 7 8 9 14 -0 1 2 4 7 8 9 15 -0 1 2 4 7 8 10 11 -0 1 2 4 7 8 10 12 -0 1 2 4 7 8 10 13 -0 1 2 4 7 8 10 14 -0 1 2 4 7 8 10 15 -0 1 2 4 7 8 11 12 -0 1 2 4 7 8 11 13 -0 1 2 4 7 8 11 14 -0 1 2 4 7 8 11 15 -0 1 2 4 7 8 12 13 -0 1 2 4 7 8 12 14 -0 1 2 4 7 8 12 15 -0 1 2 4 7 8 13 14 -0 1 2 4 7 8 13 15 -0 1 2 4 7 8 14 15 -0 1 2 4 7 9 10 11 -0 1 2 4 7 9 10 12 -0 1 2 4 7 9 10 13 -0 1 2 4 7 9 10 14 -0 1 2 4 7 9 10 15 -0 1 2 4 7 9 11 12 -0 1 2 4 7 9 11 13 -0 1 2 4 7 9 11 14 -0 1 2 4 7 9 11 15 -0 1 2 4 7 9 12 13 -0 1 2 4 7 9 12 14 -0 1 2 4 7 9 12 15 -0 1 2 4 7 9 13 14 -0 1 2 4 7 9 13 15 -0 1 2 4 7 9 14 15 -0 1 2 4 7 10 11 12 -0 1 2 4 7 10 11 13 -0 1 2 4 7 10 11 14 -0 1 2 4 7 10 11 15 -0 1 2 4 7 10 12 13 -0 1 2 4 7 10 12 14 -0 1 2 4 7 10 12 15 -0 1 2 4 7 10 13 14 -0 1 2 4 7 10 13 15 -0 1 2 4 7 10 14 15 -0 1 2 4 7 11 12 13 -0 1 2 4 7 11 12 14 -0 1 2 4 7 11 12 15 -0 1 2 4 7 11 13 14 -0 1 2 4 7 11 13 15 -0 1 2 4 7 11 14 15 -0 1 2 4 7 12 13 14 -0 1 2 4 7 12 13 15 -0 1 2 4 7 12 14 15 -0 1 2 4 7 13 14 15 -0 1 2 4 8 9 10 11 -0 1 2 4 8 9 10 12 -0 1 2 4 8 9 10 13 -0 1 2 4 8 9 10 14 -0 1 2 4 8 9 10 15 -0 1 2 4 8 9 11 12 -0 1 2 4 8 9 11 13 -0 1 2 4 8 9 11 14 -0 1 2 4 8 9 11 15 -0 1 2 4 8 9 12 13 -0 1 2 4 8 9 12 14 -0 1 2 4 8 9 12 15 -0 1 2 4 8 9 13 14 -0 1 2 4 8 9 13 15 -0 1 2 4 8 9 14 15 -0 1 2 4 8 10 11 12 -0 1 2 4 8 10 11 13 -0 1 2 4 8 10 11 14 -0 1 2 4 8 10 11 15 -0 1 2 4 8 10 12 13 -0 1 2 4 8 10 12 14 -0 1 2 4 8 10 12 15 -0 1 2 4 8 10 13 14 -0 1 2 4 8 10 13 15 -0 1 2 4 8 10 14 15 -0 1 2 4 8 11 12 13 -0 1 2 4 8 11 12 14 -0 1 2 4 8 11 12 15 -0 1 2 4 8 11 13 14 -0 1 2 4 8 11 13 15 -0 1 2 4 8 11 14 15 -0 1 2 4 8 12 13 14 -0 1 2 4 8 12 13 15 -0 1 2 4 8 12 14 15 -0 1 2 4 8 13 14 15 -0 1 2 4 9 10 11 12 -0 1 2 4 9 10 11 13 -0 1 2 4 9 10 11 14 -0 1 2 4 9 10 11 15 -0 1 2 4 9 10 12 13 -0 1 2 4 9 10 12 14 -0 1 2 4 9 10 12 15 -0 1 2 4 9 10 13 14 -0 1 2 4 9 10 13 15 -0 1 2 4 9 10 14 15 -0 1 2 4 9 11 12 13 -0 1 2 4 9 11 12 14 -0 1 2 4 9 11 12 15 -0 1 2 4 9 11 13 14 -0 1 2 4 9 11 13 15 -0 1 2 4 9 11 14 15 -0 1 2 4 9 12 13 14 -0 1 2 4 9 12 13 15 -0 1 2 4 9 12 14 15 -0 1 2 4 9 13 14 15 -0 1 2 4 10 11 12 13 -0 1 2 4 10 11 12 14 -0 1 2 4 10 11 12 15 -0 1 2 4 10 11 13 14 -0 1 2 4 10 11 13 15 -0 1 2 4 10 11 14 15 -0 1 2 4 10 12 13 14 -0 1 2 4 10 12 13 15 -0 1 2 4 10 12 14 15 -0 1 2 4 10 13 14 15 -0 1 2 4 11 12 13 14 -0 1 2 4 11 12 13 15 -0 1 2 4 11 12 14 15 -0 1 2 4 11 13 14 15 -0 1 2 4 12 13 14 15 -0 1 2 5 6 7 8 9 -0 1 2 5 6 7 8 10 -0 1 2 5 6 7 8 11 -0 1 2 5 6 7 8 12 -0 1 2 5 6 7 8 13 -0 1 2 5 6 7 8 14 -0 1 2 5 6 7 8 15 -0 1 2 5 6 7 9 10 -0 1 2 5 6 7 9 11 -0 1 2 5 6 7 9 12 -0 1 2 5 6 7 9 13 -0 1 2 5 6 7 9 14 -0 1 2 5 6 7 9 15 -0 1 2 5 6 7 10 11 -0 1 2 5 6 7 10 12 -0 1 2 5 6 7 10 13 -0 1 2 5 6 7 10 14 -0 1 2 5 6 7 10 15 -0 1 2 5 6 7 11 12 -0 1 2 5 6 7 11 13 -0 1 2 5 6 7 11 14 -0 1 2 5 6 7 11 15 -0 1 2 5 6 7 12 13 -0 1 2 5 6 7 12 14 -0 1 2 5 6 7 12 15 -0 1 2 5 6 7 13 14 -0 1 2 5 6 7 13 15 -0 1 2 5 6 7 14 15 -0 1 2 5 6 8 9 10 -0 1 2 5 6 8 9 11 -0 1 2 5 6 8 9 12 -0 1 2 5 6 8 9 13 -0 1 2 5 6 8 9 14 -0 1 2 5 6 8 9 15 -0 1 2 5 6 8 10 11 -0 1 2 5 6 8 10 12 -0 1 2 5 6 8 10 13 -0 1 2 5 6 8 10 14 -0 1 2 5 6 8 10 15 -0 1 2 5 6 8 11 12 -0 1 2 5 6 8 11 13 -0 1 2 5 6 8 11 14 -0 1 2 5 6 8 11 15 -0 1 2 5 6 8 12 13 -0 1 2 5 6 8 12 14 -0 1 2 5 6 8 12 15 -0 1 2 5 6 8 13 14 -0 1 2 5 6 8 13 15 -0 1 2 5 6 8 14 15 -0 1 2 5 6 9 10 11 -0 1 2 5 6 9 10 12 -0 1 2 5 6 9 10 13 -0 1 2 5 6 9 10 14 -0 1 2 5 6 9 10 15 -0 1 2 5 6 9 11 12 -0 1 2 5 6 9 11 13 -0 1 2 5 6 9 11 14 -0 1 2 5 6 9 11 15 -0 1 2 5 6 9 12 13 -0 1 2 5 6 9 12 14 -0 1 2 5 6 9 12 15 -0 1 2 5 6 9 13 14 -0 1 2 5 6 9 13 15 -0 1 2 5 6 9 14 15 -0 1 2 5 6 10 11 12 -0 1 2 5 6 10 11 13 -0 1 2 5 6 10 11 14 -0 1 2 5 6 10 11 15 -0 1 2 5 6 10 12 13 -0 1 2 5 6 10 12 14 -0 1 2 5 6 10 12 15 -0 1 2 5 6 10 13 14 -0 1 2 5 6 10 13 15 -0 1 2 5 6 10 14 15 -0 1 2 5 6 11 12 13 -0 1 2 5 6 11 12 14 -0 1 2 5 6 11 12 15 -0 1 2 5 6 11 13 14 -0 1 2 5 6 11 13 15 -0 1 2 5 6 11 14 15 -0 1 2 5 6 12 13 14 -0 1 2 5 6 12 13 15 -0 1 2 5 6 12 14 15 -0 1 2 5 6 13 14 15 -0 1 2 5 7 8 9 10 -0 1 2 5 7 8 9 11 -0 1 2 5 7 8 9 12 -0 1 2 5 7 8 9 13 -0 1 2 5 7 8 9 14 -0 1 2 5 7 8 9 15 -0 1 2 5 7 8 10 11 -0 1 2 5 7 8 10 12 -0 1 2 5 7 8 10 13 -0 1 2 5 7 8 10 14 -0 1 2 5 7 8 10 15 -0 1 2 5 7 8 11 12 -0 1 2 5 7 8 11 13 -0 1 2 5 7 8 11 14 -0 1 2 5 7 8 11 15 -0 1 2 5 7 8 12 13 -0 1 2 5 7 8 12 14 -0 1 2 5 7 8 12 15 -0 1 2 5 7 8 13 14 -0 1 2 5 7 8 13 15 -0 1 2 5 7 8 14 15 -0 1 2 5 7 9 10 11 -0 1 2 5 7 9 10 12 -0 1 2 5 7 9 10 13 -0 1 2 5 7 9 10 14 -0 1 2 5 7 9 10 15 -0 1 2 5 7 9 11 12 -0 1 2 5 7 9 11 13 -0 1 2 5 7 9 11 14 -0 1 2 5 7 9 11 15 -0 1 2 5 7 9 12 13 -0 1 2 5 7 9 12 14 -0 1 2 5 7 9 12 15 -0 1 2 5 7 9 13 14 -0 1 2 5 7 9 13 15 -0 1 2 5 7 9 14 15 -0 1 2 5 7 10 11 12 -0 1 2 5 7 10 11 13 -0 1 2 5 7 10 11 14 -0 1 2 5 7 10 11 15 -0 1 2 5 7 10 12 13 -0 1 2 5 7 10 12 14 -0 1 2 5 7 10 12 15 -0 1 2 5 7 10 13 14 -0 1 2 5 7 10 13 15 -0 1 2 5 7 10 14 15 -0 1 2 5 7 11 12 13 -0 1 2 5 7 11 12 14 -0 1 2 5 7 11 12 15 -0 1 2 5 7 11 13 14 -0 1 2 5 7 11 13 15 -0 1 2 5 7 11 14 15 -0 1 2 5 7 12 13 14 -0 1 2 5 7 12 13 15 -0 1 2 5 7 12 14 15 -0 1 2 5 7 13 14 15 -0 1 2 5 8 9 10 11 -0 1 2 5 8 9 10 12 -0 1 2 5 8 9 10 13 -0 1 2 5 8 9 10 14 -0 1 2 5 8 9 10 15 -0 1 2 5 8 9 11 12 -0 1 2 5 8 9 11 13 -0 1 2 5 8 9 11 14 -0 1 2 5 8 9 11 15 -0 1 2 5 8 9 12 13 -0 1 2 5 8 9 12 14 -0 1 2 5 8 9 12 15 -0 1 2 5 8 9 13 14 -0 1 2 5 8 9 13 15 -0 1 2 5 8 9 14 15 -0 1 2 5 8 10 11 12 -0 1 2 5 8 10 11 13 -0 1 2 5 8 10 11 14 -0 1 2 5 8 10 11 15 -0 1 2 5 8 10 12 13 -0 1 2 5 8 10 12 14 -0 1 2 5 8 10 12 15 -0 1 2 5 8 10 13 14 -0 1 2 5 8 10 13 15 -0 1 2 5 8 10 14 15 -0 1 2 5 8 11 12 13 -0 1 2 5 8 11 12 14 -0 1 2 5 8 11 12 15 -0 1 2 5 8 11 13 14 -0 1 2 5 8 11 13 15 -0 1 2 5 8 11 14 15 -0 1 2 5 8 12 13 14 -0 1 2 5 8 12 13 15 -0 1 2 5 8 12 14 15 -0 1 2 5 8 13 14 15 -0 1 2 5 9 10 11 12 -0 1 2 5 9 10 11 13 -0 1 2 5 9 10 11 14 -0 1 2 5 9 10 11 15 -0 1 2 5 9 10 12 13 -0 1 2 5 9 10 12 14 -0 1 2 5 9 10 12 15 -0 1 2 5 9 10 13 14 -0 1 2 5 9 10 13 15 -0 1 2 5 9 10 14 15 -0 1 2 5 9 11 12 13 -0 1 2 5 9 11 12 14 -0 1 2 5 9 11 12 15 -0 1 2 5 9 11 13 14 -0 1 2 5 9 11 13 15 -0 1 2 5 9 11 14 15 -0 1 2 5 9 12 13 14 -0 1 2 5 9 12 13 15 -0 1 2 5 9 12 14 15 -0 1 2 5 9 13 14 15 -0 1 2 5 10 11 12 13 -0 1 2 5 10 11 12 14 -0 1 2 5 10 11 12 15 -0 1 2 5 10 11 13 14 -0 1 2 5 10 11 13 15 -0 1 2 5 10 11 14 15 -0 1 2 5 10 12 13 14 -0 1 2 5 10 12 13 15 -0 1 2 5 10 12 14 15 -0 1 2 5 10 13 14 15 -0 1 2 5 11 12 13 14 -0 1 2 5 11 12 13 15 -0 1 2 5 11 12 14 15 -0 1 2 5 11 13 14 15 -0 1 2 5 12 13 14 15 -0 1 2 6 7 8 9 10 -0 1 2 6 7 8 9 11 -0 1 2 6 7 8 9 12 -0 1 2 6 7 8 9 13 -0 1 2 6 7 8 9 14 -0 1 2 6 7 8 9 15 -0 1 2 6 7 8 10 11 -0 1 2 6 7 8 10 12 -0 1 2 6 7 8 10 13 -0 1 2 6 7 8 10 14 -0 1 2 6 7 8 10 15 -0 1 2 6 7 8 11 12 -0 1 2 6 7 8 11 13 -0 1 2 6 7 8 11 14 -0 1 2 6 7 8 11 15 -0 1 2 6 7 8 12 13 -0 1 2 6 7 8 12 14 -0 1 2 6 7 8 12 15 -0 1 2 6 7 8 13 14 -0 1 2 6 7 8 13 15 -0 1 2 6 7 8 14 15 -0 1 2 6 7 9 10 11 -0 1 2 6 7 9 10 12 -0 1 2 6 7 9 10 13 -0 1 2 6 7 9 10 14 -0 1 2 6 7 9 10 15 -0 1 2 6 7 9 11 12 -0 1 2 6 7 9 11 13 -0 1 2 6 7 9 11 14 -0 1 2 6 7 9 11 15 -0 1 2 6 7 9 12 13 -0 1 2 6 7 9 12 14 -0 1 2 6 7 9 12 15 -0 1 2 6 7 9 13 14 -0 1 2 6 7 9 13 15 -0 1 2 6 7 9 14 15 -0 1 2 6 7 10 11 12 -0 1 2 6 7 10 11 13 -0 1 2 6 7 10 11 14 -0 1 2 6 7 10 11 15 -0 1 2 6 7 10 12 13 -0 1 2 6 7 10 12 14 -0 1 2 6 7 10 12 15 -0 1 2 6 7 10 13 14 -0 1 2 6 7 10 13 15 -0 1 2 6 7 10 14 15 -0 1 2 6 7 11 12 13 -0 1 2 6 7 11 12 14 -0 1 2 6 7 11 12 15 -0 1 2 6 7 11 13 14 -0 1 2 6 7 11 13 15 -0 1 2 6 7 11 14 15 -0 1 2 6 7 12 13 14 -0 1 2 6 7 12 13 15 -0 1 2 6 7 12 14 15 -0 1 2 6 7 13 14 15 -0 1 2 6 8 9 10 11 -0 1 2 6 8 9 10 12 -0 1 2 6 8 9 10 13 -0 1 2 6 8 9 10 14 -0 1 2 6 8 9 10 15 -0 1 2 6 8 9 11 12 -0 1 2 6 8 9 11 13 -0 1 2 6 8 9 11 14 -0 1 2 6 8 9 11 15 -0 1 2 6 8 9 12 13 -0 1 2 6 8 9 12 14 -0 1 2 6 8 9 12 15 -0 1 2 6 8 9 13 14 -0 1 2 6 8 9 13 15 -0 1 2 6 8 9 14 15 -0 1 2 6 8 10 11 12 -0 1 2 6 8 10 11 13 -0 1 2 6 8 10 11 14 -0 1 2 6 8 10 11 15 -0 1 2 6 8 10 12 13 -0 1 2 6 8 10 12 14 -0 1 2 6 8 10 12 15 -0 1 2 6 8 10 13 14 -0 1 2 6 8 10 13 15 -0 1 2 6 8 10 14 15 -0 1 2 6 8 11 12 13 -0 1 2 6 8 11 12 14 -0 1 2 6 8 11 12 15 -0 1 2 6 8 11 13 14 -0 1 2 6 8 11 13 15 -0 1 2 6 8 11 14 15 -0 1 2 6 8 12 13 14 -0 1 2 6 8 12 13 15 -0 1 2 6 8 12 14 15 -0 1 2 6 8 13 14 15 -0 1 2 6 9 10 11 12 -0 1 2 6 9 10 11 13 -0 1 2 6 9 10 11 14 -0 1 2 6 9 10 11 15 -0 1 2 6 9 10 12 13 -0 1 2 6 9 10 12 14 -0 1 2 6 9 10 12 15 -0 1 2 6 9 10 13 14 -0 1 2 6 9 10 13 15 -0 1 2 6 9 10 14 15 -0 1 2 6 9 11 12 13 -0 1 2 6 9 11 12 14 -0 1 2 6 9 11 12 15 -0 1 2 6 9 11 13 14 -0 1 2 6 9 11 13 15 -0 1 2 6 9 11 14 15 -0 1 2 6 9 12 13 14 -0 1 2 6 9 12 13 15 -0 1 2 6 9 12 14 15 -0 1 2 6 9 13 14 15 -0 1 2 6 10 11 12 13 -0 1 2 6 10 11 12 14 -0 1 2 6 10 11 12 15 -0 1 2 6 10 11 13 14 -0 1 2 6 10 11 13 15 -0 1 2 6 10 11 14 15 -0 1 2 6 10 12 13 14 -0 1 2 6 10 12 13 15 -0 1 2 6 10 12 14 15 -0 1 2 6 10 13 14 15 -0 1 2 6 11 12 13 14 -0 1 2 6 11 12 13 15 -0 1 2 6 11 12 14 15 -0 1 2 6 11 13 14 15 -0 1 2 6 12 13 14 15 -0 1 2 7 8 9 10 11 -0 1 2 7 8 9 10 12 -0 1 2 7 8 9 10 13 -0 1 2 7 8 9 10 14 -0 1 2 7 8 9 10 15 -0 1 2 7 8 9 11 12 -0 1 2 7 8 9 11 13 -0 1 2 7 8 9 11 14 -0 1 2 7 8 9 11 15 -0 1 2 7 8 9 12 13 -0 1 2 7 8 9 12 14 -0 1 2 7 8 9 12 15 -0 1 2 7 8 9 13 14 -0 1 2 7 8 9 13 15 -0 1 2 7 8 9 14 15 -0 1 2 7 8 10 11 12 -0 1 2 7 8 10 11 13 -0 1 2 7 8 10 11 14 -0 1 2 7 8 10 11 15 -0 1 2 7 8 10 12 13 -0 1 2 7 8 10 12 14 -0 1 2 7 8 10 12 15 -0 1 2 7 8 10 13 14 -0 1 2 7 8 10 13 15 -0 1 2 7 8 10 14 15 -0 1 2 7 8 11 12 13 -0 1 2 7 8 11 12 14 -0 1 2 7 8 11 12 15 -0 1 2 7 8 11 13 14 -0 1 2 7 8 11 13 15 -0 1 2 7 8 11 14 15 -0 1 2 7 8 12 13 14 -0 1 2 7 8 12 13 15 -0 1 2 7 8 12 14 15 -0 1 2 7 8 13 14 15 -0 1 2 7 9 10 11 12 -0 1 2 7 9 10 11 13 -0 1 2 7 9 10 11 14 -0 1 2 7 9 10 11 15 -0 1 2 7 9 10 12 13 -0 1 2 7 9 10 12 14 -0 1 2 7 9 10 12 15 -0 1 2 7 9 10 13 14 -0 1 2 7 9 10 13 15 -0 1 2 7 9 10 14 15 -0 1 2 7 9 11 12 13 -0 1 2 7 9 11 12 14 -0 1 2 7 9 11 12 15 -0 1 2 7 9 11 13 14 -0 1 2 7 9 11 13 15 -0 1 2 7 9 11 14 15 -0 1 2 7 9 12 13 14 -0 1 2 7 9 12 13 15 -0 1 2 7 9 12 14 15 -0 1 2 7 9 13 14 15 -0 1 2 7 10 11 12 13 -0 1 2 7 10 11 12 14 -0 1 2 7 10 11 12 15 -0 1 2 7 10 11 13 14 -0 1 2 7 10 11 13 15 -0 1 2 7 10 11 14 15 -0 1 2 7 10 12 13 14 -0 1 2 7 10 12 13 15 -0 1 2 7 10 12 14 15 -0 1 2 7 10 13 14 15 -0 1 2 7 11 12 13 14 -0 1 2 7 11 12 13 15 -0 1 2 7 11 12 14 15 -0 1 2 7 11 13 14 15 -0 1 2 7 12 13 14 15 -0 1 2 8 9 10 11 12 -0 1 2 8 9 10 11 13 -0 1 2 8 9 10 11 14 -0 1 2 8 9 10 11 15 -0 1 2 8 9 10 12 13 -0 1 2 8 9 10 12 14 -0 1 2 8 9 10 12 15 -0 1 2 8 9 10 13 14 -0 1 2 8 9 10 13 15 -0 1 2 8 9 10 14 15 -0 1 2 8 9 11 12 13 -0 1 2 8 9 11 12 14 -0 1 2 8 9 11 12 15 -0 1 2 8 9 11 13 14 -0 1 2 8 9 11 13 15 -0 1 2 8 9 11 14 15 -0 1 2 8 9 12 13 14 -0 1 2 8 9 12 13 15 -0 1 2 8 9 12 14 15 -0 1 2 8 9 13 14 15 -0 1 2 8 10 11 12 13 -0 1 2 8 10 11 12 14 -0 1 2 8 10 11 12 15 -0 1 2 8 10 11 13 14 -0 1 2 8 10 11 13 15 -0 1 2 8 10 11 14 15 -0 1 2 8 10 12 13 14 -0 1 2 8 10 12 13 15 -0 1 2 8 10 12 14 15 -0 1 2 8 10 13 14 15 -0 1 2 8 11 12 13 14 -0 1 2 8 11 12 13 15 -0 1 2 8 11 12 14 15 -0 1 2 8 11 13 14 15 -0 1 2 8 12 13 14 15 -0 1 2 9 10 11 12 13 -0 1 2 9 10 11 12 14 -0 1 2 9 10 11 12 15 -0 1 2 9 10 11 13 14 -0 1 2 9 10 11 13 15 -0 1 2 9 10 11 14 15 -0 1 2 9 10 12 13 14 -0 1 2 9 10 12 13 15 -0 1 2 9 10 12 14 15 -0 1 2 9 10 13 14 15 -0 1 2 9 11 12 13 14 -0 1 2 9 11 12 13 15 -0 1 2 9 11 12 14 15 -0 1 2 9 11 13 14 15 -0 1 2 9 12 13 14 15 -0 1 2 10 11 12 13 14 -0 1 2 10 11 12 13 15 -0 1 2 10 11 12 14 15 -0 1 2 10 11 13 14 15 -0 1 2 10 12 13 14 15 -0 1 2 11 12 13 14 15 -0 1 3 4 5 6 7 8 -0 1 3 4 5 6 7 9 -0 1 3 4 5 6 7 10 -0 1 3 4 5 6 7 11 -0 1 3 4 5 6 7 12 -0 1 3 4 5 6 7 13 -0 1 3 4 5 6 7 14 -0 1 3 4 5 6 7 15 -0 1 3 4 5 6 8 9 -0 1 3 4 5 6 8 10 -0 1 3 4 5 6 8 11 -0 1 3 4 5 6 8 12 -0 1 3 4 5 6 8 13 -0 1 3 4 5 6 8 14 -0 1 3 4 5 6 8 15 -0 1 3 4 5 6 9 10 -0 1 3 4 5 6 9 11 -0 1 3 4 5 6 9 12 -0 1 3 4 5 6 9 13 -0 1 3 4 5 6 9 14 -0 1 3 4 5 6 9 15 -0 1 3 4 5 6 10 11 -0 1 3 4 5 6 10 12 -0 1 3 4 5 6 10 13 -0 1 3 4 5 6 10 14 -0 1 3 4 5 6 10 15 -0 1 3 4 5 6 11 12 -0 1 3 4 5 6 11 13 -0 1 3 4 5 6 11 14 -0 1 3 4 5 6 11 15 -0 1 3 4 5 6 12 13 -0 1 3 4 5 6 12 14 -0 1 3 4 5 6 12 15 -0 1 3 4 5 6 13 14 -0 1 3 4 5 6 13 15 -0 1 3 4 5 6 14 15 -0 1 3 4 5 7 8 9 -0 1 3 4 5 7 8 10 -0 1 3 4 5 7 8 11 -0 1 3 4 5 7 8 12 -0 1 3 4 5 7 8 13 -0 1 3 4 5 7 8 14 -0 1 3 4 5 7 8 15 -0 1 3 4 5 7 9 10 -0 1 3 4 5 7 9 11 -0 1 3 4 5 7 9 12 -0 1 3 4 5 7 9 13 -0 1 3 4 5 7 9 14 -0 1 3 4 5 7 9 15 -0 1 3 4 5 7 10 11 -0 1 3 4 5 7 10 12 -0 1 3 4 5 7 10 13 -0 1 3 4 5 7 10 14 -0 1 3 4 5 7 10 15 -0 1 3 4 5 7 11 12 -0 1 3 4 5 7 11 13 -0 1 3 4 5 7 11 14 -0 1 3 4 5 7 11 15 -0 1 3 4 5 7 12 13 -0 1 3 4 5 7 12 14 -0 1 3 4 5 7 12 15 -0 1 3 4 5 7 13 14 -0 1 3 4 5 7 13 15 -0 1 3 4 5 7 14 15 -0 1 3 4 5 8 9 10 -0 1 3 4 5 8 9 11 -0 1 3 4 5 8 9 12 -0 1 3 4 5 8 9 13 -0 1 3 4 5 8 9 14 -0 1 3 4 5 8 9 15 -0 1 3 4 5 8 10 11 -0 1 3 4 5 8 10 12 -0 1 3 4 5 8 10 13 -0 1 3 4 5 8 10 14 -0 1 3 4 5 8 10 15 -0 1 3 4 5 8 11 12 -0 1 3 4 5 8 11 13 -0 1 3 4 5 8 11 14 -0 1 3 4 5 8 11 15 -0 1 3 4 5 8 12 13 -0 1 3 4 5 8 12 14 -0 1 3 4 5 8 12 15 -0 1 3 4 5 8 13 14 -0 1 3 4 5 8 13 15 -0 1 3 4 5 8 14 15 -0 1 3 4 5 9 10 11 -0 1 3 4 5 9 10 12 -0 1 3 4 5 9 10 13 -0 1 3 4 5 9 10 14 -0 1 3 4 5 9 10 15 -0 1 3 4 5 9 11 12 -0 1 3 4 5 9 11 13 -0 1 3 4 5 9 11 14 -0 1 3 4 5 9 11 15 -0 1 3 4 5 9 12 13 -0 1 3 4 5 9 12 14 -0 1 3 4 5 9 12 15 -0 1 3 4 5 9 13 14 -0 1 3 4 5 9 13 15 -0 1 3 4 5 9 14 15 -0 1 3 4 5 10 11 12 -0 1 3 4 5 10 11 13 -0 1 3 4 5 10 11 14 -0 1 3 4 5 10 11 15 -0 1 3 4 5 10 12 13 -0 1 3 4 5 10 12 14 -0 1 3 4 5 10 12 15 -0 1 3 4 5 10 13 14 -0 1 3 4 5 10 13 15 -0 1 3 4 5 10 14 15 -0 1 3 4 5 11 12 13 -0 1 3 4 5 11 12 14 -0 1 3 4 5 11 12 15 -0 1 3 4 5 11 13 14 -0 1 3 4 5 11 13 15 -0 1 3 4 5 11 14 15 -0 1 3 4 5 12 13 14 -0 1 3 4 5 12 13 15 -0 1 3 4 5 12 14 15 -0 1 3 4 5 13 14 15 -0 1 3 4 6 7 8 9 -0 1 3 4 6 7 8 10 -0 1 3 4 6 7 8 11 -0 1 3 4 6 7 8 12 -0 1 3 4 6 7 8 13 -0 1 3 4 6 7 8 14 -0 1 3 4 6 7 8 15 -0 1 3 4 6 7 9 10 -0 1 3 4 6 7 9 11 -0 1 3 4 6 7 9 12 -0 1 3 4 6 7 9 13 -0 1 3 4 6 7 9 14 -0 1 3 4 6 7 9 15 -0 1 3 4 6 7 10 11 -0 1 3 4 6 7 10 12 -0 1 3 4 6 7 10 13 -0 1 3 4 6 7 10 14 -0 1 3 4 6 7 10 15 -0 1 3 4 6 7 11 12 -0 1 3 4 6 7 11 13 -0 1 3 4 6 7 11 14 -0 1 3 4 6 7 11 15 -0 1 3 4 6 7 12 13 -0 1 3 4 6 7 12 14 -0 1 3 4 6 7 12 15 -0 1 3 4 6 7 13 14 -0 1 3 4 6 7 13 15 -0 1 3 4 6 7 14 15 -0 1 3 4 6 8 9 10 -0 1 3 4 6 8 9 11 -0 1 3 4 6 8 9 12 -0 1 3 4 6 8 9 13 -0 1 3 4 6 8 9 14 -0 1 3 4 6 8 9 15 -0 1 3 4 6 8 10 11 -0 1 3 4 6 8 10 12 -0 1 3 4 6 8 10 13 -0 1 3 4 6 8 10 14 -0 1 3 4 6 8 10 15 -0 1 3 4 6 8 11 12 -0 1 3 4 6 8 11 13 -0 1 3 4 6 8 11 14 -0 1 3 4 6 8 11 15 -0 1 3 4 6 8 12 13 -0 1 3 4 6 8 12 14 -0 1 3 4 6 8 12 15 -0 1 3 4 6 8 13 14 -0 1 3 4 6 8 13 15 -0 1 3 4 6 8 14 15 -0 1 3 4 6 9 10 11 -0 1 3 4 6 9 10 12 -0 1 3 4 6 9 10 13 -0 1 3 4 6 9 10 14 -0 1 3 4 6 9 10 15 -0 1 3 4 6 9 11 12 -0 1 3 4 6 9 11 13 -0 1 3 4 6 9 11 14 -0 1 3 4 6 9 11 15 -0 1 3 4 6 9 12 13 -0 1 3 4 6 9 12 14 -0 1 3 4 6 9 12 15 -0 1 3 4 6 9 13 14 -0 1 3 4 6 9 13 15 -0 1 3 4 6 9 14 15 -0 1 3 4 6 10 11 12 -0 1 3 4 6 10 11 13 -0 1 3 4 6 10 11 14 -0 1 3 4 6 10 11 15 -0 1 3 4 6 10 12 13 -0 1 3 4 6 10 12 14 -0 1 3 4 6 10 12 15 -0 1 3 4 6 10 13 14 -0 1 3 4 6 10 13 15 -0 1 3 4 6 10 14 15 -0 1 3 4 6 11 12 13 -0 1 3 4 6 11 12 14 -0 1 3 4 6 11 12 15 -0 1 3 4 6 11 13 14 -0 1 3 4 6 11 13 15 -0 1 3 4 6 11 14 15 -0 1 3 4 6 12 13 14 -0 1 3 4 6 12 13 15 -0 1 3 4 6 12 14 15 -0 1 3 4 6 13 14 15 -0 1 3 4 7 8 9 10 -0 1 3 4 7 8 9 11 -0 1 3 4 7 8 9 12 -0 1 3 4 7 8 9 13 -0 1 3 4 7 8 9 14 -0 1 3 4 7 8 9 15 -0 1 3 4 7 8 10 11 -0 1 3 4 7 8 10 12 -0 1 3 4 7 8 10 13 -0 1 3 4 7 8 10 14 -0 1 3 4 7 8 10 15 -0 1 3 4 7 8 11 12 -0 1 3 4 7 8 11 13 -0 1 3 4 7 8 11 14 -0 1 3 4 7 8 11 15 -0 1 3 4 7 8 12 13 -0 1 3 4 7 8 12 14 -0 1 3 4 7 8 12 15 -0 1 3 4 7 8 13 14 -0 1 3 4 7 8 13 15 -0 1 3 4 7 8 14 15 -0 1 3 4 7 9 10 11 -0 1 3 4 7 9 10 12 -0 1 3 4 7 9 10 13 -0 1 3 4 7 9 10 14 -0 1 3 4 7 9 10 15 -0 1 3 4 7 9 11 12 -0 1 3 4 7 9 11 13 -0 1 3 4 7 9 11 14 -0 1 3 4 7 9 11 15 -0 1 3 4 7 9 12 13 -0 1 3 4 7 9 12 14 -0 1 3 4 7 9 12 15 -0 1 3 4 7 9 13 14 -0 1 3 4 7 9 13 15 -0 1 3 4 7 9 14 15 -0 1 3 4 7 10 11 12 -0 1 3 4 7 10 11 13 -0 1 3 4 7 10 11 14 -0 1 3 4 7 10 11 15 -0 1 3 4 7 10 12 13 -0 1 3 4 7 10 12 14 -0 1 3 4 7 10 12 15 -0 1 3 4 7 10 13 14 -0 1 3 4 7 10 13 15 -0 1 3 4 7 10 14 15 -0 1 3 4 7 11 12 13 -0 1 3 4 7 11 12 14 -0 1 3 4 7 11 12 15 -0 1 3 4 7 11 13 14 -0 1 3 4 7 11 13 15 -0 1 3 4 7 11 14 15 -0 1 3 4 7 12 13 14 -0 1 3 4 7 12 13 15 -0 1 3 4 7 12 14 15 -0 1 3 4 7 13 14 15 -0 1 3 4 8 9 10 11 -0 1 3 4 8 9 10 12 -0 1 3 4 8 9 10 13 -0 1 3 4 8 9 10 14 -0 1 3 4 8 9 10 15 -0 1 3 4 8 9 11 12 -0 1 3 4 8 9 11 13 -0 1 3 4 8 9 11 14 -0 1 3 4 8 9 11 15 -0 1 3 4 8 9 12 13 -0 1 3 4 8 9 12 14 -0 1 3 4 8 9 12 15 -0 1 3 4 8 9 13 14 -0 1 3 4 8 9 13 15 -0 1 3 4 8 9 14 15 -0 1 3 4 8 10 11 12 -0 1 3 4 8 10 11 13 -0 1 3 4 8 10 11 14 -0 1 3 4 8 10 11 15 -0 1 3 4 8 10 12 13 -0 1 3 4 8 10 12 14 -0 1 3 4 8 10 12 15 -0 1 3 4 8 10 13 14 -0 1 3 4 8 10 13 15 -0 1 3 4 8 10 14 15 -0 1 3 4 8 11 12 13 -0 1 3 4 8 11 12 14 -0 1 3 4 8 11 12 15 -0 1 3 4 8 11 13 14 -0 1 3 4 8 11 13 15 -0 1 3 4 8 11 14 15 -0 1 3 4 8 12 13 14 -0 1 3 4 8 12 13 15 -0 1 3 4 8 12 14 15 -0 1 3 4 8 13 14 15 -0 1 3 4 9 10 11 12 -0 1 3 4 9 10 11 13 -0 1 3 4 9 10 11 14 -0 1 3 4 9 10 11 15 -0 1 3 4 9 10 12 13 -0 1 3 4 9 10 12 14 -0 1 3 4 9 10 12 15 -0 1 3 4 9 10 13 14 -0 1 3 4 9 10 13 15 -0 1 3 4 9 10 14 15 -0 1 3 4 9 11 12 13 -0 1 3 4 9 11 12 14 -0 1 3 4 9 11 12 15 -0 1 3 4 9 11 13 14 -0 1 3 4 9 11 13 15 -0 1 3 4 9 11 14 15 -0 1 3 4 9 12 13 14 -0 1 3 4 9 12 13 15 -0 1 3 4 9 12 14 15 -0 1 3 4 9 13 14 15 -0 1 3 4 10 11 12 13 -0 1 3 4 10 11 12 14 -0 1 3 4 10 11 12 15 -0 1 3 4 10 11 13 14 -0 1 3 4 10 11 13 15 -0 1 3 4 10 11 14 15 -0 1 3 4 10 12 13 14 -0 1 3 4 10 12 13 15 -0 1 3 4 10 12 14 15 -0 1 3 4 10 13 14 15 -0 1 3 4 11 12 13 14 -0 1 3 4 11 12 13 15 -0 1 3 4 11 12 14 15 -0 1 3 4 11 13 14 15 -0 1 3 4 12 13 14 15 -0 1 3 5 6 7 8 9 -0 1 3 5 6 7 8 10 -0 1 3 5 6 7 8 11 -0 1 3 5 6 7 8 12 -0 1 3 5 6 7 8 13 -0 1 3 5 6 7 8 14 -0 1 3 5 6 7 8 15 -0 1 3 5 6 7 9 10 -0 1 3 5 6 7 9 11 -0 1 3 5 6 7 9 12 -0 1 3 5 6 7 9 13 -0 1 3 5 6 7 9 14 -0 1 3 5 6 7 9 15 -0 1 3 5 6 7 10 11 -0 1 3 5 6 7 10 12 -0 1 3 5 6 7 10 13 -0 1 3 5 6 7 10 14 -0 1 3 5 6 7 10 15 -0 1 3 5 6 7 11 12 -0 1 3 5 6 7 11 13 -0 1 3 5 6 7 11 14 -0 1 3 5 6 7 11 15 -0 1 3 5 6 7 12 13 -0 1 3 5 6 7 12 14 -0 1 3 5 6 7 12 15 -0 1 3 5 6 7 13 14 -0 1 3 5 6 7 13 15 -0 1 3 5 6 7 14 15 -0 1 3 5 6 8 9 10 -0 1 3 5 6 8 9 11 -0 1 3 5 6 8 9 12 -0 1 3 5 6 8 9 13 -0 1 3 5 6 8 9 14 -0 1 3 5 6 8 9 15 -0 1 3 5 6 8 10 11 -0 1 3 5 6 8 10 12 -0 1 3 5 6 8 10 13 -0 1 3 5 6 8 10 14 -0 1 3 5 6 8 10 15 -0 1 3 5 6 8 11 12 -0 1 3 5 6 8 11 13 -0 1 3 5 6 8 11 14 -0 1 3 5 6 8 11 15 -0 1 3 5 6 8 12 13 -0 1 3 5 6 8 12 14 -0 1 3 5 6 8 12 15 -0 1 3 5 6 8 13 14 -0 1 3 5 6 8 13 15 -0 1 3 5 6 8 14 15 -0 1 3 5 6 9 10 11 -0 1 3 5 6 9 10 12 -0 1 3 5 6 9 10 13 -0 1 3 5 6 9 10 14 -0 1 3 5 6 9 10 15 -0 1 3 5 6 9 11 12 -0 1 3 5 6 9 11 13 -0 1 3 5 6 9 11 14 -0 1 3 5 6 9 11 15 -0 1 3 5 6 9 12 13 -0 1 3 5 6 9 12 14 -0 1 3 5 6 9 12 15 -0 1 3 5 6 9 13 14 -0 1 3 5 6 9 13 15 -0 1 3 5 6 9 14 15 -0 1 3 5 6 10 11 12 -0 1 3 5 6 10 11 13 -0 1 3 5 6 10 11 14 -0 1 3 5 6 10 11 15 -0 1 3 5 6 10 12 13 -0 1 3 5 6 10 12 14 -0 1 3 5 6 10 12 15 -0 1 3 5 6 10 13 14 -0 1 3 5 6 10 13 15 -0 1 3 5 6 10 14 15 -0 1 3 5 6 11 12 13 -0 1 3 5 6 11 12 14 -0 1 3 5 6 11 12 15 -0 1 3 5 6 11 13 14 -0 1 3 5 6 11 13 15 -0 1 3 5 6 11 14 15 -0 1 3 5 6 12 13 14 -0 1 3 5 6 12 13 15 -0 1 3 5 6 12 14 15 -0 1 3 5 6 13 14 15 -0 1 3 5 7 8 9 10 -0 1 3 5 7 8 9 11 -0 1 3 5 7 8 9 12 -0 1 3 5 7 8 9 13 -0 1 3 5 7 8 9 14 -0 1 3 5 7 8 9 15 -0 1 3 5 7 8 10 11 -0 1 3 5 7 8 10 12 -0 1 3 5 7 8 10 13 -0 1 3 5 7 8 10 14 -0 1 3 5 7 8 10 15 -0 1 3 5 7 8 11 12 -0 1 3 5 7 8 11 13 -0 1 3 5 7 8 11 14 -0 1 3 5 7 8 11 15 -0 1 3 5 7 8 12 13 -0 1 3 5 7 8 12 14 -0 1 3 5 7 8 12 15 -0 1 3 5 7 8 13 14 -0 1 3 5 7 8 13 15 -0 1 3 5 7 8 14 15 -0 1 3 5 7 9 10 11 -0 1 3 5 7 9 10 12 -0 1 3 5 7 9 10 13 -0 1 3 5 7 9 10 14 -0 1 3 5 7 9 10 15 -0 1 3 5 7 9 11 12 -0 1 3 5 7 9 11 13 -0 1 3 5 7 9 11 14 -0 1 3 5 7 9 11 15 -0 1 3 5 7 9 12 13 -0 1 3 5 7 9 12 14 -0 1 3 5 7 9 12 15 -0 1 3 5 7 9 13 14 -0 1 3 5 7 9 13 15 -0 1 3 5 7 9 14 15 -0 1 3 5 7 10 11 12 -0 1 3 5 7 10 11 13 -0 1 3 5 7 10 11 14 -0 1 3 5 7 10 11 15 -0 1 3 5 7 10 12 13 -0 1 3 5 7 10 12 14 -0 1 3 5 7 10 12 15 -0 1 3 5 7 10 13 14 -0 1 3 5 7 10 13 15 -0 1 3 5 7 10 14 15 -0 1 3 5 7 11 12 13 -0 1 3 5 7 11 12 14 -0 1 3 5 7 11 12 15 -0 1 3 5 7 11 13 14 -0 1 3 5 7 11 13 15 -0 1 3 5 7 11 14 15 -0 1 3 5 7 12 13 14 -0 1 3 5 7 12 13 15 -0 1 3 5 7 12 14 15 -0 1 3 5 7 13 14 15 -0 1 3 5 8 9 10 11 -0 1 3 5 8 9 10 12 -0 1 3 5 8 9 10 13 -0 1 3 5 8 9 10 14 -0 1 3 5 8 9 10 15 -0 1 3 5 8 9 11 12 -0 1 3 5 8 9 11 13 -0 1 3 5 8 9 11 14 -0 1 3 5 8 9 11 15 -0 1 3 5 8 9 12 13 -0 1 3 5 8 9 12 14 -0 1 3 5 8 9 12 15 -0 1 3 5 8 9 13 14 -0 1 3 5 8 9 13 15 -0 1 3 5 8 9 14 15 -0 1 3 5 8 10 11 12 -0 1 3 5 8 10 11 13 -0 1 3 5 8 10 11 14 -0 1 3 5 8 10 11 15 -0 1 3 5 8 10 12 13 -0 1 3 5 8 10 12 14 -0 1 3 5 8 10 12 15 -0 1 3 5 8 10 13 14 -0 1 3 5 8 10 13 15 -0 1 3 5 8 10 14 15 -0 1 3 5 8 11 12 13 -0 1 3 5 8 11 12 14 -0 1 3 5 8 11 12 15 -0 1 3 5 8 11 13 14 -0 1 3 5 8 11 13 15 -0 1 3 5 8 11 14 15 -0 1 3 5 8 12 13 14 -0 1 3 5 8 12 13 15 -0 1 3 5 8 12 14 15 -0 1 3 5 8 13 14 15 -0 1 3 5 9 10 11 12 -0 1 3 5 9 10 11 13 -0 1 3 5 9 10 11 14 -0 1 3 5 9 10 11 15 -0 1 3 5 9 10 12 13 -0 1 3 5 9 10 12 14 -0 1 3 5 9 10 12 15 -0 1 3 5 9 10 13 14 -0 1 3 5 9 10 13 15 -0 1 3 5 9 10 14 15 -0 1 3 5 9 11 12 13 -0 1 3 5 9 11 12 14 -0 1 3 5 9 11 12 15 -0 1 3 5 9 11 13 14 -0 1 3 5 9 11 13 15 -0 1 3 5 9 11 14 15 -0 1 3 5 9 12 13 14 -0 1 3 5 9 12 13 15 -0 1 3 5 9 12 14 15 -0 1 3 5 9 13 14 15 -0 1 3 5 10 11 12 13 -0 1 3 5 10 11 12 14 -0 1 3 5 10 11 12 15 -0 1 3 5 10 11 13 14 -0 1 3 5 10 11 13 15 -0 1 3 5 10 11 14 15 -0 1 3 5 10 12 13 14 -0 1 3 5 10 12 13 15 -0 1 3 5 10 12 14 15 -0 1 3 5 10 13 14 15 -0 1 3 5 11 12 13 14 -0 1 3 5 11 12 13 15 -0 1 3 5 11 12 14 15 -0 1 3 5 11 13 14 15 -0 1 3 5 12 13 14 15 -0 1 3 6 7 8 9 10 -0 1 3 6 7 8 9 11 -0 1 3 6 7 8 9 12 -0 1 3 6 7 8 9 13 -0 1 3 6 7 8 9 14 -0 1 3 6 7 8 9 15 -0 1 3 6 7 8 10 11 -0 1 3 6 7 8 10 12 -0 1 3 6 7 8 10 13 -0 1 3 6 7 8 10 14 -0 1 3 6 7 8 10 15 -0 1 3 6 7 8 11 12 -0 1 3 6 7 8 11 13 -0 1 3 6 7 8 11 14 -0 1 3 6 7 8 11 15 -0 1 3 6 7 8 12 13 -0 1 3 6 7 8 12 14 -0 1 3 6 7 8 12 15 -0 1 3 6 7 8 13 14 -0 1 3 6 7 8 13 15 -0 1 3 6 7 8 14 15 -0 1 3 6 7 9 10 11 -0 1 3 6 7 9 10 12 -0 1 3 6 7 9 10 13 -0 1 3 6 7 9 10 14 -0 1 3 6 7 9 10 15 -0 1 3 6 7 9 11 12 -0 1 3 6 7 9 11 13 -0 1 3 6 7 9 11 14 -0 1 3 6 7 9 11 15 -0 1 3 6 7 9 12 13 -0 1 3 6 7 9 12 14 -0 1 3 6 7 9 12 15 -0 1 3 6 7 9 13 14 -0 1 3 6 7 9 13 15 -0 1 3 6 7 9 14 15 -0 1 3 6 7 10 11 12 -0 1 3 6 7 10 11 13 -0 1 3 6 7 10 11 14 -0 1 3 6 7 10 11 15 -0 1 3 6 7 10 12 13 -0 1 3 6 7 10 12 14 -0 1 3 6 7 10 12 15 -0 1 3 6 7 10 13 14 -0 1 3 6 7 10 13 15 -0 1 3 6 7 10 14 15 -0 1 3 6 7 11 12 13 -0 1 3 6 7 11 12 14 -0 1 3 6 7 11 12 15 -0 1 3 6 7 11 13 14 -0 1 3 6 7 11 13 15 -0 1 3 6 7 11 14 15 -0 1 3 6 7 12 13 14 -0 1 3 6 7 12 13 15 -0 1 3 6 7 12 14 15 -0 1 3 6 7 13 14 15 -0 1 3 6 8 9 10 11 -0 1 3 6 8 9 10 12 -0 1 3 6 8 9 10 13 -0 1 3 6 8 9 10 14 -0 1 3 6 8 9 10 15 -0 1 3 6 8 9 11 12 -0 1 3 6 8 9 11 13 -0 1 3 6 8 9 11 14 -0 1 3 6 8 9 11 15 -0 1 3 6 8 9 12 13 -0 1 3 6 8 9 12 14 -0 1 3 6 8 9 12 15 -0 1 3 6 8 9 13 14 -0 1 3 6 8 9 13 15 -0 1 3 6 8 9 14 15 -0 1 3 6 8 10 11 12 -0 1 3 6 8 10 11 13 -0 1 3 6 8 10 11 14 -0 1 3 6 8 10 11 15 -0 1 3 6 8 10 12 13 -0 1 3 6 8 10 12 14 -0 1 3 6 8 10 12 15 -0 1 3 6 8 10 13 14 -0 1 3 6 8 10 13 15 -0 1 3 6 8 10 14 15 -0 1 3 6 8 11 12 13 -0 1 3 6 8 11 12 14 -0 1 3 6 8 11 12 15 -0 1 3 6 8 11 13 14 -0 1 3 6 8 11 13 15 -0 1 3 6 8 11 14 15 -0 1 3 6 8 12 13 14 -0 1 3 6 8 12 13 15 -0 1 3 6 8 12 14 15 -0 1 3 6 8 13 14 15 -0 1 3 6 9 10 11 12 -0 1 3 6 9 10 11 13 -0 1 3 6 9 10 11 14 -0 1 3 6 9 10 11 15 -0 1 3 6 9 10 12 13 -0 1 3 6 9 10 12 14 -0 1 3 6 9 10 12 15 -0 1 3 6 9 10 13 14 -0 1 3 6 9 10 13 15 -0 1 3 6 9 10 14 15 -0 1 3 6 9 11 12 13 -0 1 3 6 9 11 12 14 -0 1 3 6 9 11 12 15 -0 1 3 6 9 11 13 14 -0 1 3 6 9 11 13 15 -0 1 3 6 9 11 14 15 -0 1 3 6 9 12 13 14 -0 1 3 6 9 12 13 15 -0 1 3 6 9 12 14 15 -0 1 3 6 9 13 14 15 -0 1 3 6 10 11 12 13 -0 1 3 6 10 11 12 14 -0 1 3 6 10 11 12 15 -0 1 3 6 10 11 13 14 -0 1 3 6 10 11 13 15 -0 1 3 6 10 11 14 15 -0 1 3 6 10 12 13 14 -0 1 3 6 10 12 13 15 -0 1 3 6 10 12 14 15 -0 1 3 6 10 13 14 15 -0 1 3 6 11 12 13 14 -0 1 3 6 11 12 13 15 -0 1 3 6 11 12 14 15 -0 1 3 6 11 13 14 15 -0 1 3 6 12 13 14 15 -0 1 3 7 8 9 10 11 -0 1 3 7 8 9 10 12 -0 1 3 7 8 9 10 13 -0 1 3 7 8 9 10 14 -0 1 3 7 8 9 10 15 -0 1 3 7 8 9 11 12 -0 1 3 7 8 9 11 13 -0 1 3 7 8 9 11 14 -0 1 3 7 8 9 11 15 -0 1 3 7 8 9 12 13 -0 1 3 7 8 9 12 14 -0 1 3 7 8 9 12 15 -0 1 3 7 8 9 13 14 -0 1 3 7 8 9 13 15 -0 1 3 7 8 9 14 15 -0 1 3 7 8 10 11 12 -0 1 3 7 8 10 11 13 -0 1 3 7 8 10 11 14 -0 1 3 7 8 10 11 15 -0 1 3 7 8 10 12 13 -0 1 3 7 8 10 12 14 -0 1 3 7 8 10 12 15 -0 1 3 7 8 10 13 14 -0 1 3 7 8 10 13 15 -0 1 3 7 8 10 14 15 -0 1 3 7 8 11 12 13 -0 1 3 7 8 11 12 14 -0 1 3 7 8 11 12 15 -0 1 3 7 8 11 13 14 -0 1 3 7 8 11 13 15 -0 1 3 7 8 11 14 15 -0 1 3 7 8 12 13 14 -0 1 3 7 8 12 13 15 -0 1 3 7 8 12 14 15 -0 1 3 7 8 13 14 15 -0 1 3 7 9 10 11 12 -0 1 3 7 9 10 11 13 -0 1 3 7 9 10 11 14 -0 1 3 7 9 10 11 15 -0 1 3 7 9 10 12 13 -0 1 3 7 9 10 12 14 -0 1 3 7 9 10 12 15 -0 1 3 7 9 10 13 14 -0 1 3 7 9 10 13 15 -0 1 3 7 9 10 14 15 -0 1 3 7 9 11 12 13 -0 1 3 7 9 11 12 14 -0 1 3 7 9 11 12 15 -0 1 3 7 9 11 13 14 -0 1 3 7 9 11 13 15 -0 1 3 7 9 11 14 15 -0 1 3 7 9 12 13 14 -0 1 3 7 9 12 13 15 -0 1 3 7 9 12 14 15 -0 1 3 7 9 13 14 15 -0 1 3 7 10 11 12 13 -0 1 3 7 10 11 12 14 -0 1 3 7 10 11 12 15 -0 1 3 7 10 11 13 14 -0 1 3 7 10 11 13 15 -0 1 3 7 10 11 14 15 -0 1 3 7 10 12 13 14 -0 1 3 7 10 12 13 15 -0 1 3 7 10 12 14 15 -0 1 3 7 10 13 14 15 -0 1 3 7 11 12 13 14 -0 1 3 7 11 12 13 15 -0 1 3 7 11 12 14 15 -0 1 3 7 11 13 14 15 -0 1 3 7 12 13 14 15 -0 1 3 8 9 10 11 12 -0 1 3 8 9 10 11 13 -0 1 3 8 9 10 11 14 -0 1 3 8 9 10 11 15 -0 1 3 8 9 10 12 13 -0 1 3 8 9 10 12 14 -0 1 3 8 9 10 12 15 -0 1 3 8 9 10 13 14 -0 1 3 8 9 10 13 15 -0 1 3 8 9 10 14 15 -0 1 3 8 9 11 12 13 -0 1 3 8 9 11 12 14 -0 1 3 8 9 11 12 15 -0 1 3 8 9 11 13 14 -0 1 3 8 9 11 13 15 -0 1 3 8 9 11 14 15 -0 1 3 8 9 12 13 14 -0 1 3 8 9 12 13 15 -0 1 3 8 9 12 14 15 -0 1 3 8 9 13 14 15 -0 1 3 8 10 11 12 13 -0 1 3 8 10 11 12 14 -0 1 3 8 10 11 12 15 -0 1 3 8 10 11 13 14 -0 1 3 8 10 11 13 15 -0 1 3 8 10 11 14 15 -0 1 3 8 10 12 13 14 -0 1 3 8 10 12 13 15 -0 1 3 8 10 12 14 15 -0 1 3 8 10 13 14 15 -0 1 3 8 11 12 13 14 -0 1 3 8 11 12 13 15 -0 1 3 8 11 12 14 15 -0 1 3 8 11 13 14 15 -0 1 3 8 12 13 14 15 -0 1 3 9 10 11 12 13 -0 1 3 9 10 11 12 14 -0 1 3 9 10 11 12 15 -0 1 3 9 10 11 13 14 -0 1 3 9 10 11 13 15 -0 1 3 9 10 11 14 15 -0 1 3 9 10 12 13 14 -0 1 3 9 10 12 13 15 -0 1 3 9 10 12 14 15 -0 1 3 9 10 13 14 15 -0 1 3 9 11 12 13 14 -0 1 3 9 11 12 13 15 -0 1 3 9 11 12 14 15 -0 1 3 9 11 13 14 15 -0 1 3 9 12 13 14 15 -0 1 3 10 11 12 13 14 -0 1 3 10 11 12 13 15 -0 1 3 10 11 12 14 15 -0 1 3 10 11 13 14 15 -0 1 3 10 12 13 14 15 -0 1 3 11 12 13 14 15 -0 1 4 5 6 7 8 9 -0 1 4 5 6 7 8 10 -0 1 4 5 6 7 8 11 -0 1 4 5 6 7 8 12 -0 1 4 5 6 7 8 13 -0 1 4 5 6 7 8 14 -0 1 4 5 6 7 8 15 -0 1 4 5 6 7 9 10 -0 1 4 5 6 7 9 11 -0 1 4 5 6 7 9 12 -0 1 4 5 6 7 9 13 -0 1 4 5 6 7 9 14 -0 1 4 5 6 7 9 15 -0 1 4 5 6 7 10 11 -0 1 4 5 6 7 10 12 -0 1 4 5 6 7 10 13 -0 1 4 5 6 7 10 14 -0 1 4 5 6 7 10 15 -0 1 4 5 6 7 11 12 -0 1 4 5 6 7 11 13 -0 1 4 5 6 7 11 14 -0 1 4 5 6 7 11 15 -0 1 4 5 6 7 12 13 -0 1 4 5 6 7 12 14 -0 1 4 5 6 7 12 15 -0 1 4 5 6 7 13 14 -0 1 4 5 6 7 13 15 -0 1 4 5 6 7 14 15 -0 1 4 5 6 8 9 10 -0 1 4 5 6 8 9 11 -0 1 4 5 6 8 9 12 -0 1 4 5 6 8 9 13 -0 1 4 5 6 8 9 14 -0 1 4 5 6 8 9 15 -0 1 4 5 6 8 10 11 -0 1 4 5 6 8 10 12 -0 1 4 5 6 8 10 13 -0 1 4 5 6 8 10 14 -0 1 4 5 6 8 10 15 -0 1 4 5 6 8 11 12 -0 1 4 5 6 8 11 13 -0 1 4 5 6 8 11 14 -0 1 4 5 6 8 11 15 -0 1 4 5 6 8 12 13 -0 1 4 5 6 8 12 14 -0 1 4 5 6 8 12 15 -0 1 4 5 6 8 13 14 -0 1 4 5 6 8 13 15 -0 1 4 5 6 8 14 15 -0 1 4 5 6 9 10 11 -0 1 4 5 6 9 10 12 -0 1 4 5 6 9 10 13 -0 1 4 5 6 9 10 14 -0 1 4 5 6 9 10 15 -0 1 4 5 6 9 11 12 -0 1 4 5 6 9 11 13 -0 1 4 5 6 9 11 14 -0 1 4 5 6 9 11 15 -0 1 4 5 6 9 12 13 -0 1 4 5 6 9 12 14 -0 1 4 5 6 9 12 15 -0 1 4 5 6 9 13 14 -0 1 4 5 6 9 13 15 -0 1 4 5 6 9 14 15 -0 1 4 5 6 10 11 12 -0 1 4 5 6 10 11 13 -0 1 4 5 6 10 11 14 -0 1 4 5 6 10 11 15 -0 1 4 5 6 10 12 13 -0 1 4 5 6 10 12 14 -0 1 4 5 6 10 12 15 -0 1 4 5 6 10 13 14 -0 1 4 5 6 10 13 15 -0 1 4 5 6 10 14 15 -0 1 4 5 6 11 12 13 -0 1 4 5 6 11 12 14 -0 1 4 5 6 11 12 15 -0 1 4 5 6 11 13 14 -0 1 4 5 6 11 13 15 -0 1 4 5 6 11 14 15 -0 1 4 5 6 12 13 14 -0 1 4 5 6 12 13 15 -0 1 4 5 6 12 14 15 -0 1 4 5 6 13 14 15 -0 1 4 5 7 8 9 10 -0 1 4 5 7 8 9 11 -0 1 4 5 7 8 9 12 -0 1 4 5 7 8 9 13 -0 1 4 5 7 8 9 14 -0 1 4 5 7 8 9 15 -0 1 4 5 7 8 10 11 -0 1 4 5 7 8 10 12 -0 1 4 5 7 8 10 13 -0 1 4 5 7 8 10 14 -0 1 4 5 7 8 10 15 -0 1 4 5 7 8 11 12 -0 1 4 5 7 8 11 13 -0 1 4 5 7 8 11 14 -0 1 4 5 7 8 11 15 -0 1 4 5 7 8 12 13 -0 1 4 5 7 8 12 14 -0 1 4 5 7 8 12 15 -0 1 4 5 7 8 13 14 -0 1 4 5 7 8 13 15 -0 1 4 5 7 8 14 15 -0 1 4 5 7 9 10 11 -0 1 4 5 7 9 10 12 -0 1 4 5 7 9 10 13 -0 1 4 5 7 9 10 14 -0 1 4 5 7 9 10 15 -0 1 4 5 7 9 11 12 -0 1 4 5 7 9 11 13 -0 1 4 5 7 9 11 14 -0 1 4 5 7 9 11 15 -0 1 4 5 7 9 12 13 -0 1 4 5 7 9 12 14 -0 1 4 5 7 9 12 15 -0 1 4 5 7 9 13 14 -0 1 4 5 7 9 13 15 -0 1 4 5 7 9 14 15 -0 1 4 5 7 10 11 12 -0 1 4 5 7 10 11 13 -0 1 4 5 7 10 11 14 -0 1 4 5 7 10 11 15 -0 1 4 5 7 10 12 13 -0 1 4 5 7 10 12 14 -0 1 4 5 7 10 12 15 -0 1 4 5 7 10 13 14 -0 1 4 5 7 10 13 15 -0 1 4 5 7 10 14 15 -0 1 4 5 7 11 12 13 -0 1 4 5 7 11 12 14 -0 1 4 5 7 11 12 15 -0 1 4 5 7 11 13 14 -0 1 4 5 7 11 13 15 -0 1 4 5 7 11 14 15 -0 1 4 5 7 12 13 14 -0 1 4 5 7 12 13 15 -0 1 4 5 7 12 14 15 -0 1 4 5 7 13 14 15 -0 1 4 5 8 9 10 11 -0 1 4 5 8 9 10 12 -0 1 4 5 8 9 10 13 -0 1 4 5 8 9 10 14 -0 1 4 5 8 9 10 15 -0 1 4 5 8 9 11 12 -0 1 4 5 8 9 11 13 -0 1 4 5 8 9 11 14 -0 1 4 5 8 9 11 15 -0 1 4 5 8 9 12 13 -0 1 4 5 8 9 12 14 -0 1 4 5 8 9 12 15 -0 1 4 5 8 9 13 14 -0 1 4 5 8 9 13 15 -0 1 4 5 8 9 14 15 -0 1 4 5 8 10 11 12 -0 1 4 5 8 10 11 13 -0 1 4 5 8 10 11 14 -0 1 4 5 8 10 11 15 -0 1 4 5 8 10 12 13 -0 1 4 5 8 10 12 14 -0 1 4 5 8 10 12 15 -0 1 4 5 8 10 13 14 -0 1 4 5 8 10 13 15 -0 1 4 5 8 10 14 15 -0 1 4 5 8 11 12 13 -0 1 4 5 8 11 12 14 -0 1 4 5 8 11 12 15 -0 1 4 5 8 11 13 14 -0 1 4 5 8 11 13 15 -0 1 4 5 8 11 14 15 -0 1 4 5 8 12 13 14 -0 1 4 5 8 12 13 15 -0 1 4 5 8 12 14 15 -0 1 4 5 8 13 14 15 -0 1 4 5 9 10 11 12 -0 1 4 5 9 10 11 13 -0 1 4 5 9 10 11 14 -0 1 4 5 9 10 11 15 -0 1 4 5 9 10 12 13 -0 1 4 5 9 10 12 14 -0 1 4 5 9 10 12 15 -0 1 4 5 9 10 13 14 -0 1 4 5 9 10 13 15 -0 1 4 5 9 10 14 15 -0 1 4 5 9 11 12 13 -0 1 4 5 9 11 12 14 -0 1 4 5 9 11 12 15 -0 1 4 5 9 11 13 14 -0 1 4 5 9 11 13 15 -0 1 4 5 9 11 14 15 -0 1 4 5 9 12 13 14 -0 1 4 5 9 12 13 15 -0 1 4 5 9 12 14 15 -0 1 4 5 9 13 14 15 -0 1 4 5 10 11 12 13 -0 1 4 5 10 11 12 14 -0 1 4 5 10 11 12 15 -0 1 4 5 10 11 13 14 -0 1 4 5 10 11 13 15 -0 1 4 5 10 11 14 15 -0 1 4 5 10 12 13 14 -0 1 4 5 10 12 13 15 -0 1 4 5 10 12 14 15 -0 1 4 5 10 13 14 15 -0 1 4 5 11 12 13 14 -0 1 4 5 11 12 13 15 -0 1 4 5 11 12 14 15 -0 1 4 5 11 13 14 15 -0 1 4 5 12 13 14 15 -0 1 4 6 7 8 9 10 -0 1 4 6 7 8 9 11 -0 1 4 6 7 8 9 12 -0 1 4 6 7 8 9 13 -0 1 4 6 7 8 9 14 -0 1 4 6 7 8 9 15 -0 1 4 6 7 8 10 11 -0 1 4 6 7 8 10 12 -0 1 4 6 7 8 10 13 -0 1 4 6 7 8 10 14 -0 1 4 6 7 8 10 15 -0 1 4 6 7 8 11 12 -0 1 4 6 7 8 11 13 -0 1 4 6 7 8 11 14 -0 1 4 6 7 8 11 15 -0 1 4 6 7 8 12 13 -0 1 4 6 7 8 12 14 -0 1 4 6 7 8 12 15 -0 1 4 6 7 8 13 14 -0 1 4 6 7 8 13 15 -0 1 4 6 7 8 14 15 -0 1 4 6 7 9 10 11 -0 1 4 6 7 9 10 12 -0 1 4 6 7 9 10 13 -0 1 4 6 7 9 10 14 -0 1 4 6 7 9 10 15 -0 1 4 6 7 9 11 12 -0 1 4 6 7 9 11 13 -0 1 4 6 7 9 11 14 -0 1 4 6 7 9 11 15 -0 1 4 6 7 9 12 13 -0 1 4 6 7 9 12 14 -0 1 4 6 7 9 12 15 -0 1 4 6 7 9 13 14 -0 1 4 6 7 9 13 15 -0 1 4 6 7 9 14 15 -0 1 4 6 7 10 11 12 -0 1 4 6 7 10 11 13 -0 1 4 6 7 10 11 14 -0 1 4 6 7 10 11 15 -0 1 4 6 7 10 12 13 -0 1 4 6 7 10 12 14 -0 1 4 6 7 10 12 15 -0 1 4 6 7 10 13 14 -0 1 4 6 7 10 13 15 -0 1 4 6 7 10 14 15 -0 1 4 6 7 11 12 13 -0 1 4 6 7 11 12 14 -0 1 4 6 7 11 12 15 -0 1 4 6 7 11 13 14 -0 1 4 6 7 11 13 15 -0 1 4 6 7 11 14 15 -0 1 4 6 7 12 13 14 -0 1 4 6 7 12 13 15 -0 1 4 6 7 12 14 15 -0 1 4 6 7 13 14 15 -0 1 4 6 8 9 10 11 -0 1 4 6 8 9 10 12 -0 1 4 6 8 9 10 13 -0 1 4 6 8 9 10 14 -0 1 4 6 8 9 10 15 -0 1 4 6 8 9 11 12 -0 1 4 6 8 9 11 13 -0 1 4 6 8 9 11 14 -0 1 4 6 8 9 11 15 -0 1 4 6 8 9 12 13 -0 1 4 6 8 9 12 14 -0 1 4 6 8 9 12 15 -0 1 4 6 8 9 13 14 -0 1 4 6 8 9 13 15 -0 1 4 6 8 9 14 15 -0 1 4 6 8 10 11 12 -0 1 4 6 8 10 11 13 -0 1 4 6 8 10 11 14 -0 1 4 6 8 10 11 15 -0 1 4 6 8 10 12 13 -0 1 4 6 8 10 12 14 -0 1 4 6 8 10 12 15 -0 1 4 6 8 10 13 14 -0 1 4 6 8 10 13 15 -0 1 4 6 8 10 14 15 -0 1 4 6 8 11 12 13 -0 1 4 6 8 11 12 14 -0 1 4 6 8 11 12 15 -0 1 4 6 8 11 13 14 -0 1 4 6 8 11 13 15 -0 1 4 6 8 11 14 15 -0 1 4 6 8 12 13 14 -0 1 4 6 8 12 13 15 -0 1 4 6 8 12 14 15 -0 1 4 6 8 13 14 15 -0 1 4 6 9 10 11 12 -0 1 4 6 9 10 11 13 -0 1 4 6 9 10 11 14 -0 1 4 6 9 10 11 15 -0 1 4 6 9 10 12 13 -0 1 4 6 9 10 12 14 -0 1 4 6 9 10 12 15 -0 1 4 6 9 10 13 14 -0 1 4 6 9 10 13 15 -0 1 4 6 9 10 14 15 -0 1 4 6 9 11 12 13 -0 1 4 6 9 11 12 14 -0 1 4 6 9 11 12 15 -0 1 4 6 9 11 13 14 -0 1 4 6 9 11 13 15 -0 1 4 6 9 11 14 15 -0 1 4 6 9 12 13 14 -0 1 4 6 9 12 13 15 -0 1 4 6 9 12 14 15 -0 1 4 6 9 13 14 15 -0 1 4 6 10 11 12 13 -0 1 4 6 10 11 12 14 -0 1 4 6 10 11 12 15 -0 1 4 6 10 11 13 14 -0 1 4 6 10 11 13 15 -0 1 4 6 10 11 14 15 -0 1 4 6 10 12 13 14 -0 1 4 6 10 12 13 15 -0 1 4 6 10 12 14 15 -0 1 4 6 10 13 14 15 -0 1 4 6 11 12 13 14 -0 1 4 6 11 12 13 15 -0 1 4 6 11 12 14 15 -0 1 4 6 11 13 14 15 -0 1 4 6 12 13 14 15 -0 1 4 7 8 9 10 11 -0 1 4 7 8 9 10 12 -0 1 4 7 8 9 10 13 -0 1 4 7 8 9 10 14 -0 1 4 7 8 9 10 15 -0 1 4 7 8 9 11 12 -0 1 4 7 8 9 11 13 -0 1 4 7 8 9 11 14 -0 1 4 7 8 9 11 15 -0 1 4 7 8 9 12 13 -0 1 4 7 8 9 12 14 -0 1 4 7 8 9 12 15 -0 1 4 7 8 9 13 14 -0 1 4 7 8 9 13 15 -0 1 4 7 8 9 14 15 -0 1 4 7 8 10 11 12 -0 1 4 7 8 10 11 13 -0 1 4 7 8 10 11 14 -0 1 4 7 8 10 11 15 -0 1 4 7 8 10 12 13 -0 1 4 7 8 10 12 14 -0 1 4 7 8 10 12 15 -0 1 4 7 8 10 13 14 -0 1 4 7 8 10 13 15 -0 1 4 7 8 10 14 15 -0 1 4 7 8 11 12 13 -0 1 4 7 8 11 12 14 -0 1 4 7 8 11 12 15 -0 1 4 7 8 11 13 14 -0 1 4 7 8 11 13 15 -0 1 4 7 8 11 14 15 -0 1 4 7 8 12 13 14 -0 1 4 7 8 12 13 15 -0 1 4 7 8 12 14 15 -0 1 4 7 8 13 14 15 -0 1 4 7 9 10 11 12 -0 1 4 7 9 10 11 13 -0 1 4 7 9 10 11 14 -0 1 4 7 9 10 11 15 -0 1 4 7 9 10 12 13 -0 1 4 7 9 10 12 14 -0 1 4 7 9 10 12 15 -0 1 4 7 9 10 13 14 -0 1 4 7 9 10 13 15 -0 1 4 7 9 10 14 15 -0 1 4 7 9 11 12 13 -0 1 4 7 9 11 12 14 -0 1 4 7 9 11 12 15 -0 1 4 7 9 11 13 14 -0 1 4 7 9 11 13 15 -0 1 4 7 9 11 14 15 -0 1 4 7 9 12 13 14 -0 1 4 7 9 12 13 15 -0 1 4 7 9 12 14 15 -0 1 4 7 9 13 14 15 -0 1 4 7 10 11 12 13 -0 1 4 7 10 11 12 14 -0 1 4 7 10 11 12 15 -0 1 4 7 10 11 13 14 -0 1 4 7 10 11 13 15 -0 1 4 7 10 11 14 15 -0 1 4 7 10 12 13 14 -0 1 4 7 10 12 13 15 -0 1 4 7 10 12 14 15 -0 1 4 7 10 13 14 15 -0 1 4 7 11 12 13 14 -0 1 4 7 11 12 13 15 -0 1 4 7 11 12 14 15 -0 1 4 7 11 13 14 15 -0 1 4 7 12 13 14 15 -0 1 4 8 9 10 11 12 -0 1 4 8 9 10 11 13 -0 1 4 8 9 10 11 14 -0 1 4 8 9 10 11 15 -0 1 4 8 9 10 12 13 -0 1 4 8 9 10 12 14 -0 1 4 8 9 10 12 15 -0 1 4 8 9 10 13 14 -0 1 4 8 9 10 13 15 -0 1 4 8 9 10 14 15 -0 1 4 8 9 11 12 13 -0 1 4 8 9 11 12 14 -0 1 4 8 9 11 12 15 -0 1 4 8 9 11 13 14 -0 1 4 8 9 11 13 15 -0 1 4 8 9 11 14 15 -0 1 4 8 9 12 13 14 -0 1 4 8 9 12 13 15 -0 1 4 8 9 12 14 15 -0 1 4 8 9 13 14 15 -0 1 4 8 10 11 12 13 -0 1 4 8 10 11 12 14 -0 1 4 8 10 11 12 15 -0 1 4 8 10 11 13 14 -0 1 4 8 10 11 13 15 -0 1 4 8 10 11 14 15 -0 1 4 8 10 12 13 14 -0 1 4 8 10 12 13 15 -0 1 4 8 10 12 14 15 -0 1 4 8 10 13 14 15 -0 1 4 8 11 12 13 14 -0 1 4 8 11 12 13 15 -0 1 4 8 11 12 14 15 -0 1 4 8 11 13 14 15 -0 1 4 8 12 13 14 15 -0 1 4 9 10 11 12 13 -0 1 4 9 10 11 12 14 -0 1 4 9 10 11 12 15 -0 1 4 9 10 11 13 14 -0 1 4 9 10 11 13 15 -0 1 4 9 10 11 14 15 -0 1 4 9 10 12 13 14 -0 1 4 9 10 12 13 15 -0 1 4 9 10 12 14 15 -0 1 4 9 10 13 14 15 -0 1 4 9 11 12 13 14 -0 1 4 9 11 12 13 15 -0 1 4 9 11 12 14 15 -0 1 4 9 11 13 14 15 -0 1 4 9 12 13 14 15 -0 1 4 10 11 12 13 14 -0 1 4 10 11 12 13 15 -0 1 4 10 11 12 14 15 -0 1 4 10 11 13 14 15 -0 1 4 10 12 13 14 15 -0 1 4 11 12 13 14 15 -0 1 5 6 7 8 9 10 -0 1 5 6 7 8 9 11 -0 1 5 6 7 8 9 12 -0 1 5 6 7 8 9 13 -0 1 5 6 7 8 9 14 -0 1 5 6 7 8 9 15 -0 1 5 6 7 8 10 11 -0 1 5 6 7 8 10 12 -0 1 5 6 7 8 10 13 -0 1 5 6 7 8 10 14 -0 1 5 6 7 8 10 15 -0 1 5 6 7 8 11 12 -0 1 5 6 7 8 11 13 -0 1 5 6 7 8 11 14 -0 1 5 6 7 8 11 15 -0 1 5 6 7 8 12 13 -0 1 5 6 7 8 12 14 -0 1 5 6 7 8 12 15 -0 1 5 6 7 8 13 14 -0 1 5 6 7 8 13 15 -0 1 5 6 7 8 14 15 -0 1 5 6 7 9 10 11 -0 1 5 6 7 9 10 12 -0 1 5 6 7 9 10 13 -0 1 5 6 7 9 10 14 -0 1 5 6 7 9 10 15 -0 1 5 6 7 9 11 12 -0 1 5 6 7 9 11 13 -0 1 5 6 7 9 11 14 -0 1 5 6 7 9 11 15 -0 1 5 6 7 9 12 13 -0 1 5 6 7 9 12 14 -0 1 5 6 7 9 12 15 -0 1 5 6 7 9 13 14 -0 1 5 6 7 9 13 15 -0 1 5 6 7 9 14 15 -0 1 5 6 7 10 11 12 -0 1 5 6 7 10 11 13 -0 1 5 6 7 10 11 14 -0 1 5 6 7 10 11 15 -0 1 5 6 7 10 12 13 -0 1 5 6 7 10 12 14 -0 1 5 6 7 10 12 15 -0 1 5 6 7 10 13 14 -0 1 5 6 7 10 13 15 -0 1 5 6 7 10 14 15 -0 1 5 6 7 11 12 13 -0 1 5 6 7 11 12 14 -0 1 5 6 7 11 12 15 -0 1 5 6 7 11 13 14 -0 1 5 6 7 11 13 15 -0 1 5 6 7 11 14 15 -0 1 5 6 7 12 13 14 -0 1 5 6 7 12 13 15 -0 1 5 6 7 12 14 15 -0 1 5 6 7 13 14 15 -0 1 5 6 8 9 10 11 -0 1 5 6 8 9 10 12 -0 1 5 6 8 9 10 13 -0 1 5 6 8 9 10 14 -0 1 5 6 8 9 10 15 -0 1 5 6 8 9 11 12 -0 1 5 6 8 9 11 13 -0 1 5 6 8 9 11 14 -0 1 5 6 8 9 11 15 -0 1 5 6 8 9 12 13 -0 1 5 6 8 9 12 14 -0 1 5 6 8 9 12 15 -0 1 5 6 8 9 13 14 -0 1 5 6 8 9 13 15 -0 1 5 6 8 9 14 15 -0 1 5 6 8 10 11 12 -0 1 5 6 8 10 11 13 -0 1 5 6 8 10 11 14 -0 1 5 6 8 10 11 15 -0 1 5 6 8 10 12 13 -0 1 5 6 8 10 12 14 -0 1 5 6 8 10 12 15 -0 1 5 6 8 10 13 14 -0 1 5 6 8 10 13 15 -0 1 5 6 8 10 14 15 -0 1 5 6 8 11 12 13 -0 1 5 6 8 11 12 14 -0 1 5 6 8 11 12 15 -0 1 5 6 8 11 13 14 -0 1 5 6 8 11 13 15 -0 1 5 6 8 11 14 15 -0 1 5 6 8 12 13 14 -0 1 5 6 8 12 13 15 -0 1 5 6 8 12 14 15 -0 1 5 6 8 13 14 15 -0 1 5 6 9 10 11 12 -0 1 5 6 9 10 11 13 -0 1 5 6 9 10 11 14 -0 1 5 6 9 10 11 15 -0 1 5 6 9 10 12 13 -0 1 5 6 9 10 12 14 -0 1 5 6 9 10 12 15 -0 1 5 6 9 10 13 14 -0 1 5 6 9 10 13 15 -0 1 5 6 9 10 14 15 -0 1 5 6 9 11 12 13 -0 1 5 6 9 11 12 14 -0 1 5 6 9 11 12 15 -0 1 5 6 9 11 13 14 -0 1 5 6 9 11 13 15 -0 1 5 6 9 11 14 15 -0 1 5 6 9 12 13 14 -0 1 5 6 9 12 13 15 -0 1 5 6 9 12 14 15 -0 1 5 6 9 13 14 15 -0 1 5 6 10 11 12 13 -0 1 5 6 10 11 12 14 -0 1 5 6 10 11 12 15 -0 1 5 6 10 11 13 14 -0 1 5 6 10 11 13 15 -0 1 5 6 10 11 14 15 -0 1 5 6 10 12 13 14 -0 1 5 6 10 12 13 15 -0 1 5 6 10 12 14 15 -0 1 5 6 10 13 14 15 -0 1 5 6 11 12 13 14 -0 1 5 6 11 12 13 15 -0 1 5 6 11 12 14 15 -0 1 5 6 11 13 14 15 -0 1 5 6 12 13 14 15 -0 1 5 7 8 9 10 11 -0 1 5 7 8 9 10 12 -0 1 5 7 8 9 10 13 -0 1 5 7 8 9 10 14 -0 1 5 7 8 9 10 15 -0 1 5 7 8 9 11 12 -0 1 5 7 8 9 11 13 -0 1 5 7 8 9 11 14 -0 1 5 7 8 9 11 15 -0 1 5 7 8 9 12 13 -0 1 5 7 8 9 12 14 -0 1 5 7 8 9 12 15 -0 1 5 7 8 9 13 14 -0 1 5 7 8 9 13 15 -0 1 5 7 8 9 14 15 -0 1 5 7 8 10 11 12 -0 1 5 7 8 10 11 13 -0 1 5 7 8 10 11 14 -0 1 5 7 8 10 11 15 -0 1 5 7 8 10 12 13 -0 1 5 7 8 10 12 14 -0 1 5 7 8 10 12 15 -0 1 5 7 8 10 13 14 -0 1 5 7 8 10 13 15 -0 1 5 7 8 10 14 15 -0 1 5 7 8 11 12 13 -0 1 5 7 8 11 12 14 -0 1 5 7 8 11 12 15 -0 1 5 7 8 11 13 14 -0 1 5 7 8 11 13 15 -0 1 5 7 8 11 14 15 -0 1 5 7 8 12 13 14 -0 1 5 7 8 12 13 15 -0 1 5 7 8 12 14 15 -0 1 5 7 8 13 14 15 -0 1 5 7 9 10 11 12 -0 1 5 7 9 10 11 13 -0 1 5 7 9 10 11 14 -0 1 5 7 9 10 11 15 -0 1 5 7 9 10 12 13 -0 1 5 7 9 10 12 14 -0 1 5 7 9 10 12 15 -0 1 5 7 9 10 13 14 -0 1 5 7 9 10 13 15 -0 1 5 7 9 10 14 15 -0 1 5 7 9 11 12 13 -0 1 5 7 9 11 12 14 -0 1 5 7 9 11 12 15 -0 1 5 7 9 11 13 14 -0 1 5 7 9 11 13 15 -0 1 5 7 9 11 14 15 -0 1 5 7 9 12 13 14 -0 1 5 7 9 12 13 15 -0 1 5 7 9 12 14 15 -0 1 5 7 9 13 14 15 -0 1 5 7 10 11 12 13 -0 1 5 7 10 11 12 14 -0 1 5 7 10 11 12 15 -0 1 5 7 10 11 13 14 -0 1 5 7 10 11 13 15 -0 1 5 7 10 11 14 15 -0 1 5 7 10 12 13 14 -0 1 5 7 10 12 13 15 -0 1 5 7 10 12 14 15 -0 1 5 7 10 13 14 15 -0 1 5 7 11 12 13 14 -0 1 5 7 11 12 13 15 -0 1 5 7 11 12 14 15 -0 1 5 7 11 13 14 15 -0 1 5 7 12 13 14 15 -0 1 5 8 9 10 11 12 -0 1 5 8 9 10 11 13 -0 1 5 8 9 10 11 14 -0 1 5 8 9 10 11 15 -0 1 5 8 9 10 12 13 -0 1 5 8 9 10 12 14 -0 1 5 8 9 10 12 15 -0 1 5 8 9 10 13 14 -0 1 5 8 9 10 13 15 -0 1 5 8 9 10 14 15 -0 1 5 8 9 11 12 13 -0 1 5 8 9 11 12 14 -0 1 5 8 9 11 12 15 -0 1 5 8 9 11 13 14 -0 1 5 8 9 11 13 15 -0 1 5 8 9 11 14 15 -0 1 5 8 9 12 13 14 -0 1 5 8 9 12 13 15 -0 1 5 8 9 12 14 15 -0 1 5 8 9 13 14 15 -0 1 5 8 10 11 12 13 -0 1 5 8 10 11 12 14 -0 1 5 8 10 11 12 15 -0 1 5 8 10 11 13 14 -0 1 5 8 10 11 13 15 -0 1 5 8 10 11 14 15 -0 1 5 8 10 12 13 14 -0 1 5 8 10 12 13 15 -0 1 5 8 10 12 14 15 -0 1 5 8 10 13 14 15 -0 1 5 8 11 12 13 14 -0 1 5 8 11 12 13 15 -0 1 5 8 11 12 14 15 -0 1 5 8 11 13 14 15 -0 1 5 8 12 13 14 15 -0 1 5 9 10 11 12 13 -0 1 5 9 10 11 12 14 -0 1 5 9 10 11 12 15 -0 1 5 9 10 11 13 14 -0 1 5 9 10 11 13 15 -0 1 5 9 10 11 14 15 -0 1 5 9 10 12 13 14 -0 1 5 9 10 12 13 15 -0 1 5 9 10 12 14 15 -0 1 5 9 10 13 14 15 -0 1 5 9 11 12 13 14 -0 1 5 9 11 12 13 15 -0 1 5 9 11 12 14 15 -0 1 5 9 11 13 14 15 -0 1 5 9 12 13 14 15 -0 1 5 10 11 12 13 14 -0 1 5 10 11 12 13 15 -0 1 5 10 11 12 14 15 -0 1 5 10 11 13 14 15 -0 1 5 10 12 13 14 15 -0 1 5 11 12 13 14 15 -0 1 6 7 8 9 10 11 -0 1 6 7 8 9 10 12 -0 1 6 7 8 9 10 13 -0 1 6 7 8 9 10 14 -0 1 6 7 8 9 10 15 -0 1 6 7 8 9 11 12 -0 1 6 7 8 9 11 13 -0 1 6 7 8 9 11 14 -0 1 6 7 8 9 11 15 -0 1 6 7 8 9 12 13 -0 1 6 7 8 9 12 14 -0 1 6 7 8 9 12 15 -0 1 6 7 8 9 13 14 -0 1 6 7 8 9 13 15 -0 1 6 7 8 9 14 15 -0 1 6 7 8 10 11 12 -0 1 6 7 8 10 11 13 -0 1 6 7 8 10 11 14 -0 1 6 7 8 10 11 15 -0 1 6 7 8 10 12 13 -0 1 6 7 8 10 12 14 -0 1 6 7 8 10 12 15 -0 1 6 7 8 10 13 14 -0 1 6 7 8 10 13 15 -0 1 6 7 8 10 14 15 -0 1 6 7 8 11 12 13 -0 1 6 7 8 11 12 14 -0 1 6 7 8 11 12 15 -0 1 6 7 8 11 13 14 -0 1 6 7 8 11 13 15 -0 1 6 7 8 11 14 15 -0 1 6 7 8 12 13 14 -0 1 6 7 8 12 13 15 -0 1 6 7 8 12 14 15 -0 1 6 7 8 13 14 15 -0 1 6 7 9 10 11 12 -0 1 6 7 9 10 11 13 -0 1 6 7 9 10 11 14 -0 1 6 7 9 10 11 15 -0 1 6 7 9 10 12 13 -0 1 6 7 9 10 12 14 -0 1 6 7 9 10 12 15 -0 1 6 7 9 10 13 14 -0 1 6 7 9 10 13 15 -0 1 6 7 9 10 14 15 -0 1 6 7 9 11 12 13 -0 1 6 7 9 11 12 14 -0 1 6 7 9 11 12 15 -0 1 6 7 9 11 13 14 -0 1 6 7 9 11 13 15 -0 1 6 7 9 11 14 15 -0 1 6 7 9 12 13 14 -0 1 6 7 9 12 13 15 -0 1 6 7 9 12 14 15 -0 1 6 7 9 13 14 15 -0 1 6 7 10 11 12 13 -0 1 6 7 10 11 12 14 -0 1 6 7 10 11 12 15 -0 1 6 7 10 11 13 14 -0 1 6 7 10 11 13 15 -0 1 6 7 10 11 14 15 -0 1 6 7 10 12 13 14 -0 1 6 7 10 12 13 15 -0 1 6 7 10 12 14 15 -0 1 6 7 10 13 14 15 -0 1 6 7 11 12 13 14 -0 1 6 7 11 12 13 15 -0 1 6 7 11 12 14 15 -0 1 6 7 11 13 14 15 -0 1 6 7 12 13 14 15 -0 1 6 8 9 10 11 12 -0 1 6 8 9 10 11 13 -0 1 6 8 9 10 11 14 -0 1 6 8 9 10 11 15 -0 1 6 8 9 10 12 13 -0 1 6 8 9 10 12 14 -0 1 6 8 9 10 12 15 -0 1 6 8 9 10 13 14 -0 1 6 8 9 10 13 15 -0 1 6 8 9 10 14 15 -0 1 6 8 9 11 12 13 -0 1 6 8 9 11 12 14 -0 1 6 8 9 11 12 15 -0 1 6 8 9 11 13 14 -0 1 6 8 9 11 13 15 -0 1 6 8 9 11 14 15 -0 1 6 8 9 12 13 14 -0 1 6 8 9 12 13 15 -0 1 6 8 9 12 14 15 -0 1 6 8 9 13 14 15 -0 1 6 8 10 11 12 13 -0 1 6 8 10 11 12 14 -0 1 6 8 10 11 12 15 -0 1 6 8 10 11 13 14 -0 1 6 8 10 11 13 15 -0 1 6 8 10 11 14 15 -0 1 6 8 10 12 13 14 -0 1 6 8 10 12 13 15 -0 1 6 8 10 12 14 15 -0 1 6 8 10 13 14 15 -0 1 6 8 11 12 13 14 -0 1 6 8 11 12 13 15 -0 1 6 8 11 12 14 15 -0 1 6 8 11 13 14 15 -0 1 6 8 12 13 14 15 -0 1 6 9 10 11 12 13 -0 1 6 9 10 11 12 14 -0 1 6 9 10 11 12 15 -0 1 6 9 10 11 13 14 -0 1 6 9 10 11 13 15 -0 1 6 9 10 11 14 15 -0 1 6 9 10 12 13 14 -0 1 6 9 10 12 13 15 -0 1 6 9 10 12 14 15 -0 1 6 9 10 13 14 15 -0 1 6 9 11 12 13 14 -0 1 6 9 11 12 13 15 -0 1 6 9 11 12 14 15 -0 1 6 9 11 13 14 15 -0 1 6 9 12 13 14 15 -0 1 6 10 11 12 13 14 -0 1 6 10 11 12 13 15 -0 1 6 10 11 12 14 15 -0 1 6 10 11 13 14 15 -0 1 6 10 12 13 14 15 -0 1 6 11 12 13 14 15 -0 1 7 8 9 10 11 12 -0 1 7 8 9 10 11 13 -0 1 7 8 9 10 11 14 -0 1 7 8 9 10 11 15 -0 1 7 8 9 10 12 13 -0 1 7 8 9 10 12 14 -0 1 7 8 9 10 12 15 -0 1 7 8 9 10 13 14 -0 1 7 8 9 10 13 15 -0 1 7 8 9 10 14 15 -0 1 7 8 9 11 12 13 -0 1 7 8 9 11 12 14 -0 1 7 8 9 11 12 15 -0 1 7 8 9 11 13 14 -0 1 7 8 9 11 13 15 -0 1 7 8 9 11 14 15 -0 1 7 8 9 12 13 14 -0 1 7 8 9 12 13 15 -0 1 7 8 9 12 14 15 -0 1 7 8 9 13 14 15 -0 1 7 8 10 11 12 13 -0 1 7 8 10 11 12 14 -0 1 7 8 10 11 12 15 -0 1 7 8 10 11 13 14 -0 1 7 8 10 11 13 15 -0 1 7 8 10 11 14 15 -0 1 7 8 10 12 13 14 -0 1 7 8 10 12 13 15 -0 1 7 8 10 12 14 15 -0 1 7 8 10 13 14 15 -0 1 7 8 11 12 13 14 -0 1 7 8 11 12 13 15 -0 1 7 8 11 12 14 15 -0 1 7 8 11 13 14 15 -0 1 7 8 12 13 14 15 -0 1 7 9 10 11 12 13 -0 1 7 9 10 11 12 14 -0 1 7 9 10 11 12 15 -0 1 7 9 10 11 13 14 -0 1 7 9 10 11 13 15 -0 1 7 9 10 11 14 15 -0 1 7 9 10 12 13 14 -0 1 7 9 10 12 13 15 -0 1 7 9 10 12 14 15 -0 1 7 9 10 13 14 15 -0 1 7 9 11 12 13 14 -0 1 7 9 11 12 13 15 -0 1 7 9 11 12 14 15 -0 1 7 9 11 13 14 15 -0 1 7 9 12 13 14 15 -0 1 7 10 11 12 13 14 -0 1 7 10 11 12 13 15 -0 1 7 10 11 12 14 15 -0 1 7 10 11 13 14 15 -0 1 7 10 12 13 14 15 -0 1 7 11 12 13 14 15 -0 1 8 9 10 11 12 13 -0 1 8 9 10 11 12 14 -0 1 8 9 10 11 12 15 -0 1 8 9 10 11 13 14 -0 1 8 9 10 11 13 15 -0 1 8 9 10 11 14 15 -0 1 8 9 10 12 13 14 -0 1 8 9 10 12 13 15 -0 1 8 9 10 12 14 15 -0 1 8 9 10 13 14 15 -0 1 8 9 11 12 13 14 -0 1 8 9 11 12 13 15 -0 1 8 9 11 12 14 15 -0 1 8 9 11 13 14 15 -0 1 8 9 12 13 14 15 -0 1 8 10 11 12 13 14 -0 1 8 10 11 12 13 15 -0 1 8 10 11 12 14 15 -0 1 8 10 11 13 14 15 -0 1 8 10 12 13 14 15 -0 1 8 11 12 13 14 15 -0 1 9 10 11 12 13 14 -0 1 9 10 11 12 13 15 -0 1 9 10 11 12 14 15 -0 1 9 10 11 13 14 15 -0 1 9 10 12 13 14 15 -0 1 9 11 12 13 14 15 -0 1 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 -0 2 3 4 5 6 7 9 -0 2 3 4 5 6 7 10 -0 2 3 4 5 6 7 11 -0 2 3 4 5 6 7 12 -0 2 3 4 5 6 7 13 -0 2 3 4 5 6 7 14 -0 2 3 4 5 6 7 15 -0 2 3 4 5 6 8 9 -0 2 3 4 5 6 8 10 -0 2 3 4 5 6 8 11 -0 2 3 4 5 6 8 12 -0 2 3 4 5 6 8 13 -0 2 3 4 5 6 8 14 -0 2 3 4 5 6 8 15 -0 2 3 4 5 6 9 10 -0 2 3 4 5 6 9 11 -0 2 3 4 5 6 9 12 -0 2 3 4 5 6 9 13 -0 2 3 4 5 6 9 14 -0 2 3 4 5 6 9 15 -0 2 3 4 5 6 10 11 -0 2 3 4 5 6 10 12 -0 2 3 4 5 6 10 13 -0 2 3 4 5 6 10 14 -0 2 3 4 5 6 10 15 -0 2 3 4 5 6 11 12 -0 2 3 4 5 6 11 13 -0 2 3 4 5 6 11 14 -0 2 3 4 5 6 11 15 -0 2 3 4 5 6 12 13 -0 2 3 4 5 6 12 14 -0 2 3 4 5 6 12 15 -0 2 3 4 5 6 13 14 -0 2 3 4 5 6 13 15 -0 2 3 4 5 6 14 15 -0 2 3 4 5 7 8 9 -0 2 3 4 5 7 8 10 -0 2 3 4 5 7 8 11 -0 2 3 4 5 7 8 12 -0 2 3 4 5 7 8 13 -0 2 3 4 5 7 8 14 -0 2 3 4 5 7 8 15 -0 2 3 4 5 7 9 10 -0 2 3 4 5 7 9 11 -0 2 3 4 5 7 9 12 -0 2 3 4 5 7 9 13 -0 2 3 4 5 7 9 14 -0 2 3 4 5 7 9 15 -0 2 3 4 5 7 10 11 -0 2 3 4 5 7 10 12 -0 2 3 4 5 7 10 13 -0 2 3 4 5 7 10 14 -0 2 3 4 5 7 10 15 -0 2 3 4 5 7 11 12 -0 2 3 4 5 7 11 13 -0 2 3 4 5 7 11 14 -0 2 3 4 5 7 11 15 -0 2 3 4 5 7 12 13 -0 2 3 4 5 7 12 14 -0 2 3 4 5 7 12 15 -0 2 3 4 5 7 13 14 -0 2 3 4 5 7 13 15 -0 2 3 4 5 7 14 15 -0 2 3 4 5 8 9 10 -0 2 3 4 5 8 9 11 -0 2 3 4 5 8 9 12 -0 2 3 4 5 8 9 13 -0 2 3 4 5 8 9 14 -0 2 3 4 5 8 9 15 -0 2 3 4 5 8 10 11 -0 2 3 4 5 8 10 12 -0 2 3 4 5 8 10 13 -0 2 3 4 5 8 10 14 -0 2 3 4 5 8 10 15 -0 2 3 4 5 8 11 12 -0 2 3 4 5 8 11 13 -0 2 3 4 5 8 11 14 -0 2 3 4 5 8 11 15 -0 2 3 4 5 8 12 13 -0 2 3 4 5 8 12 14 -0 2 3 4 5 8 12 15 -0 2 3 4 5 8 13 14 -0 2 3 4 5 8 13 15 -0 2 3 4 5 8 14 15 -0 2 3 4 5 9 10 11 -0 2 3 4 5 9 10 12 -0 2 3 4 5 9 10 13 -0 2 3 4 5 9 10 14 -0 2 3 4 5 9 10 15 -0 2 3 4 5 9 11 12 -0 2 3 4 5 9 11 13 -0 2 3 4 5 9 11 14 -0 2 3 4 5 9 11 15 -0 2 3 4 5 9 12 13 -0 2 3 4 5 9 12 14 -0 2 3 4 5 9 12 15 -0 2 3 4 5 9 13 14 -0 2 3 4 5 9 13 15 -0 2 3 4 5 9 14 15 -0 2 3 4 5 10 11 12 -0 2 3 4 5 10 11 13 -0 2 3 4 5 10 11 14 -0 2 3 4 5 10 11 15 -0 2 3 4 5 10 12 13 -0 2 3 4 5 10 12 14 -0 2 3 4 5 10 12 15 -0 2 3 4 5 10 13 14 -0 2 3 4 5 10 13 15 -0 2 3 4 5 10 14 15 -0 2 3 4 5 11 12 13 -0 2 3 4 5 11 12 14 -0 2 3 4 5 11 12 15 -0 2 3 4 5 11 13 14 -0 2 3 4 5 11 13 15 -0 2 3 4 5 11 14 15 -0 2 3 4 5 12 13 14 -0 2 3 4 5 12 13 15 -0 2 3 4 5 12 14 15 -0 2 3 4 5 13 14 15 -0 2 3 4 6 7 8 9 -0 2 3 4 6 7 8 10 -0 2 3 4 6 7 8 11 -0 2 3 4 6 7 8 12 -0 2 3 4 6 7 8 13 -0 2 3 4 6 7 8 14 -0 2 3 4 6 7 8 15 -0 2 3 4 6 7 9 10 -0 2 3 4 6 7 9 11 -0 2 3 4 6 7 9 12 -0 2 3 4 6 7 9 13 -0 2 3 4 6 7 9 14 -0 2 3 4 6 7 9 15 -0 2 3 4 6 7 10 11 -0 2 3 4 6 7 10 12 -0 2 3 4 6 7 10 13 -0 2 3 4 6 7 10 14 -0 2 3 4 6 7 10 15 -0 2 3 4 6 7 11 12 -0 2 3 4 6 7 11 13 -0 2 3 4 6 7 11 14 -0 2 3 4 6 7 11 15 -0 2 3 4 6 7 12 13 -0 2 3 4 6 7 12 14 -0 2 3 4 6 7 12 15 -0 2 3 4 6 7 13 14 -0 2 3 4 6 7 13 15 -0 2 3 4 6 7 14 15 -0 2 3 4 6 8 9 10 -0 2 3 4 6 8 9 11 -0 2 3 4 6 8 9 12 -0 2 3 4 6 8 9 13 -0 2 3 4 6 8 9 14 -0 2 3 4 6 8 9 15 -0 2 3 4 6 8 10 11 -0 2 3 4 6 8 10 12 -0 2 3 4 6 8 10 13 -0 2 3 4 6 8 10 14 -0 2 3 4 6 8 10 15 -0 2 3 4 6 8 11 12 -0 2 3 4 6 8 11 13 -0 2 3 4 6 8 11 14 -0 2 3 4 6 8 11 15 -0 2 3 4 6 8 12 13 -0 2 3 4 6 8 12 14 -0 2 3 4 6 8 12 15 -0 2 3 4 6 8 13 14 -0 2 3 4 6 8 13 15 -0 2 3 4 6 8 14 15 -0 2 3 4 6 9 10 11 -0 2 3 4 6 9 10 12 -0 2 3 4 6 9 10 13 -0 2 3 4 6 9 10 14 -0 2 3 4 6 9 10 15 -0 2 3 4 6 9 11 12 -0 2 3 4 6 9 11 13 -0 2 3 4 6 9 11 14 -0 2 3 4 6 9 11 15 -0 2 3 4 6 9 12 13 -0 2 3 4 6 9 12 14 -0 2 3 4 6 9 12 15 -0 2 3 4 6 9 13 14 -0 2 3 4 6 9 13 15 -0 2 3 4 6 9 14 15 -0 2 3 4 6 10 11 12 -0 2 3 4 6 10 11 13 -0 2 3 4 6 10 11 14 -0 2 3 4 6 10 11 15 -0 2 3 4 6 10 12 13 -0 2 3 4 6 10 12 14 -0 2 3 4 6 10 12 15 -0 2 3 4 6 10 13 14 -0 2 3 4 6 10 13 15 -0 2 3 4 6 10 14 15 -0 2 3 4 6 11 12 13 -0 2 3 4 6 11 12 14 -0 2 3 4 6 11 12 15 -0 2 3 4 6 11 13 14 -0 2 3 4 6 11 13 15 -0 2 3 4 6 11 14 15 -0 2 3 4 6 12 13 14 -0 2 3 4 6 12 13 15 -0 2 3 4 6 12 14 15 -0 2 3 4 6 13 14 15 -0 2 3 4 7 8 9 10 -0 2 3 4 7 8 9 11 -0 2 3 4 7 8 9 12 -0 2 3 4 7 8 9 13 -0 2 3 4 7 8 9 14 -0 2 3 4 7 8 9 15 -0 2 3 4 7 8 10 11 -0 2 3 4 7 8 10 12 -0 2 3 4 7 8 10 13 -0 2 3 4 7 8 10 14 -0 2 3 4 7 8 10 15 -0 2 3 4 7 8 11 12 -0 2 3 4 7 8 11 13 -0 2 3 4 7 8 11 14 -0 2 3 4 7 8 11 15 -0 2 3 4 7 8 12 13 -0 2 3 4 7 8 12 14 -0 2 3 4 7 8 12 15 -0 2 3 4 7 8 13 14 -0 2 3 4 7 8 13 15 -0 2 3 4 7 8 14 15 -0 2 3 4 7 9 10 11 -0 2 3 4 7 9 10 12 -0 2 3 4 7 9 10 13 -0 2 3 4 7 9 10 14 -0 2 3 4 7 9 10 15 -0 2 3 4 7 9 11 12 -0 2 3 4 7 9 11 13 -0 2 3 4 7 9 11 14 -0 2 3 4 7 9 11 15 -0 2 3 4 7 9 12 13 -0 2 3 4 7 9 12 14 -0 2 3 4 7 9 12 15 -0 2 3 4 7 9 13 14 -0 2 3 4 7 9 13 15 -0 2 3 4 7 9 14 15 -0 2 3 4 7 10 11 12 -0 2 3 4 7 10 11 13 -0 2 3 4 7 10 11 14 -0 2 3 4 7 10 11 15 -0 2 3 4 7 10 12 13 -0 2 3 4 7 10 12 14 -0 2 3 4 7 10 12 15 -0 2 3 4 7 10 13 14 -0 2 3 4 7 10 13 15 -0 2 3 4 7 10 14 15 -0 2 3 4 7 11 12 13 -0 2 3 4 7 11 12 14 -0 2 3 4 7 11 12 15 -0 2 3 4 7 11 13 14 -0 2 3 4 7 11 13 15 -0 2 3 4 7 11 14 15 -0 2 3 4 7 12 13 14 -0 2 3 4 7 12 13 15 -0 2 3 4 7 12 14 15 -0 2 3 4 7 13 14 15 -0 2 3 4 8 9 10 11 -0 2 3 4 8 9 10 12 -0 2 3 4 8 9 10 13 -0 2 3 4 8 9 10 14 -0 2 3 4 8 9 10 15 -0 2 3 4 8 9 11 12 -0 2 3 4 8 9 11 13 -0 2 3 4 8 9 11 14 -0 2 3 4 8 9 11 15 -0 2 3 4 8 9 12 13 -0 2 3 4 8 9 12 14 -0 2 3 4 8 9 12 15 -0 2 3 4 8 9 13 14 -0 2 3 4 8 9 13 15 -0 2 3 4 8 9 14 15 -0 2 3 4 8 10 11 12 -0 2 3 4 8 10 11 13 -0 2 3 4 8 10 11 14 -0 2 3 4 8 10 11 15 -0 2 3 4 8 10 12 13 -0 2 3 4 8 10 12 14 -0 2 3 4 8 10 12 15 -0 2 3 4 8 10 13 14 -0 2 3 4 8 10 13 15 -0 2 3 4 8 10 14 15 -0 2 3 4 8 11 12 13 -0 2 3 4 8 11 12 14 -0 2 3 4 8 11 12 15 -0 2 3 4 8 11 13 14 -0 2 3 4 8 11 13 15 -0 2 3 4 8 11 14 15 -0 2 3 4 8 12 13 14 -0 2 3 4 8 12 13 15 -0 2 3 4 8 12 14 15 -0 2 3 4 8 13 14 15 -0 2 3 4 9 10 11 12 -0 2 3 4 9 10 11 13 -0 2 3 4 9 10 11 14 -0 2 3 4 9 10 11 15 -0 2 3 4 9 10 12 13 -0 2 3 4 9 10 12 14 -0 2 3 4 9 10 12 15 -0 2 3 4 9 10 13 14 -0 2 3 4 9 10 13 15 -0 2 3 4 9 10 14 15 -0 2 3 4 9 11 12 13 -0 2 3 4 9 11 12 14 -0 2 3 4 9 11 12 15 -0 2 3 4 9 11 13 14 -0 2 3 4 9 11 13 15 -0 2 3 4 9 11 14 15 -0 2 3 4 9 12 13 14 -0 2 3 4 9 12 13 15 -0 2 3 4 9 12 14 15 -0 2 3 4 9 13 14 15 -0 2 3 4 10 11 12 13 -0 2 3 4 10 11 12 14 -0 2 3 4 10 11 12 15 -0 2 3 4 10 11 13 14 -0 2 3 4 10 11 13 15 -0 2 3 4 10 11 14 15 -0 2 3 4 10 12 13 14 -0 2 3 4 10 12 13 15 -0 2 3 4 10 12 14 15 -0 2 3 4 10 13 14 15 -0 2 3 4 11 12 13 14 -0 2 3 4 11 12 13 15 -0 2 3 4 11 12 14 15 -0 2 3 4 11 13 14 15 -0 2 3 4 12 13 14 15 -0 2 3 5 6 7 8 9 -0 2 3 5 6 7 8 10 -0 2 3 5 6 7 8 11 -0 2 3 5 6 7 8 12 -0 2 3 5 6 7 8 13 -0 2 3 5 6 7 8 14 -0 2 3 5 6 7 8 15 -0 2 3 5 6 7 9 10 -0 2 3 5 6 7 9 11 -0 2 3 5 6 7 9 12 -0 2 3 5 6 7 9 13 -0 2 3 5 6 7 9 14 -0 2 3 5 6 7 9 15 -0 2 3 5 6 7 10 11 -0 2 3 5 6 7 10 12 -0 2 3 5 6 7 10 13 -0 2 3 5 6 7 10 14 -0 2 3 5 6 7 10 15 -0 2 3 5 6 7 11 12 -0 2 3 5 6 7 11 13 -0 2 3 5 6 7 11 14 -0 2 3 5 6 7 11 15 -0 2 3 5 6 7 12 13 -0 2 3 5 6 7 12 14 -0 2 3 5 6 7 12 15 -0 2 3 5 6 7 13 14 -0 2 3 5 6 7 13 15 -0 2 3 5 6 7 14 15 -0 2 3 5 6 8 9 10 -0 2 3 5 6 8 9 11 -0 2 3 5 6 8 9 12 -0 2 3 5 6 8 9 13 -0 2 3 5 6 8 9 14 -0 2 3 5 6 8 9 15 -0 2 3 5 6 8 10 11 -0 2 3 5 6 8 10 12 -0 2 3 5 6 8 10 13 -0 2 3 5 6 8 10 14 -0 2 3 5 6 8 10 15 -0 2 3 5 6 8 11 12 -0 2 3 5 6 8 11 13 -0 2 3 5 6 8 11 14 -0 2 3 5 6 8 11 15 -0 2 3 5 6 8 12 13 -0 2 3 5 6 8 12 14 -0 2 3 5 6 8 12 15 -0 2 3 5 6 8 13 14 -0 2 3 5 6 8 13 15 -0 2 3 5 6 8 14 15 -0 2 3 5 6 9 10 11 -0 2 3 5 6 9 10 12 -0 2 3 5 6 9 10 13 -0 2 3 5 6 9 10 14 -0 2 3 5 6 9 10 15 -0 2 3 5 6 9 11 12 -0 2 3 5 6 9 11 13 -0 2 3 5 6 9 11 14 -0 2 3 5 6 9 11 15 -0 2 3 5 6 9 12 13 -0 2 3 5 6 9 12 14 -0 2 3 5 6 9 12 15 -0 2 3 5 6 9 13 14 -0 2 3 5 6 9 13 15 -0 2 3 5 6 9 14 15 -0 2 3 5 6 10 11 12 -0 2 3 5 6 10 11 13 -0 2 3 5 6 10 11 14 -0 2 3 5 6 10 11 15 -0 2 3 5 6 10 12 13 -0 2 3 5 6 10 12 14 -0 2 3 5 6 10 12 15 -0 2 3 5 6 10 13 14 -0 2 3 5 6 10 13 15 -0 2 3 5 6 10 14 15 -0 2 3 5 6 11 12 13 -0 2 3 5 6 11 12 14 -0 2 3 5 6 11 12 15 -0 2 3 5 6 11 13 14 -0 2 3 5 6 11 13 15 -0 2 3 5 6 11 14 15 -0 2 3 5 6 12 13 14 -0 2 3 5 6 12 13 15 -0 2 3 5 6 12 14 15 -0 2 3 5 6 13 14 15 -0 2 3 5 7 8 9 10 -0 2 3 5 7 8 9 11 -0 2 3 5 7 8 9 12 -0 2 3 5 7 8 9 13 -0 2 3 5 7 8 9 14 -0 2 3 5 7 8 9 15 -0 2 3 5 7 8 10 11 -0 2 3 5 7 8 10 12 -0 2 3 5 7 8 10 13 -0 2 3 5 7 8 10 14 -0 2 3 5 7 8 10 15 -0 2 3 5 7 8 11 12 -0 2 3 5 7 8 11 13 -0 2 3 5 7 8 11 14 -0 2 3 5 7 8 11 15 -0 2 3 5 7 8 12 13 -0 2 3 5 7 8 12 14 -0 2 3 5 7 8 12 15 -0 2 3 5 7 8 13 14 -0 2 3 5 7 8 13 15 -0 2 3 5 7 8 14 15 -0 2 3 5 7 9 10 11 -0 2 3 5 7 9 10 12 -0 2 3 5 7 9 10 13 -0 2 3 5 7 9 10 14 -0 2 3 5 7 9 10 15 -0 2 3 5 7 9 11 12 -0 2 3 5 7 9 11 13 -0 2 3 5 7 9 11 14 -0 2 3 5 7 9 11 15 -0 2 3 5 7 9 12 13 -0 2 3 5 7 9 12 14 -0 2 3 5 7 9 12 15 -0 2 3 5 7 9 13 14 -0 2 3 5 7 9 13 15 -0 2 3 5 7 9 14 15 -0 2 3 5 7 10 11 12 -0 2 3 5 7 10 11 13 -0 2 3 5 7 10 11 14 -0 2 3 5 7 10 11 15 -0 2 3 5 7 10 12 13 -0 2 3 5 7 10 12 14 -0 2 3 5 7 10 12 15 -0 2 3 5 7 10 13 14 -0 2 3 5 7 10 13 15 -0 2 3 5 7 10 14 15 -0 2 3 5 7 11 12 13 -0 2 3 5 7 11 12 14 -0 2 3 5 7 11 12 15 -0 2 3 5 7 11 13 14 -0 2 3 5 7 11 13 15 -0 2 3 5 7 11 14 15 -0 2 3 5 7 12 13 14 -0 2 3 5 7 12 13 15 -0 2 3 5 7 12 14 15 -0 2 3 5 7 13 14 15 -0 2 3 5 8 9 10 11 -0 2 3 5 8 9 10 12 -0 2 3 5 8 9 10 13 -0 2 3 5 8 9 10 14 -0 2 3 5 8 9 10 15 -0 2 3 5 8 9 11 12 -0 2 3 5 8 9 11 13 -0 2 3 5 8 9 11 14 -0 2 3 5 8 9 11 15 -0 2 3 5 8 9 12 13 -0 2 3 5 8 9 12 14 -0 2 3 5 8 9 12 15 -0 2 3 5 8 9 13 14 -0 2 3 5 8 9 13 15 -0 2 3 5 8 9 14 15 -0 2 3 5 8 10 11 12 -0 2 3 5 8 10 11 13 -0 2 3 5 8 10 11 14 -0 2 3 5 8 10 11 15 -0 2 3 5 8 10 12 13 -0 2 3 5 8 10 12 14 -0 2 3 5 8 10 12 15 -0 2 3 5 8 10 13 14 -0 2 3 5 8 10 13 15 -0 2 3 5 8 10 14 15 -0 2 3 5 8 11 12 13 -0 2 3 5 8 11 12 14 -0 2 3 5 8 11 12 15 -0 2 3 5 8 11 13 14 -0 2 3 5 8 11 13 15 -0 2 3 5 8 11 14 15 -0 2 3 5 8 12 13 14 -0 2 3 5 8 12 13 15 -0 2 3 5 8 12 14 15 -0 2 3 5 8 13 14 15 -0 2 3 5 9 10 11 12 -0 2 3 5 9 10 11 13 -0 2 3 5 9 10 11 14 -0 2 3 5 9 10 11 15 -0 2 3 5 9 10 12 13 -0 2 3 5 9 10 12 14 -0 2 3 5 9 10 12 15 -0 2 3 5 9 10 13 14 -0 2 3 5 9 10 13 15 -0 2 3 5 9 10 14 15 -0 2 3 5 9 11 12 13 -0 2 3 5 9 11 12 14 -0 2 3 5 9 11 12 15 -0 2 3 5 9 11 13 14 -0 2 3 5 9 11 13 15 -0 2 3 5 9 11 14 15 -0 2 3 5 9 12 13 14 -0 2 3 5 9 12 13 15 -0 2 3 5 9 12 14 15 -0 2 3 5 9 13 14 15 -0 2 3 5 10 11 12 13 -0 2 3 5 10 11 12 14 -0 2 3 5 10 11 12 15 -0 2 3 5 10 11 13 14 -0 2 3 5 10 11 13 15 -0 2 3 5 10 11 14 15 -0 2 3 5 10 12 13 14 -0 2 3 5 10 12 13 15 -0 2 3 5 10 12 14 15 -0 2 3 5 10 13 14 15 -0 2 3 5 11 12 13 14 -0 2 3 5 11 12 13 15 -0 2 3 5 11 12 14 15 -0 2 3 5 11 13 14 15 -0 2 3 5 12 13 14 15 -0 2 3 6 7 8 9 10 -0 2 3 6 7 8 9 11 -0 2 3 6 7 8 9 12 -0 2 3 6 7 8 9 13 -0 2 3 6 7 8 9 14 -0 2 3 6 7 8 9 15 -0 2 3 6 7 8 10 11 -0 2 3 6 7 8 10 12 -0 2 3 6 7 8 10 13 -0 2 3 6 7 8 10 14 -0 2 3 6 7 8 10 15 -0 2 3 6 7 8 11 12 -0 2 3 6 7 8 11 13 -0 2 3 6 7 8 11 14 -0 2 3 6 7 8 11 15 -0 2 3 6 7 8 12 13 -0 2 3 6 7 8 12 14 -0 2 3 6 7 8 12 15 -0 2 3 6 7 8 13 14 -0 2 3 6 7 8 13 15 -0 2 3 6 7 8 14 15 -0 2 3 6 7 9 10 11 -0 2 3 6 7 9 10 12 -0 2 3 6 7 9 10 13 -0 2 3 6 7 9 10 14 -0 2 3 6 7 9 10 15 -0 2 3 6 7 9 11 12 -0 2 3 6 7 9 11 13 -0 2 3 6 7 9 11 14 -0 2 3 6 7 9 11 15 -0 2 3 6 7 9 12 13 -0 2 3 6 7 9 12 14 -0 2 3 6 7 9 12 15 -0 2 3 6 7 9 13 14 -0 2 3 6 7 9 13 15 -0 2 3 6 7 9 14 15 -0 2 3 6 7 10 11 12 -0 2 3 6 7 10 11 13 -0 2 3 6 7 10 11 14 -0 2 3 6 7 10 11 15 -0 2 3 6 7 10 12 13 -0 2 3 6 7 10 12 14 -0 2 3 6 7 10 12 15 -0 2 3 6 7 10 13 14 -0 2 3 6 7 10 13 15 -0 2 3 6 7 10 14 15 -0 2 3 6 7 11 12 13 -0 2 3 6 7 11 12 14 -0 2 3 6 7 11 12 15 -0 2 3 6 7 11 13 14 -0 2 3 6 7 11 13 15 -0 2 3 6 7 11 14 15 -0 2 3 6 7 12 13 14 -0 2 3 6 7 12 13 15 -0 2 3 6 7 12 14 15 -0 2 3 6 7 13 14 15 -0 2 3 6 8 9 10 11 -0 2 3 6 8 9 10 12 -0 2 3 6 8 9 10 13 -0 2 3 6 8 9 10 14 -0 2 3 6 8 9 10 15 -0 2 3 6 8 9 11 12 -0 2 3 6 8 9 11 13 -0 2 3 6 8 9 11 14 -0 2 3 6 8 9 11 15 -0 2 3 6 8 9 12 13 -0 2 3 6 8 9 12 14 -0 2 3 6 8 9 12 15 -0 2 3 6 8 9 13 14 -0 2 3 6 8 9 13 15 -0 2 3 6 8 9 14 15 -0 2 3 6 8 10 11 12 -0 2 3 6 8 10 11 13 -0 2 3 6 8 10 11 14 -0 2 3 6 8 10 11 15 -0 2 3 6 8 10 12 13 -0 2 3 6 8 10 12 14 -0 2 3 6 8 10 12 15 -0 2 3 6 8 10 13 14 -0 2 3 6 8 10 13 15 -0 2 3 6 8 10 14 15 -0 2 3 6 8 11 12 13 -0 2 3 6 8 11 12 14 -0 2 3 6 8 11 12 15 -0 2 3 6 8 11 13 14 -0 2 3 6 8 11 13 15 -0 2 3 6 8 11 14 15 -0 2 3 6 8 12 13 14 -0 2 3 6 8 12 13 15 -0 2 3 6 8 12 14 15 -0 2 3 6 8 13 14 15 -0 2 3 6 9 10 11 12 -0 2 3 6 9 10 11 13 -0 2 3 6 9 10 11 14 -0 2 3 6 9 10 11 15 -0 2 3 6 9 10 12 13 -0 2 3 6 9 10 12 14 -0 2 3 6 9 10 12 15 -0 2 3 6 9 10 13 14 -0 2 3 6 9 10 13 15 -0 2 3 6 9 10 14 15 -0 2 3 6 9 11 12 13 -0 2 3 6 9 11 12 14 -0 2 3 6 9 11 12 15 -0 2 3 6 9 11 13 14 -0 2 3 6 9 11 13 15 -0 2 3 6 9 11 14 15 -0 2 3 6 9 12 13 14 -0 2 3 6 9 12 13 15 -0 2 3 6 9 12 14 15 -0 2 3 6 9 13 14 15 -0 2 3 6 10 11 12 13 -0 2 3 6 10 11 12 14 -0 2 3 6 10 11 12 15 -0 2 3 6 10 11 13 14 -0 2 3 6 10 11 13 15 -0 2 3 6 10 11 14 15 -0 2 3 6 10 12 13 14 -0 2 3 6 10 12 13 15 -0 2 3 6 10 12 14 15 -0 2 3 6 10 13 14 15 -0 2 3 6 11 12 13 14 -0 2 3 6 11 12 13 15 -0 2 3 6 11 12 14 15 -0 2 3 6 11 13 14 15 -0 2 3 6 12 13 14 15 -0 2 3 7 8 9 10 11 -0 2 3 7 8 9 10 12 -0 2 3 7 8 9 10 13 -0 2 3 7 8 9 10 14 -0 2 3 7 8 9 10 15 -0 2 3 7 8 9 11 12 -0 2 3 7 8 9 11 13 -0 2 3 7 8 9 11 14 -0 2 3 7 8 9 11 15 -0 2 3 7 8 9 12 13 -0 2 3 7 8 9 12 14 -0 2 3 7 8 9 12 15 -0 2 3 7 8 9 13 14 -0 2 3 7 8 9 13 15 -0 2 3 7 8 9 14 15 -0 2 3 7 8 10 11 12 -0 2 3 7 8 10 11 13 -0 2 3 7 8 10 11 14 -0 2 3 7 8 10 11 15 -0 2 3 7 8 10 12 13 -0 2 3 7 8 10 12 14 -0 2 3 7 8 10 12 15 -0 2 3 7 8 10 13 14 -0 2 3 7 8 10 13 15 -0 2 3 7 8 10 14 15 -0 2 3 7 8 11 12 13 -0 2 3 7 8 11 12 14 -0 2 3 7 8 11 12 15 -0 2 3 7 8 11 13 14 -0 2 3 7 8 11 13 15 -0 2 3 7 8 11 14 15 -0 2 3 7 8 12 13 14 -0 2 3 7 8 12 13 15 -0 2 3 7 8 12 14 15 -0 2 3 7 8 13 14 15 -0 2 3 7 9 10 11 12 -0 2 3 7 9 10 11 13 -0 2 3 7 9 10 11 14 -0 2 3 7 9 10 11 15 -0 2 3 7 9 10 12 13 -0 2 3 7 9 10 12 14 -0 2 3 7 9 10 12 15 -0 2 3 7 9 10 13 14 -0 2 3 7 9 10 13 15 -0 2 3 7 9 10 14 15 -0 2 3 7 9 11 12 13 -0 2 3 7 9 11 12 14 -0 2 3 7 9 11 12 15 -0 2 3 7 9 11 13 14 -0 2 3 7 9 11 13 15 -0 2 3 7 9 11 14 15 -0 2 3 7 9 12 13 14 -0 2 3 7 9 12 13 15 -0 2 3 7 9 12 14 15 -0 2 3 7 9 13 14 15 -0 2 3 7 10 11 12 13 -0 2 3 7 10 11 12 14 -0 2 3 7 10 11 12 15 -0 2 3 7 10 11 13 14 -0 2 3 7 10 11 13 15 -0 2 3 7 10 11 14 15 -0 2 3 7 10 12 13 14 -0 2 3 7 10 12 13 15 -0 2 3 7 10 12 14 15 -0 2 3 7 10 13 14 15 -0 2 3 7 11 12 13 14 -0 2 3 7 11 12 13 15 -0 2 3 7 11 12 14 15 -0 2 3 7 11 13 14 15 -0 2 3 7 12 13 14 15 -0 2 3 8 9 10 11 12 -0 2 3 8 9 10 11 13 -0 2 3 8 9 10 11 14 -0 2 3 8 9 10 11 15 -0 2 3 8 9 10 12 13 -0 2 3 8 9 10 12 14 -0 2 3 8 9 10 12 15 -0 2 3 8 9 10 13 14 -0 2 3 8 9 10 13 15 -0 2 3 8 9 10 14 15 -0 2 3 8 9 11 12 13 -0 2 3 8 9 11 12 14 -0 2 3 8 9 11 12 15 -0 2 3 8 9 11 13 14 -0 2 3 8 9 11 13 15 -0 2 3 8 9 11 14 15 -0 2 3 8 9 12 13 14 -0 2 3 8 9 12 13 15 -0 2 3 8 9 12 14 15 -0 2 3 8 9 13 14 15 -0 2 3 8 10 11 12 13 -0 2 3 8 10 11 12 14 -0 2 3 8 10 11 12 15 -0 2 3 8 10 11 13 14 -0 2 3 8 10 11 13 15 -0 2 3 8 10 11 14 15 -0 2 3 8 10 12 13 14 -0 2 3 8 10 12 13 15 -0 2 3 8 10 12 14 15 -0 2 3 8 10 13 14 15 -0 2 3 8 11 12 13 14 -0 2 3 8 11 12 13 15 -0 2 3 8 11 12 14 15 -0 2 3 8 11 13 14 15 -0 2 3 8 12 13 14 15 -0 2 3 9 10 11 12 13 -0 2 3 9 10 11 12 14 -0 2 3 9 10 11 12 15 -0 2 3 9 10 11 13 14 -0 2 3 9 10 11 13 15 -0 2 3 9 10 11 14 15 -0 2 3 9 10 12 13 14 -0 2 3 9 10 12 13 15 -0 2 3 9 10 12 14 15 -0 2 3 9 10 13 14 15 -0 2 3 9 11 12 13 14 -0 2 3 9 11 12 13 15 -0 2 3 9 11 12 14 15 -0 2 3 9 11 13 14 15 -0 2 3 9 12 13 14 15 -0 2 3 10 11 12 13 14 -0 2 3 10 11 12 13 15 -0 2 3 10 11 12 14 15 -0 2 3 10 11 13 14 15 -0 2 3 10 12 13 14 15 -0 2 3 11 12 13 14 15 -0 2 4 5 6 7 8 9 -0 2 4 5 6 7 8 10 -0 2 4 5 6 7 8 11 -0 2 4 5 6 7 8 12 -0 2 4 5 6 7 8 13 -0 2 4 5 6 7 8 14 -0 2 4 5 6 7 8 15 -0 2 4 5 6 7 9 10 -0 2 4 5 6 7 9 11 -0 2 4 5 6 7 9 12 -0 2 4 5 6 7 9 13 -0 2 4 5 6 7 9 14 -0 2 4 5 6 7 9 15 -0 2 4 5 6 7 10 11 -0 2 4 5 6 7 10 12 -0 2 4 5 6 7 10 13 -0 2 4 5 6 7 10 14 -0 2 4 5 6 7 10 15 -0 2 4 5 6 7 11 12 -0 2 4 5 6 7 11 13 -0 2 4 5 6 7 11 14 -0 2 4 5 6 7 11 15 -0 2 4 5 6 7 12 13 -0 2 4 5 6 7 12 14 -0 2 4 5 6 7 12 15 -0 2 4 5 6 7 13 14 -0 2 4 5 6 7 13 15 -0 2 4 5 6 7 14 15 -0 2 4 5 6 8 9 10 -0 2 4 5 6 8 9 11 -0 2 4 5 6 8 9 12 -0 2 4 5 6 8 9 13 -0 2 4 5 6 8 9 14 -0 2 4 5 6 8 9 15 -0 2 4 5 6 8 10 11 -0 2 4 5 6 8 10 12 -0 2 4 5 6 8 10 13 -0 2 4 5 6 8 10 14 -0 2 4 5 6 8 10 15 -0 2 4 5 6 8 11 12 -0 2 4 5 6 8 11 13 -0 2 4 5 6 8 11 14 -0 2 4 5 6 8 11 15 -0 2 4 5 6 8 12 13 -0 2 4 5 6 8 12 14 -0 2 4 5 6 8 12 15 -0 2 4 5 6 8 13 14 -0 2 4 5 6 8 13 15 -0 2 4 5 6 8 14 15 -0 2 4 5 6 9 10 11 -0 2 4 5 6 9 10 12 -0 2 4 5 6 9 10 13 -0 2 4 5 6 9 10 14 -0 2 4 5 6 9 10 15 -0 2 4 5 6 9 11 12 -0 2 4 5 6 9 11 13 -0 2 4 5 6 9 11 14 -0 2 4 5 6 9 11 15 -0 2 4 5 6 9 12 13 -0 2 4 5 6 9 12 14 -0 2 4 5 6 9 12 15 -0 2 4 5 6 9 13 14 -0 2 4 5 6 9 13 15 -0 2 4 5 6 9 14 15 -0 2 4 5 6 10 11 12 -0 2 4 5 6 10 11 13 -0 2 4 5 6 10 11 14 -0 2 4 5 6 10 11 15 -0 2 4 5 6 10 12 13 -0 2 4 5 6 10 12 14 -0 2 4 5 6 10 12 15 -0 2 4 5 6 10 13 14 -0 2 4 5 6 10 13 15 -0 2 4 5 6 10 14 15 -0 2 4 5 6 11 12 13 -0 2 4 5 6 11 12 14 -0 2 4 5 6 11 12 15 -0 2 4 5 6 11 13 14 -0 2 4 5 6 11 13 15 -0 2 4 5 6 11 14 15 -0 2 4 5 6 12 13 14 -0 2 4 5 6 12 13 15 -0 2 4 5 6 12 14 15 -0 2 4 5 6 13 14 15 -0 2 4 5 7 8 9 10 -0 2 4 5 7 8 9 11 -0 2 4 5 7 8 9 12 -0 2 4 5 7 8 9 13 -0 2 4 5 7 8 9 14 -0 2 4 5 7 8 9 15 -0 2 4 5 7 8 10 11 -0 2 4 5 7 8 10 12 -0 2 4 5 7 8 10 13 -0 2 4 5 7 8 10 14 -0 2 4 5 7 8 10 15 -0 2 4 5 7 8 11 12 -0 2 4 5 7 8 11 13 -0 2 4 5 7 8 11 14 -0 2 4 5 7 8 11 15 -0 2 4 5 7 8 12 13 -0 2 4 5 7 8 12 14 -0 2 4 5 7 8 12 15 -0 2 4 5 7 8 13 14 -0 2 4 5 7 8 13 15 -0 2 4 5 7 8 14 15 -0 2 4 5 7 9 10 11 -0 2 4 5 7 9 10 12 -0 2 4 5 7 9 10 13 -0 2 4 5 7 9 10 14 -0 2 4 5 7 9 10 15 -0 2 4 5 7 9 11 12 -0 2 4 5 7 9 11 13 -0 2 4 5 7 9 11 14 -0 2 4 5 7 9 11 15 -0 2 4 5 7 9 12 13 -0 2 4 5 7 9 12 14 -0 2 4 5 7 9 12 15 -0 2 4 5 7 9 13 14 -0 2 4 5 7 9 13 15 -0 2 4 5 7 9 14 15 -0 2 4 5 7 10 11 12 -0 2 4 5 7 10 11 13 -0 2 4 5 7 10 11 14 -0 2 4 5 7 10 11 15 -0 2 4 5 7 10 12 13 -0 2 4 5 7 10 12 14 -0 2 4 5 7 10 12 15 -0 2 4 5 7 10 13 14 -0 2 4 5 7 10 13 15 -0 2 4 5 7 10 14 15 -0 2 4 5 7 11 12 13 -0 2 4 5 7 11 12 14 -0 2 4 5 7 11 12 15 -0 2 4 5 7 11 13 14 -0 2 4 5 7 11 13 15 -0 2 4 5 7 11 14 15 -0 2 4 5 7 12 13 14 -0 2 4 5 7 12 13 15 -0 2 4 5 7 12 14 15 -0 2 4 5 7 13 14 15 -0 2 4 5 8 9 10 11 -0 2 4 5 8 9 10 12 -0 2 4 5 8 9 10 13 -0 2 4 5 8 9 10 14 -0 2 4 5 8 9 10 15 -0 2 4 5 8 9 11 12 -0 2 4 5 8 9 11 13 -0 2 4 5 8 9 11 14 -0 2 4 5 8 9 11 15 -0 2 4 5 8 9 12 13 -0 2 4 5 8 9 12 14 -0 2 4 5 8 9 12 15 -0 2 4 5 8 9 13 14 -0 2 4 5 8 9 13 15 -0 2 4 5 8 9 14 15 -0 2 4 5 8 10 11 12 -0 2 4 5 8 10 11 13 -0 2 4 5 8 10 11 14 -0 2 4 5 8 10 11 15 -0 2 4 5 8 10 12 13 -0 2 4 5 8 10 12 14 -0 2 4 5 8 10 12 15 -0 2 4 5 8 10 13 14 -0 2 4 5 8 10 13 15 -0 2 4 5 8 10 14 15 -0 2 4 5 8 11 12 13 -0 2 4 5 8 11 12 14 -0 2 4 5 8 11 12 15 -0 2 4 5 8 11 13 14 -0 2 4 5 8 11 13 15 -0 2 4 5 8 11 14 15 -0 2 4 5 8 12 13 14 -0 2 4 5 8 12 13 15 -0 2 4 5 8 12 14 15 -0 2 4 5 8 13 14 15 -0 2 4 5 9 10 11 12 -0 2 4 5 9 10 11 13 -0 2 4 5 9 10 11 14 -0 2 4 5 9 10 11 15 -0 2 4 5 9 10 12 13 -0 2 4 5 9 10 12 14 -0 2 4 5 9 10 12 15 -0 2 4 5 9 10 13 14 -0 2 4 5 9 10 13 15 -0 2 4 5 9 10 14 15 -0 2 4 5 9 11 12 13 -0 2 4 5 9 11 12 14 -0 2 4 5 9 11 12 15 -0 2 4 5 9 11 13 14 -0 2 4 5 9 11 13 15 -0 2 4 5 9 11 14 15 -0 2 4 5 9 12 13 14 -0 2 4 5 9 12 13 15 -0 2 4 5 9 12 14 15 -0 2 4 5 9 13 14 15 -0 2 4 5 10 11 12 13 -0 2 4 5 10 11 12 14 -0 2 4 5 10 11 12 15 -0 2 4 5 10 11 13 14 -0 2 4 5 10 11 13 15 -0 2 4 5 10 11 14 15 -0 2 4 5 10 12 13 14 -0 2 4 5 10 12 13 15 -0 2 4 5 10 12 14 15 -0 2 4 5 10 13 14 15 -0 2 4 5 11 12 13 14 -0 2 4 5 11 12 13 15 -0 2 4 5 11 12 14 15 -0 2 4 5 11 13 14 15 -0 2 4 5 12 13 14 15 -0 2 4 6 7 8 9 10 -0 2 4 6 7 8 9 11 -0 2 4 6 7 8 9 12 -0 2 4 6 7 8 9 13 -0 2 4 6 7 8 9 14 -0 2 4 6 7 8 9 15 -0 2 4 6 7 8 10 11 -0 2 4 6 7 8 10 12 -0 2 4 6 7 8 10 13 -0 2 4 6 7 8 10 14 -0 2 4 6 7 8 10 15 -0 2 4 6 7 8 11 12 -0 2 4 6 7 8 11 13 -0 2 4 6 7 8 11 14 -0 2 4 6 7 8 11 15 -0 2 4 6 7 8 12 13 -0 2 4 6 7 8 12 14 -0 2 4 6 7 8 12 15 -0 2 4 6 7 8 13 14 -0 2 4 6 7 8 13 15 -0 2 4 6 7 8 14 15 -0 2 4 6 7 9 10 11 -0 2 4 6 7 9 10 12 -0 2 4 6 7 9 10 13 -0 2 4 6 7 9 10 14 -0 2 4 6 7 9 10 15 -0 2 4 6 7 9 11 12 -0 2 4 6 7 9 11 13 -0 2 4 6 7 9 11 14 -0 2 4 6 7 9 11 15 -0 2 4 6 7 9 12 13 -0 2 4 6 7 9 12 14 -0 2 4 6 7 9 12 15 -0 2 4 6 7 9 13 14 -0 2 4 6 7 9 13 15 -0 2 4 6 7 9 14 15 -0 2 4 6 7 10 11 12 -0 2 4 6 7 10 11 13 -0 2 4 6 7 10 11 14 -0 2 4 6 7 10 11 15 -0 2 4 6 7 10 12 13 -0 2 4 6 7 10 12 14 -0 2 4 6 7 10 12 15 -0 2 4 6 7 10 13 14 -0 2 4 6 7 10 13 15 -0 2 4 6 7 10 14 15 -0 2 4 6 7 11 12 13 -0 2 4 6 7 11 12 14 -0 2 4 6 7 11 12 15 -0 2 4 6 7 11 13 14 -0 2 4 6 7 11 13 15 -0 2 4 6 7 11 14 15 -0 2 4 6 7 12 13 14 -0 2 4 6 7 12 13 15 -0 2 4 6 7 12 14 15 -0 2 4 6 7 13 14 15 -0 2 4 6 8 9 10 11 -0 2 4 6 8 9 10 12 -0 2 4 6 8 9 10 13 -0 2 4 6 8 9 10 14 -0 2 4 6 8 9 10 15 -0 2 4 6 8 9 11 12 -0 2 4 6 8 9 11 13 -0 2 4 6 8 9 11 14 -0 2 4 6 8 9 11 15 -0 2 4 6 8 9 12 13 -0 2 4 6 8 9 12 14 -0 2 4 6 8 9 12 15 -0 2 4 6 8 9 13 14 -0 2 4 6 8 9 13 15 -0 2 4 6 8 9 14 15 -0 2 4 6 8 10 11 12 -0 2 4 6 8 10 11 13 -0 2 4 6 8 10 11 14 -0 2 4 6 8 10 11 15 -0 2 4 6 8 10 12 13 -0 2 4 6 8 10 12 14 -0 2 4 6 8 10 12 15 -0 2 4 6 8 10 13 14 -0 2 4 6 8 10 13 15 -0 2 4 6 8 10 14 15 -0 2 4 6 8 11 12 13 -0 2 4 6 8 11 12 14 -0 2 4 6 8 11 12 15 -0 2 4 6 8 11 13 14 -0 2 4 6 8 11 13 15 -0 2 4 6 8 11 14 15 -0 2 4 6 8 12 13 14 -0 2 4 6 8 12 13 15 -0 2 4 6 8 12 14 15 -0 2 4 6 8 13 14 15 -0 2 4 6 9 10 11 12 -0 2 4 6 9 10 11 13 -0 2 4 6 9 10 11 14 -0 2 4 6 9 10 11 15 -0 2 4 6 9 10 12 13 -0 2 4 6 9 10 12 14 -0 2 4 6 9 10 12 15 -0 2 4 6 9 10 13 14 -0 2 4 6 9 10 13 15 -0 2 4 6 9 10 14 15 -0 2 4 6 9 11 12 13 -0 2 4 6 9 11 12 14 -0 2 4 6 9 11 12 15 -0 2 4 6 9 11 13 14 -0 2 4 6 9 11 13 15 -0 2 4 6 9 11 14 15 -0 2 4 6 9 12 13 14 -0 2 4 6 9 12 13 15 -0 2 4 6 9 12 14 15 -0 2 4 6 9 13 14 15 -0 2 4 6 10 11 12 13 -0 2 4 6 10 11 12 14 -0 2 4 6 10 11 12 15 -0 2 4 6 10 11 13 14 -0 2 4 6 10 11 13 15 -0 2 4 6 10 11 14 15 -0 2 4 6 10 12 13 14 -0 2 4 6 10 12 13 15 -0 2 4 6 10 12 14 15 -0 2 4 6 10 13 14 15 -0 2 4 6 11 12 13 14 -0 2 4 6 11 12 13 15 -0 2 4 6 11 12 14 15 -0 2 4 6 11 13 14 15 -0 2 4 6 12 13 14 15 -0 2 4 7 8 9 10 11 -0 2 4 7 8 9 10 12 -0 2 4 7 8 9 10 13 -0 2 4 7 8 9 10 14 -0 2 4 7 8 9 10 15 -0 2 4 7 8 9 11 12 -0 2 4 7 8 9 11 13 -0 2 4 7 8 9 11 14 -0 2 4 7 8 9 11 15 -0 2 4 7 8 9 12 13 -0 2 4 7 8 9 12 14 -0 2 4 7 8 9 12 15 -0 2 4 7 8 9 13 14 -0 2 4 7 8 9 13 15 -0 2 4 7 8 9 14 15 -0 2 4 7 8 10 11 12 -0 2 4 7 8 10 11 13 -0 2 4 7 8 10 11 14 -0 2 4 7 8 10 11 15 -0 2 4 7 8 10 12 13 -0 2 4 7 8 10 12 14 -0 2 4 7 8 10 12 15 -0 2 4 7 8 10 13 14 -0 2 4 7 8 10 13 15 -0 2 4 7 8 10 14 15 -0 2 4 7 8 11 12 13 -0 2 4 7 8 11 12 14 -0 2 4 7 8 11 12 15 -0 2 4 7 8 11 13 14 -0 2 4 7 8 11 13 15 -0 2 4 7 8 11 14 15 -0 2 4 7 8 12 13 14 -0 2 4 7 8 12 13 15 -0 2 4 7 8 12 14 15 -0 2 4 7 8 13 14 15 -0 2 4 7 9 10 11 12 -0 2 4 7 9 10 11 13 -0 2 4 7 9 10 11 14 -0 2 4 7 9 10 11 15 -0 2 4 7 9 10 12 13 -0 2 4 7 9 10 12 14 -0 2 4 7 9 10 12 15 -0 2 4 7 9 10 13 14 -0 2 4 7 9 10 13 15 -0 2 4 7 9 10 14 15 -0 2 4 7 9 11 12 13 -0 2 4 7 9 11 12 14 -0 2 4 7 9 11 12 15 -0 2 4 7 9 11 13 14 -0 2 4 7 9 11 13 15 -0 2 4 7 9 11 14 15 -0 2 4 7 9 12 13 14 -0 2 4 7 9 12 13 15 -0 2 4 7 9 12 14 15 -0 2 4 7 9 13 14 15 -0 2 4 7 10 11 12 13 -0 2 4 7 10 11 12 14 -0 2 4 7 10 11 12 15 -0 2 4 7 10 11 13 14 -0 2 4 7 10 11 13 15 -0 2 4 7 10 11 14 15 -0 2 4 7 10 12 13 14 -0 2 4 7 10 12 13 15 -0 2 4 7 10 12 14 15 -0 2 4 7 10 13 14 15 -0 2 4 7 11 12 13 14 -0 2 4 7 11 12 13 15 -0 2 4 7 11 12 14 15 -0 2 4 7 11 13 14 15 -0 2 4 7 12 13 14 15 -0 2 4 8 9 10 11 12 -0 2 4 8 9 10 11 13 -0 2 4 8 9 10 11 14 -0 2 4 8 9 10 11 15 -0 2 4 8 9 10 12 13 -0 2 4 8 9 10 12 14 -0 2 4 8 9 10 12 15 -0 2 4 8 9 10 13 14 -0 2 4 8 9 10 13 15 -0 2 4 8 9 10 14 15 -0 2 4 8 9 11 12 13 -0 2 4 8 9 11 12 14 -0 2 4 8 9 11 12 15 -0 2 4 8 9 11 13 14 -0 2 4 8 9 11 13 15 -0 2 4 8 9 11 14 15 -0 2 4 8 9 12 13 14 -0 2 4 8 9 12 13 15 -0 2 4 8 9 12 14 15 -0 2 4 8 9 13 14 15 -0 2 4 8 10 11 12 13 -0 2 4 8 10 11 12 14 -0 2 4 8 10 11 12 15 -0 2 4 8 10 11 13 14 -0 2 4 8 10 11 13 15 -0 2 4 8 10 11 14 15 -0 2 4 8 10 12 13 14 -0 2 4 8 10 12 13 15 -0 2 4 8 10 12 14 15 -0 2 4 8 10 13 14 15 -0 2 4 8 11 12 13 14 -0 2 4 8 11 12 13 15 -0 2 4 8 11 12 14 15 -0 2 4 8 11 13 14 15 -0 2 4 8 12 13 14 15 -0 2 4 9 10 11 12 13 -0 2 4 9 10 11 12 14 -0 2 4 9 10 11 12 15 -0 2 4 9 10 11 13 14 -0 2 4 9 10 11 13 15 -0 2 4 9 10 11 14 15 -0 2 4 9 10 12 13 14 -0 2 4 9 10 12 13 15 -0 2 4 9 10 12 14 15 -0 2 4 9 10 13 14 15 -0 2 4 9 11 12 13 14 -0 2 4 9 11 12 13 15 -0 2 4 9 11 12 14 15 -0 2 4 9 11 13 14 15 -0 2 4 9 12 13 14 15 -0 2 4 10 11 12 13 14 -0 2 4 10 11 12 13 15 -0 2 4 10 11 12 14 15 -0 2 4 10 11 13 14 15 -0 2 4 10 12 13 14 15 -0 2 4 11 12 13 14 15 -0 2 5 6 7 8 9 10 -0 2 5 6 7 8 9 11 -0 2 5 6 7 8 9 12 -0 2 5 6 7 8 9 13 -0 2 5 6 7 8 9 14 -0 2 5 6 7 8 9 15 -0 2 5 6 7 8 10 11 -0 2 5 6 7 8 10 12 -0 2 5 6 7 8 10 13 -0 2 5 6 7 8 10 14 -0 2 5 6 7 8 10 15 -0 2 5 6 7 8 11 12 -0 2 5 6 7 8 11 13 -0 2 5 6 7 8 11 14 -0 2 5 6 7 8 11 15 -0 2 5 6 7 8 12 13 -0 2 5 6 7 8 12 14 -0 2 5 6 7 8 12 15 -0 2 5 6 7 8 13 14 -0 2 5 6 7 8 13 15 -0 2 5 6 7 8 14 15 -0 2 5 6 7 9 10 11 -0 2 5 6 7 9 10 12 -0 2 5 6 7 9 10 13 -0 2 5 6 7 9 10 14 -0 2 5 6 7 9 10 15 -0 2 5 6 7 9 11 12 -0 2 5 6 7 9 11 13 -0 2 5 6 7 9 11 14 -0 2 5 6 7 9 11 15 -0 2 5 6 7 9 12 13 -0 2 5 6 7 9 12 14 -0 2 5 6 7 9 12 15 -0 2 5 6 7 9 13 14 -0 2 5 6 7 9 13 15 -0 2 5 6 7 9 14 15 -0 2 5 6 7 10 11 12 -0 2 5 6 7 10 11 13 -0 2 5 6 7 10 11 14 -0 2 5 6 7 10 11 15 -0 2 5 6 7 10 12 13 -0 2 5 6 7 10 12 14 -0 2 5 6 7 10 12 15 -0 2 5 6 7 10 13 14 -0 2 5 6 7 10 13 15 -0 2 5 6 7 10 14 15 -0 2 5 6 7 11 12 13 -0 2 5 6 7 11 12 14 -0 2 5 6 7 11 12 15 -0 2 5 6 7 11 13 14 -0 2 5 6 7 11 13 15 -0 2 5 6 7 11 14 15 -0 2 5 6 7 12 13 14 -0 2 5 6 7 12 13 15 -0 2 5 6 7 12 14 15 -0 2 5 6 7 13 14 15 -0 2 5 6 8 9 10 11 -0 2 5 6 8 9 10 12 -0 2 5 6 8 9 10 13 -0 2 5 6 8 9 10 14 -0 2 5 6 8 9 10 15 -0 2 5 6 8 9 11 12 -0 2 5 6 8 9 11 13 -0 2 5 6 8 9 11 14 -0 2 5 6 8 9 11 15 -0 2 5 6 8 9 12 13 -0 2 5 6 8 9 12 14 -0 2 5 6 8 9 12 15 -0 2 5 6 8 9 13 14 -0 2 5 6 8 9 13 15 -0 2 5 6 8 9 14 15 -0 2 5 6 8 10 11 12 -0 2 5 6 8 10 11 13 -0 2 5 6 8 10 11 14 -0 2 5 6 8 10 11 15 -0 2 5 6 8 10 12 13 -0 2 5 6 8 10 12 14 -0 2 5 6 8 10 12 15 -0 2 5 6 8 10 13 14 -0 2 5 6 8 10 13 15 -0 2 5 6 8 10 14 15 -0 2 5 6 8 11 12 13 -0 2 5 6 8 11 12 14 -0 2 5 6 8 11 12 15 -0 2 5 6 8 11 13 14 -0 2 5 6 8 11 13 15 -0 2 5 6 8 11 14 15 -0 2 5 6 8 12 13 14 -0 2 5 6 8 12 13 15 -0 2 5 6 8 12 14 15 -0 2 5 6 8 13 14 15 -0 2 5 6 9 10 11 12 -0 2 5 6 9 10 11 13 -0 2 5 6 9 10 11 14 -0 2 5 6 9 10 11 15 -0 2 5 6 9 10 12 13 -0 2 5 6 9 10 12 14 -0 2 5 6 9 10 12 15 -0 2 5 6 9 10 13 14 -0 2 5 6 9 10 13 15 -0 2 5 6 9 10 14 15 -0 2 5 6 9 11 12 13 -0 2 5 6 9 11 12 14 -0 2 5 6 9 11 12 15 -0 2 5 6 9 11 13 14 -0 2 5 6 9 11 13 15 -0 2 5 6 9 11 14 15 -0 2 5 6 9 12 13 14 -0 2 5 6 9 12 13 15 -0 2 5 6 9 12 14 15 -0 2 5 6 9 13 14 15 -0 2 5 6 10 11 12 13 -0 2 5 6 10 11 12 14 -0 2 5 6 10 11 12 15 -0 2 5 6 10 11 13 14 -0 2 5 6 10 11 13 15 -0 2 5 6 10 11 14 15 -0 2 5 6 10 12 13 14 -0 2 5 6 10 12 13 15 -0 2 5 6 10 12 14 15 -0 2 5 6 10 13 14 15 -0 2 5 6 11 12 13 14 -0 2 5 6 11 12 13 15 -0 2 5 6 11 12 14 15 -0 2 5 6 11 13 14 15 -0 2 5 6 12 13 14 15 -0 2 5 7 8 9 10 11 -0 2 5 7 8 9 10 12 -0 2 5 7 8 9 10 13 -0 2 5 7 8 9 10 14 -0 2 5 7 8 9 10 15 -0 2 5 7 8 9 11 12 -0 2 5 7 8 9 11 13 -0 2 5 7 8 9 11 14 -0 2 5 7 8 9 11 15 -0 2 5 7 8 9 12 13 -0 2 5 7 8 9 12 14 -0 2 5 7 8 9 12 15 -0 2 5 7 8 9 13 14 -0 2 5 7 8 9 13 15 -0 2 5 7 8 9 14 15 -0 2 5 7 8 10 11 12 -0 2 5 7 8 10 11 13 -0 2 5 7 8 10 11 14 -0 2 5 7 8 10 11 15 -0 2 5 7 8 10 12 13 -0 2 5 7 8 10 12 14 -0 2 5 7 8 10 12 15 -0 2 5 7 8 10 13 14 -0 2 5 7 8 10 13 15 -0 2 5 7 8 10 14 15 -0 2 5 7 8 11 12 13 -0 2 5 7 8 11 12 14 -0 2 5 7 8 11 12 15 -0 2 5 7 8 11 13 14 -0 2 5 7 8 11 13 15 -0 2 5 7 8 11 14 15 -0 2 5 7 8 12 13 14 -0 2 5 7 8 12 13 15 -0 2 5 7 8 12 14 15 -0 2 5 7 8 13 14 15 -0 2 5 7 9 10 11 12 -0 2 5 7 9 10 11 13 -0 2 5 7 9 10 11 14 -0 2 5 7 9 10 11 15 -0 2 5 7 9 10 12 13 -0 2 5 7 9 10 12 14 -0 2 5 7 9 10 12 15 -0 2 5 7 9 10 13 14 -0 2 5 7 9 10 13 15 -0 2 5 7 9 10 14 15 -0 2 5 7 9 11 12 13 -0 2 5 7 9 11 12 14 -0 2 5 7 9 11 12 15 -0 2 5 7 9 11 13 14 -0 2 5 7 9 11 13 15 -0 2 5 7 9 11 14 15 -0 2 5 7 9 12 13 14 -0 2 5 7 9 12 13 15 -0 2 5 7 9 12 14 15 -0 2 5 7 9 13 14 15 -0 2 5 7 10 11 12 13 -0 2 5 7 10 11 12 14 -0 2 5 7 10 11 12 15 -0 2 5 7 10 11 13 14 -0 2 5 7 10 11 13 15 -0 2 5 7 10 11 14 15 -0 2 5 7 10 12 13 14 -0 2 5 7 10 12 13 15 -0 2 5 7 10 12 14 15 -0 2 5 7 10 13 14 15 -0 2 5 7 11 12 13 14 -0 2 5 7 11 12 13 15 -0 2 5 7 11 12 14 15 -0 2 5 7 11 13 14 15 -0 2 5 7 12 13 14 15 -0 2 5 8 9 10 11 12 -0 2 5 8 9 10 11 13 -0 2 5 8 9 10 11 14 -0 2 5 8 9 10 11 15 -0 2 5 8 9 10 12 13 -0 2 5 8 9 10 12 14 -0 2 5 8 9 10 12 15 -0 2 5 8 9 10 13 14 -0 2 5 8 9 10 13 15 -0 2 5 8 9 10 14 15 -0 2 5 8 9 11 12 13 -0 2 5 8 9 11 12 14 -0 2 5 8 9 11 12 15 -0 2 5 8 9 11 13 14 -0 2 5 8 9 11 13 15 -0 2 5 8 9 11 14 15 -0 2 5 8 9 12 13 14 -0 2 5 8 9 12 13 15 -0 2 5 8 9 12 14 15 -0 2 5 8 9 13 14 15 -0 2 5 8 10 11 12 13 -0 2 5 8 10 11 12 14 -0 2 5 8 10 11 12 15 -0 2 5 8 10 11 13 14 -0 2 5 8 10 11 13 15 -0 2 5 8 10 11 14 15 -0 2 5 8 10 12 13 14 -0 2 5 8 10 12 13 15 -0 2 5 8 10 12 14 15 -0 2 5 8 10 13 14 15 -0 2 5 8 11 12 13 14 -0 2 5 8 11 12 13 15 -0 2 5 8 11 12 14 15 -0 2 5 8 11 13 14 15 -0 2 5 8 12 13 14 15 -0 2 5 9 10 11 12 13 -0 2 5 9 10 11 12 14 -0 2 5 9 10 11 12 15 -0 2 5 9 10 11 13 14 -0 2 5 9 10 11 13 15 -0 2 5 9 10 11 14 15 -0 2 5 9 10 12 13 14 -0 2 5 9 10 12 13 15 -0 2 5 9 10 12 14 15 -0 2 5 9 10 13 14 15 -0 2 5 9 11 12 13 14 -0 2 5 9 11 12 13 15 -0 2 5 9 11 12 14 15 -0 2 5 9 11 13 14 15 -0 2 5 9 12 13 14 15 -0 2 5 10 11 12 13 14 -0 2 5 10 11 12 13 15 -0 2 5 10 11 12 14 15 -0 2 5 10 11 13 14 15 -0 2 5 10 12 13 14 15 -0 2 5 11 12 13 14 15 -0 2 6 7 8 9 10 11 -0 2 6 7 8 9 10 12 -0 2 6 7 8 9 10 13 -0 2 6 7 8 9 10 14 -0 2 6 7 8 9 10 15 -0 2 6 7 8 9 11 12 -0 2 6 7 8 9 11 13 -0 2 6 7 8 9 11 14 -0 2 6 7 8 9 11 15 -0 2 6 7 8 9 12 13 -0 2 6 7 8 9 12 14 -0 2 6 7 8 9 12 15 -0 2 6 7 8 9 13 14 -0 2 6 7 8 9 13 15 -0 2 6 7 8 9 14 15 -0 2 6 7 8 10 11 12 -0 2 6 7 8 10 11 13 -0 2 6 7 8 10 11 14 -0 2 6 7 8 10 11 15 -0 2 6 7 8 10 12 13 -0 2 6 7 8 10 12 14 -0 2 6 7 8 10 12 15 -0 2 6 7 8 10 13 14 -0 2 6 7 8 10 13 15 -0 2 6 7 8 10 14 15 -0 2 6 7 8 11 12 13 -0 2 6 7 8 11 12 14 -0 2 6 7 8 11 12 15 -0 2 6 7 8 11 13 14 -0 2 6 7 8 11 13 15 -0 2 6 7 8 11 14 15 -0 2 6 7 8 12 13 14 -0 2 6 7 8 12 13 15 -0 2 6 7 8 12 14 15 -0 2 6 7 8 13 14 15 -0 2 6 7 9 10 11 12 -0 2 6 7 9 10 11 13 -0 2 6 7 9 10 11 14 -0 2 6 7 9 10 11 15 -0 2 6 7 9 10 12 13 -0 2 6 7 9 10 12 14 -0 2 6 7 9 10 12 15 -0 2 6 7 9 10 13 14 -0 2 6 7 9 10 13 15 -0 2 6 7 9 10 14 15 -0 2 6 7 9 11 12 13 -0 2 6 7 9 11 12 14 -0 2 6 7 9 11 12 15 -0 2 6 7 9 11 13 14 -0 2 6 7 9 11 13 15 -0 2 6 7 9 11 14 15 -0 2 6 7 9 12 13 14 -0 2 6 7 9 12 13 15 -0 2 6 7 9 12 14 15 -0 2 6 7 9 13 14 15 -0 2 6 7 10 11 12 13 -0 2 6 7 10 11 12 14 -0 2 6 7 10 11 12 15 -0 2 6 7 10 11 13 14 -0 2 6 7 10 11 13 15 -0 2 6 7 10 11 14 15 -0 2 6 7 10 12 13 14 -0 2 6 7 10 12 13 15 -0 2 6 7 10 12 14 15 -0 2 6 7 10 13 14 15 -0 2 6 7 11 12 13 14 -0 2 6 7 11 12 13 15 -0 2 6 7 11 12 14 15 -0 2 6 7 11 13 14 15 -0 2 6 7 12 13 14 15 -0 2 6 8 9 10 11 12 -0 2 6 8 9 10 11 13 -0 2 6 8 9 10 11 14 -0 2 6 8 9 10 11 15 -0 2 6 8 9 10 12 13 -0 2 6 8 9 10 12 14 -0 2 6 8 9 10 12 15 -0 2 6 8 9 10 13 14 -0 2 6 8 9 10 13 15 -0 2 6 8 9 10 14 15 -0 2 6 8 9 11 12 13 -0 2 6 8 9 11 12 14 -0 2 6 8 9 11 12 15 -0 2 6 8 9 11 13 14 -0 2 6 8 9 11 13 15 -0 2 6 8 9 11 14 15 -0 2 6 8 9 12 13 14 -0 2 6 8 9 12 13 15 -0 2 6 8 9 12 14 15 -0 2 6 8 9 13 14 15 -0 2 6 8 10 11 12 13 -0 2 6 8 10 11 12 14 -0 2 6 8 10 11 12 15 -0 2 6 8 10 11 13 14 -0 2 6 8 10 11 13 15 -0 2 6 8 10 11 14 15 -0 2 6 8 10 12 13 14 -0 2 6 8 10 12 13 15 -0 2 6 8 10 12 14 15 -0 2 6 8 10 13 14 15 -0 2 6 8 11 12 13 14 -0 2 6 8 11 12 13 15 -0 2 6 8 11 12 14 15 -0 2 6 8 11 13 14 15 -0 2 6 8 12 13 14 15 -0 2 6 9 10 11 12 13 -0 2 6 9 10 11 12 14 -0 2 6 9 10 11 12 15 -0 2 6 9 10 11 13 14 -0 2 6 9 10 11 13 15 -0 2 6 9 10 11 14 15 -0 2 6 9 10 12 13 14 -0 2 6 9 10 12 13 15 -0 2 6 9 10 12 14 15 -0 2 6 9 10 13 14 15 -0 2 6 9 11 12 13 14 -0 2 6 9 11 12 13 15 -0 2 6 9 11 12 14 15 -0 2 6 9 11 13 14 15 -0 2 6 9 12 13 14 15 -0 2 6 10 11 12 13 14 -0 2 6 10 11 12 13 15 -0 2 6 10 11 12 14 15 -0 2 6 10 11 13 14 15 -0 2 6 10 12 13 14 15 -0 2 6 11 12 13 14 15 -0 2 7 8 9 10 11 12 -0 2 7 8 9 10 11 13 -0 2 7 8 9 10 11 14 -0 2 7 8 9 10 11 15 -0 2 7 8 9 10 12 13 -0 2 7 8 9 10 12 14 -0 2 7 8 9 10 12 15 -0 2 7 8 9 10 13 14 -0 2 7 8 9 10 13 15 -0 2 7 8 9 10 14 15 -0 2 7 8 9 11 12 13 -0 2 7 8 9 11 12 14 -0 2 7 8 9 11 12 15 -0 2 7 8 9 11 13 14 -0 2 7 8 9 11 13 15 -0 2 7 8 9 11 14 15 -0 2 7 8 9 12 13 14 -0 2 7 8 9 12 13 15 -0 2 7 8 9 12 14 15 -0 2 7 8 9 13 14 15 -0 2 7 8 10 11 12 13 -0 2 7 8 10 11 12 14 -0 2 7 8 10 11 12 15 -0 2 7 8 10 11 13 14 -0 2 7 8 10 11 13 15 -0 2 7 8 10 11 14 15 -0 2 7 8 10 12 13 14 -0 2 7 8 10 12 13 15 -0 2 7 8 10 12 14 15 -0 2 7 8 10 13 14 15 -0 2 7 8 11 12 13 14 -0 2 7 8 11 12 13 15 -0 2 7 8 11 12 14 15 -0 2 7 8 11 13 14 15 -0 2 7 8 12 13 14 15 -0 2 7 9 10 11 12 13 -0 2 7 9 10 11 12 14 -0 2 7 9 10 11 12 15 -0 2 7 9 10 11 13 14 -0 2 7 9 10 11 13 15 -0 2 7 9 10 11 14 15 -0 2 7 9 10 12 13 14 -0 2 7 9 10 12 13 15 -0 2 7 9 10 12 14 15 -0 2 7 9 10 13 14 15 -0 2 7 9 11 12 13 14 -0 2 7 9 11 12 13 15 -0 2 7 9 11 12 14 15 -0 2 7 9 11 13 14 15 -0 2 7 9 12 13 14 15 -0 2 7 10 11 12 13 14 -0 2 7 10 11 12 13 15 -0 2 7 10 11 12 14 15 -0 2 7 10 11 13 14 15 -0 2 7 10 12 13 14 15 -0 2 7 11 12 13 14 15 -0 2 8 9 10 11 12 13 -0 2 8 9 10 11 12 14 -0 2 8 9 10 11 12 15 -0 2 8 9 10 11 13 14 -0 2 8 9 10 11 13 15 -0 2 8 9 10 11 14 15 -0 2 8 9 10 12 13 14 -0 2 8 9 10 12 13 15 -0 2 8 9 10 12 14 15 -0 2 8 9 10 13 14 15 -0 2 8 9 11 12 13 14 -0 2 8 9 11 12 13 15 -0 2 8 9 11 12 14 15 -0 2 8 9 11 13 14 15 -0 2 8 9 12 13 14 15 -0 2 8 10 11 12 13 14 -0 2 8 10 11 12 13 15 -0 2 8 10 11 12 14 15 -0 2 8 10 11 13 14 15 -0 2 8 10 12 13 14 15 -0 2 8 11 12 13 14 15 -0 2 9 10 11 12 13 14 -0 2 9 10 11 12 13 15 -0 2 9 10 11 12 14 15 -0 2 9 10 11 13 14 15 -0 2 9 10 12 13 14 15 -0 2 9 11 12 13 14 15 -0 2 10 11 12 13 14 15 -0 3 4 5 6 7 8 9 -0 3 4 5 6 7 8 10 -0 3 4 5 6 7 8 11 -0 3 4 5 6 7 8 12 -0 3 4 5 6 7 8 13 -0 3 4 5 6 7 8 14 -0 3 4 5 6 7 8 15 -0 3 4 5 6 7 9 10 -0 3 4 5 6 7 9 11 -0 3 4 5 6 7 9 12 -0 3 4 5 6 7 9 13 -0 3 4 5 6 7 9 14 -0 3 4 5 6 7 9 15 -0 3 4 5 6 7 10 11 -0 3 4 5 6 7 10 12 -0 3 4 5 6 7 10 13 -0 3 4 5 6 7 10 14 -0 3 4 5 6 7 10 15 -0 3 4 5 6 7 11 12 -0 3 4 5 6 7 11 13 -0 3 4 5 6 7 11 14 -0 3 4 5 6 7 11 15 -0 3 4 5 6 7 12 13 -0 3 4 5 6 7 12 14 -0 3 4 5 6 7 12 15 -0 3 4 5 6 7 13 14 -0 3 4 5 6 7 13 15 -0 3 4 5 6 7 14 15 -0 3 4 5 6 8 9 10 -0 3 4 5 6 8 9 11 -0 3 4 5 6 8 9 12 -0 3 4 5 6 8 9 13 -0 3 4 5 6 8 9 14 -0 3 4 5 6 8 9 15 -0 3 4 5 6 8 10 11 -0 3 4 5 6 8 10 12 -0 3 4 5 6 8 10 13 -0 3 4 5 6 8 10 14 -0 3 4 5 6 8 10 15 -0 3 4 5 6 8 11 12 -0 3 4 5 6 8 11 13 -0 3 4 5 6 8 11 14 -0 3 4 5 6 8 11 15 -0 3 4 5 6 8 12 13 -0 3 4 5 6 8 12 14 -0 3 4 5 6 8 12 15 -0 3 4 5 6 8 13 14 -0 3 4 5 6 8 13 15 -0 3 4 5 6 8 14 15 -0 3 4 5 6 9 10 11 -0 3 4 5 6 9 10 12 -0 3 4 5 6 9 10 13 -0 3 4 5 6 9 10 14 -0 3 4 5 6 9 10 15 -0 3 4 5 6 9 11 12 -0 3 4 5 6 9 11 13 -0 3 4 5 6 9 11 14 -0 3 4 5 6 9 11 15 -0 3 4 5 6 9 12 13 -0 3 4 5 6 9 12 14 -0 3 4 5 6 9 12 15 -0 3 4 5 6 9 13 14 -0 3 4 5 6 9 13 15 -0 3 4 5 6 9 14 15 -0 3 4 5 6 10 11 12 -0 3 4 5 6 10 11 13 -0 3 4 5 6 10 11 14 -0 3 4 5 6 10 11 15 -0 3 4 5 6 10 12 13 -0 3 4 5 6 10 12 14 -0 3 4 5 6 10 12 15 -0 3 4 5 6 10 13 14 -0 3 4 5 6 10 13 15 -0 3 4 5 6 10 14 15 -0 3 4 5 6 11 12 13 -0 3 4 5 6 11 12 14 -0 3 4 5 6 11 12 15 -0 3 4 5 6 11 13 14 -0 3 4 5 6 11 13 15 -0 3 4 5 6 11 14 15 -0 3 4 5 6 12 13 14 -0 3 4 5 6 12 13 15 -0 3 4 5 6 12 14 15 -0 3 4 5 6 13 14 15 -0 3 4 5 7 8 9 10 -0 3 4 5 7 8 9 11 -0 3 4 5 7 8 9 12 -0 3 4 5 7 8 9 13 -0 3 4 5 7 8 9 14 -0 3 4 5 7 8 9 15 -0 3 4 5 7 8 10 11 -0 3 4 5 7 8 10 12 -0 3 4 5 7 8 10 13 -0 3 4 5 7 8 10 14 -0 3 4 5 7 8 10 15 -0 3 4 5 7 8 11 12 -0 3 4 5 7 8 11 13 -0 3 4 5 7 8 11 14 -0 3 4 5 7 8 11 15 -0 3 4 5 7 8 12 13 -0 3 4 5 7 8 12 14 -0 3 4 5 7 8 12 15 -0 3 4 5 7 8 13 14 -0 3 4 5 7 8 13 15 -0 3 4 5 7 8 14 15 -0 3 4 5 7 9 10 11 -0 3 4 5 7 9 10 12 -0 3 4 5 7 9 10 13 -0 3 4 5 7 9 10 14 -0 3 4 5 7 9 10 15 -0 3 4 5 7 9 11 12 -0 3 4 5 7 9 11 13 -0 3 4 5 7 9 11 14 -0 3 4 5 7 9 11 15 -0 3 4 5 7 9 12 13 -0 3 4 5 7 9 12 14 -0 3 4 5 7 9 12 15 -0 3 4 5 7 9 13 14 -0 3 4 5 7 9 13 15 -0 3 4 5 7 9 14 15 -0 3 4 5 7 10 11 12 -0 3 4 5 7 10 11 13 -0 3 4 5 7 10 11 14 -0 3 4 5 7 10 11 15 -0 3 4 5 7 10 12 13 -0 3 4 5 7 10 12 14 -0 3 4 5 7 10 12 15 -0 3 4 5 7 10 13 14 -0 3 4 5 7 10 13 15 -0 3 4 5 7 10 14 15 -0 3 4 5 7 11 12 13 -0 3 4 5 7 11 12 14 -0 3 4 5 7 11 12 15 -0 3 4 5 7 11 13 14 -0 3 4 5 7 11 13 15 -0 3 4 5 7 11 14 15 -0 3 4 5 7 12 13 14 -0 3 4 5 7 12 13 15 -0 3 4 5 7 12 14 15 -0 3 4 5 7 13 14 15 -0 3 4 5 8 9 10 11 -0 3 4 5 8 9 10 12 -0 3 4 5 8 9 10 13 -0 3 4 5 8 9 10 14 -0 3 4 5 8 9 10 15 -0 3 4 5 8 9 11 12 -0 3 4 5 8 9 11 13 -0 3 4 5 8 9 11 14 -0 3 4 5 8 9 11 15 -0 3 4 5 8 9 12 13 -0 3 4 5 8 9 12 14 -0 3 4 5 8 9 12 15 -0 3 4 5 8 9 13 14 -0 3 4 5 8 9 13 15 -0 3 4 5 8 9 14 15 -0 3 4 5 8 10 11 12 -0 3 4 5 8 10 11 13 -0 3 4 5 8 10 11 14 -0 3 4 5 8 10 11 15 -0 3 4 5 8 10 12 13 -0 3 4 5 8 10 12 14 -0 3 4 5 8 10 12 15 -0 3 4 5 8 10 13 14 -0 3 4 5 8 10 13 15 -0 3 4 5 8 10 14 15 -0 3 4 5 8 11 12 13 -0 3 4 5 8 11 12 14 -0 3 4 5 8 11 12 15 -0 3 4 5 8 11 13 14 -0 3 4 5 8 11 13 15 -0 3 4 5 8 11 14 15 -0 3 4 5 8 12 13 14 -0 3 4 5 8 12 13 15 -0 3 4 5 8 12 14 15 -0 3 4 5 8 13 14 15 -0 3 4 5 9 10 11 12 -0 3 4 5 9 10 11 13 -0 3 4 5 9 10 11 14 -0 3 4 5 9 10 11 15 -0 3 4 5 9 10 12 13 -0 3 4 5 9 10 12 14 -0 3 4 5 9 10 12 15 -0 3 4 5 9 10 13 14 -0 3 4 5 9 10 13 15 -0 3 4 5 9 10 14 15 -0 3 4 5 9 11 12 13 -0 3 4 5 9 11 12 14 -0 3 4 5 9 11 12 15 -0 3 4 5 9 11 13 14 -0 3 4 5 9 11 13 15 -0 3 4 5 9 11 14 15 -0 3 4 5 9 12 13 14 -0 3 4 5 9 12 13 15 -0 3 4 5 9 12 14 15 -0 3 4 5 9 13 14 15 -0 3 4 5 10 11 12 13 -0 3 4 5 10 11 12 14 -0 3 4 5 10 11 12 15 -0 3 4 5 10 11 13 14 -0 3 4 5 10 11 13 15 -0 3 4 5 10 11 14 15 -0 3 4 5 10 12 13 14 -0 3 4 5 10 12 13 15 -0 3 4 5 10 12 14 15 -0 3 4 5 10 13 14 15 -0 3 4 5 11 12 13 14 -0 3 4 5 11 12 13 15 -0 3 4 5 11 12 14 15 -0 3 4 5 11 13 14 15 -0 3 4 5 12 13 14 15 -0 3 4 6 7 8 9 10 -0 3 4 6 7 8 9 11 -0 3 4 6 7 8 9 12 -0 3 4 6 7 8 9 13 -0 3 4 6 7 8 9 14 -0 3 4 6 7 8 9 15 -0 3 4 6 7 8 10 11 -0 3 4 6 7 8 10 12 -0 3 4 6 7 8 10 13 -0 3 4 6 7 8 10 14 -0 3 4 6 7 8 10 15 -0 3 4 6 7 8 11 12 -0 3 4 6 7 8 11 13 -0 3 4 6 7 8 11 14 -0 3 4 6 7 8 11 15 -0 3 4 6 7 8 12 13 -0 3 4 6 7 8 12 14 -0 3 4 6 7 8 12 15 -0 3 4 6 7 8 13 14 -0 3 4 6 7 8 13 15 -0 3 4 6 7 8 14 15 -0 3 4 6 7 9 10 11 -0 3 4 6 7 9 10 12 -0 3 4 6 7 9 10 13 -0 3 4 6 7 9 10 14 -0 3 4 6 7 9 10 15 -0 3 4 6 7 9 11 12 -0 3 4 6 7 9 11 13 -0 3 4 6 7 9 11 14 -0 3 4 6 7 9 11 15 -0 3 4 6 7 9 12 13 -0 3 4 6 7 9 12 14 -0 3 4 6 7 9 12 15 -0 3 4 6 7 9 13 14 -0 3 4 6 7 9 13 15 -0 3 4 6 7 9 14 15 -0 3 4 6 7 10 11 12 -0 3 4 6 7 10 11 13 -0 3 4 6 7 10 11 14 -0 3 4 6 7 10 11 15 -0 3 4 6 7 10 12 13 -0 3 4 6 7 10 12 14 -0 3 4 6 7 10 12 15 -0 3 4 6 7 10 13 14 -0 3 4 6 7 10 13 15 -0 3 4 6 7 10 14 15 -0 3 4 6 7 11 12 13 -0 3 4 6 7 11 12 14 -0 3 4 6 7 11 12 15 -0 3 4 6 7 11 13 14 -0 3 4 6 7 11 13 15 -0 3 4 6 7 11 14 15 -0 3 4 6 7 12 13 14 -0 3 4 6 7 12 13 15 -0 3 4 6 7 12 14 15 -0 3 4 6 7 13 14 15 -0 3 4 6 8 9 10 11 -0 3 4 6 8 9 10 12 -0 3 4 6 8 9 10 13 -0 3 4 6 8 9 10 14 -0 3 4 6 8 9 10 15 -0 3 4 6 8 9 11 12 -0 3 4 6 8 9 11 13 -0 3 4 6 8 9 11 14 -0 3 4 6 8 9 11 15 -0 3 4 6 8 9 12 13 -0 3 4 6 8 9 12 14 -0 3 4 6 8 9 12 15 -0 3 4 6 8 9 13 14 -0 3 4 6 8 9 13 15 -0 3 4 6 8 9 14 15 -0 3 4 6 8 10 11 12 -0 3 4 6 8 10 11 13 -0 3 4 6 8 10 11 14 -0 3 4 6 8 10 11 15 -0 3 4 6 8 10 12 13 -0 3 4 6 8 10 12 14 -0 3 4 6 8 10 12 15 -0 3 4 6 8 10 13 14 -0 3 4 6 8 10 13 15 -0 3 4 6 8 10 14 15 -0 3 4 6 8 11 12 13 -0 3 4 6 8 11 12 14 -0 3 4 6 8 11 12 15 -0 3 4 6 8 11 13 14 -0 3 4 6 8 11 13 15 -0 3 4 6 8 11 14 15 -0 3 4 6 8 12 13 14 -0 3 4 6 8 12 13 15 -0 3 4 6 8 12 14 15 -0 3 4 6 8 13 14 15 -0 3 4 6 9 10 11 12 -0 3 4 6 9 10 11 13 -0 3 4 6 9 10 11 14 -0 3 4 6 9 10 11 15 -0 3 4 6 9 10 12 13 -0 3 4 6 9 10 12 14 -0 3 4 6 9 10 12 15 -0 3 4 6 9 10 13 14 -0 3 4 6 9 10 13 15 -0 3 4 6 9 10 14 15 -0 3 4 6 9 11 12 13 -0 3 4 6 9 11 12 14 -0 3 4 6 9 11 12 15 -0 3 4 6 9 11 13 14 -0 3 4 6 9 11 13 15 -0 3 4 6 9 11 14 15 -0 3 4 6 9 12 13 14 -0 3 4 6 9 12 13 15 -0 3 4 6 9 12 14 15 -0 3 4 6 9 13 14 15 -0 3 4 6 10 11 12 13 -0 3 4 6 10 11 12 14 -0 3 4 6 10 11 12 15 -0 3 4 6 10 11 13 14 -0 3 4 6 10 11 13 15 -0 3 4 6 10 11 14 15 -0 3 4 6 10 12 13 14 -0 3 4 6 10 12 13 15 -0 3 4 6 10 12 14 15 -0 3 4 6 10 13 14 15 -0 3 4 6 11 12 13 14 -0 3 4 6 11 12 13 15 -0 3 4 6 11 12 14 15 -0 3 4 6 11 13 14 15 -0 3 4 6 12 13 14 15 -0 3 4 7 8 9 10 11 -0 3 4 7 8 9 10 12 -0 3 4 7 8 9 10 13 -0 3 4 7 8 9 10 14 -0 3 4 7 8 9 10 15 -0 3 4 7 8 9 11 12 -0 3 4 7 8 9 11 13 -0 3 4 7 8 9 11 14 -0 3 4 7 8 9 11 15 -0 3 4 7 8 9 12 13 -0 3 4 7 8 9 12 14 -0 3 4 7 8 9 12 15 -0 3 4 7 8 9 13 14 -0 3 4 7 8 9 13 15 -0 3 4 7 8 9 14 15 -0 3 4 7 8 10 11 12 -0 3 4 7 8 10 11 13 -0 3 4 7 8 10 11 14 -0 3 4 7 8 10 11 15 -0 3 4 7 8 10 12 13 -0 3 4 7 8 10 12 14 -0 3 4 7 8 10 12 15 -0 3 4 7 8 10 13 14 -0 3 4 7 8 10 13 15 -0 3 4 7 8 10 14 15 -0 3 4 7 8 11 12 13 -0 3 4 7 8 11 12 14 -0 3 4 7 8 11 12 15 -0 3 4 7 8 11 13 14 -0 3 4 7 8 11 13 15 -0 3 4 7 8 11 14 15 -0 3 4 7 8 12 13 14 -0 3 4 7 8 12 13 15 -0 3 4 7 8 12 14 15 -0 3 4 7 8 13 14 15 -0 3 4 7 9 10 11 12 -0 3 4 7 9 10 11 13 -0 3 4 7 9 10 11 14 -0 3 4 7 9 10 11 15 -0 3 4 7 9 10 12 13 -0 3 4 7 9 10 12 14 -0 3 4 7 9 10 12 15 -0 3 4 7 9 10 13 14 -0 3 4 7 9 10 13 15 -0 3 4 7 9 10 14 15 -0 3 4 7 9 11 12 13 -0 3 4 7 9 11 12 14 -0 3 4 7 9 11 12 15 -0 3 4 7 9 11 13 14 -0 3 4 7 9 11 13 15 -0 3 4 7 9 11 14 15 -0 3 4 7 9 12 13 14 -0 3 4 7 9 12 13 15 -0 3 4 7 9 12 14 15 -0 3 4 7 9 13 14 15 -0 3 4 7 10 11 12 13 -0 3 4 7 10 11 12 14 -0 3 4 7 10 11 12 15 -0 3 4 7 10 11 13 14 -0 3 4 7 10 11 13 15 -0 3 4 7 10 11 14 15 -0 3 4 7 10 12 13 14 -0 3 4 7 10 12 13 15 -0 3 4 7 10 12 14 15 -0 3 4 7 10 13 14 15 -0 3 4 7 11 12 13 14 -0 3 4 7 11 12 13 15 -0 3 4 7 11 12 14 15 -0 3 4 7 11 13 14 15 -0 3 4 7 12 13 14 15 -0 3 4 8 9 10 11 12 -0 3 4 8 9 10 11 13 -0 3 4 8 9 10 11 14 -0 3 4 8 9 10 11 15 -0 3 4 8 9 10 12 13 -0 3 4 8 9 10 12 14 -0 3 4 8 9 10 12 15 -0 3 4 8 9 10 13 14 -0 3 4 8 9 10 13 15 -0 3 4 8 9 10 14 15 -0 3 4 8 9 11 12 13 -0 3 4 8 9 11 12 14 -0 3 4 8 9 11 12 15 -0 3 4 8 9 11 13 14 -0 3 4 8 9 11 13 15 -0 3 4 8 9 11 14 15 -0 3 4 8 9 12 13 14 -0 3 4 8 9 12 13 15 -0 3 4 8 9 12 14 15 -0 3 4 8 9 13 14 15 -0 3 4 8 10 11 12 13 -0 3 4 8 10 11 12 14 -0 3 4 8 10 11 12 15 -0 3 4 8 10 11 13 14 -0 3 4 8 10 11 13 15 -0 3 4 8 10 11 14 15 -0 3 4 8 10 12 13 14 -0 3 4 8 10 12 13 15 -0 3 4 8 10 12 14 15 -0 3 4 8 10 13 14 15 -0 3 4 8 11 12 13 14 -0 3 4 8 11 12 13 15 -0 3 4 8 11 12 14 15 -0 3 4 8 11 13 14 15 -0 3 4 8 12 13 14 15 -0 3 4 9 10 11 12 13 -0 3 4 9 10 11 12 14 -0 3 4 9 10 11 12 15 -0 3 4 9 10 11 13 14 -0 3 4 9 10 11 13 15 -0 3 4 9 10 11 14 15 -0 3 4 9 10 12 13 14 -0 3 4 9 10 12 13 15 -0 3 4 9 10 12 14 15 -0 3 4 9 10 13 14 15 -0 3 4 9 11 12 13 14 -0 3 4 9 11 12 13 15 -0 3 4 9 11 12 14 15 -0 3 4 9 11 13 14 15 -0 3 4 9 12 13 14 15 -0 3 4 10 11 12 13 14 -0 3 4 10 11 12 13 15 -0 3 4 10 11 12 14 15 -0 3 4 10 11 13 14 15 -0 3 4 10 12 13 14 15 -0 3 4 11 12 13 14 15 -0 3 5 6 7 8 9 10 -0 3 5 6 7 8 9 11 -0 3 5 6 7 8 9 12 -0 3 5 6 7 8 9 13 -0 3 5 6 7 8 9 14 -0 3 5 6 7 8 9 15 -0 3 5 6 7 8 10 11 -0 3 5 6 7 8 10 12 -0 3 5 6 7 8 10 13 -0 3 5 6 7 8 10 14 -0 3 5 6 7 8 10 15 -0 3 5 6 7 8 11 12 -0 3 5 6 7 8 11 13 -0 3 5 6 7 8 11 14 -0 3 5 6 7 8 11 15 -0 3 5 6 7 8 12 13 -0 3 5 6 7 8 12 14 -0 3 5 6 7 8 12 15 -0 3 5 6 7 8 13 14 -0 3 5 6 7 8 13 15 -0 3 5 6 7 8 14 15 -0 3 5 6 7 9 10 11 -0 3 5 6 7 9 10 12 -0 3 5 6 7 9 10 13 -0 3 5 6 7 9 10 14 -0 3 5 6 7 9 10 15 -0 3 5 6 7 9 11 12 -0 3 5 6 7 9 11 13 -0 3 5 6 7 9 11 14 -0 3 5 6 7 9 11 15 -0 3 5 6 7 9 12 13 -0 3 5 6 7 9 12 14 -0 3 5 6 7 9 12 15 -0 3 5 6 7 9 13 14 -0 3 5 6 7 9 13 15 -0 3 5 6 7 9 14 15 -0 3 5 6 7 10 11 12 -0 3 5 6 7 10 11 13 -0 3 5 6 7 10 11 14 -0 3 5 6 7 10 11 15 -0 3 5 6 7 10 12 13 -0 3 5 6 7 10 12 14 -0 3 5 6 7 10 12 15 -0 3 5 6 7 10 13 14 -0 3 5 6 7 10 13 15 -0 3 5 6 7 10 14 15 -0 3 5 6 7 11 12 13 -0 3 5 6 7 11 12 14 -0 3 5 6 7 11 12 15 -0 3 5 6 7 11 13 14 -0 3 5 6 7 11 13 15 -0 3 5 6 7 11 14 15 -0 3 5 6 7 12 13 14 -0 3 5 6 7 12 13 15 -0 3 5 6 7 12 14 15 -0 3 5 6 7 13 14 15 -0 3 5 6 8 9 10 11 -0 3 5 6 8 9 10 12 -0 3 5 6 8 9 10 13 -0 3 5 6 8 9 10 14 -0 3 5 6 8 9 10 15 -0 3 5 6 8 9 11 12 -0 3 5 6 8 9 11 13 -0 3 5 6 8 9 11 14 -0 3 5 6 8 9 11 15 -0 3 5 6 8 9 12 13 -0 3 5 6 8 9 12 14 -0 3 5 6 8 9 12 15 -0 3 5 6 8 9 13 14 -0 3 5 6 8 9 13 15 -0 3 5 6 8 9 14 15 -0 3 5 6 8 10 11 12 -0 3 5 6 8 10 11 13 -0 3 5 6 8 10 11 14 -0 3 5 6 8 10 11 15 -0 3 5 6 8 10 12 13 -0 3 5 6 8 10 12 14 -0 3 5 6 8 10 12 15 -0 3 5 6 8 10 13 14 -0 3 5 6 8 10 13 15 -0 3 5 6 8 10 14 15 -0 3 5 6 8 11 12 13 -0 3 5 6 8 11 12 14 -0 3 5 6 8 11 12 15 -0 3 5 6 8 11 13 14 -0 3 5 6 8 11 13 15 -0 3 5 6 8 11 14 15 -0 3 5 6 8 12 13 14 -0 3 5 6 8 12 13 15 -0 3 5 6 8 12 14 15 -0 3 5 6 8 13 14 15 -0 3 5 6 9 10 11 12 -0 3 5 6 9 10 11 13 -0 3 5 6 9 10 11 14 -0 3 5 6 9 10 11 15 -0 3 5 6 9 10 12 13 -0 3 5 6 9 10 12 14 -0 3 5 6 9 10 12 15 -0 3 5 6 9 10 13 14 -0 3 5 6 9 10 13 15 -0 3 5 6 9 10 14 15 -0 3 5 6 9 11 12 13 -0 3 5 6 9 11 12 14 -0 3 5 6 9 11 12 15 -0 3 5 6 9 11 13 14 -0 3 5 6 9 11 13 15 -0 3 5 6 9 11 14 15 -0 3 5 6 9 12 13 14 -0 3 5 6 9 12 13 15 -0 3 5 6 9 12 14 15 -0 3 5 6 9 13 14 15 -0 3 5 6 10 11 12 13 -0 3 5 6 10 11 12 14 -0 3 5 6 10 11 12 15 -0 3 5 6 10 11 13 14 -0 3 5 6 10 11 13 15 -0 3 5 6 10 11 14 15 -0 3 5 6 10 12 13 14 -0 3 5 6 10 12 13 15 -0 3 5 6 10 12 14 15 -0 3 5 6 10 13 14 15 -0 3 5 6 11 12 13 14 -0 3 5 6 11 12 13 15 -0 3 5 6 11 12 14 15 -0 3 5 6 11 13 14 15 -0 3 5 6 12 13 14 15 -0 3 5 7 8 9 10 11 -0 3 5 7 8 9 10 12 -0 3 5 7 8 9 10 13 -0 3 5 7 8 9 10 14 -0 3 5 7 8 9 10 15 -0 3 5 7 8 9 11 12 -0 3 5 7 8 9 11 13 -0 3 5 7 8 9 11 14 -0 3 5 7 8 9 11 15 -0 3 5 7 8 9 12 13 -0 3 5 7 8 9 12 14 -0 3 5 7 8 9 12 15 -0 3 5 7 8 9 13 14 -0 3 5 7 8 9 13 15 -0 3 5 7 8 9 14 15 -0 3 5 7 8 10 11 12 -0 3 5 7 8 10 11 13 -0 3 5 7 8 10 11 14 -0 3 5 7 8 10 11 15 -0 3 5 7 8 10 12 13 -0 3 5 7 8 10 12 14 -0 3 5 7 8 10 12 15 -0 3 5 7 8 10 13 14 -0 3 5 7 8 10 13 15 -0 3 5 7 8 10 14 15 -0 3 5 7 8 11 12 13 -0 3 5 7 8 11 12 14 -0 3 5 7 8 11 12 15 -0 3 5 7 8 11 13 14 -0 3 5 7 8 11 13 15 -0 3 5 7 8 11 14 15 -0 3 5 7 8 12 13 14 -0 3 5 7 8 12 13 15 -0 3 5 7 8 12 14 15 -0 3 5 7 8 13 14 15 -0 3 5 7 9 10 11 12 -0 3 5 7 9 10 11 13 -0 3 5 7 9 10 11 14 -0 3 5 7 9 10 11 15 -0 3 5 7 9 10 12 13 -0 3 5 7 9 10 12 14 -0 3 5 7 9 10 12 15 -0 3 5 7 9 10 13 14 -0 3 5 7 9 10 13 15 -0 3 5 7 9 10 14 15 -0 3 5 7 9 11 12 13 -0 3 5 7 9 11 12 14 -0 3 5 7 9 11 12 15 -0 3 5 7 9 11 13 14 -0 3 5 7 9 11 13 15 -0 3 5 7 9 11 14 15 -0 3 5 7 9 12 13 14 -0 3 5 7 9 12 13 15 -0 3 5 7 9 12 14 15 -0 3 5 7 9 13 14 15 -0 3 5 7 10 11 12 13 -0 3 5 7 10 11 12 14 -0 3 5 7 10 11 12 15 -0 3 5 7 10 11 13 14 -0 3 5 7 10 11 13 15 -0 3 5 7 10 11 14 15 -0 3 5 7 10 12 13 14 -0 3 5 7 10 12 13 15 -0 3 5 7 10 12 14 15 -0 3 5 7 10 13 14 15 -0 3 5 7 11 12 13 14 -0 3 5 7 11 12 13 15 -0 3 5 7 11 12 14 15 -0 3 5 7 11 13 14 15 -0 3 5 7 12 13 14 15 -0 3 5 8 9 10 11 12 -0 3 5 8 9 10 11 13 -0 3 5 8 9 10 11 14 -0 3 5 8 9 10 11 15 -0 3 5 8 9 10 12 13 -0 3 5 8 9 10 12 14 -0 3 5 8 9 10 12 15 -0 3 5 8 9 10 13 14 -0 3 5 8 9 10 13 15 -0 3 5 8 9 10 14 15 -0 3 5 8 9 11 12 13 -0 3 5 8 9 11 12 14 -0 3 5 8 9 11 12 15 -0 3 5 8 9 11 13 14 -0 3 5 8 9 11 13 15 -0 3 5 8 9 11 14 15 -0 3 5 8 9 12 13 14 -0 3 5 8 9 12 13 15 -0 3 5 8 9 12 14 15 -0 3 5 8 9 13 14 15 -0 3 5 8 10 11 12 13 -0 3 5 8 10 11 12 14 -0 3 5 8 10 11 12 15 -0 3 5 8 10 11 13 14 -0 3 5 8 10 11 13 15 -0 3 5 8 10 11 14 15 -0 3 5 8 10 12 13 14 -0 3 5 8 10 12 13 15 -0 3 5 8 10 12 14 15 -0 3 5 8 10 13 14 15 -0 3 5 8 11 12 13 14 -0 3 5 8 11 12 13 15 -0 3 5 8 11 12 14 15 -0 3 5 8 11 13 14 15 -0 3 5 8 12 13 14 15 -0 3 5 9 10 11 12 13 -0 3 5 9 10 11 12 14 -0 3 5 9 10 11 12 15 -0 3 5 9 10 11 13 14 -0 3 5 9 10 11 13 15 -0 3 5 9 10 11 14 15 -0 3 5 9 10 12 13 14 -0 3 5 9 10 12 13 15 -0 3 5 9 10 12 14 15 -0 3 5 9 10 13 14 15 -0 3 5 9 11 12 13 14 -0 3 5 9 11 12 13 15 -0 3 5 9 11 12 14 15 -0 3 5 9 11 13 14 15 -0 3 5 9 12 13 14 15 -0 3 5 10 11 12 13 14 -0 3 5 10 11 12 13 15 -0 3 5 10 11 12 14 15 -0 3 5 10 11 13 14 15 -0 3 5 10 12 13 14 15 -0 3 5 11 12 13 14 15 -0 3 6 7 8 9 10 11 -0 3 6 7 8 9 10 12 -0 3 6 7 8 9 10 13 -0 3 6 7 8 9 10 14 -0 3 6 7 8 9 10 15 -0 3 6 7 8 9 11 12 -0 3 6 7 8 9 11 13 -0 3 6 7 8 9 11 14 -0 3 6 7 8 9 11 15 -0 3 6 7 8 9 12 13 -0 3 6 7 8 9 12 14 -0 3 6 7 8 9 12 15 -0 3 6 7 8 9 13 14 -0 3 6 7 8 9 13 15 -0 3 6 7 8 9 14 15 -0 3 6 7 8 10 11 12 -0 3 6 7 8 10 11 13 -0 3 6 7 8 10 11 14 -0 3 6 7 8 10 11 15 -0 3 6 7 8 10 12 13 -0 3 6 7 8 10 12 14 -0 3 6 7 8 10 12 15 -0 3 6 7 8 10 13 14 -0 3 6 7 8 10 13 15 -0 3 6 7 8 10 14 15 -0 3 6 7 8 11 12 13 -0 3 6 7 8 11 12 14 -0 3 6 7 8 11 12 15 -0 3 6 7 8 11 13 14 -0 3 6 7 8 11 13 15 -0 3 6 7 8 11 14 15 -0 3 6 7 8 12 13 14 -0 3 6 7 8 12 13 15 -0 3 6 7 8 12 14 15 -0 3 6 7 8 13 14 15 -0 3 6 7 9 10 11 12 -0 3 6 7 9 10 11 13 -0 3 6 7 9 10 11 14 -0 3 6 7 9 10 11 15 -0 3 6 7 9 10 12 13 -0 3 6 7 9 10 12 14 -0 3 6 7 9 10 12 15 -0 3 6 7 9 10 13 14 -0 3 6 7 9 10 13 15 -0 3 6 7 9 10 14 15 -0 3 6 7 9 11 12 13 -0 3 6 7 9 11 12 14 -0 3 6 7 9 11 12 15 -0 3 6 7 9 11 13 14 -0 3 6 7 9 11 13 15 -0 3 6 7 9 11 14 15 -0 3 6 7 9 12 13 14 -0 3 6 7 9 12 13 15 -0 3 6 7 9 12 14 15 -0 3 6 7 9 13 14 15 -0 3 6 7 10 11 12 13 -0 3 6 7 10 11 12 14 -0 3 6 7 10 11 12 15 -0 3 6 7 10 11 13 14 -0 3 6 7 10 11 13 15 -0 3 6 7 10 11 14 15 -0 3 6 7 10 12 13 14 -0 3 6 7 10 12 13 15 -0 3 6 7 10 12 14 15 -0 3 6 7 10 13 14 15 -0 3 6 7 11 12 13 14 -0 3 6 7 11 12 13 15 -0 3 6 7 11 12 14 15 -0 3 6 7 11 13 14 15 -0 3 6 7 12 13 14 15 -0 3 6 8 9 10 11 12 -0 3 6 8 9 10 11 13 -0 3 6 8 9 10 11 14 -0 3 6 8 9 10 11 15 -0 3 6 8 9 10 12 13 -0 3 6 8 9 10 12 14 -0 3 6 8 9 10 12 15 -0 3 6 8 9 10 13 14 -0 3 6 8 9 10 13 15 -0 3 6 8 9 10 14 15 -0 3 6 8 9 11 12 13 -0 3 6 8 9 11 12 14 -0 3 6 8 9 11 12 15 -0 3 6 8 9 11 13 14 -0 3 6 8 9 11 13 15 -0 3 6 8 9 11 14 15 -0 3 6 8 9 12 13 14 -0 3 6 8 9 12 13 15 -0 3 6 8 9 12 14 15 -0 3 6 8 9 13 14 15 -0 3 6 8 10 11 12 13 -0 3 6 8 10 11 12 14 -0 3 6 8 10 11 12 15 -0 3 6 8 10 11 13 14 -0 3 6 8 10 11 13 15 -0 3 6 8 10 11 14 15 -0 3 6 8 10 12 13 14 -0 3 6 8 10 12 13 15 -0 3 6 8 10 12 14 15 -0 3 6 8 10 13 14 15 -0 3 6 8 11 12 13 14 -0 3 6 8 11 12 13 15 -0 3 6 8 11 12 14 15 -0 3 6 8 11 13 14 15 -0 3 6 8 12 13 14 15 -0 3 6 9 10 11 12 13 -0 3 6 9 10 11 12 14 -0 3 6 9 10 11 12 15 -0 3 6 9 10 11 13 14 -0 3 6 9 10 11 13 15 -0 3 6 9 10 11 14 15 -0 3 6 9 10 12 13 14 -0 3 6 9 10 12 13 15 -0 3 6 9 10 12 14 15 -0 3 6 9 10 13 14 15 -0 3 6 9 11 12 13 14 -0 3 6 9 11 12 13 15 -0 3 6 9 11 12 14 15 -0 3 6 9 11 13 14 15 -0 3 6 9 12 13 14 15 -0 3 6 10 11 12 13 14 -0 3 6 10 11 12 13 15 -0 3 6 10 11 12 14 15 -0 3 6 10 11 13 14 15 -0 3 6 10 12 13 14 15 -0 3 6 11 12 13 14 15 -0 3 7 8 9 10 11 12 -0 3 7 8 9 10 11 13 -0 3 7 8 9 10 11 14 -0 3 7 8 9 10 11 15 -0 3 7 8 9 10 12 13 -0 3 7 8 9 10 12 14 -0 3 7 8 9 10 12 15 -0 3 7 8 9 10 13 14 -0 3 7 8 9 10 13 15 -0 3 7 8 9 10 14 15 -0 3 7 8 9 11 12 13 -0 3 7 8 9 11 12 14 -0 3 7 8 9 11 12 15 -0 3 7 8 9 11 13 14 -0 3 7 8 9 11 13 15 -0 3 7 8 9 11 14 15 -0 3 7 8 9 12 13 14 -0 3 7 8 9 12 13 15 -0 3 7 8 9 12 14 15 -0 3 7 8 9 13 14 15 -0 3 7 8 10 11 12 13 -0 3 7 8 10 11 12 14 -0 3 7 8 10 11 12 15 -0 3 7 8 10 11 13 14 -0 3 7 8 10 11 13 15 -0 3 7 8 10 11 14 15 -0 3 7 8 10 12 13 14 -0 3 7 8 10 12 13 15 -0 3 7 8 10 12 14 15 -0 3 7 8 10 13 14 15 -0 3 7 8 11 12 13 14 -0 3 7 8 11 12 13 15 -0 3 7 8 11 12 14 15 -0 3 7 8 11 13 14 15 -0 3 7 8 12 13 14 15 -0 3 7 9 10 11 12 13 -0 3 7 9 10 11 12 14 -0 3 7 9 10 11 12 15 -0 3 7 9 10 11 13 14 -0 3 7 9 10 11 13 15 -0 3 7 9 10 11 14 15 -0 3 7 9 10 12 13 14 -0 3 7 9 10 12 13 15 -0 3 7 9 10 12 14 15 -0 3 7 9 10 13 14 15 -0 3 7 9 11 12 13 14 -0 3 7 9 11 12 13 15 -0 3 7 9 11 12 14 15 -0 3 7 9 11 13 14 15 -0 3 7 9 12 13 14 15 -0 3 7 10 11 12 13 14 -0 3 7 10 11 12 13 15 -0 3 7 10 11 12 14 15 -0 3 7 10 11 13 14 15 -0 3 7 10 12 13 14 15 -0 3 7 11 12 13 14 15 -0 3 8 9 10 11 12 13 -0 3 8 9 10 11 12 14 -0 3 8 9 10 11 12 15 -0 3 8 9 10 11 13 14 -0 3 8 9 10 11 13 15 -0 3 8 9 10 11 14 15 -0 3 8 9 10 12 13 14 -0 3 8 9 10 12 13 15 -0 3 8 9 10 12 14 15 -0 3 8 9 10 13 14 15 -0 3 8 9 11 12 13 14 -0 3 8 9 11 12 13 15 -0 3 8 9 11 12 14 15 -0 3 8 9 11 13 14 15 -0 3 8 9 12 13 14 15 -0 3 8 10 11 12 13 14 -0 3 8 10 11 12 13 15 -0 3 8 10 11 12 14 15 -0 3 8 10 11 13 14 15 -0 3 8 10 12 13 14 15 -0 3 8 11 12 13 14 15 -0 3 9 10 11 12 13 14 -0 3 9 10 11 12 13 15 -0 3 9 10 11 12 14 15 -0 3 9 10 11 13 14 15 -0 3 9 10 12 13 14 15 -0 3 9 11 12 13 14 15 -0 3 10 11 12 13 14 15 -0 4 5 6 7 8 9 10 -0 4 5 6 7 8 9 11 -0 4 5 6 7 8 9 12 -0 4 5 6 7 8 9 13 -0 4 5 6 7 8 9 14 -0 4 5 6 7 8 9 15 -0 4 5 6 7 8 10 11 -0 4 5 6 7 8 10 12 -0 4 5 6 7 8 10 13 -0 4 5 6 7 8 10 14 -0 4 5 6 7 8 10 15 -0 4 5 6 7 8 11 12 -0 4 5 6 7 8 11 13 -0 4 5 6 7 8 11 14 -0 4 5 6 7 8 11 15 -0 4 5 6 7 8 12 13 -0 4 5 6 7 8 12 14 -0 4 5 6 7 8 12 15 -0 4 5 6 7 8 13 14 -0 4 5 6 7 8 13 15 -0 4 5 6 7 8 14 15 -0 4 5 6 7 9 10 11 -0 4 5 6 7 9 10 12 -0 4 5 6 7 9 10 13 -0 4 5 6 7 9 10 14 -0 4 5 6 7 9 10 15 -0 4 5 6 7 9 11 12 -0 4 5 6 7 9 11 13 -0 4 5 6 7 9 11 14 -0 4 5 6 7 9 11 15 -0 4 5 6 7 9 12 13 -0 4 5 6 7 9 12 14 -0 4 5 6 7 9 12 15 -0 4 5 6 7 9 13 14 -0 4 5 6 7 9 13 15 -0 4 5 6 7 9 14 15 -0 4 5 6 7 10 11 12 -0 4 5 6 7 10 11 13 -0 4 5 6 7 10 11 14 -0 4 5 6 7 10 11 15 -0 4 5 6 7 10 12 13 -0 4 5 6 7 10 12 14 -0 4 5 6 7 10 12 15 -0 4 5 6 7 10 13 14 -0 4 5 6 7 10 13 15 -0 4 5 6 7 10 14 15 -0 4 5 6 7 11 12 13 -0 4 5 6 7 11 12 14 -0 4 5 6 7 11 12 15 -0 4 5 6 7 11 13 14 -0 4 5 6 7 11 13 15 -0 4 5 6 7 11 14 15 -0 4 5 6 7 12 13 14 -0 4 5 6 7 12 13 15 -0 4 5 6 7 12 14 15 -0 4 5 6 7 13 14 15 -0 4 5 6 8 9 10 11 -0 4 5 6 8 9 10 12 -0 4 5 6 8 9 10 13 -0 4 5 6 8 9 10 14 -0 4 5 6 8 9 10 15 -0 4 5 6 8 9 11 12 -0 4 5 6 8 9 11 13 -0 4 5 6 8 9 11 14 -0 4 5 6 8 9 11 15 -0 4 5 6 8 9 12 13 -0 4 5 6 8 9 12 14 -0 4 5 6 8 9 12 15 -0 4 5 6 8 9 13 14 -0 4 5 6 8 9 13 15 -0 4 5 6 8 9 14 15 -0 4 5 6 8 10 11 12 -0 4 5 6 8 10 11 13 -0 4 5 6 8 10 11 14 -0 4 5 6 8 10 11 15 -0 4 5 6 8 10 12 13 -0 4 5 6 8 10 12 14 -0 4 5 6 8 10 12 15 -0 4 5 6 8 10 13 14 -0 4 5 6 8 10 13 15 -0 4 5 6 8 10 14 15 -0 4 5 6 8 11 12 13 -0 4 5 6 8 11 12 14 -0 4 5 6 8 11 12 15 -0 4 5 6 8 11 13 14 -0 4 5 6 8 11 13 15 -0 4 5 6 8 11 14 15 -0 4 5 6 8 12 13 14 -0 4 5 6 8 12 13 15 -0 4 5 6 8 12 14 15 -0 4 5 6 8 13 14 15 -0 4 5 6 9 10 11 12 -0 4 5 6 9 10 11 13 -0 4 5 6 9 10 11 14 -0 4 5 6 9 10 11 15 -0 4 5 6 9 10 12 13 -0 4 5 6 9 10 12 14 -0 4 5 6 9 10 12 15 -0 4 5 6 9 10 13 14 -0 4 5 6 9 10 13 15 -0 4 5 6 9 10 14 15 -0 4 5 6 9 11 12 13 -0 4 5 6 9 11 12 14 -0 4 5 6 9 11 12 15 -0 4 5 6 9 11 13 14 -0 4 5 6 9 11 13 15 -0 4 5 6 9 11 14 15 -0 4 5 6 9 12 13 14 -0 4 5 6 9 12 13 15 -0 4 5 6 9 12 14 15 -0 4 5 6 9 13 14 15 -0 4 5 6 10 11 12 13 -0 4 5 6 10 11 12 14 -0 4 5 6 10 11 12 15 -0 4 5 6 10 11 13 14 -0 4 5 6 10 11 13 15 -0 4 5 6 10 11 14 15 -0 4 5 6 10 12 13 14 -0 4 5 6 10 12 13 15 -0 4 5 6 10 12 14 15 -0 4 5 6 10 13 14 15 -0 4 5 6 11 12 13 14 -0 4 5 6 11 12 13 15 -0 4 5 6 11 12 14 15 -0 4 5 6 11 13 14 15 -0 4 5 6 12 13 14 15 -0 4 5 7 8 9 10 11 -0 4 5 7 8 9 10 12 -0 4 5 7 8 9 10 13 -0 4 5 7 8 9 10 14 -0 4 5 7 8 9 10 15 -0 4 5 7 8 9 11 12 -0 4 5 7 8 9 11 13 -0 4 5 7 8 9 11 14 -0 4 5 7 8 9 11 15 -0 4 5 7 8 9 12 13 -0 4 5 7 8 9 12 14 -0 4 5 7 8 9 12 15 -0 4 5 7 8 9 13 14 -0 4 5 7 8 9 13 15 -0 4 5 7 8 9 14 15 -0 4 5 7 8 10 11 12 -0 4 5 7 8 10 11 13 -0 4 5 7 8 10 11 14 -0 4 5 7 8 10 11 15 -0 4 5 7 8 10 12 13 -0 4 5 7 8 10 12 14 -0 4 5 7 8 10 12 15 -0 4 5 7 8 10 13 14 -0 4 5 7 8 10 13 15 -0 4 5 7 8 10 14 15 -0 4 5 7 8 11 12 13 -0 4 5 7 8 11 12 14 -0 4 5 7 8 11 12 15 -0 4 5 7 8 11 13 14 -0 4 5 7 8 11 13 15 -0 4 5 7 8 11 14 15 -0 4 5 7 8 12 13 14 -0 4 5 7 8 12 13 15 -0 4 5 7 8 12 14 15 -0 4 5 7 8 13 14 15 -0 4 5 7 9 10 11 12 -0 4 5 7 9 10 11 13 -0 4 5 7 9 10 11 14 -0 4 5 7 9 10 11 15 -0 4 5 7 9 10 12 13 -0 4 5 7 9 10 12 14 -0 4 5 7 9 10 12 15 -0 4 5 7 9 10 13 14 -0 4 5 7 9 10 13 15 -0 4 5 7 9 10 14 15 -0 4 5 7 9 11 12 13 -0 4 5 7 9 11 12 14 -0 4 5 7 9 11 12 15 -0 4 5 7 9 11 13 14 -0 4 5 7 9 11 13 15 -0 4 5 7 9 11 14 15 -0 4 5 7 9 12 13 14 -0 4 5 7 9 12 13 15 -0 4 5 7 9 12 14 15 -0 4 5 7 9 13 14 15 -0 4 5 7 10 11 12 13 -0 4 5 7 10 11 12 14 -0 4 5 7 10 11 12 15 -0 4 5 7 10 11 13 14 -0 4 5 7 10 11 13 15 -0 4 5 7 10 11 14 15 -0 4 5 7 10 12 13 14 -0 4 5 7 10 12 13 15 -0 4 5 7 10 12 14 15 -0 4 5 7 10 13 14 15 -0 4 5 7 11 12 13 14 -0 4 5 7 11 12 13 15 -0 4 5 7 11 12 14 15 -0 4 5 7 11 13 14 15 -0 4 5 7 12 13 14 15 -0 4 5 8 9 10 11 12 -0 4 5 8 9 10 11 13 -0 4 5 8 9 10 11 14 -0 4 5 8 9 10 11 15 -0 4 5 8 9 10 12 13 -0 4 5 8 9 10 12 14 -0 4 5 8 9 10 12 15 -0 4 5 8 9 10 13 14 -0 4 5 8 9 10 13 15 -0 4 5 8 9 10 14 15 -0 4 5 8 9 11 12 13 -0 4 5 8 9 11 12 14 -0 4 5 8 9 11 12 15 -0 4 5 8 9 11 13 14 -0 4 5 8 9 11 13 15 -0 4 5 8 9 11 14 15 -0 4 5 8 9 12 13 14 -0 4 5 8 9 12 13 15 -0 4 5 8 9 12 14 15 -0 4 5 8 9 13 14 15 -0 4 5 8 10 11 12 13 -0 4 5 8 10 11 12 14 -0 4 5 8 10 11 12 15 -0 4 5 8 10 11 13 14 -0 4 5 8 10 11 13 15 -0 4 5 8 10 11 14 15 -0 4 5 8 10 12 13 14 -0 4 5 8 10 12 13 15 -0 4 5 8 10 12 14 15 -0 4 5 8 10 13 14 15 -0 4 5 8 11 12 13 14 -0 4 5 8 11 12 13 15 -0 4 5 8 11 12 14 15 -0 4 5 8 11 13 14 15 -0 4 5 8 12 13 14 15 -0 4 5 9 10 11 12 13 -0 4 5 9 10 11 12 14 -0 4 5 9 10 11 12 15 -0 4 5 9 10 11 13 14 -0 4 5 9 10 11 13 15 -0 4 5 9 10 11 14 15 -0 4 5 9 10 12 13 14 -0 4 5 9 10 12 13 15 -0 4 5 9 10 12 14 15 -0 4 5 9 10 13 14 15 -0 4 5 9 11 12 13 14 -0 4 5 9 11 12 13 15 -0 4 5 9 11 12 14 15 -0 4 5 9 11 13 14 15 -0 4 5 9 12 13 14 15 -0 4 5 10 11 12 13 14 -0 4 5 10 11 12 13 15 -0 4 5 10 11 12 14 15 -0 4 5 10 11 13 14 15 -0 4 5 10 12 13 14 15 -0 4 5 11 12 13 14 15 -0 4 6 7 8 9 10 11 -0 4 6 7 8 9 10 12 -0 4 6 7 8 9 10 13 -0 4 6 7 8 9 10 14 -0 4 6 7 8 9 10 15 -0 4 6 7 8 9 11 12 -0 4 6 7 8 9 11 13 -0 4 6 7 8 9 11 14 -0 4 6 7 8 9 11 15 -0 4 6 7 8 9 12 13 -0 4 6 7 8 9 12 14 -0 4 6 7 8 9 12 15 -0 4 6 7 8 9 13 14 -0 4 6 7 8 9 13 15 -0 4 6 7 8 9 14 15 -0 4 6 7 8 10 11 12 -0 4 6 7 8 10 11 13 -0 4 6 7 8 10 11 14 -0 4 6 7 8 10 11 15 -0 4 6 7 8 10 12 13 -0 4 6 7 8 10 12 14 -0 4 6 7 8 10 12 15 -0 4 6 7 8 10 13 14 -0 4 6 7 8 10 13 15 -0 4 6 7 8 10 14 15 -0 4 6 7 8 11 12 13 -0 4 6 7 8 11 12 14 -0 4 6 7 8 11 12 15 -0 4 6 7 8 11 13 14 -0 4 6 7 8 11 13 15 -0 4 6 7 8 11 14 15 -0 4 6 7 8 12 13 14 -0 4 6 7 8 12 13 15 -0 4 6 7 8 12 14 15 -0 4 6 7 8 13 14 15 -0 4 6 7 9 10 11 12 -0 4 6 7 9 10 11 13 -0 4 6 7 9 10 11 14 -0 4 6 7 9 10 11 15 -0 4 6 7 9 10 12 13 -0 4 6 7 9 10 12 14 -0 4 6 7 9 10 12 15 -0 4 6 7 9 10 13 14 -0 4 6 7 9 10 13 15 -0 4 6 7 9 10 14 15 -0 4 6 7 9 11 12 13 -0 4 6 7 9 11 12 14 -0 4 6 7 9 11 12 15 -0 4 6 7 9 11 13 14 -0 4 6 7 9 11 13 15 -0 4 6 7 9 11 14 15 -0 4 6 7 9 12 13 14 -0 4 6 7 9 12 13 15 -0 4 6 7 9 12 14 15 -0 4 6 7 9 13 14 15 -0 4 6 7 10 11 12 13 -0 4 6 7 10 11 12 14 -0 4 6 7 10 11 12 15 -0 4 6 7 10 11 13 14 -0 4 6 7 10 11 13 15 -0 4 6 7 10 11 14 15 -0 4 6 7 10 12 13 14 -0 4 6 7 10 12 13 15 -0 4 6 7 10 12 14 15 -0 4 6 7 10 13 14 15 -0 4 6 7 11 12 13 14 -0 4 6 7 11 12 13 15 -0 4 6 7 11 12 14 15 -0 4 6 7 11 13 14 15 -0 4 6 7 12 13 14 15 -0 4 6 8 9 10 11 12 -0 4 6 8 9 10 11 13 -0 4 6 8 9 10 11 14 -0 4 6 8 9 10 11 15 -0 4 6 8 9 10 12 13 -0 4 6 8 9 10 12 14 -0 4 6 8 9 10 12 15 -0 4 6 8 9 10 13 14 -0 4 6 8 9 10 13 15 -0 4 6 8 9 10 14 15 -0 4 6 8 9 11 12 13 -0 4 6 8 9 11 12 14 -0 4 6 8 9 11 12 15 -0 4 6 8 9 11 13 14 -0 4 6 8 9 11 13 15 -0 4 6 8 9 11 14 15 -0 4 6 8 9 12 13 14 -0 4 6 8 9 12 13 15 -0 4 6 8 9 12 14 15 -0 4 6 8 9 13 14 15 -0 4 6 8 10 11 12 13 -0 4 6 8 10 11 12 14 -0 4 6 8 10 11 12 15 -0 4 6 8 10 11 13 14 -0 4 6 8 10 11 13 15 -0 4 6 8 10 11 14 15 -0 4 6 8 10 12 13 14 -0 4 6 8 10 12 13 15 -0 4 6 8 10 12 14 15 -0 4 6 8 10 13 14 15 -0 4 6 8 11 12 13 14 -0 4 6 8 11 12 13 15 -0 4 6 8 11 12 14 15 -0 4 6 8 11 13 14 15 -0 4 6 8 12 13 14 15 -0 4 6 9 10 11 12 13 -0 4 6 9 10 11 12 14 -0 4 6 9 10 11 12 15 -0 4 6 9 10 11 13 14 -0 4 6 9 10 11 13 15 -0 4 6 9 10 11 14 15 -0 4 6 9 10 12 13 14 -0 4 6 9 10 12 13 15 -0 4 6 9 10 12 14 15 -0 4 6 9 10 13 14 15 -0 4 6 9 11 12 13 14 -0 4 6 9 11 12 13 15 -0 4 6 9 11 12 14 15 -0 4 6 9 11 13 14 15 -0 4 6 9 12 13 14 15 -0 4 6 10 11 12 13 14 -0 4 6 10 11 12 13 15 -0 4 6 10 11 12 14 15 -0 4 6 10 11 13 14 15 -0 4 6 10 12 13 14 15 -0 4 6 11 12 13 14 15 -0 4 7 8 9 10 11 12 -0 4 7 8 9 10 11 13 -0 4 7 8 9 10 11 14 -0 4 7 8 9 10 11 15 -0 4 7 8 9 10 12 13 -0 4 7 8 9 10 12 14 -0 4 7 8 9 10 12 15 -0 4 7 8 9 10 13 14 -0 4 7 8 9 10 13 15 -0 4 7 8 9 10 14 15 -0 4 7 8 9 11 12 13 -0 4 7 8 9 11 12 14 -0 4 7 8 9 11 12 15 -0 4 7 8 9 11 13 14 -0 4 7 8 9 11 13 15 -0 4 7 8 9 11 14 15 -0 4 7 8 9 12 13 14 -0 4 7 8 9 12 13 15 -0 4 7 8 9 12 14 15 -0 4 7 8 9 13 14 15 -0 4 7 8 10 11 12 13 -0 4 7 8 10 11 12 14 -0 4 7 8 10 11 12 15 -0 4 7 8 10 11 13 14 -0 4 7 8 10 11 13 15 -0 4 7 8 10 11 14 15 -0 4 7 8 10 12 13 14 -0 4 7 8 10 12 13 15 -0 4 7 8 10 12 14 15 -0 4 7 8 10 13 14 15 -0 4 7 8 11 12 13 14 -0 4 7 8 11 12 13 15 -0 4 7 8 11 12 14 15 -0 4 7 8 11 13 14 15 -0 4 7 8 12 13 14 15 -0 4 7 9 10 11 12 13 -0 4 7 9 10 11 12 14 -0 4 7 9 10 11 12 15 -0 4 7 9 10 11 13 14 -0 4 7 9 10 11 13 15 -0 4 7 9 10 11 14 15 -0 4 7 9 10 12 13 14 -0 4 7 9 10 12 13 15 -0 4 7 9 10 12 14 15 -0 4 7 9 10 13 14 15 -0 4 7 9 11 12 13 14 -0 4 7 9 11 12 13 15 -0 4 7 9 11 12 14 15 -0 4 7 9 11 13 14 15 -0 4 7 9 12 13 14 15 -0 4 7 10 11 12 13 14 -0 4 7 10 11 12 13 15 -0 4 7 10 11 12 14 15 -0 4 7 10 11 13 14 15 -0 4 7 10 12 13 14 15 -0 4 7 11 12 13 14 15 -0 4 8 9 10 11 12 13 -0 4 8 9 10 11 12 14 -0 4 8 9 10 11 12 15 -0 4 8 9 10 11 13 14 -0 4 8 9 10 11 13 15 -0 4 8 9 10 11 14 15 -0 4 8 9 10 12 13 14 -0 4 8 9 10 12 13 15 -0 4 8 9 10 12 14 15 -0 4 8 9 10 13 14 15 -0 4 8 9 11 12 13 14 -0 4 8 9 11 12 13 15 -0 4 8 9 11 12 14 15 -0 4 8 9 11 13 14 15 -0 4 8 9 12 13 14 15 -0 4 8 10 11 12 13 14 -0 4 8 10 11 12 13 15 -0 4 8 10 11 12 14 15 -0 4 8 10 11 13 14 15 -0 4 8 10 12 13 14 15 -0 4 8 11 12 13 14 15 -0 4 9 10 11 12 13 14 -0 4 9 10 11 12 13 15 -0 4 9 10 11 12 14 15 -0 4 9 10 11 13 14 15 -0 4 9 10 12 13 14 15 -0 4 9 11 12 13 14 15 -0 4 10 11 12 13 14 15 -0 5 6 7 8 9 10 11 -0 5 6 7 8 9 10 12 -0 5 6 7 8 9 10 13 -0 5 6 7 8 9 10 14 -0 5 6 7 8 9 10 15 -0 5 6 7 8 9 11 12 -0 5 6 7 8 9 11 13 -0 5 6 7 8 9 11 14 -0 5 6 7 8 9 11 15 -0 5 6 7 8 9 12 13 -0 5 6 7 8 9 12 14 -0 5 6 7 8 9 12 15 -0 5 6 7 8 9 13 14 -0 5 6 7 8 9 13 15 -0 5 6 7 8 9 14 15 -0 5 6 7 8 10 11 12 -0 5 6 7 8 10 11 13 -0 5 6 7 8 10 11 14 -0 5 6 7 8 10 11 15 -0 5 6 7 8 10 12 13 -0 5 6 7 8 10 12 14 -0 5 6 7 8 10 12 15 -0 5 6 7 8 10 13 14 -0 5 6 7 8 10 13 15 -0 5 6 7 8 10 14 15 -0 5 6 7 8 11 12 13 -0 5 6 7 8 11 12 14 -0 5 6 7 8 11 12 15 -0 5 6 7 8 11 13 14 -0 5 6 7 8 11 13 15 -0 5 6 7 8 11 14 15 -0 5 6 7 8 12 13 14 -0 5 6 7 8 12 13 15 -0 5 6 7 8 12 14 15 -0 5 6 7 8 13 14 15 -0 5 6 7 9 10 11 12 -0 5 6 7 9 10 11 13 -0 5 6 7 9 10 11 14 -0 5 6 7 9 10 11 15 -0 5 6 7 9 10 12 13 -0 5 6 7 9 10 12 14 -0 5 6 7 9 10 12 15 -0 5 6 7 9 10 13 14 -0 5 6 7 9 10 13 15 -0 5 6 7 9 10 14 15 -0 5 6 7 9 11 12 13 -0 5 6 7 9 11 12 14 -0 5 6 7 9 11 12 15 -0 5 6 7 9 11 13 14 -0 5 6 7 9 11 13 15 -0 5 6 7 9 11 14 15 -0 5 6 7 9 12 13 14 -0 5 6 7 9 12 13 15 -0 5 6 7 9 12 14 15 -0 5 6 7 9 13 14 15 -0 5 6 7 10 11 12 13 -0 5 6 7 10 11 12 14 -0 5 6 7 10 11 12 15 -0 5 6 7 10 11 13 14 -0 5 6 7 10 11 13 15 -0 5 6 7 10 11 14 15 -0 5 6 7 10 12 13 14 -0 5 6 7 10 12 13 15 -0 5 6 7 10 12 14 15 -0 5 6 7 10 13 14 15 -0 5 6 7 11 12 13 14 -0 5 6 7 11 12 13 15 -0 5 6 7 11 12 14 15 -0 5 6 7 11 13 14 15 -0 5 6 7 12 13 14 15 -0 5 6 8 9 10 11 12 -0 5 6 8 9 10 11 13 -0 5 6 8 9 10 11 14 -0 5 6 8 9 10 11 15 -0 5 6 8 9 10 12 13 -0 5 6 8 9 10 12 14 -0 5 6 8 9 10 12 15 -0 5 6 8 9 10 13 14 -0 5 6 8 9 10 13 15 -0 5 6 8 9 10 14 15 -0 5 6 8 9 11 12 13 -0 5 6 8 9 11 12 14 -0 5 6 8 9 11 12 15 -0 5 6 8 9 11 13 14 -0 5 6 8 9 11 13 15 -0 5 6 8 9 11 14 15 -0 5 6 8 9 12 13 14 -0 5 6 8 9 12 13 15 -0 5 6 8 9 12 14 15 -0 5 6 8 9 13 14 15 -0 5 6 8 10 11 12 13 -0 5 6 8 10 11 12 14 -0 5 6 8 10 11 12 15 -0 5 6 8 10 11 13 14 -0 5 6 8 10 11 13 15 -0 5 6 8 10 11 14 15 -0 5 6 8 10 12 13 14 -0 5 6 8 10 12 13 15 -0 5 6 8 10 12 14 15 -0 5 6 8 10 13 14 15 -0 5 6 8 11 12 13 14 -0 5 6 8 11 12 13 15 -0 5 6 8 11 12 14 15 -0 5 6 8 11 13 14 15 -0 5 6 8 12 13 14 15 -0 5 6 9 10 11 12 13 -0 5 6 9 10 11 12 14 -0 5 6 9 10 11 12 15 -0 5 6 9 10 11 13 14 -0 5 6 9 10 11 13 15 -0 5 6 9 10 11 14 15 -0 5 6 9 10 12 13 14 -0 5 6 9 10 12 13 15 -0 5 6 9 10 12 14 15 -0 5 6 9 10 13 14 15 -0 5 6 9 11 12 13 14 -0 5 6 9 11 12 13 15 -0 5 6 9 11 12 14 15 -0 5 6 9 11 13 14 15 -0 5 6 9 12 13 14 15 -0 5 6 10 11 12 13 14 -0 5 6 10 11 12 13 15 -0 5 6 10 11 12 14 15 -0 5 6 10 11 13 14 15 -0 5 6 10 12 13 14 15 -0 5 6 11 12 13 14 15 -0 5 7 8 9 10 11 12 -0 5 7 8 9 10 11 13 -0 5 7 8 9 10 11 14 -0 5 7 8 9 10 11 15 -0 5 7 8 9 10 12 13 -0 5 7 8 9 10 12 14 -0 5 7 8 9 10 12 15 -0 5 7 8 9 10 13 14 -0 5 7 8 9 10 13 15 -0 5 7 8 9 10 14 15 -0 5 7 8 9 11 12 13 -0 5 7 8 9 11 12 14 -0 5 7 8 9 11 12 15 -0 5 7 8 9 11 13 14 -0 5 7 8 9 11 13 15 -0 5 7 8 9 11 14 15 -0 5 7 8 9 12 13 14 -0 5 7 8 9 12 13 15 -0 5 7 8 9 12 14 15 -0 5 7 8 9 13 14 15 -0 5 7 8 10 11 12 13 -0 5 7 8 10 11 12 14 -0 5 7 8 10 11 12 15 -0 5 7 8 10 11 13 14 -0 5 7 8 10 11 13 15 -0 5 7 8 10 11 14 15 -0 5 7 8 10 12 13 14 -0 5 7 8 10 12 13 15 -0 5 7 8 10 12 14 15 -0 5 7 8 10 13 14 15 -0 5 7 8 11 12 13 14 -0 5 7 8 11 12 13 15 -0 5 7 8 11 12 14 15 -0 5 7 8 11 13 14 15 -0 5 7 8 12 13 14 15 -0 5 7 9 10 11 12 13 -0 5 7 9 10 11 12 14 -0 5 7 9 10 11 12 15 -0 5 7 9 10 11 13 14 -0 5 7 9 10 11 13 15 -0 5 7 9 10 11 14 15 -0 5 7 9 10 12 13 14 -0 5 7 9 10 12 13 15 -0 5 7 9 10 12 14 15 -0 5 7 9 10 13 14 15 -0 5 7 9 11 12 13 14 -0 5 7 9 11 12 13 15 -0 5 7 9 11 12 14 15 -0 5 7 9 11 13 14 15 -0 5 7 9 12 13 14 15 -0 5 7 10 11 12 13 14 -0 5 7 10 11 12 13 15 -0 5 7 10 11 12 14 15 -0 5 7 10 11 13 14 15 -0 5 7 10 12 13 14 15 -0 5 7 11 12 13 14 15 -0 5 8 9 10 11 12 13 -0 5 8 9 10 11 12 14 -0 5 8 9 10 11 12 15 -0 5 8 9 10 11 13 14 -0 5 8 9 10 11 13 15 -0 5 8 9 10 11 14 15 -0 5 8 9 10 12 13 14 -0 5 8 9 10 12 13 15 -0 5 8 9 10 12 14 15 -0 5 8 9 10 13 14 15 -0 5 8 9 11 12 13 14 -0 5 8 9 11 12 13 15 -0 5 8 9 11 12 14 15 -0 5 8 9 11 13 14 15 -0 5 8 9 12 13 14 15 -0 5 8 10 11 12 13 14 -0 5 8 10 11 12 13 15 -0 5 8 10 11 12 14 15 -0 5 8 10 11 13 14 15 -0 5 8 10 12 13 14 15 -0 5 8 11 12 13 14 15 -0 5 9 10 11 12 13 14 -0 5 9 10 11 12 13 15 -0 5 9 10 11 12 14 15 -0 5 9 10 11 13 14 15 -0 5 9 10 12 13 14 15 -0 5 9 11 12 13 14 15 -0 5 10 11 12 13 14 15 -0 6 7 8 9 10 11 12 -0 6 7 8 9 10 11 13 -0 6 7 8 9 10 11 14 -0 6 7 8 9 10 11 15 -0 6 7 8 9 10 12 13 -0 6 7 8 9 10 12 14 -0 6 7 8 9 10 12 15 -0 6 7 8 9 10 13 14 -0 6 7 8 9 10 13 15 -0 6 7 8 9 10 14 15 -0 6 7 8 9 11 12 13 -0 6 7 8 9 11 12 14 -0 6 7 8 9 11 12 15 -0 6 7 8 9 11 13 14 -0 6 7 8 9 11 13 15 -0 6 7 8 9 11 14 15 -0 6 7 8 9 12 13 14 -0 6 7 8 9 12 13 15 -0 6 7 8 9 12 14 15 -0 6 7 8 9 13 14 15 -0 6 7 8 10 11 12 13 -0 6 7 8 10 11 12 14 -0 6 7 8 10 11 12 15 -0 6 7 8 10 11 13 14 -0 6 7 8 10 11 13 15 -0 6 7 8 10 11 14 15 -0 6 7 8 10 12 13 14 -0 6 7 8 10 12 13 15 -0 6 7 8 10 12 14 15 -0 6 7 8 10 13 14 15 -0 6 7 8 11 12 13 14 -0 6 7 8 11 12 13 15 -0 6 7 8 11 12 14 15 -0 6 7 8 11 13 14 15 -0 6 7 8 12 13 14 15 -0 6 7 9 10 11 12 13 -0 6 7 9 10 11 12 14 -0 6 7 9 10 11 12 15 -0 6 7 9 10 11 13 14 -0 6 7 9 10 11 13 15 -0 6 7 9 10 11 14 15 -0 6 7 9 10 12 13 14 -0 6 7 9 10 12 13 15 -0 6 7 9 10 12 14 15 -0 6 7 9 10 13 14 15 -0 6 7 9 11 12 13 14 -0 6 7 9 11 12 13 15 -0 6 7 9 11 12 14 15 -0 6 7 9 11 13 14 15 -0 6 7 9 12 13 14 15 -0 6 7 10 11 12 13 14 -0 6 7 10 11 12 13 15 -0 6 7 10 11 12 14 15 -0 6 7 10 11 13 14 15 -0 6 7 10 12 13 14 15 -0 6 7 11 12 13 14 15 -0 6 8 9 10 11 12 13 -0 6 8 9 10 11 12 14 -0 6 8 9 10 11 12 15 -0 6 8 9 10 11 13 14 -0 6 8 9 10 11 13 15 -0 6 8 9 10 11 14 15 -0 6 8 9 10 12 13 14 -0 6 8 9 10 12 13 15 -0 6 8 9 10 12 14 15 -0 6 8 9 10 13 14 15 -0 6 8 9 11 12 13 14 -0 6 8 9 11 12 13 15 -0 6 8 9 11 12 14 15 -0 6 8 9 11 13 14 15 -0 6 8 9 12 13 14 15 -0 6 8 10 11 12 13 14 -0 6 8 10 11 12 13 15 -0 6 8 10 11 12 14 15 -0 6 8 10 11 13 14 15 -0 6 8 10 12 13 14 15 -0 6 8 11 12 13 14 15 -0 6 9 10 11 12 13 14 -0 6 9 10 11 12 13 15 -0 6 9 10 11 12 14 15 -0 6 9 10 11 13 14 15 -0 6 9 10 12 13 14 15 -0 6 9 11 12 13 14 15 -0 6 10 11 12 13 14 15 -0 7 8 9 10 11 12 13 -0 7 8 9 10 11 12 14 -0 7 8 9 10 11 12 15 -0 7 8 9 10 11 13 14 -0 7 8 9 10 11 13 15 -0 7 8 9 10 11 14 15 -0 7 8 9 10 12 13 14 -0 7 8 9 10 12 13 15 -0 7 8 9 10 12 14 15 -0 7 8 9 10 13 14 15 -0 7 8 9 11 12 13 14 -0 7 8 9 11 12 13 15 -0 7 8 9 11 12 14 15 -0 7 8 9 11 13 14 15 -0 7 8 9 12 13 14 15 -0 7 8 10 11 12 13 14 -0 7 8 10 11 12 13 15 -0 7 8 10 11 12 14 15 -0 7 8 10 11 13 14 15 -0 7 8 10 12 13 14 15 -0 7 8 11 12 13 14 15 -0 7 9 10 11 12 13 14 -0 7 9 10 11 12 13 15 -0 7 9 10 11 12 14 15 -0 7 9 10 11 13 14 15 -0 7 9 10 12 13 14 15 -0 7 9 11 12 13 14 15 -0 7 10 11 12 13 14 15 -0 8 9 10 11 12 13 14 -0 8 9 10 11 12 13 15 -0 8 9 10 11 12 14 15 -0 8 9 10 11 13 14 15 -0 8 9 10 12 13 14 15 -0 8 9 11 12 13 14 15 -0 8 10 11 12 13 14 15 -0 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 -1 2 3 4 5 6 7 9 -1 2 3 4 5 6 7 10 -1 2 3 4 5 6 7 11 -1 2 3 4 5 6 7 12 -1 2 3 4 5 6 7 13 -1 2 3 4 5 6 7 14 -1 2 3 4 5 6 7 15 -1 2 3 4 5 6 8 9 -1 2 3 4 5 6 8 10 -1 2 3 4 5 6 8 11 -1 2 3 4 5 6 8 12 -1 2 3 4 5 6 8 13 -1 2 3 4 5 6 8 14 -1 2 3 4 5 6 8 15 -1 2 3 4 5 6 9 10 -1 2 3 4 5 6 9 11 -1 2 3 4 5 6 9 12 -1 2 3 4 5 6 9 13 -1 2 3 4 5 6 9 14 -1 2 3 4 5 6 9 15 -1 2 3 4 5 6 10 11 -1 2 3 4 5 6 10 12 -1 2 3 4 5 6 10 13 -1 2 3 4 5 6 10 14 -1 2 3 4 5 6 10 15 -1 2 3 4 5 6 11 12 -1 2 3 4 5 6 11 13 -1 2 3 4 5 6 11 14 -1 2 3 4 5 6 11 15 -1 2 3 4 5 6 12 13 -1 2 3 4 5 6 12 14 -1 2 3 4 5 6 12 15 -1 2 3 4 5 6 13 14 -1 2 3 4 5 6 13 15 -1 2 3 4 5 6 14 15 -1 2 3 4 5 7 8 9 -1 2 3 4 5 7 8 10 -1 2 3 4 5 7 8 11 -1 2 3 4 5 7 8 12 -1 2 3 4 5 7 8 13 -1 2 3 4 5 7 8 14 -1 2 3 4 5 7 8 15 -1 2 3 4 5 7 9 10 -1 2 3 4 5 7 9 11 -1 2 3 4 5 7 9 12 -1 2 3 4 5 7 9 13 -1 2 3 4 5 7 9 14 -1 2 3 4 5 7 9 15 -1 2 3 4 5 7 10 11 -1 2 3 4 5 7 10 12 -1 2 3 4 5 7 10 13 -1 2 3 4 5 7 10 14 -1 2 3 4 5 7 10 15 -1 2 3 4 5 7 11 12 -1 2 3 4 5 7 11 13 -1 2 3 4 5 7 11 14 -1 2 3 4 5 7 11 15 -1 2 3 4 5 7 12 13 -1 2 3 4 5 7 12 14 -1 2 3 4 5 7 12 15 -1 2 3 4 5 7 13 14 -1 2 3 4 5 7 13 15 -1 2 3 4 5 7 14 15 -1 2 3 4 5 8 9 10 -1 2 3 4 5 8 9 11 -1 2 3 4 5 8 9 12 -1 2 3 4 5 8 9 13 -1 2 3 4 5 8 9 14 -1 2 3 4 5 8 9 15 -1 2 3 4 5 8 10 11 -1 2 3 4 5 8 10 12 -1 2 3 4 5 8 10 13 -1 2 3 4 5 8 10 14 -1 2 3 4 5 8 10 15 -1 2 3 4 5 8 11 12 -1 2 3 4 5 8 11 13 -1 2 3 4 5 8 11 14 -1 2 3 4 5 8 11 15 -1 2 3 4 5 8 12 13 -1 2 3 4 5 8 12 14 -1 2 3 4 5 8 12 15 -1 2 3 4 5 8 13 14 -1 2 3 4 5 8 13 15 -1 2 3 4 5 8 14 15 -1 2 3 4 5 9 10 11 -1 2 3 4 5 9 10 12 -1 2 3 4 5 9 10 13 -1 2 3 4 5 9 10 14 -1 2 3 4 5 9 10 15 -1 2 3 4 5 9 11 12 -1 2 3 4 5 9 11 13 -1 2 3 4 5 9 11 14 -1 2 3 4 5 9 11 15 -1 2 3 4 5 9 12 13 -1 2 3 4 5 9 12 14 -1 2 3 4 5 9 12 15 -1 2 3 4 5 9 13 14 -1 2 3 4 5 9 13 15 -1 2 3 4 5 9 14 15 -1 2 3 4 5 10 11 12 -1 2 3 4 5 10 11 13 -1 2 3 4 5 10 11 14 -1 2 3 4 5 10 11 15 -1 2 3 4 5 10 12 13 -1 2 3 4 5 10 12 14 -1 2 3 4 5 10 12 15 -1 2 3 4 5 10 13 14 -1 2 3 4 5 10 13 15 -1 2 3 4 5 10 14 15 -1 2 3 4 5 11 12 13 -1 2 3 4 5 11 12 14 -1 2 3 4 5 11 12 15 -1 2 3 4 5 11 13 14 -1 2 3 4 5 11 13 15 -1 2 3 4 5 11 14 15 -1 2 3 4 5 12 13 14 -1 2 3 4 5 12 13 15 -1 2 3 4 5 12 14 15 -1 2 3 4 5 13 14 15 -1 2 3 4 6 7 8 9 -1 2 3 4 6 7 8 10 -1 2 3 4 6 7 8 11 -1 2 3 4 6 7 8 12 -1 2 3 4 6 7 8 13 -1 2 3 4 6 7 8 14 -1 2 3 4 6 7 8 15 -1 2 3 4 6 7 9 10 -1 2 3 4 6 7 9 11 -1 2 3 4 6 7 9 12 -1 2 3 4 6 7 9 13 -1 2 3 4 6 7 9 14 -1 2 3 4 6 7 9 15 -1 2 3 4 6 7 10 11 -1 2 3 4 6 7 10 12 -1 2 3 4 6 7 10 13 -1 2 3 4 6 7 10 14 -1 2 3 4 6 7 10 15 -1 2 3 4 6 7 11 12 -1 2 3 4 6 7 11 13 -1 2 3 4 6 7 11 14 -1 2 3 4 6 7 11 15 -1 2 3 4 6 7 12 13 -1 2 3 4 6 7 12 14 -1 2 3 4 6 7 12 15 -1 2 3 4 6 7 13 14 -1 2 3 4 6 7 13 15 -1 2 3 4 6 7 14 15 -1 2 3 4 6 8 9 10 -1 2 3 4 6 8 9 11 -1 2 3 4 6 8 9 12 -1 2 3 4 6 8 9 13 -1 2 3 4 6 8 9 14 -1 2 3 4 6 8 9 15 -1 2 3 4 6 8 10 11 -1 2 3 4 6 8 10 12 -1 2 3 4 6 8 10 13 -1 2 3 4 6 8 10 14 -1 2 3 4 6 8 10 15 -1 2 3 4 6 8 11 12 -1 2 3 4 6 8 11 13 -1 2 3 4 6 8 11 14 -1 2 3 4 6 8 11 15 -1 2 3 4 6 8 12 13 -1 2 3 4 6 8 12 14 -1 2 3 4 6 8 12 15 -1 2 3 4 6 8 13 14 -1 2 3 4 6 8 13 15 -1 2 3 4 6 8 14 15 -1 2 3 4 6 9 10 11 -1 2 3 4 6 9 10 12 -1 2 3 4 6 9 10 13 -1 2 3 4 6 9 10 14 -1 2 3 4 6 9 10 15 -1 2 3 4 6 9 11 12 -1 2 3 4 6 9 11 13 -1 2 3 4 6 9 11 14 -1 2 3 4 6 9 11 15 -1 2 3 4 6 9 12 13 -1 2 3 4 6 9 12 14 -1 2 3 4 6 9 12 15 -1 2 3 4 6 9 13 14 -1 2 3 4 6 9 13 15 -1 2 3 4 6 9 14 15 -1 2 3 4 6 10 11 12 -1 2 3 4 6 10 11 13 -1 2 3 4 6 10 11 14 -1 2 3 4 6 10 11 15 -1 2 3 4 6 10 12 13 -1 2 3 4 6 10 12 14 -1 2 3 4 6 10 12 15 -1 2 3 4 6 10 13 14 -1 2 3 4 6 10 13 15 -1 2 3 4 6 10 14 15 -1 2 3 4 6 11 12 13 -1 2 3 4 6 11 12 14 -1 2 3 4 6 11 12 15 -1 2 3 4 6 11 13 14 -1 2 3 4 6 11 13 15 -1 2 3 4 6 11 14 15 -1 2 3 4 6 12 13 14 -1 2 3 4 6 12 13 15 -1 2 3 4 6 12 14 15 -1 2 3 4 6 13 14 15 -1 2 3 4 7 8 9 10 -1 2 3 4 7 8 9 11 -1 2 3 4 7 8 9 12 -1 2 3 4 7 8 9 13 -1 2 3 4 7 8 9 14 -1 2 3 4 7 8 9 15 -1 2 3 4 7 8 10 11 -1 2 3 4 7 8 10 12 -1 2 3 4 7 8 10 13 -1 2 3 4 7 8 10 14 -1 2 3 4 7 8 10 15 -1 2 3 4 7 8 11 12 -1 2 3 4 7 8 11 13 -1 2 3 4 7 8 11 14 -1 2 3 4 7 8 11 15 -1 2 3 4 7 8 12 13 -1 2 3 4 7 8 12 14 -1 2 3 4 7 8 12 15 -1 2 3 4 7 8 13 14 -1 2 3 4 7 8 13 15 -1 2 3 4 7 8 14 15 -1 2 3 4 7 9 10 11 -1 2 3 4 7 9 10 12 -1 2 3 4 7 9 10 13 -1 2 3 4 7 9 10 14 -1 2 3 4 7 9 10 15 -1 2 3 4 7 9 11 12 -1 2 3 4 7 9 11 13 -1 2 3 4 7 9 11 14 -1 2 3 4 7 9 11 15 -1 2 3 4 7 9 12 13 -1 2 3 4 7 9 12 14 -1 2 3 4 7 9 12 15 -1 2 3 4 7 9 13 14 -1 2 3 4 7 9 13 15 -1 2 3 4 7 9 14 15 -1 2 3 4 7 10 11 12 -1 2 3 4 7 10 11 13 -1 2 3 4 7 10 11 14 -1 2 3 4 7 10 11 15 -1 2 3 4 7 10 12 13 -1 2 3 4 7 10 12 14 -1 2 3 4 7 10 12 15 -1 2 3 4 7 10 13 14 -1 2 3 4 7 10 13 15 -1 2 3 4 7 10 14 15 -1 2 3 4 7 11 12 13 -1 2 3 4 7 11 12 14 -1 2 3 4 7 11 12 15 -1 2 3 4 7 11 13 14 -1 2 3 4 7 11 13 15 -1 2 3 4 7 11 14 15 -1 2 3 4 7 12 13 14 -1 2 3 4 7 12 13 15 -1 2 3 4 7 12 14 15 -1 2 3 4 7 13 14 15 -1 2 3 4 8 9 10 11 -1 2 3 4 8 9 10 12 -1 2 3 4 8 9 10 13 -1 2 3 4 8 9 10 14 -1 2 3 4 8 9 10 15 -1 2 3 4 8 9 11 12 -1 2 3 4 8 9 11 13 -1 2 3 4 8 9 11 14 -1 2 3 4 8 9 11 15 -1 2 3 4 8 9 12 13 -1 2 3 4 8 9 12 14 -1 2 3 4 8 9 12 15 -1 2 3 4 8 9 13 14 -1 2 3 4 8 9 13 15 -1 2 3 4 8 9 14 15 -1 2 3 4 8 10 11 12 -1 2 3 4 8 10 11 13 -1 2 3 4 8 10 11 14 -1 2 3 4 8 10 11 15 -1 2 3 4 8 10 12 13 -1 2 3 4 8 10 12 14 -1 2 3 4 8 10 12 15 -1 2 3 4 8 10 13 14 -1 2 3 4 8 10 13 15 -1 2 3 4 8 10 14 15 -1 2 3 4 8 11 12 13 -1 2 3 4 8 11 12 14 -1 2 3 4 8 11 12 15 -1 2 3 4 8 11 13 14 -1 2 3 4 8 11 13 15 -1 2 3 4 8 11 14 15 -1 2 3 4 8 12 13 14 -1 2 3 4 8 12 13 15 -1 2 3 4 8 12 14 15 -1 2 3 4 8 13 14 15 -1 2 3 4 9 10 11 12 -1 2 3 4 9 10 11 13 -1 2 3 4 9 10 11 14 -1 2 3 4 9 10 11 15 -1 2 3 4 9 10 12 13 -1 2 3 4 9 10 12 14 -1 2 3 4 9 10 12 15 -1 2 3 4 9 10 13 14 -1 2 3 4 9 10 13 15 -1 2 3 4 9 10 14 15 -1 2 3 4 9 11 12 13 -1 2 3 4 9 11 12 14 -1 2 3 4 9 11 12 15 -1 2 3 4 9 11 13 14 -1 2 3 4 9 11 13 15 -1 2 3 4 9 11 14 15 -1 2 3 4 9 12 13 14 -1 2 3 4 9 12 13 15 -1 2 3 4 9 12 14 15 -1 2 3 4 9 13 14 15 -1 2 3 4 10 11 12 13 -1 2 3 4 10 11 12 14 -1 2 3 4 10 11 12 15 -1 2 3 4 10 11 13 14 -1 2 3 4 10 11 13 15 -1 2 3 4 10 11 14 15 -1 2 3 4 10 12 13 14 -1 2 3 4 10 12 13 15 -1 2 3 4 10 12 14 15 -1 2 3 4 10 13 14 15 -1 2 3 4 11 12 13 14 -1 2 3 4 11 12 13 15 -1 2 3 4 11 12 14 15 -1 2 3 4 11 13 14 15 -1 2 3 4 12 13 14 15 -1 2 3 5 6 7 8 9 -1 2 3 5 6 7 8 10 -1 2 3 5 6 7 8 11 -1 2 3 5 6 7 8 12 -1 2 3 5 6 7 8 13 -1 2 3 5 6 7 8 14 -1 2 3 5 6 7 8 15 -1 2 3 5 6 7 9 10 -1 2 3 5 6 7 9 11 -1 2 3 5 6 7 9 12 -1 2 3 5 6 7 9 13 -1 2 3 5 6 7 9 14 -1 2 3 5 6 7 9 15 -1 2 3 5 6 7 10 11 -1 2 3 5 6 7 10 12 -1 2 3 5 6 7 10 13 -1 2 3 5 6 7 10 14 -1 2 3 5 6 7 10 15 -1 2 3 5 6 7 11 12 -1 2 3 5 6 7 11 13 -1 2 3 5 6 7 11 14 -1 2 3 5 6 7 11 15 -1 2 3 5 6 7 12 13 -1 2 3 5 6 7 12 14 -1 2 3 5 6 7 12 15 -1 2 3 5 6 7 13 14 -1 2 3 5 6 7 13 15 -1 2 3 5 6 7 14 15 -1 2 3 5 6 8 9 10 -1 2 3 5 6 8 9 11 -1 2 3 5 6 8 9 12 -1 2 3 5 6 8 9 13 -1 2 3 5 6 8 9 14 -1 2 3 5 6 8 9 15 -1 2 3 5 6 8 10 11 -1 2 3 5 6 8 10 12 -1 2 3 5 6 8 10 13 -1 2 3 5 6 8 10 14 -1 2 3 5 6 8 10 15 -1 2 3 5 6 8 11 12 -1 2 3 5 6 8 11 13 -1 2 3 5 6 8 11 14 -1 2 3 5 6 8 11 15 -1 2 3 5 6 8 12 13 -1 2 3 5 6 8 12 14 -1 2 3 5 6 8 12 15 -1 2 3 5 6 8 13 14 -1 2 3 5 6 8 13 15 -1 2 3 5 6 8 14 15 -1 2 3 5 6 9 10 11 -1 2 3 5 6 9 10 12 -1 2 3 5 6 9 10 13 -1 2 3 5 6 9 10 14 -1 2 3 5 6 9 10 15 -1 2 3 5 6 9 11 12 -1 2 3 5 6 9 11 13 -1 2 3 5 6 9 11 14 -1 2 3 5 6 9 11 15 -1 2 3 5 6 9 12 13 -1 2 3 5 6 9 12 14 -1 2 3 5 6 9 12 15 -1 2 3 5 6 9 13 14 -1 2 3 5 6 9 13 15 -1 2 3 5 6 9 14 15 -1 2 3 5 6 10 11 12 -1 2 3 5 6 10 11 13 -1 2 3 5 6 10 11 14 -1 2 3 5 6 10 11 15 -1 2 3 5 6 10 12 13 -1 2 3 5 6 10 12 14 -1 2 3 5 6 10 12 15 -1 2 3 5 6 10 13 14 -1 2 3 5 6 10 13 15 -1 2 3 5 6 10 14 15 -1 2 3 5 6 11 12 13 -1 2 3 5 6 11 12 14 -1 2 3 5 6 11 12 15 -1 2 3 5 6 11 13 14 -1 2 3 5 6 11 13 15 -1 2 3 5 6 11 14 15 -1 2 3 5 6 12 13 14 -1 2 3 5 6 12 13 15 -1 2 3 5 6 12 14 15 -1 2 3 5 6 13 14 15 -1 2 3 5 7 8 9 10 -1 2 3 5 7 8 9 11 -1 2 3 5 7 8 9 12 -1 2 3 5 7 8 9 13 -1 2 3 5 7 8 9 14 -1 2 3 5 7 8 9 15 -1 2 3 5 7 8 10 11 -1 2 3 5 7 8 10 12 -1 2 3 5 7 8 10 13 -1 2 3 5 7 8 10 14 -1 2 3 5 7 8 10 15 -1 2 3 5 7 8 11 12 -1 2 3 5 7 8 11 13 -1 2 3 5 7 8 11 14 -1 2 3 5 7 8 11 15 -1 2 3 5 7 8 12 13 -1 2 3 5 7 8 12 14 -1 2 3 5 7 8 12 15 -1 2 3 5 7 8 13 14 -1 2 3 5 7 8 13 15 -1 2 3 5 7 8 14 15 -1 2 3 5 7 9 10 11 -1 2 3 5 7 9 10 12 -1 2 3 5 7 9 10 13 -1 2 3 5 7 9 10 14 -1 2 3 5 7 9 10 15 -1 2 3 5 7 9 11 12 -1 2 3 5 7 9 11 13 -1 2 3 5 7 9 11 14 -1 2 3 5 7 9 11 15 -1 2 3 5 7 9 12 13 -1 2 3 5 7 9 12 14 -1 2 3 5 7 9 12 15 -1 2 3 5 7 9 13 14 -1 2 3 5 7 9 13 15 -1 2 3 5 7 9 14 15 -1 2 3 5 7 10 11 12 -1 2 3 5 7 10 11 13 -1 2 3 5 7 10 11 14 -1 2 3 5 7 10 11 15 -1 2 3 5 7 10 12 13 -1 2 3 5 7 10 12 14 -1 2 3 5 7 10 12 15 -1 2 3 5 7 10 13 14 -1 2 3 5 7 10 13 15 -1 2 3 5 7 10 14 15 -1 2 3 5 7 11 12 13 -1 2 3 5 7 11 12 14 -1 2 3 5 7 11 12 15 -1 2 3 5 7 11 13 14 -1 2 3 5 7 11 13 15 -1 2 3 5 7 11 14 15 -1 2 3 5 7 12 13 14 -1 2 3 5 7 12 13 15 -1 2 3 5 7 12 14 15 -1 2 3 5 7 13 14 15 -1 2 3 5 8 9 10 11 -1 2 3 5 8 9 10 12 -1 2 3 5 8 9 10 13 -1 2 3 5 8 9 10 14 -1 2 3 5 8 9 10 15 -1 2 3 5 8 9 11 12 -1 2 3 5 8 9 11 13 -1 2 3 5 8 9 11 14 -1 2 3 5 8 9 11 15 -1 2 3 5 8 9 12 13 -1 2 3 5 8 9 12 14 -1 2 3 5 8 9 12 15 -1 2 3 5 8 9 13 14 -1 2 3 5 8 9 13 15 -1 2 3 5 8 9 14 15 -1 2 3 5 8 10 11 12 -1 2 3 5 8 10 11 13 -1 2 3 5 8 10 11 14 -1 2 3 5 8 10 11 15 -1 2 3 5 8 10 12 13 -1 2 3 5 8 10 12 14 -1 2 3 5 8 10 12 15 -1 2 3 5 8 10 13 14 -1 2 3 5 8 10 13 15 -1 2 3 5 8 10 14 15 -1 2 3 5 8 11 12 13 -1 2 3 5 8 11 12 14 -1 2 3 5 8 11 12 15 -1 2 3 5 8 11 13 14 -1 2 3 5 8 11 13 15 -1 2 3 5 8 11 14 15 -1 2 3 5 8 12 13 14 -1 2 3 5 8 12 13 15 -1 2 3 5 8 12 14 15 -1 2 3 5 8 13 14 15 -1 2 3 5 9 10 11 12 -1 2 3 5 9 10 11 13 -1 2 3 5 9 10 11 14 -1 2 3 5 9 10 11 15 -1 2 3 5 9 10 12 13 -1 2 3 5 9 10 12 14 -1 2 3 5 9 10 12 15 -1 2 3 5 9 10 13 14 -1 2 3 5 9 10 13 15 -1 2 3 5 9 10 14 15 -1 2 3 5 9 11 12 13 -1 2 3 5 9 11 12 14 -1 2 3 5 9 11 12 15 -1 2 3 5 9 11 13 14 -1 2 3 5 9 11 13 15 -1 2 3 5 9 11 14 15 -1 2 3 5 9 12 13 14 -1 2 3 5 9 12 13 15 -1 2 3 5 9 12 14 15 -1 2 3 5 9 13 14 15 -1 2 3 5 10 11 12 13 -1 2 3 5 10 11 12 14 -1 2 3 5 10 11 12 15 -1 2 3 5 10 11 13 14 -1 2 3 5 10 11 13 15 -1 2 3 5 10 11 14 15 -1 2 3 5 10 12 13 14 -1 2 3 5 10 12 13 15 -1 2 3 5 10 12 14 15 -1 2 3 5 10 13 14 15 -1 2 3 5 11 12 13 14 -1 2 3 5 11 12 13 15 -1 2 3 5 11 12 14 15 -1 2 3 5 11 13 14 15 -1 2 3 5 12 13 14 15 -1 2 3 6 7 8 9 10 -1 2 3 6 7 8 9 11 -1 2 3 6 7 8 9 12 -1 2 3 6 7 8 9 13 -1 2 3 6 7 8 9 14 -1 2 3 6 7 8 9 15 -1 2 3 6 7 8 10 11 -1 2 3 6 7 8 10 12 -1 2 3 6 7 8 10 13 -1 2 3 6 7 8 10 14 -1 2 3 6 7 8 10 15 -1 2 3 6 7 8 11 12 -1 2 3 6 7 8 11 13 -1 2 3 6 7 8 11 14 -1 2 3 6 7 8 11 15 -1 2 3 6 7 8 12 13 -1 2 3 6 7 8 12 14 -1 2 3 6 7 8 12 15 -1 2 3 6 7 8 13 14 -1 2 3 6 7 8 13 15 -1 2 3 6 7 8 14 15 -1 2 3 6 7 9 10 11 -1 2 3 6 7 9 10 12 -1 2 3 6 7 9 10 13 -1 2 3 6 7 9 10 14 -1 2 3 6 7 9 10 15 -1 2 3 6 7 9 11 12 -1 2 3 6 7 9 11 13 -1 2 3 6 7 9 11 14 -1 2 3 6 7 9 11 15 -1 2 3 6 7 9 12 13 -1 2 3 6 7 9 12 14 -1 2 3 6 7 9 12 15 -1 2 3 6 7 9 13 14 -1 2 3 6 7 9 13 15 -1 2 3 6 7 9 14 15 -1 2 3 6 7 10 11 12 -1 2 3 6 7 10 11 13 -1 2 3 6 7 10 11 14 -1 2 3 6 7 10 11 15 -1 2 3 6 7 10 12 13 -1 2 3 6 7 10 12 14 -1 2 3 6 7 10 12 15 -1 2 3 6 7 10 13 14 -1 2 3 6 7 10 13 15 -1 2 3 6 7 10 14 15 -1 2 3 6 7 11 12 13 -1 2 3 6 7 11 12 14 -1 2 3 6 7 11 12 15 -1 2 3 6 7 11 13 14 -1 2 3 6 7 11 13 15 -1 2 3 6 7 11 14 15 -1 2 3 6 7 12 13 14 -1 2 3 6 7 12 13 15 -1 2 3 6 7 12 14 15 -1 2 3 6 7 13 14 15 -1 2 3 6 8 9 10 11 -1 2 3 6 8 9 10 12 -1 2 3 6 8 9 10 13 -1 2 3 6 8 9 10 14 -1 2 3 6 8 9 10 15 -1 2 3 6 8 9 11 12 -1 2 3 6 8 9 11 13 -1 2 3 6 8 9 11 14 -1 2 3 6 8 9 11 15 -1 2 3 6 8 9 12 13 -1 2 3 6 8 9 12 14 -1 2 3 6 8 9 12 15 -1 2 3 6 8 9 13 14 -1 2 3 6 8 9 13 15 -1 2 3 6 8 9 14 15 -1 2 3 6 8 10 11 12 -1 2 3 6 8 10 11 13 -1 2 3 6 8 10 11 14 -1 2 3 6 8 10 11 15 -1 2 3 6 8 10 12 13 -1 2 3 6 8 10 12 14 -1 2 3 6 8 10 12 15 -1 2 3 6 8 10 13 14 -1 2 3 6 8 10 13 15 -1 2 3 6 8 10 14 15 -1 2 3 6 8 11 12 13 -1 2 3 6 8 11 12 14 -1 2 3 6 8 11 12 15 -1 2 3 6 8 11 13 14 -1 2 3 6 8 11 13 15 -1 2 3 6 8 11 14 15 -1 2 3 6 8 12 13 14 -1 2 3 6 8 12 13 15 -1 2 3 6 8 12 14 15 -1 2 3 6 8 13 14 15 -1 2 3 6 9 10 11 12 -1 2 3 6 9 10 11 13 -1 2 3 6 9 10 11 14 -1 2 3 6 9 10 11 15 -1 2 3 6 9 10 12 13 -1 2 3 6 9 10 12 14 -1 2 3 6 9 10 12 15 -1 2 3 6 9 10 13 14 -1 2 3 6 9 10 13 15 -1 2 3 6 9 10 14 15 -1 2 3 6 9 11 12 13 -1 2 3 6 9 11 12 14 -1 2 3 6 9 11 12 15 -1 2 3 6 9 11 13 14 -1 2 3 6 9 11 13 15 -1 2 3 6 9 11 14 15 -1 2 3 6 9 12 13 14 -1 2 3 6 9 12 13 15 -1 2 3 6 9 12 14 15 -1 2 3 6 9 13 14 15 -1 2 3 6 10 11 12 13 -1 2 3 6 10 11 12 14 -1 2 3 6 10 11 12 15 -1 2 3 6 10 11 13 14 -1 2 3 6 10 11 13 15 -1 2 3 6 10 11 14 15 -1 2 3 6 10 12 13 14 -1 2 3 6 10 12 13 15 -1 2 3 6 10 12 14 15 -1 2 3 6 10 13 14 15 -1 2 3 6 11 12 13 14 -1 2 3 6 11 12 13 15 -1 2 3 6 11 12 14 15 -1 2 3 6 11 13 14 15 -1 2 3 6 12 13 14 15 -1 2 3 7 8 9 10 11 -1 2 3 7 8 9 10 12 -1 2 3 7 8 9 10 13 -1 2 3 7 8 9 10 14 -1 2 3 7 8 9 10 15 -1 2 3 7 8 9 11 12 -1 2 3 7 8 9 11 13 -1 2 3 7 8 9 11 14 -1 2 3 7 8 9 11 15 -1 2 3 7 8 9 12 13 -1 2 3 7 8 9 12 14 -1 2 3 7 8 9 12 15 -1 2 3 7 8 9 13 14 -1 2 3 7 8 9 13 15 -1 2 3 7 8 9 14 15 -1 2 3 7 8 10 11 12 -1 2 3 7 8 10 11 13 -1 2 3 7 8 10 11 14 -1 2 3 7 8 10 11 15 -1 2 3 7 8 10 12 13 -1 2 3 7 8 10 12 14 -1 2 3 7 8 10 12 15 -1 2 3 7 8 10 13 14 -1 2 3 7 8 10 13 15 -1 2 3 7 8 10 14 15 -1 2 3 7 8 11 12 13 -1 2 3 7 8 11 12 14 -1 2 3 7 8 11 12 15 -1 2 3 7 8 11 13 14 -1 2 3 7 8 11 13 15 -1 2 3 7 8 11 14 15 -1 2 3 7 8 12 13 14 -1 2 3 7 8 12 13 15 -1 2 3 7 8 12 14 15 -1 2 3 7 8 13 14 15 -1 2 3 7 9 10 11 12 -1 2 3 7 9 10 11 13 -1 2 3 7 9 10 11 14 -1 2 3 7 9 10 11 15 -1 2 3 7 9 10 12 13 -1 2 3 7 9 10 12 14 -1 2 3 7 9 10 12 15 -1 2 3 7 9 10 13 14 -1 2 3 7 9 10 13 15 -1 2 3 7 9 10 14 15 -1 2 3 7 9 11 12 13 -1 2 3 7 9 11 12 14 -1 2 3 7 9 11 12 15 -1 2 3 7 9 11 13 14 -1 2 3 7 9 11 13 15 -1 2 3 7 9 11 14 15 -1 2 3 7 9 12 13 14 -1 2 3 7 9 12 13 15 -1 2 3 7 9 12 14 15 -1 2 3 7 9 13 14 15 -1 2 3 7 10 11 12 13 -1 2 3 7 10 11 12 14 -1 2 3 7 10 11 12 15 -1 2 3 7 10 11 13 14 -1 2 3 7 10 11 13 15 -1 2 3 7 10 11 14 15 -1 2 3 7 10 12 13 14 -1 2 3 7 10 12 13 15 -1 2 3 7 10 12 14 15 -1 2 3 7 10 13 14 15 -1 2 3 7 11 12 13 14 -1 2 3 7 11 12 13 15 -1 2 3 7 11 12 14 15 -1 2 3 7 11 13 14 15 -1 2 3 7 12 13 14 15 -1 2 3 8 9 10 11 12 -1 2 3 8 9 10 11 13 -1 2 3 8 9 10 11 14 -1 2 3 8 9 10 11 15 -1 2 3 8 9 10 12 13 -1 2 3 8 9 10 12 14 -1 2 3 8 9 10 12 15 -1 2 3 8 9 10 13 14 -1 2 3 8 9 10 13 15 -1 2 3 8 9 10 14 15 -1 2 3 8 9 11 12 13 -1 2 3 8 9 11 12 14 -1 2 3 8 9 11 12 15 -1 2 3 8 9 11 13 14 -1 2 3 8 9 11 13 15 -1 2 3 8 9 11 14 15 -1 2 3 8 9 12 13 14 -1 2 3 8 9 12 13 15 -1 2 3 8 9 12 14 15 -1 2 3 8 9 13 14 15 -1 2 3 8 10 11 12 13 -1 2 3 8 10 11 12 14 -1 2 3 8 10 11 12 15 -1 2 3 8 10 11 13 14 -1 2 3 8 10 11 13 15 -1 2 3 8 10 11 14 15 -1 2 3 8 10 12 13 14 -1 2 3 8 10 12 13 15 -1 2 3 8 10 12 14 15 -1 2 3 8 10 13 14 15 -1 2 3 8 11 12 13 14 -1 2 3 8 11 12 13 15 -1 2 3 8 11 12 14 15 -1 2 3 8 11 13 14 15 -1 2 3 8 12 13 14 15 -1 2 3 9 10 11 12 13 -1 2 3 9 10 11 12 14 -1 2 3 9 10 11 12 15 -1 2 3 9 10 11 13 14 -1 2 3 9 10 11 13 15 -1 2 3 9 10 11 14 15 -1 2 3 9 10 12 13 14 -1 2 3 9 10 12 13 15 -1 2 3 9 10 12 14 15 -1 2 3 9 10 13 14 15 -1 2 3 9 11 12 13 14 -1 2 3 9 11 12 13 15 -1 2 3 9 11 12 14 15 -1 2 3 9 11 13 14 15 -1 2 3 9 12 13 14 15 -1 2 3 10 11 12 13 14 -1 2 3 10 11 12 13 15 -1 2 3 10 11 12 14 15 -1 2 3 10 11 13 14 15 -1 2 3 10 12 13 14 15 -1 2 3 11 12 13 14 15 -1 2 4 5 6 7 8 9 -1 2 4 5 6 7 8 10 -1 2 4 5 6 7 8 11 -1 2 4 5 6 7 8 12 -1 2 4 5 6 7 8 13 -1 2 4 5 6 7 8 14 -1 2 4 5 6 7 8 15 -1 2 4 5 6 7 9 10 -1 2 4 5 6 7 9 11 -1 2 4 5 6 7 9 12 -1 2 4 5 6 7 9 13 -1 2 4 5 6 7 9 14 -1 2 4 5 6 7 9 15 -1 2 4 5 6 7 10 11 -1 2 4 5 6 7 10 12 -1 2 4 5 6 7 10 13 -1 2 4 5 6 7 10 14 -1 2 4 5 6 7 10 15 -1 2 4 5 6 7 11 12 -1 2 4 5 6 7 11 13 -1 2 4 5 6 7 11 14 -1 2 4 5 6 7 11 15 -1 2 4 5 6 7 12 13 -1 2 4 5 6 7 12 14 -1 2 4 5 6 7 12 15 -1 2 4 5 6 7 13 14 -1 2 4 5 6 7 13 15 -1 2 4 5 6 7 14 15 -1 2 4 5 6 8 9 10 -1 2 4 5 6 8 9 11 -1 2 4 5 6 8 9 12 -1 2 4 5 6 8 9 13 -1 2 4 5 6 8 9 14 -1 2 4 5 6 8 9 15 -1 2 4 5 6 8 10 11 -1 2 4 5 6 8 10 12 -1 2 4 5 6 8 10 13 -1 2 4 5 6 8 10 14 -1 2 4 5 6 8 10 15 -1 2 4 5 6 8 11 12 -1 2 4 5 6 8 11 13 -1 2 4 5 6 8 11 14 -1 2 4 5 6 8 11 15 -1 2 4 5 6 8 12 13 -1 2 4 5 6 8 12 14 -1 2 4 5 6 8 12 15 -1 2 4 5 6 8 13 14 -1 2 4 5 6 8 13 15 -1 2 4 5 6 8 14 15 -1 2 4 5 6 9 10 11 -1 2 4 5 6 9 10 12 -1 2 4 5 6 9 10 13 -1 2 4 5 6 9 10 14 -1 2 4 5 6 9 10 15 -1 2 4 5 6 9 11 12 -1 2 4 5 6 9 11 13 -1 2 4 5 6 9 11 14 -1 2 4 5 6 9 11 15 -1 2 4 5 6 9 12 13 -1 2 4 5 6 9 12 14 -1 2 4 5 6 9 12 15 -1 2 4 5 6 9 13 14 -1 2 4 5 6 9 13 15 -1 2 4 5 6 9 14 15 -1 2 4 5 6 10 11 12 -1 2 4 5 6 10 11 13 -1 2 4 5 6 10 11 14 -1 2 4 5 6 10 11 15 -1 2 4 5 6 10 12 13 -1 2 4 5 6 10 12 14 -1 2 4 5 6 10 12 15 -1 2 4 5 6 10 13 14 -1 2 4 5 6 10 13 15 -1 2 4 5 6 10 14 15 -1 2 4 5 6 11 12 13 -1 2 4 5 6 11 12 14 -1 2 4 5 6 11 12 15 -1 2 4 5 6 11 13 14 -1 2 4 5 6 11 13 15 -1 2 4 5 6 11 14 15 -1 2 4 5 6 12 13 14 -1 2 4 5 6 12 13 15 -1 2 4 5 6 12 14 15 -1 2 4 5 6 13 14 15 -1 2 4 5 7 8 9 10 -1 2 4 5 7 8 9 11 -1 2 4 5 7 8 9 12 -1 2 4 5 7 8 9 13 -1 2 4 5 7 8 9 14 -1 2 4 5 7 8 9 15 -1 2 4 5 7 8 10 11 -1 2 4 5 7 8 10 12 -1 2 4 5 7 8 10 13 -1 2 4 5 7 8 10 14 -1 2 4 5 7 8 10 15 -1 2 4 5 7 8 11 12 -1 2 4 5 7 8 11 13 -1 2 4 5 7 8 11 14 -1 2 4 5 7 8 11 15 -1 2 4 5 7 8 12 13 -1 2 4 5 7 8 12 14 -1 2 4 5 7 8 12 15 -1 2 4 5 7 8 13 14 -1 2 4 5 7 8 13 15 -1 2 4 5 7 8 14 15 -1 2 4 5 7 9 10 11 -1 2 4 5 7 9 10 12 -1 2 4 5 7 9 10 13 -1 2 4 5 7 9 10 14 -1 2 4 5 7 9 10 15 -1 2 4 5 7 9 11 12 -1 2 4 5 7 9 11 13 -1 2 4 5 7 9 11 14 -1 2 4 5 7 9 11 15 -1 2 4 5 7 9 12 13 -1 2 4 5 7 9 12 14 -1 2 4 5 7 9 12 15 -1 2 4 5 7 9 13 14 -1 2 4 5 7 9 13 15 -1 2 4 5 7 9 14 15 -1 2 4 5 7 10 11 12 -1 2 4 5 7 10 11 13 -1 2 4 5 7 10 11 14 -1 2 4 5 7 10 11 15 -1 2 4 5 7 10 12 13 -1 2 4 5 7 10 12 14 -1 2 4 5 7 10 12 15 -1 2 4 5 7 10 13 14 -1 2 4 5 7 10 13 15 -1 2 4 5 7 10 14 15 -1 2 4 5 7 11 12 13 -1 2 4 5 7 11 12 14 -1 2 4 5 7 11 12 15 -1 2 4 5 7 11 13 14 -1 2 4 5 7 11 13 15 -1 2 4 5 7 11 14 15 -1 2 4 5 7 12 13 14 -1 2 4 5 7 12 13 15 -1 2 4 5 7 12 14 15 -1 2 4 5 7 13 14 15 -1 2 4 5 8 9 10 11 -1 2 4 5 8 9 10 12 -1 2 4 5 8 9 10 13 -1 2 4 5 8 9 10 14 -1 2 4 5 8 9 10 15 -1 2 4 5 8 9 11 12 -1 2 4 5 8 9 11 13 -1 2 4 5 8 9 11 14 -1 2 4 5 8 9 11 15 -1 2 4 5 8 9 12 13 -1 2 4 5 8 9 12 14 -1 2 4 5 8 9 12 15 -1 2 4 5 8 9 13 14 -1 2 4 5 8 9 13 15 -1 2 4 5 8 9 14 15 -1 2 4 5 8 10 11 12 -1 2 4 5 8 10 11 13 -1 2 4 5 8 10 11 14 -1 2 4 5 8 10 11 15 -1 2 4 5 8 10 12 13 -1 2 4 5 8 10 12 14 -1 2 4 5 8 10 12 15 -1 2 4 5 8 10 13 14 -1 2 4 5 8 10 13 15 -1 2 4 5 8 10 14 15 -1 2 4 5 8 11 12 13 -1 2 4 5 8 11 12 14 -1 2 4 5 8 11 12 15 -1 2 4 5 8 11 13 14 -1 2 4 5 8 11 13 15 -1 2 4 5 8 11 14 15 -1 2 4 5 8 12 13 14 -1 2 4 5 8 12 13 15 -1 2 4 5 8 12 14 15 -1 2 4 5 8 13 14 15 -1 2 4 5 9 10 11 12 -1 2 4 5 9 10 11 13 -1 2 4 5 9 10 11 14 -1 2 4 5 9 10 11 15 -1 2 4 5 9 10 12 13 -1 2 4 5 9 10 12 14 -1 2 4 5 9 10 12 15 -1 2 4 5 9 10 13 14 -1 2 4 5 9 10 13 15 -1 2 4 5 9 10 14 15 -1 2 4 5 9 11 12 13 -1 2 4 5 9 11 12 14 -1 2 4 5 9 11 12 15 -1 2 4 5 9 11 13 14 -1 2 4 5 9 11 13 15 -1 2 4 5 9 11 14 15 -1 2 4 5 9 12 13 14 -1 2 4 5 9 12 13 15 -1 2 4 5 9 12 14 15 -1 2 4 5 9 13 14 15 -1 2 4 5 10 11 12 13 -1 2 4 5 10 11 12 14 -1 2 4 5 10 11 12 15 -1 2 4 5 10 11 13 14 -1 2 4 5 10 11 13 15 -1 2 4 5 10 11 14 15 -1 2 4 5 10 12 13 14 -1 2 4 5 10 12 13 15 -1 2 4 5 10 12 14 15 -1 2 4 5 10 13 14 15 -1 2 4 5 11 12 13 14 -1 2 4 5 11 12 13 15 -1 2 4 5 11 12 14 15 -1 2 4 5 11 13 14 15 -1 2 4 5 12 13 14 15 -1 2 4 6 7 8 9 10 -1 2 4 6 7 8 9 11 -1 2 4 6 7 8 9 12 -1 2 4 6 7 8 9 13 -1 2 4 6 7 8 9 14 -1 2 4 6 7 8 9 15 -1 2 4 6 7 8 10 11 -1 2 4 6 7 8 10 12 -1 2 4 6 7 8 10 13 -1 2 4 6 7 8 10 14 -1 2 4 6 7 8 10 15 -1 2 4 6 7 8 11 12 -1 2 4 6 7 8 11 13 -1 2 4 6 7 8 11 14 -1 2 4 6 7 8 11 15 -1 2 4 6 7 8 12 13 -1 2 4 6 7 8 12 14 -1 2 4 6 7 8 12 15 -1 2 4 6 7 8 13 14 -1 2 4 6 7 8 13 15 -1 2 4 6 7 8 14 15 -1 2 4 6 7 9 10 11 -1 2 4 6 7 9 10 12 -1 2 4 6 7 9 10 13 -1 2 4 6 7 9 10 14 -1 2 4 6 7 9 10 15 -1 2 4 6 7 9 11 12 -1 2 4 6 7 9 11 13 -1 2 4 6 7 9 11 14 -1 2 4 6 7 9 11 15 -1 2 4 6 7 9 12 13 -1 2 4 6 7 9 12 14 -1 2 4 6 7 9 12 15 -1 2 4 6 7 9 13 14 -1 2 4 6 7 9 13 15 -1 2 4 6 7 9 14 15 -1 2 4 6 7 10 11 12 -1 2 4 6 7 10 11 13 -1 2 4 6 7 10 11 14 -1 2 4 6 7 10 11 15 -1 2 4 6 7 10 12 13 -1 2 4 6 7 10 12 14 -1 2 4 6 7 10 12 15 -1 2 4 6 7 10 13 14 -1 2 4 6 7 10 13 15 -1 2 4 6 7 10 14 15 -1 2 4 6 7 11 12 13 -1 2 4 6 7 11 12 14 -1 2 4 6 7 11 12 15 -1 2 4 6 7 11 13 14 -1 2 4 6 7 11 13 15 -1 2 4 6 7 11 14 15 -1 2 4 6 7 12 13 14 -1 2 4 6 7 12 13 15 -1 2 4 6 7 12 14 15 -1 2 4 6 7 13 14 15 -1 2 4 6 8 9 10 11 -1 2 4 6 8 9 10 12 -1 2 4 6 8 9 10 13 -1 2 4 6 8 9 10 14 -1 2 4 6 8 9 10 15 -1 2 4 6 8 9 11 12 -1 2 4 6 8 9 11 13 -1 2 4 6 8 9 11 14 -1 2 4 6 8 9 11 15 -1 2 4 6 8 9 12 13 -1 2 4 6 8 9 12 14 -1 2 4 6 8 9 12 15 -1 2 4 6 8 9 13 14 -1 2 4 6 8 9 13 15 -1 2 4 6 8 9 14 15 -1 2 4 6 8 10 11 12 -1 2 4 6 8 10 11 13 -1 2 4 6 8 10 11 14 -1 2 4 6 8 10 11 15 -1 2 4 6 8 10 12 13 -1 2 4 6 8 10 12 14 -1 2 4 6 8 10 12 15 -1 2 4 6 8 10 13 14 -1 2 4 6 8 10 13 15 -1 2 4 6 8 10 14 15 -1 2 4 6 8 11 12 13 -1 2 4 6 8 11 12 14 -1 2 4 6 8 11 12 15 -1 2 4 6 8 11 13 14 -1 2 4 6 8 11 13 15 -1 2 4 6 8 11 14 15 -1 2 4 6 8 12 13 14 -1 2 4 6 8 12 13 15 -1 2 4 6 8 12 14 15 -1 2 4 6 8 13 14 15 -1 2 4 6 9 10 11 12 -1 2 4 6 9 10 11 13 -1 2 4 6 9 10 11 14 -1 2 4 6 9 10 11 15 -1 2 4 6 9 10 12 13 -1 2 4 6 9 10 12 14 -1 2 4 6 9 10 12 15 -1 2 4 6 9 10 13 14 -1 2 4 6 9 10 13 15 -1 2 4 6 9 10 14 15 -1 2 4 6 9 11 12 13 -1 2 4 6 9 11 12 14 -1 2 4 6 9 11 12 15 -1 2 4 6 9 11 13 14 -1 2 4 6 9 11 13 15 -1 2 4 6 9 11 14 15 -1 2 4 6 9 12 13 14 -1 2 4 6 9 12 13 15 -1 2 4 6 9 12 14 15 -1 2 4 6 9 13 14 15 -1 2 4 6 10 11 12 13 -1 2 4 6 10 11 12 14 -1 2 4 6 10 11 12 15 -1 2 4 6 10 11 13 14 -1 2 4 6 10 11 13 15 -1 2 4 6 10 11 14 15 -1 2 4 6 10 12 13 14 -1 2 4 6 10 12 13 15 -1 2 4 6 10 12 14 15 -1 2 4 6 10 13 14 15 -1 2 4 6 11 12 13 14 -1 2 4 6 11 12 13 15 -1 2 4 6 11 12 14 15 -1 2 4 6 11 13 14 15 -1 2 4 6 12 13 14 15 -1 2 4 7 8 9 10 11 -1 2 4 7 8 9 10 12 -1 2 4 7 8 9 10 13 -1 2 4 7 8 9 10 14 -1 2 4 7 8 9 10 15 -1 2 4 7 8 9 11 12 -1 2 4 7 8 9 11 13 -1 2 4 7 8 9 11 14 -1 2 4 7 8 9 11 15 -1 2 4 7 8 9 12 13 -1 2 4 7 8 9 12 14 -1 2 4 7 8 9 12 15 -1 2 4 7 8 9 13 14 -1 2 4 7 8 9 13 15 -1 2 4 7 8 9 14 15 -1 2 4 7 8 10 11 12 -1 2 4 7 8 10 11 13 -1 2 4 7 8 10 11 14 -1 2 4 7 8 10 11 15 -1 2 4 7 8 10 12 13 -1 2 4 7 8 10 12 14 -1 2 4 7 8 10 12 15 -1 2 4 7 8 10 13 14 -1 2 4 7 8 10 13 15 -1 2 4 7 8 10 14 15 -1 2 4 7 8 11 12 13 -1 2 4 7 8 11 12 14 -1 2 4 7 8 11 12 15 -1 2 4 7 8 11 13 14 -1 2 4 7 8 11 13 15 -1 2 4 7 8 11 14 15 -1 2 4 7 8 12 13 14 -1 2 4 7 8 12 13 15 -1 2 4 7 8 12 14 15 -1 2 4 7 8 13 14 15 -1 2 4 7 9 10 11 12 -1 2 4 7 9 10 11 13 -1 2 4 7 9 10 11 14 -1 2 4 7 9 10 11 15 -1 2 4 7 9 10 12 13 -1 2 4 7 9 10 12 14 -1 2 4 7 9 10 12 15 -1 2 4 7 9 10 13 14 -1 2 4 7 9 10 13 15 -1 2 4 7 9 10 14 15 -1 2 4 7 9 11 12 13 -1 2 4 7 9 11 12 14 -1 2 4 7 9 11 12 15 -1 2 4 7 9 11 13 14 -1 2 4 7 9 11 13 15 -1 2 4 7 9 11 14 15 -1 2 4 7 9 12 13 14 -1 2 4 7 9 12 13 15 -1 2 4 7 9 12 14 15 -1 2 4 7 9 13 14 15 -1 2 4 7 10 11 12 13 -1 2 4 7 10 11 12 14 -1 2 4 7 10 11 12 15 -1 2 4 7 10 11 13 14 -1 2 4 7 10 11 13 15 -1 2 4 7 10 11 14 15 -1 2 4 7 10 12 13 14 -1 2 4 7 10 12 13 15 -1 2 4 7 10 12 14 15 -1 2 4 7 10 13 14 15 -1 2 4 7 11 12 13 14 -1 2 4 7 11 12 13 15 -1 2 4 7 11 12 14 15 -1 2 4 7 11 13 14 15 -1 2 4 7 12 13 14 15 -1 2 4 8 9 10 11 12 -1 2 4 8 9 10 11 13 -1 2 4 8 9 10 11 14 -1 2 4 8 9 10 11 15 -1 2 4 8 9 10 12 13 -1 2 4 8 9 10 12 14 -1 2 4 8 9 10 12 15 -1 2 4 8 9 10 13 14 -1 2 4 8 9 10 13 15 -1 2 4 8 9 10 14 15 -1 2 4 8 9 11 12 13 -1 2 4 8 9 11 12 14 -1 2 4 8 9 11 12 15 -1 2 4 8 9 11 13 14 -1 2 4 8 9 11 13 15 -1 2 4 8 9 11 14 15 -1 2 4 8 9 12 13 14 -1 2 4 8 9 12 13 15 -1 2 4 8 9 12 14 15 -1 2 4 8 9 13 14 15 -1 2 4 8 10 11 12 13 -1 2 4 8 10 11 12 14 -1 2 4 8 10 11 12 15 -1 2 4 8 10 11 13 14 -1 2 4 8 10 11 13 15 -1 2 4 8 10 11 14 15 -1 2 4 8 10 12 13 14 -1 2 4 8 10 12 13 15 -1 2 4 8 10 12 14 15 -1 2 4 8 10 13 14 15 -1 2 4 8 11 12 13 14 -1 2 4 8 11 12 13 15 -1 2 4 8 11 12 14 15 -1 2 4 8 11 13 14 15 -1 2 4 8 12 13 14 15 -1 2 4 9 10 11 12 13 -1 2 4 9 10 11 12 14 -1 2 4 9 10 11 12 15 -1 2 4 9 10 11 13 14 -1 2 4 9 10 11 13 15 -1 2 4 9 10 11 14 15 -1 2 4 9 10 12 13 14 -1 2 4 9 10 12 13 15 -1 2 4 9 10 12 14 15 -1 2 4 9 10 13 14 15 -1 2 4 9 11 12 13 14 -1 2 4 9 11 12 13 15 -1 2 4 9 11 12 14 15 -1 2 4 9 11 13 14 15 -1 2 4 9 12 13 14 15 -1 2 4 10 11 12 13 14 -1 2 4 10 11 12 13 15 -1 2 4 10 11 12 14 15 -1 2 4 10 11 13 14 15 -1 2 4 10 12 13 14 15 -1 2 4 11 12 13 14 15 -1 2 5 6 7 8 9 10 -1 2 5 6 7 8 9 11 -1 2 5 6 7 8 9 12 -1 2 5 6 7 8 9 13 -1 2 5 6 7 8 9 14 -1 2 5 6 7 8 9 15 -1 2 5 6 7 8 10 11 -1 2 5 6 7 8 10 12 -1 2 5 6 7 8 10 13 -1 2 5 6 7 8 10 14 -1 2 5 6 7 8 10 15 -1 2 5 6 7 8 11 12 -1 2 5 6 7 8 11 13 -1 2 5 6 7 8 11 14 -1 2 5 6 7 8 11 15 -1 2 5 6 7 8 12 13 -1 2 5 6 7 8 12 14 -1 2 5 6 7 8 12 15 -1 2 5 6 7 8 13 14 -1 2 5 6 7 8 13 15 -1 2 5 6 7 8 14 15 -1 2 5 6 7 9 10 11 -1 2 5 6 7 9 10 12 -1 2 5 6 7 9 10 13 -1 2 5 6 7 9 10 14 -1 2 5 6 7 9 10 15 -1 2 5 6 7 9 11 12 -1 2 5 6 7 9 11 13 -1 2 5 6 7 9 11 14 -1 2 5 6 7 9 11 15 -1 2 5 6 7 9 12 13 -1 2 5 6 7 9 12 14 -1 2 5 6 7 9 12 15 -1 2 5 6 7 9 13 14 -1 2 5 6 7 9 13 15 -1 2 5 6 7 9 14 15 -1 2 5 6 7 10 11 12 -1 2 5 6 7 10 11 13 -1 2 5 6 7 10 11 14 -1 2 5 6 7 10 11 15 -1 2 5 6 7 10 12 13 -1 2 5 6 7 10 12 14 -1 2 5 6 7 10 12 15 -1 2 5 6 7 10 13 14 -1 2 5 6 7 10 13 15 -1 2 5 6 7 10 14 15 -1 2 5 6 7 11 12 13 -1 2 5 6 7 11 12 14 -1 2 5 6 7 11 12 15 -1 2 5 6 7 11 13 14 -1 2 5 6 7 11 13 15 -1 2 5 6 7 11 14 15 -1 2 5 6 7 12 13 14 -1 2 5 6 7 12 13 15 -1 2 5 6 7 12 14 15 -1 2 5 6 7 13 14 15 -1 2 5 6 8 9 10 11 -1 2 5 6 8 9 10 12 -1 2 5 6 8 9 10 13 -1 2 5 6 8 9 10 14 -1 2 5 6 8 9 10 15 -1 2 5 6 8 9 11 12 -1 2 5 6 8 9 11 13 -1 2 5 6 8 9 11 14 -1 2 5 6 8 9 11 15 -1 2 5 6 8 9 12 13 -1 2 5 6 8 9 12 14 -1 2 5 6 8 9 12 15 -1 2 5 6 8 9 13 14 -1 2 5 6 8 9 13 15 -1 2 5 6 8 9 14 15 -1 2 5 6 8 10 11 12 -1 2 5 6 8 10 11 13 -1 2 5 6 8 10 11 14 -1 2 5 6 8 10 11 15 -1 2 5 6 8 10 12 13 -1 2 5 6 8 10 12 14 -1 2 5 6 8 10 12 15 -1 2 5 6 8 10 13 14 -1 2 5 6 8 10 13 15 -1 2 5 6 8 10 14 15 -1 2 5 6 8 11 12 13 -1 2 5 6 8 11 12 14 -1 2 5 6 8 11 12 15 -1 2 5 6 8 11 13 14 -1 2 5 6 8 11 13 15 -1 2 5 6 8 11 14 15 -1 2 5 6 8 12 13 14 -1 2 5 6 8 12 13 15 -1 2 5 6 8 12 14 15 -1 2 5 6 8 13 14 15 -1 2 5 6 9 10 11 12 -1 2 5 6 9 10 11 13 -1 2 5 6 9 10 11 14 -1 2 5 6 9 10 11 15 -1 2 5 6 9 10 12 13 -1 2 5 6 9 10 12 14 -1 2 5 6 9 10 12 15 -1 2 5 6 9 10 13 14 -1 2 5 6 9 10 13 15 -1 2 5 6 9 10 14 15 -1 2 5 6 9 11 12 13 -1 2 5 6 9 11 12 14 -1 2 5 6 9 11 12 15 -1 2 5 6 9 11 13 14 -1 2 5 6 9 11 13 15 -1 2 5 6 9 11 14 15 -1 2 5 6 9 12 13 14 -1 2 5 6 9 12 13 15 -1 2 5 6 9 12 14 15 -1 2 5 6 9 13 14 15 -1 2 5 6 10 11 12 13 -1 2 5 6 10 11 12 14 -1 2 5 6 10 11 12 15 -1 2 5 6 10 11 13 14 -1 2 5 6 10 11 13 15 -1 2 5 6 10 11 14 15 -1 2 5 6 10 12 13 14 -1 2 5 6 10 12 13 15 -1 2 5 6 10 12 14 15 -1 2 5 6 10 13 14 15 -1 2 5 6 11 12 13 14 -1 2 5 6 11 12 13 15 -1 2 5 6 11 12 14 15 -1 2 5 6 11 13 14 15 -1 2 5 6 12 13 14 15 -1 2 5 7 8 9 10 11 -1 2 5 7 8 9 10 12 -1 2 5 7 8 9 10 13 -1 2 5 7 8 9 10 14 -1 2 5 7 8 9 10 15 -1 2 5 7 8 9 11 12 -1 2 5 7 8 9 11 13 -1 2 5 7 8 9 11 14 -1 2 5 7 8 9 11 15 -1 2 5 7 8 9 12 13 -1 2 5 7 8 9 12 14 -1 2 5 7 8 9 12 15 -1 2 5 7 8 9 13 14 -1 2 5 7 8 9 13 15 -1 2 5 7 8 9 14 15 -1 2 5 7 8 10 11 12 -1 2 5 7 8 10 11 13 -1 2 5 7 8 10 11 14 -1 2 5 7 8 10 11 15 -1 2 5 7 8 10 12 13 -1 2 5 7 8 10 12 14 -1 2 5 7 8 10 12 15 -1 2 5 7 8 10 13 14 -1 2 5 7 8 10 13 15 -1 2 5 7 8 10 14 15 -1 2 5 7 8 11 12 13 -1 2 5 7 8 11 12 14 -1 2 5 7 8 11 12 15 -1 2 5 7 8 11 13 14 -1 2 5 7 8 11 13 15 -1 2 5 7 8 11 14 15 -1 2 5 7 8 12 13 14 -1 2 5 7 8 12 13 15 -1 2 5 7 8 12 14 15 -1 2 5 7 8 13 14 15 -1 2 5 7 9 10 11 12 -1 2 5 7 9 10 11 13 -1 2 5 7 9 10 11 14 -1 2 5 7 9 10 11 15 -1 2 5 7 9 10 12 13 -1 2 5 7 9 10 12 14 -1 2 5 7 9 10 12 15 -1 2 5 7 9 10 13 14 -1 2 5 7 9 10 13 15 -1 2 5 7 9 10 14 15 -1 2 5 7 9 11 12 13 -1 2 5 7 9 11 12 14 -1 2 5 7 9 11 12 15 -1 2 5 7 9 11 13 14 -1 2 5 7 9 11 13 15 -1 2 5 7 9 11 14 15 -1 2 5 7 9 12 13 14 -1 2 5 7 9 12 13 15 -1 2 5 7 9 12 14 15 -1 2 5 7 9 13 14 15 -1 2 5 7 10 11 12 13 -1 2 5 7 10 11 12 14 -1 2 5 7 10 11 12 15 -1 2 5 7 10 11 13 14 -1 2 5 7 10 11 13 15 -1 2 5 7 10 11 14 15 -1 2 5 7 10 12 13 14 -1 2 5 7 10 12 13 15 -1 2 5 7 10 12 14 15 -1 2 5 7 10 13 14 15 -1 2 5 7 11 12 13 14 -1 2 5 7 11 12 13 15 -1 2 5 7 11 12 14 15 -1 2 5 7 11 13 14 15 -1 2 5 7 12 13 14 15 -1 2 5 8 9 10 11 12 -1 2 5 8 9 10 11 13 -1 2 5 8 9 10 11 14 -1 2 5 8 9 10 11 15 -1 2 5 8 9 10 12 13 -1 2 5 8 9 10 12 14 -1 2 5 8 9 10 12 15 -1 2 5 8 9 10 13 14 -1 2 5 8 9 10 13 15 -1 2 5 8 9 10 14 15 -1 2 5 8 9 11 12 13 -1 2 5 8 9 11 12 14 -1 2 5 8 9 11 12 15 -1 2 5 8 9 11 13 14 -1 2 5 8 9 11 13 15 -1 2 5 8 9 11 14 15 -1 2 5 8 9 12 13 14 -1 2 5 8 9 12 13 15 -1 2 5 8 9 12 14 15 -1 2 5 8 9 13 14 15 -1 2 5 8 10 11 12 13 -1 2 5 8 10 11 12 14 -1 2 5 8 10 11 12 15 -1 2 5 8 10 11 13 14 -1 2 5 8 10 11 13 15 -1 2 5 8 10 11 14 15 -1 2 5 8 10 12 13 14 -1 2 5 8 10 12 13 15 -1 2 5 8 10 12 14 15 -1 2 5 8 10 13 14 15 -1 2 5 8 11 12 13 14 -1 2 5 8 11 12 13 15 -1 2 5 8 11 12 14 15 -1 2 5 8 11 13 14 15 -1 2 5 8 12 13 14 15 -1 2 5 9 10 11 12 13 -1 2 5 9 10 11 12 14 -1 2 5 9 10 11 12 15 -1 2 5 9 10 11 13 14 -1 2 5 9 10 11 13 15 -1 2 5 9 10 11 14 15 -1 2 5 9 10 12 13 14 -1 2 5 9 10 12 13 15 -1 2 5 9 10 12 14 15 -1 2 5 9 10 13 14 15 -1 2 5 9 11 12 13 14 -1 2 5 9 11 12 13 15 -1 2 5 9 11 12 14 15 -1 2 5 9 11 13 14 15 -1 2 5 9 12 13 14 15 -1 2 5 10 11 12 13 14 -1 2 5 10 11 12 13 15 -1 2 5 10 11 12 14 15 -1 2 5 10 11 13 14 15 -1 2 5 10 12 13 14 15 -1 2 5 11 12 13 14 15 -1 2 6 7 8 9 10 11 -1 2 6 7 8 9 10 12 -1 2 6 7 8 9 10 13 -1 2 6 7 8 9 10 14 -1 2 6 7 8 9 10 15 -1 2 6 7 8 9 11 12 -1 2 6 7 8 9 11 13 -1 2 6 7 8 9 11 14 -1 2 6 7 8 9 11 15 -1 2 6 7 8 9 12 13 -1 2 6 7 8 9 12 14 -1 2 6 7 8 9 12 15 -1 2 6 7 8 9 13 14 -1 2 6 7 8 9 13 15 -1 2 6 7 8 9 14 15 -1 2 6 7 8 10 11 12 -1 2 6 7 8 10 11 13 -1 2 6 7 8 10 11 14 -1 2 6 7 8 10 11 15 -1 2 6 7 8 10 12 13 -1 2 6 7 8 10 12 14 -1 2 6 7 8 10 12 15 -1 2 6 7 8 10 13 14 -1 2 6 7 8 10 13 15 -1 2 6 7 8 10 14 15 -1 2 6 7 8 11 12 13 -1 2 6 7 8 11 12 14 -1 2 6 7 8 11 12 15 -1 2 6 7 8 11 13 14 -1 2 6 7 8 11 13 15 -1 2 6 7 8 11 14 15 -1 2 6 7 8 12 13 14 -1 2 6 7 8 12 13 15 -1 2 6 7 8 12 14 15 -1 2 6 7 8 13 14 15 -1 2 6 7 9 10 11 12 -1 2 6 7 9 10 11 13 -1 2 6 7 9 10 11 14 -1 2 6 7 9 10 11 15 -1 2 6 7 9 10 12 13 -1 2 6 7 9 10 12 14 -1 2 6 7 9 10 12 15 -1 2 6 7 9 10 13 14 -1 2 6 7 9 10 13 15 -1 2 6 7 9 10 14 15 -1 2 6 7 9 11 12 13 -1 2 6 7 9 11 12 14 -1 2 6 7 9 11 12 15 -1 2 6 7 9 11 13 14 -1 2 6 7 9 11 13 15 -1 2 6 7 9 11 14 15 -1 2 6 7 9 12 13 14 -1 2 6 7 9 12 13 15 -1 2 6 7 9 12 14 15 -1 2 6 7 9 13 14 15 -1 2 6 7 10 11 12 13 -1 2 6 7 10 11 12 14 -1 2 6 7 10 11 12 15 -1 2 6 7 10 11 13 14 -1 2 6 7 10 11 13 15 -1 2 6 7 10 11 14 15 -1 2 6 7 10 12 13 14 -1 2 6 7 10 12 13 15 -1 2 6 7 10 12 14 15 -1 2 6 7 10 13 14 15 -1 2 6 7 11 12 13 14 -1 2 6 7 11 12 13 15 -1 2 6 7 11 12 14 15 -1 2 6 7 11 13 14 15 -1 2 6 7 12 13 14 15 -1 2 6 8 9 10 11 12 -1 2 6 8 9 10 11 13 -1 2 6 8 9 10 11 14 -1 2 6 8 9 10 11 15 -1 2 6 8 9 10 12 13 -1 2 6 8 9 10 12 14 -1 2 6 8 9 10 12 15 -1 2 6 8 9 10 13 14 -1 2 6 8 9 10 13 15 -1 2 6 8 9 10 14 15 -1 2 6 8 9 11 12 13 -1 2 6 8 9 11 12 14 -1 2 6 8 9 11 12 15 -1 2 6 8 9 11 13 14 -1 2 6 8 9 11 13 15 -1 2 6 8 9 11 14 15 -1 2 6 8 9 12 13 14 -1 2 6 8 9 12 13 15 -1 2 6 8 9 12 14 15 -1 2 6 8 9 13 14 15 -1 2 6 8 10 11 12 13 -1 2 6 8 10 11 12 14 -1 2 6 8 10 11 12 15 -1 2 6 8 10 11 13 14 -1 2 6 8 10 11 13 15 -1 2 6 8 10 11 14 15 -1 2 6 8 10 12 13 14 -1 2 6 8 10 12 13 15 -1 2 6 8 10 12 14 15 -1 2 6 8 10 13 14 15 -1 2 6 8 11 12 13 14 -1 2 6 8 11 12 13 15 -1 2 6 8 11 12 14 15 -1 2 6 8 11 13 14 15 -1 2 6 8 12 13 14 15 -1 2 6 9 10 11 12 13 -1 2 6 9 10 11 12 14 -1 2 6 9 10 11 12 15 -1 2 6 9 10 11 13 14 -1 2 6 9 10 11 13 15 -1 2 6 9 10 11 14 15 -1 2 6 9 10 12 13 14 -1 2 6 9 10 12 13 15 -1 2 6 9 10 12 14 15 -1 2 6 9 10 13 14 15 -1 2 6 9 11 12 13 14 -1 2 6 9 11 12 13 15 -1 2 6 9 11 12 14 15 -1 2 6 9 11 13 14 15 -1 2 6 9 12 13 14 15 -1 2 6 10 11 12 13 14 -1 2 6 10 11 12 13 15 -1 2 6 10 11 12 14 15 -1 2 6 10 11 13 14 15 -1 2 6 10 12 13 14 15 -1 2 6 11 12 13 14 15 -1 2 7 8 9 10 11 12 -1 2 7 8 9 10 11 13 -1 2 7 8 9 10 11 14 -1 2 7 8 9 10 11 15 -1 2 7 8 9 10 12 13 -1 2 7 8 9 10 12 14 -1 2 7 8 9 10 12 15 -1 2 7 8 9 10 13 14 -1 2 7 8 9 10 13 15 -1 2 7 8 9 10 14 15 -1 2 7 8 9 11 12 13 -1 2 7 8 9 11 12 14 -1 2 7 8 9 11 12 15 -1 2 7 8 9 11 13 14 -1 2 7 8 9 11 13 15 -1 2 7 8 9 11 14 15 -1 2 7 8 9 12 13 14 -1 2 7 8 9 12 13 15 -1 2 7 8 9 12 14 15 -1 2 7 8 9 13 14 15 -1 2 7 8 10 11 12 13 -1 2 7 8 10 11 12 14 -1 2 7 8 10 11 12 15 -1 2 7 8 10 11 13 14 -1 2 7 8 10 11 13 15 -1 2 7 8 10 11 14 15 -1 2 7 8 10 12 13 14 -1 2 7 8 10 12 13 15 -1 2 7 8 10 12 14 15 -1 2 7 8 10 13 14 15 -1 2 7 8 11 12 13 14 -1 2 7 8 11 12 13 15 -1 2 7 8 11 12 14 15 -1 2 7 8 11 13 14 15 -1 2 7 8 12 13 14 15 -1 2 7 9 10 11 12 13 -1 2 7 9 10 11 12 14 -1 2 7 9 10 11 12 15 -1 2 7 9 10 11 13 14 -1 2 7 9 10 11 13 15 -1 2 7 9 10 11 14 15 -1 2 7 9 10 12 13 14 -1 2 7 9 10 12 13 15 -1 2 7 9 10 12 14 15 -1 2 7 9 10 13 14 15 -1 2 7 9 11 12 13 14 -1 2 7 9 11 12 13 15 -1 2 7 9 11 12 14 15 -1 2 7 9 11 13 14 15 -1 2 7 9 12 13 14 15 -1 2 7 10 11 12 13 14 -1 2 7 10 11 12 13 15 -1 2 7 10 11 12 14 15 -1 2 7 10 11 13 14 15 -1 2 7 10 12 13 14 15 -1 2 7 11 12 13 14 15 -1 2 8 9 10 11 12 13 -1 2 8 9 10 11 12 14 -1 2 8 9 10 11 12 15 -1 2 8 9 10 11 13 14 -1 2 8 9 10 11 13 15 -1 2 8 9 10 11 14 15 -1 2 8 9 10 12 13 14 -1 2 8 9 10 12 13 15 -1 2 8 9 10 12 14 15 -1 2 8 9 10 13 14 15 -1 2 8 9 11 12 13 14 -1 2 8 9 11 12 13 15 -1 2 8 9 11 12 14 15 -1 2 8 9 11 13 14 15 -1 2 8 9 12 13 14 15 -1 2 8 10 11 12 13 14 -1 2 8 10 11 12 13 15 -1 2 8 10 11 12 14 15 -1 2 8 10 11 13 14 15 -1 2 8 10 12 13 14 15 -1 2 8 11 12 13 14 15 -1 2 9 10 11 12 13 14 -1 2 9 10 11 12 13 15 -1 2 9 10 11 12 14 15 -1 2 9 10 11 13 14 15 -1 2 9 10 12 13 14 15 -1 2 9 11 12 13 14 15 -1 2 10 11 12 13 14 15 -1 3 4 5 6 7 8 9 -1 3 4 5 6 7 8 10 -1 3 4 5 6 7 8 11 -1 3 4 5 6 7 8 12 -1 3 4 5 6 7 8 13 -1 3 4 5 6 7 8 14 -1 3 4 5 6 7 8 15 -1 3 4 5 6 7 9 10 -1 3 4 5 6 7 9 11 -1 3 4 5 6 7 9 12 -1 3 4 5 6 7 9 13 -1 3 4 5 6 7 9 14 -1 3 4 5 6 7 9 15 -1 3 4 5 6 7 10 11 -1 3 4 5 6 7 10 12 -1 3 4 5 6 7 10 13 -1 3 4 5 6 7 10 14 -1 3 4 5 6 7 10 15 -1 3 4 5 6 7 11 12 -1 3 4 5 6 7 11 13 -1 3 4 5 6 7 11 14 -1 3 4 5 6 7 11 15 -1 3 4 5 6 7 12 13 -1 3 4 5 6 7 12 14 -1 3 4 5 6 7 12 15 -1 3 4 5 6 7 13 14 -1 3 4 5 6 7 13 15 -1 3 4 5 6 7 14 15 -1 3 4 5 6 8 9 10 -1 3 4 5 6 8 9 11 -1 3 4 5 6 8 9 12 -1 3 4 5 6 8 9 13 -1 3 4 5 6 8 9 14 -1 3 4 5 6 8 9 15 -1 3 4 5 6 8 10 11 -1 3 4 5 6 8 10 12 -1 3 4 5 6 8 10 13 -1 3 4 5 6 8 10 14 -1 3 4 5 6 8 10 15 -1 3 4 5 6 8 11 12 -1 3 4 5 6 8 11 13 -1 3 4 5 6 8 11 14 -1 3 4 5 6 8 11 15 -1 3 4 5 6 8 12 13 -1 3 4 5 6 8 12 14 -1 3 4 5 6 8 12 15 -1 3 4 5 6 8 13 14 -1 3 4 5 6 8 13 15 -1 3 4 5 6 8 14 15 -1 3 4 5 6 9 10 11 -1 3 4 5 6 9 10 12 -1 3 4 5 6 9 10 13 -1 3 4 5 6 9 10 14 -1 3 4 5 6 9 10 15 -1 3 4 5 6 9 11 12 -1 3 4 5 6 9 11 13 -1 3 4 5 6 9 11 14 -1 3 4 5 6 9 11 15 -1 3 4 5 6 9 12 13 -1 3 4 5 6 9 12 14 -1 3 4 5 6 9 12 15 -1 3 4 5 6 9 13 14 -1 3 4 5 6 9 13 15 -1 3 4 5 6 9 14 15 -1 3 4 5 6 10 11 12 -1 3 4 5 6 10 11 13 -1 3 4 5 6 10 11 14 -1 3 4 5 6 10 11 15 -1 3 4 5 6 10 12 13 -1 3 4 5 6 10 12 14 -1 3 4 5 6 10 12 15 -1 3 4 5 6 10 13 14 -1 3 4 5 6 10 13 15 -1 3 4 5 6 10 14 15 -1 3 4 5 6 11 12 13 -1 3 4 5 6 11 12 14 -1 3 4 5 6 11 12 15 -1 3 4 5 6 11 13 14 -1 3 4 5 6 11 13 15 -1 3 4 5 6 11 14 15 -1 3 4 5 6 12 13 14 -1 3 4 5 6 12 13 15 -1 3 4 5 6 12 14 15 -1 3 4 5 6 13 14 15 -1 3 4 5 7 8 9 10 -1 3 4 5 7 8 9 11 -1 3 4 5 7 8 9 12 -1 3 4 5 7 8 9 13 -1 3 4 5 7 8 9 14 -1 3 4 5 7 8 9 15 -1 3 4 5 7 8 10 11 -1 3 4 5 7 8 10 12 -1 3 4 5 7 8 10 13 -1 3 4 5 7 8 10 14 -1 3 4 5 7 8 10 15 -1 3 4 5 7 8 11 12 -1 3 4 5 7 8 11 13 -1 3 4 5 7 8 11 14 -1 3 4 5 7 8 11 15 -1 3 4 5 7 8 12 13 -1 3 4 5 7 8 12 14 -1 3 4 5 7 8 12 15 -1 3 4 5 7 8 13 14 -1 3 4 5 7 8 13 15 -1 3 4 5 7 8 14 15 -1 3 4 5 7 9 10 11 -1 3 4 5 7 9 10 12 -1 3 4 5 7 9 10 13 -1 3 4 5 7 9 10 14 -1 3 4 5 7 9 10 15 -1 3 4 5 7 9 11 12 -1 3 4 5 7 9 11 13 -1 3 4 5 7 9 11 14 -1 3 4 5 7 9 11 15 -1 3 4 5 7 9 12 13 -1 3 4 5 7 9 12 14 -1 3 4 5 7 9 12 15 -1 3 4 5 7 9 13 14 -1 3 4 5 7 9 13 15 -1 3 4 5 7 9 14 15 -1 3 4 5 7 10 11 12 -1 3 4 5 7 10 11 13 -1 3 4 5 7 10 11 14 -1 3 4 5 7 10 11 15 -1 3 4 5 7 10 12 13 -1 3 4 5 7 10 12 14 -1 3 4 5 7 10 12 15 -1 3 4 5 7 10 13 14 -1 3 4 5 7 10 13 15 -1 3 4 5 7 10 14 15 -1 3 4 5 7 11 12 13 -1 3 4 5 7 11 12 14 -1 3 4 5 7 11 12 15 -1 3 4 5 7 11 13 14 -1 3 4 5 7 11 13 15 -1 3 4 5 7 11 14 15 -1 3 4 5 7 12 13 14 -1 3 4 5 7 12 13 15 -1 3 4 5 7 12 14 15 -1 3 4 5 7 13 14 15 -1 3 4 5 8 9 10 11 -1 3 4 5 8 9 10 12 -1 3 4 5 8 9 10 13 -1 3 4 5 8 9 10 14 -1 3 4 5 8 9 10 15 -1 3 4 5 8 9 11 12 -1 3 4 5 8 9 11 13 -1 3 4 5 8 9 11 14 -1 3 4 5 8 9 11 15 -1 3 4 5 8 9 12 13 -1 3 4 5 8 9 12 14 -1 3 4 5 8 9 12 15 -1 3 4 5 8 9 13 14 -1 3 4 5 8 9 13 15 -1 3 4 5 8 9 14 15 -1 3 4 5 8 10 11 12 -1 3 4 5 8 10 11 13 -1 3 4 5 8 10 11 14 -1 3 4 5 8 10 11 15 -1 3 4 5 8 10 12 13 -1 3 4 5 8 10 12 14 -1 3 4 5 8 10 12 15 -1 3 4 5 8 10 13 14 -1 3 4 5 8 10 13 15 -1 3 4 5 8 10 14 15 -1 3 4 5 8 11 12 13 -1 3 4 5 8 11 12 14 -1 3 4 5 8 11 12 15 -1 3 4 5 8 11 13 14 -1 3 4 5 8 11 13 15 -1 3 4 5 8 11 14 15 -1 3 4 5 8 12 13 14 -1 3 4 5 8 12 13 15 -1 3 4 5 8 12 14 15 -1 3 4 5 8 13 14 15 -1 3 4 5 9 10 11 12 -1 3 4 5 9 10 11 13 -1 3 4 5 9 10 11 14 -1 3 4 5 9 10 11 15 -1 3 4 5 9 10 12 13 -1 3 4 5 9 10 12 14 -1 3 4 5 9 10 12 15 -1 3 4 5 9 10 13 14 -1 3 4 5 9 10 13 15 -1 3 4 5 9 10 14 15 -1 3 4 5 9 11 12 13 -1 3 4 5 9 11 12 14 -1 3 4 5 9 11 12 15 -1 3 4 5 9 11 13 14 -1 3 4 5 9 11 13 15 -1 3 4 5 9 11 14 15 -1 3 4 5 9 12 13 14 -1 3 4 5 9 12 13 15 -1 3 4 5 9 12 14 15 -1 3 4 5 9 13 14 15 -1 3 4 5 10 11 12 13 -1 3 4 5 10 11 12 14 -1 3 4 5 10 11 12 15 -1 3 4 5 10 11 13 14 -1 3 4 5 10 11 13 15 -1 3 4 5 10 11 14 15 -1 3 4 5 10 12 13 14 -1 3 4 5 10 12 13 15 -1 3 4 5 10 12 14 15 -1 3 4 5 10 13 14 15 -1 3 4 5 11 12 13 14 -1 3 4 5 11 12 13 15 -1 3 4 5 11 12 14 15 -1 3 4 5 11 13 14 15 -1 3 4 5 12 13 14 15 -1 3 4 6 7 8 9 10 -1 3 4 6 7 8 9 11 -1 3 4 6 7 8 9 12 -1 3 4 6 7 8 9 13 -1 3 4 6 7 8 9 14 -1 3 4 6 7 8 9 15 -1 3 4 6 7 8 10 11 -1 3 4 6 7 8 10 12 -1 3 4 6 7 8 10 13 -1 3 4 6 7 8 10 14 -1 3 4 6 7 8 10 15 -1 3 4 6 7 8 11 12 -1 3 4 6 7 8 11 13 -1 3 4 6 7 8 11 14 -1 3 4 6 7 8 11 15 -1 3 4 6 7 8 12 13 -1 3 4 6 7 8 12 14 -1 3 4 6 7 8 12 15 -1 3 4 6 7 8 13 14 -1 3 4 6 7 8 13 15 -1 3 4 6 7 8 14 15 -1 3 4 6 7 9 10 11 -1 3 4 6 7 9 10 12 -1 3 4 6 7 9 10 13 -1 3 4 6 7 9 10 14 -1 3 4 6 7 9 10 15 -1 3 4 6 7 9 11 12 -1 3 4 6 7 9 11 13 -1 3 4 6 7 9 11 14 -1 3 4 6 7 9 11 15 -1 3 4 6 7 9 12 13 -1 3 4 6 7 9 12 14 -1 3 4 6 7 9 12 15 -1 3 4 6 7 9 13 14 -1 3 4 6 7 9 13 15 -1 3 4 6 7 9 14 15 -1 3 4 6 7 10 11 12 -1 3 4 6 7 10 11 13 -1 3 4 6 7 10 11 14 -1 3 4 6 7 10 11 15 -1 3 4 6 7 10 12 13 -1 3 4 6 7 10 12 14 -1 3 4 6 7 10 12 15 -1 3 4 6 7 10 13 14 -1 3 4 6 7 10 13 15 -1 3 4 6 7 10 14 15 -1 3 4 6 7 11 12 13 -1 3 4 6 7 11 12 14 -1 3 4 6 7 11 12 15 -1 3 4 6 7 11 13 14 -1 3 4 6 7 11 13 15 -1 3 4 6 7 11 14 15 -1 3 4 6 7 12 13 14 -1 3 4 6 7 12 13 15 -1 3 4 6 7 12 14 15 -1 3 4 6 7 13 14 15 -1 3 4 6 8 9 10 11 -1 3 4 6 8 9 10 12 -1 3 4 6 8 9 10 13 -1 3 4 6 8 9 10 14 -1 3 4 6 8 9 10 15 -1 3 4 6 8 9 11 12 -1 3 4 6 8 9 11 13 -1 3 4 6 8 9 11 14 -1 3 4 6 8 9 11 15 -1 3 4 6 8 9 12 13 -1 3 4 6 8 9 12 14 -1 3 4 6 8 9 12 15 -1 3 4 6 8 9 13 14 -1 3 4 6 8 9 13 15 -1 3 4 6 8 9 14 15 -1 3 4 6 8 10 11 12 -1 3 4 6 8 10 11 13 -1 3 4 6 8 10 11 14 -1 3 4 6 8 10 11 15 -1 3 4 6 8 10 12 13 -1 3 4 6 8 10 12 14 -1 3 4 6 8 10 12 15 -1 3 4 6 8 10 13 14 -1 3 4 6 8 10 13 15 -1 3 4 6 8 10 14 15 -1 3 4 6 8 11 12 13 -1 3 4 6 8 11 12 14 -1 3 4 6 8 11 12 15 -1 3 4 6 8 11 13 14 -1 3 4 6 8 11 13 15 -1 3 4 6 8 11 14 15 -1 3 4 6 8 12 13 14 -1 3 4 6 8 12 13 15 -1 3 4 6 8 12 14 15 -1 3 4 6 8 13 14 15 -1 3 4 6 9 10 11 12 -1 3 4 6 9 10 11 13 -1 3 4 6 9 10 11 14 -1 3 4 6 9 10 11 15 -1 3 4 6 9 10 12 13 -1 3 4 6 9 10 12 14 -1 3 4 6 9 10 12 15 -1 3 4 6 9 10 13 14 -1 3 4 6 9 10 13 15 -1 3 4 6 9 10 14 15 -1 3 4 6 9 11 12 13 -1 3 4 6 9 11 12 14 -1 3 4 6 9 11 12 15 -1 3 4 6 9 11 13 14 -1 3 4 6 9 11 13 15 -1 3 4 6 9 11 14 15 -1 3 4 6 9 12 13 14 -1 3 4 6 9 12 13 15 -1 3 4 6 9 12 14 15 -1 3 4 6 9 13 14 15 -1 3 4 6 10 11 12 13 -1 3 4 6 10 11 12 14 -1 3 4 6 10 11 12 15 -1 3 4 6 10 11 13 14 -1 3 4 6 10 11 13 15 -1 3 4 6 10 11 14 15 -1 3 4 6 10 12 13 14 -1 3 4 6 10 12 13 15 -1 3 4 6 10 12 14 15 -1 3 4 6 10 13 14 15 -1 3 4 6 11 12 13 14 -1 3 4 6 11 12 13 15 -1 3 4 6 11 12 14 15 -1 3 4 6 11 13 14 15 -1 3 4 6 12 13 14 15 -1 3 4 7 8 9 10 11 -1 3 4 7 8 9 10 12 -1 3 4 7 8 9 10 13 -1 3 4 7 8 9 10 14 -1 3 4 7 8 9 10 15 -1 3 4 7 8 9 11 12 -1 3 4 7 8 9 11 13 -1 3 4 7 8 9 11 14 -1 3 4 7 8 9 11 15 -1 3 4 7 8 9 12 13 -1 3 4 7 8 9 12 14 -1 3 4 7 8 9 12 15 -1 3 4 7 8 9 13 14 -1 3 4 7 8 9 13 15 -1 3 4 7 8 9 14 15 -1 3 4 7 8 10 11 12 -1 3 4 7 8 10 11 13 -1 3 4 7 8 10 11 14 -1 3 4 7 8 10 11 15 -1 3 4 7 8 10 12 13 -1 3 4 7 8 10 12 14 -1 3 4 7 8 10 12 15 -1 3 4 7 8 10 13 14 -1 3 4 7 8 10 13 15 -1 3 4 7 8 10 14 15 -1 3 4 7 8 11 12 13 -1 3 4 7 8 11 12 14 -1 3 4 7 8 11 12 15 -1 3 4 7 8 11 13 14 -1 3 4 7 8 11 13 15 -1 3 4 7 8 11 14 15 -1 3 4 7 8 12 13 14 -1 3 4 7 8 12 13 15 -1 3 4 7 8 12 14 15 -1 3 4 7 8 13 14 15 -1 3 4 7 9 10 11 12 -1 3 4 7 9 10 11 13 -1 3 4 7 9 10 11 14 -1 3 4 7 9 10 11 15 -1 3 4 7 9 10 12 13 -1 3 4 7 9 10 12 14 -1 3 4 7 9 10 12 15 -1 3 4 7 9 10 13 14 -1 3 4 7 9 10 13 15 -1 3 4 7 9 10 14 15 -1 3 4 7 9 11 12 13 -1 3 4 7 9 11 12 14 -1 3 4 7 9 11 12 15 -1 3 4 7 9 11 13 14 -1 3 4 7 9 11 13 15 -1 3 4 7 9 11 14 15 -1 3 4 7 9 12 13 14 -1 3 4 7 9 12 13 15 -1 3 4 7 9 12 14 15 -1 3 4 7 9 13 14 15 -1 3 4 7 10 11 12 13 -1 3 4 7 10 11 12 14 -1 3 4 7 10 11 12 15 -1 3 4 7 10 11 13 14 -1 3 4 7 10 11 13 15 -1 3 4 7 10 11 14 15 -1 3 4 7 10 12 13 14 -1 3 4 7 10 12 13 15 -1 3 4 7 10 12 14 15 -1 3 4 7 10 13 14 15 -1 3 4 7 11 12 13 14 -1 3 4 7 11 12 13 15 -1 3 4 7 11 12 14 15 -1 3 4 7 11 13 14 15 -1 3 4 7 12 13 14 15 -1 3 4 8 9 10 11 12 -1 3 4 8 9 10 11 13 -1 3 4 8 9 10 11 14 -1 3 4 8 9 10 11 15 -1 3 4 8 9 10 12 13 -1 3 4 8 9 10 12 14 -1 3 4 8 9 10 12 15 -1 3 4 8 9 10 13 14 -1 3 4 8 9 10 13 15 -1 3 4 8 9 10 14 15 -1 3 4 8 9 11 12 13 -1 3 4 8 9 11 12 14 -1 3 4 8 9 11 12 15 -1 3 4 8 9 11 13 14 -1 3 4 8 9 11 13 15 -1 3 4 8 9 11 14 15 -1 3 4 8 9 12 13 14 -1 3 4 8 9 12 13 15 -1 3 4 8 9 12 14 15 -1 3 4 8 9 13 14 15 -1 3 4 8 10 11 12 13 -1 3 4 8 10 11 12 14 -1 3 4 8 10 11 12 15 -1 3 4 8 10 11 13 14 -1 3 4 8 10 11 13 15 -1 3 4 8 10 11 14 15 -1 3 4 8 10 12 13 14 -1 3 4 8 10 12 13 15 -1 3 4 8 10 12 14 15 -1 3 4 8 10 13 14 15 -1 3 4 8 11 12 13 14 -1 3 4 8 11 12 13 15 -1 3 4 8 11 12 14 15 -1 3 4 8 11 13 14 15 -1 3 4 8 12 13 14 15 -1 3 4 9 10 11 12 13 -1 3 4 9 10 11 12 14 -1 3 4 9 10 11 12 15 -1 3 4 9 10 11 13 14 -1 3 4 9 10 11 13 15 -1 3 4 9 10 11 14 15 -1 3 4 9 10 12 13 14 -1 3 4 9 10 12 13 15 -1 3 4 9 10 12 14 15 -1 3 4 9 10 13 14 15 -1 3 4 9 11 12 13 14 -1 3 4 9 11 12 13 15 -1 3 4 9 11 12 14 15 -1 3 4 9 11 13 14 15 -1 3 4 9 12 13 14 15 -1 3 4 10 11 12 13 14 -1 3 4 10 11 12 13 15 -1 3 4 10 11 12 14 15 -1 3 4 10 11 13 14 15 -1 3 4 10 12 13 14 15 -1 3 4 11 12 13 14 15 -1 3 5 6 7 8 9 10 -1 3 5 6 7 8 9 11 -1 3 5 6 7 8 9 12 -1 3 5 6 7 8 9 13 -1 3 5 6 7 8 9 14 -1 3 5 6 7 8 9 15 -1 3 5 6 7 8 10 11 -1 3 5 6 7 8 10 12 -1 3 5 6 7 8 10 13 -1 3 5 6 7 8 10 14 -1 3 5 6 7 8 10 15 -1 3 5 6 7 8 11 12 -1 3 5 6 7 8 11 13 -1 3 5 6 7 8 11 14 -1 3 5 6 7 8 11 15 -1 3 5 6 7 8 12 13 -1 3 5 6 7 8 12 14 -1 3 5 6 7 8 12 15 -1 3 5 6 7 8 13 14 -1 3 5 6 7 8 13 15 -1 3 5 6 7 8 14 15 -1 3 5 6 7 9 10 11 -1 3 5 6 7 9 10 12 -1 3 5 6 7 9 10 13 -1 3 5 6 7 9 10 14 -1 3 5 6 7 9 10 15 -1 3 5 6 7 9 11 12 -1 3 5 6 7 9 11 13 -1 3 5 6 7 9 11 14 -1 3 5 6 7 9 11 15 -1 3 5 6 7 9 12 13 -1 3 5 6 7 9 12 14 -1 3 5 6 7 9 12 15 -1 3 5 6 7 9 13 14 -1 3 5 6 7 9 13 15 -1 3 5 6 7 9 14 15 -1 3 5 6 7 10 11 12 -1 3 5 6 7 10 11 13 -1 3 5 6 7 10 11 14 -1 3 5 6 7 10 11 15 -1 3 5 6 7 10 12 13 -1 3 5 6 7 10 12 14 -1 3 5 6 7 10 12 15 -1 3 5 6 7 10 13 14 -1 3 5 6 7 10 13 15 -1 3 5 6 7 10 14 15 -1 3 5 6 7 11 12 13 -1 3 5 6 7 11 12 14 -1 3 5 6 7 11 12 15 -1 3 5 6 7 11 13 14 -1 3 5 6 7 11 13 15 -1 3 5 6 7 11 14 15 -1 3 5 6 7 12 13 14 -1 3 5 6 7 12 13 15 -1 3 5 6 7 12 14 15 -1 3 5 6 7 13 14 15 -1 3 5 6 8 9 10 11 -1 3 5 6 8 9 10 12 -1 3 5 6 8 9 10 13 -1 3 5 6 8 9 10 14 -1 3 5 6 8 9 10 15 -1 3 5 6 8 9 11 12 -1 3 5 6 8 9 11 13 -1 3 5 6 8 9 11 14 -1 3 5 6 8 9 11 15 -1 3 5 6 8 9 12 13 -1 3 5 6 8 9 12 14 -1 3 5 6 8 9 12 15 -1 3 5 6 8 9 13 14 -1 3 5 6 8 9 13 15 -1 3 5 6 8 9 14 15 -1 3 5 6 8 10 11 12 -1 3 5 6 8 10 11 13 -1 3 5 6 8 10 11 14 -1 3 5 6 8 10 11 15 -1 3 5 6 8 10 12 13 -1 3 5 6 8 10 12 14 -1 3 5 6 8 10 12 15 -1 3 5 6 8 10 13 14 -1 3 5 6 8 10 13 15 -1 3 5 6 8 10 14 15 -1 3 5 6 8 11 12 13 -1 3 5 6 8 11 12 14 -1 3 5 6 8 11 12 15 -1 3 5 6 8 11 13 14 -1 3 5 6 8 11 13 15 -1 3 5 6 8 11 14 15 -1 3 5 6 8 12 13 14 -1 3 5 6 8 12 13 15 -1 3 5 6 8 12 14 15 -1 3 5 6 8 13 14 15 -1 3 5 6 9 10 11 12 -1 3 5 6 9 10 11 13 -1 3 5 6 9 10 11 14 -1 3 5 6 9 10 11 15 -1 3 5 6 9 10 12 13 -1 3 5 6 9 10 12 14 -1 3 5 6 9 10 12 15 -1 3 5 6 9 10 13 14 -1 3 5 6 9 10 13 15 -1 3 5 6 9 10 14 15 -1 3 5 6 9 11 12 13 -1 3 5 6 9 11 12 14 -1 3 5 6 9 11 12 15 -1 3 5 6 9 11 13 14 -1 3 5 6 9 11 13 15 -1 3 5 6 9 11 14 15 -1 3 5 6 9 12 13 14 -1 3 5 6 9 12 13 15 -1 3 5 6 9 12 14 15 -1 3 5 6 9 13 14 15 -1 3 5 6 10 11 12 13 -1 3 5 6 10 11 12 14 -1 3 5 6 10 11 12 15 -1 3 5 6 10 11 13 14 -1 3 5 6 10 11 13 15 -1 3 5 6 10 11 14 15 -1 3 5 6 10 12 13 14 -1 3 5 6 10 12 13 15 -1 3 5 6 10 12 14 15 -1 3 5 6 10 13 14 15 -1 3 5 6 11 12 13 14 -1 3 5 6 11 12 13 15 -1 3 5 6 11 12 14 15 -1 3 5 6 11 13 14 15 -1 3 5 6 12 13 14 15 -1 3 5 7 8 9 10 11 -1 3 5 7 8 9 10 12 -1 3 5 7 8 9 10 13 -1 3 5 7 8 9 10 14 -1 3 5 7 8 9 10 15 -1 3 5 7 8 9 11 12 -1 3 5 7 8 9 11 13 -1 3 5 7 8 9 11 14 -1 3 5 7 8 9 11 15 -1 3 5 7 8 9 12 13 -1 3 5 7 8 9 12 14 -1 3 5 7 8 9 12 15 -1 3 5 7 8 9 13 14 -1 3 5 7 8 9 13 15 -1 3 5 7 8 9 14 15 -1 3 5 7 8 10 11 12 -1 3 5 7 8 10 11 13 -1 3 5 7 8 10 11 14 -1 3 5 7 8 10 11 15 -1 3 5 7 8 10 12 13 -1 3 5 7 8 10 12 14 -1 3 5 7 8 10 12 15 -1 3 5 7 8 10 13 14 -1 3 5 7 8 10 13 15 -1 3 5 7 8 10 14 15 -1 3 5 7 8 11 12 13 -1 3 5 7 8 11 12 14 -1 3 5 7 8 11 12 15 -1 3 5 7 8 11 13 14 -1 3 5 7 8 11 13 15 -1 3 5 7 8 11 14 15 -1 3 5 7 8 12 13 14 -1 3 5 7 8 12 13 15 -1 3 5 7 8 12 14 15 -1 3 5 7 8 13 14 15 -1 3 5 7 9 10 11 12 -1 3 5 7 9 10 11 13 -1 3 5 7 9 10 11 14 -1 3 5 7 9 10 11 15 -1 3 5 7 9 10 12 13 -1 3 5 7 9 10 12 14 -1 3 5 7 9 10 12 15 -1 3 5 7 9 10 13 14 -1 3 5 7 9 10 13 15 -1 3 5 7 9 10 14 15 -1 3 5 7 9 11 12 13 -1 3 5 7 9 11 12 14 -1 3 5 7 9 11 12 15 -1 3 5 7 9 11 13 14 -1 3 5 7 9 11 13 15 -1 3 5 7 9 11 14 15 -1 3 5 7 9 12 13 14 -1 3 5 7 9 12 13 15 -1 3 5 7 9 12 14 15 -1 3 5 7 9 13 14 15 -1 3 5 7 10 11 12 13 -1 3 5 7 10 11 12 14 -1 3 5 7 10 11 12 15 -1 3 5 7 10 11 13 14 -1 3 5 7 10 11 13 15 -1 3 5 7 10 11 14 15 -1 3 5 7 10 12 13 14 -1 3 5 7 10 12 13 15 -1 3 5 7 10 12 14 15 -1 3 5 7 10 13 14 15 -1 3 5 7 11 12 13 14 -1 3 5 7 11 12 13 15 -1 3 5 7 11 12 14 15 -1 3 5 7 11 13 14 15 -1 3 5 7 12 13 14 15 -1 3 5 8 9 10 11 12 -1 3 5 8 9 10 11 13 -1 3 5 8 9 10 11 14 -1 3 5 8 9 10 11 15 -1 3 5 8 9 10 12 13 -1 3 5 8 9 10 12 14 -1 3 5 8 9 10 12 15 -1 3 5 8 9 10 13 14 -1 3 5 8 9 10 13 15 -1 3 5 8 9 10 14 15 -1 3 5 8 9 11 12 13 -1 3 5 8 9 11 12 14 -1 3 5 8 9 11 12 15 -1 3 5 8 9 11 13 14 -1 3 5 8 9 11 13 15 -1 3 5 8 9 11 14 15 -1 3 5 8 9 12 13 14 -1 3 5 8 9 12 13 15 -1 3 5 8 9 12 14 15 -1 3 5 8 9 13 14 15 -1 3 5 8 10 11 12 13 -1 3 5 8 10 11 12 14 -1 3 5 8 10 11 12 15 -1 3 5 8 10 11 13 14 -1 3 5 8 10 11 13 15 -1 3 5 8 10 11 14 15 -1 3 5 8 10 12 13 14 -1 3 5 8 10 12 13 15 -1 3 5 8 10 12 14 15 -1 3 5 8 10 13 14 15 -1 3 5 8 11 12 13 14 -1 3 5 8 11 12 13 15 -1 3 5 8 11 12 14 15 -1 3 5 8 11 13 14 15 -1 3 5 8 12 13 14 15 -1 3 5 9 10 11 12 13 -1 3 5 9 10 11 12 14 -1 3 5 9 10 11 12 15 -1 3 5 9 10 11 13 14 -1 3 5 9 10 11 13 15 -1 3 5 9 10 11 14 15 -1 3 5 9 10 12 13 14 -1 3 5 9 10 12 13 15 -1 3 5 9 10 12 14 15 -1 3 5 9 10 13 14 15 -1 3 5 9 11 12 13 14 -1 3 5 9 11 12 13 15 -1 3 5 9 11 12 14 15 -1 3 5 9 11 13 14 15 -1 3 5 9 12 13 14 15 -1 3 5 10 11 12 13 14 -1 3 5 10 11 12 13 15 -1 3 5 10 11 12 14 15 -1 3 5 10 11 13 14 15 -1 3 5 10 12 13 14 15 -1 3 5 11 12 13 14 15 -1 3 6 7 8 9 10 11 -1 3 6 7 8 9 10 12 -1 3 6 7 8 9 10 13 -1 3 6 7 8 9 10 14 -1 3 6 7 8 9 10 15 -1 3 6 7 8 9 11 12 -1 3 6 7 8 9 11 13 -1 3 6 7 8 9 11 14 -1 3 6 7 8 9 11 15 -1 3 6 7 8 9 12 13 -1 3 6 7 8 9 12 14 -1 3 6 7 8 9 12 15 -1 3 6 7 8 9 13 14 -1 3 6 7 8 9 13 15 -1 3 6 7 8 9 14 15 -1 3 6 7 8 10 11 12 -1 3 6 7 8 10 11 13 -1 3 6 7 8 10 11 14 -1 3 6 7 8 10 11 15 -1 3 6 7 8 10 12 13 -1 3 6 7 8 10 12 14 -1 3 6 7 8 10 12 15 -1 3 6 7 8 10 13 14 -1 3 6 7 8 10 13 15 -1 3 6 7 8 10 14 15 -1 3 6 7 8 11 12 13 -1 3 6 7 8 11 12 14 -1 3 6 7 8 11 12 15 -1 3 6 7 8 11 13 14 -1 3 6 7 8 11 13 15 -1 3 6 7 8 11 14 15 -1 3 6 7 8 12 13 14 -1 3 6 7 8 12 13 15 -1 3 6 7 8 12 14 15 -1 3 6 7 8 13 14 15 -1 3 6 7 9 10 11 12 -1 3 6 7 9 10 11 13 -1 3 6 7 9 10 11 14 -1 3 6 7 9 10 11 15 -1 3 6 7 9 10 12 13 -1 3 6 7 9 10 12 14 -1 3 6 7 9 10 12 15 -1 3 6 7 9 10 13 14 -1 3 6 7 9 10 13 15 -1 3 6 7 9 10 14 15 -1 3 6 7 9 11 12 13 -1 3 6 7 9 11 12 14 -1 3 6 7 9 11 12 15 -1 3 6 7 9 11 13 14 -1 3 6 7 9 11 13 15 -1 3 6 7 9 11 14 15 -1 3 6 7 9 12 13 14 -1 3 6 7 9 12 13 15 -1 3 6 7 9 12 14 15 -1 3 6 7 9 13 14 15 -1 3 6 7 10 11 12 13 -1 3 6 7 10 11 12 14 -1 3 6 7 10 11 12 15 -1 3 6 7 10 11 13 14 -1 3 6 7 10 11 13 15 -1 3 6 7 10 11 14 15 -1 3 6 7 10 12 13 14 -1 3 6 7 10 12 13 15 -1 3 6 7 10 12 14 15 -1 3 6 7 10 13 14 15 -1 3 6 7 11 12 13 14 -1 3 6 7 11 12 13 15 -1 3 6 7 11 12 14 15 -1 3 6 7 11 13 14 15 -1 3 6 7 12 13 14 15 -1 3 6 8 9 10 11 12 -1 3 6 8 9 10 11 13 -1 3 6 8 9 10 11 14 -1 3 6 8 9 10 11 15 -1 3 6 8 9 10 12 13 -1 3 6 8 9 10 12 14 -1 3 6 8 9 10 12 15 -1 3 6 8 9 10 13 14 -1 3 6 8 9 10 13 15 -1 3 6 8 9 10 14 15 -1 3 6 8 9 11 12 13 -1 3 6 8 9 11 12 14 -1 3 6 8 9 11 12 15 -1 3 6 8 9 11 13 14 -1 3 6 8 9 11 13 15 -1 3 6 8 9 11 14 15 -1 3 6 8 9 12 13 14 -1 3 6 8 9 12 13 15 -1 3 6 8 9 12 14 15 -1 3 6 8 9 13 14 15 -1 3 6 8 10 11 12 13 -1 3 6 8 10 11 12 14 -1 3 6 8 10 11 12 15 -1 3 6 8 10 11 13 14 -1 3 6 8 10 11 13 15 -1 3 6 8 10 11 14 15 -1 3 6 8 10 12 13 14 -1 3 6 8 10 12 13 15 -1 3 6 8 10 12 14 15 -1 3 6 8 10 13 14 15 -1 3 6 8 11 12 13 14 -1 3 6 8 11 12 13 15 -1 3 6 8 11 12 14 15 -1 3 6 8 11 13 14 15 -1 3 6 8 12 13 14 15 -1 3 6 9 10 11 12 13 -1 3 6 9 10 11 12 14 -1 3 6 9 10 11 12 15 -1 3 6 9 10 11 13 14 -1 3 6 9 10 11 13 15 -1 3 6 9 10 11 14 15 -1 3 6 9 10 12 13 14 -1 3 6 9 10 12 13 15 -1 3 6 9 10 12 14 15 -1 3 6 9 10 13 14 15 -1 3 6 9 11 12 13 14 -1 3 6 9 11 12 13 15 -1 3 6 9 11 12 14 15 -1 3 6 9 11 13 14 15 -1 3 6 9 12 13 14 15 -1 3 6 10 11 12 13 14 -1 3 6 10 11 12 13 15 -1 3 6 10 11 12 14 15 -1 3 6 10 11 13 14 15 -1 3 6 10 12 13 14 15 -1 3 6 11 12 13 14 15 -1 3 7 8 9 10 11 12 -1 3 7 8 9 10 11 13 -1 3 7 8 9 10 11 14 -1 3 7 8 9 10 11 15 -1 3 7 8 9 10 12 13 -1 3 7 8 9 10 12 14 -1 3 7 8 9 10 12 15 -1 3 7 8 9 10 13 14 -1 3 7 8 9 10 13 15 -1 3 7 8 9 10 14 15 -1 3 7 8 9 11 12 13 -1 3 7 8 9 11 12 14 -1 3 7 8 9 11 12 15 -1 3 7 8 9 11 13 14 -1 3 7 8 9 11 13 15 -1 3 7 8 9 11 14 15 -1 3 7 8 9 12 13 14 -1 3 7 8 9 12 13 15 -1 3 7 8 9 12 14 15 -1 3 7 8 9 13 14 15 -1 3 7 8 10 11 12 13 -1 3 7 8 10 11 12 14 -1 3 7 8 10 11 12 15 -1 3 7 8 10 11 13 14 -1 3 7 8 10 11 13 15 -1 3 7 8 10 11 14 15 -1 3 7 8 10 12 13 14 -1 3 7 8 10 12 13 15 -1 3 7 8 10 12 14 15 -1 3 7 8 10 13 14 15 -1 3 7 8 11 12 13 14 -1 3 7 8 11 12 13 15 -1 3 7 8 11 12 14 15 -1 3 7 8 11 13 14 15 -1 3 7 8 12 13 14 15 -1 3 7 9 10 11 12 13 -1 3 7 9 10 11 12 14 -1 3 7 9 10 11 12 15 -1 3 7 9 10 11 13 14 -1 3 7 9 10 11 13 15 -1 3 7 9 10 11 14 15 -1 3 7 9 10 12 13 14 -1 3 7 9 10 12 13 15 -1 3 7 9 10 12 14 15 -1 3 7 9 10 13 14 15 -1 3 7 9 11 12 13 14 -1 3 7 9 11 12 13 15 -1 3 7 9 11 12 14 15 -1 3 7 9 11 13 14 15 -1 3 7 9 12 13 14 15 -1 3 7 10 11 12 13 14 -1 3 7 10 11 12 13 15 -1 3 7 10 11 12 14 15 -1 3 7 10 11 13 14 15 -1 3 7 10 12 13 14 15 -1 3 7 11 12 13 14 15 -1 3 8 9 10 11 12 13 -1 3 8 9 10 11 12 14 -1 3 8 9 10 11 12 15 -1 3 8 9 10 11 13 14 -1 3 8 9 10 11 13 15 -1 3 8 9 10 11 14 15 -1 3 8 9 10 12 13 14 -1 3 8 9 10 12 13 15 -1 3 8 9 10 12 14 15 -1 3 8 9 10 13 14 15 -1 3 8 9 11 12 13 14 -1 3 8 9 11 12 13 15 -1 3 8 9 11 12 14 15 -1 3 8 9 11 13 14 15 -1 3 8 9 12 13 14 15 -1 3 8 10 11 12 13 14 -1 3 8 10 11 12 13 15 -1 3 8 10 11 12 14 15 -1 3 8 10 11 13 14 15 -1 3 8 10 12 13 14 15 -1 3 8 11 12 13 14 15 -1 3 9 10 11 12 13 14 -1 3 9 10 11 12 13 15 -1 3 9 10 11 12 14 15 -1 3 9 10 11 13 14 15 -1 3 9 10 12 13 14 15 -1 3 9 11 12 13 14 15 -1 3 10 11 12 13 14 15 -1 4 5 6 7 8 9 10 -1 4 5 6 7 8 9 11 -1 4 5 6 7 8 9 12 -1 4 5 6 7 8 9 13 -1 4 5 6 7 8 9 14 -1 4 5 6 7 8 9 15 -1 4 5 6 7 8 10 11 -1 4 5 6 7 8 10 12 -1 4 5 6 7 8 10 13 -1 4 5 6 7 8 10 14 -1 4 5 6 7 8 10 15 -1 4 5 6 7 8 11 12 -1 4 5 6 7 8 11 13 -1 4 5 6 7 8 11 14 -1 4 5 6 7 8 11 15 -1 4 5 6 7 8 12 13 -1 4 5 6 7 8 12 14 -1 4 5 6 7 8 12 15 -1 4 5 6 7 8 13 14 -1 4 5 6 7 8 13 15 -1 4 5 6 7 8 14 15 -1 4 5 6 7 9 10 11 -1 4 5 6 7 9 10 12 -1 4 5 6 7 9 10 13 -1 4 5 6 7 9 10 14 -1 4 5 6 7 9 10 15 -1 4 5 6 7 9 11 12 -1 4 5 6 7 9 11 13 -1 4 5 6 7 9 11 14 -1 4 5 6 7 9 11 15 -1 4 5 6 7 9 12 13 -1 4 5 6 7 9 12 14 -1 4 5 6 7 9 12 15 -1 4 5 6 7 9 13 14 -1 4 5 6 7 9 13 15 -1 4 5 6 7 9 14 15 -1 4 5 6 7 10 11 12 -1 4 5 6 7 10 11 13 -1 4 5 6 7 10 11 14 -1 4 5 6 7 10 11 15 -1 4 5 6 7 10 12 13 -1 4 5 6 7 10 12 14 -1 4 5 6 7 10 12 15 -1 4 5 6 7 10 13 14 -1 4 5 6 7 10 13 15 -1 4 5 6 7 10 14 15 -1 4 5 6 7 11 12 13 -1 4 5 6 7 11 12 14 -1 4 5 6 7 11 12 15 -1 4 5 6 7 11 13 14 -1 4 5 6 7 11 13 15 -1 4 5 6 7 11 14 15 -1 4 5 6 7 12 13 14 -1 4 5 6 7 12 13 15 -1 4 5 6 7 12 14 15 -1 4 5 6 7 13 14 15 -1 4 5 6 8 9 10 11 -1 4 5 6 8 9 10 12 -1 4 5 6 8 9 10 13 -1 4 5 6 8 9 10 14 -1 4 5 6 8 9 10 15 -1 4 5 6 8 9 11 12 -1 4 5 6 8 9 11 13 -1 4 5 6 8 9 11 14 -1 4 5 6 8 9 11 15 -1 4 5 6 8 9 12 13 -1 4 5 6 8 9 12 14 -1 4 5 6 8 9 12 15 -1 4 5 6 8 9 13 14 -1 4 5 6 8 9 13 15 -1 4 5 6 8 9 14 15 -1 4 5 6 8 10 11 12 -1 4 5 6 8 10 11 13 -1 4 5 6 8 10 11 14 -1 4 5 6 8 10 11 15 -1 4 5 6 8 10 12 13 -1 4 5 6 8 10 12 14 -1 4 5 6 8 10 12 15 -1 4 5 6 8 10 13 14 -1 4 5 6 8 10 13 15 -1 4 5 6 8 10 14 15 -1 4 5 6 8 11 12 13 -1 4 5 6 8 11 12 14 -1 4 5 6 8 11 12 15 -1 4 5 6 8 11 13 14 -1 4 5 6 8 11 13 15 -1 4 5 6 8 11 14 15 -1 4 5 6 8 12 13 14 -1 4 5 6 8 12 13 15 -1 4 5 6 8 12 14 15 -1 4 5 6 8 13 14 15 -1 4 5 6 9 10 11 12 -1 4 5 6 9 10 11 13 -1 4 5 6 9 10 11 14 -1 4 5 6 9 10 11 15 -1 4 5 6 9 10 12 13 -1 4 5 6 9 10 12 14 -1 4 5 6 9 10 12 15 -1 4 5 6 9 10 13 14 -1 4 5 6 9 10 13 15 -1 4 5 6 9 10 14 15 -1 4 5 6 9 11 12 13 -1 4 5 6 9 11 12 14 -1 4 5 6 9 11 12 15 -1 4 5 6 9 11 13 14 -1 4 5 6 9 11 13 15 -1 4 5 6 9 11 14 15 -1 4 5 6 9 12 13 14 -1 4 5 6 9 12 13 15 -1 4 5 6 9 12 14 15 -1 4 5 6 9 13 14 15 -1 4 5 6 10 11 12 13 -1 4 5 6 10 11 12 14 -1 4 5 6 10 11 12 15 -1 4 5 6 10 11 13 14 -1 4 5 6 10 11 13 15 -1 4 5 6 10 11 14 15 -1 4 5 6 10 12 13 14 -1 4 5 6 10 12 13 15 -1 4 5 6 10 12 14 15 -1 4 5 6 10 13 14 15 -1 4 5 6 11 12 13 14 -1 4 5 6 11 12 13 15 -1 4 5 6 11 12 14 15 -1 4 5 6 11 13 14 15 -1 4 5 6 12 13 14 15 -1 4 5 7 8 9 10 11 -1 4 5 7 8 9 10 12 -1 4 5 7 8 9 10 13 -1 4 5 7 8 9 10 14 -1 4 5 7 8 9 10 15 -1 4 5 7 8 9 11 12 -1 4 5 7 8 9 11 13 -1 4 5 7 8 9 11 14 -1 4 5 7 8 9 11 15 -1 4 5 7 8 9 12 13 -1 4 5 7 8 9 12 14 -1 4 5 7 8 9 12 15 -1 4 5 7 8 9 13 14 -1 4 5 7 8 9 13 15 -1 4 5 7 8 9 14 15 -1 4 5 7 8 10 11 12 -1 4 5 7 8 10 11 13 -1 4 5 7 8 10 11 14 -1 4 5 7 8 10 11 15 -1 4 5 7 8 10 12 13 -1 4 5 7 8 10 12 14 -1 4 5 7 8 10 12 15 -1 4 5 7 8 10 13 14 -1 4 5 7 8 10 13 15 -1 4 5 7 8 10 14 15 -1 4 5 7 8 11 12 13 -1 4 5 7 8 11 12 14 -1 4 5 7 8 11 12 15 -1 4 5 7 8 11 13 14 -1 4 5 7 8 11 13 15 -1 4 5 7 8 11 14 15 -1 4 5 7 8 12 13 14 -1 4 5 7 8 12 13 15 -1 4 5 7 8 12 14 15 -1 4 5 7 8 13 14 15 -1 4 5 7 9 10 11 12 -1 4 5 7 9 10 11 13 -1 4 5 7 9 10 11 14 -1 4 5 7 9 10 11 15 -1 4 5 7 9 10 12 13 -1 4 5 7 9 10 12 14 -1 4 5 7 9 10 12 15 -1 4 5 7 9 10 13 14 -1 4 5 7 9 10 13 15 -1 4 5 7 9 10 14 15 -1 4 5 7 9 11 12 13 -1 4 5 7 9 11 12 14 -1 4 5 7 9 11 12 15 -1 4 5 7 9 11 13 14 -1 4 5 7 9 11 13 15 -1 4 5 7 9 11 14 15 -1 4 5 7 9 12 13 14 -1 4 5 7 9 12 13 15 -1 4 5 7 9 12 14 15 -1 4 5 7 9 13 14 15 -1 4 5 7 10 11 12 13 -1 4 5 7 10 11 12 14 -1 4 5 7 10 11 12 15 -1 4 5 7 10 11 13 14 -1 4 5 7 10 11 13 15 -1 4 5 7 10 11 14 15 -1 4 5 7 10 12 13 14 -1 4 5 7 10 12 13 15 -1 4 5 7 10 12 14 15 -1 4 5 7 10 13 14 15 -1 4 5 7 11 12 13 14 -1 4 5 7 11 12 13 15 -1 4 5 7 11 12 14 15 -1 4 5 7 11 13 14 15 -1 4 5 7 12 13 14 15 -1 4 5 8 9 10 11 12 -1 4 5 8 9 10 11 13 -1 4 5 8 9 10 11 14 -1 4 5 8 9 10 11 15 -1 4 5 8 9 10 12 13 -1 4 5 8 9 10 12 14 -1 4 5 8 9 10 12 15 -1 4 5 8 9 10 13 14 -1 4 5 8 9 10 13 15 -1 4 5 8 9 10 14 15 -1 4 5 8 9 11 12 13 -1 4 5 8 9 11 12 14 -1 4 5 8 9 11 12 15 -1 4 5 8 9 11 13 14 -1 4 5 8 9 11 13 15 -1 4 5 8 9 11 14 15 -1 4 5 8 9 12 13 14 -1 4 5 8 9 12 13 15 -1 4 5 8 9 12 14 15 -1 4 5 8 9 13 14 15 -1 4 5 8 10 11 12 13 -1 4 5 8 10 11 12 14 -1 4 5 8 10 11 12 15 -1 4 5 8 10 11 13 14 -1 4 5 8 10 11 13 15 -1 4 5 8 10 11 14 15 -1 4 5 8 10 12 13 14 -1 4 5 8 10 12 13 15 -1 4 5 8 10 12 14 15 -1 4 5 8 10 13 14 15 -1 4 5 8 11 12 13 14 -1 4 5 8 11 12 13 15 -1 4 5 8 11 12 14 15 -1 4 5 8 11 13 14 15 -1 4 5 8 12 13 14 15 -1 4 5 9 10 11 12 13 -1 4 5 9 10 11 12 14 -1 4 5 9 10 11 12 15 -1 4 5 9 10 11 13 14 -1 4 5 9 10 11 13 15 -1 4 5 9 10 11 14 15 -1 4 5 9 10 12 13 14 -1 4 5 9 10 12 13 15 -1 4 5 9 10 12 14 15 -1 4 5 9 10 13 14 15 -1 4 5 9 11 12 13 14 -1 4 5 9 11 12 13 15 -1 4 5 9 11 12 14 15 -1 4 5 9 11 13 14 15 -1 4 5 9 12 13 14 15 -1 4 5 10 11 12 13 14 -1 4 5 10 11 12 13 15 -1 4 5 10 11 12 14 15 -1 4 5 10 11 13 14 15 -1 4 5 10 12 13 14 15 -1 4 5 11 12 13 14 15 -1 4 6 7 8 9 10 11 -1 4 6 7 8 9 10 12 -1 4 6 7 8 9 10 13 -1 4 6 7 8 9 10 14 -1 4 6 7 8 9 10 15 -1 4 6 7 8 9 11 12 -1 4 6 7 8 9 11 13 -1 4 6 7 8 9 11 14 -1 4 6 7 8 9 11 15 -1 4 6 7 8 9 12 13 -1 4 6 7 8 9 12 14 -1 4 6 7 8 9 12 15 -1 4 6 7 8 9 13 14 -1 4 6 7 8 9 13 15 -1 4 6 7 8 9 14 15 -1 4 6 7 8 10 11 12 -1 4 6 7 8 10 11 13 -1 4 6 7 8 10 11 14 -1 4 6 7 8 10 11 15 -1 4 6 7 8 10 12 13 -1 4 6 7 8 10 12 14 -1 4 6 7 8 10 12 15 -1 4 6 7 8 10 13 14 -1 4 6 7 8 10 13 15 -1 4 6 7 8 10 14 15 -1 4 6 7 8 11 12 13 -1 4 6 7 8 11 12 14 -1 4 6 7 8 11 12 15 -1 4 6 7 8 11 13 14 -1 4 6 7 8 11 13 15 -1 4 6 7 8 11 14 15 -1 4 6 7 8 12 13 14 -1 4 6 7 8 12 13 15 -1 4 6 7 8 12 14 15 -1 4 6 7 8 13 14 15 -1 4 6 7 9 10 11 12 -1 4 6 7 9 10 11 13 -1 4 6 7 9 10 11 14 -1 4 6 7 9 10 11 15 -1 4 6 7 9 10 12 13 -1 4 6 7 9 10 12 14 -1 4 6 7 9 10 12 15 -1 4 6 7 9 10 13 14 -1 4 6 7 9 10 13 15 -1 4 6 7 9 10 14 15 -1 4 6 7 9 11 12 13 -1 4 6 7 9 11 12 14 -1 4 6 7 9 11 12 15 -1 4 6 7 9 11 13 14 -1 4 6 7 9 11 13 15 -1 4 6 7 9 11 14 15 -1 4 6 7 9 12 13 14 -1 4 6 7 9 12 13 15 -1 4 6 7 9 12 14 15 -1 4 6 7 9 13 14 15 -1 4 6 7 10 11 12 13 -1 4 6 7 10 11 12 14 -1 4 6 7 10 11 12 15 -1 4 6 7 10 11 13 14 -1 4 6 7 10 11 13 15 -1 4 6 7 10 11 14 15 -1 4 6 7 10 12 13 14 -1 4 6 7 10 12 13 15 -1 4 6 7 10 12 14 15 -1 4 6 7 10 13 14 15 -1 4 6 7 11 12 13 14 -1 4 6 7 11 12 13 15 -1 4 6 7 11 12 14 15 -1 4 6 7 11 13 14 15 -1 4 6 7 12 13 14 15 -1 4 6 8 9 10 11 12 -1 4 6 8 9 10 11 13 -1 4 6 8 9 10 11 14 -1 4 6 8 9 10 11 15 -1 4 6 8 9 10 12 13 -1 4 6 8 9 10 12 14 -1 4 6 8 9 10 12 15 -1 4 6 8 9 10 13 14 -1 4 6 8 9 10 13 15 -1 4 6 8 9 10 14 15 -1 4 6 8 9 11 12 13 -1 4 6 8 9 11 12 14 -1 4 6 8 9 11 12 15 -1 4 6 8 9 11 13 14 -1 4 6 8 9 11 13 15 -1 4 6 8 9 11 14 15 -1 4 6 8 9 12 13 14 -1 4 6 8 9 12 13 15 -1 4 6 8 9 12 14 15 -1 4 6 8 9 13 14 15 -1 4 6 8 10 11 12 13 -1 4 6 8 10 11 12 14 -1 4 6 8 10 11 12 15 -1 4 6 8 10 11 13 14 -1 4 6 8 10 11 13 15 -1 4 6 8 10 11 14 15 -1 4 6 8 10 12 13 14 -1 4 6 8 10 12 13 15 -1 4 6 8 10 12 14 15 -1 4 6 8 10 13 14 15 -1 4 6 8 11 12 13 14 -1 4 6 8 11 12 13 15 -1 4 6 8 11 12 14 15 -1 4 6 8 11 13 14 15 -1 4 6 8 12 13 14 15 -1 4 6 9 10 11 12 13 -1 4 6 9 10 11 12 14 -1 4 6 9 10 11 12 15 -1 4 6 9 10 11 13 14 -1 4 6 9 10 11 13 15 -1 4 6 9 10 11 14 15 -1 4 6 9 10 12 13 14 -1 4 6 9 10 12 13 15 -1 4 6 9 10 12 14 15 -1 4 6 9 10 13 14 15 -1 4 6 9 11 12 13 14 -1 4 6 9 11 12 13 15 -1 4 6 9 11 12 14 15 -1 4 6 9 11 13 14 15 -1 4 6 9 12 13 14 15 -1 4 6 10 11 12 13 14 -1 4 6 10 11 12 13 15 -1 4 6 10 11 12 14 15 -1 4 6 10 11 13 14 15 -1 4 6 10 12 13 14 15 -1 4 6 11 12 13 14 15 -1 4 7 8 9 10 11 12 -1 4 7 8 9 10 11 13 -1 4 7 8 9 10 11 14 -1 4 7 8 9 10 11 15 -1 4 7 8 9 10 12 13 -1 4 7 8 9 10 12 14 -1 4 7 8 9 10 12 15 -1 4 7 8 9 10 13 14 -1 4 7 8 9 10 13 15 -1 4 7 8 9 10 14 15 -1 4 7 8 9 11 12 13 -1 4 7 8 9 11 12 14 -1 4 7 8 9 11 12 15 -1 4 7 8 9 11 13 14 -1 4 7 8 9 11 13 15 -1 4 7 8 9 11 14 15 -1 4 7 8 9 12 13 14 -1 4 7 8 9 12 13 15 -1 4 7 8 9 12 14 15 -1 4 7 8 9 13 14 15 -1 4 7 8 10 11 12 13 -1 4 7 8 10 11 12 14 -1 4 7 8 10 11 12 15 -1 4 7 8 10 11 13 14 -1 4 7 8 10 11 13 15 -1 4 7 8 10 11 14 15 -1 4 7 8 10 12 13 14 -1 4 7 8 10 12 13 15 -1 4 7 8 10 12 14 15 -1 4 7 8 10 13 14 15 -1 4 7 8 11 12 13 14 -1 4 7 8 11 12 13 15 -1 4 7 8 11 12 14 15 -1 4 7 8 11 13 14 15 -1 4 7 8 12 13 14 15 -1 4 7 9 10 11 12 13 -1 4 7 9 10 11 12 14 -1 4 7 9 10 11 12 15 -1 4 7 9 10 11 13 14 -1 4 7 9 10 11 13 15 -1 4 7 9 10 11 14 15 -1 4 7 9 10 12 13 14 -1 4 7 9 10 12 13 15 -1 4 7 9 10 12 14 15 -1 4 7 9 10 13 14 15 -1 4 7 9 11 12 13 14 -1 4 7 9 11 12 13 15 -1 4 7 9 11 12 14 15 -1 4 7 9 11 13 14 15 -1 4 7 9 12 13 14 15 -1 4 7 10 11 12 13 14 -1 4 7 10 11 12 13 15 -1 4 7 10 11 12 14 15 -1 4 7 10 11 13 14 15 -1 4 7 10 12 13 14 15 -1 4 7 11 12 13 14 15 -1 4 8 9 10 11 12 13 -1 4 8 9 10 11 12 14 -1 4 8 9 10 11 12 15 -1 4 8 9 10 11 13 14 -1 4 8 9 10 11 13 15 -1 4 8 9 10 11 14 15 -1 4 8 9 10 12 13 14 -1 4 8 9 10 12 13 15 -1 4 8 9 10 12 14 15 -1 4 8 9 10 13 14 15 -1 4 8 9 11 12 13 14 -1 4 8 9 11 12 13 15 -1 4 8 9 11 12 14 15 -1 4 8 9 11 13 14 15 -1 4 8 9 12 13 14 15 -1 4 8 10 11 12 13 14 -1 4 8 10 11 12 13 15 -1 4 8 10 11 12 14 15 -1 4 8 10 11 13 14 15 -1 4 8 10 12 13 14 15 -1 4 8 11 12 13 14 15 -1 4 9 10 11 12 13 14 -1 4 9 10 11 12 13 15 -1 4 9 10 11 12 14 15 -1 4 9 10 11 13 14 15 -1 4 9 10 12 13 14 15 -1 4 9 11 12 13 14 15 -1 4 10 11 12 13 14 15 -1 5 6 7 8 9 10 11 -1 5 6 7 8 9 10 12 -1 5 6 7 8 9 10 13 -1 5 6 7 8 9 10 14 -1 5 6 7 8 9 10 15 -1 5 6 7 8 9 11 12 -1 5 6 7 8 9 11 13 -1 5 6 7 8 9 11 14 -1 5 6 7 8 9 11 15 -1 5 6 7 8 9 12 13 -1 5 6 7 8 9 12 14 -1 5 6 7 8 9 12 15 -1 5 6 7 8 9 13 14 -1 5 6 7 8 9 13 15 -1 5 6 7 8 9 14 15 -1 5 6 7 8 10 11 12 -1 5 6 7 8 10 11 13 -1 5 6 7 8 10 11 14 -1 5 6 7 8 10 11 15 -1 5 6 7 8 10 12 13 -1 5 6 7 8 10 12 14 -1 5 6 7 8 10 12 15 -1 5 6 7 8 10 13 14 -1 5 6 7 8 10 13 15 -1 5 6 7 8 10 14 15 -1 5 6 7 8 11 12 13 -1 5 6 7 8 11 12 14 -1 5 6 7 8 11 12 15 -1 5 6 7 8 11 13 14 -1 5 6 7 8 11 13 15 -1 5 6 7 8 11 14 15 -1 5 6 7 8 12 13 14 -1 5 6 7 8 12 13 15 -1 5 6 7 8 12 14 15 -1 5 6 7 8 13 14 15 -1 5 6 7 9 10 11 12 -1 5 6 7 9 10 11 13 -1 5 6 7 9 10 11 14 -1 5 6 7 9 10 11 15 -1 5 6 7 9 10 12 13 -1 5 6 7 9 10 12 14 -1 5 6 7 9 10 12 15 -1 5 6 7 9 10 13 14 -1 5 6 7 9 10 13 15 -1 5 6 7 9 10 14 15 -1 5 6 7 9 11 12 13 -1 5 6 7 9 11 12 14 -1 5 6 7 9 11 12 15 -1 5 6 7 9 11 13 14 -1 5 6 7 9 11 13 15 -1 5 6 7 9 11 14 15 -1 5 6 7 9 12 13 14 -1 5 6 7 9 12 13 15 -1 5 6 7 9 12 14 15 -1 5 6 7 9 13 14 15 -1 5 6 7 10 11 12 13 -1 5 6 7 10 11 12 14 -1 5 6 7 10 11 12 15 -1 5 6 7 10 11 13 14 -1 5 6 7 10 11 13 15 -1 5 6 7 10 11 14 15 -1 5 6 7 10 12 13 14 -1 5 6 7 10 12 13 15 -1 5 6 7 10 12 14 15 -1 5 6 7 10 13 14 15 -1 5 6 7 11 12 13 14 -1 5 6 7 11 12 13 15 -1 5 6 7 11 12 14 15 -1 5 6 7 11 13 14 15 -1 5 6 7 12 13 14 15 -1 5 6 8 9 10 11 12 -1 5 6 8 9 10 11 13 -1 5 6 8 9 10 11 14 -1 5 6 8 9 10 11 15 -1 5 6 8 9 10 12 13 -1 5 6 8 9 10 12 14 -1 5 6 8 9 10 12 15 -1 5 6 8 9 10 13 14 -1 5 6 8 9 10 13 15 -1 5 6 8 9 10 14 15 -1 5 6 8 9 11 12 13 -1 5 6 8 9 11 12 14 -1 5 6 8 9 11 12 15 -1 5 6 8 9 11 13 14 -1 5 6 8 9 11 13 15 -1 5 6 8 9 11 14 15 -1 5 6 8 9 12 13 14 -1 5 6 8 9 12 13 15 -1 5 6 8 9 12 14 15 -1 5 6 8 9 13 14 15 -1 5 6 8 10 11 12 13 -1 5 6 8 10 11 12 14 -1 5 6 8 10 11 12 15 -1 5 6 8 10 11 13 14 -1 5 6 8 10 11 13 15 -1 5 6 8 10 11 14 15 -1 5 6 8 10 12 13 14 -1 5 6 8 10 12 13 15 -1 5 6 8 10 12 14 15 -1 5 6 8 10 13 14 15 -1 5 6 8 11 12 13 14 -1 5 6 8 11 12 13 15 -1 5 6 8 11 12 14 15 -1 5 6 8 11 13 14 15 -1 5 6 8 12 13 14 15 -1 5 6 9 10 11 12 13 -1 5 6 9 10 11 12 14 -1 5 6 9 10 11 12 15 -1 5 6 9 10 11 13 14 -1 5 6 9 10 11 13 15 -1 5 6 9 10 11 14 15 -1 5 6 9 10 12 13 14 -1 5 6 9 10 12 13 15 -1 5 6 9 10 12 14 15 -1 5 6 9 10 13 14 15 -1 5 6 9 11 12 13 14 -1 5 6 9 11 12 13 15 -1 5 6 9 11 12 14 15 -1 5 6 9 11 13 14 15 -1 5 6 9 12 13 14 15 -1 5 6 10 11 12 13 14 -1 5 6 10 11 12 13 15 -1 5 6 10 11 12 14 15 -1 5 6 10 11 13 14 15 -1 5 6 10 12 13 14 15 -1 5 6 11 12 13 14 15 -1 5 7 8 9 10 11 12 -1 5 7 8 9 10 11 13 -1 5 7 8 9 10 11 14 -1 5 7 8 9 10 11 15 -1 5 7 8 9 10 12 13 -1 5 7 8 9 10 12 14 -1 5 7 8 9 10 12 15 -1 5 7 8 9 10 13 14 -1 5 7 8 9 10 13 15 -1 5 7 8 9 10 14 15 -1 5 7 8 9 11 12 13 -1 5 7 8 9 11 12 14 -1 5 7 8 9 11 12 15 -1 5 7 8 9 11 13 14 -1 5 7 8 9 11 13 15 -1 5 7 8 9 11 14 15 -1 5 7 8 9 12 13 14 -1 5 7 8 9 12 13 15 -1 5 7 8 9 12 14 15 -1 5 7 8 9 13 14 15 -1 5 7 8 10 11 12 13 -1 5 7 8 10 11 12 14 -1 5 7 8 10 11 12 15 -1 5 7 8 10 11 13 14 -1 5 7 8 10 11 13 15 -1 5 7 8 10 11 14 15 -1 5 7 8 10 12 13 14 -1 5 7 8 10 12 13 15 -1 5 7 8 10 12 14 15 -1 5 7 8 10 13 14 15 -1 5 7 8 11 12 13 14 -1 5 7 8 11 12 13 15 -1 5 7 8 11 12 14 15 -1 5 7 8 11 13 14 15 -1 5 7 8 12 13 14 15 -1 5 7 9 10 11 12 13 -1 5 7 9 10 11 12 14 -1 5 7 9 10 11 12 15 -1 5 7 9 10 11 13 14 -1 5 7 9 10 11 13 15 -1 5 7 9 10 11 14 15 -1 5 7 9 10 12 13 14 -1 5 7 9 10 12 13 15 -1 5 7 9 10 12 14 15 -1 5 7 9 10 13 14 15 -1 5 7 9 11 12 13 14 -1 5 7 9 11 12 13 15 -1 5 7 9 11 12 14 15 -1 5 7 9 11 13 14 15 -1 5 7 9 12 13 14 15 -1 5 7 10 11 12 13 14 -1 5 7 10 11 12 13 15 -1 5 7 10 11 12 14 15 -1 5 7 10 11 13 14 15 -1 5 7 10 12 13 14 15 -1 5 7 11 12 13 14 15 -1 5 8 9 10 11 12 13 -1 5 8 9 10 11 12 14 -1 5 8 9 10 11 12 15 -1 5 8 9 10 11 13 14 -1 5 8 9 10 11 13 15 -1 5 8 9 10 11 14 15 -1 5 8 9 10 12 13 14 -1 5 8 9 10 12 13 15 -1 5 8 9 10 12 14 15 -1 5 8 9 10 13 14 15 -1 5 8 9 11 12 13 14 -1 5 8 9 11 12 13 15 -1 5 8 9 11 12 14 15 -1 5 8 9 11 13 14 15 -1 5 8 9 12 13 14 15 -1 5 8 10 11 12 13 14 -1 5 8 10 11 12 13 15 -1 5 8 10 11 12 14 15 -1 5 8 10 11 13 14 15 -1 5 8 10 12 13 14 15 -1 5 8 11 12 13 14 15 -1 5 9 10 11 12 13 14 -1 5 9 10 11 12 13 15 -1 5 9 10 11 12 14 15 -1 5 9 10 11 13 14 15 -1 5 9 10 12 13 14 15 -1 5 9 11 12 13 14 15 -1 5 10 11 12 13 14 15 -1 6 7 8 9 10 11 12 -1 6 7 8 9 10 11 13 -1 6 7 8 9 10 11 14 -1 6 7 8 9 10 11 15 -1 6 7 8 9 10 12 13 -1 6 7 8 9 10 12 14 -1 6 7 8 9 10 12 15 -1 6 7 8 9 10 13 14 -1 6 7 8 9 10 13 15 -1 6 7 8 9 10 14 15 -1 6 7 8 9 11 12 13 -1 6 7 8 9 11 12 14 -1 6 7 8 9 11 12 15 -1 6 7 8 9 11 13 14 -1 6 7 8 9 11 13 15 -1 6 7 8 9 11 14 15 -1 6 7 8 9 12 13 14 -1 6 7 8 9 12 13 15 -1 6 7 8 9 12 14 15 -1 6 7 8 9 13 14 15 -1 6 7 8 10 11 12 13 -1 6 7 8 10 11 12 14 -1 6 7 8 10 11 12 15 -1 6 7 8 10 11 13 14 -1 6 7 8 10 11 13 15 -1 6 7 8 10 11 14 15 -1 6 7 8 10 12 13 14 -1 6 7 8 10 12 13 15 -1 6 7 8 10 12 14 15 -1 6 7 8 10 13 14 15 -1 6 7 8 11 12 13 14 -1 6 7 8 11 12 13 15 -1 6 7 8 11 12 14 15 -1 6 7 8 11 13 14 15 -1 6 7 8 12 13 14 15 -1 6 7 9 10 11 12 13 -1 6 7 9 10 11 12 14 -1 6 7 9 10 11 12 15 -1 6 7 9 10 11 13 14 -1 6 7 9 10 11 13 15 -1 6 7 9 10 11 14 15 -1 6 7 9 10 12 13 14 -1 6 7 9 10 12 13 15 -1 6 7 9 10 12 14 15 -1 6 7 9 10 13 14 15 -1 6 7 9 11 12 13 14 -1 6 7 9 11 12 13 15 -1 6 7 9 11 12 14 15 -1 6 7 9 11 13 14 15 -1 6 7 9 12 13 14 15 -1 6 7 10 11 12 13 14 -1 6 7 10 11 12 13 15 -1 6 7 10 11 12 14 15 -1 6 7 10 11 13 14 15 -1 6 7 10 12 13 14 15 -1 6 7 11 12 13 14 15 -1 6 8 9 10 11 12 13 -1 6 8 9 10 11 12 14 -1 6 8 9 10 11 12 15 -1 6 8 9 10 11 13 14 -1 6 8 9 10 11 13 15 -1 6 8 9 10 11 14 15 -1 6 8 9 10 12 13 14 -1 6 8 9 10 12 13 15 -1 6 8 9 10 12 14 15 -1 6 8 9 10 13 14 15 -1 6 8 9 11 12 13 14 -1 6 8 9 11 12 13 15 -1 6 8 9 11 12 14 15 -1 6 8 9 11 13 14 15 -1 6 8 9 12 13 14 15 -1 6 8 10 11 12 13 14 -1 6 8 10 11 12 13 15 -1 6 8 10 11 12 14 15 -1 6 8 10 11 13 14 15 -1 6 8 10 12 13 14 15 -1 6 8 11 12 13 14 15 -1 6 9 10 11 12 13 14 -1 6 9 10 11 12 13 15 -1 6 9 10 11 12 14 15 -1 6 9 10 11 13 14 15 -1 6 9 10 12 13 14 15 -1 6 9 11 12 13 14 15 -1 6 10 11 12 13 14 15 -1 7 8 9 10 11 12 13 -1 7 8 9 10 11 12 14 -1 7 8 9 10 11 12 15 -1 7 8 9 10 11 13 14 -1 7 8 9 10 11 13 15 -1 7 8 9 10 11 14 15 -1 7 8 9 10 12 13 14 -1 7 8 9 10 12 13 15 -1 7 8 9 10 12 14 15 -1 7 8 9 10 13 14 15 -1 7 8 9 11 12 13 14 -1 7 8 9 11 12 13 15 -1 7 8 9 11 12 14 15 -1 7 8 9 11 13 14 15 -1 7 8 9 12 13 14 15 -1 7 8 10 11 12 13 14 -1 7 8 10 11 12 13 15 -1 7 8 10 11 12 14 15 -1 7 8 10 11 13 14 15 -1 7 8 10 12 13 14 15 -1 7 8 11 12 13 14 15 -1 7 9 10 11 12 13 14 -1 7 9 10 11 12 13 15 -1 7 9 10 11 12 14 15 -1 7 9 10 11 13 14 15 -1 7 9 10 12 13 14 15 -1 7 9 11 12 13 14 15 -1 7 10 11 12 13 14 15 -1 8 9 10 11 12 13 14 -1 8 9 10 11 12 13 15 -1 8 9 10 11 12 14 15 -1 8 9 10 11 13 14 15 -1 8 9 10 12 13 14 15 -1 8 9 11 12 13 14 15 -1 8 10 11 12 13 14 15 -1 9 10 11 12 13 14 15 -2 3 4 5 6 7 8 9 -2 3 4 5 6 7 8 10 -2 3 4 5 6 7 8 11 -2 3 4 5 6 7 8 12 -2 3 4 5 6 7 8 13 -2 3 4 5 6 7 8 14 -2 3 4 5 6 7 8 15 -2 3 4 5 6 7 9 10 -2 3 4 5 6 7 9 11 -2 3 4 5 6 7 9 12 -2 3 4 5 6 7 9 13 -2 3 4 5 6 7 9 14 -2 3 4 5 6 7 9 15 -2 3 4 5 6 7 10 11 -2 3 4 5 6 7 10 12 -2 3 4 5 6 7 10 13 -2 3 4 5 6 7 10 14 -2 3 4 5 6 7 10 15 -2 3 4 5 6 7 11 12 -2 3 4 5 6 7 11 13 -2 3 4 5 6 7 11 14 -2 3 4 5 6 7 11 15 -2 3 4 5 6 7 12 13 -2 3 4 5 6 7 12 14 -2 3 4 5 6 7 12 15 -2 3 4 5 6 7 13 14 -2 3 4 5 6 7 13 15 -2 3 4 5 6 7 14 15 -2 3 4 5 6 8 9 10 -2 3 4 5 6 8 9 11 -2 3 4 5 6 8 9 12 -2 3 4 5 6 8 9 13 -2 3 4 5 6 8 9 14 -2 3 4 5 6 8 9 15 -2 3 4 5 6 8 10 11 -2 3 4 5 6 8 10 12 -2 3 4 5 6 8 10 13 -2 3 4 5 6 8 10 14 -2 3 4 5 6 8 10 15 -2 3 4 5 6 8 11 12 -2 3 4 5 6 8 11 13 -2 3 4 5 6 8 11 14 -2 3 4 5 6 8 11 15 -2 3 4 5 6 8 12 13 -2 3 4 5 6 8 12 14 -2 3 4 5 6 8 12 15 -2 3 4 5 6 8 13 14 -2 3 4 5 6 8 13 15 -2 3 4 5 6 8 14 15 -2 3 4 5 6 9 10 11 -2 3 4 5 6 9 10 12 -2 3 4 5 6 9 10 13 -2 3 4 5 6 9 10 14 -2 3 4 5 6 9 10 15 -2 3 4 5 6 9 11 12 -2 3 4 5 6 9 11 13 -2 3 4 5 6 9 11 14 -2 3 4 5 6 9 11 15 -2 3 4 5 6 9 12 13 -2 3 4 5 6 9 12 14 -2 3 4 5 6 9 12 15 -2 3 4 5 6 9 13 14 -2 3 4 5 6 9 13 15 -2 3 4 5 6 9 14 15 -2 3 4 5 6 10 11 12 -2 3 4 5 6 10 11 13 -2 3 4 5 6 10 11 14 -2 3 4 5 6 10 11 15 -2 3 4 5 6 10 12 13 -2 3 4 5 6 10 12 14 -2 3 4 5 6 10 12 15 -2 3 4 5 6 10 13 14 -2 3 4 5 6 10 13 15 -2 3 4 5 6 10 14 15 -2 3 4 5 6 11 12 13 -2 3 4 5 6 11 12 14 -2 3 4 5 6 11 12 15 -2 3 4 5 6 11 13 14 -2 3 4 5 6 11 13 15 -2 3 4 5 6 11 14 15 -2 3 4 5 6 12 13 14 -2 3 4 5 6 12 13 15 -2 3 4 5 6 12 14 15 -2 3 4 5 6 13 14 15 -2 3 4 5 7 8 9 10 -2 3 4 5 7 8 9 11 -2 3 4 5 7 8 9 12 -2 3 4 5 7 8 9 13 -2 3 4 5 7 8 9 14 -2 3 4 5 7 8 9 15 -2 3 4 5 7 8 10 11 -2 3 4 5 7 8 10 12 -2 3 4 5 7 8 10 13 -2 3 4 5 7 8 10 14 -2 3 4 5 7 8 10 15 -2 3 4 5 7 8 11 12 -2 3 4 5 7 8 11 13 -2 3 4 5 7 8 11 14 -2 3 4 5 7 8 11 15 -2 3 4 5 7 8 12 13 -2 3 4 5 7 8 12 14 -2 3 4 5 7 8 12 15 -2 3 4 5 7 8 13 14 -2 3 4 5 7 8 13 15 -2 3 4 5 7 8 14 15 -2 3 4 5 7 9 10 11 -2 3 4 5 7 9 10 12 -2 3 4 5 7 9 10 13 -2 3 4 5 7 9 10 14 -2 3 4 5 7 9 10 15 -2 3 4 5 7 9 11 12 -2 3 4 5 7 9 11 13 -2 3 4 5 7 9 11 14 -2 3 4 5 7 9 11 15 -2 3 4 5 7 9 12 13 -2 3 4 5 7 9 12 14 -2 3 4 5 7 9 12 15 -2 3 4 5 7 9 13 14 -2 3 4 5 7 9 13 15 -2 3 4 5 7 9 14 15 -2 3 4 5 7 10 11 12 -2 3 4 5 7 10 11 13 -2 3 4 5 7 10 11 14 -2 3 4 5 7 10 11 15 -2 3 4 5 7 10 12 13 -2 3 4 5 7 10 12 14 -2 3 4 5 7 10 12 15 -2 3 4 5 7 10 13 14 -2 3 4 5 7 10 13 15 -2 3 4 5 7 10 14 15 -2 3 4 5 7 11 12 13 -2 3 4 5 7 11 12 14 -2 3 4 5 7 11 12 15 -2 3 4 5 7 11 13 14 -2 3 4 5 7 11 13 15 -2 3 4 5 7 11 14 15 -2 3 4 5 7 12 13 14 -2 3 4 5 7 12 13 15 -2 3 4 5 7 12 14 15 -2 3 4 5 7 13 14 15 -2 3 4 5 8 9 10 11 -2 3 4 5 8 9 10 12 -2 3 4 5 8 9 10 13 -2 3 4 5 8 9 10 14 -2 3 4 5 8 9 10 15 -2 3 4 5 8 9 11 12 -2 3 4 5 8 9 11 13 -2 3 4 5 8 9 11 14 -2 3 4 5 8 9 11 15 -2 3 4 5 8 9 12 13 -2 3 4 5 8 9 12 14 -2 3 4 5 8 9 12 15 -2 3 4 5 8 9 13 14 -2 3 4 5 8 9 13 15 -2 3 4 5 8 9 14 15 -2 3 4 5 8 10 11 12 -2 3 4 5 8 10 11 13 -2 3 4 5 8 10 11 14 -2 3 4 5 8 10 11 15 -2 3 4 5 8 10 12 13 -2 3 4 5 8 10 12 14 -2 3 4 5 8 10 12 15 -2 3 4 5 8 10 13 14 -2 3 4 5 8 10 13 15 -2 3 4 5 8 10 14 15 -2 3 4 5 8 11 12 13 -2 3 4 5 8 11 12 14 -2 3 4 5 8 11 12 15 -2 3 4 5 8 11 13 14 -2 3 4 5 8 11 13 15 -2 3 4 5 8 11 14 15 -2 3 4 5 8 12 13 14 -2 3 4 5 8 12 13 15 -2 3 4 5 8 12 14 15 -2 3 4 5 8 13 14 15 -2 3 4 5 9 10 11 12 -2 3 4 5 9 10 11 13 -2 3 4 5 9 10 11 14 -2 3 4 5 9 10 11 15 -2 3 4 5 9 10 12 13 -2 3 4 5 9 10 12 14 -2 3 4 5 9 10 12 15 -2 3 4 5 9 10 13 14 -2 3 4 5 9 10 13 15 -2 3 4 5 9 10 14 15 -2 3 4 5 9 11 12 13 -2 3 4 5 9 11 12 14 -2 3 4 5 9 11 12 15 -2 3 4 5 9 11 13 14 -2 3 4 5 9 11 13 15 -2 3 4 5 9 11 14 15 -2 3 4 5 9 12 13 14 -2 3 4 5 9 12 13 15 -2 3 4 5 9 12 14 15 -2 3 4 5 9 13 14 15 -2 3 4 5 10 11 12 13 -2 3 4 5 10 11 12 14 -2 3 4 5 10 11 12 15 -2 3 4 5 10 11 13 14 -2 3 4 5 10 11 13 15 -2 3 4 5 10 11 14 15 -2 3 4 5 10 12 13 14 -2 3 4 5 10 12 13 15 -2 3 4 5 10 12 14 15 -2 3 4 5 10 13 14 15 -2 3 4 5 11 12 13 14 -2 3 4 5 11 12 13 15 -2 3 4 5 11 12 14 15 -2 3 4 5 11 13 14 15 -2 3 4 5 12 13 14 15 -2 3 4 6 7 8 9 10 -2 3 4 6 7 8 9 11 -2 3 4 6 7 8 9 12 -2 3 4 6 7 8 9 13 -2 3 4 6 7 8 9 14 -2 3 4 6 7 8 9 15 -2 3 4 6 7 8 10 11 -2 3 4 6 7 8 10 12 -2 3 4 6 7 8 10 13 -2 3 4 6 7 8 10 14 -2 3 4 6 7 8 10 15 -2 3 4 6 7 8 11 12 -2 3 4 6 7 8 11 13 -2 3 4 6 7 8 11 14 -2 3 4 6 7 8 11 15 -2 3 4 6 7 8 12 13 -2 3 4 6 7 8 12 14 -2 3 4 6 7 8 12 15 -2 3 4 6 7 8 13 14 -2 3 4 6 7 8 13 15 -2 3 4 6 7 8 14 15 -2 3 4 6 7 9 10 11 -2 3 4 6 7 9 10 12 -2 3 4 6 7 9 10 13 -2 3 4 6 7 9 10 14 -2 3 4 6 7 9 10 15 -2 3 4 6 7 9 11 12 -2 3 4 6 7 9 11 13 -2 3 4 6 7 9 11 14 -2 3 4 6 7 9 11 15 -2 3 4 6 7 9 12 13 -2 3 4 6 7 9 12 14 -2 3 4 6 7 9 12 15 -2 3 4 6 7 9 13 14 -2 3 4 6 7 9 13 15 -2 3 4 6 7 9 14 15 -2 3 4 6 7 10 11 12 -2 3 4 6 7 10 11 13 -2 3 4 6 7 10 11 14 -2 3 4 6 7 10 11 15 -2 3 4 6 7 10 12 13 -2 3 4 6 7 10 12 14 -2 3 4 6 7 10 12 15 -2 3 4 6 7 10 13 14 -2 3 4 6 7 10 13 15 -2 3 4 6 7 10 14 15 -2 3 4 6 7 11 12 13 -2 3 4 6 7 11 12 14 -2 3 4 6 7 11 12 15 -2 3 4 6 7 11 13 14 -2 3 4 6 7 11 13 15 -2 3 4 6 7 11 14 15 -2 3 4 6 7 12 13 14 -2 3 4 6 7 12 13 15 -2 3 4 6 7 12 14 15 -2 3 4 6 7 13 14 15 -2 3 4 6 8 9 10 11 -2 3 4 6 8 9 10 12 -2 3 4 6 8 9 10 13 -2 3 4 6 8 9 10 14 -2 3 4 6 8 9 10 15 -2 3 4 6 8 9 11 12 -2 3 4 6 8 9 11 13 -2 3 4 6 8 9 11 14 -2 3 4 6 8 9 11 15 -2 3 4 6 8 9 12 13 -2 3 4 6 8 9 12 14 -2 3 4 6 8 9 12 15 -2 3 4 6 8 9 13 14 -2 3 4 6 8 9 13 15 -2 3 4 6 8 9 14 15 -2 3 4 6 8 10 11 12 -2 3 4 6 8 10 11 13 -2 3 4 6 8 10 11 14 -2 3 4 6 8 10 11 15 -2 3 4 6 8 10 12 13 -2 3 4 6 8 10 12 14 -2 3 4 6 8 10 12 15 -2 3 4 6 8 10 13 14 -2 3 4 6 8 10 13 15 -2 3 4 6 8 10 14 15 -2 3 4 6 8 11 12 13 -2 3 4 6 8 11 12 14 -2 3 4 6 8 11 12 15 -2 3 4 6 8 11 13 14 -2 3 4 6 8 11 13 15 -2 3 4 6 8 11 14 15 -2 3 4 6 8 12 13 14 -2 3 4 6 8 12 13 15 -2 3 4 6 8 12 14 15 -2 3 4 6 8 13 14 15 -2 3 4 6 9 10 11 12 -2 3 4 6 9 10 11 13 -2 3 4 6 9 10 11 14 -2 3 4 6 9 10 11 15 -2 3 4 6 9 10 12 13 -2 3 4 6 9 10 12 14 -2 3 4 6 9 10 12 15 -2 3 4 6 9 10 13 14 -2 3 4 6 9 10 13 15 -2 3 4 6 9 10 14 15 -2 3 4 6 9 11 12 13 -2 3 4 6 9 11 12 14 -2 3 4 6 9 11 12 15 -2 3 4 6 9 11 13 14 -2 3 4 6 9 11 13 15 -2 3 4 6 9 11 14 15 -2 3 4 6 9 12 13 14 -2 3 4 6 9 12 13 15 -2 3 4 6 9 12 14 15 -2 3 4 6 9 13 14 15 -2 3 4 6 10 11 12 13 -2 3 4 6 10 11 12 14 -2 3 4 6 10 11 12 15 -2 3 4 6 10 11 13 14 -2 3 4 6 10 11 13 15 -2 3 4 6 10 11 14 15 -2 3 4 6 10 12 13 14 -2 3 4 6 10 12 13 15 -2 3 4 6 10 12 14 15 -2 3 4 6 10 13 14 15 -2 3 4 6 11 12 13 14 -2 3 4 6 11 12 13 15 -2 3 4 6 11 12 14 15 -2 3 4 6 11 13 14 15 -2 3 4 6 12 13 14 15 -2 3 4 7 8 9 10 11 -2 3 4 7 8 9 10 12 -2 3 4 7 8 9 10 13 -2 3 4 7 8 9 10 14 -2 3 4 7 8 9 10 15 -2 3 4 7 8 9 11 12 -2 3 4 7 8 9 11 13 -2 3 4 7 8 9 11 14 -2 3 4 7 8 9 11 15 -2 3 4 7 8 9 12 13 -2 3 4 7 8 9 12 14 -2 3 4 7 8 9 12 15 -2 3 4 7 8 9 13 14 -2 3 4 7 8 9 13 15 -2 3 4 7 8 9 14 15 -2 3 4 7 8 10 11 12 -2 3 4 7 8 10 11 13 -2 3 4 7 8 10 11 14 -2 3 4 7 8 10 11 15 -2 3 4 7 8 10 12 13 -2 3 4 7 8 10 12 14 -2 3 4 7 8 10 12 15 -2 3 4 7 8 10 13 14 -2 3 4 7 8 10 13 15 -2 3 4 7 8 10 14 15 -2 3 4 7 8 11 12 13 -2 3 4 7 8 11 12 14 -2 3 4 7 8 11 12 15 -2 3 4 7 8 11 13 14 -2 3 4 7 8 11 13 15 -2 3 4 7 8 11 14 15 -2 3 4 7 8 12 13 14 -2 3 4 7 8 12 13 15 -2 3 4 7 8 12 14 15 -2 3 4 7 8 13 14 15 -2 3 4 7 9 10 11 12 -2 3 4 7 9 10 11 13 -2 3 4 7 9 10 11 14 -2 3 4 7 9 10 11 15 -2 3 4 7 9 10 12 13 -2 3 4 7 9 10 12 14 -2 3 4 7 9 10 12 15 -2 3 4 7 9 10 13 14 -2 3 4 7 9 10 13 15 -2 3 4 7 9 10 14 15 -2 3 4 7 9 11 12 13 -2 3 4 7 9 11 12 14 -2 3 4 7 9 11 12 15 -2 3 4 7 9 11 13 14 -2 3 4 7 9 11 13 15 -2 3 4 7 9 11 14 15 -2 3 4 7 9 12 13 14 -2 3 4 7 9 12 13 15 -2 3 4 7 9 12 14 15 -2 3 4 7 9 13 14 15 -2 3 4 7 10 11 12 13 -2 3 4 7 10 11 12 14 -2 3 4 7 10 11 12 15 -2 3 4 7 10 11 13 14 -2 3 4 7 10 11 13 15 -2 3 4 7 10 11 14 15 -2 3 4 7 10 12 13 14 -2 3 4 7 10 12 13 15 -2 3 4 7 10 12 14 15 -2 3 4 7 10 13 14 15 -2 3 4 7 11 12 13 14 -2 3 4 7 11 12 13 15 -2 3 4 7 11 12 14 15 -2 3 4 7 11 13 14 15 -2 3 4 7 12 13 14 15 -2 3 4 8 9 10 11 12 -2 3 4 8 9 10 11 13 -2 3 4 8 9 10 11 14 -2 3 4 8 9 10 11 15 -2 3 4 8 9 10 12 13 -2 3 4 8 9 10 12 14 -2 3 4 8 9 10 12 15 -2 3 4 8 9 10 13 14 -2 3 4 8 9 10 13 15 -2 3 4 8 9 10 14 15 -2 3 4 8 9 11 12 13 -2 3 4 8 9 11 12 14 -2 3 4 8 9 11 12 15 -2 3 4 8 9 11 13 14 -2 3 4 8 9 11 13 15 -2 3 4 8 9 11 14 15 -2 3 4 8 9 12 13 14 -2 3 4 8 9 12 13 15 -2 3 4 8 9 12 14 15 -2 3 4 8 9 13 14 15 -2 3 4 8 10 11 12 13 -2 3 4 8 10 11 12 14 -2 3 4 8 10 11 12 15 -2 3 4 8 10 11 13 14 -2 3 4 8 10 11 13 15 -2 3 4 8 10 11 14 15 -2 3 4 8 10 12 13 14 -2 3 4 8 10 12 13 15 -2 3 4 8 10 12 14 15 -2 3 4 8 10 13 14 15 -2 3 4 8 11 12 13 14 -2 3 4 8 11 12 13 15 -2 3 4 8 11 12 14 15 -2 3 4 8 11 13 14 15 -2 3 4 8 12 13 14 15 -2 3 4 9 10 11 12 13 -2 3 4 9 10 11 12 14 -2 3 4 9 10 11 12 15 -2 3 4 9 10 11 13 14 -2 3 4 9 10 11 13 15 -2 3 4 9 10 11 14 15 -2 3 4 9 10 12 13 14 -2 3 4 9 10 12 13 15 -2 3 4 9 10 12 14 15 -2 3 4 9 10 13 14 15 -2 3 4 9 11 12 13 14 -2 3 4 9 11 12 13 15 -2 3 4 9 11 12 14 15 -2 3 4 9 11 13 14 15 -2 3 4 9 12 13 14 15 -2 3 4 10 11 12 13 14 -2 3 4 10 11 12 13 15 -2 3 4 10 11 12 14 15 -2 3 4 10 11 13 14 15 -2 3 4 10 12 13 14 15 -2 3 4 11 12 13 14 15 -2 3 5 6 7 8 9 10 -2 3 5 6 7 8 9 11 -2 3 5 6 7 8 9 12 -2 3 5 6 7 8 9 13 -2 3 5 6 7 8 9 14 -2 3 5 6 7 8 9 15 -2 3 5 6 7 8 10 11 -2 3 5 6 7 8 10 12 -2 3 5 6 7 8 10 13 -2 3 5 6 7 8 10 14 -2 3 5 6 7 8 10 15 -2 3 5 6 7 8 11 12 -2 3 5 6 7 8 11 13 -2 3 5 6 7 8 11 14 -2 3 5 6 7 8 11 15 -2 3 5 6 7 8 12 13 -2 3 5 6 7 8 12 14 -2 3 5 6 7 8 12 15 -2 3 5 6 7 8 13 14 -2 3 5 6 7 8 13 15 -2 3 5 6 7 8 14 15 -2 3 5 6 7 9 10 11 -2 3 5 6 7 9 10 12 -2 3 5 6 7 9 10 13 -2 3 5 6 7 9 10 14 -2 3 5 6 7 9 10 15 -2 3 5 6 7 9 11 12 -2 3 5 6 7 9 11 13 -2 3 5 6 7 9 11 14 -2 3 5 6 7 9 11 15 -2 3 5 6 7 9 12 13 -2 3 5 6 7 9 12 14 -2 3 5 6 7 9 12 15 -2 3 5 6 7 9 13 14 -2 3 5 6 7 9 13 15 -2 3 5 6 7 9 14 15 -2 3 5 6 7 10 11 12 -2 3 5 6 7 10 11 13 -2 3 5 6 7 10 11 14 -2 3 5 6 7 10 11 15 -2 3 5 6 7 10 12 13 -2 3 5 6 7 10 12 14 -2 3 5 6 7 10 12 15 -2 3 5 6 7 10 13 14 -2 3 5 6 7 10 13 15 -2 3 5 6 7 10 14 15 -2 3 5 6 7 11 12 13 -2 3 5 6 7 11 12 14 -2 3 5 6 7 11 12 15 -2 3 5 6 7 11 13 14 -2 3 5 6 7 11 13 15 -2 3 5 6 7 11 14 15 -2 3 5 6 7 12 13 14 -2 3 5 6 7 12 13 15 -2 3 5 6 7 12 14 15 -2 3 5 6 7 13 14 15 -2 3 5 6 8 9 10 11 -2 3 5 6 8 9 10 12 -2 3 5 6 8 9 10 13 -2 3 5 6 8 9 10 14 -2 3 5 6 8 9 10 15 -2 3 5 6 8 9 11 12 -2 3 5 6 8 9 11 13 -2 3 5 6 8 9 11 14 -2 3 5 6 8 9 11 15 -2 3 5 6 8 9 12 13 -2 3 5 6 8 9 12 14 -2 3 5 6 8 9 12 15 -2 3 5 6 8 9 13 14 -2 3 5 6 8 9 13 15 -2 3 5 6 8 9 14 15 -2 3 5 6 8 10 11 12 -2 3 5 6 8 10 11 13 -2 3 5 6 8 10 11 14 -2 3 5 6 8 10 11 15 -2 3 5 6 8 10 12 13 -2 3 5 6 8 10 12 14 -2 3 5 6 8 10 12 15 -2 3 5 6 8 10 13 14 -2 3 5 6 8 10 13 15 -2 3 5 6 8 10 14 15 -2 3 5 6 8 11 12 13 -2 3 5 6 8 11 12 14 -2 3 5 6 8 11 12 15 -2 3 5 6 8 11 13 14 -2 3 5 6 8 11 13 15 -2 3 5 6 8 11 14 15 -2 3 5 6 8 12 13 14 -2 3 5 6 8 12 13 15 -2 3 5 6 8 12 14 15 -2 3 5 6 8 13 14 15 -2 3 5 6 9 10 11 12 -2 3 5 6 9 10 11 13 -2 3 5 6 9 10 11 14 -2 3 5 6 9 10 11 15 -2 3 5 6 9 10 12 13 -2 3 5 6 9 10 12 14 -2 3 5 6 9 10 12 15 -2 3 5 6 9 10 13 14 -2 3 5 6 9 10 13 15 -2 3 5 6 9 10 14 15 -2 3 5 6 9 11 12 13 -2 3 5 6 9 11 12 14 -2 3 5 6 9 11 12 15 -2 3 5 6 9 11 13 14 -2 3 5 6 9 11 13 15 -2 3 5 6 9 11 14 15 -2 3 5 6 9 12 13 14 -2 3 5 6 9 12 13 15 -2 3 5 6 9 12 14 15 -2 3 5 6 9 13 14 15 -2 3 5 6 10 11 12 13 -2 3 5 6 10 11 12 14 -2 3 5 6 10 11 12 15 -2 3 5 6 10 11 13 14 -2 3 5 6 10 11 13 15 -2 3 5 6 10 11 14 15 -2 3 5 6 10 12 13 14 -2 3 5 6 10 12 13 15 -2 3 5 6 10 12 14 15 -2 3 5 6 10 13 14 15 -2 3 5 6 11 12 13 14 -2 3 5 6 11 12 13 15 -2 3 5 6 11 12 14 15 -2 3 5 6 11 13 14 15 -2 3 5 6 12 13 14 15 -2 3 5 7 8 9 10 11 -2 3 5 7 8 9 10 12 -2 3 5 7 8 9 10 13 -2 3 5 7 8 9 10 14 -2 3 5 7 8 9 10 15 -2 3 5 7 8 9 11 12 -2 3 5 7 8 9 11 13 -2 3 5 7 8 9 11 14 -2 3 5 7 8 9 11 15 -2 3 5 7 8 9 12 13 -2 3 5 7 8 9 12 14 -2 3 5 7 8 9 12 15 -2 3 5 7 8 9 13 14 -2 3 5 7 8 9 13 15 -2 3 5 7 8 9 14 15 -2 3 5 7 8 10 11 12 -2 3 5 7 8 10 11 13 -2 3 5 7 8 10 11 14 -2 3 5 7 8 10 11 15 -2 3 5 7 8 10 12 13 -2 3 5 7 8 10 12 14 -2 3 5 7 8 10 12 15 -2 3 5 7 8 10 13 14 -2 3 5 7 8 10 13 15 -2 3 5 7 8 10 14 15 -2 3 5 7 8 11 12 13 -2 3 5 7 8 11 12 14 -2 3 5 7 8 11 12 15 -2 3 5 7 8 11 13 14 -2 3 5 7 8 11 13 15 -2 3 5 7 8 11 14 15 -2 3 5 7 8 12 13 14 -2 3 5 7 8 12 13 15 -2 3 5 7 8 12 14 15 -2 3 5 7 8 13 14 15 -2 3 5 7 9 10 11 12 -2 3 5 7 9 10 11 13 -2 3 5 7 9 10 11 14 -2 3 5 7 9 10 11 15 -2 3 5 7 9 10 12 13 -2 3 5 7 9 10 12 14 -2 3 5 7 9 10 12 15 -2 3 5 7 9 10 13 14 -2 3 5 7 9 10 13 15 -2 3 5 7 9 10 14 15 -2 3 5 7 9 11 12 13 -2 3 5 7 9 11 12 14 -2 3 5 7 9 11 12 15 -2 3 5 7 9 11 13 14 -2 3 5 7 9 11 13 15 -2 3 5 7 9 11 14 15 -2 3 5 7 9 12 13 14 -2 3 5 7 9 12 13 15 -2 3 5 7 9 12 14 15 -2 3 5 7 9 13 14 15 -2 3 5 7 10 11 12 13 -2 3 5 7 10 11 12 14 -2 3 5 7 10 11 12 15 -2 3 5 7 10 11 13 14 -2 3 5 7 10 11 13 15 -2 3 5 7 10 11 14 15 -2 3 5 7 10 12 13 14 -2 3 5 7 10 12 13 15 -2 3 5 7 10 12 14 15 -2 3 5 7 10 13 14 15 -2 3 5 7 11 12 13 14 -2 3 5 7 11 12 13 15 -2 3 5 7 11 12 14 15 -2 3 5 7 11 13 14 15 -2 3 5 7 12 13 14 15 -2 3 5 8 9 10 11 12 -2 3 5 8 9 10 11 13 -2 3 5 8 9 10 11 14 -2 3 5 8 9 10 11 15 -2 3 5 8 9 10 12 13 -2 3 5 8 9 10 12 14 -2 3 5 8 9 10 12 15 -2 3 5 8 9 10 13 14 -2 3 5 8 9 10 13 15 -2 3 5 8 9 10 14 15 -2 3 5 8 9 11 12 13 -2 3 5 8 9 11 12 14 -2 3 5 8 9 11 12 15 -2 3 5 8 9 11 13 14 -2 3 5 8 9 11 13 15 -2 3 5 8 9 11 14 15 -2 3 5 8 9 12 13 14 -2 3 5 8 9 12 13 15 -2 3 5 8 9 12 14 15 -2 3 5 8 9 13 14 15 -2 3 5 8 10 11 12 13 -2 3 5 8 10 11 12 14 -2 3 5 8 10 11 12 15 -2 3 5 8 10 11 13 14 -2 3 5 8 10 11 13 15 -2 3 5 8 10 11 14 15 -2 3 5 8 10 12 13 14 -2 3 5 8 10 12 13 15 -2 3 5 8 10 12 14 15 -2 3 5 8 10 13 14 15 -2 3 5 8 11 12 13 14 -2 3 5 8 11 12 13 15 -2 3 5 8 11 12 14 15 -2 3 5 8 11 13 14 15 -2 3 5 8 12 13 14 15 -2 3 5 9 10 11 12 13 -2 3 5 9 10 11 12 14 -2 3 5 9 10 11 12 15 -2 3 5 9 10 11 13 14 -2 3 5 9 10 11 13 15 -2 3 5 9 10 11 14 15 -2 3 5 9 10 12 13 14 -2 3 5 9 10 12 13 15 -2 3 5 9 10 12 14 15 -2 3 5 9 10 13 14 15 -2 3 5 9 11 12 13 14 -2 3 5 9 11 12 13 15 -2 3 5 9 11 12 14 15 -2 3 5 9 11 13 14 15 -2 3 5 9 12 13 14 15 -2 3 5 10 11 12 13 14 -2 3 5 10 11 12 13 15 -2 3 5 10 11 12 14 15 -2 3 5 10 11 13 14 15 -2 3 5 10 12 13 14 15 -2 3 5 11 12 13 14 15 -2 3 6 7 8 9 10 11 -2 3 6 7 8 9 10 12 -2 3 6 7 8 9 10 13 -2 3 6 7 8 9 10 14 -2 3 6 7 8 9 10 15 -2 3 6 7 8 9 11 12 -2 3 6 7 8 9 11 13 -2 3 6 7 8 9 11 14 -2 3 6 7 8 9 11 15 -2 3 6 7 8 9 12 13 -2 3 6 7 8 9 12 14 -2 3 6 7 8 9 12 15 -2 3 6 7 8 9 13 14 -2 3 6 7 8 9 13 15 -2 3 6 7 8 9 14 15 -2 3 6 7 8 10 11 12 -2 3 6 7 8 10 11 13 -2 3 6 7 8 10 11 14 -2 3 6 7 8 10 11 15 -2 3 6 7 8 10 12 13 -2 3 6 7 8 10 12 14 -2 3 6 7 8 10 12 15 -2 3 6 7 8 10 13 14 -2 3 6 7 8 10 13 15 -2 3 6 7 8 10 14 15 -2 3 6 7 8 11 12 13 -2 3 6 7 8 11 12 14 -2 3 6 7 8 11 12 15 -2 3 6 7 8 11 13 14 -2 3 6 7 8 11 13 15 -2 3 6 7 8 11 14 15 -2 3 6 7 8 12 13 14 -2 3 6 7 8 12 13 15 -2 3 6 7 8 12 14 15 -2 3 6 7 8 13 14 15 -2 3 6 7 9 10 11 12 -2 3 6 7 9 10 11 13 -2 3 6 7 9 10 11 14 -2 3 6 7 9 10 11 15 -2 3 6 7 9 10 12 13 -2 3 6 7 9 10 12 14 -2 3 6 7 9 10 12 15 -2 3 6 7 9 10 13 14 -2 3 6 7 9 10 13 15 -2 3 6 7 9 10 14 15 -2 3 6 7 9 11 12 13 -2 3 6 7 9 11 12 14 -2 3 6 7 9 11 12 15 -2 3 6 7 9 11 13 14 -2 3 6 7 9 11 13 15 -2 3 6 7 9 11 14 15 -2 3 6 7 9 12 13 14 -2 3 6 7 9 12 13 15 -2 3 6 7 9 12 14 15 -2 3 6 7 9 13 14 15 -2 3 6 7 10 11 12 13 -2 3 6 7 10 11 12 14 -2 3 6 7 10 11 12 15 -2 3 6 7 10 11 13 14 -2 3 6 7 10 11 13 15 -2 3 6 7 10 11 14 15 -2 3 6 7 10 12 13 14 -2 3 6 7 10 12 13 15 -2 3 6 7 10 12 14 15 -2 3 6 7 10 13 14 15 -2 3 6 7 11 12 13 14 -2 3 6 7 11 12 13 15 -2 3 6 7 11 12 14 15 -2 3 6 7 11 13 14 15 -2 3 6 7 12 13 14 15 -2 3 6 8 9 10 11 12 -2 3 6 8 9 10 11 13 -2 3 6 8 9 10 11 14 -2 3 6 8 9 10 11 15 -2 3 6 8 9 10 12 13 -2 3 6 8 9 10 12 14 -2 3 6 8 9 10 12 15 -2 3 6 8 9 10 13 14 -2 3 6 8 9 10 13 15 -2 3 6 8 9 10 14 15 -2 3 6 8 9 11 12 13 -2 3 6 8 9 11 12 14 -2 3 6 8 9 11 12 15 -2 3 6 8 9 11 13 14 -2 3 6 8 9 11 13 15 -2 3 6 8 9 11 14 15 -2 3 6 8 9 12 13 14 -2 3 6 8 9 12 13 15 -2 3 6 8 9 12 14 15 -2 3 6 8 9 13 14 15 -2 3 6 8 10 11 12 13 -2 3 6 8 10 11 12 14 -2 3 6 8 10 11 12 15 -2 3 6 8 10 11 13 14 -2 3 6 8 10 11 13 15 -2 3 6 8 10 11 14 15 -2 3 6 8 10 12 13 14 -2 3 6 8 10 12 13 15 -2 3 6 8 10 12 14 15 -2 3 6 8 10 13 14 15 -2 3 6 8 11 12 13 14 -2 3 6 8 11 12 13 15 -2 3 6 8 11 12 14 15 -2 3 6 8 11 13 14 15 -2 3 6 8 12 13 14 15 -2 3 6 9 10 11 12 13 -2 3 6 9 10 11 12 14 -2 3 6 9 10 11 12 15 -2 3 6 9 10 11 13 14 -2 3 6 9 10 11 13 15 -2 3 6 9 10 11 14 15 -2 3 6 9 10 12 13 14 -2 3 6 9 10 12 13 15 -2 3 6 9 10 12 14 15 -2 3 6 9 10 13 14 15 -2 3 6 9 11 12 13 14 -2 3 6 9 11 12 13 15 -2 3 6 9 11 12 14 15 -2 3 6 9 11 13 14 15 -2 3 6 9 12 13 14 15 -2 3 6 10 11 12 13 14 -2 3 6 10 11 12 13 15 -2 3 6 10 11 12 14 15 -2 3 6 10 11 13 14 15 -2 3 6 10 12 13 14 15 -2 3 6 11 12 13 14 15 -2 3 7 8 9 10 11 12 -2 3 7 8 9 10 11 13 -2 3 7 8 9 10 11 14 -2 3 7 8 9 10 11 15 -2 3 7 8 9 10 12 13 -2 3 7 8 9 10 12 14 -2 3 7 8 9 10 12 15 -2 3 7 8 9 10 13 14 -2 3 7 8 9 10 13 15 -2 3 7 8 9 10 14 15 -2 3 7 8 9 11 12 13 -2 3 7 8 9 11 12 14 -2 3 7 8 9 11 12 15 -2 3 7 8 9 11 13 14 -2 3 7 8 9 11 13 15 -2 3 7 8 9 11 14 15 -2 3 7 8 9 12 13 14 -2 3 7 8 9 12 13 15 -2 3 7 8 9 12 14 15 -2 3 7 8 9 13 14 15 -2 3 7 8 10 11 12 13 -2 3 7 8 10 11 12 14 -2 3 7 8 10 11 12 15 -2 3 7 8 10 11 13 14 -2 3 7 8 10 11 13 15 -2 3 7 8 10 11 14 15 -2 3 7 8 10 12 13 14 -2 3 7 8 10 12 13 15 -2 3 7 8 10 12 14 15 -2 3 7 8 10 13 14 15 -2 3 7 8 11 12 13 14 -2 3 7 8 11 12 13 15 -2 3 7 8 11 12 14 15 -2 3 7 8 11 13 14 15 -2 3 7 8 12 13 14 15 -2 3 7 9 10 11 12 13 -2 3 7 9 10 11 12 14 -2 3 7 9 10 11 12 15 -2 3 7 9 10 11 13 14 -2 3 7 9 10 11 13 15 -2 3 7 9 10 11 14 15 -2 3 7 9 10 12 13 14 -2 3 7 9 10 12 13 15 -2 3 7 9 10 12 14 15 -2 3 7 9 10 13 14 15 -2 3 7 9 11 12 13 14 -2 3 7 9 11 12 13 15 -2 3 7 9 11 12 14 15 -2 3 7 9 11 13 14 15 -2 3 7 9 12 13 14 15 -2 3 7 10 11 12 13 14 -2 3 7 10 11 12 13 15 -2 3 7 10 11 12 14 15 -2 3 7 10 11 13 14 15 -2 3 7 10 12 13 14 15 -2 3 7 11 12 13 14 15 -2 3 8 9 10 11 12 13 -2 3 8 9 10 11 12 14 -2 3 8 9 10 11 12 15 -2 3 8 9 10 11 13 14 -2 3 8 9 10 11 13 15 -2 3 8 9 10 11 14 15 -2 3 8 9 10 12 13 14 -2 3 8 9 10 12 13 15 -2 3 8 9 10 12 14 15 -2 3 8 9 10 13 14 15 -2 3 8 9 11 12 13 14 -2 3 8 9 11 12 13 15 -2 3 8 9 11 12 14 15 -2 3 8 9 11 13 14 15 -2 3 8 9 12 13 14 15 -2 3 8 10 11 12 13 14 -2 3 8 10 11 12 13 15 -2 3 8 10 11 12 14 15 -2 3 8 10 11 13 14 15 -2 3 8 10 12 13 14 15 -2 3 8 11 12 13 14 15 -2 3 9 10 11 12 13 14 -2 3 9 10 11 12 13 15 -2 3 9 10 11 12 14 15 -2 3 9 10 11 13 14 15 -2 3 9 10 12 13 14 15 -2 3 9 11 12 13 14 15 -2 3 10 11 12 13 14 15 -2 4 5 6 7 8 9 10 -2 4 5 6 7 8 9 11 -2 4 5 6 7 8 9 12 -2 4 5 6 7 8 9 13 -2 4 5 6 7 8 9 14 -2 4 5 6 7 8 9 15 -2 4 5 6 7 8 10 11 -2 4 5 6 7 8 10 12 -2 4 5 6 7 8 10 13 -2 4 5 6 7 8 10 14 -2 4 5 6 7 8 10 15 -2 4 5 6 7 8 11 12 -2 4 5 6 7 8 11 13 -2 4 5 6 7 8 11 14 -2 4 5 6 7 8 11 15 -2 4 5 6 7 8 12 13 -2 4 5 6 7 8 12 14 -2 4 5 6 7 8 12 15 -2 4 5 6 7 8 13 14 -2 4 5 6 7 8 13 15 -2 4 5 6 7 8 14 15 -2 4 5 6 7 9 10 11 -2 4 5 6 7 9 10 12 -2 4 5 6 7 9 10 13 -2 4 5 6 7 9 10 14 -2 4 5 6 7 9 10 15 -2 4 5 6 7 9 11 12 -2 4 5 6 7 9 11 13 -2 4 5 6 7 9 11 14 -2 4 5 6 7 9 11 15 -2 4 5 6 7 9 12 13 -2 4 5 6 7 9 12 14 -2 4 5 6 7 9 12 15 -2 4 5 6 7 9 13 14 -2 4 5 6 7 9 13 15 -2 4 5 6 7 9 14 15 -2 4 5 6 7 10 11 12 -2 4 5 6 7 10 11 13 -2 4 5 6 7 10 11 14 -2 4 5 6 7 10 11 15 -2 4 5 6 7 10 12 13 -2 4 5 6 7 10 12 14 -2 4 5 6 7 10 12 15 -2 4 5 6 7 10 13 14 -2 4 5 6 7 10 13 15 -2 4 5 6 7 10 14 15 -2 4 5 6 7 11 12 13 -2 4 5 6 7 11 12 14 -2 4 5 6 7 11 12 15 -2 4 5 6 7 11 13 14 -2 4 5 6 7 11 13 15 -2 4 5 6 7 11 14 15 -2 4 5 6 7 12 13 14 -2 4 5 6 7 12 13 15 -2 4 5 6 7 12 14 15 -2 4 5 6 7 13 14 15 -2 4 5 6 8 9 10 11 -2 4 5 6 8 9 10 12 -2 4 5 6 8 9 10 13 -2 4 5 6 8 9 10 14 -2 4 5 6 8 9 10 15 -2 4 5 6 8 9 11 12 -2 4 5 6 8 9 11 13 -2 4 5 6 8 9 11 14 -2 4 5 6 8 9 11 15 -2 4 5 6 8 9 12 13 -2 4 5 6 8 9 12 14 -2 4 5 6 8 9 12 15 -2 4 5 6 8 9 13 14 -2 4 5 6 8 9 13 15 -2 4 5 6 8 9 14 15 -2 4 5 6 8 10 11 12 -2 4 5 6 8 10 11 13 -2 4 5 6 8 10 11 14 -2 4 5 6 8 10 11 15 -2 4 5 6 8 10 12 13 -2 4 5 6 8 10 12 14 -2 4 5 6 8 10 12 15 -2 4 5 6 8 10 13 14 -2 4 5 6 8 10 13 15 -2 4 5 6 8 10 14 15 -2 4 5 6 8 11 12 13 -2 4 5 6 8 11 12 14 -2 4 5 6 8 11 12 15 -2 4 5 6 8 11 13 14 -2 4 5 6 8 11 13 15 -2 4 5 6 8 11 14 15 -2 4 5 6 8 12 13 14 -2 4 5 6 8 12 13 15 -2 4 5 6 8 12 14 15 -2 4 5 6 8 13 14 15 -2 4 5 6 9 10 11 12 -2 4 5 6 9 10 11 13 -2 4 5 6 9 10 11 14 -2 4 5 6 9 10 11 15 -2 4 5 6 9 10 12 13 -2 4 5 6 9 10 12 14 -2 4 5 6 9 10 12 15 -2 4 5 6 9 10 13 14 -2 4 5 6 9 10 13 15 -2 4 5 6 9 10 14 15 -2 4 5 6 9 11 12 13 -2 4 5 6 9 11 12 14 -2 4 5 6 9 11 12 15 -2 4 5 6 9 11 13 14 -2 4 5 6 9 11 13 15 -2 4 5 6 9 11 14 15 -2 4 5 6 9 12 13 14 -2 4 5 6 9 12 13 15 -2 4 5 6 9 12 14 15 -2 4 5 6 9 13 14 15 -2 4 5 6 10 11 12 13 -2 4 5 6 10 11 12 14 -2 4 5 6 10 11 12 15 -2 4 5 6 10 11 13 14 -2 4 5 6 10 11 13 15 -2 4 5 6 10 11 14 15 -2 4 5 6 10 12 13 14 -2 4 5 6 10 12 13 15 -2 4 5 6 10 12 14 15 -2 4 5 6 10 13 14 15 -2 4 5 6 11 12 13 14 -2 4 5 6 11 12 13 15 -2 4 5 6 11 12 14 15 -2 4 5 6 11 13 14 15 -2 4 5 6 12 13 14 15 -2 4 5 7 8 9 10 11 -2 4 5 7 8 9 10 12 -2 4 5 7 8 9 10 13 -2 4 5 7 8 9 10 14 -2 4 5 7 8 9 10 15 -2 4 5 7 8 9 11 12 -2 4 5 7 8 9 11 13 -2 4 5 7 8 9 11 14 -2 4 5 7 8 9 11 15 -2 4 5 7 8 9 12 13 -2 4 5 7 8 9 12 14 -2 4 5 7 8 9 12 15 -2 4 5 7 8 9 13 14 -2 4 5 7 8 9 13 15 -2 4 5 7 8 9 14 15 -2 4 5 7 8 10 11 12 -2 4 5 7 8 10 11 13 -2 4 5 7 8 10 11 14 -2 4 5 7 8 10 11 15 -2 4 5 7 8 10 12 13 -2 4 5 7 8 10 12 14 -2 4 5 7 8 10 12 15 -2 4 5 7 8 10 13 14 -2 4 5 7 8 10 13 15 -2 4 5 7 8 10 14 15 -2 4 5 7 8 11 12 13 -2 4 5 7 8 11 12 14 -2 4 5 7 8 11 12 15 -2 4 5 7 8 11 13 14 -2 4 5 7 8 11 13 15 -2 4 5 7 8 11 14 15 -2 4 5 7 8 12 13 14 -2 4 5 7 8 12 13 15 -2 4 5 7 8 12 14 15 -2 4 5 7 8 13 14 15 -2 4 5 7 9 10 11 12 -2 4 5 7 9 10 11 13 -2 4 5 7 9 10 11 14 -2 4 5 7 9 10 11 15 -2 4 5 7 9 10 12 13 -2 4 5 7 9 10 12 14 -2 4 5 7 9 10 12 15 -2 4 5 7 9 10 13 14 -2 4 5 7 9 10 13 15 -2 4 5 7 9 10 14 15 -2 4 5 7 9 11 12 13 -2 4 5 7 9 11 12 14 -2 4 5 7 9 11 12 15 -2 4 5 7 9 11 13 14 -2 4 5 7 9 11 13 15 -2 4 5 7 9 11 14 15 -2 4 5 7 9 12 13 14 -2 4 5 7 9 12 13 15 -2 4 5 7 9 12 14 15 -2 4 5 7 9 13 14 15 -2 4 5 7 10 11 12 13 -2 4 5 7 10 11 12 14 -2 4 5 7 10 11 12 15 -2 4 5 7 10 11 13 14 -2 4 5 7 10 11 13 15 -2 4 5 7 10 11 14 15 -2 4 5 7 10 12 13 14 -2 4 5 7 10 12 13 15 -2 4 5 7 10 12 14 15 -2 4 5 7 10 13 14 15 -2 4 5 7 11 12 13 14 -2 4 5 7 11 12 13 15 -2 4 5 7 11 12 14 15 -2 4 5 7 11 13 14 15 -2 4 5 7 12 13 14 15 -2 4 5 8 9 10 11 12 -2 4 5 8 9 10 11 13 -2 4 5 8 9 10 11 14 -2 4 5 8 9 10 11 15 -2 4 5 8 9 10 12 13 -2 4 5 8 9 10 12 14 -2 4 5 8 9 10 12 15 -2 4 5 8 9 10 13 14 -2 4 5 8 9 10 13 15 -2 4 5 8 9 10 14 15 -2 4 5 8 9 11 12 13 -2 4 5 8 9 11 12 14 -2 4 5 8 9 11 12 15 -2 4 5 8 9 11 13 14 -2 4 5 8 9 11 13 15 -2 4 5 8 9 11 14 15 -2 4 5 8 9 12 13 14 -2 4 5 8 9 12 13 15 -2 4 5 8 9 12 14 15 -2 4 5 8 9 13 14 15 -2 4 5 8 10 11 12 13 -2 4 5 8 10 11 12 14 -2 4 5 8 10 11 12 15 -2 4 5 8 10 11 13 14 -2 4 5 8 10 11 13 15 -2 4 5 8 10 11 14 15 -2 4 5 8 10 12 13 14 -2 4 5 8 10 12 13 15 -2 4 5 8 10 12 14 15 -2 4 5 8 10 13 14 15 -2 4 5 8 11 12 13 14 -2 4 5 8 11 12 13 15 -2 4 5 8 11 12 14 15 -2 4 5 8 11 13 14 15 -2 4 5 8 12 13 14 15 -2 4 5 9 10 11 12 13 -2 4 5 9 10 11 12 14 -2 4 5 9 10 11 12 15 -2 4 5 9 10 11 13 14 -2 4 5 9 10 11 13 15 -2 4 5 9 10 11 14 15 -2 4 5 9 10 12 13 14 -2 4 5 9 10 12 13 15 -2 4 5 9 10 12 14 15 -2 4 5 9 10 13 14 15 -2 4 5 9 11 12 13 14 -2 4 5 9 11 12 13 15 -2 4 5 9 11 12 14 15 -2 4 5 9 11 13 14 15 -2 4 5 9 12 13 14 15 -2 4 5 10 11 12 13 14 -2 4 5 10 11 12 13 15 -2 4 5 10 11 12 14 15 -2 4 5 10 11 13 14 15 -2 4 5 10 12 13 14 15 -2 4 5 11 12 13 14 15 -2 4 6 7 8 9 10 11 -2 4 6 7 8 9 10 12 -2 4 6 7 8 9 10 13 -2 4 6 7 8 9 10 14 -2 4 6 7 8 9 10 15 -2 4 6 7 8 9 11 12 -2 4 6 7 8 9 11 13 -2 4 6 7 8 9 11 14 -2 4 6 7 8 9 11 15 -2 4 6 7 8 9 12 13 -2 4 6 7 8 9 12 14 -2 4 6 7 8 9 12 15 -2 4 6 7 8 9 13 14 -2 4 6 7 8 9 13 15 -2 4 6 7 8 9 14 15 -2 4 6 7 8 10 11 12 -2 4 6 7 8 10 11 13 -2 4 6 7 8 10 11 14 -2 4 6 7 8 10 11 15 -2 4 6 7 8 10 12 13 -2 4 6 7 8 10 12 14 -2 4 6 7 8 10 12 15 -2 4 6 7 8 10 13 14 -2 4 6 7 8 10 13 15 -2 4 6 7 8 10 14 15 -2 4 6 7 8 11 12 13 -2 4 6 7 8 11 12 14 -2 4 6 7 8 11 12 15 -2 4 6 7 8 11 13 14 -2 4 6 7 8 11 13 15 -2 4 6 7 8 11 14 15 -2 4 6 7 8 12 13 14 -2 4 6 7 8 12 13 15 -2 4 6 7 8 12 14 15 -2 4 6 7 8 13 14 15 -2 4 6 7 9 10 11 12 -2 4 6 7 9 10 11 13 -2 4 6 7 9 10 11 14 -2 4 6 7 9 10 11 15 -2 4 6 7 9 10 12 13 -2 4 6 7 9 10 12 14 -2 4 6 7 9 10 12 15 -2 4 6 7 9 10 13 14 -2 4 6 7 9 10 13 15 -2 4 6 7 9 10 14 15 -2 4 6 7 9 11 12 13 -2 4 6 7 9 11 12 14 -2 4 6 7 9 11 12 15 -2 4 6 7 9 11 13 14 -2 4 6 7 9 11 13 15 -2 4 6 7 9 11 14 15 -2 4 6 7 9 12 13 14 -2 4 6 7 9 12 13 15 -2 4 6 7 9 12 14 15 -2 4 6 7 9 13 14 15 -2 4 6 7 10 11 12 13 -2 4 6 7 10 11 12 14 -2 4 6 7 10 11 12 15 -2 4 6 7 10 11 13 14 -2 4 6 7 10 11 13 15 -2 4 6 7 10 11 14 15 -2 4 6 7 10 12 13 14 -2 4 6 7 10 12 13 15 -2 4 6 7 10 12 14 15 -2 4 6 7 10 13 14 15 -2 4 6 7 11 12 13 14 -2 4 6 7 11 12 13 15 -2 4 6 7 11 12 14 15 -2 4 6 7 11 13 14 15 -2 4 6 7 12 13 14 15 -2 4 6 8 9 10 11 12 -2 4 6 8 9 10 11 13 -2 4 6 8 9 10 11 14 -2 4 6 8 9 10 11 15 -2 4 6 8 9 10 12 13 -2 4 6 8 9 10 12 14 -2 4 6 8 9 10 12 15 -2 4 6 8 9 10 13 14 -2 4 6 8 9 10 13 15 -2 4 6 8 9 10 14 15 -2 4 6 8 9 11 12 13 -2 4 6 8 9 11 12 14 -2 4 6 8 9 11 12 15 -2 4 6 8 9 11 13 14 -2 4 6 8 9 11 13 15 -2 4 6 8 9 11 14 15 -2 4 6 8 9 12 13 14 -2 4 6 8 9 12 13 15 -2 4 6 8 9 12 14 15 -2 4 6 8 9 13 14 15 -2 4 6 8 10 11 12 13 -2 4 6 8 10 11 12 14 -2 4 6 8 10 11 12 15 -2 4 6 8 10 11 13 14 -2 4 6 8 10 11 13 15 -2 4 6 8 10 11 14 15 -2 4 6 8 10 12 13 14 -2 4 6 8 10 12 13 15 -2 4 6 8 10 12 14 15 -2 4 6 8 10 13 14 15 -2 4 6 8 11 12 13 14 -2 4 6 8 11 12 13 15 -2 4 6 8 11 12 14 15 -2 4 6 8 11 13 14 15 -2 4 6 8 12 13 14 15 -2 4 6 9 10 11 12 13 -2 4 6 9 10 11 12 14 -2 4 6 9 10 11 12 15 -2 4 6 9 10 11 13 14 -2 4 6 9 10 11 13 15 -2 4 6 9 10 11 14 15 -2 4 6 9 10 12 13 14 -2 4 6 9 10 12 13 15 -2 4 6 9 10 12 14 15 -2 4 6 9 10 13 14 15 -2 4 6 9 11 12 13 14 -2 4 6 9 11 12 13 15 -2 4 6 9 11 12 14 15 -2 4 6 9 11 13 14 15 -2 4 6 9 12 13 14 15 -2 4 6 10 11 12 13 14 -2 4 6 10 11 12 13 15 -2 4 6 10 11 12 14 15 -2 4 6 10 11 13 14 15 -2 4 6 10 12 13 14 15 -2 4 6 11 12 13 14 15 -2 4 7 8 9 10 11 12 -2 4 7 8 9 10 11 13 -2 4 7 8 9 10 11 14 -2 4 7 8 9 10 11 15 -2 4 7 8 9 10 12 13 -2 4 7 8 9 10 12 14 -2 4 7 8 9 10 12 15 -2 4 7 8 9 10 13 14 -2 4 7 8 9 10 13 15 -2 4 7 8 9 10 14 15 -2 4 7 8 9 11 12 13 -2 4 7 8 9 11 12 14 -2 4 7 8 9 11 12 15 -2 4 7 8 9 11 13 14 -2 4 7 8 9 11 13 15 -2 4 7 8 9 11 14 15 -2 4 7 8 9 12 13 14 -2 4 7 8 9 12 13 15 -2 4 7 8 9 12 14 15 -2 4 7 8 9 13 14 15 -2 4 7 8 10 11 12 13 -2 4 7 8 10 11 12 14 -2 4 7 8 10 11 12 15 -2 4 7 8 10 11 13 14 -2 4 7 8 10 11 13 15 -2 4 7 8 10 11 14 15 -2 4 7 8 10 12 13 14 -2 4 7 8 10 12 13 15 -2 4 7 8 10 12 14 15 -2 4 7 8 10 13 14 15 -2 4 7 8 11 12 13 14 -2 4 7 8 11 12 13 15 -2 4 7 8 11 12 14 15 -2 4 7 8 11 13 14 15 -2 4 7 8 12 13 14 15 -2 4 7 9 10 11 12 13 -2 4 7 9 10 11 12 14 -2 4 7 9 10 11 12 15 -2 4 7 9 10 11 13 14 -2 4 7 9 10 11 13 15 -2 4 7 9 10 11 14 15 -2 4 7 9 10 12 13 14 -2 4 7 9 10 12 13 15 -2 4 7 9 10 12 14 15 -2 4 7 9 10 13 14 15 -2 4 7 9 11 12 13 14 -2 4 7 9 11 12 13 15 -2 4 7 9 11 12 14 15 -2 4 7 9 11 13 14 15 -2 4 7 9 12 13 14 15 -2 4 7 10 11 12 13 14 -2 4 7 10 11 12 13 15 -2 4 7 10 11 12 14 15 -2 4 7 10 11 13 14 15 -2 4 7 10 12 13 14 15 -2 4 7 11 12 13 14 15 -2 4 8 9 10 11 12 13 -2 4 8 9 10 11 12 14 -2 4 8 9 10 11 12 15 -2 4 8 9 10 11 13 14 -2 4 8 9 10 11 13 15 -2 4 8 9 10 11 14 15 -2 4 8 9 10 12 13 14 -2 4 8 9 10 12 13 15 -2 4 8 9 10 12 14 15 -2 4 8 9 10 13 14 15 -2 4 8 9 11 12 13 14 -2 4 8 9 11 12 13 15 -2 4 8 9 11 12 14 15 -2 4 8 9 11 13 14 15 -2 4 8 9 12 13 14 15 -2 4 8 10 11 12 13 14 -2 4 8 10 11 12 13 15 -2 4 8 10 11 12 14 15 -2 4 8 10 11 13 14 15 -2 4 8 10 12 13 14 15 -2 4 8 11 12 13 14 15 -2 4 9 10 11 12 13 14 -2 4 9 10 11 12 13 15 -2 4 9 10 11 12 14 15 -2 4 9 10 11 13 14 15 -2 4 9 10 12 13 14 15 -2 4 9 11 12 13 14 15 -2 4 10 11 12 13 14 15 -2 5 6 7 8 9 10 11 -2 5 6 7 8 9 10 12 -2 5 6 7 8 9 10 13 -2 5 6 7 8 9 10 14 -2 5 6 7 8 9 10 15 -2 5 6 7 8 9 11 12 -2 5 6 7 8 9 11 13 -2 5 6 7 8 9 11 14 -2 5 6 7 8 9 11 15 -2 5 6 7 8 9 12 13 -2 5 6 7 8 9 12 14 -2 5 6 7 8 9 12 15 -2 5 6 7 8 9 13 14 -2 5 6 7 8 9 13 15 -2 5 6 7 8 9 14 15 -2 5 6 7 8 10 11 12 -2 5 6 7 8 10 11 13 -2 5 6 7 8 10 11 14 -2 5 6 7 8 10 11 15 -2 5 6 7 8 10 12 13 -2 5 6 7 8 10 12 14 -2 5 6 7 8 10 12 15 -2 5 6 7 8 10 13 14 -2 5 6 7 8 10 13 15 -2 5 6 7 8 10 14 15 -2 5 6 7 8 11 12 13 -2 5 6 7 8 11 12 14 -2 5 6 7 8 11 12 15 -2 5 6 7 8 11 13 14 -2 5 6 7 8 11 13 15 -2 5 6 7 8 11 14 15 -2 5 6 7 8 12 13 14 -2 5 6 7 8 12 13 15 -2 5 6 7 8 12 14 15 -2 5 6 7 8 13 14 15 -2 5 6 7 9 10 11 12 -2 5 6 7 9 10 11 13 -2 5 6 7 9 10 11 14 -2 5 6 7 9 10 11 15 -2 5 6 7 9 10 12 13 -2 5 6 7 9 10 12 14 -2 5 6 7 9 10 12 15 -2 5 6 7 9 10 13 14 -2 5 6 7 9 10 13 15 -2 5 6 7 9 10 14 15 -2 5 6 7 9 11 12 13 -2 5 6 7 9 11 12 14 -2 5 6 7 9 11 12 15 -2 5 6 7 9 11 13 14 -2 5 6 7 9 11 13 15 -2 5 6 7 9 11 14 15 -2 5 6 7 9 12 13 14 -2 5 6 7 9 12 13 15 -2 5 6 7 9 12 14 15 -2 5 6 7 9 13 14 15 -2 5 6 7 10 11 12 13 -2 5 6 7 10 11 12 14 -2 5 6 7 10 11 12 15 -2 5 6 7 10 11 13 14 -2 5 6 7 10 11 13 15 -2 5 6 7 10 11 14 15 -2 5 6 7 10 12 13 14 -2 5 6 7 10 12 13 15 -2 5 6 7 10 12 14 15 -2 5 6 7 10 13 14 15 -2 5 6 7 11 12 13 14 -2 5 6 7 11 12 13 15 -2 5 6 7 11 12 14 15 -2 5 6 7 11 13 14 15 -2 5 6 7 12 13 14 15 -2 5 6 8 9 10 11 12 -2 5 6 8 9 10 11 13 -2 5 6 8 9 10 11 14 -2 5 6 8 9 10 11 15 -2 5 6 8 9 10 12 13 -2 5 6 8 9 10 12 14 -2 5 6 8 9 10 12 15 -2 5 6 8 9 10 13 14 -2 5 6 8 9 10 13 15 -2 5 6 8 9 10 14 15 -2 5 6 8 9 11 12 13 -2 5 6 8 9 11 12 14 -2 5 6 8 9 11 12 15 -2 5 6 8 9 11 13 14 -2 5 6 8 9 11 13 15 -2 5 6 8 9 11 14 15 -2 5 6 8 9 12 13 14 -2 5 6 8 9 12 13 15 -2 5 6 8 9 12 14 15 -2 5 6 8 9 13 14 15 -2 5 6 8 10 11 12 13 -2 5 6 8 10 11 12 14 -2 5 6 8 10 11 12 15 -2 5 6 8 10 11 13 14 -2 5 6 8 10 11 13 15 -2 5 6 8 10 11 14 15 -2 5 6 8 10 12 13 14 -2 5 6 8 10 12 13 15 -2 5 6 8 10 12 14 15 -2 5 6 8 10 13 14 15 -2 5 6 8 11 12 13 14 -2 5 6 8 11 12 13 15 -2 5 6 8 11 12 14 15 -2 5 6 8 11 13 14 15 -2 5 6 8 12 13 14 15 -2 5 6 9 10 11 12 13 -2 5 6 9 10 11 12 14 -2 5 6 9 10 11 12 15 -2 5 6 9 10 11 13 14 -2 5 6 9 10 11 13 15 -2 5 6 9 10 11 14 15 -2 5 6 9 10 12 13 14 -2 5 6 9 10 12 13 15 -2 5 6 9 10 12 14 15 -2 5 6 9 10 13 14 15 -2 5 6 9 11 12 13 14 -2 5 6 9 11 12 13 15 -2 5 6 9 11 12 14 15 -2 5 6 9 11 13 14 15 -2 5 6 9 12 13 14 15 -2 5 6 10 11 12 13 14 -2 5 6 10 11 12 13 15 -2 5 6 10 11 12 14 15 -2 5 6 10 11 13 14 15 -2 5 6 10 12 13 14 15 -2 5 6 11 12 13 14 15 -2 5 7 8 9 10 11 12 -2 5 7 8 9 10 11 13 -2 5 7 8 9 10 11 14 -2 5 7 8 9 10 11 15 -2 5 7 8 9 10 12 13 -2 5 7 8 9 10 12 14 -2 5 7 8 9 10 12 15 -2 5 7 8 9 10 13 14 -2 5 7 8 9 10 13 15 -2 5 7 8 9 10 14 15 -2 5 7 8 9 11 12 13 -2 5 7 8 9 11 12 14 -2 5 7 8 9 11 12 15 -2 5 7 8 9 11 13 14 -2 5 7 8 9 11 13 15 -2 5 7 8 9 11 14 15 -2 5 7 8 9 12 13 14 -2 5 7 8 9 12 13 15 -2 5 7 8 9 12 14 15 -2 5 7 8 9 13 14 15 -2 5 7 8 10 11 12 13 -2 5 7 8 10 11 12 14 -2 5 7 8 10 11 12 15 -2 5 7 8 10 11 13 14 -2 5 7 8 10 11 13 15 -2 5 7 8 10 11 14 15 -2 5 7 8 10 12 13 14 -2 5 7 8 10 12 13 15 -2 5 7 8 10 12 14 15 -2 5 7 8 10 13 14 15 -2 5 7 8 11 12 13 14 -2 5 7 8 11 12 13 15 -2 5 7 8 11 12 14 15 -2 5 7 8 11 13 14 15 -2 5 7 8 12 13 14 15 -2 5 7 9 10 11 12 13 -2 5 7 9 10 11 12 14 -2 5 7 9 10 11 12 15 -2 5 7 9 10 11 13 14 -2 5 7 9 10 11 13 15 -2 5 7 9 10 11 14 15 -2 5 7 9 10 12 13 14 -2 5 7 9 10 12 13 15 -2 5 7 9 10 12 14 15 -2 5 7 9 10 13 14 15 -2 5 7 9 11 12 13 14 -2 5 7 9 11 12 13 15 -2 5 7 9 11 12 14 15 -2 5 7 9 11 13 14 15 -2 5 7 9 12 13 14 15 -2 5 7 10 11 12 13 14 -2 5 7 10 11 12 13 15 -2 5 7 10 11 12 14 15 -2 5 7 10 11 13 14 15 -2 5 7 10 12 13 14 15 -2 5 7 11 12 13 14 15 -2 5 8 9 10 11 12 13 -2 5 8 9 10 11 12 14 -2 5 8 9 10 11 12 15 -2 5 8 9 10 11 13 14 -2 5 8 9 10 11 13 15 -2 5 8 9 10 11 14 15 -2 5 8 9 10 12 13 14 -2 5 8 9 10 12 13 15 -2 5 8 9 10 12 14 15 -2 5 8 9 10 13 14 15 -2 5 8 9 11 12 13 14 -2 5 8 9 11 12 13 15 -2 5 8 9 11 12 14 15 -2 5 8 9 11 13 14 15 -2 5 8 9 12 13 14 15 -2 5 8 10 11 12 13 14 -2 5 8 10 11 12 13 15 -2 5 8 10 11 12 14 15 -2 5 8 10 11 13 14 15 -2 5 8 10 12 13 14 15 -2 5 8 11 12 13 14 15 -2 5 9 10 11 12 13 14 -2 5 9 10 11 12 13 15 -2 5 9 10 11 12 14 15 -2 5 9 10 11 13 14 15 -2 5 9 10 12 13 14 15 -2 5 9 11 12 13 14 15 -2 5 10 11 12 13 14 15 -2 6 7 8 9 10 11 12 -2 6 7 8 9 10 11 13 -2 6 7 8 9 10 11 14 -2 6 7 8 9 10 11 15 -2 6 7 8 9 10 12 13 -2 6 7 8 9 10 12 14 -2 6 7 8 9 10 12 15 -2 6 7 8 9 10 13 14 -2 6 7 8 9 10 13 15 -2 6 7 8 9 10 14 15 -2 6 7 8 9 11 12 13 -2 6 7 8 9 11 12 14 -2 6 7 8 9 11 12 15 -2 6 7 8 9 11 13 14 -2 6 7 8 9 11 13 15 -2 6 7 8 9 11 14 15 -2 6 7 8 9 12 13 14 -2 6 7 8 9 12 13 15 -2 6 7 8 9 12 14 15 -2 6 7 8 9 13 14 15 -2 6 7 8 10 11 12 13 -2 6 7 8 10 11 12 14 -2 6 7 8 10 11 12 15 -2 6 7 8 10 11 13 14 -2 6 7 8 10 11 13 15 -2 6 7 8 10 11 14 15 -2 6 7 8 10 12 13 14 -2 6 7 8 10 12 13 15 -2 6 7 8 10 12 14 15 -2 6 7 8 10 13 14 15 -2 6 7 8 11 12 13 14 -2 6 7 8 11 12 13 15 -2 6 7 8 11 12 14 15 -2 6 7 8 11 13 14 15 -2 6 7 8 12 13 14 15 -2 6 7 9 10 11 12 13 -2 6 7 9 10 11 12 14 -2 6 7 9 10 11 12 15 -2 6 7 9 10 11 13 14 -2 6 7 9 10 11 13 15 -2 6 7 9 10 11 14 15 -2 6 7 9 10 12 13 14 -2 6 7 9 10 12 13 15 -2 6 7 9 10 12 14 15 -2 6 7 9 10 13 14 15 -2 6 7 9 11 12 13 14 -2 6 7 9 11 12 13 15 -2 6 7 9 11 12 14 15 -2 6 7 9 11 13 14 15 -2 6 7 9 12 13 14 15 -2 6 7 10 11 12 13 14 -2 6 7 10 11 12 13 15 -2 6 7 10 11 12 14 15 -2 6 7 10 11 13 14 15 -2 6 7 10 12 13 14 15 -2 6 7 11 12 13 14 15 -2 6 8 9 10 11 12 13 -2 6 8 9 10 11 12 14 -2 6 8 9 10 11 12 15 -2 6 8 9 10 11 13 14 -2 6 8 9 10 11 13 15 -2 6 8 9 10 11 14 15 -2 6 8 9 10 12 13 14 -2 6 8 9 10 12 13 15 -2 6 8 9 10 12 14 15 -2 6 8 9 10 13 14 15 -2 6 8 9 11 12 13 14 -2 6 8 9 11 12 13 15 -2 6 8 9 11 12 14 15 -2 6 8 9 11 13 14 15 -2 6 8 9 12 13 14 15 -2 6 8 10 11 12 13 14 -2 6 8 10 11 12 13 15 -2 6 8 10 11 12 14 15 -2 6 8 10 11 13 14 15 -2 6 8 10 12 13 14 15 -2 6 8 11 12 13 14 15 -2 6 9 10 11 12 13 14 -2 6 9 10 11 12 13 15 -2 6 9 10 11 12 14 15 -2 6 9 10 11 13 14 15 -2 6 9 10 12 13 14 15 -2 6 9 11 12 13 14 15 -2 6 10 11 12 13 14 15 -2 7 8 9 10 11 12 13 -2 7 8 9 10 11 12 14 -2 7 8 9 10 11 12 15 -2 7 8 9 10 11 13 14 -2 7 8 9 10 11 13 15 -2 7 8 9 10 11 14 15 -2 7 8 9 10 12 13 14 -2 7 8 9 10 12 13 15 -2 7 8 9 10 12 14 15 -2 7 8 9 10 13 14 15 -2 7 8 9 11 12 13 14 -2 7 8 9 11 12 13 15 -2 7 8 9 11 12 14 15 -2 7 8 9 11 13 14 15 -2 7 8 9 12 13 14 15 -2 7 8 10 11 12 13 14 -2 7 8 10 11 12 13 15 -2 7 8 10 11 12 14 15 -2 7 8 10 11 13 14 15 -2 7 8 10 12 13 14 15 -2 7 8 11 12 13 14 15 -2 7 9 10 11 12 13 14 -2 7 9 10 11 12 13 15 -2 7 9 10 11 12 14 15 -2 7 9 10 11 13 14 15 -2 7 9 10 12 13 14 15 -2 7 9 11 12 13 14 15 -2 7 10 11 12 13 14 15 -2 8 9 10 11 12 13 14 -2 8 9 10 11 12 13 15 -2 8 9 10 11 12 14 15 -2 8 9 10 11 13 14 15 -2 8 9 10 12 13 14 15 -2 8 9 11 12 13 14 15 -2 8 10 11 12 13 14 15 -2 9 10 11 12 13 14 15 -3 4 5 6 7 8 9 10 -3 4 5 6 7 8 9 11 -3 4 5 6 7 8 9 12 -3 4 5 6 7 8 9 13 -3 4 5 6 7 8 9 14 -3 4 5 6 7 8 9 15 -3 4 5 6 7 8 10 11 -3 4 5 6 7 8 10 12 -3 4 5 6 7 8 10 13 -3 4 5 6 7 8 10 14 -3 4 5 6 7 8 10 15 -3 4 5 6 7 8 11 12 -3 4 5 6 7 8 11 13 -3 4 5 6 7 8 11 14 -3 4 5 6 7 8 11 15 -3 4 5 6 7 8 12 13 -3 4 5 6 7 8 12 14 -3 4 5 6 7 8 12 15 -3 4 5 6 7 8 13 14 -3 4 5 6 7 8 13 15 -3 4 5 6 7 8 14 15 -3 4 5 6 7 9 10 11 -3 4 5 6 7 9 10 12 -3 4 5 6 7 9 10 13 -3 4 5 6 7 9 10 14 -3 4 5 6 7 9 10 15 -3 4 5 6 7 9 11 12 -3 4 5 6 7 9 11 13 -3 4 5 6 7 9 11 14 -3 4 5 6 7 9 11 15 -3 4 5 6 7 9 12 13 -3 4 5 6 7 9 12 14 -3 4 5 6 7 9 12 15 -3 4 5 6 7 9 13 14 -3 4 5 6 7 9 13 15 -3 4 5 6 7 9 14 15 -3 4 5 6 7 10 11 12 -3 4 5 6 7 10 11 13 -3 4 5 6 7 10 11 14 -3 4 5 6 7 10 11 15 -3 4 5 6 7 10 12 13 -3 4 5 6 7 10 12 14 -3 4 5 6 7 10 12 15 -3 4 5 6 7 10 13 14 -3 4 5 6 7 10 13 15 -3 4 5 6 7 10 14 15 -3 4 5 6 7 11 12 13 -3 4 5 6 7 11 12 14 -3 4 5 6 7 11 12 15 -3 4 5 6 7 11 13 14 -3 4 5 6 7 11 13 15 -3 4 5 6 7 11 14 15 -3 4 5 6 7 12 13 14 -3 4 5 6 7 12 13 15 -3 4 5 6 7 12 14 15 -3 4 5 6 7 13 14 15 -3 4 5 6 8 9 10 11 -3 4 5 6 8 9 10 12 -3 4 5 6 8 9 10 13 -3 4 5 6 8 9 10 14 -3 4 5 6 8 9 10 15 -3 4 5 6 8 9 11 12 -3 4 5 6 8 9 11 13 -3 4 5 6 8 9 11 14 -3 4 5 6 8 9 11 15 -3 4 5 6 8 9 12 13 -3 4 5 6 8 9 12 14 -3 4 5 6 8 9 12 15 -3 4 5 6 8 9 13 14 -3 4 5 6 8 9 13 15 -3 4 5 6 8 9 14 15 -3 4 5 6 8 10 11 12 -3 4 5 6 8 10 11 13 -3 4 5 6 8 10 11 14 -3 4 5 6 8 10 11 15 -3 4 5 6 8 10 12 13 -3 4 5 6 8 10 12 14 -3 4 5 6 8 10 12 15 -3 4 5 6 8 10 13 14 -3 4 5 6 8 10 13 15 -3 4 5 6 8 10 14 15 -3 4 5 6 8 11 12 13 -3 4 5 6 8 11 12 14 -3 4 5 6 8 11 12 15 -3 4 5 6 8 11 13 14 -3 4 5 6 8 11 13 15 -3 4 5 6 8 11 14 15 -3 4 5 6 8 12 13 14 -3 4 5 6 8 12 13 15 -3 4 5 6 8 12 14 15 -3 4 5 6 8 13 14 15 -3 4 5 6 9 10 11 12 -3 4 5 6 9 10 11 13 -3 4 5 6 9 10 11 14 -3 4 5 6 9 10 11 15 -3 4 5 6 9 10 12 13 -3 4 5 6 9 10 12 14 -3 4 5 6 9 10 12 15 -3 4 5 6 9 10 13 14 -3 4 5 6 9 10 13 15 -3 4 5 6 9 10 14 15 -3 4 5 6 9 11 12 13 -3 4 5 6 9 11 12 14 -3 4 5 6 9 11 12 15 -3 4 5 6 9 11 13 14 -3 4 5 6 9 11 13 15 -3 4 5 6 9 11 14 15 -3 4 5 6 9 12 13 14 -3 4 5 6 9 12 13 15 -3 4 5 6 9 12 14 15 -3 4 5 6 9 13 14 15 -3 4 5 6 10 11 12 13 -3 4 5 6 10 11 12 14 -3 4 5 6 10 11 12 15 -3 4 5 6 10 11 13 14 -3 4 5 6 10 11 13 15 -3 4 5 6 10 11 14 15 -3 4 5 6 10 12 13 14 -3 4 5 6 10 12 13 15 -3 4 5 6 10 12 14 15 -3 4 5 6 10 13 14 15 -3 4 5 6 11 12 13 14 -3 4 5 6 11 12 13 15 -3 4 5 6 11 12 14 15 -3 4 5 6 11 13 14 15 -3 4 5 6 12 13 14 15 -3 4 5 7 8 9 10 11 -3 4 5 7 8 9 10 12 -3 4 5 7 8 9 10 13 -3 4 5 7 8 9 10 14 -3 4 5 7 8 9 10 15 -3 4 5 7 8 9 11 12 -3 4 5 7 8 9 11 13 -3 4 5 7 8 9 11 14 -3 4 5 7 8 9 11 15 -3 4 5 7 8 9 12 13 -3 4 5 7 8 9 12 14 -3 4 5 7 8 9 12 15 -3 4 5 7 8 9 13 14 -3 4 5 7 8 9 13 15 -3 4 5 7 8 9 14 15 -3 4 5 7 8 10 11 12 -3 4 5 7 8 10 11 13 -3 4 5 7 8 10 11 14 -3 4 5 7 8 10 11 15 -3 4 5 7 8 10 12 13 -3 4 5 7 8 10 12 14 -3 4 5 7 8 10 12 15 -3 4 5 7 8 10 13 14 -3 4 5 7 8 10 13 15 -3 4 5 7 8 10 14 15 -3 4 5 7 8 11 12 13 -3 4 5 7 8 11 12 14 -3 4 5 7 8 11 12 15 -3 4 5 7 8 11 13 14 -3 4 5 7 8 11 13 15 -3 4 5 7 8 11 14 15 -3 4 5 7 8 12 13 14 -3 4 5 7 8 12 13 15 -3 4 5 7 8 12 14 15 -3 4 5 7 8 13 14 15 -3 4 5 7 9 10 11 12 -3 4 5 7 9 10 11 13 -3 4 5 7 9 10 11 14 -3 4 5 7 9 10 11 15 -3 4 5 7 9 10 12 13 -3 4 5 7 9 10 12 14 -3 4 5 7 9 10 12 15 -3 4 5 7 9 10 13 14 -3 4 5 7 9 10 13 15 -3 4 5 7 9 10 14 15 -3 4 5 7 9 11 12 13 -3 4 5 7 9 11 12 14 -3 4 5 7 9 11 12 15 -3 4 5 7 9 11 13 14 -3 4 5 7 9 11 13 15 -3 4 5 7 9 11 14 15 -3 4 5 7 9 12 13 14 -3 4 5 7 9 12 13 15 -3 4 5 7 9 12 14 15 -3 4 5 7 9 13 14 15 -3 4 5 7 10 11 12 13 -3 4 5 7 10 11 12 14 -3 4 5 7 10 11 12 15 -3 4 5 7 10 11 13 14 -3 4 5 7 10 11 13 15 -3 4 5 7 10 11 14 15 -3 4 5 7 10 12 13 14 -3 4 5 7 10 12 13 15 -3 4 5 7 10 12 14 15 -3 4 5 7 10 13 14 15 -3 4 5 7 11 12 13 14 -3 4 5 7 11 12 13 15 -3 4 5 7 11 12 14 15 -3 4 5 7 11 13 14 15 -3 4 5 7 12 13 14 15 -3 4 5 8 9 10 11 12 -3 4 5 8 9 10 11 13 -3 4 5 8 9 10 11 14 -3 4 5 8 9 10 11 15 -3 4 5 8 9 10 12 13 -3 4 5 8 9 10 12 14 -3 4 5 8 9 10 12 15 -3 4 5 8 9 10 13 14 -3 4 5 8 9 10 13 15 -3 4 5 8 9 10 14 15 -3 4 5 8 9 11 12 13 -3 4 5 8 9 11 12 14 -3 4 5 8 9 11 12 15 -3 4 5 8 9 11 13 14 -3 4 5 8 9 11 13 15 -3 4 5 8 9 11 14 15 -3 4 5 8 9 12 13 14 -3 4 5 8 9 12 13 15 -3 4 5 8 9 12 14 15 -3 4 5 8 9 13 14 15 -3 4 5 8 10 11 12 13 -3 4 5 8 10 11 12 14 -3 4 5 8 10 11 12 15 -3 4 5 8 10 11 13 14 -3 4 5 8 10 11 13 15 -3 4 5 8 10 11 14 15 -3 4 5 8 10 12 13 14 -3 4 5 8 10 12 13 15 -3 4 5 8 10 12 14 15 -3 4 5 8 10 13 14 15 -3 4 5 8 11 12 13 14 -3 4 5 8 11 12 13 15 -3 4 5 8 11 12 14 15 -3 4 5 8 11 13 14 15 -3 4 5 8 12 13 14 15 -3 4 5 9 10 11 12 13 -3 4 5 9 10 11 12 14 -3 4 5 9 10 11 12 15 -3 4 5 9 10 11 13 14 -3 4 5 9 10 11 13 15 -3 4 5 9 10 11 14 15 -3 4 5 9 10 12 13 14 -3 4 5 9 10 12 13 15 -3 4 5 9 10 12 14 15 -3 4 5 9 10 13 14 15 -3 4 5 9 11 12 13 14 -3 4 5 9 11 12 13 15 -3 4 5 9 11 12 14 15 -3 4 5 9 11 13 14 15 -3 4 5 9 12 13 14 15 -3 4 5 10 11 12 13 14 -3 4 5 10 11 12 13 15 -3 4 5 10 11 12 14 15 -3 4 5 10 11 13 14 15 -3 4 5 10 12 13 14 15 -3 4 5 11 12 13 14 15 -3 4 6 7 8 9 10 11 -3 4 6 7 8 9 10 12 -3 4 6 7 8 9 10 13 -3 4 6 7 8 9 10 14 -3 4 6 7 8 9 10 15 -3 4 6 7 8 9 11 12 -3 4 6 7 8 9 11 13 -3 4 6 7 8 9 11 14 -3 4 6 7 8 9 11 15 -3 4 6 7 8 9 12 13 -3 4 6 7 8 9 12 14 -3 4 6 7 8 9 12 15 -3 4 6 7 8 9 13 14 -3 4 6 7 8 9 13 15 -3 4 6 7 8 9 14 15 -3 4 6 7 8 10 11 12 -3 4 6 7 8 10 11 13 -3 4 6 7 8 10 11 14 -3 4 6 7 8 10 11 15 -3 4 6 7 8 10 12 13 -3 4 6 7 8 10 12 14 -3 4 6 7 8 10 12 15 -3 4 6 7 8 10 13 14 -3 4 6 7 8 10 13 15 -3 4 6 7 8 10 14 15 -3 4 6 7 8 11 12 13 -3 4 6 7 8 11 12 14 -3 4 6 7 8 11 12 15 -3 4 6 7 8 11 13 14 -3 4 6 7 8 11 13 15 -3 4 6 7 8 11 14 15 -3 4 6 7 8 12 13 14 -3 4 6 7 8 12 13 15 -3 4 6 7 8 12 14 15 -3 4 6 7 8 13 14 15 -3 4 6 7 9 10 11 12 -3 4 6 7 9 10 11 13 -3 4 6 7 9 10 11 14 -3 4 6 7 9 10 11 15 -3 4 6 7 9 10 12 13 -3 4 6 7 9 10 12 14 -3 4 6 7 9 10 12 15 -3 4 6 7 9 10 13 14 -3 4 6 7 9 10 13 15 -3 4 6 7 9 10 14 15 -3 4 6 7 9 11 12 13 -3 4 6 7 9 11 12 14 -3 4 6 7 9 11 12 15 -3 4 6 7 9 11 13 14 -3 4 6 7 9 11 13 15 -3 4 6 7 9 11 14 15 -3 4 6 7 9 12 13 14 -3 4 6 7 9 12 13 15 -3 4 6 7 9 12 14 15 -3 4 6 7 9 13 14 15 -3 4 6 7 10 11 12 13 -3 4 6 7 10 11 12 14 -3 4 6 7 10 11 12 15 -3 4 6 7 10 11 13 14 -3 4 6 7 10 11 13 15 -3 4 6 7 10 11 14 15 -3 4 6 7 10 12 13 14 -3 4 6 7 10 12 13 15 -3 4 6 7 10 12 14 15 -3 4 6 7 10 13 14 15 -3 4 6 7 11 12 13 14 -3 4 6 7 11 12 13 15 -3 4 6 7 11 12 14 15 -3 4 6 7 11 13 14 15 -3 4 6 7 12 13 14 15 -3 4 6 8 9 10 11 12 -3 4 6 8 9 10 11 13 -3 4 6 8 9 10 11 14 -3 4 6 8 9 10 11 15 -3 4 6 8 9 10 12 13 -3 4 6 8 9 10 12 14 -3 4 6 8 9 10 12 15 -3 4 6 8 9 10 13 14 -3 4 6 8 9 10 13 15 -3 4 6 8 9 10 14 15 -3 4 6 8 9 11 12 13 -3 4 6 8 9 11 12 14 -3 4 6 8 9 11 12 15 -3 4 6 8 9 11 13 14 -3 4 6 8 9 11 13 15 -3 4 6 8 9 11 14 15 -3 4 6 8 9 12 13 14 -3 4 6 8 9 12 13 15 -3 4 6 8 9 12 14 15 -3 4 6 8 9 13 14 15 -3 4 6 8 10 11 12 13 -3 4 6 8 10 11 12 14 -3 4 6 8 10 11 12 15 -3 4 6 8 10 11 13 14 -3 4 6 8 10 11 13 15 -3 4 6 8 10 11 14 15 -3 4 6 8 10 12 13 14 -3 4 6 8 10 12 13 15 -3 4 6 8 10 12 14 15 -3 4 6 8 10 13 14 15 -3 4 6 8 11 12 13 14 -3 4 6 8 11 12 13 15 -3 4 6 8 11 12 14 15 -3 4 6 8 11 13 14 15 -3 4 6 8 12 13 14 15 -3 4 6 9 10 11 12 13 -3 4 6 9 10 11 12 14 -3 4 6 9 10 11 12 15 -3 4 6 9 10 11 13 14 -3 4 6 9 10 11 13 15 -3 4 6 9 10 11 14 15 -3 4 6 9 10 12 13 14 -3 4 6 9 10 12 13 15 -3 4 6 9 10 12 14 15 -3 4 6 9 10 13 14 15 -3 4 6 9 11 12 13 14 -3 4 6 9 11 12 13 15 -3 4 6 9 11 12 14 15 -3 4 6 9 11 13 14 15 -3 4 6 9 12 13 14 15 -3 4 6 10 11 12 13 14 -3 4 6 10 11 12 13 15 -3 4 6 10 11 12 14 15 -3 4 6 10 11 13 14 15 -3 4 6 10 12 13 14 15 -3 4 6 11 12 13 14 15 -3 4 7 8 9 10 11 12 -3 4 7 8 9 10 11 13 -3 4 7 8 9 10 11 14 -3 4 7 8 9 10 11 15 -3 4 7 8 9 10 12 13 -3 4 7 8 9 10 12 14 -3 4 7 8 9 10 12 15 -3 4 7 8 9 10 13 14 -3 4 7 8 9 10 13 15 -3 4 7 8 9 10 14 15 -3 4 7 8 9 11 12 13 -3 4 7 8 9 11 12 14 -3 4 7 8 9 11 12 15 -3 4 7 8 9 11 13 14 -3 4 7 8 9 11 13 15 -3 4 7 8 9 11 14 15 -3 4 7 8 9 12 13 14 -3 4 7 8 9 12 13 15 -3 4 7 8 9 12 14 15 -3 4 7 8 9 13 14 15 -3 4 7 8 10 11 12 13 -3 4 7 8 10 11 12 14 -3 4 7 8 10 11 12 15 -3 4 7 8 10 11 13 14 -3 4 7 8 10 11 13 15 -3 4 7 8 10 11 14 15 -3 4 7 8 10 12 13 14 -3 4 7 8 10 12 13 15 -3 4 7 8 10 12 14 15 -3 4 7 8 10 13 14 15 -3 4 7 8 11 12 13 14 -3 4 7 8 11 12 13 15 -3 4 7 8 11 12 14 15 -3 4 7 8 11 13 14 15 -3 4 7 8 12 13 14 15 -3 4 7 9 10 11 12 13 -3 4 7 9 10 11 12 14 -3 4 7 9 10 11 12 15 -3 4 7 9 10 11 13 14 -3 4 7 9 10 11 13 15 -3 4 7 9 10 11 14 15 -3 4 7 9 10 12 13 14 -3 4 7 9 10 12 13 15 -3 4 7 9 10 12 14 15 -3 4 7 9 10 13 14 15 -3 4 7 9 11 12 13 14 -3 4 7 9 11 12 13 15 -3 4 7 9 11 12 14 15 -3 4 7 9 11 13 14 15 -3 4 7 9 12 13 14 15 -3 4 7 10 11 12 13 14 -3 4 7 10 11 12 13 15 -3 4 7 10 11 12 14 15 -3 4 7 10 11 13 14 15 -3 4 7 10 12 13 14 15 -3 4 7 11 12 13 14 15 -3 4 8 9 10 11 12 13 -3 4 8 9 10 11 12 14 -3 4 8 9 10 11 12 15 -3 4 8 9 10 11 13 14 -3 4 8 9 10 11 13 15 -3 4 8 9 10 11 14 15 -3 4 8 9 10 12 13 14 -3 4 8 9 10 12 13 15 -3 4 8 9 10 12 14 15 -3 4 8 9 10 13 14 15 -3 4 8 9 11 12 13 14 -3 4 8 9 11 12 13 15 -3 4 8 9 11 12 14 15 -3 4 8 9 11 13 14 15 -3 4 8 9 12 13 14 15 -3 4 8 10 11 12 13 14 -3 4 8 10 11 12 13 15 -3 4 8 10 11 12 14 15 -3 4 8 10 11 13 14 15 -3 4 8 10 12 13 14 15 -3 4 8 11 12 13 14 15 -3 4 9 10 11 12 13 14 -3 4 9 10 11 12 13 15 -3 4 9 10 11 12 14 15 -3 4 9 10 11 13 14 15 -3 4 9 10 12 13 14 15 -3 4 9 11 12 13 14 15 -3 4 10 11 12 13 14 15 -3 5 6 7 8 9 10 11 -3 5 6 7 8 9 10 12 -3 5 6 7 8 9 10 13 -3 5 6 7 8 9 10 14 -3 5 6 7 8 9 10 15 -3 5 6 7 8 9 11 12 -3 5 6 7 8 9 11 13 -3 5 6 7 8 9 11 14 -3 5 6 7 8 9 11 15 -3 5 6 7 8 9 12 13 -3 5 6 7 8 9 12 14 -3 5 6 7 8 9 12 15 -3 5 6 7 8 9 13 14 -3 5 6 7 8 9 13 15 -3 5 6 7 8 9 14 15 -3 5 6 7 8 10 11 12 -3 5 6 7 8 10 11 13 -3 5 6 7 8 10 11 14 -3 5 6 7 8 10 11 15 -3 5 6 7 8 10 12 13 -3 5 6 7 8 10 12 14 -3 5 6 7 8 10 12 15 -3 5 6 7 8 10 13 14 -3 5 6 7 8 10 13 15 -3 5 6 7 8 10 14 15 -3 5 6 7 8 11 12 13 -3 5 6 7 8 11 12 14 -3 5 6 7 8 11 12 15 -3 5 6 7 8 11 13 14 -3 5 6 7 8 11 13 15 -3 5 6 7 8 11 14 15 -3 5 6 7 8 12 13 14 -3 5 6 7 8 12 13 15 -3 5 6 7 8 12 14 15 -3 5 6 7 8 13 14 15 -3 5 6 7 9 10 11 12 -3 5 6 7 9 10 11 13 -3 5 6 7 9 10 11 14 -3 5 6 7 9 10 11 15 -3 5 6 7 9 10 12 13 -3 5 6 7 9 10 12 14 -3 5 6 7 9 10 12 15 -3 5 6 7 9 10 13 14 -3 5 6 7 9 10 13 15 -3 5 6 7 9 10 14 15 -3 5 6 7 9 11 12 13 -3 5 6 7 9 11 12 14 -3 5 6 7 9 11 12 15 -3 5 6 7 9 11 13 14 -3 5 6 7 9 11 13 15 -3 5 6 7 9 11 14 15 -3 5 6 7 9 12 13 14 -3 5 6 7 9 12 13 15 -3 5 6 7 9 12 14 15 -3 5 6 7 9 13 14 15 -3 5 6 7 10 11 12 13 -3 5 6 7 10 11 12 14 -3 5 6 7 10 11 12 15 -3 5 6 7 10 11 13 14 -3 5 6 7 10 11 13 15 -3 5 6 7 10 11 14 15 -3 5 6 7 10 12 13 14 -3 5 6 7 10 12 13 15 -3 5 6 7 10 12 14 15 -3 5 6 7 10 13 14 15 -3 5 6 7 11 12 13 14 -3 5 6 7 11 12 13 15 -3 5 6 7 11 12 14 15 -3 5 6 7 11 13 14 15 -3 5 6 7 12 13 14 15 -3 5 6 8 9 10 11 12 -3 5 6 8 9 10 11 13 -3 5 6 8 9 10 11 14 -3 5 6 8 9 10 11 15 -3 5 6 8 9 10 12 13 -3 5 6 8 9 10 12 14 -3 5 6 8 9 10 12 15 -3 5 6 8 9 10 13 14 -3 5 6 8 9 10 13 15 -3 5 6 8 9 10 14 15 -3 5 6 8 9 11 12 13 -3 5 6 8 9 11 12 14 -3 5 6 8 9 11 12 15 -3 5 6 8 9 11 13 14 -3 5 6 8 9 11 13 15 -3 5 6 8 9 11 14 15 -3 5 6 8 9 12 13 14 -3 5 6 8 9 12 13 15 -3 5 6 8 9 12 14 15 -3 5 6 8 9 13 14 15 -3 5 6 8 10 11 12 13 -3 5 6 8 10 11 12 14 -3 5 6 8 10 11 12 15 -3 5 6 8 10 11 13 14 -3 5 6 8 10 11 13 15 -3 5 6 8 10 11 14 15 -3 5 6 8 10 12 13 14 -3 5 6 8 10 12 13 15 -3 5 6 8 10 12 14 15 -3 5 6 8 10 13 14 15 -3 5 6 8 11 12 13 14 -3 5 6 8 11 12 13 15 -3 5 6 8 11 12 14 15 -3 5 6 8 11 13 14 15 -3 5 6 8 12 13 14 15 -3 5 6 9 10 11 12 13 -3 5 6 9 10 11 12 14 -3 5 6 9 10 11 12 15 -3 5 6 9 10 11 13 14 -3 5 6 9 10 11 13 15 -3 5 6 9 10 11 14 15 -3 5 6 9 10 12 13 14 -3 5 6 9 10 12 13 15 -3 5 6 9 10 12 14 15 -3 5 6 9 10 13 14 15 -3 5 6 9 11 12 13 14 -3 5 6 9 11 12 13 15 -3 5 6 9 11 12 14 15 -3 5 6 9 11 13 14 15 -3 5 6 9 12 13 14 15 -3 5 6 10 11 12 13 14 -3 5 6 10 11 12 13 15 -3 5 6 10 11 12 14 15 -3 5 6 10 11 13 14 15 -3 5 6 10 12 13 14 15 -3 5 6 11 12 13 14 15 -3 5 7 8 9 10 11 12 -3 5 7 8 9 10 11 13 -3 5 7 8 9 10 11 14 -3 5 7 8 9 10 11 15 -3 5 7 8 9 10 12 13 -3 5 7 8 9 10 12 14 -3 5 7 8 9 10 12 15 -3 5 7 8 9 10 13 14 -3 5 7 8 9 10 13 15 -3 5 7 8 9 10 14 15 -3 5 7 8 9 11 12 13 -3 5 7 8 9 11 12 14 -3 5 7 8 9 11 12 15 -3 5 7 8 9 11 13 14 -3 5 7 8 9 11 13 15 -3 5 7 8 9 11 14 15 -3 5 7 8 9 12 13 14 -3 5 7 8 9 12 13 15 -3 5 7 8 9 12 14 15 -3 5 7 8 9 13 14 15 -3 5 7 8 10 11 12 13 -3 5 7 8 10 11 12 14 -3 5 7 8 10 11 12 15 -3 5 7 8 10 11 13 14 -3 5 7 8 10 11 13 15 -3 5 7 8 10 11 14 15 -3 5 7 8 10 12 13 14 -3 5 7 8 10 12 13 15 -3 5 7 8 10 12 14 15 -3 5 7 8 10 13 14 15 -3 5 7 8 11 12 13 14 -3 5 7 8 11 12 13 15 -3 5 7 8 11 12 14 15 -3 5 7 8 11 13 14 15 -3 5 7 8 12 13 14 15 -3 5 7 9 10 11 12 13 -3 5 7 9 10 11 12 14 -3 5 7 9 10 11 12 15 -3 5 7 9 10 11 13 14 -3 5 7 9 10 11 13 15 -3 5 7 9 10 11 14 15 -3 5 7 9 10 12 13 14 -3 5 7 9 10 12 13 15 -3 5 7 9 10 12 14 15 -3 5 7 9 10 13 14 15 -3 5 7 9 11 12 13 14 -3 5 7 9 11 12 13 15 -3 5 7 9 11 12 14 15 -3 5 7 9 11 13 14 15 -3 5 7 9 12 13 14 15 -3 5 7 10 11 12 13 14 -3 5 7 10 11 12 13 15 -3 5 7 10 11 12 14 15 -3 5 7 10 11 13 14 15 -3 5 7 10 12 13 14 15 -3 5 7 11 12 13 14 15 -3 5 8 9 10 11 12 13 -3 5 8 9 10 11 12 14 -3 5 8 9 10 11 12 15 -3 5 8 9 10 11 13 14 -3 5 8 9 10 11 13 15 -3 5 8 9 10 11 14 15 -3 5 8 9 10 12 13 14 -3 5 8 9 10 12 13 15 -3 5 8 9 10 12 14 15 -3 5 8 9 10 13 14 15 -3 5 8 9 11 12 13 14 -3 5 8 9 11 12 13 15 -3 5 8 9 11 12 14 15 -3 5 8 9 11 13 14 15 -3 5 8 9 12 13 14 15 -3 5 8 10 11 12 13 14 -3 5 8 10 11 12 13 15 -3 5 8 10 11 12 14 15 -3 5 8 10 11 13 14 15 -3 5 8 10 12 13 14 15 -3 5 8 11 12 13 14 15 -3 5 9 10 11 12 13 14 -3 5 9 10 11 12 13 15 -3 5 9 10 11 12 14 15 -3 5 9 10 11 13 14 15 -3 5 9 10 12 13 14 15 -3 5 9 11 12 13 14 15 -3 5 10 11 12 13 14 15 -3 6 7 8 9 10 11 12 -3 6 7 8 9 10 11 13 -3 6 7 8 9 10 11 14 -3 6 7 8 9 10 11 15 -3 6 7 8 9 10 12 13 -3 6 7 8 9 10 12 14 -3 6 7 8 9 10 12 15 -3 6 7 8 9 10 13 14 -3 6 7 8 9 10 13 15 -3 6 7 8 9 10 14 15 -3 6 7 8 9 11 12 13 -3 6 7 8 9 11 12 14 -3 6 7 8 9 11 12 15 -3 6 7 8 9 11 13 14 -3 6 7 8 9 11 13 15 -3 6 7 8 9 11 14 15 -3 6 7 8 9 12 13 14 -3 6 7 8 9 12 13 15 -3 6 7 8 9 12 14 15 -3 6 7 8 9 13 14 15 -3 6 7 8 10 11 12 13 -3 6 7 8 10 11 12 14 -3 6 7 8 10 11 12 15 -3 6 7 8 10 11 13 14 -3 6 7 8 10 11 13 15 -3 6 7 8 10 11 14 15 -3 6 7 8 10 12 13 14 -3 6 7 8 10 12 13 15 -3 6 7 8 10 12 14 15 -3 6 7 8 10 13 14 15 -3 6 7 8 11 12 13 14 -3 6 7 8 11 12 13 15 -3 6 7 8 11 12 14 15 -3 6 7 8 11 13 14 15 -3 6 7 8 12 13 14 15 -3 6 7 9 10 11 12 13 -3 6 7 9 10 11 12 14 -3 6 7 9 10 11 12 15 -3 6 7 9 10 11 13 14 -3 6 7 9 10 11 13 15 -3 6 7 9 10 11 14 15 -3 6 7 9 10 12 13 14 -3 6 7 9 10 12 13 15 -3 6 7 9 10 12 14 15 -3 6 7 9 10 13 14 15 -3 6 7 9 11 12 13 14 -3 6 7 9 11 12 13 15 -3 6 7 9 11 12 14 15 -3 6 7 9 11 13 14 15 -3 6 7 9 12 13 14 15 -3 6 7 10 11 12 13 14 -3 6 7 10 11 12 13 15 -3 6 7 10 11 12 14 15 -3 6 7 10 11 13 14 15 -3 6 7 10 12 13 14 15 -3 6 7 11 12 13 14 15 -3 6 8 9 10 11 12 13 -3 6 8 9 10 11 12 14 -3 6 8 9 10 11 12 15 -3 6 8 9 10 11 13 14 -3 6 8 9 10 11 13 15 -3 6 8 9 10 11 14 15 -3 6 8 9 10 12 13 14 -3 6 8 9 10 12 13 15 -3 6 8 9 10 12 14 15 -3 6 8 9 10 13 14 15 -3 6 8 9 11 12 13 14 -3 6 8 9 11 12 13 15 -3 6 8 9 11 12 14 15 -3 6 8 9 11 13 14 15 -3 6 8 9 12 13 14 15 -3 6 8 10 11 12 13 14 -3 6 8 10 11 12 13 15 -3 6 8 10 11 12 14 15 -3 6 8 10 11 13 14 15 -3 6 8 10 12 13 14 15 -3 6 8 11 12 13 14 15 -3 6 9 10 11 12 13 14 -3 6 9 10 11 12 13 15 -3 6 9 10 11 12 14 15 -3 6 9 10 11 13 14 15 -3 6 9 10 12 13 14 15 -3 6 9 11 12 13 14 15 -3 6 10 11 12 13 14 15 -3 7 8 9 10 11 12 13 -3 7 8 9 10 11 12 14 -3 7 8 9 10 11 12 15 -3 7 8 9 10 11 13 14 -3 7 8 9 10 11 13 15 -3 7 8 9 10 11 14 15 -3 7 8 9 10 12 13 14 -3 7 8 9 10 12 13 15 -3 7 8 9 10 12 14 15 -3 7 8 9 10 13 14 15 -3 7 8 9 11 12 13 14 -3 7 8 9 11 12 13 15 -3 7 8 9 11 12 14 15 -3 7 8 9 11 13 14 15 -3 7 8 9 12 13 14 15 -3 7 8 10 11 12 13 14 -3 7 8 10 11 12 13 15 -3 7 8 10 11 12 14 15 -3 7 8 10 11 13 14 15 -3 7 8 10 12 13 14 15 -3 7 8 11 12 13 14 15 -3 7 9 10 11 12 13 14 -3 7 9 10 11 12 13 15 -3 7 9 10 11 12 14 15 -3 7 9 10 11 13 14 15 -3 7 9 10 12 13 14 15 -3 7 9 11 12 13 14 15 -3 7 10 11 12 13 14 15 -3 8 9 10 11 12 13 14 -3 8 9 10 11 12 13 15 -3 8 9 10 11 12 14 15 -3 8 9 10 11 13 14 15 -3 8 9 10 12 13 14 15 -3 8 9 11 12 13 14 15 -3 8 10 11 12 13 14 15 -3 9 10 11 12 13 14 15 -4 5 6 7 8 9 10 11 -4 5 6 7 8 9 10 12 -4 5 6 7 8 9 10 13 -4 5 6 7 8 9 10 14 -4 5 6 7 8 9 10 15 -4 5 6 7 8 9 11 12 -4 5 6 7 8 9 11 13 -4 5 6 7 8 9 11 14 -4 5 6 7 8 9 11 15 -4 5 6 7 8 9 12 13 -4 5 6 7 8 9 12 14 -4 5 6 7 8 9 12 15 -4 5 6 7 8 9 13 14 -4 5 6 7 8 9 13 15 -4 5 6 7 8 9 14 15 -4 5 6 7 8 10 11 12 -4 5 6 7 8 10 11 13 -4 5 6 7 8 10 11 14 -4 5 6 7 8 10 11 15 -4 5 6 7 8 10 12 13 -4 5 6 7 8 10 12 14 -4 5 6 7 8 10 12 15 -4 5 6 7 8 10 13 14 -4 5 6 7 8 10 13 15 -4 5 6 7 8 10 14 15 -4 5 6 7 8 11 12 13 -4 5 6 7 8 11 12 14 -4 5 6 7 8 11 12 15 -4 5 6 7 8 11 13 14 -4 5 6 7 8 11 13 15 -4 5 6 7 8 11 14 15 -4 5 6 7 8 12 13 14 -4 5 6 7 8 12 13 15 -4 5 6 7 8 12 14 15 -4 5 6 7 8 13 14 15 -4 5 6 7 9 10 11 12 -4 5 6 7 9 10 11 13 -4 5 6 7 9 10 11 14 -4 5 6 7 9 10 11 15 -4 5 6 7 9 10 12 13 -4 5 6 7 9 10 12 14 -4 5 6 7 9 10 12 15 -4 5 6 7 9 10 13 14 -4 5 6 7 9 10 13 15 -4 5 6 7 9 10 14 15 -4 5 6 7 9 11 12 13 -4 5 6 7 9 11 12 14 -4 5 6 7 9 11 12 15 -4 5 6 7 9 11 13 14 -4 5 6 7 9 11 13 15 -4 5 6 7 9 11 14 15 -4 5 6 7 9 12 13 14 -4 5 6 7 9 12 13 15 -4 5 6 7 9 12 14 15 -4 5 6 7 9 13 14 15 -4 5 6 7 10 11 12 13 -4 5 6 7 10 11 12 14 -4 5 6 7 10 11 12 15 -4 5 6 7 10 11 13 14 -4 5 6 7 10 11 13 15 -4 5 6 7 10 11 14 15 -4 5 6 7 10 12 13 14 -4 5 6 7 10 12 13 15 -4 5 6 7 10 12 14 15 -4 5 6 7 10 13 14 15 -4 5 6 7 11 12 13 14 -4 5 6 7 11 12 13 15 -4 5 6 7 11 12 14 15 -4 5 6 7 11 13 14 15 -4 5 6 7 12 13 14 15 -4 5 6 8 9 10 11 12 -4 5 6 8 9 10 11 13 -4 5 6 8 9 10 11 14 -4 5 6 8 9 10 11 15 -4 5 6 8 9 10 12 13 -4 5 6 8 9 10 12 14 -4 5 6 8 9 10 12 15 -4 5 6 8 9 10 13 14 -4 5 6 8 9 10 13 15 -4 5 6 8 9 10 14 15 -4 5 6 8 9 11 12 13 -4 5 6 8 9 11 12 14 -4 5 6 8 9 11 12 15 -4 5 6 8 9 11 13 14 -4 5 6 8 9 11 13 15 -4 5 6 8 9 11 14 15 -4 5 6 8 9 12 13 14 -4 5 6 8 9 12 13 15 -4 5 6 8 9 12 14 15 -4 5 6 8 9 13 14 15 -4 5 6 8 10 11 12 13 -4 5 6 8 10 11 12 14 -4 5 6 8 10 11 12 15 -4 5 6 8 10 11 13 14 -4 5 6 8 10 11 13 15 -4 5 6 8 10 11 14 15 -4 5 6 8 10 12 13 14 -4 5 6 8 10 12 13 15 -4 5 6 8 10 12 14 15 -4 5 6 8 10 13 14 15 -4 5 6 8 11 12 13 14 -4 5 6 8 11 12 13 15 -4 5 6 8 11 12 14 15 -4 5 6 8 11 13 14 15 -4 5 6 8 12 13 14 15 -4 5 6 9 10 11 12 13 -4 5 6 9 10 11 12 14 -4 5 6 9 10 11 12 15 -4 5 6 9 10 11 13 14 -4 5 6 9 10 11 13 15 -4 5 6 9 10 11 14 15 -4 5 6 9 10 12 13 14 -4 5 6 9 10 12 13 15 -4 5 6 9 10 12 14 15 -4 5 6 9 10 13 14 15 -4 5 6 9 11 12 13 14 -4 5 6 9 11 12 13 15 -4 5 6 9 11 12 14 15 -4 5 6 9 11 13 14 15 -4 5 6 9 12 13 14 15 -4 5 6 10 11 12 13 14 -4 5 6 10 11 12 13 15 -4 5 6 10 11 12 14 15 -4 5 6 10 11 13 14 15 -4 5 6 10 12 13 14 15 -4 5 6 11 12 13 14 15 -4 5 7 8 9 10 11 12 -4 5 7 8 9 10 11 13 -4 5 7 8 9 10 11 14 -4 5 7 8 9 10 11 15 -4 5 7 8 9 10 12 13 -4 5 7 8 9 10 12 14 -4 5 7 8 9 10 12 15 -4 5 7 8 9 10 13 14 -4 5 7 8 9 10 13 15 -4 5 7 8 9 10 14 15 -4 5 7 8 9 11 12 13 -4 5 7 8 9 11 12 14 -4 5 7 8 9 11 12 15 -4 5 7 8 9 11 13 14 -4 5 7 8 9 11 13 15 -4 5 7 8 9 11 14 15 -4 5 7 8 9 12 13 14 -4 5 7 8 9 12 13 15 -4 5 7 8 9 12 14 15 -4 5 7 8 9 13 14 15 -4 5 7 8 10 11 12 13 -4 5 7 8 10 11 12 14 -4 5 7 8 10 11 12 15 -4 5 7 8 10 11 13 14 -4 5 7 8 10 11 13 15 -4 5 7 8 10 11 14 15 -4 5 7 8 10 12 13 14 -4 5 7 8 10 12 13 15 -4 5 7 8 10 12 14 15 -4 5 7 8 10 13 14 15 -4 5 7 8 11 12 13 14 -4 5 7 8 11 12 13 15 -4 5 7 8 11 12 14 15 -4 5 7 8 11 13 14 15 -4 5 7 8 12 13 14 15 -4 5 7 9 10 11 12 13 -4 5 7 9 10 11 12 14 -4 5 7 9 10 11 12 15 -4 5 7 9 10 11 13 14 -4 5 7 9 10 11 13 15 -4 5 7 9 10 11 14 15 -4 5 7 9 10 12 13 14 -4 5 7 9 10 12 13 15 -4 5 7 9 10 12 14 15 -4 5 7 9 10 13 14 15 -4 5 7 9 11 12 13 14 -4 5 7 9 11 12 13 15 -4 5 7 9 11 12 14 15 -4 5 7 9 11 13 14 15 -4 5 7 9 12 13 14 15 -4 5 7 10 11 12 13 14 -4 5 7 10 11 12 13 15 -4 5 7 10 11 12 14 15 -4 5 7 10 11 13 14 15 -4 5 7 10 12 13 14 15 -4 5 7 11 12 13 14 15 -4 5 8 9 10 11 12 13 -4 5 8 9 10 11 12 14 -4 5 8 9 10 11 12 15 -4 5 8 9 10 11 13 14 -4 5 8 9 10 11 13 15 -4 5 8 9 10 11 14 15 -4 5 8 9 10 12 13 14 -4 5 8 9 10 12 13 15 -4 5 8 9 10 12 14 15 -4 5 8 9 10 13 14 15 -4 5 8 9 11 12 13 14 -4 5 8 9 11 12 13 15 -4 5 8 9 11 12 14 15 -4 5 8 9 11 13 14 15 -4 5 8 9 12 13 14 15 -4 5 8 10 11 12 13 14 -4 5 8 10 11 12 13 15 -4 5 8 10 11 12 14 15 -4 5 8 10 11 13 14 15 -4 5 8 10 12 13 14 15 -4 5 8 11 12 13 14 15 -4 5 9 10 11 12 13 14 -4 5 9 10 11 12 13 15 -4 5 9 10 11 12 14 15 -4 5 9 10 11 13 14 15 -4 5 9 10 12 13 14 15 -4 5 9 11 12 13 14 15 -4 5 10 11 12 13 14 15 -4 6 7 8 9 10 11 12 -4 6 7 8 9 10 11 13 -4 6 7 8 9 10 11 14 -4 6 7 8 9 10 11 15 -4 6 7 8 9 10 12 13 -4 6 7 8 9 10 12 14 -4 6 7 8 9 10 12 15 -4 6 7 8 9 10 13 14 -4 6 7 8 9 10 13 15 -4 6 7 8 9 10 14 15 -4 6 7 8 9 11 12 13 -4 6 7 8 9 11 12 14 -4 6 7 8 9 11 12 15 -4 6 7 8 9 11 13 14 -4 6 7 8 9 11 13 15 -4 6 7 8 9 11 14 15 -4 6 7 8 9 12 13 14 -4 6 7 8 9 12 13 15 -4 6 7 8 9 12 14 15 -4 6 7 8 9 13 14 15 -4 6 7 8 10 11 12 13 -4 6 7 8 10 11 12 14 -4 6 7 8 10 11 12 15 -4 6 7 8 10 11 13 14 -4 6 7 8 10 11 13 15 -4 6 7 8 10 11 14 15 -4 6 7 8 10 12 13 14 -4 6 7 8 10 12 13 15 -4 6 7 8 10 12 14 15 -4 6 7 8 10 13 14 15 -4 6 7 8 11 12 13 14 -4 6 7 8 11 12 13 15 -4 6 7 8 11 12 14 15 -4 6 7 8 11 13 14 15 -4 6 7 8 12 13 14 15 -4 6 7 9 10 11 12 13 -4 6 7 9 10 11 12 14 -4 6 7 9 10 11 12 15 -4 6 7 9 10 11 13 14 -4 6 7 9 10 11 13 15 -4 6 7 9 10 11 14 15 -4 6 7 9 10 12 13 14 -4 6 7 9 10 12 13 15 -4 6 7 9 10 12 14 15 -4 6 7 9 10 13 14 15 -4 6 7 9 11 12 13 14 -4 6 7 9 11 12 13 15 -4 6 7 9 11 12 14 15 -4 6 7 9 11 13 14 15 -4 6 7 9 12 13 14 15 -4 6 7 10 11 12 13 14 -4 6 7 10 11 12 13 15 -4 6 7 10 11 12 14 15 -4 6 7 10 11 13 14 15 -4 6 7 10 12 13 14 15 -4 6 7 11 12 13 14 15 -4 6 8 9 10 11 12 13 -4 6 8 9 10 11 12 14 -4 6 8 9 10 11 12 15 -4 6 8 9 10 11 13 14 -4 6 8 9 10 11 13 15 -4 6 8 9 10 11 14 15 -4 6 8 9 10 12 13 14 -4 6 8 9 10 12 13 15 -4 6 8 9 10 12 14 15 -4 6 8 9 10 13 14 15 -4 6 8 9 11 12 13 14 -4 6 8 9 11 12 13 15 -4 6 8 9 11 12 14 15 -4 6 8 9 11 13 14 15 -4 6 8 9 12 13 14 15 -4 6 8 10 11 12 13 14 -4 6 8 10 11 12 13 15 -4 6 8 10 11 12 14 15 -4 6 8 10 11 13 14 15 -4 6 8 10 12 13 14 15 -4 6 8 11 12 13 14 15 -4 6 9 10 11 12 13 14 -4 6 9 10 11 12 13 15 -4 6 9 10 11 12 14 15 -4 6 9 10 11 13 14 15 -4 6 9 10 12 13 14 15 -4 6 9 11 12 13 14 15 -4 6 10 11 12 13 14 15 -4 7 8 9 10 11 12 13 -4 7 8 9 10 11 12 14 -4 7 8 9 10 11 12 15 -4 7 8 9 10 11 13 14 -4 7 8 9 10 11 13 15 -4 7 8 9 10 11 14 15 -4 7 8 9 10 12 13 14 -4 7 8 9 10 12 13 15 -4 7 8 9 10 12 14 15 -4 7 8 9 10 13 14 15 -4 7 8 9 11 12 13 14 -4 7 8 9 11 12 13 15 -4 7 8 9 11 12 14 15 -4 7 8 9 11 13 14 15 -4 7 8 9 12 13 14 15 -4 7 8 10 11 12 13 14 -4 7 8 10 11 12 13 15 -4 7 8 10 11 12 14 15 -4 7 8 10 11 13 14 15 -4 7 8 10 12 13 14 15 -4 7 8 11 12 13 14 15 -4 7 9 10 11 12 13 14 -4 7 9 10 11 12 13 15 -4 7 9 10 11 12 14 15 -4 7 9 10 11 13 14 15 -4 7 9 10 12 13 14 15 -4 7 9 11 12 13 14 15 -4 7 10 11 12 13 14 15 -4 8 9 10 11 12 13 14 -4 8 9 10 11 12 13 15 -4 8 9 10 11 12 14 15 -4 8 9 10 11 13 14 15 -4 8 9 10 12 13 14 15 -4 8 9 11 12 13 14 15 -4 8 10 11 12 13 14 15 -4 9 10 11 12 13 14 15 -5 6 7 8 9 10 11 12 -5 6 7 8 9 10 11 13 -5 6 7 8 9 10 11 14 -5 6 7 8 9 10 11 15 -5 6 7 8 9 10 12 13 -5 6 7 8 9 10 12 14 -5 6 7 8 9 10 12 15 -5 6 7 8 9 10 13 14 -5 6 7 8 9 10 13 15 -5 6 7 8 9 10 14 15 -5 6 7 8 9 11 12 13 -5 6 7 8 9 11 12 14 -5 6 7 8 9 11 12 15 -5 6 7 8 9 11 13 14 -5 6 7 8 9 11 13 15 -5 6 7 8 9 11 14 15 -5 6 7 8 9 12 13 14 -5 6 7 8 9 12 13 15 -5 6 7 8 9 12 14 15 -5 6 7 8 9 13 14 15 -5 6 7 8 10 11 12 13 -5 6 7 8 10 11 12 14 -5 6 7 8 10 11 12 15 -5 6 7 8 10 11 13 14 -5 6 7 8 10 11 13 15 -5 6 7 8 10 11 14 15 -5 6 7 8 10 12 13 14 -5 6 7 8 10 12 13 15 -5 6 7 8 10 12 14 15 -5 6 7 8 10 13 14 15 -5 6 7 8 11 12 13 14 -5 6 7 8 11 12 13 15 -5 6 7 8 11 12 14 15 -5 6 7 8 11 13 14 15 -5 6 7 8 12 13 14 15 -5 6 7 9 10 11 12 13 -5 6 7 9 10 11 12 14 -5 6 7 9 10 11 12 15 -5 6 7 9 10 11 13 14 -5 6 7 9 10 11 13 15 -5 6 7 9 10 11 14 15 -5 6 7 9 10 12 13 14 -5 6 7 9 10 12 13 15 -5 6 7 9 10 12 14 15 -5 6 7 9 10 13 14 15 -5 6 7 9 11 12 13 14 -5 6 7 9 11 12 13 15 -5 6 7 9 11 12 14 15 -5 6 7 9 11 13 14 15 -5 6 7 9 12 13 14 15 -5 6 7 10 11 12 13 14 -5 6 7 10 11 12 13 15 -5 6 7 10 11 12 14 15 -5 6 7 10 11 13 14 15 -5 6 7 10 12 13 14 15 -5 6 7 11 12 13 14 15 -5 6 8 9 10 11 12 13 -5 6 8 9 10 11 12 14 -5 6 8 9 10 11 12 15 -5 6 8 9 10 11 13 14 -5 6 8 9 10 11 13 15 -5 6 8 9 10 11 14 15 -5 6 8 9 10 12 13 14 -5 6 8 9 10 12 13 15 -5 6 8 9 10 12 14 15 -5 6 8 9 10 13 14 15 -5 6 8 9 11 12 13 14 -5 6 8 9 11 12 13 15 -5 6 8 9 11 12 14 15 -5 6 8 9 11 13 14 15 -5 6 8 9 12 13 14 15 -5 6 8 10 11 12 13 14 -5 6 8 10 11 12 13 15 -5 6 8 10 11 12 14 15 -5 6 8 10 11 13 14 15 -5 6 8 10 12 13 14 15 -5 6 8 11 12 13 14 15 -5 6 9 10 11 12 13 14 -5 6 9 10 11 12 13 15 -5 6 9 10 11 12 14 15 -5 6 9 10 11 13 14 15 -5 6 9 10 12 13 14 15 -5 6 9 11 12 13 14 15 -5 6 10 11 12 13 14 15 -5 7 8 9 10 11 12 13 -5 7 8 9 10 11 12 14 -5 7 8 9 10 11 12 15 -5 7 8 9 10 11 13 14 -5 7 8 9 10 11 13 15 -5 7 8 9 10 11 14 15 -5 7 8 9 10 12 13 14 -5 7 8 9 10 12 13 15 -5 7 8 9 10 12 14 15 -5 7 8 9 10 13 14 15 -5 7 8 9 11 12 13 14 -5 7 8 9 11 12 13 15 -5 7 8 9 11 12 14 15 -5 7 8 9 11 13 14 15 -5 7 8 9 12 13 14 15 -5 7 8 10 11 12 13 14 -5 7 8 10 11 12 13 15 -5 7 8 10 11 12 14 15 -5 7 8 10 11 13 14 15 -5 7 8 10 12 13 14 15 -5 7 8 11 12 13 14 15 -5 7 9 10 11 12 13 14 -5 7 9 10 11 12 13 15 -5 7 9 10 11 12 14 15 -5 7 9 10 11 13 14 15 -5 7 9 10 12 13 14 15 -5 7 9 11 12 13 14 15 -5 7 10 11 12 13 14 15 -5 8 9 10 11 12 13 14 -5 8 9 10 11 12 13 15 -5 8 9 10 11 12 14 15 -5 8 9 10 11 13 14 15 -5 8 9 10 12 13 14 15 -5 8 9 11 12 13 14 15 -5 8 10 11 12 13 14 15 -5 9 10 11 12 13 14 15 -6 7 8 9 10 11 12 13 -6 7 8 9 10 11 12 14 -6 7 8 9 10 11 12 15 -6 7 8 9 10 11 13 14 -6 7 8 9 10 11 13 15 -6 7 8 9 10 11 14 15 -6 7 8 9 10 12 13 14 -6 7 8 9 10 12 13 15 -6 7 8 9 10 12 14 15 -6 7 8 9 10 13 14 15 -6 7 8 9 11 12 13 14 -6 7 8 9 11 12 13 15 -6 7 8 9 11 12 14 15 -6 7 8 9 11 13 14 15 -6 7 8 9 12 13 14 15 -6 7 8 10 11 12 13 14 -6 7 8 10 11 12 13 15 -6 7 8 10 11 12 14 15 -6 7 8 10 11 13 14 15 -6 7 8 10 12 13 14 15 -6 7 8 11 12 13 14 15 -6 7 9 10 11 12 13 14 -6 7 9 10 11 12 13 15 -6 7 9 10 11 12 14 15 -6 7 9 10 11 13 14 15 -6 7 9 10 12 13 14 15 -6 7 9 11 12 13 14 15 -6 7 10 11 12 13 14 15 -6 8 9 10 11 12 13 14 -6 8 9 10 11 12 13 15 -6 8 9 10 11 12 14 15 -6 8 9 10 11 13 14 15 -6 8 9 10 12 13 14 15 -6 8 9 11 12 13 14 15 -6 8 10 11 12 13 14 15 -6 9 10 11 12 13 14 15 -7 8 9 10 11 12 13 14 -7 8 9 10 11 12 13 15 -7 8 9 10 11 12 14 15 -7 8 9 10 11 13 14 15 -7 8 9 10 12 13 14 15 -7 8 9 11 12 13 14 15 -7 8 10 11 12 13 14 15 -7 9 10 11 12 13 14 15 -8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 +0 1 2 3 4 5 6 8 +0 1 2 3 4 5 6 9 +0 1 2 3 4 5 6 10 +0 1 2 3 4 5 6 11 +0 1 2 3 4 5 6 12 +0 1 2 3 4 5 6 13 +0 1 2 3 4 5 6 14 +0 1 2 3 4 5 6 15 +0 1 2 3 4 5 7 8 +0 1 2 3 4 5 7 9 +0 1 2 3 4 5 7 10 +0 1 2 3 4 5 7 11 +0 1 2 3 4 5 7 12 +0 1 2 3 4 5 7 13 +0 1 2 3 4 5 7 14 +0 1 2 3 4 5 7 15 +0 1 2 3 4 5 8 9 +0 1 2 3 4 5 8 10 +0 1 2 3 4 5 8 11 +0 1 2 3 4 5 8 12 +0 1 2 3 4 5 8 13 +0 1 2 3 4 5 8 14 +0 1 2 3 4 5 8 15 +0 1 2 3 4 5 9 10 +0 1 2 3 4 5 9 11 +0 1 2 3 4 5 9 12 +0 1 2 3 4 5 9 13 +0 1 2 3 4 5 9 14 +0 1 2 3 4 5 9 15 +0 1 2 3 4 5 10 11 +0 1 2 3 4 5 10 12 +0 1 2 3 4 5 10 13 +0 1 2 3 4 5 10 14 +0 1 2 3 4 5 10 15 +0 1 2 3 4 5 11 12 +0 1 2 3 4 5 11 13 +0 1 2 3 4 5 11 14 +0 1 2 3 4 5 11 15 +0 1 2 3 4 5 12 13 +0 1 2 3 4 5 12 14 +0 1 2 3 4 5 12 15 +0 1 2 3 4 5 13 14 +0 1 2 3 4 5 13 15 +0 1 2 3 4 5 14 15 +0 1 2 3 4 6 7 8 +0 1 2 3 4 6 7 9 +0 1 2 3 4 6 7 10 +0 1 2 3 4 6 7 11 +0 1 2 3 4 6 7 12 +0 1 2 3 4 6 7 13 +0 1 2 3 4 6 7 14 +0 1 2 3 4 6 7 15 +0 1 2 3 4 6 8 9 +0 1 2 3 4 6 8 10 +0 1 2 3 4 6 8 11 +0 1 2 3 4 6 8 12 +0 1 2 3 4 6 8 13 +0 1 2 3 4 6 8 14 +0 1 2 3 4 6 8 15 +0 1 2 3 4 6 9 10 +0 1 2 3 4 6 9 11 +0 1 2 3 4 6 9 12 +0 1 2 3 4 6 9 13 +0 1 2 3 4 6 9 14 +0 1 2 3 4 6 9 15 +0 1 2 3 4 6 10 11 +0 1 2 3 4 6 10 12 +0 1 2 3 4 6 10 13 +0 1 2 3 4 6 10 14 +0 1 2 3 4 6 10 15 +0 1 2 3 4 6 11 12 +0 1 2 3 4 6 11 13 +0 1 2 3 4 6 11 14 +0 1 2 3 4 6 11 15 +0 1 2 3 4 6 12 13 +0 1 2 3 4 6 12 14 +0 1 2 3 4 6 12 15 +0 1 2 3 4 6 13 14 +0 1 2 3 4 6 13 15 +0 1 2 3 4 6 14 15 +0 1 2 3 4 7 8 9 +0 1 2 3 4 7 8 10 +0 1 2 3 4 7 8 11 +0 1 2 3 4 7 8 12 +0 1 2 3 4 7 8 13 +0 1 2 3 4 7 8 14 +0 1 2 3 4 7 8 15 +0 1 2 3 4 7 9 10 +0 1 2 3 4 7 9 11 +0 1 2 3 4 7 9 12 +0 1 2 3 4 7 9 13 +0 1 2 3 4 7 9 14 +0 1 2 3 4 7 9 15 +0 1 2 3 4 7 10 11 +0 1 2 3 4 7 10 12 +0 1 2 3 4 7 10 13 +0 1 2 3 4 7 10 14 +0 1 2 3 4 7 10 15 +0 1 2 3 4 7 11 12 +0 1 2 3 4 7 11 13 +0 1 2 3 4 7 11 14 +0 1 2 3 4 7 11 15 +0 1 2 3 4 7 12 13 +0 1 2 3 4 7 12 14 +0 1 2 3 4 7 12 15 +0 1 2 3 4 7 13 14 +0 1 2 3 4 7 13 15 +0 1 2 3 4 7 14 15 +0 1 2 3 4 8 9 10 +0 1 2 3 4 8 9 11 +0 1 2 3 4 8 9 12 +0 1 2 3 4 8 9 13 +0 1 2 3 4 8 9 14 +0 1 2 3 4 8 9 15 +0 1 2 3 4 8 10 11 +0 1 2 3 4 8 10 12 +0 1 2 3 4 8 10 13 +0 1 2 3 4 8 10 14 +0 1 2 3 4 8 10 15 +0 1 2 3 4 8 11 12 +0 1 2 3 4 8 11 13 +0 1 2 3 4 8 11 14 +0 1 2 3 4 8 11 15 +0 1 2 3 4 8 12 13 +0 1 2 3 4 8 12 14 +0 1 2 3 4 8 12 15 +0 1 2 3 4 8 13 14 +0 1 2 3 4 8 13 15 +0 1 2 3 4 8 14 15 +0 1 2 3 4 9 10 11 +0 1 2 3 4 9 10 12 +0 1 2 3 4 9 10 13 +0 1 2 3 4 9 10 14 +0 1 2 3 4 9 10 15 +0 1 2 3 4 9 11 12 +0 1 2 3 4 9 11 13 +0 1 2 3 4 9 11 14 +0 1 2 3 4 9 11 15 +0 1 2 3 4 9 12 13 +0 1 2 3 4 9 12 14 +0 1 2 3 4 9 12 15 +0 1 2 3 4 9 13 14 +0 1 2 3 4 9 13 15 +0 1 2 3 4 9 14 15 +0 1 2 3 4 10 11 12 +0 1 2 3 4 10 11 13 +0 1 2 3 4 10 11 14 +0 1 2 3 4 10 11 15 +0 1 2 3 4 10 12 13 +0 1 2 3 4 10 12 14 +0 1 2 3 4 10 12 15 +0 1 2 3 4 10 13 14 +0 1 2 3 4 10 13 15 +0 1 2 3 4 10 14 15 +0 1 2 3 4 11 12 13 +0 1 2 3 4 11 12 14 +0 1 2 3 4 11 12 15 +0 1 2 3 4 11 13 14 +0 1 2 3 4 11 13 15 +0 1 2 3 4 11 14 15 +0 1 2 3 4 12 13 14 +0 1 2 3 4 12 13 15 +0 1 2 3 4 12 14 15 +0 1 2 3 4 13 14 15 +0 1 2 3 5 6 7 8 +0 1 2 3 5 6 7 9 +0 1 2 3 5 6 7 10 +0 1 2 3 5 6 7 11 +0 1 2 3 5 6 7 12 +0 1 2 3 5 6 7 13 +0 1 2 3 5 6 7 14 +0 1 2 3 5 6 7 15 +0 1 2 3 5 6 8 9 +0 1 2 3 5 6 8 10 +0 1 2 3 5 6 8 11 +0 1 2 3 5 6 8 12 +0 1 2 3 5 6 8 13 +0 1 2 3 5 6 8 14 +0 1 2 3 5 6 8 15 +0 1 2 3 5 6 9 10 +0 1 2 3 5 6 9 11 +0 1 2 3 5 6 9 12 +0 1 2 3 5 6 9 13 +0 1 2 3 5 6 9 14 +0 1 2 3 5 6 9 15 +0 1 2 3 5 6 10 11 +0 1 2 3 5 6 10 12 +0 1 2 3 5 6 10 13 +0 1 2 3 5 6 10 14 +0 1 2 3 5 6 10 15 +0 1 2 3 5 6 11 12 +0 1 2 3 5 6 11 13 +0 1 2 3 5 6 11 14 +0 1 2 3 5 6 11 15 +0 1 2 3 5 6 12 13 +0 1 2 3 5 6 12 14 +0 1 2 3 5 6 12 15 +0 1 2 3 5 6 13 14 +0 1 2 3 5 6 13 15 +0 1 2 3 5 6 14 15 +0 1 2 3 5 7 8 9 +0 1 2 3 5 7 8 10 +0 1 2 3 5 7 8 11 +0 1 2 3 5 7 8 12 +0 1 2 3 5 7 8 13 +0 1 2 3 5 7 8 14 +0 1 2 3 5 7 8 15 +0 1 2 3 5 7 9 10 +0 1 2 3 5 7 9 11 +0 1 2 3 5 7 9 12 +0 1 2 3 5 7 9 13 +0 1 2 3 5 7 9 14 +0 1 2 3 5 7 9 15 +0 1 2 3 5 7 10 11 +0 1 2 3 5 7 10 12 +0 1 2 3 5 7 10 13 +0 1 2 3 5 7 10 14 +0 1 2 3 5 7 10 15 +0 1 2 3 5 7 11 12 +0 1 2 3 5 7 11 13 +0 1 2 3 5 7 11 14 +0 1 2 3 5 7 11 15 +0 1 2 3 5 7 12 13 +0 1 2 3 5 7 12 14 +0 1 2 3 5 7 12 15 +0 1 2 3 5 7 13 14 +0 1 2 3 5 7 13 15 +0 1 2 3 5 7 14 15 +0 1 2 3 5 8 9 10 +0 1 2 3 5 8 9 11 +0 1 2 3 5 8 9 12 +0 1 2 3 5 8 9 13 +0 1 2 3 5 8 9 14 +0 1 2 3 5 8 9 15 +0 1 2 3 5 8 10 11 +0 1 2 3 5 8 10 12 +0 1 2 3 5 8 10 13 +0 1 2 3 5 8 10 14 +0 1 2 3 5 8 10 15 +0 1 2 3 5 8 11 12 +0 1 2 3 5 8 11 13 +0 1 2 3 5 8 11 14 +0 1 2 3 5 8 11 15 +0 1 2 3 5 8 12 13 +0 1 2 3 5 8 12 14 +0 1 2 3 5 8 12 15 +0 1 2 3 5 8 13 14 +0 1 2 3 5 8 13 15 +0 1 2 3 5 8 14 15 +0 1 2 3 5 9 10 11 +0 1 2 3 5 9 10 12 +0 1 2 3 5 9 10 13 +0 1 2 3 5 9 10 14 +0 1 2 3 5 9 10 15 +0 1 2 3 5 9 11 12 +0 1 2 3 5 9 11 13 +0 1 2 3 5 9 11 14 +0 1 2 3 5 9 11 15 +0 1 2 3 5 9 12 13 +0 1 2 3 5 9 12 14 +0 1 2 3 5 9 12 15 +0 1 2 3 5 9 13 14 +0 1 2 3 5 9 13 15 +0 1 2 3 5 9 14 15 +0 1 2 3 5 10 11 12 +0 1 2 3 5 10 11 13 +0 1 2 3 5 10 11 14 +0 1 2 3 5 10 11 15 +0 1 2 3 5 10 12 13 +0 1 2 3 5 10 12 14 +0 1 2 3 5 10 12 15 +0 1 2 3 5 10 13 14 +0 1 2 3 5 10 13 15 +0 1 2 3 5 10 14 15 +0 1 2 3 5 11 12 13 +0 1 2 3 5 11 12 14 +0 1 2 3 5 11 12 15 +0 1 2 3 5 11 13 14 +0 1 2 3 5 11 13 15 +0 1 2 3 5 11 14 15 +0 1 2 3 5 12 13 14 +0 1 2 3 5 12 13 15 +0 1 2 3 5 12 14 15 +0 1 2 3 5 13 14 15 +0 1 2 3 6 7 8 9 +0 1 2 3 6 7 8 10 +0 1 2 3 6 7 8 11 +0 1 2 3 6 7 8 12 +0 1 2 3 6 7 8 13 +0 1 2 3 6 7 8 14 +0 1 2 3 6 7 8 15 +0 1 2 3 6 7 9 10 +0 1 2 3 6 7 9 11 +0 1 2 3 6 7 9 12 +0 1 2 3 6 7 9 13 +0 1 2 3 6 7 9 14 +0 1 2 3 6 7 9 15 +0 1 2 3 6 7 10 11 +0 1 2 3 6 7 10 12 +0 1 2 3 6 7 10 13 +0 1 2 3 6 7 10 14 +0 1 2 3 6 7 10 15 +0 1 2 3 6 7 11 12 +0 1 2 3 6 7 11 13 +0 1 2 3 6 7 11 14 +0 1 2 3 6 7 11 15 +0 1 2 3 6 7 12 13 +0 1 2 3 6 7 12 14 +0 1 2 3 6 7 12 15 +0 1 2 3 6 7 13 14 +0 1 2 3 6 7 13 15 +0 1 2 3 6 7 14 15 +0 1 2 3 6 8 9 10 +0 1 2 3 6 8 9 11 +0 1 2 3 6 8 9 12 +0 1 2 3 6 8 9 13 +0 1 2 3 6 8 9 14 +0 1 2 3 6 8 9 15 +0 1 2 3 6 8 10 11 +0 1 2 3 6 8 10 12 +0 1 2 3 6 8 10 13 +0 1 2 3 6 8 10 14 +0 1 2 3 6 8 10 15 +0 1 2 3 6 8 11 12 +0 1 2 3 6 8 11 13 +0 1 2 3 6 8 11 14 +0 1 2 3 6 8 11 15 +0 1 2 3 6 8 12 13 +0 1 2 3 6 8 12 14 +0 1 2 3 6 8 12 15 +0 1 2 3 6 8 13 14 +0 1 2 3 6 8 13 15 +0 1 2 3 6 8 14 15 +0 1 2 3 6 9 10 11 +0 1 2 3 6 9 10 12 +0 1 2 3 6 9 10 13 +0 1 2 3 6 9 10 14 +0 1 2 3 6 9 10 15 +0 1 2 3 6 9 11 12 +0 1 2 3 6 9 11 13 +0 1 2 3 6 9 11 14 +0 1 2 3 6 9 11 15 +0 1 2 3 6 9 12 13 +0 1 2 3 6 9 12 14 +0 1 2 3 6 9 12 15 +0 1 2 3 6 9 13 14 +0 1 2 3 6 9 13 15 +0 1 2 3 6 9 14 15 +0 1 2 3 6 10 11 12 +0 1 2 3 6 10 11 13 +0 1 2 3 6 10 11 14 +0 1 2 3 6 10 11 15 +0 1 2 3 6 10 12 13 +0 1 2 3 6 10 12 14 +0 1 2 3 6 10 12 15 +0 1 2 3 6 10 13 14 +0 1 2 3 6 10 13 15 +0 1 2 3 6 10 14 15 +0 1 2 3 6 11 12 13 +0 1 2 3 6 11 12 14 +0 1 2 3 6 11 12 15 +0 1 2 3 6 11 13 14 +0 1 2 3 6 11 13 15 +0 1 2 3 6 11 14 15 +0 1 2 3 6 12 13 14 +0 1 2 3 6 12 13 15 +0 1 2 3 6 12 14 15 +0 1 2 3 6 13 14 15 +0 1 2 3 7 8 9 10 +0 1 2 3 7 8 9 11 +0 1 2 3 7 8 9 12 +0 1 2 3 7 8 9 13 +0 1 2 3 7 8 9 14 +0 1 2 3 7 8 9 15 +0 1 2 3 7 8 10 11 +0 1 2 3 7 8 10 12 +0 1 2 3 7 8 10 13 +0 1 2 3 7 8 10 14 +0 1 2 3 7 8 10 15 +0 1 2 3 7 8 11 12 +0 1 2 3 7 8 11 13 +0 1 2 3 7 8 11 14 +0 1 2 3 7 8 11 15 +0 1 2 3 7 8 12 13 +0 1 2 3 7 8 12 14 +0 1 2 3 7 8 12 15 +0 1 2 3 7 8 13 14 +0 1 2 3 7 8 13 15 +0 1 2 3 7 8 14 15 +0 1 2 3 7 9 10 11 +0 1 2 3 7 9 10 12 +0 1 2 3 7 9 10 13 +0 1 2 3 7 9 10 14 +0 1 2 3 7 9 10 15 +0 1 2 3 7 9 11 12 +0 1 2 3 7 9 11 13 +0 1 2 3 7 9 11 14 +0 1 2 3 7 9 11 15 +0 1 2 3 7 9 12 13 +0 1 2 3 7 9 12 14 +0 1 2 3 7 9 12 15 +0 1 2 3 7 9 13 14 +0 1 2 3 7 9 13 15 +0 1 2 3 7 9 14 15 +0 1 2 3 7 10 11 12 +0 1 2 3 7 10 11 13 +0 1 2 3 7 10 11 14 +0 1 2 3 7 10 11 15 +0 1 2 3 7 10 12 13 +0 1 2 3 7 10 12 14 +0 1 2 3 7 10 12 15 +0 1 2 3 7 10 13 14 +0 1 2 3 7 10 13 15 +0 1 2 3 7 10 14 15 +0 1 2 3 7 11 12 13 +0 1 2 3 7 11 12 14 +0 1 2 3 7 11 12 15 +0 1 2 3 7 11 13 14 +0 1 2 3 7 11 13 15 +0 1 2 3 7 11 14 15 +0 1 2 3 7 12 13 14 +0 1 2 3 7 12 13 15 +0 1 2 3 7 12 14 15 +0 1 2 3 7 13 14 15 +0 1 2 3 8 9 10 11 +0 1 2 3 8 9 10 12 +0 1 2 3 8 9 10 13 +0 1 2 3 8 9 10 14 +0 1 2 3 8 9 10 15 +0 1 2 3 8 9 11 12 +0 1 2 3 8 9 11 13 +0 1 2 3 8 9 11 14 +0 1 2 3 8 9 11 15 +0 1 2 3 8 9 12 13 +0 1 2 3 8 9 12 14 +0 1 2 3 8 9 12 15 +0 1 2 3 8 9 13 14 +0 1 2 3 8 9 13 15 +0 1 2 3 8 9 14 15 +0 1 2 3 8 10 11 12 +0 1 2 3 8 10 11 13 +0 1 2 3 8 10 11 14 +0 1 2 3 8 10 11 15 +0 1 2 3 8 10 12 13 +0 1 2 3 8 10 12 14 +0 1 2 3 8 10 12 15 +0 1 2 3 8 10 13 14 +0 1 2 3 8 10 13 15 +0 1 2 3 8 10 14 15 +0 1 2 3 8 11 12 13 +0 1 2 3 8 11 12 14 +0 1 2 3 8 11 12 15 +0 1 2 3 8 11 13 14 +0 1 2 3 8 11 13 15 +0 1 2 3 8 11 14 15 +0 1 2 3 8 12 13 14 +0 1 2 3 8 12 13 15 +0 1 2 3 8 12 14 15 +0 1 2 3 8 13 14 15 +0 1 2 3 9 10 11 12 +0 1 2 3 9 10 11 13 +0 1 2 3 9 10 11 14 +0 1 2 3 9 10 11 15 +0 1 2 3 9 10 12 13 +0 1 2 3 9 10 12 14 +0 1 2 3 9 10 12 15 +0 1 2 3 9 10 13 14 +0 1 2 3 9 10 13 15 +0 1 2 3 9 10 14 15 +0 1 2 3 9 11 12 13 +0 1 2 3 9 11 12 14 +0 1 2 3 9 11 12 15 +0 1 2 3 9 11 13 14 +0 1 2 3 9 11 13 15 +0 1 2 3 9 11 14 15 +0 1 2 3 9 12 13 14 +0 1 2 3 9 12 13 15 +0 1 2 3 9 12 14 15 +0 1 2 3 9 13 14 15 +0 1 2 3 10 11 12 13 +0 1 2 3 10 11 12 14 +0 1 2 3 10 11 12 15 +0 1 2 3 10 11 13 14 +0 1 2 3 10 11 13 15 +0 1 2 3 10 11 14 15 +0 1 2 3 10 12 13 14 +0 1 2 3 10 12 13 15 +0 1 2 3 10 12 14 15 +0 1 2 3 10 13 14 15 +0 1 2 3 11 12 13 14 +0 1 2 3 11 12 13 15 +0 1 2 3 11 12 14 15 +0 1 2 3 11 13 14 15 +0 1 2 3 12 13 14 15 +0 1 2 4 5 6 7 8 +0 1 2 4 5 6 7 9 +0 1 2 4 5 6 7 10 +0 1 2 4 5 6 7 11 +0 1 2 4 5 6 7 12 +0 1 2 4 5 6 7 13 +0 1 2 4 5 6 7 14 +0 1 2 4 5 6 7 15 +0 1 2 4 5 6 8 9 +0 1 2 4 5 6 8 10 +0 1 2 4 5 6 8 11 +0 1 2 4 5 6 8 12 +0 1 2 4 5 6 8 13 +0 1 2 4 5 6 8 14 +0 1 2 4 5 6 8 15 +0 1 2 4 5 6 9 10 +0 1 2 4 5 6 9 11 +0 1 2 4 5 6 9 12 +0 1 2 4 5 6 9 13 +0 1 2 4 5 6 9 14 +0 1 2 4 5 6 9 15 +0 1 2 4 5 6 10 11 +0 1 2 4 5 6 10 12 +0 1 2 4 5 6 10 13 +0 1 2 4 5 6 10 14 +0 1 2 4 5 6 10 15 +0 1 2 4 5 6 11 12 +0 1 2 4 5 6 11 13 +0 1 2 4 5 6 11 14 +0 1 2 4 5 6 11 15 +0 1 2 4 5 6 12 13 +0 1 2 4 5 6 12 14 +0 1 2 4 5 6 12 15 +0 1 2 4 5 6 13 14 +0 1 2 4 5 6 13 15 +0 1 2 4 5 6 14 15 +0 1 2 4 5 7 8 9 +0 1 2 4 5 7 8 10 +0 1 2 4 5 7 8 11 +0 1 2 4 5 7 8 12 +0 1 2 4 5 7 8 13 +0 1 2 4 5 7 8 14 +0 1 2 4 5 7 8 15 +0 1 2 4 5 7 9 10 +0 1 2 4 5 7 9 11 +0 1 2 4 5 7 9 12 +0 1 2 4 5 7 9 13 +0 1 2 4 5 7 9 14 +0 1 2 4 5 7 9 15 +0 1 2 4 5 7 10 11 +0 1 2 4 5 7 10 12 +0 1 2 4 5 7 10 13 +0 1 2 4 5 7 10 14 +0 1 2 4 5 7 10 15 +0 1 2 4 5 7 11 12 +0 1 2 4 5 7 11 13 +0 1 2 4 5 7 11 14 +0 1 2 4 5 7 11 15 +0 1 2 4 5 7 12 13 +0 1 2 4 5 7 12 14 +0 1 2 4 5 7 12 15 +0 1 2 4 5 7 13 14 +0 1 2 4 5 7 13 15 +0 1 2 4 5 7 14 15 +0 1 2 4 5 8 9 10 +0 1 2 4 5 8 9 11 +0 1 2 4 5 8 9 12 +0 1 2 4 5 8 9 13 +0 1 2 4 5 8 9 14 +0 1 2 4 5 8 9 15 +0 1 2 4 5 8 10 11 +0 1 2 4 5 8 10 12 +0 1 2 4 5 8 10 13 +0 1 2 4 5 8 10 14 +0 1 2 4 5 8 10 15 +0 1 2 4 5 8 11 12 +0 1 2 4 5 8 11 13 +0 1 2 4 5 8 11 14 +0 1 2 4 5 8 11 15 +0 1 2 4 5 8 12 13 +0 1 2 4 5 8 12 14 +0 1 2 4 5 8 12 15 +0 1 2 4 5 8 13 14 +0 1 2 4 5 8 13 15 +0 1 2 4 5 8 14 15 +0 1 2 4 5 9 10 11 +0 1 2 4 5 9 10 12 +0 1 2 4 5 9 10 13 +0 1 2 4 5 9 10 14 +0 1 2 4 5 9 10 15 +0 1 2 4 5 9 11 12 +0 1 2 4 5 9 11 13 +0 1 2 4 5 9 11 14 +0 1 2 4 5 9 11 15 +0 1 2 4 5 9 12 13 +0 1 2 4 5 9 12 14 +0 1 2 4 5 9 12 15 +0 1 2 4 5 9 13 14 +0 1 2 4 5 9 13 15 +0 1 2 4 5 9 14 15 +0 1 2 4 5 10 11 12 +0 1 2 4 5 10 11 13 +0 1 2 4 5 10 11 14 +0 1 2 4 5 10 11 15 +0 1 2 4 5 10 12 13 +0 1 2 4 5 10 12 14 +0 1 2 4 5 10 12 15 +0 1 2 4 5 10 13 14 +0 1 2 4 5 10 13 15 +0 1 2 4 5 10 14 15 +0 1 2 4 5 11 12 13 +0 1 2 4 5 11 12 14 +0 1 2 4 5 11 12 15 +0 1 2 4 5 11 13 14 +0 1 2 4 5 11 13 15 +0 1 2 4 5 11 14 15 +0 1 2 4 5 12 13 14 +0 1 2 4 5 12 13 15 +0 1 2 4 5 12 14 15 +0 1 2 4 5 13 14 15 +0 1 2 4 6 7 8 9 +0 1 2 4 6 7 8 10 +0 1 2 4 6 7 8 11 +0 1 2 4 6 7 8 12 +0 1 2 4 6 7 8 13 +0 1 2 4 6 7 8 14 +0 1 2 4 6 7 8 15 +0 1 2 4 6 7 9 10 +0 1 2 4 6 7 9 11 +0 1 2 4 6 7 9 12 +0 1 2 4 6 7 9 13 +0 1 2 4 6 7 9 14 +0 1 2 4 6 7 9 15 +0 1 2 4 6 7 10 11 +0 1 2 4 6 7 10 12 +0 1 2 4 6 7 10 13 +0 1 2 4 6 7 10 14 +0 1 2 4 6 7 10 15 +0 1 2 4 6 7 11 12 +0 1 2 4 6 7 11 13 +0 1 2 4 6 7 11 14 +0 1 2 4 6 7 11 15 +0 1 2 4 6 7 12 13 +0 1 2 4 6 7 12 14 +0 1 2 4 6 7 12 15 +0 1 2 4 6 7 13 14 +0 1 2 4 6 7 13 15 +0 1 2 4 6 7 14 15 +0 1 2 4 6 8 9 10 +0 1 2 4 6 8 9 11 +0 1 2 4 6 8 9 12 +0 1 2 4 6 8 9 13 +0 1 2 4 6 8 9 14 +0 1 2 4 6 8 9 15 +0 1 2 4 6 8 10 11 +0 1 2 4 6 8 10 12 +0 1 2 4 6 8 10 13 +0 1 2 4 6 8 10 14 +0 1 2 4 6 8 10 15 +0 1 2 4 6 8 11 12 +0 1 2 4 6 8 11 13 +0 1 2 4 6 8 11 14 +0 1 2 4 6 8 11 15 +0 1 2 4 6 8 12 13 +0 1 2 4 6 8 12 14 +0 1 2 4 6 8 12 15 +0 1 2 4 6 8 13 14 +0 1 2 4 6 8 13 15 +0 1 2 4 6 8 14 15 +0 1 2 4 6 9 10 11 +0 1 2 4 6 9 10 12 +0 1 2 4 6 9 10 13 +0 1 2 4 6 9 10 14 +0 1 2 4 6 9 10 15 +0 1 2 4 6 9 11 12 +0 1 2 4 6 9 11 13 +0 1 2 4 6 9 11 14 +0 1 2 4 6 9 11 15 +0 1 2 4 6 9 12 13 +0 1 2 4 6 9 12 14 +0 1 2 4 6 9 12 15 +0 1 2 4 6 9 13 14 +0 1 2 4 6 9 13 15 +0 1 2 4 6 9 14 15 +0 1 2 4 6 10 11 12 +0 1 2 4 6 10 11 13 +0 1 2 4 6 10 11 14 +0 1 2 4 6 10 11 15 +0 1 2 4 6 10 12 13 +0 1 2 4 6 10 12 14 +0 1 2 4 6 10 12 15 +0 1 2 4 6 10 13 14 +0 1 2 4 6 10 13 15 +0 1 2 4 6 10 14 15 +0 1 2 4 6 11 12 13 +0 1 2 4 6 11 12 14 +0 1 2 4 6 11 12 15 +0 1 2 4 6 11 13 14 +0 1 2 4 6 11 13 15 +0 1 2 4 6 11 14 15 +0 1 2 4 6 12 13 14 +0 1 2 4 6 12 13 15 +0 1 2 4 6 12 14 15 +0 1 2 4 6 13 14 15 +0 1 2 4 7 8 9 10 +0 1 2 4 7 8 9 11 +0 1 2 4 7 8 9 12 +0 1 2 4 7 8 9 13 +0 1 2 4 7 8 9 14 +0 1 2 4 7 8 9 15 +0 1 2 4 7 8 10 11 +0 1 2 4 7 8 10 12 +0 1 2 4 7 8 10 13 +0 1 2 4 7 8 10 14 +0 1 2 4 7 8 10 15 +0 1 2 4 7 8 11 12 +0 1 2 4 7 8 11 13 +0 1 2 4 7 8 11 14 +0 1 2 4 7 8 11 15 +0 1 2 4 7 8 12 13 +0 1 2 4 7 8 12 14 +0 1 2 4 7 8 12 15 +0 1 2 4 7 8 13 14 +0 1 2 4 7 8 13 15 +0 1 2 4 7 8 14 15 +0 1 2 4 7 9 10 11 +0 1 2 4 7 9 10 12 +0 1 2 4 7 9 10 13 +0 1 2 4 7 9 10 14 +0 1 2 4 7 9 10 15 +0 1 2 4 7 9 11 12 +0 1 2 4 7 9 11 13 +0 1 2 4 7 9 11 14 +0 1 2 4 7 9 11 15 +0 1 2 4 7 9 12 13 +0 1 2 4 7 9 12 14 +0 1 2 4 7 9 12 15 +0 1 2 4 7 9 13 14 +0 1 2 4 7 9 13 15 +0 1 2 4 7 9 14 15 +0 1 2 4 7 10 11 12 +0 1 2 4 7 10 11 13 +0 1 2 4 7 10 11 14 +0 1 2 4 7 10 11 15 +0 1 2 4 7 10 12 13 +0 1 2 4 7 10 12 14 +0 1 2 4 7 10 12 15 +0 1 2 4 7 10 13 14 +0 1 2 4 7 10 13 15 +0 1 2 4 7 10 14 15 +0 1 2 4 7 11 12 13 +0 1 2 4 7 11 12 14 +0 1 2 4 7 11 12 15 +0 1 2 4 7 11 13 14 +0 1 2 4 7 11 13 15 +0 1 2 4 7 11 14 15 +0 1 2 4 7 12 13 14 +0 1 2 4 7 12 13 15 +0 1 2 4 7 12 14 15 +0 1 2 4 7 13 14 15 +0 1 2 4 8 9 10 11 +0 1 2 4 8 9 10 12 +0 1 2 4 8 9 10 13 +0 1 2 4 8 9 10 14 +0 1 2 4 8 9 10 15 +0 1 2 4 8 9 11 12 +0 1 2 4 8 9 11 13 +0 1 2 4 8 9 11 14 +0 1 2 4 8 9 11 15 +0 1 2 4 8 9 12 13 +0 1 2 4 8 9 12 14 +0 1 2 4 8 9 12 15 +0 1 2 4 8 9 13 14 +0 1 2 4 8 9 13 15 +0 1 2 4 8 9 14 15 +0 1 2 4 8 10 11 12 +0 1 2 4 8 10 11 13 +0 1 2 4 8 10 11 14 +0 1 2 4 8 10 11 15 +0 1 2 4 8 10 12 13 +0 1 2 4 8 10 12 14 +0 1 2 4 8 10 12 15 +0 1 2 4 8 10 13 14 +0 1 2 4 8 10 13 15 +0 1 2 4 8 10 14 15 +0 1 2 4 8 11 12 13 +0 1 2 4 8 11 12 14 +0 1 2 4 8 11 12 15 +0 1 2 4 8 11 13 14 +0 1 2 4 8 11 13 15 +0 1 2 4 8 11 14 15 +0 1 2 4 8 12 13 14 +0 1 2 4 8 12 13 15 +0 1 2 4 8 12 14 15 +0 1 2 4 8 13 14 15 +0 1 2 4 9 10 11 12 +0 1 2 4 9 10 11 13 +0 1 2 4 9 10 11 14 +0 1 2 4 9 10 11 15 +0 1 2 4 9 10 12 13 +0 1 2 4 9 10 12 14 +0 1 2 4 9 10 12 15 +0 1 2 4 9 10 13 14 +0 1 2 4 9 10 13 15 +0 1 2 4 9 10 14 15 +0 1 2 4 9 11 12 13 +0 1 2 4 9 11 12 14 +0 1 2 4 9 11 12 15 +0 1 2 4 9 11 13 14 +0 1 2 4 9 11 13 15 +0 1 2 4 9 11 14 15 +0 1 2 4 9 12 13 14 +0 1 2 4 9 12 13 15 +0 1 2 4 9 12 14 15 +0 1 2 4 9 13 14 15 +0 1 2 4 10 11 12 13 +0 1 2 4 10 11 12 14 +0 1 2 4 10 11 12 15 +0 1 2 4 10 11 13 14 +0 1 2 4 10 11 13 15 +0 1 2 4 10 11 14 15 +0 1 2 4 10 12 13 14 +0 1 2 4 10 12 13 15 +0 1 2 4 10 12 14 15 +0 1 2 4 10 13 14 15 +0 1 2 4 11 12 13 14 +0 1 2 4 11 12 13 15 +0 1 2 4 11 12 14 15 +0 1 2 4 11 13 14 15 +0 1 2 4 12 13 14 15 +0 1 2 5 6 7 8 9 +0 1 2 5 6 7 8 10 +0 1 2 5 6 7 8 11 +0 1 2 5 6 7 8 12 +0 1 2 5 6 7 8 13 +0 1 2 5 6 7 8 14 +0 1 2 5 6 7 8 15 +0 1 2 5 6 7 9 10 +0 1 2 5 6 7 9 11 +0 1 2 5 6 7 9 12 +0 1 2 5 6 7 9 13 +0 1 2 5 6 7 9 14 +0 1 2 5 6 7 9 15 +0 1 2 5 6 7 10 11 +0 1 2 5 6 7 10 12 +0 1 2 5 6 7 10 13 +0 1 2 5 6 7 10 14 +0 1 2 5 6 7 10 15 +0 1 2 5 6 7 11 12 +0 1 2 5 6 7 11 13 +0 1 2 5 6 7 11 14 +0 1 2 5 6 7 11 15 +0 1 2 5 6 7 12 13 +0 1 2 5 6 7 12 14 +0 1 2 5 6 7 12 15 +0 1 2 5 6 7 13 14 +0 1 2 5 6 7 13 15 +0 1 2 5 6 7 14 15 +0 1 2 5 6 8 9 10 +0 1 2 5 6 8 9 11 +0 1 2 5 6 8 9 12 +0 1 2 5 6 8 9 13 +0 1 2 5 6 8 9 14 +0 1 2 5 6 8 9 15 +0 1 2 5 6 8 10 11 +0 1 2 5 6 8 10 12 +0 1 2 5 6 8 10 13 +0 1 2 5 6 8 10 14 +0 1 2 5 6 8 10 15 +0 1 2 5 6 8 11 12 +0 1 2 5 6 8 11 13 +0 1 2 5 6 8 11 14 +0 1 2 5 6 8 11 15 +0 1 2 5 6 8 12 13 +0 1 2 5 6 8 12 14 +0 1 2 5 6 8 12 15 +0 1 2 5 6 8 13 14 +0 1 2 5 6 8 13 15 +0 1 2 5 6 8 14 15 +0 1 2 5 6 9 10 11 +0 1 2 5 6 9 10 12 +0 1 2 5 6 9 10 13 +0 1 2 5 6 9 10 14 +0 1 2 5 6 9 10 15 +0 1 2 5 6 9 11 12 +0 1 2 5 6 9 11 13 +0 1 2 5 6 9 11 14 +0 1 2 5 6 9 11 15 +0 1 2 5 6 9 12 13 +0 1 2 5 6 9 12 14 +0 1 2 5 6 9 12 15 +0 1 2 5 6 9 13 14 +0 1 2 5 6 9 13 15 +0 1 2 5 6 9 14 15 +0 1 2 5 6 10 11 12 +0 1 2 5 6 10 11 13 +0 1 2 5 6 10 11 14 +0 1 2 5 6 10 11 15 +0 1 2 5 6 10 12 13 +0 1 2 5 6 10 12 14 +0 1 2 5 6 10 12 15 +0 1 2 5 6 10 13 14 +0 1 2 5 6 10 13 15 +0 1 2 5 6 10 14 15 +0 1 2 5 6 11 12 13 +0 1 2 5 6 11 12 14 +0 1 2 5 6 11 12 15 +0 1 2 5 6 11 13 14 +0 1 2 5 6 11 13 15 +0 1 2 5 6 11 14 15 +0 1 2 5 6 12 13 14 +0 1 2 5 6 12 13 15 +0 1 2 5 6 12 14 15 +0 1 2 5 6 13 14 15 +0 1 2 5 7 8 9 10 +0 1 2 5 7 8 9 11 +0 1 2 5 7 8 9 12 +0 1 2 5 7 8 9 13 +0 1 2 5 7 8 9 14 +0 1 2 5 7 8 9 15 +0 1 2 5 7 8 10 11 +0 1 2 5 7 8 10 12 +0 1 2 5 7 8 10 13 +0 1 2 5 7 8 10 14 +0 1 2 5 7 8 10 15 +0 1 2 5 7 8 11 12 +0 1 2 5 7 8 11 13 +0 1 2 5 7 8 11 14 +0 1 2 5 7 8 11 15 +0 1 2 5 7 8 12 13 +0 1 2 5 7 8 12 14 +0 1 2 5 7 8 12 15 +0 1 2 5 7 8 13 14 +0 1 2 5 7 8 13 15 +0 1 2 5 7 8 14 15 +0 1 2 5 7 9 10 11 +0 1 2 5 7 9 10 12 +0 1 2 5 7 9 10 13 +0 1 2 5 7 9 10 14 +0 1 2 5 7 9 10 15 +0 1 2 5 7 9 11 12 +0 1 2 5 7 9 11 13 +0 1 2 5 7 9 11 14 +0 1 2 5 7 9 11 15 +0 1 2 5 7 9 12 13 +0 1 2 5 7 9 12 14 +0 1 2 5 7 9 12 15 +0 1 2 5 7 9 13 14 +0 1 2 5 7 9 13 15 +0 1 2 5 7 9 14 15 +0 1 2 5 7 10 11 12 +0 1 2 5 7 10 11 13 +0 1 2 5 7 10 11 14 +0 1 2 5 7 10 11 15 +0 1 2 5 7 10 12 13 +0 1 2 5 7 10 12 14 +0 1 2 5 7 10 12 15 +0 1 2 5 7 10 13 14 +0 1 2 5 7 10 13 15 +0 1 2 5 7 10 14 15 +0 1 2 5 7 11 12 13 +0 1 2 5 7 11 12 14 +0 1 2 5 7 11 12 15 +0 1 2 5 7 11 13 14 +0 1 2 5 7 11 13 15 +0 1 2 5 7 11 14 15 +0 1 2 5 7 12 13 14 +0 1 2 5 7 12 13 15 +0 1 2 5 7 12 14 15 +0 1 2 5 7 13 14 15 +0 1 2 5 8 9 10 11 +0 1 2 5 8 9 10 12 +0 1 2 5 8 9 10 13 +0 1 2 5 8 9 10 14 +0 1 2 5 8 9 10 15 +0 1 2 5 8 9 11 12 +0 1 2 5 8 9 11 13 +0 1 2 5 8 9 11 14 +0 1 2 5 8 9 11 15 +0 1 2 5 8 9 12 13 +0 1 2 5 8 9 12 14 +0 1 2 5 8 9 12 15 +0 1 2 5 8 9 13 14 +0 1 2 5 8 9 13 15 +0 1 2 5 8 9 14 15 +0 1 2 5 8 10 11 12 +0 1 2 5 8 10 11 13 +0 1 2 5 8 10 11 14 +0 1 2 5 8 10 11 15 +0 1 2 5 8 10 12 13 +0 1 2 5 8 10 12 14 +0 1 2 5 8 10 12 15 +0 1 2 5 8 10 13 14 +0 1 2 5 8 10 13 15 +0 1 2 5 8 10 14 15 +0 1 2 5 8 11 12 13 +0 1 2 5 8 11 12 14 +0 1 2 5 8 11 12 15 +0 1 2 5 8 11 13 14 +0 1 2 5 8 11 13 15 +0 1 2 5 8 11 14 15 +0 1 2 5 8 12 13 14 +0 1 2 5 8 12 13 15 +0 1 2 5 8 12 14 15 +0 1 2 5 8 13 14 15 +0 1 2 5 9 10 11 12 +0 1 2 5 9 10 11 13 +0 1 2 5 9 10 11 14 +0 1 2 5 9 10 11 15 +0 1 2 5 9 10 12 13 +0 1 2 5 9 10 12 14 +0 1 2 5 9 10 12 15 +0 1 2 5 9 10 13 14 +0 1 2 5 9 10 13 15 +0 1 2 5 9 10 14 15 +0 1 2 5 9 11 12 13 +0 1 2 5 9 11 12 14 +0 1 2 5 9 11 12 15 +0 1 2 5 9 11 13 14 +0 1 2 5 9 11 13 15 +0 1 2 5 9 11 14 15 +0 1 2 5 9 12 13 14 +0 1 2 5 9 12 13 15 +0 1 2 5 9 12 14 15 +0 1 2 5 9 13 14 15 +0 1 2 5 10 11 12 13 +0 1 2 5 10 11 12 14 +0 1 2 5 10 11 12 15 +0 1 2 5 10 11 13 14 +0 1 2 5 10 11 13 15 +0 1 2 5 10 11 14 15 +0 1 2 5 10 12 13 14 +0 1 2 5 10 12 13 15 +0 1 2 5 10 12 14 15 +0 1 2 5 10 13 14 15 +0 1 2 5 11 12 13 14 +0 1 2 5 11 12 13 15 +0 1 2 5 11 12 14 15 +0 1 2 5 11 13 14 15 +0 1 2 5 12 13 14 15 +0 1 2 6 7 8 9 10 +0 1 2 6 7 8 9 11 +0 1 2 6 7 8 9 12 +0 1 2 6 7 8 9 13 +0 1 2 6 7 8 9 14 +0 1 2 6 7 8 9 15 +0 1 2 6 7 8 10 11 +0 1 2 6 7 8 10 12 +0 1 2 6 7 8 10 13 +0 1 2 6 7 8 10 14 +0 1 2 6 7 8 10 15 +0 1 2 6 7 8 11 12 +0 1 2 6 7 8 11 13 +0 1 2 6 7 8 11 14 +0 1 2 6 7 8 11 15 +0 1 2 6 7 8 12 13 +0 1 2 6 7 8 12 14 +0 1 2 6 7 8 12 15 +0 1 2 6 7 8 13 14 +0 1 2 6 7 8 13 15 +0 1 2 6 7 8 14 15 +0 1 2 6 7 9 10 11 +0 1 2 6 7 9 10 12 +0 1 2 6 7 9 10 13 +0 1 2 6 7 9 10 14 +0 1 2 6 7 9 10 15 +0 1 2 6 7 9 11 12 +0 1 2 6 7 9 11 13 +0 1 2 6 7 9 11 14 +0 1 2 6 7 9 11 15 +0 1 2 6 7 9 12 13 +0 1 2 6 7 9 12 14 +0 1 2 6 7 9 12 15 +0 1 2 6 7 9 13 14 +0 1 2 6 7 9 13 15 +0 1 2 6 7 9 14 15 +0 1 2 6 7 10 11 12 +0 1 2 6 7 10 11 13 +0 1 2 6 7 10 11 14 +0 1 2 6 7 10 11 15 +0 1 2 6 7 10 12 13 +0 1 2 6 7 10 12 14 +0 1 2 6 7 10 12 15 +0 1 2 6 7 10 13 14 +0 1 2 6 7 10 13 15 +0 1 2 6 7 10 14 15 +0 1 2 6 7 11 12 13 +0 1 2 6 7 11 12 14 +0 1 2 6 7 11 12 15 +0 1 2 6 7 11 13 14 +0 1 2 6 7 11 13 15 +0 1 2 6 7 11 14 15 +0 1 2 6 7 12 13 14 +0 1 2 6 7 12 13 15 +0 1 2 6 7 12 14 15 +0 1 2 6 7 13 14 15 +0 1 2 6 8 9 10 11 +0 1 2 6 8 9 10 12 +0 1 2 6 8 9 10 13 +0 1 2 6 8 9 10 14 +0 1 2 6 8 9 10 15 +0 1 2 6 8 9 11 12 +0 1 2 6 8 9 11 13 +0 1 2 6 8 9 11 14 +0 1 2 6 8 9 11 15 +0 1 2 6 8 9 12 13 +0 1 2 6 8 9 12 14 +0 1 2 6 8 9 12 15 +0 1 2 6 8 9 13 14 +0 1 2 6 8 9 13 15 +0 1 2 6 8 9 14 15 +0 1 2 6 8 10 11 12 +0 1 2 6 8 10 11 13 +0 1 2 6 8 10 11 14 +0 1 2 6 8 10 11 15 +0 1 2 6 8 10 12 13 +0 1 2 6 8 10 12 14 +0 1 2 6 8 10 12 15 +0 1 2 6 8 10 13 14 +0 1 2 6 8 10 13 15 +0 1 2 6 8 10 14 15 +0 1 2 6 8 11 12 13 +0 1 2 6 8 11 12 14 +0 1 2 6 8 11 12 15 +0 1 2 6 8 11 13 14 +0 1 2 6 8 11 13 15 +0 1 2 6 8 11 14 15 +0 1 2 6 8 12 13 14 +0 1 2 6 8 12 13 15 +0 1 2 6 8 12 14 15 +0 1 2 6 8 13 14 15 +0 1 2 6 9 10 11 12 +0 1 2 6 9 10 11 13 +0 1 2 6 9 10 11 14 +0 1 2 6 9 10 11 15 +0 1 2 6 9 10 12 13 +0 1 2 6 9 10 12 14 +0 1 2 6 9 10 12 15 +0 1 2 6 9 10 13 14 +0 1 2 6 9 10 13 15 +0 1 2 6 9 10 14 15 +0 1 2 6 9 11 12 13 +0 1 2 6 9 11 12 14 +0 1 2 6 9 11 12 15 +0 1 2 6 9 11 13 14 +0 1 2 6 9 11 13 15 +0 1 2 6 9 11 14 15 +0 1 2 6 9 12 13 14 +0 1 2 6 9 12 13 15 +0 1 2 6 9 12 14 15 +0 1 2 6 9 13 14 15 +0 1 2 6 10 11 12 13 +0 1 2 6 10 11 12 14 +0 1 2 6 10 11 12 15 +0 1 2 6 10 11 13 14 +0 1 2 6 10 11 13 15 +0 1 2 6 10 11 14 15 +0 1 2 6 10 12 13 14 +0 1 2 6 10 12 13 15 +0 1 2 6 10 12 14 15 +0 1 2 6 10 13 14 15 +0 1 2 6 11 12 13 14 +0 1 2 6 11 12 13 15 +0 1 2 6 11 12 14 15 +0 1 2 6 11 13 14 15 +0 1 2 6 12 13 14 15 +0 1 2 7 8 9 10 11 +0 1 2 7 8 9 10 12 +0 1 2 7 8 9 10 13 +0 1 2 7 8 9 10 14 +0 1 2 7 8 9 10 15 +0 1 2 7 8 9 11 12 +0 1 2 7 8 9 11 13 +0 1 2 7 8 9 11 14 +0 1 2 7 8 9 11 15 +0 1 2 7 8 9 12 13 +0 1 2 7 8 9 12 14 +0 1 2 7 8 9 12 15 +0 1 2 7 8 9 13 14 +0 1 2 7 8 9 13 15 +0 1 2 7 8 9 14 15 +0 1 2 7 8 10 11 12 +0 1 2 7 8 10 11 13 +0 1 2 7 8 10 11 14 +0 1 2 7 8 10 11 15 +0 1 2 7 8 10 12 13 +0 1 2 7 8 10 12 14 +0 1 2 7 8 10 12 15 +0 1 2 7 8 10 13 14 +0 1 2 7 8 10 13 15 +0 1 2 7 8 10 14 15 +0 1 2 7 8 11 12 13 +0 1 2 7 8 11 12 14 +0 1 2 7 8 11 12 15 +0 1 2 7 8 11 13 14 +0 1 2 7 8 11 13 15 +0 1 2 7 8 11 14 15 +0 1 2 7 8 12 13 14 +0 1 2 7 8 12 13 15 +0 1 2 7 8 12 14 15 +0 1 2 7 8 13 14 15 +0 1 2 7 9 10 11 12 +0 1 2 7 9 10 11 13 +0 1 2 7 9 10 11 14 +0 1 2 7 9 10 11 15 +0 1 2 7 9 10 12 13 +0 1 2 7 9 10 12 14 +0 1 2 7 9 10 12 15 +0 1 2 7 9 10 13 14 +0 1 2 7 9 10 13 15 +0 1 2 7 9 10 14 15 +0 1 2 7 9 11 12 13 +0 1 2 7 9 11 12 14 +0 1 2 7 9 11 12 15 +0 1 2 7 9 11 13 14 +0 1 2 7 9 11 13 15 +0 1 2 7 9 11 14 15 +0 1 2 7 9 12 13 14 +0 1 2 7 9 12 13 15 +0 1 2 7 9 12 14 15 +0 1 2 7 9 13 14 15 +0 1 2 7 10 11 12 13 +0 1 2 7 10 11 12 14 +0 1 2 7 10 11 12 15 +0 1 2 7 10 11 13 14 +0 1 2 7 10 11 13 15 +0 1 2 7 10 11 14 15 +0 1 2 7 10 12 13 14 +0 1 2 7 10 12 13 15 +0 1 2 7 10 12 14 15 +0 1 2 7 10 13 14 15 +0 1 2 7 11 12 13 14 +0 1 2 7 11 12 13 15 +0 1 2 7 11 12 14 15 +0 1 2 7 11 13 14 15 +0 1 2 7 12 13 14 15 +0 1 2 8 9 10 11 12 +0 1 2 8 9 10 11 13 +0 1 2 8 9 10 11 14 +0 1 2 8 9 10 11 15 +0 1 2 8 9 10 12 13 +0 1 2 8 9 10 12 14 +0 1 2 8 9 10 12 15 +0 1 2 8 9 10 13 14 +0 1 2 8 9 10 13 15 +0 1 2 8 9 10 14 15 +0 1 2 8 9 11 12 13 +0 1 2 8 9 11 12 14 +0 1 2 8 9 11 12 15 +0 1 2 8 9 11 13 14 +0 1 2 8 9 11 13 15 +0 1 2 8 9 11 14 15 +0 1 2 8 9 12 13 14 +0 1 2 8 9 12 13 15 +0 1 2 8 9 12 14 15 +0 1 2 8 9 13 14 15 +0 1 2 8 10 11 12 13 +0 1 2 8 10 11 12 14 +0 1 2 8 10 11 12 15 +0 1 2 8 10 11 13 14 +0 1 2 8 10 11 13 15 +0 1 2 8 10 11 14 15 +0 1 2 8 10 12 13 14 +0 1 2 8 10 12 13 15 +0 1 2 8 10 12 14 15 +0 1 2 8 10 13 14 15 +0 1 2 8 11 12 13 14 +0 1 2 8 11 12 13 15 +0 1 2 8 11 12 14 15 +0 1 2 8 11 13 14 15 +0 1 2 8 12 13 14 15 +0 1 2 9 10 11 12 13 +0 1 2 9 10 11 12 14 +0 1 2 9 10 11 12 15 +0 1 2 9 10 11 13 14 +0 1 2 9 10 11 13 15 +0 1 2 9 10 11 14 15 +0 1 2 9 10 12 13 14 +0 1 2 9 10 12 13 15 +0 1 2 9 10 12 14 15 +0 1 2 9 10 13 14 15 +0 1 2 9 11 12 13 14 +0 1 2 9 11 12 13 15 +0 1 2 9 11 12 14 15 +0 1 2 9 11 13 14 15 +0 1 2 9 12 13 14 15 +0 1 2 10 11 12 13 14 +0 1 2 10 11 12 13 15 +0 1 2 10 11 12 14 15 +0 1 2 10 11 13 14 15 +0 1 2 10 12 13 14 15 +0 1 2 11 12 13 14 15 +0 1 3 4 5 6 7 8 +0 1 3 4 5 6 7 9 +0 1 3 4 5 6 7 10 +0 1 3 4 5 6 7 11 +0 1 3 4 5 6 7 12 +0 1 3 4 5 6 7 13 +0 1 3 4 5 6 7 14 +0 1 3 4 5 6 7 15 +0 1 3 4 5 6 8 9 +0 1 3 4 5 6 8 10 +0 1 3 4 5 6 8 11 +0 1 3 4 5 6 8 12 +0 1 3 4 5 6 8 13 +0 1 3 4 5 6 8 14 +0 1 3 4 5 6 8 15 +0 1 3 4 5 6 9 10 +0 1 3 4 5 6 9 11 +0 1 3 4 5 6 9 12 +0 1 3 4 5 6 9 13 +0 1 3 4 5 6 9 14 +0 1 3 4 5 6 9 15 +0 1 3 4 5 6 10 11 +0 1 3 4 5 6 10 12 +0 1 3 4 5 6 10 13 +0 1 3 4 5 6 10 14 +0 1 3 4 5 6 10 15 +0 1 3 4 5 6 11 12 +0 1 3 4 5 6 11 13 +0 1 3 4 5 6 11 14 +0 1 3 4 5 6 11 15 +0 1 3 4 5 6 12 13 +0 1 3 4 5 6 12 14 +0 1 3 4 5 6 12 15 +0 1 3 4 5 6 13 14 +0 1 3 4 5 6 13 15 +0 1 3 4 5 6 14 15 +0 1 3 4 5 7 8 9 +0 1 3 4 5 7 8 10 +0 1 3 4 5 7 8 11 +0 1 3 4 5 7 8 12 +0 1 3 4 5 7 8 13 +0 1 3 4 5 7 8 14 +0 1 3 4 5 7 8 15 +0 1 3 4 5 7 9 10 +0 1 3 4 5 7 9 11 +0 1 3 4 5 7 9 12 +0 1 3 4 5 7 9 13 +0 1 3 4 5 7 9 14 +0 1 3 4 5 7 9 15 +0 1 3 4 5 7 10 11 +0 1 3 4 5 7 10 12 +0 1 3 4 5 7 10 13 +0 1 3 4 5 7 10 14 +0 1 3 4 5 7 10 15 +0 1 3 4 5 7 11 12 +0 1 3 4 5 7 11 13 +0 1 3 4 5 7 11 14 +0 1 3 4 5 7 11 15 +0 1 3 4 5 7 12 13 +0 1 3 4 5 7 12 14 +0 1 3 4 5 7 12 15 +0 1 3 4 5 7 13 14 +0 1 3 4 5 7 13 15 +0 1 3 4 5 7 14 15 +0 1 3 4 5 8 9 10 +0 1 3 4 5 8 9 11 +0 1 3 4 5 8 9 12 +0 1 3 4 5 8 9 13 +0 1 3 4 5 8 9 14 +0 1 3 4 5 8 9 15 +0 1 3 4 5 8 10 11 +0 1 3 4 5 8 10 12 +0 1 3 4 5 8 10 13 +0 1 3 4 5 8 10 14 +0 1 3 4 5 8 10 15 +0 1 3 4 5 8 11 12 +0 1 3 4 5 8 11 13 +0 1 3 4 5 8 11 14 +0 1 3 4 5 8 11 15 +0 1 3 4 5 8 12 13 +0 1 3 4 5 8 12 14 +0 1 3 4 5 8 12 15 +0 1 3 4 5 8 13 14 +0 1 3 4 5 8 13 15 +0 1 3 4 5 8 14 15 +0 1 3 4 5 9 10 11 +0 1 3 4 5 9 10 12 +0 1 3 4 5 9 10 13 +0 1 3 4 5 9 10 14 +0 1 3 4 5 9 10 15 +0 1 3 4 5 9 11 12 +0 1 3 4 5 9 11 13 +0 1 3 4 5 9 11 14 +0 1 3 4 5 9 11 15 +0 1 3 4 5 9 12 13 +0 1 3 4 5 9 12 14 +0 1 3 4 5 9 12 15 +0 1 3 4 5 9 13 14 +0 1 3 4 5 9 13 15 +0 1 3 4 5 9 14 15 +0 1 3 4 5 10 11 12 +0 1 3 4 5 10 11 13 +0 1 3 4 5 10 11 14 +0 1 3 4 5 10 11 15 +0 1 3 4 5 10 12 13 +0 1 3 4 5 10 12 14 +0 1 3 4 5 10 12 15 +0 1 3 4 5 10 13 14 +0 1 3 4 5 10 13 15 +0 1 3 4 5 10 14 15 +0 1 3 4 5 11 12 13 +0 1 3 4 5 11 12 14 +0 1 3 4 5 11 12 15 +0 1 3 4 5 11 13 14 +0 1 3 4 5 11 13 15 +0 1 3 4 5 11 14 15 +0 1 3 4 5 12 13 14 +0 1 3 4 5 12 13 15 +0 1 3 4 5 12 14 15 +0 1 3 4 5 13 14 15 +0 1 3 4 6 7 8 9 +0 1 3 4 6 7 8 10 +0 1 3 4 6 7 8 11 +0 1 3 4 6 7 8 12 +0 1 3 4 6 7 8 13 +0 1 3 4 6 7 8 14 +0 1 3 4 6 7 8 15 +0 1 3 4 6 7 9 10 +0 1 3 4 6 7 9 11 +0 1 3 4 6 7 9 12 +0 1 3 4 6 7 9 13 +0 1 3 4 6 7 9 14 +0 1 3 4 6 7 9 15 +0 1 3 4 6 7 10 11 +0 1 3 4 6 7 10 12 +0 1 3 4 6 7 10 13 +0 1 3 4 6 7 10 14 +0 1 3 4 6 7 10 15 +0 1 3 4 6 7 11 12 +0 1 3 4 6 7 11 13 +0 1 3 4 6 7 11 14 +0 1 3 4 6 7 11 15 +0 1 3 4 6 7 12 13 +0 1 3 4 6 7 12 14 +0 1 3 4 6 7 12 15 +0 1 3 4 6 7 13 14 +0 1 3 4 6 7 13 15 +0 1 3 4 6 7 14 15 +0 1 3 4 6 8 9 10 +0 1 3 4 6 8 9 11 +0 1 3 4 6 8 9 12 +0 1 3 4 6 8 9 13 +0 1 3 4 6 8 9 14 +0 1 3 4 6 8 9 15 +0 1 3 4 6 8 10 11 +0 1 3 4 6 8 10 12 +0 1 3 4 6 8 10 13 +0 1 3 4 6 8 10 14 +0 1 3 4 6 8 10 15 +0 1 3 4 6 8 11 12 +0 1 3 4 6 8 11 13 +0 1 3 4 6 8 11 14 +0 1 3 4 6 8 11 15 +0 1 3 4 6 8 12 13 +0 1 3 4 6 8 12 14 +0 1 3 4 6 8 12 15 +0 1 3 4 6 8 13 14 +0 1 3 4 6 8 13 15 +0 1 3 4 6 8 14 15 +0 1 3 4 6 9 10 11 +0 1 3 4 6 9 10 12 +0 1 3 4 6 9 10 13 +0 1 3 4 6 9 10 14 +0 1 3 4 6 9 10 15 +0 1 3 4 6 9 11 12 +0 1 3 4 6 9 11 13 +0 1 3 4 6 9 11 14 +0 1 3 4 6 9 11 15 +0 1 3 4 6 9 12 13 +0 1 3 4 6 9 12 14 +0 1 3 4 6 9 12 15 +0 1 3 4 6 9 13 14 +0 1 3 4 6 9 13 15 +0 1 3 4 6 9 14 15 +0 1 3 4 6 10 11 12 +0 1 3 4 6 10 11 13 +0 1 3 4 6 10 11 14 +0 1 3 4 6 10 11 15 +0 1 3 4 6 10 12 13 +0 1 3 4 6 10 12 14 +0 1 3 4 6 10 12 15 +0 1 3 4 6 10 13 14 +0 1 3 4 6 10 13 15 +0 1 3 4 6 10 14 15 +0 1 3 4 6 11 12 13 +0 1 3 4 6 11 12 14 +0 1 3 4 6 11 12 15 +0 1 3 4 6 11 13 14 +0 1 3 4 6 11 13 15 +0 1 3 4 6 11 14 15 +0 1 3 4 6 12 13 14 +0 1 3 4 6 12 13 15 +0 1 3 4 6 12 14 15 +0 1 3 4 6 13 14 15 +0 1 3 4 7 8 9 10 +0 1 3 4 7 8 9 11 +0 1 3 4 7 8 9 12 +0 1 3 4 7 8 9 13 +0 1 3 4 7 8 9 14 +0 1 3 4 7 8 9 15 +0 1 3 4 7 8 10 11 +0 1 3 4 7 8 10 12 +0 1 3 4 7 8 10 13 +0 1 3 4 7 8 10 14 +0 1 3 4 7 8 10 15 +0 1 3 4 7 8 11 12 +0 1 3 4 7 8 11 13 +0 1 3 4 7 8 11 14 +0 1 3 4 7 8 11 15 +0 1 3 4 7 8 12 13 +0 1 3 4 7 8 12 14 +0 1 3 4 7 8 12 15 +0 1 3 4 7 8 13 14 +0 1 3 4 7 8 13 15 +0 1 3 4 7 8 14 15 +0 1 3 4 7 9 10 11 +0 1 3 4 7 9 10 12 +0 1 3 4 7 9 10 13 +0 1 3 4 7 9 10 14 +0 1 3 4 7 9 10 15 +0 1 3 4 7 9 11 12 +0 1 3 4 7 9 11 13 +0 1 3 4 7 9 11 14 +0 1 3 4 7 9 11 15 +0 1 3 4 7 9 12 13 +0 1 3 4 7 9 12 14 +0 1 3 4 7 9 12 15 +0 1 3 4 7 9 13 14 +0 1 3 4 7 9 13 15 +0 1 3 4 7 9 14 15 +0 1 3 4 7 10 11 12 +0 1 3 4 7 10 11 13 +0 1 3 4 7 10 11 14 +0 1 3 4 7 10 11 15 +0 1 3 4 7 10 12 13 +0 1 3 4 7 10 12 14 +0 1 3 4 7 10 12 15 +0 1 3 4 7 10 13 14 +0 1 3 4 7 10 13 15 +0 1 3 4 7 10 14 15 +0 1 3 4 7 11 12 13 +0 1 3 4 7 11 12 14 +0 1 3 4 7 11 12 15 +0 1 3 4 7 11 13 14 +0 1 3 4 7 11 13 15 +0 1 3 4 7 11 14 15 +0 1 3 4 7 12 13 14 +0 1 3 4 7 12 13 15 +0 1 3 4 7 12 14 15 +0 1 3 4 7 13 14 15 +0 1 3 4 8 9 10 11 +0 1 3 4 8 9 10 12 +0 1 3 4 8 9 10 13 +0 1 3 4 8 9 10 14 +0 1 3 4 8 9 10 15 +0 1 3 4 8 9 11 12 +0 1 3 4 8 9 11 13 +0 1 3 4 8 9 11 14 +0 1 3 4 8 9 11 15 +0 1 3 4 8 9 12 13 +0 1 3 4 8 9 12 14 +0 1 3 4 8 9 12 15 +0 1 3 4 8 9 13 14 +0 1 3 4 8 9 13 15 +0 1 3 4 8 9 14 15 +0 1 3 4 8 10 11 12 +0 1 3 4 8 10 11 13 +0 1 3 4 8 10 11 14 +0 1 3 4 8 10 11 15 +0 1 3 4 8 10 12 13 +0 1 3 4 8 10 12 14 +0 1 3 4 8 10 12 15 +0 1 3 4 8 10 13 14 +0 1 3 4 8 10 13 15 +0 1 3 4 8 10 14 15 +0 1 3 4 8 11 12 13 +0 1 3 4 8 11 12 14 +0 1 3 4 8 11 12 15 +0 1 3 4 8 11 13 14 +0 1 3 4 8 11 13 15 +0 1 3 4 8 11 14 15 +0 1 3 4 8 12 13 14 +0 1 3 4 8 12 13 15 +0 1 3 4 8 12 14 15 +0 1 3 4 8 13 14 15 +0 1 3 4 9 10 11 12 +0 1 3 4 9 10 11 13 +0 1 3 4 9 10 11 14 +0 1 3 4 9 10 11 15 +0 1 3 4 9 10 12 13 +0 1 3 4 9 10 12 14 +0 1 3 4 9 10 12 15 +0 1 3 4 9 10 13 14 +0 1 3 4 9 10 13 15 +0 1 3 4 9 10 14 15 +0 1 3 4 9 11 12 13 +0 1 3 4 9 11 12 14 +0 1 3 4 9 11 12 15 +0 1 3 4 9 11 13 14 +0 1 3 4 9 11 13 15 +0 1 3 4 9 11 14 15 +0 1 3 4 9 12 13 14 +0 1 3 4 9 12 13 15 +0 1 3 4 9 12 14 15 +0 1 3 4 9 13 14 15 +0 1 3 4 10 11 12 13 +0 1 3 4 10 11 12 14 +0 1 3 4 10 11 12 15 +0 1 3 4 10 11 13 14 +0 1 3 4 10 11 13 15 +0 1 3 4 10 11 14 15 +0 1 3 4 10 12 13 14 +0 1 3 4 10 12 13 15 +0 1 3 4 10 12 14 15 +0 1 3 4 10 13 14 15 +0 1 3 4 11 12 13 14 +0 1 3 4 11 12 13 15 +0 1 3 4 11 12 14 15 +0 1 3 4 11 13 14 15 +0 1 3 4 12 13 14 15 +0 1 3 5 6 7 8 9 +0 1 3 5 6 7 8 10 +0 1 3 5 6 7 8 11 +0 1 3 5 6 7 8 12 +0 1 3 5 6 7 8 13 +0 1 3 5 6 7 8 14 +0 1 3 5 6 7 8 15 +0 1 3 5 6 7 9 10 +0 1 3 5 6 7 9 11 +0 1 3 5 6 7 9 12 +0 1 3 5 6 7 9 13 +0 1 3 5 6 7 9 14 +0 1 3 5 6 7 9 15 +0 1 3 5 6 7 10 11 +0 1 3 5 6 7 10 12 +0 1 3 5 6 7 10 13 +0 1 3 5 6 7 10 14 +0 1 3 5 6 7 10 15 +0 1 3 5 6 7 11 12 +0 1 3 5 6 7 11 13 +0 1 3 5 6 7 11 14 +0 1 3 5 6 7 11 15 +0 1 3 5 6 7 12 13 +0 1 3 5 6 7 12 14 +0 1 3 5 6 7 12 15 +0 1 3 5 6 7 13 14 +0 1 3 5 6 7 13 15 +0 1 3 5 6 7 14 15 +0 1 3 5 6 8 9 10 +0 1 3 5 6 8 9 11 +0 1 3 5 6 8 9 12 +0 1 3 5 6 8 9 13 +0 1 3 5 6 8 9 14 +0 1 3 5 6 8 9 15 +0 1 3 5 6 8 10 11 +0 1 3 5 6 8 10 12 +0 1 3 5 6 8 10 13 +0 1 3 5 6 8 10 14 +0 1 3 5 6 8 10 15 +0 1 3 5 6 8 11 12 +0 1 3 5 6 8 11 13 +0 1 3 5 6 8 11 14 +0 1 3 5 6 8 11 15 +0 1 3 5 6 8 12 13 +0 1 3 5 6 8 12 14 +0 1 3 5 6 8 12 15 +0 1 3 5 6 8 13 14 +0 1 3 5 6 8 13 15 +0 1 3 5 6 8 14 15 +0 1 3 5 6 9 10 11 +0 1 3 5 6 9 10 12 +0 1 3 5 6 9 10 13 +0 1 3 5 6 9 10 14 +0 1 3 5 6 9 10 15 +0 1 3 5 6 9 11 12 +0 1 3 5 6 9 11 13 +0 1 3 5 6 9 11 14 +0 1 3 5 6 9 11 15 +0 1 3 5 6 9 12 13 +0 1 3 5 6 9 12 14 +0 1 3 5 6 9 12 15 +0 1 3 5 6 9 13 14 +0 1 3 5 6 9 13 15 +0 1 3 5 6 9 14 15 +0 1 3 5 6 10 11 12 +0 1 3 5 6 10 11 13 +0 1 3 5 6 10 11 14 +0 1 3 5 6 10 11 15 +0 1 3 5 6 10 12 13 +0 1 3 5 6 10 12 14 +0 1 3 5 6 10 12 15 +0 1 3 5 6 10 13 14 +0 1 3 5 6 10 13 15 +0 1 3 5 6 10 14 15 +0 1 3 5 6 11 12 13 +0 1 3 5 6 11 12 14 +0 1 3 5 6 11 12 15 +0 1 3 5 6 11 13 14 +0 1 3 5 6 11 13 15 +0 1 3 5 6 11 14 15 +0 1 3 5 6 12 13 14 +0 1 3 5 6 12 13 15 +0 1 3 5 6 12 14 15 +0 1 3 5 6 13 14 15 +0 1 3 5 7 8 9 10 +0 1 3 5 7 8 9 11 +0 1 3 5 7 8 9 12 +0 1 3 5 7 8 9 13 +0 1 3 5 7 8 9 14 +0 1 3 5 7 8 9 15 +0 1 3 5 7 8 10 11 +0 1 3 5 7 8 10 12 +0 1 3 5 7 8 10 13 +0 1 3 5 7 8 10 14 +0 1 3 5 7 8 10 15 +0 1 3 5 7 8 11 12 +0 1 3 5 7 8 11 13 +0 1 3 5 7 8 11 14 +0 1 3 5 7 8 11 15 +0 1 3 5 7 8 12 13 +0 1 3 5 7 8 12 14 +0 1 3 5 7 8 12 15 +0 1 3 5 7 8 13 14 +0 1 3 5 7 8 13 15 +0 1 3 5 7 8 14 15 +0 1 3 5 7 9 10 11 +0 1 3 5 7 9 10 12 +0 1 3 5 7 9 10 13 +0 1 3 5 7 9 10 14 +0 1 3 5 7 9 10 15 +0 1 3 5 7 9 11 12 +0 1 3 5 7 9 11 13 +0 1 3 5 7 9 11 14 +0 1 3 5 7 9 11 15 +0 1 3 5 7 9 12 13 +0 1 3 5 7 9 12 14 +0 1 3 5 7 9 12 15 +0 1 3 5 7 9 13 14 +0 1 3 5 7 9 13 15 +0 1 3 5 7 9 14 15 +0 1 3 5 7 10 11 12 +0 1 3 5 7 10 11 13 +0 1 3 5 7 10 11 14 +0 1 3 5 7 10 11 15 +0 1 3 5 7 10 12 13 +0 1 3 5 7 10 12 14 +0 1 3 5 7 10 12 15 +0 1 3 5 7 10 13 14 +0 1 3 5 7 10 13 15 +0 1 3 5 7 10 14 15 +0 1 3 5 7 11 12 13 +0 1 3 5 7 11 12 14 +0 1 3 5 7 11 12 15 +0 1 3 5 7 11 13 14 +0 1 3 5 7 11 13 15 +0 1 3 5 7 11 14 15 +0 1 3 5 7 12 13 14 +0 1 3 5 7 12 13 15 +0 1 3 5 7 12 14 15 +0 1 3 5 7 13 14 15 +0 1 3 5 8 9 10 11 +0 1 3 5 8 9 10 12 +0 1 3 5 8 9 10 13 +0 1 3 5 8 9 10 14 +0 1 3 5 8 9 10 15 +0 1 3 5 8 9 11 12 +0 1 3 5 8 9 11 13 +0 1 3 5 8 9 11 14 +0 1 3 5 8 9 11 15 +0 1 3 5 8 9 12 13 +0 1 3 5 8 9 12 14 +0 1 3 5 8 9 12 15 +0 1 3 5 8 9 13 14 +0 1 3 5 8 9 13 15 +0 1 3 5 8 9 14 15 +0 1 3 5 8 10 11 12 +0 1 3 5 8 10 11 13 +0 1 3 5 8 10 11 14 +0 1 3 5 8 10 11 15 +0 1 3 5 8 10 12 13 +0 1 3 5 8 10 12 14 +0 1 3 5 8 10 12 15 +0 1 3 5 8 10 13 14 +0 1 3 5 8 10 13 15 +0 1 3 5 8 10 14 15 +0 1 3 5 8 11 12 13 +0 1 3 5 8 11 12 14 +0 1 3 5 8 11 12 15 +0 1 3 5 8 11 13 14 +0 1 3 5 8 11 13 15 +0 1 3 5 8 11 14 15 +0 1 3 5 8 12 13 14 +0 1 3 5 8 12 13 15 +0 1 3 5 8 12 14 15 +0 1 3 5 8 13 14 15 +0 1 3 5 9 10 11 12 +0 1 3 5 9 10 11 13 +0 1 3 5 9 10 11 14 +0 1 3 5 9 10 11 15 +0 1 3 5 9 10 12 13 +0 1 3 5 9 10 12 14 +0 1 3 5 9 10 12 15 +0 1 3 5 9 10 13 14 +0 1 3 5 9 10 13 15 +0 1 3 5 9 10 14 15 +0 1 3 5 9 11 12 13 +0 1 3 5 9 11 12 14 +0 1 3 5 9 11 12 15 +0 1 3 5 9 11 13 14 +0 1 3 5 9 11 13 15 +0 1 3 5 9 11 14 15 +0 1 3 5 9 12 13 14 +0 1 3 5 9 12 13 15 +0 1 3 5 9 12 14 15 +0 1 3 5 9 13 14 15 +0 1 3 5 10 11 12 13 +0 1 3 5 10 11 12 14 +0 1 3 5 10 11 12 15 +0 1 3 5 10 11 13 14 +0 1 3 5 10 11 13 15 +0 1 3 5 10 11 14 15 +0 1 3 5 10 12 13 14 +0 1 3 5 10 12 13 15 +0 1 3 5 10 12 14 15 +0 1 3 5 10 13 14 15 +0 1 3 5 11 12 13 14 +0 1 3 5 11 12 13 15 +0 1 3 5 11 12 14 15 +0 1 3 5 11 13 14 15 +0 1 3 5 12 13 14 15 +0 1 3 6 7 8 9 10 +0 1 3 6 7 8 9 11 +0 1 3 6 7 8 9 12 +0 1 3 6 7 8 9 13 +0 1 3 6 7 8 9 14 +0 1 3 6 7 8 9 15 +0 1 3 6 7 8 10 11 +0 1 3 6 7 8 10 12 +0 1 3 6 7 8 10 13 +0 1 3 6 7 8 10 14 +0 1 3 6 7 8 10 15 +0 1 3 6 7 8 11 12 +0 1 3 6 7 8 11 13 +0 1 3 6 7 8 11 14 +0 1 3 6 7 8 11 15 +0 1 3 6 7 8 12 13 +0 1 3 6 7 8 12 14 +0 1 3 6 7 8 12 15 +0 1 3 6 7 8 13 14 +0 1 3 6 7 8 13 15 +0 1 3 6 7 8 14 15 +0 1 3 6 7 9 10 11 +0 1 3 6 7 9 10 12 +0 1 3 6 7 9 10 13 +0 1 3 6 7 9 10 14 +0 1 3 6 7 9 10 15 +0 1 3 6 7 9 11 12 +0 1 3 6 7 9 11 13 +0 1 3 6 7 9 11 14 +0 1 3 6 7 9 11 15 +0 1 3 6 7 9 12 13 +0 1 3 6 7 9 12 14 +0 1 3 6 7 9 12 15 +0 1 3 6 7 9 13 14 +0 1 3 6 7 9 13 15 +0 1 3 6 7 9 14 15 +0 1 3 6 7 10 11 12 +0 1 3 6 7 10 11 13 +0 1 3 6 7 10 11 14 +0 1 3 6 7 10 11 15 +0 1 3 6 7 10 12 13 +0 1 3 6 7 10 12 14 +0 1 3 6 7 10 12 15 +0 1 3 6 7 10 13 14 +0 1 3 6 7 10 13 15 +0 1 3 6 7 10 14 15 +0 1 3 6 7 11 12 13 +0 1 3 6 7 11 12 14 +0 1 3 6 7 11 12 15 +0 1 3 6 7 11 13 14 +0 1 3 6 7 11 13 15 +0 1 3 6 7 11 14 15 +0 1 3 6 7 12 13 14 +0 1 3 6 7 12 13 15 +0 1 3 6 7 12 14 15 +0 1 3 6 7 13 14 15 +0 1 3 6 8 9 10 11 +0 1 3 6 8 9 10 12 +0 1 3 6 8 9 10 13 +0 1 3 6 8 9 10 14 +0 1 3 6 8 9 10 15 +0 1 3 6 8 9 11 12 +0 1 3 6 8 9 11 13 +0 1 3 6 8 9 11 14 +0 1 3 6 8 9 11 15 +0 1 3 6 8 9 12 13 +0 1 3 6 8 9 12 14 +0 1 3 6 8 9 12 15 +0 1 3 6 8 9 13 14 +0 1 3 6 8 9 13 15 +0 1 3 6 8 9 14 15 +0 1 3 6 8 10 11 12 +0 1 3 6 8 10 11 13 +0 1 3 6 8 10 11 14 +0 1 3 6 8 10 11 15 +0 1 3 6 8 10 12 13 +0 1 3 6 8 10 12 14 +0 1 3 6 8 10 12 15 +0 1 3 6 8 10 13 14 +0 1 3 6 8 10 13 15 +0 1 3 6 8 10 14 15 +0 1 3 6 8 11 12 13 +0 1 3 6 8 11 12 14 +0 1 3 6 8 11 12 15 +0 1 3 6 8 11 13 14 +0 1 3 6 8 11 13 15 +0 1 3 6 8 11 14 15 +0 1 3 6 8 12 13 14 +0 1 3 6 8 12 13 15 +0 1 3 6 8 12 14 15 +0 1 3 6 8 13 14 15 +0 1 3 6 9 10 11 12 +0 1 3 6 9 10 11 13 +0 1 3 6 9 10 11 14 +0 1 3 6 9 10 11 15 +0 1 3 6 9 10 12 13 +0 1 3 6 9 10 12 14 +0 1 3 6 9 10 12 15 +0 1 3 6 9 10 13 14 +0 1 3 6 9 10 13 15 +0 1 3 6 9 10 14 15 +0 1 3 6 9 11 12 13 +0 1 3 6 9 11 12 14 +0 1 3 6 9 11 12 15 +0 1 3 6 9 11 13 14 +0 1 3 6 9 11 13 15 +0 1 3 6 9 11 14 15 +0 1 3 6 9 12 13 14 +0 1 3 6 9 12 13 15 +0 1 3 6 9 12 14 15 +0 1 3 6 9 13 14 15 +0 1 3 6 10 11 12 13 +0 1 3 6 10 11 12 14 +0 1 3 6 10 11 12 15 +0 1 3 6 10 11 13 14 +0 1 3 6 10 11 13 15 +0 1 3 6 10 11 14 15 +0 1 3 6 10 12 13 14 +0 1 3 6 10 12 13 15 +0 1 3 6 10 12 14 15 +0 1 3 6 10 13 14 15 +0 1 3 6 11 12 13 14 +0 1 3 6 11 12 13 15 +0 1 3 6 11 12 14 15 +0 1 3 6 11 13 14 15 +0 1 3 6 12 13 14 15 +0 1 3 7 8 9 10 11 +0 1 3 7 8 9 10 12 +0 1 3 7 8 9 10 13 +0 1 3 7 8 9 10 14 +0 1 3 7 8 9 10 15 +0 1 3 7 8 9 11 12 +0 1 3 7 8 9 11 13 +0 1 3 7 8 9 11 14 +0 1 3 7 8 9 11 15 +0 1 3 7 8 9 12 13 +0 1 3 7 8 9 12 14 +0 1 3 7 8 9 12 15 +0 1 3 7 8 9 13 14 +0 1 3 7 8 9 13 15 +0 1 3 7 8 9 14 15 +0 1 3 7 8 10 11 12 +0 1 3 7 8 10 11 13 +0 1 3 7 8 10 11 14 +0 1 3 7 8 10 11 15 +0 1 3 7 8 10 12 13 +0 1 3 7 8 10 12 14 +0 1 3 7 8 10 12 15 +0 1 3 7 8 10 13 14 +0 1 3 7 8 10 13 15 +0 1 3 7 8 10 14 15 +0 1 3 7 8 11 12 13 +0 1 3 7 8 11 12 14 +0 1 3 7 8 11 12 15 +0 1 3 7 8 11 13 14 +0 1 3 7 8 11 13 15 +0 1 3 7 8 11 14 15 +0 1 3 7 8 12 13 14 +0 1 3 7 8 12 13 15 +0 1 3 7 8 12 14 15 +0 1 3 7 8 13 14 15 +0 1 3 7 9 10 11 12 +0 1 3 7 9 10 11 13 +0 1 3 7 9 10 11 14 +0 1 3 7 9 10 11 15 +0 1 3 7 9 10 12 13 +0 1 3 7 9 10 12 14 +0 1 3 7 9 10 12 15 +0 1 3 7 9 10 13 14 +0 1 3 7 9 10 13 15 +0 1 3 7 9 10 14 15 +0 1 3 7 9 11 12 13 +0 1 3 7 9 11 12 14 +0 1 3 7 9 11 12 15 +0 1 3 7 9 11 13 14 +0 1 3 7 9 11 13 15 +0 1 3 7 9 11 14 15 +0 1 3 7 9 12 13 14 +0 1 3 7 9 12 13 15 +0 1 3 7 9 12 14 15 +0 1 3 7 9 13 14 15 +0 1 3 7 10 11 12 13 +0 1 3 7 10 11 12 14 +0 1 3 7 10 11 12 15 +0 1 3 7 10 11 13 14 +0 1 3 7 10 11 13 15 +0 1 3 7 10 11 14 15 +0 1 3 7 10 12 13 14 +0 1 3 7 10 12 13 15 +0 1 3 7 10 12 14 15 +0 1 3 7 10 13 14 15 +0 1 3 7 11 12 13 14 +0 1 3 7 11 12 13 15 +0 1 3 7 11 12 14 15 +0 1 3 7 11 13 14 15 +0 1 3 7 12 13 14 15 +0 1 3 8 9 10 11 12 +0 1 3 8 9 10 11 13 +0 1 3 8 9 10 11 14 +0 1 3 8 9 10 11 15 +0 1 3 8 9 10 12 13 +0 1 3 8 9 10 12 14 +0 1 3 8 9 10 12 15 +0 1 3 8 9 10 13 14 +0 1 3 8 9 10 13 15 +0 1 3 8 9 10 14 15 +0 1 3 8 9 11 12 13 +0 1 3 8 9 11 12 14 +0 1 3 8 9 11 12 15 +0 1 3 8 9 11 13 14 +0 1 3 8 9 11 13 15 +0 1 3 8 9 11 14 15 +0 1 3 8 9 12 13 14 +0 1 3 8 9 12 13 15 +0 1 3 8 9 12 14 15 +0 1 3 8 9 13 14 15 +0 1 3 8 10 11 12 13 +0 1 3 8 10 11 12 14 +0 1 3 8 10 11 12 15 +0 1 3 8 10 11 13 14 +0 1 3 8 10 11 13 15 +0 1 3 8 10 11 14 15 +0 1 3 8 10 12 13 14 +0 1 3 8 10 12 13 15 +0 1 3 8 10 12 14 15 +0 1 3 8 10 13 14 15 +0 1 3 8 11 12 13 14 +0 1 3 8 11 12 13 15 +0 1 3 8 11 12 14 15 +0 1 3 8 11 13 14 15 +0 1 3 8 12 13 14 15 +0 1 3 9 10 11 12 13 +0 1 3 9 10 11 12 14 +0 1 3 9 10 11 12 15 +0 1 3 9 10 11 13 14 +0 1 3 9 10 11 13 15 +0 1 3 9 10 11 14 15 +0 1 3 9 10 12 13 14 +0 1 3 9 10 12 13 15 +0 1 3 9 10 12 14 15 +0 1 3 9 10 13 14 15 +0 1 3 9 11 12 13 14 +0 1 3 9 11 12 13 15 +0 1 3 9 11 12 14 15 +0 1 3 9 11 13 14 15 +0 1 3 9 12 13 14 15 +0 1 3 10 11 12 13 14 +0 1 3 10 11 12 13 15 +0 1 3 10 11 12 14 15 +0 1 3 10 11 13 14 15 +0 1 3 10 12 13 14 15 +0 1 3 11 12 13 14 15 +0 1 4 5 6 7 8 9 +0 1 4 5 6 7 8 10 +0 1 4 5 6 7 8 11 +0 1 4 5 6 7 8 12 +0 1 4 5 6 7 8 13 +0 1 4 5 6 7 8 14 +0 1 4 5 6 7 8 15 +0 1 4 5 6 7 9 10 +0 1 4 5 6 7 9 11 +0 1 4 5 6 7 9 12 +0 1 4 5 6 7 9 13 +0 1 4 5 6 7 9 14 +0 1 4 5 6 7 9 15 +0 1 4 5 6 7 10 11 +0 1 4 5 6 7 10 12 +0 1 4 5 6 7 10 13 +0 1 4 5 6 7 10 14 +0 1 4 5 6 7 10 15 +0 1 4 5 6 7 11 12 +0 1 4 5 6 7 11 13 +0 1 4 5 6 7 11 14 +0 1 4 5 6 7 11 15 +0 1 4 5 6 7 12 13 +0 1 4 5 6 7 12 14 +0 1 4 5 6 7 12 15 +0 1 4 5 6 7 13 14 +0 1 4 5 6 7 13 15 +0 1 4 5 6 7 14 15 +0 1 4 5 6 8 9 10 +0 1 4 5 6 8 9 11 +0 1 4 5 6 8 9 12 +0 1 4 5 6 8 9 13 +0 1 4 5 6 8 9 14 +0 1 4 5 6 8 9 15 +0 1 4 5 6 8 10 11 +0 1 4 5 6 8 10 12 +0 1 4 5 6 8 10 13 +0 1 4 5 6 8 10 14 +0 1 4 5 6 8 10 15 +0 1 4 5 6 8 11 12 +0 1 4 5 6 8 11 13 +0 1 4 5 6 8 11 14 +0 1 4 5 6 8 11 15 +0 1 4 5 6 8 12 13 +0 1 4 5 6 8 12 14 +0 1 4 5 6 8 12 15 +0 1 4 5 6 8 13 14 +0 1 4 5 6 8 13 15 +0 1 4 5 6 8 14 15 +0 1 4 5 6 9 10 11 +0 1 4 5 6 9 10 12 +0 1 4 5 6 9 10 13 +0 1 4 5 6 9 10 14 +0 1 4 5 6 9 10 15 +0 1 4 5 6 9 11 12 +0 1 4 5 6 9 11 13 +0 1 4 5 6 9 11 14 +0 1 4 5 6 9 11 15 +0 1 4 5 6 9 12 13 +0 1 4 5 6 9 12 14 +0 1 4 5 6 9 12 15 +0 1 4 5 6 9 13 14 +0 1 4 5 6 9 13 15 +0 1 4 5 6 9 14 15 +0 1 4 5 6 10 11 12 +0 1 4 5 6 10 11 13 +0 1 4 5 6 10 11 14 +0 1 4 5 6 10 11 15 +0 1 4 5 6 10 12 13 +0 1 4 5 6 10 12 14 +0 1 4 5 6 10 12 15 +0 1 4 5 6 10 13 14 +0 1 4 5 6 10 13 15 +0 1 4 5 6 10 14 15 +0 1 4 5 6 11 12 13 +0 1 4 5 6 11 12 14 +0 1 4 5 6 11 12 15 +0 1 4 5 6 11 13 14 +0 1 4 5 6 11 13 15 +0 1 4 5 6 11 14 15 +0 1 4 5 6 12 13 14 +0 1 4 5 6 12 13 15 +0 1 4 5 6 12 14 15 +0 1 4 5 6 13 14 15 +0 1 4 5 7 8 9 10 +0 1 4 5 7 8 9 11 +0 1 4 5 7 8 9 12 +0 1 4 5 7 8 9 13 +0 1 4 5 7 8 9 14 +0 1 4 5 7 8 9 15 +0 1 4 5 7 8 10 11 +0 1 4 5 7 8 10 12 +0 1 4 5 7 8 10 13 +0 1 4 5 7 8 10 14 +0 1 4 5 7 8 10 15 +0 1 4 5 7 8 11 12 +0 1 4 5 7 8 11 13 +0 1 4 5 7 8 11 14 +0 1 4 5 7 8 11 15 +0 1 4 5 7 8 12 13 +0 1 4 5 7 8 12 14 +0 1 4 5 7 8 12 15 +0 1 4 5 7 8 13 14 +0 1 4 5 7 8 13 15 +0 1 4 5 7 8 14 15 +0 1 4 5 7 9 10 11 +0 1 4 5 7 9 10 12 +0 1 4 5 7 9 10 13 +0 1 4 5 7 9 10 14 +0 1 4 5 7 9 10 15 +0 1 4 5 7 9 11 12 +0 1 4 5 7 9 11 13 +0 1 4 5 7 9 11 14 +0 1 4 5 7 9 11 15 +0 1 4 5 7 9 12 13 +0 1 4 5 7 9 12 14 +0 1 4 5 7 9 12 15 +0 1 4 5 7 9 13 14 +0 1 4 5 7 9 13 15 +0 1 4 5 7 9 14 15 +0 1 4 5 7 10 11 12 +0 1 4 5 7 10 11 13 +0 1 4 5 7 10 11 14 +0 1 4 5 7 10 11 15 +0 1 4 5 7 10 12 13 +0 1 4 5 7 10 12 14 +0 1 4 5 7 10 12 15 +0 1 4 5 7 10 13 14 +0 1 4 5 7 10 13 15 +0 1 4 5 7 10 14 15 +0 1 4 5 7 11 12 13 +0 1 4 5 7 11 12 14 +0 1 4 5 7 11 12 15 +0 1 4 5 7 11 13 14 +0 1 4 5 7 11 13 15 +0 1 4 5 7 11 14 15 +0 1 4 5 7 12 13 14 +0 1 4 5 7 12 13 15 +0 1 4 5 7 12 14 15 +0 1 4 5 7 13 14 15 +0 1 4 5 8 9 10 11 +0 1 4 5 8 9 10 12 +0 1 4 5 8 9 10 13 +0 1 4 5 8 9 10 14 +0 1 4 5 8 9 10 15 +0 1 4 5 8 9 11 12 +0 1 4 5 8 9 11 13 +0 1 4 5 8 9 11 14 +0 1 4 5 8 9 11 15 +0 1 4 5 8 9 12 13 +0 1 4 5 8 9 12 14 +0 1 4 5 8 9 12 15 +0 1 4 5 8 9 13 14 +0 1 4 5 8 9 13 15 +0 1 4 5 8 9 14 15 +0 1 4 5 8 10 11 12 +0 1 4 5 8 10 11 13 +0 1 4 5 8 10 11 14 +0 1 4 5 8 10 11 15 +0 1 4 5 8 10 12 13 +0 1 4 5 8 10 12 14 +0 1 4 5 8 10 12 15 +0 1 4 5 8 10 13 14 +0 1 4 5 8 10 13 15 +0 1 4 5 8 10 14 15 +0 1 4 5 8 11 12 13 +0 1 4 5 8 11 12 14 +0 1 4 5 8 11 12 15 +0 1 4 5 8 11 13 14 +0 1 4 5 8 11 13 15 +0 1 4 5 8 11 14 15 +0 1 4 5 8 12 13 14 +0 1 4 5 8 12 13 15 +0 1 4 5 8 12 14 15 +0 1 4 5 8 13 14 15 +0 1 4 5 9 10 11 12 +0 1 4 5 9 10 11 13 +0 1 4 5 9 10 11 14 +0 1 4 5 9 10 11 15 +0 1 4 5 9 10 12 13 +0 1 4 5 9 10 12 14 +0 1 4 5 9 10 12 15 +0 1 4 5 9 10 13 14 +0 1 4 5 9 10 13 15 +0 1 4 5 9 10 14 15 +0 1 4 5 9 11 12 13 +0 1 4 5 9 11 12 14 +0 1 4 5 9 11 12 15 +0 1 4 5 9 11 13 14 +0 1 4 5 9 11 13 15 +0 1 4 5 9 11 14 15 +0 1 4 5 9 12 13 14 +0 1 4 5 9 12 13 15 +0 1 4 5 9 12 14 15 +0 1 4 5 9 13 14 15 +0 1 4 5 10 11 12 13 +0 1 4 5 10 11 12 14 +0 1 4 5 10 11 12 15 +0 1 4 5 10 11 13 14 +0 1 4 5 10 11 13 15 +0 1 4 5 10 11 14 15 +0 1 4 5 10 12 13 14 +0 1 4 5 10 12 13 15 +0 1 4 5 10 12 14 15 +0 1 4 5 10 13 14 15 +0 1 4 5 11 12 13 14 +0 1 4 5 11 12 13 15 +0 1 4 5 11 12 14 15 +0 1 4 5 11 13 14 15 +0 1 4 5 12 13 14 15 +0 1 4 6 7 8 9 10 +0 1 4 6 7 8 9 11 +0 1 4 6 7 8 9 12 +0 1 4 6 7 8 9 13 +0 1 4 6 7 8 9 14 +0 1 4 6 7 8 9 15 +0 1 4 6 7 8 10 11 +0 1 4 6 7 8 10 12 +0 1 4 6 7 8 10 13 +0 1 4 6 7 8 10 14 +0 1 4 6 7 8 10 15 +0 1 4 6 7 8 11 12 +0 1 4 6 7 8 11 13 +0 1 4 6 7 8 11 14 +0 1 4 6 7 8 11 15 +0 1 4 6 7 8 12 13 +0 1 4 6 7 8 12 14 +0 1 4 6 7 8 12 15 +0 1 4 6 7 8 13 14 +0 1 4 6 7 8 13 15 +0 1 4 6 7 8 14 15 +0 1 4 6 7 9 10 11 +0 1 4 6 7 9 10 12 +0 1 4 6 7 9 10 13 +0 1 4 6 7 9 10 14 +0 1 4 6 7 9 10 15 +0 1 4 6 7 9 11 12 +0 1 4 6 7 9 11 13 +0 1 4 6 7 9 11 14 +0 1 4 6 7 9 11 15 +0 1 4 6 7 9 12 13 +0 1 4 6 7 9 12 14 +0 1 4 6 7 9 12 15 +0 1 4 6 7 9 13 14 +0 1 4 6 7 9 13 15 +0 1 4 6 7 9 14 15 +0 1 4 6 7 10 11 12 +0 1 4 6 7 10 11 13 +0 1 4 6 7 10 11 14 +0 1 4 6 7 10 11 15 +0 1 4 6 7 10 12 13 +0 1 4 6 7 10 12 14 +0 1 4 6 7 10 12 15 +0 1 4 6 7 10 13 14 +0 1 4 6 7 10 13 15 +0 1 4 6 7 10 14 15 +0 1 4 6 7 11 12 13 +0 1 4 6 7 11 12 14 +0 1 4 6 7 11 12 15 +0 1 4 6 7 11 13 14 +0 1 4 6 7 11 13 15 +0 1 4 6 7 11 14 15 +0 1 4 6 7 12 13 14 +0 1 4 6 7 12 13 15 +0 1 4 6 7 12 14 15 +0 1 4 6 7 13 14 15 +0 1 4 6 8 9 10 11 +0 1 4 6 8 9 10 12 +0 1 4 6 8 9 10 13 +0 1 4 6 8 9 10 14 +0 1 4 6 8 9 10 15 +0 1 4 6 8 9 11 12 +0 1 4 6 8 9 11 13 +0 1 4 6 8 9 11 14 +0 1 4 6 8 9 11 15 +0 1 4 6 8 9 12 13 +0 1 4 6 8 9 12 14 +0 1 4 6 8 9 12 15 +0 1 4 6 8 9 13 14 +0 1 4 6 8 9 13 15 +0 1 4 6 8 9 14 15 +0 1 4 6 8 10 11 12 +0 1 4 6 8 10 11 13 +0 1 4 6 8 10 11 14 +0 1 4 6 8 10 11 15 +0 1 4 6 8 10 12 13 +0 1 4 6 8 10 12 14 +0 1 4 6 8 10 12 15 +0 1 4 6 8 10 13 14 +0 1 4 6 8 10 13 15 +0 1 4 6 8 10 14 15 +0 1 4 6 8 11 12 13 +0 1 4 6 8 11 12 14 +0 1 4 6 8 11 12 15 +0 1 4 6 8 11 13 14 +0 1 4 6 8 11 13 15 +0 1 4 6 8 11 14 15 +0 1 4 6 8 12 13 14 +0 1 4 6 8 12 13 15 +0 1 4 6 8 12 14 15 +0 1 4 6 8 13 14 15 +0 1 4 6 9 10 11 12 +0 1 4 6 9 10 11 13 +0 1 4 6 9 10 11 14 +0 1 4 6 9 10 11 15 +0 1 4 6 9 10 12 13 +0 1 4 6 9 10 12 14 +0 1 4 6 9 10 12 15 +0 1 4 6 9 10 13 14 +0 1 4 6 9 10 13 15 +0 1 4 6 9 10 14 15 +0 1 4 6 9 11 12 13 +0 1 4 6 9 11 12 14 +0 1 4 6 9 11 12 15 +0 1 4 6 9 11 13 14 +0 1 4 6 9 11 13 15 +0 1 4 6 9 11 14 15 +0 1 4 6 9 12 13 14 +0 1 4 6 9 12 13 15 +0 1 4 6 9 12 14 15 +0 1 4 6 9 13 14 15 +0 1 4 6 10 11 12 13 +0 1 4 6 10 11 12 14 +0 1 4 6 10 11 12 15 +0 1 4 6 10 11 13 14 +0 1 4 6 10 11 13 15 +0 1 4 6 10 11 14 15 +0 1 4 6 10 12 13 14 +0 1 4 6 10 12 13 15 +0 1 4 6 10 12 14 15 +0 1 4 6 10 13 14 15 +0 1 4 6 11 12 13 14 +0 1 4 6 11 12 13 15 +0 1 4 6 11 12 14 15 +0 1 4 6 11 13 14 15 +0 1 4 6 12 13 14 15 +0 1 4 7 8 9 10 11 +0 1 4 7 8 9 10 12 +0 1 4 7 8 9 10 13 +0 1 4 7 8 9 10 14 +0 1 4 7 8 9 10 15 +0 1 4 7 8 9 11 12 +0 1 4 7 8 9 11 13 +0 1 4 7 8 9 11 14 +0 1 4 7 8 9 11 15 +0 1 4 7 8 9 12 13 +0 1 4 7 8 9 12 14 +0 1 4 7 8 9 12 15 +0 1 4 7 8 9 13 14 +0 1 4 7 8 9 13 15 +0 1 4 7 8 9 14 15 +0 1 4 7 8 10 11 12 +0 1 4 7 8 10 11 13 +0 1 4 7 8 10 11 14 +0 1 4 7 8 10 11 15 +0 1 4 7 8 10 12 13 +0 1 4 7 8 10 12 14 +0 1 4 7 8 10 12 15 +0 1 4 7 8 10 13 14 +0 1 4 7 8 10 13 15 +0 1 4 7 8 10 14 15 +0 1 4 7 8 11 12 13 +0 1 4 7 8 11 12 14 +0 1 4 7 8 11 12 15 +0 1 4 7 8 11 13 14 +0 1 4 7 8 11 13 15 +0 1 4 7 8 11 14 15 +0 1 4 7 8 12 13 14 +0 1 4 7 8 12 13 15 +0 1 4 7 8 12 14 15 +0 1 4 7 8 13 14 15 +0 1 4 7 9 10 11 12 +0 1 4 7 9 10 11 13 +0 1 4 7 9 10 11 14 +0 1 4 7 9 10 11 15 +0 1 4 7 9 10 12 13 +0 1 4 7 9 10 12 14 +0 1 4 7 9 10 12 15 +0 1 4 7 9 10 13 14 +0 1 4 7 9 10 13 15 +0 1 4 7 9 10 14 15 +0 1 4 7 9 11 12 13 +0 1 4 7 9 11 12 14 +0 1 4 7 9 11 12 15 +0 1 4 7 9 11 13 14 +0 1 4 7 9 11 13 15 +0 1 4 7 9 11 14 15 +0 1 4 7 9 12 13 14 +0 1 4 7 9 12 13 15 +0 1 4 7 9 12 14 15 +0 1 4 7 9 13 14 15 +0 1 4 7 10 11 12 13 +0 1 4 7 10 11 12 14 +0 1 4 7 10 11 12 15 +0 1 4 7 10 11 13 14 +0 1 4 7 10 11 13 15 +0 1 4 7 10 11 14 15 +0 1 4 7 10 12 13 14 +0 1 4 7 10 12 13 15 +0 1 4 7 10 12 14 15 +0 1 4 7 10 13 14 15 +0 1 4 7 11 12 13 14 +0 1 4 7 11 12 13 15 +0 1 4 7 11 12 14 15 +0 1 4 7 11 13 14 15 +0 1 4 7 12 13 14 15 +0 1 4 8 9 10 11 12 +0 1 4 8 9 10 11 13 +0 1 4 8 9 10 11 14 +0 1 4 8 9 10 11 15 +0 1 4 8 9 10 12 13 +0 1 4 8 9 10 12 14 +0 1 4 8 9 10 12 15 +0 1 4 8 9 10 13 14 +0 1 4 8 9 10 13 15 +0 1 4 8 9 10 14 15 +0 1 4 8 9 11 12 13 +0 1 4 8 9 11 12 14 +0 1 4 8 9 11 12 15 +0 1 4 8 9 11 13 14 +0 1 4 8 9 11 13 15 +0 1 4 8 9 11 14 15 +0 1 4 8 9 12 13 14 +0 1 4 8 9 12 13 15 +0 1 4 8 9 12 14 15 +0 1 4 8 9 13 14 15 +0 1 4 8 10 11 12 13 +0 1 4 8 10 11 12 14 +0 1 4 8 10 11 12 15 +0 1 4 8 10 11 13 14 +0 1 4 8 10 11 13 15 +0 1 4 8 10 11 14 15 +0 1 4 8 10 12 13 14 +0 1 4 8 10 12 13 15 +0 1 4 8 10 12 14 15 +0 1 4 8 10 13 14 15 +0 1 4 8 11 12 13 14 +0 1 4 8 11 12 13 15 +0 1 4 8 11 12 14 15 +0 1 4 8 11 13 14 15 +0 1 4 8 12 13 14 15 +0 1 4 9 10 11 12 13 +0 1 4 9 10 11 12 14 +0 1 4 9 10 11 12 15 +0 1 4 9 10 11 13 14 +0 1 4 9 10 11 13 15 +0 1 4 9 10 11 14 15 +0 1 4 9 10 12 13 14 +0 1 4 9 10 12 13 15 +0 1 4 9 10 12 14 15 +0 1 4 9 10 13 14 15 +0 1 4 9 11 12 13 14 +0 1 4 9 11 12 13 15 +0 1 4 9 11 12 14 15 +0 1 4 9 11 13 14 15 +0 1 4 9 12 13 14 15 +0 1 4 10 11 12 13 14 +0 1 4 10 11 12 13 15 +0 1 4 10 11 12 14 15 +0 1 4 10 11 13 14 15 +0 1 4 10 12 13 14 15 +0 1 4 11 12 13 14 15 +0 1 5 6 7 8 9 10 +0 1 5 6 7 8 9 11 +0 1 5 6 7 8 9 12 +0 1 5 6 7 8 9 13 +0 1 5 6 7 8 9 14 +0 1 5 6 7 8 9 15 +0 1 5 6 7 8 10 11 +0 1 5 6 7 8 10 12 +0 1 5 6 7 8 10 13 +0 1 5 6 7 8 10 14 +0 1 5 6 7 8 10 15 +0 1 5 6 7 8 11 12 +0 1 5 6 7 8 11 13 +0 1 5 6 7 8 11 14 +0 1 5 6 7 8 11 15 +0 1 5 6 7 8 12 13 +0 1 5 6 7 8 12 14 +0 1 5 6 7 8 12 15 +0 1 5 6 7 8 13 14 +0 1 5 6 7 8 13 15 +0 1 5 6 7 8 14 15 +0 1 5 6 7 9 10 11 +0 1 5 6 7 9 10 12 +0 1 5 6 7 9 10 13 +0 1 5 6 7 9 10 14 +0 1 5 6 7 9 10 15 +0 1 5 6 7 9 11 12 +0 1 5 6 7 9 11 13 +0 1 5 6 7 9 11 14 +0 1 5 6 7 9 11 15 +0 1 5 6 7 9 12 13 +0 1 5 6 7 9 12 14 +0 1 5 6 7 9 12 15 +0 1 5 6 7 9 13 14 +0 1 5 6 7 9 13 15 +0 1 5 6 7 9 14 15 +0 1 5 6 7 10 11 12 +0 1 5 6 7 10 11 13 +0 1 5 6 7 10 11 14 +0 1 5 6 7 10 11 15 +0 1 5 6 7 10 12 13 +0 1 5 6 7 10 12 14 +0 1 5 6 7 10 12 15 +0 1 5 6 7 10 13 14 +0 1 5 6 7 10 13 15 +0 1 5 6 7 10 14 15 +0 1 5 6 7 11 12 13 +0 1 5 6 7 11 12 14 +0 1 5 6 7 11 12 15 +0 1 5 6 7 11 13 14 +0 1 5 6 7 11 13 15 +0 1 5 6 7 11 14 15 +0 1 5 6 7 12 13 14 +0 1 5 6 7 12 13 15 +0 1 5 6 7 12 14 15 +0 1 5 6 7 13 14 15 +0 1 5 6 8 9 10 11 +0 1 5 6 8 9 10 12 +0 1 5 6 8 9 10 13 +0 1 5 6 8 9 10 14 +0 1 5 6 8 9 10 15 +0 1 5 6 8 9 11 12 +0 1 5 6 8 9 11 13 +0 1 5 6 8 9 11 14 +0 1 5 6 8 9 11 15 +0 1 5 6 8 9 12 13 +0 1 5 6 8 9 12 14 +0 1 5 6 8 9 12 15 +0 1 5 6 8 9 13 14 +0 1 5 6 8 9 13 15 +0 1 5 6 8 9 14 15 +0 1 5 6 8 10 11 12 +0 1 5 6 8 10 11 13 +0 1 5 6 8 10 11 14 +0 1 5 6 8 10 11 15 +0 1 5 6 8 10 12 13 +0 1 5 6 8 10 12 14 +0 1 5 6 8 10 12 15 +0 1 5 6 8 10 13 14 +0 1 5 6 8 10 13 15 +0 1 5 6 8 10 14 15 +0 1 5 6 8 11 12 13 +0 1 5 6 8 11 12 14 +0 1 5 6 8 11 12 15 +0 1 5 6 8 11 13 14 +0 1 5 6 8 11 13 15 +0 1 5 6 8 11 14 15 +0 1 5 6 8 12 13 14 +0 1 5 6 8 12 13 15 +0 1 5 6 8 12 14 15 +0 1 5 6 8 13 14 15 +0 1 5 6 9 10 11 12 +0 1 5 6 9 10 11 13 +0 1 5 6 9 10 11 14 +0 1 5 6 9 10 11 15 +0 1 5 6 9 10 12 13 +0 1 5 6 9 10 12 14 +0 1 5 6 9 10 12 15 +0 1 5 6 9 10 13 14 +0 1 5 6 9 10 13 15 +0 1 5 6 9 10 14 15 +0 1 5 6 9 11 12 13 +0 1 5 6 9 11 12 14 +0 1 5 6 9 11 12 15 +0 1 5 6 9 11 13 14 +0 1 5 6 9 11 13 15 +0 1 5 6 9 11 14 15 +0 1 5 6 9 12 13 14 +0 1 5 6 9 12 13 15 +0 1 5 6 9 12 14 15 +0 1 5 6 9 13 14 15 +0 1 5 6 10 11 12 13 +0 1 5 6 10 11 12 14 +0 1 5 6 10 11 12 15 +0 1 5 6 10 11 13 14 +0 1 5 6 10 11 13 15 +0 1 5 6 10 11 14 15 +0 1 5 6 10 12 13 14 +0 1 5 6 10 12 13 15 +0 1 5 6 10 12 14 15 +0 1 5 6 10 13 14 15 +0 1 5 6 11 12 13 14 +0 1 5 6 11 12 13 15 +0 1 5 6 11 12 14 15 +0 1 5 6 11 13 14 15 +0 1 5 6 12 13 14 15 +0 1 5 7 8 9 10 11 +0 1 5 7 8 9 10 12 +0 1 5 7 8 9 10 13 +0 1 5 7 8 9 10 14 +0 1 5 7 8 9 10 15 +0 1 5 7 8 9 11 12 +0 1 5 7 8 9 11 13 +0 1 5 7 8 9 11 14 +0 1 5 7 8 9 11 15 +0 1 5 7 8 9 12 13 +0 1 5 7 8 9 12 14 +0 1 5 7 8 9 12 15 +0 1 5 7 8 9 13 14 +0 1 5 7 8 9 13 15 +0 1 5 7 8 9 14 15 +0 1 5 7 8 10 11 12 +0 1 5 7 8 10 11 13 +0 1 5 7 8 10 11 14 +0 1 5 7 8 10 11 15 +0 1 5 7 8 10 12 13 +0 1 5 7 8 10 12 14 +0 1 5 7 8 10 12 15 +0 1 5 7 8 10 13 14 +0 1 5 7 8 10 13 15 +0 1 5 7 8 10 14 15 +0 1 5 7 8 11 12 13 +0 1 5 7 8 11 12 14 +0 1 5 7 8 11 12 15 +0 1 5 7 8 11 13 14 +0 1 5 7 8 11 13 15 +0 1 5 7 8 11 14 15 +0 1 5 7 8 12 13 14 +0 1 5 7 8 12 13 15 +0 1 5 7 8 12 14 15 +0 1 5 7 8 13 14 15 +0 1 5 7 9 10 11 12 +0 1 5 7 9 10 11 13 +0 1 5 7 9 10 11 14 +0 1 5 7 9 10 11 15 +0 1 5 7 9 10 12 13 +0 1 5 7 9 10 12 14 +0 1 5 7 9 10 12 15 +0 1 5 7 9 10 13 14 +0 1 5 7 9 10 13 15 +0 1 5 7 9 10 14 15 +0 1 5 7 9 11 12 13 +0 1 5 7 9 11 12 14 +0 1 5 7 9 11 12 15 +0 1 5 7 9 11 13 14 +0 1 5 7 9 11 13 15 +0 1 5 7 9 11 14 15 +0 1 5 7 9 12 13 14 +0 1 5 7 9 12 13 15 +0 1 5 7 9 12 14 15 +0 1 5 7 9 13 14 15 +0 1 5 7 10 11 12 13 +0 1 5 7 10 11 12 14 +0 1 5 7 10 11 12 15 +0 1 5 7 10 11 13 14 +0 1 5 7 10 11 13 15 +0 1 5 7 10 11 14 15 +0 1 5 7 10 12 13 14 +0 1 5 7 10 12 13 15 +0 1 5 7 10 12 14 15 +0 1 5 7 10 13 14 15 +0 1 5 7 11 12 13 14 +0 1 5 7 11 12 13 15 +0 1 5 7 11 12 14 15 +0 1 5 7 11 13 14 15 +0 1 5 7 12 13 14 15 +0 1 5 8 9 10 11 12 +0 1 5 8 9 10 11 13 +0 1 5 8 9 10 11 14 +0 1 5 8 9 10 11 15 +0 1 5 8 9 10 12 13 +0 1 5 8 9 10 12 14 +0 1 5 8 9 10 12 15 +0 1 5 8 9 10 13 14 +0 1 5 8 9 10 13 15 +0 1 5 8 9 10 14 15 +0 1 5 8 9 11 12 13 +0 1 5 8 9 11 12 14 +0 1 5 8 9 11 12 15 +0 1 5 8 9 11 13 14 +0 1 5 8 9 11 13 15 +0 1 5 8 9 11 14 15 +0 1 5 8 9 12 13 14 +0 1 5 8 9 12 13 15 +0 1 5 8 9 12 14 15 +0 1 5 8 9 13 14 15 +0 1 5 8 10 11 12 13 +0 1 5 8 10 11 12 14 +0 1 5 8 10 11 12 15 +0 1 5 8 10 11 13 14 +0 1 5 8 10 11 13 15 +0 1 5 8 10 11 14 15 +0 1 5 8 10 12 13 14 +0 1 5 8 10 12 13 15 +0 1 5 8 10 12 14 15 +0 1 5 8 10 13 14 15 +0 1 5 8 11 12 13 14 +0 1 5 8 11 12 13 15 +0 1 5 8 11 12 14 15 +0 1 5 8 11 13 14 15 +0 1 5 8 12 13 14 15 +0 1 5 9 10 11 12 13 +0 1 5 9 10 11 12 14 +0 1 5 9 10 11 12 15 +0 1 5 9 10 11 13 14 +0 1 5 9 10 11 13 15 +0 1 5 9 10 11 14 15 +0 1 5 9 10 12 13 14 +0 1 5 9 10 12 13 15 +0 1 5 9 10 12 14 15 +0 1 5 9 10 13 14 15 +0 1 5 9 11 12 13 14 +0 1 5 9 11 12 13 15 +0 1 5 9 11 12 14 15 +0 1 5 9 11 13 14 15 +0 1 5 9 12 13 14 15 +0 1 5 10 11 12 13 14 +0 1 5 10 11 12 13 15 +0 1 5 10 11 12 14 15 +0 1 5 10 11 13 14 15 +0 1 5 10 12 13 14 15 +0 1 5 11 12 13 14 15 +0 1 6 7 8 9 10 11 +0 1 6 7 8 9 10 12 +0 1 6 7 8 9 10 13 +0 1 6 7 8 9 10 14 +0 1 6 7 8 9 10 15 +0 1 6 7 8 9 11 12 +0 1 6 7 8 9 11 13 +0 1 6 7 8 9 11 14 +0 1 6 7 8 9 11 15 +0 1 6 7 8 9 12 13 +0 1 6 7 8 9 12 14 +0 1 6 7 8 9 12 15 +0 1 6 7 8 9 13 14 +0 1 6 7 8 9 13 15 +0 1 6 7 8 9 14 15 +0 1 6 7 8 10 11 12 +0 1 6 7 8 10 11 13 +0 1 6 7 8 10 11 14 +0 1 6 7 8 10 11 15 +0 1 6 7 8 10 12 13 +0 1 6 7 8 10 12 14 +0 1 6 7 8 10 12 15 +0 1 6 7 8 10 13 14 +0 1 6 7 8 10 13 15 +0 1 6 7 8 10 14 15 +0 1 6 7 8 11 12 13 +0 1 6 7 8 11 12 14 +0 1 6 7 8 11 12 15 +0 1 6 7 8 11 13 14 +0 1 6 7 8 11 13 15 +0 1 6 7 8 11 14 15 +0 1 6 7 8 12 13 14 +0 1 6 7 8 12 13 15 +0 1 6 7 8 12 14 15 +0 1 6 7 8 13 14 15 +0 1 6 7 9 10 11 12 +0 1 6 7 9 10 11 13 +0 1 6 7 9 10 11 14 +0 1 6 7 9 10 11 15 +0 1 6 7 9 10 12 13 +0 1 6 7 9 10 12 14 +0 1 6 7 9 10 12 15 +0 1 6 7 9 10 13 14 +0 1 6 7 9 10 13 15 +0 1 6 7 9 10 14 15 +0 1 6 7 9 11 12 13 +0 1 6 7 9 11 12 14 +0 1 6 7 9 11 12 15 +0 1 6 7 9 11 13 14 +0 1 6 7 9 11 13 15 +0 1 6 7 9 11 14 15 +0 1 6 7 9 12 13 14 +0 1 6 7 9 12 13 15 +0 1 6 7 9 12 14 15 +0 1 6 7 9 13 14 15 +0 1 6 7 10 11 12 13 +0 1 6 7 10 11 12 14 +0 1 6 7 10 11 12 15 +0 1 6 7 10 11 13 14 +0 1 6 7 10 11 13 15 +0 1 6 7 10 11 14 15 +0 1 6 7 10 12 13 14 +0 1 6 7 10 12 13 15 +0 1 6 7 10 12 14 15 +0 1 6 7 10 13 14 15 +0 1 6 7 11 12 13 14 +0 1 6 7 11 12 13 15 +0 1 6 7 11 12 14 15 +0 1 6 7 11 13 14 15 +0 1 6 7 12 13 14 15 +0 1 6 8 9 10 11 12 +0 1 6 8 9 10 11 13 +0 1 6 8 9 10 11 14 +0 1 6 8 9 10 11 15 +0 1 6 8 9 10 12 13 +0 1 6 8 9 10 12 14 +0 1 6 8 9 10 12 15 +0 1 6 8 9 10 13 14 +0 1 6 8 9 10 13 15 +0 1 6 8 9 10 14 15 +0 1 6 8 9 11 12 13 +0 1 6 8 9 11 12 14 +0 1 6 8 9 11 12 15 +0 1 6 8 9 11 13 14 +0 1 6 8 9 11 13 15 +0 1 6 8 9 11 14 15 +0 1 6 8 9 12 13 14 +0 1 6 8 9 12 13 15 +0 1 6 8 9 12 14 15 +0 1 6 8 9 13 14 15 +0 1 6 8 10 11 12 13 +0 1 6 8 10 11 12 14 +0 1 6 8 10 11 12 15 +0 1 6 8 10 11 13 14 +0 1 6 8 10 11 13 15 +0 1 6 8 10 11 14 15 +0 1 6 8 10 12 13 14 +0 1 6 8 10 12 13 15 +0 1 6 8 10 12 14 15 +0 1 6 8 10 13 14 15 +0 1 6 8 11 12 13 14 +0 1 6 8 11 12 13 15 +0 1 6 8 11 12 14 15 +0 1 6 8 11 13 14 15 +0 1 6 8 12 13 14 15 +0 1 6 9 10 11 12 13 +0 1 6 9 10 11 12 14 +0 1 6 9 10 11 12 15 +0 1 6 9 10 11 13 14 +0 1 6 9 10 11 13 15 +0 1 6 9 10 11 14 15 +0 1 6 9 10 12 13 14 +0 1 6 9 10 12 13 15 +0 1 6 9 10 12 14 15 +0 1 6 9 10 13 14 15 +0 1 6 9 11 12 13 14 +0 1 6 9 11 12 13 15 +0 1 6 9 11 12 14 15 +0 1 6 9 11 13 14 15 +0 1 6 9 12 13 14 15 +0 1 6 10 11 12 13 14 +0 1 6 10 11 12 13 15 +0 1 6 10 11 12 14 15 +0 1 6 10 11 13 14 15 +0 1 6 10 12 13 14 15 +0 1 6 11 12 13 14 15 +0 1 7 8 9 10 11 12 +0 1 7 8 9 10 11 13 +0 1 7 8 9 10 11 14 +0 1 7 8 9 10 11 15 +0 1 7 8 9 10 12 13 +0 1 7 8 9 10 12 14 +0 1 7 8 9 10 12 15 +0 1 7 8 9 10 13 14 +0 1 7 8 9 10 13 15 +0 1 7 8 9 10 14 15 +0 1 7 8 9 11 12 13 +0 1 7 8 9 11 12 14 +0 1 7 8 9 11 12 15 +0 1 7 8 9 11 13 14 +0 1 7 8 9 11 13 15 +0 1 7 8 9 11 14 15 +0 1 7 8 9 12 13 14 +0 1 7 8 9 12 13 15 +0 1 7 8 9 12 14 15 +0 1 7 8 9 13 14 15 +0 1 7 8 10 11 12 13 +0 1 7 8 10 11 12 14 +0 1 7 8 10 11 12 15 +0 1 7 8 10 11 13 14 +0 1 7 8 10 11 13 15 +0 1 7 8 10 11 14 15 +0 1 7 8 10 12 13 14 +0 1 7 8 10 12 13 15 +0 1 7 8 10 12 14 15 +0 1 7 8 10 13 14 15 +0 1 7 8 11 12 13 14 +0 1 7 8 11 12 13 15 +0 1 7 8 11 12 14 15 +0 1 7 8 11 13 14 15 +0 1 7 8 12 13 14 15 +0 1 7 9 10 11 12 13 +0 1 7 9 10 11 12 14 +0 1 7 9 10 11 12 15 +0 1 7 9 10 11 13 14 +0 1 7 9 10 11 13 15 +0 1 7 9 10 11 14 15 +0 1 7 9 10 12 13 14 +0 1 7 9 10 12 13 15 +0 1 7 9 10 12 14 15 +0 1 7 9 10 13 14 15 +0 1 7 9 11 12 13 14 +0 1 7 9 11 12 13 15 +0 1 7 9 11 12 14 15 +0 1 7 9 11 13 14 15 +0 1 7 9 12 13 14 15 +0 1 7 10 11 12 13 14 +0 1 7 10 11 12 13 15 +0 1 7 10 11 12 14 15 +0 1 7 10 11 13 14 15 +0 1 7 10 12 13 14 15 +0 1 7 11 12 13 14 15 +0 1 8 9 10 11 12 13 +0 1 8 9 10 11 12 14 +0 1 8 9 10 11 12 15 +0 1 8 9 10 11 13 14 +0 1 8 9 10 11 13 15 +0 1 8 9 10 11 14 15 +0 1 8 9 10 12 13 14 +0 1 8 9 10 12 13 15 +0 1 8 9 10 12 14 15 +0 1 8 9 10 13 14 15 +0 1 8 9 11 12 13 14 +0 1 8 9 11 12 13 15 +0 1 8 9 11 12 14 15 +0 1 8 9 11 13 14 15 +0 1 8 9 12 13 14 15 +0 1 8 10 11 12 13 14 +0 1 8 10 11 12 13 15 +0 1 8 10 11 12 14 15 +0 1 8 10 11 13 14 15 +0 1 8 10 12 13 14 15 +0 1 8 11 12 13 14 15 +0 1 9 10 11 12 13 14 +0 1 9 10 11 12 13 15 +0 1 9 10 11 12 14 15 +0 1 9 10 11 13 14 15 +0 1 9 10 12 13 14 15 +0 1 9 11 12 13 14 15 +0 1 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 +0 2 3 4 5 6 7 9 +0 2 3 4 5 6 7 10 +0 2 3 4 5 6 7 11 +0 2 3 4 5 6 7 12 +0 2 3 4 5 6 7 13 +0 2 3 4 5 6 7 14 +0 2 3 4 5 6 7 15 +0 2 3 4 5 6 8 9 +0 2 3 4 5 6 8 10 +0 2 3 4 5 6 8 11 +0 2 3 4 5 6 8 12 +0 2 3 4 5 6 8 13 +0 2 3 4 5 6 8 14 +0 2 3 4 5 6 8 15 +0 2 3 4 5 6 9 10 +0 2 3 4 5 6 9 11 +0 2 3 4 5 6 9 12 +0 2 3 4 5 6 9 13 +0 2 3 4 5 6 9 14 +0 2 3 4 5 6 9 15 +0 2 3 4 5 6 10 11 +0 2 3 4 5 6 10 12 +0 2 3 4 5 6 10 13 +0 2 3 4 5 6 10 14 +0 2 3 4 5 6 10 15 +0 2 3 4 5 6 11 12 +0 2 3 4 5 6 11 13 +0 2 3 4 5 6 11 14 +0 2 3 4 5 6 11 15 +0 2 3 4 5 6 12 13 +0 2 3 4 5 6 12 14 +0 2 3 4 5 6 12 15 +0 2 3 4 5 6 13 14 +0 2 3 4 5 6 13 15 +0 2 3 4 5 6 14 15 +0 2 3 4 5 7 8 9 +0 2 3 4 5 7 8 10 +0 2 3 4 5 7 8 11 +0 2 3 4 5 7 8 12 +0 2 3 4 5 7 8 13 +0 2 3 4 5 7 8 14 +0 2 3 4 5 7 8 15 +0 2 3 4 5 7 9 10 +0 2 3 4 5 7 9 11 +0 2 3 4 5 7 9 12 +0 2 3 4 5 7 9 13 +0 2 3 4 5 7 9 14 +0 2 3 4 5 7 9 15 +0 2 3 4 5 7 10 11 +0 2 3 4 5 7 10 12 +0 2 3 4 5 7 10 13 +0 2 3 4 5 7 10 14 +0 2 3 4 5 7 10 15 +0 2 3 4 5 7 11 12 +0 2 3 4 5 7 11 13 +0 2 3 4 5 7 11 14 +0 2 3 4 5 7 11 15 +0 2 3 4 5 7 12 13 +0 2 3 4 5 7 12 14 +0 2 3 4 5 7 12 15 +0 2 3 4 5 7 13 14 +0 2 3 4 5 7 13 15 +0 2 3 4 5 7 14 15 +0 2 3 4 5 8 9 10 +0 2 3 4 5 8 9 11 +0 2 3 4 5 8 9 12 +0 2 3 4 5 8 9 13 +0 2 3 4 5 8 9 14 +0 2 3 4 5 8 9 15 +0 2 3 4 5 8 10 11 +0 2 3 4 5 8 10 12 +0 2 3 4 5 8 10 13 +0 2 3 4 5 8 10 14 +0 2 3 4 5 8 10 15 +0 2 3 4 5 8 11 12 +0 2 3 4 5 8 11 13 +0 2 3 4 5 8 11 14 +0 2 3 4 5 8 11 15 +0 2 3 4 5 8 12 13 +0 2 3 4 5 8 12 14 +0 2 3 4 5 8 12 15 +0 2 3 4 5 8 13 14 +0 2 3 4 5 8 13 15 +0 2 3 4 5 8 14 15 +0 2 3 4 5 9 10 11 +0 2 3 4 5 9 10 12 +0 2 3 4 5 9 10 13 +0 2 3 4 5 9 10 14 +0 2 3 4 5 9 10 15 +0 2 3 4 5 9 11 12 +0 2 3 4 5 9 11 13 +0 2 3 4 5 9 11 14 +0 2 3 4 5 9 11 15 +0 2 3 4 5 9 12 13 +0 2 3 4 5 9 12 14 +0 2 3 4 5 9 12 15 +0 2 3 4 5 9 13 14 +0 2 3 4 5 9 13 15 +0 2 3 4 5 9 14 15 +0 2 3 4 5 10 11 12 +0 2 3 4 5 10 11 13 +0 2 3 4 5 10 11 14 +0 2 3 4 5 10 11 15 +0 2 3 4 5 10 12 13 +0 2 3 4 5 10 12 14 +0 2 3 4 5 10 12 15 +0 2 3 4 5 10 13 14 +0 2 3 4 5 10 13 15 +0 2 3 4 5 10 14 15 +0 2 3 4 5 11 12 13 +0 2 3 4 5 11 12 14 +0 2 3 4 5 11 12 15 +0 2 3 4 5 11 13 14 +0 2 3 4 5 11 13 15 +0 2 3 4 5 11 14 15 +0 2 3 4 5 12 13 14 +0 2 3 4 5 12 13 15 +0 2 3 4 5 12 14 15 +0 2 3 4 5 13 14 15 +0 2 3 4 6 7 8 9 +0 2 3 4 6 7 8 10 +0 2 3 4 6 7 8 11 +0 2 3 4 6 7 8 12 +0 2 3 4 6 7 8 13 +0 2 3 4 6 7 8 14 +0 2 3 4 6 7 8 15 +0 2 3 4 6 7 9 10 +0 2 3 4 6 7 9 11 +0 2 3 4 6 7 9 12 +0 2 3 4 6 7 9 13 +0 2 3 4 6 7 9 14 +0 2 3 4 6 7 9 15 +0 2 3 4 6 7 10 11 +0 2 3 4 6 7 10 12 +0 2 3 4 6 7 10 13 +0 2 3 4 6 7 10 14 +0 2 3 4 6 7 10 15 +0 2 3 4 6 7 11 12 +0 2 3 4 6 7 11 13 +0 2 3 4 6 7 11 14 +0 2 3 4 6 7 11 15 +0 2 3 4 6 7 12 13 +0 2 3 4 6 7 12 14 +0 2 3 4 6 7 12 15 +0 2 3 4 6 7 13 14 +0 2 3 4 6 7 13 15 +0 2 3 4 6 7 14 15 +0 2 3 4 6 8 9 10 +0 2 3 4 6 8 9 11 +0 2 3 4 6 8 9 12 +0 2 3 4 6 8 9 13 +0 2 3 4 6 8 9 14 +0 2 3 4 6 8 9 15 +0 2 3 4 6 8 10 11 +0 2 3 4 6 8 10 12 +0 2 3 4 6 8 10 13 +0 2 3 4 6 8 10 14 +0 2 3 4 6 8 10 15 +0 2 3 4 6 8 11 12 +0 2 3 4 6 8 11 13 +0 2 3 4 6 8 11 14 +0 2 3 4 6 8 11 15 +0 2 3 4 6 8 12 13 +0 2 3 4 6 8 12 14 +0 2 3 4 6 8 12 15 +0 2 3 4 6 8 13 14 +0 2 3 4 6 8 13 15 +0 2 3 4 6 8 14 15 +0 2 3 4 6 9 10 11 +0 2 3 4 6 9 10 12 +0 2 3 4 6 9 10 13 +0 2 3 4 6 9 10 14 +0 2 3 4 6 9 10 15 +0 2 3 4 6 9 11 12 +0 2 3 4 6 9 11 13 +0 2 3 4 6 9 11 14 +0 2 3 4 6 9 11 15 +0 2 3 4 6 9 12 13 +0 2 3 4 6 9 12 14 +0 2 3 4 6 9 12 15 +0 2 3 4 6 9 13 14 +0 2 3 4 6 9 13 15 +0 2 3 4 6 9 14 15 +0 2 3 4 6 10 11 12 +0 2 3 4 6 10 11 13 +0 2 3 4 6 10 11 14 +0 2 3 4 6 10 11 15 +0 2 3 4 6 10 12 13 +0 2 3 4 6 10 12 14 +0 2 3 4 6 10 12 15 +0 2 3 4 6 10 13 14 +0 2 3 4 6 10 13 15 +0 2 3 4 6 10 14 15 +0 2 3 4 6 11 12 13 +0 2 3 4 6 11 12 14 +0 2 3 4 6 11 12 15 +0 2 3 4 6 11 13 14 +0 2 3 4 6 11 13 15 +0 2 3 4 6 11 14 15 +0 2 3 4 6 12 13 14 +0 2 3 4 6 12 13 15 +0 2 3 4 6 12 14 15 +0 2 3 4 6 13 14 15 +0 2 3 4 7 8 9 10 +0 2 3 4 7 8 9 11 +0 2 3 4 7 8 9 12 +0 2 3 4 7 8 9 13 +0 2 3 4 7 8 9 14 +0 2 3 4 7 8 9 15 +0 2 3 4 7 8 10 11 +0 2 3 4 7 8 10 12 +0 2 3 4 7 8 10 13 +0 2 3 4 7 8 10 14 +0 2 3 4 7 8 10 15 +0 2 3 4 7 8 11 12 +0 2 3 4 7 8 11 13 +0 2 3 4 7 8 11 14 +0 2 3 4 7 8 11 15 +0 2 3 4 7 8 12 13 +0 2 3 4 7 8 12 14 +0 2 3 4 7 8 12 15 +0 2 3 4 7 8 13 14 +0 2 3 4 7 8 13 15 +0 2 3 4 7 8 14 15 +0 2 3 4 7 9 10 11 +0 2 3 4 7 9 10 12 +0 2 3 4 7 9 10 13 +0 2 3 4 7 9 10 14 +0 2 3 4 7 9 10 15 +0 2 3 4 7 9 11 12 +0 2 3 4 7 9 11 13 +0 2 3 4 7 9 11 14 +0 2 3 4 7 9 11 15 +0 2 3 4 7 9 12 13 +0 2 3 4 7 9 12 14 +0 2 3 4 7 9 12 15 +0 2 3 4 7 9 13 14 +0 2 3 4 7 9 13 15 +0 2 3 4 7 9 14 15 +0 2 3 4 7 10 11 12 +0 2 3 4 7 10 11 13 +0 2 3 4 7 10 11 14 +0 2 3 4 7 10 11 15 +0 2 3 4 7 10 12 13 +0 2 3 4 7 10 12 14 +0 2 3 4 7 10 12 15 +0 2 3 4 7 10 13 14 +0 2 3 4 7 10 13 15 +0 2 3 4 7 10 14 15 +0 2 3 4 7 11 12 13 +0 2 3 4 7 11 12 14 +0 2 3 4 7 11 12 15 +0 2 3 4 7 11 13 14 +0 2 3 4 7 11 13 15 +0 2 3 4 7 11 14 15 +0 2 3 4 7 12 13 14 +0 2 3 4 7 12 13 15 +0 2 3 4 7 12 14 15 +0 2 3 4 7 13 14 15 +0 2 3 4 8 9 10 11 +0 2 3 4 8 9 10 12 +0 2 3 4 8 9 10 13 +0 2 3 4 8 9 10 14 +0 2 3 4 8 9 10 15 +0 2 3 4 8 9 11 12 +0 2 3 4 8 9 11 13 +0 2 3 4 8 9 11 14 +0 2 3 4 8 9 11 15 +0 2 3 4 8 9 12 13 +0 2 3 4 8 9 12 14 +0 2 3 4 8 9 12 15 +0 2 3 4 8 9 13 14 +0 2 3 4 8 9 13 15 +0 2 3 4 8 9 14 15 +0 2 3 4 8 10 11 12 +0 2 3 4 8 10 11 13 +0 2 3 4 8 10 11 14 +0 2 3 4 8 10 11 15 +0 2 3 4 8 10 12 13 +0 2 3 4 8 10 12 14 +0 2 3 4 8 10 12 15 +0 2 3 4 8 10 13 14 +0 2 3 4 8 10 13 15 +0 2 3 4 8 10 14 15 +0 2 3 4 8 11 12 13 +0 2 3 4 8 11 12 14 +0 2 3 4 8 11 12 15 +0 2 3 4 8 11 13 14 +0 2 3 4 8 11 13 15 +0 2 3 4 8 11 14 15 +0 2 3 4 8 12 13 14 +0 2 3 4 8 12 13 15 +0 2 3 4 8 12 14 15 +0 2 3 4 8 13 14 15 +0 2 3 4 9 10 11 12 +0 2 3 4 9 10 11 13 +0 2 3 4 9 10 11 14 +0 2 3 4 9 10 11 15 +0 2 3 4 9 10 12 13 +0 2 3 4 9 10 12 14 +0 2 3 4 9 10 12 15 +0 2 3 4 9 10 13 14 +0 2 3 4 9 10 13 15 +0 2 3 4 9 10 14 15 +0 2 3 4 9 11 12 13 +0 2 3 4 9 11 12 14 +0 2 3 4 9 11 12 15 +0 2 3 4 9 11 13 14 +0 2 3 4 9 11 13 15 +0 2 3 4 9 11 14 15 +0 2 3 4 9 12 13 14 +0 2 3 4 9 12 13 15 +0 2 3 4 9 12 14 15 +0 2 3 4 9 13 14 15 +0 2 3 4 10 11 12 13 +0 2 3 4 10 11 12 14 +0 2 3 4 10 11 12 15 +0 2 3 4 10 11 13 14 +0 2 3 4 10 11 13 15 +0 2 3 4 10 11 14 15 +0 2 3 4 10 12 13 14 +0 2 3 4 10 12 13 15 +0 2 3 4 10 12 14 15 +0 2 3 4 10 13 14 15 +0 2 3 4 11 12 13 14 +0 2 3 4 11 12 13 15 +0 2 3 4 11 12 14 15 +0 2 3 4 11 13 14 15 +0 2 3 4 12 13 14 15 +0 2 3 5 6 7 8 9 +0 2 3 5 6 7 8 10 +0 2 3 5 6 7 8 11 +0 2 3 5 6 7 8 12 +0 2 3 5 6 7 8 13 +0 2 3 5 6 7 8 14 +0 2 3 5 6 7 8 15 +0 2 3 5 6 7 9 10 +0 2 3 5 6 7 9 11 +0 2 3 5 6 7 9 12 +0 2 3 5 6 7 9 13 +0 2 3 5 6 7 9 14 +0 2 3 5 6 7 9 15 +0 2 3 5 6 7 10 11 +0 2 3 5 6 7 10 12 +0 2 3 5 6 7 10 13 +0 2 3 5 6 7 10 14 +0 2 3 5 6 7 10 15 +0 2 3 5 6 7 11 12 +0 2 3 5 6 7 11 13 +0 2 3 5 6 7 11 14 +0 2 3 5 6 7 11 15 +0 2 3 5 6 7 12 13 +0 2 3 5 6 7 12 14 +0 2 3 5 6 7 12 15 +0 2 3 5 6 7 13 14 +0 2 3 5 6 7 13 15 +0 2 3 5 6 7 14 15 +0 2 3 5 6 8 9 10 +0 2 3 5 6 8 9 11 +0 2 3 5 6 8 9 12 +0 2 3 5 6 8 9 13 +0 2 3 5 6 8 9 14 +0 2 3 5 6 8 9 15 +0 2 3 5 6 8 10 11 +0 2 3 5 6 8 10 12 +0 2 3 5 6 8 10 13 +0 2 3 5 6 8 10 14 +0 2 3 5 6 8 10 15 +0 2 3 5 6 8 11 12 +0 2 3 5 6 8 11 13 +0 2 3 5 6 8 11 14 +0 2 3 5 6 8 11 15 +0 2 3 5 6 8 12 13 +0 2 3 5 6 8 12 14 +0 2 3 5 6 8 12 15 +0 2 3 5 6 8 13 14 +0 2 3 5 6 8 13 15 +0 2 3 5 6 8 14 15 +0 2 3 5 6 9 10 11 +0 2 3 5 6 9 10 12 +0 2 3 5 6 9 10 13 +0 2 3 5 6 9 10 14 +0 2 3 5 6 9 10 15 +0 2 3 5 6 9 11 12 +0 2 3 5 6 9 11 13 +0 2 3 5 6 9 11 14 +0 2 3 5 6 9 11 15 +0 2 3 5 6 9 12 13 +0 2 3 5 6 9 12 14 +0 2 3 5 6 9 12 15 +0 2 3 5 6 9 13 14 +0 2 3 5 6 9 13 15 +0 2 3 5 6 9 14 15 +0 2 3 5 6 10 11 12 +0 2 3 5 6 10 11 13 +0 2 3 5 6 10 11 14 +0 2 3 5 6 10 11 15 +0 2 3 5 6 10 12 13 +0 2 3 5 6 10 12 14 +0 2 3 5 6 10 12 15 +0 2 3 5 6 10 13 14 +0 2 3 5 6 10 13 15 +0 2 3 5 6 10 14 15 +0 2 3 5 6 11 12 13 +0 2 3 5 6 11 12 14 +0 2 3 5 6 11 12 15 +0 2 3 5 6 11 13 14 +0 2 3 5 6 11 13 15 +0 2 3 5 6 11 14 15 +0 2 3 5 6 12 13 14 +0 2 3 5 6 12 13 15 +0 2 3 5 6 12 14 15 +0 2 3 5 6 13 14 15 +0 2 3 5 7 8 9 10 +0 2 3 5 7 8 9 11 +0 2 3 5 7 8 9 12 +0 2 3 5 7 8 9 13 +0 2 3 5 7 8 9 14 +0 2 3 5 7 8 9 15 +0 2 3 5 7 8 10 11 +0 2 3 5 7 8 10 12 +0 2 3 5 7 8 10 13 +0 2 3 5 7 8 10 14 +0 2 3 5 7 8 10 15 +0 2 3 5 7 8 11 12 +0 2 3 5 7 8 11 13 +0 2 3 5 7 8 11 14 +0 2 3 5 7 8 11 15 +0 2 3 5 7 8 12 13 +0 2 3 5 7 8 12 14 +0 2 3 5 7 8 12 15 +0 2 3 5 7 8 13 14 +0 2 3 5 7 8 13 15 +0 2 3 5 7 8 14 15 +0 2 3 5 7 9 10 11 +0 2 3 5 7 9 10 12 +0 2 3 5 7 9 10 13 +0 2 3 5 7 9 10 14 +0 2 3 5 7 9 10 15 +0 2 3 5 7 9 11 12 +0 2 3 5 7 9 11 13 +0 2 3 5 7 9 11 14 +0 2 3 5 7 9 11 15 +0 2 3 5 7 9 12 13 +0 2 3 5 7 9 12 14 +0 2 3 5 7 9 12 15 +0 2 3 5 7 9 13 14 +0 2 3 5 7 9 13 15 +0 2 3 5 7 9 14 15 +0 2 3 5 7 10 11 12 +0 2 3 5 7 10 11 13 +0 2 3 5 7 10 11 14 +0 2 3 5 7 10 11 15 +0 2 3 5 7 10 12 13 +0 2 3 5 7 10 12 14 +0 2 3 5 7 10 12 15 +0 2 3 5 7 10 13 14 +0 2 3 5 7 10 13 15 +0 2 3 5 7 10 14 15 +0 2 3 5 7 11 12 13 +0 2 3 5 7 11 12 14 +0 2 3 5 7 11 12 15 +0 2 3 5 7 11 13 14 +0 2 3 5 7 11 13 15 +0 2 3 5 7 11 14 15 +0 2 3 5 7 12 13 14 +0 2 3 5 7 12 13 15 +0 2 3 5 7 12 14 15 +0 2 3 5 7 13 14 15 +0 2 3 5 8 9 10 11 +0 2 3 5 8 9 10 12 +0 2 3 5 8 9 10 13 +0 2 3 5 8 9 10 14 +0 2 3 5 8 9 10 15 +0 2 3 5 8 9 11 12 +0 2 3 5 8 9 11 13 +0 2 3 5 8 9 11 14 +0 2 3 5 8 9 11 15 +0 2 3 5 8 9 12 13 +0 2 3 5 8 9 12 14 +0 2 3 5 8 9 12 15 +0 2 3 5 8 9 13 14 +0 2 3 5 8 9 13 15 +0 2 3 5 8 9 14 15 +0 2 3 5 8 10 11 12 +0 2 3 5 8 10 11 13 +0 2 3 5 8 10 11 14 +0 2 3 5 8 10 11 15 +0 2 3 5 8 10 12 13 +0 2 3 5 8 10 12 14 +0 2 3 5 8 10 12 15 +0 2 3 5 8 10 13 14 +0 2 3 5 8 10 13 15 +0 2 3 5 8 10 14 15 +0 2 3 5 8 11 12 13 +0 2 3 5 8 11 12 14 +0 2 3 5 8 11 12 15 +0 2 3 5 8 11 13 14 +0 2 3 5 8 11 13 15 +0 2 3 5 8 11 14 15 +0 2 3 5 8 12 13 14 +0 2 3 5 8 12 13 15 +0 2 3 5 8 12 14 15 +0 2 3 5 8 13 14 15 +0 2 3 5 9 10 11 12 +0 2 3 5 9 10 11 13 +0 2 3 5 9 10 11 14 +0 2 3 5 9 10 11 15 +0 2 3 5 9 10 12 13 +0 2 3 5 9 10 12 14 +0 2 3 5 9 10 12 15 +0 2 3 5 9 10 13 14 +0 2 3 5 9 10 13 15 +0 2 3 5 9 10 14 15 +0 2 3 5 9 11 12 13 +0 2 3 5 9 11 12 14 +0 2 3 5 9 11 12 15 +0 2 3 5 9 11 13 14 +0 2 3 5 9 11 13 15 +0 2 3 5 9 11 14 15 +0 2 3 5 9 12 13 14 +0 2 3 5 9 12 13 15 +0 2 3 5 9 12 14 15 +0 2 3 5 9 13 14 15 +0 2 3 5 10 11 12 13 +0 2 3 5 10 11 12 14 +0 2 3 5 10 11 12 15 +0 2 3 5 10 11 13 14 +0 2 3 5 10 11 13 15 +0 2 3 5 10 11 14 15 +0 2 3 5 10 12 13 14 +0 2 3 5 10 12 13 15 +0 2 3 5 10 12 14 15 +0 2 3 5 10 13 14 15 +0 2 3 5 11 12 13 14 +0 2 3 5 11 12 13 15 +0 2 3 5 11 12 14 15 +0 2 3 5 11 13 14 15 +0 2 3 5 12 13 14 15 +0 2 3 6 7 8 9 10 +0 2 3 6 7 8 9 11 +0 2 3 6 7 8 9 12 +0 2 3 6 7 8 9 13 +0 2 3 6 7 8 9 14 +0 2 3 6 7 8 9 15 +0 2 3 6 7 8 10 11 +0 2 3 6 7 8 10 12 +0 2 3 6 7 8 10 13 +0 2 3 6 7 8 10 14 +0 2 3 6 7 8 10 15 +0 2 3 6 7 8 11 12 +0 2 3 6 7 8 11 13 +0 2 3 6 7 8 11 14 +0 2 3 6 7 8 11 15 +0 2 3 6 7 8 12 13 +0 2 3 6 7 8 12 14 +0 2 3 6 7 8 12 15 +0 2 3 6 7 8 13 14 +0 2 3 6 7 8 13 15 +0 2 3 6 7 8 14 15 +0 2 3 6 7 9 10 11 +0 2 3 6 7 9 10 12 +0 2 3 6 7 9 10 13 +0 2 3 6 7 9 10 14 +0 2 3 6 7 9 10 15 +0 2 3 6 7 9 11 12 +0 2 3 6 7 9 11 13 +0 2 3 6 7 9 11 14 +0 2 3 6 7 9 11 15 +0 2 3 6 7 9 12 13 +0 2 3 6 7 9 12 14 +0 2 3 6 7 9 12 15 +0 2 3 6 7 9 13 14 +0 2 3 6 7 9 13 15 +0 2 3 6 7 9 14 15 +0 2 3 6 7 10 11 12 +0 2 3 6 7 10 11 13 +0 2 3 6 7 10 11 14 +0 2 3 6 7 10 11 15 +0 2 3 6 7 10 12 13 +0 2 3 6 7 10 12 14 +0 2 3 6 7 10 12 15 +0 2 3 6 7 10 13 14 +0 2 3 6 7 10 13 15 +0 2 3 6 7 10 14 15 +0 2 3 6 7 11 12 13 +0 2 3 6 7 11 12 14 +0 2 3 6 7 11 12 15 +0 2 3 6 7 11 13 14 +0 2 3 6 7 11 13 15 +0 2 3 6 7 11 14 15 +0 2 3 6 7 12 13 14 +0 2 3 6 7 12 13 15 +0 2 3 6 7 12 14 15 +0 2 3 6 7 13 14 15 +0 2 3 6 8 9 10 11 +0 2 3 6 8 9 10 12 +0 2 3 6 8 9 10 13 +0 2 3 6 8 9 10 14 +0 2 3 6 8 9 10 15 +0 2 3 6 8 9 11 12 +0 2 3 6 8 9 11 13 +0 2 3 6 8 9 11 14 +0 2 3 6 8 9 11 15 +0 2 3 6 8 9 12 13 +0 2 3 6 8 9 12 14 +0 2 3 6 8 9 12 15 +0 2 3 6 8 9 13 14 +0 2 3 6 8 9 13 15 +0 2 3 6 8 9 14 15 +0 2 3 6 8 10 11 12 +0 2 3 6 8 10 11 13 +0 2 3 6 8 10 11 14 +0 2 3 6 8 10 11 15 +0 2 3 6 8 10 12 13 +0 2 3 6 8 10 12 14 +0 2 3 6 8 10 12 15 +0 2 3 6 8 10 13 14 +0 2 3 6 8 10 13 15 +0 2 3 6 8 10 14 15 +0 2 3 6 8 11 12 13 +0 2 3 6 8 11 12 14 +0 2 3 6 8 11 12 15 +0 2 3 6 8 11 13 14 +0 2 3 6 8 11 13 15 +0 2 3 6 8 11 14 15 +0 2 3 6 8 12 13 14 +0 2 3 6 8 12 13 15 +0 2 3 6 8 12 14 15 +0 2 3 6 8 13 14 15 +0 2 3 6 9 10 11 12 +0 2 3 6 9 10 11 13 +0 2 3 6 9 10 11 14 +0 2 3 6 9 10 11 15 +0 2 3 6 9 10 12 13 +0 2 3 6 9 10 12 14 +0 2 3 6 9 10 12 15 +0 2 3 6 9 10 13 14 +0 2 3 6 9 10 13 15 +0 2 3 6 9 10 14 15 +0 2 3 6 9 11 12 13 +0 2 3 6 9 11 12 14 +0 2 3 6 9 11 12 15 +0 2 3 6 9 11 13 14 +0 2 3 6 9 11 13 15 +0 2 3 6 9 11 14 15 +0 2 3 6 9 12 13 14 +0 2 3 6 9 12 13 15 +0 2 3 6 9 12 14 15 +0 2 3 6 9 13 14 15 +0 2 3 6 10 11 12 13 +0 2 3 6 10 11 12 14 +0 2 3 6 10 11 12 15 +0 2 3 6 10 11 13 14 +0 2 3 6 10 11 13 15 +0 2 3 6 10 11 14 15 +0 2 3 6 10 12 13 14 +0 2 3 6 10 12 13 15 +0 2 3 6 10 12 14 15 +0 2 3 6 10 13 14 15 +0 2 3 6 11 12 13 14 +0 2 3 6 11 12 13 15 +0 2 3 6 11 12 14 15 +0 2 3 6 11 13 14 15 +0 2 3 6 12 13 14 15 +0 2 3 7 8 9 10 11 +0 2 3 7 8 9 10 12 +0 2 3 7 8 9 10 13 +0 2 3 7 8 9 10 14 +0 2 3 7 8 9 10 15 +0 2 3 7 8 9 11 12 +0 2 3 7 8 9 11 13 +0 2 3 7 8 9 11 14 +0 2 3 7 8 9 11 15 +0 2 3 7 8 9 12 13 +0 2 3 7 8 9 12 14 +0 2 3 7 8 9 12 15 +0 2 3 7 8 9 13 14 +0 2 3 7 8 9 13 15 +0 2 3 7 8 9 14 15 +0 2 3 7 8 10 11 12 +0 2 3 7 8 10 11 13 +0 2 3 7 8 10 11 14 +0 2 3 7 8 10 11 15 +0 2 3 7 8 10 12 13 +0 2 3 7 8 10 12 14 +0 2 3 7 8 10 12 15 +0 2 3 7 8 10 13 14 +0 2 3 7 8 10 13 15 +0 2 3 7 8 10 14 15 +0 2 3 7 8 11 12 13 +0 2 3 7 8 11 12 14 +0 2 3 7 8 11 12 15 +0 2 3 7 8 11 13 14 +0 2 3 7 8 11 13 15 +0 2 3 7 8 11 14 15 +0 2 3 7 8 12 13 14 +0 2 3 7 8 12 13 15 +0 2 3 7 8 12 14 15 +0 2 3 7 8 13 14 15 +0 2 3 7 9 10 11 12 +0 2 3 7 9 10 11 13 +0 2 3 7 9 10 11 14 +0 2 3 7 9 10 11 15 +0 2 3 7 9 10 12 13 +0 2 3 7 9 10 12 14 +0 2 3 7 9 10 12 15 +0 2 3 7 9 10 13 14 +0 2 3 7 9 10 13 15 +0 2 3 7 9 10 14 15 +0 2 3 7 9 11 12 13 +0 2 3 7 9 11 12 14 +0 2 3 7 9 11 12 15 +0 2 3 7 9 11 13 14 +0 2 3 7 9 11 13 15 +0 2 3 7 9 11 14 15 +0 2 3 7 9 12 13 14 +0 2 3 7 9 12 13 15 +0 2 3 7 9 12 14 15 +0 2 3 7 9 13 14 15 +0 2 3 7 10 11 12 13 +0 2 3 7 10 11 12 14 +0 2 3 7 10 11 12 15 +0 2 3 7 10 11 13 14 +0 2 3 7 10 11 13 15 +0 2 3 7 10 11 14 15 +0 2 3 7 10 12 13 14 +0 2 3 7 10 12 13 15 +0 2 3 7 10 12 14 15 +0 2 3 7 10 13 14 15 +0 2 3 7 11 12 13 14 +0 2 3 7 11 12 13 15 +0 2 3 7 11 12 14 15 +0 2 3 7 11 13 14 15 +0 2 3 7 12 13 14 15 +0 2 3 8 9 10 11 12 +0 2 3 8 9 10 11 13 +0 2 3 8 9 10 11 14 +0 2 3 8 9 10 11 15 +0 2 3 8 9 10 12 13 +0 2 3 8 9 10 12 14 +0 2 3 8 9 10 12 15 +0 2 3 8 9 10 13 14 +0 2 3 8 9 10 13 15 +0 2 3 8 9 10 14 15 +0 2 3 8 9 11 12 13 +0 2 3 8 9 11 12 14 +0 2 3 8 9 11 12 15 +0 2 3 8 9 11 13 14 +0 2 3 8 9 11 13 15 +0 2 3 8 9 11 14 15 +0 2 3 8 9 12 13 14 +0 2 3 8 9 12 13 15 +0 2 3 8 9 12 14 15 +0 2 3 8 9 13 14 15 +0 2 3 8 10 11 12 13 +0 2 3 8 10 11 12 14 +0 2 3 8 10 11 12 15 +0 2 3 8 10 11 13 14 +0 2 3 8 10 11 13 15 +0 2 3 8 10 11 14 15 +0 2 3 8 10 12 13 14 +0 2 3 8 10 12 13 15 +0 2 3 8 10 12 14 15 +0 2 3 8 10 13 14 15 +0 2 3 8 11 12 13 14 +0 2 3 8 11 12 13 15 +0 2 3 8 11 12 14 15 +0 2 3 8 11 13 14 15 +0 2 3 8 12 13 14 15 +0 2 3 9 10 11 12 13 +0 2 3 9 10 11 12 14 +0 2 3 9 10 11 12 15 +0 2 3 9 10 11 13 14 +0 2 3 9 10 11 13 15 +0 2 3 9 10 11 14 15 +0 2 3 9 10 12 13 14 +0 2 3 9 10 12 13 15 +0 2 3 9 10 12 14 15 +0 2 3 9 10 13 14 15 +0 2 3 9 11 12 13 14 +0 2 3 9 11 12 13 15 +0 2 3 9 11 12 14 15 +0 2 3 9 11 13 14 15 +0 2 3 9 12 13 14 15 +0 2 3 10 11 12 13 14 +0 2 3 10 11 12 13 15 +0 2 3 10 11 12 14 15 +0 2 3 10 11 13 14 15 +0 2 3 10 12 13 14 15 +0 2 3 11 12 13 14 15 +0 2 4 5 6 7 8 9 +0 2 4 5 6 7 8 10 +0 2 4 5 6 7 8 11 +0 2 4 5 6 7 8 12 +0 2 4 5 6 7 8 13 +0 2 4 5 6 7 8 14 +0 2 4 5 6 7 8 15 +0 2 4 5 6 7 9 10 +0 2 4 5 6 7 9 11 +0 2 4 5 6 7 9 12 +0 2 4 5 6 7 9 13 +0 2 4 5 6 7 9 14 +0 2 4 5 6 7 9 15 +0 2 4 5 6 7 10 11 +0 2 4 5 6 7 10 12 +0 2 4 5 6 7 10 13 +0 2 4 5 6 7 10 14 +0 2 4 5 6 7 10 15 +0 2 4 5 6 7 11 12 +0 2 4 5 6 7 11 13 +0 2 4 5 6 7 11 14 +0 2 4 5 6 7 11 15 +0 2 4 5 6 7 12 13 +0 2 4 5 6 7 12 14 +0 2 4 5 6 7 12 15 +0 2 4 5 6 7 13 14 +0 2 4 5 6 7 13 15 +0 2 4 5 6 7 14 15 +0 2 4 5 6 8 9 10 +0 2 4 5 6 8 9 11 +0 2 4 5 6 8 9 12 +0 2 4 5 6 8 9 13 +0 2 4 5 6 8 9 14 +0 2 4 5 6 8 9 15 +0 2 4 5 6 8 10 11 +0 2 4 5 6 8 10 12 +0 2 4 5 6 8 10 13 +0 2 4 5 6 8 10 14 +0 2 4 5 6 8 10 15 +0 2 4 5 6 8 11 12 +0 2 4 5 6 8 11 13 +0 2 4 5 6 8 11 14 +0 2 4 5 6 8 11 15 +0 2 4 5 6 8 12 13 +0 2 4 5 6 8 12 14 +0 2 4 5 6 8 12 15 +0 2 4 5 6 8 13 14 +0 2 4 5 6 8 13 15 +0 2 4 5 6 8 14 15 +0 2 4 5 6 9 10 11 +0 2 4 5 6 9 10 12 +0 2 4 5 6 9 10 13 +0 2 4 5 6 9 10 14 +0 2 4 5 6 9 10 15 +0 2 4 5 6 9 11 12 +0 2 4 5 6 9 11 13 +0 2 4 5 6 9 11 14 +0 2 4 5 6 9 11 15 +0 2 4 5 6 9 12 13 +0 2 4 5 6 9 12 14 +0 2 4 5 6 9 12 15 +0 2 4 5 6 9 13 14 +0 2 4 5 6 9 13 15 +0 2 4 5 6 9 14 15 +0 2 4 5 6 10 11 12 +0 2 4 5 6 10 11 13 +0 2 4 5 6 10 11 14 +0 2 4 5 6 10 11 15 +0 2 4 5 6 10 12 13 +0 2 4 5 6 10 12 14 +0 2 4 5 6 10 12 15 +0 2 4 5 6 10 13 14 +0 2 4 5 6 10 13 15 +0 2 4 5 6 10 14 15 +0 2 4 5 6 11 12 13 +0 2 4 5 6 11 12 14 +0 2 4 5 6 11 12 15 +0 2 4 5 6 11 13 14 +0 2 4 5 6 11 13 15 +0 2 4 5 6 11 14 15 +0 2 4 5 6 12 13 14 +0 2 4 5 6 12 13 15 +0 2 4 5 6 12 14 15 +0 2 4 5 6 13 14 15 +0 2 4 5 7 8 9 10 +0 2 4 5 7 8 9 11 +0 2 4 5 7 8 9 12 +0 2 4 5 7 8 9 13 +0 2 4 5 7 8 9 14 +0 2 4 5 7 8 9 15 +0 2 4 5 7 8 10 11 +0 2 4 5 7 8 10 12 +0 2 4 5 7 8 10 13 +0 2 4 5 7 8 10 14 +0 2 4 5 7 8 10 15 +0 2 4 5 7 8 11 12 +0 2 4 5 7 8 11 13 +0 2 4 5 7 8 11 14 +0 2 4 5 7 8 11 15 +0 2 4 5 7 8 12 13 +0 2 4 5 7 8 12 14 +0 2 4 5 7 8 12 15 +0 2 4 5 7 8 13 14 +0 2 4 5 7 8 13 15 +0 2 4 5 7 8 14 15 +0 2 4 5 7 9 10 11 +0 2 4 5 7 9 10 12 +0 2 4 5 7 9 10 13 +0 2 4 5 7 9 10 14 +0 2 4 5 7 9 10 15 +0 2 4 5 7 9 11 12 +0 2 4 5 7 9 11 13 +0 2 4 5 7 9 11 14 +0 2 4 5 7 9 11 15 +0 2 4 5 7 9 12 13 +0 2 4 5 7 9 12 14 +0 2 4 5 7 9 12 15 +0 2 4 5 7 9 13 14 +0 2 4 5 7 9 13 15 +0 2 4 5 7 9 14 15 +0 2 4 5 7 10 11 12 +0 2 4 5 7 10 11 13 +0 2 4 5 7 10 11 14 +0 2 4 5 7 10 11 15 +0 2 4 5 7 10 12 13 +0 2 4 5 7 10 12 14 +0 2 4 5 7 10 12 15 +0 2 4 5 7 10 13 14 +0 2 4 5 7 10 13 15 +0 2 4 5 7 10 14 15 +0 2 4 5 7 11 12 13 +0 2 4 5 7 11 12 14 +0 2 4 5 7 11 12 15 +0 2 4 5 7 11 13 14 +0 2 4 5 7 11 13 15 +0 2 4 5 7 11 14 15 +0 2 4 5 7 12 13 14 +0 2 4 5 7 12 13 15 +0 2 4 5 7 12 14 15 +0 2 4 5 7 13 14 15 +0 2 4 5 8 9 10 11 +0 2 4 5 8 9 10 12 +0 2 4 5 8 9 10 13 +0 2 4 5 8 9 10 14 +0 2 4 5 8 9 10 15 +0 2 4 5 8 9 11 12 +0 2 4 5 8 9 11 13 +0 2 4 5 8 9 11 14 +0 2 4 5 8 9 11 15 +0 2 4 5 8 9 12 13 +0 2 4 5 8 9 12 14 +0 2 4 5 8 9 12 15 +0 2 4 5 8 9 13 14 +0 2 4 5 8 9 13 15 +0 2 4 5 8 9 14 15 +0 2 4 5 8 10 11 12 +0 2 4 5 8 10 11 13 +0 2 4 5 8 10 11 14 +0 2 4 5 8 10 11 15 +0 2 4 5 8 10 12 13 +0 2 4 5 8 10 12 14 +0 2 4 5 8 10 12 15 +0 2 4 5 8 10 13 14 +0 2 4 5 8 10 13 15 +0 2 4 5 8 10 14 15 +0 2 4 5 8 11 12 13 +0 2 4 5 8 11 12 14 +0 2 4 5 8 11 12 15 +0 2 4 5 8 11 13 14 +0 2 4 5 8 11 13 15 +0 2 4 5 8 11 14 15 +0 2 4 5 8 12 13 14 +0 2 4 5 8 12 13 15 +0 2 4 5 8 12 14 15 +0 2 4 5 8 13 14 15 +0 2 4 5 9 10 11 12 +0 2 4 5 9 10 11 13 +0 2 4 5 9 10 11 14 +0 2 4 5 9 10 11 15 +0 2 4 5 9 10 12 13 +0 2 4 5 9 10 12 14 +0 2 4 5 9 10 12 15 +0 2 4 5 9 10 13 14 +0 2 4 5 9 10 13 15 +0 2 4 5 9 10 14 15 +0 2 4 5 9 11 12 13 +0 2 4 5 9 11 12 14 +0 2 4 5 9 11 12 15 +0 2 4 5 9 11 13 14 +0 2 4 5 9 11 13 15 +0 2 4 5 9 11 14 15 +0 2 4 5 9 12 13 14 +0 2 4 5 9 12 13 15 +0 2 4 5 9 12 14 15 +0 2 4 5 9 13 14 15 +0 2 4 5 10 11 12 13 +0 2 4 5 10 11 12 14 +0 2 4 5 10 11 12 15 +0 2 4 5 10 11 13 14 +0 2 4 5 10 11 13 15 +0 2 4 5 10 11 14 15 +0 2 4 5 10 12 13 14 +0 2 4 5 10 12 13 15 +0 2 4 5 10 12 14 15 +0 2 4 5 10 13 14 15 +0 2 4 5 11 12 13 14 +0 2 4 5 11 12 13 15 +0 2 4 5 11 12 14 15 +0 2 4 5 11 13 14 15 +0 2 4 5 12 13 14 15 +0 2 4 6 7 8 9 10 +0 2 4 6 7 8 9 11 +0 2 4 6 7 8 9 12 +0 2 4 6 7 8 9 13 +0 2 4 6 7 8 9 14 +0 2 4 6 7 8 9 15 +0 2 4 6 7 8 10 11 +0 2 4 6 7 8 10 12 +0 2 4 6 7 8 10 13 +0 2 4 6 7 8 10 14 +0 2 4 6 7 8 10 15 +0 2 4 6 7 8 11 12 +0 2 4 6 7 8 11 13 +0 2 4 6 7 8 11 14 +0 2 4 6 7 8 11 15 +0 2 4 6 7 8 12 13 +0 2 4 6 7 8 12 14 +0 2 4 6 7 8 12 15 +0 2 4 6 7 8 13 14 +0 2 4 6 7 8 13 15 +0 2 4 6 7 8 14 15 +0 2 4 6 7 9 10 11 +0 2 4 6 7 9 10 12 +0 2 4 6 7 9 10 13 +0 2 4 6 7 9 10 14 +0 2 4 6 7 9 10 15 +0 2 4 6 7 9 11 12 +0 2 4 6 7 9 11 13 +0 2 4 6 7 9 11 14 +0 2 4 6 7 9 11 15 +0 2 4 6 7 9 12 13 +0 2 4 6 7 9 12 14 +0 2 4 6 7 9 12 15 +0 2 4 6 7 9 13 14 +0 2 4 6 7 9 13 15 +0 2 4 6 7 9 14 15 +0 2 4 6 7 10 11 12 +0 2 4 6 7 10 11 13 +0 2 4 6 7 10 11 14 +0 2 4 6 7 10 11 15 +0 2 4 6 7 10 12 13 +0 2 4 6 7 10 12 14 +0 2 4 6 7 10 12 15 +0 2 4 6 7 10 13 14 +0 2 4 6 7 10 13 15 +0 2 4 6 7 10 14 15 +0 2 4 6 7 11 12 13 +0 2 4 6 7 11 12 14 +0 2 4 6 7 11 12 15 +0 2 4 6 7 11 13 14 +0 2 4 6 7 11 13 15 +0 2 4 6 7 11 14 15 +0 2 4 6 7 12 13 14 +0 2 4 6 7 12 13 15 +0 2 4 6 7 12 14 15 +0 2 4 6 7 13 14 15 +0 2 4 6 8 9 10 11 +0 2 4 6 8 9 10 12 +0 2 4 6 8 9 10 13 +0 2 4 6 8 9 10 14 +0 2 4 6 8 9 10 15 +0 2 4 6 8 9 11 12 +0 2 4 6 8 9 11 13 +0 2 4 6 8 9 11 14 +0 2 4 6 8 9 11 15 +0 2 4 6 8 9 12 13 +0 2 4 6 8 9 12 14 +0 2 4 6 8 9 12 15 +0 2 4 6 8 9 13 14 +0 2 4 6 8 9 13 15 +0 2 4 6 8 9 14 15 +0 2 4 6 8 10 11 12 +0 2 4 6 8 10 11 13 +0 2 4 6 8 10 11 14 +0 2 4 6 8 10 11 15 +0 2 4 6 8 10 12 13 +0 2 4 6 8 10 12 14 +0 2 4 6 8 10 12 15 +0 2 4 6 8 10 13 14 +0 2 4 6 8 10 13 15 +0 2 4 6 8 10 14 15 +0 2 4 6 8 11 12 13 +0 2 4 6 8 11 12 14 +0 2 4 6 8 11 12 15 +0 2 4 6 8 11 13 14 +0 2 4 6 8 11 13 15 +0 2 4 6 8 11 14 15 +0 2 4 6 8 12 13 14 +0 2 4 6 8 12 13 15 +0 2 4 6 8 12 14 15 +0 2 4 6 8 13 14 15 +0 2 4 6 9 10 11 12 +0 2 4 6 9 10 11 13 +0 2 4 6 9 10 11 14 +0 2 4 6 9 10 11 15 +0 2 4 6 9 10 12 13 +0 2 4 6 9 10 12 14 +0 2 4 6 9 10 12 15 +0 2 4 6 9 10 13 14 +0 2 4 6 9 10 13 15 +0 2 4 6 9 10 14 15 +0 2 4 6 9 11 12 13 +0 2 4 6 9 11 12 14 +0 2 4 6 9 11 12 15 +0 2 4 6 9 11 13 14 +0 2 4 6 9 11 13 15 +0 2 4 6 9 11 14 15 +0 2 4 6 9 12 13 14 +0 2 4 6 9 12 13 15 +0 2 4 6 9 12 14 15 +0 2 4 6 9 13 14 15 +0 2 4 6 10 11 12 13 +0 2 4 6 10 11 12 14 +0 2 4 6 10 11 12 15 +0 2 4 6 10 11 13 14 +0 2 4 6 10 11 13 15 +0 2 4 6 10 11 14 15 +0 2 4 6 10 12 13 14 +0 2 4 6 10 12 13 15 +0 2 4 6 10 12 14 15 +0 2 4 6 10 13 14 15 +0 2 4 6 11 12 13 14 +0 2 4 6 11 12 13 15 +0 2 4 6 11 12 14 15 +0 2 4 6 11 13 14 15 +0 2 4 6 12 13 14 15 +0 2 4 7 8 9 10 11 +0 2 4 7 8 9 10 12 +0 2 4 7 8 9 10 13 +0 2 4 7 8 9 10 14 +0 2 4 7 8 9 10 15 +0 2 4 7 8 9 11 12 +0 2 4 7 8 9 11 13 +0 2 4 7 8 9 11 14 +0 2 4 7 8 9 11 15 +0 2 4 7 8 9 12 13 +0 2 4 7 8 9 12 14 +0 2 4 7 8 9 12 15 +0 2 4 7 8 9 13 14 +0 2 4 7 8 9 13 15 +0 2 4 7 8 9 14 15 +0 2 4 7 8 10 11 12 +0 2 4 7 8 10 11 13 +0 2 4 7 8 10 11 14 +0 2 4 7 8 10 11 15 +0 2 4 7 8 10 12 13 +0 2 4 7 8 10 12 14 +0 2 4 7 8 10 12 15 +0 2 4 7 8 10 13 14 +0 2 4 7 8 10 13 15 +0 2 4 7 8 10 14 15 +0 2 4 7 8 11 12 13 +0 2 4 7 8 11 12 14 +0 2 4 7 8 11 12 15 +0 2 4 7 8 11 13 14 +0 2 4 7 8 11 13 15 +0 2 4 7 8 11 14 15 +0 2 4 7 8 12 13 14 +0 2 4 7 8 12 13 15 +0 2 4 7 8 12 14 15 +0 2 4 7 8 13 14 15 +0 2 4 7 9 10 11 12 +0 2 4 7 9 10 11 13 +0 2 4 7 9 10 11 14 +0 2 4 7 9 10 11 15 +0 2 4 7 9 10 12 13 +0 2 4 7 9 10 12 14 +0 2 4 7 9 10 12 15 +0 2 4 7 9 10 13 14 +0 2 4 7 9 10 13 15 +0 2 4 7 9 10 14 15 +0 2 4 7 9 11 12 13 +0 2 4 7 9 11 12 14 +0 2 4 7 9 11 12 15 +0 2 4 7 9 11 13 14 +0 2 4 7 9 11 13 15 +0 2 4 7 9 11 14 15 +0 2 4 7 9 12 13 14 +0 2 4 7 9 12 13 15 +0 2 4 7 9 12 14 15 +0 2 4 7 9 13 14 15 +0 2 4 7 10 11 12 13 +0 2 4 7 10 11 12 14 +0 2 4 7 10 11 12 15 +0 2 4 7 10 11 13 14 +0 2 4 7 10 11 13 15 +0 2 4 7 10 11 14 15 +0 2 4 7 10 12 13 14 +0 2 4 7 10 12 13 15 +0 2 4 7 10 12 14 15 +0 2 4 7 10 13 14 15 +0 2 4 7 11 12 13 14 +0 2 4 7 11 12 13 15 +0 2 4 7 11 12 14 15 +0 2 4 7 11 13 14 15 +0 2 4 7 12 13 14 15 +0 2 4 8 9 10 11 12 +0 2 4 8 9 10 11 13 +0 2 4 8 9 10 11 14 +0 2 4 8 9 10 11 15 +0 2 4 8 9 10 12 13 +0 2 4 8 9 10 12 14 +0 2 4 8 9 10 12 15 +0 2 4 8 9 10 13 14 +0 2 4 8 9 10 13 15 +0 2 4 8 9 10 14 15 +0 2 4 8 9 11 12 13 +0 2 4 8 9 11 12 14 +0 2 4 8 9 11 12 15 +0 2 4 8 9 11 13 14 +0 2 4 8 9 11 13 15 +0 2 4 8 9 11 14 15 +0 2 4 8 9 12 13 14 +0 2 4 8 9 12 13 15 +0 2 4 8 9 12 14 15 +0 2 4 8 9 13 14 15 +0 2 4 8 10 11 12 13 +0 2 4 8 10 11 12 14 +0 2 4 8 10 11 12 15 +0 2 4 8 10 11 13 14 +0 2 4 8 10 11 13 15 +0 2 4 8 10 11 14 15 +0 2 4 8 10 12 13 14 +0 2 4 8 10 12 13 15 +0 2 4 8 10 12 14 15 +0 2 4 8 10 13 14 15 +0 2 4 8 11 12 13 14 +0 2 4 8 11 12 13 15 +0 2 4 8 11 12 14 15 +0 2 4 8 11 13 14 15 +0 2 4 8 12 13 14 15 +0 2 4 9 10 11 12 13 +0 2 4 9 10 11 12 14 +0 2 4 9 10 11 12 15 +0 2 4 9 10 11 13 14 +0 2 4 9 10 11 13 15 +0 2 4 9 10 11 14 15 +0 2 4 9 10 12 13 14 +0 2 4 9 10 12 13 15 +0 2 4 9 10 12 14 15 +0 2 4 9 10 13 14 15 +0 2 4 9 11 12 13 14 +0 2 4 9 11 12 13 15 +0 2 4 9 11 12 14 15 +0 2 4 9 11 13 14 15 +0 2 4 9 12 13 14 15 +0 2 4 10 11 12 13 14 +0 2 4 10 11 12 13 15 +0 2 4 10 11 12 14 15 +0 2 4 10 11 13 14 15 +0 2 4 10 12 13 14 15 +0 2 4 11 12 13 14 15 +0 2 5 6 7 8 9 10 +0 2 5 6 7 8 9 11 +0 2 5 6 7 8 9 12 +0 2 5 6 7 8 9 13 +0 2 5 6 7 8 9 14 +0 2 5 6 7 8 9 15 +0 2 5 6 7 8 10 11 +0 2 5 6 7 8 10 12 +0 2 5 6 7 8 10 13 +0 2 5 6 7 8 10 14 +0 2 5 6 7 8 10 15 +0 2 5 6 7 8 11 12 +0 2 5 6 7 8 11 13 +0 2 5 6 7 8 11 14 +0 2 5 6 7 8 11 15 +0 2 5 6 7 8 12 13 +0 2 5 6 7 8 12 14 +0 2 5 6 7 8 12 15 +0 2 5 6 7 8 13 14 +0 2 5 6 7 8 13 15 +0 2 5 6 7 8 14 15 +0 2 5 6 7 9 10 11 +0 2 5 6 7 9 10 12 +0 2 5 6 7 9 10 13 +0 2 5 6 7 9 10 14 +0 2 5 6 7 9 10 15 +0 2 5 6 7 9 11 12 +0 2 5 6 7 9 11 13 +0 2 5 6 7 9 11 14 +0 2 5 6 7 9 11 15 +0 2 5 6 7 9 12 13 +0 2 5 6 7 9 12 14 +0 2 5 6 7 9 12 15 +0 2 5 6 7 9 13 14 +0 2 5 6 7 9 13 15 +0 2 5 6 7 9 14 15 +0 2 5 6 7 10 11 12 +0 2 5 6 7 10 11 13 +0 2 5 6 7 10 11 14 +0 2 5 6 7 10 11 15 +0 2 5 6 7 10 12 13 +0 2 5 6 7 10 12 14 +0 2 5 6 7 10 12 15 +0 2 5 6 7 10 13 14 +0 2 5 6 7 10 13 15 +0 2 5 6 7 10 14 15 +0 2 5 6 7 11 12 13 +0 2 5 6 7 11 12 14 +0 2 5 6 7 11 12 15 +0 2 5 6 7 11 13 14 +0 2 5 6 7 11 13 15 +0 2 5 6 7 11 14 15 +0 2 5 6 7 12 13 14 +0 2 5 6 7 12 13 15 +0 2 5 6 7 12 14 15 +0 2 5 6 7 13 14 15 +0 2 5 6 8 9 10 11 +0 2 5 6 8 9 10 12 +0 2 5 6 8 9 10 13 +0 2 5 6 8 9 10 14 +0 2 5 6 8 9 10 15 +0 2 5 6 8 9 11 12 +0 2 5 6 8 9 11 13 +0 2 5 6 8 9 11 14 +0 2 5 6 8 9 11 15 +0 2 5 6 8 9 12 13 +0 2 5 6 8 9 12 14 +0 2 5 6 8 9 12 15 +0 2 5 6 8 9 13 14 +0 2 5 6 8 9 13 15 +0 2 5 6 8 9 14 15 +0 2 5 6 8 10 11 12 +0 2 5 6 8 10 11 13 +0 2 5 6 8 10 11 14 +0 2 5 6 8 10 11 15 +0 2 5 6 8 10 12 13 +0 2 5 6 8 10 12 14 +0 2 5 6 8 10 12 15 +0 2 5 6 8 10 13 14 +0 2 5 6 8 10 13 15 +0 2 5 6 8 10 14 15 +0 2 5 6 8 11 12 13 +0 2 5 6 8 11 12 14 +0 2 5 6 8 11 12 15 +0 2 5 6 8 11 13 14 +0 2 5 6 8 11 13 15 +0 2 5 6 8 11 14 15 +0 2 5 6 8 12 13 14 +0 2 5 6 8 12 13 15 +0 2 5 6 8 12 14 15 +0 2 5 6 8 13 14 15 +0 2 5 6 9 10 11 12 +0 2 5 6 9 10 11 13 +0 2 5 6 9 10 11 14 +0 2 5 6 9 10 11 15 +0 2 5 6 9 10 12 13 +0 2 5 6 9 10 12 14 +0 2 5 6 9 10 12 15 +0 2 5 6 9 10 13 14 +0 2 5 6 9 10 13 15 +0 2 5 6 9 10 14 15 +0 2 5 6 9 11 12 13 +0 2 5 6 9 11 12 14 +0 2 5 6 9 11 12 15 +0 2 5 6 9 11 13 14 +0 2 5 6 9 11 13 15 +0 2 5 6 9 11 14 15 +0 2 5 6 9 12 13 14 +0 2 5 6 9 12 13 15 +0 2 5 6 9 12 14 15 +0 2 5 6 9 13 14 15 +0 2 5 6 10 11 12 13 +0 2 5 6 10 11 12 14 +0 2 5 6 10 11 12 15 +0 2 5 6 10 11 13 14 +0 2 5 6 10 11 13 15 +0 2 5 6 10 11 14 15 +0 2 5 6 10 12 13 14 +0 2 5 6 10 12 13 15 +0 2 5 6 10 12 14 15 +0 2 5 6 10 13 14 15 +0 2 5 6 11 12 13 14 +0 2 5 6 11 12 13 15 +0 2 5 6 11 12 14 15 +0 2 5 6 11 13 14 15 +0 2 5 6 12 13 14 15 +0 2 5 7 8 9 10 11 +0 2 5 7 8 9 10 12 +0 2 5 7 8 9 10 13 +0 2 5 7 8 9 10 14 +0 2 5 7 8 9 10 15 +0 2 5 7 8 9 11 12 +0 2 5 7 8 9 11 13 +0 2 5 7 8 9 11 14 +0 2 5 7 8 9 11 15 +0 2 5 7 8 9 12 13 +0 2 5 7 8 9 12 14 +0 2 5 7 8 9 12 15 +0 2 5 7 8 9 13 14 +0 2 5 7 8 9 13 15 +0 2 5 7 8 9 14 15 +0 2 5 7 8 10 11 12 +0 2 5 7 8 10 11 13 +0 2 5 7 8 10 11 14 +0 2 5 7 8 10 11 15 +0 2 5 7 8 10 12 13 +0 2 5 7 8 10 12 14 +0 2 5 7 8 10 12 15 +0 2 5 7 8 10 13 14 +0 2 5 7 8 10 13 15 +0 2 5 7 8 10 14 15 +0 2 5 7 8 11 12 13 +0 2 5 7 8 11 12 14 +0 2 5 7 8 11 12 15 +0 2 5 7 8 11 13 14 +0 2 5 7 8 11 13 15 +0 2 5 7 8 11 14 15 +0 2 5 7 8 12 13 14 +0 2 5 7 8 12 13 15 +0 2 5 7 8 12 14 15 +0 2 5 7 8 13 14 15 +0 2 5 7 9 10 11 12 +0 2 5 7 9 10 11 13 +0 2 5 7 9 10 11 14 +0 2 5 7 9 10 11 15 +0 2 5 7 9 10 12 13 +0 2 5 7 9 10 12 14 +0 2 5 7 9 10 12 15 +0 2 5 7 9 10 13 14 +0 2 5 7 9 10 13 15 +0 2 5 7 9 10 14 15 +0 2 5 7 9 11 12 13 +0 2 5 7 9 11 12 14 +0 2 5 7 9 11 12 15 +0 2 5 7 9 11 13 14 +0 2 5 7 9 11 13 15 +0 2 5 7 9 11 14 15 +0 2 5 7 9 12 13 14 +0 2 5 7 9 12 13 15 +0 2 5 7 9 12 14 15 +0 2 5 7 9 13 14 15 +0 2 5 7 10 11 12 13 +0 2 5 7 10 11 12 14 +0 2 5 7 10 11 12 15 +0 2 5 7 10 11 13 14 +0 2 5 7 10 11 13 15 +0 2 5 7 10 11 14 15 +0 2 5 7 10 12 13 14 +0 2 5 7 10 12 13 15 +0 2 5 7 10 12 14 15 +0 2 5 7 10 13 14 15 +0 2 5 7 11 12 13 14 +0 2 5 7 11 12 13 15 +0 2 5 7 11 12 14 15 +0 2 5 7 11 13 14 15 +0 2 5 7 12 13 14 15 +0 2 5 8 9 10 11 12 +0 2 5 8 9 10 11 13 +0 2 5 8 9 10 11 14 +0 2 5 8 9 10 11 15 +0 2 5 8 9 10 12 13 +0 2 5 8 9 10 12 14 +0 2 5 8 9 10 12 15 +0 2 5 8 9 10 13 14 +0 2 5 8 9 10 13 15 +0 2 5 8 9 10 14 15 +0 2 5 8 9 11 12 13 +0 2 5 8 9 11 12 14 +0 2 5 8 9 11 12 15 +0 2 5 8 9 11 13 14 +0 2 5 8 9 11 13 15 +0 2 5 8 9 11 14 15 +0 2 5 8 9 12 13 14 +0 2 5 8 9 12 13 15 +0 2 5 8 9 12 14 15 +0 2 5 8 9 13 14 15 +0 2 5 8 10 11 12 13 +0 2 5 8 10 11 12 14 +0 2 5 8 10 11 12 15 +0 2 5 8 10 11 13 14 +0 2 5 8 10 11 13 15 +0 2 5 8 10 11 14 15 +0 2 5 8 10 12 13 14 +0 2 5 8 10 12 13 15 +0 2 5 8 10 12 14 15 +0 2 5 8 10 13 14 15 +0 2 5 8 11 12 13 14 +0 2 5 8 11 12 13 15 +0 2 5 8 11 12 14 15 +0 2 5 8 11 13 14 15 +0 2 5 8 12 13 14 15 +0 2 5 9 10 11 12 13 +0 2 5 9 10 11 12 14 +0 2 5 9 10 11 12 15 +0 2 5 9 10 11 13 14 +0 2 5 9 10 11 13 15 +0 2 5 9 10 11 14 15 +0 2 5 9 10 12 13 14 +0 2 5 9 10 12 13 15 +0 2 5 9 10 12 14 15 +0 2 5 9 10 13 14 15 +0 2 5 9 11 12 13 14 +0 2 5 9 11 12 13 15 +0 2 5 9 11 12 14 15 +0 2 5 9 11 13 14 15 +0 2 5 9 12 13 14 15 +0 2 5 10 11 12 13 14 +0 2 5 10 11 12 13 15 +0 2 5 10 11 12 14 15 +0 2 5 10 11 13 14 15 +0 2 5 10 12 13 14 15 +0 2 5 11 12 13 14 15 +0 2 6 7 8 9 10 11 +0 2 6 7 8 9 10 12 +0 2 6 7 8 9 10 13 +0 2 6 7 8 9 10 14 +0 2 6 7 8 9 10 15 +0 2 6 7 8 9 11 12 +0 2 6 7 8 9 11 13 +0 2 6 7 8 9 11 14 +0 2 6 7 8 9 11 15 +0 2 6 7 8 9 12 13 +0 2 6 7 8 9 12 14 +0 2 6 7 8 9 12 15 +0 2 6 7 8 9 13 14 +0 2 6 7 8 9 13 15 +0 2 6 7 8 9 14 15 +0 2 6 7 8 10 11 12 +0 2 6 7 8 10 11 13 +0 2 6 7 8 10 11 14 +0 2 6 7 8 10 11 15 +0 2 6 7 8 10 12 13 +0 2 6 7 8 10 12 14 +0 2 6 7 8 10 12 15 +0 2 6 7 8 10 13 14 +0 2 6 7 8 10 13 15 +0 2 6 7 8 10 14 15 +0 2 6 7 8 11 12 13 +0 2 6 7 8 11 12 14 +0 2 6 7 8 11 12 15 +0 2 6 7 8 11 13 14 +0 2 6 7 8 11 13 15 +0 2 6 7 8 11 14 15 +0 2 6 7 8 12 13 14 +0 2 6 7 8 12 13 15 +0 2 6 7 8 12 14 15 +0 2 6 7 8 13 14 15 +0 2 6 7 9 10 11 12 +0 2 6 7 9 10 11 13 +0 2 6 7 9 10 11 14 +0 2 6 7 9 10 11 15 +0 2 6 7 9 10 12 13 +0 2 6 7 9 10 12 14 +0 2 6 7 9 10 12 15 +0 2 6 7 9 10 13 14 +0 2 6 7 9 10 13 15 +0 2 6 7 9 10 14 15 +0 2 6 7 9 11 12 13 +0 2 6 7 9 11 12 14 +0 2 6 7 9 11 12 15 +0 2 6 7 9 11 13 14 +0 2 6 7 9 11 13 15 +0 2 6 7 9 11 14 15 +0 2 6 7 9 12 13 14 +0 2 6 7 9 12 13 15 +0 2 6 7 9 12 14 15 +0 2 6 7 9 13 14 15 +0 2 6 7 10 11 12 13 +0 2 6 7 10 11 12 14 +0 2 6 7 10 11 12 15 +0 2 6 7 10 11 13 14 +0 2 6 7 10 11 13 15 +0 2 6 7 10 11 14 15 +0 2 6 7 10 12 13 14 +0 2 6 7 10 12 13 15 +0 2 6 7 10 12 14 15 +0 2 6 7 10 13 14 15 +0 2 6 7 11 12 13 14 +0 2 6 7 11 12 13 15 +0 2 6 7 11 12 14 15 +0 2 6 7 11 13 14 15 +0 2 6 7 12 13 14 15 +0 2 6 8 9 10 11 12 +0 2 6 8 9 10 11 13 +0 2 6 8 9 10 11 14 +0 2 6 8 9 10 11 15 +0 2 6 8 9 10 12 13 +0 2 6 8 9 10 12 14 +0 2 6 8 9 10 12 15 +0 2 6 8 9 10 13 14 +0 2 6 8 9 10 13 15 +0 2 6 8 9 10 14 15 +0 2 6 8 9 11 12 13 +0 2 6 8 9 11 12 14 +0 2 6 8 9 11 12 15 +0 2 6 8 9 11 13 14 +0 2 6 8 9 11 13 15 +0 2 6 8 9 11 14 15 +0 2 6 8 9 12 13 14 +0 2 6 8 9 12 13 15 +0 2 6 8 9 12 14 15 +0 2 6 8 9 13 14 15 +0 2 6 8 10 11 12 13 +0 2 6 8 10 11 12 14 +0 2 6 8 10 11 12 15 +0 2 6 8 10 11 13 14 +0 2 6 8 10 11 13 15 +0 2 6 8 10 11 14 15 +0 2 6 8 10 12 13 14 +0 2 6 8 10 12 13 15 +0 2 6 8 10 12 14 15 +0 2 6 8 10 13 14 15 +0 2 6 8 11 12 13 14 +0 2 6 8 11 12 13 15 +0 2 6 8 11 12 14 15 +0 2 6 8 11 13 14 15 +0 2 6 8 12 13 14 15 +0 2 6 9 10 11 12 13 +0 2 6 9 10 11 12 14 +0 2 6 9 10 11 12 15 +0 2 6 9 10 11 13 14 +0 2 6 9 10 11 13 15 +0 2 6 9 10 11 14 15 +0 2 6 9 10 12 13 14 +0 2 6 9 10 12 13 15 +0 2 6 9 10 12 14 15 +0 2 6 9 10 13 14 15 +0 2 6 9 11 12 13 14 +0 2 6 9 11 12 13 15 +0 2 6 9 11 12 14 15 +0 2 6 9 11 13 14 15 +0 2 6 9 12 13 14 15 +0 2 6 10 11 12 13 14 +0 2 6 10 11 12 13 15 +0 2 6 10 11 12 14 15 +0 2 6 10 11 13 14 15 +0 2 6 10 12 13 14 15 +0 2 6 11 12 13 14 15 +0 2 7 8 9 10 11 12 +0 2 7 8 9 10 11 13 +0 2 7 8 9 10 11 14 +0 2 7 8 9 10 11 15 +0 2 7 8 9 10 12 13 +0 2 7 8 9 10 12 14 +0 2 7 8 9 10 12 15 +0 2 7 8 9 10 13 14 +0 2 7 8 9 10 13 15 +0 2 7 8 9 10 14 15 +0 2 7 8 9 11 12 13 +0 2 7 8 9 11 12 14 +0 2 7 8 9 11 12 15 +0 2 7 8 9 11 13 14 +0 2 7 8 9 11 13 15 +0 2 7 8 9 11 14 15 +0 2 7 8 9 12 13 14 +0 2 7 8 9 12 13 15 +0 2 7 8 9 12 14 15 +0 2 7 8 9 13 14 15 +0 2 7 8 10 11 12 13 +0 2 7 8 10 11 12 14 +0 2 7 8 10 11 12 15 +0 2 7 8 10 11 13 14 +0 2 7 8 10 11 13 15 +0 2 7 8 10 11 14 15 +0 2 7 8 10 12 13 14 +0 2 7 8 10 12 13 15 +0 2 7 8 10 12 14 15 +0 2 7 8 10 13 14 15 +0 2 7 8 11 12 13 14 +0 2 7 8 11 12 13 15 +0 2 7 8 11 12 14 15 +0 2 7 8 11 13 14 15 +0 2 7 8 12 13 14 15 +0 2 7 9 10 11 12 13 +0 2 7 9 10 11 12 14 +0 2 7 9 10 11 12 15 +0 2 7 9 10 11 13 14 +0 2 7 9 10 11 13 15 +0 2 7 9 10 11 14 15 +0 2 7 9 10 12 13 14 +0 2 7 9 10 12 13 15 +0 2 7 9 10 12 14 15 +0 2 7 9 10 13 14 15 +0 2 7 9 11 12 13 14 +0 2 7 9 11 12 13 15 +0 2 7 9 11 12 14 15 +0 2 7 9 11 13 14 15 +0 2 7 9 12 13 14 15 +0 2 7 10 11 12 13 14 +0 2 7 10 11 12 13 15 +0 2 7 10 11 12 14 15 +0 2 7 10 11 13 14 15 +0 2 7 10 12 13 14 15 +0 2 7 11 12 13 14 15 +0 2 8 9 10 11 12 13 +0 2 8 9 10 11 12 14 +0 2 8 9 10 11 12 15 +0 2 8 9 10 11 13 14 +0 2 8 9 10 11 13 15 +0 2 8 9 10 11 14 15 +0 2 8 9 10 12 13 14 +0 2 8 9 10 12 13 15 +0 2 8 9 10 12 14 15 +0 2 8 9 10 13 14 15 +0 2 8 9 11 12 13 14 +0 2 8 9 11 12 13 15 +0 2 8 9 11 12 14 15 +0 2 8 9 11 13 14 15 +0 2 8 9 12 13 14 15 +0 2 8 10 11 12 13 14 +0 2 8 10 11 12 13 15 +0 2 8 10 11 12 14 15 +0 2 8 10 11 13 14 15 +0 2 8 10 12 13 14 15 +0 2 8 11 12 13 14 15 +0 2 9 10 11 12 13 14 +0 2 9 10 11 12 13 15 +0 2 9 10 11 12 14 15 +0 2 9 10 11 13 14 15 +0 2 9 10 12 13 14 15 +0 2 9 11 12 13 14 15 +0 2 10 11 12 13 14 15 +0 3 4 5 6 7 8 9 +0 3 4 5 6 7 8 10 +0 3 4 5 6 7 8 11 +0 3 4 5 6 7 8 12 +0 3 4 5 6 7 8 13 +0 3 4 5 6 7 8 14 +0 3 4 5 6 7 8 15 +0 3 4 5 6 7 9 10 +0 3 4 5 6 7 9 11 +0 3 4 5 6 7 9 12 +0 3 4 5 6 7 9 13 +0 3 4 5 6 7 9 14 +0 3 4 5 6 7 9 15 +0 3 4 5 6 7 10 11 +0 3 4 5 6 7 10 12 +0 3 4 5 6 7 10 13 +0 3 4 5 6 7 10 14 +0 3 4 5 6 7 10 15 +0 3 4 5 6 7 11 12 +0 3 4 5 6 7 11 13 +0 3 4 5 6 7 11 14 +0 3 4 5 6 7 11 15 +0 3 4 5 6 7 12 13 +0 3 4 5 6 7 12 14 +0 3 4 5 6 7 12 15 +0 3 4 5 6 7 13 14 +0 3 4 5 6 7 13 15 +0 3 4 5 6 7 14 15 +0 3 4 5 6 8 9 10 +0 3 4 5 6 8 9 11 +0 3 4 5 6 8 9 12 +0 3 4 5 6 8 9 13 +0 3 4 5 6 8 9 14 +0 3 4 5 6 8 9 15 +0 3 4 5 6 8 10 11 +0 3 4 5 6 8 10 12 +0 3 4 5 6 8 10 13 +0 3 4 5 6 8 10 14 +0 3 4 5 6 8 10 15 +0 3 4 5 6 8 11 12 +0 3 4 5 6 8 11 13 +0 3 4 5 6 8 11 14 +0 3 4 5 6 8 11 15 +0 3 4 5 6 8 12 13 +0 3 4 5 6 8 12 14 +0 3 4 5 6 8 12 15 +0 3 4 5 6 8 13 14 +0 3 4 5 6 8 13 15 +0 3 4 5 6 8 14 15 +0 3 4 5 6 9 10 11 +0 3 4 5 6 9 10 12 +0 3 4 5 6 9 10 13 +0 3 4 5 6 9 10 14 +0 3 4 5 6 9 10 15 +0 3 4 5 6 9 11 12 +0 3 4 5 6 9 11 13 +0 3 4 5 6 9 11 14 +0 3 4 5 6 9 11 15 +0 3 4 5 6 9 12 13 +0 3 4 5 6 9 12 14 +0 3 4 5 6 9 12 15 +0 3 4 5 6 9 13 14 +0 3 4 5 6 9 13 15 +0 3 4 5 6 9 14 15 +0 3 4 5 6 10 11 12 +0 3 4 5 6 10 11 13 +0 3 4 5 6 10 11 14 +0 3 4 5 6 10 11 15 +0 3 4 5 6 10 12 13 +0 3 4 5 6 10 12 14 +0 3 4 5 6 10 12 15 +0 3 4 5 6 10 13 14 +0 3 4 5 6 10 13 15 +0 3 4 5 6 10 14 15 +0 3 4 5 6 11 12 13 +0 3 4 5 6 11 12 14 +0 3 4 5 6 11 12 15 +0 3 4 5 6 11 13 14 +0 3 4 5 6 11 13 15 +0 3 4 5 6 11 14 15 +0 3 4 5 6 12 13 14 +0 3 4 5 6 12 13 15 +0 3 4 5 6 12 14 15 +0 3 4 5 6 13 14 15 +0 3 4 5 7 8 9 10 +0 3 4 5 7 8 9 11 +0 3 4 5 7 8 9 12 +0 3 4 5 7 8 9 13 +0 3 4 5 7 8 9 14 +0 3 4 5 7 8 9 15 +0 3 4 5 7 8 10 11 +0 3 4 5 7 8 10 12 +0 3 4 5 7 8 10 13 +0 3 4 5 7 8 10 14 +0 3 4 5 7 8 10 15 +0 3 4 5 7 8 11 12 +0 3 4 5 7 8 11 13 +0 3 4 5 7 8 11 14 +0 3 4 5 7 8 11 15 +0 3 4 5 7 8 12 13 +0 3 4 5 7 8 12 14 +0 3 4 5 7 8 12 15 +0 3 4 5 7 8 13 14 +0 3 4 5 7 8 13 15 +0 3 4 5 7 8 14 15 +0 3 4 5 7 9 10 11 +0 3 4 5 7 9 10 12 +0 3 4 5 7 9 10 13 +0 3 4 5 7 9 10 14 +0 3 4 5 7 9 10 15 +0 3 4 5 7 9 11 12 +0 3 4 5 7 9 11 13 +0 3 4 5 7 9 11 14 +0 3 4 5 7 9 11 15 +0 3 4 5 7 9 12 13 +0 3 4 5 7 9 12 14 +0 3 4 5 7 9 12 15 +0 3 4 5 7 9 13 14 +0 3 4 5 7 9 13 15 +0 3 4 5 7 9 14 15 +0 3 4 5 7 10 11 12 +0 3 4 5 7 10 11 13 +0 3 4 5 7 10 11 14 +0 3 4 5 7 10 11 15 +0 3 4 5 7 10 12 13 +0 3 4 5 7 10 12 14 +0 3 4 5 7 10 12 15 +0 3 4 5 7 10 13 14 +0 3 4 5 7 10 13 15 +0 3 4 5 7 10 14 15 +0 3 4 5 7 11 12 13 +0 3 4 5 7 11 12 14 +0 3 4 5 7 11 12 15 +0 3 4 5 7 11 13 14 +0 3 4 5 7 11 13 15 +0 3 4 5 7 11 14 15 +0 3 4 5 7 12 13 14 +0 3 4 5 7 12 13 15 +0 3 4 5 7 12 14 15 +0 3 4 5 7 13 14 15 +0 3 4 5 8 9 10 11 +0 3 4 5 8 9 10 12 +0 3 4 5 8 9 10 13 +0 3 4 5 8 9 10 14 +0 3 4 5 8 9 10 15 +0 3 4 5 8 9 11 12 +0 3 4 5 8 9 11 13 +0 3 4 5 8 9 11 14 +0 3 4 5 8 9 11 15 +0 3 4 5 8 9 12 13 +0 3 4 5 8 9 12 14 +0 3 4 5 8 9 12 15 +0 3 4 5 8 9 13 14 +0 3 4 5 8 9 13 15 +0 3 4 5 8 9 14 15 +0 3 4 5 8 10 11 12 +0 3 4 5 8 10 11 13 +0 3 4 5 8 10 11 14 +0 3 4 5 8 10 11 15 +0 3 4 5 8 10 12 13 +0 3 4 5 8 10 12 14 +0 3 4 5 8 10 12 15 +0 3 4 5 8 10 13 14 +0 3 4 5 8 10 13 15 +0 3 4 5 8 10 14 15 +0 3 4 5 8 11 12 13 +0 3 4 5 8 11 12 14 +0 3 4 5 8 11 12 15 +0 3 4 5 8 11 13 14 +0 3 4 5 8 11 13 15 +0 3 4 5 8 11 14 15 +0 3 4 5 8 12 13 14 +0 3 4 5 8 12 13 15 +0 3 4 5 8 12 14 15 +0 3 4 5 8 13 14 15 +0 3 4 5 9 10 11 12 +0 3 4 5 9 10 11 13 +0 3 4 5 9 10 11 14 +0 3 4 5 9 10 11 15 +0 3 4 5 9 10 12 13 +0 3 4 5 9 10 12 14 +0 3 4 5 9 10 12 15 +0 3 4 5 9 10 13 14 +0 3 4 5 9 10 13 15 +0 3 4 5 9 10 14 15 +0 3 4 5 9 11 12 13 +0 3 4 5 9 11 12 14 +0 3 4 5 9 11 12 15 +0 3 4 5 9 11 13 14 +0 3 4 5 9 11 13 15 +0 3 4 5 9 11 14 15 +0 3 4 5 9 12 13 14 +0 3 4 5 9 12 13 15 +0 3 4 5 9 12 14 15 +0 3 4 5 9 13 14 15 +0 3 4 5 10 11 12 13 +0 3 4 5 10 11 12 14 +0 3 4 5 10 11 12 15 +0 3 4 5 10 11 13 14 +0 3 4 5 10 11 13 15 +0 3 4 5 10 11 14 15 +0 3 4 5 10 12 13 14 +0 3 4 5 10 12 13 15 +0 3 4 5 10 12 14 15 +0 3 4 5 10 13 14 15 +0 3 4 5 11 12 13 14 +0 3 4 5 11 12 13 15 +0 3 4 5 11 12 14 15 +0 3 4 5 11 13 14 15 +0 3 4 5 12 13 14 15 +0 3 4 6 7 8 9 10 +0 3 4 6 7 8 9 11 +0 3 4 6 7 8 9 12 +0 3 4 6 7 8 9 13 +0 3 4 6 7 8 9 14 +0 3 4 6 7 8 9 15 +0 3 4 6 7 8 10 11 +0 3 4 6 7 8 10 12 +0 3 4 6 7 8 10 13 +0 3 4 6 7 8 10 14 +0 3 4 6 7 8 10 15 +0 3 4 6 7 8 11 12 +0 3 4 6 7 8 11 13 +0 3 4 6 7 8 11 14 +0 3 4 6 7 8 11 15 +0 3 4 6 7 8 12 13 +0 3 4 6 7 8 12 14 +0 3 4 6 7 8 12 15 +0 3 4 6 7 8 13 14 +0 3 4 6 7 8 13 15 +0 3 4 6 7 8 14 15 +0 3 4 6 7 9 10 11 +0 3 4 6 7 9 10 12 +0 3 4 6 7 9 10 13 +0 3 4 6 7 9 10 14 +0 3 4 6 7 9 10 15 +0 3 4 6 7 9 11 12 +0 3 4 6 7 9 11 13 +0 3 4 6 7 9 11 14 +0 3 4 6 7 9 11 15 +0 3 4 6 7 9 12 13 +0 3 4 6 7 9 12 14 +0 3 4 6 7 9 12 15 +0 3 4 6 7 9 13 14 +0 3 4 6 7 9 13 15 +0 3 4 6 7 9 14 15 +0 3 4 6 7 10 11 12 +0 3 4 6 7 10 11 13 +0 3 4 6 7 10 11 14 +0 3 4 6 7 10 11 15 +0 3 4 6 7 10 12 13 +0 3 4 6 7 10 12 14 +0 3 4 6 7 10 12 15 +0 3 4 6 7 10 13 14 +0 3 4 6 7 10 13 15 +0 3 4 6 7 10 14 15 +0 3 4 6 7 11 12 13 +0 3 4 6 7 11 12 14 +0 3 4 6 7 11 12 15 +0 3 4 6 7 11 13 14 +0 3 4 6 7 11 13 15 +0 3 4 6 7 11 14 15 +0 3 4 6 7 12 13 14 +0 3 4 6 7 12 13 15 +0 3 4 6 7 12 14 15 +0 3 4 6 7 13 14 15 +0 3 4 6 8 9 10 11 +0 3 4 6 8 9 10 12 +0 3 4 6 8 9 10 13 +0 3 4 6 8 9 10 14 +0 3 4 6 8 9 10 15 +0 3 4 6 8 9 11 12 +0 3 4 6 8 9 11 13 +0 3 4 6 8 9 11 14 +0 3 4 6 8 9 11 15 +0 3 4 6 8 9 12 13 +0 3 4 6 8 9 12 14 +0 3 4 6 8 9 12 15 +0 3 4 6 8 9 13 14 +0 3 4 6 8 9 13 15 +0 3 4 6 8 9 14 15 +0 3 4 6 8 10 11 12 +0 3 4 6 8 10 11 13 +0 3 4 6 8 10 11 14 +0 3 4 6 8 10 11 15 +0 3 4 6 8 10 12 13 +0 3 4 6 8 10 12 14 +0 3 4 6 8 10 12 15 +0 3 4 6 8 10 13 14 +0 3 4 6 8 10 13 15 +0 3 4 6 8 10 14 15 +0 3 4 6 8 11 12 13 +0 3 4 6 8 11 12 14 +0 3 4 6 8 11 12 15 +0 3 4 6 8 11 13 14 +0 3 4 6 8 11 13 15 +0 3 4 6 8 11 14 15 +0 3 4 6 8 12 13 14 +0 3 4 6 8 12 13 15 +0 3 4 6 8 12 14 15 +0 3 4 6 8 13 14 15 +0 3 4 6 9 10 11 12 +0 3 4 6 9 10 11 13 +0 3 4 6 9 10 11 14 +0 3 4 6 9 10 11 15 +0 3 4 6 9 10 12 13 +0 3 4 6 9 10 12 14 +0 3 4 6 9 10 12 15 +0 3 4 6 9 10 13 14 +0 3 4 6 9 10 13 15 +0 3 4 6 9 10 14 15 +0 3 4 6 9 11 12 13 +0 3 4 6 9 11 12 14 +0 3 4 6 9 11 12 15 +0 3 4 6 9 11 13 14 +0 3 4 6 9 11 13 15 +0 3 4 6 9 11 14 15 +0 3 4 6 9 12 13 14 +0 3 4 6 9 12 13 15 +0 3 4 6 9 12 14 15 +0 3 4 6 9 13 14 15 +0 3 4 6 10 11 12 13 +0 3 4 6 10 11 12 14 +0 3 4 6 10 11 12 15 +0 3 4 6 10 11 13 14 +0 3 4 6 10 11 13 15 +0 3 4 6 10 11 14 15 +0 3 4 6 10 12 13 14 +0 3 4 6 10 12 13 15 +0 3 4 6 10 12 14 15 +0 3 4 6 10 13 14 15 +0 3 4 6 11 12 13 14 +0 3 4 6 11 12 13 15 +0 3 4 6 11 12 14 15 +0 3 4 6 11 13 14 15 +0 3 4 6 12 13 14 15 +0 3 4 7 8 9 10 11 +0 3 4 7 8 9 10 12 +0 3 4 7 8 9 10 13 +0 3 4 7 8 9 10 14 +0 3 4 7 8 9 10 15 +0 3 4 7 8 9 11 12 +0 3 4 7 8 9 11 13 +0 3 4 7 8 9 11 14 +0 3 4 7 8 9 11 15 +0 3 4 7 8 9 12 13 +0 3 4 7 8 9 12 14 +0 3 4 7 8 9 12 15 +0 3 4 7 8 9 13 14 +0 3 4 7 8 9 13 15 +0 3 4 7 8 9 14 15 +0 3 4 7 8 10 11 12 +0 3 4 7 8 10 11 13 +0 3 4 7 8 10 11 14 +0 3 4 7 8 10 11 15 +0 3 4 7 8 10 12 13 +0 3 4 7 8 10 12 14 +0 3 4 7 8 10 12 15 +0 3 4 7 8 10 13 14 +0 3 4 7 8 10 13 15 +0 3 4 7 8 10 14 15 +0 3 4 7 8 11 12 13 +0 3 4 7 8 11 12 14 +0 3 4 7 8 11 12 15 +0 3 4 7 8 11 13 14 +0 3 4 7 8 11 13 15 +0 3 4 7 8 11 14 15 +0 3 4 7 8 12 13 14 +0 3 4 7 8 12 13 15 +0 3 4 7 8 12 14 15 +0 3 4 7 8 13 14 15 +0 3 4 7 9 10 11 12 +0 3 4 7 9 10 11 13 +0 3 4 7 9 10 11 14 +0 3 4 7 9 10 11 15 +0 3 4 7 9 10 12 13 +0 3 4 7 9 10 12 14 +0 3 4 7 9 10 12 15 +0 3 4 7 9 10 13 14 +0 3 4 7 9 10 13 15 +0 3 4 7 9 10 14 15 +0 3 4 7 9 11 12 13 +0 3 4 7 9 11 12 14 +0 3 4 7 9 11 12 15 +0 3 4 7 9 11 13 14 +0 3 4 7 9 11 13 15 +0 3 4 7 9 11 14 15 +0 3 4 7 9 12 13 14 +0 3 4 7 9 12 13 15 +0 3 4 7 9 12 14 15 +0 3 4 7 9 13 14 15 +0 3 4 7 10 11 12 13 +0 3 4 7 10 11 12 14 +0 3 4 7 10 11 12 15 +0 3 4 7 10 11 13 14 +0 3 4 7 10 11 13 15 +0 3 4 7 10 11 14 15 +0 3 4 7 10 12 13 14 +0 3 4 7 10 12 13 15 +0 3 4 7 10 12 14 15 +0 3 4 7 10 13 14 15 +0 3 4 7 11 12 13 14 +0 3 4 7 11 12 13 15 +0 3 4 7 11 12 14 15 +0 3 4 7 11 13 14 15 +0 3 4 7 12 13 14 15 +0 3 4 8 9 10 11 12 +0 3 4 8 9 10 11 13 +0 3 4 8 9 10 11 14 +0 3 4 8 9 10 11 15 +0 3 4 8 9 10 12 13 +0 3 4 8 9 10 12 14 +0 3 4 8 9 10 12 15 +0 3 4 8 9 10 13 14 +0 3 4 8 9 10 13 15 +0 3 4 8 9 10 14 15 +0 3 4 8 9 11 12 13 +0 3 4 8 9 11 12 14 +0 3 4 8 9 11 12 15 +0 3 4 8 9 11 13 14 +0 3 4 8 9 11 13 15 +0 3 4 8 9 11 14 15 +0 3 4 8 9 12 13 14 +0 3 4 8 9 12 13 15 +0 3 4 8 9 12 14 15 +0 3 4 8 9 13 14 15 +0 3 4 8 10 11 12 13 +0 3 4 8 10 11 12 14 +0 3 4 8 10 11 12 15 +0 3 4 8 10 11 13 14 +0 3 4 8 10 11 13 15 +0 3 4 8 10 11 14 15 +0 3 4 8 10 12 13 14 +0 3 4 8 10 12 13 15 +0 3 4 8 10 12 14 15 +0 3 4 8 10 13 14 15 +0 3 4 8 11 12 13 14 +0 3 4 8 11 12 13 15 +0 3 4 8 11 12 14 15 +0 3 4 8 11 13 14 15 +0 3 4 8 12 13 14 15 +0 3 4 9 10 11 12 13 +0 3 4 9 10 11 12 14 +0 3 4 9 10 11 12 15 +0 3 4 9 10 11 13 14 +0 3 4 9 10 11 13 15 +0 3 4 9 10 11 14 15 +0 3 4 9 10 12 13 14 +0 3 4 9 10 12 13 15 +0 3 4 9 10 12 14 15 +0 3 4 9 10 13 14 15 +0 3 4 9 11 12 13 14 +0 3 4 9 11 12 13 15 +0 3 4 9 11 12 14 15 +0 3 4 9 11 13 14 15 +0 3 4 9 12 13 14 15 +0 3 4 10 11 12 13 14 +0 3 4 10 11 12 13 15 +0 3 4 10 11 12 14 15 +0 3 4 10 11 13 14 15 +0 3 4 10 12 13 14 15 +0 3 4 11 12 13 14 15 +0 3 5 6 7 8 9 10 +0 3 5 6 7 8 9 11 +0 3 5 6 7 8 9 12 +0 3 5 6 7 8 9 13 +0 3 5 6 7 8 9 14 +0 3 5 6 7 8 9 15 +0 3 5 6 7 8 10 11 +0 3 5 6 7 8 10 12 +0 3 5 6 7 8 10 13 +0 3 5 6 7 8 10 14 +0 3 5 6 7 8 10 15 +0 3 5 6 7 8 11 12 +0 3 5 6 7 8 11 13 +0 3 5 6 7 8 11 14 +0 3 5 6 7 8 11 15 +0 3 5 6 7 8 12 13 +0 3 5 6 7 8 12 14 +0 3 5 6 7 8 12 15 +0 3 5 6 7 8 13 14 +0 3 5 6 7 8 13 15 +0 3 5 6 7 8 14 15 +0 3 5 6 7 9 10 11 +0 3 5 6 7 9 10 12 +0 3 5 6 7 9 10 13 +0 3 5 6 7 9 10 14 +0 3 5 6 7 9 10 15 +0 3 5 6 7 9 11 12 +0 3 5 6 7 9 11 13 +0 3 5 6 7 9 11 14 +0 3 5 6 7 9 11 15 +0 3 5 6 7 9 12 13 +0 3 5 6 7 9 12 14 +0 3 5 6 7 9 12 15 +0 3 5 6 7 9 13 14 +0 3 5 6 7 9 13 15 +0 3 5 6 7 9 14 15 +0 3 5 6 7 10 11 12 +0 3 5 6 7 10 11 13 +0 3 5 6 7 10 11 14 +0 3 5 6 7 10 11 15 +0 3 5 6 7 10 12 13 +0 3 5 6 7 10 12 14 +0 3 5 6 7 10 12 15 +0 3 5 6 7 10 13 14 +0 3 5 6 7 10 13 15 +0 3 5 6 7 10 14 15 +0 3 5 6 7 11 12 13 +0 3 5 6 7 11 12 14 +0 3 5 6 7 11 12 15 +0 3 5 6 7 11 13 14 +0 3 5 6 7 11 13 15 +0 3 5 6 7 11 14 15 +0 3 5 6 7 12 13 14 +0 3 5 6 7 12 13 15 +0 3 5 6 7 12 14 15 +0 3 5 6 7 13 14 15 +0 3 5 6 8 9 10 11 +0 3 5 6 8 9 10 12 +0 3 5 6 8 9 10 13 +0 3 5 6 8 9 10 14 +0 3 5 6 8 9 10 15 +0 3 5 6 8 9 11 12 +0 3 5 6 8 9 11 13 +0 3 5 6 8 9 11 14 +0 3 5 6 8 9 11 15 +0 3 5 6 8 9 12 13 +0 3 5 6 8 9 12 14 +0 3 5 6 8 9 12 15 +0 3 5 6 8 9 13 14 +0 3 5 6 8 9 13 15 +0 3 5 6 8 9 14 15 +0 3 5 6 8 10 11 12 +0 3 5 6 8 10 11 13 +0 3 5 6 8 10 11 14 +0 3 5 6 8 10 11 15 +0 3 5 6 8 10 12 13 +0 3 5 6 8 10 12 14 +0 3 5 6 8 10 12 15 +0 3 5 6 8 10 13 14 +0 3 5 6 8 10 13 15 +0 3 5 6 8 10 14 15 +0 3 5 6 8 11 12 13 +0 3 5 6 8 11 12 14 +0 3 5 6 8 11 12 15 +0 3 5 6 8 11 13 14 +0 3 5 6 8 11 13 15 +0 3 5 6 8 11 14 15 +0 3 5 6 8 12 13 14 +0 3 5 6 8 12 13 15 +0 3 5 6 8 12 14 15 +0 3 5 6 8 13 14 15 +0 3 5 6 9 10 11 12 +0 3 5 6 9 10 11 13 +0 3 5 6 9 10 11 14 +0 3 5 6 9 10 11 15 +0 3 5 6 9 10 12 13 +0 3 5 6 9 10 12 14 +0 3 5 6 9 10 12 15 +0 3 5 6 9 10 13 14 +0 3 5 6 9 10 13 15 +0 3 5 6 9 10 14 15 +0 3 5 6 9 11 12 13 +0 3 5 6 9 11 12 14 +0 3 5 6 9 11 12 15 +0 3 5 6 9 11 13 14 +0 3 5 6 9 11 13 15 +0 3 5 6 9 11 14 15 +0 3 5 6 9 12 13 14 +0 3 5 6 9 12 13 15 +0 3 5 6 9 12 14 15 +0 3 5 6 9 13 14 15 +0 3 5 6 10 11 12 13 +0 3 5 6 10 11 12 14 +0 3 5 6 10 11 12 15 +0 3 5 6 10 11 13 14 +0 3 5 6 10 11 13 15 +0 3 5 6 10 11 14 15 +0 3 5 6 10 12 13 14 +0 3 5 6 10 12 13 15 +0 3 5 6 10 12 14 15 +0 3 5 6 10 13 14 15 +0 3 5 6 11 12 13 14 +0 3 5 6 11 12 13 15 +0 3 5 6 11 12 14 15 +0 3 5 6 11 13 14 15 +0 3 5 6 12 13 14 15 +0 3 5 7 8 9 10 11 +0 3 5 7 8 9 10 12 +0 3 5 7 8 9 10 13 +0 3 5 7 8 9 10 14 +0 3 5 7 8 9 10 15 +0 3 5 7 8 9 11 12 +0 3 5 7 8 9 11 13 +0 3 5 7 8 9 11 14 +0 3 5 7 8 9 11 15 +0 3 5 7 8 9 12 13 +0 3 5 7 8 9 12 14 +0 3 5 7 8 9 12 15 +0 3 5 7 8 9 13 14 +0 3 5 7 8 9 13 15 +0 3 5 7 8 9 14 15 +0 3 5 7 8 10 11 12 +0 3 5 7 8 10 11 13 +0 3 5 7 8 10 11 14 +0 3 5 7 8 10 11 15 +0 3 5 7 8 10 12 13 +0 3 5 7 8 10 12 14 +0 3 5 7 8 10 12 15 +0 3 5 7 8 10 13 14 +0 3 5 7 8 10 13 15 +0 3 5 7 8 10 14 15 +0 3 5 7 8 11 12 13 +0 3 5 7 8 11 12 14 +0 3 5 7 8 11 12 15 +0 3 5 7 8 11 13 14 +0 3 5 7 8 11 13 15 +0 3 5 7 8 11 14 15 +0 3 5 7 8 12 13 14 +0 3 5 7 8 12 13 15 +0 3 5 7 8 12 14 15 +0 3 5 7 8 13 14 15 +0 3 5 7 9 10 11 12 +0 3 5 7 9 10 11 13 +0 3 5 7 9 10 11 14 +0 3 5 7 9 10 11 15 +0 3 5 7 9 10 12 13 +0 3 5 7 9 10 12 14 +0 3 5 7 9 10 12 15 +0 3 5 7 9 10 13 14 +0 3 5 7 9 10 13 15 +0 3 5 7 9 10 14 15 +0 3 5 7 9 11 12 13 +0 3 5 7 9 11 12 14 +0 3 5 7 9 11 12 15 +0 3 5 7 9 11 13 14 +0 3 5 7 9 11 13 15 +0 3 5 7 9 11 14 15 +0 3 5 7 9 12 13 14 +0 3 5 7 9 12 13 15 +0 3 5 7 9 12 14 15 +0 3 5 7 9 13 14 15 +0 3 5 7 10 11 12 13 +0 3 5 7 10 11 12 14 +0 3 5 7 10 11 12 15 +0 3 5 7 10 11 13 14 +0 3 5 7 10 11 13 15 +0 3 5 7 10 11 14 15 +0 3 5 7 10 12 13 14 +0 3 5 7 10 12 13 15 +0 3 5 7 10 12 14 15 +0 3 5 7 10 13 14 15 +0 3 5 7 11 12 13 14 +0 3 5 7 11 12 13 15 +0 3 5 7 11 12 14 15 +0 3 5 7 11 13 14 15 +0 3 5 7 12 13 14 15 +0 3 5 8 9 10 11 12 +0 3 5 8 9 10 11 13 +0 3 5 8 9 10 11 14 +0 3 5 8 9 10 11 15 +0 3 5 8 9 10 12 13 +0 3 5 8 9 10 12 14 +0 3 5 8 9 10 12 15 +0 3 5 8 9 10 13 14 +0 3 5 8 9 10 13 15 +0 3 5 8 9 10 14 15 +0 3 5 8 9 11 12 13 +0 3 5 8 9 11 12 14 +0 3 5 8 9 11 12 15 +0 3 5 8 9 11 13 14 +0 3 5 8 9 11 13 15 +0 3 5 8 9 11 14 15 +0 3 5 8 9 12 13 14 +0 3 5 8 9 12 13 15 +0 3 5 8 9 12 14 15 +0 3 5 8 9 13 14 15 +0 3 5 8 10 11 12 13 +0 3 5 8 10 11 12 14 +0 3 5 8 10 11 12 15 +0 3 5 8 10 11 13 14 +0 3 5 8 10 11 13 15 +0 3 5 8 10 11 14 15 +0 3 5 8 10 12 13 14 +0 3 5 8 10 12 13 15 +0 3 5 8 10 12 14 15 +0 3 5 8 10 13 14 15 +0 3 5 8 11 12 13 14 +0 3 5 8 11 12 13 15 +0 3 5 8 11 12 14 15 +0 3 5 8 11 13 14 15 +0 3 5 8 12 13 14 15 +0 3 5 9 10 11 12 13 +0 3 5 9 10 11 12 14 +0 3 5 9 10 11 12 15 +0 3 5 9 10 11 13 14 +0 3 5 9 10 11 13 15 +0 3 5 9 10 11 14 15 +0 3 5 9 10 12 13 14 +0 3 5 9 10 12 13 15 +0 3 5 9 10 12 14 15 +0 3 5 9 10 13 14 15 +0 3 5 9 11 12 13 14 +0 3 5 9 11 12 13 15 +0 3 5 9 11 12 14 15 +0 3 5 9 11 13 14 15 +0 3 5 9 12 13 14 15 +0 3 5 10 11 12 13 14 +0 3 5 10 11 12 13 15 +0 3 5 10 11 12 14 15 +0 3 5 10 11 13 14 15 +0 3 5 10 12 13 14 15 +0 3 5 11 12 13 14 15 +0 3 6 7 8 9 10 11 +0 3 6 7 8 9 10 12 +0 3 6 7 8 9 10 13 +0 3 6 7 8 9 10 14 +0 3 6 7 8 9 10 15 +0 3 6 7 8 9 11 12 +0 3 6 7 8 9 11 13 +0 3 6 7 8 9 11 14 +0 3 6 7 8 9 11 15 +0 3 6 7 8 9 12 13 +0 3 6 7 8 9 12 14 +0 3 6 7 8 9 12 15 +0 3 6 7 8 9 13 14 +0 3 6 7 8 9 13 15 +0 3 6 7 8 9 14 15 +0 3 6 7 8 10 11 12 +0 3 6 7 8 10 11 13 +0 3 6 7 8 10 11 14 +0 3 6 7 8 10 11 15 +0 3 6 7 8 10 12 13 +0 3 6 7 8 10 12 14 +0 3 6 7 8 10 12 15 +0 3 6 7 8 10 13 14 +0 3 6 7 8 10 13 15 +0 3 6 7 8 10 14 15 +0 3 6 7 8 11 12 13 +0 3 6 7 8 11 12 14 +0 3 6 7 8 11 12 15 +0 3 6 7 8 11 13 14 +0 3 6 7 8 11 13 15 +0 3 6 7 8 11 14 15 +0 3 6 7 8 12 13 14 +0 3 6 7 8 12 13 15 +0 3 6 7 8 12 14 15 +0 3 6 7 8 13 14 15 +0 3 6 7 9 10 11 12 +0 3 6 7 9 10 11 13 +0 3 6 7 9 10 11 14 +0 3 6 7 9 10 11 15 +0 3 6 7 9 10 12 13 +0 3 6 7 9 10 12 14 +0 3 6 7 9 10 12 15 +0 3 6 7 9 10 13 14 +0 3 6 7 9 10 13 15 +0 3 6 7 9 10 14 15 +0 3 6 7 9 11 12 13 +0 3 6 7 9 11 12 14 +0 3 6 7 9 11 12 15 +0 3 6 7 9 11 13 14 +0 3 6 7 9 11 13 15 +0 3 6 7 9 11 14 15 +0 3 6 7 9 12 13 14 +0 3 6 7 9 12 13 15 +0 3 6 7 9 12 14 15 +0 3 6 7 9 13 14 15 +0 3 6 7 10 11 12 13 +0 3 6 7 10 11 12 14 +0 3 6 7 10 11 12 15 +0 3 6 7 10 11 13 14 +0 3 6 7 10 11 13 15 +0 3 6 7 10 11 14 15 +0 3 6 7 10 12 13 14 +0 3 6 7 10 12 13 15 +0 3 6 7 10 12 14 15 +0 3 6 7 10 13 14 15 +0 3 6 7 11 12 13 14 +0 3 6 7 11 12 13 15 +0 3 6 7 11 12 14 15 +0 3 6 7 11 13 14 15 +0 3 6 7 12 13 14 15 +0 3 6 8 9 10 11 12 +0 3 6 8 9 10 11 13 +0 3 6 8 9 10 11 14 +0 3 6 8 9 10 11 15 +0 3 6 8 9 10 12 13 +0 3 6 8 9 10 12 14 +0 3 6 8 9 10 12 15 +0 3 6 8 9 10 13 14 +0 3 6 8 9 10 13 15 +0 3 6 8 9 10 14 15 +0 3 6 8 9 11 12 13 +0 3 6 8 9 11 12 14 +0 3 6 8 9 11 12 15 +0 3 6 8 9 11 13 14 +0 3 6 8 9 11 13 15 +0 3 6 8 9 11 14 15 +0 3 6 8 9 12 13 14 +0 3 6 8 9 12 13 15 +0 3 6 8 9 12 14 15 +0 3 6 8 9 13 14 15 +0 3 6 8 10 11 12 13 +0 3 6 8 10 11 12 14 +0 3 6 8 10 11 12 15 +0 3 6 8 10 11 13 14 +0 3 6 8 10 11 13 15 +0 3 6 8 10 11 14 15 +0 3 6 8 10 12 13 14 +0 3 6 8 10 12 13 15 +0 3 6 8 10 12 14 15 +0 3 6 8 10 13 14 15 +0 3 6 8 11 12 13 14 +0 3 6 8 11 12 13 15 +0 3 6 8 11 12 14 15 +0 3 6 8 11 13 14 15 +0 3 6 8 12 13 14 15 +0 3 6 9 10 11 12 13 +0 3 6 9 10 11 12 14 +0 3 6 9 10 11 12 15 +0 3 6 9 10 11 13 14 +0 3 6 9 10 11 13 15 +0 3 6 9 10 11 14 15 +0 3 6 9 10 12 13 14 +0 3 6 9 10 12 13 15 +0 3 6 9 10 12 14 15 +0 3 6 9 10 13 14 15 +0 3 6 9 11 12 13 14 +0 3 6 9 11 12 13 15 +0 3 6 9 11 12 14 15 +0 3 6 9 11 13 14 15 +0 3 6 9 12 13 14 15 +0 3 6 10 11 12 13 14 +0 3 6 10 11 12 13 15 +0 3 6 10 11 12 14 15 +0 3 6 10 11 13 14 15 +0 3 6 10 12 13 14 15 +0 3 6 11 12 13 14 15 +0 3 7 8 9 10 11 12 +0 3 7 8 9 10 11 13 +0 3 7 8 9 10 11 14 +0 3 7 8 9 10 11 15 +0 3 7 8 9 10 12 13 +0 3 7 8 9 10 12 14 +0 3 7 8 9 10 12 15 +0 3 7 8 9 10 13 14 +0 3 7 8 9 10 13 15 +0 3 7 8 9 10 14 15 +0 3 7 8 9 11 12 13 +0 3 7 8 9 11 12 14 +0 3 7 8 9 11 12 15 +0 3 7 8 9 11 13 14 +0 3 7 8 9 11 13 15 +0 3 7 8 9 11 14 15 +0 3 7 8 9 12 13 14 +0 3 7 8 9 12 13 15 +0 3 7 8 9 12 14 15 +0 3 7 8 9 13 14 15 +0 3 7 8 10 11 12 13 +0 3 7 8 10 11 12 14 +0 3 7 8 10 11 12 15 +0 3 7 8 10 11 13 14 +0 3 7 8 10 11 13 15 +0 3 7 8 10 11 14 15 +0 3 7 8 10 12 13 14 +0 3 7 8 10 12 13 15 +0 3 7 8 10 12 14 15 +0 3 7 8 10 13 14 15 +0 3 7 8 11 12 13 14 +0 3 7 8 11 12 13 15 +0 3 7 8 11 12 14 15 +0 3 7 8 11 13 14 15 +0 3 7 8 12 13 14 15 +0 3 7 9 10 11 12 13 +0 3 7 9 10 11 12 14 +0 3 7 9 10 11 12 15 +0 3 7 9 10 11 13 14 +0 3 7 9 10 11 13 15 +0 3 7 9 10 11 14 15 +0 3 7 9 10 12 13 14 +0 3 7 9 10 12 13 15 +0 3 7 9 10 12 14 15 +0 3 7 9 10 13 14 15 +0 3 7 9 11 12 13 14 +0 3 7 9 11 12 13 15 +0 3 7 9 11 12 14 15 +0 3 7 9 11 13 14 15 +0 3 7 9 12 13 14 15 +0 3 7 10 11 12 13 14 +0 3 7 10 11 12 13 15 +0 3 7 10 11 12 14 15 +0 3 7 10 11 13 14 15 +0 3 7 10 12 13 14 15 +0 3 7 11 12 13 14 15 +0 3 8 9 10 11 12 13 +0 3 8 9 10 11 12 14 +0 3 8 9 10 11 12 15 +0 3 8 9 10 11 13 14 +0 3 8 9 10 11 13 15 +0 3 8 9 10 11 14 15 +0 3 8 9 10 12 13 14 +0 3 8 9 10 12 13 15 +0 3 8 9 10 12 14 15 +0 3 8 9 10 13 14 15 +0 3 8 9 11 12 13 14 +0 3 8 9 11 12 13 15 +0 3 8 9 11 12 14 15 +0 3 8 9 11 13 14 15 +0 3 8 9 12 13 14 15 +0 3 8 10 11 12 13 14 +0 3 8 10 11 12 13 15 +0 3 8 10 11 12 14 15 +0 3 8 10 11 13 14 15 +0 3 8 10 12 13 14 15 +0 3 8 11 12 13 14 15 +0 3 9 10 11 12 13 14 +0 3 9 10 11 12 13 15 +0 3 9 10 11 12 14 15 +0 3 9 10 11 13 14 15 +0 3 9 10 12 13 14 15 +0 3 9 11 12 13 14 15 +0 3 10 11 12 13 14 15 +0 4 5 6 7 8 9 10 +0 4 5 6 7 8 9 11 +0 4 5 6 7 8 9 12 +0 4 5 6 7 8 9 13 +0 4 5 6 7 8 9 14 +0 4 5 6 7 8 9 15 +0 4 5 6 7 8 10 11 +0 4 5 6 7 8 10 12 +0 4 5 6 7 8 10 13 +0 4 5 6 7 8 10 14 +0 4 5 6 7 8 10 15 +0 4 5 6 7 8 11 12 +0 4 5 6 7 8 11 13 +0 4 5 6 7 8 11 14 +0 4 5 6 7 8 11 15 +0 4 5 6 7 8 12 13 +0 4 5 6 7 8 12 14 +0 4 5 6 7 8 12 15 +0 4 5 6 7 8 13 14 +0 4 5 6 7 8 13 15 +0 4 5 6 7 8 14 15 +0 4 5 6 7 9 10 11 +0 4 5 6 7 9 10 12 +0 4 5 6 7 9 10 13 +0 4 5 6 7 9 10 14 +0 4 5 6 7 9 10 15 +0 4 5 6 7 9 11 12 +0 4 5 6 7 9 11 13 +0 4 5 6 7 9 11 14 +0 4 5 6 7 9 11 15 +0 4 5 6 7 9 12 13 +0 4 5 6 7 9 12 14 +0 4 5 6 7 9 12 15 +0 4 5 6 7 9 13 14 +0 4 5 6 7 9 13 15 +0 4 5 6 7 9 14 15 +0 4 5 6 7 10 11 12 +0 4 5 6 7 10 11 13 +0 4 5 6 7 10 11 14 +0 4 5 6 7 10 11 15 +0 4 5 6 7 10 12 13 +0 4 5 6 7 10 12 14 +0 4 5 6 7 10 12 15 +0 4 5 6 7 10 13 14 +0 4 5 6 7 10 13 15 +0 4 5 6 7 10 14 15 +0 4 5 6 7 11 12 13 +0 4 5 6 7 11 12 14 +0 4 5 6 7 11 12 15 +0 4 5 6 7 11 13 14 +0 4 5 6 7 11 13 15 +0 4 5 6 7 11 14 15 +0 4 5 6 7 12 13 14 +0 4 5 6 7 12 13 15 +0 4 5 6 7 12 14 15 +0 4 5 6 7 13 14 15 +0 4 5 6 8 9 10 11 +0 4 5 6 8 9 10 12 +0 4 5 6 8 9 10 13 +0 4 5 6 8 9 10 14 +0 4 5 6 8 9 10 15 +0 4 5 6 8 9 11 12 +0 4 5 6 8 9 11 13 +0 4 5 6 8 9 11 14 +0 4 5 6 8 9 11 15 +0 4 5 6 8 9 12 13 +0 4 5 6 8 9 12 14 +0 4 5 6 8 9 12 15 +0 4 5 6 8 9 13 14 +0 4 5 6 8 9 13 15 +0 4 5 6 8 9 14 15 +0 4 5 6 8 10 11 12 +0 4 5 6 8 10 11 13 +0 4 5 6 8 10 11 14 +0 4 5 6 8 10 11 15 +0 4 5 6 8 10 12 13 +0 4 5 6 8 10 12 14 +0 4 5 6 8 10 12 15 +0 4 5 6 8 10 13 14 +0 4 5 6 8 10 13 15 +0 4 5 6 8 10 14 15 +0 4 5 6 8 11 12 13 +0 4 5 6 8 11 12 14 +0 4 5 6 8 11 12 15 +0 4 5 6 8 11 13 14 +0 4 5 6 8 11 13 15 +0 4 5 6 8 11 14 15 +0 4 5 6 8 12 13 14 +0 4 5 6 8 12 13 15 +0 4 5 6 8 12 14 15 +0 4 5 6 8 13 14 15 +0 4 5 6 9 10 11 12 +0 4 5 6 9 10 11 13 +0 4 5 6 9 10 11 14 +0 4 5 6 9 10 11 15 +0 4 5 6 9 10 12 13 +0 4 5 6 9 10 12 14 +0 4 5 6 9 10 12 15 +0 4 5 6 9 10 13 14 +0 4 5 6 9 10 13 15 +0 4 5 6 9 10 14 15 +0 4 5 6 9 11 12 13 +0 4 5 6 9 11 12 14 +0 4 5 6 9 11 12 15 +0 4 5 6 9 11 13 14 +0 4 5 6 9 11 13 15 +0 4 5 6 9 11 14 15 +0 4 5 6 9 12 13 14 +0 4 5 6 9 12 13 15 +0 4 5 6 9 12 14 15 +0 4 5 6 9 13 14 15 +0 4 5 6 10 11 12 13 +0 4 5 6 10 11 12 14 +0 4 5 6 10 11 12 15 +0 4 5 6 10 11 13 14 +0 4 5 6 10 11 13 15 +0 4 5 6 10 11 14 15 +0 4 5 6 10 12 13 14 +0 4 5 6 10 12 13 15 +0 4 5 6 10 12 14 15 +0 4 5 6 10 13 14 15 +0 4 5 6 11 12 13 14 +0 4 5 6 11 12 13 15 +0 4 5 6 11 12 14 15 +0 4 5 6 11 13 14 15 +0 4 5 6 12 13 14 15 +0 4 5 7 8 9 10 11 +0 4 5 7 8 9 10 12 +0 4 5 7 8 9 10 13 +0 4 5 7 8 9 10 14 +0 4 5 7 8 9 10 15 +0 4 5 7 8 9 11 12 +0 4 5 7 8 9 11 13 +0 4 5 7 8 9 11 14 +0 4 5 7 8 9 11 15 +0 4 5 7 8 9 12 13 +0 4 5 7 8 9 12 14 +0 4 5 7 8 9 12 15 +0 4 5 7 8 9 13 14 +0 4 5 7 8 9 13 15 +0 4 5 7 8 9 14 15 +0 4 5 7 8 10 11 12 +0 4 5 7 8 10 11 13 +0 4 5 7 8 10 11 14 +0 4 5 7 8 10 11 15 +0 4 5 7 8 10 12 13 +0 4 5 7 8 10 12 14 +0 4 5 7 8 10 12 15 +0 4 5 7 8 10 13 14 +0 4 5 7 8 10 13 15 +0 4 5 7 8 10 14 15 +0 4 5 7 8 11 12 13 +0 4 5 7 8 11 12 14 +0 4 5 7 8 11 12 15 +0 4 5 7 8 11 13 14 +0 4 5 7 8 11 13 15 +0 4 5 7 8 11 14 15 +0 4 5 7 8 12 13 14 +0 4 5 7 8 12 13 15 +0 4 5 7 8 12 14 15 +0 4 5 7 8 13 14 15 +0 4 5 7 9 10 11 12 +0 4 5 7 9 10 11 13 +0 4 5 7 9 10 11 14 +0 4 5 7 9 10 11 15 +0 4 5 7 9 10 12 13 +0 4 5 7 9 10 12 14 +0 4 5 7 9 10 12 15 +0 4 5 7 9 10 13 14 +0 4 5 7 9 10 13 15 +0 4 5 7 9 10 14 15 +0 4 5 7 9 11 12 13 +0 4 5 7 9 11 12 14 +0 4 5 7 9 11 12 15 +0 4 5 7 9 11 13 14 +0 4 5 7 9 11 13 15 +0 4 5 7 9 11 14 15 +0 4 5 7 9 12 13 14 +0 4 5 7 9 12 13 15 +0 4 5 7 9 12 14 15 +0 4 5 7 9 13 14 15 +0 4 5 7 10 11 12 13 +0 4 5 7 10 11 12 14 +0 4 5 7 10 11 12 15 +0 4 5 7 10 11 13 14 +0 4 5 7 10 11 13 15 +0 4 5 7 10 11 14 15 +0 4 5 7 10 12 13 14 +0 4 5 7 10 12 13 15 +0 4 5 7 10 12 14 15 +0 4 5 7 10 13 14 15 +0 4 5 7 11 12 13 14 +0 4 5 7 11 12 13 15 +0 4 5 7 11 12 14 15 +0 4 5 7 11 13 14 15 +0 4 5 7 12 13 14 15 +0 4 5 8 9 10 11 12 +0 4 5 8 9 10 11 13 +0 4 5 8 9 10 11 14 +0 4 5 8 9 10 11 15 +0 4 5 8 9 10 12 13 +0 4 5 8 9 10 12 14 +0 4 5 8 9 10 12 15 +0 4 5 8 9 10 13 14 +0 4 5 8 9 10 13 15 +0 4 5 8 9 10 14 15 +0 4 5 8 9 11 12 13 +0 4 5 8 9 11 12 14 +0 4 5 8 9 11 12 15 +0 4 5 8 9 11 13 14 +0 4 5 8 9 11 13 15 +0 4 5 8 9 11 14 15 +0 4 5 8 9 12 13 14 +0 4 5 8 9 12 13 15 +0 4 5 8 9 12 14 15 +0 4 5 8 9 13 14 15 +0 4 5 8 10 11 12 13 +0 4 5 8 10 11 12 14 +0 4 5 8 10 11 12 15 +0 4 5 8 10 11 13 14 +0 4 5 8 10 11 13 15 +0 4 5 8 10 11 14 15 +0 4 5 8 10 12 13 14 +0 4 5 8 10 12 13 15 +0 4 5 8 10 12 14 15 +0 4 5 8 10 13 14 15 +0 4 5 8 11 12 13 14 +0 4 5 8 11 12 13 15 +0 4 5 8 11 12 14 15 +0 4 5 8 11 13 14 15 +0 4 5 8 12 13 14 15 +0 4 5 9 10 11 12 13 +0 4 5 9 10 11 12 14 +0 4 5 9 10 11 12 15 +0 4 5 9 10 11 13 14 +0 4 5 9 10 11 13 15 +0 4 5 9 10 11 14 15 +0 4 5 9 10 12 13 14 +0 4 5 9 10 12 13 15 +0 4 5 9 10 12 14 15 +0 4 5 9 10 13 14 15 +0 4 5 9 11 12 13 14 +0 4 5 9 11 12 13 15 +0 4 5 9 11 12 14 15 +0 4 5 9 11 13 14 15 +0 4 5 9 12 13 14 15 +0 4 5 10 11 12 13 14 +0 4 5 10 11 12 13 15 +0 4 5 10 11 12 14 15 +0 4 5 10 11 13 14 15 +0 4 5 10 12 13 14 15 +0 4 5 11 12 13 14 15 +0 4 6 7 8 9 10 11 +0 4 6 7 8 9 10 12 +0 4 6 7 8 9 10 13 +0 4 6 7 8 9 10 14 +0 4 6 7 8 9 10 15 +0 4 6 7 8 9 11 12 +0 4 6 7 8 9 11 13 +0 4 6 7 8 9 11 14 +0 4 6 7 8 9 11 15 +0 4 6 7 8 9 12 13 +0 4 6 7 8 9 12 14 +0 4 6 7 8 9 12 15 +0 4 6 7 8 9 13 14 +0 4 6 7 8 9 13 15 +0 4 6 7 8 9 14 15 +0 4 6 7 8 10 11 12 +0 4 6 7 8 10 11 13 +0 4 6 7 8 10 11 14 +0 4 6 7 8 10 11 15 +0 4 6 7 8 10 12 13 +0 4 6 7 8 10 12 14 +0 4 6 7 8 10 12 15 +0 4 6 7 8 10 13 14 +0 4 6 7 8 10 13 15 +0 4 6 7 8 10 14 15 +0 4 6 7 8 11 12 13 +0 4 6 7 8 11 12 14 +0 4 6 7 8 11 12 15 +0 4 6 7 8 11 13 14 +0 4 6 7 8 11 13 15 +0 4 6 7 8 11 14 15 +0 4 6 7 8 12 13 14 +0 4 6 7 8 12 13 15 +0 4 6 7 8 12 14 15 +0 4 6 7 8 13 14 15 +0 4 6 7 9 10 11 12 +0 4 6 7 9 10 11 13 +0 4 6 7 9 10 11 14 +0 4 6 7 9 10 11 15 +0 4 6 7 9 10 12 13 +0 4 6 7 9 10 12 14 +0 4 6 7 9 10 12 15 +0 4 6 7 9 10 13 14 +0 4 6 7 9 10 13 15 +0 4 6 7 9 10 14 15 +0 4 6 7 9 11 12 13 +0 4 6 7 9 11 12 14 +0 4 6 7 9 11 12 15 +0 4 6 7 9 11 13 14 +0 4 6 7 9 11 13 15 +0 4 6 7 9 11 14 15 +0 4 6 7 9 12 13 14 +0 4 6 7 9 12 13 15 +0 4 6 7 9 12 14 15 +0 4 6 7 9 13 14 15 +0 4 6 7 10 11 12 13 +0 4 6 7 10 11 12 14 +0 4 6 7 10 11 12 15 +0 4 6 7 10 11 13 14 +0 4 6 7 10 11 13 15 +0 4 6 7 10 11 14 15 +0 4 6 7 10 12 13 14 +0 4 6 7 10 12 13 15 +0 4 6 7 10 12 14 15 +0 4 6 7 10 13 14 15 +0 4 6 7 11 12 13 14 +0 4 6 7 11 12 13 15 +0 4 6 7 11 12 14 15 +0 4 6 7 11 13 14 15 +0 4 6 7 12 13 14 15 +0 4 6 8 9 10 11 12 +0 4 6 8 9 10 11 13 +0 4 6 8 9 10 11 14 +0 4 6 8 9 10 11 15 +0 4 6 8 9 10 12 13 +0 4 6 8 9 10 12 14 +0 4 6 8 9 10 12 15 +0 4 6 8 9 10 13 14 +0 4 6 8 9 10 13 15 +0 4 6 8 9 10 14 15 +0 4 6 8 9 11 12 13 +0 4 6 8 9 11 12 14 +0 4 6 8 9 11 12 15 +0 4 6 8 9 11 13 14 +0 4 6 8 9 11 13 15 +0 4 6 8 9 11 14 15 +0 4 6 8 9 12 13 14 +0 4 6 8 9 12 13 15 +0 4 6 8 9 12 14 15 +0 4 6 8 9 13 14 15 +0 4 6 8 10 11 12 13 +0 4 6 8 10 11 12 14 +0 4 6 8 10 11 12 15 +0 4 6 8 10 11 13 14 +0 4 6 8 10 11 13 15 +0 4 6 8 10 11 14 15 +0 4 6 8 10 12 13 14 +0 4 6 8 10 12 13 15 +0 4 6 8 10 12 14 15 +0 4 6 8 10 13 14 15 +0 4 6 8 11 12 13 14 +0 4 6 8 11 12 13 15 +0 4 6 8 11 12 14 15 +0 4 6 8 11 13 14 15 +0 4 6 8 12 13 14 15 +0 4 6 9 10 11 12 13 +0 4 6 9 10 11 12 14 +0 4 6 9 10 11 12 15 +0 4 6 9 10 11 13 14 +0 4 6 9 10 11 13 15 +0 4 6 9 10 11 14 15 +0 4 6 9 10 12 13 14 +0 4 6 9 10 12 13 15 +0 4 6 9 10 12 14 15 +0 4 6 9 10 13 14 15 +0 4 6 9 11 12 13 14 +0 4 6 9 11 12 13 15 +0 4 6 9 11 12 14 15 +0 4 6 9 11 13 14 15 +0 4 6 9 12 13 14 15 +0 4 6 10 11 12 13 14 +0 4 6 10 11 12 13 15 +0 4 6 10 11 12 14 15 +0 4 6 10 11 13 14 15 +0 4 6 10 12 13 14 15 +0 4 6 11 12 13 14 15 +0 4 7 8 9 10 11 12 +0 4 7 8 9 10 11 13 +0 4 7 8 9 10 11 14 +0 4 7 8 9 10 11 15 +0 4 7 8 9 10 12 13 +0 4 7 8 9 10 12 14 +0 4 7 8 9 10 12 15 +0 4 7 8 9 10 13 14 +0 4 7 8 9 10 13 15 +0 4 7 8 9 10 14 15 +0 4 7 8 9 11 12 13 +0 4 7 8 9 11 12 14 +0 4 7 8 9 11 12 15 +0 4 7 8 9 11 13 14 +0 4 7 8 9 11 13 15 +0 4 7 8 9 11 14 15 +0 4 7 8 9 12 13 14 +0 4 7 8 9 12 13 15 +0 4 7 8 9 12 14 15 +0 4 7 8 9 13 14 15 +0 4 7 8 10 11 12 13 +0 4 7 8 10 11 12 14 +0 4 7 8 10 11 12 15 +0 4 7 8 10 11 13 14 +0 4 7 8 10 11 13 15 +0 4 7 8 10 11 14 15 +0 4 7 8 10 12 13 14 +0 4 7 8 10 12 13 15 +0 4 7 8 10 12 14 15 +0 4 7 8 10 13 14 15 +0 4 7 8 11 12 13 14 +0 4 7 8 11 12 13 15 +0 4 7 8 11 12 14 15 +0 4 7 8 11 13 14 15 +0 4 7 8 12 13 14 15 +0 4 7 9 10 11 12 13 +0 4 7 9 10 11 12 14 +0 4 7 9 10 11 12 15 +0 4 7 9 10 11 13 14 +0 4 7 9 10 11 13 15 +0 4 7 9 10 11 14 15 +0 4 7 9 10 12 13 14 +0 4 7 9 10 12 13 15 +0 4 7 9 10 12 14 15 +0 4 7 9 10 13 14 15 +0 4 7 9 11 12 13 14 +0 4 7 9 11 12 13 15 +0 4 7 9 11 12 14 15 +0 4 7 9 11 13 14 15 +0 4 7 9 12 13 14 15 +0 4 7 10 11 12 13 14 +0 4 7 10 11 12 13 15 +0 4 7 10 11 12 14 15 +0 4 7 10 11 13 14 15 +0 4 7 10 12 13 14 15 +0 4 7 11 12 13 14 15 +0 4 8 9 10 11 12 13 +0 4 8 9 10 11 12 14 +0 4 8 9 10 11 12 15 +0 4 8 9 10 11 13 14 +0 4 8 9 10 11 13 15 +0 4 8 9 10 11 14 15 +0 4 8 9 10 12 13 14 +0 4 8 9 10 12 13 15 +0 4 8 9 10 12 14 15 +0 4 8 9 10 13 14 15 +0 4 8 9 11 12 13 14 +0 4 8 9 11 12 13 15 +0 4 8 9 11 12 14 15 +0 4 8 9 11 13 14 15 +0 4 8 9 12 13 14 15 +0 4 8 10 11 12 13 14 +0 4 8 10 11 12 13 15 +0 4 8 10 11 12 14 15 +0 4 8 10 11 13 14 15 +0 4 8 10 12 13 14 15 +0 4 8 11 12 13 14 15 +0 4 9 10 11 12 13 14 +0 4 9 10 11 12 13 15 +0 4 9 10 11 12 14 15 +0 4 9 10 11 13 14 15 +0 4 9 10 12 13 14 15 +0 4 9 11 12 13 14 15 +0 4 10 11 12 13 14 15 +0 5 6 7 8 9 10 11 +0 5 6 7 8 9 10 12 +0 5 6 7 8 9 10 13 +0 5 6 7 8 9 10 14 +0 5 6 7 8 9 10 15 +0 5 6 7 8 9 11 12 +0 5 6 7 8 9 11 13 +0 5 6 7 8 9 11 14 +0 5 6 7 8 9 11 15 +0 5 6 7 8 9 12 13 +0 5 6 7 8 9 12 14 +0 5 6 7 8 9 12 15 +0 5 6 7 8 9 13 14 +0 5 6 7 8 9 13 15 +0 5 6 7 8 9 14 15 +0 5 6 7 8 10 11 12 +0 5 6 7 8 10 11 13 +0 5 6 7 8 10 11 14 +0 5 6 7 8 10 11 15 +0 5 6 7 8 10 12 13 +0 5 6 7 8 10 12 14 +0 5 6 7 8 10 12 15 +0 5 6 7 8 10 13 14 +0 5 6 7 8 10 13 15 +0 5 6 7 8 10 14 15 +0 5 6 7 8 11 12 13 +0 5 6 7 8 11 12 14 +0 5 6 7 8 11 12 15 +0 5 6 7 8 11 13 14 +0 5 6 7 8 11 13 15 +0 5 6 7 8 11 14 15 +0 5 6 7 8 12 13 14 +0 5 6 7 8 12 13 15 +0 5 6 7 8 12 14 15 +0 5 6 7 8 13 14 15 +0 5 6 7 9 10 11 12 +0 5 6 7 9 10 11 13 +0 5 6 7 9 10 11 14 +0 5 6 7 9 10 11 15 +0 5 6 7 9 10 12 13 +0 5 6 7 9 10 12 14 +0 5 6 7 9 10 12 15 +0 5 6 7 9 10 13 14 +0 5 6 7 9 10 13 15 +0 5 6 7 9 10 14 15 +0 5 6 7 9 11 12 13 +0 5 6 7 9 11 12 14 +0 5 6 7 9 11 12 15 +0 5 6 7 9 11 13 14 +0 5 6 7 9 11 13 15 +0 5 6 7 9 11 14 15 +0 5 6 7 9 12 13 14 +0 5 6 7 9 12 13 15 +0 5 6 7 9 12 14 15 +0 5 6 7 9 13 14 15 +0 5 6 7 10 11 12 13 +0 5 6 7 10 11 12 14 +0 5 6 7 10 11 12 15 +0 5 6 7 10 11 13 14 +0 5 6 7 10 11 13 15 +0 5 6 7 10 11 14 15 +0 5 6 7 10 12 13 14 +0 5 6 7 10 12 13 15 +0 5 6 7 10 12 14 15 +0 5 6 7 10 13 14 15 +0 5 6 7 11 12 13 14 +0 5 6 7 11 12 13 15 +0 5 6 7 11 12 14 15 +0 5 6 7 11 13 14 15 +0 5 6 7 12 13 14 15 +0 5 6 8 9 10 11 12 +0 5 6 8 9 10 11 13 +0 5 6 8 9 10 11 14 +0 5 6 8 9 10 11 15 +0 5 6 8 9 10 12 13 +0 5 6 8 9 10 12 14 +0 5 6 8 9 10 12 15 +0 5 6 8 9 10 13 14 +0 5 6 8 9 10 13 15 +0 5 6 8 9 10 14 15 +0 5 6 8 9 11 12 13 +0 5 6 8 9 11 12 14 +0 5 6 8 9 11 12 15 +0 5 6 8 9 11 13 14 +0 5 6 8 9 11 13 15 +0 5 6 8 9 11 14 15 +0 5 6 8 9 12 13 14 +0 5 6 8 9 12 13 15 +0 5 6 8 9 12 14 15 +0 5 6 8 9 13 14 15 +0 5 6 8 10 11 12 13 +0 5 6 8 10 11 12 14 +0 5 6 8 10 11 12 15 +0 5 6 8 10 11 13 14 +0 5 6 8 10 11 13 15 +0 5 6 8 10 11 14 15 +0 5 6 8 10 12 13 14 +0 5 6 8 10 12 13 15 +0 5 6 8 10 12 14 15 +0 5 6 8 10 13 14 15 +0 5 6 8 11 12 13 14 +0 5 6 8 11 12 13 15 +0 5 6 8 11 12 14 15 +0 5 6 8 11 13 14 15 +0 5 6 8 12 13 14 15 +0 5 6 9 10 11 12 13 +0 5 6 9 10 11 12 14 +0 5 6 9 10 11 12 15 +0 5 6 9 10 11 13 14 +0 5 6 9 10 11 13 15 +0 5 6 9 10 11 14 15 +0 5 6 9 10 12 13 14 +0 5 6 9 10 12 13 15 +0 5 6 9 10 12 14 15 +0 5 6 9 10 13 14 15 +0 5 6 9 11 12 13 14 +0 5 6 9 11 12 13 15 +0 5 6 9 11 12 14 15 +0 5 6 9 11 13 14 15 +0 5 6 9 12 13 14 15 +0 5 6 10 11 12 13 14 +0 5 6 10 11 12 13 15 +0 5 6 10 11 12 14 15 +0 5 6 10 11 13 14 15 +0 5 6 10 12 13 14 15 +0 5 6 11 12 13 14 15 +0 5 7 8 9 10 11 12 +0 5 7 8 9 10 11 13 +0 5 7 8 9 10 11 14 +0 5 7 8 9 10 11 15 +0 5 7 8 9 10 12 13 +0 5 7 8 9 10 12 14 +0 5 7 8 9 10 12 15 +0 5 7 8 9 10 13 14 +0 5 7 8 9 10 13 15 +0 5 7 8 9 10 14 15 +0 5 7 8 9 11 12 13 +0 5 7 8 9 11 12 14 +0 5 7 8 9 11 12 15 +0 5 7 8 9 11 13 14 +0 5 7 8 9 11 13 15 +0 5 7 8 9 11 14 15 +0 5 7 8 9 12 13 14 +0 5 7 8 9 12 13 15 +0 5 7 8 9 12 14 15 +0 5 7 8 9 13 14 15 +0 5 7 8 10 11 12 13 +0 5 7 8 10 11 12 14 +0 5 7 8 10 11 12 15 +0 5 7 8 10 11 13 14 +0 5 7 8 10 11 13 15 +0 5 7 8 10 11 14 15 +0 5 7 8 10 12 13 14 +0 5 7 8 10 12 13 15 +0 5 7 8 10 12 14 15 +0 5 7 8 10 13 14 15 +0 5 7 8 11 12 13 14 +0 5 7 8 11 12 13 15 +0 5 7 8 11 12 14 15 +0 5 7 8 11 13 14 15 +0 5 7 8 12 13 14 15 +0 5 7 9 10 11 12 13 +0 5 7 9 10 11 12 14 +0 5 7 9 10 11 12 15 +0 5 7 9 10 11 13 14 +0 5 7 9 10 11 13 15 +0 5 7 9 10 11 14 15 +0 5 7 9 10 12 13 14 +0 5 7 9 10 12 13 15 +0 5 7 9 10 12 14 15 +0 5 7 9 10 13 14 15 +0 5 7 9 11 12 13 14 +0 5 7 9 11 12 13 15 +0 5 7 9 11 12 14 15 +0 5 7 9 11 13 14 15 +0 5 7 9 12 13 14 15 +0 5 7 10 11 12 13 14 +0 5 7 10 11 12 13 15 +0 5 7 10 11 12 14 15 +0 5 7 10 11 13 14 15 +0 5 7 10 12 13 14 15 +0 5 7 11 12 13 14 15 +0 5 8 9 10 11 12 13 +0 5 8 9 10 11 12 14 +0 5 8 9 10 11 12 15 +0 5 8 9 10 11 13 14 +0 5 8 9 10 11 13 15 +0 5 8 9 10 11 14 15 +0 5 8 9 10 12 13 14 +0 5 8 9 10 12 13 15 +0 5 8 9 10 12 14 15 +0 5 8 9 10 13 14 15 +0 5 8 9 11 12 13 14 +0 5 8 9 11 12 13 15 +0 5 8 9 11 12 14 15 +0 5 8 9 11 13 14 15 +0 5 8 9 12 13 14 15 +0 5 8 10 11 12 13 14 +0 5 8 10 11 12 13 15 +0 5 8 10 11 12 14 15 +0 5 8 10 11 13 14 15 +0 5 8 10 12 13 14 15 +0 5 8 11 12 13 14 15 +0 5 9 10 11 12 13 14 +0 5 9 10 11 12 13 15 +0 5 9 10 11 12 14 15 +0 5 9 10 11 13 14 15 +0 5 9 10 12 13 14 15 +0 5 9 11 12 13 14 15 +0 5 10 11 12 13 14 15 +0 6 7 8 9 10 11 12 +0 6 7 8 9 10 11 13 +0 6 7 8 9 10 11 14 +0 6 7 8 9 10 11 15 +0 6 7 8 9 10 12 13 +0 6 7 8 9 10 12 14 +0 6 7 8 9 10 12 15 +0 6 7 8 9 10 13 14 +0 6 7 8 9 10 13 15 +0 6 7 8 9 10 14 15 +0 6 7 8 9 11 12 13 +0 6 7 8 9 11 12 14 +0 6 7 8 9 11 12 15 +0 6 7 8 9 11 13 14 +0 6 7 8 9 11 13 15 +0 6 7 8 9 11 14 15 +0 6 7 8 9 12 13 14 +0 6 7 8 9 12 13 15 +0 6 7 8 9 12 14 15 +0 6 7 8 9 13 14 15 +0 6 7 8 10 11 12 13 +0 6 7 8 10 11 12 14 +0 6 7 8 10 11 12 15 +0 6 7 8 10 11 13 14 +0 6 7 8 10 11 13 15 +0 6 7 8 10 11 14 15 +0 6 7 8 10 12 13 14 +0 6 7 8 10 12 13 15 +0 6 7 8 10 12 14 15 +0 6 7 8 10 13 14 15 +0 6 7 8 11 12 13 14 +0 6 7 8 11 12 13 15 +0 6 7 8 11 12 14 15 +0 6 7 8 11 13 14 15 +0 6 7 8 12 13 14 15 +0 6 7 9 10 11 12 13 +0 6 7 9 10 11 12 14 +0 6 7 9 10 11 12 15 +0 6 7 9 10 11 13 14 +0 6 7 9 10 11 13 15 +0 6 7 9 10 11 14 15 +0 6 7 9 10 12 13 14 +0 6 7 9 10 12 13 15 +0 6 7 9 10 12 14 15 +0 6 7 9 10 13 14 15 +0 6 7 9 11 12 13 14 +0 6 7 9 11 12 13 15 +0 6 7 9 11 12 14 15 +0 6 7 9 11 13 14 15 +0 6 7 9 12 13 14 15 +0 6 7 10 11 12 13 14 +0 6 7 10 11 12 13 15 +0 6 7 10 11 12 14 15 +0 6 7 10 11 13 14 15 +0 6 7 10 12 13 14 15 +0 6 7 11 12 13 14 15 +0 6 8 9 10 11 12 13 +0 6 8 9 10 11 12 14 +0 6 8 9 10 11 12 15 +0 6 8 9 10 11 13 14 +0 6 8 9 10 11 13 15 +0 6 8 9 10 11 14 15 +0 6 8 9 10 12 13 14 +0 6 8 9 10 12 13 15 +0 6 8 9 10 12 14 15 +0 6 8 9 10 13 14 15 +0 6 8 9 11 12 13 14 +0 6 8 9 11 12 13 15 +0 6 8 9 11 12 14 15 +0 6 8 9 11 13 14 15 +0 6 8 9 12 13 14 15 +0 6 8 10 11 12 13 14 +0 6 8 10 11 12 13 15 +0 6 8 10 11 12 14 15 +0 6 8 10 11 13 14 15 +0 6 8 10 12 13 14 15 +0 6 8 11 12 13 14 15 +0 6 9 10 11 12 13 14 +0 6 9 10 11 12 13 15 +0 6 9 10 11 12 14 15 +0 6 9 10 11 13 14 15 +0 6 9 10 12 13 14 15 +0 6 9 11 12 13 14 15 +0 6 10 11 12 13 14 15 +0 7 8 9 10 11 12 13 +0 7 8 9 10 11 12 14 +0 7 8 9 10 11 12 15 +0 7 8 9 10 11 13 14 +0 7 8 9 10 11 13 15 +0 7 8 9 10 11 14 15 +0 7 8 9 10 12 13 14 +0 7 8 9 10 12 13 15 +0 7 8 9 10 12 14 15 +0 7 8 9 10 13 14 15 +0 7 8 9 11 12 13 14 +0 7 8 9 11 12 13 15 +0 7 8 9 11 12 14 15 +0 7 8 9 11 13 14 15 +0 7 8 9 12 13 14 15 +0 7 8 10 11 12 13 14 +0 7 8 10 11 12 13 15 +0 7 8 10 11 12 14 15 +0 7 8 10 11 13 14 15 +0 7 8 10 12 13 14 15 +0 7 8 11 12 13 14 15 +0 7 9 10 11 12 13 14 +0 7 9 10 11 12 13 15 +0 7 9 10 11 12 14 15 +0 7 9 10 11 13 14 15 +0 7 9 10 12 13 14 15 +0 7 9 11 12 13 14 15 +0 7 10 11 12 13 14 15 +0 8 9 10 11 12 13 14 +0 8 9 10 11 12 13 15 +0 8 9 10 11 12 14 15 +0 8 9 10 11 13 14 15 +0 8 9 10 12 13 14 15 +0 8 9 11 12 13 14 15 +0 8 10 11 12 13 14 15 +0 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 +1 2 3 4 5 6 7 9 +1 2 3 4 5 6 7 10 +1 2 3 4 5 6 7 11 +1 2 3 4 5 6 7 12 +1 2 3 4 5 6 7 13 +1 2 3 4 5 6 7 14 +1 2 3 4 5 6 7 15 +1 2 3 4 5 6 8 9 +1 2 3 4 5 6 8 10 +1 2 3 4 5 6 8 11 +1 2 3 4 5 6 8 12 +1 2 3 4 5 6 8 13 +1 2 3 4 5 6 8 14 +1 2 3 4 5 6 8 15 +1 2 3 4 5 6 9 10 +1 2 3 4 5 6 9 11 +1 2 3 4 5 6 9 12 +1 2 3 4 5 6 9 13 +1 2 3 4 5 6 9 14 +1 2 3 4 5 6 9 15 +1 2 3 4 5 6 10 11 +1 2 3 4 5 6 10 12 +1 2 3 4 5 6 10 13 +1 2 3 4 5 6 10 14 +1 2 3 4 5 6 10 15 +1 2 3 4 5 6 11 12 +1 2 3 4 5 6 11 13 +1 2 3 4 5 6 11 14 +1 2 3 4 5 6 11 15 +1 2 3 4 5 6 12 13 +1 2 3 4 5 6 12 14 +1 2 3 4 5 6 12 15 +1 2 3 4 5 6 13 14 +1 2 3 4 5 6 13 15 +1 2 3 4 5 6 14 15 +1 2 3 4 5 7 8 9 +1 2 3 4 5 7 8 10 +1 2 3 4 5 7 8 11 +1 2 3 4 5 7 8 12 +1 2 3 4 5 7 8 13 +1 2 3 4 5 7 8 14 +1 2 3 4 5 7 8 15 +1 2 3 4 5 7 9 10 +1 2 3 4 5 7 9 11 +1 2 3 4 5 7 9 12 +1 2 3 4 5 7 9 13 +1 2 3 4 5 7 9 14 +1 2 3 4 5 7 9 15 +1 2 3 4 5 7 10 11 +1 2 3 4 5 7 10 12 +1 2 3 4 5 7 10 13 +1 2 3 4 5 7 10 14 +1 2 3 4 5 7 10 15 +1 2 3 4 5 7 11 12 +1 2 3 4 5 7 11 13 +1 2 3 4 5 7 11 14 +1 2 3 4 5 7 11 15 +1 2 3 4 5 7 12 13 +1 2 3 4 5 7 12 14 +1 2 3 4 5 7 12 15 +1 2 3 4 5 7 13 14 +1 2 3 4 5 7 13 15 +1 2 3 4 5 7 14 15 +1 2 3 4 5 8 9 10 +1 2 3 4 5 8 9 11 +1 2 3 4 5 8 9 12 +1 2 3 4 5 8 9 13 +1 2 3 4 5 8 9 14 +1 2 3 4 5 8 9 15 +1 2 3 4 5 8 10 11 +1 2 3 4 5 8 10 12 +1 2 3 4 5 8 10 13 +1 2 3 4 5 8 10 14 +1 2 3 4 5 8 10 15 +1 2 3 4 5 8 11 12 +1 2 3 4 5 8 11 13 +1 2 3 4 5 8 11 14 +1 2 3 4 5 8 11 15 +1 2 3 4 5 8 12 13 +1 2 3 4 5 8 12 14 +1 2 3 4 5 8 12 15 +1 2 3 4 5 8 13 14 +1 2 3 4 5 8 13 15 +1 2 3 4 5 8 14 15 +1 2 3 4 5 9 10 11 +1 2 3 4 5 9 10 12 +1 2 3 4 5 9 10 13 +1 2 3 4 5 9 10 14 +1 2 3 4 5 9 10 15 +1 2 3 4 5 9 11 12 +1 2 3 4 5 9 11 13 +1 2 3 4 5 9 11 14 +1 2 3 4 5 9 11 15 +1 2 3 4 5 9 12 13 +1 2 3 4 5 9 12 14 +1 2 3 4 5 9 12 15 +1 2 3 4 5 9 13 14 +1 2 3 4 5 9 13 15 +1 2 3 4 5 9 14 15 +1 2 3 4 5 10 11 12 +1 2 3 4 5 10 11 13 +1 2 3 4 5 10 11 14 +1 2 3 4 5 10 11 15 +1 2 3 4 5 10 12 13 +1 2 3 4 5 10 12 14 +1 2 3 4 5 10 12 15 +1 2 3 4 5 10 13 14 +1 2 3 4 5 10 13 15 +1 2 3 4 5 10 14 15 +1 2 3 4 5 11 12 13 +1 2 3 4 5 11 12 14 +1 2 3 4 5 11 12 15 +1 2 3 4 5 11 13 14 +1 2 3 4 5 11 13 15 +1 2 3 4 5 11 14 15 +1 2 3 4 5 12 13 14 +1 2 3 4 5 12 13 15 +1 2 3 4 5 12 14 15 +1 2 3 4 5 13 14 15 +1 2 3 4 6 7 8 9 +1 2 3 4 6 7 8 10 +1 2 3 4 6 7 8 11 +1 2 3 4 6 7 8 12 +1 2 3 4 6 7 8 13 +1 2 3 4 6 7 8 14 +1 2 3 4 6 7 8 15 +1 2 3 4 6 7 9 10 +1 2 3 4 6 7 9 11 +1 2 3 4 6 7 9 12 +1 2 3 4 6 7 9 13 +1 2 3 4 6 7 9 14 +1 2 3 4 6 7 9 15 +1 2 3 4 6 7 10 11 +1 2 3 4 6 7 10 12 +1 2 3 4 6 7 10 13 +1 2 3 4 6 7 10 14 +1 2 3 4 6 7 10 15 +1 2 3 4 6 7 11 12 +1 2 3 4 6 7 11 13 +1 2 3 4 6 7 11 14 +1 2 3 4 6 7 11 15 +1 2 3 4 6 7 12 13 +1 2 3 4 6 7 12 14 +1 2 3 4 6 7 12 15 +1 2 3 4 6 7 13 14 +1 2 3 4 6 7 13 15 +1 2 3 4 6 7 14 15 +1 2 3 4 6 8 9 10 +1 2 3 4 6 8 9 11 +1 2 3 4 6 8 9 12 +1 2 3 4 6 8 9 13 +1 2 3 4 6 8 9 14 +1 2 3 4 6 8 9 15 +1 2 3 4 6 8 10 11 +1 2 3 4 6 8 10 12 +1 2 3 4 6 8 10 13 +1 2 3 4 6 8 10 14 +1 2 3 4 6 8 10 15 +1 2 3 4 6 8 11 12 +1 2 3 4 6 8 11 13 +1 2 3 4 6 8 11 14 +1 2 3 4 6 8 11 15 +1 2 3 4 6 8 12 13 +1 2 3 4 6 8 12 14 +1 2 3 4 6 8 12 15 +1 2 3 4 6 8 13 14 +1 2 3 4 6 8 13 15 +1 2 3 4 6 8 14 15 +1 2 3 4 6 9 10 11 +1 2 3 4 6 9 10 12 +1 2 3 4 6 9 10 13 +1 2 3 4 6 9 10 14 +1 2 3 4 6 9 10 15 +1 2 3 4 6 9 11 12 +1 2 3 4 6 9 11 13 +1 2 3 4 6 9 11 14 +1 2 3 4 6 9 11 15 +1 2 3 4 6 9 12 13 +1 2 3 4 6 9 12 14 +1 2 3 4 6 9 12 15 +1 2 3 4 6 9 13 14 +1 2 3 4 6 9 13 15 +1 2 3 4 6 9 14 15 +1 2 3 4 6 10 11 12 +1 2 3 4 6 10 11 13 +1 2 3 4 6 10 11 14 +1 2 3 4 6 10 11 15 +1 2 3 4 6 10 12 13 +1 2 3 4 6 10 12 14 +1 2 3 4 6 10 12 15 +1 2 3 4 6 10 13 14 +1 2 3 4 6 10 13 15 +1 2 3 4 6 10 14 15 +1 2 3 4 6 11 12 13 +1 2 3 4 6 11 12 14 +1 2 3 4 6 11 12 15 +1 2 3 4 6 11 13 14 +1 2 3 4 6 11 13 15 +1 2 3 4 6 11 14 15 +1 2 3 4 6 12 13 14 +1 2 3 4 6 12 13 15 +1 2 3 4 6 12 14 15 +1 2 3 4 6 13 14 15 +1 2 3 4 7 8 9 10 +1 2 3 4 7 8 9 11 +1 2 3 4 7 8 9 12 +1 2 3 4 7 8 9 13 +1 2 3 4 7 8 9 14 +1 2 3 4 7 8 9 15 +1 2 3 4 7 8 10 11 +1 2 3 4 7 8 10 12 +1 2 3 4 7 8 10 13 +1 2 3 4 7 8 10 14 +1 2 3 4 7 8 10 15 +1 2 3 4 7 8 11 12 +1 2 3 4 7 8 11 13 +1 2 3 4 7 8 11 14 +1 2 3 4 7 8 11 15 +1 2 3 4 7 8 12 13 +1 2 3 4 7 8 12 14 +1 2 3 4 7 8 12 15 +1 2 3 4 7 8 13 14 +1 2 3 4 7 8 13 15 +1 2 3 4 7 8 14 15 +1 2 3 4 7 9 10 11 +1 2 3 4 7 9 10 12 +1 2 3 4 7 9 10 13 +1 2 3 4 7 9 10 14 +1 2 3 4 7 9 10 15 +1 2 3 4 7 9 11 12 +1 2 3 4 7 9 11 13 +1 2 3 4 7 9 11 14 +1 2 3 4 7 9 11 15 +1 2 3 4 7 9 12 13 +1 2 3 4 7 9 12 14 +1 2 3 4 7 9 12 15 +1 2 3 4 7 9 13 14 +1 2 3 4 7 9 13 15 +1 2 3 4 7 9 14 15 +1 2 3 4 7 10 11 12 +1 2 3 4 7 10 11 13 +1 2 3 4 7 10 11 14 +1 2 3 4 7 10 11 15 +1 2 3 4 7 10 12 13 +1 2 3 4 7 10 12 14 +1 2 3 4 7 10 12 15 +1 2 3 4 7 10 13 14 +1 2 3 4 7 10 13 15 +1 2 3 4 7 10 14 15 +1 2 3 4 7 11 12 13 +1 2 3 4 7 11 12 14 +1 2 3 4 7 11 12 15 +1 2 3 4 7 11 13 14 +1 2 3 4 7 11 13 15 +1 2 3 4 7 11 14 15 +1 2 3 4 7 12 13 14 +1 2 3 4 7 12 13 15 +1 2 3 4 7 12 14 15 +1 2 3 4 7 13 14 15 +1 2 3 4 8 9 10 11 +1 2 3 4 8 9 10 12 +1 2 3 4 8 9 10 13 +1 2 3 4 8 9 10 14 +1 2 3 4 8 9 10 15 +1 2 3 4 8 9 11 12 +1 2 3 4 8 9 11 13 +1 2 3 4 8 9 11 14 +1 2 3 4 8 9 11 15 +1 2 3 4 8 9 12 13 +1 2 3 4 8 9 12 14 +1 2 3 4 8 9 12 15 +1 2 3 4 8 9 13 14 +1 2 3 4 8 9 13 15 +1 2 3 4 8 9 14 15 +1 2 3 4 8 10 11 12 +1 2 3 4 8 10 11 13 +1 2 3 4 8 10 11 14 +1 2 3 4 8 10 11 15 +1 2 3 4 8 10 12 13 +1 2 3 4 8 10 12 14 +1 2 3 4 8 10 12 15 +1 2 3 4 8 10 13 14 +1 2 3 4 8 10 13 15 +1 2 3 4 8 10 14 15 +1 2 3 4 8 11 12 13 +1 2 3 4 8 11 12 14 +1 2 3 4 8 11 12 15 +1 2 3 4 8 11 13 14 +1 2 3 4 8 11 13 15 +1 2 3 4 8 11 14 15 +1 2 3 4 8 12 13 14 +1 2 3 4 8 12 13 15 +1 2 3 4 8 12 14 15 +1 2 3 4 8 13 14 15 +1 2 3 4 9 10 11 12 +1 2 3 4 9 10 11 13 +1 2 3 4 9 10 11 14 +1 2 3 4 9 10 11 15 +1 2 3 4 9 10 12 13 +1 2 3 4 9 10 12 14 +1 2 3 4 9 10 12 15 +1 2 3 4 9 10 13 14 +1 2 3 4 9 10 13 15 +1 2 3 4 9 10 14 15 +1 2 3 4 9 11 12 13 +1 2 3 4 9 11 12 14 +1 2 3 4 9 11 12 15 +1 2 3 4 9 11 13 14 +1 2 3 4 9 11 13 15 +1 2 3 4 9 11 14 15 +1 2 3 4 9 12 13 14 +1 2 3 4 9 12 13 15 +1 2 3 4 9 12 14 15 +1 2 3 4 9 13 14 15 +1 2 3 4 10 11 12 13 +1 2 3 4 10 11 12 14 +1 2 3 4 10 11 12 15 +1 2 3 4 10 11 13 14 +1 2 3 4 10 11 13 15 +1 2 3 4 10 11 14 15 +1 2 3 4 10 12 13 14 +1 2 3 4 10 12 13 15 +1 2 3 4 10 12 14 15 +1 2 3 4 10 13 14 15 +1 2 3 4 11 12 13 14 +1 2 3 4 11 12 13 15 +1 2 3 4 11 12 14 15 +1 2 3 4 11 13 14 15 +1 2 3 4 12 13 14 15 +1 2 3 5 6 7 8 9 +1 2 3 5 6 7 8 10 +1 2 3 5 6 7 8 11 +1 2 3 5 6 7 8 12 +1 2 3 5 6 7 8 13 +1 2 3 5 6 7 8 14 +1 2 3 5 6 7 8 15 +1 2 3 5 6 7 9 10 +1 2 3 5 6 7 9 11 +1 2 3 5 6 7 9 12 +1 2 3 5 6 7 9 13 +1 2 3 5 6 7 9 14 +1 2 3 5 6 7 9 15 +1 2 3 5 6 7 10 11 +1 2 3 5 6 7 10 12 +1 2 3 5 6 7 10 13 +1 2 3 5 6 7 10 14 +1 2 3 5 6 7 10 15 +1 2 3 5 6 7 11 12 +1 2 3 5 6 7 11 13 +1 2 3 5 6 7 11 14 +1 2 3 5 6 7 11 15 +1 2 3 5 6 7 12 13 +1 2 3 5 6 7 12 14 +1 2 3 5 6 7 12 15 +1 2 3 5 6 7 13 14 +1 2 3 5 6 7 13 15 +1 2 3 5 6 7 14 15 +1 2 3 5 6 8 9 10 +1 2 3 5 6 8 9 11 +1 2 3 5 6 8 9 12 +1 2 3 5 6 8 9 13 +1 2 3 5 6 8 9 14 +1 2 3 5 6 8 9 15 +1 2 3 5 6 8 10 11 +1 2 3 5 6 8 10 12 +1 2 3 5 6 8 10 13 +1 2 3 5 6 8 10 14 +1 2 3 5 6 8 10 15 +1 2 3 5 6 8 11 12 +1 2 3 5 6 8 11 13 +1 2 3 5 6 8 11 14 +1 2 3 5 6 8 11 15 +1 2 3 5 6 8 12 13 +1 2 3 5 6 8 12 14 +1 2 3 5 6 8 12 15 +1 2 3 5 6 8 13 14 +1 2 3 5 6 8 13 15 +1 2 3 5 6 8 14 15 +1 2 3 5 6 9 10 11 +1 2 3 5 6 9 10 12 +1 2 3 5 6 9 10 13 +1 2 3 5 6 9 10 14 +1 2 3 5 6 9 10 15 +1 2 3 5 6 9 11 12 +1 2 3 5 6 9 11 13 +1 2 3 5 6 9 11 14 +1 2 3 5 6 9 11 15 +1 2 3 5 6 9 12 13 +1 2 3 5 6 9 12 14 +1 2 3 5 6 9 12 15 +1 2 3 5 6 9 13 14 +1 2 3 5 6 9 13 15 +1 2 3 5 6 9 14 15 +1 2 3 5 6 10 11 12 +1 2 3 5 6 10 11 13 +1 2 3 5 6 10 11 14 +1 2 3 5 6 10 11 15 +1 2 3 5 6 10 12 13 +1 2 3 5 6 10 12 14 +1 2 3 5 6 10 12 15 +1 2 3 5 6 10 13 14 +1 2 3 5 6 10 13 15 +1 2 3 5 6 10 14 15 +1 2 3 5 6 11 12 13 +1 2 3 5 6 11 12 14 +1 2 3 5 6 11 12 15 +1 2 3 5 6 11 13 14 +1 2 3 5 6 11 13 15 +1 2 3 5 6 11 14 15 +1 2 3 5 6 12 13 14 +1 2 3 5 6 12 13 15 +1 2 3 5 6 12 14 15 +1 2 3 5 6 13 14 15 +1 2 3 5 7 8 9 10 +1 2 3 5 7 8 9 11 +1 2 3 5 7 8 9 12 +1 2 3 5 7 8 9 13 +1 2 3 5 7 8 9 14 +1 2 3 5 7 8 9 15 +1 2 3 5 7 8 10 11 +1 2 3 5 7 8 10 12 +1 2 3 5 7 8 10 13 +1 2 3 5 7 8 10 14 +1 2 3 5 7 8 10 15 +1 2 3 5 7 8 11 12 +1 2 3 5 7 8 11 13 +1 2 3 5 7 8 11 14 +1 2 3 5 7 8 11 15 +1 2 3 5 7 8 12 13 +1 2 3 5 7 8 12 14 +1 2 3 5 7 8 12 15 +1 2 3 5 7 8 13 14 +1 2 3 5 7 8 13 15 +1 2 3 5 7 8 14 15 +1 2 3 5 7 9 10 11 +1 2 3 5 7 9 10 12 +1 2 3 5 7 9 10 13 +1 2 3 5 7 9 10 14 +1 2 3 5 7 9 10 15 +1 2 3 5 7 9 11 12 +1 2 3 5 7 9 11 13 +1 2 3 5 7 9 11 14 +1 2 3 5 7 9 11 15 +1 2 3 5 7 9 12 13 +1 2 3 5 7 9 12 14 +1 2 3 5 7 9 12 15 +1 2 3 5 7 9 13 14 +1 2 3 5 7 9 13 15 +1 2 3 5 7 9 14 15 +1 2 3 5 7 10 11 12 +1 2 3 5 7 10 11 13 +1 2 3 5 7 10 11 14 +1 2 3 5 7 10 11 15 +1 2 3 5 7 10 12 13 +1 2 3 5 7 10 12 14 +1 2 3 5 7 10 12 15 +1 2 3 5 7 10 13 14 +1 2 3 5 7 10 13 15 +1 2 3 5 7 10 14 15 +1 2 3 5 7 11 12 13 +1 2 3 5 7 11 12 14 +1 2 3 5 7 11 12 15 +1 2 3 5 7 11 13 14 +1 2 3 5 7 11 13 15 +1 2 3 5 7 11 14 15 +1 2 3 5 7 12 13 14 +1 2 3 5 7 12 13 15 +1 2 3 5 7 12 14 15 +1 2 3 5 7 13 14 15 +1 2 3 5 8 9 10 11 +1 2 3 5 8 9 10 12 +1 2 3 5 8 9 10 13 +1 2 3 5 8 9 10 14 +1 2 3 5 8 9 10 15 +1 2 3 5 8 9 11 12 +1 2 3 5 8 9 11 13 +1 2 3 5 8 9 11 14 +1 2 3 5 8 9 11 15 +1 2 3 5 8 9 12 13 +1 2 3 5 8 9 12 14 +1 2 3 5 8 9 12 15 +1 2 3 5 8 9 13 14 +1 2 3 5 8 9 13 15 +1 2 3 5 8 9 14 15 +1 2 3 5 8 10 11 12 +1 2 3 5 8 10 11 13 +1 2 3 5 8 10 11 14 +1 2 3 5 8 10 11 15 +1 2 3 5 8 10 12 13 +1 2 3 5 8 10 12 14 +1 2 3 5 8 10 12 15 +1 2 3 5 8 10 13 14 +1 2 3 5 8 10 13 15 +1 2 3 5 8 10 14 15 +1 2 3 5 8 11 12 13 +1 2 3 5 8 11 12 14 +1 2 3 5 8 11 12 15 +1 2 3 5 8 11 13 14 +1 2 3 5 8 11 13 15 +1 2 3 5 8 11 14 15 +1 2 3 5 8 12 13 14 +1 2 3 5 8 12 13 15 +1 2 3 5 8 12 14 15 +1 2 3 5 8 13 14 15 +1 2 3 5 9 10 11 12 +1 2 3 5 9 10 11 13 +1 2 3 5 9 10 11 14 +1 2 3 5 9 10 11 15 +1 2 3 5 9 10 12 13 +1 2 3 5 9 10 12 14 +1 2 3 5 9 10 12 15 +1 2 3 5 9 10 13 14 +1 2 3 5 9 10 13 15 +1 2 3 5 9 10 14 15 +1 2 3 5 9 11 12 13 +1 2 3 5 9 11 12 14 +1 2 3 5 9 11 12 15 +1 2 3 5 9 11 13 14 +1 2 3 5 9 11 13 15 +1 2 3 5 9 11 14 15 +1 2 3 5 9 12 13 14 +1 2 3 5 9 12 13 15 +1 2 3 5 9 12 14 15 +1 2 3 5 9 13 14 15 +1 2 3 5 10 11 12 13 +1 2 3 5 10 11 12 14 +1 2 3 5 10 11 12 15 +1 2 3 5 10 11 13 14 +1 2 3 5 10 11 13 15 +1 2 3 5 10 11 14 15 +1 2 3 5 10 12 13 14 +1 2 3 5 10 12 13 15 +1 2 3 5 10 12 14 15 +1 2 3 5 10 13 14 15 +1 2 3 5 11 12 13 14 +1 2 3 5 11 12 13 15 +1 2 3 5 11 12 14 15 +1 2 3 5 11 13 14 15 +1 2 3 5 12 13 14 15 +1 2 3 6 7 8 9 10 +1 2 3 6 7 8 9 11 +1 2 3 6 7 8 9 12 +1 2 3 6 7 8 9 13 +1 2 3 6 7 8 9 14 +1 2 3 6 7 8 9 15 +1 2 3 6 7 8 10 11 +1 2 3 6 7 8 10 12 +1 2 3 6 7 8 10 13 +1 2 3 6 7 8 10 14 +1 2 3 6 7 8 10 15 +1 2 3 6 7 8 11 12 +1 2 3 6 7 8 11 13 +1 2 3 6 7 8 11 14 +1 2 3 6 7 8 11 15 +1 2 3 6 7 8 12 13 +1 2 3 6 7 8 12 14 +1 2 3 6 7 8 12 15 +1 2 3 6 7 8 13 14 +1 2 3 6 7 8 13 15 +1 2 3 6 7 8 14 15 +1 2 3 6 7 9 10 11 +1 2 3 6 7 9 10 12 +1 2 3 6 7 9 10 13 +1 2 3 6 7 9 10 14 +1 2 3 6 7 9 10 15 +1 2 3 6 7 9 11 12 +1 2 3 6 7 9 11 13 +1 2 3 6 7 9 11 14 +1 2 3 6 7 9 11 15 +1 2 3 6 7 9 12 13 +1 2 3 6 7 9 12 14 +1 2 3 6 7 9 12 15 +1 2 3 6 7 9 13 14 +1 2 3 6 7 9 13 15 +1 2 3 6 7 9 14 15 +1 2 3 6 7 10 11 12 +1 2 3 6 7 10 11 13 +1 2 3 6 7 10 11 14 +1 2 3 6 7 10 11 15 +1 2 3 6 7 10 12 13 +1 2 3 6 7 10 12 14 +1 2 3 6 7 10 12 15 +1 2 3 6 7 10 13 14 +1 2 3 6 7 10 13 15 +1 2 3 6 7 10 14 15 +1 2 3 6 7 11 12 13 +1 2 3 6 7 11 12 14 +1 2 3 6 7 11 12 15 +1 2 3 6 7 11 13 14 +1 2 3 6 7 11 13 15 +1 2 3 6 7 11 14 15 +1 2 3 6 7 12 13 14 +1 2 3 6 7 12 13 15 +1 2 3 6 7 12 14 15 +1 2 3 6 7 13 14 15 +1 2 3 6 8 9 10 11 +1 2 3 6 8 9 10 12 +1 2 3 6 8 9 10 13 +1 2 3 6 8 9 10 14 +1 2 3 6 8 9 10 15 +1 2 3 6 8 9 11 12 +1 2 3 6 8 9 11 13 +1 2 3 6 8 9 11 14 +1 2 3 6 8 9 11 15 +1 2 3 6 8 9 12 13 +1 2 3 6 8 9 12 14 +1 2 3 6 8 9 12 15 +1 2 3 6 8 9 13 14 +1 2 3 6 8 9 13 15 +1 2 3 6 8 9 14 15 +1 2 3 6 8 10 11 12 +1 2 3 6 8 10 11 13 +1 2 3 6 8 10 11 14 +1 2 3 6 8 10 11 15 +1 2 3 6 8 10 12 13 +1 2 3 6 8 10 12 14 +1 2 3 6 8 10 12 15 +1 2 3 6 8 10 13 14 +1 2 3 6 8 10 13 15 +1 2 3 6 8 10 14 15 +1 2 3 6 8 11 12 13 +1 2 3 6 8 11 12 14 +1 2 3 6 8 11 12 15 +1 2 3 6 8 11 13 14 +1 2 3 6 8 11 13 15 +1 2 3 6 8 11 14 15 +1 2 3 6 8 12 13 14 +1 2 3 6 8 12 13 15 +1 2 3 6 8 12 14 15 +1 2 3 6 8 13 14 15 +1 2 3 6 9 10 11 12 +1 2 3 6 9 10 11 13 +1 2 3 6 9 10 11 14 +1 2 3 6 9 10 11 15 +1 2 3 6 9 10 12 13 +1 2 3 6 9 10 12 14 +1 2 3 6 9 10 12 15 +1 2 3 6 9 10 13 14 +1 2 3 6 9 10 13 15 +1 2 3 6 9 10 14 15 +1 2 3 6 9 11 12 13 +1 2 3 6 9 11 12 14 +1 2 3 6 9 11 12 15 +1 2 3 6 9 11 13 14 +1 2 3 6 9 11 13 15 +1 2 3 6 9 11 14 15 +1 2 3 6 9 12 13 14 +1 2 3 6 9 12 13 15 +1 2 3 6 9 12 14 15 +1 2 3 6 9 13 14 15 +1 2 3 6 10 11 12 13 +1 2 3 6 10 11 12 14 +1 2 3 6 10 11 12 15 +1 2 3 6 10 11 13 14 +1 2 3 6 10 11 13 15 +1 2 3 6 10 11 14 15 +1 2 3 6 10 12 13 14 +1 2 3 6 10 12 13 15 +1 2 3 6 10 12 14 15 +1 2 3 6 10 13 14 15 +1 2 3 6 11 12 13 14 +1 2 3 6 11 12 13 15 +1 2 3 6 11 12 14 15 +1 2 3 6 11 13 14 15 +1 2 3 6 12 13 14 15 +1 2 3 7 8 9 10 11 +1 2 3 7 8 9 10 12 +1 2 3 7 8 9 10 13 +1 2 3 7 8 9 10 14 +1 2 3 7 8 9 10 15 +1 2 3 7 8 9 11 12 +1 2 3 7 8 9 11 13 +1 2 3 7 8 9 11 14 +1 2 3 7 8 9 11 15 +1 2 3 7 8 9 12 13 +1 2 3 7 8 9 12 14 +1 2 3 7 8 9 12 15 +1 2 3 7 8 9 13 14 +1 2 3 7 8 9 13 15 +1 2 3 7 8 9 14 15 +1 2 3 7 8 10 11 12 +1 2 3 7 8 10 11 13 +1 2 3 7 8 10 11 14 +1 2 3 7 8 10 11 15 +1 2 3 7 8 10 12 13 +1 2 3 7 8 10 12 14 +1 2 3 7 8 10 12 15 +1 2 3 7 8 10 13 14 +1 2 3 7 8 10 13 15 +1 2 3 7 8 10 14 15 +1 2 3 7 8 11 12 13 +1 2 3 7 8 11 12 14 +1 2 3 7 8 11 12 15 +1 2 3 7 8 11 13 14 +1 2 3 7 8 11 13 15 +1 2 3 7 8 11 14 15 +1 2 3 7 8 12 13 14 +1 2 3 7 8 12 13 15 +1 2 3 7 8 12 14 15 +1 2 3 7 8 13 14 15 +1 2 3 7 9 10 11 12 +1 2 3 7 9 10 11 13 +1 2 3 7 9 10 11 14 +1 2 3 7 9 10 11 15 +1 2 3 7 9 10 12 13 +1 2 3 7 9 10 12 14 +1 2 3 7 9 10 12 15 +1 2 3 7 9 10 13 14 +1 2 3 7 9 10 13 15 +1 2 3 7 9 10 14 15 +1 2 3 7 9 11 12 13 +1 2 3 7 9 11 12 14 +1 2 3 7 9 11 12 15 +1 2 3 7 9 11 13 14 +1 2 3 7 9 11 13 15 +1 2 3 7 9 11 14 15 +1 2 3 7 9 12 13 14 +1 2 3 7 9 12 13 15 +1 2 3 7 9 12 14 15 +1 2 3 7 9 13 14 15 +1 2 3 7 10 11 12 13 +1 2 3 7 10 11 12 14 +1 2 3 7 10 11 12 15 +1 2 3 7 10 11 13 14 +1 2 3 7 10 11 13 15 +1 2 3 7 10 11 14 15 +1 2 3 7 10 12 13 14 +1 2 3 7 10 12 13 15 +1 2 3 7 10 12 14 15 +1 2 3 7 10 13 14 15 +1 2 3 7 11 12 13 14 +1 2 3 7 11 12 13 15 +1 2 3 7 11 12 14 15 +1 2 3 7 11 13 14 15 +1 2 3 7 12 13 14 15 +1 2 3 8 9 10 11 12 +1 2 3 8 9 10 11 13 +1 2 3 8 9 10 11 14 +1 2 3 8 9 10 11 15 +1 2 3 8 9 10 12 13 +1 2 3 8 9 10 12 14 +1 2 3 8 9 10 12 15 +1 2 3 8 9 10 13 14 +1 2 3 8 9 10 13 15 +1 2 3 8 9 10 14 15 +1 2 3 8 9 11 12 13 +1 2 3 8 9 11 12 14 +1 2 3 8 9 11 12 15 +1 2 3 8 9 11 13 14 +1 2 3 8 9 11 13 15 +1 2 3 8 9 11 14 15 +1 2 3 8 9 12 13 14 +1 2 3 8 9 12 13 15 +1 2 3 8 9 12 14 15 +1 2 3 8 9 13 14 15 +1 2 3 8 10 11 12 13 +1 2 3 8 10 11 12 14 +1 2 3 8 10 11 12 15 +1 2 3 8 10 11 13 14 +1 2 3 8 10 11 13 15 +1 2 3 8 10 11 14 15 +1 2 3 8 10 12 13 14 +1 2 3 8 10 12 13 15 +1 2 3 8 10 12 14 15 +1 2 3 8 10 13 14 15 +1 2 3 8 11 12 13 14 +1 2 3 8 11 12 13 15 +1 2 3 8 11 12 14 15 +1 2 3 8 11 13 14 15 +1 2 3 8 12 13 14 15 +1 2 3 9 10 11 12 13 +1 2 3 9 10 11 12 14 +1 2 3 9 10 11 12 15 +1 2 3 9 10 11 13 14 +1 2 3 9 10 11 13 15 +1 2 3 9 10 11 14 15 +1 2 3 9 10 12 13 14 +1 2 3 9 10 12 13 15 +1 2 3 9 10 12 14 15 +1 2 3 9 10 13 14 15 +1 2 3 9 11 12 13 14 +1 2 3 9 11 12 13 15 +1 2 3 9 11 12 14 15 +1 2 3 9 11 13 14 15 +1 2 3 9 12 13 14 15 +1 2 3 10 11 12 13 14 +1 2 3 10 11 12 13 15 +1 2 3 10 11 12 14 15 +1 2 3 10 11 13 14 15 +1 2 3 10 12 13 14 15 +1 2 3 11 12 13 14 15 +1 2 4 5 6 7 8 9 +1 2 4 5 6 7 8 10 +1 2 4 5 6 7 8 11 +1 2 4 5 6 7 8 12 +1 2 4 5 6 7 8 13 +1 2 4 5 6 7 8 14 +1 2 4 5 6 7 8 15 +1 2 4 5 6 7 9 10 +1 2 4 5 6 7 9 11 +1 2 4 5 6 7 9 12 +1 2 4 5 6 7 9 13 +1 2 4 5 6 7 9 14 +1 2 4 5 6 7 9 15 +1 2 4 5 6 7 10 11 +1 2 4 5 6 7 10 12 +1 2 4 5 6 7 10 13 +1 2 4 5 6 7 10 14 +1 2 4 5 6 7 10 15 +1 2 4 5 6 7 11 12 +1 2 4 5 6 7 11 13 +1 2 4 5 6 7 11 14 +1 2 4 5 6 7 11 15 +1 2 4 5 6 7 12 13 +1 2 4 5 6 7 12 14 +1 2 4 5 6 7 12 15 +1 2 4 5 6 7 13 14 +1 2 4 5 6 7 13 15 +1 2 4 5 6 7 14 15 +1 2 4 5 6 8 9 10 +1 2 4 5 6 8 9 11 +1 2 4 5 6 8 9 12 +1 2 4 5 6 8 9 13 +1 2 4 5 6 8 9 14 +1 2 4 5 6 8 9 15 +1 2 4 5 6 8 10 11 +1 2 4 5 6 8 10 12 +1 2 4 5 6 8 10 13 +1 2 4 5 6 8 10 14 +1 2 4 5 6 8 10 15 +1 2 4 5 6 8 11 12 +1 2 4 5 6 8 11 13 +1 2 4 5 6 8 11 14 +1 2 4 5 6 8 11 15 +1 2 4 5 6 8 12 13 +1 2 4 5 6 8 12 14 +1 2 4 5 6 8 12 15 +1 2 4 5 6 8 13 14 +1 2 4 5 6 8 13 15 +1 2 4 5 6 8 14 15 +1 2 4 5 6 9 10 11 +1 2 4 5 6 9 10 12 +1 2 4 5 6 9 10 13 +1 2 4 5 6 9 10 14 +1 2 4 5 6 9 10 15 +1 2 4 5 6 9 11 12 +1 2 4 5 6 9 11 13 +1 2 4 5 6 9 11 14 +1 2 4 5 6 9 11 15 +1 2 4 5 6 9 12 13 +1 2 4 5 6 9 12 14 +1 2 4 5 6 9 12 15 +1 2 4 5 6 9 13 14 +1 2 4 5 6 9 13 15 +1 2 4 5 6 9 14 15 +1 2 4 5 6 10 11 12 +1 2 4 5 6 10 11 13 +1 2 4 5 6 10 11 14 +1 2 4 5 6 10 11 15 +1 2 4 5 6 10 12 13 +1 2 4 5 6 10 12 14 +1 2 4 5 6 10 12 15 +1 2 4 5 6 10 13 14 +1 2 4 5 6 10 13 15 +1 2 4 5 6 10 14 15 +1 2 4 5 6 11 12 13 +1 2 4 5 6 11 12 14 +1 2 4 5 6 11 12 15 +1 2 4 5 6 11 13 14 +1 2 4 5 6 11 13 15 +1 2 4 5 6 11 14 15 +1 2 4 5 6 12 13 14 +1 2 4 5 6 12 13 15 +1 2 4 5 6 12 14 15 +1 2 4 5 6 13 14 15 +1 2 4 5 7 8 9 10 +1 2 4 5 7 8 9 11 +1 2 4 5 7 8 9 12 +1 2 4 5 7 8 9 13 +1 2 4 5 7 8 9 14 +1 2 4 5 7 8 9 15 +1 2 4 5 7 8 10 11 +1 2 4 5 7 8 10 12 +1 2 4 5 7 8 10 13 +1 2 4 5 7 8 10 14 +1 2 4 5 7 8 10 15 +1 2 4 5 7 8 11 12 +1 2 4 5 7 8 11 13 +1 2 4 5 7 8 11 14 +1 2 4 5 7 8 11 15 +1 2 4 5 7 8 12 13 +1 2 4 5 7 8 12 14 +1 2 4 5 7 8 12 15 +1 2 4 5 7 8 13 14 +1 2 4 5 7 8 13 15 +1 2 4 5 7 8 14 15 +1 2 4 5 7 9 10 11 +1 2 4 5 7 9 10 12 +1 2 4 5 7 9 10 13 +1 2 4 5 7 9 10 14 +1 2 4 5 7 9 10 15 +1 2 4 5 7 9 11 12 +1 2 4 5 7 9 11 13 +1 2 4 5 7 9 11 14 +1 2 4 5 7 9 11 15 +1 2 4 5 7 9 12 13 +1 2 4 5 7 9 12 14 +1 2 4 5 7 9 12 15 +1 2 4 5 7 9 13 14 +1 2 4 5 7 9 13 15 +1 2 4 5 7 9 14 15 +1 2 4 5 7 10 11 12 +1 2 4 5 7 10 11 13 +1 2 4 5 7 10 11 14 +1 2 4 5 7 10 11 15 +1 2 4 5 7 10 12 13 +1 2 4 5 7 10 12 14 +1 2 4 5 7 10 12 15 +1 2 4 5 7 10 13 14 +1 2 4 5 7 10 13 15 +1 2 4 5 7 10 14 15 +1 2 4 5 7 11 12 13 +1 2 4 5 7 11 12 14 +1 2 4 5 7 11 12 15 +1 2 4 5 7 11 13 14 +1 2 4 5 7 11 13 15 +1 2 4 5 7 11 14 15 +1 2 4 5 7 12 13 14 +1 2 4 5 7 12 13 15 +1 2 4 5 7 12 14 15 +1 2 4 5 7 13 14 15 +1 2 4 5 8 9 10 11 +1 2 4 5 8 9 10 12 +1 2 4 5 8 9 10 13 +1 2 4 5 8 9 10 14 +1 2 4 5 8 9 10 15 +1 2 4 5 8 9 11 12 +1 2 4 5 8 9 11 13 +1 2 4 5 8 9 11 14 +1 2 4 5 8 9 11 15 +1 2 4 5 8 9 12 13 +1 2 4 5 8 9 12 14 +1 2 4 5 8 9 12 15 +1 2 4 5 8 9 13 14 +1 2 4 5 8 9 13 15 +1 2 4 5 8 9 14 15 +1 2 4 5 8 10 11 12 +1 2 4 5 8 10 11 13 +1 2 4 5 8 10 11 14 +1 2 4 5 8 10 11 15 +1 2 4 5 8 10 12 13 +1 2 4 5 8 10 12 14 +1 2 4 5 8 10 12 15 +1 2 4 5 8 10 13 14 +1 2 4 5 8 10 13 15 +1 2 4 5 8 10 14 15 +1 2 4 5 8 11 12 13 +1 2 4 5 8 11 12 14 +1 2 4 5 8 11 12 15 +1 2 4 5 8 11 13 14 +1 2 4 5 8 11 13 15 +1 2 4 5 8 11 14 15 +1 2 4 5 8 12 13 14 +1 2 4 5 8 12 13 15 +1 2 4 5 8 12 14 15 +1 2 4 5 8 13 14 15 +1 2 4 5 9 10 11 12 +1 2 4 5 9 10 11 13 +1 2 4 5 9 10 11 14 +1 2 4 5 9 10 11 15 +1 2 4 5 9 10 12 13 +1 2 4 5 9 10 12 14 +1 2 4 5 9 10 12 15 +1 2 4 5 9 10 13 14 +1 2 4 5 9 10 13 15 +1 2 4 5 9 10 14 15 +1 2 4 5 9 11 12 13 +1 2 4 5 9 11 12 14 +1 2 4 5 9 11 12 15 +1 2 4 5 9 11 13 14 +1 2 4 5 9 11 13 15 +1 2 4 5 9 11 14 15 +1 2 4 5 9 12 13 14 +1 2 4 5 9 12 13 15 +1 2 4 5 9 12 14 15 +1 2 4 5 9 13 14 15 +1 2 4 5 10 11 12 13 +1 2 4 5 10 11 12 14 +1 2 4 5 10 11 12 15 +1 2 4 5 10 11 13 14 +1 2 4 5 10 11 13 15 +1 2 4 5 10 11 14 15 +1 2 4 5 10 12 13 14 +1 2 4 5 10 12 13 15 +1 2 4 5 10 12 14 15 +1 2 4 5 10 13 14 15 +1 2 4 5 11 12 13 14 +1 2 4 5 11 12 13 15 +1 2 4 5 11 12 14 15 +1 2 4 5 11 13 14 15 +1 2 4 5 12 13 14 15 +1 2 4 6 7 8 9 10 +1 2 4 6 7 8 9 11 +1 2 4 6 7 8 9 12 +1 2 4 6 7 8 9 13 +1 2 4 6 7 8 9 14 +1 2 4 6 7 8 9 15 +1 2 4 6 7 8 10 11 +1 2 4 6 7 8 10 12 +1 2 4 6 7 8 10 13 +1 2 4 6 7 8 10 14 +1 2 4 6 7 8 10 15 +1 2 4 6 7 8 11 12 +1 2 4 6 7 8 11 13 +1 2 4 6 7 8 11 14 +1 2 4 6 7 8 11 15 +1 2 4 6 7 8 12 13 +1 2 4 6 7 8 12 14 +1 2 4 6 7 8 12 15 +1 2 4 6 7 8 13 14 +1 2 4 6 7 8 13 15 +1 2 4 6 7 8 14 15 +1 2 4 6 7 9 10 11 +1 2 4 6 7 9 10 12 +1 2 4 6 7 9 10 13 +1 2 4 6 7 9 10 14 +1 2 4 6 7 9 10 15 +1 2 4 6 7 9 11 12 +1 2 4 6 7 9 11 13 +1 2 4 6 7 9 11 14 +1 2 4 6 7 9 11 15 +1 2 4 6 7 9 12 13 +1 2 4 6 7 9 12 14 +1 2 4 6 7 9 12 15 +1 2 4 6 7 9 13 14 +1 2 4 6 7 9 13 15 +1 2 4 6 7 9 14 15 +1 2 4 6 7 10 11 12 +1 2 4 6 7 10 11 13 +1 2 4 6 7 10 11 14 +1 2 4 6 7 10 11 15 +1 2 4 6 7 10 12 13 +1 2 4 6 7 10 12 14 +1 2 4 6 7 10 12 15 +1 2 4 6 7 10 13 14 +1 2 4 6 7 10 13 15 +1 2 4 6 7 10 14 15 +1 2 4 6 7 11 12 13 +1 2 4 6 7 11 12 14 +1 2 4 6 7 11 12 15 +1 2 4 6 7 11 13 14 +1 2 4 6 7 11 13 15 +1 2 4 6 7 11 14 15 +1 2 4 6 7 12 13 14 +1 2 4 6 7 12 13 15 +1 2 4 6 7 12 14 15 +1 2 4 6 7 13 14 15 +1 2 4 6 8 9 10 11 +1 2 4 6 8 9 10 12 +1 2 4 6 8 9 10 13 +1 2 4 6 8 9 10 14 +1 2 4 6 8 9 10 15 +1 2 4 6 8 9 11 12 +1 2 4 6 8 9 11 13 +1 2 4 6 8 9 11 14 +1 2 4 6 8 9 11 15 +1 2 4 6 8 9 12 13 +1 2 4 6 8 9 12 14 +1 2 4 6 8 9 12 15 +1 2 4 6 8 9 13 14 +1 2 4 6 8 9 13 15 +1 2 4 6 8 9 14 15 +1 2 4 6 8 10 11 12 +1 2 4 6 8 10 11 13 +1 2 4 6 8 10 11 14 +1 2 4 6 8 10 11 15 +1 2 4 6 8 10 12 13 +1 2 4 6 8 10 12 14 +1 2 4 6 8 10 12 15 +1 2 4 6 8 10 13 14 +1 2 4 6 8 10 13 15 +1 2 4 6 8 10 14 15 +1 2 4 6 8 11 12 13 +1 2 4 6 8 11 12 14 +1 2 4 6 8 11 12 15 +1 2 4 6 8 11 13 14 +1 2 4 6 8 11 13 15 +1 2 4 6 8 11 14 15 +1 2 4 6 8 12 13 14 +1 2 4 6 8 12 13 15 +1 2 4 6 8 12 14 15 +1 2 4 6 8 13 14 15 +1 2 4 6 9 10 11 12 +1 2 4 6 9 10 11 13 +1 2 4 6 9 10 11 14 +1 2 4 6 9 10 11 15 +1 2 4 6 9 10 12 13 +1 2 4 6 9 10 12 14 +1 2 4 6 9 10 12 15 +1 2 4 6 9 10 13 14 +1 2 4 6 9 10 13 15 +1 2 4 6 9 10 14 15 +1 2 4 6 9 11 12 13 +1 2 4 6 9 11 12 14 +1 2 4 6 9 11 12 15 +1 2 4 6 9 11 13 14 +1 2 4 6 9 11 13 15 +1 2 4 6 9 11 14 15 +1 2 4 6 9 12 13 14 +1 2 4 6 9 12 13 15 +1 2 4 6 9 12 14 15 +1 2 4 6 9 13 14 15 +1 2 4 6 10 11 12 13 +1 2 4 6 10 11 12 14 +1 2 4 6 10 11 12 15 +1 2 4 6 10 11 13 14 +1 2 4 6 10 11 13 15 +1 2 4 6 10 11 14 15 +1 2 4 6 10 12 13 14 +1 2 4 6 10 12 13 15 +1 2 4 6 10 12 14 15 +1 2 4 6 10 13 14 15 +1 2 4 6 11 12 13 14 +1 2 4 6 11 12 13 15 +1 2 4 6 11 12 14 15 +1 2 4 6 11 13 14 15 +1 2 4 6 12 13 14 15 +1 2 4 7 8 9 10 11 +1 2 4 7 8 9 10 12 +1 2 4 7 8 9 10 13 +1 2 4 7 8 9 10 14 +1 2 4 7 8 9 10 15 +1 2 4 7 8 9 11 12 +1 2 4 7 8 9 11 13 +1 2 4 7 8 9 11 14 +1 2 4 7 8 9 11 15 +1 2 4 7 8 9 12 13 +1 2 4 7 8 9 12 14 +1 2 4 7 8 9 12 15 +1 2 4 7 8 9 13 14 +1 2 4 7 8 9 13 15 +1 2 4 7 8 9 14 15 +1 2 4 7 8 10 11 12 +1 2 4 7 8 10 11 13 +1 2 4 7 8 10 11 14 +1 2 4 7 8 10 11 15 +1 2 4 7 8 10 12 13 +1 2 4 7 8 10 12 14 +1 2 4 7 8 10 12 15 +1 2 4 7 8 10 13 14 +1 2 4 7 8 10 13 15 +1 2 4 7 8 10 14 15 +1 2 4 7 8 11 12 13 +1 2 4 7 8 11 12 14 +1 2 4 7 8 11 12 15 +1 2 4 7 8 11 13 14 +1 2 4 7 8 11 13 15 +1 2 4 7 8 11 14 15 +1 2 4 7 8 12 13 14 +1 2 4 7 8 12 13 15 +1 2 4 7 8 12 14 15 +1 2 4 7 8 13 14 15 +1 2 4 7 9 10 11 12 +1 2 4 7 9 10 11 13 +1 2 4 7 9 10 11 14 +1 2 4 7 9 10 11 15 +1 2 4 7 9 10 12 13 +1 2 4 7 9 10 12 14 +1 2 4 7 9 10 12 15 +1 2 4 7 9 10 13 14 +1 2 4 7 9 10 13 15 +1 2 4 7 9 10 14 15 +1 2 4 7 9 11 12 13 +1 2 4 7 9 11 12 14 +1 2 4 7 9 11 12 15 +1 2 4 7 9 11 13 14 +1 2 4 7 9 11 13 15 +1 2 4 7 9 11 14 15 +1 2 4 7 9 12 13 14 +1 2 4 7 9 12 13 15 +1 2 4 7 9 12 14 15 +1 2 4 7 9 13 14 15 +1 2 4 7 10 11 12 13 +1 2 4 7 10 11 12 14 +1 2 4 7 10 11 12 15 +1 2 4 7 10 11 13 14 +1 2 4 7 10 11 13 15 +1 2 4 7 10 11 14 15 +1 2 4 7 10 12 13 14 +1 2 4 7 10 12 13 15 +1 2 4 7 10 12 14 15 +1 2 4 7 10 13 14 15 +1 2 4 7 11 12 13 14 +1 2 4 7 11 12 13 15 +1 2 4 7 11 12 14 15 +1 2 4 7 11 13 14 15 +1 2 4 7 12 13 14 15 +1 2 4 8 9 10 11 12 +1 2 4 8 9 10 11 13 +1 2 4 8 9 10 11 14 +1 2 4 8 9 10 11 15 +1 2 4 8 9 10 12 13 +1 2 4 8 9 10 12 14 +1 2 4 8 9 10 12 15 +1 2 4 8 9 10 13 14 +1 2 4 8 9 10 13 15 +1 2 4 8 9 10 14 15 +1 2 4 8 9 11 12 13 +1 2 4 8 9 11 12 14 +1 2 4 8 9 11 12 15 +1 2 4 8 9 11 13 14 +1 2 4 8 9 11 13 15 +1 2 4 8 9 11 14 15 +1 2 4 8 9 12 13 14 +1 2 4 8 9 12 13 15 +1 2 4 8 9 12 14 15 +1 2 4 8 9 13 14 15 +1 2 4 8 10 11 12 13 +1 2 4 8 10 11 12 14 +1 2 4 8 10 11 12 15 +1 2 4 8 10 11 13 14 +1 2 4 8 10 11 13 15 +1 2 4 8 10 11 14 15 +1 2 4 8 10 12 13 14 +1 2 4 8 10 12 13 15 +1 2 4 8 10 12 14 15 +1 2 4 8 10 13 14 15 +1 2 4 8 11 12 13 14 +1 2 4 8 11 12 13 15 +1 2 4 8 11 12 14 15 +1 2 4 8 11 13 14 15 +1 2 4 8 12 13 14 15 +1 2 4 9 10 11 12 13 +1 2 4 9 10 11 12 14 +1 2 4 9 10 11 12 15 +1 2 4 9 10 11 13 14 +1 2 4 9 10 11 13 15 +1 2 4 9 10 11 14 15 +1 2 4 9 10 12 13 14 +1 2 4 9 10 12 13 15 +1 2 4 9 10 12 14 15 +1 2 4 9 10 13 14 15 +1 2 4 9 11 12 13 14 +1 2 4 9 11 12 13 15 +1 2 4 9 11 12 14 15 +1 2 4 9 11 13 14 15 +1 2 4 9 12 13 14 15 +1 2 4 10 11 12 13 14 +1 2 4 10 11 12 13 15 +1 2 4 10 11 12 14 15 +1 2 4 10 11 13 14 15 +1 2 4 10 12 13 14 15 +1 2 4 11 12 13 14 15 +1 2 5 6 7 8 9 10 +1 2 5 6 7 8 9 11 +1 2 5 6 7 8 9 12 +1 2 5 6 7 8 9 13 +1 2 5 6 7 8 9 14 +1 2 5 6 7 8 9 15 +1 2 5 6 7 8 10 11 +1 2 5 6 7 8 10 12 +1 2 5 6 7 8 10 13 +1 2 5 6 7 8 10 14 +1 2 5 6 7 8 10 15 +1 2 5 6 7 8 11 12 +1 2 5 6 7 8 11 13 +1 2 5 6 7 8 11 14 +1 2 5 6 7 8 11 15 +1 2 5 6 7 8 12 13 +1 2 5 6 7 8 12 14 +1 2 5 6 7 8 12 15 +1 2 5 6 7 8 13 14 +1 2 5 6 7 8 13 15 +1 2 5 6 7 8 14 15 +1 2 5 6 7 9 10 11 +1 2 5 6 7 9 10 12 +1 2 5 6 7 9 10 13 +1 2 5 6 7 9 10 14 +1 2 5 6 7 9 10 15 +1 2 5 6 7 9 11 12 +1 2 5 6 7 9 11 13 +1 2 5 6 7 9 11 14 +1 2 5 6 7 9 11 15 +1 2 5 6 7 9 12 13 +1 2 5 6 7 9 12 14 +1 2 5 6 7 9 12 15 +1 2 5 6 7 9 13 14 +1 2 5 6 7 9 13 15 +1 2 5 6 7 9 14 15 +1 2 5 6 7 10 11 12 +1 2 5 6 7 10 11 13 +1 2 5 6 7 10 11 14 +1 2 5 6 7 10 11 15 +1 2 5 6 7 10 12 13 +1 2 5 6 7 10 12 14 +1 2 5 6 7 10 12 15 +1 2 5 6 7 10 13 14 +1 2 5 6 7 10 13 15 +1 2 5 6 7 10 14 15 +1 2 5 6 7 11 12 13 +1 2 5 6 7 11 12 14 +1 2 5 6 7 11 12 15 +1 2 5 6 7 11 13 14 +1 2 5 6 7 11 13 15 +1 2 5 6 7 11 14 15 +1 2 5 6 7 12 13 14 +1 2 5 6 7 12 13 15 +1 2 5 6 7 12 14 15 +1 2 5 6 7 13 14 15 +1 2 5 6 8 9 10 11 +1 2 5 6 8 9 10 12 +1 2 5 6 8 9 10 13 +1 2 5 6 8 9 10 14 +1 2 5 6 8 9 10 15 +1 2 5 6 8 9 11 12 +1 2 5 6 8 9 11 13 +1 2 5 6 8 9 11 14 +1 2 5 6 8 9 11 15 +1 2 5 6 8 9 12 13 +1 2 5 6 8 9 12 14 +1 2 5 6 8 9 12 15 +1 2 5 6 8 9 13 14 +1 2 5 6 8 9 13 15 +1 2 5 6 8 9 14 15 +1 2 5 6 8 10 11 12 +1 2 5 6 8 10 11 13 +1 2 5 6 8 10 11 14 +1 2 5 6 8 10 11 15 +1 2 5 6 8 10 12 13 +1 2 5 6 8 10 12 14 +1 2 5 6 8 10 12 15 +1 2 5 6 8 10 13 14 +1 2 5 6 8 10 13 15 +1 2 5 6 8 10 14 15 +1 2 5 6 8 11 12 13 +1 2 5 6 8 11 12 14 +1 2 5 6 8 11 12 15 +1 2 5 6 8 11 13 14 +1 2 5 6 8 11 13 15 +1 2 5 6 8 11 14 15 +1 2 5 6 8 12 13 14 +1 2 5 6 8 12 13 15 +1 2 5 6 8 12 14 15 +1 2 5 6 8 13 14 15 +1 2 5 6 9 10 11 12 +1 2 5 6 9 10 11 13 +1 2 5 6 9 10 11 14 +1 2 5 6 9 10 11 15 +1 2 5 6 9 10 12 13 +1 2 5 6 9 10 12 14 +1 2 5 6 9 10 12 15 +1 2 5 6 9 10 13 14 +1 2 5 6 9 10 13 15 +1 2 5 6 9 10 14 15 +1 2 5 6 9 11 12 13 +1 2 5 6 9 11 12 14 +1 2 5 6 9 11 12 15 +1 2 5 6 9 11 13 14 +1 2 5 6 9 11 13 15 +1 2 5 6 9 11 14 15 +1 2 5 6 9 12 13 14 +1 2 5 6 9 12 13 15 +1 2 5 6 9 12 14 15 +1 2 5 6 9 13 14 15 +1 2 5 6 10 11 12 13 +1 2 5 6 10 11 12 14 +1 2 5 6 10 11 12 15 +1 2 5 6 10 11 13 14 +1 2 5 6 10 11 13 15 +1 2 5 6 10 11 14 15 +1 2 5 6 10 12 13 14 +1 2 5 6 10 12 13 15 +1 2 5 6 10 12 14 15 +1 2 5 6 10 13 14 15 +1 2 5 6 11 12 13 14 +1 2 5 6 11 12 13 15 +1 2 5 6 11 12 14 15 +1 2 5 6 11 13 14 15 +1 2 5 6 12 13 14 15 +1 2 5 7 8 9 10 11 +1 2 5 7 8 9 10 12 +1 2 5 7 8 9 10 13 +1 2 5 7 8 9 10 14 +1 2 5 7 8 9 10 15 +1 2 5 7 8 9 11 12 +1 2 5 7 8 9 11 13 +1 2 5 7 8 9 11 14 +1 2 5 7 8 9 11 15 +1 2 5 7 8 9 12 13 +1 2 5 7 8 9 12 14 +1 2 5 7 8 9 12 15 +1 2 5 7 8 9 13 14 +1 2 5 7 8 9 13 15 +1 2 5 7 8 9 14 15 +1 2 5 7 8 10 11 12 +1 2 5 7 8 10 11 13 +1 2 5 7 8 10 11 14 +1 2 5 7 8 10 11 15 +1 2 5 7 8 10 12 13 +1 2 5 7 8 10 12 14 +1 2 5 7 8 10 12 15 +1 2 5 7 8 10 13 14 +1 2 5 7 8 10 13 15 +1 2 5 7 8 10 14 15 +1 2 5 7 8 11 12 13 +1 2 5 7 8 11 12 14 +1 2 5 7 8 11 12 15 +1 2 5 7 8 11 13 14 +1 2 5 7 8 11 13 15 +1 2 5 7 8 11 14 15 +1 2 5 7 8 12 13 14 +1 2 5 7 8 12 13 15 +1 2 5 7 8 12 14 15 +1 2 5 7 8 13 14 15 +1 2 5 7 9 10 11 12 +1 2 5 7 9 10 11 13 +1 2 5 7 9 10 11 14 +1 2 5 7 9 10 11 15 +1 2 5 7 9 10 12 13 +1 2 5 7 9 10 12 14 +1 2 5 7 9 10 12 15 +1 2 5 7 9 10 13 14 +1 2 5 7 9 10 13 15 +1 2 5 7 9 10 14 15 +1 2 5 7 9 11 12 13 +1 2 5 7 9 11 12 14 +1 2 5 7 9 11 12 15 +1 2 5 7 9 11 13 14 +1 2 5 7 9 11 13 15 +1 2 5 7 9 11 14 15 +1 2 5 7 9 12 13 14 +1 2 5 7 9 12 13 15 +1 2 5 7 9 12 14 15 +1 2 5 7 9 13 14 15 +1 2 5 7 10 11 12 13 +1 2 5 7 10 11 12 14 +1 2 5 7 10 11 12 15 +1 2 5 7 10 11 13 14 +1 2 5 7 10 11 13 15 +1 2 5 7 10 11 14 15 +1 2 5 7 10 12 13 14 +1 2 5 7 10 12 13 15 +1 2 5 7 10 12 14 15 +1 2 5 7 10 13 14 15 +1 2 5 7 11 12 13 14 +1 2 5 7 11 12 13 15 +1 2 5 7 11 12 14 15 +1 2 5 7 11 13 14 15 +1 2 5 7 12 13 14 15 +1 2 5 8 9 10 11 12 +1 2 5 8 9 10 11 13 +1 2 5 8 9 10 11 14 +1 2 5 8 9 10 11 15 +1 2 5 8 9 10 12 13 +1 2 5 8 9 10 12 14 +1 2 5 8 9 10 12 15 +1 2 5 8 9 10 13 14 +1 2 5 8 9 10 13 15 +1 2 5 8 9 10 14 15 +1 2 5 8 9 11 12 13 +1 2 5 8 9 11 12 14 +1 2 5 8 9 11 12 15 +1 2 5 8 9 11 13 14 +1 2 5 8 9 11 13 15 +1 2 5 8 9 11 14 15 +1 2 5 8 9 12 13 14 +1 2 5 8 9 12 13 15 +1 2 5 8 9 12 14 15 +1 2 5 8 9 13 14 15 +1 2 5 8 10 11 12 13 +1 2 5 8 10 11 12 14 +1 2 5 8 10 11 12 15 +1 2 5 8 10 11 13 14 +1 2 5 8 10 11 13 15 +1 2 5 8 10 11 14 15 +1 2 5 8 10 12 13 14 +1 2 5 8 10 12 13 15 +1 2 5 8 10 12 14 15 +1 2 5 8 10 13 14 15 +1 2 5 8 11 12 13 14 +1 2 5 8 11 12 13 15 +1 2 5 8 11 12 14 15 +1 2 5 8 11 13 14 15 +1 2 5 8 12 13 14 15 +1 2 5 9 10 11 12 13 +1 2 5 9 10 11 12 14 +1 2 5 9 10 11 12 15 +1 2 5 9 10 11 13 14 +1 2 5 9 10 11 13 15 +1 2 5 9 10 11 14 15 +1 2 5 9 10 12 13 14 +1 2 5 9 10 12 13 15 +1 2 5 9 10 12 14 15 +1 2 5 9 10 13 14 15 +1 2 5 9 11 12 13 14 +1 2 5 9 11 12 13 15 +1 2 5 9 11 12 14 15 +1 2 5 9 11 13 14 15 +1 2 5 9 12 13 14 15 +1 2 5 10 11 12 13 14 +1 2 5 10 11 12 13 15 +1 2 5 10 11 12 14 15 +1 2 5 10 11 13 14 15 +1 2 5 10 12 13 14 15 +1 2 5 11 12 13 14 15 +1 2 6 7 8 9 10 11 +1 2 6 7 8 9 10 12 +1 2 6 7 8 9 10 13 +1 2 6 7 8 9 10 14 +1 2 6 7 8 9 10 15 +1 2 6 7 8 9 11 12 +1 2 6 7 8 9 11 13 +1 2 6 7 8 9 11 14 +1 2 6 7 8 9 11 15 +1 2 6 7 8 9 12 13 +1 2 6 7 8 9 12 14 +1 2 6 7 8 9 12 15 +1 2 6 7 8 9 13 14 +1 2 6 7 8 9 13 15 +1 2 6 7 8 9 14 15 +1 2 6 7 8 10 11 12 +1 2 6 7 8 10 11 13 +1 2 6 7 8 10 11 14 +1 2 6 7 8 10 11 15 +1 2 6 7 8 10 12 13 +1 2 6 7 8 10 12 14 +1 2 6 7 8 10 12 15 +1 2 6 7 8 10 13 14 +1 2 6 7 8 10 13 15 +1 2 6 7 8 10 14 15 +1 2 6 7 8 11 12 13 +1 2 6 7 8 11 12 14 +1 2 6 7 8 11 12 15 +1 2 6 7 8 11 13 14 +1 2 6 7 8 11 13 15 +1 2 6 7 8 11 14 15 +1 2 6 7 8 12 13 14 +1 2 6 7 8 12 13 15 +1 2 6 7 8 12 14 15 +1 2 6 7 8 13 14 15 +1 2 6 7 9 10 11 12 +1 2 6 7 9 10 11 13 +1 2 6 7 9 10 11 14 +1 2 6 7 9 10 11 15 +1 2 6 7 9 10 12 13 +1 2 6 7 9 10 12 14 +1 2 6 7 9 10 12 15 +1 2 6 7 9 10 13 14 +1 2 6 7 9 10 13 15 +1 2 6 7 9 10 14 15 +1 2 6 7 9 11 12 13 +1 2 6 7 9 11 12 14 +1 2 6 7 9 11 12 15 +1 2 6 7 9 11 13 14 +1 2 6 7 9 11 13 15 +1 2 6 7 9 11 14 15 +1 2 6 7 9 12 13 14 +1 2 6 7 9 12 13 15 +1 2 6 7 9 12 14 15 +1 2 6 7 9 13 14 15 +1 2 6 7 10 11 12 13 +1 2 6 7 10 11 12 14 +1 2 6 7 10 11 12 15 +1 2 6 7 10 11 13 14 +1 2 6 7 10 11 13 15 +1 2 6 7 10 11 14 15 +1 2 6 7 10 12 13 14 +1 2 6 7 10 12 13 15 +1 2 6 7 10 12 14 15 +1 2 6 7 10 13 14 15 +1 2 6 7 11 12 13 14 +1 2 6 7 11 12 13 15 +1 2 6 7 11 12 14 15 +1 2 6 7 11 13 14 15 +1 2 6 7 12 13 14 15 +1 2 6 8 9 10 11 12 +1 2 6 8 9 10 11 13 +1 2 6 8 9 10 11 14 +1 2 6 8 9 10 11 15 +1 2 6 8 9 10 12 13 +1 2 6 8 9 10 12 14 +1 2 6 8 9 10 12 15 +1 2 6 8 9 10 13 14 +1 2 6 8 9 10 13 15 +1 2 6 8 9 10 14 15 +1 2 6 8 9 11 12 13 +1 2 6 8 9 11 12 14 +1 2 6 8 9 11 12 15 +1 2 6 8 9 11 13 14 +1 2 6 8 9 11 13 15 +1 2 6 8 9 11 14 15 +1 2 6 8 9 12 13 14 +1 2 6 8 9 12 13 15 +1 2 6 8 9 12 14 15 +1 2 6 8 9 13 14 15 +1 2 6 8 10 11 12 13 +1 2 6 8 10 11 12 14 +1 2 6 8 10 11 12 15 +1 2 6 8 10 11 13 14 +1 2 6 8 10 11 13 15 +1 2 6 8 10 11 14 15 +1 2 6 8 10 12 13 14 +1 2 6 8 10 12 13 15 +1 2 6 8 10 12 14 15 +1 2 6 8 10 13 14 15 +1 2 6 8 11 12 13 14 +1 2 6 8 11 12 13 15 +1 2 6 8 11 12 14 15 +1 2 6 8 11 13 14 15 +1 2 6 8 12 13 14 15 +1 2 6 9 10 11 12 13 +1 2 6 9 10 11 12 14 +1 2 6 9 10 11 12 15 +1 2 6 9 10 11 13 14 +1 2 6 9 10 11 13 15 +1 2 6 9 10 11 14 15 +1 2 6 9 10 12 13 14 +1 2 6 9 10 12 13 15 +1 2 6 9 10 12 14 15 +1 2 6 9 10 13 14 15 +1 2 6 9 11 12 13 14 +1 2 6 9 11 12 13 15 +1 2 6 9 11 12 14 15 +1 2 6 9 11 13 14 15 +1 2 6 9 12 13 14 15 +1 2 6 10 11 12 13 14 +1 2 6 10 11 12 13 15 +1 2 6 10 11 12 14 15 +1 2 6 10 11 13 14 15 +1 2 6 10 12 13 14 15 +1 2 6 11 12 13 14 15 +1 2 7 8 9 10 11 12 +1 2 7 8 9 10 11 13 +1 2 7 8 9 10 11 14 +1 2 7 8 9 10 11 15 +1 2 7 8 9 10 12 13 +1 2 7 8 9 10 12 14 +1 2 7 8 9 10 12 15 +1 2 7 8 9 10 13 14 +1 2 7 8 9 10 13 15 +1 2 7 8 9 10 14 15 +1 2 7 8 9 11 12 13 +1 2 7 8 9 11 12 14 +1 2 7 8 9 11 12 15 +1 2 7 8 9 11 13 14 +1 2 7 8 9 11 13 15 +1 2 7 8 9 11 14 15 +1 2 7 8 9 12 13 14 +1 2 7 8 9 12 13 15 +1 2 7 8 9 12 14 15 +1 2 7 8 9 13 14 15 +1 2 7 8 10 11 12 13 +1 2 7 8 10 11 12 14 +1 2 7 8 10 11 12 15 +1 2 7 8 10 11 13 14 +1 2 7 8 10 11 13 15 +1 2 7 8 10 11 14 15 +1 2 7 8 10 12 13 14 +1 2 7 8 10 12 13 15 +1 2 7 8 10 12 14 15 +1 2 7 8 10 13 14 15 +1 2 7 8 11 12 13 14 +1 2 7 8 11 12 13 15 +1 2 7 8 11 12 14 15 +1 2 7 8 11 13 14 15 +1 2 7 8 12 13 14 15 +1 2 7 9 10 11 12 13 +1 2 7 9 10 11 12 14 +1 2 7 9 10 11 12 15 +1 2 7 9 10 11 13 14 +1 2 7 9 10 11 13 15 +1 2 7 9 10 11 14 15 +1 2 7 9 10 12 13 14 +1 2 7 9 10 12 13 15 +1 2 7 9 10 12 14 15 +1 2 7 9 10 13 14 15 +1 2 7 9 11 12 13 14 +1 2 7 9 11 12 13 15 +1 2 7 9 11 12 14 15 +1 2 7 9 11 13 14 15 +1 2 7 9 12 13 14 15 +1 2 7 10 11 12 13 14 +1 2 7 10 11 12 13 15 +1 2 7 10 11 12 14 15 +1 2 7 10 11 13 14 15 +1 2 7 10 12 13 14 15 +1 2 7 11 12 13 14 15 +1 2 8 9 10 11 12 13 +1 2 8 9 10 11 12 14 +1 2 8 9 10 11 12 15 +1 2 8 9 10 11 13 14 +1 2 8 9 10 11 13 15 +1 2 8 9 10 11 14 15 +1 2 8 9 10 12 13 14 +1 2 8 9 10 12 13 15 +1 2 8 9 10 12 14 15 +1 2 8 9 10 13 14 15 +1 2 8 9 11 12 13 14 +1 2 8 9 11 12 13 15 +1 2 8 9 11 12 14 15 +1 2 8 9 11 13 14 15 +1 2 8 9 12 13 14 15 +1 2 8 10 11 12 13 14 +1 2 8 10 11 12 13 15 +1 2 8 10 11 12 14 15 +1 2 8 10 11 13 14 15 +1 2 8 10 12 13 14 15 +1 2 8 11 12 13 14 15 +1 2 9 10 11 12 13 14 +1 2 9 10 11 12 13 15 +1 2 9 10 11 12 14 15 +1 2 9 10 11 13 14 15 +1 2 9 10 12 13 14 15 +1 2 9 11 12 13 14 15 +1 2 10 11 12 13 14 15 +1 3 4 5 6 7 8 9 +1 3 4 5 6 7 8 10 +1 3 4 5 6 7 8 11 +1 3 4 5 6 7 8 12 +1 3 4 5 6 7 8 13 +1 3 4 5 6 7 8 14 +1 3 4 5 6 7 8 15 +1 3 4 5 6 7 9 10 +1 3 4 5 6 7 9 11 +1 3 4 5 6 7 9 12 +1 3 4 5 6 7 9 13 +1 3 4 5 6 7 9 14 +1 3 4 5 6 7 9 15 +1 3 4 5 6 7 10 11 +1 3 4 5 6 7 10 12 +1 3 4 5 6 7 10 13 +1 3 4 5 6 7 10 14 +1 3 4 5 6 7 10 15 +1 3 4 5 6 7 11 12 +1 3 4 5 6 7 11 13 +1 3 4 5 6 7 11 14 +1 3 4 5 6 7 11 15 +1 3 4 5 6 7 12 13 +1 3 4 5 6 7 12 14 +1 3 4 5 6 7 12 15 +1 3 4 5 6 7 13 14 +1 3 4 5 6 7 13 15 +1 3 4 5 6 7 14 15 +1 3 4 5 6 8 9 10 +1 3 4 5 6 8 9 11 +1 3 4 5 6 8 9 12 +1 3 4 5 6 8 9 13 +1 3 4 5 6 8 9 14 +1 3 4 5 6 8 9 15 +1 3 4 5 6 8 10 11 +1 3 4 5 6 8 10 12 +1 3 4 5 6 8 10 13 +1 3 4 5 6 8 10 14 +1 3 4 5 6 8 10 15 +1 3 4 5 6 8 11 12 +1 3 4 5 6 8 11 13 +1 3 4 5 6 8 11 14 +1 3 4 5 6 8 11 15 +1 3 4 5 6 8 12 13 +1 3 4 5 6 8 12 14 +1 3 4 5 6 8 12 15 +1 3 4 5 6 8 13 14 +1 3 4 5 6 8 13 15 +1 3 4 5 6 8 14 15 +1 3 4 5 6 9 10 11 +1 3 4 5 6 9 10 12 +1 3 4 5 6 9 10 13 +1 3 4 5 6 9 10 14 +1 3 4 5 6 9 10 15 +1 3 4 5 6 9 11 12 +1 3 4 5 6 9 11 13 +1 3 4 5 6 9 11 14 +1 3 4 5 6 9 11 15 +1 3 4 5 6 9 12 13 +1 3 4 5 6 9 12 14 +1 3 4 5 6 9 12 15 +1 3 4 5 6 9 13 14 +1 3 4 5 6 9 13 15 +1 3 4 5 6 9 14 15 +1 3 4 5 6 10 11 12 +1 3 4 5 6 10 11 13 +1 3 4 5 6 10 11 14 +1 3 4 5 6 10 11 15 +1 3 4 5 6 10 12 13 +1 3 4 5 6 10 12 14 +1 3 4 5 6 10 12 15 +1 3 4 5 6 10 13 14 +1 3 4 5 6 10 13 15 +1 3 4 5 6 10 14 15 +1 3 4 5 6 11 12 13 +1 3 4 5 6 11 12 14 +1 3 4 5 6 11 12 15 +1 3 4 5 6 11 13 14 +1 3 4 5 6 11 13 15 +1 3 4 5 6 11 14 15 +1 3 4 5 6 12 13 14 +1 3 4 5 6 12 13 15 +1 3 4 5 6 12 14 15 +1 3 4 5 6 13 14 15 +1 3 4 5 7 8 9 10 +1 3 4 5 7 8 9 11 +1 3 4 5 7 8 9 12 +1 3 4 5 7 8 9 13 +1 3 4 5 7 8 9 14 +1 3 4 5 7 8 9 15 +1 3 4 5 7 8 10 11 +1 3 4 5 7 8 10 12 +1 3 4 5 7 8 10 13 +1 3 4 5 7 8 10 14 +1 3 4 5 7 8 10 15 +1 3 4 5 7 8 11 12 +1 3 4 5 7 8 11 13 +1 3 4 5 7 8 11 14 +1 3 4 5 7 8 11 15 +1 3 4 5 7 8 12 13 +1 3 4 5 7 8 12 14 +1 3 4 5 7 8 12 15 +1 3 4 5 7 8 13 14 +1 3 4 5 7 8 13 15 +1 3 4 5 7 8 14 15 +1 3 4 5 7 9 10 11 +1 3 4 5 7 9 10 12 +1 3 4 5 7 9 10 13 +1 3 4 5 7 9 10 14 +1 3 4 5 7 9 10 15 +1 3 4 5 7 9 11 12 +1 3 4 5 7 9 11 13 +1 3 4 5 7 9 11 14 +1 3 4 5 7 9 11 15 +1 3 4 5 7 9 12 13 +1 3 4 5 7 9 12 14 +1 3 4 5 7 9 12 15 +1 3 4 5 7 9 13 14 +1 3 4 5 7 9 13 15 +1 3 4 5 7 9 14 15 +1 3 4 5 7 10 11 12 +1 3 4 5 7 10 11 13 +1 3 4 5 7 10 11 14 +1 3 4 5 7 10 11 15 +1 3 4 5 7 10 12 13 +1 3 4 5 7 10 12 14 +1 3 4 5 7 10 12 15 +1 3 4 5 7 10 13 14 +1 3 4 5 7 10 13 15 +1 3 4 5 7 10 14 15 +1 3 4 5 7 11 12 13 +1 3 4 5 7 11 12 14 +1 3 4 5 7 11 12 15 +1 3 4 5 7 11 13 14 +1 3 4 5 7 11 13 15 +1 3 4 5 7 11 14 15 +1 3 4 5 7 12 13 14 +1 3 4 5 7 12 13 15 +1 3 4 5 7 12 14 15 +1 3 4 5 7 13 14 15 +1 3 4 5 8 9 10 11 +1 3 4 5 8 9 10 12 +1 3 4 5 8 9 10 13 +1 3 4 5 8 9 10 14 +1 3 4 5 8 9 10 15 +1 3 4 5 8 9 11 12 +1 3 4 5 8 9 11 13 +1 3 4 5 8 9 11 14 +1 3 4 5 8 9 11 15 +1 3 4 5 8 9 12 13 +1 3 4 5 8 9 12 14 +1 3 4 5 8 9 12 15 +1 3 4 5 8 9 13 14 +1 3 4 5 8 9 13 15 +1 3 4 5 8 9 14 15 +1 3 4 5 8 10 11 12 +1 3 4 5 8 10 11 13 +1 3 4 5 8 10 11 14 +1 3 4 5 8 10 11 15 +1 3 4 5 8 10 12 13 +1 3 4 5 8 10 12 14 +1 3 4 5 8 10 12 15 +1 3 4 5 8 10 13 14 +1 3 4 5 8 10 13 15 +1 3 4 5 8 10 14 15 +1 3 4 5 8 11 12 13 +1 3 4 5 8 11 12 14 +1 3 4 5 8 11 12 15 +1 3 4 5 8 11 13 14 +1 3 4 5 8 11 13 15 +1 3 4 5 8 11 14 15 +1 3 4 5 8 12 13 14 +1 3 4 5 8 12 13 15 +1 3 4 5 8 12 14 15 +1 3 4 5 8 13 14 15 +1 3 4 5 9 10 11 12 +1 3 4 5 9 10 11 13 +1 3 4 5 9 10 11 14 +1 3 4 5 9 10 11 15 +1 3 4 5 9 10 12 13 +1 3 4 5 9 10 12 14 +1 3 4 5 9 10 12 15 +1 3 4 5 9 10 13 14 +1 3 4 5 9 10 13 15 +1 3 4 5 9 10 14 15 +1 3 4 5 9 11 12 13 +1 3 4 5 9 11 12 14 +1 3 4 5 9 11 12 15 +1 3 4 5 9 11 13 14 +1 3 4 5 9 11 13 15 +1 3 4 5 9 11 14 15 +1 3 4 5 9 12 13 14 +1 3 4 5 9 12 13 15 +1 3 4 5 9 12 14 15 +1 3 4 5 9 13 14 15 +1 3 4 5 10 11 12 13 +1 3 4 5 10 11 12 14 +1 3 4 5 10 11 12 15 +1 3 4 5 10 11 13 14 +1 3 4 5 10 11 13 15 +1 3 4 5 10 11 14 15 +1 3 4 5 10 12 13 14 +1 3 4 5 10 12 13 15 +1 3 4 5 10 12 14 15 +1 3 4 5 10 13 14 15 +1 3 4 5 11 12 13 14 +1 3 4 5 11 12 13 15 +1 3 4 5 11 12 14 15 +1 3 4 5 11 13 14 15 +1 3 4 5 12 13 14 15 +1 3 4 6 7 8 9 10 +1 3 4 6 7 8 9 11 +1 3 4 6 7 8 9 12 +1 3 4 6 7 8 9 13 +1 3 4 6 7 8 9 14 +1 3 4 6 7 8 9 15 +1 3 4 6 7 8 10 11 +1 3 4 6 7 8 10 12 +1 3 4 6 7 8 10 13 +1 3 4 6 7 8 10 14 +1 3 4 6 7 8 10 15 +1 3 4 6 7 8 11 12 +1 3 4 6 7 8 11 13 +1 3 4 6 7 8 11 14 +1 3 4 6 7 8 11 15 +1 3 4 6 7 8 12 13 +1 3 4 6 7 8 12 14 +1 3 4 6 7 8 12 15 +1 3 4 6 7 8 13 14 +1 3 4 6 7 8 13 15 +1 3 4 6 7 8 14 15 +1 3 4 6 7 9 10 11 +1 3 4 6 7 9 10 12 +1 3 4 6 7 9 10 13 +1 3 4 6 7 9 10 14 +1 3 4 6 7 9 10 15 +1 3 4 6 7 9 11 12 +1 3 4 6 7 9 11 13 +1 3 4 6 7 9 11 14 +1 3 4 6 7 9 11 15 +1 3 4 6 7 9 12 13 +1 3 4 6 7 9 12 14 +1 3 4 6 7 9 12 15 +1 3 4 6 7 9 13 14 +1 3 4 6 7 9 13 15 +1 3 4 6 7 9 14 15 +1 3 4 6 7 10 11 12 +1 3 4 6 7 10 11 13 +1 3 4 6 7 10 11 14 +1 3 4 6 7 10 11 15 +1 3 4 6 7 10 12 13 +1 3 4 6 7 10 12 14 +1 3 4 6 7 10 12 15 +1 3 4 6 7 10 13 14 +1 3 4 6 7 10 13 15 +1 3 4 6 7 10 14 15 +1 3 4 6 7 11 12 13 +1 3 4 6 7 11 12 14 +1 3 4 6 7 11 12 15 +1 3 4 6 7 11 13 14 +1 3 4 6 7 11 13 15 +1 3 4 6 7 11 14 15 +1 3 4 6 7 12 13 14 +1 3 4 6 7 12 13 15 +1 3 4 6 7 12 14 15 +1 3 4 6 7 13 14 15 +1 3 4 6 8 9 10 11 +1 3 4 6 8 9 10 12 +1 3 4 6 8 9 10 13 +1 3 4 6 8 9 10 14 +1 3 4 6 8 9 10 15 +1 3 4 6 8 9 11 12 +1 3 4 6 8 9 11 13 +1 3 4 6 8 9 11 14 +1 3 4 6 8 9 11 15 +1 3 4 6 8 9 12 13 +1 3 4 6 8 9 12 14 +1 3 4 6 8 9 12 15 +1 3 4 6 8 9 13 14 +1 3 4 6 8 9 13 15 +1 3 4 6 8 9 14 15 +1 3 4 6 8 10 11 12 +1 3 4 6 8 10 11 13 +1 3 4 6 8 10 11 14 +1 3 4 6 8 10 11 15 +1 3 4 6 8 10 12 13 +1 3 4 6 8 10 12 14 +1 3 4 6 8 10 12 15 +1 3 4 6 8 10 13 14 +1 3 4 6 8 10 13 15 +1 3 4 6 8 10 14 15 +1 3 4 6 8 11 12 13 +1 3 4 6 8 11 12 14 +1 3 4 6 8 11 12 15 +1 3 4 6 8 11 13 14 +1 3 4 6 8 11 13 15 +1 3 4 6 8 11 14 15 +1 3 4 6 8 12 13 14 +1 3 4 6 8 12 13 15 +1 3 4 6 8 12 14 15 +1 3 4 6 8 13 14 15 +1 3 4 6 9 10 11 12 +1 3 4 6 9 10 11 13 +1 3 4 6 9 10 11 14 +1 3 4 6 9 10 11 15 +1 3 4 6 9 10 12 13 +1 3 4 6 9 10 12 14 +1 3 4 6 9 10 12 15 +1 3 4 6 9 10 13 14 +1 3 4 6 9 10 13 15 +1 3 4 6 9 10 14 15 +1 3 4 6 9 11 12 13 +1 3 4 6 9 11 12 14 +1 3 4 6 9 11 12 15 +1 3 4 6 9 11 13 14 +1 3 4 6 9 11 13 15 +1 3 4 6 9 11 14 15 +1 3 4 6 9 12 13 14 +1 3 4 6 9 12 13 15 +1 3 4 6 9 12 14 15 +1 3 4 6 9 13 14 15 +1 3 4 6 10 11 12 13 +1 3 4 6 10 11 12 14 +1 3 4 6 10 11 12 15 +1 3 4 6 10 11 13 14 +1 3 4 6 10 11 13 15 +1 3 4 6 10 11 14 15 +1 3 4 6 10 12 13 14 +1 3 4 6 10 12 13 15 +1 3 4 6 10 12 14 15 +1 3 4 6 10 13 14 15 +1 3 4 6 11 12 13 14 +1 3 4 6 11 12 13 15 +1 3 4 6 11 12 14 15 +1 3 4 6 11 13 14 15 +1 3 4 6 12 13 14 15 +1 3 4 7 8 9 10 11 +1 3 4 7 8 9 10 12 +1 3 4 7 8 9 10 13 +1 3 4 7 8 9 10 14 +1 3 4 7 8 9 10 15 +1 3 4 7 8 9 11 12 +1 3 4 7 8 9 11 13 +1 3 4 7 8 9 11 14 +1 3 4 7 8 9 11 15 +1 3 4 7 8 9 12 13 +1 3 4 7 8 9 12 14 +1 3 4 7 8 9 12 15 +1 3 4 7 8 9 13 14 +1 3 4 7 8 9 13 15 +1 3 4 7 8 9 14 15 +1 3 4 7 8 10 11 12 +1 3 4 7 8 10 11 13 +1 3 4 7 8 10 11 14 +1 3 4 7 8 10 11 15 +1 3 4 7 8 10 12 13 +1 3 4 7 8 10 12 14 +1 3 4 7 8 10 12 15 +1 3 4 7 8 10 13 14 +1 3 4 7 8 10 13 15 +1 3 4 7 8 10 14 15 +1 3 4 7 8 11 12 13 +1 3 4 7 8 11 12 14 +1 3 4 7 8 11 12 15 +1 3 4 7 8 11 13 14 +1 3 4 7 8 11 13 15 +1 3 4 7 8 11 14 15 +1 3 4 7 8 12 13 14 +1 3 4 7 8 12 13 15 +1 3 4 7 8 12 14 15 +1 3 4 7 8 13 14 15 +1 3 4 7 9 10 11 12 +1 3 4 7 9 10 11 13 +1 3 4 7 9 10 11 14 +1 3 4 7 9 10 11 15 +1 3 4 7 9 10 12 13 +1 3 4 7 9 10 12 14 +1 3 4 7 9 10 12 15 +1 3 4 7 9 10 13 14 +1 3 4 7 9 10 13 15 +1 3 4 7 9 10 14 15 +1 3 4 7 9 11 12 13 +1 3 4 7 9 11 12 14 +1 3 4 7 9 11 12 15 +1 3 4 7 9 11 13 14 +1 3 4 7 9 11 13 15 +1 3 4 7 9 11 14 15 +1 3 4 7 9 12 13 14 +1 3 4 7 9 12 13 15 +1 3 4 7 9 12 14 15 +1 3 4 7 9 13 14 15 +1 3 4 7 10 11 12 13 +1 3 4 7 10 11 12 14 +1 3 4 7 10 11 12 15 +1 3 4 7 10 11 13 14 +1 3 4 7 10 11 13 15 +1 3 4 7 10 11 14 15 +1 3 4 7 10 12 13 14 +1 3 4 7 10 12 13 15 +1 3 4 7 10 12 14 15 +1 3 4 7 10 13 14 15 +1 3 4 7 11 12 13 14 +1 3 4 7 11 12 13 15 +1 3 4 7 11 12 14 15 +1 3 4 7 11 13 14 15 +1 3 4 7 12 13 14 15 +1 3 4 8 9 10 11 12 +1 3 4 8 9 10 11 13 +1 3 4 8 9 10 11 14 +1 3 4 8 9 10 11 15 +1 3 4 8 9 10 12 13 +1 3 4 8 9 10 12 14 +1 3 4 8 9 10 12 15 +1 3 4 8 9 10 13 14 +1 3 4 8 9 10 13 15 +1 3 4 8 9 10 14 15 +1 3 4 8 9 11 12 13 +1 3 4 8 9 11 12 14 +1 3 4 8 9 11 12 15 +1 3 4 8 9 11 13 14 +1 3 4 8 9 11 13 15 +1 3 4 8 9 11 14 15 +1 3 4 8 9 12 13 14 +1 3 4 8 9 12 13 15 +1 3 4 8 9 12 14 15 +1 3 4 8 9 13 14 15 +1 3 4 8 10 11 12 13 +1 3 4 8 10 11 12 14 +1 3 4 8 10 11 12 15 +1 3 4 8 10 11 13 14 +1 3 4 8 10 11 13 15 +1 3 4 8 10 11 14 15 +1 3 4 8 10 12 13 14 +1 3 4 8 10 12 13 15 +1 3 4 8 10 12 14 15 +1 3 4 8 10 13 14 15 +1 3 4 8 11 12 13 14 +1 3 4 8 11 12 13 15 +1 3 4 8 11 12 14 15 +1 3 4 8 11 13 14 15 +1 3 4 8 12 13 14 15 +1 3 4 9 10 11 12 13 +1 3 4 9 10 11 12 14 +1 3 4 9 10 11 12 15 +1 3 4 9 10 11 13 14 +1 3 4 9 10 11 13 15 +1 3 4 9 10 11 14 15 +1 3 4 9 10 12 13 14 +1 3 4 9 10 12 13 15 +1 3 4 9 10 12 14 15 +1 3 4 9 10 13 14 15 +1 3 4 9 11 12 13 14 +1 3 4 9 11 12 13 15 +1 3 4 9 11 12 14 15 +1 3 4 9 11 13 14 15 +1 3 4 9 12 13 14 15 +1 3 4 10 11 12 13 14 +1 3 4 10 11 12 13 15 +1 3 4 10 11 12 14 15 +1 3 4 10 11 13 14 15 +1 3 4 10 12 13 14 15 +1 3 4 11 12 13 14 15 +1 3 5 6 7 8 9 10 +1 3 5 6 7 8 9 11 +1 3 5 6 7 8 9 12 +1 3 5 6 7 8 9 13 +1 3 5 6 7 8 9 14 +1 3 5 6 7 8 9 15 +1 3 5 6 7 8 10 11 +1 3 5 6 7 8 10 12 +1 3 5 6 7 8 10 13 +1 3 5 6 7 8 10 14 +1 3 5 6 7 8 10 15 +1 3 5 6 7 8 11 12 +1 3 5 6 7 8 11 13 +1 3 5 6 7 8 11 14 +1 3 5 6 7 8 11 15 +1 3 5 6 7 8 12 13 +1 3 5 6 7 8 12 14 +1 3 5 6 7 8 12 15 +1 3 5 6 7 8 13 14 +1 3 5 6 7 8 13 15 +1 3 5 6 7 8 14 15 +1 3 5 6 7 9 10 11 +1 3 5 6 7 9 10 12 +1 3 5 6 7 9 10 13 +1 3 5 6 7 9 10 14 +1 3 5 6 7 9 10 15 +1 3 5 6 7 9 11 12 +1 3 5 6 7 9 11 13 +1 3 5 6 7 9 11 14 +1 3 5 6 7 9 11 15 +1 3 5 6 7 9 12 13 +1 3 5 6 7 9 12 14 +1 3 5 6 7 9 12 15 +1 3 5 6 7 9 13 14 +1 3 5 6 7 9 13 15 +1 3 5 6 7 9 14 15 +1 3 5 6 7 10 11 12 +1 3 5 6 7 10 11 13 +1 3 5 6 7 10 11 14 +1 3 5 6 7 10 11 15 +1 3 5 6 7 10 12 13 +1 3 5 6 7 10 12 14 +1 3 5 6 7 10 12 15 +1 3 5 6 7 10 13 14 +1 3 5 6 7 10 13 15 +1 3 5 6 7 10 14 15 +1 3 5 6 7 11 12 13 +1 3 5 6 7 11 12 14 +1 3 5 6 7 11 12 15 +1 3 5 6 7 11 13 14 +1 3 5 6 7 11 13 15 +1 3 5 6 7 11 14 15 +1 3 5 6 7 12 13 14 +1 3 5 6 7 12 13 15 +1 3 5 6 7 12 14 15 +1 3 5 6 7 13 14 15 +1 3 5 6 8 9 10 11 +1 3 5 6 8 9 10 12 +1 3 5 6 8 9 10 13 +1 3 5 6 8 9 10 14 +1 3 5 6 8 9 10 15 +1 3 5 6 8 9 11 12 +1 3 5 6 8 9 11 13 +1 3 5 6 8 9 11 14 +1 3 5 6 8 9 11 15 +1 3 5 6 8 9 12 13 +1 3 5 6 8 9 12 14 +1 3 5 6 8 9 12 15 +1 3 5 6 8 9 13 14 +1 3 5 6 8 9 13 15 +1 3 5 6 8 9 14 15 +1 3 5 6 8 10 11 12 +1 3 5 6 8 10 11 13 +1 3 5 6 8 10 11 14 +1 3 5 6 8 10 11 15 +1 3 5 6 8 10 12 13 +1 3 5 6 8 10 12 14 +1 3 5 6 8 10 12 15 +1 3 5 6 8 10 13 14 +1 3 5 6 8 10 13 15 +1 3 5 6 8 10 14 15 +1 3 5 6 8 11 12 13 +1 3 5 6 8 11 12 14 +1 3 5 6 8 11 12 15 +1 3 5 6 8 11 13 14 +1 3 5 6 8 11 13 15 +1 3 5 6 8 11 14 15 +1 3 5 6 8 12 13 14 +1 3 5 6 8 12 13 15 +1 3 5 6 8 12 14 15 +1 3 5 6 8 13 14 15 +1 3 5 6 9 10 11 12 +1 3 5 6 9 10 11 13 +1 3 5 6 9 10 11 14 +1 3 5 6 9 10 11 15 +1 3 5 6 9 10 12 13 +1 3 5 6 9 10 12 14 +1 3 5 6 9 10 12 15 +1 3 5 6 9 10 13 14 +1 3 5 6 9 10 13 15 +1 3 5 6 9 10 14 15 +1 3 5 6 9 11 12 13 +1 3 5 6 9 11 12 14 +1 3 5 6 9 11 12 15 +1 3 5 6 9 11 13 14 +1 3 5 6 9 11 13 15 +1 3 5 6 9 11 14 15 +1 3 5 6 9 12 13 14 +1 3 5 6 9 12 13 15 +1 3 5 6 9 12 14 15 +1 3 5 6 9 13 14 15 +1 3 5 6 10 11 12 13 +1 3 5 6 10 11 12 14 +1 3 5 6 10 11 12 15 +1 3 5 6 10 11 13 14 +1 3 5 6 10 11 13 15 +1 3 5 6 10 11 14 15 +1 3 5 6 10 12 13 14 +1 3 5 6 10 12 13 15 +1 3 5 6 10 12 14 15 +1 3 5 6 10 13 14 15 +1 3 5 6 11 12 13 14 +1 3 5 6 11 12 13 15 +1 3 5 6 11 12 14 15 +1 3 5 6 11 13 14 15 +1 3 5 6 12 13 14 15 +1 3 5 7 8 9 10 11 +1 3 5 7 8 9 10 12 +1 3 5 7 8 9 10 13 +1 3 5 7 8 9 10 14 +1 3 5 7 8 9 10 15 +1 3 5 7 8 9 11 12 +1 3 5 7 8 9 11 13 +1 3 5 7 8 9 11 14 +1 3 5 7 8 9 11 15 +1 3 5 7 8 9 12 13 +1 3 5 7 8 9 12 14 +1 3 5 7 8 9 12 15 +1 3 5 7 8 9 13 14 +1 3 5 7 8 9 13 15 +1 3 5 7 8 9 14 15 +1 3 5 7 8 10 11 12 +1 3 5 7 8 10 11 13 +1 3 5 7 8 10 11 14 +1 3 5 7 8 10 11 15 +1 3 5 7 8 10 12 13 +1 3 5 7 8 10 12 14 +1 3 5 7 8 10 12 15 +1 3 5 7 8 10 13 14 +1 3 5 7 8 10 13 15 +1 3 5 7 8 10 14 15 +1 3 5 7 8 11 12 13 +1 3 5 7 8 11 12 14 +1 3 5 7 8 11 12 15 +1 3 5 7 8 11 13 14 +1 3 5 7 8 11 13 15 +1 3 5 7 8 11 14 15 +1 3 5 7 8 12 13 14 +1 3 5 7 8 12 13 15 +1 3 5 7 8 12 14 15 +1 3 5 7 8 13 14 15 +1 3 5 7 9 10 11 12 +1 3 5 7 9 10 11 13 +1 3 5 7 9 10 11 14 +1 3 5 7 9 10 11 15 +1 3 5 7 9 10 12 13 +1 3 5 7 9 10 12 14 +1 3 5 7 9 10 12 15 +1 3 5 7 9 10 13 14 +1 3 5 7 9 10 13 15 +1 3 5 7 9 10 14 15 +1 3 5 7 9 11 12 13 +1 3 5 7 9 11 12 14 +1 3 5 7 9 11 12 15 +1 3 5 7 9 11 13 14 +1 3 5 7 9 11 13 15 +1 3 5 7 9 11 14 15 +1 3 5 7 9 12 13 14 +1 3 5 7 9 12 13 15 +1 3 5 7 9 12 14 15 +1 3 5 7 9 13 14 15 +1 3 5 7 10 11 12 13 +1 3 5 7 10 11 12 14 +1 3 5 7 10 11 12 15 +1 3 5 7 10 11 13 14 +1 3 5 7 10 11 13 15 +1 3 5 7 10 11 14 15 +1 3 5 7 10 12 13 14 +1 3 5 7 10 12 13 15 +1 3 5 7 10 12 14 15 +1 3 5 7 10 13 14 15 +1 3 5 7 11 12 13 14 +1 3 5 7 11 12 13 15 +1 3 5 7 11 12 14 15 +1 3 5 7 11 13 14 15 +1 3 5 7 12 13 14 15 +1 3 5 8 9 10 11 12 +1 3 5 8 9 10 11 13 +1 3 5 8 9 10 11 14 +1 3 5 8 9 10 11 15 +1 3 5 8 9 10 12 13 +1 3 5 8 9 10 12 14 +1 3 5 8 9 10 12 15 +1 3 5 8 9 10 13 14 +1 3 5 8 9 10 13 15 +1 3 5 8 9 10 14 15 +1 3 5 8 9 11 12 13 +1 3 5 8 9 11 12 14 +1 3 5 8 9 11 12 15 +1 3 5 8 9 11 13 14 +1 3 5 8 9 11 13 15 +1 3 5 8 9 11 14 15 +1 3 5 8 9 12 13 14 +1 3 5 8 9 12 13 15 +1 3 5 8 9 12 14 15 +1 3 5 8 9 13 14 15 +1 3 5 8 10 11 12 13 +1 3 5 8 10 11 12 14 +1 3 5 8 10 11 12 15 +1 3 5 8 10 11 13 14 +1 3 5 8 10 11 13 15 +1 3 5 8 10 11 14 15 +1 3 5 8 10 12 13 14 +1 3 5 8 10 12 13 15 +1 3 5 8 10 12 14 15 +1 3 5 8 10 13 14 15 +1 3 5 8 11 12 13 14 +1 3 5 8 11 12 13 15 +1 3 5 8 11 12 14 15 +1 3 5 8 11 13 14 15 +1 3 5 8 12 13 14 15 +1 3 5 9 10 11 12 13 +1 3 5 9 10 11 12 14 +1 3 5 9 10 11 12 15 +1 3 5 9 10 11 13 14 +1 3 5 9 10 11 13 15 +1 3 5 9 10 11 14 15 +1 3 5 9 10 12 13 14 +1 3 5 9 10 12 13 15 +1 3 5 9 10 12 14 15 +1 3 5 9 10 13 14 15 +1 3 5 9 11 12 13 14 +1 3 5 9 11 12 13 15 +1 3 5 9 11 12 14 15 +1 3 5 9 11 13 14 15 +1 3 5 9 12 13 14 15 +1 3 5 10 11 12 13 14 +1 3 5 10 11 12 13 15 +1 3 5 10 11 12 14 15 +1 3 5 10 11 13 14 15 +1 3 5 10 12 13 14 15 +1 3 5 11 12 13 14 15 +1 3 6 7 8 9 10 11 +1 3 6 7 8 9 10 12 +1 3 6 7 8 9 10 13 +1 3 6 7 8 9 10 14 +1 3 6 7 8 9 10 15 +1 3 6 7 8 9 11 12 +1 3 6 7 8 9 11 13 +1 3 6 7 8 9 11 14 +1 3 6 7 8 9 11 15 +1 3 6 7 8 9 12 13 +1 3 6 7 8 9 12 14 +1 3 6 7 8 9 12 15 +1 3 6 7 8 9 13 14 +1 3 6 7 8 9 13 15 +1 3 6 7 8 9 14 15 +1 3 6 7 8 10 11 12 +1 3 6 7 8 10 11 13 +1 3 6 7 8 10 11 14 +1 3 6 7 8 10 11 15 +1 3 6 7 8 10 12 13 +1 3 6 7 8 10 12 14 +1 3 6 7 8 10 12 15 +1 3 6 7 8 10 13 14 +1 3 6 7 8 10 13 15 +1 3 6 7 8 10 14 15 +1 3 6 7 8 11 12 13 +1 3 6 7 8 11 12 14 +1 3 6 7 8 11 12 15 +1 3 6 7 8 11 13 14 +1 3 6 7 8 11 13 15 +1 3 6 7 8 11 14 15 +1 3 6 7 8 12 13 14 +1 3 6 7 8 12 13 15 +1 3 6 7 8 12 14 15 +1 3 6 7 8 13 14 15 +1 3 6 7 9 10 11 12 +1 3 6 7 9 10 11 13 +1 3 6 7 9 10 11 14 +1 3 6 7 9 10 11 15 +1 3 6 7 9 10 12 13 +1 3 6 7 9 10 12 14 +1 3 6 7 9 10 12 15 +1 3 6 7 9 10 13 14 +1 3 6 7 9 10 13 15 +1 3 6 7 9 10 14 15 +1 3 6 7 9 11 12 13 +1 3 6 7 9 11 12 14 +1 3 6 7 9 11 12 15 +1 3 6 7 9 11 13 14 +1 3 6 7 9 11 13 15 +1 3 6 7 9 11 14 15 +1 3 6 7 9 12 13 14 +1 3 6 7 9 12 13 15 +1 3 6 7 9 12 14 15 +1 3 6 7 9 13 14 15 +1 3 6 7 10 11 12 13 +1 3 6 7 10 11 12 14 +1 3 6 7 10 11 12 15 +1 3 6 7 10 11 13 14 +1 3 6 7 10 11 13 15 +1 3 6 7 10 11 14 15 +1 3 6 7 10 12 13 14 +1 3 6 7 10 12 13 15 +1 3 6 7 10 12 14 15 +1 3 6 7 10 13 14 15 +1 3 6 7 11 12 13 14 +1 3 6 7 11 12 13 15 +1 3 6 7 11 12 14 15 +1 3 6 7 11 13 14 15 +1 3 6 7 12 13 14 15 +1 3 6 8 9 10 11 12 +1 3 6 8 9 10 11 13 +1 3 6 8 9 10 11 14 +1 3 6 8 9 10 11 15 +1 3 6 8 9 10 12 13 +1 3 6 8 9 10 12 14 +1 3 6 8 9 10 12 15 +1 3 6 8 9 10 13 14 +1 3 6 8 9 10 13 15 +1 3 6 8 9 10 14 15 +1 3 6 8 9 11 12 13 +1 3 6 8 9 11 12 14 +1 3 6 8 9 11 12 15 +1 3 6 8 9 11 13 14 +1 3 6 8 9 11 13 15 +1 3 6 8 9 11 14 15 +1 3 6 8 9 12 13 14 +1 3 6 8 9 12 13 15 +1 3 6 8 9 12 14 15 +1 3 6 8 9 13 14 15 +1 3 6 8 10 11 12 13 +1 3 6 8 10 11 12 14 +1 3 6 8 10 11 12 15 +1 3 6 8 10 11 13 14 +1 3 6 8 10 11 13 15 +1 3 6 8 10 11 14 15 +1 3 6 8 10 12 13 14 +1 3 6 8 10 12 13 15 +1 3 6 8 10 12 14 15 +1 3 6 8 10 13 14 15 +1 3 6 8 11 12 13 14 +1 3 6 8 11 12 13 15 +1 3 6 8 11 12 14 15 +1 3 6 8 11 13 14 15 +1 3 6 8 12 13 14 15 +1 3 6 9 10 11 12 13 +1 3 6 9 10 11 12 14 +1 3 6 9 10 11 12 15 +1 3 6 9 10 11 13 14 +1 3 6 9 10 11 13 15 +1 3 6 9 10 11 14 15 +1 3 6 9 10 12 13 14 +1 3 6 9 10 12 13 15 +1 3 6 9 10 12 14 15 +1 3 6 9 10 13 14 15 +1 3 6 9 11 12 13 14 +1 3 6 9 11 12 13 15 +1 3 6 9 11 12 14 15 +1 3 6 9 11 13 14 15 +1 3 6 9 12 13 14 15 +1 3 6 10 11 12 13 14 +1 3 6 10 11 12 13 15 +1 3 6 10 11 12 14 15 +1 3 6 10 11 13 14 15 +1 3 6 10 12 13 14 15 +1 3 6 11 12 13 14 15 +1 3 7 8 9 10 11 12 +1 3 7 8 9 10 11 13 +1 3 7 8 9 10 11 14 +1 3 7 8 9 10 11 15 +1 3 7 8 9 10 12 13 +1 3 7 8 9 10 12 14 +1 3 7 8 9 10 12 15 +1 3 7 8 9 10 13 14 +1 3 7 8 9 10 13 15 +1 3 7 8 9 10 14 15 +1 3 7 8 9 11 12 13 +1 3 7 8 9 11 12 14 +1 3 7 8 9 11 12 15 +1 3 7 8 9 11 13 14 +1 3 7 8 9 11 13 15 +1 3 7 8 9 11 14 15 +1 3 7 8 9 12 13 14 +1 3 7 8 9 12 13 15 +1 3 7 8 9 12 14 15 +1 3 7 8 9 13 14 15 +1 3 7 8 10 11 12 13 +1 3 7 8 10 11 12 14 +1 3 7 8 10 11 12 15 +1 3 7 8 10 11 13 14 +1 3 7 8 10 11 13 15 +1 3 7 8 10 11 14 15 +1 3 7 8 10 12 13 14 +1 3 7 8 10 12 13 15 +1 3 7 8 10 12 14 15 +1 3 7 8 10 13 14 15 +1 3 7 8 11 12 13 14 +1 3 7 8 11 12 13 15 +1 3 7 8 11 12 14 15 +1 3 7 8 11 13 14 15 +1 3 7 8 12 13 14 15 +1 3 7 9 10 11 12 13 +1 3 7 9 10 11 12 14 +1 3 7 9 10 11 12 15 +1 3 7 9 10 11 13 14 +1 3 7 9 10 11 13 15 +1 3 7 9 10 11 14 15 +1 3 7 9 10 12 13 14 +1 3 7 9 10 12 13 15 +1 3 7 9 10 12 14 15 +1 3 7 9 10 13 14 15 +1 3 7 9 11 12 13 14 +1 3 7 9 11 12 13 15 +1 3 7 9 11 12 14 15 +1 3 7 9 11 13 14 15 +1 3 7 9 12 13 14 15 +1 3 7 10 11 12 13 14 +1 3 7 10 11 12 13 15 +1 3 7 10 11 12 14 15 +1 3 7 10 11 13 14 15 +1 3 7 10 12 13 14 15 +1 3 7 11 12 13 14 15 +1 3 8 9 10 11 12 13 +1 3 8 9 10 11 12 14 +1 3 8 9 10 11 12 15 +1 3 8 9 10 11 13 14 +1 3 8 9 10 11 13 15 +1 3 8 9 10 11 14 15 +1 3 8 9 10 12 13 14 +1 3 8 9 10 12 13 15 +1 3 8 9 10 12 14 15 +1 3 8 9 10 13 14 15 +1 3 8 9 11 12 13 14 +1 3 8 9 11 12 13 15 +1 3 8 9 11 12 14 15 +1 3 8 9 11 13 14 15 +1 3 8 9 12 13 14 15 +1 3 8 10 11 12 13 14 +1 3 8 10 11 12 13 15 +1 3 8 10 11 12 14 15 +1 3 8 10 11 13 14 15 +1 3 8 10 12 13 14 15 +1 3 8 11 12 13 14 15 +1 3 9 10 11 12 13 14 +1 3 9 10 11 12 13 15 +1 3 9 10 11 12 14 15 +1 3 9 10 11 13 14 15 +1 3 9 10 12 13 14 15 +1 3 9 11 12 13 14 15 +1 3 10 11 12 13 14 15 +1 4 5 6 7 8 9 10 +1 4 5 6 7 8 9 11 +1 4 5 6 7 8 9 12 +1 4 5 6 7 8 9 13 +1 4 5 6 7 8 9 14 +1 4 5 6 7 8 9 15 +1 4 5 6 7 8 10 11 +1 4 5 6 7 8 10 12 +1 4 5 6 7 8 10 13 +1 4 5 6 7 8 10 14 +1 4 5 6 7 8 10 15 +1 4 5 6 7 8 11 12 +1 4 5 6 7 8 11 13 +1 4 5 6 7 8 11 14 +1 4 5 6 7 8 11 15 +1 4 5 6 7 8 12 13 +1 4 5 6 7 8 12 14 +1 4 5 6 7 8 12 15 +1 4 5 6 7 8 13 14 +1 4 5 6 7 8 13 15 +1 4 5 6 7 8 14 15 +1 4 5 6 7 9 10 11 +1 4 5 6 7 9 10 12 +1 4 5 6 7 9 10 13 +1 4 5 6 7 9 10 14 +1 4 5 6 7 9 10 15 +1 4 5 6 7 9 11 12 +1 4 5 6 7 9 11 13 +1 4 5 6 7 9 11 14 +1 4 5 6 7 9 11 15 +1 4 5 6 7 9 12 13 +1 4 5 6 7 9 12 14 +1 4 5 6 7 9 12 15 +1 4 5 6 7 9 13 14 +1 4 5 6 7 9 13 15 +1 4 5 6 7 9 14 15 +1 4 5 6 7 10 11 12 +1 4 5 6 7 10 11 13 +1 4 5 6 7 10 11 14 +1 4 5 6 7 10 11 15 +1 4 5 6 7 10 12 13 +1 4 5 6 7 10 12 14 +1 4 5 6 7 10 12 15 +1 4 5 6 7 10 13 14 +1 4 5 6 7 10 13 15 +1 4 5 6 7 10 14 15 +1 4 5 6 7 11 12 13 +1 4 5 6 7 11 12 14 +1 4 5 6 7 11 12 15 +1 4 5 6 7 11 13 14 +1 4 5 6 7 11 13 15 +1 4 5 6 7 11 14 15 +1 4 5 6 7 12 13 14 +1 4 5 6 7 12 13 15 +1 4 5 6 7 12 14 15 +1 4 5 6 7 13 14 15 +1 4 5 6 8 9 10 11 +1 4 5 6 8 9 10 12 +1 4 5 6 8 9 10 13 +1 4 5 6 8 9 10 14 +1 4 5 6 8 9 10 15 +1 4 5 6 8 9 11 12 +1 4 5 6 8 9 11 13 +1 4 5 6 8 9 11 14 +1 4 5 6 8 9 11 15 +1 4 5 6 8 9 12 13 +1 4 5 6 8 9 12 14 +1 4 5 6 8 9 12 15 +1 4 5 6 8 9 13 14 +1 4 5 6 8 9 13 15 +1 4 5 6 8 9 14 15 +1 4 5 6 8 10 11 12 +1 4 5 6 8 10 11 13 +1 4 5 6 8 10 11 14 +1 4 5 6 8 10 11 15 +1 4 5 6 8 10 12 13 +1 4 5 6 8 10 12 14 +1 4 5 6 8 10 12 15 +1 4 5 6 8 10 13 14 +1 4 5 6 8 10 13 15 +1 4 5 6 8 10 14 15 +1 4 5 6 8 11 12 13 +1 4 5 6 8 11 12 14 +1 4 5 6 8 11 12 15 +1 4 5 6 8 11 13 14 +1 4 5 6 8 11 13 15 +1 4 5 6 8 11 14 15 +1 4 5 6 8 12 13 14 +1 4 5 6 8 12 13 15 +1 4 5 6 8 12 14 15 +1 4 5 6 8 13 14 15 +1 4 5 6 9 10 11 12 +1 4 5 6 9 10 11 13 +1 4 5 6 9 10 11 14 +1 4 5 6 9 10 11 15 +1 4 5 6 9 10 12 13 +1 4 5 6 9 10 12 14 +1 4 5 6 9 10 12 15 +1 4 5 6 9 10 13 14 +1 4 5 6 9 10 13 15 +1 4 5 6 9 10 14 15 +1 4 5 6 9 11 12 13 +1 4 5 6 9 11 12 14 +1 4 5 6 9 11 12 15 +1 4 5 6 9 11 13 14 +1 4 5 6 9 11 13 15 +1 4 5 6 9 11 14 15 +1 4 5 6 9 12 13 14 +1 4 5 6 9 12 13 15 +1 4 5 6 9 12 14 15 +1 4 5 6 9 13 14 15 +1 4 5 6 10 11 12 13 +1 4 5 6 10 11 12 14 +1 4 5 6 10 11 12 15 +1 4 5 6 10 11 13 14 +1 4 5 6 10 11 13 15 +1 4 5 6 10 11 14 15 +1 4 5 6 10 12 13 14 +1 4 5 6 10 12 13 15 +1 4 5 6 10 12 14 15 +1 4 5 6 10 13 14 15 +1 4 5 6 11 12 13 14 +1 4 5 6 11 12 13 15 +1 4 5 6 11 12 14 15 +1 4 5 6 11 13 14 15 +1 4 5 6 12 13 14 15 +1 4 5 7 8 9 10 11 +1 4 5 7 8 9 10 12 +1 4 5 7 8 9 10 13 +1 4 5 7 8 9 10 14 +1 4 5 7 8 9 10 15 +1 4 5 7 8 9 11 12 +1 4 5 7 8 9 11 13 +1 4 5 7 8 9 11 14 +1 4 5 7 8 9 11 15 +1 4 5 7 8 9 12 13 +1 4 5 7 8 9 12 14 +1 4 5 7 8 9 12 15 +1 4 5 7 8 9 13 14 +1 4 5 7 8 9 13 15 +1 4 5 7 8 9 14 15 +1 4 5 7 8 10 11 12 +1 4 5 7 8 10 11 13 +1 4 5 7 8 10 11 14 +1 4 5 7 8 10 11 15 +1 4 5 7 8 10 12 13 +1 4 5 7 8 10 12 14 +1 4 5 7 8 10 12 15 +1 4 5 7 8 10 13 14 +1 4 5 7 8 10 13 15 +1 4 5 7 8 10 14 15 +1 4 5 7 8 11 12 13 +1 4 5 7 8 11 12 14 +1 4 5 7 8 11 12 15 +1 4 5 7 8 11 13 14 +1 4 5 7 8 11 13 15 +1 4 5 7 8 11 14 15 +1 4 5 7 8 12 13 14 +1 4 5 7 8 12 13 15 +1 4 5 7 8 12 14 15 +1 4 5 7 8 13 14 15 +1 4 5 7 9 10 11 12 +1 4 5 7 9 10 11 13 +1 4 5 7 9 10 11 14 +1 4 5 7 9 10 11 15 +1 4 5 7 9 10 12 13 +1 4 5 7 9 10 12 14 +1 4 5 7 9 10 12 15 +1 4 5 7 9 10 13 14 +1 4 5 7 9 10 13 15 +1 4 5 7 9 10 14 15 +1 4 5 7 9 11 12 13 +1 4 5 7 9 11 12 14 +1 4 5 7 9 11 12 15 +1 4 5 7 9 11 13 14 +1 4 5 7 9 11 13 15 +1 4 5 7 9 11 14 15 +1 4 5 7 9 12 13 14 +1 4 5 7 9 12 13 15 +1 4 5 7 9 12 14 15 +1 4 5 7 9 13 14 15 +1 4 5 7 10 11 12 13 +1 4 5 7 10 11 12 14 +1 4 5 7 10 11 12 15 +1 4 5 7 10 11 13 14 +1 4 5 7 10 11 13 15 +1 4 5 7 10 11 14 15 +1 4 5 7 10 12 13 14 +1 4 5 7 10 12 13 15 +1 4 5 7 10 12 14 15 +1 4 5 7 10 13 14 15 +1 4 5 7 11 12 13 14 +1 4 5 7 11 12 13 15 +1 4 5 7 11 12 14 15 +1 4 5 7 11 13 14 15 +1 4 5 7 12 13 14 15 +1 4 5 8 9 10 11 12 +1 4 5 8 9 10 11 13 +1 4 5 8 9 10 11 14 +1 4 5 8 9 10 11 15 +1 4 5 8 9 10 12 13 +1 4 5 8 9 10 12 14 +1 4 5 8 9 10 12 15 +1 4 5 8 9 10 13 14 +1 4 5 8 9 10 13 15 +1 4 5 8 9 10 14 15 +1 4 5 8 9 11 12 13 +1 4 5 8 9 11 12 14 +1 4 5 8 9 11 12 15 +1 4 5 8 9 11 13 14 +1 4 5 8 9 11 13 15 +1 4 5 8 9 11 14 15 +1 4 5 8 9 12 13 14 +1 4 5 8 9 12 13 15 +1 4 5 8 9 12 14 15 +1 4 5 8 9 13 14 15 +1 4 5 8 10 11 12 13 +1 4 5 8 10 11 12 14 +1 4 5 8 10 11 12 15 +1 4 5 8 10 11 13 14 +1 4 5 8 10 11 13 15 +1 4 5 8 10 11 14 15 +1 4 5 8 10 12 13 14 +1 4 5 8 10 12 13 15 +1 4 5 8 10 12 14 15 +1 4 5 8 10 13 14 15 +1 4 5 8 11 12 13 14 +1 4 5 8 11 12 13 15 +1 4 5 8 11 12 14 15 +1 4 5 8 11 13 14 15 +1 4 5 8 12 13 14 15 +1 4 5 9 10 11 12 13 +1 4 5 9 10 11 12 14 +1 4 5 9 10 11 12 15 +1 4 5 9 10 11 13 14 +1 4 5 9 10 11 13 15 +1 4 5 9 10 11 14 15 +1 4 5 9 10 12 13 14 +1 4 5 9 10 12 13 15 +1 4 5 9 10 12 14 15 +1 4 5 9 10 13 14 15 +1 4 5 9 11 12 13 14 +1 4 5 9 11 12 13 15 +1 4 5 9 11 12 14 15 +1 4 5 9 11 13 14 15 +1 4 5 9 12 13 14 15 +1 4 5 10 11 12 13 14 +1 4 5 10 11 12 13 15 +1 4 5 10 11 12 14 15 +1 4 5 10 11 13 14 15 +1 4 5 10 12 13 14 15 +1 4 5 11 12 13 14 15 +1 4 6 7 8 9 10 11 +1 4 6 7 8 9 10 12 +1 4 6 7 8 9 10 13 +1 4 6 7 8 9 10 14 +1 4 6 7 8 9 10 15 +1 4 6 7 8 9 11 12 +1 4 6 7 8 9 11 13 +1 4 6 7 8 9 11 14 +1 4 6 7 8 9 11 15 +1 4 6 7 8 9 12 13 +1 4 6 7 8 9 12 14 +1 4 6 7 8 9 12 15 +1 4 6 7 8 9 13 14 +1 4 6 7 8 9 13 15 +1 4 6 7 8 9 14 15 +1 4 6 7 8 10 11 12 +1 4 6 7 8 10 11 13 +1 4 6 7 8 10 11 14 +1 4 6 7 8 10 11 15 +1 4 6 7 8 10 12 13 +1 4 6 7 8 10 12 14 +1 4 6 7 8 10 12 15 +1 4 6 7 8 10 13 14 +1 4 6 7 8 10 13 15 +1 4 6 7 8 10 14 15 +1 4 6 7 8 11 12 13 +1 4 6 7 8 11 12 14 +1 4 6 7 8 11 12 15 +1 4 6 7 8 11 13 14 +1 4 6 7 8 11 13 15 +1 4 6 7 8 11 14 15 +1 4 6 7 8 12 13 14 +1 4 6 7 8 12 13 15 +1 4 6 7 8 12 14 15 +1 4 6 7 8 13 14 15 +1 4 6 7 9 10 11 12 +1 4 6 7 9 10 11 13 +1 4 6 7 9 10 11 14 +1 4 6 7 9 10 11 15 +1 4 6 7 9 10 12 13 +1 4 6 7 9 10 12 14 +1 4 6 7 9 10 12 15 +1 4 6 7 9 10 13 14 +1 4 6 7 9 10 13 15 +1 4 6 7 9 10 14 15 +1 4 6 7 9 11 12 13 +1 4 6 7 9 11 12 14 +1 4 6 7 9 11 12 15 +1 4 6 7 9 11 13 14 +1 4 6 7 9 11 13 15 +1 4 6 7 9 11 14 15 +1 4 6 7 9 12 13 14 +1 4 6 7 9 12 13 15 +1 4 6 7 9 12 14 15 +1 4 6 7 9 13 14 15 +1 4 6 7 10 11 12 13 +1 4 6 7 10 11 12 14 +1 4 6 7 10 11 12 15 +1 4 6 7 10 11 13 14 +1 4 6 7 10 11 13 15 +1 4 6 7 10 11 14 15 +1 4 6 7 10 12 13 14 +1 4 6 7 10 12 13 15 +1 4 6 7 10 12 14 15 +1 4 6 7 10 13 14 15 +1 4 6 7 11 12 13 14 +1 4 6 7 11 12 13 15 +1 4 6 7 11 12 14 15 +1 4 6 7 11 13 14 15 +1 4 6 7 12 13 14 15 +1 4 6 8 9 10 11 12 +1 4 6 8 9 10 11 13 +1 4 6 8 9 10 11 14 +1 4 6 8 9 10 11 15 +1 4 6 8 9 10 12 13 +1 4 6 8 9 10 12 14 +1 4 6 8 9 10 12 15 +1 4 6 8 9 10 13 14 +1 4 6 8 9 10 13 15 +1 4 6 8 9 10 14 15 +1 4 6 8 9 11 12 13 +1 4 6 8 9 11 12 14 +1 4 6 8 9 11 12 15 +1 4 6 8 9 11 13 14 +1 4 6 8 9 11 13 15 +1 4 6 8 9 11 14 15 +1 4 6 8 9 12 13 14 +1 4 6 8 9 12 13 15 +1 4 6 8 9 12 14 15 +1 4 6 8 9 13 14 15 +1 4 6 8 10 11 12 13 +1 4 6 8 10 11 12 14 +1 4 6 8 10 11 12 15 +1 4 6 8 10 11 13 14 +1 4 6 8 10 11 13 15 +1 4 6 8 10 11 14 15 +1 4 6 8 10 12 13 14 +1 4 6 8 10 12 13 15 +1 4 6 8 10 12 14 15 +1 4 6 8 10 13 14 15 +1 4 6 8 11 12 13 14 +1 4 6 8 11 12 13 15 +1 4 6 8 11 12 14 15 +1 4 6 8 11 13 14 15 +1 4 6 8 12 13 14 15 +1 4 6 9 10 11 12 13 +1 4 6 9 10 11 12 14 +1 4 6 9 10 11 12 15 +1 4 6 9 10 11 13 14 +1 4 6 9 10 11 13 15 +1 4 6 9 10 11 14 15 +1 4 6 9 10 12 13 14 +1 4 6 9 10 12 13 15 +1 4 6 9 10 12 14 15 +1 4 6 9 10 13 14 15 +1 4 6 9 11 12 13 14 +1 4 6 9 11 12 13 15 +1 4 6 9 11 12 14 15 +1 4 6 9 11 13 14 15 +1 4 6 9 12 13 14 15 +1 4 6 10 11 12 13 14 +1 4 6 10 11 12 13 15 +1 4 6 10 11 12 14 15 +1 4 6 10 11 13 14 15 +1 4 6 10 12 13 14 15 +1 4 6 11 12 13 14 15 +1 4 7 8 9 10 11 12 +1 4 7 8 9 10 11 13 +1 4 7 8 9 10 11 14 +1 4 7 8 9 10 11 15 +1 4 7 8 9 10 12 13 +1 4 7 8 9 10 12 14 +1 4 7 8 9 10 12 15 +1 4 7 8 9 10 13 14 +1 4 7 8 9 10 13 15 +1 4 7 8 9 10 14 15 +1 4 7 8 9 11 12 13 +1 4 7 8 9 11 12 14 +1 4 7 8 9 11 12 15 +1 4 7 8 9 11 13 14 +1 4 7 8 9 11 13 15 +1 4 7 8 9 11 14 15 +1 4 7 8 9 12 13 14 +1 4 7 8 9 12 13 15 +1 4 7 8 9 12 14 15 +1 4 7 8 9 13 14 15 +1 4 7 8 10 11 12 13 +1 4 7 8 10 11 12 14 +1 4 7 8 10 11 12 15 +1 4 7 8 10 11 13 14 +1 4 7 8 10 11 13 15 +1 4 7 8 10 11 14 15 +1 4 7 8 10 12 13 14 +1 4 7 8 10 12 13 15 +1 4 7 8 10 12 14 15 +1 4 7 8 10 13 14 15 +1 4 7 8 11 12 13 14 +1 4 7 8 11 12 13 15 +1 4 7 8 11 12 14 15 +1 4 7 8 11 13 14 15 +1 4 7 8 12 13 14 15 +1 4 7 9 10 11 12 13 +1 4 7 9 10 11 12 14 +1 4 7 9 10 11 12 15 +1 4 7 9 10 11 13 14 +1 4 7 9 10 11 13 15 +1 4 7 9 10 11 14 15 +1 4 7 9 10 12 13 14 +1 4 7 9 10 12 13 15 +1 4 7 9 10 12 14 15 +1 4 7 9 10 13 14 15 +1 4 7 9 11 12 13 14 +1 4 7 9 11 12 13 15 +1 4 7 9 11 12 14 15 +1 4 7 9 11 13 14 15 +1 4 7 9 12 13 14 15 +1 4 7 10 11 12 13 14 +1 4 7 10 11 12 13 15 +1 4 7 10 11 12 14 15 +1 4 7 10 11 13 14 15 +1 4 7 10 12 13 14 15 +1 4 7 11 12 13 14 15 +1 4 8 9 10 11 12 13 +1 4 8 9 10 11 12 14 +1 4 8 9 10 11 12 15 +1 4 8 9 10 11 13 14 +1 4 8 9 10 11 13 15 +1 4 8 9 10 11 14 15 +1 4 8 9 10 12 13 14 +1 4 8 9 10 12 13 15 +1 4 8 9 10 12 14 15 +1 4 8 9 10 13 14 15 +1 4 8 9 11 12 13 14 +1 4 8 9 11 12 13 15 +1 4 8 9 11 12 14 15 +1 4 8 9 11 13 14 15 +1 4 8 9 12 13 14 15 +1 4 8 10 11 12 13 14 +1 4 8 10 11 12 13 15 +1 4 8 10 11 12 14 15 +1 4 8 10 11 13 14 15 +1 4 8 10 12 13 14 15 +1 4 8 11 12 13 14 15 +1 4 9 10 11 12 13 14 +1 4 9 10 11 12 13 15 +1 4 9 10 11 12 14 15 +1 4 9 10 11 13 14 15 +1 4 9 10 12 13 14 15 +1 4 9 11 12 13 14 15 +1 4 10 11 12 13 14 15 +1 5 6 7 8 9 10 11 +1 5 6 7 8 9 10 12 +1 5 6 7 8 9 10 13 +1 5 6 7 8 9 10 14 +1 5 6 7 8 9 10 15 +1 5 6 7 8 9 11 12 +1 5 6 7 8 9 11 13 +1 5 6 7 8 9 11 14 +1 5 6 7 8 9 11 15 +1 5 6 7 8 9 12 13 +1 5 6 7 8 9 12 14 +1 5 6 7 8 9 12 15 +1 5 6 7 8 9 13 14 +1 5 6 7 8 9 13 15 +1 5 6 7 8 9 14 15 +1 5 6 7 8 10 11 12 +1 5 6 7 8 10 11 13 +1 5 6 7 8 10 11 14 +1 5 6 7 8 10 11 15 +1 5 6 7 8 10 12 13 +1 5 6 7 8 10 12 14 +1 5 6 7 8 10 12 15 +1 5 6 7 8 10 13 14 +1 5 6 7 8 10 13 15 +1 5 6 7 8 10 14 15 +1 5 6 7 8 11 12 13 +1 5 6 7 8 11 12 14 +1 5 6 7 8 11 12 15 +1 5 6 7 8 11 13 14 +1 5 6 7 8 11 13 15 +1 5 6 7 8 11 14 15 +1 5 6 7 8 12 13 14 +1 5 6 7 8 12 13 15 +1 5 6 7 8 12 14 15 +1 5 6 7 8 13 14 15 +1 5 6 7 9 10 11 12 +1 5 6 7 9 10 11 13 +1 5 6 7 9 10 11 14 +1 5 6 7 9 10 11 15 +1 5 6 7 9 10 12 13 +1 5 6 7 9 10 12 14 +1 5 6 7 9 10 12 15 +1 5 6 7 9 10 13 14 +1 5 6 7 9 10 13 15 +1 5 6 7 9 10 14 15 +1 5 6 7 9 11 12 13 +1 5 6 7 9 11 12 14 +1 5 6 7 9 11 12 15 +1 5 6 7 9 11 13 14 +1 5 6 7 9 11 13 15 +1 5 6 7 9 11 14 15 +1 5 6 7 9 12 13 14 +1 5 6 7 9 12 13 15 +1 5 6 7 9 12 14 15 +1 5 6 7 9 13 14 15 +1 5 6 7 10 11 12 13 +1 5 6 7 10 11 12 14 +1 5 6 7 10 11 12 15 +1 5 6 7 10 11 13 14 +1 5 6 7 10 11 13 15 +1 5 6 7 10 11 14 15 +1 5 6 7 10 12 13 14 +1 5 6 7 10 12 13 15 +1 5 6 7 10 12 14 15 +1 5 6 7 10 13 14 15 +1 5 6 7 11 12 13 14 +1 5 6 7 11 12 13 15 +1 5 6 7 11 12 14 15 +1 5 6 7 11 13 14 15 +1 5 6 7 12 13 14 15 +1 5 6 8 9 10 11 12 +1 5 6 8 9 10 11 13 +1 5 6 8 9 10 11 14 +1 5 6 8 9 10 11 15 +1 5 6 8 9 10 12 13 +1 5 6 8 9 10 12 14 +1 5 6 8 9 10 12 15 +1 5 6 8 9 10 13 14 +1 5 6 8 9 10 13 15 +1 5 6 8 9 10 14 15 +1 5 6 8 9 11 12 13 +1 5 6 8 9 11 12 14 +1 5 6 8 9 11 12 15 +1 5 6 8 9 11 13 14 +1 5 6 8 9 11 13 15 +1 5 6 8 9 11 14 15 +1 5 6 8 9 12 13 14 +1 5 6 8 9 12 13 15 +1 5 6 8 9 12 14 15 +1 5 6 8 9 13 14 15 +1 5 6 8 10 11 12 13 +1 5 6 8 10 11 12 14 +1 5 6 8 10 11 12 15 +1 5 6 8 10 11 13 14 +1 5 6 8 10 11 13 15 +1 5 6 8 10 11 14 15 +1 5 6 8 10 12 13 14 +1 5 6 8 10 12 13 15 +1 5 6 8 10 12 14 15 +1 5 6 8 10 13 14 15 +1 5 6 8 11 12 13 14 +1 5 6 8 11 12 13 15 +1 5 6 8 11 12 14 15 +1 5 6 8 11 13 14 15 +1 5 6 8 12 13 14 15 +1 5 6 9 10 11 12 13 +1 5 6 9 10 11 12 14 +1 5 6 9 10 11 12 15 +1 5 6 9 10 11 13 14 +1 5 6 9 10 11 13 15 +1 5 6 9 10 11 14 15 +1 5 6 9 10 12 13 14 +1 5 6 9 10 12 13 15 +1 5 6 9 10 12 14 15 +1 5 6 9 10 13 14 15 +1 5 6 9 11 12 13 14 +1 5 6 9 11 12 13 15 +1 5 6 9 11 12 14 15 +1 5 6 9 11 13 14 15 +1 5 6 9 12 13 14 15 +1 5 6 10 11 12 13 14 +1 5 6 10 11 12 13 15 +1 5 6 10 11 12 14 15 +1 5 6 10 11 13 14 15 +1 5 6 10 12 13 14 15 +1 5 6 11 12 13 14 15 +1 5 7 8 9 10 11 12 +1 5 7 8 9 10 11 13 +1 5 7 8 9 10 11 14 +1 5 7 8 9 10 11 15 +1 5 7 8 9 10 12 13 +1 5 7 8 9 10 12 14 +1 5 7 8 9 10 12 15 +1 5 7 8 9 10 13 14 +1 5 7 8 9 10 13 15 +1 5 7 8 9 10 14 15 +1 5 7 8 9 11 12 13 +1 5 7 8 9 11 12 14 +1 5 7 8 9 11 12 15 +1 5 7 8 9 11 13 14 +1 5 7 8 9 11 13 15 +1 5 7 8 9 11 14 15 +1 5 7 8 9 12 13 14 +1 5 7 8 9 12 13 15 +1 5 7 8 9 12 14 15 +1 5 7 8 9 13 14 15 +1 5 7 8 10 11 12 13 +1 5 7 8 10 11 12 14 +1 5 7 8 10 11 12 15 +1 5 7 8 10 11 13 14 +1 5 7 8 10 11 13 15 +1 5 7 8 10 11 14 15 +1 5 7 8 10 12 13 14 +1 5 7 8 10 12 13 15 +1 5 7 8 10 12 14 15 +1 5 7 8 10 13 14 15 +1 5 7 8 11 12 13 14 +1 5 7 8 11 12 13 15 +1 5 7 8 11 12 14 15 +1 5 7 8 11 13 14 15 +1 5 7 8 12 13 14 15 +1 5 7 9 10 11 12 13 +1 5 7 9 10 11 12 14 +1 5 7 9 10 11 12 15 +1 5 7 9 10 11 13 14 +1 5 7 9 10 11 13 15 +1 5 7 9 10 11 14 15 +1 5 7 9 10 12 13 14 +1 5 7 9 10 12 13 15 +1 5 7 9 10 12 14 15 +1 5 7 9 10 13 14 15 +1 5 7 9 11 12 13 14 +1 5 7 9 11 12 13 15 +1 5 7 9 11 12 14 15 +1 5 7 9 11 13 14 15 +1 5 7 9 12 13 14 15 +1 5 7 10 11 12 13 14 +1 5 7 10 11 12 13 15 +1 5 7 10 11 12 14 15 +1 5 7 10 11 13 14 15 +1 5 7 10 12 13 14 15 +1 5 7 11 12 13 14 15 +1 5 8 9 10 11 12 13 +1 5 8 9 10 11 12 14 +1 5 8 9 10 11 12 15 +1 5 8 9 10 11 13 14 +1 5 8 9 10 11 13 15 +1 5 8 9 10 11 14 15 +1 5 8 9 10 12 13 14 +1 5 8 9 10 12 13 15 +1 5 8 9 10 12 14 15 +1 5 8 9 10 13 14 15 +1 5 8 9 11 12 13 14 +1 5 8 9 11 12 13 15 +1 5 8 9 11 12 14 15 +1 5 8 9 11 13 14 15 +1 5 8 9 12 13 14 15 +1 5 8 10 11 12 13 14 +1 5 8 10 11 12 13 15 +1 5 8 10 11 12 14 15 +1 5 8 10 11 13 14 15 +1 5 8 10 12 13 14 15 +1 5 8 11 12 13 14 15 +1 5 9 10 11 12 13 14 +1 5 9 10 11 12 13 15 +1 5 9 10 11 12 14 15 +1 5 9 10 11 13 14 15 +1 5 9 10 12 13 14 15 +1 5 9 11 12 13 14 15 +1 5 10 11 12 13 14 15 +1 6 7 8 9 10 11 12 +1 6 7 8 9 10 11 13 +1 6 7 8 9 10 11 14 +1 6 7 8 9 10 11 15 +1 6 7 8 9 10 12 13 +1 6 7 8 9 10 12 14 +1 6 7 8 9 10 12 15 +1 6 7 8 9 10 13 14 +1 6 7 8 9 10 13 15 +1 6 7 8 9 10 14 15 +1 6 7 8 9 11 12 13 +1 6 7 8 9 11 12 14 +1 6 7 8 9 11 12 15 +1 6 7 8 9 11 13 14 +1 6 7 8 9 11 13 15 +1 6 7 8 9 11 14 15 +1 6 7 8 9 12 13 14 +1 6 7 8 9 12 13 15 +1 6 7 8 9 12 14 15 +1 6 7 8 9 13 14 15 +1 6 7 8 10 11 12 13 +1 6 7 8 10 11 12 14 +1 6 7 8 10 11 12 15 +1 6 7 8 10 11 13 14 +1 6 7 8 10 11 13 15 +1 6 7 8 10 11 14 15 +1 6 7 8 10 12 13 14 +1 6 7 8 10 12 13 15 +1 6 7 8 10 12 14 15 +1 6 7 8 10 13 14 15 +1 6 7 8 11 12 13 14 +1 6 7 8 11 12 13 15 +1 6 7 8 11 12 14 15 +1 6 7 8 11 13 14 15 +1 6 7 8 12 13 14 15 +1 6 7 9 10 11 12 13 +1 6 7 9 10 11 12 14 +1 6 7 9 10 11 12 15 +1 6 7 9 10 11 13 14 +1 6 7 9 10 11 13 15 +1 6 7 9 10 11 14 15 +1 6 7 9 10 12 13 14 +1 6 7 9 10 12 13 15 +1 6 7 9 10 12 14 15 +1 6 7 9 10 13 14 15 +1 6 7 9 11 12 13 14 +1 6 7 9 11 12 13 15 +1 6 7 9 11 12 14 15 +1 6 7 9 11 13 14 15 +1 6 7 9 12 13 14 15 +1 6 7 10 11 12 13 14 +1 6 7 10 11 12 13 15 +1 6 7 10 11 12 14 15 +1 6 7 10 11 13 14 15 +1 6 7 10 12 13 14 15 +1 6 7 11 12 13 14 15 +1 6 8 9 10 11 12 13 +1 6 8 9 10 11 12 14 +1 6 8 9 10 11 12 15 +1 6 8 9 10 11 13 14 +1 6 8 9 10 11 13 15 +1 6 8 9 10 11 14 15 +1 6 8 9 10 12 13 14 +1 6 8 9 10 12 13 15 +1 6 8 9 10 12 14 15 +1 6 8 9 10 13 14 15 +1 6 8 9 11 12 13 14 +1 6 8 9 11 12 13 15 +1 6 8 9 11 12 14 15 +1 6 8 9 11 13 14 15 +1 6 8 9 12 13 14 15 +1 6 8 10 11 12 13 14 +1 6 8 10 11 12 13 15 +1 6 8 10 11 12 14 15 +1 6 8 10 11 13 14 15 +1 6 8 10 12 13 14 15 +1 6 8 11 12 13 14 15 +1 6 9 10 11 12 13 14 +1 6 9 10 11 12 13 15 +1 6 9 10 11 12 14 15 +1 6 9 10 11 13 14 15 +1 6 9 10 12 13 14 15 +1 6 9 11 12 13 14 15 +1 6 10 11 12 13 14 15 +1 7 8 9 10 11 12 13 +1 7 8 9 10 11 12 14 +1 7 8 9 10 11 12 15 +1 7 8 9 10 11 13 14 +1 7 8 9 10 11 13 15 +1 7 8 9 10 11 14 15 +1 7 8 9 10 12 13 14 +1 7 8 9 10 12 13 15 +1 7 8 9 10 12 14 15 +1 7 8 9 10 13 14 15 +1 7 8 9 11 12 13 14 +1 7 8 9 11 12 13 15 +1 7 8 9 11 12 14 15 +1 7 8 9 11 13 14 15 +1 7 8 9 12 13 14 15 +1 7 8 10 11 12 13 14 +1 7 8 10 11 12 13 15 +1 7 8 10 11 12 14 15 +1 7 8 10 11 13 14 15 +1 7 8 10 12 13 14 15 +1 7 8 11 12 13 14 15 +1 7 9 10 11 12 13 14 +1 7 9 10 11 12 13 15 +1 7 9 10 11 12 14 15 +1 7 9 10 11 13 14 15 +1 7 9 10 12 13 14 15 +1 7 9 11 12 13 14 15 +1 7 10 11 12 13 14 15 +1 8 9 10 11 12 13 14 +1 8 9 10 11 12 13 15 +1 8 9 10 11 12 14 15 +1 8 9 10 11 13 14 15 +1 8 9 10 12 13 14 15 +1 8 9 11 12 13 14 15 +1 8 10 11 12 13 14 15 +1 9 10 11 12 13 14 15 +2 3 4 5 6 7 8 9 +2 3 4 5 6 7 8 10 +2 3 4 5 6 7 8 11 +2 3 4 5 6 7 8 12 +2 3 4 5 6 7 8 13 +2 3 4 5 6 7 8 14 +2 3 4 5 6 7 8 15 +2 3 4 5 6 7 9 10 +2 3 4 5 6 7 9 11 +2 3 4 5 6 7 9 12 +2 3 4 5 6 7 9 13 +2 3 4 5 6 7 9 14 +2 3 4 5 6 7 9 15 +2 3 4 5 6 7 10 11 +2 3 4 5 6 7 10 12 +2 3 4 5 6 7 10 13 +2 3 4 5 6 7 10 14 +2 3 4 5 6 7 10 15 +2 3 4 5 6 7 11 12 +2 3 4 5 6 7 11 13 +2 3 4 5 6 7 11 14 +2 3 4 5 6 7 11 15 +2 3 4 5 6 7 12 13 +2 3 4 5 6 7 12 14 +2 3 4 5 6 7 12 15 +2 3 4 5 6 7 13 14 +2 3 4 5 6 7 13 15 +2 3 4 5 6 7 14 15 +2 3 4 5 6 8 9 10 +2 3 4 5 6 8 9 11 +2 3 4 5 6 8 9 12 +2 3 4 5 6 8 9 13 +2 3 4 5 6 8 9 14 +2 3 4 5 6 8 9 15 +2 3 4 5 6 8 10 11 +2 3 4 5 6 8 10 12 +2 3 4 5 6 8 10 13 +2 3 4 5 6 8 10 14 +2 3 4 5 6 8 10 15 +2 3 4 5 6 8 11 12 +2 3 4 5 6 8 11 13 +2 3 4 5 6 8 11 14 +2 3 4 5 6 8 11 15 +2 3 4 5 6 8 12 13 +2 3 4 5 6 8 12 14 +2 3 4 5 6 8 12 15 +2 3 4 5 6 8 13 14 +2 3 4 5 6 8 13 15 +2 3 4 5 6 8 14 15 +2 3 4 5 6 9 10 11 +2 3 4 5 6 9 10 12 +2 3 4 5 6 9 10 13 +2 3 4 5 6 9 10 14 +2 3 4 5 6 9 10 15 +2 3 4 5 6 9 11 12 +2 3 4 5 6 9 11 13 +2 3 4 5 6 9 11 14 +2 3 4 5 6 9 11 15 +2 3 4 5 6 9 12 13 +2 3 4 5 6 9 12 14 +2 3 4 5 6 9 12 15 +2 3 4 5 6 9 13 14 +2 3 4 5 6 9 13 15 +2 3 4 5 6 9 14 15 +2 3 4 5 6 10 11 12 +2 3 4 5 6 10 11 13 +2 3 4 5 6 10 11 14 +2 3 4 5 6 10 11 15 +2 3 4 5 6 10 12 13 +2 3 4 5 6 10 12 14 +2 3 4 5 6 10 12 15 +2 3 4 5 6 10 13 14 +2 3 4 5 6 10 13 15 +2 3 4 5 6 10 14 15 +2 3 4 5 6 11 12 13 +2 3 4 5 6 11 12 14 +2 3 4 5 6 11 12 15 +2 3 4 5 6 11 13 14 +2 3 4 5 6 11 13 15 +2 3 4 5 6 11 14 15 +2 3 4 5 6 12 13 14 +2 3 4 5 6 12 13 15 +2 3 4 5 6 12 14 15 +2 3 4 5 6 13 14 15 +2 3 4 5 7 8 9 10 +2 3 4 5 7 8 9 11 +2 3 4 5 7 8 9 12 +2 3 4 5 7 8 9 13 +2 3 4 5 7 8 9 14 +2 3 4 5 7 8 9 15 +2 3 4 5 7 8 10 11 +2 3 4 5 7 8 10 12 +2 3 4 5 7 8 10 13 +2 3 4 5 7 8 10 14 +2 3 4 5 7 8 10 15 +2 3 4 5 7 8 11 12 +2 3 4 5 7 8 11 13 +2 3 4 5 7 8 11 14 +2 3 4 5 7 8 11 15 +2 3 4 5 7 8 12 13 +2 3 4 5 7 8 12 14 +2 3 4 5 7 8 12 15 +2 3 4 5 7 8 13 14 +2 3 4 5 7 8 13 15 +2 3 4 5 7 8 14 15 +2 3 4 5 7 9 10 11 +2 3 4 5 7 9 10 12 +2 3 4 5 7 9 10 13 +2 3 4 5 7 9 10 14 +2 3 4 5 7 9 10 15 +2 3 4 5 7 9 11 12 +2 3 4 5 7 9 11 13 +2 3 4 5 7 9 11 14 +2 3 4 5 7 9 11 15 +2 3 4 5 7 9 12 13 +2 3 4 5 7 9 12 14 +2 3 4 5 7 9 12 15 +2 3 4 5 7 9 13 14 +2 3 4 5 7 9 13 15 +2 3 4 5 7 9 14 15 +2 3 4 5 7 10 11 12 +2 3 4 5 7 10 11 13 +2 3 4 5 7 10 11 14 +2 3 4 5 7 10 11 15 +2 3 4 5 7 10 12 13 +2 3 4 5 7 10 12 14 +2 3 4 5 7 10 12 15 +2 3 4 5 7 10 13 14 +2 3 4 5 7 10 13 15 +2 3 4 5 7 10 14 15 +2 3 4 5 7 11 12 13 +2 3 4 5 7 11 12 14 +2 3 4 5 7 11 12 15 +2 3 4 5 7 11 13 14 +2 3 4 5 7 11 13 15 +2 3 4 5 7 11 14 15 +2 3 4 5 7 12 13 14 +2 3 4 5 7 12 13 15 +2 3 4 5 7 12 14 15 +2 3 4 5 7 13 14 15 +2 3 4 5 8 9 10 11 +2 3 4 5 8 9 10 12 +2 3 4 5 8 9 10 13 +2 3 4 5 8 9 10 14 +2 3 4 5 8 9 10 15 +2 3 4 5 8 9 11 12 +2 3 4 5 8 9 11 13 +2 3 4 5 8 9 11 14 +2 3 4 5 8 9 11 15 +2 3 4 5 8 9 12 13 +2 3 4 5 8 9 12 14 +2 3 4 5 8 9 12 15 +2 3 4 5 8 9 13 14 +2 3 4 5 8 9 13 15 +2 3 4 5 8 9 14 15 +2 3 4 5 8 10 11 12 +2 3 4 5 8 10 11 13 +2 3 4 5 8 10 11 14 +2 3 4 5 8 10 11 15 +2 3 4 5 8 10 12 13 +2 3 4 5 8 10 12 14 +2 3 4 5 8 10 12 15 +2 3 4 5 8 10 13 14 +2 3 4 5 8 10 13 15 +2 3 4 5 8 10 14 15 +2 3 4 5 8 11 12 13 +2 3 4 5 8 11 12 14 +2 3 4 5 8 11 12 15 +2 3 4 5 8 11 13 14 +2 3 4 5 8 11 13 15 +2 3 4 5 8 11 14 15 +2 3 4 5 8 12 13 14 +2 3 4 5 8 12 13 15 +2 3 4 5 8 12 14 15 +2 3 4 5 8 13 14 15 +2 3 4 5 9 10 11 12 +2 3 4 5 9 10 11 13 +2 3 4 5 9 10 11 14 +2 3 4 5 9 10 11 15 +2 3 4 5 9 10 12 13 +2 3 4 5 9 10 12 14 +2 3 4 5 9 10 12 15 +2 3 4 5 9 10 13 14 +2 3 4 5 9 10 13 15 +2 3 4 5 9 10 14 15 +2 3 4 5 9 11 12 13 +2 3 4 5 9 11 12 14 +2 3 4 5 9 11 12 15 +2 3 4 5 9 11 13 14 +2 3 4 5 9 11 13 15 +2 3 4 5 9 11 14 15 +2 3 4 5 9 12 13 14 +2 3 4 5 9 12 13 15 +2 3 4 5 9 12 14 15 +2 3 4 5 9 13 14 15 +2 3 4 5 10 11 12 13 +2 3 4 5 10 11 12 14 +2 3 4 5 10 11 12 15 +2 3 4 5 10 11 13 14 +2 3 4 5 10 11 13 15 +2 3 4 5 10 11 14 15 +2 3 4 5 10 12 13 14 +2 3 4 5 10 12 13 15 +2 3 4 5 10 12 14 15 +2 3 4 5 10 13 14 15 +2 3 4 5 11 12 13 14 +2 3 4 5 11 12 13 15 +2 3 4 5 11 12 14 15 +2 3 4 5 11 13 14 15 +2 3 4 5 12 13 14 15 +2 3 4 6 7 8 9 10 +2 3 4 6 7 8 9 11 +2 3 4 6 7 8 9 12 +2 3 4 6 7 8 9 13 +2 3 4 6 7 8 9 14 +2 3 4 6 7 8 9 15 +2 3 4 6 7 8 10 11 +2 3 4 6 7 8 10 12 +2 3 4 6 7 8 10 13 +2 3 4 6 7 8 10 14 +2 3 4 6 7 8 10 15 +2 3 4 6 7 8 11 12 +2 3 4 6 7 8 11 13 +2 3 4 6 7 8 11 14 +2 3 4 6 7 8 11 15 +2 3 4 6 7 8 12 13 +2 3 4 6 7 8 12 14 +2 3 4 6 7 8 12 15 +2 3 4 6 7 8 13 14 +2 3 4 6 7 8 13 15 +2 3 4 6 7 8 14 15 +2 3 4 6 7 9 10 11 +2 3 4 6 7 9 10 12 +2 3 4 6 7 9 10 13 +2 3 4 6 7 9 10 14 +2 3 4 6 7 9 10 15 +2 3 4 6 7 9 11 12 +2 3 4 6 7 9 11 13 +2 3 4 6 7 9 11 14 +2 3 4 6 7 9 11 15 +2 3 4 6 7 9 12 13 +2 3 4 6 7 9 12 14 +2 3 4 6 7 9 12 15 +2 3 4 6 7 9 13 14 +2 3 4 6 7 9 13 15 +2 3 4 6 7 9 14 15 +2 3 4 6 7 10 11 12 +2 3 4 6 7 10 11 13 +2 3 4 6 7 10 11 14 +2 3 4 6 7 10 11 15 +2 3 4 6 7 10 12 13 +2 3 4 6 7 10 12 14 +2 3 4 6 7 10 12 15 +2 3 4 6 7 10 13 14 +2 3 4 6 7 10 13 15 +2 3 4 6 7 10 14 15 +2 3 4 6 7 11 12 13 +2 3 4 6 7 11 12 14 +2 3 4 6 7 11 12 15 +2 3 4 6 7 11 13 14 +2 3 4 6 7 11 13 15 +2 3 4 6 7 11 14 15 +2 3 4 6 7 12 13 14 +2 3 4 6 7 12 13 15 +2 3 4 6 7 12 14 15 +2 3 4 6 7 13 14 15 +2 3 4 6 8 9 10 11 +2 3 4 6 8 9 10 12 +2 3 4 6 8 9 10 13 +2 3 4 6 8 9 10 14 +2 3 4 6 8 9 10 15 +2 3 4 6 8 9 11 12 +2 3 4 6 8 9 11 13 +2 3 4 6 8 9 11 14 +2 3 4 6 8 9 11 15 +2 3 4 6 8 9 12 13 +2 3 4 6 8 9 12 14 +2 3 4 6 8 9 12 15 +2 3 4 6 8 9 13 14 +2 3 4 6 8 9 13 15 +2 3 4 6 8 9 14 15 +2 3 4 6 8 10 11 12 +2 3 4 6 8 10 11 13 +2 3 4 6 8 10 11 14 +2 3 4 6 8 10 11 15 +2 3 4 6 8 10 12 13 +2 3 4 6 8 10 12 14 +2 3 4 6 8 10 12 15 +2 3 4 6 8 10 13 14 +2 3 4 6 8 10 13 15 +2 3 4 6 8 10 14 15 +2 3 4 6 8 11 12 13 +2 3 4 6 8 11 12 14 +2 3 4 6 8 11 12 15 +2 3 4 6 8 11 13 14 +2 3 4 6 8 11 13 15 +2 3 4 6 8 11 14 15 +2 3 4 6 8 12 13 14 +2 3 4 6 8 12 13 15 +2 3 4 6 8 12 14 15 +2 3 4 6 8 13 14 15 +2 3 4 6 9 10 11 12 +2 3 4 6 9 10 11 13 +2 3 4 6 9 10 11 14 +2 3 4 6 9 10 11 15 +2 3 4 6 9 10 12 13 +2 3 4 6 9 10 12 14 +2 3 4 6 9 10 12 15 +2 3 4 6 9 10 13 14 +2 3 4 6 9 10 13 15 +2 3 4 6 9 10 14 15 +2 3 4 6 9 11 12 13 +2 3 4 6 9 11 12 14 +2 3 4 6 9 11 12 15 +2 3 4 6 9 11 13 14 +2 3 4 6 9 11 13 15 +2 3 4 6 9 11 14 15 +2 3 4 6 9 12 13 14 +2 3 4 6 9 12 13 15 +2 3 4 6 9 12 14 15 +2 3 4 6 9 13 14 15 +2 3 4 6 10 11 12 13 +2 3 4 6 10 11 12 14 +2 3 4 6 10 11 12 15 +2 3 4 6 10 11 13 14 +2 3 4 6 10 11 13 15 +2 3 4 6 10 11 14 15 +2 3 4 6 10 12 13 14 +2 3 4 6 10 12 13 15 +2 3 4 6 10 12 14 15 +2 3 4 6 10 13 14 15 +2 3 4 6 11 12 13 14 +2 3 4 6 11 12 13 15 +2 3 4 6 11 12 14 15 +2 3 4 6 11 13 14 15 +2 3 4 6 12 13 14 15 +2 3 4 7 8 9 10 11 +2 3 4 7 8 9 10 12 +2 3 4 7 8 9 10 13 +2 3 4 7 8 9 10 14 +2 3 4 7 8 9 10 15 +2 3 4 7 8 9 11 12 +2 3 4 7 8 9 11 13 +2 3 4 7 8 9 11 14 +2 3 4 7 8 9 11 15 +2 3 4 7 8 9 12 13 +2 3 4 7 8 9 12 14 +2 3 4 7 8 9 12 15 +2 3 4 7 8 9 13 14 +2 3 4 7 8 9 13 15 +2 3 4 7 8 9 14 15 +2 3 4 7 8 10 11 12 +2 3 4 7 8 10 11 13 +2 3 4 7 8 10 11 14 +2 3 4 7 8 10 11 15 +2 3 4 7 8 10 12 13 +2 3 4 7 8 10 12 14 +2 3 4 7 8 10 12 15 +2 3 4 7 8 10 13 14 +2 3 4 7 8 10 13 15 +2 3 4 7 8 10 14 15 +2 3 4 7 8 11 12 13 +2 3 4 7 8 11 12 14 +2 3 4 7 8 11 12 15 +2 3 4 7 8 11 13 14 +2 3 4 7 8 11 13 15 +2 3 4 7 8 11 14 15 +2 3 4 7 8 12 13 14 +2 3 4 7 8 12 13 15 +2 3 4 7 8 12 14 15 +2 3 4 7 8 13 14 15 +2 3 4 7 9 10 11 12 +2 3 4 7 9 10 11 13 +2 3 4 7 9 10 11 14 +2 3 4 7 9 10 11 15 +2 3 4 7 9 10 12 13 +2 3 4 7 9 10 12 14 +2 3 4 7 9 10 12 15 +2 3 4 7 9 10 13 14 +2 3 4 7 9 10 13 15 +2 3 4 7 9 10 14 15 +2 3 4 7 9 11 12 13 +2 3 4 7 9 11 12 14 +2 3 4 7 9 11 12 15 +2 3 4 7 9 11 13 14 +2 3 4 7 9 11 13 15 +2 3 4 7 9 11 14 15 +2 3 4 7 9 12 13 14 +2 3 4 7 9 12 13 15 +2 3 4 7 9 12 14 15 +2 3 4 7 9 13 14 15 +2 3 4 7 10 11 12 13 +2 3 4 7 10 11 12 14 +2 3 4 7 10 11 12 15 +2 3 4 7 10 11 13 14 +2 3 4 7 10 11 13 15 +2 3 4 7 10 11 14 15 +2 3 4 7 10 12 13 14 +2 3 4 7 10 12 13 15 +2 3 4 7 10 12 14 15 +2 3 4 7 10 13 14 15 +2 3 4 7 11 12 13 14 +2 3 4 7 11 12 13 15 +2 3 4 7 11 12 14 15 +2 3 4 7 11 13 14 15 +2 3 4 7 12 13 14 15 +2 3 4 8 9 10 11 12 +2 3 4 8 9 10 11 13 +2 3 4 8 9 10 11 14 +2 3 4 8 9 10 11 15 +2 3 4 8 9 10 12 13 +2 3 4 8 9 10 12 14 +2 3 4 8 9 10 12 15 +2 3 4 8 9 10 13 14 +2 3 4 8 9 10 13 15 +2 3 4 8 9 10 14 15 +2 3 4 8 9 11 12 13 +2 3 4 8 9 11 12 14 +2 3 4 8 9 11 12 15 +2 3 4 8 9 11 13 14 +2 3 4 8 9 11 13 15 +2 3 4 8 9 11 14 15 +2 3 4 8 9 12 13 14 +2 3 4 8 9 12 13 15 +2 3 4 8 9 12 14 15 +2 3 4 8 9 13 14 15 +2 3 4 8 10 11 12 13 +2 3 4 8 10 11 12 14 +2 3 4 8 10 11 12 15 +2 3 4 8 10 11 13 14 +2 3 4 8 10 11 13 15 +2 3 4 8 10 11 14 15 +2 3 4 8 10 12 13 14 +2 3 4 8 10 12 13 15 +2 3 4 8 10 12 14 15 +2 3 4 8 10 13 14 15 +2 3 4 8 11 12 13 14 +2 3 4 8 11 12 13 15 +2 3 4 8 11 12 14 15 +2 3 4 8 11 13 14 15 +2 3 4 8 12 13 14 15 +2 3 4 9 10 11 12 13 +2 3 4 9 10 11 12 14 +2 3 4 9 10 11 12 15 +2 3 4 9 10 11 13 14 +2 3 4 9 10 11 13 15 +2 3 4 9 10 11 14 15 +2 3 4 9 10 12 13 14 +2 3 4 9 10 12 13 15 +2 3 4 9 10 12 14 15 +2 3 4 9 10 13 14 15 +2 3 4 9 11 12 13 14 +2 3 4 9 11 12 13 15 +2 3 4 9 11 12 14 15 +2 3 4 9 11 13 14 15 +2 3 4 9 12 13 14 15 +2 3 4 10 11 12 13 14 +2 3 4 10 11 12 13 15 +2 3 4 10 11 12 14 15 +2 3 4 10 11 13 14 15 +2 3 4 10 12 13 14 15 +2 3 4 11 12 13 14 15 +2 3 5 6 7 8 9 10 +2 3 5 6 7 8 9 11 +2 3 5 6 7 8 9 12 +2 3 5 6 7 8 9 13 +2 3 5 6 7 8 9 14 +2 3 5 6 7 8 9 15 +2 3 5 6 7 8 10 11 +2 3 5 6 7 8 10 12 +2 3 5 6 7 8 10 13 +2 3 5 6 7 8 10 14 +2 3 5 6 7 8 10 15 +2 3 5 6 7 8 11 12 +2 3 5 6 7 8 11 13 +2 3 5 6 7 8 11 14 +2 3 5 6 7 8 11 15 +2 3 5 6 7 8 12 13 +2 3 5 6 7 8 12 14 +2 3 5 6 7 8 12 15 +2 3 5 6 7 8 13 14 +2 3 5 6 7 8 13 15 +2 3 5 6 7 8 14 15 +2 3 5 6 7 9 10 11 +2 3 5 6 7 9 10 12 +2 3 5 6 7 9 10 13 +2 3 5 6 7 9 10 14 +2 3 5 6 7 9 10 15 +2 3 5 6 7 9 11 12 +2 3 5 6 7 9 11 13 +2 3 5 6 7 9 11 14 +2 3 5 6 7 9 11 15 +2 3 5 6 7 9 12 13 +2 3 5 6 7 9 12 14 +2 3 5 6 7 9 12 15 +2 3 5 6 7 9 13 14 +2 3 5 6 7 9 13 15 +2 3 5 6 7 9 14 15 +2 3 5 6 7 10 11 12 +2 3 5 6 7 10 11 13 +2 3 5 6 7 10 11 14 +2 3 5 6 7 10 11 15 +2 3 5 6 7 10 12 13 +2 3 5 6 7 10 12 14 +2 3 5 6 7 10 12 15 +2 3 5 6 7 10 13 14 +2 3 5 6 7 10 13 15 +2 3 5 6 7 10 14 15 +2 3 5 6 7 11 12 13 +2 3 5 6 7 11 12 14 +2 3 5 6 7 11 12 15 +2 3 5 6 7 11 13 14 +2 3 5 6 7 11 13 15 +2 3 5 6 7 11 14 15 +2 3 5 6 7 12 13 14 +2 3 5 6 7 12 13 15 +2 3 5 6 7 12 14 15 +2 3 5 6 7 13 14 15 +2 3 5 6 8 9 10 11 +2 3 5 6 8 9 10 12 +2 3 5 6 8 9 10 13 +2 3 5 6 8 9 10 14 +2 3 5 6 8 9 10 15 +2 3 5 6 8 9 11 12 +2 3 5 6 8 9 11 13 +2 3 5 6 8 9 11 14 +2 3 5 6 8 9 11 15 +2 3 5 6 8 9 12 13 +2 3 5 6 8 9 12 14 +2 3 5 6 8 9 12 15 +2 3 5 6 8 9 13 14 +2 3 5 6 8 9 13 15 +2 3 5 6 8 9 14 15 +2 3 5 6 8 10 11 12 +2 3 5 6 8 10 11 13 +2 3 5 6 8 10 11 14 +2 3 5 6 8 10 11 15 +2 3 5 6 8 10 12 13 +2 3 5 6 8 10 12 14 +2 3 5 6 8 10 12 15 +2 3 5 6 8 10 13 14 +2 3 5 6 8 10 13 15 +2 3 5 6 8 10 14 15 +2 3 5 6 8 11 12 13 +2 3 5 6 8 11 12 14 +2 3 5 6 8 11 12 15 +2 3 5 6 8 11 13 14 +2 3 5 6 8 11 13 15 +2 3 5 6 8 11 14 15 +2 3 5 6 8 12 13 14 +2 3 5 6 8 12 13 15 +2 3 5 6 8 12 14 15 +2 3 5 6 8 13 14 15 +2 3 5 6 9 10 11 12 +2 3 5 6 9 10 11 13 +2 3 5 6 9 10 11 14 +2 3 5 6 9 10 11 15 +2 3 5 6 9 10 12 13 +2 3 5 6 9 10 12 14 +2 3 5 6 9 10 12 15 +2 3 5 6 9 10 13 14 +2 3 5 6 9 10 13 15 +2 3 5 6 9 10 14 15 +2 3 5 6 9 11 12 13 +2 3 5 6 9 11 12 14 +2 3 5 6 9 11 12 15 +2 3 5 6 9 11 13 14 +2 3 5 6 9 11 13 15 +2 3 5 6 9 11 14 15 +2 3 5 6 9 12 13 14 +2 3 5 6 9 12 13 15 +2 3 5 6 9 12 14 15 +2 3 5 6 9 13 14 15 +2 3 5 6 10 11 12 13 +2 3 5 6 10 11 12 14 +2 3 5 6 10 11 12 15 +2 3 5 6 10 11 13 14 +2 3 5 6 10 11 13 15 +2 3 5 6 10 11 14 15 +2 3 5 6 10 12 13 14 +2 3 5 6 10 12 13 15 +2 3 5 6 10 12 14 15 +2 3 5 6 10 13 14 15 +2 3 5 6 11 12 13 14 +2 3 5 6 11 12 13 15 +2 3 5 6 11 12 14 15 +2 3 5 6 11 13 14 15 +2 3 5 6 12 13 14 15 +2 3 5 7 8 9 10 11 +2 3 5 7 8 9 10 12 +2 3 5 7 8 9 10 13 +2 3 5 7 8 9 10 14 +2 3 5 7 8 9 10 15 +2 3 5 7 8 9 11 12 +2 3 5 7 8 9 11 13 +2 3 5 7 8 9 11 14 +2 3 5 7 8 9 11 15 +2 3 5 7 8 9 12 13 +2 3 5 7 8 9 12 14 +2 3 5 7 8 9 12 15 +2 3 5 7 8 9 13 14 +2 3 5 7 8 9 13 15 +2 3 5 7 8 9 14 15 +2 3 5 7 8 10 11 12 +2 3 5 7 8 10 11 13 +2 3 5 7 8 10 11 14 +2 3 5 7 8 10 11 15 +2 3 5 7 8 10 12 13 +2 3 5 7 8 10 12 14 +2 3 5 7 8 10 12 15 +2 3 5 7 8 10 13 14 +2 3 5 7 8 10 13 15 +2 3 5 7 8 10 14 15 +2 3 5 7 8 11 12 13 +2 3 5 7 8 11 12 14 +2 3 5 7 8 11 12 15 +2 3 5 7 8 11 13 14 +2 3 5 7 8 11 13 15 +2 3 5 7 8 11 14 15 +2 3 5 7 8 12 13 14 +2 3 5 7 8 12 13 15 +2 3 5 7 8 12 14 15 +2 3 5 7 8 13 14 15 +2 3 5 7 9 10 11 12 +2 3 5 7 9 10 11 13 +2 3 5 7 9 10 11 14 +2 3 5 7 9 10 11 15 +2 3 5 7 9 10 12 13 +2 3 5 7 9 10 12 14 +2 3 5 7 9 10 12 15 +2 3 5 7 9 10 13 14 +2 3 5 7 9 10 13 15 +2 3 5 7 9 10 14 15 +2 3 5 7 9 11 12 13 +2 3 5 7 9 11 12 14 +2 3 5 7 9 11 12 15 +2 3 5 7 9 11 13 14 +2 3 5 7 9 11 13 15 +2 3 5 7 9 11 14 15 +2 3 5 7 9 12 13 14 +2 3 5 7 9 12 13 15 +2 3 5 7 9 12 14 15 +2 3 5 7 9 13 14 15 +2 3 5 7 10 11 12 13 +2 3 5 7 10 11 12 14 +2 3 5 7 10 11 12 15 +2 3 5 7 10 11 13 14 +2 3 5 7 10 11 13 15 +2 3 5 7 10 11 14 15 +2 3 5 7 10 12 13 14 +2 3 5 7 10 12 13 15 +2 3 5 7 10 12 14 15 +2 3 5 7 10 13 14 15 +2 3 5 7 11 12 13 14 +2 3 5 7 11 12 13 15 +2 3 5 7 11 12 14 15 +2 3 5 7 11 13 14 15 +2 3 5 7 12 13 14 15 +2 3 5 8 9 10 11 12 +2 3 5 8 9 10 11 13 +2 3 5 8 9 10 11 14 +2 3 5 8 9 10 11 15 +2 3 5 8 9 10 12 13 +2 3 5 8 9 10 12 14 +2 3 5 8 9 10 12 15 +2 3 5 8 9 10 13 14 +2 3 5 8 9 10 13 15 +2 3 5 8 9 10 14 15 +2 3 5 8 9 11 12 13 +2 3 5 8 9 11 12 14 +2 3 5 8 9 11 12 15 +2 3 5 8 9 11 13 14 +2 3 5 8 9 11 13 15 +2 3 5 8 9 11 14 15 +2 3 5 8 9 12 13 14 +2 3 5 8 9 12 13 15 +2 3 5 8 9 12 14 15 +2 3 5 8 9 13 14 15 +2 3 5 8 10 11 12 13 +2 3 5 8 10 11 12 14 +2 3 5 8 10 11 12 15 +2 3 5 8 10 11 13 14 +2 3 5 8 10 11 13 15 +2 3 5 8 10 11 14 15 +2 3 5 8 10 12 13 14 +2 3 5 8 10 12 13 15 +2 3 5 8 10 12 14 15 +2 3 5 8 10 13 14 15 +2 3 5 8 11 12 13 14 +2 3 5 8 11 12 13 15 +2 3 5 8 11 12 14 15 +2 3 5 8 11 13 14 15 +2 3 5 8 12 13 14 15 +2 3 5 9 10 11 12 13 +2 3 5 9 10 11 12 14 +2 3 5 9 10 11 12 15 +2 3 5 9 10 11 13 14 +2 3 5 9 10 11 13 15 +2 3 5 9 10 11 14 15 +2 3 5 9 10 12 13 14 +2 3 5 9 10 12 13 15 +2 3 5 9 10 12 14 15 +2 3 5 9 10 13 14 15 +2 3 5 9 11 12 13 14 +2 3 5 9 11 12 13 15 +2 3 5 9 11 12 14 15 +2 3 5 9 11 13 14 15 +2 3 5 9 12 13 14 15 +2 3 5 10 11 12 13 14 +2 3 5 10 11 12 13 15 +2 3 5 10 11 12 14 15 +2 3 5 10 11 13 14 15 +2 3 5 10 12 13 14 15 +2 3 5 11 12 13 14 15 +2 3 6 7 8 9 10 11 +2 3 6 7 8 9 10 12 +2 3 6 7 8 9 10 13 +2 3 6 7 8 9 10 14 +2 3 6 7 8 9 10 15 +2 3 6 7 8 9 11 12 +2 3 6 7 8 9 11 13 +2 3 6 7 8 9 11 14 +2 3 6 7 8 9 11 15 +2 3 6 7 8 9 12 13 +2 3 6 7 8 9 12 14 +2 3 6 7 8 9 12 15 +2 3 6 7 8 9 13 14 +2 3 6 7 8 9 13 15 +2 3 6 7 8 9 14 15 +2 3 6 7 8 10 11 12 +2 3 6 7 8 10 11 13 +2 3 6 7 8 10 11 14 +2 3 6 7 8 10 11 15 +2 3 6 7 8 10 12 13 +2 3 6 7 8 10 12 14 +2 3 6 7 8 10 12 15 +2 3 6 7 8 10 13 14 +2 3 6 7 8 10 13 15 +2 3 6 7 8 10 14 15 +2 3 6 7 8 11 12 13 +2 3 6 7 8 11 12 14 +2 3 6 7 8 11 12 15 +2 3 6 7 8 11 13 14 +2 3 6 7 8 11 13 15 +2 3 6 7 8 11 14 15 +2 3 6 7 8 12 13 14 +2 3 6 7 8 12 13 15 +2 3 6 7 8 12 14 15 +2 3 6 7 8 13 14 15 +2 3 6 7 9 10 11 12 +2 3 6 7 9 10 11 13 +2 3 6 7 9 10 11 14 +2 3 6 7 9 10 11 15 +2 3 6 7 9 10 12 13 +2 3 6 7 9 10 12 14 +2 3 6 7 9 10 12 15 +2 3 6 7 9 10 13 14 +2 3 6 7 9 10 13 15 +2 3 6 7 9 10 14 15 +2 3 6 7 9 11 12 13 +2 3 6 7 9 11 12 14 +2 3 6 7 9 11 12 15 +2 3 6 7 9 11 13 14 +2 3 6 7 9 11 13 15 +2 3 6 7 9 11 14 15 +2 3 6 7 9 12 13 14 +2 3 6 7 9 12 13 15 +2 3 6 7 9 12 14 15 +2 3 6 7 9 13 14 15 +2 3 6 7 10 11 12 13 +2 3 6 7 10 11 12 14 +2 3 6 7 10 11 12 15 +2 3 6 7 10 11 13 14 +2 3 6 7 10 11 13 15 +2 3 6 7 10 11 14 15 +2 3 6 7 10 12 13 14 +2 3 6 7 10 12 13 15 +2 3 6 7 10 12 14 15 +2 3 6 7 10 13 14 15 +2 3 6 7 11 12 13 14 +2 3 6 7 11 12 13 15 +2 3 6 7 11 12 14 15 +2 3 6 7 11 13 14 15 +2 3 6 7 12 13 14 15 +2 3 6 8 9 10 11 12 +2 3 6 8 9 10 11 13 +2 3 6 8 9 10 11 14 +2 3 6 8 9 10 11 15 +2 3 6 8 9 10 12 13 +2 3 6 8 9 10 12 14 +2 3 6 8 9 10 12 15 +2 3 6 8 9 10 13 14 +2 3 6 8 9 10 13 15 +2 3 6 8 9 10 14 15 +2 3 6 8 9 11 12 13 +2 3 6 8 9 11 12 14 +2 3 6 8 9 11 12 15 +2 3 6 8 9 11 13 14 +2 3 6 8 9 11 13 15 +2 3 6 8 9 11 14 15 +2 3 6 8 9 12 13 14 +2 3 6 8 9 12 13 15 +2 3 6 8 9 12 14 15 +2 3 6 8 9 13 14 15 +2 3 6 8 10 11 12 13 +2 3 6 8 10 11 12 14 +2 3 6 8 10 11 12 15 +2 3 6 8 10 11 13 14 +2 3 6 8 10 11 13 15 +2 3 6 8 10 11 14 15 +2 3 6 8 10 12 13 14 +2 3 6 8 10 12 13 15 +2 3 6 8 10 12 14 15 +2 3 6 8 10 13 14 15 +2 3 6 8 11 12 13 14 +2 3 6 8 11 12 13 15 +2 3 6 8 11 12 14 15 +2 3 6 8 11 13 14 15 +2 3 6 8 12 13 14 15 +2 3 6 9 10 11 12 13 +2 3 6 9 10 11 12 14 +2 3 6 9 10 11 12 15 +2 3 6 9 10 11 13 14 +2 3 6 9 10 11 13 15 +2 3 6 9 10 11 14 15 +2 3 6 9 10 12 13 14 +2 3 6 9 10 12 13 15 +2 3 6 9 10 12 14 15 +2 3 6 9 10 13 14 15 +2 3 6 9 11 12 13 14 +2 3 6 9 11 12 13 15 +2 3 6 9 11 12 14 15 +2 3 6 9 11 13 14 15 +2 3 6 9 12 13 14 15 +2 3 6 10 11 12 13 14 +2 3 6 10 11 12 13 15 +2 3 6 10 11 12 14 15 +2 3 6 10 11 13 14 15 +2 3 6 10 12 13 14 15 +2 3 6 11 12 13 14 15 +2 3 7 8 9 10 11 12 +2 3 7 8 9 10 11 13 +2 3 7 8 9 10 11 14 +2 3 7 8 9 10 11 15 +2 3 7 8 9 10 12 13 +2 3 7 8 9 10 12 14 +2 3 7 8 9 10 12 15 +2 3 7 8 9 10 13 14 +2 3 7 8 9 10 13 15 +2 3 7 8 9 10 14 15 +2 3 7 8 9 11 12 13 +2 3 7 8 9 11 12 14 +2 3 7 8 9 11 12 15 +2 3 7 8 9 11 13 14 +2 3 7 8 9 11 13 15 +2 3 7 8 9 11 14 15 +2 3 7 8 9 12 13 14 +2 3 7 8 9 12 13 15 +2 3 7 8 9 12 14 15 +2 3 7 8 9 13 14 15 +2 3 7 8 10 11 12 13 +2 3 7 8 10 11 12 14 +2 3 7 8 10 11 12 15 +2 3 7 8 10 11 13 14 +2 3 7 8 10 11 13 15 +2 3 7 8 10 11 14 15 +2 3 7 8 10 12 13 14 +2 3 7 8 10 12 13 15 +2 3 7 8 10 12 14 15 +2 3 7 8 10 13 14 15 +2 3 7 8 11 12 13 14 +2 3 7 8 11 12 13 15 +2 3 7 8 11 12 14 15 +2 3 7 8 11 13 14 15 +2 3 7 8 12 13 14 15 +2 3 7 9 10 11 12 13 +2 3 7 9 10 11 12 14 +2 3 7 9 10 11 12 15 +2 3 7 9 10 11 13 14 +2 3 7 9 10 11 13 15 +2 3 7 9 10 11 14 15 +2 3 7 9 10 12 13 14 +2 3 7 9 10 12 13 15 +2 3 7 9 10 12 14 15 +2 3 7 9 10 13 14 15 +2 3 7 9 11 12 13 14 +2 3 7 9 11 12 13 15 +2 3 7 9 11 12 14 15 +2 3 7 9 11 13 14 15 +2 3 7 9 12 13 14 15 +2 3 7 10 11 12 13 14 +2 3 7 10 11 12 13 15 +2 3 7 10 11 12 14 15 +2 3 7 10 11 13 14 15 +2 3 7 10 12 13 14 15 +2 3 7 11 12 13 14 15 +2 3 8 9 10 11 12 13 +2 3 8 9 10 11 12 14 +2 3 8 9 10 11 12 15 +2 3 8 9 10 11 13 14 +2 3 8 9 10 11 13 15 +2 3 8 9 10 11 14 15 +2 3 8 9 10 12 13 14 +2 3 8 9 10 12 13 15 +2 3 8 9 10 12 14 15 +2 3 8 9 10 13 14 15 +2 3 8 9 11 12 13 14 +2 3 8 9 11 12 13 15 +2 3 8 9 11 12 14 15 +2 3 8 9 11 13 14 15 +2 3 8 9 12 13 14 15 +2 3 8 10 11 12 13 14 +2 3 8 10 11 12 13 15 +2 3 8 10 11 12 14 15 +2 3 8 10 11 13 14 15 +2 3 8 10 12 13 14 15 +2 3 8 11 12 13 14 15 +2 3 9 10 11 12 13 14 +2 3 9 10 11 12 13 15 +2 3 9 10 11 12 14 15 +2 3 9 10 11 13 14 15 +2 3 9 10 12 13 14 15 +2 3 9 11 12 13 14 15 +2 3 10 11 12 13 14 15 +2 4 5 6 7 8 9 10 +2 4 5 6 7 8 9 11 +2 4 5 6 7 8 9 12 +2 4 5 6 7 8 9 13 +2 4 5 6 7 8 9 14 +2 4 5 6 7 8 9 15 +2 4 5 6 7 8 10 11 +2 4 5 6 7 8 10 12 +2 4 5 6 7 8 10 13 +2 4 5 6 7 8 10 14 +2 4 5 6 7 8 10 15 +2 4 5 6 7 8 11 12 +2 4 5 6 7 8 11 13 +2 4 5 6 7 8 11 14 +2 4 5 6 7 8 11 15 +2 4 5 6 7 8 12 13 +2 4 5 6 7 8 12 14 +2 4 5 6 7 8 12 15 +2 4 5 6 7 8 13 14 +2 4 5 6 7 8 13 15 +2 4 5 6 7 8 14 15 +2 4 5 6 7 9 10 11 +2 4 5 6 7 9 10 12 +2 4 5 6 7 9 10 13 +2 4 5 6 7 9 10 14 +2 4 5 6 7 9 10 15 +2 4 5 6 7 9 11 12 +2 4 5 6 7 9 11 13 +2 4 5 6 7 9 11 14 +2 4 5 6 7 9 11 15 +2 4 5 6 7 9 12 13 +2 4 5 6 7 9 12 14 +2 4 5 6 7 9 12 15 +2 4 5 6 7 9 13 14 +2 4 5 6 7 9 13 15 +2 4 5 6 7 9 14 15 +2 4 5 6 7 10 11 12 +2 4 5 6 7 10 11 13 +2 4 5 6 7 10 11 14 +2 4 5 6 7 10 11 15 +2 4 5 6 7 10 12 13 +2 4 5 6 7 10 12 14 +2 4 5 6 7 10 12 15 +2 4 5 6 7 10 13 14 +2 4 5 6 7 10 13 15 +2 4 5 6 7 10 14 15 +2 4 5 6 7 11 12 13 +2 4 5 6 7 11 12 14 +2 4 5 6 7 11 12 15 +2 4 5 6 7 11 13 14 +2 4 5 6 7 11 13 15 +2 4 5 6 7 11 14 15 +2 4 5 6 7 12 13 14 +2 4 5 6 7 12 13 15 +2 4 5 6 7 12 14 15 +2 4 5 6 7 13 14 15 +2 4 5 6 8 9 10 11 +2 4 5 6 8 9 10 12 +2 4 5 6 8 9 10 13 +2 4 5 6 8 9 10 14 +2 4 5 6 8 9 10 15 +2 4 5 6 8 9 11 12 +2 4 5 6 8 9 11 13 +2 4 5 6 8 9 11 14 +2 4 5 6 8 9 11 15 +2 4 5 6 8 9 12 13 +2 4 5 6 8 9 12 14 +2 4 5 6 8 9 12 15 +2 4 5 6 8 9 13 14 +2 4 5 6 8 9 13 15 +2 4 5 6 8 9 14 15 +2 4 5 6 8 10 11 12 +2 4 5 6 8 10 11 13 +2 4 5 6 8 10 11 14 +2 4 5 6 8 10 11 15 +2 4 5 6 8 10 12 13 +2 4 5 6 8 10 12 14 +2 4 5 6 8 10 12 15 +2 4 5 6 8 10 13 14 +2 4 5 6 8 10 13 15 +2 4 5 6 8 10 14 15 +2 4 5 6 8 11 12 13 +2 4 5 6 8 11 12 14 +2 4 5 6 8 11 12 15 +2 4 5 6 8 11 13 14 +2 4 5 6 8 11 13 15 +2 4 5 6 8 11 14 15 +2 4 5 6 8 12 13 14 +2 4 5 6 8 12 13 15 +2 4 5 6 8 12 14 15 +2 4 5 6 8 13 14 15 +2 4 5 6 9 10 11 12 +2 4 5 6 9 10 11 13 +2 4 5 6 9 10 11 14 +2 4 5 6 9 10 11 15 +2 4 5 6 9 10 12 13 +2 4 5 6 9 10 12 14 +2 4 5 6 9 10 12 15 +2 4 5 6 9 10 13 14 +2 4 5 6 9 10 13 15 +2 4 5 6 9 10 14 15 +2 4 5 6 9 11 12 13 +2 4 5 6 9 11 12 14 +2 4 5 6 9 11 12 15 +2 4 5 6 9 11 13 14 +2 4 5 6 9 11 13 15 +2 4 5 6 9 11 14 15 +2 4 5 6 9 12 13 14 +2 4 5 6 9 12 13 15 +2 4 5 6 9 12 14 15 +2 4 5 6 9 13 14 15 +2 4 5 6 10 11 12 13 +2 4 5 6 10 11 12 14 +2 4 5 6 10 11 12 15 +2 4 5 6 10 11 13 14 +2 4 5 6 10 11 13 15 +2 4 5 6 10 11 14 15 +2 4 5 6 10 12 13 14 +2 4 5 6 10 12 13 15 +2 4 5 6 10 12 14 15 +2 4 5 6 10 13 14 15 +2 4 5 6 11 12 13 14 +2 4 5 6 11 12 13 15 +2 4 5 6 11 12 14 15 +2 4 5 6 11 13 14 15 +2 4 5 6 12 13 14 15 +2 4 5 7 8 9 10 11 +2 4 5 7 8 9 10 12 +2 4 5 7 8 9 10 13 +2 4 5 7 8 9 10 14 +2 4 5 7 8 9 10 15 +2 4 5 7 8 9 11 12 +2 4 5 7 8 9 11 13 +2 4 5 7 8 9 11 14 +2 4 5 7 8 9 11 15 +2 4 5 7 8 9 12 13 +2 4 5 7 8 9 12 14 +2 4 5 7 8 9 12 15 +2 4 5 7 8 9 13 14 +2 4 5 7 8 9 13 15 +2 4 5 7 8 9 14 15 +2 4 5 7 8 10 11 12 +2 4 5 7 8 10 11 13 +2 4 5 7 8 10 11 14 +2 4 5 7 8 10 11 15 +2 4 5 7 8 10 12 13 +2 4 5 7 8 10 12 14 +2 4 5 7 8 10 12 15 +2 4 5 7 8 10 13 14 +2 4 5 7 8 10 13 15 +2 4 5 7 8 10 14 15 +2 4 5 7 8 11 12 13 +2 4 5 7 8 11 12 14 +2 4 5 7 8 11 12 15 +2 4 5 7 8 11 13 14 +2 4 5 7 8 11 13 15 +2 4 5 7 8 11 14 15 +2 4 5 7 8 12 13 14 +2 4 5 7 8 12 13 15 +2 4 5 7 8 12 14 15 +2 4 5 7 8 13 14 15 +2 4 5 7 9 10 11 12 +2 4 5 7 9 10 11 13 +2 4 5 7 9 10 11 14 +2 4 5 7 9 10 11 15 +2 4 5 7 9 10 12 13 +2 4 5 7 9 10 12 14 +2 4 5 7 9 10 12 15 +2 4 5 7 9 10 13 14 +2 4 5 7 9 10 13 15 +2 4 5 7 9 10 14 15 +2 4 5 7 9 11 12 13 +2 4 5 7 9 11 12 14 +2 4 5 7 9 11 12 15 +2 4 5 7 9 11 13 14 +2 4 5 7 9 11 13 15 +2 4 5 7 9 11 14 15 +2 4 5 7 9 12 13 14 +2 4 5 7 9 12 13 15 +2 4 5 7 9 12 14 15 +2 4 5 7 9 13 14 15 +2 4 5 7 10 11 12 13 +2 4 5 7 10 11 12 14 +2 4 5 7 10 11 12 15 +2 4 5 7 10 11 13 14 +2 4 5 7 10 11 13 15 +2 4 5 7 10 11 14 15 +2 4 5 7 10 12 13 14 +2 4 5 7 10 12 13 15 +2 4 5 7 10 12 14 15 +2 4 5 7 10 13 14 15 +2 4 5 7 11 12 13 14 +2 4 5 7 11 12 13 15 +2 4 5 7 11 12 14 15 +2 4 5 7 11 13 14 15 +2 4 5 7 12 13 14 15 +2 4 5 8 9 10 11 12 +2 4 5 8 9 10 11 13 +2 4 5 8 9 10 11 14 +2 4 5 8 9 10 11 15 +2 4 5 8 9 10 12 13 +2 4 5 8 9 10 12 14 +2 4 5 8 9 10 12 15 +2 4 5 8 9 10 13 14 +2 4 5 8 9 10 13 15 +2 4 5 8 9 10 14 15 +2 4 5 8 9 11 12 13 +2 4 5 8 9 11 12 14 +2 4 5 8 9 11 12 15 +2 4 5 8 9 11 13 14 +2 4 5 8 9 11 13 15 +2 4 5 8 9 11 14 15 +2 4 5 8 9 12 13 14 +2 4 5 8 9 12 13 15 +2 4 5 8 9 12 14 15 +2 4 5 8 9 13 14 15 +2 4 5 8 10 11 12 13 +2 4 5 8 10 11 12 14 +2 4 5 8 10 11 12 15 +2 4 5 8 10 11 13 14 +2 4 5 8 10 11 13 15 +2 4 5 8 10 11 14 15 +2 4 5 8 10 12 13 14 +2 4 5 8 10 12 13 15 +2 4 5 8 10 12 14 15 +2 4 5 8 10 13 14 15 +2 4 5 8 11 12 13 14 +2 4 5 8 11 12 13 15 +2 4 5 8 11 12 14 15 +2 4 5 8 11 13 14 15 +2 4 5 8 12 13 14 15 +2 4 5 9 10 11 12 13 +2 4 5 9 10 11 12 14 +2 4 5 9 10 11 12 15 +2 4 5 9 10 11 13 14 +2 4 5 9 10 11 13 15 +2 4 5 9 10 11 14 15 +2 4 5 9 10 12 13 14 +2 4 5 9 10 12 13 15 +2 4 5 9 10 12 14 15 +2 4 5 9 10 13 14 15 +2 4 5 9 11 12 13 14 +2 4 5 9 11 12 13 15 +2 4 5 9 11 12 14 15 +2 4 5 9 11 13 14 15 +2 4 5 9 12 13 14 15 +2 4 5 10 11 12 13 14 +2 4 5 10 11 12 13 15 +2 4 5 10 11 12 14 15 +2 4 5 10 11 13 14 15 +2 4 5 10 12 13 14 15 +2 4 5 11 12 13 14 15 +2 4 6 7 8 9 10 11 +2 4 6 7 8 9 10 12 +2 4 6 7 8 9 10 13 +2 4 6 7 8 9 10 14 +2 4 6 7 8 9 10 15 +2 4 6 7 8 9 11 12 +2 4 6 7 8 9 11 13 +2 4 6 7 8 9 11 14 +2 4 6 7 8 9 11 15 +2 4 6 7 8 9 12 13 +2 4 6 7 8 9 12 14 +2 4 6 7 8 9 12 15 +2 4 6 7 8 9 13 14 +2 4 6 7 8 9 13 15 +2 4 6 7 8 9 14 15 +2 4 6 7 8 10 11 12 +2 4 6 7 8 10 11 13 +2 4 6 7 8 10 11 14 +2 4 6 7 8 10 11 15 +2 4 6 7 8 10 12 13 +2 4 6 7 8 10 12 14 +2 4 6 7 8 10 12 15 +2 4 6 7 8 10 13 14 +2 4 6 7 8 10 13 15 +2 4 6 7 8 10 14 15 +2 4 6 7 8 11 12 13 +2 4 6 7 8 11 12 14 +2 4 6 7 8 11 12 15 +2 4 6 7 8 11 13 14 +2 4 6 7 8 11 13 15 +2 4 6 7 8 11 14 15 +2 4 6 7 8 12 13 14 +2 4 6 7 8 12 13 15 +2 4 6 7 8 12 14 15 +2 4 6 7 8 13 14 15 +2 4 6 7 9 10 11 12 +2 4 6 7 9 10 11 13 +2 4 6 7 9 10 11 14 +2 4 6 7 9 10 11 15 +2 4 6 7 9 10 12 13 +2 4 6 7 9 10 12 14 +2 4 6 7 9 10 12 15 +2 4 6 7 9 10 13 14 +2 4 6 7 9 10 13 15 +2 4 6 7 9 10 14 15 +2 4 6 7 9 11 12 13 +2 4 6 7 9 11 12 14 +2 4 6 7 9 11 12 15 +2 4 6 7 9 11 13 14 +2 4 6 7 9 11 13 15 +2 4 6 7 9 11 14 15 +2 4 6 7 9 12 13 14 +2 4 6 7 9 12 13 15 +2 4 6 7 9 12 14 15 +2 4 6 7 9 13 14 15 +2 4 6 7 10 11 12 13 +2 4 6 7 10 11 12 14 +2 4 6 7 10 11 12 15 +2 4 6 7 10 11 13 14 +2 4 6 7 10 11 13 15 +2 4 6 7 10 11 14 15 +2 4 6 7 10 12 13 14 +2 4 6 7 10 12 13 15 +2 4 6 7 10 12 14 15 +2 4 6 7 10 13 14 15 +2 4 6 7 11 12 13 14 +2 4 6 7 11 12 13 15 +2 4 6 7 11 12 14 15 +2 4 6 7 11 13 14 15 +2 4 6 7 12 13 14 15 +2 4 6 8 9 10 11 12 +2 4 6 8 9 10 11 13 +2 4 6 8 9 10 11 14 +2 4 6 8 9 10 11 15 +2 4 6 8 9 10 12 13 +2 4 6 8 9 10 12 14 +2 4 6 8 9 10 12 15 +2 4 6 8 9 10 13 14 +2 4 6 8 9 10 13 15 +2 4 6 8 9 10 14 15 +2 4 6 8 9 11 12 13 +2 4 6 8 9 11 12 14 +2 4 6 8 9 11 12 15 +2 4 6 8 9 11 13 14 +2 4 6 8 9 11 13 15 +2 4 6 8 9 11 14 15 +2 4 6 8 9 12 13 14 +2 4 6 8 9 12 13 15 +2 4 6 8 9 12 14 15 +2 4 6 8 9 13 14 15 +2 4 6 8 10 11 12 13 +2 4 6 8 10 11 12 14 +2 4 6 8 10 11 12 15 +2 4 6 8 10 11 13 14 +2 4 6 8 10 11 13 15 +2 4 6 8 10 11 14 15 +2 4 6 8 10 12 13 14 +2 4 6 8 10 12 13 15 +2 4 6 8 10 12 14 15 +2 4 6 8 10 13 14 15 +2 4 6 8 11 12 13 14 +2 4 6 8 11 12 13 15 +2 4 6 8 11 12 14 15 +2 4 6 8 11 13 14 15 +2 4 6 8 12 13 14 15 +2 4 6 9 10 11 12 13 +2 4 6 9 10 11 12 14 +2 4 6 9 10 11 12 15 +2 4 6 9 10 11 13 14 +2 4 6 9 10 11 13 15 +2 4 6 9 10 11 14 15 +2 4 6 9 10 12 13 14 +2 4 6 9 10 12 13 15 +2 4 6 9 10 12 14 15 +2 4 6 9 10 13 14 15 +2 4 6 9 11 12 13 14 +2 4 6 9 11 12 13 15 +2 4 6 9 11 12 14 15 +2 4 6 9 11 13 14 15 +2 4 6 9 12 13 14 15 +2 4 6 10 11 12 13 14 +2 4 6 10 11 12 13 15 +2 4 6 10 11 12 14 15 +2 4 6 10 11 13 14 15 +2 4 6 10 12 13 14 15 +2 4 6 11 12 13 14 15 +2 4 7 8 9 10 11 12 +2 4 7 8 9 10 11 13 +2 4 7 8 9 10 11 14 +2 4 7 8 9 10 11 15 +2 4 7 8 9 10 12 13 +2 4 7 8 9 10 12 14 +2 4 7 8 9 10 12 15 +2 4 7 8 9 10 13 14 +2 4 7 8 9 10 13 15 +2 4 7 8 9 10 14 15 +2 4 7 8 9 11 12 13 +2 4 7 8 9 11 12 14 +2 4 7 8 9 11 12 15 +2 4 7 8 9 11 13 14 +2 4 7 8 9 11 13 15 +2 4 7 8 9 11 14 15 +2 4 7 8 9 12 13 14 +2 4 7 8 9 12 13 15 +2 4 7 8 9 12 14 15 +2 4 7 8 9 13 14 15 +2 4 7 8 10 11 12 13 +2 4 7 8 10 11 12 14 +2 4 7 8 10 11 12 15 +2 4 7 8 10 11 13 14 +2 4 7 8 10 11 13 15 +2 4 7 8 10 11 14 15 +2 4 7 8 10 12 13 14 +2 4 7 8 10 12 13 15 +2 4 7 8 10 12 14 15 +2 4 7 8 10 13 14 15 +2 4 7 8 11 12 13 14 +2 4 7 8 11 12 13 15 +2 4 7 8 11 12 14 15 +2 4 7 8 11 13 14 15 +2 4 7 8 12 13 14 15 +2 4 7 9 10 11 12 13 +2 4 7 9 10 11 12 14 +2 4 7 9 10 11 12 15 +2 4 7 9 10 11 13 14 +2 4 7 9 10 11 13 15 +2 4 7 9 10 11 14 15 +2 4 7 9 10 12 13 14 +2 4 7 9 10 12 13 15 +2 4 7 9 10 12 14 15 +2 4 7 9 10 13 14 15 +2 4 7 9 11 12 13 14 +2 4 7 9 11 12 13 15 +2 4 7 9 11 12 14 15 +2 4 7 9 11 13 14 15 +2 4 7 9 12 13 14 15 +2 4 7 10 11 12 13 14 +2 4 7 10 11 12 13 15 +2 4 7 10 11 12 14 15 +2 4 7 10 11 13 14 15 +2 4 7 10 12 13 14 15 +2 4 7 11 12 13 14 15 +2 4 8 9 10 11 12 13 +2 4 8 9 10 11 12 14 +2 4 8 9 10 11 12 15 +2 4 8 9 10 11 13 14 +2 4 8 9 10 11 13 15 +2 4 8 9 10 11 14 15 +2 4 8 9 10 12 13 14 +2 4 8 9 10 12 13 15 +2 4 8 9 10 12 14 15 +2 4 8 9 10 13 14 15 +2 4 8 9 11 12 13 14 +2 4 8 9 11 12 13 15 +2 4 8 9 11 12 14 15 +2 4 8 9 11 13 14 15 +2 4 8 9 12 13 14 15 +2 4 8 10 11 12 13 14 +2 4 8 10 11 12 13 15 +2 4 8 10 11 12 14 15 +2 4 8 10 11 13 14 15 +2 4 8 10 12 13 14 15 +2 4 8 11 12 13 14 15 +2 4 9 10 11 12 13 14 +2 4 9 10 11 12 13 15 +2 4 9 10 11 12 14 15 +2 4 9 10 11 13 14 15 +2 4 9 10 12 13 14 15 +2 4 9 11 12 13 14 15 +2 4 10 11 12 13 14 15 +2 5 6 7 8 9 10 11 +2 5 6 7 8 9 10 12 +2 5 6 7 8 9 10 13 +2 5 6 7 8 9 10 14 +2 5 6 7 8 9 10 15 +2 5 6 7 8 9 11 12 +2 5 6 7 8 9 11 13 +2 5 6 7 8 9 11 14 +2 5 6 7 8 9 11 15 +2 5 6 7 8 9 12 13 +2 5 6 7 8 9 12 14 +2 5 6 7 8 9 12 15 +2 5 6 7 8 9 13 14 +2 5 6 7 8 9 13 15 +2 5 6 7 8 9 14 15 +2 5 6 7 8 10 11 12 +2 5 6 7 8 10 11 13 +2 5 6 7 8 10 11 14 +2 5 6 7 8 10 11 15 +2 5 6 7 8 10 12 13 +2 5 6 7 8 10 12 14 +2 5 6 7 8 10 12 15 +2 5 6 7 8 10 13 14 +2 5 6 7 8 10 13 15 +2 5 6 7 8 10 14 15 +2 5 6 7 8 11 12 13 +2 5 6 7 8 11 12 14 +2 5 6 7 8 11 12 15 +2 5 6 7 8 11 13 14 +2 5 6 7 8 11 13 15 +2 5 6 7 8 11 14 15 +2 5 6 7 8 12 13 14 +2 5 6 7 8 12 13 15 +2 5 6 7 8 12 14 15 +2 5 6 7 8 13 14 15 +2 5 6 7 9 10 11 12 +2 5 6 7 9 10 11 13 +2 5 6 7 9 10 11 14 +2 5 6 7 9 10 11 15 +2 5 6 7 9 10 12 13 +2 5 6 7 9 10 12 14 +2 5 6 7 9 10 12 15 +2 5 6 7 9 10 13 14 +2 5 6 7 9 10 13 15 +2 5 6 7 9 10 14 15 +2 5 6 7 9 11 12 13 +2 5 6 7 9 11 12 14 +2 5 6 7 9 11 12 15 +2 5 6 7 9 11 13 14 +2 5 6 7 9 11 13 15 +2 5 6 7 9 11 14 15 +2 5 6 7 9 12 13 14 +2 5 6 7 9 12 13 15 +2 5 6 7 9 12 14 15 +2 5 6 7 9 13 14 15 +2 5 6 7 10 11 12 13 +2 5 6 7 10 11 12 14 +2 5 6 7 10 11 12 15 +2 5 6 7 10 11 13 14 +2 5 6 7 10 11 13 15 +2 5 6 7 10 11 14 15 +2 5 6 7 10 12 13 14 +2 5 6 7 10 12 13 15 +2 5 6 7 10 12 14 15 +2 5 6 7 10 13 14 15 +2 5 6 7 11 12 13 14 +2 5 6 7 11 12 13 15 +2 5 6 7 11 12 14 15 +2 5 6 7 11 13 14 15 +2 5 6 7 12 13 14 15 +2 5 6 8 9 10 11 12 +2 5 6 8 9 10 11 13 +2 5 6 8 9 10 11 14 +2 5 6 8 9 10 11 15 +2 5 6 8 9 10 12 13 +2 5 6 8 9 10 12 14 +2 5 6 8 9 10 12 15 +2 5 6 8 9 10 13 14 +2 5 6 8 9 10 13 15 +2 5 6 8 9 10 14 15 +2 5 6 8 9 11 12 13 +2 5 6 8 9 11 12 14 +2 5 6 8 9 11 12 15 +2 5 6 8 9 11 13 14 +2 5 6 8 9 11 13 15 +2 5 6 8 9 11 14 15 +2 5 6 8 9 12 13 14 +2 5 6 8 9 12 13 15 +2 5 6 8 9 12 14 15 +2 5 6 8 9 13 14 15 +2 5 6 8 10 11 12 13 +2 5 6 8 10 11 12 14 +2 5 6 8 10 11 12 15 +2 5 6 8 10 11 13 14 +2 5 6 8 10 11 13 15 +2 5 6 8 10 11 14 15 +2 5 6 8 10 12 13 14 +2 5 6 8 10 12 13 15 +2 5 6 8 10 12 14 15 +2 5 6 8 10 13 14 15 +2 5 6 8 11 12 13 14 +2 5 6 8 11 12 13 15 +2 5 6 8 11 12 14 15 +2 5 6 8 11 13 14 15 +2 5 6 8 12 13 14 15 +2 5 6 9 10 11 12 13 +2 5 6 9 10 11 12 14 +2 5 6 9 10 11 12 15 +2 5 6 9 10 11 13 14 +2 5 6 9 10 11 13 15 +2 5 6 9 10 11 14 15 +2 5 6 9 10 12 13 14 +2 5 6 9 10 12 13 15 +2 5 6 9 10 12 14 15 +2 5 6 9 10 13 14 15 +2 5 6 9 11 12 13 14 +2 5 6 9 11 12 13 15 +2 5 6 9 11 12 14 15 +2 5 6 9 11 13 14 15 +2 5 6 9 12 13 14 15 +2 5 6 10 11 12 13 14 +2 5 6 10 11 12 13 15 +2 5 6 10 11 12 14 15 +2 5 6 10 11 13 14 15 +2 5 6 10 12 13 14 15 +2 5 6 11 12 13 14 15 +2 5 7 8 9 10 11 12 +2 5 7 8 9 10 11 13 +2 5 7 8 9 10 11 14 +2 5 7 8 9 10 11 15 +2 5 7 8 9 10 12 13 +2 5 7 8 9 10 12 14 +2 5 7 8 9 10 12 15 +2 5 7 8 9 10 13 14 +2 5 7 8 9 10 13 15 +2 5 7 8 9 10 14 15 +2 5 7 8 9 11 12 13 +2 5 7 8 9 11 12 14 +2 5 7 8 9 11 12 15 +2 5 7 8 9 11 13 14 +2 5 7 8 9 11 13 15 +2 5 7 8 9 11 14 15 +2 5 7 8 9 12 13 14 +2 5 7 8 9 12 13 15 +2 5 7 8 9 12 14 15 +2 5 7 8 9 13 14 15 +2 5 7 8 10 11 12 13 +2 5 7 8 10 11 12 14 +2 5 7 8 10 11 12 15 +2 5 7 8 10 11 13 14 +2 5 7 8 10 11 13 15 +2 5 7 8 10 11 14 15 +2 5 7 8 10 12 13 14 +2 5 7 8 10 12 13 15 +2 5 7 8 10 12 14 15 +2 5 7 8 10 13 14 15 +2 5 7 8 11 12 13 14 +2 5 7 8 11 12 13 15 +2 5 7 8 11 12 14 15 +2 5 7 8 11 13 14 15 +2 5 7 8 12 13 14 15 +2 5 7 9 10 11 12 13 +2 5 7 9 10 11 12 14 +2 5 7 9 10 11 12 15 +2 5 7 9 10 11 13 14 +2 5 7 9 10 11 13 15 +2 5 7 9 10 11 14 15 +2 5 7 9 10 12 13 14 +2 5 7 9 10 12 13 15 +2 5 7 9 10 12 14 15 +2 5 7 9 10 13 14 15 +2 5 7 9 11 12 13 14 +2 5 7 9 11 12 13 15 +2 5 7 9 11 12 14 15 +2 5 7 9 11 13 14 15 +2 5 7 9 12 13 14 15 +2 5 7 10 11 12 13 14 +2 5 7 10 11 12 13 15 +2 5 7 10 11 12 14 15 +2 5 7 10 11 13 14 15 +2 5 7 10 12 13 14 15 +2 5 7 11 12 13 14 15 +2 5 8 9 10 11 12 13 +2 5 8 9 10 11 12 14 +2 5 8 9 10 11 12 15 +2 5 8 9 10 11 13 14 +2 5 8 9 10 11 13 15 +2 5 8 9 10 11 14 15 +2 5 8 9 10 12 13 14 +2 5 8 9 10 12 13 15 +2 5 8 9 10 12 14 15 +2 5 8 9 10 13 14 15 +2 5 8 9 11 12 13 14 +2 5 8 9 11 12 13 15 +2 5 8 9 11 12 14 15 +2 5 8 9 11 13 14 15 +2 5 8 9 12 13 14 15 +2 5 8 10 11 12 13 14 +2 5 8 10 11 12 13 15 +2 5 8 10 11 12 14 15 +2 5 8 10 11 13 14 15 +2 5 8 10 12 13 14 15 +2 5 8 11 12 13 14 15 +2 5 9 10 11 12 13 14 +2 5 9 10 11 12 13 15 +2 5 9 10 11 12 14 15 +2 5 9 10 11 13 14 15 +2 5 9 10 12 13 14 15 +2 5 9 11 12 13 14 15 +2 5 10 11 12 13 14 15 +2 6 7 8 9 10 11 12 +2 6 7 8 9 10 11 13 +2 6 7 8 9 10 11 14 +2 6 7 8 9 10 11 15 +2 6 7 8 9 10 12 13 +2 6 7 8 9 10 12 14 +2 6 7 8 9 10 12 15 +2 6 7 8 9 10 13 14 +2 6 7 8 9 10 13 15 +2 6 7 8 9 10 14 15 +2 6 7 8 9 11 12 13 +2 6 7 8 9 11 12 14 +2 6 7 8 9 11 12 15 +2 6 7 8 9 11 13 14 +2 6 7 8 9 11 13 15 +2 6 7 8 9 11 14 15 +2 6 7 8 9 12 13 14 +2 6 7 8 9 12 13 15 +2 6 7 8 9 12 14 15 +2 6 7 8 9 13 14 15 +2 6 7 8 10 11 12 13 +2 6 7 8 10 11 12 14 +2 6 7 8 10 11 12 15 +2 6 7 8 10 11 13 14 +2 6 7 8 10 11 13 15 +2 6 7 8 10 11 14 15 +2 6 7 8 10 12 13 14 +2 6 7 8 10 12 13 15 +2 6 7 8 10 12 14 15 +2 6 7 8 10 13 14 15 +2 6 7 8 11 12 13 14 +2 6 7 8 11 12 13 15 +2 6 7 8 11 12 14 15 +2 6 7 8 11 13 14 15 +2 6 7 8 12 13 14 15 +2 6 7 9 10 11 12 13 +2 6 7 9 10 11 12 14 +2 6 7 9 10 11 12 15 +2 6 7 9 10 11 13 14 +2 6 7 9 10 11 13 15 +2 6 7 9 10 11 14 15 +2 6 7 9 10 12 13 14 +2 6 7 9 10 12 13 15 +2 6 7 9 10 12 14 15 +2 6 7 9 10 13 14 15 +2 6 7 9 11 12 13 14 +2 6 7 9 11 12 13 15 +2 6 7 9 11 12 14 15 +2 6 7 9 11 13 14 15 +2 6 7 9 12 13 14 15 +2 6 7 10 11 12 13 14 +2 6 7 10 11 12 13 15 +2 6 7 10 11 12 14 15 +2 6 7 10 11 13 14 15 +2 6 7 10 12 13 14 15 +2 6 7 11 12 13 14 15 +2 6 8 9 10 11 12 13 +2 6 8 9 10 11 12 14 +2 6 8 9 10 11 12 15 +2 6 8 9 10 11 13 14 +2 6 8 9 10 11 13 15 +2 6 8 9 10 11 14 15 +2 6 8 9 10 12 13 14 +2 6 8 9 10 12 13 15 +2 6 8 9 10 12 14 15 +2 6 8 9 10 13 14 15 +2 6 8 9 11 12 13 14 +2 6 8 9 11 12 13 15 +2 6 8 9 11 12 14 15 +2 6 8 9 11 13 14 15 +2 6 8 9 12 13 14 15 +2 6 8 10 11 12 13 14 +2 6 8 10 11 12 13 15 +2 6 8 10 11 12 14 15 +2 6 8 10 11 13 14 15 +2 6 8 10 12 13 14 15 +2 6 8 11 12 13 14 15 +2 6 9 10 11 12 13 14 +2 6 9 10 11 12 13 15 +2 6 9 10 11 12 14 15 +2 6 9 10 11 13 14 15 +2 6 9 10 12 13 14 15 +2 6 9 11 12 13 14 15 +2 6 10 11 12 13 14 15 +2 7 8 9 10 11 12 13 +2 7 8 9 10 11 12 14 +2 7 8 9 10 11 12 15 +2 7 8 9 10 11 13 14 +2 7 8 9 10 11 13 15 +2 7 8 9 10 11 14 15 +2 7 8 9 10 12 13 14 +2 7 8 9 10 12 13 15 +2 7 8 9 10 12 14 15 +2 7 8 9 10 13 14 15 +2 7 8 9 11 12 13 14 +2 7 8 9 11 12 13 15 +2 7 8 9 11 12 14 15 +2 7 8 9 11 13 14 15 +2 7 8 9 12 13 14 15 +2 7 8 10 11 12 13 14 +2 7 8 10 11 12 13 15 +2 7 8 10 11 12 14 15 +2 7 8 10 11 13 14 15 +2 7 8 10 12 13 14 15 +2 7 8 11 12 13 14 15 +2 7 9 10 11 12 13 14 +2 7 9 10 11 12 13 15 +2 7 9 10 11 12 14 15 +2 7 9 10 11 13 14 15 +2 7 9 10 12 13 14 15 +2 7 9 11 12 13 14 15 +2 7 10 11 12 13 14 15 +2 8 9 10 11 12 13 14 +2 8 9 10 11 12 13 15 +2 8 9 10 11 12 14 15 +2 8 9 10 11 13 14 15 +2 8 9 10 12 13 14 15 +2 8 9 11 12 13 14 15 +2 8 10 11 12 13 14 15 +2 9 10 11 12 13 14 15 +3 4 5 6 7 8 9 10 +3 4 5 6 7 8 9 11 +3 4 5 6 7 8 9 12 +3 4 5 6 7 8 9 13 +3 4 5 6 7 8 9 14 +3 4 5 6 7 8 9 15 +3 4 5 6 7 8 10 11 +3 4 5 6 7 8 10 12 +3 4 5 6 7 8 10 13 +3 4 5 6 7 8 10 14 +3 4 5 6 7 8 10 15 +3 4 5 6 7 8 11 12 +3 4 5 6 7 8 11 13 +3 4 5 6 7 8 11 14 +3 4 5 6 7 8 11 15 +3 4 5 6 7 8 12 13 +3 4 5 6 7 8 12 14 +3 4 5 6 7 8 12 15 +3 4 5 6 7 8 13 14 +3 4 5 6 7 8 13 15 +3 4 5 6 7 8 14 15 +3 4 5 6 7 9 10 11 +3 4 5 6 7 9 10 12 +3 4 5 6 7 9 10 13 +3 4 5 6 7 9 10 14 +3 4 5 6 7 9 10 15 +3 4 5 6 7 9 11 12 +3 4 5 6 7 9 11 13 +3 4 5 6 7 9 11 14 +3 4 5 6 7 9 11 15 +3 4 5 6 7 9 12 13 +3 4 5 6 7 9 12 14 +3 4 5 6 7 9 12 15 +3 4 5 6 7 9 13 14 +3 4 5 6 7 9 13 15 +3 4 5 6 7 9 14 15 +3 4 5 6 7 10 11 12 +3 4 5 6 7 10 11 13 +3 4 5 6 7 10 11 14 +3 4 5 6 7 10 11 15 +3 4 5 6 7 10 12 13 +3 4 5 6 7 10 12 14 +3 4 5 6 7 10 12 15 +3 4 5 6 7 10 13 14 +3 4 5 6 7 10 13 15 +3 4 5 6 7 10 14 15 +3 4 5 6 7 11 12 13 +3 4 5 6 7 11 12 14 +3 4 5 6 7 11 12 15 +3 4 5 6 7 11 13 14 +3 4 5 6 7 11 13 15 +3 4 5 6 7 11 14 15 +3 4 5 6 7 12 13 14 +3 4 5 6 7 12 13 15 +3 4 5 6 7 12 14 15 +3 4 5 6 7 13 14 15 +3 4 5 6 8 9 10 11 +3 4 5 6 8 9 10 12 +3 4 5 6 8 9 10 13 +3 4 5 6 8 9 10 14 +3 4 5 6 8 9 10 15 +3 4 5 6 8 9 11 12 +3 4 5 6 8 9 11 13 +3 4 5 6 8 9 11 14 +3 4 5 6 8 9 11 15 +3 4 5 6 8 9 12 13 +3 4 5 6 8 9 12 14 +3 4 5 6 8 9 12 15 +3 4 5 6 8 9 13 14 +3 4 5 6 8 9 13 15 +3 4 5 6 8 9 14 15 +3 4 5 6 8 10 11 12 +3 4 5 6 8 10 11 13 +3 4 5 6 8 10 11 14 +3 4 5 6 8 10 11 15 +3 4 5 6 8 10 12 13 +3 4 5 6 8 10 12 14 +3 4 5 6 8 10 12 15 +3 4 5 6 8 10 13 14 +3 4 5 6 8 10 13 15 +3 4 5 6 8 10 14 15 +3 4 5 6 8 11 12 13 +3 4 5 6 8 11 12 14 +3 4 5 6 8 11 12 15 +3 4 5 6 8 11 13 14 +3 4 5 6 8 11 13 15 +3 4 5 6 8 11 14 15 +3 4 5 6 8 12 13 14 +3 4 5 6 8 12 13 15 +3 4 5 6 8 12 14 15 +3 4 5 6 8 13 14 15 +3 4 5 6 9 10 11 12 +3 4 5 6 9 10 11 13 +3 4 5 6 9 10 11 14 +3 4 5 6 9 10 11 15 +3 4 5 6 9 10 12 13 +3 4 5 6 9 10 12 14 +3 4 5 6 9 10 12 15 +3 4 5 6 9 10 13 14 +3 4 5 6 9 10 13 15 +3 4 5 6 9 10 14 15 +3 4 5 6 9 11 12 13 +3 4 5 6 9 11 12 14 +3 4 5 6 9 11 12 15 +3 4 5 6 9 11 13 14 +3 4 5 6 9 11 13 15 +3 4 5 6 9 11 14 15 +3 4 5 6 9 12 13 14 +3 4 5 6 9 12 13 15 +3 4 5 6 9 12 14 15 +3 4 5 6 9 13 14 15 +3 4 5 6 10 11 12 13 +3 4 5 6 10 11 12 14 +3 4 5 6 10 11 12 15 +3 4 5 6 10 11 13 14 +3 4 5 6 10 11 13 15 +3 4 5 6 10 11 14 15 +3 4 5 6 10 12 13 14 +3 4 5 6 10 12 13 15 +3 4 5 6 10 12 14 15 +3 4 5 6 10 13 14 15 +3 4 5 6 11 12 13 14 +3 4 5 6 11 12 13 15 +3 4 5 6 11 12 14 15 +3 4 5 6 11 13 14 15 +3 4 5 6 12 13 14 15 +3 4 5 7 8 9 10 11 +3 4 5 7 8 9 10 12 +3 4 5 7 8 9 10 13 +3 4 5 7 8 9 10 14 +3 4 5 7 8 9 10 15 +3 4 5 7 8 9 11 12 +3 4 5 7 8 9 11 13 +3 4 5 7 8 9 11 14 +3 4 5 7 8 9 11 15 +3 4 5 7 8 9 12 13 +3 4 5 7 8 9 12 14 +3 4 5 7 8 9 12 15 +3 4 5 7 8 9 13 14 +3 4 5 7 8 9 13 15 +3 4 5 7 8 9 14 15 +3 4 5 7 8 10 11 12 +3 4 5 7 8 10 11 13 +3 4 5 7 8 10 11 14 +3 4 5 7 8 10 11 15 +3 4 5 7 8 10 12 13 +3 4 5 7 8 10 12 14 +3 4 5 7 8 10 12 15 +3 4 5 7 8 10 13 14 +3 4 5 7 8 10 13 15 +3 4 5 7 8 10 14 15 +3 4 5 7 8 11 12 13 +3 4 5 7 8 11 12 14 +3 4 5 7 8 11 12 15 +3 4 5 7 8 11 13 14 +3 4 5 7 8 11 13 15 +3 4 5 7 8 11 14 15 +3 4 5 7 8 12 13 14 +3 4 5 7 8 12 13 15 +3 4 5 7 8 12 14 15 +3 4 5 7 8 13 14 15 +3 4 5 7 9 10 11 12 +3 4 5 7 9 10 11 13 +3 4 5 7 9 10 11 14 +3 4 5 7 9 10 11 15 +3 4 5 7 9 10 12 13 +3 4 5 7 9 10 12 14 +3 4 5 7 9 10 12 15 +3 4 5 7 9 10 13 14 +3 4 5 7 9 10 13 15 +3 4 5 7 9 10 14 15 +3 4 5 7 9 11 12 13 +3 4 5 7 9 11 12 14 +3 4 5 7 9 11 12 15 +3 4 5 7 9 11 13 14 +3 4 5 7 9 11 13 15 +3 4 5 7 9 11 14 15 +3 4 5 7 9 12 13 14 +3 4 5 7 9 12 13 15 +3 4 5 7 9 12 14 15 +3 4 5 7 9 13 14 15 +3 4 5 7 10 11 12 13 +3 4 5 7 10 11 12 14 +3 4 5 7 10 11 12 15 +3 4 5 7 10 11 13 14 +3 4 5 7 10 11 13 15 +3 4 5 7 10 11 14 15 +3 4 5 7 10 12 13 14 +3 4 5 7 10 12 13 15 +3 4 5 7 10 12 14 15 +3 4 5 7 10 13 14 15 +3 4 5 7 11 12 13 14 +3 4 5 7 11 12 13 15 +3 4 5 7 11 12 14 15 +3 4 5 7 11 13 14 15 +3 4 5 7 12 13 14 15 +3 4 5 8 9 10 11 12 +3 4 5 8 9 10 11 13 +3 4 5 8 9 10 11 14 +3 4 5 8 9 10 11 15 +3 4 5 8 9 10 12 13 +3 4 5 8 9 10 12 14 +3 4 5 8 9 10 12 15 +3 4 5 8 9 10 13 14 +3 4 5 8 9 10 13 15 +3 4 5 8 9 10 14 15 +3 4 5 8 9 11 12 13 +3 4 5 8 9 11 12 14 +3 4 5 8 9 11 12 15 +3 4 5 8 9 11 13 14 +3 4 5 8 9 11 13 15 +3 4 5 8 9 11 14 15 +3 4 5 8 9 12 13 14 +3 4 5 8 9 12 13 15 +3 4 5 8 9 12 14 15 +3 4 5 8 9 13 14 15 +3 4 5 8 10 11 12 13 +3 4 5 8 10 11 12 14 +3 4 5 8 10 11 12 15 +3 4 5 8 10 11 13 14 +3 4 5 8 10 11 13 15 +3 4 5 8 10 11 14 15 +3 4 5 8 10 12 13 14 +3 4 5 8 10 12 13 15 +3 4 5 8 10 12 14 15 +3 4 5 8 10 13 14 15 +3 4 5 8 11 12 13 14 +3 4 5 8 11 12 13 15 +3 4 5 8 11 12 14 15 +3 4 5 8 11 13 14 15 +3 4 5 8 12 13 14 15 +3 4 5 9 10 11 12 13 +3 4 5 9 10 11 12 14 +3 4 5 9 10 11 12 15 +3 4 5 9 10 11 13 14 +3 4 5 9 10 11 13 15 +3 4 5 9 10 11 14 15 +3 4 5 9 10 12 13 14 +3 4 5 9 10 12 13 15 +3 4 5 9 10 12 14 15 +3 4 5 9 10 13 14 15 +3 4 5 9 11 12 13 14 +3 4 5 9 11 12 13 15 +3 4 5 9 11 12 14 15 +3 4 5 9 11 13 14 15 +3 4 5 9 12 13 14 15 +3 4 5 10 11 12 13 14 +3 4 5 10 11 12 13 15 +3 4 5 10 11 12 14 15 +3 4 5 10 11 13 14 15 +3 4 5 10 12 13 14 15 +3 4 5 11 12 13 14 15 +3 4 6 7 8 9 10 11 +3 4 6 7 8 9 10 12 +3 4 6 7 8 9 10 13 +3 4 6 7 8 9 10 14 +3 4 6 7 8 9 10 15 +3 4 6 7 8 9 11 12 +3 4 6 7 8 9 11 13 +3 4 6 7 8 9 11 14 +3 4 6 7 8 9 11 15 +3 4 6 7 8 9 12 13 +3 4 6 7 8 9 12 14 +3 4 6 7 8 9 12 15 +3 4 6 7 8 9 13 14 +3 4 6 7 8 9 13 15 +3 4 6 7 8 9 14 15 +3 4 6 7 8 10 11 12 +3 4 6 7 8 10 11 13 +3 4 6 7 8 10 11 14 +3 4 6 7 8 10 11 15 +3 4 6 7 8 10 12 13 +3 4 6 7 8 10 12 14 +3 4 6 7 8 10 12 15 +3 4 6 7 8 10 13 14 +3 4 6 7 8 10 13 15 +3 4 6 7 8 10 14 15 +3 4 6 7 8 11 12 13 +3 4 6 7 8 11 12 14 +3 4 6 7 8 11 12 15 +3 4 6 7 8 11 13 14 +3 4 6 7 8 11 13 15 +3 4 6 7 8 11 14 15 +3 4 6 7 8 12 13 14 +3 4 6 7 8 12 13 15 +3 4 6 7 8 12 14 15 +3 4 6 7 8 13 14 15 +3 4 6 7 9 10 11 12 +3 4 6 7 9 10 11 13 +3 4 6 7 9 10 11 14 +3 4 6 7 9 10 11 15 +3 4 6 7 9 10 12 13 +3 4 6 7 9 10 12 14 +3 4 6 7 9 10 12 15 +3 4 6 7 9 10 13 14 +3 4 6 7 9 10 13 15 +3 4 6 7 9 10 14 15 +3 4 6 7 9 11 12 13 +3 4 6 7 9 11 12 14 +3 4 6 7 9 11 12 15 +3 4 6 7 9 11 13 14 +3 4 6 7 9 11 13 15 +3 4 6 7 9 11 14 15 +3 4 6 7 9 12 13 14 +3 4 6 7 9 12 13 15 +3 4 6 7 9 12 14 15 +3 4 6 7 9 13 14 15 +3 4 6 7 10 11 12 13 +3 4 6 7 10 11 12 14 +3 4 6 7 10 11 12 15 +3 4 6 7 10 11 13 14 +3 4 6 7 10 11 13 15 +3 4 6 7 10 11 14 15 +3 4 6 7 10 12 13 14 +3 4 6 7 10 12 13 15 +3 4 6 7 10 12 14 15 +3 4 6 7 10 13 14 15 +3 4 6 7 11 12 13 14 +3 4 6 7 11 12 13 15 +3 4 6 7 11 12 14 15 +3 4 6 7 11 13 14 15 +3 4 6 7 12 13 14 15 +3 4 6 8 9 10 11 12 +3 4 6 8 9 10 11 13 +3 4 6 8 9 10 11 14 +3 4 6 8 9 10 11 15 +3 4 6 8 9 10 12 13 +3 4 6 8 9 10 12 14 +3 4 6 8 9 10 12 15 +3 4 6 8 9 10 13 14 +3 4 6 8 9 10 13 15 +3 4 6 8 9 10 14 15 +3 4 6 8 9 11 12 13 +3 4 6 8 9 11 12 14 +3 4 6 8 9 11 12 15 +3 4 6 8 9 11 13 14 +3 4 6 8 9 11 13 15 +3 4 6 8 9 11 14 15 +3 4 6 8 9 12 13 14 +3 4 6 8 9 12 13 15 +3 4 6 8 9 12 14 15 +3 4 6 8 9 13 14 15 +3 4 6 8 10 11 12 13 +3 4 6 8 10 11 12 14 +3 4 6 8 10 11 12 15 +3 4 6 8 10 11 13 14 +3 4 6 8 10 11 13 15 +3 4 6 8 10 11 14 15 +3 4 6 8 10 12 13 14 +3 4 6 8 10 12 13 15 +3 4 6 8 10 12 14 15 +3 4 6 8 10 13 14 15 +3 4 6 8 11 12 13 14 +3 4 6 8 11 12 13 15 +3 4 6 8 11 12 14 15 +3 4 6 8 11 13 14 15 +3 4 6 8 12 13 14 15 +3 4 6 9 10 11 12 13 +3 4 6 9 10 11 12 14 +3 4 6 9 10 11 12 15 +3 4 6 9 10 11 13 14 +3 4 6 9 10 11 13 15 +3 4 6 9 10 11 14 15 +3 4 6 9 10 12 13 14 +3 4 6 9 10 12 13 15 +3 4 6 9 10 12 14 15 +3 4 6 9 10 13 14 15 +3 4 6 9 11 12 13 14 +3 4 6 9 11 12 13 15 +3 4 6 9 11 12 14 15 +3 4 6 9 11 13 14 15 +3 4 6 9 12 13 14 15 +3 4 6 10 11 12 13 14 +3 4 6 10 11 12 13 15 +3 4 6 10 11 12 14 15 +3 4 6 10 11 13 14 15 +3 4 6 10 12 13 14 15 +3 4 6 11 12 13 14 15 +3 4 7 8 9 10 11 12 +3 4 7 8 9 10 11 13 +3 4 7 8 9 10 11 14 +3 4 7 8 9 10 11 15 +3 4 7 8 9 10 12 13 +3 4 7 8 9 10 12 14 +3 4 7 8 9 10 12 15 +3 4 7 8 9 10 13 14 +3 4 7 8 9 10 13 15 +3 4 7 8 9 10 14 15 +3 4 7 8 9 11 12 13 +3 4 7 8 9 11 12 14 +3 4 7 8 9 11 12 15 +3 4 7 8 9 11 13 14 +3 4 7 8 9 11 13 15 +3 4 7 8 9 11 14 15 +3 4 7 8 9 12 13 14 +3 4 7 8 9 12 13 15 +3 4 7 8 9 12 14 15 +3 4 7 8 9 13 14 15 +3 4 7 8 10 11 12 13 +3 4 7 8 10 11 12 14 +3 4 7 8 10 11 12 15 +3 4 7 8 10 11 13 14 +3 4 7 8 10 11 13 15 +3 4 7 8 10 11 14 15 +3 4 7 8 10 12 13 14 +3 4 7 8 10 12 13 15 +3 4 7 8 10 12 14 15 +3 4 7 8 10 13 14 15 +3 4 7 8 11 12 13 14 +3 4 7 8 11 12 13 15 +3 4 7 8 11 12 14 15 +3 4 7 8 11 13 14 15 +3 4 7 8 12 13 14 15 +3 4 7 9 10 11 12 13 +3 4 7 9 10 11 12 14 +3 4 7 9 10 11 12 15 +3 4 7 9 10 11 13 14 +3 4 7 9 10 11 13 15 +3 4 7 9 10 11 14 15 +3 4 7 9 10 12 13 14 +3 4 7 9 10 12 13 15 +3 4 7 9 10 12 14 15 +3 4 7 9 10 13 14 15 +3 4 7 9 11 12 13 14 +3 4 7 9 11 12 13 15 +3 4 7 9 11 12 14 15 +3 4 7 9 11 13 14 15 +3 4 7 9 12 13 14 15 +3 4 7 10 11 12 13 14 +3 4 7 10 11 12 13 15 +3 4 7 10 11 12 14 15 +3 4 7 10 11 13 14 15 +3 4 7 10 12 13 14 15 +3 4 7 11 12 13 14 15 +3 4 8 9 10 11 12 13 +3 4 8 9 10 11 12 14 +3 4 8 9 10 11 12 15 +3 4 8 9 10 11 13 14 +3 4 8 9 10 11 13 15 +3 4 8 9 10 11 14 15 +3 4 8 9 10 12 13 14 +3 4 8 9 10 12 13 15 +3 4 8 9 10 12 14 15 +3 4 8 9 10 13 14 15 +3 4 8 9 11 12 13 14 +3 4 8 9 11 12 13 15 +3 4 8 9 11 12 14 15 +3 4 8 9 11 13 14 15 +3 4 8 9 12 13 14 15 +3 4 8 10 11 12 13 14 +3 4 8 10 11 12 13 15 +3 4 8 10 11 12 14 15 +3 4 8 10 11 13 14 15 +3 4 8 10 12 13 14 15 +3 4 8 11 12 13 14 15 +3 4 9 10 11 12 13 14 +3 4 9 10 11 12 13 15 +3 4 9 10 11 12 14 15 +3 4 9 10 11 13 14 15 +3 4 9 10 12 13 14 15 +3 4 9 11 12 13 14 15 +3 4 10 11 12 13 14 15 +3 5 6 7 8 9 10 11 +3 5 6 7 8 9 10 12 +3 5 6 7 8 9 10 13 +3 5 6 7 8 9 10 14 +3 5 6 7 8 9 10 15 +3 5 6 7 8 9 11 12 +3 5 6 7 8 9 11 13 +3 5 6 7 8 9 11 14 +3 5 6 7 8 9 11 15 +3 5 6 7 8 9 12 13 +3 5 6 7 8 9 12 14 +3 5 6 7 8 9 12 15 +3 5 6 7 8 9 13 14 +3 5 6 7 8 9 13 15 +3 5 6 7 8 9 14 15 +3 5 6 7 8 10 11 12 +3 5 6 7 8 10 11 13 +3 5 6 7 8 10 11 14 +3 5 6 7 8 10 11 15 +3 5 6 7 8 10 12 13 +3 5 6 7 8 10 12 14 +3 5 6 7 8 10 12 15 +3 5 6 7 8 10 13 14 +3 5 6 7 8 10 13 15 +3 5 6 7 8 10 14 15 +3 5 6 7 8 11 12 13 +3 5 6 7 8 11 12 14 +3 5 6 7 8 11 12 15 +3 5 6 7 8 11 13 14 +3 5 6 7 8 11 13 15 +3 5 6 7 8 11 14 15 +3 5 6 7 8 12 13 14 +3 5 6 7 8 12 13 15 +3 5 6 7 8 12 14 15 +3 5 6 7 8 13 14 15 +3 5 6 7 9 10 11 12 +3 5 6 7 9 10 11 13 +3 5 6 7 9 10 11 14 +3 5 6 7 9 10 11 15 +3 5 6 7 9 10 12 13 +3 5 6 7 9 10 12 14 +3 5 6 7 9 10 12 15 +3 5 6 7 9 10 13 14 +3 5 6 7 9 10 13 15 +3 5 6 7 9 10 14 15 +3 5 6 7 9 11 12 13 +3 5 6 7 9 11 12 14 +3 5 6 7 9 11 12 15 +3 5 6 7 9 11 13 14 +3 5 6 7 9 11 13 15 +3 5 6 7 9 11 14 15 +3 5 6 7 9 12 13 14 +3 5 6 7 9 12 13 15 +3 5 6 7 9 12 14 15 +3 5 6 7 9 13 14 15 +3 5 6 7 10 11 12 13 +3 5 6 7 10 11 12 14 +3 5 6 7 10 11 12 15 +3 5 6 7 10 11 13 14 +3 5 6 7 10 11 13 15 +3 5 6 7 10 11 14 15 +3 5 6 7 10 12 13 14 +3 5 6 7 10 12 13 15 +3 5 6 7 10 12 14 15 +3 5 6 7 10 13 14 15 +3 5 6 7 11 12 13 14 +3 5 6 7 11 12 13 15 +3 5 6 7 11 12 14 15 +3 5 6 7 11 13 14 15 +3 5 6 7 12 13 14 15 +3 5 6 8 9 10 11 12 +3 5 6 8 9 10 11 13 +3 5 6 8 9 10 11 14 +3 5 6 8 9 10 11 15 +3 5 6 8 9 10 12 13 +3 5 6 8 9 10 12 14 +3 5 6 8 9 10 12 15 +3 5 6 8 9 10 13 14 +3 5 6 8 9 10 13 15 +3 5 6 8 9 10 14 15 +3 5 6 8 9 11 12 13 +3 5 6 8 9 11 12 14 +3 5 6 8 9 11 12 15 +3 5 6 8 9 11 13 14 +3 5 6 8 9 11 13 15 +3 5 6 8 9 11 14 15 +3 5 6 8 9 12 13 14 +3 5 6 8 9 12 13 15 +3 5 6 8 9 12 14 15 +3 5 6 8 9 13 14 15 +3 5 6 8 10 11 12 13 +3 5 6 8 10 11 12 14 +3 5 6 8 10 11 12 15 +3 5 6 8 10 11 13 14 +3 5 6 8 10 11 13 15 +3 5 6 8 10 11 14 15 +3 5 6 8 10 12 13 14 +3 5 6 8 10 12 13 15 +3 5 6 8 10 12 14 15 +3 5 6 8 10 13 14 15 +3 5 6 8 11 12 13 14 +3 5 6 8 11 12 13 15 +3 5 6 8 11 12 14 15 +3 5 6 8 11 13 14 15 +3 5 6 8 12 13 14 15 +3 5 6 9 10 11 12 13 +3 5 6 9 10 11 12 14 +3 5 6 9 10 11 12 15 +3 5 6 9 10 11 13 14 +3 5 6 9 10 11 13 15 +3 5 6 9 10 11 14 15 +3 5 6 9 10 12 13 14 +3 5 6 9 10 12 13 15 +3 5 6 9 10 12 14 15 +3 5 6 9 10 13 14 15 +3 5 6 9 11 12 13 14 +3 5 6 9 11 12 13 15 +3 5 6 9 11 12 14 15 +3 5 6 9 11 13 14 15 +3 5 6 9 12 13 14 15 +3 5 6 10 11 12 13 14 +3 5 6 10 11 12 13 15 +3 5 6 10 11 12 14 15 +3 5 6 10 11 13 14 15 +3 5 6 10 12 13 14 15 +3 5 6 11 12 13 14 15 +3 5 7 8 9 10 11 12 +3 5 7 8 9 10 11 13 +3 5 7 8 9 10 11 14 +3 5 7 8 9 10 11 15 +3 5 7 8 9 10 12 13 +3 5 7 8 9 10 12 14 +3 5 7 8 9 10 12 15 +3 5 7 8 9 10 13 14 +3 5 7 8 9 10 13 15 +3 5 7 8 9 10 14 15 +3 5 7 8 9 11 12 13 +3 5 7 8 9 11 12 14 +3 5 7 8 9 11 12 15 +3 5 7 8 9 11 13 14 +3 5 7 8 9 11 13 15 +3 5 7 8 9 11 14 15 +3 5 7 8 9 12 13 14 +3 5 7 8 9 12 13 15 +3 5 7 8 9 12 14 15 +3 5 7 8 9 13 14 15 +3 5 7 8 10 11 12 13 +3 5 7 8 10 11 12 14 +3 5 7 8 10 11 12 15 +3 5 7 8 10 11 13 14 +3 5 7 8 10 11 13 15 +3 5 7 8 10 11 14 15 +3 5 7 8 10 12 13 14 +3 5 7 8 10 12 13 15 +3 5 7 8 10 12 14 15 +3 5 7 8 10 13 14 15 +3 5 7 8 11 12 13 14 +3 5 7 8 11 12 13 15 +3 5 7 8 11 12 14 15 +3 5 7 8 11 13 14 15 +3 5 7 8 12 13 14 15 +3 5 7 9 10 11 12 13 +3 5 7 9 10 11 12 14 +3 5 7 9 10 11 12 15 +3 5 7 9 10 11 13 14 +3 5 7 9 10 11 13 15 +3 5 7 9 10 11 14 15 +3 5 7 9 10 12 13 14 +3 5 7 9 10 12 13 15 +3 5 7 9 10 12 14 15 +3 5 7 9 10 13 14 15 +3 5 7 9 11 12 13 14 +3 5 7 9 11 12 13 15 +3 5 7 9 11 12 14 15 +3 5 7 9 11 13 14 15 +3 5 7 9 12 13 14 15 +3 5 7 10 11 12 13 14 +3 5 7 10 11 12 13 15 +3 5 7 10 11 12 14 15 +3 5 7 10 11 13 14 15 +3 5 7 10 12 13 14 15 +3 5 7 11 12 13 14 15 +3 5 8 9 10 11 12 13 +3 5 8 9 10 11 12 14 +3 5 8 9 10 11 12 15 +3 5 8 9 10 11 13 14 +3 5 8 9 10 11 13 15 +3 5 8 9 10 11 14 15 +3 5 8 9 10 12 13 14 +3 5 8 9 10 12 13 15 +3 5 8 9 10 12 14 15 +3 5 8 9 10 13 14 15 +3 5 8 9 11 12 13 14 +3 5 8 9 11 12 13 15 +3 5 8 9 11 12 14 15 +3 5 8 9 11 13 14 15 +3 5 8 9 12 13 14 15 +3 5 8 10 11 12 13 14 +3 5 8 10 11 12 13 15 +3 5 8 10 11 12 14 15 +3 5 8 10 11 13 14 15 +3 5 8 10 12 13 14 15 +3 5 8 11 12 13 14 15 +3 5 9 10 11 12 13 14 +3 5 9 10 11 12 13 15 +3 5 9 10 11 12 14 15 +3 5 9 10 11 13 14 15 +3 5 9 10 12 13 14 15 +3 5 9 11 12 13 14 15 +3 5 10 11 12 13 14 15 +3 6 7 8 9 10 11 12 +3 6 7 8 9 10 11 13 +3 6 7 8 9 10 11 14 +3 6 7 8 9 10 11 15 +3 6 7 8 9 10 12 13 +3 6 7 8 9 10 12 14 +3 6 7 8 9 10 12 15 +3 6 7 8 9 10 13 14 +3 6 7 8 9 10 13 15 +3 6 7 8 9 10 14 15 +3 6 7 8 9 11 12 13 +3 6 7 8 9 11 12 14 +3 6 7 8 9 11 12 15 +3 6 7 8 9 11 13 14 +3 6 7 8 9 11 13 15 +3 6 7 8 9 11 14 15 +3 6 7 8 9 12 13 14 +3 6 7 8 9 12 13 15 +3 6 7 8 9 12 14 15 +3 6 7 8 9 13 14 15 +3 6 7 8 10 11 12 13 +3 6 7 8 10 11 12 14 +3 6 7 8 10 11 12 15 +3 6 7 8 10 11 13 14 +3 6 7 8 10 11 13 15 +3 6 7 8 10 11 14 15 +3 6 7 8 10 12 13 14 +3 6 7 8 10 12 13 15 +3 6 7 8 10 12 14 15 +3 6 7 8 10 13 14 15 +3 6 7 8 11 12 13 14 +3 6 7 8 11 12 13 15 +3 6 7 8 11 12 14 15 +3 6 7 8 11 13 14 15 +3 6 7 8 12 13 14 15 +3 6 7 9 10 11 12 13 +3 6 7 9 10 11 12 14 +3 6 7 9 10 11 12 15 +3 6 7 9 10 11 13 14 +3 6 7 9 10 11 13 15 +3 6 7 9 10 11 14 15 +3 6 7 9 10 12 13 14 +3 6 7 9 10 12 13 15 +3 6 7 9 10 12 14 15 +3 6 7 9 10 13 14 15 +3 6 7 9 11 12 13 14 +3 6 7 9 11 12 13 15 +3 6 7 9 11 12 14 15 +3 6 7 9 11 13 14 15 +3 6 7 9 12 13 14 15 +3 6 7 10 11 12 13 14 +3 6 7 10 11 12 13 15 +3 6 7 10 11 12 14 15 +3 6 7 10 11 13 14 15 +3 6 7 10 12 13 14 15 +3 6 7 11 12 13 14 15 +3 6 8 9 10 11 12 13 +3 6 8 9 10 11 12 14 +3 6 8 9 10 11 12 15 +3 6 8 9 10 11 13 14 +3 6 8 9 10 11 13 15 +3 6 8 9 10 11 14 15 +3 6 8 9 10 12 13 14 +3 6 8 9 10 12 13 15 +3 6 8 9 10 12 14 15 +3 6 8 9 10 13 14 15 +3 6 8 9 11 12 13 14 +3 6 8 9 11 12 13 15 +3 6 8 9 11 12 14 15 +3 6 8 9 11 13 14 15 +3 6 8 9 12 13 14 15 +3 6 8 10 11 12 13 14 +3 6 8 10 11 12 13 15 +3 6 8 10 11 12 14 15 +3 6 8 10 11 13 14 15 +3 6 8 10 12 13 14 15 +3 6 8 11 12 13 14 15 +3 6 9 10 11 12 13 14 +3 6 9 10 11 12 13 15 +3 6 9 10 11 12 14 15 +3 6 9 10 11 13 14 15 +3 6 9 10 12 13 14 15 +3 6 9 11 12 13 14 15 +3 6 10 11 12 13 14 15 +3 7 8 9 10 11 12 13 +3 7 8 9 10 11 12 14 +3 7 8 9 10 11 12 15 +3 7 8 9 10 11 13 14 +3 7 8 9 10 11 13 15 +3 7 8 9 10 11 14 15 +3 7 8 9 10 12 13 14 +3 7 8 9 10 12 13 15 +3 7 8 9 10 12 14 15 +3 7 8 9 10 13 14 15 +3 7 8 9 11 12 13 14 +3 7 8 9 11 12 13 15 +3 7 8 9 11 12 14 15 +3 7 8 9 11 13 14 15 +3 7 8 9 12 13 14 15 +3 7 8 10 11 12 13 14 +3 7 8 10 11 12 13 15 +3 7 8 10 11 12 14 15 +3 7 8 10 11 13 14 15 +3 7 8 10 12 13 14 15 +3 7 8 11 12 13 14 15 +3 7 9 10 11 12 13 14 +3 7 9 10 11 12 13 15 +3 7 9 10 11 12 14 15 +3 7 9 10 11 13 14 15 +3 7 9 10 12 13 14 15 +3 7 9 11 12 13 14 15 +3 7 10 11 12 13 14 15 +3 8 9 10 11 12 13 14 +3 8 9 10 11 12 13 15 +3 8 9 10 11 12 14 15 +3 8 9 10 11 13 14 15 +3 8 9 10 12 13 14 15 +3 8 9 11 12 13 14 15 +3 8 10 11 12 13 14 15 +3 9 10 11 12 13 14 15 +4 5 6 7 8 9 10 11 +4 5 6 7 8 9 10 12 +4 5 6 7 8 9 10 13 +4 5 6 7 8 9 10 14 +4 5 6 7 8 9 10 15 +4 5 6 7 8 9 11 12 +4 5 6 7 8 9 11 13 +4 5 6 7 8 9 11 14 +4 5 6 7 8 9 11 15 +4 5 6 7 8 9 12 13 +4 5 6 7 8 9 12 14 +4 5 6 7 8 9 12 15 +4 5 6 7 8 9 13 14 +4 5 6 7 8 9 13 15 +4 5 6 7 8 9 14 15 +4 5 6 7 8 10 11 12 +4 5 6 7 8 10 11 13 +4 5 6 7 8 10 11 14 +4 5 6 7 8 10 11 15 +4 5 6 7 8 10 12 13 +4 5 6 7 8 10 12 14 +4 5 6 7 8 10 12 15 +4 5 6 7 8 10 13 14 +4 5 6 7 8 10 13 15 +4 5 6 7 8 10 14 15 +4 5 6 7 8 11 12 13 +4 5 6 7 8 11 12 14 +4 5 6 7 8 11 12 15 +4 5 6 7 8 11 13 14 +4 5 6 7 8 11 13 15 +4 5 6 7 8 11 14 15 +4 5 6 7 8 12 13 14 +4 5 6 7 8 12 13 15 +4 5 6 7 8 12 14 15 +4 5 6 7 8 13 14 15 +4 5 6 7 9 10 11 12 +4 5 6 7 9 10 11 13 +4 5 6 7 9 10 11 14 +4 5 6 7 9 10 11 15 +4 5 6 7 9 10 12 13 +4 5 6 7 9 10 12 14 +4 5 6 7 9 10 12 15 +4 5 6 7 9 10 13 14 +4 5 6 7 9 10 13 15 +4 5 6 7 9 10 14 15 +4 5 6 7 9 11 12 13 +4 5 6 7 9 11 12 14 +4 5 6 7 9 11 12 15 +4 5 6 7 9 11 13 14 +4 5 6 7 9 11 13 15 +4 5 6 7 9 11 14 15 +4 5 6 7 9 12 13 14 +4 5 6 7 9 12 13 15 +4 5 6 7 9 12 14 15 +4 5 6 7 9 13 14 15 +4 5 6 7 10 11 12 13 +4 5 6 7 10 11 12 14 +4 5 6 7 10 11 12 15 +4 5 6 7 10 11 13 14 +4 5 6 7 10 11 13 15 +4 5 6 7 10 11 14 15 +4 5 6 7 10 12 13 14 +4 5 6 7 10 12 13 15 +4 5 6 7 10 12 14 15 +4 5 6 7 10 13 14 15 +4 5 6 7 11 12 13 14 +4 5 6 7 11 12 13 15 +4 5 6 7 11 12 14 15 +4 5 6 7 11 13 14 15 +4 5 6 7 12 13 14 15 +4 5 6 8 9 10 11 12 +4 5 6 8 9 10 11 13 +4 5 6 8 9 10 11 14 +4 5 6 8 9 10 11 15 +4 5 6 8 9 10 12 13 +4 5 6 8 9 10 12 14 +4 5 6 8 9 10 12 15 +4 5 6 8 9 10 13 14 +4 5 6 8 9 10 13 15 +4 5 6 8 9 10 14 15 +4 5 6 8 9 11 12 13 +4 5 6 8 9 11 12 14 +4 5 6 8 9 11 12 15 +4 5 6 8 9 11 13 14 +4 5 6 8 9 11 13 15 +4 5 6 8 9 11 14 15 +4 5 6 8 9 12 13 14 +4 5 6 8 9 12 13 15 +4 5 6 8 9 12 14 15 +4 5 6 8 9 13 14 15 +4 5 6 8 10 11 12 13 +4 5 6 8 10 11 12 14 +4 5 6 8 10 11 12 15 +4 5 6 8 10 11 13 14 +4 5 6 8 10 11 13 15 +4 5 6 8 10 11 14 15 +4 5 6 8 10 12 13 14 +4 5 6 8 10 12 13 15 +4 5 6 8 10 12 14 15 +4 5 6 8 10 13 14 15 +4 5 6 8 11 12 13 14 +4 5 6 8 11 12 13 15 +4 5 6 8 11 12 14 15 +4 5 6 8 11 13 14 15 +4 5 6 8 12 13 14 15 +4 5 6 9 10 11 12 13 +4 5 6 9 10 11 12 14 +4 5 6 9 10 11 12 15 +4 5 6 9 10 11 13 14 +4 5 6 9 10 11 13 15 +4 5 6 9 10 11 14 15 +4 5 6 9 10 12 13 14 +4 5 6 9 10 12 13 15 +4 5 6 9 10 12 14 15 +4 5 6 9 10 13 14 15 +4 5 6 9 11 12 13 14 +4 5 6 9 11 12 13 15 +4 5 6 9 11 12 14 15 +4 5 6 9 11 13 14 15 +4 5 6 9 12 13 14 15 +4 5 6 10 11 12 13 14 +4 5 6 10 11 12 13 15 +4 5 6 10 11 12 14 15 +4 5 6 10 11 13 14 15 +4 5 6 10 12 13 14 15 +4 5 6 11 12 13 14 15 +4 5 7 8 9 10 11 12 +4 5 7 8 9 10 11 13 +4 5 7 8 9 10 11 14 +4 5 7 8 9 10 11 15 +4 5 7 8 9 10 12 13 +4 5 7 8 9 10 12 14 +4 5 7 8 9 10 12 15 +4 5 7 8 9 10 13 14 +4 5 7 8 9 10 13 15 +4 5 7 8 9 10 14 15 +4 5 7 8 9 11 12 13 +4 5 7 8 9 11 12 14 +4 5 7 8 9 11 12 15 +4 5 7 8 9 11 13 14 +4 5 7 8 9 11 13 15 +4 5 7 8 9 11 14 15 +4 5 7 8 9 12 13 14 +4 5 7 8 9 12 13 15 +4 5 7 8 9 12 14 15 +4 5 7 8 9 13 14 15 +4 5 7 8 10 11 12 13 +4 5 7 8 10 11 12 14 +4 5 7 8 10 11 12 15 +4 5 7 8 10 11 13 14 +4 5 7 8 10 11 13 15 +4 5 7 8 10 11 14 15 +4 5 7 8 10 12 13 14 +4 5 7 8 10 12 13 15 +4 5 7 8 10 12 14 15 +4 5 7 8 10 13 14 15 +4 5 7 8 11 12 13 14 +4 5 7 8 11 12 13 15 +4 5 7 8 11 12 14 15 +4 5 7 8 11 13 14 15 +4 5 7 8 12 13 14 15 +4 5 7 9 10 11 12 13 +4 5 7 9 10 11 12 14 +4 5 7 9 10 11 12 15 +4 5 7 9 10 11 13 14 +4 5 7 9 10 11 13 15 +4 5 7 9 10 11 14 15 +4 5 7 9 10 12 13 14 +4 5 7 9 10 12 13 15 +4 5 7 9 10 12 14 15 +4 5 7 9 10 13 14 15 +4 5 7 9 11 12 13 14 +4 5 7 9 11 12 13 15 +4 5 7 9 11 12 14 15 +4 5 7 9 11 13 14 15 +4 5 7 9 12 13 14 15 +4 5 7 10 11 12 13 14 +4 5 7 10 11 12 13 15 +4 5 7 10 11 12 14 15 +4 5 7 10 11 13 14 15 +4 5 7 10 12 13 14 15 +4 5 7 11 12 13 14 15 +4 5 8 9 10 11 12 13 +4 5 8 9 10 11 12 14 +4 5 8 9 10 11 12 15 +4 5 8 9 10 11 13 14 +4 5 8 9 10 11 13 15 +4 5 8 9 10 11 14 15 +4 5 8 9 10 12 13 14 +4 5 8 9 10 12 13 15 +4 5 8 9 10 12 14 15 +4 5 8 9 10 13 14 15 +4 5 8 9 11 12 13 14 +4 5 8 9 11 12 13 15 +4 5 8 9 11 12 14 15 +4 5 8 9 11 13 14 15 +4 5 8 9 12 13 14 15 +4 5 8 10 11 12 13 14 +4 5 8 10 11 12 13 15 +4 5 8 10 11 12 14 15 +4 5 8 10 11 13 14 15 +4 5 8 10 12 13 14 15 +4 5 8 11 12 13 14 15 +4 5 9 10 11 12 13 14 +4 5 9 10 11 12 13 15 +4 5 9 10 11 12 14 15 +4 5 9 10 11 13 14 15 +4 5 9 10 12 13 14 15 +4 5 9 11 12 13 14 15 +4 5 10 11 12 13 14 15 +4 6 7 8 9 10 11 12 +4 6 7 8 9 10 11 13 +4 6 7 8 9 10 11 14 +4 6 7 8 9 10 11 15 +4 6 7 8 9 10 12 13 +4 6 7 8 9 10 12 14 +4 6 7 8 9 10 12 15 +4 6 7 8 9 10 13 14 +4 6 7 8 9 10 13 15 +4 6 7 8 9 10 14 15 +4 6 7 8 9 11 12 13 +4 6 7 8 9 11 12 14 +4 6 7 8 9 11 12 15 +4 6 7 8 9 11 13 14 +4 6 7 8 9 11 13 15 +4 6 7 8 9 11 14 15 +4 6 7 8 9 12 13 14 +4 6 7 8 9 12 13 15 +4 6 7 8 9 12 14 15 +4 6 7 8 9 13 14 15 +4 6 7 8 10 11 12 13 +4 6 7 8 10 11 12 14 +4 6 7 8 10 11 12 15 +4 6 7 8 10 11 13 14 +4 6 7 8 10 11 13 15 +4 6 7 8 10 11 14 15 +4 6 7 8 10 12 13 14 +4 6 7 8 10 12 13 15 +4 6 7 8 10 12 14 15 +4 6 7 8 10 13 14 15 +4 6 7 8 11 12 13 14 +4 6 7 8 11 12 13 15 +4 6 7 8 11 12 14 15 +4 6 7 8 11 13 14 15 +4 6 7 8 12 13 14 15 +4 6 7 9 10 11 12 13 +4 6 7 9 10 11 12 14 +4 6 7 9 10 11 12 15 +4 6 7 9 10 11 13 14 +4 6 7 9 10 11 13 15 +4 6 7 9 10 11 14 15 +4 6 7 9 10 12 13 14 +4 6 7 9 10 12 13 15 +4 6 7 9 10 12 14 15 +4 6 7 9 10 13 14 15 +4 6 7 9 11 12 13 14 +4 6 7 9 11 12 13 15 +4 6 7 9 11 12 14 15 +4 6 7 9 11 13 14 15 +4 6 7 9 12 13 14 15 +4 6 7 10 11 12 13 14 +4 6 7 10 11 12 13 15 +4 6 7 10 11 12 14 15 +4 6 7 10 11 13 14 15 +4 6 7 10 12 13 14 15 +4 6 7 11 12 13 14 15 +4 6 8 9 10 11 12 13 +4 6 8 9 10 11 12 14 +4 6 8 9 10 11 12 15 +4 6 8 9 10 11 13 14 +4 6 8 9 10 11 13 15 +4 6 8 9 10 11 14 15 +4 6 8 9 10 12 13 14 +4 6 8 9 10 12 13 15 +4 6 8 9 10 12 14 15 +4 6 8 9 10 13 14 15 +4 6 8 9 11 12 13 14 +4 6 8 9 11 12 13 15 +4 6 8 9 11 12 14 15 +4 6 8 9 11 13 14 15 +4 6 8 9 12 13 14 15 +4 6 8 10 11 12 13 14 +4 6 8 10 11 12 13 15 +4 6 8 10 11 12 14 15 +4 6 8 10 11 13 14 15 +4 6 8 10 12 13 14 15 +4 6 8 11 12 13 14 15 +4 6 9 10 11 12 13 14 +4 6 9 10 11 12 13 15 +4 6 9 10 11 12 14 15 +4 6 9 10 11 13 14 15 +4 6 9 10 12 13 14 15 +4 6 9 11 12 13 14 15 +4 6 10 11 12 13 14 15 +4 7 8 9 10 11 12 13 +4 7 8 9 10 11 12 14 +4 7 8 9 10 11 12 15 +4 7 8 9 10 11 13 14 +4 7 8 9 10 11 13 15 +4 7 8 9 10 11 14 15 +4 7 8 9 10 12 13 14 +4 7 8 9 10 12 13 15 +4 7 8 9 10 12 14 15 +4 7 8 9 10 13 14 15 +4 7 8 9 11 12 13 14 +4 7 8 9 11 12 13 15 +4 7 8 9 11 12 14 15 +4 7 8 9 11 13 14 15 +4 7 8 9 12 13 14 15 +4 7 8 10 11 12 13 14 +4 7 8 10 11 12 13 15 +4 7 8 10 11 12 14 15 +4 7 8 10 11 13 14 15 +4 7 8 10 12 13 14 15 +4 7 8 11 12 13 14 15 +4 7 9 10 11 12 13 14 +4 7 9 10 11 12 13 15 +4 7 9 10 11 12 14 15 +4 7 9 10 11 13 14 15 +4 7 9 10 12 13 14 15 +4 7 9 11 12 13 14 15 +4 7 10 11 12 13 14 15 +4 8 9 10 11 12 13 14 +4 8 9 10 11 12 13 15 +4 8 9 10 11 12 14 15 +4 8 9 10 11 13 14 15 +4 8 9 10 12 13 14 15 +4 8 9 11 12 13 14 15 +4 8 10 11 12 13 14 15 +4 9 10 11 12 13 14 15 +5 6 7 8 9 10 11 12 +5 6 7 8 9 10 11 13 +5 6 7 8 9 10 11 14 +5 6 7 8 9 10 11 15 +5 6 7 8 9 10 12 13 +5 6 7 8 9 10 12 14 +5 6 7 8 9 10 12 15 +5 6 7 8 9 10 13 14 +5 6 7 8 9 10 13 15 +5 6 7 8 9 10 14 15 +5 6 7 8 9 11 12 13 +5 6 7 8 9 11 12 14 +5 6 7 8 9 11 12 15 +5 6 7 8 9 11 13 14 +5 6 7 8 9 11 13 15 +5 6 7 8 9 11 14 15 +5 6 7 8 9 12 13 14 +5 6 7 8 9 12 13 15 +5 6 7 8 9 12 14 15 +5 6 7 8 9 13 14 15 +5 6 7 8 10 11 12 13 +5 6 7 8 10 11 12 14 +5 6 7 8 10 11 12 15 +5 6 7 8 10 11 13 14 +5 6 7 8 10 11 13 15 +5 6 7 8 10 11 14 15 +5 6 7 8 10 12 13 14 +5 6 7 8 10 12 13 15 +5 6 7 8 10 12 14 15 +5 6 7 8 10 13 14 15 +5 6 7 8 11 12 13 14 +5 6 7 8 11 12 13 15 +5 6 7 8 11 12 14 15 +5 6 7 8 11 13 14 15 +5 6 7 8 12 13 14 15 +5 6 7 9 10 11 12 13 +5 6 7 9 10 11 12 14 +5 6 7 9 10 11 12 15 +5 6 7 9 10 11 13 14 +5 6 7 9 10 11 13 15 +5 6 7 9 10 11 14 15 +5 6 7 9 10 12 13 14 +5 6 7 9 10 12 13 15 +5 6 7 9 10 12 14 15 +5 6 7 9 10 13 14 15 +5 6 7 9 11 12 13 14 +5 6 7 9 11 12 13 15 +5 6 7 9 11 12 14 15 +5 6 7 9 11 13 14 15 +5 6 7 9 12 13 14 15 +5 6 7 10 11 12 13 14 +5 6 7 10 11 12 13 15 +5 6 7 10 11 12 14 15 +5 6 7 10 11 13 14 15 +5 6 7 10 12 13 14 15 +5 6 7 11 12 13 14 15 +5 6 8 9 10 11 12 13 +5 6 8 9 10 11 12 14 +5 6 8 9 10 11 12 15 +5 6 8 9 10 11 13 14 +5 6 8 9 10 11 13 15 +5 6 8 9 10 11 14 15 +5 6 8 9 10 12 13 14 +5 6 8 9 10 12 13 15 +5 6 8 9 10 12 14 15 +5 6 8 9 10 13 14 15 +5 6 8 9 11 12 13 14 +5 6 8 9 11 12 13 15 +5 6 8 9 11 12 14 15 +5 6 8 9 11 13 14 15 +5 6 8 9 12 13 14 15 +5 6 8 10 11 12 13 14 +5 6 8 10 11 12 13 15 +5 6 8 10 11 12 14 15 +5 6 8 10 11 13 14 15 +5 6 8 10 12 13 14 15 +5 6 8 11 12 13 14 15 +5 6 9 10 11 12 13 14 +5 6 9 10 11 12 13 15 +5 6 9 10 11 12 14 15 +5 6 9 10 11 13 14 15 +5 6 9 10 12 13 14 15 +5 6 9 11 12 13 14 15 +5 6 10 11 12 13 14 15 +5 7 8 9 10 11 12 13 +5 7 8 9 10 11 12 14 +5 7 8 9 10 11 12 15 +5 7 8 9 10 11 13 14 +5 7 8 9 10 11 13 15 +5 7 8 9 10 11 14 15 +5 7 8 9 10 12 13 14 +5 7 8 9 10 12 13 15 +5 7 8 9 10 12 14 15 +5 7 8 9 10 13 14 15 +5 7 8 9 11 12 13 14 +5 7 8 9 11 12 13 15 +5 7 8 9 11 12 14 15 +5 7 8 9 11 13 14 15 +5 7 8 9 12 13 14 15 +5 7 8 10 11 12 13 14 +5 7 8 10 11 12 13 15 +5 7 8 10 11 12 14 15 +5 7 8 10 11 13 14 15 +5 7 8 10 12 13 14 15 +5 7 8 11 12 13 14 15 +5 7 9 10 11 12 13 14 +5 7 9 10 11 12 13 15 +5 7 9 10 11 12 14 15 +5 7 9 10 11 13 14 15 +5 7 9 10 12 13 14 15 +5 7 9 11 12 13 14 15 +5 7 10 11 12 13 14 15 +5 8 9 10 11 12 13 14 +5 8 9 10 11 12 13 15 +5 8 9 10 11 12 14 15 +5 8 9 10 11 13 14 15 +5 8 9 10 12 13 14 15 +5 8 9 11 12 13 14 15 +5 8 10 11 12 13 14 15 +5 9 10 11 12 13 14 15 +6 7 8 9 10 11 12 13 +6 7 8 9 10 11 12 14 +6 7 8 9 10 11 12 15 +6 7 8 9 10 11 13 14 +6 7 8 9 10 11 13 15 +6 7 8 9 10 11 14 15 +6 7 8 9 10 12 13 14 +6 7 8 9 10 12 13 15 +6 7 8 9 10 12 14 15 +6 7 8 9 10 13 14 15 +6 7 8 9 11 12 13 14 +6 7 8 9 11 12 13 15 +6 7 8 9 11 12 14 15 +6 7 8 9 11 13 14 15 +6 7 8 9 12 13 14 15 +6 7 8 10 11 12 13 14 +6 7 8 10 11 12 13 15 +6 7 8 10 11 12 14 15 +6 7 8 10 11 13 14 15 +6 7 8 10 12 13 14 15 +6 7 8 11 12 13 14 15 +6 7 9 10 11 12 13 14 +6 7 9 10 11 12 13 15 +6 7 9 10 11 12 14 15 +6 7 9 10 11 13 14 15 +6 7 9 10 12 13 14 15 +6 7 9 11 12 13 14 15 +6 7 10 11 12 13 14 15 +6 8 9 10 11 12 13 14 +6 8 9 10 11 12 13 15 +6 8 9 10 11 12 14 15 +6 8 9 10 11 13 14 15 +6 8 9 10 12 13 14 15 +6 8 9 11 12 13 14 15 +6 8 10 11 12 13 14 15 +6 9 10 11 12 13 14 15 +7 8 9 10 11 12 13 14 +7 8 9 10 11 12 13 15 +7 8 9 10 11 12 14 15 +7 8 9 10 11 13 14 15 +7 8 9 10 12 13 14 15 +7 8 9 11 12 13 14 15 +7 8 10 11 12 13 14 15 +7 9 10 11 12 13 14 15 +8 9 10 11 12 13 14 15 diff --git a/combines/16-9.txt b/combines/16-9.txt index 9dce40e..f35e162 100644 --- a/combines/16-9.txt +++ b/combines/16-9.txt @@ -1,11440 +1,11440 @@ -0 1 2 3 4 5 6 7 8 -0 1 2 3 4 5 6 7 9 -0 1 2 3 4 5 6 7 10 -0 1 2 3 4 5 6 7 11 -0 1 2 3 4 5 6 7 12 -0 1 2 3 4 5 6 7 13 -0 1 2 3 4 5 6 7 14 -0 1 2 3 4 5 6 7 15 -0 1 2 3 4 5 6 8 9 -0 1 2 3 4 5 6 8 10 -0 1 2 3 4 5 6 8 11 -0 1 2 3 4 5 6 8 12 -0 1 2 3 4 5 6 8 13 -0 1 2 3 4 5 6 8 14 -0 1 2 3 4 5 6 8 15 -0 1 2 3 4 5 6 9 10 -0 1 2 3 4 5 6 9 11 -0 1 2 3 4 5 6 9 12 -0 1 2 3 4 5 6 9 13 -0 1 2 3 4 5 6 9 14 -0 1 2 3 4 5 6 9 15 -0 1 2 3 4 5 6 10 11 -0 1 2 3 4 5 6 10 12 -0 1 2 3 4 5 6 10 13 -0 1 2 3 4 5 6 10 14 -0 1 2 3 4 5 6 10 15 -0 1 2 3 4 5 6 11 12 -0 1 2 3 4 5 6 11 13 -0 1 2 3 4 5 6 11 14 -0 1 2 3 4 5 6 11 15 -0 1 2 3 4 5 6 12 13 -0 1 2 3 4 5 6 12 14 -0 1 2 3 4 5 6 12 15 -0 1 2 3 4 5 6 13 14 -0 1 2 3 4 5 6 13 15 -0 1 2 3 4 5 6 14 15 -0 1 2 3 4 5 7 8 9 -0 1 2 3 4 5 7 8 10 -0 1 2 3 4 5 7 8 11 -0 1 2 3 4 5 7 8 12 -0 1 2 3 4 5 7 8 13 -0 1 2 3 4 5 7 8 14 -0 1 2 3 4 5 7 8 15 -0 1 2 3 4 5 7 9 10 -0 1 2 3 4 5 7 9 11 -0 1 2 3 4 5 7 9 12 -0 1 2 3 4 5 7 9 13 -0 1 2 3 4 5 7 9 14 -0 1 2 3 4 5 7 9 15 -0 1 2 3 4 5 7 10 11 -0 1 2 3 4 5 7 10 12 -0 1 2 3 4 5 7 10 13 -0 1 2 3 4 5 7 10 14 -0 1 2 3 4 5 7 10 15 -0 1 2 3 4 5 7 11 12 -0 1 2 3 4 5 7 11 13 -0 1 2 3 4 5 7 11 14 -0 1 2 3 4 5 7 11 15 -0 1 2 3 4 5 7 12 13 -0 1 2 3 4 5 7 12 14 -0 1 2 3 4 5 7 12 15 -0 1 2 3 4 5 7 13 14 -0 1 2 3 4 5 7 13 15 -0 1 2 3 4 5 7 14 15 -0 1 2 3 4 5 8 9 10 -0 1 2 3 4 5 8 9 11 -0 1 2 3 4 5 8 9 12 -0 1 2 3 4 5 8 9 13 -0 1 2 3 4 5 8 9 14 -0 1 2 3 4 5 8 9 15 -0 1 2 3 4 5 8 10 11 -0 1 2 3 4 5 8 10 12 -0 1 2 3 4 5 8 10 13 -0 1 2 3 4 5 8 10 14 -0 1 2 3 4 5 8 10 15 -0 1 2 3 4 5 8 11 12 -0 1 2 3 4 5 8 11 13 -0 1 2 3 4 5 8 11 14 -0 1 2 3 4 5 8 11 15 -0 1 2 3 4 5 8 12 13 -0 1 2 3 4 5 8 12 14 -0 1 2 3 4 5 8 12 15 -0 1 2 3 4 5 8 13 14 -0 1 2 3 4 5 8 13 15 -0 1 2 3 4 5 8 14 15 -0 1 2 3 4 5 9 10 11 -0 1 2 3 4 5 9 10 12 -0 1 2 3 4 5 9 10 13 -0 1 2 3 4 5 9 10 14 -0 1 2 3 4 5 9 10 15 -0 1 2 3 4 5 9 11 12 -0 1 2 3 4 5 9 11 13 -0 1 2 3 4 5 9 11 14 -0 1 2 3 4 5 9 11 15 -0 1 2 3 4 5 9 12 13 -0 1 2 3 4 5 9 12 14 -0 1 2 3 4 5 9 12 15 -0 1 2 3 4 5 9 13 14 -0 1 2 3 4 5 9 13 15 -0 1 2 3 4 5 9 14 15 -0 1 2 3 4 5 10 11 12 -0 1 2 3 4 5 10 11 13 -0 1 2 3 4 5 10 11 14 -0 1 2 3 4 5 10 11 15 -0 1 2 3 4 5 10 12 13 -0 1 2 3 4 5 10 12 14 -0 1 2 3 4 5 10 12 15 -0 1 2 3 4 5 10 13 14 -0 1 2 3 4 5 10 13 15 -0 1 2 3 4 5 10 14 15 -0 1 2 3 4 5 11 12 13 -0 1 2 3 4 5 11 12 14 -0 1 2 3 4 5 11 12 15 -0 1 2 3 4 5 11 13 14 -0 1 2 3 4 5 11 13 15 -0 1 2 3 4 5 11 14 15 -0 1 2 3 4 5 12 13 14 -0 1 2 3 4 5 12 13 15 -0 1 2 3 4 5 12 14 15 -0 1 2 3 4 5 13 14 15 -0 1 2 3 4 6 7 8 9 -0 1 2 3 4 6 7 8 10 -0 1 2 3 4 6 7 8 11 -0 1 2 3 4 6 7 8 12 -0 1 2 3 4 6 7 8 13 -0 1 2 3 4 6 7 8 14 -0 1 2 3 4 6 7 8 15 -0 1 2 3 4 6 7 9 10 -0 1 2 3 4 6 7 9 11 -0 1 2 3 4 6 7 9 12 -0 1 2 3 4 6 7 9 13 -0 1 2 3 4 6 7 9 14 -0 1 2 3 4 6 7 9 15 -0 1 2 3 4 6 7 10 11 -0 1 2 3 4 6 7 10 12 -0 1 2 3 4 6 7 10 13 -0 1 2 3 4 6 7 10 14 -0 1 2 3 4 6 7 10 15 -0 1 2 3 4 6 7 11 12 -0 1 2 3 4 6 7 11 13 -0 1 2 3 4 6 7 11 14 -0 1 2 3 4 6 7 11 15 -0 1 2 3 4 6 7 12 13 -0 1 2 3 4 6 7 12 14 -0 1 2 3 4 6 7 12 15 -0 1 2 3 4 6 7 13 14 -0 1 2 3 4 6 7 13 15 -0 1 2 3 4 6 7 14 15 -0 1 2 3 4 6 8 9 10 -0 1 2 3 4 6 8 9 11 -0 1 2 3 4 6 8 9 12 -0 1 2 3 4 6 8 9 13 -0 1 2 3 4 6 8 9 14 -0 1 2 3 4 6 8 9 15 -0 1 2 3 4 6 8 10 11 -0 1 2 3 4 6 8 10 12 -0 1 2 3 4 6 8 10 13 -0 1 2 3 4 6 8 10 14 -0 1 2 3 4 6 8 10 15 -0 1 2 3 4 6 8 11 12 -0 1 2 3 4 6 8 11 13 -0 1 2 3 4 6 8 11 14 -0 1 2 3 4 6 8 11 15 -0 1 2 3 4 6 8 12 13 -0 1 2 3 4 6 8 12 14 -0 1 2 3 4 6 8 12 15 -0 1 2 3 4 6 8 13 14 -0 1 2 3 4 6 8 13 15 -0 1 2 3 4 6 8 14 15 -0 1 2 3 4 6 9 10 11 -0 1 2 3 4 6 9 10 12 -0 1 2 3 4 6 9 10 13 -0 1 2 3 4 6 9 10 14 -0 1 2 3 4 6 9 10 15 -0 1 2 3 4 6 9 11 12 -0 1 2 3 4 6 9 11 13 -0 1 2 3 4 6 9 11 14 -0 1 2 3 4 6 9 11 15 -0 1 2 3 4 6 9 12 13 -0 1 2 3 4 6 9 12 14 -0 1 2 3 4 6 9 12 15 -0 1 2 3 4 6 9 13 14 -0 1 2 3 4 6 9 13 15 -0 1 2 3 4 6 9 14 15 -0 1 2 3 4 6 10 11 12 -0 1 2 3 4 6 10 11 13 -0 1 2 3 4 6 10 11 14 -0 1 2 3 4 6 10 11 15 -0 1 2 3 4 6 10 12 13 -0 1 2 3 4 6 10 12 14 -0 1 2 3 4 6 10 12 15 -0 1 2 3 4 6 10 13 14 -0 1 2 3 4 6 10 13 15 -0 1 2 3 4 6 10 14 15 -0 1 2 3 4 6 11 12 13 -0 1 2 3 4 6 11 12 14 -0 1 2 3 4 6 11 12 15 -0 1 2 3 4 6 11 13 14 -0 1 2 3 4 6 11 13 15 -0 1 2 3 4 6 11 14 15 -0 1 2 3 4 6 12 13 14 -0 1 2 3 4 6 12 13 15 -0 1 2 3 4 6 12 14 15 -0 1 2 3 4 6 13 14 15 -0 1 2 3 4 7 8 9 10 -0 1 2 3 4 7 8 9 11 -0 1 2 3 4 7 8 9 12 -0 1 2 3 4 7 8 9 13 -0 1 2 3 4 7 8 9 14 -0 1 2 3 4 7 8 9 15 -0 1 2 3 4 7 8 10 11 -0 1 2 3 4 7 8 10 12 -0 1 2 3 4 7 8 10 13 -0 1 2 3 4 7 8 10 14 -0 1 2 3 4 7 8 10 15 -0 1 2 3 4 7 8 11 12 -0 1 2 3 4 7 8 11 13 -0 1 2 3 4 7 8 11 14 -0 1 2 3 4 7 8 11 15 -0 1 2 3 4 7 8 12 13 -0 1 2 3 4 7 8 12 14 -0 1 2 3 4 7 8 12 15 -0 1 2 3 4 7 8 13 14 -0 1 2 3 4 7 8 13 15 -0 1 2 3 4 7 8 14 15 -0 1 2 3 4 7 9 10 11 -0 1 2 3 4 7 9 10 12 -0 1 2 3 4 7 9 10 13 -0 1 2 3 4 7 9 10 14 -0 1 2 3 4 7 9 10 15 -0 1 2 3 4 7 9 11 12 -0 1 2 3 4 7 9 11 13 -0 1 2 3 4 7 9 11 14 -0 1 2 3 4 7 9 11 15 -0 1 2 3 4 7 9 12 13 -0 1 2 3 4 7 9 12 14 -0 1 2 3 4 7 9 12 15 -0 1 2 3 4 7 9 13 14 -0 1 2 3 4 7 9 13 15 -0 1 2 3 4 7 9 14 15 -0 1 2 3 4 7 10 11 12 -0 1 2 3 4 7 10 11 13 -0 1 2 3 4 7 10 11 14 -0 1 2 3 4 7 10 11 15 -0 1 2 3 4 7 10 12 13 -0 1 2 3 4 7 10 12 14 -0 1 2 3 4 7 10 12 15 -0 1 2 3 4 7 10 13 14 -0 1 2 3 4 7 10 13 15 -0 1 2 3 4 7 10 14 15 -0 1 2 3 4 7 11 12 13 -0 1 2 3 4 7 11 12 14 -0 1 2 3 4 7 11 12 15 -0 1 2 3 4 7 11 13 14 -0 1 2 3 4 7 11 13 15 -0 1 2 3 4 7 11 14 15 -0 1 2 3 4 7 12 13 14 -0 1 2 3 4 7 12 13 15 -0 1 2 3 4 7 12 14 15 -0 1 2 3 4 7 13 14 15 -0 1 2 3 4 8 9 10 11 -0 1 2 3 4 8 9 10 12 -0 1 2 3 4 8 9 10 13 -0 1 2 3 4 8 9 10 14 -0 1 2 3 4 8 9 10 15 -0 1 2 3 4 8 9 11 12 -0 1 2 3 4 8 9 11 13 -0 1 2 3 4 8 9 11 14 -0 1 2 3 4 8 9 11 15 -0 1 2 3 4 8 9 12 13 -0 1 2 3 4 8 9 12 14 -0 1 2 3 4 8 9 12 15 -0 1 2 3 4 8 9 13 14 -0 1 2 3 4 8 9 13 15 -0 1 2 3 4 8 9 14 15 -0 1 2 3 4 8 10 11 12 -0 1 2 3 4 8 10 11 13 -0 1 2 3 4 8 10 11 14 -0 1 2 3 4 8 10 11 15 -0 1 2 3 4 8 10 12 13 -0 1 2 3 4 8 10 12 14 -0 1 2 3 4 8 10 12 15 -0 1 2 3 4 8 10 13 14 -0 1 2 3 4 8 10 13 15 -0 1 2 3 4 8 10 14 15 -0 1 2 3 4 8 11 12 13 -0 1 2 3 4 8 11 12 14 -0 1 2 3 4 8 11 12 15 -0 1 2 3 4 8 11 13 14 -0 1 2 3 4 8 11 13 15 -0 1 2 3 4 8 11 14 15 -0 1 2 3 4 8 12 13 14 -0 1 2 3 4 8 12 13 15 -0 1 2 3 4 8 12 14 15 -0 1 2 3 4 8 13 14 15 -0 1 2 3 4 9 10 11 12 -0 1 2 3 4 9 10 11 13 -0 1 2 3 4 9 10 11 14 -0 1 2 3 4 9 10 11 15 -0 1 2 3 4 9 10 12 13 -0 1 2 3 4 9 10 12 14 -0 1 2 3 4 9 10 12 15 -0 1 2 3 4 9 10 13 14 -0 1 2 3 4 9 10 13 15 -0 1 2 3 4 9 10 14 15 -0 1 2 3 4 9 11 12 13 -0 1 2 3 4 9 11 12 14 -0 1 2 3 4 9 11 12 15 -0 1 2 3 4 9 11 13 14 -0 1 2 3 4 9 11 13 15 -0 1 2 3 4 9 11 14 15 -0 1 2 3 4 9 12 13 14 -0 1 2 3 4 9 12 13 15 -0 1 2 3 4 9 12 14 15 -0 1 2 3 4 9 13 14 15 -0 1 2 3 4 10 11 12 13 -0 1 2 3 4 10 11 12 14 -0 1 2 3 4 10 11 12 15 -0 1 2 3 4 10 11 13 14 -0 1 2 3 4 10 11 13 15 -0 1 2 3 4 10 11 14 15 -0 1 2 3 4 10 12 13 14 -0 1 2 3 4 10 12 13 15 -0 1 2 3 4 10 12 14 15 -0 1 2 3 4 10 13 14 15 -0 1 2 3 4 11 12 13 14 -0 1 2 3 4 11 12 13 15 -0 1 2 3 4 11 12 14 15 -0 1 2 3 4 11 13 14 15 -0 1 2 3 4 12 13 14 15 -0 1 2 3 5 6 7 8 9 -0 1 2 3 5 6 7 8 10 -0 1 2 3 5 6 7 8 11 -0 1 2 3 5 6 7 8 12 -0 1 2 3 5 6 7 8 13 -0 1 2 3 5 6 7 8 14 -0 1 2 3 5 6 7 8 15 -0 1 2 3 5 6 7 9 10 -0 1 2 3 5 6 7 9 11 -0 1 2 3 5 6 7 9 12 -0 1 2 3 5 6 7 9 13 -0 1 2 3 5 6 7 9 14 -0 1 2 3 5 6 7 9 15 -0 1 2 3 5 6 7 10 11 -0 1 2 3 5 6 7 10 12 -0 1 2 3 5 6 7 10 13 -0 1 2 3 5 6 7 10 14 -0 1 2 3 5 6 7 10 15 -0 1 2 3 5 6 7 11 12 -0 1 2 3 5 6 7 11 13 -0 1 2 3 5 6 7 11 14 -0 1 2 3 5 6 7 11 15 -0 1 2 3 5 6 7 12 13 -0 1 2 3 5 6 7 12 14 -0 1 2 3 5 6 7 12 15 -0 1 2 3 5 6 7 13 14 -0 1 2 3 5 6 7 13 15 -0 1 2 3 5 6 7 14 15 -0 1 2 3 5 6 8 9 10 -0 1 2 3 5 6 8 9 11 -0 1 2 3 5 6 8 9 12 -0 1 2 3 5 6 8 9 13 -0 1 2 3 5 6 8 9 14 -0 1 2 3 5 6 8 9 15 -0 1 2 3 5 6 8 10 11 -0 1 2 3 5 6 8 10 12 -0 1 2 3 5 6 8 10 13 -0 1 2 3 5 6 8 10 14 -0 1 2 3 5 6 8 10 15 -0 1 2 3 5 6 8 11 12 -0 1 2 3 5 6 8 11 13 -0 1 2 3 5 6 8 11 14 -0 1 2 3 5 6 8 11 15 -0 1 2 3 5 6 8 12 13 -0 1 2 3 5 6 8 12 14 -0 1 2 3 5 6 8 12 15 -0 1 2 3 5 6 8 13 14 -0 1 2 3 5 6 8 13 15 -0 1 2 3 5 6 8 14 15 -0 1 2 3 5 6 9 10 11 -0 1 2 3 5 6 9 10 12 -0 1 2 3 5 6 9 10 13 -0 1 2 3 5 6 9 10 14 -0 1 2 3 5 6 9 10 15 -0 1 2 3 5 6 9 11 12 -0 1 2 3 5 6 9 11 13 -0 1 2 3 5 6 9 11 14 -0 1 2 3 5 6 9 11 15 -0 1 2 3 5 6 9 12 13 -0 1 2 3 5 6 9 12 14 -0 1 2 3 5 6 9 12 15 -0 1 2 3 5 6 9 13 14 -0 1 2 3 5 6 9 13 15 -0 1 2 3 5 6 9 14 15 -0 1 2 3 5 6 10 11 12 -0 1 2 3 5 6 10 11 13 -0 1 2 3 5 6 10 11 14 -0 1 2 3 5 6 10 11 15 -0 1 2 3 5 6 10 12 13 -0 1 2 3 5 6 10 12 14 -0 1 2 3 5 6 10 12 15 -0 1 2 3 5 6 10 13 14 -0 1 2 3 5 6 10 13 15 -0 1 2 3 5 6 10 14 15 -0 1 2 3 5 6 11 12 13 -0 1 2 3 5 6 11 12 14 -0 1 2 3 5 6 11 12 15 -0 1 2 3 5 6 11 13 14 -0 1 2 3 5 6 11 13 15 -0 1 2 3 5 6 11 14 15 -0 1 2 3 5 6 12 13 14 -0 1 2 3 5 6 12 13 15 -0 1 2 3 5 6 12 14 15 -0 1 2 3 5 6 13 14 15 -0 1 2 3 5 7 8 9 10 -0 1 2 3 5 7 8 9 11 -0 1 2 3 5 7 8 9 12 -0 1 2 3 5 7 8 9 13 -0 1 2 3 5 7 8 9 14 -0 1 2 3 5 7 8 9 15 -0 1 2 3 5 7 8 10 11 -0 1 2 3 5 7 8 10 12 -0 1 2 3 5 7 8 10 13 -0 1 2 3 5 7 8 10 14 -0 1 2 3 5 7 8 10 15 -0 1 2 3 5 7 8 11 12 -0 1 2 3 5 7 8 11 13 -0 1 2 3 5 7 8 11 14 -0 1 2 3 5 7 8 11 15 -0 1 2 3 5 7 8 12 13 -0 1 2 3 5 7 8 12 14 -0 1 2 3 5 7 8 12 15 -0 1 2 3 5 7 8 13 14 -0 1 2 3 5 7 8 13 15 -0 1 2 3 5 7 8 14 15 -0 1 2 3 5 7 9 10 11 -0 1 2 3 5 7 9 10 12 -0 1 2 3 5 7 9 10 13 -0 1 2 3 5 7 9 10 14 -0 1 2 3 5 7 9 10 15 -0 1 2 3 5 7 9 11 12 -0 1 2 3 5 7 9 11 13 -0 1 2 3 5 7 9 11 14 -0 1 2 3 5 7 9 11 15 -0 1 2 3 5 7 9 12 13 -0 1 2 3 5 7 9 12 14 -0 1 2 3 5 7 9 12 15 -0 1 2 3 5 7 9 13 14 -0 1 2 3 5 7 9 13 15 -0 1 2 3 5 7 9 14 15 -0 1 2 3 5 7 10 11 12 -0 1 2 3 5 7 10 11 13 -0 1 2 3 5 7 10 11 14 -0 1 2 3 5 7 10 11 15 -0 1 2 3 5 7 10 12 13 -0 1 2 3 5 7 10 12 14 -0 1 2 3 5 7 10 12 15 -0 1 2 3 5 7 10 13 14 -0 1 2 3 5 7 10 13 15 -0 1 2 3 5 7 10 14 15 -0 1 2 3 5 7 11 12 13 -0 1 2 3 5 7 11 12 14 -0 1 2 3 5 7 11 12 15 -0 1 2 3 5 7 11 13 14 -0 1 2 3 5 7 11 13 15 -0 1 2 3 5 7 11 14 15 -0 1 2 3 5 7 12 13 14 -0 1 2 3 5 7 12 13 15 -0 1 2 3 5 7 12 14 15 -0 1 2 3 5 7 13 14 15 -0 1 2 3 5 8 9 10 11 -0 1 2 3 5 8 9 10 12 -0 1 2 3 5 8 9 10 13 -0 1 2 3 5 8 9 10 14 -0 1 2 3 5 8 9 10 15 -0 1 2 3 5 8 9 11 12 -0 1 2 3 5 8 9 11 13 -0 1 2 3 5 8 9 11 14 -0 1 2 3 5 8 9 11 15 -0 1 2 3 5 8 9 12 13 -0 1 2 3 5 8 9 12 14 -0 1 2 3 5 8 9 12 15 -0 1 2 3 5 8 9 13 14 -0 1 2 3 5 8 9 13 15 -0 1 2 3 5 8 9 14 15 -0 1 2 3 5 8 10 11 12 -0 1 2 3 5 8 10 11 13 -0 1 2 3 5 8 10 11 14 -0 1 2 3 5 8 10 11 15 -0 1 2 3 5 8 10 12 13 -0 1 2 3 5 8 10 12 14 -0 1 2 3 5 8 10 12 15 -0 1 2 3 5 8 10 13 14 -0 1 2 3 5 8 10 13 15 -0 1 2 3 5 8 10 14 15 -0 1 2 3 5 8 11 12 13 -0 1 2 3 5 8 11 12 14 -0 1 2 3 5 8 11 12 15 -0 1 2 3 5 8 11 13 14 -0 1 2 3 5 8 11 13 15 -0 1 2 3 5 8 11 14 15 -0 1 2 3 5 8 12 13 14 -0 1 2 3 5 8 12 13 15 -0 1 2 3 5 8 12 14 15 -0 1 2 3 5 8 13 14 15 -0 1 2 3 5 9 10 11 12 -0 1 2 3 5 9 10 11 13 -0 1 2 3 5 9 10 11 14 -0 1 2 3 5 9 10 11 15 -0 1 2 3 5 9 10 12 13 -0 1 2 3 5 9 10 12 14 -0 1 2 3 5 9 10 12 15 -0 1 2 3 5 9 10 13 14 -0 1 2 3 5 9 10 13 15 -0 1 2 3 5 9 10 14 15 -0 1 2 3 5 9 11 12 13 -0 1 2 3 5 9 11 12 14 -0 1 2 3 5 9 11 12 15 -0 1 2 3 5 9 11 13 14 -0 1 2 3 5 9 11 13 15 -0 1 2 3 5 9 11 14 15 -0 1 2 3 5 9 12 13 14 -0 1 2 3 5 9 12 13 15 -0 1 2 3 5 9 12 14 15 -0 1 2 3 5 9 13 14 15 -0 1 2 3 5 10 11 12 13 -0 1 2 3 5 10 11 12 14 -0 1 2 3 5 10 11 12 15 -0 1 2 3 5 10 11 13 14 -0 1 2 3 5 10 11 13 15 -0 1 2 3 5 10 11 14 15 -0 1 2 3 5 10 12 13 14 -0 1 2 3 5 10 12 13 15 -0 1 2 3 5 10 12 14 15 -0 1 2 3 5 10 13 14 15 -0 1 2 3 5 11 12 13 14 -0 1 2 3 5 11 12 13 15 -0 1 2 3 5 11 12 14 15 -0 1 2 3 5 11 13 14 15 -0 1 2 3 5 12 13 14 15 -0 1 2 3 6 7 8 9 10 -0 1 2 3 6 7 8 9 11 -0 1 2 3 6 7 8 9 12 -0 1 2 3 6 7 8 9 13 -0 1 2 3 6 7 8 9 14 -0 1 2 3 6 7 8 9 15 -0 1 2 3 6 7 8 10 11 -0 1 2 3 6 7 8 10 12 -0 1 2 3 6 7 8 10 13 -0 1 2 3 6 7 8 10 14 -0 1 2 3 6 7 8 10 15 -0 1 2 3 6 7 8 11 12 -0 1 2 3 6 7 8 11 13 -0 1 2 3 6 7 8 11 14 -0 1 2 3 6 7 8 11 15 -0 1 2 3 6 7 8 12 13 -0 1 2 3 6 7 8 12 14 -0 1 2 3 6 7 8 12 15 -0 1 2 3 6 7 8 13 14 -0 1 2 3 6 7 8 13 15 -0 1 2 3 6 7 8 14 15 -0 1 2 3 6 7 9 10 11 -0 1 2 3 6 7 9 10 12 -0 1 2 3 6 7 9 10 13 -0 1 2 3 6 7 9 10 14 -0 1 2 3 6 7 9 10 15 -0 1 2 3 6 7 9 11 12 -0 1 2 3 6 7 9 11 13 -0 1 2 3 6 7 9 11 14 -0 1 2 3 6 7 9 11 15 -0 1 2 3 6 7 9 12 13 -0 1 2 3 6 7 9 12 14 -0 1 2 3 6 7 9 12 15 -0 1 2 3 6 7 9 13 14 -0 1 2 3 6 7 9 13 15 -0 1 2 3 6 7 9 14 15 -0 1 2 3 6 7 10 11 12 -0 1 2 3 6 7 10 11 13 -0 1 2 3 6 7 10 11 14 -0 1 2 3 6 7 10 11 15 -0 1 2 3 6 7 10 12 13 -0 1 2 3 6 7 10 12 14 -0 1 2 3 6 7 10 12 15 -0 1 2 3 6 7 10 13 14 -0 1 2 3 6 7 10 13 15 -0 1 2 3 6 7 10 14 15 -0 1 2 3 6 7 11 12 13 -0 1 2 3 6 7 11 12 14 -0 1 2 3 6 7 11 12 15 -0 1 2 3 6 7 11 13 14 -0 1 2 3 6 7 11 13 15 -0 1 2 3 6 7 11 14 15 -0 1 2 3 6 7 12 13 14 -0 1 2 3 6 7 12 13 15 -0 1 2 3 6 7 12 14 15 -0 1 2 3 6 7 13 14 15 -0 1 2 3 6 8 9 10 11 -0 1 2 3 6 8 9 10 12 -0 1 2 3 6 8 9 10 13 -0 1 2 3 6 8 9 10 14 -0 1 2 3 6 8 9 10 15 -0 1 2 3 6 8 9 11 12 -0 1 2 3 6 8 9 11 13 -0 1 2 3 6 8 9 11 14 -0 1 2 3 6 8 9 11 15 -0 1 2 3 6 8 9 12 13 -0 1 2 3 6 8 9 12 14 -0 1 2 3 6 8 9 12 15 -0 1 2 3 6 8 9 13 14 -0 1 2 3 6 8 9 13 15 -0 1 2 3 6 8 9 14 15 -0 1 2 3 6 8 10 11 12 -0 1 2 3 6 8 10 11 13 -0 1 2 3 6 8 10 11 14 -0 1 2 3 6 8 10 11 15 -0 1 2 3 6 8 10 12 13 -0 1 2 3 6 8 10 12 14 -0 1 2 3 6 8 10 12 15 -0 1 2 3 6 8 10 13 14 -0 1 2 3 6 8 10 13 15 -0 1 2 3 6 8 10 14 15 -0 1 2 3 6 8 11 12 13 -0 1 2 3 6 8 11 12 14 -0 1 2 3 6 8 11 12 15 -0 1 2 3 6 8 11 13 14 -0 1 2 3 6 8 11 13 15 -0 1 2 3 6 8 11 14 15 -0 1 2 3 6 8 12 13 14 -0 1 2 3 6 8 12 13 15 -0 1 2 3 6 8 12 14 15 -0 1 2 3 6 8 13 14 15 -0 1 2 3 6 9 10 11 12 -0 1 2 3 6 9 10 11 13 -0 1 2 3 6 9 10 11 14 -0 1 2 3 6 9 10 11 15 -0 1 2 3 6 9 10 12 13 -0 1 2 3 6 9 10 12 14 -0 1 2 3 6 9 10 12 15 -0 1 2 3 6 9 10 13 14 -0 1 2 3 6 9 10 13 15 -0 1 2 3 6 9 10 14 15 -0 1 2 3 6 9 11 12 13 -0 1 2 3 6 9 11 12 14 -0 1 2 3 6 9 11 12 15 -0 1 2 3 6 9 11 13 14 -0 1 2 3 6 9 11 13 15 -0 1 2 3 6 9 11 14 15 -0 1 2 3 6 9 12 13 14 -0 1 2 3 6 9 12 13 15 -0 1 2 3 6 9 12 14 15 -0 1 2 3 6 9 13 14 15 -0 1 2 3 6 10 11 12 13 -0 1 2 3 6 10 11 12 14 -0 1 2 3 6 10 11 12 15 -0 1 2 3 6 10 11 13 14 -0 1 2 3 6 10 11 13 15 -0 1 2 3 6 10 11 14 15 -0 1 2 3 6 10 12 13 14 -0 1 2 3 6 10 12 13 15 -0 1 2 3 6 10 12 14 15 -0 1 2 3 6 10 13 14 15 -0 1 2 3 6 11 12 13 14 -0 1 2 3 6 11 12 13 15 -0 1 2 3 6 11 12 14 15 -0 1 2 3 6 11 13 14 15 -0 1 2 3 6 12 13 14 15 -0 1 2 3 7 8 9 10 11 -0 1 2 3 7 8 9 10 12 -0 1 2 3 7 8 9 10 13 -0 1 2 3 7 8 9 10 14 -0 1 2 3 7 8 9 10 15 -0 1 2 3 7 8 9 11 12 -0 1 2 3 7 8 9 11 13 -0 1 2 3 7 8 9 11 14 -0 1 2 3 7 8 9 11 15 -0 1 2 3 7 8 9 12 13 -0 1 2 3 7 8 9 12 14 -0 1 2 3 7 8 9 12 15 -0 1 2 3 7 8 9 13 14 -0 1 2 3 7 8 9 13 15 -0 1 2 3 7 8 9 14 15 -0 1 2 3 7 8 10 11 12 -0 1 2 3 7 8 10 11 13 -0 1 2 3 7 8 10 11 14 -0 1 2 3 7 8 10 11 15 -0 1 2 3 7 8 10 12 13 -0 1 2 3 7 8 10 12 14 -0 1 2 3 7 8 10 12 15 -0 1 2 3 7 8 10 13 14 -0 1 2 3 7 8 10 13 15 -0 1 2 3 7 8 10 14 15 -0 1 2 3 7 8 11 12 13 -0 1 2 3 7 8 11 12 14 -0 1 2 3 7 8 11 12 15 -0 1 2 3 7 8 11 13 14 -0 1 2 3 7 8 11 13 15 -0 1 2 3 7 8 11 14 15 -0 1 2 3 7 8 12 13 14 -0 1 2 3 7 8 12 13 15 -0 1 2 3 7 8 12 14 15 -0 1 2 3 7 8 13 14 15 -0 1 2 3 7 9 10 11 12 -0 1 2 3 7 9 10 11 13 -0 1 2 3 7 9 10 11 14 -0 1 2 3 7 9 10 11 15 -0 1 2 3 7 9 10 12 13 -0 1 2 3 7 9 10 12 14 -0 1 2 3 7 9 10 12 15 -0 1 2 3 7 9 10 13 14 -0 1 2 3 7 9 10 13 15 -0 1 2 3 7 9 10 14 15 -0 1 2 3 7 9 11 12 13 -0 1 2 3 7 9 11 12 14 -0 1 2 3 7 9 11 12 15 -0 1 2 3 7 9 11 13 14 -0 1 2 3 7 9 11 13 15 -0 1 2 3 7 9 11 14 15 -0 1 2 3 7 9 12 13 14 -0 1 2 3 7 9 12 13 15 -0 1 2 3 7 9 12 14 15 -0 1 2 3 7 9 13 14 15 -0 1 2 3 7 10 11 12 13 -0 1 2 3 7 10 11 12 14 -0 1 2 3 7 10 11 12 15 -0 1 2 3 7 10 11 13 14 -0 1 2 3 7 10 11 13 15 -0 1 2 3 7 10 11 14 15 -0 1 2 3 7 10 12 13 14 -0 1 2 3 7 10 12 13 15 -0 1 2 3 7 10 12 14 15 -0 1 2 3 7 10 13 14 15 -0 1 2 3 7 11 12 13 14 -0 1 2 3 7 11 12 13 15 -0 1 2 3 7 11 12 14 15 -0 1 2 3 7 11 13 14 15 -0 1 2 3 7 12 13 14 15 -0 1 2 3 8 9 10 11 12 -0 1 2 3 8 9 10 11 13 -0 1 2 3 8 9 10 11 14 -0 1 2 3 8 9 10 11 15 -0 1 2 3 8 9 10 12 13 -0 1 2 3 8 9 10 12 14 -0 1 2 3 8 9 10 12 15 -0 1 2 3 8 9 10 13 14 -0 1 2 3 8 9 10 13 15 -0 1 2 3 8 9 10 14 15 -0 1 2 3 8 9 11 12 13 -0 1 2 3 8 9 11 12 14 -0 1 2 3 8 9 11 12 15 -0 1 2 3 8 9 11 13 14 -0 1 2 3 8 9 11 13 15 -0 1 2 3 8 9 11 14 15 -0 1 2 3 8 9 12 13 14 -0 1 2 3 8 9 12 13 15 -0 1 2 3 8 9 12 14 15 -0 1 2 3 8 9 13 14 15 -0 1 2 3 8 10 11 12 13 -0 1 2 3 8 10 11 12 14 -0 1 2 3 8 10 11 12 15 -0 1 2 3 8 10 11 13 14 -0 1 2 3 8 10 11 13 15 -0 1 2 3 8 10 11 14 15 -0 1 2 3 8 10 12 13 14 -0 1 2 3 8 10 12 13 15 -0 1 2 3 8 10 12 14 15 -0 1 2 3 8 10 13 14 15 -0 1 2 3 8 11 12 13 14 -0 1 2 3 8 11 12 13 15 -0 1 2 3 8 11 12 14 15 -0 1 2 3 8 11 13 14 15 -0 1 2 3 8 12 13 14 15 -0 1 2 3 9 10 11 12 13 -0 1 2 3 9 10 11 12 14 -0 1 2 3 9 10 11 12 15 -0 1 2 3 9 10 11 13 14 -0 1 2 3 9 10 11 13 15 -0 1 2 3 9 10 11 14 15 -0 1 2 3 9 10 12 13 14 -0 1 2 3 9 10 12 13 15 -0 1 2 3 9 10 12 14 15 -0 1 2 3 9 10 13 14 15 -0 1 2 3 9 11 12 13 14 -0 1 2 3 9 11 12 13 15 -0 1 2 3 9 11 12 14 15 -0 1 2 3 9 11 13 14 15 -0 1 2 3 9 12 13 14 15 -0 1 2 3 10 11 12 13 14 -0 1 2 3 10 11 12 13 15 -0 1 2 3 10 11 12 14 15 -0 1 2 3 10 11 13 14 15 -0 1 2 3 10 12 13 14 15 -0 1 2 3 11 12 13 14 15 -0 1 2 4 5 6 7 8 9 -0 1 2 4 5 6 7 8 10 -0 1 2 4 5 6 7 8 11 -0 1 2 4 5 6 7 8 12 -0 1 2 4 5 6 7 8 13 -0 1 2 4 5 6 7 8 14 -0 1 2 4 5 6 7 8 15 -0 1 2 4 5 6 7 9 10 -0 1 2 4 5 6 7 9 11 -0 1 2 4 5 6 7 9 12 -0 1 2 4 5 6 7 9 13 -0 1 2 4 5 6 7 9 14 -0 1 2 4 5 6 7 9 15 -0 1 2 4 5 6 7 10 11 -0 1 2 4 5 6 7 10 12 -0 1 2 4 5 6 7 10 13 -0 1 2 4 5 6 7 10 14 -0 1 2 4 5 6 7 10 15 -0 1 2 4 5 6 7 11 12 -0 1 2 4 5 6 7 11 13 -0 1 2 4 5 6 7 11 14 -0 1 2 4 5 6 7 11 15 -0 1 2 4 5 6 7 12 13 -0 1 2 4 5 6 7 12 14 -0 1 2 4 5 6 7 12 15 -0 1 2 4 5 6 7 13 14 -0 1 2 4 5 6 7 13 15 -0 1 2 4 5 6 7 14 15 -0 1 2 4 5 6 8 9 10 -0 1 2 4 5 6 8 9 11 -0 1 2 4 5 6 8 9 12 -0 1 2 4 5 6 8 9 13 -0 1 2 4 5 6 8 9 14 -0 1 2 4 5 6 8 9 15 -0 1 2 4 5 6 8 10 11 -0 1 2 4 5 6 8 10 12 -0 1 2 4 5 6 8 10 13 -0 1 2 4 5 6 8 10 14 -0 1 2 4 5 6 8 10 15 -0 1 2 4 5 6 8 11 12 -0 1 2 4 5 6 8 11 13 -0 1 2 4 5 6 8 11 14 -0 1 2 4 5 6 8 11 15 -0 1 2 4 5 6 8 12 13 -0 1 2 4 5 6 8 12 14 -0 1 2 4 5 6 8 12 15 -0 1 2 4 5 6 8 13 14 -0 1 2 4 5 6 8 13 15 -0 1 2 4 5 6 8 14 15 -0 1 2 4 5 6 9 10 11 -0 1 2 4 5 6 9 10 12 -0 1 2 4 5 6 9 10 13 -0 1 2 4 5 6 9 10 14 -0 1 2 4 5 6 9 10 15 -0 1 2 4 5 6 9 11 12 -0 1 2 4 5 6 9 11 13 -0 1 2 4 5 6 9 11 14 -0 1 2 4 5 6 9 11 15 -0 1 2 4 5 6 9 12 13 -0 1 2 4 5 6 9 12 14 -0 1 2 4 5 6 9 12 15 -0 1 2 4 5 6 9 13 14 -0 1 2 4 5 6 9 13 15 -0 1 2 4 5 6 9 14 15 -0 1 2 4 5 6 10 11 12 -0 1 2 4 5 6 10 11 13 -0 1 2 4 5 6 10 11 14 -0 1 2 4 5 6 10 11 15 -0 1 2 4 5 6 10 12 13 -0 1 2 4 5 6 10 12 14 -0 1 2 4 5 6 10 12 15 -0 1 2 4 5 6 10 13 14 -0 1 2 4 5 6 10 13 15 -0 1 2 4 5 6 10 14 15 -0 1 2 4 5 6 11 12 13 -0 1 2 4 5 6 11 12 14 -0 1 2 4 5 6 11 12 15 -0 1 2 4 5 6 11 13 14 -0 1 2 4 5 6 11 13 15 -0 1 2 4 5 6 11 14 15 -0 1 2 4 5 6 12 13 14 -0 1 2 4 5 6 12 13 15 -0 1 2 4 5 6 12 14 15 -0 1 2 4 5 6 13 14 15 -0 1 2 4 5 7 8 9 10 -0 1 2 4 5 7 8 9 11 -0 1 2 4 5 7 8 9 12 -0 1 2 4 5 7 8 9 13 -0 1 2 4 5 7 8 9 14 -0 1 2 4 5 7 8 9 15 -0 1 2 4 5 7 8 10 11 -0 1 2 4 5 7 8 10 12 -0 1 2 4 5 7 8 10 13 -0 1 2 4 5 7 8 10 14 -0 1 2 4 5 7 8 10 15 -0 1 2 4 5 7 8 11 12 -0 1 2 4 5 7 8 11 13 -0 1 2 4 5 7 8 11 14 -0 1 2 4 5 7 8 11 15 -0 1 2 4 5 7 8 12 13 -0 1 2 4 5 7 8 12 14 -0 1 2 4 5 7 8 12 15 -0 1 2 4 5 7 8 13 14 -0 1 2 4 5 7 8 13 15 -0 1 2 4 5 7 8 14 15 -0 1 2 4 5 7 9 10 11 -0 1 2 4 5 7 9 10 12 -0 1 2 4 5 7 9 10 13 -0 1 2 4 5 7 9 10 14 -0 1 2 4 5 7 9 10 15 -0 1 2 4 5 7 9 11 12 -0 1 2 4 5 7 9 11 13 -0 1 2 4 5 7 9 11 14 -0 1 2 4 5 7 9 11 15 -0 1 2 4 5 7 9 12 13 -0 1 2 4 5 7 9 12 14 -0 1 2 4 5 7 9 12 15 -0 1 2 4 5 7 9 13 14 -0 1 2 4 5 7 9 13 15 -0 1 2 4 5 7 9 14 15 -0 1 2 4 5 7 10 11 12 -0 1 2 4 5 7 10 11 13 -0 1 2 4 5 7 10 11 14 -0 1 2 4 5 7 10 11 15 -0 1 2 4 5 7 10 12 13 -0 1 2 4 5 7 10 12 14 -0 1 2 4 5 7 10 12 15 -0 1 2 4 5 7 10 13 14 -0 1 2 4 5 7 10 13 15 -0 1 2 4 5 7 10 14 15 -0 1 2 4 5 7 11 12 13 -0 1 2 4 5 7 11 12 14 -0 1 2 4 5 7 11 12 15 -0 1 2 4 5 7 11 13 14 -0 1 2 4 5 7 11 13 15 -0 1 2 4 5 7 11 14 15 -0 1 2 4 5 7 12 13 14 -0 1 2 4 5 7 12 13 15 -0 1 2 4 5 7 12 14 15 -0 1 2 4 5 7 13 14 15 -0 1 2 4 5 8 9 10 11 -0 1 2 4 5 8 9 10 12 -0 1 2 4 5 8 9 10 13 -0 1 2 4 5 8 9 10 14 -0 1 2 4 5 8 9 10 15 -0 1 2 4 5 8 9 11 12 -0 1 2 4 5 8 9 11 13 -0 1 2 4 5 8 9 11 14 -0 1 2 4 5 8 9 11 15 -0 1 2 4 5 8 9 12 13 -0 1 2 4 5 8 9 12 14 -0 1 2 4 5 8 9 12 15 -0 1 2 4 5 8 9 13 14 -0 1 2 4 5 8 9 13 15 -0 1 2 4 5 8 9 14 15 -0 1 2 4 5 8 10 11 12 -0 1 2 4 5 8 10 11 13 -0 1 2 4 5 8 10 11 14 -0 1 2 4 5 8 10 11 15 -0 1 2 4 5 8 10 12 13 -0 1 2 4 5 8 10 12 14 -0 1 2 4 5 8 10 12 15 -0 1 2 4 5 8 10 13 14 -0 1 2 4 5 8 10 13 15 -0 1 2 4 5 8 10 14 15 -0 1 2 4 5 8 11 12 13 -0 1 2 4 5 8 11 12 14 -0 1 2 4 5 8 11 12 15 -0 1 2 4 5 8 11 13 14 -0 1 2 4 5 8 11 13 15 -0 1 2 4 5 8 11 14 15 -0 1 2 4 5 8 12 13 14 -0 1 2 4 5 8 12 13 15 -0 1 2 4 5 8 12 14 15 -0 1 2 4 5 8 13 14 15 -0 1 2 4 5 9 10 11 12 -0 1 2 4 5 9 10 11 13 -0 1 2 4 5 9 10 11 14 -0 1 2 4 5 9 10 11 15 -0 1 2 4 5 9 10 12 13 -0 1 2 4 5 9 10 12 14 -0 1 2 4 5 9 10 12 15 -0 1 2 4 5 9 10 13 14 -0 1 2 4 5 9 10 13 15 -0 1 2 4 5 9 10 14 15 -0 1 2 4 5 9 11 12 13 -0 1 2 4 5 9 11 12 14 -0 1 2 4 5 9 11 12 15 -0 1 2 4 5 9 11 13 14 -0 1 2 4 5 9 11 13 15 -0 1 2 4 5 9 11 14 15 -0 1 2 4 5 9 12 13 14 -0 1 2 4 5 9 12 13 15 -0 1 2 4 5 9 12 14 15 -0 1 2 4 5 9 13 14 15 -0 1 2 4 5 10 11 12 13 -0 1 2 4 5 10 11 12 14 -0 1 2 4 5 10 11 12 15 -0 1 2 4 5 10 11 13 14 -0 1 2 4 5 10 11 13 15 -0 1 2 4 5 10 11 14 15 -0 1 2 4 5 10 12 13 14 -0 1 2 4 5 10 12 13 15 -0 1 2 4 5 10 12 14 15 -0 1 2 4 5 10 13 14 15 -0 1 2 4 5 11 12 13 14 -0 1 2 4 5 11 12 13 15 -0 1 2 4 5 11 12 14 15 -0 1 2 4 5 11 13 14 15 -0 1 2 4 5 12 13 14 15 -0 1 2 4 6 7 8 9 10 -0 1 2 4 6 7 8 9 11 -0 1 2 4 6 7 8 9 12 -0 1 2 4 6 7 8 9 13 -0 1 2 4 6 7 8 9 14 -0 1 2 4 6 7 8 9 15 -0 1 2 4 6 7 8 10 11 -0 1 2 4 6 7 8 10 12 -0 1 2 4 6 7 8 10 13 -0 1 2 4 6 7 8 10 14 -0 1 2 4 6 7 8 10 15 -0 1 2 4 6 7 8 11 12 -0 1 2 4 6 7 8 11 13 -0 1 2 4 6 7 8 11 14 -0 1 2 4 6 7 8 11 15 -0 1 2 4 6 7 8 12 13 -0 1 2 4 6 7 8 12 14 -0 1 2 4 6 7 8 12 15 -0 1 2 4 6 7 8 13 14 -0 1 2 4 6 7 8 13 15 -0 1 2 4 6 7 8 14 15 -0 1 2 4 6 7 9 10 11 -0 1 2 4 6 7 9 10 12 -0 1 2 4 6 7 9 10 13 -0 1 2 4 6 7 9 10 14 -0 1 2 4 6 7 9 10 15 -0 1 2 4 6 7 9 11 12 -0 1 2 4 6 7 9 11 13 -0 1 2 4 6 7 9 11 14 -0 1 2 4 6 7 9 11 15 -0 1 2 4 6 7 9 12 13 -0 1 2 4 6 7 9 12 14 -0 1 2 4 6 7 9 12 15 -0 1 2 4 6 7 9 13 14 -0 1 2 4 6 7 9 13 15 -0 1 2 4 6 7 9 14 15 -0 1 2 4 6 7 10 11 12 -0 1 2 4 6 7 10 11 13 -0 1 2 4 6 7 10 11 14 -0 1 2 4 6 7 10 11 15 -0 1 2 4 6 7 10 12 13 -0 1 2 4 6 7 10 12 14 -0 1 2 4 6 7 10 12 15 -0 1 2 4 6 7 10 13 14 -0 1 2 4 6 7 10 13 15 -0 1 2 4 6 7 10 14 15 -0 1 2 4 6 7 11 12 13 -0 1 2 4 6 7 11 12 14 -0 1 2 4 6 7 11 12 15 -0 1 2 4 6 7 11 13 14 -0 1 2 4 6 7 11 13 15 -0 1 2 4 6 7 11 14 15 -0 1 2 4 6 7 12 13 14 -0 1 2 4 6 7 12 13 15 -0 1 2 4 6 7 12 14 15 -0 1 2 4 6 7 13 14 15 -0 1 2 4 6 8 9 10 11 -0 1 2 4 6 8 9 10 12 -0 1 2 4 6 8 9 10 13 -0 1 2 4 6 8 9 10 14 -0 1 2 4 6 8 9 10 15 -0 1 2 4 6 8 9 11 12 -0 1 2 4 6 8 9 11 13 -0 1 2 4 6 8 9 11 14 -0 1 2 4 6 8 9 11 15 -0 1 2 4 6 8 9 12 13 -0 1 2 4 6 8 9 12 14 -0 1 2 4 6 8 9 12 15 -0 1 2 4 6 8 9 13 14 -0 1 2 4 6 8 9 13 15 -0 1 2 4 6 8 9 14 15 -0 1 2 4 6 8 10 11 12 -0 1 2 4 6 8 10 11 13 -0 1 2 4 6 8 10 11 14 -0 1 2 4 6 8 10 11 15 -0 1 2 4 6 8 10 12 13 -0 1 2 4 6 8 10 12 14 -0 1 2 4 6 8 10 12 15 -0 1 2 4 6 8 10 13 14 -0 1 2 4 6 8 10 13 15 -0 1 2 4 6 8 10 14 15 -0 1 2 4 6 8 11 12 13 -0 1 2 4 6 8 11 12 14 -0 1 2 4 6 8 11 12 15 -0 1 2 4 6 8 11 13 14 -0 1 2 4 6 8 11 13 15 -0 1 2 4 6 8 11 14 15 -0 1 2 4 6 8 12 13 14 -0 1 2 4 6 8 12 13 15 -0 1 2 4 6 8 12 14 15 -0 1 2 4 6 8 13 14 15 -0 1 2 4 6 9 10 11 12 -0 1 2 4 6 9 10 11 13 -0 1 2 4 6 9 10 11 14 -0 1 2 4 6 9 10 11 15 -0 1 2 4 6 9 10 12 13 -0 1 2 4 6 9 10 12 14 -0 1 2 4 6 9 10 12 15 -0 1 2 4 6 9 10 13 14 -0 1 2 4 6 9 10 13 15 -0 1 2 4 6 9 10 14 15 -0 1 2 4 6 9 11 12 13 -0 1 2 4 6 9 11 12 14 -0 1 2 4 6 9 11 12 15 -0 1 2 4 6 9 11 13 14 -0 1 2 4 6 9 11 13 15 -0 1 2 4 6 9 11 14 15 -0 1 2 4 6 9 12 13 14 -0 1 2 4 6 9 12 13 15 -0 1 2 4 6 9 12 14 15 -0 1 2 4 6 9 13 14 15 -0 1 2 4 6 10 11 12 13 -0 1 2 4 6 10 11 12 14 -0 1 2 4 6 10 11 12 15 -0 1 2 4 6 10 11 13 14 -0 1 2 4 6 10 11 13 15 -0 1 2 4 6 10 11 14 15 -0 1 2 4 6 10 12 13 14 -0 1 2 4 6 10 12 13 15 -0 1 2 4 6 10 12 14 15 -0 1 2 4 6 10 13 14 15 -0 1 2 4 6 11 12 13 14 -0 1 2 4 6 11 12 13 15 -0 1 2 4 6 11 12 14 15 -0 1 2 4 6 11 13 14 15 -0 1 2 4 6 12 13 14 15 -0 1 2 4 7 8 9 10 11 -0 1 2 4 7 8 9 10 12 -0 1 2 4 7 8 9 10 13 -0 1 2 4 7 8 9 10 14 -0 1 2 4 7 8 9 10 15 -0 1 2 4 7 8 9 11 12 -0 1 2 4 7 8 9 11 13 -0 1 2 4 7 8 9 11 14 -0 1 2 4 7 8 9 11 15 -0 1 2 4 7 8 9 12 13 -0 1 2 4 7 8 9 12 14 -0 1 2 4 7 8 9 12 15 -0 1 2 4 7 8 9 13 14 -0 1 2 4 7 8 9 13 15 -0 1 2 4 7 8 9 14 15 -0 1 2 4 7 8 10 11 12 -0 1 2 4 7 8 10 11 13 -0 1 2 4 7 8 10 11 14 -0 1 2 4 7 8 10 11 15 -0 1 2 4 7 8 10 12 13 -0 1 2 4 7 8 10 12 14 -0 1 2 4 7 8 10 12 15 -0 1 2 4 7 8 10 13 14 -0 1 2 4 7 8 10 13 15 -0 1 2 4 7 8 10 14 15 -0 1 2 4 7 8 11 12 13 -0 1 2 4 7 8 11 12 14 -0 1 2 4 7 8 11 12 15 -0 1 2 4 7 8 11 13 14 -0 1 2 4 7 8 11 13 15 -0 1 2 4 7 8 11 14 15 -0 1 2 4 7 8 12 13 14 -0 1 2 4 7 8 12 13 15 -0 1 2 4 7 8 12 14 15 -0 1 2 4 7 8 13 14 15 -0 1 2 4 7 9 10 11 12 -0 1 2 4 7 9 10 11 13 -0 1 2 4 7 9 10 11 14 -0 1 2 4 7 9 10 11 15 -0 1 2 4 7 9 10 12 13 -0 1 2 4 7 9 10 12 14 -0 1 2 4 7 9 10 12 15 -0 1 2 4 7 9 10 13 14 -0 1 2 4 7 9 10 13 15 -0 1 2 4 7 9 10 14 15 -0 1 2 4 7 9 11 12 13 -0 1 2 4 7 9 11 12 14 -0 1 2 4 7 9 11 12 15 -0 1 2 4 7 9 11 13 14 -0 1 2 4 7 9 11 13 15 -0 1 2 4 7 9 11 14 15 -0 1 2 4 7 9 12 13 14 -0 1 2 4 7 9 12 13 15 -0 1 2 4 7 9 12 14 15 -0 1 2 4 7 9 13 14 15 -0 1 2 4 7 10 11 12 13 -0 1 2 4 7 10 11 12 14 -0 1 2 4 7 10 11 12 15 -0 1 2 4 7 10 11 13 14 -0 1 2 4 7 10 11 13 15 -0 1 2 4 7 10 11 14 15 -0 1 2 4 7 10 12 13 14 -0 1 2 4 7 10 12 13 15 -0 1 2 4 7 10 12 14 15 -0 1 2 4 7 10 13 14 15 -0 1 2 4 7 11 12 13 14 -0 1 2 4 7 11 12 13 15 -0 1 2 4 7 11 12 14 15 -0 1 2 4 7 11 13 14 15 -0 1 2 4 7 12 13 14 15 -0 1 2 4 8 9 10 11 12 -0 1 2 4 8 9 10 11 13 -0 1 2 4 8 9 10 11 14 -0 1 2 4 8 9 10 11 15 -0 1 2 4 8 9 10 12 13 -0 1 2 4 8 9 10 12 14 -0 1 2 4 8 9 10 12 15 -0 1 2 4 8 9 10 13 14 -0 1 2 4 8 9 10 13 15 -0 1 2 4 8 9 10 14 15 -0 1 2 4 8 9 11 12 13 -0 1 2 4 8 9 11 12 14 -0 1 2 4 8 9 11 12 15 -0 1 2 4 8 9 11 13 14 -0 1 2 4 8 9 11 13 15 -0 1 2 4 8 9 11 14 15 -0 1 2 4 8 9 12 13 14 -0 1 2 4 8 9 12 13 15 -0 1 2 4 8 9 12 14 15 -0 1 2 4 8 9 13 14 15 -0 1 2 4 8 10 11 12 13 -0 1 2 4 8 10 11 12 14 -0 1 2 4 8 10 11 12 15 -0 1 2 4 8 10 11 13 14 -0 1 2 4 8 10 11 13 15 -0 1 2 4 8 10 11 14 15 -0 1 2 4 8 10 12 13 14 -0 1 2 4 8 10 12 13 15 -0 1 2 4 8 10 12 14 15 -0 1 2 4 8 10 13 14 15 -0 1 2 4 8 11 12 13 14 -0 1 2 4 8 11 12 13 15 -0 1 2 4 8 11 12 14 15 -0 1 2 4 8 11 13 14 15 -0 1 2 4 8 12 13 14 15 -0 1 2 4 9 10 11 12 13 -0 1 2 4 9 10 11 12 14 -0 1 2 4 9 10 11 12 15 -0 1 2 4 9 10 11 13 14 -0 1 2 4 9 10 11 13 15 -0 1 2 4 9 10 11 14 15 -0 1 2 4 9 10 12 13 14 -0 1 2 4 9 10 12 13 15 -0 1 2 4 9 10 12 14 15 -0 1 2 4 9 10 13 14 15 -0 1 2 4 9 11 12 13 14 -0 1 2 4 9 11 12 13 15 -0 1 2 4 9 11 12 14 15 -0 1 2 4 9 11 13 14 15 -0 1 2 4 9 12 13 14 15 -0 1 2 4 10 11 12 13 14 -0 1 2 4 10 11 12 13 15 -0 1 2 4 10 11 12 14 15 -0 1 2 4 10 11 13 14 15 -0 1 2 4 10 12 13 14 15 -0 1 2 4 11 12 13 14 15 -0 1 2 5 6 7 8 9 10 -0 1 2 5 6 7 8 9 11 -0 1 2 5 6 7 8 9 12 -0 1 2 5 6 7 8 9 13 -0 1 2 5 6 7 8 9 14 -0 1 2 5 6 7 8 9 15 -0 1 2 5 6 7 8 10 11 -0 1 2 5 6 7 8 10 12 -0 1 2 5 6 7 8 10 13 -0 1 2 5 6 7 8 10 14 -0 1 2 5 6 7 8 10 15 -0 1 2 5 6 7 8 11 12 -0 1 2 5 6 7 8 11 13 -0 1 2 5 6 7 8 11 14 -0 1 2 5 6 7 8 11 15 -0 1 2 5 6 7 8 12 13 -0 1 2 5 6 7 8 12 14 -0 1 2 5 6 7 8 12 15 -0 1 2 5 6 7 8 13 14 -0 1 2 5 6 7 8 13 15 -0 1 2 5 6 7 8 14 15 -0 1 2 5 6 7 9 10 11 -0 1 2 5 6 7 9 10 12 -0 1 2 5 6 7 9 10 13 -0 1 2 5 6 7 9 10 14 -0 1 2 5 6 7 9 10 15 -0 1 2 5 6 7 9 11 12 -0 1 2 5 6 7 9 11 13 -0 1 2 5 6 7 9 11 14 -0 1 2 5 6 7 9 11 15 -0 1 2 5 6 7 9 12 13 -0 1 2 5 6 7 9 12 14 -0 1 2 5 6 7 9 12 15 -0 1 2 5 6 7 9 13 14 -0 1 2 5 6 7 9 13 15 -0 1 2 5 6 7 9 14 15 -0 1 2 5 6 7 10 11 12 -0 1 2 5 6 7 10 11 13 -0 1 2 5 6 7 10 11 14 -0 1 2 5 6 7 10 11 15 -0 1 2 5 6 7 10 12 13 -0 1 2 5 6 7 10 12 14 -0 1 2 5 6 7 10 12 15 -0 1 2 5 6 7 10 13 14 -0 1 2 5 6 7 10 13 15 -0 1 2 5 6 7 10 14 15 -0 1 2 5 6 7 11 12 13 -0 1 2 5 6 7 11 12 14 -0 1 2 5 6 7 11 12 15 -0 1 2 5 6 7 11 13 14 -0 1 2 5 6 7 11 13 15 -0 1 2 5 6 7 11 14 15 -0 1 2 5 6 7 12 13 14 -0 1 2 5 6 7 12 13 15 -0 1 2 5 6 7 12 14 15 -0 1 2 5 6 7 13 14 15 -0 1 2 5 6 8 9 10 11 -0 1 2 5 6 8 9 10 12 -0 1 2 5 6 8 9 10 13 -0 1 2 5 6 8 9 10 14 -0 1 2 5 6 8 9 10 15 -0 1 2 5 6 8 9 11 12 -0 1 2 5 6 8 9 11 13 -0 1 2 5 6 8 9 11 14 -0 1 2 5 6 8 9 11 15 -0 1 2 5 6 8 9 12 13 -0 1 2 5 6 8 9 12 14 -0 1 2 5 6 8 9 12 15 -0 1 2 5 6 8 9 13 14 -0 1 2 5 6 8 9 13 15 -0 1 2 5 6 8 9 14 15 -0 1 2 5 6 8 10 11 12 -0 1 2 5 6 8 10 11 13 -0 1 2 5 6 8 10 11 14 -0 1 2 5 6 8 10 11 15 -0 1 2 5 6 8 10 12 13 -0 1 2 5 6 8 10 12 14 -0 1 2 5 6 8 10 12 15 -0 1 2 5 6 8 10 13 14 -0 1 2 5 6 8 10 13 15 -0 1 2 5 6 8 10 14 15 -0 1 2 5 6 8 11 12 13 -0 1 2 5 6 8 11 12 14 -0 1 2 5 6 8 11 12 15 -0 1 2 5 6 8 11 13 14 -0 1 2 5 6 8 11 13 15 -0 1 2 5 6 8 11 14 15 -0 1 2 5 6 8 12 13 14 -0 1 2 5 6 8 12 13 15 -0 1 2 5 6 8 12 14 15 -0 1 2 5 6 8 13 14 15 -0 1 2 5 6 9 10 11 12 -0 1 2 5 6 9 10 11 13 -0 1 2 5 6 9 10 11 14 -0 1 2 5 6 9 10 11 15 -0 1 2 5 6 9 10 12 13 -0 1 2 5 6 9 10 12 14 -0 1 2 5 6 9 10 12 15 -0 1 2 5 6 9 10 13 14 -0 1 2 5 6 9 10 13 15 -0 1 2 5 6 9 10 14 15 -0 1 2 5 6 9 11 12 13 -0 1 2 5 6 9 11 12 14 -0 1 2 5 6 9 11 12 15 -0 1 2 5 6 9 11 13 14 -0 1 2 5 6 9 11 13 15 -0 1 2 5 6 9 11 14 15 -0 1 2 5 6 9 12 13 14 -0 1 2 5 6 9 12 13 15 -0 1 2 5 6 9 12 14 15 -0 1 2 5 6 9 13 14 15 -0 1 2 5 6 10 11 12 13 -0 1 2 5 6 10 11 12 14 -0 1 2 5 6 10 11 12 15 -0 1 2 5 6 10 11 13 14 -0 1 2 5 6 10 11 13 15 -0 1 2 5 6 10 11 14 15 -0 1 2 5 6 10 12 13 14 -0 1 2 5 6 10 12 13 15 -0 1 2 5 6 10 12 14 15 -0 1 2 5 6 10 13 14 15 -0 1 2 5 6 11 12 13 14 -0 1 2 5 6 11 12 13 15 -0 1 2 5 6 11 12 14 15 -0 1 2 5 6 11 13 14 15 -0 1 2 5 6 12 13 14 15 -0 1 2 5 7 8 9 10 11 -0 1 2 5 7 8 9 10 12 -0 1 2 5 7 8 9 10 13 -0 1 2 5 7 8 9 10 14 -0 1 2 5 7 8 9 10 15 -0 1 2 5 7 8 9 11 12 -0 1 2 5 7 8 9 11 13 -0 1 2 5 7 8 9 11 14 -0 1 2 5 7 8 9 11 15 -0 1 2 5 7 8 9 12 13 -0 1 2 5 7 8 9 12 14 -0 1 2 5 7 8 9 12 15 -0 1 2 5 7 8 9 13 14 -0 1 2 5 7 8 9 13 15 -0 1 2 5 7 8 9 14 15 -0 1 2 5 7 8 10 11 12 -0 1 2 5 7 8 10 11 13 -0 1 2 5 7 8 10 11 14 -0 1 2 5 7 8 10 11 15 -0 1 2 5 7 8 10 12 13 -0 1 2 5 7 8 10 12 14 -0 1 2 5 7 8 10 12 15 -0 1 2 5 7 8 10 13 14 -0 1 2 5 7 8 10 13 15 -0 1 2 5 7 8 10 14 15 -0 1 2 5 7 8 11 12 13 -0 1 2 5 7 8 11 12 14 -0 1 2 5 7 8 11 12 15 -0 1 2 5 7 8 11 13 14 -0 1 2 5 7 8 11 13 15 -0 1 2 5 7 8 11 14 15 -0 1 2 5 7 8 12 13 14 -0 1 2 5 7 8 12 13 15 -0 1 2 5 7 8 12 14 15 -0 1 2 5 7 8 13 14 15 -0 1 2 5 7 9 10 11 12 -0 1 2 5 7 9 10 11 13 -0 1 2 5 7 9 10 11 14 -0 1 2 5 7 9 10 11 15 -0 1 2 5 7 9 10 12 13 -0 1 2 5 7 9 10 12 14 -0 1 2 5 7 9 10 12 15 -0 1 2 5 7 9 10 13 14 -0 1 2 5 7 9 10 13 15 -0 1 2 5 7 9 10 14 15 -0 1 2 5 7 9 11 12 13 -0 1 2 5 7 9 11 12 14 -0 1 2 5 7 9 11 12 15 -0 1 2 5 7 9 11 13 14 -0 1 2 5 7 9 11 13 15 -0 1 2 5 7 9 11 14 15 -0 1 2 5 7 9 12 13 14 -0 1 2 5 7 9 12 13 15 -0 1 2 5 7 9 12 14 15 -0 1 2 5 7 9 13 14 15 -0 1 2 5 7 10 11 12 13 -0 1 2 5 7 10 11 12 14 -0 1 2 5 7 10 11 12 15 -0 1 2 5 7 10 11 13 14 -0 1 2 5 7 10 11 13 15 -0 1 2 5 7 10 11 14 15 -0 1 2 5 7 10 12 13 14 -0 1 2 5 7 10 12 13 15 -0 1 2 5 7 10 12 14 15 -0 1 2 5 7 10 13 14 15 -0 1 2 5 7 11 12 13 14 -0 1 2 5 7 11 12 13 15 -0 1 2 5 7 11 12 14 15 -0 1 2 5 7 11 13 14 15 -0 1 2 5 7 12 13 14 15 -0 1 2 5 8 9 10 11 12 -0 1 2 5 8 9 10 11 13 -0 1 2 5 8 9 10 11 14 -0 1 2 5 8 9 10 11 15 -0 1 2 5 8 9 10 12 13 -0 1 2 5 8 9 10 12 14 -0 1 2 5 8 9 10 12 15 -0 1 2 5 8 9 10 13 14 -0 1 2 5 8 9 10 13 15 -0 1 2 5 8 9 10 14 15 -0 1 2 5 8 9 11 12 13 -0 1 2 5 8 9 11 12 14 -0 1 2 5 8 9 11 12 15 -0 1 2 5 8 9 11 13 14 -0 1 2 5 8 9 11 13 15 -0 1 2 5 8 9 11 14 15 -0 1 2 5 8 9 12 13 14 -0 1 2 5 8 9 12 13 15 -0 1 2 5 8 9 12 14 15 -0 1 2 5 8 9 13 14 15 -0 1 2 5 8 10 11 12 13 -0 1 2 5 8 10 11 12 14 -0 1 2 5 8 10 11 12 15 -0 1 2 5 8 10 11 13 14 -0 1 2 5 8 10 11 13 15 -0 1 2 5 8 10 11 14 15 -0 1 2 5 8 10 12 13 14 -0 1 2 5 8 10 12 13 15 -0 1 2 5 8 10 12 14 15 -0 1 2 5 8 10 13 14 15 -0 1 2 5 8 11 12 13 14 -0 1 2 5 8 11 12 13 15 -0 1 2 5 8 11 12 14 15 -0 1 2 5 8 11 13 14 15 -0 1 2 5 8 12 13 14 15 -0 1 2 5 9 10 11 12 13 -0 1 2 5 9 10 11 12 14 -0 1 2 5 9 10 11 12 15 -0 1 2 5 9 10 11 13 14 -0 1 2 5 9 10 11 13 15 -0 1 2 5 9 10 11 14 15 -0 1 2 5 9 10 12 13 14 -0 1 2 5 9 10 12 13 15 -0 1 2 5 9 10 12 14 15 -0 1 2 5 9 10 13 14 15 -0 1 2 5 9 11 12 13 14 -0 1 2 5 9 11 12 13 15 -0 1 2 5 9 11 12 14 15 -0 1 2 5 9 11 13 14 15 -0 1 2 5 9 12 13 14 15 -0 1 2 5 10 11 12 13 14 -0 1 2 5 10 11 12 13 15 -0 1 2 5 10 11 12 14 15 -0 1 2 5 10 11 13 14 15 -0 1 2 5 10 12 13 14 15 -0 1 2 5 11 12 13 14 15 -0 1 2 6 7 8 9 10 11 -0 1 2 6 7 8 9 10 12 -0 1 2 6 7 8 9 10 13 -0 1 2 6 7 8 9 10 14 -0 1 2 6 7 8 9 10 15 -0 1 2 6 7 8 9 11 12 -0 1 2 6 7 8 9 11 13 -0 1 2 6 7 8 9 11 14 -0 1 2 6 7 8 9 11 15 -0 1 2 6 7 8 9 12 13 -0 1 2 6 7 8 9 12 14 -0 1 2 6 7 8 9 12 15 -0 1 2 6 7 8 9 13 14 -0 1 2 6 7 8 9 13 15 -0 1 2 6 7 8 9 14 15 -0 1 2 6 7 8 10 11 12 -0 1 2 6 7 8 10 11 13 -0 1 2 6 7 8 10 11 14 -0 1 2 6 7 8 10 11 15 -0 1 2 6 7 8 10 12 13 -0 1 2 6 7 8 10 12 14 -0 1 2 6 7 8 10 12 15 -0 1 2 6 7 8 10 13 14 -0 1 2 6 7 8 10 13 15 -0 1 2 6 7 8 10 14 15 -0 1 2 6 7 8 11 12 13 -0 1 2 6 7 8 11 12 14 -0 1 2 6 7 8 11 12 15 -0 1 2 6 7 8 11 13 14 -0 1 2 6 7 8 11 13 15 -0 1 2 6 7 8 11 14 15 -0 1 2 6 7 8 12 13 14 -0 1 2 6 7 8 12 13 15 -0 1 2 6 7 8 12 14 15 -0 1 2 6 7 8 13 14 15 -0 1 2 6 7 9 10 11 12 -0 1 2 6 7 9 10 11 13 -0 1 2 6 7 9 10 11 14 -0 1 2 6 7 9 10 11 15 -0 1 2 6 7 9 10 12 13 -0 1 2 6 7 9 10 12 14 -0 1 2 6 7 9 10 12 15 -0 1 2 6 7 9 10 13 14 -0 1 2 6 7 9 10 13 15 -0 1 2 6 7 9 10 14 15 -0 1 2 6 7 9 11 12 13 -0 1 2 6 7 9 11 12 14 -0 1 2 6 7 9 11 12 15 -0 1 2 6 7 9 11 13 14 -0 1 2 6 7 9 11 13 15 -0 1 2 6 7 9 11 14 15 -0 1 2 6 7 9 12 13 14 -0 1 2 6 7 9 12 13 15 -0 1 2 6 7 9 12 14 15 -0 1 2 6 7 9 13 14 15 -0 1 2 6 7 10 11 12 13 -0 1 2 6 7 10 11 12 14 -0 1 2 6 7 10 11 12 15 -0 1 2 6 7 10 11 13 14 -0 1 2 6 7 10 11 13 15 -0 1 2 6 7 10 11 14 15 -0 1 2 6 7 10 12 13 14 -0 1 2 6 7 10 12 13 15 -0 1 2 6 7 10 12 14 15 -0 1 2 6 7 10 13 14 15 -0 1 2 6 7 11 12 13 14 -0 1 2 6 7 11 12 13 15 -0 1 2 6 7 11 12 14 15 -0 1 2 6 7 11 13 14 15 -0 1 2 6 7 12 13 14 15 -0 1 2 6 8 9 10 11 12 -0 1 2 6 8 9 10 11 13 -0 1 2 6 8 9 10 11 14 -0 1 2 6 8 9 10 11 15 -0 1 2 6 8 9 10 12 13 -0 1 2 6 8 9 10 12 14 -0 1 2 6 8 9 10 12 15 -0 1 2 6 8 9 10 13 14 -0 1 2 6 8 9 10 13 15 -0 1 2 6 8 9 10 14 15 -0 1 2 6 8 9 11 12 13 -0 1 2 6 8 9 11 12 14 -0 1 2 6 8 9 11 12 15 -0 1 2 6 8 9 11 13 14 -0 1 2 6 8 9 11 13 15 -0 1 2 6 8 9 11 14 15 -0 1 2 6 8 9 12 13 14 -0 1 2 6 8 9 12 13 15 -0 1 2 6 8 9 12 14 15 -0 1 2 6 8 9 13 14 15 -0 1 2 6 8 10 11 12 13 -0 1 2 6 8 10 11 12 14 -0 1 2 6 8 10 11 12 15 -0 1 2 6 8 10 11 13 14 -0 1 2 6 8 10 11 13 15 -0 1 2 6 8 10 11 14 15 -0 1 2 6 8 10 12 13 14 -0 1 2 6 8 10 12 13 15 -0 1 2 6 8 10 12 14 15 -0 1 2 6 8 10 13 14 15 -0 1 2 6 8 11 12 13 14 -0 1 2 6 8 11 12 13 15 -0 1 2 6 8 11 12 14 15 -0 1 2 6 8 11 13 14 15 -0 1 2 6 8 12 13 14 15 -0 1 2 6 9 10 11 12 13 -0 1 2 6 9 10 11 12 14 -0 1 2 6 9 10 11 12 15 -0 1 2 6 9 10 11 13 14 -0 1 2 6 9 10 11 13 15 -0 1 2 6 9 10 11 14 15 -0 1 2 6 9 10 12 13 14 -0 1 2 6 9 10 12 13 15 -0 1 2 6 9 10 12 14 15 -0 1 2 6 9 10 13 14 15 -0 1 2 6 9 11 12 13 14 -0 1 2 6 9 11 12 13 15 -0 1 2 6 9 11 12 14 15 -0 1 2 6 9 11 13 14 15 -0 1 2 6 9 12 13 14 15 -0 1 2 6 10 11 12 13 14 -0 1 2 6 10 11 12 13 15 -0 1 2 6 10 11 12 14 15 -0 1 2 6 10 11 13 14 15 -0 1 2 6 10 12 13 14 15 -0 1 2 6 11 12 13 14 15 -0 1 2 7 8 9 10 11 12 -0 1 2 7 8 9 10 11 13 -0 1 2 7 8 9 10 11 14 -0 1 2 7 8 9 10 11 15 -0 1 2 7 8 9 10 12 13 -0 1 2 7 8 9 10 12 14 -0 1 2 7 8 9 10 12 15 -0 1 2 7 8 9 10 13 14 -0 1 2 7 8 9 10 13 15 -0 1 2 7 8 9 10 14 15 -0 1 2 7 8 9 11 12 13 -0 1 2 7 8 9 11 12 14 -0 1 2 7 8 9 11 12 15 -0 1 2 7 8 9 11 13 14 -0 1 2 7 8 9 11 13 15 -0 1 2 7 8 9 11 14 15 -0 1 2 7 8 9 12 13 14 -0 1 2 7 8 9 12 13 15 -0 1 2 7 8 9 12 14 15 -0 1 2 7 8 9 13 14 15 -0 1 2 7 8 10 11 12 13 -0 1 2 7 8 10 11 12 14 -0 1 2 7 8 10 11 12 15 -0 1 2 7 8 10 11 13 14 -0 1 2 7 8 10 11 13 15 -0 1 2 7 8 10 11 14 15 -0 1 2 7 8 10 12 13 14 -0 1 2 7 8 10 12 13 15 -0 1 2 7 8 10 12 14 15 -0 1 2 7 8 10 13 14 15 -0 1 2 7 8 11 12 13 14 -0 1 2 7 8 11 12 13 15 -0 1 2 7 8 11 12 14 15 -0 1 2 7 8 11 13 14 15 -0 1 2 7 8 12 13 14 15 -0 1 2 7 9 10 11 12 13 -0 1 2 7 9 10 11 12 14 -0 1 2 7 9 10 11 12 15 -0 1 2 7 9 10 11 13 14 -0 1 2 7 9 10 11 13 15 -0 1 2 7 9 10 11 14 15 -0 1 2 7 9 10 12 13 14 -0 1 2 7 9 10 12 13 15 -0 1 2 7 9 10 12 14 15 -0 1 2 7 9 10 13 14 15 -0 1 2 7 9 11 12 13 14 -0 1 2 7 9 11 12 13 15 -0 1 2 7 9 11 12 14 15 -0 1 2 7 9 11 13 14 15 -0 1 2 7 9 12 13 14 15 -0 1 2 7 10 11 12 13 14 -0 1 2 7 10 11 12 13 15 -0 1 2 7 10 11 12 14 15 -0 1 2 7 10 11 13 14 15 -0 1 2 7 10 12 13 14 15 -0 1 2 7 11 12 13 14 15 -0 1 2 8 9 10 11 12 13 -0 1 2 8 9 10 11 12 14 -0 1 2 8 9 10 11 12 15 -0 1 2 8 9 10 11 13 14 -0 1 2 8 9 10 11 13 15 -0 1 2 8 9 10 11 14 15 -0 1 2 8 9 10 12 13 14 -0 1 2 8 9 10 12 13 15 -0 1 2 8 9 10 12 14 15 -0 1 2 8 9 10 13 14 15 -0 1 2 8 9 11 12 13 14 -0 1 2 8 9 11 12 13 15 -0 1 2 8 9 11 12 14 15 -0 1 2 8 9 11 13 14 15 -0 1 2 8 9 12 13 14 15 -0 1 2 8 10 11 12 13 14 -0 1 2 8 10 11 12 13 15 -0 1 2 8 10 11 12 14 15 -0 1 2 8 10 11 13 14 15 -0 1 2 8 10 12 13 14 15 -0 1 2 8 11 12 13 14 15 -0 1 2 9 10 11 12 13 14 -0 1 2 9 10 11 12 13 15 -0 1 2 9 10 11 12 14 15 -0 1 2 9 10 11 13 14 15 -0 1 2 9 10 12 13 14 15 -0 1 2 9 11 12 13 14 15 -0 1 2 10 11 12 13 14 15 -0 1 3 4 5 6 7 8 9 -0 1 3 4 5 6 7 8 10 -0 1 3 4 5 6 7 8 11 -0 1 3 4 5 6 7 8 12 -0 1 3 4 5 6 7 8 13 -0 1 3 4 5 6 7 8 14 -0 1 3 4 5 6 7 8 15 -0 1 3 4 5 6 7 9 10 -0 1 3 4 5 6 7 9 11 -0 1 3 4 5 6 7 9 12 -0 1 3 4 5 6 7 9 13 -0 1 3 4 5 6 7 9 14 -0 1 3 4 5 6 7 9 15 -0 1 3 4 5 6 7 10 11 -0 1 3 4 5 6 7 10 12 -0 1 3 4 5 6 7 10 13 -0 1 3 4 5 6 7 10 14 -0 1 3 4 5 6 7 10 15 -0 1 3 4 5 6 7 11 12 -0 1 3 4 5 6 7 11 13 -0 1 3 4 5 6 7 11 14 -0 1 3 4 5 6 7 11 15 -0 1 3 4 5 6 7 12 13 -0 1 3 4 5 6 7 12 14 -0 1 3 4 5 6 7 12 15 -0 1 3 4 5 6 7 13 14 -0 1 3 4 5 6 7 13 15 -0 1 3 4 5 6 7 14 15 -0 1 3 4 5 6 8 9 10 -0 1 3 4 5 6 8 9 11 -0 1 3 4 5 6 8 9 12 -0 1 3 4 5 6 8 9 13 -0 1 3 4 5 6 8 9 14 -0 1 3 4 5 6 8 9 15 -0 1 3 4 5 6 8 10 11 -0 1 3 4 5 6 8 10 12 -0 1 3 4 5 6 8 10 13 -0 1 3 4 5 6 8 10 14 -0 1 3 4 5 6 8 10 15 -0 1 3 4 5 6 8 11 12 -0 1 3 4 5 6 8 11 13 -0 1 3 4 5 6 8 11 14 -0 1 3 4 5 6 8 11 15 -0 1 3 4 5 6 8 12 13 -0 1 3 4 5 6 8 12 14 -0 1 3 4 5 6 8 12 15 -0 1 3 4 5 6 8 13 14 -0 1 3 4 5 6 8 13 15 -0 1 3 4 5 6 8 14 15 -0 1 3 4 5 6 9 10 11 -0 1 3 4 5 6 9 10 12 -0 1 3 4 5 6 9 10 13 -0 1 3 4 5 6 9 10 14 -0 1 3 4 5 6 9 10 15 -0 1 3 4 5 6 9 11 12 -0 1 3 4 5 6 9 11 13 -0 1 3 4 5 6 9 11 14 -0 1 3 4 5 6 9 11 15 -0 1 3 4 5 6 9 12 13 -0 1 3 4 5 6 9 12 14 -0 1 3 4 5 6 9 12 15 -0 1 3 4 5 6 9 13 14 -0 1 3 4 5 6 9 13 15 -0 1 3 4 5 6 9 14 15 -0 1 3 4 5 6 10 11 12 -0 1 3 4 5 6 10 11 13 -0 1 3 4 5 6 10 11 14 -0 1 3 4 5 6 10 11 15 -0 1 3 4 5 6 10 12 13 -0 1 3 4 5 6 10 12 14 -0 1 3 4 5 6 10 12 15 -0 1 3 4 5 6 10 13 14 -0 1 3 4 5 6 10 13 15 -0 1 3 4 5 6 10 14 15 -0 1 3 4 5 6 11 12 13 -0 1 3 4 5 6 11 12 14 -0 1 3 4 5 6 11 12 15 -0 1 3 4 5 6 11 13 14 -0 1 3 4 5 6 11 13 15 -0 1 3 4 5 6 11 14 15 -0 1 3 4 5 6 12 13 14 -0 1 3 4 5 6 12 13 15 -0 1 3 4 5 6 12 14 15 -0 1 3 4 5 6 13 14 15 -0 1 3 4 5 7 8 9 10 -0 1 3 4 5 7 8 9 11 -0 1 3 4 5 7 8 9 12 -0 1 3 4 5 7 8 9 13 -0 1 3 4 5 7 8 9 14 -0 1 3 4 5 7 8 9 15 -0 1 3 4 5 7 8 10 11 -0 1 3 4 5 7 8 10 12 -0 1 3 4 5 7 8 10 13 -0 1 3 4 5 7 8 10 14 -0 1 3 4 5 7 8 10 15 -0 1 3 4 5 7 8 11 12 -0 1 3 4 5 7 8 11 13 -0 1 3 4 5 7 8 11 14 -0 1 3 4 5 7 8 11 15 -0 1 3 4 5 7 8 12 13 -0 1 3 4 5 7 8 12 14 -0 1 3 4 5 7 8 12 15 -0 1 3 4 5 7 8 13 14 -0 1 3 4 5 7 8 13 15 -0 1 3 4 5 7 8 14 15 -0 1 3 4 5 7 9 10 11 -0 1 3 4 5 7 9 10 12 -0 1 3 4 5 7 9 10 13 -0 1 3 4 5 7 9 10 14 -0 1 3 4 5 7 9 10 15 -0 1 3 4 5 7 9 11 12 -0 1 3 4 5 7 9 11 13 -0 1 3 4 5 7 9 11 14 -0 1 3 4 5 7 9 11 15 -0 1 3 4 5 7 9 12 13 -0 1 3 4 5 7 9 12 14 -0 1 3 4 5 7 9 12 15 -0 1 3 4 5 7 9 13 14 -0 1 3 4 5 7 9 13 15 -0 1 3 4 5 7 9 14 15 -0 1 3 4 5 7 10 11 12 -0 1 3 4 5 7 10 11 13 -0 1 3 4 5 7 10 11 14 -0 1 3 4 5 7 10 11 15 -0 1 3 4 5 7 10 12 13 -0 1 3 4 5 7 10 12 14 -0 1 3 4 5 7 10 12 15 -0 1 3 4 5 7 10 13 14 -0 1 3 4 5 7 10 13 15 -0 1 3 4 5 7 10 14 15 -0 1 3 4 5 7 11 12 13 -0 1 3 4 5 7 11 12 14 -0 1 3 4 5 7 11 12 15 -0 1 3 4 5 7 11 13 14 -0 1 3 4 5 7 11 13 15 -0 1 3 4 5 7 11 14 15 -0 1 3 4 5 7 12 13 14 -0 1 3 4 5 7 12 13 15 -0 1 3 4 5 7 12 14 15 -0 1 3 4 5 7 13 14 15 -0 1 3 4 5 8 9 10 11 -0 1 3 4 5 8 9 10 12 -0 1 3 4 5 8 9 10 13 -0 1 3 4 5 8 9 10 14 -0 1 3 4 5 8 9 10 15 -0 1 3 4 5 8 9 11 12 -0 1 3 4 5 8 9 11 13 -0 1 3 4 5 8 9 11 14 -0 1 3 4 5 8 9 11 15 -0 1 3 4 5 8 9 12 13 -0 1 3 4 5 8 9 12 14 -0 1 3 4 5 8 9 12 15 -0 1 3 4 5 8 9 13 14 -0 1 3 4 5 8 9 13 15 -0 1 3 4 5 8 9 14 15 -0 1 3 4 5 8 10 11 12 -0 1 3 4 5 8 10 11 13 -0 1 3 4 5 8 10 11 14 -0 1 3 4 5 8 10 11 15 -0 1 3 4 5 8 10 12 13 -0 1 3 4 5 8 10 12 14 -0 1 3 4 5 8 10 12 15 -0 1 3 4 5 8 10 13 14 -0 1 3 4 5 8 10 13 15 -0 1 3 4 5 8 10 14 15 -0 1 3 4 5 8 11 12 13 -0 1 3 4 5 8 11 12 14 -0 1 3 4 5 8 11 12 15 -0 1 3 4 5 8 11 13 14 -0 1 3 4 5 8 11 13 15 -0 1 3 4 5 8 11 14 15 -0 1 3 4 5 8 12 13 14 -0 1 3 4 5 8 12 13 15 -0 1 3 4 5 8 12 14 15 -0 1 3 4 5 8 13 14 15 -0 1 3 4 5 9 10 11 12 -0 1 3 4 5 9 10 11 13 -0 1 3 4 5 9 10 11 14 -0 1 3 4 5 9 10 11 15 -0 1 3 4 5 9 10 12 13 -0 1 3 4 5 9 10 12 14 -0 1 3 4 5 9 10 12 15 -0 1 3 4 5 9 10 13 14 -0 1 3 4 5 9 10 13 15 -0 1 3 4 5 9 10 14 15 -0 1 3 4 5 9 11 12 13 -0 1 3 4 5 9 11 12 14 -0 1 3 4 5 9 11 12 15 -0 1 3 4 5 9 11 13 14 -0 1 3 4 5 9 11 13 15 -0 1 3 4 5 9 11 14 15 -0 1 3 4 5 9 12 13 14 -0 1 3 4 5 9 12 13 15 -0 1 3 4 5 9 12 14 15 -0 1 3 4 5 9 13 14 15 -0 1 3 4 5 10 11 12 13 -0 1 3 4 5 10 11 12 14 -0 1 3 4 5 10 11 12 15 -0 1 3 4 5 10 11 13 14 -0 1 3 4 5 10 11 13 15 -0 1 3 4 5 10 11 14 15 -0 1 3 4 5 10 12 13 14 -0 1 3 4 5 10 12 13 15 -0 1 3 4 5 10 12 14 15 -0 1 3 4 5 10 13 14 15 -0 1 3 4 5 11 12 13 14 -0 1 3 4 5 11 12 13 15 -0 1 3 4 5 11 12 14 15 -0 1 3 4 5 11 13 14 15 -0 1 3 4 5 12 13 14 15 -0 1 3 4 6 7 8 9 10 -0 1 3 4 6 7 8 9 11 -0 1 3 4 6 7 8 9 12 -0 1 3 4 6 7 8 9 13 -0 1 3 4 6 7 8 9 14 -0 1 3 4 6 7 8 9 15 -0 1 3 4 6 7 8 10 11 -0 1 3 4 6 7 8 10 12 -0 1 3 4 6 7 8 10 13 -0 1 3 4 6 7 8 10 14 -0 1 3 4 6 7 8 10 15 -0 1 3 4 6 7 8 11 12 -0 1 3 4 6 7 8 11 13 -0 1 3 4 6 7 8 11 14 -0 1 3 4 6 7 8 11 15 -0 1 3 4 6 7 8 12 13 -0 1 3 4 6 7 8 12 14 -0 1 3 4 6 7 8 12 15 -0 1 3 4 6 7 8 13 14 -0 1 3 4 6 7 8 13 15 -0 1 3 4 6 7 8 14 15 -0 1 3 4 6 7 9 10 11 -0 1 3 4 6 7 9 10 12 -0 1 3 4 6 7 9 10 13 -0 1 3 4 6 7 9 10 14 -0 1 3 4 6 7 9 10 15 -0 1 3 4 6 7 9 11 12 -0 1 3 4 6 7 9 11 13 -0 1 3 4 6 7 9 11 14 -0 1 3 4 6 7 9 11 15 -0 1 3 4 6 7 9 12 13 -0 1 3 4 6 7 9 12 14 -0 1 3 4 6 7 9 12 15 -0 1 3 4 6 7 9 13 14 -0 1 3 4 6 7 9 13 15 -0 1 3 4 6 7 9 14 15 -0 1 3 4 6 7 10 11 12 -0 1 3 4 6 7 10 11 13 -0 1 3 4 6 7 10 11 14 -0 1 3 4 6 7 10 11 15 -0 1 3 4 6 7 10 12 13 -0 1 3 4 6 7 10 12 14 -0 1 3 4 6 7 10 12 15 -0 1 3 4 6 7 10 13 14 -0 1 3 4 6 7 10 13 15 -0 1 3 4 6 7 10 14 15 -0 1 3 4 6 7 11 12 13 -0 1 3 4 6 7 11 12 14 -0 1 3 4 6 7 11 12 15 -0 1 3 4 6 7 11 13 14 -0 1 3 4 6 7 11 13 15 -0 1 3 4 6 7 11 14 15 -0 1 3 4 6 7 12 13 14 -0 1 3 4 6 7 12 13 15 -0 1 3 4 6 7 12 14 15 -0 1 3 4 6 7 13 14 15 -0 1 3 4 6 8 9 10 11 -0 1 3 4 6 8 9 10 12 -0 1 3 4 6 8 9 10 13 -0 1 3 4 6 8 9 10 14 -0 1 3 4 6 8 9 10 15 -0 1 3 4 6 8 9 11 12 -0 1 3 4 6 8 9 11 13 -0 1 3 4 6 8 9 11 14 -0 1 3 4 6 8 9 11 15 -0 1 3 4 6 8 9 12 13 -0 1 3 4 6 8 9 12 14 -0 1 3 4 6 8 9 12 15 -0 1 3 4 6 8 9 13 14 -0 1 3 4 6 8 9 13 15 -0 1 3 4 6 8 9 14 15 -0 1 3 4 6 8 10 11 12 -0 1 3 4 6 8 10 11 13 -0 1 3 4 6 8 10 11 14 -0 1 3 4 6 8 10 11 15 -0 1 3 4 6 8 10 12 13 -0 1 3 4 6 8 10 12 14 -0 1 3 4 6 8 10 12 15 -0 1 3 4 6 8 10 13 14 -0 1 3 4 6 8 10 13 15 -0 1 3 4 6 8 10 14 15 -0 1 3 4 6 8 11 12 13 -0 1 3 4 6 8 11 12 14 -0 1 3 4 6 8 11 12 15 -0 1 3 4 6 8 11 13 14 -0 1 3 4 6 8 11 13 15 -0 1 3 4 6 8 11 14 15 -0 1 3 4 6 8 12 13 14 -0 1 3 4 6 8 12 13 15 -0 1 3 4 6 8 12 14 15 -0 1 3 4 6 8 13 14 15 -0 1 3 4 6 9 10 11 12 -0 1 3 4 6 9 10 11 13 -0 1 3 4 6 9 10 11 14 -0 1 3 4 6 9 10 11 15 -0 1 3 4 6 9 10 12 13 -0 1 3 4 6 9 10 12 14 -0 1 3 4 6 9 10 12 15 -0 1 3 4 6 9 10 13 14 -0 1 3 4 6 9 10 13 15 -0 1 3 4 6 9 10 14 15 -0 1 3 4 6 9 11 12 13 -0 1 3 4 6 9 11 12 14 -0 1 3 4 6 9 11 12 15 -0 1 3 4 6 9 11 13 14 -0 1 3 4 6 9 11 13 15 -0 1 3 4 6 9 11 14 15 -0 1 3 4 6 9 12 13 14 -0 1 3 4 6 9 12 13 15 -0 1 3 4 6 9 12 14 15 -0 1 3 4 6 9 13 14 15 -0 1 3 4 6 10 11 12 13 -0 1 3 4 6 10 11 12 14 -0 1 3 4 6 10 11 12 15 -0 1 3 4 6 10 11 13 14 -0 1 3 4 6 10 11 13 15 -0 1 3 4 6 10 11 14 15 -0 1 3 4 6 10 12 13 14 -0 1 3 4 6 10 12 13 15 -0 1 3 4 6 10 12 14 15 -0 1 3 4 6 10 13 14 15 -0 1 3 4 6 11 12 13 14 -0 1 3 4 6 11 12 13 15 -0 1 3 4 6 11 12 14 15 -0 1 3 4 6 11 13 14 15 -0 1 3 4 6 12 13 14 15 -0 1 3 4 7 8 9 10 11 -0 1 3 4 7 8 9 10 12 -0 1 3 4 7 8 9 10 13 -0 1 3 4 7 8 9 10 14 -0 1 3 4 7 8 9 10 15 -0 1 3 4 7 8 9 11 12 -0 1 3 4 7 8 9 11 13 -0 1 3 4 7 8 9 11 14 -0 1 3 4 7 8 9 11 15 -0 1 3 4 7 8 9 12 13 -0 1 3 4 7 8 9 12 14 -0 1 3 4 7 8 9 12 15 -0 1 3 4 7 8 9 13 14 -0 1 3 4 7 8 9 13 15 -0 1 3 4 7 8 9 14 15 -0 1 3 4 7 8 10 11 12 -0 1 3 4 7 8 10 11 13 -0 1 3 4 7 8 10 11 14 -0 1 3 4 7 8 10 11 15 -0 1 3 4 7 8 10 12 13 -0 1 3 4 7 8 10 12 14 -0 1 3 4 7 8 10 12 15 -0 1 3 4 7 8 10 13 14 -0 1 3 4 7 8 10 13 15 -0 1 3 4 7 8 10 14 15 -0 1 3 4 7 8 11 12 13 -0 1 3 4 7 8 11 12 14 -0 1 3 4 7 8 11 12 15 -0 1 3 4 7 8 11 13 14 -0 1 3 4 7 8 11 13 15 -0 1 3 4 7 8 11 14 15 -0 1 3 4 7 8 12 13 14 -0 1 3 4 7 8 12 13 15 -0 1 3 4 7 8 12 14 15 -0 1 3 4 7 8 13 14 15 -0 1 3 4 7 9 10 11 12 -0 1 3 4 7 9 10 11 13 -0 1 3 4 7 9 10 11 14 -0 1 3 4 7 9 10 11 15 -0 1 3 4 7 9 10 12 13 -0 1 3 4 7 9 10 12 14 -0 1 3 4 7 9 10 12 15 -0 1 3 4 7 9 10 13 14 -0 1 3 4 7 9 10 13 15 -0 1 3 4 7 9 10 14 15 -0 1 3 4 7 9 11 12 13 -0 1 3 4 7 9 11 12 14 -0 1 3 4 7 9 11 12 15 -0 1 3 4 7 9 11 13 14 -0 1 3 4 7 9 11 13 15 -0 1 3 4 7 9 11 14 15 -0 1 3 4 7 9 12 13 14 -0 1 3 4 7 9 12 13 15 -0 1 3 4 7 9 12 14 15 -0 1 3 4 7 9 13 14 15 -0 1 3 4 7 10 11 12 13 -0 1 3 4 7 10 11 12 14 -0 1 3 4 7 10 11 12 15 -0 1 3 4 7 10 11 13 14 -0 1 3 4 7 10 11 13 15 -0 1 3 4 7 10 11 14 15 -0 1 3 4 7 10 12 13 14 -0 1 3 4 7 10 12 13 15 -0 1 3 4 7 10 12 14 15 -0 1 3 4 7 10 13 14 15 -0 1 3 4 7 11 12 13 14 -0 1 3 4 7 11 12 13 15 -0 1 3 4 7 11 12 14 15 -0 1 3 4 7 11 13 14 15 -0 1 3 4 7 12 13 14 15 -0 1 3 4 8 9 10 11 12 -0 1 3 4 8 9 10 11 13 -0 1 3 4 8 9 10 11 14 -0 1 3 4 8 9 10 11 15 -0 1 3 4 8 9 10 12 13 -0 1 3 4 8 9 10 12 14 -0 1 3 4 8 9 10 12 15 -0 1 3 4 8 9 10 13 14 -0 1 3 4 8 9 10 13 15 -0 1 3 4 8 9 10 14 15 -0 1 3 4 8 9 11 12 13 -0 1 3 4 8 9 11 12 14 -0 1 3 4 8 9 11 12 15 -0 1 3 4 8 9 11 13 14 -0 1 3 4 8 9 11 13 15 -0 1 3 4 8 9 11 14 15 -0 1 3 4 8 9 12 13 14 -0 1 3 4 8 9 12 13 15 -0 1 3 4 8 9 12 14 15 -0 1 3 4 8 9 13 14 15 -0 1 3 4 8 10 11 12 13 -0 1 3 4 8 10 11 12 14 -0 1 3 4 8 10 11 12 15 -0 1 3 4 8 10 11 13 14 -0 1 3 4 8 10 11 13 15 -0 1 3 4 8 10 11 14 15 -0 1 3 4 8 10 12 13 14 -0 1 3 4 8 10 12 13 15 -0 1 3 4 8 10 12 14 15 -0 1 3 4 8 10 13 14 15 -0 1 3 4 8 11 12 13 14 -0 1 3 4 8 11 12 13 15 -0 1 3 4 8 11 12 14 15 -0 1 3 4 8 11 13 14 15 -0 1 3 4 8 12 13 14 15 -0 1 3 4 9 10 11 12 13 -0 1 3 4 9 10 11 12 14 -0 1 3 4 9 10 11 12 15 -0 1 3 4 9 10 11 13 14 -0 1 3 4 9 10 11 13 15 -0 1 3 4 9 10 11 14 15 -0 1 3 4 9 10 12 13 14 -0 1 3 4 9 10 12 13 15 -0 1 3 4 9 10 12 14 15 -0 1 3 4 9 10 13 14 15 -0 1 3 4 9 11 12 13 14 -0 1 3 4 9 11 12 13 15 -0 1 3 4 9 11 12 14 15 -0 1 3 4 9 11 13 14 15 -0 1 3 4 9 12 13 14 15 -0 1 3 4 10 11 12 13 14 -0 1 3 4 10 11 12 13 15 -0 1 3 4 10 11 12 14 15 -0 1 3 4 10 11 13 14 15 -0 1 3 4 10 12 13 14 15 -0 1 3 4 11 12 13 14 15 -0 1 3 5 6 7 8 9 10 -0 1 3 5 6 7 8 9 11 -0 1 3 5 6 7 8 9 12 -0 1 3 5 6 7 8 9 13 -0 1 3 5 6 7 8 9 14 -0 1 3 5 6 7 8 9 15 -0 1 3 5 6 7 8 10 11 -0 1 3 5 6 7 8 10 12 -0 1 3 5 6 7 8 10 13 -0 1 3 5 6 7 8 10 14 -0 1 3 5 6 7 8 10 15 -0 1 3 5 6 7 8 11 12 -0 1 3 5 6 7 8 11 13 -0 1 3 5 6 7 8 11 14 -0 1 3 5 6 7 8 11 15 -0 1 3 5 6 7 8 12 13 -0 1 3 5 6 7 8 12 14 -0 1 3 5 6 7 8 12 15 -0 1 3 5 6 7 8 13 14 -0 1 3 5 6 7 8 13 15 -0 1 3 5 6 7 8 14 15 -0 1 3 5 6 7 9 10 11 -0 1 3 5 6 7 9 10 12 -0 1 3 5 6 7 9 10 13 -0 1 3 5 6 7 9 10 14 -0 1 3 5 6 7 9 10 15 -0 1 3 5 6 7 9 11 12 -0 1 3 5 6 7 9 11 13 -0 1 3 5 6 7 9 11 14 -0 1 3 5 6 7 9 11 15 -0 1 3 5 6 7 9 12 13 -0 1 3 5 6 7 9 12 14 -0 1 3 5 6 7 9 12 15 -0 1 3 5 6 7 9 13 14 -0 1 3 5 6 7 9 13 15 -0 1 3 5 6 7 9 14 15 -0 1 3 5 6 7 10 11 12 -0 1 3 5 6 7 10 11 13 -0 1 3 5 6 7 10 11 14 -0 1 3 5 6 7 10 11 15 -0 1 3 5 6 7 10 12 13 -0 1 3 5 6 7 10 12 14 -0 1 3 5 6 7 10 12 15 -0 1 3 5 6 7 10 13 14 -0 1 3 5 6 7 10 13 15 -0 1 3 5 6 7 10 14 15 -0 1 3 5 6 7 11 12 13 -0 1 3 5 6 7 11 12 14 -0 1 3 5 6 7 11 12 15 -0 1 3 5 6 7 11 13 14 -0 1 3 5 6 7 11 13 15 -0 1 3 5 6 7 11 14 15 -0 1 3 5 6 7 12 13 14 -0 1 3 5 6 7 12 13 15 -0 1 3 5 6 7 12 14 15 -0 1 3 5 6 7 13 14 15 -0 1 3 5 6 8 9 10 11 -0 1 3 5 6 8 9 10 12 -0 1 3 5 6 8 9 10 13 -0 1 3 5 6 8 9 10 14 -0 1 3 5 6 8 9 10 15 -0 1 3 5 6 8 9 11 12 -0 1 3 5 6 8 9 11 13 -0 1 3 5 6 8 9 11 14 -0 1 3 5 6 8 9 11 15 -0 1 3 5 6 8 9 12 13 -0 1 3 5 6 8 9 12 14 -0 1 3 5 6 8 9 12 15 -0 1 3 5 6 8 9 13 14 -0 1 3 5 6 8 9 13 15 -0 1 3 5 6 8 9 14 15 -0 1 3 5 6 8 10 11 12 -0 1 3 5 6 8 10 11 13 -0 1 3 5 6 8 10 11 14 -0 1 3 5 6 8 10 11 15 -0 1 3 5 6 8 10 12 13 -0 1 3 5 6 8 10 12 14 -0 1 3 5 6 8 10 12 15 -0 1 3 5 6 8 10 13 14 -0 1 3 5 6 8 10 13 15 -0 1 3 5 6 8 10 14 15 -0 1 3 5 6 8 11 12 13 -0 1 3 5 6 8 11 12 14 -0 1 3 5 6 8 11 12 15 -0 1 3 5 6 8 11 13 14 -0 1 3 5 6 8 11 13 15 -0 1 3 5 6 8 11 14 15 -0 1 3 5 6 8 12 13 14 -0 1 3 5 6 8 12 13 15 -0 1 3 5 6 8 12 14 15 -0 1 3 5 6 8 13 14 15 -0 1 3 5 6 9 10 11 12 -0 1 3 5 6 9 10 11 13 -0 1 3 5 6 9 10 11 14 -0 1 3 5 6 9 10 11 15 -0 1 3 5 6 9 10 12 13 -0 1 3 5 6 9 10 12 14 -0 1 3 5 6 9 10 12 15 -0 1 3 5 6 9 10 13 14 -0 1 3 5 6 9 10 13 15 -0 1 3 5 6 9 10 14 15 -0 1 3 5 6 9 11 12 13 -0 1 3 5 6 9 11 12 14 -0 1 3 5 6 9 11 12 15 -0 1 3 5 6 9 11 13 14 -0 1 3 5 6 9 11 13 15 -0 1 3 5 6 9 11 14 15 -0 1 3 5 6 9 12 13 14 -0 1 3 5 6 9 12 13 15 -0 1 3 5 6 9 12 14 15 -0 1 3 5 6 9 13 14 15 -0 1 3 5 6 10 11 12 13 -0 1 3 5 6 10 11 12 14 -0 1 3 5 6 10 11 12 15 -0 1 3 5 6 10 11 13 14 -0 1 3 5 6 10 11 13 15 -0 1 3 5 6 10 11 14 15 -0 1 3 5 6 10 12 13 14 -0 1 3 5 6 10 12 13 15 -0 1 3 5 6 10 12 14 15 -0 1 3 5 6 10 13 14 15 -0 1 3 5 6 11 12 13 14 -0 1 3 5 6 11 12 13 15 -0 1 3 5 6 11 12 14 15 -0 1 3 5 6 11 13 14 15 -0 1 3 5 6 12 13 14 15 -0 1 3 5 7 8 9 10 11 -0 1 3 5 7 8 9 10 12 -0 1 3 5 7 8 9 10 13 -0 1 3 5 7 8 9 10 14 -0 1 3 5 7 8 9 10 15 -0 1 3 5 7 8 9 11 12 -0 1 3 5 7 8 9 11 13 -0 1 3 5 7 8 9 11 14 -0 1 3 5 7 8 9 11 15 -0 1 3 5 7 8 9 12 13 -0 1 3 5 7 8 9 12 14 -0 1 3 5 7 8 9 12 15 -0 1 3 5 7 8 9 13 14 -0 1 3 5 7 8 9 13 15 -0 1 3 5 7 8 9 14 15 -0 1 3 5 7 8 10 11 12 -0 1 3 5 7 8 10 11 13 -0 1 3 5 7 8 10 11 14 -0 1 3 5 7 8 10 11 15 -0 1 3 5 7 8 10 12 13 -0 1 3 5 7 8 10 12 14 -0 1 3 5 7 8 10 12 15 -0 1 3 5 7 8 10 13 14 -0 1 3 5 7 8 10 13 15 -0 1 3 5 7 8 10 14 15 -0 1 3 5 7 8 11 12 13 -0 1 3 5 7 8 11 12 14 -0 1 3 5 7 8 11 12 15 -0 1 3 5 7 8 11 13 14 -0 1 3 5 7 8 11 13 15 -0 1 3 5 7 8 11 14 15 -0 1 3 5 7 8 12 13 14 -0 1 3 5 7 8 12 13 15 -0 1 3 5 7 8 12 14 15 -0 1 3 5 7 8 13 14 15 -0 1 3 5 7 9 10 11 12 -0 1 3 5 7 9 10 11 13 -0 1 3 5 7 9 10 11 14 -0 1 3 5 7 9 10 11 15 -0 1 3 5 7 9 10 12 13 -0 1 3 5 7 9 10 12 14 -0 1 3 5 7 9 10 12 15 -0 1 3 5 7 9 10 13 14 -0 1 3 5 7 9 10 13 15 -0 1 3 5 7 9 10 14 15 -0 1 3 5 7 9 11 12 13 -0 1 3 5 7 9 11 12 14 -0 1 3 5 7 9 11 12 15 -0 1 3 5 7 9 11 13 14 -0 1 3 5 7 9 11 13 15 -0 1 3 5 7 9 11 14 15 -0 1 3 5 7 9 12 13 14 -0 1 3 5 7 9 12 13 15 -0 1 3 5 7 9 12 14 15 -0 1 3 5 7 9 13 14 15 -0 1 3 5 7 10 11 12 13 -0 1 3 5 7 10 11 12 14 -0 1 3 5 7 10 11 12 15 -0 1 3 5 7 10 11 13 14 -0 1 3 5 7 10 11 13 15 -0 1 3 5 7 10 11 14 15 -0 1 3 5 7 10 12 13 14 -0 1 3 5 7 10 12 13 15 -0 1 3 5 7 10 12 14 15 -0 1 3 5 7 10 13 14 15 -0 1 3 5 7 11 12 13 14 -0 1 3 5 7 11 12 13 15 -0 1 3 5 7 11 12 14 15 -0 1 3 5 7 11 13 14 15 -0 1 3 5 7 12 13 14 15 -0 1 3 5 8 9 10 11 12 -0 1 3 5 8 9 10 11 13 -0 1 3 5 8 9 10 11 14 -0 1 3 5 8 9 10 11 15 -0 1 3 5 8 9 10 12 13 -0 1 3 5 8 9 10 12 14 -0 1 3 5 8 9 10 12 15 -0 1 3 5 8 9 10 13 14 -0 1 3 5 8 9 10 13 15 -0 1 3 5 8 9 10 14 15 -0 1 3 5 8 9 11 12 13 -0 1 3 5 8 9 11 12 14 -0 1 3 5 8 9 11 12 15 -0 1 3 5 8 9 11 13 14 -0 1 3 5 8 9 11 13 15 -0 1 3 5 8 9 11 14 15 -0 1 3 5 8 9 12 13 14 -0 1 3 5 8 9 12 13 15 -0 1 3 5 8 9 12 14 15 -0 1 3 5 8 9 13 14 15 -0 1 3 5 8 10 11 12 13 -0 1 3 5 8 10 11 12 14 -0 1 3 5 8 10 11 12 15 -0 1 3 5 8 10 11 13 14 -0 1 3 5 8 10 11 13 15 -0 1 3 5 8 10 11 14 15 -0 1 3 5 8 10 12 13 14 -0 1 3 5 8 10 12 13 15 -0 1 3 5 8 10 12 14 15 -0 1 3 5 8 10 13 14 15 -0 1 3 5 8 11 12 13 14 -0 1 3 5 8 11 12 13 15 -0 1 3 5 8 11 12 14 15 -0 1 3 5 8 11 13 14 15 -0 1 3 5 8 12 13 14 15 -0 1 3 5 9 10 11 12 13 -0 1 3 5 9 10 11 12 14 -0 1 3 5 9 10 11 12 15 -0 1 3 5 9 10 11 13 14 -0 1 3 5 9 10 11 13 15 -0 1 3 5 9 10 11 14 15 -0 1 3 5 9 10 12 13 14 -0 1 3 5 9 10 12 13 15 -0 1 3 5 9 10 12 14 15 -0 1 3 5 9 10 13 14 15 -0 1 3 5 9 11 12 13 14 -0 1 3 5 9 11 12 13 15 -0 1 3 5 9 11 12 14 15 -0 1 3 5 9 11 13 14 15 -0 1 3 5 9 12 13 14 15 -0 1 3 5 10 11 12 13 14 -0 1 3 5 10 11 12 13 15 -0 1 3 5 10 11 12 14 15 -0 1 3 5 10 11 13 14 15 -0 1 3 5 10 12 13 14 15 -0 1 3 5 11 12 13 14 15 -0 1 3 6 7 8 9 10 11 -0 1 3 6 7 8 9 10 12 -0 1 3 6 7 8 9 10 13 -0 1 3 6 7 8 9 10 14 -0 1 3 6 7 8 9 10 15 -0 1 3 6 7 8 9 11 12 -0 1 3 6 7 8 9 11 13 -0 1 3 6 7 8 9 11 14 -0 1 3 6 7 8 9 11 15 -0 1 3 6 7 8 9 12 13 -0 1 3 6 7 8 9 12 14 -0 1 3 6 7 8 9 12 15 -0 1 3 6 7 8 9 13 14 -0 1 3 6 7 8 9 13 15 -0 1 3 6 7 8 9 14 15 -0 1 3 6 7 8 10 11 12 -0 1 3 6 7 8 10 11 13 -0 1 3 6 7 8 10 11 14 -0 1 3 6 7 8 10 11 15 -0 1 3 6 7 8 10 12 13 -0 1 3 6 7 8 10 12 14 -0 1 3 6 7 8 10 12 15 -0 1 3 6 7 8 10 13 14 -0 1 3 6 7 8 10 13 15 -0 1 3 6 7 8 10 14 15 -0 1 3 6 7 8 11 12 13 -0 1 3 6 7 8 11 12 14 -0 1 3 6 7 8 11 12 15 -0 1 3 6 7 8 11 13 14 -0 1 3 6 7 8 11 13 15 -0 1 3 6 7 8 11 14 15 -0 1 3 6 7 8 12 13 14 -0 1 3 6 7 8 12 13 15 -0 1 3 6 7 8 12 14 15 -0 1 3 6 7 8 13 14 15 -0 1 3 6 7 9 10 11 12 -0 1 3 6 7 9 10 11 13 -0 1 3 6 7 9 10 11 14 -0 1 3 6 7 9 10 11 15 -0 1 3 6 7 9 10 12 13 -0 1 3 6 7 9 10 12 14 -0 1 3 6 7 9 10 12 15 -0 1 3 6 7 9 10 13 14 -0 1 3 6 7 9 10 13 15 -0 1 3 6 7 9 10 14 15 -0 1 3 6 7 9 11 12 13 -0 1 3 6 7 9 11 12 14 -0 1 3 6 7 9 11 12 15 -0 1 3 6 7 9 11 13 14 -0 1 3 6 7 9 11 13 15 -0 1 3 6 7 9 11 14 15 -0 1 3 6 7 9 12 13 14 -0 1 3 6 7 9 12 13 15 -0 1 3 6 7 9 12 14 15 -0 1 3 6 7 9 13 14 15 -0 1 3 6 7 10 11 12 13 -0 1 3 6 7 10 11 12 14 -0 1 3 6 7 10 11 12 15 -0 1 3 6 7 10 11 13 14 -0 1 3 6 7 10 11 13 15 -0 1 3 6 7 10 11 14 15 -0 1 3 6 7 10 12 13 14 -0 1 3 6 7 10 12 13 15 -0 1 3 6 7 10 12 14 15 -0 1 3 6 7 10 13 14 15 -0 1 3 6 7 11 12 13 14 -0 1 3 6 7 11 12 13 15 -0 1 3 6 7 11 12 14 15 -0 1 3 6 7 11 13 14 15 -0 1 3 6 7 12 13 14 15 -0 1 3 6 8 9 10 11 12 -0 1 3 6 8 9 10 11 13 -0 1 3 6 8 9 10 11 14 -0 1 3 6 8 9 10 11 15 -0 1 3 6 8 9 10 12 13 -0 1 3 6 8 9 10 12 14 -0 1 3 6 8 9 10 12 15 -0 1 3 6 8 9 10 13 14 -0 1 3 6 8 9 10 13 15 -0 1 3 6 8 9 10 14 15 -0 1 3 6 8 9 11 12 13 -0 1 3 6 8 9 11 12 14 -0 1 3 6 8 9 11 12 15 -0 1 3 6 8 9 11 13 14 -0 1 3 6 8 9 11 13 15 -0 1 3 6 8 9 11 14 15 -0 1 3 6 8 9 12 13 14 -0 1 3 6 8 9 12 13 15 -0 1 3 6 8 9 12 14 15 -0 1 3 6 8 9 13 14 15 -0 1 3 6 8 10 11 12 13 -0 1 3 6 8 10 11 12 14 -0 1 3 6 8 10 11 12 15 -0 1 3 6 8 10 11 13 14 -0 1 3 6 8 10 11 13 15 -0 1 3 6 8 10 11 14 15 -0 1 3 6 8 10 12 13 14 -0 1 3 6 8 10 12 13 15 -0 1 3 6 8 10 12 14 15 -0 1 3 6 8 10 13 14 15 -0 1 3 6 8 11 12 13 14 -0 1 3 6 8 11 12 13 15 -0 1 3 6 8 11 12 14 15 -0 1 3 6 8 11 13 14 15 -0 1 3 6 8 12 13 14 15 -0 1 3 6 9 10 11 12 13 -0 1 3 6 9 10 11 12 14 -0 1 3 6 9 10 11 12 15 -0 1 3 6 9 10 11 13 14 -0 1 3 6 9 10 11 13 15 -0 1 3 6 9 10 11 14 15 -0 1 3 6 9 10 12 13 14 -0 1 3 6 9 10 12 13 15 -0 1 3 6 9 10 12 14 15 -0 1 3 6 9 10 13 14 15 -0 1 3 6 9 11 12 13 14 -0 1 3 6 9 11 12 13 15 -0 1 3 6 9 11 12 14 15 -0 1 3 6 9 11 13 14 15 -0 1 3 6 9 12 13 14 15 -0 1 3 6 10 11 12 13 14 -0 1 3 6 10 11 12 13 15 -0 1 3 6 10 11 12 14 15 -0 1 3 6 10 11 13 14 15 -0 1 3 6 10 12 13 14 15 -0 1 3 6 11 12 13 14 15 -0 1 3 7 8 9 10 11 12 -0 1 3 7 8 9 10 11 13 -0 1 3 7 8 9 10 11 14 -0 1 3 7 8 9 10 11 15 -0 1 3 7 8 9 10 12 13 -0 1 3 7 8 9 10 12 14 -0 1 3 7 8 9 10 12 15 -0 1 3 7 8 9 10 13 14 -0 1 3 7 8 9 10 13 15 -0 1 3 7 8 9 10 14 15 -0 1 3 7 8 9 11 12 13 -0 1 3 7 8 9 11 12 14 -0 1 3 7 8 9 11 12 15 -0 1 3 7 8 9 11 13 14 -0 1 3 7 8 9 11 13 15 -0 1 3 7 8 9 11 14 15 -0 1 3 7 8 9 12 13 14 -0 1 3 7 8 9 12 13 15 -0 1 3 7 8 9 12 14 15 -0 1 3 7 8 9 13 14 15 -0 1 3 7 8 10 11 12 13 -0 1 3 7 8 10 11 12 14 -0 1 3 7 8 10 11 12 15 -0 1 3 7 8 10 11 13 14 -0 1 3 7 8 10 11 13 15 -0 1 3 7 8 10 11 14 15 -0 1 3 7 8 10 12 13 14 -0 1 3 7 8 10 12 13 15 -0 1 3 7 8 10 12 14 15 -0 1 3 7 8 10 13 14 15 -0 1 3 7 8 11 12 13 14 -0 1 3 7 8 11 12 13 15 -0 1 3 7 8 11 12 14 15 -0 1 3 7 8 11 13 14 15 -0 1 3 7 8 12 13 14 15 -0 1 3 7 9 10 11 12 13 -0 1 3 7 9 10 11 12 14 -0 1 3 7 9 10 11 12 15 -0 1 3 7 9 10 11 13 14 -0 1 3 7 9 10 11 13 15 -0 1 3 7 9 10 11 14 15 -0 1 3 7 9 10 12 13 14 -0 1 3 7 9 10 12 13 15 -0 1 3 7 9 10 12 14 15 -0 1 3 7 9 10 13 14 15 -0 1 3 7 9 11 12 13 14 -0 1 3 7 9 11 12 13 15 -0 1 3 7 9 11 12 14 15 -0 1 3 7 9 11 13 14 15 -0 1 3 7 9 12 13 14 15 -0 1 3 7 10 11 12 13 14 -0 1 3 7 10 11 12 13 15 -0 1 3 7 10 11 12 14 15 -0 1 3 7 10 11 13 14 15 -0 1 3 7 10 12 13 14 15 -0 1 3 7 11 12 13 14 15 -0 1 3 8 9 10 11 12 13 -0 1 3 8 9 10 11 12 14 -0 1 3 8 9 10 11 12 15 -0 1 3 8 9 10 11 13 14 -0 1 3 8 9 10 11 13 15 -0 1 3 8 9 10 11 14 15 -0 1 3 8 9 10 12 13 14 -0 1 3 8 9 10 12 13 15 -0 1 3 8 9 10 12 14 15 -0 1 3 8 9 10 13 14 15 -0 1 3 8 9 11 12 13 14 -0 1 3 8 9 11 12 13 15 -0 1 3 8 9 11 12 14 15 -0 1 3 8 9 11 13 14 15 -0 1 3 8 9 12 13 14 15 -0 1 3 8 10 11 12 13 14 -0 1 3 8 10 11 12 13 15 -0 1 3 8 10 11 12 14 15 -0 1 3 8 10 11 13 14 15 -0 1 3 8 10 12 13 14 15 -0 1 3 8 11 12 13 14 15 -0 1 3 9 10 11 12 13 14 -0 1 3 9 10 11 12 13 15 -0 1 3 9 10 11 12 14 15 -0 1 3 9 10 11 13 14 15 -0 1 3 9 10 12 13 14 15 -0 1 3 9 11 12 13 14 15 -0 1 3 10 11 12 13 14 15 -0 1 4 5 6 7 8 9 10 -0 1 4 5 6 7 8 9 11 -0 1 4 5 6 7 8 9 12 -0 1 4 5 6 7 8 9 13 -0 1 4 5 6 7 8 9 14 -0 1 4 5 6 7 8 9 15 -0 1 4 5 6 7 8 10 11 -0 1 4 5 6 7 8 10 12 -0 1 4 5 6 7 8 10 13 -0 1 4 5 6 7 8 10 14 -0 1 4 5 6 7 8 10 15 -0 1 4 5 6 7 8 11 12 -0 1 4 5 6 7 8 11 13 -0 1 4 5 6 7 8 11 14 -0 1 4 5 6 7 8 11 15 -0 1 4 5 6 7 8 12 13 -0 1 4 5 6 7 8 12 14 -0 1 4 5 6 7 8 12 15 -0 1 4 5 6 7 8 13 14 -0 1 4 5 6 7 8 13 15 -0 1 4 5 6 7 8 14 15 -0 1 4 5 6 7 9 10 11 -0 1 4 5 6 7 9 10 12 -0 1 4 5 6 7 9 10 13 -0 1 4 5 6 7 9 10 14 -0 1 4 5 6 7 9 10 15 -0 1 4 5 6 7 9 11 12 -0 1 4 5 6 7 9 11 13 -0 1 4 5 6 7 9 11 14 -0 1 4 5 6 7 9 11 15 -0 1 4 5 6 7 9 12 13 -0 1 4 5 6 7 9 12 14 -0 1 4 5 6 7 9 12 15 -0 1 4 5 6 7 9 13 14 -0 1 4 5 6 7 9 13 15 -0 1 4 5 6 7 9 14 15 -0 1 4 5 6 7 10 11 12 -0 1 4 5 6 7 10 11 13 -0 1 4 5 6 7 10 11 14 -0 1 4 5 6 7 10 11 15 -0 1 4 5 6 7 10 12 13 -0 1 4 5 6 7 10 12 14 -0 1 4 5 6 7 10 12 15 -0 1 4 5 6 7 10 13 14 -0 1 4 5 6 7 10 13 15 -0 1 4 5 6 7 10 14 15 -0 1 4 5 6 7 11 12 13 -0 1 4 5 6 7 11 12 14 -0 1 4 5 6 7 11 12 15 -0 1 4 5 6 7 11 13 14 -0 1 4 5 6 7 11 13 15 -0 1 4 5 6 7 11 14 15 -0 1 4 5 6 7 12 13 14 -0 1 4 5 6 7 12 13 15 -0 1 4 5 6 7 12 14 15 -0 1 4 5 6 7 13 14 15 -0 1 4 5 6 8 9 10 11 -0 1 4 5 6 8 9 10 12 -0 1 4 5 6 8 9 10 13 -0 1 4 5 6 8 9 10 14 -0 1 4 5 6 8 9 10 15 -0 1 4 5 6 8 9 11 12 -0 1 4 5 6 8 9 11 13 -0 1 4 5 6 8 9 11 14 -0 1 4 5 6 8 9 11 15 -0 1 4 5 6 8 9 12 13 -0 1 4 5 6 8 9 12 14 -0 1 4 5 6 8 9 12 15 -0 1 4 5 6 8 9 13 14 -0 1 4 5 6 8 9 13 15 -0 1 4 5 6 8 9 14 15 -0 1 4 5 6 8 10 11 12 -0 1 4 5 6 8 10 11 13 -0 1 4 5 6 8 10 11 14 -0 1 4 5 6 8 10 11 15 -0 1 4 5 6 8 10 12 13 -0 1 4 5 6 8 10 12 14 -0 1 4 5 6 8 10 12 15 -0 1 4 5 6 8 10 13 14 -0 1 4 5 6 8 10 13 15 -0 1 4 5 6 8 10 14 15 -0 1 4 5 6 8 11 12 13 -0 1 4 5 6 8 11 12 14 -0 1 4 5 6 8 11 12 15 -0 1 4 5 6 8 11 13 14 -0 1 4 5 6 8 11 13 15 -0 1 4 5 6 8 11 14 15 -0 1 4 5 6 8 12 13 14 -0 1 4 5 6 8 12 13 15 -0 1 4 5 6 8 12 14 15 -0 1 4 5 6 8 13 14 15 -0 1 4 5 6 9 10 11 12 -0 1 4 5 6 9 10 11 13 -0 1 4 5 6 9 10 11 14 -0 1 4 5 6 9 10 11 15 -0 1 4 5 6 9 10 12 13 -0 1 4 5 6 9 10 12 14 -0 1 4 5 6 9 10 12 15 -0 1 4 5 6 9 10 13 14 -0 1 4 5 6 9 10 13 15 -0 1 4 5 6 9 10 14 15 -0 1 4 5 6 9 11 12 13 -0 1 4 5 6 9 11 12 14 -0 1 4 5 6 9 11 12 15 -0 1 4 5 6 9 11 13 14 -0 1 4 5 6 9 11 13 15 -0 1 4 5 6 9 11 14 15 -0 1 4 5 6 9 12 13 14 -0 1 4 5 6 9 12 13 15 -0 1 4 5 6 9 12 14 15 -0 1 4 5 6 9 13 14 15 -0 1 4 5 6 10 11 12 13 -0 1 4 5 6 10 11 12 14 -0 1 4 5 6 10 11 12 15 -0 1 4 5 6 10 11 13 14 -0 1 4 5 6 10 11 13 15 -0 1 4 5 6 10 11 14 15 -0 1 4 5 6 10 12 13 14 -0 1 4 5 6 10 12 13 15 -0 1 4 5 6 10 12 14 15 -0 1 4 5 6 10 13 14 15 -0 1 4 5 6 11 12 13 14 -0 1 4 5 6 11 12 13 15 -0 1 4 5 6 11 12 14 15 -0 1 4 5 6 11 13 14 15 -0 1 4 5 6 12 13 14 15 -0 1 4 5 7 8 9 10 11 -0 1 4 5 7 8 9 10 12 -0 1 4 5 7 8 9 10 13 -0 1 4 5 7 8 9 10 14 -0 1 4 5 7 8 9 10 15 -0 1 4 5 7 8 9 11 12 -0 1 4 5 7 8 9 11 13 -0 1 4 5 7 8 9 11 14 -0 1 4 5 7 8 9 11 15 -0 1 4 5 7 8 9 12 13 -0 1 4 5 7 8 9 12 14 -0 1 4 5 7 8 9 12 15 -0 1 4 5 7 8 9 13 14 -0 1 4 5 7 8 9 13 15 -0 1 4 5 7 8 9 14 15 -0 1 4 5 7 8 10 11 12 -0 1 4 5 7 8 10 11 13 -0 1 4 5 7 8 10 11 14 -0 1 4 5 7 8 10 11 15 -0 1 4 5 7 8 10 12 13 -0 1 4 5 7 8 10 12 14 -0 1 4 5 7 8 10 12 15 -0 1 4 5 7 8 10 13 14 -0 1 4 5 7 8 10 13 15 -0 1 4 5 7 8 10 14 15 -0 1 4 5 7 8 11 12 13 -0 1 4 5 7 8 11 12 14 -0 1 4 5 7 8 11 12 15 -0 1 4 5 7 8 11 13 14 -0 1 4 5 7 8 11 13 15 -0 1 4 5 7 8 11 14 15 -0 1 4 5 7 8 12 13 14 -0 1 4 5 7 8 12 13 15 -0 1 4 5 7 8 12 14 15 -0 1 4 5 7 8 13 14 15 -0 1 4 5 7 9 10 11 12 -0 1 4 5 7 9 10 11 13 -0 1 4 5 7 9 10 11 14 -0 1 4 5 7 9 10 11 15 -0 1 4 5 7 9 10 12 13 -0 1 4 5 7 9 10 12 14 -0 1 4 5 7 9 10 12 15 -0 1 4 5 7 9 10 13 14 -0 1 4 5 7 9 10 13 15 -0 1 4 5 7 9 10 14 15 -0 1 4 5 7 9 11 12 13 -0 1 4 5 7 9 11 12 14 -0 1 4 5 7 9 11 12 15 -0 1 4 5 7 9 11 13 14 -0 1 4 5 7 9 11 13 15 -0 1 4 5 7 9 11 14 15 -0 1 4 5 7 9 12 13 14 -0 1 4 5 7 9 12 13 15 -0 1 4 5 7 9 12 14 15 -0 1 4 5 7 9 13 14 15 -0 1 4 5 7 10 11 12 13 -0 1 4 5 7 10 11 12 14 -0 1 4 5 7 10 11 12 15 -0 1 4 5 7 10 11 13 14 -0 1 4 5 7 10 11 13 15 -0 1 4 5 7 10 11 14 15 -0 1 4 5 7 10 12 13 14 -0 1 4 5 7 10 12 13 15 -0 1 4 5 7 10 12 14 15 -0 1 4 5 7 10 13 14 15 -0 1 4 5 7 11 12 13 14 -0 1 4 5 7 11 12 13 15 -0 1 4 5 7 11 12 14 15 -0 1 4 5 7 11 13 14 15 -0 1 4 5 7 12 13 14 15 -0 1 4 5 8 9 10 11 12 -0 1 4 5 8 9 10 11 13 -0 1 4 5 8 9 10 11 14 -0 1 4 5 8 9 10 11 15 -0 1 4 5 8 9 10 12 13 -0 1 4 5 8 9 10 12 14 -0 1 4 5 8 9 10 12 15 -0 1 4 5 8 9 10 13 14 -0 1 4 5 8 9 10 13 15 -0 1 4 5 8 9 10 14 15 -0 1 4 5 8 9 11 12 13 -0 1 4 5 8 9 11 12 14 -0 1 4 5 8 9 11 12 15 -0 1 4 5 8 9 11 13 14 -0 1 4 5 8 9 11 13 15 -0 1 4 5 8 9 11 14 15 -0 1 4 5 8 9 12 13 14 -0 1 4 5 8 9 12 13 15 -0 1 4 5 8 9 12 14 15 -0 1 4 5 8 9 13 14 15 -0 1 4 5 8 10 11 12 13 -0 1 4 5 8 10 11 12 14 -0 1 4 5 8 10 11 12 15 -0 1 4 5 8 10 11 13 14 -0 1 4 5 8 10 11 13 15 -0 1 4 5 8 10 11 14 15 -0 1 4 5 8 10 12 13 14 -0 1 4 5 8 10 12 13 15 -0 1 4 5 8 10 12 14 15 -0 1 4 5 8 10 13 14 15 -0 1 4 5 8 11 12 13 14 -0 1 4 5 8 11 12 13 15 -0 1 4 5 8 11 12 14 15 -0 1 4 5 8 11 13 14 15 -0 1 4 5 8 12 13 14 15 -0 1 4 5 9 10 11 12 13 -0 1 4 5 9 10 11 12 14 -0 1 4 5 9 10 11 12 15 -0 1 4 5 9 10 11 13 14 -0 1 4 5 9 10 11 13 15 -0 1 4 5 9 10 11 14 15 -0 1 4 5 9 10 12 13 14 -0 1 4 5 9 10 12 13 15 -0 1 4 5 9 10 12 14 15 -0 1 4 5 9 10 13 14 15 -0 1 4 5 9 11 12 13 14 -0 1 4 5 9 11 12 13 15 -0 1 4 5 9 11 12 14 15 -0 1 4 5 9 11 13 14 15 -0 1 4 5 9 12 13 14 15 -0 1 4 5 10 11 12 13 14 -0 1 4 5 10 11 12 13 15 -0 1 4 5 10 11 12 14 15 -0 1 4 5 10 11 13 14 15 -0 1 4 5 10 12 13 14 15 -0 1 4 5 11 12 13 14 15 -0 1 4 6 7 8 9 10 11 -0 1 4 6 7 8 9 10 12 -0 1 4 6 7 8 9 10 13 -0 1 4 6 7 8 9 10 14 -0 1 4 6 7 8 9 10 15 -0 1 4 6 7 8 9 11 12 -0 1 4 6 7 8 9 11 13 -0 1 4 6 7 8 9 11 14 -0 1 4 6 7 8 9 11 15 -0 1 4 6 7 8 9 12 13 -0 1 4 6 7 8 9 12 14 -0 1 4 6 7 8 9 12 15 -0 1 4 6 7 8 9 13 14 -0 1 4 6 7 8 9 13 15 -0 1 4 6 7 8 9 14 15 -0 1 4 6 7 8 10 11 12 -0 1 4 6 7 8 10 11 13 -0 1 4 6 7 8 10 11 14 -0 1 4 6 7 8 10 11 15 -0 1 4 6 7 8 10 12 13 -0 1 4 6 7 8 10 12 14 -0 1 4 6 7 8 10 12 15 -0 1 4 6 7 8 10 13 14 -0 1 4 6 7 8 10 13 15 -0 1 4 6 7 8 10 14 15 -0 1 4 6 7 8 11 12 13 -0 1 4 6 7 8 11 12 14 -0 1 4 6 7 8 11 12 15 -0 1 4 6 7 8 11 13 14 -0 1 4 6 7 8 11 13 15 -0 1 4 6 7 8 11 14 15 -0 1 4 6 7 8 12 13 14 -0 1 4 6 7 8 12 13 15 -0 1 4 6 7 8 12 14 15 -0 1 4 6 7 8 13 14 15 -0 1 4 6 7 9 10 11 12 -0 1 4 6 7 9 10 11 13 -0 1 4 6 7 9 10 11 14 -0 1 4 6 7 9 10 11 15 -0 1 4 6 7 9 10 12 13 -0 1 4 6 7 9 10 12 14 -0 1 4 6 7 9 10 12 15 -0 1 4 6 7 9 10 13 14 -0 1 4 6 7 9 10 13 15 -0 1 4 6 7 9 10 14 15 -0 1 4 6 7 9 11 12 13 -0 1 4 6 7 9 11 12 14 -0 1 4 6 7 9 11 12 15 -0 1 4 6 7 9 11 13 14 -0 1 4 6 7 9 11 13 15 -0 1 4 6 7 9 11 14 15 -0 1 4 6 7 9 12 13 14 -0 1 4 6 7 9 12 13 15 -0 1 4 6 7 9 12 14 15 -0 1 4 6 7 9 13 14 15 -0 1 4 6 7 10 11 12 13 -0 1 4 6 7 10 11 12 14 -0 1 4 6 7 10 11 12 15 -0 1 4 6 7 10 11 13 14 -0 1 4 6 7 10 11 13 15 -0 1 4 6 7 10 11 14 15 -0 1 4 6 7 10 12 13 14 -0 1 4 6 7 10 12 13 15 -0 1 4 6 7 10 12 14 15 -0 1 4 6 7 10 13 14 15 -0 1 4 6 7 11 12 13 14 -0 1 4 6 7 11 12 13 15 -0 1 4 6 7 11 12 14 15 -0 1 4 6 7 11 13 14 15 -0 1 4 6 7 12 13 14 15 -0 1 4 6 8 9 10 11 12 -0 1 4 6 8 9 10 11 13 -0 1 4 6 8 9 10 11 14 -0 1 4 6 8 9 10 11 15 -0 1 4 6 8 9 10 12 13 -0 1 4 6 8 9 10 12 14 -0 1 4 6 8 9 10 12 15 -0 1 4 6 8 9 10 13 14 -0 1 4 6 8 9 10 13 15 -0 1 4 6 8 9 10 14 15 -0 1 4 6 8 9 11 12 13 -0 1 4 6 8 9 11 12 14 -0 1 4 6 8 9 11 12 15 -0 1 4 6 8 9 11 13 14 -0 1 4 6 8 9 11 13 15 -0 1 4 6 8 9 11 14 15 -0 1 4 6 8 9 12 13 14 -0 1 4 6 8 9 12 13 15 -0 1 4 6 8 9 12 14 15 -0 1 4 6 8 9 13 14 15 -0 1 4 6 8 10 11 12 13 -0 1 4 6 8 10 11 12 14 -0 1 4 6 8 10 11 12 15 -0 1 4 6 8 10 11 13 14 -0 1 4 6 8 10 11 13 15 -0 1 4 6 8 10 11 14 15 -0 1 4 6 8 10 12 13 14 -0 1 4 6 8 10 12 13 15 -0 1 4 6 8 10 12 14 15 -0 1 4 6 8 10 13 14 15 -0 1 4 6 8 11 12 13 14 -0 1 4 6 8 11 12 13 15 -0 1 4 6 8 11 12 14 15 -0 1 4 6 8 11 13 14 15 -0 1 4 6 8 12 13 14 15 -0 1 4 6 9 10 11 12 13 -0 1 4 6 9 10 11 12 14 -0 1 4 6 9 10 11 12 15 -0 1 4 6 9 10 11 13 14 -0 1 4 6 9 10 11 13 15 -0 1 4 6 9 10 11 14 15 -0 1 4 6 9 10 12 13 14 -0 1 4 6 9 10 12 13 15 -0 1 4 6 9 10 12 14 15 -0 1 4 6 9 10 13 14 15 -0 1 4 6 9 11 12 13 14 -0 1 4 6 9 11 12 13 15 -0 1 4 6 9 11 12 14 15 -0 1 4 6 9 11 13 14 15 -0 1 4 6 9 12 13 14 15 -0 1 4 6 10 11 12 13 14 -0 1 4 6 10 11 12 13 15 -0 1 4 6 10 11 12 14 15 -0 1 4 6 10 11 13 14 15 -0 1 4 6 10 12 13 14 15 -0 1 4 6 11 12 13 14 15 -0 1 4 7 8 9 10 11 12 -0 1 4 7 8 9 10 11 13 -0 1 4 7 8 9 10 11 14 -0 1 4 7 8 9 10 11 15 -0 1 4 7 8 9 10 12 13 -0 1 4 7 8 9 10 12 14 -0 1 4 7 8 9 10 12 15 -0 1 4 7 8 9 10 13 14 -0 1 4 7 8 9 10 13 15 -0 1 4 7 8 9 10 14 15 -0 1 4 7 8 9 11 12 13 -0 1 4 7 8 9 11 12 14 -0 1 4 7 8 9 11 12 15 -0 1 4 7 8 9 11 13 14 -0 1 4 7 8 9 11 13 15 -0 1 4 7 8 9 11 14 15 -0 1 4 7 8 9 12 13 14 -0 1 4 7 8 9 12 13 15 -0 1 4 7 8 9 12 14 15 -0 1 4 7 8 9 13 14 15 -0 1 4 7 8 10 11 12 13 -0 1 4 7 8 10 11 12 14 -0 1 4 7 8 10 11 12 15 -0 1 4 7 8 10 11 13 14 -0 1 4 7 8 10 11 13 15 -0 1 4 7 8 10 11 14 15 -0 1 4 7 8 10 12 13 14 -0 1 4 7 8 10 12 13 15 -0 1 4 7 8 10 12 14 15 -0 1 4 7 8 10 13 14 15 -0 1 4 7 8 11 12 13 14 -0 1 4 7 8 11 12 13 15 -0 1 4 7 8 11 12 14 15 -0 1 4 7 8 11 13 14 15 -0 1 4 7 8 12 13 14 15 -0 1 4 7 9 10 11 12 13 -0 1 4 7 9 10 11 12 14 -0 1 4 7 9 10 11 12 15 -0 1 4 7 9 10 11 13 14 -0 1 4 7 9 10 11 13 15 -0 1 4 7 9 10 11 14 15 -0 1 4 7 9 10 12 13 14 -0 1 4 7 9 10 12 13 15 -0 1 4 7 9 10 12 14 15 -0 1 4 7 9 10 13 14 15 -0 1 4 7 9 11 12 13 14 -0 1 4 7 9 11 12 13 15 -0 1 4 7 9 11 12 14 15 -0 1 4 7 9 11 13 14 15 -0 1 4 7 9 12 13 14 15 -0 1 4 7 10 11 12 13 14 -0 1 4 7 10 11 12 13 15 -0 1 4 7 10 11 12 14 15 -0 1 4 7 10 11 13 14 15 -0 1 4 7 10 12 13 14 15 -0 1 4 7 11 12 13 14 15 -0 1 4 8 9 10 11 12 13 -0 1 4 8 9 10 11 12 14 -0 1 4 8 9 10 11 12 15 -0 1 4 8 9 10 11 13 14 -0 1 4 8 9 10 11 13 15 -0 1 4 8 9 10 11 14 15 -0 1 4 8 9 10 12 13 14 -0 1 4 8 9 10 12 13 15 -0 1 4 8 9 10 12 14 15 -0 1 4 8 9 10 13 14 15 -0 1 4 8 9 11 12 13 14 -0 1 4 8 9 11 12 13 15 -0 1 4 8 9 11 12 14 15 -0 1 4 8 9 11 13 14 15 -0 1 4 8 9 12 13 14 15 -0 1 4 8 10 11 12 13 14 -0 1 4 8 10 11 12 13 15 -0 1 4 8 10 11 12 14 15 -0 1 4 8 10 11 13 14 15 -0 1 4 8 10 12 13 14 15 -0 1 4 8 11 12 13 14 15 -0 1 4 9 10 11 12 13 14 -0 1 4 9 10 11 12 13 15 -0 1 4 9 10 11 12 14 15 -0 1 4 9 10 11 13 14 15 -0 1 4 9 10 12 13 14 15 -0 1 4 9 11 12 13 14 15 -0 1 4 10 11 12 13 14 15 -0 1 5 6 7 8 9 10 11 -0 1 5 6 7 8 9 10 12 -0 1 5 6 7 8 9 10 13 -0 1 5 6 7 8 9 10 14 -0 1 5 6 7 8 9 10 15 -0 1 5 6 7 8 9 11 12 -0 1 5 6 7 8 9 11 13 -0 1 5 6 7 8 9 11 14 -0 1 5 6 7 8 9 11 15 -0 1 5 6 7 8 9 12 13 -0 1 5 6 7 8 9 12 14 -0 1 5 6 7 8 9 12 15 -0 1 5 6 7 8 9 13 14 -0 1 5 6 7 8 9 13 15 -0 1 5 6 7 8 9 14 15 -0 1 5 6 7 8 10 11 12 -0 1 5 6 7 8 10 11 13 -0 1 5 6 7 8 10 11 14 -0 1 5 6 7 8 10 11 15 -0 1 5 6 7 8 10 12 13 -0 1 5 6 7 8 10 12 14 -0 1 5 6 7 8 10 12 15 -0 1 5 6 7 8 10 13 14 -0 1 5 6 7 8 10 13 15 -0 1 5 6 7 8 10 14 15 -0 1 5 6 7 8 11 12 13 -0 1 5 6 7 8 11 12 14 -0 1 5 6 7 8 11 12 15 -0 1 5 6 7 8 11 13 14 -0 1 5 6 7 8 11 13 15 -0 1 5 6 7 8 11 14 15 -0 1 5 6 7 8 12 13 14 -0 1 5 6 7 8 12 13 15 -0 1 5 6 7 8 12 14 15 -0 1 5 6 7 8 13 14 15 -0 1 5 6 7 9 10 11 12 -0 1 5 6 7 9 10 11 13 -0 1 5 6 7 9 10 11 14 -0 1 5 6 7 9 10 11 15 -0 1 5 6 7 9 10 12 13 -0 1 5 6 7 9 10 12 14 -0 1 5 6 7 9 10 12 15 -0 1 5 6 7 9 10 13 14 -0 1 5 6 7 9 10 13 15 -0 1 5 6 7 9 10 14 15 -0 1 5 6 7 9 11 12 13 -0 1 5 6 7 9 11 12 14 -0 1 5 6 7 9 11 12 15 -0 1 5 6 7 9 11 13 14 -0 1 5 6 7 9 11 13 15 -0 1 5 6 7 9 11 14 15 -0 1 5 6 7 9 12 13 14 -0 1 5 6 7 9 12 13 15 -0 1 5 6 7 9 12 14 15 -0 1 5 6 7 9 13 14 15 -0 1 5 6 7 10 11 12 13 -0 1 5 6 7 10 11 12 14 -0 1 5 6 7 10 11 12 15 -0 1 5 6 7 10 11 13 14 -0 1 5 6 7 10 11 13 15 -0 1 5 6 7 10 11 14 15 -0 1 5 6 7 10 12 13 14 -0 1 5 6 7 10 12 13 15 -0 1 5 6 7 10 12 14 15 -0 1 5 6 7 10 13 14 15 -0 1 5 6 7 11 12 13 14 -0 1 5 6 7 11 12 13 15 -0 1 5 6 7 11 12 14 15 -0 1 5 6 7 11 13 14 15 -0 1 5 6 7 12 13 14 15 -0 1 5 6 8 9 10 11 12 -0 1 5 6 8 9 10 11 13 -0 1 5 6 8 9 10 11 14 -0 1 5 6 8 9 10 11 15 -0 1 5 6 8 9 10 12 13 -0 1 5 6 8 9 10 12 14 -0 1 5 6 8 9 10 12 15 -0 1 5 6 8 9 10 13 14 -0 1 5 6 8 9 10 13 15 -0 1 5 6 8 9 10 14 15 -0 1 5 6 8 9 11 12 13 -0 1 5 6 8 9 11 12 14 -0 1 5 6 8 9 11 12 15 -0 1 5 6 8 9 11 13 14 -0 1 5 6 8 9 11 13 15 -0 1 5 6 8 9 11 14 15 -0 1 5 6 8 9 12 13 14 -0 1 5 6 8 9 12 13 15 -0 1 5 6 8 9 12 14 15 -0 1 5 6 8 9 13 14 15 -0 1 5 6 8 10 11 12 13 -0 1 5 6 8 10 11 12 14 -0 1 5 6 8 10 11 12 15 -0 1 5 6 8 10 11 13 14 -0 1 5 6 8 10 11 13 15 -0 1 5 6 8 10 11 14 15 -0 1 5 6 8 10 12 13 14 -0 1 5 6 8 10 12 13 15 -0 1 5 6 8 10 12 14 15 -0 1 5 6 8 10 13 14 15 -0 1 5 6 8 11 12 13 14 -0 1 5 6 8 11 12 13 15 -0 1 5 6 8 11 12 14 15 -0 1 5 6 8 11 13 14 15 -0 1 5 6 8 12 13 14 15 -0 1 5 6 9 10 11 12 13 -0 1 5 6 9 10 11 12 14 -0 1 5 6 9 10 11 12 15 -0 1 5 6 9 10 11 13 14 -0 1 5 6 9 10 11 13 15 -0 1 5 6 9 10 11 14 15 -0 1 5 6 9 10 12 13 14 -0 1 5 6 9 10 12 13 15 -0 1 5 6 9 10 12 14 15 -0 1 5 6 9 10 13 14 15 -0 1 5 6 9 11 12 13 14 -0 1 5 6 9 11 12 13 15 -0 1 5 6 9 11 12 14 15 -0 1 5 6 9 11 13 14 15 -0 1 5 6 9 12 13 14 15 -0 1 5 6 10 11 12 13 14 -0 1 5 6 10 11 12 13 15 -0 1 5 6 10 11 12 14 15 -0 1 5 6 10 11 13 14 15 -0 1 5 6 10 12 13 14 15 -0 1 5 6 11 12 13 14 15 -0 1 5 7 8 9 10 11 12 -0 1 5 7 8 9 10 11 13 -0 1 5 7 8 9 10 11 14 -0 1 5 7 8 9 10 11 15 -0 1 5 7 8 9 10 12 13 -0 1 5 7 8 9 10 12 14 -0 1 5 7 8 9 10 12 15 -0 1 5 7 8 9 10 13 14 -0 1 5 7 8 9 10 13 15 -0 1 5 7 8 9 10 14 15 -0 1 5 7 8 9 11 12 13 -0 1 5 7 8 9 11 12 14 -0 1 5 7 8 9 11 12 15 -0 1 5 7 8 9 11 13 14 -0 1 5 7 8 9 11 13 15 -0 1 5 7 8 9 11 14 15 -0 1 5 7 8 9 12 13 14 -0 1 5 7 8 9 12 13 15 -0 1 5 7 8 9 12 14 15 -0 1 5 7 8 9 13 14 15 -0 1 5 7 8 10 11 12 13 -0 1 5 7 8 10 11 12 14 -0 1 5 7 8 10 11 12 15 -0 1 5 7 8 10 11 13 14 -0 1 5 7 8 10 11 13 15 -0 1 5 7 8 10 11 14 15 -0 1 5 7 8 10 12 13 14 -0 1 5 7 8 10 12 13 15 -0 1 5 7 8 10 12 14 15 -0 1 5 7 8 10 13 14 15 -0 1 5 7 8 11 12 13 14 -0 1 5 7 8 11 12 13 15 -0 1 5 7 8 11 12 14 15 -0 1 5 7 8 11 13 14 15 -0 1 5 7 8 12 13 14 15 -0 1 5 7 9 10 11 12 13 -0 1 5 7 9 10 11 12 14 -0 1 5 7 9 10 11 12 15 -0 1 5 7 9 10 11 13 14 -0 1 5 7 9 10 11 13 15 -0 1 5 7 9 10 11 14 15 -0 1 5 7 9 10 12 13 14 -0 1 5 7 9 10 12 13 15 -0 1 5 7 9 10 12 14 15 -0 1 5 7 9 10 13 14 15 -0 1 5 7 9 11 12 13 14 -0 1 5 7 9 11 12 13 15 -0 1 5 7 9 11 12 14 15 -0 1 5 7 9 11 13 14 15 -0 1 5 7 9 12 13 14 15 -0 1 5 7 10 11 12 13 14 -0 1 5 7 10 11 12 13 15 -0 1 5 7 10 11 12 14 15 -0 1 5 7 10 11 13 14 15 -0 1 5 7 10 12 13 14 15 -0 1 5 7 11 12 13 14 15 -0 1 5 8 9 10 11 12 13 -0 1 5 8 9 10 11 12 14 -0 1 5 8 9 10 11 12 15 -0 1 5 8 9 10 11 13 14 -0 1 5 8 9 10 11 13 15 -0 1 5 8 9 10 11 14 15 -0 1 5 8 9 10 12 13 14 -0 1 5 8 9 10 12 13 15 -0 1 5 8 9 10 12 14 15 -0 1 5 8 9 10 13 14 15 -0 1 5 8 9 11 12 13 14 -0 1 5 8 9 11 12 13 15 -0 1 5 8 9 11 12 14 15 -0 1 5 8 9 11 13 14 15 -0 1 5 8 9 12 13 14 15 -0 1 5 8 10 11 12 13 14 -0 1 5 8 10 11 12 13 15 -0 1 5 8 10 11 12 14 15 -0 1 5 8 10 11 13 14 15 -0 1 5 8 10 12 13 14 15 -0 1 5 8 11 12 13 14 15 -0 1 5 9 10 11 12 13 14 -0 1 5 9 10 11 12 13 15 -0 1 5 9 10 11 12 14 15 -0 1 5 9 10 11 13 14 15 -0 1 5 9 10 12 13 14 15 -0 1 5 9 11 12 13 14 15 -0 1 5 10 11 12 13 14 15 -0 1 6 7 8 9 10 11 12 -0 1 6 7 8 9 10 11 13 -0 1 6 7 8 9 10 11 14 -0 1 6 7 8 9 10 11 15 -0 1 6 7 8 9 10 12 13 -0 1 6 7 8 9 10 12 14 -0 1 6 7 8 9 10 12 15 -0 1 6 7 8 9 10 13 14 -0 1 6 7 8 9 10 13 15 -0 1 6 7 8 9 10 14 15 -0 1 6 7 8 9 11 12 13 -0 1 6 7 8 9 11 12 14 -0 1 6 7 8 9 11 12 15 -0 1 6 7 8 9 11 13 14 -0 1 6 7 8 9 11 13 15 -0 1 6 7 8 9 11 14 15 -0 1 6 7 8 9 12 13 14 -0 1 6 7 8 9 12 13 15 -0 1 6 7 8 9 12 14 15 -0 1 6 7 8 9 13 14 15 -0 1 6 7 8 10 11 12 13 -0 1 6 7 8 10 11 12 14 -0 1 6 7 8 10 11 12 15 -0 1 6 7 8 10 11 13 14 -0 1 6 7 8 10 11 13 15 -0 1 6 7 8 10 11 14 15 -0 1 6 7 8 10 12 13 14 -0 1 6 7 8 10 12 13 15 -0 1 6 7 8 10 12 14 15 -0 1 6 7 8 10 13 14 15 -0 1 6 7 8 11 12 13 14 -0 1 6 7 8 11 12 13 15 -0 1 6 7 8 11 12 14 15 -0 1 6 7 8 11 13 14 15 -0 1 6 7 8 12 13 14 15 -0 1 6 7 9 10 11 12 13 -0 1 6 7 9 10 11 12 14 -0 1 6 7 9 10 11 12 15 -0 1 6 7 9 10 11 13 14 -0 1 6 7 9 10 11 13 15 -0 1 6 7 9 10 11 14 15 -0 1 6 7 9 10 12 13 14 -0 1 6 7 9 10 12 13 15 -0 1 6 7 9 10 12 14 15 -0 1 6 7 9 10 13 14 15 -0 1 6 7 9 11 12 13 14 -0 1 6 7 9 11 12 13 15 -0 1 6 7 9 11 12 14 15 -0 1 6 7 9 11 13 14 15 -0 1 6 7 9 12 13 14 15 -0 1 6 7 10 11 12 13 14 -0 1 6 7 10 11 12 13 15 -0 1 6 7 10 11 12 14 15 -0 1 6 7 10 11 13 14 15 -0 1 6 7 10 12 13 14 15 -0 1 6 7 11 12 13 14 15 -0 1 6 8 9 10 11 12 13 -0 1 6 8 9 10 11 12 14 -0 1 6 8 9 10 11 12 15 -0 1 6 8 9 10 11 13 14 -0 1 6 8 9 10 11 13 15 -0 1 6 8 9 10 11 14 15 -0 1 6 8 9 10 12 13 14 -0 1 6 8 9 10 12 13 15 -0 1 6 8 9 10 12 14 15 -0 1 6 8 9 10 13 14 15 -0 1 6 8 9 11 12 13 14 -0 1 6 8 9 11 12 13 15 -0 1 6 8 9 11 12 14 15 -0 1 6 8 9 11 13 14 15 -0 1 6 8 9 12 13 14 15 -0 1 6 8 10 11 12 13 14 -0 1 6 8 10 11 12 13 15 -0 1 6 8 10 11 12 14 15 -0 1 6 8 10 11 13 14 15 -0 1 6 8 10 12 13 14 15 -0 1 6 8 11 12 13 14 15 -0 1 6 9 10 11 12 13 14 -0 1 6 9 10 11 12 13 15 -0 1 6 9 10 11 12 14 15 -0 1 6 9 10 11 13 14 15 -0 1 6 9 10 12 13 14 15 -0 1 6 9 11 12 13 14 15 -0 1 6 10 11 12 13 14 15 -0 1 7 8 9 10 11 12 13 -0 1 7 8 9 10 11 12 14 -0 1 7 8 9 10 11 12 15 -0 1 7 8 9 10 11 13 14 -0 1 7 8 9 10 11 13 15 -0 1 7 8 9 10 11 14 15 -0 1 7 8 9 10 12 13 14 -0 1 7 8 9 10 12 13 15 -0 1 7 8 9 10 12 14 15 -0 1 7 8 9 10 13 14 15 -0 1 7 8 9 11 12 13 14 -0 1 7 8 9 11 12 13 15 -0 1 7 8 9 11 12 14 15 -0 1 7 8 9 11 13 14 15 -0 1 7 8 9 12 13 14 15 -0 1 7 8 10 11 12 13 14 -0 1 7 8 10 11 12 13 15 -0 1 7 8 10 11 12 14 15 -0 1 7 8 10 11 13 14 15 -0 1 7 8 10 12 13 14 15 -0 1 7 8 11 12 13 14 15 -0 1 7 9 10 11 12 13 14 -0 1 7 9 10 11 12 13 15 -0 1 7 9 10 11 12 14 15 -0 1 7 9 10 11 13 14 15 -0 1 7 9 10 12 13 14 15 -0 1 7 9 11 12 13 14 15 -0 1 7 10 11 12 13 14 15 -0 1 8 9 10 11 12 13 14 -0 1 8 9 10 11 12 13 15 -0 1 8 9 10 11 12 14 15 -0 1 8 9 10 11 13 14 15 -0 1 8 9 10 12 13 14 15 -0 1 8 9 11 12 13 14 15 -0 1 8 10 11 12 13 14 15 -0 1 9 10 11 12 13 14 15 -0 2 3 4 5 6 7 8 9 -0 2 3 4 5 6 7 8 10 -0 2 3 4 5 6 7 8 11 -0 2 3 4 5 6 7 8 12 -0 2 3 4 5 6 7 8 13 -0 2 3 4 5 6 7 8 14 -0 2 3 4 5 6 7 8 15 -0 2 3 4 5 6 7 9 10 -0 2 3 4 5 6 7 9 11 -0 2 3 4 5 6 7 9 12 -0 2 3 4 5 6 7 9 13 -0 2 3 4 5 6 7 9 14 -0 2 3 4 5 6 7 9 15 -0 2 3 4 5 6 7 10 11 -0 2 3 4 5 6 7 10 12 -0 2 3 4 5 6 7 10 13 -0 2 3 4 5 6 7 10 14 -0 2 3 4 5 6 7 10 15 -0 2 3 4 5 6 7 11 12 -0 2 3 4 5 6 7 11 13 -0 2 3 4 5 6 7 11 14 -0 2 3 4 5 6 7 11 15 -0 2 3 4 5 6 7 12 13 -0 2 3 4 5 6 7 12 14 -0 2 3 4 5 6 7 12 15 -0 2 3 4 5 6 7 13 14 -0 2 3 4 5 6 7 13 15 -0 2 3 4 5 6 7 14 15 -0 2 3 4 5 6 8 9 10 -0 2 3 4 5 6 8 9 11 -0 2 3 4 5 6 8 9 12 -0 2 3 4 5 6 8 9 13 -0 2 3 4 5 6 8 9 14 -0 2 3 4 5 6 8 9 15 -0 2 3 4 5 6 8 10 11 -0 2 3 4 5 6 8 10 12 -0 2 3 4 5 6 8 10 13 -0 2 3 4 5 6 8 10 14 -0 2 3 4 5 6 8 10 15 -0 2 3 4 5 6 8 11 12 -0 2 3 4 5 6 8 11 13 -0 2 3 4 5 6 8 11 14 -0 2 3 4 5 6 8 11 15 -0 2 3 4 5 6 8 12 13 -0 2 3 4 5 6 8 12 14 -0 2 3 4 5 6 8 12 15 -0 2 3 4 5 6 8 13 14 -0 2 3 4 5 6 8 13 15 -0 2 3 4 5 6 8 14 15 -0 2 3 4 5 6 9 10 11 -0 2 3 4 5 6 9 10 12 -0 2 3 4 5 6 9 10 13 -0 2 3 4 5 6 9 10 14 -0 2 3 4 5 6 9 10 15 -0 2 3 4 5 6 9 11 12 -0 2 3 4 5 6 9 11 13 -0 2 3 4 5 6 9 11 14 -0 2 3 4 5 6 9 11 15 -0 2 3 4 5 6 9 12 13 -0 2 3 4 5 6 9 12 14 -0 2 3 4 5 6 9 12 15 -0 2 3 4 5 6 9 13 14 -0 2 3 4 5 6 9 13 15 -0 2 3 4 5 6 9 14 15 -0 2 3 4 5 6 10 11 12 -0 2 3 4 5 6 10 11 13 -0 2 3 4 5 6 10 11 14 -0 2 3 4 5 6 10 11 15 -0 2 3 4 5 6 10 12 13 -0 2 3 4 5 6 10 12 14 -0 2 3 4 5 6 10 12 15 -0 2 3 4 5 6 10 13 14 -0 2 3 4 5 6 10 13 15 -0 2 3 4 5 6 10 14 15 -0 2 3 4 5 6 11 12 13 -0 2 3 4 5 6 11 12 14 -0 2 3 4 5 6 11 12 15 -0 2 3 4 5 6 11 13 14 -0 2 3 4 5 6 11 13 15 -0 2 3 4 5 6 11 14 15 -0 2 3 4 5 6 12 13 14 -0 2 3 4 5 6 12 13 15 -0 2 3 4 5 6 12 14 15 -0 2 3 4 5 6 13 14 15 -0 2 3 4 5 7 8 9 10 -0 2 3 4 5 7 8 9 11 -0 2 3 4 5 7 8 9 12 -0 2 3 4 5 7 8 9 13 -0 2 3 4 5 7 8 9 14 -0 2 3 4 5 7 8 9 15 -0 2 3 4 5 7 8 10 11 -0 2 3 4 5 7 8 10 12 -0 2 3 4 5 7 8 10 13 -0 2 3 4 5 7 8 10 14 -0 2 3 4 5 7 8 10 15 -0 2 3 4 5 7 8 11 12 -0 2 3 4 5 7 8 11 13 -0 2 3 4 5 7 8 11 14 -0 2 3 4 5 7 8 11 15 -0 2 3 4 5 7 8 12 13 -0 2 3 4 5 7 8 12 14 -0 2 3 4 5 7 8 12 15 -0 2 3 4 5 7 8 13 14 -0 2 3 4 5 7 8 13 15 -0 2 3 4 5 7 8 14 15 -0 2 3 4 5 7 9 10 11 -0 2 3 4 5 7 9 10 12 -0 2 3 4 5 7 9 10 13 -0 2 3 4 5 7 9 10 14 -0 2 3 4 5 7 9 10 15 -0 2 3 4 5 7 9 11 12 -0 2 3 4 5 7 9 11 13 -0 2 3 4 5 7 9 11 14 -0 2 3 4 5 7 9 11 15 -0 2 3 4 5 7 9 12 13 -0 2 3 4 5 7 9 12 14 -0 2 3 4 5 7 9 12 15 -0 2 3 4 5 7 9 13 14 -0 2 3 4 5 7 9 13 15 -0 2 3 4 5 7 9 14 15 -0 2 3 4 5 7 10 11 12 -0 2 3 4 5 7 10 11 13 -0 2 3 4 5 7 10 11 14 -0 2 3 4 5 7 10 11 15 -0 2 3 4 5 7 10 12 13 -0 2 3 4 5 7 10 12 14 -0 2 3 4 5 7 10 12 15 -0 2 3 4 5 7 10 13 14 -0 2 3 4 5 7 10 13 15 -0 2 3 4 5 7 10 14 15 -0 2 3 4 5 7 11 12 13 -0 2 3 4 5 7 11 12 14 -0 2 3 4 5 7 11 12 15 -0 2 3 4 5 7 11 13 14 -0 2 3 4 5 7 11 13 15 -0 2 3 4 5 7 11 14 15 -0 2 3 4 5 7 12 13 14 -0 2 3 4 5 7 12 13 15 -0 2 3 4 5 7 12 14 15 -0 2 3 4 5 7 13 14 15 -0 2 3 4 5 8 9 10 11 -0 2 3 4 5 8 9 10 12 -0 2 3 4 5 8 9 10 13 -0 2 3 4 5 8 9 10 14 -0 2 3 4 5 8 9 10 15 -0 2 3 4 5 8 9 11 12 -0 2 3 4 5 8 9 11 13 -0 2 3 4 5 8 9 11 14 -0 2 3 4 5 8 9 11 15 -0 2 3 4 5 8 9 12 13 -0 2 3 4 5 8 9 12 14 -0 2 3 4 5 8 9 12 15 -0 2 3 4 5 8 9 13 14 -0 2 3 4 5 8 9 13 15 -0 2 3 4 5 8 9 14 15 -0 2 3 4 5 8 10 11 12 -0 2 3 4 5 8 10 11 13 -0 2 3 4 5 8 10 11 14 -0 2 3 4 5 8 10 11 15 -0 2 3 4 5 8 10 12 13 -0 2 3 4 5 8 10 12 14 -0 2 3 4 5 8 10 12 15 -0 2 3 4 5 8 10 13 14 -0 2 3 4 5 8 10 13 15 -0 2 3 4 5 8 10 14 15 -0 2 3 4 5 8 11 12 13 -0 2 3 4 5 8 11 12 14 -0 2 3 4 5 8 11 12 15 -0 2 3 4 5 8 11 13 14 -0 2 3 4 5 8 11 13 15 -0 2 3 4 5 8 11 14 15 -0 2 3 4 5 8 12 13 14 -0 2 3 4 5 8 12 13 15 -0 2 3 4 5 8 12 14 15 -0 2 3 4 5 8 13 14 15 -0 2 3 4 5 9 10 11 12 -0 2 3 4 5 9 10 11 13 -0 2 3 4 5 9 10 11 14 -0 2 3 4 5 9 10 11 15 -0 2 3 4 5 9 10 12 13 -0 2 3 4 5 9 10 12 14 -0 2 3 4 5 9 10 12 15 -0 2 3 4 5 9 10 13 14 -0 2 3 4 5 9 10 13 15 -0 2 3 4 5 9 10 14 15 -0 2 3 4 5 9 11 12 13 -0 2 3 4 5 9 11 12 14 -0 2 3 4 5 9 11 12 15 -0 2 3 4 5 9 11 13 14 -0 2 3 4 5 9 11 13 15 -0 2 3 4 5 9 11 14 15 -0 2 3 4 5 9 12 13 14 -0 2 3 4 5 9 12 13 15 -0 2 3 4 5 9 12 14 15 -0 2 3 4 5 9 13 14 15 -0 2 3 4 5 10 11 12 13 -0 2 3 4 5 10 11 12 14 -0 2 3 4 5 10 11 12 15 -0 2 3 4 5 10 11 13 14 -0 2 3 4 5 10 11 13 15 -0 2 3 4 5 10 11 14 15 -0 2 3 4 5 10 12 13 14 -0 2 3 4 5 10 12 13 15 -0 2 3 4 5 10 12 14 15 -0 2 3 4 5 10 13 14 15 -0 2 3 4 5 11 12 13 14 -0 2 3 4 5 11 12 13 15 -0 2 3 4 5 11 12 14 15 -0 2 3 4 5 11 13 14 15 -0 2 3 4 5 12 13 14 15 -0 2 3 4 6 7 8 9 10 -0 2 3 4 6 7 8 9 11 -0 2 3 4 6 7 8 9 12 -0 2 3 4 6 7 8 9 13 -0 2 3 4 6 7 8 9 14 -0 2 3 4 6 7 8 9 15 -0 2 3 4 6 7 8 10 11 -0 2 3 4 6 7 8 10 12 -0 2 3 4 6 7 8 10 13 -0 2 3 4 6 7 8 10 14 -0 2 3 4 6 7 8 10 15 -0 2 3 4 6 7 8 11 12 -0 2 3 4 6 7 8 11 13 -0 2 3 4 6 7 8 11 14 -0 2 3 4 6 7 8 11 15 -0 2 3 4 6 7 8 12 13 -0 2 3 4 6 7 8 12 14 -0 2 3 4 6 7 8 12 15 -0 2 3 4 6 7 8 13 14 -0 2 3 4 6 7 8 13 15 -0 2 3 4 6 7 8 14 15 -0 2 3 4 6 7 9 10 11 -0 2 3 4 6 7 9 10 12 -0 2 3 4 6 7 9 10 13 -0 2 3 4 6 7 9 10 14 -0 2 3 4 6 7 9 10 15 -0 2 3 4 6 7 9 11 12 -0 2 3 4 6 7 9 11 13 -0 2 3 4 6 7 9 11 14 -0 2 3 4 6 7 9 11 15 -0 2 3 4 6 7 9 12 13 -0 2 3 4 6 7 9 12 14 -0 2 3 4 6 7 9 12 15 -0 2 3 4 6 7 9 13 14 -0 2 3 4 6 7 9 13 15 -0 2 3 4 6 7 9 14 15 -0 2 3 4 6 7 10 11 12 -0 2 3 4 6 7 10 11 13 -0 2 3 4 6 7 10 11 14 -0 2 3 4 6 7 10 11 15 -0 2 3 4 6 7 10 12 13 -0 2 3 4 6 7 10 12 14 -0 2 3 4 6 7 10 12 15 -0 2 3 4 6 7 10 13 14 -0 2 3 4 6 7 10 13 15 -0 2 3 4 6 7 10 14 15 -0 2 3 4 6 7 11 12 13 -0 2 3 4 6 7 11 12 14 -0 2 3 4 6 7 11 12 15 -0 2 3 4 6 7 11 13 14 -0 2 3 4 6 7 11 13 15 -0 2 3 4 6 7 11 14 15 -0 2 3 4 6 7 12 13 14 -0 2 3 4 6 7 12 13 15 -0 2 3 4 6 7 12 14 15 -0 2 3 4 6 7 13 14 15 -0 2 3 4 6 8 9 10 11 -0 2 3 4 6 8 9 10 12 -0 2 3 4 6 8 9 10 13 -0 2 3 4 6 8 9 10 14 -0 2 3 4 6 8 9 10 15 -0 2 3 4 6 8 9 11 12 -0 2 3 4 6 8 9 11 13 -0 2 3 4 6 8 9 11 14 -0 2 3 4 6 8 9 11 15 -0 2 3 4 6 8 9 12 13 -0 2 3 4 6 8 9 12 14 -0 2 3 4 6 8 9 12 15 -0 2 3 4 6 8 9 13 14 -0 2 3 4 6 8 9 13 15 -0 2 3 4 6 8 9 14 15 -0 2 3 4 6 8 10 11 12 -0 2 3 4 6 8 10 11 13 -0 2 3 4 6 8 10 11 14 -0 2 3 4 6 8 10 11 15 -0 2 3 4 6 8 10 12 13 -0 2 3 4 6 8 10 12 14 -0 2 3 4 6 8 10 12 15 -0 2 3 4 6 8 10 13 14 -0 2 3 4 6 8 10 13 15 -0 2 3 4 6 8 10 14 15 -0 2 3 4 6 8 11 12 13 -0 2 3 4 6 8 11 12 14 -0 2 3 4 6 8 11 12 15 -0 2 3 4 6 8 11 13 14 -0 2 3 4 6 8 11 13 15 -0 2 3 4 6 8 11 14 15 -0 2 3 4 6 8 12 13 14 -0 2 3 4 6 8 12 13 15 -0 2 3 4 6 8 12 14 15 -0 2 3 4 6 8 13 14 15 -0 2 3 4 6 9 10 11 12 -0 2 3 4 6 9 10 11 13 -0 2 3 4 6 9 10 11 14 -0 2 3 4 6 9 10 11 15 -0 2 3 4 6 9 10 12 13 -0 2 3 4 6 9 10 12 14 -0 2 3 4 6 9 10 12 15 -0 2 3 4 6 9 10 13 14 -0 2 3 4 6 9 10 13 15 -0 2 3 4 6 9 10 14 15 -0 2 3 4 6 9 11 12 13 -0 2 3 4 6 9 11 12 14 -0 2 3 4 6 9 11 12 15 -0 2 3 4 6 9 11 13 14 -0 2 3 4 6 9 11 13 15 -0 2 3 4 6 9 11 14 15 -0 2 3 4 6 9 12 13 14 -0 2 3 4 6 9 12 13 15 -0 2 3 4 6 9 12 14 15 -0 2 3 4 6 9 13 14 15 -0 2 3 4 6 10 11 12 13 -0 2 3 4 6 10 11 12 14 -0 2 3 4 6 10 11 12 15 -0 2 3 4 6 10 11 13 14 -0 2 3 4 6 10 11 13 15 -0 2 3 4 6 10 11 14 15 -0 2 3 4 6 10 12 13 14 -0 2 3 4 6 10 12 13 15 -0 2 3 4 6 10 12 14 15 -0 2 3 4 6 10 13 14 15 -0 2 3 4 6 11 12 13 14 -0 2 3 4 6 11 12 13 15 -0 2 3 4 6 11 12 14 15 -0 2 3 4 6 11 13 14 15 -0 2 3 4 6 12 13 14 15 -0 2 3 4 7 8 9 10 11 -0 2 3 4 7 8 9 10 12 -0 2 3 4 7 8 9 10 13 -0 2 3 4 7 8 9 10 14 -0 2 3 4 7 8 9 10 15 -0 2 3 4 7 8 9 11 12 -0 2 3 4 7 8 9 11 13 -0 2 3 4 7 8 9 11 14 -0 2 3 4 7 8 9 11 15 -0 2 3 4 7 8 9 12 13 -0 2 3 4 7 8 9 12 14 -0 2 3 4 7 8 9 12 15 -0 2 3 4 7 8 9 13 14 -0 2 3 4 7 8 9 13 15 -0 2 3 4 7 8 9 14 15 -0 2 3 4 7 8 10 11 12 -0 2 3 4 7 8 10 11 13 -0 2 3 4 7 8 10 11 14 -0 2 3 4 7 8 10 11 15 -0 2 3 4 7 8 10 12 13 -0 2 3 4 7 8 10 12 14 -0 2 3 4 7 8 10 12 15 -0 2 3 4 7 8 10 13 14 -0 2 3 4 7 8 10 13 15 -0 2 3 4 7 8 10 14 15 -0 2 3 4 7 8 11 12 13 -0 2 3 4 7 8 11 12 14 -0 2 3 4 7 8 11 12 15 -0 2 3 4 7 8 11 13 14 -0 2 3 4 7 8 11 13 15 -0 2 3 4 7 8 11 14 15 -0 2 3 4 7 8 12 13 14 -0 2 3 4 7 8 12 13 15 -0 2 3 4 7 8 12 14 15 -0 2 3 4 7 8 13 14 15 -0 2 3 4 7 9 10 11 12 -0 2 3 4 7 9 10 11 13 -0 2 3 4 7 9 10 11 14 -0 2 3 4 7 9 10 11 15 -0 2 3 4 7 9 10 12 13 -0 2 3 4 7 9 10 12 14 -0 2 3 4 7 9 10 12 15 -0 2 3 4 7 9 10 13 14 -0 2 3 4 7 9 10 13 15 -0 2 3 4 7 9 10 14 15 -0 2 3 4 7 9 11 12 13 -0 2 3 4 7 9 11 12 14 -0 2 3 4 7 9 11 12 15 -0 2 3 4 7 9 11 13 14 -0 2 3 4 7 9 11 13 15 -0 2 3 4 7 9 11 14 15 -0 2 3 4 7 9 12 13 14 -0 2 3 4 7 9 12 13 15 -0 2 3 4 7 9 12 14 15 -0 2 3 4 7 9 13 14 15 -0 2 3 4 7 10 11 12 13 -0 2 3 4 7 10 11 12 14 -0 2 3 4 7 10 11 12 15 -0 2 3 4 7 10 11 13 14 -0 2 3 4 7 10 11 13 15 -0 2 3 4 7 10 11 14 15 -0 2 3 4 7 10 12 13 14 -0 2 3 4 7 10 12 13 15 -0 2 3 4 7 10 12 14 15 -0 2 3 4 7 10 13 14 15 -0 2 3 4 7 11 12 13 14 -0 2 3 4 7 11 12 13 15 -0 2 3 4 7 11 12 14 15 -0 2 3 4 7 11 13 14 15 -0 2 3 4 7 12 13 14 15 -0 2 3 4 8 9 10 11 12 -0 2 3 4 8 9 10 11 13 -0 2 3 4 8 9 10 11 14 -0 2 3 4 8 9 10 11 15 -0 2 3 4 8 9 10 12 13 -0 2 3 4 8 9 10 12 14 -0 2 3 4 8 9 10 12 15 -0 2 3 4 8 9 10 13 14 -0 2 3 4 8 9 10 13 15 -0 2 3 4 8 9 10 14 15 -0 2 3 4 8 9 11 12 13 -0 2 3 4 8 9 11 12 14 -0 2 3 4 8 9 11 12 15 -0 2 3 4 8 9 11 13 14 -0 2 3 4 8 9 11 13 15 -0 2 3 4 8 9 11 14 15 -0 2 3 4 8 9 12 13 14 -0 2 3 4 8 9 12 13 15 -0 2 3 4 8 9 12 14 15 -0 2 3 4 8 9 13 14 15 -0 2 3 4 8 10 11 12 13 -0 2 3 4 8 10 11 12 14 -0 2 3 4 8 10 11 12 15 -0 2 3 4 8 10 11 13 14 -0 2 3 4 8 10 11 13 15 -0 2 3 4 8 10 11 14 15 -0 2 3 4 8 10 12 13 14 -0 2 3 4 8 10 12 13 15 -0 2 3 4 8 10 12 14 15 -0 2 3 4 8 10 13 14 15 -0 2 3 4 8 11 12 13 14 -0 2 3 4 8 11 12 13 15 -0 2 3 4 8 11 12 14 15 -0 2 3 4 8 11 13 14 15 -0 2 3 4 8 12 13 14 15 -0 2 3 4 9 10 11 12 13 -0 2 3 4 9 10 11 12 14 -0 2 3 4 9 10 11 12 15 -0 2 3 4 9 10 11 13 14 -0 2 3 4 9 10 11 13 15 -0 2 3 4 9 10 11 14 15 -0 2 3 4 9 10 12 13 14 -0 2 3 4 9 10 12 13 15 -0 2 3 4 9 10 12 14 15 -0 2 3 4 9 10 13 14 15 -0 2 3 4 9 11 12 13 14 -0 2 3 4 9 11 12 13 15 -0 2 3 4 9 11 12 14 15 -0 2 3 4 9 11 13 14 15 -0 2 3 4 9 12 13 14 15 -0 2 3 4 10 11 12 13 14 -0 2 3 4 10 11 12 13 15 -0 2 3 4 10 11 12 14 15 -0 2 3 4 10 11 13 14 15 -0 2 3 4 10 12 13 14 15 -0 2 3 4 11 12 13 14 15 -0 2 3 5 6 7 8 9 10 -0 2 3 5 6 7 8 9 11 -0 2 3 5 6 7 8 9 12 -0 2 3 5 6 7 8 9 13 -0 2 3 5 6 7 8 9 14 -0 2 3 5 6 7 8 9 15 -0 2 3 5 6 7 8 10 11 -0 2 3 5 6 7 8 10 12 -0 2 3 5 6 7 8 10 13 -0 2 3 5 6 7 8 10 14 -0 2 3 5 6 7 8 10 15 -0 2 3 5 6 7 8 11 12 -0 2 3 5 6 7 8 11 13 -0 2 3 5 6 7 8 11 14 -0 2 3 5 6 7 8 11 15 -0 2 3 5 6 7 8 12 13 -0 2 3 5 6 7 8 12 14 -0 2 3 5 6 7 8 12 15 -0 2 3 5 6 7 8 13 14 -0 2 3 5 6 7 8 13 15 -0 2 3 5 6 7 8 14 15 -0 2 3 5 6 7 9 10 11 -0 2 3 5 6 7 9 10 12 -0 2 3 5 6 7 9 10 13 -0 2 3 5 6 7 9 10 14 -0 2 3 5 6 7 9 10 15 -0 2 3 5 6 7 9 11 12 -0 2 3 5 6 7 9 11 13 -0 2 3 5 6 7 9 11 14 -0 2 3 5 6 7 9 11 15 -0 2 3 5 6 7 9 12 13 -0 2 3 5 6 7 9 12 14 -0 2 3 5 6 7 9 12 15 -0 2 3 5 6 7 9 13 14 -0 2 3 5 6 7 9 13 15 -0 2 3 5 6 7 9 14 15 -0 2 3 5 6 7 10 11 12 -0 2 3 5 6 7 10 11 13 -0 2 3 5 6 7 10 11 14 -0 2 3 5 6 7 10 11 15 -0 2 3 5 6 7 10 12 13 -0 2 3 5 6 7 10 12 14 -0 2 3 5 6 7 10 12 15 -0 2 3 5 6 7 10 13 14 -0 2 3 5 6 7 10 13 15 -0 2 3 5 6 7 10 14 15 -0 2 3 5 6 7 11 12 13 -0 2 3 5 6 7 11 12 14 -0 2 3 5 6 7 11 12 15 -0 2 3 5 6 7 11 13 14 -0 2 3 5 6 7 11 13 15 -0 2 3 5 6 7 11 14 15 -0 2 3 5 6 7 12 13 14 -0 2 3 5 6 7 12 13 15 -0 2 3 5 6 7 12 14 15 -0 2 3 5 6 7 13 14 15 -0 2 3 5 6 8 9 10 11 -0 2 3 5 6 8 9 10 12 -0 2 3 5 6 8 9 10 13 -0 2 3 5 6 8 9 10 14 -0 2 3 5 6 8 9 10 15 -0 2 3 5 6 8 9 11 12 -0 2 3 5 6 8 9 11 13 -0 2 3 5 6 8 9 11 14 -0 2 3 5 6 8 9 11 15 -0 2 3 5 6 8 9 12 13 -0 2 3 5 6 8 9 12 14 -0 2 3 5 6 8 9 12 15 -0 2 3 5 6 8 9 13 14 -0 2 3 5 6 8 9 13 15 -0 2 3 5 6 8 9 14 15 -0 2 3 5 6 8 10 11 12 -0 2 3 5 6 8 10 11 13 -0 2 3 5 6 8 10 11 14 -0 2 3 5 6 8 10 11 15 -0 2 3 5 6 8 10 12 13 -0 2 3 5 6 8 10 12 14 -0 2 3 5 6 8 10 12 15 -0 2 3 5 6 8 10 13 14 -0 2 3 5 6 8 10 13 15 -0 2 3 5 6 8 10 14 15 -0 2 3 5 6 8 11 12 13 -0 2 3 5 6 8 11 12 14 -0 2 3 5 6 8 11 12 15 -0 2 3 5 6 8 11 13 14 -0 2 3 5 6 8 11 13 15 -0 2 3 5 6 8 11 14 15 -0 2 3 5 6 8 12 13 14 -0 2 3 5 6 8 12 13 15 -0 2 3 5 6 8 12 14 15 -0 2 3 5 6 8 13 14 15 -0 2 3 5 6 9 10 11 12 -0 2 3 5 6 9 10 11 13 -0 2 3 5 6 9 10 11 14 -0 2 3 5 6 9 10 11 15 -0 2 3 5 6 9 10 12 13 -0 2 3 5 6 9 10 12 14 -0 2 3 5 6 9 10 12 15 -0 2 3 5 6 9 10 13 14 -0 2 3 5 6 9 10 13 15 -0 2 3 5 6 9 10 14 15 -0 2 3 5 6 9 11 12 13 -0 2 3 5 6 9 11 12 14 -0 2 3 5 6 9 11 12 15 -0 2 3 5 6 9 11 13 14 -0 2 3 5 6 9 11 13 15 -0 2 3 5 6 9 11 14 15 -0 2 3 5 6 9 12 13 14 -0 2 3 5 6 9 12 13 15 -0 2 3 5 6 9 12 14 15 -0 2 3 5 6 9 13 14 15 -0 2 3 5 6 10 11 12 13 -0 2 3 5 6 10 11 12 14 -0 2 3 5 6 10 11 12 15 -0 2 3 5 6 10 11 13 14 -0 2 3 5 6 10 11 13 15 -0 2 3 5 6 10 11 14 15 -0 2 3 5 6 10 12 13 14 -0 2 3 5 6 10 12 13 15 -0 2 3 5 6 10 12 14 15 -0 2 3 5 6 10 13 14 15 -0 2 3 5 6 11 12 13 14 -0 2 3 5 6 11 12 13 15 -0 2 3 5 6 11 12 14 15 -0 2 3 5 6 11 13 14 15 -0 2 3 5 6 12 13 14 15 -0 2 3 5 7 8 9 10 11 -0 2 3 5 7 8 9 10 12 -0 2 3 5 7 8 9 10 13 -0 2 3 5 7 8 9 10 14 -0 2 3 5 7 8 9 10 15 -0 2 3 5 7 8 9 11 12 -0 2 3 5 7 8 9 11 13 -0 2 3 5 7 8 9 11 14 -0 2 3 5 7 8 9 11 15 -0 2 3 5 7 8 9 12 13 -0 2 3 5 7 8 9 12 14 -0 2 3 5 7 8 9 12 15 -0 2 3 5 7 8 9 13 14 -0 2 3 5 7 8 9 13 15 -0 2 3 5 7 8 9 14 15 -0 2 3 5 7 8 10 11 12 -0 2 3 5 7 8 10 11 13 -0 2 3 5 7 8 10 11 14 -0 2 3 5 7 8 10 11 15 -0 2 3 5 7 8 10 12 13 -0 2 3 5 7 8 10 12 14 -0 2 3 5 7 8 10 12 15 -0 2 3 5 7 8 10 13 14 -0 2 3 5 7 8 10 13 15 -0 2 3 5 7 8 10 14 15 -0 2 3 5 7 8 11 12 13 -0 2 3 5 7 8 11 12 14 -0 2 3 5 7 8 11 12 15 -0 2 3 5 7 8 11 13 14 -0 2 3 5 7 8 11 13 15 -0 2 3 5 7 8 11 14 15 -0 2 3 5 7 8 12 13 14 -0 2 3 5 7 8 12 13 15 -0 2 3 5 7 8 12 14 15 -0 2 3 5 7 8 13 14 15 -0 2 3 5 7 9 10 11 12 -0 2 3 5 7 9 10 11 13 -0 2 3 5 7 9 10 11 14 -0 2 3 5 7 9 10 11 15 -0 2 3 5 7 9 10 12 13 -0 2 3 5 7 9 10 12 14 -0 2 3 5 7 9 10 12 15 -0 2 3 5 7 9 10 13 14 -0 2 3 5 7 9 10 13 15 -0 2 3 5 7 9 10 14 15 -0 2 3 5 7 9 11 12 13 -0 2 3 5 7 9 11 12 14 -0 2 3 5 7 9 11 12 15 -0 2 3 5 7 9 11 13 14 -0 2 3 5 7 9 11 13 15 -0 2 3 5 7 9 11 14 15 -0 2 3 5 7 9 12 13 14 -0 2 3 5 7 9 12 13 15 -0 2 3 5 7 9 12 14 15 -0 2 3 5 7 9 13 14 15 -0 2 3 5 7 10 11 12 13 -0 2 3 5 7 10 11 12 14 -0 2 3 5 7 10 11 12 15 -0 2 3 5 7 10 11 13 14 -0 2 3 5 7 10 11 13 15 -0 2 3 5 7 10 11 14 15 -0 2 3 5 7 10 12 13 14 -0 2 3 5 7 10 12 13 15 -0 2 3 5 7 10 12 14 15 -0 2 3 5 7 10 13 14 15 -0 2 3 5 7 11 12 13 14 -0 2 3 5 7 11 12 13 15 -0 2 3 5 7 11 12 14 15 -0 2 3 5 7 11 13 14 15 -0 2 3 5 7 12 13 14 15 -0 2 3 5 8 9 10 11 12 -0 2 3 5 8 9 10 11 13 -0 2 3 5 8 9 10 11 14 -0 2 3 5 8 9 10 11 15 -0 2 3 5 8 9 10 12 13 -0 2 3 5 8 9 10 12 14 -0 2 3 5 8 9 10 12 15 -0 2 3 5 8 9 10 13 14 -0 2 3 5 8 9 10 13 15 -0 2 3 5 8 9 10 14 15 -0 2 3 5 8 9 11 12 13 -0 2 3 5 8 9 11 12 14 -0 2 3 5 8 9 11 12 15 -0 2 3 5 8 9 11 13 14 -0 2 3 5 8 9 11 13 15 -0 2 3 5 8 9 11 14 15 -0 2 3 5 8 9 12 13 14 -0 2 3 5 8 9 12 13 15 -0 2 3 5 8 9 12 14 15 -0 2 3 5 8 9 13 14 15 -0 2 3 5 8 10 11 12 13 -0 2 3 5 8 10 11 12 14 -0 2 3 5 8 10 11 12 15 -0 2 3 5 8 10 11 13 14 -0 2 3 5 8 10 11 13 15 -0 2 3 5 8 10 11 14 15 -0 2 3 5 8 10 12 13 14 -0 2 3 5 8 10 12 13 15 -0 2 3 5 8 10 12 14 15 -0 2 3 5 8 10 13 14 15 -0 2 3 5 8 11 12 13 14 -0 2 3 5 8 11 12 13 15 -0 2 3 5 8 11 12 14 15 -0 2 3 5 8 11 13 14 15 -0 2 3 5 8 12 13 14 15 -0 2 3 5 9 10 11 12 13 -0 2 3 5 9 10 11 12 14 -0 2 3 5 9 10 11 12 15 -0 2 3 5 9 10 11 13 14 -0 2 3 5 9 10 11 13 15 -0 2 3 5 9 10 11 14 15 -0 2 3 5 9 10 12 13 14 -0 2 3 5 9 10 12 13 15 -0 2 3 5 9 10 12 14 15 -0 2 3 5 9 10 13 14 15 -0 2 3 5 9 11 12 13 14 -0 2 3 5 9 11 12 13 15 -0 2 3 5 9 11 12 14 15 -0 2 3 5 9 11 13 14 15 -0 2 3 5 9 12 13 14 15 -0 2 3 5 10 11 12 13 14 -0 2 3 5 10 11 12 13 15 -0 2 3 5 10 11 12 14 15 -0 2 3 5 10 11 13 14 15 -0 2 3 5 10 12 13 14 15 -0 2 3 5 11 12 13 14 15 -0 2 3 6 7 8 9 10 11 -0 2 3 6 7 8 9 10 12 -0 2 3 6 7 8 9 10 13 -0 2 3 6 7 8 9 10 14 -0 2 3 6 7 8 9 10 15 -0 2 3 6 7 8 9 11 12 -0 2 3 6 7 8 9 11 13 -0 2 3 6 7 8 9 11 14 -0 2 3 6 7 8 9 11 15 -0 2 3 6 7 8 9 12 13 -0 2 3 6 7 8 9 12 14 -0 2 3 6 7 8 9 12 15 -0 2 3 6 7 8 9 13 14 -0 2 3 6 7 8 9 13 15 -0 2 3 6 7 8 9 14 15 -0 2 3 6 7 8 10 11 12 -0 2 3 6 7 8 10 11 13 -0 2 3 6 7 8 10 11 14 -0 2 3 6 7 8 10 11 15 -0 2 3 6 7 8 10 12 13 -0 2 3 6 7 8 10 12 14 -0 2 3 6 7 8 10 12 15 -0 2 3 6 7 8 10 13 14 -0 2 3 6 7 8 10 13 15 -0 2 3 6 7 8 10 14 15 -0 2 3 6 7 8 11 12 13 -0 2 3 6 7 8 11 12 14 -0 2 3 6 7 8 11 12 15 -0 2 3 6 7 8 11 13 14 -0 2 3 6 7 8 11 13 15 -0 2 3 6 7 8 11 14 15 -0 2 3 6 7 8 12 13 14 -0 2 3 6 7 8 12 13 15 -0 2 3 6 7 8 12 14 15 -0 2 3 6 7 8 13 14 15 -0 2 3 6 7 9 10 11 12 -0 2 3 6 7 9 10 11 13 -0 2 3 6 7 9 10 11 14 -0 2 3 6 7 9 10 11 15 -0 2 3 6 7 9 10 12 13 -0 2 3 6 7 9 10 12 14 -0 2 3 6 7 9 10 12 15 -0 2 3 6 7 9 10 13 14 -0 2 3 6 7 9 10 13 15 -0 2 3 6 7 9 10 14 15 -0 2 3 6 7 9 11 12 13 -0 2 3 6 7 9 11 12 14 -0 2 3 6 7 9 11 12 15 -0 2 3 6 7 9 11 13 14 -0 2 3 6 7 9 11 13 15 -0 2 3 6 7 9 11 14 15 -0 2 3 6 7 9 12 13 14 -0 2 3 6 7 9 12 13 15 -0 2 3 6 7 9 12 14 15 -0 2 3 6 7 9 13 14 15 -0 2 3 6 7 10 11 12 13 -0 2 3 6 7 10 11 12 14 -0 2 3 6 7 10 11 12 15 -0 2 3 6 7 10 11 13 14 -0 2 3 6 7 10 11 13 15 -0 2 3 6 7 10 11 14 15 -0 2 3 6 7 10 12 13 14 -0 2 3 6 7 10 12 13 15 -0 2 3 6 7 10 12 14 15 -0 2 3 6 7 10 13 14 15 -0 2 3 6 7 11 12 13 14 -0 2 3 6 7 11 12 13 15 -0 2 3 6 7 11 12 14 15 -0 2 3 6 7 11 13 14 15 -0 2 3 6 7 12 13 14 15 -0 2 3 6 8 9 10 11 12 -0 2 3 6 8 9 10 11 13 -0 2 3 6 8 9 10 11 14 -0 2 3 6 8 9 10 11 15 -0 2 3 6 8 9 10 12 13 -0 2 3 6 8 9 10 12 14 -0 2 3 6 8 9 10 12 15 -0 2 3 6 8 9 10 13 14 -0 2 3 6 8 9 10 13 15 -0 2 3 6 8 9 10 14 15 -0 2 3 6 8 9 11 12 13 -0 2 3 6 8 9 11 12 14 -0 2 3 6 8 9 11 12 15 -0 2 3 6 8 9 11 13 14 -0 2 3 6 8 9 11 13 15 -0 2 3 6 8 9 11 14 15 -0 2 3 6 8 9 12 13 14 -0 2 3 6 8 9 12 13 15 -0 2 3 6 8 9 12 14 15 -0 2 3 6 8 9 13 14 15 -0 2 3 6 8 10 11 12 13 -0 2 3 6 8 10 11 12 14 -0 2 3 6 8 10 11 12 15 -0 2 3 6 8 10 11 13 14 -0 2 3 6 8 10 11 13 15 -0 2 3 6 8 10 11 14 15 -0 2 3 6 8 10 12 13 14 -0 2 3 6 8 10 12 13 15 -0 2 3 6 8 10 12 14 15 -0 2 3 6 8 10 13 14 15 -0 2 3 6 8 11 12 13 14 -0 2 3 6 8 11 12 13 15 -0 2 3 6 8 11 12 14 15 -0 2 3 6 8 11 13 14 15 -0 2 3 6 8 12 13 14 15 -0 2 3 6 9 10 11 12 13 -0 2 3 6 9 10 11 12 14 -0 2 3 6 9 10 11 12 15 -0 2 3 6 9 10 11 13 14 -0 2 3 6 9 10 11 13 15 -0 2 3 6 9 10 11 14 15 -0 2 3 6 9 10 12 13 14 -0 2 3 6 9 10 12 13 15 -0 2 3 6 9 10 12 14 15 -0 2 3 6 9 10 13 14 15 -0 2 3 6 9 11 12 13 14 -0 2 3 6 9 11 12 13 15 -0 2 3 6 9 11 12 14 15 -0 2 3 6 9 11 13 14 15 -0 2 3 6 9 12 13 14 15 -0 2 3 6 10 11 12 13 14 -0 2 3 6 10 11 12 13 15 -0 2 3 6 10 11 12 14 15 -0 2 3 6 10 11 13 14 15 -0 2 3 6 10 12 13 14 15 -0 2 3 6 11 12 13 14 15 -0 2 3 7 8 9 10 11 12 -0 2 3 7 8 9 10 11 13 -0 2 3 7 8 9 10 11 14 -0 2 3 7 8 9 10 11 15 -0 2 3 7 8 9 10 12 13 -0 2 3 7 8 9 10 12 14 -0 2 3 7 8 9 10 12 15 -0 2 3 7 8 9 10 13 14 -0 2 3 7 8 9 10 13 15 -0 2 3 7 8 9 10 14 15 -0 2 3 7 8 9 11 12 13 -0 2 3 7 8 9 11 12 14 -0 2 3 7 8 9 11 12 15 -0 2 3 7 8 9 11 13 14 -0 2 3 7 8 9 11 13 15 -0 2 3 7 8 9 11 14 15 -0 2 3 7 8 9 12 13 14 -0 2 3 7 8 9 12 13 15 -0 2 3 7 8 9 12 14 15 -0 2 3 7 8 9 13 14 15 -0 2 3 7 8 10 11 12 13 -0 2 3 7 8 10 11 12 14 -0 2 3 7 8 10 11 12 15 -0 2 3 7 8 10 11 13 14 -0 2 3 7 8 10 11 13 15 -0 2 3 7 8 10 11 14 15 -0 2 3 7 8 10 12 13 14 -0 2 3 7 8 10 12 13 15 -0 2 3 7 8 10 12 14 15 -0 2 3 7 8 10 13 14 15 -0 2 3 7 8 11 12 13 14 -0 2 3 7 8 11 12 13 15 -0 2 3 7 8 11 12 14 15 -0 2 3 7 8 11 13 14 15 -0 2 3 7 8 12 13 14 15 -0 2 3 7 9 10 11 12 13 -0 2 3 7 9 10 11 12 14 -0 2 3 7 9 10 11 12 15 -0 2 3 7 9 10 11 13 14 -0 2 3 7 9 10 11 13 15 -0 2 3 7 9 10 11 14 15 -0 2 3 7 9 10 12 13 14 -0 2 3 7 9 10 12 13 15 -0 2 3 7 9 10 12 14 15 -0 2 3 7 9 10 13 14 15 -0 2 3 7 9 11 12 13 14 -0 2 3 7 9 11 12 13 15 -0 2 3 7 9 11 12 14 15 -0 2 3 7 9 11 13 14 15 -0 2 3 7 9 12 13 14 15 -0 2 3 7 10 11 12 13 14 -0 2 3 7 10 11 12 13 15 -0 2 3 7 10 11 12 14 15 -0 2 3 7 10 11 13 14 15 -0 2 3 7 10 12 13 14 15 -0 2 3 7 11 12 13 14 15 -0 2 3 8 9 10 11 12 13 -0 2 3 8 9 10 11 12 14 -0 2 3 8 9 10 11 12 15 -0 2 3 8 9 10 11 13 14 -0 2 3 8 9 10 11 13 15 -0 2 3 8 9 10 11 14 15 -0 2 3 8 9 10 12 13 14 -0 2 3 8 9 10 12 13 15 -0 2 3 8 9 10 12 14 15 -0 2 3 8 9 10 13 14 15 -0 2 3 8 9 11 12 13 14 -0 2 3 8 9 11 12 13 15 -0 2 3 8 9 11 12 14 15 -0 2 3 8 9 11 13 14 15 -0 2 3 8 9 12 13 14 15 -0 2 3 8 10 11 12 13 14 -0 2 3 8 10 11 12 13 15 -0 2 3 8 10 11 12 14 15 -0 2 3 8 10 11 13 14 15 -0 2 3 8 10 12 13 14 15 -0 2 3 8 11 12 13 14 15 -0 2 3 9 10 11 12 13 14 -0 2 3 9 10 11 12 13 15 -0 2 3 9 10 11 12 14 15 -0 2 3 9 10 11 13 14 15 -0 2 3 9 10 12 13 14 15 -0 2 3 9 11 12 13 14 15 -0 2 3 10 11 12 13 14 15 -0 2 4 5 6 7 8 9 10 -0 2 4 5 6 7 8 9 11 -0 2 4 5 6 7 8 9 12 -0 2 4 5 6 7 8 9 13 -0 2 4 5 6 7 8 9 14 -0 2 4 5 6 7 8 9 15 -0 2 4 5 6 7 8 10 11 -0 2 4 5 6 7 8 10 12 -0 2 4 5 6 7 8 10 13 -0 2 4 5 6 7 8 10 14 -0 2 4 5 6 7 8 10 15 -0 2 4 5 6 7 8 11 12 -0 2 4 5 6 7 8 11 13 -0 2 4 5 6 7 8 11 14 -0 2 4 5 6 7 8 11 15 -0 2 4 5 6 7 8 12 13 -0 2 4 5 6 7 8 12 14 -0 2 4 5 6 7 8 12 15 -0 2 4 5 6 7 8 13 14 -0 2 4 5 6 7 8 13 15 -0 2 4 5 6 7 8 14 15 -0 2 4 5 6 7 9 10 11 -0 2 4 5 6 7 9 10 12 -0 2 4 5 6 7 9 10 13 -0 2 4 5 6 7 9 10 14 -0 2 4 5 6 7 9 10 15 -0 2 4 5 6 7 9 11 12 -0 2 4 5 6 7 9 11 13 -0 2 4 5 6 7 9 11 14 -0 2 4 5 6 7 9 11 15 -0 2 4 5 6 7 9 12 13 -0 2 4 5 6 7 9 12 14 -0 2 4 5 6 7 9 12 15 -0 2 4 5 6 7 9 13 14 -0 2 4 5 6 7 9 13 15 -0 2 4 5 6 7 9 14 15 -0 2 4 5 6 7 10 11 12 -0 2 4 5 6 7 10 11 13 -0 2 4 5 6 7 10 11 14 -0 2 4 5 6 7 10 11 15 -0 2 4 5 6 7 10 12 13 -0 2 4 5 6 7 10 12 14 -0 2 4 5 6 7 10 12 15 -0 2 4 5 6 7 10 13 14 -0 2 4 5 6 7 10 13 15 -0 2 4 5 6 7 10 14 15 -0 2 4 5 6 7 11 12 13 -0 2 4 5 6 7 11 12 14 -0 2 4 5 6 7 11 12 15 -0 2 4 5 6 7 11 13 14 -0 2 4 5 6 7 11 13 15 -0 2 4 5 6 7 11 14 15 -0 2 4 5 6 7 12 13 14 -0 2 4 5 6 7 12 13 15 -0 2 4 5 6 7 12 14 15 -0 2 4 5 6 7 13 14 15 -0 2 4 5 6 8 9 10 11 -0 2 4 5 6 8 9 10 12 -0 2 4 5 6 8 9 10 13 -0 2 4 5 6 8 9 10 14 -0 2 4 5 6 8 9 10 15 -0 2 4 5 6 8 9 11 12 -0 2 4 5 6 8 9 11 13 -0 2 4 5 6 8 9 11 14 -0 2 4 5 6 8 9 11 15 -0 2 4 5 6 8 9 12 13 -0 2 4 5 6 8 9 12 14 -0 2 4 5 6 8 9 12 15 -0 2 4 5 6 8 9 13 14 -0 2 4 5 6 8 9 13 15 -0 2 4 5 6 8 9 14 15 -0 2 4 5 6 8 10 11 12 -0 2 4 5 6 8 10 11 13 -0 2 4 5 6 8 10 11 14 -0 2 4 5 6 8 10 11 15 -0 2 4 5 6 8 10 12 13 -0 2 4 5 6 8 10 12 14 -0 2 4 5 6 8 10 12 15 -0 2 4 5 6 8 10 13 14 -0 2 4 5 6 8 10 13 15 -0 2 4 5 6 8 10 14 15 -0 2 4 5 6 8 11 12 13 -0 2 4 5 6 8 11 12 14 -0 2 4 5 6 8 11 12 15 -0 2 4 5 6 8 11 13 14 -0 2 4 5 6 8 11 13 15 -0 2 4 5 6 8 11 14 15 -0 2 4 5 6 8 12 13 14 -0 2 4 5 6 8 12 13 15 -0 2 4 5 6 8 12 14 15 -0 2 4 5 6 8 13 14 15 -0 2 4 5 6 9 10 11 12 -0 2 4 5 6 9 10 11 13 -0 2 4 5 6 9 10 11 14 -0 2 4 5 6 9 10 11 15 -0 2 4 5 6 9 10 12 13 -0 2 4 5 6 9 10 12 14 -0 2 4 5 6 9 10 12 15 -0 2 4 5 6 9 10 13 14 -0 2 4 5 6 9 10 13 15 -0 2 4 5 6 9 10 14 15 -0 2 4 5 6 9 11 12 13 -0 2 4 5 6 9 11 12 14 -0 2 4 5 6 9 11 12 15 -0 2 4 5 6 9 11 13 14 -0 2 4 5 6 9 11 13 15 -0 2 4 5 6 9 11 14 15 -0 2 4 5 6 9 12 13 14 -0 2 4 5 6 9 12 13 15 -0 2 4 5 6 9 12 14 15 -0 2 4 5 6 9 13 14 15 -0 2 4 5 6 10 11 12 13 -0 2 4 5 6 10 11 12 14 -0 2 4 5 6 10 11 12 15 -0 2 4 5 6 10 11 13 14 -0 2 4 5 6 10 11 13 15 -0 2 4 5 6 10 11 14 15 -0 2 4 5 6 10 12 13 14 -0 2 4 5 6 10 12 13 15 -0 2 4 5 6 10 12 14 15 -0 2 4 5 6 10 13 14 15 -0 2 4 5 6 11 12 13 14 -0 2 4 5 6 11 12 13 15 -0 2 4 5 6 11 12 14 15 -0 2 4 5 6 11 13 14 15 -0 2 4 5 6 12 13 14 15 -0 2 4 5 7 8 9 10 11 -0 2 4 5 7 8 9 10 12 -0 2 4 5 7 8 9 10 13 -0 2 4 5 7 8 9 10 14 -0 2 4 5 7 8 9 10 15 -0 2 4 5 7 8 9 11 12 -0 2 4 5 7 8 9 11 13 -0 2 4 5 7 8 9 11 14 -0 2 4 5 7 8 9 11 15 -0 2 4 5 7 8 9 12 13 -0 2 4 5 7 8 9 12 14 -0 2 4 5 7 8 9 12 15 -0 2 4 5 7 8 9 13 14 -0 2 4 5 7 8 9 13 15 -0 2 4 5 7 8 9 14 15 -0 2 4 5 7 8 10 11 12 -0 2 4 5 7 8 10 11 13 -0 2 4 5 7 8 10 11 14 -0 2 4 5 7 8 10 11 15 -0 2 4 5 7 8 10 12 13 -0 2 4 5 7 8 10 12 14 -0 2 4 5 7 8 10 12 15 -0 2 4 5 7 8 10 13 14 -0 2 4 5 7 8 10 13 15 -0 2 4 5 7 8 10 14 15 -0 2 4 5 7 8 11 12 13 -0 2 4 5 7 8 11 12 14 -0 2 4 5 7 8 11 12 15 -0 2 4 5 7 8 11 13 14 -0 2 4 5 7 8 11 13 15 -0 2 4 5 7 8 11 14 15 -0 2 4 5 7 8 12 13 14 -0 2 4 5 7 8 12 13 15 -0 2 4 5 7 8 12 14 15 -0 2 4 5 7 8 13 14 15 -0 2 4 5 7 9 10 11 12 -0 2 4 5 7 9 10 11 13 -0 2 4 5 7 9 10 11 14 -0 2 4 5 7 9 10 11 15 -0 2 4 5 7 9 10 12 13 -0 2 4 5 7 9 10 12 14 -0 2 4 5 7 9 10 12 15 -0 2 4 5 7 9 10 13 14 -0 2 4 5 7 9 10 13 15 -0 2 4 5 7 9 10 14 15 -0 2 4 5 7 9 11 12 13 -0 2 4 5 7 9 11 12 14 -0 2 4 5 7 9 11 12 15 -0 2 4 5 7 9 11 13 14 -0 2 4 5 7 9 11 13 15 -0 2 4 5 7 9 11 14 15 -0 2 4 5 7 9 12 13 14 -0 2 4 5 7 9 12 13 15 -0 2 4 5 7 9 12 14 15 -0 2 4 5 7 9 13 14 15 -0 2 4 5 7 10 11 12 13 -0 2 4 5 7 10 11 12 14 -0 2 4 5 7 10 11 12 15 -0 2 4 5 7 10 11 13 14 -0 2 4 5 7 10 11 13 15 -0 2 4 5 7 10 11 14 15 -0 2 4 5 7 10 12 13 14 -0 2 4 5 7 10 12 13 15 -0 2 4 5 7 10 12 14 15 -0 2 4 5 7 10 13 14 15 -0 2 4 5 7 11 12 13 14 -0 2 4 5 7 11 12 13 15 -0 2 4 5 7 11 12 14 15 -0 2 4 5 7 11 13 14 15 -0 2 4 5 7 12 13 14 15 -0 2 4 5 8 9 10 11 12 -0 2 4 5 8 9 10 11 13 -0 2 4 5 8 9 10 11 14 -0 2 4 5 8 9 10 11 15 -0 2 4 5 8 9 10 12 13 -0 2 4 5 8 9 10 12 14 -0 2 4 5 8 9 10 12 15 -0 2 4 5 8 9 10 13 14 -0 2 4 5 8 9 10 13 15 -0 2 4 5 8 9 10 14 15 -0 2 4 5 8 9 11 12 13 -0 2 4 5 8 9 11 12 14 -0 2 4 5 8 9 11 12 15 -0 2 4 5 8 9 11 13 14 -0 2 4 5 8 9 11 13 15 -0 2 4 5 8 9 11 14 15 -0 2 4 5 8 9 12 13 14 -0 2 4 5 8 9 12 13 15 -0 2 4 5 8 9 12 14 15 -0 2 4 5 8 9 13 14 15 -0 2 4 5 8 10 11 12 13 -0 2 4 5 8 10 11 12 14 -0 2 4 5 8 10 11 12 15 -0 2 4 5 8 10 11 13 14 -0 2 4 5 8 10 11 13 15 -0 2 4 5 8 10 11 14 15 -0 2 4 5 8 10 12 13 14 -0 2 4 5 8 10 12 13 15 -0 2 4 5 8 10 12 14 15 -0 2 4 5 8 10 13 14 15 -0 2 4 5 8 11 12 13 14 -0 2 4 5 8 11 12 13 15 -0 2 4 5 8 11 12 14 15 -0 2 4 5 8 11 13 14 15 -0 2 4 5 8 12 13 14 15 -0 2 4 5 9 10 11 12 13 -0 2 4 5 9 10 11 12 14 -0 2 4 5 9 10 11 12 15 -0 2 4 5 9 10 11 13 14 -0 2 4 5 9 10 11 13 15 -0 2 4 5 9 10 11 14 15 -0 2 4 5 9 10 12 13 14 -0 2 4 5 9 10 12 13 15 -0 2 4 5 9 10 12 14 15 -0 2 4 5 9 10 13 14 15 -0 2 4 5 9 11 12 13 14 -0 2 4 5 9 11 12 13 15 -0 2 4 5 9 11 12 14 15 -0 2 4 5 9 11 13 14 15 -0 2 4 5 9 12 13 14 15 -0 2 4 5 10 11 12 13 14 -0 2 4 5 10 11 12 13 15 -0 2 4 5 10 11 12 14 15 -0 2 4 5 10 11 13 14 15 -0 2 4 5 10 12 13 14 15 -0 2 4 5 11 12 13 14 15 -0 2 4 6 7 8 9 10 11 -0 2 4 6 7 8 9 10 12 -0 2 4 6 7 8 9 10 13 -0 2 4 6 7 8 9 10 14 -0 2 4 6 7 8 9 10 15 -0 2 4 6 7 8 9 11 12 -0 2 4 6 7 8 9 11 13 -0 2 4 6 7 8 9 11 14 -0 2 4 6 7 8 9 11 15 -0 2 4 6 7 8 9 12 13 -0 2 4 6 7 8 9 12 14 -0 2 4 6 7 8 9 12 15 -0 2 4 6 7 8 9 13 14 -0 2 4 6 7 8 9 13 15 -0 2 4 6 7 8 9 14 15 -0 2 4 6 7 8 10 11 12 -0 2 4 6 7 8 10 11 13 -0 2 4 6 7 8 10 11 14 -0 2 4 6 7 8 10 11 15 -0 2 4 6 7 8 10 12 13 -0 2 4 6 7 8 10 12 14 -0 2 4 6 7 8 10 12 15 -0 2 4 6 7 8 10 13 14 -0 2 4 6 7 8 10 13 15 -0 2 4 6 7 8 10 14 15 -0 2 4 6 7 8 11 12 13 -0 2 4 6 7 8 11 12 14 -0 2 4 6 7 8 11 12 15 -0 2 4 6 7 8 11 13 14 -0 2 4 6 7 8 11 13 15 -0 2 4 6 7 8 11 14 15 -0 2 4 6 7 8 12 13 14 -0 2 4 6 7 8 12 13 15 -0 2 4 6 7 8 12 14 15 -0 2 4 6 7 8 13 14 15 -0 2 4 6 7 9 10 11 12 -0 2 4 6 7 9 10 11 13 -0 2 4 6 7 9 10 11 14 -0 2 4 6 7 9 10 11 15 -0 2 4 6 7 9 10 12 13 -0 2 4 6 7 9 10 12 14 -0 2 4 6 7 9 10 12 15 -0 2 4 6 7 9 10 13 14 -0 2 4 6 7 9 10 13 15 -0 2 4 6 7 9 10 14 15 -0 2 4 6 7 9 11 12 13 -0 2 4 6 7 9 11 12 14 -0 2 4 6 7 9 11 12 15 -0 2 4 6 7 9 11 13 14 -0 2 4 6 7 9 11 13 15 -0 2 4 6 7 9 11 14 15 -0 2 4 6 7 9 12 13 14 -0 2 4 6 7 9 12 13 15 -0 2 4 6 7 9 12 14 15 -0 2 4 6 7 9 13 14 15 -0 2 4 6 7 10 11 12 13 -0 2 4 6 7 10 11 12 14 -0 2 4 6 7 10 11 12 15 -0 2 4 6 7 10 11 13 14 -0 2 4 6 7 10 11 13 15 -0 2 4 6 7 10 11 14 15 -0 2 4 6 7 10 12 13 14 -0 2 4 6 7 10 12 13 15 -0 2 4 6 7 10 12 14 15 -0 2 4 6 7 10 13 14 15 -0 2 4 6 7 11 12 13 14 -0 2 4 6 7 11 12 13 15 -0 2 4 6 7 11 12 14 15 -0 2 4 6 7 11 13 14 15 -0 2 4 6 7 12 13 14 15 -0 2 4 6 8 9 10 11 12 -0 2 4 6 8 9 10 11 13 -0 2 4 6 8 9 10 11 14 -0 2 4 6 8 9 10 11 15 -0 2 4 6 8 9 10 12 13 -0 2 4 6 8 9 10 12 14 -0 2 4 6 8 9 10 12 15 -0 2 4 6 8 9 10 13 14 -0 2 4 6 8 9 10 13 15 -0 2 4 6 8 9 10 14 15 -0 2 4 6 8 9 11 12 13 -0 2 4 6 8 9 11 12 14 -0 2 4 6 8 9 11 12 15 -0 2 4 6 8 9 11 13 14 -0 2 4 6 8 9 11 13 15 -0 2 4 6 8 9 11 14 15 -0 2 4 6 8 9 12 13 14 -0 2 4 6 8 9 12 13 15 -0 2 4 6 8 9 12 14 15 -0 2 4 6 8 9 13 14 15 -0 2 4 6 8 10 11 12 13 -0 2 4 6 8 10 11 12 14 -0 2 4 6 8 10 11 12 15 -0 2 4 6 8 10 11 13 14 -0 2 4 6 8 10 11 13 15 -0 2 4 6 8 10 11 14 15 -0 2 4 6 8 10 12 13 14 -0 2 4 6 8 10 12 13 15 -0 2 4 6 8 10 12 14 15 -0 2 4 6 8 10 13 14 15 -0 2 4 6 8 11 12 13 14 -0 2 4 6 8 11 12 13 15 -0 2 4 6 8 11 12 14 15 -0 2 4 6 8 11 13 14 15 -0 2 4 6 8 12 13 14 15 -0 2 4 6 9 10 11 12 13 -0 2 4 6 9 10 11 12 14 -0 2 4 6 9 10 11 12 15 -0 2 4 6 9 10 11 13 14 -0 2 4 6 9 10 11 13 15 -0 2 4 6 9 10 11 14 15 -0 2 4 6 9 10 12 13 14 -0 2 4 6 9 10 12 13 15 -0 2 4 6 9 10 12 14 15 -0 2 4 6 9 10 13 14 15 -0 2 4 6 9 11 12 13 14 -0 2 4 6 9 11 12 13 15 -0 2 4 6 9 11 12 14 15 -0 2 4 6 9 11 13 14 15 -0 2 4 6 9 12 13 14 15 -0 2 4 6 10 11 12 13 14 -0 2 4 6 10 11 12 13 15 -0 2 4 6 10 11 12 14 15 -0 2 4 6 10 11 13 14 15 -0 2 4 6 10 12 13 14 15 -0 2 4 6 11 12 13 14 15 -0 2 4 7 8 9 10 11 12 -0 2 4 7 8 9 10 11 13 -0 2 4 7 8 9 10 11 14 -0 2 4 7 8 9 10 11 15 -0 2 4 7 8 9 10 12 13 -0 2 4 7 8 9 10 12 14 -0 2 4 7 8 9 10 12 15 -0 2 4 7 8 9 10 13 14 -0 2 4 7 8 9 10 13 15 -0 2 4 7 8 9 10 14 15 -0 2 4 7 8 9 11 12 13 -0 2 4 7 8 9 11 12 14 -0 2 4 7 8 9 11 12 15 -0 2 4 7 8 9 11 13 14 -0 2 4 7 8 9 11 13 15 -0 2 4 7 8 9 11 14 15 -0 2 4 7 8 9 12 13 14 -0 2 4 7 8 9 12 13 15 -0 2 4 7 8 9 12 14 15 -0 2 4 7 8 9 13 14 15 -0 2 4 7 8 10 11 12 13 -0 2 4 7 8 10 11 12 14 -0 2 4 7 8 10 11 12 15 -0 2 4 7 8 10 11 13 14 -0 2 4 7 8 10 11 13 15 -0 2 4 7 8 10 11 14 15 -0 2 4 7 8 10 12 13 14 -0 2 4 7 8 10 12 13 15 -0 2 4 7 8 10 12 14 15 -0 2 4 7 8 10 13 14 15 -0 2 4 7 8 11 12 13 14 -0 2 4 7 8 11 12 13 15 -0 2 4 7 8 11 12 14 15 -0 2 4 7 8 11 13 14 15 -0 2 4 7 8 12 13 14 15 -0 2 4 7 9 10 11 12 13 -0 2 4 7 9 10 11 12 14 -0 2 4 7 9 10 11 12 15 -0 2 4 7 9 10 11 13 14 -0 2 4 7 9 10 11 13 15 -0 2 4 7 9 10 11 14 15 -0 2 4 7 9 10 12 13 14 -0 2 4 7 9 10 12 13 15 -0 2 4 7 9 10 12 14 15 -0 2 4 7 9 10 13 14 15 -0 2 4 7 9 11 12 13 14 -0 2 4 7 9 11 12 13 15 -0 2 4 7 9 11 12 14 15 -0 2 4 7 9 11 13 14 15 -0 2 4 7 9 12 13 14 15 -0 2 4 7 10 11 12 13 14 -0 2 4 7 10 11 12 13 15 -0 2 4 7 10 11 12 14 15 -0 2 4 7 10 11 13 14 15 -0 2 4 7 10 12 13 14 15 -0 2 4 7 11 12 13 14 15 -0 2 4 8 9 10 11 12 13 -0 2 4 8 9 10 11 12 14 -0 2 4 8 9 10 11 12 15 -0 2 4 8 9 10 11 13 14 -0 2 4 8 9 10 11 13 15 -0 2 4 8 9 10 11 14 15 -0 2 4 8 9 10 12 13 14 -0 2 4 8 9 10 12 13 15 -0 2 4 8 9 10 12 14 15 -0 2 4 8 9 10 13 14 15 -0 2 4 8 9 11 12 13 14 -0 2 4 8 9 11 12 13 15 -0 2 4 8 9 11 12 14 15 -0 2 4 8 9 11 13 14 15 -0 2 4 8 9 12 13 14 15 -0 2 4 8 10 11 12 13 14 -0 2 4 8 10 11 12 13 15 -0 2 4 8 10 11 12 14 15 -0 2 4 8 10 11 13 14 15 -0 2 4 8 10 12 13 14 15 -0 2 4 8 11 12 13 14 15 -0 2 4 9 10 11 12 13 14 -0 2 4 9 10 11 12 13 15 -0 2 4 9 10 11 12 14 15 -0 2 4 9 10 11 13 14 15 -0 2 4 9 10 12 13 14 15 -0 2 4 9 11 12 13 14 15 -0 2 4 10 11 12 13 14 15 -0 2 5 6 7 8 9 10 11 -0 2 5 6 7 8 9 10 12 -0 2 5 6 7 8 9 10 13 -0 2 5 6 7 8 9 10 14 -0 2 5 6 7 8 9 10 15 -0 2 5 6 7 8 9 11 12 -0 2 5 6 7 8 9 11 13 -0 2 5 6 7 8 9 11 14 -0 2 5 6 7 8 9 11 15 -0 2 5 6 7 8 9 12 13 -0 2 5 6 7 8 9 12 14 -0 2 5 6 7 8 9 12 15 -0 2 5 6 7 8 9 13 14 -0 2 5 6 7 8 9 13 15 -0 2 5 6 7 8 9 14 15 -0 2 5 6 7 8 10 11 12 -0 2 5 6 7 8 10 11 13 -0 2 5 6 7 8 10 11 14 -0 2 5 6 7 8 10 11 15 -0 2 5 6 7 8 10 12 13 -0 2 5 6 7 8 10 12 14 -0 2 5 6 7 8 10 12 15 -0 2 5 6 7 8 10 13 14 -0 2 5 6 7 8 10 13 15 -0 2 5 6 7 8 10 14 15 -0 2 5 6 7 8 11 12 13 -0 2 5 6 7 8 11 12 14 -0 2 5 6 7 8 11 12 15 -0 2 5 6 7 8 11 13 14 -0 2 5 6 7 8 11 13 15 -0 2 5 6 7 8 11 14 15 -0 2 5 6 7 8 12 13 14 -0 2 5 6 7 8 12 13 15 -0 2 5 6 7 8 12 14 15 -0 2 5 6 7 8 13 14 15 -0 2 5 6 7 9 10 11 12 -0 2 5 6 7 9 10 11 13 -0 2 5 6 7 9 10 11 14 -0 2 5 6 7 9 10 11 15 -0 2 5 6 7 9 10 12 13 -0 2 5 6 7 9 10 12 14 -0 2 5 6 7 9 10 12 15 -0 2 5 6 7 9 10 13 14 -0 2 5 6 7 9 10 13 15 -0 2 5 6 7 9 10 14 15 -0 2 5 6 7 9 11 12 13 -0 2 5 6 7 9 11 12 14 -0 2 5 6 7 9 11 12 15 -0 2 5 6 7 9 11 13 14 -0 2 5 6 7 9 11 13 15 -0 2 5 6 7 9 11 14 15 -0 2 5 6 7 9 12 13 14 -0 2 5 6 7 9 12 13 15 -0 2 5 6 7 9 12 14 15 -0 2 5 6 7 9 13 14 15 -0 2 5 6 7 10 11 12 13 -0 2 5 6 7 10 11 12 14 -0 2 5 6 7 10 11 12 15 -0 2 5 6 7 10 11 13 14 -0 2 5 6 7 10 11 13 15 -0 2 5 6 7 10 11 14 15 -0 2 5 6 7 10 12 13 14 -0 2 5 6 7 10 12 13 15 -0 2 5 6 7 10 12 14 15 -0 2 5 6 7 10 13 14 15 -0 2 5 6 7 11 12 13 14 -0 2 5 6 7 11 12 13 15 -0 2 5 6 7 11 12 14 15 -0 2 5 6 7 11 13 14 15 -0 2 5 6 7 12 13 14 15 -0 2 5 6 8 9 10 11 12 -0 2 5 6 8 9 10 11 13 -0 2 5 6 8 9 10 11 14 -0 2 5 6 8 9 10 11 15 -0 2 5 6 8 9 10 12 13 -0 2 5 6 8 9 10 12 14 -0 2 5 6 8 9 10 12 15 -0 2 5 6 8 9 10 13 14 -0 2 5 6 8 9 10 13 15 -0 2 5 6 8 9 10 14 15 -0 2 5 6 8 9 11 12 13 -0 2 5 6 8 9 11 12 14 -0 2 5 6 8 9 11 12 15 -0 2 5 6 8 9 11 13 14 -0 2 5 6 8 9 11 13 15 -0 2 5 6 8 9 11 14 15 -0 2 5 6 8 9 12 13 14 -0 2 5 6 8 9 12 13 15 -0 2 5 6 8 9 12 14 15 -0 2 5 6 8 9 13 14 15 -0 2 5 6 8 10 11 12 13 -0 2 5 6 8 10 11 12 14 -0 2 5 6 8 10 11 12 15 -0 2 5 6 8 10 11 13 14 -0 2 5 6 8 10 11 13 15 -0 2 5 6 8 10 11 14 15 -0 2 5 6 8 10 12 13 14 -0 2 5 6 8 10 12 13 15 -0 2 5 6 8 10 12 14 15 -0 2 5 6 8 10 13 14 15 -0 2 5 6 8 11 12 13 14 -0 2 5 6 8 11 12 13 15 -0 2 5 6 8 11 12 14 15 -0 2 5 6 8 11 13 14 15 -0 2 5 6 8 12 13 14 15 -0 2 5 6 9 10 11 12 13 -0 2 5 6 9 10 11 12 14 -0 2 5 6 9 10 11 12 15 -0 2 5 6 9 10 11 13 14 -0 2 5 6 9 10 11 13 15 -0 2 5 6 9 10 11 14 15 -0 2 5 6 9 10 12 13 14 -0 2 5 6 9 10 12 13 15 -0 2 5 6 9 10 12 14 15 -0 2 5 6 9 10 13 14 15 -0 2 5 6 9 11 12 13 14 -0 2 5 6 9 11 12 13 15 -0 2 5 6 9 11 12 14 15 -0 2 5 6 9 11 13 14 15 -0 2 5 6 9 12 13 14 15 -0 2 5 6 10 11 12 13 14 -0 2 5 6 10 11 12 13 15 -0 2 5 6 10 11 12 14 15 -0 2 5 6 10 11 13 14 15 -0 2 5 6 10 12 13 14 15 -0 2 5 6 11 12 13 14 15 -0 2 5 7 8 9 10 11 12 -0 2 5 7 8 9 10 11 13 -0 2 5 7 8 9 10 11 14 -0 2 5 7 8 9 10 11 15 -0 2 5 7 8 9 10 12 13 -0 2 5 7 8 9 10 12 14 -0 2 5 7 8 9 10 12 15 -0 2 5 7 8 9 10 13 14 -0 2 5 7 8 9 10 13 15 -0 2 5 7 8 9 10 14 15 -0 2 5 7 8 9 11 12 13 -0 2 5 7 8 9 11 12 14 -0 2 5 7 8 9 11 12 15 -0 2 5 7 8 9 11 13 14 -0 2 5 7 8 9 11 13 15 -0 2 5 7 8 9 11 14 15 -0 2 5 7 8 9 12 13 14 -0 2 5 7 8 9 12 13 15 -0 2 5 7 8 9 12 14 15 -0 2 5 7 8 9 13 14 15 -0 2 5 7 8 10 11 12 13 -0 2 5 7 8 10 11 12 14 -0 2 5 7 8 10 11 12 15 -0 2 5 7 8 10 11 13 14 -0 2 5 7 8 10 11 13 15 -0 2 5 7 8 10 11 14 15 -0 2 5 7 8 10 12 13 14 -0 2 5 7 8 10 12 13 15 -0 2 5 7 8 10 12 14 15 -0 2 5 7 8 10 13 14 15 -0 2 5 7 8 11 12 13 14 -0 2 5 7 8 11 12 13 15 -0 2 5 7 8 11 12 14 15 -0 2 5 7 8 11 13 14 15 -0 2 5 7 8 12 13 14 15 -0 2 5 7 9 10 11 12 13 -0 2 5 7 9 10 11 12 14 -0 2 5 7 9 10 11 12 15 -0 2 5 7 9 10 11 13 14 -0 2 5 7 9 10 11 13 15 -0 2 5 7 9 10 11 14 15 -0 2 5 7 9 10 12 13 14 -0 2 5 7 9 10 12 13 15 -0 2 5 7 9 10 12 14 15 -0 2 5 7 9 10 13 14 15 -0 2 5 7 9 11 12 13 14 -0 2 5 7 9 11 12 13 15 -0 2 5 7 9 11 12 14 15 -0 2 5 7 9 11 13 14 15 -0 2 5 7 9 12 13 14 15 -0 2 5 7 10 11 12 13 14 -0 2 5 7 10 11 12 13 15 -0 2 5 7 10 11 12 14 15 -0 2 5 7 10 11 13 14 15 -0 2 5 7 10 12 13 14 15 -0 2 5 7 11 12 13 14 15 -0 2 5 8 9 10 11 12 13 -0 2 5 8 9 10 11 12 14 -0 2 5 8 9 10 11 12 15 -0 2 5 8 9 10 11 13 14 -0 2 5 8 9 10 11 13 15 -0 2 5 8 9 10 11 14 15 -0 2 5 8 9 10 12 13 14 -0 2 5 8 9 10 12 13 15 -0 2 5 8 9 10 12 14 15 -0 2 5 8 9 10 13 14 15 -0 2 5 8 9 11 12 13 14 -0 2 5 8 9 11 12 13 15 -0 2 5 8 9 11 12 14 15 -0 2 5 8 9 11 13 14 15 -0 2 5 8 9 12 13 14 15 -0 2 5 8 10 11 12 13 14 -0 2 5 8 10 11 12 13 15 -0 2 5 8 10 11 12 14 15 -0 2 5 8 10 11 13 14 15 -0 2 5 8 10 12 13 14 15 -0 2 5 8 11 12 13 14 15 -0 2 5 9 10 11 12 13 14 -0 2 5 9 10 11 12 13 15 -0 2 5 9 10 11 12 14 15 -0 2 5 9 10 11 13 14 15 -0 2 5 9 10 12 13 14 15 -0 2 5 9 11 12 13 14 15 -0 2 5 10 11 12 13 14 15 -0 2 6 7 8 9 10 11 12 -0 2 6 7 8 9 10 11 13 -0 2 6 7 8 9 10 11 14 -0 2 6 7 8 9 10 11 15 -0 2 6 7 8 9 10 12 13 -0 2 6 7 8 9 10 12 14 -0 2 6 7 8 9 10 12 15 -0 2 6 7 8 9 10 13 14 -0 2 6 7 8 9 10 13 15 -0 2 6 7 8 9 10 14 15 -0 2 6 7 8 9 11 12 13 -0 2 6 7 8 9 11 12 14 -0 2 6 7 8 9 11 12 15 -0 2 6 7 8 9 11 13 14 -0 2 6 7 8 9 11 13 15 -0 2 6 7 8 9 11 14 15 -0 2 6 7 8 9 12 13 14 -0 2 6 7 8 9 12 13 15 -0 2 6 7 8 9 12 14 15 -0 2 6 7 8 9 13 14 15 -0 2 6 7 8 10 11 12 13 -0 2 6 7 8 10 11 12 14 -0 2 6 7 8 10 11 12 15 -0 2 6 7 8 10 11 13 14 -0 2 6 7 8 10 11 13 15 -0 2 6 7 8 10 11 14 15 -0 2 6 7 8 10 12 13 14 -0 2 6 7 8 10 12 13 15 -0 2 6 7 8 10 12 14 15 -0 2 6 7 8 10 13 14 15 -0 2 6 7 8 11 12 13 14 -0 2 6 7 8 11 12 13 15 -0 2 6 7 8 11 12 14 15 -0 2 6 7 8 11 13 14 15 -0 2 6 7 8 12 13 14 15 -0 2 6 7 9 10 11 12 13 -0 2 6 7 9 10 11 12 14 -0 2 6 7 9 10 11 12 15 -0 2 6 7 9 10 11 13 14 -0 2 6 7 9 10 11 13 15 -0 2 6 7 9 10 11 14 15 -0 2 6 7 9 10 12 13 14 -0 2 6 7 9 10 12 13 15 -0 2 6 7 9 10 12 14 15 -0 2 6 7 9 10 13 14 15 -0 2 6 7 9 11 12 13 14 -0 2 6 7 9 11 12 13 15 -0 2 6 7 9 11 12 14 15 -0 2 6 7 9 11 13 14 15 -0 2 6 7 9 12 13 14 15 -0 2 6 7 10 11 12 13 14 -0 2 6 7 10 11 12 13 15 -0 2 6 7 10 11 12 14 15 -0 2 6 7 10 11 13 14 15 -0 2 6 7 10 12 13 14 15 -0 2 6 7 11 12 13 14 15 -0 2 6 8 9 10 11 12 13 -0 2 6 8 9 10 11 12 14 -0 2 6 8 9 10 11 12 15 -0 2 6 8 9 10 11 13 14 -0 2 6 8 9 10 11 13 15 -0 2 6 8 9 10 11 14 15 -0 2 6 8 9 10 12 13 14 -0 2 6 8 9 10 12 13 15 -0 2 6 8 9 10 12 14 15 -0 2 6 8 9 10 13 14 15 -0 2 6 8 9 11 12 13 14 -0 2 6 8 9 11 12 13 15 -0 2 6 8 9 11 12 14 15 -0 2 6 8 9 11 13 14 15 -0 2 6 8 9 12 13 14 15 -0 2 6 8 10 11 12 13 14 -0 2 6 8 10 11 12 13 15 -0 2 6 8 10 11 12 14 15 -0 2 6 8 10 11 13 14 15 -0 2 6 8 10 12 13 14 15 -0 2 6 8 11 12 13 14 15 -0 2 6 9 10 11 12 13 14 -0 2 6 9 10 11 12 13 15 -0 2 6 9 10 11 12 14 15 -0 2 6 9 10 11 13 14 15 -0 2 6 9 10 12 13 14 15 -0 2 6 9 11 12 13 14 15 -0 2 6 10 11 12 13 14 15 -0 2 7 8 9 10 11 12 13 -0 2 7 8 9 10 11 12 14 -0 2 7 8 9 10 11 12 15 -0 2 7 8 9 10 11 13 14 -0 2 7 8 9 10 11 13 15 -0 2 7 8 9 10 11 14 15 -0 2 7 8 9 10 12 13 14 -0 2 7 8 9 10 12 13 15 -0 2 7 8 9 10 12 14 15 -0 2 7 8 9 10 13 14 15 -0 2 7 8 9 11 12 13 14 -0 2 7 8 9 11 12 13 15 -0 2 7 8 9 11 12 14 15 -0 2 7 8 9 11 13 14 15 -0 2 7 8 9 12 13 14 15 -0 2 7 8 10 11 12 13 14 -0 2 7 8 10 11 12 13 15 -0 2 7 8 10 11 12 14 15 -0 2 7 8 10 11 13 14 15 -0 2 7 8 10 12 13 14 15 -0 2 7 8 11 12 13 14 15 -0 2 7 9 10 11 12 13 14 -0 2 7 9 10 11 12 13 15 -0 2 7 9 10 11 12 14 15 -0 2 7 9 10 11 13 14 15 -0 2 7 9 10 12 13 14 15 -0 2 7 9 11 12 13 14 15 -0 2 7 10 11 12 13 14 15 -0 2 8 9 10 11 12 13 14 -0 2 8 9 10 11 12 13 15 -0 2 8 9 10 11 12 14 15 -0 2 8 9 10 11 13 14 15 -0 2 8 9 10 12 13 14 15 -0 2 8 9 11 12 13 14 15 -0 2 8 10 11 12 13 14 15 -0 2 9 10 11 12 13 14 15 -0 3 4 5 6 7 8 9 10 -0 3 4 5 6 7 8 9 11 -0 3 4 5 6 7 8 9 12 -0 3 4 5 6 7 8 9 13 -0 3 4 5 6 7 8 9 14 -0 3 4 5 6 7 8 9 15 -0 3 4 5 6 7 8 10 11 -0 3 4 5 6 7 8 10 12 -0 3 4 5 6 7 8 10 13 -0 3 4 5 6 7 8 10 14 -0 3 4 5 6 7 8 10 15 -0 3 4 5 6 7 8 11 12 -0 3 4 5 6 7 8 11 13 -0 3 4 5 6 7 8 11 14 -0 3 4 5 6 7 8 11 15 -0 3 4 5 6 7 8 12 13 -0 3 4 5 6 7 8 12 14 -0 3 4 5 6 7 8 12 15 -0 3 4 5 6 7 8 13 14 -0 3 4 5 6 7 8 13 15 -0 3 4 5 6 7 8 14 15 -0 3 4 5 6 7 9 10 11 -0 3 4 5 6 7 9 10 12 -0 3 4 5 6 7 9 10 13 -0 3 4 5 6 7 9 10 14 -0 3 4 5 6 7 9 10 15 -0 3 4 5 6 7 9 11 12 -0 3 4 5 6 7 9 11 13 -0 3 4 5 6 7 9 11 14 -0 3 4 5 6 7 9 11 15 -0 3 4 5 6 7 9 12 13 -0 3 4 5 6 7 9 12 14 -0 3 4 5 6 7 9 12 15 -0 3 4 5 6 7 9 13 14 -0 3 4 5 6 7 9 13 15 -0 3 4 5 6 7 9 14 15 -0 3 4 5 6 7 10 11 12 -0 3 4 5 6 7 10 11 13 -0 3 4 5 6 7 10 11 14 -0 3 4 5 6 7 10 11 15 -0 3 4 5 6 7 10 12 13 -0 3 4 5 6 7 10 12 14 -0 3 4 5 6 7 10 12 15 -0 3 4 5 6 7 10 13 14 -0 3 4 5 6 7 10 13 15 -0 3 4 5 6 7 10 14 15 -0 3 4 5 6 7 11 12 13 -0 3 4 5 6 7 11 12 14 -0 3 4 5 6 7 11 12 15 -0 3 4 5 6 7 11 13 14 -0 3 4 5 6 7 11 13 15 -0 3 4 5 6 7 11 14 15 -0 3 4 5 6 7 12 13 14 -0 3 4 5 6 7 12 13 15 -0 3 4 5 6 7 12 14 15 -0 3 4 5 6 7 13 14 15 -0 3 4 5 6 8 9 10 11 -0 3 4 5 6 8 9 10 12 -0 3 4 5 6 8 9 10 13 -0 3 4 5 6 8 9 10 14 -0 3 4 5 6 8 9 10 15 -0 3 4 5 6 8 9 11 12 -0 3 4 5 6 8 9 11 13 -0 3 4 5 6 8 9 11 14 -0 3 4 5 6 8 9 11 15 -0 3 4 5 6 8 9 12 13 -0 3 4 5 6 8 9 12 14 -0 3 4 5 6 8 9 12 15 -0 3 4 5 6 8 9 13 14 -0 3 4 5 6 8 9 13 15 -0 3 4 5 6 8 9 14 15 -0 3 4 5 6 8 10 11 12 -0 3 4 5 6 8 10 11 13 -0 3 4 5 6 8 10 11 14 -0 3 4 5 6 8 10 11 15 -0 3 4 5 6 8 10 12 13 -0 3 4 5 6 8 10 12 14 -0 3 4 5 6 8 10 12 15 -0 3 4 5 6 8 10 13 14 -0 3 4 5 6 8 10 13 15 -0 3 4 5 6 8 10 14 15 -0 3 4 5 6 8 11 12 13 -0 3 4 5 6 8 11 12 14 -0 3 4 5 6 8 11 12 15 -0 3 4 5 6 8 11 13 14 -0 3 4 5 6 8 11 13 15 -0 3 4 5 6 8 11 14 15 -0 3 4 5 6 8 12 13 14 -0 3 4 5 6 8 12 13 15 -0 3 4 5 6 8 12 14 15 -0 3 4 5 6 8 13 14 15 -0 3 4 5 6 9 10 11 12 -0 3 4 5 6 9 10 11 13 -0 3 4 5 6 9 10 11 14 -0 3 4 5 6 9 10 11 15 -0 3 4 5 6 9 10 12 13 -0 3 4 5 6 9 10 12 14 -0 3 4 5 6 9 10 12 15 -0 3 4 5 6 9 10 13 14 -0 3 4 5 6 9 10 13 15 -0 3 4 5 6 9 10 14 15 -0 3 4 5 6 9 11 12 13 -0 3 4 5 6 9 11 12 14 -0 3 4 5 6 9 11 12 15 -0 3 4 5 6 9 11 13 14 -0 3 4 5 6 9 11 13 15 -0 3 4 5 6 9 11 14 15 -0 3 4 5 6 9 12 13 14 -0 3 4 5 6 9 12 13 15 -0 3 4 5 6 9 12 14 15 -0 3 4 5 6 9 13 14 15 -0 3 4 5 6 10 11 12 13 -0 3 4 5 6 10 11 12 14 -0 3 4 5 6 10 11 12 15 -0 3 4 5 6 10 11 13 14 -0 3 4 5 6 10 11 13 15 -0 3 4 5 6 10 11 14 15 -0 3 4 5 6 10 12 13 14 -0 3 4 5 6 10 12 13 15 -0 3 4 5 6 10 12 14 15 -0 3 4 5 6 10 13 14 15 -0 3 4 5 6 11 12 13 14 -0 3 4 5 6 11 12 13 15 -0 3 4 5 6 11 12 14 15 -0 3 4 5 6 11 13 14 15 -0 3 4 5 6 12 13 14 15 -0 3 4 5 7 8 9 10 11 -0 3 4 5 7 8 9 10 12 -0 3 4 5 7 8 9 10 13 -0 3 4 5 7 8 9 10 14 -0 3 4 5 7 8 9 10 15 -0 3 4 5 7 8 9 11 12 -0 3 4 5 7 8 9 11 13 -0 3 4 5 7 8 9 11 14 -0 3 4 5 7 8 9 11 15 -0 3 4 5 7 8 9 12 13 -0 3 4 5 7 8 9 12 14 -0 3 4 5 7 8 9 12 15 -0 3 4 5 7 8 9 13 14 -0 3 4 5 7 8 9 13 15 -0 3 4 5 7 8 9 14 15 -0 3 4 5 7 8 10 11 12 -0 3 4 5 7 8 10 11 13 -0 3 4 5 7 8 10 11 14 -0 3 4 5 7 8 10 11 15 -0 3 4 5 7 8 10 12 13 -0 3 4 5 7 8 10 12 14 -0 3 4 5 7 8 10 12 15 -0 3 4 5 7 8 10 13 14 -0 3 4 5 7 8 10 13 15 -0 3 4 5 7 8 10 14 15 -0 3 4 5 7 8 11 12 13 -0 3 4 5 7 8 11 12 14 -0 3 4 5 7 8 11 12 15 -0 3 4 5 7 8 11 13 14 -0 3 4 5 7 8 11 13 15 -0 3 4 5 7 8 11 14 15 -0 3 4 5 7 8 12 13 14 -0 3 4 5 7 8 12 13 15 -0 3 4 5 7 8 12 14 15 -0 3 4 5 7 8 13 14 15 -0 3 4 5 7 9 10 11 12 -0 3 4 5 7 9 10 11 13 -0 3 4 5 7 9 10 11 14 -0 3 4 5 7 9 10 11 15 -0 3 4 5 7 9 10 12 13 -0 3 4 5 7 9 10 12 14 -0 3 4 5 7 9 10 12 15 -0 3 4 5 7 9 10 13 14 -0 3 4 5 7 9 10 13 15 -0 3 4 5 7 9 10 14 15 -0 3 4 5 7 9 11 12 13 -0 3 4 5 7 9 11 12 14 -0 3 4 5 7 9 11 12 15 -0 3 4 5 7 9 11 13 14 -0 3 4 5 7 9 11 13 15 -0 3 4 5 7 9 11 14 15 -0 3 4 5 7 9 12 13 14 -0 3 4 5 7 9 12 13 15 -0 3 4 5 7 9 12 14 15 -0 3 4 5 7 9 13 14 15 -0 3 4 5 7 10 11 12 13 -0 3 4 5 7 10 11 12 14 -0 3 4 5 7 10 11 12 15 -0 3 4 5 7 10 11 13 14 -0 3 4 5 7 10 11 13 15 -0 3 4 5 7 10 11 14 15 -0 3 4 5 7 10 12 13 14 -0 3 4 5 7 10 12 13 15 -0 3 4 5 7 10 12 14 15 -0 3 4 5 7 10 13 14 15 -0 3 4 5 7 11 12 13 14 -0 3 4 5 7 11 12 13 15 -0 3 4 5 7 11 12 14 15 -0 3 4 5 7 11 13 14 15 -0 3 4 5 7 12 13 14 15 -0 3 4 5 8 9 10 11 12 -0 3 4 5 8 9 10 11 13 -0 3 4 5 8 9 10 11 14 -0 3 4 5 8 9 10 11 15 -0 3 4 5 8 9 10 12 13 -0 3 4 5 8 9 10 12 14 -0 3 4 5 8 9 10 12 15 -0 3 4 5 8 9 10 13 14 -0 3 4 5 8 9 10 13 15 -0 3 4 5 8 9 10 14 15 -0 3 4 5 8 9 11 12 13 -0 3 4 5 8 9 11 12 14 -0 3 4 5 8 9 11 12 15 -0 3 4 5 8 9 11 13 14 -0 3 4 5 8 9 11 13 15 -0 3 4 5 8 9 11 14 15 -0 3 4 5 8 9 12 13 14 -0 3 4 5 8 9 12 13 15 -0 3 4 5 8 9 12 14 15 -0 3 4 5 8 9 13 14 15 -0 3 4 5 8 10 11 12 13 -0 3 4 5 8 10 11 12 14 -0 3 4 5 8 10 11 12 15 -0 3 4 5 8 10 11 13 14 -0 3 4 5 8 10 11 13 15 -0 3 4 5 8 10 11 14 15 -0 3 4 5 8 10 12 13 14 -0 3 4 5 8 10 12 13 15 -0 3 4 5 8 10 12 14 15 -0 3 4 5 8 10 13 14 15 -0 3 4 5 8 11 12 13 14 -0 3 4 5 8 11 12 13 15 -0 3 4 5 8 11 12 14 15 -0 3 4 5 8 11 13 14 15 -0 3 4 5 8 12 13 14 15 -0 3 4 5 9 10 11 12 13 -0 3 4 5 9 10 11 12 14 -0 3 4 5 9 10 11 12 15 -0 3 4 5 9 10 11 13 14 -0 3 4 5 9 10 11 13 15 -0 3 4 5 9 10 11 14 15 -0 3 4 5 9 10 12 13 14 -0 3 4 5 9 10 12 13 15 -0 3 4 5 9 10 12 14 15 -0 3 4 5 9 10 13 14 15 -0 3 4 5 9 11 12 13 14 -0 3 4 5 9 11 12 13 15 -0 3 4 5 9 11 12 14 15 -0 3 4 5 9 11 13 14 15 -0 3 4 5 9 12 13 14 15 -0 3 4 5 10 11 12 13 14 -0 3 4 5 10 11 12 13 15 -0 3 4 5 10 11 12 14 15 -0 3 4 5 10 11 13 14 15 -0 3 4 5 10 12 13 14 15 -0 3 4 5 11 12 13 14 15 -0 3 4 6 7 8 9 10 11 -0 3 4 6 7 8 9 10 12 -0 3 4 6 7 8 9 10 13 -0 3 4 6 7 8 9 10 14 -0 3 4 6 7 8 9 10 15 -0 3 4 6 7 8 9 11 12 -0 3 4 6 7 8 9 11 13 -0 3 4 6 7 8 9 11 14 -0 3 4 6 7 8 9 11 15 -0 3 4 6 7 8 9 12 13 -0 3 4 6 7 8 9 12 14 -0 3 4 6 7 8 9 12 15 -0 3 4 6 7 8 9 13 14 -0 3 4 6 7 8 9 13 15 -0 3 4 6 7 8 9 14 15 -0 3 4 6 7 8 10 11 12 -0 3 4 6 7 8 10 11 13 -0 3 4 6 7 8 10 11 14 -0 3 4 6 7 8 10 11 15 -0 3 4 6 7 8 10 12 13 -0 3 4 6 7 8 10 12 14 -0 3 4 6 7 8 10 12 15 -0 3 4 6 7 8 10 13 14 -0 3 4 6 7 8 10 13 15 -0 3 4 6 7 8 10 14 15 -0 3 4 6 7 8 11 12 13 -0 3 4 6 7 8 11 12 14 -0 3 4 6 7 8 11 12 15 -0 3 4 6 7 8 11 13 14 -0 3 4 6 7 8 11 13 15 -0 3 4 6 7 8 11 14 15 -0 3 4 6 7 8 12 13 14 -0 3 4 6 7 8 12 13 15 -0 3 4 6 7 8 12 14 15 -0 3 4 6 7 8 13 14 15 -0 3 4 6 7 9 10 11 12 -0 3 4 6 7 9 10 11 13 -0 3 4 6 7 9 10 11 14 -0 3 4 6 7 9 10 11 15 -0 3 4 6 7 9 10 12 13 -0 3 4 6 7 9 10 12 14 -0 3 4 6 7 9 10 12 15 -0 3 4 6 7 9 10 13 14 -0 3 4 6 7 9 10 13 15 -0 3 4 6 7 9 10 14 15 -0 3 4 6 7 9 11 12 13 -0 3 4 6 7 9 11 12 14 -0 3 4 6 7 9 11 12 15 -0 3 4 6 7 9 11 13 14 -0 3 4 6 7 9 11 13 15 -0 3 4 6 7 9 11 14 15 -0 3 4 6 7 9 12 13 14 -0 3 4 6 7 9 12 13 15 -0 3 4 6 7 9 12 14 15 -0 3 4 6 7 9 13 14 15 -0 3 4 6 7 10 11 12 13 -0 3 4 6 7 10 11 12 14 -0 3 4 6 7 10 11 12 15 -0 3 4 6 7 10 11 13 14 -0 3 4 6 7 10 11 13 15 -0 3 4 6 7 10 11 14 15 -0 3 4 6 7 10 12 13 14 -0 3 4 6 7 10 12 13 15 -0 3 4 6 7 10 12 14 15 -0 3 4 6 7 10 13 14 15 -0 3 4 6 7 11 12 13 14 -0 3 4 6 7 11 12 13 15 -0 3 4 6 7 11 12 14 15 -0 3 4 6 7 11 13 14 15 -0 3 4 6 7 12 13 14 15 -0 3 4 6 8 9 10 11 12 -0 3 4 6 8 9 10 11 13 -0 3 4 6 8 9 10 11 14 -0 3 4 6 8 9 10 11 15 -0 3 4 6 8 9 10 12 13 -0 3 4 6 8 9 10 12 14 -0 3 4 6 8 9 10 12 15 -0 3 4 6 8 9 10 13 14 -0 3 4 6 8 9 10 13 15 -0 3 4 6 8 9 10 14 15 -0 3 4 6 8 9 11 12 13 -0 3 4 6 8 9 11 12 14 -0 3 4 6 8 9 11 12 15 -0 3 4 6 8 9 11 13 14 -0 3 4 6 8 9 11 13 15 -0 3 4 6 8 9 11 14 15 -0 3 4 6 8 9 12 13 14 -0 3 4 6 8 9 12 13 15 -0 3 4 6 8 9 12 14 15 -0 3 4 6 8 9 13 14 15 -0 3 4 6 8 10 11 12 13 -0 3 4 6 8 10 11 12 14 -0 3 4 6 8 10 11 12 15 -0 3 4 6 8 10 11 13 14 -0 3 4 6 8 10 11 13 15 -0 3 4 6 8 10 11 14 15 -0 3 4 6 8 10 12 13 14 -0 3 4 6 8 10 12 13 15 -0 3 4 6 8 10 12 14 15 -0 3 4 6 8 10 13 14 15 -0 3 4 6 8 11 12 13 14 -0 3 4 6 8 11 12 13 15 -0 3 4 6 8 11 12 14 15 -0 3 4 6 8 11 13 14 15 -0 3 4 6 8 12 13 14 15 -0 3 4 6 9 10 11 12 13 -0 3 4 6 9 10 11 12 14 -0 3 4 6 9 10 11 12 15 -0 3 4 6 9 10 11 13 14 -0 3 4 6 9 10 11 13 15 -0 3 4 6 9 10 11 14 15 -0 3 4 6 9 10 12 13 14 -0 3 4 6 9 10 12 13 15 -0 3 4 6 9 10 12 14 15 -0 3 4 6 9 10 13 14 15 -0 3 4 6 9 11 12 13 14 -0 3 4 6 9 11 12 13 15 -0 3 4 6 9 11 12 14 15 -0 3 4 6 9 11 13 14 15 -0 3 4 6 9 12 13 14 15 -0 3 4 6 10 11 12 13 14 -0 3 4 6 10 11 12 13 15 -0 3 4 6 10 11 12 14 15 -0 3 4 6 10 11 13 14 15 -0 3 4 6 10 12 13 14 15 -0 3 4 6 11 12 13 14 15 -0 3 4 7 8 9 10 11 12 -0 3 4 7 8 9 10 11 13 -0 3 4 7 8 9 10 11 14 -0 3 4 7 8 9 10 11 15 -0 3 4 7 8 9 10 12 13 -0 3 4 7 8 9 10 12 14 -0 3 4 7 8 9 10 12 15 -0 3 4 7 8 9 10 13 14 -0 3 4 7 8 9 10 13 15 -0 3 4 7 8 9 10 14 15 -0 3 4 7 8 9 11 12 13 -0 3 4 7 8 9 11 12 14 -0 3 4 7 8 9 11 12 15 -0 3 4 7 8 9 11 13 14 -0 3 4 7 8 9 11 13 15 -0 3 4 7 8 9 11 14 15 -0 3 4 7 8 9 12 13 14 -0 3 4 7 8 9 12 13 15 -0 3 4 7 8 9 12 14 15 -0 3 4 7 8 9 13 14 15 -0 3 4 7 8 10 11 12 13 -0 3 4 7 8 10 11 12 14 -0 3 4 7 8 10 11 12 15 -0 3 4 7 8 10 11 13 14 -0 3 4 7 8 10 11 13 15 -0 3 4 7 8 10 11 14 15 -0 3 4 7 8 10 12 13 14 -0 3 4 7 8 10 12 13 15 -0 3 4 7 8 10 12 14 15 -0 3 4 7 8 10 13 14 15 -0 3 4 7 8 11 12 13 14 -0 3 4 7 8 11 12 13 15 -0 3 4 7 8 11 12 14 15 -0 3 4 7 8 11 13 14 15 -0 3 4 7 8 12 13 14 15 -0 3 4 7 9 10 11 12 13 -0 3 4 7 9 10 11 12 14 -0 3 4 7 9 10 11 12 15 -0 3 4 7 9 10 11 13 14 -0 3 4 7 9 10 11 13 15 -0 3 4 7 9 10 11 14 15 -0 3 4 7 9 10 12 13 14 -0 3 4 7 9 10 12 13 15 -0 3 4 7 9 10 12 14 15 -0 3 4 7 9 10 13 14 15 -0 3 4 7 9 11 12 13 14 -0 3 4 7 9 11 12 13 15 -0 3 4 7 9 11 12 14 15 -0 3 4 7 9 11 13 14 15 -0 3 4 7 9 12 13 14 15 -0 3 4 7 10 11 12 13 14 -0 3 4 7 10 11 12 13 15 -0 3 4 7 10 11 12 14 15 -0 3 4 7 10 11 13 14 15 -0 3 4 7 10 12 13 14 15 -0 3 4 7 11 12 13 14 15 -0 3 4 8 9 10 11 12 13 -0 3 4 8 9 10 11 12 14 -0 3 4 8 9 10 11 12 15 -0 3 4 8 9 10 11 13 14 -0 3 4 8 9 10 11 13 15 -0 3 4 8 9 10 11 14 15 -0 3 4 8 9 10 12 13 14 -0 3 4 8 9 10 12 13 15 -0 3 4 8 9 10 12 14 15 -0 3 4 8 9 10 13 14 15 -0 3 4 8 9 11 12 13 14 -0 3 4 8 9 11 12 13 15 -0 3 4 8 9 11 12 14 15 -0 3 4 8 9 11 13 14 15 -0 3 4 8 9 12 13 14 15 -0 3 4 8 10 11 12 13 14 -0 3 4 8 10 11 12 13 15 -0 3 4 8 10 11 12 14 15 -0 3 4 8 10 11 13 14 15 -0 3 4 8 10 12 13 14 15 -0 3 4 8 11 12 13 14 15 -0 3 4 9 10 11 12 13 14 -0 3 4 9 10 11 12 13 15 -0 3 4 9 10 11 12 14 15 -0 3 4 9 10 11 13 14 15 -0 3 4 9 10 12 13 14 15 -0 3 4 9 11 12 13 14 15 -0 3 4 10 11 12 13 14 15 -0 3 5 6 7 8 9 10 11 -0 3 5 6 7 8 9 10 12 -0 3 5 6 7 8 9 10 13 -0 3 5 6 7 8 9 10 14 -0 3 5 6 7 8 9 10 15 -0 3 5 6 7 8 9 11 12 -0 3 5 6 7 8 9 11 13 -0 3 5 6 7 8 9 11 14 -0 3 5 6 7 8 9 11 15 -0 3 5 6 7 8 9 12 13 -0 3 5 6 7 8 9 12 14 -0 3 5 6 7 8 9 12 15 -0 3 5 6 7 8 9 13 14 -0 3 5 6 7 8 9 13 15 -0 3 5 6 7 8 9 14 15 -0 3 5 6 7 8 10 11 12 -0 3 5 6 7 8 10 11 13 -0 3 5 6 7 8 10 11 14 -0 3 5 6 7 8 10 11 15 -0 3 5 6 7 8 10 12 13 -0 3 5 6 7 8 10 12 14 -0 3 5 6 7 8 10 12 15 -0 3 5 6 7 8 10 13 14 -0 3 5 6 7 8 10 13 15 -0 3 5 6 7 8 10 14 15 -0 3 5 6 7 8 11 12 13 -0 3 5 6 7 8 11 12 14 -0 3 5 6 7 8 11 12 15 -0 3 5 6 7 8 11 13 14 -0 3 5 6 7 8 11 13 15 -0 3 5 6 7 8 11 14 15 -0 3 5 6 7 8 12 13 14 -0 3 5 6 7 8 12 13 15 -0 3 5 6 7 8 12 14 15 -0 3 5 6 7 8 13 14 15 -0 3 5 6 7 9 10 11 12 -0 3 5 6 7 9 10 11 13 -0 3 5 6 7 9 10 11 14 -0 3 5 6 7 9 10 11 15 -0 3 5 6 7 9 10 12 13 -0 3 5 6 7 9 10 12 14 -0 3 5 6 7 9 10 12 15 -0 3 5 6 7 9 10 13 14 -0 3 5 6 7 9 10 13 15 -0 3 5 6 7 9 10 14 15 -0 3 5 6 7 9 11 12 13 -0 3 5 6 7 9 11 12 14 -0 3 5 6 7 9 11 12 15 -0 3 5 6 7 9 11 13 14 -0 3 5 6 7 9 11 13 15 -0 3 5 6 7 9 11 14 15 -0 3 5 6 7 9 12 13 14 -0 3 5 6 7 9 12 13 15 -0 3 5 6 7 9 12 14 15 -0 3 5 6 7 9 13 14 15 -0 3 5 6 7 10 11 12 13 -0 3 5 6 7 10 11 12 14 -0 3 5 6 7 10 11 12 15 -0 3 5 6 7 10 11 13 14 -0 3 5 6 7 10 11 13 15 -0 3 5 6 7 10 11 14 15 -0 3 5 6 7 10 12 13 14 -0 3 5 6 7 10 12 13 15 -0 3 5 6 7 10 12 14 15 -0 3 5 6 7 10 13 14 15 -0 3 5 6 7 11 12 13 14 -0 3 5 6 7 11 12 13 15 -0 3 5 6 7 11 12 14 15 -0 3 5 6 7 11 13 14 15 -0 3 5 6 7 12 13 14 15 -0 3 5 6 8 9 10 11 12 -0 3 5 6 8 9 10 11 13 -0 3 5 6 8 9 10 11 14 -0 3 5 6 8 9 10 11 15 -0 3 5 6 8 9 10 12 13 -0 3 5 6 8 9 10 12 14 -0 3 5 6 8 9 10 12 15 -0 3 5 6 8 9 10 13 14 -0 3 5 6 8 9 10 13 15 -0 3 5 6 8 9 10 14 15 -0 3 5 6 8 9 11 12 13 -0 3 5 6 8 9 11 12 14 -0 3 5 6 8 9 11 12 15 -0 3 5 6 8 9 11 13 14 -0 3 5 6 8 9 11 13 15 -0 3 5 6 8 9 11 14 15 -0 3 5 6 8 9 12 13 14 -0 3 5 6 8 9 12 13 15 -0 3 5 6 8 9 12 14 15 -0 3 5 6 8 9 13 14 15 -0 3 5 6 8 10 11 12 13 -0 3 5 6 8 10 11 12 14 -0 3 5 6 8 10 11 12 15 -0 3 5 6 8 10 11 13 14 -0 3 5 6 8 10 11 13 15 -0 3 5 6 8 10 11 14 15 -0 3 5 6 8 10 12 13 14 -0 3 5 6 8 10 12 13 15 -0 3 5 6 8 10 12 14 15 -0 3 5 6 8 10 13 14 15 -0 3 5 6 8 11 12 13 14 -0 3 5 6 8 11 12 13 15 -0 3 5 6 8 11 12 14 15 -0 3 5 6 8 11 13 14 15 -0 3 5 6 8 12 13 14 15 -0 3 5 6 9 10 11 12 13 -0 3 5 6 9 10 11 12 14 -0 3 5 6 9 10 11 12 15 -0 3 5 6 9 10 11 13 14 -0 3 5 6 9 10 11 13 15 -0 3 5 6 9 10 11 14 15 -0 3 5 6 9 10 12 13 14 -0 3 5 6 9 10 12 13 15 -0 3 5 6 9 10 12 14 15 -0 3 5 6 9 10 13 14 15 -0 3 5 6 9 11 12 13 14 -0 3 5 6 9 11 12 13 15 -0 3 5 6 9 11 12 14 15 -0 3 5 6 9 11 13 14 15 -0 3 5 6 9 12 13 14 15 -0 3 5 6 10 11 12 13 14 -0 3 5 6 10 11 12 13 15 -0 3 5 6 10 11 12 14 15 -0 3 5 6 10 11 13 14 15 -0 3 5 6 10 12 13 14 15 -0 3 5 6 11 12 13 14 15 -0 3 5 7 8 9 10 11 12 -0 3 5 7 8 9 10 11 13 -0 3 5 7 8 9 10 11 14 -0 3 5 7 8 9 10 11 15 -0 3 5 7 8 9 10 12 13 -0 3 5 7 8 9 10 12 14 -0 3 5 7 8 9 10 12 15 -0 3 5 7 8 9 10 13 14 -0 3 5 7 8 9 10 13 15 -0 3 5 7 8 9 10 14 15 -0 3 5 7 8 9 11 12 13 -0 3 5 7 8 9 11 12 14 -0 3 5 7 8 9 11 12 15 -0 3 5 7 8 9 11 13 14 -0 3 5 7 8 9 11 13 15 -0 3 5 7 8 9 11 14 15 -0 3 5 7 8 9 12 13 14 -0 3 5 7 8 9 12 13 15 -0 3 5 7 8 9 12 14 15 -0 3 5 7 8 9 13 14 15 -0 3 5 7 8 10 11 12 13 -0 3 5 7 8 10 11 12 14 -0 3 5 7 8 10 11 12 15 -0 3 5 7 8 10 11 13 14 -0 3 5 7 8 10 11 13 15 -0 3 5 7 8 10 11 14 15 -0 3 5 7 8 10 12 13 14 -0 3 5 7 8 10 12 13 15 -0 3 5 7 8 10 12 14 15 -0 3 5 7 8 10 13 14 15 -0 3 5 7 8 11 12 13 14 -0 3 5 7 8 11 12 13 15 -0 3 5 7 8 11 12 14 15 -0 3 5 7 8 11 13 14 15 -0 3 5 7 8 12 13 14 15 -0 3 5 7 9 10 11 12 13 -0 3 5 7 9 10 11 12 14 -0 3 5 7 9 10 11 12 15 -0 3 5 7 9 10 11 13 14 -0 3 5 7 9 10 11 13 15 -0 3 5 7 9 10 11 14 15 -0 3 5 7 9 10 12 13 14 -0 3 5 7 9 10 12 13 15 -0 3 5 7 9 10 12 14 15 -0 3 5 7 9 10 13 14 15 -0 3 5 7 9 11 12 13 14 -0 3 5 7 9 11 12 13 15 -0 3 5 7 9 11 12 14 15 -0 3 5 7 9 11 13 14 15 -0 3 5 7 9 12 13 14 15 -0 3 5 7 10 11 12 13 14 -0 3 5 7 10 11 12 13 15 -0 3 5 7 10 11 12 14 15 -0 3 5 7 10 11 13 14 15 -0 3 5 7 10 12 13 14 15 -0 3 5 7 11 12 13 14 15 -0 3 5 8 9 10 11 12 13 -0 3 5 8 9 10 11 12 14 -0 3 5 8 9 10 11 12 15 -0 3 5 8 9 10 11 13 14 -0 3 5 8 9 10 11 13 15 -0 3 5 8 9 10 11 14 15 -0 3 5 8 9 10 12 13 14 -0 3 5 8 9 10 12 13 15 -0 3 5 8 9 10 12 14 15 -0 3 5 8 9 10 13 14 15 -0 3 5 8 9 11 12 13 14 -0 3 5 8 9 11 12 13 15 -0 3 5 8 9 11 12 14 15 -0 3 5 8 9 11 13 14 15 -0 3 5 8 9 12 13 14 15 -0 3 5 8 10 11 12 13 14 -0 3 5 8 10 11 12 13 15 -0 3 5 8 10 11 12 14 15 -0 3 5 8 10 11 13 14 15 -0 3 5 8 10 12 13 14 15 -0 3 5 8 11 12 13 14 15 -0 3 5 9 10 11 12 13 14 -0 3 5 9 10 11 12 13 15 -0 3 5 9 10 11 12 14 15 -0 3 5 9 10 11 13 14 15 -0 3 5 9 10 12 13 14 15 -0 3 5 9 11 12 13 14 15 -0 3 5 10 11 12 13 14 15 -0 3 6 7 8 9 10 11 12 -0 3 6 7 8 9 10 11 13 -0 3 6 7 8 9 10 11 14 -0 3 6 7 8 9 10 11 15 -0 3 6 7 8 9 10 12 13 -0 3 6 7 8 9 10 12 14 -0 3 6 7 8 9 10 12 15 -0 3 6 7 8 9 10 13 14 -0 3 6 7 8 9 10 13 15 -0 3 6 7 8 9 10 14 15 -0 3 6 7 8 9 11 12 13 -0 3 6 7 8 9 11 12 14 -0 3 6 7 8 9 11 12 15 -0 3 6 7 8 9 11 13 14 -0 3 6 7 8 9 11 13 15 -0 3 6 7 8 9 11 14 15 -0 3 6 7 8 9 12 13 14 -0 3 6 7 8 9 12 13 15 -0 3 6 7 8 9 12 14 15 -0 3 6 7 8 9 13 14 15 -0 3 6 7 8 10 11 12 13 -0 3 6 7 8 10 11 12 14 -0 3 6 7 8 10 11 12 15 -0 3 6 7 8 10 11 13 14 -0 3 6 7 8 10 11 13 15 -0 3 6 7 8 10 11 14 15 -0 3 6 7 8 10 12 13 14 -0 3 6 7 8 10 12 13 15 -0 3 6 7 8 10 12 14 15 -0 3 6 7 8 10 13 14 15 -0 3 6 7 8 11 12 13 14 -0 3 6 7 8 11 12 13 15 -0 3 6 7 8 11 12 14 15 -0 3 6 7 8 11 13 14 15 -0 3 6 7 8 12 13 14 15 -0 3 6 7 9 10 11 12 13 -0 3 6 7 9 10 11 12 14 -0 3 6 7 9 10 11 12 15 -0 3 6 7 9 10 11 13 14 -0 3 6 7 9 10 11 13 15 -0 3 6 7 9 10 11 14 15 -0 3 6 7 9 10 12 13 14 -0 3 6 7 9 10 12 13 15 -0 3 6 7 9 10 12 14 15 -0 3 6 7 9 10 13 14 15 -0 3 6 7 9 11 12 13 14 -0 3 6 7 9 11 12 13 15 -0 3 6 7 9 11 12 14 15 -0 3 6 7 9 11 13 14 15 -0 3 6 7 9 12 13 14 15 -0 3 6 7 10 11 12 13 14 -0 3 6 7 10 11 12 13 15 -0 3 6 7 10 11 12 14 15 -0 3 6 7 10 11 13 14 15 -0 3 6 7 10 12 13 14 15 -0 3 6 7 11 12 13 14 15 -0 3 6 8 9 10 11 12 13 -0 3 6 8 9 10 11 12 14 -0 3 6 8 9 10 11 12 15 -0 3 6 8 9 10 11 13 14 -0 3 6 8 9 10 11 13 15 -0 3 6 8 9 10 11 14 15 -0 3 6 8 9 10 12 13 14 -0 3 6 8 9 10 12 13 15 -0 3 6 8 9 10 12 14 15 -0 3 6 8 9 10 13 14 15 -0 3 6 8 9 11 12 13 14 -0 3 6 8 9 11 12 13 15 -0 3 6 8 9 11 12 14 15 -0 3 6 8 9 11 13 14 15 -0 3 6 8 9 12 13 14 15 -0 3 6 8 10 11 12 13 14 -0 3 6 8 10 11 12 13 15 -0 3 6 8 10 11 12 14 15 -0 3 6 8 10 11 13 14 15 -0 3 6 8 10 12 13 14 15 -0 3 6 8 11 12 13 14 15 -0 3 6 9 10 11 12 13 14 -0 3 6 9 10 11 12 13 15 -0 3 6 9 10 11 12 14 15 -0 3 6 9 10 11 13 14 15 -0 3 6 9 10 12 13 14 15 -0 3 6 9 11 12 13 14 15 -0 3 6 10 11 12 13 14 15 -0 3 7 8 9 10 11 12 13 -0 3 7 8 9 10 11 12 14 -0 3 7 8 9 10 11 12 15 -0 3 7 8 9 10 11 13 14 -0 3 7 8 9 10 11 13 15 -0 3 7 8 9 10 11 14 15 -0 3 7 8 9 10 12 13 14 -0 3 7 8 9 10 12 13 15 -0 3 7 8 9 10 12 14 15 -0 3 7 8 9 10 13 14 15 -0 3 7 8 9 11 12 13 14 -0 3 7 8 9 11 12 13 15 -0 3 7 8 9 11 12 14 15 -0 3 7 8 9 11 13 14 15 -0 3 7 8 9 12 13 14 15 -0 3 7 8 10 11 12 13 14 -0 3 7 8 10 11 12 13 15 -0 3 7 8 10 11 12 14 15 -0 3 7 8 10 11 13 14 15 -0 3 7 8 10 12 13 14 15 -0 3 7 8 11 12 13 14 15 -0 3 7 9 10 11 12 13 14 -0 3 7 9 10 11 12 13 15 -0 3 7 9 10 11 12 14 15 -0 3 7 9 10 11 13 14 15 -0 3 7 9 10 12 13 14 15 -0 3 7 9 11 12 13 14 15 -0 3 7 10 11 12 13 14 15 -0 3 8 9 10 11 12 13 14 -0 3 8 9 10 11 12 13 15 -0 3 8 9 10 11 12 14 15 -0 3 8 9 10 11 13 14 15 -0 3 8 9 10 12 13 14 15 -0 3 8 9 11 12 13 14 15 -0 3 8 10 11 12 13 14 15 -0 3 9 10 11 12 13 14 15 -0 4 5 6 7 8 9 10 11 -0 4 5 6 7 8 9 10 12 -0 4 5 6 7 8 9 10 13 -0 4 5 6 7 8 9 10 14 -0 4 5 6 7 8 9 10 15 -0 4 5 6 7 8 9 11 12 -0 4 5 6 7 8 9 11 13 -0 4 5 6 7 8 9 11 14 -0 4 5 6 7 8 9 11 15 -0 4 5 6 7 8 9 12 13 -0 4 5 6 7 8 9 12 14 -0 4 5 6 7 8 9 12 15 -0 4 5 6 7 8 9 13 14 -0 4 5 6 7 8 9 13 15 -0 4 5 6 7 8 9 14 15 -0 4 5 6 7 8 10 11 12 -0 4 5 6 7 8 10 11 13 -0 4 5 6 7 8 10 11 14 -0 4 5 6 7 8 10 11 15 -0 4 5 6 7 8 10 12 13 -0 4 5 6 7 8 10 12 14 -0 4 5 6 7 8 10 12 15 -0 4 5 6 7 8 10 13 14 -0 4 5 6 7 8 10 13 15 -0 4 5 6 7 8 10 14 15 -0 4 5 6 7 8 11 12 13 -0 4 5 6 7 8 11 12 14 -0 4 5 6 7 8 11 12 15 -0 4 5 6 7 8 11 13 14 -0 4 5 6 7 8 11 13 15 -0 4 5 6 7 8 11 14 15 -0 4 5 6 7 8 12 13 14 -0 4 5 6 7 8 12 13 15 -0 4 5 6 7 8 12 14 15 -0 4 5 6 7 8 13 14 15 -0 4 5 6 7 9 10 11 12 -0 4 5 6 7 9 10 11 13 -0 4 5 6 7 9 10 11 14 -0 4 5 6 7 9 10 11 15 -0 4 5 6 7 9 10 12 13 -0 4 5 6 7 9 10 12 14 -0 4 5 6 7 9 10 12 15 -0 4 5 6 7 9 10 13 14 -0 4 5 6 7 9 10 13 15 -0 4 5 6 7 9 10 14 15 -0 4 5 6 7 9 11 12 13 -0 4 5 6 7 9 11 12 14 -0 4 5 6 7 9 11 12 15 -0 4 5 6 7 9 11 13 14 -0 4 5 6 7 9 11 13 15 -0 4 5 6 7 9 11 14 15 -0 4 5 6 7 9 12 13 14 -0 4 5 6 7 9 12 13 15 -0 4 5 6 7 9 12 14 15 -0 4 5 6 7 9 13 14 15 -0 4 5 6 7 10 11 12 13 -0 4 5 6 7 10 11 12 14 -0 4 5 6 7 10 11 12 15 -0 4 5 6 7 10 11 13 14 -0 4 5 6 7 10 11 13 15 -0 4 5 6 7 10 11 14 15 -0 4 5 6 7 10 12 13 14 -0 4 5 6 7 10 12 13 15 -0 4 5 6 7 10 12 14 15 -0 4 5 6 7 10 13 14 15 -0 4 5 6 7 11 12 13 14 -0 4 5 6 7 11 12 13 15 -0 4 5 6 7 11 12 14 15 -0 4 5 6 7 11 13 14 15 -0 4 5 6 7 12 13 14 15 -0 4 5 6 8 9 10 11 12 -0 4 5 6 8 9 10 11 13 -0 4 5 6 8 9 10 11 14 -0 4 5 6 8 9 10 11 15 -0 4 5 6 8 9 10 12 13 -0 4 5 6 8 9 10 12 14 -0 4 5 6 8 9 10 12 15 -0 4 5 6 8 9 10 13 14 -0 4 5 6 8 9 10 13 15 -0 4 5 6 8 9 10 14 15 -0 4 5 6 8 9 11 12 13 -0 4 5 6 8 9 11 12 14 -0 4 5 6 8 9 11 12 15 -0 4 5 6 8 9 11 13 14 -0 4 5 6 8 9 11 13 15 -0 4 5 6 8 9 11 14 15 -0 4 5 6 8 9 12 13 14 -0 4 5 6 8 9 12 13 15 -0 4 5 6 8 9 12 14 15 -0 4 5 6 8 9 13 14 15 -0 4 5 6 8 10 11 12 13 -0 4 5 6 8 10 11 12 14 -0 4 5 6 8 10 11 12 15 -0 4 5 6 8 10 11 13 14 -0 4 5 6 8 10 11 13 15 -0 4 5 6 8 10 11 14 15 -0 4 5 6 8 10 12 13 14 -0 4 5 6 8 10 12 13 15 -0 4 5 6 8 10 12 14 15 -0 4 5 6 8 10 13 14 15 -0 4 5 6 8 11 12 13 14 -0 4 5 6 8 11 12 13 15 -0 4 5 6 8 11 12 14 15 -0 4 5 6 8 11 13 14 15 -0 4 5 6 8 12 13 14 15 -0 4 5 6 9 10 11 12 13 -0 4 5 6 9 10 11 12 14 -0 4 5 6 9 10 11 12 15 -0 4 5 6 9 10 11 13 14 -0 4 5 6 9 10 11 13 15 -0 4 5 6 9 10 11 14 15 -0 4 5 6 9 10 12 13 14 -0 4 5 6 9 10 12 13 15 -0 4 5 6 9 10 12 14 15 -0 4 5 6 9 10 13 14 15 -0 4 5 6 9 11 12 13 14 -0 4 5 6 9 11 12 13 15 -0 4 5 6 9 11 12 14 15 -0 4 5 6 9 11 13 14 15 -0 4 5 6 9 12 13 14 15 -0 4 5 6 10 11 12 13 14 -0 4 5 6 10 11 12 13 15 -0 4 5 6 10 11 12 14 15 -0 4 5 6 10 11 13 14 15 -0 4 5 6 10 12 13 14 15 -0 4 5 6 11 12 13 14 15 -0 4 5 7 8 9 10 11 12 -0 4 5 7 8 9 10 11 13 -0 4 5 7 8 9 10 11 14 -0 4 5 7 8 9 10 11 15 -0 4 5 7 8 9 10 12 13 -0 4 5 7 8 9 10 12 14 -0 4 5 7 8 9 10 12 15 -0 4 5 7 8 9 10 13 14 -0 4 5 7 8 9 10 13 15 -0 4 5 7 8 9 10 14 15 -0 4 5 7 8 9 11 12 13 -0 4 5 7 8 9 11 12 14 -0 4 5 7 8 9 11 12 15 -0 4 5 7 8 9 11 13 14 -0 4 5 7 8 9 11 13 15 -0 4 5 7 8 9 11 14 15 -0 4 5 7 8 9 12 13 14 -0 4 5 7 8 9 12 13 15 -0 4 5 7 8 9 12 14 15 -0 4 5 7 8 9 13 14 15 -0 4 5 7 8 10 11 12 13 -0 4 5 7 8 10 11 12 14 -0 4 5 7 8 10 11 12 15 -0 4 5 7 8 10 11 13 14 -0 4 5 7 8 10 11 13 15 -0 4 5 7 8 10 11 14 15 -0 4 5 7 8 10 12 13 14 -0 4 5 7 8 10 12 13 15 -0 4 5 7 8 10 12 14 15 -0 4 5 7 8 10 13 14 15 -0 4 5 7 8 11 12 13 14 -0 4 5 7 8 11 12 13 15 -0 4 5 7 8 11 12 14 15 -0 4 5 7 8 11 13 14 15 -0 4 5 7 8 12 13 14 15 -0 4 5 7 9 10 11 12 13 -0 4 5 7 9 10 11 12 14 -0 4 5 7 9 10 11 12 15 -0 4 5 7 9 10 11 13 14 -0 4 5 7 9 10 11 13 15 -0 4 5 7 9 10 11 14 15 -0 4 5 7 9 10 12 13 14 -0 4 5 7 9 10 12 13 15 -0 4 5 7 9 10 12 14 15 -0 4 5 7 9 10 13 14 15 -0 4 5 7 9 11 12 13 14 -0 4 5 7 9 11 12 13 15 -0 4 5 7 9 11 12 14 15 -0 4 5 7 9 11 13 14 15 -0 4 5 7 9 12 13 14 15 -0 4 5 7 10 11 12 13 14 -0 4 5 7 10 11 12 13 15 -0 4 5 7 10 11 12 14 15 -0 4 5 7 10 11 13 14 15 -0 4 5 7 10 12 13 14 15 -0 4 5 7 11 12 13 14 15 -0 4 5 8 9 10 11 12 13 -0 4 5 8 9 10 11 12 14 -0 4 5 8 9 10 11 12 15 -0 4 5 8 9 10 11 13 14 -0 4 5 8 9 10 11 13 15 -0 4 5 8 9 10 11 14 15 -0 4 5 8 9 10 12 13 14 -0 4 5 8 9 10 12 13 15 -0 4 5 8 9 10 12 14 15 -0 4 5 8 9 10 13 14 15 -0 4 5 8 9 11 12 13 14 -0 4 5 8 9 11 12 13 15 -0 4 5 8 9 11 12 14 15 -0 4 5 8 9 11 13 14 15 -0 4 5 8 9 12 13 14 15 -0 4 5 8 10 11 12 13 14 -0 4 5 8 10 11 12 13 15 -0 4 5 8 10 11 12 14 15 -0 4 5 8 10 11 13 14 15 -0 4 5 8 10 12 13 14 15 -0 4 5 8 11 12 13 14 15 -0 4 5 9 10 11 12 13 14 -0 4 5 9 10 11 12 13 15 -0 4 5 9 10 11 12 14 15 -0 4 5 9 10 11 13 14 15 -0 4 5 9 10 12 13 14 15 -0 4 5 9 11 12 13 14 15 -0 4 5 10 11 12 13 14 15 -0 4 6 7 8 9 10 11 12 -0 4 6 7 8 9 10 11 13 -0 4 6 7 8 9 10 11 14 -0 4 6 7 8 9 10 11 15 -0 4 6 7 8 9 10 12 13 -0 4 6 7 8 9 10 12 14 -0 4 6 7 8 9 10 12 15 -0 4 6 7 8 9 10 13 14 -0 4 6 7 8 9 10 13 15 -0 4 6 7 8 9 10 14 15 -0 4 6 7 8 9 11 12 13 -0 4 6 7 8 9 11 12 14 -0 4 6 7 8 9 11 12 15 -0 4 6 7 8 9 11 13 14 -0 4 6 7 8 9 11 13 15 -0 4 6 7 8 9 11 14 15 -0 4 6 7 8 9 12 13 14 -0 4 6 7 8 9 12 13 15 -0 4 6 7 8 9 12 14 15 -0 4 6 7 8 9 13 14 15 -0 4 6 7 8 10 11 12 13 -0 4 6 7 8 10 11 12 14 -0 4 6 7 8 10 11 12 15 -0 4 6 7 8 10 11 13 14 -0 4 6 7 8 10 11 13 15 -0 4 6 7 8 10 11 14 15 -0 4 6 7 8 10 12 13 14 -0 4 6 7 8 10 12 13 15 -0 4 6 7 8 10 12 14 15 -0 4 6 7 8 10 13 14 15 -0 4 6 7 8 11 12 13 14 -0 4 6 7 8 11 12 13 15 -0 4 6 7 8 11 12 14 15 -0 4 6 7 8 11 13 14 15 -0 4 6 7 8 12 13 14 15 -0 4 6 7 9 10 11 12 13 -0 4 6 7 9 10 11 12 14 -0 4 6 7 9 10 11 12 15 -0 4 6 7 9 10 11 13 14 -0 4 6 7 9 10 11 13 15 -0 4 6 7 9 10 11 14 15 -0 4 6 7 9 10 12 13 14 -0 4 6 7 9 10 12 13 15 -0 4 6 7 9 10 12 14 15 -0 4 6 7 9 10 13 14 15 -0 4 6 7 9 11 12 13 14 -0 4 6 7 9 11 12 13 15 -0 4 6 7 9 11 12 14 15 -0 4 6 7 9 11 13 14 15 -0 4 6 7 9 12 13 14 15 -0 4 6 7 10 11 12 13 14 -0 4 6 7 10 11 12 13 15 -0 4 6 7 10 11 12 14 15 -0 4 6 7 10 11 13 14 15 -0 4 6 7 10 12 13 14 15 -0 4 6 7 11 12 13 14 15 -0 4 6 8 9 10 11 12 13 -0 4 6 8 9 10 11 12 14 -0 4 6 8 9 10 11 12 15 -0 4 6 8 9 10 11 13 14 -0 4 6 8 9 10 11 13 15 -0 4 6 8 9 10 11 14 15 -0 4 6 8 9 10 12 13 14 -0 4 6 8 9 10 12 13 15 -0 4 6 8 9 10 12 14 15 -0 4 6 8 9 10 13 14 15 -0 4 6 8 9 11 12 13 14 -0 4 6 8 9 11 12 13 15 -0 4 6 8 9 11 12 14 15 -0 4 6 8 9 11 13 14 15 -0 4 6 8 9 12 13 14 15 -0 4 6 8 10 11 12 13 14 -0 4 6 8 10 11 12 13 15 -0 4 6 8 10 11 12 14 15 -0 4 6 8 10 11 13 14 15 -0 4 6 8 10 12 13 14 15 -0 4 6 8 11 12 13 14 15 -0 4 6 9 10 11 12 13 14 -0 4 6 9 10 11 12 13 15 -0 4 6 9 10 11 12 14 15 -0 4 6 9 10 11 13 14 15 -0 4 6 9 10 12 13 14 15 -0 4 6 9 11 12 13 14 15 -0 4 6 10 11 12 13 14 15 -0 4 7 8 9 10 11 12 13 -0 4 7 8 9 10 11 12 14 -0 4 7 8 9 10 11 12 15 -0 4 7 8 9 10 11 13 14 -0 4 7 8 9 10 11 13 15 -0 4 7 8 9 10 11 14 15 -0 4 7 8 9 10 12 13 14 -0 4 7 8 9 10 12 13 15 -0 4 7 8 9 10 12 14 15 -0 4 7 8 9 10 13 14 15 -0 4 7 8 9 11 12 13 14 -0 4 7 8 9 11 12 13 15 -0 4 7 8 9 11 12 14 15 -0 4 7 8 9 11 13 14 15 -0 4 7 8 9 12 13 14 15 -0 4 7 8 10 11 12 13 14 -0 4 7 8 10 11 12 13 15 -0 4 7 8 10 11 12 14 15 -0 4 7 8 10 11 13 14 15 -0 4 7 8 10 12 13 14 15 -0 4 7 8 11 12 13 14 15 -0 4 7 9 10 11 12 13 14 -0 4 7 9 10 11 12 13 15 -0 4 7 9 10 11 12 14 15 -0 4 7 9 10 11 13 14 15 -0 4 7 9 10 12 13 14 15 -0 4 7 9 11 12 13 14 15 -0 4 7 10 11 12 13 14 15 -0 4 8 9 10 11 12 13 14 -0 4 8 9 10 11 12 13 15 -0 4 8 9 10 11 12 14 15 -0 4 8 9 10 11 13 14 15 -0 4 8 9 10 12 13 14 15 -0 4 8 9 11 12 13 14 15 -0 4 8 10 11 12 13 14 15 -0 4 9 10 11 12 13 14 15 -0 5 6 7 8 9 10 11 12 -0 5 6 7 8 9 10 11 13 -0 5 6 7 8 9 10 11 14 -0 5 6 7 8 9 10 11 15 -0 5 6 7 8 9 10 12 13 -0 5 6 7 8 9 10 12 14 -0 5 6 7 8 9 10 12 15 -0 5 6 7 8 9 10 13 14 -0 5 6 7 8 9 10 13 15 -0 5 6 7 8 9 10 14 15 -0 5 6 7 8 9 11 12 13 -0 5 6 7 8 9 11 12 14 -0 5 6 7 8 9 11 12 15 -0 5 6 7 8 9 11 13 14 -0 5 6 7 8 9 11 13 15 -0 5 6 7 8 9 11 14 15 -0 5 6 7 8 9 12 13 14 -0 5 6 7 8 9 12 13 15 -0 5 6 7 8 9 12 14 15 -0 5 6 7 8 9 13 14 15 -0 5 6 7 8 10 11 12 13 -0 5 6 7 8 10 11 12 14 -0 5 6 7 8 10 11 12 15 -0 5 6 7 8 10 11 13 14 -0 5 6 7 8 10 11 13 15 -0 5 6 7 8 10 11 14 15 -0 5 6 7 8 10 12 13 14 -0 5 6 7 8 10 12 13 15 -0 5 6 7 8 10 12 14 15 -0 5 6 7 8 10 13 14 15 -0 5 6 7 8 11 12 13 14 -0 5 6 7 8 11 12 13 15 -0 5 6 7 8 11 12 14 15 -0 5 6 7 8 11 13 14 15 -0 5 6 7 8 12 13 14 15 -0 5 6 7 9 10 11 12 13 -0 5 6 7 9 10 11 12 14 -0 5 6 7 9 10 11 12 15 -0 5 6 7 9 10 11 13 14 -0 5 6 7 9 10 11 13 15 -0 5 6 7 9 10 11 14 15 -0 5 6 7 9 10 12 13 14 -0 5 6 7 9 10 12 13 15 -0 5 6 7 9 10 12 14 15 -0 5 6 7 9 10 13 14 15 -0 5 6 7 9 11 12 13 14 -0 5 6 7 9 11 12 13 15 -0 5 6 7 9 11 12 14 15 -0 5 6 7 9 11 13 14 15 -0 5 6 7 9 12 13 14 15 -0 5 6 7 10 11 12 13 14 -0 5 6 7 10 11 12 13 15 -0 5 6 7 10 11 12 14 15 -0 5 6 7 10 11 13 14 15 -0 5 6 7 10 12 13 14 15 -0 5 6 7 11 12 13 14 15 -0 5 6 8 9 10 11 12 13 -0 5 6 8 9 10 11 12 14 -0 5 6 8 9 10 11 12 15 -0 5 6 8 9 10 11 13 14 -0 5 6 8 9 10 11 13 15 -0 5 6 8 9 10 11 14 15 -0 5 6 8 9 10 12 13 14 -0 5 6 8 9 10 12 13 15 -0 5 6 8 9 10 12 14 15 -0 5 6 8 9 10 13 14 15 -0 5 6 8 9 11 12 13 14 -0 5 6 8 9 11 12 13 15 -0 5 6 8 9 11 12 14 15 -0 5 6 8 9 11 13 14 15 -0 5 6 8 9 12 13 14 15 -0 5 6 8 10 11 12 13 14 -0 5 6 8 10 11 12 13 15 -0 5 6 8 10 11 12 14 15 -0 5 6 8 10 11 13 14 15 -0 5 6 8 10 12 13 14 15 -0 5 6 8 11 12 13 14 15 -0 5 6 9 10 11 12 13 14 -0 5 6 9 10 11 12 13 15 -0 5 6 9 10 11 12 14 15 -0 5 6 9 10 11 13 14 15 -0 5 6 9 10 12 13 14 15 -0 5 6 9 11 12 13 14 15 -0 5 6 10 11 12 13 14 15 -0 5 7 8 9 10 11 12 13 -0 5 7 8 9 10 11 12 14 -0 5 7 8 9 10 11 12 15 -0 5 7 8 9 10 11 13 14 -0 5 7 8 9 10 11 13 15 -0 5 7 8 9 10 11 14 15 -0 5 7 8 9 10 12 13 14 -0 5 7 8 9 10 12 13 15 -0 5 7 8 9 10 12 14 15 -0 5 7 8 9 10 13 14 15 -0 5 7 8 9 11 12 13 14 -0 5 7 8 9 11 12 13 15 -0 5 7 8 9 11 12 14 15 -0 5 7 8 9 11 13 14 15 -0 5 7 8 9 12 13 14 15 -0 5 7 8 10 11 12 13 14 -0 5 7 8 10 11 12 13 15 -0 5 7 8 10 11 12 14 15 -0 5 7 8 10 11 13 14 15 -0 5 7 8 10 12 13 14 15 -0 5 7 8 11 12 13 14 15 -0 5 7 9 10 11 12 13 14 -0 5 7 9 10 11 12 13 15 -0 5 7 9 10 11 12 14 15 -0 5 7 9 10 11 13 14 15 -0 5 7 9 10 12 13 14 15 -0 5 7 9 11 12 13 14 15 -0 5 7 10 11 12 13 14 15 -0 5 8 9 10 11 12 13 14 -0 5 8 9 10 11 12 13 15 -0 5 8 9 10 11 12 14 15 -0 5 8 9 10 11 13 14 15 -0 5 8 9 10 12 13 14 15 -0 5 8 9 11 12 13 14 15 -0 5 8 10 11 12 13 14 15 -0 5 9 10 11 12 13 14 15 -0 6 7 8 9 10 11 12 13 -0 6 7 8 9 10 11 12 14 -0 6 7 8 9 10 11 12 15 -0 6 7 8 9 10 11 13 14 -0 6 7 8 9 10 11 13 15 -0 6 7 8 9 10 11 14 15 -0 6 7 8 9 10 12 13 14 -0 6 7 8 9 10 12 13 15 -0 6 7 8 9 10 12 14 15 -0 6 7 8 9 10 13 14 15 -0 6 7 8 9 11 12 13 14 -0 6 7 8 9 11 12 13 15 -0 6 7 8 9 11 12 14 15 -0 6 7 8 9 11 13 14 15 -0 6 7 8 9 12 13 14 15 -0 6 7 8 10 11 12 13 14 -0 6 7 8 10 11 12 13 15 -0 6 7 8 10 11 12 14 15 -0 6 7 8 10 11 13 14 15 -0 6 7 8 10 12 13 14 15 -0 6 7 8 11 12 13 14 15 -0 6 7 9 10 11 12 13 14 -0 6 7 9 10 11 12 13 15 -0 6 7 9 10 11 12 14 15 -0 6 7 9 10 11 13 14 15 -0 6 7 9 10 12 13 14 15 -0 6 7 9 11 12 13 14 15 -0 6 7 10 11 12 13 14 15 -0 6 8 9 10 11 12 13 14 -0 6 8 9 10 11 12 13 15 -0 6 8 9 10 11 12 14 15 -0 6 8 9 10 11 13 14 15 -0 6 8 9 10 12 13 14 15 -0 6 8 9 11 12 13 14 15 -0 6 8 10 11 12 13 14 15 -0 6 9 10 11 12 13 14 15 -0 7 8 9 10 11 12 13 14 -0 7 8 9 10 11 12 13 15 -0 7 8 9 10 11 12 14 15 -0 7 8 9 10 11 13 14 15 -0 7 8 9 10 12 13 14 15 -0 7 8 9 11 12 13 14 15 -0 7 8 10 11 12 13 14 15 -0 7 9 10 11 12 13 14 15 -0 8 9 10 11 12 13 14 15 -1 2 3 4 5 6 7 8 9 -1 2 3 4 5 6 7 8 10 -1 2 3 4 5 6 7 8 11 -1 2 3 4 5 6 7 8 12 -1 2 3 4 5 6 7 8 13 -1 2 3 4 5 6 7 8 14 -1 2 3 4 5 6 7 8 15 -1 2 3 4 5 6 7 9 10 -1 2 3 4 5 6 7 9 11 -1 2 3 4 5 6 7 9 12 -1 2 3 4 5 6 7 9 13 -1 2 3 4 5 6 7 9 14 -1 2 3 4 5 6 7 9 15 -1 2 3 4 5 6 7 10 11 -1 2 3 4 5 6 7 10 12 -1 2 3 4 5 6 7 10 13 -1 2 3 4 5 6 7 10 14 -1 2 3 4 5 6 7 10 15 -1 2 3 4 5 6 7 11 12 -1 2 3 4 5 6 7 11 13 -1 2 3 4 5 6 7 11 14 -1 2 3 4 5 6 7 11 15 -1 2 3 4 5 6 7 12 13 -1 2 3 4 5 6 7 12 14 -1 2 3 4 5 6 7 12 15 -1 2 3 4 5 6 7 13 14 -1 2 3 4 5 6 7 13 15 -1 2 3 4 5 6 7 14 15 -1 2 3 4 5 6 8 9 10 -1 2 3 4 5 6 8 9 11 -1 2 3 4 5 6 8 9 12 -1 2 3 4 5 6 8 9 13 -1 2 3 4 5 6 8 9 14 -1 2 3 4 5 6 8 9 15 -1 2 3 4 5 6 8 10 11 -1 2 3 4 5 6 8 10 12 -1 2 3 4 5 6 8 10 13 -1 2 3 4 5 6 8 10 14 -1 2 3 4 5 6 8 10 15 -1 2 3 4 5 6 8 11 12 -1 2 3 4 5 6 8 11 13 -1 2 3 4 5 6 8 11 14 -1 2 3 4 5 6 8 11 15 -1 2 3 4 5 6 8 12 13 -1 2 3 4 5 6 8 12 14 -1 2 3 4 5 6 8 12 15 -1 2 3 4 5 6 8 13 14 -1 2 3 4 5 6 8 13 15 -1 2 3 4 5 6 8 14 15 -1 2 3 4 5 6 9 10 11 -1 2 3 4 5 6 9 10 12 -1 2 3 4 5 6 9 10 13 -1 2 3 4 5 6 9 10 14 -1 2 3 4 5 6 9 10 15 -1 2 3 4 5 6 9 11 12 -1 2 3 4 5 6 9 11 13 -1 2 3 4 5 6 9 11 14 -1 2 3 4 5 6 9 11 15 -1 2 3 4 5 6 9 12 13 -1 2 3 4 5 6 9 12 14 -1 2 3 4 5 6 9 12 15 -1 2 3 4 5 6 9 13 14 -1 2 3 4 5 6 9 13 15 -1 2 3 4 5 6 9 14 15 -1 2 3 4 5 6 10 11 12 -1 2 3 4 5 6 10 11 13 -1 2 3 4 5 6 10 11 14 -1 2 3 4 5 6 10 11 15 -1 2 3 4 5 6 10 12 13 -1 2 3 4 5 6 10 12 14 -1 2 3 4 5 6 10 12 15 -1 2 3 4 5 6 10 13 14 -1 2 3 4 5 6 10 13 15 -1 2 3 4 5 6 10 14 15 -1 2 3 4 5 6 11 12 13 -1 2 3 4 5 6 11 12 14 -1 2 3 4 5 6 11 12 15 -1 2 3 4 5 6 11 13 14 -1 2 3 4 5 6 11 13 15 -1 2 3 4 5 6 11 14 15 -1 2 3 4 5 6 12 13 14 -1 2 3 4 5 6 12 13 15 -1 2 3 4 5 6 12 14 15 -1 2 3 4 5 6 13 14 15 -1 2 3 4 5 7 8 9 10 -1 2 3 4 5 7 8 9 11 -1 2 3 4 5 7 8 9 12 -1 2 3 4 5 7 8 9 13 -1 2 3 4 5 7 8 9 14 -1 2 3 4 5 7 8 9 15 -1 2 3 4 5 7 8 10 11 -1 2 3 4 5 7 8 10 12 -1 2 3 4 5 7 8 10 13 -1 2 3 4 5 7 8 10 14 -1 2 3 4 5 7 8 10 15 -1 2 3 4 5 7 8 11 12 -1 2 3 4 5 7 8 11 13 -1 2 3 4 5 7 8 11 14 -1 2 3 4 5 7 8 11 15 -1 2 3 4 5 7 8 12 13 -1 2 3 4 5 7 8 12 14 -1 2 3 4 5 7 8 12 15 -1 2 3 4 5 7 8 13 14 -1 2 3 4 5 7 8 13 15 -1 2 3 4 5 7 8 14 15 -1 2 3 4 5 7 9 10 11 -1 2 3 4 5 7 9 10 12 -1 2 3 4 5 7 9 10 13 -1 2 3 4 5 7 9 10 14 -1 2 3 4 5 7 9 10 15 -1 2 3 4 5 7 9 11 12 -1 2 3 4 5 7 9 11 13 -1 2 3 4 5 7 9 11 14 -1 2 3 4 5 7 9 11 15 -1 2 3 4 5 7 9 12 13 -1 2 3 4 5 7 9 12 14 -1 2 3 4 5 7 9 12 15 -1 2 3 4 5 7 9 13 14 -1 2 3 4 5 7 9 13 15 -1 2 3 4 5 7 9 14 15 -1 2 3 4 5 7 10 11 12 -1 2 3 4 5 7 10 11 13 -1 2 3 4 5 7 10 11 14 -1 2 3 4 5 7 10 11 15 -1 2 3 4 5 7 10 12 13 -1 2 3 4 5 7 10 12 14 -1 2 3 4 5 7 10 12 15 -1 2 3 4 5 7 10 13 14 -1 2 3 4 5 7 10 13 15 -1 2 3 4 5 7 10 14 15 -1 2 3 4 5 7 11 12 13 -1 2 3 4 5 7 11 12 14 -1 2 3 4 5 7 11 12 15 -1 2 3 4 5 7 11 13 14 -1 2 3 4 5 7 11 13 15 -1 2 3 4 5 7 11 14 15 -1 2 3 4 5 7 12 13 14 -1 2 3 4 5 7 12 13 15 -1 2 3 4 5 7 12 14 15 -1 2 3 4 5 7 13 14 15 -1 2 3 4 5 8 9 10 11 -1 2 3 4 5 8 9 10 12 -1 2 3 4 5 8 9 10 13 -1 2 3 4 5 8 9 10 14 -1 2 3 4 5 8 9 10 15 -1 2 3 4 5 8 9 11 12 -1 2 3 4 5 8 9 11 13 -1 2 3 4 5 8 9 11 14 -1 2 3 4 5 8 9 11 15 -1 2 3 4 5 8 9 12 13 -1 2 3 4 5 8 9 12 14 -1 2 3 4 5 8 9 12 15 -1 2 3 4 5 8 9 13 14 -1 2 3 4 5 8 9 13 15 -1 2 3 4 5 8 9 14 15 -1 2 3 4 5 8 10 11 12 -1 2 3 4 5 8 10 11 13 -1 2 3 4 5 8 10 11 14 -1 2 3 4 5 8 10 11 15 -1 2 3 4 5 8 10 12 13 -1 2 3 4 5 8 10 12 14 -1 2 3 4 5 8 10 12 15 -1 2 3 4 5 8 10 13 14 -1 2 3 4 5 8 10 13 15 -1 2 3 4 5 8 10 14 15 -1 2 3 4 5 8 11 12 13 -1 2 3 4 5 8 11 12 14 -1 2 3 4 5 8 11 12 15 -1 2 3 4 5 8 11 13 14 -1 2 3 4 5 8 11 13 15 -1 2 3 4 5 8 11 14 15 -1 2 3 4 5 8 12 13 14 -1 2 3 4 5 8 12 13 15 -1 2 3 4 5 8 12 14 15 -1 2 3 4 5 8 13 14 15 -1 2 3 4 5 9 10 11 12 -1 2 3 4 5 9 10 11 13 -1 2 3 4 5 9 10 11 14 -1 2 3 4 5 9 10 11 15 -1 2 3 4 5 9 10 12 13 -1 2 3 4 5 9 10 12 14 -1 2 3 4 5 9 10 12 15 -1 2 3 4 5 9 10 13 14 -1 2 3 4 5 9 10 13 15 -1 2 3 4 5 9 10 14 15 -1 2 3 4 5 9 11 12 13 -1 2 3 4 5 9 11 12 14 -1 2 3 4 5 9 11 12 15 -1 2 3 4 5 9 11 13 14 -1 2 3 4 5 9 11 13 15 -1 2 3 4 5 9 11 14 15 -1 2 3 4 5 9 12 13 14 -1 2 3 4 5 9 12 13 15 -1 2 3 4 5 9 12 14 15 -1 2 3 4 5 9 13 14 15 -1 2 3 4 5 10 11 12 13 -1 2 3 4 5 10 11 12 14 -1 2 3 4 5 10 11 12 15 -1 2 3 4 5 10 11 13 14 -1 2 3 4 5 10 11 13 15 -1 2 3 4 5 10 11 14 15 -1 2 3 4 5 10 12 13 14 -1 2 3 4 5 10 12 13 15 -1 2 3 4 5 10 12 14 15 -1 2 3 4 5 10 13 14 15 -1 2 3 4 5 11 12 13 14 -1 2 3 4 5 11 12 13 15 -1 2 3 4 5 11 12 14 15 -1 2 3 4 5 11 13 14 15 -1 2 3 4 5 12 13 14 15 -1 2 3 4 6 7 8 9 10 -1 2 3 4 6 7 8 9 11 -1 2 3 4 6 7 8 9 12 -1 2 3 4 6 7 8 9 13 -1 2 3 4 6 7 8 9 14 -1 2 3 4 6 7 8 9 15 -1 2 3 4 6 7 8 10 11 -1 2 3 4 6 7 8 10 12 -1 2 3 4 6 7 8 10 13 -1 2 3 4 6 7 8 10 14 -1 2 3 4 6 7 8 10 15 -1 2 3 4 6 7 8 11 12 -1 2 3 4 6 7 8 11 13 -1 2 3 4 6 7 8 11 14 -1 2 3 4 6 7 8 11 15 -1 2 3 4 6 7 8 12 13 -1 2 3 4 6 7 8 12 14 -1 2 3 4 6 7 8 12 15 -1 2 3 4 6 7 8 13 14 -1 2 3 4 6 7 8 13 15 -1 2 3 4 6 7 8 14 15 -1 2 3 4 6 7 9 10 11 -1 2 3 4 6 7 9 10 12 -1 2 3 4 6 7 9 10 13 -1 2 3 4 6 7 9 10 14 -1 2 3 4 6 7 9 10 15 -1 2 3 4 6 7 9 11 12 -1 2 3 4 6 7 9 11 13 -1 2 3 4 6 7 9 11 14 -1 2 3 4 6 7 9 11 15 -1 2 3 4 6 7 9 12 13 -1 2 3 4 6 7 9 12 14 -1 2 3 4 6 7 9 12 15 -1 2 3 4 6 7 9 13 14 -1 2 3 4 6 7 9 13 15 -1 2 3 4 6 7 9 14 15 -1 2 3 4 6 7 10 11 12 -1 2 3 4 6 7 10 11 13 -1 2 3 4 6 7 10 11 14 -1 2 3 4 6 7 10 11 15 -1 2 3 4 6 7 10 12 13 -1 2 3 4 6 7 10 12 14 -1 2 3 4 6 7 10 12 15 -1 2 3 4 6 7 10 13 14 -1 2 3 4 6 7 10 13 15 -1 2 3 4 6 7 10 14 15 -1 2 3 4 6 7 11 12 13 -1 2 3 4 6 7 11 12 14 -1 2 3 4 6 7 11 12 15 -1 2 3 4 6 7 11 13 14 -1 2 3 4 6 7 11 13 15 -1 2 3 4 6 7 11 14 15 -1 2 3 4 6 7 12 13 14 -1 2 3 4 6 7 12 13 15 -1 2 3 4 6 7 12 14 15 -1 2 3 4 6 7 13 14 15 -1 2 3 4 6 8 9 10 11 -1 2 3 4 6 8 9 10 12 -1 2 3 4 6 8 9 10 13 -1 2 3 4 6 8 9 10 14 -1 2 3 4 6 8 9 10 15 -1 2 3 4 6 8 9 11 12 -1 2 3 4 6 8 9 11 13 -1 2 3 4 6 8 9 11 14 -1 2 3 4 6 8 9 11 15 -1 2 3 4 6 8 9 12 13 -1 2 3 4 6 8 9 12 14 -1 2 3 4 6 8 9 12 15 -1 2 3 4 6 8 9 13 14 -1 2 3 4 6 8 9 13 15 -1 2 3 4 6 8 9 14 15 -1 2 3 4 6 8 10 11 12 -1 2 3 4 6 8 10 11 13 -1 2 3 4 6 8 10 11 14 -1 2 3 4 6 8 10 11 15 -1 2 3 4 6 8 10 12 13 -1 2 3 4 6 8 10 12 14 -1 2 3 4 6 8 10 12 15 -1 2 3 4 6 8 10 13 14 -1 2 3 4 6 8 10 13 15 -1 2 3 4 6 8 10 14 15 -1 2 3 4 6 8 11 12 13 -1 2 3 4 6 8 11 12 14 -1 2 3 4 6 8 11 12 15 -1 2 3 4 6 8 11 13 14 -1 2 3 4 6 8 11 13 15 -1 2 3 4 6 8 11 14 15 -1 2 3 4 6 8 12 13 14 -1 2 3 4 6 8 12 13 15 -1 2 3 4 6 8 12 14 15 -1 2 3 4 6 8 13 14 15 -1 2 3 4 6 9 10 11 12 -1 2 3 4 6 9 10 11 13 -1 2 3 4 6 9 10 11 14 -1 2 3 4 6 9 10 11 15 -1 2 3 4 6 9 10 12 13 -1 2 3 4 6 9 10 12 14 -1 2 3 4 6 9 10 12 15 -1 2 3 4 6 9 10 13 14 -1 2 3 4 6 9 10 13 15 -1 2 3 4 6 9 10 14 15 -1 2 3 4 6 9 11 12 13 -1 2 3 4 6 9 11 12 14 -1 2 3 4 6 9 11 12 15 -1 2 3 4 6 9 11 13 14 -1 2 3 4 6 9 11 13 15 -1 2 3 4 6 9 11 14 15 -1 2 3 4 6 9 12 13 14 -1 2 3 4 6 9 12 13 15 -1 2 3 4 6 9 12 14 15 -1 2 3 4 6 9 13 14 15 -1 2 3 4 6 10 11 12 13 -1 2 3 4 6 10 11 12 14 -1 2 3 4 6 10 11 12 15 -1 2 3 4 6 10 11 13 14 -1 2 3 4 6 10 11 13 15 -1 2 3 4 6 10 11 14 15 -1 2 3 4 6 10 12 13 14 -1 2 3 4 6 10 12 13 15 -1 2 3 4 6 10 12 14 15 -1 2 3 4 6 10 13 14 15 -1 2 3 4 6 11 12 13 14 -1 2 3 4 6 11 12 13 15 -1 2 3 4 6 11 12 14 15 -1 2 3 4 6 11 13 14 15 -1 2 3 4 6 12 13 14 15 -1 2 3 4 7 8 9 10 11 -1 2 3 4 7 8 9 10 12 -1 2 3 4 7 8 9 10 13 -1 2 3 4 7 8 9 10 14 -1 2 3 4 7 8 9 10 15 -1 2 3 4 7 8 9 11 12 -1 2 3 4 7 8 9 11 13 -1 2 3 4 7 8 9 11 14 -1 2 3 4 7 8 9 11 15 -1 2 3 4 7 8 9 12 13 -1 2 3 4 7 8 9 12 14 -1 2 3 4 7 8 9 12 15 -1 2 3 4 7 8 9 13 14 -1 2 3 4 7 8 9 13 15 -1 2 3 4 7 8 9 14 15 -1 2 3 4 7 8 10 11 12 -1 2 3 4 7 8 10 11 13 -1 2 3 4 7 8 10 11 14 -1 2 3 4 7 8 10 11 15 -1 2 3 4 7 8 10 12 13 -1 2 3 4 7 8 10 12 14 -1 2 3 4 7 8 10 12 15 -1 2 3 4 7 8 10 13 14 -1 2 3 4 7 8 10 13 15 -1 2 3 4 7 8 10 14 15 -1 2 3 4 7 8 11 12 13 -1 2 3 4 7 8 11 12 14 -1 2 3 4 7 8 11 12 15 -1 2 3 4 7 8 11 13 14 -1 2 3 4 7 8 11 13 15 -1 2 3 4 7 8 11 14 15 -1 2 3 4 7 8 12 13 14 -1 2 3 4 7 8 12 13 15 -1 2 3 4 7 8 12 14 15 -1 2 3 4 7 8 13 14 15 -1 2 3 4 7 9 10 11 12 -1 2 3 4 7 9 10 11 13 -1 2 3 4 7 9 10 11 14 -1 2 3 4 7 9 10 11 15 -1 2 3 4 7 9 10 12 13 -1 2 3 4 7 9 10 12 14 -1 2 3 4 7 9 10 12 15 -1 2 3 4 7 9 10 13 14 -1 2 3 4 7 9 10 13 15 -1 2 3 4 7 9 10 14 15 -1 2 3 4 7 9 11 12 13 -1 2 3 4 7 9 11 12 14 -1 2 3 4 7 9 11 12 15 -1 2 3 4 7 9 11 13 14 -1 2 3 4 7 9 11 13 15 -1 2 3 4 7 9 11 14 15 -1 2 3 4 7 9 12 13 14 -1 2 3 4 7 9 12 13 15 -1 2 3 4 7 9 12 14 15 -1 2 3 4 7 9 13 14 15 -1 2 3 4 7 10 11 12 13 -1 2 3 4 7 10 11 12 14 -1 2 3 4 7 10 11 12 15 -1 2 3 4 7 10 11 13 14 -1 2 3 4 7 10 11 13 15 -1 2 3 4 7 10 11 14 15 -1 2 3 4 7 10 12 13 14 -1 2 3 4 7 10 12 13 15 -1 2 3 4 7 10 12 14 15 -1 2 3 4 7 10 13 14 15 -1 2 3 4 7 11 12 13 14 -1 2 3 4 7 11 12 13 15 -1 2 3 4 7 11 12 14 15 -1 2 3 4 7 11 13 14 15 -1 2 3 4 7 12 13 14 15 -1 2 3 4 8 9 10 11 12 -1 2 3 4 8 9 10 11 13 -1 2 3 4 8 9 10 11 14 -1 2 3 4 8 9 10 11 15 -1 2 3 4 8 9 10 12 13 -1 2 3 4 8 9 10 12 14 -1 2 3 4 8 9 10 12 15 -1 2 3 4 8 9 10 13 14 -1 2 3 4 8 9 10 13 15 -1 2 3 4 8 9 10 14 15 -1 2 3 4 8 9 11 12 13 -1 2 3 4 8 9 11 12 14 -1 2 3 4 8 9 11 12 15 -1 2 3 4 8 9 11 13 14 -1 2 3 4 8 9 11 13 15 -1 2 3 4 8 9 11 14 15 -1 2 3 4 8 9 12 13 14 -1 2 3 4 8 9 12 13 15 -1 2 3 4 8 9 12 14 15 -1 2 3 4 8 9 13 14 15 -1 2 3 4 8 10 11 12 13 -1 2 3 4 8 10 11 12 14 -1 2 3 4 8 10 11 12 15 -1 2 3 4 8 10 11 13 14 -1 2 3 4 8 10 11 13 15 -1 2 3 4 8 10 11 14 15 -1 2 3 4 8 10 12 13 14 -1 2 3 4 8 10 12 13 15 -1 2 3 4 8 10 12 14 15 -1 2 3 4 8 10 13 14 15 -1 2 3 4 8 11 12 13 14 -1 2 3 4 8 11 12 13 15 -1 2 3 4 8 11 12 14 15 -1 2 3 4 8 11 13 14 15 -1 2 3 4 8 12 13 14 15 -1 2 3 4 9 10 11 12 13 -1 2 3 4 9 10 11 12 14 -1 2 3 4 9 10 11 12 15 -1 2 3 4 9 10 11 13 14 -1 2 3 4 9 10 11 13 15 -1 2 3 4 9 10 11 14 15 -1 2 3 4 9 10 12 13 14 -1 2 3 4 9 10 12 13 15 -1 2 3 4 9 10 12 14 15 -1 2 3 4 9 10 13 14 15 -1 2 3 4 9 11 12 13 14 -1 2 3 4 9 11 12 13 15 -1 2 3 4 9 11 12 14 15 -1 2 3 4 9 11 13 14 15 -1 2 3 4 9 12 13 14 15 -1 2 3 4 10 11 12 13 14 -1 2 3 4 10 11 12 13 15 -1 2 3 4 10 11 12 14 15 -1 2 3 4 10 11 13 14 15 -1 2 3 4 10 12 13 14 15 -1 2 3 4 11 12 13 14 15 -1 2 3 5 6 7 8 9 10 -1 2 3 5 6 7 8 9 11 -1 2 3 5 6 7 8 9 12 -1 2 3 5 6 7 8 9 13 -1 2 3 5 6 7 8 9 14 -1 2 3 5 6 7 8 9 15 -1 2 3 5 6 7 8 10 11 -1 2 3 5 6 7 8 10 12 -1 2 3 5 6 7 8 10 13 -1 2 3 5 6 7 8 10 14 -1 2 3 5 6 7 8 10 15 -1 2 3 5 6 7 8 11 12 -1 2 3 5 6 7 8 11 13 -1 2 3 5 6 7 8 11 14 -1 2 3 5 6 7 8 11 15 -1 2 3 5 6 7 8 12 13 -1 2 3 5 6 7 8 12 14 -1 2 3 5 6 7 8 12 15 -1 2 3 5 6 7 8 13 14 -1 2 3 5 6 7 8 13 15 -1 2 3 5 6 7 8 14 15 -1 2 3 5 6 7 9 10 11 -1 2 3 5 6 7 9 10 12 -1 2 3 5 6 7 9 10 13 -1 2 3 5 6 7 9 10 14 -1 2 3 5 6 7 9 10 15 -1 2 3 5 6 7 9 11 12 -1 2 3 5 6 7 9 11 13 -1 2 3 5 6 7 9 11 14 -1 2 3 5 6 7 9 11 15 -1 2 3 5 6 7 9 12 13 -1 2 3 5 6 7 9 12 14 -1 2 3 5 6 7 9 12 15 -1 2 3 5 6 7 9 13 14 -1 2 3 5 6 7 9 13 15 -1 2 3 5 6 7 9 14 15 -1 2 3 5 6 7 10 11 12 -1 2 3 5 6 7 10 11 13 -1 2 3 5 6 7 10 11 14 -1 2 3 5 6 7 10 11 15 -1 2 3 5 6 7 10 12 13 -1 2 3 5 6 7 10 12 14 -1 2 3 5 6 7 10 12 15 -1 2 3 5 6 7 10 13 14 -1 2 3 5 6 7 10 13 15 -1 2 3 5 6 7 10 14 15 -1 2 3 5 6 7 11 12 13 -1 2 3 5 6 7 11 12 14 -1 2 3 5 6 7 11 12 15 -1 2 3 5 6 7 11 13 14 -1 2 3 5 6 7 11 13 15 -1 2 3 5 6 7 11 14 15 -1 2 3 5 6 7 12 13 14 -1 2 3 5 6 7 12 13 15 -1 2 3 5 6 7 12 14 15 -1 2 3 5 6 7 13 14 15 -1 2 3 5 6 8 9 10 11 -1 2 3 5 6 8 9 10 12 -1 2 3 5 6 8 9 10 13 -1 2 3 5 6 8 9 10 14 -1 2 3 5 6 8 9 10 15 -1 2 3 5 6 8 9 11 12 -1 2 3 5 6 8 9 11 13 -1 2 3 5 6 8 9 11 14 -1 2 3 5 6 8 9 11 15 -1 2 3 5 6 8 9 12 13 -1 2 3 5 6 8 9 12 14 -1 2 3 5 6 8 9 12 15 -1 2 3 5 6 8 9 13 14 -1 2 3 5 6 8 9 13 15 -1 2 3 5 6 8 9 14 15 -1 2 3 5 6 8 10 11 12 -1 2 3 5 6 8 10 11 13 -1 2 3 5 6 8 10 11 14 -1 2 3 5 6 8 10 11 15 -1 2 3 5 6 8 10 12 13 -1 2 3 5 6 8 10 12 14 -1 2 3 5 6 8 10 12 15 -1 2 3 5 6 8 10 13 14 -1 2 3 5 6 8 10 13 15 -1 2 3 5 6 8 10 14 15 -1 2 3 5 6 8 11 12 13 -1 2 3 5 6 8 11 12 14 -1 2 3 5 6 8 11 12 15 -1 2 3 5 6 8 11 13 14 -1 2 3 5 6 8 11 13 15 -1 2 3 5 6 8 11 14 15 -1 2 3 5 6 8 12 13 14 -1 2 3 5 6 8 12 13 15 -1 2 3 5 6 8 12 14 15 -1 2 3 5 6 8 13 14 15 -1 2 3 5 6 9 10 11 12 -1 2 3 5 6 9 10 11 13 -1 2 3 5 6 9 10 11 14 -1 2 3 5 6 9 10 11 15 -1 2 3 5 6 9 10 12 13 -1 2 3 5 6 9 10 12 14 -1 2 3 5 6 9 10 12 15 -1 2 3 5 6 9 10 13 14 -1 2 3 5 6 9 10 13 15 -1 2 3 5 6 9 10 14 15 -1 2 3 5 6 9 11 12 13 -1 2 3 5 6 9 11 12 14 -1 2 3 5 6 9 11 12 15 -1 2 3 5 6 9 11 13 14 -1 2 3 5 6 9 11 13 15 -1 2 3 5 6 9 11 14 15 -1 2 3 5 6 9 12 13 14 -1 2 3 5 6 9 12 13 15 -1 2 3 5 6 9 12 14 15 -1 2 3 5 6 9 13 14 15 -1 2 3 5 6 10 11 12 13 -1 2 3 5 6 10 11 12 14 -1 2 3 5 6 10 11 12 15 -1 2 3 5 6 10 11 13 14 -1 2 3 5 6 10 11 13 15 -1 2 3 5 6 10 11 14 15 -1 2 3 5 6 10 12 13 14 -1 2 3 5 6 10 12 13 15 -1 2 3 5 6 10 12 14 15 -1 2 3 5 6 10 13 14 15 -1 2 3 5 6 11 12 13 14 -1 2 3 5 6 11 12 13 15 -1 2 3 5 6 11 12 14 15 -1 2 3 5 6 11 13 14 15 -1 2 3 5 6 12 13 14 15 -1 2 3 5 7 8 9 10 11 -1 2 3 5 7 8 9 10 12 -1 2 3 5 7 8 9 10 13 -1 2 3 5 7 8 9 10 14 -1 2 3 5 7 8 9 10 15 -1 2 3 5 7 8 9 11 12 -1 2 3 5 7 8 9 11 13 -1 2 3 5 7 8 9 11 14 -1 2 3 5 7 8 9 11 15 -1 2 3 5 7 8 9 12 13 -1 2 3 5 7 8 9 12 14 -1 2 3 5 7 8 9 12 15 -1 2 3 5 7 8 9 13 14 -1 2 3 5 7 8 9 13 15 -1 2 3 5 7 8 9 14 15 -1 2 3 5 7 8 10 11 12 -1 2 3 5 7 8 10 11 13 -1 2 3 5 7 8 10 11 14 -1 2 3 5 7 8 10 11 15 -1 2 3 5 7 8 10 12 13 -1 2 3 5 7 8 10 12 14 -1 2 3 5 7 8 10 12 15 -1 2 3 5 7 8 10 13 14 -1 2 3 5 7 8 10 13 15 -1 2 3 5 7 8 10 14 15 -1 2 3 5 7 8 11 12 13 -1 2 3 5 7 8 11 12 14 -1 2 3 5 7 8 11 12 15 -1 2 3 5 7 8 11 13 14 -1 2 3 5 7 8 11 13 15 -1 2 3 5 7 8 11 14 15 -1 2 3 5 7 8 12 13 14 -1 2 3 5 7 8 12 13 15 -1 2 3 5 7 8 12 14 15 -1 2 3 5 7 8 13 14 15 -1 2 3 5 7 9 10 11 12 -1 2 3 5 7 9 10 11 13 -1 2 3 5 7 9 10 11 14 -1 2 3 5 7 9 10 11 15 -1 2 3 5 7 9 10 12 13 -1 2 3 5 7 9 10 12 14 -1 2 3 5 7 9 10 12 15 -1 2 3 5 7 9 10 13 14 -1 2 3 5 7 9 10 13 15 -1 2 3 5 7 9 10 14 15 -1 2 3 5 7 9 11 12 13 -1 2 3 5 7 9 11 12 14 -1 2 3 5 7 9 11 12 15 -1 2 3 5 7 9 11 13 14 -1 2 3 5 7 9 11 13 15 -1 2 3 5 7 9 11 14 15 -1 2 3 5 7 9 12 13 14 -1 2 3 5 7 9 12 13 15 -1 2 3 5 7 9 12 14 15 -1 2 3 5 7 9 13 14 15 -1 2 3 5 7 10 11 12 13 -1 2 3 5 7 10 11 12 14 -1 2 3 5 7 10 11 12 15 -1 2 3 5 7 10 11 13 14 -1 2 3 5 7 10 11 13 15 -1 2 3 5 7 10 11 14 15 -1 2 3 5 7 10 12 13 14 -1 2 3 5 7 10 12 13 15 -1 2 3 5 7 10 12 14 15 -1 2 3 5 7 10 13 14 15 -1 2 3 5 7 11 12 13 14 -1 2 3 5 7 11 12 13 15 -1 2 3 5 7 11 12 14 15 -1 2 3 5 7 11 13 14 15 -1 2 3 5 7 12 13 14 15 -1 2 3 5 8 9 10 11 12 -1 2 3 5 8 9 10 11 13 -1 2 3 5 8 9 10 11 14 -1 2 3 5 8 9 10 11 15 -1 2 3 5 8 9 10 12 13 -1 2 3 5 8 9 10 12 14 -1 2 3 5 8 9 10 12 15 -1 2 3 5 8 9 10 13 14 -1 2 3 5 8 9 10 13 15 -1 2 3 5 8 9 10 14 15 -1 2 3 5 8 9 11 12 13 -1 2 3 5 8 9 11 12 14 -1 2 3 5 8 9 11 12 15 -1 2 3 5 8 9 11 13 14 -1 2 3 5 8 9 11 13 15 -1 2 3 5 8 9 11 14 15 -1 2 3 5 8 9 12 13 14 -1 2 3 5 8 9 12 13 15 -1 2 3 5 8 9 12 14 15 -1 2 3 5 8 9 13 14 15 -1 2 3 5 8 10 11 12 13 -1 2 3 5 8 10 11 12 14 -1 2 3 5 8 10 11 12 15 -1 2 3 5 8 10 11 13 14 -1 2 3 5 8 10 11 13 15 -1 2 3 5 8 10 11 14 15 -1 2 3 5 8 10 12 13 14 -1 2 3 5 8 10 12 13 15 -1 2 3 5 8 10 12 14 15 -1 2 3 5 8 10 13 14 15 -1 2 3 5 8 11 12 13 14 -1 2 3 5 8 11 12 13 15 -1 2 3 5 8 11 12 14 15 -1 2 3 5 8 11 13 14 15 -1 2 3 5 8 12 13 14 15 -1 2 3 5 9 10 11 12 13 -1 2 3 5 9 10 11 12 14 -1 2 3 5 9 10 11 12 15 -1 2 3 5 9 10 11 13 14 -1 2 3 5 9 10 11 13 15 -1 2 3 5 9 10 11 14 15 -1 2 3 5 9 10 12 13 14 -1 2 3 5 9 10 12 13 15 -1 2 3 5 9 10 12 14 15 -1 2 3 5 9 10 13 14 15 -1 2 3 5 9 11 12 13 14 -1 2 3 5 9 11 12 13 15 -1 2 3 5 9 11 12 14 15 -1 2 3 5 9 11 13 14 15 -1 2 3 5 9 12 13 14 15 -1 2 3 5 10 11 12 13 14 -1 2 3 5 10 11 12 13 15 -1 2 3 5 10 11 12 14 15 -1 2 3 5 10 11 13 14 15 -1 2 3 5 10 12 13 14 15 -1 2 3 5 11 12 13 14 15 -1 2 3 6 7 8 9 10 11 -1 2 3 6 7 8 9 10 12 -1 2 3 6 7 8 9 10 13 -1 2 3 6 7 8 9 10 14 -1 2 3 6 7 8 9 10 15 -1 2 3 6 7 8 9 11 12 -1 2 3 6 7 8 9 11 13 -1 2 3 6 7 8 9 11 14 -1 2 3 6 7 8 9 11 15 -1 2 3 6 7 8 9 12 13 -1 2 3 6 7 8 9 12 14 -1 2 3 6 7 8 9 12 15 -1 2 3 6 7 8 9 13 14 -1 2 3 6 7 8 9 13 15 -1 2 3 6 7 8 9 14 15 -1 2 3 6 7 8 10 11 12 -1 2 3 6 7 8 10 11 13 -1 2 3 6 7 8 10 11 14 -1 2 3 6 7 8 10 11 15 -1 2 3 6 7 8 10 12 13 -1 2 3 6 7 8 10 12 14 -1 2 3 6 7 8 10 12 15 -1 2 3 6 7 8 10 13 14 -1 2 3 6 7 8 10 13 15 -1 2 3 6 7 8 10 14 15 -1 2 3 6 7 8 11 12 13 -1 2 3 6 7 8 11 12 14 -1 2 3 6 7 8 11 12 15 -1 2 3 6 7 8 11 13 14 -1 2 3 6 7 8 11 13 15 -1 2 3 6 7 8 11 14 15 -1 2 3 6 7 8 12 13 14 -1 2 3 6 7 8 12 13 15 -1 2 3 6 7 8 12 14 15 -1 2 3 6 7 8 13 14 15 -1 2 3 6 7 9 10 11 12 -1 2 3 6 7 9 10 11 13 -1 2 3 6 7 9 10 11 14 -1 2 3 6 7 9 10 11 15 -1 2 3 6 7 9 10 12 13 -1 2 3 6 7 9 10 12 14 -1 2 3 6 7 9 10 12 15 -1 2 3 6 7 9 10 13 14 -1 2 3 6 7 9 10 13 15 -1 2 3 6 7 9 10 14 15 -1 2 3 6 7 9 11 12 13 -1 2 3 6 7 9 11 12 14 -1 2 3 6 7 9 11 12 15 -1 2 3 6 7 9 11 13 14 -1 2 3 6 7 9 11 13 15 -1 2 3 6 7 9 11 14 15 -1 2 3 6 7 9 12 13 14 -1 2 3 6 7 9 12 13 15 -1 2 3 6 7 9 12 14 15 -1 2 3 6 7 9 13 14 15 -1 2 3 6 7 10 11 12 13 -1 2 3 6 7 10 11 12 14 -1 2 3 6 7 10 11 12 15 -1 2 3 6 7 10 11 13 14 -1 2 3 6 7 10 11 13 15 -1 2 3 6 7 10 11 14 15 -1 2 3 6 7 10 12 13 14 -1 2 3 6 7 10 12 13 15 -1 2 3 6 7 10 12 14 15 -1 2 3 6 7 10 13 14 15 -1 2 3 6 7 11 12 13 14 -1 2 3 6 7 11 12 13 15 -1 2 3 6 7 11 12 14 15 -1 2 3 6 7 11 13 14 15 -1 2 3 6 7 12 13 14 15 -1 2 3 6 8 9 10 11 12 -1 2 3 6 8 9 10 11 13 -1 2 3 6 8 9 10 11 14 -1 2 3 6 8 9 10 11 15 -1 2 3 6 8 9 10 12 13 -1 2 3 6 8 9 10 12 14 -1 2 3 6 8 9 10 12 15 -1 2 3 6 8 9 10 13 14 -1 2 3 6 8 9 10 13 15 -1 2 3 6 8 9 10 14 15 -1 2 3 6 8 9 11 12 13 -1 2 3 6 8 9 11 12 14 -1 2 3 6 8 9 11 12 15 -1 2 3 6 8 9 11 13 14 -1 2 3 6 8 9 11 13 15 -1 2 3 6 8 9 11 14 15 -1 2 3 6 8 9 12 13 14 -1 2 3 6 8 9 12 13 15 -1 2 3 6 8 9 12 14 15 -1 2 3 6 8 9 13 14 15 -1 2 3 6 8 10 11 12 13 -1 2 3 6 8 10 11 12 14 -1 2 3 6 8 10 11 12 15 -1 2 3 6 8 10 11 13 14 -1 2 3 6 8 10 11 13 15 -1 2 3 6 8 10 11 14 15 -1 2 3 6 8 10 12 13 14 -1 2 3 6 8 10 12 13 15 -1 2 3 6 8 10 12 14 15 -1 2 3 6 8 10 13 14 15 -1 2 3 6 8 11 12 13 14 -1 2 3 6 8 11 12 13 15 -1 2 3 6 8 11 12 14 15 -1 2 3 6 8 11 13 14 15 -1 2 3 6 8 12 13 14 15 -1 2 3 6 9 10 11 12 13 -1 2 3 6 9 10 11 12 14 -1 2 3 6 9 10 11 12 15 -1 2 3 6 9 10 11 13 14 -1 2 3 6 9 10 11 13 15 -1 2 3 6 9 10 11 14 15 -1 2 3 6 9 10 12 13 14 -1 2 3 6 9 10 12 13 15 -1 2 3 6 9 10 12 14 15 -1 2 3 6 9 10 13 14 15 -1 2 3 6 9 11 12 13 14 -1 2 3 6 9 11 12 13 15 -1 2 3 6 9 11 12 14 15 -1 2 3 6 9 11 13 14 15 -1 2 3 6 9 12 13 14 15 -1 2 3 6 10 11 12 13 14 -1 2 3 6 10 11 12 13 15 -1 2 3 6 10 11 12 14 15 -1 2 3 6 10 11 13 14 15 -1 2 3 6 10 12 13 14 15 -1 2 3 6 11 12 13 14 15 -1 2 3 7 8 9 10 11 12 -1 2 3 7 8 9 10 11 13 -1 2 3 7 8 9 10 11 14 -1 2 3 7 8 9 10 11 15 -1 2 3 7 8 9 10 12 13 -1 2 3 7 8 9 10 12 14 -1 2 3 7 8 9 10 12 15 -1 2 3 7 8 9 10 13 14 -1 2 3 7 8 9 10 13 15 -1 2 3 7 8 9 10 14 15 -1 2 3 7 8 9 11 12 13 -1 2 3 7 8 9 11 12 14 -1 2 3 7 8 9 11 12 15 -1 2 3 7 8 9 11 13 14 -1 2 3 7 8 9 11 13 15 -1 2 3 7 8 9 11 14 15 -1 2 3 7 8 9 12 13 14 -1 2 3 7 8 9 12 13 15 -1 2 3 7 8 9 12 14 15 -1 2 3 7 8 9 13 14 15 -1 2 3 7 8 10 11 12 13 -1 2 3 7 8 10 11 12 14 -1 2 3 7 8 10 11 12 15 -1 2 3 7 8 10 11 13 14 -1 2 3 7 8 10 11 13 15 -1 2 3 7 8 10 11 14 15 -1 2 3 7 8 10 12 13 14 -1 2 3 7 8 10 12 13 15 -1 2 3 7 8 10 12 14 15 -1 2 3 7 8 10 13 14 15 -1 2 3 7 8 11 12 13 14 -1 2 3 7 8 11 12 13 15 -1 2 3 7 8 11 12 14 15 -1 2 3 7 8 11 13 14 15 -1 2 3 7 8 12 13 14 15 -1 2 3 7 9 10 11 12 13 -1 2 3 7 9 10 11 12 14 -1 2 3 7 9 10 11 12 15 -1 2 3 7 9 10 11 13 14 -1 2 3 7 9 10 11 13 15 -1 2 3 7 9 10 11 14 15 -1 2 3 7 9 10 12 13 14 -1 2 3 7 9 10 12 13 15 -1 2 3 7 9 10 12 14 15 -1 2 3 7 9 10 13 14 15 -1 2 3 7 9 11 12 13 14 -1 2 3 7 9 11 12 13 15 -1 2 3 7 9 11 12 14 15 -1 2 3 7 9 11 13 14 15 -1 2 3 7 9 12 13 14 15 -1 2 3 7 10 11 12 13 14 -1 2 3 7 10 11 12 13 15 -1 2 3 7 10 11 12 14 15 -1 2 3 7 10 11 13 14 15 -1 2 3 7 10 12 13 14 15 -1 2 3 7 11 12 13 14 15 -1 2 3 8 9 10 11 12 13 -1 2 3 8 9 10 11 12 14 -1 2 3 8 9 10 11 12 15 -1 2 3 8 9 10 11 13 14 -1 2 3 8 9 10 11 13 15 -1 2 3 8 9 10 11 14 15 -1 2 3 8 9 10 12 13 14 -1 2 3 8 9 10 12 13 15 -1 2 3 8 9 10 12 14 15 -1 2 3 8 9 10 13 14 15 -1 2 3 8 9 11 12 13 14 -1 2 3 8 9 11 12 13 15 -1 2 3 8 9 11 12 14 15 -1 2 3 8 9 11 13 14 15 -1 2 3 8 9 12 13 14 15 -1 2 3 8 10 11 12 13 14 -1 2 3 8 10 11 12 13 15 -1 2 3 8 10 11 12 14 15 -1 2 3 8 10 11 13 14 15 -1 2 3 8 10 12 13 14 15 -1 2 3 8 11 12 13 14 15 -1 2 3 9 10 11 12 13 14 -1 2 3 9 10 11 12 13 15 -1 2 3 9 10 11 12 14 15 -1 2 3 9 10 11 13 14 15 -1 2 3 9 10 12 13 14 15 -1 2 3 9 11 12 13 14 15 -1 2 3 10 11 12 13 14 15 -1 2 4 5 6 7 8 9 10 -1 2 4 5 6 7 8 9 11 -1 2 4 5 6 7 8 9 12 -1 2 4 5 6 7 8 9 13 -1 2 4 5 6 7 8 9 14 -1 2 4 5 6 7 8 9 15 -1 2 4 5 6 7 8 10 11 -1 2 4 5 6 7 8 10 12 -1 2 4 5 6 7 8 10 13 -1 2 4 5 6 7 8 10 14 -1 2 4 5 6 7 8 10 15 -1 2 4 5 6 7 8 11 12 -1 2 4 5 6 7 8 11 13 -1 2 4 5 6 7 8 11 14 -1 2 4 5 6 7 8 11 15 -1 2 4 5 6 7 8 12 13 -1 2 4 5 6 7 8 12 14 -1 2 4 5 6 7 8 12 15 -1 2 4 5 6 7 8 13 14 -1 2 4 5 6 7 8 13 15 -1 2 4 5 6 7 8 14 15 -1 2 4 5 6 7 9 10 11 -1 2 4 5 6 7 9 10 12 -1 2 4 5 6 7 9 10 13 -1 2 4 5 6 7 9 10 14 -1 2 4 5 6 7 9 10 15 -1 2 4 5 6 7 9 11 12 -1 2 4 5 6 7 9 11 13 -1 2 4 5 6 7 9 11 14 -1 2 4 5 6 7 9 11 15 -1 2 4 5 6 7 9 12 13 -1 2 4 5 6 7 9 12 14 -1 2 4 5 6 7 9 12 15 -1 2 4 5 6 7 9 13 14 -1 2 4 5 6 7 9 13 15 -1 2 4 5 6 7 9 14 15 -1 2 4 5 6 7 10 11 12 -1 2 4 5 6 7 10 11 13 -1 2 4 5 6 7 10 11 14 -1 2 4 5 6 7 10 11 15 -1 2 4 5 6 7 10 12 13 -1 2 4 5 6 7 10 12 14 -1 2 4 5 6 7 10 12 15 -1 2 4 5 6 7 10 13 14 -1 2 4 5 6 7 10 13 15 -1 2 4 5 6 7 10 14 15 -1 2 4 5 6 7 11 12 13 -1 2 4 5 6 7 11 12 14 -1 2 4 5 6 7 11 12 15 -1 2 4 5 6 7 11 13 14 -1 2 4 5 6 7 11 13 15 -1 2 4 5 6 7 11 14 15 -1 2 4 5 6 7 12 13 14 -1 2 4 5 6 7 12 13 15 -1 2 4 5 6 7 12 14 15 -1 2 4 5 6 7 13 14 15 -1 2 4 5 6 8 9 10 11 -1 2 4 5 6 8 9 10 12 -1 2 4 5 6 8 9 10 13 -1 2 4 5 6 8 9 10 14 -1 2 4 5 6 8 9 10 15 -1 2 4 5 6 8 9 11 12 -1 2 4 5 6 8 9 11 13 -1 2 4 5 6 8 9 11 14 -1 2 4 5 6 8 9 11 15 -1 2 4 5 6 8 9 12 13 -1 2 4 5 6 8 9 12 14 -1 2 4 5 6 8 9 12 15 -1 2 4 5 6 8 9 13 14 -1 2 4 5 6 8 9 13 15 -1 2 4 5 6 8 9 14 15 -1 2 4 5 6 8 10 11 12 -1 2 4 5 6 8 10 11 13 -1 2 4 5 6 8 10 11 14 -1 2 4 5 6 8 10 11 15 -1 2 4 5 6 8 10 12 13 -1 2 4 5 6 8 10 12 14 -1 2 4 5 6 8 10 12 15 -1 2 4 5 6 8 10 13 14 -1 2 4 5 6 8 10 13 15 -1 2 4 5 6 8 10 14 15 -1 2 4 5 6 8 11 12 13 -1 2 4 5 6 8 11 12 14 -1 2 4 5 6 8 11 12 15 -1 2 4 5 6 8 11 13 14 -1 2 4 5 6 8 11 13 15 -1 2 4 5 6 8 11 14 15 -1 2 4 5 6 8 12 13 14 -1 2 4 5 6 8 12 13 15 -1 2 4 5 6 8 12 14 15 -1 2 4 5 6 8 13 14 15 -1 2 4 5 6 9 10 11 12 -1 2 4 5 6 9 10 11 13 -1 2 4 5 6 9 10 11 14 -1 2 4 5 6 9 10 11 15 -1 2 4 5 6 9 10 12 13 -1 2 4 5 6 9 10 12 14 -1 2 4 5 6 9 10 12 15 -1 2 4 5 6 9 10 13 14 -1 2 4 5 6 9 10 13 15 -1 2 4 5 6 9 10 14 15 -1 2 4 5 6 9 11 12 13 -1 2 4 5 6 9 11 12 14 -1 2 4 5 6 9 11 12 15 -1 2 4 5 6 9 11 13 14 -1 2 4 5 6 9 11 13 15 -1 2 4 5 6 9 11 14 15 -1 2 4 5 6 9 12 13 14 -1 2 4 5 6 9 12 13 15 -1 2 4 5 6 9 12 14 15 -1 2 4 5 6 9 13 14 15 -1 2 4 5 6 10 11 12 13 -1 2 4 5 6 10 11 12 14 -1 2 4 5 6 10 11 12 15 -1 2 4 5 6 10 11 13 14 -1 2 4 5 6 10 11 13 15 -1 2 4 5 6 10 11 14 15 -1 2 4 5 6 10 12 13 14 -1 2 4 5 6 10 12 13 15 -1 2 4 5 6 10 12 14 15 -1 2 4 5 6 10 13 14 15 -1 2 4 5 6 11 12 13 14 -1 2 4 5 6 11 12 13 15 -1 2 4 5 6 11 12 14 15 -1 2 4 5 6 11 13 14 15 -1 2 4 5 6 12 13 14 15 -1 2 4 5 7 8 9 10 11 -1 2 4 5 7 8 9 10 12 -1 2 4 5 7 8 9 10 13 -1 2 4 5 7 8 9 10 14 -1 2 4 5 7 8 9 10 15 -1 2 4 5 7 8 9 11 12 -1 2 4 5 7 8 9 11 13 -1 2 4 5 7 8 9 11 14 -1 2 4 5 7 8 9 11 15 -1 2 4 5 7 8 9 12 13 -1 2 4 5 7 8 9 12 14 -1 2 4 5 7 8 9 12 15 -1 2 4 5 7 8 9 13 14 -1 2 4 5 7 8 9 13 15 -1 2 4 5 7 8 9 14 15 -1 2 4 5 7 8 10 11 12 -1 2 4 5 7 8 10 11 13 -1 2 4 5 7 8 10 11 14 -1 2 4 5 7 8 10 11 15 -1 2 4 5 7 8 10 12 13 -1 2 4 5 7 8 10 12 14 -1 2 4 5 7 8 10 12 15 -1 2 4 5 7 8 10 13 14 -1 2 4 5 7 8 10 13 15 -1 2 4 5 7 8 10 14 15 -1 2 4 5 7 8 11 12 13 -1 2 4 5 7 8 11 12 14 -1 2 4 5 7 8 11 12 15 -1 2 4 5 7 8 11 13 14 -1 2 4 5 7 8 11 13 15 -1 2 4 5 7 8 11 14 15 -1 2 4 5 7 8 12 13 14 -1 2 4 5 7 8 12 13 15 -1 2 4 5 7 8 12 14 15 -1 2 4 5 7 8 13 14 15 -1 2 4 5 7 9 10 11 12 -1 2 4 5 7 9 10 11 13 -1 2 4 5 7 9 10 11 14 -1 2 4 5 7 9 10 11 15 -1 2 4 5 7 9 10 12 13 -1 2 4 5 7 9 10 12 14 -1 2 4 5 7 9 10 12 15 -1 2 4 5 7 9 10 13 14 -1 2 4 5 7 9 10 13 15 -1 2 4 5 7 9 10 14 15 -1 2 4 5 7 9 11 12 13 -1 2 4 5 7 9 11 12 14 -1 2 4 5 7 9 11 12 15 -1 2 4 5 7 9 11 13 14 -1 2 4 5 7 9 11 13 15 -1 2 4 5 7 9 11 14 15 -1 2 4 5 7 9 12 13 14 -1 2 4 5 7 9 12 13 15 -1 2 4 5 7 9 12 14 15 -1 2 4 5 7 9 13 14 15 -1 2 4 5 7 10 11 12 13 -1 2 4 5 7 10 11 12 14 -1 2 4 5 7 10 11 12 15 -1 2 4 5 7 10 11 13 14 -1 2 4 5 7 10 11 13 15 -1 2 4 5 7 10 11 14 15 -1 2 4 5 7 10 12 13 14 -1 2 4 5 7 10 12 13 15 -1 2 4 5 7 10 12 14 15 -1 2 4 5 7 10 13 14 15 -1 2 4 5 7 11 12 13 14 -1 2 4 5 7 11 12 13 15 -1 2 4 5 7 11 12 14 15 -1 2 4 5 7 11 13 14 15 -1 2 4 5 7 12 13 14 15 -1 2 4 5 8 9 10 11 12 -1 2 4 5 8 9 10 11 13 -1 2 4 5 8 9 10 11 14 -1 2 4 5 8 9 10 11 15 -1 2 4 5 8 9 10 12 13 -1 2 4 5 8 9 10 12 14 -1 2 4 5 8 9 10 12 15 -1 2 4 5 8 9 10 13 14 -1 2 4 5 8 9 10 13 15 -1 2 4 5 8 9 10 14 15 -1 2 4 5 8 9 11 12 13 -1 2 4 5 8 9 11 12 14 -1 2 4 5 8 9 11 12 15 -1 2 4 5 8 9 11 13 14 -1 2 4 5 8 9 11 13 15 -1 2 4 5 8 9 11 14 15 -1 2 4 5 8 9 12 13 14 -1 2 4 5 8 9 12 13 15 -1 2 4 5 8 9 12 14 15 -1 2 4 5 8 9 13 14 15 -1 2 4 5 8 10 11 12 13 -1 2 4 5 8 10 11 12 14 -1 2 4 5 8 10 11 12 15 -1 2 4 5 8 10 11 13 14 -1 2 4 5 8 10 11 13 15 -1 2 4 5 8 10 11 14 15 -1 2 4 5 8 10 12 13 14 -1 2 4 5 8 10 12 13 15 -1 2 4 5 8 10 12 14 15 -1 2 4 5 8 10 13 14 15 -1 2 4 5 8 11 12 13 14 -1 2 4 5 8 11 12 13 15 -1 2 4 5 8 11 12 14 15 -1 2 4 5 8 11 13 14 15 -1 2 4 5 8 12 13 14 15 -1 2 4 5 9 10 11 12 13 -1 2 4 5 9 10 11 12 14 -1 2 4 5 9 10 11 12 15 -1 2 4 5 9 10 11 13 14 -1 2 4 5 9 10 11 13 15 -1 2 4 5 9 10 11 14 15 -1 2 4 5 9 10 12 13 14 -1 2 4 5 9 10 12 13 15 -1 2 4 5 9 10 12 14 15 -1 2 4 5 9 10 13 14 15 -1 2 4 5 9 11 12 13 14 -1 2 4 5 9 11 12 13 15 -1 2 4 5 9 11 12 14 15 -1 2 4 5 9 11 13 14 15 -1 2 4 5 9 12 13 14 15 -1 2 4 5 10 11 12 13 14 -1 2 4 5 10 11 12 13 15 -1 2 4 5 10 11 12 14 15 -1 2 4 5 10 11 13 14 15 -1 2 4 5 10 12 13 14 15 -1 2 4 5 11 12 13 14 15 -1 2 4 6 7 8 9 10 11 -1 2 4 6 7 8 9 10 12 -1 2 4 6 7 8 9 10 13 -1 2 4 6 7 8 9 10 14 -1 2 4 6 7 8 9 10 15 -1 2 4 6 7 8 9 11 12 -1 2 4 6 7 8 9 11 13 -1 2 4 6 7 8 9 11 14 -1 2 4 6 7 8 9 11 15 -1 2 4 6 7 8 9 12 13 -1 2 4 6 7 8 9 12 14 -1 2 4 6 7 8 9 12 15 -1 2 4 6 7 8 9 13 14 -1 2 4 6 7 8 9 13 15 -1 2 4 6 7 8 9 14 15 -1 2 4 6 7 8 10 11 12 -1 2 4 6 7 8 10 11 13 -1 2 4 6 7 8 10 11 14 -1 2 4 6 7 8 10 11 15 -1 2 4 6 7 8 10 12 13 -1 2 4 6 7 8 10 12 14 -1 2 4 6 7 8 10 12 15 -1 2 4 6 7 8 10 13 14 -1 2 4 6 7 8 10 13 15 -1 2 4 6 7 8 10 14 15 -1 2 4 6 7 8 11 12 13 -1 2 4 6 7 8 11 12 14 -1 2 4 6 7 8 11 12 15 -1 2 4 6 7 8 11 13 14 -1 2 4 6 7 8 11 13 15 -1 2 4 6 7 8 11 14 15 -1 2 4 6 7 8 12 13 14 -1 2 4 6 7 8 12 13 15 -1 2 4 6 7 8 12 14 15 -1 2 4 6 7 8 13 14 15 -1 2 4 6 7 9 10 11 12 -1 2 4 6 7 9 10 11 13 -1 2 4 6 7 9 10 11 14 -1 2 4 6 7 9 10 11 15 -1 2 4 6 7 9 10 12 13 -1 2 4 6 7 9 10 12 14 -1 2 4 6 7 9 10 12 15 -1 2 4 6 7 9 10 13 14 -1 2 4 6 7 9 10 13 15 -1 2 4 6 7 9 10 14 15 -1 2 4 6 7 9 11 12 13 -1 2 4 6 7 9 11 12 14 -1 2 4 6 7 9 11 12 15 -1 2 4 6 7 9 11 13 14 -1 2 4 6 7 9 11 13 15 -1 2 4 6 7 9 11 14 15 -1 2 4 6 7 9 12 13 14 -1 2 4 6 7 9 12 13 15 -1 2 4 6 7 9 12 14 15 -1 2 4 6 7 9 13 14 15 -1 2 4 6 7 10 11 12 13 -1 2 4 6 7 10 11 12 14 -1 2 4 6 7 10 11 12 15 -1 2 4 6 7 10 11 13 14 -1 2 4 6 7 10 11 13 15 -1 2 4 6 7 10 11 14 15 -1 2 4 6 7 10 12 13 14 -1 2 4 6 7 10 12 13 15 -1 2 4 6 7 10 12 14 15 -1 2 4 6 7 10 13 14 15 -1 2 4 6 7 11 12 13 14 -1 2 4 6 7 11 12 13 15 -1 2 4 6 7 11 12 14 15 -1 2 4 6 7 11 13 14 15 -1 2 4 6 7 12 13 14 15 -1 2 4 6 8 9 10 11 12 -1 2 4 6 8 9 10 11 13 -1 2 4 6 8 9 10 11 14 -1 2 4 6 8 9 10 11 15 -1 2 4 6 8 9 10 12 13 -1 2 4 6 8 9 10 12 14 -1 2 4 6 8 9 10 12 15 -1 2 4 6 8 9 10 13 14 -1 2 4 6 8 9 10 13 15 -1 2 4 6 8 9 10 14 15 -1 2 4 6 8 9 11 12 13 -1 2 4 6 8 9 11 12 14 -1 2 4 6 8 9 11 12 15 -1 2 4 6 8 9 11 13 14 -1 2 4 6 8 9 11 13 15 -1 2 4 6 8 9 11 14 15 -1 2 4 6 8 9 12 13 14 -1 2 4 6 8 9 12 13 15 -1 2 4 6 8 9 12 14 15 -1 2 4 6 8 9 13 14 15 -1 2 4 6 8 10 11 12 13 -1 2 4 6 8 10 11 12 14 -1 2 4 6 8 10 11 12 15 -1 2 4 6 8 10 11 13 14 -1 2 4 6 8 10 11 13 15 -1 2 4 6 8 10 11 14 15 -1 2 4 6 8 10 12 13 14 -1 2 4 6 8 10 12 13 15 -1 2 4 6 8 10 12 14 15 -1 2 4 6 8 10 13 14 15 -1 2 4 6 8 11 12 13 14 -1 2 4 6 8 11 12 13 15 -1 2 4 6 8 11 12 14 15 -1 2 4 6 8 11 13 14 15 -1 2 4 6 8 12 13 14 15 -1 2 4 6 9 10 11 12 13 -1 2 4 6 9 10 11 12 14 -1 2 4 6 9 10 11 12 15 -1 2 4 6 9 10 11 13 14 -1 2 4 6 9 10 11 13 15 -1 2 4 6 9 10 11 14 15 -1 2 4 6 9 10 12 13 14 -1 2 4 6 9 10 12 13 15 -1 2 4 6 9 10 12 14 15 -1 2 4 6 9 10 13 14 15 -1 2 4 6 9 11 12 13 14 -1 2 4 6 9 11 12 13 15 -1 2 4 6 9 11 12 14 15 -1 2 4 6 9 11 13 14 15 -1 2 4 6 9 12 13 14 15 -1 2 4 6 10 11 12 13 14 -1 2 4 6 10 11 12 13 15 -1 2 4 6 10 11 12 14 15 -1 2 4 6 10 11 13 14 15 -1 2 4 6 10 12 13 14 15 -1 2 4 6 11 12 13 14 15 -1 2 4 7 8 9 10 11 12 -1 2 4 7 8 9 10 11 13 -1 2 4 7 8 9 10 11 14 -1 2 4 7 8 9 10 11 15 -1 2 4 7 8 9 10 12 13 -1 2 4 7 8 9 10 12 14 -1 2 4 7 8 9 10 12 15 -1 2 4 7 8 9 10 13 14 -1 2 4 7 8 9 10 13 15 -1 2 4 7 8 9 10 14 15 -1 2 4 7 8 9 11 12 13 -1 2 4 7 8 9 11 12 14 -1 2 4 7 8 9 11 12 15 -1 2 4 7 8 9 11 13 14 -1 2 4 7 8 9 11 13 15 -1 2 4 7 8 9 11 14 15 -1 2 4 7 8 9 12 13 14 -1 2 4 7 8 9 12 13 15 -1 2 4 7 8 9 12 14 15 -1 2 4 7 8 9 13 14 15 -1 2 4 7 8 10 11 12 13 -1 2 4 7 8 10 11 12 14 -1 2 4 7 8 10 11 12 15 -1 2 4 7 8 10 11 13 14 -1 2 4 7 8 10 11 13 15 -1 2 4 7 8 10 11 14 15 -1 2 4 7 8 10 12 13 14 -1 2 4 7 8 10 12 13 15 -1 2 4 7 8 10 12 14 15 -1 2 4 7 8 10 13 14 15 -1 2 4 7 8 11 12 13 14 -1 2 4 7 8 11 12 13 15 -1 2 4 7 8 11 12 14 15 -1 2 4 7 8 11 13 14 15 -1 2 4 7 8 12 13 14 15 -1 2 4 7 9 10 11 12 13 -1 2 4 7 9 10 11 12 14 -1 2 4 7 9 10 11 12 15 -1 2 4 7 9 10 11 13 14 -1 2 4 7 9 10 11 13 15 -1 2 4 7 9 10 11 14 15 -1 2 4 7 9 10 12 13 14 -1 2 4 7 9 10 12 13 15 -1 2 4 7 9 10 12 14 15 -1 2 4 7 9 10 13 14 15 -1 2 4 7 9 11 12 13 14 -1 2 4 7 9 11 12 13 15 -1 2 4 7 9 11 12 14 15 -1 2 4 7 9 11 13 14 15 -1 2 4 7 9 12 13 14 15 -1 2 4 7 10 11 12 13 14 -1 2 4 7 10 11 12 13 15 -1 2 4 7 10 11 12 14 15 -1 2 4 7 10 11 13 14 15 -1 2 4 7 10 12 13 14 15 -1 2 4 7 11 12 13 14 15 -1 2 4 8 9 10 11 12 13 -1 2 4 8 9 10 11 12 14 -1 2 4 8 9 10 11 12 15 -1 2 4 8 9 10 11 13 14 -1 2 4 8 9 10 11 13 15 -1 2 4 8 9 10 11 14 15 -1 2 4 8 9 10 12 13 14 -1 2 4 8 9 10 12 13 15 -1 2 4 8 9 10 12 14 15 -1 2 4 8 9 10 13 14 15 -1 2 4 8 9 11 12 13 14 -1 2 4 8 9 11 12 13 15 -1 2 4 8 9 11 12 14 15 -1 2 4 8 9 11 13 14 15 -1 2 4 8 9 12 13 14 15 -1 2 4 8 10 11 12 13 14 -1 2 4 8 10 11 12 13 15 -1 2 4 8 10 11 12 14 15 -1 2 4 8 10 11 13 14 15 -1 2 4 8 10 12 13 14 15 -1 2 4 8 11 12 13 14 15 -1 2 4 9 10 11 12 13 14 -1 2 4 9 10 11 12 13 15 -1 2 4 9 10 11 12 14 15 -1 2 4 9 10 11 13 14 15 -1 2 4 9 10 12 13 14 15 -1 2 4 9 11 12 13 14 15 -1 2 4 10 11 12 13 14 15 -1 2 5 6 7 8 9 10 11 -1 2 5 6 7 8 9 10 12 -1 2 5 6 7 8 9 10 13 -1 2 5 6 7 8 9 10 14 -1 2 5 6 7 8 9 10 15 -1 2 5 6 7 8 9 11 12 -1 2 5 6 7 8 9 11 13 -1 2 5 6 7 8 9 11 14 -1 2 5 6 7 8 9 11 15 -1 2 5 6 7 8 9 12 13 -1 2 5 6 7 8 9 12 14 -1 2 5 6 7 8 9 12 15 -1 2 5 6 7 8 9 13 14 -1 2 5 6 7 8 9 13 15 -1 2 5 6 7 8 9 14 15 -1 2 5 6 7 8 10 11 12 -1 2 5 6 7 8 10 11 13 -1 2 5 6 7 8 10 11 14 -1 2 5 6 7 8 10 11 15 -1 2 5 6 7 8 10 12 13 -1 2 5 6 7 8 10 12 14 -1 2 5 6 7 8 10 12 15 -1 2 5 6 7 8 10 13 14 -1 2 5 6 7 8 10 13 15 -1 2 5 6 7 8 10 14 15 -1 2 5 6 7 8 11 12 13 -1 2 5 6 7 8 11 12 14 -1 2 5 6 7 8 11 12 15 -1 2 5 6 7 8 11 13 14 -1 2 5 6 7 8 11 13 15 -1 2 5 6 7 8 11 14 15 -1 2 5 6 7 8 12 13 14 -1 2 5 6 7 8 12 13 15 -1 2 5 6 7 8 12 14 15 -1 2 5 6 7 8 13 14 15 -1 2 5 6 7 9 10 11 12 -1 2 5 6 7 9 10 11 13 -1 2 5 6 7 9 10 11 14 -1 2 5 6 7 9 10 11 15 -1 2 5 6 7 9 10 12 13 -1 2 5 6 7 9 10 12 14 -1 2 5 6 7 9 10 12 15 -1 2 5 6 7 9 10 13 14 -1 2 5 6 7 9 10 13 15 -1 2 5 6 7 9 10 14 15 -1 2 5 6 7 9 11 12 13 -1 2 5 6 7 9 11 12 14 -1 2 5 6 7 9 11 12 15 -1 2 5 6 7 9 11 13 14 -1 2 5 6 7 9 11 13 15 -1 2 5 6 7 9 11 14 15 -1 2 5 6 7 9 12 13 14 -1 2 5 6 7 9 12 13 15 -1 2 5 6 7 9 12 14 15 -1 2 5 6 7 9 13 14 15 -1 2 5 6 7 10 11 12 13 -1 2 5 6 7 10 11 12 14 -1 2 5 6 7 10 11 12 15 -1 2 5 6 7 10 11 13 14 -1 2 5 6 7 10 11 13 15 -1 2 5 6 7 10 11 14 15 -1 2 5 6 7 10 12 13 14 -1 2 5 6 7 10 12 13 15 -1 2 5 6 7 10 12 14 15 -1 2 5 6 7 10 13 14 15 -1 2 5 6 7 11 12 13 14 -1 2 5 6 7 11 12 13 15 -1 2 5 6 7 11 12 14 15 -1 2 5 6 7 11 13 14 15 -1 2 5 6 7 12 13 14 15 -1 2 5 6 8 9 10 11 12 -1 2 5 6 8 9 10 11 13 -1 2 5 6 8 9 10 11 14 -1 2 5 6 8 9 10 11 15 -1 2 5 6 8 9 10 12 13 -1 2 5 6 8 9 10 12 14 -1 2 5 6 8 9 10 12 15 -1 2 5 6 8 9 10 13 14 -1 2 5 6 8 9 10 13 15 -1 2 5 6 8 9 10 14 15 -1 2 5 6 8 9 11 12 13 -1 2 5 6 8 9 11 12 14 -1 2 5 6 8 9 11 12 15 -1 2 5 6 8 9 11 13 14 -1 2 5 6 8 9 11 13 15 -1 2 5 6 8 9 11 14 15 -1 2 5 6 8 9 12 13 14 -1 2 5 6 8 9 12 13 15 -1 2 5 6 8 9 12 14 15 -1 2 5 6 8 9 13 14 15 -1 2 5 6 8 10 11 12 13 -1 2 5 6 8 10 11 12 14 -1 2 5 6 8 10 11 12 15 -1 2 5 6 8 10 11 13 14 -1 2 5 6 8 10 11 13 15 -1 2 5 6 8 10 11 14 15 -1 2 5 6 8 10 12 13 14 -1 2 5 6 8 10 12 13 15 -1 2 5 6 8 10 12 14 15 -1 2 5 6 8 10 13 14 15 -1 2 5 6 8 11 12 13 14 -1 2 5 6 8 11 12 13 15 -1 2 5 6 8 11 12 14 15 -1 2 5 6 8 11 13 14 15 -1 2 5 6 8 12 13 14 15 -1 2 5 6 9 10 11 12 13 -1 2 5 6 9 10 11 12 14 -1 2 5 6 9 10 11 12 15 -1 2 5 6 9 10 11 13 14 -1 2 5 6 9 10 11 13 15 -1 2 5 6 9 10 11 14 15 -1 2 5 6 9 10 12 13 14 -1 2 5 6 9 10 12 13 15 -1 2 5 6 9 10 12 14 15 -1 2 5 6 9 10 13 14 15 -1 2 5 6 9 11 12 13 14 -1 2 5 6 9 11 12 13 15 -1 2 5 6 9 11 12 14 15 -1 2 5 6 9 11 13 14 15 -1 2 5 6 9 12 13 14 15 -1 2 5 6 10 11 12 13 14 -1 2 5 6 10 11 12 13 15 -1 2 5 6 10 11 12 14 15 -1 2 5 6 10 11 13 14 15 -1 2 5 6 10 12 13 14 15 -1 2 5 6 11 12 13 14 15 -1 2 5 7 8 9 10 11 12 -1 2 5 7 8 9 10 11 13 -1 2 5 7 8 9 10 11 14 -1 2 5 7 8 9 10 11 15 -1 2 5 7 8 9 10 12 13 -1 2 5 7 8 9 10 12 14 -1 2 5 7 8 9 10 12 15 -1 2 5 7 8 9 10 13 14 -1 2 5 7 8 9 10 13 15 -1 2 5 7 8 9 10 14 15 -1 2 5 7 8 9 11 12 13 -1 2 5 7 8 9 11 12 14 -1 2 5 7 8 9 11 12 15 -1 2 5 7 8 9 11 13 14 -1 2 5 7 8 9 11 13 15 -1 2 5 7 8 9 11 14 15 -1 2 5 7 8 9 12 13 14 -1 2 5 7 8 9 12 13 15 -1 2 5 7 8 9 12 14 15 -1 2 5 7 8 9 13 14 15 -1 2 5 7 8 10 11 12 13 -1 2 5 7 8 10 11 12 14 -1 2 5 7 8 10 11 12 15 -1 2 5 7 8 10 11 13 14 -1 2 5 7 8 10 11 13 15 -1 2 5 7 8 10 11 14 15 -1 2 5 7 8 10 12 13 14 -1 2 5 7 8 10 12 13 15 -1 2 5 7 8 10 12 14 15 -1 2 5 7 8 10 13 14 15 -1 2 5 7 8 11 12 13 14 -1 2 5 7 8 11 12 13 15 -1 2 5 7 8 11 12 14 15 -1 2 5 7 8 11 13 14 15 -1 2 5 7 8 12 13 14 15 -1 2 5 7 9 10 11 12 13 -1 2 5 7 9 10 11 12 14 -1 2 5 7 9 10 11 12 15 -1 2 5 7 9 10 11 13 14 -1 2 5 7 9 10 11 13 15 -1 2 5 7 9 10 11 14 15 -1 2 5 7 9 10 12 13 14 -1 2 5 7 9 10 12 13 15 -1 2 5 7 9 10 12 14 15 -1 2 5 7 9 10 13 14 15 -1 2 5 7 9 11 12 13 14 -1 2 5 7 9 11 12 13 15 -1 2 5 7 9 11 12 14 15 -1 2 5 7 9 11 13 14 15 -1 2 5 7 9 12 13 14 15 -1 2 5 7 10 11 12 13 14 -1 2 5 7 10 11 12 13 15 -1 2 5 7 10 11 12 14 15 -1 2 5 7 10 11 13 14 15 -1 2 5 7 10 12 13 14 15 -1 2 5 7 11 12 13 14 15 -1 2 5 8 9 10 11 12 13 -1 2 5 8 9 10 11 12 14 -1 2 5 8 9 10 11 12 15 -1 2 5 8 9 10 11 13 14 -1 2 5 8 9 10 11 13 15 -1 2 5 8 9 10 11 14 15 -1 2 5 8 9 10 12 13 14 -1 2 5 8 9 10 12 13 15 -1 2 5 8 9 10 12 14 15 -1 2 5 8 9 10 13 14 15 -1 2 5 8 9 11 12 13 14 -1 2 5 8 9 11 12 13 15 -1 2 5 8 9 11 12 14 15 -1 2 5 8 9 11 13 14 15 -1 2 5 8 9 12 13 14 15 -1 2 5 8 10 11 12 13 14 -1 2 5 8 10 11 12 13 15 -1 2 5 8 10 11 12 14 15 -1 2 5 8 10 11 13 14 15 -1 2 5 8 10 12 13 14 15 -1 2 5 8 11 12 13 14 15 -1 2 5 9 10 11 12 13 14 -1 2 5 9 10 11 12 13 15 -1 2 5 9 10 11 12 14 15 -1 2 5 9 10 11 13 14 15 -1 2 5 9 10 12 13 14 15 -1 2 5 9 11 12 13 14 15 -1 2 5 10 11 12 13 14 15 -1 2 6 7 8 9 10 11 12 -1 2 6 7 8 9 10 11 13 -1 2 6 7 8 9 10 11 14 -1 2 6 7 8 9 10 11 15 -1 2 6 7 8 9 10 12 13 -1 2 6 7 8 9 10 12 14 -1 2 6 7 8 9 10 12 15 -1 2 6 7 8 9 10 13 14 -1 2 6 7 8 9 10 13 15 -1 2 6 7 8 9 10 14 15 -1 2 6 7 8 9 11 12 13 -1 2 6 7 8 9 11 12 14 -1 2 6 7 8 9 11 12 15 -1 2 6 7 8 9 11 13 14 -1 2 6 7 8 9 11 13 15 -1 2 6 7 8 9 11 14 15 -1 2 6 7 8 9 12 13 14 -1 2 6 7 8 9 12 13 15 -1 2 6 7 8 9 12 14 15 -1 2 6 7 8 9 13 14 15 -1 2 6 7 8 10 11 12 13 -1 2 6 7 8 10 11 12 14 -1 2 6 7 8 10 11 12 15 -1 2 6 7 8 10 11 13 14 -1 2 6 7 8 10 11 13 15 -1 2 6 7 8 10 11 14 15 -1 2 6 7 8 10 12 13 14 -1 2 6 7 8 10 12 13 15 -1 2 6 7 8 10 12 14 15 -1 2 6 7 8 10 13 14 15 -1 2 6 7 8 11 12 13 14 -1 2 6 7 8 11 12 13 15 -1 2 6 7 8 11 12 14 15 -1 2 6 7 8 11 13 14 15 -1 2 6 7 8 12 13 14 15 -1 2 6 7 9 10 11 12 13 -1 2 6 7 9 10 11 12 14 -1 2 6 7 9 10 11 12 15 -1 2 6 7 9 10 11 13 14 -1 2 6 7 9 10 11 13 15 -1 2 6 7 9 10 11 14 15 -1 2 6 7 9 10 12 13 14 -1 2 6 7 9 10 12 13 15 -1 2 6 7 9 10 12 14 15 -1 2 6 7 9 10 13 14 15 -1 2 6 7 9 11 12 13 14 -1 2 6 7 9 11 12 13 15 -1 2 6 7 9 11 12 14 15 -1 2 6 7 9 11 13 14 15 -1 2 6 7 9 12 13 14 15 -1 2 6 7 10 11 12 13 14 -1 2 6 7 10 11 12 13 15 -1 2 6 7 10 11 12 14 15 -1 2 6 7 10 11 13 14 15 -1 2 6 7 10 12 13 14 15 -1 2 6 7 11 12 13 14 15 -1 2 6 8 9 10 11 12 13 -1 2 6 8 9 10 11 12 14 -1 2 6 8 9 10 11 12 15 -1 2 6 8 9 10 11 13 14 -1 2 6 8 9 10 11 13 15 -1 2 6 8 9 10 11 14 15 -1 2 6 8 9 10 12 13 14 -1 2 6 8 9 10 12 13 15 -1 2 6 8 9 10 12 14 15 -1 2 6 8 9 10 13 14 15 -1 2 6 8 9 11 12 13 14 -1 2 6 8 9 11 12 13 15 -1 2 6 8 9 11 12 14 15 -1 2 6 8 9 11 13 14 15 -1 2 6 8 9 12 13 14 15 -1 2 6 8 10 11 12 13 14 -1 2 6 8 10 11 12 13 15 -1 2 6 8 10 11 12 14 15 -1 2 6 8 10 11 13 14 15 -1 2 6 8 10 12 13 14 15 -1 2 6 8 11 12 13 14 15 -1 2 6 9 10 11 12 13 14 -1 2 6 9 10 11 12 13 15 -1 2 6 9 10 11 12 14 15 -1 2 6 9 10 11 13 14 15 -1 2 6 9 10 12 13 14 15 -1 2 6 9 11 12 13 14 15 -1 2 6 10 11 12 13 14 15 -1 2 7 8 9 10 11 12 13 -1 2 7 8 9 10 11 12 14 -1 2 7 8 9 10 11 12 15 -1 2 7 8 9 10 11 13 14 -1 2 7 8 9 10 11 13 15 -1 2 7 8 9 10 11 14 15 -1 2 7 8 9 10 12 13 14 -1 2 7 8 9 10 12 13 15 -1 2 7 8 9 10 12 14 15 -1 2 7 8 9 10 13 14 15 -1 2 7 8 9 11 12 13 14 -1 2 7 8 9 11 12 13 15 -1 2 7 8 9 11 12 14 15 -1 2 7 8 9 11 13 14 15 -1 2 7 8 9 12 13 14 15 -1 2 7 8 10 11 12 13 14 -1 2 7 8 10 11 12 13 15 -1 2 7 8 10 11 12 14 15 -1 2 7 8 10 11 13 14 15 -1 2 7 8 10 12 13 14 15 -1 2 7 8 11 12 13 14 15 -1 2 7 9 10 11 12 13 14 -1 2 7 9 10 11 12 13 15 -1 2 7 9 10 11 12 14 15 -1 2 7 9 10 11 13 14 15 -1 2 7 9 10 12 13 14 15 -1 2 7 9 11 12 13 14 15 -1 2 7 10 11 12 13 14 15 -1 2 8 9 10 11 12 13 14 -1 2 8 9 10 11 12 13 15 -1 2 8 9 10 11 12 14 15 -1 2 8 9 10 11 13 14 15 -1 2 8 9 10 12 13 14 15 -1 2 8 9 11 12 13 14 15 -1 2 8 10 11 12 13 14 15 -1 2 9 10 11 12 13 14 15 -1 3 4 5 6 7 8 9 10 -1 3 4 5 6 7 8 9 11 -1 3 4 5 6 7 8 9 12 -1 3 4 5 6 7 8 9 13 -1 3 4 5 6 7 8 9 14 -1 3 4 5 6 7 8 9 15 -1 3 4 5 6 7 8 10 11 -1 3 4 5 6 7 8 10 12 -1 3 4 5 6 7 8 10 13 -1 3 4 5 6 7 8 10 14 -1 3 4 5 6 7 8 10 15 -1 3 4 5 6 7 8 11 12 -1 3 4 5 6 7 8 11 13 -1 3 4 5 6 7 8 11 14 -1 3 4 5 6 7 8 11 15 -1 3 4 5 6 7 8 12 13 -1 3 4 5 6 7 8 12 14 -1 3 4 5 6 7 8 12 15 -1 3 4 5 6 7 8 13 14 -1 3 4 5 6 7 8 13 15 -1 3 4 5 6 7 8 14 15 -1 3 4 5 6 7 9 10 11 -1 3 4 5 6 7 9 10 12 -1 3 4 5 6 7 9 10 13 -1 3 4 5 6 7 9 10 14 -1 3 4 5 6 7 9 10 15 -1 3 4 5 6 7 9 11 12 -1 3 4 5 6 7 9 11 13 -1 3 4 5 6 7 9 11 14 -1 3 4 5 6 7 9 11 15 -1 3 4 5 6 7 9 12 13 -1 3 4 5 6 7 9 12 14 -1 3 4 5 6 7 9 12 15 -1 3 4 5 6 7 9 13 14 -1 3 4 5 6 7 9 13 15 -1 3 4 5 6 7 9 14 15 -1 3 4 5 6 7 10 11 12 -1 3 4 5 6 7 10 11 13 -1 3 4 5 6 7 10 11 14 -1 3 4 5 6 7 10 11 15 -1 3 4 5 6 7 10 12 13 -1 3 4 5 6 7 10 12 14 -1 3 4 5 6 7 10 12 15 -1 3 4 5 6 7 10 13 14 -1 3 4 5 6 7 10 13 15 -1 3 4 5 6 7 10 14 15 -1 3 4 5 6 7 11 12 13 -1 3 4 5 6 7 11 12 14 -1 3 4 5 6 7 11 12 15 -1 3 4 5 6 7 11 13 14 -1 3 4 5 6 7 11 13 15 -1 3 4 5 6 7 11 14 15 -1 3 4 5 6 7 12 13 14 -1 3 4 5 6 7 12 13 15 -1 3 4 5 6 7 12 14 15 -1 3 4 5 6 7 13 14 15 -1 3 4 5 6 8 9 10 11 -1 3 4 5 6 8 9 10 12 -1 3 4 5 6 8 9 10 13 -1 3 4 5 6 8 9 10 14 -1 3 4 5 6 8 9 10 15 -1 3 4 5 6 8 9 11 12 -1 3 4 5 6 8 9 11 13 -1 3 4 5 6 8 9 11 14 -1 3 4 5 6 8 9 11 15 -1 3 4 5 6 8 9 12 13 -1 3 4 5 6 8 9 12 14 -1 3 4 5 6 8 9 12 15 -1 3 4 5 6 8 9 13 14 -1 3 4 5 6 8 9 13 15 -1 3 4 5 6 8 9 14 15 -1 3 4 5 6 8 10 11 12 -1 3 4 5 6 8 10 11 13 -1 3 4 5 6 8 10 11 14 -1 3 4 5 6 8 10 11 15 -1 3 4 5 6 8 10 12 13 -1 3 4 5 6 8 10 12 14 -1 3 4 5 6 8 10 12 15 -1 3 4 5 6 8 10 13 14 -1 3 4 5 6 8 10 13 15 -1 3 4 5 6 8 10 14 15 -1 3 4 5 6 8 11 12 13 -1 3 4 5 6 8 11 12 14 -1 3 4 5 6 8 11 12 15 -1 3 4 5 6 8 11 13 14 -1 3 4 5 6 8 11 13 15 -1 3 4 5 6 8 11 14 15 -1 3 4 5 6 8 12 13 14 -1 3 4 5 6 8 12 13 15 -1 3 4 5 6 8 12 14 15 -1 3 4 5 6 8 13 14 15 -1 3 4 5 6 9 10 11 12 -1 3 4 5 6 9 10 11 13 -1 3 4 5 6 9 10 11 14 -1 3 4 5 6 9 10 11 15 -1 3 4 5 6 9 10 12 13 -1 3 4 5 6 9 10 12 14 -1 3 4 5 6 9 10 12 15 -1 3 4 5 6 9 10 13 14 -1 3 4 5 6 9 10 13 15 -1 3 4 5 6 9 10 14 15 -1 3 4 5 6 9 11 12 13 -1 3 4 5 6 9 11 12 14 -1 3 4 5 6 9 11 12 15 -1 3 4 5 6 9 11 13 14 -1 3 4 5 6 9 11 13 15 -1 3 4 5 6 9 11 14 15 -1 3 4 5 6 9 12 13 14 -1 3 4 5 6 9 12 13 15 -1 3 4 5 6 9 12 14 15 -1 3 4 5 6 9 13 14 15 -1 3 4 5 6 10 11 12 13 -1 3 4 5 6 10 11 12 14 -1 3 4 5 6 10 11 12 15 -1 3 4 5 6 10 11 13 14 -1 3 4 5 6 10 11 13 15 -1 3 4 5 6 10 11 14 15 -1 3 4 5 6 10 12 13 14 -1 3 4 5 6 10 12 13 15 -1 3 4 5 6 10 12 14 15 -1 3 4 5 6 10 13 14 15 -1 3 4 5 6 11 12 13 14 -1 3 4 5 6 11 12 13 15 -1 3 4 5 6 11 12 14 15 -1 3 4 5 6 11 13 14 15 -1 3 4 5 6 12 13 14 15 -1 3 4 5 7 8 9 10 11 -1 3 4 5 7 8 9 10 12 -1 3 4 5 7 8 9 10 13 -1 3 4 5 7 8 9 10 14 -1 3 4 5 7 8 9 10 15 -1 3 4 5 7 8 9 11 12 -1 3 4 5 7 8 9 11 13 -1 3 4 5 7 8 9 11 14 -1 3 4 5 7 8 9 11 15 -1 3 4 5 7 8 9 12 13 -1 3 4 5 7 8 9 12 14 -1 3 4 5 7 8 9 12 15 -1 3 4 5 7 8 9 13 14 -1 3 4 5 7 8 9 13 15 -1 3 4 5 7 8 9 14 15 -1 3 4 5 7 8 10 11 12 -1 3 4 5 7 8 10 11 13 -1 3 4 5 7 8 10 11 14 -1 3 4 5 7 8 10 11 15 -1 3 4 5 7 8 10 12 13 -1 3 4 5 7 8 10 12 14 -1 3 4 5 7 8 10 12 15 -1 3 4 5 7 8 10 13 14 -1 3 4 5 7 8 10 13 15 -1 3 4 5 7 8 10 14 15 -1 3 4 5 7 8 11 12 13 -1 3 4 5 7 8 11 12 14 -1 3 4 5 7 8 11 12 15 -1 3 4 5 7 8 11 13 14 -1 3 4 5 7 8 11 13 15 -1 3 4 5 7 8 11 14 15 -1 3 4 5 7 8 12 13 14 -1 3 4 5 7 8 12 13 15 -1 3 4 5 7 8 12 14 15 -1 3 4 5 7 8 13 14 15 -1 3 4 5 7 9 10 11 12 -1 3 4 5 7 9 10 11 13 -1 3 4 5 7 9 10 11 14 -1 3 4 5 7 9 10 11 15 -1 3 4 5 7 9 10 12 13 -1 3 4 5 7 9 10 12 14 -1 3 4 5 7 9 10 12 15 -1 3 4 5 7 9 10 13 14 -1 3 4 5 7 9 10 13 15 -1 3 4 5 7 9 10 14 15 -1 3 4 5 7 9 11 12 13 -1 3 4 5 7 9 11 12 14 -1 3 4 5 7 9 11 12 15 -1 3 4 5 7 9 11 13 14 -1 3 4 5 7 9 11 13 15 -1 3 4 5 7 9 11 14 15 -1 3 4 5 7 9 12 13 14 -1 3 4 5 7 9 12 13 15 -1 3 4 5 7 9 12 14 15 -1 3 4 5 7 9 13 14 15 -1 3 4 5 7 10 11 12 13 -1 3 4 5 7 10 11 12 14 -1 3 4 5 7 10 11 12 15 -1 3 4 5 7 10 11 13 14 -1 3 4 5 7 10 11 13 15 -1 3 4 5 7 10 11 14 15 -1 3 4 5 7 10 12 13 14 -1 3 4 5 7 10 12 13 15 -1 3 4 5 7 10 12 14 15 -1 3 4 5 7 10 13 14 15 -1 3 4 5 7 11 12 13 14 -1 3 4 5 7 11 12 13 15 -1 3 4 5 7 11 12 14 15 -1 3 4 5 7 11 13 14 15 -1 3 4 5 7 12 13 14 15 -1 3 4 5 8 9 10 11 12 -1 3 4 5 8 9 10 11 13 -1 3 4 5 8 9 10 11 14 -1 3 4 5 8 9 10 11 15 -1 3 4 5 8 9 10 12 13 -1 3 4 5 8 9 10 12 14 -1 3 4 5 8 9 10 12 15 -1 3 4 5 8 9 10 13 14 -1 3 4 5 8 9 10 13 15 -1 3 4 5 8 9 10 14 15 -1 3 4 5 8 9 11 12 13 -1 3 4 5 8 9 11 12 14 -1 3 4 5 8 9 11 12 15 -1 3 4 5 8 9 11 13 14 -1 3 4 5 8 9 11 13 15 -1 3 4 5 8 9 11 14 15 -1 3 4 5 8 9 12 13 14 -1 3 4 5 8 9 12 13 15 -1 3 4 5 8 9 12 14 15 -1 3 4 5 8 9 13 14 15 -1 3 4 5 8 10 11 12 13 -1 3 4 5 8 10 11 12 14 -1 3 4 5 8 10 11 12 15 -1 3 4 5 8 10 11 13 14 -1 3 4 5 8 10 11 13 15 -1 3 4 5 8 10 11 14 15 -1 3 4 5 8 10 12 13 14 -1 3 4 5 8 10 12 13 15 -1 3 4 5 8 10 12 14 15 -1 3 4 5 8 10 13 14 15 -1 3 4 5 8 11 12 13 14 -1 3 4 5 8 11 12 13 15 -1 3 4 5 8 11 12 14 15 -1 3 4 5 8 11 13 14 15 -1 3 4 5 8 12 13 14 15 -1 3 4 5 9 10 11 12 13 -1 3 4 5 9 10 11 12 14 -1 3 4 5 9 10 11 12 15 -1 3 4 5 9 10 11 13 14 -1 3 4 5 9 10 11 13 15 -1 3 4 5 9 10 11 14 15 -1 3 4 5 9 10 12 13 14 -1 3 4 5 9 10 12 13 15 -1 3 4 5 9 10 12 14 15 -1 3 4 5 9 10 13 14 15 -1 3 4 5 9 11 12 13 14 -1 3 4 5 9 11 12 13 15 -1 3 4 5 9 11 12 14 15 -1 3 4 5 9 11 13 14 15 -1 3 4 5 9 12 13 14 15 -1 3 4 5 10 11 12 13 14 -1 3 4 5 10 11 12 13 15 -1 3 4 5 10 11 12 14 15 -1 3 4 5 10 11 13 14 15 -1 3 4 5 10 12 13 14 15 -1 3 4 5 11 12 13 14 15 -1 3 4 6 7 8 9 10 11 -1 3 4 6 7 8 9 10 12 -1 3 4 6 7 8 9 10 13 -1 3 4 6 7 8 9 10 14 -1 3 4 6 7 8 9 10 15 -1 3 4 6 7 8 9 11 12 -1 3 4 6 7 8 9 11 13 -1 3 4 6 7 8 9 11 14 -1 3 4 6 7 8 9 11 15 -1 3 4 6 7 8 9 12 13 -1 3 4 6 7 8 9 12 14 -1 3 4 6 7 8 9 12 15 -1 3 4 6 7 8 9 13 14 -1 3 4 6 7 8 9 13 15 -1 3 4 6 7 8 9 14 15 -1 3 4 6 7 8 10 11 12 -1 3 4 6 7 8 10 11 13 -1 3 4 6 7 8 10 11 14 -1 3 4 6 7 8 10 11 15 -1 3 4 6 7 8 10 12 13 -1 3 4 6 7 8 10 12 14 -1 3 4 6 7 8 10 12 15 -1 3 4 6 7 8 10 13 14 -1 3 4 6 7 8 10 13 15 -1 3 4 6 7 8 10 14 15 -1 3 4 6 7 8 11 12 13 -1 3 4 6 7 8 11 12 14 -1 3 4 6 7 8 11 12 15 -1 3 4 6 7 8 11 13 14 -1 3 4 6 7 8 11 13 15 -1 3 4 6 7 8 11 14 15 -1 3 4 6 7 8 12 13 14 -1 3 4 6 7 8 12 13 15 -1 3 4 6 7 8 12 14 15 -1 3 4 6 7 8 13 14 15 -1 3 4 6 7 9 10 11 12 -1 3 4 6 7 9 10 11 13 -1 3 4 6 7 9 10 11 14 -1 3 4 6 7 9 10 11 15 -1 3 4 6 7 9 10 12 13 -1 3 4 6 7 9 10 12 14 -1 3 4 6 7 9 10 12 15 -1 3 4 6 7 9 10 13 14 -1 3 4 6 7 9 10 13 15 -1 3 4 6 7 9 10 14 15 -1 3 4 6 7 9 11 12 13 -1 3 4 6 7 9 11 12 14 -1 3 4 6 7 9 11 12 15 -1 3 4 6 7 9 11 13 14 -1 3 4 6 7 9 11 13 15 -1 3 4 6 7 9 11 14 15 -1 3 4 6 7 9 12 13 14 -1 3 4 6 7 9 12 13 15 -1 3 4 6 7 9 12 14 15 -1 3 4 6 7 9 13 14 15 -1 3 4 6 7 10 11 12 13 -1 3 4 6 7 10 11 12 14 -1 3 4 6 7 10 11 12 15 -1 3 4 6 7 10 11 13 14 -1 3 4 6 7 10 11 13 15 -1 3 4 6 7 10 11 14 15 -1 3 4 6 7 10 12 13 14 -1 3 4 6 7 10 12 13 15 -1 3 4 6 7 10 12 14 15 -1 3 4 6 7 10 13 14 15 -1 3 4 6 7 11 12 13 14 -1 3 4 6 7 11 12 13 15 -1 3 4 6 7 11 12 14 15 -1 3 4 6 7 11 13 14 15 -1 3 4 6 7 12 13 14 15 -1 3 4 6 8 9 10 11 12 -1 3 4 6 8 9 10 11 13 -1 3 4 6 8 9 10 11 14 -1 3 4 6 8 9 10 11 15 -1 3 4 6 8 9 10 12 13 -1 3 4 6 8 9 10 12 14 -1 3 4 6 8 9 10 12 15 -1 3 4 6 8 9 10 13 14 -1 3 4 6 8 9 10 13 15 -1 3 4 6 8 9 10 14 15 -1 3 4 6 8 9 11 12 13 -1 3 4 6 8 9 11 12 14 -1 3 4 6 8 9 11 12 15 -1 3 4 6 8 9 11 13 14 -1 3 4 6 8 9 11 13 15 -1 3 4 6 8 9 11 14 15 -1 3 4 6 8 9 12 13 14 -1 3 4 6 8 9 12 13 15 -1 3 4 6 8 9 12 14 15 -1 3 4 6 8 9 13 14 15 -1 3 4 6 8 10 11 12 13 -1 3 4 6 8 10 11 12 14 -1 3 4 6 8 10 11 12 15 -1 3 4 6 8 10 11 13 14 -1 3 4 6 8 10 11 13 15 -1 3 4 6 8 10 11 14 15 -1 3 4 6 8 10 12 13 14 -1 3 4 6 8 10 12 13 15 -1 3 4 6 8 10 12 14 15 -1 3 4 6 8 10 13 14 15 -1 3 4 6 8 11 12 13 14 -1 3 4 6 8 11 12 13 15 -1 3 4 6 8 11 12 14 15 -1 3 4 6 8 11 13 14 15 -1 3 4 6 8 12 13 14 15 -1 3 4 6 9 10 11 12 13 -1 3 4 6 9 10 11 12 14 -1 3 4 6 9 10 11 12 15 -1 3 4 6 9 10 11 13 14 -1 3 4 6 9 10 11 13 15 -1 3 4 6 9 10 11 14 15 -1 3 4 6 9 10 12 13 14 -1 3 4 6 9 10 12 13 15 -1 3 4 6 9 10 12 14 15 -1 3 4 6 9 10 13 14 15 -1 3 4 6 9 11 12 13 14 -1 3 4 6 9 11 12 13 15 -1 3 4 6 9 11 12 14 15 -1 3 4 6 9 11 13 14 15 -1 3 4 6 9 12 13 14 15 -1 3 4 6 10 11 12 13 14 -1 3 4 6 10 11 12 13 15 -1 3 4 6 10 11 12 14 15 -1 3 4 6 10 11 13 14 15 -1 3 4 6 10 12 13 14 15 -1 3 4 6 11 12 13 14 15 -1 3 4 7 8 9 10 11 12 -1 3 4 7 8 9 10 11 13 -1 3 4 7 8 9 10 11 14 -1 3 4 7 8 9 10 11 15 -1 3 4 7 8 9 10 12 13 -1 3 4 7 8 9 10 12 14 -1 3 4 7 8 9 10 12 15 -1 3 4 7 8 9 10 13 14 -1 3 4 7 8 9 10 13 15 -1 3 4 7 8 9 10 14 15 -1 3 4 7 8 9 11 12 13 -1 3 4 7 8 9 11 12 14 -1 3 4 7 8 9 11 12 15 -1 3 4 7 8 9 11 13 14 -1 3 4 7 8 9 11 13 15 -1 3 4 7 8 9 11 14 15 -1 3 4 7 8 9 12 13 14 -1 3 4 7 8 9 12 13 15 -1 3 4 7 8 9 12 14 15 -1 3 4 7 8 9 13 14 15 -1 3 4 7 8 10 11 12 13 -1 3 4 7 8 10 11 12 14 -1 3 4 7 8 10 11 12 15 -1 3 4 7 8 10 11 13 14 -1 3 4 7 8 10 11 13 15 -1 3 4 7 8 10 11 14 15 -1 3 4 7 8 10 12 13 14 -1 3 4 7 8 10 12 13 15 -1 3 4 7 8 10 12 14 15 -1 3 4 7 8 10 13 14 15 -1 3 4 7 8 11 12 13 14 -1 3 4 7 8 11 12 13 15 -1 3 4 7 8 11 12 14 15 -1 3 4 7 8 11 13 14 15 -1 3 4 7 8 12 13 14 15 -1 3 4 7 9 10 11 12 13 -1 3 4 7 9 10 11 12 14 -1 3 4 7 9 10 11 12 15 -1 3 4 7 9 10 11 13 14 -1 3 4 7 9 10 11 13 15 -1 3 4 7 9 10 11 14 15 -1 3 4 7 9 10 12 13 14 -1 3 4 7 9 10 12 13 15 -1 3 4 7 9 10 12 14 15 -1 3 4 7 9 10 13 14 15 -1 3 4 7 9 11 12 13 14 -1 3 4 7 9 11 12 13 15 -1 3 4 7 9 11 12 14 15 -1 3 4 7 9 11 13 14 15 -1 3 4 7 9 12 13 14 15 -1 3 4 7 10 11 12 13 14 -1 3 4 7 10 11 12 13 15 -1 3 4 7 10 11 12 14 15 -1 3 4 7 10 11 13 14 15 -1 3 4 7 10 12 13 14 15 -1 3 4 7 11 12 13 14 15 -1 3 4 8 9 10 11 12 13 -1 3 4 8 9 10 11 12 14 -1 3 4 8 9 10 11 12 15 -1 3 4 8 9 10 11 13 14 -1 3 4 8 9 10 11 13 15 -1 3 4 8 9 10 11 14 15 -1 3 4 8 9 10 12 13 14 -1 3 4 8 9 10 12 13 15 -1 3 4 8 9 10 12 14 15 -1 3 4 8 9 10 13 14 15 -1 3 4 8 9 11 12 13 14 -1 3 4 8 9 11 12 13 15 -1 3 4 8 9 11 12 14 15 -1 3 4 8 9 11 13 14 15 -1 3 4 8 9 12 13 14 15 -1 3 4 8 10 11 12 13 14 -1 3 4 8 10 11 12 13 15 -1 3 4 8 10 11 12 14 15 -1 3 4 8 10 11 13 14 15 -1 3 4 8 10 12 13 14 15 -1 3 4 8 11 12 13 14 15 -1 3 4 9 10 11 12 13 14 -1 3 4 9 10 11 12 13 15 -1 3 4 9 10 11 12 14 15 -1 3 4 9 10 11 13 14 15 -1 3 4 9 10 12 13 14 15 -1 3 4 9 11 12 13 14 15 -1 3 4 10 11 12 13 14 15 -1 3 5 6 7 8 9 10 11 -1 3 5 6 7 8 9 10 12 -1 3 5 6 7 8 9 10 13 -1 3 5 6 7 8 9 10 14 -1 3 5 6 7 8 9 10 15 -1 3 5 6 7 8 9 11 12 -1 3 5 6 7 8 9 11 13 -1 3 5 6 7 8 9 11 14 -1 3 5 6 7 8 9 11 15 -1 3 5 6 7 8 9 12 13 -1 3 5 6 7 8 9 12 14 -1 3 5 6 7 8 9 12 15 -1 3 5 6 7 8 9 13 14 -1 3 5 6 7 8 9 13 15 -1 3 5 6 7 8 9 14 15 -1 3 5 6 7 8 10 11 12 -1 3 5 6 7 8 10 11 13 -1 3 5 6 7 8 10 11 14 -1 3 5 6 7 8 10 11 15 -1 3 5 6 7 8 10 12 13 -1 3 5 6 7 8 10 12 14 -1 3 5 6 7 8 10 12 15 -1 3 5 6 7 8 10 13 14 -1 3 5 6 7 8 10 13 15 -1 3 5 6 7 8 10 14 15 -1 3 5 6 7 8 11 12 13 -1 3 5 6 7 8 11 12 14 -1 3 5 6 7 8 11 12 15 -1 3 5 6 7 8 11 13 14 -1 3 5 6 7 8 11 13 15 -1 3 5 6 7 8 11 14 15 -1 3 5 6 7 8 12 13 14 -1 3 5 6 7 8 12 13 15 -1 3 5 6 7 8 12 14 15 -1 3 5 6 7 8 13 14 15 -1 3 5 6 7 9 10 11 12 -1 3 5 6 7 9 10 11 13 -1 3 5 6 7 9 10 11 14 -1 3 5 6 7 9 10 11 15 -1 3 5 6 7 9 10 12 13 -1 3 5 6 7 9 10 12 14 -1 3 5 6 7 9 10 12 15 -1 3 5 6 7 9 10 13 14 -1 3 5 6 7 9 10 13 15 -1 3 5 6 7 9 10 14 15 -1 3 5 6 7 9 11 12 13 -1 3 5 6 7 9 11 12 14 -1 3 5 6 7 9 11 12 15 -1 3 5 6 7 9 11 13 14 -1 3 5 6 7 9 11 13 15 -1 3 5 6 7 9 11 14 15 -1 3 5 6 7 9 12 13 14 -1 3 5 6 7 9 12 13 15 -1 3 5 6 7 9 12 14 15 -1 3 5 6 7 9 13 14 15 -1 3 5 6 7 10 11 12 13 -1 3 5 6 7 10 11 12 14 -1 3 5 6 7 10 11 12 15 -1 3 5 6 7 10 11 13 14 -1 3 5 6 7 10 11 13 15 -1 3 5 6 7 10 11 14 15 -1 3 5 6 7 10 12 13 14 -1 3 5 6 7 10 12 13 15 -1 3 5 6 7 10 12 14 15 -1 3 5 6 7 10 13 14 15 -1 3 5 6 7 11 12 13 14 -1 3 5 6 7 11 12 13 15 -1 3 5 6 7 11 12 14 15 -1 3 5 6 7 11 13 14 15 -1 3 5 6 7 12 13 14 15 -1 3 5 6 8 9 10 11 12 -1 3 5 6 8 9 10 11 13 -1 3 5 6 8 9 10 11 14 -1 3 5 6 8 9 10 11 15 -1 3 5 6 8 9 10 12 13 -1 3 5 6 8 9 10 12 14 -1 3 5 6 8 9 10 12 15 -1 3 5 6 8 9 10 13 14 -1 3 5 6 8 9 10 13 15 -1 3 5 6 8 9 10 14 15 -1 3 5 6 8 9 11 12 13 -1 3 5 6 8 9 11 12 14 -1 3 5 6 8 9 11 12 15 -1 3 5 6 8 9 11 13 14 -1 3 5 6 8 9 11 13 15 -1 3 5 6 8 9 11 14 15 -1 3 5 6 8 9 12 13 14 -1 3 5 6 8 9 12 13 15 -1 3 5 6 8 9 12 14 15 -1 3 5 6 8 9 13 14 15 -1 3 5 6 8 10 11 12 13 -1 3 5 6 8 10 11 12 14 -1 3 5 6 8 10 11 12 15 -1 3 5 6 8 10 11 13 14 -1 3 5 6 8 10 11 13 15 -1 3 5 6 8 10 11 14 15 -1 3 5 6 8 10 12 13 14 -1 3 5 6 8 10 12 13 15 -1 3 5 6 8 10 12 14 15 -1 3 5 6 8 10 13 14 15 -1 3 5 6 8 11 12 13 14 -1 3 5 6 8 11 12 13 15 -1 3 5 6 8 11 12 14 15 -1 3 5 6 8 11 13 14 15 -1 3 5 6 8 12 13 14 15 -1 3 5 6 9 10 11 12 13 -1 3 5 6 9 10 11 12 14 -1 3 5 6 9 10 11 12 15 -1 3 5 6 9 10 11 13 14 -1 3 5 6 9 10 11 13 15 -1 3 5 6 9 10 11 14 15 -1 3 5 6 9 10 12 13 14 -1 3 5 6 9 10 12 13 15 -1 3 5 6 9 10 12 14 15 -1 3 5 6 9 10 13 14 15 -1 3 5 6 9 11 12 13 14 -1 3 5 6 9 11 12 13 15 -1 3 5 6 9 11 12 14 15 -1 3 5 6 9 11 13 14 15 -1 3 5 6 9 12 13 14 15 -1 3 5 6 10 11 12 13 14 -1 3 5 6 10 11 12 13 15 -1 3 5 6 10 11 12 14 15 -1 3 5 6 10 11 13 14 15 -1 3 5 6 10 12 13 14 15 -1 3 5 6 11 12 13 14 15 -1 3 5 7 8 9 10 11 12 -1 3 5 7 8 9 10 11 13 -1 3 5 7 8 9 10 11 14 -1 3 5 7 8 9 10 11 15 -1 3 5 7 8 9 10 12 13 -1 3 5 7 8 9 10 12 14 -1 3 5 7 8 9 10 12 15 -1 3 5 7 8 9 10 13 14 -1 3 5 7 8 9 10 13 15 -1 3 5 7 8 9 10 14 15 -1 3 5 7 8 9 11 12 13 -1 3 5 7 8 9 11 12 14 -1 3 5 7 8 9 11 12 15 -1 3 5 7 8 9 11 13 14 -1 3 5 7 8 9 11 13 15 -1 3 5 7 8 9 11 14 15 -1 3 5 7 8 9 12 13 14 -1 3 5 7 8 9 12 13 15 -1 3 5 7 8 9 12 14 15 -1 3 5 7 8 9 13 14 15 -1 3 5 7 8 10 11 12 13 -1 3 5 7 8 10 11 12 14 -1 3 5 7 8 10 11 12 15 -1 3 5 7 8 10 11 13 14 -1 3 5 7 8 10 11 13 15 -1 3 5 7 8 10 11 14 15 -1 3 5 7 8 10 12 13 14 -1 3 5 7 8 10 12 13 15 -1 3 5 7 8 10 12 14 15 -1 3 5 7 8 10 13 14 15 -1 3 5 7 8 11 12 13 14 -1 3 5 7 8 11 12 13 15 -1 3 5 7 8 11 12 14 15 -1 3 5 7 8 11 13 14 15 -1 3 5 7 8 12 13 14 15 -1 3 5 7 9 10 11 12 13 -1 3 5 7 9 10 11 12 14 -1 3 5 7 9 10 11 12 15 -1 3 5 7 9 10 11 13 14 -1 3 5 7 9 10 11 13 15 -1 3 5 7 9 10 11 14 15 -1 3 5 7 9 10 12 13 14 -1 3 5 7 9 10 12 13 15 -1 3 5 7 9 10 12 14 15 -1 3 5 7 9 10 13 14 15 -1 3 5 7 9 11 12 13 14 -1 3 5 7 9 11 12 13 15 -1 3 5 7 9 11 12 14 15 -1 3 5 7 9 11 13 14 15 -1 3 5 7 9 12 13 14 15 -1 3 5 7 10 11 12 13 14 -1 3 5 7 10 11 12 13 15 -1 3 5 7 10 11 12 14 15 -1 3 5 7 10 11 13 14 15 -1 3 5 7 10 12 13 14 15 -1 3 5 7 11 12 13 14 15 -1 3 5 8 9 10 11 12 13 -1 3 5 8 9 10 11 12 14 -1 3 5 8 9 10 11 12 15 -1 3 5 8 9 10 11 13 14 -1 3 5 8 9 10 11 13 15 -1 3 5 8 9 10 11 14 15 -1 3 5 8 9 10 12 13 14 -1 3 5 8 9 10 12 13 15 -1 3 5 8 9 10 12 14 15 -1 3 5 8 9 10 13 14 15 -1 3 5 8 9 11 12 13 14 -1 3 5 8 9 11 12 13 15 -1 3 5 8 9 11 12 14 15 -1 3 5 8 9 11 13 14 15 -1 3 5 8 9 12 13 14 15 -1 3 5 8 10 11 12 13 14 -1 3 5 8 10 11 12 13 15 -1 3 5 8 10 11 12 14 15 -1 3 5 8 10 11 13 14 15 -1 3 5 8 10 12 13 14 15 -1 3 5 8 11 12 13 14 15 -1 3 5 9 10 11 12 13 14 -1 3 5 9 10 11 12 13 15 -1 3 5 9 10 11 12 14 15 -1 3 5 9 10 11 13 14 15 -1 3 5 9 10 12 13 14 15 -1 3 5 9 11 12 13 14 15 -1 3 5 10 11 12 13 14 15 -1 3 6 7 8 9 10 11 12 -1 3 6 7 8 9 10 11 13 -1 3 6 7 8 9 10 11 14 -1 3 6 7 8 9 10 11 15 -1 3 6 7 8 9 10 12 13 -1 3 6 7 8 9 10 12 14 -1 3 6 7 8 9 10 12 15 -1 3 6 7 8 9 10 13 14 -1 3 6 7 8 9 10 13 15 -1 3 6 7 8 9 10 14 15 -1 3 6 7 8 9 11 12 13 -1 3 6 7 8 9 11 12 14 -1 3 6 7 8 9 11 12 15 -1 3 6 7 8 9 11 13 14 -1 3 6 7 8 9 11 13 15 -1 3 6 7 8 9 11 14 15 -1 3 6 7 8 9 12 13 14 -1 3 6 7 8 9 12 13 15 -1 3 6 7 8 9 12 14 15 -1 3 6 7 8 9 13 14 15 -1 3 6 7 8 10 11 12 13 -1 3 6 7 8 10 11 12 14 -1 3 6 7 8 10 11 12 15 -1 3 6 7 8 10 11 13 14 -1 3 6 7 8 10 11 13 15 -1 3 6 7 8 10 11 14 15 -1 3 6 7 8 10 12 13 14 -1 3 6 7 8 10 12 13 15 -1 3 6 7 8 10 12 14 15 -1 3 6 7 8 10 13 14 15 -1 3 6 7 8 11 12 13 14 -1 3 6 7 8 11 12 13 15 -1 3 6 7 8 11 12 14 15 -1 3 6 7 8 11 13 14 15 -1 3 6 7 8 12 13 14 15 -1 3 6 7 9 10 11 12 13 -1 3 6 7 9 10 11 12 14 -1 3 6 7 9 10 11 12 15 -1 3 6 7 9 10 11 13 14 -1 3 6 7 9 10 11 13 15 -1 3 6 7 9 10 11 14 15 -1 3 6 7 9 10 12 13 14 -1 3 6 7 9 10 12 13 15 -1 3 6 7 9 10 12 14 15 -1 3 6 7 9 10 13 14 15 -1 3 6 7 9 11 12 13 14 -1 3 6 7 9 11 12 13 15 -1 3 6 7 9 11 12 14 15 -1 3 6 7 9 11 13 14 15 -1 3 6 7 9 12 13 14 15 -1 3 6 7 10 11 12 13 14 -1 3 6 7 10 11 12 13 15 -1 3 6 7 10 11 12 14 15 -1 3 6 7 10 11 13 14 15 -1 3 6 7 10 12 13 14 15 -1 3 6 7 11 12 13 14 15 -1 3 6 8 9 10 11 12 13 -1 3 6 8 9 10 11 12 14 -1 3 6 8 9 10 11 12 15 -1 3 6 8 9 10 11 13 14 -1 3 6 8 9 10 11 13 15 -1 3 6 8 9 10 11 14 15 -1 3 6 8 9 10 12 13 14 -1 3 6 8 9 10 12 13 15 -1 3 6 8 9 10 12 14 15 -1 3 6 8 9 10 13 14 15 -1 3 6 8 9 11 12 13 14 -1 3 6 8 9 11 12 13 15 -1 3 6 8 9 11 12 14 15 -1 3 6 8 9 11 13 14 15 -1 3 6 8 9 12 13 14 15 -1 3 6 8 10 11 12 13 14 -1 3 6 8 10 11 12 13 15 -1 3 6 8 10 11 12 14 15 -1 3 6 8 10 11 13 14 15 -1 3 6 8 10 12 13 14 15 -1 3 6 8 11 12 13 14 15 -1 3 6 9 10 11 12 13 14 -1 3 6 9 10 11 12 13 15 -1 3 6 9 10 11 12 14 15 -1 3 6 9 10 11 13 14 15 -1 3 6 9 10 12 13 14 15 -1 3 6 9 11 12 13 14 15 -1 3 6 10 11 12 13 14 15 -1 3 7 8 9 10 11 12 13 -1 3 7 8 9 10 11 12 14 -1 3 7 8 9 10 11 12 15 -1 3 7 8 9 10 11 13 14 -1 3 7 8 9 10 11 13 15 -1 3 7 8 9 10 11 14 15 -1 3 7 8 9 10 12 13 14 -1 3 7 8 9 10 12 13 15 -1 3 7 8 9 10 12 14 15 -1 3 7 8 9 10 13 14 15 -1 3 7 8 9 11 12 13 14 -1 3 7 8 9 11 12 13 15 -1 3 7 8 9 11 12 14 15 -1 3 7 8 9 11 13 14 15 -1 3 7 8 9 12 13 14 15 -1 3 7 8 10 11 12 13 14 -1 3 7 8 10 11 12 13 15 -1 3 7 8 10 11 12 14 15 -1 3 7 8 10 11 13 14 15 -1 3 7 8 10 12 13 14 15 -1 3 7 8 11 12 13 14 15 -1 3 7 9 10 11 12 13 14 -1 3 7 9 10 11 12 13 15 -1 3 7 9 10 11 12 14 15 -1 3 7 9 10 11 13 14 15 -1 3 7 9 10 12 13 14 15 -1 3 7 9 11 12 13 14 15 -1 3 7 10 11 12 13 14 15 -1 3 8 9 10 11 12 13 14 -1 3 8 9 10 11 12 13 15 -1 3 8 9 10 11 12 14 15 -1 3 8 9 10 11 13 14 15 -1 3 8 9 10 12 13 14 15 -1 3 8 9 11 12 13 14 15 -1 3 8 10 11 12 13 14 15 -1 3 9 10 11 12 13 14 15 -1 4 5 6 7 8 9 10 11 -1 4 5 6 7 8 9 10 12 -1 4 5 6 7 8 9 10 13 -1 4 5 6 7 8 9 10 14 -1 4 5 6 7 8 9 10 15 -1 4 5 6 7 8 9 11 12 -1 4 5 6 7 8 9 11 13 -1 4 5 6 7 8 9 11 14 -1 4 5 6 7 8 9 11 15 -1 4 5 6 7 8 9 12 13 -1 4 5 6 7 8 9 12 14 -1 4 5 6 7 8 9 12 15 -1 4 5 6 7 8 9 13 14 -1 4 5 6 7 8 9 13 15 -1 4 5 6 7 8 9 14 15 -1 4 5 6 7 8 10 11 12 -1 4 5 6 7 8 10 11 13 -1 4 5 6 7 8 10 11 14 -1 4 5 6 7 8 10 11 15 -1 4 5 6 7 8 10 12 13 -1 4 5 6 7 8 10 12 14 -1 4 5 6 7 8 10 12 15 -1 4 5 6 7 8 10 13 14 -1 4 5 6 7 8 10 13 15 -1 4 5 6 7 8 10 14 15 -1 4 5 6 7 8 11 12 13 -1 4 5 6 7 8 11 12 14 -1 4 5 6 7 8 11 12 15 -1 4 5 6 7 8 11 13 14 -1 4 5 6 7 8 11 13 15 -1 4 5 6 7 8 11 14 15 -1 4 5 6 7 8 12 13 14 -1 4 5 6 7 8 12 13 15 -1 4 5 6 7 8 12 14 15 -1 4 5 6 7 8 13 14 15 -1 4 5 6 7 9 10 11 12 -1 4 5 6 7 9 10 11 13 -1 4 5 6 7 9 10 11 14 -1 4 5 6 7 9 10 11 15 -1 4 5 6 7 9 10 12 13 -1 4 5 6 7 9 10 12 14 -1 4 5 6 7 9 10 12 15 -1 4 5 6 7 9 10 13 14 -1 4 5 6 7 9 10 13 15 -1 4 5 6 7 9 10 14 15 -1 4 5 6 7 9 11 12 13 -1 4 5 6 7 9 11 12 14 -1 4 5 6 7 9 11 12 15 -1 4 5 6 7 9 11 13 14 -1 4 5 6 7 9 11 13 15 -1 4 5 6 7 9 11 14 15 -1 4 5 6 7 9 12 13 14 -1 4 5 6 7 9 12 13 15 -1 4 5 6 7 9 12 14 15 -1 4 5 6 7 9 13 14 15 -1 4 5 6 7 10 11 12 13 -1 4 5 6 7 10 11 12 14 -1 4 5 6 7 10 11 12 15 -1 4 5 6 7 10 11 13 14 -1 4 5 6 7 10 11 13 15 -1 4 5 6 7 10 11 14 15 -1 4 5 6 7 10 12 13 14 -1 4 5 6 7 10 12 13 15 -1 4 5 6 7 10 12 14 15 -1 4 5 6 7 10 13 14 15 -1 4 5 6 7 11 12 13 14 -1 4 5 6 7 11 12 13 15 -1 4 5 6 7 11 12 14 15 -1 4 5 6 7 11 13 14 15 -1 4 5 6 7 12 13 14 15 -1 4 5 6 8 9 10 11 12 -1 4 5 6 8 9 10 11 13 -1 4 5 6 8 9 10 11 14 -1 4 5 6 8 9 10 11 15 -1 4 5 6 8 9 10 12 13 -1 4 5 6 8 9 10 12 14 -1 4 5 6 8 9 10 12 15 -1 4 5 6 8 9 10 13 14 -1 4 5 6 8 9 10 13 15 -1 4 5 6 8 9 10 14 15 -1 4 5 6 8 9 11 12 13 -1 4 5 6 8 9 11 12 14 -1 4 5 6 8 9 11 12 15 -1 4 5 6 8 9 11 13 14 -1 4 5 6 8 9 11 13 15 -1 4 5 6 8 9 11 14 15 -1 4 5 6 8 9 12 13 14 -1 4 5 6 8 9 12 13 15 -1 4 5 6 8 9 12 14 15 -1 4 5 6 8 9 13 14 15 -1 4 5 6 8 10 11 12 13 -1 4 5 6 8 10 11 12 14 -1 4 5 6 8 10 11 12 15 -1 4 5 6 8 10 11 13 14 -1 4 5 6 8 10 11 13 15 -1 4 5 6 8 10 11 14 15 -1 4 5 6 8 10 12 13 14 -1 4 5 6 8 10 12 13 15 -1 4 5 6 8 10 12 14 15 -1 4 5 6 8 10 13 14 15 -1 4 5 6 8 11 12 13 14 -1 4 5 6 8 11 12 13 15 -1 4 5 6 8 11 12 14 15 -1 4 5 6 8 11 13 14 15 -1 4 5 6 8 12 13 14 15 -1 4 5 6 9 10 11 12 13 -1 4 5 6 9 10 11 12 14 -1 4 5 6 9 10 11 12 15 -1 4 5 6 9 10 11 13 14 -1 4 5 6 9 10 11 13 15 -1 4 5 6 9 10 11 14 15 -1 4 5 6 9 10 12 13 14 -1 4 5 6 9 10 12 13 15 -1 4 5 6 9 10 12 14 15 -1 4 5 6 9 10 13 14 15 -1 4 5 6 9 11 12 13 14 -1 4 5 6 9 11 12 13 15 -1 4 5 6 9 11 12 14 15 -1 4 5 6 9 11 13 14 15 -1 4 5 6 9 12 13 14 15 -1 4 5 6 10 11 12 13 14 -1 4 5 6 10 11 12 13 15 -1 4 5 6 10 11 12 14 15 -1 4 5 6 10 11 13 14 15 -1 4 5 6 10 12 13 14 15 -1 4 5 6 11 12 13 14 15 -1 4 5 7 8 9 10 11 12 -1 4 5 7 8 9 10 11 13 -1 4 5 7 8 9 10 11 14 -1 4 5 7 8 9 10 11 15 -1 4 5 7 8 9 10 12 13 -1 4 5 7 8 9 10 12 14 -1 4 5 7 8 9 10 12 15 -1 4 5 7 8 9 10 13 14 -1 4 5 7 8 9 10 13 15 -1 4 5 7 8 9 10 14 15 -1 4 5 7 8 9 11 12 13 -1 4 5 7 8 9 11 12 14 -1 4 5 7 8 9 11 12 15 -1 4 5 7 8 9 11 13 14 -1 4 5 7 8 9 11 13 15 -1 4 5 7 8 9 11 14 15 -1 4 5 7 8 9 12 13 14 -1 4 5 7 8 9 12 13 15 -1 4 5 7 8 9 12 14 15 -1 4 5 7 8 9 13 14 15 -1 4 5 7 8 10 11 12 13 -1 4 5 7 8 10 11 12 14 -1 4 5 7 8 10 11 12 15 -1 4 5 7 8 10 11 13 14 -1 4 5 7 8 10 11 13 15 -1 4 5 7 8 10 11 14 15 -1 4 5 7 8 10 12 13 14 -1 4 5 7 8 10 12 13 15 -1 4 5 7 8 10 12 14 15 -1 4 5 7 8 10 13 14 15 -1 4 5 7 8 11 12 13 14 -1 4 5 7 8 11 12 13 15 -1 4 5 7 8 11 12 14 15 -1 4 5 7 8 11 13 14 15 -1 4 5 7 8 12 13 14 15 -1 4 5 7 9 10 11 12 13 -1 4 5 7 9 10 11 12 14 -1 4 5 7 9 10 11 12 15 -1 4 5 7 9 10 11 13 14 -1 4 5 7 9 10 11 13 15 -1 4 5 7 9 10 11 14 15 -1 4 5 7 9 10 12 13 14 -1 4 5 7 9 10 12 13 15 -1 4 5 7 9 10 12 14 15 -1 4 5 7 9 10 13 14 15 -1 4 5 7 9 11 12 13 14 -1 4 5 7 9 11 12 13 15 -1 4 5 7 9 11 12 14 15 -1 4 5 7 9 11 13 14 15 -1 4 5 7 9 12 13 14 15 -1 4 5 7 10 11 12 13 14 -1 4 5 7 10 11 12 13 15 -1 4 5 7 10 11 12 14 15 -1 4 5 7 10 11 13 14 15 -1 4 5 7 10 12 13 14 15 -1 4 5 7 11 12 13 14 15 -1 4 5 8 9 10 11 12 13 -1 4 5 8 9 10 11 12 14 -1 4 5 8 9 10 11 12 15 -1 4 5 8 9 10 11 13 14 -1 4 5 8 9 10 11 13 15 -1 4 5 8 9 10 11 14 15 -1 4 5 8 9 10 12 13 14 -1 4 5 8 9 10 12 13 15 -1 4 5 8 9 10 12 14 15 -1 4 5 8 9 10 13 14 15 -1 4 5 8 9 11 12 13 14 -1 4 5 8 9 11 12 13 15 -1 4 5 8 9 11 12 14 15 -1 4 5 8 9 11 13 14 15 -1 4 5 8 9 12 13 14 15 -1 4 5 8 10 11 12 13 14 -1 4 5 8 10 11 12 13 15 -1 4 5 8 10 11 12 14 15 -1 4 5 8 10 11 13 14 15 -1 4 5 8 10 12 13 14 15 -1 4 5 8 11 12 13 14 15 -1 4 5 9 10 11 12 13 14 -1 4 5 9 10 11 12 13 15 -1 4 5 9 10 11 12 14 15 -1 4 5 9 10 11 13 14 15 -1 4 5 9 10 12 13 14 15 -1 4 5 9 11 12 13 14 15 -1 4 5 10 11 12 13 14 15 -1 4 6 7 8 9 10 11 12 -1 4 6 7 8 9 10 11 13 -1 4 6 7 8 9 10 11 14 -1 4 6 7 8 9 10 11 15 -1 4 6 7 8 9 10 12 13 -1 4 6 7 8 9 10 12 14 -1 4 6 7 8 9 10 12 15 -1 4 6 7 8 9 10 13 14 -1 4 6 7 8 9 10 13 15 -1 4 6 7 8 9 10 14 15 -1 4 6 7 8 9 11 12 13 -1 4 6 7 8 9 11 12 14 -1 4 6 7 8 9 11 12 15 -1 4 6 7 8 9 11 13 14 -1 4 6 7 8 9 11 13 15 -1 4 6 7 8 9 11 14 15 -1 4 6 7 8 9 12 13 14 -1 4 6 7 8 9 12 13 15 -1 4 6 7 8 9 12 14 15 -1 4 6 7 8 9 13 14 15 -1 4 6 7 8 10 11 12 13 -1 4 6 7 8 10 11 12 14 -1 4 6 7 8 10 11 12 15 -1 4 6 7 8 10 11 13 14 -1 4 6 7 8 10 11 13 15 -1 4 6 7 8 10 11 14 15 -1 4 6 7 8 10 12 13 14 -1 4 6 7 8 10 12 13 15 -1 4 6 7 8 10 12 14 15 -1 4 6 7 8 10 13 14 15 -1 4 6 7 8 11 12 13 14 -1 4 6 7 8 11 12 13 15 -1 4 6 7 8 11 12 14 15 -1 4 6 7 8 11 13 14 15 -1 4 6 7 8 12 13 14 15 -1 4 6 7 9 10 11 12 13 -1 4 6 7 9 10 11 12 14 -1 4 6 7 9 10 11 12 15 -1 4 6 7 9 10 11 13 14 -1 4 6 7 9 10 11 13 15 -1 4 6 7 9 10 11 14 15 -1 4 6 7 9 10 12 13 14 -1 4 6 7 9 10 12 13 15 -1 4 6 7 9 10 12 14 15 -1 4 6 7 9 10 13 14 15 -1 4 6 7 9 11 12 13 14 -1 4 6 7 9 11 12 13 15 -1 4 6 7 9 11 12 14 15 -1 4 6 7 9 11 13 14 15 -1 4 6 7 9 12 13 14 15 -1 4 6 7 10 11 12 13 14 -1 4 6 7 10 11 12 13 15 -1 4 6 7 10 11 12 14 15 -1 4 6 7 10 11 13 14 15 -1 4 6 7 10 12 13 14 15 -1 4 6 7 11 12 13 14 15 -1 4 6 8 9 10 11 12 13 -1 4 6 8 9 10 11 12 14 -1 4 6 8 9 10 11 12 15 -1 4 6 8 9 10 11 13 14 -1 4 6 8 9 10 11 13 15 -1 4 6 8 9 10 11 14 15 -1 4 6 8 9 10 12 13 14 -1 4 6 8 9 10 12 13 15 -1 4 6 8 9 10 12 14 15 -1 4 6 8 9 10 13 14 15 -1 4 6 8 9 11 12 13 14 -1 4 6 8 9 11 12 13 15 -1 4 6 8 9 11 12 14 15 -1 4 6 8 9 11 13 14 15 -1 4 6 8 9 12 13 14 15 -1 4 6 8 10 11 12 13 14 -1 4 6 8 10 11 12 13 15 -1 4 6 8 10 11 12 14 15 -1 4 6 8 10 11 13 14 15 -1 4 6 8 10 12 13 14 15 -1 4 6 8 11 12 13 14 15 -1 4 6 9 10 11 12 13 14 -1 4 6 9 10 11 12 13 15 -1 4 6 9 10 11 12 14 15 -1 4 6 9 10 11 13 14 15 -1 4 6 9 10 12 13 14 15 -1 4 6 9 11 12 13 14 15 -1 4 6 10 11 12 13 14 15 -1 4 7 8 9 10 11 12 13 -1 4 7 8 9 10 11 12 14 -1 4 7 8 9 10 11 12 15 -1 4 7 8 9 10 11 13 14 -1 4 7 8 9 10 11 13 15 -1 4 7 8 9 10 11 14 15 -1 4 7 8 9 10 12 13 14 -1 4 7 8 9 10 12 13 15 -1 4 7 8 9 10 12 14 15 -1 4 7 8 9 10 13 14 15 -1 4 7 8 9 11 12 13 14 -1 4 7 8 9 11 12 13 15 -1 4 7 8 9 11 12 14 15 -1 4 7 8 9 11 13 14 15 -1 4 7 8 9 12 13 14 15 -1 4 7 8 10 11 12 13 14 -1 4 7 8 10 11 12 13 15 -1 4 7 8 10 11 12 14 15 -1 4 7 8 10 11 13 14 15 -1 4 7 8 10 12 13 14 15 -1 4 7 8 11 12 13 14 15 -1 4 7 9 10 11 12 13 14 -1 4 7 9 10 11 12 13 15 -1 4 7 9 10 11 12 14 15 -1 4 7 9 10 11 13 14 15 -1 4 7 9 10 12 13 14 15 -1 4 7 9 11 12 13 14 15 -1 4 7 10 11 12 13 14 15 -1 4 8 9 10 11 12 13 14 -1 4 8 9 10 11 12 13 15 -1 4 8 9 10 11 12 14 15 -1 4 8 9 10 11 13 14 15 -1 4 8 9 10 12 13 14 15 -1 4 8 9 11 12 13 14 15 -1 4 8 10 11 12 13 14 15 -1 4 9 10 11 12 13 14 15 -1 5 6 7 8 9 10 11 12 -1 5 6 7 8 9 10 11 13 -1 5 6 7 8 9 10 11 14 -1 5 6 7 8 9 10 11 15 -1 5 6 7 8 9 10 12 13 -1 5 6 7 8 9 10 12 14 -1 5 6 7 8 9 10 12 15 -1 5 6 7 8 9 10 13 14 -1 5 6 7 8 9 10 13 15 -1 5 6 7 8 9 10 14 15 -1 5 6 7 8 9 11 12 13 -1 5 6 7 8 9 11 12 14 -1 5 6 7 8 9 11 12 15 -1 5 6 7 8 9 11 13 14 -1 5 6 7 8 9 11 13 15 -1 5 6 7 8 9 11 14 15 -1 5 6 7 8 9 12 13 14 -1 5 6 7 8 9 12 13 15 -1 5 6 7 8 9 12 14 15 -1 5 6 7 8 9 13 14 15 -1 5 6 7 8 10 11 12 13 -1 5 6 7 8 10 11 12 14 -1 5 6 7 8 10 11 12 15 -1 5 6 7 8 10 11 13 14 -1 5 6 7 8 10 11 13 15 -1 5 6 7 8 10 11 14 15 -1 5 6 7 8 10 12 13 14 -1 5 6 7 8 10 12 13 15 -1 5 6 7 8 10 12 14 15 -1 5 6 7 8 10 13 14 15 -1 5 6 7 8 11 12 13 14 -1 5 6 7 8 11 12 13 15 -1 5 6 7 8 11 12 14 15 -1 5 6 7 8 11 13 14 15 -1 5 6 7 8 12 13 14 15 -1 5 6 7 9 10 11 12 13 -1 5 6 7 9 10 11 12 14 -1 5 6 7 9 10 11 12 15 -1 5 6 7 9 10 11 13 14 -1 5 6 7 9 10 11 13 15 -1 5 6 7 9 10 11 14 15 -1 5 6 7 9 10 12 13 14 -1 5 6 7 9 10 12 13 15 -1 5 6 7 9 10 12 14 15 -1 5 6 7 9 10 13 14 15 -1 5 6 7 9 11 12 13 14 -1 5 6 7 9 11 12 13 15 -1 5 6 7 9 11 12 14 15 -1 5 6 7 9 11 13 14 15 -1 5 6 7 9 12 13 14 15 -1 5 6 7 10 11 12 13 14 -1 5 6 7 10 11 12 13 15 -1 5 6 7 10 11 12 14 15 -1 5 6 7 10 11 13 14 15 -1 5 6 7 10 12 13 14 15 -1 5 6 7 11 12 13 14 15 -1 5 6 8 9 10 11 12 13 -1 5 6 8 9 10 11 12 14 -1 5 6 8 9 10 11 12 15 -1 5 6 8 9 10 11 13 14 -1 5 6 8 9 10 11 13 15 -1 5 6 8 9 10 11 14 15 -1 5 6 8 9 10 12 13 14 -1 5 6 8 9 10 12 13 15 -1 5 6 8 9 10 12 14 15 -1 5 6 8 9 10 13 14 15 -1 5 6 8 9 11 12 13 14 -1 5 6 8 9 11 12 13 15 -1 5 6 8 9 11 12 14 15 -1 5 6 8 9 11 13 14 15 -1 5 6 8 9 12 13 14 15 -1 5 6 8 10 11 12 13 14 -1 5 6 8 10 11 12 13 15 -1 5 6 8 10 11 12 14 15 -1 5 6 8 10 11 13 14 15 -1 5 6 8 10 12 13 14 15 -1 5 6 8 11 12 13 14 15 -1 5 6 9 10 11 12 13 14 -1 5 6 9 10 11 12 13 15 -1 5 6 9 10 11 12 14 15 -1 5 6 9 10 11 13 14 15 -1 5 6 9 10 12 13 14 15 -1 5 6 9 11 12 13 14 15 -1 5 6 10 11 12 13 14 15 -1 5 7 8 9 10 11 12 13 -1 5 7 8 9 10 11 12 14 -1 5 7 8 9 10 11 12 15 -1 5 7 8 9 10 11 13 14 -1 5 7 8 9 10 11 13 15 -1 5 7 8 9 10 11 14 15 -1 5 7 8 9 10 12 13 14 -1 5 7 8 9 10 12 13 15 -1 5 7 8 9 10 12 14 15 -1 5 7 8 9 10 13 14 15 -1 5 7 8 9 11 12 13 14 -1 5 7 8 9 11 12 13 15 -1 5 7 8 9 11 12 14 15 -1 5 7 8 9 11 13 14 15 -1 5 7 8 9 12 13 14 15 -1 5 7 8 10 11 12 13 14 -1 5 7 8 10 11 12 13 15 -1 5 7 8 10 11 12 14 15 -1 5 7 8 10 11 13 14 15 -1 5 7 8 10 12 13 14 15 -1 5 7 8 11 12 13 14 15 -1 5 7 9 10 11 12 13 14 -1 5 7 9 10 11 12 13 15 -1 5 7 9 10 11 12 14 15 -1 5 7 9 10 11 13 14 15 -1 5 7 9 10 12 13 14 15 -1 5 7 9 11 12 13 14 15 -1 5 7 10 11 12 13 14 15 -1 5 8 9 10 11 12 13 14 -1 5 8 9 10 11 12 13 15 -1 5 8 9 10 11 12 14 15 -1 5 8 9 10 11 13 14 15 -1 5 8 9 10 12 13 14 15 -1 5 8 9 11 12 13 14 15 -1 5 8 10 11 12 13 14 15 -1 5 9 10 11 12 13 14 15 -1 6 7 8 9 10 11 12 13 -1 6 7 8 9 10 11 12 14 -1 6 7 8 9 10 11 12 15 -1 6 7 8 9 10 11 13 14 -1 6 7 8 9 10 11 13 15 -1 6 7 8 9 10 11 14 15 -1 6 7 8 9 10 12 13 14 -1 6 7 8 9 10 12 13 15 -1 6 7 8 9 10 12 14 15 -1 6 7 8 9 10 13 14 15 -1 6 7 8 9 11 12 13 14 -1 6 7 8 9 11 12 13 15 -1 6 7 8 9 11 12 14 15 -1 6 7 8 9 11 13 14 15 -1 6 7 8 9 12 13 14 15 -1 6 7 8 10 11 12 13 14 -1 6 7 8 10 11 12 13 15 -1 6 7 8 10 11 12 14 15 -1 6 7 8 10 11 13 14 15 -1 6 7 8 10 12 13 14 15 -1 6 7 8 11 12 13 14 15 -1 6 7 9 10 11 12 13 14 -1 6 7 9 10 11 12 13 15 -1 6 7 9 10 11 12 14 15 -1 6 7 9 10 11 13 14 15 -1 6 7 9 10 12 13 14 15 -1 6 7 9 11 12 13 14 15 -1 6 7 10 11 12 13 14 15 -1 6 8 9 10 11 12 13 14 -1 6 8 9 10 11 12 13 15 -1 6 8 9 10 11 12 14 15 -1 6 8 9 10 11 13 14 15 -1 6 8 9 10 12 13 14 15 -1 6 8 9 11 12 13 14 15 -1 6 8 10 11 12 13 14 15 -1 6 9 10 11 12 13 14 15 -1 7 8 9 10 11 12 13 14 -1 7 8 9 10 11 12 13 15 -1 7 8 9 10 11 12 14 15 -1 7 8 9 10 11 13 14 15 -1 7 8 9 10 12 13 14 15 -1 7 8 9 11 12 13 14 15 -1 7 8 10 11 12 13 14 15 -1 7 9 10 11 12 13 14 15 -1 8 9 10 11 12 13 14 15 -2 3 4 5 6 7 8 9 10 -2 3 4 5 6 7 8 9 11 -2 3 4 5 6 7 8 9 12 -2 3 4 5 6 7 8 9 13 -2 3 4 5 6 7 8 9 14 -2 3 4 5 6 7 8 9 15 -2 3 4 5 6 7 8 10 11 -2 3 4 5 6 7 8 10 12 -2 3 4 5 6 7 8 10 13 -2 3 4 5 6 7 8 10 14 -2 3 4 5 6 7 8 10 15 -2 3 4 5 6 7 8 11 12 -2 3 4 5 6 7 8 11 13 -2 3 4 5 6 7 8 11 14 -2 3 4 5 6 7 8 11 15 -2 3 4 5 6 7 8 12 13 -2 3 4 5 6 7 8 12 14 -2 3 4 5 6 7 8 12 15 -2 3 4 5 6 7 8 13 14 -2 3 4 5 6 7 8 13 15 -2 3 4 5 6 7 8 14 15 -2 3 4 5 6 7 9 10 11 -2 3 4 5 6 7 9 10 12 -2 3 4 5 6 7 9 10 13 -2 3 4 5 6 7 9 10 14 -2 3 4 5 6 7 9 10 15 -2 3 4 5 6 7 9 11 12 -2 3 4 5 6 7 9 11 13 -2 3 4 5 6 7 9 11 14 -2 3 4 5 6 7 9 11 15 -2 3 4 5 6 7 9 12 13 -2 3 4 5 6 7 9 12 14 -2 3 4 5 6 7 9 12 15 -2 3 4 5 6 7 9 13 14 -2 3 4 5 6 7 9 13 15 -2 3 4 5 6 7 9 14 15 -2 3 4 5 6 7 10 11 12 -2 3 4 5 6 7 10 11 13 -2 3 4 5 6 7 10 11 14 -2 3 4 5 6 7 10 11 15 -2 3 4 5 6 7 10 12 13 -2 3 4 5 6 7 10 12 14 -2 3 4 5 6 7 10 12 15 -2 3 4 5 6 7 10 13 14 -2 3 4 5 6 7 10 13 15 -2 3 4 5 6 7 10 14 15 -2 3 4 5 6 7 11 12 13 -2 3 4 5 6 7 11 12 14 -2 3 4 5 6 7 11 12 15 -2 3 4 5 6 7 11 13 14 -2 3 4 5 6 7 11 13 15 -2 3 4 5 6 7 11 14 15 -2 3 4 5 6 7 12 13 14 -2 3 4 5 6 7 12 13 15 -2 3 4 5 6 7 12 14 15 -2 3 4 5 6 7 13 14 15 -2 3 4 5 6 8 9 10 11 -2 3 4 5 6 8 9 10 12 -2 3 4 5 6 8 9 10 13 -2 3 4 5 6 8 9 10 14 -2 3 4 5 6 8 9 10 15 -2 3 4 5 6 8 9 11 12 -2 3 4 5 6 8 9 11 13 -2 3 4 5 6 8 9 11 14 -2 3 4 5 6 8 9 11 15 -2 3 4 5 6 8 9 12 13 -2 3 4 5 6 8 9 12 14 -2 3 4 5 6 8 9 12 15 -2 3 4 5 6 8 9 13 14 -2 3 4 5 6 8 9 13 15 -2 3 4 5 6 8 9 14 15 -2 3 4 5 6 8 10 11 12 -2 3 4 5 6 8 10 11 13 -2 3 4 5 6 8 10 11 14 -2 3 4 5 6 8 10 11 15 -2 3 4 5 6 8 10 12 13 -2 3 4 5 6 8 10 12 14 -2 3 4 5 6 8 10 12 15 -2 3 4 5 6 8 10 13 14 -2 3 4 5 6 8 10 13 15 -2 3 4 5 6 8 10 14 15 -2 3 4 5 6 8 11 12 13 -2 3 4 5 6 8 11 12 14 -2 3 4 5 6 8 11 12 15 -2 3 4 5 6 8 11 13 14 -2 3 4 5 6 8 11 13 15 -2 3 4 5 6 8 11 14 15 -2 3 4 5 6 8 12 13 14 -2 3 4 5 6 8 12 13 15 -2 3 4 5 6 8 12 14 15 -2 3 4 5 6 8 13 14 15 -2 3 4 5 6 9 10 11 12 -2 3 4 5 6 9 10 11 13 -2 3 4 5 6 9 10 11 14 -2 3 4 5 6 9 10 11 15 -2 3 4 5 6 9 10 12 13 -2 3 4 5 6 9 10 12 14 -2 3 4 5 6 9 10 12 15 -2 3 4 5 6 9 10 13 14 -2 3 4 5 6 9 10 13 15 -2 3 4 5 6 9 10 14 15 -2 3 4 5 6 9 11 12 13 -2 3 4 5 6 9 11 12 14 -2 3 4 5 6 9 11 12 15 -2 3 4 5 6 9 11 13 14 -2 3 4 5 6 9 11 13 15 -2 3 4 5 6 9 11 14 15 -2 3 4 5 6 9 12 13 14 -2 3 4 5 6 9 12 13 15 -2 3 4 5 6 9 12 14 15 -2 3 4 5 6 9 13 14 15 -2 3 4 5 6 10 11 12 13 -2 3 4 5 6 10 11 12 14 -2 3 4 5 6 10 11 12 15 -2 3 4 5 6 10 11 13 14 -2 3 4 5 6 10 11 13 15 -2 3 4 5 6 10 11 14 15 -2 3 4 5 6 10 12 13 14 -2 3 4 5 6 10 12 13 15 -2 3 4 5 6 10 12 14 15 -2 3 4 5 6 10 13 14 15 -2 3 4 5 6 11 12 13 14 -2 3 4 5 6 11 12 13 15 -2 3 4 5 6 11 12 14 15 -2 3 4 5 6 11 13 14 15 -2 3 4 5 6 12 13 14 15 -2 3 4 5 7 8 9 10 11 -2 3 4 5 7 8 9 10 12 -2 3 4 5 7 8 9 10 13 -2 3 4 5 7 8 9 10 14 -2 3 4 5 7 8 9 10 15 -2 3 4 5 7 8 9 11 12 -2 3 4 5 7 8 9 11 13 -2 3 4 5 7 8 9 11 14 -2 3 4 5 7 8 9 11 15 -2 3 4 5 7 8 9 12 13 -2 3 4 5 7 8 9 12 14 -2 3 4 5 7 8 9 12 15 -2 3 4 5 7 8 9 13 14 -2 3 4 5 7 8 9 13 15 -2 3 4 5 7 8 9 14 15 -2 3 4 5 7 8 10 11 12 -2 3 4 5 7 8 10 11 13 -2 3 4 5 7 8 10 11 14 -2 3 4 5 7 8 10 11 15 -2 3 4 5 7 8 10 12 13 -2 3 4 5 7 8 10 12 14 -2 3 4 5 7 8 10 12 15 -2 3 4 5 7 8 10 13 14 -2 3 4 5 7 8 10 13 15 -2 3 4 5 7 8 10 14 15 -2 3 4 5 7 8 11 12 13 -2 3 4 5 7 8 11 12 14 -2 3 4 5 7 8 11 12 15 -2 3 4 5 7 8 11 13 14 -2 3 4 5 7 8 11 13 15 -2 3 4 5 7 8 11 14 15 -2 3 4 5 7 8 12 13 14 -2 3 4 5 7 8 12 13 15 -2 3 4 5 7 8 12 14 15 -2 3 4 5 7 8 13 14 15 -2 3 4 5 7 9 10 11 12 -2 3 4 5 7 9 10 11 13 -2 3 4 5 7 9 10 11 14 -2 3 4 5 7 9 10 11 15 -2 3 4 5 7 9 10 12 13 -2 3 4 5 7 9 10 12 14 -2 3 4 5 7 9 10 12 15 -2 3 4 5 7 9 10 13 14 -2 3 4 5 7 9 10 13 15 -2 3 4 5 7 9 10 14 15 -2 3 4 5 7 9 11 12 13 -2 3 4 5 7 9 11 12 14 -2 3 4 5 7 9 11 12 15 -2 3 4 5 7 9 11 13 14 -2 3 4 5 7 9 11 13 15 -2 3 4 5 7 9 11 14 15 -2 3 4 5 7 9 12 13 14 -2 3 4 5 7 9 12 13 15 -2 3 4 5 7 9 12 14 15 -2 3 4 5 7 9 13 14 15 -2 3 4 5 7 10 11 12 13 -2 3 4 5 7 10 11 12 14 -2 3 4 5 7 10 11 12 15 -2 3 4 5 7 10 11 13 14 -2 3 4 5 7 10 11 13 15 -2 3 4 5 7 10 11 14 15 -2 3 4 5 7 10 12 13 14 -2 3 4 5 7 10 12 13 15 -2 3 4 5 7 10 12 14 15 -2 3 4 5 7 10 13 14 15 -2 3 4 5 7 11 12 13 14 -2 3 4 5 7 11 12 13 15 -2 3 4 5 7 11 12 14 15 -2 3 4 5 7 11 13 14 15 -2 3 4 5 7 12 13 14 15 -2 3 4 5 8 9 10 11 12 -2 3 4 5 8 9 10 11 13 -2 3 4 5 8 9 10 11 14 -2 3 4 5 8 9 10 11 15 -2 3 4 5 8 9 10 12 13 -2 3 4 5 8 9 10 12 14 -2 3 4 5 8 9 10 12 15 -2 3 4 5 8 9 10 13 14 -2 3 4 5 8 9 10 13 15 -2 3 4 5 8 9 10 14 15 -2 3 4 5 8 9 11 12 13 -2 3 4 5 8 9 11 12 14 -2 3 4 5 8 9 11 12 15 -2 3 4 5 8 9 11 13 14 -2 3 4 5 8 9 11 13 15 -2 3 4 5 8 9 11 14 15 -2 3 4 5 8 9 12 13 14 -2 3 4 5 8 9 12 13 15 -2 3 4 5 8 9 12 14 15 -2 3 4 5 8 9 13 14 15 -2 3 4 5 8 10 11 12 13 -2 3 4 5 8 10 11 12 14 -2 3 4 5 8 10 11 12 15 -2 3 4 5 8 10 11 13 14 -2 3 4 5 8 10 11 13 15 -2 3 4 5 8 10 11 14 15 -2 3 4 5 8 10 12 13 14 -2 3 4 5 8 10 12 13 15 -2 3 4 5 8 10 12 14 15 -2 3 4 5 8 10 13 14 15 -2 3 4 5 8 11 12 13 14 -2 3 4 5 8 11 12 13 15 -2 3 4 5 8 11 12 14 15 -2 3 4 5 8 11 13 14 15 -2 3 4 5 8 12 13 14 15 -2 3 4 5 9 10 11 12 13 -2 3 4 5 9 10 11 12 14 -2 3 4 5 9 10 11 12 15 -2 3 4 5 9 10 11 13 14 -2 3 4 5 9 10 11 13 15 -2 3 4 5 9 10 11 14 15 -2 3 4 5 9 10 12 13 14 -2 3 4 5 9 10 12 13 15 -2 3 4 5 9 10 12 14 15 -2 3 4 5 9 10 13 14 15 -2 3 4 5 9 11 12 13 14 -2 3 4 5 9 11 12 13 15 -2 3 4 5 9 11 12 14 15 -2 3 4 5 9 11 13 14 15 -2 3 4 5 9 12 13 14 15 -2 3 4 5 10 11 12 13 14 -2 3 4 5 10 11 12 13 15 -2 3 4 5 10 11 12 14 15 -2 3 4 5 10 11 13 14 15 -2 3 4 5 10 12 13 14 15 -2 3 4 5 11 12 13 14 15 -2 3 4 6 7 8 9 10 11 -2 3 4 6 7 8 9 10 12 -2 3 4 6 7 8 9 10 13 -2 3 4 6 7 8 9 10 14 -2 3 4 6 7 8 9 10 15 -2 3 4 6 7 8 9 11 12 -2 3 4 6 7 8 9 11 13 -2 3 4 6 7 8 9 11 14 -2 3 4 6 7 8 9 11 15 -2 3 4 6 7 8 9 12 13 -2 3 4 6 7 8 9 12 14 -2 3 4 6 7 8 9 12 15 -2 3 4 6 7 8 9 13 14 -2 3 4 6 7 8 9 13 15 -2 3 4 6 7 8 9 14 15 -2 3 4 6 7 8 10 11 12 -2 3 4 6 7 8 10 11 13 -2 3 4 6 7 8 10 11 14 -2 3 4 6 7 8 10 11 15 -2 3 4 6 7 8 10 12 13 -2 3 4 6 7 8 10 12 14 -2 3 4 6 7 8 10 12 15 -2 3 4 6 7 8 10 13 14 -2 3 4 6 7 8 10 13 15 -2 3 4 6 7 8 10 14 15 -2 3 4 6 7 8 11 12 13 -2 3 4 6 7 8 11 12 14 -2 3 4 6 7 8 11 12 15 -2 3 4 6 7 8 11 13 14 -2 3 4 6 7 8 11 13 15 -2 3 4 6 7 8 11 14 15 -2 3 4 6 7 8 12 13 14 -2 3 4 6 7 8 12 13 15 -2 3 4 6 7 8 12 14 15 -2 3 4 6 7 8 13 14 15 -2 3 4 6 7 9 10 11 12 -2 3 4 6 7 9 10 11 13 -2 3 4 6 7 9 10 11 14 -2 3 4 6 7 9 10 11 15 -2 3 4 6 7 9 10 12 13 -2 3 4 6 7 9 10 12 14 -2 3 4 6 7 9 10 12 15 -2 3 4 6 7 9 10 13 14 -2 3 4 6 7 9 10 13 15 -2 3 4 6 7 9 10 14 15 -2 3 4 6 7 9 11 12 13 -2 3 4 6 7 9 11 12 14 -2 3 4 6 7 9 11 12 15 -2 3 4 6 7 9 11 13 14 -2 3 4 6 7 9 11 13 15 -2 3 4 6 7 9 11 14 15 -2 3 4 6 7 9 12 13 14 -2 3 4 6 7 9 12 13 15 -2 3 4 6 7 9 12 14 15 -2 3 4 6 7 9 13 14 15 -2 3 4 6 7 10 11 12 13 -2 3 4 6 7 10 11 12 14 -2 3 4 6 7 10 11 12 15 -2 3 4 6 7 10 11 13 14 -2 3 4 6 7 10 11 13 15 -2 3 4 6 7 10 11 14 15 -2 3 4 6 7 10 12 13 14 -2 3 4 6 7 10 12 13 15 -2 3 4 6 7 10 12 14 15 -2 3 4 6 7 10 13 14 15 -2 3 4 6 7 11 12 13 14 -2 3 4 6 7 11 12 13 15 -2 3 4 6 7 11 12 14 15 -2 3 4 6 7 11 13 14 15 -2 3 4 6 7 12 13 14 15 -2 3 4 6 8 9 10 11 12 -2 3 4 6 8 9 10 11 13 -2 3 4 6 8 9 10 11 14 -2 3 4 6 8 9 10 11 15 -2 3 4 6 8 9 10 12 13 -2 3 4 6 8 9 10 12 14 -2 3 4 6 8 9 10 12 15 -2 3 4 6 8 9 10 13 14 -2 3 4 6 8 9 10 13 15 -2 3 4 6 8 9 10 14 15 -2 3 4 6 8 9 11 12 13 -2 3 4 6 8 9 11 12 14 -2 3 4 6 8 9 11 12 15 -2 3 4 6 8 9 11 13 14 -2 3 4 6 8 9 11 13 15 -2 3 4 6 8 9 11 14 15 -2 3 4 6 8 9 12 13 14 -2 3 4 6 8 9 12 13 15 -2 3 4 6 8 9 12 14 15 -2 3 4 6 8 9 13 14 15 -2 3 4 6 8 10 11 12 13 -2 3 4 6 8 10 11 12 14 -2 3 4 6 8 10 11 12 15 -2 3 4 6 8 10 11 13 14 -2 3 4 6 8 10 11 13 15 -2 3 4 6 8 10 11 14 15 -2 3 4 6 8 10 12 13 14 -2 3 4 6 8 10 12 13 15 -2 3 4 6 8 10 12 14 15 -2 3 4 6 8 10 13 14 15 -2 3 4 6 8 11 12 13 14 -2 3 4 6 8 11 12 13 15 -2 3 4 6 8 11 12 14 15 -2 3 4 6 8 11 13 14 15 -2 3 4 6 8 12 13 14 15 -2 3 4 6 9 10 11 12 13 -2 3 4 6 9 10 11 12 14 -2 3 4 6 9 10 11 12 15 -2 3 4 6 9 10 11 13 14 -2 3 4 6 9 10 11 13 15 -2 3 4 6 9 10 11 14 15 -2 3 4 6 9 10 12 13 14 -2 3 4 6 9 10 12 13 15 -2 3 4 6 9 10 12 14 15 -2 3 4 6 9 10 13 14 15 -2 3 4 6 9 11 12 13 14 -2 3 4 6 9 11 12 13 15 -2 3 4 6 9 11 12 14 15 -2 3 4 6 9 11 13 14 15 -2 3 4 6 9 12 13 14 15 -2 3 4 6 10 11 12 13 14 -2 3 4 6 10 11 12 13 15 -2 3 4 6 10 11 12 14 15 -2 3 4 6 10 11 13 14 15 -2 3 4 6 10 12 13 14 15 -2 3 4 6 11 12 13 14 15 -2 3 4 7 8 9 10 11 12 -2 3 4 7 8 9 10 11 13 -2 3 4 7 8 9 10 11 14 -2 3 4 7 8 9 10 11 15 -2 3 4 7 8 9 10 12 13 -2 3 4 7 8 9 10 12 14 -2 3 4 7 8 9 10 12 15 -2 3 4 7 8 9 10 13 14 -2 3 4 7 8 9 10 13 15 -2 3 4 7 8 9 10 14 15 -2 3 4 7 8 9 11 12 13 -2 3 4 7 8 9 11 12 14 -2 3 4 7 8 9 11 12 15 -2 3 4 7 8 9 11 13 14 -2 3 4 7 8 9 11 13 15 -2 3 4 7 8 9 11 14 15 -2 3 4 7 8 9 12 13 14 -2 3 4 7 8 9 12 13 15 -2 3 4 7 8 9 12 14 15 -2 3 4 7 8 9 13 14 15 -2 3 4 7 8 10 11 12 13 -2 3 4 7 8 10 11 12 14 -2 3 4 7 8 10 11 12 15 -2 3 4 7 8 10 11 13 14 -2 3 4 7 8 10 11 13 15 -2 3 4 7 8 10 11 14 15 -2 3 4 7 8 10 12 13 14 -2 3 4 7 8 10 12 13 15 -2 3 4 7 8 10 12 14 15 -2 3 4 7 8 10 13 14 15 -2 3 4 7 8 11 12 13 14 -2 3 4 7 8 11 12 13 15 -2 3 4 7 8 11 12 14 15 -2 3 4 7 8 11 13 14 15 -2 3 4 7 8 12 13 14 15 -2 3 4 7 9 10 11 12 13 -2 3 4 7 9 10 11 12 14 -2 3 4 7 9 10 11 12 15 -2 3 4 7 9 10 11 13 14 -2 3 4 7 9 10 11 13 15 -2 3 4 7 9 10 11 14 15 -2 3 4 7 9 10 12 13 14 -2 3 4 7 9 10 12 13 15 -2 3 4 7 9 10 12 14 15 -2 3 4 7 9 10 13 14 15 -2 3 4 7 9 11 12 13 14 -2 3 4 7 9 11 12 13 15 -2 3 4 7 9 11 12 14 15 -2 3 4 7 9 11 13 14 15 -2 3 4 7 9 12 13 14 15 -2 3 4 7 10 11 12 13 14 -2 3 4 7 10 11 12 13 15 -2 3 4 7 10 11 12 14 15 -2 3 4 7 10 11 13 14 15 -2 3 4 7 10 12 13 14 15 -2 3 4 7 11 12 13 14 15 -2 3 4 8 9 10 11 12 13 -2 3 4 8 9 10 11 12 14 -2 3 4 8 9 10 11 12 15 -2 3 4 8 9 10 11 13 14 -2 3 4 8 9 10 11 13 15 -2 3 4 8 9 10 11 14 15 -2 3 4 8 9 10 12 13 14 -2 3 4 8 9 10 12 13 15 -2 3 4 8 9 10 12 14 15 -2 3 4 8 9 10 13 14 15 -2 3 4 8 9 11 12 13 14 -2 3 4 8 9 11 12 13 15 -2 3 4 8 9 11 12 14 15 -2 3 4 8 9 11 13 14 15 -2 3 4 8 9 12 13 14 15 -2 3 4 8 10 11 12 13 14 -2 3 4 8 10 11 12 13 15 -2 3 4 8 10 11 12 14 15 -2 3 4 8 10 11 13 14 15 -2 3 4 8 10 12 13 14 15 -2 3 4 8 11 12 13 14 15 -2 3 4 9 10 11 12 13 14 -2 3 4 9 10 11 12 13 15 -2 3 4 9 10 11 12 14 15 -2 3 4 9 10 11 13 14 15 -2 3 4 9 10 12 13 14 15 -2 3 4 9 11 12 13 14 15 -2 3 4 10 11 12 13 14 15 -2 3 5 6 7 8 9 10 11 -2 3 5 6 7 8 9 10 12 -2 3 5 6 7 8 9 10 13 -2 3 5 6 7 8 9 10 14 -2 3 5 6 7 8 9 10 15 -2 3 5 6 7 8 9 11 12 -2 3 5 6 7 8 9 11 13 -2 3 5 6 7 8 9 11 14 -2 3 5 6 7 8 9 11 15 -2 3 5 6 7 8 9 12 13 -2 3 5 6 7 8 9 12 14 -2 3 5 6 7 8 9 12 15 -2 3 5 6 7 8 9 13 14 -2 3 5 6 7 8 9 13 15 -2 3 5 6 7 8 9 14 15 -2 3 5 6 7 8 10 11 12 -2 3 5 6 7 8 10 11 13 -2 3 5 6 7 8 10 11 14 -2 3 5 6 7 8 10 11 15 -2 3 5 6 7 8 10 12 13 -2 3 5 6 7 8 10 12 14 -2 3 5 6 7 8 10 12 15 -2 3 5 6 7 8 10 13 14 -2 3 5 6 7 8 10 13 15 -2 3 5 6 7 8 10 14 15 -2 3 5 6 7 8 11 12 13 -2 3 5 6 7 8 11 12 14 -2 3 5 6 7 8 11 12 15 -2 3 5 6 7 8 11 13 14 -2 3 5 6 7 8 11 13 15 -2 3 5 6 7 8 11 14 15 -2 3 5 6 7 8 12 13 14 -2 3 5 6 7 8 12 13 15 -2 3 5 6 7 8 12 14 15 -2 3 5 6 7 8 13 14 15 -2 3 5 6 7 9 10 11 12 -2 3 5 6 7 9 10 11 13 -2 3 5 6 7 9 10 11 14 -2 3 5 6 7 9 10 11 15 -2 3 5 6 7 9 10 12 13 -2 3 5 6 7 9 10 12 14 -2 3 5 6 7 9 10 12 15 -2 3 5 6 7 9 10 13 14 -2 3 5 6 7 9 10 13 15 -2 3 5 6 7 9 10 14 15 -2 3 5 6 7 9 11 12 13 -2 3 5 6 7 9 11 12 14 -2 3 5 6 7 9 11 12 15 -2 3 5 6 7 9 11 13 14 -2 3 5 6 7 9 11 13 15 -2 3 5 6 7 9 11 14 15 -2 3 5 6 7 9 12 13 14 -2 3 5 6 7 9 12 13 15 -2 3 5 6 7 9 12 14 15 -2 3 5 6 7 9 13 14 15 -2 3 5 6 7 10 11 12 13 -2 3 5 6 7 10 11 12 14 -2 3 5 6 7 10 11 12 15 -2 3 5 6 7 10 11 13 14 -2 3 5 6 7 10 11 13 15 -2 3 5 6 7 10 11 14 15 -2 3 5 6 7 10 12 13 14 -2 3 5 6 7 10 12 13 15 -2 3 5 6 7 10 12 14 15 -2 3 5 6 7 10 13 14 15 -2 3 5 6 7 11 12 13 14 -2 3 5 6 7 11 12 13 15 -2 3 5 6 7 11 12 14 15 -2 3 5 6 7 11 13 14 15 -2 3 5 6 7 12 13 14 15 -2 3 5 6 8 9 10 11 12 -2 3 5 6 8 9 10 11 13 -2 3 5 6 8 9 10 11 14 -2 3 5 6 8 9 10 11 15 -2 3 5 6 8 9 10 12 13 -2 3 5 6 8 9 10 12 14 -2 3 5 6 8 9 10 12 15 -2 3 5 6 8 9 10 13 14 -2 3 5 6 8 9 10 13 15 -2 3 5 6 8 9 10 14 15 -2 3 5 6 8 9 11 12 13 -2 3 5 6 8 9 11 12 14 -2 3 5 6 8 9 11 12 15 -2 3 5 6 8 9 11 13 14 -2 3 5 6 8 9 11 13 15 -2 3 5 6 8 9 11 14 15 -2 3 5 6 8 9 12 13 14 -2 3 5 6 8 9 12 13 15 -2 3 5 6 8 9 12 14 15 -2 3 5 6 8 9 13 14 15 -2 3 5 6 8 10 11 12 13 -2 3 5 6 8 10 11 12 14 -2 3 5 6 8 10 11 12 15 -2 3 5 6 8 10 11 13 14 -2 3 5 6 8 10 11 13 15 -2 3 5 6 8 10 11 14 15 -2 3 5 6 8 10 12 13 14 -2 3 5 6 8 10 12 13 15 -2 3 5 6 8 10 12 14 15 -2 3 5 6 8 10 13 14 15 -2 3 5 6 8 11 12 13 14 -2 3 5 6 8 11 12 13 15 -2 3 5 6 8 11 12 14 15 -2 3 5 6 8 11 13 14 15 -2 3 5 6 8 12 13 14 15 -2 3 5 6 9 10 11 12 13 -2 3 5 6 9 10 11 12 14 -2 3 5 6 9 10 11 12 15 -2 3 5 6 9 10 11 13 14 -2 3 5 6 9 10 11 13 15 -2 3 5 6 9 10 11 14 15 -2 3 5 6 9 10 12 13 14 -2 3 5 6 9 10 12 13 15 -2 3 5 6 9 10 12 14 15 -2 3 5 6 9 10 13 14 15 -2 3 5 6 9 11 12 13 14 -2 3 5 6 9 11 12 13 15 -2 3 5 6 9 11 12 14 15 -2 3 5 6 9 11 13 14 15 -2 3 5 6 9 12 13 14 15 -2 3 5 6 10 11 12 13 14 -2 3 5 6 10 11 12 13 15 -2 3 5 6 10 11 12 14 15 -2 3 5 6 10 11 13 14 15 -2 3 5 6 10 12 13 14 15 -2 3 5 6 11 12 13 14 15 -2 3 5 7 8 9 10 11 12 -2 3 5 7 8 9 10 11 13 -2 3 5 7 8 9 10 11 14 -2 3 5 7 8 9 10 11 15 -2 3 5 7 8 9 10 12 13 -2 3 5 7 8 9 10 12 14 -2 3 5 7 8 9 10 12 15 -2 3 5 7 8 9 10 13 14 -2 3 5 7 8 9 10 13 15 -2 3 5 7 8 9 10 14 15 -2 3 5 7 8 9 11 12 13 -2 3 5 7 8 9 11 12 14 -2 3 5 7 8 9 11 12 15 -2 3 5 7 8 9 11 13 14 -2 3 5 7 8 9 11 13 15 -2 3 5 7 8 9 11 14 15 -2 3 5 7 8 9 12 13 14 -2 3 5 7 8 9 12 13 15 -2 3 5 7 8 9 12 14 15 -2 3 5 7 8 9 13 14 15 -2 3 5 7 8 10 11 12 13 -2 3 5 7 8 10 11 12 14 -2 3 5 7 8 10 11 12 15 -2 3 5 7 8 10 11 13 14 -2 3 5 7 8 10 11 13 15 -2 3 5 7 8 10 11 14 15 -2 3 5 7 8 10 12 13 14 -2 3 5 7 8 10 12 13 15 -2 3 5 7 8 10 12 14 15 -2 3 5 7 8 10 13 14 15 -2 3 5 7 8 11 12 13 14 -2 3 5 7 8 11 12 13 15 -2 3 5 7 8 11 12 14 15 -2 3 5 7 8 11 13 14 15 -2 3 5 7 8 12 13 14 15 -2 3 5 7 9 10 11 12 13 -2 3 5 7 9 10 11 12 14 -2 3 5 7 9 10 11 12 15 -2 3 5 7 9 10 11 13 14 -2 3 5 7 9 10 11 13 15 -2 3 5 7 9 10 11 14 15 -2 3 5 7 9 10 12 13 14 -2 3 5 7 9 10 12 13 15 -2 3 5 7 9 10 12 14 15 -2 3 5 7 9 10 13 14 15 -2 3 5 7 9 11 12 13 14 -2 3 5 7 9 11 12 13 15 -2 3 5 7 9 11 12 14 15 -2 3 5 7 9 11 13 14 15 -2 3 5 7 9 12 13 14 15 -2 3 5 7 10 11 12 13 14 -2 3 5 7 10 11 12 13 15 -2 3 5 7 10 11 12 14 15 -2 3 5 7 10 11 13 14 15 -2 3 5 7 10 12 13 14 15 -2 3 5 7 11 12 13 14 15 -2 3 5 8 9 10 11 12 13 -2 3 5 8 9 10 11 12 14 -2 3 5 8 9 10 11 12 15 -2 3 5 8 9 10 11 13 14 -2 3 5 8 9 10 11 13 15 -2 3 5 8 9 10 11 14 15 -2 3 5 8 9 10 12 13 14 -2 3 5 8 9 10 12 13 15 -2 3 5 8 9 10 12 14 15 -2 3 5 8 9 10 13 14 15 -2 3 5 8 9 11 12 13 14 -2 3 5 8 9 11 12 13 15 -2 3 5 8 9 11 12 14 15 -2 3 5 8 9 11 13 14 15 -2 3 5 8 9 12 13 14 15 -2 3 5 8 10 11 12 13 14 -2 3 5 8 10 11 12 13 15 -2 3 5 8 10 11 12 14 15 -2 3 5 8 10 11 13 14 15 -2 3 5 8 10 12 13 14 15 -2 3 5 8 11 12 13 14 15 -2 3 5 9 10 11 12 13 14 -2 3 5 9 10 11 12 13 15 -2 3 5 9 10 11 12 14 15 -2 3 5 9 10 11 13 14 15 -2 3 5 9 10 12 13 14 15 -2 3 5 9 11 12 13 14 15 -2 3 5 10 11 12 13 14 15 -2 3 6 7 8 9 10 11 12 -2 3 6 7 8 9 10 11 13 -2 3 6 7 8 9 10 11 14 -2 3 6 7 8 9 10 11 15 -2 3 6 7 8 9 10 12 13 -2 3 6 7 8 9 10 12 14 -2 3 6 7 8 9 10 12 15 -2 3 6 7 8 9 10 13 14 -2 3 6 7 8 9 10 13 15 -2 3 6 7 8 9 10 14 15 -2 3 6 7 8 9 11 12 13 -2 3 6 7 8 9 11 12 14 -2 3 6 7 8 9 11 12 15 -2 3 6 7 8 9 11 13 14 -2 3 6 7 8 9 11 13 15 -2 3 6 7 8 9 11 14 15 -2 3 6 7 8 9 12 13 14 -2 3 6 7 8 9 12 13 15 -2 3 6 7 8 9 12 14 15 -2 3 6 7 8 9 13 14 15 -2 3 6 7 8 10 11 12 13 -2 3 6 7 8 10 11 12 14 -2 3 6 7 8 10 11 12 15 -2 3 6 7 8 10 11 13 14 -2 3 6 7 8 10 11 13 15 -2 3 6 7 8 10 11 14 15 -2 3 6 7 8 10 12 13 14 -2 3 6 7 8 10 12 13 15 -2 3 6 7 8 10 12 14 15 -2 3 6 7 8 10 13 14 15 -2 3 6 7 8 11 12 13 14 -2 3 6 7 8 11 12 13 15 -2 3 6 7 8 11 12 14 15 -2 3 6 7 8 11 13 14 15 -2 3 6 7 8 12 13 14 15 -2 3 6 7 9 10 11 12 13 -2 3 6 7 9 10 11 12 14 -2 3 6 7 9 10 11 12 15 -2 3 6 7 9 10 11 13 14 -2 3 6 7 9 10 11 13 15 -2 3 6 7 9 10 11 14 15 -2 3 6 7 9 10 12 13 14 -2 3 6 7 9 10 12 13 15 -2 3 6 7 9 10 12 14 15 -2 3 6 7 9 10 13 14 15 -2 3 6 7 9 11 12 13 14 -2 3 6 7 9 11 12 13 15 -2 3 6 7 9 11 12 14 15 -2 3 6 7 9 11 13 14 15 -2 3 6 7 9 12 13 14 15 -2 3 6 7 10 11 12 13 14 -2 3 6 7 10 11 12 13 15 -2 3 6 7 10 11 12 14 15 -2 3 6 7 10 11 13 14 15 -2 3 6 7 10 12 13 14 15 -2 3 6 7 11 12 13 14 15 -2 3 6 8 9 10 11 12 13 -2 3 6 8 9 10 11 12 14 -2 3 6 8 9 10 11 12 15 -2 3 6 8 9 10 11 13 14 -2 3 6 8 9 10 11 13 15 -2 3 6 8 9 10 11 14 15 -2 3 6 8 9 10 12 13 14 -2 3 6 8 9 10 12 13 15 -2 3 6 8 9 10 12 14 15 -2 3 6 8 9 10 13 14 15 -2 3 6 8 9 11 12 13 14 -2 3 6 8 9 11 12 13 15 -2 3 6 8 9 11 12 14 15 -2 3 6 8 9 11 13 14 15 -2 3 6 8 9 12 13 14 15 -2 3 6 8 10 11 12 13 14 -2 3 6 8 10 11 12 13 15 -2 3 6 8 10 11 12 14 15 -2 3 6 8 10 11 13 14 15 -2 3 6 8 10 12 13 14 15 -2 3 6 8 11 12 13 14 15 -2 3 6 9 10 11 12 13 14 -2 3 6 9 10 11 12 13 15 -2 3 6 9 10 11 12 14 15 -2 3 6 9 10 11 13 14 15 -2 3 6 9 10 12 13 14 15 -2 3 6 9 11 12 13 14 15 -2 3 6 10 11 12 13 14 15 -2 3 7 8 9 10 11 12 13 -2 3 7 8 9 10 11 12 14 -2 3 7 8 9 10 11 12 15 -2 3 7 8 9 10 11 13 14 -2 3 7 8 9 10 11 13 15 -2 3 7 8 9 10 11 14 15 -2 3 7 8 9 10 12 13 14 -2 3 7 8 9 10 12 13 15 -2 3 7 8 9 10 12 14 15 -2 3 7 8 9 10 13 14 15 -2 3 7 8 9 11 12 13 14 -2 3 7 8 9 11 12 13 15 -2 3 7 8 9 11 12 14 15 -2 3 7 8 9 11 13 14 15 -2 3 7 8 9 12 13 14 15 -2 3 7 8 10 11 12 13 14 -2 3 7 8 10 11 12 13 15 -2 3 7 8 10 11 12 14 15 -2 3 7 8 10 11 13 14 15 -2 3 7 8 10 12 13 14 15 -2 3 7 8 11 12 13 14 15 -2 3 7 9 10 11 12 13 14 -2 3 7 9 10 11 12 13 15 -2 3 7 9 10 11 12 14 15 -2 3 7 9 10 11 13 14 15 -2 3 7 9 10 12 13 14 15 -2 3 7 9 11 12 13 14 15 -2 3 7 10 11 12 13 14 15 -2 3 8 9 10 11 12 13 14 -2 3 8 9 10 11 12 13 15 -2 3 8 9 10 11 12 14 15 -2 3 8 9 10 11 13 14 15 -2 3 8 9 10 12 13 14 15 -2 3 8 9 11 12 13 14 15 -2 3 8 10 11 12 13 14 15 -2 3 9 10 11 12 13 14 15 -2 4 5 6 7 8 9 10 11 -2 4 5 6 7 8 9 10 12 -2 4 5 6 7 8 9 10 13 -2 4 5 6 7 8 9 10 14 -2 4 5 6 7 8 9 10 15 -2 4 5 6 7 8 9 11 12 -2 4 5 6 7 8 9 11 13 -2 4 5 6 7 8 9 11 14 -2 4 5 6 7 8 9 11 15 -2 4 5 6 7 8 9 12 13 -2 4 5 6 7 8 9 12 14 -2 4 5 6 7 8 9 12 15 -2 4 5 6 7 8 9 13 14 -2 4 5 6 7 8 9 13 15 -2 4 5 6 7 8 9 14 15 -2 4 5 6 7 8 10 11 12 -2 4 5 6 7 8 10 11 13 -2 4 5 6 7 8 10 11 14 -2 4 5 6 7 8 10 11 15 -2 4 5 6 7 8 10 12 13 -2 4 5 6 7 8 10 12 14 -2 4 5 6 7 8 10 12 15 -2 4 5 6 7 8 10 13 14 -2 4 5 6 7 8 10 13 15 -2 4 5 6 7 8 10 14 15 -2 4 5 6 7 8 11 12 13 -2 4 5 6 7 8 11 12 14 -2 4 5 6 7 8 11 12 15 -2 4 5 6 7 8 11 13 14 -2 4 5 6 7 8 11 13 15 -2 4 5 6 7 8 11 14 15 -2 4 5 6 7 8 12 13 14 -2 4 5 6 7 8 12 13 15 -2 4 5 6 7 8 12 14 15 -2 4 5 6 7 8 13 14 15 -2 4 5 6 7 9 10 11 12 -2 4 5 6 7 9 10 11 13 -2 4 5 6 7 9 10 11 14 -2 4 5 6 7 9 10 11 15 -2 4 5 6 7 9 10 12 13 -2 4 5 6 7 9 10 12 14 -2 4 5 6 7 9 10 12 15 -2 4 5 6 7 9 10 13 14 -2 4 5 6 7 9 10 13 15 -2 4 5 6 7 9 10 14 15 -2 4 5 6 7 9 11 12 13 -2 4 5 6 7 9 11 12 14 -2 4 5 6 7 9 11 12 15 -2 4 5 6 7 9 11 13 14 -2 4 5 6 7 9 11 13 15 -2 4 5 6 7 9 11 14 15 -2 4 5 6 7 9 12 13 14 -2 4 5 6 7 9 12 13 15 -2 4 5 6 7 9 12 14 15 -2 4 5 6 7 9 13 14 15 -2 4 5 6 7 10 11 12 13 -2 4 5 6 7 10 11 12 14 -2 4 5 6 7 10 11 12 15 -2 4 5 6 7 10 11 13 14 -2 4 5 6 7 10 11 13 15 -2 4 5 6 7 10 11 14 15 -2 4 5 6 7 10 12 13 14 -2 4 5 6 7 10 12 13 15 -2 4 5 6 7 10 12 14 15 -2 4 5 6 7 10 13 14 15 -2 4 5 6 7 11 12 13 14 -2 4 5 6 7 11 12 13 15 -2 4 5 6 7 11 12 14 15 -2 4 5 6 7 11 13 14 15 -2 4 5 6 7 12 13 14 15 -2 4 5 6 8 9 10 11 12 -2 4 5 6 8 9 10 11 13 -2 4 5 6 8 9 10 11 14 -2 4 5 6 8 9 10 11 15 -2 4 5 6 8 9 10 12 13 -2 4 5 6 8 9 10 12 14 -2 4 5 6 8 9 10 12 15 -2 4 5 6 8 9 10 13 14 -2 4 5 6 8 9 10 13 15 -2 4 5 6 8 9 10 14 15 -2 4 5 6 8 9 11 12 13 -2 4 5 6 8 9 11 12 14 -2 4 5 6 8 9 11 12 15 -2 4 5 6 8 9 11 13 14 -2 4 5 6 8 9 11 13 15 -2 4 5 6 8 9 11 14 15 -2 4 5 6 8 9 12 13 14 -2 4 5 6 8 9 12 13 15 -2 4 5 6 8 9 12 14 15 -2 4 5 6 8 9 13 14 15 -2 4 5 6 8 10 11 12 13 -2 4 5 6 8 10 11 12 14 -2 4 5 6 8 10 11 12 15 -2 4 5 6 8 10 11 13 14 -2 4 5 6 8 10 11 13 15 -2 4 5 6 8 10 11 14 15 -2 4 5 6 8 10 12 13 14 -2 4 5 6 8 10 12 13 15 -2 4 5 6 8 10 12 14 15 -2 4 5 6 8 10 13 14 15 -2 4 5 6 8 11 12 13 14 -2 4 5 6 8 11 12 13 15 -2 4 5 6 8 11 12 14 15 -2 4 5 6 8 11 13 14 15 -2 4 5 6 8 12 13 14 15 -2 4 5 6 9 10 11 12 13 -2 4 5 6 9 10 11 12 14 -2 4 5 6 9 10 11 12 15 -2 4 5 6 9 10 11 13 14 -2 4 5 6 9 10 11 13 15 -2 4 5 6 9 10 11 14 15 -2 4 5 6 9 10 12 13 14 -2 4 5 6 9 10 12 13 15 -2 4 5 6 9 10 12 14 15 -2 4 5 6 9 10 13 14 15 -2 4 5 6 9 11 12 13 14 -2 4 5 6 9 11 12 13 15 -2 4 5 6 9 11 12 14 15 -2 4 5 6 9 11 13 14 15 -2 4 5 6 9 12 13 14 15 -2 4 5 6 10 11 12 13 14 -2 4 5 6 10 11 12 13 15 -2 4 5 6 10 11 12 14 15 -2 4 5 6 10 11 13 14 15 -2 4 5 6 10 12 13 14 15 -2 4 5 6 11 12 13 14 15 -2 4 5 7 8 9 10 11 12 -2 4 5 7 8 9 10 11 13 -2 4 5 7 8 9 10 11 14 -2 4 5 7 8 9 10 11 15 -2 4 5 7 8 9 10 12 13 -2 4 5 7 8 9 10 12 14 -2 4 5 7 8 9 10 12 15 -2 4 5 7 8 9 10 13 14 -2 4 5 7 8 9 10 13 15 -2 4 5 7 8 9 10 14 15 -2 4 5 7 8 9 11 12 13 -2 4 5 7 8 9 11 12 14 -2 4 5 7 8 9 11 12 15 -2 4 5 7 8 9 11 13 14 -2 4 5 7 8 9 11 13 15 -2 4 5 7 8 9 11 14 15 -2 4 5 7 8 9 12 13 14 -2 4 5 7 8 9 12 13 15 -2 4 5 7 8 9 12 14 15 -2 4 5 7 8 9 13 14 15 -2 4 5 7 8 10 11 12 13 -2 4 5 7 8 10 11 12 14 -2 4 5 7 8 10 11 12 15 -2 4 5 7 8 10 11 13 14 -2 4 5 7 8 10 11 13 15 -2 4 5 7 8 10 11 14 15 -2 4 5 7 8 10 12 13 14 -2 4 5 7 8 10 12 13 15 -2 4 5 7 8 10 12 14 15 -2 4 5 7 8 10 13 14 15 -2 4 5 7 8 11 12 13 14 -2 4 5 7 8 11 12 13 15 -2 4 5 7 8 11 12 14 15 -2 4 5 7 8 11 13 14 15 -2 4 5 7 8 12 13 14 15 -2 4 5 7 9 10 11 12 13 -2 4 5 7 9 10 11 12 14 -2 4 5 7 9 10 11 12 15 -2 4 5 7 9 10 11 13 14 -2 4 5 7 9 10 11 13 15 -2 4 5 7 9 10 11 14 15 -2 4 5 7 9 10 12 13 14 -2 4 5 7 9 10 12 13 15 -2 4 5 7 9 10 12 14 15 -2 4 5 7 9 10 13 14 15 -2 4 5 7 9 11 12 13 14 -2 4 5 7 9 11 12 13 15 -2 4 5 7 9 11 12 14 15 -2 4 5 7 9 11 13 14 15 -2 4 5 7 9 12 13 14 15 -2 4 5 7 10 11 12 13 14 -2 4 5 7 10 11 12 13 15 -2 4 5 7 10 11 12 14 15 -2 4 5 7 10 11 13 14 15 -2 4 5 7 10 12 13 14 15 -2 4 5 7 11 12 13 14 15 -2 4 5 8 9 10 11 12 13 -2 4 5 8 9 10 11 12 14 -2 4 5 8 9 10 11 12 15 -2 4 5 8 9 10 11 13 14 -2 4 5 8 9 10 11 13 15 -2 4 5 8 9 10 11 14 15 -2 4 5 8 9 10 12 13 14 -2 4 5 8 9 10 12 13 15 -2 4 5 8 9 10 12 14 15 -2 4 5 8 9 10 13 14 15 -2 4 5 8 9 11 12 13 14 -2 4 5 8 9 11 12 13 15 -2 4 5 8 9 11 12 14 15 -2 4 5 8 9 11 13 14 15 -2 4 5 8 9 12 13 14 15 -2 4 5 8 10 11 12 13 14 -2 4 5 8 10 11 12 13 15 -2 4 5 8 10 11 12 14 15 -2 4 5 8 10 11 13 14 15 -2 4 5 8 10 12 13 14 15 -2 4 5 8 11 12 13 14 15 -2 4 5 9 10 11 12 13 14 -2 4 5 9 10 11 12 13 15 -2 4 5 9 10 11 12 14 15 -2 4 5 9 10 11 13 14 15 -2 4 5 9 10 12 13 14 15 -2 4 5 9 11 12 13 14 15 -2 4 5 10 11 12 13 14 15 -2 4 6 7 8 9 10 11 12 -2 4 6 7 8 9 10 11 13 -2 4 6 7 8 9 10 11 14 -2 4 6 7 8 9 10 11 15 -2 4 6 7 8 9 10 12 13 -2 4 6 7 8 9 10 12 14 -2 4 6 7 8 9 10 12 15 -2 4 6 7 8 9 10 13 14 -2 4 6 7 8 9 10 13 15 -2 4 6 7 8 9 10 14 15 -2 4 6 7 8 9 11 12 13 -2 4 6 7 8 9 11 12 14 -2 4 6 7 8 9 11 12 15 -2 4 6 7 8 9 11 13 14 -2 4 6 7 8 9 11 13 15 -2 4 6 7 8 9 11 14 15 -2 4 6 7 8 9 12 13 14 -2 4 6 7 8 9 12 13 15 -2 4 6 7 8 9 12 14 15 -2 4 6 7 8 9 13 14 15 -2 4 6 7 8 10 11 12 13 -2 4 6 7 8 10 11 12 14 -2 4 6 7 8 10 11 12 15 -2 4 6 7 8 10 11 13 14 -2 4 6 7 8 10 11 13 15 -2 4 6 7 8 10 11 14 15 -2 4 6 7 8 10 12 13 14 -2 4 6 7 8 10 12 13 15 -2 4 6 7 8 10 12 14 15 -2 4 6 7 8 10 13 14 15 -2 4 6 7 8 11 12 13 14 -2 4 6 7 8 11 12 13 15 -2 4 6 7 8 11 12 14 15 -2 4 6 7 8 11 13 14 15 -2 4 6 7 8 12 13 14 15 -2 4 6 7 9 10 11 12 13 -2 4 6 7 9 10 11 12 14 -2 4 6 7 9 10 11 12 15 -2 4 6 7 9 10 11 13 14 -2 4 6 7 9 10 11 13 15 -2 4 6 7 9 10 11 14 15 -2 4 6 7 9 10 12 13 14 -2 4 6 7 9 10 12 13 15 -2 4 6 7 9 10 12 14 15 -2 4 6 7 9 10 13 14 15 -2 4 6 7 9 11 12 13 14 -2 4 6 7 9 11 12 13 15 -2 4 6 7 9 11 12 14 15 -2 4 6 7 9 11 13 14 15 -2 4 6 7 9 12 13 14 15 -2 4 6 7 10 11 12 13 14 -2 4 6 7 10 11 12 13 15 -2 4 6 7 10 11 12 14 15 -2 4 6 7 10 11 13 14 15 -2 4 6 7 10 12 13 14 15 -2 4 6 7 11 12 13 14 15 -2 4 6 8 9 10 11 12 13 -2 4 6 8 9 10 11 12 14 -2 4 6 8 9 10 11 12 15 -2 4 6 8 9 10 11 13 14 -2 4 6 8 9 10 11 13 15 -2 4 6 8 9 10 11 14 15 -2 4 6 8 9 10 12 13 14 -2 4 6 8 9 10 12 13 15 -2 4 6 8 9 10 12 14 15 -2 4 6 8 9 10 13 14 15 -2 4 6 8 9 11 12 13 14 -2 4 6 8 9 11 12 13 15 -2 4 6 8 9 11 12 14 15 -2 4 6 8 9 11 13 14 15 -2 4 6 8 9 12 13 14 15 -2 4 6 8 10 11 12 13 14 -2 4 6 8 10 11 12 13 15 -2 4 6 8 10 11 12 14 15 -2 4 6 8 10 11 13 14 15 -2 4 6 8 10 12 13 14 15 -2 4 6 8 11 12 13 14 15 -2 4 6 9 10 11 12 13 14 -2 4 6 9 10 11 12 13 15 -2 4 6 9 10 11 12 14 15 -2 4 6 9 10 11 13 14 15 -2 4 6 9 10 12 13 14 15 -2 4 6 9 11 12 13 14 15 -2 4 6 10 11 12 13 14 15 -2 4 7 8 9 10 11 12 13 -2 4 7 8 9 10 11 12 14 -2 4 7 8 9 10 11 12 15 -2 4 7 8 9 10 11 13 14 -2 4 7 8 9 10 11 13 15 -2 4 7 8 9 10 11 14 15 -2 4 7 8 9 10 12 13 14 -2 4 7 8 9 10 12 13 15 -2 4 7 8 9 10 12 14 15 -2 4 7 8 9 10 13 14 15 -2 4 7 8 9 11 12 13 14 -2 4 7 8 9 11 12 13 15 -2 4 7 8 9 11 12 14 15 -2 4 7 8 9 11 13 14 15 -2 4 7 8 9 12 13 14 15 -2 4 7 8 10 11 12 13 14 -2 4 7 8 10 11 12 13 15 -2 4 7 8 10 11 12 14 15 -2 4 7 8 10 11 13 14 15 -2 4 7 8 10 12 13 14 15 -2 4 7 8 11 12 13 14 15 -2 4 7 9 10 11 12 13 14 -2 4 7 9 10 11 12 13 15 -2 4 7 9 10 11 12 14 15 -2 4 7 9 10 11 13 14 15 -2 4 7 9 10 12 13 14 15 -2 4 7 9 11 12 13 14 15 -2 4 7 10 11 12 13 14 15 -2 4 8 9 10 11 12 13 14 -2 4 8 9 10 11 12 13 15 -2 4 8 9 10 11 12 14 15 -2 4 8 9 10 11 13 14 15 -2 4 8 9 10 12 13 14 15 -2 4 8 9 11 12 13 14 15 -2 4 8 10 11 12 13 14 15 -2 4 9 10 11 12 13 14 15 -2 5 6 7 8 9 10 11 12 -2 5 6 7 8 9 10 11 13 -2 5 6 7 8 9 10 11 14 -2 5 6 7 8 9 10 11 15 -2 5 6 7 8 9 10 12 13 -2 5 6 7 8 9 10 12 14 -2 5 6 7 8 9 10 12 15 -2 5 6 7 8 9 10 13 14 -2 5 6 7 8 9 10 13 15 -2 5 6 7 8 9 10 14 15 -2 5 6 7 8 9 11 12 13 -2 5 6 7 8 9 11 12 14 -2 5 6 7 8 9 11 12 15 -2 5 6 7 8 9 11 13 14 -2 5 6 7 8 9 11 13 15 -2 5 6 7 8 9 11 14 15 -2 5 6 7 8 9 12 13 14 -2 5 6 7 8 9 12 13 15 -2 5 6 7 8 9 12 14 15 -2 5 6 7 8 9 13 14 15 -2 5 6 7 8 10 11 12 13 -2 5 6 7 8 10 11 12 14 -2 5 6 7 8 10 11 12 15 -2 5 6 7 8 10 11 13 14 -2 5 6 7 8 10 11 13 15 -2 5 6 7 8 10 11 14 15 -2 5 6 7 8 10 12 13 14 -2 5 6 7 8 10 12 13 15 -2 5 6 7 8 10 12 14 15 -2 5 6 7 8 10 13 14 15 -2 5 6 7 8 11 12 13 14 -2 5 6 7 8 11 12 13 15 -2 5 6 7 8 11 12 14 15 -2 5 6 7 8 11 13 14 15 -2 5 6 7 8 12 13 14 15 -2 5 6 7 9 10 11 12 13 -2 5 6 7 9 10 11 12 14 -2 5 6 7 9 10 11 12 15 -2 5 6 7 9 10 11 13 14 -2 5 6 7 9 10 11 13 15 -2 5 6 7 9 10 11 14 15 -2 5 6 7 9 10 12 13 14 -2 5 6 7 9 10 12 13 15 -2 5 6 7 9 10 12 14 15 -2 5 6 7 9 10 13 14 15 -2 5 6 7 9 11 12 13 14 -2 5 6 7 9 11 12 13 15 -2 5 6 7 9 11 12 14 15 -2 5 6 7 9 11 13 14 15 -2 5 6 7 9 12 13 14 15 -2 5 6 7 10 11 12 13 14 -2 5 6 7 10 11 12 13 15 -2 5 6 7 10 11 12 14 15 -2 5 6 7 10 11 13 14 15 -2 5 6 7 10 12 13 14 15 -2 5 6 7 11 12 13 14 15 -2 5 6 8 9 10 11 12 13 -2 5 6 8 9 10 11 12 14 -2 5 6 8 9 10 11 12 15 -2 5 6 8 9 10 11 13 14 -2 5 6 8 9 10 11 13 15 -2 5 6 8 9 10 11 14 15 -2 5 6 8 9 10 12 13 14 -2 5 6 8 9 10 12 13 15 -2 5 6 8 9 10 12 14 15 -2 5 6 8 9 10 13 14 15 -2 5 6 8 9 11 12 13 14 -2 5 6 8 9 11 12 13 15 -2 5 6 8 9 11 12 14 15 -2 5 6 8 9 11 13 14 15 -2 5 6 8 9 12 13 14 15 -2 5 6 8 10 11 12 13 14 -2 5 6 8 10 11 12 13 15 -2 5 6 8 10 11 12 14 15 -2 5 6 8 10 11 13 14 15 -2 5 6 8 10 12 13 14 15 -2 5 6 8 11 12 13 14 15 -2 5 6 9 10 11 12 13 14 -2 5 6 9 10 11 12 13 15 -2 5 6 9 10 11 12 14 15 -2 5 6 9 10 11 13 14 15 -2 5 6 9 10 12 13 14 15 -2 5 6 9 11 12 13 14 15 -2 5 6 10 11 12 13 14 15 -2 5 7 8 9 10 11 12 13 -2 5 7 8 9 10 11 12 14 -2 5 7 8 9 10 11 12 15 -2 5 7 8 9 10 11 13 14 -2 5 7 8 9 10 11 13 15 -2 5 7 8 9 10 11 14 15 -2 5 7 8 9 10 12 13 14 -2 5 7 8 9 10 12 13 15 -2 5 7 8 9 10 12 14 15 -2 5 7 8 9 10 13 14 15 -2 5 7 8 9 11 12 13 14 -2 5 7 8 9 11 12 13 15 -2 5 7 8 9 11 12 14 15 -2 5 7 8 9 11 13 14 15 -2 5 7 8 9 12 13 14 15 -2 5 7 8 10 11 12 13 14 -2 5 7 8 10 11 12 13 15 -2 5 7 8 10 11 12 14 15 -2 5 7 8 10 11 13 14 15 -2 5 7 8 10 12 13 14 15 -2 5 7 8 11 12 13 14 15 -2 5 7 9 10 11 12 13 14 -2 5 7 9 10 11 12 13 15 -2 5 7 9 10 11 12 14 15 -2 5 7 9 10 11 13 14 15 -2 5 7 9 10 12 13 14 15 -2 5 7 9 11 12 13 14 15 -2 5 7 10 11 12 13 14 15 -2 5 8 9 10 11 12 13 14 -2 5 8 9 10 11 12 13 15 -2 5 8 9 10 11 12 14 15 -2 5 8 9 10 11 13 14 15 -2 5 8 9 10 12 13 14 15 -2 5 8 9 11 12 13 14 15 -2 5 8 10 11 12 13 14 15 -2 5 9 10 11 12 13 14 15 -2 6 7 8 9 10 11 12 13 -2 6 7 8 9 10 11 12 14 -2 6 7 8 9 10 11 12 15 -2 6 7 8 9 10 11 13 14 -2 6 7 8 9 10 11 13 15 -2 6 7 8 9 10 11 14 15 -2 6 7 8 9 10 12 13 14 -2 6 7 8 9 10 12 13 15 -2 6 7 8 9 10 12 14 15 -2 6 7 8 9 10 13 14 15 -2 6 7 8 9 11 12 13 14 -2 6 7 8 9 11 12 13 15 -2 6 7 8 9 11 12 14 15 -2 6 7 8 9 11 13 14 15 -2 6 7 8 9 12 13 14 15 -2 6 7 8 10 11 12 13 14 -2 6 7 8 10 11 12 13 15 -2 6 7 8 10 11 12 14 15 -2 6 7 8 10 11 13 14 15 -2 6 7 8 10 12 13 14 15 -2 6 7 8 11 12 13 14 15 -2 6 7 9 10 11 12 13 14 -2 6 7 9 10 11 12 13 15 -2 6 7 9 10 11 12 14 15 -2 6 7 9 10 11 13 14 15 -2 6 7 9 10 12 13 14 15 -2 6 7 9 11 12 13 14 15 -2 6 7 10 11 12 13 14 15 -2 6 8 9 10 11 12 13 14 -2 6 8 9 10 11 12 13 15 -2 6 8 9 10 11 12 14 15 -2 6 8 9 10 11 13 14 15 -2 6 8 9 10 12 13 14 15 -2 6 8 9 11 12 13 14 15 -2 6 8 10 11 12 13 14 15 -2 6 9 10 11 12 13 14 15 -2 7 8 9 10 11 12 13 14 -2 7 8 9 10 11 12 13 15 -2 7 8 9 10 11 12 14 15 -2 7 8 9 10 11 13 14 15 -2 7 8 9 10 12 13 14 15 -2 7 8 9 11 12 13 14 15 -2 7 8 10 11 12 13 14 15 -2 7 9 10 11 12 13 14 15 -2 8 9 10 11 12 13 14 15 -3 4 5 6 7 8 9 10 11 -3 4 5 6 7 8 9 10 12 -3 4 5 6 7 8 9 10 13 -3 4 5 6 7 8 9 10 14 -3 4 5 6 7 8 9 10 15 -3 4 5 6 7 8 9 11 12 -3 4 5 6 7 8 9 11 13 -3 4 5 6 7 8 9 11 14 -3 4 5 6 7 8 9 11 15 -3 4 5 6 7 8 9 12 13 -3 4 5 6 7 8 9 12 14 -3 4 5 6 7 8 9 12 15 -3 4 5 6 7 8 9 13 14 -3 4 5 6 7 8 9 13 15 -3 4 5 6 7 8 9 14 15 -3 4 5 6 7 8 10 11 12 -3 4 5 6 7 8 10 11 13 -3 4 5 6 7 8 10 11 14 -3 4 5 6 7 8 10 11 15 -3 4 5 6 7 8 10 12 13 -3 4 5 6 7 8 10 12 14 -3 4 5 6 7 8 10 12 15 -3 4 5 6 7 8 10 13 14 -3 4 5 6 7 8 10 13 15 -3 4 5 6 7 8 10 14 15 -3 4 5 6 7 8 11 12 13 -3 4 5 6 7 8 11 12 14 -3 4 5 6 7 8 11 12 15 -3 4 5 6 7 8 11 13 14 -3 4 5 6 7 8 11 13 15 -3 4 5 6 7 8 11 14 15 -3 4 5 6 7 8 12 13 14 -3 4 5 6 7 8 12 13 15 -3 4 5 6 7 8 12 14 15 -3 4 5 6 7 8 13 14 15 -3 4 5 6 7 9 10 11 12 -3 4 5 6 7 9 10 11 13 -3 4 5 6 7 9 10 11 14 -3 4 5 6 7 9 10 11 15 -3 4 5 6 7 9 10 12 13 -3 4 5 6 7 9 10 12 14 -3 4 5 6 7 9 10 12 15 -3 4 5 6 7 9 10 13 14 -3 4 5 6 7 9 10 13 15 -3 4 5 6 7 9 10 14 15 -3 4 5 6 7 9 11 12 13 -3 4 5 6 7 9 11 12 14 -3 4 5 6 7 9 11 12 15 -3 4 5 6 7 9 11 13 14 -3 4 5 6 7 9 11 13 15 -3 4 5 6 7 9 11 14 15 -3 4 5 6 7 9 12 13 14 -3 4 5 6 7 9 12 13 15 -3 4 5 6 7 9 12 14 15 -3 4 5 6 7 9 13 14 15 -3 4 5 6 7 10 11 12 13 -3 4 5 6 7 10 11 12 14 -3 4 5 6 7 10 11 12 15 -3 4 5 6 7 10 11 13 14 -3 4 5 6 7 10 11 13 15 -3 4 5 6 7 10 11 14 15 -3 4 5 6 7 10 12 13 14 -3 4 5 6 7 10 12 13 15 -3 4 5 6 7 10 12 14 15 -3 4 5 6 7 10 13 14 15 -3 4 5 6 7 11 12 13 14 -3 4 5 6 7 11 12 13 15 -3 4 5 6 7 11 12 14 15 -3 4 5 6 7 11 13 14 15 -3 4 5 6 7 12 13 14 15 -3 4 5 6 8 9 10 11 12 -3 4 5 6 8 9 10 11 13 -3 4 5 6 8 9 10 11 14 -3 4 5 6 8 9 10 11 15 -3 4 5 6 8 9 10 12 13 -3 4 5 6 8 9 10 12 14 -3 4 5 6 8 9 10 12 15 -3 4 5 6 8 9 10 13 14 -3 4 5 6 8 9 10 13 15 -3 4 5 6 8 9 10 14 15 -3 4 5 6 8 9 11 12 13 -3 4 5 6 8 9 11 12 14 -3 4 5 6 8 9 11 12 15 -3 4 5 6 8 9 11 13 14 -3 4 5 6 8 9 11 13 15 -3 4 5 6 8 9 11 14 15 -3 4 5 6 8 9 12 13 14 -3 4 5 6 8 9 12 13 15 -3 4 5 6 8 9 12 14 15 -3 4 5 6 8 9 13 14 15 -3 4 5 6 8 10 11 12 13 -3 4 5 6 8 10 11 12 14 -3 4 5 6 8 10 11 12 15 -3 4 5 6 8 10 11 13 14 -3 4 5 6 8 10 11 13 15 -3 4 5 6 8 10 11 14 15 -3 4 5 6 8 10 12 13 14 -3 4 5 6 8 10 12 13 15 -3 4 5 6 8 10 12 14 15 -3 4 5 6 8 10 13 14 15 -3 4 5 6 8 11 12 13 14 -3 4 5 6 8 11 12 13 15 -3 4 5 6 8 11 12 14 15 -3 4 5 6 8 11 13 14 15 -3 4 5 6 8 12 13 14 15 -3 4 5 6 9 10 11 12 13 -3 4 5 6 9 10 11 12 14 -3 4 5 6 9 10 11 12 15 -3 4 5 6 9 10 11 13 14 -3 4 5 6 9 10 11 13 15 -3 4 5 6 9 10 11 14 15 -3 4 5 6 9 10 12 13 14 -3 4 5 6 9 10 12 13 15 -3 4 5 6 9 10 12 14 15 -3 4 5 6 9 10 13 14 15 -3 4 5 6 9 11 12 13 14 -3 4 5 6 9 11 12 13 15 -3 4 5 6 9 11 12 14 15 -3 4 5 6 9 11 13 14 15 -3 4 5 6 9 12 13 14 15 -3 4 5 6 10 11 12 13 14 -3 4 5 6 10 11 12 13 15 -3 4 5 6 10 11 12 14 15 -3 4 5 6 10 11 13 14 15 -3 4 5 6 10 12 13 14 15 -3 4 5 6 11 12 13 14 15 -3 4 5 7 8 9 10 11 12 -3 4 5 7 8 9 10 11 13 -3 4 5 7 8 9 10 11 14 -3 4 5 7 8 9 10 11 15 -3 4 5 7 8 9 10 12 13 -3 4 5 7 8 9 10 12 14 -3 4 5 7 8 9 10 12 15 -3 4 5 7 8 9 10 13 14 -3 4 5 7 8 9 10 13 15 -3 4 5 7 8 9 10 14 15 -3 4 5 7 8 9 11 12 13 -3 4 5 7 8 9 11 12 14 -3 4 5 7 8 9 11 12 15 -3 4 5 7 8 9 11 13 14 -3 4 5 7 8 9 11 13 15 -3 4 5 7 8 9 11 14 15 -3 4 5 7 8 9 12 13 14 -3 4 5 7 8 9 12 13 15 -3 4 5 7 8 9 12 14 15 -3 4 5 7 8 9 13 14 15 -3 4 5 7 8 10 11 12 13 -3 4 5 7 8 10 11 12 14 -3 4 5 7 8 10 11 12 15 -3 4 5 7 8 10 11 13 14 -3 4 5 7 8 10 11 13 15 -3 4 5 7 8 10 11 14 15 -3 4 5 7 8 10 12 13 14 -3 4 5 7 8 10 12 13 15 -3 4 5 7 8 10 12 14 15 -3 4 5 7 8 10 13 14 15 -3 4 5 7 8 11 12 13 14 -3 4 5 7 8 11 12 13 15 -3 4 5 7 8 11 12 14 15 -3 4 5 7 8 11 13 14 15 -3 4 5 7 8 12 13 14 15 -3 4 5 7 9 10 11 12 13 -3 4 5 7 9 10 11 12 14 -3 4 5 7 9 10 11 12 15 -3 4 5 7 9 10 11 13 14 -3 4 5 7 9 10 11 13 15 -3 4 5 7 9 10 11 14 15 -3 4 5 7 9 10 12 13 14 -3 4 5 7 9 10 12 13 15 -3 4 5 7 9 10 12 14 15 -3 4 5 7 9 10 13 14 15 -3 4 5 7 9 11 12 13 14 -3 4 5 7 9 11 12 13 15 -3 4 5 7 9 11 12 14 15 -3 4 5 7 9 11 13 14 15 -3 4 5 7 9 12 13 14 15 -3 4 5 7 10 11 12 13 14 -3 4 5 7 10 11 12 13 15 -3 4 5 7 10 11 12 14 15 -3 4 5 7 10 11 13 14 15 -3 4 5 7 10 12 13 14 15 -3 4 5 7 11 12 13 14 15 -3 4 5 8 9 10 11 12 13 -3 4 5 8 9 10 11 12 14 -3 4 5 8 9 10 11 12 15 -3 4 5 8 9 10 11 13 14 -3 4 5 8 9 10 11 13 15 -3 4 5 8 9 10 11 14 15 -3 4 5 8 9 10 12 13 14 -3 4 5 8 9 10 12 13 15 -3 4 5 8 9 10 12 14 15 -3 4 5 8 9 10 13 14 15 -3 4 5 8 9 11 12 13 14 -3 4 5 8 9 11 12 13 15 -3 4 5 8 9 11 12 14 15 -3 4 5 8 9 11 13 14 15 -3 4 5 8 9 12 13 14 15 -3 4 5 8 10 11 12 13 14 -3 4 5 8 10 11 12 13 15 -3 4 5 8 10 11 12 14 15 -3 4 5 8 10 11 13 14 15 -3 4 5 8 10 12 13 14 15 -3 4 5 8 11 12 13 14 15 -3 4 5 9 10 11 12 13 14 -3 4 5 9 10 11 12 13 15 -3 4 5 9 10 11 12 14 15 -3 4 5 9 10 11 13 14 15 -3 4 5 9 10 12 13 14 15 -3 4 5 9 11 12 13 14 15 -3 4 5 10 11 12 13 14 15 -3 4 6 7 8 9 10 11 12 -3 4 6 7 8 9 10 11 13 -3 4 6 7 8 9 10 11 14 -3 4 6 7 8 9 10 11 15 -3 4 6 7 8 9 10 12 13 -3 4 6 7 8 9 10 12 14 -3 4 6 7 8 9 10 12 15 -3 4 6 7 8 9 10 13 14 -3 4 6 7 8 9 10 13 15 -3 4 6 7 8 9 10 14 15 -3 4 6 7 8 9 11 12 13 -3 4 6 7 8 9 11 12 14 -3 4 6 7 8 9 11 12 15 -3 4 6 7 8 9 11 13 14 -3 4 6 7 8 9 11 13 15 -3 4 6 7 8 9 11 14 15 -3 4 6 7 8 9 12 13 14 -3 4 6 7 8 9 12 13 15 -3 4 6 7 8 9 12 14 15 -3 4 6 7 8 9 13 14 15 -3 4 6 7 8 10 11 12 13 -3 4 6 7 8 10 11 12 14 -3 4 6 7 8 10 11 12 15 -3 4 6 7 8 10 11 13 14 -3 4 6 7 8 10 11 13 15 -3 4 6 7 8 10 11 14 15 -3 4 6 7 8 10 12 13 14 -3 4 6 7 8 10 12 13 15 -3 4 6 7 8 10 12 14 15 -3 4 6 7 8 10 13 14 15 -3 4 6 7 8 11 12 13 14 -3 4 6 7 8 11 12 13 15 -3 4 6 7 8 11 12 14 15 -3 4 6 7 8 11 13 14 15 -3 4 6 7 8 12 13 14 15 -3 4 6 7 9 10 11 12 13 -3 4 6 7 9 10 11 12 14 -3 4 6 7 9 10 11 12 15 -3 4 6 7 9 10 11 13 14 -3 4 6 7 9 10 11 13 15 -3 4 6 7 9 10 11 14 15 -3 4 6 7 9 10 12 13 14 -3 4 6 7 9 10 12 13 15 -3 4 6 7 9 10 12 14 15 -3 4 6 7 9 10 13 14 15 -3 4 6 7 9 11 12 13 14 -3 4 6 7 9 11 12 13 15 -3 4 6 7 9 11 12 14 15 -3 4 6 7 9 11 13 14 15 -3 4 6 7 9 12 13 14 15 -3 4 6 7 10 11 12 13 14 -3 4 6 7 10 11 12 13 15 -3 4 6 7 10 11 12 14 15 -3 4 6 7 10 11 13 14 15 -3 4 6 7 10 12 13 14 15 -3 4 6 7 11 12 13 14 15 -3 4 6 8 9 10 11 12 13 -3 4 6 8 9 10 11 12 14 -3 4 6 8 9 10 11 12 15 -3 4 6 8 9 10 11 13 14 -3 4 6 8 9 10 11 13 15 -3 4 6 8 9 10 11 14 15 -3 4 6 8 9 10 12 13 14 -3 4 6 8 9 10 12 13 15 -3 4 6 8 9 10 12 14 15 -3 4 6 8 9 10 13 14 15 -3 4 6 8 9 11 12 13 14 -3 4 6 8 9 11 12 13 15 -3 4 6 8 9 11 12 14 15 -3 4 6 8 9 11 13 14 15 -3 4 6 8 9 12 13 14 15 -3 4 6 8 10 11 12 13 14 -3 4 6 8 10 11 12 13 15 -3 4 6 8 10 11 12 14 15 -3 4 6 8 10 11 13 14 15 -3 4 6 8 10 12 13 14 15 -3 4 6 8 11 12 13 14 15 -3 4 6 9 10 11 12 13 14 -3 4 6 9 10 11 12 13 15 -3 4 6 9 10 11 12 14 15 -3 4 6 9 10 11 13 14 15 -3 4 6 9 10 12 13 14 15 -3 4 6 9 11 12 13 14 15 -3 4 6 10 11 12 13 14 15 -3 4 7 8 9 10 11 12 13 -3 4 7 8 9 10 11 12 14 -3 4 7 8 9 10 11 12 15 -3 4 7 8 9 10 11 13 14 -3 4 7 8 9 10 11 13 15 -3 4 7 8 9 10 11 14 15 -3 4 7 8 9 10 12 13 14 -3 4 7 8 9 10 12 13 15 -3 4 7 8 9 10 12 14 15 -3 4 7 8 9 10 13 14 15 -3 4 7 8 9 11 12 13 14 -3 4 7 8 9 11 12 13 15 -3 4 7 8 9 11 12 14 15 -3 4 7 8 9 11 13 14 15 -3 4 7 8 9 12 13 14 15 -3 4 7 8 10 11 12 13 14 -3 4 7 8 10 11 12 13 15 -3 4 7 8 10 11 12 14 15 -3 4 7 8 10 11 13 14 15 -3 4 7 8 10 12 13 14 15 -3 4 7 8 11 12 13 14 15 -3 4 7 9 10 11 12 13 14 -3 4 7 9 10 11 12 13 15 -3 4 7 9 10 11 12 14 15 -3 4 7 9 10 11 13 14 15 -3 4 7 9 10 12 13 14 15 -3 4 7 9 11 12 13 14 15 -3 4 7 10 11 12 13 14 15 -3 4 8 9 10 11 12 13 14 -3 4 8 9 10 11 12 13 15 -3 4 8 9 10 11 12 14 15 -3 4 8 9 10 11 13 14 15 -3 4 8 9 10 12 13 14 15 -3 4 8 9 11 12 13 14 15 -3 4 8 10 11 12 13 14 15 -3 4 9 10 11 12 13 14 15 -3 5 6 7 8 9 10 11 12 -3 5 6 7 8 9 10 11 13 -3 5 6 7 8 9 10 11 14 -3 5 6 7 8 9 10 11 15 -3 5 6 7 8 9 10 12 13 -3 5 6 7 8 9 10 12 14 -3 5 6 7 8 9 10 12 15 -3 5 6 7 8 9 10 13 14 -3 5 6 7 8 9 10 13 15 -3 5 6 7 8 9 10 14 15 -3 5 6 7 8 9 11 12 13 -3 5 6 7 8 9 11 12 14 -3 5 6 7 8 9 11 12 15 -3 5 6 7 8 9 11 13 14 -3 5 6 7 8 9 11 13 15 -3 5 6 7 8 9 11 14 15 -3 5 6 7 8 9 12 13 14 -3 5 6 7 8 9 12 13 15 -3 5 6 7 8 9 12 14 15 -3 5 6 7 8 9 13 14 15 -3 5 6 7 8 10 11 12 13 -3 5 6 7 8 10 11 12 14 -3 5 6 7 8 10 11 12 15 -3 5 6 7 8 10 11 13 14 -3 5 6 7 8 10 11 13 15 -3 5 6 7 8 10 11 14 15 -3 5 6 7 8 10 12 13 14 -3 5 6 7 8 10 12 13 15 -3 5 6 7 8 10 12 14 15 -3 5 6 7 8 10 13 14 15 -3 5 6 7 8 11 12 13 14 -3 5 6 7 8 11 12 13 15 -3 5 6 7 8 11 12 14 15 -3 5 6 7 8 11 13 14 15 -3 5 6 7 8 12 13 14 15 -3 5 6 7 9 10 11 12 13 -3 5 6 7 9 10 11 12 14 -3 5 6 7 9 10 11 12 15 -3 5 6 7 9 10 11 13 14 -3 5 6 7 9 10 11 13 15 -3 5 6 7 9 10 11 14 15 -3 5 6 7 9 10 12 13 14 -3 5 6 7 9 10 12 13 15 -3 5 6 7 9 10 12 14 15 -3 5 6 7 9 10 13 14 15 -3 5 6 7 9 11 12 13 14 -3 5 6 7 9 11 12 13 15 -3 5 6 7 9 11 12 14 15 -3 5 6 7 9 11 13 14 15 -3 5 6 7 9 12 13 14 15 -3 5 6 7 10 11 12 13 14 -3 5 6 7 10 11 12 13 15 -3 5 6 7 10 11 12 14 15 -3 5 6 7 10 11 13 14 15 -3 5 6 7 10 12 13 14 15 -3 5 6 7 11 12 13 14 15 -3 5 6 8 9 10 11 12 13 -3 5 6 8 9 10 11 12 14 -3 5 6 8 9 10 11 12 15 -3 5 6 8 9 10 11 13 14 -3 5 6 8 9 10 11 13 15 -3 5 6 8 9 10 11 14 15 -3 5 6 8 9 10 12 13 14 -3 5 6 8 9 10 12 13 15 -3 5 6 8 9 10 12 14 15 -3 5 6 8 9 10 13 14 15 -3 5 6 8 9 11 12 13 14 -3 5 6 8 9 11 12 13 15 -3 5 6 8 9 11 12 14 15 -3 5 6 8 9 11 13 14 15 -3 5 6 8 9 12 13 14 15 -3 5 6 8 10 11 12 13 14 -3 5 6 8 10 11 12 13 15 -3 5 6 8 10 11 12 14 15 -3 5 6 8 10 11 13 14 15 -3 5 6 8 10 12 13 14 15 -3 5 6 8 11 12 13 14 15 -3 5 6 9 10 11 12 13 14 -3 5 6 9 10 11 12 13 15 -3 5 6 9 10 11 12 14 15 -3 5 6 9 10 11 13 14 15 -3 5 6 9 10 12 13 14 15 -3 5 6 9 11 12 13 14 15 -3 5 6 10 11 12 13 14 15 -3 5 7 8 9 10 11 12 13 -3 5 7 8 9 10 11 12 14 -3 5 7 8 9 10 11 12 15 -3 5 7 8 9 10 11 13 14 -3 5 7 8 9 10 11 13 15 -3 5 7 8 9 10 11 14 15 -3 5 7 8 9 10 12 13 14 -3 5 7 8 9 10 12 13 15 -3 5 7 8 9 10 12 14 15 -3 5 7 8 9 10 13 14 15 -3 5 7 8 9 11 12 13 14 -3 5 7 8 9 11 12 13 15 -3 5 7 8 9 11 12 14 15 -3 5 7 8 9 11 13 14 15 -3 5 7 8 9 12 13 14 15 -3 5 7 8 10 11 12 13 14 -3 5 7 8 10 11 12 13 15 -3 5 7 8 10 11 12 14 15 -3 5 7 8 10 11 13 14 15 -3 5 7 8 10 12 13 14 15 -3 5 7 8 11 12 13 14 15 -3 5 7 9 10 11 12 13 14 -3 5 7 9 10 11 12 13 15 -3 5 7 9 10 11 12 14 15 -3 5 7 9 10 11 13 14 15 -3 5 7 9 10 12 13 14 15 -3 5 7 9 11 12 13 14 15 -3 5 7 10 11 12 13 14 15 -3 5 8 9 10 11 12 13 14 -3 5 8 9 10 11 12 13 15 -3 5 8 9 10 11 12 14 15 -3 5 8 9 10 11 13 14 15 -3 5 8 9 10 12 13 14 15 -3 5 8 9 11 12 13 14 15 -3 5 8 10 11 12 13 14 15 -3 5 9 10 11 12 13 14 15 -3 6 7 8 9 10 11 12 13 -3 6 7 8 9 10 11 12 14 -3 6 7 8 9 10 11 12 15 -3 6 7 8 9 10 11 13 14 -3 6 7 8 9 10 11 13 15 -3 6 7 8 9 10 11 14 15 -3 6 7 8 9 10 12 13 14 -3 6 7 8 9 10 12 13 15 -3 6 7 8 9 10 12 14 15 -3 6 7 8 9 10 13 14 15 -3 6 7 8 9 11 12 13 14 -3 6 7 8 9 11 12 13 15 -3 6 7 8 9 11 12 14 15 -3 6 7 8 9 11 13 14 15 -3 6 7 8 9 12 13 14 15 -3 6 7 8 10 11 12 13 14 -3 6 7 8 10 11 12 13 15 -3 6 7 8 10 11 12 14 15 -3 6 7 8 10 11 13 14 15 -3 6 7 8 10 12 13 14 15 -3 6 7 8 11 12 13 14 15 -3 6 7 9 10 11 12 13 14 -3 6 7 9 10 11 12 13 15 -3 6 7 9 10 11 12 14 15 -3 6 7 9 10 11 13 14 15 -3 6 7 9 10 12 13 14 15 -3 6 7 9 11 12 13 14 15 -3 6 7 10 11 12 13 14 15 -3 6 8 9 10 11 12 13 14 -3 6 8 9 10 11 12 13 15 -3 6 8 9 10 11 12 14 15 -3 6 8 9 10 11 13 14 15 -3 6 8 9 10 12 13 14 15 -3 6 8 9 11 12 13 14 15 -3 6 8 10 11 12 13 14 15 -3 6 9 10 11 12 13 14 15 -3 7 8 9 10 11 12 13 14 -3 7 8 9 10 11 12 13 15 -3 7 8 9 10 11 12 14 15 -3 7 8 9 10 11 13 14 15 -3 7 8 9 10 12 13 14 15 -3 7 8 9 11 12 13 14 15 -3 7 8 10 11 12 13 14 15 -3 7 9 10 11 12 13 14 15 -3 8 9 10 11 12 13 14 15 -4 5 6 7 8 9 10 11 12 -4 5 6 7 8 9 10 11 13 -4 5 6 7 8 9 10 11 14 -4 5 6 7 8 9 10 11 15 -4 5 6 7 8 9 10 12 13 -4 5 6 7 8 9 10 12 14 -4 5 6 7 8 9 10 12 15 -4 5 6 7 8 9 10 13 14 -4 5 6 7 8 9 10 13 15 -4 5 6 7 8 9 10 14 15 -4 5 6 7 8 9 11 12 13 -4 5 6 7 8 9 11 12 14 -4 5 6 7 8 9 11 12 15 -4 5 6 7 8 9 11 13 14 -4 5 6 7 8 9 11 13 15 -4 5 6 7 8 9 11 14 15 -4 5 6 7 8 9 12 13 14 -4 5 6 7 8 9 12 13 15 -4 5 6 7 8 9 12 14 15 -4 5 6 7 8 9 13 14 15 -4 5 6 7 8 10 11 12 13 -4 5 6 7 8 10 11 12 14 -4 5 6 7 8 10 11 12 15 -4 5 6 7 8 10 11 13 14 -4 5 6 7 8 10 11 13 15 -4 5 6 7 8 10 11 14 15 -4 5 6 7 8 10 12 13 14 -4 5 6 7 8 10 12 13 15 -4 5 6 7 8 10 12 14 15 -4 5 6 7 8 10 13 14 15 -4 5 6 7 8 11 12 13 14 -4 5 6 7 8 11 12 13 15 -4 5 6 7 8 11 12 14 15 -4 5 6 7 8 11 13 14 15 -4 5 6 7 8 12 13 14 15 -4 5 6 7 9 10 11 12 13 -4 5 6 7 9 10 11 12 14 -4 5 6 7 9 10 11 12 15 -4 5 6 7 9 10 11 13 14 -4 5 6 7 9 10 11 13 15 -4 5 6 7 9 10 11 14 15 -4 5 6 7 9 10 12 13 14 -4 5 6 7 9 10 12 13 15 -4 5 6 7 9 10 12 14 15 -4 5 6 7 9 10 13 14 15 -4 5 6 7 9 11 12 13 14 -4 5 6 7 9 11 12 13 15 -4 5 6 7 9 11 12 14 15 -4 5 6 7 9 11 13 14 15 -4 5 6 7 9 12 13 14 15 -4 5 6 7 10 11 12 13 14 -4 5 6 7 10 11 12 13 15 -4 5 6 7 10 11 12 14 15 -4 5 6 7 10 11 13 14 15 -4 5 6 7 10 12 13 14 15 -4 5 6 7 11 12 13 14 15 -4 5 6 8 9 10 11 12 13 -4 5 6 8 9 10 11 12 14 -4 5 6 8 9 10 11 12 15 -4 5 6 8 9 10 11 13 14 -4 5 6 8 9 10 11 13 15 -4 5 6 8 9 10 11 14 15 -4 5 6 8 9 10 12 13 14 -4 5 6 8 9 10 12 13 15 -4 5 6 8 9 10 12 14 15 -4 5 6 8 9 10 13 14 15 -4 5 6 8 9 11 12 13 14 -4 5 6 8 9 11 12 13 15 -4 5 6 8 9 11 12 14 15 -4 5 6 8 9 11 13 14 15 -4 5 6 8 9 12 13 14 15 -4 5 6 8 10 11 12 13 14 -4 5 6 8 10 11 12 13 15 -4 5 6 8 10 11 12 14 15 -4 5 6 8 10 11 13 14 15 -4 5 6 8 10 12 13 14 15 -4 5 6 8 11 12 13 14 15 -4 5 6 9 10 11 12 13 14 -4 5 6 9 10 11 12 13 15 -4 5 6 9 10 11 12 14 15 -4 5 6 9 10 11 13 14 15 -4 5 6 9 10 12 13 14 15 -4 5 6 9 11 12 13 14 15 -4 5 6 10 11 12 13 14 15 -4 5 7 8 9 10 11 12 13 -4 5 7 8 9 10 11 12 14 -4 5 7 8 9 10 11 12 15 -4 5 7 8 9 10 11 13 14 -4 5 7 8 9 10 11 13 15 -4 5 7 8 9 10 11 14 15 -4 5 7 8 9 10 12 13 14 -4 5 7 8 9 10 12 13 15 -4 5 7 8 9 10 12 14 15 -4 5 7 8 9 10 13 14 15 -4 5 7 8 9 11 12 13 14 -4 5 7 8 9 11 12 13 15 -4 5 7 8 9 11 12 14 15 -4 5 7 8 9 11 13 14 15 -4 5 7 8 9 12 13 14 15 -4 5 7 8 10 11 12 13 14 -4 5 7 8 10 11 12 13 15 -4 5 7 8 10 11 12 14 15 -4 5 7 8 10 11 13 14 15 -4 5 7 8 10 12 13 14 15 -4 5 7 8 11 12 13 14 15 -4 5 7 9 10 11 12 13 14 -4 5 7 9 10 11 12 13 15 -4 5 7 9 10 11 12 14 15 -4 5 7 9 10 11 13 14 15 -4 5 7 9 10 12 13 14 15 -4 5 7 9 11 12 13 14 15 -4 5 7 10 11 12 13 14 15 -4 5 8 9 10 11 12 13 14 -4 5 8 9 10 11 12 13 15 -4 5 8 9 10 11 12 14 15 -4 5 8 9 10 11 13 14 15 -4 5 8 9 10 12 13 14 15 -4 5 8 9 11 12 13 14 15 -4 5 8 10 11 12 13 14 15 -4 5 9 10 11 12 13 14 15 -4 6 7 8 9 10 11 12 13 -4 6 7 8 9 10 11 12 14 -4 6 7 8 9 10 11 12 15 -4 6 7 8 9 10 11 13 14 -4 6 7 8 9 10 11 13 15 -4 6 7 8 9 10 11 14 15 -4 6 7 8 9 10 12 13 14 -4 6 7 8 9 10 12 13 15 -4 6 7 8 9 10 12 14 15 -4 6 7 8 9 10 13 14 15 -4 6 7 8 9 11 12 13 14 -4 6 7 8 9 11 12 13 15 -4 6 7 8 9 11 12 14 15 -4 6 7 8 9 11 13 14 15 -4 6 7 8 9 12 13 14 15 -4 6 7 8 10 11 12 13 14 -4 6 7 8 10 11 12 13 15 -4 6 7 8 10 11 12 14 15 -4 6 7 8 10 11 13 14 15 -4 6 7 8 10 12 13 14 15 -4 6 7 8 11 12 13 14 15 -4 6 7 9 10 11 12 13 14 -4 6 7 9 10 11 12 13 15 -4 6 7 9 10 11 12 14 15 -4 6 7 9 10 11 13 14 15 -4 6 7 9 10 12 13 14 15 -4 6 7 9 11 12 13 14 15 -4 6 7 10 11 12 13 14 15 -4 6 8 9 10 11 12 13 14 -4 6 8 9 10 11 12 13 15 -4 6 8 9 10 11 12 14 15 -4 6 8 9 10 11 13 14 15 -4 6 8 9 10 12 13 14 15 -4 6 8 9 11 12 13 14 15 -4 6 8 10 11 12 13 14 15 -4 6 9 10 11 12 13 14 15 -4 7 8 9 10 11 12 13 14 -4 7 8 9 10 11 12 13 15 -4 7 8 9 10 11 12 14 15 -4 7 8 9 10 11 13 14 15 -4 7 8 9 10 12 13 14 15 -4 7 8 9 11 12 13 14 15 -4 7 8 10 11 12 13 14 15 -4 7 9 10 11 12 13 14 15 -4 8 9 10 11 12 13 14 15 -5 6 7 8 9 10 11 12 13 -5 6 7 8 9 10 11 12 14 -5 6 7 8 9 10 11 12 15 -5 6 7 8 9 10 11 13 14 -5 6 7 8 9 10 11 13 15 -5 6 7 8 9 10 11 14 15 -5 6 7 8 9 10 12 13 14 -5 6 7 8 9 10 12 13 15 -5 6 7 8 9 10 12 14 15 -5 6 7 8 9 10 13 14 15 -5 6 7 8 9 11 12 13 14 -5 6 7 8 9 11 12 13 15 -5 6 7 8 9 11 12 14 15 -5 6 7 8 9 11 13 14 15 -5 6 7 8 9 12 13 14 15 -5 6 7 8 10 11 12 13 14 -5 6 7 8 10 11 12 13 15 -5 6 7 8 10 11 12 14 15 -5 6 7 8 10 11 13 14 15 -5 6 7 8 10 12 13 14 15 -5 6 7 8 11 12 13 14 15 -5 6 7 9 10 11 12 13 14 -5 6 7 9 10 11 12 13 15 -5 6 7 9 10 11 12 14 15 -5 6 7 9 10 11 13 14 15 -5 6 7 9 10 12 13 14 15 -5 6 7 9 11 12 13 14 15 -5 6 7 10 11 12 13 14 15 -5 6 8 9 10 11 12 13 14 -5 6 8 9 10 11 12 13 15 -5 6 8 9 10 11 12 14 15 -5 6 8 9 10 11 13 14 15 -5 6 8 9 10 12 13 14 15 -5 6 8 9 11 12 13 14 15 -5 6 8 10 11 12 13 14 15 -5 6 9 10 11 12 13 14 15 -5 7 8 9 10 11 12 13 14 -5 7 8 9 10 11 12 13 15 -5 7 8 9 10 11 12 14 15 -5 7 8 9 10 11 13 14 15 -5 7 8 9 10 12 13 14 15 -5 7 8 9 11 12 13 14 15 -5 7 8 10 11 12 13 14 15 -5 7 9 10 11 12 13 14 15 -5 8 9 10 11 12 13 14 15 -6 7 8 9 10 11 12 13 14 -6 7 8 9 10 11 12 13 15 -6 7 8 9 10 11 12 14 15 -6 7 8 9 10 11 13 14 15 -6 7 8 9 10 12 13 14 15 -6 7 8 9 11 12 13 14 15 -6 7 8 10 11 12 13 14 15 -6 7 9 10 11 12 13 14 15 -6 8 9 10 11 12 13 14 15 -7 8 9 10 11 12 13 14 15 +0 1 2 3 4 5 6 7 8 +0 1 2 3 4 5 6 7 9 +0 1 2 3 4 5 6 7 10 +0 1 2 3 4 5 6 7 11 +0 1 2 3 4 5 6 7 12 +0 1 2 3 4 5 6 7 13 +0 1 2 3 4 5 6 7 14 +0 1 2 3 4 5 6 7 15 +0 1 2 3 4 5 6 8 9 +0 1 2 3 4 5 6 8 10 +0 1 2 3 4 5 6 8 11 +0 1 2 3 4 5 6 8 12 +0 1 2 3 4 5 6 8 13 +0 1 2 3 4 5 6 8 14 +0 1 2 3 4 5 6 8 15 +0 1 2 3 4 5 6 9 10 +0 1 2 3 4 5 6 9 11 +0 1 2 3 4 5 6 9 12 +0 1 2 3 4 5 6 9 13 +0 1 2 3 4 5 6 9 14 +0 1 2 3 4 5 6 9 15 +0 1 2 3 4 5 6 10 11 +0 1 2 3 4 5 6 10 12 +0 1 2 3 4 5 6 10 13 +0 1 2 3 4 5 6 10 14 +0 1 2 3 4 5 6 10 15 +0 1 2 3 4 5 6 11 12 +0 1 2 3 4 5 6 11 13 +0 1 2 3 4 5 6 11 14 +0 1 2 3 4 5 6 11 15 +0 1 2 3 4 5 6 12 13 +0 1 2 3 4 5 6 12 14 +0 1 2 3 4 5 6 12 15 +0 1 2 3 4 5 6 13 14 +0 1 2 3 4 5 6 13 15 +0 1 2 3 4 5 6 14 15 +0 1 2 3 4 5 7 8 9 +0 1 2 3 4 5 7 8 10 +0 1 2 3 4 5 7 8 11 +0 1 2 3 4 5 7 8 12 +0 1 2 3 4 5 7 8 13 +0 1 2 3 4 5 7 8 14 +0 1 2 3 4 5 7 8 15 +0 1 2 3 4 5 7 9 10 +0 1 2 3 4 5 7 9 11 +0 1 2 3 4 5 7 9 12 +0 1 2 3 4 5 7 9 13 +0 1 2 3 4 5 7 9 14 +0 1 2 3 4 5 7 9 15 +0 1 2 3 4 5 7 10 11 +0 1 2 3 4 5 7 10 12 +0 1 2 3 4 5 7 10 13 +0 1 2 3 4 5 7 10 14 +0 1 2 3 4 5 7 10 15 +0 1 2 3 4 5 7 11 12 +0 1 2 3 4 5 7 11 13 +0 1 2 3 4 5 7 11 14 +0 1 2 3 4 5 7 11 15 +0 1 2 3 4 5 7 12 13 +0 1 2 3 4 5 7 12 14 +0 1 2 3 4 5 7 12 15 +0 1 2 3 4 5 7 13 14 +0 1 2 3 4 5 7 13 15 +0 1 2 3 4 5 7 14 15 +0 1 2 3 4 5 8 9 10 +0 1 2 3 4 5 8 9 11 +0 1 2 3 4 5 8 9 12 +0 1 2 3 4 5 8 9 13 +0 1 2 3 4 5 8 9 14 +0 1 2 3 4 5 8 9 15 +0 1 2 3 4 5 8 10 11 +0 1 2 3 4 5 8 10 12 +0 1 2 3 4 5 8 10 13 +0 1 2 3 4 5 8 10 14 +0 1 2 3 4 5 8 10 15 +0 1 2 3 4 5 8 11 12 +0 1 2 3 4 5 8 11 13 +0 1 2 3 4 5 8 11 14 +0 1 2 3 4 5 8 11 15 +0 1 2 3 4 5 8 12 13 +0 1 2 3 4 5 8 12 14 +0 1 2 3 4 5 8 12 15 +0 1 2 3 4 5 8 13 14 +0 1 2 3 4 5 8 13 15 +0 1 2 3 4 5 8 14 15 +0 1 2 3 4 5 9 10 11 +0 1 2 3 4 5 9 10 12 +0 1 2 3 4 5 9 10 13 +0 1 2 3 4 5 9 10 14 +0 1 2 3 4 5 9 10 15 +0 1 2 3 4 5 9 11 12 +0 1 2 3 4 5 9 11 13 +0 1 2 3 4 5 9 11 14 +0 1 2 3 4 5 9 11 15 +0 1 2 3 4 5 9 12 13 +0 1 2 3 4 5 9 12 14 +0 1 2 3 4 5 9 12 15 +0 1 2 3 4 5 9 13 14 +0 1 2 3 4 5 9 13 15 +0 1 2 3 4 5 9 14 15 +0 1 2 3 4 5 10 11 12 +0 1 2 3 4 5 10 11 13 +0 1 2 3 4 5 10 11 14 +0 1 2 3 4 5 10 11 15 +0 1 2 3 4 5 10 12 13 +0 1 2 3 4 5 10 12 14 +0 1 2 3 4 5 10 12 15 +0 1 2 3 4 5 10 13 14 +0 1 2 3 4 5 10 13 15 +0 1 2 3 4 5 10 14 15 +0 1 2 3 4 5 11 12 13 +0 1 2 3 4 5 11 12 14 +0 1 2 3 4 5 11 12 15 +0 1 2 3 4 5 11 13 14 +0 1 2 3 4 5 11 13 15 +0 1 2 3 4 5 11 14 15 +0 1 2 3 4 5 12 13 14 +0 1 2 3 4 5 12 13 15 +0 1 2 3 4 5 12 14 15 +0 1 2 3 4 5 13 14 15 +0 1 2 3 4 6 7 8 9 +0 1 2 3 4 6 7 8 10 +0 1 2 3 4 6 7 8 11 +0 1 2 3 4 6 7 8 12 +0 1 2 3 4 6 7 8 13 +0 1 2 3 4 6 7 8 14 +0 1 2 3 4 6 7 8 15 +0 1 2 3 4 6 7 9 10 +0 1 2 3 4 6 7 9 11 +0 1 2 3 4 6 7 9 12 +0 1 2 3 4 6 7 9 13 +0 1 2 3 4 6 7 9 14 +0 1 2 3 4 6 7 9 15 +0 1 2 3 4 6 7 10 11 +0 1 2 3 4 6 7 10 12 +0 1 2 3 4 6 7 10 13 +0 1 2 3 4 6 7 10 14 +0 1 2 3 4 6 7 10 15 +0 1 2 3 4 6 7 11 12 +0 1 2 3 4 6 7 11 13 +0 1 2 3 4 6 7 11 14 +0 1 2 3 4 6 7 11 15 +0 1 2 3 4 6 7 12 13 +0 1 2 3 4 6 7 12 14 +0 1 2 3 4 6 7 12 15 +0 1 2 3 4 6 7 13 14 +0 1 2 3 4 6 7 13 15 +0 1 2 3 4 6 7 14 15 +0 1 2 3 4 6 8 9 10 +0 1 2 3 4 6 8 9 11 +0 1 2 3 4 6 8 9 12 +0 1 2 3 4 6 8 9 13 +0 1 2 3 4 6 8 9 14 +0 1 2 3 4 6 8 9 15 +0 1 2 3 4 6 8 10 11 +0 1 2 3 4 6 8 10 12 +0 1 2 3 4 6 8 10 13 +0 1 2 3 4 6 8 10 14 +0 1 2 3 4 6 8 10 15 +0 1 2 3 4 6 8 11 12 +0 1 2 3 4 6 8 11 13 +0 1 2 3 4 6 8 11 14 +0 1 2 3 4 6 8 11 15 +0 1 2 3 4 6 8 12 13 +0 1 2 3 4 6 8 12 14 +0 1 2 3 4 6 8 12 15 +0 1 2 3 4 6 8 13 14 +0 1 2 3 4 6 8 13 15 +0 1 2 3 4 6 8 14 15 +0 1 2 3 4 6 9 10 11 +0 1 2 3 4 6 9 10 12 +0 1 2 3 4 6 9 10 13 +0 1 2 3 4 6 9 10 14 +0 1 2 3 4 6 9 10 15 +0 1 2 3 4 6 9 11 12 +0 1 2 3 4 6 9 11 13 +0 1 2 3 4 6 9 11 14 +0 1 2 3 4 6 9 11 15 +0 1 2 3 4 6 9 12 13 +0 1 2 3 4 6 9 12 14 +0 1 2 3 4 6 9 12 15 +0 1 2 3 4 6 9 13 14 +0 1 2 3 4 6 9 13 15 +0 1 2 3 4 6 9 14 15 +0 1 2 3 4 6 10 11 12 +0 1 2 3 4 6 10 11 13 +0 1 2 3 4 6 10 11 14 +0 1 2 3 4 6 10 11 15 +0 1 2 3 4 6 10 12 13 +0 1 2 3 4 6 10 12 14 +0 1 2 3 4 6 10 12 15 +0 1 2 3 4 6 10 13 14 +0 1 2 3 4 6 10 13 15 +0 1 2 3 4 6 10 14 15 +0 1 2 3 4 6 11 12 13 +0 1 2 3 4 6 11 12 14 +0 1 2 3 4 6 11 12 15 +0 1 2 3 4 6 11 13 14 +0 1 2 3 4 6 11 13 15 +0 1 2 3 4 6 11 14 15 +0 1 2 3 4 6 12 13 14 +0 1 2 3 4 6 12 13 15 +0 1 2 3 4 6 12 14 15 +0 1 2 3 4 6 13 14 15 +0 1 2 3 4 7 8 9 10 +0 1 2 3 4 7 8 9 11 +0 1 2 3 4 7 8 9 12 +0 1 2 3 4 7 8 9 13 +0 1 2 3 4 7 8 9 14 +0 1 2 3 4 7 8 9 15 +0 1 2 3 4 7 8 10 11 +0 1 2 3 4 7 8 10 12 +0 1 2 3 4 7 8 10 13 +0 1 2 3 4 7 8 10 14 +0 1 2 3 4 7 8 10 15 +0 1 2 3 4 7 8 11 12 +0 1 2 3 4 7 8 11 13 +0 1 2 3 4 7 8 11 14 +0 1 2 3 4 7 8 11 15 +0 1 2 3 4 7 8 12 13 +0 1 2 3 4 7 8 12 14 +0 1 2 3 4 7 8 12 15 +0 1 2 3 4 7 8 13 14 +0 1 2 3 4 7 8 13 15 +0 1 2 3 4 7 8 14 15 +0 1 2 3 4 7 9 10 11 +0 1 2 3 4 7 9 10 12 +0 1 2 3 4 7 9 10 13 +0 1 2 3 4 7 9 10 14 +0 1 2 3 4 7 9 10 15 +0 1 2 3 4 7 9 11 12 +0 1 2 3 4 7 9 11 13 +0 1 2 3 4 7 9 11 14 +0 1 2 3 4 7 9 11 15 +0 1 2 3 4 7 9 12 13 +0 1 2 3 4 7 9 12 14 +0 1 2 3 4 7 9 12 15 +0 1 2 3 4 7 9 13 14 +0 1 2 3 4 7 9 13 15 +0 1 2 3 4 7 9 14 15 +0 1 2 3 4 7 10 11 12 +0 1 2 3 4 7 10 11 13 +0 1 2 3 4 7 10 11 14 +0 1 2 3 4 7 10 11 15 +0 1 2 3 4 7 10 12 13 +0 1 2 3 4 7 10 12 14 +0 1 2 3 4 7 10 12 15 +0 1 2 3 4 7 10 13 14 +0 1 2 3 4 7 10 13 15 +0 1 2 3 4 7 10 14 15 +0 1 2 3 4 7 11 12 13 +0 1 2 3 4 7 11 12 14 +0 1 2 3 4 7 11 12 15 +0 1 2 3 4 7 11 13 14 +0 1 2 3 4 7 11 13 15 +0 1 2 3 4 7 11 14 15 +0 1 2 3 4 7 12 13 14 +0 1 2 3 4 7 12 13 15 +0 1 2 3 4 7 12 14 15 +0 1 2 3 4 7 13 14 15 +0 1 2 3 4 8 9 10 11 +0 1 2 3 4 8 9 10 12 +0 1 2 3 4 8 9 10 13 +0 1 2 3 4 8 9 10 14 +0 1 2 3 4 8 9 10 15 +0 1 2 3 4 8 9 11 12 +0 1 2 3 4 8 9 11 13 +0 1 2 3 4 8 9 11 14 +0 1 2 3 4 8 9 11 15 +0 1 2 3 4 8 9 12 13 +0 1 2 3 4 8 9 12 14 +0 1 2 3 4 8 9 12 15 +0 1 2 3 4 8 9 13 14 +0 1 2 3 4 8 9 13 15 +0 1 2 3 4 8 9 14 15 +0 1 2 3 4 8 10 11 12 +0 1 2 3 4 8 10 11 13 +0 1 2 3 4 8 10 11 14 +0 1 2 3 4 8 10 11 15 +0 1 2 3 4 8 10 12 13 +0 1 2 3 4 8 10 12 14 +0 1 2 3 4 8 10 12 15 +0 1 2 3 4 8 10 13 14 +0 1 2 3 4 8 10 13 15 +0 1 2 3 4 8 10 14 15 +0 1 2 3 4 8 11 12 13 +0 1 2 3 4 8 11 12 14 +0 1 2 3 4 8 11 12 15 +0 1 2 3 4 8 11 13 14 +0 1 2 3 4 8 11 13 15 +0 1 2 3 4 8 11 14 15 +0 1 2 3 4 8 12 13 14 +0 1 2 3 4 8 12 13 15 +0 1 2 3 4 8 12 14 15 +0 1 2 3 4 8 13 14 15 +0 1 2 3 4 9 10 11 12 +0 1 2 3 4 9 10 11 13 +0 1 2 3 4 9 10 11 14 +0 1 2 3 4 9 10 11 15 +0 1 2 3 4 9 10 12 13 +0 1 2 3 4 9 10 12 14 +0 1 2 3 4 9 10 12 15 +0 1 2 3 4 9 10 13 14 +0 1 2 3 4 9 10 13 15 +0 1 2 3 4 9 10 14 15 +0 1 2 3 4 9 11 12 13 +0 1 2 3 4 9 11 12 14 +0 1 2 3 4 9 11 12 15 +0 1 2 3 4 9 11 13 14 +0 1 2 3 4 9 11 13 15 +0 1 2 3 4 9 11 14 15 +0 1 2 3 4 9 12 13 14 +0 1 2 3 4 9 12 13 15 +0 1 2 3 4 9 12 14 15 +0 1 2 3 4 9 13 14 15 +0 1 2 3 4 10 11 12 13 +0 1 2 3 4 10 11 12 14 +0 1 2 3 4 10 11 12 15 +0 1 2 3 4 10 11 13 14 +0 1 2 3 4 10 11 13 15 +0 1 2 3 4 10 11 14 15 +0 1 2 3 4 10 12 13 14 +0 1 2 3 4 10 12 13 15 +0 1 2 3 4 10 12 14 15 +0 1 2 3 4 10 13 14 15 +0 1 2 3 4 11 12 13 14 +0 1 2 3 4 11 12 13 15 +0 1 2 3 4 11 12 14 15 +0 1 2 3 4 11 13 14 15 +0 1 2 3 4 12 13 14 15 +0 1 2 3 5 6 7 8 9 +0 1 2 3 5 6 7 8 10 +0 1 2 3 5 6 7 8 11 +0 1 2 3 5 6 7 8 12 +0 1 2 3 5 6 7 8 13 +0 1 2 3 5 6 7 8 14 +0 1 2 3 5 6 7 8 15 +0 1 2 3 5 6 7 9 10 +0 1 2 3 5 6 7 9 11 +0 1 2 3 5 6 7 9 12 +0 1 2 3 5 6 7 9 13 +0 1 2 3 5 6 7 9 14 +0 1 2 3 5 6 7 9 15 +0 1 2 3 5 6 7 10 11 +0 1 2 3 5 6 7 10 12 +0 1 2 3 5 6 7 10 13 +0 1 2 3 5 6 7 10 14 +0 1 2 3 5 6 7 10 15 +0 1 2 3 5 6 7 11 12 +0 1 2 3 5 6 7 11 13 +0 1 2 3 5 6 7 11 14 +0 1 2 3 5 6 7 11 15 +0 1 2 3 5 6 7 12 13 +0 1 2 3 5 6 7 12 14 +0 1 2 3 5 6 7 12 15 +0 1 2 3 5 6 7 13 14 +0 1 2 3 5 6 7 13 15 +0 1 2 3 5 6 7 14 15 +0 1 2 3 5 6 8 9 10 +0 1 2 3 5 6 8 9 11 +0 1 2 3 5 6 8 9 12 +0 1 2 3 5 6 8 9 13 +0 1 2 3 5 6 8 9 14 +0 1 2 3 5 6 8 9 15 +0 1 2 3 5 6 8 10 11 +0 1 2 3 5 6 8 10 12 +0 1 2 3 5 6 8 10 13 +0 1 2 3 5 6 8 10 14 +0 1 2 3 5 6 8 10 15 +0 1 2 3 5 6 8 11 12 +0 1 2 3 5 6 8 11 13 +0 1 2 3 5 6 8 11 14 +0 1 2 3 5 6 8 11 15 +0 1 2 3 5 6 8 12 13 +0 1 2 3 5 6 8 12 14 +0 1 2 3 5 6 8 12 15 +0 1 2 3 5 6 8 13 14 +0 1 2 3 5 6 8 13 15 +0 1 2 3 5 6 8 14 15 +0 1 2 3 5 6 9 10 11 +0 1 2 3 5 6 9 10 12 +0 1 2 3 5 6 9 10 13 +0 1 2 3 5 6 9 10 14 +0 1 2 3 5 6 9 10 15 +0 1 2 3 5 6 9 11 12 +0 1 2 3 5 6 9 11 13 +0 1 2 3 5 6 9 11 14 +0 1 2 3 5 6 9 11 15 +0 1 2 3 5 6 9 12 13 +0 1 2 3 5 6 9 12 14 +0 1 2 3 5 6 9 12 15 +0 1 2 3 5 6 9 13 14 +0 1 2 3 5 6 9 13 15 +0 1 2 3 5 6 9 14 15 +0 1 2 3 5 6 10 11 12 +0 1 2 3 5 6 10 11 13 +0 1 2 3 5 6 10 11 14 +0 1 2 3 5 6 10 11 15 +0 1 2 3 5 6 10 12 13 +0 1 2 3 5 6 10 12 14 +0 1 2 3 5 6 10 12 15 +0 1 2 3 5 6 10 13 14 +0 1 2 3 5 6 10 13 15 +0 1 2 3 5 6 10 14 15 +0 1 2 3 5 6 11 12 13 +0 1 2 3 5 6 11 12 14 +0 1 2 3 5 6 11 12 15 +0 1 2 3 5 6 11 13 14 +0 1 2 3 5 6 11 13 15 +0 1 2 3 5 6 11 14 15 +0 1 2 3 5 6 12 13 14 +0 1 2 3 5 6 12 13 15 +0 1 2 3 5 6 12 14 15 +0 1 2 3 5 6 13 14 15 +0 1 2 3 5 7 8 9 10 +0 1 2 3 5 7 8 9 11 +0 1 2 3 5 7 8 9 12 +0 1 2 3 5 7 8 9 13 +0 1 2 3 5 7 8 9 14 +0 1 2 3 5 7 8 9 15 +0 1 2 3 5 7 8 10 11 +0 1 2 3 5 7 8 10 12 +0 1 2 3 5 7 8 10 13 +0 1 2 3 5 7 8 10 14 +0 1 2 3 5 7 8 10 15 +0 1 2 3 5 7 8 11 12 +0 1 2 3 5 7 8 11 13 +0 1 2 3 5 7 8 11 14 +0 1 2 3 5 7 8 11 15 +0 1 2 3 5 7 8 12 13 +0 1 2 3 5 7 8 12 14 +0 1 2 3 5 7 8 12 15 +0 1 2 3 5 7 8 13 14 +0 1 2 3 5 7 8 13 15 +0 1 2 3 5 7 8 14 15 +0 1 2 3 5 7 9 10 11 +0 1 2 3 5 7 9 10 12 +0 1 2 3 5 7 9 10 13 +0 1 2 3 5 7 9 10 14 +0 1 2 3 5 7 9 10 15 +0 1 2 3 5 7 9 11 12 +0 1 2 3 5 7 9 11 13 +0 1 2 3 5 7 9 11 14 +0 1 2 3 5 7 9 11 15 +0 1 2 3 5 7 9 12 13 +0 1 2 3 5 7 9 12 14 +0 1 2 3 5 7 9 12 15 +0 1 2 3 5 7 9 13 14 +0 1 2 3 5 7 9 13 15 +0 1 2 3 5 7 9 14 15 +0 1 2 3 5 7 10 11 12 +0 1 2 3 5 7 10 11 13 +0 1 2 3 5 7 10 11 14 +0 1 2 3 5 7 10 11 15 +0 1 2 3 5 7 10 12 13 +0 1 2 3 5 7 10 12 14 +0 1 2 3 5 7 10 12 15 +0 1 2 3 5 7 10 13 14 +0 1 2 3 5 7 10 13 15 +0 1 2 3 5 7 10 14 15 +0 1 2 3 5 7 11 12 13 +0 1 2 3 5 7 11 12 14 +0 1 2 3 5 7 11 12 15 +0 1 2 3 5 7 11 13 14 +0 1 2 3 5 7 11 13 15 +0 1 2 3 5 7 11 14 15 +0 1 2 3 5 7 12 13 14 +0 1 2 3 5 7 12 13 15 +0 1 2 3 5 7 12 14 15 +0 1 2 3 5 7 13 14 15 +0 1 2 3 5 8 9 10 11 +0 1 2 3 5 8 9 10 12 +0 1 2 3 5 8 9 10 13 +0 1 2 3 5 8 9 10 14 +0 1 2 3 5 8 9 10 15 +0 1 2 3 5 8 9 11 12 +0 1 2 3 5 8 9 11 13 +0 1 2 3 5 8 9 11 14 +0 1 2 3 5 8 9 11 15 +0 1 2 3 5 8 9 12 13 +0 1 2 3 5 8 9 12 14 +0 1 2 3 5 8 9 12 15 +0 1 2 3 5 8 9 13 14 +0 1 2 3 5 8 9 13 15 +0 1 2 3 5 8 9 14 15 +0 1 2 3 5 8 10 11 12 +0 1 2 3 5 8 10 11 13 +0 1 2 3 5 8 10 11 14 +0 1 2 3 5 8 10 11 15 +0 1 2 3 5 8 10 12 13 +0 1 2 3 5 8 10 12 14 +0 1 2 3 5 8 10 12 15 +0 1 2 3 5 8 10 13 14 +0 1 2 3 5 8 10 13 15 +0 1 2 3 5 8 10 14 15 +0 1 2 3 5 8 11 12 13 +0 1 2 3 5 8 11 12 14 +0 1 2 3 5 8 11 12 15 +0 1 2 3 5 8 11 13 14 +0 1 2 3 5 8 11 13 15 +0 1 2 3 5 8 11 14 15 +0 1 2 3 5 8 12 13 14 +0 1 2 3 5 8 12 13 15 +0 1 2 3 5 8 12 14 15 +0 1 2 3 5 8 13 14 15 +0 1 2 3 5 9 10 11 12 +0 1 2 3 5 9 10 11 13 +0 1 2 3 5 9 10 11 14 +0 1 2 3 5 9 10 11 15 +0 1 2 3 5 9 10 12 13 +0 1 2 3 5 9 10 12 14 +0 1 2 3 5 9 10 12 15 +0 1 2 3 5 9 10 13 14 +0 1 2 3 5 9 10 13 15 +0 1 2 3 5 9 10 14 15 +0 1 2 3 5 9 11 12 13 +0 1 2 3 5 9 11 12 14 +0 1 2 3 5 9 11 12 15 +0 1 2 3 5 9 11 13 14 +0 1 2 3 5 9 11 13 15 +0 1 2 3 5 9 11 14 15 +0 1 2 3 5 9 12 13 14 +0 1 2 3 5 9 12 13 15 +0 1 2 3 5 9 12 14 15 +0 1 2 3 5 9 13 14 15 +0 1 2 3 5 10 11 12 13 +0 1 2 3 5 10 11 12 14 +0 1 2 3 5 10 11 12 15 +0 1 2 3 5 10 11 13 14 +0 1 2 3 5 10 11 13 15 +0 1 2 3 5 10 11 14 15 +0 1 2 3 5 10 12 13 14 +0 1 2 3 5 10 12 13 15 +0 1 2 3 5 10 12 14 15 +0 1 2 3 5 10 13 14 15 +0 1 2 3 5 11 12 13 14 +0 1 2 3 5 11 12 13 15 +0 1 2 3 5 11 12 14 15 +0 1 2 3 5 11 13 14 15 +0 1 2 3 5 12 13 14 15 +0 1 2 3 6 7 8 9 10 +0 1 2 3 6 7 8 9 11 +0 1 2 3 6 7 8 9 12 +0 1 2 3 6 7 8 9 13 +0 1 2 3 6 7 8 9 14 +0 1 2 3 6 7 8 9 15 +0 1 2 3 6 7 8 10 11 +0 1 2 3 6 7 8 10 12 +0 1 2 3 6 7 8 10 13 +0 1 2 3 6 7 8 10 14 +0 1 2 3 6 7 8 10 15 +0 1 2 3 6 7 8 11 12 +0 1 2 3 6 7 8 11 13 +0 1 2 3 6 7 8 11 14 +0 1 2 3 6 7 8 11 15 +0 1 2 3 6 7 8 12 13 +0 1 2 3 6 7 8 12 14 +0 1 2 3 6 7 8 12 15 +0 1 2 3 6 7 8 13 14 +0 1 2 3 6 7 8 13 15 +0 1 2 3 6 7 8 14 15 +0 1 2 3 6 7 9 10 11 +0 1 2 3 6 7 9 10 12 +0 1 2 3 6 7 9 10 13 +0 1 2 3 6 7 9 10 14 +0 1 2 3 6 7 9 10 15 +0 1 2 3 6 7 9 11 12 +0 1 2 3 6 7 9 11 13 +0 1 2 3 6 7 9 11 14 +0 1 2 3 6 7 9 11 15 +0 1 2 3 6 7 9 12 13 +0 1 2 3 6 7 9 12 14 +0 1 2 3 6 7 9 12 15 +0 1 2 3 6 7 9 13 14 +0 1 2 3 6 7 9 13 15 +0 1 2 3 6 7 9 14 15 +0 1 2 3 6 7 10 11 12 +0 1 2 3 6 7 10 11 13 +0 1 2 3 6 7 10 11 14 +0 1 2 3 6 7 10 11 15 +0 1 2 3 6 7 10 12 13 +0 1 2 3 6 7 10 12 14 +0 1 2 3 6 7 10 12 15 +0 1 2 3 6 7 10 13 14 +0 1 2 3 6 7 10 13 15 +0 1 2 3 6 7 10 14 15 +0 1 2 3 6 7 11 12 13 +0 1 2 3 6 7 11 12 14 +0 1 2 3 6 7 11 12 15 +0 1 2 3 6 7 11 13 14 +0 1 2 3 6 7 11 13 15 +0 1 2 3 6 7 11 14 15 +0 1 2 3 6 7 12 13 14 +0 1 2 3 6 7 12 13 15 +0 1 2 3 6 7 12 14 15 +0 1 2 3 6 7 13 14 15 +0 1 2 3 6 8 9 10 11 +0 1 2 3 6 8 9 10 12 +0 1 2 3 6 8 9 10 13 +0 1 2 3 6 8 9 10 14 +0 1 2 3 6 8 9 10 15 +0 1 2 3 6 8 9 11 12 +0 1 2 3 6 8 9 11 13 +0 1 2 3 6 8 9 11 14 +0 1 2 3 6 8 9 11 15 +0 1 2 3 6 8 9 12 13 +0 1 2 3 6 8 9 12 14 +0 1 2 3 6 8 9 12 15 +0 1 2 3 6 8 9 13 14 +0 1 2 3 6 8 9 13 15 +0 1 2 3 6 8 9 14 15 +0 1 2 3 6 8 10 11 12 +0 1 2 3 6 8 10 11 13 +0 1 2 3 6 8 10 11 14 +0 1 2 3 6 8 10 11 15 +0 1 2 3 6 8 10 12 13 +0 1 2 3 6 8 10 12 14 +0 1 2 3 6 8 10 12 15 +0 1 2 3 6 8 10 13 14 +0 1 2 3 6 8 10 13 15 +0 1 2 3 6 8 10 14 15 +0 1 2 3 6 8 11 12 13 +0 1 2 3 6 8 11 12 14 +0 1 2 3 6 8 11 12 15 +0 1 2 3 6 8 11 13 14 +0 1 2 3 6 8 11 13 15 +0 1 2 3 6 8 11 14 15 +0 1 2 3 6 8 12 13 14 +0 1 2 3 6 8 12 13 15 +0 1 2 3 6 8 12 14 15 +0 1 2 3 6 8 13 14 15 +0 1 2 3 6 9 10 11 12 +0 1 2 3 6 9 10 11 13 +0 1 2 3 6 9 10 11 14 +0 1 2 3 6 9 10 11 15 +0 1 2 3 6 9 10 12 13 +0 1 2 3 6 9 10 12 14 +0 1 2 3 6 9 10 12 15 +0 1 2 3 6 9 10 13 14 +0 1 2 3 6 9 10 13 15 +0 1 2 3 6 9 10 14 15 +0 1 2 3 6 9 11 12 13 +0 1 2 3 6 9 11 12 14 +0 1 2 3 6 9 11 12 15 +0 1 2 3 6 9 11 13 14 +0 1 2 3 6 9 11 13 15 +0 1 2 3 6 9 11 14 15 +0 1 2 3 6 9 12 13 14 +0 1 2 3 6 9 12 13 15 +0 1 2 3 6 9 12 14 15 +0 1 2 3 6 9 13 14 15 +0 1 2 3 6 10 11 12 13 +0 1 2 3 6 10 11 12 14 +0 1 2 3 6 10 11 12 15 +0 1 2 3 6 10 11 13 14 +0 1 2 3 6 10 11 13 15 +0 1 2 3 6 10 11 14 15 +0 1 2 3 6 10 12 13 14 +0 1 2 3 6 10 12 13 15 +0 1 2 3 6 10 12 14 15 +0 1 2 3 6 10 13 14 15 +0 1 2 3 6 11 12 13 14 +0 1 2 3 6 11 12 13 15 +0 1 2 3 6 11 12 14 15 +0 1 2 3 6 11 13 14 15 +0 1 2 3 6 12 13 14 15 +0 1 2 3 7 8 9 10 11 +0 1 2 3 7 8 9 10 12 +0 1 2 3 7 8 9 10 13 +0 1 2 3 7 8 9 10 14 +0 1 2 3 7 8 9 10 15 +0 1 2 3 7 8 9 11 12 +0 1 2 3 7 8 9 11 13 +0 1 2 3 7 8 9 11 14 +0 1 2 3 7 8 9 11 15 +0 1 2 3 7 8 9 12 13 +0 1 2 3 7 8 9 12 14 +0 1 2 3 7 8 9 12 15 +0 1 2 3 7 8 9 13 14 +0 1 2 3 7 8 9 13 15 +0 1 2 3 7 8 9 14 15 +0 1 2 3 7 8 10 11 12 +0 1 2 3 7 8 10 11 13 +0 1 2 3 7 8 10 11 14 +0 1 2 3 7 8 10 11 15 +0 1 2 3 7 8 10 12 13 +0 1 2 3 7 8 10 12 14 +0 1 2 3 7 8 10 12 15 +0 1 2 3 7 8 10 13 14 +0 1 2 3 7 8 10 13 15 +0 1 2 3 7 8 10 14 15 +0 1 2 3 7 8 11 12 13 +0 1 2 3 7 8 11 12 14 +0 1 2 3 7 8 11 12 15 +0 1 2 3 7 8 11 13 14 +0 1 2 3 7 8 11 13 15 +0 1 2 3 7 8 11 14 15 +0 1 2 3 7 8 12 13 14 +0 1 2 3 7 8 12 13 15 +0 1 2 3 7 8 12 14 15 +0 1 2 3 7 8 13 14 15 +0 1 2 3 7 9 10 11 12 +0 1 2 3 7 9 10 11 13 +0 1 2 3 7 9 10 11 14 +0 1 2 3 7 9 10 11 15 +0 1 2 3 7 9 10 12 13 +0 1 2 3 7 9 10 12 14 +0 1 2 3 7 9 10 12 15 +0 1 2 3 7 9 10 13 14 +0 1 2 3 7 9 10 13 15 +0 1 2 3 7 9 10 14 15 +0 1 2 3 7 9 11 12 13 +0 1 2 3 7 9 11 12 14 +0 1 2 3 7 9 11 12 15 +0 1 2 3 7 9 11 13 14 +0 1 2 3 7 9 11 13 15 +0 1 2 3 7 9 11 14 15 +0 1 2 3 7 9 12 13 14 +0 1 2 3 7 9 12 13 15 +0 1 2 3 7 9 12 14 15 +0 1 2 3 7 9 13 14 15 +0 1 2 3 7 10 11 12 13 +0 1 2 3 7 10 11 12 14 +0 1 2 3 7 10 11 12 15 +0 1 2 3 7 10 11 13 14 +0 1 2 3 7 10 11 13 15 +0 1 2 3 7 10 11 14 15 +0 1 2 3 7 10 12 13 14 +0 1 2 3 7 10 12 13 15 +0 1 2 3 7 10 12 14 15 +0 1 2 3 7 10 13 14 15 +0 1 2 3 7 11 12 13 14 +0 1 2 3 7 11 12 13 15 +0 1 2 3 7 11 12 14 15 +0 1 2 3 7 11 13 14 15 +0 1 2 3 7 12 13 14 15 +0 1 2 3 8 9 10 11 12 +0 1 2 3 8 9 10 11 13 +0 1 2 3 8 9 10 11 14 +0 1 2 3 8 9 10 11 15 +0 1 2 3 8 9 10 12 13 +0 1 2 3 8 9 10 12 14 +0 1 2 3 8 9 10 12 15 +0 1 2 3 8 9 10 13 14 +0 1 2 3 8 9 10 13 15 +0 1 2 3 8 9 10 14 15 +0 1 2 3 8 9 11 12 13 +0 1 2 3 8 9 11 12 14 +0 1 2 3 8 9 11 12 15 +0 1 2 3 8 9 11 13 14 +0 1 2 3 8 9 11 13 15 +0 1 2 3 8 9 11 14 15 +0 1 2 3 8 9 12 13 14 +0 1 2 3 8 9 12 13 15 +0 1 2 3 8 9 12 14 15 +0 1 2 3 8 9 13 14 15 +0 1 2 3 8 10 11 12 13 +0 1 2 3 8 10 11 12 14 +0 1 2 3 8 10 11 12 15 +0 1 2 3 8 10 11 13 14 +0 1 2 3 8 10 11 13 15 +0 1 2 3 8 10 11 14 15 +0 1 2 3 8 10 12 13 14 +0 1 2 3 8 10 12 13 15 +0 1 2 3 8 10 12 14 15 +0 1 2 3 8 10 13 14 15 +0 1 2 3 8 11 12 13 14 +0 1 2 3 8 11 12 13 15 +0 1 2 3 8 11 12 14 15 +0 1 2 3 8 11 13 14 15 +0 1 2 3 8 12 13 14 15 +0 1 2 3 9 10 11 12 13 +0 1 2 3 9 10 11 12 14 +0 1 2 3 9 10 11 12 15 +0 1 2 3 9 10 11 13 14 +0 1 2 3 9 10 11 13 15 +0 1 2 3 9 10 11 14 15 +0 1 2 3 9 10 12 13 14 +0 1 2 3 9 10 12 13 15 +0 1 2 3 9 10 12 14 15 +0 1 2 3 9 10 13 14 15 +0 1 2 3 9 11 12 13 14 +0 1 2 3 9 11 12 13 15 +0 1 2 3 9 11 12 14 15 +0 1 2 3 9 11 13 14 15 +0 1 2 3 9 12 13 14 15 +0 1 2 3 10 11 12 13 14 +0 1 2 3 10 11 12 13 15 +0 1 2 3 10 11 12 14 15 +0 1 2 3 10 11 13 14 15 +0 1 2 3 10 12 13 14 15 +0 1 2 3 11 12 13 14 15 +0 1 2 4 5 6 7 8 9 +0 1 2 4 5 6 7 8 10 +0 1 2 4 5 6 7 8 11 +0 1 2 4 5 6 7 8 12 +0 1 2 4 5 6 7 8 13 +0 1 2 4 5 6 7 8 14 +0 1 2 4 5 6 7 8 15 +0 1 2 4 5 6 7 9 10 +0 1 2 4 5 6 7 9 11 +0 1 2 4 5 6 7 9 12 +0 1 2 4 5 6 7 9 13 +0 1 2 4 5 6 7 9 14 +0 1 2 4 5 6 7 9 15 +0 1 2 4 5 6 7 10 11 +0 1 2 4 5 6 7 10 12 +0 1 2 4 5 6 7 10 13 +0 1 2 4 5 6 7 10 14 +0 1 2 4 5 6 7 10 15 +0 1 2 4 5 6 7 11 12 +0 1 2 4 5 6 7 11 13 +0 1 2 4 5 6 7 11 14 +0 1 2 4 5 6 7 11 15 +0 1 2 4 5 6 7 12 13 +0 1 2 4 5 6 7 12 14 +0 1 2 4 5 6 7 12 15 +0 1 2 4 5 6 7 13 14 +0 1 2 4 5 6 7 13 15 +0 1 2 4 5 6 7 14 15 +0 1 2 4 5 6 8 9 10 +0 1 2 4 5 6 8 9 11 +0 1 2 4 5 6 8 9 12 +0 1 2 4 5 6 8 9 13 +0 1 2 4 5 6 8 9 14 +0 1 2 4 5 6 8 9 15 +0 1 2 4 5 6 8 10 11 +0 1 2 4 5 6 8 10 12 +0 1 2 4 5 6 8 10 13 +0 1 2 4 5 6 8 10 14 +0 1 2 4 5 6 8 10 15 +0 1 2 4 5 6 8 11 12 +0 1 2 4 5 6 8 11 13 +0 1 2 4 5 6 8 11 14 +0 1 2 4 5 6 8 11 15 +0 1 2 4 5 6 8 12 13 +0 1 2 4 5 6 8 12 14 +0 1 2 4 5 6 8 12 15 +0 1 2 4 5 6 8 13 14 +0 1 2 4 5 6 8 13 15 +0 1 2 4 5 6 8 14 15 +0 1 2 4 5 6 9 10 11 +0 1 2 4 5 6 9 10 12 +0 1 2 4 5 6 9 10 13 +0 1 2 4 5 6 9 10 14 +0 1 2 4 5 6 9 10 15 +0 1 2 4 5 6 9 11 12 +0 1 2 4 5 6 9 11 13 +0 1 2 4 5 6 9 11 14 +0 1 2 4 5 6 9 11 15 +0 1 2 4 5 6 9 12 13 +0 1 2 4 5 6 9 12 14 +0 1 2 4 5 6 9 12 15 +0 1 2 4 5 6 9 13 14 +0 1 2 4 5 6 9 13 15 +0 1 2 4 5 6 9 14 15 +0 1 2 4 5 6 10 11 12 +0 1 2 4 5 6 10 11 13 +0 1 2 4 5 6 10 11 14 +0 1 2 4 5 6 10 11 15 +0 1 2 4 5 6 10 12 13 +0 1 2 4 5 6 10 12 14 +0 1 2 4 5 6 10 12 15 +0 1 2 4 5 6 10 13 14 +0 1 2 4 5 6 10 13 15 +0 1 2 4 5 6 10 14 15 +0 1 2 4 5 6 11 12 13 +0 1 2 4 5 6 11 12 14 +0 1 2 4 5 6 11 12 15 +0 1 2 4 5 6 11 13 14 +0 1 2 4 5 6 11 13 15 +0 1 2 4 5 6 11 14 15 +0 1 2 4 5 6 12 13 14 +0 1 2 4 5 6 12 13 15 +0 1 2 4 5 6 12 14 15 +0 1 2 4 5 6 13 14 15 +0 1 2 4 5 7 8 9 10 +0 1 2 4 5 7 8 9 11 +0 1 2 4 5 7 8 9 12 +0 1 2 4 5 7 8 9 13 +0 1 2 4 5 7 8 9 14 +0 1 2 4 5 7 8 9 15 +0 1 2 4 5 7 8 10 11 +0 1 2 4 5 7 8 10 12 +0 1 2 4 5 7 8 10 13 +0 1 2 4 5 7 8 10 14 +0 1 2 4 5 7 8 10 15 +0 1 2 4 5 7 8 11 12 +0 1 2 4 5 7 8 11 13 +0 1 2 4 5 7 8 11 14 +0 1 2 4 5 7 8 11 15 +0 1 2 4 5 7 8 12 13 +0 1 2 4 5 7 8 12 14 +0 1 2 4 5 7 8 12 15 +0 1 2 4 5 7 8 13 14 +0 1 2 4 5 7 8 13 15 +0 1 2 4 5 7 8 14 15 +0 1 2 4 5 7 9 10 11 +0 1 2 4 5 7 9 10 12 +0 1 2 4 5 7 9 10 13 +0 1 2 4 5 7 9 10 14 +0 1 2 4 5 7 9 10 15 +0 1 2 4 5 7 9 11 12 +0 1 2 4 5 7 9 11 13 +0 1 2 4 5 7 9 11 14 +0 1 2 4 5 7 9 11 15 +0 1 2 4 5 7 9 12 13 +0 1 2 4 5 7 9 12 14 +0 1 2 4 5 7 9 12 15 +0 1 2 4 5 7 9 13 14 +0 1 2 4 5 7 9 13 15 +0 1 2 4 5 7 9 14 15 +0 1 2 4 5 7 10 11 12 +0 1 2 4 5 7 10 11 13 +0 1 2 4 5 7 10 11 14 +0 1 2 4 5 7 10 11 15 +0 1 2 4 5 7 10 12 13 +0 1 2 4 5 7 10 12 14 +0 1 2 4 5 7 10 12 15 +0 1 2 4 5 7 10 13 14 +0 1 2 4 5 7 10 13 15 +0 1 2 4 5 7 10 14 15 +0 1 2 4 5 7 11 12 13 +0 1 2 4 5 7 11 12 14 +0 1 2 4 5 7 11 12 15 +0 1 2 4 5 7 11 13 14 +0 1 2 4 5 7 11 13 15 +0 1 2 4 5 7 11 14 15 +0 1 2 4 5 7 12 13 14 +0 1 2 4 5 7 12 13 15 +0 1 2 4 5 7 12 14 15 +0 1 2 4 5 7 13 14 15 +0 1 2 4 5 8 9 10 11 +0 1 2 4 5 8 9 10 12 +0 1 2 4 5 8 9 10 13 +0 1 2 4 5 8 9 10 14 +0 1 2 4 5 8 9 10 15 +0 1 2 4 5 8 9 11 12 +0 1 2 4 5 8 9 11 13 +0 1 2 4 5 8 9 11 14 +0 1 2 4 5 8 9 11 15 +0 1 2 4 5 8 9 12 13 +0 1 2 4 5 8 9 12 14 +0 1 2 4 5 8 9 12 15 +0 1 2 4 5 8 9 13 14 +0 1 2 4 5 8 9 13 15 +0 1 2 4 5 8 9 14 15 +0 1 2 4 5 8 10 11 12 +0 1 2 4 5 8 10 11 13 +0 1 2 4 5 8 10 11 14 +0 1 2 4 5 8 10 11 15 +0 1 2 4 5 8 10 12 13 +0 1 2 4 5 8 10 12 14 +0 1 2 4 5 8 10 12 15 +0 1 2 4 5 8 10 13 14 +0 1 2 4 5 8 10 13 15 +0 1 2 4 5 8 10 14 15 +0 1 2 4 5 8 11 12 13 +0 1 2 4 5 8 11 12 14 +0 1 2 4 5 8 11 12 15 +0 1 2 4 5 8 11 13 14 +0 1 2 4 5 8 11 13 15 +0 1 2 4 5 8 11 14 15 +0 1 2 4 5 8 12 13 14 +0 1 2 4 5 8 12 13 15 +0 1 2 4 5 8 12 14 15 +0 1 2 4 5 8 13 14 15 +0 1 2 4 5 9 10 11 12 +0 1 2 4 5 9 10 11 13 +0 1 2 4 5 9 10 11 14 +0 1 2 4 5 9 10 11 15 +0 1 2 4 5 9 10 12 13 +0 1 2 4 5 9 10 12 14 +0 1 2 4 5 9 10 12 15 +0 1 2 4 5 9 10 13 14 +0 1 2 4 5 9 10 13 15 +0 1 2 4 5 9 10 14 15 +0 1 2 4 5 9 11 12 13 +0 1 2 4 5 9 11 12 14 +0 1 2 4 5 9 11 12 15 +0 1 2 4 5 9 11 13 14 +0 1 2 4 5 9 11 13 15 +0 1 2 4 5 9 11 14 15 +0 1 2 4 5 9 12 13 14 +0 1 2 4 5 9 12 13 15 +0 1 2 4 5 9 12 14 15 +0 1 2 4 5 9 13 14 15 +0 1 2 4 5 10 11 12 13 +0 1 2 4 5 10 11 12 14 +0 1 2 4 5 10 11 12 15 +0 1 2 4 5 10 11 13 14 +0 1 2 4 5 10 11 13 15 +0 1 2 4 5 10 11 14 15 +0 1 2 4 5 10 12 13 14 +0 1 2 4 5 10 12 13 15 +0 1 2 4 5 10 12 14 15 +0 1 2 4 5 10 13 14 15 +0 1 2 4 5 11 12 13 14 +0 1 2 4 5 11 12 13 15 +0 1 2 4 5 11 12 14 15 +0 1 2 4 5 11 13 14 15 +0 1 2 4 5 12 13 14 15 +0 1 2 4 6 7 8 9 10 +0 1 2 4 6 7 8 9 11 +0 1 2 4 6 7 8 9 12 +0 1 2 4 6 7 8 9 13 +0 1 2 4 6 7 8 9 14 +0 1 2 4 6 7 8 9 15 +0 1 2 4 6 7 8 10 11 +0 1 2 4 6 7 8 10 12 +0 1 2 4 6 7 8 10 13 +0 1 2 4 6 7 8 10 14 +0 1 2 4 6 7 8 10 15 +0 1 2 4 6 7 8 11 12 +0 1 2 4 6 7 8 11 13 +0 1 2 4 6 7 8 11 14 +0 1 2 4 6 7 8 11 15 +0 1 2 4 6 7 8 12 13 +0 1 2 4 6 7 8 12 14 +0 1 2 4 6 7 8 12 15 +0 1 2 4 6 7 8 13 14 +0 1 2 4 6 7 8 13 15 +0 1 2 4 6 7 8 14 15 +0 1 2 4 6 7 9 10 11 +0 1 2 4 6 7 9 10 12 +0 1 2 4 6 7 9 10 13 +0 1 2 4 6 7 9 10 14 +0 1 2 4 6 7 9 10 15 +0 1 2 4 6 7 9 11 12 +0 1 2 4 6 7 9 11 13 +0 1 2 4 6 7 9 11 14 +0 1 2 4 6 7 9 11 15 +0 1 2 4 6 7 9 12 13 +0 1 2 4 6 7 9 12 14 +0 1 2 4 6 7 9 12 15 +0 1 2 4 6 7 9 13 14 +0 1 2 4 6 7 9 13 15 +0 1 2 4 6 7 9 14 15 +0 1 2 4 6 7 10 11 12 +0 1 2 4 6 7 10 11 13 +0 1 2 4 6 7 10 11 14 +0 1 2 4 6 7 10 11 15 +0 1 2 4 6 7 10 12 13 +0 1 2 4 6 7 10 12 14 +0 1 2 4 6 7 10 12 15 +0 1 2 4 6 7 10 13 14 +0 1 2 4 6 7 10 13 15 +0 1 2 4 6 7 10 14 15 +0 1 2 4 6 7 11 12 13 +0 1 2 4 6 7 11 12 14 +0 1 2 4 6 7 11 12 15 +0 1 2 4 6 7 11 13 14 +0 1 2 4 6 7 11 13 15 +0 1 2 4 6 7 11 14 15 +0 1 2 4 6 7 12 13 14 +0 1 2 4 6 7 12 13 15 +0 1 2 4 6 7 12 14 15 +0 1 2 4 6 7 13 14 15 +0 1 2 4 6 8 9 10 11 +0 1 2 4 6 8 9 10 12 +0 1 2 4 6 8 9 10 13 +0 1 2 4 6 8 9 10 14 +0 1 2 4 6 8 9 10 15 +0 1 2 4 6 8 9 11 12 +0 1 2 4 6 8 9 11 13 +0 1 2 4 6 8 9 11 14 +0 1 2 4 6 8 9 11 15 +0 1 2 4 6 8 9 12 13 +0 1 2 4 6 8 9 12 14 +0 1 2 4 6 8 9 12 15 +0 1 2 4 6 8 9 13 14 +0 1 2 4 6 8 9 13 15 +0 1 2 4 6 8 9 14 15 +0 1 2 4 6 8 10 11 12 +0 1 2 4 6 8 10 11 13 +0 1 2 4 6 8 10 11 14 +0 1 2 4 6 8 10 11 15 +0 1 2 4 6 8 10 12 13 +0 1 2 4 6 8 10 12 14 +0 1 2 4 6 8 10 12 15 +0 1 2 4 6 8 10 13 14 +0 1 2 4 6 8 10 13 15 +0 1 2 4 6 8 10 14 15 +0 1 2 4 6 8 11 12 13 +0 1 2 4 6 8 11 12 14 +0 1 2 4 6 8 11 12 15 +0 1 2 4 6 8 11 13 14 +0 1 2 4 6 8 11 13 15 +0 1 2 4 6 8 11 14 15 +0 1 2 4 6 8 12 13 14 +0 1 2 4 6 8 12 13 15 +0 1 2 4 6 8 12 14 15 +0 1 2 4 6 8 13 14 15 +0 1 2 4 6 9 10 11 12 +0 1 2 4 6 9 10 11 13 +0 1 2 4 6 9 10 11 14 +0 1 2 4 6 9 10 11 15 +0 1 2 4 6 9 10 12 13 +0 1 2 4 6 9 10 12 14 +0 1 2 4 6 9 10 12 15 +0 1 2 4 6 9 10 13 14 +0 1 2 4 6 9 10 13 15 +0 1 2 4 6 9 10 14 15 +0 1 2 4 6 9 11 12 13 +0 1 2 4 6 9 11 12 14 +0 1 2 4 6 9 11 12 15 +0 1 2 4 6 9 11 13 14 +0 1 2 4 6 9 11 13 15 +0 1 2 4 6 9 11 14 15 +0 1 2 4 6 9 12 13 14 +0 1 2 4 6 9 12 13 15 +0 1 2 4 6 9 12 14 15 +0 1 2 4 6 9 13 14 15 +0 1 2 4 6 10 11 12 13 +0 1 2 4 6 10 11 12 14 +0 1 2 4 6 10 11 12 15 +0 1 2 4 6 10 11 13 14 +0 1 2 4 6 10 11 13 15 +0 1 2 4 6 10 11 14 15 +0 1 2 4 6 10 12 13 14 +0 1 2 4 6 10 12 13 15 +0 1 2 4 6 10 12 14 15 +0 1 2 4 6 10 13 14 15 +0 1 2 4 6 11 12 13 14 +0 1 2 4 6 11 12 13 15 +0 1 2 4 6 11 12 14 15 +0 1 2 4 6 11 13 14 15 +0 1 2 4 6 12 13 14 15 +0 1 2 4 7 8 9 10 11 +0 1 2 4 7 8 9 10 12 +0 1 2 4 7 8 9 10 13 +0 1 2 4 7 8 9 10 14 +0 1 2 4 7 8 9 10 15 +0 1 2 4 7 8 9 11 12 +0 1 2 4 7 8 9 11 13 +0 1 2 4 7 8 9 11 14 +0 1 2 4 7 8 9 11 15 +0 1 2 4 7 8 9 12 13 +0 1 2 4 7 8 9 12 14 +0 1 2 4 7 8 9 12 15 +0 1 2 4 7 8 9 13 14 +0 1 2 4 7 8 9 13 15 +0 1 2 4 7 8 9 14 15 +0 1 2 4 7 8 10 11 12 +0 1 2 4 7 8 10 11 13 +0 1 2 4 7 8 10 11 14 +0 1 2 4 7 8 10 11 15 +0 1 2 4 7 8 10 12 13 +0 1 2 4 7 8 10 12 14 +0 1 2 4 7 8 10 12 15 +0 1 2 4 7 8 10 13 14 +0 1 2 4 7 8 10 13 15 +0 1 2 4 7 8 10 14 15 +0 1 2 4 7 8 11 12 13 +0 1 2 4 7 8 11 12 14 +0 1 2 4 7 8 11 12 15 +0 1 2 4 7 8 11 13 14 +0 1 2 4 7 8 11 13 15 +0 1 2 4 7 8 11 14 15 +0 1 2 4 7 8 12 13 14 +0 1 2 4 7 8 12 13 15 +0 1 2 4 7 8 12 14 15 +0 1 2 4 7 8 13 14 15 +0 1 2 4 7 9 10 11 12 +0 1 2 4 7 9 10 11 13 +0 1 2 4 7 9 10 11 14 +0 1 2 4 7 9 10 11 15 +0 1 2 4 7 9 10 12 13 +0 1 2 4 7 9 10 12 14 +0 1 2 4 7 9 10 12 15 +0 1 2 4 7 9 10 13 14 +0 1 2 4 7 9 10 13 15 +0 1 2 4 7 9 10 14 15 +0 1 2 4 7 9 11 12 13 +0 1 2 4 7 9 11 12 14 +0 1 2 4 7 9 11 12 15 +0 1 2 4 7 9 11 13 14 +0 1 2 4 7 9 11 13 15 +0 1 2 4 7 9 11 14 15 +0 1 2 4 7 9 12 13 14 +0 1 2 4 7 9 12 13 15 +0 1 2 4 7 9 12 14 15 +0 1 2 4 7 9 13 14 15 +0 1 2 4 7 10 11 12 13 +0 1 2 4 7 10 11 12 14 +0 1 2 4 7 10 11 12 15 +0 1 2 4 7 10 11 13 14 +0 1 2 4 7 10 11 13 15 +0 1 2 4 7 10 11 14 15 +0 1 2 4 7 10 12 13 14 +0 1 2 4 7 10 12 13 15 +0 1 2 4 7 10 12 14 15 +0 1 2 4 7 10 13 14 15 +0 1 2 4 7 11 12 13 14 +0 1 2 4 7 11 12 13 15 +0 1 2 4 7 11 12 14 15 +0 1 2 4 7 11 13 14 15 +0 1 2 4 7 12 13 14 15 +0 1 2 4 8 9 10 11 12 +0 1 2 4 8 9 10 11 13 +0 1 2 4 8 9 10 11 14 +0 1 2 4 8 9 10 11 15 +0 1 2 4 8 9 10 12 13 +0 1 2 4 8 9 10 12 14 +0 1 2 4 8 9 10 12 15 +0 1 2 4 8 9 10 13 14 +0 1 2 4 8 9 10 13 15 +0 1 2 4 8 9 10 14 15 +0 1 2 4 8 9 11 12 13 +0 1 2 4 8 9 11 12 14 +0 1 2 4 8 9 11 12 15 +0 1 2 4 8 9 11 13 14 +0 1 2 4 8 9 11 13 15 +0 1 2 4 8 9 11 14 15 +0 1 2 4 8 9 12 13 14 +0 1 2 4 8 9 12 13 15 +0 1 2 4 8 9 12 14 15 +0 1 2 4 8 9 13 14 15 +0 1 2 4 8 10 11 12 13 +0 1 2 4 8 10 11 12 14 +0 1 2 4 8 10 11 12 15 +0 1 2 4 8 10 11 13 14 +0 1 2 4 8 10 11 13 15 +0 1 2 4 8 10 11 14 15 +0 1 2 4 8 10 12 13 14 +0 1 2 4 8 10 12 13 15 +0 1 2 4 8 10 12 14 15 +0 1 2 4 8 10 13 14 15 +0 1 2 4 8 11 12 13 14 +0 1 2 4 8 11 12 13 15 +0 1 2 4 8 11 12 14 15 +0 1 2 4 8 11 13 14 15 +0 1 2 4 8 12 13 14 15 +0 1 2 4 9 10 11 12 13 +0 1 2 4 9 10 11 12 14 +0 1 2 4 9 10 11 12 15 +0 1 2 4 9 10 11 13 14 +0 1 2 4 9 10 11 13 15 +0 1 2 4 9 10 11 14 15 +0 1 2 4 9 10 12 13 14 +0 1 2 4 9 10 12 13 15 +0 1 2 4 9 10 12 14 15 +0 1 2 4 9 10 13 14 15 +0 1 2 4 9 11 12 13 14 +0 1 2 4 9 11 12 13 15 +0 1 2 4 9 11 12 14 15 +0 1 2 4 9 11 13 14 15 +0 1 2 4 9 12 13 14 15 +0 1 2 4 10 11 12 13 14 +0 1 2 4 10 11 12 13 15 +0 1 2 4 10 11 12 14 15 +0 1 2 4 10 11 13 14 15 +0 1 2 4 10 12 13 14 15 +0 1 2 4 11 12 13 14 15 +0 1 2 5 6 7 8 9 10 +0 1 2 5 6 7 8 9 11 +0 1 2 5 6 7 8 9 12 +0 1 2 5 6 7 8 9 13 +0 1 2 5 6 7 8 9 14 +0 1 2 5 6 7 8 9 15 +0 1 2 5 6 7 8 10 11 +0 1 2 5 6 7 8 10 12 +0 1 2 5 6 7 8 10 13 +0 1 2 5 6 7 8 10 14 +0 1 2 5 6 7 8 10 15 +0 1 2 5 6 7 8 11 12 +0 1 2 5 6 7 8 11 13 +0 1 2 5 6 7 8 11 14 +0 1 2 5 6 7 8 11 15 +0 1 2 5 6 7 8 12 13 +0 1 2 5 6 7 8 12 14 +0 1 2 5 6 7 8 12 15 +0 1 2 5 6 7 8 13 14 +0 1 2 5 6 7 8 13 15 +0 1 2 5 6 7 8 14 15 +0 1 2 5 6 7 9 10 11 +0 1 2 5 6 7 9 10 12 +0 1 2 5 6 7 9 10 13 +0 1 2 5 6 7 9 10 14 +0 1 2 5 6 7 9 10 15 +0 1 2 5 6 7 9 11 12 +0 1 2 5 6 7 9 11 13 +0 1 2 5 6 7 9 11 14 +0 1 2 5 6 7 9 11 15 +0 1 2 5 6 7 9 12 13 +0 1 2 5 6 7 9 12 14 +0 1 2 5 6 7 9 12 15 +0 1 2 5 6 7 9 13 14 +0 1 2 5 6 7 9 13 15 +0 1 2 5 6 7 9 14 15 +0 1 2 5 6 7 10 11 12 +0 1 2 5 6 7 10 11 13 +0 1 2 5 6 7 10 11 14 +0 1 2 5 6 7 10 11 15 +0 1 2 5 6 7 10 12 13 +0 1 2 5 6 7 10 12 14 +0 1 2 5 6 7 10 12 15 +0 1 2 5 6 7 10 13 14 +0 1 2 5 6 7 10 13 15 +0 1 2 5 6 7 10 14 15 +0 1 2 5 6 7 11 12 13 +0 1 2 5 6 7 11 12 14 +0 1 2 5 6 7 11 12 15 +0 1 2 5 6 7 11 13 14 +0 1 2 5 6 7 11 13 15 +0 1 2 5 6 7 11 14 15 +0 1 2 5 6 7 12 13 14 +0 1 2 5 6 7 12 13 15 +0 1 2 5 6 7 12 14 15 +0 1 2 5 6 7 13 14 15 +0 1 2 5 6 8 9 10 11 +0 1 2 5 6 8 9 10 12 +0 1 2 5 6 8 9 10 13 +0 1 2 5 6 8 9 10 14 +0 1 2 5 6 8 9 10 15 +0 1 2 5 6 8 9 11 12 +0 1 2 5 6 8 9 11 13 +0 1 2 5 6 8 9 11 14 +0 1 2 5 6 8 9 11 15 +0 1 2 5 6 8 9 12 13 +0 1 2 5 6 8 9 12 14 +0 1 2 5 6 8 9 12 15 +0 1 2 5 6 8 9 13 14 +0 1 2 5 6 8 9 13 15 +0 1 2 5 6 8 9 14 15 +0 1 2 5 6 8 10 11 12 +0 1 2 5 6 8 10 11 13 +0 1 2 5 6 8 10 11 14 +0 1 2 5 6 8 10 11 15 +0 1 2 5 6 8 10 12 13 +0 1 2 5 6 8 10 12 14 +0 1 2 5 6 8 10 12 15 +0 1 2 5 6 8 10 13 14 +0 1 2 5 6 8 10 13 15 +0 1 2 5 6 8 10 14 15 +0 1 2 5 6 8 11 12 13 +0 1 2 5 6 8 11 12 14 +0 1 2 5 6 8 11 12 15 +0 1 2 5 6 8 11 13 14 +0 1 2 5 6 8 11 13 15 +0 1 2 5 6 8 11 14 15 +0 1 2 5 6 8 12 13 14 +0 1 2 5 6 8 12 13 15 +0 1 2 5 6 8 12 14 15 +0 1 2 5 6 8 13 14 15 +0 1 2 5 6 9 10 11 12 +0 1 2 5 6 9 10 11 13 +0 1 2 5 6 9 10 11 14 +0 1 2 5 6 9 10 11 15 +0 1 2 5 6 9 10 12 13 +0 1 2 5 6 9 10 12 14 +0 1 2 5 6 9 10 12 15 +0 1 2 5 6 9 10 13 14 +0 1 2 5 6 9 10 13 15 +0 1 2 5 6 9 10 14 15 +0 1 2 5 6 9 11 12 13 +0 1 2 5 6 9 11 12 14 +0 1 2 5 6 9 11 12 15 +0 1 2 5 6 9 11 13 14 +0 1 2 5 6 9 11 13 15 +0 1 2 5 6 9 11 14 15 +0 1 2 5 6 9 12 13 14 +0 1 2 5 6 9 12 13 15 +0 1 2 5 6 9 12 14 15 +0 1 2 5 6 9 13 14 15 +0 1 2 5 6 10 11 12 13 +0 1 2 5 6 10 11 12 14 +0 1 2 5 6 10 11 12 15 +0 1 2 5 6 10 11 13 14 +0 1 2 5 6 10 11 13 15 +0 1 2 5 6 10 11 14 15 +0 1 2 5 6 10 12 13 14 +0 1 2 5 6 10 12 13 15 +0 1 2 5 6 10 12 14 15 +0 1 2 5 6 10 13 14 15 +0 1 2 5 6 11 12 13 14 +0 1 2 5 6 11 12 13 15 +0 1 2 5 6 11 12 14 15 +0 1 2 5 6 11 13 14 15 +0 1 2 5 6 12 13 14 15 +0 1 2 5 7 8 9 10 11 +0 1 2 5 7 8 9 10 12 +0 1 2 5 7 8 9 10 13 +0 1 2 5 7 8 9 10 14 +0 1 2 5 7 8 9 10 15 +0 1 2 5 7 8 9 11 12 +0 1 2 5 7 8 9 11 13 +0 1 2 5 7 8 9 11 14 +0 1 2 5 7 8 9 11 15 +0 1 2 5 7 8 9 12 13 +0 1 2 5 7 8 9 12 14 +0 1 2 5 7 8 9 12 15 +0 1 2 5 7 8 9 13 14 +0 1 2 5 7 8 9 13 15 +0 1 2 5 7 8 9 14 15 +0 1 2 5 7 8 10 11 12 +0 1 2 5 7 8 10 11 13 +0 1 2 5 7 8 10 11 14 +0 1 2 5 7 8 10 11 15 +0 1 2 5 7 8 10 12 13 +0 1 2 5 7 8 10 12 14 +0 1 2 5 7 8 10 12 15 +0 1 2 5 7 8 10 13 14 +0 1 2 5 7 8 10 13 15 +0 1 2 5 7 8 10 14 15 +0 1 2 5 7 8 11 12 13 +0 1 2 5 7 8 11 12 14 +0 1 2 5 7 8 11 12 15 +0 1 2 5 7 8 11 13 14 +0 1 2 5 7 8 11 13 15 +0 1 2 5 7 8 11 14 15 +0 1 2 5 7 8 12 13 14 +0 1 2 5 7 8 12 13 15 +0 1 2 5 7 8 12 14 15 +0 1 2 5 7 8 13 14 15 +0 1 2 5 7 9 10 11 12 +0 1 2 5 7 9 10 11 13 +0 1 2 5 7 9 10 11 14 +0 1 2 5 7 9 10 11 15 +0 1 2 5 7 9 10 12 13 +0 1 2 5 7 9 10 12 14 +0 1 2 5 7 9 10 12 15 +0 1 2 5 7 9 10 13 14 +0 1 2 5 7 9 10 13 15 +0 1 2 5 7 9 10 14 15 +0 1 2 5 7 9 11 12 13 +0 1 2 5 7 9 11 12 14 +0 1 2 5 7 9 11 12 15 +0 1 2 5 7 9 11 13 14 +0 1 2 5 7 9 11 13 15 +0 1 2 5 7 9 11 14 15 +0 1 2 5 7 9 12 13 14 +0 1 2 5 7 9 12 13 15 +0 1 2 5 7 9 12 14 15 +0 1 2 5 7 9 13 14 15 +0 1 2 5 7 10 11 12 13 +0 1 2 5 7 10 11 12 14 +0 1 2 5 7 10 11 12 15 +0 1 2 5 7 10 11 13 14 +0 1 2 5 7 10 11 13 15 +0 1 2 5 7 10 11 14 15 +0 1 2 5 7 10 12 13 14 +0 1 2 5 7 10 12 13 15 +0 1 2 5 7 10 12 14 15 +0 1 2 5 7 10 13 14 15 +0 1 2 5 7 11 12 13 14 +0 1 2 5 7 11 12 13 15 +0 1 2 5 7 11 12 14 15 +0 1 2 5 7 11 13 14 15 +0 1 2 5 7 12 13 14 15 +0 1 2 5 8 9 10 11 12 +0 1 2 5 8 9 10 11 13 +0 1 2 5 8 9 10 11 14 +0 1 2 5 8 9 10 11 15 +0 1 2 5 8 9 10 12 13 +0 1 2 5 8 9 10 12 14 +0 1 2 5 8 9 10 12 15 +0 1 2 5 8 9 10 13 14 +0 1 2 5 8 9 10 13 15 +0 1 2 5 8 9 10 14 15 +0 1 2 5 8 9 11 12 13 +0 1 2 5 8 9 11 12 14 +0 1 2 5 8 9 11 12 15 +0 1 2 5 8 9 11 13 14 +0 1 2 5 8 9 11 13 15 +0 1 2 5 8 9 11 14 15 +0 1 2 5 8 9 12 13 14 +0 1 2 5 8 9 12 13 15 +0 1 2 5 8 9 12 14 15 +0 1 2 5 8 9 13 14 15 +0 1 2 5 8 10 11 12 13 +0 1 2 5 8 10 11 12 14 +0 1 2 5 8 10 11 12 15 +0 1 2 5 8 10 11 13 14 +0 1 2 5 8 10 11 13 15 +0 1 2 5 8 10 11 14 15 +0 1 2 5 8 10 12 13 14 +0 1 2 5 8 10 12 13 15 +0 1 2 5 8 10 12 14 15 +0 1 2 5 8 10 13 14 15 +0 1 2 5 8 11 12 13 14 +0 1 2 5 8 11 12 13 15 +0 1 2 5 8 11 12 14 15 +0 1 2 5 8 11 13 14 15 +0 1 2 5 8 12 13 14 15 +0 1 2 5 9 10 11 12 13 +0 1 2 5 9 10 11 12 14 +0 1 2 5 9 10 11 12 15 +0 1 2 5 9 10 11 13 14 +0 1 2 5 9 10 11 13 15 +0 1 2 5 9 10 11 14 15 +0 1 2 5 9 10 12 13 14 +0 1 2 5 9 10 12 13 15 +0 1 2 5 9 10 12 14 15 +0 1 2 5 9 10 13 14 15 +0 1 2 5 9 11 12 13 14 +0 1 2 5 9 11 12 13 15 +0 1 2 5 9 11 12 14 15 +0 1 2 5 9 11 13 14 15 +0 1 2 5 9 12 13 14 15 +0 1 2 5 10 11 12 13 14 +0 1 2 5 10 11 12 13 15 +0 1 2 5 10 11 12 14 15 +0 1 2 5 10 11 13 14 15 +0 1 2 5 10 12 13 14 15 +0 1 2 5 11 12 13 14 15 +0 1 2 6 7 8 9 10 11 +0 1 2 6 7 8 9 10 12 +0 1 2 6 7 8 9 10 13 +0 1 2 6 7 8 9 10 14 +0 1 2 6 7 8 9 10 15 +0 1 2 6 7 8 9 11 12 +0 1 2 6 7 8 9 11 13 +0 1 2 6 7 8 9 11 14 +0 1 2 6 7 8 9 11 15 +0 1 2 6 7 8 9 12 13 +0 1 2 6 7 8 9 12 14 +0 1 2 6 7 8 9 12 15 +0 1 2 6 7 8 9 13 14 +0 1 2 6 7 8 9 13 15 +0 1 2 6 7 8 9 14 15 +0 1 2 6 7 8 10 11 12 +0 1 2 6 7 8 10 11 13 +0 1 2 6 7 8 10 11 14 +0 1 2 6 7 8 10 11 15 +0 1 2 6 7 8 10 12 13 +0 1 2 6 7 8 10 12 14 +0 1 2 6 7 8 10 12 15 +0 1 2 6 7 8 10 13 14 +0 1 2 6 7 8 10 13 15 +0 1 2 6 7 8 10 14 15 +0 1 2 6 7 8 11 12 13 +0 1 2 6 7 8 11 12 14 +0 1 2 6 7 8 11 12 15 +0 1 2 6 7 8 11 13 14 +0 1 2 6 7 8 11 13 15 +0 1 2 6 7 8 11 14 15 +0 1 2 6 7 8 12 13 14 +0 1 2 6 7 8 12 13 15 +0 1 2 6 7 8 12 14 15 +0 1 2 6 7 8 13 14 15 +0 1 2 6 7 9 10 11 12 +0 1 2 6 7 9 10 11 13 +0 1 2 6 7 9 10 11 14 +0 1 2 6 7 9 10 11 15 +0 1 2 6 7 9 10 12 13 +0 1 2 6 7 9 10 12 14 +0 1 2 6 7 9 10 12 15 +0 1 2 6 7 9 10 13 14 +0 1 2 6 7 9 10 13 15 +0 1 2 6 7 9 10 14 15 +0 1 2 6 7 9 11 12 13 +0 1 2 6 7 9 11 12 14 +0 1 2 6 7 9 11 12 15 +0 1 2 6 7 9 11 13 14 +0 1 2 6 7 9 11 13 15 +0 1 2 6 7 9 11 14 15 +0 1 2 6 7 9 12 13 14 +0 1 2 6 7 9 12 13 15 +0 1 2 6 7 9 12 14 15 +0 1 2 6 7 9 13 14 15 +0 1 2 6 7 10 11 12 13 +0 1 2 6 7 10 11 12 14 +0 1 2 6 7 10 11 12 15 +0 1 2 6 7 10 11 13 14 +0 1 2 6 7 10 11 13 15 +0 1 2 6 7 10 11 14 15 +0 1 2 6 7 10 12 13 14 +0 1 2 6 7 10 12 13 15 +0 1 2 6 7 10 12 14 15 +0 1 2 6 7 10 13 14 15 +0 1 2 6 7 11 12 13 14 +0 1 2 6 7 11 12 13 15 +0 1 2 6 7 11 12 14 15 +0 1 2 6 7 11 13 14 15 +0 1 2 6 7 12 13 14 15 +0 1 2 6 8 9 10 11 12 +0 1 2 6 8 9 10 11 13 +0 1 2 6 8 9 10 11 14 +0 1 2 6 8 9 10 11 15 +0 1 2 6 8 9 10 12 13 +0 1 2 6 8 9 10 12 14 +0 1 2 6 8 9 10 12 15 +0 1 2 6 8 9 10 13 14 +0 1 2 6 8 9 10 13 15 +0 1 2 6 8 9 10 14 15 +0 1 2 6 8 9 11 12 13 +0 1 2 6 8 9 11 12 14 +0 1 2 6 8 9 11 12 15 +0 1 2 6 8 9 11 13 14 +0 1 2 6 8 9 11 13 15 +0 1 2 6 8 9 11 14 15 +0 1 2 6 8 9 12 13 14 +0 1 2 6 8 9 12 13 15 +0 1 2 6 8 9 12 14 15 +0 1 2 6 8 9 13 14 15 +0 1 2 6 8 10 11 12 13 +0 1 2 6 8 10 11 12 14 +0 1 2 6 8 10 11 12 15 +0 1 2 6 8 10 11 13 14 +0 1 2 6 8 10 11 13 15 +0 1 2 6 8 10 11 14 15 +0 1 2 6 8 10 12 13 14 +0 1 2 6 8 10 12 13 15 +0 1 2 6 8 10 12 14 15 +0 1 2 6 8 10 13 14 15 +0 1 2 6 8 11 12 13 14 +0 1 2 6 8 11 12 13 15 +0 1 2 6 8 11 12 14 15 +0 1 2 6 8 11 13 14 15 +0 1 2 6 8 12 13 14 15 +0 1 2 6 9 10 11 12 13 +0 1 2 6 9 10 11 12 14 +0 1 2 6 9 10 11 12 15 +0 1 2 6 9 10 11 13 14 +0 1 2 6 9 10 11 13 15 +0 1 2 6 9 10 11 14 15 +0 1 2 6 9 10 12 13 14 +0 1 2 6 9 10 12 13 15 +0 1 2 6 9 10 12 14 15 +0 1 2 6 9 10 13 14 15 +0 1 2 6 9 11 12 13 14 +0 1 2 6 9 11 12 13 15 +0 1 2 6 9 11 12 14 15 +0 1 2 6 9 11 13 14 15 +0 1 2 6 9 12 13 14 15 +0 1 2 6 10 11 12 13 14 +0 1 2 6 10 11 12 13 15 +0 1 2 6 10 11 12 14 15 +0 1 2 6 10 11 13 14 15 +0 1 2 6 10 12 13 14 15 +0 1 2 6 11 12 13 14 15 +0 1 2 7 8 9 10 11 12 +0 1 2 7 8 9 10 11 13 +0 1 2 7 8 9 10 11 14 +0 1 2 7 8 9 10 11 15 +0 1 2 7 8 9 10 12 13 +0 1 2 7 8 9 10 12 14 +0 1 2 7 8 9 10 12 15 +0 1 2 7 8 9 10 13 14 +0 1 2 7 8 9 10 13 15 +0 1 2 7 8 9 10 14 15 +0 1 2 7 8 9 11 12 13 +0 1 2 7 8 9 11 12 14 +0 1 2 7 8 9 11 12 15 +0 1 2 7 8 9 11 13 14 +0 1 2 7 8 9 11 13 15 +0 1 2 7 8 9 11 14 15 +0 1 2 7 8 9 12 13 14 +0 1 2 7 8 9 12 13 15 +0 1 2 7 8 9 12 14 15 +0 1 2 7 8 9 13 14 15 +0 1 2 7 8 10 11 12 13 +0 1 2 7 8 10 11 12 14 +0 1 2 7 8 10 11 12 15 +0 1 2 7 8 10 11 13 14 +0 1 2 7 8 10 11 13 15 +0 1 2 7 8 10 11 14 15 +0 1 2 7 8 10 12 13 14 +0 1 2 7 8 10 12 13 15 +0 1 2 7 8 10 12 14 15 +0 1 2 7 8 10 13 14 15 +0 1 2 7 8 11 12 13 14 +0 1 2 7 8 11 12 13 15 +0 1 2 7 8 11 12 14 15 +0 1 2 7 8 11 13 14 15 +0 1 2 7 8 12 13 14 15 +0 1 2 7 9 10 11 12 13 +0 1 2 7 9 10 11 12 14 +0 1 2 7 9 10 11 12 15 +0 1 2 7 9 10 11 13 14 +0 1 2 7 9 10 11 13 15 +0 1 2 7 9 10 11 14 15 +0 1 2 7 9 10 12 13 14 +0 1 2 7 9 10 12 13 15 +0 1 2 7 9 10 12 14 15 +0 1 2 7 9 10 13 14 15 +0 1 2 7 9 11 12 13 14 +0 1 2 7 9 11 12 13 15 +0 1 2 7 9 11 12 14 15 +0 1 2 7 9 11 13 14 15 +0 1 2 7 9 12 13 14 15 +0 1 2 7 10 11 12 13 14 +0 1 2 7 10 11 12 13 15 +0 1 2 7 10 11 12 14 15 +0 1 2 7 10 11 13 14 15 +0 1 2 7 10 12 13 14 15 +0 1 2 7 11 12 13 14 15 +0 1 2 8 9 10 11 12 13 +0 1 2 8 9 10 11 12 14 +0 1 2 8 9 10 11 12 15 +0 1 2 8 9 10 11 13 14 +0 1 2 8 9 10 11 13 15 +0 1 2 8 9 10 11 14 15 +0 1 2 8 9 10 12 13 14 +0 1 2 8 9 10 12 13 15 +0 1 2 8 9 10 12 14 15 +0 1 2 8 9 10 13 14 15 +0 1 2 8 9 11 12 13 14 +0 1 2 8 9 11 12 13 15 +0 1 2 8 9 11 12 14 15 +0 1 2 8 9 11 13 14 15 +0 1 2 8 9 12 13 14 15 +0 1 2 8 10 11 12 13 14 +0 1 2 8 10 11 12 13 15 +0 1 2 8 10 11 12 14 15 +0 1 2 8 10 11 13 14 15 +0 1 2 8 10 12 13 14 15 +0 1 2 8 11 12 13 14 15 +0 1 2 9 10 11 12 13 14 +0 1 2 9 10 11 12 13 15 +0 1 2 9 10 11 12 14 15 +0 1 2 9 10 11 13 14 15 +0 1 2 9 10 12 13 14 15 +0 1 2 9 11 12 13 14 15 +0 1 2 10 11 12 13 14 15 +0 1 3 4 5 6 7 8 9 +0 1 3 4 5 6 7 8 10 +0 1 3 4 5 6 7 8 11 +0 1 3 4 5 6 7 8 12 +0 1 3 4 5 6 7 8 13 +0 1 3 4 5 6 7 8 14 +0 1 3 4 5 6 7 8 15 +0 1 3 4 5 6 7 9 10 +0 1 3 4 5 6 7 9 11 +0 1 3 4 5 6 7 9 12 +0 1 3 4 5 6 7 9 13 +0 1 3 4 5 6 7 9 14 +0 1 3 4 5 6 7 9 15 +0 1 3 4 5 6 7 10 11 +0 1 3 4 5 6 7 10 12 +0 1 3 4 5 6 7 10 13 +0 1 3 4 5 6 7 10 14 +0 1 3 4 5 6 7 10 15 +0 1 3 4 5 6 7 11 12 +0 1 3 4 5 6 7 11 13 +0 1 3 4 5 6 7 11 14 +0 1 3 4 5 6 7 11 15 +0 1 3 4 5 6 7 12 13 +0 1 3 4 5 6 7 12 14 +0 1 3 4 5 6 7 12 15 +0 1 3 4 5 6 7 13 14 +0 1 3 4 5 6 7 13 15 +0 1 3 4 5 6 7 14 15 +0 1 3 4 5 6 8 9 10 +0 1 3 4 5 6 8 9 11 +0 1 3 4 5 6 8 9 12 +0 1 3 4 5 6 8 9 13 +0 1 3 4 5 6 8 9 14 +0 1 3 4 5 6 8 9 15 +0 1 3 4 5 6 8 10 11 +0 1 3 4 5 6 8 10 12 +0 1 3 4 5 6 8 10 13 +0 1 3 4 5 6 8 10 14 +0 1 3 4 5 6 8 10 15 +0 1 3 4 5 6 8 11 12 +0 1 3 4 5 6 8 11 13 +0 1 3 4 5 6 8 11 14 +0 1 3 4 5 6 8 11 15 +0 1 3 4 5 6 8 12 13 +0 1 3 4 5 6 8 12 14 +0 1 3 4 5 6 8 12 15 +0 1 3 4 5 6 8 13 14 +0 1 3 4 5 6 8 13 15 +0 1 3 4 5 6 8 14 15 +0 1 3 4 5 6 9 10 11 +0 1 3 4 5 6 9 10 12 +0 1 3 4 5 6 9 10 13 +0 1 3 4 5 6 9 10 14 +0 1 3 4 5 6 9 10 15 +0 1 3 4 5 6 9 11 12 +0 1 3 4 5 6 9 11 13 +0 1 3 4 5 6 9 11 14 +0 1 3 4 5 6 9 11 15 +0 1 3 4 5 6 9 12 13 +0 1 3 4 5 6 9 12 14 +0 1 3 4 5 6 9 12 15 +0 1 3 4 5 6 9 13 14 +0 1 3 4 5 6 9 13 15 +0 1 3 4 5 6 9 14 15 +0 1 3 4 5 6 10 11 12 +0 1 3 4 5 6 10 11 13 +0 1 3 4 5 6 10 11 14 +0 1 3 4 5 6 10 11 15 +0 1 3 4 5 6 10 12 13 +0 1 3 4 5 6 10 12 14 +0 1 3 4 5 6 10 12 15 +0 1 3 4 5 6 10 13 14 +0 1 3 4 5 6 10 13 15 +0 1 3 4 5 6 10 14 15 +0 1 3 4 5 6 11 12 13 +0 1 3 4 5 6 11 12 14 +0 1 3 4 5 6 11 12 15 +0 1 3 4 5 6 11 13 14 +0 1 3 4 5 6 11 13 15 +0 1 3 4 5 6 11 14 15 +0 1 3 4 5 6 12 13 14 +0 1 3 4 5 6 12 13 15 +0 1 3 4 5 6 12 14 15 +0 1 3 4 5 6 13 14 15 +0 1 3 4 5 7 8 9 10 +0 1 3 4 5 7 8 9 11 +0 1 3 4 5 7 8 9 12 +0 1 3 4 5 7 8 9 13 +0 1 3 4 5 7 8 9 14 +0 1 3 4 5 7 8 9 15 +0 1 3 4 5 7 8 10 11 +0 1 3 4 5 7 8 10 12 +0 1 3 4 5 7 8 10 13 +0 1 3 4 5 7 8 10 14 +0 1 3 4 5 7 8 10 15 +0 1 3 4 5 7 8 11 12 +0 1 3 4 5 7 8 11 13 +0 1 3 4 5 7 8 11 14 +0 1 3 4 5 7 8 11 15 +0 1 3 4 5 7 8 12 13 +0 1 3 4 5 7 8 12 14 +0 1 3 4 5 7 8 12 15 +0 1 3 4 5 7 8 13 14 +0 1 3 4 5 7 8 13 15 +0 1 3 4 5 7 8 14 15 +0 1 3 4 5 7 9 10 11 +0 1 3 4 5 7 9 10 12 +0 1 3 4 5 7 9 10 13 +0 1 3 4 5 7 9 10 14 +0 1 3 4 5 7 9 10 15 +0 1 3 4 5 7 9 11 12 +0 1 3 4 5 7 9 11 13 +0 1 3 4 5 7 9 11 14 +0 1 3 4 5 7 9 11 15 +0 1 3 4 5 7 9 12 13 +0 1 3 4 5 7 9 12 14 +0 1 3 4 5 7 9 12 15 +0 1 3 4 5 7 9 13 14 +0 1 3 4 5 7 9 13 15 +0 1 3 4 5 7 9 14 15 +0 1 3 4 5 7 10 11 12 +0 1 3 4 5 7 10 11 13 +0 1 3 4 5 7 10 11 14 +0 1 3 4 5 7 10 11 15 +0 1 3 4 5 7 10 12 13 +0 1 3 4 5 7 10 12 14 +0 1 3 4 5 7 10 12 15 +0 1 3 4 5 7 10 13 14 +0 1 3 4 5 7 10 13 15 +0 1 3 4 5 7 10 14 15 +0 1 3 4 5 7 11 12 13 +0 1 3 4 5 7 11 12 14 +0 1 3 4 5 7 11 12 15 +0 1 3 4 5 7 11 13 14 +0 1 3 4 5 7 11 13 15 +0 1 3 4 5 7 11 14 15 +0 1 3 4 5 7 12 13 14 +0 1 3 4 5 7 12 13 15 +0 1 3 4 5 7 12 14 15 +0 1 3 4 5 7 13 14 15 +0 1 3 4 5 8 9 10 11 +0 1 3 4 5 8 9 10 12 +0 1 3 4 5 8 9 10 13 +0 1 3 4 5 8 9 10 14 +0 1 3 4 5 8 9 10 15 +0 1 3 4 5 8 9 11 12 +0 1 3 4 5 8 9 11 13 +0 1 3 4 5 8 9 11 14 +0 1 3 4 5 8 9 11 15 +0 1 3 4 5 8 9 12 13 +0 1 3 4 5 8 9 12 14 +0 1 3 4 5 8 9 12 15 +0 1 3 4 5 8 9 13 14 +0 1 3 4 5 8 9 13 15 +0 1 3 4 5 8 9 14 15 +0 1 3 4 5 8 10 11 12 +0 1 3 4 5 8 10 11 13 +0 1 3 4 5 8 10 11 14 +0 1 3 4 5 8 10 11 15 +0 1 3 4 5 8 10 12 13 +0 1 3 4 5 8 10 12 14 +0 1 3 4 5 8 10 12 15 +0 1 3 4 5 8 10 13 14 +0 1 3 4 5 8 10 13 15 +0 1 3 4 5 8 10 14 15 +0 1 3 4 5 8 11 12 13 +0 1 3 4 5 8 11 12 14 +0 1 3 4 5 8 11 12 15 +0 1 3 4 5 8 11 13 14 +0 1 3 4 5 8 11 13 15 +0 1 3 4 5 8 11 14 15 +0 1 3 4 5 8 12 13 14 +0 1 3 4 5 8 12 13 15 +0 1 3 4 5 8 12 14 15 +0 1 3 4 5 8 13 14 15 +0 1 3 4 5 9 10 11 12 +0 1 3 4 5 9 10 11 13 +0 1 3 4 5 9 10 11 14 +0 1 3 4 5 9 10 11 15 +0 1 3 4 5 9 10 12 13 +0 1 3 4 5 9 10 12 14 +0 1 3 4 5 9 10 12 15 +0 1 3 4 5 9 10 13 14 +0 1 3 4 5 9 10 13 15 +0 1 3 4 5 9 10 14 15 +0 1 3 4 5 9 11 12 13 +0 1 3 4 5 9 11 12 14 +0 1 3 4 5 9 11 12 15 +0 1 3 4 5 9 11 13 14 +0 1 3 4 5 9 11 13 15 +0 1 3 4 5 9 11 14 15 +0 1 3 4 5 9 12 13 14 +0 1 3 4 5 9 12 13 15 +0 1 3 4 5 9 12 14 15 +0 1 3 4 5 9 13 14 15 +0 1 3 4 5 10 11 12 13 +0 1 3 4 5 10 11 12 14 +0 1 3 4 5 10 11 12 15 +0 1 3 4 5 10 11 13 14 +0 1 3 4 5 10 11 13 15 +0 1 3 4 5 10 11 14 15 +0 1 3 4 5 10 12 13 14 +0 1 3 4 5 10 12 13 15 +0 1 3 4 5 10 12 14 15 +0 1 3 4 5 10 13 14 15 +0 1 3 4 5 11 12 13 14 +0 1 3 4 5 11 12 13 15 +0 1 3 4 5 11 12 14 15 +0 1 3 4 5 11 13 14 15 +0 1 3 4 5 12 13 14 15 +0 1 3 4 6 7 8 9 10 +0 1 3 4 6 7 8 9 11 +0 1 3 4 6 7 8 9 12 +0 1 3 4 6 7 8 9 13 +0 1 3 4 6 7 8 9 14 +0 1 3 4 6 7 8 9 15 +0 1 3 4 6 7 8 10 11 +0 1 3 4 6 7 8 10 12 +0 1 3 4 6 7 8 10 13 +0 1 3 4 6 7 8 10 14 +0 1 3 4 6 7 8 10 15 +0 1 3 4 6 7 8 11 12 +0 1 3 4 6 7 8 11 13 +0 1 3 4 6 7 8 11 14 +0 1 3 4 6 7 8 11 15 +0 1 3 4 6 7 8 12 13 +0 1 3 4 6 7 8 12 14 +0 1 3 4 6 7 8 12 15 +0 1 3 4 6 7 8 13 14 +0 1 3 4 6 7 8 13 15 +0 1 3 4 6 7 8 14 15 +0 1 3 4 6 7 9 10 11 +0 1 3 4 6 7 9 10 12 +0 1 3 4 6 7 9 10 13 +0 1 3 4 6 7 9 10 14 +0 1 3 4 6 7 9 10 15 +0 1 3 4 6 7 9 11 12 +0 1 3 4 6 7 9 11 13 +0 1 3 4 6 7 9 11 14 +0 1 3 4 6 7 9 11 15 +0 1 3 4 6 7 9 12 13 +0 1 3 4 6 7 9 12 14 +0 1 3 4 6 7 9 12 15 +0 1 3 4 6 7 9 13 14 +0 1 3 4 6 7 9 13 15 +0 1 3 4 6 7 9 14 15 +0 1 3 4 6 7 10 11 12 +0 1 3 4 6 7 10 11 13 +0 1 3 4 6 7 10 11 14 +0 1 3 4 6 7 10 11 15 +0 1 3 4 6 7 10 12 13 +0 1 3 4 6 7 10 12 14 +0 1 3 4 6 7 10 12 15 +0 1 3 4 6 7 10 13 14 +0 1 3 4 6 7 10 13 15 +0 1 3 4 6 7 10 14 15 +0 1 3 4 6 7 11 12 13 +0 1 3 4 6 7 11 12 14 +0 1 3 4 6 7 11 12 15 +0 1 3 4 6 7 11 13 14 +0 1 3 4 6 7 11 13 15 +0 1 3 4 6 7 11 14 15 +0 1 3 4 6 7 12 13 14 +0 1 3 4 6 7 12 13 15 +0 1 3 4 6 7 12 14 15 +0 1 3 4 6 7 13 14 15 +0 1 3 4 6 8 9 10 11 +0 1 3 4 6 8 9 10 12 +0 1 3 4 6 8 9 10 13 +0 1 3 4 6 8 9 10 14 +0 1 3 4 6 8 9 10 15 +0 1 3 4 6 8 9 11 12 +0 1 3 4 6 8 9 11 13 +0 1 3 4 6 8 9 11 14 +0 1 3 4 6 8 9 11 15 +0 1 3 4 6 8 9 12 13 +0 1 3 4 6 8 9 12 14 +0 1 3 4 6 8 9 12 15 +0 1 3 4 6 8 9 13 14 +0 1 3 4 6 8 9 13 15 +0 1 3 4 6 8 9 14 15 +0 1 3 4 6 8 10 11 12 +0 1 3 4 6 8 10 11 13 +0 1 3 4 6 8 10 11 14 +0 1 3 4 6 8 10 11 15 +0 1 3 4 6 8 10 12 13 +0 1 3 4 6 8 10 12 14 +0 1 3 4 6 8 10 12 15 +0 1 3 4 6 8 10 13 14 +0 1 3 4 6 8 10 13 15 +0 1 3 4 6 8 10 14 15 +0 1 3 4 6 8 11 12 13 +0 1 3 4 6 8 11 12 14 +0 1 3 4 6 8 11 12 15 +0 1 3 4 6 8 11 13 14 +0 1 3 4 6 8 11 13 15 +0 1 3 4 6 8 11 14 15 +0 1 3 4 6 8 12 13 14 +0 1 3 4 6 8 12 13 15 +0 1 3 4 6 8 12 14 15 +0 1 3 4 6 8 13 14 15 +0 1 3 4 6 9 10 11 12 +0 1 3 4 6 9 10 11 13 +0 1 3 4 6 9 10 11 14 +0 1 3 4 6 9 10 11 15 +0 1 3 4 6 9 10 12 13 +0 1 3 4 6 9 10 12 14 +0 1 3 4 6 9 10 12 15 +0 1 3 4 6 9 10 13 14 +0 1 3 4 6 9 10 13 15 +0 1 3 4 6 9 10 14 15 +0 1 3 4 6 9 11 12 13 +0 1 3 4 6 9 11 12 14 +0 1 3 4 6 9 11 12 15 +0 1 3 4 6 9 11 13 14 +0 1 3 4 6 9 11 13 15 +0 1 3 4 6 9 11 14 15 +0 1 3 4 6 9 12 13 14 +0 1 3 4 6 9 12 13 15 +0 1 3 4 6 9 12 14 15 +0 1 3 4 6 9 13 14 15 +0 1 3 4 6 10 11 12 13 +0 1 3 4 6 10 11 12 14 +0 1 3 4 6 10 11 12 15 +0 1 3 4 6 10 11 13 14 +0 1 3 4 6 10 11 13 15 +0 1 3 4 6 10 11 14 15 +0 1 3 4 6 10 12 13 14 +0 1 3 4 6 10 12 13 15 +0 1 3 4 6 10 12 14 15 +0 1 3 4 6 10 13 14 15 +0 1 3 4 6 11 12 13 14 +0 1 3 4 6 11 12 13 15 +0 1 3 4 6 11 12 14 15 +0 1 3 4 6 11 13 14 15 +0 1 3 4 6 12 13 14 15 +0 1 3 4 7 8 9 10 11 +0 1 3 4 7 8 9 10 12 +0 1 3 4 7 8 9 10 13 +0 1 3 4 7 8 9 10 14 +0 1 3 4 7 8 9 10 15 +0 1 3 4 7 8 9 11 12 +0 1 3 4 7 8 9 11 13 +0 1 3 4 7 8 9 11 14 +0 1 3 4 7 8 9 11 15 +0 1 3 4 7 8 9 12 13 +0 1 3 4 7 8 9 12 14 +0 1 3 4 7 8 9 12 15 +0 1 3 4 7 8 9 13 14 +0 1 3 4 7 8 9 13 15 +0 1 3 4 7 8 9 14 15 +0 1 3 4 7 8 10 11 12 +0 1 3 4 7 8 10 11 13 +0 1 3 4 7 8 10 11 14 +0 1 3 4 7 8 10 11 15 +0 1 3 4 7 8 10 12 13 +0 1 3 4 7 8 10 12 14 +0 1 3 4 7 8 10 12 15 +0 1 3 4 7 8 10 13 14 +0 1 3 4 7 8 10 13 15 +0 1 3 4 7 8 10 14 15 +0 1 3 4 7 8 11 12 13 +0 1 3 4 7 8 11 12 14 +0 1 3 4 7 8 11 12 15 +0 1 3 4 7 8 11 13 14 +0 1 3 4 7 8 11 13 15 +0 1 3 4 7 8 11 14 15 +0 1 3 4 7 8 12 13 14 +0 1 3 4 7 8 12 13 15 +0 1 3 4 7 8 12 14 15 +0 1 3 4 7 8 13 14 15 +0 1 3 4 7 9 10 11 12 +0 1 3 4 7 9 10 11 13 +0 1 3 4 7 9 10 11 14 +0 1 3 4 7 9 10 11 15 +0 1 3 4 7 9 10 12 13 +0 1 3 4 7 9 10 12 14 +0 1 3 4 7 9 10 12 15 +0 1 3 4 7 9 10 13 14 +0 1 3 4 7 9 10 13 15 +0 1 3 4 7 9 10 14 15 +0 1 3 4 7 9 11 12 13 +0 1 3 4 7 9 11 12 14 +0 1 3 4 7 9 11 12 15 +0 1 3 4 7 9 11 13 14 +0 1 3 4 7 9 11 13 15 +0 1 3 4 7 9 11 14 15 +0 1 3 4 7 9 12 13 14 +0 1 3 4 7 9 12 13 15 +0 1 3 4 7 9 12 14 15 +0 1 3 4 7 9 13 14 15 +0 1 3 4 7 10 11 12 13 +0 1 3 4 7 10 11 12 14 +0 1 3 4 7 10 11 12 15 +0 1 3 4 7 10 11 13 14 +0 1 3 4 7 10 11 13 15 +0 1 3 4 7 10 11 14 15 +0 1 3 4 7 10 12 13 14 +0 1 3 4 7 10 12 13 15 +0 1 3 4 7 10 12 14 15 +0 1 3 4 7 10 13 14 15 +0 1 3 4 7 11 12 13 14 +0 1 3 4 7 11 12 13 15 +0 1 3 4 7 11 12 14 15 +0 1 3 4 7 11 13 14 15 +0 1 3 4 7 12 13 14 15 +0 1 3 4 8 9 10 11 12 +0 1 3 4 8 9 10 11 13 +0 1 3 4 8 9 10 11 14 +0 1 3 4 8 9 10 11 15 +0 1 3 4 8 9 10 12 13 +0 1 3 4 8 9 10 12 14 +0 1 3 4 8 9 10 12 15 +0 1 3 4 8 9 10 13 14 +0 1 3 4 8 9 10 13 15 +0 1 3 4 8 9 10 14 15 +0 1 3 4 8 9 11 12 13 +0 1 3 4 8 9 11 12 14 +0 1 3 4 8 9 11 12 15 +0 1 3 4 8 9 11 13 14 +0 1 3 4 8 9 11 13 15 +0 1 3 4 8 9 11 14 15 +0 1 3 4 8 9 12 13 14 +0 1 3 4 8 9 12 13 15 +0 1 3 4 8 9 12 14 15 +0 1 3 4 8 9 13 14 15 +0 1 3 4 8 10 11 12 13 +0 1 3 4 8 10 11 12 14 +0 1 3 4 8 10 11 12 15 +0 1 3 4 8 10 11 13 14 +0 1 3 4 8 10 11 13 15 +0 1 3 4 8 10 11 14 15 +0 1 3 4 8 10 12 13 14 +0 1 3 4 8 10 12 13 15 +0 1 3 4 8 10 12 14 15 +0 1 3 4 8 10 13 14 15 +0 1 3 4 8 11 12 13 14 +0 1 3 4 8 11 12 13 15 +0 1 3 4 8 11 12 14 15 +0 1 3 4 8 11 13 14 15 +0 1 3 4 8 12 13 14 15 +0 1 3 4 9 10 11 12 13 +0 1 3 4 9 10 11 12 14 +0 1 3 4 9 10 11 12 15 +0 1 3 4 9 10 11 13 14 +0 1 3 4 9 10 11 13 15 +0 1 3 4 9 10 11 14 15 +0 1 3 4 9 10 12 13 14 +0 1 3 4 9 10 12 13 15 +0 1 3 4 9 10 12 14 15 +0 1 3 4 9 10 13 14 15 +0 1 3 4 9 11 12 13 14 +0 1 3 4 9 11 12 13 15 +0 1 3 4 9 11 12 14 15 +0 1 3 4 9 11 13 14 15 +0 1 3 4 9 12 13 14 15 +0 1 3 4 10 11 12 13 14 +0 1 3 4 10 11 12 13 15 +0 1 3 4 10 11 12 14 15 +0 1 3 4 10 11 13 14 15 +0 1 3 4 10 12 13 14 15 +0 1 3 4 11 12 13 14 15 +0 1 3 5 6 7 8 9 10 +0 1 3 5 6 7 8 9 11 +0 1 3 5 6 7 8 9 12 +0 1 3 5 6 7 8 9 13 +0 1 3 5 6 7 8 9 14 +0 1 3 5 6 7 8 9 15 +0 1 3 5 6 7 8 10 11 +0 1 3 5 6 7 8 10 12 +0 1 3 5 6 7 8 10 13 +0 1 3 5 6 7 8 10 14 +0 1 3 5 6 7 8 10 15 +0 1 3 5 6 7 8 11 12 +0 1 3 5 6 7 8 11 13 +0 1 3 5 6 7 8 11 14 +0 1 3 5 6 7 8 11 15 +0 1 3 5 6 7 8 12 13 +0 1 3 5 6 7 8 12 14 +0 1 3 5 6 7 8 12 15 +0 1 3 5 6 7 8 13 14 +0 1 3 5 6 7 8 13 15 +0 1 3 5 6 7 8 14 15 +0 1 3 5 6 7 9 10 11 +0 1 3 5 6 7 9 10 12 +0 1 3 5 6 7 9 10 13 +0 1 3 5 6 7 9 10 14 +0 1 3 5 6 7 9 10 15 +0 1 3 5 6 7 9 11 12 +0 1 3 5 6 7 9 11 13 +0 1 3 5 6 7 9 11 14 +0 1 3 5 6 7 9 11 15 +0 1 3 5 6 7 9 12 13 +0 1 3 5 6 7 9 12 14 +0 1 3 5 6 7 9 12 15 +0 1 3 5 6 7 9 13 14 +0 1 3 5 6 7 9 13 15 +0 1 3 5 6 7 9 14 15 +0 1 3 5 6 7 10 11 12 +0 1 3 5 6 7 10 11 13 +0 1 3 5 6 7 10 11 14 +0 1 3 5 6 7 10 11 15 +0 1 3 5 6 7 10 12 13 +0 1 3 5 6 7 10 12 14 +0 1 3 5 6 7 10 12 15 +0 1 3 5 6 7 10 13 14 +0 1 3 5 6 7 10 13 15 +0 1 3 5 6 7 10 14 15 +0 1 3 5 6 7 11 12 13 +0 1 3 5 6 7 11 12 14 +0 1 3 5 6 7 11 12 15 +0 1 3 5 6 7 11 13 14 +0 1 3 5 6 7 11 13 15 +0 1 3 5 6 7 11 14 15 +0 1 3 5 6 7 12 13 14 +0 1 3 5 6 7 12 13 15 +0 1 3 5 6 7 12 14 15 +0 1 3 5 6 7 13 14 15 +0 1 3 5 6 8 9 10 11 +0 1 3 5 6 8 9 10 12 +0 1 3 5 6 8 9 10 13 +0 1 3 5 6 8 9 10 14 +0 1 3 5 6 8 9 10 15 +0 1 3 5 6 8 9 11 12 +0 1 3 5 6 8 9 11 13 +0 1 3 5 6 8 9 11 14 +0 1 3 5 6 8 9 11 15 +0 1 3 5 6 8 9 12 13 +0 1 3 5 6 8 9 12 14 +0 1 3 5 6 8 9 12 15 +0 1 3 5 6 8 9 13 14 +0 1 3 5 6 8 9 13 15 +0 1 3 5 6 8 9 14 15 +0 1 3 5 6 8 10 11 12 +0 1 3 5 6 8 10 11 13 +0 1 3 5 6 8 10 11 14 +0 1 3 5 6 8 10 11 15 +0 1 3 5 6 8 10 12 13 +0 1 3 5 6 8 10 12 14 +0 1 3 5 6 8 10 12 15 +0 1 3 5 6 8 10 13 14 +0 1 3 5 6 8 10 13 15 +0 1 3 5 6 8 10 14 15 +0 1 3 5 6 8 11 12 13 +0 1 3 5 6 8 11 12 14 +0 1 3 5 6 8 11 12 15 +0 1 3 5 6 8 11 13 14 +0 1 3 5 6 8 11 13 15 +0 1 3 5 6 8 11 14 15 +0 1 3 5 6 8 12 13 14 +0 1 3 5 6 8 12 13 15 +0 1 3 5 6 8 12 14 15 +0 1 3 5 6 8 13 14 15 +0 1 3 5 6 9 10 11 12 +0 1 3 5 6 9 10 11 13 +0 1 3 5 6 9 10 11 14 +0 1 3 5 6 9 10 11 15 +0 1 3 5 6 9 10 12 13 +0 1 3 5 6 9 10 12 14 +0 1 3 5 6 9 10 12 15 +0 1 3 5 6 9 10 13 14 +0 1 3 5 6 9 10 13 15 +0 1 3 5 6 9 10 14 15 +0 1 3 5 6 9 11 12 13 +0 1 3 5 6 9 11 12 14 +0 1 3 5 6 9 11 12 15 +0 1 3 5 6 9 11 13 14 +0 1 3 5 6 9 11 13 15 +0 1 3 5 6 9 11 14 15 +0 1 3 5 6 9 12 13 14 +0 1 3 5 6 9 12 13 15 +0 1 3 5 6 9 12 14 15 +0 1 3 5 6 9 13 14 15 +0 1 3 5 6 10 11 12 13 +0 1 3 5 6 10 11 12 14 +0 1 3 5 6 10 11 12 15 +0 1 3 5 6 10 11 13 14 +0 1 3 5 6 10 11 13 15 +0 1 3 5 6 10 11 14 15 +0 1 3 5 6 10 12 13 14 +0 1 3 5 6 10 12 13 15 +0 1 3 5 6 10 12 14 15 +0 1 3 5 6 10 13 14 15 +0 1 3 5 6 11 12 13 14 +0 1 3 5 6 11 12 13 15 +0 1 3 5 6 11 12 14 15 +0 1 3 5 6 11 13 14 15 +0 1 3 5 6 12 13 14 15 +0 1 3 5 7 8 9 10 11 +0 1 3 5 7 8 9 10 12 +0 1 3 5 7 8 9 10 13 +0 1 3 5 7 8 9 10 14 +0 1 3 5 7 8 9 10 15 +0 1 3 5 7 8 9 11 12 +0 1 3 5 7 8 9 11 13 +0 1 3 5 7 8 9 11 14 +0 1 3 5 7 8 9 11 15 +0 1 3 5 7 8 9 12 13 +0 1 3 5 7 8 9 12 14 +0 1 3 5 7 8 9 12 15 +0 1 3 5 7 8 9 13 14 +0 1 3 5 7 8 9 13 15 +0 1 3 5 7 8 9 14 15 +0 1 3 5 7 8 10 11 12 +0 1 3 5 7 8 10 11 13 +0 1 3 5 7 8 10 11 14 +0 1 3 5 7 8 10 11 15 +0 1 3 5 7 8 10 12 13 +0 1 3 5 7 8 10 12 14 +0 1 3 5 7 8 10 12 15 +0 1 3 5 7 8 10 13 14 +0 1 3 5 7 8 10 13 15 +0 1 3 5 7 8 10 14 15 +0 1 3 5 7 8 11 12 13 +0 1 3 5 7 8 11 12 14 +0 1 3 5 7 8 11 12 15 +0 1 3 5 7 8 11 13 14 +0 1 3 5 7 8 11 13 15 +0 1 3 5 7 8 11 14 15 +0 1 3 5 7 8 12 13 14 +0 1 3 5 7 8 12 13 15 +0 1 3 5 7 8 12 14 15 +0 1 3 5 7 8 13 14 15 +0 1 3 5 7 9 10 11 12 +0 1 3 5 7 9 10 11 13 +0 1 3 5 7 9 10 11 14 +0 1 3 5 7 9 10 11 15 +0 1 3 5 7 9 10 12 13 +0 1 3 5 7 9 10 12 14 +0 1 3 5 7 9 10 12 15 +0 1 3 5 7 9 10 13 14 +0 1 3 5 7 9 10 13 15 +0 1 3 5 7 9 10 14 15 +0 1 3 5 7 9 11 12 13 +0 1 3 5 7 9 11 12 14 +0 1 3 5 7 9 11 12 15 +0 1 3 5 7 9 11 13 14 +0 1 3 5 7 9 11 13 15 +0 1 3 5 7 9 11 14 15 +0 1 3 5 7 9 12 13 14 +0 1 3 5 7 9 12 13 15 +0 1 3 5 7 9 12 14 15 +0 1 3 5 7 9 13 14 15 +0 1 3 5 7 10 11 12 13 +0 1 3 5 7 10 11 12 14 +0 1 3 5 7 10 11 12 15 +0 1 3 5 7 10 11 13 14 +0 1 3 5 7 10 11 13 15 +0 1 3 5 7 10 11 14 15 +0 1 3 5 7 10 12 13 14 +0 1 3 5 7 10 12 13 15 +0 1 3 5 7 10 12 14 15 +0 1 3 5 7 10 13 14 15 +0 1 3 5 7 11 12 13 14 +0 1 3 5 7 11 12 13 15 +0 1 3 5 7 11 12 14 15 +0 1 3 5 7 11 13 14 15 +0 1 3 5 7 12 13 14 15 +0 1 3 5 8 9 10 11 12 +0 1 3 5 8 9 10 11 13 +0 1 3 5 8 9 10 11 14 +0 1 3 5 8 9 10 11 15 +0 1 3 5 8 9 10 12 13 +0 1 3 5 8 9 10 12 14 +0 1 3 5 8 9 10 12 15 +0 1 3 5 8 9 10 13 14 +0 1 3 5 8 9 10 13 15 +0 1 3 5 8 9 10 14 15 +0 1 3 5 8 9 11 12 13 +0 1 3 5 8 9 11 12 14 +0 1 3 5 8 9 11 12 15 +0 1 3 5 8 9 11 13 14 +0 1 3 5 8 9 11 13 15 +0 1 3 5 8 9 11 14 15 +0 1 3 5 8 9 12 13 14 +0 1 3 5 8 9 12 13 15 +0 1 3 5 8 9 12 14 15 +0 1 3 5 8 9 13 14 15 +0 1 3 5 8 10 11 12 13 +0 1 3 5 8 10 11 12 14 +0 1 3 5 8 10 11 12 15 +0 1 3 5 8 10 11 13 14 +0 1 3 5 8 10 11 13 15 +0 1 3 5 8 10 11 14 15 +0 1 3 5 8 10 12 13 14 +0 1 3 5 8 10 12 13 15 +0 1 3 5 8 10 12 14 15 +0 1 3 5 8 10 13 14 15 +0 1 3 5 8 11 12 13 14 +0 1 3 5 8 11 12 13 15 +0 1 3 5 8 11 12 14 15 +0 1 3 5 8 11 13 14 15 +0 1 3 5 8 12 13 14 15 +0 1 3 5 9 10 11 12 13 +0 1 3 5 9 10 11 12 14 +0 1 3 5 9 10 11 12 15 +0 1 3 5 9 10 11 13 14 +0 1 3 5 9 10 11 13 15 +0 1 3 5 9 10 11 14 15 +0 1 3 5 9 10 12 13 14 +0 1 3 5 9 10 12 13 15 +0 1 3 5 9 10 12 14 15 +0 1 3 5 9 10 13 14 15 +0 1 3 5 9 11 12 13 14 +0 1 3 5 9 11 12 13 15 +0 1 3 5 9 11 12 14 15 +0 1 3 5 9 11 13 14 15 +0 1 3 5 9 12 13 14 15 +0 1 3 5 10 11 12 13 14 +0 1 3 5 10 11 12 13 15 +0 1 3 5 10 11 12 14 15 +0 1 3 5 10 11 13 14 15 +0 1 3 5 10 12 13 14 15 +0 1 3 5 11 12 13 14 15 +0 1 3 6 7 8 9 10 11 +0 1 3 6 7 8 9 10 12 +0 1 3 6 7 8 9 10 13 +0 1 3 6 7 8 9 10 14 +0 1 3 6 7 8 9 10 15 +0 1 3 6 7 8 9 11 12 +0 1 3 6 7 8 9 11 13 +0 1 3 6 7 8 9 11 14 +0 1 3 6 7 8 9 11 15 +0 1 3 6 7 8 9 12 13 +0 1 3 6 7 8 9 12 14 +0 1 3 6 7 8 9 12 15 +0 1 3 6 7 8 9 13 14 +0 1 3 6 7 8 9 13 15 +0 1 3 6 7 8 9 14 15 +0 1 3 6 7 8 10 11 12 +0 1 3 6 7 8 10 11 13 +0 1 3 6 7 8 10 11 14 +0 1 3 6 7 8 10 11 15 +0 1 3 6 7 8 10 12 13 +0 1 3 6 7 8 10 12 14 +0 1 3 6 7 8 10 12 15 +0 1 3 6 7 8 10 13 14 +0 1 3 6 7 8 10 13 15 +0 1 3 6 7 8 10 14 15 +0 1 3 6 7 8 11 12 13 +0 1 3 6 7 8 11 12 14 +0 1 3 6 7 8 11 12 15 +0 1 3 6 7 8 11 13 14 +0 1 3 6 7 8 11 13 15 +0 1 3 6 7 8 11 14 15 +0 1 3 6 7 8 12 13 14 +0 1 3 6 7 8 12 13 15 +0 1 3 6 7 8 12 14 15 +0 1 3 6 7 8 13 14 15 +0 1 3 6 7 9 10 11 12 +0 1 3 6 7 9 10 11 13 +0 1 3 6 7 9 10 11 14 +0 1 3 6 7 9 10 11 15 +0 1 3 6 7 9 10 12 13 +0 1 3 6 7 9 10 12 14 +0 1 3 6 7 9 10 12 15 +0 1 3 6 7 9 10 13 14 +0 1 3 6 7 9 10 13 15 +0 1 3 6 7 9 10 14 15 +0 1 3 6 7 9 11 12 13 +0 1 3 6 7 9 11 12 14 +0 1 3 6 7 9 11 12 15 +0 1 3 6 7 9 11 13 14 +0 1 3 6 7 9 11 13 15 +0 1 3 6 7 9 11 14 15 +0 1 3 6 7 9 12 13 14 +0 1 3 6 7 9 12 13 15 +0 1 3 6 7 9 12 14 15 +0 1 3 6 7 9 13 14 15 +0 1 3 6 7 10 11 12 13 +0 1 3 6 7 10 11 12 14 +0 1 3 6 7 10 11 12 15 +0 1 3 6 7 10 11 13 14 +0 1 3 6 7 10 11 13 15 +0 1 3 6 7 10 11 14 15 +0 1 3 6 7 10 12 13 14 +0 1 3 6 7 10 12 13 15 +0 1 3 6 7 10 12 14 15 +0 1 3 6 7 10 13 14 15 +0 1 3 6 7 11 12 13 14 +0 1 3 6 7 11 12 13 15 +0 1 3 6 7 11 12 14 15 +0 1 3 6 7 11 13 14 15 +0 1 3 6 7 12 13 14 15 +0 1 3 6 8 9 10 11 12 +0 1 3 6 8 9 10 11 13 +0 1 3 6 8 9 10 11 14 +0 1 3 6 8 9 10 11 15 +0 1 3 6 8 9 10 12 13 +0 1 3 6 8 9 10 12 14 +0 1 3 6 8 9 10 12 15 +0 1 3 6 8 9 10 13 14 +0 1 3 6 8 9 10 13 15 +0 1 3 6 8 9 10 14 15 +0 1 3 6 8 9 11 12 13 +0 1 3 6 8 9 11 12 14 +0 1 3 6 8 9 11 12 15 +0 1 3 6 8 9 11 13 14 +0 1 3 6 8 9 11 13 15 +0 1 3 6 8 9 11 14 15 +0 1 3 6 8 9 12 13 14 +0 1 3 6 8 9 12 13 15 +0 1 3 6 8 9 12 14 15 +0 1 3 6 8 9 13 14 15 +0 1 3 6 8 10 11 12 13 +0 1 3 6 8 10 11 12 14 +0 1 3 6 8 10 11 12 15 +0 1 3 6 8 10 11 13 14 +0 1 3 6 8 10 11 13 15 +0 1 3 6 8 10 11 14 15 +0 1 3 6 8 10 12 13 14 +0 1 3 6 8 10 12 13 15 +0 1 3 6 8 10 12 14 15 +0 1 3 6 8 10 13 14 15 +0 1 3 6 8 11 12 13 14 +0 1 3 6 8 11 12 13 15 +0 1 3 6 8 11 12 14 15 +0 1 3 6 8 11 13 14 15 +0 1 3 6 8 12 13 14 15 +0 1 3 6 9 10 11 12 13 +0 1 3 6 9 10 11 12 14 +0 1 3 6 9 10 11 12 15 +0 1 3 6 9 10 11 13 14 +0 1 3 6 9 10 11 13 15 +0 1 3 6 9 10 11 14 15 +0 1 3 6 9 10 12 13 14 +0 1 3 6 9 10 12 13 15 +0 1 3 6 9 10 12 14 15 +0 1 3 6 9 10 13 14 15 +0 1 3 6 9 11 12 13 14 +0 1 3 6 9 11 12 13 15 +0 1 3 6 9 11 12 14 15 +0 1 3 6 9 11 13 14 15 +0 1 3 6 9 12 13 14 15 +0 1 3 6 10 11 12 13 14 +0 1 3 6 10 11 12 13 15 +0 1 3 6 10 11 12 14 15 +0 1 3 6 10 11 13 14 15 +0 1 3 6 10 12 13 14 15 +0 1 3 6 11 12 13 14 15 +0 1 3 7 8 9 10 11 12 +0 1 3 7 8 9 10 11 13 +0 1 3 7 8 9 10 11 14 +0 1 3 7 8 9 10 11 15 +0 1 3 7 8 9 10 12 13 +0 1 3 7 8 9 10 12 14 +0 1 3 7 8 9 10 12 15 +0 1 3 7 8 9 10 13 14 +0 1 3 7 8 9 10 13 15 +0 1 3 7 8 9 10 14 15 +0 1 3 7 8 9 11 12 13 +0 1 3 7 8 9 11 12 14 +0 1 3 7 8 9 11 12 15 +0 1 3 7 8 9 11 13 14 +0 1 3 7 8 9 11 13 15 +0 1 3 7 8 9 11 14 15 +0 1 3 7 8 9 12 13 14 +0 1 3 7 8 9 12 13 15 +0 1 3 7 8 9 12 14 15 +0 1 3 7 8 9 13 14 15 +0 1 3 7 8 10 11 12 13 +0 1 3 7 8 10 11 12 14 +0 1 3 7 8 10 11 12 15 +0 1 3 7 8 10 11 13 14 +0 1 3 7 8 10 11 13 15 +0 1 3 7 8 10 11 14 15 +0 1 3 7 8 10 12 13 14 +0 1 3 7 8 10 12 13 15 +0 1 3 7 8 10 12 14 15 +0 1 3 7 8 10 13 14 15 +0 1 3 7 8 11 12 13 14 +0 1 3 7 8 11 12 13 15 +0 1 3 7 8 11 12 14 15 +0 1 3 7 8 11 13 14 15 +0 1 3 7 8 12 13 14 15 +0 1 3 7 9 10 11 12 13 +0 1 3 7 9 10 11 12 14 +0 1 3 7 9 10 11 12 15 +0 1 3 7 9 10 11 13 14 +0 1 3 7 9 10 11 13 15 +0 1 3 7 9 10 11 14 15 +0 1 3 7 9 10 12 13 14 +0 1 3 7 9 10 12 13 15 +0 1 3 7 9 10 12 14 15 +0 1 3 7 9 10 13 14 15 +0 1 3 7 9 11 12 13 14 +0 1 3 7 9 11 12 13 15 +0 1 3 7 9 11 12 14 15 +0 1 3 7 9 11 13 14 15 +0 1 3 7 9 12 13 14 15 +0 1 3 7 10 11 12 13 14 +0 1 3 7 10 11 12 13 15 +0 1 3 7 10 11 12 14 15 +0 1 3 7 10 11 13 14 15 +0 1 3 7 10 12 13 14 15 +0 1 3 7 11 12 13 14 15 +0 1 3 8 9 10 11 12 13 +0 1 3 8 9 10 11 12 14 +0 1 3 8 9 10 11 12 15 +0 1 3 8 9 10 11 13 14 +0 1 3 8 9 10 11 13 15 +0 1 3 8 9 10 11 14 15 +0 1 3 8 9 10 12 13 14 +0 1 3 8 9 10 12 13 15 +0 1 3 8 9 10 12 14 15 +0 1 3 8 9 10 13 14 15 +0 1 3 8 9 11 12 13 14 +0 1 3 8 9 11 12 13 15 +0 1 3 8 9 11 12 14 15 +0 1 3 8 9 11 13 14 15 +0 1 3 8 9 12 13 14 15 +0 1 3 8 10 11 12 13 14 +0 1 3 8 10 11 12 13 15 +0 1 3 8 10 11 12 14 15 +0 1 3 8 10 11 13 14 15 +0 1 3 8 10 12 13 14 15 +0 1 3 8 11 12 13 14 15 +0 1 3 9 10 11 12 13 14 +0 1 3 9 10 11 12 13 15 +0 1 3 9 10 11 12 14 15 +0 1 3 9 10 11 13 14 15 +0 1 3 9 10 12 13 14 15 +0 1 3 9 11 12 13 14 15 +0 1 3 10 11 12 13 14 15 +0 1 4 5 6 7 8 9 10 +0 1 4 5 6 7 8 9 11 +0 1 4 5 6 7 8 9 12 +0 1 4 5 6 7 8 9 13 +0 1 4 5 6 7 8 9 14 +0 1 4 5 6 7 8 9 15 +0 1 4 5 6 7 8 10 11 +0 1 4 5 6 7 8 10 12 +0 1 4 5 6 7 8 10 13 +0 1 4 5 6 7 8 10 14 +0 1 4 5 6 7 8 10 15 +0 1 4 5 6 7 8 11 12 +0 1 4 5 6 7 8 11 13 +0 1 4 5 6 7 8 11 14 +0 1 4 5 6 7 8 11 15 +0 1 4 5 6 7 8 12 13 +0 1 4 5 6 7 8 12 14 +0 1 4 5 6 7 8 12 15 +0 1 4 5 6 7 8 13 14 +0 1 4 5 6 7 8 13 15 +0 1 4 5 6 7 8 14 15 +0 1 4 5 6 7 9 10 11 +0 1 4 5 6 7 9 10 12 +0 1 4 5 6 7 9 10 13 +0 1 4 5 6 7 9 10 14 +0 1 4 5 6 7 9 10 15 +0 1 4 5 6 7 9 11 12 +0 1 4 5 6 7 9 11 13 +0 1 4 5 6 7 9 11 14 +0 1 4 5 6 7 9 11 15 +0 1 4 5 6 7 9 12 13 +0 1 4 5 6 7 9 12 14 +0 1 4 5 6 7 9 12 15 +0 1 4 5 6 7 9 13 14 +0 1 4 5 6 7 9 13 15 +0 1 4 5 6 7 9 14 15 +0 1 4 5 6 7 10 11 12 +0 1 4 5 6 7 10 11 13 +0 1 4 5 6 7 10 11 14 +0 1 4 5 6 7 10 11 15 +0 1 4 5 6 7 10 12 13 +0 1 4 5 6 7 10 12 14 +0 1 4 5 6 7 10 12 15 +0 1 4 5 6 7 10 13 14 +0 1 4 5 6 7 10 13 15 +0 1 4 5 6 7 10 14 15 +0 1 4 5 6 7 11 12 13 +0 1 4 5 6 7 11 12 14 +0 1 4 5 6 7 11 12 15 +0 1 4 5 6 7 11 13 14 +0 1 4 5 6 7 11 13 15 +0 1 4 5 6 7 11 14 15 +0 1 4 5 6 7 12 13 14 +0 1 4 5 6 7 12 13 15 +0 1 4 5 6 7 12 14 15 +0 1 4 5 6 7 13 14 15 +0 1 4 5 6 8 9 10 11 +0 1 4 5 6 8 9 10 12 +0 1 4 5 6 8 9 10 13 +0 1 4 5 6 8 9 10 14 +0 1 4 5 6 8 9 10 15 +0 1 4 5 6 8 9 11 12 +0 1 4 5 6 8 9 11 13 +0 1 4 5 6 8 9 11 14 +0 1 4 5 6 8 9 11 15 +0 1 4 5 6 8 9 12 13 +0 1 4 5 6 8 9 12 14 +0 1 4 5 6 8 9 12 15 +0 1 4 5 6 8 9 13 14 +0 1 4 5 6 8 9 13 15 +0 1 4 5 6 8 9 14 15 +0 1 4 5 6 8 10 11 12 +0 1 4 5 6 8 10 11 13 +0 1 4 5 6 8 10 11 14 +0 1 4 5 6 8 10 11 15 +0 1 4 5 6 8 10 12 13 +0 1 4 5 6 8 10 12 14 +0 1 4 5 6 8 10 12 15 +0 1 4 5 6 8 10 13 14 +0 1 4 5 6 8 10 13 15 +0 1 4 5 6 8 10 14 15 +0 1 4 5 6 8 11 12 13 +0 1 4 5 6 8 11 12 14 +0 1 4 5 6 8 11 12 15 +0 1 4 5 6 8 11 13 14 +0 1 4 5 6 8 11 13 15 +0 1 4 5 6 8 11 14 15 +0 1 4 5 6 8 12 13 14 +0 1 4 5 6 8 12 13 15 +0 1 4 5 6 8 12 14 15 +0 1 4 5 6 8 13 14 15 +0 1 4 5 6 9 10 11 12 +0 1 4 5 6 9 10 11 13 +0 1 4 5 6 9 10 11 14 +0 1 4 5 6 9 10 11 15 +0 1 4 5 6 9 10 12 13 +0 1 4 5 6 9 10 12 14 +0 1 4 5 6 9 10 12 15 +0 1 4 5 6 9 10 13 14 +0 1 4 5 6 9 10 13 15 +0 1 4 5 6 9 10 14 15 +0 1 4 5 6 9 11 12 13 +0 1 4 5 6 9 11 12 14 +0 1 4 5 6 9 11 12 15 +0 1 4 5 6 9 11 13 14 +0 1 4 5 6 9 11 13 15 +0 1 4 5 6 9 11 14 15 +0 1 4 5 6 9 12 13 14 +0 1 4 5 6 9 12 13 15 +0 1 4 5 6 9 12 14 15 +0 1 4 5 6 9 13 14 15 +0 1 4 5 6 10 11 12 13 +0 1 4 5 6 10 11 12 14 +0 1 4 5 6 10 11 12 15 +0 1 4 5 6 10 11 13 14 +0 1 4 5 6 10 11 13 15 +0 1 4 5 6 10 11 14 15 +0 1 4 5 6 10 12 13 14 +0 1 4 5 6 10 12 13 15 +0 1 4 5 6 10 12 14 15 +0 1 4 5 6 10 13 14 15 +0 1 4 5 6 11 12 13 14 +0 1 4 5 6 11 12 13 15 +0 1 4 5 6 11 12 14 15 +0 1 4 5 6 11 13 14 15 +0 1 4 5 6 12 13 14 15 +0 1 4 5 7 8 9 10 11 +0 1 4 5 7 8 9 10 12 +0 1 4 5 7 8 9 10 13 +0 1 4 5 7 8 9 10 14 +0 1 4 5 7 8 9 10 15 +0 1 4 5 7 8 9 11 12 +0 1 4 5 7 8 9 11 13 +0 1 4 5 7 8 9 11 14 +0 1 4 5 7 8 9 11 15 +0 1 4 5 7 8 9 12 13 +0 1 4 5 7 8 9 12 14 +0 1 4 5 7 8 9 12 15 +0 1 4 5 7 8 9 13 14 +0 1 4 5 7 8 9 13 15 +0 1 4 5 7 8 9 14 15 +0 1 4 5 7 8 10 11 12 +0 1 4 5 7 8 10 11 13 +0 1 4 5 7 8 10 11 14 +0 1 4 5 7 8 10 11 15 +0 1 4 5 7 8 10 12 13 +0 1 4 5 7 8 10 12 14 +0 1 4 5 7 8 10 12 15 +0 1 4 5 7 8 10 13 14 +0 1 4 5 7 8 10 13 15 +0 1 4 5 7 8 10 14 15 +0 1 4 5 7 8 11 12 13 +0 1 4 5 7 8 11 12 14 +0 1 4 5 7 8 11 12 15 +0 1 4 5 7 8 11 13 14 +0 1 4 5 7 8 11 13 15 +0 1 4 5 7 8 11 14 15 +0 1 4 5 7 8 12 13 14 +0 1 4 5 7 8 12 13 15 +0 1 4 5 7 8 12 14 15 +0 1 4 5 7 8 13 14 15 +0 1 4 5 7 9 10 11 12 +0 1 4 5 7 9 10 11 13 +0 1 4 5 7 9 10 11 14 +0 1 4 5 7 9 10 11 15 +0 1 4 5 7 9 10 12 13 +0 1 4 5 7 9 10 12 14 +0 1 4 5 7 9 10 12 15 +0 1 4 5 7 9 10 13 14 +0 1 4 5 7 9 10 13 15 +0 1 4 5 7 9 10 14 15 +0 1 4 5 7 9 11 12 13 +0 1 4 5 7 9 11 12 14 +0 1 4 5 7 9 11 12 15 +0 1 4 5 7 9 11 13 14 +0 1 4 5 7 9 11 13 15 +0 1 4 5 7 9 11 14 15 +0 1 4 5 7 9 12 13 14 +0 1 4 5 7 9 12 13 15 +0 1 4 5 7 9 12 14 15 +0 1 4 5 7 9 13 14 15 +0 1 4 5 7 10 11 12 13 +0 1 4 5 7 10 11 12 14 +0 1 4 5 7 10 11 12 15 +0 1 4 5 7 10 11 13 14 +0 1 4 5 7 10 11 13 15 +0 1 4 5 7 10 11 14 15 +0 1 4 5 7 10 12 13 14 +0 1 4 5 7 10 12 13 15 +0 1 4 5 7 10 12 14 15 +0 1 4 5 7 10 13 14 15 +0 1 4 5 7 11 12 13 14 +0 1 4 5 7 11 12 13 15 +0 1 4 5 7 11 12 14 15 +0 1 4 5 7 11 13 14 15 +0 1 4 5 7 12 13 14 15 +0 1 4 5 8 9 10 11 12 +0 1 4 5 8 9 10 11 13 +0 1 4 5 8 9 10 11 14 +0 1 4 5 8 9 10 11 15 +0 1 4 5 8 9 10 12 13 +0 1 4 5 8 9 10 12 14 +0 1 4 5 8 9 10 12 15 +0 1 4 5 8 9 10 13 14 +0 1 4 5 8 9 10 13 15 +0 1 4 5 8 9 10 14 15 +0 1 4 5 8 9 11 12 13 +0 1 4 5 8 9 11 12 14 +0 1 4 5 8 9 11 12 15 +0 1 4 5 8 9 11 13 14 +0 1 4 5 8 9 11 13 15 +0 1 4 5 8 9 11 14 15 +0 1 4 5 8 9 12 13 14 +0 1 4 5 8 9 12 13 15 +0 1 4 5 8 9 12 14 15 +0 1 4 5 8 9 13 14 15 +0 1 4 5 8 10 11 12 13 +0 1 4 5 8 10 11 12 14 +0 1 4 5 8 10 11 12 15 +0 1 4 5 8 10 11 13 14 +0 1 4 5 8 10 11 13 15 +0 1 4 5 8 10 11 14 15 +0 1 4 5 8 10 12 13 14 +0 1 4 5 8 10 12 13 15 +0 1 4 5 8 10 12 14 15 +0 1 4 5 8 10 13 14 15 +0 1 4 5 8 11 12 13 14 +0 1 4 5 8 11 12 13 15 +0 1 4 5 8 11 12 14 15 +0 1 4 5 8 11 13 14 15 +0 1 4 5 8 12 13 14 15 +0 1 4 5 9 10 11 12 13 +0 1 4 5 9 10 11 12 14 +0 1 4 5 9 10 11 12 15 +0 1 4 5 9 10 11 13 14 +0 1 4 5 9 10 11 13 15 +0 1 4 5 9 10 11 14 15 +0 1 4 5 9 10 12 13 14 +0 1 4 5 9 10 12 13 15 +0 1 4 5 9 10 12 14 15 +0 1 4 5 9 10 13 14 15 +0 1 4 5 9 11 12 13 14 +0 1 4 5 9 11 12 13 15 +0 1 4 5 9 11 12 14 15 +0 1 4 5 9 11 13 14 15 +0 1 4 5 9 12 13 14 15 +0 1 4 5 10 11 12 13 14 +0 1 4 5 10 11 12 13 15 +0 1 4 5 10 11 12 14 15 +0 1 4 5 10 11 13 14 15 +0 1 4 5 10 12 13 14 15 +0 1 4 5 11 12 13 14 15 +0 1 4 6 7 8 9 10 11 +0 1 4 6 7 8 9 10 12 +0 1 4 6 7 8 9 10 13 +0 1 4 6 7 8 9 10 14 +0 1 4 6 7 8 9 10 15 +0 1 4 6 7 8 9 11 12 +0 1 4 6 7 8 9 11 13 +0 1 4 6 7 8 9 11 14 +0 1 4 6 7 8 9 11 15 +0 1 4 6 7 8 9 12 13 +0 1 4 6 7 8 9 12 14 +0 1 4 6 7 8 9 12 15 +0 1 4 6 7 8 9 13 14 +0 1 4 6 7 8 9 13 15 +0 1 4 6 7 8 9 14 15 +0 1 4 6 7 8 10 11 12 +0 1 4 6 7 8 10 11 13 +0 1 4 6 7 8 10 11 14 +0 1 4 6 7 8 10 11 15 +0 1 4 6 7 8 10 12 13 +0 1 4 6 7 8 10 12 14 +0 1 4 6 7 8 10 12 15 +0 1 4 6 7 8 10 13 14 +0 1 4 6 7 8 10 13 15 +0 1 4 6 7 8 10 14 15 +0 1 4 6 7 8 11 12 13 +0 1 4 6 7 8 11 12 14 +0 1 4 6 7 8 11 12 15 +0 1 4 6 7 8 11 13 14 +0 1 4 6 7 8 11 13 15 +0 1 4 6 7 8 11 14 15 +0 1 4 6 7 8 12 13 14 +0 1 4 6 7 8 12 13 15 +0 1 4 6 7 8 12 14 15 +0 1 4 6 7 8 13 14 15 +0 1 4 6 7 9 10 11 12 +0 1 4 6 7 9 10 11 13 +0 1 4 6 7 9 10 11 14 +0 1 4 6 7 9 10 11 15 +0 1 4 6 7 9 10 12 13 +0 1 4 6 7 9 10 12 14 +0 1 4 6 7 9 10 12 15 +0 1 4 6 7 9 10 13 14 +0 1 4 6 7 9 10 13 15 +0 1 4 6 7 9 10 14 15 +0 1 4 6 7 9 11 12 13 +0 1 4 6 7 9 11 12 14 +0 1 4 6 7 9 11 12 15 +0 1 4 6 7 9 11 13 14 +0 1 4 6 7 9 11 13 15 +0 1 4 6 7 9 11 14 15 +0 1 4 6 7 9 12 13 14 +0 1 4 6 7 9 12 13 15 +0 1 4 6 7 9 12 14 15 +0 1 4 6 7 9 13 14 15 +0 1 4 6 7 10 11 12 13 +0 1 4 6 7 10 11 12 14 +0 1 4 6 7 10 11 12 15 +0 1 4 6 7 10 11 13 14 +0 1 4 6 7 10 11 13 15 +0 1 4 6 7 10 11 14 15 +0 1 4 6 7 10 12 13 14 +0 1 4 6 7 10 12 13 15 +0 1 4 6 7 10 12 14 15 +0 1 4 6 7 10 13 14 15 +0 1 4 6 7 11 12 13 14 +0 1 4 6 7 11 12 13 15 +0 1 4 6 7 11 12 14 15 +0 1 4 6 7 11 13 14 15 +0 1 4 6 7 12 13 14 15 +0 1 4 6 8 9 10 11 12 +0 1 4 6 8 9 10 11 13 +0 1 4 6 8 9 10 11 14 +0 1 4 6 8 9 10 11 15 +0 1 4 6 8 9 10 12 13 +0 1 4 6 8 9 10 12 14 +0 1 4 6 8 9 10 12 15 +0 1 4 6 8 9 10 13 14 +0 1 4 6 8 9 10 13 15 +0 1 4 6 8 9 10 14 15 +0 1 4 6 8 9 11 12 13 +0 1 4 6 8 9 11 12 14 +0 1 4 6 8 9 11 12 15 +0 1 4 6 8 9 11 13 14 +0 1 4 6 8 9 11 13 15 +0 1 4 6 8 9 11 14 15 +0 1 4 6 8 9 12 13 14 +0 1 4 6 8 9 12 13 15 +0 1 4 6 8 9 12 14 15 +0 1 4 6 8 9 13 14 15 +0 1 4 6 8 10 11 12 13 +0 1 4 6 8 10 11 12 14 +0 1 4 6 8 10 11 12 15 +0 1 4 6 8 10 11 13 14 +0 1 4 6 8 10 11 13 15 +0 1 4 6 8 10 11 14 15 +0 1 4 6 8 10 12 13 14 +0 1 4 6 8 10 12 13 15 +0 1 4 6 8 10 12 14 15 +0 1 4 6 8 10 13 14 15 +0 1 4 6 8 11 12 13 14 +0 1 4 6 8 11 12 13 15 +0 1 4 6 8 11 12 14 15 +0 1 4 6 8 11 13 14 15 +0 1 4 6 8 12 13 14 15 +0 1 4 6 9 10 11 12 13 +0 1 4 6 9 10 11 12 14 +0 1 4 6 9 10 11 12 15 +0 1 4 6 9 10 11 13 14 +0 1 4 6 9 10 11 13 15 +0 1 4 6 9 10 11 14 15 +0 1 4 6 9 10 12 13 14 +0 1 4 6 9 10 12 13 15 +0 1 4 6 9 10 12 14 15 +0 1 4 6 9 10 13 14 15 +0 1 4 6 9 11 12 13 14 +0 1 4 6 9 11 12 13 15 +0 1 4 6 9 11 12 14 15 +0 1 4 6 9 11 13 14 15 +0 1 4 6 9 12 13 14 15 +0 1 4 6 10 11 12 13 14 +0 1 4 6 10 11 12 13 15 +0 1 4 6 10 11 12 14 15 +0 1 4 6 10 11 13 14 15 +0 1 4 6 10 12 13 14 15 +0 1 4 6 11 12 13 14 15 +0 1 4 7 8 9 10 11 12 +0 1 4 7 8 9 10 11 13 +0 1 4 7 8 9 10 11 14 +0 1 4 7 8 9 10 11 15 +0 1 4 7 8 9 10 12 13 +0 1 4 7 8 9 10 12 14 +0 1 4 7 8 9 10 12 15 +0 1 4 7 8 9 10 13 14 +0 1 4 7 8 9 10 13 15 +0 1 4 7 8 9 10 14 15 +0 1 4 7 8 9 11 12 13 +0 1 4 7 8 9 11 12 14 +0 1 4 7 8 9 11 12 15 +0 1 4 7 8 9 11 13 14 +0 1 4 7 8 9 11 13 15 +0 1 4 7 8 9 11 14 15 +0 1 4 7 8 9 12 13 14 +0 1 4 7 8 9 12 13 15 +0 1 4 7 8 9 12 14 15 +0 1 4 7 8 9 13 14 15 +0 1 4 7 8 10 11 12 13 +0 1 4 7 8 10 11 12 14 +0 1 4 7 8 10 11 12 15 +0 1 4 7 8 10 11 13 14 +0 1 4 7 8 10 11 13 15 +0 1 4 7 8 10 11 14 15 +0 1 4 7 8 10 12 13 14 +0 1 4 7 8 10 12 13 15 +0 1 4 7 8 10 12 14 15 +0 1 4 7 8 10 13 14 15 +0 1 4 7 8 11 12 13 14 +0 1 4 7 8 11 12 13 15 +0 1 4 7 8 11 12 14 15 +0 1 4 7 8 11 13 14 15 +0 1 4 7 8 12 13 14 15 +0 1 4 7 9 10 11 12 13 +0 1 4 7 9 10 11 12 14 +0 1 4 7 9 10 11 12 15 +0 1 4 7 9 10 11 13 14 +0 1 4 7 9 10 11 13 15 +0 1 4 7 9 10 11 14 15 +0 1 4 7 9 10 12 13 14 +0 1 4 7 9 10 12 13 15 +0 1 4 7 9 10 12 14 15 +0 1 4 7 9 10 13 14 15 +0 1 4 7 9 11 12 13 14 +0 1 4 7 9 11 12 13 15 +0 1 4 7 9 11 12 14 15 +0 1 4 7 9 11 13 14 15 +0 1 4 7 9 12 13 14 15 +0 1 4 7 10 11 12 13 14 +0 1 4 7 10 11 12 13 15 +0 1 4 7 10 11 12 14 15 +0 1 4 7 10 11 13 14 15 +0 1 4 7 10 12 13 14 15 +0 1 4 7 11 12 13 14 15 +0 1 4 8 9 10 11 12 13 +0 1 4 8 9 10 11 12 14 +0 1 4 8 9 10 11 12 15 +0 1 4 8 9 10 11 13 14 +0 1 4 8 9 10 11 13 15 +0 1 4 8 9 10 11 14 15 +0 1 4 8 9 10 12 13 14 +0 1 4 8 9 10 12 13 15 +0 1 4 8 9 10 12 14 15 +0 1 4 8 9 10 13 14 15 +0 1 4 8 9 11 12 13 14 +0 1 4 8 9 11 12 13 15 +0 1 4 8 9 11 12 14 15 +0 1 4 8 9 11 13 14 15 +0 1 4 8 9 12 13 14 15 +0 1 4 8 10 11 12 13 14 +0 1 4 8 10 11 12 13 15 +0 1 4 8 10 11 12 14 15 +0 1 4 8 10 11 13 14 15 +0 1 4 8 10 12 13 14 15 +0 1 4 8 11 12 13 14 15 +0 1 4 9 10 11 12 13 14 +0 1 4 9 10 11 12 13 15 +0 1 4 9 10 11 12 14 15 +0 1 4 9 10 11 13 14 15 +0 1 4 9 10 12 13 14 15 +0 1 4 9 11 12 13 14 15 +0 1 4 10 11 12 13 14 15 +0 1 5 6 7 8 9 10 11 +0 1 5 6 7 8 9 10 12 +0 1 5 6 7 8 9 10 13 +0 1 5 6 7 8 9 10 14 +0 1 5 6 7 8 9 10 15 +0 1 5 6 7 8 9 11 12 +0 1 5 6 7 8 9 11 13 +0 1 5 6 7 8 9 11 14 +0 1 5 6 7 8 9 11 15 +0 1 5 6 7 8 9 12 13 +0 1 5 6 7 8 9 12 14 +0 1 5 6 7 8 9 12 15 +0 1 5 6 7 8 9 13 14 +0 1 5 6 7 8 9 13 15 +0 1 5 6 7 8 9 14 15 +0 1 5 6 7 8 10 11 12 +0 1 5 6 7 8 10 11 13 +0 1 5 6 7 8 10 11 14 +0 1 5 6 7 8 10 11 15 +0 1 5 6 7 8 10 12 13 +0 1 5 6 7 8 10 12 14 +0 1 5 6 7 8 10 12 15 +0 1 5 6 7 8 10 13 14 +0 1 5 6 7 8 10 13 15 +0 1 5 6 7 8 10 14 15 +0 1 5 6 7 8 11 12 13 +0 1 5 6 7 8 11 12 14 +0 1 5 6 7 8 11 12 15 +0 1 5 6 7 8 11 13 14 +0 1 5 6 7 8 11 13 15 +0 1 5 6 7 8 11 14 15 +0 1 5 6 7 8 12 13 14 +0 1 5 6 7 8 12 13 15 +0 1 5 6 7 8 12 14 15 +0 1 5 6 7 8 13 14 15 +0 1 5 6 7 9 10 11 12 +0 1 5 6 7 9 10 11 13 +0 1 5 6 7 9 10 11 14 +0 1 5 6 7 9 10 11 15 +0 1 5 6 7 9 10 12 13 +0 1 5 6 7 9 10 12 14 +0 1 5 6 7 9 10 12 15 +0 1 5 6 7 9 10 13 14 +0 1 5 6 7 9 10 13 15 +0 1 5 6 7 9 10 14 15 +0 1 5 6 7 9 11 12 13 +0 1 5 6 7 9 11 12 14 +0 1 5 6 7 9 11 12 15 +0 1 5 6 7 9 11 13 14 +0 1 5 6 7 9 11 13 15 +0 1 5 6 7 9 11 14 15 +0 1 5 6 7 9 12 13 14 +0 1 5 6 7 9 12 13 15 +0 1 5 6 7 9 12 14 15 +0 1 5 6 7 9 13 14 15 +0 1 5 6 7 10 11 12 13 +0 1 5 6 7 10 11 12 14 +0 1 5 6 7 10 11 12 15 +0 1 5 6 7 10 11 13 14 +0 1 5 6 7 10 11 13 15 +0 1 5 6 7 10 11 14 15 +0 1 5 6 7 10 12 13 14 +0 1 5 6 7 10 12 13 15 +0 1 5 6 7 10 12 14 15 +0 1 5 6 7 10 13 14 15 +0 1 5 6 7 11 12 13 14 +0 1 5 6 7 11 12 13 15 +0 1 5 6 7 11 12 14 15 +0 1 5 6 7 11 13 14 15 +0 1 5 6 7 12 13 14 15 +0 1 5 6 8 9 10 11 12 +0 1 5 6 8 9 10 11 13 +0 1 5 6 8 9 10 11 14 +0 1 5 6 8 9 10 11 15 +0 1 5 6 8 9 10 12 13 +0 1 5 6 8 9 10 12 14 +0 1 5 6 8 9 10 12 15 +0 1 5 6 8 9 10 13 14 +0 1 5 6 8 9 10 13 15 +0 1 5 6 8 9 10 14 15 +0 1 5 6 8 9 11 12 13 +0 1 5 6 8 9 11 12 14 +0 1 5 6 8 9 11 12 15 +0 1 5 6 8 9 11 13 14 +0 1 5 6 8 9 11 13 15 +0 1 5 6 8 9 11 14 15 +0 1 5 6 8 9 12 13 14 +0 1 5 6 8 9 12 13 15 +0 1 5 6 8 9 12 14 15 +0 1 5 6 8 9 13 14 15 +0 1 5 6 8 10 11 12 13 +0 1 5 6 8 10 11 12 14 +0 1 5 6 8 10 11 12 15 +0 1 5 6 8 10 11 13 14 +0 1 5 6 8 10 11 13 15 +0 1 5 6 8 10 11 14 15 +0 1 5 6 8 10 12 13 14 +0 1 5 6 8 10 12 13 15 +0 1 5 6 8 10 12 14 15 +0 1 5 6 8 10 13 14 15 +0 1 5 6 8 11 12 13 14 +0 1 5 6 8 11 12 13 15 +0 1 5 6 8 11 12 14 15 +0 1 5 6 8 11 13 14 15 +0 1 5 6 8 12 13 14 15 +0 1 5 6 9 10 11 12 13 +0 1 5 6 9 10 11 12 14 +0 1 5 6 9 10 11 12 15 +0 1 5 6 9 10 11 13 14 +0 1 5 6 9 10 11 13 15 +0 1 5 6 9 10 11 14 15 +0 1 5 6 9 10 12 13 14 +0 1 5 6 9 10 12 13 15 +0 1 5 6 9 10 12 14 15 +0 1 5 6 9 10 13 14 15 +0 1 5 6 9 11 12 13 14 +0 1 5 6 9 11 12 13 15 +0 1 5 6 9 11 12 14 15 +0 1 5 6 9 11 13 14 15 +0 1 5 6 9 12 13 14 15 +0 1 5 6 10 11 12 13 14 +0 1 5 6 10 11 12 13 15 +0 1 5 6 10 11 12 14 15 +0 1 5 6 10 11 13 14 15 +0 1 5 6 10 12 13 14 15 +0 1 5 6 11 12 13 14 15 +0 1 5 7 8 9 10 11 12 +0 1 5 7 8 9 10 11 13 +0 1 5 7 8 9 10 11 14 +0 1 5 7 8 9 10 11 15 +0 1 5 7 8 9 10 12 13 +0 1 5 7 8 9 10 12 14 +0 1 5 7 8 9 10 12 15 +0 1 5 7 8 9 10 13 14 +0 1 5 7 8 9 10 13 15 +0 1 5 7 8 9 10 14 15 +0 1 5 7 8 9 11 12 13 +0 1 5 7 8 9 11 12 14 +0 1 5 7 8 9 11 12 15 +0 1 5 7 8 9 11 13 14 +0 1 5 7 8 9 11 13 15 +0 1 5 7 8 9 11 14 15 +0 1 5 7 8 9 12 13 14 +0 1 5 7 8 9 12 13 15 +0 1 5 7 8 9 12 14 15 +0 1 5 7 8 9 13 14 15 +0 1 5 7 8 10 11 12 13 +0 1 5 7 8 10 11 12 14 +0 1 5 7 8 10 11 12 15 +0 1 5 7 8 10 11 13 14 +0 1 5 7 8 10 11 13 15 +0 1 5 7 8 10 11 14 15 +0 1 5 7 8 10 12 13 14 +0 1 5 7 8 10 12 13 15 +0 1 5 7 8 10 12 14 15 +0 1 5 7 8 10 13 14 15 +0 1 5 7 8 11 12 13 14 +0 1 5 7 8 11 12 13 15 +0 1 5 7 8 11 12 14 15 +0 1 5 7 8 11 13 14 15 +0 1 5 7 8 12 13 14 15 +0 1 5 7 9 10 11 12 13 +0 1 5 7 9 10 11 12 14 +0 1 5 7 9 10 11 12 15 +0 1 5 7 9 10 11 13 14 +0 1 5 7 9 10 11 13 15 +0 1 5 7 9 10 11 14 15 +0 1 5 7 9 10 12 13 14 +0 1 5 7 9 10 12 13 15 +0 1 5 7 9 10 12 14 15 +0 1 5 7 9 10 13 14 15 +0 1 5 7 9 11 12 13 14 +0 1 5 7 9 11 12 13 15 +0 1 5 7 9 11 12 14 15 +0 1 5 7 9 11 13 14 15 +0 1 5 7 9 12 13 14 15 +0 1 5 7 10 11 12 13 14 +0 1 5 7 10 11 12 13 15 +0 1 5 7 10 11 12 14 15 +0 1 5 7 10 11 13 14 15 +0 1 5 7 10 12 13 14 15 +0 1 5 7 11 12 13 14 15 +0 1 5 8 9 10 11 12 13 +0 1 5 8 9 10 11 12 14 +0 1 5 8 9 10 11 12 15 +0 1 5 8 9 10 11 13 14 +0 1 5 8 9 10 11 13 15 +0 1 5 8 9 10 11 14 15 +0 1 5 8 9 10 12 13 14 +0 1 5 8 9 10 12 13 15 +0 1 5 8 9 10 12 14 15 +0 1 5 8 9 10 13 14 15 +0 1 5 8 9 11 12 13 14 +0 1 5 8 9 11 12 13 15 +0 1 5 8 9 11 12 14 15 +0 1 5 8 9 11 13 14 15 +0 1 5 8 9 12 13 14 15 +0 1 5 8 10 11 12 13 14 +0 1 5 8 10 11 12 13 15 +0 1 5 8 10 11 12 14 15 +0 1 5 8 10 11 13 14 15 +0 1 5 8 10 12 13 14 15 +0 1 5 8 11 12 13 14 15 +0 1 5 9 10 11 12 13 14 +0 1 5 9 10 11 12 13 15 +0 1 5 9 10 11 12 14 15 +0 1 5 9 10 11 13 14 15 +0 1 5 9 10 12 13 14 15 +0 1 5 9 11 12 13 14 15 +0 1 5 10 11 12 13 14 15 +0 1 6 7 8 9 10 11 12 +0 1 6 7 8 9 10 11 13 +0 1 6 7 8 9 10 11 14 +0 1 6 7 8 9 10 11 15 +0 1 6 7 8 9 10 12 13 +0 1 6 7 8 9 10 12 14 +0 1 6 7 8 9 10 12 15 +0 1 6 7 8 9 10 13 14 +0 1 6 7 8 9 10 13 15 +0 1 6 7 8 9 10 14 15 +0 1 6 7 8 9 11 12 13 +0 1 6 7 8 9 11 12 14 +0 1 6 7 8 9 11 12 15 +0 1 6 7 8 9 11 13 14 +0 1 6 7 8 9 11 13 15 +0 1 6 7 8 9 11 14 15 +0 1 6 7 8 9 12 13 14 +0 1 6 7 8 9 12 13 15 +0 1 6 7 8 9 12 14 15 +0 1 6 7 8 9 13 14 15 +0 1 6 7 8 10 11 12 13 +0 1 6 7 8 10 11 12 14 +0 1 6 7 8 10 11 12 15 +0 1 6 7 8 10 11 13 14 +0 1 6 7 8 10 11 13 15 +0 1 6 7 8 10 11 14 15 +0 1 6 7 8 10 12 13 14 +0 1 6 7 8 10 12 13 15 +0 1 6 7 8 10 12 14 15 +0 1 6 7 8 10 13 14 15 +0 1 6 7 8 11 12 13 14 +0 1 6 7 8 11 12 13 15 +0 1 6 7 8 11 12 14 15 +0 1 6 7 8 11 13 14 15 +0 1 6 7 8 12 13 14 15 +0 1 6 7 9 10 11 12 13 +0 1 6 7 9 10 11 12 14 +0 1 6 7 9 10 11 12 15 +0 1 6 7 9 10 11 13 14 +0 1 6 7 9 10 11 13 15 +0 1 6 7 9 10 11 14 15 +0 1 6 7 9 10 12 13 14 +0 1 6 7 9 10 12 13 15 +0 1 6 7 9 10 12 14 15 +0 1 6 7 9 10 13 14 15 +0 1 6 7 9 11 12 13 14 +0 1 6 7 9 11 12 13 15 +0 1 6 7 9 11 12 14 15 +0 1 6 7 9 11 13 14 15 +0 1 6 7 9 12 13 14 15 +0 1 6 7 10 11 12 13 14 +0 1 6 7 10 11 12 13 15 +0 1 6 7 10 11 12 14 15 +0 1 6 7 10 11 13 14 15 +0 1 6 7 10 12 13 14 15 +0 1 6 7 11 12 13 14 15 +0 1 6 8 9 10 11 12 13 +0 1 6 8 9 10 11 12 14 +0 1 6 8 9 10 11 12 15 +0 1 6 8 9 10 11 13 14 +0 1 6 8 9 10 11 13 15 +0 1 6 8 9 10 11 14 15 +0 1 6 8 9 10 12 13 14 +0 1 6 8 9 10 12 13 15 +0 1 6 8 9 10 12 14 15 +0 1 6 8 9 10 13 14 15 +0 1 6 8 9 11 12 13 14 +0 1 6 8 9 11 12 13 15 +0 1 6 8 9 11 12 14 15 +0 1 6 8 9 11 13 14 15 +0 1 6 8 9 12 13 14 15 +0 1 6 8 10 11 12 13 14 +0 1 6 8 10 11 12 13 15 +0 1 6 8 10 11 12 14 15 +0 1 6 8 10 11 13 14 15 +0 1 6 8 10 12 13 14 15 +0 1 6 8 11 12 13 14 15 +0 1 6 9 10 11 12 13 14 +0 1 6 9 10 11 12 13 15 +0 1 6 9 10 11 12 14 15 +0 1 6 9 10 11 13 14 15 +0 1 6 9 10 12 13 14 15 +0 1 6 9 11 12 13 14 15 +0 1 6 10 11 12 13 14 15 +0 1 7 8 9 10 11 12 13 +0 1 7 8 9 10 11 12 14 +0 1 7 8 9 10 11 12 15 +0 1 7 8 9 10 11 13 14 +0 1 7 8 9 10 11 13 15 +0 1 7 8 9 10 11 14 15 +0 1 7 8 9 10 12 13 14 +0 1 7 8 9 10 12 13 15 +0 1 7 8 9 10 12 14 15 +0 1 7 8 9 10 13 14 15 +0 1 7 8 9 11 12 13 14 +0 1 7 8 9 11 12 13 15 +0 1 7 8 9 11 12 14 15 +0 1 7 8 9 11 13 14 15 +0 1 7 8 9 12 13 14 15 +0 1 7 8 10 11 12 13 14 +0 1 7 8 10 11 12 13 15 +0 1 7 8 10 11 12 14 15 +0 1 7 8 10 11 13 14 15 +0 1 7 8 10 12 13 14 15 +0 1 7 8 11 12 13 14 15 +0 1 7 9 10 11 12 13 14 +0 1 7 9 10 11 12 13 15 +0 1 7 9 10 11 12 14 15 +0 1 7 9 10 11 13 14 15 +0 1 7 9 10 12 13 14 15 +0 1 7 9 11 12 13 14 15 +0 1 7 10 11 12 13 14 15 +0 1 8 9 10 11 12 13 14 +0 1 8 9 10 11 12 13 15 +0 1 8 9 10 11 12 14 15 +0 1 8 9 10 11 13 14 15 +0 1 8 9 10 12 13 14 15 +0 1 8 9 11 12 13 14 15 +0 1 8 10 11 12 13 14 15 +0 1 9 10 11 12 13 14 15 +0 2 3 4 5 6 7 8 9 +0 2 3 4 5 6 7 8 10 +0 2 3 4 5 6 7 8 11 +0 2 3 4 5 6 7 8 12 +0 2 3 4 5 6 7 8 13 +0 2 3 4 5 6 7 8 14 +0 2 3 4 5 6 7 8 15 +0 2 3 4 5 6 7 9 10 +0 2 3 4 5 6 7 9 11 +0 2 3 4 5 6 7 9 12 +0 2 3 4 5 6 7 9 13 +0 2 3 4 5 6 7 9 14 +0 2 3 4 5 6 7 9 15 +0 2 3 4 5 6 7 10 11 +0 2 3 4 5 6 7 10 12 +0 2 3 4 5 6 7 10 13 +0 2 3 4 5 6 7 10 14 +0 2 3 4 5 6 7 10 15 +0 2 3 4 5 6 7 11 12 +0 2 3 4 5 6 7 11 13 +0 2 3 4 5 6 7 11 14 +0 2 3 4 5 6 7 11 15 +0 2 3 4 5 6 7 12 13 +0 2 3 4 5 6 7 12 14 +0 2 3 4 5 6 7 12 15 +0 2 3 4 5 6 7 13 14 +0 2 3 4 5 6 7 13 15 +0 2 3 4 5 6 7 14 15 +0 2 3 4 5 6 8 9 10 +0 2 3 4 5 6 8 9 11 +0 2 3 4 5 6 8 9 12 +0 2 3 4 5 6 8 9 13 +0 2 3 4 5 6 8 9 14 +0 2 3 4 5 6 8 9 15 +0 2 3 4 5 6 8 10 11 +0 2 3 4 5 6 8 10 12 +0 2 3 4 5 6 8 10 13 +0 2 3 4 5 6 8 10 14 +0 2 3 4 5 6 8 10 15 +0 2 3 4 5 6 8 11 12 +0 2 3 4 5 6 8 11 13 +0 2 3 4 5 6 8 11 14 +0 2 3 4 5 6 8 11 15 +0 2 3 4 5 6 8 12 13 +0 2 3 4 5 6 8 12 14 +0 2 3 4 5 6 8 12 15 +0 2 3 4 5 6 8 13 14 +0 2 3 4 5 6 8 13 15 +0 2 3 4 5 6 8 14 15 +0 2 3 4 5 6 9 10 11 +0 2 3 4 5 6 9 10 12 +0 2 3 4 5 6 9 10 13 +0 2 3 4 5 6 9 10 14 +0 2 3 4 5 6 9 10 15 +0 2 3 4 5 6 9 11 12 +0 2 3 4 5 6 9 11 13 +0 2 3 4 5 6 9 11 14 +0 2 3 4 5 6 9 11 15 +0 2 3 4 5 6 9 12 13 +0 2 3 4 5 6 9 12 14 +0 2 3 4 5 6 9 12 15 +0 2 3 4 5 6 9 13 14 +0 2 3 4 5 6 9 13 15 +0 2 3 4 5 6 9 14 15 +0 2 3 4 5 6 10 11 12 +0 2 3 4 5 6 10 11 13 +0 2 3 4 5 6 10 11 14 +0 2 3 4 5 6 10 11 15 +0 2 3 4 5 6 10 12 13 +0 2 3 4 5 6 10 12 14 +0 2 3 4 5 6 10 12 15 +0 2 3 4 5 6 10 13 14 +0 2 3 4 5 6 10 13 15 +0 2 3 4 5 6 10 14 15 +0 2 3 4 5 6 11 12 13 +0 2 3 4 5 6 11 12 14 +0 2 3 4 5 6 11 12 15 +0 2 3 4 5 6 11 13 14 +0 2 3 4 5 6 11 13 15 +0 2 3 4 5 6 11 14 15 +0 2 3 4 5 6 12 13 14 +0 2 3 4 5 6 12 13 15 +0 2 3 4 5 6 12 14 15 +0 2 3 4 5 6 13 14 15 +0 2 3 4 5 7 8 9 10 +0 2 3 4 5 7 8 9 11 +0 2 3 4 5 7 8 9 12 +0 2 3 4 5 7 8 9 13 +0 2 3 4 5 7 8 9 14 +0 2 3 4 5 7 8 9 15 +0 2 3 4 5 7 8 10 11 +0 2 3 4 5 7 8 10 12 +0 2 3 4 5 7 8 10 13 +0 2 3 4 5 7 8 10 14 +0 2 3 4 5 7 8 10 15 +0 2 3 4 5 7 8 11 12 +0 2 3 4 5 7 8 11 13 +0 2 3 4 5 7 8 11 14 +0 2 3 4 5 7 8 11 15 +0 2 3 4 5 7 8 12 13 +0 2 3 4 5 7 8 12 14 +0 2 3 4 5 7 8 12 15 +0 2 3 4 5 7 8 13 14 +0 2 3 4 5 7 8 13 15 +0 2 3 4 5 7 8 14 15 +0 2 3 4 5 7 9 10 11 +0 2 3 4 5 7 9 10 12 +0 2 3 4 5 7 9 10 13 +0 2 3 4 5 7 9 10 14 +0 2 3 4 5 7 9 10 15 +0 2 3 4 5 7 9 11 12 +0 2 3 4 5 7 9 11 13 +0 2 3 4 5 7 9 11 14 +0 2 3 4 5 7 9 11 15 +0 2 3 4 5 7 9 12 13 +0 2 3 4 5 7 9 12 14 +0 2 3 4 5 7 9 12 15 +0 2 3 4 5 7 9 13 14 +0 2 3 4 5 7 9 13 15 +0 2 3 4 5 7 9 14 15 +0 2 3 4 5 7 10 11 12 +0 2 3 4 5 7 10 11 13 +0 2 3 4 5 7 10 11 14 +0 2 3 4 5 7 10 11 15 +0 2 3 4 5 7 10 12 13 +0 2 3 4 5 7 10 12 14 +0 2 3 4 5 7 10 12 15 +0 2 3 4 5 7 10 13 14 +0 2 3 4 5 7 10 13 15 +0 2 3 4 5 7 10 14 15 +0 2 3 4 5 7 11 12 13 +0 2 3 4 5 7 11 12 14 +0 2 3 4 5 7 11 12 15 +0 2 3 4 5 7 11 13 14 +0 2 3 4 5 7 11 13 15 +0 2 3 4 5 7 11 14 15 +0 2 3 4 5 7 12 13 14 +0 2 3 4 5 7 12 13 15 +0 2 3 4 5 7 12 14 15 +0 2 3 4 5 7 13 14 15 +0 2 3 4 5 8 9 10 11 +0 2 3 4 5 8 9 10 12 +0 2 3 4 5 8 9 10 13 +0 2 3 4 5 8 9 10 14 +0 2 3 4 5 8 9 10 15 +0 2 3 4 5 8 9 11 12 +0 2 3 4 5 8 9 11 13 +0 2 3 4 5 8 9 11 14 +0 2 3 4 5 8 9 11 15 +0 2 3 4 5 8 9 12 13 +0 2 3 4 5 8 9 12 14 +0 2 3 4 5 8 9 12 15 +0 2 3 4 5 8 9 13 14 +0 2 3 4 5 8 9 13 15 +0 2 3 4 5 8 9 14 15 +0 2 3 4 5 8 10 11 12 +0 2 3 4 5 8 10 11 13 +0 2 3 4 5 8 10 11 14 +0 2 3 4 5 8 10 11 15 +0 2 3 4 5 8 10 12 13 +0 2 3 4 5 8 10 12 14 +0 2 3 4 5 8 10 12 15 +0 2 3 4 5 8 10 13 14 +0 2 3 4 5 8 10 13 15 +0 2 3 4 5 8 10 14 15 +0 2 3 4 5 8 11 12 13 +0 2 3 4 5 8 11 12 14 +0 2 3 4 5 8 11 12 15 +0 2 3 4 5 8 11 13 14 +0 2 3 4 5 8 11 13 15 +0 2 3 4 5 8 11 14 15 +0 2 3 4 5 8 12 13 14 +0 2 3 4 5 8 12 13 15 +0 2 3 4 5 8 12 14 15 +0 2 3 4 5 8 13 14 15 +0 2 3 4 5 9 10 11 12 +0 2 3 4 5 9 10 11 13 +0 2 3 4 5 9 10 11 14 +0 2 3 4 5 9 10 11 15 +0 2 3 4 5 9 10 12 13 +0 2 3 4 5 9 10 12 14 +0 2 3 4 5 9 10 12 15 +0 2 3 4 5 9 10 13 14 +0 2 3 4 5 9 10 13 15 +0 2 3 4 5 9 10 14 15 +0 2 3 4 5 9 11 12 13 +0 2 3 4 5 9 11 12 14 +0 2 3 4 5 9 11 12 15 +0 2 3 4 5 9 11 13 14 +0 2 3 4 5 9 11 13 15 +0 2 3 4 5 9 11 14 15 +0 2 3 4 5 9 12 13 14 +0 2 3 4 5 9 12 13 15 +0 2 3 4 5 9 12 14 15 +0 2 3 4 5 9 13 14 15 +0 2 3 4 5 10 11 12 13 +0 2 3 4 5 10 11 12 14 +0 2 3 4 5 10 11 12 15 +0 2 3 4 5 10 11 13 14 +0 2 3 4 5 10 11 13 15 +0 2 3 4 5 10 11 14 15 +0 2 3 4 5 10 12 13 14 +0 2 3 4 5 10 12 13 15 +0 2 3 4 5 10 12 14 15 +0 2 3 4 5 10 13 14 15 +0 2 3 4 5 11 12 13 14 +0 2 3 4 5 11 12 13 15 +0 2 3 4 5 11 12 14 15 +0 2 3 4 5 11 13 14 15 +0 2 3 4 5 12 13 14 15 +0 2 3 4 6 7 8 9 10 +0 2 3 4 6 7 8 9 11 +0 2 3 4 6 7 8 9 12 +0 2 3 4 6 7 8 9 13 +0 2 3 4 6 7 8 9 14 +0 2 3 4 6 7 8 9 15 +0 2 3 4 6 7 8 10 11 +0 2 3 4 6 7 8 10 12 +0 2 3 4 6 7 8 10 13 +0 2 3 4 6 7 8 10 14 +0 2 3 4 6 7 8 10 15 +0 2 3 4 6 7 8 11 12 +0 2 3 4 6 7 8 11 13 +0 2 3 4 6 7 8 11 14 +0 2 3 4 6 7 8 11 15 +0 2 3 4 6 7 8 12 13 +0 2 3 4 6 7 8 12 14 +0 2 3 4 6 7 8 12 15 +0 2 3 4 6 7 8 13 14 +0 2 3 4 6 7 8 13 15 +0 2 3 4 6 7 8 14 15 +0 2 3 4 6 7 9 10 11 +0 2 3 4 6 7 9 10 12 +0 2 3 4 6 7 9 10 13 +0 2 3 4 6 7 9 10 14 +0 2 3 4 6 7 9 10 15 +0 2 3 4 6 7 9 11 12 +0 2 3 4 6 7 9 11 13 +0 2 3 4 6 7 9 11 14 +0 2 3 4 6 7 9 11 15 +0 2 3 4 6 7 9 12 13 +0 2 3 4 6 7 9 12 14 +0 2 3 4 6 7 9 12 15 +0 2 3 4 6 7 9 13 14 +0 2 3 4 6 7 9 13 15 +0 2 3 4 6 7 9 14 15 +0 2 3 4 6 7 10 11 12 +0 2 3 4 6 7 10 11 13 +0 2 3 4 6 7 10 11 14 +0 2 3 4 6 7 10 11 15 +0 2 3 4 6 7 10 12 13 +0 2 3 4 6 7 10 12 14 +0 2 3 4 6 7 10 12 15 +0 2 3 4 6 7 10 13 14 +0 2 3 4 6 7 10 13 15 +0 2 3 4 6 7 10 14 15 +0 2 3 4 6 7 11 12 13 +0 2 3 4 6 7 11 12 14 +0 2 3 4 6 7 11 12 15 +0 2 3 4 6 7 11 13 14 +0 2 3 4 6 7 11 13 15 +0 2 3 4 6 7 11 14 15 +0 2 3 4 6 7 12 13 14 +0 2 3 4 6 7 12 13 15 +0 2 3 4 6 7 12 14 15 +0 2 3 4 6 7 13 14 15 +0 2 3 4 6 8 9 10 11 +0 2 3 4 6 8 9 10 12 +0 2 3 4 6 8 9 10 13 +0 2 3 4 6 8 9 10 14 +0 2 3 4 6 8 9 10 15 +0 2 3 4 6 8 9 11 12 +0 2 3 4 6 8 9 11 13 +0 2 3 4 6 8 9 11 14 +0 2 3 4 6 8 9 11 15 +0 2 3 4 6 8 9 12 13 +0 2 3 4 6 8 9 12 14 +0 2 3 4 6 8 9 12 15 +0 2 3 4 6 8 9 13 14 +0 2 3 4 6 8 9 13 15 +0 2 3 4 6 8 9 14 15 +0 2 3 4 6 8 10 11 12 +0 2 3 4 6 8 10 11 13 +0 2 3 4 6 8 10 11 14 +0 2 3 4 6 8 10 11 15 +0 2 3 4 6 8 10 12 13 +0 2 3 4 6 8 10 12 14 +0 2 3 4 6 8 10 12 15 +0 2 3 4 6 8 10 13 14 +0 2 3 4 6 8 10 13 15 +0 2 3 4 6 8 10 14 15 +0 2 3 4 6 8 11 12 13 +0 2 3 4 6 8 11 12 14 +0 2 3 4 6 8 11 12 15 +0 2 3 4 6 8 11 13 14 +0 2 3 4 6 8 11 13 15 +0 2 3 4 6 8 11 14 15 +0 2 3 4 6 8 12 13 14 +0 2 3 4 6 8 12 13 15 +0 2 3 4 6 8 12 14 15 +0 2 3 4 6 8 13 14 15 +0 2 3 4 6 9 10 11 12 +0 2 3 4 6 9 10 11 13 +0 2 3 4 6 9 10 11 14 +0 2 3 4 6 9 10 11 15 +0 2 3 4 6 9 10 12 13 +0 2 3 4 6 9 10 12 14 +0 2 3 4 6 9 10 12 15 +0 2 3 4 6 9 10 13 14 +0 2 3 4 6 9 10 13 15 +0 2 3 4 6 9 10 14 15 +0 2 3 4 6 9 11 12 13 +0 2 3 4 6 9 11 12 14 +0 2 3 4 6 9 11 12 15 +0 2 3 4 6 9 11 13 14 +0 2 3 4 6 9 11 13 15 +0 2 3 4 6 9 11 14 15 +0 2 3 4 6 9 12 13 14 +0 2 3 4 6 9 12 13 15 +0 2 3 4 6 9 12 14 15 +0 2 3 4 6 9 13 14 15 +0 2 3 4 6 10 11 12 13 +0 2 3 4 6 10 11 12 14 +0 2 3 4 6 10 11 12 15 +0 2 3 4 6 10 11 13 14 +0 2 3 4 6 10 11 13 15 +0 2 3 4 6 10 11 14 15 +0 2 3 4 6 10 12 13 14 +0 2 3 4 6 10 12 13 15 +0 2 3 4 6 10 12 14 15 +0 2 3 4 6 10 13 14 15 +0 2 3 4 6 11 12 13 14 +0 2 3 4 6 11 12 13 15 +0 2 3 4 6 11 12 14 15 +0 2 3 4 6 11 13 14 15 +0 2 3 4 6 12 13 14 15 +0 2 3 4 7 8 9 10 11 +0 2 3 4 7 8 9 10 12 +0 2 3 4 7 8 9 10 13 +0 2 3 4 7 8 9 10 14 +0 2 3 4 7 8 9 10 15 +0 2 3 4 7 8 9 11 12 +0 2 3 4 7 8 9 11 13 +0 2 3 4 7 8 9 11 14 +0 2 3 4 7 8 9 11 15 +0 2 3 4 7 8 9 12 13 +0 2 3 4 7 8 9 12 14 +0 2 3 4 7 8 9 12 15 +0 2 3 4 7 8 9 13 14 +0 2 3 4 7 8 9 13 15 +0 2 3 4 7 8 9 14 15 +0 2 3 4 7 8 10 11 12 +0 2 3 4 7 8 10 11 13 +0 2 3 4 7 8 10 11 14 +0 2 3 4 7 8 10 11 15 +0 2 3 4 7 8 10 12 13 +0 2 3 4 7 8 10 12 14 +0 2 3 4 7 8 10 12 15 +0 2 3 4 7 8 10 13 14 +0 2 3 4 7 8 10 13 15 +0 2 3 4 7 8 10 14 15 +0 2 3 4 7 8 11 12 13 +0 2 3 4 7 8 11 12 14 +0 2 3 4 7 8 11 12 15 +0 2 3 4 7 8 11 13 14 +0 2 3 4 7 8 11 13 15 +0 2 3 4 7 8 11 14 15 +0 2 3 4 7 8 12 13 14 +0 2 3 4 7 8 12 13 15 +0 2 3 4 7 8 12 14 15 +0 2 3 4 7 8 13 14 15 +0 2 3 4 7 9 10 11 12 +0 2 3 4 7 9 10 11 13 +0 2 3 4 7 9 10 11 14 +0 2 3 4 7 9 10 11 15 +0 2 3 4 7 9 10 12 13 +0 2 3 4 7 9 10 12 14 +0 2 3 4 7 9 10 12 15 +0 2 3 4 7 9 10 13 14 +0 2 3 4 7 9 10 13 15 +0 2 3 4 7 9 10 14 15 +0 2 3 4 7 9 11 12 13 +0 2 3 4 7 9 11 12 14 +0 2 3 4 7 9 11 12 15 +0 2 3 4 7 9 11 13 14 +0 2 3 4 7 9 11 13 15 +0 2 3 4 7 9 11 14 15 +0 2 3 4 7 9 12 13 14 +0 2 3 4 7 9 12 13 15 +0 2 3 4 7 9 12 14 15 +0 2 3 4 7 9 13 14 15 +0 2 3 4 7 10 11 12 13 +0 2 3 4 7 10 11 12 14 +0 2 3 4 7 10 11 12 15 +0 2 3 4 7 10 11 13 14 +0 2 3 4 7 10 11 13 15 +0 2 3 4 7 10 11 14 15 +0 2 3 4 7 10 12 13 14 +0 2 3 4 7 10 12 13 15 +0 2 3 4 7 10 12 14 15 +0 2 3 4 7 10 13 14 15 +0 2 3 4 7 11 12 13 14 +0 2 3 4 7 11 12 13 15 +0 2 3 4 7 11 12 14 15 +0 2 3 4 7 11 13 14 15 +0 2 3 4 7 12 13 14 15 +0 2 3 4 8 9 10 11 12 +0 2 3 4 8 9 10 11 13 +0 2 3 4 8 9 10 11 14 +0 2 3 4 8 9 10 11 15 +0 2 3 4 8 9 10 12 13 +0 2 3 4 8 9 10 12 14 +0 2 3 4 8 9 10 12 15 +0 2 3 4 8 9 10 13 14 +0 2 3 4 8 9 10 13 15 +0 2 3 4 8 9 10 14 15 +0 2 3 4 8 9 11 12 13 +0 2 3 4 8 9 11 12 14 +0 2 3 4 8 9 11 12 15 +0 2 3 4 8 9 11 13 14 +0 2 3 4 8 9 11 13 15 +0 2 3 4 8 9 11 14 15 +0 2 3 4 8 9 12 13 14 +0 2 3 4 8 9 12 13 15 +0 2 3 4 8 9 12 14 15 +0 2 3 4 8 9 13 14 15 +0 2 3 4 8 10 11 12 13 +0 2 3 4 8 10 11 12 14 +0 2 3 4 8 10 11 12 15 +0 2 3 4 8 10 11 13 14 +0 2 3 4 8 10 11 13 15 +0 2 3 4 8 10 11 14 15 +0 2 3 4 8 10 12 13 14 +0 2 3 4 8 10 12 13 15 +0 2 3 4 8 10 12 14 15 +0 2 3 4 8 10 13 14 15 +0 2 3 4 8 11 12 13 14 +0 2 3 4 8 11 12 13 15 +0 2 3 4 8 11 12 14 15 +0 2 3 4 8 11 13 14 15 +0 2 3 4 8 12 13 14 15 +0 2 3 4 9 10 11 12 13 +0 2 3 4 9 10 11 12 14 +0 2 3 4 9 10 11 12 15 +0 2 3 4 9 10 11 13 14 +0 2 3 4 9 10 11 13 15 +0 2 3 4 9 10 11 14 15 +0 2 3 4 9 10 12 13 14 +0 2 3 4 9 10 12 13 15 +0 2 3 4 9 10 12 14 15 +0 2 3 4 9 10 13 14 15 +0 2 3 4 9 11 12 13 14 +0 2 3 4 9 11 12 13 15 +0 2 3 4 9 11 12 14 15 +0 2 3 4 9 11 13 14 15 +0 2 3 4 9 12 13 14 15 +0 2 3 4 10 11 12 13 14 +0 2 3 4 10 11 12 13 15 +0 2 3 4 10 11 12 14 15 +0 2 3 4 10 11 13 14 15 +0 2 3 4 10 12 13 14 15 +0 2 3 4 11 12 13 14 15 +0 2 3 5 6 7 8 9 10 +0 2 3 5 6 7 8 9 11 +0 2 3 5 6 7 8 9 12 +0 2 3 5 6 7 8 9 13 +0 2 3 5 6 7 8 9 14 +0 2 3 5 6 7 8 9 15 +0 2 3 5 6 7 8 10 11 +0 2 3 5 6 7 8 10 12 +0 2 3 5 6 7 8 10 13 +0 2 3 5 6 7 8 10 14 +0 2 3 5 6 7 8 10 15 +0 2 3 5 6 7 8 11 12 +0 2 3 5 6 7 8 11 13 +0 2 3 5 6 7 8 11 14 +0 2 3 5 6 7 8 11 15 +0 2 3 5 6 7 8 12 13 +0 2 3 5 6 7 8 12 14 +0 2 3 5 6 7 8 12 15 +0 2 3 5 6 7 8 13 14 +0 2 3 5 6 7 8 13 15 +0 2 3 5 6 7 8 14 15 +0 2 3 5 6 7 9 10 11 +0 2 3 5 6 7 9 10 12 +0 2 3 5 6 7 9 10 13 +0 2 3 5 6 7 9 10 14 +0 2 3 5 6 7 9 10 15 +0 2 3 5 6 7 9 11 12 +0 2 3 5 6 7 9 11 13 +0 2 3 5 6 7 9 11 14 +0 2 3 5 6 7 9 11 15 +0 2 3 5 6 7 9 12 13 +0 2 3 5 6 7 9 12 14 +0 2 3 5 6 7 9 12 15 +0 2 3 5 6 7 9 13 14 +0 2 3 5 6 7 9 13 15 +0 2 3 5 6 7 9 14 15 +0 2 3 5 6 7 10 11 12 +0 2 3 5 6 7 10 11 13 +0 2 3 5 6 7 10 11 14 +0 2 3 5 6 7 10 11 15 +0 2 3 5 6 7 10 12 13 +0 2 3 5 6 7 10 12 14 +0 2 3 5 6 7 10 12 15 +0 2 3 5 6 7 10 13 14 +0 2 3 5 6 7 10 13 15 +0 2 3 5 6 7 10 14 15 +0 2 3 5 6 7 11 12 13 +0 2 3 5 6 7 11 12 14 +0 2 3 5 6 7 11 12 15 +0 2 3 5 6 7 11 13 14 +0 2 3 5 6 7 11 13 15 +0 2 3 5 6 7 11 14 15 +0 2 3 5 6 7 12 13 14 +0 2 3 5 6 7 12 13 15 +0 2 3 5 6 7 12 14 15 +0 2 3 5 6 7 13 14 15 +0 2 3 5 6 8 9 10 11 +0 2 3 5 6 8 9 10 12 +0 2 3 5 6 8 9 10 13 +0 2 3 5 6 8 9 10 14 +0 2 3 5 6 8 9 10 15 +0 2 3 5 6 8 9 11 12 +0 2 3 5 6 8 9 11 13 +0 2 3 5 6 8 9 11 14 +0 2 3 5 6 8 9 11 15 +0 2 3 5 6 8 9 12 13 +0 2 3 5 6 8 9 12 14 +0 2 3 5 6 8 9 12 15 +0 2 3 5 6 8 9 13 14 +0 2 3 5 6 8 9 13 15 +0 2 3 5 6 8 9 14 15 +0 2 3 5 6 8 10 11 12 +0 2 3 5 6 8 10 11 13 +0 2 3 5 6 8 10 11 14 +0 2 3 5 6 8 10 11 15 +0 2 3 5 6 8 10 12 13 +0 2 3 5 6 8 10 12 14 +0 2 3 5 6 8 10 12 15 +0 2 3 5 6 8 10 13 14 +0 2 3 5 6 8 10 13 15 +0 2 3 5 6 8 10 14 15 +0 2 3 5 6 8 11 12 13 +0 2 3 5 6 8 11 12 14 +0 2 3 5 6 8 11 12 15 +0 2 3 5 6 8 11 13 14 +0 2 3 5 6 8 11 13 15 +0 2 3 5 6 8 11 14 15 +0 2 3 5 6 8 12 13 14 +0 2 3 5 6 8 12 13 15 +0 2 3 5 6 8 12 14 15 +0 2 3 5 6 8 13 14 15 +0 2 3 5 6 9 10 11 12 +0 2 3 5 6 9 10 11 13 +0 2 3 5 6 9 10 11 14 +0 2 3 5 6 9 10 11 15 +0 2 3 5 6 9 10 12 13 +0 2 3 5 6 9 10 12 14 +0 2 3 5 6 9 10 12 15 +0 2 3 5 6 9 10 13 14 +0 2 3 5 6 9 10 13 15 +0 2 3 5 6 9 10 14 15 +0 2 3 5 6 9 11 12 13 +0 2 3 5 6 9 11 12 14 +0 2 3 5 6 9 11 12 15 +0 2 3 5 6 9 11 13 14 +0 2 3 5 6 9 11 13 15 +0 2 3 5 6 9 11 14 15 +0 2 3 5 6 9 12 13 14 +0 2 3 5 6 9 12 13 15 +0 2 3 5 6 9 12 14 15 +0 2 3 5 6 9 13 14 15 +0 2 3 5 6 10 11 12 13 +0 2 3 5 6 10 11 12 14 +0 2 3 5 6 10 11 12 15 +0 2 3 5 6 10 11 13 14 +0 2 3 5 6 10 11 13 15 +0 2 3 5 6 10 11 14 15 +0 2 3 5 6 10 12 13 14 +0 2 3 5 6 10 12 13 15 +0 2 3 5 6 10 12 14 15 +0 2 3 5 6 10 13 14 15 +0 2 3 5 6 11 12 13 14 +0 2 3 5 6 11 12 13 15 +0 2 3 5 6 11 12 14 15 +0 2 3 5 6 11 13 14 15 +0 2 3 5 6 12 13 14 15 +0 2 3 5 7 8 9 10 11 +0 2 3 5 7 8 9 10 12 +0 2 3 5 7 8 9 10 13 +0 2 3 5 7 8 9 10 14 +0 2 3 5 7 8 9 10 15 +0 2 3 5 7 8 9 11 12 +0 2 3 5 7 8 9 11 13 +0 2 3 5 7 8 9 11 14 +0 2 3 5 7 8 9 11 15 +0 2 3 5 7 8 9 12 13 +0 2 3 5 7 8 9 12 14 +0 2 3 5 7 8 9 12 15 +0 2 3 5 7 8 9 13 14 +0 2 3 5 7 8 9 13 15 +0 2 3 5 7 8 9 14 15 +0 2 3 5 7 8 10 11 12 +0 2 3 5 7 8 10 11 13 +0 2 3 5 7 8 10 11 14 +0 2 3 5 7 8 10 11 15 +0 2 3 5 7 8 10 12 13 +0 2 3 5 7 8 10 12 14 +0 2 3 5 7 8 10 12 15 +0 2 3 5 7 8 10 13 14 +0 2 3 5 7 8 10 13 15 +0 2 3 5 7 8 10 14 15 +0 2 3 5 7 8 11 12 13 +0 2 3 5 7 8 11 12 14 +0 2 3 5 7 8 11 12 15 +0 2 3 5 7 8 11 13 14 +0 2 3 5 7 8 11 13 15 +0 2 3 5 7 8 11 14 15 +0 2 3 5 7 8 12 13 14 +0 2 3 5 7 8 12 13 15 +0 2 3 5 7 8 12 14 15 +0 2 3 5 7 8 13 14 15 +0 2 3 5 7 9 10 11 12 +0 2 3 5 7 9 10 11 13 +0 2 3 5 7 9 10 11 14 +0 2 3 5 7 9 10 11 15 +0 2 3 5 7 9 10 12 13 +0 2 3 5 7 9 10 12 14 +0 2 3 5 7 9 10 12 15 +0 2 3 5 7 9 10 13 14 +0 2 3 5 7 9 10 13 15 +0 2 3 5 7 9 10 14 15 +0 2 3 5 7 9 11 12 13 +0 2 3 5 7 9 11 12 14 +0 2 3 5 7 9 11 12 15 +0 2 3 5 7 9 11 13 14 +0 2 3 5 7 9 11 13 15 +0 2 3 5 7 9 11 14 15 +0 2 3 5 7 9 12 13 14 +0 2 3 5 7 9 12 13 15 +0 2 3 5 7 9 12 14 15 +0 2 3 5 7 9 13 14 15 +0 2 3 5 7 10 11 12 13 +0 2 3 5 7 10 11 12 14 +0 2 3 5 7 10 11 12 15 +0 2 3 5 7 10 11 13 14 +0 2 3 5 7 10 11 13 15 +0 2 3 5 7 10 11 14 15 +0 2 3 5 7 10 12 13 14 +0 2 3 5 7 10 12 13 15 +0 2 3 5 7 10 12 14 15 +0 2 3 5 7 10 13 14 15 +0 2 3 5 7 11 12 13 14 +0 2 3 5 7 11 12 13 15 +0 2 3 5 7 11 12 14 15 +0 2 3 5 7 11 13 14 15 +0 2 3 5 7 12 13 14 15 +0 2 3 5 8 9 10 11 12 +0 2 3 5 8 9 10 11 13 +0 2 3 5 8 9 10 11 14 +0 2 3 5 8 9 10 11 15 +0 2 3 5 8 9 10 12 13 +0 2 3 5 8 9 10 12 14 +0 2 3 5 8 9 10 12 15 +0 2 3 5 8 9 10 13 14 +0 2 3 5 8 9 10 13 15 +0 2 3 5 8 9 10 14 15 +0 2 3 5 8 9 11 12 13 +0 2 3 5 8 9 11 12 14 +0 2 3 5 8 9 11 12 15 +0 2 3 5 8 9 11 13 14 +0 2 3 5 8 9 11 13 15 +0 2 3 5 8 9 11 14 15 +0 2 3 5 8 9 12 13 14 +0 2 3 5 8 9 12 13 15 +0 2 3 5 8 9 12 14 15 +0 2 3 5 8 9 13 14 15 +0 2 3 5 8 10 11 12 13 +0 2 3 5 8 10 11 12 14 +0 2 3 5 8 10 11 12 15 +0 2 3 5 8 10 11 13 14 +0 2 3 5 8 10 11 13 15 +0 2 3 5 8 10 11 14 15 +0 2 3 5 8 10 12 13 14 +0 2 3 5 8 10 12 13 15 +0 2 3 5 8 10 12 14 15 +0 2 3 5 8 10 13 14 15 +0 2 3 5 8 11 12 13 14 +0 2 3 5 8 11 12 13 15 +0 2 3 5 8 11 12 14 15 +0 2 3 5 8 11 13 14 15 +0 2 3 5 8 12 13 14 15 +0 2 3 5 9 10 11 12 13 +0 2 3 5 9 10 11 12 14 +0 2 3 5 9 10 11 12 15 +0 2 3 5 9 10 11 13 14 +0 2 3 5 9 10 11 13 15 +0 2 3 5 9 10 11 14 15 +0 2 3 5 9 10 12 13 14 +0 2 3 5 9 10 12 13 15 +0 2 3 5 9 10 12 14 15 +0 2 3 5 9 10 13 14 15 +0 2 3 5 9 11 12 13 14 +0 2 3 5 9 11 12 13 15 +0 2 3 5 9 11 12 14 15 +0 2 3 5 9 11 13 14 15 +0 2 3 5 9 12 13 14 15 +0 2 3 5 10 11 12 13 14 +0 2 3 5 10 11 12 13 15 +0 2 3 5 10 11 12 14 15 +0 2 3 5 10 11 13 14 15 +0 2 3 5 10 12 13 14 15 +0 2 3 5 11 12 13 14 15 +0 2 3 6 7 8 9 10 11 +0 2 3 6 7 8 9 10 12 +0 2 3 6 7 8 9 10 13 +0 2 3 6 7 8 9 10 14 +0 2 3 6 7 8 9 10 15 +0 2 3 6 7 8 9 11 12 +0 2 3 6 7 8 9 11 13 +0 2 3 6 7 8 9 11 14 +0 2 3 6 7 8 9 11 15 +0 2 3 6 7 8 9 12 13 +0 2 3 6 7 8 9 12 14 +0 2 3 6 7 8 9 12 15 +0 2 3 6 7 8 9 13 14 +0 2 3 6 7 8 9 13 15 +0 2 3 6 7 8 9 14 15 +0 2 3 6 7 8 10 11 12 +0 2 3 6 7 8 10 11 13 +0 2 3 6 7 8 10 11 14 +0 2 3 6 7 8 10 11 15 +0 2 3 6 7 8 10 12 13 +0 2 3 6 7 8 10 12 14 +0 2 3 6 7 8 10 12 15 +0 2 3 6 7 8 10 13 14 +0 2 3 6 7 8 10 13 15 +0 2 3 6 7 8 10 14 15 +0 2 3 6 7 8 11 12 13 +0 2 3 6 7 8 11 12 14 +0 2 3 6 7 8 11 12 15 +0 2 3 6 7 8 11 13 14 +0 2 3 6 7 8 11 13 15 +0 2 3 6 7 8 11 14 15 +0 2 3 6 7 8 12 13 14 +0 2 3 6 7 8 12 13 15 +0 2 3 6 7 8 12 14 15 +0 2 3 6 7 8 13 14 15 +0 2 3 6 7 9 10 11 12 +0 2 3 6 7 9 10 11 13 +0 2 3 6 7 9 10 11 14 +0 2 3 6 7 9 10 11 15 +0 2 3 6 7 9 10 12 13 +0 2 3 6 7 9 10 12 14 +0 2 3 6 7 9 10 12 15 +0 2 3 6 7 9 10 13 14 +0 2 3 6 7 9 10 13 15 +0 2 3 6 7 9 10 14 15 +0 2 3 6 7 9 11 12 13 +0 2 3 6 7 9 11 12 14 +0 2 3 6 7 9 11 12 15 +0 2 3 6 7 9 11 13 14 +0 2 3 6 7 9 11 13 15 +0 2 3 6 7 9 11 14 15 +0 2 3 6 7 9 12 13 14 +0 2 3 6 7 9 12 13 15 +0 2 3 6 7 9 12 14 15 +0 2 3 6 7 9 13 14 15 +0 2 3 6 7 10 11 12 13 +0 2 3 6 7 10 11 12 14 +0 2 3 6 7 10 11 12 15 +0 2 3 6 7 10 11 13 14 +0 2 3 6 7 10 11 13 15 +0 2 3 6 7 10 11 14 15 +0 2 3 6 7 10 12 13 14 +0 2 3 6 7 10 12 13 15 +0 2 3 6 7 10 12 14 15 +0 2 3 6 7 10 13 14 15 +0 2 3 6 7 11 12 13 14 +0 2 3 6 7 11 12 13 15 +0 2 3 6 7 11 12 14 15 +0 2 3 6 7 11 13 14 15 +0 2 3 6 7 12 13 14 15 +0 2 3 6 8 9 10 11 12 +0 2 3 6 8 9 10 11 13 +0 2 3 6 8 9 10 11 14 +0 2 3 6 8 9 10 11 15 +0 2 3 6 8 9 10 12 13 +0 2 3 6 8 9 10 12 14 +0 2 3 6 8 9 10 12 15 +0 2 3 6 8 9 10 13 14 +0 2 3 6 8 9 10 13 15 +0 2 3 6 8 9 10 14 15 +0 2 3 6 8 9 11 12 13 +0 2 3 6 8 9 11 12 14 +0 2 3 6 8 9 11 12 15 +0 2 3 6 8 9 11 13 14 +0 2 3 6 8 9 11 13 15 +0 2 3 6 8 9 11 14 15 +0 2 3 6 8 9 12 13 14 +0 2 3 6 8 9 12 13 15 +0 2 3 6 8 9 12 14 15 +0 2 3 6 8 9 13 14 15 +0 2 3 6 8 10 11 12 13 +0 2 3 6 8 10 11 12 14 +0 2 3 6 8 10 11 12 15 +0 2 3 6 8 10 11 13 14 +0 2 3 6 8 10 11 13 15 +0 2 3 6 8 10 11 14 15 +0 2 3 6 8 10 12 13 14 +0 2 3 6 8 10 12 13 15 +0 2 3 6 8 10 12 14 15 +0 2 3 6 8 10 13 14 15 +0 2 3 6 8 11 12 13 14 +0 2 3 6 8 11 12 13 15 +0 2 3 6 8 11 12 14 15 +0 2 3 6 8 11 13 14 15 +0 2 3 6 8 12 13 14 15 +0 2 3 6 9 10 11 12 13 +0 2 3 6 9 10 11 12 14 +0 2 3 6 9 10 11 12 15 +0 2 3 6 9 10 11 13 14 +0 2 3 6 9 10 11 13 15 +0 2 3 6 9 10 11 14 15 +0 2 3 6 9 10 12 13 14 +0 2 3 6 9 10 12 13 15 +0 2 3 6 9 10 12 14 15 +0 2 3 6 9 10 13 14 15 +0 2 3 6 9 11 12 13 14 +0 2 3 6 9 11 12 13 15 +0 2 3 6 9 11 12 14 15 +0 2 3 6 9 11 13 14 15 +0 2 3 6 9 12 13 14 15 +0 2 3 6 10 11 12 13 14 +0 2 3 6 10 11 12 13 15 +0 2 3 6 10 11 12 14 15 +0 2 3 6 10 11 13 14 15 +0 2 3 6 10 12 13 14 15 +0 2 3 6 11 12 13 14 15 +0 2 3 7 8 9 10 11 12 +0 2 3 7 8 9 10 11 13 +0 2 3 7 8 9 10 11 14 +0 2 3 7 8 9 10 11 15 +0 2 3 7 8 9 10 12 13 +0 2 3 7 8 9 10 12 14 +0 2 3 7 8 9 10 12 15 +0 2 3 7 8 9 10 13 14 +0 2 3 7 8 9 10 13 15 +0 2 3 7 8 9 10 14 15 +0 2 3 7 8 9 11 12 13 +0 2 3 7 8 9 11 12 14 +0 2 3 7 8 9 11 12 15 +0 2 3 7 8 9 11 13 14 +0 2 3 7 8 9 11 13 15 +0 2 3 7 8 9 11 14 15 +0 2 3 7 8 9 12 13 14 +0 2 3 7 8 9 12 13 15 +0 2 3 7 8 9 12 14 15 +0 2 3 7 8 9 13 14 15 +0 2 3 7 8 10 11 12 13 +0 2 3 7 8 10 11 12 14 +0 2 3 7 8 10 11 12 15 +0 2 3 7 8 10 11 13 14 +0 2 3 7 8 10 11 13 15 +0 2 3 7 8 10 11 14 15 +0 2 3 7 8 10 12 13 14 +0 2 3 7 8 10 12 13 15 +0 2 3 7 8 10 12 14 15 +0 2 3 7 8 10 13 14 15 +0 2 3 7 8 11 12 13 14 +0 2 3 7 8 11 12 13 15 +0 2 3 7 8 11 12 14 15 +0 2 3 7 8 11 13 14 15 +0 2 3 7 8 12 13 14 15 +0 2 3 7 9 10 11 12 13 +0 2 3 7 9 10 11 12 14 +0 2 3 7 9 10 11 12 15 +0 2 3 7 9 10 11 13 14 +0 2 3 7 9 10 11 13 15 +0 2 3 7 9 10 11 14 15 +0 2 3 7 9 10 12 13 14 +0 2 3 7 9 10 12 13 15 +0 2 3 7 9 10 12 14 15 +0 2 3 7 9 10 13 14 15 +0 2 3 7 9 11 12 13 14 +0 2 3 7 9 11 12 13 15 +0 2 3 7 9 11 12 14 15 +0 2 3 7 9 11 13 14 15 +0 2 3 7 9 12 13 14 15 +0 2 3 7 10 11 12 13 14 +0 2 3 7 10 11 12 13 15 +0 2 3 7 10 11 12 14 15 +0 2 3 7 10 11 13 14 15 +0 2 3 7 10 12 13 14 15 +0 2 3 7 11 12 13 14 15 +0 2 3 8 9 10 11 12 13 +0 2 3 8 9 10 11 12 14 +0 2 3 8 9 10 11 12 15 +0 2 3 8 9 10 11 13 14 +0 2 3 8 9 10 11 13 15 +0 2 3 8 9 10 11 14 15 +0 2 3 8 9 10 12 13 14 +0 2 3 8 9 10 12 13 15 +0 2 3 8 9 10 12 14 15 +0 2 3 8 9 10 13 14 15 +0 2 3 8 9 11 12 13 14 +0 2 3 8 9 11 12 13 15 +0 2 3 8 9 11 12 14 15 +0 2 3 8 9 11 13 14 15 +0 2 3 8 9 12 13 14 15 +0 2 3 8 10 11 12 13 14 +0 2 3 8 10 11 12 13 15 +0 2 3 8 10 11 12 14 15 +0 2 3 8 10 11 13 14 15 +0 2 3 8 10 12 13 14 15 +0 2 3 8 11 12 13 14 15 +0 2 3 9 10 11 12 13 14 +0 2 3 9 10 11 12 13 15 +0 2 3 9 10 11 12 14 15 +0 2 3 9 10 11 13 14 15 +0 2 3 9 10 12 13 14 15 +0 2 3 9 11 12 13 14 15 +0 2 3 10 11 12 13 14 15 +0 2 4 5 6 7 8 9 10 +0 2 4 5 6 7 8 9 11 +0 2 4 5 6 7 8 9 12 +0 2 4 5 6 7 8 9 13 +0 2 4 5 6 7 8 9 14 +0 2 4 5 6 7 8 9 15 +0 2 4 5 6 7 8 10 11 +0 2 4 5 6 7 8 10 12 +0 2 4 5 6 7 8 10 13 +0 2 4 5 6 7 8 10 14 +0 2 4 5 6 7 8 10 15 +0 2 4 5 6 7 8 11 12 +0 2 4 5 6 7 8 11 13 +0 2 4 5 6 7 8 11 14 +0 2 4 5 6 7 8 11 15 +0 2 4 5 6 7 8 12 13 +0 2 4 5 6 7 8 12 14 +0 2 4 5 6 7 8 12 15 +0 2 4 5 6 7 8 13 14 +0 2 4 5 6 7 8 13 15 +0 2 4 5 6 7 8 14 15 +0 2 4 5 6 7 9 10 11 +0 2 4 5 6 7 9 10 12 +0 2 4 5 6 7 9 10 13 +0 2 4 5 6 7 9 10 14 +0 2 4 5 6 7 9 10 15 +0 2 4 5 6 7 9 11 12 +0 2 4 5 6 7 9 11 13 +0 2 4 5 6 7 9 11 14 +0 2 4 5 6 7 9 11 15 +0 2 4 5 6 7 9 12 13 +0 2 4 5 6 7 9 12 14 +0 2 4 5 6 7 9 12 15 +0 2 4 5 6 7 9 13 14 +0 2 4 5 6 7 9 13 15 +0 2 4 5 6 7 9 14 15 +0 2 4 5 6 7 10 11 12 +0 2 4 5 6 7 10 11 13 +0 2 4 5 6 7 10 11 14 +0 2 4 5 6 7 10 11 15 +0 2 4 5 6 7 10 12 13 +0 2 4 5 6 7 10 12 14 +0 2 4 5 6 7 10 12 15 +0 2 4 5 6 7 10 13 14 +0 2 4 5 6 7 10 13 15 +0 2 4 5 6 7 10 14 15 +0 2 4 5 6 7 11 12 13 +0 2 4 5 6 7 11 12 14 +0 2 4 5 6 7 11 12 15 +0 2 4 5 6 7 11 13 14 +0 2 4 5 6 7 11 13 15 +0 2 4 5 6 7 11 14 15 +0 2 4 5 6 7 12 13 14 +0 2 4 5 6 7 12 13 15 +0 2 4 5 6 7 12 14 15 +0 2 4 5 6 7 13 14 15 +0 2 4 5 6 8 9 10 11 +0 2 4 5 6 8 9 10 12 +0 2 4 5 6 8 9 10 13 +0 2 4 5 6 8 9 10 14 +0 2 4 5 6 8 9 10 15 +0 2 4 5 6 8 9 11 12 +0 2 4 5 6 8 9 11 13 +0 2 4 5 6 8 9 11 14 +0 2 4 5 6 8 9 11 15 +0 2 4 5 6 8 9 12 13 +0 2 4 5 6 8 9 12 14 +0 2 4 5 6 8 9 12 15 +0 2 4 5 6 8 9 13 14 +0 2 4 5 6 8 9 13 15 +0 2 4 5 6 8 9 14 15 +0 2 4 5 6 8 10 11 12 +0 2 4 5 6 8 10 11 13 +0 2 4 5 6 8 10 11 14 +0 2 4 5 6 8 10 11 15 +0 2 4 5 6 8 10 12 13 +0 2 4 5 6 8 10 12 14 +0 2 4 5 6 8 10 12 15 +0 2 4 5 6 8 10 13 14 +0 2 4 5 6 8 10 13 15 +0 2 4 5 6 8 10 14 15 +0 2 4 5 6 8 11 12 13 +0 2 4 5 6 8 11 12 14 +0 2 4 5 6 8 11 12 15 +0 2 4 5 6 8 11 13 14 +0 2 4 5 6 8 11 13 15 +0 2 4 5 6 8 11 14 15 +0 2 4 5 6 8 12 13 14 +0 2 4 5 6 8 12 13 15 +0 2 4 5 6 8 12 14 15 +0 2 4 5 6 8 13 14 15 +0 2 4 5 6 9 10 11 12 +0 2 4 5 6 9 10 11 13 +0 2 4 5 6 9 10 11 14 +0 2 4 5 6 9 10 11 15 +0 2 4 5 6 9 10 12 13 +0 2 4 5 6 9 10 12 14 +0 2 4 5 6 9 10 12 15 +0 2 4 5 6 9 10 13 14 +0 2 4 5 6 9 10 13 15 +0 2 4 5 6 9 10 14 15 +0 2 4 5 6 9 11 12 13 +0 2 4 5 6 9 11 12 14 +0 2 4 5 6 9 11 12 15 +0 2 4 5 6 9 11 13 14 +0 2 4 5 6 9 11 13 15 +0 2 4 5 6 9 11 14 15 +0 2 4 5 6 9 12 13 14 +0 2 4 5 6 9 12 13 15 +0 2 4 5 6 9 12 14 15 +0 2 4 5 6 9 13 14 15 +0 2 4 5 6 10 11 12 13 +0 2 4 5 6 10 11 12 14 +0 2 4 5 6 10 11 12 15 +0 2 4 5 6 10 11 13 14 +0 2 4 5 6 10 11 13 15 +0 2 4 5 6 10 11 14 15 +0 2 4 5 6 10 12 13 14 +0 2 4 5 6 10 12 13 15 +0 2 4 5 6 10 12 14 15 +0 2 4 5 6 10 13 14 15 +0 2 4 5 6 11 12 13 14 +0 2 4 5 6 11 12 13 15 +0 2 4 5 6 11 12 14 15 +0 2 4 5 6 11 13 14 15 +0 2 4 5 6 12 13 14 15 +0 2 4 5 7 8 9 10 11 +0 2 4 5 7 8 9 10 12 +0 2 4 5 7 8 9 10 13 +0 2 4 5 7 8 9 10 14 +0 2 4 5 7 8 9 10 15 +0 2 4 5 7 8 9 11 12 +0 2 4 5 7 8 9 11 13 +0 2 4 5 7 8 9 11 14 +0 2 4 5 7 8 9 11 15 +0 2 4 5 7 8 9 12 13 +0 2 4 5 7 8 9 12 14 +0 2 4 5 7 8 9 12 15 +0 2 4 5 7 8 9 13 14 +0 2 4 5 7 8 9 13 15 +0 2 4 5 7 8 9 14 15 +0 2 4 5 7 8 10 11 12 +0 2 4 5 7 8 10 11 13 +0 2 4 5 7 8 10 11 14 +0 2 4 5 7 8 10 11 15 +0 2 4 5 7 8 10 12 13 +0 2 4 5 7 8 10 12 14 +0 2 4 5 7 8 10 12 15 +0 2 4 5 7 8 10 13 14 +0 2 4 5 7 8 10 13 15 +0 2 4 5 7 8 10 14 15 +0 2 4 5 7 8 11 12 13 +0 2 4 5 7 8 11 12 14 +0 2 4 5 7 8 11 12 15 +0 2 4 5 7 8 11 13 14 +0 2 4 5 7 8 11 13 15 +0 2 4 5 7 8 11 14 15 +0 2 4 5 7 8 12 13 14 +0 2 4 5 7 8 12 13 15 +0 2 4 5 7 8 12 14 15 +0 2 4 5 7 8 13 14 15 +0 2 4 5 7 9 10 11 12 +0 2 4 5 7 9 10 11 13 +0 2 4 5 7 9 10 11 14 +0 2 4 5 7 9 10 11 15 +0 2 4 5 7 9 10 12 13 +0 2 4 5 7 9 10 12 14 +0 2 4 5 7 9 10 12 15 +0 2 4 5 7 9 10 13 14 +0 2 4 5 7 9 10 13 15 +0 2 4 5 7 9 10 14 15 +0 2 4 5 7 9 11 12 13 +0 2 4 5 7 9 11 12 14 +0 2 4 5 7 9 11 12 15 +0 2 4 5 7 9 11 13 14 +0 2 4 5 7 9 11 13 15 +0 2 4 5 7 9 11 14 15 +0 2 4 5 7 9 12 13 14 +0 2 4 5 7 9 12 13 15 +0 2 4 5 7 9 12 14 15 +0 2 4 5 7 9 13 14 15 +0 2 4 5 7 10 11 12 13 +0 2 4 5 7 10 11 12 14 +0 2 4 5 7 10 11 12 15 +0 2 4 5 7 10 11 13 14 +0 2 4 5 7 10 11 13 15 +0 2 4 5 7 10 11 14 15 +0 2 4 5 7 10 12 13 14 +0 2 4 5 7 10 12 13 15 +0 2 4 5 7 10 12 14 15 +0 2 4 5 7 10 13 14 15 +0 2 4 5 7 11 12 13 14 +0 2 4 5 7 11 12 13 15 +0 2 4 5 7 11 12 14 15 +0 2 4 5 7 11 13 14 15 +0 2 4 5 7 12 13 14 15 +0 2 4 5 8 9 10 11 12 +0 2 4 5 8 9 10 11 13 +0 2 4 5 8 9 10 11 14 +0 2 4 5 8 9 10 11 15 +0 2 4 5 8 9 10 12 13 +0 2 4 5 8 9 10 12 14 +0 2 4 5 8 9 10 12 15 +0 2 4 5 8 9 10 13 14 +0 2 4 5 8 9 10 13 15 +0 2 4 5 8 9 10 14 15 +0 2 4 5 8 9 11 12 13 +0 2 4 5 8 9 11 12 14 +0 2 4 5 8 9 11 12 15 +0 2 4 5 8 9 11 13 14 +0 2 4 5 8 9 11 13 15 +0 2 4 5 8 9 11 14 15 +0 2 4 5 8 9 12 13 14 +0 2 4 5 8 9 12 13 15 +0 2 4 5 8 9 12 14 15 +0 2 4 5 8 9 13 14 15 +0 2 4 5 8 10 11 12 13 +0 2 4 5 8 10 11 12 14 +0 2 4 5 8 10 11 12 15 +0 2 4 5 8 10 11 13 14 +0 2 4 5 8 10 11 13 15 +0 2 4 5 8 10 11 14 15 +0 2 4 5 8 10 12 13 14 +0 2 4 5 8 10 12 13 15 +0 2 4 5 8 10 12 14 15 +0 2 4 5 8 10 13 14 15 +0 2 4 5 8 11 12 13 14 +0 2 4 5 8 11 12 13 15 +0 2 4 5 8 11 12 14 15 +0 2 4 5 8 11 13 14 15 +0 2 4 5 8 12 13 14 15 +0 2 4 5 9 10 11 12 13 +0 2 4 5 9 10 11 12 14 +0 2 4 5 9 10 11 12 15 +0 2 4 5 9 10 11 13 14 +0 2 4 5 9 10 11 13 15 +0 2 4 5 9 10 11 14 15 +0 2 4 5 9 10 12 13 14 +0 2 4 5 9 10 12 13 15 +0 2 4 5 9 10 12 14 15 +0 2 4 5 9 10 13 14 15 +0 2 4 5 9 11 12 13 14 +0 2 4 5 9 11 12 13 15 +0 2 4 5 9 11 12 14 15 +0 2 4 5 9 11 13 14 15 +0 2 4 5 9 12 13 14 15 +0 2 4 5 10 11 12 13 14 +0 2 4 5 10 11 12 13 15 +0 2 4 5 10 11 12 14 15 +0 2 4 5 10 11 13 14 15 +0 2 4 5 10 12 13 14 15 +0 2 4 5 11 12 13 14 15 +0 2 4 6 7 8 9 10 11 +0 2 4 6 7 8 9 10 12 +0 2 4 6 7 8 9 10 13 +0 2 4 6 7 8 9 10 14 +0 2 4 6 7 8 9 10 15 +0 2 4 6 7 8 9 11 12 +0 2 4 6 7 8 9 11 13 +0 2 4 6 7 8 9 11 14 +0 2 4 6 7 8 9 11 15 +0 2 4 6 7 8 9 12 13 +0 2 4 6 7 8 9 12 14 +0 2 4 6 7 8 9 12 15 +0 2 4 6 7 8 9 13 14 +0 2 4 6 7 8 9 13 15 +0 2 4 6 7 8 9 14 15 +0 2 4 6 7 8 10 11 12 +0 2 4 6 7 8 10 11 13 +0 2 4 6 7 8 10 11 14 +0 2 4 6 7 8 10 11 15 +0 2 4 6 7 8 10 12 13 +0 2 4 6 7 8 10 12 14 +0 2 4 6 7 8 10 12 15 +0 2 4 6 7 8 10 13 14 +0 2 4 6 7 8 10 13 15 +0 2 4 6 7 8 10 14 15 +0 2 4 6 7 8 11 12 13 +0 2 4 6 7 8 11 12 14 +0 2 4 6 7 8 11 12 15 +0 2 4 6 7 8 11 13 14 +0 2 4 6 7 8 11 13 15 +0 2 4 6 7 8 11 14 15 +0 2 4 6 7 8 12 13 14 +0 2 4 6 7 8 12 13 15 +0 2 4 6 7 8 12 14 15 +0 2 4 6 7 8 13 14 15 +0 2 4 6 7 9 10 11 12 +0 2 4 6 7 9 10 11 13 +0 2 4 6 7 9 10 11 14 +0 2 4 6 7 9 10 11 15 +0 2 4 6 7 9 10 12 13 +0 2 4 6 7 9 10 12 14 +0 2 4 6 7 9 10 12 15 +0 2 4 6 7 9 10 13 14 +0 2 4 6 7 9 10 13 15 +0 2 4 6 7 9 10 14 15 +0 2 4 6 7 9 11 12 13 +0 2 4 6 7 9 11 12 14 +0 2 4 6 7 9 11 12 15 +0 2 4 6 7 9 11 13 14 +0 2 4 6 7 9 11 13 15 +0 2 4 6 7 9 11 14 15 +0 2 4 6 7 9 12 13 14 +0 2 4 6 7 9 12 13 15 +0 2 4 6 7 9 12 14 15 +0 2 4 6 7 9 13 14 15 +0 2 4 6 7 10 11 12 13 +0 2 4 6 7 10 11 12 14 +0 2 4 6 7 10 11 12 15 +0 2 4 6 7 10 11 13 14 +0 2 4 6 7 10 11 13 15 +0 2 4 6 7 10 11 14 15 +0 2 4 6 7 10 12 13 14 +0 2 4 6 7 10 12 13 15 +0 2 4 6 7 10 12 14 15 +0 2 4 6 7 10 13 14 15 +0 2 4 6 7 11 12 13 14 +0 2 4 6 7 11 12 13 15 +0 2 4 6 7 11 12 14 15 +0 2 4 6 7 11 13 14 15 +0 2 4 6 7 12 13 14 15 +0 2 4 6 8 9 10 11 12 +0 2 4 6 8 9 10 11 13 +0 2 4 6 8 9 10 11 14 +0 2 4 6 8 9 10 11 15 +0 2 4 6 8 9 10 12 13 +0 2 4 6 8 9 10 12 14 +0 2 4 6 8 9 10 12 15 +0 2 4 6 8 9 10 13 14 +0 2 4 6 8 9 10 13 15 +0 2 4 6 8 9 10 14 15 +0 2 4 6 8 9 11 12 13 +0 2 4 6 8 9 11 12 14 +0 2 4 6 8 9 11 12 15 +0 2 4 6 8 9 11 13 14 +0 2 4 6 8 9 11 13 15 +0 2 4 6 8 9 11 14 15 +0 2 4 6 8 9 12 13 14 +0 2 4 6 8 9 12 13 15 +0 2 4 6 8 9 12 14 15 +0 2 4 6 8 9 13 14 15 +0 2 4 6 8 10 11 12 13 +0 2 4 6 8 10 11 12 14 +0 2 4 6 8 10 11 12 15 +0 2 4 6 8 10 11 13 14 +0 2 4 6 8 10 11 13 15 +0 2 4 6 8 10 11 14 15 +0 2 4 6 8 10 12 13 14 +0 2 4 6 8 10 12 13 15 +0 2 4 6 8 10 12 14 15 +0 2 4 6 8 10 13 14 15 +0 2 4 6 8 11 12 13 14 +0 2 4 6 8 11 12 13 15 +0 2 4 6 8 11 12 14 15 +0 2 4 6 8 11 13 14 15 +0 2 4 6 8 12 13 14 15 +0 2 4 6 9 10 11 12 13 +0 2 4 6 9 10 11 12 14 +0 2 4 6 9 10 11 12 15 +0 2 4 6 9 10 11 13 14 +0 2 4 6 9 10 11 13 15 +0 2 4 6 9 10 11 14 15 +0 2 4 6 9 10 12 13 14 +0 2 4 6 9 10 12 13 15 +0 2 4 6 9 10 12 14 15 +0 2 4 6 9 10 13 14 15 +0 2 4 6 9 11 12 13 14 +0 2 4 6 9 11 12 13 15 +0 2 4 6 9 11 12 14 15 +0 2 4 6 9 11 13 14 15 +0 2 4 6 9 12 13 14 15 +0 2 4 6 10 11 12 13 14 +0 2 4 6 10 11 12 13 15 +0 2 4 6 10 11 12 14 15 +0 2 4 6 10 11 13 14 15 +0 2 4 6 10 12 13 14 15 +0 2 4 6 11 12 13 14 15 +0 2 4 7 8 9 10 11 12 +0 2 4 7 8 9 10 11 13 +0 2 4 7 8 9 10 11 14 +0 2 4 7 8 9 10 11 15 +0 2 4 7 8 9 10 12 13 +0 2 4 7 8 9 10 12 14 +0 2 4 7 8 9 10 12 15 +0 2 4 7 8 9 10 13 14 +0 2 4 7 8 9 10 13 15 +0 2 4 7 8 9 10 14 15 +0 2 4 7 8 9 11 12 13 +0 2 4 7 8 9 11 12 14 +0 2 4 7 8 9 11 12 15 +0 2 4 7 8 9 11 13 14 +0 2 4 7 8 9 11 13 15 +0 2 4 7 8 9 11 14 15 +0 2 4 7 8 9 12 13 14 +0 2 4 7 8 9 12 13 15 +0 2 4 7 8 9 12 14 15 +0 2 4 7 8 9 13 14 15 +0 2 4 7 8 10 11 12 13 +0 2 4 7 8 10 11 12 14 +0 2 4 7 8 10 11 12 15 +0 2 4 7 8 10 11 13 14 +0 2 4 7 8 10 11 13 15 +0 2 4 7 8 10 11 14 15 +0 2 4 7 8 10 12 13 14 +0 2 4 7 8 10 12 13 15 +0 2 4 7 8 10 12 14 15 +0 2 4 7 8 10 13 14 15 +0 2 4 7 8 11 12 13 14 +0 2 4 7 8 11 12 13 15 +0 2 4 7 8 11 12 14 15 +0 2 4 7 8 11 13 14 15 +0 2 4 7 8 12 13 14 15 +0 2 4 7 9 10 11 12 13 +0 2 4 7 9 10 11 12 14 +0 2 4 7 9 10 11 12 15 +0 2 4 7 9 10 11 13 14 +0 2 4 7 9 10 11 13 15 +0 2 4 7 9 10 11 14 15 +0 2 4 7 9 10 12 13 14 +0 2 4 7 9 10 12 13 15 +0 2 4 7 9 10 12 14 15 +0 2 4 7 9 10 13 14 15 +0 2 4 7 9 11 12 13 14 +0 2 4 7 9 11 12 13 15 +0 2 4 7 9 11 12 14 15 +0 2 4 7 9 11 13 14 15 +0 2 4 7 9 12 13 14 15 +0 2 4 7 10 11 12 13 14 +0 2 4 7 10 11 12 13 15 +0 2 4 7 10 11 12 14 15 +0 2 4 7 10 11 13 14 15 +0 2 4 7 10 12 13 14 15 +0 2 4 7 11 12 13 14 15 +0 2 4 8 9 10 11 12 13 +0 2 4 8 9 10 11 12 14 +0 2 4 8 9 10 11 12 15 +0 2 4 8 9 10 11 13 14 +0 2 4 8 9 10 11 13 15 +0 2 4 8 9 10 11 14 15 +0 2 4 8 9 10 12 13 14 +0 2 4 8 9 10 12 13 15 +0 2 4 8 9 10 12 14 15 +0 2 4 8 9 10 13 14 15 +0 2 4 8 9 11 12 13 14 +0 2 4 8 9 11 12 13 15 +0 2 4 8 9 11 12 14 15 +0 2 4 8 9 11 13 14 15 +0 2 4 8 9 12 13 14 15 +0 2 4 8 10 11 12 13 14 +0 2 4 8 10 11 12 13 15 +0 2 4 8 10 11 12 14 15 +0 2 4 8 10 11 13 14 15 +0 2 4 8 10 12 13 14 15 +0 2 4 8 11 12 13 14 15 +0 2 4 9 10 11 12 13 14 +0 2 4 9 10 11 12 13 15 +0 2 4 9 10 11 12 14 15 +0 2 4 9 10 11 13 14 15 +0 2 4 9 10 12 13 14 15 +0 2 4 9 11 12 13 14 15 +0 2 4 10 11 12 13 14 15 +0 2 5 6 7 8 9 10 11 +0 2 5 6 7 8 9 10 12 +0 2 5 6 7 8 9 10 13 +0 2 5 6 7 8 9 10 14 +0 2 5 6 7 8 9 10 15 +0 2 5 6 7 8 9 11 12 +0 2 5 6 7 8 9 11 13 +0 2 5 6 7 8 9 11 14 +0 2 5 6 7 8 9 11 15 +0 2 5 6 7 8 9 12 13 +0 2 5 6 7 8 9 12 14 +0 2 5 6 7 8 9 12 15 +0 2 5 6 7 8 9 13 14 +0 2 5 6 7 8 9 13 15 +0 2 5 6 7 8 9 14 15 +0 2 5 6 7 8 10 11 12 +0 2 5 6 7 8 10 11 13 +0 2 5 6 7 8 10 11 14 +0 2 5 6 7 8 10 11 15 +0 2 5 6 7 8 10 12 13 +0 2 5 6 7 8 10 12 14 +0 2 5 6 7 8 10 12 15 +0 2 5 6 7 8 10 13 14 +0 2 5 6 7 8 10 13 15 +0 2 5 6 7 8 10 14 15 +0 2 5 6 7 8 11 12 13 +0 2 5 6 7 8 11 12 14 +0 2 5 6 7 8 11 12 15 +0 2 5 6 7 8 11 13 14 +0 2 5 6 7 8 11 13 15 +0 2 5 6 7 8 11 14 15 +0 2 5 6 7 8 12 13 14 +0 2 5 6 7 8 12 13 15 +0 2 5 6 7 8 12 14 15 +0 2 5 6 7 8 13 14 15 +0 2 5 6 7 9 10 11 12 +0 2 5 6 7 9 10 11 13 +0 2 5 6 7 9 10 11 14 +0 2 5 6 7 9 10 11 15 +0 2 5 6 7 9 10 12 13 +0 2 5 6 7 9 10 12 14 +0 2 5 6 7 9 10 12 15 +0 2 5 6 7 9 10 13 14 +0 2 5 6 7 9 10 13 15 +0 2 5 6 7 9 10 14 15 +0 2 5 6 7 9 11 12 13 +0 2 5 6 7 9 11 12 14 +0 2 5 6 7 9 11 12 15 +0 2 5 6 7 9 11 13 14 +0 2 5 6 7 9 11 13 15 +0 2 5 6 7 9 11 14 15 +0 2 5 6 7 9 12 13 14 +0 2 5 6 7 9 12 13 15 +0 2 5 6 7 9 12 14 15 +0 2 5 6 7 9 13 14 15 +0 2 5 6 7 10 11 12 13 +0 2 5 6 7 10 11 12 14 +0 2 5 6 7 10 11 12 15 +0 2 5 6 7 10 11 13 14 +0 2 5 6 7 10 11 13 15 +0 2 5 6 7 10 11 14 15 +0 2 5 6 7 10 12 13 14 +0 2 5 6 7 10 12 13 15 +0 2 5 6 7 10 12 14 15 +0 2 5 6 7 10 13 14 15 +0 2 5 6 7 11 12 13 14 +0 2 5 6 7 11 12 13 15 +0 2 5 6 7 11 12 14 15 +0 2 5 6 7 11 13 14 15 +0 2 5 6 7 12 13 14 15 +0 2 5 6 8 9 10 11 12 +0 2 5 6 8 9 10 11 13 +0 2 5 6 8 9 10 11 14 +0 2 5 6 8 9 10 11 15 +0 2 5 6 8 9 10 12 13 +0 2 5 6 8 9 10 12 14 +0 2 5 6 8 9 10 12 15 +0 2 5 6 8 9 10 13 14 +0 2 5 6 8 9 10 13 15 +0 2 5 6 8 9 10 14 15 +0 2 5 6 8 9 11 12 13 +0 2 5 6 8 9 11 12 14 +0 2 5 6 8 9 11 12 15 +0 2 5 6 8 9 11 13 14 +0 2 5 6 8 9 11 13 15 +0 2 5 6 8 9 11 14 15 +0 2 5 6 8 9 12 13 14 +0 2 5 6 8 9 12 13 15 +0 2 5 6 8 9 12 14 15 +0 2 5 6 8 9 13 14 15 +0 2 5 6 8 10 11 12 13 +0 2 5 6 8 10 11 12 14 +0 2 5 6 8 10 11 12 15 +0 2 5 6 8 10 11 13 14 +0 2 5 6 8 10 11 13 15 +0 2 5 6 8 10 11 14 15 +0 2 5 6 8 10 12 13 14 +0 2 5 6 8 10 12 13 15 +0 2 5 6 8 10 12 14 15 +0 2 5 6 8 10 13 14 15 +0 2 5 6 8 11 12 13 14 +0 2 5 6 8 11 12 13 15 +0 2 5 6 8 11 12 14 15 +0 2 5 6 8 11 13 14 15 +0 2 5 6 8 12 13 14 15 +0 2 5 6 9 10 11 12 13 +0 2 5 6 9 10 11 12 14 +0 2 5 6 9 10 11 12 15 +0 2 5 6 9 10 11 13 14 +0 2 5 6 9 10 11 13 15 +0 2 5 6 9 10 11 14 15 +0 2 5 6 9 10 12 13 14 +0 2 5 6 9 10 12 13 15 +0 2 5 6 9 10 12 14 15 +0 2 5 6 9 10 13 14 15 +0 2 5 6 9 11 12 13 14 +0 2 5 6 9 11 12 13 15 +0 2 5 6 9 11 12 14 15 +0 2 5 6 9 11 13 14 15 +0 2 5 6 9 12 13 14 15 +0 2 5 6 10 11 12 13 14 +0 2 5 6 10 11 12 13 15 +0 2 5 6 10 11 12 14 15 +0 2 5 6 10 11 13 14 15 +0 2 5 6 10 12 13 14 15 +0 2 5 6 11 12 13 14 15 +0 2 5 7 8 9 10 11 12 +0 2 5 7 8 9 10 11 13 +0 2 5 7 8 9 10 11 14 +0 2 5 7 8 9 10 11 15 +0 2 5 7 8 9 10 12 13 +0 2 5 7 8 9 10 12 14 +0 2 5 7 8 9 10 12 15 +0 2 5 7 8 9 10 13 14 +0 2 5 7 8 9 10 13 15 +0 2 5 7 8 9 10 14 15 +0 2 5 7 8 9 11 12 13 +0 2 5 7 8 9 11 12 14 +0 2 5 7 8 9 11 12 15 +0 2 5 7 8 9 11 13 14 +0 2 5 7 8 9 11 13 15 +0 2 5 7 8 9 11 14 15 +0 2 5 7 8 9 12 13 14 +0 2 5 7 8 9 12 13 15 +0 2 5 7 8 9 12 14 15 +0 2 5 7 8 9 13 14 15 +0 2 5 7 8 10 11 12 13 +0 2 5 7 8 10 11 12 14 +0 2 5 7 8 10 11 12 15 +0 2 5 7 8 10 11 13 14 +0 2 5 7 8 10 11 13 15 +0 2 5 7 8 10 11 14 15 +0 2 5 7 8 10 12 13 14 +0 2 5 7 8 10 12 13 15 +0 2 5 7 8 10 12 14 15 +0 2 5 7 8 10 13 14 15 +0 2 5 7 8 11 12 13 14 +0 2 5 7 8 11 12 13 15 +0 2 5 7 8 11 12 14 15 +0 2 5 7 8 11 13 14 15 +0 2 5 7 8 12 13 14 15 +0 2 5 7 9 10 11 12 13 +0 2 5 7 9 10 11 12 14 +0 2 5 7 9 10 11 12 15 +0 2 5 7 9 10 11 13 14 +0 2 5 7 9 10 11 13 15 +0 2 5 7 9 10 11 14 15 +0 2 5 7 9 10 12 13 14 +0 2 5 7 9 10 12 13 15 +0 2 5 7 9 10 12 14 15 +0 2 5 7 9 10 13 14 15 +0 2 5 7 9 11 12 13 14 +0 2 5 7 9 11 12 13 15 +0 2 5 7 9 11 12 14 15 +0 2 5 7 9 11 13 14 15 +0 2 5 7 9 12 13 14 15 +0 2 5 7 10 11 12 13 14 +0 2 5 7 10 11 12 13 15 +0 2 5 7 10 11 12 14 15 +0 2 5 7 10 11 13 14 15 +0 2 5 7 10 12 13 14 15 +0 2 5 7 11 12 13 14 15 +0 2 5 8 9 10 11 12 13 +0 2 5 8 9 10 11 12 14 +0 2 5 8 9 10 11 12 15 +0 2 5 8 9 10 11 13 14 +0 2 5 8 9 10 11 13 15 +0 2 5 8 9 10 11 14 15 +0 2 5 8 9 10 12 13 14 +0 2 5 8 9 10 12 13 15 +0 2 5 8 9 10 12 14 15 +0 2 5 8 9 10 13 14 15 +0 2 5 8 9 11 12 13 14 +0 2 5 8 9 11 12 13 15 +0 2 5 8 9 11 12 14 15 +0 2 5 8 9 11 13 14 15 +0 2 5 8 9 12 13 14 15 +0 2 5 8 10 11 12 13 14 +0 2 5 8 10 11 12 13 15 +0 2 5 8 10 11 12 14 15 +0 2 5 8 10 11 13 14 15 +0 2 5 8 10 12 13 14 15 +0 2 5 8 11 12 13 14 15 +0 2 5 9 10 11 12 13 14 +0 2 5 9 10 11 12 13 15 +0 2 5 9 10 11 12 14 15 +0 2 5 9 10 11 13 14 15 +0 2 5 9 10 12 13 14 15 +0 2 5 9 11 12 13 14 15 +0 2 5 10 11 12 13 14 15 +0 2 6 7 8 9 10 11 12 +0 2 6 7 8 9 10 11 13 +0 2 6 7 8 9 10 11 14 +0 2 6 7 8 9 10 11 15 +0 2 6 7 8 9 10 12 13 +0 2 6 7 8 9 10 12 14 +0 2 6 7 8 9 10 12 15 +0 2 6 7 8 9 10 13 14 +0 2 6 7 8 9 10 13 15 +0 2 6 7 8 9 10 14 15 +0 2 6 7 8 9 11 12 13 +0 2 6 7 8 9 11 12 14 +0 2 6 7 8 9 11 12 15 +0 2 6 7 8 9 11 13 14 +0 2 6 7 8 9 11 13 15 +0 2 6 7 8 9 11 14 15 +0 2 6 7 8 9 12 13 14 +0 2 6 7 8 9 12 13 15 +0 2 6 7 8 9 12 14 15 +0 2 6 7 8 9 13 14 15 +0 2 6 7 8 10 11 12 13 +0 2 6 7 8 10 11 12 14 +0 2 6 7 8 10 11 12 15 +0 2 6 7 8 10 11 13 14 +0 2 6 7 8 10 11 13 15 +0 2 6 7 8 10 11 14 15 +0 2 6 7 8 10 12 13 14 +0 2 6 7 8 10 12 13 15 +0 2 6 7 8 10 12 14 15 +0 2 6 7 8 10 13 14 15 +0 2 6 7 8 11 12 13 14 +0 2 6 7 8 11 12 13 15 +0 2 6 7 8 11 12 14 15 +0 2 6 7 8 11 13 14 15 +0 2 6 7 8 12 13 14 15 +0 2 6 7 9 10 11 12 13 +0 2 6 7 9 10 11 12 14 +0 2 6 7 9 10 11 12 15 +0 2 6 7 9 10 11 13 14 +0 2 6 7 9 10 11 13 15 +0 2 6 7 9 10 11 14 15 +0 2 6 7 9 10 12 13 14 +0 2 6 7 9 10 12 13 15 +0 2 6 7 9 10 12 14 15 +0 2 6 7 9 10 13 14 15 +0 2 6 7 9 11 12 13 14 +0 2 6 7 9 11 12 13 15 +0 2 6 7 9 11 12 14 15 +0 2 6 7 9 11 13 14 15 +0 2 6 7 9 12 13 14 15 +0 2 6 7 10 11 12 13 14 +0 2 6 7 10 11 12 13 15 +0 2 6 7 10 11 12 14 15 +0 2 6 7 10 11 13 14 15 +0 2 6 7 10 12 13 14 15 +0 2 6 7 11 12 13 14 15 +0 2 6 8 9 10 11 12 13 +0 2 6 8 9 10 11 12 14 +0 2 6 8 9 10 11 12 15 +0 2 6 8 9 10 11 13 14 +0 2 6 8 9 10 11 13 15 +0 2 6 8 9 10 11 14 15 +0 2 6 8 9 10 12 13 14 +0 2 6 8 9 10 12 13 15 +0 2 6 8 9 10 12 14 15 +0 2 6 8 9 10 13 14 15 +0 2 6 8 9 11 12 13 14 +0 2 6 8 9 11 12 13 15 +0 2 6 8 9 11 12 14 15 +0 2 6 8 9 11 13 14 15 +0 2 6 8 9 12 13 14 15 +0 2 6 8 10 11 12 13 14 +0 2 6 8 10 11 12 13 15 +0 2 6 8 10 11 12 14 15 +0 2 6 8 10 11 13 14 15 +0 2 6 8 10 12 13 14 15 +0 2 6 8 11 12 13 14 15 +0 2 6 9 10 11 12 13 14 +0 2 6 9 10 11 12 13 15 +0 2 6 9 10 11 12 14 15 +0 2 6 9 10 11 13 14 15 +0 2 6 9 10 12 13 14 15 +0 2 6 9 11 12 13 14 15 +0 2 6 10 11 12 13 14 15 +0 2 7 8 9 10 11 12 13 +0 2 7 8 9 10 11 12 14 +0 2 7 8 9 10 11 12 15 +0 2 7 8 9 10 11 13 14 +0 2 7 8 9 10 11 13 15 +0 2 7 8 9 10 11 14 15 +0 2 7 8 9 10 12 13 14 +0 2 7 8 9 10 12 13 15 +0 2 7 8 9 10 12 14 15 +0 2 7 8 9 10 13 14 15 +0 2 7 8 9 11 12 13 14 +0 2 7 8 9 11 12 13 15 +0 2 7 8 9 11 12 14 15 +0 2 7 8 9 11 13 14 15 +0 2 7 8 9 12 13 14 15 +0 2 7 8 10 11 12 13 14 +0 2 7 8 10 11 12 13 15 +0 2 7 8 10 11 12 14 15 +0 2 7 8 10 11 13 14 15 +0 2 7 8 10 12 13 14 15 +0 2 7 8 11 12 13 14 15 +0 2 7 9 10 11 12 13 14 +0 2 7 9 10 11 12 13 15 +0 2 7 9 10 11 12 14 15 +0 2 7 9 10 11 13 14 15 +0 2 7 9 10 12 13 14 15 +0 2 7 9 11 12 13 14 15 +0 2 7 10 11 12 13 14 15 +0 2 8 9 10 11 12 13 14 +0 2 8 9 10 11 12 13 15 +0 2 8 9 10 11 12 14 15 +0 2 8 9 10 11 13 14 15 +0 2 8 9 10 12 13 14 15 +0 2 8 9 11 12 13 14 15 +0 2 8 10 11 12 13 14 15 +0 2 9 10 11 12 13 14 15 +0 3 4 5 6 7 8 9 10 +0 3 4 5 6 7 8 9 11 +0 3 4 5 6 7 8 9 12 +0 3 4 5 6 7 8 9 13 +0 3 4 5 6 7 8 9 14 +0 3 4 5 6 7 8 9 15 +0 3 4 5 6 7 8 10 11 +0 3 4 5 6 7 8 10 12 +0 3 4 5 6 7 8 10 13 +0 3 4 5 6 7 8 10 14 +0 3 4 5 6 7 8 10 15 +0 3 4 5 6 7 8 11 12 +0 3 4 5 6 7 8 11 13 +0 3 4 5 6 7 8 11 14 +0 3 4 5 6 7 8 11 15 +0 3 4 5 6 7 8 12 13 +0 3 4 5 6 7 8 12 14 +0 3 4 5 6 7 8 12 15 +0 3 4 5 6 7 8 13 14 +0 3 4 5 6 7 8 13 15 +0 3 4 5 6 7 8 14 15 +0 3 4 5 6 7 9 10 11 +0 3 4 5 6 7 9 10 12 +0 3 4 5 6 7 9 10 13 +0 3 4 5 6 7 9 10 14 +0 3 4 5 6 7 9 10 15 +0 3 4 5 6 7 9 11 12 +0 3 4 5 6 7 9 11 13 +0 3 4 5 6 7 9 11 14 +0 3 4 5 6 7 9 11 15 +0 3 4 5 6 7 9 12 13 +0 3 4 5 6 7 9 12 14 +0 3 4 5 6 7 9 12 15 +0 3 4 5 6 7 9 13 14 +0 3 4 5 6 7 9 13 15 +0 3 4 5 6 7 9 14 15 +0 3 4 5 6 7 10 11 12 +0 3 4 5 6 7 10 11 13 +0 3 4 5 6 7 10 11 14 +0 3 4 5 6 7 10 11 15 +0 3 4 5 6 7 10 12 13 +0 3 4 5 6 7 10 12 14 +0 3 4 5 6 7 10 12 15 +0 3 4 5 6 7 10 13 14 +0 3 4 5 6 7 10 13 15 +0 3 4 5 6 7 10 14 15 +0 3 4 5 6 7 11 12 13 +0 3 4 5 6 7 11 12 14 +0 3 4 5 6 7 11 12 15 +0 3 4 5 6 7 11 13 14 +0 3 4 5 6 7 11 13 15 +0 3 4 5 6 7 11 14 15 +0 3 4 5 6 7 12 13 14 +0 3 4 5 6 7 12 13 15 +0 3 4 5 6 7 12 14 15 +0 3 4 5 6 7 13 14 15 +0 3 4 5 6 8 9 10 11 +0 3 4 5 6 8 9 10 12 +0 3 4 5 6 8 9 10 13 +0 3 4 5 6 8 9 10 14 +0 3 4 5 6 8 9 10 15 +0 3 4 5 6 8 9 11 12 +0 3 4 5 6 8 9 11 13 +0 3 4 5 6 8 9 11 14 +0 3 4 5 6 8 9 11 15 +0 3 4 5 6 8 9 12 13 +0 3 4 5 6 8 9 12 14 +0 3 4 5 6 8 9 12 15 +0 3 4 5 6 8 9 13 14 +0 3 4 5 6 8 9 13 15 +0 3 4 5 6 8 9 14 15 +0 3 4 5 6 8 10 11 12 +0 3 4 5 6 8 10 11 13 +0 3 4 5 6 8 10 11 14 +0 3 4 5 6 8 10 11 15 +0 3 4 5 6 8 10 12 13 +0 3 4 5 6 8 10 12 14 +0 3 4 5 6 8 10 12 15 +0 3 4 5 6 8 10 13 14 +0 3 4 5 6 8 10 13 15 +0 3 4 5 6 8 10 14 15 +0 3 4 5 6 8 11 12 13 +0 3 4 5 6 8 11 12 14 +0 3 4 5 6 8 11 12 15 +0 3 4 5 6 8 11 13 14 +0 3 4 5 6 8 11 13 15 +0 3 4 5 6 8 11 14 15 +0 3 4 5 6 8 12 13 14 +0 3 4 5 6 8 12 13 15 +0 3 4 5 6 8 12 14 15 +0 3 4 5 6 8 13 14 15 +0 3 4 5 6 9 10 11 12 +0 3 4 5 6 9 10 11 13 +0 3 4 5 6 9 10 11 14 +0 3 4 5 6 9 10 11 15 +0 3 4 5 6 9 10 12 13 +0 3 4 5 6 9 10 12 14 +0 3 4 5 6 9 10 12 15 +0 3 4 5 6 9 10 13 14 +0 3 4 5 6 9 10 13 15 +0 3 4 5 6 9 10 14 15 +0 3 4 5 6 9 11 12 13 +0 3 4 5 6 9 11 12 14 +0 3 4 5 6 9 11 12 15 +0 3 4 5 6 9 11 13 14 +0 3 4 5 6 9 11 13 15 +0 3 4 5 6 9 11 14 15 +0 3 4 5 6 9 12 13 14 +0 3 4 5 6 9 12 13 15 +0 3 4 5 6 9 12 14 15 +0 3 4 5 6 9 13 14 15 +0 3 4 5 6 10 11 12 13 +0 3 4 5 6 10 11 12 14 +0 3 4 5 6 10 11 12 15 +0 3 4 5 6 10 11 13 14 +0 3 4 5 6 10 11 13 15 +0 3 4 5 6 10 11 14 15 +0 3 4 5 6 10 12 13 14 +0 3 4 5 6 10 12 13 15 +0 3 4 5 6 10 12 14 15 +0 3 4 5 6 10 13 14 15 +0 3 4 5 6 11 12 13 14 +0 3 4 5 6 11 12 13 15 +0 3 4 5 6 11 12 14 15 +0 3 4 5 6 11 13 14 15 +0 3 4 5 6 12 13 14 15 +0 3 4 5 7 8 9 10 11 +0 3 4 5 7 8 9 10 12 +0 3 4 5 7 8 9 10 13 +0 3 4 5 7 8 9 10 14 +0 3 4 5 7 8 9 10 15 +0 3 4 5 7 8 9 11 12 +0 3 4 5 7 8 9 11 13 +0 3 4 5 7 8 9 11 14 +0 3 4 5 7 8 9 11 15 +0 3 4 5 7 8 9 12 13 +0 3 4 5 7 8 9 12 14 +0 3 4 5 7 8 9 12 15 +0 3 4 5 7 8 9 13 14 +0 3 4 5 7 8 9 13 15 +0 3 4 5 7 8 9 14 15 +0 3 4 5 7 8 10 11 12 +0 3 4 5 7 8 10 11 13 +0 3 4 5 7 8 10 11 14 +0 3 4 5 7 8 10 11 15 +0 3 4 5 7 8 10 12 13 +0 3 4 5 7 8 10 12 14 +0 3 4 5 7 8 10 12 15 +0 3 4 5 7 8 10 13 14 +0 3 4 5 7 8 10 13 15 +0 3 4 5 7 8 10 14 15 +0 3 4 5 7 8 11 12 13 +0 3 4 5 7 8 11 12 14 +0 3 4 5 7 8 11 12 15 +0 3 4 5 7 8 11 13 14 +0 3 4 5 7 8 11 13 15 +0 3 4 5 7 8 11 14 15 +0 3 4 5 7 8 12 13 14 +0 3 4 5 7 8 12 13 15 +0 3 4 5 7 8 12 14 15 +0 3 4 5 7 8 13 14 15 +0 3 4 5 7 9 10 11 12 +0 3 4 5 7 9 10 11 13 +0 3 4 5 7 9 10 11 14 +0 3 4 5 7 9 10 11 15 +0 3 4 5 7 9 10 12 13 +0 3 4 5 7 9 10 12 14 +0 3 4 5 7 9 10 12 15 +0 3 4 5 7 9 10 13 14 +0 3 4 5 7 9 10 13 15 +0 3 4 5 7 9 10 14 15 +0 3 4 5 7 9 11 12 13 +0 3 4 5 7 9 11 12 14 +0 3 4 5 7 9 11 12 15 +0 3 4 5 7 9 11 13 14 +0 3 4 5 7 9 11 13 15 +0 3 4 5 7 9 11 14 15 +0 3 4 5 7 9 12 13 14 +0 3 4 5 7 9 12 13 15 +0 3 4 5 7 9 12 14 15 +0 3 4 5 7 9 13 14 15 +0 3 4 5 7 10 11 12 13 +0 3 4 5 7 10 11 12 14 +0 3 4 5 7 10 11 12 15 +0 3 4 5 7 10 11 13 14 +0 3 4 5 7 10 11 13 15 +0 3 4 5 7 10 11 14 15 +0 3 4 5 7 10 12 13 14 +0 3 4 5 7 10 12 13 15 +0 3 4 5 7 10 12 14 15 +0 3 4 5 7 10 13 14 15 +0 3 4 5 7 11 12 13 14 +0 3 4 5 7 11 12 13 15 +0 3 4 5 7 11 12 14 15 +0 3 4 5 7 11 13 14 15 +0 3 4 5 7 12 13 14 15 +0 3 4 5 8 9 10 11 12 +0 3 4 5 8 9 10 11 13 +0 3 4 5 8 9 10 11 14 +0 3 4 5 8 9 10 11 15 +0 3 4 5 8 9 10 12 13 +0 3 4 5 8 9 10 12 14 +0 3 4 5 8 9 10 12 15 +0 3 4 5 8 9 10 13 14 +0 3 4 5 8 9 10 13 15 +0 3 4 5 8 9 10 14 15 +0 3 4 5 8 9 11 12 13 +0 3 4 5 8 9 11 12 14 +0 3 4 5 8 9 11 12 15 +0 3 4 5 8 9 11 13 14 +0 3 4 5 8 9 11 13 15 +0 3 4 5 8 9 11 14 15 +0 3 4 5 8 9 12 13 14 +0 3 4 5 8 9 12 13 15 +0 3 4 5 8 9 12 14 15 +0 3 4 5 8 9 13 14 15 +0 3 4 5 8 10 11 12 13 +0 3 4 5 8 10 11 12 14 +0 3 4 5 8 10 11 12 15 +0 3 4 5 8 10 11 13 14 +0 3 4 5 8 10 11 13 15 +0 3 4 5 8 10 11 14 15 +0 3 4 5 8 10 12 13 14 +0 3 4 5 8 10 12 13 15 +0 3 4 5 8 10 12 14 15 +0 3 4 5 8 10 13 14 15 +0 3 4 5 8 11 12 13 14 +0 3 4 5 8 11 12 13 15 +0 3 4 5 8 11 12 14 15 +0 3 4 5 8 11 13 14 15 +0 3 4 5 8 12 13 14 15 +0 3 4 5 9 10 11 12 13 +0 3 4 5 9 10 11 12 14 +0 3 4 5 9 10 11 12 15 +0 3 4 5 9 10 11 13 14 +0 3 4 5 9 10 11 13 15 +0 3 4 5 9 10 11 14 15 +0 3 4 5 9 10 12 13 14 +0 3 4 5 9 10 12 13 15 +0 3 4 5 9 10 12 14 15 +0 3 4 5 9 10 13 14 15 +0 3 4 5 9 11 12 13 14 +0 3 4 5 9 11 12 13 15 +0 3 4 5 9 11 12 14 15 +0 3 4 5 9 11 13 14 15 +0 3 4 5 9 12 13 14 15 +0 3 4 5 10 11 12 13 14 +0 3 4 5 10 11 12 13 15 +0 3 4 5 10 11 12 14 15 +0 3 4 5 10 11 13 14 15 +0 3 4 5 10 12 13 14 15 +0 3 4 5 11 12 13 14 15 +0 3 4 6 7 8 9 10 11 +0 3 4 6 7 8 9 10 12 +0 3 4 6 7 8 9 10 13 +0 3 4 6 7 8 9 10 14 +0 3 4 6 7 8 9 10 15 +0 3 4 6 7 8 9 11 12 +0 3 4 6 7 8 9 11 13 +0 3 4 6 7 8 9 11 14 +0 3 4 6 7 8 9 11 15 +0 3 4 6 7 8 9 12 13 +0 3 4 6 7 8 9 12 14 +0 3 4 6 7 8 9 12 15 +0 3 4 6 7 8 9 13 14 +0 3 4 6 7 8 9 13 15 +0 3 4 6 7 8 9 14 15 +0 3 4 6 7 8 10 11 12 +0 3 4 6 7 8 10 11 13 +0 3 4 6 7 8 10 11 14 +0 3 4 6 7 8 10 11 15 +0 3 4 6 7 8 10 12 13 +0 3 4 6 7 8 10 12 14 +0 3 4 6 7 8 10 12 15 +0 3 4 6 7 8 10 13 14 +0 3 4 6 7 8 10 13 15 +0 3 4 6 7 8 10 14 15 +0 3 4 6 7 8 11 12 13 +0 3 4 6 7 8 11 12 14 +0 3 4 6 7 8 11 12 15 +0 3 4 6 7 8 11 13 14 +0 3 4 6 7 8 11 13 15 +0 3 4 6 7 8 11 14 15 +0 3 4 6 7 8 12 13 14 +0 3 4 6 7 8 12 13 15 +0 3 4 6 7 8 12 14 15 +0 3 4 6 7 8 13 14 15 +0 3 4 6 7 9 10 11 12 +0 3 4 6 7 9 10 11 13 +0 3 4 6 7 9 10 11 14 +0 3 4 6 7 9 10 11 15 +0 3 4 6 7 9 10 12 13 +0 3 4 6 7 9 10 12 14 +0 3 4 6 7 9 10 12 15 +0 3 4 6 7 9 10 13 14 +0 3 4 6 7 9 10 13 15 +0 3 4 6 7 9 10 14 15 +0 3 4 6 7 9 11 12 13 +0 3 4 6 7 9 11 12 14 +0 3 4 6 7 9 11 12 15 +0 3 4 6 7 9 11 13 14 +0 3 4 6 7 9 11 13 15 +0 3 4 6 7 9 11 14 15 +0 3 4 6 7 9 12 13 14 +0 3 4 6 7 9 12 13 15 +0 3 4 6 7 9 12 14 15 +0 3 4 6 7 9 13 14 15 +0 3 4 6 7 10 11 12 13 +0 3 4 6 7 10 11 12 14 +0 3 4 6 7 10 11 12 15 +0 3 4 6 7 10 11 13 14 +0 3 4 6 7 10 11 13 15 +0 3 4 6 7 10 11 14 15 +0 3 4 6 7 10 12 13 14 +0 3 4 6 7 10 12 13 15 +0 3 4 6 7 10 12 14 15 +0 3 4 6 7 10 13 14 15 +0 3 4 6 7 11 12 13 14 +0 3 4 6 7 11 12 13 15 +0 3 4 6 7 11 12 14 15 +0 3 4 6 7 11 13 14 15 +0 3 4 6 7 12 13 14 15 +0 3 4 6 8 9 10 11 12 +0 3 4 6 8 9 10 11 13 +0 3 4 6 8 9 10 11 14 +0 3 4 6 8 9 10 11 15 +0 3 4 6 8 9 10 12 13 +0 3 4 6 8 9 10 12 14 +0 3 4 6 8 9 10 12 15 +0 3 4 6 8 9 10 13 14 +0 3 4 6 8 9 10 13 15 +0 3 4 6 8 9 10 14 15 +0 3 4 6 8 9 11 12 13 +0 3 4 6 8 9 11 12 14 +0 3 4 6 8 9 11 12 15 +0 3 4 6 8 9 11 13 14 +0 3 4 6 8 9 11 13 15 +0 3 4 6 8 9 11 14 15 +0 3 4 6 8 9 12 13 14 +0 3 4 6 8 9 12 13 15 +0 3 4 6 8 9 12 14 15 +0 3 4 6 8 9 13 14 15 +0 3 4 6 8 10 11 12 13 +0 3 4 6 8 10 11 12 14 +0 3 4 6 8 10 11 12 15 +0 3 4 6 8 10 11 13 14 +0 3 4 6 8 10 11 13 15 +0 3 4 6 8 10 11 14 15 +0 3 4 6 8 10 12 13 14 +0 3 4 6 8 10 12 13 15 +0 3 4 6 8 10 12 14 15 +0 3 4 6 8 10 13 14 15 +0 3 4 6 8 11 12 13 14 +0 3 4 6 8 11 12 13 15 +0 3 4 6 8 11 12 14 15 +0 3 4 6 8 11 13 14 15 +0 3 4 6 8 12 13 14 15 +0 3 4 6 9 10 11 12 13 +0 3 4 6 9 10 11 12 14 +0 3 4 6 9 10 11 12 15 +0 3 4 6 9 10 11 13 14 +0 3 4 6 9 10 11 13 15 +0 3 4 6 9 10 11 14 15 +0 3 4 6 9 10 12 13 14 +0 3 4 6 9 10 12 13 15 +0 3 4 6 9 10 12 14 15 +0 3 4 6 9 10 13 14 15 +0 3 4 6 9 11 12 13 14 +0 3 4 6 9 11 12 13 15 +0 3 4 6 9 11 12 14 15 +0 3 4 6 9 11 13 14 15 +0 3 4 6 9 12 13 14 15 +0 3 4 6 10 11 12 13 14 +0 3 4 6 10 11 12 13 15 +0 3 4 6 10 11 12 14 15 +0 3 4 6 10 11 13 14 15 +0 3 4 6 10 12 13 14 15 +0 3 4 6 11 12 13 14 15 +0 3 4 7 8 9 10 11 12 +0 3 4 7 8 9 10 11 13 +0 3 4 7 8 9 10 11 14 +0 3 4 7 8 9 10 11 15 +0 3 4 7 8 9 10 12 13 +0 3 4 7 8 9 10 12 14 +0 3 4 7 8 9 10 12 15 +0 3 4 7 8 9 10 13 14 +0 3 4 7 8 9 10 13 15 +0 3 4 7 8 9 10 14 15 +0 3 4 7 8 9 11 12 13 +0 3 4 7 8 9 11 12 14 +0 3 4 7 8 9 11 12 15 +0 3 4 7 8 9 11 13 14 +0 3 4 7 8 9 11 13 15 +0 3 4 7 8 9 11 14 15 +0 3 4 7 8 9 12 13 14 +0 3 4 7 8 9 12 13 15 +0 3 4 7 8 9 12 14 15 +0 3 4 7 8 9 13 14 15 +0 3 4 7 8 10 11 12 13 +0 3 4 7 8 10 11 12 14 +0 3 4 7 8 10 11 12 15 +0 3 4 7 8 10 11 13 14 +0 3 4 7 8 10 11 13 15 +0 3 4 7 8 10 11 14 15 +0 3 4 7 8 10 12 13 14 +0 3 4 7 8 10 12 13 15 +0 3 4 7 8 10 12 14 15 +0 3 4 7 8 10 13 14 15 +0 3 4 7 8 11 12 13 14 +0 3 4 7 8 11 12 13 15 +0 3 4 7 8 11 12 14 15 +0 3 4 7 8 11 13 14 15 +0 3 4 7 8 12 13 14 15 +0 3 4 7 9 10 11 12 13 +0 3 4 7 9 10 11 12 14 +0 3 4 7 9 10 11 12 15 +0 3 4 7 9 10 11 13 14 +0 3 4 7 9 10 11 13 15 +0 3 4 7 9 10 11 14 15 +0 3 4 7 9 10 12 13 14 +0 3 4 7 9 10 12 13 15 +0 3 4 7 9 10 12 14 15 +0 3 4 7 9 10 13 14 15 +0 3 4 7 9 11 12 13 14 +0 3 4 7 9 11 12 13 15 +0 3 4 7 9 11 12 14 15 +0 3 4 7 9 11 13 14 15 +0 3 4 7 9 12 13 14 15 +0 3 4 7 10 11 12 13 14 +0 3 4 7 10 11 12 13 15 +0 3 4 7 10 11 12 14 15 +0 3 4 7 10 11 13 14 15 +0 3 4 7 10 12 13 14 15 +0 3 4 7 11 12 13 14 15 +0 3 4 8 9 10 11 12 13 +0 3 4 8 9 10 11 12 14 +0 3 4 8 9 10 11 12 15 +0 3 4 8 9 10 11 13 14 +0 3 4 8 9 10 11 13 15 +0 3 4 8 9 10 11 14 15 +0 3 4 8 9 10 12 13 14 +0 3 4 8 9 10 12 13 15 +0 3 4 8 9 10 12 14 15 +0 3 4 8 9 10 13 14 15 +0 3 4 8 9 11 12 13 14 +0 3 4 8 9 11 12 13 15 +0 3 4 8 9 11 12 14 15 +0 3 4 8 9 11 13 14 15 +0 3 4 8 9 12 13 14 15 +0 3 4 8 10 11 12 13 14 +0 3 4 8 10 11 12 13 15 +0 3 4 8 10 11 12 14 15 +0 3 4 8 10 11 13 14 15 +0 3 4 8 10 12 13 14 15 +0 3 4 8 11 12 13 14 15 +0 3 4 9 10 11 12 13 14 +0 3 4 9 10 11 12 13 15 +0 3 4 9 10 11 12 14 15 +0 3 4 9 10 11 13 14 15 +0 3 4 9 10 12 13 14 15 +0 3 4 9 11 12 13 14 15 +0 3 4 10 11 12 13 14 15 +0 3 5 6 7 8 9 10 11 +0 3 5 6 7 8 9 10 12 +0 3 5 6 7 8 9 10 13 +0 3 5 6 7 8 9 10 14 +0 3 5 6 7 8 9 10 15 +0 3 5 6 7 8 9 11 12 +0 3 5 6 7 8 9 11 13 +0 3 5 6 7 8 9 11 14 +0 3 5 6 7 8 9 11 15 +0 3 5 6 7 8 9 12 13 +0 3 5 6 7 8 9 12 14 +0 3 5 6 7 8 9 12 15 +0 3 5 6 7 8 9 13 14 +0 3 5 6 7 8 9 13 15 +0 3 5 6 7 8 9 14 15 +0 3 5 6 7 8 10 11 12 +0 3 5 6 7 8 10 11 13 +0 3 5 6 7 8 10 11 14 +0 3 5 6 7 8 10 11 15 +0 3 5 6 7 8 10 12 13 +0 3 5 6 7 8 10 12 14 +0 3 5 6 7 8 10 12 15 +0 3 5 6 7 8 10 13 14 +0 3 5 6 7 8 10 13 15 +0 3 5 6 7 8 10 14 15 +0 3 5 6 7 8 11 12 13 +0 3 5 6 7 8 11 12 14 +0 3 5 6 7 8 11 12 15 +0 3 5 6 7 8 11 13 14 +0 3 5 6 7 8 11 13 15 +0 3 5 6 7 8 11 14 15 +0 3 5 6 7 8 12 13 14 +0 3 5 6 7 8 12 13 15 +0 3 5 6 7 8 12 14 15 +0 3 5 6 7 8 13 14 15 +0 3 5 6 7 9 10 11 12 +0 3 5 6 7 9 10 11 13 +0 3 5 6 7 9 10 11 14 +0 3 5 6 7 9 10 11 15 +0 3 5 6 7 9 10 12 13 +0 3 5 6 7 9 10 12 14 +0 3 5 6 7 9 10 12 15 +0 3 5 6 7 9 10 13 14 +0 3 5 6 7 9 10 13 15 +0 3 5 6 7 9 10 14 15 +0 3 5 6 7 9 11 12 13 +0 3 5 6 7 9 11 12 14 +0 3 5 6 7 9 11 12 15 +0 3 5 6 7 9 11 13 14 +0 3 5 6 7 9 11 13 15 +0 3 5 6 7 9 11 14 15 +0 3 5 6 7 9 12 13 14 +0 3 5 6 7 9 12 13 15 +0 3 5 6 7 9 12 14 15 +0 3 5 6 7 9 13 14 15 +0 3 5 6 7 10 11 12 13 +0 3 5 6 7 10 11 12 14 +0 3 5 6 7 10 11 12 15 +0 3 5 6 7 10 11 13 14 +0 3 5 6 7 10 11 13 15 +0 3 5 6 7 10 11 14 15 +0 3 5 6 7 10 12 13 14 +0 3 5 6 7 10 12 13 15 +0 3 5 6 7 10 12 14 15 +0 3 5 6 7 10 13 14 15 +0 3 5 6 7 11 12 13 14 +0 3 5 6 7 11 12 13 15 +0 3 5 6 7 11 12 14 15 +0 3 5 6 7 11 13 14 15 +0 3 5 6 7 12 13 14 15 +0 3 5 6 8 9 10 11 12 +0 3 5 6 8 9 10 11 13 +0 3 5 6 8 9 10 11 14 +0 3 5 6 8 9 10 11 15 +0 3 5 6 8 9 10 12 13 +0 3 5 6 8 9 10 12 14 +0 3 5 6 8 9 10 12 15 +0 3 5 6 8 9 10 13 14 +0 3 5 6 8 9 10 13 15 +0 3 5 6 8 9 10 14 15 +0 3 5 6 8 9 11 12 13 +0 3 5 6 8 9 11 12 14 +0 3 5 6 8 9 11 12 15 +0 3 5 6 8 9 11 13 14 +0 3 5 6 8 9 11 13 15 +0 3 5 6 8 9 11 14 15 +0 3 5 6 8 9 12 13 14 +0 3 5 6 8 9 12 13 15 +0 3 5 6 8 9 12 14 15 +0 3 5 6 8 9 13 14 15 +0 3 5 6 8 10 11 12 13 +0 3 5 6 8 10 11 12 14 +0 3 5 6 8 10 11 12 15 +0 3 5 6 8 10 11 13 14 +0 3 5 6 8 10 11 13 15 +0 3 5 6 8 10 11 14 15 +0 3 5 6 8 10 12 13 14 +0 3 5 6 8 10 12 13 15 +0 3 5 6 8 10 12 14 15 +0 3 5 6 8 10 13 14 15 +0 3 5 6 8 11 12 13 14 +0 3 5 6 8 11 12 13 15 +0 3 5 6 8 11 12 14 15 +0 3 5 6 8 11 13 14 15 +0 3 5 6 8 12 13 14 15 +0 3 5 6 9 10 11 12 13 +0 3 5 6 9 10 11 12 14 +0 3 5 6 9 10 11 12 15 +0 3 5 6 9 10 11 13 14 +0 3 5 6 9 10 11 13 15 +0 3 5 6 9 10 11 14 15 +0 3 5 6 9 10 12 13 14 +0 3 5 6 9 10 12 13 15 +0 3 5 6 9 10 12 14 15 +0 3 5 6 9 10 13 14 15 +0 3 5 6 9 11 12 13 14 +0 3 5 6 9 11 12 13 15 +0 3 5 6 9 11 12 14 15 +0 3 5 6 9 11 13 14 15 +0 3 5 6 9 12 13 14 15 +0 3 5 6 10 11 12 13 14 +0 3 5 6 10 11 12 13 15 +0 3 5 6 10 11 12 14 15 +0 3 5 6 10 11 13 14 15 +0 3 5 6 10 12 13 14 15 +0 3 5 6 11 12 13 14 15 +0 3 5 7 8 9 10 11 12 +0 3 5 7 8 9 10 11 13 +0 3 5 7 8 9 10 11 14 +0 3 5 7 8 9 10 11 15 +0 3 5 7 8 9 10 12 13 +0 3 5 7 8 9 10 12 14 +0 3 5 7 8 9 10 12 15 +0 3 5 7 8 9 10 13 14 +0 3 5 7 8 9 10 13 15 +0 3 5 7 8 9 10 14 15 +0 3 5 7 8 9 11 12 13 +0 3 5 7 8 9 11 12 14 +0 3 5 7 8 9 11 12 15 +0 3 5 7 8 9 11 13 14 +0 3 5 7 8 9 11 13 15 +0 3 5 7 8 9 11 14 15 +0 3 5 7 8 9 12 13 14 +0 3 5 7 8 9 12 13 15 +0 3 5 7 8 9 12 14 15 +0 3 5 7 8 9 13 14 15 +0 3 5 7 8 10 11 12 13 +0 3 5 7 8 10 11 12 14 +0 3 5 7 8 10 11 12 15 +0 3 5 7 8 10 11 13 14 +0 3 5 7 8 10 11 13 15 +0 3 5 7 8 10 11 14 15 +0 3 5 7 8 10 12 13 14 +0 3 5 7 8 10 12 13 15 +0 3 5 7 8 10 12 14 15 +0 3 5 7 8 10 13 14 15 +0 3 5 7 8 11 12 13 14 +0 3 5 7 8 11 12 13 15 +0 3 5 7 8 11 12 14 15 +0 3 5 7 8 11 13 14 15 +0 3 5 7 8 12 13 14 15 +0 3 5 7 9 10 11 12 13 +0 3 5 7 9 10 11 12 14 +0 3 5 7 9 10 11 12 15 +0 3 5 7 9 10 11 13 14 +0 3 5 7 9 10 11 13 15 +0 3 5 7 9 10 11 14 15 +0 3 5 7 9 10 12 13 14 +0 3 5 7 9 10 12 13 15 +0 3 5 7 9 10 12 14 15 +0 3 5 7 9 10 13 14 15 +0 3 5 7 9 11 12 13 14 +0 3 5 7 9 11 12 13 15 +0 3 5 7 9 11 12 14 15 +0 3 5 7 9 11 13 14 15 +0 3 5 7 9 12 13 14 15 +0 3 5 7 10 11 12 13 14 +0 3 5 7 10 11 12 13 15 +0 3 5 7 10 11 12 14 15 +0 3 5 7 10 11 13 14 15 +0 3 5 7 10 12 13 14 15 +0 3 5 7 11 12 13 14 15 +0 3 5 8 9 10 11 12 13 +0 3 5 8 9 10 11 12 14 +0 3 5 8 9 10 11 12 15 +0 3 5 8 9 10 11 13 14 +0 3 5 8 9 10 11 13 15 +0 3 5 8 9 10 11 14 15 +0 3 5 8 9 10 12 13 14 +0 3 5 8 9 10 12 13 15 +0 3 5 8 9 10 12 14 15 +0 3 5 8 9 10 13 14 15 +0 3 5 8 9 11 12 13 14 +0 3 5 8 9 11 12 13 15 +0 3 5 8 9 11 12 14 15 +0 3 5 8 9 11 13 14 15 +0 3 5 8 9 12 13 14 15 +0 3 5 8 10 11 12 13 14 +0 3 5 8 10 11 12 13 15 +0 3 5 8 10 11 12 14 15 +0 3 5 8 10 11 13 14 15 +0 3 5 8 10 12 13 14 15 +0 3 5 8 11 12 13 14 15 +0 3 5 9 10 11 12 13 14 +0 3 5 9 10 11 12 13 15 +0 3 5 9 10 11 12 14 15 +0 3 5 9 10 11 13 14 15 +0 3 5 9 10 12 13 14 15 +0 3 5 9 11 12 13 14 15 +0 3 5 10 11 12 13 14 15 +0 3 6 7 8 9 10 11 12 +0 3 6 7 8 9 10 11 13 +0 3 6 7 8 9 10 11 14 +0 3 6 7 8 9 10 11 15 +0 3 6 7 8 9 10 12 13 +0 3 6 7 8 9 10 12 14 +0 3 6 7 8 9 10 12 15 +0 3 6 7 8 9 10 13 14 +0 3 6 7 8 9 10 13 15 +0 3 6 7 8 9 10 14 15 +0 3 6 7 8 9 11 12 13 +0 3 6 7 8 9 11 12 14 +0 3 6 7 8 9 11 12 15 +0 3 6 7 8 9 11 13 14 +0 3 6 7 8 9 11 13 15 +0 3 6 7 8 9 11 14 15 +0 3 6 7 8 9 12 13 14 +0 3 6 7 8 9 12 13 15 +0 3 6 7 8 9 12 14 15 +0 3 6 7 8 9 13 14 15 +0 3 6 7 8 10 11 12 13 +0 3 6 7 8 10 11 12 14 +0 3 6 7 8 10 11 12 15 +0 3 6 7 8 10 11 13 14 +0 3 6 7 8 10 11 13 15 +0 3 6 7 8 10 11 14 15 +0 3 6 7 8 10 12 13 14 +0 3 6 7 8 10 12 13 15 +0 3 6 7 8 10 12 14 15 +0 3 6 7 8 10 13 14 15 +0 3 6 7 8 11 12 13 14 +0 3 6 7 8 11 12 13 15 +0 3 6 7 8 11 12 14 15 +0 3 6 7 8 11 13 14 15 +0 3 6 7 8 12 13 14 15 +0 3 6 7 9 10 11 12 13 +0 3 6 7 9 10 11 12 14 +0 3 6 7 9 10 11 12 15 +0 3 6 7 9 10 11 13 14 +0 3 6 7 9 10 11 13 15 +0 3 6 7 9 10 11 14 15 +0 3 6 7 9 10 12 13 14 +0 3 6 7 9 10 12 13 15 +0 3 6 7 9 10 12 14 15 +0 3 6 7 9 10 13 14 15 +0 3 6 7 9 11 12 13 14 +0 3 6 7 9 11 12 13 15 +0 3 6 7 9 11 12 14 15 +0 3 6 7 9 11 13 14 15 +0 3 6 7 9 12 13 14 15 +0 3 6 7 10 11 12 13 14 +0 3 6 7 10 11 12 13 15 +0 3 6 7 10 11 12 14 15 +0 3 6 7 10 11 13 14 15 +0 3 6 7 10 12 13 14 15 +0 3 6 7 11 12 13 14 15 +0 3 6 8 9 10 11 12 13 +0 3 6 8 9 10 11 12 14 +0 3 6 8 9 10 11 12 15 +0 3 6 8 9 10 11 13 14 +0 3 6 8 9 10 11 13 15 +0 3 6 8 9 10 11 14 15 +0 3 6 8 9 10 12 13 14 +0 3 6 8 9 10 12 13 15 +0 3 6 8 9 10 12 14 15 +0 3 6 8 9 10 13 14 15 +0 3 6 8 9 11 12 13 14 +0 3 6 8 9 11 12 13 15 +0 3 6 8 9 11 12 14 15 +0 3 6 8 9 11 13 14 15 +0 3 6 8 9 12 13 14 15 +0 3 6 8 10 11 12 13 14 +0 3 6 8 10 11 12 13 15 +0 3 6 8 10 11 12 14 15 +0 3 6 8 10 11 13 14 15 +0 3 6 8 10 12 13 14 15 +0 3 6 8 11 12 13 14 15 +0 3 6 9 10 11 12 13 14 +0 3 6 9 10 11 12 13 15 +0 3 6 9 10 11 12 14 15 +0 3 6 9 10 11 13 14 15 +0 3 6 9 10 12 13 14 15 +0 3 6 9 11 12 13 14 15 +0 3 6 10 11 12 13 14 15 +0 3 7 8 9 10 11 12 13 +0 3 7 8 9 10 11 12 14 +0 3 7 8 9 10 11 12 15 +0 3 7 8 9 10 11 13 14 +0 3 7 8 9 10 11 13 15 +0 3 7 8 9 10 11 14 15 +0 3 7 8 9 10 12 13 14 +0 3 7 8 9 10 12 13 15 +0 3 7 8 9 10 12 14 15 +0 3 7 8 9 10 13 14 15 +0 3 7 8 9 11 12 13 14 +0 3 7 8 9 11 12 13 15 +0 3 7 8 9 11 12 14 15 +0 3 7 8 9 11 13 14 15 +0 3 7 8 9 12 13 14 15 +0 3 7 8 10 11 12 13 14 +0 3 7 8 10 11 12 13 15 +0 3 7 8 10 11 12 14 15 +0 3 7 8 10 11 13 14 15 +0 3 7 8 10 12 13 14 15 +0 3 7 8 11 12 13 14 15 +0 3 7 9 10 11 12 13 14 +0 3 7 9 10 11 12 13 15 +0 3 7 9 10 11 12 14 15 +0 3 7 9 10 11 13 14 15 +0 3 7 9 10 12 13 14 15 +0 3 7 9 11 12 13 14 15 +0 3 7 10 11 12 13 14 15 +0 3 8 9 10 11 12 13 14 +0 3 8 9 10 11 12 13 15 +0 3 8 9 10 11 12 14 15 +0 3 8 9 10 11 13 14 15 +0 3 8 9 10 12 13 14 15 +0 3 8 9 11 12 13 14 15 +0 3 8 10 11 12 13 14 15 +0 3 9 10 11 12 13 14 15 +0 4 5 6 7 8 9 10 11 +0 4 5 6 7 8 9 10 12 +0 4 5 6 7 8 9 10 13 +0 4 5 6 7 8 9 10 14 +0 4 5 6 7 8 9 10 15 +0 4 5 6 7 8 9 11 12 +0 4 5 6 7 8 9 11 13 +0 4 5 6 7 8 9 11 14 +0 4 5 6 7 8 9 11 15 +0 4 5 6 7 8 9 12 13 +0 4 5 6 7 8 9 12 14 +0 4 5 6 7 8 9 12 15 +0 4 5 6 7 8 9 13 14 +0 4 5 6 7 8 9 13 15 +0 4 5 6 7 8 9 14 15 +0 4 5 6 7 8 10 11 12 +0 4 5 6 7 8 10 11 13 +0 4 5 6 7 8 10 11 14 +0 4 5 6 7 8 10 11 15 +0 4 5 6 7 8 10 12 13 +0 4 5 6 7 8 10 12 14 +0 4 5 6 7 8 10 12 15 +0 4 5 6 7 8 10 13 14 +0 4 5 6 7 8 10 13 15 +0 4 5 6 7 8 10 14 15 +0 4 5 6 7 8 11 12 13 +0 4 5 6 7 8 11 12 14 +0 4 5 6 7 8 11 12 15 +0 4 5 6 7 8 11 13 14 +0 4 5 6 7 8 11 13 15 +0 4 5 6 7 8 11 14 15 +0 4 5 6 7 8 12 13 14 +0 4 5 6 7 8 12 13 15 +0 4 5 6 7 8 12 14 15 +0 4 5 6 7 8 13 14 15 +0 4 5 6 7 9 10 11 12 +0 4 5 6 7 9 10 11 13 +0 4 5 6 7 9 10 11 14 +0 4 5 6 7 9 10 11 15 +0 4 5 6 7 9 10 12 13 +0 4 5 6 7 9 10 12 14 +0 4 5 6 7 9 10 12 15 +0 4 5 6 7 9 10 13 14 +0 4 5 6 7 9 10 13 15 +0 4 5 6 7 9 10 14 15 +0 4 5 6 7 9 11 12 13 +0 4 5 6 7 9 11 12 14 +0 4 5 6 7 9 11 12 15 +0 4 5 6 7 9 11 13 14 +0 4 5 6 7 9 11 13 15 +0 4 5 6 7 9 11 14 15 +0 4 5 6 7 9 12 13 14 +0 4 5 6 7 9 12 13 15 +0 4 5 6 7 9 12 14 15 +0 4 5 6 7 9 13 14 15 +0 4 5 6 7 10 11 12 13 +0 4 5 6 7 10 11 12 14 +0 4 5 6 7 10 11 12 15 +0 4 5 6 7 10 11 13 14 +0 4 5 6 7 10 11 13 15 +0 4 5 6 7 10 11 14 15 +0 4 5 6 7 10 12 13 14 +0 4 5 6 7 10 12 13 15 +0 4 5 6 7 10 12 14 15 +0 4 5 6 7 10 13 14 15 +0 4 5 6 7 11 12 13 14 +0 4 5 6 7 11 12 13 15 +0 4 5 6 7 11 12 14 15 +0 4 5 6 7 11 13 14 15 +0 4 5 6 7 12 13 14 15 +0 4 5 6 8 9 10 11 12 +0 4 5 6 8 9 10 11 13 +0 4 5 6 8 9 10 11 14 +0 4 5 6 8 9 10 11 15 +0 4 5 6 8 9 10 12 13 +0 4 5 6 8 9 10 12 14 +0 4 5 6 8 9 10 12 15 +0 4 5 6 8 9 10 13 14 +0 4 5 6 8 9 10 13 15 +0 4 5 6 8 9 10 14 15 +0 4 5 6 8 9 11 12 13 +0 4 5 6 8 9 11 12 14 +0 4 5 6 8 9 11 12 15 +0 4 5 6 8 9 11 13 14 +0 4 5 6 8 9 11 13 15 +0 4 5 6 8 9 11 14 15 +0 4 5 6 8 9 12 13 14 +0 4 5 6 8 9 12 13 15 +0 4 5 6 8 9 12 14 15 +0 4 5 6 8 9 13 14 15 +0 4 5 6 8 10 11 12 13 +0 4 5 6 8 10 11 12 14 +0 4 5 6 8 10 11 12 15 +0 4 5 6 8 10 11 13 14 +0 4 5 6 8 10 11 13 15 +0 4 5 6 8 10 11 14 15 +0 4 5 6 8 10 12 13 14 +0 4 5 6 8 10 12 13 15 +0 4 5 6 8 10 12 14 15 +0 4 5 6 8 10 13 14 15 +0 4 5 6 8 11 12 13 14 +0 4 5 6 8 11 12 13 15 +0 4 5 6 8 11 12 14 15 +0 4 5 6 8 11 13 14 15 +0 4 5 6 8 12 13 14 15 +0 4 5 6 9 10 11 12 13 +0 4 5 6 9 10 11 12 14 +0 4 5 6 9 10 11 12 15 +0 4 5 6 9 10 11 13 14 +0 4 5 6 9 10 11 13 15 +0 4 5 6 9 10 11 14 15 +0 4 5 6 9 10 12 13 14 +0 4 5 6 9 10 12 13 15 +0 4 5 6 9 10 12 14 15 +0 4 5 6 9 10 13 14 15 +0 4 5 6 9 11 12 13 14 +0 4 5 6 9 11 12 13 15 +0 4 5 6 9 11 12 14 15 +0 4 5 6 9 11 13 14 15 +0 4 5 6 9 12 13 14 15 +0 4 5 6 10 11 12 13 14 +0 4 5 6 10 11 12 13 15 +0 4 5 6 10 11 12 14 15 +0 4 5 6 10 11 13 14 15 +0 4 5 6 10 12 13 14 15 +0 4 5 6 11 12 13 14 15 +0 4 5 7 8 9 10 11 12 +0 4 5 7 8 9 10 11 13 +0 4 5 7 8 9 10 11 14 +0 4 5 7 8 9 10 11 15 +0 4 5 7 8 9 10 12 13 +0 4 5 7 8 9 10 12 14 +0 4 5 7 8 9 10 12 15 +0 4 5 7 8 9 10 13 14 +0 4 5 7 8 9 10 13 15 +0 4 5 7 8 9 10 14 15 +0 4 5 7 8 9 11 12 13 +0 4 5 7 8 9 11 12 14 +0 4 5 7 8 9 11 12 15 +0 4 5 7 8 9 11 13 14 +0 4 5 7 8 9 11 13 15 +0 4 5 7 8 9 11 14 15 +0 4 5 7 8 9 12 13 14 +0 4 5 7 8 9 12 13 15 +0 4 5 7 8 9 12 14 15 +0 4 5 7 8 9 13 14 15 +0 4 5 7 8 10 11 12 13 +0 4 5 7 8 10 11 12 14 +0 4 5 7 8 10 11 12 15 +0 4 5 7 8 10 11 13 14 +0 4 5 7 8 10 11 13 15 +0 4 5 7 8 10 11 14 15 +0 4 5 7 8 10 12 13 14 +0 4 5 7 8 10 12 13 15 +0 4 5 7 8 10 12 14 15 +0 4 5 7 8 10 13 14 15 +0 4 5 7 8 11 12 13 14 +0 4 5 7 8 11 12 13 15 +0 4 5 7 8 11 12 14 15 +0 4 5 7 8 11 13 14 15 +0 4 5 7 8 12 13 14 15 +0 4 5 7 9 10 11 12 13 +0 4 5 7 9 10 11 12 14 +0 4 5 7 9 10 11 12 15 +0 4 5 7 9 10 11 13 14 +0 4 5 7 9 10 11 13 15 +0 4 5 7 9 10 11 14 15 +0 4 5 7 9 10 12 13 14 +0 4 5 7 9 10 12 13 15 +0 4 5 7 9 10 12 14 15 +0 4 5 7 9 10 13 14 15 +0 4 5 7 9 11 12 13 14 +0 4 5 7 9 11 12 13 15 +0 4 5 7 9 11 12 14 15 +0 4 5 7 9 11 13 14 15 +0 4 5 7 9 12 13 14 15 +0 4 5 7 10 11 12 13 14 +0 4 5 7 10 11 12 13 15 +0 4 5 7 10 11 12 14 15 +0 4 5 7 10 11 13 14 15 +0 4 5 7 10 12 13 14 15 +0 4 5 7 11 12 13 14 15 +0 4 5 8 9 10 11 12 13 +0 4 5 8 9 10 11 12 14 +0 4 5 8 9 10 11 12 15 +0 4 5 8 9 10 11 13 14 +0 4 5 8 9 10 11 13 15 +0 4 5 8 9 10 11 14 15 +0 4 5 8 9 10 12 13 14 +0 4 5 8 9 10 12 13 15 +0 4 5 8 9 10 12 14 15 +0 4 5 8 9 10 13 14 15 +0 4 5 8 9 11 12 13 14 +0 4 5 8 9 11 12 13 15 +0 4 5 8 9 11 12 14 15 +0 4 5 8 9 11 13 14 15 +0 4 5 8 9 12 13 14 15 +0 4 5 8 10 11 12 13 14 +0 4 5 8 10 11 12 13 15 +0 4 5 8 10 11 12 14 15 +0 4 5 8 10 11 13 14 15 +0 4 5 8 10 12 13 14 15 +0 4 5 8 11 12 13 14 15 +0 4 5 9 10 11 12 13 14 +0 4 5 9 10 11 12 13 15 +0 4 5 9 10 11 12 14 15 +0 4 5 9 10 11 13 14 15 +0 4 5 9 10 12 13 14 15 +0 4 5 9 11 12 13 14 15 +0 4 5 10 11 12 13 14 15 +0 4 6 7 8 9 10 11 12 +0 4 6 7 8 9 10 11 13 +0 4 6 7 8 9 10 11 14 +0 4 6 7 8 9 10 11 15 +0 4 6 7 8 9 10 12 13 +0 4 6 7 8 9 10 12 14 +0 4 6 7 8 9 10 12 15 +0 4 6 7 8 9 10 13 14 +0 4 6 7 8 9 10 13 15 +0 4 6 7 8 9 10 14 15 +0 4 6 7 8 9 11 12 13 +0 4 6 7 8 9 11 12 14 +0 4 6 7 8 9 11 12 15 +0 4 6 7 8 9 11 13 14 +0 4 6 7 8 9 11 13 15 +0 4 6 7 8 9 11 14 15 +0 4 6 7 8 9 12 13 14 +0 4 6 7 8 9 12 13 15 +0 4 6 7 8 9 12 14 15 +0 4 6 7 8 9 13 14 15 +0 4 6 7 8 10 11 12 13 +0 4 6 7 8 10 11 12 14 +0 4 6 7 8 10 11 12 15 +0 4 6 7 8 10 11 13 14 +0 4 6 7 8 10 11 13 15 +0 4 6 7 8 10 11 14 15 +0 4 6 7 8 10 12 13 14 +0 4 6 7 8 10 12 13 15 +0 4 6 7 8 10 12 14 15 +0 4 6 7 8 10 13 14 15 +0 4 6 7 8 11 12 13 14 +0 4 6 7 8 11 12 13 15 +0 4 6 7 8 11 12 14 15 +0 4 6 7 8 11 13 14 15 +0 4 6 7 8 12 13 14 15 +0 4 6 7 9 10 11 12 13 +0 4 6 7 9 10 11 12 14 +0 4 6 7 9 10 11 12 15 +0 4 6 7 9 10 11 13 14 +0 4 6 7 9 10 11 13 15 +0 4 6 7 9 10 11 14 15 +0 4 6 7 9 10 12 13 14 +0 4 6 7 9 10 12 13 15 +0 4 6 7 9 10 12 14 15 +0 4 6 7 9 10 13 14 15 +0 4 6 7 9 11 12 13 14 +0 4 6 7 9 11 12 13 15 +0 4 6 7 9 11 12 14 15 +0 4 6 7 9 11 13 14 15 +0 4 6 7 9 12 13 14 15 +0 4 6 7 10 11 12 13 14 +0 4 6 7 10 11 12 13 15 +0 4 6 7 10 11 12 14 15 +0 4 6 7 10 11 13 14 15 +0 4 6 7 10 12 13 14 15 +0 4 6 7 11 12 13 14 15 +0 4 6 8 9 10 11 12 13 +0 4 6 8 9 10 11 12 14 +0 4 6 8 9 10 11 12 15 +0 4 6 8 9 10 11 13 14 +0 4 6 8 9 10 11 13 15 +0 4 6 8 9 10 11 14 15 +0 4 6 8 9 10 12 13 14 +0 4 6 8 9 10 12 13 15 +0 4 6 8 9 10 12 14 15 +0 4 6 8 9 10 13 14 15 +0 4 6 8 9 11 12 13 14 +0 4 6 8 9 11 12 13 15 +0 4 6 8 9 11 12 14 15 +0 4 6 8 9 11 13 14 15 +0 4 6 8 9 12 13 14 15 +0 4 6 8 10 11 12 13 14 +0 4 6 8 10 11 12 13 15 +0 4 6 8 10 11 12 14 15 +0 4 6 8 10 11 13 14 15 +0 4 6 8 10 12 13 14 15 +0 4 6 8 11 12 13 14 15 +0 4 6 9 10 11 12 13 14 +0 4 6 9 10 11 12 13 15 +0 4 6 9 10 11 12 14 15 +0 4 6 9 10 11 13 14 15 +0 4 6 9 10 12 13 14 15 +0 4 6 9 11 12 13 14 15 +0 4 6 10 11 12 13 14 15 +0 4 7 8 9 10 11 12 13 +0 4 7 8 9 10 11 12 14 +0 4 7 8 9 10 11 12 15 +0 4 7 8 9 10 11 13 14 +0 4 7 8 9 10 11 13 15 +0 4 7 8 9 10 11 14 15 +0 4 7 8 9 10 12 13 14 +0 4 7 8 9 10 12 13 15 +0 4 7 8 9 10 12 14 15 +0 4 7 8 9 10 13 14 15 +0 4 7 8 9 11 12 13 14 +0 4 7 8 9 11 12 13 15 +0 4 7 8 9 11 12 14 15 +0 4 7 8 9 11 13 14 15 +0 4 7 8 9 12 13 14 15 +0 4 7 8 10 11 12 13 14 +0 4 7 8 10 11 12 13 15 +0 4 7 8 10 11 12 14 15 +0 4 7 8 10 11 13 14 15 +0 4 7 8 10 12 13 14 15 +0 4 7 8 11 12 13 14 15 +0 4 7 9 10 11 12 13 14 +0 4 7 9 10 11 12 13 15 +0 4 7 9 10 11 12 14 15 +0 4 7 9 10 11 13 14 15 +0 4 7 9 10 12 13 14 15 +0 4 7 9 11 12 13 14 15 +0 4 7 10 11 12 13 14 15 +0 4 8 9 10 11 12 13 14 +0 4 8 9 10 11 12 13 15 +0 4 8 9 10 11 12 14 15 +0 4 8 9 10 11 13 14 15 +0 4 8 9 10 12 13 14 15 +0 4 8 9 11 12 13 14 15 +0 4 8 10 11 12 13 14 15 +0 4 9 10 11 12 13 14 15 +0 5 6 7 8 9 10 11 12 +0 5 6 7 8 9 10 11 13 +0 5 6 7 8 9 10 11 14 +0 5 6 7 8 9 10 11 15 +0 5 6 7 8 9 10 12 13 +0 5 6 7 8 9 10 12 14 +0 5 6 7 8 9 10 12 15 +0 5 6 7 8 9 10 13 14 +0 5 6 7 8 9 10 13 15 +0 5 6 7 8 9 10 14 15 +0 5 6 7 8 9 11 12 13 +0 5 6 7 8 9 11 12 14 +0 5 6 7 8 9 11 12 15 +0 5 6 7 8 9 11 13 14 +0 5 6 7 8 9 11 13 15 +0 5 6 7 8 9 11 14 15 +0 5 6 7 8 9 12 13 14 +0 5 6 7 8 9 12 13 15 +0 5 6 7 8 9 12 14 15 +0 5 6 7 8 9 13 14 15 +0 5 6 7 8 10 11 12 13 +0 5 6 7 8 10 11 12 14 +0 5 6 7 8 10 11 12 15 +0 5 6 7 8 10 11 13 14 +0 5 6 7 8 10 11 13 15 +0 5 6 7 8 10 11 14 15 +0 5 6 7 8 10 12 13 14 +0 5 6 7 8 10 12 13 15 +0 5 6 7 8 10 12 14 15 +0 5 6 7 8 10 13 14 15 +0 5 6 7 8 11 12 13 14 +0 5 6 7 8 11 12 13 15 +0 5 6 7 8 11 12 14 15 +0 5 6 7 8 11 13 14 15 +0 5 6 7 8 12 13 14 15 +0 5 6 7 9 10 11 12 13 +0 5 6 7 9 10 11 12 14 +0 5 6 7 9 10 11 12 15 +0 5 6 7 9 10 11 13 14 +0 5 6 7 9 10 11 13 15 +0 5 6 7 9 10 11 14 15 +0 5 6 7 9 10 12 13 14 +0 5 6 7 9 10 12 13 15 +0 5 6 7 9 10 12 14 15 +0 5 6 7 9 10 13 14 15 +0 5 6 7 9 11 12 13 14 +0 5 6 7 9 11 12 13 15 +0 5 6 7 9 11 12 14 15 +0 5 6 7 9 11 13 14 15 +0 5 6 7 9 12 13 14 15 +0 5 6 7 10 11 12 13 14 +0 5 6 7 10 11 12 13 15 +0 5 6 7 10 11 12 14 15 +0 5 6 7 10 11 13 14 15 +0 5 6 7 10 12 13 14 15 +0 5 6 7 11 12 13 14 15 +0 5 6 8 9 10 11 12 13 +0 5 6 8 9 10 11 12 14 +0 5 6 8 9 10 11 12 15 +0 5 6 8 9 10 11 13 14 +0 5 6 8 9 10 11 13 15 +0 5 6 8 9 10 11 14 15 +0 5 6 8 9 10 12 13 14 +0 5 6 8 9 10 12 13 15 +0 5 6 8 9 10 12 14 15 +0 5 6 8 9 10 13 14 15 +0 5 6 8 9 11 12 13 14 +0 5 6 8 9 11 12 13 15 +0 5 6 8 9 11 12 14 15 +0 5 6 8 9 11 13 14 15 +0 5 6 8 9 12 13 14 15 +0 5 6 8 10 11 12 13 14 +0 5 6 8 10 11 12 13 15 +0 5 6 8 10 11 12 14 15 +0 5 6 8 10 11 13 14 15 +0 5 6 8 10 12 13 14 15 +0 5 6 8 11 12 13 14 15 +0 5 6 9 10 11 12 13 14 +0 5 6 9 10 11 12 13 15 +0 5 6 9 10 11 12 14 15 +0 5 6 9 10 11 13 14 15 +0 5 6 9 10 12 13 14 15 +0 5 6 9 11 12 13 14 15 +0 5 6 10 11 12 13 14 15 +0 5 7 8 9 10 11 12 13 +0 5 7 8 9 10 11 12 14 +0 5 7 8 9 10 11 12 15 +0 5 7 8 9 10 11 13 14 +0 5 7 8 9 10 11 13 15 +0 5 7 8 9 10 11 14 15 +0 5 7 8 9 10 12 13 14 +0 5 7 8 9 10 12 13 15 +0 5 7 8 9 10 12 14 15 +0 5 7 8 9 10 13 14 15 +0 5 7 8 9 11 12 13 14 +0 5 7 8 9 11 12 13 15 +0 5 7 8 9 11 12 14 15 +0 5 7 8 9 11 13 14 15 +0 5 7 8 9 12 13 14 15 +0 5 7 8 10 11 12 13 14 +0 5 7 8 10 11 12 13 15 +0 5 7 8 10 11 12 14 15 +0 5 7 8 10 11 13 14 15 +0 5 7 8 10 12 13 14 15 +0 5 7 8 11 12 13 14 15 +0 5 7 9 10 11 12 13 14 +0 5 7 9 10 11 12 13 15 +0 5 7 9 10 11 12 14 15 +0 5 7 9 10 11 13 14 15 +0 5 7 9 10 12 13 14 15 +0 5 7 9 11 12 13 14 15 +0 5 7 10 11 12 13 14 15 +0 5 8 9 10 11 12 13 14 +0 5 8 9 10 11 12 13 15 +0 5 8 9 10 11 12 14 15 +0 5 8 9 10 11 13 14 15 +0 5 8 9 10 12 13 14 15 +0 5 8 9 11 12 13 14 15 +0 5 8 10 11 12 13 14 15 +0 5 9 10 11 12 13 14 15 +0 6 7 8 9 10 11 12 13 +0 6 7 8 9 10 11 12 14 +0 6 7 8 9 10 11 12 15 +0 6 7 8 9 10 11 13 14 +0 6 7 8 9 10 11 13 15 +0 6 7 8 9 10 11 14 15 +0 6 7 8 9 10 12 13 14 +0 6 7 8 9 10 12 13 15 +0 6 7 8 9 10 12 14 15 +0 6 7 8 9 10 13 14 15 +0 6 7 8 9 11 12 13 14 +0 6 7 8 9 11 12 13 15 +0 6 7 8 9 11 12 14 15 +0 6 7 8 9 11 13 14 15 +0 6 7 8 9 12 13 14 15 +0 6 7 8 10 11 12 13 14 +0 6 7 8 10 11 12 13 15 +0 6 7 8 10 11 12 14 15 +0 6 7 8 10 11 13 14 15 +0 6 7 8 10 12 13 14 15 +0 6 7 8 11 12 13 14 15 +0 6 7 9 10 11 12 13 14 +0 6 7 9 10 11 12 13 15 +0 6 7 9 10 11 12 14 15 +0 6 7 9 10 11 13 14 15 +0 6 7 9 10 12 13 14 15 +0 6 7 9 11 12 13 14 15 +0 6 7 10 11 12 13 14 15 +0 6 8 9 10 11 12 13 14 +0 6 8 9 10 11 12 13 15 +0 6 8 9 10 11 12 14 15 +0 6 8 9 10 11 13 14 15 +0 6 8 9 10 12 13 14 15 +0 6 8 9 11 12 13 14 15 +0 6 8 10 11 12 13 14 15 +0 6 9 10 11 12 13 14 15 +0 7 8 9 10 11 12 13 14 +0 7 8 9 10 11 12 13 15 +0 7 8 9 10 11 12 14 15 +0 7 8 9 10 11 13 14 15 +0 7 8 9 10 12 13 14 15 +0 7 8 9 11 12 13 14 15 +0 7 8 10 11 12 13 14 15 +0 7 9 10 11 12 13 14 15 +0 8 9 10 11 12 13 14 15 +1 2 3 4 5 6 7 8 9 +1 2 3 4 5 6 7 8 10 +1 2 3 4 5 6 7 8 11 +1 2 3 4 5 6 7 8 12 +1 2 3 4 5 6 7 8 13 +1 2 3 4 5 6 7 8 14 +1 2 3 4 5 6 7 8 15 +1 2 3 4 5 6 7 9 10 +1 2 3 4 5 6 7 9 11 +1 2 3 4 5 6 7 9 12 +1 2 3 4 5 6 7 9 13 +1 2 3 4 5 6 7 9 14 +1 2 3 4 5 6 7 9 15 +1 2 3 4 5 6 7 10 11 +1 2 3 4 5 6 7 10 12 +1 2 3 4 5 6 7 10 13 +1 2 3 4 5 6 7 10 14 +1 2 3 4 5 6 7 10 15 +1 2 3 4 5 6 7 11 12 +1 2 3 4 5 6 7 11 13 +1 2 3 4 5 6 7 11 14 +1 2 3 4 5 6 7 11 15 +1 2 3 4 5 6 7 12 13 +1 2 3 4 5 6 7 12 14 +1 2 3 4 5 6 7 12 15 +1 2 3 4 5 6 7 13 14 +1 2 3 4 5 6 7 13 15 +1 2 3 4 5 6 7 14 15 +1 2 3 4 5 6 8 9 10 +1 2 3 4 5 6 8 9 11 +1 2 3 4 5 6 8 9 12 +1 2 3 4 5 6 8 9 13 +1 2 3 4 5 6 8 9 14 +1 2 3 4 5 6 8 9 15 +1 2 3 4 5 6 8 10 11 +1 2 3 4 5 6 8 10 12 +1 2 3 4 5 6 8 10 13 +1 2 3 4 5 6 8 10 14 +1 2 3 4 5 6 8 10 15 +1 2 3 4 5 6 8 11 12 +1 2 3 4 5 6 8 11 13 +1 2 3 4 5 6 8 11 14 +1 2 3 4 5 6 8 11 15 +1 2 3 4 5 6 8 12 13 +1 2 3 4 5 6 8 12 14 +1 2 3 4 5 6 8 12 15 +1 2 3 4 5 6 8 13 14 +1 2 3 4 5 6 8 13 15 +1 2 3 4 5 6 8 14 15 +1 2 3 4 5 6 9 10 11 +1 2 3 4 5 6 9 10 12 +1 2 3 4 5 6 9 10 13 +1 2 3 4 5 6 9 10 14 +1 2 3 4 5 6 9 10 15 +1 2 3 4 5 6 9 11 12 +1 2 3 4 5 6 9 11 13 +1 2 3 4 5 6 9 11 14 +1 2 3 4 5 6 9 11 15 +1 2 3 4 5 6 9 12 13 +1 2 3 4 5 6 9 12 14 +1 2 3 4 5 6 9 12 15 +1 2 3 4 5 6 9 13 14 +1 2 3 4 5 6 9 13 15 +1 2 3 4 5 6 9 14 15 +1 2 3 4 5 6 10 11 12 +1 2 3 4 5 6 10 11 13 +1 2 3 4 5 6 10 11 14 +1 2 3 4 5 6 10 11 15 +1 2 3 4 5 6 10 12 13 +1 2 3 4 5 6 10 12 14 +1 2 3 4 5 6 10 12 15 +1 2 3 4 5 6 10 13 14 +1 2 3 4 5 6 10 13 15 +1 2 3 4 5 6 10 14 15 +1 2 3 4 5 6 11 12 13 +1 2 3 4 5 6 11 12 14 +1 2 3 4 5 6 11 12 15 +1 2 3 4 5 6 11 13 14 +1 2 3 4 5 6 11 13 15 +1 2 3 4 5 6 11 14 15 +1 2 3 4 5 6 12 13 14 +1 2 3 4 5 6 12 13 15 +1 2 3 4 5 6 12 14 15 +1 2 3 4 5 6 13 14 15 +1 2 3 4 5 7 8 9 10 +1 2 3 4 5 7 8 9 11 +1 2 3 4 5 7 8 9 12 +1 2 3 4 5 7 8 9 13 +1 2 3 4 5 7 8 9 14 +1 2 3 4 5 7 8 9 15 +1 2 3 4 5 7 8 10 11 +1 2 3 4 5 7 8 10 12 +1 2 3 4 5 7 8 10 13 +1 2 3 4 5 7 8 10 14 +1 2 3 4 5 7 8 10 15 +1 2 3 4 5 7 8 11 12 +1 2 3 4 5 7 8 11 13 +1 2 3 4 5 7 8 11 14 +1 2 3 4 5 7 8 11 15 +1 2 3 4 5 7 8 12 13 +1 2 3 4 5 7 8 12 14 +1 2 3 4 5 7 8 12 15 +1 2 3 4 5 7 8 13 14 +1 2 3 4 5 7 8 13 15 +1 2 3 4 5 7 8 14 15 +1 2 3 4 5 7 9 10 11 +1 2 3 4 5 7 9 10 12 +1 2 3 4 5 7 9 10 13 +1 2 3 4 5 7 9 10 14 +1 2 3 4 5 7 9 10 15 +1 2 3 4 5 7 9 11 12 +1 2 3 4 5 7 9 11 13 +1 2 3 4 5 7 9 11 14 +1 2 3 4 5 7 9 11 15 +1 2 3 4 5 7 9 12 13 +1 2 3 4 5 7 9 12 14 +1 2 3 4 5 7 9 12 15 +1 2 3 4 5 7 9 13 14 +1 2 3 4 5 7 9 13 15 +1 2 3 4 5 7 9 14 15 +1 2 3 4 5 7 10 11 12 +1 2 3 4 5 7 10 11 13 +1 2 3 4 5 7 10 11 14 +1 2 3 4 5 7 10 11 15 +1 2 3 4 5 7 10 12 13 +1 2 3 4 5 7 10 12 14 +1 2 3 4 5 7 10 12 15 +1 2 3 4 5 7 10 13 14 +1 2 3 4 5 7 10 13 15 +1 2 3 4 5 7 10 14 15 +1 2 3 4 5 7 11 12 13 +1 2 3 4 5 7 11 12 14 +1 2 3 4 5 7 11 12 15 +1 2 3 4 5 7 11 13 14 +1 2 3 4 5 7 11 13 15 +1 2 3 4 5 7 11 14 15 +1 2 3 4 5 7 12 13 14 +1 2 3 4 5 7 12 13 15 +1 2 3 4 5 7 12 14 15 +1 2 3 4 5 7 13 14 15 +1 2 3 4 5 8 9 10 11 +1 2 3 4 5 8 9 10 12 +1 2 3 4 5 8 9 10 13 +1 2 3 4 5 8 9 10 14 +1 2 3 4 5 8 9 10 15 +1 2 3 4 5 8 9 11 12 +1 2 3 4 5 8 9 11 13 +1 2 3 4 5 8 9 11 14 +1 2 3 4 5 8 9 11 15 +1 2 3 4 5 8 9 12 13 +1 2 3 4 5 8 9 12 14 +1 2 3 4 5 8 9 12 15 +1 2 3 4 5 8 9 13 14 +1 2 3 4 5 8 9 13 15 +1 2 3 4 5 8 9 14 15 +1 2 3 4 5 8 10 11 12 +1 2 3 4 5 8 10 11 13 +1 2 3 4 5 8 10 11 14 +1 2 3 4 5 8 10 11 15 +1 2 3 4 5 8 10 12 13 +1 2 3 4 5 8 10 12 14 +1 2 3 4 5 8 10 12 15 +1 2 3 4 5 8 10 13 14 +1 2 3 4 5 8 10 13 15 +1 2 3 4 5 8 10 14 15 +1 2 3 4 5 8 11 12 13 +1 2 3 4 5 8 11 12 14 +1 2 3 4 5 8 11 12 15 +1 2 3 4 5 8 11 13 14 +1 2 3 4 5 8 11 13 15 +1 2 3 4 5 8 11 14 15 +1 2 3 4 5 8 12 13 14 +1 2 3 4 5 8 12 13 15 +1 2 3 4 5 8 12 14 15 +1 2 3 4 5 8 13 14 15 +1 2 3 4 5 9 10 11 12 +1 2 3 4 5 9 10 11 13 +1 2 3 4 5 9 10 11 14 +1 2 3 4 5 9 10 11 15 +1 2 3 4 5 9 10 12 13 +1 2 3 4 5 9 10 12 14 +1 2 3 4 5 9 10 12 15 +1 2 3 4 5 9 10 13 14 +1 2 3 4 5 9 10 13 15 +1 2 3 4 5 9 10 14 15 +1 2 3 4 5 9 11 12 13 +1 2 3 4 5 9 11 12 14 +1 2 3 4 5 9 11 12 15 +1 2 3 4 5 9 11 13 14 +1 2 3 4 5 9 11 13 15 +1 2 3 4 5 9 11 14 15 +1 2 3 4 5 9 12 13 14 +1 2 3 4 5 9 12 13 15 +1 2 3 4 5 9 12 14 15 +1 2 3 4 5 9 13 14 15 +1 2 3 4 5 10 11 12 13 +1 2 3 4 5 10 11 12 14 +1 2 3 4 5 10 11 12 15 +1 2 3 4 5 10 11 13 14 +1 2 3 4 5 10 11 13 15 +1 2 3 4 5 10 11 14 15 +1 2 3 4 5 10 12 13 14 +1 2 3 4 5 10 12 13 15 +1 2 3 4 5 10 12 14 15 +1 2 3 4 5 10 13 14 15 +1 2 3 4 5 11 12 13 14 +1 2 3 4 5 11 12 13 15 +1 2 3 4 5 11 12 14 15 +1 2 3 4 5 11 13 14 15 +1 2 3 4 5 12 13 14 15 +1 2 3 4 6 7 8 9 10 +1 2 3 4 6 7 8 9 11 +1 2 3 4 6 7 8 9 12 +1 2 3 4 6 7 8 9 13 +1 2 3 4 6 7 8 9 14 +1 2 3 4 6 7 8 9 15 +1 2 3 4 6 7 8 10 11 +1 2 3 4 6 7 8 10 12 +1 2 3 4 6 7 8 10 13 +1 2 3 4 6 7 8 10 14 +1 2 3 4 6 7 8 10 15 +1 2 3 4 6 7 8 11 12 +1 2 3 4 6 7 8 11 13 +1 2 3 4 6 7 8 11 14 +1 2 3 4 6 7 8 11 15 +1 2 3 4 6 7 8 12 13 +1 2 3 4 6 7 8 12 14 +1 2 3 4 6 7 8 12 15 +1 2 3 4 6 7 8 13 14 +1 2 3 4 6 7 8 13 15 +1 2 3 4 6 7 8 14 15 +1 2 3 4 6 7 9 10 11 +1 2 3 4 6 7 9 10 12 +1 2 3 4 6 7 9 10 13 +1 2 3 4 6 7 9 10 14 +1 2 3 4 6 7 9 10 15 +1 2 3 4 6 7 9 11 12 +1 2 3 4 6 7 9 11 13 +1 2 3 4 6 7 9 11 14 +1 2 3 4 6 7 9 11 15 +1 2 3 4 6 7 9 12 13 +1 2 3 4 6 7 9 12 14 +1 2 3 4 6 7 9 12 15 +1 2 3 4 6 7 9 13 14 +1 2 3 4 6 7 9 13 15 +1 2 3 4 6 7 9 14 15 +1 2 3 4 6 7 10 11 12 +1 2 3 4 6 7 10 11 13 +1 2 3 4 6 7 10 11 14 +1 2 3 4 6 7 10 11 15 +1 2 3 4 6 7 10 12 13 +1 2 3 4 6 7 10 12 14 +1 2 3 4 6 7 10 12 15 +1 2 3 4 6 7 10 13 14 +1 2 3 4 6 7 10 13 15 +1 2 3 4 6 7 10 14 15 +1 2 3 4 6 7 11 12 13 +1 2 3 4 6 7 11 12 14 +1 2 3 4 6 7 11 12 15 +1 2 3 4 6 7 11 13 14 +1 2 3 4 6 7 11 13 15 +1 2 3 4 6 7 11 14 15 +1 2 3 4 6 7 12 13 14 +1 2 3 4 6 7 12 13 15 +1 2 3 4 6 7 12 14 15 +1 2 3 4 6 7 13 14 15 +1 2 3 4 6 8 9 10 11 +1 2 3 4 6 8 9 10 12 +1 2 3 4 6 8 9 10 13 +1 2 3 4 6 8 9 10 14 +1 2 3 4 6 8 9 10 15 +1 2 3 4 6 8 9 11 12 +1 2 3 4 6 8 9 11 13 +1 2 3 4 6 8 9 11 14 +1 2 3 4 6 8 9 11 15 +1 2 3 4 6 8 9 12 13 +1 2 3 4 6 8 9 12 14 +1 2 3 4 6 8 9 12 15 +1 2 3 4 6 8 9 13 14 +1 2 3 4 6 8 9 13 15 +1 2 3 4 6 8 9 14 15 +1 2 3 4 6 8 10 11 12 +1 2 3 4 6 8 10 11 13 +1 2 3 4 6 8 10 11 14 +1 2 3 4 6 8 10 11 15 +1 2 3 4 6 8 10 12 13 +1 2 3 4 6 8 10 12 14 +1 2 3 4 6 8 10 12 15 +1 2 3 4 6 8 10 13 14 +1 2 3 4 6 8 10 13 15 +1 2 3 4 6 8 10 14 15 +1 2 3 4 6 8 11 12 13 +1 2 3 4 6 8 11 12 14 +1 2 3 4 6 8 11 12 15 +1 2 3 4 6 8 11 13 14 +1 2 3 4 6 8 11 13 15 +1 2 3 4 6 8 11 14 15 +1 2 3 4 6 8 12 13 14 +1 2 3 4 6 8 12 13 15 +1 2 3 4 6 8 12 14 15 +1 2 3 4 6 8 13 14 15 +1 2 3 4 6 9 10 11 12 +1 2 3 4 6 9 10 11 13 +1 2 3 4 6 9 10 11 14 +1 2 3 4 6 9 10 11 15 +1 2 3 4 6 9 10 12 13 +1 2 3 4 6 9 10 12 14 +1 2 3 4 6 9 10 12 15 +1 2 3 4 6 9 10 13 14 +1 2 3 4 6 9 10 13 15 +1 2 3 4 6 9 10 14 15 +1 2 3 4 6 9 11 12 13 +1 2 3 4 6 9 11 12 14 +1 2 3 4 6 9 11 12 15 +1 2 3 4 6 9 11 13 14 +1 2 3 4 6 9 11 13 15 +1 2 3 4 6 9 11 14 15 +1 2 3 4 6 9 12 13 14 +1 2 3 4 6 9 12 13 15 +1 2 3 4 6 9 12 14 15 +1 2 3 4 6 9 13 14 15 +1 2 3 4 6 10 11 12 13 +1 2 3 4 6 10 11 12 14 +1 2 3 4 6 10 11 12 15 +1 2 3 4 6 10 11 13 14 +1 2 3 4 6 10 11 13 15 +1 2 3 4 6 10 11 14 15 +1 2 3 4 6 10 12 13 14 +1 2 3 4 6 10 12 13 15 +1 2 3 4 6 10 12 14 15 +1 2 3 4 6 10 13 14 15 +1 2 3 4 6 11 12 13 14 +1 2 3 4 6 11 12 13 15 +1 2 3 4 6 11 12 14 15 +1 2 3 4 6 11 13 14 15 +1 2 3 4 6 12 13 14 15 +1 2 3 4 7 8 9 10 11 +1 2 3 4 7 8 9 10 12 +1 2 3 4 7 8 9 10 13 +1 2 3 4 7 8 9 10 14 +1 2 3 4 7 8 9 10 15 +1 2 3 4 7 8 9 11 12 +1 2 3 4 7 8 9 11 13 +1 2 3 4 7 8 9 11 14 +1 2 3 4 7 8 9 11 15 +1 2 3 4 7 8 9 12 13 +1 2 3 4 7 8 9 12 14 +1 2 3 4 7 8 9 12 15 +1 2 3 4 7 8 9 13 14 +1 2 3 4 7 8 9 13 15 +1 2 3 4 7 8 9 14 15 +1 2 3 4 7 8 10 11 12 +1 2 3 4 7 8 10 11 13 +1 2 3 4 7 8 10 11 14 +1 2 3 4 7 8 10 11 15 +1 2 3 4 7 8 10 12 13 +1 2 3 4 7 8 10 12 14 +1 2 3 4 7 8 10 12 15 +1 2 3 4 7 8 10 13 14 +1 2 3 4 7 8 10 13 15 +1 2 3 4 7 8 10 14 15 +1 2 3 4 7 8 11 12 13 +1 2 3 4 7 8 11 12 14 +1 2 3 4 7 8 11 12 15 +1 2 3 4 7 8 11 13 14 +1 2 3 4 7 8 11 13 15 +1 2 3 4 7 8 11 14 15 +1 2 3 4 7 8 12 13 14 +1 2 3 4 7 8 12 13 15 +1 2 3 4 7 8 12 14 15 +1 2 3 4 7 8 13 14 15 +1 2 3 4 7 9 10 11 12 +1 2 3 4 7 9 10 11 13 +1 2 3 4 7 9 10 11 14 +1 2 3 4 7 9 10 11 15 +1 2 3 4 7 9 10 12 13 +1 2 3 4 7 9 10 12 14 +1 2 3 4 7 9 10 12 15 +1 2 3 4 7 9 10 13 14 +1 2 3 4 7 9 10 13 15 +1 2 3 4 7 9 10 14 15 +1 2 3 4 7 9 11 12 13 +1 2 3 4 7 9 11 12 14 +1 2 3 4 7 9 11 12 15 +1 2 3 4 7 9 11 13 14 +1 2 3 4 7 9 11 13 15 +1 2 3 4 7 9 11 14 15 +1 2 3 4 7 9 12 13 14 +1 2 3 4 7 9 12 13 15 +1 2 3 4 7 9 12 14 15 +1 2 3 4 7 9 13 14 15 +1 2 3 4 7 10 11 12 13 +1 2 3 4 7 10 11 12 14 +1 2 3 4 7 10 11 12 15 +1 2 3 4 7 10 11 13 14 +1 2 3 4 7 10 11 13 15 +1 2 3 4 7 10 11 14 15 +1 2 3 4 7 10 12 13 14 +1 2 3 4 7 10 12 13 15 +1 2 3 4 7 10 12 14 15 +1 2 3 4 7 10 13 14 15 +1 2 3 4 7 11 12 13 14 +1 2 3 4 7 11 12 13 15 +1 2 3 4 7 11 12 14 15 +1 2 3 4 7 11 13 14 15 +1 2 3 4 7 12 13 14 15 +1 2 3 4 8 9 10 11 12 +1 2 3 4 8 9 10 11 13 +1 2 3 4 8 9 10 11 14 +1 2 3 4 8 9 10 11 15 +1 2 3 4 8 9 10 12 13 +1 2 3 4 8 9 10 12 14 +1 2 3 4 8 9 10 12 15 +1 2 3 4 8 9 10 13 14 +1 2 3 4 8 9 10 13 15 +1 2 3 4 8 9 10 14 15 +1 2 3 4 8 9 11 12 13 +1 2 3 4 8 9 11 12 14 +1 2 3 4 8 9 11 12 15 +1 2 3 4 8 9 11 13 14 +1 2 3 4 8 9 11 13 15 +1 2 3 4 8 9 11 14 15 +1 2 3 4 8 9 12 13 14 +1 2 3 4 8 9 12 13 15 +1 2 3 4 8 9 12 14 15 +1 2 3 4 8 9 13 14 15 +1 2 3 4 8 10 11 12 13 +1 2 3 4 8 10 11 12 14 +1 2 3 4 8 10 11 12 15 +1 2 3 4 8 10 11 13 14 +1 2 3 4 8 10 11 13 15 +1 2 3 4 8 10 11 14 15 +1 2 3 4 8 10 12 13 14 +1 2 3 4 8 10 12 13 15 +1 2 3 4 8 10 12 14 15 +1 2 3 4 8 10 13 14 15 +1 2 3 4 8 11 12 13 14 +1 2 3 4 8 11 12 13 15 +1 2 3 4 8 11 12 14 15 +1 2 3 4 8 11 13 14 15 +1 2 3 4 8 12 13 14 15 +1 2 3 4 9 10 11 12 13 +1 2 3 4 9 10 11 12 14 +1 2 3 4 9 10 11 12 15 +1 2 3 4 9 10 11 13 14 +1 2 3 4 9 10 11 13 15 +1 2 3 4 9 10 11 14 15 +1 2 3 4 9 10 12 13 14 +1 2 3 4 9 10 12 13 15 +1 2 3 4 9 10 12 14 15 +1 2 3 4 9 10 13 14 15 +1 2 3 4 9 11 12 13 14 +1 2 3 4 9 11 12 13 15 +1 2 3 4 9 11 12 14 15 +1 2 3 4 9 11 13 14 15 +1 2 3 4 9 12 13 14 15 +1 2 3 4 10 11 12 13 14 +1 2 3 4 10 11 12 13 15 +1 2 3 4 10 11 12 14 15 +1 2 3 4 10 11 13 14 15 +1 2 3 4 10 12 13 14 15 +1 2 3 4 11 12 13 14 15 +1 2 3 5 6 7 8 9 10 +1 2 3 5 6 7 8 9 11 +1 2 3 5 6 7 8 9 12 +1 2 3 5 6 7 8 9 13 +1 2 3 5 6 7 8 9 14 +1 2 3 5 6 7 8 9 15 +1 2 3 5 6 7 8 10 11 +1 2 3 5 6 7 8 10 12 +1 2 3 5 6 7 8 10 13 +1 2 3 5 6 7 8 10 14 +1 2 3 5 6 7 8 10 15 +1 2 3 5 6 7 8 11 12 +1 2 3 5 6 7 8 11 13 +1 2 3 5 6 7 8 11 14 +1 2 3 5 6 7 8 11 15 +1 2 3 5 6 7 8 12 13 +1 2 3 5 6 7 8 12 14 +1 2 3 5 6 7 8 12 15 +1 2 3 5 6 7 8 13 14 +1 2 3 5 6 7 8 13 15 +1 2 3 5 6 7 8 14 15 +1 2 3 5 6 7 9 10 11 +1 2 3 5 6 7 9 10 12 +1 2 3 5 6 7 9 10 13 +1 2 3 5 6 7 9 10 14 +1 2 3 5 6 7 9 10 15 +1 2 3 5 6 7 9 11 12 +1 2 3 5 6 7 9 11 13 +1 2 3 5 6 7 9 11 14 +1 2 3 5 6 7 9 11 15 +1 2 3 5 6 7 9 12 13 +1 2 3 5 6 7 9 12 14 +1 2 3 5 6 7 9 12 15 +1 2 3 5 6 7 9 13 14 +1 2 3 5 6 7 9 13 15 +1 2 3 5 6 7 9 14 15 +1 2 3 5 6 7 10 11 12 +1 2 3 5 6 7 10 11 13 +1 2 3 5 6 7 10 11 14 +1 2 3 5 6 7 10 11 15 +1 2 3 5 6 7 10 12 13 +1 2 3 5 6 7 10 12 14 +1 2 3 5 6 7 10 12 15 +1 2 3 5 6 7 10 13 14 +1 2 3 5 6 7 10 13 15 +1 2 3 5 6 7 10 14 15 +1 2 3 5 6 7 11 12 13 +1 2 3 5 6 7 11 12 14 +1 2 3 5 6 7 11 12 15 +1 2 3 5 6 7 11 13 14 +1 2 3 5 6 7 11 13 15 +1 2 3 5 6 7 11 14 15 +1 2 3 5 6 7 12 13 14 +1 2 3 5 6 7 12 13 15 +1 2 3 5 6 7 12 14 15 +1 2 3 5 6 7 13 14 15 +1 2 3 5 6 8 9 10 11 +1 2 3 5 6 8 9 10 12 +1 2 3 5 6 8 9 10 13 +1 2 3 5 6 8 9 10 14 +1 2 3 5 6 8 9 10 15 +1 2 3 5 6 8 9 11 12 +1 2 3 5 6 8 9 11 13 +1 2 3 5 6 8 9 11 14 +1 2 3 5 6 8 9 11 15 +1 2 3 5 6 8 9 12 13 +1 2 3 5 6 8 9 12 14 +1 2 3 5 6 8 9 12 15 +1 2 3 5 6 8 9 13 14 +1 2 3 5 6 8 9 13 15 +1 2 3 5 6 8 9 14 15 +1 2 3 5 6 8 10 11 12 +1 2 3 5 6 8 10 11 13 +1 2 3 5 6 8 10 11 14 +1 2 3 5 6 8 10 11 15 +1 2 3 5 6 8 10 12 13 +1 2 3 5 6 8 10 12 14 +1 2 3 5 6 8 10 12 15 +1 2 3 5 6 8 10 13 14 +1 2 3 5 6 8 10 13 15 +1 2 3 5 6 8 10 14 15 +1 2 3 5 6 8 11 12 13 +1 2 3 5 6 8 11 12 14 +1 2 3 5 6 8 11 12 15 +1 2 3 5 6 8 11 13 14 +1 2 3 5 6 8 11 13 15 +1 2 3 5 6 8 11 14 15 +1 2 3 5 6 8 12 13 14 +1 2 3 5 6 8 12 13 15 +1 2 3 5 6 8 12 14 15 +1 2 3 5 6 8 13 14 15 +1 2 3 5 6 9 10 11 12 +1 2 3 5 6 9 10 11 13 +1 2 3 5 6 9 10 11 14 +1 2 3 5 6 9 10 11 15 +1 2 3 5 6 9 10 12 13 +1 2 3 5 6 9 10 12 14 +1 2 3 5 6 9 10 12 15 +1 2 3 5 6 9 10 13 14 +1 2 3 5 6 9 10 13 15 +1 2 3 5 6 9 10 14 15 +1 2 3 5 6 9 11 12 13 +1 2 3 5 6 9 11 12 14 +1 2 3 5 6 9 11 12 15 +1 2 3 5 6 9 11 13 14 +1 2 3 5 6 9 11 13 15 +1 2 3 5 6 9 11 14 15 +1 2 3 5 6 9 12 13 14 +1 2 3 5 6 9 12 13 15 +1 2 3 5 6 9 12 14 15 +1 2 3 5 6 9 13 14 15 +1 2 3 5 6 10 11 12 13 +1 2 3 5 6 10 11 12 14 +1 2 3 5 6 10 11 12 15 +1 2 3 5 6 10 11 13 14 +1 2 3 5 6 10 11 13 15 +1 2 3 5 6 10 11 14 15 +1 2 3 5 6 10 12 13 14 +1 2 3 5 6 10 12 13 15 +1 2 3 5 6 10 12 14 15 +1 2 3 5 6 10 13 14 15 +1 2 3 5 6 11 12 13 14 +1 2 3 5 6 11 12 13 15 +1 2 3 5 6 11 12 14 15 +1 2 3 5 6 11 13 14 15 +1 2 3 5 6 12 13 14 15 +1 2 3 5 7 8 9 10 11 +1 2 3 5 7 8 9 10 12 +1 2 3 5 7 8 9 10 13 +1 2 3 5 7 8 9 10 14 +1 2 3 5 7 8 9 10 15 +1 2 3 5 7 8 9 11 12 +1 2 3 5 7 8 9 11 13 +1 2 3 5 7 8 9 11 14 +1 2 3 5 7 8 9 11 15 +1 2 3 5 7 8 9 12 13 +1 2 3 5 7 8 9 12 14 +1 2 3 5 7 8 9 12 15 +1 2 3 5 7 8 9 13 14 +1 2 3 5 7 8 9 13 15 +1 2 3 5 7 8 9 14 15 +1 2 3 5 7 8 10 11 12 +1 2 3 5 7 8 10 11 13 +1 2 3 5 7 8 10 11 14 +1 2 3 5 7 8 10 11 15 +1 2 3 5 7 8 10 12 13 +1 2 3 5 7 8 10 12 14 +1 2 3 5 7 8 10 12 15 +1 2 3 5 7 8 10 13 14 +1 2 3 5 7 8 10 13 15 +1 2 3 5 7 8 10 14 15 +1 2 3 5 7 8 11 12 13 +1 2 3 5 7 8 11 12 14 +1 2 3 5 7 8 11 12 15 +1 2 3 5 7 8 11 13 14 +1 2 3 5 7 8 11 13 15 +1 2 3 5 7 8 11 14 15 +1 2 3 5 7 8 12 13 14 +1 2 3 5 7 8 12 13 15 +1 2 3 5 7 8 12 14 15 +1 2 3 5 7 8 13 14 15 +1 2 3 5 7 9 10 11 12 +1 2 3 5 7 9 10 11 13 +1 2 3 5 7 9 10 11 14 +1 2 3 5 7 9 10 11 15 +1 2 3 5 7 9 10 12 13 +1 2 3 5 7 9 10 12 14 +1 2 3 5 7 9 10 12 15 +1 2 3 5 7 9 10 13 14 +1 2 3 5 7 9 10 13 15 +1 2 3 5 7 9 10 14 15 +1 2 3 5 7 9 11 12 13 +1 2 3 5 7 9 11 12 14 +1 2 3 5 7 9 11 12 15 +1 2 3 5 7 9 11 13 14 +1 2 3 5 7 9 11 13 15 +1 2 3 5 7 9 11 14 15 +1 2 3 5 7 9 12 13 14 +1 2 3 5 7 9 12 13 15 +1 2 3 5 7 9 12 14 15 +1 2 3 5 7 9 13 14 15 +1 2 3 5 7 10 11 12 13 +1 2 3 5 7 10 11 12 14 +1 2 3 5 7 10 11 12 15 +1 2 3 5 7 10 11 13 14 +1 2 3 5 7 10 11 13 15 +1 2 3 5 7 10 11 14 15 +1 2 3 5 7 10 12 13 14 +1 2 3 5 7 10 12 13 15 +1 2 3 5 7 10 12 14 15 +1 2 3 5 7 10 13 14 15 +1 2 3 5 7 11 12 13 14 +1 2 3 5 7 11 12 13 15 +1 2 3 5 7 11 12 14 15 +1 2 3 5 7 11 13 14 15 +1 2 3 5 7 12 13 14 15 +1 2 3 5 8 9 10 11 12 +1 2 3 5 8 9 10 11 13 +1 2 3 5 8 9 10 11 14 +1 2 3 5 8 9 10 11 15 +1 2 3 5 8 9 10 12 13 +1 2 3 5 8 9 10 12 14 +1 2 3 5 8 9 10 12 15 +1 2 3 5 8 9 10 13 14 +1 2 3 5 8 9 10 13 15 +1 2 3 5 8 9 10 14 15 +1 2 3 5 8 9 11 12 13 +1 2 3 5 8 9 11 12 14 +1 2 3 5 8 9 11 12 15 +1 2 3 5 8 9 11 13 14 +1 2 3 5 8 9 11 13 15 +1 2 3 5 8 9 11 14 15 +1 2 3 5 8 9 12 13 14 +1 2 3 5 8 9 12 13 15 +1 2 3 5 8 9 12 14 15 +1 2 3 5 8 9 13 14 15 +1 2 3 5 8 10 11 12 13 +1 2 3 5 8 10 11 12 14 +1 2 3 5 8 10 11 12 15 +1 2 3 5 8 10 11 13 14 +1 2 3 5 8 10 11 13 15 +1 2 3 5 8 10 11 14 15 +1 2 3 5 8 10 12 13 14 +1 2 3 5 8 10 12 13 15 +1 2 3 5 8 10 12 14 15 +1 2 3 5 8 10 13 14 15 +1 2 3 5 8 11 12 13 14 +1 2 3 5 8 11 12 13 15 +1 2 3 5 8 11 12 14 15 +1 2 3 5 8 11 13 14 15 +1 2 3 5 8 12 13 14 15 +1 2 3 5 9 10 11 12 13 +1 2 3 5 9 10 11 12 14 +1 2 3 5 9 10 11 12 15 +1 2 3 5 9 10 11 13 14 +1 2 3 5 9 10 11 13 15 +1 2 3 5 9 10 11 14 15 +1 2 3 5 9 10 12 13 14 +1 2 3 5 9 10 12 13 15 +1 2 3 5 9 10 12 14 15 +1 2 3 5 9 10 13 14 15 +1 2 3 5 9 11 12 13 14 +1 2 3 5 9 11 12 13 15 +1 2 3 5 9 11 12 14 15 +1 2 3 5 9 11 13 14 15 +1 2 3 5 9 12 13 14 15 +1 2 3 5 10 11 12 13 14 +1 2 3 5 10 11 12 13 15 +1 2 3 5 10 11 12 14 15 +1 2 3 5 10 11 13 14 15 +1 2 3 5 10 12 13 14 15 +1 2 3 5 11 12 13 14 15 +1 2 3 6 7 8 9 10 11 +1 2 3 6 7 8 9 10 12 +1 2 3 6 7 8 9 10 13 +1 2 3 6 7 8 9 10 14 +1 2 3 6 7 8 9 10 15 +1 2 3 6 7 8 9 11 12 +1 2 3 6 7 8 9 11 13 +1 2 3 6 7 8 9 11 14 +1 2 3 6 7 8 9 11 15 +1 2 3 6 7 8 9 12 13 +1 2 3 6 7 8 9 12 14 +1 2 3 6 7 8 9 12 15 +1 2 3 6 7 8 9 13 14 +1 2 3 6 7 8 9 13 15 +1 2 3 6 7 8 9 14 15 +1 2 3 6 7 8 10 11 12 +1 2 3 6 7 8 10 11 13 +1 2 3 6 7 8 10 11 14 +1 2 3 6 7 8 10 11 15 +1 2 3 6 7 8 10 12 13 +1 2 3 6 7 8 10 12 14 +1 2 3 6 7 8 10 12 15 +1 2 3 6 7 8 10 13 14 +1 2 3 6 7 8 10 13 15 +1 2 3 6 7 8 10 14 15 +1 2 3 6 7 8 11 12 13 +1 2 3 6 7 8 11 12 14 +1 2 3 6 7 8 11 12 15 +1 2 3 6 7 8 11 13 14 +1 2 3 6 7 8 11 13 15 +1 2 3 6 7 8 11 14 15 +1 2 3 6 7 8 12 13 14 +1 2 3 6 7 8 12 13 15 +1 2 3 6 7 8 12 14 15 +1 2 3 6 7 8 13 14 15 +1 2 3 6 7 9 10 11 12 +1 2 3 6 7 9 10 11 13 +1 2 3 6 7 9 10 11 14 +1 2 3 6 7 9 10 11 15 +1 2 3 6 7 9 10 12 13 +1 2 3 6 7 9 10 12 14 +1 2 3 6 7 9 10 12 15 +1 2 3 6 7 9 10 13 14 +1 2 3 6 7 9 10 13 15 +1 2 3 6 7 9 10 14 15 +1 2 3 6 7 9 11 12 13 +1 2 3 6 7 9 11 12 14 +1 2 3 6 7 9 11 12 15 +1 2 3 6 7 9 11 13 14 +1 2 3 6 7 9 11 13 15 +1 2 3 6 7 9 11 14 15 +1 2 3 6 7 9 12 13 14 +1 2 3 6 7 9 12 13 15 +1 2 3 6 7 9 12 14 15 +1 2 3 6 7 9 13 14 15 +1 2 3 6 7 10 11 12 13 +1 2 3 6 7 10 11 12 14 +1 2 3 6 7 10 11 12 15 +1 2 3 6 7 10 11 13 14 +1 2 3 6 7 10 11 13 15 +1 2 3 6 7 10 11 14 15 +1 2 3 6 7 10 12 13 14 +1 2 3 6 7 10 12 13 15 +1 2 3 6 7 10 12 14 15 +1 2 3 6 7 10 13 14 15 +1 2 3 6 7 11 12 13 14 +1 2 3 6 7 11 12 13 15 +1 2 3 6 7 11 12 14 15 +1 2 3 6 7 11 13 14 15 +1 2 3 6 7 12 13 14 15 +1 2 3 6 8 9 10 11 12 +1 2 3 6 8 9 10 11 13 +1 2 3 6 8 9 10 11 14 +1 2 3 6 8 9 10 11 15 +1 2 3 6 8 9 10 12 13 +1 2 3 6 8 9 10 12 14 +1 2 3 6 8 9 10 12 15 +1 2 3 6 8 9 10 13 14 +1 2 3 6 8 9 10 13 15 +1 2 3 6 8 9 10 14 15 +1 2 3 6 8 9 11 12 13 +1 2 3 6 8 9 11 12 14 +1 2 3 6 8 9 11 12 15 +1 2 3 6 8 9 11 13 14 +1 2 3 6 8 9 11 13 15 +1 2 3 6 8 9 11 14 15 +1 2 3 6 8 9 12 13 14 +1 2 3 6 8 9 12 13 15 +1 2 3 6 8 9 12 14 15 +1 2 3 6 8 9 13 14 15 +1 2 3 6 8 10 11 12 13 +1 2 3 6 8 10 11 12 14 +1 2 3 6 8 10 11 12 15 +1 2 3 6 8 10 11 13 14 +1 2 3 6 8 10 11 13 15 +1 2 3 6 8 10 11 14 15 +1 2 3 6 8 10 12 13 14 +1 2 3 6 8 10 12 13 15 +1 2 3 6 8 10 12 14 15 +1 2 3 6 8 10 13 14 15 +1 2 3 6 8 11 12 13 14 +1 2 3 6 8 11 12 13 15 +1 2 3 6 8 11 12 14 15 +1 2 3 6 8 11 13 14 15 +1 2 3 6 8 12 13 14 15 +1 2 3 6 9 10 11 12 13 +1 2 3 6 9 10 11 12 14 +1 2 3 6 9 10 11 12 15 +1 2 3 6 9 10 11 13 14 +1 2 3 6 9 10 11 13 15 +1 2 3 6 9 10 11 14 15 +1 2 3 6 9 10 12 13 14 +1 2 3 6 9 10 12 13 15 +1 2 3 6 9 10 12 14 15 +1 2 3 6 9 10 13 14 15 +1 2 3 6 9 11 12 13 14 +1 2 3 6 9 11 12 13 15 +1 2 3 6 9 11 12 14 15 +1 2 3 6 9 11 13 14 15 +1 2 3 6 9 12 13 14 15 +1 2 3 6 10 11 12 13 14 +1 2 3 6 10 11 12 13 15 +1 2 3 6 10 11 12 14 15 +1 2 3 6 10 11 13 14 15 +1 2 3 6 10 12 13 14 15 +1 2 3 6 11 12 13 14 15 +1 2 3 7 8 9 10 11 12 +1 2 3 7 8 9 10 11 13 +1 2 3 7 8 9 10 11 14 +1 2 3 7 8 9 10 11 15 +1 2 3 7 8 9 10 12 13 +1 2 3 7 8 9 10 12 14 +1 2 3 7 8 9 10 12 15 +1 2 3 7 8 9 10 13 14 +1 2 3 7 8 9 10 13 15 +1 2 3 7 8 9 10 14 15 +1 2 3 7 8 9 11 12 13 +1 2 3 7 8 9 11 12 14 +1 2 3 7 8 9 11 12 15 +1 2 3 7 8 9 11 13 14 +1 2 3 7 8 9 11 13 15 +1 2 3 7 8 9 11 14 15 +1 2 3 7 8 9 12 13 14 +1 2 3 7 8 9 12 13 15 +1 2 3 7 8 9 12 14 15 +1 2 3 7 8 9 13 14 15 +1 2 3 7 8 10 11 12 13 +1 2 3 7 8 10 11 12 14 +1 2 3 7 8 10 11 12 15 +1 2 3 7 8 10 11 13 14 +1 2 3 7 8 10 11 13 15 +1 2 3 7 8 10 11 14 15 +1 2 3 7 8 10 12 13 14 +1 2 3 7 8 10 12 13 15 +1 2 3 7 8 10 12 14 15 +1 2 3 7 8 10 13 14 15 +1 2 3 7 8 11 12 13 14 +1 2 3 7 8 11 12 13 15 +1 2 3 7 8 11 12 14 15 +1 2 3 7 8 11 13 14 15 +1 2 3 7 8 12 13 14 15 +1 2 3 7 9 10 11 12 13 +1 2 3 7 9 10 11 12 14 +1 2 3 7 9 10 11 12 15 +1 2 3 7 9 10 11 13 14 +1 2 3 7 9 10 11 13 15 +1 2 3 7 9 10 11 14 15 +1 2 3 7 9 10 12 13 14 +1 2 3 7 9 10 12 13 15 +1 2 3 7 9 10 12 14 15 +1 2 3 7 9 10 13 14 15 +1 2 3 7 9 11 12 13 14 +1 2 3 7 9 11 12 13 15 +1 2 3 7 9 11 12 14 15 +1 2 3 7 9 11 13 14 15 +1 2 3 7 9 12 13 14 15 +1 2 3 7 10 11 12 13 14 +1 2 3 7 10 11 12 13 15 +1 2 3 7 10 11 12 14 15 +1 2 3 7 10 11 13 14 15 +1 2 3 7 10 12 13 14 15 +1 2 3 7 11 12 13 14 15 +1 2 3 8 9 10 11 12 13 +1 2 3 8 9 10 11 12 14 +1 2 3 8 9 10 11 12 15 +1 2 3 8 9 10 11 13 14 +1 2 3 8 9 10 11 13 15 +1 2 3 8 9 10 11 14 15 +1 2 3 8 9 10 12 13 14 +1 2 3 8 9 10 12 13 15 +1 2 3 8 9 10 12 14 15 +1 2 3 8 9 10 13 14 15 +1 2 3 8 9 11 12 13 14 +1 2 3 8 9 11 12 13 15 +1 2 3 8 9 11 12 14 15 +1 2 3 8 9 11 13 14 15 +1 2 3 8 9 12 13 14 15 +1 2 3 8 10 11 12 13 14 +1 2 3 8 10 11 12 13 15 +1 2 3 8 10 11 12 14 15 +1 2 3 8 10 11 13 14 15 +1 2 3 8 10 12 13 14 15 +1 2 3 8 11 12 13 14 15 +1 2 3 9 10 11 12 13 14 +1 2 3 9 10 11 12 13 15 +1 2 3 9 10 11 12 14 15 +1 2 3 9 10 11 13 14 15 +1 2 3 9 10 12 13 14 15 +1 2 3 9 11 12 13 14 15 +1 2 3 10 11 12 13 14 15 +1 2 4 5 6 7 8 9 10 +1 2 4 5 6 7 8 9 11 +1 2 4 5 6 7 8 9 12 +1 2 4 5 6 7 8 9 13 +1 2 4 5 6 7 8 9 14 +1 2 4 5 6 7 8 9 15 +1 2 4 5 6 7 8 10 11 +1 2 4 5 6 7 8 10 12 +1 2 4 5 6 7 8 10 13 +1 2 4 5 6 7 8 10 14 +1 2 4 5 6 7 8 10 15 +1 2 4 5 6 7 8 11 12 +1 2 4 5 6 7 8 11 13 +1 2 4 5 6 7 8 11 14 +1 2 4 5 6 7 8 11 15 +1 2 4 5 6 7 8 12 13 +1 2 4 5 6 7 8 12 14 +1 2 4 5 6 7 8 12 15 +1 2 4 5 6 7 8 13 14 +1 2 4 5 6 7 8 13 15 +1 2 4 5 6 7 8 14 15 +1 2 4 5 6 7 9 10 11 +1 2 4 5 6 7 9 10 12 +1 2 4 5 6 7 9 10 13 +1 2 4 5 6 7 9 10 14 +1 2 4 5 6 7 9 10 15 +1 2 4 5 6 7 9 11 12 +1 2 4 5 6 7 9 11 13 +1 2 4 5 6 7 9 11 14 +1 2 4 5 6 7 9 11 15 +1 2 4 5 6 7 9 12 13 +1 2 4 5 6 7 9 12 14 +1 2 4 5 6 7 9 12 15 +1 2 4 5 6 7 9 13 14 +1 2 4 5 6 7 9 13 15 +1 2 4 5 6 7 9 14 15 +1 2 4 5 6 7 10 11 12 +1 2 4 5 6 7 10 11 13 +1 2 4 5 6 7 10 11 14 +1 2 4 5 6 7 10 11 15 +1 2 4 5 6 7 10 12 13 +1 2 4 5 6 7 10 12 14 +1 2 4 5 6 7 10 12 15 +1 2 4 5 6 7 10 13 14 +1 2 4 5 6 7 10 13 15 +1 2 4 5 6 7 10 14 15 +1 2 4 5 6 7 11 12 13 +1 2 4 5 6 7 11 12 14 +1 2 4 5 6 7 11 12 15 +1 2 4 5 6 7 11 13 14 +1 2 4 5 6 7 11 13 15 +1 2 4 5 6 7 11 14 15 +1 2 4 5 6 7 12 13 14 +1 2 4 5 6 7 12 13 15 +1 2 4 5 6 7 12 14 15 +1 2 4 5 6 7 13 14 15 +1 2 4 5 6 8 9 10 11 +1 2 4 5 6 8 9 10 12 +1 2 4 5 6 8 9 10 13 +1 2 4 5 6 8 9 10 14 +1 2 4 5 6 8 9 10 15 +1 2 4 5 6 8 9 11 12 +1 2 4 5 6 8 9 11 13 +1 2 4 5 6 8 9 11 14 +1 2 4 5 6 8 9 11 15 +1 2 4 5 6 8 9 12 13 +1 2 4 5 6 8 9 12 14 +1 2 4 5 6 8 9 12 15 +1 2 4 5 6 8 9 13 14 +1 2 4 5 6 8 9 13 15 +1 2 4 5 6 8 9 14 15 +1 2 4 5 6 8 10 11 12 +1 2 4 5 6 8 10 11 13 +1 2 4 5 6 8 10 11 14 +1 2 4 5 6 8 10 11 15 +1 2 4 5 6 8 10 12 13 +1 2 4 5 6 8 10 12 14 +1 2 4 5 6 8 10 12 15 +1 2 4 5 6 8 10 13 14 +1 2 4 5 6 8 10 13 15 +1 2 4 5 6 8 10 14 15 +1 2 4 5 6 8 11 12 13 +1 2 4 5 6 8 11 12 14 +1 2 4 5 6 8 11 12 15 +1 2 4 5 6 8 11 13 14 +1 2 4 5 6 8 11 13 15 +1 2 4 5 6 8 11 14 15 +1 2 4 5 6 8 12 13 14 +1 2 4 5 6 8 12 13 15 +1 2 4 5 6 8 12 14 15 +1 2 4 5 6 8 13 14 15 +1 2 4 5 6 9 10 11 12 +1 2 4 5 6 9 10 11 13 +1 2 4 5 6 9 10 11 14 +1 2 4 5 6 9 10 11 15 +1 2 4 5 6 9 10 12 13 +1 2 4 5 6 9 10 12 14 +1 2 4 5 6 9 10 12 15 +1 2 4 5 6 9 10 13 14 +1 2 4 5 6 9 10 13 15 +1 2 4 5 6 9 10 14 15 +1 2 4 5 6 9 11 12 13 +1 2 4 5 6 9 11 12 14 +1 2 4 5 6 9 11 12 15 +1 2 4 5 6 9 11 13 14 +1 2 4 5 6 9 11 13 15 +1 2 4 5 6 9 11 14 15 +1 2 4 5 6 9 12 13 14 +1 2 4 5 6 9 12 13 15 +1 2 4 5 6 9 12 14 15 +1 2 4 5 6 9 13 14 15 +1 2 4 5 6 10 11 12 13 +1 2 4 5 6 10 11 12 14 +1 2 4 5 6 10 11 12 15 +1 2 4 5 6 10 11 13 14 +1 2 4 5 6 10 11 13 15 +1 2 4 5 6 10 11 14 15 +1 2 4 5 6 10 12 13 14 +1 2 4 5 6 10 12 13 15 +1 2 4 5 6 10 12 14 15 +1 2 4 5 6 10 13 14 15 +1 2 4 5 6 11 12 13 14 +1 2 4 5 6 11 12 13 15 +1 2 4 5 6 11 12 14 15 +1 2 4 5 6 11 13 14 15 +1 2 4 5 6 12 13 14 15 +1 2 4 5 7 8 9 10 11 +1 2 4 5 7 8 9 10 12 +1 2 4 5 7 8 9 10 13 +1 2 4 5 7 8 9 10 14 +1 2 4 5 7 8 9 10 15 +1 2 4 5 7 8 9 11 12 +1 2 4 5 7 8 9 11 13 +1 2 4 5 7 8 9 11 14 +1 2 4 5 7 8 9 11 15 +1 2 4 5 7 8 9 12 13 +1 2 4 5 7 8 9 12 14 +1 2 4 5 7 8 9 12 15 +1 2 4 5 7 8 9 13 14 +1 2 4 5 7 8 9 13 15 +1 2 4 5 7 8 9 14 15 +1 2 4 5 7 8 10 11 12 +1 2 4 5 7 8 10 11 13 +1 2 4 5 7 8 10 11 14 +1 2 4 5 7 8 10 11 15 +1 2 4 5 7 8 10 12 13 +1 2 4 5 7 8 10 12 14 +1 2 4 5 7 8 10 12 15 +1 2 4 5 7 8 10 13 14 +1 2 4 5 7 8 10 13 15 +1 2 4 5 7 8 10 14 15 +1 2 4 5 7 8 11 12 13 +1 2 4 5 7 8 11 12 14 +1 2 4 5 7 8 11 12 15 +1 2 4 5 7 8 11 13 14 +1 2 4 5 7 8 11 13 15 +1 2 4 5 7 8 11 14 15 +1 2 4 5 7 8 12 13 14 +1 2 4 5 7 8 12 13 15 +1 2 4 5 7 8 12 14 15 +1 2 4 5 7 8 13 14 15 +1 2 4 5 7 9 10 11 12 +1 2 4 5 7 9 10 11 13 +1 2 4 5 7 9 10 11 14 +1 2 4 5 7 9 10 11 15 +1 2 4 5 7 9 10 12 13 +1 2 4 5 7 9 10 12 14 +1 2 4 5 7 9 10 12 15 +1 2 4 5 7 9 10 13 14 +1 2 4 5 7 9 10 13 15 +1 2 4 5 7 9 10 14 15 +1 2 4 5 7 9 11 12 13 +1 2 4 5 7 9 11 12 14 +1 2 4 5 7 9 11 12 15 +1 2 4 5 7 9 11 13 14 +1 2 4 5 7 9 11 13 15 +1 2 4 5 7 9 11 14 15 +1 2 4 5 7 9 12 13 14 +1 2 4 5 7 9 12 13 15 +1 2 4 5 7 9 12 14 15 +1 2 4 5 7 9 13 14 15 +1 2 4 5 7 10 11 12 13 +1 2 4 5 7 10 11 12 14 +1 2 4 5 7 10 11 12 15 +1 2 4 5 7 10 11 13 14 +1 2 4 5 7 10 11 13 15 +1 2 4 5 7 10 11 14 15 +1 2 4 5 7 10 12 13 14 +1 2 4 5 7 10 12 13 15 +1 2 4 5 7 10 12 14 15 +1 2 4 5 7 10 13 14 15 +1 2 4 5 7 11 12 13 14 +1 2 4 5 7 11 12 13 15 +1 2 4 5 7 11 12 14 15 +1 2 4 5 7 11 13 14 15 +1 2 4 5 7 12 13 14 15 +1 2 4 5 8 9 10 11 12 +1 2 4 5 8 9 10 11 13 +1 2 4 5 8 9 10 11 14 +1 2 4 5 8 9 10 11 15 +1 2 4 5 8 9 10 12 13 +1 2 4 5 8 9 10 12 14 +1 2 4 5 8 9 10 12 15 +1 2 4 5 8 9 10 13 14 +1 2 4 5 8 9 10 13 15 +1 2 4 5 8 9 10 14 15 +1 2 4 5 8 9 11 12 13 +1 2 4 5 8 9 11 12 14 +1 2 4 5 8 9 11 12 15 +1 2 4 5 8 9 11 13 14 +1 2 4 5 8 9 11 13 15 +1 2 4 5 8 9 11 14 15 +1 2 4 5 8 9 12 13 14 +1 2 4 5 8 9 12 13 15 +1 2 4 5 8 9 12 14 15 +1 2 4 5 8 9 13 14 15 +1 2 4 5 8 10 11 12 13 +1 2 4 5 8 10 11 12 14 +1 2 4 5 8 10 11 12 15 +1 2 4 5 8 10 11 13 14 +1 2 4 5 8 10 11 13 15 +1 2 4 5 8 10 11 14 15 +1 2 4 5 8 10 12 13 14 +1 2 4 5 8 10 12 13 15 +1 2 4 5 8 10 12 14 15 +1 2 4 5 8 10 13 14 15 +1 2 4 5 8 11 12 13 14 +1 2 4 5 8 11 12 13 15 +1 2 4 5 8 11 12 14 15 +1 2 4 5 8 11 13 14 15 +1 2 4 5 8 12 13 14 15 +1 2 4 5 9 10 11 12 13 +1 2 4 5 9 10 11 12 14 +1 2 4 5 9 10 11 12 15 +1 2 4 5 9 10 11 13 14 +1 2 4 5 9 10 11 13 15 +1 2 4 5 9 10 11 14 15 +1 2 4 5 9 10 12 13 14 +1 2 4 5 9 10 12 13 15 +1 2 4 5 9 10 12 14 15 +1 2 4 5 9 10 13 14 15 +1 2 4 5 9 11 12 13 14 +1 2 4 5 9 11 12 13 15 +1 2 4 5 9 11 12 14 15 +1 2 4 5 9 11 13 14 15 +1 2 4 5 9 12 13 14 15 +1 2 4 5 10 11 12 13 14 +1 2 4 5 10 11 12 13 15 +1 2 4 5 10 11 12 14 15 +1 2 4 5 10 11 13 14 15 +1 2 4 5 10 12 13 14 15 +1 2 4 5 11 12 13 14 15 +1 2 4 6 7 8 9 10 11 +1 2 4 6 7 8 9 10 12 +1 2 4 6 7 8 9 10 13 +1 2 4 6 7 8 9 10 14 +1 2 4 6 7 8 9 10 15 +1 2 4 6 7 8 9 11 12 +1 2 4 6 7 8 9 11 13 +1 2 4 6 7 8 9 11 14 +1 2 4 6 7 8 9 11 15 +1 2 4 6 7 8 9 12 13 +1 2 4 6 7 8 9 12 14 +1 2 4 6 7 8 9 12 15 +1 2 4 6 7 8 9 13 14 +1 2 4 6 7 8 9 13 15 +1 2 4 6 7 8 9 14 15 +1 2 4 6 7 8 10 11 12 +1 2 4 6 7 8 10 11 13 +1 2 4 6 7 8 10 11 14 +1 2 4 6 7 8 10 11 15 +1 2 4 6 7 8 10 12 13 +1 2 4 6 7 8 10 12 14 +1 2 4 6 7 8 10 12 15 +1 2 4 6 7 8 10 13 14 +1 2 4 6 7 8 10 13 15 +1 2 4 6 7 8 10 14 15 +1 2 4 6 7 8 11 12 13 +1 2 4 6 7 8 11 12 14 +1 2 4 6 7 8 11 12 15 +1 2 4 6 7 8 11 13 14 +1 2 4 6 7 8 11 13 15 +1 2 4 6 7 8 11 14 15 +1 2 4 6 7 8 12 13 14 +1 2 4 6 7 8 12 13 15 +1 2 4 6 7 8 12 14 15 +1 2 4 6 7 8 13 14 15 +1 2 4 6 7 9 10 11 12 +1 2 4 6 7 9 10 11 13 +1 2 4 6 7 9 10 11 14 +1 2 4 6 7 9 10 11 15 +1 2 4 6 7 9 10 12 13 +1 2 4 6 7 9 10 12 14 +1 2 4 6 7 9 10 12 15 +1 2 4 6 7 9 10 13 14 +1 2 4 6 7 9 10 13 15 +1 2 4 6 7 9 10 14 15 +1 2 4 6 7 9 11 12 13 +1 2 4 6 7 9 11 12 14 +1 2 4 6 7 9 11 12 15 +1 2 4 6 7 9 11 13 14 +1 2 4 6 7 9 11 13 15 +1 2 4 6 7 9 11 14 15 +1 2 4 6 7 9 12 13 14 +1 2 4 6 7 9 12 13 15 +1 2 4 6 7 9 12 14 15 +1 2 4 6 7 9 13 14 15 +1 2 4 6 7 10 11 12 13 +1 2 4 6 7 10 11 12 14 +1 2 4 6 7 10 11 12 15 +1 2 4 6 7 10 11 13 14 +1 2 4 6 7 10 11 13 15 +1 2 4 6 7 10 11 14 15 +1 2 4 6 7 10 12 13 14 +1 2 4 6 7 10 12 13 15 +1 2 4 6 7 10 12 14 15 +1 2 4 6 7 10 13 14 15 +1 2 4 6 7 11 12 13 14 +1 2 4 6 7 11 12 13 15 +1 2 4 6 7 11 12 14 15 +1 2 4 6 7 11 13 14 15 +1 2 4 6 7 12 13 14 15 +1 2 4 6 8 9 10 11 12 +1 2 4 6 8 9 10 11 13 +1 2 4 6 8 9 10 11 14 +1 2 4 6 8 9 10 11 15 +1 2 4 6 8 9 10 12 13 +1 2 4 6 8 9 10 12 14 +1 2 4 6 8 9 10 12 15 +1 2 4 6 8 9 10 13 14 +1 2 4 6 8 9 10 13 15 +1 2 4 6 8 9 10 14 15 +1 2 4 6 8 9 11 12 13 +1 2 4 6 8 9 11 12 14 +1 2 4 6 8 9 11 12 15 +1 2 4 6 8 9 11 13 14 +1 2 4 6 8 9 11 13 15 +1 2 4 6 8 9 11 14 15 +1 2 4 6 8 9 12 13 14 +1 2 4 6 8 9 12 13 15 +1 2 4 6 8 9 12 14 15 +1 2 4 6 8 9 13 14 15 +1 2 4 6 8 10 11 12 13 +1 2 4 6 8 10 11 12 14 +1 2 4 6 8 10 11 12 15 +1 2 4 6 8 10 11 13 14 +1 2 4 6 8 10 11 13 15 +1 2 4 6 8 10 11 14 15 +1 2 4 6 8 10 12 13 14 +1 2 4 6 8 10 12 13 15 +1 2 4 6 8 10 12 14 15 +1 2 4 6 8 10 13 14 15 +1 2 4 6 8 11 12 13 14 +1 2 4 6 8 11 12 13 15 +1 2 4 6 8 11 12 14 15 +1 2 4 6 8 11 13 14 15 +1 2 4 6 8 12 13 14 15 +1 2 4 6 9 10 11 12 13 +1 2 4 6 9 10 11 12 14 +1 2 4 6 9 10 11 12 15 +1 2 4 6 9 10 11 13 14 +1 2 4 6 9 10 11 13 15 +1 2 4 6 9 10 11 14 15 +1 2 4 6 9 10 12 13 14 +1 2 4 6 9 10 12 13 15 +1 2 4 6 9 10 12 14 15 +1 2 4 6 9 10 13 14 15 +1 2 4 6 9 11 12 13 14 +1 2 4 6 9 11 12 13 15 +1 2 4 6 9 11 12 14 15 +1 2 4 6 9 11 13 14 15 +1 2 4 6 9 12 13 14 15 +1 2 4 6 10 11 12 13 14 +1 2 4 6 10 11 12 13 15 +1 2 4 6 10 11 12 14 15 +1 2 4 6 10 11 13 14 15 +1 2 4 6 10 12 13 14 15 +1 2 4 6 11 12 13 14 15 +1 2 4 7 8 9 10 11 12 +1 2 4 7 8 9 10 11 13 +1 2 4 7 8 9 10 11 14 +1 2 4 7 8 9 10 11 15 +1 2 4 7 8 9 10 12 13 +1 2 4 7 8 9 10 12 14 +1 2 4 7 8 9 10 12 15 +1 2 4 7 8 9 10 13 14 +1 2 4 7 8 9 10 13 15 +1 2 4 7 8 9 10 14 15 +1 2 4 7 8 9 11 12 13 +1 2 4 7 8 9 11 12 14 +1 2 4 7 8 9 11 12 15 +1 2 4 7 8 9 11 13 14 +1 2 4 7 8 9 11 13 15 +1 2 4 7 8 9 11 14 15 +1 2 4 7 8 9 12 13 14 +1 2 4 7 8 9 12 13 15 +1 2 4 7 8 9 12 14 15 +1 2 4 7 8 9 13 14 15 +1 2 4 7 8 10 11 12 13 +1 2 4 7 8 10 11 12 14 +1 2 4 7 8 10 11 12 15 +1 2 4 7 8 10 11 13 14 +1 2 4 7 8 10 11 13 15 +1 2 4 7 8 10 11 14 15 +1 2 4 7 8 10 12 13 14 +1 2 4 7 8 10 12 13 15 +1 2 4 7 8 10 12 14 15 +1 2 4 7 8 10 13 14 15 +1 2 4 7 8 11 12 13 14 +1 2 4 7 8 11 12 13 15 +1 2 4 7 8 11 12 14 15 +1 2 4 7 8 11 13 14 15 +1 2 4 7 8 12 13 14 15 +1 2 4 7 9 10 11 12 13 +1 2 4 7 9 10 11 12 14 +1 2 4 7 9 10 11 12 15 +1 2 4 7 9 10 11 13 14 +1 2 4 7 9 10 11 13 15 +1 2 4 7 9 10 11 14 15 +1 2 4 7 9 10 12 13 14 +1 2 4 7 9 10 12 13 15 +1 2 4 7 9 10 12 14 15 +1 2 4 7 9 10 13 14 15 +1 2 4 7 9 11 12 13 14 +1 2 4 7 9 11 12 13 15 +1 2 4 7 9 11 12 14 15 +1 2 4 7 9 11 13 14 15 +1 2 4 7 9 12 13 14 15 +1 2 4 7 10 11 12 13 14 +1 2 4 7 10 11 12 13 15 +1 2 4 7 10 11 12 14 15 +1 2 4 7 10 11 13 14 15 +1 2 4 7 10 12 13 14 15 +1 2 4 7 11 12 13 14 15 +1 2 4 8 9 10 11 12 13 +1 2 4 8 9 10 11 12 14 +1 2 4 8 9 10 11 12 15 +1 2 4 8 9 10 11 13 14 +1 2 4 8 9 10 11 13 15 +1 2 4 8 9 10 11 14 15 +1 2 4 8 9 10 12 13 14 +1 2 4 8 9 10 12 13 15 +1 2 4 8 9 10 12 14 15 +1 2 4 8 9 10 13 14 15 +1 2 4 8 9 11 12 13 14 +1 2 4 8 9 11 12 13 15 +1 2 4 8 9 11 12 14 15 +1 2 4 8 9 11 13 14 15 +1 2 4 8 9 12 13 14 15 +1 2 4 8 10 11 12 13 14 +1 2 4 8 10 11 12 13 15 +1 2 4 8 10 11 12 14 15 +1 2 4 8 10 11 13 14 15 +1 2 4 8 10 12 13 14 15 +1 2 4 8 11 12 13 14 15 +1 2 4 9 10 11 12 13 14 +1 2 4 9 10 11 12 13 15 +1 2 4 9 10 11 12 14 15 +1 2 4 9 10 11 13 14 15 +1 2 4 9 10 12 13 14 15 +1 2 4 9 11 12 13 14 15 +1 2 4 10 11 12 13 14 15 +1 2 5 6 7 8 9 10 11 +1 2 5 6 7 8 9 10 12 +1 2 5 6 7 8 9 10 13 +1 2 5 6 7 8 9 10 14 +1 2 5 6 7 8 9 10 15 +1 2 5 6 7 8 9 11 12 +1 2 5 6 7 8 9 11 13 +1 2 5 6 7 8 9 11 14 +1 2 5 6 7 8 9 11 15 +1 2 5 6 7 8 9 12 13 +1 2 5 6 7 8 9 12 14 +1 2 5 6 7 8 9 12 15 +1 2 5 6 7 8 9 13 14 +1 2 5 6 7 8 9 13 15 +1 2 5 6 7 8 9 14 15 +1 2 5 6 7 8 10 11 12 +1 2 5 6 7 8 10 11 13 +1 2 5 6 7 8 10 11 14 +1 2 5 6 7 8 10 11 15 +1 2 5 6 7 8 10 12 13 +1 2 5 6 7 8 10 12 14 +1 2 5 6 7 8 10 12 15 +1 2 5 6 7 8 10 13 14 +1 2 5 6 7 8 10 13 15 +1 2 5 6 7 8 10 14 15 +1 2 5 6 7 8 11 12 13 +1 2 5 6 7 8 11 12 14 +1 2 5 6 7 8 11 12 15 +1 2 5 6 7 8 11 13 14 +1 2 5 6 7 8 11 13 15 +1 2 5 6 7 8 11 14 15 +1 2 5 6 7 8 12 13 14 +1 2 5 6 7 8 12 13 15 +1 2 5 6 7 8 12 14 15 +1 2 5 6 7 8 13 14 15 +1 2 5 6 7 9 10 11 12 +1 2 5 6 7 9 10 11 13 +1 2 5 6 7 9 10 11 14 +1 2 5 6 7 9 10 11 15 +1 2 5 6 7 9 10 12 13 +1 2 5 6 7 9 10 12 14 +1 2 5 6 7 9 10 12 15 +1 2 5 6 7 9 10 13 14 +1 2 5 6 7 9 10 13 15 +1 2 5 6 7 9 10 14 15 +1 2 5 6 7 9 11 12 13 +1 2 5 6 7 9 11 12 14 +1 2 5 6 7 9 11 12 15 +1 2 5 6 7 9 11 13 14 +1 2 5 6 7 9 11 13 15 +1 2 5 6 7 9 11 14 15 +1 2 5 6 7 9 12 13 14 +1 2 5 6 7 9 12 13 15 +1 2 5 6 7 9 12 14 15 +1 2 5 6 7 9 13 14 15 +1 2 5 6 7 10 11 12 13 +1 2 5 6 7 10 11 12 14 +1 2 5 6 7 10 11 12 15 +1 2 5 6 7 10 11 13 14 +1 2 5 6 7 10 11 13 15 +1 2 5 6 7 10 11 14 15 +1 2 5 6 7 10 12 13 14 +1 2 5 6 7 10 12 13 15 +1 2 5 6 7 10 12 14 15 +1 2 5 6 7 10 13 14 15 +1 2 5 6 7 11 12 13 14 +1 2 5 6 7 11 12 13 15 +1 2 5 6 7 11 12 14 15 +1 2 5 6 7 11 13 14 15 +1 2 5 6 7 12 13 14 15 +1 2 5 6 8 9 10 11 12 +1 2 5 6 8 9 10 11 13 +1 2 5 6 8 9 10 11 14 +1 2 5 6 8 9 10 11 15 +1 2 5 6 8 9 10 12 13 +1 2 5 6 8 9 10 12 14 +1 2 5 6 8 9 10 12 15 +1 2 5 6 8 9 10 13 14 +1 2 5 6 8 9 10 13 15 +1 2 5 6 8 9 10 14 15 +1 2 5 6 8 9 11 12 13 +1 2 5 6 8 9 11 12 14 +1 2 5 6 8 9 11 12 15 +1 2 5 6 8 9 11 13 14 +1 2 5 6 8 9 11 13 15 +1 2 5 6 8 9 11 14 15 +1 2 5 6 8 9 12 13 14 +1 2 5 6 8 9 12 13 15 +1 2 5 6 8 9 12 14 15 +1 2 5 6 8 9 13 14 15 +1 2 5 6 8 10 11 12 13 +1 2 5 6 8 10 11 12 14 +1 2 5 6 8 10 11 12 15 +1 2 5 6 8 10 11 13 14 +1 2 5 6 8 10 11 13 15 +1 2 5 6 8 10 11 14 15 +1 2 5 6 8 10 12 13 14 +1 2 5 6 8 10 12 13 15 +1 2 5 6 8 10 12 14 15 +1 2 5 6 8 10 13 14 15 +1 2 5 6 8 11 12 13 14 +1 2 5 6 8 11 12 13 15 +1 2 5 6 8 11 12 14 15 +1 2 5 6 8 11 13 14 15 +1 2 5 6 8 12 13 14 15 +1 2 5 6 9 10 11 12 13 +1 2 5 6 9 10 11 12 14 +1 2 5 6 9 10 11 12 15 +1 2 5 6 9 10 11 13 14 +1 2 5 6 9 10 11 13 15 +1 2 5 6 9 10 11 14 15 +1 2 5 6 9 10 12 13 14 +1 2 5 6 9 10 12 13 15 +1 2 5 6 9 10 12 14 15 +1 2 5 6 9 10 13 14 15 +1 2 5 6 9 11 12 13 14 +1 2 5 6 9 11 12 13 15 +1 2 5 6 9 11 12 14 15 +1 2 5 6 9 11 13 14 15 +1 2 5 6 9 12 13 14 15 +1 2 5 6 10 11 12 13 14 +1 2 5 6 10 11 12 13 15 +1 2 5 6 10 11 12 14 15 +1 2 5 6 10 11 13 14 15 +1 2 5 6 10 12 13 14 15 +1 2 5 6 11 12 13 14 15 +1 2 5 7 8 9 10 11 12 +1 2 5 7 8 9 10 11 13 +1 2 5 7 8 9 10 11 14 +1 2 5 7 8 9 10 11 15 +1 2 5 7 8 9 10 12 13 +1 2 5 7 8 9 10 12 14 +1 2 5 7 8 9 10 12 15 +1 2 5 7 8 9 10 13 14 +1 2 5 7 8 9 10 13 15 +1 2 5 7 8 9 10 14 15 +1 2 5 7 8 9 11 12 13 +1 2 5 7 8 9 11 12 14 +1 2 5 7 8 9 11 12 15 +1 2 5 7 8 9 11 13 14 +1 2 5 7 8 9 11 13 15 +1 2 5 7 8 9 11 14 15 +1 2 5 7 8 9 12 13 14 +1 2 5 7 8 9 12 13 15 +1 2 5 7 8 9 12 14 15 +1 2 5 7 8 9 13 14 15 +1 2 5 7 8 10 11 12 13 +1 2 5 7 8 10 11 12 14 +1 2 5 7 8 10 11 12 15 +1 2 5 7 8 10 11 13 14 +1 2 5 7 8 10 11 13 15 +1 2 5 7 8 10 11 14 15 +1 2 5 7 8 10 12 13 14 +1 2 5 7 8 10 12 13 15 +1 2 5 7 8 10 12 14 15 +1 2 5 7 8 10 13 14 15 +1 2 5 7 8 11 12 13 14 +1 2 5 7 8 11 12 13 15 +1 2 5 7 8 11 12 14 15 +1 2 5 7 8 11 13 14 15 +1 2 5 7 8 12 13 14 15 +1 2 5 7 9 10 11 12 13 +1 2 5 7 9 10 11 12 14 +1 2 5 7 9 10 11 12 15 +1 2 5 7 9 10 11 13 14 +1 2 5 7 9 10 11 13 15 +1 2 5 7 9 10 11 14 15 +1 2 5 7 9 10 12 13 14 +1 2 5 7 9 10 12 13 15 +1 2 5 7 9 10 12 14 15 +1 2 5 7 9 10 13 14 15 +1 2 5 7 9 11 12 13 14 +1 2 5 7 9 11 12 13 15 +1 2 5 7 9 11 12 14 15 +1 2 5 7 9 11 13 14 15 +1 2 5 7 9 12 13 14 15 +1 2 5 7 10 11 12 13 14 +1 2 5 7 10 11 12 13 15 +1 2 5 7 10 11 12 14 15 +1 2 5 7 10 11 13 14 15 +1 2 5 7 10 12 13 14 15 +1 2 5 7 11 12 13 14 15 +1 2 5 8 9 10 11 12 13 +1 2 5 8 9 10 11 12 14 +1 2 5 8 9 10 11 12 15 +1 2 5 8 9 10 11 13 14 +1 2 5 8 9 10 11 13 15 +1 2 5 8 9 10 11 14 15 +1 2 5 8 9 10 12 13 14 +1 2 5 8 9 10 12 13 15 +1 2 5 8 9 10 12 14 15 +1 2 5 8 9 10 13 14 15 +1 2 5 8 9 11 12 13 14 +1 2 5 8 9 11 12 13 15 +1 2 5 8 9 11 12 14 15 +1 2 5 8 9 11 13 14 15 +1 2 5 8 9 12 13 14 15 +1 2 5 8 10 11 12 13 14 +1 2 5 8 10 11 12 13 15 +1 2 5 8 10 11 12 14 15 +1 2 5 8 10 11 13 14 15 +1 2 5 8 10 12 13 14 15 +1 2 5 8 11 12 13 14 15 +1 2 5 9 10 11 12 13 14 +1 2 5 9 10 11 12 13 15 +1 2 5 9 10 11 12 14 15 +1 2 5 9 10 11 13 14 15 +1 2 5 9 10 12 13 14 15 +1 2 5 9 11 12 13 14 15 +1 2 5 10 11 12 13 14 15 +1 2 6 7 8 9 10 11 12 +1 2 6 7 8 9 10 11 13 +1 2 6 7 8 9 10 11 14 +1 2 6 7 8 9 10 11 15 +1 2 6 7 8 9 10 12 13 +1 2 6 7 8 9 10 12 14 +1 2 6 7 8 9 10 12 15 +1 2 6 7 8 9 10 13 14 +1 2 6 7 8 9 10 13 15 +1 2 6 7 8 9 10 14 15 +1 2 6 7 8 9 11 12 13 +1 2 6 7 8 9 11 12 14 +1 2 6 7 8 9 11 12 15 +1 2 6 7 8 9 11 13 14 +1 2 6 7 8 9 11 13 15 +1 2 6 7 8 9 11 14 15 +1 2 6 7 8 9 12 13 14 +1 2 6 7 8 9 12 13 15 +1 2 6 7 8 9 12 14 15 +1 2 6 7 8 9 13 14 15 +1 2 6 7 8 10 11 12 13 +1 2 6 7 8 10 11 12 14 +1 2 6 7 8 10 11 12 15 +1 2 6 7 8 10 11 13 14 +1 2 6 7 8 10 11 13 15 +1 2 6 7 8 10 11 14 15 +1 2 6 7 8 10 12 13 14 +1 2 6 7 8 10 12 13 15 +1 2 6 7 8 10 12 14 15 +1 2 6 7 8 10 13 14 15 +1 2 6 7 8 11 12 13 14 +1 2 6 7 8 11 12 13 15 +1 2 6 7 8 11 12 14 15 +1 2 6 7 8 11 13 14 15 +1 2 6 7 8 12 13 14 15 +1 2 6 7 9 10 11 12 13 +1 2 6 7 9 10 11 12 14 +1 2 6 7 9 10 11 12 15 +1 2 6 7 9 10 11 13 14 +1 2 6 7 9 10 11 13 15 +1 2 6 7 9 10 11 14 15 +1 2 6 7 9 10 12 13 14 +1 2 6 7 9 10 12 13 15 +1 2 6 7 9 10 12 14 15 +1 2 6 7 9 10 13 14 15 +1 2 6 7 9 11 12 13 14 +1 2 6 7 9 11 12 13 15 +1 2 6 7 9 11 12 14 15 +1 2 6 7 9 11 13 14 15 +1 2 6 7 9 12 13 14 15 +1 2 6 7 10 11 12 13 14 +1 2 6 7 10 11 12 13 15 +1 2 6 7 10 11 12 14 15 +1 2 6 7 10 11 13 14 15 +1 2 6 7 10 12 13 14 15 +1 2 6 7 11 12 13 14 15 +1 2 6 8 9 10 11 12 13 +1 2 6 8 9 10 11 12 14 +1 2 6 8 9 10 11 12 15 +1 2 6 8 9 10 11 13 14 +1 2 6 8 9 10 11 13 15 +1 2 6 8 9 10 11 14 15 +1 2 6 8 9 10 12 13 14 +1 2 6 8 9 10 12 13 15 +1 2 6 8 9 10 12 14 15 +1 2 6 8 9 10 13 14 15 +1 2 6 8 9 11 12 13 14 +1 2 6 8 9 11 12 13 15 +1 2 6 8 9 11 12 14 15 +1 2 6 8 9 11 13 14 15 +1 2 6 8 9 12 13 14 15 +1 2 6 8 10 11 12 13 14 +1 2 6 8 10 11 12 13 15 +1 2 6 8 10 11 12 14 15 +1 2 6 8 10 11 13 14 15 +1 2 6 8 10 12 13 14 15 +1 2 6 8 11 12 13 14 15 +1 2 6 9 10 11 12 13 14 +1 2 6 9 10 11 12 13 15 +1 2 6 9 10 11 12 14 15 +1 2 6 9 10 11 13 14 15 +1 2 6 9 10 12 13 14 15 +1 2 6 9 11 12 13 14 15 +1 2 6 10 11 12 13 14 15 +1 2 7 8 9 10 11 12 13 +1 2 7 8 9 10 11 12 14 +1 2 7 8 9 10 11 12 15 +1 2 7 8 9 10 11 13 14 +1 2 7 8 9 10 11 13 15 +1 2 7 8 9 10 11 14 15 +1 2 7 8 9 10 12 13 14 +1 2 7 8 9 10 12 13 15 +1 2 7 8 9 10 12 14 15 +1 2 7 8 9 10 13 14 15 +1 2 7 8 9 11 12 13 14 +1 2 7 8 9 11 12 13 15 +1 2 7 8 9 11 12 14 15 +1 2 7 8 9 11 13 14 15 +1 2 7 8 9 12 13 14 15 +1 2 7 8 10 11 12 13 14 +1 2 7 8 10 11 12 13 15 +1 2 7 8 10 11 12 14 15 +1 2 7 8 10 11 13 14 15 +1 2 7 8 10 12 13 14 15 +1 2 7 8 11 12 13 14 15 +1 2 7 9 10 11 12 13 14 +1 2 7 9 10 11 12 13 15 +1 2 7 9 10 11 12 14 15 +1 2 7 9 10 11 13 14 15 +1 2 7 9 10 12 13 14 15 +1 2 7 9 11 12 13 14 15 +1 2 7 10 11 12 13 14 15 +1 2 8 9 10 11 12 13 14 +1 2 8 9 10 11 12 13 15 +1 2 8 9 10 11 12 14 15 +1 2 8 9 10 11 13 14 15 +1 2 8 9 10 12 13 14 15 +1 2 8 9 11 12 13 14 15 +1 2 8 10 11 12 13 14 15 +1 2 9 10 11 12 13 14 15 +1 3 4 5 6 7 8 9 10 +1 3 4 5 6 7 8 9 11 +1 3 4 5 6 7 8 9 12 +1 3 4 5 6 7 8 9 13 +1 3 4 5 6 7 8 9 14 +1 3 4 5 6 7 8 9 15 +1 3 4 5 6 7 8 10 11 +1 3 4 5 6 7 8 10 12 +1 3 4 5 6 7 8 10 13 +1 3 4 5 6 7 8 10 14 +1 3 4 5 6 7 8 10 15 +1 3 4 5 6 7 8 11 12 +1 3 4 5 6 7 8 11 13 +1 3 4 5 6 7 8 11 14 +1 3 4 5 6 7 8 11 15 +1 3 4 5 6 7 8 12 13 +1 3 4 5 6 7 8 12 14 +1 3 4 5 6 7 8 12 15 +1 3 4 5 6 7 8 13 14 +1 3 4 5 6 7 8 13 15 +1 3 4 5 6 7 8 14 15 +1 3 4 5 6 7 9 10 11 +1 3 4 5 6 7 9 10 12 +1 3 4 5 6 7 9 10 13 +1 3 4 5 6 7 9 10 14 +1 3 4 5 6 7 9 10 15 +1 3 4 5 6 7 9 11 12 +1 3 4 5 6 7 9 11 13 +1 3 4 5 6 7 9 11 14 +1 3 4 5 6 7 9 11 15 +1 3 4 5 6 7 9 12 13 +1 3 4 5 6 7 9 12 14 +1 3 4 5 6 7 9 12 15 +1 3 4 5 6 7 9 13 14 +1 3 4 5 6 7 9 13 15 +1 3 4 5 6 7 9 14 15 +1 3 4 5 6 7 10 11 12 +1 3 4 5 6 7 10 11 13 +1 3 4 5 6 7 10 11 14 +1 3 4 5 6 7 10 11 15 +1 3 4 5 6 7 10 12 13 +1 3 4 5 6 7 10 12 14 +1 3 4 5 6 7 10 12 15 +1 3 4 5 6 7 10 13 14 +1 3 4 5 6 7 10 13 15 +1 3 4 5 6 7 10 14 15 +1 3 4 5 6 7 11 12 13 +1 3 4 5 6 7 11 12 14 +1 3 4 5 6 7 11 12 15 +1 3 4 5 6 7 11 13 14 +1 3 4 5 6 7 11 13 15 +1 3 4 5 6 7 11 14 15 +1 3 4 5 6 7 12 13 14 +1 3 4 5 6 7 12 13 15 +1 3 4 5 6 7 12 14 15 +1 3 4 5 6 7 13 14 15 +1 3 4 5 6 8 9 10 11 +1 3 4 5 6 8 9 10 12 +1 3 4 5 6 8 9 10 13 +1 3 4 5 6 8 9 10 14 +1 3 4 5 6 8 9 10 15 +1 3 4 5 6 8 9 11 12 +1 3 4 5 6 8 9 11 13 +1 3 4 5 6 8 9 11 14 +1 3 4 5 6 8 9 11 15 +1 3 4 5 6 8 9 12 13 +1 3 4 5 6 8 9 12 14 +1 3 4 5 6 8 9 12 15 +1 3 4 5 6 8 9 13 14 +1 3 4 5 6 8 9 13 15 +1 3 4 5 6 8 9 14 15 +1 3 4 5 6 8 10 11 12 +1 3 4 5 6 8 10 11 13 +1 3 4 5 6 8 10 11 14 +1 3 4 5 6 8 10 11 15 +1 3 4 5 6 8 10 12 13 +1 3 4 5 6 8 10 12 14 +1 3 4 5 6 8 10 12 15 +1 3 4 5 6 8 10 13 14 +1 3 4 5 6 8 10 13 15 +1 3 4 5 6 8 10 14 15 +1 3 4 5 6 8 11 12 13 +1 3 4 5 6 8 11 12 14 +1 3 4 5 6 8 11 12 15 +1 3 4 5 6 8 11 13 14 +1 3 4 5 6 8 11 13 15 +1 3 4 5 6 8 11 14 15 +1 3 4 5 6 8 12 13 14 +1 3 4 5 6 8 12 13 15 +1 3 4 5 6 8 12 14 15 +1 3 4 5 6 8 13 14 15 +1 3 4 5 6 9 10 11 12 +1 3 4 5 6 9 10 11 13 +1 3 4 5 6 9 10 11 14 +1 3 4 5 6 9 10 11 15 +1 3 4 5 6 9 10 12 13 +1 3 4 5 6 9 10 12 14 +1 3 4 5 6 9 10 12 15 +1 3 4 5 6 9 10 13 14 +1 3 4 5 6 9 10 13 15 +1 3 4 5 6 9 10 14 15 +1 3 4 5 6 9 11 12 13 +1 3 4 5 6 9 11 12 14 +1 3 4 5 6 9 11 12 15 +1 3 4 5 6 9 11 13 14 +1 3 4 5 6 9 11 13 15 +1 3 4 5 6 9 11 14 15 +1 3 4 5 6 9 12 13 14 +1 3 4 5 6 9 12 13 15 +1 3 4 5 6 9 12 14 15 +1 3 4 5 6 9 13 14 15 +1 3 4 5 6 10 11 12 13 +1 3 4 5 6 10 11 12 14 +1 3 4 5 6 10 11 12 15 +1 3 4 5 6 10 11 13 14 +1 3 4 5 6 10 11 13 15 +1 3 4 5 6 10 11 14 15 +1 3 4 5 6 10 12 13 14 +1 3 4 5 6 10 12 13 15 +1 3 4 5 6 10 12 14 15 +1 3 4 5 6 10 13 14 15 +1 3 4 5 6 11 12 13 14 +1 3 4 5 6 11 12 13 15 +1 3 4 5 6 11 12 14 15 +1 3 4 5 6 11 13 14 15 +1 3 4 5 6 12 13 14 15 +1 3 4 5 7 8 9 10 11 +1 3 4 5 7 8 9 10 12 +1 3 4 5 7 8 9 10 13 +1 3 4 5 7 8 9 10 14 +1 3 4 5 7 8 9 10 15 +1 3 4 5 7 8 9 11 12 +1 3 4 5 7 8 9 11 13 +1 3 4 5 7 8 9 11 14 +1 3 4 5 7 8 9 11 15 +1 3 4 5 7 8 9 12 13 +1 3 4 5 7 8 9 12 14 +1 3 4 5 7 8 9 12 15 +1 3 4 5 7 8 9 13 14 +1 3 4 5 7 8 9 13 15 +1 3 4 5 7 8 9 14 15 +1 3 4 5 7 8 10 11 12 +1 3 4 5 7 8 10 11 13 +1 3 4 5 7 8 10 11 14 +1 3 4 5 7 8 10 11 15 +1 3 4 5 7 8 10 12 13 +1 3 4 5 7 8 10 12 14 +1 3 4 5 7 8 10 12 15 +1 3 4 5 7 8 10 13 14 +1 3 4 5 7 8 10 13 15 +1 3 4 5 7 8 10 14 15 +1 3 4 5 7 8 11 12 13 +1 3 4 5 7 8 11 12 14 +1 3 4 5 7 8 11 12 15 +1 3 4 5 7 8 11 13 14 +1 3 4 5 7 8 11 13 15 +1 3 4 5 7 8 11 14 15 +1 3 4 5 7 8 12 13 14 +1 3 4 5 7 8 12 13 15 +1 3 4 5 7 8 12 14 15 +1 3 4 5 7 8 13 14 15 +1 3 4 5 7 9 10 11 12 +1 3 4 5 7 9 10 11 13 +1 3 4 5 7 9 10 11 14 +1 3 4 5 7 9 10 11 15 +1 3 4 5 7 9 10 12 13 +1 3 4 5 7 9 10 12 14 +1 3 4 5 7 9 10 12 15 +1 3 4 5 7 9 10 13 14 +1 3 4 5 7 9 10 13 15 +1 3 4 5 7 9 10 14 15 +1 3 4 5 7 9 11 12 13 +1 3 4 5 7 9 11 12 14 +1 3 4 5 7 9 11 12 15 +1 3 4 5 7 9 11 13 14 +1 3 4 5 7 9 11 13 15 +1 3 4 5 7 9 11 14 15 +1 3 4 5 7 9 12 13 14 +1 3 4 5 7 9 12 13 15 +1 3 4 5 7 9 12 14 15 +1 3 4 5 7 9 13 14 15 +1 3 4 5 7 10 11 12 13 +1 3 4 5 7 10 11 12 14 +1 3 4 5 7 10 11 12 15 +1 3 4 5 7 10 11 13 14 +1 3 4 5 7 10 11 13 15 +1 3 4 5 7 10 11 14 15 +1 3 4 5 7 10 12 13 14 +1 3 4 5 7 10 12 13 15 +1 3 4 5 7 10 12 14 15 +1 3 4 5 7 10 13 14 15 +1 3 4 5 7 11 12 13 14 +1 3 4 5 7 11 12 13 15 +1 3 4 5 7 11 12 14 15 +1 3 4 5 7 11 13 14 15 +1 3 4 5 7 12 13 14 15 +1 3 4 5 8 9 10 11 12 +1 3 4 5 8 9 10 11 13 +1 3 4 5 8 9 10 11 14 +1 3 4 5 8 9 10 11 15 +1 3 4 5 8 9 10 12 13 +1 3 4 5 8 9 10 12 14 +1 3 4 5 8 9 10 12 15 +1 3 4 5 8 9 10 13 14 +1 3 4 5 8 9 10 13 15 +1 3 4 5 8 9 10 14 15 +1 3 4 5 8 9 11 12 13 +1 3 4 5 8 9 11 12 14 +1 3 4 5 8 9 11 12 15 +1 3 4 5 8 9 11 13 14 +1 3 4 5 8 9 11 13 15 +1 3 4 5 8 9 11 14 15 +1 3 4 5 8 9 12 13 14 +1 3 4 5 8 9 12 13 15 +1 3 4 5 8 9 12 14 15 +1 3 4 5 8 9 13 14 15 +1 3 4 5 8 10 11 12 13 +1 3 4 5 8 10 11 12 14 +1 3 4 5 8 10 11 12 15 +1 3 4 5 8 10 11 13 14 +1 3 4 5 8 10 11 13 15 +1 3 4 5 8 10 11 14 15 +1 3 4 5 8 10 12 13 14 +1 3 4 5 8 10 12 13 15 +1 3 4 5 8 10 12 14 15 +1 3 4 5 8 10 13 14 15 +1 3 4 5 8 11 12 13 14 +1 3 4 5 8 11 12 13 15 +1 3 4 5 8 11 12 14 15 +1 3 4 5 8 11 13 14 15 +1 3 4 5 8 12 13 14 15 +1 3 4 5 9 10 11 12 13 +1 3 4 5 9 10 11 12 14 +1 3 4 5 9 10 11 12 15 +1 3 4 5 9 10 11 13 14 +1 3 4 5 9 10 11 13 15 +1 3 4 5 9 10 11 14 15 +1 3 4 5 9 10 12 13 14 +1 3 4 5 9 10 12 13 15 +1 3 4 5 9 10 12 14 15 +1 3 4 5 9 10 13 14 15 +1 3 4 5 9 11 12 13 14 +1 3 4 5 9 11 12 13 15 +1 3 4 5 9 11 12 14 15 +1 3 4 5 9 11 13 14 15 +1 3 4 5 9 12 13 14 15 +1 3 4 5 10 11 12 13 14 +1 3 4 5 10 11 12 13 15 +1 3 4 5 10 11 12 14 15 +1 3 4 5 10 11 13 14 15 +1 3 4 5 10 12 13 14 15 +1 3 4 5 11 12 13 14 15 +1 3 4 6 7 8 9 10 11 +1 3 4 6 7 8 9 10 12 +1 3 4 6 7 8 9 10 13 +1 3 4 6 7 8 9 10 14 +1 3 4 6 7 8 9 10 15 +1 3 4 6 7 8 9 11 12 +1 3 4 6 7 8 9 11 13 +1 3 4 6 7 8 9 11 14 +1 3 4 6 7 8 9 11 15 +1 3 4 6 7 8 9 12 13 +1 3 4 6 7 8 9 12 14 +1 3 4 6 7 8 9 12 15 +1 3 4 6 7 8 9 13 14 +1 3 4 6 7 8 9 13 15 +1 3 4 6 7 8 9 14 15 +1 3 4 6 7 8 10 11 12 +1 3 4 6 7 8 10 11 13 +1 3 4 6 7 8 10 11 14 +1 3 4 6 7 8 10 11 15 +1 3 4 6 7 8 10 12 13 +1 3 4 6 7 8 10 12 14 +1 3 4 6 7 8 10 12 15 +1 3 4 6 7 8 10 13 14 +1 3 4 6 7 8 10 13 15 +1 3 4 6 7 8 10 14 15 +1 3 4 6 7 8 11 12 13 +1 3 4 6 7 8 11 12 14 +1 3 4 6 7 8 11 12 15 +1 3 4 6 7 8 11 13 14 +1 3 4 6 7 8 11 13 15 +1 3 4 6 7 8 11 14 15 +1 3 4 6 7 8 12 13 14 +1 3 4 6 7 8 12 13 15 +1 3 4 6 7 8 12 14 15 +1 3 4 6 7 8 13 14 15 +1 3 4 6 7 9 10 11 12 +1 3 4 6 7 9 10 11 13 +1 3 4 6 7 9 10 11 14 +1 3 4 6 7 9 10 11 15 +1 3 4 6 7 9 10 12 13 +1 3 4 6 7 9 10 12 14 +1 3 4 6 7 9 10 12 15 +1 3 4 6 7 9 10 13 14 +1 3 4 6 7 9 10 13 15 +1 3 4 6 7 9 10 14 15 +1 3 4 6 7 9 11 12 13 +1 3 4 6 7 9 11 12 14 +1 3 4 6 7 9 11 12 15 +1 3 4 6 7 9 11 13 14 +1 3 4 6 7 9 11 13 15 +1 3 4 6 7 9 11 14 15 +1 3 4 6 7 9 12 13 14 +1 3 4 6 7 9 12 13 15 +1 3 4 6 7 9 12 14 15 +1 3 4 6 7 9 13 14 15 +1 3 4 6 7 10 11 12 13 +1 3 4 6 7 10 11 12 14 +1 3 4 6 7 10 11 12 15 +1 3 4 6 7 10 11 13 14 +1 3 4 6 7 10 11 13 15 +1 3 4 6 7 10 11 14 15 +1 3 4 6 7 10 12 13 14 +1 3 4 6 7 10 12 13 15 +1 3 4 6 7 10 12 14 15 +1 3 4 6 7 10 13 14 15 +1 3 4 6 7 11 12 13 14 +1 3 4 6 7 11 12 13 15 +1 3 4 6 7 11 12 14 15 +1 3 4 6 7 11 13 14 15 +1 3 4 6 7 12 13 14 15 +1 3 4 6 8 9 10 11 12 +1 3 4 6 8 9 10 11 13 +1 3 4 6 8 9 10 11 14 +1 3 4 6 8 9 10 11 15 +1 3 4 6 8 9 10 12 13 +1 3 4 6 8 9 10 12 14 +1 3 4 6 8 9 10 12 15 +1 3 4 6 8 9 10 13 14 +1 3 4 6 8 9 10 13 15 +1 3 4 6 8 9 10 14 15 +1 3 4 6 8 9 11 12 13 +1 3 4 6 8 9 11 12 14 +1 3 4 6 8 9 11 12 15 +1 3 4 6 8 9 11 13 14 +1 3 4 6 8 9 11 13 15 +1 3 4 6 8 9 11 14 15 +1 3 4 6 8 9 12 13 14 +1 3 4 6 8 9 12 13 15 +1 3 4 6 8 9 12 14 15 +1 3 4 6 8 9 13 14 15 +1 3 4 6 8 10 11 12 13 +1 3 4 6 8 10 11 12 14 +1 3 4 6 8 10 11 12 15 +1 3 4 6 8 10 11 13 14 +1 3 4 6 8 10 11 13 15 +1 3 4 6 8 10 11 14 15 +1 3 4 6 8 10 12 13 14 +1 3 4 6 8 10 12 13 15 +1 3 4 6 8 10 12 14 15 +1 3 4 6 8 10 13 14 15 +1 3 4 6 8 11 12 13 14 +1 3 4 6 8 11 12 13 15 +1 3 4 6 8 11 12 14 15 +1 3 4 6 8 11 13 14 15 +1 3 4 6 8 12 13 14 15 +1 3 4 6 9 10 11 12 13 +1 3 4 6 9 10 11 12 14 +1 3 4 6 9 10 11 12 15 +1 3 4 6 9 10 11 13 14 +1 3 4 6 9 10 11 13 15 +1 3 4 6 9 10 11 14 15 +1 3 4 6 9 10 12 13 14 +1 3 4 6 9 10 12 13 15 +1 3 4 6 9 10 12 14 15 +1 3 4 6 9 10 13 14 15 +1 3 4 6 9 11 12 13 14 +1 3 4 6 9 11 12 13 15 +1 3 4 6 9 11 12 14 15 +1 3 4 6 9 11 13 14 15 +1 3 4 6 9 12 13 14 15 +1 3 4 6 10 11 12 13 14 +1 3 4 6 10 11 12 13 15 +1 3 4 6 10 11 12 14 15 +1 3 4 6 10 11 13 14 15 +1 3 4 6 10 12 13 14 15 +1 3 4 6 11 12 13 14 15 +1 3 4 7 8 9 10 11 12 +1 3 4 7 8 9 10 11 13 +1 3 4 7 8 9 10 11 14 +1 3 4 7 8 9 10 11 15 +1 3 4 7 8 9 10 12 13 +1 3 4 7 8 9 10 12 14 +1 3 4 7 8 9 10 12 15 +1 3 4 7 8 9 10 13 14 +1 3 4 7 8 9 10 13 15 +1 3 4 7 8 9 10 14 15 +1 3 4 7 8 9 11 12 13 +1 3 4 7 8 9 11 12 14 +1 3 4 7 8 9 11 12 15 +1 3 4 7 8 9 11 13 14 +1 3 4 7 8 9 11 13 15 +1 3 4 7 8 9 11 14 15 +1 3 4 7 8 9 12 13 14 +1 3 4 7 8 9 12 13 15 +1 3 4 7 8 9 12 14 15 +1 3 4 7 8 9 13 14 15 +1 3 4 7 8 10 11 12 13 +1 3 4 7 8 10 11 12 14 +1 3 4 7 8 10 11 12 15 +1 3 4 7 8 10 11 13 14 +1 3 4 7 8 10 11 13 15 +1 3 4 7 8 10 11 14 15 +1 3 4 7 8 10 12 13 14 +1 3 4 7 8 10 12 13 15 +1 3 4 7 8 10 12 14 15 +1 3 4 7 8 10 13 14 15 +1 3 4 7 8 11 12 13 14 +1 3 4 7 8 11 12 13 15 +1 3 4 7 8 11 12 14 15 +1 3 4 7 8 11 13 14 15 +1 3 4 7 8 12 13 14 15 +1 3 4 7 9 10 11 12 13 +1 3 4 7 9 10 11 12 14 +1 3 4 7 9 10 11 12 15 +1 3 4 7 9 10 11 13 14 +1 3 4 7 9 10 11 13 15 +1 3 4 7 9 10 11 14 15 +1 3 4 7 9 10 12 13 14 +1 3 4 7 9 10 12 13 15 +1 3 4 7 9 10 12 14 15 +1 3 4 7 9 10 13 14 15 +1 3 4 7 9 11 12 13 14 +1 3 4 7 9 11 12 13 15 +1 3 4 7 9 11 12 14 15 +1 3 4 7 9 11 13 14 15 +1 3 4 7 9 12 13 14 15 +1 3 4 7 10 11 12 13 14 +1 3 4 7 10 11 12 13 15 +1 3 4 7 10 11 12 14 15 +1 3 4 7 10 11 13 14 15 +1 3 4 7 10 12 13 14 15 +1 3 4 7 11 12 13 14 15 +1 3 4 8 9 10 11 12 13 +1 3 4 8 9 10 11 12 14 +1 3 4 8 9 10 11 12 15 +1 3 4 8 9 10 11 13 14 +1 3 4 8 9 10 11 13 15 +1 3 4 8 9 10 11 14 15 +1 3 4 8 9 10 12 13 14 +1 3 4 8 9 10 12 13 15 +1 3 4 8 9 10 12 14 15 +1 3 4 8 9 10 13 14 15 +1 3 4 8 9 11 12 13 14 +1 3 4 8 9 11 12 13 15 +1 3 4 8 9 11 12 14 15 +1 3 4 8 9 11 13 14 15 +1 3 4 8 9 12 13 14 15 +1 3 4 8 10 11 12 13 14 +1 3 4 8 10 11 12 13 15 +1 3 4 8 10 11 12 14 15 +1 3 4 8 10 11 13 14 15 +1 3 4 8 10 12 13 14 15 +1 3 4 8 11 12 13 14 15 +1 3 4 9 10 11 12 13 14 +1 3 4 9 10 11 12 13 15 +1 3 4 9 10 11 12 14 15 +1 3 4 9 10 11 13 14 15 +1 3 4 9 10 12 13 14 15 +1 3 4 9 11 12 13 14 15 +1 3 4 10 11 12 13 14 15 +1 3 5 6 7 8 9 10 11 +1 3 5 6 7 8 9 10 12 +1 3 5 6 7 8 9 10 13 +1 3 5 6 7 8 9 10 14 +1 3 5 6 7 8 9 10 15 +1 3 5 6 7 8 9 11 12 +1 3 5 6 7 8 9 11 13 +1 3 5 6 7 8 9 11 14 +1 3 5 6 7 8 9 11 15 +1 3 5 6 7 8 9 12 13 +1 3 5 6 7 8 9 12 14 +1 3 5 6 7 8 9 12 15 +1 3 5 6 7 8 9 13 14 +1 3 5 6 7 8 9 13 15 +1 3 5 6 7 8 9 14 15 +1 3 5 6 7 8 10 11 12 +1 3 5 6 7 8 10 11 13 +1 3 5 6 7 8 10 11 14 +1 3 5 6 7 8 10 11 15 +1 3 5 6 7 8 10 12 13 +1 3 5 6 7 8 10 12 14 +1 3 5 6 7 8 10 12 15 +1 3 5 6 7 8 10 13 14 +1 3 5 6 7 8 10 13 15 +1 3 5 6 7 8 10 14 15 +1 3 5 6 7 8 11 12 13 +1 3 5 6 7 8 11 12 14 +1 3 5 6 7 8 11 12 15 +1 3 5 6 7 8 11 13 14 +1 3 5 6 7 8 11 13 15 +1 3 5 6 7 8 11 14 15 +1 3 5 6 7 8 12 13 14 +1 3 5 6 7 8 12 13 15 +1 3 5 6 7 8 12 14 15 +1 3 5 6 7 8 13 14 15 +1 3 5 6 7 9 10 11 12 +1 3 5 6 7 9 10 11 13 +1 3 5 6 7 9 10 11 14 +1 3 5 6 7 9 10 11 15 +1 3 5 6 7 9 10 12 13 +1 3 5 6 7 9 10 12 14 +1 3 5 6 7 9 10 12 15 +1 3 5 6 7 9 10 13 14 +1 3 5 6 7 9 10 13 15 +1 3 5 6 7 9 10 14 15 +1 3 5 6 7 9 11 12 13 +1 3 5 6 7 9 11 12 14 +1 3 5 6 7 9 11 12 15 +1 3 5 6 7 9 11 13 14 +1 3 5 6 7 9 11 13 15 +1 3 5 6 7 9 11 14 15 +1 3 5 6 7 9 12 13 14 +1 3 5 6 7 9 12 13 15 +1 3 5 6 7 9 12 14 15 +1 3 5 6 7 9 13 14 15 +1 3 5 6 7 10 11 12 13 +1 3 5 6 7 10 11 12 14 +1 3 5 6 7 10 11 12 15 +1 3 5 6 7 10 11 13 14 +1 3 5 6 7 10 11 13 15 +1 3 5 6 7 10 11 14 15 +1 3 5 6 7 10 12 13 14 +1 3 5 6 7 10 12 13 15 +1 3 5 6 7 10 12 14 15 +1 3 5 6 7 10 13 14 15 +1 3 5 6 7 11 12 13 14 +1 3 5 6 7 11 12 13 15 +1 3 5 6 7 11 12 14 15 +1 3 5 6 7 11 13 14 15 +1 3 5 6 7 12 13 14 15 +1 3 5 6 8 9 10 11 12 +1 3 5 6 8 9 10 11 13 +1 3 5 6 8 9 10 11 14 +1 3 5 6 8 9 10 11 15 +1 3 5 6 8 9 10 12 13 +1 3 5 6 8 9 10 12 14 +1 3 5 6 8 9 10 12 15 +1 3 5 6 8 9 10 13 14 +1 3 5 6 8 9 10 13 15 +1 3 5 6 8 9 10 14 15 +1 3 5 6 8 9 11 12 13 +1 3 5 6 8 9 11 12 14 +1 3 5 6 8 9 11 12 15 +1 3 5 6 8 9 11 13 14 +1 3 5 6 8 9 11 13 15 +1 3 5 6 8 9 11 14 15 +1 3 5 6 8 9 12 13 14 +1 3 5 6 8 9 12 13 15 +1 3 5 6 8 9 12 14 15 +1 3 5 6 8 9 13 14 15 +1 3 5 6 8 10 11 12 13 +1 3 5 6 8 10 11 12 14 +1 3 5 6 8 10 11 12 15 +1 3 5 6 8 10 11 13 14 +1 3 5 6 8 10 11 13 15 +1 3 5 6 8 10 11 14 15 +1 3 5 6 8 10 12 13 14 +1 3 5 6 8 10 12 13 15 +1 3 5 6 8 10 12 14 15 +1 3 5 6 8 10 13 14 15 +1 3 5 6 8 11 12 13 14 +1 3 5 6 8 11 12 13 15 +1 3 5 6 8 11 12 14 15 +1 3 5 6 8 11 13 14 15 +1 3 5 6 8 12 13 14 15 +1 3 5 6 9 10 11 12 13 +1 3 5 6 9 10 11 12 14 +1 3 5 6 9 10 11 12 15 +1 3 5 6 9 10 11 13 14 +1 3 5 6 9 10 11 13 15 +1 3 5 6 9 10 11 14 15 +1 3 5 6 9 10 12 13 14 +1 3 5 6 9 10 12 13 15 +1 3 5 6 9 10 12 14 15 +1 3 5 6 9 10 13 14 15 +1 3 5 6 9 11 12 13 14 +1 3 5 6 9 11 12 13 15 +1 3 5 6 9 11 12 14 15 +1 3 5 6 9 11 13 14 15 +1 3 5 6 9 12 13 14 15 +1 3 5 6 10 11 12 13 14 +1 3 5 6 10 11 12 13 15 +1 3 5 6 10 11 12 14 15 +1 3 5 6 10 11 13 14 15 +1 3 5 6 10 12 13 14 15 +1 3 5 6 11 12 13 14 15 +1 3 5 7 8 9 10 11 12 +1 3 5 7 8 9 10 11 13 +1 3 5 7 8 9 10 11 14 +1 3 5 7 8 9 10 11 15 +1 3 5 7 8 9 10 12 13 +1 3 5 7 8 9 10 12 14 +1 3 5 7 8 9 10 12 15 +1 3 5 7 8 9 10 13 14 +1 3 5 7 8 9 10 13 15 +1 3 5 7 8 9 10 14 15 +1 3 5 7 8 9 11 12 13 +1 3 5 7 8 9 11 12 14 +1 3 5 7 8 9 11 12 15 +1 3 5 7 8 9 11 13 14 +1 3 5 7 8 9 11 13 15 +1 3 5 7 8 9 11 14 15 +1 3 5 7 8 9 12 13 14 +1 3 5 7 8 9 12 13 15 +1 3 5 7 8 9 12 14 15 +1 3 5 7 8 9 13 14 15 +1 3 5 7 8 10 11 12 13 +1 3 5 7 8 10 11 12 14 +1 3 5 7 8 10 11 12 15 +1 3 5 7 8 10 11 13 14 +1 3 5 7 8 10 11 13 15 +1 3 5 7 8 10 11 14 15 +1 3 5 7 8 10 12 13 14 +1 3 5 7 8 10 12 13 15 +1 3 5 7 8 10 12 14 15 +1 3 5 7 8 10 13 14 15 +1 3 5 7 8 11 12 13 14 +1 3 5 7 8 11 12 13 15 +1 3 5 7 8 11 12 14 15 +1 3 5 7 8 11 13 14 15 +1 3 5 7 8 12 13 14 15 +1 3 5 7 9 10 11 12 13 +1 3 5 7 9 10 11 12 14 +1 3 5 7 9 10 11 12 15 +1 3 5 7 9 10 11 13 14 +1 3 5 7 9 10 11 13 15 +1 3 5 7 9 10 11 14 15 +1 3 5 7 9 10 12 13 14 +1 3 5 7 9 10 12 13 15 +1 3 5 7 9 10 12 14 15 +1 3 5 7 9 10 13 14 15 +1 3 5 7 9 11 12 13 14 +1 3 5 7 9 11 12 13 15 +1 3 5 7 9 11 12 14 15 +1 3 5 7 9 11 13 14 15 +1 3 5 7 9 12 13 14 15 +1 3 5 7 10 11 12 13 14 +1 3 5 7 10 11 12 13 15 +1 3 5 7 10 11 12 14 15 +1 3 5 7 10 11 13 14 15 +1 3 5 7 10 12 13 14 15 +1 3 5 7 11 12 13 14 15 +1 3 5 8 9 10 11 12 13 +1 3 5 8 9 10 11 12 14 +1 3 5 8 9 10 11 12 15 +1 3 5 8 9 10 11 13 14 +1 3 5 8 9 10 11 13 15 +1 3 5 8 9 10 11 14 15 +1 3 5 8 9 10 12 13 14 +1 3 5 8 9 10 12 13 15 +1 3 5 8 9 10 12 14 15 +1 3 5 8 9 10 13 14 15 +1 3 5 8 9 11 12 13 14 +1 3 5 8 9 11 12 13 15 +1 3 5 8 9 11 12 14 15 +1 3 5 8 9 11 13 14 15 +1 3 5 8 9 12 13 14 15 +1 3 5 8 10 11 12 13 14 +1 3 5 8 10 11 12 13 15 +1 3 5 8 10 11 12 14 15 +1 3 5 8 10 11 13 14 15 +1 3 5 8 10 12 13 14 15 +1 3 5 8 11 12 13 14 15 +1 3 5 9 10 11 12 13 14 +1 3 5 9 10 11 12 13 15 +1 3 5 9 10 11 12 14 15 +1 3 5 9 10 11 13 14 15 +1 3 5 9 10 12 13 14 15 +1 3 5 9 11 12 13 14 15 +1 3 5 10 11 12 13 14 15 +1 3 6 7 8 9 10 11 12 +1 3 6 7 8 9 10 11 13 +1 3 6 7 8 9 10 11 14 +1 3 6 7 8 9 10 11 15 +1 3 6 7 8 9 10 12 13 +1 3 6 7 8 9 10 12 14 +1 3 6 7 8 9 10 12 15 +1 3 6 7 8 9 10 13 14 +1 3 6 7 8 9 10 13 15 +1 3 6 7 8 9 10 14 15 +1 3 6 7 8 9 11 12 13 +1 3 6 7 8 9 11 12 14 +1 3 6 7 8 9 11 12 15 +1 3 6 7 8 9 11 13 14 +1 3 6 7 8 9 11 13 15 +1 3 6 7 8 9 11 14 15 +1 3 6 7 8 9 12 13 14 +1 3 6 7 8 9 12 13 15 +1 3 6 7 8 9 12 14 15 +1 3 6 7 8 9 13 14 15 +1 3 6 7 8 10 11 12 13 +1 3 6 7 8 10 11 12 14 +1 3 6 7 8 10 11 12 15 +1 3 6 7 8 10 11 13 14 +1 3 6 7 8 10 11 13 15 +1 3 6 7 8 10 11 14 15 +1 3 6 7 8 10 12 13 14 +1 3 6 7 8 10 12 13 15 +1 3 6 7 8 10 12 14 15 +1 3 6 7 8 10 13 14 15 +1 3 6 7 8 11 12 13 14 +1 3 6 7 8 11 12 13 15 +1 3 6 7 8 11 12 14 15 +1 3 6 7 8 11 13 14 15 +1 3 6 7 8 12 13 14 15 +1 3 6 7 9 10 11 12 13 +1 3 6 7 9 10 11 12 14 +1 3 6 7 9 10 11 12 15 +1 3 6 7 9 10 11 13 14 +1 3 6 7 9 10 11 13 15 +1 3 6 7 9 10 11 14 15 +1 3 6 7 9 10 12 13 14 +1 3 6 7 9 10 12 13 15 +1 3 6 7 9 10 12 14 15 +1 3 6 7 9 10 13 14 15 +1 3 6 7 9 11 12 13 14 +1 3 6 7 9 11 12 13 15 +1 3 6 7 9 11 12 14 15 +1 3 6 7 9 11 13 14 15 +1 3 6 7 9 12 13 14 15 +1 3 6 7 10 11 12 13 14 +1 3 6 7 10 11 12 13 15 +1 3 6 7 10 11 12 14 15 +1 3 6 7 10 11 13 14 15 +1 3 6 7 10 12 13 14 15 +1 3 6 7 11 12 13 14 15 +1 3 6 8 9 10 11 12 13 +1 3 6 8 9 10 11 12 14 +1 3 6 8 9 10 11 12 15 +1 3 6 8 9 10 11 13 14 +1 3 6 8 9 10 11 13 15 +1 3 6 8 9 10 11 14 15 +1 3 6 8 9 10 12 13 14 +1 3 6 8 9 10 12 13 15 +1 3 6 8 9 10 12 14 15 +1 3 6 8 9 10 13 14 15 +1 3 6 8 9 11 12 13 14 +1 3 6 8 9 11 12 13 15 +1 3 6 8 9 11 12 14 15 +1 3 6 8 9 11 13 14 15 +1 3 6 8 9 12 13 14 15 +1 3 6 8 10 11 12 13 14 +1 3 6 8 10 11 12 13 15 +1 3 6 8 10 11 12 14 15 +1 3 6 8 10 11 13 14 15 +1 3 6 8 10 12 13 14 15 +1 3 6 8 11 12 13 14 15 +1 3 6 9 10 11 12 13 14 +1 3 6 9 10 11 12 13 15 +1 3 6 9 10 11 12 14 15 +1 3 6 9 10 11 13 14 15 +1 3 6 9 10 12 13 14 15 +1 3 6 9 11 12 13 14 15 +1 3 6 10 11 12 13 14 15 +1 3 7 8 9 10 11 12 13 +1 3 7 8 9 10 11 12 14 +1 3 7 8 9 10 11 12 15 +1 3 7 8 9 10 11 13 14 +1 3 7 8 9 10 11 13 15 +1 3 7 8 9 10 11 14 15 +1 3 7 8 9 10 12 13 14 +1 3 7 8 9 10 12 13 15 +1 3 7 8 9 10 12 14 15 +1 3 7 8 9 10 13 14 15 +1 3 7 8 9 11 12 13 14 +1 3 7 8 9 11 12 13 15 +1 3 7 8 9 11 12 14 15 +1 3 7 8 9 11 13 14 15 +1 3 7 8 9 12 13 14 15 +1 3 7 8 10 11 12 13 14 +1 3 7 8 10 11 12 13 15 +1 3 7 8 10 11 12 14 15 +1 3 7 8 10 11 13 14 15 +1 3 7 8 10 12 13 14 15 +1 3 7 8 11 12 13 14 15 +1 3 7 9 10 11 12 13 14 +1 3 7 9 10 11 12 13 15 +1 3 7 9 10 11 12 14 15 +1 3 7 9 10 11 13 14 15 +1 3 7 9 10 12 13 14 15 +1 3 7 9 11 12 13 14 15 +1 3 7 10 11 12 13 14 15 +1 3 8 9 10 11 12 13 14 +1 3 8 9 10 11 12 13 15 +1 3 8 9 10 11 12 14 15 +1 3 8 9 10 11 13 14 15 +1 3 8 9 10 12 13 14 15 +1 3 8 9 11 12 13 14 15 +1 3 8 10 11 12 13 14 15 +1 3 9 10 11 12 13 14 15 +1 4 5 6 7 8 9 10 11 +1 4 5 6 7 8 9 10 12 +1 4 5 6 7 8 9 10 13 +1 4 5 6 7 8 9 10 14 +1 4 5 6 7 8 9 10 15 +1 4 5 6 7 8 9 11 12 +1 4 5 6 7 8 9 11 13 +1 4 5 6 7 8 9 11 14 +1 4 5 6 7 8 9 11 15 +1 4 5 6 7 8 9 12 13 +1 4 5 6 7 8 9 12 14 +1 4 5 6 7 8 9 12 15 +1 4 5 6 7 8 9 13 14 +1 4 5 6 7 8 9 13 15 +1 4 5 6 7 8 9 14 15 +1 4 5 6 7 8 10 11 12 +1 4 5 6 7 8 10 11 13 +1 4 5 6 7 8 10 11 14 +1 4 5 6 7 8 10 11 15 +1 4 5 6 7 8 10 12 13 +1 4 5 6 7 8 10 12 14 +1 4 5 6 7 8 10 12 15 +1 4 5 6 7 8 10 13 14 +1 4 5 6 7 8 10 13 15 +1 4 5 6 7 8 10 14 15 +1 4 5 6 7 8 11 12 13 +1 4 5 6 7 8 11 12 14 +1 4 5 6 7 8 11 12 15 +1 4 5 6 7 8 11 13 14 +1 4 5 6 7 8 11 13 15 +1 4 5 6 7 8 11 14 15 +1 4 5 6 7 8 12 13 14 +1 4 5 6 7 8 12 13 15 +1 4 5 6 7 8 12 14 15 +1 4 5 6 7 8 13 14 15 +1 4 5 6 7 9 10 11 12 +1 4 5 6 7 9 10 11 13 +1 4 5 6 7 9 10 11 14 +1 4 5 6 7 9 10 11 15 +1 4 5 6 7 9 10 12 13 +1 4 5 6 7 9 10 12 14 +1 4 5 6 7 9 10 12 15 +1 4 5 6 7 9 10 13 14 +1 4 5 6 7 9 10 13 15 +1 4 5 6 7 9 10 14 15 +1 4 5 6 7 9 11 12 13 +1 4 5 6 7 9 11 12 14 +1 4 5 6 7 9 11 12 15 +1 4 5 6 7 9 11 13 14 +1 4 5 6 7 9 11 13 15 +1 4 5 6 7 9 11 14 15 +1 4 5 6 7 9 12 13 14 +1 4 5 6 7 9 12 13 15 +1 4 5 6 7 9 12 14 15 +1 4 5 6 7 9 13 14 15 +1 4 5 6 7 10 11 12 13 +1 4 5 6 7 10 11 12 14 +1 4 5 6 7 10 11 12 15 +1 4 5 6 7 10 11 13 14 +1 4 5 6 7 10 11 13 15 +1 4 5 6 7 10 11 14 15 +1 4 5 6 7 10 12 13 14 +1 4 5 6 7 10 12 13 15 +1 4 5 6 7 10 12 14 15 +1 4 5 6 7 10 13 14 15 +1 4 5 6 7 11 12 13 14 +1 4 5 6 7 11 12 13 15 +1 4 5 6 7 11 12 14 15 +1 4 5 6 7 11 13 14 15 +1 4 5 6 7 12 13 14 15 +1 4 5 6 8 9 10 11 12 +1 4 5 6 8 9 10 11 13 +1 4 5 6 8 9 10 11 14 +1 4 5 6 8 9 10 11 15 +1 4 5 6 8 9 10 12 13 +1 4 5 6 8 9 10 12 14 +1 4 5 6 8 9 10 12 15 +1 4 5 6 8 9 10 13 14 +1 4 5 6 8 9 10 13 15 +1 4 5 6 8 9 10 14 15 +1 4 5 6 8 9 11 12 13 +1 4 5 6 8 9 11 12 14 +1 4 5 6 8 9 11 12 15 +1 4 5 6 8 9 11 13 14 +1 4 5 6 8 9 11 13 15 +1 4 5 6 8 9 11 14 15 +1 4 5 6 8 9 12 13 14 +1 4 5 6 8 9 12 13 15 +1 4 5 6 8 9 12 14 15 +1 4 5 6 8 9 13 14 15 +1 4 5 6 8 10 11 12 13 +1 4 5 6 8 10 11 12 14 +1 4 5 6 8 10 11 12 15 +1 4 5 6 8 10 11 13 14 +1 4 5 6 8 10 11 13 15 +1 4 5 6 8 10 11 14 15 +1 4 5 6 8 10 12 13 14 +1 4 5 6 8 10 12 13 15 +1 4 5 6 8 10 12 14 15 +1 4 5 6 8 10 13 14 15 +1 4 5 6 8 11 12 13 14 +1 4 5 6 8 11 12 13 15 +1 4 5 6 8 11 12 14 15 +1 4 5 6 8 11 13 14 15 +1 4 5 6 8 12 13 14 15 +1 4 5 6 9 10 11 12 13 +1 4 5 6 9 10 11 12 14 +1 4 5 6 9 10 11 12 15 +1 4 5 6 9 10 11 13 14 +1 4 5 6 9 10 11 13 15 +1 4 5 6 9 10 11 14 15 +1 4 5 6 9 10 12 13 14 +1 4 5 6 9 10 12 13 15 +1 4 5 6 9 10 12 14 15 +1 4 5 6 9 10 13 14 15 +1 4 5 6 9 11 12 13 14 +1 4 5 6 9 11 12 13 15 +1 4 5 6 9 11 12 14 15 +1 4 5 6 9 11 13 14 15 +1 4 5 6 9 12 13 14 15 +1 4 5 6 10 11 12 13 14 +1 4 5 6 10 11 12 13 15 +1 4 5 6 10 11 12 14 15 +1 4 5 6 10 11 13 14 15 +1 4 5 6 10 12 13 14 15 +1 4 5 6 11 12 13 14 15 +1 4 5 7 8 9 10 11 12 +1 4 5 7 8 9 10 11 13 +1 4 5 7 8 9 10 11 14 +1 4 5 7 8 9 10 11 15 +1 4 5 7 8 9 10 12 13 +1 4 5 7 8 9 10 12 14 +1 4 5 7 8 9 10 12 15 +1 4 5 7 8 9 10 13 14 +1 4 5 7 8 9 10 13 15 +1 4 5 7 8 9 10 14 15 +1 4 5 7 8 9 11 12 13 +1 4 5 7 8 9 11 12 14 +1 4 5 7 8 9 11 12 15 +1 4 5 7 8 9 11 13 14 +1 4 5 7 8 9 11 13 15 +1 4 5 7 8 9 11 14 15 +1 4 5 7 8 9 12 13 14 +1 4 5 7 8 9 12 13 15 +1 4 5 7 8 9 12 14 15 +1 4 5 7 8 9 13 14 15 +1 4 5 7 8 10 11 12 13 +1 4 5 7 8 10 11 12 14 +1 4 5 7 8 10 11 12 15 +1 4 5 7 8 10 11 13 14 +1 4 5 7 8 10 11 13 15 +1 4 5 7 8 10 11 14 15 +1 4 5 7 8 10 12 13 14 +1 4 5 7 8 10 12 13 15 +1 4 5 7 8 10 12 14 15 +1 4 5 7 8 10 13 14 15 +1 4 5 7 8 11 12 13 14 +1 4 5 7 8 11 12 13 15 +1 4 5 7 8 11 12 14 15 +1 4 5 7 8 11 13 14 15 +1 4 5 7 8 12 13 14 15 +1 4 5 7 9 10 11 12 13 +1 4 5 7 9 10 11 12 14 +1 4 5 7 9 10 11 12 15 +1 4 5 7 9 10 11 13 14 +1 4 5 7 9 10 11 13 15 +1 4 5 7 9 10 11 14 15 +1 4 5 7 9 10 12 13 14 +1 4 5 7 9 10 12 13 15 +1 4 5 7 9 10 12 14 15 +1 4 5 7 9 10 13 14 15 +1 4 5 7 9 11 12 13 14 +1 4 5 7 9 11 12 13 15 +1 4 5 7 9 11 12 14 15 +1 4 5 7 9 11 13 14 15 +1 4 5 7 9 12 13 14 15 +1 4 5 7 10 11 12 13 14 +1 4 5 7 10 11 12 13 15 +1 4 5 7 10 11 12 14 15 +1 4 5 7 10 11 13 14 15 +1 4 5 7 10 12 13 14 15 +1 4 5 7 11 12 13 14 15 +1 4 5 8 9 10 11 12 13 +1 4 5 8 9 10 11 12 14 +1 4 5 8 9 10 11 12 15 +1 4 5 8 9 10 11 13 14 +1 4 5 8 9 10 11 13 15 +1 4 5 8 9 10 11 14 15 +1 4 5 8 9 10 12 13 14 +1 4 5 8 9 10 12 13 15 +1 4 5 8 9 10 12 14 15 +1 4 5 8 9 10 13 14 15 +1 4 5 8 9 11 12 13 14 +1 4 5 8 9 11 12 13 15 +1 4 5 8 9 11 12 14 15 +1 4 5 8 9 11 13 14 15 +1 4 5 8 9 12 13 14 15 +1 4 5 8 10 11 12 13 14 +1 4 5 8 10 11 12 13 15 +1 4 5 8 10 11 12 14 15 +1 4 5 8 10 11 13 14 15 +1 4 5 8 10 12 13 14 15 +1 4 5 8 11 12 13 14 15 +1 4 5 9 10 11 12 13 14 +1 4 5 9 10 11 12 13 15 +1 4 5 9 10 11 12 14 15 +1 4 5 9 10 11 13 14 15 +1 4 5 9 10 12 13 14 15 +1 4 5 9 11 12 13 14 15 +1 4 5 10 11 12 13 14 15 +1 4 6 7 8 9 10 11 12 +1 4 6 7 8 9 10 11 13 +1 4 6 7 8 9 10 11 14 +1 4 6 7 8 9 10 11 15 +1 4 6 7 8 9 10 12 13 +1 4 6 7 8 9 10 12 14 +1 4 6 7 8 9 10 12 15 +1 4 6 7 8 9 10 13 14 +1 4 6 7 8 9 10 13 15 +1 4 6 7 8 9 10 14 15 +1 4 6 7 8 9 11 12 13 +1 4 6 7 8 9 11 12 14 +1 4 6 7 8 9 11 12 15 +1 4 6 7 8 9 11 13 14 +1 4 6 7 8 9 11 13 15 +1 4 6 7 8 9 11 14 15 +1 4 6 7 8 9 12 13 14 +1 4 6 7 8 9 12 13 15 +1 4 6 7 8 9 12 14 15 +1 4 6 7 8 9 13 14 15 +1 4 6 7 8 10 11 12 13 +1 4 6 7 8 10 11 12 14 +1 4 6 7 8 10 11 12 15 +1 4 6 7 8 10 11 13 14 +1 4 6 7 8 10 11 13 15 +1 4 6 7 8 10 11 14 15 +1 4 6 7 8 10 12 13 14 +1 4 6 7 8 10 12 13 15 +1 4 6 7 8 10 12 14 15 +1 4 6 7 8 10 13 14 15 +1 4 6 7 8 11 12 13 14 +1 4 6 7 8 11 12 13 15 +1 4 6 7 8 11 12 14 15 +1 4 6 7 8 11 13 14 15 +1 4 6 7 8 12 13 14 15 +1 4 6 7 9 10 11 12 13 +1 4 6 7 9 10 11 12 14 +1 4 6 7 9 10 11 12 15 +1 4 6 7 9 10 11 13 14 +1 4 6 7 9 10 11 13 15 +1 4 6 7 9 10 11 14 15 +1 4 6 7 9 10 12 13 14 +1 4 6 7 9 10 12 13 15 +1 4 6 7 9 10 12 14 15 +1 4 6 7 9 10 13 14 15 +1 4 6 7 9 11 12 13 14 +1 4 6 7 9 11 12 13 15 +1 4 6 7 9 11 12 14 15 +1 4 6 7 9 11 13 14 15 +1 4 6 7 9 12 13 14 15 +1 4 6 7 10 11 12 13 14 +1 4 6 7 10 11 12 13 15 +1 4 6 7 10 11 12 14 15 +1 4 6 7 10 11 13 14 15 +1 4 6 7 10 12 13 14 15 +1 4 6 7 11 12 13 14 15 +1 4 6 8 9 10 11 12 13 +1 4 6 8 9 10 11 12 14 +1 4 6 8 9 10 11 12 15 +1 4 6 8 9 10 11 13 14 +1 4 6 8 9 10 11 13 15 +1 4 6 8 9 10 11 14 15 +1 4 6 8 9 10 12 13 14 +1 4 6 8 9 10 12 13 15 +1 4 6 8 9 10 12 14 15 +1 4 6 8 9 10 13 14 15 +1 4 6 8 9 11 12 13 14 +1 4 6 8 9 11 12 13 15 +1 4 6 8 9 11 12 14 15 +1 4 6 8 9 11 13 14 15 +1 4 6 8 9 12 13 14 15 +1 4 6 8 10 11 12 13 14 +1 4 6 8 10 11 12 13 15 +1 4 6 8 10 11 12 14 15 +1 4 6 8 10 11 13 14 15 +1 4 6 8 10 12 13 14 15 +1 4 6 8 11 12 13 14 15 +1 4 6 9 10 11 12 13 14 +1 4 6 9 10 11 12 13 15 +1 4 6 9 10 11 12 14 15 +1 4 6 9 10 11 13 14 15 +1 4 6 9 10 12 13 14 15 +1 4 6 9 11 12 13 14 15 +1 4 6 10 11 12 13 14 15 +1 4 7 8 9 10 11 12 13 +1 4 7 8 9 10 11 12 14 +1 4 7 8 9 10 11 12 15 +1 4 7 8 9 10 11 13 14 +1 4 7 8 9 10 11 13 15 +1 4 7 8 9 10 11 14 15 +1 4 7 8 9 10 12 13 14 +1 4 7 8 9 10 12 13 15 +1 4 7 8 9 10 12 14 15 +1 4 7 8 9 10 13 14 15 +1 4 7 8 9 11 12 13 14 +1 4 7 8 9 11 12 13 15 +1 4 7 8 9 11 12 14 15 +1 4 7 8 9 11 13 14 15 +1 4 7 8 9 12 13 14 15 +1 4 7 8 10 11 12 13 14 +1 4 7 8 10 11 12 13 15 +1 4 7 8 10 11 12 14 15 +1 4 7 8 10 11 13 14 15 +1 4 7 8 10 12 13 14 15 +1 4 7 8 11 12 13 14 15 +1 4 7 9 10 11 12 13 14 +1 4 7 9 10 11 12 13 15 +1 4 7 9 10 11 12 14 15 +1 4 7 9 10 11 13 14 15 +1 4 7 9 10 12 13 14 15 +1 4 7 9 11 12 13 14 15 +1 4 7 10 11 12 13 14 15 +1 4 8 9 10 11 12 13 14 +1 4 8 9 10 11 12 13 15 +1 4 8 9 10 11 12 14 15 +1 4 8 9 10 11 13 14 15 +1 4 8 9 10 12 13 14 15 +1 4 8 9 11 12 13 14 15 +1 4 8 10 11 12 13 14 15 +1 4 9 10 11 12 13 14 15 +1 5 6 7 8 9 10 11 12 +1 5 6 7 8 9 10 11 13 +1 5 6 7 8 9 10 11 14 +1 5 6 7 8 9 10 11 15 +1 5 6 7 8 9 10 12 13 +1 5 6 7 8 9 10 12 14 +1 5 6 7 8 9 10 12 15 +1 5 6 7 8 9 10 13 14 +1 5 6 7 8 9 10 13 15 +1 5 6 7 8 9 10 14 15 +1 5 6 7 8 9 11 12 13 +1 5 6 7 8 9 11 12 14 +1 5 6 7 8 9 11 12 15 +1 5 6 7 8 9 11 13 14 +1 5 6 7 8 9 11 13 15 +1 5 6 7 8 9 11 14 15 +1 5 6 7 8 9 12 13 14 +1 5 6 7 8 9 12 13 15 +1 5 6 7 8 9 12 14 15 +1 5 6 7 8 9 13 14 15 +1 5 6 7 8 10 11 12 13 +1 5 6 7 8 10 11 12 14 +1 5 6 7 8 10 11 12 15 +1 5 6 7 8 10 11 13 14 +1 5 6 7 8 10 11 13 15 +1 5 6 7 8 10 11 14 15 +1 5 6 7 8 10 12 13 14 +1 5 6 7 8 10 12 13 15 +1 5 6 7 8 10 12 14 15 +1 5 6 7 8 10 13 14 15 +1 5 6 7 8 11 12 13 14 +1 5 6 7 8 11 12 13 15 +1 5 6 7 8 11 12 14 15 +1 5 6 7 8 11 13 14 15 +1 5 6 7 8 12 13 14 15 +1 5 6 7 9 10 11 12 13 +1 5 6 7 9 10 11 12 14 +1 5 6 7 9 10 11 12 15 +1 5 6 7 9 10 11 13 14 +1 5 6 7 9 10 11 13 15 +1 5 6 7 9 10 11 14 15 +1 5 6 7 9 10 12 13 14 +1 5 6 7 9 10 12 13 15 +1 5 6 7 9 10 12 14 15 +1 5 6 7 9 10 13 14 15 +1 5 6 7 9 11 12 13 14 +1 5 6 7 9 11 12 13 15 +1 5 6 7 9 11 12 14 15 +1 5 6 7 9 11 13 14 15 +1 5 6 7 9 12 13 14 15 +1 5 6 7 10 11 12 13 14 +1 5 6 7 10 11 12 13 15 +1 5 6 7 10 11 12 14 15 +1 5 6 7 10 11 13 14 15 +1 5 6 7 10 12 13 14 15 +1 5 6 7 11 12 13 14 15 +1 5 6 8 9 10 11 12 13 +1 5 6 8 9 10 11 12 14 +1 5 6 8 9 10 11 12 15 +1 5 6 8 9 10 11 13 14 +1 5 6 8 9 10 11 13 15 +1 5 6 8 9 10 11 14 15 +1 5 6 8 9 10 12 13 14 +1 5 6 8 9 10 12 13 15 +1 5 6 8 9 10 12 14 15 +1 5 6 8 9 10 13 14 15 +1 5 6 8 9 11 12 13 14 +1 5 6 8 9 11 12 13 15 +1 5 6 8 9 11 12 14 15 +1 5 6 8 9 11 13 14 15 +1 5 6 8 9 12 13 14 15 +1 5 6 8 10 11 12 13 14 +1 5 6 8 10 11 12 13 15 +1 5 6 8 10 11 12 14 15 +1 5 6 8 10 11 13 14 15 +1 5 6 8 10 12 13 14 15 +1 5 6 8 11 12 13 14 15 +1 5 6 9 10 11 12 13 14 +1 5 6 9 10 11 12 13 15 +1 5 6 9 10 11 12 14 15 +1 5 6 9 10 11 13 14 15 +1 5 6 9 10 12 13 14 15 +1 5 6 9 11 12 13 14 15 +1 5 6 10 11 12 13 14 15 +1 5 7 8 9 10 11 12 13 +1 5 7 8 9 10 11 12 14 +1 5 7 8 9 10 11 12 15 +1 5 7 8 9 10 11 13 14 +1 5 7 8 9 10 11 13 15 +1 5 7 8 9 10 11 14 15 +1 5 7 8 9 10 12 13 14 +1 5 7 8 9 10 12 13 15 +1 5 7 8 9 10 12 14 15 +1 5 7 8 9 10 13 14 15 +1 5 7 8 9 11 12 13 14 +1 5 7 8 9 11 12 13 15 +1 5 7 8 9 11 12 14 15 +1 5 7 8 9 11 13 14 15 +1 5 7 8 9 12 13 14 15 +1 5 7 8 10 11 12 13 14 +1 5 7 8 10 11 12 13 15 +1 5 7 8 10 11 12 14 15 +1 5 7 8 10 11 13 14 15 +1 5 7 8 10 12 13 14 15 +1 5 7 8 11 12 13 14 15 +1 5 7 9 10 11 12 13 14 +1 5 7 9 10 11 12 13 15 +1 5 7 9 10 11 12 14 15 +1 5 7 9 10 11 13 14 15 +1 5 7 9 10 12 13 14 15 +1 5 7 9 11 12 13 14 15 +1 5 7 10 11 12 13 14 15 +1 5 8 9 10 11 12 13 14 +1 5 8 9 10 11 12 13 15 +1 5 8 9 10 11 12 14 15 +1 5 8 9 10 11 13 14 15 +1 5 8 9 10 12 13 14 15 +1 5 8 9 11 12 13 14 15 +1 5 8 10 11 12 13 14 15 +1 5 9 10 11 12 13 14 15 +1 6 7 8 9 10 11 12 13 +1 6 7 8 9 10 11 12 14 +1 6 7 8 9 10 11 12 15 +1 6 7 8 9 10 11 13 14 +1 6 7 8 9 10 11 13 15 +1 6 7 8 9 10 11 14 15 +1 6 7 8 9 10 12 13 14 +1 6 7 8 9 10 12 13 15 +1 6 7 8 9 10 12 14 15 +1 6 7 8 9 10 13 14 15 +1 6 7 8 9 11 12 13 14 +1 6 7 8 9 11 12 13 15 +1 6 7 8 9 11 12 14 15 +1 6 7 8 9 11 13 14 15 +1 6 7 8 9 12 13 14 15 +1 6 7 8 10 11 12 13 14 +1 6 7 8 10 11 12 13 15 +1 6 7 8 10 11 12 14 15 +1 6 7 8 10 11 13 14 15 +1 6 7 8 10 12 13 14 15 +1 6 7 8 11 12 13 14 15 +1 6 7 9 10 11 12 13 14 +1 6 7 9 10 11 12 13 15 +1 6 7 9 10 11 12 14 15 +1 6 7 9 10 11 13 14 15 +1 6 7 9 10 12 13 14 15 +1 6 7 9 11 12 13 14 15 +1 6 7 10 11 12 13 14 15 +1 6 8 9 10 11 12 13 14 +1 6 8 9 10 11 12 13 15 +1 6 8 9 10 11 12 14 15 +1 6 8 9 10 11 13 14 15 +1 6 8 9 10 12 13 14 15 +1 6 8 9 11 12 13 14 15 +1 6 8 10 11 12 13 14 15 +1 6 9 10 11 12 13 14 15 +1 7 8 9 10 11 12 13 14 +1 7 8 9 10 11 12 13 15 +1 7 8 9 10 11 12 14 15 +1 7 8 9 10 11 13 14 15 +1 7 8 9 10 12 13 14 15 +1 7 8 9 11 12 13 14 15 +1 7 8 10 11 12 13 14 15 +1 7 9 10 11 12 13 14 15 +1 8 9 10 11 12 13 14 15 +2 3 4 5 6 7 8 9 10 +2 3 4 5 6 7 8 9 11 +2 3 4 5 6 7 8 9 12 +2 3 4 5 6 7 8 9 13 +2 3 4 5 6 7 8 9 14 +2 3 4 5 6 7 8 9 15 +2 3 4 5 6 7 8 10 11 +2 3 4 5 6 7 8 10 12 +2 3 4 5 6 7 8 10 13 +2 3 4 5 6 7 8 10 14 +2 3 4 5 6 7 8 10 15 +2 3 4 5 6 7 8 11 12 +2 3 4 5 6 7 8 11 13 +2 3 4 5 6 7 8 11 14 +2 3 4 5 6 7 8 11 15 +2 3 4 5 6 7 8 12 13 +2 3 4 5 6 7 8 12 14 +2 3 4 5 6 7 8 12 15 +2 3 4 5 6 7 8 13 14 +2 3 4 5 6 7 8 13 15 +2 3 4 5 6 7 8 14 15 +2 3 4 5 6 7 9 10 11 +2 3 4 5 6 7 9 10 12 +2 3 4 5 6 7 9 10 13 +2 3 4 5 6 7 9 10 14 +2 3 4 5 6 7 9 10 15 +2 3 4 5 6 7 9 11 12 +2 3 4 5 6 7 9 11 13 +2 3 4 5 6 7 9 11 14 +2 3 4 5 6 7 9 11 15 +2 3 4 5 6 7 9 12 13 +2 3 4 5 6 7 9 12 14 +2 3 4 5 6 7 9 12 15 +2 3 4 5 6 7 9 13 14 +2 3 4 5 6 7 9 13 15 +2 3 4 5 6 7 9 14 15 +2 3 4 5 6 7 10 11 12 +2 3 4 5 6 7 10 11 13 +2 3 4 5 6 7 10 11 14 +2 3 4 5 6 7 10 11 15 +2 3 4 5 6 7 10 12 13 +2 3 4 5 6 7 10 12 14 +2 3 4 5 6 7 10 12 15 +2 3 4 5 6 7 10 13 14 +2 3 4 5 6 7 10 13 15 +2 3 4 5 6 7 10 14 15 +2 3 4 5 6 7 11 12 13 +2 3 4 5 6 7 11 12 14 +2 3 4 5 6 7 11 12 15 +2 3 4 5 6 7 11 13 14 +2 3 4 5 6 7 11 13 15 +2 3 4 5 6 7 11 14 15 +2 3 4 5 6 7 12 13 14 +2 3 4 5 6 7 12 13 15 +2 3 4 5 6 7 12 14 15 +2 3 4 5 6 7 13 14 15 +2 3 4 5 6 8 9 10 11 +2 3 4 5 6 8 9 10 12 +2 3 4 5 6 8 9 10 13 +2 3 4 5 6 8 9 10 14 +2 3 4 5 6 8 9 10 15 +2 3 4 5 6 8 9 11 12 +2 3 4 5 6 8 9 11 13 +2 3 4 5 6 8 9 11 14 +2 3 4 5 6 8 9 11 15 +2 3 4 5 6 8 9 12 13 +2 3 4 5 6 8 9 12 14 +2 3 4 5 6 8 9 12 15 +2 3 4 5 6 8 9 13 14 +2 3 4 5 6 8 9 13 15 +2 3 4 5 6 8 9 14 15 +2 3 4 5 6 8 10 11 12 +2 3 4 5 6 8 10 11 13 +2 3 4 5 6 8 10 11 14 +2 3 4 5 6 8 10 11 15 +2 3 4 5 6 8 10 12 13 +2 3 4 5 6 8 10 12 14 +2 3 4 5 6 8 10 12 15 +2 3 4 5 6 8 10 13 14 +2 3 4 5 6 8 10 13 15 +2 3 4 5 6 8 10 14 15 +2 3 4 5 6 8 11 12 13 +2 3 4 5 6 8 11 12 14 +2 3 4 5 6 8 11 12 15 +2 3 4 5 6 8 11 13 14 +2 3 4 5 6 8 11 13 15 +2 3 4 5 6 8 11 14 15 +2 3 4 5 6 8 12 13 14 +2 3 4 5 6 8 12 13 15 +2 3 4 5 6 8 12 14 15 +2 3 4 5 6 8 13 14 15 +2 3 4 5 6 9 10 11 12 +2 3 4 5 6 9 10 11 13 +2 3 4 5 6 9 10 11 14 +2 3 4 5 6 9 10 11 15 +2 3 4 5 6 9 10 12 13 +2 3 4 5 6 9 10 12 14 +2 3 4 5 6 9 10 12 15 +2 3 4 5 6 9 10 13 14 +2 3 4 5 6 9 10 13 15 +2 3 4 5 6 9 10 14 15 +2 3 4 5 6 9 11 12 13 +2 3 4 5 6 9 11 12 14 +2 3 4 5 6 9 11 12 15 +2 3 4 5 6 9 11 13 14 +2 3 4 5 6 9 11 13 15 +2 3 4 5 6 9 11 14 15 +2 3 4 5 6 9 12 13 14 +2 3 4 5 6 9 12 13 15 +2 3 4 5 6 9 12 14 15 +2 3 4 5 6 9 13 14 15 +2 3 4 5 6 10 11 12 13 +2 3 4 5 6 10 11 12 14 +2 3 4 5 6 10 11 12 15 +2 3 4 5 6 10 11 13 14 +2 3 4 5 6 10 11 13 15 +2 3 4 5 6 10 11 14 15 +2 3 4 5 6 10 12 13 14 +2 3 4 5 6 10 12 13 15 +2 3 4 5 6 10 12 14 15 +2 3 4 5 6 10 13 14 15 +2 3 4 5 6 11 12 13 14 +2 3 4 5 6 11 12 13 15 +2 3 4 5 6 11 12 14 15 +2 3 4 5 6 11 13 14 15 +2 3 4 5 6 12 13 14 15 +2 3 4 5 7 8 9 10 11 +2 3 4 5 7 8 9 10 12 +2 3 4 5 7 8 9 10 13 +2 3 4 5 7 8 9 10 14 +2 3 4 5 7 8 9 10 15 +2 3 4 5 7 8 9 11 12 +2 3 4 5 7 8 9 11 13 +2 3 4 5 7 8 9 11 14 +2 3 4 5 7 8 9 11 15 +2 3 4 5 7 8 9 12 13 +2 3 4 5 7 8 9 12 14 +2 3 4 5 7 8 9 12 15 +2 3 4 5 7 8 9 13 14 +2 3 4 5 7 8 9 13 15 +2 3 4 5 7 8 9 14 15 +2 3 4 5 7 8 10 11 12 +2 3 4 5 7 8 10 11 13 +2 3 4 5 7 8 10 11 14 +2 3 4 5 7 8 10 11 15 +2 3 4 5 7 8 10 12 13 +2 3 4 5 7 8 10 12 14 +2 3 4 5 7 8 10 12 15 +2 3 4 5 7 8 10 13 14 +2 3 4 5 7 8 10 13 15 +2 3 4 5 7 8 10 14 15 +2 3 4 5 7 8 11 12 13 +2 3 4 5 7 8 11 12 14 +2 3 4 5 7 8 11 12 15 +2 3 4 5 7 8 11 13 14 +2 3 4 5 7 8 11 13 15 +2 3 4 5 7 8 11 14 15 +2 3 4 5 7 8 12 13 14 +2 3 4 5 7 8 12 13 15 +2 3 4 5 7 8 12 14 15 +2 3 4 5 7 8 13 14 15 +2 3 4 5 7 9 10 11 12 +2 3 4 5 7 9 10 11 13 +2 3 4 5 7 9 10 11 14 +2 3 4 5 7 9 10 11 15 +2 3 4 5 7 9 10 12 13 +2 3 4 5 7 9 10 12 14 +2 3 4 5 7 9 10 12 15 +2 3 4 5 7 9 10 13 14 +2 3 4 5 7 9 10 13 15 +2 3 4 5 7 9 10 14 15 +2 3 4 5 7 9 11 12 13 +2 3 4 5 7 9 11 12 14 +2 3 4 5 7 9 11 12 15 +2 3 4 5 7 9 11 13 14 +2 3 4 5 7 9 11 13 15 +2 3 4 5 7 9 11 14 15 +2 3 4 5 7 9 12 13 14 +2 3 4 5 7 9 12 13 15 +2 3 4 5 7 9 12 14 15 +2 3 4 5 7 9 13 14 15 +2 3 4 5 7 10 11 12 13 +2 3 4 5 7 10 11 12 14 +2 3 4 5 7 10 11 12 15 +2 3 4 5 7 10 11 13 14 +2 3 4 5 7 10 11 13 15 +2 3 4 5 7 10 11 14 15 +2 3 4 5 7 10 12 13 14 +2 3 4 5 7 10 12 13 15 +2 3 4 5 7 10 12 14 15 +2 3 4 5 7 10 13 14 15 +2 3 4 5 7 11 12 13 14 +2 3 4 5 7 11 12 13 15 +2 3 4 5 7 11 12 14 15 +2 3 4 5 7 11 13 14 15 +2 3 4 5 7 12 13 14 15 +2 3 4 5 8 9 10 11 12 +2 3 4 5 8 9 10 11 13 +2 3 4 5 8 9 10 11 14 +2 3 4 5 8 9 10 11 15 +2 3 4 5 8 9 10 12 13 +2 3 4 5 8 9 10 12 14 +2 3 4 5 8 9 10 12 15 +2 3 4 5 8 9 10 13 14 +2 3 4 5 8 9 10 13 15 +2 3 4 5 8 9 10 14 15 +2 3 4 5 8 9 11 12 13 +2 3 4 5 8 9 11 12 14 +2 3 4 5 8 9 11 12 15 +2 3 4 5 8 9 11 13 14 +2 3 4 5 8 9 11 13 15 +2 3 4 5 8 9 11 14 15 +2 3 4 5 8 9 12 13 14 +2 3 4 5 8 9 12 13 15 +2 3 4 5 8 9 12 14 15 +2 3 4 5 8 9 13 14 15 +2 3 4 5 8 10 11 12 13 +2 3 4 5 8 10 11 12 14 +2 3 4 5 8 10 11 12 15 +2 3 4 5 8 10 11 13 14 +2 3 4 5 8 10 11 13 15 +2 3 4 5 8 10 11 14 15 +2 3 4 5 8 10 12 13 14 +2 3 4 5 8 10 12 13 15 +2 3 4 5 8 10 12 14 15 +2 3 4 5 8 10 13 14 15 +2 3 4 5 8 11 12 13 14 +2 3 4 5 8 11 12 13 15 +2 3 4 5 8 11 12 14 15 +2 3 4 5 8 11 13 14 15 +2 3 4 5 8 12 13 14 15 +2 3 4 5 9 10 11 12 13 +2 3 4 5 9 10 11 12 14 +2 3 4 5 9 10 11 12 15 +2 3 4 5 9 10 11 13 14 +2 3 4 5 9 10 11 13 15 +2 3 4 5 9 10 11 14 15 +2 3 4 5 9 10 12 13 14 +2 3 4 5 9 10 12 13 15 +2 3 4 5 9 10 12 14 15 +2 3 4 5 9 10 13 14 15 +2 3 4 5 9 11 12 13 14 +2 3 4 5 9 11 12 13 15 +2 3 4 5 9 11 12 14 15 +2 3 4 5 9 11 13 14 15 +2 3 4 5 9 12 13 14 15 +2 3 4 5 10 11 12 13 14 +2 3 4 5 10 11 12 13 15 +2 3 4 5 10 11 12 14 15 +2 3 4 5 10 11 13 14 15 +2 3 4 5 10 12 13 14 15 +2 3 4 5 11 12 13 14 15 +2 3 4 6 7 8 9 10 11 +2 3 4 6 7 8 9 10 12 +2 3 4 6 7 8 9 10 13 +2 3 4 6 7 8 9 10 14 +2 3 4 6 7 8 9 10 15 +2 3 4 6 7 8 9 11 12 +2 3 4 6 7 8 9 11 13 +2 3 4 6 7 8 9 11 14 +2 3 4 6 7 8 9 11 15 +2 3 4 6 7 8 9 12 13 +2 3 4 6 7 8 9 12 14 +2 3 4 6 7 8 9 12 15 +2 3 4 6 7 8 9 13 14 +2 3 4 6 7 8 9 13 15 +2 3 4 6 7 8 9 14 15 +2 3 4 6 7 8 10 11 12 +2 3 4 6 7 8 10 11 13 +2 3 4 6 7 8 10 11 14 +2 3 4 6 7 8 10 11 15 +2 3 4 6 7 8 10 12 13 +2 3 4 6 7 8 10 12 14 +2 3 4 6 7 8 10 12 15 +2 3 4 6 7 8 10 13 14 +2 3 4 6 7 8 10 13 15 +2 3 4 6 7 8 10 14 15 +2 3 4 6 7 8 11 12 13 +2 3 4 6 7 8 11 12 14 +2 3 4 6 7 8 11 12 15 +2 3 4 6 7 8 11 13 14 +2 3 4 6 7 8 11 13 15 +2 3 4 6 7 8 11 14 15 +2 3 4 6 7 8 12 13 14 +2 3 4 6 7 8 12 13 15 +2 3 4 6 7 8 12 14 15 +2 3 4 6 7 8 13 14 15 +2 3 4 6 7 9 10 11 12 +2 3 4 6 7 9 10 11 13 +2 3 4 6 7 9 10 11 14 +2 3 4 6 7 9 10 11 15 +2 3 4 6 7 9 10 12 13 +2 3 4 6 7 9 10 12 14 +2 3 4 6 7 9 10 12 15 +2 3 4 6 7 9 10 13 14 +2 3 4 6 7 9 10 13 15 +2 3 4 6 7 9 10 14 15 +2 3 4 6 7 9 11 12 13 +2 3 4 6 7 9 11 12 14 +2 3 4 6 7 9 11 12 15 +2 3 4 6 7 9 11 13 14 +2 3 4 6 7 9 11 13 15 +2 3 4 6 7 9 11 14 15 +2 3 4 6 7 9 12 13 14 +2 3 4 6 7 9 12 13 15 +2 3 4 6 7 9 12 14 15 +2 3 4 6 7 9 13 14 15 +2 3 4 6 7 10 11 12 13 +2 3 4 6 7 10 11 12 14 +2 3 4 6 7 10 11 12 15 +2 3 4 6 7 10 11 13 14 +2 3 4 6 7 10 11 13 15 +2 3 4 6 7 10 11 14 15 +2 3 4 6 7 10 12 13 14 +2 3 4 6 7 10 12 13 15 +2 3 4 6 7 10 12 14 15 +2 3 4 6 7 10 13 14 15 +2 3 4 6 7 11 12 13 14 +2 3 4 6 7 11 12 13 15 +2 3 4 6 7 11 12 14 15 +2 3 4 6 7 11 13 14 15 +2 3 4 6 7 12 13 14 15 +2 3 4 6 8 9 10 11 12 +2 3 4 6 8 9 10 11 13 +2 3 4 6 8 9 10 11 14 +2 3 4 6 8 9 10 11 15 +2 3 4 6 8 9 10 12 13 +2 3 4 6 8 9 10 12 14 +2 3 4 6 8 9 10 12 15 +2 3 4 6 8 9 10 13 14 +2 3 4 6 8 9 10 13 15 +2 3 4 6 8 9 10 14 15 +2 3 4 6 8 9 11 12 13 +2 3 4 6 8 9 11 12 14 +2 3 4 6 8 9 11 12 15 +2 3 4 6 8 9 11 13 14 +2 3 4 6 8 9 11 13 15 +2 3 4 6 8 9 11 14 15 +2 3 4 6 8 9 12 13 14 +2 3 4 6 8 9 12 13 15 +2 3 4 6 8 9 12 14 15 +2 3 4 6 8 9 13 14 15 +2 3 4 6 8 10 11 12 13 +2 3 4 6 8 10 11 12 14 +2 3 4 6 8 10 11 12 15 +2 3 4 6 8 10 11 13 14 +2 3 4 6 8 10 11 13 15 +2 3 4 6 8 10 11 14 15 +2 3 4 6 8 10 12 13 14 +2 3 4 6 8 10 12 13 15 +2 3 4 6 8 10 12 14 15 +2 3 4 6 8 10 13 14 15 +2 3 4 6 8 11 12 13 14 +2 3 4 6 8 11 12 13 15 +2 3 4 6 8 11 12 14 15 +2 3 4 6 8 11 13 14 15 +2 3 4 6 8 12 13 14 15 +2 3 4 6 9 10 11 12 13 +2 3 4 6 9 10 11 12 14 +2 3 4 6 9 10 11 12 15 +2 3 4 6 9 10 11 13 14 +2 3 4 6 9 10 11 13 15 +2 3 4 6 9 10 11 14 15 +2 3 4 6 9 10 12 13 14 +2 3 4 6 9 10 12 13 15 +2 3 4 6 9 10 12 14 15 +2 3 4 6 9 10 13 14 15 +2 3 4 6 9 11 12 13 14 +2 3 4 6 9 11 12 13 15 +2 3 4 6 9 11 12 14 15 +2 3 4 6 9 11 13 14 15 +2 3 4 6 9 12 13 14 15 +2 3 4 6 10 11 12 13 14 +2 3 4 6 10 11 12 13 15 +2 3 4 6 10 11 12 14 15 +2 3 4 6 10 11 13 14 15 +2 3 4 6 10 12 13 14 15 +2 3 4 6 11 12 13 14 15 +2 3 4 7 8 9 10 11 12 +2 3 4 7 8 9 10 11 13 +2 3 4 7 8 9 10 11 14 +2 3 4 7 8 9 10 11 15 +2 3 4 7 8 9 10 12 13 +2 3 4 7 8 9 10 12 14 +2 3 4 7 8 9 10 12 15 +2 3 4 7 8 9 10 13 14 +2 3 4 7 8 9 10 13 15 +2 3 4 7 8 9 10 14 15 +2 3 4 7 8 9 11 12 13 +2 3 4 7 8 9 11 12 14 +2 3 4 7 8 9 11 12 15 +2 3 4 7 8 9 11 13 14 +2 3 4 7 8 9 11 13 15 +2 3 4 7 8 9 11 14 15 +2 3 4 7 8 9 12 13 14 +2 3 4 7 8 9 12 13 15 +2 3 4 7 8 9 12 14 15 +2 3 4 7 8 9 13 14 15 +2 3 4 7 8 10 11 12 13 +2 3 4 7 8 10 11 12 14 +2 3 4 7 8 10 11 12 15 +2 3 4 7 8 10 11 13 14 +2 3 4 7 8 10 11 13 15 +2 3 4 7 8 10 11 14 15 +2 3 4 7 8 10 12 13 14 +2 3 4 7 8 10 12 13 15 +2 3 4 7 8 10 12 14 15 +2 3 4 7 8 10 13 14 15 +2 3 4 7 8 11 12 13 14 +2 3 4 7 8 11 12 13 15 +2 3 4 7 8 11 12 14 15 +2 3 4 7 8 11 13 14 15 +2 3 4 7 8 12 13 14 15 +2 3 4 7 9 10 11 12 13 +2 3 4 7 9 10 11 12 14 +2 3 4 7 9 10 11 12 15 +2 3 4 7 9 10 11 13 14 +2 3 4 7 9 10 11 13 15 +2 3 4 7 9 10 11 14 15 +2 3 4 7 9 10 12 13 14 +2 3 4 7 9 10 12 13 15 +2 3 4 7 9 10 12 14 15 +2 3 4 7 9 10 13 14 15 +2 3 4 7 9 11 12 13 14 +2 3 4 7 9 11 12 13 15 +2 3 4 7 9 11 12 14 15 +2 3 4 7 9 11 13 14 15 +2 3 4 7 9 12 13 14 15 +2 3 4 7 10 11 12 13 14 +2 3 4 7 10 11 12 13 15 +2 3 4 7 10 11 12 14 15 +2 3 4 7 10 11 13 14 15 +2 3 4 7 10 12 13 14 15 +2 3 4 7 11 12 13 14 15 +2 3 4 8 9 10 11 12 13 +2 3 4 8 9 10 11 12 14 +2 3 4 8 9 10 11 12 15 +2 3 4 8 9 10 11 13 14 +2 3 4 8 9 10 11 13 15 +2 3 4 8 9 10 11 14 15 +2 3 4 8 9 10 12 13 14 +2 3 4 8 9 10 12 13 15 +2 3 4 8 9 10 12 14 15 +2 3 4 8 9 10 13 14 15 +2 3 4 8 9 11 12 13 14 +2 3 4 8 9 11 12 13 15 +2 3 4 8 9 11 12 14 15 +2 3 4 8 9 11 13 14 15 +2 3 4 8 9 12 13 14 15 +2 3 4 8 10 11 12 13 14 +2 3 4 8 10 11 12 13 15 +2 3 4 8 10 11 12 14 15 +2 3 4 8 10 11 13 14 15 +2 3 4 8 10 12 13 14 15 +2 3 4 8 11 12 13 14 15 +2 3 4 9 10 11 12 13 14 +2 3 4 9 10 11 12 13 15 +2 3 4 9 10 11 12 14 15 +2 3 4 9 10 11 13 14 15 +2 3 4 9 10 12 13 14 15 +2 3 4 9 11 12 13 14 15 +2 3 4 10 11 12 13 14 15 +2 3 5 6 7 8 9 10 11 +2 3 5 6 7 8 9 10 12 +2 3 5 6 7 8 9 10 13 +2 3 5 6 7 8 9 10 14 +2 3 5 6 7 8 9 10 15 +2 3 5 6 7 8 9 11 12 +2 3 5 6 7 8 9 11 13 +2 3 5 6 7 8 9 11 14 +2 3 5 6 7 8 9 11 15 +2 3 5 6 7 8 9 12 13 +2 3 5 6 7 8 9 12 14 +2 3 5 6 7 8 9 12 15 +2 3 5 6 7 8 9 13 14 +2 3 5 6 7 8 9 13 15 +2 3 5 6 7 8 9 14 15 +2 3 5 6 7 8 10 11 12 +2 3 5 6 7 8 10 11 13 +2 3 5 6 7 8 10 11 14 +2 3 5 6 7 8 10 11 15 +2 3 5 6 7 8 10 12 13 +2 3 5 6 7 8 10 12 14 +2 3 5 6 7 8 10 12 15 +2 3 5 6 7 8 10 13 14 +2 3 5 6 7 8 10 13 15 +2 3 5 6 7 8 10 14 15 +2 3 5 6 7 8 11 12 13 +2 3 5 6 7 8 11 12 14 +2 3 5 6 7 8 11 12 15 +2 3 5 6 7 8 11 13 14 +2 3 5 6 7 8 11 13 15 +2 3 5 6 7 8 11 14 15 +2 3 5 6 7 8 12 13 14 +2 3 5 6 7 8 12 13 15 +2 3 5 6 7 8 12 14 15 +2 3 5 6 7 8 13 14 15 +2 3 5 6 7 9 10 11 12 +2 3 5 6 7 9 10 11 13 +2 3 5 6 7 9 10 11 14 +2 3 5 6 7 9 10 11 15 +2 3 5 6 7 9 10 12 13 +2 3 5 6 7 9 10 12 14 +2 3 5 6 7 9 10 12 15 +2 3 5 6 7 9 10 13 14 +2 3 5 6 7 9 10 13 15 +2 3 5 6 7 9 10 14 15 +2 3 5 6 7 9 11 12 13 +2 3 5 6 7 9 11 12 14 +2 3 5 6 7 9 11 12 15 +2 3 5 6 7 9 11 13 14 +2 3 5 6 7 9 11 13 15 +2 3 5 6 7 9 11 14 15 +2 3 5 6 7 9 12 13 14 +2 3 5 6 7 9 12 13 15 +2 3 5 6 7 9 12 14 15 +2 3 5 6 7 9 13 14 15 +2 3 5 6 7 10 11 12 13 +2 3 5 6 7 10 11 12 14 +2 3 5 6 7 10 11 12 15 +2 3 5 6 7 10 11 13 14 +2 3 5 6 7 10 11 13 15 +2 3 5 6 7 10 11 14 15 +2 3 5 6 7 10 12 13 14 +2 3 5 6 7 10 12 13 15 +2 3 5 6 7 10 12 14 15 +2 3 5 6 7 10 13 14 15 +2 3 5 6 7 11 12 13 14 +2 3 5 6 7 11 12 13 15 +2 3 5 6 7 11 12 14 15 +2 3 5 6 7 11 13 14 15 +2 3 5 6 7 12 13 14 15 +2 3 5 6 8 9 10 11 12 +2 3 5 6 8 9 10 11 13 +2 3 5 6 8 9 10 11 14 +2 3 5 6 8 9 10 11 15 +2 3 5 6 8 9 10 12 13 +2 3 5 6 8 9 10 12 14 +2 3 5 6 8 9 10 12 15 +2 3 5 6 8 9 10 13 14 +2 3 5 6 8 9 10 13 15 +2 3 5 6 8 9 10 14 15 +2 3 5 6 8 9 11 12 13 +2 3 5 6 8 9 11 12 14 +2 3 5 6 8 9 11 12 15 +2 3 5 6 8 9 11 13 14 +2 3 5 6 8 9 11 13 15 +2 3 5 6 8 9 11 14 15 +2 3 5 6 8 9 12 13 14 +2 3 5 6 8 9 12 13 15 +2 3 5 6 8 9 12 14 15 +2 3 5 6 8 9 13 14 15 +2 3 5 6 8 10 11 12 13 +2 3 5 6 8 10 11 12 14 +2 3 5 6 8 10 11 12 15 +2 3 5 6 8 10 11 13 14 +2 3 5 6 8 10 11 13 15 +2 3 5 6 8 10 11 14 15 +2 3 5 6 8 10 12 13 14 +2 3 5 6 8 10 12 13 15 +2 3 5 6 8 10 12 14 15 +2 3 5 6 8 10 13 14 15 +2 3 5 6 8 11 12 13 14 +2 3 5 6 8 11 12 13 15 +2 3 5 6 8 11 12 14 15 +2 3 5 6 8 11 13 14 15 +2 3 5 6 8 12 13 14 15 +2 3 5 6 9 10 11 12 13 +2 3 5 6 9 10 11 12 14 +2 3 5 6 9 10 11 12 15 +2 3 5 6 9 10 11 13 14 +2 3 5 6 9 10 11 13 15 +2 3 5 6 9 10 11 14 15 +2 3 5 6 9 10 12 13 14 +2 3 5 6 9 10 12 13 15 +2 3 5 6 9 10 12 14 15 +2 3 5 6 9 10 13 14 15 +2 3 5 6 9 11 12 13 14 +2 3 5 6 9 11 12 13 15 +2 3 5 6 9 11 12 14 15 +2 3 5 6 9 11 13 14 15 +2 3 5 6 9 12 13 14 15 +2 3 5 6 10 11 12 13 14 +2 3 5 6 10 11 12 13 15 +2 3 5 6 10 11 12 14 15 +2 3 5 6 10 11 13 14 15 +2 3 5 6 10 12 13 14 15 +2 3 5 6 11 12 13 14 15 +2 3 5 7 8 9 10 11 12 +2 3 5 7 8 9 10 11 13 +2 3 5 7 8 9 10 11 14 +2 3 5 7 8 9 10 11 15 +2 3 5 7 8 9 10 12 13 +2 3 5 7 8 9 10 12 14 +2 3 5 7 8 9 10 12 15 +2 3 5 7 8 9 10 13 14 +2 3 5 7 8 9 10 13 15 +2 3 5 7 8 9 10 14 15 +2 3 5 7 8 9 11 12 13 +2 3 5 7 8 9 11 12 14 +2 3 5 7 8 9 11 12 15 +2 3 5 7 8 9 11 13 14 +2 3 5 7 8 9 11 13 15 +2 3 5 7 8 9 11 14 15 +2 3 5 7 8 9 12 13 14 +2 3 5 7 8 9 12 13 15 +2 3 5 7 8 9 12 14 15 +2 3 5 7 8 9 13 14 15 +2 3 5 7 8 10 11 12 13 +2 3 5 7 8 10 11 12 14 +2 3 5 7 8 10 11 12 15 +2 3 5 7 8 10 11 13 14 +2 3 5 7 8 10 11 13 15 +2 3 5 7 8 10 11 14 15 +2 3 5 7 8 10 12 13 14 +2 3 5 7 8 10 12 13 15 +2 3 5 7 8 10 12 14 15 +2 3 5 7 8 10 13 14 15 +2 3 5 7 8 11 12 13 14 +2 3 5 7 8 11 12 13 15 +2 3 5 7 8 11 12 14 15 +2 3 5 7 8 11 13 14 15 +2 3 5 7 8 12 13 14 15 +2 3 5 7 9 10 11 12 13 +2 3 5 7 9 10 11 12 14 +2 3 5 7 9 10 11 12 15 +2 3 5 7 9 10 11 13 14 +2 3 5 7 9 10 11 13 15 +2 3 5 7 9 10 11 14 15 +2 3 5 7 9 10 12 13 14 +2 3 5 7 9 10 12 13 15 +2 3 5 7 9 10 12 14 15 +2 3 5 7 9 10 13 14 15 +2 3 5 7 9 11 12 13 14 +2 3 5 7 9 11 12 13 15 +2 3 5 7 9 11 12 14 15 +2 3 5 7 9 11 13 14 15 +2 3 5 7 9 12 13 14 15 +2 3 5 7 10 11 12 13 14 +2 3 5 7 10 11 12 13 15 +2 3 5 7 10 11 12 14 15 +2 3 5 7 10 11 13 14 15 +2 3 5 7 10 12 13 14 15 +2 3 5 7 11 12 13 14 15 +2 3 5 8 9 10 11 12 13 +2 3 5 8 9 10 11 12 14 +2 3 5 8 9 10 11 12 15 +2 3 5 8 9 10 11 13 14 +2 3 5 8 9 10 11 13 15 +2 3 5 8 9 10 11 14 15 +2 3 5 8 9 10 12 13 14 +2 3 5 8 9 10 12 13 15 +2 3 5 8 9 10 12 14 15 +2 3 5 8 9 10 13 14 15 +2 3 5 8 9 11 12 13 14 +2 3 5 8 9 11 12 13 15 +2 3 5 8 9 11 12 14 15 +2 3 5 8 9 11 13 14 15 +2 3 5 8 9 12 13 14 15 +2 3 5 8 10 11 12 13 14 +2 3 5 8 10 11 12 13 15 +2 3 5 8 10 11 12 14 15 +2 3 5 8 10 11 13 14 15 +2 3 5 8 10 12 13 14 15 +2 3 5 8 11 12 13 14 15 +2 3 5 9 10 11 12 13 14 +2 3 5 9 10 11 12 13 15 +2 3 5 9 10 11 12 14 15 +2 3 5 9 10 11 13 14 15 +2 3 5 9 10 12 13 14 15 +2 3 5 9 11 12 13 14 15 +2 3 5 10 11 12 13 14 15 +2 3 6 7 8 9 10 11 12 +2 3 6 7 8 9 10 11 13 +2 3 6 7 8 9 10 11 14 +2 3 6 7 8 9 10 11 15 +2 3 6 7 8 9 10 12 13 +2 3 6 7 8 9 10 12 14 +2 3 6 7 8 9 10 12 15 +2 3 6 7 8 9 10 13 14 +2 3 6 7 8 9 10 13 15 +2 3 6 7 8 9 10 14 15 +2 3 6 7 8 9 11 12 13 +2 3 6 7 8 9 11 12 14 +2 3 6 7 8 9 11 12 15 +2 3 6 7 8 9 11 13 14 +2 3 6 7 8 9 11 13 15 +2 3 6 7 8 9 11 14 15 +2 3 6 7 8 9 12 13 14 +2 3 6 7 8 9 12 13 15 +2 3 6 7 8 9 12 14 15 +2 3 6 7 8 9 13 14 15 +2 3 6 7 8 10 11 12 13 +2 3 6 7 8 10 11 12 14 +2 3 6 7 8 10 11 12 15 +2 3 6 7 8 10 11 13 14 +2 3 6 7 8 10 11 13 15 +2 3 6 7 8 10 11 14 15 +2 3 6 7 8 10 12 13 14 +2 3 6 7 8 10 12 13 15 +2 3 6 7 8 10 12 14 15 +2 3 6 7 8 10 13 14 15 +2 3 6 7 8 11 12 13 14 +2 3 6 7 8 11 12 13 15 +2 3 6 7 8 11 12 14 15 +2 3 6 7 8 11 13 14 15 +2 3 6 7 8 12 13 14 15 +2 3 6 7 9 10 11 12 13 +2 3 6 7 9 10 11 12 14 +2 3 6 7 9 10 11 12 15 +2 3 6 7 9 10 11 13 14 +2 3 6 7 9 10 11 13 15 +2 3 6 7 9 10 11 14 15 +2 3 6 7 9 10 12 13 14 +2 3 6 7 9 10 12 13 15 +2 3 6 7 9 10 12 14 15 +2 3 6 7 9 10 13 14 15 +2 3 6 7 9 11 12 13 14 +2 3 6 7 9 11 12 13 15 +2 3 6 7 9 11 12 14 15 +2 3 6 7 9 11 13 14 15 +2 3 6 7 9 12 13 14 15 +2 3 6 7 10 11 12 13 14 +2 3 6 7 10 11 12 13 15 +2 3 6 7 10 11 12 14 15 +2 3 6 7 10 11 13 14 15 +2 3 6 7 10 12 13 14 15 +2 3 6 7 11 12 13 14 15 +2 3 6 8 9 10 11 12 13 +2 3 6 8 9 10 11 12 14 +2 3 6 8 9 10 11 12 15 +2 3 6 8 9 10 11 13 14 +2 3 6 8 9 10 11 13 15 +2 3 6 8 9 10 11 14 15 +2 3 6 8 9 10 12 13 14 +2 3 6 8 9 10 12 13 15 +2 3 6 8 9 10 12 14 15 +2 3 6 8 9 10 13 14 15 +2 3 6 8 9 11 12 13 14 +2 3 6 8 9 11 12 13 15 +2 3 6 8 9 11 12 14 15 +2 3 6 8 9 11 13 14 15 +2 3 6 8 9 12 13 14 15 +2 3 6 8 10 11 12 13 14 +2 3 6 8 10 11 12 13 15 +2 3 6 8 10 11 12 14 15 +2 3 6 8 10 11 13 14 15 +2 3 6 8 10 12 13 14 15 +2 3 6 8 11 12 13 14 15 +2 3 6 9 10 11 12 13 14 +2 3 6 9 10 11 12 13 15 +2 3 6 9 10 11 12 14 15 +2 3 6 9 10 11 13 14 15 +2 3 6 9 10 12 13 14 15 +2 3 6 9 11 12 13 14 15 +2 3 6 10 11 12 13 14 15 +2 3 7 8 9 10 11 12 13 +2 3 7 8 9 10 11 12 14 +2 3 7 8 9 10 11 12 15 +2 3 7 8 9 10 11 13 14 +2 3 7 8 9 10 11 13 15 +2 3 7 8 9 10 11 14 15 +2 3 7 8 9 10 12 13 14 +2 3 7 8 9 10 12 13 15 +2 3 7 8 9 10 12 14 15 +2 3 7 8 9 10 13 14 15 +2 3 7 8 9 11 12 13 14 +2 3 7 8 9 11 12 13 15 +2 3 7 8 9 11 12 14 15 +2 3 7 8 9 11 13 14 15 +2 3 7 8 9 12 13 14 15 +2 3 7 8 10 11 12 13 14 +2 3 7 8 10 11 12 13 15 +2 3 7 8 10 11 12 14 15 +2 3 7 8 10 11 13 14 15 +2 3 7 8 10 12 13 14 15 +2 3 7 8 11 12 13 14 15 +2 3 7 9 10 11 12 13 14 +2 3 7 9 10 11 12 13 15 +2 3 7 9 10 11 12 14 15 +2 3 7 9 10 11 13 14 15 +2 3 7 9 10 12 13 14 15 +2 3 7 9 11 12 13 14 15 +2 3 7 10 11 12 13 14 15 +2 3 8 9 10 11 12 13 14 +2 3 8 9 10 11 12 13 15 +2 3 8 9 10 11 12 14 15 +2 3 8 9 10 11 13 14 15 +2 3 8 9 10 12 13 14 15 +2 3 8 9 11 12 13 14 15 +2 3 8 10 11 12 13 14 15 +2 3 9 10 11 12 13 14 15 +2 4 5 6 7 8 9 10 11 +2 4 5 6 7 8 9 10 12 +2 4 5 6 7 8 9 10 13 +2 4 5 6 7 8 9 10 14 +2 4 5 6 7 8 9 10 15 +2 4 5 6 7 8 9 11 12 +2 4 5 6 7 8 9 11 13 +2 4 5 6 7 8 9 11 14 +2 4 5 6 7 8 9 11 15 +2 4 5 6 7 8 9 12 13 +2 4 5 6 7 8 9 12 14 +2 4 5 6 7 8 9 12 15 +2 4 5 6 7 8 9 13 14 +2 4 5 6 7 8 9 13 15 +2 4 5 6 7 8 9 14 15 +2 4 5 6 7 8 10 11 12 +2 4 5 6 7 8 10 11 13 +2 4 5 6 7 8 10 11 14 +2 4 5 6 7 8 10 11 15 +2 4 5 6 7 8 10 12 13 +2 4 5 6 7 8 10 12 14 +2 4 5 6 7 8 10 12 15 +2 4 5 6 7 8 10 13 14 +2 4 5 6 7 8 10 13 15 +2 4 5 6 7 8 10 14 15 +2 4 5 6 7 8 11 12 13 +2 4 5 6 7 8 11 12 14 +2 4 5 6 7 8 11 12 15 +2 4 5 6 7 8 11 13 14 +2 4 5 6 7 8 11 13 15 +2 4 5 6 7 8 11 14 15 +2 4 5 6 7 8 12 13 14 +2 4 5 6 7 8 12 13 15 +2 4 5 6 7 8 12 14 15 +2 4 5 6 7 8 13 14 15 +2 4 5 6 7 9 10 11 12 +2 4 5 6 7 9 10 11 13 +2 4 5 6 7 9 10 11 14 +2 4 5 6 7 9 10 11 15 +2 4 5 6 7 9 10 12 13 +2 4 5 6 7 9 10 12 14 +2 4 5 6 7 9 10 12 15 +2 4 5 6 7 9 10 13 14 +2 4 5 6 7 9 10 13 15 +2 4 5 6 7 9 10 14 15 +2 4 5 6 7 9 11 12 13 +2 4 5 6 7 9 11 12 14 +2 4 5 6 7 9 11 12 15 +2 4 5 6 7 9 11 13 14 +2 4 5 6 7 9 11 13 15 +2 4 5 6 7 9 11 14 15 +2 4 5 6 7 9 12 13 14 +2 4 5 6 7 9 12 13 15 +2 4 5 6 7 9 12 14 15 +2 4 5 6 7 9 13 14 15 +2 4 5 6 7 10 11 12 13 +2 4 5 6 7 10 11 12 14 +2 4 5 6 7 10 11 12 15 +2 4 5 6 7 10 11 13 14 +2 4 5 6 7 10 11 13 15 +2 4 5 6 7 10 11 14 15 +2 4 5 6 7 10 12 13 14 +2 4 5 6 7 10 12 13 15 +2 4 5 6 7 10 12 14 15 +2 4 5 6 7 10 13 14 15 +2 4 5 6 7 11 12 13 14 +2 4 5 6 7 11 12 13 15 +2 4 5 6 7 11 12 14 15 +2 4 5 6 7 11 13 14 15 +2 4 5 6 7 12 13 14 15 +2 4 5 6 8 9 10 11 12 +2 4 5 6 8 9 10 11 13 +2 4 5 6 8 9 10 11 14 +2 4 5 6 8 9 10 11 15 +2 4 5 6 8 9 10 12 13 +2 4 5 6 8 9 10 12 14 +2 4 5 6 8 9 10 12 15 +2 4 5 6 8 9 10 13 14 +2 4 5 6 8 9 10 13 15 +2 4 5 6 8 9 10 14 15 +2 4 5 6 8 9 11 12 13 +2 4 5 6 8 9 11 12 14 +2 4 5 6 8 9 11 12 15 +2 4 5 6 8 9 11 13 14 +2 4 5 6 8 9 11 13 15 +2 4 5 6 8 9 11 14 15 +2 4 5 6 8 9 12 13 14 +2 4 5 6 8 9 12 13 15 +2 4 5 6 8 9 12 14 15 +2 4 5 6 8 9 13 14 15 +2 4 5 6 8 10 11 12 13 +2 4 5 6 8 10 11 12 14 +2 4 5 6 8 10 11 12 15 +2 4 5 6 8 10 11 13 14 +2 4 5 6 8 10 11 13 15 +2 4 5 6 8 10 11 14 15 +2 4 5 6 8 10 12 13 14 +2 4 5 6 8 10 12 13 15 +2 4 5 6 8 10 12 14 15 +2 4 5 6 8 10 13 14 15 +2 4 5 6 8 11 12 13 14 +2 4 5 6 8 11 12 13 15 +2 4 5 6 8 11 12 14 15 +2 4 5 6 8 11 13 14 15 +2 4 5 6 8 12 13 14 15 +2 4 5 6 9 10 11 12 13 +2 4 5 6 9 10 11 12 14 +2 4 5 6 9 10 11 12 15 +2 4 5 6 9 10 11 13 14 +2 4 5 6 9 10 11 13 15 +2 4 5 6 9 10 11 14 15 +2 4 5 6 9 10 12 13 14 +2 4 5 6 9 10 12 13 15 +2 4 5 6 9 10 12 14 15 +2 4 5 6 9 10 13 14 15 +2 4 5 6 9 11 12 13 14 +2 4 5 6 9 11 12 13 15 +2 4 5 6 9 11 12 14 15 +2 4 5 6 9 11 13 14 15 +2 4 5 6 9 12 13 14 15 +2 4 5 6 10 11 12 13 14 +2 4 5 6 10 11 12 13 15 +2 4 5 6 10 11 12 14 15 +2 4 5 6 10 11 13 14 15 +2 4 5 6 10 12 13 14 15 +2 4 5 6 11 12 13 14 15 +2 4 5 7 8 9 10 11 12 +2 4 5 7 8 9 10 11 13 +2 4 5 7 8 9 10 11 14 +2 4 5 7 8 9 10 11 15 +2 4 5 7 8 9 10 12 13 +2 4 5 7 8 9 10 12 14 +2 4 5 7 8 9 10 12 15 +2 4 5 7 8 9 10 13 14 +2 4 5 7 8 9 10 13 15 +2 4 5 7 8 9 10 14 15 +2 4 5 7 8 9 11 12 13 +2 4 5 7 8 9 11 12 14 +2 4 5 7 8 9 11 12 15 +2 4 5 7 8 9 11 13 14 +2 4 5 7 8 9 11 13 15 +2 4 5 7 8 9 11 14 15 +2 4 5 7 8 9 12 13 14 +2 4 5 7 8 9 12 13 15 +2 4 5 7 8 9 12 14 15 +2 4 5 7 8 9 13 14 15 +2 4 5 7 8 10 11 12 13 +2 4 5 7 8 10 11 12 14 +2 4 5 7 8 10 11 12 15 +2 4 5 7 8 10 11 13 14 +2 4 5 7 8 10 11 13 15 +2 4 5 7 8 10 11 14 15 +2 4 5 7 8 10 12 13 14 +2 4 5 7 8 10 12 13 15 +2 4 5 7 8 10 12 14 15 +2 4 5 7 8 10 13 14 15 +2 4 5 7 8 11 12 13 14 +2 4 5 7 8 11 12 13 15 +2 4 5 7 8 11 12 14 15 +2 4 5 7 8 11 13 14 15 +2 4 5 7 8 12 13 14 15 +2 4 5 7 9 10 11 12 13 +2 4 5 7 9 10 11 12 14 +2 4 5 7 9 10 11 12 15 +2 4 5 7 9 10 11 13 14 +2 4 5 7 9 10 11 13 15 +2 4 5 7 9 10 11 14 15 +2 4 5 7 9 10 12 13 14 +2 4 5 7 9 10 12 13 15 +2 4 5 7 9 10 12 14 15 +2 4 5 7 9 10 13 14 15 +2 4 5 7 9 11 12 13 14 +2 4 5 7 9 11 12 13 15 +2 4 5 7 9 11 12 14 15 +2 4 5 7 9 11 13 14 15 +2 4 5 7 9 12 13 14 15 +2 4 5 7 10 11 12 13 14 +2 4 5 7 10 11 12 13 15 +2 4 5 7 10 11 12 14 15 +2 4 5 7 10 11 13 14 15 +2 4 5 7 10 12 13 14 15 +2 4 5 7 11 12 13 14 15 +2 4 5 8 9 10 11 12 13 +2 4 5 8 9 10 11 12 14 +2 4 5 8 9 10 11 12 15 +2 4 5 8 9 10 11 13 14 +2 4 5 8 9 10 11 13 15 +2 4 5 8 9 10 11 14 15 +2 4 5 8 9 10 12 13 14 +2 4 5 8 9 10 12 13 15 +2 4 5 8 9 10 12 14 15 +2 4 5 8 9 10 13 14 15 +2 4 5 8 9 11 12 13 14 +2 4 5 8 9 11 12 13 15 +2 4 5 8 9 11 12 14 15 +2 4 5 8 9 11 13 14 15 +2 4 5 8 9 12 13 14 15 +2 4 5 8 10 11 12 13 14 +2 4 5 8 10 11 12 13 15 +2 4 5 8 10 11 12 14 15 +2 4 5 8 10 11 13 14 15 +2 4 5 8 10 12 13 14 15 +2 4 5 8 11 12 13 14 15 +2 4 5 9 10 11 12 13 14 +2 4 5 9 10 11 12 13 15 +2 4 5 9 10 11 12 14 15 +2 4 5 9 10 11 13 14 15 +2 4 5 9 10 12 13 14 15 +2 4 5 9 11 12 13 14 15 +2 4 5 10 11 12 13 14 15 +2 4 6 7 8 9 10 11 12 +2 4 6 7 8 9 10 11 13 +2 4 6 7 8 9 10 11 14 +2 4 6 7 8 9 10 11 15 +2 4 6 7 8 9 10 12 13 +2 4 6 7 8 9 10 12 14 +2 4 6 7 8 9 10 12 15 +2 4 6 7 8 9 10 13 14 +2 4 6 7 8 9 10 13 15 +2 4 6 7 8 9 10 14 15 +2 4 6 7 8 9 11 12 13 +2 4 6 7 8 9 11 12 14 +2 4 6 7 8 9 11 12 15 +2 4 6 7 8 9 11 13 14 +2 4 6 7 8 9 11 13 15 +2 4 6 7 8 9 11 14 15 +2 4 6 7 8 9 12 13 14 +2 4 6 7 8 9 12 13 15 +2 4 6 7 8 9 12 14 15 +2 4 6 7 8 9 13 14 15 +2 4 6 7 8 10 11 12 13 +2 4 6 7 8 10 11 12 14 +2 4 6 7 8 10 11 12 15 +2 4 6 7 8 10 11 13 14 +2 4 6 7 8 10 11 13 15 +2 4 6 7 8 10 11 14 15 +2 4 6 7 8 10 12 13 14 +2 4 6 7 8 10 12 13 15 +2 4 6 7 8 10 12 14 15 +2 4 6 7 8 10 13 14 15 +2 4 6 7 8 11 12 13 14 +2 4 6 7 8 11 12 13 15 +2 4 6 7 8 11 12 14 15 +2 4 6 7 8 11 13 14 15 +2 4 6 7 8 12 13 14 15 +2 4 6 7 9 10 11 12 13 +2 4 6 7 9 10 11 12 14 +2 4 6 7 9 10 11 12 15 +2 4 6 7 9 10 11 13 14 +2 4 6 7 9 10 11 13 15 +2 4 6 7 9 10 11 14 15 +2 4 6 7 9 10 12 13 14 +2 4 6 7 9 10 12 13 15 +2 4 6 7 9 10 12 14 15 +2 4 6 7 9 10 13 14 15 +2 4 6 7 9 11 12 13 14 +2 4 6 7 9 11 12 13 15 +2 4 6 7 9 11 12 14 15 +2 4 6 7 9 11 13 14 15 +2 4 6 7 9 12 13 14 15 +2 4 6 7 10 11 12 13 14 +2 4 6 7 10 11 12 13 15 +2 4 6 7 10 11 12 14 15 +2 4 6 7 10 11 13 14 15 +2 4 6 7 10 12 13 14 15 +2 4 6 7 11 12 13 14 15 +2 4 6 8 9 10 11 12 13 +2 4 6 8 9 10 11 12 14 +2 4 6 8 9 10 11 12 15 +2 4 6 8 9 10 11 13 14 +2 4 6 8 9 10 11 13 15 +2 4 6 8 9 10 11 14 15 +2 4 6 8 9 10 12 13 14 +2 4 6 8 9 10 12 13 15 +2 4 6 8 9 10 12 14 15 +2 4 6 8 9 10 13 14 15 +2 4 6 8 9 11 12 13 14 +2 4 6 8 9 11 12 13 15 +2 4 6 8 9 11 12 14 15 +2 4 6 8 9 11 13 14 15 +2 4 6 8 9 12 13 14 15 +2 4 6 8 10 11 12 13 14 +2 4 6 8 10 11 12 13 15 +2 4 6 8 10 11 12 14 15 +2 4 6 8 10 11 13 14 15 +2 4 6 8 10 12 13 14 15 +2 4 6 8 11 12 13 14 15 +2 4 6 9 10 11 12 13 14 +2 4 6 9 10 11 12 13 15 +2 4 6 9 10 11 12 14 15 +2 4 6 9 10 11 13 14 15 +2 4 6 9 10 12 13 14 15 +2 4 6 9 11 12 13 14 15 +2 4 6 10 11 12 13 14 15 +2 4 7 8 9 10 11 12 13 +2 4 7 8 9 10 11 12 14 +2 4 7 8 9 10 11 12 15 +2 4 7 8 9 10 11 13 14 +2 4 7 8 9 10 11 13 15 +2 4 7 8 9 10 11 14 15 +2 4 7 8 9 10 12 13 14 +2 4 7 8 9 10 12 13 15 +2 4 7 8 9 10 12 14 15 +2 4 7 8 9 10 13 14 15 +2 4 7 8 9 11 12 13 14 +2 4 7 8 9 11 12 13 15 +2 4 7 8 9 11 12 14 15 +2 4 7 8 9 11 13 14 15 +2 4 7 8 9 12 13 14 15 +2 4 7 8 10 11 12 13 14 +2 4 7 8 10 11 12 13 15 +2 4 7 8 10 11 12 14 15 +2 4 7 8 10 11 13 14 15 +2 4 7 8 10 12 13 14 15 +2 4 7 8 11 12 13 14 15 +2 4 7 9 10 11 12 13 14 +2 4 7 9 10 11 12 13 15 +2 4 7 9 10 11 12 14 15 +2 4 7 9 10 11 13 14 15 +2 4 7 9 10 12 13 14 15 +2 4 7 9 11 12 13 14 15 +2 4 7 10 11 12 13 14 15 +2 4 8 9 10 11 12 13 14 +2 4 8 9 10 11 12 13 15 +2 4 8 9 10 11 12 14 15 +2 4 8 9 10 11 13 14 15 +2 4 8 9 10 12 13 14 15 +2 4 8 9 11 12 13 14 15 +2 4 8 10 11 12 13 14 15 +2 4 9 10 11 12 13 14 15 +2 5 6 7 8 9 10 11 12 +2 5 6 7 8 9 10 11 13 +2 5 6 7 8 9 10 11 14 +2 5 6 7 8 9 10 11 15 +2 5 6 7 8 9 10 12 13 +2 5 6 7 8 9 10 12 14 +2 5 6 7 8 9 10 12 15 +2 5 6 7 8 9 10 13 14 +2 5 6 7 8 9 10 13 15 +2 5 6 7 8 9 10 14 15 +2 5 6 7 8 9 11 12 13 +2 5 6 7 8 9 11 12 14 +2 5 6 7 8 9 11 12 15 +2 5 6 7 8 9 11 13 14 +2 5 6 7 8 9 11 13 15 +2 5 6 7 8 9 11 14 15 +2 5 6 7 8 9 12 13 14 +2 5 6 7 8 9 12 13 15 +2 5 6 7 8 9 12 14 15 +2 5 6 7 8 9 13 14 15 +2 5 6 7 8 10 11 12 13 +2 5 6 7 8 10 11 12 14 +2 5 6 7 8 10 11 12 15 +2 5 6 7 8 10 11 13 14 +2 5 6 7 8 10 11 13 15 +2 5 6 7 8 10 11 14 15 +2 5 6 7 8 10 12 13 14 +2 5 6 7 8 10 12 13 15 +2 5 6 7 8 10 12 14 15 +2 5 6 7 8 10 13 14 15 +2 5 6 7 8 11 12 13 14 +2 5 6 7 8 11 12 13 15 +2 5 6 7 8 11 12 14 15 +2 5 6 7 8 11 13 14 15 +2 5 6 7 8 12 13 14 15 +2 5 6 7 9 10 11 12 13 +2 5 6 7 9 10 11 12 14 +2 5 6 7 9 10 11 12 15 +2 5 6 7 9 10 11 13 14 +2 5 6 7 9 10 11 13 15 +2 5 6 7 9 10 11 14 15 +2 5 6 7 9 10 12 13 14 +2 5 6 7 9 10 12 13 15 +2 5 6 7 9 10 12 14 15 +2 5 6 7 9 10 13 14 15 +2 5 6 7 9 11 12 13 14 +2 5 6 7 9 11 12 13 15 +2 5 6 7 9 11 12 14 15 +2 5 6 7 9 11 13 14 15 +2 5 6 7 9 12 13 14 15 +2 5 6 7 10 11 12 13 14 +2 5 6 7 10 11 12 13 15 +2 5 6 7 10 11 12 14 15 +2 5 6 7 10 11 13 14 15 +2 5 6 7 10 12 13 14 15 +2 5 6 7 11 12 13 14 15 +2 5 6 8 9 10 11 12 13 +2 5 6 8 9 10 11 12 14 +2 5 6 8 9 10 11 12 15 +2 5 6 8 9 10 11 13 14 +2 5 6 8 9 10 11 13 15 +2 5 6 8 9 10 11 14 15 +2 5 6 8 9 10 12 13 14 +2 5 6 8 9 10 12 13 15 +2 5 6 8 9 10 12 14 15 +2 5 6 8 9 10 13 14 15 +2 5 6 8 9 11 12 13 14 +2 5 6 8 9 11 12 13 15 +2 5 6 8 9 11 12 14 15 +2 5 6 8 9 11 13 14 15 +2 5 6 8 9 12 13 14 15 +2 5 6 8 10 11 12 13 14 +2 5 6 8 10 11 12 13 15 +2 5 6 8 10 11 12 14 15 +2 5 6 8 10 11 13 14 15 +2 5 6 8 10 12 13 14 15 +2 5 6 8 11 12 13 14 15 +2 5 6 9 10 11 12 13 14 +2 5 6 9 10 11 12 13 15 +2 5 6 9 10 11 12 14 15 +2 5 6 9 10 11 13 14 15 +2 5 6 9 10 12 13 14 15 +2 5 6 9 11 12 13 14 15 +2 5 6 10 11 12 13 14 15 +2 5 7 8 9 10 11 12 13 +2 5 7 8 9 10 11 12 14 +2 5 7 8 9 10 11 12 15 +2 5 7 8 9 10 11 13 14 +2 5 7 8 9 10 11 13 15 +2 5 7 8 9 10 11 14 15 +2 5 7 8 9 10 12 13 14 +2 5 7 8 9 10 12 13 15 +2 5 7 8 9 10 12 14 15 +2 5 7 8 9 10 13 14 15 +2 5 7 8 9 11 12 13 14 +2 5 7 8 9 11 12 13 15 +2 5 7 8 9 11 12 14 15 +2 5 7 8 9 11 13 14 15 +2 5 7 8 9 12 13 14 15 +2 5 7 8 10 11 12 13 14 +2 5 7 8 10 11 12 13 15 +2 5 7 8 10 11 12 14 15 +2 5 7 8 10 11 13 14 15 +2 5 7 8 10 12 13 14 15 +2 5 7 8 11 12 13 14 15 +2 5 7 9 10 11 12 13 14 +2 5 7 9 10 11 12 13 15 +2 5 7 9 10 11 12 14 15 +2 5 7 9 10 11 13 14 15 +2 5 7 9 10 12 13 14 15 +2 5 7 9 11 12 13 14 15 +2 5 7 10 11 12 13 14 15 +2 5 8 9 10 11 12 13 14 +2 5 8 9 10 11 12 13 15 +2 5 8 9 10 11 12 14 15 +2 5 8 9 10 11 13 14 15 +2 5 8 9 10 12 13 14 15 +2 5 8 9 11 12 13 14 15 +2 5 8 10 11 12 13 14 15 +2 5 9 10 11 12 13 14 15 +2 6 7 8 9 10 11 12 13 +2 6 7 8 9 10 11 12 14 +2 6 7 8 9 10 11 12 15 +2 6 7 8 9 10 11 13 14 +2 6 7 8 9 10 11 13 15 +2 6 7 8 9 10 11 14 15 +2 6 7 8 9 10 12 13 14 +2 6 7 8 9 10 12 13 15 +2 6 7 8 9 10 12 14 15 +2 6 7 8 9 10 13 14 15 +2 6 7 8 9 11 12 13 14 +2 6 7 8 9 11 12 13 15 +2 6 7 8 9 11 12 14 15 +2 6 7 8 9 11 13 14 15 +2 6 7 8 9 12 13 14 15 +2 6 7 8 10 11 12 13 14 +2 6 7 8 10 11 12 13 15 +2 6 7 8 10 11 12 14 15 +2 6 7 8 10 11 13 14 15 +2 6 7 8 10 12 13 14 15 +2 6 7 8 11 12 13 14 15 +2 6 7 9 10 11 12 13 14 +2 6 7 9 10 11 12 13 15 +2 6 7 9 10 11 12 14 15 +2 6 7 9 10 11 13 14 15 +2 6 7 9 10 12 13 14 15 +2 6 7 9 11 12 13 14 15 +2 6 7 10 11 12 13 14 15 +2 6 8 9 10 11 12 13 14 +2 6 8 9 10 11 12 13 15 +2 6 8 9 10 11 12 14 15 +2 6 8 9 10 11 13 14 15 +2 6 8 9 10 12 13 14 15 +2 6 8 9 11 12 13 14 15 +2 6 8 10 11 12 13 14 15 +2 6 9 10 11 12 13 14 15 +2 7 8 9 10 11 12 13 14 +2 7 8 9 10 11 12 13 15 +2 7 8 9 10 11 12 14 15 +2 7 8 9 10 11 13 14 15 +2 7 8 9 10 12 13 14 15 +2 7 8 9 11 12 13 14 15 +2 7 8 10 11 12 13 14 15 +2 7 9 10 11 12 13 14 15 +2 8 9 10 11 12 13 14 15 +3 4 5 6 7 8 9 10 11 +3 4 5 6 7 8 9 10 12 +3 4 5 6 7 8 9 10 13 +3 4 5 6 7 8 9 10 14 +3 4 5 6 7 8 9 10 15 +3 4 5 6 7 8 9 11 12 +3 4 5 6 7 8 9 11 13 +3 4 5 6 7 8 9 11 14 +3 4 5 6 7 8 9 11 15 +3 4 5 6 7 8 9 12 13 +3 4 5 6 7 8 9 12 14 +3 4 5 6 7 8 9 12 15 +3 4 5 6 7 8 9 13 14 +3 4 5 6 7 8 9 13 15 +3 4 5 6 7 8 9 14 15 +3 4 5 6 7 8 10 11 12 +3 4 5 6 7 8 10 11 13 +3 4 5 6 7 8 10 11 14 +3 4 5 6 7 8 10 11 15 +3 4 5 6 7 8 10 12 13 +3 4 5 6 7 8 10 12 14 +3 4 5 6 7 8 10 12 15 +3 4 5 6 7 8 10 13 14 +3 4 5 6 7 8 10 13 15 +3 4 5 6 7 8 10 14 15 +3 4 5 6 7 8 11 12 13 +3 4 5 6 7 8 11 12 14 +3 4 5 6 7 8 11 12 15 +3 4 5 6 7 8 11 13 14 +3 4 5 6 7 8 11 13 15 +3 4 5 6 7 8 11 14 15 +3 4 5 6 7 8 12 13 14 +3 4 5 6 7 8 12 13 15 +3 4 5 6 7 8 12 14 15 +3 4 5 6 7 8 13 14 15 +3 4 5 6 7 9 10 11 12 +3 4 5 6 7 9 10 11 13 +3 4 5 6 7 9 10 11 14 +3 4 5 6 7 9 10 11 15 +3 4 5 6 7 9 10 12 13 +3 4 5 6 7 9 10 12 14 +3 4 5 6 7 9 10 12 15 +3 4 5 6 7 9 10 13 14 +3 4 5 6 7 9 10 13 15 +3 4 5 6 7 9 10 14 15 +3 4 5 6 7 9 11 12 13 +3 4 5 6 7 9 11 12 14 +3 4 5 6 7 9 11 12 15 +3 4 5 6 7 9 11 13 14 +3 4 5 6 7 9 11 13 15 +3 4 5 6 7 9 11 14 15 +3 4 5 6 7 9 12 13 14 +3 4 5 6 7 9 12 13 15 +3 4 5 6 7 9 12 14 15 +3 4 5 6 7 9 13 14 15 +3 4 5 6 7 10 11 12 13 +3 4 5 6 7 10 11 12 14 +3 4 5 6 7 10 11 12 15 +3 4 5 6 7 10 11 13 14 +3 4 5 6 7 10 11 13 15 +3 4 5 6 7 10 11 14 15 +3 4 5 6 7 10 12 13 14 +3 4 5 6 7 10 12 13 15 +3 4 5 6 7 10 12 14 15 +3 4 5 6 7 10 13 14 15 +3 4 5 6 7 11 12 13 14 +3 4 5 6 7 11 12 13 15 +3 4 5 6 7 11 12 14 15 +3 4 5 6 7 11 13 14 15 +3 4 5 6 7 12 13 14 15 +3 4 5 6 8 9 10 11 12 +3 4 5 6 8 9 10 11 13 +3 4 5 6 8 9 10 11 14 +3 4 5 6 8 9 10 11 15 +3 4 5 6 8 9 10 12 13 +3 4 5 6 8 9 10 12 14 +3 4 5 6 8 9 10 12 15 +3 4 5 6 8 9 10 13 14 +3 4 5 6 8 9 10 13 15 +3 4 5 6 8 9 10 14 15 +3 4 5 6 8 9 11 12 13 +3 4 5 6 8 9 11 12 14 +3 4 5 6 8 9 11 12 15 +3 4 5 6 8 9 11 13 14 +3 4 5 6 8 9 11 13 15 +3 4 5 6 8 9 11 14 15 +3 4 5 6 8 9 12 13 14 +3 4 5 6 8 9 12 13 15 +3 4 5 6 8 9 12 14 15 +3 4 5 6 8 9 13 14 15 +3 4 5 6 8 10 11 12 13 +3 4 5 6 8 10 11 12 14 +3 4 5 6 8 10 11 12 15 +3 4 5 6 8 10 11 13 14 +3 4 5 6 8 10 11 13 15 +3 4 5 6 8 10 11 14 15 +3 4 5 6 8 10 12 13 14 +3 4 5 6 8 10 12 13 15 +3 4 5 6 8 10 12 14 15 +3 4 5 6 8 10 13 14 15 +3 4 5 6 8 11 12 13 14 +3 4 5 6 8 11 12 13 15 +3 4 5 6 8 11 12 14 15 +3 4 5 6 8 11 13 14 15 +3 4 5 6 8 12 13 14 15 +3 4 5 6 9 10 11 12 13 +3 4 5 6 9 10 11 12 14 +3 4 5 6 9 10 11 12 15 +3 4 5 6 9 10 11 13 14 +3 4 5 6 9 10 11 13 15 +3 4 5 6 9 10 11 14 15 +3 4 5 6 9 10 12 13 14 +3 4 5 6 9 10 12 13 15 +3 4 5 6 9 10 12 14 15 +3 4 5 6 9 10 13 14 15 +3 4 5 6 9 11 12 13 14 +3 4 5 6 9 11 12 13 15 +3 4 5 6 9 11 12 14 15 +3 4 5 6 9 11 13 14 15 +3 4 5 6 9 12 13 14 15 +3 4 5 6 10 11 12 13 14 +3 4 5 6 10 11 12 13 15 +3 4 5 6 10 11 12 14 15 +3 4 5 6 10 11 13 14 15 +3 4 5 6 10 12 13 14 15 +3 4 5 6 11 12 13 14 15 +3 4 5 7 8 9 10 11 12 +3 4 5 7 8 9 10 11 13 +3 4 5 7 8 9 10 11 14 +3 4 5 7 8 9 10 11 15 +3 4 5 7 8 9 10 12 13 +3 4 5 7 8 9 10 12 14 +3 4 5 7 8 9 10 12 15 +3 4 5 7 8 9 10 13 14 +3 4 5 7 8 9 10 13 15 +3 4 5 7 8 9 10 14 15 +3 4 5 7 8 9 11 12 13 +3 4 5 7 8 9 11 12 14 +3 4 5 7 8 9 11 12 15 +3 4 5 7 8 9 11 13 14 +3 4 5 7 8 9 11 13 15 +3 4 5 7 8 9 11 14 15 +3 4 5 7 8 9 12 13 14 +3 4 5 7 8 9 12 13 15 +3 4 5 7 8 9 12 14 15 +3 4 5 7 8 9 13 14 15 +3 4 5 7 8 10 11 12 13 +3 4 5 7 8 10 11 12 14 +3 4 5 7 8 10 11 12 15 +3 4 5 7 8 10 11 13 14 +3 4 5 7 8 10 11 13 15 +3 4 5 7 8 10 11 14 15 +3 4 5 7 8 10 12 13 14 +3 4 5 7 8 10 12 13 15 +3 4 5 7 8 10 12 14 15 +3 4 5 7 8 10 13 14 15 +3 4 5 7 8 11 12 13 14 +3 4 5 7 8 11 12 13 15 +3 4 5 7 8 11 12 14 15 +3 4 5 7 8 11 13 14 15 +3 4 5 7 8 12 13 14 15 +3 4 5 7 9 10 11 12 13 +3 4 5 7 9 10 11 12 14 +3 4 5 7 9 10 11 12 15 +3 4 5 7 9 10 11 13 14 +3 4 5 7 9 10 11 13 15 +3 4 5 7 9 10 11 14 15 +3 4 5 7 9 10 12 13 14 +3 4 5 7 9 10 12 13 15 +3 4 5 7 9 10 12 14 15 +3 4 5 7 9 10 13 14 15 +3 4 5 7 9 11 12 13 14 +3 4 5 7 9 11 12 13 15 +3 4 5 7 9 11 12 14 15 +3 4 5 7 9 11 13 14 15 +3 4 5 7 9 12 13 14 15 +3 4 5 7 10 11 12 13 14 +3 4 5 7 10 11 12 13 15 +3 4 5 7 10 11 12 14 15 +3 4 5 7 10 11 13 14 15 +3 4 5 7 10 12 13 14 15 +3 4 5 7 11 12 13 14 15 +3 4 5 8 9 10 11 12 13 +3 4 5 8 9 10 11 12 14 +3 4 5 8 9 10 11 12 15 +3 4 5 8 9 10 11 13 14 +3 4 5 8 9 10 11 13 15 +3 4 5 8 9 10 11 14 15 +3 4 5 8 9 10 12 13 14 +3 4 5 8 9 10 12 13 15 +3 4 5 8 9 10 12 14 15 +3 4 5 8 9 10 13 14 15 +3 4 5 8 9 11 12 13 14 +3 4 5 8 9 11 12 13 15 +3 4 5 8 9 11 12 14 15 +3 4 5 8 9 11 13 14 15 +3 4 5 8 9 12 13 14 15 +3 4 5 8 10 11 12 13 14 +3 4 5 8 10 11 12 13 15 +3 4 5 8 10 11 12 14 15 +3 4 5 8 10 11 13 14 15 +3 4 5 8 10 12 13 14 15 +3 4 5 8 11 12 13 14 15 +3 4 5 9 10 11 12 13 14 +3 4 5 9 10 11 12 13 15 +3 4 5 9 10 11 12 14 15 +3 4 5 9 10 11 13 14 15 +3 4 5 9 10 12 13 14 15 +3 4 5 9 11 12 13 14 15 +3 4 5 10 11 12 13 14 15 +3 4 6 7 8 9 10 11 12 +3 4 6 7 8 9 10 11 13 +3 4 6 7 8 9 10 11 14 +3 4 6 7 8 9 10 11 15 +3 4 6 7 8 9 10 12 13 +3 4 6 7 8 9 10 12 14 +3 4 6 7 8 9 10 12 15 +3 4 6 7 8 9 10 13 14 +3 4 6 7 8 9 10 13 15 +3 4 6 7 8 9 10 14 15 +3 4 6 7 8 9 11 12 13 +3 4 6 7 8 9 11 12 14 +3 4 6 7 8 9 11 12 15 +3 4 6 7 8 9 11 13 14 +3 4 6 7 8 9 11 13 15 +3 4 6 7 8 9 11 14 15 +3 4 6 7 8 9 12 13 14 +3 4 6 7 8 9 12 13 15 +3 4 6 7 8 9 12 14 15 +3 4 6 7 8 9 13 14 15 +3 4 6 7 8 10 11 12 13 +3 4 6 7 8 10 11 12 14 +3 4 6 7 8 10 11 12 15 +3 4 6 7 8 10 11 13 14 +3 4 6 7 8 10 11 13 15 +3 4 6 7 8 10 11 14 15 +3 4 6 7 8 10 12 13 14 +3 4 6 7 8 10 12 13 15 +3 4 6 7 8 10 12 14 15 +3 4 6 7 8 10 13 14 15 +3 4 6 7 8 11 12 13 14 +3 4 6 7 8 11 12 13 15 +3 4 6 7 8 11 12 14 15 +3 4 6 7 8 11 13 14 15 +3 4 6 7 8 12 13 14 15 +3 4 6 7 9 10 11 12 13 +3 4 6 7 9 10 11 12 14 +3 4 6 7 9 10 11 12 15 +3 4 6 7 9 10 11 13 14 +3 4 6 7 9 10 11 13 15 +3 4 6 7 9 10 11 14 15 +3 4 6 7 9 10 12 13 14 +3 4 6 7 9 10 12 13 15 +3 4 6 7 9 10 12 14 15 +3 4 6 7 9 10 13 14 15 +3 4 6 7 9 11 12 13 14 +3 4 6 7 9 11 12 13 15 +3 4 6 7 9 11 12 14 15 +3 4 6 7 9 11 13 14 15 +3 4 6 7 9 12 13 14 15 +3 4 6 7 10 11 12 13 14 +3 4 6 7 10 11 12 13 15 +3 4 6 7 10 11 12 14 15 +3 4 6 7 10 11 13 14 15 +3 4 6 7 10 12 13 14 15 +3 4 6 7 11 12 13 14 15 +3 4 6 8 9 10 11 12 13 +3 4 6 8 9 10 11 12 14 +3 4 6 8 9 10 11 12 15 +3 4 6 8 9 10 11 13 14 +3 4 6 8 9 10 11 13 15 +3 4 6 8 9 10 11 14 15 +3 4 6 8 9 10 12 13 14 +3 4 6 8 9 10 12 13 15 +3 4 6 8 9 10 12 14 15 +3 4 6 8 9 10 13 14 15 +3 4 6 8 9 11 12 13 14 +3 4 6 8 9 11 12 13 15 +3 4 6 8 9 11 12 14 15 +3 4 6 8 9 11 13 14 15 +3 4 6 8 9 12 13 14 15 +3 4 6 8 10 11 12 13 14 +3 4 6 8 10 11 12 13 15 +3 4 6 8 10 11 12 14 15 +3 4 6 8 10 11 13 14 15 +3 4 6 8 10 12 13 14 15 +3 4 6 8 11 12 13 14 15 +3 4 6 9 10 11 12 13 14 +3 4 6 9 10 11 12 13 15 +3 4 6 9 10 11 12 14 15 +3 4 6 9 10 11 13 14 15 +3 4 6 9 10 12 13 14 15 +3 4 6 9 11 12 13 14 15 +3 4 6 10 11 12 13 14 15 +3 4 7 8 9 10 11 12 13 +3 4 7 8 9 10 11 12 14 +3 4 7 8 9 10 11 12 15 +3 4 7 8 9 10 11 13 14 +3 4 7 8 9 10 11 13 15 +3 4 7 8 9 10 11 14 15 +3 4 7 8 9 10 12 13 14 +3 4 7 8 9 10 12 13 15 +3 4 7 8 9 10 12 14 15 +3 4 7 8 9 10 13 14 15 +3 4 7 8 9 11 12 13 14 +3 4 7 8 9 11 12 13 15 +3 4 7 8 9 11 12 14 15 +3 4 7 8 9 11 13 14 15 +3 4 7 8 9 12 13 14 15 +3 4 7 8 10 11 12 13 14 +3 4 7 8 10 11 12 13 15 +3 4 7 8 10 11 12 14 15 +3 4 7 8 10 11 13 14 15 +3 4 7 8 10 12 13 14 15 +3 4 7 8 11 12 13 14 15 +3 4 7 9 10 11 12 13 14 +3 4 7 9 10 11 12 13 15 +3 4 7 9 10 11 12 14 15 +3 4 7 9 10 11 13 14 15 +3 4 7 9 10 12 13 14 15 +3 4 7 9 11 12 13 14 15 +3 4 7 10 11 12 13 14 15 +3 4 8 9 10 11 12 13 14 +3 4 8 9 10 11 12 13 15 +3 4 8 9 10 11 12 14 15 +3 4 8 9 10 11 13 14 15 +3 4 8 9 10 12 13 14 15 +3 4 8 9 11 12 13 14 15 +3 4 8 10 11 12 13 14 15 +3 4 9 10 11 12 13 14 15 +3 5 6 7 8 9 10 11 12 +3 5 6 7 8 9 10 11 13 +3 5 6 7 8 9 10 11 14 +3 5 6 7 8 9 10 11 15 +3 5 6 7 8 9 10 12 13 +3 5 6 7 8 9 10 12 14 +3 5 6 7 8 9 10 12 15 +3 5 6 7 8 9 10 13 14 +3 5 6 7 8 9 10 13 15 +3 5 6 7 8 9 10 14 15 +3 5 6 7 8 9 11 12 13 +3 5 6 7 8 9 11 12 14 +3 5 6 7 8 9 11 12 15 +3 5 6 7 8 9 11 13 14 +3 5 6 7 8 9 11 13 15 +3 5 6 7 8 9 11 14 15 +3 5 6 7 8 9 12 13 14 +3 5 6 7 8 9 12 13 15 +3 5 6 7 8 9 12 14 15 +3 5 6 7 8 9 13 14 15 +3 5 6 7 8 10 11 12 13 +3 5 6 7 8 10 11 12 14 +3 5 6 7 8 10 11 12 15 +3 5 6 7 8 10 11 13 14 +3 5 6 7 8 10 11 13 15 +3 5 6 7 8 10 11 14 15 +3 5 6 7 8 10 12 13 14 +3 5 6 7 8 10 12 13 15 +3 5 6 7 8 10 12 14 15 +3 5 6 7 8 10 13 14 15 +3 5 6 7 8 11 12 13 14 +3 5 6 7 8 11 12 13 15 +3 5 6 7 8 11 12 14 15 +3 5 6 7 8 11 13 14 15 +3 5 6 7 8 12 13 14 15 +3 5 6 7 9 10 11 12 13 +3 5 6 7 9 10 11 12 14 +3 5 6 7 9 10 11 12 15 +3 5 6 7 9 10 11 13 14 +3 5 6 7 9 10 11 13 15 +3 5 6 7 9 10 11 14 15 +3 5 6 7 9 10 12 13 14 +3 5 6 7 9 10 12 13 15 +3 5 6 7 9 10 12 14 15 +3 5 6 7 9 10 13 14 15 +3 5 6 7 9 11 12 13 14 +3 5 6 7 9 11 12 13 15 +3 5 6 7 9 11 12 14 15 +3 5 6 7 9 11 13 14 15 +3 5 6 7 9 12 13 14 15 +3 5 6 7 10 11 12 13 14 +3 5 6 7 10 11 12 13 15 +3 5 6 7 10 11 12 14 15 +3 5 6 7 10 11 13 14 15 +3 5 6 7 10 12 13 14 15 +3 5 6 7 11 12 13 14 15 +3 5 6 8 9 10 11 12 13 +3 5 6 8 9 10 11 12 14 +3 5 6 8 9 10 11 12 15 +3 5 6 8 9 10 11 13 14 +3 5 6 8 9 10 11 13 15 +3 5 6 8 9 10 11 14 15 +3 5 6 8 9 10 12 13 14 +3 5 6 8 9 10 12 13 15 +3 5 6 8 9 10 12 14 15 +3 5 6 8 9 10 13 14 15 +3 5 6 8 9 11 12 13 14 +3 5 6 8 9 11 12 13 15 +3 5 6 8 9 11 12 14 15 +3 5 6 8 9 11 13 14 15 +3 5 6 8 9 12 13 14 15 +3 5 6 8 10 11 12 13 14 +3 5 6 8 10 11 12 13 15 +3 5 6 8 10 11 12 14 15 +3 5 6 8 10 11 13 14 15 +3 5 6 8 10 12 13 14 15 +3 5 6 8 11 12 13 14 15 +3 5 6 9 10 11 12 13 14 +3 5 6 9 10 11 12 13 15 +3 5 6 9 10 11 12 14 15 +3 5 6 9 10 11 13 14 15 +3 5 6 9 10 12 13 14 15 +3 5 6 9 11 12 13 14 15 +3 5 6 10 11 12 13 14 15 +3 5 7 8 9 10 11 12 13 +3 5 7 8 9 10 11 12 14 +3 5 7 8 9 10 11 12 15 +3 5 7 8 9 10 11 13 14 +3 5 7 8 9 10 11 13 15 +3 5 7 8 9 10 11 14 15 +3 5 7 8 9 10 12 13 14 +3 5 7 8 9 10 12 13 15 +3 5 7 8 9 10 12 14 15 +3 5 7 8 9 10 13 14 15 +3 5 7 8 9 11 12 13 14 +3 5 7 8 9 11 12 13 15 +3 5 7 8 9 11 12 14 15 +3 5 7 8 9 11 13 14 15 +3 5 7 8 9 12 13 14 15 +3 5 7 8 10 11 12 13 14 +3 5 7 8 10 11 12 13 15 +3 5 7 8 10 11 12 14 15 +3 5 7 8 10 11 13 14 15 +3 5 7 8 10 12 13 14 15 +3 5 7 8 11 12 13 14 15 +3 5 7 9 10 11 12 13 14 +3 5 7 9 10 11 12 13 15 +3 5 7 9 10 11 12 14 15 +3 5 7 9 10 11 13 14 15 +3 5 7 9 10 12 13 14 15 +3 5 7 9 11 12 13 14 15 +3 5 7 10 11 12 13 14 15 +3 5 8 9 10 11 12 13 14 +3 5 8 9 10 11 12 13 15 +3 5 8 9 10 11 12 14 15 +3 5 8 9 10 11 13 14 15 +3 5 8 9 10 12 13 14 15 +3 5 8 9 11 12 13 14 15 +3 5 8 10 11 12 13 14 15 +3 5 9 10 11 12 13 14 15 +3 6 7 8 9 10 11 12 13 +3 6 7 8 9 10 11 12 14 +3 6 7 8 9 10 11 12 15 +3 6 7 8 9 10 11 13 14 +3 6 7 8 9 10 11 13 15 +3 6 7 8 9 10 11 14 15 +3 6 7 8 9 10 12 13 14 +3 6 7 8 9 10 12 13 15 +3 6 7 8 9 10 12 14 15 +3 6 7 8 9 10 13 14 15 +3 6 7 8 9 11 12 13 14 +3 6 7 8 9 11 12 13 15 +3 6 7 8 9 11 12 14 15 +3 6 7 8 9 11 13 14 15 +3 6 7 8 9 12 13 14 15 +3 6 7 8 10 11 12 13 14 +3 6 7 8 10 11 12 13 15 +3 6 7 8 10 11 12 14 15 +3 6 7 8 10 11 13 14 15 +3 6 7 8 10 12 13 14 15 +3 6 7 8 11 12 13 14 15 +3 6 7 9 10 11 12 13 14 +3 6 7 9 10 11 12 13 15 +3 6 7 9 10 11 12 14 15 +3 6 7 9 10 11 13 14 15 +3 6 7 9 10 12 13 14 15 +3 6 7 9 11 12 13 14 15 +3 6 7 10 11 12 13 14 15 +3 6 8 9 10 11 12 13 14 +3 6 8 9 10 11 12 13 15 +3 6 8 9 10 11 12 14 15 +3 6 8 9 10 11 13 14 15 +3 6 8 9 10 12 13 14 15 +3 6 8 9 11 12 13 14 15 +3 6 8 10 11 12 13 14 15 +3 6 9 10 11 12 13 14 15 +3 7 8 9 10 11 12 13 14 +3 7 8 9 10 11 12 13 15 +3 7 8 9 10 11 12 14 15 +3 7 8 9 10 11 13 14 15 +3 7 8 9 10 12 13 14 15 +3 7 8 9 11 12 13 14 15 +3 7 8 10 11 12 13 14 15 +3 7 9 10 11 12 13 14 15 +3 8 9 10 11 12 13 14 15 +4 5 6 7 8 9 10 11 12 +4 5 6 7 8 9 10 11 13 +4 5 6 7 8 9 10 11 14 +4 5 6 7 8 9 10 11 15 +4 5 6 7 8 9 10 12 13 +4 5 6 7 8 9 10 12 14 +4 5 6 7 8 9 10 12 15 +4 5 6 7 8 9 10 13 14 +4 5 6 7 8 9 10 13 15 +4 5 6 7 8 9 10 14 15 +4 5 6 7 8 9 11 12 13 +4 5 6 7 8 9 11 12 14 +4 5 6 7 8 9 11 12 15 +4 5 6 7 8 9 11 13 14 +4 5 6 7 8 9 11 13 15 +4 5 6 7 8 9 11 14 15 +4 5 6 7 8 9 12 13 14 +4 5 6 7 8 9 12 13 15 +4 5 6 7 8 9 12 14 15 +4 5 6 7 8 9 13 14 15 +4 5 6 7 8 10 11 12 13 +4 5 6 7 8 10 11 12 14 +4 5 6 7 8 10 11 12 15 +4 5 6 7 8 10 11 13 14 +4 5 6 7 8 10 11 13 15 +4 5 6 7 8 10 11 14 15 +4 5 6 7 8 10 12 13 14 +4 5 6 7 8 10 12 13 15 +4 5 6 7 8 10 12 14 15 +4 5 6 7 8 10 13 14 15 +4 5 6 7 8 11 12 13 14 +4 5 6 7 8 11 12 13 15 +4 5 6 7 8 11 12 14 15 +4 5 6 7 8 11 13 14 15 +4 5 6 7 8 12 13 14 15 +4 5 6 7 9 10 11 12 13 +4 5 6 7 9 10 11 12 14 +4 5 6 7 9 10 11 12 15 +4 5 6 7 9 10 11 13 14 +4 5 6 7 9 10 11 13 15 +4 5 6 7 9 10 11 14 15 +4 5 6 7 9 10 12 13 14 +4 5 6 7 9 10 12 13 15 +4 5 6 7 9 10 12 14 15 +4 5 6 7 9 10 13 14 15 +4 5 6 7 9 11 12 13 14 +4 5 6 7 9 11 12 13 15 +4 5 6 7 9 11 12 14 15 +4 5 6 7 9 11 13 14 15 +4 5 6 7 9 12 13 14 15 +4 5 6 7 10 11 12 13 14 +4 5 6 7 10 11 12 13 15 +4 5 6 7 10 11 12 14 15 +4 5 6 7 10 11 13 14 15 +4 5 6 7 10 12 13 14 15 +4 5 6 7 11 12 13 14 15 +4 5 6 8 9 10 11 12 13 +4 5 6 8 9 10 11 12 14 +4 5 6 8 9 10 11 12 15 +4 5 6 8 9 10 11 13 14 +4 5 6 8 9 10 11 13 15 +4 5 6 8 9 10 11 14 15 +4 5 6 8 9 10 12 13 14 +4 5 6 8 9 10 12 13 15 +4 5 6 8 9 10 12 14 15 +4 5 6 8 9 10 13 14 15 +4 5 6 8 9 11 12 13 14 +4 5 6 8 9 11 12 13 15 +4 5 6 8 9 11 12 14 15 +4 5 6 8 9 11 13 14 15 +4 5 6 8 9 12 13 14 15 +4 5 6 8 10 11 12 13 14 +4 5 6 8 10 11 12 13 15 +4 5 6 8 10 11 12 14 15 +4 5 6 8 10 11 13 14 15 +4 5 6 8 10 12 13 14 15 +4 5 6 8 11 12 13 14 15 +4 5 6 9 10 11 12 13 14 +4 5 6 9 10 11 12 13 15 +4 5 6 9 10 11 12 14 15 +4 5 6 9 10 11 13 14 15 +4 5 6 9 10 12 13 14 15 +4 5 6 9 11 12 13 14 15 +4 5 6 10 11 12 13 14 15 +4 5 7 8 9 10 11 12 13 +4 5 7 8 9 10 11 12 14 +4 5 7 8 9 10 11 12 15 +4 5 7 8 9 10 11 13 14 +4 5 7 8 9 10 11 13 15 +4 5 7 8 9 10 11 14 15 +4 5 7 8 9 10 12 13 14 +4 5 7 8 9 10 12 13 15 +4 5 7 8 9 10 12 14 15 +4 5 7 8 9 10 13 14 15 +4 5 7 8 9 11 12 13 14 +4 5 7 8 9 11 12 13 15 +4 5 7 8 9 11 12 14 15 +4 5 7 8 9 11 13 14 15 +4 5 7 8 9 12 13 14 15 +4 5 7 8 10 11 12 13 14 +4 5 7 8 10 11 12 13 15 +4 5 7 8 10 11 12 14 15 +4 5 7 8 10 11 13 14 15 +4 5 7 8 10 12 13 14 15 +4 5 7 8 11 12 13 14 15 +4 5 7 9 10 11 12 13 14 +4 5 7 9 10 11 12 13 15 +4 5 7 9 10 11 12 14 15 +4 5 7 9 10 11 13 14 15 +4 5 7 9 10 12 13 14 15 +4 5 7 9 11 12 13 14 15 +4 5 7 10 11 12 13 14 15 +4 5 8 9 10 11 12 13 14 +4 5 8 9 10 11 12 13 15 +4 5 8 9 10 11 12 14 15 +4 5 8 9 10 11 13 14 15 +4 5 8 9 10 12 13 14 15 +4 5 8 9 11 12 13 14 15 +4 5 8 10 11 12 13 14 15 +4 5 9 10 11 12 13 14 15 +4 6 7 8 9 10 11 12 13 +4 6 7 8 9 10 11 12 14 +4 6 7 8 9 10 11 12 15 +4 6 7 8 9 10 11 13 14 +4 6 7 8 9 10 11 13 15 +4 6 7 8 9 10 11 14 15 +4 6 7 8 9 10 12 13 14 +4 6 7 8 9 10 12 13 15 +4 6 7 8 9 10 12 14 15 +4 6 7 8 9 10 13 14 15 +4 6 7 8 9 11 12 13 14 +4 6 7 8 9 11 12 13 15 +4 6 7 8 9 11 12 14 15 +4 6 7 8 9 11 13 14 15 +4 6 7 8 9 12 13 14 15 +4 6 7 8 10 11 12 13 14 +4 6 7 8 10 11 12 13 15 +4 6 7 8 10 11 12 14 15 +4 6 7 8 10 11 13 14 15 +4 6 7 8 10 12 13 14 15 +4 6 7 8 11 12 13 14 15 +4 6 7 9 10 11 12 13 14 +4 6 7 9 10 11 12 13 15 +4 6 7 9 10 11 12 14 15 +4 6 7 9 10 11 13 14 15 +4 6 7 9 10 12 13 14 15 +4 6 7 9 11 12 13 14 15 +4 6 7 10 11 12 13 14 15 +4 6 8 9 10 11 12 13 14 +4 6 8 9 10 11 12 13 15 +4 6 8 9 10 11 12 14 15 +4 6 8 9 10 11 13 14 15 +4 6 8 9 10 12 13 14 15 +4 6 8 9 11 12 13 14 15 +4 6 8 10 11 12 13 14 15 +4 6 9 10 11 12 13 14 15 +4 7 8 9 10 11 12 13 14 +4 7 8 9 10 11 12 13 15 +4 7 8 9 10 11 12 14 15 +4 7 8 9 10 11 13 14 15 +4 7 8 9 10 12 13 14 15 +4 7 8 9 11 12 13 14 15 +4 7 8 10 11 12 13 14 15 +4 7 9 10 11 12 13 14 15 +4 8 9 10 11 12 13 14 15 +5 6 7 8 9 10 11 12 13 +5 6 7 8 9 10 11 12 14 +5 6 7 8 9 10 11 12 15 +5 6 7 8 9 10 11 13 14 +5 6 7 8 9 10 11 13 15 +5 6 7 8 9 10 11 14 15 +5 6 7 8 9 10 12 13 14 +5 6 7 8 9 10 12 13 15 +5 6 7 8 9 10 12 14 15 +5 6 7 8 9 10 13 14 15 +5 6 7 8 9 11 12 13 14 +5 6 7 8 9 11 12 13 15 +5 6 7 8 9 11 12 14 15 +5 6 7 8 9 11 13 14 15 +5 6 7 8 9 12 13 14 15 +5 6 7 8 10 11 12 13 14 +5 6 7 8 10 11 12 13 15 +5 6 7 8 10 11 12 14 15 +5 6 7 8 10 11 13 14 15 +5 6 7 8 10 12 13 14 15 +5 6 7 8 11 12 13 14 15 +5 6 7 9 10 11 12 13 14 +5 6 7 9 10 11 12 13 15 +5 6 7 9 10 11 12 14 15 +5 6 7 9 10 11 13 14 15 +5 6 7 9 10 12 13 14 15 +5 6 7 9 11 12 13 14 15 +5 6 7 10 11 12 13 14 15 +5 6 8 9 10 11 12 13 14 +5 6 8 9 10 11 12 13 15 +5 6 8 9 10 11 12 14 15 +5 6 8 9 10 11 13 14 15 +5 6 8 9 10 12 13 14 15 +5 6 8 9 11 12 13 14 15 +5 6 8 10 11 12 13 14 15 +5 6 9 10 11 12 13 14 15 +5 7 8 9 10 11 12 13 14 +5 7 8 9 10 11 12 13 15 +5 7 8 9 10 11 12 14 15 +5 7 8 9 10 11 13 14 15 +5 7 8 9 10 12 13 14 15 +5 7 8 9 11 12 13 14 15 +5 7 8 10 11 12 13 14 15 +5 7 9 10 11 12 13 14 15 +5 8 9 10 11 12 13 14 15 +6 7 8 9 10 11 12 13 14 +6 7 8 9 10 11 12 13 15 +6 7 8 9 10 11 12 14 15 +6 7 8 9 10 11 13 14 15 +6 7 8 9 10 12 13 14 15 +6 7 8 9 11 12 13 14 15 +6 7 8 10 11 12 13 14 15 +6 7 9 10 11 12 13 14 15 +6 8 9 10 11 12 13 14 15 +7 8 9 10 11 12 13 14 15 diff --git a/config.ini b/config.ini index 5b9e270..2aa3a85 100644 --- a/config.ini +++ b/config.ini @@ -1,194 +1,210 @@ -; Test config file for ini_example.c and INIReaderTest.cpp - -[expr] -dataset = rand -;0 for fadas in-memory -;1 for fadas, 2 for fadas fuzzy; -;(3-7 are experimental index, can be ignored) 3 for fadas pos;4 for dynamic, 5 for grid, 6 for cluster, 7 for dynamic cluster, -;8 for isax in-memory -;9 for tardis, 10 for tardis-origin -;11 for ds-tree in-memory -index = 1 -materialized = 1 -;0 for build index, 1 for approx query, 2 for exact search expr, -;3 for only exact search, 4 for index stats, -;5 for incremental search -;6 for approx dtw search, 7 for exact dtw search, -;8 for inc approx. dtw, 9 for complete workload -;10 for ng-search -;11 for parallel exact-search -ops = 11 -;50 for ecg on-disk and rand-100m, rand-300m, deep-10m, dna-26m -;500 for seismic,deep1b, -;100 for others -maxK = 50 -;only for exact, ng, and in-memory search and ground truth generation -k = 50 -query_num = 40 -;dna:26339815 -series_num = 100000000 -thread_num = 4 -messi_pq_num = 1 -SSD_pq_num = 64 - -dtw_window_percent = 0.05 -batch_size = 1400000 -batch_num = 50 -pre_read = 1 - -[parameter] -th = 10000 -bitsCardinality = 8 -; MB, it is very important for building time(Output time), make it as large as possible -fbl_size = 40768 -max_diff = 3 -; fuzzy boundary ratio f -boundary_1st = 0.3 -boundary = 0.3 -max_replica = 2 -filling_factor_1st = 0.8 -filling_factor = 0.5 -max_radius = 6 -imbalance = 0.3 - -; define a small leaf node -small_perc = 1 -f_low = 0.5 -f_high = 1.5 -; weighting factor -alpha = 0.5 -; max-masked-bit-percentage -max_mask_bit_percentage = 0.8 - -tardis_sample_percent = 1 - -[other] -graphfn = ../RowGraph_16_3.bin -bitsReserve = 3 - -[rand] -tsLength = 256 -paafn = /home/wzy/data/rand/paa/rand-256-100m-16.bin -saxfn = /home/wzy/data/rand/sax/rand-256-100m-16.bin -;idxfn = /mnt/c/Series4Similarity_Searchrity_Search/rand/non-mat/cluster/ -;tardisfn = /mnt/c/Series4Similarity_Search/rand/tardis/ -;posidxfn = ../index-pos/rand/ -;fuzzyidxfn = /mnt/c/Series4Similarity_Search/rand/index-16384/ -;fidxfn = /mnt/c/Series4Similarity_Search/rand/index-16384/ -;datafn = /mnt/c/Series4Similarity_Search/rand/rand-16384-1.5m.bin -;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-16384-200.bin -;resfn = /mnt/c/Series4Similarity_Search/rand/rand-16384-200-50.bin -;fidxfn = /mnt/c/Series4Similarity_Search/rand/index-4096/ -;datafn = /mnt/c/Series4Similarity_Search/rand/rand-4096-6m.bin -;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-4096-200.bin -;resfn = /mnt/c/Series4Similarity_Search/rand/rand-4096-200-50.bin -;fuzzyidxfn = /mnt/c/Series4Similarity_Search/rand/index-4096/ -;fidxfn = /mnt/c/Series4Similarity_Search/rand/index-1024/ -;datafn = /mnt/c/Series4Similarity_Search/rand/rand-1024-25m.bin -;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-1024-200.bin -;resfn = /mnt/c/Series4Similarity_Search/rand/rand-1024-200-50.bin -;fuzzyidxfn = /mnt/c/Series4Similarity_Search/rand/index-1024/ -;fidxfn = /mnt/c/Series4Similarity_Search/rand/index/ -fidxfn = /home/wzy/data/rand/index/ -fuzzyidxfn = /home/wzy/data/rand/fuzzy/ -datafn = /home/wzy/data/rand/rand-256-100m.bin -;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200.bin -;resfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin -queryfn = /home/wzy/data/rand/rand-256-200.bin -resfn = /home/wzy/data/rand/rand-256-200-50.bin -dtwresfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200-50-dtw2.bin -dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/rand/ - -[dna] -tsLength = 1024 -paafn = /mnt/c/Series4Similarity_Search/dna/paa/dna-1024-26m-16.bin -saxfn = /mnt/c/Series4Similarity_Search/dna/sax/dna-1024-26m-16.bin -idxfn = ../data/IPG/dna-256-117m-16.bin -fidxfn = /mnt/c/Series4Similarity_Search/dna/index/ -posidxfn = ../index-pos/dna/ -tardisfn = /mnt/c/Series4Similarity_Search/dna/tardis/ -fuzzyidxfn = /mnt/c/Series4Similarity_Search/dna/fuzzy/ -datafn = /mnt/c/Series4Similarity_Search/dna/dna-1024-26m.bin -queryfn = /mnt/c/Series4Similarity_Search/dna/dna-1024-200.bin -resfn = /mnt/c/Series4Similarity_Search/dna/dna-1024-200-50.bin -dtwresfn = /mnt/c/Series4Similarity_Search/dna/dna-1024-200-50.bin -dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/dna/ - - -[ecg] -tsLength = 320 -paafn = ../data/paa/ecg-97m-320-16.bin -saxfn = /mnt/c/Series4Similarity_Search/ecg/sax/ecg-320-97m-16.bin -idxfn = ../data/IPG/ecg-97m-320_16.bin -fidxfn = /mnt/c/Series4Similarity_Search/ecg/index/ -tardisfn = /mnt/c/Series4Similarity_Search/ecg/tardis/ -posidxfn = ../index-pos/ecg/ -fuzzyidxfn = /mnt/c/Series4Similarity_Search/ecg/fuzzy_index/ -datafn = /mnt/c/Series4Similarity_Search/ecg/ecg-320-97m.bin -queryfn = /mnt/c/Series4Similarity_Search/ecg/ecg-400-q.bin -resfn = /mnt/c/Series4Similarity_Search/ecg/ecg-50-gt.bin -dtwresfn = /mnt/c/Series4Similarity_Search/ecg/ecg-50-gt.bin -dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/ecg/ - -[deep] -tsLength = 96 -paafn = ../data/paa/deep-96-100m-16.bin -saxfn = /mnt/c/Series4Similarity_Search/deep/sax/deep-96-100m-16.bin -idxfn = ../data/IPG/deep-96-100m-16.bin_le -fidxfn = /mnt/c/Series4Similarity_Search/deep/index/ -dstreefn = /mnt/c/Series4Similarity_Search/deep/ds-tree/ -fuzzyidxfn = /mnt/c/Series4Similarity_Search/deep/fuzzy-index/ -datafn = /mnt/c/Series4Similarity_Search/deep/deep1b-96-100m.bin -queryfn = /mnt/c/Series4Similarity_Search/deep/deep1b-96-1k.bin -resfn = /mnt/c/Series4Similarity_Search/deep/deep1b-96-1k-500.bin -tardisfn = /mnt/c/Series4Similarity_Search/deep/tardis/ - -[astro] -paafn = ../data/paa/astro-100m-256-16.bin -saxfn = ../data/sax/astro-100m-256_16.bin -idxfn = ../data/IPG/astro-100m-256_16.bin -fidxfn = ../index/astro/ -tardisfn = ../tardis/astro/ -posidxfn = ../index-pos/astro/ -fuzzyidxfn = ../fuzzy_index/astro/ -datafn = /mnt/c/Series4Similarity_Search/astro/astro-256-100m.bin -queryfn = /mnt/c/Series4Similarity_Search/astro/astro-256-1k.bin -resfn = /mnt/c/Series4Similarity_Search/astro/astro.bin_le -dstreefn = ../data/ds-tree/astro/ - -[sald] -paafn = ../data/paa/sald-100m-128-16.bin -saxfn = ../data/sax/sald-100m-128_16.bin -idxfn = ../data/IPG/sald-100m-128_16.bin -fidxfn = ../index/sald/ -tardisfn = ../tardis/sald/ -posidxfn = ../index-pos/sald/ -fuzzyidxfn = ../fuzzy_index/sald/ -datafn = /mnt/c/Series4Similarity_Search/sald/sald-128-100m.bin -queryfn = /mnt/c/Series4Similarity_Search/sald/sald-128-1k.bin -resfn = /mnt/c/Series4Similarity_Search/sald/sald.bin_le -dstreefn = ../data/ds-tree/sald/ - -[seismic] -paafn = ../data/paa/seismic-256-100m-16.bin -saxfn = ../data/sax/seismic-256-100m-16.bin -idxfn = ../data/IPG/seismic-256-100m_16_penalized.bin_le -fidxfn = ../index/seismic/ -fuzzyidxfn = ../fuzzy_index/seismic/ -datafn = /mnt/c/Series4Similarity_Search/seismic-256-100m.bin -queryfn = /mnt/c/Series4Similarity_Search/seismic-256-1k.bin -resfn = /mnt/c/Series4Similarity_Search/seismic/seismic.bin_le - - -[noaa] -paafn = ../data/paa/noaa-128-93m-16.bin -saxfn = ../data/sax/noaa-128-93m-16.bin -idxfn = ../data/IPG/noaa-128-93m-16.bin -fidxfn = /mnt/c/Series4Similarity_Search/noaa/index/ -posidxfn = ../index-pos/noaa/ -tardisfn = ../tardis/noaa/ -fuzzyidxfn = /mnt/c/Series4Similarity_Search/noaa/fuzzy_index/ -datafn = /mnt/c/Series4Similarity_Search/noaa/noaa-128-93m-32.bin -queryfn = /mnt/c/Series4Similarity_Search/noaa/noaa-128-900.bin -resfn = /mnt/c/Series4Similarity_Search/noaa/noaa-10m.bin -dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/noaa/ +; Test config file for ini_example.c and INIReaderTest.cpp + +[expr] +dataset = rand +;0 for fadas in-memory +;1 for fadas, 2 for fadas fuzzy; +;(3-7 are experimental index, can be ignored) 3 for fadas pos;4 for dynamic, 5 for grid, 6 for cluster, 7 for dynamic cluster, +;8 for isax in-memory +;9 for tardis, 10 for tardis-origin +;11 for ds-tree in-memory +index = 19 +materialized = 1 +;0 for build index, 1 for approx query, 2 for exact search expr, +;3 for only exact search, 4 for index stats, +;5 for incremental search +;6 for approx dtw search, 7 for exact dtw search, +;8 for inc approx. dtw, 9 for complete workload +;10 for ng-search +;11 for parallel exact-search +;12 for Dumpy-vf +;13 for build index parallel +;14 for parallel exact-search DTW +;15 for parallel ng-search +ops = 13 +;50 for ecg on-disk and rand-100m, rand-300m, deep-10m, dna-26m +;500 for seismic,deep1b, +;100 for others +maxK = 50 +;only for exact, ng, and in-memory search and ground truth generation +k = 50 +query_num = 200 +;dna:26339815 +;series_num = 26339815 +series_num = 300000000 +thread_num = 6 +messi_pq_num = 1 +SSD_pq_num = 64 + +dtw_window_percent = 0.05 +batch_size = 1400000 +batch_num = 50 +pre_read = 1 + +[parameter] +th = 10000 +bitsCardinality = 8 +; MB, it is very important for building time(Output time), make it as large as possible +fbl_size = 32768 + +; define a small leaf node (r) +small_perc = 1 +; define the range of fan-outs +f_low = 0.5 +f_high = 1.5 +; weighting factor +alpha = 0.2 +; max-masked-bit-percentage (\rho) +max_mask_bit_percentage = 0.7 + +; fuzzy boundary ratio f +boundary_1st = 0.3 +boundary = 0.3 +max_replica = 2 + +tardis_sample_percent = 1 + +;legacies +filling_factor_1st = 0.8 +filling_factor = 0.5 +max_diff = 3 +max_radius = 6 +imbalance = 0.3 + +[other] +graphfn = ../RowGraph_16_3.bin +bitsReserve = 3 + +[rand] +tsLength = 256 +paafn = /mnt/c/Series4Similarity_Search/rand/paa/rand-256-100m-16.bin +saxfn = /mnt/c/Series4Similarity_Search/rand/sax/rand-256-100m-16.bin +;idxfn = /mnt/c/Series4Similarity_Searchrity_Search/rand/non-mat/cluster/ +;tardisfn = /mnt/c/Series4Similarity_Search/rand/tardis/ +;posidxfn = ../index-pos/rand/ +;fuzzyidxfn = /mnt/c/Series4Similarity_Search/rand/index-16384/ +;fidxfn = /mnt/c/Series4Similarity_Search/rand/index-16384/ +;datafn = /mnt/c/Series4Similarity_Search/rand/rand-16384-1.5m.bin +;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-16384-200.bin +;resfn = /mnt/c/Series4Similarity_Search/rand/rand-16384-200-50.bin +;fidxfn = /mnt/c/Series4Similarity_Search/rand/index-4096/ +;datafn = /mnt/c/Series4Similarity_Search/rand/rand-4096-6m.bin +;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-4096-200.bin +;resfn = /mnt/c/Series4Similarity_Search/rand/rand-4096-200-50.bin +;fuzzyidxfn = /mnt/c/Series4Similarity_Search/rand/index-4096/ +;fidxfn = /mnt/c/Series4Similarity_Search/rand/index-1024/ +;datafn = /mnt/c/Series4Similarity_Search/rand/rand-1024-25m.bin +;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-1024-200.bin +;resfn = /mnt/c/Series4Similarity_Search/rand/rand-1024-200-50.bin +;fuzzyidxfn = /home/wzy/data/rand/fuzzy/ +;fidxfn = /mnt/c/Series4Similarity_Search/rand/index/ +fidxfn = /home/wzy/data/rand/index/ +fuzzyidxfn = /home/wzy/data/rand/fuzzy/ +;datafn = /home/wzy/data/rand/rand-256-100m.bin +datafn = /home/wzy/data/rand/rand-256-300m.bin +;datafn = /mnt/f/Series4Similarity_Search/rand-256-100m.bin +;fidxfn = /mnt/f/Series4Similarity_Search/index-1/ +;queryfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200.bin +;resfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +queryfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200.bin +;queryfn = /home/wzy/data/rand/rand-256-100m.bin +resfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200-50.bin +dtwresfn = /mnt/c/Series4Similarity_Search/rand/rand-256-200-50-dtw2.bin +dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/rand/ + +[dna] +tsLength = 1024 +paafn = /mnt/c/Series4Similarity_Search/dna/paa/dna-1024-26m-16.bin +saxfn = /mnt/c/Series4Similarity_Search/dna/sax/dna-1024-26m-16.bin +idxfn = ../data/IPG/dna-256-117m-16.bin +posidxfn = ../index-pos/dna/ +tardisfn = /mnt/c/Series4Similarity_Search/dna/tardis/ +;fidxfn = /mnt/c/Series4Similarity_Search/dna/index/ +;fuzzyidxfn = /mnt/c/Series4Similarity_Search/dna/fuzzy/ +;datafn = /mnt/c/Series4Similarity_Search/dna/dna-1024-26m.bin +datafn = /home/wzy/data/dna/dna-1024-26m.bin +fidxfn = /home/wzy/data/dna/index/ +fuzzyidxfn = /home/wzy/data/dna/fuzzy/ +queryfn = /mnt/c/Series4Similarity_Search/dna/dna-1024-200.bin +resfn = /mnt/c/Series4Similarity_Search/dna/dna-1024-200-50.bin +dtwresfn = /mnt/c/Series4Similarity_Search/dna/dna-1024-200-50.bin +dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/dna/ + + +[ecg] +tsLength = 320 +paafn = ../data/paa/ecg-97m-320-16.bin +saxfn = /mnt/c/Series4Similarity_Search/ecg/sax/ecg-320-97m-16.bin +idxfn = ../data/IPG/ecg-97m-320_16.bin +fidxfn = /mnt/c/Series4Similarity_Search/ecg/index/ +tardisfn = /mnt/c/Series4Similarity_Search/ecg/tardis/ +posidxfn = ../index-pos/ecg/ +fuzzyidxfn = /mnt/c/Series4Similarity_Search/ecg/fuzzy_index/ +datafn = /mnt/c/Series4Similarity_Search/ecg/ecg-320-97m.bin +queryfn = /mnt/c/Series4Similarity_Search/ecg/ecg-400-q.bin +resfn = /mnt/c/Series4Similarity_Search/ecg/ecg-50-gt.bin +dtwresfn = /mnt/c/Series4Similarity_Search/ecg/ecg-50-gt.bin +dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/ecg/ + +[deep] +tsLength = 96 +paafn = ../data/paa/deep-96-100m-16.bin +saxfn = /mnt/c/Series4Similarity_Search/deep/sax/deep-96-100m-16.bin +idxfn = ../data/IPG/deep-96-100m-16.bin_le +fidxfn = /mnt/c/Series4Similarity_Search/deep/index/ +dstreefn = /mnt/c/Series4Similarity_Search/deep/ds-tree/ +fuzzyidxfn = /mnt/c/Series4Similarity_Search/deep/fuzzy-index/ +datafn = /mnt/c/Series4Similarity_Search/deep/deep1b-96-100m.bin +queryfn = /mnt/c/Series4Similarity_Search/deep/deep1b-96-1k.bin +resfn = /mnt/c/Series4Similarity_Search/deep/deep1b-96-1k-500.bin +tardisfn = /mnt/c/Series4Similarity_Search/deep/tardis/ + +[astro] +paafn = ../data/paa/astro-100m-256-16.bin +saxfn = ../data/sax/astro-100m-256_16.bin +idxfn = ../data/IPG/astro-100m-256_16.bin +fidxfn = ../index/astro/ +tardisfn = ../tardis/astro/ +posidxfn = ../index-pos/astro/ +fuzzyidxfn = ../fuzzy_index/astro/ +datafn = /mnt/c/Series4Similarity_Search/astro/astro-256-100m.bin +queryfn = /mnt/c/Series4Similarity_Search/astro/astro-256-1k.bin +resfn = /mnt/c/Series4Similarity_Search/astro/astro.bin_le +dstreefn = ../data/ds-tree/astro/ + +[sald] +paafn = ../data/paa/sald-100m-128-16.bin +saxfn = ../data/sax/sald-100m-128_16.bin +idxfn = ../data/IPG/sald-100m-128_16.bin +fidxfn = ../index/sald/ +tardisfn = ../tardis/sald/ +posidxfn = ../index-pos/sald/ +fuzzyidxfn = ../fuzzy_index/sald/ +datafn = /mnt/c/Series4Similarity_Search/sald/sald-128-100m.bin +queryfn = /mnt/c/Series4Similarity_Search/sald/sald-128-1k.bin +resfn = /mnt/c/Series4Similarity_Search/sald/sald.bin_le +dstreefn = ../data/ds-tree/sald/ + +[seismic] +paafn = ../data/paa/seismic-256-100m-16.bin +saxfn = ../data/sax/seismic-256-100m-16.bin +idxfn = ../data/IPG/seismic-256-100m_16_penalized.bin_le +fidxfn = ../index/seismic/ +fuzzyidxfn = ../fuzzy_index/seismic/ +datafn = /mnt/c/Series4Similarity_Search/seismic-256-100m.bin +queryfn = /mnt/c/Series4Similarity_Search/seismic-256-1k.bin +resfn = /mnt/c/Series4Similarity_Search/seismic/seismic.bin_le + + +[noaa] +paafn = ../data/paa/noaa-128-93m-16.bin +saxfn = ../data/sax/noaa-128-93m-16.bin +idxfn = ../data/IPG/noaa-128-93m-16.bin +fidxfn = /mnt/c/Series4Similarity_Search/noaa/index/ +posidxfn = ../index-pos/noaa/ +tardisfn = ../tardis/noaa/ +fuzzyidxfn = /mnt/c/Series4Similarity_Search/noaa/fuzzy_index/ +datafn = /mnt/c/Series4Similarity_Search/noaa/noaa-128-93m-32.bin +queryfn = /mnt/c/Series4Similarity_Search/noaa/noaa-128-900.bin +resfn = /mnt/c/Series4Similarity_Search/noaa/noaa-10m.bin +dstreefn = /mnt/c/Series4Similarity_Search/ds-tree/noaa/ diff --git a/include/DataStructures/FADASNode.h b/include/DataStructures/FADASNode.h index 6c3c709..5c5433c 100644 --- a/include/DataStructures/FADASNode.h +++ b/include/DataStructures/FADASNode.h @@ -1,335 +1,348 @@ -// -// Created by wzy on 2021/11/8. -// - -#ifndef MULGIFT_FADASNODE_H -#define MULGIFT_FADASNODE_H -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../Const.h" -#include "TimeSeries.h" -#include "PqItemSeries.h" - -using namespace std; - -struct partUnit{ - int id; - int size; - int pid; - - static bool comp_size(partUnit*x, partUnit*y){ - return x->size > y->size; - } -}; - -struct PAA_INFO{ - double paa_variance[Const::segmentNum]{}; - int paa_up_size[Const::segmentNum]{}, - paa_below_size[Const::segmentNum]{}; -}; - -struct SAX_INFO{ - double sax_variance[Const::segmentNum]{}; - int up_size[Const::segmentNum]{}, - below_size[Const::segmentNum]{}; -}; - -struct FBL_UNIT{ - int size{0}; - float *buffer{nullptr}; - int pos{0}; -}; - -struct SAX_BUF_UNIT{ - int size{0}; - unsigned short *buffer{nullptr}; -}; - -struct LBL_UNIT{ - vectoroffsets; - vectorbuffer; -}; - -struct NODE_RECORDER; - -class FADASNode { - explicit FADASNode(int _layer) { - layer = _layer; - } - FADASNode(int _layer, int pid) { - layer = _layer; - partition_id = pid; - bits_cardinality[0] = -1; - } - // only for node in 1st layer - FADASNode(int _layer, int _size, int _id) { - layer = _layer; - size = _size; - id = _id; - file_id = to_string(id); - chosenSegments.clear(); - for(auto &i:sax) i=0; - for(auto &i:bits_cardinality) i = 1; - } - FADASNode(const FADASNode* parent, int _size, int _id){ - layer = parent->layer + 1; - id = _id; - size = _size; - file_id = parent->file_id + "_" + to_string(id); - chosenSegments.clear(); - } - FADASNode(const FADASNode* parent, int pid){ - layer = parent->layer + 1; - partition_id = pid; - file_id = parent->file_id + "_" + to_string(partition_id); - bits_cardinality[0] = -1; - } - FADASNode(const FADASNode* parent, int _id, bool is_insert){ - layer = parent->layer + 1; - file_id = parent->file_id + "_" + to_string(_id); - size = 1; - id = _id; - } - - static void loadPaa(const string & paafn); - static int loadSax(const string & saxfn); - static long generateSaxAndPaaTbl(); - PAA_INFO* statPaa(); - void chooseSegment(PAA_INFO *paa, int chosen_num); - static int chooseOneSegment(PAA_INFO *node); - void generateSaxAndCardIn1stLayer(int new_id); - void generateSaxAndCardinality(FADASNode *node, int new_id); - void generateSaxAndCardIn1stLayer4LeafNode(int new_id); - void generateSaxAndCardinality4LeafNode(FADASNode *node, int new_id); - static int partition1stLayer(partUnit *nodes_map, vector> *g,double filling_factor); - static int partition(partUnit *nodes_map, int chosen_num); - void growIndex(); - void growIndexLessPack(); - void growIndexFuzzy(unordered_map &navigating_tbl, vector> *g); - - void collectSAXwords(unsigned short *node_saxes, int *cur, vector &leaf_files, vector &sax_files); - void deleteSubtree(); - - void fuzzySeriesInPartUnit(partUnit *part_units, int actual_size, int chosen_num, vector &node_offsets, - vector &series_index_list, - unordered_map &navigating_tbl, int _id) const; - void fuzzy(partUnit *part_units, vector &actual_sizes, vector> &node_offsets, - vector> &series_index_list, int chosen_num, - unordered_map &navigating_tbl) const; - void fuzzySeriesInPartUnitInFirstLayer(vector &part_units, vector &node_offsets, int _id, - unordered_map &navigating_tbl, - vector> &paa_mu_part_units) const; - void fuzzyFirstLayer(vector &part_units, const int *nav_ids, - unordered_map &navigating_tbl, - vector> &paa_mu_part_units) const; - - int getMaxHeight(); - int getNodeNum(); - int getTotalSize(); - int getSumHeight(); - int get1stLayerInterNodesNo(); - int get1stLayerInterNodeSeriesNo(); - int get1stLayerNodesNo(); - - -public: - const static int power_2[]; - static int* mask; - static unsigned short *saxes; - static float *paas; - static int a,b,c; - static int*** combines; - static int * combine_num; - - vectorpos_cache; - unsigned short sax[Const::segmentNum]{}; - vector chosenSegments{}; - vectorchildren; - int size = 0; - int leaf_num = 0; - int id = -1; - string file_id{}; // to identify a particular leaf node - int layer = 0; - int bits_cardinality[Const::segmentNum]{}; - int partition_id = -1; - vector offsets{}; - - FADASNode *route(const unsigned short *_sax); - static FADASNode *BuildIndex(string &datafn, string &saxfn); - static FADASNode *BuildIndexLessPack(string& datafn, string &saxfn, string &paafn, vector> *g); - static FADASNode *BuildIndexPos(string &datafn, string &saxfn, string &paafn, vector> *g); - - [[nodiscard]] string getFileName() const{ - if(layer == 1) return "1_" + to_string(partition_id); - return to_string(layer) + "-" + file_id; - } - inline string getFileNameWrapper() const { - string tmp; - if(layer == 1) tmp = "1_" + to_string(partition_id); - else tmp = to_string(layer) + "-" + file_id; - if(partition_id == -1) tmp += "_L"; - return tmp; - } - [[nodiscard]] string getFileNamePack() const{ - if(layer == 1) { - if(isLeafPack()) return "1_P_" + to_string(partition_id); - if(isLeafNode()) return "1_" + file_id; - } - if(isLeafPack()) return "P-" + to_string(layer) + "-" + file_id; - if(isLeafNode()) return to_string(layer) + "-" + file_id; - } - void getFileNameInsert(const string &index_dir, string &sax_file, string &data_file) const; - [[nodiscard]] bool isLeafNode() const {return size <= Const::th && partition_id == -1;} - [[nodiscard]] bool isLeafPack() const {return size <= Const::th && partition_id != -1;} - [[nodiscard]] bool isInternalNode() const {return size > Const::th;} - void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, - float *query_reordered, int *ordering) const; - void search_SIMD_reordered(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, - float *query_reordered, int *ordering) const; - void search_SIMD(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; - vector* search_SIMD(int k, TimeSeries* queryTs, const string &index_dir, double bsf) const; - void search_SIMD_series_prune(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; - void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; - void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, - std::unordered_set *hash_set) const; - void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir,unordered_set*hash_set, - float *query_reordered, int *ordering) const; - - void search_offset(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; - - static FADASNode* BuildIndexFuzzy(const string & datafn, const string & saxfn, const string &paafn, vector>* g); - - friend class boost::serialization::access; - template - void serialize(Archive &ar, const unsigned int version) { - ar & partition_id; ar & layer; - ar & file_id; ar & id; - ar & size; - ar & sax; ar & bits_cardinality; - ar & children; - ar & chosenSegments; - } - void save2Disk(const string &output) { - ofstream ofs(output.c_str(), ios::binary); - boost::archive::binary_oarchive oa(ofs); - oa << (*this); - ofs.close(); - } - static FADASNode *loadFromDisk(const string &saxfn, const string &idxfn, bool need_sax); - - void getIndexStats(); - int getLeafNodeNum(); - int assignLeafNum(); - int getBiasLeafNodeNum(); - - FADASNode *route1step(const unsigned short *_sax); - - - SAX_INFO *statSAX(); - - static int chooseOneSegment(SAX_INFO *node); - - void chooseSegment(SAX_INFO *sax_info, int chosen_num); - - static FADASNode *BuildIndexWOPack(string &datafn, string &saxfn, string &paafn, vector> *g); - - void growIndexWOPack(); - - static int partitionLessPack(partUnit *nodes_map, int chosen_segment_number); - - static int partitionNew(vector& nodes_map, int chosen_segment_number); - - static int partitionNew(partUnit* nodes_map, int chosen_segment_number); - - void searchLessPack(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; - - void determineSegments(); - - void determineFanout(int *lambda_min, int *lambda_max) const; - - double compute_score(vector &node_sizes, int *plan, int lambda, vector &data_seg_stdev) const; - - void visitPlanFromBaseTable(unordered_set &visited, int cur_lambda, const int *plan, vector &base_tbl, - double *max_score, vector &best_plan, int lambda_min, int mask_code, - vector &data_seg_stdev, double base_score); - - void determineSegmentsCluster(); - - double - compute_score_cluster(vector &node_sizes, vector> &plan_node_seg_mean, vector &seg_mean, - int *plan, int lambda) const; - - void - visitPlanFromBaseTableCluster(unordered_set &visited, int cur_lambda, const int *plan, - vector &base_tbl_size, - vector> &base_tbl_seg_sum, double *max_score, vector &best_plan, - int lambda_min, int mask_code, vector &data_seg_mean); - - double compute_score_cluster_weak(vector &node_sizes, vector> &plan_node_seg_mean, - vector &seg_mean, int *plan, int lambda) const; - - void visitPlanFromBaseTableWeakCluster(unordered_set &visited, int cur_lambda, const int *plan, - vector &base_tbl_size, vector> &base_tbl_seg_sum, - double *max_score, vector &best_plan, int lambda_min, int mask_code, - vector &data_seg_mean); - - void determineSegmentsWeakCluster(); - - void determineSegmentsAvgVariance(); - - void determineSegmentsNaive(); - - void searchDTW(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; - - static long generateSaxTbl(); - - FADASNode(){;} - - static void generateSaxTbl(const float *tss, int series_num); - - void routeDuringInsertion(const unsigned short *_sax, int pos); - - void determineSegments(unsigned short *node_saxes); - - void growIndex(unsigned short *node_saxes, bool need_free); - - void reorganize(float *tss, FADASNode *parent); - - void insertBatch(float *tss, int batch_size); - - static void loadCombines(); - - void getBoundRange(double *sum, double *sum_square, int *leafNum, double *sum_dist); -}; - -struct NODE_RECORDER{ - int actual_size{0}; - vectorseries_index_list{}; - - explicit NODE_RECORDER(int act_size, FADASNode *node) { - actual_size = act_size; - // internal node stores all series index list - series_index_list.resize(node->size); - for(int i=0;isize;++i) - series_index_list[i] = i; - } - - NODE_RECORDER(int size, vector&index_list){ - actual_size = size; - series_index_list.resize(index_list.size()); - copy(index_list.begin(), index_list.end(), series_index_list.begin()); - } - - NODE_RECORDER(){actual_size = 0;} -}; - - -#endif //MULGIFT_FADASNODE_H +// +// Created by wzy on 2021/11/8. +// + +#ifndef MULGIFT_FADASNODE_H +#define MULGIFT_FADASNODE_H +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../Const.h" +#include "TimeSeries.h" +#include "PqItemSeries.h" + +using namespace std; + +struct partUnit{ + int id; + int size; + int pid; + + static bool comp_size(partUnit*x, partUnit*y){ + return x->size > y->size; + } +}; + +struct PAA_INFO{ + double paa_variance[Const::segmentNum]{}; + int paa_up_size[Const::segmentNum]{}, + paa_below_size[Const::segmentNum]{}; +}; + +struct SAX_INFO{ + double sax_variance[Const::segmentNum]{}; + int up_size[Const::segmentNum]{}, + below_size[Const::segmentNum]{}; +}; + +struct FBL_UNIT{ + int size{0}; + float *buffer{nullptr}; + int pos{0}; +}; + +struct SAX_BUF_UNIT{ + int size{0}; + unsigned short *buffer{nullptr}; +}; + +struct LBL_UNIT{ + vectoroffsets; + vectorbuffer; +}; + +struct NODE_RECORDER; + +class FADASNode { + explicit FADASNode(int _layer) { + layer = _layer; + } + FADASNode(int _layer, int pid) { + layer = _layer; + partition_id = pid; + bits_cardinality[0] = -1; + } + // only for node in 1st layer + FADASNode(int _layer, int _size, int _id) { + layer = _layer; + size = _size; + id = _id; + file_id = to_string(id); + chosenSegments.clear(); + for(auto &i:sax) i=0; + for(auto &i:bits_cardinality) i = 1; + } + FADASNode(const FADASNode* parent, int _size, int _id){ + layer = parent->layer + 1; + id = _id; + size = _size; + file_id = parent->file_id + "_" + to_string(id); + chosenSegments.clear(); + } + FADASNode(const FADASNode* parent, int pid){ + layer = parent->layer + 1; + partition_id = pid; + file_id = parent->file_id + "_" + to_string(partition_id); + bits_cardinality[0] = -1; + } + FADASNode(const FADASNode* parent, int _id, bool is_insert){ + layer = parent->layer + 1; + file_id = parent->file_id + "_" + to_string(_id); + size = 1; + id = _id; + } + + static void loadPaa(const string & paafn); + static int loadSax(const string & saxfn); + static int loadSax2(const string & saxfn); + static long generateSaxAndPaaTbl(); + static long generateSaxTblParallel2(); + PAA_INFO* statPaa(); + void chooseSegment(PAA_INFO *paa, int chosen_num); + static int chooseOneSegment(PAA_INFO *node); + void generateSaxAndCardIn1stLayer(int new_id); + void generateSaxAndCardinality(FADASNode *node, int new_id); + void generateSaxAndCardIn1stLayer4LeafNode(int new_id); + void generateSaxAndCardinality4LeafNode(FADASNode *node, int new_id); + static int partition1stLayer(partUnit *nodes_map, vector> *g,double filling_factor); + static int partition(partUnit *nodes_map, int chosen_num); + + void growIndexLessPack(); + void growIndexFuzzy(unordered_map &navigating_tbl, vector> *g); + + void collectSAXwords(unsigned short *node_saxes, int *cur, vector &leaf_files, vector &sax_files); + void deleteSubtree(); + + void fuzzySeriesInPartUnit(partUnit *part_units, int actual_size, int chosen_num, vector &node_offsets, + vector &series_index_list, + unordered_map &navigating_tbl, int _id) const; + void fuzzy(partUnit *part_units, vector &actual_sizes, vector> &node_offsets, + vector> &series_index_list, int chosen_num, + unordered_map &navigating_tbl) const; + void fuzzySeriesInPartUnitInFirstLayer(vector &part_units, vector &node_offsets, int _id, + unordered_map &navigating_tbl, + vector> &paa_mu_part_units) const; + void fuzzyFirstLayer(vector &part_units, const int *nav_ids, + unordered_map &navigating_tbl, + vector> &paa_mu_part_units) const; + + int getMaxHeight(); + int getNodeNum(); + int getTotalSize(); + int getSumHeight(); + int get1stLayerInterNodesNo(); + int get1stLayerInterNodeSeriesNo(); + int get1stLayerNodesNo(); + static long generateSaxTblParallel(); + + +public: + const static int power_2[]; + static int* mask; + static unsigned short *saxes; + static unsigned short**sax_tbl; + static float *paas; + static int a,b,c; + static int*** combines; + static int * combine_num; + vector sax_buffer; // only for leaf node/pack + + vectorpos_cache; + unsigned short sax[Const::segmentNum]{}; + vector chosenSegments{}; + vectorchildren; + int size = 0; + int leaf_num = 0; + int id = -1; + string file_id{}; // to identify a particular leaf node + int layer = 0; + int bits_cardinality[Const::segmentNum]{}; + int partition_id = -1; + vector offsets{}; + + FADASNode *route(const unsigned short *_sax); + FADASNode* routeFuzzySeries(const unsigned short *_sax); + static FADASNode *BuildIndex(string &datafn, string &saxfn); + static FADASNode *BuildIndexParallel(string &datafn, string &saxfn); + static FADASNode *BuildIndexLessPack(string& datafn, string &saxfn, string &paafn, vector> *g); + static FADASNode *BuildIndexPos(string &datafn, string &saxfn, string &paafn, vector> *g); + + [[nodiscard]] string getFileName() const{ + if(layer == 1) return "1_" + to_string(partition_id); + return to_string(layer) + "-" + file_id; + } + inline string getFileNameWrapper() const { + string tmp; + if(layer == 1) tmp = "1_" + to_string(partition_id); + else tmp = to_string(layer) + "-" + file_id; + if(partition_id == -1) tmp += "_L"; + return tmp; + } + [[nodiscard]] string getFileNamePack() const{ + if(layer == 1) { + if(isLeafPack()) return "1_P_" + to_string(partition_id); + if(isLeafNode()) return "1_" + file_id; + } + if(isLeafPack()) return "P-" + to_string(layer) + "-" + file_id; + if(isLeafNode()) return to_string(layer) + "-" + file_id; + } + void getFileNameInsert(const string &index_dir, string &sax_file, string &data_file) const; + [[nodiscard]] bool isLeafNode() const {return size <= Const::th && partition_id == -1;} + [[nodiscard]] bool isLeafPack() const {return size <= Const::th && partition_id != -1;} + [[nodiscard]] bool isInternalNode() const {return size > Const::th;} + void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, + float *query_reordered, int *ordering) const; + void search_SIMD_reordered(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, + float *query_reordered, int *ordering) const; + void search_SIMD(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; + vector* search_SIMD(int k, TimeSeries* queryTs, const string &index_dir, double bsf) const; + void search_SIMD_series_prune(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; + void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; + void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, + std::unordered_set *hash_set) const; + void search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir,unordered_set*hash_set, + float *query_reordered, int *ordering) const; + + void search_offset(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; + + static FADASNode* BuildIndexFuzzy(const string & datafn, const string & saxfn, const string &paafn, vector>* g); + + friend class boost::serialization::access; + template + void serialize(Archive &ar, const unsigned int version) { + ar & partition_id; ar & layer; + ar & file_id; ar & id; + ar & size; + ar & sax; ar & bits_cardinality; + ar & children; + ar & chosenSegments; + } + void save2Disk(const string &output) { + ofstream ofs(output.c_str(), ios::binary); + boost::archive::binary_oarchive oa(ofs); + oa << (*this); + ofs.close(); + } + static FADASNode *loadFromDisk(const string &saxfn, const string &idxfn, bool need_sax); + + void getIndexStats(); + int getLeafNodeNum(); + int assignLeafNum(); + int getBiasLeafNodeNum(); + + FADASNode *route1step(const unsigned short *_sax); + + + SAX_INFO *statSAX(); + + static int chooseOneSegment(SAX_INFO *node); + + void chooseSegment(SAX_INFO *sax_info, int chosen_num); + + static FADASNode *BuildIndexWOPack(string &datafn, string &saxfn, string &paafn, vector> *g); + + void growIndexWOPack(); + + static int partitionLessPack(partUnit *nodes_map, int chosen_segment_number); + + static int partitionNew(vector& nodes_map, int chosen_segment_number); + + static int partitionNew(partUnit* nodes_map, int chosen_segment_number); + + void searchLessPack(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; + + void determineSegments(); + + void determineSegments2(); + + void determineFanout(int *lambda_min, int *lambda_max) const; + + double compute_score(vector &node_sizes, int *plan, int lambda, vector &data_seg_stdev) const; + + void visitPlanFromBaseTable(unordered_set &visited, int cur_lambda, const int *plan, vector &base_tbl, + double *max_score, vector &best_plan, int lambda_min, int mask_code, + vector &data_seg_stdev, double base_score); + + void determineSegmentsCluster(); + + double + compute_score_cluster(vector &node_sizes, vector> &plan_node_seg_mean, vector &seg_mean, + int *plan, int lambda) const; + + void + visitPlanFromBaseTableCluster(unordered_set &visited, int cur_lambda, const int *plan, + vector &base_tbl_size, + vector> &base_tbl_seg_sum, double *max_score, vector &best_plan, + int lambda_min, int mask_code, vector &data_seg_mean); + + double compute_score_cluster_weak(vector &node_sizes, vector> &plan_node_seg_mean, + vector &seg_mean, int *plan, int lambda) const; + + void visitPlanFromBaseTableWeakCluster(unordered_set &visited, int cur_lambda, const int *plan, + vector &base_tbl_size, vector> &base_tbl_seg_sum, + double *max_score, vector &best_plan, int lambda_min, int mask_code, + vector &data_seg_mean); + + void determineSegmentsWeakCluster(); + + void determineSegmentsAvgVariance(); + + void determineSegmentsNaive(); + + void searchDTW(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const; + + static long generateSaxTbl(); + + FADASNode(){;} + + static void generateSaxTbl(const float *tss, int series_num); + + void routeDuringInsertion(const unsigned short *_sax, int pos); + + void determineSegments(unsigned short *node_saxes); + + void growIndex(unsigned short *node_saxes, bool need_free); + + void reorganize(float *tss, FADASNode *parent); + + void insertBatch(float *tss, int batch_size); + + static void loadCombines(); + + void getBoundRange(double *sum, double *sum_square, int *leafNum, double *sum_dist); + + void growIndex(); + + void growIndexParallel(); +}; + +struct NODE_RECORDER{ + int actual_size{0}; + vectorseries_index_list{}; + + explicit NODE_RECORDER(int act_size, FADASNode *node) { + actual_size = act_size; + // internal node stores all series index list + series_index_list.resize(node->size); + for(int i=0;isize;++i) + series_index_list[i] = i; + } + + NODE_RECORDER(int size, vector&index_list){ + actual_size = size; + series_index_list.resize(index_list.size()); + copy(index_list.begin(), index_list.end(), series_index_list.begin()); + } + + NODE_RECORDER(){actual_size = 0;} +}; + + +#endif //MULGIFT_FADASNODE_H diff --git a/include/DataStructures/IPGDataNode.h b/include/DataStructures/IPGDataNode.h index 16d06f2..7d95672 100644 --- a/include/DataStructures/IPGDataNode.h +++ b/include/DataStructures/IPGDataNode.h @@ -1,36 +1,36 @@ -// -// Created by pengwang5 on 2021/12/7. -// - -#ifndef MULGIFT_IPGDATANODE_H -#define MULGIFT_IPGDATANODE_H -#include -#include -#include -#include -#include -#include "../Const.h" -using namespace std; - -// a data node must be a leaf node -class IPGDataNode { -public: - int size{}; - - IPGDataNode(){ - size = 0; - } - - explicit IPGDataNode(int _size){ - size = _size; - } - - friend class boost::serialization::access; - template - void serialize(Archive &ar, const unsigned int version){ - ar & size; - } -}; - - -#endif //MULGIFT_IPGDATANODE_H +// +// Created by pengwang5 on 2021/12/7. +// + +#ifndef MULGIFT_IPGDATANODE_H +#define MULGIFT_IPGDATANODE_H +#include +#include +#include +#include +#include +#include "../Const.h" +using namespace std; + +// a data node must be a leaf node +class IPGDataNode { +public: + int size{}; + + IPGDataNode(){ + size = 0; + } + + explicit IPGDataNode(int _size){ + size = _size; + } + + friend class boost::serialization::access; + template + void serialize(Archive &ar, const unsigned int version){ + ar & size; + } +}; + + +#endif //MULGIFT_IPGDATANODE_H diff --git a/include/DataStructures/OffsetDist.h b/include/DataStructures/OffsetDist.h index ce369b3..52776b6 100644 --- a/include/DataStructures/OffsetDist.h +++ b/include/DataStructures/OffsetDist.h @@ -1,23 +1,23 @@ -// -// Created by zywang on 2021/12/12. -// - -#ifndef MULGIFT_OFFSETDIST_H -#define MULGIFT_OFFSETDIST_H -struct OffsetDist{ - long offset; - double dist; - - OffsetDist(int o, double d){offset = o; dist =d;} -}; -struct OffsetDistMinHeap{ - bool operator()(const OffsetDist* x, const OffsetDist* y){ - return x->dist > y->dist; - } -}; -struct OffsetDistMaxHeap{ - bool operator()(const OffsetDist* x, const OffsetDist* y){ - return x->dist < y->dist; - } -}; -#endif //MULGIFT_OFFSETDIST_H +// +// Created by zywang on 2021/12/12. +// + +#ifndef MULGIFT_OFFSETDIST_H +#define MULGIFT_OFFSETDIST_H +struct OffsetDist{ + long offset; + double dist; + + OffsetDist(int o, double d){offset = o; dist =d;} +}; +struct OffsetDistMinHeap{ + bool operator()(const OffsetDist* x, const OffsetDist* y){ + return x->dist > y->dist; + } +}; +struct OffsetDistMaxHeap{ + bool operator()(const OffsetDist* x, const OffsetDist* y){ + return x->dist < y->dist; + } +}; +#endif //MULGIFT_OFFSETDIST_H diff --git a/include/DataStructures/SafeHashMap.h b/include/DataStructures/SafeHashMap.h index 6d7c704..86a4838 100644 --- a/include/DataStructures/SafeHashMap.h +++ b/include/DataStructures/SafeHashMap.h @@ -1,237 +1,237 @@ -// -// Created by pengwang5 on 2022/12/12. -// - -#ifndef FADAS_SAFEHASHMAP_H -#define FADAS_SAFEHASHMAP_H -#include -#include -#include -#include -#include - -template class HashNode -{ -public: - HashNode() - { - } - HashNode(K key_, V value_) : key(key_), value(value_) - { - } - ~HashNode() - { - next = nullptr; - } - - HashNode(const HashNode&) = delete; - HashNode(HashNode&&) = delete; - HashNode& operator=(const HashNode&) = delete; - HashNode& operator=(HashNode&&) = delete; - - - const K &getKey() const - { - return key; - } - void setValue(V value_) - { - value = value_; - } - const V &getValue() const - { - return value; - } - - HashNode *next = nullptr; // Pointer to the next node in the same bucket -private: - K key; // the hash key - V value; // the value corresponding to the key -}; - -template class HashBucket -{ -public: - HashBucket() - { - } - - ~HashBucket() // delete the bucket - { - clear(); - } - - // Function to find an entry in the bucket matching the key - // If key is found, the corresponding value is copied into the parameter "value" and function returns true. - // If key is not found, function returns false - bool find(const K &key, V &value) const - { - // A shared mutex is used to enable mutiple concurrent reads - std::shared_lock lock(mutex_); - HashNode *node = head; - - while (node != nullptr) - { - if (node->getKey() == key) - { - value = node->getValue(); - return true; - } - node = node->next; - } - return false; - } - - // Function to insert into the bucket - // If key already exists, update the value, else insert a new node in the bucket with the pair - void insert(const K &key, const V &value) - { - // Exclusive lock to enable single write in the bucket - std::unique_lock lock(mutex_); - HashNode *prev = nullptr; - HashNode *node = head; - - while (node != nullptr && node->getKey() != key) - { - prev = node; - node = node->next; - } - - if (nullptr == node) // New entry, create a node and add to bucket - { - if (nullptr == head) - { - head = new HashNode(key, value); - } - else - { - prev->next = new HashNode(key, value); - } - } - else - { - node->setValue(value); // Key found in bucket, update the value - } - } - - // Function to remove an entry from the bucket, if found - void erase(const K &key) - { - // Exclusive lock to enable single write in the bucket - std::unique_lock lock(mutex_); - HashNode *prev = nullptr; - HashNode *node = head; - - while (node != nullptr && node->getKey() != key) - { - prev = node; - node = node->next; - } - - if (nullptr == node) // Key not found, nothing to be done - { - return; - } - else // Remove the node from the bucket - { - if (head == node) - { - head = node->next; - } - else - { - prev->next = node->next; - } - delete node; // Free up the memory - } - } - - // Function to clear the bucket - void clear() - { - // Exclusive lock to enable single write in the bucket - std::unique_lock lock(mutex_); - HashNode *prev = nullptr; - HashNode *node = head; - while (node != nullptr) - { - prev = node; - node = node->next; - delete prev; - } - head = nullptr; - } - -private: - HashNode *head = nullptr; // The head node of the bucket - mutable std::shared_timed_mutex mutex_; // The mutex for this bucket -}; - -constexpr size_t HASH_SIZE_DEFAULT = 1031; // A prime number as hash size gives a better distribution of values in buckets - -// The class represting the hash map. -// It is expected for user defined types, the hash function will be provided. -// By default, the std::hash function will be used -// If the hash size is not provided, then a defult size of 1031 will be used -// The hash table itself consists of an array of hash buckets. -// Each hash bucket is implemented as singly linked list with the head as a dummy node created -// during the creation of the bucket. All the hash buckets are created during the construction of the map. -// Locks are taken per bucket, hence multiple threads can write simultaneously in different buckets in the hash map -template > class SafeHashMap -{ -public: - SafeHashMap(size_t hashSize_ = HASH_SIZE_DEFAULT) : hashSize(hashSize_) - { - hashTable = new HashBucket[hashSize]; // create the hash table as an array of hash buckets - } - - ~SafeHashMap() - { - delete[] hashTable; - } - // Copy and Move of the HashMap are not supported at this moment - SafeHashMap(const SafeHashMap&) = delete; - SafeHashMap(SafeHashMap&&) = delete; - SafeHashMap& operator=(const SafeHashMap&) = delete; - SafeHashMap& operator=(SafeHashMap&&) = delete; - - // Function to find an entry in the hash map matching the key. - // If key is found, the corresponding value is copied into the parameter "value" and function returns true. - // If key is not found, function returns false. - bool find(const K &key, V &value) const - { - size_t hashValue = hashFn(key) % hashSize; - return hashTable[hashValue].find(key, value); - } - - // Function to insert into the hash map. - // If key already exists, update the value, else insert a new node in the bucket with the pair. - void insert(const K &key, const V &value) - { - size_t hashValue = hashFn(key) % hashSize; - hashTable[hashValue].insert(key, value); - } - - // Function to remove an entry from the bucket, if found - void erase(const K &key) - { - size_t hashValue = hashFn(key) % hashSize; - hashTable[hashValue].erase(key); - } - - // Function to clean up the hasp map, i.e., remove all entries from it - void clear() - { - for (size_t i = 0; i < hashSize; i++) - { - (hashTable[i]).clear(); - } - } - -private: - HashBucket *hashTable; - F hashFn; - const size_t hashSize; -}; - -#endif //FADAS_SAFEHASHMAP_H +// +// Created by pengwang5 on 2022/12/12. +// + +#ifndef FADAS_SAFEHASHMAP_H +#define FADAS_SAFEHASHMAP_H +#include +#include +#include +#include +#include + +template class HashNode +{ +public: + HashNode() + { + } + HashNode(K key_, V value_) : key(key_), value(value_) + { + } + ~HashNode() + { + next = nullptr; + } + + HashNode(const HashNode&) = delete; + HashNode(HashNode&&) = delete; + HashNode& operator=(const HashNode&) = delete; + HashNode& operator=(HashNode&&) = delete; + + + const K &getKey() const + { + return key; + } + void setValue(V value_) + { + value = value_; + } + const V &getValue() const + { + return value; + } + + HashNode *next = nullptr; // Pointer to the next node in the same bucket +private: + K key; // the hash key + V value; // the value corresponding to the key +}; + +template class HashBucket +{ +public: + HashBucket() + { + } + + ~HashBucket() // delete the bucket + { + clear(); + } + + // Function to find an entry in the bucket matching the key + // If key is found, the corresponding value is copied into the parameter "value" and function returns true. + // If key is not found, function returns false + bool find(const K &key, V &value) const + { + // A shared mutex is used to enable mutiple concurrent reads + std::shared_lock lock(mutex_); + HashNode *node = head; + + while (node != nullptr) + { + if (node->getKey() == key) + { + value = node->getValue(); + return true; + } + node = node->next; + } + return false; + } + + // Function to insert into the bucket + // If key already exists, update the value, else insert a new node in the bucket with the pair + void insert(const K &key, const V &value) + { + // Exclusive lock to enable single write in the bucket + std::unique_lock lock(mutex_); + HashNode *prev = nullptr; + HashNode *node = head; + + while (node != nullptr && node->getKey() != key) + { + prev = node; + node = node->next; + } + + if (nullptr == node) // New entry, create a node and add to bucket + { + if (nullptr == head) + { + head = new HashNode(key, value); + } + else + { + prev->next = new HashNode(key, value); + } + } + else + { + node->setValue(value); // Key found in bucket, update the value + } + } + + // Function to remove an entry from the bucket, if found + void erase(const K &key) + { + // Exclusive lock to enable single write in the bucket + std::unique_lock lock(mutex_); + HashNode *prev = nullptr; + HashNode *node = head; + + while (node != nullptr && node->getKey() != key) + { + prev = node; + node = node->next; + } + + if (nullptr == node) // Key not found, nothing to be done + { + return; + } + else // Remove the node from the bucket + { + if (head == node) + { + head = node->next; + } + else + { + prev->next = node->next; + } + delete node; // Free up the memory + } + } + + // Function to clear the bucket + void clear() + { + // Exclusive lock to enable single write in the bucket + std::unique_lock lock(mutex_); + HashNode *prev = nullptr; + HashNode *node = head; + while (node != nullptr) + { + prev = node; + node = node->next; + delete prev; + } + head = nullptr; + } + +private: + HashNode *head = nullptr; // The head node of the bucket + mutable std::shared_timed_mutex mutex_; // The mutex for this bucket +}; + +constexpr size_t HASH_SIZE_DEFAULT = 1031; // A prime number as hash size gives a better distribution of values in buckets + +// The class representing the hash map. +// It is expected for user defined types, the hash function will be provided. +// By default, the std::hash function will be used +// If the hash size is not provided, then a default size of 1031 will be used +// The hash table itself consists of an array of hash buckets. +// Each hash bucket is implemented as singly linked list with the head as a dummy node created +// during the creation of the bucket. All the hash buckets are created during the construction of the map. +// Locks are taken per bucket, hence multiple threads can write simultaneously in different buckets in the hash map +template > class SafeHashMap +{ +public: + SafeHashMap(size_t hashSize_ = HASH_SIZE_DEFAULT) : hashSize(hashSize_) + { + hashTable = new HashBucket[hashSize]; // create the hash table as an array of hash buckets + } + + ~SafeHashMap() + { + delete[] hashTable; + } + // Copy and Move of the HashMap are not supported at this moment + SafeHashMap(const SafeHashMap&) = delete; + SafeHashMap(SafeHashMap&&) = delete; + SafeHashMap& operator=(const SafeHashMap&) = delete; + SafeHashMap& operator=(SafeHashMap&&) = delete; + + // Function to find an entry in the hash map matching the key. + // If key is found, the corresponding value is copied into the parameter "value" and function returns true. + // If key is not found, function returns false. + bool find(const K &key, V &value) const + { + size_t hashValue = hashFn(key) % hashSize; + return hashTable[hashValue].find(key, value); + } + + // Function to insert into the hash map. + // If key already exists, update the value, else insert a new node in the bucket with the pair. + void insert(const K &key, const V &value) + { + size_t hashValue = hashFn(key) % hashSize; + hashTable[hashValue].insert(key, value); + } + + // Function to remove an entry from the bucket, if found + void erase(const K &key) + { + size_t hashValue = hashFn(key) % hashSize; + hashTable[hashValue].erase(key); + } + + // Function to clean up the hasp map, i.e., remove all entries from it + void clear() + { + for (size_t i = 0; i < hashSize; i++) + { + (hashTable[i]).clear(); + } + } + +private: + HashBucket *hashTable; + F hashFn; + const size_t hashSize; +}; + +#endif //FADAS_SAFEHASHMAP_H diff --git a/include/DataStructures/SafePq.h b/include/DataStructures/SafePq.h index f96f793..69c5695 100644 --- a/include/DataStructures/SafePq.h +++ b/include/DataStructures/SafePq.h @@ -1,1825 +1,1825 @@ -// -// Created by pengwang5 on 2022/12/11. -// - -#ifndef FADAS_SAFEPQ_H -#define FADAS_SAFEPQ_H - -#include -#include -#include -#include -#include -#include -#include - -template -struct ConditionVarTraits; - -template <> -struct ConditionVarTraits { - static void initialize(std::condition_variable& cond_var) { - } - - static void signal(std::condition_variable& cond_var) { - cond_var.notify_one(); - } - - static void broadcast(std::condition_variable& cond_var) { - cond_var.notify_all(); - } - - static void wait(std::condition_variable& cond_var, - std::unique_lock& lock) { - cond_var.wait(lock); - } - - template static bool wait_for( - std::condition_variable& cond_var, - std::unique_lock& lock, - const std::chrono::duration& rel_time) { - return std::cv_status::timeout == cond_var.wait_for(lock, rel_time); - } -}; - -/// @class ConditionVariable -/// The ConditionVariable class wraps a operating system ConditionVariable. -/// -/// In addition, it implements support for attaching and detaching workers -/// to the condition variable. -/// @tparam ThreadContainerType The type of thread Container. -/// @tparam SignalStrategyType The type of signal policy. -/// @see NotEmptySignalStrategy -/// @see NotFullSignalStrategy -template -class ConditionVariable { -public: - /// Initializes a new instance of the ConditionVariable class without an - /// upper-bound. - ConditionVariable() - : total_workers_(0), active_workers_(0), bounded_capacity_(SIZE_MAX), - item_count_(0) { - ConditionVarTraits::initialize( - condition_var_); - } - - ~ConditionVariable() { - } - - // "ConditionVariable" objects cannot be copied or assigned - ConditionVariable(const ConditionVariable&) = delete; - ConditionVariable& operator=(const ConditionVariable&) = delete; - - /// Gets the number of workers attached to this condition variable. - /// @return The number of workers attached to this condition variable. - /// @see Attach - size_t total() const { - return total_workers_; - } - - /// Gets the number of active workers for this condition variable. - /// active workers are workers that are currently NOT waiting on this - /// condition variable. - /// @return The number of active workers. - size_t active() const { - return active_workers_; - } - - /// Gets the bounded capacity of this condition variable instance. - /// @return The bounded capacity of this condition variable. - size_t bounded_capacity() const { - return bounded_capacity_; - } - - /// Sets the bounded capacity of this condition variable instance. - void bounded_capacity(size_t capacity) { - bounded_capacity_ = capacity; - } - - /// Gets the number of items contained in this condition variable - /// instance. - /// @return The number of items - size_t size() const { - return item_count_; - } - - /// Set the number of items contained in this condition variable - /// instance. - void size(size_t count) { - item_count_ = count; - } - - /// Registers the a worker with this condition variable. - /// If the worker is already registered then this method has no effect. - /// @see Detach - void attach() { - if (container_.add()) { - increment_total(); - increment_active(); - } - } - - /// Unregisters the worker from this condition variable. - /// If the worker was not previously registered then this method has - /// no effect. - /// @see Attach - void detach() { - if (container_.remove()) { - decrement_total(); - decrement_active(); - } - - if (total_workers_ > 0 && active_workers_ == 0) { - increment_active(); - ConditionVarTraits::signal( - condition_var_); - } - } - - /// Wakes up a worker waiting on this condition variable. - void signal() { - // if no workers attached always signal! - if (total_workers_ == 0) { - ConditionVarTraits::signal( - condition_var_); - return; - } - // issue a signal only when there are no active workers, or when - // the count starts to grow beyond a threshold level - if (signal_.should_signal(active_workers_, total_workers_, - item_count_, bounded_capacity_)) { - increment_active(); - ConditionVarTraits::signal( - condition_var_); - } - } - - /// Wakes up all workers waiting on this condition variable. - void broadcast() { - if (total_workers_ != 0) { - // set active only if workers attached - active(total_workers_); - } - ConditionVarTraits::broadcast( - condition_var_); - } - - /// Waits indefinitely for this condition variable to become signaled. - /// @param lock An object of type std::unique_lock which must be locked - /// by the current thread. - void wait(std::unique_lock& lock) { - decrement_active(); - ConditionVarTraits::wait( - condition_var_, lock); - } - - /// Waits up to specified duration for this condition variable to become - /// signaled. - /// @param lock An object of type std::unique_lock which must be locked - /// by the current thread. - /// @param rel_time An object of type std::chrono::duration representing - /// the maximum time to spend waiting. - template bool wait_for( - std::unique_lock& lock, - const std::chrono::duration& rel_time) { - decrement_active(); - - bool timed_out = - ConditionVarTraits::wait_for( - condition_var_, lock, rel_time); - - if (timed_out) { - increment_active(); - } - - return timed_out; - } - -private: - /// Sets the number of active workers for this condition variable. - /// @param active The number of active workers. - void active(size_t active) { - active_workers_ = active > total_workers_ ? total_workers_ : active; - } - - /// Increments the total worker count for this condition variable by 1. - void increment_total() { - total_workers_ += 1; - } - - /// Decrements the total worker count for this condition variable by 1. - void decrement_total() { - total_workers_ = total_workers_ > 0 ? total_workers_ - 1 : 0; - } - - /// Increments the active worker count for this condition variable by 1. - void increment_active() { - if (++active_workers_ > total_workers_) - active_workers_ = total_workers_; - } - - /// Decrements the active worker count for this condition variable by 1. - void decrement_active() { - active_workers_ = active_workers_ > 0 ? active_workers_ - 1 : 0; - } - - size_t total_workers_; - size_t active_workers_; - size_t bounded_capacity_; - size_t item_count_; - - ConditionVarType condition_var_; - ThreadContainerType container_; - SignalStrategyType signal_; -}; - -/// @class NotEmptySignalStrategy -/// -/// A strategy object for determining whether or not a "not empty" condition -/// variable should issue a signal. -/// -/// This strategy will only return true if there are no active workers -/// (i.e. all workers are waiting -/// on empty BlockingCollection). Or when the BlockingCollection's element -/// count starts to grow beyond a -/// threshold level. -/// -/// This approach minimizes condition variable sleeps, wakes and lock -/// contention. Which in turn, -/// improves performance and makes it more predictable. -/// @tparam ItemsPerThread The number of items to allow per thread. -/// @see ConditionVariable -/// @see NotFullSignalStrategy -template struct NotEmptySignalStrategy { - bool should_signal(size_t active_workers, size_t total_workers, - size_t item_count, size_t /*capacity*/) const { - return active_workers == 0 || (active_workers < total_workers && - item_count / active_workers > ItemsPerThread); - } -}; - -/// @class NotFullSignalStrategy -/// -/// A strategy object for determining whether or not a "not full" condition -/// variable should issue a signal. -/// -/// This strategy will only return true if there are no active workers -/// (i.e. all workers are -/// waiting on a full BlockingCollection). Or when the BlockingCollection's -/// available capacity -/// starts to grow beyond a threshold level. -/// -/// This approach minimizes condition variable sleeps, wakes and lock -/// contention. Which in turn, -/// improves performance and makes it more predictable. -/// @tparam ItemsPerThread The number of items to allow per thread. -/// @see ConditionVariable -/// @see NotEmptySignalStrategy -template struct NotFullSignalStrategy { - bool should_signal(size_t active_workers, size_t total_workers, - size_t item_count, size_t capacity) const { - return (active_workers == 0 || (active_workers < total_workers && - (capacity - item_count) / active_workers > ItemsPerThread)); - } -}; - -/// @class ConditionVariableGenerator -/// -/// Generates the "not full" and "not empty" condition variables for -/// the specified ThreadContainerType. -/// -/// @tparam ThreadContainerType The thread Container policy to use when -/// generating the condition variables. -template struct ConditionVariableGenerator { - using NotFullType = ConditionVariable; - using NotEmptyType = ConditionVariable; - - using lock_type = LockType; -}; - -template -struct ThreadContainerTraits; - -template <> -struct ThreadContainerTraits { - static std::thread::id get_thread_id() { - return std::this_thread::get_id(); - } -}; - -/// @class ThreadContainer -/// This class adds and removes the specified thread type from the -/// Container. -/// @tparam T The thread type. -template class ThreadContainer { -public: - ThreadContainer() { - } - - /// Adds the calling thread to the Container. - /// @returns True if the calling thread was added to Container. - /// Otherwise false. - bool add() { - T id = ThreadContainerTraits::get_thread_id(); - - typename std::unordered_set::iterator itr = thread_id_.find(id); - - if (itr != thread_id_.end()) { - return false; - } - - thread_id_.insert(id); - return true; - } - - /// Removes the calling thread from the Container. - /// @returns True if the calling thread was removed from Container. - /// Otherwise false. - bool remove() { - if (thread_id_.erase(ThreadContainerTraits::get_thread_id()) - > 0) { - return true; - } - return false; - } - -private: - std::unordered_set thread_id_; -}; - -namespace detail { - struct QueueType {}; - struct StackType {}; - - template< typename T > - struct is_queue : std::false_type { }; - - template<> - struct is_queue : std::true_type {}; - - /// @class Container - /// - /// Represents a first in-first out (FIFO) or a last in-first out - /// (LIFO) collection depending on - /// the ContainerType template parameter value. - /// - /// Implements the implicitly defined IProducerConsumerCollection - /// policy. - /// @tparam T The type of items in the Container. - /// @tparam ContainerType The type of Container (i.e. Queue or Stack). - template - class Container { - public: - using container_type = std::deque; - using value_type = typename container_type::value_type; - using size_type = typename container_type::size_type; - - /// Initializes a new instance of the Container class. - Container() - : bounded_capacity_(SIZE_MAX) { - } - - /// Sets the max number of elements this container can hold. - /// @param bounded_capacity The max number of elements this - /// container can hold. - void bounded_capacity(size_t bounded_capacity) { - bounded_capacity_ = bounded_capacity; - } - - /// Gets the max number of elements this container can hold. - /// @returns The max number of elements this container can hold. - size_t bounded_capacity() { - return bounded_capacity_; - } - - /// Gets the number of elements contained in the collection. - /// @returns The number of elements contained in the collection. - size_type size() { - return container_.size(); - } - - /// Attempts to add an element to the collection. - /// @param item The element to add to the collection. - /// @returns True if the element was added successfully; otherwise, - /// false. - bool try_add(const value_type& item) { - if (container_.size() == bounded_capacity_) - return false; - container_.push_back(item); - return true; - } - - /// Attempts to add an element to the collection. - /// @param item The element to add to the collection. - /// @returns True if the element was added successfully; otherwise, - /// false. - bool try_add(value_type&& item) { - if (container_.size() == bounded_capacity_) - return false; - container_.push_back(std::forward(item)); - return true; - } - - /// Attempts to remove and return an element from the collection. - /// @param [out] item When this method returns, if the element was - /// removed and returned successfully, item - /// contains the removed element. If no element was available to be - /// removed, the value is unspecified. - /// @returns True if an element was removed and returned - /// successfully; otherwise, false. - bool try_take(value_type& item) { - if (container_.empty()) - return false; - return try_take_i(item, is_queue()); - } - - /// Attempts to add an element to the collection. - /// This new element is constructed in place using args as the - /// arguments for its construction. - /// @param args Arguments forwarded to construct the new element. - template bool try_emplace(Args&&... args) { - if (container_.size() == bounded_capacity_) - return false; - return try_emplace_i(std::forward(args)..., - is_queue()); - } - - private: - size_t bounded_capacity_; - container_type container_; - - bool try_take_i(value_type& item, std::false_type) { - item = container_.back(); - container_.pop_back(); - return true; - } - - bool try_take_i(value_type& item, std::true_type) { - item = container_.front(); - container_.pop_front(); - return true; - } - - template bool try_emplace_i(Args&&... args, - std::false_type) { - container_.emplace_front(std::forward(args)...); - return true; - } - - template bool try_emplace_i(Args&&... args, - std::true_type) { - container_.emplace_back(std::forward(args)...); - return true; - } - }; -} // namespace detail - -template -using QueueContainer = detail::Container; - -template -using StackContainer = detail::Container; - -using StdConditionVariableGenerator = ConditionVariableGenerator< - ThreadContainer, NotFullSignalStrategy<16>, - NotEmptySignalStrategy<16>, std::condition_variable, std::mutex>; - -/// @enum BlockingCollectionState -/// The BlockCollection states. -enum class BlockingCollectionState { - // BlockingCollection is active and processing normally. - Activated = 1, - // BlockingCollection is deactivated; no add or take operations allowed. - Deactivated = 2, - // BlockingCollection was pulsed; add and take may proceed normally. - Pulsed = 3 -}; - -/// @enum BlockingCollectionStatus -/// The BlockCollection status codes. -/// These are the status codes returned by all of BlockingCollection's Add -/// and Take operations. -enum class BlockingCollectionStatus { - /// Operation succeeded - Ok = 0, - /// Operation failed due to CompleteAdding() having been invoked - AddingCompleted = -1, - /// Operation failed due to time out - TimedOut = -2, - /// Operation failed due to BlockingCollection not being activated - NotActivated = -3, - /// Operation failed due to BlockingCollection being completed - Completed = -4, - /// Operation failed due to invalid iterators - InvalidIterators = -5, - /// Operation failed due to concurrent Add and CompleteAdding - CompleteAddingConcurrent = -6, - /// Operation failed due to BlockingCollection Container error - InternalError = -8 -}; - -template , - typename ConditionVariableGenerator = StdConditionVariableGenerator> -class BlockingCollection { -public: - using LockType = typename ConditionVariableGenerator::lock_type; - - /// Initializes a new instance of the BlockingCollection class - /// without an upper-bound. - BlockingCollection() - : BlockingCollection(SIZE_MAX) { - } - - /// Initializes a new instance of the BlockingCollection class - /// with the specified upper-bound. - /// @param capacity The bounded size of the collection. - explicit BlockingCollection(size_t capacity) - : state_(BlockingCollectionState::Activated), - bounded_capacity_(capacity), - is_adding_completed_(false) { - not_empty_condition_var_.bounded_capacity(capacity); - not_full_condition_var_.bounded_capacity(capacity); - container_.bounded_capacity(capacity); - } - - // "BlockingCollection" objects cannot be copied or assigned - BlockingCollection(const BlockingCollection&) = delete; - BlockingCollection& operator=(const BlockingCollection&) = delete; - - ~BlockingCollection() { - } - - /// Gets the bounded capacity of this BlockingCollection instance. - /// @return The bounded capacity of the collection. - size_t bounded_capacity() { - std::lock_guard guard(lock_); - return bounded_capacity_; - } - - /// Gets the current state of this BlockingCollection instance. - /// @return The current state of the collection. - /// @see BlockingCollectionState - BlockingCollectionState state() { - std::lock_guard guard(lock_); - return state_; - } - - /// Gets whether this BlockingCollection instance is full. - /// @return True if the collection is full; otherwise false. - bool is_full() { - std::lock_guard guard(lock_); - return is_full_i(); - } - - /// Gets whether this BlockingCollection instance is empty. - /// @return True if the collection is empty; otherwise false. - bool is_empty() { - std::lock_guard guard(lock_); - return is_empty_i(); - } - - /// Gets the number of items contained in the BlockingCollection - /// instance. - /// If any method in BlockingCollection is executing while the size - /// property is being accessd, the return value - /// is approximate. size may reflect a number that is either greater - /// than or less than the actual number of - /// items in the BlockingCollection. - /// @return The number of item in the collection. - size_t size() { - std::lock_guard guard(lock_); - return container_.size(); - } - - /// Gets whether this BlockingCollection instance has been - /// deactivated. - /// @return True is this collection has been deactivated. - /// Otherwise false. - bool is_deactivated() { - std::lock_guard guard(lock_); - return state_ == BlockingCollectionState::Deactivated; - } - - /// Gets whether this BlockingCollection instance has been marked - /// as complete for adding and is empty. - /// @return True if this collection has been marked as complete for - /// adding and is empty. Otherwise false. - bool is_completed() { - std::lock_guard guard(lock_); - return is_completed_i(); - } - - /// Gets whether this BlockingCollection instance has been marked - /// as complete for adding. - /// @return True if this collection has been marked as complete for - /// adding. Otherwise false. - bool is_adding_completed() { - std::lock_guard guard(lock_); - return is_adding_completed_i(); - } - - /// Pulses this BlockingCollection instance to wake up any waiting - /// threads. - /// Changes the collection's state to Pulsed. Future Add and Take - /// operations proceed - /// as in the Activated state. - /// @return The BlockingCollection's state before this call. - /// @see BlockingCollectionState - BlockingCollectionState pulse() { - std::lock_guard guard(lock_); - return deactivate_i(true); - } - - /// Deactivate this BlockingCollection instance and wakeup all - /// threads waiting - /// on the collection so they can continue. No items are removed from - /// the collection, - /// however. Any other operations called until the collection is - /// activated again will immediately return - /// BlockingCollectionStatus::NotActivated. - /// @return The BlockingCollection's state before this call. - /// @see BlockingCollectionState - /// @see BlockingCollectionStatus - BlockingCollectionState deactivate() { - std::lock_guard guard(lock_); - return deactivate_i(false); - } - - /// Reactivate this BlockingCollection instance so that threads - /// can Add and Take - /// items again. - /// @return The BlockingCollection's state before this call. - /// @see BlockingCollectionState - BlockingCollectionState activate() { - std::lock_guard guard(lock_); - return activate_i(); - } - - /// Releases all items from this BlockingCollection instance - /// but does not mark it deactivated. - /// @return The number of items flushed. - size_t flush() { - std::lock_guard guard(lock_); - - auto itemsFlushed = container_.size(); - - T item; - - while (container_.size() > 0) { - container_.try_take(item); - } - - not_empty_condition_var_.size(0); - not_full_condition_var_.size(0); - - return itemsFlushed; - } - - /// Marks the BlockingCollection instances as not accepting any more - /// additions. - /// After a collection has been marked as complete for adding, adding - /// to the collection - /// is not permitted and attempts to remove from the collection will - /// not wait when the collection is empty. - void complete_adding() { - std::lock_guard guard(lock_); - - if (is_adding_completed_) - return; - - is_adding_completed_ = true; - - not_empty_condition_var_.broadcast(); - not_full_condition_var_.broadcast(); - } - - /// Gets the number of consumer threads that are actively taking items - /// from this BlockingCollection instance. - /// @return The number of active consumer threads. - /// @see AttachConsumer - size_t active_consumers() { - std::lock_guard guard(lock_); - return not_empty_condition_var_.active(); - } - - /// Gets the number of producer threads that are actively adding items - /// to this BlockingCollection instance. - /// @return The number of active producer threads. - /// @see AttachProducer - size_t active_producers() { - std::lock_guard guard(lock_); - return not_full_condition_var_.active(); - } - - /// Gets the total number of consumer threads that can take items - /// from this BlockingCollection instance. - /// @return The total number of consumer threads. - /// @see AttachConsumer - size_t total_consumers() { - std::lock_guard guard(lock_); - return not_empty_condition_var_.total(); - } - - /// Gets the total number of producer threads that can add items - /// to this BlockingCollection instance. - /// @return The total number of producer threads. - /// @see AttachProducer - size_t total_producers() { - std::lock_guard guard(lock_); - return not_full_condition_var_.total(); - } - - /// Registers a consumer thread with this BlockingCollection - /// instance. - /// @see TotalConsumers - void attach_consumer() { - std::lock_guard guard(lock_); - not_empty_condition_var_.attach(); - } - - /// Unregisters a consumer thread with this BlockingCollection - /// instance. - /// @see TotalConsumers - void detach_consumer() { - std::lock_guard guard(lock_); - not_empty_condition_var_.detach(); - } - - /// Registers a producer thread with this BlockingCollection - /// instance. - /// @see TotalProducers - void attach_producer() { - std::lock_guard guard(lock_); - not_full_condition_var_.attach(); - } - - /// Unregisters a producer thread with this BlockingCollection - /// instance. - /// @see TotalProducers - void detach_producer() { - std::lock_guard guard(lock_); - not_full_condition_var_.detach(); - } - - /// Adds the given element value to the BlockingCollection. - /// The new element is initialized as a copy of value. - /// If a bounded capacity was specified when this instance of - /// BlockingCollection was initialized, - /// a call to Add may block until space is available to store the - /// provided item. - /// @param value the value of the element to add - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - BlockingCollectionStatus add(const T& value) { - return try_emplace_timed(std::chrono::milliseconds(-1), value); - } - - /// Adds the given element value to the BlockingCollection. - /// Value is moved into the new element. - /// If a bounded capacity was specified when this instance of - /// BlockingCollection was initialized, - /// a call to Add may block until space is available to store the - /// provided item. - /// @param value the value of the element to add - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - BlockingCollectionStatus add(T&& value) { - return try_emplace_timed(std::chrono::milliseconds(-1), - std::forward(value)); - } - - /// Tries to add the given element value to the BlockingCollection. - /// The new element is initialized as a copy of value. - /// If the collection is a bounded collection, and is full, this method - /// immediately returns without adding the item. - /// @param value the value of the element to try to add - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - BlockingCollectionStatus try_add(const T& value) { - return try_emplace_timed(std::chrono::milliseconds::zero(), value); - } - - /// Tries to add the given element value to the BlockingCollection. - /// Value is moved into the new element. - /// If the collection is a bounded collection, and is full, this - /// method immediately returns without adding the item. - /// @param value the value of the element to try to add - BlockingCollectionStatus try_add(T&& value) { - return try_emplace_timed(std::chrono::milliseconds::zero(), - std::forward(value)); - } - - /// Tries to add the given element value to the BlockingCollection - /// within the specified time period. - /// Value is moved into the new element. - /// @param value the value of the element to try to add - /// @param rel_time An object of type std::chrono::duration - /// representing the maximum time to spend waiting. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/duration - template - BlockingCollectionStatus try_add_timed(U&& value, - const std::chrono::duration& rel_time) { - return try_emplace_timed(rel_time, std::forward(value)); - } - - /// Adds new element to the BlockingCollection. - /// The arguments args... are forwarded to the constructor as - /// std::forward(args)....If a bounded capacity was specified - /// when this instance of BlockingCollection was initialized, - /// a call to Emplace may block until space is available to store the - /// provided item. - /// @param args arguments to forward to the constructor of the element - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template - BlockingCollectionStatus emplace(Args&&... args) { - return try_emplace_timed(std::chrono::milliseconds(-1), - std::forward(args)...); - } - - /// Tries to add new element to the BlockingCollection. - /// The arguments args... are forwarded to the constructor as - /// std::forward(args).... - /// If the collection is a bounded collection, and is full, this method - /// immediately - /// returns without adding the item. - /// @param args arguments to forward to the constructor of the element - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template - BlockingCollectionStatus try_emplace(Args&&... args) { - return try_emplace_timed(std::chrono::milliseconds::zero(), - std::forward(args)...); - } - - /// Tries to add the given element value to the BlockingCollection - /// within the specified time period. - /// The arguments args... are forwarded to the constructor as - /// std::forward(args).... - /// If the collection is a bounded collection, and is full, this - /// method immediately returns without adding the item. - /// @param args arguments to forward to the constructor of the element - /// @param rel_time An object of type std::chrono::duration - /// representing the maximum time to spend waiting. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/duration - template - BlockingCollectionStatus try_emplace_timed( - const std::chrono::duration& rel_time, - Args&&... args) { - { - std::unique_lock guard(lock_); - - auto status = wait_not_full_condition(guard, rel_time); - - if (BlockingCollectionStatus::Ok != status) - return status; - - if (!container_.try_emplace(std::forward(args)...)) - return BlockingCollectionStatus::InternalError; - - signal(container_.size(), false); - } - return BlockingCollectionStatus::Ok; - } - - /// Removes an item from the BlockingCollection. - /// A call to Take may block until an item is available to be removed. - /// @param[out] item The item removed from the collection. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - BlockingCollectionStatus take(T& item) { - return try_take(item, std::chrono::milliseconds(-1)); - } - - /// Tries to remove an item from the BlockingCollection. - /// If the collection is empty, this method immediately returns without - /// taking an item. - /// @param[out] item The item removed from the collection. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - BlockingCollectionStatus try_take(T& item) { - return try_take(item, std::chrono::milliseconds::zero()); - } - - /// Tries to remove an item from the BlockingCollection in the - /// specified time period. - /// @param[out] item The item removed from the collection. - /// @param rel_time An object of type std::chrono::duration - /// representing the maximum time to spend waiting. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/duration - template BlockingCollectionStatus - try_take(T& item, const std::chrono::duration& rel_time) { - { - std::unique_lock guard(lock_); - - auto status = wait_not_empty_condition(guard, rel_time); - - if (BlockingCollectionStatus::Ok != status) - return status; - - if (!container_.try_take(item)) - return BlockingCollectionStatus::InternalError; - - signal(container_.size(), true); - } - return BlockingCollectionStatus::Ok; - } - - /// Adds the items from range [first, last] to the - /// BlockingCollection. - /// If a bounded capacity was specified when this instance of - /// BlockingCollection was initialized, - /// a call to Add may block until space is available to store the - /// provided items. - /// Use std::make_move_iterator if the elements should be moved - /// instead of copied. - /// @param first The start range of elements to insert. - /// @param last The end range of elements to insert. - /// @param [out] added The actual number of elements added. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template BlockingCollectionStatus - add_bulk(Iterator first, Iterator last, size_t& added) { - return try_add_bulk(first, last, added, - std::chrono::milliseconds(-1)); - } - - /// Tries to add the items from range [first, last] to the - /// BlockingCollection. - /// If the collection is a bounded collection, and is full, this method - /// immediately returns without adding the items. - /// Use std::make_move_iterator if the elements should be moved - /// instead of copied. - /// @param first The start range of elements to insert. - /// @param last The end range of elements to insert. - /// @param [out] added The actual number of elements added. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template BlockingCollectionStatus - try_add_bulk(Iterator first, Iterator last, size_t& added) { - return try_add_bulk(first, last, added, - std::chrono::milliseconds::zero()); - } - - /// Tries to add the specified items from the range [first, last] to - /// the BlockingCollection within - /// the specified time period. - /// Use std::make_move_iterator if the elements should be moved - /// instead of copied. - /// @param first The start range of elements to insert. - /// @param last The end range of elements to insert. - /// @param [out] added The actual number of elements added. - /// @param rel_time An object of type std::chrono::duration representing - /// the maximum time to spend waiting. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/durations - template - BlockingCollectionStatus try_add_bulk(Iterator first, Iterator last, - size_t& added, const std::chrono::duration& rel_time) { - { - added = 0; - - std::unique_lock guard(lock_); - - auto status = wait_not_full_condition(guard, rel_time); - - if (BlockingCollectionStatus::Ok != status) - return status; - - if (first == last) - return BlockingCollectionStatus::InvalidIterators; - - for (; first != last; ++first) { - if (!container_.try_add((*first))) - break; - ++added; - } - - signal(container_.size(), false); - } - return BlockingCollectionStatus::Ok; - } - - /// Takes up to count elements from the BlockingCollection. - /// A call to take_bulk may block until an element is available to be - /// removed. - /// Use std::make_move_iterator if the elements should be moved instead - /// of copied. - /// @param[out] first Contains first item taken. - /// @param count The number of elements to take from collection. - /// @param[out] taken The actual number of elements taken. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template BlockingCollectionStatus - take_bulk(Iterator first, size_t count, size_t& taken) { - return try_take_bulk(first, count, taken, - std::chrono::milliseconds(-1)); - } - - /// Takes up to count elements from the BlockingCollection. - /// If the collection is empty, this method immediately returns without - /// taking any items. - /// Use std::make_move_iterator if the elements should be moved instead - /// of copied. - /// @param[out] first Contains first item taken. - /// @param count The number of elements to take from collection. - /// @param[out] taken The actual number of elements taken. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template BlockingCollectionStatus - try_take_bulk(Iterator first, size_t count, size_t& taken) { - return try_take_bulk(first, count, taken, - std::chrono::milliseconds::zero()); - } - - /// Tries to take up to count elements from the BlockingCollection - /// within the specified time period. - /// If the collection is empty, this method immediately returns without - /// taking any items. - /// Use std::make_move_iterator if the elements should be moved instead - /// of copied. - /// @param[out] first Contains first item taken. - /// @param count The number of elements to take from collection. - /// @param[out] taken The actual number of elements taken. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/durations - template - BlockingCollectionStatus try_take_bulk(Iterator first, size_t count, - size_t& taken, const std::chrono::duration& rel_time) { - { - taken = 0; - - if (count == 0) - return BlockingCollectionStatus::Ok; - - std::unique_lock guard(lock_); - - auto status = wait_not_empty_condition(guard, rel_time); - - if (BlockingCollectionStatus::Ok != status) - return status; - - auto end = first + count; - - for (; first != end; ++first) { - if (!container_.try_take((*first))) - break; - - if (++taken == count) - break; - } - - signal(container_.size(), true); - } - return BlockingCollectionStatus::Ok; - } - -private: - class Iterator { - public: - Iterator(BlockingCollection &collection) - : collection_(collection), status_(BlockingCollectionStatus::Ok), - wait_for_first_item(true) { - } - - Iterator(BlockingCollection &collection, - BlockingCollectionStatus status) - : collection_(collection), status_(status), wait_for_first_item(false) { - } - - // "Iterator" objects cannot be copied or assigned - Iterator(const BlockingCollection&) = delete; - Iterator& operator=(const Iterator&) = delete; - - bool operator!=(const Iterator& it) { - if (wait_for_first_item) { - wait_for_first_item = false; - status_ = collection_.try_take(item_, - // -1 forces TryTake to wait - std::chrono::milliseconds(-1)); - } - - return !(status_ != BlockingCollectionStatus::Ok); - } - - Iterator& operator++() { - status_ = collection_.try_take(item_, - std::chrono::milliseconds(-1)); - return *this; - } - - T& operator*() { - return item_; - } - - private: - BlockingCollection - &collection_; - BlockingCollectionStatus status_; - bool wait_for_first_item; - T item_; - }; - -public: - Iterator begin() { return { *this }; } - Iterator end() { return { *this }; } - -private: - // the member functions below assume lock is held! - - /// The implementation for the Deactivate method. - /// This method is not thread safe. - /// @see Deactivate - BlockingCollectionState deactivate_i(bool pulse) { - auto previous_state = state_; - - if (previous_state != BlockingCollectionState::Deactivated) { - if (pulse) - state_ = BlockingCollectionState::Pulsed; - else - state_ = BlockingCollectionState::Deactivated; - - not_empty_condition_var_.broadcast(); - not_full_condition_var_.broadcast(); - } - - return previous_state; - } - - /// The implementation for the Activate method. - /// This method is not thread safe. - /// @see Activate - BlockingCollectionState activate_i() { - auto previous_state = state_; - - state_ = BlockingCollectionState::Activated; - - return previous_state; - } - - /// The implementation for the is_full method. - /// This method is not thread safe. - /// @see is_full - bool is_full_i() { - return bounded_capacity_ != SIZE_MAX && - container_.size() >= bounded_capacity_; - } - - /// The implementation for the is_empty method. - /// This method is not thread safe. - /// @see is_empty - bool is_empty_i() { - return container_.size() == 0; - } - - /// The implementation for the is_completed method. - /// This method is not thread safe. - /// @see is_completed - bool is_completed_i() { - return is_adding_completed_ && is_empty_i(); - } - - /// The implementation for the is_adding_completed method. - /// This method is not thread safe. - /// @see is_adding_completed - bool is_adding_completed_i() { - return is_adding_completed_; - } - -protected: - /// Wraps the condition variable signal methods. - /// This method updates the size property on both - /// condition variables before invoking the signal - /// method on the specified condition variable. - void signal(size_t itemCount, bool signal_not_full) { - not_empty_condition_var_.size(itemCount); - not_full_condition_var_.size(itemCount); - - if (signal_not_full) { - // signal only if capacity is bounded - if (bounded_capacity_ != SIZE_MAX) { - not_full_condition_var_.signal(); - } - } else { - not_empty_condition_var_.signal(); - } - } - - /// The method waits on the "not full" condition variable whenever - /// the collection becomes full. - /// It atomically releases lock, blocks the current executing thread, - /// and adds it to the - /// list of threads waiting on the "not full" condition variable. The - /// thread will be unblocked - /// when notify_all() or notify_one() is executed, or when the relative - /// timeout rel_time expires. - /// It may also be unblocked spuriously. When unblocked, regardless of - /// the reason, lock is reacquired - /// and wait_not_full_condition() exits. - /// @param lock An object of type std::unique_lock which must be locked - /// by the current thread. - /// @param rel_time An object of type std::chrono::duration representing - /// the maximum time to spend waiting. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/duration - template BlockingCollectionStatus - wait_not_full_condition(std::unique_lock& lock, - const std::chrono::duration& rel_time) { - if (state_ == BlockingCollectionState::Deactivated) - return BlockingCollectionStatus::NotActivated; - - if (is_adding_completed_i()) - return BlockingCollectionStatus::AddingCompleted; - - auto status = BlockingCollectionStatus::Ok; - - while (is_full_i()) { - if (rel_time == std::chrono::duration::zero()) { - status = BlockingCollectionStatus::TimedOut; - break; - } - - if (is_adding_completed_i()) { - status = BlockingCollectionStatus::AddingCompleted; - break; - } - - if (rel_time.count() < 0) { - not_full_condition_var_.wait(lock); - } else { - if (not_full_condition_var_.wait_for(lock, rel_time)) { - status = BlockingCollectionStatus::TimedOut; - break; - } - } - - // Add/TryAdd methods and CompleteAdding should not - // be called concurrently - invalid operation - - if (is_adding_completed_i()) { - status = BlockingCollectionStatus::CompleteAddingConcurrent; - break; - } - - if (state_ != BlockingCollectionState::Activated) { - status = BlockingCollectionStatus::NotActivated; - break; - } - } - return status; - } - - /// The method waits on the "not empty" condition variable whenever the - /// collection becomes empty. - /// It atomically releases lock, blocks the current executing thread, - /// and adds it to the - /// list of threads waiting on the "not empty" condition variable. The - /// thread will be unblocked - /// when notify_all() or notify_one() is executed, or when the relative - /// timeout rel_time expires. - /// It may also be unblocked spuriously. When unblocked, regardless of - /// the reason, lock is reacquired - /// and wait_not_empty_condition() exits. - /// @param lock An object of type std::unique_lock which must be locked - /// by the current thread. - /// @param rel_time An object of type std::chrono::duration representing - /// the maximum time to spend waiting. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/duration - template BlockingCollectionStatus - wait_not_empty_condition(std::unique_lock& lock, - const std::chrono::duration& rel_time) { - if (state_ == BlockingCollectionState::Deactivated) - return BlockingCollectionStatus::NotActivated; - - if (is_completed_i()) - return BlockingCollectionStatus::Completed; - - auto status = BlockingCollectionStatus::Ok; - - while (is_empty_i()) { - if (rel_time == std::chrono::duration::zero()) { - status = BlockingCollectionStatus::TimedOut; - break; - } - - if (is_adding_completed_i()) { - status = BlockingCollectionStatus::AddingCompleted; - break; - } - - if (rel_time.count() < 0) { - not_empty_condition_var_.wait(lock); - } else { - if (not_empty_condition_var_.wait_for(lock, rel_time)) { - status = BlockingCollectionStatus::TimedOut; - break; - } - } - - if (state_ != BlockingCollectionState::Activated) { - status = BlockingCollectionStatus::NotActivated; - break; - } - } - - return status; - } - - ContainerType& container() { - return container_; - } - - LockType& lock() { - return lock_; - } - -private: - BlockingCollectionState state_; - - size_t bounded_capacity_; - bool is_adding_completed_; - - typename ConditionVariableGenerator::NotEmptyType not_empty_condition_var_; - typename ConditionVariableGenerator::NotFullType not_full_condition_var_; - - // Synchronizes access to the BlockCollection. - LockType lock_; - // The underlying Container (e.g. Queue, Stack). - ContainerType container_; -}; - -/// @class PriorityContainer -/// Represents a priority based collection. Items with the highest priority -/// will be at the head of the collection. -/// Implements the implicitly defined IProducerConsumerCollection policy. -/// @tparam T The type of items in the collection. -/// @tparam ComparerType The type of comparer to use when comparing items. -template -class PriorityContainer { -public: - using container_type = std::deque; - using size_type = typename container_type::size_type; - using value_type = typename container_type::value_type; - using value_comparer = ComparerType; - - /// Initializes a new instance of the PriorityContainer class. - PriorityContainer() - : bounded_capacity_(SIZE_MAX) { - } - - /// Sets the max number of elements this container can hold. - /// @param bounded_capacity The max number of elements this - /// container can hold. - void bounded_capacity(size_t bounded_capacity) { - bounded_capacity_ = bounded_capacity; - } - - /// Gets the max number of elements this container can hold. - /// @returns The max number of elements this container can hold. - size_t bounded_capacity() { - return bounded_capacity_; - } - - /// Gets the number of elements contained in the collection. - /// @returns The number of elements contained in the collection. - size_type size() { - return container_.size(); - } - - /// Attempts to add an object to the collection according to the item's - /// priority. - /// @param new_item The object to add to the collection. - /// @returns True if the object was added successfully; otherwise, - /// false. - bool try_add(const value_type& new_item) { - if (container_.size() == bounded_capacity_) - return false; - return try_emplace(new_item); - } - - /// Attempts to add an object to the collection according to the item's - /// priority. - /// @param new_item The object to add to the collection. - /// @returns True if the object was added successfully; otherwise, - /// false. - bool try_add(value_type&& new_item) { - if (container_.size() == bounded_capacity_) - return false; - return try_emplace(std::forward(new_item)); - } - - /// Attempts to add an element to the collection according to the - /// element's priority. - /// This new element is constructed in place using args as the - /// arguments for its construction. - /// @param args Arguments forwarded to construct the new element. - template bool try_emplace(Args&&... args) { - if (container_.size() == bounded_capacity_) - return false; - if (container_.empty()) { - container_.emplace_front(std::forward(args)...); - } else { - T new_item(args...); - - // search from back to front (i.e. from the lowest priority to - // the highest priority) for - // item with a priority greater than or equal to new_item's - // priority - - typename container_type::reverse_iterator itr = std::find_if( - container_.rbegin(), container_.rend(), - [&new_item, this](value_type &item) { - return this->comparer_(item, new_item) >= 0; - }); - - if (itr == container_.rend()) { - // if at end then new_item's priority is now the highest - container_.emplace_front(std::move(new_item)); - } else if (itr == container_.rbegin()) { - // if at start then new_item's priority is now the lowest - container_.emplace_back(std::move(new_item)); - } else { - // insert the new item behind the item of greater or - // equal priority. This ensures that FIFO order is - // maintained when items of the same priority are - // inserted consecutively. - container_.emplace(itr.base(), std::move(new_item)); - } - } - return true; - } - - /// Attempts to remove and return the highest priority object from the - /// collection. - /// @param [out] item When this method returns, if the object was - /// removed and returned successfully, item contains - /// the removed object. If no object was available to be removed, the - /// value is unspecified. - /// @returns True if an object was removed and returned successfully; - /// otherwise, false. - bool try_take(value_type& item) { - if (container_.empty()) - return false; - item = container_.front(); - container_.pop_front(); - return true; - } - - /// Attempts to remove and return the lowest priority object from the - /// collection. - /// @param [out] item When this method returns, if the object was - /// removed and returned successfully, item contains - /// the removed object. If no object was available to be removed, the - /// value is unspecified. - /// @returns True if an object was removed and returned successfully; - /// otherwise, false. - bool try_take_prio(value_type& item) { - if (container_.empty()) - return false; - - bool init_current_priority = true; - value_type* current_priority; - - typename container_type::reverse_iterator itr = std::find_if_not( - container_.rbegin(), container_.rend(), - [¤t_priority, &init_current_priority, this](value_type &item) -> bool { - // Find the first version of the earliest item (i.e., - // preserve FIFO order for items at the same priority). - - if (init_current_priority) { - current_priority = &item; - init_current_priority = false; - return true; - } - bool continue_search = this->comparer_(item, *current_priority) <= 0; - if (continue_search) { - current_priority = &item; - } - return continue_search; - }); - - if (itr == container_.rend()) { - item = container_.front(); - container_.pop_front(); - } else { - typename container_type::iterator base = itr.base(); - item = (*base); - container_.erase(base); - } - - return true; - } - -private: - size_t bounded_capacity_; - container_type container_; - value_comparer comparer_; -}; - -/// @class PriorityComparer -/// This is the default PriorityContainer comparer. -/// It expects that the objects being compared have overloaded -/// < and > operators. -/// @tparam T The type of objects to compare. -template class PriorityComparer { -public: - /// Initializes a new instance of the PriorityComparer class. - PriorityComparer() { - } - /// Compares two objects and returns a value indicating whether one is - /// less than, equal to, or greater than the other. - /// Implement this method to provide a customized sort order comparison - /// for type T. - /// @param x The first object to compare. - /// @param y The second object to compare. - /// @return A signed integer that indicates the relative values of - /// x and y, as shown in the following table. - /// - /// Value | Meaning - /// ------------------|--------------------- - /// Less than zero | x is less than y. - /// Zero | x equals y. - /// Greater than zero | x is greater than y. - /// - int operator() (const T& x, const T& y) const { - if (x < y) - return -1; - else if (x > y) - return 1; - else - return 0; - } -}; - -template>, - typename ConditionVariableGenerator = StdConditionVariableGenerator> -class PriorityBlockingCollection : public BlockingCollection { -public: - using base = BlockingCollection; - - /// Initializes a new instance of the PriorityBlockingCollection - /// class without an upper-bound. - PriorityBlockingCollection() - : base() { - } - - /// Initializes a new instance of the PriorityBlockingCollection - /// class with the specified upper-bound. - /// @param capacity The bounded size of the collection. - explicit PriorityBlockingCollection(size_t capacity) - : base(capacity) { - } - - // "PriorityBlockingCollection" objects cannot be copied or assigned - PriorityBlockingCollection(const PriorityBlockingCollection&) = delete; - PriorityBlockingCollection& operator=(const PriorityBlockingCollection&) = delete; - - /// Removes the lowest priority item from the - /// PriorityBlockingCollection. - /// A call to TakePrio may block until an item is available to be - /// removed. - /// @param[out] item The lowest priority item removed from the - /// collection. - void take_prio(T& item) { - try_take_prio(item, std::chrono::milliseconds(-1)); - } - - /// Tries to remove the lowest priority item from the - /// PriorityBlockingCollection. - /// If the collection is empty, this method immediately returns - /// immediately without taking an item. - /// @param[out] item The lowest priority item removed from the - /// collection. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - BlockingCollectionStatus try_take_prio(T& item) { - return try_take_prio(item, std::chrono::milliseconds::zero()); - } - - /// Tries to remove the lowest priority item from the - /// PriorityBlockingCollection in the specified time period. - /// @param[out] item The lowest priority item removed from the - /// collection. - /// @param rel_time An object of type std::chrono::duration - /// representing the maximum time to spend waiting. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/duration - template BlockingCollectionStatus - try_take_prio(T& item, - const std::chrono::duration& rel_time) { - { - std::unique_lock - guard(base::lock()); - - auto status = base::wait_not_empty_condition(guard, rel_time); - - if (BlockingCollectionStatus::Ok != status) - return status; - - if (!base::container().try_take_prio(item)) - return BlockingCollectionStatus::InternalError; - - base::signal(base::container().size(), true); - } - return BlockingCollectionStatus::Ok; - } - - /// Takes up to count low priority elements from the - /// PriorityBlockingCollection. - /// A call to take_prio_bulk may block until an element is available - /// to be removed. - /// Use std::make_move_iterator if the elements should be moved instead - /// of copied. - /// @param[out] first Contains first item taken. - /// @param count The number of elements to take from collection. - /// @param[out] taken The actual number of elements taken. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template BlockingCollectionStatus - take_prio_bulk(Iterator first, size_t count, size_t& taken) { - return try_take_prio_bulk(first, count, taken, - std::chrono::milliseconds(-1)); - } - - /// Takes up to count low priority elements from the - /// PriorityBlockingCollection. - /// If the collection is empty, this method immediately returns without - /// taking any items. - /// Use std::make_move_iterator if the elements should be moved instead - /// of copied. - /// @param[out] first Contains first item taken. - /// @param count The number of elements to take from collection. - /// @param[out] taken The actual number of elements taken. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - template BlockingCollectionStatus - try_take_prio_bulk(Iterator first, size_t count, size_t& taken) { - return try_take_prio_bulk(first, count, taken, - std::chrono::milliseconds::zero()); - } - - /// Tries to take up to count low priority elements from the - /// PriorityBlockingCollection within - /// the specified time period. - /// If the collection is empty, this method immediately returns without - /// taking any items. - /// Use std::make_move_iterator if the elements should be moved instead - /// of copied. - /// @param[out] first Contains first item taken. - /// @param count The number of elements to take from collection. - /// @param[out] taken The actual number of elements taken. - /// @return A BlockCollectionStatus code. - /// @see BlockingCollectionStatus - /// @see http://en.cppreference.com/w/cpp/chrono/durations - template - BlockingCollectionStatus try_take_prio_bulk(Iterator first, - size_t count, size_t& taken, - const std::chrono::duration& rel_time) { - { - taken = 0; - - if (count == 0) - return BlockingCollectionStatus::Ok; - - std::unique_lock - guard(base::lock()); - - auto status = base::wait_not_empty_condition(guard, rel_time); - - if (BlockingCollectionStatus::Ok != status) - return status; - - auto end = first + count; - - for (; first != end; ++first) { - if (!base::container().try_take_prio((*first))) - break; - - if (++taken == count) - break; - } - } - return BlockingCollectionStatus::Ok; - } -}; - -namespace detail { - struct ProducerType {}; - struct ConsumerType {}; - - template< typename T > - struct is_producer : std::false_type { }; - - template<> - struct is_producer : std::true_type { }; - - /// @class Guard - /// Implements a strictly scope-based BlockingCollection wrapper. - /// The class Guard is a BlockingCollection wrapper that provides a - /// convenient RAII-style - /// mechanism for attaching the current thread as a producer or - /// consumer to the BlockingCollection for the - /// duration of the scoped block. - /// - /// When a Guard object is created, it attaches the current thread as a - /// producer or consumer of the - /// BlockingCollection it is given. When control leaves the scope in - /// which the Guard object - /// was created, the Guard is destructed and the current thread is - /// detached from the BlockingCollection. - /// - /// The Guard class makes it simple for threads to register as producer - /// or consumers with the BlockingCollection - /// instance. Plus it ensures the thread will be detached from the - /// BlockingCollection in an - /// exception scenario. - /// - /// The Guard class is non-copyable. - /// @tparam BlockingCollectionType The type of BlockingCollection to - /// Guard. - /// @tparam GuardType The type of Guard to create (i.e. ProducerType - /// or ConsumerType). - /// @see ProducerGuard - /// @see ConsumerGuard - /// http://en.wikipedia.com/wiki/Resource_Acquisition_Is_Initialization - template - class Guard { - public: - explicit Guard(BlockingCollectionType &collection) - : collection_(collection) { - attach_i(is_producer()); - } - - Guard(Guard const&) = delete; - Guard& operator=(Guard const&) = delete; - - ~Guard() { - detach_i(is_producer()); - } - - private: - void attach_i(std::false_type) { - collection_.attach_consumer(); - } - - void attach_i(std::true_type) { - collection_.attach_producer(); - } - - void detach_i(std::false_type) { - collection_.detach_consumer(); - } - - void detach_i(std::true_type) { - collection_.detach_producer(); - } - - BlockingCollectionType& collection_; - }; -} // namespace detail - -/// A type alias for Guard -template -using ProducerGuard = detail::Guard; - -/// A type alias for Guard -template -using ConsumerGuard = detail::Guard; - -/// A type alias for BlockingCollection - a last in-first out -/// (LIFO) BlockingCollection. -template -using BlockingStack = BlockingCollection>; - -/// A type alias for BlockingCollection - a first in-first out -/// (FIFO) BlockingCollection. -template -using BlockingQueue = BlockingCollection>; - -/// A type alias for BlockingCollection - a priority-based -/// BlockingCollection. -template -using BlockingPriorityQueue = BlockingCollection>>; - -#endif //FADAS_SAFEPQ_H +// +// Created by pengwang5 on 2022/12/11. +// + +#ifndef FADAS_SAFEPQ_H +#define FADAS_SAFEPQ_H + +#include +#include +#include +#include +#include +#include +#include + +template +struct ConditionVarTraits; + +template <> +struct ConditionVarTraits { + static void initialize(std::condition_variable& cond_var) { + } + + static void signal(std::condition_variable& cond_var) { + cond_var.notify_one(); + } + + static void broadcast(std::condition_variable& cond_var) { + cond_var.notify_all(); + } + + static void wait(std::condition_variable& cond_var, + std::unique_lock& lock) { + cond_var.wait(lock); + } + + template static bool wait_for( + std::condition_variable& cond_var, + std::unique_lock& lock, + const std::chrono::duration& rel_time) { + return std::cv_status::timeout == cond_var.wait_for(lock, rel_time); + } +}; + +/// @class ConditionVariable +/// The ConditionVariable class wraps a operating system ConditionVariable. +/// +/// In addition, it implements support for attaching and detaching workers +/// to the condition variable. +/// @tparam ThreadContainerType The type of thread Container. +/// @tparam SignalStrategyType The type of signal policy. +/// @see NotEmptySignalStrategy +/// @see NotFullSignalStrategy +template +class ConditionVariable { +public: + /// Initializes a new instance of the ConditionVariable class without an + /// upper-bound. + ConditionVariable() + : total_workers_(0), active_workers_(0), bounded_capacity_(SIZE_MAX), + item_count_(0) { + ConditionVarTraits::initialize( + condition_var_); + } + + ~ConditionVariable() { + } + + // "ConditionVariable" objects cannot be copied or assigned + ConditionVariable(const ConditionVariable&) = delete; + ConditionVariable& operator=(const ConditionVariable&) = delete; + + /// Gets the number of workers attached to this condition variable. + /// @return The number of workers attached to this condition variable. + /// @see Attach + size_t total() const { + return total_workers_; + } + + /// Gets the number of active workers for this condition variable. + /// active workers are workers that are currently NOT waiting on this + /// condition variable. + /// @return The number of active workers. + size_t active() const { + return active_workers_; + } + + /// Gets the bounded capacity of this condition variable instance. + /// @return The bounded capacity of this condition variable. + size_t bounded_capacity() const { + return bounded_capacity_; + } + + /// Sets the bounded capacity of this condition variable instance. + void bounded_capacity(size_t capacity) { + bounded_capacity_ = capacity; + } + + /// Gets the number of items contained in this condition variable + /// instance. + /// @return The number of items + size_t size() const { + return item_count_; + } + + /// Set the number of items contained in this condition variable + /// instance. + void size(size_t count) { + item_count_ = count; + } + + /// Registers the a worker with this condition variable. + /// If the worker is already registered then this method has no effect. + /// @see Detach + void attach() { + if (container_.add()) { + increment_total(); + increment_active(); + } + } + + /// Unregisters the worker from this condition variable. + /// If the worker was not previously registered then this method has + /// no effect. + /// @see Attach + void detach() { + if (container_.remove()) { + decrement_total(); + decrement_active(); + } + + if (total_workers_ > 0 && active_workers_ == 0) { + increment_active(); + ConditionVarTraits::signal( + condition_var_); + } + } + + /// Wakes up a worker waiting on this condition variable. + void signal() { + // if no workers attached always signal! + if (total_workers_ == 0) { + ConditionVarTraits::signal( + condition_var_); + return; + } + // issue a signal only when there are no active workers, or when + // the count starts to grow beyond a threshold level + if (signal_.should_signal(active_workers_, total_workers_, + item_count_, bounded_capacity_)) { + increment_active(); + ConditionVarTraits::signal( + condition_var_); + } + } + + /// Wakes up all workers waiting on this condition variable. + void broadcast() { + if (total_workers_ != 0) { + // set active only if workers attached + active(total_workers_); + } + ConditionVarTraits::broadcast( + condition_var_); + } + + /// Waits indefinitely for this condition variable to become signaled. + /// @param lock An object of type std::unique_lock which must be locked + /// by the current thread. + void wait(std::unique_lock& lock) { + decrement_active(); + ConditionVarTraits::wait( + condition_var_, lock); + } + + /// Waits up to specified duration for this condition variable to become + /// signaled. + /// @param lock An object of type std::unique_lock which must be locked + /// by the current thread. + /// @param rel_time An object of type std::chrono::duration representing + /// the maximum time to spend waiting. + template bool wait_for( + std::unique_lock& lock, + const std::chrono::duration& rel_time) { + decrement_active(); + + bool timed_out = + ConditionVarTraits::wait_for( + condition_var_, lock, rel_time); + + if (timed_out) { + increment_active(); + } + + return timed_out; + } + +private: + /// Sets the number of active workers for this condition variable. + /// @param active The number of active workers. + void active(size_t active) { + active_workers_ = active > total_workers_ ? total_workers_ : active; + } + + /// Increments the total worker count for this condition variable by 1. + void increment_total() { + total_workers_ += 1; + } + + /// Decrements the total worker count for this condition variable by 1. + void decrement_total() { + total_workers_ = total_workers_ > 0 ? total_workers_ - 1 : 0; + } + + /// Increments the active worker count for this condition variable by 1. + void increment_active() { + if (++active_workers_ > total_workers_) + active_workers_ = total_workers_; + } + + /// Decrements the active worker count for this condition variable by 1. + void decrement_active() { + active_workers_ = active_workers_ > 0 ? active_workers_ - 1 : 0; + } + + size_t total_workers_; + size_t active_workers_; + size_t bounded_capacity_; + size_t item_count_; + + ConditionVarType condition_var_; + ThreadContainerType container_; + SignalStrategyType signal_; +}; + +/// @class NotEmptySignalStrategy +/// +/// A strategy object for determining whether or not a "not empty" condition +/// variable should issue a signal. +/// +/// This strategy will only return true if there are no active workers +/// (i.e. all workers are waiting +/// on empty BlockingCollection). Or when the BlockingCollection's element +/// count starts to grow beyond a +/// threshold level. +/// +/// This approach minimizes condition variable sleeps, wakes and lock +/// contention. Which in turn, +/// improves performance and makes it more predictable. +/// @tparam ItemsPerThread The number of items to allow per thread. +/// @see ConditionVariable +/// @see NotFullSignalStrategy +template struct NotEmptySignalStrategy { + bool should_signal(size_t active_workers, size_t total_workers, + size_t item_count, size_t /*capacity*/) const { + return active_workers == 0 || (active_workers < total_workers && + item_count / active_workers > ItemsPerThread); + } +}; + +/// @class NotFullSignalStrategy +/// +/// A strategy object for determining whether or not a "not full" condition +/// variable should issue a signal. +/// +/// This strategy will only return true if there are no active workers +/// (i.e. all workers are +/// waiting on a full BlockingCollection). Or when the BlockingCollection's +/// available capacity +/// starts to grow beyond a threshold level. +/// +/// This approach minimizes condition variable sleeps, wakes and lock +/// contention. Which in turn, +/// improves performance and makes it more predictable. +/// @tparam ItemsPerThread The number of items to allow per thread. +/// @see ConditionVariable +/// @see NotEmptySignalStrategy +template struct NotFullSignalStrategy { + bool should_signal(size_t active_workers, size_t total_workers, + size_t item_count, size_t capacity) const { + return (active_workers == 0 || (active_workers < total_workers && + (capacity - item_count) / active_workers > ItemsPerThread)); + } +}; + +/// @class ConditionVariableGenerator +/// +/// Generates the "not full" and "not empty" condition variables for +/// the specified ThreadContainerType. +/// +/// @tparam ThreadContainerType The thread Container policy to use when +/// generating the condition variables. +template struct ConditionVariableGenerator { + using NotFullType = ConditionVariable; + using NotEmptyType = ConditionVariable; + + using lock_type = LockType; +}; + +template +struct ThreadContainerTraits; + +template <> +struct ThreadContainerTraits { + static std::thread::id get_thread_id() { + return std::this_thread::get_id(); + } +}; + +/// @class ThreadContainer +/// This class adds and removes the specified thread type from the +/// Container. +/// @tparam T The thread type. +template class ThreadContainer { +public: + ThreadContainer() { + } + + /// Adds the calling thread to the Container. + /// @returns True if the calling thread was added to Container. + /// Otherwise false. + bool add() { + T id = ThreadContainerTraits::get_thread_id(); + + typename std::unordered_set::iterator itr = thread_id_.find(id); + + if (itr != thread_id_.end()) { + return false; + } + + thread_id_.insert(id); + return true; + } + + /// Removes the calling thread from the Container. + /// @returns True if the calling thread was removed from Container. + /// Otherwise false. + bool remove() { + if (thread_id_.erase(ThreadContainerTraits::get_thread_id()) + > 0) { + return true; + } + return false; + } + +private: + std::unordered_set thread_id_; +}; + +namespace detail { + struct QueueType {}; + struct StackType {}; + + template< typename T > + struct is_queue : std::false_type { }; + + template<> + struct is_queue : std::true_type {}; + + /// @class Container + /// + /// Represents a first in-first out (FIFO) or a last in-first out + /// (LIFO) collection depending on + /// the ContainerType template parameter value. + /// + /// Implements the implicitly defined IProducerConsumerCollection + /// policy. + /// @tparam T The type of items in the Container. + /// @tparam ContainerType The type of Container (i.e. Queue or Stack). + template + class Container { + public: + using container_type = std::deque; + using value_type = typename container_type::value_type; + using size_type = typename container_type::size_type; + + /// Initializes a new instance of the Container class. + Container() + : bounded_capacity_(SIZE_MAX) { + } + + /// Sets the max number of elements this container can hold. + /// @param bounded_capacity The max number of elements this + /// container can hold. + void bounded_capacity(size_t bounded_capacity) { + bounded_capacity_ = bounded_capacity; + } + + /// Gets the max number of elements this container can hold. + /// @returns The max number of elements this container can hold. + size_t bounded_capacity() { + return bounded_capacity_; + } + + /// Gets the number of elements contained in the collection. + /// @returns The number of elements contained in the collection. + size_type size() { + return container_.size(); + } + + /// Attempts to add an element to the collection. + /// @param item The element to add to the collection. + /// @returns True if the element was added successfully; otherwise, + /// false. + bool try_add(const value_type& item) { + if (container_.size() == bounded_capacity_) + return false; + container_.push_back(item); + return true; + } + + /// Attempts to add an element to the collection. + /// @param item The element to add to the collection. + /// @returns True if the element was added successfully; otherwise, + /// false. + bool try_add(value_type&& item) { + if (container_.size() == bounded_capacity_) + return false; + container_.push_back(std::forward(item)); + return true; + } + + /// Attempts to remove and return an element from the collection. + /// @param [out] item When this method returns, if the element was + /// removed and returned successfully, item + /// contains the removed element. If no element was available to be + /// removed, the value is unspecified. + /// @returns True if an element was removed and returned + /// successfully; otherwise, false. + bool try_take(value_type& item) { + if (container_.empty()) + return false; + return try_take_i(item, is_queue()); + } + + /// Attempts to add an element to the collection. + /// This new element is constructed in place using args as the + /// arguments for its construction. + /// @param args Arguments forwarded to construct the new element. + template bool try_emplace(Args&&... args) { + if (container_.size() == bounded_capacity_) + return false; + return try_emplace_i(std::forward(args)..., + is_queue()); + } + + private: + size_t bounded_capacity_; + container_type container_; + + bool try_take_i(value_type& item, std::false_type) { + item = container_.back(); + container_.pop_back(); + return true; + } + + bool try_take_i(value_type& item, std::true_type) { + item = container_.front(); + container_.pop_front(); + return true; + } + + template bool try_emplace_i(Args&&... args, + std::false_type) { + container_.emplace_front(std::forward(args)...); + return true; + } + + template bool try_emplace_i(Args&&... args, + std::true_type) { + container_.emplace_back(std::forward(args)...); + return true; + } + }; +} // namespace detail + +template +using QueueContainer = detail::Container; + +template +using StackContainer = detail::Container; + +using StdConditionVariableGenerator = ConditionVariableGenerator< + ThreadContainer, NotFullSignalStrategy<16>, + NotEmptySignalStrategy<16>, std::condition_variable, std::mutex>; + +/// @enum BlockingCollectionState +/// The BlockCollection states. +enum class BlockingCollectionState { + // BlockingCollection is active and processing normally. + Activated = 1, + // BlockingCollection is deactivated; no add or take operations allowed. + Deactivated = 2, + // BlockingCollection was pulsed; add and take may proceed normally. + Pulsed = 3 +}; + +/// @enum BlockingCollectionStatus +/// The BlockCollection status codes. +/// These are the status codes returned by all of BlockingCollection's Add +/// and Take operations. +enum class BlockingCollectionStatus { + /// Operation succeeded + Ok = 0, + /// Operation failed due to CompleteAdding() having been invoked + AddingCompleted = -1, + /// Operation failed due to time out + TimedOut = -2, + /// Operation failed due to BlockingCollection not being activated + NotActivated = -3, + /// Operation failed due to BlockingCollection being completed + Completed = -4, + /// Operation failed due to invalid iterators + InvalidIterators = -5, + /// Operation failed due to concurrent Add and CompleteAdding + CompleteAddingConcurrent = -6, + /// Operation failed due to BlockingCollection Container error + InternalError = -8 +}; + +template , + typename ConditionVariableGenerator = StdConditionVariableGenerator> +class BlockingCollection { +public: + using LockType = typename ConditionVariableGenerator::lock_type; + + /// Initializes a new instance of the BlockingCollection class + /// without an upper-bound. + BlockingCollection() + : BlockingCollection(SIZE_MAX) { + } + + /// Initializes a new instance of the BlockingCollection class + /// with the specified upper-bound. + /// @param capacity The bounded size of the collection. + explicit BlockingCollection(size_t capacity) + : state_(BlockingCollectionState::Activated), + bounded_capacity_(capacity), + is_adding_completed_(false) { + not_empty_condition_var_.bounded_capacity(capacity); + not_full_condition_var_.bounded_capacity(capacity); + container_.bounded_capacity(capacity); + } + + // "BlockingCollection" objects cannot be copied or assigned + BlockingCollection(const BlockingCollection&) = delete; + BlockingCollection& operator=(const BlockingCollection&) = delete; + + ~BlockingCollection() { + } + + /// Gets the bounded capacity of this BlockingCollection instance. + /// @return The bounded capacity of the collection. + size_t bounded_capacity() { + std::lock_guard guard(lock_); + return bounded_capacity_; + } + + /// Gets the current state of this BlockingCollection instance. + /// @return The current state of the collection. + /// @see BlockingCollectionState + BlockingCollectionState state() { + std::lock_guard guard(lock_); + return state_; + } + + /// Gets whether this BlockingCollection instance is full. + /// @return True if the collection is full; otherwise false. + bool is_full() { + std::lock_guard guard(lock_); + return is_full_i(); + } + + /// Gets whether this BlockingCollection instance is empty. + /// @return True if the collection is empty; otherwise false. + bool is_empty() { + std::lock_guard guard(lock_); + return is_empty_i(); + } + + /// Gets the number of items contained in the BlockingCollection + /// instance. + /// If any method in BlockingCollection is executing while the size + /// property is being accessd, the return value + /// is approximate. size may reflect a number that is either greater + /// than or less than the actual number of + /// items in the BlockingCollection. + /// @return The number of item in the collection. + size_t size() { + std::lock_guard guard(lock_); + return container_.size(); + } + + /// Gets whether this BlockingCollection instance has been + /// deactivated. + /// @return True is this collection has been deactivated. + /// Otherwise false. + bool is_deactivated() { + std::lock_guard guard(lock_); + return state_ == BlockingCollectionState::Deactivated; + } + + /// Gets whether this BlockingCollection instance has been marked + /// as complete for adding and is empty. + /// @return True if this collection has been marked as complete for + /// adding and is empty. Otherwise false. + bool is_completed() { + std::lock_guard guard(lock_); + return is_completed_i(); + } + + /// Gets whether this BlockingCollection instance has been marked + /// as complete for adding. + /// @return True if this collection has been marked as complete for + /// adding. Otherwise false. + bool is_adding_completed() { + std::lock_guard guard(lock_); + return is_adding_completed_i(); + } + + /// Pulses this BlockingCollection instance to wake up any waiting + /// threads. + /// Changes the collection's state to Pulsed. Future Add and Take + /// operations proceed + /// as in the Activated state. + /// @return The BlockingCollection's state before this call. + /// @see BlockingCollectionState + BlockingCollectionState pulse() { + std::lock_guard guard(lock_); + return deactivate_i(true); + } + + /// Deactivate this BlockingCollection instance and wakeup all + /// threads waiting + /// on the collection so they can continue. No items are removed from + /// the collection, + /// however. Any other operations called until the collection is + /// activated again will immediately return + /// BlockingCollectionStatus::NotActivated. + /// @return The BlockingCollection's state before this call. + /// @see BlockingCollectionState + /// @see BlockingCollectionStatus + BlockingCollectionState deactivate() { + std::lock_guard guard(lock_); + return deactivate_i(false); + } + + /// Reactivate this BlockingCollection instance so that threads + /// can Add and Take + /// items again. + /// @return The BlockingCollection's state before this call. + /// @see BlockingCollectionState + BlockingCollectionState activate() { + std::lock_guard guard(lock_); + return activate_i(); + } + + /// Releases all items from this BlockingCollection instance + /// but does not mark it deactivated. + /// @return The number of items flushed. + size_t flush() { + std::lock_guard guard(lock_); + + auto itemsFlushed = container_.size(); + + T item; + + while (container_.size() > 0) { + container_.try_take(item); + } + + not_empty_condition_var_.size(0); + not_full_condition_var_.size(0); + + return itemsFlushed; + } + + /// Marks the BlockingCollection instances as not accepting any more + /// additions. + /// After a collection has been marked as complete for adding, adding + /// to the collection + /// is not permitted and attempts to remove from the collection will + /// not wait when the collection is empty. + void complete_adding() { + std::lock_guard guard(lock_); + + if (is_adding_completed_) + return; + + is_adding_completed_ = true; + + not_empty_condition_var_.broadcast(); + not_full_condition_var_.broadcast(); + } + + /// Gets the number of consumer threads that are actively taking items + /// from this BlockingCollection instance. + /// @return The number of active consumer threads. + /// @see AttachConsumer + size_t active_consumers() { + std::lock_guard guard(lock_); + return not_empty_condition_var_.active(); + } + + /// Gets the number of producer threads that are actively adding items + /// to this BlockingCollection instance. + /// @return The number of active producer threads. + /// @see AttachProducer + size_t active_producers() { + std::lock_guard guard(lock_); + return not_full_condition_var_.active(); + } + + /// Gets the total number of consumer threads that can take items + /// from this BlockingCollection instance. + /// @return The total number of consumer threads. + /// @see AttachConsumer + size_t total_consumers() { + std::lock_guard guard(lock_); + return not_empty_condition_var_.total(); + } + + /// Gets the total number of producer threads that can add items + /// to this BlockingCollection instance. + /// @return The total number of producer threads. + /// @see AttachProducer + size_t total_producers() { + std::lock_guard guard(lock_); + return not_full_condition_var_.total(); + } + + /// Registers a consumer thread with this BlockingCollection + /// instance. + /// @see TotalConsumers + void attach_consumer() { + std::lock_guard guard(lock_); + not_empty_condition_var_.attach(); + } + + /// Unregisters a consumer thread with this BlockingCollection + /// instance. + /// @see TotalConsumers + void detach_consumer() { + std::lock_guard guard(lock_); + not_empty_condition_var_.detach(); + } + + /// Registers a producer thread with this BlockingCollection + /// instance. + /// @see TotalProducers + void attach_producer() { + std::lock_guard guard(lock_); + not_full_condition_var_.attach(); + } + + /// Unregisters a producer thread with this BlockingCollection + /// instance. + /// @see TotalProducers + void detach_producer() { + std::lock_guard guard(lock_); + not_full_condition_var_.detach(); + } + + /// Adds the given element value to the BlockingCollection. + /// The new element is initialized as a copy of value. + /// If a bounded capacity was specified when this instance of + /// BlockingCollection was initialized, + /// a call to Add may block until space is available to store the + /// provided item. + /// @param value the value of the element to add + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + BlockingCollectionStatus add(const T& value) { + return try_emplace_timed(std::chrono::milliseconds(-1), value); + } + + /// Adds the given element value to the BlockingCollection. + /// Value is moved into the new element. + /// If a bounded capacity was specified when this instance of + /// BlockingCollection was initialized, + /// a call to Add may block until space is available to store the + /// provided item. + /// @param value the value of the element to add + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + BlockingCollectionStatus add(T&& value) { + return try_emplace_timed(std::chrono::milliseconds(-1), + std::forward(value)); + } + + /// Tries to add the given element value to the BlockingCollection. + /// The new element is initialized as a copy of value. + /// If the collection is a bounded collection, and is full, this method + /// immediately returns without adding the item. + /// @param value the value of the element to try to add + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + BlockingCollectionStatus try_add(const T& value) { + return try_emplace_timed(std::chrono::milliseconds::zero(), value); + } + + /// Tries to add the given element value to the BlockingCollection. + /// Value is moved into the new element. + /// If the collection is a bounded collection, and is full, this + /// method immediately returns without adding the item. + /// @param value the value of the element to try to add + BlockingCollectionStatus try_add(T&& value) { + return try_emplace_timed(std::chrono::milliseconds::zero(), + std::forward(value)); + } + + /// Tries to add the given element value to the BlockingCollection + /// within the specified time period. + /// Value is moved into the new element. + /// @param value the value of the element to try to add + /// @param rel_time An object of type std::chrono::duration + /// representing the maximum time to spend waiting. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/duration + template + BlockingCollectionStatus try_add_timed(U&& value, + const std::chrono::duration& rel_time) { + return try_emplace_timed(rel_time, std::forward(value)); + } + + /// Adds new element to the BlockingCollection. + /// The arguments args... are forwarded to the constructor as + /// std::forward(args)....If a bounded capacity was specified + /// when this instance of BlockingCollection was initialized, + /// a call to Emplace may block until space is available to store the + /// provided item. + /// @param args arguments to forward to the constructor of the element + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template + BlockingCollectionStatus emplace(Args&&... args) { + return try_emplace_timed(std::chrono::milliseconds(-1), + std::forward(args)...); + } + + /// Tries to add new element to the BlockingCollection. + /// The arguments args... are forwarded to the constructor as + /// std::forward(args).... + /// If the collection is a bounded collection, and is full, this method + /// immediately + /// returns without adding the item. + /// @param args arguments to forward to the constructor of the element + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template + BlockingCollectionStatus try_emplace(Args&&... args) { + return try_emplace_timed(std::chrono::milliseconds::zero(), + std::forward(args)...); + } + + /// Tries to add the given element value to the BlockingCollection + /// within the specified time period. + /// The arguments args... are forwarded to the constructor as + /// std::forward(args).... + /// If the collection is a bounded collection, and is full, this + /// method immediately returns without adding the item. + /// @param args arguments to forward to the constructor of the element + /// @param rel_time An object of type std::chrono::duration + /// representing the maximum time to spend waiting. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/duration + template + BlockingCollectionStatus try_emplace_timed( + const std::chrono::duration& rel_time, + Args&&... args) { + { + std::unique_lock guard(lock_); + + auto status = wait_not_full_condition(guard, rel_time); + + if (BlockingCollectionStatus::Ok != status) + return status; + + if (!container_.try_emplace(std::forward(args)...)) + return BlockingCollectionStatus::InternalError; + + signal(container_.size(), false); + } + return BlockingCollectionStatus::Ok; + } + + /// Removes an item from the BlockingCollection. + /// A call to Take may block until an item is available to be removed. + /// @param[out] item The item removed from the collection. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + BlockingCollectionStatus take(T& item) { + return try_take(item, std::chrono::milliseconds(-1)); + } + + /// Tries to remove an item from the BlockingCollection. + /// If the collection is empty, this method immediately returns without + /// taking an item. + /// @param[out] item The item removed from the collection. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + BlockingCollectionStatus try_take(T& item) { + return try_take(item, std::chrono::milliseconds::zero()); + } + + /// Tries to remove an item from the BlockingCollection in the + /// specified time period. + /// @param[out] item The item removed from the collection. + /// @param rel_time An object of type std::chrono::duration + /// representing the maximum time to spend waiting. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/duration + template BlockingCollectionStatus + try_take(T& item, const std::chrono::duration& rel_time) { + { + std::unique_lock guard(lock_); + + auto status = wait_not_empty_condition(guard, rel_time); + + if (BlockingCollectionStatus::Ok != status) + return status; + + if (!container_.try_take(item)) + return BlockingCollectionStatus::InternalError; + + signal(container_.size(), true); + } + return BlockingCollectionStatus::Ok; + } + + /// Adds the items from range [first, last] to the + /// BlockingCollection. + /// If a bounded capacity was specified when this instance of + /// BlockingCollection was initialized, + /// a call to Add may block until space is available to store the + /// provided items. + /// Use std::make_move_iterator if the elements should be moved + /// instead of copied. + /// @param first The start range of elements to insert. + /// @param last The end range of elements to insert. + /// @param [out] added The actual number of elements added. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template BlockingCollectionStatus + add_bulk(Iterator first, Iterator last, size_t& added) { + return try_add_bulk(first, last, added, + std::chrono::milliseconds(-1)); + } + + /// Tries to add the items from range [first, last] to the + /// BlockingCollection. + /// If the collection is a bounded collection, and is full, this method + /// immediately returns without adding the items. + /// Use std::make_move_iterator if the elements should be moved + /// instead of copied. + /// @param first The start range of elements to insert. + /// @param last The end range of elements to insert. + /// @param [out] added The actual number of elements added. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template BlockingCollectionStatus + try_add_bulk(Iterator first, Iterator last, size_t& added) { + return try_add_bulk(first, last, added, + std::chrono::milliseconds::zero()); + } + + /// Tries to add the specified items from the range [first, last] to + /// the BlockingCollection within + /// the specified time period. + /// Use std::make_move_iterator if the elements should be moved + /// instead of copied. + /// @param first The start range of elements to insert. + /// @param last The end range of elements to insert. + /// @param [out] added The actual number of elements added. + /// @param rel_time An object of type std::chrono::duration representing + /// the maximum time to spend waiting. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/durations + template + BlockingCollectionStatus try_add_bulk(Iterator first, Iterator last, + size_t& added, const std::chrono::duration& rel_time) { + { + added = 0; + + std::unique_lock guard(lock_); + + auto status = wait_not_full_condition(guard, rel_time); + + if (BlockingCollectionStatus::Ok != status) + return status; + + if (first == last) + return BlockingCollectionStatus::InvalidIterators; + + for (; first != last; ++first) { + if (!container_.try_add((*first))) + break; + ++added; + } + + signal(container_.size(), false); + } + return BlockingCollectionStatus::Ok; + } + + /// Takes up to count elements from the BlockingCollection. + /// A call to take_bulk may block until an element is available to be + /// removed. + /// Use std::make_move_iterator if the elements should be moved instead + /// of copied. + /// @param[out] first Contains first item taken. + /// @param count The number of elements to take from collection. + /// @param[out] taken The actual number of elements taken. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template BlockingCollectionStatus + take_bulk(Iterator first, size_t count, size_t& taken) { + return try_take_bulk(first, count, taken, + std::chrono::milliseconds(-1)); + } + + /// Takes up to count elements from the BlockingCollection. + /// If the collection is empty, this method immediately returns without + /// taking any items. + /// Use std::make_move_iterator if the elements should be moved instead + /// of copied. + /// @param[out] first Contains first item taken. + /// @param count The number of elements to take from collection. + /// @param[out] taken The actual number of elements taken. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template BlockingCollectionStatus + try_take_bulk(Iterator first, size_t count, size_t& taken) { + return try_take_bulk(first, count, taken, + std::chrono::milliseconds::zero()); + } + + /// Tries to take up to count elements from the BlockingCollection + /// within the specified time period. + /// If the collection is empty, this method immediately returns without + /// taking any items. + /// Use std::make_move_iterator if the elements should be moved instead + /// of copied. + /// @param[out] first Contains first item taken. + /// @param count The number of elements to take from collection. + /// @param[out] taken The actual number of elements taken. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/durations + template + BlockingCollectionStatus try_take_bulk(Iterator first, size_t count, + size_t& taken, const std::chrono::duration& rel_time) { + { + taken = 0; + + if (count == 0) + return BlockingCollectionStatus::Ok; + + std::unique_lock guard(lock_); + + auto status = wait_not_empty_condition(guard, rel_time); + + if (BlockingCollectionStatus::Ok != status) + return status; + + auto end = first + count; + + for (; first != end; ++first) { + if (!container_.try_take((*first))) + break; + + if (++taken == count) + break; + } + + signal(container_.size(), true); + } + return BlockingCollectionStatus::Ok; + } + +private: + class Iterator { + public: + Iterator(BlockingCollection &collection) + : collection_(collection), status_(BlockingCollectionStatus::Ok), + wait_for_first_item(true) { + } + + Iterator(BlockingCollection &collection, + BlockingCollectionStatus status) + : collection_(collection), status_(status), wait_for_first_item(false) { + } + + // "Iterator" objects cannot be copied or assigned + Iterator(const BlockingCollection&) = delete; + Iterator& operator=(const Iterator&) = delete; + + bool operator!=(const Iterator& it) { + if (wait_for_first_item) { + wait_for_first_item = false; + status_ = collection_.try_take(item_, + // -1 forces TryTake to wait + std::chrono::milliseconds(-1)); + } + + return !(status_ != BlockingCollectionStatus::Ok); + } + + Iterator& operator++() { + status_ = collection_.try_take(item_, + std::chrono::milliseconds(-1)); + return *this; + } + + T& operator*() { + return item_; + } + + private: + BlockingCollection + &collection_; + BlockingCollectionStatus status_; + bool wait_for_first_item; + T item_; + }; + +public: + Iterator begin() { return { *this }; } + Iterator end() { return { *this }; } + +private: + // the member functions below assume lock is held! + + /// The implementation for the Deactivate method. + /// This method is not thread safe. + /// @see Deactivate + BlockingCollectionState deactivate_i(bool pulse) { + auto previous_state = state_; + + if (previous_state != BlockingCollectionState::Deactivated) { + if (pulse) + state_ = BlockingCollectionState::Pulsed; + else + state_ = BlockingCollectionState::Deactivated; + + not_empty_condition_var_.broadcast(); + not_full_condition_var_.broadcast(); + } + + return previous_state; + } + + /// The implementation for the Activate method. + /// This method is not thread safe. + /// @see Activate + BlockingCollectionState activate_i() { + auto previous_state = state_; + + state_ = BlockingCollectionState::Activated; + + return previous_state; + } + + /// The implementation for the is_full method. + /// This method is not thread safe. + /// @see is_full + bool is_full_i() { + return bounded_capacity_ != SIZE_MAX && + container_.size() >= bounded_capacity_; + } + + /// The implementation for the is_empty method. + /// This method is not thread safe. + /// @see is_empty + bool is_empty_i() { + return container_.size() == 0; + } + + /// The implementation for the is_completed method. + /// This method is not thread safe. + /// @see is_completed + bool is_completed_i() { + return is_adding_completed_ && is_empty_i(); + } + + /// The implementation for the is_adding_completed method. + /// This method is not thread safe. + /// @see is_adding_completed + bool is_adding_completed_i() { + return is_adding_completed_; + } + +protected: + /// Wraps the condition variable signal methods. + /// This method updates the size property on both + /// condition variables before invoking the signal + /// method on the specified condition variable. + void signal(size_t itemCount, bool signal_not_full) { + not_empty_condition_var_.size(itemCount); + not_full_condition_var_.size(itemCount); + + if (signal_not_full) { + // signal only if capacity is bounded + if (bounded_capacity_ != SIZE_MAX) { + not_full_condition_var_.signal(); + } + } else { + not_empty_condition_var_.signal(); + } + } + + /// The method waits on the "not full" condition variable whenever + /// the collection becomes full. + /// It atomically releases lock, blocks the current executing thread, + /// and adds it to the + /// list of threads waiting on the "not full" condition variable. The + /// thread will be unblocked + /// when notify_all() or notify_one() is executed, or when the relative + /// timeout rel_time expires. + /// It may also be unblocked spuriously. When unblocked, regardless of + /// the reason, lock is reacquired + /// and wait_not_full_condition() exits. + /// @param lock An object of type std::unique_lock which must be locked + /// by the current thread. + /// @param rel_time An object of type std::chrono::duration representing + /// the maximum time to spend waiting. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/duration + template BlockingCollectionStatus + wait_not_full_condition(std::unique_lock& lock, + const std::chrono::duration& rel_time) { + if (state_ == BlockingCollectionState::Deactivated) + return BlockingCollectionStatus::NotActivated; + + if (is_adding_completed_i()) + return BlockingCollectionStatus::AddingCompleted; + + auto status = BlockingCollectionStatus::Ok; + + while (is_full_i()) { + if (rel_time == std::chrono::duration::zero()) { + status = BlockingCollectionStatus::TimedOut; + break; + } + + if (is_adding_completed_i()) { + status = BlockingCollectionStatus::AddingCompleted; + break; + } + + if (rel_time.count() < 0) { + not_full_condition_var_.wait(lock); + } else { + if (not_full_condition_var_.wait_for(lock, rel_time)) { + status = BlockingCollectionStatus::TimedOut; + break; + } + } + + // Add/TryAdd methods and CompleteAdding should not + // be called concurrently - invalid operation + + if (is_adding_completed_i()) { + status = BlockingCollectionStatus::CompleteAddingConcurrent; + break; + } + + if (state_ != BlockingCollectionState::Activated) { + status = BlockingCollectionStatus::NotActivated; + break; + } + } + return status; + } + + /// The method waits on the "not empty" condition variable whenever the + /// collection becomes empty. + /// It atomically releases lock, blocks the current executing thread, + /// and adds it to the + /// list of threads waiting on the "not empty" condition variable. The + /// thread will be unblocked + /// when notify_all() or notify_one() is executed, or when the relative + /// timeout rel_time expires. + /// It may also be unblocked spuriously. When unblocked, regardless of + /// the reason, lock is reacquired + /// and wait_not_empty_condition() exits. + /// @param lock An object of type std::unique_lock which must be locked + /// by the current thread. + /// @param rel_time An object of type std::chrono::duration representing + /// the maximum time to spend waiting. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/duration + template BlockingCollectionStatus + wait_not_empty_condition(std::unique_lock& lock, + const std::chrono::duration& rel_time) { + if (state_ == BlockingCollectionState::Deactivated) + return BlockingCollectionStatus::NotActivated; + + if (is_completed_i()) + return BlockingCollectionStatus::Completed; + + auto status = BlockingCollectionStatus::Ok; + + while (is_empty_i()) { + if (rel_time == std::chrono::duration::zero()) { + status = BlockingCollectionStatus::TimedOut; + break; + } + + if (is_adding_completed_i()) { + status = BlockingCollectionStatus::AddingCompleted; + break; + } + + if (rel_time.count() < 0) { + not_empty_condition_var_.wait(lock); + } else { + if (not_empty_condition_var_.wait_for(lock, rel_time)) { + status = BlockingCollectionStatus::TimedOut; + break; + } + } + + if (state_ != BlockingCollectionState::Activated) { + status = BlockingCollectionStatus::NotActivated; + break; + } + } + + return status; + } + + ContainerType& container() { + return container_; + } + + LockType& lock() { + return lock_; + } + +private: + BlockingCollectionState state_; + + size_t bounded_capacity_; + bool is_adding_completed_; + + typename ConditionVariableGenerator::NotEmptyType not_empty_condition_var_; + typename ConditionVariableGenerator::NotFullType not_full_condition_var_; + + // Synchronizes access to the BlockCollection. + LockType lock_; + // The underlying Container (e.g. Queue, Stack). + ContainerType container_; +}; + +/// @class PriorityContainer +/// Represents a priority based collection. Items with the highest priority +/// will be at the head of the collection. +/// Implements the implicitly defined IProducerConsumerCollection policy. +/// @tparam T The type of items in the collection. +/// @tparam ComparerType The type of comparer to use when comparing items. +template +class PriorityContainer { +public: + using container_type = std::deque; + using size_type = typename container_type::size_type; + using value_type = typename container_type::value_type; + using value_comparer = ComparerType; + + /// Initializes a new instance of the PriorityContainer class. + PriorityContainer() + : bounded_capacity_(SIZE_MAX) { + } + + /// Sets the max number of elements this container can hold. + /// @param bounded_capacity The max number of elements this + /// container can hold. + void bounded_capacity(size_t bounded_capacity) { + bounded_capacity_ = bounded_capacity; + } + + /// Gets the max number of elements this container can hold. + /// @returns The max number of elements this container can hold. + size_t bounded_capacity() { + return bounded_capacity_; + } + + /// Gets the number of elements contained in the collection. + /// @returns The number of elements contained in the collection. + size_type size() { + return container_.size(); + } + + /// Attempts to add an object to the collection according to the item's + /// priority. + /// @param new_item The object to add to the collection. + /// @returns True if the object was added successfully; otherwise, + /// false. + bool try_add(const value_type& new_item) { + if (container_.size() == bounded_capacity_) + return false; + return try_emplace(new_item); + } + + /// Attempts to add an object to the collection according to the item's + /// priority. + /// @param new_item The object to add to the collection. + /// @returns True if the object was added successfully; otherwise, + /// false. + bool try_add(value_type&& new_item) { + if (container_.size() == bounded_capacity_) + return false; + return try_emplace(std::forward(new_item)); + } + + /// Attempts to add an element to the collection according to the + /// element's priority. + /// This new element is constructed in place using args as the + /// arguments for its construction. + /// @param args Arguments forwarded to construct the new element. + template bool try_emplace(Args&&... args) { + if (container_.size() == bounded_capacity_) + return false; + if (container_.empty()) { + container_.emplace_front(std::forward(args)...); + } else { + T new_item(args...); + + // search from back to front (i.e. from the lowest priority to + // the highest priority) for + // item with a priority greater than or equal to new_item's + // priority + + typename container_type::reverse_iterator itr = std::find_if( + container_.rbegin(), container_.rend(), + [&new_item, this](value_type &item) { + return this->comparer_(item, new_item) >= 0; + }); + + if (itr == container_.rend()) { + // if at end then new_item's priority is now the highest + container_.emplace_front(std::move(new_item)); + } else if (itr == container_.rbegin()) { + // if at start then new_item's priority is now the lowest + container_.emplace_back(std::move(new_item)); + } else { + // insert the new item behind the item of greater or + // equal priority. This ensures that FIFO order is + // maintained when items of the same priority are + // inserted consecutively. + container_.emplace(itr.base(), std::move(new_item)); + } + } + return true; + } + + /// Attempts to remove and return the highest priority object from the + /// collection. + /// @param [out] item When this method returns, if the object was + /// removed and returned successfully, item contains + /// the removed object. If no object was available to be removed, the + /// value is unspecified. + /// @returns True if an object was removed and returned successfully; + /// otherwise, false. + bool try_take(value_type& item) { + if (container_.empty()) + return false; + item = container_.front(); + container_.pop_front(); + return true; + } + + /// Attempts to remove and return the lowest priority object from the + /// collection. + /// @param [out] item When this method returns, if the object was + /// removed and returned successfully, item contains + /// the removed object. If no object was available to be removed, the + /// value is unspecified. + /// @returns True if an object was removed and returned successfully; + /// otherwise, false. + bool try_take_prio(value_type& item) { + if (container_.empty()) + return false; + + bool init_current_priority = true; + value_type* current_priority; + + typename container_type::reverse_iterator itr = std::find_if_not( + container_.rbegin(), container_.rend(), + [¤t_priority, &init_current_priority, this](value_type &item) -> bool { + // Find the first version of the earliest item (i.e., + // preserve FIFO order for items at the same priority). + + if (init_current_priority) { + current_priority = &item; + init_current_priority = false; + return true; + } + bool continue_search = this->comparer_(item, *current_priority) <= 0; + if (continue_search) { + current_priority = &item; + } + return continue_search; + }); + + if (itr == container_.rend()) { + item = container_.front(); + container_.pop_front(); + } else { + typename container_type::iterator base = itr.base(); + item = (*base); + container_.erase(base); + } + + return true; + } + +private: + size_t bounded_capacity_; + container_type container_; + value_comparer comparer_; +}; + +/// @class PriorityComparer +/// This is the default PriorityContainer comparer. +/// It expects that the objects being compared have overloaded +/// < and > operators. +/// @tparam T The type of objects to compare. +template class PriorityComparer { +public: + /// Initializes a new instance of the PriorityComparer class. + PriorityComparer() { + } + /// Compares two objects and returns a value indicating whether one is + /// less than, equal to, or greater than the other. + /// Implement this method to provide a customized sort order comparison + /// for type T. + /// @param x The first object to compare. + /// @param y The second object to compare. + /// @return A signed integer that indicates the relative values of + /// x and y, as shown in the following table. + /// + /// Value | Meaning + /// ------------------|--------------------- + /// Less than zero | x is less than y. + /// Zero | x equals y. + /// Greater than zero | x is greater than y. + /// + int operator() (const T& x, const T& y) const { + if (x < y) + return -1; + else if (x > y) + return 1; + else + return 0; + } +}; + +template>, + typename ConditionVariableGenerator = StdConditionVariableGenerator> +class PriorityBlockingCollection : public BlockingCollection { +public: + using base = BlockingCollection; + + /// Initializes a new instance of the PriorityBlockingCollection + /// class without an upper-bound. + PriorityBlockingCollection() + : base() { + } + + /// Initializes a new instance of the PriorityBlockingCollection + /// class with the specified upper-bound. + /// @param capacity The bounded size of the collection. + explicit PriorityBlockingCollection(size_t capacity) + : base(capacity) { + } + + // "PriorityBlockingCollection" objects cannot be copied or assigned + PriorityBlockingCollection(const PriorityBlockingCollection&) = delete; + PriorityBlockingCollection& operator=(const PriorityBlockingCollection&) = delete; + + /// Removes the lowest priority item from the + /// PriorityBlockingCollection. + /// A call to TakePrio may block until an item is available to be + /// removed. + /// @param[out] item The lowest priority item removed from the + /// collection. + void take_prio(T& item) { + try_take_prio(item, std::chrono::milliseconds(-1)); + } + + /// Tries to remove the lowest priority item from the + /// PriorityBlockingCollection. + /// If the collection is empty, this method immediately returns + /// immediately without taking an item. + /// @param[out] item The lowest priority item removed from the + /// collection. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + BlockingCollectionStatus try_take_prio(T& item) { + return try_take_prio(item, std::chrono::milliseconds::zero()); + } + + /// Tries to remove the lowest priority item from the + /// PriorityBlockingCollection in the specified time period. + /// @param[out] item The lowest priority item removed from the + /// collection. + /// @param rel_time An object of type std::chrono::duration + /// representing the maximum time to spend waiting. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/duration + template BlockingCollectionStatus + try_take_prio(T& item, + const std::chrono::duration& rel_time) { + { + std::unique_lock + guard(base::lock()); + + auto status = base::wait_not_empty_condition(guard, rel_time); + + if (BlockingCollectionStatus::Ok != status) + return status; + + if (!base::container().try_take_prio(item)) + return BlockingCollectionStatus::InternalError; + + base::signal(base::container().size(), true); + } + return BlockingCollectionStatus::Ok; + } + + /// Takes up to count low priority elements from the + /// PriorityBlockingCollection. + /// A call to take_prio_bulk may block until an element is available + /// to be removed. + /// Use std::make_move_iterator if the elements should be moved instead + /// of copied. + /// @param[out] first Contains first item taken. + /// @param count The number of elements to take from collection. + /// @param[out] taken The actual number of elements taken. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template BlockingCollectionStatus + take_prio_bulk(Iterator first, size_t count, size_t& taken) { + return try_take_prio_bulk(first, count, taken, + std::chrono::milliseconds(-1)); + } + + /// Takes up to count low priority elements from the + /// PriorityBlockingCollection. + /// If the collection is empty, this method immediately returns without + /// taking any items. + /// Use std::make_move_iterator if the elements should be moved instead + /// of copied. + /// @param[out] first Contains first item taken. + /// @param count The number of elements to take from collection. + /// @param[out] taken The actual number of elements taken. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + template BlockingCollectionStatus + try_take_prio_bulk(Iterator first, size_t count, size_t& taken) { + return try_take_prio_bulk(first, count, taken, + std::chrono::milliseconds::zero()); + } + + /// Tries to take up to count low priority elements from the + /// PriorityBlockingCollection within + /// the specified time period. + /// If the collection is empty, this method immediately returns without + /// taking any items. + /// Use std::make_move_iterator if the elements should be moved instead + /// of copied. + /// @param[out] first Contains first item taken. + /// @param count The number of elements to take from collection. + /// @param[out] taken The actual number of elements taken. + /// @return A BlockCollectionStatus code. + /// @see BlockingCollectionStatus + /// @see http://en.cppreference.com/w/cpp/chrono/durations + template + BlockingCollectionStatus try_take_prio_bulk(Iterator first, + size_t count, size_t& taken, + const std::chrono::duration& rel_time) { + { + taken = 0; + + if (count == 0) + return BlockingCollectionStatus::Ok; + + std::unique_lock + guard(base::lock()); + + auto status = base::wait_not_empty_condition(guard, rel_time); + + if (BlockingCollectionStatus::Ok != status) + return status; + + auto end = first + count; + + for (; first != end; ++first) { + if (!base::container().try_take_prio((*first))) + break; + + if (++taken == count) + break; + } + } + return BlockingCollectionStatus::Ok; + } +}; + +namespace detail { + struct ProducerType {}; + struct ConsumerType {}; + + template< typename T > + struct is_producer : std::false_type { }; + + template<> + struct is_producer : std::true_type { }; + + /// @class Guard + /// Implements a strictly scope-based BlockingCollection wrapper. + /// The class Guard is a BlockingCollection wrapper that provides a + /// convenient RAII-style + /// mechanism for attaching the current thread as a producer or + /// consumer to the BlockingCollection for the + /// duration of the scoped block. + /// + /// When a Guard object is created, it attaches the current thread as a + /// producer or consumer of the + /// BlockingCollection it is given. When control leaves the scope in + /// which the Guard object + /// was created, the Guard is destructed and the current thread is + /// detached from the BlockingCollection. + /// + /// The Guard class makes it simple for threads to register as producer + /// or consumers with the BlockingCollection + /// instance. Plus it ensures the thread will be detached from the + /// BlockingCollection in an + /// exception scenario. + /// + /// The Guard class is non-copyable. + /// @tparam BlockingCollectionType The type of BlockingCollection to + /// Guard. + /// @tparam GuardType The type of Guard to create (i.e. ProducerType + /// or ConsumerType). + /// @see ProducerGuard + /// @see ConsumerGuard + /// http://en.wikipedia.com/wiki/Resource_Acquisition_Is_Initialization + template + class Guard { + public: + explicit Guard(BlockingCollectionType &collection) + : collection_(collection) { + attach_i(is_producer()); + } + + Guard(Guard const&) = delete; + Guard& operator=(Guard const&) = delete; + + ~Guard() { + detach_i(is_producer()); + } + + private: + void attach_i(std::false_type) { + collection_.attach_consumer(); + } + + void attach_i(std::true_type) { + collection_.attach_producer(); + } + + void detach_i(std::false_type) { + collection_.detach_consumer(); + } + + void detach_i(std::true_type) { + collection_.detach_producer(); + } + + BlockingCollectionType& collection_; + }; +} // namespace detail + +/// A type alias for Guard +template +using ProducerGuard = detail::Guard; + +/// A type alias for Guard +template +using ConsumerGuard = detail::Guard; + +/// A type alias for BlockingCollection - a last in-first out +/// (LIFO) BlockingCollection. +template +using BlockingStack = BlockingCollection>; + +/// A type alias for BlockingCollection - a first in-first out +/// (FIFO) BlockingCollection. +template +using BlockingQueue = BlockingCollection>; + +/// A type alias for BlockingCollection - a priority-based +/// BlockingCollection. +template +using BlockingPriorityQueue = BlockingCollection>>; + +#endif //FADAS_SAFEPQ_H diff --git a/include/DataStructures/ThreadPool.h b/include/DataStructures/ThreadPool.h index e840fa9..7810013 100644 --- a/include/DataStructures/ThreadPool.h +++ b/include/DataStructures/ThreadPool.h @@ -1,103 +1,103 @@ -// -// Created by pengwang5 on 2022/12/12. -// - -#ifndef FADAS_THREADPOOL_H -#define FADAS_THREADPOOL_H - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -class ThreadPool { -public: - ThreadPool(size_t); - template - auto enqueue(F&& f, Args&&... args) - -> std::future::type>; - ~ThreadPool(); -private: - // need to keep track of threads so we can join them - std::vector< std::thread > workers; - // the task queue - std::queue< std::function > tasks; - - // synchronization - std::mutex queue_mutex; - std::condition_variable condition; - bool stop; -}; - -// the constructor just launches some amount of workers -inline ThreadPool::ThreadPool(size_t threads) - : stop(false) -{ - for(size_t i = 0;i task; - - { - std::unique_lock lock(this->queue_mutex); - this->condition.wait(lock, - [this]{ return this->stop || !this->tasks.empty(); }); - if(this->stop && this->tasks.empty()) - return; - task = std::move(this->tasks.front()); - this->tasks.pop(); - } - - task(); - } - } - ); -} - -// add new work item to the pool -template -auto ThreadPool::enqueue(F&& f, Args&&... args) --> std::future::type> -{ - using return_type = typename std::result_of::type; - - auto task = std::make_shared< std::packaged_task >( - std::bind(std::forward(f), std::forward(args)...) - ); - - std::future res = task->get_future(); - { - std::unique_lock lock(queue_mutex); - - // don't allow enqueueing after stopping the pool - if(stop) - throw std::runtime_error("enqueue on stopped ThreadPool"); - - tasks.emplace([task](){ (*task)(); }); - } - condition.notify_one(); - return res; -} - -// the destructor joins all threads -inline ThreadPool::~ThreadPool() -{ - { - std::unique_lock lock(queue_mutex); - stop = true; - } - condition.notify_all(); - for(std::thread &worker: workers) - worker.join(); -} - -#endif //FADAS_THREADPOOL_H +// +// Created by pengwang5 on 2022/12/12. +// + +#ifndef FADAS_THREADPOOL_H +#define FADAS_THREADPOOL_H + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class ThreadPool { +public: + ThreadPool(size_t); + template + auto enqueue(F&& f, Args&&... args) + -> std::future::type>; + ~ThreadPool(); +private: + // need to keep track of threads so we can join them + std::vector< std::thread > workers; + // the task queue + std::queue< std::function > tasks; + + // synchronization + std::mutex queue_mutex; + std::condition_variable condition; + bool stop; +}; + +// the constructor just launches some amount of workers +inline ThreadPool::ThreadPool(size_t threads) + : stop(false) +{ + for(size_t i = 0;i task; + + { + std::unique_lock lock(this->queue_mutex); + this->condition.wait(lock, + [this]{ return this->stop || !this->tasks.empty(); }); + if(this->stop && this->tasks.empty()) + return; + task = std::move(this->tasks.front()); + this->tasks.pop(); + } + + task(); + } + } + ); +} + +// add new work item to the pool +template +auto ThreadPool::enqueue(F&& f, Args&&... args) +-> std::future::type> +{ + using return_type = typename std::result_of::type; + + auto task = std::make_shared< std::packaged_task >( + std::bind(std::forward(f), std::forward(args)...) + ); + + std::future res = task->get_future(); + { + std::unique_lock lock(queue_mutex); + + // don't allow enqueueing after stopping the pool + if(stop) + throw std::runtime_error("enqueue on stopped ThreadPool"); + + tasks.emplace([task](){ (*task)(); }); + } + condition.notify_one(); + return res; +} + +// the destructor joins all threads +inline ThreadPool::~ThreadPool() +{ + { + std::unique_lock lock(queue_mutex); + stop = true; + } + condition.notify_all(); + for(std::thread &worker: workers) + worker.join(); +} + +#endif //FADAS_THREADPOOL_H diff --git a/include/DataStructures/io_data.h b/include/DataStructures/io_data.h index d8f13e1..a065e14 100644 --- a/include/DataStructures/io_data.h +++ b/include/DataStructures/io_data.h @@ -1,15 +1,16 @@ -// -// Created by zeyuwang on 2022/12/21. -// - -#ifndef FADAS_IO_DATA_H -#define FADAS_IO_DATA_H - -struct io_data{ - int node_size{}; - float lb_dist{}; - int fd{}; - float* tss{}; -}; - -#endif //FADAS_IO_DATA_H +// +// Created by zeyuwang on 2022/12/21. +// + +#ifndef FADAS_IO_DATA_H +#define FADAS_IO_DATA_H + +struct io_data{ + int node_size{}; + float lb_dist{}; + int fd{}; + FILE*f{}; + float* tss{}; +}; + +#endif //FADAS_IO_DATA_H diff --git a/include/Expr/DNATranslator.h b/include/Expr/DNATranslator.h index 616acbb..a23ab29 100644 --- a/include/Expr/DNATranslator.h +++ b/include/Expr/DNATranslator.h @@ -1,26 +1,26 @@ -// -// Created by caucher on 2021/12/3. -// - -#ifndef MULGIFT_DNATRANSLATOR_H -#define MULGIFT_DNATRANSLATOR_H - - -#include -using namespace std; - -class DNATranslator { -public: - static void translate(const string &output, int len); - - static void z_normalize_and_save(const float *ts, int size, FILE *f); - - static void readSIFT(); - - static void z_normalize(float *ts, int size); - - static void translateNonOverlap(const string &output, int len); -}; - - -#endif //MULGIFT_DNATRANSLATOR_H +// +// Created by caucher on 2021/12/3. +// + +#ifndef MULGIFT_DNATRANSLATOR_H +#define MULGIFT_DNATRANSLATOR_H + + +#include +using namespace std; + +class DNATranslator { +public: + static void translate(const string &output, int len); + + static void z_normalize_and_save(const float *ts, int size, FILE *f); + + static void readSIFT(); + + static void z_normalize(float *ts, int size); + + static void translateNonOverlap(const string &output, int len); +}; + + +#endif //MULGIFT_DNATRANSLATOR_H diff --git a/include/Expr/ECGParser.h b/include/Expr/ECGParser.h index 0c691b8..8d75e97 100644 --- a/include/Expr/ECGParser.h +++ b/include/Expr/ECGParser.h @@ -1,16 +1,16 @@ -// -// Created by pengwang5 on 2022/2/13. -// - -#ifndef MULGIFT_ECGPARSER_H -#define MULGIFT_ECGPARSER_H -#include -using std::string ; -class ECGParser { -public: - static void generateECG(const string &data_dir, const string &output, int ts_length); - -}; - - -#endif //MULGIFT_ECGPARSER_H +// +// Created by pengwang5 on 2022/2/13. +// + +#ifndef MULGIFT_ECGPARSER_H +#define MULGIFT_ECGPARSER_H +#include +using std::string ; +class ECGParser { +public: + static void generateECG(const string &data_dir, const string &output, int ts_length); + +}; + + +#endif //MULGIFT_ECGPARSER_H diff --git a/include/Expr/RandDataGenerator.h b/include/Expr/RandDataGenerator.h index eac4fda..d607402 100644 --- a/include/Expr/RandDataGenerator.h +++ b/include/Expr/RandDataGenerator.h @@ -1,38 +1,38 @@ -// -// Created by caucher on 2021/11/28. -// - -#ifndef MULGIFT_RANDDATAGENERATOR_H -#define MULGIFT_RANDDATAGENERATOR_H -#include -#include -#include -#include -#include -#include -#include -#include -#define PRODUCT "TSutils - Time Series Generator\n\ -Copyright (C) 2012 University of Trento\n\n" -#define STD 1 // Standard deviation -using namespace std; - -class RandDataGenerator { - -public: - static void z_normalize(float *ts, int size); - - static float *generate(float *ts, int size, gsl_rng *r); - - static void generate_random_timeseries(int length, int number_of_timeseries, const char *filename); - -}; - - - - - - - - -#endif //MULGIFT_RANDDATAGENERATOR_H +// +// Created by caucher on 2021/11/28. +// + +#ifndef MULGIFT_RANDDATAGENERATOR_H +#define MULGIFT_RANDDATAGENERATOR_H +#include +#include +#include +#include +#include +#include +#include +#include +#define PRODUCT "TSutils - Time Series Generator\n\ +Copyright (C) 2012 University of Trento\n\n" +#define STD 1 // Standard deviation +using namespace std; + +class RandDataGenerator { + +public: + static void z_normalize(float *ts, int size); + + static float *generate(float *ts, int size, gsl_rng *r); + + static void generate_random_timeseries(int length, int number_of_timeseries, const char *filename); + +}; + + + + + + + + +#endif //MULGIFT_RANDDATAGENERATOR_H diff --git a/include/Expr/Recall.h b/include/Expr/Recall.h index f1099d3..aa10d73 100644 --- a/include/Expr/Recall.h +++ b/include/Expr/Recall.h @@ -43,10 +43,14 @@ class Recall { static void ngSearchDumpy(FADASNode *root, vector> *g); + static void ngSearchDumpyParallel(FADASNode *root, vector> *g); + static void exactSearchFADAS(FADASNode *root, vector> *g); static void exactSearchDumpyParallel(FADASNode *root, vector>*g); + static void exactSearchDumpyParallelDTW(FADASNode *root, vector>*g); + static void exactSearchFADASDTW(FADASNode *root, vector>*g); static void exactSearchFADASNoExpr(FADASNode *root, vector> *g); @@ -73,6 +77,8 @@ class Recall { static void doExprWithResIncFADASFuzzy(FADASNode *root, vector> *g, const string &index_dir); + static void multiwayDumpySearch(FADASNode *root, vector> *g, const string &index_dir); + static void doExprWithResIncTardis(TardisTreeNode *root, const string &resFile, const string &queryFile); static void exactSearchTARDISORIGIN(TARGNode *root); diff --git a/include/Searchers/FADASSearcher.h b/include/Searchers/FADASSearcher.h index 85cc960..0ce2725 100644 --- a/include/Searchers/FADASSearcher.h +++ b/include/Searchers/FADASSearcher.h @@ -1,127 +1,165 @@ -// -// Created by zeyuwang on 2022/1/16. -// - -#ifndef MULGIFT_FADASSEARCHER_H -#define MULGIFT_FADASSEARCHER_H -#include -#include -#include "../DataStructures/FADASNode.h" -#include "../DataStructures/io_data.h" - -class FADASSearcher { -public: - static void approxSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, - float *query_reordered, int *ordering); - - static vector * - approxSearch(FADASNode *root, float *query, int k, vector> *g, const string &index_dir, - float *query_reordered, int *ordering); - - static void approxSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir); - - static vector * approxSearchDTW(FADASNode *root, float *query, int k, vector> *g, - const string &index_dir); - - static vector *exactSearch(FADASNode *root, float *query, int k, vector> *g); - - static vector * - exactSearchIdLevel(FADASNode *root, float *query, int k, vector> *g, float *query_reordered, - int *ordering); - - static vector*Par_exactSearchIdLevel(FADASNode* root, float *query, int k, vector> *g, - float *query_reordered, int *ordering); - - static vector* Par_exactSearchIdLevel_MyPq(FADASNode* root, float *query, int k, vector> *g, - float *query_reordered, int *ordering); - - static vector*Par_exactSearchIdLevel_MESSI(FADASNode* root, float *query, int k, vector> *g, - float *query_reordered, int *ordering); - - static vector * - Par_exactSearchIdLevel_SSD(FADASNode *root, float *query, int k, vector> *g, - float *query_reordered, int *ordering, io_uring &ring, - vector> &io_buffer); - - static vector* exactSearchDTW(FADASNode* root, float *query, int k, vector> *g); - - static vector *exactSearchPos(FADASNode *root, float *query, int k, vector> *g); - - static vector * approxIncSearchDTW(FADASNode *root, float *query, int k, const string &index_dir, - int node_num); - - static void approxIncSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir,int &node_num); - - static void - approxSearchInterNodePos(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, - const string &index_dir); - - static vector * - approxSearchPos(FADASNode *root, float *query, int k, vector> *g, const string &index_dir); - - static vector * - approxIncSearch(FADASNode *root, float *query, int k, const string &index_dir, int node_num, - float *query_reordered, int *ordering, vector> *g); - - static - vector *ngSearch(FADASNode *root, float *query, float *query_reordered, int *ordering, int k, - vector> *g, int nprobes); - - static void - approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, - int &node_num, float *query_reordered, int *ordering); - - static void - approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, - int &node_num, unordered_set&visit, float *query_reordered, int *ordering); - - - static void approxIncSearchInterNodeFuzzy(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, int &node_num, - unordered_set *hash_set); - - static vector * - approxIncSearchFuzzy(FADASNode *root, float *query, int k, const string &index_dir, int node_num); - - static vector * - approxSearchLessPack(FADASNode *root, float *query, int k, vector> *g, const string &index_dir); - - static void approxSearchInterNodeLessPack(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir); - - static vector * - ngSearchNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, int k, vector> *g, - int nprobes); - - static vector * - ngSearchIdLevelNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, int k, - vector> *g, int nprobes); - - static void - approxSearchInner4IncSearch(FADASNode *root, TimeSeries *queryTs, int k, vector *heap, - vector> *g, unsigned short *sax, const string &index_dir, - float *query_reordered, int *ordering); - static - void approxIncSearchInner(FADASNode *root, float *query, int k, const string &index_dir, int node_num, - vector *heap, TimeSeries *queryTs, unsigned short *sax, - float *query_reordered, int *ordering, vector> *g); - - static void - approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, - const string &index_dir, int &node_num, unordered_set &visit, - float *query_reordered, int *ordering, - unordered_set *hash_set); - - static vector * - ngSearchFuzzy(FADASNode *root, float *query, float *query_reordered, int *ordering, int k,int nprobes); -}; - - -#endif //MULGIFT_FADASSEARCHER_H +// +// Created by zeyuwang on 2022/1/16. +// + +#ifndef MULGIFT_FADASSEARCHER_H +#define MULGIFT_FADASSEARCHER_H +#include +//#include +#include "../DataStructures/FADASNode.h" +#include "../DataStructures/io_data.h" + +class FADASSearcher { +public: + static void approxSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, + float *query_reordered, int *ordering); + + static vector * + approxSearch(FADASNode *root, float *query, int k, vector> *g, const string &index_dir, + float *query_reordered, int *ordering); + + static vector *multiWayApproxSearch(FADASNode *root, float *query, int k, vector> *g, + const string &index_dir, int node_num, const int *mask, + float *query_reordered, + int *ordering); + + static void approxSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir); + + static vector * approxSearchDTW(FADASNode *root, float *query, int k, vector> *g, + const string &index_dir); + + static vector *exactSearch(FADASNode *root, float *query, int k, vector> *g); + + static vector * + exactSearchIdLevel(FADASNode *root, float *query, int k, vector> *g, float *query_reordered, + int *ordering); + + static vector*Par_exactSearchIdLevel(FADASNode* root, float *query, int k, vector> *g, + float *query_reordered, int *ordering); + + static vector* Par_exactSearchIdLevel_MyPq(FADASNode* root, float *query, int k, vector> *g, + float *query_reordered, int *ordering); + + static vector*Par_exactSearchIdLevel_MESSI(FADASNode* root, float *query, int k, vector> *g, + float *query_reordered, int *ordering); + +// static vector * +// Par_exactSearchIdLevel_SSD(FADASNode *root, float *query, int k, vector> *g, +// float *query_reordered, int *ordering, io_uring &ring, +// vector> &io_buffer); +// +// static vector *Par_exactSearchIdLevel_SSDV2(FADASNode *root, float *query, int k, +// vector> *g, +// float *query_reordered, int *ordering, io_uring &ring, +// vector> &io_buffer); + + static vector *Par_exactSearchIdLevel_SSDV3(FADASNode *root, float *query, int k, + vector> *g, + float *query_reordered, int *ordering, + vector> &io_buffer); + + static vector *Par_exactSearchIdLevel_SSDV3_multithread(FADASNode *root, float *query, int k, + vector> *g, + float *query_reordered, int *ordering, + vector> &io_buffer); + + + static vector *Par_exactSearch_DTW(FADASNode *root, float *query, int k, + vector> *g, + float *query_reordered, int *ordering, + vector> &io_buffer); + +// static vector *Par_exactSearchIdLevel_SSDV2_DTW(FADASNode *root, float *query, int k, +// vector> *g, +// float *query_reordered, int *ordering, io_uring &ring, +// vector> &io_buffer); + + static vector* exactSearchDTW(FADASNode* root, float *query, int k, vector> *g); + + static vector*exactSearchDTWIdLevel(FADASNode* root, float *query, int k, vector> *g); + + static vector *exactSearchPos(FADASNode *root, float *query, int k, vector> *g); + + static vector * approxIncSearchDTW(FADASNode *root, float *query, int k, const string &index_dir, + int node_num); + + static void approxIncSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir,int &node_num); + + static void + approxSearchInterNodePos(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, + const string &index_dir); + + static vector * + approxSearchPos(FADASNode *root, float *query, int k, vector> *g, const string &index_dir); + + static vector * + approxIncSearch(FADASNode *root, float *query, int k, const string &index_dir, int node_num, + float *query_reordered, int *ordering, vector> *g); + + static + vector *ngSearch(FADASNode *root, float *query, float *query_reordered, int *ordering, int k, + vector> *g, int nprobes); + + static vector *Par_ngSearch(FADASNode *root, float *query, float *query_reordered, int *ordering, + int k, + vector> *g, int nprobes, + vector> &io_buffer); + + static void + approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, + int &node_num, float *query_reordered, int *ordering); + + static void + approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, + int &node_num, unordered_set&visit, float *query_reordered, int *ordering); + + + static void approxIncSearchInterNodeFuzzy(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, int &node_num, + unordered_set *hash_set); + + static vector * + approxIncSearchFuzzy(FADASNode *root, float *query, int k, const string &index_dir, int node_num); + + static vector * + approxSearchLessPack(FADASNode *root, float *query, int k, vector> *g, const string &index_dir); + + static void approxSearchInterNodeLessPack(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir); + + static vector * + ngSearchNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, int k, vector> *g, + int nprobes); + + static vector * + ngSearchIdLevelNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, int k, + vector> *g, int nprobes); + + static void + approxSearchInner4IncSearch(FADASNode *root, TimeSeries *queryTs, int k, vector *heap, + vector> *g, unsigned short *sax, const string &index_dir, + float *query_reordered, int *ordering); + static + void approxIncSearchInner(FADASNode *root, float *query, int k, const string &index_dir, int node_num, + vector *heap, TimeSeries *queryTs, unsigned short *sax, + float *query_reordered, int *ordering, vector> *g); + + static void + approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, + const string &index_dir, int &node_num, unordered_set &visit, + float *query_reordered, int *ordering, + unordered_set *hash_set); + + static vector * + ngSearchFuzzy(FADASNode *root, float *query, float *query_reordered, int *ordering, int k,int nprobes); +}; + + +#endif //MULGIFT_FADASSEARCHER_H diff --git a/include/TAR/TARGNode.h b/include/TAR/TARGNode.h index 52d7ee1..80ea5d7 100644 --- a/include/TAR/TARGNode.h +++ b/include/TAR/TARGNode.h @@ -1,114 +1,114 @@ -// -// Created by wzy on 2022/7/1. -// - -#ifndef FADAS_TARGNODE_H -#define FADAS_TARGNODE_H -#include -#include -#include -#include -#include -#include -#include "TARLNode.h" -#include "../Const.h" - -struct dataRDDItem{ - string invsax_full{}; - int freq; - dataRDDItem(string& a, int b):invsax_full(a), freq(b){}; -}; - - -using namespace std; -class TARGNode { - static int pid_factory; - static int block_threshold; - - - static unsigned int *loadSampling(); - - static bool order(const TARGNode*a, const TARGNode *b){ - return a->size > b->size; - } - - static void computeFreqTbl(unordered_map *invsax_freq, unsigned int *sample_invSAX_tbl, long tbl_size); - - static vector *> *buildTARGbySampling(unordered_map *invsax_freq); - - static void computeFreqTblSpecLayer(unordered_map *pairRDD, unordered_map *dataRDD, - unordered_map *saxNbrPairRDD, int layer); - - void addTreeNodeHexRobust(TARGNode *start); - - static void loadCollectionSampling(vector *> *node_list, TARGNode *root); - - static void assignPIdSampling(TARGNode *node); - - void assignLocalRootForAllLeaves(vector &local_roots); - - static int getLeafNodeNum(); - -public: - // general - int layer{}; - int size{}; - string invSAX; - TARGNode* ancestor{}; - - //only for internal node - - unordered_mapchildren{}; - - // only for leaf pack - int pid{-1}; - - static TARGNode *buildIndex(); - - friend class boost::serialization::access; - template - void serialize(Archive &ar, const unsigned int version) { - ar & layer; - ar & size; ar & ancestor; - ar & invSAX; ar & pid; - ar & children; -// ar & local_root; - } - void save2Disk(const string &output) { - ofstream ofs(output.c_str(), ios::binary); - boost::archive::binary_oarchive oa(ofs); - oa << (*this); - ofs.close(); - } - static TARGNode *loadFromDisk(const string &idxfn){ - ifstream ifs(idxfn, ios::binary); - boost::archive::binary_iarchive ia(ifs); - auto *g = new TARGNode(); - ia >> (*g); - ifs.close(); - return g; - }; - - TARGNode * route(string &invsax, int *ret_pid); - - static void partition(TARGNode *root, long series_num); - - void getIndexStats(); - - static int getTotalSize(); - - int getGlobalNodeNum(); - - int getNodeNum(); - - int getMaxHeightGlobal(vector &local_heights); - - int getMaxHeight(); - - long getAvgHeight(); - - long getAvgHeightGlobal(vector&local_heights, vector&leaf_nbr); -}; - - -#endif //FADAS_TARGNODE_H +// +// Created by wzy on 2022/7/1. +// + +#ifndef FADAS_TARGNODE_H +#define FADAS_TARGNODE_H +#include +#include +#include +#include +#include +#include +#include "TARLNode.h" +#include "../Const.h" + +struct dataRDDItem{ + string invsax_full{}; + int freq; + dataRDDItem(string& a, int b):invsax_full(a), freq(b){}; +}; + + +using namespace std; +class TARGNode { + static int pid_factory; + static int block_threshold; + + + static unsigned int *loadSampling(); + + static bool order(const TARGNode*a, const TARGNode *b){ + return a->size > b->size; + } + + static void computeFreqTbl(unordered_map *invsax_freq, unsigned int *sample_invSAX_tbl, long tbl_size); + + static vector *> *buildTARGbySampling(unordered_map *invsax_freq); + + static void computeFreqTblSpecLayer(unordered_map *pairRDD, unordered_map *dataRDD, + unordered_map *saxNbrPairRDD, int layer); + + void addTreeNodeHexRobust(TARGNode *start); + + static void loadCollectionSampling(vector *> *node_list, TARGNode *root); + + static void assignPIdSampling(TARGNode *node); + + void assignLocalRootForAllLeaves(vector &local_roots); + + static int getLeafNodeNum(); + +public: + // general + int layer{}; + int size{}; + string invSAX; + TARGNode* ancestor{}; + + //only for internal node + + unordered_mapchildren{}; + + // only for leaf pack + int pid{-1}; + + static TARGNode *buildIndex(); + + friend class boost::serialization::access; + template + void serialize(Archive &ar, const unsigned int version) { + ar & layer; + ar & size; ar & ancestor; + ar & invSAX; ar & pid; + ar & children; +// ar & local_root; + } + void save2Disk(const string &output) { + ofstream ofs(output.c_str(), ios::binary); + boost::archive::binary_oarchive oa(ofs); + oa << (*this); + ofs.close(); + } + static TARGNode *loadFromDisk(const string &idxfn){ + ifstream ifs(idxfn, ios::binary); + boost::archive::binary_iarchive ia(ifs); + auto *g = new TARGNode(); + ia >> (*g); + ifs.close(); + return g; + }; + + TARGNode * route(string &invsax, int *ret_pid); + + static void partition(TARGNode *root, long series_num); + + void getIndexStats(); + + static int getTotalSize(); + + int getGlobalNodeNum(); + + int getNodeNum(); + + int getMaxHeightGlobal(vector &local_heights); + + int getMaxHeight(); + + long getAvgHeight(); + + long getAvgHeightGlobal(vector&local_heights, vector&leaf_nbr); +}; + + +#endif //FADAS_TARGNODE_H diff --git a/include/TAR/TARLNode.h b/include/TAR/TARLNode.h index 2811cc7..3ed8019 100644 --- a/include/TAR/TARLNode.h +++ b/include/TAR/TARLNode.h @@ -1,107 +1,107 @@ -// -// Created by wzy on 2022/7/1. -// - -#ifndef FADAS_TARLNODE_H -#define FADAS_TARLNODE_H -#include -#include -#include -#include -#include -#include -#include -#include -#include "../DataStructures/PqItemSeries.h" -using namespace std; - -struct item{ - long id; - float *ts; - string invsax; -}; - -struct ser_item{ - long id{}; - vectorts{}; - string invsax{}; - - ser_item(){;} - - ser_item(const ser_item& other){ - id = other.id; - ts = other.ts; - invsax = other.invsax; - } - - friend class boost::serialization::access; - template - void serialize(Archive &ar, const unsigned int version) { - ar & id; ar & ts; ar & invsax; - } -}; - - -class TARLNode { - string invSAX{}; - - // only for leaf node - long file_offset{-1}; - long file_length{}; - vectorbuffer{}; - - friend class boost::serialization::access; - template - void serialize(Archive &ar, const unsigned int version) { - ar & layer; ar & rcdNbr; - ar & invSAX; ar & descendants; - ar & file_offset; ar & file_length; - ar & buffer; - } - - void split(int pid); - - void addRecord(item *data, int pid); - - void collectAllLeaves(vector &leaves); - -public: - int layer{}; - long rcdNbr{}; - // only for internal node - unordered_map descendants{}; - - void save2Disk(const string &output); - static TARLNode *loadFromDisk(const string &idxfn); - - void insertBatch(vector &datas, int pid); - - TARLNode *route2Leaf(string &invsax); - - void search(int k, const float *query, vector &heap) const; - - void search_dtw(int k, float *query, vector &heap, int window_size) const; - - int getLeafNodeNbr(); - - int getNodeNbr(); - - static TARLNode * buildLocalIndex(int pid); - - void addRecordORIGIN(const ser_item &data, int pid); - - static TARLNode *prueSingleElementLayer(TARLNode *root); - - void fetchAllRecords(vector &buf); - - void shrinkNodeLayer(); - - void deleteDescendants(); - - int getMaxHeight(); - - long getSumHeight(); -}; - - -#endif //FADAS_TARLNODE_H +// +// Created by wzy on 2022/7/1. +// + +#ifndef FADAS_TARLNODE_H +#define FADAS_TARLNODE_H +#include +#include +#include +#include +#include +#include +#include +#include +#include "../DataStructures/PqItemSeries.h" +using namespace std; + +struct item{ + long id; + float *ts; + string invsax; +}; + +struct ser_item{ + long id{}; + vectorts{}; + string invsax{}; + + ser_item(){;} + + ser_item(const ser_item& other){ + id = other.id; + ts = other.ts; + invsax = other.invsax; + } + + friend class boost::serialization::access; + template + void serialize(Archive &ar, const unsigned int version) { + ar & id; ar & ts; ar & invsax; + } +}; + + +class TARLNode { + string invSAX{}; + + // only for leaf node + long file_offset{-1}; + long file_length{}; + vectorbuffer{}; + + friend class boost::serialization::access; + template + void serialize(Archive &ar, const unsigned int version) { + ar & layer; ar & rcdNbr; + ar & invSAX; ar & descendants; + ar & file_offset; ar & file_length; + ar & buffer; + } + + void split(int pid); + + void addRecord(item *data, int pid); + + void collectAllLeaves(vector &leaves); + +public: + int layer{}; + long rcdNbr{}; + // only for internal node + unordered_map descendants{}; + + void save2Disk(const string &output); + static TARLNode *loadFromDisk(const string &idxfn); + + void insertBatch(vector &datas, int pid); + + TARLNode *route2Leaf(string &invsax); + + void search(int k, const float *query, vector &heap) const; + + void search_dtw(int k, float *query, vector &heap, int window_size) const; + + int getLeafNodeNbr(); + + int getNodeNbr(); + + static TARLNode * buildLocalIndex(int pid); + + void addRecordORIGIN(const ser_item &data, int pid); + + static TARLNode *prueSingleElementLayer(TARLNode *root); + + void fetchAllRecords(vector &buf); + + void shrinkNodeLayer(); + + void deleteDescendants(); + + int getMaxHeight(); + + long getSumHeight(); +}; + + +#endif //FADAS_TARLNODE_H diff --git a/include/TAR/TARSearcher.h b/include/TAR/TARSearcher.h index dd8e304..5bd7bba 100644 --- a/include/TAR/TARSearcher.h +++ b/include/TAR/TARSearcher.h @@ -1,43 +1,43 @@ -// -// Created by wzy on 2022/7/2. -// - -#ifndef FADAS_TARSEARCHER_H -#define FADAS_TARSEARCHER_H - - -#include -#include "TARGNode.h" -#include "../../include/DataStructures/PqItemSeries.h" - - -class TARSearcher { -public: - static vector * approxSearch(TARGNode *root, float *query, int k, const string &index_dir); - - static vector * - approxSearchDTW(TARGNode *root, float *query, int k, const string &index_dir, int window_size); - - static void exactSearchLocal(TARLNode *l_root, vector *heap, int k, float *query); - - static vector * - approxIncSearch(TARGNode *root, float *query, int k, const string &index_dir, int *node_num); - - static void incSearchLocal(TARLNode *l_root, vector *heap, int k, float *query, int *node_num, - const string &query_invsax_str); - - static vector *exactSearch(TARGNode *root, float *query, int k, const string &index_dir); - - static void - exactSearchLocalDTW(TARLNode *l_root, vector *heap, int k, float *query, const string &index_dir); - - static vector *exactSearchDTW(TARGNode *root, float *query, int k, const string &index_dir); - - static void approxIncSearchSub(TARGNode *root, float *query, int k, const string &index_dir, int *node_num, - vector *heap, string &query_invsax_str); - - static vector *ngSearch(TARGNode *root, float *query, int k, const string &index_dir, int nprobe); -}; - - -#endif //FADAS_TARSEARCHER_H +// +// Created by wzy on 2022/7/2. +// + +#ifndef FADAS_TARSEARCHER_H +#define FADAS_TARSEARCHER_H + + +#include +#include "TARGNode.h" +#include "../../include/DataStructures/PqItemSeries.h" + + +class TARSearcher { +public: + static vector * approxSearch(TARGNode *root, float *query, int k, const string &index_dir); + + static vector * + approxSearchDTW(TARGNode *root, float *query, int k, const string &index_dir, int window_size); + + static void exactSearchLocal(TARLNode *l_root, vector *heap, int k, float *query); + + static vector * + approxIncSearch(TARGNode *root, float *query, int k, const string &index_dir, int *node_num); + + static void incSearchLocal(TARLNode *l_root, vector *heap, int k, float *query, int *node_num, + const string &query_invsax_str); + + static vector *exactSearch(TARGNode *root, float *query, int k, const string &index_dir); + + static void + exactSearchLocalDTW(TARLNode *l_root, vector *heap, int k, float *query, const string &index_dir); + + static vector *exactSearchDTW(TARGNode *root, float *query, int k, const string &index_dir); + + static void approxIncSearchSub(TARGNode *root, float *query, int k, const string &index_dir, int *node_num, + vector *heap, string &query_invsax_str); + + static vector *ngSearch(TARGNode *root, float *query, int k, const string &index_dir, int nprobe); +}; + + +#endif //FADAS_TARSEARCHER_H diff --git a/include/Utils/INIReader.h b/include/Utils/INIReader.h index 67381dc..d9c24e3 100644 --- a/include/Utils/INIReader.h +++ b/include/Utils/INIReader.h @@ -1,73 +1,73 @@ -// Read an INI file into easy-to-access name/value pairs. - -// SPDX-License-Identifier: BSD-3-Clause - -// Copyright (C) 2009-2020, Ben Hoyt - -// inih and INIReader are released under the New BSD license (see LICENSE.txt). -// Go to the project home page for more info: -// -// https://github.com/benhoyt/inih - -#ifndef INIREADER_H -#define INIREADER_H - -#include -#include - -// Read an INI file into easy-to-access name/value pairs. (Note that I've gone -// for simplicity here rather than speed, but it should be pretty decent.) -class INIReader -{ -public: - // Construct INIReader and parse given filename. See ini.h for more info - // about the parsing. - explicit INIReader(const std::string& filename); - - // Construct INIReader and parse given buffer. See ini.h for more info - // about the parsing. - explicit INIReader(const char *buffer, size_t buffer_size); - - // Return the result of ini_parse(), i.e., 0 on success, line number of - // first error on parse error, or -1 on file open error. - int ParseError() const; - - // Get a string value from INI file, returning default_value if not found. - std::string Get(const std::string& section, const std::string& name, - const std::string& default_value) const; - - // Get a string value from INI file, returning default_value if not found, - // empty, or contains only whitespace. - std::string GetString(const std::string& section, const std::string& name, - const std::string& default_value) const; - - // Get an integer (long) value from INI file, returning default_value if - // not found or not a valid integer (decimal "1234", "-1234", or hex "0x4d2"). - long GetInteger(const std::string& section, const std::string& name, long default_value) const; - - // Get a real (floating point double) value from INI file, returning - // default_value if not found or not a valid floating point value - // according to strtod(). - double GetReal(const std::string& section, const std::string& name, double default_value) const; - - // Get a boolean value from INI file, returning default_value if not found or if - // not a valid true/false value. Valid true values are "true", "yes", "on", "1", - // and valid false values are "false", "no", "off", "0" (not case sensitive). - bool GetBoolean(const std::string& section, const std::string& name, bool default_value) const; - - // Return true if the given section exists (section must contain at least - // one name=value pair). - bool HasSection(const std::string& section) const; - - // Return true if a value exists with the given section and field names. - bool HasValue(const std::string& section, const std::string& name) const; - -private: - int _error; - std::map _values; - static std::string MakeKey(const std::string& section, const std::string& name); - static int ValueHandler(void* user, const char* section, const char* name, - const char* value); -}; - +// Read an INI file into easy-to-access name/value pairs. + +// SPDX-License-Identifier: BSD-3-Clause + +// Copyright (C) 2009-2020, Ben Hoyt + +// inih and INIReader are released under the New BSD license (see LICENSE.txt). +// Go to the project home page for more info: +// +// https://github.com/benhoyt/inih + +#ifndef INIREADER_H +#define INIREADER_H + +#include +#include + +// Read an INI file into easy-to-access name/value pairs. (Note that I've gone +// for simplicity here rather than speed, but it should be pretty decent.) +class INIReader +{ +public: + // Construct INIReader and parse given filename. See ini.h for more info + // about the parsing. + explicit INIReader(const std::string& filename); + + // Construct INIReader and parse given buffer. See ini.h for more info + // about the parsing. + explicit INIReader(const char *buffer, size_t buffer_size); + + // Return the result of ini_parse(), i.e., 0 on success, line number of + // first error on parse error, or -1 on file open error. + int ParseError() const; + + // Get a string value from INI file, returning default_value if not found. + std::string Get(const std::string& section, const std::string& name, + const std::string& default_value) const; + + // Get a string value from INI file, returning default_value if not found, + // empty, or contains only whitespace. + std::string GetString(const std::string& section, const std::string& name, + const std::string& default_value) const; + + // Get an integer (long) value from INI file, returning default_value if + // not found or not a valid integer (decimal "1234", "-1234", or hex "0x4d2"). + long GetInteger(const std::string& section, const std::string& name, long default_value) const; + + // Get a real (floating point double) value from INI file, returning + // default_value if not found or not a valid floating point value + // according to strtod(). + double GetReal(const std::string& section, const std::string& name, double default_value) const; + + // Get a boolean value from INI file, returning default_value if not found or if + // not a valid true/false value. Valid true values are "true", "yes", "on", "1", + // and valid false values are "false", "no", "off", "0" (not case sensitive). + bool GetBoolean(const std::string& section, const std::string& name, bool default_value) const; + + // Return true if the given section exists (section must contain at least + // one name=value pair). + bool HasSection(const std::string& section) const; + + // Return true if a value exists with the given section and field names. + bool HasValue(const std::string& section, const std::string& name) const; + +private: + int _error; + std::map _values; + static std::string MakeKey(const std::string& section, const std::string& name); + static int ValueHandler(void* user, const char* section, const char* name, + const char* value); +}; + #endif // INIREADER_H \ No newline at end of file diff --git a/include/Utils/SaxUtil.h b/include/Utils/SaxUtil.h index cff8f99..d1101e1 100644 --- a/include/Utils/SaxUtil.h +++ b/include/Utils/SaxUtil.h @@ -1,169 +1,176 @@ -// -// Created by wzy on 2021/8/7. -// - -#ifndef MULGIFT_SAXUTIL_H -#define MULGIFT_SAXUTIL_H -#include -#include - -using namespace std; - -typedef struct dequeue -{ int *dq; - int size,capacity; - int f,r; -} dequeue; - -class SaxUtil { -public: - static double* breakpoints; - static float* breakpoints_f; - static string breakpointsFile; - static string SEPARATOR; - static double *bp8; - - static int * generatePrefixMask(); - - static double* readFromstring(string str); - - static float* readFromstringFloat(string str); - - static double* readDoubleFromFileAtOnce(const string& fileName); - - static float* readFloatFromFileAtOnce(const string& fileName); - - static double * paaFromTs(const float* ts, int tsLengthPerSegment, int segmentNum); - - static vector * saxFromTs(float*ts, int tsLengthPerSegment, int segmentNum, int cardinality); - - static int findFirstGE(const double* array, int start, int length, double target);// satisfy condition: array[?] >= target and the first one - - static int* invSaxFromSax(std::vector *sax, int bitsCardinality, int segmentNum); - - /** - * The MINDIST_PAA_iSAX function is used in kNN Search and exact search to find a baseline - * distance between a PAA representation and a SAX representation. - */ - static double LowerBound_Paa_iSax(const float *paa, std::vector *sax); - - /** - This function prints a sax record. - */ - static void saxPrint(int* sax, int bits_cardinality, int segment_num); - - static void printBinary(long n, int size); - - static vector * saxFromPaa(float *paa, int segmentNum, int cardinality); - - static int invSaxHeadFromSax(vector *sax, int bitsCardinality, int segmentNum); - - static int invSaxHeadFromTs(const float *ts, int tsLengthPerSegment, int segmentNum); - - static int invSaxHead2FromTs(const float *ts, int tsLengthPerSegment, int segmentNum); - - static void saxFromTs(const float *ts, unsigned short *sax, int tsLengthPerSegment, int segmentNum, int cardinality); - - static double LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, int bits_cardinality); - - static double LowerBound_Paa_iSax_SIMD(const float *paa, unsigned char *sax_short, unsigned char *bits_cardinality_short); - - static double LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality, vector&chosen_segs, int new_i); - - static double LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality) ; - - static double minidist_paa_to_isax_rawa_SIMD(const float *paa, unsigned char*sax, unsigned char*sax_cardinalities); - - static double getMinDist1stLayer(const float *paa, int id); - - static int invSaxHead2FromSax(vector *sax, int bitsCardinality, int segmentNum); - - static void generateSaxFile(const string &fn, const string &output); - -// static int invSaxHeadFromSax(const int *sax, int bitsCardinality, int segmentNum); - - static int invSaxHead2FromSax(const int *sax, int bitsCardinality, int segmentNum); - - static void id2Sax(int id, int *sax, int segment_num); - - static void id2Sax2(int id, unsigned short *sax, int segment_num); - - static int invSaxHeadkFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum, int k); - - static void paaFromTs(const float *ts, float *paa, int tsLengthPerSegment, int segmentNum); - - static void generatePaaFile(const string &fn, const string &output); - - static int findFirstGE(const int *array, int start, int length, int target); - - static void getValueRange(int sax_single, int bits_cardinality, double *lb, double *ub); - - static int extendSax(float *paa, const int *bits_cardinality, vector &segments); - - static double LowerBound_Paa_iSax(const double *paa, const int *sax, const int *bits_cardinality); - - static int invSaxHeadFromPaa(const float *paa, int tsLengthPerSegment, int segmentNum); - - static double LowerBound_Paa_iSax(const double *paa, const int *sax, const int *bits_cardinality, vector &chosen_segs, - int new_id); - - static void invSaxPrintDec(int *invsax, int bc); - - static int extendSax(const unsigned short *sax, const int *bits_cardinality); - - static int getNewId(const float *paa, const float *split_line); - - static int getNewId(const float *paa, const float *split_line, vector &segments); - - static int extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments); - - static int invSaxHeadFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum); - - static double - LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int *bits_cardinality, - vector &chosen_segs, - int new_id); - - static double LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int *bits_cardinality); - - static int extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments, - const unsigned short *parent_sax); - - static void paaAndSaxFromTs(const float *ts, float *paa, unsigned short *sax, int tsLengthPerSegment, int segmentNum, - int cardinality); - - static double LowerBound_Paa_iSax(const float *paa, const unsigned short *sax); - - static double getMidLineFromSaxSymbolbc8(unsigned short symbol); - - static double minidist_paa_to_isax_DTW(const double *paaU, const double *paaL, const unsigned short *sax, - const int *sax_cardinalities); - - static void lower_upper_lemire(const float *t, int len, int r, float *l, float *u); - - static float *paaFromTsFloat(const float *ts, int tsLengthPerSegment, int segmentNum); - - static void invSaxFromSax(vector *sax, unsigned int *invSAX, int bitsCardinality, int segmentNum); - - static string invSax2String(unsigned int *invsax); - - static unsigned int *str2Invsax(string str); - - static string invSaxHeadKFromInvSax(string invsax, int layer); - - static void string2invSAX(string invsax, unsigned int *ret); - - static unsigned short *invSax2Sax(const unsigned *invsax, int unit_num); - - static double - minidist_paa_to_isax_DTW(const double *paaU, const double *paaL, const unsigned short *sax, int bitsCardinality); - - static void - extendSax(const unsigned short *parent_sax, const int *parent_bits_cardinality, vector &chosen_segs, - int new_id, - unsigned short *sax, int *bits_cardinality); -}; - - - -#endif //MULGIFT_SAXUTIL_H +// +// Created by wzy on 2021/8/7. +// + +#ifndef MULGIFT_SAXUTIL_H +#define MULGIFT_SAXUTIL_H +#include +#include + +using namespace std; + +typedef struct dequeue +{ int *dq; + int size,capacity; + int f,r; +} dequeue; + +class SaxUtil { +public: + static double* breakpoints; + static float* breakpoints_f; + static string breakpointsFile; + static string SEPARATOR; + static double *bp8; + + static int * generatePrefixMask(); + + static double* readFromstring(string str); + + static float* readFromstringFloat(string str); + + static double* readDoubleFromFileAtOnce(const string& fileName); + + static float* readFloatFromFileAtOnce(const string& fileName); + + static double * paaFromTs(const float* ts, int tsLengthPerSegment, int segmentNum); + + static vector * saxFromTs(float*ts, int tsLengthPerSegment, int segmentNum, int cardinality); + + static int findFirstGE(const double* array, int start, int length, double target);// satisfy condition: array[?] >= target and the first one + + static int* invSaxFromSax(std::vector *sax, int bitsCardinality, int segmentNum); + + /** + * The MINDIST_PAA_iSAX function is used in kNN Search and exact search to find a baseline + * distance between a PAA representation and a SAX representation. + */ + static double LowerBound_Paa_iSax(const float *paa, std::vector *sax); + + /** + This function prints a sax record. + */ + static void saxPrint(int* sax, int bits_cardinality, int segment_num); + + static void printBinary(long n, int size); + + static vector * saxFromPaa(float *paa, int segmentNum, int cardinality); + + static int invSaxHeadFromSax(vector *sax, int bitsCardinality, int segmentNum); + + static int invSaxHeadFromTs(const float *ts, int tsLengthPerSegment, int segmentNum); + + static int invSaxHead2FromTs(const float *ts, int tsLengthPerSegment, int segmentNum); + + static void saxFromTs(const float *ts, unsigned short *sax, int tsLengthPerSegment, int segmentNum, int cardinality); + + static double LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, int bits_cardinality); + + static double LowerBound_Paa_iSax_SIMD(const float *paa, unsigned char *sax_short, unsigned char *bits_cardinality_short); + + static double LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality, vector&chosen_segs, int new_i); + + static double LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality) ; + + static double minidist_paa_to_isax_rawa_SIMD(const float *paa, unsigned char*sax, unsigned char*sax_cardinalities); + + static double getMinDist1stLayer(const float *paa, int id); + + static int invSaxHead2FromSax(vector *sax, int bitsCardinality, int segmentNum); + + static void generateSaxFile(const string &fn, const string &output); + +// static int invSaxHeadFromSax(const int *sax, int bitsCardinality, int segmentNum); + + static int invSaxHead2FromSax(const int *sax, int bitsCardinality, int segmentNum); + + static void id2Sax(int id, int *sax, int segment_num); + + static void id2Sax2(int id, unsigned short *sax, int segment_num); + + static int invSaxHeadkFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum, int k); + + static void paaFromTs(const float *ts, float *paa, int tsLengthPerSegment, int segmentNum); + + static void generatePaaFile(const string &fn, const string &output); + + static int findFirstGE(const int *array, int start, int length, int target); + + static void getValueRange(int sax_single, int bits_cardinality, double *lb, double *ub); + + static int extendSax(float *paa, const int *bits_cardinality, vector &segments); + + static double LowerBound_Paa_iSax(const double *paa, const int *sax, const int *bits_cardinality); + + static int invSaxHeadFromPaa(const float *paa, int tsLengthPerSegment, int segmentNum); + + static double LowerBound_Paa_iSax(const double *paa, const int *sax, const int *bits_cardinality, vector &chosen_segs, + int new_id); + + static void invSaxPrintDec(int *invsax, int bc); + + static int extendSax(const unsigned short *sax, const int *bits_cardinality); + + static int getNewId(const float *paa, const float *split_line); + + static int getNewId(const float *paa, const float *split_line, vector &segments); + + static int extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments); + + static int extendSaxFuzzy(const unsigned short *sax, const unsigned short* node_sax, const int *bits_cardinality, vector &segments); + + static int invSaxHeadFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum); + + static double + LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int *bits_cardinality, + vector &chosen_segs, + int new_id); + + static double LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int *bits_cardinality); + + static double getMinDist1stLayerDTW(const double *paaU, const double *paaL, int id); + + static double minidist_paa_to_isax_DTW(const double *paaU, const double *paaL, const unsigned short *sax, + const int* bits_cardinality, vector&chosen_segs, int new_id); + + static int extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments, + const unsigned short *parent_sax); + + static void paaAndSaxFromTs(const float *ts, float *paa, unsigned short *sax, int tsLengthPerSegment, int segmentNum, + int cardinality); + + static double LowerBound_Paa_iSax(const float *paa, const unsigned short *sax); + + static double getMidLineFromSaxSymbolbc8(unsigned short symbol); + + static double minidist_paa_to_isax_DTW(const double *paaU, const double *paaL, const unsigned short *sax, + const int *sax_cardinalities); + + static void lower_upper_lemire(const float *t, int len, int r, float *l, float *u); + + static float *paaFromTsFloat(const float *ts, int tsLengthPerSegment, int segmentNum); + + static void invSaxFromSax(vector *sax, unsigned int *invSAX, int bitsCardinality, int segmentNum); + + static string invSax2String(unsigned int *invsax); + + static unsigned int *str2Invsax(string str); + + static string invSaxHeadKFromInvSax(string invsax, int layer); + + static void string2invSAX(string invsax, unsigned int *ret); + + static unsigned short *invSax2Sax(const unsigned *invsax, int unit_num); + + static double + minidist_paa_to_isax_DTW(const double *paaU, const double *paaL, const unsigned short *sax, int bitsCardinality); + + static void + extendSax(const unsigned short *parent_sax, const int *parent_bits_cardinality, vector &chosen_segs, + int new_id, + unsigned short *sax, int *bits_cardinality); +}; + + + +#endif //MULGIFT_SAXUTIL_H diff --git a/include/Utils/TimeSeriesUtil.h b/include/Utils/TimeSeriesUtil.h index 5aafd53..f300990 100644 --- a/include/Utils/TimeSeriesUtil.h +++ b/include/Utils/TimeSeriesUtil.h @@ -92,6 +92,10 @@ class TimeSeriesUtil { static float euclideanDist_SIMD(float *query_reordered, float *ts, int size, double bound, int *order); + static float lb_keogh_data_bound(float* qo, float* upperLemire, float* lowerLemire, float* cb, int len, float bsf); + + static float dtwsimd(const float* A, const float* B, float* cb, int len, int r, float bsf, float* tSum, float* pCost, float* rDist); + // static void knnWithBsf(const DSTreeNode &node, InsertedSeries &queryTs, int k, vector &heap); // // static vector & knnVector(const DSTreeNode &node, InsertedSeries &q, int k); diff --git a/include/Utils/ini.h b/include/Utils/ini.h index 8c084bd..ae9547e 100644 --- a/include/Utils/ini.h +++ b/include/Utils/ini.h @@ -1,156 +1,156 @@ -/* inih -- simple .INI file parser - -SPDX-License-Identifier: BSD-3-Clause - -Copyright (C) 2009-2020, Ben Hoyt - -inih is released under the New BSD license (see LICENSE.txt). Go to the project -home page for more info: - -https://github.com/benhoyt/inih - -*/ - -#ifndef INI_H -#define INI_H -/* Make this header file easier to include in C++ code */ -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* Nonzero if ini_handler callback should accept lineno parameter. */ -#ifndef INI_HANDLER_LINENO -#define INI_HANDLER_LINENO 0 -#endif - -/* Typedef for prototype of handler function. */ -#if INI_HANDLER_LINENO -typedef int (*ini_handler)(void* user, const char* section, - const char* name, const char* value, - int lineno); -#else -typedef int (*ini_handler)(void* user, const char* section, - const char* name, const char* value); -#endif - -/* Typedef for prototype of fgets-style reader function. */ -typedef char* (*ini_reader)(char* str, int num, void* stream); - -/* Parse given INI-style file. May have [section]s, name=value pairs - (whitespace stripped), and comments starting with ';' (semicolon). Section - is "" if name=value pair parsed before any section heading. name:value - pairs are also supported as a concession to Python's configparser. - - For each name=value pair parsed, call handler function with given user - pointer as well as section, name, and value (data only valid for duration - of handler call). Handler should return nonzero on success, zero on error. - - Returns 0 on success, line number of first error on parse error (doesn't - stop on first error), -1 on file open error, or -2 on memory allocation - error (only when INI_USE_STACK is zero). -*/ -int ini_parse(const char* filename, ini_handler handler, void* user); - -/* Same as ini_parse(), but takes a FILE* instead of filename. This doesn't - close the file when it's finished -- the caller must do that. */ -int ini_parse_file(FILE* file, ini_handler handler, void* user); - -/* Same as ini_parse(), but takes an ini_reader function pointer instead of - filename. Used for implementing custom or string-based I/O (see also - ini_parse_string). */ -int ini_parse_stream(ini_reader reader, void* stream, ini_handler handler, - void* user); - -/* Same as ini_parse(), but takes a zero-terminated string with the INI data -instead of a file. Useful for parsing INI data from a network socket or -already in memory. */ -int ini_parse_string(const char* string, ini_handler handler, void* user); - -/* Nonzero to allow multi-line value parsing, in the style of Python's - configparser. If allowed, ini_parse() will call the handler with the same - name for each subsequent line parsed. */ -#ifndef INI_ALLOW_MULTILINE -#define INI_ALLOW_MULTILINE 1 -#endif - -/* Nonzero to allow a UTF-8 BOM sequence (0xEF 0xBB 0xBF) at the start of - the file. See https://github.com/benhoyt/inih/issues/21 */ -#ifndef INI_ALLOW_BOM -#define INI_ALLOW_BOM 1 -#endif - -/* Chars that begin a start-of-line comment. Per Python configparser, allow - both ; and # comments at the start of a line by default. */ -#ifndef INI_START_COMMENT_PREFIXES -#define INI_START_COMMENT_PREFIXES ";#" -#endif - -/* Nonzero to allow inline comments (with valid inline comment characters - specified by INI_INLINE_COMMENT_PREFIXES). Set to 0 to turn off and match - Python 3.2+ configparser behaviour. */ -#ifndef INI_ALLOW_INLINE_COMMENTS -#define INI_ALLOW_INLINE_COMMENTS 1 -#endif -#ifndef INI_INLINE_COMMENT_PREFIXES -#define INI_INLINE_COMMENT_PREFIXES ";" -#endif - -/* Nonzero to use stack for line buffer, zero to use heap (malloc/free). */ -#ifndef INI_USE_STACK -#define INI_USE_STACK 1 -#endif - -/* Maximum line length for any line in INI file (stack or heap). Note that - this must be 3 more than the longest line (due to '\r', '\n', and '\0'). */ -#ifndef INI_MAX_LINE -#define INI_MAX_LINE 200 -#endif - -/* Nonzero to allow heap line buffer to grow via realloc(), zero for a - fixed-size buffer of INI_MAX_LINE bytes. Only applies if INI_USE_STACK is - zero. */ -#ifndef INI_ALLOW_REALLOC -#define INI_ALLOW_REALLOC 0 -#endif - -/* Initial size in bytes for heap line buffer. Only applies if INI_USE_STACK - is zero. */ -#ifndef INI_INITIAL_ALLOC -#define INI_INITIAL_ALLOC 200 -#endif - -/* Stop parsing on first error (default is to keep parsing). */ -#ifndef INI_STOP_ON_FIRST_ERROR -#define INI_STOP_ON_FIRST_ERROR 0 -#endif - -/* Nonzero to call the handler at the start of each new section (with - name and value NULL). Default is to only call the handler on - each name=value pair. */ -#ifndef INI_CALL_HANDLER_ON_NEW_SECTION -#define INI_CALL_HANDLER_ON_NEW_SECTION 0 -#endif - -/* Nonzero to allow a name without a value (no '=' or ':' on the line) and - call the handler with value NULL in this case. Default is to treat - no-value lines as an error. */ -#ifndef INI_ALLOW_NO_VALUE -#define INI_ALLOW_NO_VALUE 0 -#endif - -/* Nonzero to use custom ini_malloc, ini_free, and ini_realloc memory - allocation functions (INI_USE_STACK must also be 0). These functions must - have the same signatures as malloc/free/realloc and behave in a similar - way. ini_realloc is only needed if INI_ALLOW_REALLOC is set. */ -#ifndef INI_CUSTOM_ALLOCATOR -#define INI_CUSTOM_ALLOCATOR 0 -#endif - - -#ifdef __cplusplus -} -#endif - +/* inih -- simple .INI file parser + +SPDX-License-Identifier: BSD-3-Clause + +Copyright (C) 2009-2020, Ben Hoyt + +inih is released under the New BSD license (see LICENSE.txt). Go to the project +home page for more info: + +https://github.com/benhoyt/inih + +*/ + +#ifndef INI_H +#define INI_H +/* Make this header file easier to include in C++ code */ +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* Nonzero if ini_handler callback should accept lineno parameter. */ +#ifndef INI_HANDLER_LINENO +#define INI_HANDLER_LINENO 0 +#endif + +/* Typedef for prototype of handler function. */ +#if INI_HANDLER_LINENO +typedef int (*ini_handler)(void* user, const char* section, + const char* name, const char* value, + int lineno); +#else +typedef int (*ini_handler)(void* user, const char* section, + const char* name, const char* value); +#endif + +/* Typedef for prototype of fgets-style reader function. */ +typedef char* (*ini_reader)(char* str, int num, void* stream); + +/* Parse given INI-style file. May have [section]s, name=value pairs + (whitespace stripped), and comments starting with ';' (semicolon). Section + is "" if name=value pair parsed before any section heading. name:value + pairs are also supported as a concession to Python's configparser. + + For each name=value pair parsed, call handler function with given user + pointer as well as section, name, and value (data only valid for duration + of handler call). Handler should return nonzero on success, zero on error. + + Returns 0 on success, line number of first error on parse error (doesn't + stop on first error), -1 on file open error, or -2 on memory allocation + error (only when INI_USE_STACK is zero). +*/ +int ini_parse(const char* filename, ini_handler handler, void* user); + +/* Same as ini_parse(), but takes a FILE* instead of filename. This doesn't + close the file when it's finished -- the caller must do that. */ +int ini_parse_file(FILE* file, ini_handler handler, void* user); + +/* Same as ini_parse(), but takes an ini_reader function pointer instead of + filename. Used for implementing custom or string-based I/O (see also + ini_parse_string). */ +int ini_parse_stream(ini_reader reader, void* stream, ini_handler handler, + void* user); + +/* Same as ini_parse(), but takes a zero-terminated string with the INI data +instead of a file. Useful for parsing INI data from a network socket or +already in memory. */ +int ini_parse_string(const char* string, ini_handler handler, void* user); + +/* Nonzero to allow multi-line value parsing, in the style of Python's + configparser. If allowed, ini_parse() will call the handler with the same + name for each subsequent line parsed. */ +#ifndef INI_ALLOW_MULTILINE +#define INI_ALLOW_MULTILINE 1 +#endif + +/* Nonzero to allow a UTF-8 BOM sequence (0xEF 0xBB 0xBF) at the start of + the file. See https://github.com/benhoyt/inih/issues/21 */ +#ifndef INI_ALLOW_BOM +#define INI_ALLOW_BOM 1 +#endif + +/* Chars that begin a start-of-line comment. Per Python configparser, allow + both ; and # comments at the start of a line by default. */ +#ifndef INI_START_COMMENT_PREFIXES +#define INI_START_COMMENT_PREFIXES ";#" +#endif + +/* Nonzero to allow inline comments (with valid inline comment characters + specified by INI_INLINE_COMMENT_PREFIXES). Set to 0 to turn off and match + Python 3.2+ configparser behaviour. */ +#ifndef INI_ALLOW_INLINE_COMMENTS +#define INI_ALLOW_INLINE_COMMENTS 1 +#endif +#ifndef INI_INLINE_COMMENT_PREFIXES +#define INI_INLINE_COMMENT_PREFIXES ";" +#endif + +/* Nonzero to use stack for line buffer, zero to use heap (malloc/free). */ +#ifndef INI_USE_STACK +#define INI_USE_STACK 1 +#endif + +/* Maximum line length for any line in INI file (stack or heap). Note that + this must be 3 more than the longest line (due to '\r', '\n', and '\0'). */ +#ifndef INI_MAX_LINE +#define INI_MAX_LINE 200 +#endif + +/* Nonzero to allow heap line buffer to grow via realloc(), zero for a + fixed-size buffer of INI_MAX_LINE bytes. Only applies if INI_USE_STACK is + zero. */ +#ifndef INI_ALLOW_REALLOC +#define INI_ALLOW_REALLOC 0 +#endif + +/* Initial size in bytes for heap line buffer. Only applies if INI_USE_STACK + is zero. */ +#ifndef INI_INITIAL_ALLOC +#define INI_INITIAL_ALLOC 200 +#endif + +/* Stop parsing on first error (default is to keep parsing). */ +#ifndef INI_STOP_ON_FIRST_ERROR +#define INI_STOP_ON_FIRST_ERROR 0 +#endif + +/* Nonzero to call the handler at the start of each new section (with + name and value NULL). Default is to only call the handler on + each name=value pair. */ +#ifndef INI_CALL_HANDLER_ON_NEW_SECTION +#define INI_CALL_HANDLER_ON_NEW_SECTION 0 +#endif + +/* Nonzero to allow a name without a value (no '=' or ':' on the line) and + call the handler with value NULL in this case. Default is to treat + no-value lines as an error. */ +#ifndef INI_ALLOW_NO_VALUE +#define INI_ALLOW_NO_VALUE 0 +#endif + +/* Nonzero to use custom ini_malloc, ini_free, and ini_realloc memory + allocation functions (INI_USE_STACK must also be 0). These functions must + have the same signatures as malloc/free/realloc and behave in a similar + way. ini_realloc is only needed if INI_ALLOW_REALLOC is set. */ +#ifndef INI_CUSTOM_ALLOCATOR +#define INI_CUSTOM_ALLOCATOR 0 +#endif + + +#ifdef __cplusplus +} +#endif + #endif /* INI_H */ \ No newline at end of file diff --git a/src/Const.cpp b/src/Const.cpp index 413c864..8b27866 100644 --- a/src/Const.cpp +++ b/src/Const.cpp @@ -1,32 +1,32 @@ -// -// Created by wzy on 2021/12/12. -// -#include "../include/Const.h" - -// sec:expr -string Const::dataset = "",Const:: method = ""; -int Const::tsLength = -1, Const::maxK = -1, Const::index = -1, Const::ops = -1, Const::materialized = -1, -Const::method_code = -1, Const::query_num = -1, Const::series_num = -1, Const::k = -1, Const::dtw_window_size = -1, -Const::batch_size = -1, Const::batch_num = -1, Const::pre_read = -1, Const::thread_num = -1, Const::messi_pq_num = -1, -Const::SSD_pq_num = -1; -double Const::dtw_window_percent = -1; - -//sec: parameter -// segment number is special, it needs to be specified here -int Const::th = -1, Const::bitsCardinality = -1, Const::max_replica = -1, Const::max_radius = -1, Const::fbl_size = -1,Const::max_diff = -1, Const::fbl_series_num = -1; -double Const::imbalance = -1, Const::boundary_1st = -1, Const::boundary = -1, Const::filling_factor_1st = -1, -Const::filling_factor = -1, Const::small_perc = -1, Const::f_low = -1, Const::f_high = -1, Const::alpha = -1, -Const::max_mask_bit_percentage = -1, Const::tardis_sample_percent = -1; - -//sec: others -string Const::graphfn = ""; -int Const::bitsReserve = -1; - -//sec: dataset -string Const::paafn = "", Const::saxfn = "", Const::idxfn = "",Const::fidxfn = "",Const::posidxfn = "", -Const::fuzzyidxfn, Const::datafn = "", Const::queryfn = "", Const::resfn = "",Const::dtwresfn = "", Const::dstreefn = "", Const::tardisfn = ""; - -// 2-nd level parameter - -int Const::tsLengthPerSegment = -1, Const::cardinality = -1, Const::tsLengthBytes = -1, Const::vertexNum = -1, Const::neighborNum = 0; +// +// Created by wzy on 2021/12/12. +// +#include "../include/Const.h" + +// sec:expr +string Const::dataset = "",Const:: method = ""; +int Const::tsLength = -1, Const::maxK = -1, Const::index = -1, Const::ops = -1, Const::materialized = -1, +Const::method_code = -1, Const::query_num = -1, Const::series_num = -1, Const::k = -1, Const::dtw_window_size = -1, +Const::batch_size = -1, Const::batch_num = -1, Const::pre_read = -1, Const::thread_num = -1, Const::messi_pq_num = -1, +Const::SSD_pq_num = -1; +double Const::dtw_window_percent = -1; + +//sec: parameter +// segment number is special, it needs to be specified here +int Const::th = -1, Const::bitsCardinality = -1, Const::max_replica = -1, Const::max_radius = -1, Const::fbl_size = -1,Const::max_diff = -1, Const::fbl_series_num = -1; +double Const::imbalance = -1, Const::boundary_1st = -1, Const::boundary = -1, Const::filling_factor_1st = -1, +Const::filling_factor = -1, Const::small_perc = -1, Const::f_low = -1, Const::f_high = -1, Const::alpha = -1, +Const::max_mask_bit_percentage = -1, Const::tardis_sample_percent = -1; + +//sec: others +string Const::graphfn = ""; +int Const::bitsReserve = -1; + +//sec: dataset +string Const::paafn = "", Const::saxfn = "", Const::idxfn = "",Const::fidxfn = "",Const::posidxfn = "", +Const::fuzzyidxfn, Const::datafn = "", Const::queryfn = "", Const::resfn = "",Const::dtwresfn = "", Const::dstreefn = "", Const::tardisfn = ""; + +// 2-nd level parameter + +int Const::tsLengthPerSegment = -1, Const::cardinality = -1, Const::tsLengthBytes = -1, Const::vertexNum = -1, Const::neighborNum = 0; long Const::offset = -1; \ No newline at end of file diff --git a/src/Expr/DNATranslator.cpp b/src/Expr/DNATranslator.cpp index 258308c..e68f02f 100644 --- a/src/Expr/DNATranslator.cpp +++ b/src/Expr/DNATranslator.cpp @@ -1,153 +1,153 @@ -// -// Created by caucher on 2021/12/3. -// - -#include "../../include/Expr/DNATranslator.h" -#include "../../include/Utils/TimeSeriesUtil.h" -#include -#include -#include -#include - -void DNATranslator::translate(const string &output, int len){ - string fn = "/mnt/g/Series4Similarity_Search/GCA_018340775.1_ASM1834077v1_genomic.fna.gz"; - ifstream fin(fn, ios::in); - FILE *of = fopen(output.c_str(), "wb"); - string s; - getline(fin, s); - int step = 30; - float cur = 0; char c; - long num = 1; - float data[len]; - for(float &i:data) i=0; - - // read the 1st series - for(int i=0;i> c; - switch (tolower(c)) { - case 'a': cur += 1; break; - case 'g': cur += 2; break; - case 'c': cur -= 1; break; - case 't': cur -= 2; break; - default: continue; - } - data[i] = cur; - ++i; - } - if(fin) z_normalize_and_save(data, len, of); - - // read other series - while(fin){ - float tmp = data[step]; - for(int i = step; i> c; - switch (tolower(c)) { - case 'a': cur += 1; break; - case 'g': cur += 2; break; - case 'c': cur -= 1; break; - case 't': cur -= 2; break; - default: continue; - } - data[i] = cur; - ++i; - } - if(fin) z_normalize_and_save(data, len, of); - if(++num % 200000 == 0) cout << num <> c; - switch (tolower(c)) { - case 'a': cur += 1; break; - case 'g': cur += 2; break; - case 'c': cur -= 1; break; - case 't': cur -= 2; break; - default: continue; - } - data[i] = cur; - ++i; - } - if(fin) z_normalize_and_save(data, len, of); - if(++num % 200000 == 0) cout << num < +#include +#include +#include + +void DNATranslator::translate(const string &output, int len){ + string fn = "/mnt/g/Series4Similarity_Search/GCA_018340775.1_ASM1834077v1_genomic.fna.gz"; + ifstream fin(fn, ios::in); + FILE *of = fopen(output.c_str(), "wb"); + string s; + getline(fin, s); + int step = 30; + float cur = 0; char c; + long num = 1; + float data[len]; + for(float &i:data) i=0; + + // read the 1st series + for(int i=0;i> c; + switch (tolower(c)) { + case 'a': cur += 1; break; + case 'g': cur += 2; break; + case 'c': cur -= 1; break; + case 't': cur -= 2; break; + default: continue; + } + data[i] = cur; + ++i; + } + if(fin) z_normalize_and_save(data, len, of); + + // read other series + while(fin){ + float tmp = data[step]; + for(int i = step; i> c; + switch (tolower(c)) { + case 'a': cur += 1; break; + case 'g': cur += 2; break; + case 'c': cur -= 1; break; + case 't': cur -= 2; break; + default: continue; + } + data[i] = cur; + ++i; + } + if(fin) z_normalize_and_save(data, len, of); + if(++num % 200000 == 0) cout << num <> c; + switch (tolower(c)) { + case 'a': cur += 1; break; + case 'g': cur += 2; break; + case 'c': cur -= 1; break; + case 't': cur -= 2; break; + default: continue; + } + data[i] = cur; + ++i; + } + if(fin) z_normalize_and_save(data, len, of); + if(++num % 200000 == 0) cout << num < - -void ECGParser::generateECG(const string &data_dir, const string &output, int ts_length) { - vectorfiles; - FileUtil::getFiles(data_dir, files); - auto *series = new float [ts_length]; - int cur = 0; - float t; - FILE *outf = fopen(output.c_str(), "wb"); - for(string& file:files){ - cur = 0; - FILE *f = fopen(file.c_str(), "rb"); - long size= FileUtil::getFileSize(file.c_str()); - int num = size / sizeof(float); - for(int i=0;i= ts_length){ - DNATranslator::z_normalize(series, ts_length); - fwrite(series, sizeof(float ), ts_length, outf); - cur = 0; - } - } - fclose(f); - } - fclose(outf); +// +// Created by pengwang5 on 2022/2/13. +// + +#include "../../include/Expr/ECGParser.h" +#include "../../include/Utils/FileUtil.h" +#include "../../include/Expr/DNATranslator.h" +#include + +void ECGParser::generateECG(const string &data_dir, const string &output, int ts_length) { + vectorfiles; + FileUtil::getFiles(data_dir, files); + auto *series = new float [ts_length]; + int cur = 0; + float t; + FILE *outf = fopen(output.c_str(), "wb"); + for(string& file:files){ + cur = 0; + FILE *f = fopen(file.c_str(), "rb"); + long size= FileUtil::getFileSize(file.c_str()); + int num = size / sizeof(float); + for(int i=0;i= ts_length){ + DNATranslator::z_normalize(series, ts_length); + fwrite(series, sizeof(float ), ts_length, outf); + cur = 0; + } + } + fclose(f); + } + fclose(outf); } \ No newline at end of file diff --git a/src/Expr/RandDataGenerator.cpp b/src/Expr/RandDataGenerator.cpp index 2fcb44e..bdd66c7 100644 --- a/src/Expr/RandDataGenerator.cpp +++ b/src/Expr/RandDataGenerator.cpp @@ -1,68 +1,68 @@ -// -// Created by caucher on 2021/11/28. -// - -#include "../../include/Expr/RandDataGenerator.h" -void RandDataGenerator::z_normalize(float *ts, int size) { - int i; - float mean = 0;//gsl_stats_mean(ts, 1, size); - float std = 0;//gsl_stats_sd(ts, 1, size); - for (i = 0; i < size; i++) { - mean += ts[i]; - } - mean /= size; - - for (i = 0; i < size; i++) { - std += (ts[i] - mean) * (ts[i] - mean); - } - std /= size; - std = sqrt(std); - for (i = 0; i < size; i++) { - ts[i] = (ts[i] - mean) / std; - } -} - -float *RandDataGenerator::generate(float *ts, int size, gsl_rng *r) { - int i; - float x = 0, dx; - - for (i = 0; i < size; i++) { - dx = gsl_ran_gaussian(r, STD); // mean=0, std=STD - x += dx; - ts[i] = x; - } - - z_normalize(ts, size); - return ts; -} - - -/** - Generates a set of random time series. -**/ -void RandDataGenerator::generate_random_timeseries(int length, int number_of_timeseries, const char *filename) { - // Initialize random number generation - const gsl_rng_type *T; - gsl_rng *r; - gsl_rng_env_setup(); - T = gsl_rng_default; - r = gsl_rng_alloc(T); - - FILE *data_file; - data_file = fopen(filename, "wb"); - - auto *ts = new float[length]; - int i; - for (i = 1; i <= number_of_timeseries; i++) { - generate(ts, length, r); - fwrite(ts, sizeof(float), length, data_file); - } - - if (i % (1000) == 0) { - fprintf(stderr, "\r\x1b[m>> Generating: \x1b[36m%2.2lf%%\x1b[0m", - (float) ((float) i / (float) number_of_timeseries) * 100); - } - // Finalize random number generator - fclose (data_file); - gsl_rng_free (r); +// +// Created by caucher on 2021/11/28. +// + +#include "../../include/Expr/RandDataGenerator.h" +void RandDataGenerator::z_normalize(float *ts, int size) { + int i; + float mean = 0;//gsl_stats_mean(ts, 1, size); + float std = 0;//gsl_stats_sd(ts, 1, size); + for (i = 0; i < size; i++) { + mean += ts[i]; + } + mean /= size; + + for (i = 0; i < size; i++) { + std += (ts[i] - mean) * (ts[i] - mean); + } + std /= size; + std = sqrt(std); + for (i = 0; i < size; i++) { + ts[i] = (ts[i] - mean) / std; + } +} + +float *RandDataGenerator::generate(float *ts, int size, gsl_rng *r) { + int i; + float x = 0, dx; + + for (i = 0; i < size; i++) { + dx = gsl_ran_gaussian(r, STD); // mean=0, std=STD + x += dx; + ts[i] = x; + } + + z_normalize(ts, size); + return ts; +} + + +/** + Generates a set of random time series. +**/ +void RandDataGenerator::generate_random_timeseries(int length, int number_of_timeseries, const char *filename) { + // Initialize random number generation + const gsl_rng_type *T; + gsl_rng *r; + gsl_rng_env_setup(); + T = gsl_rng_default; + r = gsl_rng_alloc(T); + + FILE *data_file; + data_file = fopen(filename, "wb"); + + auto *ts = new float[length]; + int i; + for (i = 1; i <= number_of_timeseries; i++) { + generate(ts, length, r); + fwrite(ts, sizeof(float), length, data_file); + } + + if (i % (1000) == 0) { + fprintf(stderr, "\r\x1b[m>> Generating: \x1b[36m%2.2lf%%\x1b[0m", + (float) ((float) i / (float) number_of_timeseries) * 100); + } + // Finalize random number generator + fclose (data_file); + gsl_rng_free (r); } \ No newline at end of file diff --git a/src/Expr/Recall.cpp b/src/Expr/Recall.cpp index b5cba34..dbbdab1 100644 --- a/src/Expr/Recall.cpp +++ b/src/Expr/Recall.cpp @@ -17,6 +17,7 @@ #include "../../include/Const.h" #include "../../include/TAR/TARGNode.h" #include +//#include #include #include #include @@ -28,9 +29,9 @@ using namespace std; // LBSeriesTime2 = 0, LBNodeTime2=0, DSTreeSearchTime2 =0, IOBigTime2 = 0, distBigTime2 = 0, DSTreeNodeApproxTime2 = 0, heapBigTime2 = 0, DSTreePreparePqTime2 =0,DSTreeProcessPqTime2 =0, // approxSearchTime = 0, exactSearchTime = 0, wallClockTime = 0, hashTableTime = 0, LBSeriesCnt = 0; extern long approxSearchTimeDetails[]{0,0,0,0}, approxSearchUnits[]{0,0,0,0}; -extern long LB_SERIES_TIME , HEAP_TIME , IO_URING_WAIT, +extern long LB_SERIES_TIME , HEAP_TIME , IO_URING_WAIT, IO_ACTUAL_WAIT, LB_NODE_TIME_STAT , LB_NODE_CNT, LOADED_NODE_CNT, LOADED_PACK_CNT=0; -extern double DIST_CALC_TIME ,READ_TIME, PREPARE_TIME, SEARCH_TIME; +extern double DIST_CALC_TIME ,READ_TIME, PREPARE_TIME, SEARCH_TIME, NON_OVERLAP_TIME, CPU_TIME, PREV_TIME, WAIT_TIME, TAIL_TIME; //void free_heap(vector*heap){ // for(auto* x:*heap) @@ -1033,7 +1034,8 @@ void Recall::doExprWithResFADAS(FADASNode *root, vector> *g, const s void Recall::ngSearchDumpy(FADASNode *root, vector> *g) { int maxExprRound = Const::query_num; Const::logPrint( "result file is " + Const::resfn); - int nprobes[]{1,3,5,10, 20, 35, 50 ,75, 100, 130}; + int nprobes[]{10, 15, 20, 25, 35, 50 ,75, 100, 130}; +// int nprobes[]{1,3,5,10, 20, 35, 50 ,75, 100, 130}; // int nprobes[]{50}; // int ks[]{25}; int thresholds[]{10000}; @@ -1118,6 +1120,101 @@ void Recall::ngSearchDumpy(FADASNode *root, vector> *g) { fclose(f); } +void Recall::ngSearchDumpyParallel(FADASNode *root, vector> *g) { + int maxExprRound = Const::query_num; + Const::logPrint( "result file is " + Const::resfn); + int nprobes[]{10, 15, 20, 25, 35, 50 ,75, 100, 130}; +// int nprobes[]{3}; + vector>io_buffer(2, vector(Const::SSD_pq_num)); +// int nprobes[]{50}; +// int ks[]{25}; + for(int i = 0; i < 2 ; ++i) + for(int j = 0; j < Const::SSD_pq_num; ++j) + io_buffer[i][j].tss = new float [Const::th * Const::tsLength]; + + int thresholds[]{10000}; + root->assignLeafNum(); + float *query; + float query_ts_reordered[Const::tsLength]; + int ordering[Const::tsLength]; + FILE *f = fopen(Const::queryfn.c_str(), "rb"); + long offset = 0; + fseek(f, offset * Const::tsLengthBytes, SEEK_SET); + for(int threshold:thresholds){ + int _k = 0; + for(int probe:nprobes){ + int recallNums[maxExprRound]; + int search_number[maxExprRound]; + int layers[maxExprRound]; + long duration[maxExprRound]; + double error_ratio[maxExprRound]; + double inv_error_ratio[maxExprRound]; + cout<<"------------------Experiment--------------------" << endl; + cout<<"nprobe: " << probe << endl; + cout<<"threshold: " << threshold<< endl; + + for(int curRound = 0; curRound < maxExprRound; ++curRound){ + // cout<<"Round : " + (curRound + 1)); + c_nodes.clear(); + _search_num = 0; + query = FileUtil::readSeries(f); + reorder_query(query, query_ts_reordered, ordering); + auto start = chrono::system_clock::now(); + vector *approxKnn = FADASSearcher::Par_ngSearch(root, query, query_ts_reordered, ordering, + Const::k,g, probe, io_buffer); + auto end = chrono::system_clock::now(); +// for(int i=0;i<256;++i) +// cout << (*approxKnn)[0]->ts[i] <<","; + vector* exactKnn = getResult(Const::resfn, offset + curRound, Const::k); + vector exactKnn2; + for(float *t: *exactKnn) + exactKnn2.push_back(new PqItemSeries(t, query)); + +// layer = 4; +// analyzePrintSax(approxKnn,exactKnn, query); + duration[curRound] = chrono::duration_cast(end - start).count(); + recallNums[curRound] = TimeSeriesUtil::intersectionTsSetsCardinality(approxKnn, exactKnn); + search_number[curRound] = _search_num; + error_ratio[curRound] = MathUtil::errorRatio(*approxKnn, exactKnn2, Const::k); + inv_error_ratio[curRound] = MathUtil::invertedErrorRatio(*approxKnn, exactKnn2, Const::k); +// cout << curRound << ":"<> *g, cons Const::logPrint( "result file is " + Const::resfn); int k = Const::k; // int ks[]{10}; - int node_nums[]{1,2,3,4,5, 10, 25}; -// int node_nums[]{50}; + int node_nums[]{1,2,3,4,5,10,25}; +// int node_nums[]{25}; float *query; float query_reordered[Const::tsLength]; int ordering[Const::tsLength]; @@ -1237,6 +1334,7 @@ void Recall::doExprWithResIncFADAS(FADASNode *root, vector> *g, cons c_nodes.clear(); _search_num = 0; query = FileUtil::readSeries(f); +// if(curRound < 12) continue; reorder_query(query, query_reordered, ordering); auto start = chrono::system_clock::now(); vector *approxKnn = FADASSearcher::approxIncSearch(root, query, k, index_dir, node_num, @@ -1463,7 +1561,7 @@ void Recall::doExprWithResIncFADASDTW(FADASNode *root, vector> *g, c void Recall::doExprWithResIncFADASFuzzy(FADASNode *root, vector> *g, const string &index_dir) { int maxExprRound = Const::query_num; Const::logPrint( "result file is " + Const::resfn); - int k = 1; + int k = Const::k; // int ks[]{10}; int node_nums[]{1,2,3,4,5,10,25}; // int node_nums[]{10}; @@ -1540,6 +1638,94 @@ void Recall::doExprWithResIncFADASFuzzy(FADASNode *root, vector> *g, fclose(f); } +void Recall::multiwayDumpySearch(FADASNode *root, vector> *g, const string &index_dir) { + int maxExprRound = Const::query_num; + Const::logPrint( "result file is " + Const::resfn); + int k = Const::k; +// int ks[]{10}; + int node_nums[]{1,2,3,4,5, 10, 25}; +// int node_nums[]{10}; + float *query; + float query_reordered[Const::tsLength]; + int*mask = MathUtil::generateMask(Const::segmentNum); + int ordering[Const::tsLength]; + root->assignLeafNum(); + FILE *f = fopen(Const::queryfn.c_str(), "rb"); + long offset = 0; + fseek(f, offset * Const::tsLengthBytes, SEEK_SET); + for(int node_num: node_nums){ + int recallNums[maxExprRound]; + int search_number[maxExprRound]; + int layers[maxExprRound], rest_nodes[maxExprRound]; + long duration[maxExprRound]; + double error_ratio[maxExprRound]; + double inv_error_ratio[maxExprRound]; + cout<<"------------------Experiment--------------------" << endl; + cout<<"k: " << k << endl; + cout<<"node number: " << node_num<< endl; + + for(int curRound = 0; curRound < maxExprRound; ++curRound){ + // cout<<"Round : " + (curRound + 1)); + c_nodes.clear(); + _search_num = 0; + query = FileUtil::readSeries(f); +// if(curRound < 1) continue; + reorder_query(query, query_reordered, ordering); + auto start = chrono::system_clock::now(); + vector *approxKnn = FADASSearcher::multiWayApproxSearch(root, query, k, g, index_dir, node_num, + mask, query_reordered, ordering); + auto end = chrono::system_clock::now(); + vector* exactKnn = getResult(Const::resfn, offset + curRound, k); + vector exactKnn2; + for(float *t: *exactKnn) + exactKnn2.push_back(new PqItemSeries(t, query)); + + duration[curRound] = chrono::duration_cast(end - start).count(); + layers[curRound] = __layer; + rest_nodes[curRound] = nrest; + recallNums[curRound] = TimeSeriesUtil::intersectionTsSetsCardinality(approxKnn, exactKnn); + search_number[curRound] = _search_num; + error_ratio[curRound] = MathUtil::errorRatio(*approxKnn, exactKnn2, k); + inv_error_ratio[curRound] = MathUtil::invertedErrorRatio(*approxKnn, exactKnn2, k); +// cout << curRound << ":"<>*g) { int maxExprRound = Const::query_num; Const::logPrint( "result file is " + Const::resfn); @@ -1559,6 +1745,8 @@ void Recall::exactSearchFADAS(FADASNode *root, vector>*g) { cout<<"k: " << k << endl; cout << fixed << setprecision(3); +// FILE* resf = fopen(Const::resfn.c_str(), "wb"); + for(int curRound = 0; curRound < maxExprRound; ++curRound){ // cout<<"Round : " + (curRound + 1)); c_nodes.clear(); @@ -1566,11 +1754,11 @@ void Recall::exactSearchFADAS(FADASNode *root, vector>*g) { READ_TIME = 0; PREPARE_TIME = 0; SEARCH_TIME = 0; DIST_CALC_TIME = 0; LOADED_NODE_CNT = 0; query = FileUtil::readSeries(f); -// if(curRound < 25) continue; +// if(curRound < 1) continue; reorder_query(query, query_reordered, ordering); auto start = chrono::system_clock::now(); - vector *approxKnn = FADASSearcher::Par_exactSearchIdLevel_MESSI(root, query, k, g, query_reordered, + vector *approxKnn = FADASSearcher::exactSearchIdLevel(root, query, k, g, query_reordered, ordering); auto end = chrono::system_clock::now(); duration[curRound] = chrono::duration_cast(end - start).count() / 1000.0; @@ -1580,6 +1768,11 @@ void Recall::exactSearchFADAS(FADASNode *root, vector>*g) { for(float *t: *exactKnn) exactKnn2.push_back(new PqItemSeries(t, query)); +// for(int i = 0; i < k; ++i){ +// auto ts = (*approxKnn)[i]->ts; +// fwrite(ts, sizeof(float), Const::tsLength, resf); +// } + load_node_cnt[curRound] = LOADED_NODE_CNT; read_time[curRound] = READ_TIME; prepare_time[curRound] = PREPARE_TIME; @@ -1598,6 +1791,8 @@ void Recall::exactSearchFADAS(FADASNode *root, vector>*g) { } cout << endl; +// fclose(resf); + double totalDuration = 0; for(double _:duration) {totalDuration += _; cout<< _ << ",";} cout << endl; @@ -1642,6 +1837,7 @@ void Recall::exactSearchDumpyParallel(FADASNode *root, vector>*g) { float *query; FILE *f = fopen(Const::queryfn.c_str(), "rb"); + vector>io_buffer(2, vector(Const::SSD_pq_num)); int k = Const::k; int recallNums[maxExprRound]; LB_NODE_CNT = 0; @@ -1649,102 +1845,234 @@ void Recall::exactSearchDumpyParallel(FADASNode *root, vector>*g) { float query_reordered[Const::tsLength]; int ordering[Const::tsLength]; double duration[maxExprRound]; // ms - double read_time[maxExprRound], prepare_time[maxExprRound], search_time[maxExprRound], dist_calc_time[maxExprRound]; + double read_time[maxExprRound], prev_time[maxExprRound], tail_time[maxExprRound], cpu_time[maxExprRound], + wait_time[maxExprRound], non_overlap_time[maxExprRound]; int load_node_cnt[maxExprRound]; cout<<"------------------Experiment--------------------" << endl; cout<<"k: " << k << endl; - cout << fixed << setprecision(3); + cout << fixed << setprecision(4); - io_uring ring{}; -// io_uring_params params{}; -// params.flags |= IORING_SETUP_SQPOLL; -// params.sq_thread_idle = 8000; - auto ret = io_uring_queue_init(Const::SSD_pq_num, &ring, 0); - vector>io_buffer(2, vector(Const::SSD_pq_num)); for(int i = 0; i < 2 ; ++i) for(int j = 0; j < Const::SSD_pq_num; ++j) io_buffer[i][j].tss = new float [Const::th * Const::tsLength]; - + string profile_name = to_string(Const::thread_num) + "ths-" +to_string(Const::SSD_pq_num); +// ProfilerStart(profile_name.c_str()); for(int curRound = 0; curRound < maxExprRound; ++curRound){ // cout<<"Round : " + (curRound + 1)); c_nodes.clear(); _search_num = 0; - READ_TIME = 0; PREPARE_TIME = 0; SEARCH_TIME = 0; DIST_CALC_TIME = 0; IO_URING_WAIT = 0; - LOADED_NODE_CNT = 0; + READ_TIME = 0; WAIT_TIME = 0; SEARCH_TIME = 0; TAIL_TIME = 0; + LOADED_NODE_CNT = 0; PREV_TIME = 0; CPU_TIME = 0, NON_OVERLAP_TIME = 0; query = FileUtil::readSeries(f); -// if(curRound < 25) continue; +// if(curRound < 11) continue; reorder_query(query, query_reordered, ordering); auto start = chrono::system_clock::now(); - vector *approxKnn = FADASSearcher::Par_exactSearchIdLevel_SSD(root, query, k, g, query_reordered, - ordering, ring, io_buffer); + vector *approxKnn = FADASSearcher::Par_exactSearchIdLevel_SSDV3_multithread(root, query, k, g, query_reordered, + ordering, io_buffer); auto end = chrono::system_clock::now(); duration[curRound] = chrono::duration_cast(end - start).count() / 1000.0; // vector* exactKnn = getResult(Const::resfn, _k*maxExprRound + curRound, k); - vector* exactKnn = getResult(Const::resfn, curRound, k); - vector exactKnn2; - for(float *t: *exactKnn) - exactKnn2.push_back(new PqItemSeries(t, query)); +// vector* exactKnn = getResult(Const::resfn, curRound, k); +// vector exactKnn2; +// for(float *t: *exactKnn) +// exactKnn2.push_back(new PqItemSeries(t, query)); +// sort(exactKnn2.begin(), exactKnn2.end(), PqItemSeriesMaxHeap()); load_node_cnt[curRound] = LOADED_NODE_CNT; - read_time[curRound] = IO_URING_WAIT; - prepare_time[curRound] = PREPARE_TIME; - search_time[curRound] = SEARCH_TIME; - dist_calc_time[curRound] = DIST_CALC_TIME; - recallNums[curRound] = TimeSeriesUtil::intersectionTsSetsCardinality(approxKnn, exactKnn); + read_time[curRound] = READ_TIME; + cpu_time[curRound] = CPU_TIME; + prev_time[curRound] = PREV_TIME; + non_overlap_time[curRound] = NON_OVERLAP_TIME; + tail_time[curRound] = TAIL_TIME; + wait_time[curRound] = WAIT_TIME; +// recallNums[curRound] = TimeSeriesUtil::intersectionTsSetsCardinality(approxKnn, exactKnn); search_number[curRound] = _search_num; - cout << recallNums[curRound] << ";" << (double)_search_num / root->size << ", "; +// cout << recallNums[curRound] << ";" << IO_ACTUAL_WAIT / 1000.0 << ", "; + cout << duration[curRound] << ", " ; fflush(stdout); // analyzePrintSaxFADAS(approxKnn, exactKnn, query); free_heap(approxKnn); - for(int i=0;i 0 && curRound % 25 == 0){ +// cout << endl << curRound <size) << ","; } + for(int _:search_number) { totalSearchNum += _; +// cout << (_ / (double)root->size) << ","; + } cout << endl; int totalRecallNum = 0; for(int temp:recallNums) totalRecallNum += temp; - cout<<"\nAverage Recall rate is : " << (float)totalRecallNum / (float) (maxExprRound * k)<< endl; +// cout<<"\nAverage Recall rate is : " << (float)totalRecallNum / (float) (maxExprRound * k)<< endl; cout << "Average Search rate is " <<(double)totalSearchNum / ((double)maxExprRound * root->size)<>io_buffer(2, vector(Const::SSD_pq_num)); + int k = Const::k; + int recallNums[maxExprRound]; + LB_NODE_CNT = 0; + int search_number[maxExprRound]; + float query_reordered[Const::tsLength]; + int ordering[Const::tsLength]; + double duration[maxExprRound]; // ms + double read_time[maxExprRound], prev_time[maxExprRound], tail_time[maxExprRound], cpu_time[maxExprRound], + wait_time[maxExprRound], non_overlap_time[maxExprRound]; + int load_node_cnt[maxExprRound]; + cout<<"------------------Experiment--------------------" << endl; + cout<<"k: " << k << endl; + cout << fixed << setprecision(4); + + for(int i = 0; i < 2 ; ++i) + for(int j = 0; j < Const::SSD_pq_num; ++j) + io_buffer[i][j].tss = new float [Const::th * Const::tsLength]; + + for(int curRound = 0; curRound < maxExprRound; ++curRound){ + // cout<<"Round : " + (curRound + 1)); + c_nodes.clear(); + _search_num = 0; + READ_TIME = 0; WAIT_TIME = 0; SEARCH_TIME = 0; TAIL_TIME = 0; IO_URING_WAIT = 0; IO_ACTUAL_WAIT = 0; + LOADED_NODE_CNT = 0; PREV_TIME = 0; CPU_TIME = 0, NON_OVERLAP_TIME = 0; + query = FileUtil::readSeries(f); +// if(curRound < 15) continue; + + reorder_query(query, query_reordered, ordering); + auto start = chrono::system_clock::now(); + vector *approxKnn = FADASSearcher::Par_exactSearch_DTW(root, query, k, g, query_reordered, + ordering, io_buffer); + auto end = chrono::system_clock::now(); + duration[curRound] = chrono::duration_cast(end - start).count() / 1000.0; + + load_node_cnt[curRound] = LOADED_NODE_CNT; + read_time[curRound] = READ_TIME; + cpu_time[curRound] = CPU_TIME; + prev_time[curRound] = PREV_TIME; + non_overlap_time[curRound] = NON_OVERLAP_TIME; + tail_time[curRound] = TAIL_TIME; + wait_time[curRound] = WAIT_TIME; +// recallNums[curRound] = TimeSeriesUtil::intersectionTsSetsCardinality(approxKnn, exactKnn); + search_number[curRound] = _search_num; +// cout << recallNums[curRound] << ";" << IO_ACTUAL_WAIT / 1000.0 << ", "; + cout << WAIT_TIME << ":" << NON_OVERLAP_TIME <<", " ; + fflush(stdout); +// analyzePrintSaxFADAS(approxKnn, exactKnn, query); + free_heap(approxKnn); +// for(int i=0;isize) << ","; + } + cout << endl; + int totalRecallNum = 0; + for(int temp:recallNums) + totalRecallNum += temp; +// cout<<"\nAverage Recall rate is : " << (float)totalRecallNum / (float) (maxExprRound * k)<< endl; + cout << "Average Search rate is " <<(double)totalSearchNum / ((double)maxExprRound * root->size)< - -static int fuzzy_num = 0; -int *FADASNode::mask = nullptr; -long MAT1_CPU_TIME1 = 0, MAT1_CPU_TIME2 = 0, MAT1_WRITE_TIME1 = 0, MAT1_READ_TIME = 0, - MAT1_CPU_TIME3 = 0, MAT1_WRITE_TIME2 = 0, MAT1_TOTAL_TIME = 0, MAT2_READ_TIME = 0, - MAT2_CPU_TIME1 = 0, MAT2_CPU_TIME2 = 0, MAT2_WRITE_TIME = 0, MAT2_TOTAL_TIME = 0, - GROW_CPU_TIME = 0, FUZZY_CPU_TIME = 0, GROW_CPU_TIME_1st = 0, FUZZY_CPU_TIME_1st = 0, - SAX_PAA_CPU_TIME = 0, SAX_PAA_READ_TIME = 0, GROW_TOTAL_TIME = 0, SAX_PAA_TOTAL_TIME = 0; - -// put actual series into disk file of nodes in 1st layer -void materialize1stLayerFuzzy(string datafn, FADASNode* root, int *navids, string index_dir, unordered_map* navigating_tbl){ - auto start_t = chrono::system_clock::now(); - Const::logPrint("Start move data to disk file in 1st layer."); - FILE *f = fopen(datafn.c_str(), "r"); - long rest = root->size, total = root->size, cur = 0; - unordered_mapfbl; - - // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. - // This may incur many write calls. - while(rest > 0){ - fbl.clear(); - long num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT1_READ_TIME += chrono::duration_cast(start - end).count(); - - long bound = cur + num; - // statistic the size of each node fbl size, and allocate memory for them - for(long i=cur;ichildren[navids[i]]].offsets.push_back(i); - fbl[root->children[navids[i]]].buffer.push_back(tss + (i - cur) * Const::tsLength); - } - end = chrono::system_clock::now(); - MAT1_CPU_TIME1 += chrono::duration_cast(end - start).count(); - - for(auto &iter : *navigating_tbl){ - if(iter.first->partition_id != -1){ - NODE_RECORDER& recorder = iter.second; - int & cur_pos = recorder.actual_size; - while(cur_pos < recorder.series_index_list.size() && recorder.series_index_list[cur_pos] < bound){ - int index = recorder.series_index_list[cur_pos]; -// fbl[iter.first].offsets.push_back(index); - fbl[iter.first].buffer.push_back(tss + (index - cur) * Const::tsLength); - ++cur_pos; - } - } - } - start = chrono::system_clock::now(); - MAT1_CPU_TIME2 += chrono::duration_cast(start - end).count(); - - // write series in order to node file from node fbl - for(auto & iter:fbl){ - string outfile = index_dir ; - if(iter.first->partition_id == -1) - outfile += "U_" + to_string(iter.first->id); - else outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); - FILE *outf = fopen(outfile.c_str(), "a"); - -// for(int offset: iter.second.offsets){ -// fwrite(tss + (offset - cur) * Const::tsLength, sizeof(float), Const::tsLength, outf); -// fwrite(&offset, sizeof(int), 1, outf); -// } - for(int i=0;i(end - start).count(); - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk.(FIRST STAGE)"); - - } - - fseek(f, 0, SEEK_SET); - rest = root->size; cur = 0; - while(rest > 0){ - fbl.clear(); - long num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - long bound = cur + num; - auto start = chrono::system_clock::now(); - MAT1_READ_TIME += chrono::duration_cast(start - end).count(); - - for(auto &iter : *navigating_tbl){ - // internal node - if(iter.first->partition_id == -1){ - NODE_RECORDER& recorder = iter.second; - int & cur_pos = recorder.actual_size; - while(cur_pos < recorder.series_index_list.size() && recorder.series_index_list[cur_pos] < bound){ - int index = recorder.series_index_list[cur_pos]; -// fbl[iter.first].offsets.push_back(index); - fbl[iter.first].buffer.push_back(tss + (index - cur) * Const::tsLength); - ++cur_pos; - } - } - } - end = chrono::system_clock::now(); - MAT1_CPU_TIME3 += chrono::duration_cast(end - start).count(); - - for(auto & iter:fbl){ - string outfile = index_dir ; - assert(iter.first->partition_id == -1); - outfile += "U_" + to_string(iter.first->id); - FILE *outf = fopen(outfile.c_str(), "a"); - -// for(int offset: iter.second.offsets){ -// fwrite(tss + (offset - cur) * Const::tsLength, sizeof(float), Const::tsLength, outf); -// fwrite(&offset, sizeof(int), 1, outf); -// } - - for(int i=0;i(start - end).count(); - - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk.(SECOND STAGE)"); - } - - fclose(f); - delete[] navids; - navigating_tbl->clear(); - auto end_t = chrono::system_clock::now(); - MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -void materializeInterNodeFuzzy(FADASNode* node, unsigned short *saxes, int actual_size, unordered_map& navigating_tbl){ - auto start_t = chrono::system_clock::now(); - - FILE *f = fopen((Const::fuzzyidxfn + "U_" + to_string(node->id)).c_str(), "r"); - long rest = node->size, cur = 0, num, bound; - unordered_maplbl; - - while(rest > 0){ - lbl.clear(); - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT2_READ_TIME += chrono::duration_cast(start - end).count(); - bound = cur + num; - - // actual series routing and inserting to lbl - for(long i = cur; i < bound && i < actual_size; ++i){ - FADASNode* target = node->route(saxes + node->offsets[i] * Const::segmentNum); - lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); - } - - end = chrono::system_clock::now(); - MAT2_CPU_TIME1 += chrono::duration_cast(end - start).count(); - // TODO: this part can be re-written as multi-thread - // fuzzy series fetching - for(auto &iter : navigating_tbl){ - NODE_RECORDER& recorder = iter.second; - int & cur_pos = recorder.actual_size; - while(cur_pos < recorder.series_index_list.size() && recorder.series_index_list[cur_pos] < bound){ - int index = recorder.series_index_list[cur_pos]; - lbl[iter.first].buffer.push_back(tss + (index - cur) * Const::tsLength); - ++cur_pos; - } - } - start = chrono::system_clock::now(); - MAT2_CPU_TIME2 += chrono::duration_cast(start - end).count(); - - // write one series one time - for(auto &iter:lbl){ - string outfile = Const::fuzzyidxfn + iter.first->getFileName(); - FILE *outf = fopen(outfile.c_str(), "a"); - -// LBL_UNIT &tmp = iter.second; -// for(int i=0;i(end - start).count(); - - delete[]tss; - rest-=num; - cur += num; - } - fclose(f); - FileUtil::FileRemove((Const::fuzzyidxfn + "U_" + to_string(node->id)).c_str()); - - auto end_t = chrono::system_clock::now(); - MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -FADASNode* FADASNode::BuildIndexFuzzy(const string & datafn, const string & saxfn, const string &paafn, vector>* g){ - auto start_t = chrono::system_clock::now(); - FileUtil::checkDirClean(Const::fuzzyidxfn.c_str()); - Const::logPrint("start building index."); - loadCombines(); - - long series_num = loadSax(saxfn); - loadPaa(paafn); - auto end = chrono::system_clock::now(); -// long series_num = generateSaxAndPaaTbl(); - auto start = chrono::system_clock::now(); - SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - mask = MathUtil::generateMask(Const::segmentNum); - auto* root = new FADASNode(); - root->size = series_num; - for(int &i:root->bits_cardinality) i=0; - vector nodeIn1stLayer(Const::vertexNum); - - int *navids = new int[series_num]; - for(int i=0;i >(Const::vertexNum, vector(Const::segmentNum, 0)); - // get 1st layer node size - for(long i=0;ichildren.resize(Const::vertexNum); - int internal_size = 0; - for(int i=0;i Const::th) { -// assert(nodeIn1stLayer[i].size > Const::th); - root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); - root->children[i]->generateSaxAndCardIn1stLayer(i); - internal_size += root->children[i]->size; - }else if(nodeIn1stLayer[i].pid == -1){ - root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); - root->children[i]->generateSaxAndCardIn1stLayer(i); - } - else{ - int pid = nodeIn1stLayer[i].pid; - root->children[i] = childrenList[pid]; - childrenList[pid]->size += nodeIn1stLayer[i].size; - childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); - } -// if(nodeIn1stLayer[i].pid == -1) { -// root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); -// root->children[i]->generateSaxAndCardIn1stLayer(i); -// internal_size += root->children[i]->size; -// } -// else{ -// int pid = nodeIn1stLayer[i].pid; -// root->children[i] = childrenList[pid]; -// childrenList[pid]->size += nodeIn1stLayer[i].size; -// childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); -// } - } - Const::logPrint("Finish build index structure 1st layer."); - - // put data offsets to internal nodes in 1st layer - for(int i=0;ichildren[i]!= nullptr) - root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); - for(int i=0;ichildren[nav_id]->offsets.push_back(i); - } - end = chrono::system_clock::now(); - Const::logPrint("Start fuzzy 1st layer."); - GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); - - unordered_mapFLNT; - root->fuzzyFirstLayer(nodeIn1stLayer, navids, FLNT, *paa_mu_part_units); - delete paa_mu_part_units; - start = chrono::system_clock::now(); - FUZZY_CPU_TIME_1st = chrono::duration_cast(start - end).count(); - Const::logPrint("1st layer fuzzy number is " + to_string(fuzzy_num)); - - - thread IO(materialize1stLayerFuzzy, datafn, root, navids, Const::fuzzyidxfn, &FLNT); - - int finished_series = 0, finished_percent = 0; - Const::logPrint("start to grow the index structure"); - unordered_map* >DPNT; - for(int i=0;i Const::th) { - FADASNode * child = root->children[i]; - // ensure the offset and series index list in DPLT is consistent with FLNT(file) - sort(child->offsets.begin() + nodeIn1stLayer[i].size, child->offsets.end()); - auto*navigating_tbl = new unordered_map(); - navigating_tbl->emplace(root->children[i], NODE_RECORDER(nodeIn1stLayer[i].size, root->children[i])); - DPNT.emplace(i, navigating_tbl); - root->children[i]->growIndexFuzzy(*navigating_tbl, g); - - finished_series += nodeIn1stLayer[i].size; - double percent = (double)finished_series / (double)internal_size; - if(percent >= (finished_percent+1) * 0.1) { - Const::logPrint(to_string(percent * 100) + "% internal series in the 1st layer has been processed."); - finished_percent = percent * 10; - } - } - } - end = chrono::system_clock::now(); - GROW_TOTAL_TIME += chrono::duration_cast(end - start).count(); - Const::logPrint("build index skeleton finished."); - - IO.join(); - // navids have been deleted in the process of materializing the 1st layer - - Const::logPrint("Start materialize internal nodes in the 1st layer"); - finished_series = 0; finished_percent = 0; - for(int i=0;i Const::th) { - materializeInterNodeFuzzy(root->children[i], saxes, nodeIn1stLayer[i].size, *DPNT[i]); - - finished_series += nodeIn1stLayer[i].size; - double percent = (double)finished_series / (double)internal_size; - if(percent >= (finished_percent+1) * 0.1) { - Const::logPrint(to_string(percent * 100) + "% internal series in the 1st layer has been written to disk."); - finished_percent = percent * 10; - } - } - } - - Const::logPrint("Fuzzy series number is " + to_string(fuzzy_num)); - Const::logPrint("build index successfully!"); - auto end_t = chrono::system_clock::now(); - cout << "Total building time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<getIndexStats(); - return root; -} - -void FADASNode::growIndexFuzzy(unordered_map &navigating_tbl, vector> *g) { - if(size <= Const::th) return; - auto start = chrono::system_clock::now(); - - int chosen_num = SaxUtil::findFirstGE(power_2, 1, Const::segmentNum + 1, size / Const::th + 1); - NODE_RECORDER& parent_recorder = navigating_tbl[this]; -// PAA_INFO* paa = statPaa(); -// chooseSegment(paa, chosen_num); - determineSegments(); - - // statistic children information in order to partition - partUnit nodes[power_2[chosen_num]]; - for(int i=0;i>node_offsets(power_2[chosen_num], vector()); - vector>series_index_list(power_2[chosen_num], vector()); - vector node_actual_size(power_2[chosen_num],0); - - for(int i=0;i= Const::th) continue; - nodes[new_id].size++; - node_offsets[new_id].push_back(offsets[i]); - series_index_list[new_id].push_back(parent_recorder.series_index_list[i]); - } - if(layer > 1) vector().swap(offsets); - -// int partNum = partition(nodes); - int partNum = partition(nodes, chosen_num); - // build rest data node if any -// for(auto &node:nodes) -// if(node.size <= Const::th && node.pid == -1) -// node.pid = ++partNum; - - - FADASNode* leafChildrenList[partNum]; - for(int i=0;i Const::th || nodes[i].pid == -1) { - children[i] = new FADASNode(this, nodes[i].size, i); - generateSaxAndCardinality(children[i], i); - children[i]->offsets.resize(nodes[i].size); - copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); - navigating_tbl.emplace(children[i], NODE_RECORDER(node_actual_size[i], series_index_list[i])); - } - else{ - int _pid = nodes[i].pid; - children[i] = leafChildrenList[_pid]; - leafChildrenList[_pid]->size += nodes[i].size; - generateSaxAndCardinality4LeafNode(children[i], i); - navigating_tbl[children[i]].actual_size += node_actual_size[i]; - for(int j=node_actual_size[i];j(end - start).count(); - - // note that for internal nodes, tbl stores all series index list inside while for leaf nodes, only fuzzy series index list are in the tbl - fuzzy(nodes, node_actual_size, node_offsets, series_index_list, chosen_num, navigating_tbl); - start = chrono::system_clock::now(); - FUZZY_CPU_TIME += chrono::duration_cast(start - end).count(); - - vector>().swap(node_offsets); - vector>().swap(series_index_list); - vector().swap(node_actual_size); - navigating_tbl.erase(this); - - for(auto &child: children){ - if(child!= nullptr){ - if(child->size > Const::th) - child->growIndexFuzzy(navigating_tbl, g); - else{ // this may be executed many times for the same node, but no problem - if(navigating_tbl[child].series_index_list.empty()) - navigating_tbl.erase(child); - else{ - navigating_tbl[child].actual_size = 0; - sort(navigating_tbl[child].series_index_list.begin(), navigating_tbl[child].series_index_list.end()); - } - } - } - } -} - -void FADASNode::fuzzy(partUnit* part_units, vector& actual_sizes, - vector>&node_offsets, vector>&series_index_list, - int chosen_num, unordered_map& navigating_tbl) const{ - for(int i=0;i &node_offsets, - vector &series_index_list, - unordered_map &navigating_tbl, int _id) const{ - float *paa; - double range, lb, ub; - FADASNode*temp_node; - vectorcandidates; // max is chosen num - int new_id, seg, sax_symbol_last_bit, sax_symbol; - - for(int j=0;j 0 ? 1 : 0; - sax_symbol = (sax[seg] << 1) + sax_symbol_last_bit; - if(part_units[new_id].size > 0 && children[_id] != children[new_id]){ - temp_node = children[new_id]; - // if target leaf node full, continue - if(temp_node->partition_id != -1 && temp_node->size >= Const::th) continue; - - // calculate the range of new partition unit in this segment - // if any bound is infinity, then select the neighbor range as range - if( sax_symbol == (power_2[bits_cardinality[seg] + 1] - 1) ) - SaxUtil::getValueRange(sax[seg] << 1, bits_cardinality[seg] + 1, &lb, &ub); - else if(sax[seg] == 0 && sax_symbol_last_bit == 0) - SaxUtil::getValueRange(1, bits_cardinality[seg] + 1, &lb, &ub); - else - SaxUtil::getValueRange(sax_symbol , bits_cardinality[seg] + 1, &lb, &ub); - range = (ub -lb) * Const::boundary; - // check whether this series can be put into the candidates list - // Single precision paa may lead to conflicts with sax, so we need 1e-4 and abs. series are routed by sax to target node. - if(sax_symbol == (power_2[bits_cardinality[seg] + 1] - 1)){ -// assert(paa[seg] >= ub - 1e-4); - if(abs(paa[seg] - ub) <= range) candidates.emplace_back(new_id, abs(paa[seg] - ub)); - }else if(sax_symbol == 0){ -// assert(lb >= paa[seg] - 1e-4); - if(abs(lb - paa[seg]) <= range) candidates.emplace_back(new_id, abs(lb -paa[seg])); - }else if(sax_symbol_last_bit == 0){ -// TODO: check -// assert(ub >= paa[seg] - 1e-4); - if(abs(ub - paa[seg]) <= range) candidates.emplace_back(new_id, abs(ub - paa[seg])); - }else{ -// assert(paa[seg] >= lb - 1e-4); - if(abs(paa[seg] - lb) <= range) candidates.emplace_back(new_id, abs(paa[seg] - lb)); - } - } - } - sort(candidates.begin(), candidates.end(), CAND::order); - int n= 0; - // no need to update node_offsets and series_index_lists - for(int i = 0; i< candidates.size() && n < Const::max_replica; ++i){ - temp_node = children[candidates[i].id]; - if(temp_node->partition_id != -1){ // temp node is a leaf node - if(temp_node->size < Const::th){ - temp_node->size++; - navigating_tbl[temp_node].series_index_list.push_back(series_index_list[j]); - ++n; - } - }else{ // temp node is an internal node - assert(navigating_tbl[temp_node].actual_size > Const::th); - temp_node->size++; - temp_node->offsets.push_back(node_offsets[j]); - navigating_tbl[temp_node].series_index_list.push_back(series_index_list[j]); - ++n; - } - } - candidates.clear(); - fuzzy_num +=n; - } -} - -void FADASNode::fuzzySeriesInPartUnitInFirstLayer(vector &part_units, vector &node_offsets, int _id, - unordered_map &navigating_tbl, - vector> &paa_mu_part_units) const{ - float *paa, range; - FADASNode* temp_node; - int new_id; - vectorcandidates; - for(int j=0; j < part_units[_id].size; ++j){ -// if(j == 31068) -// cout << j << endl; - paa = FADASNode::paas + (long)node_offsets[j] * Const::segmentNum; - for(int i=0;i 0 && children[_id] != children[new_id]){ - if(part_units[new_id].size < Const::th && children[new_id]->size >= Const::th) continue; - if(paa[i] > 0){ - range = paa_mu_part_units[_id][i] * Const::boundary_1st; - if(paa[i] <= range) candidates.emplace_back(new_id, paa[i]); - }else{ - range = (-paa_mu_part_units[_id][i]) * Const::boundary_1st; - if(-paa[i] <= range) candidates.emplace_back(new_id, -paa[i]); - } - } - } - sort(candidates.begin(), candidates.end(), CAND::order); - int n= 0; - for(int i = 0; i< candidates.size() && n < Const::max_replica; ++i){ - temp_node = children[candidates[i].id]; - if(temp_node->partition_id != -1){ // temp node is a leaf node - if(temp_node->size < Const::th){ - temp_node->size++; - navigating_tbl[temp_node].series_index_list.push_back(node_offsets[j]); - ++n; - } - }else{ // temp node is an internal node - temp_node->size++; - temp_node->offsets.push_back(node_offsets[j]); - navigating_tbl[temp_node].series_index_list.push_back(node_offsets[j]); - ++n; - } - } - candidates.clear(); - fuzzy_num += n; - }//end loop series in part unit - -} - - -void FADASNode::fuzzyFirstLayer(vector &part_units, const int *nav_ids, - unordered_map &navigating_tbl, - vector> &paa_mu_part_units) const { - // data offsets are stored in internal node rather than leaf part units - // node_offsets store data offsets of leaf part units - unordered_map > node_offsets; - for(int i=0;isize; ++i){ -// if(i == 4492048){ -// cout << "here"<< endl; -// } - if(part_units[nav_ids[i]].size <= Const::th) - node_offsets[nav_ids[i]].push_back(i); - } - for(int i=0;ichildren[i]->partition_id == -1) - fuzzySeriesInPartUnitInFirstLayer(part_units, this->children[i]->offsets, i, navigating_tbl, - paa_mu_part_units); - else - fuzzySeriesInPartUnitInFirstLayer(part_units, node_offsets[i], i, navigating_tbl, paa_mu_part_units); - } - node_offsets.clear(); - for(auto &iter: navigating_tbl){ - iter.second.actual_size = 0; - sort(iter.second.series_index_list.begin(), iter.second.series_index_list.end()); - } +// +// Created by zeyuwang on 2022/1/30. +// + +#include "../../include/DataStructures/FADASNode.h" +#include "../../include/Utils/FileUtil.h" +#include "../../include/Utils/MathUtil.h" +#include + +static int fuzzy_num = 0; +int *FADASNode::mask = nullptr; +long MAT1_CPU_TIME1 = 0, MAT1_CPU_TIME2 = 0, MAT1_WRITE_TIME1 = 0, MAT1_READ_TIME = 0, + MAT1_CPU_TIME3 = 0, MAT1_WRITE_TIME2 = 0, MAT1_TOTAL_TIME = 0, MAT2_READ_TIME = 0, + MAT2_CPU_TIME1 = 0, MAT2_CPU_TIME2 = 0, MAT2_WRITE_TIME = 0, MAT2_TOTAL_TIME = 0, + GROW_CPU_TIME = 0, FUZZY_CPU_TIME = 0, GROW_CPU_TIME_1st = 0, FUZZY_CPU_TIME_1st = 0, + SAX_PAA_CPU_TIME = 0, SAX_PAA_READ_TIME = 0, GROW_TOTAL_TIME = 0, SAX_PAA_TOTAL_TIME = 0; + +// put actual series into disk file of nodes in 1st layer +void materialize1stLayerFuzzy(string datafn, FADASNode* root, int *navids, string index_dir, unordered_map* navigating_tbl){ + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_mapfbl; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + fbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + long bound = cur + num; + // statistic the size of each node fbl size, and allocate memory for them + for(long i=cur;ichildren[navids[i]]].offsets.push_back(i); + fbl[root->children[navids[i]]].buffer.push_back(tss + (i - cur) * Const::tsLength); + } + end = chrono::system_clock::now(); + MAT1_CPU_TIME1 += chrono::duration_cast(end - start).count(); + + for(auto &iter : *navigating_tbl){ + if(iter.first->partition_id != -1){ + NODE_RECORDER& recorder = iter.second; + int & cur_pos = recorder.actual_size; + while(cur_pos < recorder.series_index_list.size() && recorder.series_index_list[cur_pos] < bound){ + int index = recorder.series_index_list[cur_pos]; +// fbl[iter.first].offsets.push_back(index); + fbl[iter.first].buffer.push_back(tss + (index - cur) * Const::tsLength); + ++cur_pos; + } + } + } + start = chrono::system_clock::now(); + MAT1_CPU_TIME2 += chrono::duration_cast(start - end).count(); + + // write series in order to node file from node fbl + for(auto & iter:fbl){ + string outfile = index_dir ; + if(iter.first->partition_id == -1) + outfile += "U_" + to_string(iter.first->id); + else outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); + FILE *outf = fopen(outfile.c_str(), "a"); + +// for(int offset: iter.second.offsets){ +// fwrite(tss + (offset - cur) * Const::tsLength, sizeof(float), Const::tsLength, outf); +// fwrite(&offset, sizeof(int), 1, outf); +// } + for(int i=0;i(end - start).count(); + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk.(FIRST STAGE)"); + + } + + fseek(f, 0, SEEK_SET); + rest = root->size; cur = 0; + while(rest > 0){ + fbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + long bound = cur + num; + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + for(auto &iter : *navigating_tbl){ + // internal node + if(iter.first->partition_id == -1){ + NODE_RECORDER& recorder = iter.second; + int & cur_pos = recorder.actual_size; + while(cur_pos < recorder.series_index_list.size() && recorder.series_index_list[cur_pos] < bound){ + int index = recorder.series_index_list[cur_pos]; +// fbl[iter.first].offsets.push_back(index); + fbl[iter.first].buffer.push_back(tss + (index - cur) * Const::tsLength); + ++cur_pos; + } + } + } + end = chrono::system_clock::now(); + MAT1_CPU_TIME3 += chrono::duration_cast(end - start).count(); + + for(auto & iter:fbl){ + string outfile = index_dir ; + assert(iter.first->partition_id == -1); + outfile += "U_" + to_string(iter.first->id); + FILE *outf = fopen(outfile.c_str(), "a"); + +// for(int offset: iter.second.offsets){ +// fwrite(tss + (offset - cur) * Const::tsLength, sizeof(float), Const::tsLength, outf); +// fwrite(&offset, sizeof(int), 1, outf); +// } + + for(int i=0;i(start - end).count(); + + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk.(SECOND STAGE)"); + } + + fclose(f); + delete[] navids; + navigating_tbl->clear(); + auto end_t = chrono::system_clock::now(); + MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +void materializeInterNodeFuzzy(FADASNode* node, unsigned short *saxes, int actual_size, unordered_map& navigating_tbl){ + auto start_t = chrono::system_clock::now(); + + FILE *f = fopen((Const::fuzzyidxfn + "U_" + to_string(node->id)).c_str(), "r"); + long rest = node->size, cur = 0, num, bound; + unordered_maplbl; + + while(rest > 0){ + lbl.clear(); + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(start - end).count(); + bound = cur + num; + + // actual series routing and inserting to lbl + for(long i = cur; i < bound && i < actual_size; ++i){ + FADASNode* target = node->route(saxes + node->offsets[i] * Const::segmentNum); + lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); + } + + end = chrono::system_clock::now(); + MAT2_CPU_TIME1 += chrono::duration_cast(end - start).count(); + // TODO: this part can be re-written as multi-thread + // fuzzy series fetching + for(auto &iter : navigating_tbl){ + NODE_RECORDER& recorder = iter.second; + int & cur_pos = recorder.actual_size; + while(cur_pos < recorder.series_index_list.size() && recorder.series_index_list[cur_pos] < bound){ + int index = recorder.series_index_list[cur_pos]; + lbl[iter.first].buffer.push_back(tss + (index - cur) * Const::tsLength); + ++cur_pos; + } + } + start = chrono::system_clock::now(); + MAT2_CPU_TIME2 += chrono::duration_cast(start - end).count(); + + // write one series one time + for(auto &iter:lbl){ + string outfile = Const::fuzzyidxfn + iter.first->getFileName(); + FILE *outf = fopen(outfile.c_str(), "a"); + +// LBL_UNIT &tmp = iter.second; +// for(int i=0;i(end - start).count(); + + delete[]tss; + rest-=num; + cur += num; + } + fclose(f); + FileUtil::FileRemove((Const::fuzzyidxfn + "U_" + to_string(node->id)).c_str()); + + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +FADASNode* FADASNode::BuildIndexFuzzy(const string & datafn, const string & saxfn, const string &paafn, vector>* g){ + auto start_t = chrono::system_clock::now(); + FileUtil::checkDirClean(Const::fuzzyidxfn.c_str()); + Const::logPrint("start building index."); + loadCombines(); + + long series_num = loadSax(saxfn); + loadPaa(paafn); + auto end = chrono::system_clock::now(); +// long series_num = generateSaxAndPaaTbl(); + auto start = chrono::system_clock::now(); + SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + mask = MathUtil::generateMask(Const::segmentNum); + auto* root = new FADASNode(); + root->size = series_num; + for(int &i:root->bits_cardinality) i=0; + vector nodeIn1stLayer(Const::vertexNum); + + int *navids = new int[series_num]; + for(int i=0;i >(Const::vertexNum, vector(Const::segmentNum, 0)); + // get 1st layer node size + for(long i=0;ichildren.resize(Const::vertexNum); + int internal_size = 0; + for(int i=0;i Const::th) { + root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + internal_size += root->children[i]->size; + }else if(nodeIn1stLayer[i].pid == -1){ + root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + } + else{ + int pid = nodeIn1stLayer[i].pid; + root->children[i] = childrenList[pid]; + childrenList[pid]->size += nodeIn1stLayer[i].size; + childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); + } +// if(nodeIn1stLayer[i].pid == -1) { +// root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); +// root->children[i]->generateSaxAndCardIn1stLayer(i); +// internal_size += root->children[i]->size; +// } +// else{ +// int pid = nodeIn1stLayer[i].pid; +// root->children[i] = childrenList[pid]; +// childrenList[pid]->size += nodeIn1stLayer[i].size; +// childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); +// } + } + Const::logPrint("Finish build index structure 1st layer."); + + // put data offsets to internal nodes in 1st layer + for(int i=0;ichildren[i]!= nullptr) + root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); + for(int i=0;ichildren[nav_id]->offsets.push_back(i); + } + end = chrono::system_clock::now(); + Const::logPrint("Start fuzzy 1st layer."); + GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); + + unordered_mapFLNT; + root->fuzzyFirstLayer(nodeIn1stLayer, navids, FLNT, *paa_mu_part_units); + delete paa_mu_part_units; + start = chrono::system_clock::now(); + FUZZY_CPU_TIME_1st = chrono::duration_cast(start - end).count(); + Const::logPrint("1st layer fuzzy number is " + to_string(fuzzy_num)); + + + thread IO(materialize1stLayerFuzzy, datafn, root, navids, Const::fuzzyidxfn, &FLNT); + + int finished_series = 0, finished_percent = 0; + Const::logPrint("start to grow the index structure"); + unordered_map* >DPNT; + for(int i=0;i Const::th) { + FADASNode * child = root->children[i]; + // ensure the offset and series index list in DPLT is consistent with FLNT(file) + sort(child->offsets.begin() + nodeIn1stLayer[i].size, child->offsets.end()); + auto*navigating_tbl = new unordered_map(); + navigating_tbl->emplace(root->children[i], NODE_RECORDER(nodeIn1stLayer[i].size, root->children[i])); + DPNT.emplace(i, navigating_tbl); + root->children[i]->growIndexFuzzy(*navigating_tbl, g); + + finished_series += nodeIn1stLayer[i].size; + double percent = (double)finished_series / (double)internal_size; + if(percent >= (finished_percent+1) * 0.1) { + Const::logPrint(to_string(percent * 100) + "% internal series in the 1st layer has been processed."); + finished_percent = percent * 10; + } + } + } + end = chrono::system_clock::now(); + GROW_TOTAL_TIME += chrono::duration_cast(end - start).count(); + Const::logPrint("build index skeleton finished."); + + IO.join(); + // navids have been deleted in the process of materializing the 1st layer + + Const::logPrint("Start materialize internal nodes in the 1st layer"); + finished_series = 0; finished_percent = 0; + for(int i=0;i Const::th) { + materializeInterNodeFuzzy(root->children[i], saxes, nodeIn1stLayer[i].size, *DPNT[i]); + + finished_series += nodeIn1stLayer[i].size; + double percent = (double)finished_series / (double)internal_size; + if(percent >= (finished_percent+1) * 0.1) { + Const::logPrint(to_string(percent * 100) + "% internal series in the 1st layer has been written to disk."); + finished_percent = percent * 10; + } + } + } + + Const::logPrint("Fuzzy series number is " + to_string(fuzzy_num)); + Const::logPrint("build index successfully!"); + auto end_t = chrono::system_clock::now(); + cout << "Total building time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<getIndexStats(); + return root; +} + +void FADASNode::growIndexFuzzy(unordered_map &navigating_tbl, vector> *g) { + if(size <= Const::th) return; + auto start = chrono::system_clock::now(); + + int chosen_num = SaxUtil::findFirstGE(power_2, 1, Const::segmentNum + 1, size / Const::th + 1); + NODE_RECORDER& parent_recorder = navigating_tbl[this]; +// PAA_INFO* paa = statPaa(); +// chooseSegment(paa, chosen_num); + determineSegments(); + + // statistic children information in order to partition + partUnit nodes[power_2[chosen_num]]; + for(int i=0;i>node_offsets(power_2[chosen_num], vector()); + vector>series_index_list(power_2[chosen_num], vector()); + vector node_actual_size(power_2[chosen_num],0); + + for(int i=0;i= Const::th) continue; + nodes[new_id].size++; + node_offsets[new_id].push_back(offsets[i]); + series_index_list[new_id].push_back(parent_recorder.series_index_list[i]); + } + if(layer > 1) vector().swap(offsets); + +// int partNum = partition(nodes); + int partNum = partition(nodes, chosen_num); + // build rest data node if any +// for(auto &node:nodes) +// if(node.size <= Const::th && node.pid == -1) +// node.pid = ++partNum; + + + FADASNode* leafChildrenList[partNum]; + for(int i=0;i Const::th || nodes[i].pid == -1) { + children[i] = new FADASNode(this, nodes[i].size, i); + generateSaxAndCardinality(children[i], i); + children[i]->offsets.resize(nodes[i].size); + copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); + navigating_tbl.emplace(children[i], NODE_RECORDER(node_actual_size[i], series_index_list[i])); + } + else{ + int _pid = nodes[i].pid; + children[i] = leafChildrenList[_pid]; + leafChildrenList[_pid]->size += nodes[i].size; + generateSaxAndCardinality4LeafNode(children[i], i); + navigating_tbl[children[i]].actual_size += node_actual_size[i]; + for(int j=node_actual_size[i];j(end - start).count(); + + // note that for internal nodes, tbl stores all series index list inside while for leaf nodes, only fuzzy series index list are in the tbl + fuzzy(nodes, node_actual_size, node_offsets, series_index_list, chosen_num, navigating_tbl); + start = chrono::system_clock::now(); + FUZZY_CPU_TIME += chrono::duration_cast(start - end).count(); + + vector>().swap(node_offsets); + vector>().swap(series_index_list); + vector().swap(node_actual_size); + navigating_tbl.erase(this); + + for(auto &child: children){ + if(child!= nullptr){ + if(child->size > Const::th) + child->growIndexFuzzy(navigating_tbl, g); + else{ // this may be executed many times for the same node, but no problem + if(navigating_tbl[child].series_index_list.empty()) + navigating_tbl.erase(child); + else{ + navigating_tbl[child].actual_size = 0; + sort(navigating_tbl[child].series_index_list.begin(), navigating_tbl[child].series_index_list.end()); + } + } + } + } +} + +void FADASNode::fuzzy(partUnit* part_units, vector& actual_sizes, + vector>&node_offsets, vector>&series_index_list, + int chosen_num, unordered_map& navigating_tbl) const{ + for(int i=0;i &node_offsets, + vector &series_index_list, + unordered_map &navigating_tbl, int _id) const{ + float *paa; + double range, lb, ub; + FADASNode*temp_node; + vectorcandidates; // max is chosen num + int new_id, seg, sax_symbol_last_bit, sax_symbol; + + for(int j=0;j 0 ? 1 : 0; + sax_symbol = (sax[seg] << 1) + sax_symbol_last_bit; + if(part_units[new_id].size > 0 && children[_id] != children[new_id]){ + temp_node = children[new_id]; + // if target leaf node full, continue + if(temp_node->partition_id != -1 && temp_node->size >= Const::th) continue; + + // calculate the range of new partition unit in this segment + // if any bound is infinity, then select the neighbor range as range + if( sax_symbol == (power_2[bits_cardinality[seg] + 1] - 1) ) + SaxUtil::getValueRange(sax[seg] << 1, bits_cardinality[seg] + 1, &lb, &ub); + else if(sax[seg] == 0 && sax_symbol_last_bit == 0) + SaxUtil::getValueRange(1, bits_cardinality[seg] + 1, &lb, &ub); + else + SaxUtil::getValueRange(sax_symbol , bits_cardinality[seg] + 1, &lb, &ub); + range = (ub -lb) * Const::boundary; + // check whether this series can be put into the candidates list + // Single precision paa may lead to conflicts with sax, so we need 1e-4 and abs. series are routed by sax to target node. + if(sax_symbol == (power_2[bits_cardinality[seg] + 1] - 1)){ +// assert(paa[seg] >= ub - 1e-4); + if(abs(paa[seg] - ub) <= range) candidates.emplace_back(new_id, abs(paa[seg] - ub)); + }else if(sax_symbol == 0){ +// assert(lb >= paa[seg] - 1e-4); + if(abs(lb - paa[seg]) <= range) candidates.emplace_back(new_id, abs(lb -paa[seg])); + }else if(sax_symbol_last_bit == 0){ +// TODO: check +// assert(ub >= paa[seg] - 1e-4); + if(abs(ub - paa[seg]) <= range) candidates.emplace_back(new_id, abs(ub - paa[seg])); + }else{ +// assert(paa[seg] >= lb - 1e-4); + if(abs(paa[seg] - lb) <= range) candidates.emplace_back(new_id, abs(paa[seg] - lb)); + } + } + } + sort(candidates.begin(), candidates.end(), CAND::order); + int n= 0; + // no need to update node_offsets and series_index_lists + for(int i = 0; i< candidates.size() && n < Const::max_replica; ++i){ + temp_node = children[candidates[i].id]; + if(temp_node->partition_id != -1){ // temp node is a leaf node + if(temp_node->size < Const::th){ + temp_node->size++; + navigating_tbl[temp_node].series_index_list.push_back(series_index_list[j]); + ++n; + } + }else{ // temp node is an internal node +// assert(navigating_tbl[temp_node].actual_size > Const::th); + temp_node->size++; + temp_node->offsets.push_back(node_offsets[j]); + navigating_tbl[temp_node].series_index_list.push_back(series_index_list[j]); + ++n; + } + } + candidates.clear(); + fuzzy_num +=n; + } +} + +void FADASNode::fuzzySeriesInPartUnitInFirstLayer(vector &part_units, vector &node_offsets, int _id, + unordered_map &navigating_tbl, + vector> &paa_mu_part_units) const{ + float *paa, range; + FADASNode* temp_node; + int new_id; + vectorcandidates; + for(int j=0; j < part_units[_id].size; ++j){ + paa = FADASNode::paas + (long)node_offsets[j] * Const::segmentNum; + for(int i=0;i 0 && children[_id] != children[new_id]){ + if(part_units[new_id].size < Const::th && children[new_id]->size >= Const::th) continue; + if(paa[i] > 0){ + range = paa_mu_part_units[_id][i] * Const::boundary_1st; + if(paa[i] <= range) candidates.emplace_back(new_id, paa[i]); + }else{ + range = (-paa_mu_part_units[_id][i]) * Const::boundary_1st; + if(-paa[i] <= range) candidates.emplace_back(new_id, -paa[i]); + } + } + } + sort(candidates.begin(), candidates.end(), CAND::order); + int n= 0; + for(int i = 0; i< candidates.size() && n < Const::max_replica; ++i){ + temp_node = children[candidates[i].id]; + if(temp_node->partition_id != -1){ // temp node is a leaf node + if(temp_node->size < Const::th){ + temp_node->size++; + navigating_tbl[temp_node].series_index_list.push_back(node_offsets[j]); + ++n; + } + }else{ // temp node is an internal node + temp_node->size++; + temp_node->offsets.push_back(node_offsets[j]); + navigating_tbl[temp_node].series_index_list.push_back(node_offsets[j]); + ++n; + } + } + candidates.clear(); + fuzzy_num += n; + }//end loop series in part unit + +} + + +void FADASNode::fuzzyFirstLayer(vector &part_units, const int *nav_ids, + unordered_map &navigating_tbl, + vector> &paa_mu_part_units) const { + // data offsets are stored in internal node rather than leaf part units + // node_offsets store data offsets of leaf part units + unordered_map > node_offsets; + for(int i=0;isize; ++i){ + if(part_units[nav_ids[i]].size <= Const::th) + node_offsets[nav_ids[i]].push_back(i); + } + for(int i=0;ichildren[i]->partition_id == -1) + fuzzySeriesInPartUnitInFirstLayer(part_units, this->children[i]->offsets, i, navigating_tbl, + paa_mu_part_units); + else + fuzzySeriesInPartUnitInFirstLayer(part_units, node_offsets[i], i, navigating_tbl, paa_mu_part_units); + } + node_offsets.clear(); + for(auto &iter: navigating_tbl){ + iter.second.actual_size = 0; + sort(iter.second.series_index_list.begin(), iter.second.series_index_list.end()); + } } \ No newline at end of file diff --git a/src/IndexConstruction/FADASNode.cpp b/src/IndexConstruction/FADASNode.cpp index 0e3d2ac..459a939 100644 --- a/src/IndexConstruction/FADASNode.cpp +++ b/src/IndexConstruction/FADASNode.cpp @@ -1,4512 +1,5998 @@ -// -// Created by wzy on 2022/1/13. -// - -#include -#include -#include -#include -#include -#include "liburing.h" -#include "../../include/DataStructures/FADASNode.h" -#include "../../include/Utils/FileUtil.h" -#include "../../include/Utils/MathUtil.h" -#include "../../include/Utils/TimeSeriesUtil.h" -#include "../../include/Utils/SaxUtil.h" - -unsigned short *FADASNode::saxes = nullptr; -float *FADASNode::paas = nullptr; -int *** FADASNode::combines = nullptr; -int * FADASNode::combine_num = nullptr; -int FADASNode::a = MathUtil::nChooseK(Const::segmentNum, 1), FADASNode::b = MathUtil::nChooseK(Const::segmentNum, 2), FADASNode::c = MathUtil::nChooseK(Const::segmentNum, 3); -const int FADASNode::power_2[]{1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536}; -extern long SAX_PAA_CPU_TIME , SAX_PAA_READ_TIME ; -extern long LB_SERIES_TIME, HEAP_TIME; -extern double DIST_CALC_TIME,READ_TIME; -static long MAT1_CPU_TIME_STAT = 0, MAT1_CPU_TIME_COPY = 0, MAT1_WRITE_TIME = 0, MAT1_TOTAL_TIME = 0, MAT1_READ_TIME = 0, - MAT2_CPU_TIME = 0, MAT2_WRITE_TIME = 0, MAT2_TOTAL_TIME = 0, SAX_PAA_TOTAL_TIME = 0, MAT2_READ_TIME = 0, - GROW_CPU_TIME = 0, GROW_CPU_TIME_1st = 0, GROW_TOTAL_TIME = 0, SMALL_FILES_BYTES_WRITE = 0, SMALL_FILES_BYTES_READ = 0, - RAND_READ_CNT = 0, RAND_WRITE_CNT = 0, SEQ_READ_CNT = 0, SEQ_WRITE_CNT = 0, - SAX_WRITE_TIME = 0; - -void FADASNode::loadCombines(){ - string base = "../combines/" + to_string(Const::segmentNum) + "-"; - auto ret = new int**[Const::segmentNum + 1]; - combine_num = new int[Const::segmentNum]; - ifstream ff("../combines/cnum-"+ to_string(Const::segmentNum) + ".txt", ios::in); - for(int i=0;i> combine_num[i]; - } - ff.close(); - - for(int i=1;i<=Const::segmentNum - 1;++i){ - ret[i] = new int*[combine_num[i]]; - ifstream f(base + to_string(i) + ".txt", ios::in); - for(int j=0;j> ret[i][j][k]; -// cout << ret[i][j][k] << ","; - } -// cout << endl; - } -// cout << endl; - f.close(); - } - ret[Const::segmentNum] = new int*[1]; - ret[Const::segmentNum][0] = new int[Const::segmentNum]; - for(int i=0;iroute(_sax); -} - -void FADASNode::routeDuringInsertion(const unsigned short *_sax, int pos){ - ++size; - if(size > Const::f_high * Const::th * (1 << chosenSegments.size())){ - pos_cache.push_back(pos); - return; - } - if(children.empty()){ - pos_cache.push_back(pos); - return; - } - int nav_id = SaxUtil::extendSax(_sax, bits_cardinality, chosenSegments); - if(children[nav_id] == nullptr){ - children[nav_id] = new FADASNode(this, nav_id, true); - generateSaxAndCardinality(children[nav_id], nav_id); - children[nav_id]->pos_cache.push_back(pos); - } - return children[nav_id]->routeDuringInsertion(_sax, pos); -} - -FADASNode* FADASNode::route1step(const unsigned short *_sax){ - assert(!isLeafNode() && !isLeafPack()); - int nav_id; - if(layer >= 1) - nav_id = SaxUtil::extendSax(_sax, bits_cardinality, chosenSegments); - else - nav_id = SaxUtil::invSaxHeadFromSax(_sax, Const::bitsCardinality, Const::segmentNum); - return children[nav_id]; -} - -extern int _search_num, layer; -void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, - float *query_reordered, int *ordering) const{ - assert(!isInternalNode()); - if(query_reordered == nullptr || ordering == nullptr) { - search(k, queryTs, heap, index_dir); - return; - } - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - _search_num += size; - string fn = index_dir+ getFileName(); - if(partition_id == -1) fn += "_L"; -// long fs = FileUtil::getFileSize(fn.c_str()); -// int series_num = fs / Const::tsLengthBytes; -// assert(series_num == size); - - FILE *f = fopen(fn.c_str(), "rb"); - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; -// for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); - double dist = TimeSeriesUtil::euclideanDist(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); -// DIST_CALC_TIME += Const::timer_end(&start); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; - fclose(f); -} - -void FADASNode::search_SIMD_reordered(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, - float *query_reordered, int *ordering) const{ - assert(!isInternalNode()); - if(query_reordered == nullptr || ordering == nullptr) { - search(k, queryTs, heap, index_dir); - return; - } - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - _search_num += size; - string fn = index_dir+ getFileName(); - if(partition_id == -1) fn += "_L"; -// long fs = FileUtil::getFileSize(fn.c_str()); -// int series_num = fs / Const::tsLengthBytes; -// assert(series_num == size); - - FILE *f = fopen(fn.c_str(), "rb"); - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; -// for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); - double dist = TimeSeriesUtil::euclideanDist_SIMD(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); -// DIST_CALC_TIME += Const::timer_end(&start); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; - fclose(f); -} - -//#define URING -void FADASNode::search_SIMD(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ - assert(!isInternalNode()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - _search_num += size; - string fn = index_dir+ getFileName(); - if(partition_id == -1) fn += "_L"; - - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; -#ifndef URING - FILE *f = fopen(fn.c_str(), "rb"); - fread(ts, sizeof(float), size * Const::tsLength, f); -#else - io_uring ring{}; - auto ret = io_uring_queue_init(16, &ring, 0); - auto fd = open(fn.c_str(), O_RDONLY); - iovec vec{}; - vec.iov_base = ts; - vec.iov_len = size * Const::tsLength * sizeof(float ); - io_uring_sqe* sqe = io_uring_get_sqe(&ring); - io_uring_prep_read(sqe, fd, ts, size * Const::tsLength * sizeof(float ), 0); - ret = io_uring_submit(&ring); - io_uring_cqe* cqe; - ret = io_uring_wait_cqe(&ring, &cqe); -#endif - READ_TIME += Const::timer_end(&io); - - _search_num += size; ::layer = FADASNode::layer; - for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); - double dist = TimeSeriesUtil::euclideanDist_SIMD(queryTs->ts, ts + i * Const::tsLength, Const::tsLength, bsf); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; -#ifndef URING - fclose(f); -#else - close(fd); - io_uring_queue_exit(&ring); -#endif -} - -vector* FADASNode::search_SIMD(int k, TimeSeries* queryTs, const string &index_dir, double bsf) const{ - string fn = index_dir+ getFileName(); - if(partition_id == -1) fn += "_L"; - auto ret = new vector(); - - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; - FILE *f = fopen(fn.c_str(), "rb"); - fread(ts, sizeof(float), size * Const::tsLength, f); - READ_TIME += Const::timer_end(&io); - fclose(f); - - for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); - if(dist < bsf){ - if(ret->size() < k){ - ret->push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); - }else if(dist < (*ret)[0]->dist){ - pop_heap(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); - delete ret->back(); - ret->pop_back(); - ret->push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); - } - } - } - - for(PqItemSeries*s: *ret){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; - sort(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); - return ret; -} - -void FADASNode::search_SIMD_series_prune(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ - assert(!isInternalNode()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - _search_num += size; - string fn = index_dir+ getFileName(); - string saxfn = fn; - if(partition_id == -1) { fn += "_L"; saxfn += "_L";} - - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; -#ifndef URING - FILE *f = fopen(fn.c_str(), "rb"); - fread(ts, sizeof(float), size * Const::tsLength, f); -#else - io_uring ring{}; - auto ret = io_uring_queue_init(16, &ring, 0); - auto fd = open(fn.c_str(), O_RDONLY); -// iovec vec{}; -// vec.iov_base = ts; -// vec.iov_len = size * Const::tsLength * sizeof(float ); - io_uring_sqe* sqe = io_uring_get_sqe(&ring); - io_uring_prep_read(sqe, fd, ts, size * Const::tsLength * sizeof(float ), 0); - ret = io_uring_submit(&ring); - io_uring_cqe* cqe; - ret = io_uring_wait_cqe(&ring, &cqe); -#endif - READ_TIME += Const::timer_end(&io); - - _search_num += size; ::layer = FADASNode::layer; - for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); - double dist = TimeSeriesUtil::euclideanDist_SIMD(queryTs->ts, ts + i * Const::tsLength, Const::tsLength, bsf); -// DIST_CALC_TIME += Const::timer_end(&start); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; -#ifndef URING - fclose(f); -#else - close(fd); - io_uring_queue_exit(&ring); -#endif -} - -void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ - assert(!isInternalNode()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - string fn = index_dir+ getFileName(); - if(partition_id == -1) fn += "_L"; -// long fs = FileUtil::getFileSize(fn.c_str()); -// int series_num = fs / Const::tsLengthBytes; -// assert(series_num == size); - - FILE *f = fopen(fn.c_str(), "rb"); - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; -// for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); -// double dist = TimeSeriesUtil::euclideanDist(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); -// DIST_CALC_TIME += Const::timer_end(&start); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; - fclose(f); -} - - -void FADASNode::searchDTW(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ - assert(!isInternalNode()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - string fn = index_dir+ getFileName(); - -// long fs = FileUtil::getFileSize(fn.c_str()); -// int series_num = fs / Const::tsLengthBytes; -// assert(series_num == size); - - FILE *f = fopen(fn.c_str(), "rb"); - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; -// for(int i=0;its, ts + i * Const::tsLength, Const::tsLength,Const::dtw_window_size, bsf); -// DIST_CALC_TIME += Const::timer_end(&start); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; - fclose(f); -} - -void FADASNode::searchLessPack(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ - assert(!isInternalNode()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - string fn = index_dir+ getFileNamePack(); - -// long fs = FileUtil::getFileSize(fn.c_str()); -// int series_num = fs / Const::tsLengthBytes; -// assert(series_num == size); - - FILE *f = fopen(fn.c_str(), "rb"); - struct timeval io{}; - Const::timer_start(&io); - auto *ts = new float[size * Const::tsLength]; - for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); -// DIST_CALC_TIME += Const::timer_end(&start); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]ts; - fclose(f); -} - -void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir,unordered_set*hash_set) const{ - assert(!isInternalNode()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - string fn = index_dir+ getFileName(); - - FILE *f = fopen(fn.c_str(), "rb"); - auto *ts = new float[size * Const::tsLength]; - fread(ts, sizeof(float), size * Const::tsLength, f); - - _search_num += size; ::layer = FADASNode::layer; - for(int i=0;ifind(ts + i * Const::tsLength) != hash_set->end()) continue; - double dist = TimeSeriesUtil::euclideanDist(queryTs->ts, ts + i * Const::tsLength, Const::tsLength, bsf); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - hash_set->insert(ts + i * Const::tsLength); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - hash_set->erase(heap.back()->ts); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - hash_set->insert(ts + i * Const::tsLength); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) { - hash_set->erase(s->ts); - s->copyData(); - hash_set->insert(s->ts); - } - } - delete[]ts; - fclose(f); -} - -void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir,unordered_set*hash_set, - float *query_reordered, int *ordering) const{ - assert(!isInternalNode()); - if(query_reordered == nullptr || ordering == nullptr) { - search(k, queryTs, heap, index_dir, hash_set); - return; - } - - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - string fn = index_dir+ getFileName(); - - FILE *f = fopen(fn.c_str(), "rb"); - auto *ts = new float[size * Const::tsLength]; - fread(ts, sizeof(float), size * Const::tsLength, f); - - _search_num += size; ::layer = FADASNode::layer; - for(int i=0;ifind(ts + i * Const::tsLength) != hash_set->end()) continue; - double dist = TimeSeriesUtil::euclideanDist(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - hash_set->insert(ts + i * Const::tsLength); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - hash_set->erase(heap.back()->ts); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - hash_set->insert(ts + i * Const::tsLength); - } - - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) { - hash_set->erase(s->ts); - s->copyData(); - hash_set->insert(s->ts); - } - } - delete[]ts; - fclose(f); -} - -void FADASNode::search_offset(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ - assert(!isInternalNode()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - string fn = index_dir+ getFileName(); - FILE *f = fopen(fn.c_str(), "rb"); - auto *tss = new float[size * (Const::tsLength + 1)]; - struct timeval io{}; - Const::timer_start(&io); -// for(int i=0;i= k) { - int offset = *((int *) (tss + (i + 1) * (Const::tsLength + 1) - 1)); -// auto st = chrono::system_clock::now(); - double lb = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, saxes + offset * Const::segmentNum); -// auto en = chrono::system_clock::now(); -// LB_SERIES_TIME += chrono::duration_cast(en - st).count(); - if (lb >= bsf) continue; - } - _search_num++; - struct timeval start{}; - Const::timer_start(&start); - double dist = TimeSeriesUtil::euclideanDist(queryTs->ts, tss + i * (Const::tsLength + 1), Const::tsLength, bsf); - DIST_CALC_TIME += Const::timer_end(&start); - - if(heap.size() < k){ - heap.push_back(new PqItemSeries(tss + i * (Const::tsLength + 1), dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(tss + i * (Const::tsLength + 1), dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - - if(heap.size() >= k) bsf = heap[0]->dist; -// s = chrono::system_clock::now(); -// HEAP_TIME += chrono::duration_cast(s - e).count();; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } - delete[]tss; - fclose(f); - -} - -// put actual series into disk file of nodes in 1st layer -void materialize1stLayer(string datafn, FADASNode* root, int *navids, string index_dir){ - auto start_t = chrono::system_clock::now(); - Const::logPrint("Start move data to disk file in 1st layer."); - FILE *f = fopen(datafn.c_str(), "r"); - long rest = root->size, total = root->size, cur = 0; - unordered_mapfbl; - - RAND_READ_CNT++; - SEQ_READ_CNT += rest; - - // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. - // This may incur many write calls. - while(rest > 0){ - fbl.clear(); - long num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT1_READ_TIME += chrono::duration_cast(start - end).count(); - - // statistic the size of each node fbl size, and allocate memory for them - for(long i=cur;ichildren[navids[i]]].size++; - for(auto &iter:fbl) - iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; - end = chrono::system_clock::now(); - MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); - - //copy series to node to ensure write is only called once upon a node fbl - for(long i = cur; ichildren[navids[i]]]; - copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); - } - start = chrono::system_clock::now(); - MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); - - start = chrono::system_clock::now(); - // write series in order to node file from node fbl - for(auto & iter:fbl){ - string outfile = index_dir ; - int id= iter.first->id; - if(iter.first->partition_id == -1) - outfile += "U_" + to_string(iter.first->id); - else - outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); - FILE *outf = fopen(outfile.c_str(), "a"); - - RAND_WRITE_CNT++; - SEQ_WRITE_CNT += iter.second.size; -// long bytes = iter.second.size * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; - - fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); - fclose(outf); - delete[]iter.second.buffer; - } - end = chrono::system_clock::now(); - MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); - - } - - fclose(f); - delete[] navids; - auto end_t = chrono::system_clock::now(); - MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -// put actual series into disk file of nodes in 1st layer -void materialize1stLayerWithSax(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ - auto start_sax = chrono::system_clock::now(); - Const::logPrint("Start move sax to disk file in 1st layer."); - unordered_setvisited; - for(auto &child:root->children){ - if(child == nullptr || child->size > Const::th || visited.contains(child)) continue; - visited.insert(child); - long symbol_num = (long)child->size * Const::segmentNum; - auto to_write = new unsigned short[symbol_num]; - - for(int i=0;i< child->offsets.size();++i){ - long offset =child->offsets[i]; - copy(sax_tbl + offset * Const::segmentNum, sax_tbl + (offset + 1) * Const::segmentNum, to_write + i * Const::segmentNum); - } - string outfile = index_dir + "1_"; - if(child->partition_id == -1) - outfile += to_string(child->id) + "_sax_L"; - else - outfile += to_string(child->partition_id) + "_sax"; - FILE *outf = fopen(outfile.c_str(), "wb"); - fwrite(to_write, sizeof(unsigned short), symbol_num,outf); - fclose(outf); - delete[] to_write; - vector().swap(child->offsets); - } - unordered_set().swap(visited); - auto end_sax = chrono::system_clock::now(); - SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); - - auto start_t = chrono::system_clock::now(); - Const::logPrint("Start move data to disk file in 1st layer."); - FILE *f = fopen(datafn.c_str(), "r"); - long rest = root->size, total = root->size, cur = 0; - unordered_mapfbl; - - RAND_READ_CNT++; - SEQ_READ_CNT += rest; - - // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. - // This may incur many write calls. - while(rest > 0){ - fbl.clear(); - long num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT1_READ_TIME += chrono::duration_cast(start - end).count(); - - // statistic the size of each node fbl size, and allocate memory for them - for(long i=cur;ichildren[navids[i]]].size++; - for(auto &iter:fbl) - iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; - end = chrono::system_clock::now(); - MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); - - //copy series to node to ensure write is only called once upon a node fbl - for(long i = cur; ichildren[navids[i]]]; - copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); - } - start = chrono::system_clock::now(); - MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); - - start = chrono::system_clock::now(); - // write series in order to node file from node fbl - for(auto & iter:fbl){ - string outfile = index_dir ; - int id= iter.first->id; - if(iter.first->size > Const::th) - outfile += "U_" + to_string(iter.first->id); - else if(iter.first->partition_id != -1) - outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); - else - outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->id) + "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - - RAND_WRITE_CNT++; - SEQ_WRITE_CNT += iter.second.size; -// long bytes = iter.second.size * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; - - fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); - fclose(outf); - delete[]iter.second.buffer; - } - end = chrono::system_clock::now(); - MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); - - } - - fclose(f); - delete[] navids; - auto end_t = chrono::system_clock::now(); - MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -void materialize1stLayerWithSaxOnlyLeaf(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ - auto start_sax = chrono::system_clock::now(); - Const::logPrint("Start move sax to disk file in 1st layer."); - unordered_setvisited; - for(auto &child:root->children){ - if(child == nullptr || child->size > Const::th || visited.contains(child)) continue; - visited.insert(child); - long symbol_num = (long)child->size * Const::segmentNum; - auto to_write = new unsigned short[symbol_num]; - - for(int i=0;i< child->offsets.size();++i){ - long offset =child->offsets[i]; - copy(sax_tbl + offset * Const::segmentNum, sax_tbl + (offset + 1) * Const::segmentNum, to_write + i * Const::segmentNum); - } - string outfile = index_dir + "1_"; - if(child->partition_id == -1) - outfile += to_string(child->id) + "_sax_L"; - else - outfile += to_string(child->partition_id) + "_sax"; - FILE *outf = fopen(outfile.c_str(), "wb"); - fwrite(to_write, sizeof(unsigned short), symbol_num,outf); - fclose(outf); - delete[] to_write; - vector().swap(child->offsets); - } - unordered_set().swap(visited); - auto end_sax = chrono::system_clock::now(); - SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); - - auto start_t = chrono::system_clock::now(); - Const::logPrint("Start move data to disk file in 1st layer."); - FILE *f = fopen(datafn.c_str(), "r"); - long rest = root->size, total = root->size, cur = 0; - unordered_mapfbl; - - RAND_READ_CNT++; - SEQ_READ_CNT += rest; - - // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. - // This may incur many write calls. - while(rest > 0){ - fbl.clear(); - long num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT1_READ_TIME += chrono::duration_cast(start - end).count(); - - // statistic the size of each node fbl size, and allocate memory for them - for(long i=cur;ichildren[navids[i]]->size <= Const::th) - fbl[root->children[navids[i]]].size++; - for(auto &iter:fbl) - iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; - end = chrono::system_clock::now(); - MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); - - //copy series to node to ensure write is only called once upon a node fbl - for(long i = cur; ichildren[navids[i]]->size > Const::th) continue; - FBL_UNIT* fbl_node = &fbl[root->children[navids[i]]]; - copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); - } - start = chrono::system_clock::now(); - MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); - - start = chrono::system_clock::now(); - // write series in order to node file from node fbl - for(auto & iter:fbl){ - string outfile = index_dir ; - int id= iter.first->id; - assert(iter.first->size <= Const::th); - if(iter.first->partition_id != -1) - outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); - else - outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->id) + "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - - RAND_WRITE_CNT++; - SEQ_WRITE_CNT += iter.second.size; -// long bytes = iter.second.size * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; - - fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); - fclose(outf); - delete[]iter.second.buffer; - } - end = chrono::system_clock::now(); - MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now Materialize leaves in the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); - - } - - fclose(f); -// delete[] navids; - auto end_t = chrono::system_clock::now(); - MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -void materializeAllLeavesWithSax(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ - auto start_sax = chrono::system_clock::now(); - Const::logPrint("Start move sax to disk file in 1st layer."); - - unordered_map>sax_buffer; - for(int i=0;isize;++i){ - if(root->children[navids[i]]->size <= Const::th) continue; - auto * sax = sax_tbl + i * Const::segmentNum; - FADASNode* node = root->route(sax); - sax_buffer[node].push_back(sax); - } - for(auto &[node, buffer]:sax_buffer){ - string outfile = Const::fidxfn + node->getFileName() + "_sax"; - if(node->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - for(auto sax:buffer) - fwrite(sax, sizeof(unsigned short ), Const::segmentNum, outf); - fclose(outf); - } - sax_buffer.clear(); - auto end_sax = chrono::system_clock::now(); - SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); - - auto start_t = chrono::system_clock::now(); - Const::logPrint("Start move data to disk file in 1st layer."); - FILE *f = fopen(datafn.c_str(), "r"); - long rest = root->size, total = root->size, cur = 0; - unordered_maplbl; - - // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. - // This may incur many write calls. - while(rest > 0){ - lbl.clear(); - long num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT2_READ_TIME += chrono::duration_cast(start - end).count(); - - //copy series to node to ensure write is only called once upon a node fbl - for(long i = cur; ichildren[navids[i]]->size <= Const::th) continue; - FADASNode* node = root->route(sax_tbl + i * Const::segmentNum); - lbl[node].buffer.push_back(tss + (i-cur) * Const::tsLength); - } - end = chrono::system_clock::now(); - MAT2_CPU_TIME += chrono::duration_cast(end-start).count(); - - // write series in order to node file from node fbl - for(auto & [node,lbl_unit]:lbl){ - string outfile = Const::fidxfn + node->getFileName(); - if(node->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - - RAND_WRITE_CNT++; - for(float *dat:lbl_unit.buffer) - fwrite(dat, sizeof(float), Const::tsLength, outf); - fclose(outf); - } - start = chrono::system_clock::now(); - MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now Materialize all leaves below the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); - - } - - fclose(f); - delete[] navids; - auto end_t = chrono::system_clock::now(); - MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -// put actual series into disk file of nodes in 1st layer -void materialize1stLayerLessPack(string datafn, FADASNode* root, int *navids, string index_dir){ - auto start_t = chrono::system_clock::now(); - Const::logPrint("Start move data to disk file in 1st layer."); - FILE *f = fopen(datafn.c_str(), "r"); - long rest = root->size, total = root->size, cur = 0; - unordered_mapfbl; - - RAND_READ_CNT++; - SEQ_READ_CNT += rest; - - // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. - // This may incur many write calls. - while(rest > 0){ - fbl.clear(); - long num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT1_READ_TIME += chrono::duration_cast(start - end).count(); - - // statistic the size of each node fbl size, and allocate memory for them - for(long i=cur;ichildren[navids[i]]].size++; - for(auto &iter:fbl) - iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; - end = chrono::system_clock::now(); - MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); - - //copy series to node to ensure write is only called once upon a node fbl - for(long i = cur; ichildren[navids[i]]]; - copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); - } - start = chrono::system_clock::now(); - MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); - - start = chrono::system_clock::now(); - // write series in order to node file from node fbl - for(auto & iter:fbl){ - string outfile = index_dir ; - int id= iter.first->id; - if(iter.first->isInternalNode()) - outfile += "U_" + to_string(iter.first->id); - else if(iter.first->isLeafPack()) - outfile += to_string(iter.first->layer) + "_P_" + to_string(iter.first->partition_id); - else if(iter.first->isLeafNode()) - outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->id); - else - Const::logPrint(" Some error in materialzing."); - FILE *outf = fopen(outfile.c_str(), "a"); - - RAND_WRITE_CNT++; - SEQ_WRITE_CNT += iter.second.size; -// long bytes = iter.second.size * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; - - fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); - fclose(outf); - delete[]iter.second.buffer; - } - end = chrono::system_clock::now(); - MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); - - } - - fclose(f); - delete[] navids; - auto end_t = chrono::system_clock::now(); - MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -// put actual series into disk file of nodes in 1st layer -void materialize1stLayerPos(string datafn, FADASNode* root, int *navids, string index_dir){ - auto start_t = chrono::system_clock::now(); - Const::logPrint("Start move data to disk file in 1st layer."); - FILE *f = fopen(datafn.c_str(), "r"); - int rest = root->size, total = root->size, cur = 0; - unordered_mapfbl; - - RAND_READ_CNT++; - SEQ_READ_CNT += rest; - - // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. - // This may incur many write calls. - while(rest > 0){ - fbl.clear(); - int num; - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT1_READ_TIME += chrono::duration_cast(start - end).count(); - - // statistic the size of each node fbl size, and allocate memory for them -// for(int i=cur;ichildren[navids[i]]].size++; -// for(auto &iter:fbl) -// iter.second.buffer = new float [iter.second.size * Const::tsLength]; - for(int i=cur;ichildren[navids[i]]].offsets.push_back(i); - } - end = chrono::system_clock::now(); - MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); - - //copy series to node to ensure write is only called once upon a node fbl -// for(int i = cur; ichildren[navids[i]]]; -// copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + fbl_node->pos++ * Const::tsLength); -// } -// start = chrono::system_clock::now(); -// MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); - - start = chrono::system_clock::now(); - // write series in order to node file from node fbl - for(auto & iter:fbl){ - string outfile = index_dir ; - if(iter.first->partition_id == -1) - outfile += "U_" + to_string(iter.first->id); - else outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); - FILE *outf = fopen(outfile.c_str(), "a"); - RAND_WRITE_CNT++; - - for(int offset:iter.second.offsets){ - fwrite(tss + (offset - cur) * Const::tsLength, sizeof(float), Const::tsLength, outf); - SEQ_WRITE_CNT++; - if(iter.first->partition_id != -1) { - fwrite(&offset, sizeof(int), 1, outf); - SEQ_WRITE_CNT++; - } - } -// fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); - fclose(outf); -// delete[]iter.second.buffer; - } - end = chrono::system_clock::now(); - MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); - delete[] tss; - - rest-=num; - cur += num; - Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); - - } - - fclose(f); - delete[] navids; - auto end_t = chrono::system_clock::now(); - MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -// put actual series into disk file of nodes below 1st layer from file in 1st layer -void materializeInterNode(FADASNode *node, unsigned short *saxes) { - auto start_t = chrono::system_clock::now(); - - FILE *f = fopen((Const::fidxfn + "U_" + to_string(node->id)).c_str(), "r"); - long rest = node->size, cur = 0, num; - unordered_maplbl; - -// long bytes = rest * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_READ += bytes; - - RAND_READ_CNT++; - SEQ_READ_CNT+=rest; - - while(rest > 0){ - lbl.clear(); - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT2_READ_TIME += chrono::duration_cast(start - end).count(); - - for(long i = cur; i < cur + num; ++i){ - FADASNode* target = node->route(saxes + (long)node->offsets[i] * Const::segmentNum); - lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); - } - - end = chrono::system_clock::now(); - MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); - - - for(auto &iter:lbl){ - string outfile = Const::fidxfn + iter.first->getFileName(); - FILE *outf = fopen(outfile.c_str(), "a"); -// SEQ_WRITE_CNT += iter.second.buffer.size(); -// bytes = iter.second.buffer.size() * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; - RAND_WRITE_CNT++; - for(float *dat:iter.second.buffer) - fwrite(dat, sizeof(float), Const::tsLength, outf); - fclose(outf); - } - start = chrono::system_clock::now(); - MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); - - delete[]tss; - rest-=num; - cur += num; - } - fclose(f); - FileUtil::FileRemove((Const::fidxfn + "U_" + to_string(node->id)).c_str()); - auto end_t = chrono::system_clock::now(); - MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -// put actual series into disk file of nodes below 1st layer from file in 1st layer -void materializeInterNodeWithSax(FADASNode *node, unsigned short *saxes) { - auto start_sax = chrono::system_clock::now(); - // route each sax words to the buffer of a leaf pack - unordered_mapsax_buffer; - for(int i=0;isize;++i){ - int offset = node->offsets[i]; - unsigned short *sax = saxes + offset * Const::segmentNum; - FADASNode*target = node->route(sax); - if(sax_buffer[target].size == 0){ - sax_buffer[target].buffer = new unsigned short [(long)target->size*Const::segmentNum]; - } - copy(sax, sax+Const::segmentNum, sax_buffer[target].buffer + (long)sax_buffer[target].size * Const::segmentNum); - sax_buffer[target].size++; - } - - // write each buffer of the hash table - for(auto &iter: sax_buffer){ - string outfile = Const::fidxfn + iter.first->getFileName() + "_sax"; - if(iter.first->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - fwrite(iter.second.buffer, sizeof(unsigned short ), (long)iter.first->size * Const::segmentNum, outf); - fclose(outf); - delete[] iter.second.buffer; - } - unordered_map().swap(sax_buffer); - auto end_sax = chrono::system_clock::now(); - SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); - - - auto start_t = chrono::system_clock::now(); - FILE *f = fopen((Const::fidxfn + "U_" + to_string(node->id)).c_str(), "r"); - long rest = node->size, cur = 0, num; - unordered_maplbl; - -// long bytes = rest * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_READ += bytes; - - RAND_READ_CNT++; - SEQ_READ_CNT+=rest; - - while(rest > 0){ - lbl.clear(); - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT2_READ_TIME += chrono::duration_cast(start - end).count(); - - for(long i = cur; i < cur + num; ++i){ - FADASNode* target = node->route(saxes + (long)node->offsets[i] * Const::segmentNum); - lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); - } - - end = chrono::system_clock::now(); - MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); - - - for(auto &iter:lbl){ - string outfile = Const::fidxfn + iter.first->getFileName(); - if(iter.first->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); -// SEQ_WRITE_CNT += iter.second.buffer.size(); -// bytes = iter.second.buffer.size() * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; - RAND_WRITE_CNT++; - for(float *dat:iter.second.buffer) - fwrite(dat, sizeof(float), Const::tsLength, outf); - fclose(outf); - } - start = chrono::system_clock::now(); - MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); - - delete[]tss; - rest-=num; - cur += num; - } - fclose(f); - FileUtil::FileRemove((Const::fidxfn + "U_" + to_string(node->id)).c_str()); - auto end_t = chrono::system_clock::now(); - MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -// put actual series into disk file of nodes below 1st layer from raw dataset -void materializeOnePassWithSax(FADASNode *node, unsigned short *saxes, float *series) { - // route each sax words to the buffer of a leaf pack - unordered_mapsax_buffer; - unordered_maplbl; - for(long i=0;isize;++i){ - unsigned short *sax = saxes + (long)node->offsets[i] * Const::segmentNum; - FADASNode*target = node->route(sax); - if(sax_buffer[target].size == 0){ - sax_buffer[target].buffer = new unsigned short [(long)target->size*Const::segmentNum]; - } - lbl[target].buffer.push_back(series + (long)node->offsets[i] * Const::tsLength); - copy(sax, sax+Const::segmentNum, sax_buffer[target].buffer + (long)sax_buffer[target].size * Const::segmentNum); - sax_buffer[target].size++; - } - - // write each buffer of the hash table - for(auto &iter: sax_buffer){ - string outfile = Const::fidxfn + iter.first->getFileName() + "_sax"; - if(iter.first->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - fwrite(iter.second.buffer, sizeof(unsigned short ), (long)iter.first->size * Const::segmentNum, outf); - fclose(outf); - delete[] iter.second.buffer; - } - unordered_map().swap(sax_buffer); - - // write series - for(auto &iter:lbl){ - string outfile = Const::fidxfn + iter.first->getFileName(); - if(iter.first->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - RAND_WRITE_CNT++; - for(float *dat:iter.second.buffer) - fwrite(dat, sizeof(float), Const::tsLength, outf); - fclose(outf); - } - - vector().swap(node->offsets); -} - -// put actual series into disk file of nodes below 1st layer from raw dataset -void materializeOnePassWithSax(FADASNode *node, unsigned short *saxes, vector&leaf_files, vector&sax_files) { - // route each sax words to the buffer of a leaf pack - unordered_mapsax_buffer; - unordered_maplbl; - for(long i=0;isize;++i){ - unsigned short *sax = saxes + (long)node->offsets[i] * Const::segmentNum; - FADASNode*target = node->route(sax); - if(sax_buffer[target].size == 0){ - sax_buffer[target].buffer = new unsigned short [(long)target->size*Const::segmentNum]; - } - copy(sax, sax+Const::segmentNum, sax_buffer[target].buffer + (long)sax_buffer[target].size * Const::segmentNum); - sax_buffer[target].size++; - } - - // write each buffer of the hash table - for(auto &iter: sax_buffer){ - string outfile = Const::fidxfn + iter.first->getFileName() + "_sax"; - if(iter.first->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - fwrite(iter.second.buffer, sizeof(unsigned short ), (long)iter.first->size * Const::segmentNum, outf); - fclose(outf); - delete[] iter.second.buffer; - } - unordered_map().swap(sax_buffer); - - int cur_num = 0; - auto buf = new float [(long)Const::fbl_series_num * Const::tsLength]; - auto buf_sax = new unsigned short [(long)Const::fbl_series_num * Const::segmentNum]; - for(int i =0;i Const::fbl_series_num){ - for(int j=0;jroute(buf_sax + (long)j * Const::segmentNum); - lbl[target].buffer.push_back(buf + (long)j*Const::tsLength); - } - - // write series - for(auto &iter:lbl){ - string outfile = Const::fidxfn + iter.first->getFileName(); - if(iter.first->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - RAND_WRITE_CNT++; - for(float *dat:iter.second.buffer) - fwrite(dat, sizeof(float), Const::tsLength, outf); - fclose(outf); - } - - cur_num = 0; - lbl.clear(); - } - - FILE *f = fopen(leaf_file.c_str(), "rb"); - FILE *saxf = fopen(sax_file.c_str(), "rb"); - fread(buf + (long)cur_num * Const::tsLength, sizeof(float ), (long)series_num * Const::tsLength, f); - fread(buf_sax + (long)cur_num * Const::segmentNum, sizeof(unsigned short ), (long)series_num * Const::segmentNum, saxf); - cur_num += series_num; - fclose(f); - fclose(saxf); - FileUtil::FileRemove(leaf_file.c_str()); - FileUtil::FileRemove(sax_file.c_str()); - } - - if(cur_num > 0) { - for (int j = 0; j < cur_num; ++j) { - FADASNode *target = node->route(buf_sax + (long) j * Const::segmentNum); - lbl[target].buffer.push_back(buf + (long) j * Const::tsLength); - } - - // write series - for (auto &iter: lbl) { - string outfile = Const::fidxfn + iter.first->getFileName(); - if (iter.first->partition_id == -1) outfile += "_L"; - FILE *outf = fopen(outfile.c_str(), "a"); - RAND_WRITE_CNT++; - for (float *dat: iter.second.buffer) - fwrite(dat, sizeof(float), Const::tsLength, outf); - fclose(outf); - } - - lbl.clear(); - } - - delete[] buf; - delete[] buf_sax; - - vector().swap(node->offsets); -} - - -// put actual series into disk file of nodes below 1st layer from file in 1st layer -void materializeInterNodeLessPack(FADASNode *node, unsigned short *saxes) { - auto start_t = chrono::system_clock::now(); - - FILE *f = fopen((Const::fidxfn + "U_" + to_string(node->id)).c_str(), "r"); - long rest = node->size, cur = 0, num; - unordered_maplbl; - -// long bytes = rest * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_READ += bytes; - - RAND_READ_CNT++; - SEQ_READ_CNT+=rest; - - while(rest > 0){ - lbl.clear(); - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT2_READ_TIME += chrono::duration_cast(start - end).count(); - - for(long i = cur; i < cur + num; ++i){ - FADASNode* target = node->route(saxes + (long)node->offsets[i] * Const::segmentNum); - lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); - } - - end = chrono::system_clock::now(); - MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); - - - for(auto &iter:lbl){ - assert(iter.first->layer > 1); - string outfile = Const::fidxfn; - if(iter.first->isLeafPack()) - outfile += "P-" + iter.first->getFileName(); - else - outfile += iter.first->getFileName(); - FILE *outf = fopen(outfile.c_str(), "a"); -// SEQ_WRITE_CNT += iter.second.buffer.size(); -// bytes = iter.second.buffer.size() * Const::tsLengthBytes; -// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; - RAND_WRITE_CNT++; - for(float *dat:iter.second.buffer) - fwrite(dat, sizeof(float), Const::tsLength, outf); - fclose(outf); - } - start = chrono::system_clock::now(); - MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); - - delete[]tss; - rest-=num; - cur += num; - } - fclose(f); - FileUtil::FileRemove((Const::fidxfn + "U_" + to_string(node->id)).c_str()); - auto end_t = chrono::system_clock::now(); - MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -// put actual series into disk file of nodes below 1st layer from file in 1st layer -void materializeInterNodePos(FADASNode *node, unsigned short *saxes) { - auto start_t = chrono::system_clock::now(); - - FILE *f = fopen((Const::posidxfn + "U_" + to_string(node->id)).c_str(), "r"); - int rest = node->size, cur = 0, num; - unordered_maplbl; - - RAND_READ_CNT++; - SEQ_READ_CNT+=rest; - - while(rest > 0){ - lbl.clear(); - if(rest > Const::fbl_series_num) num = Const::fbl_series_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto end = chrono::system_clock::now(); - fread(tss, sizeof(float ), num * Const::tsLength, f); - auto start = chrono::system_clock::now(); - MAT2_READ_TIME += chrono::duration_cast(start - end).count(); - -// for(int i = cur; i < cur + num; ++i){ -// FADASNode* target = node->route(saxes + node->offsets[i] * Const::segmentNum); -// lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); -// } - for(int i = cur; i < cur + num; ++i){ - FADASNode* target = node->route(saxes + node->offsets[i] * Const::segmentNum); - lbl[target].offsets.push_back(node->offsets[i]); - lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); - } - - end = chrono::system_clock::now(); - MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); - - - for(auto &iter:lbl){ - string outfile = Const::fidxfn + iter.first->getFileName(); - FILE *outf = fopen(outfile.c_str(), "a"); - LBL_UNIT &tmp = iter.second; - RAND_WRITE_CNT++; - for(int i=0;i(start - end).count(); - - delete[]tss; - rest-=num; - cur += num; - } - fclose(f); - FileUtil::FileRemove((Const::posidxfn + "U_" + to_string(node->id)).c_str()); - auto end_t = chrono::system_clock::now(); - MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); -} - -FADASNode *FADASNode::BuildIndex(string &datafn, string &saxfn) { - Const::logPrint("Start building index."); - auto start_t = chrono::system_clock::now(); - loadCombines(); - FileUtil::checkDirClean(Const::fidxfn.c_str()); - auto end = chrono::system_clock::now(); -// long series_num = generateSaxTbl(); - long series_num = loadSax(saxfn); -// loadPaa(paafn); - auto start = chrono::system_clock::now(); - Const::logPrint("Finish building sax table."); - SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - auto* root = new FADASNode(); - root->size = series_num; - for(int &i:root->bits_cardinality) i=0; - for(int i=0;ichosenSegments.push_back(i); - vector nodeIn1stLayer(Const::vertexNum); - int *navids = new int[series_num]; - for(int i=0;ichildren.resize(Const::vertexNum); - for(int i=0;i Const::th) { -// assert(nodeIn1stLayer[i].size > Const::th); - root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); - root->children[i]->generateSaxAndCardIn1stLayer(i); - }else if(nodeIn1stLayer[i].pid == -1){ - root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); - root->children[i]->generateSaxAndCardIn1stLayer(i); - } - else{ - int pid = nodeIn1stLayer[i].pid; - root->children[i] = childrenList[pid]; - childrenList[pid]->size += nodeIn1stLayer[i].size; - childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); - } - } - Const::logPrint("Finish build index structure 1st layer."); - - // put data offsets to internal nodes in 1st layer - for(int i=0;ichildren[i]!= nullptr) - root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); - for(int i=0;ichildren[nav_id]->offsets.push_back(i); - } - Const::logPrint("data offsets have been put into nodes in the 1st layer."); - end = chrono::system_clock::now(); - GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); - - thread IO(materialize1stLayerWithSaxOnlyLeaf, datafn, root, navids, Const::fidxfn, saxes); - - int j = 0; - int milestone = 0.1 * Const::vertexNum; - Const::logPrint("start grow the index structure"); - for(int i=0;i Const::th) { - root->children[i]->growIndex(); - } - if(++j%milestone == 0) - Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); - } - start = chrono::system_clock::now(); - GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - Const::logPrint("build index skeleton finished."); - - IO.join(); - Const::logPrint("Start materialize internal nodes in the 1st layer"); - materializeAllLeavesWithSax(datafn, root, navids, Const::fidxfn, saxes); -// for(int i=0;i Const::th) -// materializeInterNodeWithSax(root->children[i], saxes); - Const::logPrint("build index successfully!"); - delete[] saxes; - auto end_t = chrono::system_clock::now(); - cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<getIndexStats(); - - return root; -} - -void FADASNode::insertBatch(float *tss, int batch_size){ - generateSaxTbl(tss, batch_size); - for(int i=0;igenerateSaxAndCardIn1stLayer(head); - children[head]->pos_cache.push_back(i); - }else - children[head]->routeDuringInsertion(saxes + i * Const::segmentNum, i); - } - -// for(FADASNode* child:children){ -// if(child!= nullptr && child->partition_id == 63) -// cout <<"here" <visited; - for(FADASNode* child: children){ - if(child == nullptr) continue; - if(visited.contains(child)) continue; - child->reorganize(tss, this); - visited.insert(child); - } - return; - } - - if(size <= Const::th){ - // leaf pack or leaf node - string sax_file, data_file; - getFileNameInsert(Const::fidxfn, sax_file, data_file); - FILE* sax_f = fopen(sax_file.c_str(), "ab"); - for(int pos: pos_cache){ - fwrite(saxes + pos * Const::segmentNum, sizeof(unsigned short), Const::segmentNum, sax_f); - } - fclose(sax_f); - FILE* data_f = fopen(data_file.c_str(), "ab"); - for(int pos: pos_cache){ - fwrite(tss + pos * Const::tsLength, sizeof(float ), Const::tsLength, data_f); - } - fclose(data_f); - vector().swap(pos_cache); - return; - } - // we need to do split (grow index) when it exceeds th - if(children.empty()){ - // leaf node or pack - string sax_file, data_file; - getFileNameInsert(Const::fidxfn, sax_file, data_file); - auto *node_saxes = new unsigned short[size * Const::segmentNum]; - auto *node_series = new float [size * Const::tsLength]; - for(int i=0;i().swap(pos_cache); - }else{//leaf pack - int chosen_num; - if(layer == 1) - chosen_num = Const::segmentNum; - else - chosen_num = parent->chosenSegments.size(); - // statistic children information in order to partition - partUnit nodes[1<>node_offsets(1<()); - - for(int i=0;ibits_cardinality,parent->chosenSegments); - nodes[new_id].size++; - node_offsets[new_id].push_back(i); - } - -// FADASNode * pack_node; -// if(layer == 1){ -// pack_node = new FADASNode(1, partition_id); -// }else{ -// pack_node = new FADASNode(parent, partition_id); -// } - - for(int i=0;i<(1< Const::th){ - new_node->offsets.resize(nodes[i].size); - copy(node_offsets[i].begin(), node_offsets[i].end(), new_node->offsets.begin()); - new_node->growIndex(node_saxes, false); - materializeOnePassWithSax(new_node, node_saxes, node_series); - parent->children[i] = new_node; - vector().swap(node_offsets[i]); - } -// else if(nodes[i].size >= Const::th * Const::small_perc) - else{ - // directly write series into a leaf node - string out_sax_file, out_data_file; - new_node->getFileNameInsert(Const::fidxfn, out_sax_file, out_data_file); - FILE* out_sax_f = fopen(out_sax_file.c_str(), "wb"); - FILE* out_data_f = fopen(out_data_file.c_str(), "wb"); - for(int offset: node_offsets[i]){ - fwrite(node_saxes + (long)offset * Const::segmentNum, sizeof(unsigned short ), Const::segmentNum, out_sax_f); - fwrite(node_series + (long)offset * Const::tsLength, sizeof(float ), Const::tsLength, out_data_f); - } - vector().swap(node_offsets[i]); - fclose(out_data_f); - fclose(out_sax_f); - parent->children[i] = new_node; - } - -// else{ -// delete new_node; -// int _pid = nodes[i].pid; -// pack_node->size += nodes[i].size; -// if(layer == 1) -// pack_node->generateSaxAndCardIn1stLayer4LeafNode(i); -// else -// parent->generateSaxAndCardinality4LeafNode(pack_node, i); -// for(int & j : node_offsets[i]) -// pack_node->offsets.push_back(j); -// vector().swap(node_offsets[i]); -// parent->children[i] = pack_node; -// } - } - -// string out_sax_file, out_data_file; -// pack_node->getFileNameInsert(Const::fidxfn, out_sax_file, out_data_file); -// FILE* out_sax_f = fopen(out_sax_file.c_str(), "wb"); -// FILE* out_data_f = fopen(out_data_file.c_str(), "wb"); -// for(int offset: pack_node->offsets){ -// fwrite(node_saxes + (long)offset * Const::segmentNum, sizeof(unsigned short ), Const::segmentNum, out_sax_f); -// fwrite(node_series + (long)offset * Const::tsLength, sizeof(float ), Const::tsLength, out_data_f); -// } -// vector().swap(pack_node->offsets); -// fclose(out_data_f); -// fclose(out_sax_f); - vector>().swap(node_offsets); - delete this; - - } - - delete[] node_saxes; - delete[] node_series; - FileUtil::FileRemove((sax_file).c_str()); - FileUtil::FileRemove((data_file).c_str()); - - }else{ - // internal node - auto node_saxes = new unsigned short [size * Const::segmentNum]; - vectorleaf_files, sax_files; - int cur = 0; - collectSAXwords(node_saxes, &cur, leaf_files, sax_files); - assert(cur == size); - offsets.resize(size); - for(int i=0;ideleteSubtree(); - } - chosenSegments.clear(); - children.clear(); - growIndex(node_saxes, false); - materializeOnePassWithSax(this, node_saxes, leaf_files, sax_files); - vector().swap(leaf_files); - vector().swap(sax_files); - vector().swap(pos_cache); - delete[] node_saxes; - } -} - -void -FADASNode::collectSAXwords(unsigned short *node_saxes, int *cur, vector &leaf_files, vector &sax_files) { - if(!pos_cache.empty()){ - for(int offset:pos_cache){ - copy(saxes + (long)offset * Const::segmentNum, saxes + ((long)offset + 1) * Const::segmentNum, node_saxes + (long)(*cur) * Const::segmentNum); - (*cur) = (*cur) + 1; - } - } - string sax_file, data_file; - getFileNameInsert(Const::fidxfn, sax_file, data_file); - if(FileUtil::checkFileExists(sax_file.c_str())){ - long series_num = FileUtil::getFileSize(sax_file.c_str()) / sizeof(unsigned short ) / Const::segmentNum; - FILE *sax_f = fopen(sax_file.c_str(), "rb"); - fread(node_saxes + (long)(*cur) * Const::segmentNum, sizeof(unsigned short), Const::segmentNum * series_num, sax_f); - fclose(sax_f); - (*cur) = (*cur) + series_num; - FileUtil::renameFile(data_file,data_file + "tmp"); - FileUtil::renameFile(sax_file, sax_file + "tmp"); - leaf_files.push_back(data_file + "tmp"); - sax_files.push_back(sax_file + "tmp"); - } - if(!children.empty()){ - for(FADASNode*child: children){ - if(child!= nullptr){ - child->collectSAXwords(node_saxes, cur, leaf_files, sax_files); - } - } - } -} - -void FADASNode::deleteSubtree(){ - if(children.empty()) - delete this; - else{ - unordered_setchilds; - for(FADASNode* child: children){ - if(child != nullptr) - childs.insert(child); - } - for(FADASNode* child:childs) - child->deleteSubtree(); - delete this; - } -} - -void FADASNode::growIndex(unsigned short *node_saxes, bool need_free) { - if(size <= Const::th) return; - auto start = chrono::system_clock::now(); -// int chosen_num = SaxUtil::findFirstGE(power_2, 1, Const::segmentNum + 1, size / Const::th + 1); -// SAX_INFO* sax_info = statSAX(); -// chooseSegment(sax_info, chosen_num); - determineSegments(node_saxes); - int chosen_num = chosenSegments.size(); - // statistic children information in order to partition - partUnit nodes[1<>node_offsets(1<()); - - for(int i=0;i().swap(offsets); - - int partNum = partitionNew(nodes, chosen_num); - // build rest data node if any -// for(auto &node:nodes) -// if(node.size <= Const::th && node.pid == -1) -// node.pid = partNum++; - - FADASNode* childrenList[partNum]; - for(int i=0;i Const::th) { - children[i] = new FADASNode(this, nodes[i].size, i); - generateSaxAndCardinality(children[i], i); - children[i]->offsets.resize(nodes[i].size); - copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); - vector().swap(node_offsets[i]); - }else if(partition_id == -1){ - children[i] = new FADASNode(this, nodes[i].size, i); - generateSaxAndCardinality(children[i], i); - vector().swap(node_offsets[i]); - } - else{ - int _pid = nodes[i].pid; - children[i] = childrenList[_pid]; - childrenList[_pid]->size += nodes[i].size; - generateSaxAndCardinality4LeafNode(children[i], i); - vector().swap(node_offsets[i]); - } - } - - vector>().swap(node_offsets); - auto end = chrono::system_clock::now(); - GROW_CPU_TIME += chrono::duration_cast(end - start).count(); - - for(auto &child: children){ - if(child!= nullptr && child->size > Const::th){ -// cout << file_id << "+" << child->id<growIndex(node_saxes, true); - } - } - -} - - -FADASNode *FADASNode::BuildIndexLessPack(string &datafn, string &saxfn, string &paafn, vector> *g) { - Const::logPrint("Start building index."); - auto start_t = chrono::system_clock::now(); - FileUtil::checkDirClean(Const::fidxfn.c_str()); - auto end = chrono::system_clock::now(); -// long series_num = generateSaxAndPaaTbl(); - long series_num = loadSax(saxfn); -// loadPaa(paafn); - auto start = chrono::system_clock::now(); - Const::logPrint("Finish building sax and paa table."); - SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - auto* root = new FADASNode(); - root->size = series_num; - for(int &i:root->bits_cardinality) i=0; - partUnit nodeIn1stLayer[Const::vertexNum]; // all the nodes in the 1st layer - int *navids = new int[series_num]; // invSAX head for the whole dataset - for(int i=0;ichildrenList; - childrenList.reserve(partNum); - for(int i=0;ichildren.resize(Const::vertexNum); - for(int i=0;ichildren[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); - root->children[i]->generateSaxAndCardIn1stLayer(i); - } - else{ - int pid = nodeIn1stLayer[i].pid; - root->children[i] = childrenList[pid]; - childrenList[pid]->size += nodeIn1stLayer[i].size; - childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); - } - } - Const::logPrint("Finish build index structure 1st layer."); - - thread IO(materialize1stLayerLessPack, datafn, root, navids, Const::fidxfn); - - // put data offsets to internal nodes in 1st layer - for(int i=0;i Const::th) - root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); - for(int i=0;i Const::th) { - root->children[nav_id]->offsets.push_back(i); - } - } - Const::logPrint("data offsets have been put into nodes in the 1st layer."); - end = chrono::system_clock::now(); - GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); - - int j = 0; - Const::logPrint("start grow the index structure"); - for(int i=0;i Const::th) - root->children[i]->growIndexLessPack(); - if(++j%10000 == 0) Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); - } - start = chrono::system_clock::now(); - GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - Const::logPrint("build index skeleton finished."); - - IO.join(); - Const::logPrint("Start materialize internal nodes in the 1st layer"); - for(int i=0;i Const::th) - materializeInterNodeLessPack(root->children[i], saxes); - Const::logPrint("build index successfully!"); - auto end_t = chrono::system_clock::now(); - cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<(start - end).count(); - - auto* root = new FADASNode(); - root->size = series_num; - for(int &i:root->bits_cardinality) i=0; - partUnit nodeIn1stLayer[Const::vertexNum]; - int *navids = new int[series_num]; - for(int i=0;ichildren.resize(Const::vertexNum); - for(int i=0;ichildren[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); - root->children[i]->generateSaxAndCardIn1stLayer(i); - } - else{ - int pid = nodeIn1stLayer[i].pid; - root->children[i] = childrenList[pid]; - childrenList[pid]->size += nodeIn1stLayer[i].size; - childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); - } - } - Const::logPrint("Finish build index structure 1st layer."); - - thread IO(materialize1stLayerPos, datafn, root, navids, Const::posidxfn); - - // put data offsets to internal nodes in 1st layer - for(int i=0;i Const::th) - root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); - for(int i=0;i Const::th) { - root->children[nav_id]->offsets.push_back(i); - } - } - Const::logPrint("data offsets have been put into nodes in the 1st layer."); - end = chrono::system_clock::now(); - GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); - - int j = 0; - Const::logPrint("start grow the index structure"); - for(int i=0;i Const::th) - root->children[i]->growIndex(); - if(++j%10000 == 0) Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); - } - start = chrono::system_clock::now(); - GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - Const::logPrint("build index skeleton finished."); - - IO.join(); - Const::logPrint("Start materialize internal nodes in the 1st layer"); - for(int i=0;i Const::th) - materializeInterNodePos(root->children[i], saxes); - Const::logPrint("build index successfully!"); - auto end_t = chrono::system_clock::now(); - cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<id<growIndex(); - } - } - -} - -void FADASNode::growIndexLessPack() { - if(size <= Const::th) return; - auto start = chrono::system_clock::now(); - int chosen_num = SaxUtil::findFirstGE(power_2, 1, Const::segmentNum + 1, size / Const::th + 1); - SAX_INFO* sax_info = statSAX(); - chooseSegment(sax_info, chosen_num); - - // statistic children information in order to partition - partUnit nodes[1<>node_offsets(1<()); - - for(int i=0;ilayer > 1) vector().swap(offsets); - - int partNum = partitionLessPack(nodes, chosen_num); - - vectorchildrenList; - for(int i=0;i Const::th){ - children[i]->offsets.resize(nodes[i].size); - copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); - } - vector().swap(node_offsets[i]); - } - else{ - int _pid = nodes[i].pid; - children[i] = childrenList[_pid]; - childrenList[_pid]->size += nodes[i].size; - generateSaxAndCardinality4LeafNode(children[i], i); - vector().swap(node_offsets[i]); - } - } - - vector>().swap(node_offsets); - auto end = chrono::system_clock::now(); - GROW_CPU_TIME += chrono::duration_cast(end - start).count(); - - for(auto &child: children){ - if(child!= nullptr && child->size > Const::th){ - child->growIndexLessPack(); - } - } - -} - -// it has some bugs, but I cannot find them -FADASNode *FADASNode::BuildIndexWOPack(string &datafn, string &saxfn, string &paafn, vector> *g) { - Const::logPrint("Start building index."); - auto start_t = chrono::system_clock::now(); - FileUtil::checkDirClean(Const::fidxfn.c_str()); - auto end = chrono::system_clock::now(); -// long series_num = generateSaxAndPaaTbl(); - long series_num = loadSax(saxfn); -// loadPaa(paafn); - auto start = chrono::system_clock::now(); - Const::logPrint("Finish building sax and paa table."); - SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - auto* root = new FADASNode(); - root->size = series_num; - for(int &i:root->bits_cardinality) i=0; - partUnit nodeIn1stLayer[Const::vertexNum]; - int *navids = new int[series_num]; - for(int i=0;i 0){ - nodeIn1stLayer[i].pid = partNum++; - } - } -// Const::logPrint("Finish partition"); -// int partNum = 0; - FADASNode* childrenList[partNum]; - for(int i=0;ichildren.resize(Const::vertexNum); - for(int i=0;i Const::th); - root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); - root->children[i]->generateSaxAndCardIn1stLayer(i); - } - else{ - int pid = nodeIn1stLayer[i].pid; - root->children[i] = childrenList[pid]; - childrenList[pid]->size += nodeIn1stLayer[i].size; - childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); - } - } - Const::logPrint("Finish build index structure 1st layer."); - -// thread IO(materialize1stLayer, datafn, root, navids, Const::fidxfn); - materialize1stLayer(datafn, root, navids, Const::fidxfn); - - // put data offsets to internal nodes in 1st layer - for(int i=0;i Const::th) - root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); - for(int i=0;i Const::th) { - root->children[nav_id]->offsets.push_back(i); - } - } - Const::logPrint("data offsets have been put into nodes in the 1st layer."); - end = chrono::system_clock::now(); - GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); - - int j = 0; - Const::logPrint("start grow the index structure"); - for(int i=0;i Const::th) { - cout << i <children[i]->growIndexWOPack(); - } - if(++j%10000 == 0) Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); - } - start = chrono::system_clock::now(); - GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); - - Const::logPrint("build index skeleton finished."); - -// IO.join(); - Const::logPrint("Start materialize internal nodes in the 1st layer"); - for(int i=0;i Const::th) - materializeInterNode(root->children[i], saxes); - Const::logPrint("build index successfully!"); - auto end_t = chrono::system_clock::now(); - cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<>node_offsets(1<()); - - cout <<"here1"<layer > 1) vector().swap(offsets); - -// int partNum = partition(nodes); - // build rest data node if any - int partNum = 0; - for(int i=0;i<(1<0 && nodes[i].size <= Const::th) - nodes[i].pid = partNum++; - } - cout <<"here3"<childrenList; - if(partNum >0) { - childrenList.resize(partNum); - for (int i = 0; i <= partNum; ++i) childrenList[i] = new FADASNode(this, i); - } - children.resize(1 << chosen_num); - cout <<"here4"<offsets.resize(nodes[i].size); - copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); - vector().swap(node_offsets[i]); - } - else{ - int _pid = nodes[i].pid; - children[i] = childrenList[_pid]; - childrenList[_pid]->size += nodes[i].size; - generateSaxAndCardinality4LeafNode(children[i], i); - vector().swap(node_offsets[i]); - } - } - - cout <<"here5"<>().swap(node_offsets); - auto end = chrono::system_clock::now(); - GROW_CPU_TIME += chrono::duration_cast(end - start).count(); - - for(auto &child: children){ - if(child!= nullptr && child->size > Const::th){ - child->growIndexWOPack(); - } - } - -} - - -// TODO: this function may be optimized with SIMD -PAA_INFO* FADASNode::statPaa(){ - auto* r = new PAA_INFO(); - double split_line[Const::segmentNum],paa_max[Const::segmentNum],paa_min[Const::segmentNum],paa_mu[Const::segmentNum]; - // TODO: optimize - double lb; // ub is the new split line - for(int i=0; i < Const::segmentNum; ++i) - SaxUtil::getValueRange(sax[i] << 1, bits_cardinality[i] + 1, &lb, &split_line[i]); - for(auto &i:paa_max) i = - numeric_limits::max(); - for(auto &i:paa_min) i = numeric_limits::max(); - for(auto &i:r->paa_up_size) i = 0; - for(auto &i:r->paa_below_size) i = 0; - for(auto &i:r->paa_variance) i = 0; - for(auto &i:paa_mu) i=0; - for(long offset:offsets){ - float * start = paas + offset * (Const::segmentNum); - for(int i=0;i split_line[i]) { - r->paa_up_size[i]++; - } - else { - r->paa_below_size[i]++; - } - } - } - for(double & i : paa_mu) { - i /= size; - } - - for(long offset:offsets){ - float * start = paas + offset * (Const::segmentNum); - for(int i=0;ipaa_variance[i] += (value - paa_mu[i]) * (value - paa_mu[i]); - } - } - return r; -} - -SAX_INFO* FADASNode::statSAX(){ - auto* r = new SAX_INFO(); - vector>numerical_sax(Const::segmentNum, vector(size, 0)); - vectornumerical_sax_sum(Const::segmentNum, 0); - // TODO: optimize - for(auto &i:r->sax_variance) i = 0; - for(int j = 0;j> (Const::bitsCardinality - 1 - bits_cardinality[i])) % 2; - if(isUp) r->up_size[i]++; - else r->below_size[i]++; - } - } - for(double & i : numerical_sax_sum) - i /= size; - - for(int i=0; isax_variance[i] += (numerical_sax[i][j] - numerical_sax_sum[i]) * (numerical_sax[i][j] - numerical_sax_sum[i]); - } - } - return r; -} - - -struct tmp{ - int i{}; - double score{}; - tmp(int _i, double _score){i=_i;score = _score;} - tmp(){;} - - static bool order(tmp a,tmp b){ - return a.score < b.score; - } - - static bool orderdesc(tmp a,tmp b){ - return a.score > b.score; - } -}; - -void FADASNode::determineFanout(int *lambda_min, int * lambda_max) const{ - if(size < 2 * Const::th) { - *lambda_min = 1; - *lambda_max = 1; - return; - } - *lambda_min = -1; - *lambda_max = Const::segmentNum; - double _min = size / (Const::th * Const::f_high); - double _max = size / (Const::th * Const::f_low); - if(Const::vertexNum < _min){ - *lambda_min = Const::segmentNum; - *lambda_max = Const::segmentNum; - return; - } - for(int i = 1; i <= Const::segmentNum; ++i){ - if(*lambda_min == -1){ - if((1<< i) >= _min){ - *lambda_min = i; - } - }else{ - if((1< _max){ - *lambda_max = max(i-1,*lambda_min); - break; - } - } - } -} - -// determine fan-out and choose segments -void FADASNode::determineSegmentsAvgVariance(){ - int lambda_min, lambda_max; - determineFanout(&lambda_min, &lambda_max); - - vector>data_seg_symbols(Const::segmentNum); - for(int offset:offsets){ - unsigned short* cur_sax = saxes + offset * Const::segmentNum; - for(int i=0;idata_seg_mean(Const::segmentNum, 0); - vectordata_seg_stdev(Const::segmentNum, 0); - for(int i=0;i().swap(data_seg_mean); - vector>().swap(data_seg_symbols); - - // start to compute the size of each node in each plan - - unordered_setvisited; - double max_score = 0; - vector best_plan; - for(int lambda = lambda_min; lambda <= lambda_max;++lambda){ - int plan_num = FADASNode::combine_num[lambda]; - for(int i=0;i max_score){ - max_score = score; - best_plan.clear(); - for(int j = 0; j().swap(visited); - chosenSegments = best_plan; -} - -#include -void FADASNode::determineSegmentsNaive() { - int lambda_min, lambda_max; - determineFanout(&lambda_min, &lambda_max); - unordered_setchosen; - srand(time(nullptr)); - for(int i=0;iunit_size(Const::vertexNum, 0); - - vector>data_seg_symbols(Const::segmentNum); - for(int offset:offsets){ - unsigned short* cur_sax = saxes + offset * Const::segmentNum; - for(int i=0;idata_seg_mean(Const::segmentNum, 0); - vectordata_seg_stdev(Const::segmentNum, 0); - for(int i=0;i().swap(data_seg_mean); - vector>().swap(data_seg_symbols); - - // start to compute the size of each node in each plan - int plan_num; - if(lambda_max < Const::segmentNum) - plan_num = FADASNode::combine_num[lambda_max]; - else - plan_num = 1; - unordered_setvisited; - double max_score = 0; - vector best_plan; - for(int i=0;iplan_node_sizes(1<max_node_size; - for(int j=0;j().swap(max_node_size); - - double score = compute_score(plan_node_sizes, plan, lambda_max, data_seg_stdev); - if(score > max_score){ - max_score = score; - best_plan.clear(); - for(int j = 0; j().swap(plan_node_sizes); - } - - unordered_set().swap(visited); - vector().swap(unit_size); - chosenSegments = best_plan; -} - -void FADASNode::determineSegments(unsigned short *node_saxes) { - int lambda_min, lambda_max; - determineFanout(&lambda_min, &lambda_max); - - vectorunit_size(Const::vertexNum, 0); - - vector>data_seg_symbols(Const::segmentNum); - for(int offset: offsets){ - unsigned short* cur_sax = node_saxes + (long)offset * Const::segmentNum; - for(int i=0;i=0 && cur_sax[i] <= 255); - data_seg_symbols[i][cur_sax[i]]++; - } - int head = SaxUtil::extendSax(cur_sax, bits_cardinality); - unit_size[head]++; - } - - // compute stdev of each segment - vectordata_seg_mean(Const::segmentNum, 0); - vectordata_seg_stdev(Const::segmentNum, 0); - for(int i=0;i().swap(data_seg_mean); - vector>().swap(data_seg_symbols); - - // start to compute the size of each node in each plan - int plan_num = FADASNode::combine_num[lambda_max]; - unordered_setvisited; - double max_score = 0; - vector best_plan; - for(int i=0;iplan_node_sizes(1<max_node_size; - for(int j=0;j().swap(max_node_size); - - double score = compute_score(plan_node_sizes, plan, lambda_max, data_seg_stdev); - if(score > max_score){ - max_score = score; - best_plan.clear(); - for(int j = 0; j().swap(plan_node_sizes); - } - - unordered_set().swap(visited); - vector().swap(unit_size); - chosenSegments = best_plan; -} - -void -FADASNode::visitPlanFromBaseTable(unordered_set &visited, int cur_lambda, const int *plan, vector &base_tbl, - double *max_score, vector &best_plan, int lambda_min, int mask_code, - vector &data_seg_stdev, double base_score) { - // base mask is used to detect base tbl - int base_mask = 1; - for(int i=0;inode_size_map; - for(int j=0;jnew_tbl(1<().swap(node_size_map); - double score = compute_score(new_tbl, new_plan, cur_lambda, data_seg_stdev); - if(score > *max_score){ - *max_score = score; - best_plan.clear(); - for(_ = 0; _ base_score && cur_lambda > 1) - if(cur_lambda > lambda_min) - visitPlanFromBaseTable(visited, cur_lambda - 1, new_plan, new_tbl, - max_score, best_plan, lambda_min, cur_whole_mask, data_seg_stdev, score); - vector().swap(new_tbl); - delete[] new_plan; - } -} - -double FADASNode::compute_score(vector&node_sizes, int *plan, int lambda, vector&data_seg_stdev) const{ - if(size < 2*Const::th){ - if(node_sizes[0] > Const::th || node_sizes[1] > Const::th) - return (double)min(node_sizes[0],node_sizes[1]) / Const::th; - return data_seg_stdev[plan[0]] * 100; - } - int over_th_nodes_no = 0; - for(int _:node_sizes){ - if(_ > Const::th) - over_th_nodes_no++; - } - double w = ((double)over_th_nodes_no) / ((int)node_sizes.size()); - double sum_seg = 0; - for(int i=0;iunit_size(Const::vertexNum, 0); - vector>unit_seg_sum(Const::vertexNum , vector(Const::segmentNum, 0)); - vector>data_seg_symbols(Const::segmentNum); - - for(int offset:offsets){ - unsigned short* cur_sax = saxes + offset * Const::segmentNum; - int head = SaxUtil::extendSax(cur_sax, bits_cardinality); - unit_size[head]++; - for(int i=0;idata_seg_mean(Const::segmentNum, 0); - for(int i=0;i>().swap(data_seg_symbols); - - // start to compute the size of each node in each plan - int plan_num = FADASNode::combine_num[lambda_max]; - unordered_setvisited; - double max_score = 0; - vector best_plan; - for(int i=0;iplan_node_sizes(1<>plan_node_seg_mean(1<(Const::segmentNum,0)); - vector>plan_node_seg_sum(1<(Const::segmentNum, 0)); - int mask_code = MathUtil::generateMaskSettingKbits(plan, lambda_max, Const::segmentNum); - mapmax_node_size; - map>max_node_seg_sum; - for(int j=0;j().swap(max_node_size); - _ = 0; - for(auto & iter: max_node_seg_sum) { - vector&tmp = iter.second; - for(int k=0;k>().swap(max_node_seg_sum); - - double score = compute_score_cluster(plan_node_sizes, plan_node_seg_mean, data_seg_mean, - plan, lambda_max); - if(score > max_score){ - max_score = score; - best_plan.clear(); - for(int j = 0; j().swap(plan_node_sizes); - vector>().swap(plan_node_seg_mean); - vector>().swap(plan_node_seg_sum); - } - - unordered_set().swap(visited); - vector().swap(unit_size); - vector>().swap(unit_seg_sum); - chosenSegments = best_plan; -} - -void -FADASNode::visitPlanFromBaseTableCluster(unordered_set &visited, int cur_lambda, const int *plan, - vector &base_tbl_size, vector>&base_tbl_seg_sum, - double *max_score, vector &best_plan, int lambda_min, int mask_code, - vector &data_seg_mean) { - // base mask is used to detect base tbl - int base_mask = 1; - for(int i=0;inode_size_map; - map>node_seg_sum_map; - for(int j=0;jnew_tbl(1<>new_tbl_seg_sum(1<(Const::segmentNum, 0)); - vector>new_tbl_seg_mean(1<(Const::segmentNum, 0)); - - _ = 0; - for(auto &iter:node_size_map) - new_tbl[_++] = iter.second; - map().swap(node_size_map); - _ = 0; - for(auto & iter: node_seg_sum_map) { - vector&tmp = iter.second; - for(int k=0;k>().swap(node_seg_sum_map); - - double score = compute_score_cluster(new_tbl, new_tbl_seg_mean, data_seg_mean, new_plan, cur_lambda); - if(score > *max_score){ - *max_score = score; - best_plan.clear(); - for(_ = 0; _().swap(new_tbl); - vector>().swap(new_tbl_seg_mean); - vector>().swap(new_tbl_seg_sum); - delete[] new_plan; - } -} - -double FADASNode::compute_score_cluster(vector&node_sizes, vector>&plan_node_seg_mean, vector&seg_mean, - int *plan, int lambda) const{ -// int over_th_nodes_no = 0; -// for(int _:node_sizes){ -// if(_ > Const::th) -// over_th_nodes_no++; -// } -// double w = ((double)over_th_nodes_no) / ((int)node_sizes.size()); - int cluster_num = 1 << lambda; - double ssb = 0; - for(int i=0;iunit_size(Const::vertexNum, 0); - vector>unit_seg_sum(Const::vertexNum , vector(Const::segmentNum, 0)); - vector>data_seg_symbols(Const::segmentNum); - - for(int offset:offsets){ - unsigned short* cur_sax = saxes + offset * Const::segmentNum; - int head = SaxUtil::extendSax(cur_sax, bits_cardinality); - unit_size[head]++; - for(int i=0;idata_seg_mean(Const::segmentNum, 0); - for(int i=0;i>().swap(data_seg_symbols); - - // start to compute the size of each node in each plan - int plan_num = FADASNode::combine_num[lambda_max]; - unordered_setvisited; - double max_score = 0; - vector best_plan; - for(int i=0;iplan_node_sizes(1<>plan_node_seg_mean(1<(lambda_max,0)); - vector>plan_node_seg_sum(1<(lambda_max, 0)); - int mask_code = MathUtil::generateMaskSettingKbits(plan, lambda_max, Const::segmentNum); - mapmax_node_size; - map>max_node_seg_sum; - for(int j=0;j().swap(max_node_size); - _ = 0; - for(auto & iter: max_node_seg_sum) { - vector&tmp = iter.second; - for(int k=0;k>().swap(max_node_seg_sum); - - double score = compute_score_cluster_weak(plan_node_sizes, plan_node_seg_mean, data_seg_mean, - plan, lambda_max); - if(score > max_score){ - max_score = score; - best_plan.clear(); - for(int j = 0; j().swap(plan_node_sizes); - vector>().swap(plan_node_seg_mean); - vector>().swap(plan_node_seg_sum); - } - - unordered_set().swap(visited); - vector().swap(unit_size); - vector>().swap(unit_seg_sum); - chosenSegments = best_plan; -} - -void -FADASNode::visitPlanFromBaseTableWeakCluster(unordered_set &visited, int cur_lambda, const int *plan, - vector &base_tbl_size, vector>&base_tbl_seg_sum, - double *max_score, vector &best_plan, int lambda_min, int mask_code, - vector &data_seg_mean) { - // base mask is used to detect base tbl - int base_mask = 1; - for(int i=0;inode_size_map; - map>node_seg_sum_map; - for(int j=0;jnew_tbl(1<>new_tbl_seg_sum(1<(cur_lambda, 0)); - vector>new_tbl_seg_mean(1<(cur_lambda, 0)); - - _ = 0; - for(auto &iter:node_size_map) - new_tbl[_++] = iter.second; - map().swap(node_size_map); - _ = 0; - for(auto & iter: node_seg_sum_map) { - vector&tmp = iter.second; - for(int k=0;k>().swap(node_seg_sum_map); - - double score = compute_score_cluster_weak(new_tbl, new_tbl_seg_mean, data_seg_mean, new_plan, cur_lambda); - if(score > *max_score){ - *max_score = score; - best_plan.clear(); - for(_ = 0; _().swap(new_tbl); - vector>().swap(new_tbl_seg_mean); - vector>().swap(new_tbl_seg_sum); - delete[] new_plan; - } -} - -double FADASNode::compute_score_cluster_weak(vector&node_sizes, vector>&plan_node_seg_mean, vector&seg_mean, - int *plan, int lambda) const{ -// int over_th_nodes_no = 0; -// for(int _:node_sizes){ -// if(_ > Const::th) -// over_th_nodes_no++; -// } -// double w = ((double)over_th_nodes_no) / ((int)node_sizes.size()); - int cluster_num = 1 << lambda; - double ssb = 0; - for(int i=0;i::max(), min_index = -1; - for(int i = 0; i < Const::segmentNum;++i){ - int big = max(node->paa_up_size[i], node->paa_below_size[i]); - if(big < min){ - min = big; - min_index = i; - } - } - return min_index; -} - -int FADASNode::chooseOneSegment(SAX_INFO* node){ - int min = numeric_limits::max(), min_index = -1; - for(int i = 0; i < Const::segmentNum;++i){ - int big = max(node->up_size[i], node->below_size[i]); - if(big < min){ - min = big; - min_index = i; - } - } - return min_index; -} - -void FADASNode::chooseSegment(PAA_INFO *paa, int chosen_num) { - chosenSegments.resize(chosen_num); - if(chosen_num == 1) { chosenSegments[0]=chooseOneSegment(paa) ; return;} - - tmp scores[Const::segmentNum]; - for(int i=0;i= Const::bitsCardinality) - scores[i] = tmp(i, -1); - else - scores[i] = tmp(i, paa->paa_variance[i]); - sort(scores, scores+Const::segmentNum, tmp::orderdesc); - for(int i=0;i= Const::bitsCardinality) - scores[i] = tmp(i, -1); - else - scores[i] = tmp(i, sax_info->sax_variance[i]); - sort(scores, scores+Const::segmentNum, tmp::orderdesc); - for(int i=0;i=0 ;--i){ - unsigned short t = new_id % 2 ; - new_id >>= 1; - sax[i] = t; - } -} - -void FADASNode::generateSaxAndCardinality(FADASNode* node, int new_id){ - copy(sax, sax + Const::segmentNum, node->sax); - copy(bits_cardinality, bits_cardinality + Const::segmentNum, node->bits_cardinality); - for(int i = chosenSegments.size() - 1; i >=0 ;--i){ - int seg = (chosenSegments)[i]; - node->bits_cardinality[seg]++; - int t = new_id % 2 ; - new_id >>= 1; - node->sax[seg] = (node->sax[seg] << 1) + t; - } -} - -void FADASNode::generateSaxAndCardIn1stLayer4LeafNode(int new_id){ - if(bits_cardinality[0] == -1){ - for(int &i:bits_cardinality) i=1; - generateSaxAndCardIn1stLayer(new_id); - return; - } - for(int i = Const::segmentNum - 1; i >=0 ;--i){ - int t = new_id % 2 ; - new_id >>= 1; - if(bits_cardinality[i] == 1 && sax[i] != t){ - bits_cardinality[i] = 0; - } - } -} - -void FADASNode::generateSaxAndCardinality4LeafNode(FADASNode* node, int new_id){ - if(node->bits_cardinality[0] == -1){ - generateSaxAndCardinality(node, new_id); - return; - } - for(int i = chosenSegments.size() - 1; i >=0 ;--i){ - int seg = chosenSegments[i]; - int t = new_id % 2 ; - new_id >>= 1; - if(node->bits_cardinality[seg] == bits_cardinality[seg] + 1 && node->sax[seg] % 2 != t){ - node->bits_cardinality[seg]--; - node->sax[seg] >>= 1; - } - } -} - -partUnit* find_node(vector&nodes, int target_id){ - for(partUnit* node: nodes){ - if(node->id == target_id) - return node; - } - return nullptr; -} - -struct failUnit{ - partUnit *node{}; - int neighbor_size{}; - - failUnit(partUnit* a, int b){ node = a; neighbor_size = b;} -}; - -static bool comp_fail_node(failUnit *x, failUnit *y){ - return x->neighbor_size > y->neighbor_size; -} - -int FADASNode::partition1stLayer(partUnit *nodes_map, vector> *g, double filling_factor) { - vectornodes; - int total_size = 0, node_number; - for(int i=0;i 0) { - nodes.push_back(&nodes_map[i]); - total_size += nodes_map[i].size; - } - } - - node_number = nodes.size(); - if(node_number < 2) return 0; - if(node_number == 2 && nodes[0]->size + nodes[1]->size > Const::th) return 0; -// cout << "node number = " << node_number <<", total size = " << total_size << endl; - sort(nodes.begin(), nodes.end(), partUnit::comp_size); - int pid = 0; - int k = total_size / Const::th + 1; - - int _id, finish_num = 0, finish_size = 0, temp_size = 0, fail_partition_size = 0; - partUnit *temp_node; - vectortemp, candidates; - // first loop, build 2-clique - { - for(int i=0;ipid != -1 || nodes[i]->size > Const::th) continue; - temp_size = nodes[i]->size; temp.clear(); candidates.clear(); temp.push_back(nodes[i]); - _id = nodes[i]->id; - for(int j=0; jsize > Const::th) continue; - if(temp_node->pid == -1 && temp_node->size < Const::th) - candidates.push_back(temp_node); - } - - sort(candidates.begin(),candidates.end(), partUnit::comp_size); - for(partUnit* node:candidates){ - if(node->size + temp_size > Const::th) continue; - temp.push_back(node); - temp_size += node->size; - } - - // fulfill the partition requirement - if(temp_size >= filling_factor * Const::th){ - nodes[i]->pid = pid; - for(partUnit* cur: temp) cur->pid = pid; - finish_num += temp.size(); - finish_size += temp_size; -// cout << pid << ":" << temp_size << endl; - ++pid; - } - } - } - - if(finish_num >= node_number) return pid; -// cout<< "After first loop, finish nodes number = " << finish_num <<", finish series number = " << finish_size <= 4); - } - int sum = 0; - unordered_sethash_map; - for(FADASNode*child:children){ - if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; - sum += child->getBiasLeafNodeNum(); - hash_map.insert(child); - } - return sum; -} - -int FADASNode::getTotalSize(){ - if(!isInternalNode()) return size; - int sum = 0; - unordered_sethash_map; - for(FADASNode*child:children){ - if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; - sum += child->getTotalSize(); - hash_map.insert(child); - } - return sum; -} - -int FADASNode::getNodeNum(){ - if(!isInternalNode()) return 1; - int sum = 0; - unordered_sethash_map; - for(FADASNode*child:children){ - if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; - sum += child->getNodeNum(); - hash_map.insert(child); - } - return sum + 1; -} - -int FADASNode::getSumHeight(){ - if(!isInternalNode()) return layer; - int sum_height = 0; - unordered_sethash_map; - for(FADASNode*child:children){ - if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; - sum_height += child->getSumHeight(); - hash_map.insert(child); - } - return sum_height; -} - -int FADASNode::loadSax(const string & saxfn){ - long f_size = FileUtil::getFileSize(saxfn.c_str()), series_num = f_size / (sizeof(unsigned short) * Const::segmentNum); - saxes = new unsigned short [f_size / sizeof(unsigned short )]; - FILE *f = fopen(saxfn.c_str(), "rb"); - fread(saxes, sizeof(unsigned short ), f_size / sizeof(unsigned short), f); - fclose(f); - Const::logPrint("Finish loading sax"); - return series_num; -} - -void FADASNode::loadPaa(const string & paafn){ - long f_size = FileUtil::getFileSize(paafn.c_str()); - paas = new float [f_size / sizeof(float )]; - FILE *f = fopen(paafn.c_str(), "rb"); - fread(paas, sizeof(float ), f_size / sizeof(float ), f); - fclose(f); - Const::logPrint( "Finish loading paa"); -} - -long FADASNode::generateSaxAndPaaTbl(){ - string fn = Const::datafn; - long fs = FileUtil::getFileSize(fn.c_str()); - long series_num = fs / Const::tsLengthBytes; - cout << "Total Series Number is "< 0){ - int num; - if(rest > 400000) num = 400000; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto start = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto end = chrono::system_clock::now(); - SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); - - for(int i=0;i(start - end).count(); - } - - fclose(f); - return series_num; -} - -void FADASNode::getFileNameInsert(const string &index_dir, string &sax_file, string &data_file) const { - sax_file = index_dir; - data_file = index_dir; - if(layer == 1){ - sax_file += "1_"; - data_file += "1_"; - if(partition_id == -1){ - sax_file += to_string(id) + "_sax_L"; - data_file += to_string(id) + "_L"; - }else{ - sax_file += to_string(partition_id) + "_sax"; - data_file += to_string(partition_id); - } - }else{ - sax_file += getFileName() + "_sax"; - if(partition_id == -1) sax_file += "_L"; - data_file += getFileName(); - if(partition_id == -1) data_file += "_L"; - } -} - -long FADASNode::generateSaxTbl(){ - string fn = Const::datafn; - long series_num; - if(Const::series_num == -1) { - long fs = FileUtil::getFileSize(fn.c_str()); - series_num = fs / Const::tsLengthBytes; - }else{ - series_num = Const::series_num; - } - cout << "Total Series Number is "< 0){ - unsigned num; - if(rest > 2000000) num = 2000000; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - - auto start = chrono::system_clock::now(); - fread(tss, sizeof(float),num * Const::tsLength, f); - auto end = chrono::system_clock::now(); - SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); - - for(int i=0;i(start - end).count(); - } - - fclose(f); - return series_num; -} - -void FADASNode::generateSaxTbl(const float*tss, int series_num){ - saxes = new unsigned short[series_num * Const::segmentNum]; - - for(long i = 0; i< series_num;++i) - SaxUtil::saxFromTs(tss + i * Const::tsLength, saxes + i * Const::segmentNum, - Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); - -} - -FADASNode *FADASNode::loadFromDisk(const string &saxfn, const string &idxfn, bool need_sax) { - if(need_sax) - loadSax(saxfn); - ifstream ifs(idxfn, ios::binary); - boost::archive::binary_iarchive ia(ifs); - auto *g = new FADASNode(); - ia >> (*g); - ifs.close(); - return g; -} - -int FADASNode::assignLeafNum() { - if(!isInternalNode()) { - leaf_num = 1; - return 1; - } - - unordered_setvisited; - for(FADASNode* child: children){ - if(child == nullptr || visited.count(child) > 0) continue; - visited.insert(child); - leaf_num += child->assignLeafNum(); - } - - return leaf_num; -} +// +// Created by wzy on 2022/1/13. +// + +#include +#include +#include +#include +#include +//#include "liburing.h" +#include "../../include/DataStructures/FADASNode.h" +#include "../../include/Utils/FileUtil.h" +#include "../../include/Utils/MathUtil.h" +#include "../../include/Utils/TimeSeriesUtil.h" +#include "../../include/DataStructures/SafeHashMap.h" + +unsigned short *FADASNode::saxes = nullptr; +unsigned short **FADASNode::sax_tbl = nullptr; +float *FADASNode::paas = nullptr; +int *** FADASNode::combines = nullptr; +int * FADASNode::combine_num = nullptr; +int FADASNode::a = MathUtil::nChooseK(Const::segmentNum, 1), FADASNode::b = MathUtil::nChooseK(Const::segmentNum, 2), FADASNode::c = MathUtil::nChooseK(Const::segmentNum, 3); +const int FADASNode::power_2[]{1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536}; +extern long SAX_PAA_CPU_TIME , SAX_PAA_READ_TIME ; +extern long LB_SERIES_TIME, HEAP_TIME; +extern double DIST_CALC_TIME,READ_TIME; +static long MAT1_CPU_TIME_STAT = 0, MAT1_CPU_TIME_COPY = 0, MAT1_WRITE_TIME = 0, MAT1_TOTAL_TIME = 0, MAT1_READ_TIME = 0, + MAT2_CPU_TIME = 0, MAT2_WRITE_TIME = 0, MAT2_TOTAL_TIME = 0, SAX_PAA_TOTAL_TIME = 0, MAT2_READ_TIME = 0, + GROW_CPU_TIME = 0, GROW_CPU_TIME_1st = 0, GROW_TOTAL_TIME = 0, WAIT_TIME_1 = 0, WAIT_TIME_2 = 0, + SMALL_FILES_BYTES_WRITE = 0, SMALL_FILES_BYTES_READ = 0, + RAND_READ_CNT = 0, RAND_WRITE_CNT = 0, SEQ_READ_CNT = 0, SEQ_WRITE_CNT = 0, + SAX_WRITE_TIME = 0, SAX_WAIT_TIME = 0; + +void FADASNode::loadCombines(){ + string base = "../combines/" + to_string(Const::segmentNum) + "-"; + auto ret = new int**[Const::segmentNum + 1]; + combine_num = new int[Const::segmentNum]; + ifstream ff("../combines/cnum-"+ to_string(Const::segmentNum) + ".txt", ios::in); + for(int i=0;i> combine_num[i]; + } + ff.close(); + + for(int i=1;i<=Const::segmentNum - 1;++i){ + ret[i] = new int*[combine_num[i]]; + ifstream f(base + to_string(i) + ".txt", ios::in); + for(int j=0;j> ret[i][j][k]; +// cout << ret[i][j][k] << ","; + } +// cout << endl; + } +// cout << endl; + f.close(); + } + ret[Const::segmentNum] = new int*[1]; + ret[Const::segmentNum][0] = new int[Const::segmentNum]; + for(int i=0;iroute(_sax); +} + +FADASNode* FADASNode::routeFuzzySeries(const unsigned short *_sax){ + if(!isInternalNode()) + return this; + int nav_id = SaxUtil::extendSaxFuzzy(_sax, sax, bits_cardinality, chosenSegments); + if(children[nav_id] == nullptr) return this; + return children[nav_id]->routeFuzzySeries(_sax); +} + +void FADASNode::routeDuringInsertion(const unsigned short *_sax, int pos){ + ++size; + if(size > Const::f_high * Const::th * (1 << chosenSegments.size())){ + pos_cache.push_back(pos); + return; + } + if(children.empty()){ + pos_cache.push_back(pos); + return; + } + int nav_id = SaxUtil::extendSax(_sax, bits_cardinality, chosenSegments); + if(children[nav_id] == nullptr){ + children[nav_id] = new FADASNode(this, nav_id, true); + generateSaxAndCardinality(children[nav_id], nav_id); + children[nav_id]->pos_cache.push_back(pos); + } + return children[nav_id]->routeDuringInsertion(_sax, pos); +} + +FADASNode* FADASNode::route1step(const unsigned short *_sax){ + assert(!isLeafNode() && !isLeafPack()); + int nav_id; + if(layer >= 1) + nav_id = SaxUtil::extendSax(_sax, bits_cardinality, chosenSegments); + else + nav_id = SaxUtil::invSaxHeadFromSax(_sax, Const::bitsCardinality, Const::segmentNum); + return children[nav_id]; +} + +extern int _search_num, layer, __layer; +void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, + float *query_reordered, int *ordering) const{ + assert(!isInternalNode()); + if(query_reordered == nullptr || ordering == nullptr) { + search(k, queryTs, heap, index_dir); + return; + } + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + _search_num += size; + string fn = index_dir+ getFileName(); + if(partition_id == -1) fn += "_L"; +// long fs = FileUtil::getFileSize(fn.c_str()); +// int series_num = fs / Const::tsLengthBytes; +// assert(series_num == size); + + FILE *f = fopen(fn.c_str(), "rb"); + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; +// for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); + double dist = TimeSeriesUtil::euclideanDist(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); +// DIST_CALC_TIME += Const::timer_end(&start); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; + fclose(f); +} + +void FADASNode::search_SIMD_reordered(int k, TimeSeries *queryTs, vector &heap, const string &index_dir, + float *query_reordered, int *ordering) const{ + assert(!isInternalNode()); + if(query_reordered == nullptr || ordering == nullptr) { + search(k, queryTs, heap, index_dir); + return; + } + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + _search_num += size; + string fn = index_dir+ getFileName(); + if(partition_id == -1) fn += "_L"; +// long fs = FileUtil::getFileSize(fn.c_str()); +// int series_num = fs / Const::tsLengthBytes; +// assert(series_num == size); + + FILE *f = fopen(fn.c_str(), "rb"); + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; +// for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); + double dist = TimeSeriesUtil::euclideanDist_SIMD(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); +// DIST_CALC_TIME += Const::timer_end(&start); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; + fclose(f); +} + +//#define URING +void FADASNode::search_SIMD(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ + assert(!isInternalNode()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + _search_num += size; + string fn = index_dir+ getFileName(); + if(partition_id == -1) fn += "_L"; + + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; +#ifndef URING + FILE *f = fopen(fn.c_str(), "rb"); + fread(ts, sizeof(float), size * Const::tsLength, f); +#else + io_uring ring{}; + auto ret = io_uring_queue_init(16, &ring, 0); + auto fd = open(fn.c_str(), O_RDONLY); + iovec vec{}; + vec.iov_base = ts; + vec.iov_len = size * Const::tsLength * sizeof(float ); + io_uring_sqe* sqe = io_uring_get_sqe(&ring); + io_uring_prep_read(sqe, fd, ts, size * Const::tsLength * sizeof(float ), 0); + ret = io_uring_submit(&ring); + io_uring_cqe* cqe; + ret = io_uring_wait_cqe(&ring, &cqe); +#endif + READ_TIME += Const::timer_end(&io); + + _search_num += size; ::layer = FADASNode::layer; + for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); + double dist = TimeSeriesUtil::euclideanDist_SIMD(queryTs->ts, ts + i * Const::tsLength, Const::tsLength, bsf); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; +#ifndef URING + fclose(f); +#else + close(fd); + io_uring_queue_exit(&ring); +#endif +} + +vector* FADASNode::search_SIMD(int k, TimeSeries* queryTs, const string &index_dir, double bsf) const{ + string fn = index_dir+ getFileName(); + if(partition_id == -1) fn += "_L"; + auto ret = new vector(); + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; + FILE *f = fopen(fn.c_str(), "rb"); + fread(ts, sizeof(float), size * Const::tsLength, f); + READ_TIME += Const::timer_end(&io); + fclose(f); + + for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); + if(dist < bsf){ + if(ret->size() < k){ + ret->push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); + }else if(dist < (*ret)[0]->dist){ + pop_heap(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); + delete ret->back(); + ret->pop_back(); + ret->push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); + } + } + } + + for(PqItemSeries*s: *ret){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; + sort(ret->begin(), ret->end(), PqItemSeriesMaxHeap()); + return ret; +} + +void FADASNode::search_SIMD_series_prune(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ + assert(!isInternalNode()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + _search_num += size; + string fn = index_dir+ getFileName(); + string saxfn = fn; + if(partition_id == -1) { fn += "_L"; saxfn += "_L";} + + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; +#ifndef URING + FILE *f = fopen(fn.c_str(), "rb"); + fread(ts, sizeof(float), size * Const::tsLength, f); +#else + io_uring ring{}; + auto ret = io_uring_queue_init(16, &ring, 0); + auto fd = open(fn.c_str(), O_RDONLY); +// iovec vec{}; +// vec.iov_base = ts; +// vec.iov_len = size * Const::tsLength * sizeof(float ); + io_uring_sqe* sqe = io_uring_get_sqe(&ring); + io_uring_prep_read(sqe, fd, ts, size * Const::tsLength * sizeof(float ), 0); + ret = io_uring_submit(&ring); + io_uring_cqe* cqe; + ret = io_uring_wait_cqe(&ring, &cqe); +#endif + READ_TIME += Const::timer_end(&io); + + _search_num += size; ::layer = FADASNode::layer; + for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); + double dist = TimeSeriesUtil::euclideanDist_SIMD(queryTs->ts, ts + i * Const::tsLength, Const::tsLength, bsf); +// DIST_CALC_TIME += Const::timer_end(&start); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; +#ifndef URING + fclose(f); +#else + close(fd); + io_uring_queue_exit(&ring); +#endif +} + +void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ + assert(!isInternalNode()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + string fn = index_dir+ getFileName(); + if(partition_id == -1) fn += "_L"; + + FILE *f = fopen(fn.c_str(), "rb"); + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; + fread(ts, sizeof(float), size * Const::tsLength, f); + READ_TIME += Const::timer_end(&io); + + _search_num += size; ::layer = FADASNode::layer; + for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); +// double dist = TimeSeriesUtil::euclideanDist(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); +// DIST_CALC_TIME += Const::timer_end(&start); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; + fclose(f); +} + + +void FADASNode::searchDTW(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ + assert(!isInternalNode()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + string fn = index_dir+ getFileName(); + if(partition_id == -1) fn += "_L"; + + FILE *f = fopen(fn.c_str(), "rb"); + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; + fread(ts, sizeof(float), size * Const::tsLength, f); + READ_TIME += Const::timer_end(&io); + + _search_num += size; ::layer = FADASNode::layer; + for(int i=0;its, ts + i * Const::tsLength, Const::tsLength,Const::dtw_window_size, bsf); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; + fclose(f); +} + +void FADASNode::searchLessPack(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ + assert(!isInternalNode()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + string fn = index_dir+ getFileNamePack(); + +// long fs = FileUtil::getFileSize(fn.c_str()); +// int series_num = fs / Const::tsLengthBytes; +// assert(series_num == size); + + FILE *f = fopen(fn.c_str(), "rb"); + struct timeval io{}; + Const::timer_start(&io); + auto *ts = new float[size * Const::tsLength]; + for(int i=0;its, ts + i * Const::tsLength, Const::tsLength, bsf); +// DIST_CALC_TIME += Const::timer_end(&start); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]ts; + fclose(f); +} + +void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir,unordered_set*hash_set) const{ + assert(!isInternalNode()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + string fn = index_dir+ getFileName(); + + FILE *f = fopen(fn.c_str(), "rb"); + auto *ts = new float[size * Const::tsLength]; + fread(ts, sizeof(float), size * Const::tsLength, f); + + _search_num += size; ::layer = FADASNode::layer; + for(int i=0;ifind(ts + i * Const::tsLength) != hash_set->end()) continue; + double dist = TimeSeriesUtil::euclideanDist(queryTs->ts, ts + i * Const::tsLength, Const::tsLength, bsf); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + hash_set->insert(ts + i * Const::tsLength); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + hash_set->erase(heap.back()->ts); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + hash_set->insert(ts + i * Const::tsLength); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) { + hash_set->erase(s->ts); + s->copyData(); + hash_set->insert(s->ts); + } + } + delete[]ts; + fclose(f); +} + +void FADASNode::search(int k, TimeSeries *queryTs, vector &heap, const string &index_dir,unordered_set*hash_set, + float *query_reordered, int *ordering) const{ + assert(!isInternalNode()); + if(query_reordered == nullptr || ordering == nullptr) { + search(k, queryTs, heap, index_dir, hash_set); + return; + } + + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + string fn = index_dir+ getFileName(); + + FILE *f = fopen(fn.c_str(), "rb"); + auto *ts = new float[size * Const::tsLength]; + fread(ts, sizeof(float), size * Const::tsLength, f); + + _search_num += size; ::layer = FADASNode::layer; + for(int i=0;ifind(ts + i * Const::tsLength) != hash_set->end()) continue; + double dist = TimeSeriesUtil::euclideanDist(query_reordered, ts + i * Const::tsLength, Const::tsLength, bsf, ordering); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + hash_set->insert(ts + i * Const::tsLength); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + hash_set->erase(heap.back()->ts); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(ts + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + hash_set->insert(ts + i * Const::tsLength); + } + + if(heap.size() >= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) { + hash_set->erase(s->ts); + s->copyData(); + hash_set->insert(s->ts); + } + } + delete[]ts; + fclose(f); +} + +void FADASNode::search_offset(int k, TimeSeries *queryTs, vector &heap, const string &index_dir) const{ + assert(!isInternalNode()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + string fn = index_dir+ getFileName(); + FILE *f = fopen(fn.c_str(), "rb"); + auto *tss = new float[size * (Const::tsLength + 1)]; + struct timeval io{}; + Const::timer_start(&io); +// for(int i=0;i= k) { + int offset = *((int *) (tss + (i + 1) * (Const::tsLength + 1) - 1)); +// auto st = chrono::system_clock::now(); + double lb = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, saxes + offset * Const::segmentNum); +// auto en = chrono::system_clock::now(); +// LB_SERIES_TIME += chrono::duration_cast(en - st).count(); + if (lb >= bsf) continue; + } + _search_num++; + struct timeval start{}; + Const::timer_start(&start); + double dist = TimeSeriesUtil::euclideanDist(queryTs->ts, tss + i * (Const::tsLength + 1), Const::tsLength, bsf); + DIST_CALC_TIME += Const::timer_end(&start); + + if(heap.size() < k){ + heap.push_back(new PqItemSeries(tss + i * (Const::tsLength + 1), dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(tss + i * (Const::tsLength + 1), dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + + if(heap.size() >= k) bsf = heap[0]->dist; +// s = chrono::system_clock::now(); +// HEAP_TIME += chrono::duration_cast(s - e).count();; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } + delete[]tss; + fclose(f); + +} + +// put actual series into disk file of nodes in 1st layer +void materialize1stLayer(string datafn, FADASNode* root, int *navids, string index_dir){ + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_mapfbl; + + RAND_READ_CNT++; + SEQ_READ_CNT += rest; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + fbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + // statistic the size of each node fbl size, and allocate memory for them + for(long i=cur;ichildren[navids[i]]].size++; + for(auto &iter:fbl) + iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; + end = chrono::system_clock::now(); + MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); + + //copy series to node to ensure write is only called once upon a node fbl + for(long i = cur; ichildren[navids[i]]]; + copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); + } + start = chrono::system_clock::now(); + MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); + + start = chrono::system_clock::now(); + // write series in order to node file from node fbl + for(auto & iter:fbl){ + string outfile = index_dir ; + int id= iter.first->id; + if(iter.first->partition_id == -1) + outfile += "U_" + to_string(iter.first->id); + else + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); + FILE *outf = fopen(outfile.c_str(), "a"); + + RAND_WRITE_CNT++; + SEQ_WRITE_CNT += iter.second.size; +// long bytes = iter.second.size * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + + fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); + fclose(outf); + delete[]iter.second.buffer; + } + end = chrono::system_clock::now(); + MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); + + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +// put actual series into disk file of nodes in 1st layer +void materialize1stLayerWithSax(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ + auto start_sax = chrono::system_clock::now(); + Const::logPrint("Start move sax to disk file in 1st layer."); + unordered_setvisited; + for(auto &child:root->children){ + if(child == nullptr || child->size > Const::th || visited.contains(child)) continue; + visited.insert(child); + long symbol_num = (long)child->size * Const::segmentNum; + auto to_write = new unsigned short[symbol_num]; + + for(int i=0;i< child->offsets.size();++i){ + long offset =child->offsets[i]; + copy(sax_tbl + offset * Const::segmentNum, sax_tbl + (offset + 1) * Const::segmentNum, to_write + i * Const::segmentNum); + } + string outfile = index_dir + "1_"; + if(child->partition_id == -1) + outfile += to_string(child->id) + "_sax_L"; + else + outfile += to_string(child->partition_id) + "_sax"; + FILE *outf = fopen(outfile.c_str(), "wb"); + fwrite(to_write, sizeof(unsigned short), symbol_num,outf); + fclose(outf); + delete[] to_write; + vector().swap(child->offsets); + } + unordered_set().swap(visited); + auto end_sax = chrono::system_clock::now(); + SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); + + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_mapfbl; + + RAND_READ_CNT++; + SEQ_READ_CNT += rest; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + fbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + // statistic the size of each node fbl size, and allocate memory for them + for(long i=cur;ichildren[navids[i]]].size++; + for(auto &iter:fbl) + iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; + end = chrono::system_clock::now(); + MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); + + //copy series to node to ensure write is only called once upon a node fbl + for(long i = cur; ichildren[navids[i]]]; + copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); + } + start = chrono::system_clock::now(); + MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); + + start = chrono::system_clock::now(); + // write series in order to node file from node fbl + for(auto & iter:fbl){ + string outfile = index_dir ; + int id= iter.first->id; + if(iter.first->size > Const::th) + outfile += "U_" + to_string(iter.first->id); + else if(iter.first->partition_id != -1) + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); + else + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->id) + "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + + RAND_WRITE_CNT++; + SEQ_WRITE_CNT += iter.second.size; +// long bytes = iter.second.size * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + + fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); + fclose(outf); + delete[]iter.second.buffer; + } + end = chrono::system_clock::now(); + MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); + + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +void materialize1stLayerWithSaxOnlyLeaf(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ + auto start_sax = chrono::system_clock::now(); + Const::logPrint("Start move sax to disk file in 1st layer."); + unordered_setvisited; + for(auto &child:root->children){ + if(child == nullptr || child->size > Const::th || visited.contains(child)) continue; + visited.insert(child); + long symbol_num = (long)child->size * Const::segmentNum; + auto to_write = new unsigned short[symbol_num]; + + for(int i=0;i< child->offsets.size();++i){ + long offset =child->offsets[i]; + copy(sax_tbl + offset * Const::segmentNum, sax_tbl + (offset + 1) * Const::segmentNum, to_write + i * Const::segmentNum); + } + string outfile = index_dir + "1_"; + if(child->partition_id == -1) + outfile += to_string(child->id) + "_sax_L"; + else + outfile += to_string(child->partition_id) + "_sax"; + FILE *outf = fopen(outfile.c_str(), "wb"); + fwrite(to_write, sizeof(unsigned short), symbol_num,outf); + fclose(outf); + delete[] to_write; + vector().swap(child->offsets); + } + unordered_set().swap(visited); + auto end_sax = chrono::system_clock::now(); + SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); + + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_mapfbl; + unsigned tss_size = Const::fbl_series_num * Const::tsLength; + auto *tss = new float[tss_size]; + + RAND_READ_CNT++; + SEQ_READ_CNT += rest; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + fbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + // statistic the size of each node fbl size, and allocate memory for them + for(long i=cur;ichildren[navids[i]]->size <= Const::th) + fbl[root->children[navids[i]]].size++; + for(auto &iter:fbl) + iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; + end = chrono::system_clock::now(); + MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); + + //copy series to node to ensure write is only called once upon a node fbl + for(long i = cur; ichildren[navids[i]]->size > Const::th) continue; + FBL_UNIT* fbl_node = &fbl[root->children[navids[i]]]; + copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); + } + start = chrono::system_clock::now(); + MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); + + start = chrono::system_clock::now(); + // write series in order to node file from node fbl + for(auto & iter:fbl){ + string outfile = index_dir ; + int id= iter.first->id; + assert(iter.first->size <= Const::th); + if(iter.first->partition_id != -1) + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); + else + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->id) + "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + + RAND_WRITE_CNT++; + SEQ_WRITE_CNT += iter.second.size; +// long bytes = iter.second.size * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + + fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); + fclose(outf); + delete[]iter.second.buffer; + } + end = chrono::system_clock::now(); + MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); + + rest-=num; + cur += num; + Const::logPrint("Now Materialize leaves in the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); + + } + + fclose(f); + delete[]tss; + auto end_t = chrono::system_clock::now(); + MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +void materialize1stLayerWithSaxOnlyLeaf2(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short**sax_tbl){ + auto start_sax = chrono::system_clock::now(); + Const::logPrint("Start move sax to disk file in 1st layer."); + unordered_setvisited; + for(auto &child:root->children){ + if(child == nullptr || child->size > Const::th || visited.contains(child)) continue; + visited.insert(child); + long symbol_num = (long)child->size * Const::segmentNum; + auto to_write = new unsigned short[symbol_num]; + + for(int i=0;i< child->offsets.size();++i){ + long offset =child->offsets[i]; + copy(sax_tbl[offset], sax_tbl[offset] + Const::segmentNum, to_write + i * Const::segmentNum); + } + string outfile = index_dir + "1_"; + if(child->partition_id == -1) + outfile += to_string(child->id) + "_sax_L"; + else + outfile += to_string(child->partition_id) + "_sax"; + FILE *outf = fopen(outfile.c_str(), "wb"); + fwrite(to_write, sizeof(unsigned short), symbol_num,outf); + fclose(outf); + delete[] to_write; + vector().swap(child->offsets); + } + unordered_set().swap(visited); + auto end_sax = chrono::system_clock::now(); + SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); + + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_mapfbl; + unsigned tss_size = Const::fbl_series_num * Const::tsLength; + auto *tss = new float[tss_size]; + + RAND_READ_CNT++; + SEQ_READ_CNT += rest; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + fbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + // statistic the size of each node fbl size, and allocate memory for them + for(long i=cur;ichildren[navids[i]]->size <= Const::th) + fbl[root->children[navids[i]]].size++; + for(auto &iter:fbl) + iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; + end = chrono::system_clock::now(); + MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); + + //copy series to node to ensure write is only called once upon a node fbl + for(long i = cur; ichildren[navids[i]]->size > Const::th) continue; + FBL_UNIT* fbl_node = &fbl[root->children[navids[i]]]; + copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); + } + start = chrono::system_clock::now(); + MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); + + start = chrono::system_clock::now(); + // write series in order to node file from node fbl + for(auto & iter:fbl){ + string outfile = index_dir ; + int id= iter.first->id; + assert(iter.first->size <= Const::th); + if(iter.first->partition_id != -1) + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); + else + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->id) + "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + + RAND_WRITE_CNT++; + SEQ_WRITE_CNT += iter.second.size; +// long bytes = iter.second.size * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + + fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); + fclose(outf); + delete[]iter.second.buffer; + } + end = chrono::system_clock::now(); + MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); + + rest-=num; + cur += num; + Const::logPrint("Now Materialize leaves in the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); + + } + + fclose(f); + delete[]tss; + auto end_t = chrono::system_clock::now(); + MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + + +void materializaSAX(unordered_set&leaves){ + for(auto & leave : leaves){ + if(leave->layer == 1) continue; + vector&sax_buf = leave->sax_buffer; + FADASNode* node = leave; + string outfile = Const::fidxfn + node->getFileName() + "_sax"; + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "wb"); + fwrite(sax_buf.data(), sizeof(unsigned short ), sax_buf.size(), outf); + fclose(outf); + } +} + +struct node_dat_buf{ + mutex *m{}; + vector*dat_buf{}; + + node_dat_buf(mutex *_m, vector*buf): m(_m), dat_buf(buf) {;} + ~node_dat_buf(){delete m; delete dat_buf;} +}; + +void routingWork(unordered_map>*lbl, const float *tss, unsigned num, + unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root){ + for(unsigned i = cur; i < cur + num; ++i){ + if(root->children[navids[i]]->size <= Const::th) continue; + FADASNode* node = root->route(sax_tbl + i * Const::segmentNum); + copy(tss + (i - cur) * Const::tsLength, tss + (i - cur + 1) * Const::tsLength, + back_insert_iterator>((*lbl)[node])); + } +} + + +//todo: check this and test performance +void routingWorkLock(SafeHashMap*lbl, const float *tss, unsigned num, + unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root, vector*new_bufs){ + node_dat_buf *_; + for(unsigned i = cur; i < cur + num; ++i){ + if(root->children[navids[i]]->size <= Const::th) continue; + FADASNode* node = root->route(sax_tbl + i * Const::segmentNum); + bool found = lbl->find(node, _); + if(found){ + lock_guard g(*(_->m)); + copy(tss + (i - cur) * Const::tsLength, tss + (i - cur + 1) * Const::tsLength, + back_insert_iterator>(*(_->dat_buf))); + }else{ + auto new_one = new node_dat_buf(new mutex(), new vector()); + lbl->insert(node, new_one); + new_bufs->push_back(new_one); + { + lock_guard g(*(new_one->m)); + copy(tss + (i - cur) * Const::tsLength, tss + (i - cur + 1) * Const::tsLength, + back_insert_iterator>(*(new_one->dat_buf))); + } + } + } +} + +void coordinateWork(unordered_map>*lbl, const float *tss, unsigned num, + unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root){ + unsigned batch = num / (Const::thread_num); + vectorworkers; + auto start = chrono::system_clock::now(); + vector>>lbls(Const::thread_num - 1); + for(int i = 0 ; i < Const::thread_num - 1; ++i) + workers.emplace_back(routingWork, &lbls[i], tss + i * batch * Const::tsLength, batch, cur + i * batch, sax_tbl, + navids, root); + routingWork(lbl, tss + (Const::thread_num - 1) * batch * Const::tsLength, num - (Const::thread_num - 1) * batch, + cur + (Const::thread_num - 1) * batch, sax_tbl, navids, root); + for(int i = 0; i < Const::thread_num - 1; ++i) + workers[i].join(); + auto end = chrono::system_clock::now(); + LB_SERIES_TIME += chrono::duration_cast(end - start).count(); + + + for(int i = 0; i < Const::thread_num -1; ++i){ + lbl->merge(lbls[i]); + for(auto &[node, vec]: lbls[i]){ + unsigned prev_size = (*lbl)[node].size(); + (*lbl)[node].resize(prev_size + vec.size()); + move(vec.begin(), vec.end(), (*lbl)[node].begin() + prev_size); + } + } + start = chrono::system_clock::now(); + HEAP_TIME += chrono::duration_cast(start - end).count(); +} + +void coordinateWorkLock(SafeHashMap*lbl, const float *tss, unsigned num, + unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root, vector*new_buf){ + unsigned batch = num / (Const::thread_num); + vectorworkers; + vector>new_bufs(Const::thread_num - 1); + auto start = chrono::system_clock::now(); + for(int i = 0 ; i < Const::thread_num - 1; ++i) + workers.emplace_back(routingWorkLock, lbl, tss + i * batch * Const::tsLength, batch, cur + i * batch, sax_tbl, + navids, root, &new_bufs[i]); + routingWorkLock(lbl, tss + (Const::thread_num - 1) * batch * Const::tsLength, num - (Const::thread_num - 1) * batch, + cur + (Const::thread_num - 1) * batch, sax_tbl, navids, root, new_buf); + for(int i = 0; i < Const::thread_num - 1; ++i) + workers[i].join(); + for(int i = 0 ; i < Const::thread_num - 1; ++i) + copy(new_bufs[i].begin(), new_bufs[i].end(), back_insert_iterator>(*new_buf)); + auto end = chrono::system_clock::now(); + LB_SERIES_TIME += chrono::duration_cast(end - start).count(); +} + +atomicbuf_1_processed, buf_2_start, buf_2_finished, buf_1_finished; + +void routingWorkerInMaterialization(unordered_map>*lbl1, const float *tss1, unsigned num, + unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root, + const float *tss2,unordered_map>*lbl2, unsigned num2, + unsigned num3){ + coordinateWork(lbl1, tss1, num, cur, sax_tbl, navids, root); + buf_1_processed = true; + cur += num; + while(!buf_2_start); + coordinateWork(lbl2, tss2, num2, cur, sax_tbl, navids, root); + cur += num2; + while(!buf_2_finished); + coordinateWork(lbl2, tss2 + num2 * Const::tsLength, num3, cur, sax_tbl, navids, root); +} + +void routingWorkerInMaterializationSlowWrite(unordered_map>*lbl1, const float *tss1, unsigned num, + unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root, + const float *tss2,unordered_map>*lbl2, unsigned num2, + unsigned num3){ + coordinateWork(lbl1, tss1, num, cur, sax_tbl, navids, root); + cur += num; + while(!buf_1_finished); + coordinateWork(lbl1, tss1 + num * Const::tsLength, num2, cur, sax_tbl, navids, root); + buf_1_processed = true; + cur += num2; + while(!buf_2_finished); + coordinateWork(lbl2, tss2, num3, cur, sax_tbl, navids, root); +} + +void routingWork2(unordered_map>*lbl, const float *tss, unsigned num, + unsigned cur, unsigned short**sax_tbl, int *navids, FADASNode* root){ + for(unsigned i = cur; i < cur + num; ++i){ + if(root->children[navids[i]]->size <= Const::th) continue; + FADASNode* node = root->route(sax_tbl[i]); + copy(tss + (i - cur) * Const::tsLength, tss + (i - cur + 1) * Const::tsLength, + back_insert_iterator>((*lbl)[node])); + } +} + +void coordinateWork2(unordered_map>*lbl, const float *tss, unsigned num, + unsigned cur, unsigned short**sax_tbl, int *navids, FADASNode* root){ + int worker_num = min(1, Const::thread_num); + unsigned batch = num / (worker_num); + vectorworkers; + auto start = chrono::system_clock::now(); + vector>>lbls(worker_num - 1); + for(int i = 0 ; i < worker_num - 1; ++i) + workers.emplace_back(routingWork2, &lbls[i], tss + i * batch * Const::tsLength, batch, cur + i * batch, sax_tbl, + navids, root); + routingWork2(lbl, tss + (worker_num - 1) * batch * Const::tsLength, num - (worker_num - 1) * batch, + cur + (worker_num - 1) * batch, sax_tbl, navids, root); + for(int i = 0; i < worker_num - 1; ++i) + workers[i].join(); + auto end = chrono::system_clock::now(); + LB_SERIES_TIME += chrono::duration_cast(end - start).count(); + + + for(int i = 0; i < worker_num -1; ++i){ + lbl->merge(lbls[i]); + for(auto &[node, vec]: lbls[i]){ + unsigned prev_size = (*lbl)[node].size(); + (*lbl)[node].resize(prev_size + vec.size()); + move(vec.begin(), vec.end(), (*lbl)[node].begin() + prev_size); + } + } + start = chrono::system_clock::now(); + HEAP_TIME += chrono::duration_cast(start - end).count(); +} + +void routingWorkerInMaterializationSlowWrite2(unordered_map>*lbl1, const float *tss1, unsigned num, + unsigned cur, unsigned short**sax_tbl, int *navids, FADASNode* root, + const float *tss2,unordered_map>*lbl2, unsigned num2, + unsigned num3){ + coordinateWork2(lbl1, tss1, num, cur, sax_tbl, navids, root); + cur += num; + while(!buf_1_finished); + coordinateWork2(lbl1, tss1 + num * Const::tsLength, num2, cur, sax_tbl, navids, root); + buf_1_processed = true; + cur += num2; + while(!buf_2_finished); + coordinateWork2(lbl2, tss2, num3, cur, sax_tbl, navids, root); +} + + +void routingWorkerInMaterializationSlowWrite3(unordered_map>*lbl1, const float *tss1, unsigned num, + unsigned cur, unsigned short**sax_tbl, int *navids, FADASNode* root, + const float *tss2,unordered_map>*lbl2, unsigned num2){ + auto start = chrono::system_clock::now(); + coordinateWork2(lbl1, tss1, num, cur, sax_tbl, navids, root); + cur += num; + buf_1_processed = true; + while(!buf_2_finished); + coordinateWork2(lbl2, tss2, num2, cur, sax_tbl, navids, root); + auto end = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); +} + +void routingWorkerInMaterializationSlowWriteLock(SafeHashMap*lbl1, const float *tss1, unsigned num, + unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root, + const float *tss2, SafeHashMap*lbl2, unsigned num2, + unsigned num3, vector*new_buf){ + coordinateWorkLock(lbl1, tss1, num, cur, sax_tbl, navids, root, new_buf); + cur += num; + while(!buf_1_finished); + coordinateWorkLock(lbl1, tss1 + num * Const::tsLength, num2, cur, sax_tbl, navids, root, new_buf); + buf_1_processed = true; + cur += num2; + while(!buf_2_finished); + coordinateWorkLock(lbl2, tss2, num3, cur, sax_tbl, navids, root, new_buf); +} + + +//void routingWorkParWrite(unordered_map>*lbl, const float *tss, unsigned num, +// unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root){ +// for(unsigned i = cur; i < cur + num; ++i){ +// if(root->children[navids[i]]->size <= Const::th) continue; +// FADASNode* node = root->route(sax_tbl + i * Const::segmentNum); +// copy(tss + (i - cur) * Const::tsLength, tss + (i - cur + 1) * Const::tsLength, +// back_insert_iterator>((*lbl)[node])); +// } +//} +//void coordinateWorkParWrite(vector>>*lbls, const float *tss, unsigned num, +// unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root){ +// unsigned batch = num / (Const::thread_num); +// vectorworkers; +// auto start = chrono::system_clock::now(); +// for(int i = 0 ; i < Const::thread_num - 1; ++i) +// workers.emplace_back(routingWorkParWrite, &((*lbls)[i+1]), tss + i * batch * Const::tsLength, batch, cur + i * batch, sax_tbl, +// navids, root); +// routingWork(&((*lbls)[0]), tss + (Const::thread_num - 1) * batch * Const::tsLength, num - (Const::thread_num - 1) * batch, +// cur + (Const::thread_num - 1) * batch, sax_tbl, navids, root); +// for(int i = 0; i < Const::thread_num - 1; ++i) +// workers[i].join(); +// auto end = chrono::system_clock::now(); +// LB_SERIES_TIME += chrono::duration_cast(end - start).count(); +//} +//void routingWorkerInMaterializationSlowWriteParWrite(vector>>*lbls1, const float *tss1, unsigned num, +// unsigned cur, unsigned short*sax_tbl, int *navids, FADASNode* root, +// const float *tss2,unordered_map>*lbl2, unsigned num2, +// unsigned num3){ +// coordinateWorkParWrite(lbl1, tss1, num, cur, sax_tbl, navids, root); +// cur += num; +// while(!buf_1_finished); +// coordinateWork(lbl1, tss1 + num * Const::tsLength, num2, cur, sax_tbl, navids, root); +// buf_1_processed = true; +// cur += num2; +// while(!buf_2_finished); +// coordinateWork(lbl2, tss2, num3, cur, sax_tbl, navids, root); +//} + +// When read is slower than write +void materializeAllLeavesParallel(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ + auto start_t = chrono::system_clock::now(), start = chrono::system_clock::now(), end = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in the deep layers."); + FILE *f = fopen(datafn.c_str(), "r"); + unsigned rest = root->size, total = root->size, cur = 0; + unordered_map>lbl1,lbl2; + unsigned buf_num = Const::fbl_series_num / 2; + unsigned num1, num2; + auto tss1 = new float [buf_num * Const::tsLength]; + auto tss2 = new float [buf_num * Const::tsLength]; + thread* routing_worker; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + lbl1.clear(); lbl2.clear(); + buf_1_processed = false; buf_2_start = false; buf_2_finished = false; + num1 = rest > buf_num ? buf_num : rest; + start = chrono::system_clock::now(); + fread(tss1, sizeof(float),num1 * Const::tsLength, f); + end = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(end - start).count(); + + rest -= num1; + num2 = rest > buf_num ? buf_num : rest; + unsigned num2_1 = num2 * 0.6; + routing_worker = new thread(routingWorkerInMaterialization, &lbl1, tss1, num1, cur, sax_tbl, navids, root, + tss2, &lbl2, num2_1, num2 - num2_1); + + cur += num1; + start = chrono::system_clock::now(); + fread(tss2, sizeof(float),num2_1 * Const::tsLength, f); + buf_2_start = true; + fread(tss2 + num2_1 * Const::tsLength, sizeof(float), (num2 - num2_1) * Const::tsLength, f); + buf_2_finished = true; + end = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(end - start).count(); + +// routing_worker->join(); + while(!buf_1_processed) ; + start = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); + WAIT_TIME_1 += chrono::duration_cast(start - end).count(); + + rest -= num2; + cur += num2; + + start = chrono::system_clock::now(); + for(auto &[node, data_buf] : lbl1){ + string outfile = Const::fidxfn + node->getFileName(); + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + fwrite(data_buf.data(), sizeof(float ), data_buf.size(), outf); + fclose(outf); + } + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + routing_worker->join(); + start = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); + WAIT_TIME_2 += chrono::duration_cast(start - end).count(); + + for(auto &[node, data_buf] : lbl2){ + string outfile = Const::fidxfn + node->getFileName(); + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + fwrite(data_buf.data(), sizeof(float ), data_buf.size(), outf); + fclose(outf); + } + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + Const::logPrint("Now Materialize all leaves below the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +// When write is slower than read +void materializeAllLeavesParallelSlowWrite(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ + auto start_t = chrono::system_clock::now(), start = chrono::system_clock::now(), end = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in the deep layers."); + FILE *f = fopen(datafn.c_str(), "r"); + unsigned rest = root->size, total = root->size, cur = 0; + unordered_map>lbl1,lbl2; + unsigned buf_num = Const::fbl_series_num / 2; + unsigned num1, num2; + auto tss1 = new float [buf_num * Const::tsLength]; + auto tss2 = new float [buf_num * Const::tsLength]; + thread* routing_worker; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + lbl1.clear(); lbl2.clear(); + buf_1_processed = false; buf_2_finished = false; buf_1_finished = false; + num1 = rest > buf_num ? buf_num : rest; + unsigned num1_1 = num1 * 0.5; + rest -= num1; + num2 = rest > buf_num ? buf_num : rest; + start = chrono::system_clock::now(); + fread(tss1, sizeof(float),num1_1 * Const::tsLength, f); + routing_worker = new thread(routingWorkerInMaterializationSlowWrite, &lbl1, tss1, num1_1, cur, sax_tbl, navids, root, + tss2, &lbl2, num1 - num1_1, num2); + fread(tss1 + num1_1 * Const::tsLength, sizeof(float), (num1 - num1_1) * Const::tsLength, f); + buf_1_finished = true; + end = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(end - start).count(); + + cur += num1; + start = chrono::system_clock::now(); + fread(tss2, sizeof(float),num2 * Const::tsLength, f); + buf_2_finished = true; + end = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(end - start).count(); + + while(!buf_1_processed) ; + start = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); + WAIT_TIME_1 += chrono::duration_cast(start - end).count(); + + rest -= num2; + cur += num2; + + start = chrono::system_clock::now(); + for(auto &[node, data_buf] : lbl1){ + string outfile = Const::fidxfn + node->getFileName(); + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + fwrite(data_buf.data(), sizeof(float ), data_buf.size(), outf); + fclose(outf); + } + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + routing_worker->join(); + start = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); + WAIT_TIME_2 += chrono::duration_cast(start - end).count(); + + for(auto &[node, data_buf] : lbl2){ + string outfile = Const::fidxfn + node->getFileName(); + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + fwrite(data_buf.data(), sizeof(float ), data_buf.size(), outf); + fclose(outf); + } + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + Const::logPrint("Now Materialize all leaves below the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +atomiccur; +void writeWorker(unordered_map>* lbl, vector*nodes, int size){ + FADASNode* node; + FILE* outf; + string outfile; + while(true){ + int i = cur.fetch_add(1); + if(i >= size) break; + node = (*nodes)[i]; + vector&dat_buf = (*lbl)[node]; + + outfile = Const::fidxfn + node->getFileName(); + if(node->partition_id == -1) outfile += "_L"; + outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + fwrite(dat_buf.data(), sizeof(float ), dat_buf.size(), outf); + fclose(outf); + } +} + +//void writeWorkerLock(unordered_map* lbl, vector*nodes, int size){ +// FADASNode* node; +// FILE* outf; +// string outfile; +// while(true){ +// int i = cur.fetch_add(1); +// if(i >= size) break; +// node = (*nodes)[i]; +// outfile = Const::fidxfn + node->getFileName(); +// if(node->partition_id == -1) outfile += "_L"; +// +// auto& dat_buf = (*lbl)[node]; +// RAND_WRITE_CNT++; +// +// { +// lock_guard g(dat_buf->m); +// outf = fopen(outfile.c_str(), "a"); +// fwrite(dat_buf->dat_buf->data(), sizeof(float), dat_buf->dat_buf->size(), outf); +// fclose(outf); +// } +// } +//} + +void coordinateWriteWork(unordered_map>& lbl){ + vectornodes; + nodes.reserve(lbl.size()); + for(auto &[node, _] : lbl) + nodes.push_back(node); + cur = 0; + vectorthreads; + for(int i = 0; i < Const::thread_num - 1; ++i) + threads.emplace_back(writeWorker, &lbl, &nodes, lbl.size()); + writeWorker(&lbl, &nodes, lbl.size()); + for(int i = 0; i < Const::thread_num - 1; ++i) + threads[i].join(); +} + +//void coordinateWriteWorkLock(unordered_map& lbl){ +// vectornodes; +// nodes.reserve(lbl.size()); +// for(auto &[node, _] : lbl) +// nodes.push_back(node); +// cur = 0; +// vectorthreads; +// for(int i = 0; i < Const::thread_num - 1; ++i) +// threads.emplace_back(writeWorkerLock, &lbl, &nodes, lbl.size()); +// writeWorkerLock(&lbl, &nodes, lbl.size()); +// for(int i = 0; i < Const::thread_num - 1; ++i) +// threads[i].join(); +//} + +void materializeAllLeavesParallelSlowWriteParWrite(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ + auto start_t = chrono::system_clock::now(), start = chrono::system_clock::now(), end = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in the deep layers."); + FILE *f = fopen(datafn.c_str(), "r"); + unsigned rest = root->size, total = root->size, cur = 0; + unordered_map>lbl1,lbl2; + unsigned buf_num = Const::fbl_series_num / 2; + unsigned num1, num2; + auto tss1 = new float [buf_num * Const::tsLength]; + auto tss2 = new float [buf_num * Const::tsLength]; + thread* routing_worker; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + lbl1.clear(); lbl2.clear(); + buf_1_processed = false; buf_2_finished = false; buf_1_finished = false; + num1 = rest > buf_num ? buf_num : rest; + unsigned num1_1 = num1 * 0.5; + rest -= num1; + num2 = rest > buf_num ? buf_num : rest; + start = chrono::system_clock::now(); + fread(tss1, sizeof(float),num1_1 * Const::tsLength, f); + routing_worker = new thread(routingWorkerInMaterializationSlowWrite, &lbl1, tss1, num1_1, cur, sax_tbl, navids, root, + tss2, &lbl2, num1 - num1_1, num2); + fread(tss1 + num1_1 * Const::tsLength, sizeof(float), (num1 - num1_1) * Const::tsLength, f); + buf_1_finished = true; + end = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(end - start).count(); + + cur += num1; + start = chrono::system_clock::now(); + fread(tss2, sizeof(float),num2 * Const::tsLength, f); + buf_2_finished = true; + end = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(end - start).count(); + + while(!buf_1_processed) ; + start = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); + WAIT_TIME_1 += chrono::duration_cast(start - end).count(); + + rest -= num2; + cur += num2; + + start = chrono::system_clock::now(); + coordinateWriteWork(lbl1); + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + routing_worker->join(); + start = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); + WAIT_TIME_2 += chrono::duration_cast(start - end).count(); + + coordinateWriteWork(lbl2); + + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + Const::logPrint("Now Materialize all leaves in the deep layers. Progress: " + + to_string((double)cur / (double)total * 100) + "%"); + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +void materializeAllLeavesParallelSlowWriteParWrite2(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short**sax_tbl){ + auto start_t = chrono::system_clock::now(), start = chrono::system_clock::now(), end = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in the deep layers."); + FILE *f = fopen(datafn.c_str(), "r"); + unsigned rest = root->size, total = root->size, cur = 0; + unordered_map>lbl1,lbl2; + unsigned buf_num[2]; + buf_num[0] = Const::fbl_series_num * 0.35; buf_num[1] = Const::fbl_series_num - buf_num[0]; + unsigned num1, num2; + auto tss1 = new float [buf_num[0] * Const::tsLength]; + auto tss2 = new float [buf_num[1] * Const::tsLength]; + thread* routing_worker; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + lbl1.clear(); lbl2.clear(); + buf_1_processed = false; buf_2_finished = false; + num1 = rest > buf_num[0] ? buf_num[0] : rest; + rest -= num1; + num2 = rest > buf_num[1] ? buf_num[1] : rest; + start = chrono::system_clock::now(); + fread(tss1, sizeof(float),num1 * Const::tsLength, f); + routing_worker = new thread(routingWorkerInMaterializationSlowWrite3, &lbl1, tss1, num1, cur, sax_tbl, navids, root, + tss2, &lbl2, num2); + fread(tss2, sizeof(float), num2 * Const::tsLength, f); + end = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(end - start).count(); + + cur += num1; + buf_2_finished = true; + + while(!buf_1_processed) ; + start = chrono::system_clock::now(); + WAIT_TIME_1 += chrono::duration_cast(start - end).count(); + + rest -= num2; + cur += num2; + + start = chrono::system_clock::now(); + coordinateWriteWork(lbl1); + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + routing_worker->join(); + start = chrono::system_clock::now(); + WAIT_TIME_2 += chrono::duration_cast(start - end).count(); + + coordinateWriteWork(lbl2); + + end = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); + + Const::logPrint("Now Materialize all leaves in the deep layers. Progress: " + + to_string((double)cur / (double)total * 100) + "%"); + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + + +//void materializeAllLeavesParallelSlowWriteParWriteLock(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ +// auto start_t = chrono::system_clock::now(), start = chrono::system_clock::now(), end = chrono::system_clock::now(); +// Const::logPrint("Start move data to disk file in the deep layers."); +// FILE *f = fopen(datafn.c_str(), "r"); +// unsigned rest = root->size, total = root->size, cur = 0; +// SafeHashMaplbl1,lbl2; +// unsigned buf_num = Const::fbl_series_num / 2; +// unsigned num1, num2; +// auto tss1 = new float [buf_num * Const::tsLength]; +// auto tss2 = new float [buf_num * Const::tsLength]; +// thread* routing_worker; +// vectornew_buf; +// +// // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. +// // This may incur many write calls. +// while(rest > 0){ +// for(auto*_:new_buf) delete _; +// lbl1.clear(); lbl2.clear(); +// buf_1_processed = false; buf_2_finished = false; buf_1_finished = false; +// num1 = rest > buf_num ? buf_num : rest; +// unsigned num1_1 = num1 * 0.5; +// rest -= num1; +// num2 = rest > buf_num ? buf_num : rest; +// start = chrono::system_clock::now(); +// fread(tss1, sizeof(float),num1_1 * Const::tsLength, f); +// routing_worker = new thread(routingWorkerInMaterializationSlowWriteLock, &lbl1, tss1, num1_1, cur, sax_tbl, navids, root, +// tss2, &lbl2, num1 - num1_1, num2, &new_buf); +// fread(tss1 + num1_1 * Const::tsLength, sizeof(float), (num1 - num1_1) * Const::tsLength, f); +// buf_1_finished = true; +// end = chrono::system_clock::now(); +// MAT2_READ_TIME += chrono::duration_cast(end - start).count(); +// +// cur += num1; +// start = chrono::system_clock::now(); +// fread(tss2, sizeof(float),num2 * Const::tsLength, f); +// buf_2_finished = true; +// end = chrono::system_clock::now(); +// MAT2_READ_TIME += chrono::duration_cast(end - start).count(); +// +// while(!buf_1_processed) ; +// start = chrono::system_clock::now(); +// MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); +// WAIT_TIME_1 += chrono::duration_cast(start - end).count(); +// +// rest -= num2; +// cur += num2; +// +// start = chrono::system_clock::now(); +// coordinateWriteWorkLock(lbl1); +// end = chrono::system_clock::now(); +// MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); +// +// routing_worker->join(); +// start = chrono::system_clock::now(); +// MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); +// WAIT_TIME_2 += chrono::duration_cast(start - end).count(); +// +// coordinateWriteWorkLock(lbl2); +// +// end = chrono::system_clock::now(); +// MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); +// +// Const::logPrint("Now Materialize all leaves below the 1st layer. Progress: " + +// to_string((double)cur / (double)total * 100) + "%"); +// } +// +// fclose(f); +// delete[] navids; +// auto end_t = chrono::system_clock::now(); +// MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +//} + + +//void materializeAllLeavesParallelTest(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ +// auto start_t = chrono::system_clock::now(), start = chrono::system_clock::now(), end = chrono::system_clock::now(); +// Const::logPrint("Start move data to disk file in the deep layers."); +// FILE *f = fopen(datafn.c_str(), "r"); +// unsigned rest = root->size, total = root->size, cur = 0; +// unordered_map>lbl1,lbl2; +// unsigned buf_num = Const::fbl_series_num / 2; +// unsigned num1, num2; +// auto tss1 = new float [buf_num * Const::tsLength]; +// auto tss2 = new float [buf_num * Const::tsLength]; +// thread* routing_worker; +// +// // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. +// // This may incur many write calls. +// while(rest > 0){ +// lbl1.clear(); lbl2.clear(); +// num1 = rest > buf_num ? buf_num : rest; +// start = chrono::system_clock::now(); +// fread(tss1, sizeof(float),num1 * Const::tsLength, f); +// end = chrono::system_clock::now(); +// MAT2_READ_TIME += chrono::duration_cast(end - start).count(); +// +// routing_worker = new thread(routingWorkerInMaterialization, &lbl1, tss1, num1, cur, sax_tbl, navids, root); +// routing_worker->join(); +// start = chrono::system_clock::now(); +// MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); +// +// rest -= num1; +// cur += num1; +// +// num2 = rest > buf_num ? buf_num : rest; +// start = chrono::system_clock::now(); +// fread(tss2, sizeof(float),num2 * Const::tsLength, f); +// end = chrono::system_clock::now(); +// MAT2_READ_TIME += chrono::duration_cast(end - start).count(); +// +// +// routing_worker = new thread(routingWorkerInMaterialization, &lbl2, tss2, num2, cur, sax_tbl, navids, root); +// routing_worker->join(); +// start = chrono::system_clock::now(); +// MAT2_CPU_TIME += chrono::duration_cast(start - end).count(); +// +// rest -= num2; +// cur += num2; +// +// start = chrono::system_clock::now(); +// for(auto &[node, data_buf] : lbl1){ +// string outfile = Const::fidxfn + node->getFileName(); +// if(node->partition_id == -1) outfile += "_L"; +// FILE *outf = fopen(outfile.c_str(), "a"); +// RAND_WRITE_CNT++; +// fwrite(data_buf.data(), sizeof(float ), data_buf.size(), outf); +// fclose(outf); +// } +// end = chrono::system_clock::now(); +// MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); +// +// +// start = chrono::system_clock::now(); +// for(auto &[node, data_buf] : lbl2){ +// string outfile = Const::fidxfn + node->getFileName(); +// if(node->partition_id == -1) outfile += "_L"; +// FILE *outf = fopen(outfile.c_str(), "a"); +// RAND_WRITE_CNT++; +// fwrite(data_buf.data(), sizeof(float ), data_buf.size(), outf); +// fclose(outf); +// } +// end = chrono::system_clock::now(); +// MAT2_WRITE_TIME += chrono::duration_cast(end - start).count(); +// +// Const::logPrint("Now Materialize all leaves below the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); +// } +// +// fclose(f); +// delete[] navids; +// auto end_t = chrono::system_clock::now(); +// MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +//} +// + +void materializeDeepLeavesWithSax(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ + auto start_sax = chrono::system_clock::now(); + Const::logPrint("Start move sax to disk file in 1st layer."); + + unordered_map>sax_buffer; + for(int i=0;isize;++i){ + if(root->children[navids[i]]->size <= Const::th) continue; + auto * sax = sax_tbl + i * Const::segmentNum; + FADASNode* node = root->route(sax); + sax_buffer[node].push_back(sax); + } + for(auto &[node, buffer]:sax_buffer){ + string outfile = Const::fidxfn + node->getFileName() + "_sax"; + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + for(auto sax:buffer) + fwrite(sax, sizeof(unsigned short ), Const::segmentNum, outf); + fclose(outf); + } + sax_buffer.clear(); + auto end_sax = chrono::system_clock::now(); + SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); + + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_maplbl; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + lbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(start - end).count(); + + //copy series to node to ensure write is only called once upon a node fbl + for(long i = cur; ichildren[navids[i]]->size <= Const::th) continue; + FADASNode* node = root->route(sax_tbl + i * Const::segmentNum); + lbl[node].buffer.push_back(tss + (i-cur) * Const::tsLength); + } + end = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(end-start).count(); + + // write series in order to node file from node fbl + for(auto & [node,lbl_unit]:lbl){ + string outfile = Const::fidxfn + node->getFileName(); + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + + RAND_WRITE_CNT++; + for(float *dat:lbl_unit.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + start = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now Materialize all leaves below the 1st layer. Progress: " + to_string((double)cur / (double)total * 100) + "%"); + + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +void materializeAllLeavesWithSax(string datafn, FADASNode* root, int *navids, string index_dir, unsigned short*sax_tbl){ + auto start_sax = chrono::system_clock::now(); + Const::logPrint("Start move sax to disk file in 1st layer."); + + unordered_map>sax_buffer; + for(int i=0;isize;++i){ + auto * sax = sax_tbl + i * Const::segmentNum; + FADASNode* node = root->route(sax); + sax_buffer[node].push_back(sax); + } + for(auto &[node, buffer]:sax_buffer){ + string outfile = Const::fidxfn + node->getFileName() + "_sax"; + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + for(auto sax:buffer) + fwrite(sax, sizeof(unsigned short ), Const::segmentNum, outf); + fclose(outf); + } + sax_buffer.clear(); + auto end_sax = chrono::system_clock::now(); + SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); + + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_maplbl; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + lbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(start - end).count(); + + //copy series to node to ensure write is only called once upon a node fbl + for(long i = cur; iroute(sax_tbl + i * Const::segmentNum); + lbl[node].buffer.push_back(tss + (i-cur) * Const::tsLength); + } + end = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(end-start).count(); + + // write series in order to node file from node fbl + for(auto & [node,lbl_unit]:lbl){ + string outfile = Const::fidxfn + node->getFileName(); + if(node->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + + RAND_WRITE_CNT++; + for(float *dat:lbl_unit.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + start = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now Materialize all leaves. Progress: " + to_string((double)cur / (double)total * 100) + "%"); + + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + + +// put actual series into disk file of nodes in 1st layer +void materialize1stLayerLessPack(string datafn, FADASNode* root, int *navids, string index_dir){ + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + long rest = root->size, total = root->size, cur = 0; + unordered_mapfbl; + + RAND_READ_CNT++; + SEQ_READ_CNT += rest; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + fbl.clear(); + long num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + // statistic the size of each node fbl size, and allocate memory for them + for(long i=cur;ichildren[navids[i]]].size++; + for(auto &iter:fbl) + iter.second.buffer = new float [(long)iter.second.size * Const::tsLength]; + end = chrono::system_clock::now(); + MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); + + //copy series to node to ensure write is only called once upon a node fbl + for(long i = cur; ichildren[navids[i]]]; + copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + (long)fbl_node->pos++ * Const::tsLength); + } + start = chrono::system_clock::now(); + MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); + + start = chrono::system_clock::now(); + // write series in order to node file from node fbl + for(auto & iter:fbl){ + string outfile = index_dir ; + int id= iter.first->id; + if(iter.first->isInternalNode()) + outfile += "U_" + to_string(iter.first->id); + else if(iter.first->isLeafPack()) + outfile += to_string(iter.first->layer) + "_P_" + to_string(iter.first->partition_id); + else if(iter.first->isLeafNode()) + outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->id); + else + Const::logPrint(" Some error in materialzing."); + FILE *outf = fopen(outfile.c_str(), "a"); + + RAND_WRITE_CNT++; + SEQ_WRITE_CNT += iter.second.size; +// long bytes = iter.second.size * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + + fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); + fclose(outf); + delete[]iter.second.buffer; + } + end = chrono::system_clock::now(); + MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); + + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +// put actual series into disk file of nodes in 1st layer +void materialize1stLayerPos(string datafn, FADASNode* root, int *navids, string index_dir){ + auto start_t = chrono::system_clock::now(); + Const::logPrint("Start move data to disk file in 1st layer."); + FILE *f = fopen(datafn.c_str(), "r"); + int rest = root->size, total = root->size, cur = 0; + unordered_mapfbl; + + RAND_READ_CNT++; + SEQ_READ_CNT += rest; + + // There is another implementation method that fbl in each node stores a pointer vector where each pointer points to a series. + // This may incur many write calls. + while(rest > 0){ + fbl.clear(); + int num; + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT1_READ_TIME += chrono::duration_cast(start - end).count(); + + // statistic the size of each node fbl size, and allocate memory for them +// for(int i=cur;ichildren[navids[i]]].size++; +// for(auto &iter:fbl) +// iter.second.buffer = new float [iter.second.size * Const::tsLength]; + for(int i=cur;ichildren[navids[i]]].offsets.push_back(i); + } + end = chrono::system_clock::now(); + MAT1_CPU_TIME_STAT += chrono::duration_cast(end - start).count(); + + //copy series to node to ensure write is only called once upon a node fbl +// for(int i = cur; ichildren[navids[i]]]; +// copy(tss + (i-cur) * Const::tsLength, tss + (i+1-cur)* Const::tsLength, fbl_node->buffer + fbl_node->pos++ * Const::tsLength); +// } +// start = chrono::system_clock::now(); +// MAT1_CPU_TIME_COPY += chrono::duration_cast(start - end).count(); + + start = chrono::system_clock::now(); + // write series in order to node file from node fbl + for(auto & iter:fbl){ + string outfile = index_dir ; + if(iter.first->partition_id == -1) + outfile += "U_" + to_string(iter.first->id); + else outfile += to_string(iter.first->layer) + "_" + to_string(iter.first->partition_id); + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + + for(int offset:iter.second.offsets){ + fwrite(tss + (offset - cur) * Const::tsLength, sizeof(float), Const::tsLength, outf); + SEQ_WRITE_CNT++; + if(iter.first->partition_id != -1) { + fwrite(&offset, sizeof(int), 1, outf); + SEQ_WRITE_CNT++; + } + } +// fwrite(iter.second.buffer, sizeof(float), iter.second.size * Const::tsLength, outf); + fclose(outf); +// delete[]iter.second.buffer; + } + end = chrono::system_clock::now(); + MAT1_WRITE_TIME += chrono::duration_cast(end - start).count(); + delete[] tss; + + rest-=num; + cur += num; + Const::logPrint("Now in 1st layer " + to_string((double)cur / (double)total * 100) + "% series have been written to disk."); + + } + + fclose(f); + delete[] navids; + auto end_t = chrono::system_clock::now(); + MAT1_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +// put actual series into disk file of nodes below 1st layer from file in 1st layer +void materializeInterNode(FADASNode *node, unsigned short *saxes) { + auto start_t = chrono::system_clock::now(); + + FILE *f = fopen((Const::fidxfn + "U_" + to_string(node->id)).c_str(), "r"); + long rest = node->size, cur = 0, num; + unordered_maplbl; + +// long bytes = rest * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_READ += bytes; + + RAND_READ_CNT++; + SEQ_READ_CNT+=rest; + + while(rest > 0){ + lbl.clear(); + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(start - end).count(); + + for(long i = cur; i < cur + num; ++i){ + FADASNode* target = node->route(saxes + (long)node->offsets[i] * Const::segmentNum); + lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); + } + + end = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); + + + for(auto &iter:lbl){ + string outfile = Const::fidxfn + iter.first->getFileName(); + FILE *outf = fopen(outfile.c_str(), "a"); +// SEQ_WRITE_CNT += iter.second.buffer.size(); +// bytes = iter.second.buffer.size() * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + RAND_WRITE_CNT++; + for(float *dat:iter.second.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + start = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); + + delete[]tss; + rest-=num; + cur += num; + } + fclose(f); + FileUtil::FileRemove((Const::fidxfn + "U_" + to_string(node->id)).c_str()); + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +// put actual series into disk file of nodes below 1st layer from file in 1st layer +void materializeInterNodeWithSax(FADASNode *node, unsigned short *saxes) { + auto start_sax = chrono::system_clock::now(); + // route each sax words to the buffer of a leaf pack + unordered_mapsax_buffer; + for(int i=0;isize;++i){ + int offset = node->offsets[i]; + unsigned short *sax = saxes + offset * Const::segmentNum; + FADASNode*target = node->route(sax); + if(sax_buffer[target].size == 0){ + sax_buffer[target].buffer = new unsigned short [(long)target->size*Const::segmentNum]; + } + copy(sax, sax+Const::segmentNum, sax_buffer[target].buffer + (long)sax_buffer[target].size * Const::segmentNum); + sax_buffer[target].size++; + } + + // write each buffer of the hash table + for(auto &iter: sax_buffer){ + string outfile = Const::fidxfn + iter.first->getFileName() + "_sax"; + if(iter.first->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + fwrite(iter.second.buffer, sizeof(unsigned short ), (long)iter.first->size * Const::segmentNum, outf); + fclose(outf); + delete[] iter.second.buffer; + } + unordered_map().swap(sax_buffer); + auto end_sax = chrono::system_clock::now(); + SAX_WRITE_TIME += chrono::duration_cast(end_sax - start_sax).count(); + + + auto start_t = chrono::system_clock::now(); + FILE *f = fopen((Const::fidxfn + "U_" + to_string(node->id)).c_str(), "r"); + long rest = node->size, cur = 0, num; + unordered_maplbl; + +// long bytes = rest * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_READ += bytes; + + RAND_READ_CNT++; + SEQ_READ_CNT+=rest; + + while(rest > 0){ + lbl.clear(); + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(start - end).count(); + + for(long i = cur; i < cur + num; ++i){ + FADASNode* target = node->route(saxes + (long)node->offsets[i] * Const::segmentNum); + lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); + } + + end = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); + + + for(auto &iter:lbl){ + string outfile = Const::fidxfn + iter.first->getFileName(); + if(iter.first->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); +// SEQ_WRITE_CNT += iter.second.buffer.size(); +// bytes = iter.second.buffer.size() * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + RAND_WRITE_CNT++; + for(float *dat:iter.second.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + start = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); + + delete[]tss; + rest-=num; + cur += num; + } + fclose(f); + FileUtil::FileRemove((Const::fidxfn + "U_" + to_string(node->id)).c_str()); + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +// put actual series into disk file of nodes below 1st layer from raw dataset +void materializeOnePassWithSax(FADASNode *node, unsigned short *saxes, float *series) { + // route each sax words to the buffer of a leaf pack + unordered_mapsax_buffer; + unordered_maplbl; + for(long i=0;isize;++i){ + unsigned short *sax = saxes + (long)node->offsets[i] * Const::segmentNum; + FADASNode*target = node->route(sax); + if(sax_buffer[target].size == 0){ + sax_buffer[target].buffer = new unsigned short [(long)target->size*Const::segmentNum]; + } + lbl[target].buffer.push_back(series + (long)node->offsets[i] * Const::tsLength); + copy(sax, sax+Const::segmentNum, sax_buffer[target].buffer + (long)sax_buffer[target].size * Const::segmentNum); + sax_buffer[target].size++; + } + + // write each buffer of the hash table + for(auto &iter: sax_buffer){ + string outfile = Const::fidxfn + iter.first->getFileName() + "_sax"; + if(iter.first->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + fwrite(iter.second.buffer, sizeof(unsigned short ), (long)iter.first->size * Const::segmentNum, outf); + fclose(outf); + delete[] iter.second.buffer; + } + unordered_map().swap(sax_buffer); + + // write series + for(auto &iter:lbl){ + string outfile = Const::fidxfn + iter.first->getFileName(); + if(iter.first->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + for(float *dat:iter.second.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + + vector().swap(node->offsets); +} + +// put actual series into disk file of nodes below 1st layer from raw dataset +void materializeOnePassWithSax(FADASNode *node, unsigned short *saxes, vector&leaf_files, vector&sax_files) { + // route each sax words to the buffer of a leaf pack + unordered_mapsax_buffer; + unordered_maplbl; + for(long i=0;isize;++i){ + unsigned short *sax = saxes + (long)node->offsets[i] * Const::segmentNum; + FADASNode*target = node->route(sax); + if(sax_buffer[target].size == 0){ + sax_buffer[target].buffer = new unsigned short [(long)target->size*Const::segmentNum]; + } + copy(sax, sax+Const::segmentNum, sax_buffer[target].buffer + (long)sax_buffer[target].size * Const::segmentNum); + sax_buffer[target].size++; + } + + // write each buffer of the hash table + for(auto &iter: sax_buffer){ + string outfile = Const::fidxfn + iter.first->getFileName() + "_sax"; + if(iter.first->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + fwrite(iter.second.buffer, sizeof(unsigned short ), (long)iter.first->size * Const::segmentNum, outf); + fclose(outf); + delete[] iter.second.buffer; + } + unordered_map().swap(sax_buffer); + + int cur_num = 0; + auto buf = new float [(long)Const::fbl_series_num * Const::tsLength]; + auto buf_sax = new unsigned short [(long)Const::fbl_series_num * Const::segmentNum]; + for(int i =0;i Const::fbl_series_num){ + for(int j=0;jroute(buf_sax + (long)j * Const::segmentNum); + lbl[target].buffer.push_back(buf + (long)j*Const::tsLength); + } + + // write series + for(auto &iter:lbl){ + string outfile = Const::fidxfn + iter.first->getFileName(); + if(iter.first->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + for(float *dat:iter.second.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + + cur_num = 0; + lbl.clear(); + } + + FILE *f = fopen(leaf_file.c_str(), "rb"); + FILE *saxf = fopen(sax_file.c_str(), "rb"); + fread(buf + (long)cur_num * Const::tsLength, sizeof(float ), (long)series_num * Const::tsLength, f); + fread(buf_sax + (long)cur_num * Const::segmentNum, sizeof(unsigned short ), (long)series_num * Const::segmentNum, saxf); + cur_num += series_num; + fclose(f); + fclose(saxf); + FileUtil::FileRemove(leaf_file.c_str()); + FileUtil::FileRemove(sax_file.c_str()); + } + + if(cur_num > 0) { + for (int j = 0; j < cur_num; ++j) { + FADASNode *target = node->route(buf_sax + (long) j * Const::segmentNum); + lbl[target].buffer.push_back(buf + (long) j * Const::tsLength); + } + + // write series + for (auto &iter: lbl) { + string outfile = Const::fidxfn + iter.first->getFileName(); + if (iter.first->partition_id == -1) outfile += "_L"; + FILE *outf = fopen(outfile.c_str(), "a"); + RAND_WRITE_CNT++; + for (float *dat: iter.second.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + + lbl.clear(); + } + + delete[] buf; + delete[] buf_sax; + + vector().swap(node->offsets); +} + + +// put actual series into disk file of nodes below 1st layer from file in 1st layer +void materializeInterNodeLessPack(FADASNode *node, unsigned short *saxes) { + auto start_t = chrono::system_clock::now(); + + FILE *f = fopen((Const::fidxfn + "U_" + to_string(node->id)).c_str(), "r"); + long rest = node->size, cur = 0, num; + unordered_maplbl; + +// long bytes = rest * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_READ += bytes; + + RAND_READ_CNT++; + SEQ_READ_CNT+=rest; + + while(rest > 0){ + lbl.clear(); + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(start - end).count(); + + for(long i = cur; i < cur + num; ++i){ + FADASNode* target = node->route(saxes + (long)node->offsets[i] * Const::segmentNum); + lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); + } + + end = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); + + + for(auto &iter:lbl){ + assert(iter.first->layer > 1); + string outfile = Const::fidxfn; + if(iter.first->isLeafPack()) + outfile += "P-" + iter.first->getFileName(); + else + outfile += iter.first->getFileName(); + FILE *outf = fopen(outfile.c_str(), "a"); +// SEQ_WRITE_CNT += iter.second.buffer.size(); +// bytes = iter.second.buffer.size() * Const::tsLengthBytes; +// if(bytes >= Const::small_file_threshold) SMALL_FILES_BYTES_WRITE += bytes; + RAND_WRITE_CNT++; + for(float *dat:iter.second.buffer) + fwrite(dat, sizeof(float), Const::tsLength, outf); + fclose(outf); + } + start = chrono::system_clock::now(); + MAT2_WRITE_TIME += chrono::duration_cast(start - end).count(); + + delete[]tss; + rest-=num; + cur += num; + } + fclose(f); + FileUtil::FileRemove((Const::fidxfn + "U_" + to_string(node->id)).c_str()); + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +// put actual series into disk file of nodes below 1st layer from file in 1st layer +void materializeInterNodePos(FADASNode *node, unsigned short *saxes) { + auto start_t = chrono::system_clock::now(); + + FILE *f = fopen((Const::posidxfn + "U_" + to_string(node->id)).c_str(), "r"); + int rest = node->size, cur = 0, num; + unordered_maplbl; + + RAND_READ_CNT++; + SEQ_READ_CNT+=rest; + + while(rest > 0){ + lbl.clear(); + if(rest > Const::fbl_series_num) num = Const::fbl_series_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto end = chrono::system_clock::now(); + fread(tss, sizeof(float ), num * Const::tsLength, f); + auto start = chrono::system_clock::now(); + MAT2_READ_TIME += chrono::duration_cast(start - end).count(); + +// for(int i = cur; i < cur + num; ++i){ +// FADASNode* target = node->route(saxes + node->offsets[i] * Const::segmentNum); +// lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); +// } + for(int i = cur; i < cur + num; ++i){ + FADASNode* target = node->route(saxes + node->offsets[i] * Const::segmentNum); + lbl[target].offsets.push_back(node->offsets[i]); + lbl[target].buffer.push_back(tss + (i - cur) * Const::tsLength); + } + + end = chrono::system_clock::now(); + MAT2_CPU_TIME += chrono::duration_cast(end - start).count(); + + + for(auto &iter:lbl){ + string outfile = Const::fidxfn + iter.first->getFileName(); + FILE *outf = fopen(outfile.c_str(), "a"); + LBL_UNIT &tmp = iter.second; + RAND_WRITE_CNT++; + for(int i=0;i(start - end).count(); + + delete[]tss; + rest-=num; + cur += num; + } + fclose(f); + FileUtil::FileRemove((Const::posidxfn + "U_" + to_string(node->id)).c_str()); + auto end_t = chrono::system_clock::now(); + MAT2_TOTAL_TIME += chrono::duration_cast(end_t - start_t).count(); +} + +FADASNode *FADASNode::BuildIndex(string &datafn, string &saxfn) { + Const::logPrint("Start building index."); + auto start_t = chrono::system_clock::now(); + loadCombines(); + FileUtil::checkDirClean(Const::fidxfn.c_str()); + auto end = chrono::system_clock::now(); +// long series_num = generateSaxTbl(); + long series_num = loadSax(saxfn); +// loadPaa(paafn); + auto start = chrono::system_clock::now(); + Const::logPrint("Finish building sax table."); + SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + auto* root = new FADASNode(); + root->size = series_num; + for(int &i:root->bits_cardinality) i=0; + for(int i=0;ichosenSegments.push_back(i); + vector nodeIn1stLayer(Const::vertexNum); + int *navids = new int[series_num]; + for(int i=0;ichildren.resize(Const::vertexNum); + for(int i=0;i Const::th) { +// assert(nodeIn1stLayer[i].size > Const::th); + root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + }else if(nodeIn1stLayer[i].pid == -1){ + root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + } + else{ + int pid = nodeIn1stLayer[i].pid; + root->children[i] = childrenList[pid]; + childrenList[pid]->size += nodeIn1stLayer[i].size; + childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); + } + } + Const::logPrint("Finish build index structure 1st layer."); + + // put data offsets to internal nodes in 1st layer + for(int i=0;ichildren[i]!= nullptr) + root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); + for(int i=0;ichildren[nav_id]->offsets.push_back(i); + } + Const::logPrint("data offsets have been put into nodes in the 1st layer."); + end = chrono::system_clock::now(); + GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); + + + int j = 0; + int milestone = 0.1 * Const::vertexNum; + Const::logPrint("start grow the index structure"); + for(int i=0;i Const::th) { + root->children[i]->growIndex(); + } + if(++j%milestone == 0) + Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); + } + start = chrono::system_clock::now(); + GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + Const::logPrint("build index skeleton finished."); +// thread IO(materialize1stLayerWithSaxOnlyLeaf, datafn, root, navids, Const::fidxfn, saxes); +// IO.join(); + Const::logPrint("Start materialize leaves"); + materializeAllLeavesWithSax(datafn, root, navids, Const::fidxfn, saxes); + Const::logPrint("build index successfully!"); + delete[] saxes; + auto end_t = chrono::system_clock::now(); + cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<getIndexStats(); + + return root; +} + +static atomic cur_subtree; + +void growSubtreeWorker(FADASNode* root, int end){ + int cur_id; + while(true){ + cur_id = cur_subtree.fetch_add(1); + if(cur_id > end) return; + if(root->children[cur_id] == nullptr || root->children[cur_id]->size <= Const::th) continue; + root->children[cur_id]->growIndexParallel(); + } +} + +void get_all_leaves(FADASNode*root, unordered_set&node_set){ + int child_num = 1<< (root->chosenSegments.size()); + for(int i = 0; i < child_num; ++i ){ + if(root->children[i] == nullptr) continue; + if(root->children[i]->size <= Const::th) node_set.insert(root->children[i]); + else get_all_leaves(root->children[i], node_set); + } +} + +FADASNode *FADASNode::BuildIndexParallel(string &datafn, string &saxfn) { + Const::logPrint("Start building index."); + auto start_t = chrono::system_clock::now(); + loadCombines(); + FileUtil::checkDirClean(Const::fidxfn.c_str()); + auto end = chrono::system_clock::now(); + long series_num = generateSaxTblParallel2(); +// long series_num = loadSax2(saxfn); + + auto start = chrono::system_clock::now(); + Const::logPrint("Finish building sax table."); + SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + cout << "Building sax and paa total time is "<size = series_num; + for(int &i:root->bits_cardinality) i=0; + for(int i=0;ichosenSegments.push_back(i); + vector nodeIn1stLayer(Const::vertexNum); + int *navids = new int[series_num]; + for(int i=0;ichildren.resize(Const::vertexNum); + for(int i=0;i Const::th) { // internal node + root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + }else if(nodeIn1stLayer[i].pid == -1){ // leaf node + root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + } + else{ // leaf pack + int pid = nodeIn1stLayer[i].pid; + root->children[i] = childrenList[pid]; + childrenList[pid]->size += nodeIn1stLayer[i].size; + childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); + } + } + Const::logPrint("Finish build index structure 1st layer."); + + // put data offsets to internal nodes in 1st layer + for(int i=0;ichildren[i]!= nullptr) + root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); + for(int i=0;ichildren[nav_id]->offsets.push_back(i); + } + Const::logPrint("data offsets have been put into nodes in the 1st layer."); + end = chrono::system_clock::now(); + GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); + + thread IO(materialize1stLayerWithSaxOnlyLeaf2, datafn, root, navids, Const::fidxfn, sax_tbl); + + int th_num = Const::thread_num; + cur_subtree = 0; + vectorthread_pool; + Const::logPrint("start to grow the index structure"); + for(int i = 0 ; i < th_num; ++i) + thread_pool.emplace_back(thread(growSubtreeWorker, root, Const::vertexNum - 1)); + int finished_num = 0; + vectorfinished_threads(th_num, false); + while (finished_num < th_num){ + for(int i = 0; i < th_num;++i){ + if(finished_threads[i]) continue; + if(thread_pool[i].joinable()){ + thread_pool[i].join(); + finished_threads[i] = true; + Const::logPrint("Thread " + to_string(i) + " has finished growing index"); + finished_num++; + } + } + } + start = chrono::system_clock::now(); + GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + unordered_setnode_set; + get_all_leaves(root,node_set); + Const::logPrint("totally " + to_string(node_set.size()) + " leaves."); + Const::logPrint("build index skeleton finished."); + + IO.join(); + cout << "During the process of materializing 1st layer nodes, total time is "<< MAT1_TOTAL_TIME / 1000 + <<"ms, I/O read time is "<< MAT1_READ_TIME / 1000 <<"ms, CPU statistic time is " << MAT1_CPU_TIME_STAT / 1000 + << "ms, CPU copy Time is " << MAT1_CPU_TIME_COPY / 1000 << "ms, while I/O write time is " << MAT1_WRITE_TIME / 1000 << "ms. "<< endl; + + Const::logPrint("Start materialize saxes"); + materializaSAX(node_set); + + Const::logPrint("Start materialize internal nodes in the 1st layer"); + materializeAllLeavesParallelSlowWriteParWrite2(datafn, root, navids, Const::fidxfn, sax_tbl); + Const::logPrint("build index successfully!"); + delete[] saxes; + auto end_t = chrono::system_clock::now(); + cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<getIndexStats(); + + return root; +} + +void FADASNode::insertBatch(float *tss, int batch_size){ + generateSaxTbl(tss, batch_size); + for(int i=0;igenerateSaxAndCardIn1stLayer(head); + children[head]->pos_cache.push_back(i); + }else + children[head]->routeDuringInsertion(saxes + i * Const::segmentNum, i); + } + +// for(FADASNode* child:children){ +// if(child!= nullptr && child->partition_id == 63) +// cout <<"here" <visited; + for(FADASNode* child: children){ + if(child == nullptr) continue; + if(visited.contains(child)) continue; + child->reorganize(tss, this); + visited.insert(child); + } + return; + } + + if(size <= Const::th){ + // leaf pack or leaf node + string sax_file, data_file; + getFileNameInsert(Const::fidxfn, sax_file, data_file); + FILE* sax_f = fopen(sax_file.c_str(), "ab"); + for(int pos: pos_cache){ + fwrite(saxes + pos * Const::segmentNum, sizeof(unsigned short), Const::segmentNum, sax_f); + } + fclose(sax_f); + FILE* data_f = fopen(data_file.c_str(), "ab"); + for(int pos: pos_cache){ + fwrite(tss + pos * Const::tsLength, sizeof(float ), Const::tsLength, data_f); + } + fclose(data_f); + vector().swap(pos_cache); + return; + } + // we need to do split (grow index) when it exceeds th + if(children.empty()){ + // leaf node or pack + string sax_file, data_file; + getFileNameInsert(Const::fidxfn, sax_file, data_file); + auto *node_saxes = new unsigned short[size * Const::segmentNum]; + auto *node_series = new float [size * Const::tsLength]; + for(int i=0;i().swap(pos_cache); + }else{//leaf pack + int chosen_num; + if(layer == 1) + chosen_num = Const::segmentNum; + else + chosen_num = parent->chosenSegments.size(); + // statistic children information in order to partition + partUnit nodes[1<>node_offsets(1<()); + + for(int i=0;ibits_cardinality,parent->chosenSegments); + nodes[new_id].size++; + node_offsets[new_id].push_back(i); + } + +// FADASNode * pack_node; +// if(layer == 1){ +// pack_node = new FADASNode(1, partition_id); +// }else{ +// pack_node = new FADASNode(parent, partition_id); +// } + + for(int i=0;i<(1< Const::th){ + new_node->offsets.resize(nodes[i].size); + copy(node_offsets[i].begin(), node_offsets[i].end(), new_node->offsets.begin()); + new_node->growIndex(node_saxes, false); + materializeOnePassWithSax(new_node, node_saxes, node_series); + parent->children[i] = new_node; + vector().swap(node_offsets[i]); + } +// else if(nodes[i].size >= Const::th * Const::small_perc) + else{ + // directly write series into a leaf node + string out_sax_file, out_data_file; + new_node->getFileNameInsert(Const::fidxfn, out_sax_file, out_data_file); + FILE* out_sax_f = fopen(out_sax_file.c_str(), "wb"); + FILE* out_data_f = fopen(out_data_file.c_str(), "wb"); + for(int offset: node_offsets[i]){ + fwrite(node_saxes + (long)offset * Const::segmentNum, sizeof(unsigned short ), Const::segmentNum, out_sax_f); + fwrite(node_series + (long)offset * Const::tsLength, sizeof(float ), Const::tsLength, out_data_f); + } + vector().swap(node_offsets[i]); + fclose(out_data_f); + fclose(out_sax_f); + parent->children[i] = new_node; + } + +// else{ +// delete new_node; +// int _pid = nodes[i].pid; +// pack_node->size += nodes[i].size; +// if(layer == 1) +// pack_node->generateSaxAndCardIn1stLayer4LeafNode(i); +// else +// parent->generateSaxAndCardinality4LeafNode(pack_node, i); +// for(int & j : node_offsets[i]) +// pack_node->offsets.push_back(j); +// vector().swap(node_offsets[i]); +// parent->children[i] = pack_node; +// } + } + +// string out_sax_file, out_data_file; +// pack_node->getFileNameInsert(Const::fidxfn, out_sax_file, out_data_file); +// FILE* out_sax_f = fopen(out_sax_file.c_str(), "wb"); +// FILE* out_data_f = fopen(out_data_file.c_str(), "wb"); +// for(int offset: pack_node->offsets){ +// fwrite(node_saxes + (long)offset * Const::segmentNum, sizeof(unsigned short ), Const::segmentNum, out_sax_f); +// fwrite(node_series + (long)offset * Const::tsLength, sizeof(float ), Const::tsLength, out_data_f); +// } +// vector().swap(pack_node->offsets); +// fclose(out_data_f); +// fclose(out_sax_f); + vector>().swap(node_offsets); + delete this; + + } + + delete[] node_saxes; + delete[] node_series; + FileUtil::FileRemove((sax_file).c_str()); + FileUtil::FileRemove((data_file).c_str()); + + }else{ + // internal node + auto node_saxes = new unsigned short [size * Const::segmentNum]; + vectorleaf_files, sax_files; + int cur = 0; + collectSAXwords(node_saxes, &cur, leaf_files, sax_files); + assert(cur == size); + offsets.resize(size); + for(int i=0;ideleteSubtree(); + } + chosenSegments.clear(); + children.clear(); + growIndex(node_saxes, false); + materializeOnePassWithSax(this, node_saxes, leaf_files, sax_files); + vector().swap(leaf_files); + vector().swap(sax_files); + vector().swap(pos_cache); + delete[] node_saxes; + } +} + +void +FADASNode::collectSAXwords(unsigned short *node_saxes, int *cur, vector &leaf_files, vector &sax_files) { + if(!pos_cache.empty()){ + for(int offset:pos_cache){ + copy(saxes + (long)offset * Const::segmentNum, saxes + ((long)offset + 1) * Const::segmentNum, node_saxes + (long)(*cur) * Const::segmentNum); + (*cur) = (*cur) + 1; + } + } + string sax_file, data_file; + getFileNameInsert(Const::fidxfn, sax_file, data_file); + if(FileUtil::checkFileExists(sax_file.c_str())){ + long series_num = FileUtil::getFileSize(sax_file.c_str()) / sizeof(unsigned short ) / Const::segmentNum; + FILE *sax_f = fopen(sax_file.c_str(), "rb"); + fread(node_saxes + (long)(*cur) * Const::segmentNum, sizeof(unsigned short), Const::segmentNum * series_num, sax_f); + fclose(sax_f); + (*cur) = (*cur) + series_num; + FileUtil::renameFile(data_file,data_file + "tmp"); + FileUtil::renameFile(sax_file, sax_file + "tmp"); + leaf_files.push_back(data_file + "tmp"); + sax_files.push_back(sax_file + "tmp"); + } + if(!children.empty()){ + for(FADASNode*child: children){ + if(child!= nullptr){ + child->collectSAXwords(node_saxes, cur, leaf_files, sax_files); + } + } + } +} + +void FADASNode::deleteSubtree(){ + if(children.empty()) + delete this; + else{ + unordered_setchilds; + for(FADASNode* child: children){ + if(child != nullptr) + childs.insert(child); + } + for(FADASNode* child:childs) + child->deleteSubtree(); + delete this; + } +} + +void FADASNode::growIndex(unsigned short *node_saxes, bool need_free) { + if(size <= Const::th) return; + auto start = chrono::system_clock::now(); +// int chosen_num = SaxUtil::findFirstGE(power_2, 1, Const::segmentNum + 1, size / Const::th + 1); +// SAX_INFO* sax_info = statSAX(); +// chooseSegment(sax_info, chosen_num); + determineSegments(node_saxes); + int chosen_num = chosenSegments.size(); + // statistic children information in order to partition + partUnit nodes[1<>node_offsets(1<()); + + for(int i=0;i().swap(offsets); + + int partNum = partitionNew(nodes, chosen_num); + // build rest data node if any +// for(auto &node:nodes) +// if(node.size <= Const::th && node.pid == -1) +// node.pid = partNum++; + + FADASNode* childrenList[partNum]; + for(int i=0;i Const::th) { + children[i] = new FADASNode(this, nodes[i].size, i); + generateSaxAndCardinality(children[i], i); + children[i]->offsets.resize(nodes[i].size); + copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); + vector().swap(node_offsets[i]); + }else if(partition_id == -1){ + children[i] = new FADASNode(this, nodes[i].size, i); + generateSaxAndCardinality(children[i], i); + vector().swap(node_offsets[i]); + } + else{ + int _pid = nodes[i].pid; + children[i] = childrenList[_pid]; + childrenList[_pid]->size += nodes[i].size; + generateSaxAndCardinality4LeafNode(children[i], i); + vector().swap(node_offsets[i]); + } + } + + vector>().swap(node_offsets); + auto end = chrono::system_clock::now(); + GROW_CPU_TIME += chrono::duration_cast(end - start).count(); + + for(auto &child: children){ + if(child!= nullptr && child->size > Const::th){ +// cout << file_id << "+" << child->id<growIndex(node_saxes, true); + } + } + +} + + +FADASNode *FADASNode::BuildIndexLessPack(string &datafn, string &saxfn, string &paafn, vector> *g) { + Const::logPrint("Start building index."); + auto start_t = chrono::system_clock::now(); + FileUtil::checkDirClean(Const::fidxfn.c_str()); + auto end = chrono::system_clock::now(); +// long series_num = generateSaxAndPaaTbl(); + long series_num = loadSax(saxfn); +// loadPaa(paafn); + auto start = chrono::system_clock::now(); + Const::logPrint("Finish building sax and paa table."); + SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + auto* root = new FADASNode(); + root->size = series_num; + for(int &i:root->bits_cardinality) i=0; + partUnit nodeIn1stLayer[Const::vertexNum]; // all the nodes in the 1st layer + int *navids = new int[series_num]; // invSAX head for the whole dataset + for(int i=0;ichildrenList; + childrenList.reserve(partNum); + for(int i=0;ichildren.resize(Const::vertexNum); + for(int i=0;ichildren[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + } + else{ + int pid = nodeIn1stLayer[i].pid; + root->children[i] = childrenList[pid]; + childrenList[pid]->size += nodeIn1stLayer[i].size; + childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); + } + } + Const::logPrint("Finish build index structure 1st layer."); + + thread IO(materialize1stLayerLessPack, datafn, root, navids, Const::fidxfn); + + // put data offsets to internal nodes in 1st layer + for(int i=0;i Const::th) + root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); + for(int i=0;i Const::th) { + root->children[nav_id]->offsets.push_back(i); + } + } + Const::logPrint("data offsets have been put into nodes in the 1st layer."); + end = chrono::system_clock::now(); + GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); + + int j = 0; + Const::logPrint("start grow the index structure"); + for(int i=0;i Const::th) + root->children[i]->growIndexLessPack(); + if(++j%10000 == 0) Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); + } + start = chrono::system_clock::now(); + GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + Const::logPrint("build index skeleton finished."); + + IO.join(); + Const::logPrint("Start materialize internal nodes in the 1st layer"); + for(int i=0;i Const::th) + materializeInterNodeLessPack(root->children[i], saxes); + Const::logPrint("build index successfully!"); + auto end_t = chrono::system_clock::now(); + cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<(start - end).count(); + + auto* root = new FADASNode(); + root->size = series_num; + for(int &i:root->bits_cardinality) i=0; + partUnit nodeIn1stLayer[Const::vertexNum]; + int *navids = new int[series_num]; + for(int i=0;ichildren.resize(Const::vertexNum); + for(int i=0;ichildren[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + } + else{ + int pid = nodeIn1stLayer[i].pid; + root->children[i] = childrenList[pid]; + childrenList[pid]->size += nodeIn1stLayer[i].size; + childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); + } + } + Const::logPrint("Finish build index structure 1st layer."); + + thread IO(materialize1stLayerPos, datafn, root, navids, Const::posidxfn); + + // put data offsets to internal nodes in 1st layer + for(int i=0;i Const::th) + root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); + for(int i=0;i Const::th) { + root->children[nav_id]->offsets.push_back(i); + } + } + Const::logPrint("data offsets have been put into nodes in the 1st layer."); + end = chrono::system_clock::now(); + GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); + + int j = 0; + Const::logPrint("start grow the index structure"); + for(int i=0;i Const::th) + root->children[i]->growIndex(); + if(++j%10000 == 0) Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); + } + start = chrono::system_clock::now(); + GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + Const::logPrint("build index skeleton finished."); + + IO.join(); + Const::logPrint("Start materialize internal nodes in the 1st layer"); + for(int i=0;i Const::th) + materializeInterNodePos(root->children[i], saxes); + Const::logPrint("build index successfully!"); + auto end_t = chrono::system_clock::now(); + cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<id<growIndex(); + } + } + +} + +void appendSaxIntoSaxBuffer(vector &sax_buffer, unsigned short* saxes, vector&offsets){ + unsigned prev_size = sax_buffer.size(); + sax_buffer.resize(prev_size + offsets.size() * Const::segmentNum); + for(unsigned i = 0; i < offsets.size(); ++i){ + copy(saxes + offsets[i] * Const::segmentNum, saxes + (offsets[i] + 1) * Const::segmentNum, + sax_buffer.begin() + prev_size + i * Const::segmentNum); + } + +} + +void appendSaxIntoSaxBuffer2(vector &sax_buffer, unsigned short** saxes, vector&offsets){ + unsigned prev_size = sax_buffer.size(); + sax_buffer.resize(prev_size + offsets.size() * Const::segmentNum); + for(unsigned i = 0; i < offsets.size(); ++i){ + copy(saxes[offsets[i]], saxes[offsets[i]] + Const::segmentNum, + sax_buffer.begin() + prev_size + i * Const::segmentNum); + } + +} + +void FADASNode::growIndexParallel(){ + if(size <= Const::th) return; + auto start = chrono::system_clock::now(); +// int chosen_num = SaxUtil::findFirstGE(power_2, 1, Const::segmentNum + 1, size / Const::th + 1); +// SAX_INFO* sax_info = statSAX(); +// chooseSegment(sax_info, chosen_num); + determineSegments2(); + int chosen_num = chosenSegments.size(); + // statistic children information in order to partition + partUnit nodes[1<>node_offsets(1<()); + + for(int i=0;ilayer > 1) vector().swap(offsets); + + int partNum = partitionNew(nodes, chosen_num); + + FADASNode* childrenList[partNum]; + for(int i=0;i Const::th) { + children[i] = new FADASNode(this, nodes[i].size, i); + generateSaxAndCardinality(children[i], i); + children[i]->offsets.resize(nodes[i].size); + copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); + vector().swap(node_offsets[i]); + }else if(nodes[i].pid == -1){ + children[i] = new FADASNode(this, nodes[i].size, i); + generateSaxAndCardinality(children[i], i); + appendSaxIntoSaxBuffer2(children[i]->sax_buffer, sax_tbl, node_offsets[i]); + vector().swap(node_offsets[i]); + } + else{ + int _pid = nodes[i].pid; + children[i] = childrenList[_pid]; + childrenList[_pid]->size += nodes[i].size; + generateSaxAndCardinality4LeafNode(children[i], i); + appendSaxIntoSaxBuffer2(children[i]->sax_buffer, sax_tbl, node_offsets[i]); + vector().swap(node_offsets[i]); + } + } + + vector>().swap(node_offsets); + auto end = chrono::system_clock::now(); + GROW_CPU_TIME += chrono::duration_cast(end - start).count(); + + for(auto &child: children){ + if(child!= nullptr && child->size > Const::th){ + child->growIndexParallel(); + } + } + +} + + +void FADASNode::growIndexLessPack() { + if(size <= Const::th) return; + auto start = chrono::system_clock::now(); + int chosen_num = SaxUtil::findFirstGE(power_2, 1, Const::segmentNum + 1, size / Const::th + 1); + SAX_INFO* sax_info = statSAX(); + chooseSegment(sax_info, chosen_num); + + // statistic children information in order to partition + partUnit nodes[1<>node_offsets(1<()); + + for(int i=0;ilayer > 1) vector().swap(offsets); + + int partNum = partitionLessPack(nodes, chosen_num); + + vectorchildrenList; + for(int i=0;i Const::th){ + children[i]->offsets.resize(nodes[i].size); + copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); + } + vector().swap(node_offsets[i]); + } + else{ + int _pid = nodes[i].pid; + children[i] = childrenList[_pid]; + childrenList[_pid]->size += nodes[i].size; + generateSaxAndCardinality4LeafNode(children[i], i); + vector().swap(node_offsets[i]); + } + } + + vector>().swap(node_offsets); + auto end = chrono::system_clock::now(); + GROW_CPU_TIME += chrono::duration_cast(end - start).count(); + + for(auto &child: children){ + if(child!= nullptr && child->size > Const::th){ + child->growIndexLessPack(); + } + } + +} + +// it has some bugs, but I cannot find them +FADASNode *FADASNode::BuildIndexWOPack(string &datafn, string &saxfn, string &paafn, vector> *g) { + Const::logPrint("Start building index."); + auto start_t = chrono::system_clock::now(); + FileUtil::checkDirClean(Const::fidxfn.c_str()); + auto end = chrono::system_clock::now(); +// long series_num = generateSaxAndPaaTbl(); + long series_num = loadSax(saxfn); +// loadPaa(paafn); + auto start = chrono::system_clock::now(); + Const::logPrint("Finish building sax and paa table."); + SAX_PAA_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + auto* root = new FADASNode(); + root->size = series_num; + for(int &i:root->bits_cardinality) i=0; + partUnit nodeIn1stLayer[Const::vertexNum]; + int *navids = new int[series_num]; + for(int i=0;i 0){ + nodeIn1stLayer[i].pid = partNum++; + } + } +// Const::logPrint("Finish partition"); +// int partNum = 0; + FADASNode* childrenList[partNum]; + for(int i=0;ichildren.resize(Const::vertexNum); + for(int i=0;i Const::th); + root->children[i] = new FADASNode(1, nodeIn1stLayer[i].size, i); + root->children[i]->generateSaxAndCardIn1stLayer(i); + } + else{ + int pid = nodeIn1stLayer[i].pid; + root->children[i] = childrenList[pid]; + childrenList[pid]->size += nodeIn1stLayer[i].size; + childrenList[pid]->generateSaxAndCardIn1stLayer4LeafNode(i); + } + } + Const::logPrint("Finish build index structure 1st layer."); + +// thread IO(materialize1stLayer, datafn, root, navids, Const::fidxfn); + materialize1stLayer(datafn, root, navids, Const::fidxfn); + + // put data offsets to internal nodes in 1st layer + for(int i=0;i Const::th) + root->children[i]->offsets.reserve(nodeIn1stLayer[i].size); + for(int i=0;i Const::th) { + root->children[nav_id]->offsets.push_back(i); + } + } + Const::logPrint("data offsets have been put into nodes in the 1st layer."); + end = chrono::system_clock::now(); + GROW_CPU_TIME_1st += chrono::duration_cast(end - start).count(); + + int j = 0; + Const::logPrint("start grow the index structure"); + for(int i=0;i Const::th) { + cout << i <children[i]->growIndexWOPack(); + } + if(++j%10000 == 0) Const::logPrint(to_string(j) + " nodes in the 1st layer has been processed."); + } + start = chrono::system_clock::now(); + GROW_TOTAL_TIME += chrono::duration_cast(start - end).count(); + + Const::logPrint("build index skeleton finished."); + +// IO.join(); + Const::logPrint("Start materialize internal nodes in the 1st layer"); + for(int i=0;i Const::th) + materializeInterNode(root->children[i], saxes); + Const::logPrint("build index successfully!"); + auto end_t = chrono::system_clock::now(); + cout << "Total time is " << chrono::duration_cast(end_t - start_t).count() / 1000 << "ms."<>node_offsets(1<()); + + cout <<"here1"<layer > 1) vector().swap(offsets); + +// int partNum = partition(nodes); + // build rest data node if any + int partNum = 0; + for(int i=0;i<(1<0 && nodes[i].size <= Const::th) + nodes[i].pid = partNum++; + } + cout <<"here3"<childrenList; + if(partNum >0) { + childrenList.resize(partNum); + for (int i = 0; i <= partNum; ++i) childrenList[i] = new FADASNode(this, i); + } + children.resize(1 << chosen_num); + cout <<"here4"<offsets.resize(nodes[i].size); + copy(node_offsets[i].begin(), node_offsets[i].end(), children[i]->offsets.begin()); + vector().swap(node_offsets[i]); + } + else{ + int _pid = nodes[i].pid; + children[i] = childrenList[_pid]; + childrenList[_pid]->size += nodes[i].size; + generateSaxAndCardinality4LeafNode(children[i], i); + vector().swap(node_offsets[i]); + } + } + + cout <<"here5"<>().swap(node_offsets); + auto end = chrono::system_clock::now(); + GROW_CPU_TIME += chrono::duration_cast(end - start).count(); + + for(auto &child: children){ + if(child!= nullptr && child->size > Const::th){ + child->growIndexWOPack(); + } + } + +} + + +// TODO: this function may be optimized with SIMD +PAA_INFO* FADASNode::statPaa(){ + auto* r = new PAA_INFO(); + double split_line[Const::segmentNum],paa_max[Const::segmentNum],paa_min[Const::segmentNum],paa_mu[Const::segmentNum]; + // TODO: optimize + double lb; // ub is the new split line + for(int i=0; i < Const::segmentNum; ++i) + SaxUtil::getValueRange(sax[i] << 1, bits_cardinality[i] + 1, &lb, &split_line[i]); + for(auto &i:paa_max) i = - numeric_limits::max(); + for(auto &i:paa_min) i = numeric_limits::max(); + for(auto &i:r->paa_up_size) i = 0; + for(auto &i:r->paa_below_size) i = 0; + for(auto &i:r->paa_variance) i = 0; + for(auto &i:paa_mu) i=0; + for(long offset:offsets){ + float * start = paas + offset * (Const::segmentNum); + for(int i=0;i split_line[i]) { + r->paa_up_size[i]++; + } + else { + r->paa_below_size[i]++; + } + } + } + for(double & i : paa_mu) { + i /= size; + } + + for(long offset:offsets){ + float * start = paas + offset * (Const::segmentNum); + for(int i=0;ipaa_variance[i] += (value - paa_mu[i]) * (value - paa_mu[i]); + } + } + return r; +} + +SAX_INFO* FADASNode::statSAX(){ + auto* r = new SAX_INFO(); + vector>numerical_sax(Const::segmentNum, vector(size, 0)); + vectornumerical_sax_sum(Const::segmentNum, 0); + // TODO: optimize + for(auto &i:r->sax_variance) i = 0; + for(int j = 0;j> (Const::bitsCardinality - 1 - bits_cardinality[i])) % 2; + if(isUp) r->up_size[i]++; + else r->below_size[i]++; + } + } + for(double & i : numerical_sax_sum) + i /= size; + + for(int i=0; isax_variance[i] += (numerical_sax[i][j] - numerical_sax_sum[i]) * (numerical_sax[i][j] - numerical_sax_sum[i]); + } + } + return r; +} + + +struct tmp{ + int i{}; + double score{}; + tmp(int _i, double _score){i=_i;score = _score;} + tmp(){;} + + static bool order(tmp a,tmp b){ + return a.score < b.score; + } + + static bool orderdesc(tmp a,tmp b){ + return a.score > b.score; + } +}; + +void FADASNode::determineFanout(int *lambda_min, int * lambda_max) const{ + if(size < 2 * Const::th) { + *lambda_min = 1; + *lambda_max = 1; + return; + } + *lambda_min = -1; + *lambda_max = Const::segmentNum; + double _min = size / (Const::th * Const::f_high); + double _max = size / (Const::th * Const::f_low); + if(Const::vertexNum < _min){ + *lambda_min = Const::segmentNum; + *lambda_max = Const::segmentNum; + return; + } + for(int i = 1; i <= Const::segmentNum; ++i){ + if(*lambda_min == -1){ + if((1<< i) >= _min){ + *lambda_min = i; + } + }else{ + if((1< _max){ + *lambda_max = max(i-1,*lambda_min); + break; + } + } + } +} + +// determine fan-out and choose segments +//void FADASNode::determineSegmentsAvgVariance(){ +// int lambda_min, lambda_max; +// determineFanout(&lambda_min, &lambda_max); +// +// vector>data_seg_symbols(Const::segmentNum); +// for(int offset:offsets){ +// unsigned short* cur_sax = saxes + offset * Const::segmentNum; +// for(int i=0;idata_seg_mean(Const::segmentNum, 0); +// vectordata_seg_stdev(Const::segmentNum, 0); +// for(int i=0;i().swap(data_seg_mean); +// vector>().swap(data_seg_symbols); +// +// // start to compute the size of each node in each plan +// +// unordered_setvisited; +// double max_score = 0; +// vector best_plan; +// for(int lambda = lambda_min; lambda <= lambda_max;++lambda){ +// int plan_num = FADASNode::combine_num[lambda]; +// for(int i=0;i max_score){ +// max_score = score; +// best_plan.clear(); +// for(int j = 0; j().swap(visited); +// chosenSegments = best_plan; +//} + +#include +void FADASNode::determineSegmentsNaive() { + int lambda_min, lambda_max; + determineFanout(&lambda_min, &lambda_max); + unordered_setchosen; + srand(time(nullptr)); + for(int i=0;iunit_size(Const::vertexNum, 0); + + vector>data_seg_symbols(Const::segmentNum); + for(int offset:offsets){ + unsigned short* cur_sax = saxes + offset * Const::segmentNum; + for(int i=0;idata_seg_mean(Const::segmentNum, 0); + vectordata_seg_stdev(Const::segmentNum, 0); + for(int i=0;i().swap(data_seg_mean); + vector>().swap(data_seg_symbols); + + // start to compute the size of each node in each plan + int plan_num; + if(lambda_max < Const::segmentNum) + plan_num = FADASNode::combine_num[lambda_max]; + else + plan_num = 1; + unordered_setvisited; + double max_score = 0; + vector best_plan; + for(int i=0;iplan_node_sizes(1<max_node_size; + for(int j=0;j().swap(max_node_size); + + double score = compute_score(plan_node_sizes, plan, lambda_max, data_seg_stdev); + if(score > max_score){ + max_score = score; + best_plan.clear(); + for(int j = 0; j().swap(plan_node_sizes); + } + + unordered_set().swap(visited); + vector().swap(unit_size); + chosenSegments = best_plan; +} + +void FADASNode::determineSegments2(){ + int lambda_min, lambda_max; + determineFanout(&lambda_min, &lambda_max); + if(lambda_min == Const::segmentNum && lambda_max == Const::segmentNum){ + for(int i=0;iunit_size(Const::vertexNum, 0); + + vector>data_seg_symbols(Const::segmentNum); + for(int offset:offsets){ + unsigned short* cur_sax = sax_tbl[offset]; + for(int i=0;idata_seg_mean(Const::segmentNum, 0); + vectordata_seg_stdev(Const::segmentNum, 0); + for(int i=0;i().swap(data_seg_mean); + vector>().swap(data_seg_symbols); + + // start to compute the size of each node in each plan + int plan_num; + if(lambda_max < Const::segmentNum) + plan_num = FADASNode::combine_num[lambda_max]; + else + plan_num = 1; + unordered_setvisited; + double max_score = 0; + vector best_plan; + for(int i=0;iplan_node_sizes(1<max_node_size; + for(int j=0;j().swap(max_node_size); + + double score = compute_score(plan_node_sizes, plan, lambda_max, data_seg_stdev); + if(score > max_score){ + max_score = score; + best_plan.clear(); + for(int j = 0; j().swap(plan_node_sizes); + } + + unordered_set().swap(visited); + vector().swap(unit_size); + chosenSegments = best_plan; +} + + +void FADASNode::determineSegments(unsigned short *node_saxes) { + int lambda_min, lambda_max; + determineFanout(&lambda_min, &lambda_max); + + vectorunit_size(Const::vertexNum, 0); + + vector>data_seg_symbols(Const::segmentNum); + for(int offset: offsets){ + unsigned short* cur_sax = node_saxes + (long)offset * Const::segmentNum; + for(int i=0;i=0 && cur_sax[i] <= 255); + data_seg_symbols[i][cur_sax[i]]++; + } + int head = SaxUtil::extendSax(cur_sax, bits_cardinality); + unit_size[head]++; + } + + // compute stdev of each segment + vectordata_seg_mean(Const::segmentNum, 0); + vectordata_seg_stdev(Const::segmentNum, 0); + for(int i=0;i().swap(data_seg_mean); + vector>().swap(data_seg_symbols); + + // start to compute the size of each node in each plan + int plan_num = FADASNode::combine_num[lambda_max]; + unordered_setvisited; + double max_score = 0; + vector best_plan; + for(int i=0;iplan_node_sizes(1<max_node_size; + for(int j=0;j().swap(max_node_size); + + double score = compute_score(plan_node_sizes, plan, lambda_max, data_seg_stdev); + if(score > max_score){ + max_score = score; + best_plan.clear(); + for(int j = 0; j().swap(plan_node_sizes); + } + + unordered_set().swap(visited); + vector().swap(unit_size); + chosenSegments = best_plan; +} + +void +FADASNode::visitPlanFromBaseTable(unordered_set &visited, int cur_lambda, const int *plan, vector &base_tbl, + double *max_score, vector &best_plan, int lambda_min, int mask_code, + vector &data_seg_stdev, double base_score) { + // base mask is used to detect base tbl + int base_mask = 1; + for(int i=0;inode_size_map; + for(int j=0;jnew_tbl(1<().swap(node_size_map); + double score = compute_score(new_tbl, new_plan, cur_lambda, data_seg_stdev); + if(score > *max_score){ + *max_score = score; + best_plan.clear(); + for(_ = 0; _ base_score && cur_lambda > 1) + if(cur_lambda > lambda_min) + visitPlanFromBaseTable(visited, cur_lambda - 1, new_plan, new_tbl, + max_score, best_plan, lambda_min, cur_whole_mask, data_seg_stdev, score); + vector().swap(new_tbl); + delete[] new_plan; + } +} + +double FADASNode::compute_score(vector&node_sizes, int *plan, int lambda, vector&data_seg_stdev) const{ + if(size < 2*Const::th){ + if(node_sizes[0] > Const::th || node_sizes[1] > Const::th) + return (double)min(node_sizes[0],node_sizes[1]) / Const::th; + return data_seg_stdev[plan[0]] * 100; + } + int over_th_nodes_no = 0; + for(int _:node_sizes){ + if(_ > Const::th) + over_th_nodes_no++; + } + double w = ((double)over_th_nodes_no) / ((int)node_sizes.size()); + double sum_seg = 0; + for(int i=0;iunit_size(Const::vertexNum, 0); +// vector>unit_seg_sum(Const::vertexNum , vector(Const::segmentNum, 0)); +// vector>data_seg_symbols(Const::segmentNum); +// +// for(int offset:offsets){ +// unsigned short* cur_sax = saxes + offset * Const::segmentNum; +// int head = SaxUtil::extendSax(cur_sax, bits_cardinality); +// unit_size[head]++; +// for(int i=0;idata_seg_mean(Const::segmentNum, 0); +// for(int i=0;i>().swap(data_seg_symbols); +// +// // start to compute the size of each node in each plan +// int plan_num = FADASNode::combine_num[lambda_max]; +// unordered_setvisited; +// double max_score = 0; +// vector best_plan; +// for(int i=0;iplan_node_sizes(1<>plan_node_seg_mean(1<(Const::segmentNum,0)); +// vector>plan_node_seg_sum(1<(Const::segmentNum, 0)); +// int mask_code = MathUtil::generateMaskSettingKbits(plan, lambda_max, Const::segmentNum); +// mapmax_node_size; +// map>max_node_seg_sum; +// for(int j=0;j().swap(max_node_size); +// _ = 0; +// for(auto & iter: max_node_seg_sum) { +// vector&tmp = iter.second; +// for(int k=0;k>().swap(max_node_seg_sum); +// +// double score = compute_score_cluster(plan_node_sizes, plan_node_seg_mean, data_seg_mean, +// plan, lambda_max); +// if(score > max_score){ +// max_score = score; +// best_plan.clear(); +// for(int j = 0; j().swap(plan_node_sizes); +// vector>().swap(plan_node_seg_mean); +// vector>().swap(plan_node_seg_sum); +// } +// +// unordered_set().swap(visited); +// vector().swap(unit_size); +// vector>().swap(unit_seg_sum); +// chosenSegments = best_plan; +//} + +void +FADASNode::visitPlanFromBaseTableCluster(unordered_set &visited, int cur_lambda, const int *plan, + vector &base_tbl_size, vector>&base_tbl_seg_sum, + double *max_score, vector &best_plan, int lambda_min, int mask_code, + vector &data_seg_mean) { + // base mask is used to detect base tbl + int base_mask = 1; + for(int i=0;inode_size_map; + map>node_seg_sum_map; + for(int j=0;jnew_tbl(1<>new_tbl_seg_sum(1<(Const::segmentNum, 0)); + vector>new_tbl_seg_mean(1<(Const::segmentNum, 0)); + + _ = 0; + for(auto &iter:node_size_map) + new_tbl[_++] = iter.second; + map().swap(node_size_map); + _ = 0; + for(auto & iter: node_seg_sum_map) { + vector&tmp = iter.second; + for(int k=0;k>().swap(node_seg_sum_map); + + double score = compute_score_cluster(new_tbl, new_tbl_seg_mean, data_seg_mean, new_plan, cur_lambda); + if(score > *max_score){ + *max_score = score; + best_plan.clear(); + for(_ = 0; _().swap(new_tbl); + vector>().swap(new_tbl_seg_mean); + vector>().swap(new_tbl_seg_sum); + delete[] new_plan; + } +} + +double FADASNode::compute_score_cluster(vector&node_sizes, vector>&plan_node_seg_mean, vector&seg_mean, + int *plan, int lambda) const{ +// int over_th_nodes_no = 0; +// for(int _:node_sizes){ +// if(_ > Const::th) +// over_th_nodes_no++; +// } +// double w = ((double)over_th_nodes_no) / ((int)node_sizes.size()); + int cluster_num = 1 << lambda; + double ssb = 0; + for(int i=0;iunit_size(Const::vertexNum, 0); +// vector>unit_seg_sum(Const::vertexNum , vector(Const::segmentNum, 0)); +// vector>data_seg_symbols(Const::segmentNum); +// +// for(int offset:offsets){ +// unsigned short* cur_sax = saxes + offset * Const::segmentNum; +// int head = SaxUtil::extendSax(cur_sax, bits_cardinality); +// unit_size[head]++; +// for(int i=0;idata_seg_mean(Const::segmentNum, 0); +// for(int i=0;i>().swap(data_seg_symbols); +// +// // start to compute the size of each node in each plan +// int plan_num = FADASNode::combine_num[lambda_max]; +// unordered_setvisited; +// double max_score = 0; +// vector best_plan; +// for(int i=0;iplan_node_sizes(1<>plan_node_seg_mean(1<(lambda_max,0)); +// vector>plan_node_seg_sum(1<(lambda_max, 0)); +// int mask_code = MathUtil::generateMaskSettingKbits(plan, lambda_max, Const::segmentNum); +// mapmax_node_size; +// map>max_node_seg_sum; +// for(int j=0;j().swap(max_node_size); +// _ = 0; +// for(auto & iter: max_node_seg_sum) { +// vector&tmp = iter.second; +// for(int k=0;k>().swap(max_node_seg_sum); +// +// double score = compute_score_cluster_weak(plan_node_sizes, plan_node_seg_mean, data_seg_mean, +// plan, lambda_max); +// if(score > max_score){ +// max_score = score; +// best_plan.clear(); +// for(int j = 0; j().swap(plan_node_sizes); +// vector>().swap(plan_node_seg_mean); +// vector>().swap(plan_node_seg_sum); +// } +// +// unordered_set().swap(visited); +// vector().swap(unit_size); +// vector>().swap(unit_seg_sum); +// chosenSegments = best_plan; +//} + +void +FADASNode::visitPlanFromBaseTableWeakCluster(unordered_set &visited, int cur_lambda, const int *plan, + vector &base_tbl_size, vector>&base_tbl_seg_sum, + double *max_score, vector &best_plan, int lambda_min, int mask_code, + vector &data_seg_mean) { + // base mask is used to detect base tbl + int base_mask = 1; + for(int i=0;inode_size_map; + map>node_seg_sum_map; + for(int j=0;jnew_tbl(1<>new_tbl_seg_sum(1<(cur_lambda, 0)); + vector>new_tbl_seg_mean(1<(cur_lambda, 0)); + + _ = 0; + for(auto &iter:node_size_map) + new_tbl[_++] = iter.second; + map().swap(node_size_map); + _ = 0; + for(auto & iter: node_seg_sum_map) { + vector&tmp = iter.second; + for(int k=0;k>().swap(node_seg_sum_map); + + double score = compute_score_cluster_weak(new_tbl, new_tbl_seg_mean, data_seg_mean, new_plan, cur_lambda); + if(score > *max_score){ + *max_score = score; + best_plan.clear(); + for(_ = 0; _().swap(new_tbl); + vector>().swap(new_tbl_seg_mean); + vector>().swap(new_tbl_seg_sum); + delete[] new_plan; + } +} + +double FADASNode::compute_score_cluster_weak(vector&node_sizes, vector>&plan_node_seg_mean, vector&seg_mean, + int *plan, int lambda) const{ +// int over_th_nodes_no = 0; +// for(int _:node_sizes){ +// if(_ > Const::th) +// over_th_nodes_no++; +// } +// double w = ((double)over_th_nodes_no) / ((int)node_sizes.size()); + int cluster_num = 1 << lambda; + double ssb = 0; + for(int i=0;i::max(), min_index = -1; + for(int i = 0; i < Const::segmentNum;++i){ + int big = max(node->paa_up_size[i], node->paa_below_size[i]); + if(big < min){ + min = big; + min_index = i; + } + } + return min_index; +} + +int FADASNode::chooseOneSegment(SAX_INFO* node){ + int min = numeric_limits::max(), min_index = -1; + for(int i = 0; i < Const::segmentNum;++i){ + int big = max(node->up_size[i], node->below_size[i]); + if(big < min){ + min = big; + min_index = i; + } + } + return min_index; +} + +void FADASNode::chooseSegment(PAA_INFO *paa, int chosen_num) { + chosenSegments.resize(chosen_num); + if(chosen_num == 1) { chosenSegments[0]=chooseOneSegment(paa) ; return;} + + tmp scores[Const::segmentNum]; + for(int i=0;i= Const::bitsCardinality) + scores[i] = tmp(i, -1); + else + scores[i] = tmp(i, paa->paa_variance[i]); + sort(scores, scores+Const::segmentNum, tmp::orderdesc); + for(int i=0;i= Const::bitsCardinality) + scores[i] = tmp(i, -1); + else + scores[i] = tmp(i, sax_info->sax_variance[i]); + sort(scores, scores+Const::segmentNum, tmp::orderdesc); + for(int i=0;i=0 ;--i){ + unsigned short t = new_id % 2 ; + new_id >>= 1; + sax[i] = t; + } +} + +void FADASNode::generateSaxAndCardinality(FADASNode* node, int new_id){ + copy(sax, sax + Const::segmentNum, node->sax); + copy(bits_cardinality, bits_cardinality + Const::segmentNum, node->bits_cardinality); + for(int i = chosenSegments.size() - 1; i >=0 ;--i){ + int seg = (chosenSegments)[i]; + node->bits_cardinality[seg]++; + int t = new_id % 2 ; + new_id >>= 1; + node->sax[seg] = (node->sax[seg] << 1) + t; + } +} + +void FADASNode::generateSaxAndCardIn1stLayer4LeafNode(int new_id){ + if(bits_cardinality[0] == -1){ + for(int &i:bits_cardinality) i=1; + generateSaxAndCardIn1stLayer(new_id); + return; + } + for(int i = Const::segmentNum - 1; i >=0 ;--i){ + int t = new_id % 2 ; + new_id >>= 1; + if(bits_cardinality[i] == 1 && sax[i] != t){ + bits_cardinality[i] = 0; + } + } +} + +void FADASNode::generateSaxAndCardinality4LeafNode(FADASNode* node, int new_id){ + if(node->bits_cardinality[0] == -1){ + generateSaxAndCardinality(node, new_id); + return; + } + for(int i = chosenSegments.size() - 1; i >=0 ;--i){ + int seg = chosenSegments[i]; + int t = new_id % 2 ; + new_id >>= 1; + if(node->bits_cardinality[seg] == bits_cardinality[seg] + 1 && node->sax[seg] % 2 != t){ + node->bits_cardinality[seg]--; + node->sax[seg] >>= 1; + } + } +} + +partUnit* find_node(vector&nodes, int target_id){ + for(partUnit* node: nodes){ + if(node->id == target_id) + return node; + } + return nullptr; +} + +struct failUnit{ + partUnit *node{}; + int neighbor_size{}; + + failUnit(partUnit* a, int b){ node = a; neighbor_size = b;} +}; + +static bool comp_fail_node(failUnit *x, failUnit *y){ + return x->neighbor_size > y->neighbor_size; +} + +int FADASNode::partition1stLayer(partUnit *nodes_map, vector> *g, double filling_factor) { + vectornodes; + int total_size = 0, node_number; + for(int i=0;i 0) { + nodes.push_back(&nodes_map[i]); + total_size += nodes_map[i].size; + } + } + + node_number = nodes.size(); + if(node_number < 2) return 0; + if(node_number == 2 && nodes[0]->size + nodes[1]->size > Const::th) return 0; +// cout << "node number = " << node_number <<", total size = " << total_size << endl; + sort(nodes.begin(), nodes.end(), partUnit::comp_size); + int pid = 0; + int k = total_size / Const::th + 1; + + int _id, finish_num = 0, finish_size = 0, temp_size = 0, fail_partition_size = 0; + partUnit *temp_node; + vectortemp, candidates; + // first loop, build 2-clique + { + for(int i=0;ipid != -1 || nodes[i]->size > Const::th) continue; + temp_size = nodes[i]->size; temp.clear(); candidates.clear(); temp.push_back(nodes[i]); + _id = nodes[i]->id; + for(int j=0; jsize > Const::th) continue; + if(temp_node->pid == -1 && temp_node->size < Const::th) + candidates.push_back(temp_node); + } + + sort(candidates.begin(),candidates.end(), partUnit::comp_size); + for(partUnit* node:candidates){ + if(node->size + temp_size > Const::th) continue; + temp.push_back(node); + temp_size += node->size; + } + + // fulfill the partition requirement + if(temp_size >= filling_factor * Const::th){ + nodes[i]->pid = pid; + for(partUnit* cur: temp) cur->pid = pid; + finish_num += temp.size(); + finish_size += temp_size; +// cout << pid << ":" << temp_size << endl; + ++pid; + } + } + } + + if(finish_num >= node_number) return pid; +// cout<< "After first loop, finish nodes number = " << finish_num <<", finish series number = " << finish_size <= 4); + } + int sum = 0; + unordered_sethash_map; + for(FADASNode*child:children){ + if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; + sum += child->getBiasLeafNodeNum(); + hash_map.insert(child); + } + return sum; +} + +int FADASNode::getTotalSize(){ + if(!isInternalNode()) return size; + int sum = 0; + unordered_sethash_map; + for(FADASNode*child:children){ + if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; + sum += child->getTotalSize(); + hash_map.insert(child); + } + return sum; +} + +int FADASNode::getNodeNum(){ + if(!isInternalNode()) return 1; + int sum = 0; + unordered_sethash_map; + for(FADASNode*child:children){ + if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; + sum += child->getNodeNum(); + hash_map.insert(child); + } + return sum + 1; +} + +int FADASNode::getSumHeight(){ + if(!isInternalNode()) return layer; + int sum_height = 0; + unordered_sethash_map; + for(FADASNode*child:children){ + if(child == nullptr || hash_map.find(child) != hash_map.end()) continue; + sum_height += child->getSumHeight(); + hash_map.insert(child); + } + return sum_height; +} + +int FADASNode::loadSax(const string & saxfn){ + long f_size = FileUtil::getFileSize(saxfn.c_str()), series_num = f_size / (sizeof(unsigned short) * Const::segmentNum); + saxes = new(nothrow) unsigned short [f_size / sizeof(unsigned short )]; + FILE *f = fopen(saxfn.c_str(), "rb"); + fread(saxes, sizeof(unsigned short ), f_size / sizeof(unsigned short), f); + fclose(f); + Const::logPrint("Finish loading sax"); + return series_num; +} + +int FADASNode::loadSax2(const string & saxfn){ + long f_size = FileUtil::getFileSize(saxfn.c_str()), series_num = f_size / (sizeof(unsigned short) * Const::segmentNum); + sax_tbl = new(nothrow) unsigned short* [series_num]; + FILE *f = fopen(saxfn.c_str(), "rb"); + for(unsigned i = 0; i < series_num; ++i){ + sax_tbl[i] = new unsigned short[Const::segmentNum]; + fread(sax_tbl[i], sizeof(unsigned short), Const::segmentNum, f); + } + fclose(f); + Const::logPrint("Finish loading sax"); + return series_num; +} + +void FADASNode::loadPaa(const string & paafn){ + long f_size = FileUtil::getFileSize(paafn.c_str()); + paas = new float [f_size / sizeof(float )]; + FILE *f = fopen(paafn.c_str(), "rb"); + fread(paas, sizeof(float ), f_size / sizeof(float ), f); + fclose(f); + Const::logPrint( "Finish loading paa"); +} + +long FADASNode::generateSaxAndPaaTbl(){ + string fn = Const::datafn; + long fs = FileUtil::getFileSize(fn.c_str()); + long series_num = fs / Const::tsLengthBytes; + cout << "Total Series Number is "< 0){ + int num; + if(rest > 400000) num = 400000; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto start = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto end = chrono::system_clock::now(); + SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); + + for(int i=0;i(start - end).count(); + } + + fclose(f); + return series_num; +} + +void FADASNode::getFileNameInsert(const string &index_dir, string &sax_file, string &data_file) const { + sax_file = index_dir; + data_file = index_dir; + if(layer == 1){ + sax_file += "1_"; + data_file += "1_"; + if(partition_id == -1){ + sax_file += to_string(id) + "_sax_L"; + data_file += to_string(id) + "_L"; + }else{ + sax_file += to_string(partition_id) + "_sax"; + data_file += to_string(partition_id); + } + }else{ + sax_file += getFileName() + "_sax"; + if(partition_id == -1) sax_file += "_L"; + data_file += getFileName(); + if(partition_id == -1) data_file += "_L"; + } +} + +long FADASNode::generateSaxTbl(){ + string fn = Const::datafn; + long series_num; + if(Const::series_num == -1) { + long fs = FileUtil::getFileSize(fn.c_str()); + series_num = fs / Const::tsLengthBytes; + }else{ + series_num = Const::series_num; + } + cout << "Total Series Number is "< 0){ + unsigned num; + if(rest > 2000000) num = 2000000; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + + auto start = chrono::system_clock::now(); + fread(tss, sizeof(float),num * Const::tsLength, f); + auto end = chrono::system_clock::now(); + SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); + + for(int i=0;i(start - end).count(); + } + + fclose(f); + return series_num; +} + +void SAXComputeWorker(float*tss, unsigned num, unsigned short *saxes, int cur){ + for(unsigned i=0;i 200000 ? 200000: Const::fbl_series_num; + vector>tss(2, vector(buf_series_num * Const::tsLength)); + unsigned num = rest > buf_series_num ? buf_series_num : rest; + auto start = chrono::system_clock::now(); + fread(tss[0].data(), sizeof(float),num * Const::tsLength, f); + auto end = chrono::system_clock::now(); + SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); + rest -= num; + cur += num; + int cur_buf = 0; + vectorsax_workers; + timeval sax_start; + + while(rest > 0){ + sax_workers.clear(); + int batch_num = num / Const::thread_num; + Const::timer_start(&sax_start); + for(int i = 0 ;i < Const::thread_num - 1; ++i){ + sax_workers.emplace_back(SAXComputeWorker2, tss[cur_buf].data(), batch_num, sax_tbl, (cur - num) + i * batch_num); + } + sax_workers.emplace_back(SAXComputeWorker2, tss[cur_buf].data(), num - ((Const::thread_num - 1) * batch_num), + sax_tbl, (cur - num) + (Const::thread_num - 1) * batch_num ); + + num = rest > buf_series_num ? buf_series_num : rest; + cur_buf = 1 - cur_buf; + + start = chrono::system_clock::now(); + fread(tss[cur_buf].data(), sizeof(float),num * Const::tsLength, f); + end = chrono::system_clock::now(); + SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); + rest -= num; + cur += num; + + start = chrono::system_clock::now(); + for(int i = 0 ;i < Const::thread_num ; ++i) + sax_workers[i].join(); + end = chrono::system_clock::now(); + SAX_WAIT_TIME += chrono::duration_cast(end - start).count(); + SAX_PAA_CPU_TIME += (end_sax_time.tv_sec - sax_start.tv_sec)*1000000 + ((double)end_sax_time.tv_usec - sax_start.tv_usec); + + } + start = chrono::system_clock::now(); + sax_workers.clear(); + int batch_num = num / Const::thread_num; + for(int i = 0 ;i < Const::thread_num - 1; ++i){ + sax_workers.emplace_back(SAXComputeWorker2, tss[cur_buf].data(), batch_num, sax_tbl, (cur - num) + i * batch_num); + } + sax_workers.emplace_back(SAXComputeWorker2, tss[cur_buf].data(), num - ((Const::thread_num - 1) * batch_num), + sax_tbl, (cur - num) + (Const::thread_num - 1) * batch_num ); + for(int i = 0 ;i < Const::thread_num ; ++i) + sax_workers[i].join(); + + end = chrono::system_clock::now(); + SAX_WAIT_TIME += chrono::duration_cast(end - start).count(); + + fclose(f); + return series_num; + +} + +long FADASNode::generateSaxTblParallel(){ + string fn = Const::datafn; + long series_num; + if(Const::series_num == -1) { + long fs = FileUtil::getFileSize(fn.c_str()); + series_num = fs / Const::tsLengthBytes; + }else{ + series_num = Const::series_num; + } + cout << "Total Series Number is "<>tss(2, vector(buf_series_num * Const::tsLength)); + unsigned num = rest > buf_series_num ? buf_series_num : rest; + auto start = chrono::system_clock::now(); + fread(tss[0].data(), sizeof(float),num * Const::tsLength, f); + auto end = chrono::system_clock::now(); + SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); + rest -= num; + cur += num; + int cur_buf = 0; + thread* saxworker; + + while(rest > 0){ + saxworker = new thread(SAXComputeWorker, tss[cur_buf].data(), num, saxes, cur - num); + + num = rest > buf_series_num ? buf_series_num : rest; + cur_buf = 1 - cur_buf; + + start = chrono::system_clock::now(); + fread(tss[cur_buf].data(), sizeof(float),num * Const::tsLength, f); + end = chrono::system_clock::now(); + SAX_PAA_READ_TIME += chrono::duration_cast(end - start).count(); + rest -= num; + cur += num; + + start = chrono::system_clock::now(); + saxworker->join(); + end = chrono::system_clock::now(); + SAX_PAA_CPU_TIME += chrono::duration_cast(end - start).count(); + + } + start = chrono::system_clock::now(); + saxworker = new thread(SAXComputeWorker, tss[cur_buf].data(), num, saxes, cur - num); + saxworker->join(); + end = chrono::system_clock::now(); + SAX_PAA_CPU_TIME += chrono::duration_cast(end - start).count(); + + fclose(f); + return series_num; + +} + +void FADASNode::generateSaxTbl(const float*tss, int series_num){ + saxes = new unsigned short[series_num * Const::segmentNum]; + + for(long i = 0; i< series_num;++i) + SaxUtil::saxFromTs(tss + i * Const::tsLength, saxes + i * Const::segmentNum, + Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); + +} + +FADASNode *FADASNode::loadFromDisk(const string &saxfn, const string &idxfn, bool need_sax) { + if(need_sax) + loadSax(saxfn); + ifstream ifs(idxfn, ios::binary); + boost::archive::binary_iarchive ia(ifs); + auto *g = new FADASNode(); + ia >> (*g); + ifs.close(); + return g; +} + +int FADASNode::assignLeafNum() { + if(!isInternalNode()) { + leaf_num = 1; + return 1; + } + + unordered_setvisited; + for(FADASNode* child: children){ + if(child == nullptr || visited.count(child) > 0) continue; + visited.insert(child); + leaf_num += child->assignLeafNum(); + } + + return leaf_num; +} diff --git a/src/IndexConstruction/IPGDataNode.cpp b/src/IndexConstruction/IPGDataNode.cpp index 7d578f8..3963ca1 100644 --- a/src/IndexConstruction/IPGDataNode.cpp +++ b/src/IndexConstruction/IPGDataNode.cpp @@ -1,5 +1,5 @@ -// -// Created by pengwang5 on 2021/12/7. -// - -#include "../../include/DataStructures/IPGDataNode.h" +// +// Created by pengwang5 on 2021/12/7. +// + +#include "../../include/DataStructures/IPGDataNode.h" diff --git a/src/SearchEngine/FADASSearcher.cpp b/src/SearchEngine/FADASSearcher.cpp index 2ab50cd..b2a6c8d 100644 --- a/src/SearchEngine/FADASSearcher.cpp +++ b/src/SearchEngine/FADASSearcher.cpp @@ -1,1896 +1,3780 @@ -// -// Created by pengwang5 on 2022/1/16. -// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "liburing.h" -#include "../../include/Searchers/FADASSearcher.h" -#include "../../include/Utils/MathUtil.h" -#include "../../include/Utils/TimeSeriesUtil.h" -#include "../../include/DataStructures/SafePq.h" -#include "../../include/DataStructures/SafeHashMap.h" - -extern long LB_SERIES_TIME = 0, HEAP_TIME = 0, IO_URING_WAIT = 0, - LB_NODE_TIME_STAT = 0, LB_NODE_CNT = 0, LOADED_NODE_CNT = 0; -extern double DIST_CALC_TIME = 0, READ_TIME = 0, PREPARE_TIME = 0, SEARCH_TIME = 0; -extern int layer, _search_num; -static FADASNode* targetNode; -vector * FADASSearcher::approxSearch(FADASNode *root, float *query, int k, vector> *g, - const string &index_dir, - float *query_reordered, int *ordering) { - auto* queryTs = new TimeSeries(query); - auto*heap = new vector(); - - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; - - int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); - FADASNode *cur = (root->children)[head]; - if(cur == nullptr){ - FADASNode *node = nullptr; - double min_dist = numeric_limits::max(); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - if(dist < min_dist){ - min_dist = dist; - node = root->children[i]; - } - } - -// for(int i=0;ichildren[(*g)[head][i]] != nullptr){ -// node = root->children[(*g)[head][i]]; -// break; -// } -// } - assert(node!=nullptr); - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, query_reordered, ordering); - }else { node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = node;} - }else if(!cur->isInternalNode()){ - { cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = cur;} - }else approxSearchInterNode(cur, queryTs, sax, k, heap, index_dir, query_reordered, ordering); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -void FADASSearcher::approxSearchInner4IncSearch(FADASNode *root, TimeSeries *queryTs, int k, - vector *heap, - vector> *g, unsigned short *sax, - const string &index_dir, - float *query_reordered, int *ordering) { - int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); - - FADASNode *cur = (root->children)[head]; - if(cur == nullptr){ - FADASNode *node = nullptr; - double min_dist = numeric_limits::max(); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - if(dist < min_dist){ - min_dist = dist; - node = root->children[i]; - } - } - - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, query_reordered, ordering); - }else { node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = node;} - - }else if(!cur->isInternalNode()){ - { cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = cur; - } - }else approxSearchInterNode(cur, queryTs, sax, k, heap, index_dir, query_reordered, ordering); - -} - -void FADASSearcher::approxSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, - float *query_reordered, int *ordering) { - FADASNode *cur = root->route(sax); - - if(!cur->isInternalNode()){ - cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); - targetNode = cur; - return; - } - - // below is only for a nullptr target leaf node, then we search the nearest sibling - double min_dist = numeric_limits::max(), max_size = 0; - FADASNode *node; - for(int i=0;ichildren.size();++i){ - if(cur->children[i] == nullptr) continue; - double dist; - if(!cur->children[i]->isInternalNode()) - dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->sax, cur->bits_cardinality, cur->chosenSegments, i); -// if(cur->children[i]->isLeafNode()) dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); - else dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); - if(dist < min_dist){ - min_dist = dist; - max_size = cur->children[i]->size; - node = cur->children[i]; - }else if(dist == min_dist && cur->children[i]->size > max_size){ - max_size = cur->children[i]->size; - node = cur->children[i]; - } - } - - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, query_reordered, ordering); - return; - }else { node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = node;} -} - -vector * FADASSearcher::approxSearchDTW(FADASNode *root, float *query, int k, vector> *g, - const string &index_dir) { - auto* queryTs = new TimeSeries(query); - auto*heap = new vector(); - - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; - - int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); - FADASNode *cur = (root->children)[head]; - if(cur == nullptr){ - FADASNode *node = nullptr; - for(int i=0;ichildren[(*g)[head][i]] != nullptr){ - node = root->children[(*g)[head][i]]; - break; - } - } - assert(node!=nullptr); - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNodeDTW(node, queryTs, sax, k, heap, index_dir); - }else { node->searchDTW(k, queryTs, *heap, index_dir); targetNode = node;} - }else if(!cur->isInternalNode()){ - { cur->searchDTW(k, queryTs, *heap, index_dir); targetNode = cur;} - }else approxSearchInterNodeDTW(cur, queryTs, sax, k, heap, index_dir); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -void FADASSearcher::approxSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir) { - FADASNode *cur = root->route(sax); - if(!cur->isInternalNode()){ - cur->searchDTW(k, queryTs, *heap, index_dir); - targetNode = cur; - return; - } - - auto* lowerLemire = new float [Const::tsLength]; - auto* upperLemire = new float [Const::tsLength]; - SaxUtil::lower_upper_lemire(queryTs->ts, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); - double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); - double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); - - - // below is only for a nullptr target leaf node, then we search the nearest sibling - double min_dist = numeric_limits::max(), max_size = 0; - FADASNode *node; - for(auto & i : cur->children){ - if(i == nullptr) continue; - double dist = SaxUtil::minidist_paa_to_isax_DTW(upperPaa, lowerPaa, i->sax, i->bits_cardinality); - if(dist < min_dist){ - min_dist = dist; - max_size = i->size; - node = i; - }else if(dist == min_dist && i->size > max_size){ - max_size = i->size; - node = i; - } - } - - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNodeDTW(node, queryTs, sax, k, heap, index_dir); - return; - }else { node->searchDTW(k, queryTs, *heap, index_dir); targetNode = node;} -} - -vector * FADASSearcher::approxSearchLessPack(FADASNode *root, float *query, int k, vector> *g, - const string &index_dir) { - auto* queryTs = new TimeSeries(query); - auto*heap = new vector(); - - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; - - int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); - FADASNode *cur = (root->children)[head]; - if(cur == nullptr){ - FADASNode *node = nullptr; - for(int i=0;ichildren[(*g)[head][i]] != nullptr){ - node = root->children[(*g)[head][i]]; - break; - } - } - assert(node!=nullptr); - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNodeLessPack(node, queryTs, sax, k, heap, index_dir); - }else { node->searchLessPack(k, queryTs, *heap, index_dir); targetNode = node;} - }else if(!cur->isInternalNode()){ - { cur->searchLessPack(k, queryTs, *heap, index_dir); targetNode = cur;} - }else approxSearchInterNodeLessPack(cur, queryTs, sax, k, heap, index_dir); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -void FADASSearcher::approxSearchInterNodeLessPack(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir) { - FADASNode *cur = root->route(sax); - if(!cur->isInternalNode()){ - cur->searchLessPack(k, queryTs, *heap, index_dir); - targetNode = cur; - return; - } - - // below is only for a nullptr target leaf node, then we search the nearest sibling - cout <<"nullptr target leaf node" <::max(), max_size = 0; - FADASNode *node; - for(int i=0;ichildren.size();++i){ - if(cur->children[i] == nullptr) continue; - double dist; - if(!cur->children[i]->isInternalNode()) - dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->sax, cur->bits_cardinality, cur->children[i]->chosenSegments, i); -// if(cur->children[i]->isLeafNode()) dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); - else dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); - if(dist < min_dist){ - min_dist = dist; - max_size = cur->children[i]->size; - node = cur->children[i]; - }else if(dist == min_dist && cur->children[i]->size > max_size){ - max_size = cur->children[i]->size; - node = cur->children[i]; - } - } - - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, nullptr, nullptr); - return; - }else { node->search(k, queryTs, *heap, index_dir, nullptr, nullptr); targetNode = node;} -} - -vector * FADASSearcher::approxSearchPos(FADASNode *root, float *query, int k, vector> *g, - const string &index_dir) { - auto* queryTs = new TimeSeries(query); - auto*heap = new vector(); - - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; - - int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); - FADASNode *cur = (root->children)[head]; - if(cur == nullptr){ - FADASNode *node = nullptr; - for(int i=0;ichildren[(*g)[head][i]] != nullptr){ - node = root->children[(*g)[head][i]]; - break; - } - } - assert(node!=nullptr); - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNodePos(node, queryTs, sax, k, heap, index_dir); - }else { node->search_offset(k, queryTs, *heap, index_dir); targetNode = node;} - }else if(!cur->isInternalNode()){ - { cur->search_offset(k, queryTs, *heap, index_dir); targetNode = cur;} - }else approxSearchInterNodePos(cur, queryTs, sax, k, heap, index_dir); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -void FADASSearcher::approxSearchInterNodePos(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir) { - FADASNode *cur = root->route(sax); - if(!cur->isInternalNode()){ - cur->search_offset(k, queryTs, *heap, index_dir); - targetNode = cur; - return; - } - - double min_dist = numeric_limits::max(), max_size = 0; - FADASNode *node; - for(int i=0;ichildren.size();++i){ - if(cur->children[i] == nullptr) continue; - double dist; - if(!cur->children[i]->isInternalNode()) dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->sax, cur->bits_cardinality, cur->children[i]->chosenSegments, i); - else dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); - if(dist < min_dist){ - min_dist = dist; - max_size = cur->children[i]->size; - node = cur->children[i]; - }else if(dist == min_dist && cur->children[i]->size > max_size){ - max_size = cur->children[i]->size; - node = cur->children[i]; - } - } - - // we only concern whether the nearest node is a leaf or an internal node - if(node->isInternalNode()){ - approxSearchInterNodePos(node, queryTs, sax, k, heap, index_dir); - return; - }else { node->search_offset(k, queryTs, *heap, index_dir); targetNode = node;} -} - -struct PqItemFadas{ - FADASNode* node{}; - double dist{}; - - PqItemFadas(FADASNode* n, double d){node = n; dist = d;} - PqItemFadas(){node = nullptr; dist = 0;} - - bool operator <(const PqItemFadas & pt) const{ - if(node == pt.node) return false; - else { - if(dist != pt.dist) return dist < pt.dist; - if(node->isInternalNode()) return true; - return false; - } - } -}; - -struct PqItemFadasId{ - FADASNode* parent; - int id; - double dist{}; - - PqItemFadasId(FADASNode* _parent, int _id, double d){parent = _parent;id= _id; dist = d;} - PqItemFadasId(){id=-1; dist = 0;parent = nullptr;} - - bool operator <(const PqItemFadasId & pt) const{ - if(dist != pt.dist) - return dist < pt.dist; - if(parent->layer != pt.parent->layer) - return parent->layer > pt.parent->layer; - return parent < pt.parent; - } - - bool operator >(const PqItemFadasId& pt) const{ - if(dist != pt.dist) - return dist > pt.dist; - if(parent->layer != pt.parent->layer) - return parent->layer < pt.parent->layer; - return parent > pt.parent; - } -}; - -struct cmp_PqItemDumpyId{ - bool operator()(const PqItemFadasId& a, const PqItemFadasId& pt) const{ - if(a.dist != pt.dist) - return a.dist > pt.dist; - if(a.parent->layer != pt.parent->layer) - return a.parent->layer < pt.parent->layer; - return a.parent > pt.parent; - } -}; - -vector*FADASSearcher::exactSearch(FADASNode* root, float *query, int k, vector> *g){ - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, nullptr, nullptr); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - setpq; - pq.insert(PqItemFadas(root, 0)); - - PqItemFadas cur; - while(!pq.empty()){ - cur = *pq.begin(); - if(cur.dist > bsf) break; - pq.erase(pq.begin()); - if(cur.node->isInternalNode()){ - unordered_setinserted; - for(FADASNode* node:cur.node->children) - if(node != nullptr && node != targetNode && inserted.find(node) == inserted.end()) { -// auto start = chrono::system_clock::now(); - inserted.insert(node); - double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); -// auto end = chrono::system_clock::now(); -// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); - if(lb_dist < bsf){ - pq.insert(PqItemFadas(node, lb_dist)); - LB_NODE_CNT++; - } - } - inserted.clear(); - }else{ - cur.node->search(k, queryTs, *heap, Const::fidxfn, nullptr, nullptr); - ++LOADED_NODE_CNT; - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -vector*FADASSearcher::exactSearchIdLevel(FADASNode* root, float *query, int k, vector> *g, - float *query_reordered, int *ordering){ - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); - unordered_setvisited; - visited.insert(targetNode); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - setpq; - for(int i =0;ichildren[i] == nullptr || visited.count(root->children[i]) > 0) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - pq.insert(PqItemFadasId(root,i, dist)); - } - - PqItemFadas cur; - double top_dist; - FADASNode* node; - int len; - while(!pq.empty()){ - top_dist = pq.begin()->dist; - if(top_dist > bsf) break; - node = pq.begin()->parent->children[pq.begin()->id]; - pq.erase(pq.begin()); - if(visited.count(node) > 0) continue; - visited.insert(node); - if(node->isInternalNode()){ - len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, - node->bits_cardinality, node->chosenSegments, i); -// double dist_simd = SaxUtil::LowerBound_Paa_iSax_SIMD(queryTs->paa, node->sax, -// node->bits_cardinality, node->chosenSegments, i); - - if(dist < bsf){ - pq.insert(PqItemFadasId(node, i, dist)); - } - } - }else{ - ++LOADED_NODE_CNT; -// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - node->search_SIMD(k,queryTs,*heap,Const::fidxfn); - for(auto item:*heap){ - if(fabs(item->dist - 11.36) < 1e-2) - cout << "here"; - } - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -atomic load_node_cnt; -atomic search_num; -mutex m, pq_mutex; -void process_pq(double bsf, TimeSeries* queryTs, int k, vector* heap, SafeHashMap*visited, - PriorityBlockingCollection* pq){ - PqItemFadasId cur; - double top_dist; - FADASNode* node; - int internal_node = 0, leaf_node = 0; - char _ = 0; - int len; - while(!pq->is_empty()){ - pq->take_prio(cur); - top_dist = cur.dist; - if(top_dist >= bsf) break; - node = cur.parent->children[cur.id]; - if(visited->find(node, _)) continue; - visited->insert(node, _); - if(node->isInternalNode()){ - ++internal_node; - len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, - node->bits_cardinality, node->chosenSegments, i); - if(dist < bsf) - pq->emplace(node, i, dist); - } - }else{ - load_node_cnt++; - search_num += node->size; - ++leaf_node; -// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - auto ret = node->search_SIMD(k,queryTs, Const::fidxfn, bsf); - int i=0; - { - lock_guard g(m); - bsf = (*heap)[0]->dist; - for(;isize() && (*ret)[i]->dist < bsf ;++i){ - pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - delete heap->back(); - heap->pop_back(); - heap->push_back((*ret)[i]); - push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - bsf = (*heap)[0]->dist; - } - - } - for(; i < ret->size(); ++i) - delete (*ret)[i]; - delete ret; - } - } -// cout << this_thread::get_id() << endl; -// Const::logPrint( ": has finished after processing " + -// to_string(internal_node) + " internal nodes and " + -// to_string(leaf_node) + " leaf nodes"); -} - -void process_pq_mypq(double bsf, TimeSeries* queryTs, int k, vector* heap, SafeHashMap*visited, - priority_queue, cmp_PqItemDumpyId>* pq){ - PqItemFadasId cur; - double top_dist; - FADASNode* node; - int internal_node = 0, leaf_node = 0; - char _ = 0; - int len; - while(true){ - { - lock_guard gm(pq_mutex); - if (pq->empty()) break; - cur = pq->top(); - pq->pop(); - } - top_dist = cur.dist; - if(top_dist >= bsf) break; - node = cur.parent->children[cur.id]; - if(visited->find(node, _)) continue; - visited->insert(node, _); - if(node->isInternalNode()){ - ++internal_node; - len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, - node->bits_cardinality, node->chosenSegments, i); - if(dist < bsf){ - lock_guardgm(pq_mutex); - pq->emplace(node, i, dist); - } - - } - }else{ - load_node_cnt++; - search_num += node->size; - ++leaf_node; -// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - auto ret = node->search_SIMD(k,queryTs, Const::fidxfn, bsf); - int i=0; - { - lock_guard g(m); - bsf = (*heap)[0]->dist; - for(;isize() && (*ret)[i]->dist < bsf ;++i){ - pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - delete heap->back(); - heap->pop_back(); - heap->push_back((*ret)[i]); - push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - bsf = (*heap)[0]->dist; - } - - } - for(; i < ret->size(); ++i) - delete (*ret)[i]; - delete ret; - } - } -// cout << this_thread::get_id() << endl; -// Const::logPrint( ": has finished after processing " + -// to_string(internal_node) + " internal nodes and " + -// to_string(leaf_node) + " leaf nodes"); -} - -void process_pq_messi(double bsf, TimeSeries* queryTs, int k, vector* heap, SafeHashMap*visited, - priority_queue, cmp_PqItemDumpyId>* messi_pq, mutex* mu){ - PqItemFadasId cur; - double top_dist; - FADASNode* node; - int internal_node = 0, leaf_node = 0; - char _ = 0; - int len; - while (true){ - { - lock_guard gm(*mu); - if(messi_pq->empty()) break; - cur = messi_pq->top(); - messi_pq->pop(); - } - top_dist = cur.dist; - if(top_dist >= bsf) break; - node = cur.parent->children[cur.id]; - if(visited->find(node, _)) continue; - visited->insert(node, _); - assert(!node->isInternalNode()); - load_node_cnt++; - search_num += node->size; - ++leaf_node; -// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - auto ret = node->search_SIMD(k,queryTs, Const::fidxfn, bsf); - int i=0; - { - lock_guard g(m); - bsf = (*heap)[0]->dist; - for(;isize() && (*ret)[i]->dist < bsf ;++i){ - pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - delete heap->back(); - heap->pop_back(); - heap->push_back((*ret)[i]); - push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - bsf = (*heap)[0]->dist; - } - - } - for(; i < ret->size(); ++i) - delete (*ret)[i]; - delete ret; - } -} - -vector*FADASSearcher::Par_exactSearchIdLevel(FADASNode* root, float *query, int k, vector> *g, - float *query_reordered, int *ordering){ - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); - SafeHashMapvisited; - char _ = 0; - visited.insert(targetNode, _); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - - timeval io; - Const::timer_start(&io); - PriorityBlockingCollection pq; - for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - pq.emplace(root, i, dist); - } - PREPARE_TIME += Const::timer_end(&io); - - Const::timer_start(&io); - int pre_step = 20; - PqItemFadasId cur; - double top_dist; - FADASNode* node; - int len; - while(!pq.is_empty() && LOADED_NODE_CNT < pre_step){ - pq.take_prio(cur); - top_dist = cur.dist; - if(top_dist >= bsf) break; - node =cur.parent->children[cur.id]; - if(visited.find(node, _)) continue; - visited.insert(node, _); - if(node->isInternalNode()){ - len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, - node->bits_cardinality, node->chosenSegments, i); - - if(dist < bsf){ - pq.emplace(node, i, dist); - } - } - }else{ - ++LOADED_NODE_CNT; -// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - node->search_SIMD(k,queryTs,*heap, Const::fidxfn); - bsf = (*heap)[0]->dist; - } - } - DIST_CALC_TIME += Const::timer_end(&io); - - Const::timer_start(&io); - if(!pq.is_empty() && top_dist < bsf){ - // start a thread pool - int th_num = Const::thread_num; - load_node_cnt = LOADED_NODE_CNT; - search_num = _search_num; - vectorthread_pool; - for(int i =0; i < th_num; ++i) - thread_pool.emplace_back(thread(process_pq, bsf,queryTs, k, heap, &visited, &pq)); - for(int i = 0; i < th_num; ++i) - thread_pool[i].join(); - LOADED_NODE_CNT = load_node_cnt; - _search_num = search_num; - } - SEARCH_TIME += Const::timer_end(&io); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -vector*FADASSearcher::Par_exactSearchIdLevel_MyPq(FADASNode* root, float *query, int k, vector> *g, - float *query_reordered, int *ordering){ - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); - SafeHashMapvisited; - char _ = 0; - visited.insert(targetNode, _); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - - timeval io; - Const::timer_start(&io); - priority_queue, cmp_PqItemDumpyId> pq; - for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - pq.emplace(root, i, dist); - } - PREPARE_TIME += Const::timer_end(&io); - - Const::timer_start(&io); - int pre_step = 20; - PqItemFadasId cur; - double top_dist; - FADASNode* node; - int len; - while(!pq.empty() && LOADED_NODE_CNT < pre_step){ - cur = pq.top(); - pq.pop(); - top_dist = cur.dist; - if(top_dist >= bsf) break; - node =cur.parent->children[cur.id]; - if(visited.find(node, _)) continue; - visited.insert(node, _); - if(node->isInternalNode()){ - len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, - node->bits_cardinality, node->chosenSegments, i); - if(dist < bsf) - pq.emplace(node, i, dist); - } - }else{ - ++LOADED_NODE_CNT; -// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - node->search_SIMD(k,queryTs,*heap, Const::fidxfn); - bsf = (*heap)[0]->dist; - } - } - DIST_CALC_TIME += Const::timer_end(&io); - - Const::timer_start(&io); - if(!pq.empty() && top_dist < bsf){ - // start a thread pool - int th_num = Const::thread_num; - load_node_cnt = LOADED_NODE_CNT; - search_num = _search_num; - vectorthread_pool; - for(int i =0; i < th_num; ++i) - thread_pool.emplace_back(thread(process_pq_mypq, bsf, queryTs, k, heap, &visited, &pq)); - for(int i = 0; i < th_num; ++i) - thread_pool[i].join(); - LOADED_NODE_CNT = load_node_cnt; - _search_num = search_num; - } - SEARCH_TIME += Const::timer_end(&io); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -size_t hash_pointer(FADASNode* node){ - static const auto shift = (size_t)log2(1 + sizeof(FADASNode)); - return (size_t)(node) >> shift; -} - -vector*FADASSearcher::Par_exactSearchIdLevel_MESSI(FADASNode* root, float *query, int k, vector> *g, - float *query_reordered, int *ordering){ - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); - vector>visited(Const::messi_pq_num); - char _ = 0; - for(auto & vis: visited) vis.insert(targetNode, _); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - -// hash pointer_hash; // warning!!! default is the pointer itself, so it must a multiple of 4. - vector, cmp_PqItemDumpyId>> messi_pqs(Const::messi_pq_num); - - FADASNode* node; - int len; - double top_dist; - - timeval io; - Const::timer_start(&io); - queuenodes_list; - nodes_list.push(root); - while(!nodes_list.empty()){ - node = nodes_list.front(); - nodes_list.pop(); - assert(node->isInternalNode()); - len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr || visited[0].find(node->children[i], _)) continue; - top_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); - if(top_dist >= bsf) continue; - if(node->children[i]->isInternalNode()){ - nodes_list.push(node->children[i]); - }else{ - // the same node must be in the same queue - size_t pq_id = hash_pointer(node->children[i]) % Const::messi_pq_num; - messi_pqs[pq_id].emplace(node, i , top_dist); - } - } - } - PREPARE_TIME += Const::timer_end(&io); - - Const::timer_start(&io); - { - // start a thread pool - int th_num = Const::thread_num; - load_node_cnt = LOADED_NODE_CNT; - search_num = _search_num; - vectorthread_pool; -// vectorpq_sizes; -// pq_sizes.reserve(messi_pqs.size()); -// for(auto & _: messi_pqs) -// pq_sizes.push_back(_.size()); - vectorpq_mutexs(Const::messi_pq_num); - for(int i =0; i < th_num; ++i) - thread_pool.emplace_back(thread(process_pq_messi, bsf, queryTs, k, heap, &visited[i % Const::messi_pq_num], - &messi_pqs[i % Const::messi_pq_num], &pq_mutexs[i % Const::messi_pq_num])); - for(int i = 0; i < th_num; ++i) - thread_pool[i].join(); - LOADED_NODE_CNT = load_node_cnt; - _search_num = search_num; - } - SEARCH_TIME += Const::timer_end(&io); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -void raw_search_SIMD(float *tss, int size, float* query, vector &heap, int k, double& bsf){ - double dist; - for(int i = 0; i < size; ++i){ - dist = TimeSeriesUtil::euclideanDist_SIMD(query, tss + i * Const::tsLength , Const::tsLength, bsf); - if(heap.size() < k){ - heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - }else if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - } - if(heap.size() >= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } -} - -void raw_search_SIMD_Par(float *tss, int size, float* query, vector &heap, int k, double& bsf){ - double dist; - for(int i = 0; i < size; ++i){ - dist = TimeSeriesUtil::euclideanDist_SIMD(query, tss + i * Const::tsLength , Const::tsLength, bsf); - if(dist >= bsf) continue; -#pragma omp critical - { - bsf = heap[0]->dist; - if(dist < bsf){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - bsf = heap[0]->dist; - } - }; - } -} - -vector *FADASSearcher::Par_exactSearchIdLevel_SSD(FADASNode *root, float *query, int k, - vector> *g, - float *query_reordered, int *ordering, io_uring &ring, - vector> &io_buffer) { - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); - SafeHashMapvisited; - char _ = 0; - visited.insert(targetNode, _); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - priority_queue, cmp_PqItemDumpyId> pq; - for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - pq.emplace(root, i, dist); - } - - io_uring_sqe* sqe; io_uring_cqe* cqe; - int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; - bool first_time = true; size_t fd; timeval io_time; - PqItemFadasId cur; double top_dist; FADASNode* node; io_data* data; -// unsigned head = 0; int times = 0; vectorrecieve(Const::SSD_pq_num); - - while(!pq.empty()){ - cur = pq.top(); - pq.pop(); - top_dist = cur.dist; - if(top_dist >= bsf) break; - node = cur.parent->children[cur.id]; - if(node->isInternalNode()){ - len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, - node->bits_cardinality, node->chosenSegments, i); - if(dist < bsf) - pq.emplace(node, i, dist); - } - }else{ - if(visited.find(node, _)) continue; - visited.insert(node, _); - ++LOADED_NODE_CNT; - - sqe = io_uring_get_sqe(&ring); - assert(sqe); - auto & tmp = io_buffer[buffer_flag][cur_buf_size]; - tmp.node_size = node->size; - tmp.lb_dist = top_dist; - string file = Const::fidxfn + node->getFileNameWrapper(); - tmp.fd = open((file).c_str(), O_RDONLY); - assert(tmp.fd > 0); - io_uring_prep_read(sqe, tmp.fd, tmp.tss, ((unsigned)node->size) * Const::tsLength * sizeof(float), 0); -// io_uring_sqe_set_data(sqe, &tmp); - ++cur_buf_size; - if(cur_buf_size == Const::SSD_pq_num){ - if(!first_time){ - Const::timer_start(&io_time); - err = io_uring_wait_cqe_nr(&ring, &cqe, prev_buf_size); - IO_URING_WAIT += Const::timer_end(&io_time); - assert(err == 0); - -// head = times = 0; -// io_uring_for_each_cqe(&ring, head, cqe){ -// void * t = io_uring_cqe_get_data(cqe); -// data = (io_data*)t; -// recieve[times++] = (io_data*)t; -// assert(data->fd > 0); -// close(data->fd); -// } -// assert(times == prev_buf_size); - - io_uring_cq_advance(&ring, prev_buf_size); - err = io_uring_submit(&ring); - assert(err == cur_buf_size); - -#pragma omp parallel for num_threads(Const::thread_num) - for(int i = 0; i < prev_buf_size; ++i){ - auto &dat = io_buffer[1 - buffer_flag][i]; - close(dat.fd); - if(dat.lb_dist < bsf){ -// _search_num += dat.node_size; - raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); - } - } - - for(PqItemSeries*s: *heap){ - if(s->needDeepCopy) s->copyData(); - } - - }else{ - err = io_uring_submit(&ring); - assert(err == cur_buf_size); - } - first_time = false; - prev_buf_size = cur_buf_size; - cur_buf_size = 0; - buffer_flag = 1 - buffer_flag; - } - } - } - - err = io_uring_wait_cqe_nr(&ring, &cqe, prev_buf_size); - assert(err == 0); - - io_uring_cq_advance(&ring, prev_buf_size); - if(cur_buf_size > 0) { - err = io_uring_submit(&ring); - assert(err == cur_buf_size); - } - - for(int i = 0; i < prev_buf_size; ++i){ - auto &dat = io_buffer[1 - buffer_flag][i]; - close(dat.fd); - if(dat.lb_dist < bsf){ - _search_num += dat.node_size; - raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); - } - } - - if(cur_buf_size > 0){ - err = io_uring_wait_cqe_nr(&ring, &cqe, cur_buf_size); - assert(err == 0); - - io_uring_cq_advance(&ring, cur_buf_size); - for(int i = 0 ; i < cur_buf_size; ++i){ - auto& dat = io_buffer[buffer_flag][i]; - close(dat.fd); - if(dat.lb_dist < bsf){ - _search_num += dat.node_size; - raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); - } - } - } - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -vector*FADASSearcher::exactSearchDTW(FADASNode* root, float *query, int k, vector> *g){ - vector* heap = approxSearchDTW(root, query, k, g, Const::fidxfn); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - auto* lowerLemire = new float [Const::tsLength]; - auto* upperLemire = new float [Const::tsLength]; - SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); - double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); - double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); - - setpq; - pq.insert(PqItemFadas(root, 0)); - - PqItemFadas cur; - while(!pq.empty()){ - cur = *pq.begin(); - if(cur.dist > bsf) break; - pq.erase(pq.begin()); - if(cur.node->isInternalNode()){ - unordered_setinserted; - for(FADASNode* node:cur.node->children) - if(node != nullptr && node != targetNode && inserted.find(node) == inserted.end()) { -// auto start = chrono::system_clock::now(); - inserted.insert(node); - double lb_dist = SaxUtil::minidist_paa_to_isax_DTW(upperPaa, lowerPaa, node->sax, node->bits_cardinality); -// auto end = chrono::system_clock::now(); -// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); - if(lb_dist < bsf){ - pq.insert(PqItemFadas(node, lb_dist)); - LB_NODE_CNT++; - } - } - inserted.clear(); - }else{ - cur.node->searchDTW(k, queryTs, *heap, Const::fidxfn); - ++LOADED_NODE_CNT; - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - delete[] lowerPaa; - delete[] upperPaa; - delete[] lowerLemire; - delete[] upperLemire; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -vector*FADASSearcher::exactSearchPos(FADASNode* root, float *query, int k, vector> *g){ - vector* heap = approxSearchPos(root, query, k, g, Const::posidxfn); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - setpq; - pq.insert(PqItemFadas(root, 0)); - - PqItemFadas cur; - while(!pq.empty()){ - cur = *pq.begin(); - if(cur.dist >= bsf) break; - pq.erase(pq.begin()); - if(cur.node->isInternalNode()){ - for(FADASNode* node:cur.node->children) - if(node != nullptr && node != targetNode) { -// auto start = chrono::system_clock::now(); - double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); -// auto end = chrono::system_clock::now(); -// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); - if(lb_dist < bsf) { - pq.insert(PqItemFadas(node, lb_dist)); - LB_NODE_CNT++; - } - } - }else{ - cur.node->search_offset(k, queryTs, *heap, Const::posidxfn); - ++LOADED_NODE_CNT; - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -static float *t_paa; -static double *low_paa, *up_paa; -bool comp_fadas(const FADASNode* x, const FADASNode* y){ - if(x == nullptr) return false; - if(y == nullptr) return true; - return SaxUtil::LowerBound_Paa_iSax(t_paa, x->sax, x->layer) < SaxUtil::LowerBound_Paa_iSax(t_paa, y->sax, y->layer); -} - -bool comp_fadas_dtw(const FADASNode* x, const FADASNode* y){ - if(x == nullptr) return false; - if(y == nullptr) return true; - return SaxUtil::minidist_paa_to_isax_DTW(up_paa, low_paa, x->sax, x->bits_cardinality) < SaxUtil::minidist_paa_to_isax_DTW(up_paa, low_paa, y->sax, y->bits_cardinality); -} - - -void searchSubTree(FADASNode *root, TimeSeries *queryTs, int k, vector *heap, const string &index_dir,int &node_num, float *query_reordered, int *ordering){ - unordered_setvisited; - if(!root->isInternalNode()){ - if(root != targetNode) { - root->search(k, queryTs, *heap, index_dir, query_reordered, ordering); - --node_num; - } - return; - } - for(auto child:root->children){ - if(child == nullptr || child == targetNode || visited.count(child) > 0) continue; - visited.insert(child); - if(!child->isInternalNode()){ - child->search(k,queryTs,*heap, index_dir, query_reordered, ordering); - --node_num; - }else{ - searchSubTree(child, queryTs, k, heap, index_dir, node_num, query_reordered, ordering); - } - } -} - -void searchSubTree(FADASNode *root, TimeSeries *queryTs, int k, vector *heap, const string &index_dir, - int &node_num, float *query_reordered, int *ordering, unordered_set*hash_set){ - unordered_setvisited; - if(!root->isInternalNode()){ - if(root != targetNode) { - root->search(k, queryTs, *heap, index_dir, hash_set, query_reordered, ordering); - --node_num; - } - return; - } - for(auto child:root->children){ - if(child == nullptr || child == targetNode || visited.count(child) > 0) continue; - visited.insert(child); - if(!child->isInternalNode()){ - child->search(k,queryTs,*heap, index_dir, hash_set, query_reordered, ordering); - --node_num; - }else{ - searchSubTree(child, queryTs, k, heap, index_dir, node_num, query_reordered, ordering, hash_set); - } - } -} - -extern int nrest; -vector * FADASSearcher::approxIncSearch(FADASNode *root, float *query, int k, const string &index_dir, - int node_num, - float *query_reordered, int *ordering, vector> *g) { - auto* queryTs = new TimeSeries(query); - t_paa = queryTs->paa; - auto*heap = new vector(); - - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; - - approxSearchInner4IncSearch(root, queryTs, k, heap, g, sax, index_dir, query_reordered, ordering); - --node_num; - if(node_num >= 0) - approxIncSearchInterNode(root, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); - - nrest = node_num; - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - -} - -void FADASSearcher::approxIncSearchInner(FADASNode *root, float *query, int k, const string &index_dir, - int node_num, vector*heap, TimeSeries* queryTs,unsigned short *sax, - float *query_reordered, int *ordering, vector> *g) { - - if(node_num >= 0) - approxIncSearchInterNode(root, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); - -} - - - -vector *FADASSearcher::ngSearch(FADASNode *root, float *query, float *query_reordered, int *ordering, - int k, - vector> *g, int nprobes){ - auto *queryTs = new TimeSeries(query); - auto heap = new vector(); - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; -// approxSearchInner(root,queryTs, k,heap,g,sax, Const::fidxfn, query_reordered, ordering); -// --nprobes; - - FADASNode* root_subtree = root->route1step(sax); - unordered_setvisited; - if(root_subtree){ - if(!root_subtree->isInternalNode()){ - visited.insert(root_subtree); - root_subtree->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - --nprobes; - }else if(root_subtree->leaf_num <= Const::pre_read){ - // a small subtree - if(nprobes >= root_subtree->leaf_num) { - int _ =root_subtree->leaf_num; - visited.insert(root_subtree); - searchSubTree(root_subtree, queryTs, k, heap, Const::fidxfn, _, query_reordered, ordering); - nprobes -= root_subtree->leaf_num; - }else{ - int rest = nprobes; - approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fidxfn, rest, visited, - query_reordered, ordering); - nprobes = rest; - } - }else{ - // a big subtree - int to_search = min(nprobes, Const::pre_read); - int _ = to_search; - approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fidxfn, to_search, visited, - query_reordered, ordering); - nprobes = nprobes - _ + to_search; - } - } - - if(nprobes <= 0){ - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - } - - double bsf = heap->size() < k ? numeric_limits::max(): (*heap)[0]->dist; - - setpq; - for(int i =0;ichildren[i] == nullptr || visited.count(root->children[i]) > 0) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - pq.insert(PqItemFadasId(root,i, dist)); - } - int cur_probe = 0; - while(!pq.empty() && cur_probe < nprobes){ - double top_dist; - FADASNode* node; - top_dist = pq.begin()->dist; - if(top_dist > bsf) break; - node = pq.begin()->parent->children[pq.begin()->id]; - pq.erase(pq.begin()); - if(visited.count(node) > 0) continue; - visited.insert(node); - - if(node->isInternalNode()){ - int len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); - if(dist < bsf){ - pq.insert(PqItemFadasId(node, i, dist)); - } - } - }else{ - node->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - ++cur_probe; - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - -} - - -vector *FADASSearcher::ngSearchIdLevelNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, - int k, - vector> *g, int nprobes){ - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, nullptr, nullptr); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - setpq; - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - pq.insert(PqItemFadasId(root,i, dist)); - } - unordered_setvisited; - int cur_probe = 1; - while(!pq.empty() && cur_probe < nprobes){ - double top_dist; - FADASNode* node; - top_dist = pq.begin()->dist; - if(top_dist > bsf) break; - node = pq.begin()->parent->children[pq.begin()->id]; - pq.erase(pq.begin()); - if(visited.count(node) > 0) continue; - visited.insert(node); - - if(node->isInternalNode()){ - int len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr || node->children[i] == targetNode) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); - if(dist < bsf){ - pq.insert(PqItemFadasId(node, i, dist)); - } - } - }else{ - node->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); - ++cur_probe; - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - -} - -vector *FADASSearcher::ngSearchNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, - int k, - vector> *g, int nprobes) { - vector* heap = approxSearch(root, query, k, g, Const::fidxfn, nullptr, nullptr); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - setpq; - pq.insert(PqItemFadas(root, 0)); - - PqItemFadas cur; - int cur_probe = 1; - while(!pq.empty() && cur_probe < nprobes){ - cur = *pq.begin(); - if(cur.dist > bsf) break; - pq.erase(pq.begin()); - if(cur.node->isInternalNode()){ - unordered_setinserted; - for(FADASNode* node:cur.node->children) - if(node != nullptr && node != targetNode && inserted.find(node) == inserted.end()) { -// auto start = chrono::system_clock::now(); - inserted.insert(node); - double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); -// auto end = chrono::system_clock::now(); -// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); - if(lb_dist < bsf){ - pq.insert(PqItemFadas(node, lb_dist)); - LB_NODE_CNT++; - } - } - inserted.clear(); - }else{ - cur.node->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); -// ++LOADED_NODE_CNT; - ++cur_probe; - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - - - -vector * FADASSearcher::approxIncSearchDTW(FADASNode *root, float *query, int k, const string &index_dir, - int node_num) { - auto* queryTs = new TimeSeries(query); - auto* lowerLemire = new float [Const::tsLength]; - auto* upperLemire = new float [Const::tsLength]; - SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); - low_paa= SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); - up_paa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); - - t_paa = queryTs->paa; - auto*heap = new vector(); - - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; - - approxIncSearchInterNodeDTW(root, queryTs, sax, k, heap, index_dir, node_num); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - -} - -void FADASSearcher::approxIncSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir,int &node_num) { - if(!root->isInternalNode() || node_num <= 0) return; - FADASNode *cur = root->route1step(sax), *parent = root; - while (cur!= nullptr && cur->isInternalNode() && cur->getLeafNodeNum() > node_num) { - parent = cur; - cur = cur->route(sax); - } - - if(cur!= nullptr){ - if(!cur->isInternalNode()){ - cur->searchDTW(k, queryTs, *heap, index_dir); - --node_num; - }else{ - approxIncSearchInterNodeDTW(cur, queryTs, sax, k, heap, index_dir, node_num); - } - } - - if(node_num <=0) return; - - vectorcandidates; - unordered_setcands; - for(FADASNode *node: parent->children) - if(node != nullptr && node!=cur && cands.find(node) == cands.end()) { - candidates.push_back(node); - cands.insert(node); - } - cands.clear(); - sort(candidates.begin(), candidates.end(), comp_fadas_dtw); - - - - for(int i=0;i 0;++i){ - if(!candidates[i]->isInternalNode()) { - candidates[i]->searchDTW(k, queryTs, *heap, index_dir); - --node_num; - } - else { - approxIncSearchInterNodeDTW(candidates[i], queryTs, sax, k, heap, index_dir, node_num); - } - } - -} - -int q_id; -bool comp_fadas_id(const int i, const int j){ - return MathUtil::bitDiffNum(q_id, i ) < MathUtil::bitDiffNum(q_id,j); -} - - -extern int __layer; -void FADASSearcher::approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, - int &node_num, float *query_reordered, int *ordering) { - if(!root->isInternalNode() || node_num <= 0) return; - FADASNode *cur = root->route1step(sax), *parent = root; - while (cur!= nullptr && cur->isInternalNode() && cur->leaf_num > node_num) { - parent = cur; - cur = cur->route1step(sax); - } - - if(root->layer == 0) - __layer = cur->layer; - if(cur!= nullptr && cur != targetNode){ - if(!cur->isInternalNode()){ - cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); - --node_num; - }else{ - searchSubTree(cur, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); -// approxIncSearchInterNode(cur, queryTs,sax,k, heap, index_dir, node_num, query_reordered, ordering); - } - } - - if(node_num <=0) return; - - double bsf = (*heap)[0]->dist; - vectorcandidates; - int len = (1 << (parent->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr || parent->children[i] == cur) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, parent->sax, parent->bits_cardinality, parent->chosenSegments, i); - if(dist < bsf){ - candidates.emplace_back(parent, i, dist); - } - } - sort(candidates.begin(), candidates.end()); - -// vectorcandidates; -// unordered_setcands; -// for(FADASNode *node: parent->children) -// if(node != nullptr && node!=cur && cands.find(node) == cands.end()) { -// double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->layer); -// cands.insert(node); -// candidates.push_back(node); -// } -// cands.clear(); -// sort(candidates.begin(), candidates.end(), comp_fadas); - -// vectorcandidates; -// unordered_setcands; -// double bsf = (*heap)[0]->dist; -// for(FADASNode *node: parent->children) -// if(node != nullptr && node!=cur && cands.find(node) == cands.end()) { -// double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); -// if(dist > bsf) continue; -// cands.insert(node); -// candidates.emplace_back(node, dist); -// } -// cands.clear(); -// sort(candidates.begin(), candidates.end()); - - -// q_id = SaxUtil::extendSax(sax, parent->bits_cardinality, parent->chosenSegments); -// vectorids(1 << parent->chosenSegments.size(), 0); -// for(int i=0;i<(1<chosenSegments.size());++i) -// ids[i] = i; -// sort(ids.begin(), ids.end(), comp_fadas_id); -// -// unordered_setvisited; -// for(int i=0;i 0;++i){ -// FADASNode *tmp = parent->children[ids[i]]; -// if(tmp != nullptr && tmp != cur && visited.find(tmp) == visited.end()){ -// if(tmp->isLeafNode()){ -// --node_num; -// tmp->search(k, queryTs, *heap, index_dir); -// visited.insert(tmp); -// }else{ -// approxIncSearchInterNode(tmp, queryTs, sax, k, heap, index_dir, node_num); -// visited.insert(tmp); -// } -// } -// } - - unordered_setvisited; - for(int i=0;i 0;++i){ - FADASNode* node = parent->children[candidates[i].id]; - if(candidates[i].dist > bsf) break; - if(visited.count(node) > 0) continue; - visited.insert(node); - if(!node->isInternalNode()) { - node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); - --node_num; - } - else { - if(node->leaf_num <= node_num){ - searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); - }else - approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); - } - } - -// for(int i=0;i 0;++i){ -// FADASNode* node = candidates[i]; -// if(!node->isInternalNode()) { -// node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); -// --node_num; -// } -// else { -// approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); -// } -// } - -// for(int i=0;i 0;++i){ -// if(bsf < candidates[i].dist) break; -// FADASNode* node = candidates[i].node; -// if(!node->isInternalNode()) { -// node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); -// --node_num; -// } -// else { -// approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); -// } -// bsf = (*heap)[0]->dist; -// } - - - -} - -// for ng-search -void FADASSearcher::approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, - int &node_num, unordered_set&visit, float *query_reordered, int *ordering) { - if(node_num <= 0) return; - FADASNode *cur = root->route1step(sax), *parent = root; - while (cur!= nullptr && cur->isInternalNode() && cur->leaf_num > node_num) { - parent = cur; - cur = cur->route1step(sax); - } - - if(cur!= nullptr){ - visit.insert(cur); - if(!cur->isInternalNode()){ - cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); - --node_num; - }else{ - searchSubTree(cur, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); - } - } - - if(node_num <=0) return; - - double bsf = (*heap)[0]->dist; - vectorcandidates; - int len = (1 << (parent->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr || parent->children[i] == cur) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, parent->sax, parent->bits_cardinality, parent->chosenSegments, i); - if(dist < bsf){ - candidates.emplace_back(parent, i, dist); - } - } - sort(candidates.begin(), candidates.end()); - - for(int i=0;i 0;++i){ - FADASNode* node = parent->children[candidates[i].id]; - if(candidates[i].dist > bsf) break; - if(visit.count(node) > 0) continue; - visit.insert(node); - if(!node->isInternalNode()) { - node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); - --node_num; - } - else { - searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); - } - } - -} - -// for ng-search fuzzy -void FADASSearcher::approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir, - int &node_num, unordered_set&visit, float *query_reordered, int *ordering, - unordered_set*hash_set) { - if(node_num <= 0) return; - FADASNode *cur = root->route1step(sax), *parent = root; - while (cur!= nullptr && cur->isInternalNode() && cur->leaf_num > node_num) { - parent = cur; - cur = cur->route1step(sax); - } - - if(cur!= nullptr){ - visit.insert(cur); - if(!cur->isInternalNode()){ - cur->search(k, queryTs, *heap, index_dir, hash_set, query_reordered, ordering); - --node_num; - }else{ - searchSubTree(cur, queryTs,k, heap, index_dir, node_num, query_reordered, ordering, hash_set); - } - } - - if(node_num <=0) return; - - double bsf = (*heap)[0]->dist; - vectorcandidates; - int len = (1 << (parent->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr || parent->children[i] == cur) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, parent->sax, parent->bits_cardinality, parent->chosenSegments, i); - if(dist < bsf){ - candidates.emplace_back(parent, i, dist); - } - } - sort(candidates.begin(), candidates.end()); - - for(int i=0;i 0;++i){ - FADASNode* node = parent->children[candidates[i].id]; - if(candidates[i].dist > bsf) break; - if(visit.count(node) > 0) continue; - visit.insert(node); - if(!node->isInternalNode()) { - node->search(k, queryTs, *heap, index_dir, hash_set, query_reordered, ordering); - --node_num; - } - else { - searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering, hash_set); - } - } - -} - - -vector *FADASSearcher::ngSearchFuzzy(FADASNode *root, float *query, float *query_reordered, int *ordering, - int k, int nprobes){ - auto *queryTs = new TimeSeries(query); - auto heap = new vector(); - auto*hash_set = new unordered_set(); - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; -// approxSearchInner(root,queryTs, k,heap,g,sax, Const::fidxfn, query_reordered, ordering); -// --nprobes; - - FADASNode* root_subtree = root->route1step(sax); - unordered_setvisited; - if(root_subtree){ - if(!root_subtree->isInternalNode()){ - visited.insert(root_subtree); - root_subtree->search(k, queryTs, *heap, Const::fuzzyidxfn, hash_set, query_reordered, ordering); - --nprobes; - }else if(root_subtree->leaf_num <= Const::pre_read){ - // a small subtree - if(nprobes >= root_subtree->leaf_num) { - int _ = root_subtree->leaf_num; - visited.insert(root_subtree); - searchSubTree(root_subtree, queryTs, k, heap, Const::fuzzyidxfn, _, query_reordered, ordering, hash_set); - nprobes -= root_subtree->leaf_num; - }else{ - int rest = nprobes; - approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fuzzyidxfn, rest, visited, - query_reordered, ordering, hash_set); - nprobes = rest; - } - }else{ - // a big subtree - int to_search = min(nprobes, Const::pre_read); - int _ = to_search; - approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fuzzyidxfn, to_search, visited, - query_reordered, ordering, hash_set); - nprobes = nprobes - _ + to_search; - } - } - - if(nprobes <= 0){ - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - } - - double bsf = heap->size() < k ? numeric_limits::max(): (*heap)[0]->dist; - - setpq; - for(int i =0;ichildren[i] == nullptr || visited.count(root->children[i]) > 0) continue; - double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); - pq.insert(PqItemFadasId(root,i, dist)); - } - int cur_probe = 0; - while(!pq.empty() && cur_probe < nprobes){ - double top_dist; - FADASNode* node; - top_dist = pq.begin()->dist; - if(top_dist > bsf) break; - node = pq.begin()->parent->children[pq.begin()->id]; - pq.erase(pq.begin()); - if(visited.count(node) > 0) continue; - visited.insert(node); - - if(node->isInternalNode()){ - int len = (1 << (node->chosenSegments.size())); - for(int i =0;ichildren[i] == nullptr) continue; - double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); - if(dist < bsf){ - pq.insert(PqItemFadasId(node, i, dist)); - } - } - }else{ - node->search(k, queryTs, *heap, Const::fuzzyidxfn, hash_set, query_reordered, ordering); - ++cur_probe; - bsf = (*heap)[0]->dist; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - -} - - - -vector * FADASSearcher::approxIncSearchFuzzy(FADASNode *root, float *query, int k, const string &index_dir, - int node_num) { - auto* queryTs = new TimeSeries(query); - t_paa = queryTs->paa; - auto*heap = new vector(); - auto*hash_set = new unordered_set(); - - unsigned short sax[Const::segmentNum]; - for(int i=0;isax))[i]; - - approxIncSearchInterNodeFuzzy(root, queryTs, sax, k, heap, index_dir, node_num, hash_set); - - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - -} - - -void FADASSearcher::approxIncSearchInterNodeFuzzy(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, - vector *heap, const string &index_dir,int &node_num, - unordered_set*hash_set) { - if(!root->isInternalNode() || node_num <= 0) return; - FADASNode *cur = root->route1step(sax), *parent = root; - while (cur!= nullptr && cur->isInternalNode() && cur->getLeafNodeNum() > node_num) { - parent = cur; - cur = cur->route(sax); - } - - if(cur!= nullptr){ - if(!cur->isInternalNode()){ - cur->search(k, queryTs, *heap, index_dir, hash_set); - --node_num; - }else{ - approxIncSearchInterNodeFuzzy(cur, queryTs, sax, k, heap, index_dir, node_num, hash_set); - } - } - - if(node_num <=0) return; - - vectorcandidates; - unordered_setcands; - for(FADASNode *node: parent->children) - if(node != nullptr && cands.find(node) == cands.end()) { - candidates.push_back(node); - cands.insert(node); - } - cands.clear(); - - sort(candidates.begin(), candidates.end(), comp_fadas); - - for(int i=0;i 0;++i){ - if(!candidates[i]->isInternalNode()) { - candidates[i]->search(k, queryTs, *heap, index_dir, hash_set); - --node_num; - } - else { - approxIncSearchInterNodeFuzzy(candidates[i], queryTs, sax, k, heap, index_dir, node_num, hash_set); - } - } - +// +// Created by pengwang5 on 2022/1/16. +// + +#include +#include +#include +#include +#include +#include +#include +#include +//#include +#include +//#include "liburing.h" +#include "../../include/Searchers/FADASSearcher.h" +#include "../../include/Utils/MathUtil.h" +#include "../../include/Utils/TimeSeriesUtil.h" +#include "../../include/DataStructures/SafePq.h" +#include "../../include/DataStructures/SafeHashMap.h" + +extern long LB_SERIES_TIME = 0, HEAP_TIME = 0, IO_URING_WAIT = 0, IO_ACTUAL_WAIT = 0, + LB_NODE_TIME_STAT = 0, LB_NODE_CNT = 0, LOADED_NODE_CNT = 0; +extern double DIST_CALC_TIME = 0, READ_TIME = 0, PREPARE_TIME = 0, SEARCH_TIME = 0, WAIT_TIME = 0, CPU_TIME = 0, + NON_OVERLAP_TIME = 0, TAIL_TIME = 0, PREV_TIME = 0; +extern int layer, _search_num; +timeval io_finish; + +struct PqItemFadasId{ + FADASNode* parent; + int id; + double dist{}; + + PqItemFadasId(FADASNode* _parent, int _id, double d){parent = _parent;id= _id; dist = d;} + PqItemFadasId(){id=-1; dist = 0;parent = nullptr;} + + bool operator <(const PqItemFadasId & pt) const{ + if(dist != pt.dist) + return dist < pt.dist; + if(parent->layer != pt.parent->layer) + return parent->layer > pt.parent->layer; + return parent < pt.parent; + } + + bool operator >(const PqItemFadasId& pt) const{ + if(dist != pt.dist) + return dist > pt.dist; + if(parent->layer != pt.parent->layer) + return parent->layer < pt.parent->layer; + return parent > pt.parent; + } +}; + +struct cmp_PqItemDumpyId{ + bool operator()(const PqItemFadasId& a, const PqItemFadasId& pt) const{ + if(a.dist != pt.dist) + return a.dist > pt.dist; + if(a.parent->layer != pt.parent->layer) + return a.parent->layer < pt.parent->layer; + return a.parent > pt.parent; + } +}; + +static FADASNode* targetNode; +vector * FADASSearcher::approxSearch(FADASNode *root, float *query, int k, vector> *g, + const string &index_dir, + float *query_reordered, int *ordering) { + auto* queryTs = new TimeSeries(query); + auto*heap = new vector(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); + FADASNode *cur = (root->children)[head]; + if(cur == nullptr){ + FADASNode *node = nullptr; + double min_dist = numeric_limits::max(); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + if(dist < min_dist){ + min_dist = dist; + node = root->children[i]; + } + } + +// for(int i=0;ichildren[(*g)[head][i]] != nullptr){ +// node = root->children[(*g)[head][i]]; +// break; +// } +// } + assert(node!=nullptr); + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, query_reordered, ordering); + }else { node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = node;} + }else if(!cur->isInternalNode()){ + { cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = cur;} + }else approxSearchInterNode(cur, queryTs, sax, k, heap, index_dir, query_reordered, ordering); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + + +void searchSubTree(FADASNode *root, TimeSeries *queryTs, int k, vector *heap, const string &index_dir,int &node_num, float *query_reordered, int *ordering){ + unordered_setvisited; + if(!root->isInternalNode()){ + if(root != targetNode) { + root->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + } + return; + } + for(auto child:root->children){ + if(child == nullptr || child == targetNode || visited.count(child) > 0) continue; + visited.insert(child); + if(!child->isInternalNode()){ + child->search(k,queryTs,*heap, index_dir, query_reordered, ordering); + --node_num; + }else{ + searchSubTree(child, queryTs, k, heap, index_dir, node_num, query_reordered, ordering); + } + } +} + +void searchSubTree(FADASNode *root, TimeSeries *queryTs, int k, vector *heap, const string &index_dir, + int &node_num, float *query_reordered, int *ordering, unordered_set*hash_set){ + unordered_setvisited; + if(!root->isInternalNode()){ + if(root != targetNode) { + root->search(k, queryTs, *heap, index_dir, hash_set, query_reordered, ordering); + --node_num; + } + return; + } + for(auto child:root->children){ + if(child == nullptr || child == targetNode || visited.count(child) > 0) continue; + visited.insert(child); + if(!child->isInternalNode()){ + child->search(k,queryTs,*heap, index_dir, hash_set, query_reordered, ordering); + --node_num; + }else{ + searchSubTree(child, queryTs, k, heap, index_dir, node_num, query_reordered, ordering, hash_set); + } + } +} + + +vector * FADASSearcher::multiWayApproxSearch(FADASNode *root, float *query, int k, + vector> *g, + const string &index_dir, int node_num, const int *mask, + float *query_reordered, + int *ordering) { + auto* queryTs = new TimeSeries(query); + auto* heap = new vector(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + float *paa = queryTs->paa; + vectorfuzzy_heads; + + int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); + FADASNode *cur = (root->children)[head]; + if(cur == nullptr || !cur->isInternalNode()){ // root subtree is null or a leaf + double bsf = numeric_limits::max(); + unordered_setvisited; + if(cur){ + visited.insert(cur); + cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + bsf = (*heap)[0]->dist; + } + vectorcandidates; + FADASNode* parent = root; + int len = (1 << (parent->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr || parent->children[i] == cur) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, parent->sax, parent->bits_cardinality, parent->chosenSegments, i); + if(dist < bsf){ + candidates.emplace_back(parent, i, dist); + } + } + sort(candidates.begin(), candidates.end()); + + + for(int i=0;i 0;++i){ + FADASNode* node = parent->children[candidates[i].id]; + if(candidates[i].dist > bsf) break; + if(visited.count(node) > 0) continue; + visited.insert(node); + if(!node->isInternalNode()) { + node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + } + else { + if(node->leaf_num <= node_num){ + searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); + }else + approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); + } + } + + }else{ + // root subtree is an internal node + for(int i = 0 ; i < Const::segmentNum; ++i){ + // in Dumpy-fuzzy, 1.5 is decided according to mean of paa, now we hard-code that + // TODO: It can also be optimized by saving means of paa in each node in the 1st layer. But not sure about the effect. + if(fabs(paa[i]) < 1.5 * Const::boundary_1st){ + if(root->children[mask[i] ^ head] == nullptr) continue; + fuzzy_heads.emplace_back(root, mask[i] ^ head, fabs(paa[i])); + push_heap(fuzzy_heads.begin(), fuzzy_heads.end(), cmp_PqItemDumpyId()); + } + } + FADASNode* parent, *minNode = cur; double lb, ub, range; + while(cur->isInternalNode()){ + parent = cur; + int nav_id = SaxUtil::extendSax(sax, cur->bits_cardinality, cur->chosenSegments); + int cur_nav_id = nav_id; + cur = cur->route1step(sax); + if(cur->isInternalNode() && cur->leaf_num >= node_num) minNode = cur; + int seg_num = parent->chosenSegments.size(); + for(int i= seg_num - 1 ; i >= 0; --i){ + int seg_id = parent->chosenSegments[i]; + unsigned short parent_sax_single = parent->sax[seg_id]; + int sibling_id = nav_id ^ (mask[Const::segmentNum - (seg_num - i)]); + int is_upper = cur_nav_id % 2; + cur_nav_id >>= 1; + if(parent->children[sibling_id] == nullptr) continue; + + unsigned short sax_single = (parent_sax_single << 1) + is_upper; + float paa_seg = paa[seg_id]; + SaxUtil::getValueRange(sax_single, parent->bits_cardinality[seg_id] + 1, &lb, &ub); + range = (ub - lb) * Const::boundary; + if(is_upper){ + // test lb distance + if(paa[seg_id] - lb < range ){ + fuzzy_heads.emplace_back(parent, sibling_id, paa[seg_id] - lb); + push_heap(fuzzy_heads.begin(), fuzzy_heads.end(), cmp_PqItemDumpyId()); + } + }else{ + // test ub distance + if(ub - paa[seg_id] < range){ + fuzzy_heads.emplace_back(parent, sibling_id, ub - paa[seg_id]); + push_heap(fuzzy_heads.begin(), fuzzy_heads.end(), cmp_PqItemDumpyId()); + } + } + } + } + + cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + unordered_setvisited; + visited.insert(cur); + while(node_num > 0 && !fuzzy_heads.empty()){ + pop_heap(fuzzy_heads.begin(), fuzzy_heads.end(), cmp_PqItemDumpyId()); + cur = fuzzy_heads.back().parent->children[fuzzy_heads.back().id]; + if(cur == nullptr) continue; + fuzzy_heads.pop_back(); + if(visited.count(cur) > 0) continue; + visited.insert(cur); + cur = cur->routeFuzzySeries(sax); + if(visited.count(cur) > 0) continue; + visited.insert(cur); + cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + } + + if(node_num > 0){ + cur = minNode->route1step(sax); + // since there is a leaf that has been searched, so we use > rather than >= + while(cur->leaf_num > node_num){ + minNode = cur; + cur = cur->route1step(sax); + } + + double bsf = (*heap)[0]->dist; + vectorcandidates; + int len = (1 << (minNode->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr || minNode->children[i] == cur || visited.count(minNode->children[i]) > 0) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, minNode->sax, minNode->bits_cardinality, minNode->chosenSegments, i); + if(dist < bsf){ + candidates.emplace_back(minNode, i, dist); + } + } + sort(candidates.begin(), candidates.end()); + + for(int i=0;i 0;++i){ + FADASNode* node = minNode->children[candidates[i].id]; + if(candidates[i].dist > bsf) break; + if(visited.count(node) > 0) continue; + visited.insert(node); + if(!node->isInternalNode()) { + node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + } + else { + if(node->leaf_num <= node_num){ + searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); + }else + approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); + } + } + } + + } + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + +void FADASSearcher::approxSearchInner4IncSearch(FADASNode *root, TimeSeries *queryTs, int k, + vector *heap, + vector> *g, unsigned short *sax, + const string &index_dir, + float *query_reordered, int *ordering) { + int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); + + FADASNode *cur = (root->children)[head]; + if(cur == nullptr){ + FADASNode *node = nullptr; + double min_dist = numeric_limits::max(); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + if(dist < min_dist){ + min_dist = dist; + node = root->children[i]; + } + } + + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, query_reordered, ordering); + }else { node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = node;} + + }else if(!cur->isInternalNode()){ + { cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = cur; + } + }else approxSearchInterNode(cur, queryTs, sax, k, heap, index_dir, query_reordered, ordering); + +} + +void FADASSearcher::approxSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, + float *query_reordered, int *ordering) { + FADASNode *cur = root->route(sax); + + if(!cur->isInternalNode()){ + cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + targetNode = cur; + return; + } + + // below is only for a nullptr target leaf node, then we search the nearest sibling + double min_dist = numeric_limits::max(), max_size = 0; + FADASNode *node; + for(int i=0;ichildren.size();++i){ + if(cur->children[i] == nullptr) continue; + double dist; + if(!cur->children[i]->isInternalNode()) + dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->sax, cur->bits_cardinality, cur->chosenSegments, i); +// if(cur->children[i]->isLeafNode()) dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); + else dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); + if(dist < min_dist){ + min_dist = dist; + max_size = cur->children[i]->size; + node = cur->children[i]; + }else if(dist == min_dist && cur->children[i]->size > max_size){ + max_size = cur->children[i]->size; + node = cur->children[i]; + } + } + + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, query_reordered, ordering); + return; + }else { node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); targetNode = node;} +} + +vector * FADASSearcher::approxSearchDTW(FADASNode *root, float *query, int k, vector> *g, + const string &index_dir) { + auto* queryTs = new TimeSeries(query); + auto*heap = new vector(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); + FADASNode *cur = (root->children)[head]; + if(cur == nullptr){ + FADASNode *node = nullptr; + for(int i=0;ichildren[(*g)[head][i]] != nullptr){ + node = root->children[(*g)[head][i]]; + break; + } + } + assert(node!=nullptr); + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNodeDTW(node, queryTs, sax, k, heap, index_dir); + }else { node->searchDTW(k, queryTs, *heap, index_dir); targetNode = node;} + }else if(!cur->isInternalNode()){ + { cur->searchDTW(k, queryTs, *heap, index_dir); targetNode = cur;} + }else approxSearchInterNodeDTW(cur, queryTs, sax, k, heap, index_dir); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +void FADASSearcher::approxSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir) { + FADASNode *cur = root->route(sax); + if(!cur->isInternalNode()){ + cur->searchDTW(k, queryTs, *heap, index_dir); + targetNode = cur; + return; + } + + auto* lowerLemire = new float [Const::tsLength]; + auto* upperLemire = new float [Const::tsLength]; + SaxUtil::lower_upper_lemire(queryTs->ts, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); + double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); + double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); + + + // below is only for a nullptr target leaf node, then we search the nearest sibling + double min_dist = numeric_limits::max(), max_size = 0; + FADASNode *node; + for(auto & i : cur->children){ + if(i == nullptr) continue; + double dist = SaxUtil::minidist_paa_to_isax_DTW(upperPaa, lowerPaa, i->sax, i->bits_cardinality); + if(dist < min_dist){ + min_dist = dist; + max_size = i->size; + node = i; + }else if(dist == min_dist && i->size > max_size){ + max_size = i->size; + node = i; + } + } + + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNodeDTW(node, queryTs, sax, k, heap, index_dir); + return; + }else { node->searchDTW(k, queryTs, *heap, index_dir); targetNode = node;} +} + +vector * FADASSearcher::approxSearchLessPack(FADASNode *root, float *query, int k, vector> *g, + const string &index_dir) { + auto* queryTs = new TimeSeries(query); + auto*heap = new vector(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); + FADASNode *cur = (root->children)[head]; + if(cur == nullptr){ + FADASNode *node = nullptr; + for(int i=0;ichildren[(*g)[head][i]] != nullptr){ + node = root->children[(*g)[head][i]]; + break; + } + } + assert(node!=nullptr); + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNodeLessPack(node, queryTs, sax, k, heap, index_dir); + }else { node->searchLessPack(k, queryTs, *heap, index_dir); targetNode = node;} + }else if(!cur->isInternalNode()){ + { cur->searchLessPack(k, queryTs, *heap, index_dir); targetNode = cur;} + }else approxSearchInterNodeLessPack(cur, queryTs, sax, k, heap, index_dir); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +void FADASSearcher::approxSearchInterNodeLessPack(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir) { + FADASNode *cur = root->route(sax); + if(!cur->isInternalNode()){ + cur->searchLessPack(k, queryTs, *heap, index_dir); + targetNode = cur; + return; + } + + // below is only for a nullptr target leaf node, then we search the nearest sibling + cout <<"nullptr target leaf node" <::max(), max_size = 0; + FADASNode *node; + for(int i=0;ichildren.size();++i){ + if(cur->children[i] == nullptr) continue; + double dist; + if(!cur->children[i]->isInternalNode()) + dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->sax, cur->bits_cardinality, cur->children[i]->chosenSegments, i); +// if(cur->children[i]->isLeafNode()) dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); + else dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); + if(dist < min_dist){ + min_dist = dist; + max_size = cur->children[i]->size; + node = cur->children[i]; + }else if(dist == min_dist && cur->children[i]->size > max_size){ + max_size = cur->children[i]->size; + node = cur->children[i]; + } + } + + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNode(node, queryTs, sax, k, heap, index_dir, nullptr, nullptr); + return; + }else { node->search(k, queryTs, *heap, index_dir, nullptr, nullptr); targetNode = node;} +} + +vector * FADASSearcher::approxSearchPos(FADASNode *root, float *query, int k, vector> *g, + const string &index_dir) { + auto* queryTs = new TimeSeries(query); + auto*heap = new vector(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + int head = SaxUtil::invSaxHeadFromSax(sax, Const::bitsCardinality, Const::segmentNum); + FADASNode *cur = (root->children)[head]; + if(cur == nullptr){ + FADASNode *node = nullptr; + for(int i=0;ichildren[(*g)[head][i]] != nullptr){ + node = root->children[(*g)[head][i]]; + break; + } + } + assert(node!=nullptr); + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNodePos(node, queryTs, sax, k, heap, index_dir); + }else { node->search_offset(k, queryTs, *heap, index_dir); targetNode = node;} + }else if(!cur->isInternalNode()){ + { cur->search_offset(k, queryTs, *heap, index_dir); targetNode = cur;} + }else approxSearchInterNodePos(cur, queryTs, sax, k, heap, index_dir); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +void FADASSearcher::approxSearchInterNodePos(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir) { + FADASNode *cur = root->route(sax); + if(!cur->isInternalNode()){ + cur->search_offset(k, queryTs, *heap, index_dir); + targetNode = cur; + return; + } + + double min_dist = numeric_limits::max(), max_size = 0; + FADASNode *node; + for(int i=0;ichildren.size();++i){ + if(cur->children[i] == nullptr) continue; + double dist; + if(!cur->children[i]->isInternalNode()) dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->sax, cur->bits_cardinality, cur->children[i]->chosenSegments, i); + else dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, cur->children[i]->sax, cur->children[i]->bits_cardinality); + if(dist < min_dist){ + min_dist = dist; + max_size = cur->children[i]->size; + node = cur->children[i]; + }else if(dist == min_dist && cur->children[i]->size > max_size){ + max_size = cur->children[i]->size; + node = cur->children[i]; + } + } + + // we only concern whether the nearest node is a leaf or an internal node + if(node->isInternalNode()){ + approxSearchInterNodePos(node, queryTs, sax, k, heap, index_dir); + return; + }else { node->search_offset(k, queryTs, *heap, index_dir); targetNode = node;} +} + +struct PqItemFadas{ + FADASNode* node{}; + double dist{}; + + PqItemFadas(FADASNode* n, double d){node = n; dist = d;} + PqItemFadas(){node = nullptr; dist = 0;} + + bool operator <(const PqItemFadas & pt) const{ + if(node == pt.node) return false; + else { + if(dist != pt.dist) return dist < pt.dist; + if(node->isInternalNode()) return true; + return false; + } + } +}; + +vector*FADASSearcher::exactSearch(FADASNode* root, float *query, int k, vector> *g){ + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, nullptr, nullptr); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + setpq; + pq.insert(PqItemFadas(root, 0)); + + PqItemFadas cur; + while(!pq.empty()){ + cur = *pq.begin(); + if(cur.dist > bsf) break; + pq.erase(pq.begin()); + if(cur.node->isInternalNode()){ + unordered_setinserted; + for(FADASNode* node:cur.node->children) + if(node != nullptr && node != targetNode && inserted.find(node) == inserted.end()) { +// auto start = chrono::system_clock::now(); + inserted.insert(node); + double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); +// auto end = chrono::system_clock::now(); +// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); + if(lb_dist < bsf){ + pq.insert(PqItemFadas(node, lb_dist)); + LB_NODE_CNT++; + } + } + inserted.clear(); + }else{ + cur.node->search(k, queryTs, *heap, Const::fidxfn, nullptr, nullptr); + ++LOADED_NODE_CNT; + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +vector*FADASSearcher::exactSearchIdLevel(FADASNode* root, float *query, int k, vector> *g, + float *query_reordered, int *ordering){ + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); + unordered_setvisited; + visited.insert(targetNode); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + setpq; + for(int i =0;ichildren[i] == nullptr || visited.count(root->children[i]) > 0) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.insert(PqItemFadasId(root,i, dist)); + } + + PqItemFadas cur; + double top_dist; + FADASNode* node; + int len; + while(!pq.empty()){ + top_dist = pq.begin()->dist; + if(top_dist > bsf) break; + node = pq.begin()->parent->children[pq.begin()->id]; + pq.erase(pq.begin()); + if(visited.count(node) > 0) continue; + visited.insert(node); + if(node->isInternalNode()){ + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); +// double dist_simd = SaxUtil::LowerBound_Paa_iSax_SIMD(queryTs->paa, node->sax, +// node->bits_cardinality, node->chosenSegments, i); + + if(dist < bsf){ + pq.insert(PqItemFadasId(node, i, dist)); + } + } + }else{ + ++LOADED_NODE_CNT; +// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + node->search(k,queryTs,*heap,Const::fidxfn, query_reordered, ordering); + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +atomic load_node_cnt; +atomic search_num; +mutex m, pq_mutex, m2; +void process_pq(double bsf, TimeSeries* queryTs, int k, vector* heap, SafeHashMap*visited, + PriorityBlockingCollection* pq){ + PqItemFadasId cur; + double top_dist; + FADASNode* node; + int internal_node = 0, leaf_node = 0; + char _ = 0; + int len; + while(!pq->is_empty()){ + pq->take_prio(cur); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(visited->find(node, _)) continue; + visited->insert(node, _); + if(node->isInternalNode()){ + ++internal_node; + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf) + pq->emplace(node, i, dist); + } + }else{ + load_node_cnt++; + search_num += node->size; + ++leaf_node; +// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + auto ret = node->search_SIMD(k,queryTs, Const::fidxfn, bsf); + int i=0; + { + lock_guard g(m); + bsf = (*heap)[0]->dist; + for(;isize() && (*ret)[i]->dist < bsf ;++i){ + pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + delete heap->back(); + heap->pop_back(); + heap->push_back((*ret)[i]); + push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + bsf = (*heap)[0]->dist; + } + + } + for(; i < ret->size(); ++i) + delete (*ret)[i]; + delete ret; + } + } +// cout << this_thread::get_id() << endl; +// Const::logPrint( ": has finished after processing " + +// to_string(internal_node) + " internal nodes and " + +// to_string(leaf_node) + " leaf nodes"); +} + +void process_pq_mypq(double bsf, TimeSeries* queryTs, int k, vector* heap, SafeHashMap*visited, + priority_queue, cmp_PqItemDumpyId>* pq){ + PqItemFadasId cur; + double top_dist; + FADASNode* node; + int internal_node = 0, leaf_node = 0; + char _ = 0; + int len; + while(true){ + { + lock_guard gm(pq_mutex); + if (pq->empty()) break; + cur = pq->top(); + pq->pop(); + } + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(visited->find(node, _)) continue; + visited->insert(node, _); + if(node->isInternalNode()){ + ++internal_node; + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf){ + lock_guardgm(pq_mutex); + pq->emplace(node, i, dist); + } + + } + }else{ + load_node_cnt++; + search_num += node->size; + ++leaf_node; +// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + auto ret = node->search_SIMD(k,queryTs, Const::fidxfn, bsf); + int i=0; + { + lock_guard g(m); + bsf = (*heap)[0]->dist; + for(;isize() && (*ret)[i]->dist < bsf ;++i){ + pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + delete heap->back(); + heap->pop_back(); + heap->push_back((*ret)[i]); + push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + bsf = (*heap)[0]->dist; + } + + } + for(; i < ret->size(); ++i) + delete (*ret)[i]; + delete ret; + } + } +// cout << this_thread::get_id() << endl; +// Const::logPrint( ": has finished after processing " + +// to_string(internal_node) + " internal nodes and " + +// to_string(leaf_node) + " leaf nodes"); +} + +void process_pq_messi(double bsf, TimeSeries* queryTs, int k, vector* heap, SafeHashMap*visited, + priority_queue, cmp_PqItemDumpyId>* messi_pq, mutex* mu){ + PqItemFadasId cur; + double top_dist; + FADASNode* node; + int internal_node = 0, leaf_node = 0; + char _ = 0; + int len; + while (true){ + { + lock_guard gm(*mu); + if(messi_pq->empty()) break; + cur = messi_pq->top(); + messi_pq->pop(); + } + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(visited->find(node, _)) continue; + visited->insert(node, _); + assert(!node->isInternalNode()); + load_node_cnt++; + search_num += node->size; + ++leaf_node; +// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + auto ret = node->search_SIMD(k,queryTs, Const::fidxfn, bsf); + int i=0; + { + lock_guard g(m); + bsf = (*heap)[0]->dist; + for(;isize() && (*ret)[i]->dist < bsf ;++i){ + pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + delete heap->back(); + heap->pop_back(); + heap->push_back((*ret)[i]); + push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + bsf = (*heap)[0]->dist; + } + + } + for(; i < ret->size(); ++i) + delete (*ret)[i]; + delete ret; + } +} + +vector*FADASSearcher::Par_exactSearchIdLevel(FADASNode* root, float *query, int k, vector> *g, + float *query_reordered, int *ordering){ + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); + SafeHashMapvisited; + char _ = 0; + visited.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + + timeval io; + Const::timer_start(&io); + PriorityBlockingCollection pq; + for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.emplace(root, i, dist); + } + PREPARE_TIME += Const::timer_end(&io); + + Const::timer_start(&io); + int pre_step = 20; + PqItemFadasId cur; + double top_dist; + FADASNode* node; + int len; + while(!pq.is_empty() && LOADED_NODE_CNT < pre_step){ + pq.take_prio(cur); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node =cur.parent->children[cur.id]; + if(visited.find(node, _)) continue; + visited.insert(node, _); + if(node->isInternalNode()){ + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + + if(dist < bsf){ + pq.emplace(node, i, dist); + } + } + }else{ + ++LOADED_NODE_CNT; +// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + node->search_SIMD(k,queryTs,*heap, Const::fidxfn); + bsf = (*heap)[0]->dist; + } + } + DIST_CALC_TIME += Const::timer_end(&io); + + Const::timer_start(&io); + if(!pq.is_empty() && top_dist < bsf){ + // start a thread pool + int th_num = Const::thread_num; + load_node_cnt = LOADED_NODE_CNT; + search_num = _search_num; + vectorthread_pool; + for(int i =0; i < th_num; ++i) + thread_pool.emplace_back(thread(process_pq, bsf,queryTs, k, heap, &visited, &pq)); + for(int i = 0; i < th_num; ++i) + thread_pool[i].join(); + LOADED_NODE_CNT = load_node_cnt; + _search_num = search_num; + } + SEARCH_TIME += Const::timer_end(&io); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +vector*FADASSearcher::Par_exactSearchIdLevel_MyPq(FADASNode* root, float *query, int k, vector> *g, + float *query_reordered, int *ordering){ + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); + SafeHashMapvisited; + char _ = 0; + visited.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + + timeval io; + Const::timer_start(&io); + priority_queue, cmp_PqItemDumpyId> pq; + for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.emplace(root, i, dist); + } + PREPARE_TIME += Const::timer_end(&io); + + Const::timer_start(&io); + int pre_step = 20; + PqItemFadasId cur; + double top_dist; + FADASNode* node; + int len; + while(!pq.empty() && LOADED_NODE_CNT < pre_step){ + cur = pq.top(); + pq.pop(); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node =cur.parent->children[cur.id]; + if(visited.find(node, _)) continue; + visited.insert(node, _); + if(node->isInternalNode()){ + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf) + pq.emplace(node, i, dist); + } + }else{ + ++LOADED_NODE_CNT; +// node->search_SIMD_reordered(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + node->search_SIMD(k,queryTs,*heap, Const::fidxfn); + bsf = (*heap)[0]->dist; + } + } + DIST_CALC_TIME += Const::timer_end(&io); + + Const::timer_start(&io); + if(!pq.empty() && top_dist < bsf){ + // start a thread pool + int th_num = Const::thread_num; + load_node_cnt = LOADED_NODE_CNT; + search_num = _search_num; + vectorthread_pool; + for(int i =0; i < th_num; ++i) + thread_pool.emplace_back(thread(process_pq_mypq, bsf, queryTs, k, heap, &visited, &pq)); + for(int i = 0; i < th_num; ++i) + thread_pool[i].join(); + LOADED_NODE_CNT = load_node_cnt; + _search_num = search_num; + } + SEARCH_TIME += Const::timer_end(&io); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +size_t hash_pointer(FADASNode* node){ + static const auto shift = (size_t)log2(1 + sizeof(FADASNode)); + return (size_t)(node) >> shift; +} + +vector*FADASSearcher::Par_exactSearchIdLevel_MESSI(FADASNode* root, float *query, int k, vector> *g, + float *query_reordered, int *ordering){ + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); + vector>visited(Const::messi_pq_num); + char _ = 0; + for(auto & vis: visited) vis.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + +// hash pointer_hash; // warning!!! default is the pointer itself, so it must a multiple of 4. + vector, cmp_PqItemDumpyId>> messi_pqs(Const::messi_pq_num); + + FADASNode* node; + int len; + double top_dist; + + timeval io; + Const::timer_start(&io); + queuenodes_list; + nodes_list.push(root); + while(!nodes_list.empty()){ + node = nodes_list.front(); + nodes_list.pop(); + assert(node->isInternalNode()); + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr || visited[0].find(node->children[i], _)) continue; + top_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); + if(top_dist >= bsf) continue; + if(node->children[i]->isInternalNode()){ + nodes_list.push(node->children[i]); + }else{ + // the same node must be in the same queue + size_t pq_id = hash_pointer(node->children[i]) % Const::messi_pq_num; + messi_pqs[pq_id].emplace(node, i , top_dist); + } + } + } + PREPARE_TIME += Const::timer_end(&io); + + Const::timer_start(&io); + { + // start a thread pool + int th_num = Const::thread_num; + load_node_cnt = LOADED_NODE_CNT; + search_num = _search_num; + vectorthread_pool; +// vectorpq_sizes; +// pq_sizes.reserve(messi_pqs.size()); +// for(auto & _: messi_pqs) +// pq_sizes.push_back(_.size()); + vectorpq_mutexs(Const::messi_pq_num); + for(int i =0; i < th_num; ++i) + thread_pool.emplace_back(thread(process_pq_messi, bsf, queryTs, k, heap, &visited[i % Const::messi_pq_num], + &messi_pqs[i % Const::messi_pq_num], &pq_mutexs[i % Const::messi_pq_num])); + for(int i = 0; i < th_num; ++i) + thread_pool[i].join(); + LOADED_NODE_CNT = load_node_cnt; + _search_num = search_num; + } + SEARCH_TIME += Const::timer_end(&io); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +void raw_search_SIMD(float *tss, int size, float* query, vector &heap, int k, double& bsf){ + double dist; + for(int i = 0; i < size; ++i){ + dist = TimeSeriesUtil::euclideanDist_SIMD(query, tss + i * Const::tsLength , Const::tsLength, bsf); + if(heap.size() < k){ + heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + if(heap.size() >= k) bsf = heap[0]->dist; + } +} + +void raw_search_DTW(float *tss, int size, float* query, vector &heap, int k, double& bsf){ + double dist; + for(int i = 0; i < size; ++i){ + dist = TimeSeriesUtil::dtw(query, tss + i * Const::tsLength , Const::tsLength, Const::dtw_window_size, bsf); + if(heap.size() < k){ + heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + if(heap.size() >= k) bsf = heap[0]->dist; + } +} + +void raw_search_DTW_SIMD(float *tss, int size, float* query, vector &heap, int k, double& bsf, + float* upperLemire, float* lowerLemire){ + float cb[Const::tsLength]; + float cb1[Const::tsLength]; + + int length = 2*Const::dtw_window_size+1; + float tSum[length]; + // pre_cost + float pCost[length]; + // raw distance + float rDist[length]; + + double dist; + for(int i = 0; i < size; ++i){ + float dist2=TimeSeriesUtil::lb_keogh_data_bound(tss + i * Const::tsLength, upperLemire,lowerLemire,cb1, Const::tsLength, bsf); + if(dist2 < bsf){ + cb[Const::tsLength-1] = cb1[Const::tsLength-1]; + for(int ii= Const::tsLength - 2; ii >= 0; ii--) + cb[ii] = cb[ii + 1] + cb1[ii]; + + dist = TimeSeriesUtil::dtwsimd(query, tss + i * Const::tsLength, cb, Const::tsLength, Const::dtw_window_size, bsf, + tSum, pCost, rDist); + if(heap.size() < k){ + heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + }else if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + } + if(heap.size() >= k) bsf = heap[0]->dist; + } + } +} + + +void raw_search_SIMD_Par(float *tss, int size, float* query, vector &heap, int k, double bsf){ + double dist; + for(int i = 0; i < size; ++i){ + dist = TimeSeriesUtil::euclideanDist_SIMD(query, tss + i * Const::tsLength , Const::tsLength, bsf); + if(dist >= bsf) continue; +#pragma omp critical + { + bsf = heap[0]->dist; + if(dist < bsf){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + bsf = heap[0]->dist; + } + }; + } +} + +void process_buffer(vector*io_buffer, float* query, vector* heap, int k, double bsf, + int start_index, int *cur_index, int cur_buf_size){ + int my_index = start_index; + double lb_dist, dist; int size; float *tss; + do{ + size = (*io_buffer)[my_index].node_size; + lb_dist = (*io_buffer)[my_index].lb_dist; + tss = (*io_buffer)[my_index].tss; +// close((*io_buffer)[my_index].fd); +// fclose((*io_buffer)[my_index].f); + + if(lb_dist < bsf){ + _search_num += size; + for(int i = 0; i< size; ++i){ + dist = TimeSeriesUtil::euclideanDist_SIMD(query, tss + i * Const::tsLength , Const::tsLength, bsf); + if(dist < bsf) + { + lock_guard g(m); + bsf = (*heap)[0]->dist; + if(dist < bsf){ + pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + delete heap->back(); + heap->pop_back(); + heap->push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + bsf = (*heap)[0]->dist; + } + } + } + } + + { + lock_guard g(pq_mutex); + if(*cur_index >= cur_buf_size) + break; + my_index = *cur_index; + (*cur_index)++; + } + }while(true); + +} + +void process_buffer_DTW(vector*io_buffer, float* query, vector* heap, int k, double bsf, + int start_index, int *cur_index, int cur_buf_size, + float* upperLemire, float* lowerLemire){ + int my_index = start_index; + double lb_dist, dist; int size; float *tss; + float cb[Const::tsLength]; + float cb1[Const::tsLength]; + + int length = 2*Const::dtw_window_size+1; + float tSum[length]; + // pre_cost + float pCost[length]; + // raw distance + float rDist[length]; + + do{ + size = (*io_buffer)[my_index].node_size; + lb_dist = (*io_buffer)[my_index].lb_dist; + tss = (*io_buffer)[my_index].tss; + + if(lb_dist < bsf){ + _search_num += size; + for(int i = 0; i< size; ++i){ + float dist2=TimeSeriesUtil::lb_keogh_data_bound(tss + i * Const::tsLength, upperLemire,lowerLemire,cb1, Const::tsLength, bsf); + if(dist2 < bsf) { + cb[Const::tsLength - 1] = cb1[Const::tsLength - 1]; + for (int ii = Const::tsLength - 2; ii >= 0; ii--) + cb[ii] = cb[ii + 1] + cb1[ii]; + + dist = TimeSeriesUtil::dtwsimd(query, tss + i * Const::tsLength, cb, Const::tsLength, + Const::dtw_window_size, bsf, + tSum, pCost, rDist); + if (dist < bsf) { + lock_guard g(m); + bsf = (*heap)[0]->dist; + if (dist < bsf) { + pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + delete heap->back(); + heap->pop_back(); + heap->push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + bsf = (*heap)[0]->dist; + } + } + } + } + } + + { + lock_guard g(pq_mutex); + if(*cur_index >= cur_buf_size) + break; + my_index = *cur_index; + (*cur_index)++; + } + }while(true); + +} + +void process_buffer_DTW_static(vector*io_buffer, float* query, vector* heap, int k, double bsf, + int start_index, int end_index){ + int my_index = start_index; + double lb_dist, dist; + int size; + float *tss; + for(;my_index < end_index; ++my_index){ + size = (*io_buffer)[my_index].node_size; + lb_dist = (*io_buffer)[my_index].lb_dist; + tss = (*io_buffer)[my_index].tss; + + if(lb_dist < bsf){ + _search_num += size; + for(int i = 0; i< size; ++i){ + dist = TimeSeriesUtil::dtw(query, tss + i * Const::tsLength , Const::tsLength, Const::dtw_window_size, bsf); + if(dist < bsf) + { + lock_guard g(m); + bsf = (*heap)[0]->dist; + if(dist < bsf){ + pop_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + delete heap->back(); + heap->pop_back(); + heap->push_back(new PqItemSeries(tss + i * Const::tsLength, dist, false, true)); + push_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + bsf = (*heap)[0]->dist; + } + } + } + } + }while(true); + +} + + +// io_uring not support multi-thread +//void io_worker_func(io_uring *ring, int cur_buf_size){ +// timeval io_time; +// int err; io_uring_cqe* cqe; +// Const::timer_start(&io_time); +// err = io_uring_submit(ring); +// assert(err == cur_buf_size); +// err = io_uring_wait_cqe_nr(ring, &cqe, cur_buf_size); +// io_uring_cq_advance(ring, cur_buf_size); +// IO_URING_WAIT += Const::timer_end(&io_time); +// assert(err == 0); +//} + +//void io_worker_func_sync(vector*io_buffer, int cur_buf_size){ +// timeval io_time; +// size_t err; +// Const::timer_start(&io_time); +// for(int i = 0; i < cur_buf_size; ++i){ +// err = read((*io_buffer)[i].fd, (*io_buffer)[i].tss, ((unsigned)(*io_buffer)[i].node_size) * Const::tsLength * sizeof(float)); +// assert(err == ((unsigned)(*io_buffer)[i].node_size) * Const::tsLength * sizeof(float)); +// } +// IO_URING_WAIT += Const::timer_end(&io_time); +//} +// +//void io_worker_func_io_uring(vector*io_buffer, int cur_buf_size, io_uring *ring){ +// timeval io_time; +// size_t err; io_uring_sqe* sqe; io_uring_cqe* cqe; +// Const::timer_start(&io_time); +// for(int i = 0; i < cur_buf_size; ++i){ +// sqe = io_uring_get_sqe(ring); +// assert(sqe); +// auto & tmp = (*io_buffer)[i]; +// io_uring_prep_read(sqe, tmp.fd, tmp.tss, ((unsigned)tmp.node_size) * Const::tsLength * sizeof(float), 0); +// } +// err = io_uring_submit(ring); +// assert(err == cur_buf_size); +// err = io_uring_wait_cqe_nr(ring, &cqe, cur_buf_size); +// io_uring_cq_advance(ring, cur_buf_size); +// assert(err == 0); +// IO_URING_WAIT += Const::timer_end(&io_time); +//} + +deque>prepared; +deque> buf_state; +deque>finished; +deque>cur_slot; +atomicEXITED; +condition_variable buf_cond, read_cond; +atomiccur_size, cur_buf; +//void io_worker_func_io_uring_V3(vector>*io_buffer, io_uring *ring){ +// size_t err; io_uring_sqe* sqe; io_uring_cqe* cqe; +// int cur_size = 0, cur_buf = 0; +// while(true){ +// if(cur_size < buf_size[cur_buf]){ +// int tmp_size = buf_size[cur_buf]; +// for(int i = cur_size; i < tmp_size ; ++i){ +// sqe = io_uring_get_sqe(ring); +// assert(sqe); +// auto & tmp = (*io_buffer)[cur_buf][i]; +// io_uring_prep_read(sqe, tmp.fd, tmp.tss, ((unsigned)tmp.node_size) * Const::tsLength * sizeof(float), 0); +// } +// err = io_uring_submit(ring); +// assert(err == tmp_size - cur_size); +// cur_size = tmp_size; +// }else{ +// if(buf_state[cur_buf]){ +// int tmp_size = buf_size[cur_buf]; +// err = io_uring_wait_cqe_nr(ring, &cqe, tmp_size); +// io_uring_cq_advance(ring, tmp_size); +// assert(err == 0); +// buf_state[cur_buf] = false; +// buf_size[cur_buf] = 0; +// cur_buf = 1 - cur_buf; +// cur_size = 0; +// read_cond.notify_one(); +// }else{ +// unique_lock lk(m); +// buf_cond.wait(lk, [&cur_buf, &cur_size]{return buf_size[cur_buf] > cur_size || buf_state[cur_buf] || finished;}); +// lk.unlock(); +// if(finished) break; +// +// } +// } +// } +//} + +void io_worker_func_V3(vector>*io_buffer){ + size_t err; + int cur_size = 0, cur_buf = 0; + while(true){ + if(cur_size < prepared[cur_buf]){ + int tmp_size = prepared[cur_buf]; + for(int i = cur_size; i < tmp_size ; ++i){ + auto & tmp = (*io_buffer)[cur_buf][i]; + fread(tmp.tss, sizeof(float ), ((unsigned)tmp.node_size) * Const::tsLength, tmp.f); + fclose(tmp.f); + } + cur_size = tmp_size; + }else{ + if(buf_state[cur_buf]){ + int tmp_size = prepared[cur_buf]; + buf_state[cur_buf] = false; + prepared[cur_buf] = 0; + cur_buf = 1 - cur_buf; + cur_size = 0; + read_cond.notify_one(); + }else{ + unique_lock lk(m); + buf_cond.wait(lk, [&cur_buf, &cur_size]{return prepared[cur_buf] > cur_size || buf_state[cur_buf] || EXITED;}); + lk.unlock(); + if(EXITED) break; + + } + } + } +} + +void io_worker_func_V3_multithread_buggy(vector>*io_buffer){ + int my_buf = 0, my_slot, now_finished; + while(!EXITED){ + if(buf_state[my_buf]) continue; // 1 for calculating and preparing slot; + // 0 for loading series + + my_slot = cur_slot[my_buf].fetch_add(1); // `cur_slot` records the next slot to be assigned to a thread + if(my_slot >= prepared[my_buf]){ + my_buf = 1 - my_buf; +// unique_lock lk(m); +// buf_cond.wait(lk, [&buf_state, &my_buf]{return !buf_state[my_buf] || EXITED;}); +// lk.unlock(); + continue; + } + + auto & tmp = (*io_buffer)[my_buf][my_slot]; + assert(tmp.f); + fread(tmp.tss, sizeof(float ), ((unsigned)tmp.node_size) * Const::tsLength, tmp.f); + fclose(tmp.f); + +// now_finished = finished[my_buf].fetch_add(1); // `finished` records the number of read-finished records + ++finished[my_buf]; + assert(finished[my_buf] <= prepared[my_buf]); + if(finished[my_buf] >= prepared[my_buf]){ // `prepared` records the capacity of current buffer + buf_state[my_buf] = true; + cur_slot[my_buf] = 0; + my_buf = 1 - my_buf; + } + + } +} + +// NOTE: remember to reset cur_size before starting this thread +void io_worker_func_V3_multithread(vector*io_buffer, int buf_size){ + int my_slot; + while(true){ + my_slot = cur_size.fetch_add(1); + if(my_slot >= buf_size) break; + + auto & tmp = (*io_buffer)[my_slot]; + assert(tmp.f); + fread(tmp.tss, sizeof(float ), ((unsigned)tmp.node_size) * Const::tsLength, tmp.f); + fclose(tmp.f); + } + { + m.lock(); + Const::timer_start(&io_finish); + m.unlock(); + } +} + +void io_worker_func_V3_static(vector*io_buffer, int start, int end){ + int my_slot; + for(int i = start; i < end; ++i ){ + auto & tmp = (*io_buffer)[i]; + assert(tmp.f); + fread(tmp.tss, sizeof(float ), ((unsigned)tmp.node_size) * Const::tsLength, tmp.f); + fclose(tmp.f); + } + { + m.lock(); + Const::timer_start(&io_finish); + m.unlock(); + } +} + + +//#define par +#define pth +//vector *FADASSearcher::Par_exactSearchIdLevel_SSD(FADASNode *root, float *query, int k, +// vector> *g, +// float *query_reordered, int *ordering, io_uring &ring, +// vector> &io_buffer) { +// vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); +// SafeHashMapvisited; +// char _ = 0; +// visited.insert(targetNode, _); +// make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); +// double bsf = (*heap)[0]->dist; +// auto *queryTs = new TimeSeries(query); +// +// priority_queue, cmp_PqItemDumpyId> pq; +// for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; +// double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); +// pq.emplace(root, i, dist); +// } +// +// io_uring_sqe* sqe; io_uring_cqe* cqe; +// int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; +// bool first_time = true; size_t fd; timeval io_time; +// PqItemFadasId cur; double top_dist; FADASNode* node; io_data* data; +//// unsigned head = 0; int times = 0; vectorrecieve(Const::SSD_pq_num); +// +// while(!pq.empty()){ +// cur = pq.top(); +// pq.pop(); +// top_dist = cur.dist; +// if(top_dist >= bsf) break; +// node = cur.parent->children[cur.id]; +// if(node->isInternalNode()){ +//// Const::timer_start(&io_time); +// len = (1 << (node->chosenSegments.size())); +// for(int i =0;ichildren[i] == nullptr) continue; +// double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, +// node->bits_cardinality, node->chosenSegments, i); +// if(dist < bsf) +// pq.emplace(node, i, dist); +// } +//// SEARCH_TIME += Const::timer_end(&io_time); +// }else{ +// if(visited.find(node, _)) continue; +// visited.insert(node, _); +// ++LOADED_NODE_CNT; +// +// sqe = io_uring_get_sqe(&ring); +// assert(sqe); +// auto & tmp = io_buffer[buffer_flag][cur_buf_size]; +// tmp.node_size = node->size; +// tmp.lb_dist = top_dist; +// string file = Const::fidxfn + node->getFileNameWrapper(); +// tmp.fd = open((file).c_str(), O_RDONLY); +// assert(tmp.fd > 0); +// io_uring_prep_read(sqe, tmp.fd, tmp.tss, ((unsigned)node->size) * Const::tsLength * sizeof(float), 0); +//// io_uring_sqe_set_data(sqe, &tmp); +// ++cur_buf_size; +// if(cur_buf_size == Const::SSD_pq_num){ +// if(!first_time){ +// Const::timer_start(&io_time); +// err = io_uring_wait_cqe_nr(&ring, &cqe, prev_buf_size); +// IO_URING_WAIT += Const::timer_end(&io_time); +// assert(err == 0); +// +//// head = times = 0; +//// io_uring_for_each_cqe(&ring, head, cqe){ +//// void * t = io_uring_cqe_get_data(cqe); +//// data = (io_data*)t; +//// recieve[times++] = (io_data*)t; +//// assert(data->fd > 0); +//// close(data->fd); +//// } +//// assert(times == prev_buf_size); +// +// io_uring_cq_advance(&ring, prev_buf_size); +// err = io_uring_submit(&ring); +// assert(err == cur_buf_size); +// +// Const::timer_start(&io_time); +// double local_bsf = bsf; +// auto &ready_data = io_buffer[1 - buffer_flag]; +//#ifdef par +//#pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ +// default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +//#pragma omp critical +// { +// local_bsf = bsf; +// }; +// if(dat.lb_dist < local_bsf){ +//// _search_num += dat.node_size; +// raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#else +//#ifdef pth +// int th_num = Const::thread_num; +// int cur_index = th_num; +// vectorthread_pool; +// for(int i =0; i < th_num; ++i) +// thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); +// for(int i = 0; i < th_num; ++i) +// thread_pool[i].join(); +//#else +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#endif +//#endif +// +// DIST_CALC_TIME += Const::timer_end(&io_time); +// bsf = (*heap)[0]->dist; +// +// for(PqItemSeries*s: *heap){ +// if(s->needDeepCopy) s->copyData(); +// } +// +// }else{ +// Const::timer_start(&io_time); +// err = io_uring_submit(&ring); +// PREPARE_TIME += Const::timer_end(&io_time); +// assert(err == cur_buf_size); +// } +// first_time = false; +// prev_buf_size = cur_buf_size; +// cur_buf_size = 0; +// buffer_flag = 1 - buffer_flag; +// } +// } +// } +// +// err = io_uring_wait_cqe_nr(&ring, &cqe, prev_buf_size); +// assert(err == 0); +// +// io_uring_cq_advance(&ring, prev_buf_size); +// if(cur_buf_size > 0) { +// err = io_uring_submit(&ring); +// assert(err == cur_buf_size); +// } +// +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = io_buffer[1 - buffer_flag][i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +// +// if(cur_buf_size > 0){ +// err = io_uring_wait_cqe_nr(&ring, &cqe, cur_buf_size); +// assert(err == 0); +// +// io_uring_cq_advance(&ring, cur_buf_size); +// for(int i = 0 ; i < cur_buf_size; ++i){ +// auto& dat = io_buffer[buffer_flag][i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +// } +// +// delete queryTs; +// sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); +// return heap; +//} +// +//vector *FADASSearcher::Par_exactSearchIdLevel_SSDV2(FADASNode *root, float *query, int k, +// vector> *g, +// float *query_reordered, int *ordering, io_uring &ring, +// vector> &io_buffer) { +// vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); +// SafeHashMapvisited; +// char _ = 0; +// visited.insert(targetNode, _); +// make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); +// double bsf = (*heap)[0]->dist; +// auto *queryTs = new TimeSeries(query); +// +// priority_queue, cmp_PqItemDumpyId> pq; +// for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; +// double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); +// pq.emplace(root, i, dist); +// } +// +// io_uring_sqe* sqe; io_uring_cqe* cqe; thread* io_worker; +// int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; +// bool first_time = true; size_t fd; timeval io_time; +// PqItemFadasId cur; double top_dist, local_bsf; FADASNode* node; io_data* data; +//// unsigned head = 0; int times = 0; vectorrecieve(Const::SSD_pq_num); +// +// while(!pq.empty()){ +// cur = pq.top(); +// pq.pop(); +// top_dist = cur.dist; +// if(top_dist >= bsf) break; +// node = cur.parent->children[cur.id]; +// if(node->isInternalNode()){ +//// Const::timer_start(&io_time); +// len = (1 << (node->chosenSegments.size())); +// for(int i =0;ichildren[i] == nullptr) continue; +// double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, +// node->bits_cardinality, node->chosenSegments, i); +// if(dist < bsf) +// pq.emplace(node, i, dist); +// } +//// SEARCH_TIME += Const::timer_end(&io_time); +// }else{ +// if(visited.find(node, _)) continue; +// visited.insert(node, _); +// ++LOADED_NODE_CNT; +// +// auto & tmp = io_buffer[buffer_flag][cur_buf_size]; +// tmp.node_size = node->size; +// tmp.lb_dist = top_dist; +// string file = Const::fidxfn + node->getFileNameWrapper(); +// tmp.fd = open((file).c_str(), O_RDONLY); +// assert(tmp.fd > 0); +// ++cur_buf_size; +// if(cur_buf_size == Const::SSD_pq_num){ +// if(!first_time){ +// Const::timer_start(&io_time); +// io_worker->join(); +// IO_ACTUAL_WAIT += Const::timer_end(&io_time); +// delete io_worker; +// io_worker = new thread(io_worker_func_io_uring, &io_buffer[buffer_flag], cur_buf_size, &ring); +// +// Const::timer_start(&io_time); +// local_bsf = bsf; +// auto &ready_data = io_buffer[1 - buffer_flag]; +//#ifdef par +//#pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ +// default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +//#pragma omp critical +// { +// local_bsf = bsf; +// }; +// if(dat.lb_dist < local_bsf){ +//// _search_num += dat.node_size; +// raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#else +//#ifdef pth +// int th_num = Const::thread_num; +// int cur_index = th_num; +// vectorthread_pool; +// for(int i =0; i < th_num; ++i) +// thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); +// for(int i = 0; i < th_num; ++i) +// thread_pool[i].join(); +//#else +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#endif +//#endif +// +// DIST_CALC_TIME += Const::timer_end(&io_time); +// bsf = (*heap)[0]->dist; +// +// for(PqItemSeries*s: *heap) +// if(s->needDeepCopy) s->copyData(); +// +// }else{ +// io_worker = new thread(io_worker_func_io_uring, &io_buffer[buffer_flag], cur_buf_size, &ring); +// } +// first_time = false; +// prev_buf_size = cur_buf_size; +// cur_buf_size = 0; +// buffer_flag = 1 - buffer_flag; +// } +// } +// } +// +// Const::timer_start(&io_time); +// io_worker->join(); +// IO_ACTUAL_WAIT += Const::timer_end(&io_time); +// delete io_worker; +// if(cur_buf_size > 0) { +// io_worker = new thread(io_worker_func_io_uring, &io_buffer[buffer_flag], cur_buf_size, &ring); +// } +// +// Const::timer_start(&io_time); +// auto &ready_data = io_buffer[1 - buffer_flag]; +// local_bsf = bsf; +//#ifdef par +//#pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ +// default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +//#pragma omp critical +// { +// local_bsf = bsf; +// }; +// if(dat.lb_dist < local_bsf){ +//// _search_num += dat.node_size; +// raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#else +// #ifdef pth +// int th_num = Const::thread_num; +// int cur_index = th_num; +// vectorthread_pool; +// for(int i =0; i < th_num; ++i) +// thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); +// for(int i = 0; i < th_num; ++i) +// thread_pool[i].join(); +//#else +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#endif +//#endif +// +// if(cur_buf_size > 0){ +// Const::timer_start(&io_time); +// io_worker->join(); +// IO_ACTUAL_WAIT += Const::timer_end(&io_time); +// delete io_worker; +// for(int i = 0 ; i < cur_buf_size; ++i){ +// auto& dat = io_buffer[buffer_flag][i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +// } +// +// delete queryTs; +// sort_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); +// return heap; +//} + +vector *FADASSearcher::Par_exactSearchIdLevel_SSDV3(FADASNode *root, float *query, int k, + vector> *g, + float *query_reordered, int *ordering, + vector> &io_buffer) { + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); + SafeHashMapvisited; + char _ = 0; + visited.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + priority_queue, cmp_PqItemDumpyId> pq; + for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.emplace(root, i, dist); + } + + int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; + bool first_time = true; size_t fd; timeval io_time, t1; + PqItemFadasId cur; double top_dist, local_bsf; FADASNode* node; io_data* data; + cur_buf = 0; cur_size = 0; + prepared.clear(); buf_state.clear(); + prepared.emplace_back(0);prepared.emplace_back(0); + buf_state.emplace_back(false); buf_state.emplace_back(false); + EXITED = false; + vectorio_threads; + for(int i = 0; i < 1; ++i) + io_threads.emplace_back(io_worker_func_V3, &io_buffer); + +// thread IO(io_worker_func_V3, &io_buffer); + + while(!pq.empty()){ + cur = pq.top(); + pq.pop(); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(node->isInternalNode()){ + Const::timer_start(&io_time); + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf) + pq.emplace(node, i, dist); + } + SEARCH_TIME += Const::timer_end(&io_time); + }else{ + if(visited.find(node, _)) continue; + visited.insert(node, _); + ++LOADED_NODE_CNT; + auto & tmp = io_buffer[buffer_flag][cur_buf_size]; + tmp.node_size = node->size; + tmp.lb_dist = top_dist; + string file = Const::fidxfn + node->getFileNameWrapper(); + tmp.f = fopen((file).c_str(), "rb"); +// assert(tmp.fd > 0); + ++cur_buf_size; + prepared[buffer_flag]++; + buf_cond.notify_one(); + if(cur_buf_size == Const::SSD_pq_num){ + buf_state[buffer_flag] = true; + if(!first_time){ + Const::timer_start(&io_time); + unique_lock lk(pq_mutex); + read_cond.wait(lk, [&buffer_flag]{return !buf_state[1 - buffer_flag];}); + lk.unlock(); + IO_ACTUAL_WAIT += Const::timer_end(&io_time); + + Const::timer_start(&io_time); + local_bsf = bsf; + auto &ready_data = io_buffer[1 - buffer_flag]; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int th_num = Const::thread_num; + int cur_index = th_num; + vectorthread_pool; + for(int i =0; i < th_num; ++i) + thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); + for(int i = 0; i < th_num; ++i) + thread_pool[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + + DIST_CALC_TIME += Const::timer_end(&io_time); + bsf = (*heap)[0]->dist; + + for(PqItemSeries*s: *heap) + if(s->needDeepCopy) s->copyData(); + + } + first_time = false; + prev_buf_size = cur_buf_size; + cur_buf_size = 0; + buffer_flag = 1 - buffer_flag; + } + } + } + + Const::timer_start(&io_time); + unique_lock lk(pq_mutex); + read_cond.wait(lk, [&buffer_flag]{return !buf_state[1 - buffer_flag];}); + lk.unlock(); + IO_ACTUAL_WAIT += Const::timer_end(&io_time); + if(cur_buf_size > 0) { + buf_state[buffer_flag] = true; + } + + Const::timer_start(&t1); + auto &ready_data = io_buffer[1 - buffer_flag]; + local_bsf = bsf; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int th_num = Const::thread_num; + int cur_index = th_num; + vectorthread_pool; + for(int i =0; i < th_num; ++i) + thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); + for(int i = 0; i < th_num; ++i) + thread_pool[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + + if(cur_buf_size > 0){ + Const::timer_start(&io_time); + unique_lock llk(pq_mutex); + read_cond.wait(llk, [&buffer_flag]{return !buf_state[buffer_flag];}); + llk.unlock(); + IO_ACTUAL_WAIT += Const::timer_end(&io_time); + for(int i = 0 ; i < cur_buf_size; ++i){ + auto& dat = io_buffer[buffer_flag][i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } + } + + + EXITED = true; + buf_cond.notify_all(); + for(auto &thread:io_threads) + thread.join(); + PREPARE_TIME += Const::timer_end(&t1); + + + delete queryTs; + sort_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +vector *FADASSearcher::Par_exactSearchIdLevel_SSDV3_multithread(FADASNode *root, float *query, int k, + vector> *g, + float *query_reordered, int *ordering, + vector> &io_buffer) { + timeval prev_t, cpu_t, wait_t, tail_t; + Const::timer_start(&prev_t); + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); + SafeHashMapvisited; + char _ = 0; + visited.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + priority_queue, cmp_PqItemDumpyId> pq; + for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.emplace(root, i, dist); + } + + int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; + bool first_time = true; + PqItemFadasId cur; double top_dist, local_bsf; FADASNode* node; io_data* data; + timeval io_start; + cur_buf = 0; cur_size = 0; +// prepared.clear(); buf_state.clear(); finished.clear(); cur_slot.clear(); +// prepared.emplace_back(0);prepared.emplace_back(0); +// buf_state.emplace_back(true); buf_state.emplace_back(true); +// finished.emplace_back(0); finished.emplace_back(0); +// cur_slot.emplace_back(0); cur_slot.emplace_back(0); +// EXITED = false; + vectorio_threads, comp_threads; + int io_th_num = Const::thread_num, comp_th_num = Const::thread_num; + +// thread IO(io_worker_func_V3, &io_buffer); + + while(!pq.empty()){ + cur = pq.top(); + pq.pop(); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(node->isInternalNode()){ + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf) + pq.emplace(node, i, dist); + } + }else{ + if(visited.find(node, _)) continue; + visited.insert(node, _); + ++LOADED_NODE_CNT; + auto & tmp = io_buffer[buffer_flag][cur_buf_size]; + tmp.node_size = node->size; + tmp.lb_dist = top_dist; + string file = Const::fidxfn + node->getFileNameWrapper(); + tmp.f = fopen((file).c_str(), "rb"); + ++cur_buf_size; + if(cur_buf_size == Const::SSD_pq_num){ + if(!first_time){ + double cpu_interval = Const::timer_end(&cpu_t); + CPU_TIME += cpu_interval; + + Const::timer_start(&wait_t); + for(auto &th: io_threads) + th.join(); + WAIT_TIME += Const::timer_end(&wait_t); + + double io_interval = (io_finish.tv_sec - io_start.tv_sec)*1000000 + ((double)io_finish.tv_usec - io_start.tv_usec); + READ_TIME += io_interval; + double non_overlap = cpu_interval - io_interval; + NON_OVERLAP_TIME += (non_overlap > 0 ? non_overlap: 0); + + io_threads.clear(); + cur_size = 0; + Const::timer_start(&io_start); + Const::timer_start(&cpu_t); + for(int i =0 ; i < io_th_num ; ++i) + io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], cur_buf_size); + + + local_bsf = bsf; + auto &ready_data = io_buffer[1 - buffer_flag]; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int cur_index = comp_th_num; + comp_threads.clear(); + for(int i =0; i < comp_th_num; ++i) + comp_threads.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); + for(int i = 0; i < comp_th_num; ++i) + comp_threads[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + bsf = (*heap)[0]->dist; + + for(PqItemSeries*s: *heap) + if(s->needDeepCopy) s->copyData(); + + }else { + io_threads.clear(); + cur_size = 0; + PREV_TIME += Const::timer_end(&prev_t); + Const::timer_start(&io_start); + Const::timer_start(&cpu_t); + for(int i =0 ; i < io_th_num ; ++i) + io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], cur_buf_size); + } + first_time = false; + prev_buf_size = cur_buf_size; + cur_buf_size = 0; + buffer_flag = 1 - buffer_flag; + } + } + } + + double cpu_interval = Const::timer_end(&cpu_t); + CPU_TIME += cpu_interval; + + Const::timer_start(&wait_t); + for(auto &th: io_threads) + th.join(); + WAIT_TIME += Const::timer_end(&wait_t); + + double io_interval = (io_finish.tv_sec - io_start.tv_sec)*1000000 + ((double)io_finish.tv_usec - io_start.tv_usec); + READ_TIME += io_interval; + double non_overlap = cpu_interval - io_interval; + NON_OVERLAP_TIME += (non_overlap > 0 ? non_overlap: 0); + + // now one buffer is not computed, one buffer is not read + Const::timer_start(&tail_t); + if(cur_buf_size > 0) { + io_threads.clear(); + cur_size = 0; + for(int i =0 ; i < io_th_num ; ++i) + io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], cur_buf_size); + } + + + auto &ready_data = io_buffer[1 - buffer_flag]; + local_bsf = bsf; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int cur_index = comp_th_num; + comp_threads.clear(); + for(int i =0; i < comp_th_num; ++i) + comp_threads.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); + for(int i = 0; i < comp_th_num; ++i) + comp_threads[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + + if(cur_buf_size > 0){ + for(auto &th: io_threads) + th.join(); + for(int i = 0 ; i < cur_buf_size; ++i){ + auto& dat = io_buffer[buffer_flag][i]; + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } + } + + delete queryTs; + sort_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + TAIL_TIME += Const::timer_end(&tail_t); + return heap; +} + +vector *FADASSearcher::Par_exactSearch_DTW(FADASNode *root, float *query, int k, + vector> *g, + float *query_reordered, int *ordering, + vector> &io_buffer) { + timeval prev_t, cpu_t, wait_t, tail_t, io_start; + Const::timer_start(&prev_t); + vector* heap = approxSearchDTW(root, query, k, g, Const::fidxfn); + SafeHashMapvisited; + char _ = 0; + visited.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + auto* lowerLemire = new float [Const::tsLength]; + auto* upperLemire = new float [Const::tsLength]; + SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); + double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); + double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); + + + priority_queue, cmp_PqItemDumpyId> pq; + for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; + double dist = SaxUtil::getMinDist1stLayerDTW(upperPaa, lowerPaa, i); + pq.emplace(root, i, dist); + } + + int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; + bool first_time = true; size_t fd; timeval io_time; + PqItemFadasId cur; double top_dist, local_bsf; FADASNode* node; io_data* data; + vectorio_threads, comp_threads; + int io_th_num = Const::thread_num, comp_th_num = Const::thread_num; + int batch_size = Const::SSD_pq_num / comp_th_num; + + while(!pq.empty()){ + cur = pq.top(); + pq.pop(); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(node->isInternalNode()){ + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::minidist_paa_to_isax_DTW( upperPaa, lowerPaa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf) + pq.emplace(node, i, dist); + } + }else{ + if(visited.find(node, _)) continue; + visited.insert(node, _); + ++LOADED_NODE_CNT; + auto & tmp = io_buffer[buffer_flag][cur_buf_size]; + tmp.node_size = node->size; + tmp.lb_dist = top_dist; + string file = Const::fidxfn + node->getFileNameWrapper(); + tmp.f = fopen((file).c_str(), "rb"); +// assert(tmp.fd > 0); + ++cur_buf_size; + if(cur_buf_size == Const::SSD_pq_num){ + if(!first_time){ + double cpu_interval = Const::timer_end(&cpu_t); + CPU_TIME += cpu_interval; + + Const::timer_start(&wait_t); + for(auto &th: io_threads) + th.join(); + WAIT_TIME += Const::timer_end(&wait_t); + + double io_interval = (io_finish.tv_sec - io_start.tv_sec)*1000000 + ((double)io_finish.tv_usec - io_start.tv_usec); + READ_TIME += io_interval; + double non_overlap = cpu_interval - io_interval; + NON_OVERLAP_TIME += (non_overlap > 0 ? non_overlap: 0); + + io_threads.clear(); + cur_size = 0; + Const::timer_start(&io_start); + Const::timer_start(&cpu_t); + for(int i =0 ; i < io_th_num ; ++i) + io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], cur_buf_size); + + local_bsf = bsf; + auto &ready_data = io_buffer[1 - buffer_flag]; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int cur_index = comp_th_num; + comp_threads.clear(); + for(int i =0; i < comp_th_num; ++i) + comp_threads.emplace_back(thread(process_buffer_DTW, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size, + upperLemire, lowerLemire)); + for(int i = 0; i < comp_th_num; ++i) + comp_threads[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + bsf = (*heap)[0]->dist; + + for(PqItemSeries*s: *heap) + if(s->needDeepCopy) s->copyData(); + + } else { + io_threads.clear(); + cur_size = 0; + PREV_TIME += Const::timer_end(&prev_t); + Const::timer_start(&io_start); + Const::timer_start(&cpu_t); + for(int i =0 ; i < io_th_num ; ++i) + io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], cur_buf_size); +// for(int i = 0 ; i < io_th_num; ++i) { +// io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], i * ) +// } + } + first_time = false; + prev_buf_size = cur_buf_size; + cur_buf_size = 0; + buffer_flag = 1 - buffer_flag; + } + } + } + + if(first_time){ + io_threads.clear(); + cur_size = 0; + PREV_TIME += Const::timer_end(&prev_t); + Const::timer_start(&tail_t); + for(int i =0 ; i < io_th_num ; ++i) + io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], cur_buf_size); + for(int i = 0 ; i < io_th_num; ++i) + io_threads[i].join(); + for(int i = 0 ; i < cur_buf_size; ++i){ + auto& dat = io_buffer[buffer_flag][i]; + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_DTW_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf, upperLemire, lowerLemire); + } + } + + }else{ + double cpu_interval = Const::timer_end(&cpu_t); + CPU_TIME += cpu_interval; + Const::timer_start(&wait_t); + for(auto &th: io_threads) + th.join(); + WAIT_TIME += Const::timer_end(&wait_t); + + double io_interval = (io_finish.tv_sec - io_start.tv_sec)*1000000 + ((double)io_finish.tv_usec - io_start.tv_usec); + READ_TIME += io_interval; + double non_overlap = cpu_interval - io_interval; + NON_OVERLAP_TIME += (non_overlap > 0 ? non_overlap: 0); + + // now one buffer is not computed, one buffer is not read + Const::timer_start(&tail_t); + if(cur_buf_size > 0) { + io_threads.clear(); + cur_size = 0; + for(int i =0 ; i < io_th_num ; ++i) + io_threads.emplace_back(io_worker_func_V3_multithread, &io_buffer[buffer_flag], cur_buf_size); + } + + auto &ready_data = io_buffer[1 - buffer_flag]; + local_bsf = bsf; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int cur_index = comp_th_num; + comp_threads.clear(); + for(int i =0; i < comp_th_num; ++i) + comp_threads.emplace_back(thread(process_buffer_DTW, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size, + upperLemire, lowerLemire)); + for(int i = 0; i < comp_th_num; ++i) + comp_threads[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + + if(cur_buf_size > 0){ + for(auto &th: io_threads) + th.join(); + for(int i = 0 ; i < cur_buf_size; ++i){ + auto& dat = io_buffer[buffer_flag][i]; + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_DTW_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf, upperLemire, lowerLemire); + } + + } + } + } + + + delete queryTs; + sort_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + TAIL_TIME += Const::timer_end(&tail_t); + return heap; +} + +//vector *FADASSearcher::Par_exactSearchIdLevel_SSDV2_DTW(FADASNode *root, float *query, int k, +// vector> *g, +// float *query_reordered, int *ordering, io_uring &ring, +// vector> &io_buffer) { +// vector* heap = approxSearchDTW(root, query, k, g, Const::fidxfn); +// SafeHashMapvisited; +// char _ = 0; +// visited.insert(targetNode, _); +// make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); +// double bsf = (*heap)[0]->dist; +// auto *queryTs = new TimeSeries(query); +// +// priority_queue, cmp_PqItemDumpyId> pq; +// for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; +// double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); +// pq.emplace(root, i, dist); +// } +// +// io_uring_sqe* sqe; io_uring_cqe* cqe; thread* io_worker; +// int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; +// bool first_time = true; size_t fd; timeval io_time; +// PqItemFadasId cur; double top_dist, local_bsf; FADASNode* node; io_data* data; +//// unsigned head = 0; int times = 0; vectorrecieve(Const::SSD_pq_num); +// +// while(!pq.empty()){ +// cur = pq.top(); +// pq.pop(); +// top_dist = cur.dist; +// if(top_dist >= bsf) break; +// node = cur.parent->children[cur.id]; +// if(node->isInternalNode()){ +//// Const::timer_start(&io_time); +// len = (1 << (node->chosenSegments.size())); +// for(int i =0;ichildren[i] == nullptr) continue; +// double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, +// node->bits_cardinality, node->chosenSegments, i); +// if(dist < bsf) +// pq.emplace(node, i, dist); +// } +//// SEARCH_TIME += Const::timer_end(&io_time); +// }else{ +// if(visited.find(node, _)) continue; +// visited.insert(node, _); +// ++LOADED_NODE_CNT; +// +// auto & tmp = io_buffer[buffer_flag][cur_buf_size]; +// tmp.node_size = node->size; +// tmp.lb_dist = top_dist; +// string file = Const::fidxfn + node->getFileNameWrapper(); +// tmp.fd = open((file).c_str(), O_RDONLY); +// assert(tmp.fd > 0); +// ++cur_buf_size; +// if(cur_buf_size == Const::SSD_pq_num){ +// if(!first_time){ +// Const::timer_start(&io_time); +// io_worker->join(); +// IO_ACTUAL_WAIT += Const::timer_end(&io_time); +// delete io_worker; +// io_worker = new thread(io_worker_func_io_uring, &io_buffer[buffer_flag], cur_buf_size, &ring); +// +// Const::timer_start(&io_time); +// local_bsf = bsf; +// auto &ready_data = io_buffer[1 - buffer_flag]; +//#ifdef par +// #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ +// default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +//#pragma omp critical +// { +// local_bsf = bsf; +// }; +// if(dat.lb_dist < local_bsf){ +//// _search_num += dat.node_size; +// raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#else +//#ifdef pth +// int th_num = Const::thread_num; +// int cur_index = th_num; +// vectorthread_pool; +// for(int i =0; i < th_num; ++i) +// thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); +// for(int i = 0; i < th_num; ++i) +// thread_pool[i].join(); +//#else +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#endif +//#endif +// +// DIST_CALC_TIME += Const::timer_end(&io_time); +// bsf = (*heap)[0]->dist; +// +// for(PqItemSeries*s: *heap) +// if(s->needDeepCopy) s->copyData(); +// +// }else{ +// io_worker = new thread(io_worker_func_io_uring, &io_buffer[buffer_flag], cur_buf_size, &ring); +// } +// first_time = false; +// prev_buf_size = cur_buf_size; +// cur_buf_size = 0; +// buffer_flag = 1 - buffer_flag; +// } +// } +// } +// +// Const::timer_start(&io_time); +// io_worker->join(); +// IO_ACTUAL_WAIT += Const::timer_end(&io_time); +// delete io_worker; +// if(cur_buf_size > 0) { +// io_worker = new thread(io_worker_func_io_uring, &io_buffer[buffer_flag], cur_buf_size, &ring); +// } +// +// Const::timer_start(&io_time); +// auto &ready_data = io_buffer[1 - buffer_flag]; +// local_bsf = bsf; +//#ifdef par +// #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ +// default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +//#pragma omp critical +// { +// local_bsf = bsf; +// }; +// if(dat.lb_dist < local_bsf){ +//// _search_num += dat.node_size; +// raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#else +//#ifdef pth +// int th_num = Const::thread_num; +// int cur_index = th_num; +// vectorthread_pool; +// for(int i =0; i < th_num; ++i) +// thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); +// for(int i = 0; i < th_num; ++i) +// thread_pool[i].join(); +//#else +// for(int i = 0; i < prev_buf_size; ++i){ +// auto &dat = ready_data[i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +//#endif +//#endif +// +// if(cur_buf_size > 0){ +// Const::timer_start(&io_time); +// io_worker->join(); +// IO_ACTUAL_WAIT += Const::timer_end(&io_time); +// delete io_worker; +// for(int i = 0 ; i < cur_buf_size; ++i){ +// auto& dat = io_buffer[buffer_flag][i]; +// close(dat.fd); +// if(dat.lb_dist < bsf){ +// _search_num += dat.node_size; +// raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); +// } +// } +// } +// +// delete queryTs; +// sort_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); +// return heap; +//} + +vector*FADASSearcher::exactSearchDTWIdLevel(FADASNode* root, float *query, int k, vector> *g){ + vector* heap = approxSearchDTW(root, query, k, g, Const::fidxfn); + SafeHashMapvisited; + char _ = 0; + visited.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + auto* lowerLemire = new float [Const::tsLength]; + auto* upperLemire = new float [Const::tsLength]; + SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); + double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); + double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); + + + priority_queue, cmp_PqItemDumpyId> pq; + for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; + double dist = SaxUtil::getMinDist1stLayerDTW(upperPaa, lowerPaa, i); + pq.emplace(root, i, dist); + } + + int len; + PqItemFadasId cur; double top_dist, local_bsf; FADASNode* node; + + while(!pq.empty()){ + cur = pq.top(); + pq.pop(); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(visited.find(node, _)) continue; + visited.insert(node, _); + if(node->isInternalNode()){ +// Const::timer_start(&io_time); + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::minidist_paa_to_isax_DTW( upperPaa, lowerPaa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf) + pq.emplace(node, i, dist); + } +// SEARCH_TIME += Const::timer_end(&io_time); + }else{ + node->searchDTW(k, queryTs, *heap, Const::fidxfn); + ++LOADED_NODE_CNT; + bsf = (*heap)[0]->dist; + } + } + + delete queryTs; + sort_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + + +vector*FADASSearcher::exactSearchDTW(FADASNode* root, float *query, int k, vector> *g){ + vector* heap = approxSearchDTW(root, query, k, g, Const::fidxfn); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + auto* lowerLemire = new float [Const::tsLength]; + auto* upperLemire = new float [Const::tsLength]; + SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); + double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); + double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); + + setpq; + pq.insert(PqItemFadas(root, 0)); + + PqItemFadas cur; + while(!pq.empty()){ + cur = *pq.begin(); + if(cur.dist > bsf) break; + pq.erase(pq.begin()); + if(cur.node->isInternalNode()){ + unordered_setinserted; + for(FADASNode* node:cur.node->children) + if(node != nullptr && node != targetNode && inserted.find(node) == inserted.end()) { +// auto start = chrono::system_clock::now(); + inserted.insert(node); + double lb_dist = SaxUtil::minidist_paa_to_isax_DTW(upperPaa, lowerPaa, node->sax, node->bits_cardinality); +// auto end = chrono::system_clock::now(); +// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); + if(lb_dist < bsf){ + pq.insert(PqItemFadas(node, lb_dist)); + LB_NODE_CNT++; + } + } + inserted.clear(); + }else{ + cur.node->searchDTW(k, queryTs, *heap, Const::fidxfn); + ++LOADED_NODE_CNT; + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + delete[] lowerPaa; + delete[] upperPaa; + delete[] lowerLemire; + delete[] upperLemire; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +vector*FADASSearcher::exactSearchPos(FADASNode* root, float *query, int k, vector> *g){ + vector* heap = approxSearchPos(root, query, k, g, Const::posidxfn); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + setpq; + pq.insert(PqItemFadas(root, 0)); + + PqItemFadas cur; + while(!pq.empty()){ + cur = *pq.begin(); + if(cur.dist >= bsf) break; + pq.erase(pq.begin()); + if(cur.node->isInternalNode()){ + for(FADASNode* node:cur.node->children) + if(node != nullptr && node != targetNode) { +// auto start = chrono::system_clock::now(); + double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); +// auto end = chrono::system_clock::now(); +// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); + if(lb_dist < bsf) { + pq.insert(PqItemFadas(node, lb_dist)); + LB_NODE_CNT++; + } + } + }else{ + cur.node->search_offset(k, queryTs, *heap, Const::posidxfn); + ++LOADED_NODE_CNT; + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +static float *t_paa; +static double *low_paa, *up_paa; +bool comp_fadas(const FADASNode* x, const FADASNode* y){ + if(x == nullptr) return false; + if(y == nullptr) return true; + return SaxUtil::LowerBound_Paa_iSax(t_paa, x->sax, x->layer) < SaxUtil::LowerBound_Paa_iSax(t_paa, y->sax, y->layer); +} + +bool comp_fadas_dtw(const FADASNode* x, const FADASNode* y){ + if(x == nullptr) return false; + if(y == nullptr) return true; + return SaxUtil::minidist_paa_to_isax_DTW(up_paa, low_paa, x->sax, x->bits_cardinality) < SaxUtil::minidist_paa_to_isax_DTW(up_paa, low_paa, y->sax, y->bits_cardinality); +} + + +extern int nrest; +vector * FADASSearcher::approxIncSearch(FADASNode *root, float *query, int k, const string &index_dir, + int node_num, + float *query_reordered, int *ordering, vector> *g) { + auto* queryTs = new TimeSeries(query); + t_paa = queryTs->paa; + auto*heap = new vector(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + approxSearchInner4IncSearch(root, queryTs, k, heap, g, sax, index_dir, query_reordered, ordering); + --node_num; + if(node_num > 0) + approxIncSearchInterNode(root, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); + + nrest = node_num; + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + +void FADASSearcher::approxIncSearchInner(FADASNode *root, float *query, int k, const string &index_dir, + int node_num, vector*heap, TimeSeries* queryTs,unsigned short *sax, + float *query_reordered, int *ordering, vector> *g) { + + if(node_num >= 0) + approxIncSearchInterNode(root, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); + +} + + + +vector *FADASSearcher::ngSearch(FADASNode *root, float *query, float *query_reordered, int *ordering, + int k, + vector> *g, int nprobes){ + auto *queryTs = new TimeSeries(query); + auto heap = new vector(); + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; +// approxSearchInner(root,queryTs, k,heap,g,sax, Const::fidxfn, query_reordered, ordering); +// --nprobes; + + FADASNode* root_subtree = root->route1step(sax); + unordered_setvisited; + if(root_subtree){ + if(!root_subtree->isInternalNode()){ + visited.insert(root_subtree); + root_subtree->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + --nprobes; + }else if(root_subtree->leaf_num <= Const::pre_read){ + // a small subtree + if(nprobes >= root_subtree->leaf_num){ + int _ =root_subtree->leaf_num; + visited.insert(root_subtree); + searchSubTree(root_subtree, queryTs, k, heap, Const::fidxfn, _, query_reordered, ordering); + nprobes -= root_subtree->leaf_num; + }else{ + int rest = nprobes; + approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fidxfn, rest, visited, + query_reordered, ordering); + nprobes = rest; + } + }else{ + // a big subtree + int to_search = min(nprobes, Const::pre_read); + int _ = to_search; + approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fidxfn, to_search, visited, + query_reordered, ordering); + nprobes = nprobes - _ + to_search; + } + } + + if(nprobes <= 0){ + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + } + + double bsf = heap->size() < k ? numeric_limits::max(): (*heap)[0]->dist; + + setpq; + for(int i =0;ichildren[i] == nullptr || visited.count(root->children[i]) > 0) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.insert(PqItemFadasId(root,i, dist)); + } + int cur_probe = 0; + while(!pq.empty() && cur_probe < nprobes){ + double top_dist; + FADASNode* node; + top_dist = pq.begin()->dist; + if(top_dist > bsf) break; + node = pq.begin()->parent->children[pq.begin()->id]; + pq.erase(pq.begin()); + if(visited.count(node) > 0) continue; + visited.insert(node); + + if(node->isInternalNode()){ + int len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf){ + pq.insert(PqItemFadasId(node, i, dist)); + } + } + }else{ + node->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + ++cur_probe; + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + +vector *FADASSearcher::Par_ngSearch(FADASNode *root, float *query, float *query_reordered, int *ordering, + int k, + vector> *g, int nprobes, + vector> &io_buffer){ + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, query_reordered, ordering); + SafeHashMapvisited; + char _ = 0; + visited.insert(targetNode, _); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + --nprobes; + + if(nprobes <= 0){ + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + } + + priority_queue, cmp_PqItemDumpyId> pq; + for(int i =0;ichildren[i] == nullptr || visited.find(root->children[i], _)) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.emplace(root, i, dist); + } + + int buffer_flag = 0, prev_buf_size =0, cur_buf_size = 0, err, len; + bool first_time = true; size_t fd; timeval io_time, t1; + PqItemFadasId cur; double top_dist, local_bsf; FADASNode* node; io_data* data; + cur_buf = 0; cur_size = 0; + prepared.clear(); buf_state.clear(); + prepared.emplace_back(0);prepared.emplace_back(0); + buf_state.emplace_back(false); buf_state.emplace_back(false); + EXITED = false; + vectorio_threads; + for(int i = 0; i < 1; ++i) + io_threads.emplace_back(io_worker_func_V3, &io_buffer); + int cur_probe = 0; + + while(!pq.empty() && cur_probe < nprobes){ + cur = pq.top(); + pq.pop(); + top_dist = cur.dist; + if(top_dist >= bsf) break; + node = cur.parent->children[cur.id]; + if(node->isInternalNode()){ +// Const::timer_start(&io_time); + len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, + node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf) + pq.emplace(node, i, dist); + } +// SEARCH_TIME += Const::timer_end(&io_time); + }else{ + if(visited.find(node, _)) continue; + visited.insert(node, _); + ++LOADED_NODE_CNT; + auto & tmp = io_buffer[buffer_flag][cur_buf_size]; + tmp.node_size = node->size; + tmp.lb_dist = top_dist; + string file = Const::fidxfn + node->getFileNameWrapper(); + tmp.f = fopen((file).c_str(), "rb"); +// assert(tmp.fd > 0); + ++cur_buf_size; + ++cur_probe; + prepared[buffer_flag]++; + buf_cond.notify_one(); + if(cur_buf_size == Const::SSD_pq_num){ + buf_state[buffer_flag] = true; + if(!first_time){ + Const::timer_start(&io_time); + unique_lock lk(pq_mutex); + read_cond.wait(lk, [&buffer_flag]{return !buf_state[1 - buffer_flag];}); + lk.unlock(); + IO_ACTUAL_WAIT += Const::timer_end(&io_time); + + Const::timer_start(&io_time); + local_bsf = bsf; + auto &ready_data = io_buffer[1 - buffer_flag]; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int th_num = Const::thread_num; + int cur_index = th_num; + vectorthread_pool; + for(int i =0; i < th_num; ++i) + thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); + for(int i = 0; i < th_num; ++i) + thread_pool[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + + DIST_CALC_TIME += Const::timer_end(&io_time); + bsf = (*heap)[0]->dist; + + for(PqItemSeries*s: *heap) + if(s->needDeepCopy) s->copyData(); + + } + first_time = false; + prev_buf_size = cur_buf_size; + cur_buf_size = 0; + buffer_flag = 1 - buffer_flag; + } + + + } + } + + Const::timer_start(&io_time); + unique_lock lk(pq_mutex); + read_cond.wait(lk, [&buffer_flag]{return !buf_state[1 - buffer_flag];}); + lk.unlock(); + IO_ACTUAL_WAIT += Const::timer_end(&io_time); + if(cur_buf_size > 0) { + buf_state[buffer_flag] = true; + } + + Const::timer_start(&t1); + auto &ready_data = io_buffer[1 - buffer_flag]; + local_bsf = bsf; +#ifdef par + #pragma omp parallel for num_threads(Const::thread_num) schedule(dynamic) \ + default(none) shared(prev_buf_size, ready_data, bsf, query, heap, k) private(local_bsf) + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); +#pragma omp critical + { + local_bsf = bsf; + }; + if(dat.lb_dist < local_bsf){ +// _search_num += dat.node_size; + raw_search_SIMD_Par(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#else +#ifdef pth + int th_num = Const::thread_num; + int cur_index = th_num; + vectorthread_pool; + for(int i =0; i < th_num; ++i) + thread_pool.emplace_back(thread(process_buffer, &ready_data, query, heap, k, bsf, i, &cur_index, prev_buf_size)); + for(int i = 0; i < th_num; ++i) + thread_pool[i].join(); +#else + for(int i = 0; i < prev_buf_size; ++i){ + auto &dat = ready_data[i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } +#endif +#endif + + if(cur_buf_size > 0){ + Const::timer_start(&io_time); + unique_lock llk(pq_mutex); + read_cond.wait(llk, [&buffer_flag]{return !buf_state[buffer_flag];}); + llk.unlock(); + IO_ACTUAL_WAIT += Const::timer_end(&io_time); + for(int i = 0 ; i < cur_buf_size; ++i){ + auto& dat = io_buffer[buffer_flag][i]; + close(dat.fd); + if(dat.lb_dist < bsf){ + _search_num += dat.node_size; + raw_search_SIMD(dat.tss, dat.node_size, query, *heap, k, bsf); + } + } + } + + PREPARE_TIME += Const::timer_end(&t1); + + EXITED = true; + buf_cond.notify_all(); + for(auto &thread:io_threads) + thread.join(); + + delete queryTs; + sort_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + + +vector *FADASSearcher::ngSearchIdLevelNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, + int k, + vector> *g, int nprobes){ + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, nullptr, nullptr); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + setpq; + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.insert(PqItemFadasId(root,i, dist)); + } + unordered_setvisited; + int cur_probe = 1; + while(!pq.empty() && cur_probe < nprobes){ + double top_dist; + FADASNode* node; + top_dist = pq.begin()->dist; + if(top_dist > bsf) break; + node = pq.begin()->parent->children[pq.begin()->id]; + pq.erase(pq.begin()); + if(visited.count(node) > 0) continue; + visited.insert(node); + + if(node->isInternalNode()){ + int len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr || node->children[i] == targetNode) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf){ + pq.insert(PqItemFadasId(node, i, dist)); + } + } + }else{ + node->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); + ++cur_probe; + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + +vector *FADASSearcher::ngSearchNaive(FADASNode *root, float *query, float *query_reordered, int *ordering, + int k, + vector> *g, int nprobes) { + vector* heap = approxSearch(root, query, k, g, Const::fidxfn, nullptr, nullptr); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + setpq; + pq.insert(PqItemFadas(root, 0)); + + PqItemFadas cur; + int cur_probe = 1; + while(!pq.empty() && cur_probe < nprobes){ + cur = *pq.begin(); + if(cur.dist > bsf) break; + pq.erase(pq.begin()); + if(cur.node->isInternalNode()){ + unordered_setinserted; + for(FADASNode* node:cur.node->children) + if(node != nullptr && node != targetNode && inserted.find(node) == inserted.end()) { +// auto start = chrono::system_clock::now(); + inserted.insert(node); + double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); +// auto end = chrono::system_clock::now(); +// LB_NODE_TIME_STAT += chrono::duration_cast(end - start).count(); + if(lb_dist < bsf){ + pq.insert(PqItemFadas(node, lb_dist)); + LB_NODE_CNT++; + } + } + inserted.clear(); + }else{ + cur.node->search(k, queryTs, *heap, Const::fidxfn, query_reordered, ordering); +// ++LOADED_NODE_CNT; + ++cur_probe; + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + + + +vector * FADASSearcher::approxIncSearchDTW(FADASNode *root, float *query, int k, const string &index_dir, + int node_num) { + auto* queryTs = new TimeSeries(query); + auto* lowerLemire = new float [Const::tsLength]; + auto* upperLemire = new float [Const::tsLength]; + SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); + low_paa= SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); + up_paa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); + + t_paa = queryTs->paa; + auto*heap = new vector(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + approxIncSearchInterNodeDTW(root, queryTs, sax, k, heap, index_dir, node_num); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + +void FADASSearcher::approxIncSearchInterNodeDTW(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir,int &node_num) { + if(!root->isInternalNode() || node_num <= 0) return; + FADASNode *cur = root->route1step(sax), *parent = root; + while (cur!= nullptr && cur->isInternalNode() && cur->getLeafNodeNum() > node_num) { + parent = cur; + cur = cur->route(sax); + } + + if(cur!= nullptr){ + if(!cur->isInternalNode()){ + cur->searchDTW(k, queryTs, *heap, index_dir); + --node_num; + }else{ + approxIncSearchInterNodeDTW(cur, queryTs, sax, k, heap, index_dir, node_num); + } + } + + if(node_num <=0) return; + + vectorcandidates; + unordered_setcands; + for(FADASNode *node: parent->children) + if(node != nullptr && node!=cur && cands.find(node) == cands.end()) { + candidates.push_back(node); + cands.insert(node); + } + cands.clear(); + sort(candidates.begin(), candidates.end(), comp_fadas_dtw); + + + + for(int i=0;i 0;++i){ + if(!candidates[i]->isInternalNode()) { + candidates[i]->searchDTW(k, queryTs, *heap, index_dir); + --node_num; + } + else { + approxIncSearchInterNodeDTW(candidates[i], queryTs, sax, k, heap, index_dir, node_num); + } + } + +} + +int q_id; +bool comp_fadas_id(const int i, const int j){ + return MathUtil::bitDiffNum(q_id, i ) < MathUtil::bitDiffNum(q_id,j); +} + + +extern int __layer; +void FADASSearcher::approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, + int &node_num, float *query_reordered, int *ordering) { + if(!root->isInternalNode() || node_num <= 0) return; + FADASNode *cur = root->route1step(sax), *parent = root; + while (cur!= nullptr && cur->isInternalNode() && cur->leaf_num > node_num) { + parent = cur; + cur = cur->route1step(sax); + } + +// if(root->layer == 0) +// __layer = cur->layer; + if(cur!= nullptr && cur != targetNode){ + if(!cur->isInternalNode()){ + cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + }else{ + searchSubTree(cur, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); +// approxIncSearchInterNode(cur, queryTs,sax,k, heap, index_dir, node_num, query_reordered, ordering); + } + } + + if(node_num <=0) return; + + double bsf = (*heap)[0]->dist; + vectorcandidates; + int len = (1 << (parent->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr || parent->children[i] == cur) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, parent->sax, parent->bits_cardinality, parent->chosenSegments, i); + if(dist < bsf){ + candidates.emplace_back(parent, i, dist); + } + } + sort(candidates.begin(), candidates.end()); + +// vectorcandidates; +// unordered_setcands; +// for(FADASNode *node: parent->children) +// if(node != nullptr && node!=cur && cands.find(node) == cands.end()) { +// double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->layer); +// cands.insert(node); +// candidates.push_back(node); +// } +// cands.clear(); +// sort(candidates.begin(), candidates.end(), comp_fadas); + +// vectorcandidates; +// unordered_setcands; +// double bsf = (*heap)[0]->dist; +// for(FADASNode *node: parent->children) +// if(node != nullptr && node!=cur && cands.find(node) == cands.end()) { +// double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality); +// if(dist > bsf) continue; +// cands.insert(node); +// candidates.emplace_back(node, dist); +// } +// cands.clear(); +// sort(candidates.begin(), candidates.end()); + + +// q_id = SaxUtil::extendSax(sax, parent->bits_cardinality, parent->chosenSegments); +// vectorids(1 << parent->chosenSegments.size(), 0); +// for(int i=0;i<(1<chosenSegments.size());++i) +// ids[i] = i; +// sort(ids.begin(), ids.end(), comp_fadas_id); +// +// unordered_setvisited; +// for(int i=0;i 0;++i){ +// FADASNode *tmp = parent->children[ids[i]]; +// if(tmp != nullptr && tmp != cur && visited.find(tmp) == visited.end()){ +// if(tmp->isLeafNode()){ +// --node_num; +// tmp->search(k, queryTs, *heap, index_dir); +// visited.insert(tmp); +// }else{ +// approxIncSearchInterNode(tmp, queryTs, sax, k, heap, index_dir, node_num); +// visited.insert(tmp); +// } +// } +// } + + unordered_setvisited; + for(int i=0;i 0;++i){ + FADASNode* node = parent->children[candidates[i].id]; + if(candidates[i].dist > bsf) break; + if(visited.count(node) > 0) continue; + visited.insert(node); + if(!node->isInternalNode()) { + node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + } + else { + if(node->leaf_num <= node_num){ + searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); + }else + approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); + } + } + +// for(int i=0;i 0;++i){ +// FADASNode* node = candidates[i]; +// if(!node->isInternalNode()) { +// node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); +// --node_num; +// } +// else { +// approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); +// } +// } + +// for(int i=0;i 0;++i){ +// if(bsf < candidates[i].dist) break; +// FADASNode* node = candidates[i].node; +// if(!node->isInternalNode()) { +// node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); +// --node_num; +// } +// else { +// approxIncSearchInterNode(node, queryTs, sax, k, heap, index_dir, node_num, query_reordered, ordering); +// } +// bsf = (*heap)[0]->dist; +// } + + + +} + +// for ng-search +void FADASSearcher::approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, + int &node_num, unordered_set&visit, float *query_reordered, int *ordering) { + if(node_num <= 0) return; + FADASNode *cur = root->route1step(sax), *parent = root; + while (cur!= nullptr && cur->isInternalNode() && cur->leaf_num > node_num) { + parent = cur; + cur = cur->route1step(sax); + } + + if(cur!= nullptr){ + visit.insert(cur); + if(!cur->isInternalNode()){ + cur->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + }else{ + searchSubTree(cur, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); + } + } + + if(node_num <=0) return; + + double bsf = (*heap)[0]->dist; + vectorcandidates; + int len = (1 << (parent->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr || parent->children[i] == cur) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, parent->sax, parent->bits_cardinality, parent->chosenSegments, i); + if(dist < bsf){ + candidates.emplace_back(parent, i, dist); + } + } + sort(candidates.begin(), candidates.end()); + + for(int i=0;i 0;++i){ + FADASNode* node = parent->children[candidates[i].id]; + if(candidates[i].dist > bsf) break; + if(visit.count(node) > 0) continue; + visit.insert(node); + if(!node->isInternalNode()) { + node->search(k, queryTs, *heap, index_dir, query_reordered, ordering); + --node_num; + } + else { + searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering); + } + } + +} + +// for ng-search fuzzy +void FADASSearcher::approxIncSearchInterNode(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir, + int &node_num, unordered_set&visit, float *query_reordered, int *ordering, + unordered_set*hash_set) { + if(node_num <= 0) return; + FADASNode *cur = root->route1step(sax), *parent = root; + while (cur!= nullptr && cur->isInternalNode() && cur->leaf_num > node_num) { + parent = cur; + cur = cur->route1step(sax); + } + + if(cur!= nullptr){ + visit.insert(cur); + if(!cur->isInternalNode()){ + cur->search(k, queryTs, *heap, index_dir, hash_set, query_reordered, ordering); + --node_num; + }else{ + searchSubTree(cur, queryTs,k, heap, index_dir, node_num, query_reordered, ordering, hash_set); + } + } + + if(node_num <=0) return; + + double bsf = (*heap)[0]->dist; + vectorcandidates; + int len = (1 << (parent->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr || parent->children[i] == cur) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, parent->sax, parent->bits_cardinality, parent->chosenSegments, i); + if(dist < bsf){ + candidates.emplace_back(parent, i, dist); + } + } + sort(candidates.begin(), candidates.end()); + + for(int i=0;i 0;++i){ + FADASNode* node = parent->children[candidates[i].id]; + if(candidates[i].dist > bsf) break; + if(visit.count(node) > 0) continue; + visit.insert(node); + if(!node->isInternalNode()) { + node->search(k, queryTs, *heap, index_dir, hash_set, query_reordered, ordering); + --node_num; + } + else { + searchSubTree(node, queryTs,k, heap, index_dir, node_num, query_reordered, ordering, hash_set); + } + } + +} + + +vector *FADASSearcher::ngSearchFuzzy(FADASNode *root, float *query, float *query_reordered, int *ordering, + int k, int nprobes){ + auto *queryTs = new TimeSeries(query); + auto heap = new vector(); + auto*hash_set = new unordered_set(); + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; +// approxSearchInner(root,queryTs, k,heap,g,sax, Const::fidxfn, query_reordered, ordering); +// --nprobes; + + FADASNode* root_subtree = root->route1step(sax); + unordered_setvisited; + if(root_subtree){ + if(!root_subtree->isInternalNode()){ + visited.insert(root_subtree); + root_subtree->search(k, queryTs, *heap, Const::fuzzyidxfn, hash_set, query_reordered, ordering); + --nprobes; + }else if(root_subtree->leaf_num <= Const::pre_read){ + // a small subtree + if(nprobes >= root_subtree->leaf_num) { + int _ = root_subtree->leaf_num; + visited.insert(root_subtree); + searchSubTree(root_subtree, queryTs, k, heap, Const::fuzzyidxfn, _, query_reordered, ordering, hash_set); + nprobes -= root_subtree->leaf_num; + }else{ + int rest = nprobes; + approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fuzzyidxfn, rest, visited, + query_reordered, ordering, hash_set); + nprobes = rest; + } + }else{ + // a big subtree + int to_search = min(nprobes, Const::pre_read); + int _ = to_search; + approxIncSearchInterNode(root_subtree, queryTs, sax, k, heap, Const::fuzzyidxfn, to_search, visited, + query_reordered, ordering, hash_set); + nprobes = nprobes - _ + to_search; + } + } + + if(nprobes <= 0){ + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + } + + double bsf = heap->size() < k ? numeric_limits::max(): (*heap)[0]->dist; + + setpq; + for(int i =0;ichildren[i] == nullptr || visited.count(root->children[i]) > 0) continue; + double dist = SaxUtil::getMinDist1stLayer(queryTs->paa , i); + pq.insert(PqItemFadasId(root,i, dist)); + } + int cur_probe = 0; + while(!pq.empty() && cur_probe < nprobes){ + double top_dist; + FADASNode* node; + top_dist = pq.begin()->dist; + if(top_dist > bsf) break; + node = pq.begin()->parent->children[pq.begin()->id]; + pq.erase(pq.begin()); + if(visited.count(node) > 0) continue; + visited.insert(node); + + if(node->isInternalNode()){ + int len = (1 << (node->chosenSegments.size())); + for(int i =0;ichildren[i] == nullptr) continue; + double dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, node->sax, node->bits_cardinality, node->chosenSegments, i); + if(dist < bsf){ + pq.insert(PqItemFadasId(node, i, dist)); + } + } + }else{ + node->search(k, queryTs, *heap, Const::fuzzyidxfn, hash_set, query_reordered, ordering); + ++cur_probe; + bsf = (*heap)[0]->dist; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + + + +vector * FADASSearcher::approxIncSearchFuzzy(FADASNode *root, float *query, int k, const string &index_dir, + int node_num) { + auto* queryTs = new TimeSeries(query); + t_paa = queryTs->paa; + auto*heap = new vector(); + auto*hash_set = new unordered_set(); + + unsigned short sax[Const::segmentNum]; + for(int i=0;isax))[i]; + + approxIncSearchInterNodeFuzzy(root, queryTs, sax, k, heap, index_dir, node_num, hash_set); + + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + + +void FADASSearcher::approxIncSearchInterNodeFuzzy(FADASNode *root, TimeSeries *queryTs, unsigned short *sax, int k, + vector *heap, const string &index_dir,int &node_num, + unordered_set*hash_set) { + if(!root->isInternalNode() || node_num <= 0) return; + FADASNode *cur = root->route1step(sax), *parent = root; + while (cur!= nullptr && cur->isInternalNode() && cur->getLeafNodeNum() > node_num) { + parent = cur; + cur = cur->route(sax); + } + + if(cur!= nullptr){ + if(!cur->isInternalNode()){ + cur->search(k, queryTs, *heap, index_dir, hash_set); + --node_num; + }else{ + approxIncSearchInterNodeFuzzy(cur, queryTs, sax, k, heap, index_dir, node_num, hash_set); + } + } + + if(node_num <=0) return; + + vectorcandidates; + unordered_setcands; + for(FADASNode *node: parent->children) + if(node != nullptr && cands.find(node) == cands.end()) { + candidates.push_back(node); + cands.insert(node); + } + cands.clear(); + + sort(candidates.begin(), candidates.end(), comp_fadas); + + for(int i=0;i 0;++i){ + if(!candidates[i]->isInternalNode()) { + candidates[i]->search(k, queryTs, *heap, index_dir, hash_set); + --node_num; + } + else { + approxIncSearchInterNodeFuzzy(candidates[i], queryTs, sax, k, heap, index_dir, node_num, hash_set); + } + } + } \ No newline at end of file diff --git a/src/SearchEngine/TARSearcher.cpp b/src/SearchEngine/TARSearcher.cpp index 3d51e0e..63d0e2a 100644 --- a/src/SearchEngine/TARSearcher.cpp +++ b/src/SearchEngine/TARSearcher.cpp @@ -1,391 +1,391 @@ -// -// Created by wzy on 2022/7/2. -// - -#include -#include -#include "../../include/TAR/TARSearcher.h" -#include "../../include/Utils/SaxUtil.h" -#include "../../include/DataStructures/TimeSeries.h" - -static int target_pack; -extern int LOADED_NODE_CNT, LOADED_PACK_CNT; - -vector * TARSearcher::approxSearch(TARGNode *root, float *query, int k, const string &index_dir) { - auto sax = SaxUtil::saxFromTs(query, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); - unsigned query_invsax[Const::bitsCardinality]; - SaxUtil::invSaxFromSax(sax, query_invsax, Const::bitsCardinality, Const::segmentNum); - string query_invsax_str = SaxUtil::invSax2String(query_invsax); - - auto*heap = new vector(); - - int pid; - TARGNode* target = root->route(query_invsax_str, &pid); - if(pid == -1){ - pid = target->children.begin()->second->pid; - } - { - string file_name = Const::tardisfn + to_string(pid); - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - TARLNode* l_target = l_root->route2Leaf(query_invsax_str); - target_pack = pid; - l_target->search(k, query, *heap); - l_root->deleteDescendants(); - delete l_root; - } - - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -vector * TARSearcher::approxSearchDTW(TARGNode *root, float *query, int k, const string &index_dir, int window_size) { - auto sax = SaxUtil::saxFromTs(query, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); - unsigned query_invsax[Const::bitsCardinality]; - SaxUtil::invSaxFromSax(sax, query_invsax, Const::bitsCardinality, Const::segmentNum); - string query_invsax_str = SaxUtil::invSax2String(query_invsax); - - auto*heap = new vector(); - - int pid; - TARGNode* target = root->route(query_invsax_str, &pid); - if(pid == -1){ - pid = target->children.begin()->second->pid; - } - { - string file_name = Const::tardisfn + to_string(pid); - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - TARLNode* l_target = l_root->route2Leaf(query_invsax_str); - l_target->search_dtw(k, query, *heap, window_size); - l_root->deleteDescendants(); - delete l_root; - } - - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -vector * TARSearcher::approxIncSearch(TARGNode *root, float *query, int k, const string &index_dir, - int *node_num) { - auto sax = SaxUtil::saxFromTs(query, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); - unsigned query_invsax[Const::bitsCardinality]; - SaxUtil::invSaxFromSax(sax, query_invsax, Const::bitsCardinality, Const::segmentNum); - string query_invsax_str = SaxUtil::invSax2String(query_invsax); - - auto*heap = new vector(); - - int pid; - TARGNode* target = root->route(query_invsax_str, &pid); - if(pid == -1){ - for(auto &iter: target->children){ - if(iter.second->pid == -1){ - approxIncSearchSub(iter.second, query, k, index_dir, node_num, heap, query_invsax_str); - assert(*node_num < 1); - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - }else - pid = iter.second->pid; - break; - } - } - { - string file_name = Const::tardisfn + to_string(pid); - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - ++LOADED_PACK_CNT; - incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); - l_root->deleteDescendants(); - delete l_root; - if(*node_num > 0){ - TARGNode* parent = target->ancestor; - for(auto &iter: parent->children){ - if(iter.second != target){ - if(iter.second->pid == -1){ - approxIncSearchSub(iter.second, query, k, index_dir, node_num, heap, query_invsax_str); - }else { - file_name = Const::tardisfn + to_string(iter.second->pid); - l_root = TARLNode::loadFromDisk(file_name); - ++LOADED_PACK_CNT; - incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); - l_root->deleteDescendants(); - delete l_root; - } - if(*node_num < 1) break; - } - } - } - } - - assert(*node_num < 1); - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -void TARSearcher::approxIncSearchSub(TARGNode *root, float *query, int k, const string &index_dir, - int *node_num,vector *heap, string& query_invsax_str){ - if(*node_num < 1) return; - int pid; - TARGNode* target = root->route(query_invsax_str, &pid); - if(pid == -1){ - for(auto &iter: target->children){ - if(iter.second->pid == -1){ - approxIncSearch(iter.second, query, k, index_dir, node_num); - }else - pid = iter.second->pid; - break; - } - } - { - string file_name = Const::tardisfn + to_string(pid); - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); - l_root->deleteDescendants(); - delete l_root; - if(*node_num > 0){ - TARGNode* parent = target->ancestor; - for(auto &iter: parent->children){ - if(iter.second != target){ - if(iter.second->pid == -1){ - approxIncSearch(iter.second, query, k, index_dir, node_num); - }else { - file_name = Const::tardisfn + to_string(iter.second->pid); - l_root = TARLNode::loadFromDisk(file_name); - incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); - l_root->deleteDescendants(); - delete l_root; - } - if(*node_num < 1) break; - } - } - } - } - -} - -struct PqItemTAR{ - TARGNode* node{}; - double dist{}; - - PqItemTAR(TARGNode* n, double d){node = n; dist = d;} - PqItemTAR(){node = nullptr; dist = 0;} - - bool operator <(const PqItemTAR & pt) const{ - if(node == pt.node) return false; - else { - if(dist != pt.dist) return dist < pt.dist; - else return node->pid < pt.node->pid; - } - } -}; - -vector * TARSearcher::exactSearch(TARGNode *root, float *query, int k, const string &index_dir){ - auto heap = approxSearch(root, query, k, index_dir); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - unordered_setvisited; - setpq; - pq.insert(PqItemTAR(root, 0)); - - PqItemTAR cur; - while(!pq.empty()){ - cur = *pq.begin(); - if(cur.node->pid == target_pack) continue; - if(cur.dist > bsf) - break; - pq.erase(pq.begin()); - if(!cur.node->children.empty()){ - for(auto &iter:cur.node->children) - // leaf node - if(iter.second->children.empty()){ - if(visited.contains(iter.second->pid) || iter.second->pid == target_pack) continue; - pq.insert(PqItemTAR(iter.second, cur.dist)); - visited.insert(iter.second->pid); - } else{ // internal node - string invsax_str = iter.second->invSAX; - auto invsax = SaxUtil::str2Invsax(invsax_str); - auto sax = SaxUtil::invSax2Sax(invsax, iter.second->layer); - double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, sax, iter.second->layer); - if(lb_dist < bsf){ - pq.insert(PqItemTAR(iter.second, lb_dist)); - } - delete []sax; - delete[] invsax; - } - }else{ - string file_name = Const::tardisfn + to_string(cur.node->pid); - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - exactSearchLocal(l_root, heap, k ,query); - ++LOADED_PACK_CNT; - LOADED_NODE_CNT += l_root->getLeafNodeNbr(); - bsf = (*heap)[0]->dist; - l_root->deleteDescendants(); - delete l_root; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - -vector * TARSearcher::ngSearch(TARGNode *root, float *query, int k, const string &index_dir, int nprobe){ - auto heap = approxSearch(root, query, k, index_dir); - int nvisited = 0; - ++nvisited; - if(nvisited >= nprobe) return heap; - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - - unordered_setvisited; - setpq; - pq.insert(PqItemTAR(root, 0)); - - PqItemTAR cur; - while(!pq.empty() && nvisited < nprobe){ - cur = *pq.begin(); - if(cur.node->pid == target_pack) continue; - if(cur.dist > bsf) - break; - pq.erase(pq.begin()); - if(!cur.node->children.empty()){ - for(auto &iter:cur.node->children) - // leaf node - if(iter.second->children.empty()){ - if(visited.contains(iter.second->pid) || iter.second->pid == target_pack) continue; - pq.insert(PqItemTAR(iter.second, cur.dist)); - visited.insert(iter.second->pid); - } else{ // internal node - string invsax_str = iter.second->invSAX; - auto invsax = SaxUtil::str2Invsax(invsax_str); - auto sax = SaxUtil::invSax2Sax(invsax, iter.second->layer); - double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, sax, iter.second->layer); - if(lb_dist < bsf){ - pq.insert(PqItemTAR(iter.second, lb_dist)); - } - delete []sax; - delete[] invsax; - } - }else{ - string file_name = Const::tardisfn + to_string(cur.node->pid); - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - exactSearchLocal(l_root, heap, k ,query); -// LOADED_NODE_CNT += l_root->getLeafNodeNbr(); - ++nvisited; - bsf = (*heap)[0]->dist; - l_root->deleteDescendants(); - delete l_root; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; -} - - -vector * TARSearcher::exactSearchDTW(TARGNode *root, float *query, int k, const string &index_dir){ - auto heap = approxSearch(root, query, k, index_dir); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - double bsf = (*heap)[0]->dist; - auto *queryTs = new TimeSeries(query); - auto* lowerLemire = new float [Const::tsLength]; - auto* upperLemire = new float [Const::tsLength]; - SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); - double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); - double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); - - - unordered_setvisited; - setpq; - pq.insert(PqItemTAR(root, 0)); - - PqItemTAR cur; - while(!pq.empty()){ - cur = *pq.begin(); - if(cur.dist > bsf) break; - pq.erase(pq.begin()); - if(!cur.node->children.empty()){ - for(auto &iter:cur.node->children) - // leaf node - if(iter.second->children.empty()){ - if(visited.contains(iter.second->pid) || iter.second->pid == target_pack) continue; - pq.insert(PqItemTAR(iter.second, cur.dist)); - visited.insert(iter.second->pid); - } else{ // internal node - string invsax_str = iter.second->invSAX; - auto invsax = SaxUtil::str2Invsax(invsax_str); - auto sax = SaxUtil::invSax2Sax(invsax, iter.second->layer); - double lb_dist = SaxUtil::minidist_paa_to_isax_DTW(upperPaa,lowerPaa, sax, iter.second->layer); - if(lb_dist < bsf){ - pq.insert(PqItemTAR(iter.second, lb_dist)); - } - delete []sax; - delete[] invsax; - } - }else{ - string file_name = Const::tardisfn + to_string(cur.node->pid); - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - - exactSearchLocalDTW(l_root, heap, k ,query, index_dir + to_string(cur.node->pid)); - LOADED_NODE_CNT += l_root->getLeafNodeNbr(); - bsf = (*heap)[0]->dist; - - l_root->deleteDescendants(); - delete l_root; - } - } - pq.clear(); - delete queryTs; - sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - return heap; - -} - -void TARSearcher::exactSearchLocal(TARLNode *l_root, vector *heap, int k, float *query) { - if(l_root == nullptr) return; - if(l_root->rcdNbr <= Const::th){ - l_root->search(k, query, *heap); - return; - } - for(auto &iter:l_root->descendants){ - exactSearchLocal(iter.second, heap, k, query); - } -} - -void TARSearcher::exactSearchLocalDTW(TARLNode* l_root, vector*heap, int k, float *query, const string &index_dir){ - if(l_root == nullptr) return; - if(l_root->rcdNbr <= Const::th){ - l_root->search_dtw(k, query, *heap, Const::dtw_window_size); - return; - } - for(auto &iter:l_root->descendants){ - exactSearchLocalDTW(iter.second, heap, k, query, index_dir); - } -} - -void TARSearcher::incSearchLocal(TARLNode *l_root, vector *heap, int k, float *query, int *node_num, - const string &query_invsax_str) { - if(l_root == nullptr) return; - if(*node_num < 1) return; - int cur_leaf_node_num = l_root->getLeafNodeNbr(); - if(cur_leaf_node_num <= *node_num) { - exactSearchLocal(l_root, heap, k, query); - *node_num = *node_num - cur_leaf_node_num; - return; - } - if(cur_leaf_node_num > *node_num){ - string key = SaxUtil::invSaxHeadKFromInvSax(query_invsax_str, l_root->layer + 1); - if(l_root->descendants.contains(key)){ - incSearchLocal(l_root->descendants[key], heap, k, query, node_num, query_invsax_str); - } - if(*node_num > 0){ - for(auto &iter:l_root->descendants){ - if(iter.first != key){ - incSearchLocal(iter.second, heap, k, query, node_num, query_invsax_str); - } - if(*node_num < 1) return; - } - } - } +// +// Created by wzy on 2022/7/2. +// + +#include +#include +#include "../../include/TAR/TARSearcher.h" +#include "../../include/Utils/SaxUtil.h" +#include "../../include/DataStructures/TimeSeries.h" + +static int target_pack; +extern int LOADED_NODE_CNT, LOADED_PACK_CNT; + +vector * TARSearcher::approxSearch(TARGNode *root, float *query, int k, const string &index_dir) { + auto sax = SaxUtil::saxFromTs(query, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); + unsigned query_invsax[Const::bitsCardinality]; + SaxUtil::invSaxFromSax(sax, query_invsax, Const::bitsCardinality, Const::segmentNum); + string query_invsax_str = SaxUtil::invSax2String(query_invsax); + + auto*heap = new vector(); + + int pid; + TARGNode* target = root->route(query_invsax_str, &pid); + if(pid == -1){ + pid = target->children.begin()->second->pid; + } + { + string file_name = Const::tardisfn + to_string(pid); + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + TARLNode* l_target = l_root->route2Leaf(query_invsax_str); + target_pack = pid; + l_target->search(k, query, *heap); + l_root->deleteDescendants(); + delete l_root; + } + + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +vector * TARSearcher::approxSearchDTW(TARGNode *root, float *query, int k, const string &index_dir, int window_size) { + auto sax = SaxUtil::saxFromTs(query, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); + unsigned query_invsax[Const::bitsCardinality]; + SaxUtil::invSaxFromSax(sax, query_invsax, Const::bitsCardinality, Const::segmentNum); + string query_invsax_str = SaxUtil::invSax2String(query_invsax); + + auto*heap = new vector(); + + int pid; + TARGNode* target = root->route(query_invsax_str, &pid); + if(pid == -1){ + pid = target->children.begin()->second->pid; + } + { + string file_name = Const::tardisfn + to_string(pid); + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + TARLNode* l_target = l_root->route2Leaf(query_invsax_str); + l_target->search_dtw(k, query, *heap, window_size); + l_root->deleteDescendants(); + delete l_root; + } + + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +vector * TARSearcher::approxIncSearch(TARGNode *root, float *query, int k, const string &index_dir, + int *node_num) { + auto sax = SaxUtil::saxFromTs(query, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); + unsigned query_invsax[Const::bitsCardinality]; + SaxUtil::invSaxFromSax(sax, query_invsax, Const::bitsCardinality, Const::segmentNum); + string query_invsax_str = SaxUtil::invSax2String(query_invsax); + + auto*heap = new vector(); + + int pid; + TARGNode* target = root->route(query_invsax_str, &pid); + if(pid == -1){ + for(auto &iter: target->children){ + if(iter.second->pid == -1){ + approxIncSearchSub(iter.second, query, k, index_dir, node_num, heap, query_invsax_str); + assert(*node_num < 1); + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + }else + pid = iter.second->pid; + break; + } + } + { + string file_name = Const::tardisfn + to_string(pid); + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + ++LOADED_PACK_CNT; + incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); + l_root->deleteDescendants(); + delete l_root; + if(*node_num > 0){ + TARGNode* parent = target->ancestor; + for(auto &iter: parent->children){ + if(iter.second != target){ + if(iter.second->pid == -1){ + approxIncSearchSub(iter.second, query, k, index_dir, node_num, heap, query_invsax_str); + }else { + file_name = Const::tardisfn + to_string(iter.second->pid); + l_root = TARLNode::loadFromDisk(file_name); + ++LOADED_PACK_CNT; + incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); + l_root->deleteDescendants(); + delete l_root; + } + if(*node_num < 1) break; + } + } + } + } + + assert(*node_num < 1); + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +void TARSearcher::approxIncSearchSub(TARGNode *root, float *query, int k, const string &index_dir, + int *node_num,vector *heap, string& query_invsax_str){ + if(*node_num < 1) return; + int pid; + TARGNode* target = root->route(query_invsax_str, &pid); + if(pid == -1){ + for(auto &iter: target->children){ + if(iter.second->pid == -1){ + approxIncSearch(iter.second, query, k, index_dir, node_num); + }else + pid = iter.second->pid; + break; + } + } + { + string file_name = Const::tardisfn + to_string(pid); + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); + l_root->deleteDescendants(); + delete l_root; + if(*node_num > 0){ + TARGNode* parent = target->ancestor; + for(auto &iter: parent->children){ + if(iter.second != target){ + if(iter.second->pid == -1){ + approxIncSearch(iter.second, query, k, index_dir, node_num); + }else { + file_name = Const::tardisfn + to_string(iter.second->pid); + l_root = TARLNode::loadFromDisk(file_name); + incSearchLocal(l_root, heap, k, query, node_num, query_invsax_str); + l_root->deleteDescendants(); + delete l_root; + } + if(*node_num < 1) break; + } + } + } + } + +} + +struct PqItemTAR{ + TARGNode* node{}; + double dist{}; + + PqItemTAR(TARGNode* n, double d){node = n; dist = d;} + PqItemTAR(){node = nullptr; dist = 0;} + + bool operator <(const PqItemTAR & pt) const{ + if(node == pt.node) return false; + else { + if(dist != pt.dist) return dist < pt.dist; + else return node->pid < pt.node->pid; + } + } +}; + +vector * TARSearcher::exactSearch(TARGNode *root, float *query, int k, const string &index_dir){ + auto heap = approxSearch(root, query, k, index_dir); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + unordered_setvisited; + setpq; + pq.insert(PqItemTAR(root, 0)); + + PqItemTAR cur; + while(!pq.empty()){ + cur = *pq.begin(); + if(cur.node->pid == target_pack) continue; + if(cur.dist > bsf) + break; + pq.erase(pq.begin()); + if(!cur.node->children.empty()){ + for(auto &iter:cur.node->children) + // leaf node + if(iter.second->children.empty()){ + if(visited.contains(iter.second->pid) || iter.second->pid == target_pack) continue; + pq.insert(PqItemTAR(iter.second, cur.dist)); + visited.insert(iter.second->pid); + } else{ // internal node + string invsax_str = iter.second->invSAX; + auto invsax = SaxUtil::str2Invsax(invsax_str); + auto sax = SaxUtil::invSax2Sax(invsax, iter.second->layer); + double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, sax, iter.second->layer); + if(lb_dist < bsf){ + pq.insert(PqItemTAR(iter.second, lb_dist)); + } + delete []sax; + delete[] invsax; + } + }else{ + string file_name = Const::tardisfn + to_string(cur.node->pid); + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + exactSearchLocal(l_root, heap, k ,query); + ++LOADED_PACK_CNT; + LOADED_NODE_CNT += l_root->getLeafNodeNbr(); + bsf = (*heap)[0]->dist; + l_root->deleteDescendants(); + delete l_root; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + +vector * TARSearcher::ngSearch(TARGNode *root, float *query, int k, const string &index_dir, int nprobe){ + auto heap = approxSearch(root, query, k, index_dir); + int nvisited = 0; + ++nvisited; + if(nvisited >= nprobe) return heap; + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + + unordered_setvisited; + setpq; + pq.insert(PqItemTAR(root, 0)); + + PqItemTAR cur; + while(!pq.empty() && nvisited < nprobe){ + cur = *pq.begin(); + if(cur.node->pid == target_pack) continue; + if(cur.dist > bsf) + break; + pq.erase(pq.begin()); + if(!cur.node->children.empty()){ + for(auto &iter:cur.node->children) + // leaf node + if(iter.second->children.empty()){ + if(visited.contains(iter.second->pid) || iter.second->pid == target_pack) continue; + pq.insert(PqItemTAR(iter.second, cur.dist)); + visited.insert(iter.second->pid); + } else{ // internal node + string invsax_str = iter.second->invSAX; + auto invsax = SaxUtil::str2Invsax(invsax_str); + auto sax = SaxUtil::invSax2Sax(invsax, iter.second->layer); + double lb_dist = SaxUtil::LowerBound_Paa_iSax(queryTs->paa, sax, iter.second->layer); + if(lb_dist < bsf){ + pq.insert(PqItemTAR(iter.second, lb_dist)); + } + delete []sax; + delete[] invsax; + } + }else{ + string file_name = Const::tardisfn + to_string(cur.node->pid); + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + exactSearchLocal(l_root, heap, k ,query); +// LOADED_NODE_CNT += l_root->getLeafNodeNbr(); + ++nvisited; + bsf = (*heap)[0]->dist; + l_root->deleteDescendants(); + delete l_root; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; +} + + +vector * TARSearcher::exactSearchDTW(TARGNode *root, float *query, int k, const string &index_dir){ + auto heap = approxSearch(root, query, k, index_dir); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + double bsf = (*heap)[0]->dist; + auto *queryTs = new TimeSeries(query); + auto* lowerLemire = new float [Const::tsLength]; + auto* upperLemire = new float [Const::tsLength]; + SaxUtil::lower_upper_lemire(query, Const::tsLength, Const::dtw_window_size, lowerLemire, upperLemire); + double *lowerPaa = SaxUtil::paaFromTs(lowerLemire, Const::tsLengthPerSegment, Const::segmentNum); + double *upperPaa = SaxUtil::paaFromTs(upperLemire, Const::tsLengthPerSegment, Const::segmentNum); + + + unordered_setvisited; + setpq; + pq.insert(PqItemTAR(root, 0)); + + PqItemTAR cur; + while(!pq.empty()){ + cur = *pq.begin(); + if(cur.dist > bsf) break; + pq.erase(pq.begin()); + if(!cur.node->children.empty()){ + for(auto &iter:cur.node->children) + // leaf node + if(iter.second->children.empty()){ + if(visited.contains(iter.second->pid) || iter.second->pid == target_pack) continue; + pq.insert(PqItemTAR(iter.second, cur.dist)); + visited.insert(iter.second->pid); + } else{ // internal node + string invsax_str = iter.second->invSAX; + auto invsax = SaxUtil::str2Invsax(invsax_str); + auto sax = SaxUtil::invSax2Sax(invsax, iter.second->layer); + double lb_dist = SaxUtil::minidist_paa_to_isax_DTW(upperPaa,lowerPaa, sax, iter.second->layer); + if(lb_dist < bsf){ + pq.insert(PqItemTAR(iter.second, lb_dist)); + } + delete []sax; + delete[] invsax; + } + }else{ + string file_name = Const::tardisfn + to_string(cur.node->pid); + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + + exactSearchLocalDTW(l_root, heap, k ,query, index_dir + to_string(cur.node->pid)); + LOADED_NODE_CNT += l_root->getLeafNodeNbr(); + bsf = (*heap)[0]->dist; + + l_root->deleteDescendants(); + delete l_root; + } + } + pq.clear(); + delete queryTs; + sort(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + return heap; + +} + +void TARSearcher::exactSearchLocal(TARLNode *l_root, vector *heap, int k, float *query) { + if(l_root == nullptr) return; + if(l_root->rcdNbr <= Const::th){ + l_root->search(k, query, *heap); + return; + } + for(auto &iter:l_root->descendants){ + exactSearchLocal(iter.second, heap, k, query); + } +} + +void TARSearcher::exactSearchLocalDTW(TARLNode* l_root, vector*heap, int k, float *query, const string &index_dir){ + if(l_root == nullptr) return; + if(l_root->rcdNbr <= Const::th){ + l_root->search_dtw(k, query, *heap, Const::dtw_window_size); + return; + } + for(auto &iter:l_root->descendants){ + exactSearchLocalDTW(iter.second, heap, k, query, index_dir); + } +} + +void TARSearcher::incSearchLocal(TARLNode *l_root, vector *heap, int k, float *query, int *node_num, + const string &query_invsax_str) { + if(l_root == nullptr) return; + if(*node_num < 1) return; + int cur_leaf_node_num = l_root->getLeafNodeNbr(); + if(cur_leaf_node_num <= *node_num) { + exactSearchLocal(l_root, heap, k, query); + *node_num = *node_num - cur_leaf_node_num; + return; + } + if(cur_leaf_node_num > *node_num){ + string key = SaxUtil::invSaxHeadKFromInvSax(query_invsax_str, l_root->layer + 1); + if(l_root->descendants.contains(key)){ + incSearchLocal(l_root->descendants[key], heap, k, query, node_num, query_invsax_str); + } + if(*node_num > 0){ + for(auto &iter:l_root->descendants){ + if(iter.first != key){ + incSearchLocal(iter.second, heap, k, query, node_num, query_invsax_str); + } + if(*node_num < 1) return; + } + } + } } \ No newline at end of file diff --git a/src/TAR/TARGNode.cpp b/src/TAR/TARGNode.cpp index 19e528e..7b3bee6 100644 --- a/src/TAR/TARGNode.cpp +++ b/src/TAR/TARGNode.cpp @@ -1,467 +1,467 @@ -// -// Created by wzy on 2022/7/1. -// -#include -#include -#include "../../include/TAR/TARGNode.h" -#include "../../include/Utils/FileUtil.h" -#include "../../include/Utils/SaxUtil.h" - -int TARGNode::pid_factory = 0; -int TARGNode::block_threshold = 0; - -extern long TAR_READ_TIME = 0, TAR_CPU_TIME = 0, TAR_WRITE_TIME = 0; - -TARGNode* TARGNode::buildIndex(){ - FileUtil::checkDirClean(Const::tardisfn.c_str()); - - auto start = chrono::system_clock::now(); - long series_num = FileUtil::getFileSize(Const::datafn.c_str()) / Const::tsLengthBytes; - Const::logPrint("Start building. Total series number = " + to_string(series_num)); - - auto root = new TARGNode(); - auto sample_invSAX_tbl = loadSampling(); - Const::logPrint("loaded sampling finished!"); - auto*invsax_freq = new unordered_map(); - computeFreqTbl(invsax_freq, sample_invSAX_tbl, series_num * Const::tardis_sample_percent); - delete[] sample_invSAX_tbl; - vector*>* node_list = buildTARGbySampling(invsax_freq); - Const::logPrint("get node list finished!"); - loadCollectionSampling(node_list, root); - for(auto*_:*node_list) delete _; - delete node_list; - Const::logPrint("build TARDIS-G finished!"); - - long blockSpace = 0.95 * 128 * 1024 * 1024; - long unitSize = Const::tsLengthBytes + 8 + (Const::segmentNum / 4) * Const::bitsCardinality * 2; - block_threshold = blockSpace / unitSize; - assignPIdSampling(root); - Const::logPrint("finish leaf node packing for TARDIS-G"); - - pid_factory++; - vectorlocal_roots(pid_factory); - Const::logPrint("Totally "+ to_string(pid_factory) + " packs."); - partition(root, series_num); - - for(int i=0; i< pid_factory; ++i) - TARLNode::buildLocalIndex(i); - Const::logPrint("Finish building local index"); - - -// root->assignLocalRootForAllLeaves(local_roots); - auto end = chrono::system_clock::now(); - TAR_CPU_TIME = chrono::duration_cast(end - start).count() - TAR_READ_TIME - TAR_WRITE_TIME; - - Const::logPrint("build index finished"); - cout << "WRITE TIME = " << TAR_WRITE_TIME / 1000.0 <<" ms."< 0) { - long num; - if (rest > buffer_num) num = buffer_num; - else num = rest; - auto *tss = new float[num * Const::tsLength]; - rest -= num; - - auto local_start = chrono::system_clock::now(); - fread(tss, sizeof(float ), num * Const::tsLength, f); - auto local_end = chrono::system_clock::now(); - TAR_READ_TIME += chrono::duration_cast(local_end - local_start).count(); - vectorsaxTsPairRdd(num); - unsigned invsax[Const::cardinality]; - for(long i =0; i< num;++i){ - saxTsPairRdd[i].id = cur + i; - saxTsPairRdd[i].ts = tss + i * Const::tsLength; - auto _ = SaxUtil::saxFromTs(tss + i *Const::tsLength, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); - SaxUtil::invSaxFromSax(_, invsax, Const::bitsCardinality, Const::segmentNum); - delete _; - saxTsPairRdd[i].invsax = SaxUtil::invSax2String(invsax); - } - unordered_map > saxTsIdRdd; - - TARGNode* parent; - int cur_pid; - for(long i=0;iroute(saxTsPairRdd[i].invsax, &cur_pid); - if(cur_pid == -1){ - auto node = new TARGNode(); - node->layer = parent->layer + 1; - node->pid = pid_factory - 1; - node->invSAX = saxTsPairRdd[i].invsax; - node->ancestor = parent; - parent->children[SaxUtil::invSaxHeadKFromInvSax(saxTsPairRdd[i].invsax, node->layer)] = node; - cur_pid = node->pid; - } - saxTsIdRdd[cur_pid].push_back(&saxTsPairRdd[i]); - } - - auto start = chrono::system_clock::now(); - for(auto &partition: saxTsIdRdd){ - string out_file_name = Const::tardisfn + to_string(partition.first); - FILE *outf = fopen(out_file_name.c_str(), "ab"); - for(auto &unit:partition.second){ - fwrite(&unit->id, sizeof(long ), 1, outf); - fwrite(unit->ts, sizeof(float), Const::tsLength, outf); - SaxUtil::string2invSAX(unit->invsax, invSax); - fwrite(invSax, sizeof(unsigned ), Const::bitsCardinality, outf); - } - fclose(outf); - } - auto end = chrono::system_clock::now(); - TAR_WRITE_TIME += chrono::duration_cast(end- start).count(); - - delete[] tss; - cur += num; - Const::logPrint("Pack Partition, progress" + to_string((double)cur / series_num)); - - } -} - -void TARGNode::getIndexStats(){ - int total_leaf_node_num = getLeafNodeNum(); - int total_size = getTotalSize(); - cout << "Total size = " << total_size << endl; - cout <<"Total nodes number = " << getNodeNum() << endl; - cout << "Leaf node number = " << total_leaf_node_num << endl; -// cout << "1st layer node number = " << get1stLayerNodesNo() <getLeafNodeNbr(); - - l_root->deleteDescendants(); - delete l_root; - } - return sum; -} - -int TARGNode::getTotalSize(){ - int sum = 0; - vectorfile_names; - FileUtil::getFiles(Const::tardisfn, file_names); - for(auto &file_name: file_names){ - if(file_name.substr(file_name.size() - 8) == "root.idx" ) continue; - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - sum += l_root->rcdNbr; - - l_root->deleteDescendants(); - delete l_root; - } - return sum; -} - -int TARGNode::getNodeNum(){ - int sum = 0; - vectorfile_names; - FileUtil::getFiles(Const::tardisfn, file_names); - for(auto &file_name: file_names){ - if(file_name.substr(file_name.size() - 8) == "root.idx") continue; - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - sum += l_root->getNodeNbr(); - - l_root->deleteDescendants(); - delete l_root; - } - - return sum + getGlobalNodeNum(); -} - -int TARGNode::getMaxHeight(){ - vectorlocal_heights; - vectorfile_names; - FileUtil::getFiles(Const::tardisfn, file_names); - local_heights.resize(file_names.size() - 1, 0); - for(auto &file_name: file_names){ - if(file_name.substr(file_name.size() - 8) == "root.idx") continue; - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - int pos = file_name.rfind('/'); - int _pid = atoi(file_name.substr(pos).c_str()); - - local_heights[_pid] = l_root->getMaxHeight(); - l_root->deleteDescendants(); - delete l_root; - } - - return getMaxHeightGlobal(local_heights); -} - -int TARGNode::getMaxHeightGlobal(vector&local_heights) { - if(children.empty()) return local_heights[pid]; - int ret = 0; - for(auto &iter: children){ - ret = max(ret, iter.second->getMaxHeightGlobal(local_heights)); - } - return ret + 1; -} - -long TARGNode::getAvgHeight(){ - vectorlocal_heights; - vectorleaf_nbr; - vectorvisited; - vectorfile_names; - FileUtil::getFiles(Const::tardisfn, file_names); - local_heights.resize(file_names.size() - 1, 0); - leaf_nbr.resize(file_names.size() - 1, 0); - visited.resize(file_names.size() - 1, false); - for(auto &file_name: file_names){ - if(file_name.substr(file_name.size() - 8) == "root.idx") continue; - TARLNode* l_root = TARLNode::loadFromDisk(file_name); - int pos = file_name.rfind('/'); - int _pid = atoi(file_name.substr(pos).c_str()); - local_heights[_pid] = l_root->getSumHeight(); - leaf_nbr[_pid] = l_root->getLeafNodeNbr(); - - l_root->deleteDescendants(); - delete l_root; - } - - return getAvgHeightGlobal(local_heights,leaf_nbr); -} - -long TARGNode::getAvgHeightGlobal(vector&local_heights, vector&leaf_nbr) { - if(children.empty()){ - if(leaf_nbr[pid] > 0) { - long to_ret = local_heights[pid] + leaf_nbr[pid] * layer; - leaf_nbr[pid] = -1; - return to_ret; - } - else - return 0 ; - } - long ret = 0; - for(auto &iter: children){ - ret += iter.second->getAvgHeightGlobal(local_heights, leaf_nbr); - } - return ret; -} - -int TARGNode::getGlobalNodeNum(){ - if(children.empty()) return 0; - int sum = 1; - for(auto &iter: children){ - sum += iter.second->getGlobalNodeNum(); - } - return sum; -} - -//void TARGNode::assignLocalRootForAllLeaves(vector&local_roots){ -// if(children.empty()){ -// local_root = local_roots[pid]; -// }else{ -// for(auto &iter: children){ -// iter.second->assignLocalRootForAllLeaves(local_roots); -// } -// } -//} - -// return pid if a leaf pack found, otherwise the deepest internal node -TARGNode * TARGNode::route(string& invsax, int *ret_pid){ - if(children.empty()) { - *ret_pid = pid; - return this; - } - string key = SaxUtil::invSaxHeadKFromInvSax(invsax, layer + 1); - if(children.contains(key)){ - return children[key]->route(invsax, ret_pid); - }else{ - *ret_pid = -1; - return this; - } -} - -void TARGNode::assignPIdSampling(TARGNode* node){ - if(node->layer > 0 && node->size <= Const::th){ - node->pid = pid_factory++; - node->children.clear(); - }else{ - vectortless; - for(auto &iter: node->children){ - if(iter.second->size <= Const::th) - tless.push_back(iter.second); - } - sort(tless.begin(), tless.end(), TARGNode::order); - int cur_size = 0; - for(TARGNode*_:tless){ - if(cur_size + _->size <= block_threshold){ - _->pid = pid_factory; - cur_size += _->size; - _->children.clear(); - }else{ - ++pid_factory; - cur_size = _->size; - _->pid = pid_factory; - _->children.clear(); - } - } - - ++pid_factory; - - for(auto &iter: node->children){ - if(iter.second->size > Const::th) - assignPIdSampling(iter.second); - } - } -} - -void TARGNode::loadCollectionSampling(vector*>* node_list, TARGNode* root){ - for(int tree_layer = 0; tree_layer< node_list->size();++tree_layer){ - for(auto &iter: *(*node_list)[tree_layer]){ - auto* node = new TARGNode(); - node->layer = tree_layer + 1; - node->size = iter.second / Const::tardis_sample_percent; - node->invSAX = iter.first; - node->addTreeNodeHexRobust(root); - } - } -} - -void TARGNode::addTreeNodeHexRobust(TARGNode* start){ - if(layer == start->layer + 1){ - ancestor = start; - start->children[invSAX] = this; - }else{ - if(layer > start->layer){ - if(!start->children.contains(SaxUtil::invSaxHeadKFromInvSax(invSAX, start->layer + 1))){ - string newkey = SaxUtil::invSaxHeadKFromInvSax(invSAX, start->layer + 1); - auto newNode = new TARGNode(); - newNode->layer = start->layer + 1; - newNode->invSAX = newkey; - newNode->size = size; - newNode->ancestor = start; - start->children[newkey] = newNode; - } - string key = SaxUtil::invSaxHeadKFromInvSax(invSAX, start->layer + 1); - addTreeNodeHexRobust(start->children[key]); - }else{ - Const::logPrint("add node error"); - exit(-2); - } - } -} - -unsigned * TARGNode::loadSampling(){ - FILE *f = fopen(Const::datafn.c_str(), "rb"); - long series_num = FileUtil::getFileSize(Const::datafn.c_str()) / Const::tsLengthBytes; - long load_num = series_num * Const::tardis_sample_percent; - auto ret = new unsigned[load_num * Const::bitsCardinality]; - long rest = series_num; - long cur = 0; - while (rest > 0){ - long num, take_num; - if(rest > Const::fbl_series_num) { - num = Const::fbl_series_num; - take_num = num * Const::tardis_sample_percent; - } - else { - num = rest; - take_num = load_num - cur; - } - - auto *tss = new float[take_num * Const::tsLength]; - auto start = chrono::system_clock::now(); - fseek(f,(series_num - rest) * Const::tsLengthBytes,SEEK_SET); - fread(tss, sizeof(float),take_num * Const::tsLength, f); - auto end = chrono::system_clock::now(); - TAR_READ_TIME += chrono::duration_cast(end - start).count(); - - for(long i=0;i *invsax_freq, - unsigned *sample_invSAX_tbl, long tbl_size){ - for(long i =0;i*pairRDD, unordered_map*dataRDD, - unordered_map*saxNbrPairRDD, int layer){ - for(auto &iter:*pairRDD){ - string key = iter.first; - string new_key = SaxUtil::invSaxHeadKFromInvSax(key, layer); - dataRDD->emplace(key, dataRDDItem(new_key, iter.second)); - (*saxNbrPairRDD)[new_key] += iter.second; - } -} - -vector*>* TARGNode::buildTARGbySampling(unordered_map*invsax_freq){ - // invsax_freq : invsax(full), freq - int tree_layer = 1; - bool reachBottom = false; - auto *output = new vector*>(); - unordered_map*pairRDD = invsax_freq; - - while(!reachBottom){ - auto dataRDD = new unordered_map(); - auto saxNbrPairRDD = new unordered_map(); - // pairRDD: invsax(full), freq - // dataRDD: invSAX(full), invSAX(b), freq - // saxNbrPairRDD: invsax(b), freq - computeFreqTblSpecLayer(pairRDD, dataRDD, saxNbrPairRDD, tree_layer); - output->push_back(saxNbrPairRDD); - - int max_freq =0; - for(auto &iter:*saxNbrPairRDD) - max_freq = max(max_freq, iter.second); - if(max_freq / Const::tardis_sample_percent <= Const::th) { - reachBottom = true; - delete pairRDD; - delete dataRDD; - } - else{ - // smallHashSet: invSAX(full) - unordered_setsmallHashSet; - for(auto &iter: *saxNbrPairRDD){ - if(iter.second / Const::tardis_sample_percent <= Const::th) - smallHashSet.insert(iter.first); - } - delete pairRDD; - pairRDD = new unordered_map(); - for(auto &iter: *dataRDD){ - if(!smallHashSet.contains(iter.second.invsax_full)){ - (*pairRDD)[iter.first] = iter.second.freq; - } - } - delete dataRDD; - tree_layer++; - } - } - return output; -} +// +// Created by wzy on 2022/7/1. +// +#include +#include +#include "../../include/TAR/TARGNode.h" +#include "../../include/Utils/FileUtil.h" +#include "../../include/Utils/SaxUtil.h" + +int TARGNode::pid_factory = 0; +int TARGNode::block_threshold = 0; + +extern long TAR_READ_TIME = 0, TAR_CPU_TIME = 0, TAR_WRITE_TIME = 0; + +TARGNode* TARGNode::buildIndex(){ + FileUtil::checkDirClean(Const::tardisfn.c_str()); + + auto start = chrono::system_clock::now(); + long series_num = FileUtil::getFileSize(Const::datafn.c_str()) / Const::tsLengthBytes; + Const::logPrint("Start building. Total series number = " + to_string(series_num)); + + auto root = new TARGNode(); + auto sample_invSAX_tbl = loadSampling(); + Const::logPrint("loaded sampling finished!"); + auto*invsax_freq = new unordered_map(); + computeFreqTbl(invsax_freq, sample_invSAX_tbl, series_num * Const::tardis_sample_percent); + delete[] sample_invSAX_tbl; + vector*>* node_list = buildTARGbySampling(invsax_freq); + Const::logPrint("get node list finished!"); + loadCollectionSampling(node_list, root); + for(auto*_:*node_list) delete _; + delete node_list; + Const::logPrint("build TARDIS-G finished!"); + + long blockSpace = 0.95 * 128 * 1024 * 1024; + long unitSize = Const::tsLengthBytes + 8 + (Const::segmentNum / 4) * Const::bitsCardinality * 2; + block_threshold = blockSpace / unitSize; + assignPIdSampling(root); + Const::logPrint("finish leaf node packing for TARDIS-G"); + + pid_factory++; + vectorlocal_roots(pid_factory); + Const::logPrint("Totally "+ to_string(pid_factory) + " packs."); + partition(root, series_num); + + for(int i=0; i< pid_factory; ++i) + TARLNode::buildLocalIndex(i); + Const::logPrint("Finish building local index"); + + +// root->assignLocalRootForAllLeaves(local_roots); + auto end = chrono::system_clock::now(); + TAR_CPU_TIME = chrono::duration_cast(end - start).count() - TAR_READ_TIME - TAR_WRITE_TIME; + + Const::logPrint("build index finished"); + cout << "WRITE TIME = " << TAR_WRITE_TIME / 1000.0 <<" ms."< 0) { + long num; + if (rest > buffer_num) num = buffer_num; + else num = rest; + auto *tss = new float[num * Const::tsLength]; + rest -= num; + + auto local_start = chrono::system_clock::now(); + fread(tss, sizeof(float ), num * Const::tsLength, f); + auto local_end = chrono::system_clock::now(); + TAR_READ_TIME += chrono::duration_cast(local_end - local_start).count(); + vectorsaxTsPairRdd(num); + unsigned invsax[Const::cardinality]; + for(long i =0; i< num;++i){ + saxTsPairRdd[i].id = cur + i; + saxTsPairRdd[i].ts = tss + i * Const::tsLength; + auto _ = SaxUtil::saxFromTs(tss + i *Const::tsLength, Const::tsLengthPerSegment, Const::segmentNum, Const::cardinality); + SaxUtil::invSaxFromSax(_, invsax, Const::bitsCardinality, Const::segmentNum); + delete _; + saxTsPairRdd[i].invsax = SaxUtil::invSax2String(invsax); + } + unordered_map > saxTsIdRdd; + + TARGNode* parent; + int cur_pid; + for(long i=0;iroute(saxTsPairRdd[i].invsax, &cur_pid); + if(cur_pid == -1){ + auto node = new TARGNode(); + node->layer = parent->layer + 1; + node->pid = pid_factory - 1; + node->invSAX = saxTsPairRdd[i].invsax; + node->ancestor = parent; + parent->children[SaxUtil::invSaxHeadKFromInvSax(saxTsPairRdd[i].invsax, node->layer)] = node; + cur_pid = node->pid; + } + saxTsIdRdd[cur_pid].push_back(&saxTsPairRdd[i]); + } + + auto start = chrono::system_clock::now(); + for(auto &partition: saxTsIdRdd){ + string out_file_name = Const::tardisfn + to_string(partition.first); + FILE *outf = fopen(out_file_name.c_str(), "ab"); + for(auto &unit:partition.second){ + fwrite(&unit->id, sizeof(long ), 1, outf); + fwrite(unit->ts, sizeof(float), Const::tsLength, outf); + SaxUtil::string2invSAX(unit->invsax, invSax); + fwrite(invSax, sizeof(unsigned ), Const::bitsCardinality, outf); + } + fclose(outf); + } + auto end = chrono::system_clock::now(); + TAR_WRITE_TIME += chrono::duration_cast(end- start).count(); + + delete[] tss; + cur += num; + Const::logPrint("Pack Partition, progress" + to_string((double)cur / series_num)); + + } +} + +void TARGNode::getIndexStats(){ + int total_leaf_node_num = getLeafNodeNum(); + int total_size = getTotalSize(); + cout << "Total size = " << total_size << endl; + cout <<"Total nodes number = " << getNodeNum() << endl; + cout << "Leaf node number = " << total_leaf_node_num << endl; +// cout << "1st layer node number = " << get1stLayerNodesNo() <getLeafNodeNbr(); + + l_root->deleteDescendants(); + delete l_root; + } + return sum; +} + +int TARGNode::getTotalSize(){ + int sum = 0; + vectorfile_names; + FileUtil::getFiles(Const::tardisfn, file_names); + for(auto &file_name: file_names){ + if(file_name.substr(file_name.size() - 8) == "root.idx" ) continue; + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + sum += l_root->rcdNbr; + + l_root->deleteDescendants(); + delete l_root; + } + return sum; +} + +int TARGNode::getNodeNum(){ + int sum = 0; + vectorfile_names; + FileUtil::getFiles(Const::tardisfn, file_names); + for(auto &file_name: file_names){ + if(file_name.substr(file_name.size() - 8) == "root.idx") continue; + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + sum += l_root->getNodeNbr(); + + l_root->deleteDescendants(); + delete l_root; + } + + return sum + getGlobalNodeNum(); +} + +int TARGNode::getMaxHeight(){ + vectorlocal_heights; + vectorfile_names; + FileUtil::getFiles(Const::tardisfn, file_names); + local_heights.resize(file_names.size() - 1, 0); + for(auto &file_name: file_names){ + if(file_name.substr(file_name.size() - 8) == "root.idx") continue; + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + int pos = file_name.rfind('/'); + int _pid = atoi(file_name.substr(pos).c_str()); + + local_heights[_pid] = l_root->getMaxHeight(); + l_root->deleteDescendants(); + delete l_root; + } + + return getMaxHeightGlobal(local_heights); +} + +int TARGNode::getMaxHeightGlobal(vector&local_heights) { + if(children.empty()) return local_heights[pid]; + int ret = 0; + for(auto &iter: children){ + ret = max(ret, iter.second->getMaxHeightGlobal(local_heights)); + } + return ret + 1; +} + +long TARGNode::getAvgHeight(){ + vectorlocal_heights; + vectorleaf_nbr; + vectorvisited; + vectorfile_names; + FileUtil::getFiles(Const::tardisfn, file_names); + local_heights.resize(file_names.size() - 1, 0); + leaf_nbr.resize(file_names.size() - 1, 0); + visited.resize(file_names.size() - 1, false); + for(auto &file_name: file_names){ + if(file_name.substr(file_name.size() - 8) == "root.idx") continue; + TARLNode* l_root = TARLNode::loadFromDisk(file_name); + int pos = file_name.rfind('/'); + int _pid = atoi(file_name.substr(pos).c_str()); + local_heights[_pid] = l_root->getSumHeight(); + leaf_nbr[_pid] = l_root->getLeafNodeNbr(); + + l_root->deleteDescendants(); + delete l_root; + } + + return getAvgHeightGlobal(local_heights,leaf_nbr); +} + +long TARGNode::getAvgHeightGlobal(vector&local_heights, vector&leaf_nbr) { + if(children.empty()){ + if(leaf_nbr[pid] > 0) { + long to_ret = local_heights[pid] + leaf_nbr[pid] * layer; + leaf_nbr[pid] = -1; + return to_ret; + } + else + return 0 ; + } + long ret = 0; + for(auto &iter: children){ + ret += iter.second->getAvgHeightGlobal(local_heights, leaf_nbr); + } + return ret; +} + +int TARGNode::getGlobalNodeNum(){ + if(children.empty()) return 0; + int sum = 1; + for(auto &iter: children){ + sum += iter.second->getGlobalNodeNum(); + } + return sum; +} + +//void TARGNode::assignLocalRootForAllLeaves(vector&local_roots){ +// if(children.empty()){ +// local_root = local_roots[pid]; +// }else{ +// for(auto &iter: children){ +// iter.second->assignLocalRootForAllLeaves(local_roots); +// } +// } +//} + +// return pid if a leaf pack found, otherwise the deepest internal node +TARGNode * TARGNode::route(string& invsax, int *ret_pid){ + if(children.empty()) { + *ret_pid = pid; + return this; + } + string key = SaxUtil::invSaxHeadKFromInvSax(invsax, layer + 1); + if(children.contains(key)){ + return children[key]->route(invsax, ret_pid); + }else{ + *ret_pid = -1; + return this; + } +} + +void TARGNode::assignPIdSampling(TARGNode* node){ + if(node->layer > 0 && node->size <= Const::th){ + node->pid = pid_factory++; + node->children.clear(); + }else{ + vectortless; + for(auto &iter: node->children){ + if(iter.second->size <= Const::th) + tless.push_back(iter.second); + } + sort(tless.begin(), tless.end(), TARGNode::order); + int cur_size = 0; + for(TARGNode*_:tless){ + if(cur_size + _->size <= block_threshold){ + _->pid = pid_factory; + cur_size += _->size; + _->children.clear(); + }else{ + ++pid_factory; + cur_size = _->size; + _->pid = pid_factory; + _->children.clear(); + } + } + + ++pid_factory; + + for(auto &iter: node->children){ + if(iter.second->size > Const::th) + assignPIdSampling(iter.second); + } + } +} + +void TARGNode::loadCollectionSampling(vector*>* node_list, TARGNode* root){ + for(int tree_layer = 0; tree_layer< node_list->size();++tree_layer){ + for(auto &iter: *(*node_list)[tree_layer]){ + auto* node = new TARGNode(); + node->layer = tree_layer + 1; + node->size = iter.second / Const::tardis_sample_percent; + node->invSAX = iter.first; + node->addTreeNodeHexRobust(root); + } + } +} + +void TARGNode::addTreeNodeHexRobust(TARGNode* start){ + if(layer == start->layer + 1){ + ancestor = start; + start->children[invSAX] = this; + }else{ + if(layer > start->layer){ + if(!start->children.contains(SaxUtil::invSaxHeadKFromInvSax(invSAX, start->layer + 1))){ + string newkey = SaxUtil::invSaxHeadKFromInvSax(invSAX, start->layer + 1); + auto newNode = new TARGNode(); + newNode->layer = start->layer + 1; + newNode->invSAX = newkey; + newNode->size = size; + newNode->ancestor = start; + start->children[newkey] = newNode; + } + string key = SaxUtil::invSaxHeadKFromInvSax(invSAX, start->layer + 1); + addTreeNodeHexRobust(start->children[key]); + }else{ + Const::logPrint("add node error"); + exit(-2); + } + } +} + +unsigned * TARGNode::loadSampling(){ + FILE *f = fopen(Const::datafn.c_str(), "rb"); + long series_num = FileUtil::getFileSize(Const::datafn.c_str()) / Const::tsLengthBytes; + long load_num = series_num * Const::tardis_sample_percent; + auto ret = new unsigned[load_num * Const::bitsCardinality]; + long rest = series_num; + long cur = 0; + while (rest > 0){ + long num, take_num; + if(rest > Const::fbl_series_num) { + num = Const::fbl_series_num; + take_num = num * Const::tardis_sample_percent; + } + else { + num = rest; + take_num = load_num - cur; + } + + auto *tss = new float[take_num * Const::tsLength]; + auto start = chrono::system_clock::now(); + fseek(f,(series_num - rest) * Const::tsLengthBytes,SEEK_SET); + fread(tss, sizeof(float),take_num * Const::tsLength, f); + auto end = chrono::system_clock::now(); + TAR_READ_TIME += chrono::duration_cast(end - start).count(); + + for(long i=0;i *invsax_freq, + unsigned *sample_invSAX_tbl, long tbl_size){ + for(long i =0;i*pairRDD, unordered_map*dataRDD, + unordered_map*saxNbrPairRDD, int layer){ + for(auto &iter:*pairRDD){ + string key = iter.first; + string new_key = SaxUtil::invSaxHeadKFromInvSax(key, layer); + dataRDD->emplace(key, dataRDDItem(new_key, iter.second)); + (*saxNbrPairRDD)[new_key] += iter.second; + } +} + +vector*>* TARGNode::buildTARGbySampling(unordered_map*invsax_freq){ + // invsax_freq : invsax(full), freq + int tree_layer = 1; + bool reachBottom = false; + auto *output = new vector*>(); + unordered_map*pairRDD = invsax_freq; + + while(!reachBottom){ + auto dataRDD = new unordered_map(); + auto saxNbrPairRDD = new unordered_map(); + // pairRDD: invsax(full), freq + // dataRDD: invSAX(full), invSAX(b), freq + // saxNbrPairRDD: invsax(b), freq + computeFreqTblSpecLayer(pairRDD, dataRDD, saxNbrPairRDD, tree_layer); + output->push_back(saxNbrPairRDD); + + int max_freq =0; + for(auto &iter:*saxNbrPairRDD) + max_freq = max(max_freq, iter.second); + if(max_freq / Const::tardis_sample_percent <= Const::th) { + reachBottom = true; + delete pairRDD; + delete dataRDD; + } + else{ + // smallHashSet: invSAX(full) + unordered_setsmallHashSet; + for(auto &iter: *saxNbrPairRDD){ + if(iter.second / Const::tardis_sample_percent <= Const::th) + smallHashSet.insert(iter.first); + } + delete pairRDD; + pairRDD = new unordered_map(); + for(auto &iter: *dataRDD){ + if(!smallHashSet.contains(iter.second.invsax_full)){ + (*pairRDD)[iter.first] = iter.second.freq; + } + } + delete dataRDD; + tree_layer++; + } + } + return output; +} diff --git a/src/TAR/TARLNode.cpp b/src/TAR/TARLNode.cpp index efb622d..ac96c80 100644 --- a/src/TAR/TARLNode.cpp +++ b/src/TAR/TARLNode.cpp @@ -1,408 +1,408 @@ -// -// Created by wzy on 2022/7/1. -// -#include -#include -#include "../../include/TAR/TARLNode.h" -#include "../../include/Utils/FileUtil.h" -#include "../../include/Utils/SaxUtil.h" -#include "../../include/Const.h" -#include "../../include/Utils/TimeSeriesUtil.h" - -extern long TAR_WRITE_TIME, TAR_READ_TIME; - -TARLNode * TARLNode::buildLocalIndex(int pid){ - long unitSize = Const::tsLengthBytes + 8 + (Const::segmentNum / 4) * Const::bitsCardinality * 2; - long series_num = FileUtil::getFileSize((Const::tardisfn + to_string(pid)).c_str()) / unitSize; - if(series_num <= 0) return nullptr; - vectordatas(series_num); - unsigned invSax[Const::bitsCardinality]; - auto start = chrono::system_clock::now(); - FILE *f = fopen((Const::tardisfn + to_string(pid)).c_str(),"rb"); - for(long i=0; i(end - start).count(); - - auto root = new TARLNode(); - for(ser_item&data: datas){ - root->addRecordORIGIN(data, pid); - } - - root = prueSingleElementLayer(root); - if(root->rcdNbr <= Const::th){ - root->fetchAllRecords(root->buffer); - root->deleteDescendants(); - root->descendants.clear(); - }else - root->shrinkNodeLayer(); - start = chrono::system_clock::now(); - root->save2Disk((Const::tardisfn + to_string(pid) + "_tmp")); - end = chrono::system_clock::now(); - TAR_WRITE_TIME += chrono::duration_cast(end - start).count(); - - // traverse through all leaf nodes and write them -// long cur_offset = 0; -// vectorleaves; -// collectAllLeaves(leaves); -// FILE *outf = fopen((Const::tardisfn + to_string(pid) + "_tmp").c_str(), "wb"); -// for(TARLNode* leaf: leaves){ -// leaf->file_offset = cur_offset; -// leaf->file_length = leaf->buffer.size(); -// auto local_start = chrono::system_clock::now(); -// for(item& unit: leaf->buffer){ -// fwrite(&unit.id, sizeof(long ), 1, outf); -// fwrite(unit.ts, sizeof(float), Const::tsLength, outf); -// SaxUtil::string2invSAX(unit.invsax, invSax); -// delete[] unit.ts; -// fwrite(invSax, sizeof(unsigned ), Const::bitsCardinality, outf); -// } -// auto local_end = chrono::system_clock::now(); -// TAR_WRITE_TIME += chrono::duration_cast(local_end - local_start).count(); -// cur_offset += leaf->buffer.size(); -// leaf->buffer.clear(); -// } -// -// fclose(outf); - - FileUtil::FileRemove((Const::tardisfn + to_string(pid)).c_str()); - if(rename((Const::tardisfn + to_string(pid) + "_tmp").c_str(), (Const::tardisfn + to_string(pid)).c_str())){ - Const::logPrint("rename error!"); - exit(-6); - } - return root; -} - -//void TARLNode::insertBatch(vector&datas, int pid){ -// for(item*data: datas){ -// addRecord(data, pid); -// } -// -// // traverse through all leaf nodes and write them -// long cur_offset = 0; -// vectorleaves; -// collectAllLeaves(leaves); -// FILE *outf = fopen((Const::tardisfn + to_string(pid) + "_tmp").c_str(), "wb"); -// unsigned invSax[Const::bitsCardinality]; -// for(TARLNode* leaf: leaves){ -// if(leaf->file_length > 0){ -// long unit_size= sizeof(unsigned ) * Const::bitsCardinality + Const::tsLengthBytes + sizeof(long ); -// long id; -// string pack_file = Const::tardisfn + to_string(pid); -// auto start = chrono::system_clock::now(); -// FILE *f = fopen(pack_file.c_str(),"rb"); -// fseek(f, file_offset*unit_size, SEEK_SET); -// for(int i=0; ifile_length;++i) { -// item cur; -// cur.ts = new float[Const::tsLength]; -// fread(&id, sizeof(long), 1, f); -// fread(cur.ts, sizeof(float), Const::tsLength, f); -// fread(invSax, sizeof(unsigned), Const::bitsCardinality, f); -// cur.invsax = SaxUtil::invSax2String(invSax); -// cur.id = id; -// leaf->buffer.push_back(cur); -// } -// fclose(f); -// auto end = chrono::system_clock::now(); -// TAR_READ_TIME += chrono::duration_cast(end - start).count(); -// } -// leaf->file_offset = cur_offset; -// leaf->file_length = leaf->buffer.size(); -// auto start = chrono::system_clock::now(); -// for(item& unit: leaf->buffer){ -// fwrite(&unit.id, sizeof(long ), 1, outf); -// fwrite(unit.ts, sizeof(float), Const::tsLength, outf); -// SaxUtil::string2invSAX(unit.invsax, invSax); -// delete[] unit.ts; -// fwrite(invSax, sizeof(unsigned ), Const::bitsCardinality, outf); -// } -// auto end = chrono::system_clock::now(); -// TAR_WRITE_TIME += chrono::duration_cast(end - start).count(); -// cur_offset += leaf->buffer.size(); -// leaf->buffer.clear(); -// } -// -// fclose(outf); -// FileUtil::FileRemove((Const::tardisfn + to_string(pid)).c_str()); -// if(rename((Const::tardisfn + to_string(pid) + "_tmp").c_str(), (Const::tardisfn + to_string(pid)).c_str())){ -// Const::logPrint("rename error!"); -// exit(-6); -// } -//} - -void TARLNode::collectAllLeaves(vector&leaves){ - if(descendants.empty()) leaves.push_back(this); - for(auto &iter:descendants){ - iter.second->collectAllLeaves(leaves); - } -} - -//void TARLNode::addRecord(item *data, int pid) { -// rcdNbr++; -// if(rcdNbr <= Const::th){ -// item newitem = *data; -// newitem.ts = new float[Const::tsLength]; -// copy(data->ts, data->ts+Const::tsLength, newitem.ts); -// buffer.push_back(newitem); -// }else{ -// if(descendants.empty()){ -// split(pid); -// } -// string new_key = SaxUtil::invSaxHeadKFromInvSax(data->invsax, layer + 1); -// if(!descendants.contains(new_key)){ -// auto node = new TARLNode(); -// node->layer = layer + 1; -// node->invSAX = new_key; -// descendants[new_key] = node; -// } -// descendants[new_key]->addRecord(data, pid); -// } -// -//} - -void TARLNode::addRecordORIGIN(const ser_item &data, int pid) { - rcdNbr++; - if(this->layer == Const::bitsCardinality){ - ser_item newitem(data); - buffer.push_back(newitem); - }else{ - string new_key = SaxUtil::invSaxHeadKFromInvSax(data.invsax, layer + 1); - if(!descendants.contains(new_key)){ - auto node = new TARLNode(); - node->layer = layer + 1; - node->invSAX = new_key; - descendants[new_key] = node; - } - descendants[new_key]->addRecordORIGIN(data, pid); - } -} - -void TARLNode::shrinkNodeLayer(){ - for(auto &iter: descendants){ - if(!iter.second->descendants.empty()){ - if(iter.second->rcdNbr <= Const::th){ - iter.second->fetchAllRecords(iter.second->buffer); - iter.second->deleteDescendants(); - iter.second->descendants.clear(); - }else{ - iter.second->shrinkNodeLayer(); - } - } - } -} - -void TARLNode::deleteDescendants(){ - for(auto &iter: descendants){ - if(iter.second->descendants.empty()){ - delete iter.second; - }else{ - iter.second->deleteDescendants(); - delete iter.second; - } - } -} - -void TARLNode::fetchAllRecords(vector&buf){ - if(descendants.empty()){ - for(auto &_:buffer){ - buf.push_back(_); - } - }else{ - for(auto &iter:descendants){ - iter.second->fetchAllRecords(buf); - } - } -} - -TARLNode* TARLNode::prueSingleElementLayer(TARLNode* root){ - TARLNode* cur = root, *before; - while (cur->descendants.size() == 1){ - before = cur; - cur = cur->descendants.begin()->second; - delete before; - } - return cur; -} - -//void TARLNode::split(int pid) { -// vectorfile_data; -// unsigned invSax[Const::bitsCardinality]; -// long unit_size= sizeof(unsigned ) * Const::bitsCardinality + Const::tsLengthBytes + sizeof(long ); -// long id; -// auto start = chrono::system_clock::now(); -// if(file_length > 0){ -// FILE *f = fopen((Const::tardisfn + to_string(pid)).c_str(),"rb"); -// fseek(f, file_offset*unit_size, SEEK_SET); -// for(int i=0;i(end - start).count(); -// -// //split file data to children -// for(auto&cur:file_data){ -// string new_key = SaxUtil::invSaxHeadKFromInvSax(cur.invsax, layer + 1); -// if(!descendants.contains(new_key)){ -// auto node = new TARLNode(); -// node->layer = layer + 1; -// node->invSAX = new_key; -// descendants[new_key] = node; -// } -// descendants[new_key]->buffer.push_back(cur); -// } -// -// // split buffer data -// for(auto &cur:buffer){ -// string new_key = SaxUtil::invSaxHeadKFromInvSax(cur.invsax, layer + 1); -// if(!descendants.contains(new_key)){ -// auto node = new TARLNode(); -// node->layer = layer + 1; -// node->invSAX = new_key; -// descendants[new_key] = node; -// } -// descendants[new_key]->buffer.push_back(cur); -// } -// -// file_offset = -1; -// file_length = 0; -// buffer.clear(); -//} - -TARLNode* TARLNode::route2Leaf(string& invsax){ - if(descendants.empty()) return this; - string key = SaxUtil::invSaxHeadKFromInvSax(invsax, layer + 1); - if(descendants.contains(key)){ - return descendants[key]->route2Leaf(invsax); - }else{ - // if no target leaf node, then search its sibling randomly - return descendants.begin()->second->route2Leaf(invsax); - } -} - -extern int _search_num, layer; -extern long READ_TIME; -void TARLNode::search(int k, const float *query, vector &heap) const{ - assert(descendants.empty()); - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; - - _search_num += rcdNbr; ::layer = layer; - for(int i=0;i= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } -} - -void TARLNode::search_dtw(int k, float *query, vector &heap, int window_size) const{ - double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; -// - _search_num += rcdNbr; ::layer = layer; - for(int i=0;i= k) bsf = heap[0]->dist; - } - - for(PqItemSeries*s: heap){ - if(s->needDeepCopy) s->copyData(); - } -} - -int TARLNode::getLeafNodeNbr(){ - if(descendants.empty()) return 1; - int ret = 0; - for(auto &iter:descendants){ - ret += iter.second->getLeafNodeNbr(); - } - return ret; -} - -int TARLNode::getNodeNbr(){ - if(descendants.empty()) return 1; - int ret = 1; - for(auto &iter:descendants){ - ret += iter.second->getNodeNbr(); - } - return ret; -} - -int TARLNode::getMaxHeight(){ - if(descendants.empty()) return 1; - int ret = 0; - for(auto &iter:descendants){ - ret = max(ret, iter.second->getMaxHeight()); - } - return ret + 1; -} - -long TARLNode::getSumHeight(){ - if(descendants.empty()) return 1; - long ret = 0; - for(auto &iter:descendants){ - ret += iter.second->getSumHeight() + 1; - } - return ret; -} - -void TARLNode::save2Disk(const string &output) { - ofstream ofs(output.c_str(), ios::binary); - boost::archive::binary_oarchive oa(ofs); - oa << (*this); - ofs.close(); -} - -TARLNode *TARLNode::loadFromDisk(const string &idxfn) { - ifstream ifs(idxfn, ios::binary); - boost::archive::binary_iarchive ia(ifs); - auto *g = new TARLNode(); - ia >> (*g); - ifs.close(); - return g; -} +// +// Created by wzy on 2022/7/1. +// +#include +#include +#include "../../include/TAR/TARLNode.h" +#include "../../include/Utils/FileUtil.h" +#include "../../include/Utils/SaxUtil.h" +#include "../../include/Const.h" +#include "../../include/Utils/TimeSeriesUtil.h" + +extern long TAR_WRITE_TIME, TAR_READ_TIME; + +TARLNode * TARLNode::buildLocalIndex(int pid){ + long unitSize = Const::tsLengthBytes + 8 + (Const::segmentNum / 4) * Const::bitsCardinality * 2; + long series_num = FileUtil::getFileSize((Const::tardisfn + to_string(pid)).c_str()) / unitSize; + if(series_num <= 0) return nullptr; + vectordatas(series_num); + unsigned invSax[Const::bitsCardinality]; + auto start = chrono::system_clock::now(); + FILE *f = fopen((Const::tardisfn + to_string(pid)).c_str(),"rb"); + for(long i=0; i(end - start).count(); + + auto root = new TARLNode(); + for(ser_item&data: datas){ + root->addRecordORIGIN(data, pid); + } + + root = prueSingleElementLayer(root); + if(root->rcdNbr <= Const::th){ + root->fetchAllRecords(root->buffer); + root->deleteDescendants(); + root->descendants.clear(); + }else + root->shrinkNodeLayer(); + start = chrono::system_clock::now(); + root->save2Disk((Const::tardisfn + to_string(pid) + "_tmp")); + end = chrono::system_clock::now(); + TAR_WRITE_TIME += chrono::duration_cast(end - start).count(); + + // traverse through all leaf nodes and write them +// long cur_offset = 0; +// vectorleaves; +// collectAllLeaves(leaves); +// FILE *outf = fopen((Const::tardisfn + to_string(pid) + "_tmp").c_str(), "wb"); +// for(TARLNode* leaf: leaves){ +// leaf->file_offset = cur_offset; +// leaf->file_length = leaf->buffer.size(); +// auto local_start = chrono::system_clock::now(); +// for(item& unit: leaf->buffer){ +// fwrite(&unit.id, sizeof(long ), 1, outf); +// fwrite(unit.ts, sizeof(float), Const::tsLength, outf); +// SaxUtil::string2invSAX(unit.invsax, invSax); +// delete[] unit.ts; +// fwrite(invSax, sizeof(unsigned ), Const::bitsCardinality, outf); +// } +// auto local_end = chrono::system_clock::now(); +// TAR_WRITE_TIME += chrono::duration_cast(local_end - local_start).count(); +// cur_offset += leaf->buffer.size(); +// leaf->buffer.clear(); +// } +// +// fclose(outf); + + FileUtil::FileRemove((Const::tardisfn + to_string(pid)).c_str()); + if(rename((Const::tardisfn + to_string(pid) + "_tmp").c_str(), (Const::tardisfn + to_string(pid)).c_str())){ + Const::logPrint("rename error!"); + exit(-6); + } + return root; +} + +//void TARLNode::insertBatch(vector&datas, int pid){ +// for(item*data: datas){ +// addRecord(data, pid); +// } +// +// // traverse through all leaf nodes and write them +// long cur_offset = 0; +// vectorleaves; +// collectAllLeaves(leaves); +// FILE *outf = fopen((Const::tardisfn + to_string(pid) + "_tmp").c_str(), "wb"); +// unsigned invSax[Const::bitsCardinality]; +// for(TARLNode* leaf: leaves){ +// if(leaf->file_length > 0){ +// long unit_size= sizeof(unsigned ) * Const::bitsCardinality + Const::tsLengthBytes + sizeof(long ); +// long id; +// string pack_file = Const::tardisfn + to_string(pid); +// auto start = chrono::system_clock::now(); +// FILE *f = fopen(pack_file.c_str(),"rb"); +// fseek(f, file_offset*unit_size, SEEK_SET); +// for(int i=0; ifile_length;++i) { +// item cur; +// cur.ts = new float[Const::tsLength]; +// fread(&id, sizeof(long), 1, f); +// fread(cur.ts, sizeof(float), Const::tsLength, f); +// fread(invSax, sizeof(unsigned), Const::bitsCardinality, f); +// cur.invsax = SaxUtil::invSax2String(invSax); +// cur.id = id; +// leaf->buffer.push_back(cur); +// } +// fclose(f); +// auto end = chrono::system_clock::now(); +// TAR_READ_TIME += chrono::duration_cast(end - start).count(); +// } +// leaf->file_offset = cur_offset; +// leaf->file_length = leaf->buffer.size(); +// auto start = chrono::system_clock::now(); +// for(item& unit: leaf->buffer){ +// fwrite(&unit.id, sizeof(long ), 1, outf); +// fwrite(unit.ts, sizeof(float), Const::tsLength, outf); +// SaxUtil::string2invSAX(unit.invsax, invSax); +// delete[] unit.ts; +// fwrite(invSax, sizeof(unsigned ), Const::bitsCardinality, outf); +// } +// auto end = chrono::system_clock::now(); +// TAR_WRITE_TIME += chrono::duration_cast(end - start).count(); +// cur_offset += leaf->buffer.size(); +// leaf->buffer.clear(); +// } +// +// fclose(outf); +// FileUtil::FileRemove((Const::tardisfn + to_string(pid)).c_str()); +// if(rename((Const::tardisfn + to_string(pid) + "_tmp").c_str(), (Const::tardisfn + to_string(pid)).c_str())){ +// Const::logPrint("rename error!"); +// exit(-6); +// } +//} + +void TARLNode::collectAllLeaves(vector&leaves){ + if(descendants.empty()) leaves.push_back(this); + for(auto &iter:descendants){ + iter.second->collectAllLeaves(leaves); + } +} + +//void TARLNode::addRecord(item *data, int pid) { +// rcdNbr++; +// if(rcdNbr <= Const::th){ +// item newitem = *data; +// newitem.ts = new float[Const::tsLength]; +// copy(data->ts, data->ts+Const::tsLength, newitem.ts); +// buffer.push_back(newitem); +// }else{ +// if(descendants.empty()){ +// split(pid); +// } +// string new_key = SaxUtil::invSaxHeadKFromInvSax(data->invsax, layer + 1); +// if(!descendants.contains(new_key)){ +// auto node = new TARLNode(); +// node->layer = layer + 1; +// node->invSAX = new_key; +// descendants[new_key] = node; +// } +// descendants[new_key]->addRecord(data, pid); +// } +// +//} + +void TARLNode::addRecordORIGIN(const ser_item &data, int pid) { + rcdNbr++; + if(this->layer == Const::bitsCardinality){ + ser_item newitem(data); + buffer.push_back(newitem); + }else{ + string new_key = SaxUtil::invSaxHeadKFromInvSax(data.invsax, layer + 1); + if(!descendants.contains(new_key)){ + auto node = new TARLNode(); + node->layer = layer + 1; + node->invSAX = new_key; + descendants[new_key] = node; + } + descendants[new_key]->addRecordORIGIN(data, pid); + } +} + +void TARLNode::shrinkNodeLayer(){ + for(auto &iter: descendants){ + if(!iter.second->descendants.empty()){ + if(iter.second->rcdNbr <= Const::th){ + iter.second->fetchAllRecords(iter.second->buffer); + iter.second->deleteDescendants(); + iter.second->descendants.clear(); + }else{ + iter.second->shrinkNodeLayer(); + } + } + } +} + +void TARLNode::deleteDescendants(){ + for(auto &iter: descendants){ + if(iter.second->descendants.empty()){ + delete iter.second; + }else{ + iter.second->deleteDescendants(); + delete iter.second; + } + } +} + +void TARLNode::fetchAllRecords(vector&buf){ + if(descendants.empty()){ + for(auto &_:buffer){ + buf.push_back(_); + } + }else{ + for(auto &iter:descendants){ + iter.second->fetchAllRecords(buf); + } + } +} + +TARLNode* TARLNode::prueSingleElementLayer(TARLNode* root){ + TARLNode* cur = root, *before; + while (cur->descendants.size() == 1){ + before = cur; + cur = cur->descendants.begin()->second; + delete before; + } + return cur; +} + +//void TARLNode::split(int pid) { +// vectorfile_data; +// unsigned invSax[Const::bitsCardinality]; +// long unit_size= sizeof(unsigned ) * Const::bitsCardinality + Const::tsLengthBytes + sizeof(long ); +// long id; +// auto start = chrono::system_clock::now(); +// if(file_length > 0){ +// FILE *f = fopen((Const::tardisfn + to_string(pid)).c_str(),"rb"); +// fseek(f, file_offset*unit_size, SEEK_SET); +// for(int i=0;i(end - start).count(); +// +// //split file data to children +// for(auto&cur:file_data){ +// string new_key = SaxUtil::invSaxHeadKFromInvSax(cur.invsax, layer + 1); +// if(!descendants.contains(new_key)){ +// auto node = new TARLNode(); +// node->layer = layer + 1; +// node->invSAX = new_key; +// descendants[new_key] = node; +// } +// descendants[new_key]->buffer.push_back(cur); +// } +// +// // split buffer data +// for(auto &cur:buffer){ +// string new_key = SaxUtil::invSaxHeadKFromInvSax(cur.invsax, layer + 1); +// if(!descendants.contains(new_key)){ +// auto node = new TARLNode(); +// node->layer = layer + 1; +// node->invSAX = new_key; +// descendants[new_key] = node; +// } +// descendants[new_key]->buffer.push_back(cur); +// } +// +// file_offset = -1; +// file_length = 0; +// buffer.clear(); +//} + +TARLNode* TARLNode::route2Leaf(string& invsax){ + if(descendants.empty()) return this; + string key = SaxUtil::invSaxHeadKFromInvSax(invsax, layer + 1); + if(descendants.contains(key)){ + return descendants[key]->route2Leaf(invsax); + }else{ + // if no target leaf node, then search its sibling randomly + return descendants.begin()->second->route2Leaf(invsax); + } +} + +extern int _search_num, layer; +extern long READ_TIME; +void TARLNode::search(int k, const float *query, vector &heap) const{ + assert(descendants.empty()); + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; + + _search_num += rcdNbr; ::layer = layer; + for(int i=0;i= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } +} + +void TARLNode::search_dtw(int k, float *query, vector &heap, int window_size) const{ + double bsf = heap.size() < k? numeric_limits::max() : heap[0]->dist; +// + _search_num += rcdNbr; ::layer = layer; + for(int i=0;i= k) bsf = heap[0]->dist; + } + + for(PqItemSeries*s: heap){ + if(s->needDeepCopy) s->copyData(); + } +} + +int TARLNode::getLeafNodeNbr(){ + if(descendants.empty()) return 1; + int ret = 0; + for(auto &iter:descendants){ + ret += iter.second->getLeafNodeNbr(); + } + return ret; +} + +int TARLNode::getNodeNbr(){ + if(descendants.empty()) return 1; + int ret = 1; + for(auto &iter:descendants){ + ret += iter.second->getNodeNbr(); + } + return ret; +} + +int TARLNode::getMaxHeight(){ + if(descendants.empty()) return 1; + int ret = 0; + for(auto &iter:descendants){ + ret = max(ret, iter.second->getMaxHeight()); + } + return ret + 1; +} + +long TARLNode::getSumHeight(){ + if(descendants.empty()) return 1; + long ret = 0; + for(auto &iter:descendants){ + ret += iter.second->getSumHeight() + 1; + } + return ret; +} + +void TARLNode::save2Disk(const string &output) { + ofstream ofs(output.c_str(), ios::binary); + boost::archive::binary_oarchive oa(ofs); + oa << (*this); + ofs.close(); +} + +TARLNode *TARLNode::loadFromDisk(const string &idxfn) { + ifstream ifs(idxfn, ios::binary); + boost::archive::binary_iarchive ia(ifs); + auto *g = new TARLNode(); + ia >> (*g); + ifs.close(); + return g; +} diff --git a/src/Utils/INIReader.cpp b/src/Utils/INIReader.cpp index 4eafa77..058b984 100644 --- a/src/Utils/INIReader.cpp +++ b/src/Utils/INIReader.cpp @@ -1,116 +1,116 @@ -// Read an INI file into easy-to-access name/value pairs. - -// SPDX-License-Identifier: BSD-3-Clause - -// Copyright (C) 2009-2020, Ben Hoyt - -// inih and INIReader are released under the New BSD license (see LICENSE.txt). -// Go to the project home page for more info: -// -// https://github.com/benhoyt/inih - -#include -#include -#include -#include "../../include/Utils/ini.h" -#include "../../include/Utils/INIReader.h" - -using std::string; - -INIReader::INIReader(const string& filename) -{ - _error = ini_parse(filename.c_str(), ValueHandler, this); -} - -INIReader::INIReader(const char *buffer, size_t buffer_size) -{ - string content(buffer, buffer_size); - _error = ini_parse_string(content.c_str(), ValueHandler, this); -} - -int INIReader::ParseError() const -{ - return _error; -} - -string INIReader::Get(const string& section, const string& name, const string& default_value) const -{ - string key = MakeKey(section, name); - // Use _values.find() here instead of _values.at() to support pre C++11 compilers - return _values.count(key) ? _values.find(key)->second : default_value; -} - -string INIReader::GetString(const string& section, const string& name, const string& default_value) const -{ - const string str = Get(section, name, ""); - return str.empty() ? default_value : str; -} - -long INIReader::GetInteger(const string& section, const string& name, long default_value) const -{ - string valstr = Get(section, name, ""); - const char* value = valstr.c_str(); - char* end; - // This parses "1234" (decimal) and also "0x4D2" (hex) - long n = strtol(value, &end, 0); - return end > value ? n : default_value; -} - -double INIReader::GetReal(const string& section, const string& name, double default_value) const -{ - string valstr = Get(section, name, ""); - const char* value = valstr.c_str(); - char* end; - double n = strtod(value, &end); - return end > value ? n : default_value; -} - -bool INIReader::GetBoolean(const string& section, const string& name, bool default_value) const -{ - string valstr = Get(section, name, ""); - // Convert to lower case to make string comparisons case-insensitive - std::transform(valstr.begin(), valstr.end(), valstr.begin(), ::tolower); - if (valstr == "true" || valstr == "yes" || valstr == "on" || valstr == "1") - return true; - else if (valstr == "false" || valstr == "no" || valstr == "off" || valstr == "0") - return false; - else - return default_value; -} - -bool INIReader::HasSection(const string& section) const -{ - const string key = MakeKey(section, ""); - std::map::const_iterator pos = _values.lower_bound(key); - if (pos == _values.end()) - return false; - // Does the key at the lower_bound pos start with "section"? - return pos->first.compare(0, key.length(), key) == 0; -} - -bool INIReader::HasValue(const string& section, const string& name) const -{ - string key = MakeKey(section, name); - return _values.count(key); -} - -string INIReader::MakeKey(const string& section, const string& name) -{ - string key = section + "=" + name; - // Convert to lower case to make section/name lookups case-insensitive - std::transform(key.begin(), key.end(), key.begin(), ::tolower); - return key; -} - -int INIReader::ValueHandler(void* user, const char* section, const char* name, - const char* value) -{ - if (!name) // Happens when INI_CALL_HANDLER_ON_NEW_SECTION enabled - return 1; - INIReader* reader = static_cast(user); - string key = MakeKey(section, name); - if (reader->_values[key].size() > 0) - reader->_values[key] += "\n"; - reader->_values[key] += value ? value : ""; - return 1; +// Read an INI file into easy-to-access name/value pairs. + +// SPDX-License-Identifier: BSD-3-Clause + +// Copyright (C) 2009-2020, Ben Hoyt + +// inih and INIReader are released under the New BSD license (see LICENSE.txt). +// Go to the project home page for more info: +// +// https://github.com/benhoyt/inih + +#include +#include +#include +#include "../../include/Utils/ini.h" +#include "../../include/Utils/INIReader.h" + +using std::string; + +INIReader::INIReader(const string& filename) +{ + _error = ini_parse(filename.c_str(), ValueHandler, this); +} + +INIReader::INIReader(const char *buffer, size_t buffer_size) +{ + string content(buffer, buffer_size); + _error = ini_parse_string(content.c_str(), ValueHandler, this); +} + +int INIReader::ParseError() const +{ + return _error; +} + +string INIReader::Get(const string& section, const string& name, const string& default_value) const +{ + string key = MakeKey(section, name); + // Use _values.find() here instead of _values.at() to support pre C++11 compilers + return _values.count(key) ? _values.find(key)->second : default_value; +} + +string INIReader::GetString(const string& section, const string& name, const string& default_value) const +{ + const string str = Get(section, name, ""); + return str.empty() ? default_value : str; +} + +long INIReader::GetInteger(const string& section, const string& name, long default_value) const +{ + string valstr = Get(section, name, ""); + const char* value = valstr.c_str(); + char* end; + // This parses "1234" (decimal) and also "0x4D2" (hex) + long n = strtol(value, &end, 0); + return end > value ? n : default_value; +} + +double INIReader::GetReal(const string& section, const string& name, double default_value) const +{ + string valstr = Get(section, name, ""); + const char* value = valstr.c_str(); + char* end; + double n = strtod(value, &end); + return end > value ? n : default_value; +} + +bool INIReader::GetBoolean(const string& section, const string& name, bool default_value) const +{ + string valstr = Get(section, name, ""); + // Convert to lower case to make string comparisons case-insensitive + std::transform(valstr.begin(), valstr.end(), valstr.begin(), ::tolower); + if (valstr == "true" || valstr == "yes" || valstr == "on" || valstr == "1") + return true; + else if (valstr == "false" || valstr == "no" || valstr == "off" || valstr == "0") + return false; + else + return default_value; +} + +bool INIReader::HasSection(const string& section) const +{ + const string key = MakeKey(section, ""); + std::map::const_iterator pos = _values.lower_bound(key); + if (pos == _values.end()) + return false; + // Does the key at the lower_bound pos start with "section"? + return pos->first.compare(0, key.length(), key) == 0; +} + +bool INIReader::HasValue(const string& section, const string& name) const +{ + string key = MakeKey(section, name); + return _values.count(key); +} + +string INIReader::MakeKey(const string& section, const string& name) +{ + string key = section + "=" + name; + // Convert to lower case to make section/name lookups case-insensitive + std::transform(key.begin(), key.end(), key.begin(), ::tolower); + return key; +} + +int INIReader::ValueHandler(void* user, const char* section, const char* name, + const char* value) +{ + if (!name) // Happens when INI_CALL_HANDLER_ON_NEW_SECTION enabled + return 1; + INIReader* reader = static_cast(user); + string key = MakeKey(section, name); + if (reader->_values[key].size() > 0) + reader->_values[key] += "\n"; + reader->_values[key] += value ? value : ""; + return 1; } \ No newline at end of file diff --git a/src/Utils/SaxUtil.cpp b/src/Utils/SaxUtil.cpp index f7d1636..514a9f3 100644 --- a/src/Utils/SaxUtil.cpp +++ b/src/Utils/SaxUtil.cpp @@ -1,1452 +1,1523 @@ -// -// Created by wzy on 2021/8/7. -// - -#include "../../include/Utils/SaxUtil.h" -#include "../../include/Utils/FileUtil.h" -#include "../../include/DataStructures/TimeSeries.h" -#include -#include -#include -#include -#include -#include -using namespace std; - -std::string SaxUtil::breakpointsFile = "../breakpoints.txt"; -std::string SaxUtil::SEPARATOR = " |\t|\n|,"; -double *SaxUtil::bp8 = new double[256]{-2.660067468617458,-2.4175590162365035,-2.2662268092096522,-2.1538746940614573,-2.063527898316245,-1.9874278859298962,-1.921350774293703,-1.8627318674216515,-1.8098922384806087,-1.7616704103630665,-1.7172281175057411,-1.6759397227734438,-1.637325382768064,-1.601008664886076,-1.5666885860684134,-1.534120544352546,-1.5031029431292737,-1.4734675779471014,-1.4450725798180746,-1.4177971379962677,-1.3915374879959008,-1.3662038163720984,-1.341717841080254,-1.318010897303537,-1.2950224067058147,-1.2726986411905359,-1.2509917154625454,-1.229858759216589,-1.209261231709155,-1.189164350199337,-1.169536610207143,-1.1503493803760083,-1.131576558386188,-1.113194277160929,-1.0951806527613883,-1.0775155670402805,-1.0601804794353549,-1.0431582633184537,-1.0264330631379108,-1.0099901692495823,-0.993815907860883,-0.9778975439405418,-0.9622231952954206,-0.946781756301046,-0.9315628300071148,-0.9165566675331128,-0.9017541138301002,-0.8871465590188762,-0.8727258946270402,-0.858484474141832,-0.8444150773752572,-0.8305108782053992,-0.8167654153150912,-0.8031725655979178,-0.7897265199432658,-0.7764217611479275,-0.7632530437325706,-0.7502153754679404,-0.7373040004386545,-0.7245143834923653,-0.711842195939419,-0.69928330238322,-0.6868337485747303,-0.6744897501960819,-0.6622476824884141,-0.6501040706479954,-0.6380555809225171,-0.6260990123464211,-0.6142312890602454,-0.6024494531644237,-0.5907506580628189,-0.5791321622555561,-0.5675913235445692,-0.5561255936186916,-0.5447325129881759,-0.5334097062412806,-0.5221548775980015,-0.5109658067382474,-0.4998403448837353,-0.4887764111146696,-0.4777719889038861,-0.46682512285258965,-0.4559339156131388,-0.44509652498551644,-0.4343111611752096,-0.42357608420119974,-0.41288960144365433,-0.40225006532172536,-0.3916558710925915,-0.3811054547635565,-0.3705972911096293,-0.36012989178956945,-0.3497018035538953,-0.3393116065388173,-0.3289579126404911,-0.31863936396437526,-0.30835463134483726,-0.2981024129304869,-0.2878814328310118,-0.27769043982157676,-0.2675282061010972,-0.25739352610093835,-0.24728521534080486,-0.2372021093287877,-0.22714306250271535,-0.2171069472101298,-0.2070926527243603,-0.19709908429431236,-0.18712516222572084,-0.17716982099173986,-0.16723200837085014,-0.15731068461017073,-0.14740482161235488,-0.13751340214433597,-0.12763541906627035,-0.11776987457909531,-0.10791577948918657,-0.0980721524886611,-0.08823801944992447,-0.07841241273311222,-0.06859437050511813,-0.05878293606894307,-0.04897715720213194,-0.03917608550309764,-0.02937877574415705,-0.019584285230126924,-0.009791673161345348,0.0,0.009791673161345348,0.019584285230126924,0.02937877574415705,0.03917608550309764,0.04897715720213194,0.05878293606894307,0.06859437050511813,0.07841241273311222,0.08823801944992447,0.0980721524886611,0.10791577948918657,0.11776987457909531,0.12763541906627035,0.13751340214433597,0.14740482161235488,0.15731068461017073,0.16723200837085014,0.17716982099173986,0.18712516222572084,0.19709908429431236,0.2070926527243603,0.2171069472101298,0.22714306250271535,0.2372021093287877,0.24728521534080486,0.25739352610093835,0.2675282061010972,0.27769043982157676,0.2878814328310118,0.2981024129304869,0.30835463134483726,0.31863936396437526,0.3289579126404911,0.3393116065388173,0.3497018035538953,0.36012989178956945,0.3705972911096293,0.3811054547635565,0.3916558710925915,0.40225006532172536,0.41288960144365433,0.42357608420119974,0.4343111611752096,0.44509652498551644,0.4559339156131388,0.46682512285258965,0.4777719889038861,0.4887764111146696,0.4998403448837353,0.5109658067382474,0.5221548775980015,0.5334097062412806,0.5447325129881759,0.5561255936186916,0.5675913235445692,0.5791321622555561,0.5907506580628189,0.6024494531644237,0.6142312890602454,0.6260990123464211,0.6380555809225171,0.6501040706479954,0.6622476824884141,0.6744897501960819,0.6868337485747303,0.69928330238322,0.711842195939419,0.7245143834923653,0.7373040004386545,0.7502153754679404,0.7632530437325706,0.7764217611479275,0.7897265199432658,0.8031725655979178,0.8167654153150912,0.8305108782053992,0.8444150773752572,0.858484474141832,0.8727258946270402,0.8871465590188762,0.9017541138301002,0.9165566675331128,0.9315628300071148,0.946781756301046,0.9622231952954206,0.9778975439405418,0.993815907860883,1.0099901692495823,1.0264330631379108,1.0431582633184537,1.0601804794353549,1.0775155670402805,1.0951806527613883,1.113194277160929,1.131576558386188,1.1503493803760083,1.169536610207143,1.189164350199337,1.209261231709155,1.229858759216589,1.2509917154625454,1.2726986411905359,1.2950224067058147,1.318010897303537,1.341717841080254,1.3662038163720984,1.3915374879959008,1.4177971379962677,1.4450725798180746,1.4734675779471014,1.5031029431292737,1.534120544352546,1.5666885860684134,1.601008664886076,1.637325382768064,1.6759397227734438,1.7172281175057411,1.7616704103630665,1.8098922384806087,1.8627318674216515,1.921350774293703,1.9874278859298962,2.063527898316245,2.1538746940614573,2.2662268092096522,2.4175590162365035,2.660067468617458, numeric_limits::max()}; -double* SaxUtil::breakpoints = readDoubleFromFileAtOnce(SaxUtil::breakpointsFile); -float* SaxUtil::breakpoints_f = readFloatFromFileAtOnce(SaxUtil::breakpointsFile); - -std::vector split(std::string& str, std::string pattern) -{ - std::string::size_type pos; - std::vector result; - str += pattern; - int size = str.size(); - for (int i = 0; i < size; i++) - { - pos = str.find(pattern, i); - if (pos < size) - { - std::string s = str.substr(i, pos - i); - result.push_back(s); - i = pos + pattern.size() - 1; - } - } - return result; -} - - -double* SaxUtil::readFromstring(string str) { - vector strings = split(str, ","); - double* ret = new double[strings.size()]; - - for (int i = 0; i < strings.size(); i++) { - string s = strings[i]; - string::size_type size_type; - if (s.length() > 0) - ret[i] = stod(s, &size_type); - } - - return ret; -} - -float* SaxUtil::readFromstringFloat(string str) { - vector strings = split(str, ","); - auto* ret = new float[strings.size()]; - - for (int i = 0; i < strings.size(); i++) { - string s = strings[i]; - string::size_type size_type; - if (s.length() > 0) - ret[i] = stof(s, &size_type); - } - - return ret; -} - -double* SaxUtil::readDoubleFromFileAtOnce(const string& fileName){ - - string line; - std::ifstream fin(fileName); - getline(fin, line); - - auto ret = readFromstring(line); - fin.close(); - return ret; -} - -float* SaxUtil::readFloatFromFileAtOnce(const string& fileName){ - - string line; - std::ifstream fin(fileName); - getline(fin, line); - - auto ret = readFromstringFloat(line); - return ret; -} - -void SaxUtil::id2Sax(int id, int*sax, int segment_num){ - for(int i=0;i> 1; - sax[segment_num - i - 1] = (temp + temp == id) ? 0 : 1; - id = temp; - } -} - -void SaxUtil::id2Sax2(int id, unsigned short *sax, int segment_num){ - for(int i=0;i> 1; - sax[segment_num - i - 1] = (sax[segment_num - i - 1] << 1) + ((temp + temp == id) ? 0 : 1); - id = temp; - } -} - -double * SaxUtil::paaFromTs(const float* ts, int tsLengthPerSegment, int segmentNum){ - // Create PAA representation - auto* paa = new double [segmentNum]; - - int s, i; - for (s=0; s= 0) - sax[s] = (index - offset); - else - cout<<"ERROR!!!!!!!"; - } -} - -vector * SaxUtil::saxFromTs(float*ts, int tsLengthPerSegment, int segmentNum, int cardinality) -{ - // Create PAA representation - double * paa = paaFromTs(ts, tsLengthPerSegment, segmentNum); - - // Convert PAA to SAX - // Note: Each cardinality has cardinality - 1 break points if c is cardinality - // the breakpoints can be found in the following array positions: - // FROM (c - 1) * (c - 2) / 2 - // TO (c - 1) * (c - 2) / 2 + c - 1 - int offset = ((cardinality - 1) * (cardinality - 2)) / 2; - //printf("FROM %lf TO %lf\n", sax_breakpoints[offset], sax_breakpoints[offset + cardinality - 2]); - - auto*sax = new vector(segmentNum); -// int* sax = new int[segmentNum]; - int si; - for (si=0; si= 0) - (*sax)[si] = (index - offset); - else - cout<<"ERROR!!!!!!!"; - - } - - delete[] paa; - //sax_print(sax_out, segments, cardinality); - return sax; -} - -void SaxUtil::saxFromTs(const float*ts, unsigned short *sax, int tsLengthPerSegment, int segmentNum, int cardinality) -{ - // Create PAA representation - double paa[segmentNum]; - int s, i; - for (s=0; s= 0) - sax[si] = (index - offset); - else - cout<<"ERROR!!!!!!!"; - - } - //sax_print(sax_out, segments, cardinality); -} - -vector * SaxUtil::saxFromPaa(float *paa, int segmentNum, int cardinality) -{ - - // Convert PAA to SAX - // Note: Each cardinality has cardinality - 1 break points if c is cardinality - // the breakpoints can be found in the following array positions: - // FROM (c - 1) * (c - 2) / 2 - // TO (c - 1) * (c - 2) / 2 + c - 1 - int offset = ((cardinality - 1) * (cardinality - 2)) / 2; - //printf("FROM %lf TO %lf\n", sax_breakpoints[offset], sax_breakpoints[offset + cardinality - 2]); - - auto*sax = new vector(segmentNum); - // int* sax = new int[segmentNum]; - int si; - for (si=0; si= 0) - (*sax)[si] = (index - offset); - else - cout<<"ERROR!!!!!!!"; - - } - //sax_print(sax_out, segments, cardinality); - return sax; -} - -int SaxUtil::findFirstGE(const double* array, int start, int length, double target) // satisfy condition: array[?] >= target and the first one -{ - int end = start + length - 1; - while (start <= end) { - int mid = (start + end) / 2; - if (array[mid] < target) - start = mid + 1; - else if (array[mid] >= target) - end = mid - 1; - } - if (end == start + length - 1) - return -1; - return end + 1; - -} - -int SaxUtil::findFirstGE(const int* array, int start, int length, int target) // satisfy condition: array[?] >= target and the first one -{ - int end = start + length - 1; - while (start <= end) { - int mid = (start + end) / 2; - if (array[mid] < target) - start = mid + 1; - else if (array[mid] >= target) - end = mid - 1; - } - if (end == start + length - 1) - return -1; - return end + 1; - -} - -int* SaxUtil::invSaxFromSax(vector *sax, int bitsCardinality, int segmentNum) -{ - int j, i, segi, invj; - int* s = new int[bitsCardinality]; - long n; - //char sum[segments][cardinality];//=malloc(sizeof(char *) * (segments)); - - for (j=0; j < bitsCardinality; j++) - s[j] = 0; - - segi=0; - invj = segmentNum - 1; - - for (i=bitsCardinality-1; i>=0; i--) - { - for (j=0; j < segmentNum; j++) - { - n = (*sax)[j]; - n = n >> i; - - s[segi] |= (n % 2) << invj; - - invj--; - if(invj==-1) - { - segi++; - invj = segmentNum - 1; - } - } - } - return s; -} - -void SaxUtil::invSaxFromSax(vector *sax, unsigned *invSAX, int bitsCardinality, int segmentNum) -{ - int j, i, segi, invj; - long n; - //char sum[segments][cardinality];//=malloc(sizeof(char *) * (segments)); - - for (j=0; j < bitsCardinality; j++) - invSAX[j] = 0; - - segi=0; - invj = segmentNum - 1; - - for (i=bitsCardinality-1; i>=0; i--) - { - for (j=0; j < segmentNum; j++) - { - n = (*sax)[j]; - n = n >> i; - - invSAX[segi] |= (n % 2) << invj; - - invj--; - if(invj==-1) - { - segi++; - invj = segmentNum - 1; - } - } - } -} - -string SaxUtil::invSax2String(unsigned *invsax){ - string ret; - for(int i=0;i Const::bitsCardinality) break; - } - } - - return ret; -} - -unsigned short *SaxUtil::invSax2Sax(const unsigned *invsax, int unit_num) { - auto sax = new unsigned short[Const::segmentNum]; - for(int i=0;i=0;--j){ - unsigned tag = unit % 2; - unit >>= 1; - sax[j] = (sax[j] << 1) + tag; - } - } - return sax; -} - -string SaxUtil::invSaxHeadKFromInvSax(string invsax, int layer){ - string ret; - int cur = 0; - for(int i=0;i= layer){ - return invsax.substr(0, i + 1); - } - } - } - Const::logPrint("Error in extract prefixes of invsax."); - exit(-1); -} - -int SaxUtil::invSaxHeadFromSax(vector *sax, int bitsCardinality, int segmentNum) -{ - int i=bitsCardinality-1,s = 0,n; - for (int j=0; j < segmentNum; j++) - { - n = (*sax)[j]; - n >>= i; - s |= (n % 2) << (segmentNum - 1 - j); - } - return s; -} - -//int SaxUtil::invSaxHeadFromSax(const int *sax, int bitsCardinality, int segmentNum) -//{ -// int i=bitsCardinality-1,s = 0,n; -// for (int j=0; j < segmentNum; j++) -// { -// n = sax[j]; -// n >>= i; -// s |= (n % 2) << (segmentNum - 1 - j); -// } -// return s; -//} - -int SaxUtil::invSaxHeadFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum) -{ - int i=bitsCardinality-1,s = 0,n; - for (int j=0; j < segmentNum; j++) - { - n = sax[j]; - n >>= i; - s |= (n % 2) << (segmentNum - 1 - j); - } - return s; -} - -int SaxUtil::invSaxHead2FromSax(const int *sax, int bitsCardinality, int segmentNum) -{ - int i=bitsCardinality-2,s = 0,n; - for (int j=0; j < segmentNum; j++) - { - n = sax[j]; - n >>= i; - s |= (n % 2) << (segmentNum - 1 - j); - } - return s; -} - -int SaxUtil::invSaxHeadkFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum, int k) -{ - int i=bitsCardinality-k,s = 0,n; - for (int j=0; j < segmentNum; j++) - { - n = sax[j]; - n >>= i; - s |= (n % 2) << (segmentNum - 1 - j); - } - return s; -} - -int SaxUtil::invSaxHead2FromSax(vector *sax, int bitsCardinality, int segmentNum) -{ - int i=bitsCardinality-2,s = 0,n; - for (int j=0; j < segmentNum; j++) - { - n = (*sax)[j]; - n >>= i; - s |= (n % 2) << (segmentNum - 1 - j); - } - return s; -} - -int SaxUtil::invSaxHeadFromTs(const float* ts, int tsLengthPerSegment, int segmentNum) { - // Create PAA representation - double paa_sim[segmentNum]; - - for (int s=0; s= 0) - res++; - } - - return res; -} - -int SaxUtil::invSaxHeadFromPaa(const float *paa, int tsLengthPerSegment, int segmentNum) { - int res = 0; - for (int s=0; s= 0) - res++; - } - return res; -} - -int SaxUtil::invSaxHead2FromTs(const float* ts, int tsLengthPerSegment, int segmentNum) { - double splits[]{-0.67448975019608193 * tsLengthPerSegment,0.67448975019608193 * tsLengthPerSegment}; - - // Create PAA representation - double paa_sim[segmentNum]; - - for (int s=0; ssplits[0] && paa_sim[s] <=0) || (paa_sim[s] > splits[1]) ) - res +=1; - } - - return res; -} - -double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax){ - double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w - int offset = Const::offset, cardinality = Const::cardinality; - double paaValue, lb, ub; - unsigned short saxValue; - double sum = 0; - - for (int i = 0; i < Const::segmentNum; i++) { - paaValue = paa[i]; - saxValue = sax[i]; - if(saxValue == 0){ - lb = -numeric_limits::max(); - ub = breakpoints[offset]; - } - else if(saxValue == cardinality - 1){ - lb = breakpoints[offset + cardinality - 2]; - ub = numeric_limits::max(); - } - else { - lb = breakpoints[offset + saxValue - 1]; - ub = breakpoints[offset + saxValue]; - } - - if(paaValue < lb){ - sum += (lb - paaValue) * (lb - paaValue); - } - else if(paaValue > ub){ - sum += (paaValue - ub) * (paaValue - ub); - } - } // for - - return frontCoef * sum; -} - -//double SaxUtil::LowerBound_Paa_iSax(const double* paa, const int *sax, const int* bits_cardinality, vector&chosen_segs, int new_id){ -// double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w -// double paaValue, lb, ub; -// double sum = 0; -// int saxValue, cur = chosen_segs.size() - 1, bc; -// -// for (int i = 0; i < Const::segmentNum; i++) { -// paaValue = paa[i]; -// if(chosen_segs[cur] == i){ -// saxValue = (sax[i] << 1) + (new_id % 2); -// new_id >>= 1; -// bc = bits_cardinality[i] + 1; -// } else { -// saxValue = sax[i]; -// bc = bits_cardinality[i]; -// } -// getValueRange(saxValue, bc, &lb, &ub); -// -// if(paaValue < lb){ -// sum += (lb - paaValue) * (lb - paaValue); -// } -// else if(paaValue > ub){ -// sum += (paaValue - ub) * (paaValue - ub); -// } -// } // for -// -// return frontCoef * sum; -//} - -double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int* bits_cardinality, vector&chosen_segs, int new_id){ - double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w - double paaValue, lb, ub; - double sum = 0; - int saxValue, cur = chosen_segs.size() - 1, bc; - - for (int i = Const::segmentNum-1; i >= 0; --i) { - paaValue = paa[i]; - if(cur >=0 && chosen_segs[cur] == i){ - saxValue = (sax[i] << 1) + (new_id % 2); - new_id >>= 1; - bc = bits_cardinality[i] + 1; - --cur; - } else { - saxValue = sax[i]; - bc = bits_cardinality[i]; - } - getValueRange(saxValue, bc, &lb, &ub); - - if(paaValue < lb){ - sum += (lb - paaValue) * (lb - paaValue); - } - else if(paaValue > ub){ - sum += (paaValue - ub) * (paaValue - ub); - } - } // for - - return frontCoef * sum; -} - -double SaxUtil::getMidLineFromSaxSymbolbc8(unsigned short symbol){ - double numer; - assert(symbol >=0 && symbol <=255); - if(symbol == 0) { - numer = SaxUtil::bp8[0] - (SaxUtil::bp8[1] - SaxUtil::bp8[0]); - } - else if(symbol == 255) { - numer = SaxUtil::bp8[254] + (SaxUtil::bp8[254] - SaxUtil::bp8[253]); - } - else { - numer = (SaxUtil::bp8[symbol - 1] + SaxUtil::bp8[symbol]) / 2.0; - } - return numer; -} - -double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, int bits_cardinality) { - double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w - long offset; int cardinality; - if(bits_cardinality == Const::bitsCardinality) - offset = Const::offset, cardinality = Const::cardinality; - else - cardinality = 1 << bits_cardinality, offset = ((long )(cardinality - 1) * (cardinality - 2)) / 2; - double paaValue, lb, ub; - int saxValue; - double sum = 0; - - for (int i = 0; i < Const::segmentNum; i++) { - paaValue = paa[i]; - saxValue = sax[i]; - if(saxValue == 0){ - lb = -numeric_limits::max(); - ub = breakpoints[offset]; - } - else if(saxValue == cardinality - 1){ - lb = breakpoints[offset + cardinality - 2]; - ub = numeric_limits::max(); - } - else { - lb = breakpoints[offset + saxValue - 1]; - ub = breakpoints[offset + saxValue]; - } - - if(paaValue < lb){ - sum += (lb - paaValue) * (lb - paaValue); - } - else if(paaValue > ub){ - sum += (paaValue - ub) * (paaValue - ub); - } - } // for - - return frontCoef * sum; -} - -// complete SAX word, bits cardinality <= 8, #segments = 16 buggy code -double SaxUtil::LowerBound_Paa_iSax_SIMD(const float *paa, unsigned char *sax_short, unsigned char *bits_cardinality_short) -{ - - int region_upper[16],region_lower[16]; - float distancef[16]; - int offset = Const::offset; - - __m256i vectorsignbit = _mm256_set1_epi32 (0xffffffff); - __m256i vloweroffset = _mm256_set1_epi32 (offset-1); - __m256i vupperoffset = _mm256_set1_epi32 (offset); - - //__m256i c_cv_0 = _mm256_set_epi32 ( sax_cardinalities[7] , sax_cardinalities[6] ,sax_cardinalities[5] ,sax_cardinalities[4] , sax_cardinalities[3] ,sax_cardinalities[2] ,sax_cardinalities[1],sax_cardinalities[0]); - //__m256i c_cv_1 = _mm256_set_epi32 ( sax_cardinalities[15], sax_cardinalities[14],sax_cardinalities[13],sax_cardinalities[12], sax_cardinalities[11],sax_cardinalities[10],sax_cardinalities[9],sax_cardinalities[8]); -// __m256i sax_cardinalitiesv16 = _mm256_lddqu_si256((const __m256i*)bits_cardinality); - __m128i sax_cardinalitiesv8 = _mm_lddqu_si128 ((const __m128i*)bits_cardinality_short); - __m256i sax_cardinalitiesv16= _mm256_cvtepu8_epi16 (sax_cardinalitiesv8); - __m128i sax_cardinalitiesv16_0=_mm256_extractf128_si256 (sax_cardinalitiesv16,0); - __m128i sax_cardinalitiesv16_1=_mm256_extractf128_si256 (sax_cardinalitiesv16,1); - __m256i bits_cardinality_0 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_0); - __m256i bits_cardinality_1 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_1); - - //__m256i v_0 = _mm256_set_epi32 (sax[7],sax[6],sax[5],sax[4],sax[3],sax[2],sax[1],sax[0]); - //__m256i v_1 = _mm256_set_epi32 (sax[15],sax[14],sax[13],sax[12],sax[11],sax[10],sax[9],sax[8]); - __m128i saxv8= _mm_lddqu_si128 ((const __m128i*)sax_short); - __m256i saxv16= _mm256_cvtepu8_epi16 (saxv8); - __m128i saxv16_0 =_mm256_extractf128_si256 (saxv16,0); - __m128i saxv16_1=_mm256_extractf128_si256 (saxv16,1); - __m256i sax_0= _mm256_cvtepu16_epi32 (saxv16_0); - __m256i sax_1 = _mm256_cvtepu16_epi32 (saxv16_1); - - - __m256i c_m = _mm256_set1_epi32 (Const::bitsCardinality); - __m256i rest_bits_card_0 = _mm256_sub_epi32 (c_m, bits_cardinality_0); - __m256i rest_bits_card_1 = _mm256_sub_epi32 (c_m, bits_cardinality_1); - - __m256i region_lowerv_0 = _mm256_sllv_epi32 (sax_0, rest_bits_card_0); - __m256i region_lowerv_1 = _mm256_sllv_epi32 (sax_1, rest_bits_card_1); - - - __m256i v1= _mm256_set1_epi32 ((int)0x7f800000); - - __m256i region_upperv_0 = _mm256_sllv_epi32 (v1, rest_bits_card_0); - __m256i region_upperv_1 = _mm256_sllv_epi32 (v1, rest_bits_card_1); - region_upperv_0 = _mm256_andnot_si256 (region_upperv_0, vectorsignbit); - region_upperv_1 = _mm256_andnot_si256 (region_upperv_1, vectorsignbit); - - region_upperv_0 = _mm256_or_si256 (region_upperv_0, region_lowerv_0); - - region_upperv_1 = _mm256_or_si256 (region_upperv_1, region_lowerv_1); - - region_lowerv_0 = _mm256_add_epi32 (region_lowerv_0, vloweroffset); - region_lowerv_1 = _mm256_add_epi32 (region_lowerv_1, vloweroffset); - region_upperv_0 = _mm256_add_epi32 (region_upperv_0, vupperoffset); - region_upperv_1 = _mm256_add_epi32 (region_upperv_1, vupperoffset); - _mm256_storeu_si256 ((__m256i_u*)&(region_lower[0]),region_lowerv_0); - _mm256_storeu_si256 ((__m256i_u*)&(region_lower[8]),region_lowerv_1); - _mm256_storeu_si256 ((__m256i_u*)&(region_upper[0]),region_upperv_0); - _mm256_storeu_si256 ((__m256i_u*)&(region_upper[8]),region_upperv_1); - - - //lower - - __m256i lower_juge_zerov_0 = _mm256_cmpeq_epi32 (region_lowerv_0, _mm256_setzero_si256 ()); - __m256i lower_juge_zerov_1 = _mm256_cmpeq_epi32 (region_lowerv_1, _mm256_setzero_si256 ()); - - __m256i lower_juge_nzerov_0 = _mm256_andnot_si256 (lower_juge_zerov_0, vectorsignbit); - __m256i lower_juge_nzerov_1 = _mm256_andnot_si256 (lower_juge_zerov_1, vectorsignbit); - - __m256 minvalv = _mm256_set1_ps (-1000); - - __m256 lsax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_0, 4); - __m256 lsax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_1, 4); - - - __m256 breakpoint_lowerv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_0,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_0,(__m256i)lsax_breakpoints_shiftv_0)); - __m256 breakpoint_lowerv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_1,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_1,(__m256i)lsax_breakpoints_shiftv_1)); - - //upper - __m256 usax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_upperv_0, 4); - __m256 usax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_upperv_1, 4); - - __m256i upper_juge_maxv_0 = _mm256_cmpeq_epi32 (region_upperv_0, _mm256_set1_epi32 (Const::bitsCardinality - 1)); - __m256i upper_juge_maxv_1 = _mm256_cmpeq_epi32 (region_upperv_1, _mm256_set1_epi32 (Const::bitsCardinality - 1)); - - __m256i upper_juge_nmaxv_0 = _mm256_andnot_si256 (upper_juge_maxv_0, vectorsignbit); - __m256i upper_juge_nmaxv_1 = _mm256_andnot_si256 (upper_juge_maxv_1, vectorsignbit); - - __m256 breakpoint_upperv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_0,(__m256i)_mm256_set1_ps (1000)),_mm256_and_si256(upper_juge_nmaxv_0,(__m256i)usax_breakpoints_shiftv_0)); - __m256 breakpoint_upperv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_1,(__m256i)_mm256_set1_ps (1000)),_mm256_and_si256(upper_juge_nmaxv_1,(__m256i)usax_breakpoints_shiftv_1)); - - //dis - __m256 paav_0,paav_1; - - - - paav_0 =_mm256_loadu_ps (paa); - paav_1 =_mm256_loadu_ps (&(paa[8])); - - __m256 dis_juge_upv_0=_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_GT_OS); - __m256 dis_juge_upv_1=_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_GT_OS); - - __m256 dis_juge_lov_0=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_0, paav_0, _CMP_LT_OS)) ; - __m256 dis_juge_lov_1=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_1, paav_1, _CMP_LT_OS)); - - __m256 dis_juge_elv_0=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_0, (__m256i)dis_juge_lov_0),vectorsignbit); - __m256 dis_juge_elv_1=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_1, (__m256i)dis_juge_lov_1),vectorsignbit); - - __m256 dis_lowv_0 =_mm256_sub_ps (breakpoint_lowerv_0, paav_0); - __m256 dis_lowv_1 =_mm256_sub_ps (breakpoint_lowerv_1, paav_1); - __m256 dis_uppv_0 =_mm256_sub_ps (breakpoint_upperv_0, paav_0); - __m256 dis_uppv_1 =_mm256_sub_ps (breakpoint_upperv_1, paav_1); - - - __m256 distancev_0=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_0,(__m256i)dis_lowv_0),_mm256_and_si256((__m256i)dis_juge_lov_0,(__m256i)dis_uppv_0)),_mm256_and_si256((__m256i)dis_juge_elv_0,(__m256i)_mm256_set1_ps (0.0))); - __m256 distancev_1=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_1,(__m256i)dis_lowv_1),_mm256_and_si256((__m256i)dis_juge_lov_1,(__m256i)dis_uppv_1)),_mm256_and_si256((__m256i)dis_juge_elv_1,(__m256i)_mm256_set1_ps (0.0))); - - - __m256 distancesum_0 = _mm256_dp_ps (distancev_0, distancev_0, 0xff); - __m256 distancesum_1 = _mm256_dp_ps (distancev_1, distancev_1, 0xff); - __m256 distancevf = _mm256_add_ps (distancesum_0, distancesum_1); - - _mm256_storeu_ps (distancef ,distancevf); - - double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w - - return (distancef[0]+distancef[4])*frontCoef ; -} - -double SaxUtil::LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality, vector&chosen_segs, int new_id) { - unsigned char bits_cardinality_short[16] __attribute__((aligned(32))); - unsigned char sax_short[16] __attribute__((aligned(32))); - int cur = chosen_segs.size() - 1; - - for(int i = Const::segmentNum - 1; i >= 0; --i){ - if(cur >=0 && chosen_segs[cur] == i){ - sax_short[i] = (sax[i] << 1) + (new_id % 2); - new_id >>= 1; - bits_cardinality_short[i] = bits_cardinality[i] + 1; - --cur; - } else { - sax_short[i] = sax[i]; - bits_cardinality_short[i] = bits_cardinality[i]; - } - } - return LowerBound_Paa_iSax_SIMD(paa, sax_short, bits_cardinality_short); -} - -double SaxUtil::LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality) { - unsigned char bits_cardinality_short[16] __attribute__((aligned(32))); - unsigned char sax_short[16] __attribute__((aligned(32))); - for(int i = 0; i< 16; ++i){ - sax_short[i] = sax[i]; - bits_cardinality_short[i] = bits_cardinality[i]; - } - return minidist_paa_to_isax_rawa_SIMD(paa, sax_short, bits_cardinality_short); -} - -double SaxUtil::minidist_paa_to_isax_rawa_SIMD(const float *paa, unsigned char*sax, unsigned char*sax_cardinalities){ - int region_upper[16],region_lower[16]; - float distancef[16]; - int offset = Const::offset; - - __m256i vectorsignbit = _mm256_set1_epi32 (0xffffffff); - __m256i vloweroffset = _mm256_set1_epi32 (offset-1); - __m256i vupperoffset = _mm256_set1_epi32 (offset); - - //__m256i c_cv_0 = _mm256_set_epi32 ( sax_cardinalities[7] , sax_cardinalities[6] ,sax_cardinalities[5] ,sax_cardinalities[4] , sax_cardinalities[3] ,sax_cardinalities[2] ,sax_cardinalities[1],sax_cardinalities[0]); - //__m256i c_cv_1 = _mm256_set_epi32 ( sax_cardinalities[15], sax_cardinalities[14],sax_cardinalities[13],sax_cardinalities[12], sax_cardinalities[11],sax_cardinalities[10],sax_cardinalities[9],sax_cardinalities[8]); - __m128i sax_cardinalitiesv8 = _mm_lddqu_si128 ((const __m128i*)sax_cardinalities); - __m256i sax_cardinalitiesv16= _mm256_cvtepu8_epi16 (sax_cardinalitiesv8); - __m128i sax_cardinalitiesv16_0=_mm256_extractf128_si256 (sax_cardinalitiesv16,0); - __m128i sax_cardinalitiesv16_1=_mm256_extractf128_si256 (sax_cardinalitiesv16,1); - __m256i c_cv_0 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_0); - __m256i c_cv_1 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_1); - - //__m256i v_0 = _mm256_set_epi32 (sax[7],sax[6],sax[5],sax[4],sax[3],sax[2],sax[1],sax[0]); - //__m256i v_1 = _mm256_set_epi32 (sax[15],sax[14],sax[13],sax[12],sax[11],sax[10],sax[9],sax[8]); - __m128i saxv8= _mm_lddqu_si128 ((const __m128i*)sax); - __m256i saxv16= _mm256_cvtepu8_epi16 (saxv8); - __m128i saxv16_0 =_mm256_extractf128_si256 (saxv16,0); - __m128i saxv16_1=_mm256_extractf128_si256 (saxv16,1); - __m256i v_0= _mm256_cvtepu16_epi32 (saxv16_0); - __m256i v_1 = _mm256_cvtepu16_epi32 (saxv16_1); - - - __m256i c_m = _mm256_set1_epi32 (Const::bitsCardinality); - __m256i cm_ccv_0 = _mm256_sub_epi32 (c_m, c_cv_0); - __m256i cm_ccv_1 = _mm256_sub_epi32 (c_m, c_cv_1); - - //__m256i _mm256_set_epi32 (int e7, int e6, int e5, int e4, int e3, int e2, int e1, int e0) - // __m256i _mm256_set1_epi32 (int a) - __m256i region_lowerv_0 = _mm256_srlv_epi32 (v_0, cm_ccv_0); - __m256i region_lowerv_1 = _mm256_srlv_epi32 (v_1, cm_ccv_1); - region_lowerv_0 = _mm256_sllv_epi32 (region_lowerv_0, cm_ccv_0); - region_lowerv_1 = _mm256_sllv_epi32 (region_lowerv_1, cm_ccv_1); - - - __m256i v1= _mm256_andnot_si256 (_mm256_setzero_si256 (), vectorsignbit); - - __m256i region_upperv_0 = _mm256_sllv_epi32 (v1,cm_ccv_0); - __m256i region_upperv_1 = _mm256_sllv_epi32 (v1,cm_ccv_1); - region_upperv_0 = _mm256_andnot_si256 (region_upperv_0, vectorsignbit); - region_upperv_1 = _mm256_andnot_si256 (region_upperv_1, vectorsignbit); - - region_upperv_0 = _mm256_or_si256 (region_upperv_0, region_lowerv_0); - - region_upperv_1 = _mm256_or_si256 (region_upperv_1, region_lowerv_1); - - region_lowerv_0 = _mm256_add_epi32 (region_lowerv_0, vloweroffset); - region_lowerv_1 = _mm256_add_epi32 (region_lowerv_1, vloweroffset); - region_upperv_0 = _mm256_add_epi32 (region_upperv_0, vupperoffset); - region_upperv_1 = _mm256_add_epi32 (region_upperv_1, vupperoffset); - _mm256_storeu_si256 ((__m256i_u*)&(region_lower[0]),region_lowerv_0); - _mm256_storeu_si256 ((__m256i_u*)&(region_lower[8]),region_lowerv_1); - _mm256_storeu_si256 ((__m256i_u*)&(region_upper[0]),region_upperv_0); - _mm256_storeu_si256 ((__m256i_u*)&(region_upper[8]),region_upperv_1); - - - //lower - - __m256i lower_juge_zerov_0 = _mm256_cmpeq_epi32 (region_lowerv_0, _mm256_setzero_si256 ()); - __m256i lower_juge_zerov_1 = _mm256_cmpeq_epi32 (region_lowerv_1, _mm256_setzero_si256 ()); - - __m256i lower_juge_nzerov_0 = _mm256_andnot_si256 (lower_juge_zerov_0, vectorsignbit); - __m256i lower_juge_nzerov_1 = _mm256_andnot_si256 (lower_juge_zerov_1, vectorsignbit); - - __m256 minvalv = _mm256_set1_ps (-999999); - - - - - __m256 lsax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_0, 4); - //__m256 lsax_breakpoints_shiftv_0= _mm256_set_ps (sax_breakpoints[region_lower[7]], - //sax_breakpoints[region_lower[6]], - //sax_breakpoints[region_lower[5]], - //sax_breakpoints[region_lower[4]], - //sax_breakpoints[region_lower[3]], - //sax_breakpoints[region_lower[2]], - //sax_breakpoints[region_lower[1]], - //sax_breakpoints[region_lower[0]]); - __m256 lsax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_1, 4); - //__m256 lsax_breakpoints_shiftv_1= _mm256_set_ps (sax_breakpoints[region_lower[15]], - //sax_breakpoints[region_lower[14]], - //sax_breakpoints[region_lower[13]], - //sax_breakpoints[region_lower[12]], - //sax_breakpoints[region_lower[11]], - //sax_breakpoints[region_lower[10]], - //sax_breakpoints[region_lower[9]], - //sax_breakpoints[region_lower[8]]); - - - __m256 breakpoint_lowerv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_0,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_0,(__m256i)lsax_breakpoints_shiftv_0)); - __m256 breakpoint_lowerv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_1,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_1,(__m256i)lsax_breakpoints_shiftv_1)); - - //uper - __m256 usax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_upperv_0, 4); - //__m256 usax_breakpoints_shiftv_0= _mm256_set_ps (sax_breakpoints[region_upper[7]], - //sax_breakpoints[region_upper[6]], - //sax_breakpoints[region_upper[5]], - //sax_breakpoints[region_upper[4]], - //sax_breakpoints[region_upper[3]], - //sax_breakpoints[region_upper[2]], - //sax_breakpoints[region_upper[1]], - //sax_breakpoints[region_upper[0]]); - __m256 usax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_upperv_1, 4); - //__m256 usax_breakpoints_shiftv_1= _mm256_set_ps (sax_breakpoints[region_upper[15]], - //sax_breakpoints[region_upper[14]], - //sax_breakpoints[region_upper[13]], - //sax_breakpoints[region_upper[12]], - //sax_breakpoints[region_upper[11]], - //sax_breakpoints[region_upper[10]], - //sax_breakpoints[region_upper[9]], - //sax_breakpoints[region_upper[8]]); - - - __m256i upper_juge_maxv_0 = _mm256_cmpeq_epi32 (region_upperv_0, _mm256_set1_epi32 (Const::bitsCardinality - 1)); - __m256i upper_juge_maxv_1 = _mm256_cmpeq_epi32 (region_upperv_1, _mm256_set1_epi32 (Const::bitsCardinality - 1)); - - __m256i upper_juge_nmaxv_0 = _mm256_andnot_si256 (upper_juge_maxv_0, vectorsignbit); - __m256i upper_juge_nmaxv_1 = _mm256_andnot_si256 (upper_juge_maxv_1, vectorsignbit); - - __m256 breakpoint_upperv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_0,(__m256i)_mm256_set1_ps (99999)),_mm256_and_si256(upper_juge_nmaxv_0,(__m256i)usax_breakpoints_shiftv_0)); - __m256 breakpoint_upperv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_1,(__m256i)_mm256_set1_ps (99999)),_mm256_and_si256(upper_juge_nmaxv_1,(__m256i)usax_breakpoints_shiftv_1)); - - //dis - __m256 paav_0,paav_1; - - paav_0 =_mm256_loadu_ps (paa); - paav_1 =_mm256_loadu_ps (&(paa[8])); - - __m256 dis_juge_upv_0=_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_GT_OS); - __m256 dis_juge_upv_1=_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_GT_OS); - - __m256 dis_juge_lov_0=_mm256_cmp_ps (breakpoint_upperv_0, paav_0, _CMP_LT_OS); - __m256 dis_juge_lov_1=_mm256_cmp_ps (breakpoint_upperv_1, paav_1, _CMP_LT_OS); - - - // __m256 dis_juge_lov_0=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_0, paav_0, _CMP_LT_OS)) ; - // __m256 dis_juge_lov_1=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_1, paav_1, _CMP_LT_OS)); - - __m256 dis_juge_elv_0=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_0, (__m256i)dis_juge_lov_0),vectorsignbit); - __m256 dis_juge_elv_1=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_1, (__m256i)dis_juge_lov_1),vectorsignbit); - - __m256 dis_lowv_0 =_mm256_sub_ps (breakpoint_lowerv_0, paav_0); - __m256 dis_lowv_1 =_mm256_sub_ps (breakpoint_lowerv_1, paav_1); - __m256 dis_uppv_0 =_mm256_sub_ps (breakpoint_upperv_0, paav_0); - __m256 dis_uppv_1 =_mm256_sub_ps (breakpoint_upperv_1, paav_1); - - - __m256 distancev_0=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_0,(__m256i)dis_lowv_0),_mm256_and_si256((__m256i)dis_juge_lov_0,(__m256i)dis_uppv_0)),_mm256_and_si256((__m256i)dis_juge_elv_0,(__m256i)_mm256_set1_ps (0.0))); - __m256 distancev_1=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_1,(__m256i)dis_lowv_1),_mm256_and_si256((__m256i)dis_juge_lov_1,(__m256i)dis_uppv_1)),_mm256_and_si256((__m256i)dis_juge_elv_1,(__m256i)_mm256_set1_ps (0.0))); - - - __m256 distancesum_0 = _mm256_dp_ps (distancev_0, distancev_0, 0xff); - __m256 distancesum_1 = _mm256_dp_ps (distancev_1, distancev_1, 0xff); - __m256 distancevf = _mm256_add_ps (distancesum_0, distancesum_1); - //__m256 distancev2 = _mm256_hadd_ps (distancev, distancev); - //__m256 distancevf = _mm256_hadd_ps (distancev2, distancev2); - //__m256 _mm256_dp_ps (__m256 a, __m256 b, const int imm8); - - _mm256_storeu_ps (distancef ,distancevf); - //_mm256_storeu_ps (&checkvalue[8] ,distancev_1); - - double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w - - return (distancef[0]+distancef[4])*frontCoef ; -} - -double SaxUtil::getMinDist1stLayer(const float *paa, int id){ - double ret = 0; - double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w - for(int i=Const::segmentNum-1;i>=0;--i){ - if(id %2 == 1){ - if(paa[i] <0) - ret += (paa[i] * paa[i]); - }else{ - if(paa[i] > 0) - ret += (paa[i] * paa[i]); - } - id >>=1; - } - return frontCoef * ret; -} - -//double SaxUtil::LowerBound_Paa_iSax(const double *paa, const int *sax, const int* bits_cardinality) { -// double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w -// double paaValue, lb, ub; -// double sum = 0; -// -// for (int i = 0; i < Const::segmentNum; i++) { -// paaValue = paa[i]; -// if(bits_cardinality[i] == 0) continue; -// getValueRange(sax[i], bits_cardinality[i], &lb, &ub); -// -// if(paaValue < lb){ -// sum += (lb - paaValue) * (lb - paaValue); -// } -// else if(paaValue > ub){ -// sum += (paaValue - ub) * (paaValue - ub); -// } -// } // for -// -// return frontCoef * sum; -//} - -double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int* bits_cardinality) { - double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w - double paaValue, lb, ub; - double sum = 0; - - for (int i = 0; i < Const::segmentNum; i++) { - paaValue = paa[i]; - if(bits_cardinality[i] == 0) continue; - getValueRange(sax[i], bits_cardinality[i], &lb, &ub); - - if(paaValue < lb){ - sum += (lb - paaValue) * (lb - paaValue); - } - else if(paaValue > ub){ - sum += (paaValue - ub) * (paaValue - ub); - } - } // for - - return frontCoef * sum; -} - -double SaxUtil::minidist_paa_to_isax_DTW(const double *paaU, const double *paaL , const unsigned short *sax, - const int*sax_cardinalities) -{ - - double distance = 0; - double breakpoint_lower, breakpoint_upper; - // For each sax record find the break point - int i; - for (i=0; i paaU[i]) { - distance += ((breakpoint_lower - paaU[i]) * (breakpoint_lower - paaU[i])); - } - else if(breakpoint_upper < paaL[i]) { - distance += ((breakpoint_upper - paaL[i]) * (breakpoint_upper - paaL[i])); - } - // else { - // printf("%lf is between: %lf and %lf\n", paa[i], breakpoint_lower, breakpoint_upper); - // } - } - - //distance = ratio_sqrt * sqrtf(distance); - distance = Const::tsLengthPerSegment * distance; - return distance; -} - -double SaxUtil::minidist_paa_to_isax_DTW(const double *paaU, const double *paaL , const unsigned short *sax, - int bitsCardinality) -{ - - double distance = 0; - double breakpoint_lower, breakpoint_upper; - // For each sax record find the break point - int i; - for (i=0; i paaU[i]) { - distance += ((breakpoint_lower - paaU[i]) * (breakpoint_lower - paaU[i])); - } - else if(breakpoint_upper < paaL[i]) { - distance += ((breakpoint_upper - paaL[i]) * (breakpoint_upper - paaL[i])); - } - // else { - // printf("%lf is between: %lf and %lf\n", paa[i], breakpoint_lower, breakpoint_upper); - // } - } - - //distance = ratio_sqrt * sqrtf(distance); - distance = Const::tsLengthPerSegment * distance; - return distance; -} - -void SaxUtil::getValueRange(int sax_single, int bits_cardinality, double *lb, double *ub){ - int cardinality = 1 << bits_cardinality; - int offset = ((cardinality - 1) * (cardinality - 2)) / 2; - if(sax_single == 0){ - *lb = -numeric_limits::max(); - *ub = breakpoints[offset]; - }else if(sax_single == cardinality - 1){ - *lb = breakpoints[offset + sax_single - 1]; - *ub = numeric_limits::max(); - }else{ - *lb = breakpoints[offset + sax_single - 1]; - *ub = breakpoints[offset + sax_single]; - } -} - -// return the new id -int SaxUtil::extendSax(float *paa, const int *bits_cardinality, vector &segments) { - int res = 0, cardinality, sw, offset; - for(int segment:segments){ - cardinality = 1 << (bits_cardinality[segment] + 1); - offset = ((cardinality - 1) * (cardinality - 2)) / 2; - int index = findFirstGE(breakpoints, offset, cardinality -1, paa[segment]); - if(index >= 0) - sw = (index - offset); - else - cout<<"ERROR!!!!!!!"; - res = (res << 1) + (sw % 2); - } - return res; -} - -// return the new id -int SaxUtil::extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments) { - int res = 0, sw; - for(int segment:segments){ - sw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment] - 1); - res = (res << 1) + (sw % 2); - } - return res; -} - -// return the new id -int SaxUtil::extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments, - const unsigned short *parent_sax) { - int res = 0, sw; - for(int segment:segments){ - sw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment] - 1); - if((sw >> 1) == parent_sax[segment]) res = (res << 1) + (sw % 2); - else if((sw >> 1) > parent_sax[segment]) res = (res << 1) + 1; - else res <<= 1; - } - return res; -} - -// return the new id -int SaxUtil::extendSax(const unsigned short *sax, const int *bits_cardinality) { - int res = 0, sw; - for(int segment = 0;segment < Const::segmentNum; ++segment){ - sw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment] - 1); - res = (res << 1) + (sw % 2); - } - return res; -} - -void SaxUtil::extendSax(const unsigned short * parent_sax, const int*parent_bits_cardinality, - vector &chosen_segs, int new_id, - unsigned short* sax, int *bits_cardinality) { - int cur = chosen_segs.size() - 1; - - for (int i = Const::segmentNum - 1; i >= 0; --i) { - if (cur >= 0 && chosen_segs[cur] == i) { - sax[i] = (parent_sax[i] << 1) + (new_id % 2); - new_id >>= 1; - bits_cardinality[i] = parent_bits_cardinality[i] + 1; - --cur; - } else { - sax[i] = parent_sax[i]; - bits_cardinality[i] = parent_bits_cardinality[i]; - } - } -} - -int SaxUtil::getNewId(const float *paa, const float *split_line){ - int ret = 0; - for(int i=0;i split_line[i]) ret += 1; - } - return ret; -} - -int SaxUtil::getNewId(const float *paa, const float *split_line, vector&segments){ - int ret = 0; - for(int i:segments){ - ret <<= 1; - if(paa[i] > split_line[i]) ret += 1; - } - return ret; -} - -void SaxUtil::saxPrint(int* sax, int bits_cardinality, int segment_num) -{ - int i; - for (i=0; i < segment_num; i++) { - cout<(y)?(x):(y)) -#define dist(x,y) (((x)-(y))*((x)-(y))) -void init(dequeue *d, int capacity) -{ - d->capacity = capacity; - d->size = 0; - d->dq = (int *) malloc(sizeof(int)*d->capacity); - d->f = 0; - d->r = d->capacity-1; -} - -/// Insert to the queue at the back -void push_back(struct dequeue *d, int v) -{ - d->dq[d->r] = v; - d->r--; - if (d->r < 0) - d->r = d->capacity-1; - d->size++; -} - -/// Delete the current (front) element from queue -void pop_front(struct dequeue *d) -{ - d->f--; - if (d->f < 0) - d->f = d->capacity-1; - d->size--; -} - -/// Delete the last element from queue -void pop_back(struct dequeue *d) -{ - d->r = (d->r+1)%d->capacity; - d->size--; -} - -/// Get the value at the current position of the circular queue -int front(struct dequeue *d) -{ - int aux = d->f - 1; - - if (aux < 0) - aux = d->capacity-1; - return d->dq[aux]; -} - -/// Get the value at the last position of the circular queueint back(struct dequeue *d) -int back(struct dequeue *d) -{ - int aux = (d->r+1)%d->capacity; - return d->dq[aux]; -} - -/// Check whether or not the queue is empty -int empty(struct dequeue *d) -{ - return d->size == 0; -} - -/// Destroy the queue -void destroy(dequeue *d) -{ - free(d->dq); -} - -void SaxUtil::lower_upper_lemire(const float *t, int len, int r, float *l, float *u) -{ - dequeue du, dl; - - init(&du, 2*r+2); - init(&dl, 2*r+2); - - push_back(&du, 0); - push_back(&dl, 0); - int i; - - for (i = 1; i < len; i++) - { - if (i > r) - { - u[i-r-1] = t[front(&du)]; - l[i-r-1] = t[front(&dl)]; - } - if (t[i] > t[i-1]) - { - pop_back(&du); - while (!empty(&du) && t[i] > t[back(&du)]) - pop_back(&du); - } - else - { - pop_back(&dl); - while (!empty(&dl) && t[i] < t[back(&dl)]) - pop_back(&dl); - } - push_back(&du, i); - push_back(&dl, i); - if (i == 2 * r + 1 + front(&du)) - pop_front(&du); - else if (i == 2 * r + 1 + front(&dl)) - pop_front(&dl); - } - for (i= len; i < len+r+1; i++) - { - u[i-r-1] = t[front(&du)]; - l[i-r-1] = t[front(&dl)]; - if (i-front(&du) >= 2 * r + 1) - pop_front(&du); - if (i-front(&dl) >= 2 * r + 1) - pop_front(&dl); - } - destroy(&du); - destroy(&dl); - +// +// Created by wzy on 2021/8/7. +// + +#include "../../include/Utils/SaxUtil.h" +#include "../../include/Utils/FileUtil.h" +#include "../../include/DataStructures/TimeSeries.h" +#include +#include +#include +#include +#include +#include +using namespace std; + +std::string SaxUtil::breakpointsFile = "../breakpoints.txt"; +std::string SaxUtil::SEPARATOR = " |\t|\n|,"; +double *SaxUtil::bp8 = new double[256]{-2.660067468617458,-2.4175590162365035,-2.2662268092096522,-2.1538746940614573,-2.063527898316245,-1.9874278859298962,-1.921350774293703,-1.8627318674216515,-1.8098922384806087,-1.7616704103630665,-1.7172281175057411,-1.6759397227734438,-1.637325382768064,-1.601008664886076,-1.5666885860684134,-1.534120544352546,-1.5031029431292737,-1.4734675779471014,-1.4450725798180746,-1.4177971379962677,-1.3915374879959008,-1.3662038163720984,-1.341717841080254,-1.318010897303537,-1.2950224067058147,-1.2726986411905359,-1.2509917154625454,-1.229858759216589,-1.209261231709155,-1.189164350199337,-1.169536610207143,-1.1503493803760083,-1.131576558386188,-1.113194277160929,-1.0951806527613883,-1.0775155670402805,-1.0601804794353549,-1.0431582633184537,-1.0264330631379108,-1.0099901692495823,-0.993815907860883,-0.9778975439405418,-0.9622231952954206,-0.946781756301046,-0.9315628300071148,-0.9165566675331128,-0.9017541138301002,-0.8871465590188762,-0.8727258946270402,-0.858484474141832,-0.8444150773752572,-0.8305108782053992,-0.8167654153150912,-0.8031725655979178,-0.7897265199432658,-0.7764217611479275,-0.7632530437325706,-0.7502153754679404,-0.7373040004386545,-0.7245143834923653,-0.711842195939419,-0.69928330238322,-0.6868337485747303,-0.6744897501960819,-0.6622476824884141,-0.6501040706479954,-0.6380555809225171,-0.6260990123464211,-0.6142312890602454,-0.6024494531644237,-0.5907506580628189,-0.5791321622555561,-0.5675913235445692,-0.5561255936186916,-0.5447325129881759,-0.5334097062412806,-0.5221548775980015,-0.5109658067382474,-0.4998403448837353,-0.4887764111146696,-0.4777719889038861,-0.46682512285258965,-0.4559339156131388,-0.44509652498551644,-0.4343111611752096,-0.42357608420119974,-0.41288960144365433,-0.40225006532172536,-0.3916558710925915,-0.3811054547635565,-0.3705972911096293,-0.36012989178956945,-0.3497018035538953,-0.3393116065388173,-0.3289579126404911,-0.31863936396437526,-0.30835463134483726,-0.2981024129304869,-0.2878814328310118,-0.27769043982157676,-0.2675282061010972,-0.25739352610093835,-0.24728521534080486,-0.2372021093287877,-0.22714306250271535,-0.2171069472101298,-0.2070926527243603,-0.19709908429431236,-0.18712516222572084,-0.17716982099173986,-0.16723200837085014,-0.15731068461017073,-0.14740482161235488,-0.13751340214433597,-0.12763541906627035,-0.11776987457909531,-0.10791577948918657,-0.0980721524886611,-0.08823801944992447,-0.07841241273311222,-0.06859437050511813,-0.05878293606894307,-0.04897715720213194,-0.03917608550309764,-0.02937877574415705,-0.019584285230126924,-0.009791673161345348,0.0,0.009791673161345348,0.019584285230126924,0.02937877574415705,0.03917608550309764,0.04897715720213194,0.05878293606894307,0.06859437050511813,0.07841241273311222,0.08823801944992447,0.0980721524886611,0.10791577948918657,0.11776987457909531,0.12763541906627035,0.13751340214433597,0.14740482161235488,0.15731068461017073,0.16723200837085014,0.17716982099173986,0.18712516222572084,0.19709908429431236,0.2070926527243603,0.2171069472101298,0.22714306250271535,0.2372021093287877,0.24728521534080486,0.25739352610093835,0.2675282061010972,0.27769043982157676,0.2878814328310118,0.2981024129304869,0.30835463134483726,0.31863936396437526,0.3289579126404911,0.3393116065388173,0.3497018035538953,0.36012989178956945,0.3705972911096293,0.3811054547635565,0.3916558710925915,0.40225006532172536,0.41288960144365433,0.42357608420119974,0.4343111611752096,0.44509652498551644,0.4559339156131388,0.46682512285258965,0.4777719889038861,0.4887764111146696,0.4998403448837353,0.5109658067382474,0.5221548775980015,0.5334097062412806,0.5447325129881759,0.5561255936186916,0.5675913235445692,0.5791321622555561,0.5907506580628189,0.6024494531644237,0.6142312890602454,0.6260990123464211,0.6380555809225171,0.6501040706479954,0.6622476824884141,0.6744897501960819,0.6868337485747303,0.69928330238322,0.711842195939419,0.7245143834923653,0.7373040004386545,0.7502153754679404,0.7632530437325706,0.7764217611479275,0.7897265199432658,0.8031725655979178,0.8167654153150912,0.8305108782053992,0.8444150773752572,0.858484474141832,0.8727258946270402,0.8871465590188762,0.9017541138301002,0.9165566675331128,0.9315628300071148,0.946781756301046,0.9622231952954206,0.9778975439405418,0.993815907860883,1.0099901692495823,1.0264330631379108,1.0431582633184537,1.0601804794353549,1.0775155670402805,1.0951806527613883,1.113194277160929,1.131576558386188,1.1503493803760083,1.169536610207143,1.189164350199337,1.209261231709155,1.229858759216589,1.2509917154625454,1.2726986411905359,1.2950224067058147,1.318010897303537,1.341717841080254,1.3662038163720984,1.3915374879959008,1.4177971379962677,1.4450725798180746,1.4734675779471014,1.5031029431292737,1.534120544352546,1.5666885860684134,1.601008664886076,1.637325382768064,1.6759397227734438,1.7172281175057411,1.7616704103630665,1.8098922384806087,1.8627318674216515,1.921350774293703,1.9874278859298962,2.063527898316245,2.1538746940614573,2.2662268092096522,2.4175590162365035,2.660067468617458, numeric_limits::max()}; +double* SaxUtil::breakpoints = readDoubleFromFileAtOnce(SaxUtil::breakpointsFile); +float* SaxUtil::breakpoints_f = readFloatFromFileAtOnce(SaxUtil::breakpointsFile); + +std::vector split(std::string& str, std::string pattern) +{ + std::string::size_type pos; + std::vector result; + str += pattern; + int size = str.size(); + for (int i = 0; i < size; i++) + { + pos = str.find(pattern, i); + if (pos < size) + { + std::string s = str.substr(i, pos - i); + result.push_back(s); + i = pos + pattern.size() - 1; + } + } + return result; +} + + +double* SaxUtil::readFromstring(string str) { + vector strings = split(str, ","); + double* ret = new double[strings.size()]; + + for (int i = 0; i < strings.size(); i++) { + string s = strings[i]; + string::size_type size_type; + if (s.length() > 0) + ret[i] = stod(s, &size_type); + } + + return ret; +} + +float* SaxUtil::readFromstringFloat(string str) { + vector strings = split(str, ","); + auto* ret = new float[strings.size()]; + + for (int i = 0; i < strings.size(); i++) { + string s = strings[i]; + string::size_type size_type; + if (s.length() > 0) + ret[i] = stof(s, &size_type); + } + + return ret; +} + +double* SaxUtil::readDoubleFromFileAtOnce(const string& fileName){ + + string line; + std::ifstream fin(fileName); + getline(fin, line); + + auto ret = readFromstring(line); + fin.close(); + return ret; +} + +float* SaxUtil::readFloatFromFileAtOnce(const string& fileName){ + + string line; + std::ifstream fin(fileName); + getline(fin, line); + + auto ret = readFromstringFloat(line); + return ret; +} + +void SaxUtil::id2Sax(int id, int*sax, int segment_num){ + for(int i=0;i> 1; + sax[segment_num - i - 1] = (temp + temp == id) ? 0 : 1; + id = temp; + } +} + +void SaxUtil::id2Sax2(int id, unsigned short *sax, int segment_num){ + for(int i=0;i> 1; + sax[segment_num - i - 1] = (sax[segment_num - i - 1] << 1) + ((temp + temp == id) ? 0 : 1); + id = temp; + } +} + +double * SaxUtil::paaFromTs(const float* ts, int tsLengthPerSegment, int segmentNum){ + // Create PAA representation + auto* paa = new double [segmentNum]; + + int s, i; + for (s=0; s= 0) + sax[s] = (index - offset); + else + cout<<"ERROR!!!!!!!"; + } +} + +vector * SaxUtil::saxFromTs(float*ts, int tsLengthPerSegment, int segmentNum, int cardinality) +{ + // Create PAA representation + double * paa = paaFromTs(ts, tsLengthPerSegment, segmentNum); + + // Convert PAA to SAX + // Note: Each cardinality has cardinality - 1 break points if c is cardinality + // the breakpoints can be found in the following array positions: + // FROM (c - 1) * (c - 2) / 2 + // TO (c - 1) * (c - 2) / 2 + c - 1 + int offset = ((cardinality - 1) * (cardinality - 2)) / 2; + //printf("FROM %lf TO %lf\n", sax_breakpoints[offset], sax_breakpoints[offset + cardinality - 2]); + + auto*sax = new vector(segmentNum); +// int* sax = new int[segmentNum]; + int si; + for (si=0; si= 0) + (*sax)[si] = (index - offset); + else + cout<<"ERROR!!!!!!!"; + + } + + delete[] paa; + //sax_print(sax_out, segments, cardinality); + return sax; +} + +void SaxUtil::saxFromTs(const float*ts, unsigned short *sax, int tsLengthPerSegment, int segmentNum, int cardinality) +{ + // Create PAA representation + double paa[segmentNum]; + int s, i; + for (s=0; s= 0) + sax[si] = (index - offset); + else + cout<<"ERROR!!!!!!!"; + + } + //sax_print(sax_out, segments, cardinality); +} + +vector * SaxUtil::saxFromPaa(float *paa, int segmentNum, int cardinality) +{ + + // Convert PAA to SAX + // Note: Each cardinality has cardinality - 1 break points if c is cardinality + // the breakpoints can be found in the following array positions: + // FROM (c - 1) * (c - 2) / 2 + // TO (c - 1) * (c - 2) / 2 + c - 1 + int offset = ((cardinality - 1) * (cardinality - 2)) / 2; + //printf("FROM %lf TO %lf\n", sax_breakpoints[offset], sax_breakpoints[offset + cardinality - 2]); + + auto*sax = new vector(segmentNum); + // int* sax = new int[segmentNum]; + int si; + for (si=0; si= 0) + (*sax)[si] = (index - offset); + else + cout<<"ERROR!!!!!!!"; + + } + //sax_print(sax_out, segments, cardinality); + return sax; +} + +int SaxUtil::findFirstGE(const double* array, int start, int length, double target) // satisfy condition: array[?] >= target and the first one +{ + int end = start + length - 1; + while (start <= end) { + int mid = (start + end) / 2; + if (array[mid] < target) + start = mid + 1; + else if (array[mid] >= target) + end = mid - 1; + } + if (end == start + length - 1) + return -1; + return end + 1; + +} + +int SaxUtil::findFirstGE(const int* array, int start, int length, int target) // satisfy condition: array[?] >= target and the first one +{ + int end = start + length - 1; + while (start <= end) { + int mid = (start + end) / 2; + if (array[mid] < target) + start = mid + 1; + else if (array[mid] >= target) + end = mid - 1; + } + if (end == start + length - 1) + return -1; + return end + 1; + +} + +int* SaxUtil::invSaxFromSax(vector *sax, int bitsCardinality, int segmentNum) +{ + int j, i, segi, invj; + int* s = new int[bitsCardinality]; + long n; + //char sum[segments][cardinality];//=malloc(sizeof(char *) * (segments)); + + for (j=0; j < bitsCardinality; j++) + s[j] = 0; + + segi=0; + invj = segmentNum - 1; + + for (i=bitsCardinality-1; i>=0; i--) + { + for (j=0; j < segmentNum; j++) + { + n = (*sax)[j]; + n = n >> i; + + s[segi] |= (n % 2) << invj; + + invj--; + if(invj==-1) + { + segi++; + invj = segmentNum - 1; + } + } + } + return s; +} + +void SaxUtil::invSaxFromSax(vector *sax, unsigned *invSAX, int bitsCardinality, int segmentNum) +{ + int j, i, segi, invj; + long n; + //char sum[segments][cardinality];//=malloc(sizeof(char *) * (segments)); + + for (j=0; j < bitsCardinality; j++) + invSAX[j] = 0; + + segi=0; + invj = segmentNum - 1; + + for (i=bitsCardinality-1; i>=0; i--) + { + for (j=0; j < segmentNum; j++) + { + n = (*sax)[j]; + n = n >> i; + + invSAX[segi] |= (n % 2) << invj; + + invj--; + if(invj==-1) + { + segi++; + invj = segmentNum - 1; + } + } + } +} + +string SaxUtil::invSax2String(unsigned *invsax){ + string ret; + for(int i=0;i Const::bitsCardinality) break; + } + } + + return ret; +} + +unsigned short *SaxUtil::invSax2Sax(const unsigned *invsax, int unit_num) { + auto sax = new unsigned short[Const::segmentNum]; + for(int i=0;i=0;--j){ + unsigned tag = unit % 2; + unit >>= 1; + sax[j] = (sax[j] << 1) + tag; + } + } + return sax; +} + +string SaxUtil::invSaxHeadKFromInvSax(string invsax, int layer){ + string ret; + int cur = 0; + for(int i=0;i= layer){ + return invsax.substr(0, i + 1); + } + } + } + Const::logPrint("Error in extract prefixes of invsax."); + exit(-1); +} + +int SaxUtil::invSaxHeadFromSax(vector *sax, int bitsCardinality, int segmentNum) +{ + int i=bitsCardinality-1,s = 0,n; + for (int j=0; j < segmentNum; j++) + { + n = (*sax)[j]; + n >>= i; + s |= (n % 2) << (segmentNum - 1 - j); + } + return s; +} + +//int SaxUtil::invSaxHeadFromSax(const int *sax, int bitsCardinality, int segmentNum) +//{ +// int i=bitsCardinality-1,s = 0,n; +// for (int j=0; j < segmentNum; j++) +// { +// n = sax[j]; +// n >>= i; +// s |= (n % 2) << (segmentNum - 1 - j); +// } +// return s; +//} + +int SaxUtil::invSaxHeadFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum) +{ + int i=bitsCardinality-1,s = 0,n; + for (int j=0; j < segmentNum; j++) + { + n = sax[j]; + n >>= i; + s |= (n % 2) << (segmentNum - 1 - j); + } + return s; +} + +int SaxUtil::invSaxHead2FromSax(const int *sax, int bitsCardinality, int segmentNum) +{ + int i=bitsCardinality-2,s = 0,n; + for (int j=0; j < segmentNum; j++) + { + n = sax[j]; + n >>= i; + s |= (n % 2) << (segmentNum - 1 - j); + } + return s; +} + +int SaxUtil::invSaxHeadkFromSax(const unsigned short *sax, int bitsCardinality, int segmentNum, int k) +{ + int i=bitsCardinality-k,s = 0,n; + for (int j=0; j < segmentNum; j++) + { + n = sax[j]; + n >>= i; + s |= (n % 2) << (segmentNum - 1 - j); + } + return s; +} + +int SaxUtil::invSaxHead2FromSax(vector *sax, int bitsCardinality, int segmentNum) +{ + int i=bitsCardinality-2,s = 0,n; + for (int j=0; j < segmentNum; j++) + { + n = (*sax)[j]; + n >>= i; + s |= (n % 2) << (segmentNum - 1 - j); + } + return s; +} + +int SaxUtil::invSaxHeadFromTs(const float* ts, int tsLengthPerSegment, int segmentNum) { + // Create PAA representation + double paa_sim[segmentNum]; + + for (int s=0; s= 0) + res++; + } + + return res; +} + +int SaxUtil::invSaxHeadFromPaa(const float *paa, int tsLengthPerSegment, int segmentNum) { + int res = 0; + for (int s=0; s= 0) + res++; + } + return res; +} + +int SaxUtil::invSaxHead2FromTs(const float* ts, int tsLengthPerSegment, int segmentNum) { + double splits[]{-0.67448975019608193 * tsLengthPerSegment,0.67448975019608193 * tsLengthPerSegment}; + + // Create PAA representation + double paa_sim[segmentNum]; + + for (int s=0; ssplits[0] && paa_sim[s] <=0) || (paa_sim[s] > splits[1]) ) + res +=1; + } + + return res; +} + +double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax){ + double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w + int offset = Const::offset, cardinality = Const::cardinality; + double paaValue, lb, ub; + unsigned short saxValue; + double sum = 0; + + for (int i = 0; i < Const::segmentNum; i++) { + paaValue = paa[i]; + saxValue = sax[i]; + if(saxValue == 0){ + lb = -numeric_limits::max(); + ub = breakpoints[offset]; + } + else if(saxValue == cardinality - 1){ + lb = breakpoints[offset + cardinality - 2]; + ub = numeric_limits::max(); + } + else { + lb = breakpoints[offset + saxValue - 1]; + ub = breakpoints[offset + saxValue]; + } + + if(paaValue < lb){ + sum += (lb - paaValue) * (lb - paaValue); + } + else if(paaValue > ub){ + sum += (paaValue - ub) * (paaValue - ub); + } + } // for + + return frontCoef * sum; +} + +//double SaxUtil::LowerBound_Paa_iSax(const double* paa, const int *sax, const int* bits_cardinality, vector&chosen_segs, int new_id){ +// double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w +// double paaValue, lb, ub; +// double sum = 0; +// int saxValue, cur = chosen_segs.size() - 1, bc; +// +// for (int i = 0; i < Const::segmentNum; i++) { +// paaValue = paa[i]; +// if(chosen_segs[cur] == i){ +// saxValue = (sax[i] << 1) + (new_id % 2); +// new_id >>= 1; +// bc = bits_cardinality[i] + 1; +// } else { +// saxValue = sax[i]; +// bc = bits_cardinality[i]; +// } +// getValueRange(saxValue, bc, &lb, &ub); +// +// if(paaValue < lb){ +// sum += (lb - paaValue) * (lb - paaValue); +// } +// else if(paaValue > ub){ +// sum += (paaValue - ub) * (paaValue - ub); +// } +// } // for +// +// return frontCoef * sum; +//} + +double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int* bits_cardinality, vector&chosen_segs, int new_id){ + double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w + double paaValue, lb, ub; + double sum = 0; + int saxValue, cur = chosen_segs.size() - 1, bc; + + for (int i = Const::segmentNum-1; i >= 0; --i) { + paaValue = paa[i]; + if(cur >=0 && chosen_segs[cur] == i){ + saxValue = (sax[i] << 1) + (new_id % 2); + new_id >>= 1; + bc = bits_cardinality[i] + 1; + --cur; + } else { + saxValue = sax[i]; + bc = bits_cardinality[i]; + } + getValueRange(saxValue, bc, &lb, &ub); + + if(paaValue < lb){ + sum += (lb - paaValue) * (lb - paaValue); + } + else if(paaValue > ub){ + sum += (paaValue - ub) * (paaValue - ub); + } + } // for + + return frontCoef * sum; +} + +double SaxUtil::getMidLineFromSaxSymbolbc8(unsigned short symbol){ + double numer; + assert(symbol >=0 && symbol <=255); + if(symbol == 0) { + numer = SaxUtil::bp8[0] - (SaxUtil::bp8[1] - SaxUtil::bp8[0]); + } + else if(symbol == 255) { + numer = SaxUtil::bp8[254] + (SaxUtil::bp8[254] - SaxUtil::bp8[253]); + } + else { + numer = (SaxUtil::bp8[symbol - 1] + SaxUtil::bp8[symbol]) / 2.0; + } + return numer; +} + +double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, int bits_cardinality) { + double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w + long offset; int cardinality; + if(bits_cardinality == Const::bitsCardinality) + offset = Const::offset, cardinality = Const::cardinality; + else + cardinality = 1 << bits_cardinality, offset = ((long )(cardinality - 1) * (cardinality - 2)) / 2; + double paaValue, lb, ub; + int saxValue; + double sum = 0; + + for (int i = 0; i < Const::segmentNum; i++) { + paaValue = paa[i]; + saxValue = sax[i]; + if(saxValue == 0){ + lb = -numeric_limits::max(); + ub = breakpoints[offset]; + } + else if(saxValue == cardinality - 1){ + lb = breakpoints[offset + cardinality - 2]; + ub = numeric_limits::max(); + } + else { + lb = breakpoints[offset + saxValue - 1]; + ub = breakpoints[offset + saxValue]; + } + + if(paaValue < lb){ + sum += (lb - paaValue) * (lb - paaValue); + } + else if(paaValue > ub){ + sum += (paaValue - ub) * (paaValue - ub); + } + } // for + + return frontCoef * sum; +} + +// complete SAX word, bits cardinality <= 8, #segments = 16 buggy code +double SaxUtil::LowerBound_Paa_iSax_SIMD(const float *paa, unsigned char *sax_short, unsigned char *bits_cardinality_short) +{ + + int region_upper[16],region_lower[16]; + float distancef[16]; + int offset = Const::offset; + + __m256i vectorsignbit = _mm256_set1_epi32 (0xffffffff); + __m256i vloweroffset = _mm256_set1_epi32 (offset-1); + __m256i vupperoffset = _mm256_set1_epi32 (offset); + + //__m256i c_cv_0 = _mm256_set_epi32 ( sax_cardinalities[7] , sax_cardinalities[6] ,sax_cardinalities[5] ,sax_cardinalities[4] , sax_cardinalities[3] ,sax_cardinalities[2] ,sax_cardinalities[1],sax_cardinalities[0]); + //__m256i c_cv_1 = _mm256_set_epi32 ( sax_cardinalities[15], sax_cardinalities[14],sax_cardinalities[13],sax_cardinalities[12], sax_cardinalities[11],sax_cardinalities[10],sax_cardinalities[9],sax_cardinalities[8]); +// __m256i sax_cardinalitiesv16 = _mm256_lddqu_si256((const __m256i*)bits_cardinality); + __m128i sax_cardinalitiesv8 = _mm_lddqu_si128 ((const __m128i*)bits_cardinality_short); + __m256i sax_cardinalitiesv16= _mm256_cvtepu8_epi16 (sax_cardinalitiesv8); + __m128i sax_cardinalitiesv16_0=_mm256_extractf128_si256 (sax_cardinalitiesv16,0); + __m128i sax_cardinalitiesv16_1=_mm256_extractf128_si256 (sax_cardinalitiesv16,1); + __m256i bits_cardinality_0 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_0); + __m256i bits_cardinality_1 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_1); + + //__m256i v_0 = _mm256_set_epi32 (sax[7],sax[6],sax[5],sax[4],sax[3],sax[2],sax[1],sax[0]); + //__m256i v_1 = _mm256_set_epi32 (sax[15],sax[14],sax[13],sax[12],sax[11],sax[10],sax[9],sax[8]); + __m128i saxv8= _mm_lddqu_si128 ((const __m128i*)sax_short); + __m256i saxv16= _mm256_cvtepu8_epi16 (saxv8); + __m128i saxv16_0 =_mm256_extractf128_si256 (saxv16,0); + __m128i saxv16_1=_mm256_extractf128_si256 (saxv16,1); + __m256i sax_0= _mm256_cvtepu16_epi32 (saxv16_0); + __m256i sax_1 = _mm256_cvtepu16_epi32 (saxv16_1); + + + __m256i c_m = _mm256_set1_epi32 (Const::bitsCardinality); + __m256i rest_bits_card_0 = _mm256_sub_epi32 (c_m, bits_cardinality_0); + __m256i rest_bits_card_1 = _mm256_sub_epi32 (c_m, bits_cardinality_1); + + __m256i region_lowerv_0 = _mm256_sllv_epi32 (sax_0, rest_bits_card_0); + __m256i region_lowerv_1 = _mm256_sllv_epi32 (sax_1, rest_bits_card_1); + + + __m256i v1= _mm256_set1_epi32 ((int)0x7f800000); + + __m256i region_upperv_0 = _mm256_sllv_epi32 (v1, rest_bits_card_0); + __m256i region_upperv_1 = _mm256_sllv_epi32 (v1, rest_bits_card_1); + region_upperv_0 = _mm256_andnot_si256 (region_upperv_0, vectorsignbit); + region_upperv_1 = _mm256_andnot_si256 (region_upperv_1, vectorsignbit); + + region_upperv_0 = _mm256_or_si256 (region_upperv_0, region_lowerv_0); + + region_upperv_1 = _mm256_or_si256 (region_upperv_1, region_lowerv_1); + + region_lowerv_0 = _mm256_add_epi32 (region_lowerv_0, vloweroffset); + region_lowerv_1 = _mm256_add_epi32 (region_lowerv_1, vloweroffset); + region_upperv_0 = _mm256_add_epi32 (region_upperv_0, vupperoffset); + region_upperv_1 = _mm256_add_epi32 (region_upperv_1, vupperoffset); + _mm256_storeu_si256 ((__m256i_u*)&(region_lower[0]),region_lowerv_0); + _mm256_storeu_si256 ((__m256i_u*)&(region_lower[8]),region_lowerv_1); + _mm256_storeu_si256 ((__m256i_u*)&(region_upper[0]),region_upperv_0); + _mm256_storeu_si256 ((__m256i_u*)&(region_upper[8]),region_upperv_1); + + + //lower + + __m256i lower_juge_zerov_0 = _mm256_cmpeq_epi32 (region_lowerv_0, _mm256_setzero_si256 ()); + __m256i lower_juge_zerov_1 = _mm256_cmpeq_epi32 (region_lowerv_1, _mm256_setzero_si256 ()); + + __m256i lower_juge_nzerov_0 = _mm256_andnot_si256 (lower_juge_zerov_0, vectorsignbit); + __m256i lower_juge_nzerov_1 = _mm256_andnot_si256 (lower_juge_zerov_1, vectorsignbit); + + __m256 minvalv = _mm256_set1_ps (-1000); + + __m256 lsax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_0, 4); + __m256 lsax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_1, 4); + + + __m256 breakpoint_lowerv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_0,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_0,(__m256i)lsax_breakpoints_shiftv_0)); + __m256 breakpoint_lowerv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_1,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_1,(__m256i)lsax_breakpoints_shiftv_1)); + + //upper + __m256 usax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_upperv_0, 4); + __m256 usax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_upperv_1, 4); + + __m256i upper_juge_maxv_0 = _mm256_cmpeq_epi32 (region_upperv_0, _mm256_set1_epi32 (Const::bitsCardinality - 1)); + __m256i upper_juge_maxv_1 = _mm256_cmpeq_epi32 (region_upperv_1, _mm256_set1_epi32 (Const::bitsCardinality - 1)); + + __m256i upper_juge_nmaxv_0 = _mm256_andnot_si256 (upper_juge_maxv_0, vectorsignbit); + __m256i upper_juge_nmaxv_1 = _mm256_andnot_si256 (upper_juge_maxv_1, vectorsignbit); + + __m256 breakpoint_upperv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_0,(__m256i)_mm256_set1_ps (1000)),_mm256_and_si256(upper_juge_nmaxv_0,(__m256i)usax_breakpoints_shiftv_0)); + __m256 breakpoint_upperv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_1,(__m256i)_mm256_set1_ps (1000)),_mm256_and_si256(upper_juge_nmaxv_1,(__m256i)usax_breakpoints_shiftv_1)); + + //dis + __m256 paav_0,paav_1; + + + + paav_0 =_mm256_loadu_ps (paa); + paav_1 =_mm256_loadu_ps (&(paa[8])); + + __m256 dis_juge_upv_0=_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_GT_OS); + __m256 dis_juge_upv_1=_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_GT_OS); + + __m256 dis_juge_lov_0=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_0, paav_0, _CMP_LT_OS)) ; + __m256 dis_juge_lov_1=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_1, paav_1, _CMP_LT_OS)); + + __m256 dis_juge_elv_0=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_0, (__m256i)dis_juge_lov_0),vectorsignbit); + __m256 dis_juge_elv_1=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_1, (__m256i)dis_juge_lov_1),vectorsignbit); + + __m256 dis_lowv_0 =_mm256_sub_ps (breakpoint_lowerv_0, paav_0); + __m256 dis_lowv_1 =_mm256_sub_ps (breakpoint_lowerv_1, paav_1); + __m256 dis_uppv_0 =_mm256_sub_ps (breakpoint_upperv_0, paav_0); + __m256 dis_uppv_1 =_mm256_sub_ps (breakpoint_upperv_1, paav_1); + + + __m256 distancev_0=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_0,(__m256i)dis_lowv_0),_mm256_and_si256((__m256i)dis_juge_lov_0,(__m256i)dis_uppv_0)),_mm256_and_si256((__m256i)dis_juge_elv_0,(__m256i)_mm256_set1_ps (0.0))); + __m256 distancev_1=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_1,(__m256i)dis_lowv_1),_mm256_and_si256((__m256i)dis_juge_lov_1,(__m256i)dis_uppv_1)),_mm256_and_si256((__m256i)dis_juge_elv_1,(__m256i)_mm256_set1_ps (0.0))); + + + __m256 distancesum_0 = _mm256_dp_ps (distancev_0, distancev_0, 0xff); + __m256 distancesum_1 = _mm256_dp_ps (distancev_1, distancev_1, 0xff); + __m256 distancevf = _mm256_add_ps (distancesum_0, distancesum_1); + + _mm256_storeu_ps (distancef ,distancevf); + + double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w + + return (distancef[0]+distancef[4])*frontCoef ; +} + +double SaxUtil::LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality, vector&chosen_segs, int new_id) { + unsigned char bits_cardinality_short[16] __attribute__((aligned(32))); + unsigned char sax_short[16] __attribute__((aligned(32))); + int cur = chosen_segs.size() - 1; + + for(int i = Const::segmentNum - 1; i >= 0; --i){ + if(cur >=0 && chosen_segs[cur] == i){ + sax_short[i] = (sax[i] << 1) + (new_id % 2); + new_id >>= 1; + bits_cardinality_short[i] = bits_cardinality[i] + 1; + --cur; + } else { + sax_short[i] = sax[i]; + bits_cardinality_short[i] = bits_cardinality[i]; + } + } + return LowerBound_Paa_iSax_SIMD(paa, sax_short, bits_cardinality_short); +} + +double SaxUtil::LowerBound_Paa_iSax_SIMD(const float *paa, const unsigned short *sax, const int* bits_cardinality) { + unsigned char bits_cardinality_short[16] __attribute__((aligned(32))); + unsigned char sax_short[16] __attribute__((aligned(32))); + for(int i = 0; i< 16; ++i){ + sax_short[i] = sax[i]; + bits_cardinality_short[i] = bits_cardinality[i]; + } + return minidist_paa_to_isax_rawa_SIMD(paa, sax_short, bits_cardinality_short); +} + +double SaxUtil::minidist_paa_to_isax_rawa_SIMD(const float *paa, unsigned char*sax, unsigned char*sax_cardinalities){ + int region_upper[16],region_lower[16]; + float distancef[16]; + int offset = Const::offset; + + __m256i vectorsignbit = _mm256_set1_epi32 (0xffffffff); + __m256i vloweroffset = _mm256_set1_epi32 (offset-1); + __m256i vupperoffset = _mm256_set1_epi32 (offset); + + //__m256i c_cv_0 = _mm256_set_epi32 ( sax_cardinalities[7] , sax_cardinalities[6] ,sax_cardinalities[5] ,sax_cardinalities[4] , sax_cardinalities[3] ,sax_cardinalities[2] ,sax_cardinalities[1],sax_cardinalities[0]); + //__m256i c_cv_1 = _mm256_set_epi32 ( sax_cardinalities[15], sax_cardinalities[14],sax_cardinalities[13],sax_cardinalities[12], sax_cardinalities[11],sax_cardinalities[10],sax_cardinalities[9],sax_cardinalities[8]); + __m128i sax_cardinalitiesv8 = _mm_lddqu_si128 ((const __m128i*)sax_cardinalities); + __m256i sax_cardinalitiesv16= _mm256_cvtepu8_epi16 (sax_cardinalitiesv8); + __m128i sax_cardinalitiesv16_0=_mm256_extractf128_si256 (sax_cardinalitiesv16,0); + __m128i sax_cardinalitiesv16_1=_mm256_extractf128_si256 (sax_cardinalitiesv16,1); + __m256i c_cv_0 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_0); + __m256i c_cv_1 = _mm256_cvtepu16_epi32 (sax_cardinalitiesv16_1); + + //__m256i v_0 = _mm256_set_epi32 (sax[7],sax[6],sax[5],sax[4],sax[3],sax[2],sax[1],sax[0]); + //__m256i v_1 = _mm256_set_epi32 (sax[15],sax[14],sax[13],sax[12],sax[11],sax[10],sax[9],sax[8]); + __m128i saxv8= _mm_lddqu_si128 ((const __m128i*)sax); + __m256i saxv16= _mm256_cvtepu8_epi16 (saxv8); + __m128i saxv16_0 =_mm256_extractf128_si256 (saxv16,0); + __m128i saxv16_1=_mm256_extractf128_si256 (saxv16,1); + __m256i v_0= _mm256_cvtepu16_epi32 (saxv16_0); + __m256i v_1 = _mm256_cvtepu16_epi32 (saxv16_1); + + + __m256i c_m = _mm256_set1_epi32 (Const::bitsCardinality); + __m256i cm_ccv_0 = _mm256_sub_epi32 (c_m, c_cv_0); + __m256i cm_ccv_1 = _mm256_sub_epi32 (c_m, c_cv_1); + + //__m256i _mm256_set_epi32 (int e7, int e6, int e5, int e4, int e3, int e2, int e1, int e0) + // __m256i _mm256_set1_epi32 (int a) + __m256i region_lowerv_0 = _mm256_srlv_epi32 (v_0, cm_ccv_0); + __m256i region_lowerv_1 = _mm256_srlv_epi32 (v_1, cm_ccv_1); + region_lowerv_0 = _mm256_sllv_epi32 (region_lowerv_0, cm_ccv_0); + region_lowerv_1 = _mm256_sllv_epi32 (region_lowerv_1, cm_ccv_1); + + + __m256i v1= _mm256_andnot_si256 (_mm256_setzero_si256 (), vectorsignbit); + + __m256i region_upperv_0 = _mm256_sllv_epi32 (v1,cm_ccv_0); + __m256i region_upperv_1 = _mm256_sllv_epi32 (v1,cm_ccv_1); + region_upperv_0 = _mm256_andnot_si256 (region_upperv_0, vectorsignbit); + region_upperv_1 = _mm256_andnot_si256 (region_upperv_1, vectorsignbit); + + region_upperv_0 = _mm256_or_si256 (region_upperv_0, region_lowerv_0); + + region_upperv_1 = _mm256_or_si256 (region_upperv_1, region_lowerv_1); + + region_lowerv_0 = _mm256_add_epi32 (region_lowerv_0, vloweroffset); + region_lowerv_1 = _mm256_add_epi32 (region_lowerv_1, vloweroffset); + region_upperv_0 = _mm256_add_epi32 (region_upperv_0, vupperoffset); + region_upperv_1 = _mm256_add_epi32 (region_upperv_1, vupperoffset); + _mm256_storeu_si256 ((__m256i_u*)&(region_lower[0]),region_lowerv_0); + _mm256_storeu_si256 ((__m256i_u*)&(region_lower[8]),region_lowerv_1); + _mm256_storeu_si256 ((__m256i_u*)&(region_upper[0]),region_upperv_0); + _mm256_storeu_si256 ((__m256i_u*)&(region_upper[8]),region_upperv_1); + + + //lower + + __m256i lower_juge_zerov_0 = _mm256_cmpeq_epi32 (region_lowerv_0, _mm256_setzero_si256 ()); + __m256i lower_juge_zerov_1 = _mm256_cmpeq_epi32 (region_lowerv_1, _mm256_setzero_si256 ()); + + __m256i lower_juge_nzerov_0 = _mm256_andnot_si256 (lower_juge_zerov_0, vectorsignbit); + __m256i lower_juge_nzerov_1 = _mm256_andnot_si256 (lower_juge_zerov_1, vectorsignbit); + + __m256 minvalv = _mm256_set1_ps (-999999); + + + + + __m256 lsax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_0, 4); + //__m256 lsax_breakpoints_shiftv_0= _mm256_set_ps (sax_breakpoints[region_lower[7]], + //sax_breakpoints[region_lower[6]], + //sax_breakpoints[region_lower[5]], + //sax_breakpoints[region_lower[4]], + //sax_breakpoints[region_lower[3]], + //sax_breakpoints[region_lower[2]], + //sax_breakpoints[region_lower[1]], + //sax_breakpoints[region_lower[0]]); + __m256 lsax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_lowerv_1, 4); + //__m256 lsax_breakpoints_shiftv_1= _mm256_set_ps (sax_breakpoints[region_lower[15]], + //sax_breakpoints[region_lower[14]], + //sax_breakpoints[region_lower[13]], + //sax_breakpoints[region_lower[12]], + //sax_breakpoints[region_lower[11]], + //sax_breakpoints[region_lower[10]], + //sax_breakpoints[region_lower[9]], + //sax_breakpoints[region_lower[8]]); + + + __m256 breakpoint_lowerv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_0,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_0,(__m256i)lsax_breakpoints_shiftv_0)); + __m256 breakpoint_lowerv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(lower_juge_zerov_1,(__m256i)minvalv),_mm256_and_si256(lower_juge_nzerov_1,(__m256i)lsax_breakpoints_shiftv_1)); + + //uper + __m256 usax_breakpoints_shiftv_0 =_mm256_i32gather_ps (breakpoints_f,region_upperv_0, 4); + //__m256 usax_breakpoints_shiftv_0= _mm256_set_ps (sax_breakpoints[region_upper[7]], + //sax_breakpoints[region_upper[6]], + //sax_breakpoints[region_upper[5]], + //sax_breakpoints[region_upper[4]], + //sax_breakpoints[region_upper[3]], + //sax_breakpoints[region_upper[2]], + //sax_breakpoints[region_upper[1]], + //sax_breakpoints[region_upper[0]]); + __m256 usax_breakpoints_shiftv_1 =_mm256_i32gather_ps (breakpoints_f,region_upperv_1, 4); + //__m256 usax_breakpoints_shiftv_1= _mm256_set_ps (sax_breakpoints[region_upper[15]], + //sax_breakpoints[region_upper[14]], + //sax_breakpoints[region_upper[13]], + //sax_breakpoints[region_upper[12]], + //sax_breakpoints[region_upper[11]], + //sax_breakpoints[region_upper[10]], + //sax_breakpoints[region_upper[9]], + //sax_breakpoints[region_upper[8]]); + + + __m256i upper_juge_maxv_0 = _mm256_cmpeq_epi32 (region_upperv_0, _mm256_set1_epi32 (Const::bitsCardinality - 1)); + __m256i upper_juge_maxv_1 = _mm256_cmpeq_epi32 (region_upperv_1, _mm256_set1_epi32 (Const::bitsCardinality - 1)); + + __m256i upper_juge_nmaxv_0 = _mm256_andnot_si256 (upper_juge_maxv_0, vectorsignbit); + __m256i upper_juge_nmaxv_1 = _mm256_andnot_si256 (upper_juge_maxv_1, vectorsignbit); + + __m256 breakpoint_upperv_0 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_0,(__m256i)_mm256_set1_ps (99999)),_mm256_and_si256(upper_juge_nmaxv_0,(__m256i)usax_breakpoints_shiftv_0)); + __m256 breakpoint_upperv_1 = (__m256)_mm256_or_si256 (_mm256_and_si256(upper_juge_maxv_1,(__m256i)_mm256_set1_ps (99999)),_mm256_and_si256(upper_juge_nmaxv_1,(__m256i)usax_breakpoints_shiftv_1)); + + //dis + __m256 paav_0,paav_1; + + paav_0 =_mm256_loadu_ps (paa); + paav_1 =_mm256_loadu_ps (&(paa[8])); + + __m256 dis_juge_upv_0=_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_GT_OS); + __m256 dis_juge_upv_1=_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_GT_OS); + + __m256 dis_juge_lov_0=_mm256_cmp_ps (breakpoint_upperv_0, paav_0, _CMP_LT_OS); + __m256 dis_juge_lov_1=_mm256_cmp_ps (breakpoint_upperv_1, paav_1, _CMP_LT_OS); + + + // __m256 dis_juge_lov_0=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_0, paav_0, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_0, paav_0, _CMP_LT_OS)) ; + // __m256 dis_juge_lov_1=(__m256)_mm256_and_si256 ((__m256i)_mm256_cmp_ps (breakpoint_lowerv_1, paav_1, _CMP_NGT_US),(__m256i)_mm256_cmp_ps (breakpoint_upperv_1, paav_1, _CMP_LT_OS)); + + __m256 dis_juge_elv_0=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_0, (__m256i)dis_juge_lov_0),vectorsignbit); + __m256 dis_juge_elv_1=(__m256)_mm256_andnot_si256 (_mm256_or_si256 ((__m256i)dis_juge_upv_1, (__m256i)dis_juge_lov_1),vectorsignbit); + + __m256 dis_lowv_0 =_mm256_sub_ps (breakpoint_lowerv_0, paav_0); + __m256 dis_lowv_1 =_mm256_sub_ps (breakpoint_lowerv_1, paav_1); + __m256 dis_uppv_0 =_mm256_sub_ps (breakpoint_upperv_0, paav_0); + __m256 dis_uppv_1 =_mm256_sub_ps (breakpoint_upperv_1, paav_1); + + + __m256 distancev_0=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_0,(__m256i)dis_lowv_0),_mm256_and_si256((__m256i)dis_juge_lov_0,(__m256i)dis_uppv_0)),_mm256_and_si256((__m256i)dis_juge_elv_0,(__m256i)_mm256_set1_ps (0.0))); + __m256 distancev_1=(__m256)_mm256_or_si256(_mm256_or_si256(_mm256_and_si256((__m256i)dis_juge_upv_1,(__m256i)dis_lowv_1),_mm256_and_si256((__m256i)dis_juge_lov_1,(__m256i)dis_uppv_1)),_mm256_and_si256((__m256i)dis_juge_elv_1,(__m256i)_mm256_set1_ps (0.0))); + + + __m256 distancesum_0 = _mm256_dp_ps (distancev_0, distancev_0, 0xff); + __m256 distancesum_1 = _mm256_dp_ps (distancev_1, distancev_1, 0xff); + __m256 distancevf = _mm256_add_ps (distancesum_0, distancesum_1); + //__m256 distancev2 = _mm256_hadd_ps (distancev, distancev); + //__m256 distancevf = _mm256_hadd_ps (distancev2, distancev2); + //__m256 _mm256_dp_ps (__m256 a, __m256 b, const int imm8); + + _mm256_storeu_ps (distancef ,distancevf); + //_mm256_storeu_ps (&checkvalue[8] ,distancev_1); + + double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w + + return (distancef[0]+distancef[4])*frontCoef ; +} + +double SaxUtil::getMinDist1stLayer(const float *paa, int id){ + double ret = 0; + double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w + for(int i=Const::segmentNum-1;i>=0;--i){ + if(id %2 == 1){ + if(paa[i] <0) + ret += (paa[i] * paa[i]); + }else{ + if(paa[i] > 0) + ret += (paa[i] * paa[i]); + } + id >>=1; + } + return frontCoef * ret; +} + +//double SaxUtil::LowerBound_Paa_iSax(const double *paa, const int *sax, const int* bits_cardinality) { +// double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w +// double paaValue, lb, ub; +// double sum = 0; +// +// for (int i = 0; i < Const::segmentNum; i++) { +// paaValue = paa[i]; +// if(bits_cardinality[i] == 0) continue; +// getValueRange(sax[i], bits_cardinality[i], &lb, &ub); +// +// if(paaValue < lb){ +// sum += (lb - paaValue) * (lb - paaValue); +// } +// else if(paaValue > ub){ +// sum += (paaValue - ub) * (paaValue - ub); +// } +// } // for +// +// return frontCoef * sum; +//} + +double SaxUtil::LowerBound_Paa_iSax(const float *paa, const unsigned short *sax, const int* bits_cardinality) { + double frontCoef = (double)Const::tsLength / Const::segmentNum; // n / w + double paaValue, lb, ub; + double sum = 0; + + for (int i = 0; i < Const::segmentNum; i++) { + paaValue = paa[i]; + if(bits_cardinality[i] == 0) continue; + getValueRange(sax[i], bits_cardinality[i], &lb, &ub); + + if(paaValue < lb){ + sum += (lb - paaValue) * (lb - paaValue); + } + else if(paaValue > ub){ + sum += (paaValue - ub) * (paaValue - ub); + } + } // for + + return frontCoef * sum; +} + +double SaxUtil::getMinDist1stLayerDTW(const double *paaU, const double *paaL, int id){ + double breakpoint_lower, breakpoint_upper; + double distance = 0; + for(int i=Const::segmentNum-1;i>=0;--i){ + if(id %2 == 1){ + breakpoint_lower = 0; + breakpoint_upper = 999; + }else{ + breakpoint_upper = 0; + breakpoint_lower = -999; + } + id >>=1; + + if (breakpoint_lower > paaU[i]) { + distance += ((breakpoint_lower - paaU[i]) * (breakpoint_lower - paaU[i])); + } + else if(breakpoint_upper < paaL[i]) { + distance += ((breakpoint_upper - paaL[i]) * (breakpoint_upper - paaL[i])); + } + + } + return Const::tsLengthPerSegment * distance; +} + +double SaxUtil::minidist_paa_to_isax_DTW(const double *paaU, const double *paaL, const unsigned short *sax, + const int* bits_cardinality, vector&chosen_segs, int new_id){ + double distance = 0; + double breakpoint_lower, breakpoint_upper; + int saxValue, cur = chosen_segs.size() - 1, bc; + + for (int i = Const::segmentNum-1; i >= 0; --i) { + if(cur >=0 && chosen_segs[cur] == i){ + saxValue = (sax[i] << 1) + (new_id % 2); + new_id >>= 1; + bc = bits_cardinality[i] + 1; + --cur; + } else { + saxValue = sax[i]; + bc = bits_cardinality[i]; + } + getValueRange(saxValue, bc, &breakpoint_lower, &breakpoint_upper); + + if (breakpoint_lower > paaU[i]) { + distance += ((breakpoint_lower - paaU[i]) * (breakpoint_lower - paaU[i])); + } + else if(breakpoint_upper < paaL[i]) { + distance += ((breakpoint_upper - paaL[i]) * (breakpoint_upper - paaL[i])); + } + } // for + + return Const::tsLengthPerSegment * distance; +} + +double SaxUtil::minidist_paa_to_isax_DTW(const double *paaU, const double *paaL , const unsigned short *sax, + const int*sax_cardinalities) +{ + + double distance = 0; + double breakpoint_lower, breakpoint_upper; + // For each sax record find the break point + int i; + for (i=0; i paaU[i]) { + distance += ((breakpoint_lower - paaU[i]) * (breakpoint_lower - paaU[i])); + } + else if(breakpoint_upper < paaL[i]) { + distance += ((breakpoint_upper - paaL[i]) * (breakpoint_upper - paaL[i])); + } + // else { + // printf("%lf is between: %lf and %lf\n", paa[i], breakpoint_lower, breakpoint_upper); + // } + } + + //distance = ratio_sqrt * sqrtf(distance); + distance = Const::tsLengthPerSegment * distance; + return distance; +} + +double SaxUtil::minidist_paa_to_isax_DTW(const double *paaU, const double *paaL , const unsigned short *sax, + int bitsCardinality) +{ + + double distance = 0; + double breakpoint_lower, breakpoint_upper; + // For each sax record find the break point + int i; + for (i=0; i paaU[i]) { + distance += ((breakpoint_lower - paaU[i]) * (breakpoint_lower - paaU[i])); + } + else if(breakpoint_upper < paaL[i]) { + distance += ((breakpoint_upper - paaL[i]) * (breakpoint_upper - paaL[i])); + } + // else { + // printf("%lf is between: %lf and %lf\n", paa[i], breakpoint_lower, breakpoint_upper); + // } + } + + //distance = ratio_sqrt * sqrtf(distance); + distance = Const::tsLengthPerSegment * distance; + return distance; +} + +void SaxUtil::getValueRange(int sax_single, int bits_cardinality, double *lb, double *ub){ + int cardinality = 1 << bits_cardinality; + int offset = ((cardinality - 1) * (cardinality - 2)) / 2; + if(sax_single == 0){ + *lb = -numeric_limits::max(); + *ub = breakpoints[offset]; + }else if(sax_single == cardinality - 1){ + *lb = breakpoints[offset + sax_single - 1]; + *ub = numeric_limits::max(); + }else{ + *lb = breakpoints[offset + sax_single - 1]; + *ub = breakpoints[offset + sax_single]; + } +} + +// return the new id +int SaxUtil::extendSax(float *paa, const int *bits_cardinality, vector &segments) { + int res = 0, cardinality, sw, offset; + for(int segment:segments){ + cardinality = 1 << (bits_cardinality[segment] + 1); + offset = ((cardinality - 1) * (cardinality - 2)) / 2; + int index = findFirstGE(breakpoints, offset, cardinality -1, paa[segment]); + if(index >= 0) + sw = (index - offset); + else + cout<<"ERROR!!!!!!!"; + res = (res << 1) + (sw % 2); + } + return res; +} + +// return the new id +int SaxUtil::extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments) { + int res = 0, sw; + for(int segment:segments){ + sw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment] - 1); + res = (res << 1) + (sw % 2); + } + return res; +} + +// return the new id +int SaxUtil::extendSaxFuzzy(const unsigned short *sax, const unsigned short* node_sax, const int *bits_cardinality, vector &segments) { + int res = 0, sw, osw; + for(int segment:segments){ + osw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment]); + if(node_sax[segment] < osw){ + res = (res << 1) + 1; + }else if(node_sax[segment] > osw){ + res = (res << 1); + }else{ + sw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment] - 1); + res = (res << 1) + (sw % 2); + } + } + return res; +} + + +// return the new id +int SaxUtil::extendSax(const unsigned short *sax, const int *bits_cardinality, vector &segments, + const unsigned short *parent_sax) { + int res = 0, sw; + for(int segment:segments){ + sw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment] - 1); + if((sw >> 1) == parent_sax[segment]) res = (res << 1) + (sw % 2); + else if((sw >> 1) > parent_sax[segment]) res = (res << 1) + 1; + else res <<= 1; + } + return res; +} + +// return the new id +int SaxUtil::extendSax(const unsigned short *sax, const int *bits_cardinality) { + int res = 0, sw; + for(int segment = 0;segment < Const::segmentNum; ++segment){ + sw = sax[segment] >> (Const::bitsCardinality - bits_cardinality[segment] - 1); + res = (res << 1) + (sw % 2); + } + return res; +} + +void SaxUtil::extendSax(const unsigned short * parent_sax, const int*parent_bits_cardinality, + vector &chosen_segs, int new_id, + unsigned short* sax, int *bits_cardinality) { + int cur = chosen_segs.size() - 1; + + for (int i = Const::segmentNum - 1; i >= 0; --i) { + if (cur >= 0 && chosen_segs[cur] == i) { + sax[i] = (parent_sax[i] << 1) + (new_id % 2); + new_id >>= 1; + bits_cardinality[i] = parent_bits_cardinality[i] + 1; + --cur; + } else { + sax[i] = parent_sax[i]; + bits_cardinality[i] = parent_bits_cardinality[i]; + } + } +} + +int SaxUtil::getNewId(const float *paa, const float *split_line){ + int ret = 0; + for(int i=0;i split_line[i]) ret += 1; + } + return ret; +} + +int SaxUtil::getNewId(const float *paa, const float *split_line, vector&segments){ + int ret = 0; + for(int i:segments){ + ret <<= 1; + if(paa[i] > split_line[i]) ret += 1; + } + return ret; +} + +void SaxUtil::saxPrint(int* sax, int bits_cardinality, int segment_num) +{ + int i; + for (i=0; i < segment_num; i++) { + cout<(y)?(x):(y)) +#define dist(x,y) (((x)-(y))*((x)-(y))) +void init(dequeue *d, int capacity) +{ + d->capacity = capacity; + d->size = 0; + d->dq = (int *) malloc(sizeof(int)*d->capacity); + d->f = 0; + d->r = d->capacity-1; +} + +/// Insert to the queue at the back +void push_back(struct dequeue *d, int v) +{ + d->dq[d->r] = v; + d->r--; + if (d->r < 0) + d->r = d->capacity-1; + d->size++; +} + +/// Delete the current (front) element from queue +void pop_front(struct dequeue *d) +{ + d->f--; + if (d->f < 0) + d->f = d->capacity-1; + d->size--; +} + +/// Delete the last element from queue +void pop_back(struct dequeue *d) +{ + d->r = (d->r+1)%d->capacity; + d->size--; +} + +/// Get the value at the current position of the circular queue +int front(struct dequeue *d) +{ + int aux = d->f - 1; + + if (aux < 0) + aux = d->capacity-1; + return d->dq[aux]; +} + +/// Get the value at the last position of the circular queueint back(struct dequeue *d) +int back(struct dequeue *d) +{ + int aux = (d->r+1)%d->capacity; + return d->dq[aux]; +} + +/// Check whether or not the queue is empty +int empty(struct dequeue *d) +{ + return d->size == 0; +} + +/// Destroy the queue +void destroy(dequeue *d) +{ + free(d->dq); +} + +void SaxUtil::lower_upper_lemire(const float *t, int len, int r, float *l, float *u) +{ + dequeue du, dl; + + init(&du, 2*r+2); + init(&dl, 2*r+2); + + push_back(&du, 0); + push_back(&dl, 0); + int i; + + for (i = 1; i < len; i++) + { + if (i > r) + { + u[i-r-1] = t[front(&du)]; + l[i-r-1] = t[front(&dl)]; + } + if (t[i] > t[i-1]) + { + pop_back(&du); + while (!empty(&du) && t[i] > t[back(&du)]) + pop_back(&du); + } + else + { + pop_back(&dl); + while (!empty(&dl) && t[i] < t[back(&dl)]) + pop_back(&dl); + } + push_back(&du, i); + push_back(&dl, i); + if (i == 2 * r + 1 + front(&du)) + pop_front(&du); + else if (i == 2 * r + 1 + front(&dl)) + pop_front(&dl); + } + for (i= len; i < len+r+1; i++) + { + u[i-r-1] = t[front(&du)]; + l[i-r-1] = t[front(&dl)]; + if (i-front(&du) >= 2 * r + 1) + pop_front(&du); + if (i-front(&dl) >= 2 * r + 1) + pop_front(&dl); + } + destroy(&du); + destroy(&dl); + } \ No newline at end of file diff --git a/src/Utils/TimeSeriesUtil.cpp b/src/Utils/TimeSeriesUtil.cpp index 0079c4a..c822cd4 100644 --- a/src/Utils/TimeSeriesUtil.cpp +++ b/src/Utils/TimeSeriesUtil.cpp @@ -1,752 +1,910 @@ -// -// Created by wzy on 2021/8/7. -// - -#include "../../include/Utils/TimeSeriesUtil.h" -#include "../../include/Utils/FileUtil.h" -#include "../../include/DSTree/DSTreeNode.h" -#include "../../include/Const.h" -#include -#include -#include -#include -#include -#define distPeng(x,y) ((x-y)*(x-y)) - -using namespace std; - -void TimeSeriesUtil::heap_data_copy(vector &heap){ - for(auto *pis:heap) - pis->copyData(); -} - -bool TimeSeriesUtil::isSame(float* ts1, float* ts2, int ts1_length, int ts2_length) -{ - if(ts1_length!=ts2_length) - return false; - for(int i = 0; i < ts1_length; ++i) { - if(abs(ts1[i]-ts2[i])>1e-5) - return false; - } - return true; -} - -bool TimeSeriesUtil::isSame(const PqItemSeries& ts1, const PqItemSeries& ts2) -{ - return isSame(ts1.ts, ts2.ts, Const::tsLength, Const::tsLength); -} - -//bool TimeSeriesUtil::isSame(const PqItemSeriesVector& ts1, const PqItemSeriesVector& ts2) -//{ -// -// assert(ts1.ts->size() == ts2.ts->size()); -// vector&t1 = *(ts1.ts), &t2 = *(ts2.ts); -// for(int i = 0; i < ts1.ts->size(); ++i) { -// if(abs(t1[i] - t2[i])>1e-5) -// return false; -// } -// return true;; -//} -// -//bool TimeSeriesUtil::isSame(const PqItemSeriesVector* ts1, const PqItemSeriesVector* ts2) -//{ -// -// assert(ts1->ts->size() == ts2->ts->size()); -// vector&t1 = *(ts1->ts), &t2 = *(ts2->ts); -// for(int i = 0; i < ts1->ts->size(); ++i) { -// if(abs(t1[i] - t2[i])>1e-5) -// return false; -// } -// return true;; -//} -// -//bool TimeSeriesUtil::isSame(const PqItemSeriesVector *ts1, float *ts2) -//{ -// -// vector&t1 = *(ts1->ts); -// for(int i = 0; i < ts1->ts->size(); ++i) { -// if(abs(t1[i] - ts2[i])>1e-5) -// return false; -// } -// return true;; -//} - -bool TimeSeriesUtil::isSame(const PqItemSeries *ts1, const float *ts2) -{ - - float *t1 = (ts1->ts); - for(int i = 0; i < Const::tsLength; ++i) { - if(abs(t1[i] - ts2[i])>1e-5) - return false; - } - return true;; -} - - -int TimeSeriesUtil::intersectionTsSetsCardinality(const vector &tsSet1, const vector &tsSet2){ - int intersectionNum = 0; - for(PqItemSeries* currentTs : tsSet1) - for (PqItemSeries* targetTs : tsSet2) - if (isSame(*currentTs, *targetTs)) { - intersectionNum += 1; - break; - } - return intersectionNum; -} - -int TimeSeriesUtil::intersectionTsSetsCardinality(const vector *tsSet1, vector *tsSet2){ - int intersectionNum = 0, size= tsSet1->size(); - unordered_sethas_used; - for(const PqItemSeries* currentTs : *tsSet1) - for(int i=0;i 0) continue; - if(isSame(currentTs, (*tsSet2)[i])) { - intersectionNum++; - has_used.insert(i); - break; - } - } - - return intersectionNum; -} - -//int TimeSeriesUtil::intersectionTsSetsCardinality(const vector *tsSet1, vector *tsSet2){ -// int intersectionNum = 0, size= tsSet1->size(); -// for(const PqItemSeriesVector* currentTs : *tsSet1) -// for(int i=0;i *tsSet1, const vector *tsSet2){ -// int intersectionNum = 0; -// for(const PqItemSeriesVector* currentTs : *tsSet1) -// for (const PqItemSeriesVector* targetTs : *tsSet2) -// if (isSame(currentTs, targetTs)) { -// intersectionNum += 1; -// break; -// } -// return intersectionNum; -//} -// -//int TimeSeriesUtil::intersectionTsSetsCardinality(const vector &tsSet1, const vector &tsSet2){ -// int intersectionNum = 0; -// for(const PqItemSeriesVector* currentTs : tsSet1) -// for (const PqItemSeriesVector* targetTs : tsSet2) -// if (isSame(currentTs, targetTs)) { -// intersectionNum += 1; -// break; -// } -// return intersectionNum; -//} -// -//int TimeSeriesUtil::intersectionTsSetsCardinality(const vector &tsSet1, const vector &tsSet2){ -// int intersectionNum = 0; -// for(const PqItemSeriesVector& currentTs : tsSet1) -// for (const PqItemSeriesVector& targetTs : tsSet2) -// if (isSame(currentTs, targetTs)) { -// intersectionNum += 1; -// break; -// } -// return intersectionNum; -//} - -vector & TimeSeriesUtil::intersectionTsSets(const vector& tsSet1, const vector& tsSet2){ - auto *res = new vector(); - for(PqItemSeries currentTs : tsSet1) - for (PqItemSeries targetTs : tsSet2) - if (isSame(currentTs, targetTs)) { - res->push_back(currentTs); - break; - } - return *res; -} - -vector & TimeSeriesUtil::intersectionTsSets(const vector *tsSet1, const vector *tsSet2){ - auto *res = new vector(); - for(auto currentTs : *tsSet1) - for (auto targetTs : *tsSet2) - if (isSame(currentTs, targetTs)) { - res->push_back(currentTs); - break; - } - return *res; -} - -//vector& TimeSeriesUtil::intersectionTsSets(const vector& tsSet1, const vector& tsSet2){ -// auto *res = new vector(); -// for(const PqItemSeriesVector& currentTs : tsSet1) -// for (const PqItemSeriesVector& targetTs : tsSet2) -// if (isSame(currentTs, targetTs)) { -// res->push_back(currentTs); -// break; -// } -// return *res; -//} -// -//bool TimeSeriesUtil::containsSeries(const vector &tss, float*q){ -// for(const PqItemSeriesVector* ts:tss) -// if(isSame(ts, q)) return true; -// return false; -//} - -bool TimeSeriesUtil::containsSeries(const vector &tss, float*q){ - for(const PqItemSeries* ts:tss) - if(isSame(ts, q)) return true; - return false; -} - -double* TimeSeriesUtil::avgBySegments(float* timeSeries, const int* segments, int segment_number) { - auto* ret = new double[segment_number]; - int start = 0, end; - for (int i = 0; i < segment_number; i++) { - end = segments[i]; - ret[i] = MathUtil::avg(timeSeries, start, end); - start = end; - } - return ret; -} - -double* TimeSeriesUtil::devBySegments(float* timeSeries, const int* segments, int segment_number) { - auto* ret = new double[segment_number]; - int start = 0, end; - for (int i = 0; i < segment_number; i++) { - end = segments[i]; - ret[i] = MathUtil::deviation(timeSeries, start, end); - start = end; - } - return ret; -} - -double TimeSeriesUtil::euclideanDist(const float* ts_1, const float* ts_2, int len) { - double sum = 0, dp; - for (int i = 0; i < len; i++) { - dp = ts_1[i] - ts_2[i]; - sum += dp * dp; - } - return sum; -} - -double TimeSeriesUtil::euclideanDist(const float* ts_1, const float* ts_2, int len, double bound) { - double sum = 0, dp; - for (int i = 0; i < len && sum < bound; i++) { - dp = ts_1[i] - ts_2[i]; - sum += dp * dp; - } - return sum; -} - -double TimeSeriesUtil::euclideanDist(const float *ts_1, const vector& ts_2, int len, double bound) { - double sum = 0, dp; - for (int i = 0; i < len && sum < bound; i++) { - dp = ts_1[i] - ts_2[i]; - sum += dp * dp; - } - return sum; -} - -double TimeSeriesUtil::euclideanDist(const vector* ts_1, const float* ts_2, int len) { - double sum = 0; - for (int i = 0; i < len; i++) { - double dp = (*ts_1)[i] - ts_2[i]; - sum += dp * dp; - } - return sum; -} - -double TimeSeriesUtil::euclideanDist(float *query_reordered, float *ts, int size, double bound, int *order) -{ - int i; - float sum = 0; - for ( i = 0 ; i < size && sum < bound ; i++ ) - { - //float x = (T[(order[i]+j)]-mean)/std; - float x = ts[order[i]]; - sum += (x - query_reordered[i]) * (x - query_reordered[i]); - } - return sum; -} - -// size must be a multiple of 8 -float TimeSeriesUtil::euclideanDist_SIMD(float * t, float * s, int size, float bound) { - float distance = 0; - int i =0; - float distancef[8]; - - __m256 v_t,v_s,v_d,distancev; - while (size > 0 && distance 0 && distance ::max(); - - cost_prev = (double*)malloc(sizeof(double)*(2*r+1)); - for(k=0; k<2*r+1; k++) cost_prev[k]=numeric_limits::max(); - - for (i=0; i::max(); - - for(j=max(0,i-r); j<=min(len-1,i+r); j++, k++) - { - /// Initialize all row and column - if ((i==0)&&(j==0)) - { - cost[k]=distPeng(A[0],B[0]); - min_cost = cost[k]; - continue; - } - - if ((j-1<0)||(k-1<0)) y = numeric_limits::max(); - else y = cost[k-1]; - if ((i-1<0)||(k+1>2*r)) x = numeric_limits::max(); - else x = cost_prev[k+1]; - if ((i-1<0)||(j-1<0)) z = numeric_limits::max(); - else z = cost_prev[k]; - - /// Classic DTW calculation - cost[k] = min( min( x, y) , z) + distPeng(A[i],B[j]); - - /// Find minimum cost in row for early abandoning (possibly to use column instead of row). - if (cost[k] < min_cost) - { min_cost = cost[k]; - } - } - - /// We can abandon early if the current cummulative distace with lower bound together are larger than bsf - if (i+r < len-1 && min_cost >= bsf) - { free(cost); - free(cost_prev); - return min_cost ; - } - /// Move current array to previous array. - cost_tmp = cost; - cost = cost_prev; - cost_prev = cost_tmp; - } - k--; - - /// the DTW distance is in the last cell in the matrix of size O(m^2) or at the middle of our array. - double final_dtw = cost_prev[k]; - free(cost); - free(cost_prev); - return final_dtw; -} - -double TimeSeriesUtil::dtw(const float* A, const vector& B, int len, int r, double bsf) -{ - - double *cost; - double *cost_prev; - double *cost_tmp; - int i,j,k; - double x,y,z,min_cost; - - /// Instead of using matrix of size O(m^2) or O(mr), we will reuse two array of size O(r). - cost = (double*)malloc(sizeof(double)*(2*r+1)); - for(k=0; k<2*r+1; k++) cost[k]=numeric_limits::max(); - - cost_prev = (double*)malloc(sizeof(double)*(2*r+1)); - for(k=0; k<2*r+1; k++) cost_prev[k]=numeric_limits::max(); - - for (i=0; i::max(); - - for(j=max(0,i-r); j<=min(len-1,i+r); j++, k++) - { - /// Initialize all row and column - if ((i==0)&&(j==0)) - { - cost[k]=distPeng(A[0],B[0]); - min_cost = cost[k]; - continue; - } - - if ((j-1<0)||(k-1<0)) y = numeric_limits::max(); - else y = cost[k-1]; - if ((i-1<0)||(k+1>2*r)) x = numeric_limits::max(); - else x = cost_prev[k+1]; - if ((i-1<0)||(j-1<0)) z = numeric_limits::max(); - else z = cost_prev[k]; - - /// Classic DTW calculation - cost[k] = min( min( x, y) , z) + distPeng(A[i],B[j]); - - /// Find minimum cost in row for early abandoning (possibly to use column instead of row). - if (cost[k] < min_cost) - { min_cost = cost[k]; - } - } - - /// We can abandon early if the current cummulative distace with lower bound together are larger than bsf - if (i+r < len-1 && min_cost >= bsf) - { free(cost); - free(cost_prev); - return min_cost ; - } - /// Move current array to previous array. - cost_tmp = cost; - cost = cost_prev; - cost_prev = cost_tmp; - } - k--; - - /// the DTW distance is in the last cell in the matrix of size O(m^2) or at the middle of our array. - double final_dtw = cost_prev[k]; - free(cost); - free(cost_prev); - return final_dtw; -} - - -// bits cardinality are the same by default -double TimeSeriesUtil::distanceEstimation(const IPGNode* n1, const IPGNode* n2){ - double sum = 0; - for(int i=0;isax[id] != n2->sax[id]) - sum += ((n1->paa_mu[i] - n2->paa_mu[i]) * (n1->paa_mu[i] - n2->paa_mu[i])); - } - return sum; -} - -double TimeSeriesUtil::minDistEstimation(const DSTreeNode *node, InsertedSeries *queryTs) { - double sum = 0; - auto points = node->splitPoints; - - for (int i = 0; i < node->splitPointsLen; i++) { - //use mean and standardDeviation to estimate the distance - int start = DSTreeNode::getSegmentStart(points, i), end = DSTreeNode::getSegmentEnd(points, i); - double tempDist = 0, stdDev = queryTs->getStdEv(start, end), mean = queryTs->getMean(start, end); - //stdDev out the range of min std and max std - if ((stdDev - (*node->nodeSegmentSketches)[i].indicators[2]) * (stdDev - (*node->nodeSegmentSketches)[i].indicators[3]) > 0) { - tempDist += pow(min(abs(stdDev - (*node->nodeSegmentSketches)[i].indicators[2]), abs(stdDev - (*node->nodeSegmentSketches)[i].indicators[3])), 2); - } - - //avg out the range of min mean and max mean - if ((mean - (*node->nodeSegmentSketches)[i].indicators[0]) * (mean - (*node->nodeSegmentSketches)[i].indicators[1]) > 0) { - tempDist += pow(min(abs(mean - (*node->nodeSegmentSketches)[i].indicators[0]), abs(mean - (*node->nodeSegmentSketches)[i].indicators[1])), 2); - } - sum += tempDist * node->getSegmentLength(i); - } - return sum; -} - -double TimeSeriesUtil::minDistEstimation(InsertedSeries &q, const vector &points, int pointsLen, const vector&mean, const vector&stdev){ - double res = 0; - for(int i=0;i &points, int pointsLen, - const vector >&means, const vector >&stdevs, - vector &res){ - // index 0 for max index - res.clear(); - int length = means.size(), maxIndex = 0; - for(int i=0; i= bsfMin) continue; - res.push_back(new PqItemIndex(i, minDist)); - maxIndex = max(maxIndex, i); - } - sort(res.begin(), res.end(), PqItemIndexComparator()); - res.insert(res.begin(), new PqItemIndex(maxIndex, 0)); -} - - -void TimeSeriesUtil::prepareTsWithBoundsAndThreshold(InsertedSeries &queryTs, double bsfMin, const vector &points, int pointsLen, int threshold, - const vector> &means, const vector> &stdevs, - vector&res){ - vector pq; - int length = means.size(); - for(int i=0; i= bsfMin) continue; - if(pq.size() >= threshold) { - double heapTop = pq[0]->dist; - if(heapTop <= minDist) continue; - pop_heap(pq.begin(), pq.end(), PqItemIndexMaxHeap()); - delete pq.back(); - pq.pop_back(); - } - pq.push_back((new PqItemIndex(i, minDist))); - push_heap(pq.begin(), pq.end(), PqItemIndexMaxHeap()); - } - int hs = pq.size(), maxIndex = 0; - res.resize(hs+1); - for(int i=0;iindex; - pop_heap(pq.begin(), pq.end(), PqItemIndexMaxHeap()); - delete pq.back(); - pq.pop_back(); - maxIndex = max(maxIndex, res[hs - i]); - } - res[0] = maxIndex; -} -void clear_pq(vectorpq){ - for(auto * x: pq) - delete x; - pq.clear(); -} - -//void clear_tss(vector*>* tss, vector &heap){ -// bool flag = false; -// for(auto * ts: *tss) { -// flag = false; -// for (auto *ts2:heap) { -// if (ts == ts2->ts) { -// flag = true; -// ts2->needFree = true; -// break; -// } -// } -// if(!flag) delete ts; -// } -// delete tss; -//} - -void TimeSeriesUtil::knnWithBsfAndThreshold(const DSTreeNode& node, InsertedSeries& queryTs, int k, vector &heap, int threshold) { - assert(k>0); - double bsfMin; - if(heap.size() < k) - bsfMin = numeric_limits::max(); - else - bsfMin = heap[0]->dist; - vectorpq; - prepareTsWithBoundsAndThreshold(queryTs, bsfMin, node.splitPoints, node.splitPointsLen, threshold, node.means, node.stdevs, pq); - int len = pq.size(), maxIndex = pq[0]; - auto* tss = node.loadTssRaw(maxIndex); - for(int i=1;i &heap, int pointsLen, double bsfMin) { - vectorpq; - prepareTsWithBounds(q, bsfMin, node.splitPoints, pointsLen, node.means, node.stdevs, pq); - int len = pq.size(), maxIndex = pq[0]->index; - auto *tss = node.loadTssRaw(maxIndex); - for(int i=1;idist >= bsfMin) break; - bsfMin = processSingleSeriesInKnn(q.ts, tss + (pq[i]->index) * Const::tsLength, k, heap, bsfMin); - } - clear_pq(pq); - heap_data_copy(heap); - delete[] tss; -} - -// only for leaf node -void TimeSeriesUtil::knnRow(const DSTreeNode& node, InsertedSeries& q, int k, vector &heap, int threshold) { - double bsfMin; - if(heap.size() < k) - bsfMin = numeric_limits::max(); - else - bsfMin = heap[0]->dist; - - vectorpq; - threshold = min(threshold, node.size); - auto *tss = node.loadTssRaw(threshold); - for(int i=0;i & TimeSeriesUtil::knn(const DSTreeNode& node, InsertedSeries& q, int k){ - assert(k>0); - auto* heap = new vector(); - make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); - int pointsLen = node.splitPointsLen; - double bsfMin = -numeric_limits::max(); - knnRow(node, q, k, *heap, pointsLen, bsfMin); - return *heap; -} - -//void TimeSeriesUtil::knnRow(const DSTreeNode& node, InsertedSeries& q, int k, vector &heap, int pointsLen, double bsfMin) { -// vectorpq; -// prepareTsWithBounds(q, bsfMin, node.splitPoints, pointsLen, node.means, node.stdevs, pq); -// int len = pq.size(), maxIndex = pq[0]->index; -// auto *tss = node.loadTssVector(maxIndex); -// for(int id=1;iddist >= bsfMin) break; -// bsfMin = processSingleSeriesInKnn(q.ts, (*tss)[(pq[id]->index)], k, heap, bsfMin); -// } -// clear_pq(pq); -// clear_tss(tss, heap); -//} -//vector & TimeSeriesUtil::knnVector(const DSTreeNode& node, InsertedSeries& q, int k){ -// assert(k>0); -// auto* heap = new vector(); -// make_heap(heap->begin(), heap->end(), PqItemSeriesVectorMaxHeap()); -// int pointsLen = node.splitPointsLen; -// double bsfMin = numeric_limits::max(); -// knnRow(node, q, k, *heap, pointsLen, bsfMin); -// return *heap; -//} -//void TimeSeriesUtil::knnWithBsf(const DSTreeNode& node, InsertedSeries& queryTs, int k, vector &heap) { -// assert(k>0); -// double bsfMin; -// if(heap.size() < k) -// bsfMin = numeric_limits::max(); -// else -// bsfMin = heap[0]->dist; -// knnRow(node, queryTs, k, heap, node.splitPointsLen, bsfMin); -//} - -void TimeSeriesUtil::knnWithBsf(const DSTreeNode& node, InsertedSeries& queryTs, int k, vector &heap) { - assert(k>0); - if(node.isLeafNode()){ - double bsfMin; - if(heap.size() < k) - bsfMin = numeric_limits::max(); - else - bsfMin = heap[0]->dist; - node.knnRaw(queryTs, k, heap, -1); - }else{ - if(node.left != nullptr) - knnWithBsf(*node.left, queryTs, k, heap); - if(node.right != nullptr) - knnWithBsf(*node.right, queryTs, k, heap); - } - -} - -double TimeSeriesUtil::processSingleSeriesInKnn(float* queryTs, float *ts, int k, vector &heap, double bsfMin) { - if(heap.size()::max(); - else - return heap[0]->dist; - } - else { - // maxDistTs's distance newDist){ - pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - delete heap.back(); - heap.pop_back(); - heap.push_back((new PqItemSeries(ts, newDist, false, true))); - push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); - return heap[0]->dist; - } - return bsfMin; - } -} - -// only big vertex uses this function -//double -//TimeSeriesUtil::processSingleSeriesInKnn(float *queryTs, vector *ts, int k, vector &heap, -// double bsfMin) { -// if(heap.size()::max(); -// else -// return heap[0]->dist; -// } -// else { -// // maxDistTs's distance newDist){ -// pop_heap(heap.begin(), heap.end(), PqItemSeriesVectorMaxHeap()); -// delete heap.back(); -// heap.pop_back(); -// heap.push_back((new PqItemSeriesVector(ts, newDist, false))); -// push_heap(heap.begin(), heap.end(), PqItemSeriesVectorMaxHeap()); -// return heap[0]->dist; -// } -// return bsfMin; -// } -//} - - -template -string TimeSeriesUtil::str_format(const string &format, Args ... args) -{ - auto size_buf = std::snprintf(nullptr, 0, format.c_str(), args ...) + 1; - std::unique_ptr buf(new(std::nothrow) char[size_buf]); - - if (!buf) - return string{}; - - std::snprintf(buf.get(), size_buf, format.c_str(), args ...); - return std::string(buf.get(), buf.get() + size_buf - 1); +// +// Created by wzy on 2021/8/7. +// + +#include "../../include/Utils/TimeSeriesUtil.h" +#include "../../include/Utils/FileUtil.h" +#include "../../include/DSTree/DSTreeNode.h" +#include "../../include/Const.h" +#include +#include +#include +#include +#include +#define distPeng(x,y) ((x-y)*(x-y)) + +using namespace std; + +void TimeSeriesUtil::heap_data_copy(vector &heap){ + for(auto *pis:heap) + pis->copyData(); +} + +bool TimeSeriesUtil::isSame(float* ts1, float* ts2, int ts1_length, int ts2_length) +{ + if(ts1_length!=ts2_length) + return false; + for(int i = 0; i < ts1_length; ++i) { + if(abs(ts1[i]-ts2[i])>1e-5) + return false; + } + return true; +} + +bool TimeSeriesUtil::isSame(const PqItemSeries& ts1, const PqItemSeries& ts2) +{ + return isSame(ts1.ts, ts2.ts, Const::tsLength, Const::tsLength); +} + +//bool TimeSeriesUtil::isSame(const PqItemSeriesVector& ts1, const PqItemSeriesVector& ts2) +//{ +// +// assert(ts1.ts->size() == ts2.ts->size()); +// vector&t1 = *(ts1.ts), &t2 = *(ts2.ts); +// for(int i = 0; i < ts1.ts->size(); ++i) { +// if(abs(t1[i] - t2[i])>1e-5) +// return false; +// } +// return true;; +//} +// +//bool TimeSeriesUtil::isSame(const PqItemSeriesVector* ts1, const PqItemSeriesVector* ts2) +//{ +// +// assert(ts1->ts->size() == ts2->ts->size()); +// vector&t1 = *(ts1->ts), &t2 = *(ts2->ts); +// for(int i = 0; i < ts1->ts->size(); ++i) { +// if(abs(t1[i] - t2[i])>1e-5) +// return false; +// } +// return true;; +//} +// +//bool TimeSeriesUtil::isSame(const PqItemSeriesVector *ts1, float *ts2) +//{ +// +// vector&t1 = *(ts1->ts); +// for(int i = 0; i < ts1->ts->size(); ++i) { +// if(abs(t1[i] - ts2[i])>1e-5) +// return false; +// } +// return true;; +//} + +bool TimeSeriesUtil::isSame(const PqItemSeries *ts1, const float *ts2) +{ + + float *t1 = (ts1->ts); + for(int i = 0; i < Const::tsLength; ++i) { + if(abs(t1[i] - ts2[i])>1e-5) + return false; + } + return true;; +} + + +int TimeSeriesUtil::intersectionTsSetsCardinality(const vector &tsSet1, const vector &tsSet2){ + int intersectionNum = 0; + for(PqItemSeries* currentTs : tsSet1) + for (PqItemSeries* targetTs : tsSet2) + if (isSame(*currentTs, *targetTs)) { + intersectionNum += 1; + break; + } + return intersectionNum; +} + +int TimeSeriesUtil::intersectionTsSetsCardinality(const vector *tsSet1, vector *tsSet2){ + int intersectionNum = 0, size= tsSet1->size(); + unordered_sethas_used; + for(const PqItemSeries* currentTs : *tsSet1) + for(int i=0;i 0) continue; + if(isSame(currentTs, (*tsSet2)[i])) { + intersectionNum++; + has_used.insert(i); + break; + } + } + + return intersectionNum; +} + +//int TimeSeriesUtil::intersectionTsSetsCardinality(const vector *tsSet1, vector *tsSet2){ +// int intersectionNum = 0, size= tsSet1->size(); +// for(const PqItemSeriesVector* currentTs : *tsSet1) +// for(int i=0;i *tsSet1, const vector *tsSet2){ +// int intersectionNum = 0; +// for(const PqItemSeriesVector* currentTs : *tsSet1) +// for (const PqItemSeriesVector* targetTs : *tsSet2) +// if (isSame(currentTs, targetTs)) { +// intersectionNum += 1; +// break; +// } +// return intersectionNum; +//} +// +//int TimeSeriesUtil::intersectionTsSetsCardinality(const vector &tsSet1, const vector &tsSet2){ +// int intersectionNum = 0; +// for(const PqItemSeriesVector* currentTs : tsSet1) +// for (const PqItemSeriesVector* targetTs : tsSet2) +// if (isSame(currentTs, targetTs)) { +// intersectionNum += 1; +// break; +// } +// return intersectionNum; +//} +// +//int TimeSeriesUtil::intersectionTsSetsCardinality(const vector &tsSet1, const vector &tsSet2){ +// int intersectionNum = 0; +// for(const PqItemSeriesVector& currentTs : tsSet1) +// for (const PqItemSeriesVector& targetTs : tsSet2) +// if (isSame(currentTs, targetTs)) { +// intersectionNum += 1; +// break; +// } +// return intersectionNum; +//} + +vector & TimeSeriesUtil::intersectionTsSets(const vector& tsSet1, const vector& tsSet2){ + auto *res = new vector(); + for(PqItemSeries currentTs : tsSet1) + for (PqItemSeries targetTs : tsSet2) + if (isSame(currentTs, targetTs)) { + res->push_back(currentTs); + break; + } + return *res; +} + +vector & TimeSeriesUtil::intersectionTsSets(const vector *tsSet1, const vector *tsSet2){ + auto *res = new vector(); + for(auto currentTs : *tsSet1) + for (auto targetTs : *tsSet2) + if (isSame(currentTs, targetTs)) { + res->push_back(currentTs); + break; + } + return *res; +} + +//vector& TimeSeriesUtil::intersectionTsSets(const vector& tsSet1, const vector& tsSet2){ +// auto *res = new vector(); +// for(const PqItemSeriesVector& currentTs : tsSet1) +// for (const PqItemSeriesVector& targetTs : tsSet2) +// if (isSame(currentTs, targetTs)) { +// res->push_back(currentTs); +// break; +// } +// return *res; +//} +// +//bool TimeSeriesUtil::containsSeries(const vector &tss, float*q){ +// for(const PqItemSeriesVector* ts:tss) +// if(isSame(ts, q)) return true; +// return false; +//} + +bool TimeSeriesUtil::containsSeries(const vector &tss, float*q){ + for(const PqItemSeries* ts:tss) + if(isSame(ts, q)) return true; + return false; +} + +double* TimeSeriesUtil::avgBySegments(float* timeSeries, const int* segments, int segment_number) { + auto* ret = new double[segment_number]; + int start = 0, end; + for (int i = 0; i < segment_number; i++) { + end = segments[i]; + ret[i] = MathUtil::avg(timeSeries, start, end); + start = end; + } + return ret; +} + +double* TimeSeriesUtil::devBySegments(float* timeSeries, const int* segments, int segment_number) { + auto* ret = new double[segment_number]; + int start = 0, end; + for (int i = 0; i < segment_number; i++) { + end = segments[i]; + ret[i] = MathUtil::deviation(timeSeries, start, end); + start = end; + } + return ret; +} + +double TimeSeriesUtil::euclideanDist(const float* ts_1, const float* ts_2, int len) { + double sum = 0, dp; + for (int i = 0; i < len; i++) { + dp = ts_1[i] - ts_2[i]; + sum += dp * dp; + } + return sum; +} + +double TimeSeriesUtil::euclideanDist(const float* ts_1, const float* ts_2, int len, double bound) { + double sum = 0, dp; + for (int i = 0; i < len && sum < bound; i++) { + dp = ts_1[i] - ts_2[i]; + sum += dp * dp; + } + return sum; +} + +double TimeSeriesUtil::euclideanDist(const float *ts_1, const vector& ts_2, int len, double bound) { + double sum = 0, dp; + for (int i = 0; i < len && sum < bound; i++) { + dp = ts_1[i] - ts_2[i]; + sum += dp * dp; + } + return sum; +} + +double TimeSeriesUtil::euclideanDist(const vector* ts_1, const float* ts_2, int len) { + double sum = 0; + for (int i = 0; i < len; i++) { + double dp = (*ts_1)[i] - ts_2[i]; + sum += dp * dp; + } + return sum; +} + +double TimeSeriesUtil::euclideanDist(float *query_reordered, float *ts, int size, double bound, int *order) +{ + int i; + float sum = 0; + for ( i = 0 ; i < size && sum < bound ; i++ ) + { + //float x = (T[(order[i]+j)]-mean)/std; + float x = ts[order[i]]; + sum += (x - query_reordered[i]) * (x - query_reordered[i]); + } + return sum; +} + +// size must be a multiple of 8 +float TimeSeriesUtil::euclideanDist_SIMD(float * t, float * s, int size, float bound) { + float distance = 0; + int i =0; + float distancef[8]; + + __m256 v_t,v_s,v_d,distancev; + while (size > 0 && distance 0 && distance ::max(); + + cost_prev = (double*)malloc(sizeof(double)*(2*r+1)); + for(k=0; k<2*r+1; k++) cost_prev[k]=numeric_limits::max(); + + for (i=0; i::max(); + + for(j=max(0,i-r); j<=min(len-1,i+r); j++, k++) + { + /// Initialize all row and column + if ((i==0)&&(j==0)) + { + cost[k]=distPeng(A[0],B[0]); + min_cost = cost[k]; + continue; + } + + if ((j-1<0)||(k-1<0)) y = numeric_limits::max(); + else y = cost[k-1]; + if ((i-1<0)||(k+1>2*r)) x = numeric_limits::max(); + else x = cost_prev[k+1]; + if ((i-1<0)||(j-1<0)) z = numeric_limits::max(); + else z = cost_prev[k]; + + /// Classic DTW calculation + cost[k] = min( min( x, y) , z) + distPeng(A[i],B[j]); + + /// Find minimum cost in row for early abandoning (possibly to use column instead of row). + if (cost[k] < min_cost) + { min_cost = cost[k]; + } + } + + /// We can abandon early if the current cummulative distace with lower bound together are larger than bsf + if (i+r < len-1 && min_cost >= bsf) + { free(cost); + free(cost_prev); + return min_cost ; + } + /// Move current array to previous array. + cost_tmp = cost; + cost = cost_prev; + cost_prev = cost_tmp; + } + k--; + + /// the DTW distance is in the last cell in the matrix of size O(m^2) or at the middle of our array. + double final_dtw = cost_prev[k]; + free(cost); + free(cost_prev); + return final_dtw; +} + +double TimeSeriesUtil::dtw(const float* A, const vector& B, int len, int r, double bsf) +{ + + double *cost; + double *cost_prev; + double *cost_tmp; + int i,j,k; + double x,y,z,min_cost; + + /// Instead of using matrix of size O(m^2) or O(mr), we will reuse two array of size O(r). + cost = (double*)malloc(sizeof(double)*(2*r+1)); + for(k=0; k<2*r+1; k++) cost[k]=numeric_limits::max(); + + cost_prev = (double*)malloc(sizeof(double)*(2*r+1)); + for(k=0; k<2*r+1; k++) cost_prev[k]=numeric_limits::max(); + + for (i=0; i::max(); + + for(j=max(0,i-r); j<=min(len-1,i+r); j++, k++) + { + /// Initialize all row and column + if ((i==0)&&(j==0)) + { + cost[k]=distPeng(A[0],B[0]); + min_cost = cost[k]; + continue; + } + + if ((j-1<0)||(k-1<0)) y = numeric_limits::max(); + else y = cost[k-1]; + if ((i-1<0)||(k+1>2*r)) x = numeric_limits::max(); + else x = cost_prev[k+1]; + if ((i-1<0)||(j-1<0)) z = numeric_limits::max(); + else z = cost_prev[k]; + + /// Classic DTW calculation + cost[k] = min( min( x, y) , z) + distPeng(A[i],B[j]); + + /// Find minimum cost in row for early abandoning (possibly to use column instead of row). + if (cost[k] < min_cost) + { min_cost = cost[k]; + } + } + + /// We can abandon early if the current cummulative distace with lower bound together are larger than bsf + if (i+r < len-1 && min_cost >= bsf) + { free(cost); + free(cost_prev); + return min_cost ; + } + /// Move current array to previous array. + cost_tmp = cost; + cost = cost_prev; + cost_prev = cost_tmp; + } + k--; + + /// the DTW distance is in the last cell in the matrix of size O(m^2) or at the middle of our array. + double final_dtw = cost_prev[k]; + free(cost); + free(cost_prev); + return final_dtw; +} + +#define dist(x,y) (((x)-(y))*((x)-(y))) +float TimeSeriesUtil::lb_keogh_data_bound(float* qo, float* upperLemire, float* lowerLemire, float* cb, int len, float bsf) +{ + float lb = 0; + float uu=0,ll=0,d=0; + int i=0; + + int len1 = (len/8)*8; + __m256 tu256, tl256, cb256, Q, calc1, calc2; + __m128 temp1, temp2; + float *cbtmp = static_cast(malloc(sizeof(float) * 8)); + + for(i=0; i uu) + { + d = dist(qo[i],uu); + } + else if(qo[i] < ll) + { + d = dist(qo[i],ll); + } + lb += d; + cb[i] = d; + } + + free( cbtmp); + return lb; +} + +float TimeSeriesUtil::dtwsimd(const float* A, const float* B, float* cb, int len, int r, float bsf, float* tSum, float* pCost, float* rDist) +{ + int length = 2*r + 1; + // SIMD register + //__m256 a256, b256; + + int start, end; + float minCost = 0.0f; + // the first line + for(int k=0; k<=r; k++) + { + rDist[k] = dist(A[0], B[k]); + } + + tSum[0] = rDist[0]; + for(int ij=1; ij<=r; ij++) + tSum[ij] = tSum[ij-1] + rDist[ij]; + + + pCost[0] = tSum[0]; + for(int ij= 1; ij<=r; ij++) + { + pCost[ij] = min(tSum[ij-1],tSum[ij]); + } + pCost[r+1] = tSum[r]; + + for(int i=1; i < len - 1; i++) + { + start = max(0,i-r); + end = min(len - 1, i + r); + + for(int k=start; k<=end; k++) + { + rDist[k-start] = dist(A[i], B[k]); + } + + for(int k=start; k<=end; k++) + { + tSum[k-start] = pCost[k-start] + rDist[k-start]; + } + + minCost = tSum[0]; + for(int k=start+1; k<=end; k++) + { + if(tSum[k-1-start]= bsf) + { + return minCost + cb[i+r+1]; + } + + if((end-start+1) < length && start == 0) + { + pCost[start-start] = tSum[start-start]; + for(int ij= start+1; ij<=end; ij++) + { + pCost[ij-start] = min(tSum[ij-1-start],tSum[ij-start]); + } + pCost[end+1-start] = tSum[end-start]; + } + else + { + for(int ij= start+1; ij<=end; ij++) + { + pCost[ij-1-start] = min(tSum[ij-1-start],tSum[ij-start]); + } + pCost[end-start] = tSum[end-start]; + } + } + + // the last line + start = len - 1 - r; + end = len - 1; + + for(int k=start; k<=end; k++) + { + rDist[k-start] = (A[len - 1] - B[k]) * (A[len - 1] - B[k]); + } + + for(int k=start; k<=end; k++) + { + tSum[k-start] = pCost[k-start] + rDist[k-start]; + } + for(int k=start+1; k<=end; k++) + { + if(tSum[k-1-start]sax[id] != n2->sax[id]) + sum += ((n1->paa_mu[i] - n2->paa_mu[i]) * (n1->paa_mu[i] - n2->paa_mu[i])); + } + return sum; +} + +double TimeSeriesUtil::minDistEstimation(const DSTreeNode *node, InsertedSeries *queryTs) { + double sum = 0; + auto points = node->splitPoints; + + for (int i = 0; i < node->splitPointsLen; i++) { + //use mean and standardDeviation to estimate the distance + int start = DSTreeNode::getSegmentStart(points, i), end = DSTreeNode::getSegmentEnd(points, i); + double tempDist = 0, stdDev = queryTs->getStdEv(start, end), mean = queryTs->getMean(start, end); + //stdDev out the range of min std and max std + if ((stdDev - (*node->nodeSegmentSketches)[i].indicators[2]) * (stdDev - (*node->nodeSegmentSketches)[i].indicators[3]) > 0) { + tempDist += pow(min(abs(stdDev - (*node->nodeSegmentSketches)[i].indicators[2]), abs(stdDev - (*node->nodeSegmentSketches)[i].indicators[3])), 2); + } + + //avg out the range of min mean and max mean + if ((mean - (*node->nodeSegmentSketches)[i].indicators[0]) * (mean - (*node->nodeSegmentSketches)[i].indicators[1]) > 0) { + tempDist += pow(min(abs(mean - (*node->nodeSegmentSketches)[i].indicators[0]), abs(mean - (*node->nodeSegmentSketches)[i].indicators[1])), 2); + } + sum += tempDist * node->getSegmentLength(i); + } + return sum; +} + +double TimeSeriesUtil::minDistEstimation(InsertedSeries &q, const vector &points, int pointsLen, const vector&mean, const vector&stdev){ + double res = 0; + for(int i=0;i &points, int pointsLen, + const vector >&means, const vector >&stdevs, + vector &res){ + // index 0 for max index + res.clear(); + int length = means.size(), maxIndex = 0; + for(int i=0; i= bsfMin) continue; + res.push_back(new PqItemIndex(i, minDist)); + maxIndex = max(maxIndex, i); + } + sort(res.begin(), res.end(), PqItemIndexComparator()); + res.insert(res.begin(), new PqItemIndex(maxIndex, 0)); +} + + +void TimeSeriesUtil::prepareTsWithBoundsAndThreshold(InsertedSeries &queryTs, double bsfMin, const vector &points, int pointsLen, int threshold, + const vector> &means, const vector> &stdevs, + vector&res){ + vector pq; + int length = means.size(); + for(int i=0; i= bsfMin) continue; + if(pq.size() >= threshold) { + double heapTop = pq[0]->dist; + if(heapTop <= minDist) continue; + pop_heap(pq.begin(), pq.end(), PqItemIndexMaxHeap()); + delete pq.back(); + pq.pop_back(); + } + pq.push_back((new PqItemIndex(i, minDist))); + push_heap(pq.begin(), pq.end(), PqItemIndexMaxHeap()); + } + int hs = pq.size(), maxIndex = 0; + res.resize(hs+1); + for(int i=0;iindex; + pop_heap(pq.begin(), pq.end(), PqItemIndexMaxHeap()); + delete pq.back(); + pq.pop_back(); + maxIndex = max(maxIndex, res[hs - i]); + } + res[0] = maxIndex; +} +void clear_pq(vectorpq){ + for(auto * x: pq) + delete x; + pq.clear(); +} + +//void clear_tss(vector*>* tss, vector &heap){ +// bool flag = false; +// for(auto * ts: *tss) { +// flag = false; +// for (auto *ts2:heap) { +// if (ts == ts2->ts) { +// flag = true; +// ts2->needFree = true; +// break; +// } +// } +// if(!flag) delete ts; +// } +// delete tss; +//} + +void TimeSeriesUtil::knnWithBsfAndThreshold(const DSTreeNode& node, InsertedSeries& queryTs, int k, vector &heap, int threshold) { + assert(k>0); + double bsfMin; + if(heap.size() < k) + bsfMin = numeric_limits::max(); + else + bsfMin = heap[0]->dist; + vectorpq; + prepareTsWithBoundsAndThreshold(queryTs, bsfMin, node.splitPoints, node.splitPointsLen, threshold, node.means, node.stdevs, pq); + int len = pq.size(), maxIndex = pq[0]; + auto* tss = node.loadTssRaw(maxIndex); + for(int i=1;i &heap, int pointsLen, double bsfMin) { + vectorpq; + prepareTsWithBounds(q, bsfMin, node.splitPoints, pointsLen, node.means, node.stdevs, pq); + int len = pq.size(), maxIndex = pq[0]->index; + auto *tss = node.loadTssRaw(maxIndex); + for(int i=1;idist >= bsfMin) break; + bsfMin = processSingleSeriesInKnn(q.ts, tss + (pq[i]->index) * Const::tsLength, k, heap, bsfMin); + } + clear_pq(pq); + heap_data_copy(heap); + delete[] tss; +} + +// only for leaf node +void TimeSeriesUtil::knnRow(const DSTreeNode& node, InsertedSeries& q, int k, vector &heap, int threshold) { + double bsfMin; + if(heap.size() < k) + bsfMin = numeric_limits::max(); + else + bsfMin = heap[0]->dist; + + vectorpq; + threshold = min(threshold, node.size); + auto *tss = node.loadTssRaw(threshold); + for(int i=0;i & TimeSeriesUtil::knn(const DSTreeNode& node, InsertedSeries& q, int k){ + assert(k>0); + auto* heap = new vector(); + make_heap(heap->begin(), heap->end(), PqItemSeriesMaxHeap()); + int pointsLen = node.splitPointsLen; + double bsfMin = -numeric_limits::max(); + knnRow(node, q, k, *heap, pointsLen, bsfMin); + return *heap; +} + +//void TimeSeriesUtil::knnRow(const DSTreeNode& node, InsertedSeries& q, int k, vector &heap, int pointsLen, double bsfMin) { +// vectorpq; +// prepareTsWithBounds(q, bsfMin, node.splitPoints, pointsLen, node.means, node.stdevs, pq); +// int len = pq.size(), maxIndex = pq[0]->index; +// auto *tss = node.loadTssVector(maxIndex); +// for(int id=1;iddist >= bsfMin) break; +// bsfMin = processSingleSeriesInKnn(q.ts, (*tss)[(pq[id]->index)], k, heap, bsfMin); +// } +// clear_pq(pq); +// clear_tss(tss, heap); +//} +//vector & TimeSeriesUtil::knnVector(const DSTreeNode& node, InsertedSeries& q, int k){ +// assert(k>0); +// auto* heap = new vector(); +// make_heap(heap->begin(), heap->end(), PqItemSeriesVectorMaxHeap()); +// int pointsLen = node.splitPointsLen; +// double bsfMin = numeric_limits::max(); +// knnRow(node, q, k, *heap, pointsLen, bsfMin); +// return *heap; +//} +//void TimeSeriesUtil::knnWithBsf(const DSTreeNode& node, InsertedSeries& queryTs, int k, vector &heap) { +// assert(k>0); +// double bsfMin; +// if(heap.size() < k) +// bsfMin = numeric_limits::max(); +// else +// bsfMin = heap[0]->dist; +// knnRow(node, queryTs, k, heap, node.splitPointsLen, bsfMin); +//} + +void TimeSeriesUtil::knnWithBsf(const DSTreeNode& node, InsertedSeries& queryTs, int k, vector &heap) { + assert(k>0); + if(node.isLeafNode()){ + double bsfMin; + if(heap.size() < k) + bsfMin = numeric_limits::max(); + else + bsfMin = heap[0]->dist; + node.knnRaw(queryTs, k, heap, -1); + }else{ + if(node.left != nullptr) + knnWithBsf(*node.left, queryTs, k, heap); + if(node.right != nullptr) + knnWithBsf(*node.right, queryTs, k, heap); + } + +} + +double TimeSeriesUtil::processSingleSeriesInKnn(float* queryTs, float *ts, int k, vector &heap, double bsfMin) { + if(heap.size()::max(); + else + return heap[0]->dist; + } + else { + // maxDistTs's distance newDist){ + pop_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + delete heap.back(); + heap.pop_back(); + heap.push_back((new PqItemSeries(ts, newDist, false, true))); + push_heap(heap.begin(), heap.end(), PqItemSeriesMaxHeap()); + return heap[0]->dist; + } + return bsfMin; + } +} + +// only big vertex uses this function +//double +//TimeSeriesUtil::processSingleSeriesInKnn(float *queryTs, vector *ts, int k, vector &heap, +// double bsfMin) { +// if(heap.size()::max(); +// else +// return heap[0]->dist; +// } +// else { +// // maxDistTs's distance newDist){ +// pop_heap(heap.begin(), heap.end(), PqItemSeriesVectorMaxHeap()); +// delete heap.back(); +// heap.pop_back(); +// heap.push_back((new PqItemSeriesVector(ts, newDist, false))); +// push_heap(heap.begin(), heap.end(), PqItemSeriesVectorMaxHeap()); +// return heap[0]->dist; +// } +// return bsfMin; +// } +//} + + +template +string TimeSeriesUtil::str_format(const string &format, Args ... args) +{ + auto size_buf = std::snprintf(nullptr, 0, format.c_str(), args ...) + 1; + std::unique_ptr buf(new(std::nothrow) char[size_buf]); + + if (!buf) + return string{}; + + std::snprintf(buf.get(), size_buf, format.c_str(), args ...); + return std::string(buf.get(), buf.get() + size_buf - 1); } \ No newline at end of file diff --git a/src/Utils/ini.c b/src/Utils/ini.c index c1888d5..997712e 100644 --- a/src/Utils/ini.c +++ b/src/Utils/ini.c @@ -1,298 +1,298 @@ -/* inih -- simple .INI file parser - -SPDX-License-Identifier: BSD-3-Clause - -Copyright (C) 2009-2020, Ben Hoyt - -inih is released under the New BSD license (see LICENSE.txt). Go to the project -home page for more info: - -https://github.com/benhoyt/inih - -*/ - -#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) -#define _CRT_SECURE_NO_WARNINGS -#endif - -#include -#include -#include - -#include "../../include/Utils/ini.h" - -#if !INI_USE_STACK -#if INI_CUSTOM_ALLOCATOR -#include -void* ini_malloc(size_t size); -void ini_free(void* ptr); -void* ini_realloc(void* ptr, size_t size); -#else -#include -#define ini_malloc malloc -#define ini_free free -#define ini_realloc realloc -#endif -#endif - -#define MAX_SECTION 50 -#define MAX_NAME 50 - -/* Used by ini_parse_string() to keep track of string parsing state. */ -typedef struct { - const char* ptr; - size_t num_left; -} ini_parse_string_ctx; - -/* Strip whitespace chars off end of given string, in place. Return s. */ -static char* rstrip(char* s) -{ - char* p = s + strlen(s); - while (p > s && isspace((unsigned char)(*--p))) - *p = '\0'; - return s; -} - -/* Return pointer to first non-whitespace char in given string. */ -static char* lskip(const char* s) -{ - while (*s && isspace((unsigned char)(*s))) - s++; - return (char*)s; -} - -/* Return pointer to first char (of chars) or inline comment in given string, - or pointer to NUL at end of string if neither found. Inline comment must - be prefixed by a whitespace character to register as a comment. */ -static char* find_chars_or_comment(const char* s, const char* chars) -{ -#if INI_ALLOW_INLINE_COMMENTS - int was_space = 0; - while (*s && (!chars || !strchr(chars, *s)) && - !(was_space && strchr(INI_INLINE_COMMENT_PREFIXES, *s))) { - was_space = isspace((unsigned char)(*s)); - s++; - } -#else - while (*s && (!chars || !strchr(chars, *s))) { - s++; - } -#endif - return (char*)s; -} - -/* Similar to strncpy, but ensures dest (size bytes) is - NUL-terminated, and doesn't pad with NULs. */ -static char* strncpy0(char* dest, const char* src, size_t size) -{ - /* Could use strncpy internally, but it causes gcc warnings (see issue #91) */ - size_t i; - for (i = 0; i < size - 1 && src[i]; i++) - dest[i] = src[i]; - dest[i] = '\0'; - return dest; -} - -/* See documentation in header file. */ -int ini_parse_stream(ini_reader reader, void* stream, ini_handler handler, - void* user) -{ - /* Uses a fair bit of stack (use heap instead if you need to) */ -#if INI_USE_STACK - char line[INI_MAX_LINE]; - int max_line = INI_MAX_LINE; -#else - char* line; - size_t max_line = INI_INITIAL_ALLOC; -#endif -#if INI_ALLOW_REALLOC && !INI_USE_STACK - char* new_line; - size_t offset; -#endif - char section[MAX_SECTION] = ""; - char prev_name[MAX_NAME] = ""; - - char* start; - char* end; - char* name; - char* value; - int lineno = 0; - int error = 0; - -#if !INI_USE_STACK - line = (char*)ini_malloc(INI_INITIAL_ALLOC); - if (!line) { - return -2; - } -#endif - -#if INI_HANDLER_LINENO -#define HANDLER(u, s, n, v) handler(u, s, n, v, lineno) -#else -#define HANDLER(u, s, n, v) handler(u, s, n, v) -#endif - - /* Scan through stream line by line */ - while (reader(line, (int)max_line, stream) != NULL) { -#if INI_ALLOW_REALLOC && !INI_USE_STACK - offset = strlen(line); - while (offset == max_line - 1 && line[offset - 1] != '\n') { - max_line *= 2; - if (max_line > INI_MAX_LINE) - max_line = INI_MAX_LINE; - new_line = ini_realloc(line, max_line); - if (!new_line) { - ini_free(line); - return -2; - } - line = new_line; - if (reader(line + offset, (int)(max_line - offset), stream) == NULL) - break; - if (max_line >= INI_MAX_LINE) - break; - offset += strlen(line + offset); - } -#endif - - lineno++; - - start = line; -#if INI_ALLOW_BOM - if (lineno == 1 && (unsigned char)start[0] == 0xEF && - (unsigned char)start[1] == 0xBB && - (unsigned char)start[2] == 0xBF) { - start += 3; - } -#endif - start = lskip(rstrip(start)); - - if (strchr(INI_START_COMMENT_PREFIXES, *start)) { - /* Start-of-line comment */ - } -#if INI_ALLOW_MULTILINE - else if (*prev_name && *start && start > line) { - /* Non-blank line with leading whitespace, treat as continuation - of previous name's value (as per Python configparser). */ - if (!HANDLER(user, section, prev_name, start) && !error) - error = lineno; - } -#endif - else if (*start == '[') { - /* A "[section]" line */ - end = find_chars_or_comment(start + 1, "]"); - if (*end == ']') { - *end = '\0'; - strncpy0(section, start + 1, sizeof(section)); - *prev_name = '\0'; -#if INI_CALL_HANDLER_ON_NEW_SECTION - if (!HANDLER(user, section, NULL, NULL) && !error) - error = lineno; -#endif - } - else if (!error) { - /* No ']' found on section line */ - error = lineno; - } - } - else if (*start) { - /* Not a comment, must be a name[=:]value pair */ - end = find_chars_or_comment(start, "=:"); - if (*end == '=' || *end == ':') { - *end = '\0'; - name = rstrip(start); - value = end + 1; -#if INI_ALLOW_INLINE_COMMENTS - end = find_chars_or_comment(value, NULL); - if (*end) - *end = '\0'; -#endif - value = lskip(value); - rstrip(value); - - /* Valid name[=:]value pair found, call handler */ - strncpy0(prev_name, name, sizeof(prev_name)); - if (!HANDLER(user, section, name, value) && !error) - error = lineno; - } - else if (!error) { - /* No '=' or ':' found on name[=:]value line */ -#if INI_ALLOW_NO_VALUE - *end = '\0'; - name = rstrip(start); - if (!HANDLER(user, section, name, NULL) && !error) - error = lineno; -#else - error = lineno; -#endif - } - } - -#if INI_STOP_ON_FIRST_ERROR - if (error) - break; -#endif - } - -#if !INI_USE_STACK - ini_free(line); -#endif - - return error; -} - -/* See documentation in header file. */ -int ini_parse_file(FILE* file, ini_handler handler, void* user) -{ - return ini_parse_stream((ini_reader)fgets, file, handler, user); -} - -/* See documentation in header file. */ -int ini_parse(const char* filename, ini_handler handler, void* user) -{ - FILE* file; - int error; - - file = fopen(filename, "r"); - if (!file) - return -1; - error = ini_parse_file(file, handler, user); - fclose(file); - return error; -} - -/* An ini_reader function to read the next line from a string buffer. This - is the fgets() equivalent used by ini_parse_string(). */ -static char* ini_reader_string(char* str, int num, void* stream) { - ini_parse_string_ctx* ctx = (ini_parse_string_ctx*)stream; - const char* ctx_ptr = ctx->ptr; - size_t ctx_num_left = ctx->num_left; - char* strp = str; - char c; - - if (ctx_num_left == 0 || num < 2) - return NULL; - - while (num > 1 && ctx_num_left != 0) { - c = *ctx_ptr++; - ctx_num_left--; - *strp++ = c; - if (c == '\n') - break; - num--; - } - - *strp = '\0'; - ctx->ptr = ctx_ptr; - ctx->num_left = ctx_num_left; - return str; -} - -/* See documentation in header file. */ -int ini_parse_string(const char* string, ini_handler handler, void* user) { - ini_parse_string_ctx ctx; - - ctx.ptr = string; - ctx.num_left = strlen(string); - return ini_parse_stream((ini_reader)ini_reader_string, &ctx, handler, - user); +/* inih -- simple .INI file parser + +SPDX-License-Identifier: BSD-3-Clause + +Copyright (C) 2009-2020, Ben Hoyt + +inih is released under the New BSD license (see LICENSE.txt). Go to the project +home page for more info: + +https://github.com/benhoyt/inih + +*/ + +#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS) +#define _CRT_SECURE_NO_WARNINGS +#endif + +#include +#include +#include + +#include "../../include/Utils/ini.h" + +#if !INI_USE_STACK +#if INI_CUSTOM_ALLOCATOR +#include +void* ini_malloc(size_t size); +void ini_free(void* ptr); +void* ini_realloc(void* ptr, size_t size); +#else +#include +#define ini_malloc malloc +#define ini_free free +#define ini_realloc realloc +#endif +#endif + +#define MAX_SECTION 50 +#define MAX_NAME 50 + +/* Used by ini_parse_string() to keep track of string parsing state. */ +typedef struct { + const char* ptr; + size_t num_left; +} ini_parse_string_ctx; + +/* Strip whitespace chars off end of given string, in place. Return s. */ +static char* rstrip(char* s) +{ + char* p = s + strlen(s); + while (p > s && isspace((unsigned char)(*--p))) + *p = '\0'; + return s; +} + +/* Return pointer to first non-whitespace char in given string. */ +static char* lskip(const char* s) +{ + while (*s && isspace((unsigned char)(*s))) + s++; + return (char*)s; +} + +/* Return pointer to first char (of chars) or inline comment in given string, + or pointer to NUL at end of string if neither found. Inline comment must + be prefixed by a whitespace character to register as a comment. */ +static char* find_chars_or_comment(const char* s, const char* chars) +{ +#if INI_ALLOW_INLINE_COMMENTS + int was_space = 0; + while (*s && (!chars || !strchr(chars, *s)) && + !(was_space && strchr(INI_INLINE_COMMENT_PREFIXES, *s))) { + was_space = isspace((unsigned char)(*s)); + s++; + } +#else + while (*s && (!chars || !strchr(chars, *s))) { + s++; + } +#endif + return (char*)s; +} + +/* Similar to strncpy, but ensures dest (size bytes) is + NUL-terminated, and doesn't pad with NULs. */ +static char* strncpy0(char* dest, const char* src, size_t size) +{ + /* Could use strncpy internally, but it causes gcc warnings (see issue #91) */ + size_t i; + for (i = 0; i < size - 1 && src[i]; i++) + dest[i] = src[i]; + dest[i] = '\0'; + return dest; +} + +/* See documentation in header file. */ +int ini_parse_stream(ini_reader reader, void* stream, ini_handler handler, + void* user) +{ + /* Uses a fair bit of stack (use heap instead if you need to) */ +#if INI_USE_STACK + char line[INI_MAX_LINE]; + int max_line = INI_MAX_LINE; +#else + char* line; + size_t max_line = INI_INITIAL_ALLOC; +#endif +#if INI_ALLOW_REALLOC && !INI_USE_STACK + char* new_line; + size_t offset; +#endif + char section[MAX_SECTION] = ""; + char prev_name[MAX_NAME] = ""; + + char* start; + char* end; + char* name; + char* value; + int lineno = 0; + int error = 0; + +#if !INI_USE_STACK + line = (char*)ini_malloc(INI_INITIAL_ALLOC); + if (!line) { + return -2; + } +#endif + +#if INI_HANDLER_LINENO +#define HANDLER(u, s, n, v) handler(u, s, n, v, lineno) +#else +#define HANDLER(u, s, n, v) handler(u, s, n, v) +#endif + + /* Scan through stream line by line */ + while (reader(line, (int)max_line, stream) != NULL) { +#if INI_ALLOW_REALLOC && !INI_USE_STACK + offset = strlen(line); + while (offset == max_line - 1 && line[offset - 1] != '\n') { + max_line *= 2; + if (max_line > INI_MAX_LINE) + max_line = INI_MAX_LINE; + new_line = ini_realloc(line, max_line); + if (!new_line) { + ini_free(line); + return -2; + } + line = new_line; + if (reader(line + offset, (int)(max_line - offset), stream) == NULL) + break; + if (max_line >= INI_MAX_LINE) + break; + offset += strlen(line + offset); + } +#endif + + lineno++; + + start = line; +#if INI_ALLOW_BOM + if (lineno == 1 && (unsigned char)start[0] == 0xEF && + (unsigned char)start[1] == 0xBB && + (unsigned char)start[2] == 0xBF) { + start += 3; + } +#endif + start = lskip(rstrip(start)); + + if (strchr(INI_START_COMMENT_PREFIXES, *start)) { + /* Start-of-line comment */ + } +#if INI_ALLOW_MULTILINE + else if (*prev_name && *start && start > line) { + /* Non-blank line with leading whitespace, treat as continuation + of previous name's value (as per Python configparser). */ + if (!HANDLER(user, section, prev_name, start) && !error) + error = lineno; + } +#endif + else if (*start == '[') { + /* A "[section]" line */ + end = find_chars_or_comment(start + 1, "]"); + if (*end == ']') { + *end = '\0'; + strncpy0(section, start + 1, sizeof(section)); + *prev_name = '\0'; +#if INI_CALL_HANDLER_ON_NEW_SECTION + if (!HANDLER(user, section, NULL, NULL) && !error) + error = lineno; +#endif + } + else if (!error) { + /* No ']' found on section line */ + error = lineno; + } + } + else if (*start) { + /* Not a comment, must be a name[=:]value pair */ + end = find_chars_or_comment(start, "=:"); + if (*end == '=' || *end == ':') { + *end = '\0'; + name = rstrip(start); + value = end + 1; +#if INI_ALLOW_INLINE_COMMENTS + end = find_chars_or_comment(value, NULL); + if (*end) + *end = '\0'; +#endif + value = lskip(value); + rstrip(value); + + /* Valid name[=:]value pair found, call handler */ + strncpy0(prev_name, name, sizeof(prev_name)); + if (!HANDLER(user, section, name, value) && !error) + error = lineno; + } + else if (!error) { + /* No '=' or ':' found on name[=:]value line */ +#if INI_ALLOW_NO_VALUE + *end = '\0'; + name = rstrip(start); + if (!HANDLER(user, section, name, NULL) && !error) + error = lineno; +#else + error = lineno; +#endif + } + } + +#if INI_STOP_ON_FIRST_ERROR + if (error) + break; +#endif + } + +#if !INI_USE_STACK + ini_free(line); +#endif + + return error; +} + +/* See documentation in header file. */ +int ini_parse_file(FILE* file, ini_handler handler, void* user) +{ + return ini_parse_stream((ini_reader)fgets, file, handler, user); +} + +/* See documentation in header file. */ +int ini_parse(const char* filename, ini_handler handler, void* user) +{ + FILE* file; + int error; + + file = fopen(filename, "r"); + if (!file) + return -1; + error = ini_parse_file(file, handler, user); + fclose(file); + return error; +} + +/* An ini_reader function to read the next line from a string buffer. This + is the fgets() equivalent used by ini_parse_string(). */ +static char* ini_reader_string(char* str, int num, void* stream) { + ini_parse_string_ctx* ctx = (ini_parse_string_ctx*)stream; + const char* ctx_ptr = ctx->ptr; + size_t ctx_num_left = ctx->num_left; + char* strp = str; + char c; + + if (ctx_num_left == 0 || num < 2) + return NULL; + + while (num > 1 && ctx_num_left != 0) { + c = *ctx_ptr++; + ctx_num_left--; + *strp++ = c; + if (c == '\n') + break; + num--; + } + + *strp = '\0'; + ctx->ptr = ctx_ptr; + ctx->num_left = ctx_num_left; + return str; +} + +/* See documentation in header file. */ +int ini_parse_string(const char* string, ini_handler handler, void* user) { + ini_parse_string_ctx ctx; + + ctx.ptr = string; + ctx.num_left = strlen(string); + return ini_parse_stream((ini_reader)ini_reader_string, &ctx, handler, + user); } \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index df023c3..e7c63ad 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -570,8 +570,8 @@ void test3(){ //} void generateRandQuery(){ - string fn = "../data/generator/rand-256-2k.bin"; - RandDataGenerator::generate_random_timeseries(256, 2000, fn.c_str()); + string fn = "/home/wzy/data/rand/rand-256-300m.bin"; + RandDataGenerator::generate_random_timeseries(256, 300000000, fn.c_str()); } @@ -643,6 +643,11 @@ void buildFADAS(){ root->save2Disk(Const::fidxfn + "root.idx"); } +void buildDumpyParallel(){ + FADASNode* root = FADASNode::BuildIndexParallel(Const::datafn, Const::saxfn); + root->save2Disk(Const::fidxfn + "root.idx"); +} + void buildTARDISORIGIN(){ TARGNode* root = TARGNode::buildIndex(); root->save2Disk(Const::tardisfn + "root.idx"); @@ -660,6 +665,12 @@ void ngSearch(){ Recall::ngSearchDumpy(root, g); } +void ngSearchDumpyParallel(){ + FADASNode* root = FADASNode::loadFromDisk(Const::saxfn, Const::fidxfn + "root.idx", false); + auto *g = loadGraphSkeleton(); + Recall::ngSearchDumpyParallel(root, g); +} + void ngSearchFuzzy(){ int bound = Const::boundary * 100; Const::fuzzyidxfn += "/" + to_string(bound) + "-" + to_string(Const::max_replica) + "/"; @@ -759,12 +770,24 @@ void exactExprFADAS(){ Recall::exactSearchFADAS(root,g); } +void exactSearchDumpyParallelDTW(){ + FADASNode* root = FADASNode::loadFromDisk(Const::saxfn, Const::fidxfn + "root.idx", false); + auto *g = loadGraphSkeleton(); + Recall::exactSearchDumpyParallelDTW(root,g); +} + void exactExprFADASParallel(){ FADASNode* root = FADASNode::loadFromDisk(Const::saxfn, Const::fidxfn + "root.idx", false); auto *g = loadGraphSkeleton(); Recall::exactSearchDumpyParallel(root,g); } +void multiwayDumpySearch(){ + FADASNode* root = FADASNode::loadFromDisk(Const::saxfn, Const::fidxfn + "root.idx", false); + auto *g = loadGraphSkeleton(); + Recall::multiwayDumpySearch(root, g, Const::fidxfn); +} + void exactExprFADASDTW(){ FADASNode* root = FADASNode::loadFromDisk(Const::saxfn, Const::fidxfn + "root.idx", false); auto *g = loadGraphSkeleton(); @@ -862,6 +885,22 @@ int main() { else Const::logPrint("not supported now!"); break; + case 12: + if(Const::materialized == 1) + multiwayDumpySearch(); + break; + case 13: + if(Const::materialized == 1) + buildDumpyParallel(); + break; + case 14: + if(Const::materialized == 1) + exactSearchDumpyParallelDTW(); + break; + case 15: + if(Const::materialized == 1) + ngSearchDumpyParallel(); + break; default: break; } @@ -974,8 +1013,9 @@ int main() { default: break; } - { - //generateQueryFile(); +{ +//generateRandQuery(); +//generateQueryFile(); //generateGroundTruth(); //generateGroundTruthDTW(); //generateSax(); @@ -1051,7 +1091,4 @@ int main() { // cout << a <