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/Example_GTF_Output.GTF b/In -and- Output examples/Example_GTF_Output.GTF
deleted file mode 100644
index c3f3e7752ae658a71273a501ec0c90c0aa931386..0000000000000000000000000000000000000000
--- a/In -and- Output examples/Example_GTF_Output.GTF	
+++ /dev/null
@@ -1,3 +0,0 @@
-Transcript_1	RIBlast	Priming_site	10	25	.	+	.	Accessibility_Energy "1.49"; Hybridization_Energy "-9.76"; Interaction_Energy "-8.74"; Number_of_binding_sites "2"; Binding_Probability "0.12"
-Transcript_1	RIBlast	Priming_site	640	655	.	+	.	Accessibility_Energy "1.71"; Hybridization_Energy "-9.12"; Interaction_Energy "-8.34"; Number_of_binding_sites "2"; Binding_Probability "0.05"
-Transcript_2	RIBlast	Priming_site	3	18	.	+	.	Accessibility_Energy "1.21"; Hybridization_Energy "-5.12"; Interaction_Energy "-2.34"; Number_of_binding_sites "1"; Binding_Probability "0.15"
\ No newline at end of file
diff --git a/In -and- Output examples/RIBlast output example.txt b/In -and- Output examples/RIBlast output example.txt
deleted file mode 100644
index f3a270893926da9f8b302af5b15dbed875a6475f..0000000000000000000000000000000000000000
--- a/In -and- Output examples/RIBlast output example.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/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/Yeast testfiles/dbRNA_test.fa b/In -and- Output examples/Yeast testfiles/dbRNA_test.fa
deleted file mode 100644
index e108075815031c42cf01142645040707d3125a8b..0000000000000000000000000000000000000000
--- a/In -and- Output examples/Yeast testfiles/dbRNA_test.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/In -and- Output examples/Yeast testfiles/queryRNA_test.fa b/In -and- Output examples/Yeast testfiles/queryRNA_test.fa
deleted file mode 100644
index b6ea8a793ad75bd74504e08501892aab398dea92..0000000000000000000000000000000000000000
--- a/In -and- Output examples/Yeast testfiles/queryRNA_test.fa	
+++ /dev/null
@@ -1,2 +0,0 @@
->Test_Primer
-AAAAAAAAAAAAAAA
\ No newline at end of file
diff --git a/License.txt b/License.txt
deleted file mode 100644
index 504d7a6172561bc3d0446ca5c535c43028302b7a..0000000000000000000000000000000000000000
--- a/License.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) [2022] [University of Basel]
-
-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.
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 590e0a0e3f0fc4b0c764ae44aedf611b8ad5ae10..0000000000000000000000000000000000000000
--- a/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-
-# Priming Site Predictor of Transcript Sequences
-Priming Site Predictor which uses a seed-and-extension algorithm (*RIblast*:https://github.com/fukunagatsu/RIblast) to *Predict Priming Sites* of oligo dT primers in target sequences. Further, *Binding Energies* are calculated and classified with a threshold value. Additionally, the binding sites are associated with *Binding Probabilities* and stored in a *GTF File* for further processes.
-
-## Version
-Version 0.1.0 (2022/11/15)
-
-## Acknowledgements
-We used the Riblast algorithm created by Tsukasa Fukunaga (https://github.com/fukunagatsu ). 
-
-## Usage
-
-## Example
-
-## Command and Options
-
-## Output file format
-
-## License
-This software is released under the MIT License, see LICENSE.txt.
-
-## Changelogs
-2022/11/15 Version 0.1.0 was released.
-
-## Contributors
-Max Bär, Sophie Schnider, Robin Christen (University of Basel)
-
-## 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/primingsitepredictor/Primer1.fasta b/primingsitepredictor/Primer1.fasta
deleted file mode 100644
index 545f1100114ec5eb992d22bc71d364b8663a7638..0000000000000000000000000000000000000000
--- a/primingsitepredictor/Primer1.fasta
+++ /dev/null
@@ -1,2 +0,0 @@
-<primer1
-TTTTTTTTTTTTTTT
diff --git a/primingsitepredictor/RIBlast output example.txt b/primingsitepredictor/RIBlast output example.txt
deleted file mode 100644
index f3a270893926da9f8b302af5b15dbed875a6475f..0000000000000000000000000000000000000000
--- a/primingsitepredictor/RIBlast output example.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/primingsitepredictor/__init__.py b/primingsitepredictor/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
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
diff --git a/primingsitepredictor/cli.py b/primingsitepredictor/cli.py
deleted file mode 100644
index 518fea18a365aae2b8aa4eac5d264966adba984e..0000000000000000000000000000000000000000
--- a/primingsitepredictor/cli.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Mon Nov 14 14:49:50 2022
-
-@author: baerma
-"""
-import argparse
-import logging
-
-def create_parser():
-    """This function creates the parser"""
-    parser = argparse.ArgumentParser(
-    prog = 'Priming site predictor',
-    description = 'Takes a cutoff energy and the predicts location of priming sites of transcripts',
-    epilog = 'To predict or not to predict')
-    parser.add_argument('energycutoff', type=float, help='a float as energy Cutoff')
-    #parser.add_argument('transcripts', help='fastafile containing transcripts') #What type is that? fasta? Actually doesn't make sense here
-    args = parser.parse_args()
-    energy_cutoff = args.energycutoff
-    return energy_cutoff
-#possibly make a class out of this although I think it's an overkill
-
-def letsgo():
-    energy_cutoff = create_parser()
-    print(f"Your energy cutoff is {energy_cutoff}")
-
-if __name__ == '__main__':
-    logging.basicConfig(
-        format='[%(asctime)s: %(levelname)s] %(message)s (module "%(module)s")',
-        level=logging.INFO,
-    )
-    LOG = logging.getLogger(__name__)
-    letsgo()
-    #here we would point to the main module and parse the energy cutoff
diff --git a/primingsitepredictor/createprimer.py b/primingsitepredictor/createprimer.py
deleted file mode 100644
index c2c234f2eca3c07dd400098897f2586ceb0a7183..0000000000000000000000000000000000000000
--- a/primingsitepredictor/createprimer.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Wed Nov 16 14:17:06 2022
-
-@author: baerma
-"""
-
-class CreatePrimer:
-    """This Class creates an instance of a primer of a desired length and primer name
-    which can be saved as a fasta file. By default the length is 15 and name is primer1"""
-    def __init__(self, name='primer1', primerlength=15):
-        self.name = name
-        self.primer_length = primerlength
-        self.primer_sequence = 'T'*self.primer_length
-        self.lines = [f'<{self.name}', self.primer_sequence]
-        #print(self.primer)
-        #return self.primer
-    
-    def create_fasta(self):
-        with open(f'{self.name}.fasta', 'w') as f:
-            for line in self.lines:
-                f.write(line)
-                f.write('\n')
-
-
-
-
diff --git a/primingsitepredictor/createtranscript.py b/primingsitepredictor/createtranscript.py
deleted file mode 100644
index 4466d92f5fa2c328408db69ea99392c25c90c77f..0000000000000000000000000000000000000000
--- a/primingsitepredictor/createtranscript.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Wed Nov 16 17:48:04 2022
-
-@author: baerma
-"""
-
-# with open("RIBlast output example.txt", 'r') as file:
-#     content = file.readlines()
-#     print(content[3:][0].strip(' \n').split(',')[-1].strip('()').split(':'))
-#     #create a instant of each transcript class
-#     print(len(content[3:]))
-#     print((content[3:]))
-
-import pandas as pd
-import math
-
-class CreateTranscript():
-    def __init__(self):
-        with open("RIBlast output example.txt", 'r') as file:
-            self.raw_interactions = file.readlines()[3:]
-
-    
-    
-    def generate_interaction_df(self):
-        
-        self.interaction_list = []
-        
-        #clean up the original list so that we have a neet list
-        for i in range(0, (len(self.raw_interactions)-1)):
-            current_interaction = self.raw_interactions[i].strip(' \n').replace('(', '').replace(')','').replace('-',',').replace(':',',').split(',')
-            self.interaction_list.append(current_interaction) 
-        
-        #identify if the interaction is the same as the previous one, just shifted by 1 bp (if we have 20 A in the transcript the 15 T primer has 5 matching possibilities although it is only 1 bindingsite)
-        previous_interaction_base = int
-        for i in range(0, len(self.interaction_list)):
-            previous_interaction_base = int(self.interaction_list[i-1][13])
-            if int(self.interaction_list[i][13]) in range(previous_interaction_base-1,previous_interaction_base-15,-1):
-                self.interaction_list[i].append('Repeat')
-            else :
-                self.interaction_list[i].append('Not_repeat')
-
-        #exclude all interactions which are a repeat and belong to the same bindingsite
-        self.cleaned_interaction_list = [item for item in self.interaction_list if item[-1]=='Not_repeat']
-        
-        
-        #add total number of interactions per transcript and calculate energy
-        self.df = pd.DataFrame(self.cleaned_interaction_list)
-        self.df['Number of interactions'] = int
-        self.df['Interaction Energy'] = float
-        
-        energy_constant = 1.380649*10**(-23)*298
-        kcalmol_joul = 6.9477*10**-21
-        
-        
-        for ind in self.df.index:
-            self.df['Number of interactions'][ind]=self.df[3].value_counts()[self.df[3][ind]]
-            self.df['Interaction Energy'][ind]=math.exp(-float(self.df[5][ind])*kcalmol_joul/energy_constant)
-        print(self.df['Interaction Energy'])
-        print(self.df)
-        
-
-        return self.df
-
-transcripts = CreateTranscript()    
-interaction_df = transcripts.generate_interaction_df()        
-
-
diff --git a/primingsitepredictor/main.py b/primingsitepredictor/main.py
deleted file mode 100644
index e1488c300ab894afa325de33644271716cdb1b61..0000000000000000000000000000000000000000
--- a/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/primingsitepredictor/postprocessingmodule.py b/primingsitepredictor/postprocessingmodule.py
deleted file mode 100644
index 84888e5129504d2fbb9dc4d2ebf007164da16458..0000000000000000000000000000000000000000
--- a/primingsitepredictor/postprocessingmodule.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Wed Nov 16 16:47:20 2022
-
-@author: baerma
-"""
-from createtranscript import CreateTranscript
-
-    
-transcripts = CreateTranscript()    
-interaction_df = transcripts.generate_interaction_df()       
-
-
-
-#os.chdir('C:/Users/baerma/Desktop/PhD-Local/Lectures/Programming for Life Sciences/priming-site-predictor/primingsitepredictor')
-
diff --git a/primingsitepredictor/preprocessingmodule.py b/primingsitepredictor/preprocessingmodule.py
deleted file mode 100644
index 16b6da0f998d2b32183056b4959f6ce3657bcdf3..0000000000000000000000000000000000000000
--- a/primingsitepredictor/preprocessingmodule.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Wed Nov 16 14:17:06 2022
-
-@author: baerma
-"""
-from createprimer import CreatePrimer
-
-def generate_RIBlast_input():
-    """This function creates a list of the filenames for the RIBlast"""
-    my_primer = CreatePrimer()
-    my_primer.create_fasta()
-    primer_filename = my_primer.name +".fasta"
-    transcripts_filename = "transcripts.fasta"
-    
-    return [primer_filename, transcripts_filename]
-
-print(generate_RIBlast_input())
-
-
-
diff --git a/setup.py b/setup.py
deleted file mode 100644
index d86d1a3d6e6cb74dd17ff25a69d20d47a803b5d6..0000000000000000000000000000000000000000
--- a/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 & Max Baer',
-    author_email = 'robin.christen@stud.unibas.ch & max.baer@swisstph.ch',
-    description = 'Command-Line Interface',
-    license = 'MIT,',
-    version = '0.1.0',
-    packages = ['primingsitepredictor'],
-    entry_points = {
-        'console_scripts': [
-            'primingsitepredictor = primingsitepredictor.cli:letsgo'
-        ]
-    })