diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..a43cb678c1e54c48b038c30b194b0534d1ed707d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,166 @@
+# Created by https://www.toptal.com/developers/gitignore/api/python
+# Edit at https://www.toptal.com/developers/gitignore?templates=python
+
+### Python ###
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+#   For a library or package, you might want to ignore these files since the code is
+#   intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+#   However, in case of collaboration, if having platform-specific dependencies or dependencies
+#   having no cross-platform support, pipenv may install dependencies that don't work, or not
+#   install all needed dependencies.
+#Pipfile.lock
+
+# poetry
+#   Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
+#   This is especially recommended for binary packages to ensure reproducibility, and is more
+#   commonly ignored for libraries.
+#   https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
+#poetry.lock
+
+# pdm
+#   Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
+#pdm.lock
+#   pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
+#   in version control.
+#   https://pdm.fming.dev/#use-with-ide
+.pdm.toml
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
+
+# PyCharm
+#  JetBrains specific template is maintained in a separate JetBrains.gitignore that can
+#  be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
+#  and can be added to the global gitignore or merged into this file.  For a more nuclear
+#  option (not recommended) you can uncomment the following to ignore the entire idea folder.
+#.idea/
+
+# End of https://www.toptal.com/developers/gitignore/api/python
\ No newline at end of file
diff --git a/Archive/CONTRIBUTING.md b/Archive/CONTRIBUTING.md
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/Archive/CONTRIBUTING.md
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/Archive/PrimingSitePredictor_main_1.0.0.py b/Archive/PrimingSitePredictor_main_1.0.0.py
deleted file mode 100644
index a813d374d0c68540e3d608d855b3589505cbff80..0000000000000000000000000000000000000000
--- a/Archive/PrimingSitePredictor_main_1.0.0.py
+++ /dev/null
@@ -1,4 +0,0 @@
-"""This is supposed to be our main Program, which only implements VC code submitted by and controlled by the group
-members """
-
-print("Hello World") #test run of file and commit via PyCharm
diff --git a/Archive/RIblast-master/LICENSE b/Archive/RIblast-master/LICENSE
deleted file mode 100644
index 9300065e2964ab0169f54689b4e13ef7d71b1c7f..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2016 Tsukasa Fukunaga
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/Archive/RIblast-master/Makefile b/Archive/RIblast-master/Makefile
deleted file mode 100644
index e6980968a08b45d37abceedf476476de2490c543..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-CXXFLAGS = -O3
-
-RIblast: main.cpp db_construction_parameters.cpp db_construction.cpp  fastafile_reader.cpp encoder.cpp sais.c raccess.cpp energy_par.h rna_interaction_search.cpp rna_interaction_search_parameters.cpp seed_search.cpp ungapped_extension.cpp gapped_extension.cpp
-
-	$(CXX) $(CXXFLAGS) -o RIblast main.cpp db_construction_parameters.cpp fastafile_reader.cpp db_construction.cpp encoder.cpp raccess.cpp rna_interaction_search.cpp rna_interaction_search_parameters.cpp ungapped_extension.cpp seed_search.cpp gapped_extension.cpp -x c sais.c
diff --git a/Archive/RIblast-master/README.md b/Archive/RIblast-master/README.md
deleted file mode 100644
index a6d949597fb156e2293cc53e5fc66a585517a973..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/README.md
+++ /dev/null
@@ -1,87 +0,0 @@
-# RIblast
-RIblast is ultrafast RNA-RNA interaction prediction software based on seed-and-extension algorithm for comprehensive lncRNA interactome analysis.
-
-## Version
-Version 1.2.0 (2019/11/02)
-
-## Acknowledgements
-We used BL* energy model as RNA secondary structure energy model.
-You can download this energy model from  http://www.cs.ubc.ca/labs/beta/Projects/RNA-Params
-We thank Dr. Mirela Andronescu for the development of this model.
-
-## Usage
-RIblast consists of database construction search step and rna interactin search step. Firstly, you have to generate formatted database files from FASTA fomatted RNA sequences file using RIblast "db" command. RIblast "db" command requires 2 options ([-i InputFastaFile] and [-o OutputDbName]). Then, you can search RNA-RNA interaction of a query seuence to database sequences using RIblast "ris" command. RIblast "ris" command requires 3 options ([-i InputFastaFile], [-o OutputFileName] and [-d DatabaseFileName]). 
-
-## Example
-    ./RIblast db -i dbRNA.fa -o test_db
-    ./RIblast ris -i queryRNA.fa -o output.txt -d test_db
-
-## Command and Options
-    db: convert a FASTA file to RIblast database files  
-
-     RIblast db [-i InputFastaFile] [-o OutputDbName] [-r RepeatMaskingStyle]  
-                [-s LookupTableSize] [-w MaximalSpan] [-d MinAccessibleLength]  
-   
-    Options:
-    (Required)
-        -i STR    RNA sequences in FASTA format
-        -o STR    The database name
-        
-    (Optional) 
-        -r INT    Designation of repeat masking style 0:hard-masking, 1:soft-masking, 2:no-masking [default:0]
-        -s INT    Lookup table size of short string search [default: 8]
-        -w INT    The constraint of maximal distance between the bases that form base pairs. This parameter have to be set to 20 and over. [default: 70]
-        -d INT    Minimum accessible length for accessibility approximation [defualt:5]
-        
-    ris: search RNA-RNA interaction between a query and database sequences
-    
-    RIblast ris [-i InputFastaFile] [-o OutputFileName] [-d DatabaseFileName]
-                [-l MaxSeedLength] [-e HybridizationEnergyThreshold] [-f InteractionEnergyThreshold]
-                [-x DropOutLengthInGappedExtension] [-y DropOutLengthInUngappedExtension]
-                [-g OutputEnergyThreshold] [-s OutputStyle]
-                
-    Options:
-    (Required)
-        -i STR    RNA sequences in FASTA format
-        -o STR    Output file name
-        -d STR    The database name
-        
-    (Optional)
-        -l INT    Max size of seed length [default:20]
-        -e DBL    Hybridization energy threshold for seed search [default: -6.0]
-        -f DBL    Interaction energy threshold for removal of the interaction candidate before gapped extension [default: -4.0]
-        -x INT    DropOut Length in gapped extension [defualt:16]
-        -y INT    DropOut Length in ungapped extension [defualt:5]
-        -g DBL    Energy threshold for output [defualt:-8.0]
-        -s INT    Designation of output format style 0:simplified output style, 1:detailed output style [defualt:0]
-
-## Output file format
-RIblast outputs detected interactions as follows.
-An interaction is expressed in five columns.The first, second, third, fourth and fifth column of an interaction describes intearction id, name of query RNA, name of target RNA, interaction energy of the interaction, and interacted regions ([region in query]:[region in target]), respectively.
-
-Example:  
-
-RIblast ris result  
-input:test_input.txt,database:test_db,RepeatFlag:0,MaximalSpan:100,MinAccessibleLength:3,MaxSeedLength:20,InteractionEnergyThreshold:0,HybridEnergyThreshold:3,FinalThreshold:0,DropOutLengthWoGap:5,DropOutLengthWGap:16  
-Id,Query name, Query Length, Target name, Target Length, Accessibility Energy, Hybridization Energy, Interaction Energy, BasePair  
-0,qrna,100,target_rna1,200,9.44198,-19.66,-10.218,(4-21:30-13)  
-1,qrna,100,target_rna2,150,5.95465,-15.06,-9.10535,(72-83:185-170)  
-
-Query Length and Target Length means the region of non-repeat region when repeat sequences are masked.  
-If you need the information of interacted base pair, please designate the output format style as detailed output style.
-
-## License
-This software is released under the MIT License, see LICENSE.txt.
-
-## Changelogs
-2019/11/02 Version 1.2.0 was released. The calculation speed is about twice as fast as before.  
-2017/11/30 Version 1.1.3 buf fix:calculation of dangling energy.  
-2017/07/06 Version 1.1.2 I changed output file format.  
-2016/12/07 Version 1.1.1 I changed output file format.  
-2016/11/21 Version 1.1.0 was released.  
-2016/10/10 Version 1.0.2 bug fix: I fixed a bug in accessibility calculation.  
-2016/09/27 Version 1.0.1 bug fix: I fixed a bug in loading fastafile and calculation of dangling energy. I also changed output file format.  
-2016/08/31 Version 1.0.0 was released.
-
-## Reference
-Tsukasa Fukunaga and Michiaki Hamada. "RIblast: An ultrafast RNA-RNA interaction prediction system based on a seed-and-extension approach." btx287, Bioinformatics (2017)
diff --git a/Archive/RIblast-master/RIblast b/Archive/RIblast-master/RIblast
deleted file mode 100644
index 3ca450c57ea3f51dbb01a743bfaa087a144276ee..0000000000000000000000000000000000000000
Binary files a/Archive/RIblast-master/RIblast and /dev/null differ
diff --git a/Archive/RIblast-master/dbRNA.fa b/Archive/RIblast-master/dbRNA.fa
deleted file mode 100644
index e108075815031c42cf01142645040707d3125a8b..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/dbRNA.fa
+++ /dev/null
@@ -1,76 +0,0 @@
->Transcript_1
-TTTTTTTTTTTTTTTTTTTATGGATGATTATCACGTAAATACTGCCTTCTCAATGGGCAGAGGTAACCAGCAGGATGAT
-GGCAATAGTGAAAGCAACAGCATGCATACACAACCAAGCACTATGGCGCCCGCTACGCTG
-AGAATGATGGGAAAAAGTCCACAGCAGCAGCAGCAGCAGAACACACCGCTAATGCCCCCG
-GCGGATATCAAATACGCCAATAATGGTAACTCACATCAAGCAGAGCAAAAGGAGAGACAA
-GTAGAACTTGAAGGTAAATCGAGAGAGAATGCACCAAAGCCAAATACTACCAGCCAGAGT
-CGAGTTTCGTCTTCTCAGGGCATGCCTAAGCAGTTTCATCGAAAATCGTTAGGAGATTGG
-GAGTTTGTTGAAACAGTTGGTGCAGGTTCTATGGGTAAAGTGAAGCTGGCAAAACATCGT
-TACACTAATGAGGTTTGTGCAGTAAAAATTGTAAACCGTGCTACAAAGGCTTTCCTACAT
-AAAGAACAAATGCTGCCACCACCCAAAAATGAACAAGATGTTTTGGAGAGACAGAAGAAA
-TTAGAGAAGGAAATATCTAGGGACAAAAGAACTATTCGAGAAGCGTCCTTGGGACAAATC
-TTATATCATCCACACATATGTAGACTTTTTGAGATGTGCACGTTGTCAAATCATTTCTAT
-ATGTTGTTTGAATATGTTTCAGGTGGTCAGCTGTTAGACTATATCATCCAACATGGGTCA
-ATACGAGAACACCAAGCGAGAAAGTTTGCTAGGGGTATCGCGAGCGCCTTAATATATTTG
-CATGCTAACAACATCGTCCATAGAGATTTGAAGATAGAAAATATAATGATTTCAGATTCC
-AGTGAAATCAAGATAATTGATTTTGGACTTTCAAATATTTATGATTCTAGGAAGCAGCTT
-CATACATTCTGTGGCTCTCTGTATTTTGCCGCTCCCGAGCTGTTAAAAGCGAATCCTTAT
-ACAGGACCTGAAGTAGATGTCTGGTCATTTGGTGTAGTTTTATTTGTTTTGGTATGCGGT
-AAAGTGCCATTTGACGACGAAAATTCGAGCGTTTTACATGAAAAGATCAAGCAAGGTAAG
-GTTGAATATCCCCAACATTTATCTATCGAAGTAATATCACTGTTATCCAAAATGTTGGTA
-GTAGATCCGAAAAGAAGAGCCACACTTAAACAGGTTGTGGAGCACCACTGGATGGTAAGA
-GGGTTCAATGGTCCCCCTCCTTCTTACTTACCGAAAAGAGTTCCCCTAACTATCGAAATG
-CTTGATATAAATGTCTTAAAAGAAATGTACCGTTTAGAATTTATTGACGATGTAGAGGAA
-ACAAGAAGTGTTTTGGTCAGTATAATCACAGATCCTACTTACGTTCTTCTCTCTAGACAA
-TACTGGACTTTAGCGGCCAAAATGAACGCAGAATCCAGTGATAACGGAAACGCGCCAAAC
-ATAACAGAGAGTTTTGAAGACCCAACTCGGGCATATCATCCAATGATTTCCATATATTAC
-TTGACTTCTGAGATGCTTGATAGGAAACATGCGAAAATTCGGAATCAACAACAGCGACAG
-AGCCACGAAAATATAGAAAAGCTTTCTGAAATACCGGAAAGTGTGAAGCAAAGGGACGTA
-GAGGTCAATACAACCGCTATGAAATCAGAGCCAGAAGCCACGTTGGCGACAAAAGATACC
-TCTGTGCCATTCACTCCAAAGAATAGCGATGGCACAGAGCCCCCCTTACATGTCTTAATT
-CCACCGAGGTTAGCAATGCCAGAACAAGCGCATACGTCACCAACGAGTAGAAAAAGTTCT
-GATAATCAACGCCGTGAAATGGAATATGCTCTCTCTCCAACTCCTCAGGGAAATGACTAT
-CAACAATTTAGGGTACCTTCAACTACTGGCGATCCCTCAGAAAAGGCGAAGTTTGGGAAT
-ATATTTAGAAAATTATCACAGCGCCGTAAAAAGACCATTGAACAGACATCTGTTAATAGT
-AATAATAGTATCAATAAACCTGTGCAAAAGACGCATTCTCGCGCTGTTTCAGACTTTGTC
-CCTGGTTTTGCTAAACCGAGTTATGATTCAAATTATACCATGAATGAGCCTGTCAAGACA
-AACGATAGCAGAGGTGGCAATAAAGGTGACTTTCCAGCATTGCCTGCGGATGCAGAAAAT
-ATGGTAGAGAAGCAAAGGGAGAAGCAAATTGAAGAAGATATAATGAAATTGCATGATATT
-AATAAACAGAATAATGAAGTTGCAAAAGGAAGCGGGCGGGAAGCTTACGCTGCACAGAAG
-TTTGAAGGAAGCGACGACGACGAGAATCATCCCTTACCACCTCTCAATGTTGCAAAAGGT
-CGAAAACTACATCCAAGCGCAAGAGCTAAATCAGTTGGTCATGCTCGTCGTGAATCACTC
-AAATATATGAGACCCCCAATGCCTTCATCTGCCTATCCTCAGCAAGAGCTTATAGATACT
-GGGTTCTTAGAATCAAGTGACGATAACAAATCCGATAGTTTGGGAAATGTTACTTCACAG
-ACGAATGATAGCGTCAGCGTGCATTCTGTGAACGCACACATAAACTCGCCATCTGTGGAG
-AAGGAATTAACAGATGAAGAGATATTGCAGGAAGCTTCTAGAGCTCCAGCCGGTTCTATG
-CCATCCATCGATTTCCCCCGTTCTTTATTTTTGAAGGGTTTCTTTTCTGTTCAGACAACT
-TCATCGAAGCCTTTGCCAATTGTTAGATACAAGATTATGTTTGTTCTGAGGAAAATGAAT
-ATAGAGTTCAAGGAGGTTAAGGGTGGTTTTGTTTGTATGCAAAGGTTCTCTTCCAATAAT
-GTGGCAGCGAAGAGAGAAGGGACTCCAAGATCGATCATGCCACTTTCGCACCACGAATCC
-ATTAGACGTCAAGGCTCTAATAAATACTCACCTTCTTCTCCTTTGACAACTAATTCCATT
-CACCAGAGAAAAACATTTTTTTTTTTTTTTTTTTTCTATTACCGAAACCTATGGAGATGATAAGCATTCGGGAACATCT
-TTGGAGAACATCCACCAACAAGGTGACGGTAGCGAAGGCATGACTACAACAGAAAAAGAG
-CCCATCAAATTCGAAATTCATATCGTCAAGGTTCGTATTGTTGGTTTAGCCGGTGTGCAT
-TTTAAGAAAATTTCTGGGAACACTTGGTTGTATAAAGAGCTGGCTTCTAGTATATTAAAA
-GAACTAAAGTTGTAA
->Transcript_2
-TTTTTTTTTTTTTTTTTTTTTATGTATGTTGATCCGATGAACAACAATGAAATCAGGAAATTAAGCATTACTGCCAAGACA
-GAAACAACTCCAGATAACGTTGGACAAGACATTCCTGTAAACGCACATTCGGTGCATGAG
-GAATGTTCTTCCAACACACCCGTGGAGATAAATGGAAGAAACAGCGGAAAGTTGAAAGAA
-GAAGCGTCTGCAGGTATTTGTTTGGTTAAAAAACCAATGCTACAATATAGAGATACCTCA
-GGAAAGTATTCCCTAAGTGACTTTCAGATTTTAAGAACTTTGGGAACTGGCTCATTTGGG
-AGAGTTCACCTAATTCGTTCCAATCACAATGGGAGGTTTTACGCTTTGAAGACATTGAAA
-AAGCACACTATAGTGAAGCTGAAGCAGGTTGAACACACCAATGACGAACGCCGAATGCTT
-TCAATTGTTTCACATCCATTCATCATTCGAATGTGGGGAACGTTCCAAGATTCTCAGCAA
-GTTTTCATGGTAATGGACTACATTGAAGGTGGTGAATTATTTTCTTTACTACGTAAATCT
-CAAAGATTTCCCAACCCAGTAGCCAAATTTTATGCCGCAGAGGTATGCTTAGCGTTGGAA
-TATTTGCACAGTAAGGATATAATATATATTTTTTTTTTTTTTTTTTTTTTTTTTGAGACTTGAAACCAGAAAATATCCTTCTAGAT
-AAAAACGGCCATATCAAGATAACCGACTTTGGCTTCGCAAAATACGTTCCCGATGTCACA
-TACACATTATGTGGCACACCAGATTACATAGCGCCGGAAGTGGTCAGTACAAAACCGTAT
-AATAAATCAGTGGATTGGTGGAGTTTTGGTGTGCTAATCTATGAAATGCTTGCCGGATAC
-ACTCCATTTTACAATTCGAACACCATGAAAACTTACGAAAATATACTGAACGCCGAATTG
-AAGTTCCCACCATTTTTCCATCCAGACGCGCAGGACTTATTGAAGAAGCTAATTACCAGA
-GACTTAAGTGAAAGGTTGGGTAACTTACAAAATGGAAGTGAAGATGTCAAGAACCATCCG
-TGGTTTAACGAAGTGATATGGGAGAAATTGTTAGCAAGATACATAGAAACGCCGTACGAA
-CCACCAATCCAACAGGGCCAAGGTGACACTTCTCAATTTGACAGATACCCTGAAGAGGAA
-TTCAACTATGGAATTCAAGGGGAGGATCCATATATGGATTTAATGAAAGAATTTTAATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
\ No newline at end of file
diff --git a/Archive/RIblast-master/db_construction.cpp b/Archive/RIblast-master/db_construction.cpp
deleted file mode 100644
index 29af5e46e3ad6c870be1ead32dd8e2954ec54af2..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/db_construction.cpp
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * db_construction.cpp
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#include "db_construction.h"
-#include "fastafile_reader.h"
-#include "encoder.h"
-#include "sais.h"
-#include "raccess.h"
-#include <math.h>
-#include <time.h> 
-          
-void DbConstruction::Run(const DbConstructionParameters parameters){
-  vector<string> sequences; sequences.reserve(10);
-  vector<unsigned char> encoded_sequences;
-  vector<int> suffix_array;
-  vector<vector <int> > start_hash; start_hash.reserve(parameters.GetHashSize());
-  vector<vector <int> > end_hash; start_hash.reserve(parameters.GetHashSize());
-
-  ReadFastaFile(parameters, sequences);
-  CalculateAccessibility(parameters,sequences);
-  ConstructSuffixArray(parameters, sequences,encoded_sequences,suffix_array);
-  ConstructHashForShortSubstring(parameters, encoded_sequences, suffix_array, start_hash, end_hash);
-
-  SaveIndexData(parameters.GetDbFilename(), suffix_array, start_hash, end_hash);
-  SaveSequenceData(parameters.GetDbFilename(), sequences, encoded_sequences);
-  
-}
-
-void DbConstruction::ReadFastaFile(const DbConstructionParameters parameters,  vector<string> &sequences){
-  vector<string> names; names.reserve(10);
-  FastafileReader fastafile_reader;
-  fastafile_reader.ReadFastafile(parameters.GetInputFilename(), sequences, names);
-  SaveBasicInformation(parameters, names);
-}
-
-void DbConstruction::CalculateAccessibility(const DbConstructionParameters parameters, vector<string> &sequences){
-  Raccess raccess(parameters.GetDbFilename(), parameters.GetMaximalSpan(), parameters.GetMinAccessibleLength());
-  for (int i = 0; i < sequences.size() ; i++){
-    raccess.Run(sequences[i]);
-  }
-}
-
-void DbConstruction::ConstructSuffixArray(const DbConstructionParameters parameters, vector<string> &sequences,  vector<unsigned char> &encoded_sequences, vector<int> &suffix_array){
-  Encoder encoder(parameters.GetRepeatFlag());
-  encoder.Encode(sequences, encoded_sequences, 1);
-  suffix_array.resize(encoded_sequences.size());
-  sais(&encoded_sequences[0], &suffix_array[0], encoded_sequences.size());
-};
-
-void DbConstruction::ConstructHashForShortSubstring(const DbConstructionParameters parameters,  vector<unsigned char> &encoded_sequences, vector<int> &suffix_array, vector<vector <int> > &start_hash, vector<vector <int> > &end_hash){
-  int nucleotide_size = 4;
-  
-  for(int i = 0; i < parameters.GetHashSize(); i++){
-    vector<int> temp_vector; temp_vector.reserve((int)pow(nucleotide_size,i+1));
-    start_hash.push_back(temp_vector);
-    vector<int> temp_vector2; temp_vector2.reserve((int)pow(nucleotide_size,i+1));
-    end_hash.push_back(temp_vector2);
-  }
-
-  int start = 0;  int end = 0;
-  for(int i = 0; i < parameters.GetHashSize(); i++){
-    for(int j  =0; j < (int)pow(nucleotide_size,i+1); j++){
-      unsigned char c = (j%4)+2;
-      if(i == 0){
-	start = 0;
-	end = suffix_array.size()-1;
-      }else{
-	start = start_hash[i-1][j/4];
-	end = end_hash[i-1][j/4];
-      }
-      Search(encoded_sequences, suffix_array, &start, &end, c, i);
-      start_hash[i].push_back(start);
-      end_hash[i].push_back(end);
-    }
-  }
-}
-
-void DbConstruction::SaveSequenceData(string file_name, vector<string> &sequences, vector<unsigned char> &encoded_sequences){
-  ofstream of((file_name+".seq").c_str(), ios::out | ios::binary);
-  int number_of_seq = sequences.size();
-  of.write(reinterpret_cast<const char*>(&number_of_seq), sizeof(int));
-  for(int i = 0; i < number_of_seq; i++){
-    int seq_size = sequences[i].size();
-    of.write(reinterpret_cast<const char*>(&seq_size), sizeof(int));
-  }
-  int count = encoded_sequences.size();
-  vector<unsigned char>::iterator it;
-  of.write(reinterpret_cast<const char*>(&count), sizeof(int));
-  for(it = encoded_sequences.begin(); it != encoded_sequences.end(); it++){
-    of.write(reinterpret_cast<const char*>(&*it), sizeof(unsigned char));
-  }
-  of.close();
-}
-
-void  DbConstruction::SaveIndexData(string file_name, vector<int> &suffix_array, vector<vector <int> > &start_hash, vector<vector <int> > &end_hash){
-  ofstream of((file_name+".ind").c_str(), ios::out | ios::binary);
-  int count = suffix_array.size();
-  vector<int>::iterator it;
-  of.write(reinterpret_cast<const char*>(&count), sizeof(int));
-  for(it = suffix_array.begin(); it != suffix_array.end(); it++){
-    of.write(reinterpret_cast<const char*>(&*it), sizeof(int));
-  }
-  for(int i = 0; i< start_hash.size();i++){
-    for(it = start_hash[i].begin(); it != start_hash[i].end(); it++){
-      of.write(reinterpret_cast<const char*>(&*it), sizeof(int));
-    }
-  }
-  for(int i = 0; i< end_hash.size();i++){
-    for(it = end_hash[i].begin(); it != end_hash[i].end(); it++){
-      of.write(reinterpret_cast<const char*>(&*it), sizeof(int));
-    }
-  }
-  of.close();
-}
-
-void DbConstruction::SaveBasicInformation(DbConstructionParameters parameters, vector<string> &names){
-  ofstream of((parameters.GetDbFilename()+".bas").c_str(), ios::out | ios::binary);
-  int hash_size = parameters.GetHashSize();
-  int repeat_flag = parameters.GetRepeatFlag();
-  int maximal_span = parameters.GetMaximalSpan();
-  int min_accessible_length = parameters.GetMinAccessibleLength();
-  of.write(reinterpret_cast<const char*>(&hash_size), sizeof(int));
-  of.write(reinterpret_cast<const char*>(&repeat_flag), sizeof(int));
-  of.write(reinterpret_cast<const char*>(&maximal_span), sizeof(int));
-  of.write(reinterpret_cast<const char*>(&min_accessible_length), sizeof(int));
-  of.close();
-  of.open((parameters.GetDbFilename()+".nam").c_str(), ios::out);
-  for(int i = 0; i < names.size(); i++){
-    of << names[i] << endl;
-  }
-
-  of.close();
-}
-
-void DbConstruction::Search(vector<unsigned char> &encoded_sequences, vector<int> &suffix_array, int* start, int* end, unsigned char c, int offset){
-  int s = *start;
-  int e = *end;
-  int m;
-
-  if (suffix_array[s] + offset >= encoded_sequences.size()) {
-    ++(*start);
-  }
-  
-  if(s>e){
-    *start = 1;
-    *end = 0;
-    return;
-  }else if (s == e) {
-    if (encoded_sequences[suffix_array[s]+offset] == c) {
-      return;
-    } else {
-      *start = 1;
-      *end = 0;
-      return;
-    }
-  }
-  
-  if (encoded_sequences[suffix_array[s]+offset] != c) {
-    while (s < e - 1) {
-      m = (s + e) / 2;
-      if (encoded_sequences[suffix_array[m]+offset] < c) {
-        s = m;
-      } else {
-        e = m;
-      }
-    }
-    if (encoded_sequences[suffix_array[e]+offset] != c) {
-      *start = 1;
-      *end = 0;
-      return;
-    }
-    *start = e;
-    s = e;
-    e = *end;
-  }
-
-  if (encoded_sequences[suffix_array[e]+offset] != c) {
-    while (s < e - 1) {
-      m = (s + e) / 2;
-      if (encoded_sequences[suffix_array[m]+offset] > c) {
-        e = m;
-      } else {
-        s = m;
-      }
-    }
-    if (encoded_sequences[suffix_array[s]+offset] != c) {
-      *start = 1;
-      *end = 0;
-      return;
-    }
-    *end = s;
-  }
-  return;
-}
diff --git a/Archive/RIblast-master/db_construction.h b/Archive/RIblast-master/db_construction.h
deleted file mode 100644
index a2aa6946cb29e8011140022e32880002f1430e2d..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/db_construction.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * db_construction.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef DB_CONSTRUCTION_H
-#define DB_CONSTRUCTION_H
-
-#include "db_construction_parameters.h"
-#include <vector>
-
-class DbConstruction {
- public:
-  DbConstruction() {}
-  void Run(const DbConstructionParameters parameters);
- private:
-  void ReadFastaFile(const DbConstructionParameters parameters,  vector<string> &sequences);
-  void CalculateAccessibility(const DbConstructionParameters parameters, vector<string> &sequences);
-  void ConstructSuffixArray(const DbConstructionParameters parameters, vector<string> &sequences,  vector<unsigned char> &encoded_sequences, vector<int> &suffix_array);
-  void ConstructHashForShortSubstring(const DbConstructionParameters parameters,  vector<unsigned char> &encoded_sequences, vector<int> &suffix_array, vector<vector <int> > &start_hash, vector<vector <int> > &end_hash);
-  void Search(vector<unsigned char> &encoded_sequences, vector<int> &suffix_array, int* start, int* end, unsigned char c, int offset);
-  void SaveBasicInformation(DbConstructionParameters parameters, vector<string> &names);
-  void SaveIndexData(string file_name, vector<int> &suffix_array, vector<vector <int> > &start_hash, vector<vector <int> > &end_hash);
-  void SaveSequenceData(string file_name,  vector<string> &sequences, vector<unsigned char> &encoded_sequences);
-};
-
-#endif
diff --git a/Archive/RIblast-master/db_construction_parameters.cpp b/Archive/RIblast-master/db_construction_parameters.cpp
deleted file mode 100644
index d1f0dd2a3d4a8f0cbc333659cc45f7490789c3b4..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/db_construction_parameters.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  db_construction_parameters.cpp
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#include "db_construction_parameters.h"
-#include <getopt.h>
-#include <stdlib.h>
-
-void DbConstructionParameters::SetParameters(int argc, char* argv[]) {
-  int c;
-  extern char *optarg;
-  while ((c = getopt(argc, argv, "i:o:r:s:w:d:t:")) != -1) {
-    switch (c) {
-    case 'i':
-      _input_filename = optarg;
-      break;
-
-    case 'o':
-      _db_filename = optarg;
-      break;
-
-    case 'r':
-      _repeat_flag = atoi(optarg);
-      break;
-
-    case 's':
-      _hash_size = atoi(optarg);
-      break;
-
-    case 'w':
-      _maximal_span = atoi(optarg);
-      break;
-      
-    case 'd':
-      _min_accessible_length = atoi(optarg);
-      break;
-
-    default:
-      cerr << "The argument is invalid command." << endl;
-      exit(1);
-    }
-  }
-}
diff --git a/Archive/RIblast-master/db_construction_parameters.h b/Archive/RIblast-master/db_construction_parameters.h
deleted file mode 100644
index b847cecf0a8e1e6b3966d8063b8c91cdfa5037f2..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/db_construction_parameters.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * db_construction_parameters.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef DB_CONSTRUCTION_PARAMETERS_H
-#define DB_CONSTRUCTION_PARAMETERS_H
-
-#include <string>
-#include <cstdio>
-#include <iostream>
-using namespace std;
-
-class DbConstructionParameters{
- private:
-  string _db_filename;
-  string _input_filename;
-  int _hash_size;
-  int _repeat_flag;
-  int _maximal_span;
-  int _min_accessible_length;
-  
- public:
-  DbConstructionParameters(){
-    _db_filename = "";
-    _input_filename = "";
-    _hash_size = 8;
-    _repeat_flag = 0;
-    _maximal_span = 70;
-    _min_accessible_length = 5;
-  }
-  void SetParameters(int argc, char* argv[]);
-  
-  string GetDbFilename() const {
-    return _db_filename;
-  }
-
-  string GetInputFilename() const {
-    return _input_filename;
-  }
-
-  int GetHashSize() const {
-    return _hash_size;
-  }
-
-  int GetRepeatFlag() const {
-    return _repeat_flag;
-  }
-
-  int GetMaximalSpan() const {
-    return _maximal_span;
-  }
-
-  int GetMinAccessibleLength() const {
-    return _min_accessible_length;
-  }
-};
-
-#endif
diff --git a/Archive/RIblast-master/encoder.cpp b/Archive/RIblast-master/encoder.cpp
deleted file mode 100644
index c605de4ea2f1bb95dfca67bab51117c91ee74806..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/encoder.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * encoder.cpp
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#include "encoder.h"
-
-void Encoder::Encode(vector<string> &sequences, vector<unsigned char> &encoded_sequences, int r){
-  for(int i = 0; i < sequences.size(); i++){
-    if(r == 0){
-      for(int j = 0; j<sequences[i].size();j++){
-	encoded_sequences.push_back(_code_table[static_cast<int>(sequences[i][j])]);  
-      }
-    }else{
-      for(int j = sequences[i].size()-1; j>= 0; j--){
-	encoded_sequences.push_back(_code_table[static_cast<int>(sequences[i][j])]);  
-      }
-    }
-    encoded_sequences.push_back(_sentinel_character);
-  }
-}
-
-void Encoder::Encode(string &sequence, vector<unsigned char> &encoded_sequence, int r){
-  if(r == 0){
-    for(int i = 0; i<sequence.size();i++){
-      encoded_sequence.push_back(_code_table[static_cast<int>(sequence[i])]);  
-    }
-  }else{
-    for(int i = sequence.size()-1; i>= 0; i--){
-      encoded_sequence.push_back(_code_table[static_cast<int>(sequence[i])]);  
-    }
-  }
-  encoded_sequence.push_back(_sentinel_character);
-}
diff --git a/Archive/RIblast-master/encoder.h b/Archive/RIblast-master/encoder.h
deleted file mode 100644
index 7000845a2a124ab5002e79e9ea440c558140db7d..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/encoder.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * encoder.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef ENCODER_H
-#define ENCODER_H
-
-#include <limits.h>
-#include <stdlib.h>
-#include <string>
-#include <vector>
-#include <iostream>
-
-using namespace std;
-
-class Encoder {
- public:
-  Encoder(int flag) {
-    _sentinel_character = 0;
-    _unknown_character = 1; 
-    if(flag == 0){
-      for (int i = 0; i < UCHAR_MAX; ++i) {
-	_code_table[i] = _unknown_character;
-      }
-      
-      _code_table[static_cast<int>('A')] = 2;
-      _code_table[static_cast<int>('C')] = 3;
-      _code_table[static_cast<int>('G')] = 4;
-      _code_table[static_cast<int>('T')] = 5;
-      _code_table[static_cast<int>('U')] = 5;
-      
-    }else if(flag == 1){
-      for (int i = 0; i < UCHAR_MAX; ++i) {
-	_code_table[i] = _unknown_character;
-      }
-      
-      _code_table[static_cast<int>('A')] = 2;
-      _code_table[static_cast<int>('C')] = 3;
-      _code_table[static_cast<int>('G')] = 4;
-      _code_table[static_cast<int>('T')] = 5;
-      _code_table[static_cast<int>('U')] = 5;
-      _code_table[static_cast<int>('a')] = 6;
-      _code_table[static_cast<int>('c')] = 7;
-      _code_table[static_cast<int>('g')] = 8;
-      _code_table[static_cast<int>('t')] = 9;
-      _code_table[static_cast<int>('u')] = 9;
-      
-    }else if(flag == 2){
-      for (int i = 0; i < UCHAR_MAX; ++i) {
-	_code_table[i] = _unknown_character;
-      }
-      _code_table[static_cast<int>('A')] = 2;
-      _code_table[static_cast<int>('C')] = 3;
-      _code_table[static_cast<int>('G')] = 4;
-      _code_table[static_cast<int>('T')] = 5;
-      _code_table[static_cast<int>('U')] = 5;
-      _code_table[static_cast<int>('a')] = 2;
-      _code_table[static_cast<int>('c')] = 3;
-      _code_table[static_cast<int>('g')] = 4;
-      _code_table[static_cast<int>('t')] = 5;
-      _code_table[static_cast<int>('u')] = 5;
-      
-    }else{
-      cerr << "Error: -r option must be 0, 1, or 2." << endl;
-      exit(1);
-    }
-  }
-  void Encode(vector<string> &sequences, vector<unsigned char> &encoded_sequences, int r);
-  void Encode(string &sequence, vector<unsigned char> &encoded_sequences, int r);
- private:
-  unsigned char _code_table[UCHAR_MAX];
-  unsigned char _sentinel_character;
-  unsigned char _unknown_character;
-};
-
-#endif
diff --git a/Archive/RIblast-master/energy_par.h b/Archive/RIblast-master/energy_par.h
deleted file mode 100644
index 6b4692d0591d67a1d8c1d56d312bd9ef1fd8074b..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/energy_par.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- *  energy_par.h
- *  The parameter value was obtained from http://www.cs.ubc.ca/labs/beta/Projects/RNA-Params 
- *  Reference: Mirela Andronescu et al. Computational approaches for RNA energy parameter estimation (RNA 2010)
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef ENERGY_PAR_H
-#define ENERGY_PAR_H
-
-#define GASCONST 1.98717  /* in [cal/K] */
-#define K0  273.15
-#define INF 1000000
-#define TURN 3 
-#define MAXLOOP 30
-
-#include <string>
-
-using namespace std;
-
-static int temperature = 37;
-static double kT = (temperature+K0)*GASCONST;
-static double lxc37=107.856; /* parameter for logarithmic loop energy extrapolation*/
-
-static int BP_pair[5][5]=
-/* @  A  C  G  U*/
-{{ 0, 0, 0, 0, 0},
- { 0, 0, 0, 0, 5},
- { 0, 0, 0, 1, 0},
- { 0, 0, 2, 0, 3},
- { 0, 6, 0, 4, 0}};
-
-/* rtype[pair[i][j]]:=pair[j][i] */
-static int rtype[7] = {0, 2, 1, 4, 3, 6, 5}; 
-
-static int hairpin37[31] = {
-  INF, INF, INF, 364, 282, 297, 287, 259, 259, 272, 283,
-  293, 303, 311, 319, 327, 334, 340, 346, 352, 358,
-  363, 368, 373, 377, 382, 386, 390, 394, 398, 401};
-
-
-static int mismatchH37[7][5][5] =
-{ /* @@ */
-  {{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}},
-  { /* CG */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   { -90,  -35,  -13,    3,   13}, /* A@  AA  AC  AG  AU */
-   { -90,  -12,  -17,  -98,  -22}, /* C@  CA  CC  CG  CU */
-   { -90,  -51,  -24,   -1,    3}, /* G@  GA  GC  GG  GU */
-   { -90,  -16,  -57,  -97,  -38}},/* U@  UA  UC  UG  UU */
-  { /* GC */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   { -70,    1,  -22,  -65,  110}, /* A@  AA  AC  AG  AU */
-   { -70,   11,  -27,  -17,    0}, /* C@  CA  CC  CG  CU */
-   { -70,  -67,    1,  -45,   36}, /* G@  GA  GC  GG  GU */
-   { -70,    8,  -39,  -55,  -92}},/* U@  UA  UC  UG  UU */
-  { /* GU */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   60,   75,   43,  180}, /* A@  AA  AC  AG  AU */
-   {   0,   50,   44,   70,   -1}, /* C@  CA  CC  CG  CU */
-   {   0,  -92,   15,   39,  114}, /* G@  GA  GC  GG  GU */
-   {   0,   25,    7,   67,   36}},/* U@  UA  UC  UG  UU */
-  { /* UG */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   43,   52,   87,  109}, /* A@  AA  AC  AG  AU */
-   {   0,   52,   35,  -10,   40}, /* C@  CA  CC  CG  CU */
-   {   0,  -26,  -28,    5,   92}, /* G@  GA  GC  GG  GU */
-   {   0,   42,  -38,  -14,  -30}},/* U@  UA  UC  UG  UU */
-  { /* AU */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   41,   77,   65,  117}, /* A@  AA  AC  AG  AU */
-   {   0,   -2,    8,   44,   43}, /* C@  CA  CC  CG  CU */
-   {   0,  -31,   23,   15,   60}, /* G@  GA  GC  GG  GU */
-   {   0,   29,   -6,   32,  -10}},/* U@  UA  UC  UG  UU */
-  { /* UA */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   17,   52,   76,   68}, /* A@  AA  AC  AG  AU */
-   {   0,   53,   36,   37,   11}, /* C@  CA  CC  CG  CU */
-   {   0,  -39,   46,   16,   68}, /* G@  GA  GC  GG  GU */
-   {   0,   50,  -16,   46,   29}}/* U@  UA  UC  UG  UU */
-};
-
-static int stack37[7][7] =
-/*          CG     GC     GU     UG     AU     UA  */
-{ {  INF,   INF,   INF,   INF,   INF,   INF,   INF},
-  {  INF,  -133,  -207,  -146,   -37,  -139,  -132},
-  {  INF,  -207,  -205,  -150,   -91,  -129,  -123},
-  {  INF,  -146,  -150,   -22,   -67,   -81,   -58},
-  {  INF,   -37,   -91,   -67,   -38,   -14,    -2},
-  {  INF,  -139,  -129,   -81,   -14,   -84,   -69},
-  {  INF,  -132,  -123,   -58,    -2,   -69,   -68}};
-
-static int bulge37[31] = {
-  INF, 281, 157, 201, 288, 298, 272, 288, 303, 315,
-  327, 337, 346, 355, 363, 370, 377, 384, 390, 396,
-  401, 407, 412, 416, 421, 425, 430, 434, 438, 442,
-  445};
-
-static int TerminalAU = 56;
-
-static int internal_loop37[31] = {
-  INF, INF, INF, INF,  83, 118,  90, 106, 121, 133,
-  145, 155, 164, 173, 181, 188, 195, 202, 208, 214,
-  219, 225, 230, 234, 239, 243, 248, 252, 256, 260,
-  263};
-
-static int mismatchI37[7][5][5] =
-{ /* @@ */
-  {{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}},
-  { /* CG */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,    0,    0,  -50,    0}, /* A@  AA  AC  AG  AU */
-   {   0,    0,    0,    0,    0}, /* C@  CA  CC  CG  CU */
-   {   0,  -50,    0,    0,    0}, /* G@  GA  GC  GG  GU */
-   {   0,    0,    0,    0,  -45}},/* U@  UA  UC  UG  UU */
-  { /* GC */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,    0,    0,  -50,    0}, /* A@  AA  AC  AG  AU */
-   {   0,    0,    0,    0,    0}, /* C@  CA  CC  CG  CU */
-   {   0,  -50,    0,    0,    0}, /* G@  GA  GC  GG  GU */
-   {   0,    0,    0,    0,  -45}},/* U@  UA  UC  UG  UU */
-  { /* GU */
-   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   63,   63,   13,   63}, /* A@  AA  AC  AG  AU */
-   {   0,   63,   63,   63,   63}, /* C@  CA  CC  CG  CU */
-   {   0,   13,   63,   63,   63}, /* G@  GA  GC  GG  GU */
-   {   0,   63,   63,   63,   18}},/* U@  UA  UC  UG  UU */
-  { /* UG */
-  {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   63,   63,   13,   63}, /* A@  AA  AC  AG  AU */
-   {   0,   63,   63,   63,   63}, /* C@  CA  CC  CG  CU */
-   {   0,   13,   63,   63,   63}, /* G@  GA  GC  GG  GU */
-   {   0,   63,   63,   63,   18}},/* U@  UA  UC  UG  UU */
-  { /* AU */
-  {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   63,   63,   13,   63}, /* A@  AA  AC  AG  AU */
-   {   0,   63,   63,   63,   63}, /* C@  CA  CC  CG  CU */
-   {   0,   13,   63,   63,   63}, /* G@  GA  GC  GG  GU */
-   {   0,   63,   63,   63,   18}},/* U@  UA  UC  UG  UU */
-  { /* UA */
-  {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
-   {   0,   63,   63,   13,   63}, /* A@  AA  AC  AG  AU */
-   {   0,   63,   63,   63,   63}, /* C@  CA  CC  CG  CU */
-   {   0,   13,   63,   63,   63}, /* G@  GA  GC  GG  GU */
-   {   0,   63,   63,   63,   18}},/* U@  UA  UC  UG  UU */
-};
-
-static int ML_closing37 = 315;
-static int ML_intern37 = 15;
-static int ML_BASE37 = -2;
-
-static int dangle5_37[8][5]=
-{/*   @     A     C     G     U   */
-   { INF,  INF,  INF,  INF,  INF}, /* no pair */
-   { INF,   -8,    0,    0,    0}, /* CG  (stacks on C) */
-   { INF,  -10,    0,    0,    0}, /* GC  (stacks on G) */
-   { INF,    0,    0,    0,    0}, /* GU */
-   { INF,    0,    0,    0,    0}, /* UG */
-   { INF,  -10,    0,    0,    0}, /* AU */
-   { INF,   -3,    0,    0,    0}, /* UA */
-   {   0,    0,     0,    0,   0}  /*  @ */
-};
-
-/* 3' dangling ends (unpaired base stacks on second paired base */
-static int dangle3_37[8][5]=
-{/*   @     A     C     G     U   */
-   { INF,  INF,  INF,  INF,  INF},  /* no pair */
-   { INF,  -10,   -9,  -51,  -14},  /* CG  (stacks on G) */
-   { INF,  -41,    0,  -46,  -35},  /* GC */
-   { INF,  -10,    0,  -50,   -2},  /* GU */
-   { INF,  -10,  -40,  -60,    0},  /* UG */
-   { INF,  -10,  -13,  -25,   -7},  /* AU */
-   { INF,  -10,  -30,  -44,   -7},  /* UA */
-   {   0,    0,     0,    0,   0}   /*  @ */
-};
-
-static int MAX_NINIO = 300;
-static int F_ninio37 = 50;
-
-#endif
diff --git a/Archive/RIblast-master/fastafile_reader.cpp b/Archive/RIblast-master/fastafile_reader.cpp
deleted file mode 100644
index 5ada9356f40a3565e67f57ac3def7c8a559c117b..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/fastafile_reader.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * fastafile_reader.cpp
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#include "fastafile_reader.h"
-#include <fstream>
-#include <iostream>
-
-void FastafileReader::ReadFastafile(string input_file_name, vector<string> &sequences, vector<string> &names){
-  ifstream fp;
-  string buffer;
-  fp.open(input_file_name.c_str(),ios::in);
-  if (!fp){
-    cout << "Error: can't open input_file:"+input_file_name+"." <<endl;
-    exit(1);
-  }
-  getline(fp,buffer);
-  names.push_back(buffer.substr(1,buffer.size()-1));
-  string temp_sequence = "";
-  int count = 0;
-  while(getline(fp,buffer)){
-    if(buffer[0] == '>'){
-      names.push_back(buffer.substr(1,buffer.size()-1));
-      sequences.push_back(temp_sequence);
-      temp_sequence = "";
-    }else{
-      if(buffer.size()>=2){
-	if(buffer.substr(buffer.size()-2,2) == "\r\n"){
-	  buffer.erase(buffer.size()-2,2);
-	}
-      }
-      if(buffer[buffer.size()-1] == '\r' || buffer[buffer.size()-1] == '\n'){
-	buffer.erase(buffer.size()-1,1);
-      }
-      count += 1;
-      temp_sequence = temp_sequence + buffer;
-    }
-  }
-  sequences.push_back(temp_sequence);
-  fp.close();
-}
-
-void FastafileReader::ReadFastafile(string input_file_name, string &sequence, string &name){
-  ifstream fp;
-  string buffer;
-  fp.open(input_file_name.c_str(),ios::in);
-  if (!fp){
-    cout << "Error: can't open input_file:"+input_file_name+"." <<endl;
-    exit(1);
-  }
-  getline(fp,buffer);
-  name = buffer.substr(1,buffer.size()-1);
-  sequence = "";
-  while(getline(fp,buffer)){
-    if(buffer.size()>=2){
-      if(buffer.substr(buffer.size()-2,2) == "\r\n"){
-	buffer.erase(buffer.size()-2,2);
-      }
-    }
-    if(buffer[buffer.size()-1] == '\r' || buffer[buffer.size()-1] == '\n'){
-      buffer.erase(buffer.size()-1,1);
-    }
-    sequence = sequence + buffer;
-  }
-  fp.close();
-}
diff --git a/Archive/RIblast-master/fastafile_reader.h b/Archive/RIblast-master/fastafile_reader.h
deleted file mode 100644
index a7ddddbab3edb0d467f24ffbfcc77bc0e6837f7a..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/fastafile_reader.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * fastafile_reader.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef FASTAFILE_READER_H
-#define FASTAFILE_READER_H
-
-#include <string>
-#include <vector>
-#include <stdlib.h>
-
-using namespace std;
-
-class FastafileReader {
- public:
-  FastafileReader() {}
-  void ReadFastafile(string input_file_name, vector<string> &sequences, vector<string> &names);
-  void ReadFastafile(string input_file_name, string &sequences, string &name);
-};
-
-#endif
diff --git a/Archive/RIblast-master/fmath.hpp b/Archive/RIblast-master/fmath.hpp
deleted file mode 100644
index 9708da5e00de0450c8746933538cbdffa47e941c..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/fmath.hpp
+++ /dev/null
@@ -1,876 +0,0 @@
-#pragma once
-/**
-	@brief fast math library for float
-	@author herumi
-	@url https://github.com/herumi/fmath/
-	@note modified new BSD license
-	http://opensource.org/licenses/BSD-3-Clause
-
-	cl /Ox /Ob2 /arch:SSE2 /fp:fast bench.cpp -I../xbyak /EHsc /DNOMINMAX
-	g++ -O3 -fomit-frame-pointer -fno-operator-names -march=core2 -mssse3 -mfpmath=sse -ffast-math -fexcess-precision=fast
-*/
-/*
-	function prototype list
-
-	float fmath::exp(float);
-	double fmath::expd(double);
-	float fmath::log(float);
-
-	__m128 fmath::exp_ps(__m128);
-	__m256 fmath::exp_ps256(__m256);
-	__m128 fmath::log_ps(__m128);
-
-	double fmath::expd_v(double *, size_t n);
-
-	if FMATH_USE_XBYAK is defined then Xbyak version are used
-*/
-//#define FMATH_USE_XBYAK
-
-#include <math.h>
-#include <stddef.h>
-#include <assert.h>
-#include <limits>
-#include <stdlib.h>
-#include <float.h>
-#include <string.h> // for memcpy
-#if defined(_WIN32) && !defined(__GNUC__)
-	#include <intrin.h>
-	#ifndef MIE_ALIGN
-		#define MIE_ALIGN(x) __declspec(align(x))
-	#endif
-#else
-	#ifndef __GNUC_PREREQ
-	#define __GNUC_PREREQ(major, minor) ((((__GNUC__) << 16) + (__GNUC_MINOR__)) >= (((major) << 16) + (minor)))
-	#endif
-	#if __GNUC_PREREQ(4, 4) || (__clang__ > 0 && __clang_major__ >= 3) || !defined(__GNUC__)
-		/* GCC >= 4.4 or clang or non-GCC compilers */
-		#include <x86intrin.h>
-	#elif __GNUC_PREREQ(4, 1)
-		/* GCC 4.1, 4.2, and 4.3 do not have x86intrin.h, directly include SSE2 header */
-		#include <emmintrin.h>
-	#endif
-	#ifndef MIE_ALIGN
-		#define MIE_ALIGN(x) __attribute__((aligned(x)))
-	#endif
-#endif
-#ifndef MIE_PACK
-	#define MIE_PACK(x, y, z, w) ((x) * 64 + (y) * 16 + (z) * 4 + (w))
-#endif
-#ifdef FMATH_USE_XBYAK
-	#define XBYAK_NO_OP_NAMES
-	#include "xbyak/xbyak.h"
-	#include "xbyak/xbyak_util.h"
-#endif
-
-namespace fmath {
-
-namespace local {
-
-const size_t EXP_TABLE_SIZE = 10;
-const size_t EXPD_TABLE_SIZE = 11;
-const size_t LOG_TABLE_SIZE = 12;
-
-typedef unsigned long long uint64_t;
-
-union fi {
-	float f;
-	unsigned int i;
-};
-
-union di {
-	double d;
-	uint64_t i;
-};
-
-inline unsigned int mask(int x)
-{
-	return (1U << x) - 1;
-}
-
-inline uint64_t mask64(int x)
-{
-	return (1ULL << x) - 1;
-}
-
-template<class T>
-inline const T* cast_to(const void *p)
-{
-	return reinterpret_cast<const T*>(p);
-}
-
-template<class T, size_t N>
-size_t NumOfArray(const T (&)[N]) { return N; }
-
-/*
-	exp(88.722839f) = inf ; 0x42b17218
-	exp(-87.33655f) = 1.175491e-038f(007fffe6) denormal ; 0xc2aeac50
-	exp(-103.972081f) = 0 ; 0xc2cff1b5
-*/
-template<size_t N = EXP_TABLE_SIZE>
-struct ExpVar {
-	enum {
-		s = N,
-		n = 1 << s,
-		f88 = 0x42b00000 /* 88.0 */
-	};
-	float minX[8];
-	float maxX[8];
-	float a[8];
-	float b[8];
-	float f1[8];
-	unsigned int i127s[8];
-	unsigned int mask_s[8];
-	unsigned int i7fffffff[8];
-	unsigned int tbl[n];
-	ExpVar()
-	{
-		float log_2 = ::logf(2.0f);
-		for (int i = 0; i < 8; i++) {
-			maxX[i] = 88;
-			minX[i] = -88;
-			a[i] = n / log_2;
-			b[i] = log_2 / n;
-			f1[i] = 1.0f;
-			i127s[i] = 127 << s;
-			i7fffffff[i] = 0x7fffffff;
-			mask_s[i] = mask(s);
-		}
-
-		for (int i = 0; i < n; i++) {
-			float y = pow(2.0f, (float)i / n);
-			fi fi;
-			fi.f = y;
-			tbl[i] = fi.i & mask(23);
-		}
-	}
-};
-
-template<size_t sbit_ = EXPD_TABLE_SIZE>
-struct ExpdVar {
-	enum {
-		sbit = sbit_,
-		s = 1UL << sbit,
-		adj = (1UL << (sbit + 10)) - (1UL << sbit)
-	};
-	// A = 1, B = 1, C = 1/2, D = 1/6
-	double C1[2]; // A
-	double C2[2]; // D
-	double C3[2]; // C/D
-	uint64_t tbl[s];
-	double a;
-	double ra;
-	ExpdVar()
-		: a(s / ::log(2.0))
-		, ra(1 / a)
-	{
-		for (int i = 0; i < 2; i++) {
-#if 0
-			C1[i] = 1.0;
-			C2[i] = 0.16667794882310216;
-			C3[i] = 2.9997969303278795;
-#else
-			C1[i] = 1.0;
-			C2[i] = 0.16666666685227835064;
-			C3[i] = 3.0000000027955394;
-#endif
-		}
-		for (int i = 0; i < s; i++) {
-			di di;
-			di.d = ::pow(2.0, i * (1.0 / s));
-			tbl[i] = di.i & mask64(52);
-		}
-	}
-};
-
-template<size_t N = LOG_TABLE_SIZE>
-struct LogVar {
-	enum {
-		LEN = N - 1
-	};
-	unsigned int m1[4]; // 0
-	unsigned int m2[4]; // 16
-	unsigned int m3[4]; // 32
-	float m4[4];		// 48
-	unsigned int m5[4]; // 64
-	struct {
-		float app;
-		float rev;
-	} tbl[1 << LEN];
-	float c_log2;
-	LogVar()
-		: c_log2(::logf(2.0f) / (1 << 23))
-	{
-		const double e = 1 / double(1 << 24);
-		const double h = 1 / double(1 << LEN);
-		const size_t n = 1U << LEN;
-		for (size_t i = 0; i < n; i++) {
-			double x = 1 + double(i) / n;
-			double a = ::log(x);
-			tbl[i].app = (float)a;
-			if (i < n - 1) {
-				double b = ::log(x + h - e);
-				tbl[i].rev = (float)((b - a) / ((h - e) * (1 << 23)));
-			} else {
-				tbl[i].rev = (float)(1 / (x * (1 << 23)));
-			}
-		}
-		for (int i = 0; i < 4; i++) {
-			m1[i] = mask(8) << 23;
-			m2[i] = mask(LEN) << (23 - LEN);
-			m3[i] = mask(23 - LEN);
-			m4[i] = c_log2;
-			m5[i] = 127U << 23;
-		}
-	}
-};
-
-#ifdef FMATH_USE_XBYAK
-struct ExpCode : public Xbyak::CodeGenerator {
-	float (*exp_)(float);
-	__m128 (*exp_ps_)(__m128);
-	template<size_t N>
-	ExpCode(const ExpVar<N> *self)
-	{
-		Xbyak::util::Cpu cpu;
-		try {
-			makeExp(self, cpu);
-			exp_ = getCode<float (*)(float)>();
-			align(16);
-			exp_ps_ = getCurr<__m128(*)(__m128)>();
-			makeExpPs(self, cpu);
-			return;
-		} catch (std::exception& e) {
-			fprintf(stderr, "ExpCode ERR:%s\n", e.what());
-		} catch (...) {
-			fprintf(stderr, "ExpCode ERR:unknown error\n");
-		}
-		::exit(1);
-	}
-	template<size_t N>
-	void makeExp(const ExpVar<N> *self, const Xbyak::util::Cpu& /*cpu*/)
-	{
-		typedef ExpVar<N> Self;
-		using namespace local;
-		using namespace Xbyak;
-
-		inLocalLabel();
-#ifdef XBYAK64
-		const Reg64& base = rcx;
-		const Reg64& a = rax;
-#else
-		const Reg32& base = ecx;
-		const Reg32& a = eax;
-#endif
-
-		mov(base, (size_t)self);
-
-#ifdef XBYAK32
-		movss(xm0, ptr [esp + 4]);
-#endif
-	L(".retry");
-		movaps(xm1, xm0);
-		movd(edx, xm0);
-		mulss(xm1, ptr [base + offsetof(Self, a)]); // t
-		and_(edx, 0x7fffffff);
-		cvtss2si(eax, xm1);
-		cmp(edx, ExpVar<N>::f88);
-		jg(".overflow");
-		lea(edx, ptr [eax + (127 << self->s)]);
-		cvtsi2ss(xm1, eax);
-		and_(eax, mask(self->s)); // v
-		mov(eax, ptr [base + a * 4 + offsetof(Self, tbl)]); // expVar.tbl[v]
-		shr(edx, self->s);
-		mulss(xm1, ptr [base + offsetof(Self, b)]);
-		shl(edx, 23); // u
-		subss(xm0, xm1); // t
-		or_(eax, edx); // fi.f
-		addss(xm0, ptr [base + offsetof(Self, f1)]);
-		movd(xm1, eax);
-		mulss(xm0, xm1);
-#ifdef XBYAK32
-		movss(ptr[esp + 4], xm0);
-		fld(dword[esp + 4]);
-#endif
-		ret();
-	L(".overflow");
-		minss(xm0, ptr [base + offsetof(Self, maxX)]);
-		maxss(xm0, ptr [base + offsetof(Self, minX)]);
-		jmp(".retry");
-		outLocalLabel();
-	}
-	template<size_t N>
-	void makeExpPs(const ExpVar<N> *self, const Xbyak::util::Cpu& cpu)
-	{
-		typedef ExpVar<N> Self;
-		using namespace local;
-		using namespace Xbyak;
-
-		inLocalLabel();
-#ifdef XBYAK64
-		const Reg64& base = rcx;
-		const Reg64& a = rax;
-		const Reg64& d = rdx;
-#else
-		const Reg32& base = ecx;
-		const Reg32& a = eax;
-		const Reg32& d = edx;
-#endif
-
-/*
-	if abs(x) >= maxX then x = max(min(x, maxX), -maxX) and try
-	minps, maxps are very slow then avoid them
-*/
-		const bool useSSE41 = cpu.has(Xbyak::util::Cpu::tSSE41);
-#if defined(XBYAK64_WIN) && !defined(__INTEL_COMPILER)
-		movaps(xm0, ptr [rcx]);
-#endif
-		mov(base, (size_t)self);
-	L(".retry");
-		movaps(xm5, xm0);
-		andps(xm5, ptr [base + offsetof(Self, i7fffffff)]);
-		movaps(xm3, ptr [base + offsetof(Self, a)]);
-		movaps(xm4, ptr [base + offsetof(Self, b)]);
-		pcmpgtd(xm5, ptr [base + offsetof(Self, maxX)]);
-		mulps(xm3, xm0);
-		movaps(xm1, ptr [base + offsetof(Self, i127s)]);
-		pmovmskb(eax, xm5);
-		movaps(xm5, ptr [base + offsetof(Self, mask_s)]);
-		cvtps2dq(xm2, xm3);
-		pand(xm5, xm2);
-		cvtdq2ps(xm3, xm2);
-		test(eax, eax);
-		jnz(".overflow");
-		paddd(xm1, xm2);
-		movd(eax, xm5);
-		mulps(xm4, xm3);
-		pextrw(edx, xm5, 2);
-		subps(xm0, xm4);
-		movd(xm4, ptr [base + a * 4 + offsetof(Self, tbl)]);
-		addps(xm0, ptr [base + offsetof(Self, f1)]);
-		pextrw(eax, xm5, 4);
-		if (useSSE41) {
-			pinsrd(xm4, ptr [base + d * 4 + offsetof(Self, tbl)], 1);
-		} else {
-			movd(xm3, ptr [base + d * 4 + offsetof(Self, tbl)]);
-			movlhps(xm4, xm3);
-		}
-		pextrw(edx, xm5, 6);
-		psrld(xm1, self->s);
-		pslld(xm1, 23);
-		if (useSSE41) {
-			pinsrd(xm4, ptr [base + a * 4 + offsetof(Self, tbl)], 2);
-			pinsrd(xm4, ptr [base + d * 4 + offsetof(Self, tbl)], 3);
-		} else {
-			movd(xm2, ptr [base + a * 4 + offsetof(Self, tbl)]);
-			movd(xm3, ptr [base + d * 4 + offsetof(Self, tbl)]);
-			movlhps(xm2, xm3);
-			shufps(xm4, xm2, MIE_PACK(2, 0, 2, 0));
-		}
-		por(xm1, xm4);
-		mulps(xm0, xm1);
-		ret();
-	L(".overflow");
-		minps(xm0, ptr [base + offsetof(Self, maxX)]);
-		maxps(xm0, ptr [base + offsetof(Self, minX)]);
-		jmp(".retry");
-		outLocalLabel();
-	}
-};
-#endif
-
-/* to define static variables in fmath.hpp */
-template<size_t EXP_N = EXP_TABLE_SIZE, size_t LOG_N = LOG_TABLE_SIZE, size_t EXPD_N = EXPD_TABLE_SIZE>
-struct C {
-	static const ExpVar<EXP_N> expVar;
-	static const LogVar<LOG_N> logVar;
-	static const ExpdVar<EXPD_N> expdVar;
-#ifdef FMATH_USE_XBYAK
-	static const ExpCode& getInstance() {
-		static const ExpCode expCode(&expVar);
-		return expCode;
-	}
-#endif
-};
-
-template<size_t EXP_N, size_t LOG_N, size_t EXPD_N>
-MIE_ALIGN(32) const ExpVar<EXP_N> C<EXP_N, LOG_N, EXPD_N>::expVar;
-
-template<size_t EXP_N, size_t LOG_N, size_t EXPD_N>
-MIE_ALIGN(32) const LogVar<LOG_N> C<EXP_N, LOG_N, EXPD_N>::logVar;
-
-template<size_t EXP_N, size_t LOG_N, size_t EXPD_N>
-MIE_ALIGN(32) const ExpdVar<EXPD_N> C<EXP_N, LOG_N, EXPD_N>::expdVar;
-
-} // fmath::local
-
-#ifdef FMATH_USE_XBYAK
-inline float expC(float x)
-#else
-inline float exp(float x)
-#endif
-{
-	using namespace local;
-	const ExpVar<>& expVar = C<>::expVar;
-
-#if 1
-	__m128 x1 = _mm_set_ss(x);
-
-	int limit = _mm_cvtss_si32(x1) & 0x7fffffff;
-	if (limit > ExpVar<>::f88) {
-		x1 = _mm_min_ss(x1, _mm_load_ss(expVar.maxX));
-		x1 = _mm_max_ss(x1, _mm_load_ss(expVar.minX));
-	}
-
-	int r = _mm_cvtss_si32(_mm_mul_ss(x1, _mm_load_ss(expVar.a)));
-	unsigned int v = r & mask(expVar.s);
-	float t = _mm_cvtss_f32(x1) - r * expVar.b[0];
-	int u = r >> expVar.s;
-	fi fi;
-	fi.i = ((u + 127) << 23) | expVar.tbl[v];
-	return (1 + t) * fi.f;
-#else
-	x = std::min(x, expVar.maxX[0]);
-	x = std::max(x, expVar.minX[0]);
-	float t = x * expVar.a[0];
-	const float magic = (1 << 23) + (1 << 22); // to round
-	t += magic;
-	fi fi;
-	fi.f = t;
-	t = x - (t - magic) * expVar.b[0];
-	int u = ((fi.i + (127 << expVar.s)) >> expVar.s) << 23;
-	unsigned int v = fi.i & mask(expVar.s);
-	fi.i = u | expVar.tbl[v];
-	return (1 + t) * fi.f;
-//	return (1 + t) * pow(2, (float)u) * pow(2, (float)v / n);
-#endif
-}
-
-inline double expd(double x)
-{
-	if (x <= -708.39641853226408) return 0;
-	if (x >= 709.78271289338397) return std::numeric_limits<double>::infinity();
-	using namespace local;
-	const ExpdVar<>& c = C<>::expdVar;
-#if 1
-	const double _b = double(uint64_t(3) << 51);
-	__m128d b = _mm_load_sd(&_b);
-	__m128d xx = _mm_load_sd(&x);
-	__m128d d = _mm_add_sd(_mm_mul_sd(xx, _mm_load_sd(&c.a)), b);
-	uint64_t di = _mm_cvtsi128_si32(_mm_castpd_si128(d));
-	uint64_t iax = c.tbl[di & mask(c.sbit)];
-	__m128d _t = _mm_sub_sd(_mm_mul_sd(_mm_sub_sd(d, b), _mm_load_sd(&c.ra)), xx);
-	uint64_t u = ((di + c.adj) >> c.sbit) << 52;
-	double t;
-	_mm_store_sd(&t, _t);
-	double y = (c.C3[0] - t) * (t * t) * c.C2[0] - t + c.C1[0];
-	double did;
-	u |= iax;
-	memcpy(&did, &u, sizeof(did));
-	return y * did;
-#else
-/*
-	remark : -ffast-math option of gcc may generate bad code for fmath::expd
-*/
-	const uint64_t b = 3ULL << 51;
-	di di;
-	di.d = x * c.a + b;
-	uint64_t iax = c.tbl[di.i & mask(c.sbit)];
-
-	double t = (di.d - b) * c.ra - x;
-	uint64_t u = ((di.i + c.adj) >> c.sbit) << 52;
-	double y = (c.C3[0] - t) * (t * t) * c.C2[0] - t + c.C1[0];
-
-	di.i = u | iax;
-	return y * di.d;
-#endif
-}
-
-inline __m128d exp_pd(__m128d x)
-{
-#if 0 // faster on Haswell
-	MIE_ALIGN(16) double buf[2];
-	memcpy(buf, &x, sizeof(buf));
-	buf[0] = expd(buf[0]);
-	buf[1] = expd(buf[1]);
-	__m128d y;
-	memcpy(&y, buf, sizeof(buf));
-	return y;
-#else // faster on Skeylake
-	using namespace local;
-	const ExpdVar<>& c = C<>::expdVar;
-	const double b = double(3ULL << 51);
-	const __m128d mC1 = *cast_to<__m128d>(c.C1);
-	const __m128d mC2 = *cast_to<__m128d>(c.C2);
-	const __m128d mC3 = *cast_to<__m128d>(c.C3);
-	const __m128d ma = _mm_set1_pd(c.a);
-	const __m128d mra = _mm_set1_pd(c.ra);
-	const __m128i madj = _mm_set1_epi32(c.adj);
-	MIE_ALIGN(16) const double expMax[2] = { 709.78271289338397, 709.78271289338397 };
-	MIE_ALIGN(16) const double expMin[2] = { -708.39641853226408, -708.39641853226408 };
-	x = _mm_min_pd(x, *(const __m128d*)expMax);
-	x = _mm_max_pd(x, *(const __m128d*)expMin);
-
-	__m128d d = _mm_mul_pd(x, ma);
-	d = _mm_add_pd(d, _mm_set1_pd(b));
-	int adr0 = _mm_cvtsi128_si32(_mm_castpd_si128(d)) & mask(c.sbit);
-	int adr1 = _mm_cvtsi128_si32(_mm_srli_si128(_mm_castpd_si128(d), 8)) & mask(c.sbit);
-__m128i iaxL = _mm_castpd_si128(_mm_load_sd((const double*)&c.tbl[adr0]));
-	__m128i iax = _mm_castpd_si128(_mm_load_sd((const double*)&c.tbl[adr1]));
-	iax = _mm_unpacklo_epi64(iaxL, iax);
-
-	__m128d t = _mm_sub_pd(_mm_mul_pd(_mm_sub_pd(d, _mm_set1_pd(b)), mra), x);
-	__m128i u = _mm_castpd_si128(d);
-	u = _mm_add_epi64(u, madj);
-	u = _mm_srli_epi64(u, c.sbit);
-	u = _mm_slli_epi64(u, 52);
-	u = _mm_or_si128(u, iax);
-	__m128d y = _mm_mul_pd(_mm_sub_pd(mC3, t), _mm_mul_pd(t, t));
-	y = _mm_mul_pd(y, mC2);
-	y = _mm_add_pd(_mm_sub_pd(y, t), mC1);
-	y = _mm_mul_pd(y, _mm_castsi128_pd(u));
-	return y;
-#endif
-}
-
-/*
-	px : pointer to array of double
-	n : size of array
-*/
-inline void expd_v(double *px, size_t n)
-{
-	using namespace local;
-	const ExpdVar<>& c = C<>::expdVar;
-	const double b = double(3ULL << 51);
-#ifdef __AVX2__
-	size_t r = n & 3;
-	n &= ~3;
-	const __m256d mC1 = _mm256_set1_pd(c.C1[0]);
-	const __m256d mC2 = _mm256_set1_pd(c.C2[0]);
-	const __m256d mC3 = _mm256_set1_pd(c.C3[0]);
-	const __m256d ma = _mm256_set1_pd(c.a);
-	const __m256d mra = _mm256_set1_pd(c.ra);
-	const __m256i madj = _mm256_set1_epi64x(c.adj);
-	const __m256i maskSbit = _mm256_set1_epi64x(mask(c.sbit));
-	const __m256d expMax = _mm256_set1_pd(709.78272569338397);
-	const __m256d expMin = _mm256_set1_pd(-708.39641853226408);
-	for (size_t i = 0; i < n; i += 4) {
-		__m256d x = _mm256_load_pd(px);
-		x = _mm256_min_pd(x, expMax);
-		x = _mm256_max_pd(x, expMin);
-
-		__m256d d = _mm256_mul_pd(x, ma);
-		d = _mm256_add_pd(d, _mm256_set1_pd(b));
-		__m256i adr = _mm256_and_si256(_mm256_castpd_si256(d), maskSbit);
-		__m256i iax = _mm256_i64gather_epi64((const long long*)c.tbl, adr, 8);
-		__m256d t = _mm256_sub_pd(_mm256_mul_pd(_mm256_sub_pd(d, _mm256_set1_pd(b)), mra), x);
-		__m256i u = _mm256_castpd_si256(d);
-		u = _mm256_add_epi64(u, madj);
-		u = _mm256_srli_epi64(u, c.sbit);
-		u = _mm256_slli_epi64(u, 52);
-		u = _mm256_or_si256(u, iax);
-		__m256d y = _mm256_mul_pd(_mm256_sub_pd(mC3, t), _mm256_mul_pd(t, t));
-		y = _mm256_mul_pd(y, mC2);
-		y = _mm256_add_pd(_mm256_sub_pd(y, t), mC1);
-		_mm256_store_pd(px, _mm256_mul_pd(y, _mm256_castsi256_pd(u)));
-		px += 4;
-	}
-#else
-	size_t r = n & 1;
-	n &= ~1;
-	const __m128d mC1 = _mm_set1_pd(c.C1[0]);
-	const __m128d mC2 = _mm_set1_pd(c.C2[0]);
-	const __m128d mC3 = _mm_set1_pd(c.C3[0]);
-	const __m128d ma = _mm_set1_pd(c.a);
-	const __m128d mra = _mm_set1_pd(c.ra);
-#if defined(__x86_64__) || defined(_WIN64)
-	const __m128i madj = _mm_set1_epi64x(c.adj);
-#else
-	const __m128i madj = _mm_set_epi32(0, c.adj, 0, c.adj);
-#endif
-	const __m128d expMax = _mm_set1_pd(709.78272569338397);
-	const __m128d expMin = _mm_set1_pd(-708.39641853226408);
-	for (size_t i = 0; i < n; i += 2) {
-		__m128d x = _mm_load_pd(px);
-		x = _mm_min_pd(x, expMax);
-		x = _mm_max_pd(x, expMin);
-
-		__m128d d = _mm_mul_pd(x, ma);
-		d = _mm_add_pd(d, _mm_set1_pd(b));
-		int adr0 = _mm_cvtsi128_si32(_mm_castpd_si128(d)) & mask(c.sbit);
-		int adr1 = _mm_cvtsi128_si32(_mm_srli_si128(_mm_castpd_si128(d), 8)) & mask(c.sbit);
-
-		__m128i iaxL = _mm_castpd_si128(_mm_load_sd((const double*)&c.tbl[adr0]));
-		__m128i iax = _mm_castpd_si128(_mm_load_sd((const double*)&c.tbl[adr1]));
-		iax = _mm_unpacklo_epi64(iaxL, iax);
-
-		__m128d t = _mm_sub_pd(_mm_mul_pd(_mm_sub_pd(d, _mm_set1_pd(b)), mra), x);
-		__m128i u = _mm_castpd_si128(d);
-		u = _mm_add_epi64(u, madj);
-		u = _mm_srli_epi64(u, c.sbit);
-		u = _mm_slli_epi64(u, 52);
-		u = _mm_or_si128(u, iax);
-		__m128d y = _mm_mul_pd(_mm_sub_pd(mC3, t), _mm_mul_pd(t, t));
-		y = _mm_mul_pd(y, mC2);
-		y = _mm_add_pd(_mm_sub_pd(y, t), mC1);
-		_mm_store_pd(px, _mm_mul_pd(y, _mm_castsi128_pd(u)));
-		px += 2;
-	}
-#endif
-	for (size_t i = 0; i < r; i++) {
-		px[i] = expd(px[i]);
-	}
-}
-
-#ifdef FMATH_USE_XBYAK
-inline __m128 exp_psC(__m128 x)
-#else
-inline __m128 exp_ps(__m128 x)
-#endif
-{
-	using namespace local;
-	const ExpVar<>& expVar = C<>::expVar;
-
-	__m128i limit = _mm_castps_si128(_mm_and_ps(x, *cast_to<__m128>(expVar.i7fffffff)));
-	int over = _mm_movemask_epi8(_mm_cmpgt_epi32(limit, *cast_to<__m128i>(expVar.maxX)));
-	if (over) {
-		x = _mm_min_ps(x, _mm_load_ps(expVar.maxX));
-		x = _mm_max_ps(x, _mm_load_ps(expVar.minX));
-	}
-
-	__m128i r = _mm_cvtps_epi32(_mm_mul_ps(x, *cast_to<__m128>(expVar.a)));
-	__m128 t = _mm_sub_ps(x, _mm_mul_ps(_mm_cvtepi32_ps(r), *cast_to<__m128>(expVar.b)));
-	t = _mm_add_ps(t, *cast_to<__m128>(expVar.f1));
-
-	__m128i v4 = _mm_and_si128(r, *cast_to<__m128i>(expVar.mask_s));
-	__m128i u4 = _mm_add_epi32(r, *cast_to<__m128i>(expVar.i127s));
-	u4 = _mm_srli_epi32(u4, expVar.s);
-	u4 = _mm_slli_epi32(u4, 23);
-
-#ifdef __AVX2__ // fast?
-	__m128i ti = _mm_i32gather_epi32((const int*)expVar.tbl, v4, 4);
-	__m128 t0 = _mm_castsi128_ps(ti);
-#else
-	unsigned int v0, v1, v2, v3;
-	v0 = _mm_cvtsi128_si32(v4);
-	v1 = _mm_extract_epi16(v4, 2);
-	v2 = _mm_extract_epi16(v4, 4);
-	v3 = _mm_extract_epi16(v4, 6);
-#if 1
-	__m128 t0, t1, t2, t3;
-
-	t0 = _mm_castsi128_ps(_mm_set1_epi32(expVar.tbl[v0]));
-	t1 = _mm_castsi128_ps(_mm_set1_epi32(expVar.tbl[v1]));
-	t2 = _mm_castsi128_ps(_mm_set1_epi32(expVar.tbl[v2]));
-	t3 = _mm_castsi128_ps(_mm_set1_epi32(expVar.tbl[v3]));
-
-	t1 = _mm_movelh_ps(t1, t3);
-	t1 = _mm_castsi128_ps(_mm_slli_epi64(_mm_castps_si128(t1), 32));
-	t0 = _mm_movelh_ps(t0, t2);
-	t0 = _mm_castsi128_ps(_mm_srli_epi64(_mm_castps_si128(t0), 32));
-	t0 = _mm_or_ps(t0, t1);
-#else
-	__m128i ti = _mm_castps_si128(_mm_load_ss((const float*)&expVar.tbl[v0]));
-	ti = _mm_insert_epi32(ti, expVar.tbl[v1], 1);
-	ti = _mm_insert_epi32(ti, expVar.tbl[v2], 2);
-	ti = _mm_insert_epi32(ti, expVar.tbl[v3], 3);
-	__m128 t0 = _mm_castsi128_ps(ti);
-#endif
-#endif
-	t0 = _mm_or_ps(t0, _mm_castsi128_ps(u4));
-
-	t = _mm_mul_ps(t, t0);
-
-	return t;
-}
-#ifdef __AVX2__
-inline __m256 exp_ps256(__m256 x)
-{
-	using namespace local;
-	const ExpVar<>& expVar = C<>::expVar;
-
-	__m256i limit = _mm256_castps_si256(_mm256_and_ps(x, *reinterpret_cast<const __m256*>(expVar.i7fffffff)));
-	int over = _mm256_movemask_epi8(_mm256_cmpgt_epi32(limit, *reinterpret_cast<const __m256i*>(expVar.maxX)));
-	if (over) {
-		x = _mm256_min_ps(x, _mm256_load_ps(expVar.maxX));
-		x = _mm256_max_ps(x, _mm256_load_ps(expVar.minX));
-	}
-	__m256i r = _mm256_cvtps_epi32(_mm256_mul_ps(x, *reinterpret_cast<const __m256*>(expVar.a)));
-	__m256 t = _mm256_sub_ps(x, _mm256_mul_ps(_mm256_cvtepi32_ps(r), *reinterpret_cast<const __m256*>(expVar.b)));
-	t = _mm256_add_ps(t, *reinterpret_cast<const __m256*>(expVar.f1));
-	__m256i v8 = _mm256_and_si256(r, *reinterpret_cast<const __m256i*>(expVar.mask_s));
-	__m256i u8 = _mm256_add_epi32(r, *reinterpret_cast<const __m256i*>(expVar.i127s));
-	u8 = _mm256_srli_epi32(u8, expVar.s);
-	u8 = _mm256_slli_epi32(u8, 23);
-#if 1
-	__m256i ti = _mm256_i32gather_epi32((const int*)expVar.tbl, v8, 4);
-#else
-	unsigned int v0, v1, v2, v3, v4, v5, v6, v7;
-	v0 = _mm256_extract_epi16(v8, 0);
-	v1 = _mm256_extract_epi16(v8, 2);
-	v2 = _mm256_extract_epi16(v8, 4);
-	v3 = _mm256_extract_epi16(v8, 6);
-	v4 = _mm256_extract_epi16(v8, 8);
-	v5 = _mm256_extract_epi16(v8, 10);
-	v6 = _mm256_extract_epi16(v8, 12);
-	v7 = _mm256_extract_epi16(v8, 14);
-	__m256i ti = _mm256_setzero_si256();
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v0], 0);
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v1], 1);
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v2], 2);
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v3], 3);
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v4], 4);
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v5], 5);
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v6], 6);
-	ti = _mm256_insert_epi32(ti, expVar.tbl[v7], 7);
-#endif
-	__m256 t0 = _mm256_castsi256_ps(ti);
-	t0 = _mm256_or_ps(t0, _mm256_castsi256_ps(u8));
-	t = _mm256_mul_ps(t, t0);
-	return t;
-}
-#endif
-
-inline float log(float x)
-{
-	using namespace local;
-	const LogVar<>& logVar = C<>::logVar;
-	const size_t logLen = logVar.LEN;
-
-	fi fi;
-	fi.f = x;
-	int a = fi.i & (mask(8) << 23);
-	unsigned int b1 = fi.i & (mask(logLen) << (23 - logLen));
-	unsigned int b2 = fi.i & mask(23 - logLen);
-	int idx = b1 >> (23 - logLen);
-	float f = float(a - (127 << 23)) * logVar.c_log2 + logVar.tbl[idx].app + float(b2) * logVar.tbl[idx].rev;
-	return f;
-}
-
-inline __m128 log_ps(__m128 x)
-{
-	using namespace local;
-	const LogVar<>& logVar = C<>::logVar;
-
-	__m128i xi = _mm_castps_si128(x);
-	__m128i idx = _mm_srli_epi32(_mm_and_si128(xi, *cast_to<__m128i>(logVar.m2)), (23 - logVar.LEN));
-	__m128 a  = _mm_cvtepi32_ps(_mm_sub_epi32(_mm_and_si128(xi, *cast_to<__m128i>(logVar.m1)), *cast_to<__m128i>(logVar.m5)));
-	__m128 b2 = _mm_cvtepi32_ps(_mm_and_si128(xi, *cast_to<__m128i>(logVar.m3)));
-
-	a = _mm_mul_ps(a, *cast_to<__m128>(logVar.m4)); // c_log2
-
-	unsigned int i0 = _mm_cvtsi128_si32(idx);
-
-#if 1
-	unsigned int i1 = _mm_extract_epi16(idx, 2);
-	unsigned int i2 = _mm_extract_epi16(idx, 4);
-	unsigned int i3 = _mm_extract_epi16(idx, 6);
-#else
-	idx = _mm_srli_si128(idx, 4);
-	unsigned int i1 = _mm_cvtsi128_si32(idx);
-
-	idx = _mm_srli_si128(idx, 4);
-	unsigned int i2 = _mm_cvtsi128_si32(idx);
-
-	idx = _mm_srli_si128(idx, 4);
-	unsigned int i3 = _mm_cvtsi128_si32(idx);
-#endif
-
-	__m128 app, rev;
-	__m128i L = _mm_loadl_epi64(cast_to<__m128i>(&logVar.tbl[i0].app));
-	__m128i H = _mm_loadl_epi64(cast_to<__m128i>(&logVar.tbl[i1].app));
-	__m128 t = _mm_castsi128_ps(_mm_unpacklo_epi64(L, H));
-	L = _mm_loadl_epi64(cast_to<__m128i>(&logVar.tbl[i2].app));
-	H = _mm_loadl_epi64(cast_to<__m128i>(&logVar.tbl[i3].app));
-	rev = _mm_castsi128_ps(_mm_unpacklo_epi64(L, H));
-	app = _mm_shuffle_ps(t, rev, MIE_PACK(2, 0, 2, 0));
-	rev = _mm_shuffle_ps(t, rev, MIE_PACK(3, 1, 3, 1));
-
-	a = _mm_add_ps(a, app);
-	rev = _mm_mul_ps(b2, rev);
-	return _mm_add_ps(a, rev);
-}
-
-#ifndef __CYGWIN__
-// cygwin defines log2() in global namespace!
-// log2(x) = log(x) / log(2)
-inline float log2(float x) { return fmath::log(x) * 1.442695f; }
-#endif
-
-/*
-	for given y > 0
-	get f_y(x) := pow(x, y) for x >= 0
-*/
-class PowGenerator {
-	enum {
-		N = 11
-	};
-	float tbl0_[256];
-	struct {
-		float app;
-		float rev;
-	} tbl1_[1 << N];
-public:
-	PowGenerator(float y)
-	{
-		for (int i = 0; i < 256; i++) {
-			tbl0_[i] = ::powf(2, (i - 127) * y);
-		}
-		const double e = 1 / double(1 << 24);
-		const double h = 1 / double(1 << N);
-		const size_t n = 1U << N;
-		for (size_t i = 0; i < n; i++) {
-			double x = 1 + double(i) / n;
-			double a = ::pow(x, (double)y);
-			tbl1_[i].app = (float)a;
-			double b = ::pow(x + h - e, (double)y);
-			tbl1_[i].rev = (float)((b - a) / (h - e) / (1 << 23));
-		}
-	}
-	float get(float x) const
-	{
-		using namespace local;
-		fi fi;
-		fi.f = x;
-		int a = (fi.i >> 23) & mask(8);
-		unsigned int b = fi.i & mask(23);
-		unsigned int b1 = b & (mask(N) << (23 - N));
-		unsigned int b2 = b & mask(23 - N);
-		float f;
-		int idx = b1 >> (23 - N);
-		f = tbl0_[a] * (tbl1_[idx].app + float(b2) * tbl1_[idx].rev);
-		return f;
-	}
-};
-
-// for Xbyak version
-#ifdef FMATH_USE_XBYAK
-float (*const exp)(float) = local::C<>::getInstance().exp_;
-__m128 (*const exp_ps)(__m128) = local::C<>::getInstance().exp_ps_;
-#endif
-
-// exp2(x) = pow(2, x)
-inline float exp2(float x) { return fmath::exp(x * 0.6931472f); }
-
-/*
-	this function may be optimized in the future
-*/
-inline __m128d log_pd(__m128d x)
-{
-	double d[2];
-	memcpy(d, &x, sizeof(d));
-	d[0] = ::log(d[0]);
-	d[1] = ::log(d[1]);
-	__m128d m;
-	memcpy(&m, d, sizeof(m));
-	return m;
-}
-inline __m128 pow_ps(__m128 x, __m128 y)
-{
-	return exp_ps(_mm_mul_ps(y, log_ps(x)));
-}
-inline __m128d pow_pd(__m128d x, __m128d y)
-{
-	return exp_pd(_mm_mul_pd(y, log_pd(x)));
-}
-
-} // fmath
diff --git a/Archive/RIblast-master/gapped_extension.cpp b/Archive/RIblast-master/gapped_extension.cpp
deleted file mode 100644
index eea0731e3d0356590a4a8a403c81cc87ccaed55e..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/gapped_extension.cpp
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- *  gapped_extension.cpp
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#include "gapped_extension.h"
-#include "energy_par.h"
-#include "intloops.h"
-#include <iostream>
-#include <algorithm>
-#include <math.h>
-
-void GappedExtension::Run(vector<Hit> &candidate, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility, vector<int> &db_seq_length){
-
-  for(int x = 0; x < candidate.size(); x++){
-    extension(candidate[x], query_seq, db_seq, query_accessibility, query_conditional_accessibility, db_accessibility, db_conditional_accessibility, 0);
-    extension(candidate[x], query_seq, db_seq, query_accessibility, query_conditional_accessibility, db_accessibility, db_conditional_accessibility, 1);
-    
-    double energy = candidate[x].GetEnergy();
-    double h_energy = candidate[x].GetHybridizationEnergy();
-    int qlength = candidate[x].GetQLength();
-    int dbseq_length = db_seq_length[candidate[x].GetDbSeqId()];
-
-    energy += CalcDangleEnergy(candidate[x].GetQSp(), candidate[x].GetDbSp(), 0 ,query_seq, db_seq, dbseq_length);
-
-    energy += CalcDangleEnergy(candidate[x].GetQSp()+candidate[x].GetQLength()-1, candidate[x].GetDbSp()+candidate[x].GetDbLength()-1, 1 ,query_seq, db_seq, dbseq_length);
-    h_energy += CalcDangleEnergy(candidate[x].GetQSp(), candidate[x].GetDbSp(), 0 ,query_seq, db_seq, dbseq_length);
-    h_energy += CalcDangleEnergy(candidate[x].GetQSp()+candidate[x].GetQLength()-1, candidate[x].GetDbSp()+candidate[x].GetDbLength()-1, 1 ,query_seq, db_seq, dbseq_length);
-    
-    candidate[x].SetEnergy(energy);
-    candidate[x].SetHybridizationEnergy(h_energy);
-  }
-}
-
-void GappedExtension::extension(Hit &candidate, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility, bool flag){
-  CheckStemCandidate stem_check(_drop_out_score);
-  double min_energy = candidate.GetEnergy();
-  double first_a_energy = candidate.GetAccessibilityEnergy();
-  double min_a_energy = first_a_energy;
-  int q_start = 0;
-  int db_start = 0;
-  if(flag == 0){
-    q_start = candidate.GetQSp();  
-    db_start = candidate.GetDbSp(); 
-  }else{
-    q_start = candidate.GetQSp()+ candidate.GetQLength()-1;
-    db_start = candidate.GetDbSp()+ candidate.GetDbLength()-1;
-  }
-   
-  int max_q_extension = MAX_EXTENSION;
-  int max_db_extension = MAX_EXTENSION;
-  int db_seq_id = candidate.GetDbSeqId();
-  int db_seq_id_start = candidate.GetDbSeqIdStart();
-  int db_seq_id_end = db_seq_id_start + candidate.GetDbLength()-1;
-
-  int min_q_start = q_start;
-  int min_db_start = db_start;
-  int q_length = candidate.GetQLength(); 
-  int db_length = candidate.GetDbLength();
-  int min_q_length = candidate.GetQLength(); 
-  int min_db_length = candidate.GetDbLength();
-  int min_db_seq_id_start = db_seq_id_start;
-
-  int length = 0;
-  int min_length = 0;
-  vector<vector<Cell> > matrix_c; matrix_c.resize(100,vector<Cell>(100, Cell(-1,-1, 0, INF)));
-  vector<double> extension_q_accessibility; extension_q_accessibility.reserve(100);
-  vector<double> extension_db_accessibility;extension_db_accessibility.reserve(100);
-
-  int q_char = GetChar(query_seq,q_start);
-  int db_char = GetChar(db_seq,db_start);
-  int type = BP_pair[q_char][db_char];
-  
-  if(flag == 0){type = rtype[type];}
-  matrix_c[0][0].set(-1,-1,type,min_energy);
-  vector<Stem> stem_candidate; stem_candidate.reserve(100);
-  Stem temp_stem(0,0, type);
-  stem_candidate.push_back(temp_stem);
-  
-  while(true){
-    length++;
-    stem_check.SetLength(length);
-    if(flag == 0){
-      if(max_q_extension == MAX_EXTENSION){
-	if(q_start-length < 0 || query_seq[q_start-length] < 2){ max_q_extension = length-1;}
-      }
-      if(max_db_extension == MAX_EXTENSION){
-	if(db_start-length < 0 || db_seq[db_start-length] < 2){max_db_extension = length-1;}
-      }
-    }else{
-      if(max_q_extension == MAX_EXTENSION){
-	if(query_seq[q_start+length] < 2){ max_q_extension = length-1;}
-      }
-      if(max_db_extension == MAX_EXTENSION){
-	if(db_seq[db_start+length]  < 2){max_db_extension = length-1;}
-      }
-    }
-    
-    if(flag == 0){
-      if(length == 1){
-	if(max_q_extension == MAX_EXTENSION){
-	  extension_q_accessibility.push_back(query_accessibility[q_start-length] - query_accessibility[q_start-length+1] + query_conditional_accessibility[q_start-length+_min_accessible_length]);
-	}
-	if(max_db_extension == MAX_EXTENSION){
-	  extension_db_accessibility.push_back(db_conditional_accessibility[db_seq_id][db_seq_id_end+length]);
-	}
-      }else{
-	if(max_q_extension == MAX_EXTENSION){
-	  extension_q_accessibility.push_back(extension_q_accessibility[length-2]+query_accessibility[q_start-length] - query_accessibility[q_start-length+1] + query_conditional_accessibility[q_start-length+_min_accessible_length]);
-	}
-	if(max_db_extension == MAX_EXTENSION){
-	  extension_db_accessibility.push_back(extension_db_accessibility[length-2]+db_conditional_accessibility[db_seq_id][db_seq_id_end+length]);
-	}
-      }
-    }else{
-      if(length == 1){
-	if(max_q_extension == MAX_EXTENSION){
-	  extension_q_accessibility.push_back(query_conditional_accessibility[q_start+length]);
-	}
-	if(max_db_extension == MAX_EXTENSION){
-	  extension_db_accessibility.push_back(db_accessibility[db_seq_id][db_seq_id_start-length] - db_accessibility[db_seq_id][db_seq_id_start-length+1] + db_conditional_accessibility[db_seq_id][db_seq_id_start-length+_min_accessible_length]);
-	}
-      }else{
-	if(max_q_extension == MAX_EXTENSION){
-	  extension_q_accessibility.push_back(extension_q_accessibility[length-2]+query_conditional_accessibility[q_start+length]);
-	}
-	if(max_db_extension == MAX_EXTENSION){
-	  extension_db_accessibility.push_back(extension_db_accessibility[length-2]+db_accessibility[db_seq_id][db_seq_id_start-length] - db_accessibility[db_seq_id][db_seq_id_start-length+1] + db_conditional_accessibility[db_seq_id][db_seq_id_start-length+_min_accessible_length]);
-	}
-      }
-    }
-    if(length-2 > _drop_out_score){      
-      stem_candidate.erase(remove_if(stem_candidate.begin(), stem_candidate.end(),stem_check), stem_candidate.end());
-    }
-    for(int i = 1; i <= length-1; i++){
-      int j = length-i;
-      
-      if(i<=max_q_extension && j <=max_db_extension){
-	int type = CheckHelixLength(flag, query_seq, db_seq, q_start, db_start, i, j, matrix_c);
-	
-	if(type!=0){
-	  int min_k = -1;
-	  int sc_size = stem_candidate.size();
-	  double hybrid_energy = INF;
-	  
-	  for(int k = 0; k < sc_size; k++){
-	    Stem this_candidate = stem_candidate[k];
-	    if(this_candidate.first < i && this_candidate.second < j){
-	      double this_energy = 0.0;
-	      if(flag == 0){
-		this_energy =  LoopEnergy(type, this_candidate.type, q_start-i, db_start-j, q_start-this_candidate.first, db_start-this_candidate.second, query_seq, db_seq);
-	      }else{
-	        this_energy =  LoopEnergy(this_candidate.type, type, q_start+this_candidate.first, db_start+this_candidate.second, q_start+i, db_start+j, query_seq, db_seq);
-	      }
-	      this_energy += matrix_c[this_candidate.first][this_candidate.second].hybrid_energy;
-	      
-	      if(this_energy < hybrid_energy){
-		hybrid_energy =  this_energy;
-		min_k = k;
-	      }
-	    }
-	  }
-	  
-	  matrix_c[i][j].set(stem_candidate[min_k].first, stem_candidate[min_k].second, stem_candidate[min_k].type, hybrid_energy);
-	  
-	  double interaction_energy = extension_q_accessibility[i-1] + extension_db_accessibility[j-1] + hybrid_energy;
-	  
-	  stem_candidate.push_back(Stem(i,j,rtype[type]));
-	  if(interaction_energy < min_energy){
-	    min_energy = interaction_energy;
-	    min_a_energy = first_a_energy + extension_q_accessibility[i-1] + extension_db_accessibility[j-1];
-	    min_length = length;
-	    if(flag == 0){
-	      min_q_start = q_start-i;
-	      min_db_start = db_start-j;
-	    }else{
-	      min_db_seq_id_start = db_seq_id_start -j;
-	    }
-	    min_q_length = q_length+i;
-	    min_db_length = db_length+j;
-	  }
-	}
-      }
-      
-      if(i+1 == matrix_c.size()){
-	for(int x = 0; x< matrix_c.size();x++){
-	  matrix_c[x].push_back(Cell(-1,-1,0,INF));
-	}
-	vector<Cell> tempcell_vector; tempcell_vector.resize(matrix_c.size()+1, Cell(-1,-1,0,INF));
-	matrix_c.push_back(tempcell_vector);
-      }
-    }
-     
-    if(length-min_length>=_drop_out_score){break;}
-    if(max_q_extension != MAX_EXTENSION && max_db_extension != MAX_EXTENSION){break;}
-  }
- 
-  if(q_length-min_q_length != 0 && db_length-min_db_length != 0){
-    if(flag == 0){
-      traceback(candidate,matrix_c, q_start-min_q_start, q_start, db_start-min_db_start,db_start, flag);
-    }else{
-      traceback(candidate,matrix_c, min_q_length-q_length ,q_start, min_db_length-db_length ,db_start, flag);
-    }
-  }
-  candidate.SetDbSeqIdStart(min_db_seq_id_start);
-  if(flag == 0){
-    candidate.SetQSp(min_q_start);
-    candidate.SetDbSp(min_db_start);
-  }
-  candidate.SetQLength(min_q_length);
-  candidate.SetDbLength(min_db_length);
-  candidate.SetEnergy(min_energy);
-  candidate.SetAccessibilityEnergy(min_a_energy);
-  candidate.SetHybridizationEnergy(min_energy-min_a_energy);
-}
-
-int GappedExtension::GetBPType(int flag, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, int q_start, int db_start,int i, int j,int x){
-  int q_char,db_char;
-  if(flag == 0){
-    q_char = GetChar(query_seq,q_start-i-x);
-    db_char = GetChar(db_seq,db_start-j-x);
-  }else{
-    q_char = GetChar(query_seq,q_start+i+x);
-    db_char = GetChar(db_seq,db_start+j+x);
-  }
-  int type = BP_pair[q_char][db_char];
-  if(flag == 1){type = rtype[type];}
-  return(type);
-}
-
-bool GappedExtension::CheckWobble(int type){
-  return(type==3 || type==4);
-}
-
-int GappedExtension::CheckHelixLength(int flag, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, int q_start, int db_start,int i, int j, vector<vector<Cell> > &matrix_c){
-  int type_zero = GetBPType(flag, query_seq, db_seq, q_start, db_start, i, j, 0);
-
-  if(type_zero !=0){
-    if(matrix_c[i-1][j-1].type == 0 || (CheckWobble(type_zero) && CheckWobble(matrix_c[i-1][j-1].type))){
-      for(int x = 1; x <= _min_helix_length-1; x++){
-        int type = GetBPType(flag, query_seq, db_seq, q_start, db_start, i, j, x);
-        if(type == 0 || (x==1 && CheckWobble(type_zero) && CheckWobble(type))){
-	  type_zero = 0;
-          break;
-        }
-	
-      }
-    }
-  }
-  return(type_zero);
-}
-
-
-double GappedExtension::CalcDangleEnergy(int q_pos, int db_pos, int flag, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, int dbseq_length){
-  double x = 0;
-  int q_char = GetChar(query_seq,q_pos);
-  int db_char = GetChar(db_seq,db_pos);
-  int type =  flag == 0 ? BP_pair[q_char][db_char] : BP_pair[db_char][q_char];
-  int q_length = query_seq.size()-1;
-  
-  if (type != 0) {
-    if(flag == 0){
-      if (q_pos>0)x += dangle5_37[type][GetChar(query_seq,q_pos-1)];
-      if (db_pos>0 && db_seq[db_pos-1]!=0) x += dangle3_37[type][GetChar(db_seq,db_pos-1)];
-      if( (db_pos == 0 || db_seq[db_pos-1]==0) && type>2){
-	x += TerminalAU;
-      }
-    }else{
-      if (db_pos < db_seq.size()-1 && db_seq[db_pos+1] != 0) x += dangle5_37[type][GetChar(db_seq,db_pos+1)];
-      if (q_pos< q_length-1) x += dangle3_37[type][GetChar(query_seq,q_pos+1)];
-      if((db_pos == db_seq.size()-1 || db_seq[db_pos+1]==0) && type>2){
-	x += TerminalAU;
-      }
-    }
-  }
-  return(double(x)/100);
-}
-
-int GappedExtension::GetChar(vector<unsigned char> &seq, int i){
-  if(i<0 || seq[i]<2){
-    return(0);
-  }else{
-    return(seq[i] <=5 ? seq[i]-1 : seq[i]-5);
-  }
-}
-
-void GappedExtension::traceback(Hit &candidate,vector<vector<Cell> > &matrix_c, int i,int i_start, int j, int j_start, bool flag){
-  while(i !=0 && j !=0){
-    if(flag == 0){
-      candidate.AddBasePair(i_start-i,  j_start-j);
-    }else{
-      candidate.AddBasePair(i_start+i,  j_start+j);
-    }
-    int temp_i = i; int temp_j = j;
-    i =  matrix_c[temp_i][temp_j].first;
-    j =  matrix_c[temp_i][temp_j].second;
-  }
-}
-
-
-double GappedExtension::LoopEnergy(int type, int type2,int i,int j,int p,int q, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq){
-  double z = 0;
-  int u1 = p-i-1;
-  int u2 = q-j-1;
-  if ((u1==0) && (u2==0)){
-    z = stack37[type][type2];
-  }else{
-    if ((u1==0)||(u2==0)) {
-      int u;
-      u = u1 == 0 ? u2 : u1;
-      z = u <=30 ? bulge37[u] : bulge37[30] + lxc37*log( u/30.);
-      
-      if (u == 1){
-	z += stack37[type][type2];
-      }else {
-	if (type>2){ z += TerminalAU;}
-	if (type2>2){ z += TerminalAU;}
-      }
-    }else{     
-      int a = query_seq[i+1] <=5 ? query_seq[i+1]-1 : query_seq[i+1]-5;
-      int b = db_seq[j+1] <=5 ? db_seq[j+1]-1 : db_seq[j+1]-5;
-      int c = query_seq[p-1] <=5 ? query_seq[p-1]-1 : query_seq[p-1]-5;
-      int d = db_seq[q-1] <=5 ? db_seq[q-1]-1 : db_seq[q-1]-5;
-      if (u1+u2==2) {
-	z = int11_37[type][type2][a][b];
-      }else if ((u1==1) && (u2==2)){
-	z = int21_37[type][type2][a][d][b];
-      }else if ((u1==2) && (u2==1)){
-	z = int21_37[type2][type][d][a][c];
-      }else if ((u1==2) && (u2==2)){
-	z = int22_37[type][type2][a][c][d][b];
-      }else{
-	z = internal_loop37[u1+u2]+mismatchI37[type][a][b]+mismatchI37[type2][d][c];
-      }
-    }
-  }
-  return double(z)/100;
-}
diff --git a/Archive/RIblast-master/gapped_extension.h b/Archive/RIblast-master/gapped_extension.h
deleted file mode 100644
index b650e9afbc042c2b34e411827c86ca759aff535b..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/gapped_extension.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * gapped_extension.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef GAPPED_EXTENSION_H
-#define GAPPED_EXTENSION_H
-
-#include "hit.h"
-#include <vector>
-
-using namespace std;
-
-#define MAX_EXTENSION 100000
-
-class Stem{
-public:
-  Stem(int a, int b, int c){ first = a; second = b; type = c; }
-  void set(int a, int b, int c){ first = a; second = b; type = c; }
-  int first;  int second; int type;
-};
-
-class Cell{
-public:
-  Cell(int a, int b, int c, double d){
-    first = a; second = b; type = c; hybrid_energy = d;
-  }
-  void set(int a, int b, int c, double d){
-    first = a; second = b; type = c; hybrid_energy = d;
-  }
-  int first; int second; double hybrid_energy; int type;
-};
-
-class CheckStemCandidate{
-public:
-  CheckStemCandidate(int a){ loop_size = a; }
-  bool operator()(const Stem &x) const { return(length-x.first-x.second-2 > loop_size);}
-  void SetLength(int a){length = a;}
-private:
-  int loop_size;
-  int length;
-};
-
-class GappedExtension {
- public:
-  GappedExtension(int a, int x, int m){
-    _min_accessible_length = a;
-    _drop_out_score = x;
-    _min_helix_length = m;
-  }
-  void Run(vector<Hit> &candidate, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility, vector<int> &db_seq_length);
-
- private:
-  int _min_accessible_length;
-  int _drop_out_score;
-  int _min_helix_length;
-
-  int GetChar(vector<unsigned char> &seq, int i);
-  int GetBPType(int flag, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, int q_start, int db_start,int i, int j,int x);
-  int CheckHelixLength(int flag, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, int q_start, int db_start,int i, int j, vector<vector<Cell> > &matrix_c);
-  void traceback(Hit &candidate, vector<vector<Cell> > &matrix_c, int i,int i_start, int j, int j_start, bool flag);
-  void extension(Hit &candidate, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility, bool flag);
-  double LoopEnergy(int type, int type2,int i,int j,int p,int q, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq);
-  double CalcDangleEnergy(int q_pos, int db_pos, int flag, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, int dbseq_length);
-  bool CheckWobble(int type);
-};
-
-#endif
diff --git a/Archive/RIblast-master/hit.h b/Archive/RIblast-master/hit.h
deleted file mode 100644
index e8f5699039ecba06491101e510739304b9ca5509..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/hit.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- *  hit.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef HIT_H
-#define HIT_H
-
-#include <iostream>
-#include <fstream>
-#include <vector>
-#include <algorithm>
-
-using namespace std;
-
-class BasePair{
-public:
-  BasePair(int a, int b){ qpos = a; dbpos = b;}
-  int qpos;  int dbpos;
-};
-
-class Hit{
- public:
-  Hit(int q_sp, int db_sp, int length, double accessiblity_energy, double hybridization_energy){
-    _dbseq_id = -1;
-    _dbseq_id_start = -1;
-    _q_sp = q_sp;
-    _db_sp = db_sp;
-    _q_length = length;
-    _db_length = length;
-    _accessibility_energy = accessiblity_energy;
-    _hybridization_energy = hybridization_energy;
-    _energy = accessiblity_energy + hybridization_energy;
-    _flag = false;
-    _base_pair.reserve(10);
-  }
-
-  int GetDbSeqId() const{
-    return _dbseq_id;
-  }
-
-  static bool base_pair_compare( const BasePair& left, const BasePair& right ) {
-    return(left.qpos < right.qpos);
-  }
-
-  int GetDbSeqIdStart() const{
-    return _dbseq_id_start;
-  }
-
-  int GetQSp() const{
-    return _q_sp;
-  }
-
-  int GetDbSp() const{
-    return _db_sp;
-  }
-
-  unsigned short int GetQLength() const{
-    return _q_length;
-  }
-
-  unsigned short int GetDbLength() const{
-    return _db_length;
-  }
-
-  int GetBasePairLength() const{
-    return _base_pair.size();
-  }
-
-  double GetAccessibilityEnergy() const{
-    return _accessibility_energy;
-  }
-
-  double GetHybridizationEnergy() const{
-    return _hybridization_energy;
-  }
-
-  double GetEnergy() const{
-    return _energy;
-  }
-  
-  bool GetFlag() const{
-    return(_flag);
-  }
-  
-  int GetBasePairFirst(int i) const{
-    return(_base_pair[i].qpos);
-  }
-  
-  int GetBasePairSecond(int i) const{
-    return(_base_pair[i].dbpos);
-  }
-
-  void SetAccessibilityEnergy(double a){
-    _accessibility_energy = a;
-  }
-
-  void SetHybridizationEnergy(double a){
-    _hybridization_energy = a;
-  }
-
-  void SetEnergy(double a){
-    _energy = a;
-  }
-
-  void SetDbSeqId(int a){
-    _dbseq_id = a;
-  }
-
-  void SetDbSeqIdStart(int a){
-    _dbseq_id_start = a;
-  }
-
-  void SetFlag(){
-    _flag = true;
-  }
-
-  void SetQSp(int a){
-    _q_sp = a;
-  }
-
-  void SetDbSp(int a){
-    _db_sp = a;
-  }
-
-  void SetQLength(int a){
-    _q_length = a;
-  }
-
-  void SetDbLength(int a){
-    _db_length = a;
-  }
-
-  void AddBasePair(int a, int b){
-    _base_pair.push_back(BasePair(a,b));
-  }
-  
-  void SortBasePair(){
-    sort(_base_pair.begin(), _base_pair.end(), base_pair_compare);
-  }
-  
- private:
-  int _dbseq_id;
-  int _dbseq_id_start;
-  int _q_sp;
-  int _db_sp;
-  int _q_length;
-  int _db_length;
-  double _accessibility_energy;
-  double _hybridization_energy;
-  double _energy;
-  bool _flag;
-  vector<BasePair> _base_pair;
-};
-
-class Hit_candidate{
- public:
-  Hit_candidate(int sp_q_sa, int ep_q_sa, int sp_db_sa, int ep_db_sa, int length, double energy){
-    _sp_q_sa = sp_q_sa;
-    _ep_q_sa = ep_q_sa;
-    _sp_db_sa = sp_db_sa;
-    _ep_db_sa = ep_db_sa;
-    _length = length;
-    _energy = energy;
-  }
-
-  double GetEnergy() const{
-    return _energy;
-  }
-
-  int GetSpQSa() const{
-    return _sp_q_sa;
-  }
-
-  int GetEpQSa() const{
-    return _ep_q_sa;
-  }
-
-  int GetSpDbSa() const{
-    return _sp_db_sa;
-  }
-
-  int GetEpDbSa() const{
-    return _ep_db_sa;
-  }
-
-  int GetLength() const{
-    return _length;
-  }
-  
- private:
-  int _sp_q_sa;
-  int _ep_q_sa;
-  int _sp_db_sa;
-  int _ep_db_sa;
-  int _length;
-  double _energy;
-};
-
-#endif
diff --git a/Archive/RIblast-master/intloops.h b/Archive/RIblast-master/intloops.h
deleted file mode 100644
index 00a6c8c35d5e5bbd339b2873ca2bae1bc63404ff..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/intloops.h
+++ /dev/null
@@ -1,2809 +0,0 @@
-/*
- * intloops.h
- *  The parameter value was obtained from http://www.cs.ubc.ca/labs/beta/Projects/RNA-Params 
- *  Reference: Mirela Andronescu et al. Computational approaches for RNA energy parameter estimation (RNA 2010)
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef INTLOOPS_H
-#define INTLOOPS_H
-
-static int int11_37[8][8][5][5] =
-{ /* noPair */ {{{0}}},
-{ /* noPair */ {{0}},
-/* CG..CG */
-  {{ 158, 158, 158, 158, 158},
-   { 158, 158,  74,  97,  35},
-   { 158,  74,  89,  35,  78},
-   { 158,  97,  35,  58,  35},
-   { 158,  35,  78,  35, -12}
-},
-/* CG..GC */
-{{ 158, 158, 158, 158, 158},
- { 158,  76,  18,   6,  35},
- { 158,  46,  85,  35, 124},
- { 158,  72,  35, -27,  35},
- { 158,  35,  51,  35, -20}
-},
-/* CG..GU */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  98}
-},
-/* CG..UG */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  98}
-},
-/* CG..AU */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  53}
-},
-/* CG..UA */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  36}
-},
-/* CG..?? */
-{{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158}
-}
-},
-{ /* noPair */ {{0}},
-/* GC..CG */
-{{ 158, 158, 158, 158, 158},
-   { 158,  76,  46,  72,  35},
-   { 158,  18,  85,  35,  51},
-   { 158,   6,  35, -27,  35},
-   { 158,  35, 124,  35, -20}
-},
-/* GC..GC */
-{{ 158, 158, 158, 158, 158},
-   { 158,  114,  11,  38,  35},
-   { 158,  11,  43,  35,  -10},
-   { 158,  38,  35, -51,  35},
-   { 158,  35, -10,  35, -161}
-},
-/* GC..GU */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  98}
-},
-/* GC..UG */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  98}
-},
-/* GC..AU */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  -18}
-},
-/* GC..UA */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  68}
-},
-/* GC..?? */
-{{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158}
-}
-},
-{ /* noPair */ {{0}},
-/* GU..CG */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  98}
-},
-/* GU..GC */
-{{158, 158, 158, 158, 158},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  98,  98},
-{ 158,  98,  98,  43,  98},
-{ 158,  98,  98,  98,  98}
-},
-/* GU..GU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* GU..UG */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* GU..AU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* GU..UA */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* GU..?? */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-}
-},
-{ /* noPair */ {{0}},
-/* UG..CG */
-{{ 158, 158, 158, 158, 158},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 43, 98},
-{ 158, 98, 98, 98, 98}
-},
-/* UG..GC */
-{{ 158, 158, 158, 158, 158},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 43, 98},
-{ 158, 98, 98, 98, 98}
-},
-/* UG..GU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* UG..UG */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* UG..AU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* UG..UA */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* UG..?? */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-}
-},
-{ /* noPair */ {{0}},
-/* AU..CG */
-{{ 158, 158, 158, 158, 158},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 43, 98},
-{ 158, 98, 98, 98, 53}
-},
-/* AU..GC */
-{{ 158, 158, 158, 158, 158},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 43, 98},
-{ 158, 98, 98, 98, -18}
-},
-/* AU..GU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* AU..UG */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* AU..AU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 45}
-},
-/* AU..UA */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 62}
-},
-/* AU..?? */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-}
-},
-{ /* noPair */ {{0}},
-/* UA..CG */
-{{ 158, 158, 158, 158, 158},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 43, 98},
-{ 158, 98, 98, 98, 36}
-},
-/* UA..GC */
-{{ 158, 158, 158, 158, 158},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 98, 98},
-{ 158, 98, 98, 43, 98},
-{ 158, 98, 98, 98, 68}
-},
-/* UA..GU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* UA..UG */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* UA..AU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 62}
-},
-/* UA..UA */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 106, 161},
-{ 161, 161, 161, 161, 124}
-},
-/* UA..?? */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-}
-},
-{ /* noPair */ {{0}},
-/* ??..CG */
-{{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158}
-},
-/* ??..GC */
-{{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158},
-{158, 158, 158, 158, 158}
-},
-/* ??..GU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* ??..UG */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* ??..AU */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* ??..UA */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-},
-/* ??..?? */
-{{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161},
-{ 161, 161, 161, 161, 161}
-}
-}
-};
-
-static int int21_37[8][8][5][5][5] = 
-{ /* noPair */ {{{{0}}}},
-{ /* noPair */ {{{0}}},
-{
-/* CG.@..CG */
-  {{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.A..CG */
-  {{ 324, 324, 324, 324, 324},{ 324, 154, 144, 127, 171},{ 324, 174, 171, 185, 171},{ 324, 142, 143, 107, 171},{ 324, 171, 171, 171, 171}},
-/* CG.C..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 83, 166, 171, 180},{ 324, 161, 159, 171, 170},{ 324, 171, 171, 171, 171},{ 324, 128, 136, 171, 166}},
-/* CG.G..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 98, 171, 83, 171},{ 324, 171, 171, 171, 171},{ 324, 132, 171, 104, 171},{ 324, 171, 171, 171, 171}},
-/* CG.U..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 171, 171, 171, 171},{ 324, 171, 164, 171, 190},{ 324, 171, 171, 171, 171},{ 324, 171, 128, 171, 119}}
-},
-{
-/* CG.@..GC */
-  {{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.A..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 172, 145, 4, 171},{ 324, 193, 157, 166, 171},{ 324, 166, 132, 121, 171},{ 324, 171, 171, 171, 171}},
-/* CG.C..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 122, 149, 171, 166},{ 324, 152, 155, 171, 183},{ 324, 171, 171, 171, 171},{ 324, 171, 147, 171, 176}},
-/* CG.G..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 143, 171, 77, 171},{ 324, 171, 171, 171, 171},{ 324, 193, 171, 230, 171},{ 324, 171, 171, 171, 171}},
-/* CG.U..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 171, 171, 171, 171},{ 324, 171, 158, 171, 149},{ 324, 171, 171, 171, 171},{ 324, 171, 107, 171, 76}}
-},
-{
-/* CG.@..GU */
- {{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.A..GU */
- {{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* CG.C..GU */
- {{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* CG.G..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* CG.U..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* CG.@..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.A..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* CG.C..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* CG.G..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* CG.U..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* CG.@..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.A..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* CG.C..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* CG.G..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* CG.U..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* CG.@..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.A..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* CG.C..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* CG.G..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* CG.U..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* CG.@..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.A..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.C..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.G..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* CG.U..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-}
-},
-{ /* noPair */ {{{0}}},
-{
-/* GC.@..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.A..CG */
-  {{ 324, 324, 324, 324, 324},{ 324, 137, 144, 250, 171},{ 324, 157, 186, 205, 171},{ 324, 119, 154, 95, 171},{ 324, 171, 171, 171, 171}},
-/* GC.C..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 45, 184, 171, 195},{ 324, 171, 164, 171, 159},{ 324, 171, 171, 171, 171},{ 324, 86, 127, 171, 157}},
-/* GC.G..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 55, 171, 91, 171},{ 324, 171, 171, 171, 171},{ 324, 72, 171, -23, 171},{ 324, 171, 171, 171, 171}},
-/* GC.U..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 171, 171, 171, 171},{ 324, 171, 170, 171, 232},{ 324, 171, 171, 171, 171},{ 324, 171, 150, 171, 162}}
-},
-{
-/* GC.@..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.A..GC */
-  {{ 324, 324, 324, 324, 324},{ 324, 154, 144, 127, 171},{ 324, 174, 171, 185, 171},{ 324, 142, 143, 107, 171},{ 324, 171, 171, 171, 171}},
-/* GC.C..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 83, 166, 171, 180},{ 324, 161, 159, 171, 170},{ 324, 171, 171, 171, 171},{ 324, 128, 136, 171, 166}},
-/* GC.G..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 98, 171, 83, 171},{ 324, 171, 171, 171, 171},{ 324, 132, 171, 104, 171},{ 324, 171, 171, 171, 171}},
-/* GC.U..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 171, 171, 171, 171},{ 324, 171, 164, 171, 190},{ 324, 171, 171, 171, 171},{ 324, 171, 128, 171, 119}}
-},
-{
-/* GC.@..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.A..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* GC.C..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* GC.G..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* GC.U..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* GC.@..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.A..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* GC.C..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* GC.G..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* GC.U..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* GC.@..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.A..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* GC.C..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* GC.G..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* GC.U..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* GC.@..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.A..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* GC.C..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* GC.G..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* GC.U..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* GC.@..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.A..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.C..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.G..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GC.U..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-}
-},
-{ /* noPair */ {{{0}}},
-{
-/* GU.@..CG*/
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.A..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* GU.C..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* GU.G..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* GU.U..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* GU.@..GC*/
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.A..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* GU.C..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* GU.G..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* GU.U..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* GU.@..GU*/
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.A..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* GU.C..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* GU.G..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* GU.U..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* GU.@..UG*/
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.A..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* GU.C..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* GU.G..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* GU.U..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* GU.@..AU*/
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.A..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* GU.C..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* GU.G..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* GU.U..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* GU.@..UA*/
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.A..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* GU.C..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* GU.G..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* GU.U..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* GU.@..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.A..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.C..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.G..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* GU.U..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-}
-},
-{ /* noPair */ {{{0}}},
-{
-/* UG.@..CG*/
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.A..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* UG.C..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* UG.G..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* UG.U..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* UG.@..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.A..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* UG.C..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* UG.G..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* UG.U..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* UG.@..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.A..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UG.C..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UG.G..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UG.U..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UG.@..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.A..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UG.C..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UG.G..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UG.U..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UG.@..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.A..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UG.C..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UG.G..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UG.U..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UG.@..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.A..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UG.C..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UG.G..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UG.U..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UG.@..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.A..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.C..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.G..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UG.U..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-}
-},
-{ /* noPair */ {{{0}}},
-{
-/* AU.@..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.A..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* AU.C..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* AU.G..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* AU.U..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* AU.@..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.A..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* AU.C..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* AU.G..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* AU.U..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* AU.@..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.A..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* AU.C..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* AU.G..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* AU.U..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* AU.@..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.A..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* AU.C..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* AU.G..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* AU.U..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* AU.@..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.A..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* AU.C..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* AU.G..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* AU.U..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* AU.@..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.A..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* AU.C..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* AU.G..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* AU.U..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* AU.@..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.A..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.C..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.G..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* AU.U..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-}
-},
-{ /* noPair */ {{{0}}},
-{
-/* UA.@..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.A..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* UA.C..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* UA.G..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* UA.U..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* UA.@..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.A..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 221, 211, 194, 238},{ 324, 241, 238, 252, 238},{ 324, 209, 210, 174, 238},{ 324, 238, 238, 238, 238}},
-/* UA.C..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 150, 233, 238, 247},{ 324, 228, 226, 238, 237},{ 324, 238, 238, 238, 238},{ 324, 195, 203, 238, 233}},
-/* UA.G..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 165, 238, 150, 238},{ 324, 238, 238, 238, 238},{ 324, 199, 238, 171, 238},{ 324, 238, 238, 238, 238}},
-/* UA.U..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 238, 238, 238, 238},{ 324, 238, 231, 238, 257},{ 324, 238, 238, 238, 238},{ 324, 238, 195, 238, 186}}
-},
-{
-/* UA.@..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.A..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UA.C..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UA.G..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UA.U..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UA.@..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.A..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UA.C..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UA.G..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UA.U..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UA.@..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.A..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UA.C..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UA.G..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UA.U..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UA.@..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.A..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 288, 278, 261, 305},{ 324, 308, 305, 319, 305},{ 324, 276, 277, 241, 305},{ 324, 305, 305, 305, 305}},
-/* UA.C..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 217, 300, 305, 314},{ 324, 295, 293, 305, 304},{ 324, 305, 305, 305, 305},{ 324, 262, 270, 305, 300}},
-/* UA.G..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 232, 305, 217, 305},{ 324, 305, 305, 305, 305},{ 324, 266, 305, 238, 305},{ 324, 305, 305, 305, 305}},
-/* UA.U..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 298, 305, 324},{ 324, 305, 305, 305, 305},{ 324, 305, 262, 305, 253}}
-},
-{
-/* UA.@..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.A..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.C..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.G..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* UA.U..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-}
-},
-{ /* noPair */ {{{0}}},
-{
-/* ??.@..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.A..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.C..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.G..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.U..CG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-},
-{
-/* ??.@..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.A..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.C..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.G..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.U..GC */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-},
-{
-/* ??.@..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.A..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.C..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.G..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.U..GU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-},
-{
-/* ??.@..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.A..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.C..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.G..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.U..UG */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-},
-{
-/* ??.@..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.A..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.C..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.G..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.U..AU */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-},
-{
-/* ??.@..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.A..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.C..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.G..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.U..UA */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-},
-{
-/* ??.@..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.A..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.C..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.G..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}},
-/* ??.U..?? */
-{{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324},{ 324, 324, 324, 324, 324}}
-}
-}
-};
-
-static int int22_37[8][8][5][5][5][5] = {
-/* noPair */ {{{{{0}}}}},
-{ /* noPair */ {{{{0}}}},
-/* CG....CG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368,  99, 158,  70, 242},{ 368, 176, 188, 127, 242},{ 368,  63, 102,  14, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 158, 123, 109, 242},{ 368, 145, 184, 143, 242},{ 368, 242, 242, 242, 242},{ 368, 118, 157, 116, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  70, 109,  -1, 242},{ 368, 242, 242, 242, 242},{ 368, 131, 170,  82, 242},{ 368, 127, 119, 153, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 145, 184, 143, 242},{ 368, 189, 181, 215, 242},{ 368,  99,  91, 125, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 176, 145, 242, 145},{ 368, 158, 202, 242, 202},{ 368, 120, 136, 242, 136},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 188, 184, 242, 184},{ 368, 202, 151, 242, 171},{ 368, 242, 242, 242, 242},{ 368, 175, 144, 242, 144}},
-{{ 368, 368, 368, 368, 368},{ 368, 127, 143, 242, 143},{ 368, 242, 242, 242, 242},{ 368, 188, 157, 242, 157},{ 368, 137, 153, 242, 153}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 202, 171, 242, 150},{ 368, 199, 215, 242, 215},{ 368, 109,  78, 242,  78}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368,  63, 242, 131, 189},{ 368, 120, 242, 188, 199},{ 368, -15, 242,  75, 208},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 102, 242, 170, 181},{ 368, 136, 242, 157, 215},{ 368, 242, 242, 242, 242},{ 368, 109, 242, 130, 188}},
-{{ 368, 368, 368, 368, 368},{ 368,  14, 242,  82, 215},{ 368, 242, 242, 242, 242},{ 368,  75, 242, 123, 201},{ 368, 146, 242, 139, 103}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 136, 242, 157, 215},{ 368, 208, 242, 201, 144},{ 368, 118, 242, 111, 197}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 118, 127, 99},{ 368, 242, 175, 137, 109},{ 368, 242, 109, 146, 118},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 157, 119, 91},{ 368, 242, 144, 153,  78},{ 368, 242, 242, 242, 242},{ 368, 242,  97, 126,  51}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 116, 153, 125},{ 368, 242, 242, 242, 242},{ 368, 242, 130, 139, 111},{ 368, 242, 126,  21, 135}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 144, 153,  78},{ 368, 242, 188, 103, 197},{ 368, 242,  51, 135, -36}}
-}
-},
-/* CG....GC */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 141, 180,  92, 242},{ 368, 151, 163, 102, 242},{ 368, 45,  84,  -4, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 154, 166, 105, 242},{ 368, 130, 169, 128, 242},{ 368, 242, 242, 242, 242},{ 368, 131, 170, 129, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  66, 105,  17, 242},{ 368, 242, 242, 242, 242},{ 368, 105, 144,  56, 242},{ 368, 158, 150, 184, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 106, 145, 104, 242},{ 368, 101,  93, 127, 242},{ 368,  92,  84, 118, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 198, 167, 242, 167},{ 368, 181, 177, 242, 177},{ 368, 102, 118, 242, 118},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 184, 180, 242, 180},{ 368, 187, 156, 242, 156},{ 368, 242, 242, 242, 242},{ 368, 188, 157, 242, 157}},
-{{ 368, 368, 368, 368, 368},{ 368, 123, 139, 242, 139},{ 368, 242, 242, 242, 242},{ 368, 162, 131, 242, 131},{ 368, 168, 184, 242, 184}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 163, 132, 242, 132},{ 368, 111, 127, 242, 127},{ 368, 102,  71, 242,  71}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368,  85, 242, 153, 211},{ 368,  95, 242, 163, 174},{ 368, -11, 242,  57, 190},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  98, 242, 166, 177},{ 368, 121, 242, 142, 200},{ 368, 242, 242, 242, 242},{ 368, 122, 242, 143, 201}},
-{{ 368, 368, 368, 368, 368},{ 368,  10, 242,  78, 211},{ 368, 242, 242, 242, 242},{ 368,  49, 242, 117, 175},{ 368, 177, 242, 170, 134}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368,  97, 242, 118, 176},{ 368, 120, 242, 113, 77},{ 368,  111, 242, 104, 190}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 140, 149, 121},{ 368, 242, 150, 112,  84},{ 368, 242,  91, 128, 100},{ 358, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 153, 115,  87},{ 368, 242, 129, 138,  63},{ 368, 242, 242, 242, 242},{ 368, 242, 130, 139,  64}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 112, 149, 121},{ 368, 242, 242, 242, 242},{ 368, 242, 104, 113, 85},{ 368, 242, 157, 72, 166}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 105, 114,  39},{ 368, 242, 100,  15, 109},{ 368, 242,  44, 128, -22}}
-}
-},
-/* CG....GU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 150, 189, 101, 242},{ 368, 217, 229, 168, 242},{ 368,  95, 134,  46, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 149, 161, 100, 242},{ 368, 134, 173, 132, 242},{ 368, 242, 242, 242, 242},{ 368, 152, 191, 150, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 163, 202, 114, 242},{ 368, 242, 242, 242, 242},{ 368, 132, 171,  83, 242},{ 368, 227, 219, 253, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 114, 153, 112, 242},{ 368, 219, 211, 245, 242},{ 368, 119, 111, 145, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 207, 176, 242, 176},{ 368, 247, 243, 242, 243},{ 368, 152, 168, 242, 168},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 179, 175, 242, 175},{ 368, 191, 160, 242, 160},{ 368, 242, 242, 242, 242},{ 368, 209, 178, 242, 178}},
-{{ 368, 368, 368, 368, 368},{ 368, 220, 236, 242, 236},{ 368, 242, 242, 242, 242},{ 368, 189, 158, 242, 158},{ 368, 237, 253, 242, 253}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 171, 140, 242, 140},{ 368, 229, 245, 242, 245},{ 368, 129,  98, 242,  98}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368,  94, 242, 162, 220},{ 368, 161, 242, 229, 240},{ 368,  39, 242, 107, 240},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  93, 242, 161, 172},{ 368, 125, 242, 146, 204},{ 368, 242, 242, 242, 242},{ 368, 143, 242, 164, 222}},
-{{ 368, 368, 368, 368, 368},{ 368, 107, 242, 185, 308},{ 368, 242, 242, 242, 242},{ 368,  76, 242, 144, 202},{ 368, 246, 242, 239, 203}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 105, 242, 126, 184},{ 368, 238, 242, 231, 195},{ 368, 138, 242, 131, 217}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 149, 158, 130},{ 368, 242, 216, 178, 150},{ 368, 242, 141, 178, 150},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 148, 110,  82},{ 368, 242, 133, 142,  67},{ 368, 242, 242, 242, 242},{ 368, 242, 151, 160,  85}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 209, 246, 218},{ 368, 242, 242, 242, 242},{ 368, 242, 131, 140, 112},{ 368, 242, 226, 141, 235}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 113, 122,  47},{ 368, 242, 218, 133, 227},{ 368, 242,  71, 155,   5}}
-}
-},
-/* CG....UG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 202, 241, 153, 242},{ 368, 179, 191, 130, 242},{ 368,  85, 124,  36, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 154, 166, 105, 242},{ 368, 162, 201, 160, 242},{ 368, 242, 242, 242, 242},{ 368, 168, 207, 166, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 161, 200, 112, 242},{ 368, 242, 242, 242, 242},{ 368, 172, 211, 123, 242},{ 368, 232, 224, 258, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 190, 229, 188, 242},{ 368, 249, 241, 275, 242},{ 368, 114, 106, 140, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 259, 228, 242, 228},{ 368, 209, 205, 242, 205},{ 368, 142, 158, 242, 158},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 184, 180, 242, 180},{ 368, 219, 188, 242, 188},{ 368, 242, 242, 242, 242},{ 368, 225, 194, 242, 194}},
-{{ 368, 368, 368, 368, 368},{ 368, 218, 234, 242, 234},{ 368, 242, 242, 242, 242},{ 368, 229, 198, 242, 198},{ 368, 242, 258, 242, 258}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 247, 216, 242, 216},{ 368, 259, 275, 242, 275},{ 368, 124,  93, 242,  93}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 146, 242, 214, 272},{ 368, 123, 242, 191, 202},{ 368,  29, 242,  97, 230},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  98, 242, 166, 177},{ 368, 153, 242, 174, 232},{ 368, 242, 242, 242, 242},{ 368, 159, 242, 180, 238}},
-{{ 368, 368, 368, 368, 368},{ 368, 105, 242, 173, 306},{ 368, 242, 242, 242, 242},{ 368, 116, 242, 184, 242},{ 368, 251, 242, 244, 208}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 181, 242, 202, 260},{ 368, 268, 242, 261, 225},{ 368, 133, 242, 126, 212}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 201, 210, 182},{ 368, 242, 178, 140, 112},{ 368, 242, 131, 168, 140},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 153, 115,  87},{ 368, 242, 161, 170,  95},{ 368, 242, 242, 242, 242},{ 368, 242, 167, 176, 101}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 207, 244, 216},{ 368, 242, 242, 242, 242},{ 368, 242, 171, 180, 152},{ 368, 242, 231, 146, 240}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 189, 198, 123},{ 368, 242, 248, 163, 257},{ 368, 242, 66,  150,  0}}
-}
-},
-/* CG....AU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 150, 189, 101, 242},{ 368, 217, 229, 168, 242},{ 368,  95, 134,  46, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 149, 161, 100, 242},{ 368, 134, 173, 132, 242},{ 368, 242, 242, 242, 242},{ 368, 152, 191, 150, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 163, 202, 114, 242},{ 368, 242, 242, 242, 242},{ 368, 132, 171,  83, 242},{ 368, 227, 219, 253, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 114, 153, 112, 242},{ 368, 219, 211, 245, 242},{ 368, 119, 111, 145, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 207, 176, 242, 176},{ 368, 247, 243, 242, 243},{ 368, 152, 168, 242, 168},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 179, 175, 242, 175},{ 368, 191, 160, 242, 160},{ 368, 242, 242, 242, 242},{ 368, 209, 178, 242, 178}},
-{{ 368, 368, 368, 368, 368},{ 368, 220, 236, 242, 236},{ 368, 242, 242, 242, 242},{ 368, 189, 158, 242, 158},{ 368, 237, 253, 242, 253}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 171, 140, 242, 140},{ 368, 229, 245, 242, 245},{ 368, 129,  98, 242,  98}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368,  94, 242, 162, 220},{ 368, 161, 242, 229, 240},{ 368,  39, 242, 107, 240},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  93, 242, 161, 172},{ 368, 125, 242, 146, 204},{ 368, 242, 242, 242, 242},{ 368, 143, 242, 164, 222}},
-{{ 368, 368, 368, 368, 368},{ 368, 107, 242, 185, 308},{ 368, 242, 242, 242, 242},{ 368,  76, 242, 144, 202},{ 368, 246, 242, 239, 203}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 105, 242, 126, 184},{ 368, 238, 242, 231, 195},{ 368, 138, 242, 131, 217}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 149, 158, 130},{ 368, 242, 216, 178, 150},{ 368, 242, 141, 178, 150},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 148, 110,  82},{ 368, 242, 133, 142,  67},{ 368, 242, 242, 242, 242},{ 368, 242, 151, 160,  85}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 209, 246, 218},{ 368, 242, 242, 242, 242},{ 368, 242, 131, 140, 112},{ 368, 242, 226, 141, 235}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 113, 122,  47},{ 368, 242, 218, 133, 227},{ 368, 242,  71, 155,   5}}
-}
-},
-/* CG....UA */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 202, 241, 153, 242},{ 368, 179, 191, 130, 242},{ 368,  85, 124,  36, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 154, 166, 105, 242},{ 368, 162, 201, 160, 242},{ 368, 242, 242, 242, 242},{ 368, 168, 207, 166, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 161, 200, 112, 242},{ 368, 242, 242, 242, 242},{ 368, 172, 211, 123, 242},{ 368, 232, 224, 258, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 190, 229, 188, 242},{ 368, 249, 241, 275, 242},{ 368, 114, 106, 140, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 259, 228, 242, 228},{ 368, 209, 205, 242, 205},{ 368, 142, 158, 242, 158},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 184, 180, 242, 180},{ 368, 219, 188, 242, 188},{ 368, 242, 242, 242, 242},{ 368, 225, 194, 242, 194}},
-{{ 368, 368, 368, 368, 368},{ 368, 218, 234, 242, 234},{ 368, 242, 242, 242, 242},{ 368, 229, 198, 242, 198},{ 368, 242, 258, 242, 258}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 247, 216, 242, 216},{ 368, 259, 275, 242, 275},{ 368, 124,  93, 242,  93}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 146, 242, 214, 272},{ 368, 123, 242, 191, 202},{ 368,  29, 242,  97, 230},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  98, 242, 166, 177},{ 368, 153, 242, 174, 232},{ 368, 242, 242, 242, 242},{ 368, 159, 242, 180, 238}},
-{{ 368, 368, 368, 368, 368},{ 368, 105, 242, 173, 306},{ 368, 242, 242, 242, 242},{ 368, 116, 242, 184, 242},{ 368, 251, 242, 244, 208}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 181, 242, 202, 260},{ 368, 268, 242, 261, 225},{ 368, 133, 242, 126, 212}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 201, 210, 182},{ 368, 242, 178, 140, 112},{ 368, 242, 131, 168, 140},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 153, 115,  87},{ 368, 242, 161, 170,  95},{ 368, 242, 242, 242, 242},{ 368, 242, 167, 176, 101}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 207, 244, 216},{ 368, 242, 242, 242, 242},{ 368, 242, 171, 180, 152},{ 368, 242, 231, 146, 240}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 189, 198, 123},{ 368, 242, 248, 163, 257},{ 368, 242, 66,  150,  0}}
-}
-},
-/* CG....?? */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-}
-},
-{ /* noPair */ {{{{0}}}},
-/* GC....CG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 141, 154,  66, 242},{ 368, 198, 184, 123, 242},{ 368,  85,  98,  10, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 180, 166, 105, 242},{ 368, 167, 180, 139, 242},{ 368, 242, 242, 242, 242},{ 368, 140, 153, 112, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  92, 105,  17, 242},{ 368, 242, 242, 242, 242},{ 368, 153, 166,  78, 242},{ 368, 149, 115, 149, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 167, 180, 139, 242},{ 368, 211, 177, 211, 242},{ 368, 121,  87, 121, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 151, 130, 242, 106},{ 368, 181, 187, 242, 163},{ 368, 95, 121, 242, 97},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 163, 169, 242, 145},{ 368, 177, 156, 242, 132},{ 368, 242, 242, 242, 242},{ 368, 150, 129, 242, 105}},
-{{ 368, 368, 368, 368, 368},{ 368, 102, 128, 242, 104},{ 368, 242, 242, 242, 242},{ 368, 163, 142, 242, 118},{ 368, 112, 138, 242, 114}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 177, 156, 242, 132},{ 368, 177, 200, 242, 176},{ 368,  84,  63, 242,  39}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 45, 242, 105, 101},{ 368, 102, 242, 162, 111},{ 368, -11, 242,  49, 120},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  84, 242, 144, 93},{ 368, 118, 242, 131, 127},{ 368, 242, 242, 242, 242},{ 368,  91, 242, 104, 100}},
-{{ 368, 368, 368, 368, 368},{ 368, -4, 242,  56, 127},{ 368, 242, 242, 242, 242},{ 368, 57, 242, 117, 113},{ 368, 128, 242, 113, 15}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 118, 242, 131, 127},{ 368, 190, 242, 175, 77},{ 368,  100, 242, 85,  109}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 131, 158, 92},{ 368, 242, 188, 168, 102},{ 368, 242, 122, 177, 111},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 170, 150,  84},{ 368, 242, 157, 184, 71},{ 368, 242, 242, 242, 242},{ 368, 242, 130, 157,  44}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 129, 184, 118},{ 368, 242, 242, 242, 242},{ 368, 242, 143, 170, 104},{ 368, 242, 139, 72, 128}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 157, 184, 71},{ 368, 242, 201, 134, 190},{ 368, 242,  64, 166, -22}}
-}
-},
-/* GC....GC */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 142, 176,  88, 242},{ 368, 173, 159,  98, 242},{ 368,  67,  80,  -8, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 176, 115, 101, 242},{ 368, 152, 165, 124, 242},{ 368, 242, 242, 242, 242},{ 368, 153, 166, 125, 242}},
-{{ 368, 368, 368, 368, 368},{ 368,  88, 101,  -8, 242},{ 368, 242, 242, 242, 242},{ 368, 127, 140,  52, 242},{ 368, 180, 146, 180, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 128, 141, 100, 242},{ 368, 123,  89, 123, 242},{ 368, 114,  80, 114, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 173, 152, 242, 128},{ 368, 109, 162, 242, 138},{ 368,  77, 103, 242,  79},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 159, 165, 242, 141},{ 368, 162, 121, 242, 117},{ 368, 242, 242, 242, 242},{ 368, 163, 142, 242, 118}},
-{{ 368, 368, 368, 368, 368},{ 368,  98, 124, 242, 100},{ 368, 242, 242, 242, 242},{ 368, 137, 116, 242,  92},{ 368, 143, 169, 242, 145}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 138, 117, 242,  72},{ 368, 86, 112, 242, 88},{ 368,  77,  56, 242,  32}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 67, 242, 127, 123},{ 368, 77, 242, 137, 86},{ 368, -51, 242, 31, 102},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 80, 242, 140, 89},{ 368, 103, 242, 116, 112},{ 368, 242, 242, 242, 242},{ 368, 104, 242, 117, 113}},
-{{ 368, 368, 368, 368, 368},{ 368, -8, 242, 52, 123},{ 368, 242, 242, 242, 242},{ 368, 31, 242, 71, 87},{ 368, 159, 242, 144, 46}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 79, 242, 92, 88},{ 368, 102, 242, 87, -33},{ 368, 93, 242, 78, 102}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 153, 180, 114},{ 368, 242, 163, 143, 77},{ 368, 242, 104, 159, 93},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 166, 146, 80},{ 368, 242, 142, 169, 56},{ 368, 242, 242, 242, 242},{ 368, 242, 123, 170, 57}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 125, 180, 114},{ 368, 242, 242, 242, 242},{ 368, 242, 117, 144, 78},{ 368, 242, 170, 83, 159}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 118, 145, 32},{ 368, 242, 113, 46, 102},{ 368, 242, 57, 159, -50}}
-}
-},
-/* GC....GU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 172, 185, 97, 242},{ 368, 239, 225, 164, 242},{ 368, 117, 130, 42, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 171, 157, 96, 242},{ 368, 156, 169, 128, 242},{ 368, 242, 242, 242, 242},{ 368, 174, 187, 146, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 198, 110, 242},{ 368, 242, 242, 242, 242},{ 368, 154, 167, 79, 242},{ 368, 249, 215, 249, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 136, 149, 108, 242},{ 368, 241, 207, 241, 242},{ 368, 141, 107, 141, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 182, 161, 242, 137},{ 368, 222, 228, 242, 204},{ 368, 127, 153, 242, 129},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 154, 160, 242, 136},{ 368, 166, 145, 242, 121},{ 368, 242, 242, 242, 242},{ 368, 184, 163, 242, 139}},
-{{ 368, 368, 368, 368, 368},{ 368, 195, 221, 242, 197},{ 368, 242, 242, 242, 242},{ 368, 164, 143, 242, 119},{ 368, 212, 238, 242, 214}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 146, 125, 242, 101},{ 368, 204, 230, 242, 206},{ 368, 104, 83, 242, 59}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 76, 242, 136, 132},{ 368, 143, 242, 203, 152},{ 368, 21, 242, 81, 152},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 75, 242, 135, 84},{ 368, 107, 242, 120, 116},{ 368, 242, 242, 242, 242},{ 368, 125, 242, 138, 134}},
-{{ 368, 368, 368, 368, 368},{ 368, 89, 242, 149, 220},{ 368, 242, 242, 242, 242},{ 368, 58, 242, 118, 114},{ 368, 228, 242, 213, 115}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 87, 242, 100, 96},{ 368, 220, 242, 205, 107},{ 368, 120, 242, 105, 129}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 162, 189, 123},{ 368, 242, 229, 209, 143},{ 368, 242, 154, 209, 143},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 161, 141, 75},{ 368, 242, 146, 173, 60},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 191, 78}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 222, 277, 211},{ 368, 242, 242, 242, 242},{ 368, 242, 144, 171, 105},{ 368, 242, 239, 172, 228}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 126, 153, 40},{ 368, 242, 231, 164, 220},{ 368, 242, 84, 186, -2}}
-}
-},
-/* GC....UG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 224, 237, 149, 242},{ 368, 201, 187, 126, 242},{ 368, 107, 120, 32, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 176, 162, 101, 242},{ 368, 184, 197, 156, 242},{ 368, 242, 242, 242, 242},{ 368, 190, 203, 162, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 183, 196, 108, 242},{ 368, 242, 242, 242, 242},{ 368, 194, 207, 119, 242},{ 368, 254, 220, 254, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 212, 225, 184, 242},{ 368, 271, 237, 271, 242},{ 368, 136, 102, 136, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 234, 213, 242, 189},{ 368, 184, 190, 242, 166},{ 368, 117, 143, 242, 119},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 159, 165, 242, 141},{ 368, 194, 173, 242, 149},{ 368, 242, 242, 242, 242},{ 368, 200, 179, 242, 155}},
-{{ 368, 368, 368, 368, 368},{ 368, 193, 219, 242, 195},{ 368, 242, 242, 242, 242},{ 368, 204, 183, 242, 159},{ 368, 217, 243, 242, 219}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 222, 201, 242, 177},{ 368, 234, 260, 242, 236},{ 368, 99, 78, 242, 54}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 128, 242, 188, 184},{ 368, 105, 242, 165, 114},{ 368, 11, 242, 71, 142},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 80, 242, 140, 89},{ 368, 135, 242, 148, 144},{ 368, 242, 242, 242, 242},{ 368, 141, 242, 154, 150}},
-{{ 368, 368, 368, 368, 368},{ 368, 87, 242, 147, 218},{ 368, 242, 242, 242, 242},{ 368, 98, 242, 158, 154},{ 368, 233, 242, 218, 120}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 163, 242, 176, 172},{ 368, 250, 242, 235, 137},{ 368, 115, 242, 100, 124}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 214, 241, 175},{ 368, 242, 191, 171, 105},{ 368, 242, 144, 199, 133},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 166, 146, 80},{ 368, 242, 174, 201, 88},{ 368, 242, 242, 242, 242},{ 368, 242, 180, 207, 94}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 220, 275, 209},{ 368, 242, 242, 242, 242},{ 368, 242, 184, 211, 145},{ 368, 242, 244, 177, 233}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 202, 229, 116},{ 368, 242, 261, 194, 250},{ 368, 242, 79, 181, -7}}
-}
-},
-/* GC....AU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 172, 185, 97, 242},{ 368, 239, 225, 164, 242},{ 368, 117, 130, 42, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 171, 157, 96, 242},{ 368, 156, 169, 128, 242},{ 368, 242, 242, 242, 242},{ 368, 174, 187, 146, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 198, 110, 242},{ 368, 242, 242, 242, 242},{ 368, 154, 167, 79, 242},{ 368, 249, 215, 249, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 136, 149, 108, 242},{ 368, 241, 207, 241, 242},{ 368, 141, 107, 141, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 182, 161, 242, 137},{ 368, 222, 228, 242, 204},{ 368, 127, 153, 242, 129},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 154, 160, 242, 136},{ 368, 166, 145, 242, 121},{ 368, 242, 242, 242, 242},{ 368, 184, 163, 242, 139}},
-{{ 368, 368, 368, 368, 368},{ 368, 195, 221, 242, 197},{ 368, 242, 242, 242, 242},{ 368, 164, 143, 242, 119},{ 368, 212, 238, 242, 214}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 146, 125, 242, 101},{ 368, 204, 230, 242, 206},{ 368, 104, 83, 242, 59}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 76, 242, 136, 132},{ 368, 143, 242, 203, 152},{ 368, 21, 242, 81, 152},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 75, 242, 135, 84},{ 368, 107, 242, 120, 116},{ 368, 242, 242, 242, 242},{ 368, 125, 242, 138, 134}},
-{{ 368, 368, 368, 368, 368},{ 368, 89, 242, 149, 220},{ 368, 242, 242, 242, 242},{ 368, 58, 242, 118, 114},{ 368, 228, 242, 213, 115}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 87, 242, 100, 96},{ 368, 220, 242, 205, 107},{ 368, 120, 242, 105, 129}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 162, 189, 123},{ 368, 242, 229, 209, 143},{ 368, 242, 154, 209, 143},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 161, 141, 75},{ 368, 242, 146, 173, 60},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 191, 78}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 222, 277, 211},{ 368, 242, 242, 242, 242},{ 368, 242, 144, 171, 105},{ 368, 242, 239, 172, 228}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 126, 153, 40},{ 368, 242, 231, 164, 220},{ 368, 242, 84, 186, -2}}
-}
-},
-/* GC....UA */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 224, 237, 149, 242},{ 368, 201, 187, 126, 242},{ 368, 107, 120, 32, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 176, 162, 101, 242},{ 368, 184, 197, 156, 242},{ 368, 242, 242, 242, 242},{ 368, 190, 203, 162, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 183, 196, 108, 242},{ 368, 242, 242, 242, 242},{ 368, 194, 207, 119, 242},{ 368, 254, 220, 254, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 212, 225, 184, 242},{ 368, 271, 237, 271, 242},{ 368, 136, 102, 136, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 234, 213, 242, 189},{ 368, 184, 190, 242, 166},{ 368, 117, 143, 242, 119},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 159, 165, 242, 141},{ 368, 194, 173, 242, 149},{ 368, 242, 242, 242, 242},{ 368, 200, 179, 242, 155}},
-{{ 368, 368, 368, 368, 368},{ 368, 193, 219, 242, 195},{ 368, 242, 242, 242, 242},{ 368, 204, 183, 242, 159},{ 368, 217, 243, 242, 219}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 222, 201, 242, 177},{ 368, 234, 260, 242, 236},{ 368, 99, 78, 242, 54}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 128, 242, 188, 184},{ 368, 105, 242, 165, 114},{ 368, 11, 242, 71, 142},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 80, 242, 140, 89},{ 368, 135, 242, 148, 144},{ 368, 242, 242, 242, 242},{ 368, 141, 242, 154, 150}},
-{{ 368, 368, 368, 368, 368},{ 368, 87, 242, 147, 218},{ 368, 242, 242, 242, 242},{ 368, 98, 242, 158, 154},{ 368, 233, 242, 218, 120}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 163, 242, 176, 172},{ 368, 250, 242, 235, 137},{ 368, 115, 242, 100, 124}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 214, 241, 175},{ 368, 242, 191, 171, 105},{ 368, 242, 144, 199, 133},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 166, 146, 80},{ 368, 242, 174, 201, 88},{ 368, 242, 242, 242, 242},{ 368, 242, 180, 207, 94}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 220, 275, 209},{ 368, 242, 242, 242, 242},{ 368, 242, 184, 211, 145},{ 368, 242, 244, 177, 233}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 202, 229, 116},{ 368, 242, 261, 194, 250},{ 368, 242, 79, 181, -7}}
-}
-},
-/* GC....?? */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-}
-},
-{ /* noPair */ {{{{0}}}},
-/* GU....CG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 150, 149, 163, 242},{ 368, 207, 179, 220, 242},{ 368, 94, 93, 107, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 189, 161, 202, 242},{ 368, 176, 175, 236, 242},{ 368, 242, 242, 242, 242},{ 368, 149, 148, 209, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 101, 100, 114, 242},{ 368, 242, 242, 242, 242},{ 368, 162, 161, 175, 242},{ 368, 158, 110, 246, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 176, 175, 236, 242},{ 368, 220, 172, 308, 242},{ 368, 130, 82, 218, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 217, 134, 242, 114},{ 368, 247, 191, 242, 171},{ 368, 161, 125, 242, 105},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 229, 173, 242, 153},{ 368, 243, 160, 242, 140},{ 368, 242, 242, 242, 242},{ 368, 216, 133, 242, 113}},
-{{ 368, 368, 368, 368, 368},{ 368, 168, 132, 242, 112},{ 368, 242, 242, 242, 242},{ 368, 229, 146, 242, 126},{ 368, 178, 142, 242, 122}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 243, 160, 242, 140},{ 368, 240, 204, 242, 184},{ 368, 150, 67, 242, 47}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 95, 242, 132, 219},{ 368, 152, 242, 189, 229},{ 368, 39, 242, 76, 238},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 134, 242, 171, 211},{ 368, 168, 242, 158, 245},{ 368, 242, 242, 242, 242},{ 368, 141, 242, 131, 218}},
-{{ 368, 368, 368, 368, 368},{ 368, 46, 242, 83, 245},{ 368, 242, 242, 242, 242},{ 368, 107, 242, 144, 231},{ 368, 178, 242, 140, 133}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 168, 242, 158, 245},{ 368, 240, 242, 202, 195},{ 368, 150, 242, 112, 227}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 152, 227, 119},{ 368, 242, 209, 237, 129},{ 368, 242, 143, 246, 138},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 191, 219, 111},{ 368, 242, 178, 253, 98},{ 368, 242, 242, 242, 242},{ 368, 242, 151, 226, 71}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 150, 253, 145},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 239, 131},{ 368, 242, 160, 141, 155}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 178, 253, 98},{ 368, 242, 222, 203, 217},{ 368, 242, 85, 235, 5}}
-}
-},
-/* GU....GC */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 172, 171, 185, 242},{ 368, 182, 154, 195, 242},{ 368, 76, 75, 89, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 157, 198, 242},{ 368, 161, 160, 221, 242},{ 368, 242, 242, 242, 242},{ 368, 162, 161, 222, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 97, 96, 110, 242},{ 368, 242, 242, 242, 242},{ 368, 136, 135, 149, 242},{ 368, 189, 141, 277, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 137, 136, 197, 242},{ 368, 132, 84, 220, 242},{ 368, 123, 75, 211, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 239, 156, 242, 136},{ 368, 222, 166, 242, 146},{ 368, 143, 107, 242, 87},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 225, 169, 242, 149},{ 368, 228, 145, 242, 125},{ 368, 242, 242, 242, 242},{ 368, 229, 146, 242, 126}},
-{{ 368, 368, 368, 368, 368},{ 368, 164, 128, 242, 108},{ 368, 242, 242, 242, 242},{ 368, 203, 120, 242, 100},{ 368, 209, 173, 242, 153}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 204, 121, 242, 101},{ 368, 152, 116, 242, 96},{ 368, 143, 60, 242, 40}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 117, 242, 154, 241},{ 368, 127, 242, 164, 204},{ 368, 21, 242, 58, 220},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 242, 167, 207},{ 368, 153, 242, 143, 230},{ 368, 242, 242, 242, 242},{ 368, 154, 242, 144, 231}},
-{{ 368, 368, 368, 368, 368},{ 368, 42, 242, 79, 241},{ 368, 242, 242, 242, 242},{ 368, 81, 242, 118, 205},{ 368, 209, 242, 171, 164}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 129, 242, 119, 206},{ 368, 152, 242, 114, 107},{ 368, 143, 242, 105, 220}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 174, 249, 141},{ 368, 242, 184, 212, 104},{ 368, 242, 125, 228, 120},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 187, 215, 107},{ 368, 242, 163, 238, 83},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 239, 84}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 146, 249, 141},{ 368, 242, 242, 242, 242},{ 368, 242, 138, 213, 105},{ 368, 242, 191, 172, 186}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 139, 214, 59},{ 368, 242, 134, 115, 129},{ 368, 242, 78, 228, -2}}
-}
-},
-/* GU....GU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 160, 180, 194, 242},{ 368, 248, 220, 261, 242},{ 368, 126, 125, 139, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 180, 105, 193, 242},{ 368, 165, 164, 225, 242},{ 368, 242, 242, 242, 242},{ 368, 183, 182, 243, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 194, 193, 186, 242},{ 368, 242, 242, 242, 242},{ 368, 163, 162, 176, 242},{ 368, 258, 210, 346, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 145, 144, 205, 242},{ 368, 250, 202, 338, 242},{ 368, 150, 102, 238, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 248, 165, 242, 145},{ 368, 241, 232, 242, 212},{ 368, 193, 157, 242, 137},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 220, 164, 242, 144},{ 368, 232, 128, 242, 129},{ 368, 242, 242, 242, 242},{ 368, 250, 167, 242, 147}},
-{{ 368, 368, 368, 368, 368},{ 368, 261, 225, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 230, 147, 242, 127},{ 368, 278, 242, 242, 222}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 212, 129, 242, 89},{ 368, 270, 234, 242, 214},{ 368, 170, 87, 242, 67}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 126, 242, 163, 250},{ 368, 193, 242, 230, 270},{ 368, 51, 242, 108, 270},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 125, 242, 162, 202},{ 368, 157, 242, 147, 234},{ 368, 242, 242, 242, 242},{ 368, 175, 242, 165, 252}},
-{{ 368, 368, 368, 368, 368},{ 368, 139, 242, 176, 338},{ 368, 242, 242, 242, 242},{ 368, 108, 242, 125, 232},{ 368, 278, 242, 240, 233}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 137, 242, 127, 214},{ 368, 270, 242, 232, 204},{ 368, 170, 242, 132, 247}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 183, 258, 150},{ 368, 242, 250, 278, 170},{ 368, 242, 175, 278, 170},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 182, 210, 102},{ 368, 242, 167, 242, 87},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 260, 105}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 243, 346, 238},{ 368, 242, 242, 242, 242},{ 368, 242, 165, 240, 132},{ 368, 242, 260, 220, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 147, 222, 67},{ 368, 242, 252, 233, 247},{ 368, 242, 105, 255, 4}}
-}
-},
-/* GU....UG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 232, 246, 242},{ 368, 210, 182, 223, 242},{ 368, 116, 115, 129, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 157, 198, 242},{ 368, 193, 192, 253, 242},{ 368, 242, 242, 242, 242},{ 368, 199, 198, 259, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 192, 191, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 203, 202, 216, 242},{ 368, 263, 215, 351, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 221, 220, 281, 242},{ 368, 280, 232, 368, 242},{ 368, 145, 97, 233, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 300, 217, 242, 197},{ 368, 250, 194, 242, 174},{ 368, 183, 147, 242, 127},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 225, 169, 242, 149},{ 368, 260, 177, 242, 157},{ 368, 242, 242, 242, 242},{ 368, 266, 183, 242, 163}},
-{{ 368, 368, 368, 368, 368},{ 368, 259, 223, 242, 203},{ 368, 242, 242, 242, 242},{ 368, 270, 187, 242, 167},{ 368, 283, 247, 242, 227}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 288, 205, 242, 185},{ 368, 300, 264, 242, 244},{ 368, 165, 82, 242, 62}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 178, 242, 215, 302},{ 368, 155, 242, 192, 232},{ 368, 61, 242, 98, 260},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 242, 167, 207},{ 368, 185, 242, 175, 262},{ 368, 242, 242, 242, 242},{ 368, 191, 242, 181, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 137, 242, 174, 336},{ 368, 242, 242, 242, 242},{ 368, 148, 242, 185, 272},{ 368, 283, 242, 245, 238}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 213, 242, 203, 290},{ 368, 300, 242, 262, 255},{ 368, 165, 242, 127, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 235, 310, 202},{ 368, 242, 212, 240, 132},{ 368, 242, 165, 268, 160},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 187, 215, 107},{ 368, 242, 195, 270, 115},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 276, 121}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 241, 344, 236},{ 368, 242, 242, 242, 242},{ 368, 242, 205, 280, 172},{ 368, 242, 265, 246, 260}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 223, 298, 143},{ 368, 242, 282, 263, 277},{ 368, 242, 100, 250, 20}}
-}
-},
-/* GU....AU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 160, 180, 194, 242},{ 368, 248, 220, 261, 242},{ 368, 126, 125, 139, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 180, 105, 193, 242},{ 368, 165, 164, 225, 242},{ 368, 242, 242, 242, 242},{ 368, 183, 182, 243, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 194, 193, 186, 242},{ 368, 242, 242, 242, 242},{ 368, 163, 162, 176, 242},{ 368, 258, 210, 346, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 145, 144, 205, 242},{ 368, 250, 202, 338, 242},{ 368, 150, 102, 238, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 248, 165, 242, 145},{ 368, 241, 232, 242, 212},{ 368, 193, 157, 242, 137},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 220, 164, 242, 144},{ 368, 232, 128, 242, 129},{ 368, 242, 242, 242, 242},{ 368, 250, 167, 242, 147}},
-{{ 368, 368, 368, 368, 368},{ 368, 261, 225, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 230, 147, 242, 127},{ 368, 278, 242, 242, 222}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 212, 129, 242, 89},{ 368, 270, 234, 242, 214},{ 368, 170, 87, 242, 67}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 126, 242, 163, 250},{ 368, 193, 242, 230, 270},{ 368, 51, 242, 108, 270},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 125, 242, 162, 202},{ 368, 157, 242, 147, 234},{ 368, 242, 242, 242, 242},{ 368, 175, 242, 165, 252}},
-{{ 368, 368, 368, 368, 368},{ 368, 139, 242, 176, 338},{ 368, 242, 242, 242, 242},{ 368, 108, 242, 125, 232},{ 368, 278, 242, 240, 233}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 137, 242, 127, 214},{ 368, 270, 242, 232, 204},{ 368, 170, 242, 132, 247}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 183, 258, 150},{ 368, 242, 250, 278, 170},{ 368, 242, 175, 278, 170},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 182, 210, 102},{ 368, 242, 167, 242, 87},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 260, 105}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 243, 346, 238},{ 368, 242, 242, 242, 242},{ 368, 242, 165, 240, 132},{ 368, 242, 260, 220, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 147, 222, 67},{ 368, 242, 252, 233, 247},{ 368, 242, 105, 255, 4}}
-}
-},
-/* GU....UA */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 232, 246, 242},{ 368, 210, 182, 223, 242},{ 368, 116, 115, 129, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 157, 198, 242},{ 368, 193, 192, 253, 242},{ 368, 242, 242, 242, 242},{ 368, 199, 198, 259, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 192, 191, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 203, 202, 216, 242},{ 368, 263, 215, 351, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 221, 220, 281, 242},{ 368, 280, 232, 368, 242},{ 368, 145, 97, 233, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 300, 217, 242, 197},{ 368, 250, 194, 242, 174},{ 368, 183, 147, 242, 127},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 225, 169, 242, 149},{ 368, 260, 177, 242, 157},{ 368, 242, 242, 242, 242},{ 368, 266, 183, 242, 163}},
-{{ 368, 368, 368, 368, 368},{ 368, 259, 223, 242, 203},{ 368, 242, 242, 242, 242},{ 368, 270, 187, 242, 167},{ 368, 283, 247, 242, 227}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 288, 205, 242, 185},{ 368, 300, 264, 242, 244},{ 368, 165, 82, 242, 62}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 178, 242, 215, 302},{ 368, 155, 242, 192, 232},{ 368, 61, 242, 98, 260},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 242, 167, 207},{ 368, 185, 242, 175, 262},{ 368, 242, 242, 242, 242},{ 368, 191, 242, 181, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 137, 242, 174, 336},{ 368, 242, 242, 242, 242},{ 368, 148, 242, 185, 272},{ 368, 283, 242, 245, 238}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 213, 242, 203, 290},{ 368, 300, 242, 262, 255},{ 368, 165, 242, 127, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 235, 310, 202},{ 368, 242, 212, 240, 132},{ 368, 242, 165, 268, 160},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 187, 215, 107},{ 368, 242, 195, 270, 115},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 276, 121}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 241, 344, 236},{ 368, 242, 242, 242, 242},{ 368, 242, 205, 280, 172},{ 368, 242, 265, 246, 260}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 223, 298, 143},{ 368, 242, 282, 263, 277},{ 368, 242, 100, 250, 20}}
-}
-},
-/* GU....?? */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-}
-},
-{ /* noPair */ {{{{0}}}},
-/* UG....CG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 202, 154, 161, 242},{ 368, 259, 184, 218, 242},{ 368, 146, 98, 105, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 241, 166, 200, 242},{ 368, 228, 180, 234, 242},{ 368, 242, 242, 242, 242},{ 368, 201, 153, 207, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 153, 105, 112, 242},{ 368, 242, 242, 242, 242},{ 368, 214, 166, 173, 242},{ 368, 210, 115, 244, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 228, 180, 234, 242},{ 368, 272, 177, 306, 242},{ 368, 182, 87, 216, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 179, 162, 242, 190},{ 368, 209, 219, 242, 247},{ 368, 123, 153, 242, 181},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 191, 201, 242, 229},{ 368, 205, 188, 242, 216},{ 368, 242, 242, 242, 242},{ 368, 178, 161, 242, 189}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 160, 242, 188},{ 368, 242, 242, 242, 242},{ 368, 191, 174, 242, 202},{ 368, 140, 170, 242, 198}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 205, 188, 242, 216},{ 368, 202, 232, 242, 260},{ 368, 112, 95, 242, 123}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 85, 242, 172, 249},{ 368, 142, 242, 229, 259},{ 368, 29, 242, 116, 268},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 124, 242, 211, 241},{ 368, 158, 242, 198, 275},{ 368, 242, 242, 242, 242},{ 368, 131, 242, 171, 248}},
-{{ 368, 368, 368, 368, 368},{ 368, 36, 242, 123, 275},{ 368, 242, 242, 242, 242},{ 368, 97, 242, 184, 261},{ 368, 168, 242, 180, 163}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 158, 242, 198, 275},{ 368, 230, 242, 242, 225},{ 368, 140, 242, 152, 257}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 168, 232, 114},{ 368, 242, 225, 242, 124},{ 368, 242, 159, 251, 133},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 207, 224, 106},{ 368, 242, 194, 258, 93},{ 368, 242, 242, 242, 242},{ 368, 242, 167, 231, 66}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 166, 258, 140},{ 368, 242, 242, 242, 242},{ 368, 242, 180, 244, 126},{ 368, 242, 176, 146, 150}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 194, 258, 93},{ 368, 242, 238, 208, 212},{ 368, 242, 101, 240, 0}}
-}
-},
-/* UG....GC */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 224, 176, 183, 242},{ 368, 234, 159, 193, 242},{ 368, 128, 80, 87, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 237, 162, 196, 242},{ 368, 213, 165, 219, 242},{ 368, 242, 242, 242, 242},{ 368, 214, 166, 220, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 149, 101, 108, 242},{ 368, 242, 242, 242, 242},{ 368, 188, 140, 147, 242},{ 368, 241, 146, 275, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 189, 141, 195, 242},{ 368, 184, 89, 218, 242},{ 368, 175, 80, 209, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 201, 184, 242, 212},{ 368, 184, 194, 242, 222},{ 368, 105, 135, 242, 163},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 187, 197, 242, 225},{ 368, 190, 173, 242, 201},{ 368, 242, 242, 242, 242},{ 368, 191, 174, 242, 202}},
-{{ 368, 368, 368, 368, 368},{ 368, 126, 156, 242, 184},{ 368, 242, 242, 242, 242},{ 368, 165, 148, 242, 176},{ 368, 171, 201, 242, 229}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 166, 149, 242, 177},{ 368, 114, 144, 242, 172},{ 368, 105, 88, 242, 116}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 107, 242, 194, 271},{ 368, 117, 242, 204, 234},{ 368, 11, 242, 98, 250},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 120, 242, 207, 237},{ 368, 143, 242, 183, 260},{ 368, 242, 242, 242, 242},{ 368, 144, 242, 184, 261}},
-{{ 368, 368, 368, 368, 368},{ 368, 32, 242, 119, 271},{ 368, 242, 242, 242, 242},{ 368, 71, 242, 158, 235},{ 368, 199, 242, 211, 194}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 119, 242, 159, 236},{ 368, 142, 242, 154, 137},{ 368, 133, 242, 145, 250}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 190, 254, 136},{ 368, 242, 200, 217, 99},{ 368, 242, 141, 233, 115},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 203, 220, 102},{ 368, 242, 179, 243, 78},{ 368, 242, 242, 242, 242},{ 368, 242, 180, 244, 79}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 162, 254, 136},{ 368, 242, 242, 242, 242},{ 368, 242, 154, 218, 100},{ 368, 242, 207, 177, 181}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 155, 219, 54},{ 368, 242, 150, 120, 124},{ 368, 242, 94, 233, -7}}
-}
-},
-/* UG....GU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 185, 192, 242},{ 368, 300, 225, 259, 242},{ 368, 178, 130, 137, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 232, 157, 191, 242},{ 368, 217, 169, 223, 242},{ 368, 242, 242, 242, 242},{ 368, 235, 187, 241, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 246, 198, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 215, 167, 174, 242},{ 368, 310, 215, 344, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 197, 149, 203, 242},{ 368, 302, 207, 336, 242},{ 368, 202, 107, 236, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 210, 193, 242, 221},{ 368, 250, 260, 242, 288},{ 368, 155, 185, 242, 213},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 182, 192, 242, 220},{ 368, 194, 177, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 212, 195, 242, 223}},
-{{ 368, 368, 368, 368, 368},{ 368, 223, 253, 242, 281},{ 368, 242, 242, 242, 242},{ 368, 192, 175, 242, 203},{ 368, 240, 270, 242, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 174, 157, 242, 185},{ 368, 232, 262, 242, 290},{ 368, 132, 115, 242, 143}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 116, 242, 203, 280},{ 368, 183, 242, 270, 300},{ 368, 61, 242, 148, 300},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 115, 242, 202, 232},{ 368, 147, 242, 187, 264},{ 368, 242, 242, 242, 242},{ 368, 165, 242, 205, 282}},
-{{ 368, 368, 368, 368, 368},{ 368, 129, 242, 216, 368},{ 368, 242, 242, 242, 242},{ 368, 98, 242, 185, 262},{ 368, 268, 242, 280, 263}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 127, 242, 167, 244},{ 368, 260, 242, 272, 255},{ 368, 160, 242, 172, 277}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 199, 263, 145},{ 368, 242, 266, 283, 165},{ 368, 242, 191, 283, 165},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 198, 215, 97},{ 368, 242, 183, 247, 82},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 265, 100}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 259, 351, 233},{ 368, 242, 242, 242, 242},{ 368, 242, 181, 245, 127},{ 368, 242, 276, 246, 250}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 163, 227, 62},{ 368, 242, 268, 238, 242},{ 368, 242, 121, 260, 20}}
-}
-},
-/* UG....UG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 264, 237, 244, 242},{ 368, 262, 187, 221, 242},{ 368, 168, 120, 127, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 237, 114, 196, 242},{ 368, 245, 197, 251, 242},{ 368, 242, 242, 242, 242},{ 368, 251, 203, 257, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 244, 196, 182, 242},{ 368, 242, 242, 242, 242},{ 368, 255, 207, 214, 242},{ 368, 315, 220, 349, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 273, 225, 279, 242},{ 368, 332, 237, 366, 242},{ 368, 197, 102, 231, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 262, 245, 242, 273},{ 368, 164, 222, 242, 250},{ 368, 145, 175, 242, 203},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 187, 197, 242, 225},{ 368, 222, 185, 242, 233},{ 368, 242, 242, 242, 242},{ 368, 228, 211, 242, 239}},
-{{ 368, 368, 368, 368, 368},{ 368, 221, 251, 242, 279},{ 368, 242, 242, 242, 242},{ 368, 232, 215, 242, 243},{ 368, 245, 275, 242, 303}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 250, 233, 242, 240},{ 368, 262, 292, 242, 320},{ 368, 127, 110, 242, 138}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 168, 242, 255, 332},{ 368, 145, 242, 232, 262},{ 368, 30, 242, 138, 290},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 120, 242, 207, 237},{ 368, 175, 242, 215, 292},{ 368, 242, 242, 242, 242},{ 368, 181, 242, 221, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 127, 242, 214, 366},{ 368, 242, 242, 242, 242},{ 368, 138, 242, 204, 302},{ 368, 273, 242, 285, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 203, 242, 243, 320},{ 368, 290, 242, 302, 265},{ 368, 155, 242, 167, 272}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 251, 315, 197},{ 368, 242, 228, 245, 127},{ 368, 242, 181, 273, 155},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 203, 220, 102},{ 368, 242, 211, 275, 110},{ 368, 242, 242, 242, 242},{ 368, 242, 196, 281, 116}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 257, 349, 231},{ 368, 242, 242, 242, 242},{ 368, 242, 221, 285, 167},{ 368, 242, 281, 231, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 239, 303, 138},{ 368, 242, 298, 268, 272},{ 368, 242, 116, 255, -7}}
-}
-},
-/* UG....AU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 185, 192, 242},{ 368, 300, 225, 259, 242},{ 368, 178, 130, 137, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 232, 157, 191, 242},{ 368, 217, 169, 223, 242},{ 368, 242, 242, 242, 242},{ 368, 235, 187, 241, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 246, 198, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 215, 167, 174, 242},{ 368, 310, 215, 344, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 197, 149, 203, 242},{ 368, 302, 207, 336, 242},{ 368, 202, 107, 236, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 210, 193, 242, 221},{ 368, 250, 260, 242, 288},{ 368, 155, 185, 242, 213},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 182, 192, 242, 220},{ 368, 194, 177, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 212, 195, 242, 223}},
-{{ 368, 368, 368, 368, 368},{ 368, 223, 253, 242, 281},{ 368, 242, 242, 242, 242},{ 368, 192, 175, 242, 203},{ 368, 240, 270, 242, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 174, 157, 242, 185},{ 368, 232, 262, 242, 290},{ 368, 132, 115, 242, 143}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 116, 242, 203, 280},{ 368, 183, 242, 270, 300},{ 368, 61, 242, 148, 300},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 115, 242, 202, 232},{ 368, 147, 242, 187, 264},{ 368, 242, 242, 242, 242},{ 368, 165, 242, 205, 282}},
-{{ 368, 368, 368, 368, 368},{ 368, 129, 242, 216, 368},{ 368, 242, 242, 242, 242},{ 368, 98, 242, 185, 262},{ 368, 268, 242, 280, 263}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 127, 242, 167, 244},{ 368, 260, 242, 272, 255},{ 368, 160, 242, 172, 277}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 199, 263, 145},{ 368, 242, 266, 283, 165},{ 368, 242, 191, 283, 165},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 198, 215, 97},{ 368, 242, 183, 247, 82},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 265, 100}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 259, 351, 233},{ 368, 242, 242, 242, 242},{ 368, 242, 181, 245, 127},{ 368, 242, 276, 246, 250}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 163, 227, 62},{ 368, 242, 268, 238, 242},{ 368, 242, 121, 260, 20}}
-}
-},
-/* UG....UA */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 264, 237, 244, 242},{ 368, 262, 187, 221, 242},{ 368, 168, 120, 127, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 237, 114, 196, 242},{ 368, 245, 197, 251, 242},{ 368, 242, 242, 242, 242},{ 368, 251, 203, 257, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 244, 196, 182, 242},{ 368, 242, 242, 242, 242},{ 368, 255, 207, 214, 242},{ 368, 315, 220, 349, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 273, 225, 279, 242},{ 368, 332, 237, 366, 242},{ 368, 197, 102, 231, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 262, 245, 242, 273},{ 368, 164, 222, 242, 250},{ 368, 145, 175, 242, 203},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 187, 197, 242, 225},{ 368, 222, 185, 242, 233},{ 368, 242, 242, 242, 242},{ 368, 228, 211, 242, 239}},
-{{ 368, 368, 368, 368, 368},{ 368, 221, 251, 242, 279},{ 368, 242, 242, 242, 242},{ 368, 232, 215, 242, 243},{ 368, 245, 275, 242, 303}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 250, 233, 242, 240},{ 368, 262, 292, 242, 320},{ 368, 127, 110, 242, 138}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 168, 242, 255, 332},{ 368, 145, 242, 232, 262},{ 368, 30, 242, 138, 290},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 120, 242, 207, 237},{ 368, 175, 242, 215, 292},{ 368, 242, 242, 242, 242},{ 368, 181, 242, 221, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 127, 242, 214, 366},{ 368, 242, 242, 242, 242},{ 368, 138, 242, 204, 302},{ 368, 273, 242, 285, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 203, 242, 243, 320},{ 368, 290, 242, 302, 265},{ 368, 155, 242, 167, 272}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 251, 315, 197},{ 368, 242, 228, 245, 127},{ 368, 242, 181, 273, 155},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 203, 220, 102},{ 368, 242, 211, 275, 110},{ 368, 242, 242, 242, 242},{ 368, 242, 196, 281, 116}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 257, 349, 231},{ 368, 242, 242, 242, 242},{ 368, 242, 221, 285, 167},{ 368, 242, 281, 231, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 239, 303, 138},{ 368, 242, 298, 268, 272},{ 368, 242, 116, 255, -7}}
-}
-},
-/* UG....?? */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-}
-},
-{ /* noPair */ {{{{0}}}},
-/* AU....CG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 150, 149, 163, 242},{ 368, 207, 179, 220, 242},{ 368, 94, 93, 107, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 189, 161, 202, 242},{ 368, 176, 175, 236, 242},{ 368, 242, 242, 242, 242},{ 368, 149, 148, 209, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 101, 100, 114, 242},{ 368, 242, 242, 242, 242},{ 368, 162, 161, 175, 242},{ 368, 158, 110, 246, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 176, 175, 236, 242},{ 368, 220, 172, 308, 242},{ 368, 130, 82, 218, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 217, 134, 242, 114},{ 368, 247, 191, 242, 171},{ 368, 161, 125, 242, 105},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 229, 173, 242, 153},{ 368, 243, 160, 242, 140},{ 368, 242, 242, 242, 242},{ 368, 216, 133, 242, 113}},
-{{ 368, 368, 368, 368, 368},{ 368, 168, 132, 242, 112},{ 368, 242, 242, 242, 242},{ 368, 229, 146, 242, 126},{ 368, 178, 142, 242, 122}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 243, 160, 242, 140},{ 368, 240, 204, 242, 184},{ 368, 150, 67, 242, 47}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 95, 242, 132, 219},{ 368, 152, 242, 189, 229},{ 368, 39, 242, 76, 238},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 134, 242, 171, 211},{ 368, 168, 242, 158, 245},{ 368, 242, 242, 242, 242},{ 368, 141, 242, 131, 218}},
-{{ 368, 368, 368, 368, 368},{ 368, 46, 242, 83, 245},{ 368, 242, 242, 242, 242},{ 368, 107, 242, 144, 231},{ 368, 178, 242, 140, 133}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 168, 242, 158, 245},{ 368, 240, 242, 202, 195},{ 368, 150, 242, 112, 227}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 152, 227, 119},{ 368, 242, 209, 237, 129},{ 368, 242, 143, 246, 138},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 191, 219, 111},{ 368, 242, 178, 253, 98},{ 368, 242, 242, 242, 242},{ 368, 242, 151, 226, 71}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 150, 253, 145},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 239, 131},{ 368, 242, 160, 141, 155}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 178, 253, 98},{ 368, 242, 222, 203, 217},{ 368, 242, 85, 235, 5}}
-}
-},
-/* AU....GC */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 172, 171, 185, 242},{ 368, 182, 154, 195, 242},{ 368, 76, 75, 89, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 157, 198, 242},{ 368, 161, 160, 221, 242},{ 368, 242, 242, 242, 242},{ 368, 162, 161, 222, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 97, 96, 110, 242},{ 368, 242, 242, 242, 242},{ 368, 136, 135, 149, 242},{ 368, 189, 141, 277, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 137, 136, 197, 242},{ 368, 132, 84, 220, 242},{ 368, 123, 75, 211, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 239, 156, 242, 136},{ 368, 222, 166, 242, 146},{ 368, 143, 107, 242, 87},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 225, 169, 242, 149},{ 368, 228, 145, 242, 125},{ 368, 242, 242, 242, 242},{ 368, 229, 146, 242, 126}},
-{{ 368, 368, 368, 368, 368},{ 368, 164, 128, 242, 108},{ 368, 242, 242, 242, 242},{ 368, 203, 120, 242, 100},{ 368, 209, 173, 242, 153}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 204, 121, 242, 101},{ 368, 152, 116, 242, 96},{ 368, 143, 60, 242, 40}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 117, 242, 154, 241},{ 368, 127, 242, 164, 204},{ 368, 21, 242, 58, 220},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 242, 167, 207},{ 368, 153, 242, 143, 230},{ 368, 242, 242, 242, 242},{ 368, 154, 242, 144, 231}},
-{{ 368, 368, 368, 368, 368},{ 368, 42, 242, 79, 241},{ 368, 242, 242, 242, 242},{ 368, 81, 242, 118, 205},{ 368, 209, 242, 171, 164}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 129, 242, 119, 206},{ 368, 152, 242, 114, 107},{ 368, 143, 242, 105, 220}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 174, 249, 141},{ 368, 242, 184, 212, 104},{ 368, 242, 125, 228, 120},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 187, 215, 107},{ 368, 242, 163, 238, 83},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 239, 84}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 146, 249, 141},{ 368, 242, 242, 242, 242},{ 368, 242, 138, 213, 105},{ 368, 242, 191, 172, 186}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 139, 214, 59},{ 368, 242, 134, 115, 129},{ 368, 242, 78, 228, -2}}
-}
-},
-/* AU....GU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 160, 180, 194, 242},{ 368, 248, 220, 261, 242},{ 368, 126, 125, 139, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 180, 105, 193, 242},{ 368, 165, 164, 225, 242},{ 368, 242, 242, 242, 242},{ 368, 183, 182, 243, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 194, 193, 186, 242},{ 368, 242, 242, 242, 242},{ 368, 163, 162, 176, 242},{ 368, 258, 210, 346, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 145, 144, 205, 242},{ 368, 250, 202, 338, 242},{ 368, 150, 102, 238, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 248, 165, 242, 145},{ 368, 241, 232, 242, 212},{ 368, 193, 157, 242, 137},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 220, 164, 242, 144},{ 368, 232, 128, 242, 129},{ 368, 242, 242, 242, 242},{ 368, 250, 167, 242, 147}},
-{{ 368, 368, 368, 368, 368},{ 368, 261, 225, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 230, 147, 242, 127},{ 368, 278, 242, 242, 222}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 212, 129, 242, 89},{ 368, 270, 234, 242, 214},{ 368, 170, 87, 242, 67}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 126, 242, 163, 250},{ 368, 193, 242, 230, 270},{ 368, 51, 242, 108, 270},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 125, 242, 162, 202},{ 368, 157, 242, 147, 234},{ 368, 242, 242, 242, 242},{ 368, 175, 242, 165, 252}},
-{{ 368, 368, 368, 368, 368},{ 368, 139, 242, 176, 338},{ 368, 242, 242, 242, 242},{ 368, 108, 242, 125, 232},{ 368, 278, 242, 240, 233}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 137, 242, 127, 214},{ 368, 270, 242, 232, 204},{ 368, 170, 242, 132, 247}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 183, 258, 150},{ 368, 242, 250, 278, 170},{ 368, 242, 175, 278, 170},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 182, 210, 102},{ 368, 242, 167, 242, 87},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 260, 105}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 243, 346, 238},{ 368, 242, 242, 242, 242},{ 368, 242, 165, 240, 132},{ 368, 242, 260, 220, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 147, 222, 67},{ 368, 242, 252, 233, 247},{ 368, 242, 105, 255, 4}}
-}
-},
-/* AU....UG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 232, 246, 242},{ 368, 210, 182, 223, 242},{ 368, 116, 115, 129, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 157, 198, 242},{ 368, 193, 192, 253, 242},{ 368, 242, 242, 242, 242},{ 368, 199, 198, 259, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 192, 191, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 203, 202, 216, 242},{ 368, 263, 215, 351, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 221, 220, 281, 242},{ 368, 280, 232, 368, 242},{ 368, 145, 97, 233, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 300, 217, 242, 197},{ 368, 250, 194, 242, 174},{ 368, 183, 147, 242, 127},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 225, 169, 242, 149},{ 368, 260, 177, 242, 157},{ 368, 242, 242, 242, 242},{ 368, 266, 183, 242, 163}},
-{{ 368, 368, 368, 368, 368},{ 368, 259, 223, 242, 203},{ 368, 242, 242, 242, 242},{ 368, 270, 187, 242, 167},{ 368, 283, 247, 242, 227}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 288, 205, 242, 185},{ 368, 300, 264, 242, 244},{ 368, 165, 82, 242, 62}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 178, 242, 215, 302},{ 368, 155, 242, 192, 232},{ 368, 61, 242, 98, 260},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 242, 167, 207},{ 368, 185, 242, 175, 262},{ 368, 242, 242, 242, 242},{ 368, 191, 242, 181, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 137, 242, 174, 336},{ 368, 242, 242, 242, 242},{ 368, 148, 242, 185, 272},{ 368, 283, 242, 245, 238}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 213, 242, 203, 290},{ 368, 300, 242, 262, 255},{ 368, 165, 242, 127, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 235, 310, 202},{ 368, 242, 212, 240, 132},{ 368, 242, 165, 268, 160},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 187, 215, 107},{ 368, 242, 195, 270, 115},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 276, 121}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 241, 344, 236},{ 368, 242, 242, 242, 242},{ 368, 242, 205, 280, 172},{ 368, 242, 265, 246, 260}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 223, 298, 143},{ 368, 242, 282, 263, 277},{ 368, 242, 100, 250, 20}}
-}
-},
-/* AU....AU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 160, 180, 194, 242},{ 368, 248, 220, 261, 242},{ 368, 126, 125, 139, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 180, 105, 193, 242},{ 368, 165, 164, 225, 242},{ 368, 242, 242, 242, 242},{ 368, 183, 182, 243, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 194, 193, 186, 242},{ 368, 242, 242, 242, 242},{ 368, 163, 162, 176, 242},{ 368, 258, 210, 346, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 145, 144, 205, 242},{ 368, 250, 202, 338, 242},{ 368, 150, 102, 238, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 248, 165, 242, 145},{ 368, 241, 232, 242, 212},{ 368, 193, 157, 242, 137},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 220, 164, 242, 144},{ 368, 232, 128, 242, 129},{ 368, 242, 242, 242, 242},{ 368, 250, 167, 242, 147}},
-{{ 368, 368, 368, 368, 368},{ 368, 261, 225, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 230, 147, 242, 127},{ 368, 278, 242, 242, 222}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 212, 129, 242, 89},{ 368, 270, 234, 242, 214},{ 368, 170, 87, 242, 67}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 126, 242, 163, 250},{ 368, 193, 242, 230, 270},{ 368, 51, 242, 108, 270},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 125, 242, 162, 202},{ 368, 157, 242, 147, 234},{ 368, 242, 242, 242, 242},{ 368, 175, 242, 165, 252}},
-{{ 368, 368, 368, 368, 368},{ 368, 139, 242, 176, 338},{ 368, 242, 242, 242, 242},{ 368, 108, 242, 125, 232},{ 368, 278, 242, 240, 233}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 137, 242, 127, 214},{ 368, 270, 242, 232, 204},{ 368, 170, 242, 132, 247}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 183, 258, 150},{ 368, 242, 250, 278, 170},{ 368, 242, 175, 278, 170},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 182, 210, 102},{ 368, 242, 167, 242, 87},{ 368, 242, 242, 242, 242},{ 368, 242, 164, 260, 105}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 243, 346, 238},{ 368, 242, 242, 242, 242},{ 368, 242, 165, 240, 132},{ 368, 242, 260, 220, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 147, 222, 67},{ 368, 242, 252, 233, 247},{ 368, 242, 105, 255, 4}}
-}
-},
-/* AU....UA */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 232, 246, 242},{ 368, 210, 182, 223, 242},{ 368, 116, 115, 129, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 185, 157, 198, 242},{ 368, 193, 192, 253, 242},{ 368, 242, 242, 242, 242},{ 368, 199, 198, 259, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 192, 191, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 203, 202, 216, 242},{ 368, 263, 215, 351, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 221, 220, 281, 242},{ 368, 280, 232, 368, 242},{ 368, 145, 97, 233, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 300, 217, 242, 197},{ 368, 250, 194, 242, 174},{ 368, 183, 147, 242, 127},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 225, 169, 242, 149},{ 368, 260, 177, 242, 157},{ 368, 242, 242, 242, 242},{ 368, 266, 183, 242, 163}},
-{{ 368, 368, 368, 368, 368},{ 368, 259, 223, 242, 203},{ 368, 242, 242, 242, 242},{ 368, 270, 187, 242, 167},{ 368, 283, 247, 242, 227}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 288, 205, 242, 185},{ 368, 300, 264, 242, 244},{ 368, 165, 82, 242, 62}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 178, 242, 215, 302},{ 368, 155, 242, 192, 232},{ 368, 61, 242, 98, 260},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 242, 167, 207},{ 368, 185, 242, 175, 262},{ 368, 242, 242, 242, 242},{ 368, 191, 242, 181, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 137, 242, 174, 336},{ 368, 242, 242, 242, 242},{ 368, 148, 242, 185, 272},{ 368, 283, 242, 245, 238}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 213, 242, 203, 290},{ 368, 300, 242, 262, 255},{ 368, 165, 242, 127, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 235, 310, 202},{ 368, 242, 212, 240, 132},{ 368, 242, 165, 268, 160},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 187, 215, 107},{ 368, 242, 195, 270, 115},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 276, 121}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 241, 344, 236},{ 368, 242, 242, 242, 242},{ 368, 242, 205, 280, 172},{ 368, 242, 265, 246, 260}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 223, 298, 143},{ 368, 242, 282, 263, 277},{ 368, 242, 100, 250, 20}}
-}
-},
-/* AU....?? */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-}
-},
-{ /* noPair */ {{{{0}}}},
-/* UA....CG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 202, 154, 161, 242},{ 368, 259, 184, 218, 242},{ 368, 146, 98, 105, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 241, 166, 200, 242},{ 368, 228, 180, 234, 242},{ 368, 242, 242, 242, 242},{ 368, 201, 153, 207, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 153, 105, 112, 242},{ 368, 242, 242, 242, 242},{ 368, 214, 166, 173, 242},{ 368, 210, 115, 244, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 228, 180, 234, 242},{ 368, 272, 177, 306, 242},{ 368, 182, 87, 216, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 179, 162, 242, 190},{ 368, 209, 219, 242, 247},{ 368, 123, 153, 242, 181},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 191, 201, 242, 229},{ 368, 205, 188, 242, 216},{ 368, 242, 242, 242, 242},{ 368, 178, 161, 242, 189}},
-{{ 368, 368, 368, 368, 368},{ 368, 130, 160, 242, 188},{ 368, 242, 242, 242, 242},{ 368, 191, 174, 242, 202},{ 368, 140, 170, 242, 198}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 205, 188, 242, 216},{ 368, 202, 232, 242, 260},{ 368, 112, 95, 242, 123}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 85, 242, 172, 249},{ 368, 142, 242, 229, 259},{ 368, 29, 242, 116, 268},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 124, 242, 211, 241},{ 368, 158, 242, 198, 275},{ 368, 242, 242, 242, 242},{ 368, 131, 242, 171, 248}},
-{{ 368, 368, 368, 368, 368},{ 368, 36, 242, 123, 275},{ 368, 242, 242, 242, 242},{ 368, 97, 242, 184, 261},{ 368, 168, 242, 180, 163}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 158, 242, 198, 275},{ 368, 230, 242, 242, 225},{ 368, 140, 242, 152, 257}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 168, 232, 114},{ 368, 242, 225, 242, 124},{ 368, 242, 159, 251, 133},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 207, 224, 106},{ 368, 242, 194, 258, 93},{ 368, 242, 242, 242, 242},{ 368, 242, 167, 231, 66}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 166, 258, 140},{ 368, 242, 242, 242, 242},{ 368, 242, 180, 244, 126},{ 368, 242, 176, 146, 150}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 194, 258, 93},{ 368, 242, 238, 208, 212},{ 368, 242, 101, 240, 0}}
-}
-},
-/* UA....GC */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 224, 176, 183, 242},{ 368, 234, 159, 193, 242},{ 368, 128, 80, 87, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 237, 162, 196, 242},{ 368, 213, 165, 219, 242},{ 368, 242, 242, 242, 242},{ 368, 214, 166, 220, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 149, 101, 108, 242},{ 368, 242, 242, 242, 242},{ 368, 188, 140, 147, 242},{ 368, 241, 146, 275, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 189, 141, 195, 242},{ 368, 184, 89, 218, 242},{ 368, 175, 80, 209, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 201, 184, 242, 212},{ 368, 184, 194, 242, 222},{ 368, 105, 135, 242, 163},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 187, 197, 242, 225},{ 368, 190, 173, 242, 201},{ 368, 242, 242, 242, 242},{ 368, 191, 174, 242, 202}},
-{{ 368, 368, 368, 368, 368},{ 368, 126, 156, 242, 184},{ 368, 242, 242, 242, 242},{ 368, 165, 148, 242, 176},{ 368, 171, 201, 242, 229}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 166, 149, 242, 177},{ 368, 114, 144, 242, 172},{ 368, 105, 88, 242, 116}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 107, 242, 194, 271},{ 368, 117, 242, 204, 234},{ 368, 11, 242, 98, 250},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 120, 242, 207, 237},{ 368, 143, 242, 183, 260},{ 368, 242, 242, 242, 242},{ 368, 144, 242, 184, 261}},
-{{ 368, 368, 368, 368, 368},{ 368, 32, 242, 119, 271},{ 368, 242, 242, 242, 242},{ 368, 71, 242, 158, 235},{ 368, 199, 242, 211, 194}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 119, 242, 159, 236},{ 368, 142, 242, 154, 137},{ 368, 133, 242, 145, 250}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 190, 254, 136},{ 368, 242, 200, 217, 99},{ 368, 242, 141, 233, 115},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 203, 220, 102},{ 368, 242, 179, 243, 78},{ 368, 242, 242, 242, 242},{ 368, 242, 180, 244, 79}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 162, 254, 136},{ 368, 242, 242, 242, 242},{ 368, 242, 154, 218, 100},{ 368, 242, 207, 177, 181}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 155, 219, 54},{ 368, 242, 150, 120, 124},{ 368, 242, 94, 233, -7}}
-}
-},
-/* UA....GU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 185, 192, 242},{ 368, 300, 225, 259, 242},{ 368, 178, 130, 137, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 232, 157, 191, 242},{ 368, 217, 169, 223, 242},{ 368, 242, 242, 242, 242},{ 368, 235, 187, 241, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 246, 198, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 215, 167, 174, 242},{ 368, 310, 215, 344, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 197, 149, 203, 242},{ 368, 302, 207, 336, 242},{ 368, 202, 107, 236, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 210, 193, 242, 221},{ 368, 250, 260, 242, 288},{ 368, 155, 185, 242, 213},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 182, 192, 242, 220},{ 368, 194, 177, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 212, 195, 242, 223}},
-{{ 368, 368, 368, 368, 368},{ 368, 223, 253, 242, 281},{ 368, 242, 242, 242, 242},{ 368, 192, 175, 242, 203},{ 368, 240, 270, 242, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 174, 157, 242, 185},{ 368, 232, 262, 242, 290},{ 368, 132, 115, 242, 143}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 116, 242, 203, 280},{ 368, 183, 242, 270, 300},{ 368, 61, 242, 148, 300},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 115, 242, 202, 232},{ 368, 147, 242, 187, 264},{ 368, 242, 242, 242, 242},{ 368, 165, 242, 205, 282}},
-{{ 368, 368, 368, 368, 368},{ 368, 129, 242, 216, 368},{ 368, 242, 242, 242, 242},{ 368, 98, 242, 185, 262},{ 368, 268, 242, 280, 263}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 127, 242, 167, 244},{ 368, 260, 242, 272, 255},{ 368, 160, 242, 172, 277}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 199, 263, 145},{ 368, 242, 266, 283, 165},{ 368, 242, 191, 283, 165},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 198, 215, 97},{ 368, 242, 183, 247, 82},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 265, 100}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 259, 351, 233},{ 368, 242, 242, 242, 242},{ 368, 242, 181, 245, 127},{ 368, 242, 276, 246, 250}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 163, 227, 62},{ 368, 242, 268, 238, 242},{ 368, 242, 121, 260, 20}}
-}
-},
-/* UA....UG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 264, 237, 244, 242},{ 368, 262, 187, 221, 242},{ 368, 168, 120, 127, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 237, 114, 196, 242},{ 368, 245, 197, 251, 242},{ 368, 242, 242, 242, 242},{ 368, 251, 203, 257, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 244, 196, 182, 242},{ 368, 242, 242, 242, 242},{ 368, 255, 207, 214, 242},{ 368, 315, 220, 349, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 273, 225, 279, 242},{ 368, 332, 237, 366, 242},{ 368, 197, 102, 231, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 262, 245, 242, 273},{ 368, 164, 222, 242, 250},{ 368, 145, 175, 242, 203},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 187, 197, 242, 225},{ 368, 222, 185, 242, 233},{ 368, 242, 242, 242, 242},{ 368, 228, 211, 242, 239}},
-{{ 368, 368, 368, 368, 368},{ 368, 221, 251, 242, 279},{ 368, 242, 242, 242, 242},{ 368, 232, 215, 242, 243},{ 368, 245, 275, 242, 303}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 250, 233, 242, 240},{ 368, 262, 292, 242, 320},{ 368, 127, 110, 242, 138}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 168, 242, 255, 332},{ 368, 145, 242, 232, 262},{ 368, 30, 242, 138, 290},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 120, 242, 207, 237},{ 368, 175, 242, 215, 292},{ 368, 242, 242, 242, 242},{ 368, 181, 242, 221, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 127, 242, 214, 366},{ 368, 242, 242, 242, 242},{ 368, 138, 242, 204, 302},{ 368, 273, 242, 285, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 203, 242, 243, 320},{ 368, 290, 242, 302, 265},{ 368, 155, 242, 167, 272}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 251, 315, 197},{ 368, 242, 228, 245, 127},{ 368, 242, 181, 273, 155},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 203, 220, 102},{ 368, 242, 211, 275, 110},{ 368, 242, 242, 242, 242},{ 368, 242, 196, 281, 116}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 257, 349, 231},{ 368, 242, 242, 242, 242},{ 368, 242, 221, 285, 167},{ 368, 242, 281, 231, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 239, 303, 138},{ 368, 242, 298, 268, 272},{ 368, 242, 116, 255, -7}}
-}
-},
-/* UA....AU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 233, 185, 192, 242},{ 368, 300, 225, 259, 242},{ 368, 178, 130, 137, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 232, 157, 191, 242},{ 368, 217, 169, 223, 242},{ 368, 242, 242, 242, 242},{ 368, 235, 187, 241, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 246, 198, 205, 242},{ 368, 242, 242, 242, 242},{ 368, 215, 167, 174, 242},{ 368, 310, 215, 344, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 197, 149, 203, 242},{ 368, 302, 207, 336, 242},{ 368, 202, 107, 236, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 210, 193, 242, 221},{ 368, 250, 260, 242, 288},{ 368, 155, 185, 242, 213},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 182, 192, 242, 220},{ 368, 194, 177, 242, 205},{ 368, 242, 242, 242, 242},{ 368, 212, 195, 242, 223}},
-{{ 368, 368, 368, 368, 368},{ 368, 223, 253, 242, 281},{ 368, 242, 242, 242, 242},{ 368, 192, 175, 242, 203},{ 368, 240, 270, 242, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 174, 157, 242, 185},{ 368, 232, 262, 242, 290},{ 368, 132, 115, 242, 143}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 116, 242, 203, 280},{ 368, 183, 242, 270, 300},{ 368, 61, 242, 148, 300},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 115, 242, 202, 232},{ 368, 147, 242, 187, 264},{ 368, 242, 242, 242, 242},{ 368, 165, 242, 205, 282}},
-{{ 368, 368, 368, 368, 368},{ 368, 129, 242, 216, 368},{ 368, 242, 242, 242, 242},{ 368, 98, 242, 185, 262},{ 368, 268, 242, 280, 263}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 127, 242, 167, 244},{ 368, 260, 242, 272, 255},{ 368, 160, 242, 172, 277}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 199, 263, 145},{ 368, 242, 266, 283, 165},{ 368, 242, 191, 283, 165},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 198, 215, 97},{ 368, 242, 183, 247, 82},{ 368, 242, 242, 242, 242},{ 368, 242, 201, 265, 100}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 259, 351, 233},{ 368, 242, 242, 242, 242},{ 368, 242, 181, 245, 127},{ 368, 242, 276, 246, 250}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 163, 227, 62},{ 368, 242, 268, 238, 242},{ 368, 242, 121, 260, 20}}
-}
-},
-/* UA....UA */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 264, 237, 244, 242},{ 368, 262, 187, 221, 242},{ 368, 168, 120, 127, 242},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 237, 114, 196, 242},{ 368, 245, 197, 251, 242},{ 368, 242, 242, 242, 242},{ 368, 251, 203, 257, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 244, 196, 182, 242},{ 368, 242, 242, 242, 242},{ 368, 255, 207, 214, 242},{ 368, 315, 220, 349, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 273, 225, 279, 242},{ 368, 332, 237, 366, 242},{ 368, 197, 102, 231, 242}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 262, 245, 242, 273},{ 368, 164, 222, 242, 250},{ 368, 145, 175, 242, 203},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 187, 197, 242, 225},{ 368, 222, 185, 242, 233},{ 368, 242, 242, 242, 242},{ 368, 228, 211, 242, 239}},
-{{ 368, 368, 368, 368, 368},{ 368, 221, 251, 242, 279},{ 368, 242, 242, 242, 242},{ 368, 232, 215, 242, 243},{ 368, 245, 275, 242, 303}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 250, 233, 242, 240},{ 368, 262, 292, 242, 320},{ 368, 127, 110, 242, 138}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 168, 242, 255, 332},{ 368, 145, 242, 232, 262},{ 368, 30, 242, 138, 290},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 120, 242, 207, 237},{ 368, 175, 242, 215, 292},{ 368, 242, 242, 242, 242},{ 368, 181, 242, 221, 298}},
-{{ 368, 368, 368, 368, 368},{ 368, 127, 242, 214, 366},{ 368, 242, 242, 242, 242},{ 368, 138, 242, 204, 302},{ 368, 273, 242, 285, 268}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 203, 242, 243, 320},{ 368, 290, 242, 302, 265},{ 368, 155, 242, 167, 272}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 251, 315, 197},{ 368, 242, 228, 245, 127},{ 368, 242, 181, 273, 155},{ 368, 242, 242, 242, 242}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 203, 220, 102},{ 368, 242, 211, 275, 110},{ 368, 242, 242, 242, 242},{ 368, 242, 196, 281, 116}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 257, 349, 231},{ 368, 242, 242, 242, 242},{ 368, 242, 221, 285, 167},{ 368, 242, 281, 231, 255}},
-{{ 368, 368, 368, 368, 368},{ 368, 242, 242, 242, 242},{ 368, 242, 239, 303, 138},{ 368, 242, 298, 268, 272},{ 368, 242, 116, 255, -7}}
-}
-},
-/* UA....?? */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-}
-},
-{ /* noPair */ {{{{0}}}},
-/* ??....CG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-},
-/* ??....GC */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-},
-/* ??....GU */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-},
-/* ??....UG */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-},
-/* ??....AU */
-{{
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}
-},
-{
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}
-},
-{
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}
-},
-{
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}
-},
-{
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}},
-{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}
-}
-},
-/* ??....UA */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-},
-/* ??....?? */
-{{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-},
-{
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}},
-{{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368},{ 368, 368, 368, 368, 368}}
-}
-}
-}
-};
-
-#endif
diff --git a/Archive/RIblast-master/main.cpp b/Archive/RIblast-master/main.cpp
deleted file mode 100644
index 2dab4197f141d28a3873b9c64657844b92bc3d3c..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/main.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * main.cpp
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/11/21
- *         Author: Tsukasa Fukunaga
- */
-
-#include <cstdio>
-#include <cstdlib>
-#include <iostream>
-#include <fstream>
-#include <vector>
-#include <string.h>
-#include "db_construction.h"
-#include "db_construction_parameters.h"
-#include "rna_interaction_search.h"
-#include "rna_interaction_search_parameters.h"
-
-using namespace std;
-
-void PrintUsage() {
-  cout << "RIblast - RNA-RNA interaction preriction tool. version 1.0" << endl;
-  cout << "\n";
-  cout << "Options\n";
-  cout << "db: convert a FASTA file to RIblast database files\n";
-  cout << "\n";
-  cout << "RIblast db [-i InputFastaFile] [-o OutputDbName] [-r RepeatMaskingStyle]\n";
-  cout << "           [-s LookupTableSize] [-w MaximalSpan] [-d MinAccessibleLength]\n";
-  cout << "\n";
-  cout << "  Options:\n";
-  cout << " (Required)\n";
-  cout << "    -i STR    RNA sequences in FASTA format\n";
-  cout << "    -o STR    The database name\n";
-  cout << "\n";
-  cout << " (Optional)\n";
-  cout << "    -r INT    Designation of repeat masking style 0:hard-masking, 1:soft-masking, 2:no-masking [default:0]\n";
-  cout << "    -s INT    Lookup table size of short string search [default: 8]\n";
-  cout << "    -w INT    The constraint of maximal distance between the bases that form base pairs. This parameter have to be set to 20 and over. [default: 70]\n";
-  cout << "    -d INT    Minimum accessible length for accessibility approximation [defualt:5]\n";
-  cout << "\n";
-  cout << "\n";
-  cout << "ris: search RNA-RNA interaction between a query and database sequences\n";
-  cout << "\n";
-  cout << "RIblast ris [-i InputFastaFile] [-o OutputFileName] [-d DatabaseFileName]\n";
-  cout << "            [-l MaxSeedLength] [-e HybridizationEnergyThreshold] [-f InteractionEnergyThreshold]\n";
-  cout << "            [-x DropOutLengthInGappedExtension] [-y DropOutLengthInUngappedExtension]\n";
-  cout << "            [-g OutputEnergyThreshold] [-s OutputStyle]\n";
-  cout << "\n";
-  cout << "  Options:\n";
-  cout << " (Required)\n";
-  cout << "    -i STR    RNA sequences in FASTA format\n";
-  cout << "    -o STR    Output file name\n";
-  cout << "    -d STR    The database name\n";
-  cout << "\n";
-  cout << " (Optional)\n";
-  cout << "    -l INT    Max size of seed length [default:20]\n";
-  cout << "    -e DBL    Hybridization energy threshold for seed search [default: -6.0]\n";
-  cout << "    -f DBL    Interaction energy threshold for removal of the interaction candidate before gapped extension [default: -4.0]\n";
-  cout << "    -x INT    Dropout Length in gapped extension [defualt:18]\n";
-  cout << "    -y INT    Dropout Length in ungapped extension [defualt:5]\n";
-  cout << "    -g DBL    Energy threshold for output [defualt:-8.0]\n";
-  cout << "    -s INT    Designation of output format style 0:simplified output, 1:detailed output [defualt:0]\n";
-}
-
-int main(int argc, char* argv[]) {
-  if(argc == 1 || strcmp(argv[1],"-h") == 0){
-    PrintUsage();
-    exit(1);
-  }
-  
-  if(strcmp(argv[1],"db") == 0){
-    DbConstructionParameters parameters;
-    parameters.SetParameters(argc - 1, argv + 1);
-    DbConstruction db_construction;
-    db_construction.Run(parameters);    
-  }else if(strcmp(argv[1],"ris") == 0){
-    RnaInteractionSearchParameters parameters;
-    parameters.SetParameters(argc - 1, argv + 1);
-    parameters.SetDbParameters();
-    RnaInteractionSearch rna_interaction_search(parameters.GetHashSize());
-    rna_interaction_search.Run(parameters);
-  }else{
-    cerr << "Error: You must specify the mode of RIblast (db or ris)." << endl;
-    exit(1);
-  }
-  return(0);
-}
diff --git a/Archive/RIblast-master/output.txt b/Archive/RIblast-master/output.txt
deleted file mode 100644
index f3a270893926da9f8b302af5b15dbed875a6475f..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/output.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-RIblast ris result
-input:queryRNA.fa,database:test_db,RepeatFlag:0,MaximalSpan:70,MinAccessibleLength:5,MaxSeedLength:20,InteractionEnergyThreshold:-4,HybridEnergyThreshold:-6,FinalThreshold:-8,DropOutLengthWoGap:5,DropOutLengthWGap:16
-Id,Query name, Query Length, Target name, Target Length, Accessibility Energy, Hybridization Energy, Interaction Energy, BasePair
-0,Test_Primer,15,Transcript_1,3233,1.49191,-9.76,-8.26809,(0-14:2988-2974) 
-1,Test_Primer,15,Transcript_1,3233,1.02308,-9.76,-8.73692,(0-14:18-4) 
-2,Test_Primer,15,Transcript_1,3233,0.947439,-9.73,-8.78256,(0-14:17-3) 
-3,Test_Primer,15,Transcript_1,3233,0.793049,-9.73,-8.93695,(0-14:16-2) 
-4,Test_Primer,15,Transcript_1,3233,0.483869,-9.73,-9.24613,(0-14:15-1) 
-5,Test_Primer,15,Transcript_1,3233,0.441093,-9.17,-8.72891,(0-14:14-0) 
-6,Test_Primer,15,Transcript_2,1285,0.260102,-9.1,-8.8399,(0-14:1284-1270) 
-7,Test_Primer,15,Transcript_2,1285,0.308504,-9.73,-9.4215,(0-14:1283-1269) 
-8,Test_Primer,15,Transcript_2,1285,0.359773,-9.73,-9.37023,(0-14:1282-1268) 
-9,Test_Primer,15,Transcript_2,1285,0.414262,-9.73,-9.31574,(0-14:1281-1267) 
-10,Test_Primer,15,Transcript_2,1285,0.473033,-9.73,-9.25697,(0-14:1280-1266) 
-11,Test_Primer,15,Transcript_2,1285,0.534123,-9.73,-9.19588,(0-14:1279-1265) 
-12,Test_Primer,15,Transcript_2,1285,0.597302,-9.73,-9.1327,(0-14:1278-1264) 
-13,Test_Primer,15,Transcript_2,1285,0.661445,-9.73,-9.06855,(0-14:1277-1263) 
-14,Test_Primer,15,Transcript_2,1285,0.724659,-9.73,-9.00534,(0-14:1276-1262) 
-15,Test_Primer,15,Transcript_2,1285,0.786234,-9.73,-8.94377,(0-14:1275-1261) 
-16,Test_Primer,15,Transcript_2,1285,0.84594,-9.73,-8.88406,(0-14:1274-1260) 
-17,Test_Primer,15,Transcript_2,1285,0.902197,-9.73,-8.8278,(0-14:1273-1259) 
-18,Test_Primer,15,Transcript_2,1285,0.954797,-9.73,-8.7752,(0-14:1272-1258) 
-19,Test_Primer,15,Transcript_2,1285,1.00572,-9.73,-8.72428,(0-14:1271-1257) 
-20,Test_Primer,15,Transcript_2,1285,1.05547,-9.73,-8.67453,(0-14:1270-1256) 
-21,Test_Primer,15,Transcript_2,1285,1.1081,-9.73,-8.6219,(0-14:1269-1255) 
-22,Test_Primer,15,Transcript_2,1285,1.16012,-9.73,-8.56988,(0-14:1268-1254) 
-23,Test_Primer,15,Transcript_2,1285,1.21706,-9.73,-8.51294,(0-14:1267-1253) 
-24,Test_Primer,15,Transcript_2,1285,1.26811,-9.73,-8.46189,(0-14:1266-1252) 
-25,Test_Primer,15,Transcript_2,1285,1.3178,-9.73,-8.4122,(0-14:1265-1251) 
-26,Test_Primer,15,Transcript_2,1285,1.38695,-9.73,-8.34305,(0-14:1264-1250) 
-27,Test_Primer,15,Transcript_2,1285,1.40247,-9.73,-8.32753,(0-14:1263-1249) 
-28,Test_Primer,15,Transcript_2,1285,1.38231,-9.73,-8.34769,(0-14:1262-1248) 
-29,Test_Primer,15,Transcript_2,1285,1.34893,-9.73,-8.38107,(0-14:1261-1247) 
-30,Test_Primer,15,Transcript_2,1285,1.30604,-9.73,-8.42396,(0-14:1260-1246) 
-31,Test_Primer,15,Transcript_2,1285,1.25994,-9.73,-8.47006,(0-14:1259-1245) 
-32,Test_Primer,15,Transcript_2,1285,1.20881,-9.76,-8.55119,(0-14:1258-1244) 
-33,Test_Primer,15,Transcript_2,1285,1.63873,-9.91,-8.27127,(0-14:674-660) 
diff --git a/Archive/RIblast-master/queryRNA.fa b/Archive/RIblast-master/queryRNA.fa
deleted file mode 100644
index b6ea8a793ad75bd74504e08501892aab398dea92..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/queryRNA.fa
+++ /dev/null
@@ -1,2 +0,0 @@
->Test_Primer
-AAAAAAAAAAAAAAA
\ No newline at end of file
diff --git a/Archive/RIblast-master/raccess.cpp b/Archive/RIblast-master/raccess.cpp
deleted file mode 100644
index a6a88c41407d173a06dd4fa4563dcabe5e324ba0..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/raccess.cpp
+++ /dev/null
@@ -1,710 +0,0 @@
-/*
- * raccesss.cpp
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/10/10
- *         Author: Tsukasa Fukunaga
- */
-
-#include "raccess.h"
-#include "fmath.hpp"
-#include <algorithm>
-#include <iostream>
-#include <fstream>
-#include <time.h>
-
-
-void Raccess::Run(string &sequence){
-  clock_t start, end;
-  Initiallize(sequence);
-  CalcInsideVariable();
-  CalcOutsideVariable();
-  CalcAccessibility(sequence);
-  Clear();
-}
-
-void Raccess::Run(string &sequence, vector<float> &accessibility, vector<float> &conditional_accessibility){
-  Initiallize(sequence);
-  CalcInsideVariable();
-  CalcOutsideVariable();
-  CalcAccessibility(sequence, accessibility, conditional_accessibility);
-  Clear();
-}
-
-void Raccess::Initiallize(string &sequence){
-  _seq_length = sequence.length();
-  _int_sequence.resize(_seq_length+1);
-  for(int i = 0;i < _seq_length;i++){
-    if(sequence[i] == 'A' || sequence[i] == 'a'){
-      _int_sequence[i+1] = 1;
-    }else if(sequence[i] == 'C' || sequence[i] == 'c'){
-      _int_sequence[i+1] = 2;
-    }else if(sequence[i] == 'G' || sequence[i] == 'g'){
-      _int_sequence[i+1] = 3;
-    }else if(sequence[i] == 'T' || sequence[i] == 't' || sequence[i] == 'U' || sequence[i] == 'u'){
-      _int_sequence[i+1] = 4;
-    }else{
-      _int_sequence[i+1] = 0;
-    }
-  }
-  
-  _Alpha_outer.resize(_seq_length+1, 0);
-  _Alpha_stem.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Alpha_stemend.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Alpha_multi.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Alpha_multibif.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Alpha_multi1.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Alpha_multi2.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  
-
-  _Beta_outer.resize(_seq_length+1, 0);
-  _Beta_stem.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Beta_stemend.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Beta_multi.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Beta_multibif.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Beta_multi1.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-  _Beta_multi2.resize(_seq_length+1,vector<double>(_maximal_span+2, -INF));
-}
-
-void Raccess::CalcInsideVariable(){
-  for (int j =TURN+1; j <= _seq_length; j++){
-    for (int i=j-TURN; i >= max(0,j-_maximal_span-1); i--){
-      //Alpha_stem
-      int type = BP_pair[_int_sequence[i+1]][_int_sequence[j]];
-      int type2 = BP_pair[_int_sequence[i+2]][_int_sequence[j-1]];
-      
-      double temp = 0; bool flag = 0;
-      if (type != 0) {
-	type2 = rtype[type2];
-	if(_Alpha_stem[i+1][j-i-2] != -INF){
-	  //Stem¨Stem
-	  if(type2 != 0){
-	    temp = _Alpha_stem[i+1][j-i-2]+ LoopEnergy(type, type2,i+1,j,i+2,j-1);
-	  }
-	  flag = 1;
-	}
-    
-	if(_Alpha_stemend[i+1][j-i-2] != -INF){
-	  //Stem¨StemEnd
-	  temp = flag == 1 ? logsumexp(temp,_Alpha_stemend[i+1][j-i-2]) : _Alpha_stemend[i+1][j-i-2];
-	  flag = 1;
-	}
-
-	_Alpha_stem[i][j-i] = flag == 0 ? -INF : temp;
-      }else{
-	_Alpha_stem[i][j-i] = -INF;
-      }
-      
-      //Alpha_multiBif
-      temp = 0; flag = 0;
-      for (int k=i+1; k<=j-1; k++){
-	if(_Alpha_multi1[i][k-i] != -INF && _Alpha_multi2[k][j-k] != -INF){
-	  temp = flag == 0 ? _Alpha_multi1[i][k-i]+_Alpha_multi2[k][j-k] : logsumexp(temp,_Alpha_multi1[i][k-i]+_Alpha_multi2[k][j-k]);
-	  flag = 1;
-	}
-      }
-      _Alpha_multibif[i][j-i] = flag == 0 ? -INF : temp;
-      
-      //Alpha_multi2
-      temp = 0; flag = 0; 
-      if (type != 0) {
-	if(_Alpha_stem[i][j-i] != -INF){
-	  temp = _Alpha_stem[i][j-i]+MLintern+CalcDangleEnergy(type,i,j);
-	  flag = 1;
-	}
-      }
-      if(_Alpha_multi2[i][j-i-1] != -INF){
-	_Alpha_multi2[i][j-i] = _Alpha_multi2[i][j-i-1]+MLbase;
-	if(flag == 1){
-	  _Alpha_multi2[i][j-i] = logsumexp(temp,_Alpha_multi2[i][j-i]);
-	}
-      }else{
-	_Alpha_multi2[i][j-i] = flag == 0 ? -INF : temp;
-      }
-      
-      //Alpha_multi1
-      if(_Alpha_multi2[i][j-i] != -INF && _Alpha_multibif[i][j-i] != -INF){
-	_Alpha_multi1[i][j-i] = logsumexp(_Alpha_multi2[i][j-i],_Alpha_multibif[i][j-i]);
-      }else if(_Alpha_multi2[i][j-i] == -INF){
-	_Alpha_multi1[i][j-i] = _Alpha_multibif[i][j-i];
-      }else if(_Alpha_multibif[i][j-i] == -INF){
-	_Alpha_multi1[i][j-i] = _Alpha_multi2[i][j-i];
-      }else{
-	_Alpha_multi1[i][j-i] = -INF;
-      }
-      
-      //Alpha_multi
-      flag = 0;
-      if(_Alpha_multi[i+1][j-i-1] != -INF){
-	_Alpha_multi[i][j-i] = _Alpha_multi[i+1][j-i-1]+MLbase;
-	flag = 1;
-      }
-      
-      if(flag == 1){
-	if(_Alpha_multibif[i][j-i] != -INF){
-	  _Alpha_multi[i][j-i] = logsumexp(_Alpha_multi[i][j-i],_Alpha_multibif[i][j-i]);
-	}
-      }else{
-	_Alpha_multi[i][j-i] = _Alpha_multibif[i][j-i];
-      }
-      
-      //Alpha_stemend
-      if(j != _seq_length){
-	temp = 0;
-	type = BP_pair[_int_sequence[i]][_int_sequence[j+1]];
-	if (type!=0) {
-	  //StemEnd¨sn
-	  temp = HairpinEnergy(type, i,j+1);
-	  
-	  //StemEnd¨sm_Stem_sn
-	  for (int p =i; p <= min(i+MAXLOOP,j-TURN-2); p++) {
-	    int u1 = p-i;
-	    for (int q=max(p+TURN+2,j-MAXLOOP+u1); q<=j; q++) {
-	      type2 = BP_pair[_int_sequence[p+1]][_int_sequence[q]];
-	      if(_Alpha_stem[p][q-p] != -INF){
-		if (type2 != 0 && !(p == i && q == j)) {
-		  type2 = rtype[type2];
-		  temp = logsumexp(temp,_Alpha_stem[p][q-p]+LoopEnergy(type, type2,i,j+1,p+1,q)); 
-		}
-	      }
-	    }
-	  }
-	  
-	  //StemEnd¨Multi
-	  int tt = rtype[type];
-	  temp = logsumexp(temp,_Alpha_multi[i][j-i]+MLclosing+MLintern+dangle3[tt][_int_sequence[i+1]]+dangle5[tt][_int_sequence[j]]);
-	  _Alpha_stemend[i][j-i] = temp;
-	}else{
-	  _Alpha_stemend[i][j-i] = -INF;
-	}
-      }
-    }
-  }
-  
-  //Alpha_Outer
-  for(int i = 1;i <= _seq_length;i++){
-    double temp = _Alpha_outer[i-1];
-    for(int p = max(0,i-_maximal_span-1); p <i;p++){
-      if(_Alpha_stem[p][i-p] != -INF){
-	int type = BP_pair[_int_sequence[p+1]][_int_sequence[i]];
-	double ao = _Alpha_stem[p][i-p]+CalcDangleEnergy(type,p,i);
-	temp = logsumexp(temp,ao+_Alpha_outer[p]);
-      }
-    }
-    _Alpha_outer[i] = temp;
-  }
-}
-
-double Raccess::CalcDangleEnergy(int type, int a, int b){
-  double x = 0;
-  if (type != 0) {
-    if (a>0) x += dangle5[type][_int_sequence[a]];
-    if (b<_seq_length) x += dangle3[type][_int_sequence[b+1]];
-    if( b == _seq_length && type>2){
-      x += TermAU;
-    }
-  }
-  return(x);
-}
-
-void Raccess::CalcOutsideVariable(){
-  //Beta_outer
-  for(int i = _seq_length-1;i >= 0;i--){
-    double temp = _Beta_outer[i+1];
-    for(int p = i+1; p <= min(i+_maximal_span+1,_seq_length);p++){
-      if(_Alpha_stem[i][p-i] != -INF){
-	int type = BP_pair[_int_sequence[i+1]][_int_sequence[p]];
-	double bo = _Alpha_stem[i][p-i] + CalcDangleEnergy(type,i,p);
-	temp = logsumexp(temp,bo+_Beta_outer[p]);
-      }
-    }
-    _Beta_outer[i] = temp;	
-  }
-  
-  for (int q=_seq_length; q>=TURN+1; q--) {
-    for (int p=max(0,q-_maximal_span-1); p<= q-TURN; p++) {
-      int type = 0;
-      int type2 = 0;
-
-      double temp = 0; bool flag = 0;
-      if(p != 0 && q != _seq_length){
-	//Beta_stemend
-	_Beta_stemend[p][q-p] = q-p >= _maximal_span ? -INF : _Beta_stem[p-1][q-p+2];
-	
-	//Beta_Multi
-	flag = 0;
-	if(q-p+1 <= _maximal_span+1){
-	  if(_Beta_multi[p-1][q-p+1] != -INF){
-	    temp = _Beta_multi[p-1][q-p+1] + MLbase;
-	    flag = 1;
-	  }
-	}
-	
-	type = BP_pair[_int_sequence[p]][_int_sequence[q+1]];
-	int tt = rtype[type];
-	if(flag == 1){
-	  if(_Beta_stemend[p][q-p] != -INF){
-	    temp = logsumexp(temp,_Beta_stemend[p][q-p]+MLclosing+MLintern+ dangle3[tt][_int_sequence[p+1]]+dangle5[tt][_int_sequence[q]]);
-	  }
-	}else{
-	  if(_Beta_stemend[p][q-p] != -INF){
-	    temp = _Beta_stemend[p][q-p]+MLclosing+MLintern+dangle3[tt][_int_sequence[p+1]]+dangle5[tt][_int_sequence[q]];
-	  }else{
-	    temp = -INF;
-	  }
-	}
-	_Beta_multi[p][q-p] = temp;
-	
-	//Beta_Multi1
-	temp = 0; flag = 0;
-	for(int k = q+1 ; k<= min(_seq_length,p+_maximal_span);k++){
-	  if(_Beta_multibif[p][k-p] != -INF && _Alpha_multi2[q][k-q] != -INF){
-	    temp = flag == 0 ? _Beta_multibif[p][k-p]+_Alpha_multi2[q][k-q] : logsumexp(temp,_Beta_multibif[p][k-p]+_Alpha_multi2[q][k-q]) ;
-	    flag = 1;
-	  }
-	}
-	_Beta_multi1[p][q-p] = flag == 1 ? temp: -INF;
-	
-	//Beta_Multi2
-	temp = 0; flag = 0;
-	if(_Beta_multi1[p][q-p] != -INF){
-	  temp = _Beta_multi1[p][q-p];
-	  flag = 1;
-	}
-	if(q-p <= _maximal_span){
-	  if(_Beta_multi2[p][q-p+1] != -INF){
-	    temp = flag == 1 ? logsumexp(temp,_Beta_multi2[p][q-p+1]+MLbase) : _Beta_multi2[p][q-p+1]+MLbase;
-	    flag = 1;
-	  }
-	}
-	
-	for(int k = max(0,q-_maximal_span); k < p ;k++){
-	  if(_Beta_multibif[k][q-k] != -INF && _Alpha_multi1[k][p-k] != -INF){
-	    temp = flag == 0 ? _Beta_multibif[k][q-k]+_Alpha_multi1[k][p-k] : logsumexp(temp,_Beta_multibif[k][q-k]+_Alpha_multi1[k][p-k]);
-	    flag = 1;
-	  }
-	}
-	_Beta_multi2[p][q-p] = flag == 0 ? -INF : temp;
-	
-	//Beta_multibif
-	if(_Beta_multi1[p][q-p] != -INF && _Beta_multi[p][q-p] != -INF){
-	  _Beta_multibif[p][q-p] = logsumexp(_Beta_multi1[p][q-p],_Beta_multi[p][q-p]);
-	}else if(_Beta_multi[p][q-p] == -INF){
-	  _Beta_multibif[p][q-p] = _Beta_multi1[p][q-p];
-	}else if(_Beta_multi1[p][q-p] == -INF){
-	  _Beta_multibif[p][q-p] = _Beta_multi[p][q-p];
-	}else{
-	  _Beta_multibif[p][q-p] = -INF;
-	}
-	
-      }
-      
-      //Beta_stem
-      type2 = BP_pair[_int_sequence[p+1]][_int_sequence[q]];
-      if(type2 != 0){
-	temp = _Alpha_outer[p]+_Beta_outer[q]+CalcDangleEnergy(type2,p,q);
-	
-	type2 = rtype[type2];
-	for (int i=max(1,p-MAXLOOP); i<=p; i++){
-	  for (int j=q; j<=min(q+ MAXLOOP -p+i,_seq_length-1); j++) {
-	    type = BP_pair[_int_sequence[i]][_int_sequence[j+1]];
-	    if (type != 0 && !(i == p && j == q)) {
-	      if(j-i <= _maximal_span+1 && _Beta_stemend[i][j-i] != -INF){
-		temp = logsumexp(temp,_Beta_stemend[i][j-i]+LoopEnergy(type,type2,i,j+1,p+1,q));
-	      }
-	    }
-	  }
-	}
-	
-	if(p != 0 && q != _seq_length){
-	  type = BP_pair[_int_sequence[p]][_int_sequence[q+1]];
-	  if(type != 0){
-	    if(q-p+2 <= _maximal_span+1 && _Beta_stem[p-1][q-p+2] != -INF){
-	      temp = logsumexp(temp,_Beta_stem[p-1][q-p+2]+LoopEnergy(type,type2,p,q+1,p+1,q));
-	    }
-	  }
-	}
-	_Beta_stem[p][q-p] = temp;
-	
-	if(_Beta_multi2[p][q-p] != -INF){
-	  type2 = rtype[type2];
-	  temp = _Beta_multi2[p][q-p] + MLintern + CalcDangleEnergy(type2,p,q);
-	  _Beta_stem[p][q-p] = logsumexp(temp,_Beta_stem[p][q-p]);
-	}
-      }else{
-	_Beta_stem[p][q-p] = -INF;
-      }
-    }
-  }
-}
-
-double Raccess::logsumexp(double x,double y){
-  double temp = x > y ? x + (double)fmath::log((float)(fmath::expd(y-x) + 1.0)) : y + (double)fmath::log((float)(fmath::expd(x-y) + 1.0)) ;
-  return(temp);
-}
-
-void Raccess::CalcAccessibility(string &sequence){
-  double prob = 0.0;
-  float accessibility = 0.0;
-  vector<float> accessibility_array; accessibility_array.resize(_seq_length, 0.0);
-
-  vector<double> biloop_probability; biloop_probability.resize(_seq_length, 0.0);
-  vector<double> conditional_biloop_probability; conditional_biloop_probability.resize(_seq_length, 0.0);
-  vector<double> hairpin_probability; hairpin_probability.resize(_seq_length, 0.0);
-  vector<double> conditional_hairpin_probability; conditional_hairpin_probability.resize(_seq_length, 0.0);
-
-  double pf = _Alpha_outer[_seq_length];
-  if(pf >= -690 && pf <= 690){
-    CalcBulgeAndInternalProbability(biloop_probability, conditional_biloop_probability);
-  }else{
-    CalcLogSumBulgeAndInternalProbability(biloop_probability, conditional_biloop_probability);
-  }
-  
-  CalcHairpinProbability(hairpin_probability, conditional_hairpin_probability);
-  
-  ofstream of(_db_name.c_str(), ios::out | ios::binary | ios::app);
-  int count = _seq_length - _min_accessible_length + 1;
-  of.write(reinterpret_cast<const char*>(&count), sizeof(int));
-  for(int i = 1; i <=count;i++){
-    prob += CalcExteriorProbability(i,_min_accessible_length);
-    prob += hairpin_probability[i-1];
-    prob += biloop_probability[i-1];
-    prob += CalcMultiProbability(i,_min_accessible_length);
-    accessibility = (-fmath::log((float)prob)*kT)/1000;
-    accessibility_array[i-1] = accessibility;
-    of.write(reinterpret_cast<const char*>(&accessibility), sizeof(float));
-    prob = 0.0;
-  }
- 
-  count = _seq_length;
-  of.write(reinterpret_cast<const char*>(&count), sizeof(int));
-  float conditional_accessibility = 0.0;
-  for(int i = 0; i < _min_accessible_length; i++){
-    of.write(reinterpret_cast<const char*>(&conditional_accessibility), sizeof(float));
-  }
-  
-  for(int i = 1; i+_min_accessible_length <=_seq_length;i++){
-    prob += CalcExteriorProbability(i,_min_accessible_length+1);
-    prob += conditional_hairpin_probability[i-1];
-    prob += conditional_biloop_probability[i-1];
-    prob += CalcMultiProbability(i,_min_accessible_length+1);
-    conditional_accessibility = (-fmath::log((float)prob)*kT)/1000 - accessibility_array[i-1];
-    of.write(reinterpret_cast<const char*>(&conditional_accessibility), sizeof(float));
-    prob = 0.0;
-  }
-  of.close();
-}
-
-void Raccess::CalcAccessibility(string &sequence,vector<float> &accessibility, vector<float> &conditional_accessibility){
-  double prob = 0.0;
-  accessibility.resize(_seq_length, 0.0);
-  conditional_accessibility.resize(_seq_length, 0.0);
-
-  vector<double> biloop_probability; biloop_probability.resize(_seq_length, 0.0);
-  vector<double> conditional_biloop_probability; conditional_biloop_probability.resize(_seq_length, 0.0);
-
-  vector<double> hairpin_probability; hairpin_probability.resize(_seq_length, 0.0);
-  vector<double> conditional_hairpin_probability; conditional_hairpin_probability.resize(_seq_length, 0.0);
-
-  double pf = _Alpha_outer[_seq_length];
-  if(pf >= -690 && pf <= 690){
-    CalcBulgeAndInternalProbability(biloop_probability, conditional_biloop_probability);
-  }else{
-    CalcLogSumBulgeAndInternalProbability(biloop_probability, conditional_biloop_probability);
-  }
-  CalcHairpinProbability(hairpin_probability, conditional_hairpin_probability);
-
-  for(int i = 1; i+_min_accessible_length-1 <=_seq_length;i++){
-    prob += CalcExteriorProbability(i,_min_accessible_length);
-    prob += hairpin_probability[i-1];
-    prob += biloop_probability[i-1];
-    prob += CalcMultiProbability(i,_min_accessible_length);
-    accessibility[i-1] = (-fmath::log((float)prob)*kT)/1000;
-    prob = 0.0;
-  }
-  
-  for(int i = 1; i+_min_accessible_length-1 < _seq_length;i++){
-    prob += CalcExteriorProbability(i,_min_accessible_length+1);
-    prob += conditional_hairpin_probability[i-1];
-    prob += conditional_biloop_probability[i-1];
-    prob += CalcMultiProbability(i,_min_accessible_length+1);
-    conditional_accessibility[i+_min_accessible_length-1] = (-fmath::log((float)prob)*kT)/1000 - accessibility[i-1];
-    prob = 0.0;
-  }
-}
-
-double Raccess::CalcExteriorProbability(int x, int w){
-  double probability = fmath::expd(_Alpha_outer[x-1]+_Beta_outer[x+w-1]-_Alpha_outer[_seq_length]);
-  return(probability);
-}
-
-void Raccess::CalcHairpinProbability(vector<double> &hairpin_probability, vector<double> &conditional_hairpin_probability){
-  int w = _min_accessible_length;
-  for(int x = 1; x+w-1 <=_seq_length;x++){
-    double temp = 0.0;
-    double c_temp = 0.0;
-    int type = 0;
-    bool flag = 0;
-    bool c_flag = 0;
-    double h_energy = 0.0;
-    
-    for(int i = max(1,x-_maximal_span);i<x ;i++){
-      for(int j = x+w; j<=min(i+_maximal_span,_seq_length);j++){
-	type = BP_pair[_int_sequence[i]][_int_sequence[j]];
-	if(_Beta_stemend[i][j-i-1] != -INF){
-	  h_energy = _Beta_stemend[i][j-i-1] + HairpinEnergy(type, i,j);
-	  if(j == x+w){
-	    temp = flag == 1 ? logsumexp(temp, h_energy) : h_energy;
-	    flag = 1;
-	  }else{
-	    c_temp = c_flag == 1 ? logsumexp(c_temp, h_energy) :  h_energy;
-	    c_flag = 1;
-	  }
-	}
-      }
-    }
-
-    if(flag == 1 && c_flag == 1){
-      temp = logsumexp(temp, c_temp);
-    }
-    if(flag == 0 && c_flag == 1){
-      temp = c_temp;
-      flag = 1;
-    }
-    if(flag == 1){
-      hairpin_probability[x-1] = fmath::expd(temp-_Alpha_outer[_seq_length]);
-    }
-    if(c_flag == 1){
-      conditional_hairpin_probability[x-1] = fmath::expd(c_temp-_Alpha_outer[_seq_length]);
-    }
-  }
-}
-
-double Raccess::CalcMultiProbability(int x, int w){
-  double probability = 0.0;
-  double temp = 0.0;
-  bool flag = 0;
-  
-  for(int i = x+w-1; i<=min(x+_maximal_span,_seq_length);i++){
-    if(_Beta_multi[x-1][i-x+1] != -INF && _Alpha_multi[x+w-1][i-x-w+1] != -INF){
-      temp = flag == 0 ? _Beta_multi[x-1][i-x+1] + _Alpha_multi[x+w-1][i-x-w+1] : logsumexp(temp,_Beta_multi[x-1][i-x+1] + _Alpha_multi[x+w-1][i-x-w+1]);
-      flag = 1;
-    }
-  }
-  
-  for(int i = max(0,x+w-1-_maximal_span); i<x;i++){
-    if(_Beta_multi2[i][x+w-1-i] != -INF && _Alpha_multi2[i][x-i-1] != -INF){
-      temp = flag == 0 ? _Beta_multi2[i][x+w-1-i] + _Alpha_multi2[i][x-i-1] : logsumexp(temp,_Beta_multi2[i][x+w-1-i] + _Alpha_multi2[i][x-i-1]);
-      flag = 1;
-    }
-  }
-  if(flag == 1){ probability = fmath::expd(temp-_Alpha_outer[_seq_length]); }
-  return(probability);
-}
-
-void Raccess::CalcBulgeAndInternalProbability(vector<double> &biloop_probability, vector<double> &conditional_biloop_probability){
-  double probability = 0;
-  double temp = 0;
-  int type = 0;
-  int type2 = 0;
-  vector<bool> b_flag_array; b_flag_array.resize(_seq_length,0);
-  vector<bool> c_flag_array; c_flag_array.resize(_seq_length,0);
-  int w = _min_accessible_length;
-  
-  for(int i = 1; i<_seq_length-TURN-2;i++){
-    for(int j = i+TURN+3; j<=min(i+_maximal_span,_seq_length);j++){
-      type = BP_pair[_int_sequence[i]][_int_sequence[j]];
-      if (type!=0) {
-	for (int p =i+1; p <= min(i+MAXLOOP+1,j-TURN-2); p++) {
-	  int u1 = p-i-1;
-	  for (int q=max(p+TURN+1,j-MAXLOOP+u1-1); q<j; q++) {
-	    type2 = BP_pair[_int_sequence[p]][_int_sequence[q]];
-	    if (type2 != 0 && !(p == i+1 && q == j-1)) {
-	      type2 = rtype[type2];
-	      if(_Beta_stemend[i][j-i-1] != -INF && _Alpha_stem[p-1][q-p+1] != -INF){
-		temp = fmath::expd(_Beta_stemend[i][j-i-1] + LoopEnergy(type, type2,i,j,p,q)+_Alpha_stem[p-1][q-p+1]);
-		
-		for(int k = i+1; k <= p-w;k++){
-		  if(k == p-w){
-		    biloop_probability[k-1] += temp;		   
-		  }else{
-		    conditional_biloop_probability[k-1] += temp;		  
-		  }
-		}
-		
-		for(int k = q+1; k <= j-w;k++){
-		  if(k == j-w){
-		    biloop_probability[k-1] += temp;
-		  }else{
-		    conditional_biloop_probability[k-1] += temp;
-		  }
-		}
-	      } 
-	    }
-	  }
-	}
-      }
-    }
-  }
-  
-  for(int i=0;i<_seq_length;i++){
-    if(biloop_probability[i] != 0){
-      biloop_probability[i] = fmath::log((float)(biloop_probability[i] + conditional_biloop_probability[i]));
-      biloop_probability[i] = fmath::expd(biloop_probability[i]-_Alpha_outer[_seq_length]);
-    }
-    if(conditional_biloop_probability[i] != 0){
-      conditional_biloop_probability[i] = fmath::log((float)(conditional_biloop_probability[i]));
-      conditional_biloop_probability[i] = fmath::expd(conditional_biloop_probability[i]-_Alpha_outer[_seq_length]);
-    }
-  }
-}
-
-void Raccess::CalcLogSumBulgeAndInternalProbability(vector<double> &biloop_probability, vector<double> &conditional_biloop_probability){
-  double probability = 0;
-  double temp = 0;
-  int type = 0;
-  int type2 = 0;
-  vector<bool> b_flag_array; b_flag_array.resize(_seq_length,0);
-  vector<bool> c_flag_array; c_flag_array.resize(_seq_length,0);
-  int w = _min_accessible_length;
-  
-  for(int i = 1; i<_seq_length-TURN-2;i++){
-    for(int j = i+TURN+3; j<=min(i+_maximal_span,_seq_length);j++){
-      type = BP_pair[_int_sequence[i]][_int_sequence[j]];
-      if (type!=0) {
-	for (int p =i+1; p <= min(i+MAXLOOP+1,j-TURN-2); p++) {
-	  int u1 = p-i-1;
-	  for (int q=max(p+TURN+1,j-MAXLOOP+u1-1); q<j; q++) {
-	    type2 = BP_pair[_int_sequence[p]][_int_sequence[q]];
-	    if (type2 != 0 && !(p == i+1 && q == j-1)) {
-	      type2 = rtype[type2];
-	      if(_Beta_stemend[i][j-i-1] != -INF && _Alpha_stem[p-1][q-p+1] != -INF){
-		temp = _Beta_stemend[i][j-i-1] + LoopEnergy(type, type2,i,j,p,q)+_Alpha_stem[p-1][q-p+1];
-		
-		for(int k = i+1; k <= p-w;k++){
-		  if(k == p-w){
-		    biloop_probability[k-1] = b_flag_array[k-1] == 1 ? logsumexp(biloop_probability[k-1], temp) : temp;
-		    b_flag_array[k-1] = 1;		   
-		  }else{
-		    conditional_biloop_probability[k-1] = c_flag_array[k-1] == 1 ? logsumexp(conditional_biloop_probability[k-1], temp) : temp;
-		    c_flag_array[k-1] = 1;		  
-		  }
-		}
-		
-		for(int k = q+1; k <= j-w;k++){
-		  if(k == j-w){
-		    biloop_probability[k-1] = b_flag_array[k-1] == 1 ? logsumexp(biloop_probability[k-1], temp) : temp;
-		    b_flag_array[k-1] = 1;
-		  }else{
-		    conditional_biloop_probability[k-1] = c_flag_array[k-1] == 1 ? logsumexp(conditional_biloop_probability[k-1], temp) : temp;
-		    c_flag_array[k-1] = 1;
-		  }
-		}
-	      } 
-	    }
-	  }
-	}
-      }
-    }
-  }
-  
-  for(int i=0;i<_seq_length;i++){
-    if(b_flag_array[i]==1 && c_flag_array[i]==1){
-      biloop_probability[i] = logsumexp(biloop_probability[i], conditional_biloop_probability[i]);
-    }
-    if(b_flag_array[i]==0 && c_flag_array[i]==1){
-      biloop_probability[i] = conditional_biloop_probability[i];
-    }
-    if(b_flag_array[i]==1){
-      biloop_probability[i] = fmath::expd(biloop_probability[i]-_Alpha_outer[_seq_length]);
-    }
-    if(c_flag_array[i]==1){
-      conditional_biloop_probability[i] = fmath::expd(conditional_biloop_probability[i]-_Alpha_outer[_seq_length]);
-    }
-  }
-}
-
-double Raccess::LoopEnergy(int type, int type2,int i,int j,int p,int q){
-  double z=0;
-  int u1 = p-i-1;
-  int u2 = j-q-1;
-  
-  if ((u1==0) && (u2==0)){
-    z = stack[type][type2];
-  }else{
-    if ((u1==0)||(u2==0)) {
-      int u;
-      u = u1 == 0 ? u2 : u1;
-      z = u <=30 ? bulge[u] : bulge[30] - lxc37*log( u/30.)*10./kT;
-      
-      if (u == 1){
-	z += stack[type][type2];
-      }else {
-	if (type>2){ z += TermAU;}
-	if (type2>2){ z += TermAU;}
-      }
-    }else{     
-      if (u1+u2==2) {
-	z = int11[type][type2][_int_sequence[i+1]][_int_sequence[j-1]];
-      }else if ((u1==1) && (u2==2)){
-	z = int21[type][type2][_int_sequence[i+1]][_int_sequence[q+1]][_int_sequence[j-1]];
-      }else if ((u1==2) && (u2==1)){
-	z = int21[type2][type][_int_sequence[q+1]][_int_sequence[i+1]][_int_sequence[p-1]];
-      }else if ((u1==2) && (u2==2)){
-	z = int22[type][type2][_int_sequence[i+1]][_int_sequence[p-1]][_int_sequence[q+1]][_int_sequence[j-1]];
-      }else{
-	z = internal[u1+u2]+mismatchI[type][_int_sequence[i+1]][_int_sequence[j-1]]+mismatchI[type2][_int_sequence[q+1]][_int_sequence[p-1]];
-	z += ninio[abs(u1-u2)];
-      }
-    }
-  }
-  return z;
-}
-
-double Raccess::HairpinEnergy(int type, int i, int j) {
-  int d = j-i-1;
-  double q = 0;
-
-  q = d <= 30 ? hairpin[d] : hairpin[30] - lxc37*log( d/30.) *10./kT;  
-  if(d!= 3){
-    q += mismatchH[type][_int_sequence[i+1]][_int_sequence[j-1]];
-  }else{
-    if(type > 2){q += TermAU;}
-  }
-  return q;
-}
-
-void Raccess::Clear(){
-  for(int i = 0; i <= _seq_length;i++){
-    _Alpha_stem[i].clear();
-    _Alpha_stemend[i].clear();
-    _Alpha_multi[i].clear();
-    _Alpha_multibif[i].clear();
-    _Alpha_multi1[i].clear();
-    _Alpha_multi2[i].clear();
-    _Beta_stem[i].clear();
-    _Beta_stemend[i].clear();
-    _Beta_multi[i].clear();
-    _Beta_multibif[i].clear();
-    _Beta_multi1[i].clear();
-    _Beta_multi2[i].clear();
-  }
-
-  _int_sequence.clear();
-  _seq_length = 0;
-  _Alpha_outer.clear();
-  _Alpha_stem.clear();
-  _Alpha_stemend.clear();
-  _Alpha_multi.clear();
-  _Alpha_multibif.clear();
-  _Alpha_multi1.clear();
-  _Alpha_multi2.clear();
-  
-  _Beta_outer.clear();
-  _Beta_stem.clear();
-  _Beta_stemend.clear();
-  _Beta_multi.clear();
-  _Beta_multibif.clear();
-  _Beta_multi1.clear();
-  _Beta_multi2.clear();
-}
diff --git a/Archive/RIblast-master/raccess.h b/Archive/RIblast-master/raccess.h
deleted file mode 100644
index f69bcbd51c3a7ef065b673ca74ea39885a39571b..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/raccess.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * raccess.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef RACCESS_H
-#define RACCESS_H
-
-#include <stdlib.h>
-#include <vector>
-#include "energy_par.h"
-#include "intloops.h"
-#include <math.h>
-#include <iostream>
-#include <fstream>
-
-using namespace std;
-
-class Raccess {
- public:
-  Raccess(string db_name, int w, int delta) {
-    _maximal_span = w;
-    _min_accessible_length = delta;
-    
-    if(db_name.size() == 0){
-      cerr << "Error: -o option is required." << endl;
-      exit(1);
-    }
-    _db_name = db_name+".acc";
-    ofstream of(_db_name.c_str(), ios::out | ios::binary);
-    if (!of){
-      cerr  << "Error: Cannot make " << _db_name << "." << endl;
-      exit(1);
-    }
-    of.close();
-    
-    if(delta <= 1){
-      cerr << "Error: -d option must be greater than 1." << endl;
-      exit(1);
-    }
-    _seq_length = 0;
-    
-
-    set_energy_parameters();
-  }
-  Raccess(int w, int delta) {
-    _maximal_span = w;
-    _min_accessible_length = delta;
-    set_energy_parameters();
-  }
-  
-  void Run(string &sequence);
-  void Run(string &sequence, vector<float> &accessibility, vector<float> &conditional_accessibility);
- private:
-  double hairpin[31];
-  double mismatchH[7][5][5];
-  double mismatchI[7][5][5];
-  double stack[7][7];
-  double bulge[31];
-  double TermAU;
-  double int11[8][8][5][5];
-  double int21[8][8][5][5][5];
-  double int22[8][8][5][5][5][5];
-  double internal[31];
-  double MLclosing;
-  double MLintern;
-  double MLbase;
-  double dangle5[8][5];
-  double dangle3[8][5];
-  double ninio[MAXLOOP+1];
-  
-  vector<int> _int_sequence;
-  int _seq_length;
-  int _maximal_span;
-  int _min_accessible_length;
-  string _db_name;
-  
-  vector<double> _Alpha_outer;
-  vector<vector<double> > _Alpha_stem;
-  vector<vector<double> > _Alpha_stemend;
-  vector<vector<double> > _Alpha_multi;
-  vector<vector<double> > _Alpha_multibif;
-  vector<vector<double> > _Alpha_multi1;
-  vector<vector<double> > _Alpha_multi2;
-  
-  vector<double> _Beta_outer;
-  vector<vector<double> > _Beta_stem;
-  vector<vector<double> > _Beta_stemend;
-  vector<vector<double> > _Beta_multi;
-  vector<vector<double> > _Beta_multibif;
-  vector<vector<double> > _Beta_multi1;
-  vector<vector<double> > _Beta_multi2;
-
-  void set_energy_parameters(){
-    MLclosing = -ML_closing37*10/kT;
-    MLintern = -ML_intern37*10./kT;
-    MLbase = -ML_BASE37*10./kT;
-    TermAU= -TerminalAU*10/kT;
-    
-    for (int i=0; i<=30; i++) {
-      hairpin[i] = -hairpin37[i]*10./kT;
-      bulge[i] = - bulge37[i]*10./kT;
-      internal[i] = -internal_loop37[i]*10./kT;
-    }
-    
-    for (int i=0; i< 7; i++){
-      for (int j=0; j<5; j++){
-	for (int k=0; k<5; k++) {
-	  mismatchI[i][j][k] = -mismatchI37[i][j][k]*10.0/kT;
-	  mismatchH[i][j][k] = -mismatchH37[i][j][k]*10.0/kT;
-	}
-      }
-
-      for (int j=0; j<7; j++) {
-	stack[i][j] = -stack37[i][j]*10./kT;
-      }
-
-      for (int j=0; j<=4; j++) {
-	dangle5[i][j] = -dangle5_37[i][j]*10./kT;
-	dangle3[i][j] = -dangle3_37[i][j]*10./kT;
-	if (i>2){
-	  dangle3[i][j] += TermAU;
-	}
-      }
-    }
-    
-    for (int i=0; i<=7; i++){
-      for (int j=0; j<=7; j++){
-	for (int k=0; k<5; k++){
-	  for (int l=0; l<5; l++){
-	    int11[i][j][k][l] = -int11_37[i][j][k][l]*10./kT;
-	    for (int m=0; m<5; m++){
-	      int21[i][j][k][l][m] = -int21_37[i][j][k][l][m]*10./kT;
-	      for (int n=0; n<5; n++){
-		int22[i][j][k][l][m][n] = -int22_37[i][j][k][l][m][n]*10./kT;
-	      }
-	    }
-	  }
-	}
-      }
-    }
-    
-    for (int i=0; i<=MAXLOOP; i++){
-      ninio[i]= -min(MAX_NINIO, i*F_ninio37)*10/kT ;
-    } 
-  }
-  void Initiallize(string &sequence);
-  void CalcInsideVariable();
-  void CalcOutsideVariable();
-  void CalcAccessibility(string &sequence);
-  void CalcAccessibility(string &sequence, vector<float> &accessibility, vector<float> &conditional_accessibility);
-  double CalcExteriorProbability(int x, int w);
-  void CalcHairpinProbability(vector<double> &hairpin_probability, vector<double> &conditional_hairpin_probability);
-  double CalcMultiProbability(int x, int w);
-  void CalcBulgeAndInternalProbability(vector<double> &biloop_probability, vector<double> &conditional_biloop_probability);
-  void CalcLogSumBulgeAndInternalProbability(vector<double> &biloop_probability, vector<double> &conditional_biloop_probability);
-  void Clear();
-
-  double CalcDangleEnergy(int type,int a, int b);
-  double logsumexp(double x,double y);
-  double LoopEnergy(int type, int type2,int i,int j,int p,int q);
-  double HairpinEnergy(int type, int i, int j);
-};
-
-#endif
diff --git a/Archive/RIblast-master/rna_interaction_search.cpp b/Archive/RIblast-master/rna_interaction_search.cpp
deleted file mode 100644
index 9bf03bf59455d0031e47bece16edc48e07903829..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/rna_interaction_search.cpp
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * rna_interaction_search.cpp
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/01/25
- *         Author: Tsukasa Fukunaga
- */
-
-#include "rna_interaction_search.h"
-#include "fastafile_reader.h"
-#include "encoder.h"
-#include "sais.h"
-#include "raccess.h"
-#include "seed_search.h"
-#include "ungapped_extension.h"
-#include "gapped_extension.h"
-#include <fstream>
-#include <math.h>
-#include <algorithm>
-
-bool compare( const Hit& left, const Hit& right ) {
-  if(left.GetDbSp() != right.GetDbSp()){
-    return(left.GetDbSp() < right.GetDbSp());
-  }else if(left.GetQSp() != right.GetQSp()){
-    return(left.GetQSp() < right.GetQSp());
-  }else if(left.GetDbLength() != right.GetDbLength()){
-    return(left.GetDbLength() > right.GetDbLength());
-  }else{
-    return(left.GetQLength() > right.GetQLength());
-  }
-}
-
-bool base_pair_compare( const BasePair& left, const BasePair& right ) {
-  return(left.qpos < right.qpos);
-}
-
-void RnaInteractionSearch::Run(const RnaInteractionSearchParameters parameters){
-  vector<string> sequences; sequences.reserve(500);
-  vector<string> names; names.reserve(500);
-  
-  LoadDatabase(parameters.GetDbFilename(), parameters.GetHashSize());
-  ReadFastaFile(parameters, sequences, names);
-  int count = 0;
-  cout << "RIblast ris mode has started." << endl;
-  for(int i = 0; i<sequences.size();i++){
-    vector<unsigned char> query_encoded_sequence; query_encoded_sequence.reserve(10);
-    vector<int> query_suffix_array;
-    vector<float> query_accessibility; query_accessibility.reserve(10);
-    vector<float> query_conditional_accessibility; query_conditional_accessibility.reserve(10);
-    string query_sequence = sequences[i];
-    string query_name = names[i];
-    cout << "Rna interaction search of query:" << names[i] << " has started." << endl;
-    CalculateAccessibility(parameters, query_sequence, query_accessibility, query_conditional_accessibility);
-    ConstructSuffixArray(parameters, query_sequence, query_encoded_sequence, query_suffix_array);
-    vector<Hit> hit_result; hit_result.reserve(50000000);
-    SearchSeed(parameters,hit_result, query_encoded_sequence, query_suffix_array, query_accessibility, query_conditional_accessibility);
-    ExtendWithoutGap(parameters,hit_result, query_encoded_sequence, query_accessibility, query_conditional_accessibility);
-    ExtendWithGap(parameters,hit_result, query_encoded_sequence, query_accessibility, query_conditional_accessibility);
-    int length_count = 0;
-    for(int j= 0; j<query_encoded_sequence.size();j++){
-      if(query_encoded_sequence[j]>=2 && query_encoded_sequence[j]<=5){
-	length_count++;
-      }
-    }
-    Output(parameters,hit_result,query_name,i,&count,length_count);
-    hit_result.clear();
-    cout << "Rna interaction search of query:" << names[i] << " has finished." << endl;
-  }
-  cout << "RIblast ris mode has finished." << endl;
-}
-
-void RnaInteractionSearch::ReadFastaFile(const RnaInteractionSearchParameters parameters, vector<string> &sequences, vector<string> &names){
-  FastafileReader fastafile_reader;
-  fastafile_reader.ReadFastafile(parameters.GetInputFilename(), sequences, names);
-};
-
-
-
-void RnaInteractionSearch::CalculateAccessibility(const RnaInteractionSearchParameters parameters, string &query_sequence, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility){
-  FastafileReader fastafile_reader;
-  Raccess raccess(parameters.GetMaximalSpan(), parameters.GetMinAccessibleLength());
-  raccess.Run(query_sequence, query_accessibility, query_conditional_accessibility);
-};
-
-void RnaInteractionSearch::ConstructSuffixArray(const RnaInteractionSearchParameters parameters, string &query_sequence,  vector<unsigned char> &query_encoded_sequence, vector<int> &query_suffix_array){
-  Encoder encoder(parameters.GetRepeatFlag());
-  encoder.Encode(query_sequence, query_encoded_sequence, 0);
-  query_suffix_array.resize(query_encoded_sequence.size());
-  sais(&query_encoded_sequence[0], &query_suffix_array[0], query_encoded_sequence.size());
-};
-
-void RnaInteractionSearch::SearchSeed(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence, vector<int> &query_suffix_array, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility){
-  SeedSearch seed_search(parameters.GetHashSize(), parameters.GetMaxSeedLength(),  parameters.GetMinAccessibleLength(), parameters.GetHybridEnergyThreshold());
-
-  seed_search.Run(query_encoded_sequence, query_suffix_array, _db_seq, _db_suffix_array, _start_hash, _end_hash);
-  seed_search.CalcInteractionEnergy(hit_result, query_suffix_array, _db_suffix_array,query_accessibility, query_conditional_accessibility, _db_accessibility, _db_conditional_accessibility, _db_seq_length, _db_seq_start_position);
-}
-
-void RnaInteractionSearch::ExtendWithoutGap(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility){
-  UngappedExtension ungapped_extension(parameters.GetMinAccessibleLength(), parameters.GetDropOutLengthWoGap());
-
-  ungapped_extension.Run(hit_result, query_encoded_sequence, _db_seq, query_accessibility, query_conditional_accessibility, _db_accessibility, _db_conditional_accessibility);
-  sort(hit_result.begin(), hit_result.end(), compare);
-  CheckRedundancy(hit_result,parameters.GetInteractionEnergyThreshold());
-  GetBasePair(hit_result, query_encoded_sequence);
-}
-
-void RnaInteractionSearch::ExtendWithGap(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility){
-  GappedExtension gapped_extension(parameters.GetMinAccessibleLength(), parameters.GetDropOutLengthWGap(), parameters.GetMinHelixLength());
-  gapped_extension.Run(hit_result, query_encoded_sequence, _db_seq, query_accessibility, query_conditional_accessibility, _db_accessibility, _db_conditional_accessibility, _db_seq_length);
-  for(int i = 1; i<hit_result.size();i++){
-    hit_result[i].SortBasePair();
-  }
-  sort(hit_result.begin(), hit_result.end(), compare);
-  CheckRedundancy(hit_result,parameters.GetFinalThreshold());
-}
-
-void RnaInteractionSearch::Output(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, string q_name, int flag,int *count,int q_length){
-  ofstream ofs;
-  if(flag==0){
-    ofs.open(parameters.GetOutputFilename().c_str(),ios::out);
-    ofs << "RIblast ris result"<< endl;
-    ofs << "input:" <<parameters.GetInputFilename() <<",database:" <<parameters.GetDbFilename()<<",RepeatFlag:" <<parameters.GetRepeatFlag()<<",MaximalSpan:" << parameters.GetMaximalSpan() <<",MinAccessibleLength:" << parameters.GetMinAccessibleLength() << ",MaxSeedLength:"<< parameters.GetMaxSeedLength() << ",InteractionEnergyThreshold:" << parameters.GetInteractionEnergyThreshold() << ",HybridEnergyThreshold:" << parameters.GetHybridEnergyThreshold() << ",FinalThreshold:" << parameters.GetFinalThreshold() << ",DropOutLengthWoGap:" << parameters.GetDropOutLengthWoGap() << ",DropOutLengthWGap:" << parameters.GetDropOutLengthWGap() << endl;
-  }else{
-    ofs.open(parameters.GetOutputFilename().c_str(),ios::app);
-  }
-  if (!ofs){
-    cout << "Error: can't open output_file:"+parameters.GetOutputFilename()+"." <<endl;
-    exit(1);
-  }
-  if(flag==0){
-    ofs << "Id,Query name, Query Length, Target name, Target Length, Accessibility Energy, Hybridization Energy, Interaction Energy, BasePair"<< endl;
-  }
-  int output_style = parameters.GetOutputStyle();
-  
-  for(int i = 0; i< hit_result.size(); i++){
-    ofs << *count << ",";
-    *count += 1;
-    int id = hit_result[i].GetDbSeqId();
-    int db_length = _db_seq_length_without_repeat[id];
-    int seq_start_position = _db_seq_start_position[id];
-    ofs << q_name << ",";
-    ofs << q_length << ",";
-    ofs << _db_seq_name[id] << ",";
-    ofs << db_length << ",";
-    ofs << hit_result[i].GetAccessibilityEnergy() << ",";
-    ofs << hit_result[i].GetHybridizationEnergy() << ",";
-    ofs << hit_result[i].GetEnergy() << ",";
-    db_length = _db_seq_length[id];
-    int basepair_length = hit_result[i].GetBasePairLength();
-    if(output_style==1){
-      for(int j = 0; j<basepair_length;j++){
-	int dbpos = (db_length-1) - ( hit_result[i].GetBasePairSecond(j)- seq_start_position);
-	ofs << "(" << hit_result[i].GetBasePairFirst(j) << ":" << dbpos << ") " ;
-      }
-    }else{
-      ofs << "(" << hit_result[i].GetBasePairFirst(0) << "-" << hit_result[i].GetBasePairFirst(basepair_length-1) << ":" ;
-      int dbpos1 = (db_length-1) - ( hit_result[i].GetBasePairSecond(0)- seq_start_position);
-      int dbpos2 = (db_length-1) - ( hit_result[i].GetBasePairSecond(basepair_length-1)- seq_start_position);
-      ofs << dbpos1 << "-" << dbpos2 << ") " ;
-    }
-    ofs << endl;
-  }
-  ofs.close();
-}
-
-void RnaInteractionSearch::GetBasePair(vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence){
-  for(int i = 0; i< hit_result.size(); i++){
-    int q_start = hit_result[i].GetQSp();
-    int db_start = hit_result[i].GetDbSp();
-    int length = hit_result[i].GetQLength();
-    for(int j = 0; j<length;j++){
-      if(BP_pair[query_encoded_sequence[q_start+j]-1][_db_seq[db_start+j]-1] != 0){
-	hit_result[i].AddBasePair(q_start+j, db_start+j);
-      }
-    }
-  }
-}
-
-void RnaInteractionSearch::CheckRedundancy(vector<Hit> &hit_result, double energy_threshold){
-  for(int i = 0; i<hit_result.size();i++){
-    if(hit_result[i].GetEnergy() > energy_threshold){
-      hit_result[i].SetFlag();
-    }
-
-    if(!hit_result[i].GetFlag()){
-      int a_QSp = hit_result[i].GetQSp();
-      int a_DbSp = hit_result[i].GetDbSp();
-      int a_QEp = a_QSp+hit_result[i].GetQLength()-1;
-      int a_DbEp = a_DbSp+hit_result[i].GetDbLength()-1;
-
-      for(int j = i+1; j<hit_result.size();j++){
-        if(!hit_result[j].GetFlag()){
-          int b_DbSp = hit_result[j].GetDbSp();
-          if(a_DbEp < b_DbSp){
-            break;
-          }
-
-          int b_QSp = hit_result[j].GetQSp();
-          int b_QEp = b_QSp+hit_result[j].GetQLength()-1;
-          int b_DbEp = b_DbSp+hit_result[j].GetDbLength()-1;
-          if(a_QEp>=b_QEp && a_QSp <= b_QSp && a_DbEp >= b_DbEp){
-	    if(hit_result[i].GetEnergy() > hit_result[j].GetEnergy()){
-	      hit_result[i].SetFlag();
-	    }else{
-	      hit_result[j].SetFlag();
-	    }
-          }
-        }
-      }
-    }
-  }
-  hit_result.erase(remove_if(hit_result.begin(), hit_result.end(), CheckFlag()), hit_result.end());
-
-}
-
-
-void RnaInteractionSearch::LoadDatabase(string db_file_name, int hash_size){
-  //load seq file
-  ifstream ifs((db_file_name+".seq").c_str(), ios::in | ios::binary);
-  if (!ifs){
-    cout << "Error: can't open " << db_file_name << ".seq." <<endl;
-    exit(1);
-  }
-  int temp_i = 0;
-  ifs.read(reinterpret_cast<char*>(&temp_i), sizeof(int));
-  _number_of_db_seq = temp_i;
-  vector<int> temp_iv;
-  vector<int>::iterator i_it;
-  temp_iv.assign(temp_i, 0.0);
-  for(i_it=temp_iv.begin();i_it!=temp_iv.end();i_it++){
-    ifs.read(reinterpret_cast<char*>(&*i_it),sizeof(int));
-  }
-  int temp = 0;
-  for(int i = 0; i <temp_iv.size(); i++){
-    _db_seq_start_position.push_back(temp);
-    temp += temp_iv[i]+1;
-    _db_seq_length.push_back(temp_iv[i]);
-  }
-  
-  int count = 0;
-  vector<unsigned char>::iterator c_it;
-  ifs.read(reinterpret_cast<char*>(&count), sizeof(int));
-  
-  _db_seq.resize(count);
-  for(c_it=_db_seq.begin();c_it!=_db_seq.end();c_it++){
-    ifs.read(reinterpret_cast<char*>(&*c_it),sizeof(unsigned char));
-  }
-  ifs.close();
-  double length_count = 0;
-  for(int i= 0; i<_db_seq.size();i++){
-    if(_db_seq[i] == 0){
-      _db_seq_length_without_repeat.push_back(length_count);
-      length_count = 0;
-    }else if(_db_seq[i]>=2 && _db_seq[i]<=5){
-      length_count++;
-    }
-  }
-  _db_seq_length_without_repeat.push_back(length_count);
-  //load acc file
-  ifs.open((db_file_name+".acc").c_str(), ios::in | ios::binary);
-  if (!ifs){
-    cout << "Error: can't open " << db_file_name << ".acc." <<endl;
-    exit(1);
-  }
-  for(int i = 0; i < _number_of_db_seq; i++){
-    int a_count = 0;
-    vector<float>::iterator it;
-    vector <float> temp;
-    vector <float> c_temp;
-    ifs.read(reinterpret_cast<char*>(&a_count), sizeof(int));
-    temp.assign(a_count, 0.0);
-    for(it=temp.begin();it!=temp.end();it++){
-      ifs.read(reinterpret_cast<char*>(&*it),sizeof(float));
-    }
-    ifs.read(reinterpret_cast<char*>(&a_count), sizeof(int));
-    c_temp.assign(a_count, 0.0);
-    for(it=c_temp.begin();it!=c_temp.end();it++){
-      ifs.read(reinterpret_cast<char*>(&*it),sizeof(float));
-    }
-    _db_accessibility.push_back(temp);
-    _db_conditional_accessibility.push_back(c_temp);
-  }
-  ifs.close();
-
-  //load nam file
-  ifs.open((db_file_name+".nam").c_str(), ios::in);
-  if (!ifs){
-    cout << "Error: can't open " << db_file_name << ".nam." <<endl;
-    exit(1);
-  }
-  string str;
-  while(getline(ifs, str)){
-    _db_seq_name.push_back(str);
-  }
-  ifs.close();
-
-  //load ind file
-  ifs.open((db_file_name+".ind").c_str(), ios::in | ios::binary);
-  if (!ifs){
-    cout << "Error: can't open " << db_file_name << ".ind." <<endl;
-    exit(1);
-  }
-  count = 0;
-  vector<int>::iterator it;
-  ifs.read(reinterpret_cast<char*>(&count), sizeof(int));
-  
-  _db_suffix_array.resize(count);
-  for(it=_db_suffix_array.begin();it!=_db_suffix_array.end();it++){
-    ifs.read(reinterpret_cast<char*>(&*it),sizeof(int));
-  }
-  for(int i = 0; i < hash_size; i++){
-    for(it=_start_hash[i].begin();it!=_start_hash[i].end();it++){
-      ifs.read(reinterpret_cast<char*>(&*it),sizeof(int));
-    }
-  }
-  
-  for(int i = 0; i < hash_size; i++){
-    for(it=_end_hash[i].begin();it!=_end_hash[i].end();it++){
-      ifs.read(reinterpret_cast<char*>(&*it),sizeof(int));
-    }
-  }
-  ifs.close();
-}
diff --git a/Archive/RIblast-master/rna_interaction_search.h b/Archive/RIblast-master/rna_interaction_search.h
deleted file mode 100644
index 2e58579bc2658cf9ad3161e36adefcc7dd1b4ebe..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/rna_interaction_search.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * rna_interaction_search.cpp
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/11/21
- *         Author: Tsukasa Fukunaga
- */
-
-#ifndef RNA_INTERACTION_SEARCH_H
-#define RNA_INTERACTION_SEARCH_H
-
-#include "rna_interaction_search_parameters.h"
-#include "hit.h"
-#include <vector>
-#include <math.h>
-
-class CheckFlag{
-public:
-  bool operator()(const Hit &a) const { return(a.GetFlag()); }
-};
-
-
-class RnaInteractionSearch {
- public:
-  RnaInteractionSearch(int hash_size) {
-    int nucleotide_size = 4;
-    _start_hash.reserve(hash_size);
-    _end_hash.reserve(hash_size);
-    for(int i = 0; i < hash_size; i++){
-      vector <int> temp_vector; temp_vector.resize((int)pow(nucleotide_size,i+1), 0);
-      _start_hash.push_back(temp_vector);
-      vector <int> temp2_vector; temp_vector.resize((int)pow(nucleotide_size,i+1), 0);
-      _end_hash.push_back(temp_vector);
-    }
-  }
-  void Run(const RnaInteractionSearchParameters parameters);
- private:
-  void ReadFastaFile(const RnaInteractionSearchParameters parameters, vector<string> &sequences, vector<string> &names);
-  void CalculateAccessibility(const RnaInteractionSearchParameters parameters, string &query_sequence, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility);
-  void ConstructSuffixArray(const RnaInteractionSearchParameters parameters, string &query_sequence,  vector<unsigned char> &query_encoded_sequence, vector<int> &query_suffix_array);
-  void SearchSeed(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence, vector<int> &query_suffix_array, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility);
-  void ExtendWithoutGap(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility);
-  void ExtendWithGap(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility);
-  void GetBasePair(vector<Hit> &hit_result, vector<unsigned char> &query_encoded_sequence);
-  void Output(const RnaInteractionSearchParameters parameters, vector<Hit> &hit_result, string q_name, int flag, int *count, int q_length);
-  void LoadDatabase(string db_file_name, int hash_size);
-  void CheckRedundancy(vector<Hit> &hit_result, double energy_threshold);
-  bool SameHitCheckWithGap(Hit a, Hit b);
-  vector<vector<float> > _db_accessibility;
-  vector<vector<float> > _db_conditional_accessibility;
-  vector<string> _db_seq_name;
-  vector<int> _db_suffix_array;
-  vector<unsigned char> _db_seq;
-  vector<vector<int> > _start_hash;
-  vector<vector<int> > _end_hash;
-  vector<int> _db_seq_start_position;
-  vector<int> _db_seq_length;
-  vector<int> _db_seq_length_without_repeat;
-  int _number_of_db_seq;
-};
-
-#endif
diff --git a/Archive/RIblast-master/rna_interaction_search_parameters.cpp b/Archive/RIblast-master/rna_interaction_search_parameters.cpp
deleted file mode 100644
index aef0b3204bf7420b0fddc4f6044d1780f684c4a3..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/rna_interaction_search_parameters.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * rna_interaction_search_parameters.cpp
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/11/17
- *         Author: Tsukasa Fukunaga
- */
-
-#include "rna_interaction_search_parameters.h"
-#include <getopt.h>
-#include <stdlib.h>
-#include <fstream>
-
-void RnaInteractionSearchParameters::SetParameters(int argc, char* argv[]) {
-  int c;
-  extern char *optarg;
-  while ((c = getopt(argc, argv, "i:o:d:l:e:y:x:f:g:s:m:")) != -1) {
-    switch (c) {
-    case 'i':
-      _input_filename = optarg;
-      break;
-
-    case 'o':
-      _output_filename = optarg;
-      break;
-      
-    case 'd':
-      _db_filename = optarg;
-      break;
-
-    case 'l':
-      _max_seed_length = atoi(optarg);
-      break;
-
-    case 'e':
-      _hybrid_energy_threshold = atof(optarg);
-      break;
-   
-    case 'f':
-      _interaction_energy_threshold = atof(optarg);
-      break;
-
-    case 'g':
-      _final_threshold = atof(optarg);
-      break;
-
-    case 's':
-      _output_style = atoi(optarg);
-      break;
-
-    case 'x':
-      _drop_out_length_w_gap = atoi(optarg);
-      break;
-
-    case 'y':
-      _drop_out_length_wo_gap = atoi(optarg);
-      break;
-
-    case 'm':
-      _min_helix_length = atoi(optarg);
-      break;
-
-    default:
-      cerr << "Error: The argument is invalid command." << endl;
-      exit(1);
-    }
-  }
-}
-
-void RnaInteractionSearchParameters::SetDbParameters(){
-  ifstream ifs((GetDbFilename()+".bas").c_str(), ios::in | ios::binary);
-  if (!ifs){
-    cout << "Error: can't open " << GetDbFilename() << ".bas." <<endl;
-    exit(1);
-  }
-  int temp_i = 0;
-  ifs.read(reinterpret_cast<char*>(&temp_i), sizeof(int));
-  SetHashSize(temp_i);
-  ifs.read(reinterpret_cast<char*>(&temp_i), sizeof(int));
-  SetRepeatFlag(temp_i);
-  ifs.read(reinterpret_cast<char*>(&temp_i), sizeof(int));
-  SetMaximalSpan(temp_i);
-  ifs.read(reinterpret_cast<char*>(&temp_i), sizeof(int));
-  SetMinAccessibleLength(temp_i);
-  ifs.close();
-}
diff --git a/Archive/RIblast-master/rna_interaction_search_parameters.h b/Archive/RIblast-master/rna_interaction_search_parameters.h
deleted file mode 100644
index d8d45bf9f0c4b7545002f8b46b7b6ae1592f075a..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/rna_interaction_search_parameters.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * rna_interaction_search_parameters.h
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/11/17
- *         Author: Tsukasa Fukunaga
- */
-
-#ifndef RNA_INTERACTION_SEARCH_PARAMETERS_H
-#define RNA_INTERACTION_SEARCH_PARAMETERS_H
-
-#include <string>
-#include <cstdio>
-#include <iostream>
-#include <vector>
-using namespace std;
-
-class RnaInteractionSearchParameters{
- private:
-  string _db_filename;
-  string _input_filename;
-  string _output_filename;
-  int _output_style;
-  int _hash_size;
-  int _repeat_flag;
-  int _maximal_span;
-  int _min_accessible_length;
-  int _max_seed_length;
-  double _interaction_energy_threshold;
-  double _hybrid_energy_threshold;
-  double _final_threshold;
-  int _drop_out_length_wo_gap;
-  int _drop_out_length_w_gap;
-  int _min_helix_length;
- public:
-  RnaInteractionSearchParameters(){
-    _db_filename = "";
-    _input_filename = "";
-    _hash_size = 0;
-    _repeat_flag = 0;
-    _maximal_span = 0;
-    _min_accessible_length = 0;
-    _output_style = 0;
-    _max_seed_length = 20;
-    _hybrid_energy_threshold = -6.0;
-    _interaction_energy_threshold = -4;
-    _final_threshold = -8.0;
-    _drop_out_length_wo_gap = 5;
-    _drop_out_length_w_gap = 16;
-    _min_helix_length = 3;
-  }
-  void SetParameters(int argc, char* argv[]);
-  void SetDbParameters();
-  
-  string GetDbFilename() const {
-    return _db_filename;
-  }
-
-  string GetInputFilename() const {
-    return _input_filename;
-  }
-
-  string GetOutputFilename() const {
-    return _output_filename;
-  }
-
-  int GetHashSize() const {
-    return _hash_size;
-  }
-
-  int GetRepeatFlag() const {
-    return _repeat_flag;
-  }
-
-  int GetMaximalSpan() const {
-    return _maximal_span;
-  }
-
-  int GetMinAccessibleLength() const {
-    return _min_accessible_length;
-  }
-
-  int GetMaxSeedLength() const {
-    return _max_seed_length;
-  }
-
-  double GetInteractionEnergyThreshold() const {
-    return _interaction_energy_threshold;
-  }
-
-  double GetHybridEnergyThreshold() const {
-    return _hybrid_energy_threshold;
-  }
-
-  double GetFinalThreshold() const {
-    return _final_threshold;
-  }
-  
-  int GetDropOutLengthWoGap() const {
-    return _drop_out_length_wo_gap;
-  }
-  
-  int GetDropOutLengthWGap() const {
-    return _drop_out_length_w_gap;
-  }
-
-  int GetOutputStyle() const {
-    return _output_style;
-  }
-
-  int GetMinHelixLength() const {
-    return _min_helix_length;
-  }
-
-  void SetHashSize(int a) {
-    _hash_size = a;
-  }
-
-  void SetRepeatFlag(int a){
-    _repeat_flag = a;
-  }
-
-  void SetMaximalSpan(int a) {
-    _maximal_span = a;
-  }
-
-  void SetMinAccessibleLength(int a) {
-    _min_accessible_length = a;
-  }
-};
-
-#endif
diff --git a/Archive/RIblast-master/sais.c b/Archive/RIblast-master/sais.c
deleted file mode 100644
index 51fc52a3b6b2a9bf29900fa6521f33c37917c072..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/sais.c
+++ /dev/null
@@ -1,533 +0,0 @@
-/*
- * sais.c for sais-lite
- * Copyright (c) 2008-2010 Yuta Mori All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include "sais.h"
-
-#ifndef UCHAR_SIZE
-# define UCHAR_SIZE 256
-#endif
-#ifndef MINBUCKETSIZE
-# define MINBUCKETSIZE 256
-#endif
-
-#define sais_index_type int
-#define sais_bool_type  int
-#define SAIS_LMSSORT2_LIMIT 0x3fffffff
-
-#define SAIS_MYMALLOC(_num, _type) ((_type *)malloc((_num) * sizeof(_type)))
-#define SAIS_MYFREE(_ptr, _num, _type) free((_ptr))
-#define chr(_a) (cs == sizeof(sais_index_type) ? ((sais_index_type *)T)[(_a)] : ((unsigned char *)T)[(_a)])
-
-/* find the start or end of each bucket */
-static
-void
-getCounts(const void *T, sais_index_type *C, sais_index_type n, sais_index_type k, int cs) {
-  sais_index_type i;
-  for(i = 0; i < k; ++i) { C[i] = 0; }
-  for(i = 0; i < n; ++i) { ++C[chr(i)]; }
-}
-static
-void
-getBuckets(const sais_index_type *C, sais_index_type *B, sais_index_type k, sais_bool_type end) {
-  sais_index_type i, sum = 0;
-  if(end) { for(i = 0; i < k; ++i) { sum += C[i]; B[i] = sum; } }
-  else { for(i = 0; i < k; ++i) { sum += C[i]; B[i] = sum - C[i]; } }
-}
-
-/* sort all type LMS suffixes */
-static
-void
-LMSsort1(const void *T, sais_index_type *SA,
-         sais_index_type *C, sais_index_type *B,
-         sais_index_type n, sais_index_type k, int cs) {
-  sais_index_type *b, i, j;
-  sais_index_type c0, c1;
-
-  /* compute SAl */
-  if(C == B) { getCounts(T, C, n, k, cs); }
-  getBuckets(C, B, k, 0); /* find starts of buckets */
-  j = n - 1;
-  b = SA + B[c1 = chr(j)];
-  --j;
-  *b++ = (chr(j) < c1) ? ~j : j;
-  for(i = 0; i < n; ++i) {
-    if(0 < (j = SA[i])) {
-      assert(chr(j) >= chr(j + 1));
-      if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert(i < (b - SA));
-      --j;
-      *b++ = (chr(j) < c1) ? ~j : j;
-      SA[i] = 0;
-    } else if(j < 0) {
-      SA[i] = ~j;
-    }
-  }
-  /* compute SAs */
-  if(C == B) { getCounts(T, C, n, k, cs); }
-  getBuckets(C, B, k, 1); /* find ends of buckets */
-  for(i = n - 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
-    if(0 < (j = SA[i])) {
-      assert(chr(j) <= chr(j + 1));
-      if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert((b - SA) <= i);
-      --j;
-      *--b = (chr(j) > c1) ? ~(j + 1) : j;
-      SA[i] = 0;
-    }
-  }
-}
-static
-sais_index_type
-LMSpostproc1(const void *T, sais_index_type *SA,
-             sais_index_type n, sais_index_type m, int cs) {
-  sais_index_type i, j, p, q, plen, qlen, name;
-  sais_index_type c0, c1;
-  sais_bool_type diff;
-
-  /* compact all the sorted substrings into the first m items of SA
-      2*m must be not larger than n (proveable) */
-  assert(0 < n);
-  for(i = 0; (p = SA[i]) < 0; ++i) { SA[i] = ~p; assert((i + 1) < n); }
-  if(i < m) {
-    for(j = i, ++i;; ++i) {
-      assert(i < n);
-      if((p = SA[i]) < 0) {
-        SA[j++] = ~p; SA[i] = 0;
-        if(j == m) { break; }
-      }
-    }
-  }
-
-  /* store the length of all substrings */
-  i = n - 1; j = n - 1; c0 = chr(n - 1);
-  do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
-  for(; 0 <= i;) {
-    do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) <= c1));
-    if(0 <= i) {
-      SA[m + ((i + 1) >> 1)] = j - i; j = i + 1;
-      do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
-    }
-  }
-
-  /* find the lexicographic names of all substrings */
-  for(i = 0, name = 0, q = n, qlen = 0; i < m; ++i) {
-    p = SA[i], plen = SA[m + (p >> 1)], diff = 1;
-    if((plen == qlen) && ((q + plen) < n)) {
-      for(j = 0; (j < plen) && (chr(p + j) == chr(q + j)); ++j) { }
-      if(j == plen) { diff = 0; }
-    }
-    if(diff != 0) { ++name, q = p, qlen = plen; }
-    SA[m + (p >> 1)] = name;
-  }
-
-  return name;
-}
-static
-void
-LMSsort2(const void *T, sais_index_type *SA,
-         sais_index_type *C, sais_index_type *B, sais_index_type *D,
-         sais_index_type n, sais_index_type k, int cs) {
-  sais_index_type *b, i, j, t, d;
-  sais_index_type c0, c1;
-  assert(C != B);
-
-  /* compute SAl */
-  getBuckets(C, B, k, 0); /* find starts of buckets */
-  j = n - 1;
-  b = SA + B[c1 = chr(j)];
-  --j;
-  t = (chr(j) < c1);
-  j += n;
-  *b++ = (t & 1) ? ~j : j;
-  for(i = 0, d = 0; i < n; ++i) {
-    if(0 < (j = SA[i])) {
-      if(n <= j) { d += 1; j -= n; }
-      assert(chr(j) >= chr(j + 1));
-      if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert(i < (b - SA));
-      --j;
-      t = c0; t = (t << 1) | (chr(j) < c1);
-      if(D[t] != d) { j += n; D[t] = d; }
-      *b++ = (t & 1) ? ~j : j;
-      SA[i] = 0;
-    } else if(j < 0) {
-      SA[i] = ~j;
-    }
-  }
-  for(i = n - 1; 0 <= i; --i) {
-    if(0 < SA[i]) {
-      if(SA[i] < n) {
-        SA[i] += n;
-        for(j = i - 1; SA[j] < n; --j) { }
-        SA[j] -= n;
-        i = j;
-      }
-    }
-  }
-
-  /* compute SAs */
-  getBuckets(C, B, k, 1); /* find ends of buckets */
-  for(i = n - 1, d += 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
-    if(0 < (j = SA[i])) {
-      if(n <= j) { d += 1; j -= n; }
-      assert(chr(j) <= chr(j + 1));
-      if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert((b - SA) <= i);
-      --j;
-      t = c0; t = (t << 1) | (chr(j) > c1);
-      if(D[t] != d) { j += n; D[t] = d; }
-      *--b = (t & 1) ? ~(j + 1) : j;
-      SA[i] = 0;
-    }
-  }
-}
-static
-sais_index_type
-LMSpostproc2(sais_index_type *SA, sais_index_type n, sais_index_type m) {
-  sais_index_type i, j, d, name;
-
-  /* compact all the sorted LMS substrings into the first m items of SA */
-  assert(0 < n);
-  for(i = 0, name = 0; (j = SA[i]) < 0; ++i) {
-    j = ~j;
-    if(n <= j) { name += 1; }
-    SA[i] = j;
-    assert((i + 1) < n);
-  }
-  if(i < m) {
-    for(d = i, ++i;; ++i) {
-      assert(i < n);
-      if((j = SA[i]) < 0) {
-        j = ~j;
-        if(n <= j) { name += 1; }
-        SA[d++] = j; SA[i] = 0;
-        if(d == m) { break; }
-      }
-    }
-  }
-  if(name < m) {
-    /* store the lexicographic names */
-    for(i = m - 1, d = name + 1; 0 <= i; --i) {
-      if(n <= (j = SA[i])) { j -= n; --d; }
-      SA[m + (j >> 1)] = d;
-    }
-  } else {
-    /* unset flags */
-    for(i = 0; i < m; ++i) {
-      if(n <= (j = SA[i])) { j -= n; SA[i] = j; }
-    }
-  }
-
-  return name;
-}
-
-/* compute SA and BWT */
-static
-void
-induceSA(const void *T, sais_index_type *SA,
-         sais_index_type *C, sais_index_type *B,
-         sais_index_type n, sais_index_type k, int cs) {
-  sais_index_type *b, i, j;
-  sais_index_type c0, c1;
-  /* compute SAl */
-  if(C == B) { getCounts(T, C, n, k, cs); }
-  getBuckets(C, B, k, 0); /* find starts of buckets */
-  j = n - 1;
-  b = SA + B[c1 = chr(j)];
-  *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
-  for(i = 0; i < n; ++i) {
-    j = SA[i], SA[i] = ~j;
-    if(0 < j) {
-      --j;
-      assert(chr(j) >= chr(j + 1));
-      if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert(i < (b - SA));
-      *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
-    }
-  }
-  /* compute SAs */
-  if(C == B) { getCounts(T, C, n, k, cs); }
-  getBuckets(C, B, k, 1); /* find ends of buckets */
-  for(i = n - 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
-    if(0 < (j = SA[i])) {
-      --j;
-      assert(chr(j) <= chr(j + 1));
-      if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert((b - SA) <= i);
-      *--b = ((j == 0) || (chr(j - 1) > c1)) ? ~j : j;
-    } else {
-      SA[i] = ~j;
-    }
-  }
-}
-static
-sais_index_type
-computeBWT(const void *T, sais_index_type *SA,
-           sais_index_type *C, sais_index_type *B,
-           sais_index_type n, sais_index_type k, int cs) {
-  sais_index_type *b, i, j, pidx = -1;
-  sais_index_type c0, c1;
-  /* compute SAl */
-  if(C == B) { getCounts(T, C, n, k, cs); }
-  getBuckets(C, B, k, 0); /* find starts of buckets */
-  j = n - 1;
-  b = SA + B[c1 = chr(j)];
-  *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
-  for(i = 0; i < n; ++i) {
-    if(0 < (j = SA[i])) {
-      --j;
-      assert(chr(j) >= chr(j + 1));
-      SA[i] = ~((sais_index_type)(c0 = chr(j)));
-      if(c0 != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert(i < (b - SA));
-      *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
-    } else if(j != 0) {
-      SA[i] = ~j;
-    }
-  }
-  /* compute SAs */
-  if(C == B) { getCounts(T, C, n, k, cs); }
-  getBuckets(C, B, k, 1); /* find ends of buckets */
-  for(i = n - 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
-    if(0 < (j = SA[i])) {
-      --j;
-      assert(chr(j) <= chr(j + 1));
-      SA[i] = (c0 = chr(j));
-      if(c0 != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
-      assert((b - SA) <= i);
-      *--b = ((0 < j) && (chr(j - 1) > c1)) ? ~((sais_index_type)chr(j - 1)) : j;
-    } else if(j != 0) {
-      SA[i] = ~j;
-    } else {
-      pidx = i;
-    }
-  }
-  return pidx;
-}
-
-/* find the suffix array SA of T[0..n-1] in {0..255}^n */
-static
-sais_index_type
-sais_main(const void *T, sais_index_type *SA,
-          sais_index_type fs, sais_index_type n, sais_index_type k, int cs,
-          sais_bool_type isbwt) {
-  sais_index_type *C, *B, *D, *RA, *b;
-  sais_index_type i, j, m, p, q, t, name, pidx = 0, newfs;
-  sais_index_type c0, c1;
-  unsigned int flags;
-
-  assert((T != NULL) && (SA != NULL));
-  assert((0 <= fs) && (0 < n) && (1 <= k));
-
-  if(k <= MINBUCKETSIZE) {
-    if((C = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { return -2; }
-    if(k <= fs) {
-      B = SA + (n + fs - k);
-      flags = 1;
-    } else {
-      if((B = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { SAIS_MYFREE(C, k, sais_index_type); return -2; }
-      flags = 3;
-    }
-  } else if(k <= fs) {
-    C = SA + (n + fs - k);
-    if(k <= (fs - k)) {
-      B = C - k;
-      flags = 0;
-    } else if(k <= (MINBUCKETSIZE * 4)) {
-      if((B = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { return -2; }
-      flags = 2;
-    } else {
-      B = C;
-      flags = 8;
-    }
-  } else {
-    if((C = B = SAIS_MYMALLOC(k, sais_index_type)) == NULL) { return -2; }
-    flags = 4 | 8;
-  }
-  if((n <= SAIS_LMSSORT2_LIMIT) && (2 <= (n / k))) {
-    if(flags & 1) { flags |= ((k * 2) <= (fs - k)) ? 32 : 16; }
-    else if((flags == 0) && ((k * 2) <= (fs - k * 2))) { flags |= 32; }
-  }
-
-  /* stage 1: reduce the problem by at least 1/2
-     sort all the LMS-substrings */
-  getCounts(T, C, n, k, cs); getBuckets(C, B, k, 1); /* find ends of buckets */
-  for(i = 0; i < n; ++i) { SA[i] = 0; }
-  b = &t; i = n - 1; j = n; m = 0; c0 = chr(n - 1);
-  do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
-  for(; 0 <= i;) {
-    do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) <= c1));
-    if(0 <= i) {
-      *b = j; b = SA + --B[c1]; j = i; ++m;
-      do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
-    }
-  }
-
-  if(1 < m) {
-    if(flags & (16 | 32)) {
-      if(flags & 16) {
-        if((D = SAIS_MYMALLOC(k * 2, sais_index_type)) == NULL) {
-          if(flags & (1 | 4)) { SAIS_MYFREE(C, k, sais_index_type); }
-          if(flags & 2) { SAIS_MYFREE(B, k, sais_index_type); }
-          return -2;
-        }
-      } else {
-        D = B - k * 2;
-      }
-      assert((j + 1) < n);
-      ++B[chr(j + 1)];
-      for(i = 0, j = 0; i < k; ++i) {
-        j += C[i];
-        if(B[i] != j) { assert(SA[B[i]] != 0); SA[B[i]] += n; }
-        D[i] = D[i + k] = 0;
-      }
-      LMSsort2(T, SA, C, B, D, n, k, cs);
-      name = LMSpostproc2(SA, n, m);
-      if(flags & 16) { SAIS_MYFREE(D, k * 2, sais_index_type); }
-    } else {
-      LMSsort1(T, SA, C, B, n, k, cs);
-      name = LMSpostproc1(T, SA, n, m, cs);
-    }
-  } else if(m == 1) {
-    *b = j + 1;
-    name = 1;
-  } else {
-    name = 0;
-  }
-
-  /* stage 2: solve the reduced problem
-     recurse if names are not yet unique */
-  if(name < m) {
-    if(flags & 4) { SAIS_MYFREE(C, k, sais_index_type); }
-    if(flags & 2) { SAIS_MYFREE(B, k, sais_index_type); }
-    newfs = (n + fs) - (m * 2);
-    if((flags & (1 | 4 | 8)) == 0) {
-      if((k + name) <= newfs) { newfs -= k; }
-      else { flags |= 8; }
-    }
-    assert((n >> 1) <= (newfs + m));
-    RA = SA + m + newfs;
-    for(i = m + (n >> 1) - 1, j = m - 1; m <= i; --i) {
-      if(SA[i] != 0) {
-        RA[j--] = SA[i] - 1;
-      }
-    }
-    if(sais_main(RA, SA, newfs, m, name, sizeof(sais_index_type), 0) != 0) {
-      if(flags & 1) { SAIS_MYFREE(C, k, sais_index_type); }
-      return -2;
-    }
-
-    i = n - 1; j = m - 1; c0 = chr(n - 1);
-    do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
-    for(; 0 <= i;) {
-      do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) <= c1));
-      if(0 <= i) {
-        RA[j--] = i + 1;
-        do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
-      }
-    }
-    for(i = 0; i < m; ++i) { SA[i] = RA[SA[i]]; }
-    if(flags & 4) {
-      if((C = B = SAIS_MYMALLOC(k, int)) == NULL) { return -2; }
-    }
-    if(flags & 2) {
-      if((B = SAIS_MYMALLOC(k, int)) == NULL) {
-        if(flags & 1) { SAIS_MYFREE(C, k, sais_index_type); }
-        return -2;
-      }
-    }
-  }
-
-  /* stage 3: induce the result for the original problem */
-  if(flags & 8) { getCounts(T, C, n, k, cs); }
-  /* put all left-most S characters into their buckets */
-  if(1 < m) {
-    getBuckets(C, B, k, 1); /* find ends of buckets */
-    i = m - 1, j = n, p = SA[m - 1], c1 = chr(p);
-    do {
-      q = B[c0 = c1];
-      while(q < j) { SA[--j] = 0; }
-      do {
-        SA[--j] = p;
-        if(--i < 0) { break; }
-        p = SA[i];
-      } while((c1 = chr(p)) == c0);
-    } while(0 <= i);
-    while(0 < j) { SA[--j] = 0; }
-  }
-  if(isbwt == 0) { induceSA(T, SA, C, B, n, k, cs); }
-  else { pidx = computeBWT(T, SA, C, B, n, k, cs); }
-  if(flags & (1 | 4)) { SAIS_MYFREE(C, k, sais_index_type); }
-  if(flags & 2) { SAIS_MYFREE(B, k, sais_index_type); }
-
-  return pidx;
-}
-
-/*---------------------------------------------------------------------------*/
-
-int
-sais(const unsigned char *T, int *SA, int n) {
-  if((T == NULL) || (SA == NULL) || (n < 0)) { return -1; }
-  if(n <= 1) { if(n == 1) { SA[0] = 0; } return 0; }
-  return sais_main(T, SA, 0, n, UCHAR_SIZE, sizeof(unsigned char), 0);
-}
-
-int
-sais_int(const int *T, int *SA, int n, int k) {
-  if((T == NULL) || (SA == NULL) || (n < 0) || (k <= 0)) { return -1; }
-  if(n <= 1) { if(n == 1) { SA[0] = 0; } return 0; }
-  return sais_main(T, SA, 0, n, k, sizeof(int), 0);
-}
-
-int
-sais_bwt(const unsigned char *T, unsigned char *U, int *A, int n) {
-  int i, pidx;
-  if((T == NULL) || (U == NULL) || (A == NULL) || (n < 0)) { return -1; }
-  if(n <= 1) { if(n == 1) { U[0] = T[0]; } return n; }
-  pidx = sais_main(T, A, 0, n, UCHAR_SIZE, sizeof(unsigned char), 1);
-  if(pidx < 0) { return pidx; }
-  U[0] = T[n - 1];
-  for(i = 0; i < pidx; ++i) { U[i + 1] = (unsigned char)A[i]; }
-  for(i += 1; i < n; ++i) { U[i] = (unsigned char)A[i]; }
-  pidx += 1;
-  return pidx;
-}
-
-int
-sais_int_bwt(const int *T, int *U, int *A, int n, int k) {
-  int i, pidx;
-  if((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) || (k <= 0)) { return -1; }
-  if(n <= 1) { if(n == 1) { U[0] = T[0]; } return n; }
-  pidx = sais_main(T, A, 0, n, k, sizeof(int), 1);
-  if(pidx < 0) { return pidx; }
-  U[0] = T[n - 1];
-  for(i = 0; i < pidx; ++i) { U[i + 1] = A[i]; }
-  for(i += 1; i < n; ++i) { U[i] = A[i]; }
-  pidx += 1;
-  return pidx;
-}
diff --git a/Archive/RIblast-master/sais.h b/Archive/RIblast-master/sais.h
deleted file mode 100644
index 11f9888abac65e9f442d64d0f82d47f1196ba534..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/sais.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * sais.h for sais-lite
- * Copyright (c) 2008-2010 Yuta Mori All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _SAIS_H
-#define _SAIS_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* find the suffix array SA of T[0..n-1]
-   use a working space (excluding T and SA) of at most 2n+O(lg n) */
-int
-sais(const unsigned char *T, int *SA, int n);
-
-/* find the suffix array SA of T[0..n-1] in {0..k-1}^n
-   use a working space (excluding T and SA) of at most MAX(4k,2n) */
-int
-sais_int(const int *T, int *SA, int n, int k);
-
-/* burrows-wheeler transform */
-int
-sais_bwt(const unsigned char *T, unsigned char *U, int *A, int n);
-int
-sais_int_bwt(const int *T, int *U, int *A, int n, int k);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* __cplusplus */
-
-#endif /* _SAIS_H */
diff --git a/Archive/RIblast-master/seed_search.cpp b/Archive/RIblast-master/seed_search.cpp
deleted file mode 100644
index e159fcd9d7b1a3f3198c76f51624b0f39df914ce..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/seed_search.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * seed_search.cpp
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/11/21
- *         Author: Tsukasa Fukunaga
- */
-
-#include "seed_search.h"
-#include <math.h>
-#include <iostream>
-          
-void SeedSearch::Run(vector<unsigned char> &query_seq, vector<int> &query_suffix_array, vector<unsigned char> &db_seq, vector<int> &db_suffix_array,  vector<vector<int> > &start_hash,  vector<vector<int> > &end_hash){
-  vector<int> db_seed; db_seed.reserve(_max_seed_length);
-  vector<int> q_seed; q_seed.reserve(_max_seed_length);
-  
-  SeedSearchCore(query_seq, query_suffix_array, db_seq, db_suffix_array, start_hash, end_hash, db_seed, q_seed, 0, query_suffix_array.size()-1, 0, db_suffix_array.size()-1, 0.0, 0);
-  return;
-}
-
-void SeedSearch::CalcInteractionEnergy(vector<Hit> &hit_result, vector<int> &query_suffix_array, vector<int> &db_suffix_array, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility, vector<int> &db_seq_length, vector<int> &db_seq_start_position){
-  for(int i = 0;i < _hit_candidate_result.size(); i++){
-    int sp_q_sa = _hit_candidate_result[i].GetSpQSa();
-    int ep_q_sa = _hit_candidate_result[i].GetEpQSa();
-    int sp_db_sa = _hit_candidate_result[i].GetSpDbSa();
-    int ep_db_sa = _hit_candidate_result[i].GetEpDbSa();
-    int length = _hit_candidate_result[i].GetLength();
-    double temp_score = _hit_candidate_result[i].GetEnergy();
-
-    vector<int> q_sp_vector; q_sp_vector.reserve(10000);
-    vector<double> qa_vector; qa_vector.reserve(10000);
-    for(int j = sp_q_sa; j <=ep_q_sa ; j++){
-      q_sp_vector.push_back(query_suffix_array[j]);
-      qa_vector.push_back(CalcAccessibility(query_accessibility, query_conditional_accessibility, query_suffix_array[j], length));
-    }
-
-    for(int k = sp_db_sa; k <=ep_db_sa ; k++){
-      int db_sp = db_suffix_array[k];
-      int dbseq_start = 0; int dbseq_id = 0;
-      GetSeqIdAndStart(db_seq_length, db_seq_start_position, &dbseq_id, &dbseq_start, db_sp, length);
-      double dba = CalcAccessibility(db_accessibility[dbseq_id], db_conditional_accessibility[dbseq_id], dbseq_start, length);
-      
-      for(int j = sp_q_sa; j <= ep_q_sa; j++){
-	double interaction_energy = qa_vector[j-sp_q_sa] + dba + temp_score;
-	
-	if(interaction_energy < 0){
-	  Hit temp_hit( q_sp_vector[j-sp_q_sa], db_sp, length, qa_vector[j-sp_q_sa] + dba, temp_score);
-	  temp_hit.SetDbSeqId(dbseq_id);
-	  temp_hit.SetDbSeqIdStart(dbseq_start);
-	  try{
-	    hit_result.push_back(temp_hit);
-	  }catch(bad_alloc){
-	    cerr << "The memory capacity is too small to run RIblast for this dataset" << endl;  
-	    exit(1);
-	  }
-	}
-      }
-    } 
-  }
-  return;
-}
-
-void SeedSearch::GetSeqIdAndStart(vector<int> &db_seq_length, vector<int> &db_seq_start_position, int* seq_id, int* start, int sp, int length){
-  int s = 0;
-  int e = db_seq_start_position.size()-1;
-  int m = (s+e)/2;
-
-  while(true){
-    if(e-s == 0){
-      *seq_id  = s; *start = db_seq_length[s] - (sp - db_seq_start_position[s]) - length;
-      break;
-    }else if(e-s==1){
-      if(sp >= db_seq_start_position[s] && sp < db_seq_start_position[s+1]){
-	*seq_id  = s; *start = db_seq_length[s] - (sp - db_seq_start_position[s]) - length;
-	break;
-      }else{
-	*seq_id  = e; *start = db_seq_length[e] - (sp - db_seq_start_position[e]) - length;
-	break;
-      }
-    }else{    
-      if(sp >= db_seq_start_position[m] && sp < db_seq_start_position[m+1]){
-	*seq_id  = m;
-	*start = db_seq_length[m] - (sp - db_seq_start_position[m]) - length;
-	break;
-      }else{
-	if(sp >= db_seq_start_position[m]){
-	  s = m;
-	  m = (s+e)/2;
-	}else{
-	  e = m;
-	  m = (s+e)/2;
-	}
-      }
-    }
-  }
-  
-  return;
-}
-
-double SeedSearch::CalcAccessibility(vector<float> &accessibility, vector<float> &conditional_accessibility, int sp, int length){
-  double temp = accessibility[sp];
-  for(int i =_min_accessible_length; i < length; i++){
-    temp += conditional_accessibility[sp+i];
-  }
-  return(temp);
-}
-
-void SeedSearch::SeedSearchCore(vector<unsigned char> &query_seq, vector<int> &query_suffix_array, vector<unsigned char> &db_seq, vector<int> &db_suffix_array,  vector<vector<int> > &start_hash,  vector<vector<int> > &end_hash, vector<int> &db_seed, vector<int> &q_seed, int sp_q, int ep_q, int sp_db, int ep_db, double score, int length){
-
-  if(length < _max_seed_length){
-    vector<int> sp_q_result; sp_q_result.reserve(_pair_size);
-    vector<int> ep_q_result; ep_q_result.reserve(_pair_size);
-    vector<int> sp_db_result; sp_db_result.reserve(_pair_size);
-    vector<int> ep_db_result; ep_db_result.reserve(_pair_size);
-
-    for(int i = 0; i< _pair_size; i++){
-      int start = sp_q;
-      int end = ep_q;
-      int nucleotide_size = 4;
-      SeedSearchNextCharacter(query_seq, query_suffix_array, &start, &end, _stem_pair[i][0], length);
-      sp_q_result.push_back(start);
-      ep_q_result.push_back(end);
-      start = sp_db;
-      end = ep_db;
-      if(length+1 > _hash_size){
-	SeedSearchNextCharacter(db_seq, db_suffix_array, &start, &end, _stem_pair[i][1], length);
-      }else{
-	int temp = _stem_pair[i][1]-2;
-	for(int j = 0; j <length;j++){
-	  temp += (int)pow(nucleotide_size,length-j) * (db_seed[j] - 2);
-	}
-	start = start_hash[length][temp];
-	end = end_hash[length][temp];
-      }
-      sp_db_result.push_back(start);
-      ep_db_result.push_back(end);
-    }
-    
-    for(int i = 0; i< _pair_size; i++){
-      if(sp_q_result[i] <= ep_q_result[i] && sp_db_result[i] <= ep_db_result[i]){
-	double temp_score = 0.0;
-	
-	if(length > 0){
-	  int type = BP_pair[q_seed[length-1]-1][db_seed[length-1]-1];
-	  int type2 = BP_pair[_stem_pair[i][0]-1][_stem_pair[i][1]-1];
-	  type2 = rtype[type2];
-	  temp_score = score + ((double)stack37[type][type2])/100;
-	}
-	
-	if(temp_score < _hybrid_energy_threshold && length+1 >= _min_accessible_length){
-	  Hit_candidate temp_hit_candidate(sp_q_result[i], ep_q_result[i], sp_db_result[i], ep_db_result[i], length+1, temp_score);
-	  _hit_candidate_result.push_back(temp_hit_candidate);
-	}else{
-	  q_seed.push_back(_stem_pair[i][0]);
-	  db_seed.push_back(_stem_pair[i][1]);
-	  SeedSearchCore(query_seq, query_suffix_array, db_seq, db_suffix_array, start_hash, end_hash, db_seed, q_seed, sp_q_result[i], ep_q_result[i], sp_db_result[i], ep_db_result[i], temp_score, length+1);
-	}
-      }
-    }
-  }
-  q_seed.pop_back();
-  db_seed.pop_back();
-  return;
-}
-
-void SeedSearch::SeedSearchNextCharacter(vector<unsigned char> &encoded_sequences, vector<int> &suffix_array, int* start, int* end, unsigned char c, int offset){
-  int s = *start;
-  int e = *end;
-  int m;
-
-  if (suffix_array[s] + offset >= encoded_sequences.size()) {
-    ++(*start);
-  }
-  
-  if(s>e){
-    *start = 1;
-    *end = 0;
-    return;
-  }else if (s == e) {
-    if (encoded_sequences[suffix_array[s]+offset] == c) {
-      return;
-    } else {
-      *start = 1;
-      *end = 0;
-      return;
-    }
-  }
-  
-  if (encoded_sequences[suffix_array[s]+offset] != c) {
-    while (s < e - 1) {
-      m = (s + e) / 2;
-      if (encoded_sequences[suffix_array[m]+offset] < c) {
-        s = m;
-      } else {
-        e = m;
-      }
-    }
-    if (encoded_sequences[suffix_array[e]+offset] != c) {
-      *start = 1;
-      *end = 0;
-      return;
-    }
-    *start = e;
-    s = e;
-    e = *end;
-  }
-
-  if (encoded_sequences[suffix_array[e]+offset] != c) {
-    while (s < e - 1) {
-      m = (s + e) / 2;
-      if (encoded_sequences[suffix_array[m]+offset] > c) {
-        e = m;
-      } else {
-        s = m;
-      }
-    }
-    if (encoded_sequences[suffix_array[s]+offset] != c) {
-      *start = 1;
-      *end = 0;
-      return;
-    }
-    *end = s;
-  }
-  return;
-}
diff --git a/Archive/RIblast-master/seed_search.h b/Archive/RIblast-master/seed_search.h
deleted file mode 100644
index e686d5152b47badc8ea169c39e66cb0872ba1f2c..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/seed_search.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  seed_search.h
- *
- *     Created on: 2016/8/31
- *  Last modified: 2016/11/21
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef SEED_SEARCH_H
-#define SEED_SEARCH_H
-
-#include <vector>
-#include "energy_par.h"
-#include "hit.h"
-
-using namespace std;
-
-class SeedSearch {
- public:
-  SeedSearch(int h, int l, int mal, double he){
-    _max_seed_length = l;
-    _pair_size = 6;
-    _hash_size = h;
-    _min_accessible_length = mal;
-    _hybrid_energy_threshold = he;
-    
-    _stem_pair.resize(_pair_size);
-    _stem_pair[0].push_back(3); _stem_pair[0].push_back(4);
-    _stem_pair[1].push_back(4); _stem_pair[1].push_back(3);
-    _stem_pair[2].push_back(4); _stem_pair[2].push_back(5);
-    _stem_pair[3].push_back(5); _stem_pair[3].push_back(4);
-    _stem_pair[4].push_back(2); _stem_pair[4].push_back(5);
-    _stem_pair[5].push_back(5); _stem_pair[5].push_back(2);
-    _hit_candidate_result.reserve(5000);
-  }
-  void Run(vector<unsigned char> &query_seq, vector<int> &query_suffix_array, vector<unsigned char> &db_seq, vector<int> &db_suffix_array,  vector<vector<int> > &_start_hash,  vector<vector<int> > &_end_hash);
-  void CalcInteractionEnergy(vector<Hit> &hit_result, vector<int> &query_suffix_array, vector<int> &db_suffix_array, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility, vector<int> &_db_seq_length, vector<int> &_db_seq_start_position);
-  
- private:
-  vector<vector<int> > _stem_pair;
-  int _pair_size;
-  int _max_seed_length;
-  int _hash_size;
-  int _min_accessible_length;
-  double _hybrid_energy_threshold;
-  vector<Hit_candidate> _hit_candidate_result;
-
-  void GetSeqIdAndStart(vector<int> &db_seq_length, vector<int> &db_seq_start_position, int* seq_id, int* start, int sp, int length);
-  void SeedSearchCore(vector<unsigned char> &query_seq, vector<int> &query_suffix_array, vector<unsigned char> &db_seq, vector<int> &db_suffix_array,  vector<vector<int> > &_start_hash,  vector<vector<int> > &_end_hash,vector<int> &db_seed, vector<int> &q_seed, int sp_q, int ep_q, int sp_db, int ep_db, double score, int length);
-  void SeedSearchNextCharacter(vector<unsigned char> &encoded_sequences, vector<int> &suffix_array, int* start, int* end, unsigned char c, int offset);
-  double CalcAccessibility(vector<float> &accessibility, vector<float> &conditional_accessibility, int sp, int length);
-};
-
-#endif
diff --git a/Archive/RIblast-master/test_db.acc b/Archive/RIblast-master/test_db.acc
deleted file mode 100644
index 4909e6ac4686fba8e6732ff7ffba1a90605df64a..0000000000000000000000000000000000000000
Binary files a/Archive/RIblast-master/test_db.acc and /dev/null differ
diff --git a/Archive/RIblast-master/test_db.bas b/Archive/RIblast-master/test_db.bas
deleted file mode 100644
index e7abaf6542d3419827c4a718898430ecbc59ed5c..0000000000000000000000000000000000000000
Binary files a/Archive/RIblast-master/test_db.bas and /dev/null differ
diff --git a/Archive/RIblast-master/test_db.ind b/Archive/RIblast-master/test_db.ind
deleted file mode 100644
index 813ebe2be419a207f97a164d10a2260638c3c786..0000000000000000000000000000000000000000
Binary files a/Archive/RIblast-master/test_db.ind and /dev/null differ
diff --git a/Archive/RIblast-master/test_db.nam b/Archive/RIblast-master/test_db.nam
deleted file mode 100644
index 9e76767ff54ff337c954bb595701e2087e314ac7..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/test_db.nam
+++ /dev/null
@@ -1,2 +0,0 @@
-Transcript_1
-Transcript_2
diff --git a/Archive/RIblast-master/test_db.seq b/Archive/RIblast-master/test_db.seq
deleted file mode 100644
index 9f0671a422b82120088e7c8607dbe524dcb5bcd6..0000000000000000000000000000000000000000
Binary files a/Archive/RIblast-master/test_db.seq and /dev/null differ
diff --git a/Archive/RIblast-master/ungapped_extension.cpp b/Archive/RIblast-master/ungapped_extension.cpp
deleted file mode 100644
index 3ddeeb779cfc353c15e189be651dd61ff1a2f4dc..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/ungapped_extension.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * ungapped_extension.cpp
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#include "ungapped_extension.h"
-#include "energy_par.h"
-#include "intloops.h"
-#include <iostream>
-
-
-void UngappedExtension::Run(vector<Hit> &candidate, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility){
-  for(int x = 0; x < candidate.size(); x++){
-    double min_energy = candidate[x].GetEnergy();
-    double energy = candidate[x].GetEnergy();
-    double min_a_energy = candidate[x].GetAccessibilityEnergy();
-    double a_energy = candidate[x].GetAccessibilityEnergy();
-    double min_h_energy = candidate[x].GetHybridizationEnergy();
-    double h_energy = candidate[x].GetHybridizationEnergy();
-    
-    int i = candidate[x].GetQSp(); int p = candidate[x].GetQSp();
-    int j = candidate[x].GetDbSp(); int q = candidate[x].GetDbSp();
-    int min_p = p; int min_q = q;
-    int db_seq_id = candidate[x].GetDbSeqId();
-    int db_seq_id_start = candidate[x].GetDbSeqIdStart(); int db_seq_id_end = db_seq_id_start + candidate[x].GetDbLength()-1;
-    int min_db_seq_id_start = db_seq_id_start;
-    while(true){
-      i--; j--;
-      db_seq_id_end++;
-      if(i < 0 || j < 0 || query_seq[i] < 2 || db_seq[j] < 2){
-	break;
-      }
-      double temp_accessibility = query_accessibility[i] - query_accessibility[i+1]
-					  + query_conditional_accessibility[i+_min_accessible_length]
-					  + db_conditional_accessibility[db_seq_id][db_seq_id_end];
-      energy += temp_accessibility;
-      a_energy += temp_accessibility;
-      
-      int q_char = query_seq[i] <=5 ? query_seq[i]-1 : query_seq[i]-5;
-      int db_char = db_seq[j] <=5 ? db_seq[j]-1 : db_seq[j]-5;
-      int type = BP_pair[q_char][db_char];
-      if(type!=0){
-	int q_char2 = query_seq[p] <=5 ? query_seq[p]-1 : query_seq[p]-5;
-	int db_char2 = db_seq[q] <=5 ? db_seq[q]-1 : db_seq[q]-5;
-	int type2 = BP_pair[q_char2][db_char2];
-	type2 = rtype[type2];
-	energy += LoopEnergy(type, type2, i, j, p, q, query_seq, db_seq);
-	h_energy += LoopEnergy(type, type2, i, j, p, q, query_seq, db_seq);
-	if(energy < min_energy){
-	  min_energy = energy;
-	  min_a_energy = a_energy;
-	  min_h_energy = h_energy;
-	  min_p = i;
-	  min_q = j;
-	}
-	
-	p = i;
-	q = j;
-      }
-      
-      if(min_p-i >= _drop_out_score){
-	break;
-      }
-    }
-
-    energy = min_energy;
-    a_energy = min_a_energy;
-    h_energy = min_h_energy;
-    int k = candidate[x].GetQSp() + candidate[x].GetQLength()-1; int r = candidate[x].GetQSp() + candidate[x].GetQLength()-1;
-    int l = candidate[x].GetDbSp() + candidate[x].GetQLength()-1; int s = candidate[x].GetDbSp() + candidate[x].GetQLength()-1;
-    int min_r = r; int min_s = s;
-    
-    while(true){
-      k++; l++;
-      db_seq_id_start--;
-      if(query_seq[k] < 2 || db_seq[l] < 2){
-	break;
-      }
-      double temp_accessibility = query_conditional_accessibility[k] + db_accessibility[db_seq_id][db_seq_id_start]
-			- db_accessibility[db_seq_id][db_seq_id_start+1]
-			+ db_conditional_accessibility[db_seq_id][db_seq_id_start+_min_accessible_length];
-      energy += temp_accessibility;
-      a_energy += temp_accessibility;
-      
-      int q_char2 = query_seq[k] <=5 ? query_seq[k]-1 : query_seq[k]-5;
-      int db_char2 = db_seq[l] <=5 ? db_seq[l]-1 : db_seq[l]-5;
-      int type2 = BP_pair[q_char2][db_char2];
-      type2 = rtype[type2];
-      if(type2!=0){
-	int q_char = query_seq[r] <=5 ? query_seq[r]-1 : query_seq[r]-5;
-	int db_char = db_seq[s] <=5 ? db_seq[s]-1 : db_seq[s]-5;
-	int type = BP_pair[q_char][db_char];
-	energy += LoopEnergy(type, type2, r, s, k, l, query_seq, db_seq);
-	h_energy += LoopEnergy(type, type2, r, s, k, l, query_seq, db_seq);
-	
-	if(energy < min_energy){
-	  min_energy = energy;
-	  min_a_energy = a_energy;
-	  min_h_energy = h_energy;
-	  min_r = k;
-	  min_s = l;
-	  min_db_seq_id_start = db_seq_id_start;
-	}
-	r = k;
-	s = l;
-      }
-      if(k-min_r >= _drop_out_score){
-	break;
-      }
-    }
-    candidate[x].SetDbSeqIdStart(min_db_seq_id_start);
-    candidate[x].SetQSp(min_p);
-    candidate[x].SetDbSp(min_q);
-    candidate[x].SetQLength(min_r-min_p+1);
-    candidate[x].SetDbLength(min_r-min_p+1);
-    candidate[x].SetEnergy(min_energy);
-    candidate[x].SetAccessibilityEnergy(min_a_energy);
-    candidate[x].SetHybridizationEnergy(min_h_energy);
-  }
-}
-
-double UngappedExtension::LoopEnergy(int type, int type2,int i,int j,int p,int q, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq){
-  double z = 0;
-  int u1 = p-i-1;
-  int u2 = q-j-1;
-  
-  if ((u1==0) && (u2==0)){
-    z = stack37[type][type2];
-  }else{
-    int a = query_seq[i+1] <=5 ? query_seq[i+1]-1 : query_seq[i+1]-5;
-    int b = db_seq[j+1] <=5 ? db_seq[j+1]-1 : db_seq[j+1]-5;
-    int c = query_seq[p-1] <=5 ? query_seq[p-1]-1 : query_seq[p-1]-5;
-    int d = db_seq[q-1] <=5 ? db_seq[q-1]-1 : db_seq[q-1]-5;
-    if (u1+u2==2) {
-      z = int11_37[type][type2][a][b];
-    }else if ((u1==1) && (u2==2)){
-      z = int21_37[type][type2][a][d][b];
-    }else if ((u1==2) && (u2==1)){
-      z = int21_37[type2][type][d][a][c];
-    }else if ((u1==2) && (u2==2)){
-    z = int22_37[type][type2][a][c][d][b];
-    }else{
-      z = internal_loop37[u1+u2]+mismatchI37[type][a][b]+mismatchI37[type2][d][c];
-    }
-  }
-  return double(z)/100;
-}
diff --git a/Archive/RIblast-master/ungapped_extension.h b/Archive/RIblast-master/ungapped_extension.h
deleted file mode 100644
index 4f5c36d825844da84b19c21d5377915637c82b7e..0000000000000000000000000000000000000000
--- a/Archive/RIblast-master/ungapped_extension.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * ungapped_extension.h
- *
- *  Created on: 2016/8/31
- *      Author: Tsukasa Fukunaga
- */
-
-#ifndef UNGAPPED_EXTENSION_H
-#define UNGAPPED_EXTENSION_H
-
-#include "hit.h"
-#include <vector>
-
-
-using namespace std;
-
-class UngappedExtension {
- public:
-  UngappedExtension(int a, int x){
-    _min_accessible_length = a;
-    _drop_out_score = x;
-  }
-  void Run(vector<Hit> &candidate, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq, vector<float> &query_accessibility, vector<float> &query_conditional_accessibility, vector<vector<float> > &db_accessibility,vector<vector<float> > &db_conditional_accessibility);
-
- private:
-  int _min_accessible_length;
-  int _drop_out_score;
-  double LoopEnergy(int type, int type2,int i,int j,int p,int q, vector<unsigned char> &query_seq, vector<unsigned char> &db_seq);
-};
-
-#endif
diff --git a/Archive/build/lib/primingsitepredictor/__init__.py b/Archive/build/lib/primingsitepredictor/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Archive/build/lib/primingsitepredictor/classmodule.py b/Archive/build/lib/primingsitepredictor/classmodule.py
deleted file mode 100644
index 31fea4fe786ce9d8d60988408892baff7c7ef519..0000000000000000000000000000000000000000
--- a/Archive/build/lib/primingsitepredictor/classmodule.py
+++ /dev/null
@@ -1,6 +0,0 @@
-class MyClass():
-    def __init__(self, name):
-        self.name = name
-
-    def say_name(self):
-        print('name is {}'.format(self.name))
diff --git a/Archive/build/lib/primingsitepredictor/cli.py b/Archive/build/lib/primingsitepredictor/cli.py
deleted file mode 100644
index cae6bb28680c368d8805d81cb42d22d31fda25dd..0000000000000000000000000000000000000000
--- a/Archive/build/lib/primingsitepredictor/cli.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Mon Nov 14 14:49:50 2022
-
-@author: baerma
-"""
-import argparse
-
-
-parser = argparse.ArgumentParser(description='Process some integers.')
-parser.add_argument('integers', metavar='N', type=int, nargs='+',
-                    help='an integer for the accumulator')
-parser.add_argument('--sum', dest='accumulate', action='store_const',
-                    const=sum, default=max,
-                    help='sum the integers (default: find the max)')
-
-args = parser.parse_args()
-print(args.accumulate(args.integers))
-
-
-
diff --git a/Archive/build/lib/primingsitepredictor/funcmodule.py b/Archive/build/lib/primingsitepredictor/funcmodule.py
deleted file mode 100644
index 180f0d4183e275265445ef6acf7b5d6b1d4e9e8b..0000000000000000000000000000000000000000
--- a/Archive/build/lib/primingsitepredictor/funcmodule.py
+++ /dev/null
@@ -1,3 +0,0 @@
-def my_function(text_to_display):
-    print('text from my_function :: {}'.format(text_to_display))
-
diff --git a/Archive/build/lib/primingsitepredictor/main.py b/Archive/build/lib/primingsitepredictor/main.py
deleted file mode 100644
index e1488c300ab894afa325de33644271716cdb1b61..0000000000000000000000000000000000000000
--- a/Archive/build/lib/primingsitepredictor/main.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import sys
-#from .classmodule import MyClass
-#from .funcmodule import my_function
-
-def main():
-    print('in main')
-    args = sys.argv[1:]
-    print('count of args :: {}'.format(len(args)))
-    for arg in args:
-        print('passed argument :: {}'.format(arg))
-
-    #my_function('Hello World')
-    #my_object = MyClass('Robin')
-    #my_object.say_name()
-
-if __name__ == '__main__':
-    main()
diff --git a/Archive/cli-primingsitepredictor/.DS_Store b/Archive/cli-primingsitepredictor/.DS_Store
deleted file mode 100644
index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000
Binary files a/Archive/cli-primingsitepredictor/.DS_Store and /dev/null differ
diff --git a/Archive/cli-primingsitepredictor/.gitignore b/Archive/cli-primingsitepredictor/.gitignore
deleted file mode 100644
index 6299a37294d40a7dedffb873f3c321f21bc561ca..0000000000000000000000000000000000000000
--- a/Archive/cli-primingsitepredictor/.gitignore
+++ /dev/null
@@ -1,115 +0,0 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-share/python-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-MANIFEST
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.nox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-db.sqlite3
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# IPython
-profile_default/
-ipython_config.py
-
-# pyenv
-.python-version
-
-# celery beat schedule file
-celerybeat-schedule
-
-# SageMath parsed files
-*.sage.py
-
-# Environments
-.env
-.venv
-env/
-venv/
-ENV/
-env.bak/
-venv.bak/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
-.dmypy.json
-dmypy.json
-
-# Pyre type checker
-.pyre/
\ No newline at end of file
diff --git a/Archive/cli-primingsitepredictor/install.sh b/Archive/cli-primingsitepredictor/install.sh
deleted file mode 100644
index 7895f27f16137f3f8c95ff59feec9c0c42d102cc..0000000000000000000000000000000000000000
--- a/Archive/cli-primingsitepredictor/install.sh
+++ /dev/null
@@ -1 +0,0 @@
-pip install -e .
\ No newline at end of file
diff --git a/Archive/cli-primingsitepredictor/pycli/__init__.py b/Archive/cli-primingsitepredictor/pycli/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Archive/cli-primingsitepredictor/pycli/__main__.py b/Archive/cli-primingsitepredictor/pycli/__main__.py
deleted file mode 100644
index e1488c300ab894afa325de33644271716cdb1b61..0000000000000000000000000000000000000000
--- a/Archive/cli-primingsitepredictor/pycli/__main__.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import sys
-#from .classmodule import MyClass
-#from .funcmodule import my_function
-
-def main():
-    print('in main')
-    args = sys.argv[1:]
-    print('count of args :: {}'.format(len(args)))
-    for arg in args:
-        print('passed argument :: {}'.format(arg))
-
-    #my_function('Hello World')
-    #my_object = MyClass('Robin')
-    #my_object.say_name()
-
-if __name__ == '__main__':
-    main()
diff --git a/Archive/cli-primingsitepredictor/pycli/classmodule.py b/Archive/cli-primingsitepredictor/pycli/classmodule.py
deleted file mode 100644
index 31fea4fe786ce9d8d60988408892baff7c7ef519..0000000000000000000000000000000000000000
--- a/Archive/cli-primingsitepredictor/pycli/classmodule.py
+++ /dev/null
@@ -1,6 +0,0 @@
-class MyClass():
-    def __init__(self, name):
-        self.name = name
-
-    def say_name(self):
-        print('name is {}'.format(self.name))
diff --git a/Archive/cli-primingsitepredictor/pycli/funcmodule.py b/Archive/cli-primingsitepredictor/pycli/funcmodule.py
deleted file mode 100644
index 180f0d4183e275265445ef6acf7b5d6b1d4e9e8b..0000000000000000000000000000000000000000
--- a/Archive/cli-primingsitepredictor/pycli/funcmodule.py
+++ /dev/null
@@ -1,3 +0,0 @@
-def my_function(text_to_display):
-    print('text from my_function :: {}'.format(text_to_display))
-
diff --git a/Archive/cli-primingsitepredictor/setup.py b/Archive/cli-primingsitepredictor/setup.py
deleted file mode 100644
index 0b021abb06bdbc181b5e7e8df958a6ed74826657..0000000000000000000000000000000000000000
--- a/Archive/cli-primingsitepredictor/setup.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from setuptools import setup
-setup(
-    name = 'cli-primingsitepredictor',
-    url = 'https://git.scicore.unibas.ch/zavolan_group/tools/priming-site-predictor/-/tree/main/CLI',
-    author = 'Robin_Christen',
-    author_email = 'robin.christen@stud.unibas.ch',
-    description = 'Command-Line Interface',
-    license = 'MIT,',
-    version = '0.1.0',
-    packages = ['pycli'],
-    entry_points = {
-        'console_scripts': [
-            'pycli = pycli.__main__:main'
-        ]
-    })
diff --git a/Archive/cli_primingsitepredictor.egg-info/PKG-INFO b/Archive/cli_primingsitepredictor.egg-info/PKG-INFO
deleted file mode 100644
index 1594e53c002b10e830d477a28aa944856426cf4a..0000000000000000000000000000000000000000
--- a/Archive/cli_primingsitepredictor.egg-info/PKG-INFO
+++ /dev/null
@@ -1,8 +0,0 @@
-Metadata-Version: 2.1
-Name: cli-primingsitepredictor
-Version: 0.1.0
-Summary: Command-Line Interface
-Home-page: https://git.scicore.unibas.ch/zavolan_group/tools/priming-site-predictor/-/tree/main/CLI
-Author: Robin Christen & Max Baer
-Author-email: robin.christen@stud.unibas.ch & max.baer@swisstph.ch
-License: MIT,
diff --git a/Archive/cli_primingsitepredictor.egg-info/SOURCES.txt b/Archive/cli_primingsitepredictor.egg-info/SOURCES.txt
deleted file mode 100644
index 9c12eff63c4fd260a897079b4888c9de5533e5cf..0000000000000000000000000000000000000000
--- a/Archive/cli_primingsitepredictor.egg-info/SOURCES.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-README.md
-setup.py
-cli_primingsitepredictor.egg-info/PKG-INFO
-cli_primingsitepredictor.egg-info/SOURCES.txt
-cli_primingsitepredictor.egg-info/dependency_links.txt
-cli_primingsitepredictor.egg-info/entry_points.txt
-cli_primingsitepredictor.egg-info/top_level.txt
-primingsitepredictor/__init__.py
-primingsitepredictor/classmodule.py
-primingsitepredictor/cli.py
-primingsitepredictor/funcmodule.py
-primingsitepredictor/main.py
\ No newline at end of file
diff --git a/Archive/cli_primingsitepredictor.egg-info/dependency_links.txt b/Archive/cli_primingsitepredictor.egg-info/dependency_links.txt
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/Archive/cli_primingsitepredictor.egg-info/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/Archive/cli_primingsitepredictor.egg-info/entry_points.txt b/Archive/cli_primingsitepredictor.egg-info/entry_points.txt
deleted file mode 100644
index 91fbc735b0529a074a61f6f43902e612455a3a86..0000000000000000000000000000000000000000
--- a/Archive/cli_primingsitepredictor.egg-info/entry_points.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-[console_scripts]
-psp = primingsitepredictor.main:main
diff --git a/Archive/cli_primingsitepredictor.egg-info/top_level.txt b/Archive/cli_primingsitepredictor.egg-info/top_level.txt
deleted file mode 100644
index e019cb18e696658d1948981d75bd301a22658ae1..0000000000000000000000000000000000000000
--- a/Archive/cli_primingsitepredictor.egg-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-primingsitepredictor
diff --git a/Archive/my_file1 b/Archive/my_file1
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Archive/my_file2 b/Archive/my_file2
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Images_Max/Gitlesson_1_Max b/Images_Max/Gitlesson_1_Max
deleted file mode 100644
index abb7ab7d6243faab4be89850848c6b7b8f065488..0000000000000000000000000000000000000000
Binary files a/Images_Max/Gitlesson_1_Max and /dev/null differ
diff --git a/Images_Max/Gitlesson_2_Max b/Images_Max/Gitlesson_2_Max
deleted file mode 100644
index 8a36a512bb68851c3b48f3ebfd3b704600c62f8c..0000000000000000000000000000000000000000
Binary files a/Images_Max/Gitlesson_2_Max and /dev/null differ
diff --git a/Images_Max/Markdown_Max b/Images_Max/Markdown_Max
deleted file mode 100644
index 913791b6775544d80218e65551ca13c3add7b03d..0000000000000000000000000000000000000000
Binary files a/Images_Max/Markdown_Max and /dev/null differ
diff --git a/Images_Max/images.txt b/Images_Max/images.txt
deleted file mode 100644
index 2571c8421ce9c8810dd41bba6aaed4237a0ef352..0000000000000000000000000000000000000000
--- a/Images_Max/images.txt
+++ /dev/null
@@ -1 +0,0 @@
-pepe
diff --git a/Images_Robin/IntroductionSeq.png b/Images_Robin/IntroductionSeq.png
deleted file mode 100644
index 968266787778e62890051b431de85ffd0168ad5a..0000000000000000000000000000000000000000
Binary files a/Images_Robin/IntroductionSeq.png and /dev/null differ
diff --git a/Images_Robin/Markdown.png b/Images_Robin/Markdown.png
deleted file mode 100644
index 6f2ba45ffd25e13860c830b358f3e047841b204a..0000000000000000000000000000000000000000
Binary files a/Images_Robin/Markdown.png and /dev/null differ
diff --git a/Images_Robin/Push&Pull -- GitRemotes!.png b/Images_Robin/Push&Pull -- GitRemotes!.png
deleted file mode 100644
index b5906235ab4d46cc5f75a16d0945ee05a2d9ff81..0000000000000000000000000000000000000000
Binary files a/Images_Robin/Push&Pull -- GitRemotes!.png and /dev/null differ
diff --git a/In -and- Output examples/Yeast testfiles/Archive/S288C_YKL166C_TPK3_coding.fa b/In -and- Output examples/Yeast testfiles/Archive/S288C_YKL166C_TPK3_coding.fa
deleted file mode 100644
index c5f523e51fff1b833cb004fba2d15e7dd6476708..0000000000000000000000000000000000000000
--- a/In -and- Output examples/Yeast testfiles/Archive/S288C_YKL166C_TPK3_coding.fa	
+++ /dev/null
@@ -1,21 +0,0 @@
->TPK3 YKL166C SGDID:S000001649
-ATGTATGTTGATCCGATGAACAACAATGAAATCAGGAAATTAAGCATTACTGCCAAGACA
-GAAACAACTCCAGATAACGTTGGACAAGACATTCCTGTAAACGCACATTCGGTGCATGAG
-GAATGTTCTTCCAACACACCCGTGGAGATAAATGGAAGAAACAGCGGAAAGTTGAAAGAA
-GAAGCGTCTGCAGGTATTTGTTTGGTTAAAAAACCAATGCTACAATATAGAGATACCTCA
-GGAAAGTATTCCCTAAGTGACTTTCAGATTTTAAGAACTTTGGGAACTGGCTCATTTGGG
-AGAGTTCACCTAATTCGTTCCAATCACAATGGGAGGTTTTACGCTTTGAAGACATTGAAA
-AAGCACACTATAGTGAAGCTGAAGCAGGTTGAACACACCAATGACGAACGCCGAATGCTT
-TCAATTGTTTCACATCCATTCATCATTCGAATGTGGGGAACGTTCCAAGATTCTCAGCAA
-GTTTTCATGGTAATGGACTACATTGAAGGTGGTGAATTATTTTCTTTACTACGTAAATCT
-CAAAGATTTCCCAACCCAGTAGCCAAATTTTATGCCGCAGAGGTATGCTTAGCGTTGGAA
-TATTTGCACAGTAAGGATATAATATATAGAGACTTGAAACCAGAAAATATCCTTCTAGAT
-AAAAACGGCCATATCAAGATAACCGACTTTGGCTTCGCAAAATACGTTCCCGATGTCACA
-TACACATTATGTGGCACACCAGATTACATAGCGCCGGAAGTGGTCAGTACAAAACCGTAT
-AATAAATCAGTGGATTGGTGGAGTTTTGGTGTGCTAATCTATGAAATGCTTGCCGGATAC
-ACTCCATTTTACAATTCGAACACCATGAAAACTTACGAAAATATACTGAACGCCGAATTG
-AAGTTCCCACCATTTTTCCATCCAGACGCGCAGGACTTATTGAAGAAGCTAATTACCAGA
-GACTTAAGTGAAAGGTTGGGTAACTTACAAAATGGAAGTGAAGATGTCAAGAACCATCCG
-TGGTTTAACGAAGTGATATGGGAGAAATTGTTAGCAAGATACATAGAAACGCCGTACGAA
-CCACCAATCCAACAGGGCCAAGGTGACACTTCTCAATTTGACAGATACCCTGAAGAGGAA
-TTCAACTATGGAATTCAAGGGGAGGATCCATATATGGATTTAATGAAAGAATTTTAA
\ No newline at end of file
diff --git a/In -and- Output examples/Yeast testfiles/Archive/dbRNA.fa b/In -and- Output examples/Yeast testfiles/Archive/dbRNA.fa
deleted file mode 100644
index 3b1f9cf51b6608056f9a90ea939d62397ed2f7df..0000000000000000000000000000000000000000
--- a/In -and- Output examples/Yeast testfiles/Archive/dbRNA.fa	
+++ /dev/null
@@ -1,55 +0,0 @@
->KIN1 YDR122W SGDID:S000002529
-ATGGATGATTATCACGTAAATACTGCCTTCTCAATGGGCAGAGGTAACCAGCAGGATGAT
-GGCAATAGTGAAAGCAACAGCATGCATACACAACCAAGCACTATGGCGCCCGCTACGCTG
-AGAATGATGGGAAAAAGTCCACAGCAGCAGCAGCAGCAGAACACACCGCTAATGCCCCCG
-GCGGATATCAAATACGCCAATAATGGTAACTCACATCAAGCAGAGCAAAAGGAGAGACAA
-GTAGAACTTGAAGGTAAATCGAGAGAGAATGCACCAAAGCCAAATACTACCAGCCAGAGT
-CGAGTTTCGTCTTCTCAGGGCATGCCTAAGCAGTTTCATCGAAAATCGTTAGGAGATTGG
-GAGTTTGTTGAAACAGTTGGTGCAGGTTCTATGGGTAAAGTGAAGCTGGCAAAACATCGT
-TACACTAATGAGGTTTGTGCAGTAAAAATTGTAAACCGTGCTACAAAGGCTTTCCTACAT
-AAAGAACAAATGCTGCCACCACCCAAAAATGAACAAGATGTTTTGGAGAGACAGAAGAAA
-TTAGAGAAGGAAATATCTAGGGACAAAAGAACTATTCGAGAAGCGTCCTTGGGACAAATC
-TTATATCATCCACACATATGTAGACTTTTTGAGATGTGCACGTTGTCAAATCATTTCTAT
-ATGTTGTTTGAATATGTTTCAGGTGGTCAGCTGTTAGACTATATCATCCAACATGGGTCA
-ATACGAGAACACCAAGCGAGAAAGTTTGCTAGGGGTATCGCGAGCGCCTTAATATATTTG
-CATGCTAACAACATCGTCCATAGAGATTTGAAGATAGAAAATATAATGATTTCAGATTCC
-AGTGAAATCAAGATAATTGATTTTGGACTTTCAAATATTTATGATTCTAGGAAGCAGCTT
-CATACATTCTGTGGCTCTCTGTATTTTGCCGCTCCCGAGCTGTTAAAAGCGAATCCTTAT
-ACAGGACCTGAAGTAGATGTCTGGTCATTTGGTGTAGTTTTATTTGTTTTGGTATGCGGT
-AAAGTGCCATTTGACGACGAAAATTCGAGCGTTTTACATGAAAAGATCAAGCAAGGTAAG
-GTTGAATATCCCCAACATTTATCTATCGAAGTAATATCACTGTTATCCAAAATGTTGGTA
-GTAGATCCGAAAAGAAGAGCCACACTTAAACAGGTTGTGGAGCACCACTGGATGGTAAGA
-GGGTTCAATGGTCCCCCTCCTTCTTACTTACCGAAAAGAGTTCCCCTAACTATCGAAATG
-CTTGATATAAATGTCTTAAAAGAAATGTACCGTTTAGAATTTATTGACGATGTAGAGGAA
-ACAAGAAGTGTTTTGGTCAGTATAATCACAGATCCTACTTACGTTCTTCTCTCTAGACAA
-TACTGGACTTTAGCGGCCAAAATGAACGCAGAATCCAGTGATAACGGAAACGCGCCAAAC
-ATAACAGAGAGTTTTGAAGACCCAACTCGGGCATATCATCCAATGATTTCCATATATTAC
-TTGACTTCTGAGATGCTTGATAGGAAACATGCGAAAATTCGGAATCAACAACAGCGACAG
-AGCCACGAAAATATAGAAAAGCTTTCTGAAATACCGGAAAGTGTGAAGCAAAGGGACGTA
-GAGGTCAATACAACCGCTATGAAATCAGAGCCAGAAGCCACGTTGGCGACAAAAGATACC
-TCTGTGCCATTCACTCCAAAGAATAGCGATGGCACAGAGCCCCCCTTACATGTCTTAATT
-CCACCGAGGTTAGCAATGCCAGAACAAGCGCATACGTCACCAACGAGTAGAAAAAGTTCT
-GATAATCAACGCCGTGAAATGGAATATGCTCTCTCTCCAACTCCTCAGGGAAATGACTAT
-CAACAATTTAGGGTACCTTCAACTACTGGCGATCCCTCAGAAAAGGCGAAGTTTGGGAAT
-ATATTTAGAAAATTATCACAGCGCCGTAAAAAGACCATTGAACAGACATCTGTTAATAGT
-AATAATAGTATCAATAAACCTGTGCAAAAGACGCATTCTCGCGCTGTTTCAGACTTTGTC
-CCTGGTTTTGCTAAACCGAGTTATGATTCAAATTATACCATGAATGAGCCTGTCAAGACA
-AACGATAGCAGAGGTGGCAATAAAGGTGACTTTCCAGCATTGCCTGCGGATGCAGAAAAT
-ATGGTAGAGAAGCAAAGGGAGAAGCAAATTGAAGAAGATATAATGAAATTGCATGATATT
-AATAAACAGAATAATGAAGTTGCAAAAGGAAGCGGGCGGGAAGCTTACGCTGCACAGAAG
-TTTGAAGGAAGCGACGACGACGAGAATCATCCCTTACCACCTCTCAATGTTGCAAAAGGT
-CGAAAACTACATCCAAGCGCAAGAGCTAAATCAGTTGGTCATGCTCGTCGTGAATCACTC
-AAATATATGAGACCCCCAATGCCTTCATCTGCCTATCCTCAGCAAGAGCTTATAGATACT
-GGGTTCTTAGAATCAAGTGACGATAACAAATCCGATAGTTTGGGAAATGTTACTTCACAG
-ACGAATGATAGCGTCAGCGTGCATTCTGTGAACGCACACATAAACTCGCCATCTGTGGAG
-AAGGAATTAACAGATGAAGAGATATTGCAGGAAGCTTCTAGAGCTCCAGCCGGTTCTATG
-CCATCCATCGATTTCCCCCGTTCTTTATTTTTGAAGGGTTTCTTTTCTGTTCAGACAACT
-TCATCGAAGCCTTTGCCAATTGTTAGATACAAGATTATGTTTGTTCTGAGGAAAATGAAT
-ATAGAGTTCAAGGAGGTTAAGGGTGGTTTTGTTTGTATGCAAAGGTTCTCTTCCAATAAT
-GTGGCAGCGAAGAGAGAAGGGACTCCAAGATCGATCATGCCACTTTCGCACCACGAATCC
-ATTAGACGTCAAGGCTCTAATAAATACTCACCTTCTTCTCCTTTGACAACTAATTCCATT
-CACCAGAGAAAAACATCTATTACCGAAACCTATGGAGATGATAAGCATTCGGGAACATCT
-TTGGAGAACATCCACCAACAAGGTGACGGTAGCGAAGGCATGACTACAACAGAAAAAGAG
-CCCATCAAATTCGAAATTCATATCGTCAAGGTTCGTATTGTTGGTTTAGCCGGTGTGCAT
-TTTAAGAAAATTTCTGGGAACACTTGGTTGTATAAAGAGCTGGCTTCTAGTATATTAAAA
-GAACTAAAGTTGTAA
\ No newline at end of file
diff --git a/In -and- Output examples/Yeast testfiles/Archive/queryRNA.fa b/In -and- Output examples/Yeast testfiles/Archive/queryRNA.fa
deleted file mode 100644
index 2ea2790d5979d0fb3a128d961367855c65f75459..0000000000000000000000000000000000000000
--- a/In -and- Output examples/Yeast testfiles/Archive/queryRNA.fa	
+++ /dev/null
@@ -1,2 +0,0 @@
->Test_Primer
-TTTTTTTTTTTTTTTTTT
\ No newline at end of file
diff --git a/In -and- Output examples/Example_GTF_Output.GTF b/in_output_examples/Example_GTF_Output.GTF
similarity index 100%
rename from In -and- Output examples/Example_GTF_Output.GTF
rename to in_output_examples/Example_GTF_Output.GTF
diff --git a/In -and- Output examples/RIBlast output example.txt b/in_output_examples/RIBlast output example.txt
similarity index 100%
rename from In -and- Output examples/RIBlast output example.txt
rename to in_output_examples/RIBlast output example.txt
diff --git a/In -and- Output examples/Yeast testfiles/dbRNA_test.fa b/in_output_examples/Yeast testfiles/dbRNA_test.fa
similarity index 100%
rename from In -and- Output examples/Yeast testfiles/dbRNA_test.fa
rename to in_output_examples/Yeast testfiles/dbRNA_test.fa
diff --git a/In -and- Output examples/Yeast testfiles/queryRNA_test.fa b/in_output_examples/Yeast testfiles/queryRNA_test.fa
similarity index 100%
rename from In -and- Output examples/Yeast testfiles/queryRNA_test.fa
rename to in_output_examples/Yeast testfiles/queryRNA_test.fa
diff --git a/primingsitepredictor/__pycache__/__init__.cpython-39.pyc b/primingsitepredictor/__pycache__/__init__.cpython-39.pyc
deleted file mode 100644
index ebbc525c7633ced89371673cc076ddbf1f4991de..0000000000000000000000000000000000000000
Binary files a/primingsitepredictor/__pycache__/__init__.cpython-39.pyc and /dev/null differ
diff --git a/primingsitepredictor/__pycache__/__main__.cpython-39.pyc b/primingsitepredictor/__pycache__/__main__.cpython-39.pyc
deleted file mode 100644
index 05894facf2ad3f7d4786d849b22f80cc135ba387..0000000000000000000000000000000000000000
Binary files a/primingsitepredictor/__pycache__/__main__.cpython-39.pyc and /dev/null differ
diff --git a/primingsitepredictor/__pycache__/createprimer.cpython-39.pyc b/primingsitepredictor/__pycache__/createprimer.cpython-39.pyc
deleted file mode 100644
index 1ca66ef81e8844a5d2d6f5c892aba5f882018901..0000000000000000000000000000000000000000
Binary files a/primingsitepredictor/__pycache__/createprimer.cpython-39.pyc and /dev/null differ
diff --git a/primingsitepredictor/__pycache__/createtranscript.cpython-39.pyc b/primingsitepredictor/__pycache__/createtranscript.cpython-39.pyc
deleted file mode 100644
index 6aff67cb5c1ec297a7001965562d25e5e59e4f7d..0000000000000000000000000000000000000000
Binary files a/primingsitepredictor/__pycache__/createtranscript.cpython-39.pyc and /dev/null differ