import java.lang.*;
import java.io.*;
import java.util.*;
import java.awt.*;
public class FivePoints
{
public static int[][] s_1 = new int[268][11];
public static int[][] s_2 = new int[268][31];
public static int[][] s_3 = new int[268][31];
public static int[][] s_4 = new int[268][11];
public static Triangle[][] s_1_tri = new Triangle[268][11];
public static Triangle[][] s_2_tri = new Triangle[268][31];
public static Triangle[][] s_3_tri = new Triangle[268][31];
public static Triangle[][] s_4_tri = new Triangle[268][11];
public static int[][] sh_1 = new int[268][71];
public static int[][] sh_2 = new int[268][211];
public static int[][] sh_3 = new int[268][211];
public static int[][] sh_4 = new int[268][71];
public static Triangle[][] sh_1_tri = new Triangle[268][41];
public static Triangle[][] sh_2_tri = new Triangle[268][121];
public static Triangle[][] sh_3_tri = new Triangle[268][121];
public static Triangle[][] sh_4_tri = new Triangle[268][41];
public static List[][] list_1 = new List[268][11];
public static List[][] list_2 = new List[268][31];
public static List[][] list_3 = new List[268][31];
public static List[][] list_4 = new List[268][11];
public static Tet[][] d1_tet = new Tet[268][6];
public static Tet[][] d2_tet = new Tet[268][6];
public static Tet[][] d3_tet = new Tet[268][6];
public static Tet[][] d4_tet = new Tet[268][6];
public static Oct[][] d2_oct = new Oct[268][6];
public static Oct[][] d3_oct = new Oct[268][6];
public static SubSpace[][] sub = new SubSpace[268][11];
public static int[][] SubSpaceComplete = new int[268][11];
public static String filename = "S_Data.txt";
public static String subSpaceFile = "TetSpaces.txt";
public static boolean copy_s_four;
public static boolean twoToThree;
public static boolean twoToThreeSecond;
public static boolean ready;
public static int strataFirst;
public static int strataLast;
public static int[] collapsedStrata = new int[215];
public static int collapsedStrataCount;
public static boolean outputTwo;
public static boolean outputThree;
public static boolean outputFour;
public static boolean outputFive;
public static boolean outputSix;
public static boolean outputSeven;
public static boolean outputEight;
public static boolean outputEightSOnly;
public static boolean outputNine;
public static boolean outputTen;
public static boolean outputEightDivisorsSOnly;
public static boolean outputEightDivisors;
public static boolean outputTwoDivisors;
public static boolean outputNineDivisors;
public static boolean trace;
public static boolean subTrace;
public static boolean recursionTrace;
public static int strata;
public static int divisors;
public static int number;
public static int[][] subs_tetOne = new int[177][7];
public static int[][] subs_oct = new int[177][13];
public static int[][] subs_tetTwo = new int[177][7];
public static int numSubs;
public static boolean globalChanged;
public static int globalCounter;
public static int globalIterator;
public static char[] divisorTags = new char[215];
public static int[] divisorTagsNumber = new int[215];
public static SharpStack[][] sharpStack = new SharpStack[268][200];
public static int[] sharpCount = new int[268];
public static Sharp[][] sharps = new Sharp[268][100];
public static boolean[] hasGoodSharps = new boolean[268];
public static boolean[] hasUnderCollapsedSharps = new boolean[268];
public static void main(String [] args)
{
copy_s_four = true;
strata = 268;
divisors = 215;
if(filename == "divisors_sorted_wtag.txt") number = divisors;
else number = strata;
trace = false;
subTrace = false;
recursionTrace = false;
outputTwo = false;
outputThree = false;
outputFour = false;
outputFive = false;
outputSix = false;
outputSeven = false;
outputEight = false;
outputEightSOnly = false;
outputNine = false;
outputTen = false;
outputEightDivisorsSOnly = false;
outputEightDivisors = false;
outputTwoDivisors = false;
outputNineDivisors = false;
strataFirst = 0;
strataLast = 1;
if(filename == "divisors_sorted_wtag.txt") readFromFileDivisors();
else readFromFile();
initializeSharp();
initializeTriangles();
sToSharp();
for(globalIterator = strataFirst; globalIterator < strataLast; globalIterator++)
{
globalChanged = true;
twoToThree = true;
twoToThreeSecond = true;
while(globalChanged == true)
{
globalChanged = false;
subSpaceAnalysis(globalIterator);
triangleComparisons(globalIterator);
}
// sharpStack[globalIterator] = new SharpStack();
Sharp sharp = new Sharp(sh_1[globalIterator], sh_2[globalIterator], sh_3[globalIterator], sh_4[globalIterator], globalIterator);
hasGoodSharps[globalIterator] = false;
hasUnderCollapsedSharps[globalIterator] = false;
sharpCount[globalIterator] = 0;
brancher(sharp, 1);
if(!hasGoodSharps[globalIterator]) System.out.println((globalIterator + 1) + " : null");
// outputForStacks(globalIterator);
// System.out.println(sharpCount[globalIterator]);
}
if(outputTwo) outputTwo();
if(outputThree) outputThree();
if(outputFour) outputFour();
if(outputFive) outputFive();
// if(outputSix) outputSix();
if(outputSeven) outputSeven();
if(outputEight) outputEight();
if(outputEightSOnly) outputEightSOnly();
if(outputNine) outputNine();
if(outputEightDivisorsSOnly) outputEightDivisorsSOnly();
if(outputEightDivisors) outputEightDivisors();
if(outputTwoDivisors) outputTwoDivisors();
}
public static void readFromFileDivisors()
{
try
{
BufferedReader in = new BufferedReader(new FileReader(filename));
String line = in.readLine();
int sCount = 0;
int charCount = 0;
char currentChar = ' ';
while (line != null)
{
StringTokenizer ST = new StringTokenizer(line, ":");
String first = ST.nextToken();
String second = ST.nextToken();
String third = ST.nextToken();
String fourth = ST.nextToken();
if(currentChar != first.charAt(0))
{
currentChar = first.charAt(0);
charCount = 1;
}
else charCount++;
divisorTags[sCount] = first.charAt(0);
divisorTagsNumber[sCount] = charCount;
int index = 1;
for(int i = 3; i < first.length(); i++)
{
if(first.charAt(i) != ' ')
{
s_1[sCount][index] = Integer.parseInt(first.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < second.length(); i++)
{
if(second.charAt(i) != ' ')
{
s_2[sCount][index] = Integer.parseInt(second.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < third.length(); i++)
{
if(third.charAt(i) != ' ')
{
s_3[sCount][index] = Integer.parseInt(third.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < fourth.length(); i++)
{
if(fourth.charAt(i) != ' ')
{
s_4[sCount][index] = Integer.parseInt(fourth.substring(i, i+1));
index++;
}
}
line = in.readLine();
sCount++;
}
}
catch (FileNotFoundException e)
{
System.out.println("The system cannot find the file specified. A.");
}
catch (IOException e)
{
}
catch (NoSuchElementException e)
{
}
try
{
BufferedReader in = new BufferedReader(new FileReader(subSpaceFile));
String line = in.readLine();
int sCount = 0;
while (line != null)
{
StringTokenizer ST = new StringTokenizer(line, ":");
String first = ST.nextToken();
String second = ST.nextToken();
String third = ST.nextToken();
int index = 1;
for(int i = 0; i < first.length(); i++)
{
if(first.charAt(i) != ' ')
{
subs_tetOne[sCount][index] = Integer.parseInt(first.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < second.length(); i++)
{
if(second.charAt(i) != ' ')
{
subs_oct[sCount][index] = Integer.parseInt(second.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < third.length(); i++)
{
if(third.charAt(i) != ' ')
{
subs_tetTwo[sCount][index] = Integer.parseInt(third.substring(i, i+1));
index++;
}
}
line = in.readLine();
sCount++;
}
numSubs = sCount;
}
catch (FileNotFoundException e)
{
System.out.println("The system cannot find the file specified. B.");
}
catch (IOException e)
{
}
catch (NoSuchElementException e)
{
}
}
public static void readFromFile()
{
try
{
BufferedReader in = new BufferedReader(new FileReader(filename));
String line = in.readLine();
int sCount = 0;
while (line != null)
{
StringTokenizer ST = new StringTokenizer(line, ":");
String first = ST.nextToken();
String second = ST.nextToken();
String third = ST.nextToken();
String fourth = ST.nextToken();
int index = 1;
for(int i = 0; i < first.length(); i++)
{
if(first.charAt(i) != ' ')
{
s_1[sCount][index] = Integer.parseInt(first.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < second.length(); i++)
{
if(second.charAt(i) != ' ')
{
s_2[sCount][index] = Integer.parseInt(second.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < third.length(); i++)
{
if(third.charAt(i) != ' ')
{
s_3[sCount][index] = Integer.parseInt(third.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < fourth.length(); i++)
{
if(fourth.charAt(i) != ' ')
{
s_4[sCount][index] = Integer.parseInt(fourth.substring(i, i+1));
index++;
}
}
line = in.readLine();
sCount++;
}
}
catch (FileNotFoundException e)
{
System.out.println("The system cannot find the file specified. A.");
}
catch (IOException e)
{
}
catch (NoSuchElementException e)
{
}
try
{
BufferedReader in = new BufferedReader(new FileReader(subSpaceFile));
String line = in.readLine();
int sCount = 0;
while (line != null)
{
StringTokenizer ST = new StringTokenizer(line, ":");
String first = ST.nextToken();
String second = ST.nextToken();
String third = ST.nextToken();
int index = 1;
for(int i = 0; i < first.length(); i++)
{
if(first.charAt(i) != ' ')
{
subs_tetOne[sCount][index] = Integer.parseInt(first.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < second.length(); i++)
{
if(second.charAt(i) != ' ')
{
subs_oct[sCount][index] = Integer.parseInt(second.substring(i, i+1));
index++;
}
}
index = 1;
for(int i = 0; i < third.length(); i++)
{
if(third.charAt(i) != ' ')
{
subs_tetTwo[sCount][index] = Integer.parseInt(third.substring(i, i+1));
index++;
}
}
line = in.readLine();
sCount++;
}
numSubs = sCount;
}
catch (FileNotFoundException e)
{
System.out.println("The system cannot find the file specified. B.");
}
catch (IOException e)
{
}
catch (NoSuchElementException e)
{
}
}
public static void initializeSharp()
{
for(int j = strataFirst; j < strataLast; j++)
{
for(int i = 0; i < 71; i++)
{
sh_1[j][i] = 0;
sh_4[j][i] = 0;
}
}
for(int j = strataFirst; j < strataLast; j++)
{
for(int i = 0; i < 211; i++)
{
sh_2[j][i] = 0;
sh_3[j][i] = 0;
}
}
for(int j = strataFirst; j < strataLast; j++)
{
for(int i = 0; i < 11; i++)
{
SubSpaceComplete[j][i] = 0;
}
}
}
public static void initializeTriangles()
{
for(int i = strataFirst; i < strataLast; i++)
{
s_1_tri[i][1] = new Triangle(0, 1, i, 5, 2, 1);
s_1_tri[i][2] = new Triangle(0, 1, i, 6, 3, 1);
s_1_tri[i][3] = new Triangle(0, 1, i, 7, 4, 1);
s_1_tri[i][4] = new Triangle(0, 1, i, 8, 3, 2);
s_1_tri[i][5] = new Triangle(0, 1, i, 9, 4, 2);
s_1_tri[i][6] = new Triangle(0, 1, i, 10, 4, 3);
s_1_tri[i][7] = new Triangle(0, 1, i, 8, 6, 5);
s_1_tri[i][8] = new Triangle(0, 1, i, 9, 7, 5);
s_1_tri[i][9] = new Triangle(0, 1, i, 10, 7, 6);
s_1_tri[i][10] = new Triangle(0, 1, i, 10, 9, 8);
s_2_tri[i][1] = new Triangle(0, 2, i, 1, 7, 13);
s_2_tri[i][2] = new Triangle(0, 2, i, 2, 8, 19);
s_2_tri[i][3] = new Triangle(0, 2, i, 3, 9, 25);
s_2_tri[i][4] = new Triangle(0, 2, i, 4, 14, 20);
s_2_tri[i][5] = new Triangle(0, 2, i, 5, 15, 26);
s_2_tri[i][6] = new Triangle(0, 2, i, 6, 21, 27);
s_2_tri[i][7] = new Triangle(0, 2, i, 10, 16, 22);
s_2_tri[i][8] = new Triangle(0, 2, i, 11, 17, 28);
s_2_tri[i][9] = new Triangle(0, 2, i, 12, 23, 29);
s_2_tri[i][10] = new Triangle(0, 2, i, 18, 24, 30);
s_2_tri[i][11] = new Triangle(0, 2, i, 1, 2, 4);
s_2_tri[i][12] = new Triangle(0, 2, i, 1, 3, 5);
s_2_tri[i][13] = new Triangle(0, 2, i, 2, 3, 6);
s_2_tri[i][14] = new Triangle(0, 2, i, 4, 5, 6);
s_2_tri[i][15] = new Triangle(0, 2, i, 7, 8, 10);
s_2_tri[i][16] = new Triangle(0, 2, i, 7, 9, 11);
s_2_tri[i][17] = new Triangle(0, 2, i, 8, 9, 12);
s_2_tri[i][18] = new Triangle(0, 2, i, 10, 11, 12);
s_2_tri[i][19] = new Triangle(0, 2, i, 13, 14, 16);
s_2_tri[i][20] = new Triangle(0, 2, i, 13, 15, 17);
s_2_tri[i][21] = new Triangle(0, 2, i, 14, 15, 18);
s_2_tri[i][22] = new Triangle(0, 2, i, 16, 17, 18);
s_2_tri[i][23] = new Triangle(0, 2, i, 19, 20, 22);
s_2_tri[i][24] = new Triangle(0, 2, i, 19, 21, 23);
s_2_tri[i][25] = new Triangle(0, 2, i, 20, 21, 24);
s_2_tri[i][26] = new Triangle(0, 2, i, 22, 23, 24);
s_2_tri[i][27] = new Triangle(0, 2, i, 25, 26, 28);
s_2_tri[i][28] = new Triangle(0, 2, i, 25, 27, 29);
s_2_tri[i][29] = new Triangle(0, 2, i, 26, 27, 30);
s_2_tri[i][30] = new Triangle(0, 2, i, 28, 29, 30);
s_3_tri[i][1] = new Triangle(0, 3, i, 13, 7, 1);
s_3_tri[i][2] = new Triangle(0, 3, i, 19, 8, 2);
s_3_tri[i][3] = new Triangle(0, 3, i, 25, 9, 3);
s_3_tri[i][4] = new Triangle(0, 3, i, 20, 14, 4);
s_3_tri[i][5] = new Triangle(0, 3, i, 26, 15, 5);
s_3_tri[i][6] = new Triangle(0, 3, i, 27, 21, 6);
s_3_tri[i][7] = new Triangle(0, 3, i, 22, 16, 10);
s_3_tri[i][8] = new Triangle(0, 3, i, 28, 17, 11);
s_3_tri[i][9] = new Triangle(0, 3, i, 29, 23, 12);
s_3_tri[i][10] = new Triangle(0, 3, i, 30, 24, 18);
s_3_tri[i][11] = new Triangle(0, 3, i, 4, 2, 1);
s_3_tri[i][12] = new Triangle(0, 3, i, 5, 3, 1);
s_3_tri[i][13] = new Triangle(0, 3, i, 6, 3, 2);
s_3_tri[i][14] = new Triangle(0, 3, i, 6, 5, 4);
s_3_tri[i][15] = new Triangle(0, 3, i, 10, 8, 7);
s_3_tri[i][16] = new Triangle(0, 3, i, 11, 9, 7);
s_3_tri[i][17] = new Triangle(0, 3, i, 12, 9, 8);
s_3_tri[i][18] = new Triangle(0, 3, i, 12, 11, 10);
s_3_tri[i][19] = new Triangle(0, 3, i, 16, 14, 13);
s_3_tri[i][20] = new Triangle(0, 3, i, 17, 15, 13);
s_3_tri[i][21] = new Triangle(0, 3, i, 18, 15, 14);
s_3_tri[i][22] = new Triangle(0, 3, i, 18, 17, 16);
s_3_tri[i][23] = new Triangle(0, 3, i, 22, 20, 19);
s_3_tri[i][24] = new Triangle(0, 3, i, 23, 21, 19);
s_3_tri[i][25] = new Triangle(0, 3, i, 24, 21, 20);
s_3_tri[i][26] = new Triangle(0, 3, i, 24, 23, 22);
s_3_tri[i][27] = new Triangle(0, 3, i, 28, 26, 25);
s_3_tri[i][28] = new Triangle(0, 3, i, 29, 27, 25);
s_3_tri[i][29] = new Triangle(0, 3, i, 30, 27, 26);
s_3_tri[i][30] = new Triangle(0, 3, i, 30, 29, 28);
s_4_tri[i][1] = new Triangle(0, 4, i, 1, 2, 5);
s_4_tri[i][2] = new Triangle(0, 4, i, 1, 3, 6);
s_4_tri[i][3] = new Triangle(0, 4, i, 1, 4, 7);
s_4_tri[i][4] = new Triangle(0, 4, i, 2, 3, 8);
s_4_tri[i][5] = new Triangle(0, 4, i, 2, 4, 9);
s_4_tri[i][6] = new Triangle(0, 4, i, 3, 4, 10);
s_4_tri[i][7] = new Triangle(0, 4, i, 5, 6, 8);
s_4_tri[i][8] = new Triangle(0, 4, i, 5, 7, 9);
s_4_tri[i][9] = new Triangle(0, 4, i, 6, 7, 10);
s_4_tri[i][10] = new Triangle(0, 4, i, 8, 9, 10);
sh_1_tri[i][1] = new Triangle(1, 1, i, 5, 2, 1);
sh_1_tri[i][2] = new Triangle(1, 1, i, 6, 3, 1);
sh_1_tri[i][3] = new Triangle(1, 1, i, 7, 4, 1);
sh_1_tri[i][4] = new Triangle(1, 1, i, 8, 3, 2);
sh_1_tri[i][5] = new Triangle(1, 1, i, 9, 4, 2);
sh_1_tri[i][6] = new Triangle(1, 1, i, 10, 4, 3);
sh_1_tri[i][7] = new Triangle(1, 1, i, 8, 6, 5);
sh_1_tri[i][8] = new Triangle(1, 1, i, 9, 7, 5);
sh_1_tri[i][9] = new Triangle(1, 1, i, 10, 7, 6);
sh_1_tri[i][10] = new Triangle(1, 1, i, 10, 9, 8);
sh_1_tri[i][11] = new Triangle(1, 1, i, 14, 12, 11, 1);
sh_1_tri[i][12] = new Triangle(1, 1, i, 15, 13, 11, 1);
sh_1_tri[i][13] = new Triangle(1, 1, i, 16, 13, 12, 1);
sh_1_tri[i][14] = new Triangle(1, 1, i, 16, 15, 14, 1);
sh_1_tri[i][15] = new Triangle(1, 1, i, 20, 18, 17, 2);
sh_1_tri[i][16] = new Triangle(1, 1, i, 21, 19, 17, 2);
sh_1_tri[i][17] = new Triangle(1, 1, i, 22, 19, 18, 2);
sh_1_tri[i][18] = new Triangle(1, 1, i, 22, 21, 20, 2);
sh_1_tri[i][19] = new Triangle(1, 1, i, 26, 24, 23, 3);
sh_1_tri[i][20] = new Triangle(1, 1, i, 27, 25, 23, 3);
sh_1_tri[i][21] = new Triangle(1, 1, i, 28, 25, 24, 3);
sh_1_tri[i][22] = new Triangle(1, 1, i, 28, 27, 26, 3);
sh_1_tri[i][23] = new Triangle(1, 1, i, 32, 30, 29, 4);
sh_1_tri[i][24] = new Triangle(1, 1, i, 33, 31, 29, 4);
sh_1_tri[i][25] = new Triangle(1, 1, i, 34, 31, 30, 4);
sh_1_tri[i][26] = new Triangle(1, 1, i, 34, 33, 32, 4);
sh_1_tri[i][27] = new Triangle(1, 1, i, 38, 36, 35, 5);
sh_1_tri[i][28] = new Triangle(1, 1, i, 39, 37, 35, 5);
sh_1_tri[i][29] = new Triangle(1, 1, i, 40, 37, 36, 5);
sh_1_tri[i][30] = new Triangle(1, 1, i, 40, 39, 38, 5);
sh_1_tri[i][31] = new Triangle(1, 1, i, 43, 42, 41);
sh_1_tri[i][32] = new Triangle(1, 1, i, 46, 45, 44);
sh_1_tri[i][33] = new Triangle(1, 1, i, 49, 48, 47);
sh_1_tri[i][34] = new Triangle(1, 1, i, 52, 51, 50);
sh_1_tri[i][35] = new Triangle(1, 1, i, 55, 54, 53);
sh_1_tri[i][36] = new Triangle(1, 1, i, 58, 57, 56);
sh_1_tri[i][37] = new Triangle(1, 1, i, 61, 60, 59);
sh_1_tri[i][38] = new Triangle(1, 1, i, 64, 63, 62);
sh_1_tri[i][39] = new Triangle(1, 1, i, 67, 66, 65);
sh_1_tri[i][40] = new Triangle(1, 1, i, 70, 69, 68);
sh_2_tri[i][1] = new Triangle(1, 2, i, 1, 7, 13);
sh_2_tri[i][2] = new Triangle(1, 2, i, 2, 8, 19);
sh_2_tri[i][3] = new Triangle(1, 2, i, 3, 9, 25);
sh_2_tri[i][4] = new Triangle(1, 2, i, 4, 14, 20);
sh_2_tri[i][5] = new Triangle(1, 2, i, 5, 15, 26);
sh_2_tri[i][6] = new Triangle(1, 2, i, 6, 21, 27);
sh_2_tri[i][7] = new Triangle(1, 2, i, 10, 16, 22);
sh_2_tri[i][8] = new Triangle(1, 2, i, 11, 17, 28);
sh_2_tri[i][9] = new Triangle(1, 2, i, 12, 23, 29);
sh_2_tri[i][10] = new Triangle(1, 2, i, 18, 24, 30);
sh_2_tri[i][11] = new Triangle(1, 2, i, 1, 2, 4);
sh_2_tri[i][12] = new Triangle(1, 2, i, 1, 3, 5);
sh_2_tri[i][13] = new Triangle(1, 2, i, 2, 3, 6);
sh_2_tri[i][14] = new Triangle(1, 2, i, 4, 5, 6);
sh_2_tri[i][15] = new Triangle(1, 2, i, 7, 8, 10);
sh_2_tri[i][16] = new Triangle(1, 2, i, 7, 9, 11);
sh_2_tri[i][17] = new Triangle(1, 2, i, 8, 9, 12);
sh_2_tri[i][18] = new Triangle(1, 2, i, 10, 11, 12);
sh_2_tri[i][19] = new Triangle(1, 2, i, 13, 14, 16);
sh_2_tri[i][20] = new Triangle(1, 2, i, 13, 15, 17);
sh_2_tri[i][21] = new Triangle(1, 2, i, 14, 15, 18);
sh_2_tri[i][22] = new Triangle(1, 2, i, 16, 17, 18);
sh_2_tri[i][23] = new Triangle(1, 2, i, 19, 20, 22);
sh_2_tri[i][24] = new Triangle(1, 2, i, 19, 21, 23);
sh_2_tri[i][25] = new Triangle(1, 2, i, 20, 21, 24);
sh_2_tri[i][26] = new Triangle(1, 2, i, 22, 23, 24);
sh_2_tri[i][27] = new Triangle(1, 2, i, 25, 26, 28);
sh_2_tri[i][28] = new Triangle(1, 2, i, 25, 27, 29);
sh_2_tri[i][29] = new Triangle(1, 2, i, 26, 27, 30);
sh_2_tri[i][30] = new Triangle(1, 2, i, 28, 29, 30);
sh_2_tri[i][31] = new Triangle(1, 2, i, 31, 32, 34, 1);
sh_2_tri[i][32] = new Triangle(1, 2, i, 31, 33, 35, 1);
sh_2_tri[i][33] = new Triangle(1, 2, i, 32, 33, 36, 1);
sh_2_tri[i][34] = new Triangle(1, 2, i, 34, 35, 36, 1);
sh_2_tri[i][35] = new Triangle(1, 2, i, 37, 38, 40, 2);
sh_2_tri[i][36] = new Triangle(1, 2, i, 37, 39, 41, 2);
sh_2_tri[i][37] = new Triangle(1, 2, i, 38, 39, 42, 2);
sh_2_tri[i][38] = new Triangle(1, 2, i, 40, 41, 42, 2);
sh_2_tri[i][39] = new Triangle(1, 2, i, 43, 44, 46, 3);
sh_2_tri[i][40] = new Triangle(1, 2, i, 43, 45, 47, 3);
sh_2_tri[i][41] = new Triangle(1, 2, i, 44, 45, 48, 3);
sh_2_tri[i][42] = new Triangle(1, 2, i, 46, 47, 48, 3);
sh_2_tri[i][43] = new Triangle(1, 2, i, 49, 50, 52, 4);
sh_2_tri[i][44] = new Triangle(1, 2, i, 49, 51, 53, 4);
sh_2_tri[i][45] = new Triangle(1, 2, i, 50, 51, 54, 4);
sh_2_tri[i][46] = new Triangle(1, 2, i, 52, 53, 54, 4);
sh_2_tri[i][47] = new Triangle(1, 2, i, 55, 56, 58, 5);
sh_2_tri[i][48] = new Triangle(1, 2, i, 55, 57, 59, 5);
sh_2_tri[i][49] = new Triangle(1, 2, i, 56, 57, 60, 5);
sh_2_tri[i][50] = new Triangle(1, 2, i, 58, 59, 60, 5);
sh_2_tri[i][51] = new Triangle(1, 2, i, 61, 64, 67, 1);
sh_2_tri[i][52] = new Triangle(1, 2, i, 62, 65, 70, 1);
sh_2_tri[i][53] = new Triangle(1, 2, i, 63, 68, 71, 1);
sh_2_tri[i][54] = new Triangle(1, 2, i, 66, 69, 72, 1, 1);
sh_2_tri[i][55] = new Triangle(1, 2, i, 61, 62, 63, 1, 1);
sh_2_tri[i][56] = new Triangle(1, 2, i, 64, 65, 66, 1, 1);
sh_2_tri[i][57] = new Triangle(1, 2, i, 67, 68, 69, 1, 1);
sh_2_tri[i][58] = new Triangle(1, 2, i, 70, 71, 72, 1, 1);
sh_2_tri[i][59] = new Triangle(1, 2, i, 73, 76, 79, 2, 1);
sh_2_tri[i][60] = new Triangle(1, 2, i, 74, 77, 82, 2, 1);
sh_2_tri[i][61] = new Triangle(1, 2, i, 75, 80, 83, 2, 1);
sh_2_tri[i][62] = new Triangle(1, 2, i, 78, 81, 84, 2, 1);
sh_2_tri[i][63] = new Triangle(1, 2, i, 73, 74, 75, 2, 1);
sh_2_tri[i][64] = new Triangle(1, 2, i, 76, 77, 78, 2, 1);
sh_2_tri[i][65] = new Triangle(1, 2, i, 79, 80, 81, 2, 1);
sh_2_tri[i][66] = new Triangle(1, 2, i, 82, 83, 84, 2, 1);
sh_2_tri[i][67] = new Triangle(1, 2, i, 85, 88, 91, 3, 1);
sh_2_tri[i][68] = new Triangle(1, 2, i, 86, 89, 94, 3, 1);
sh_2_tri[i][69] = new Triangle(1, 2, i, 87, 92, 95, 3, 1);
sh_2_tri[i][70] = new Triangle(1, 2, i, 90, 93, 96, 3, 1);
sh_2_tri[i][71] = new Triangle(1, 2, i, 85, 86, 87, 3, 1);
sh_2_tri[i][72] = new Triangle(1, 2, i, 88, 89, 90, 3, 1);
sh_2_tri[i][73] = new Triangle(1, 2, i, 91, 92, 93, 3, 1);
sh_2_tri[i][74] = new Triangle(1, 2, i, 94, 95, 96, 3, 1);
sh_2_tri[i][75] = new Triangle(1, 2, i, 97, 100, 103, 4, 1);
sh_2_tri[i][76] = new Triangle(1, 2, i, 98, 101, 106, 4, 1);
sh_2_tri[i][77] = new Triangle(1, 2, i, 99, 104, 107, 4, 1);
sh_2_tri[i][78] = new Triangle(1, 2, i, 102, 105, 108, 4, 1);
sh_2_tri[i][79] = new Triangle(1, 2, i, 97, 98, 99, 4, 1);
sh_2_tri[i][80] = new Triangle(1, 2, i, 100, 101, 102, 4, 1);
sh_2_tri[i][81] = new Triangle(1, 2, i, 103, 104, 105, 4, 1);
sh_2_tri[i][82] = new Triangle(1, 2, i, 106, 107, 108, 4, 1);
sh_2_tri[i][83] = new Triangle(1, 2, i, 109, 112, 115, 5, 1);
sh_2_tri[i][84] = new Triangle(1, 2, i, 110, 113, 118, 5, 1);
sh_2_tri[i][85] = new Triangle(1, 2, i, 111, 116, 119, 5, 1);
sh_2_tri[i][86] = new Triangle(1, 2, i, 114, 117, 120, 5, 1);
sh_2_tri[i][87] = new Triangle(1, 2, i, 109, 110, 111, 5, 1);
sh_2_tri[i][88] = new Triangle(1, 2, i, 112, 113, 114, 5, 1);
sh_2_tri[i][89] = new Triangle(1, 2, i, 115, 116, 117, 5, 1);
sh_2_tri[i][90] = new Triangle(1, 2, i, 118, 119, 120, 5, 1);
sh_2_tri[i][91] = new Triangle(1, 2, i, 121, 122, 123);
sh_2_tri[i][92] = new Triangle(1, 2, i, 124, 125, 126);
sh_2_tri[i][93] = new Triangle(1, 2, i, 127, 128, 129);
sh_2_tri[i][94] = new Triangle(1, 2, i, 130, 131, 132);
sh_2_tri[i][95] = new Triangle(1, 2, i, 133, 134, 135);
sh_2_tri[i][96] = new Triangle(1, 2, i, 136, 137, 138);
sh_2_tri[i][97] = new Triangle(1, 2, i, 139, 140, 141);
sh_2_tri[i][98] = new Triangle(1, 2, i, 142, 143, 144);
sh_2_tri[i][99] = new Triangle(1, 2, i, 145, 146, 147);
sh_2_tri[i][100] = new Triangle(1, 2, i, 148, 149, 150);
sh_2_tri[i][101] = new Triangle(1, 2, i, 151, 152, 153);
sh_2_tri[i][102] = new Triangle(1, 2, i, 154, 155, 156);
sh_2_tri[i][103] = new Triangle(1, 2, i, 157, 158, 159);
sh_2_tri[i][104] = new Triangle(1, 2, i, 160, 161, 162);
sh_2_tri[i][105] = new Triangle(1, 2, i, 163, 164, 165);
sh_2_tri[i][106] = new Triangle(1, 2, i, 166, 167, 168);
sh_2_tri[i][107] = new Triangle(1, 2, i, 169, 170, 171);
sh_2_tri[i][108] = new Triangle(1, 2, i, 172, 173, 174);
sh_2_tri[i][109] = new Triangle(1, 2, i, 175, 176, 177);
sh_2_tri[i][110] = new Triangle(1, 2, i, 178, 179, 180);
sh_2_tri[i][111] = new Triangle(1, 2, i, 181, 182, 183);
sh_2_tri[i][112] = new Triangle(1, 2, i, 184, 185, 186);
sh_2_tri[i][113] = new Triangle(1, 2, i, 187, 188, 189);
sh_2_tri[i][114] = new Triangle(1, 2, i, 190, 191, 192);
sh_2_tri[i][115] = new Triangle(1, 2, i, 193, 194, 195);
sh_2_tri[i][116] = new Triangle(1, 2, i, 196, 197, 198);
sh_2_tri[i][117] = new Triangle(1, 2, i, 199, 200, 201);
sh_2_tri[i][118] = new Triangle(1, 2, i, 202, 203, 204);
sh_2_tri[i][119] = new Triangle(1, 2, i, 205, 206, 207);
sh_2_tri[i][120] = new Triangle(1, 2, i, 208, 209, 210);
sh_3_tri[i][1] = new Triangle(1, 3, i, 13, 7, 1);
sh_3_tri[i][2] = new Triangle(1, 3, i, 19, 8, 2);
sh_3_tri[i][3] = new Triangle(1, 3, i, 25, 9, 3);
sh_3_tri[i][4] = new Triangle(1, 3, i, 20, 14, 4);
sh_3_tri[i][5] = new Triangle(1, 3, i, 26, 15, 5);
sh_3_tri[i][6] = new Triangle(1, 3, i, 27, 21, 6);
sh_3_tri[i][7] = new Triangle(1, 3, i, 22, 16, 10);
sh_3_tri[i][8] = new Triangle(1, 3, i, 28, 17, 11);
sh_3_tri[i][9] = new Triangle(1, 3, i, 29, 23, 12);
sh_3_tri[i][10] = new Triangle(1, 3, i, 30, 24, 18);
sh_3_tri[i][11] = new Triangle(1, 3, i, 4, 2, 1);
sh_3_tri[i][12] = new Triangle(1, 3, i, 5, 3, 1);
sh_3_tri[i][13] = new Triangle(1, 3, i, 6, 3, 2);
sh_3_tri[i][14] = new Triangle(1, 3, i, 6, 5, 4);
sh_3_tri[i][15] = new Triangle(1, 3, i, 10, 8, 7);
sh_3_tri[i][16] = new Triangle(1, 3, i, 11, 9, 7);
sh_3_tri[i][17] = new Triangle(1, 3, i, 12, 9, 8);
sh_3_tri[i][18] = new Triangle(1, 3, i, 12, 11, 10);
sh_3_tri[i][19] = new Triangle(1, 3, i, 16, 14, 13);
sh_3_tri[i][20] = new Triangle(1, 3, i, 17, 15, 13);
sh_3_tri[i][21] = new Triangle(1, 3, i, 18, 15, 14);
sh_3_tri[i][22] = new Triangle(1, 3, i, 18, 17, 16);
sh_3_tri[i][23] = new Triangle(1, 3, i, 22, 20, 19);
sh_3_tri[i][24] = new Triangle(1, 3, i, 23, 21, 19);
sh_3_tri[i][25] = new Triangle(1, 3, i, 24, 21, 20);
sh_3_tri[i][26] = new Triangle(1, 3, i, 24, 23, 22);
sh_3_tri[i][27] = new Triangle(1, 3, i, 28, 26, 25);
sh_3_tri[i][28] = new Triangle(1, 3, i, 29, 27, 25);
sh_3_tri[i][29] = new Triangle(1, 3, i, 30, 27, 26);
sh_3_tri[i][30] = new Triangle(1, 3, i, 30, 29, 28);
sh_3_tri[i][31] = new Triangle(1, 3, i, 34, 32, 31, 1);
sh_3_tri[i][32] = new Triangle(1, 3, i, 35, 33, 31, 1);
sh_3_tri[i][33] = new Triangle(1, 3, i, 36, 33, 32, 1);
sh_3_tri[i][34] = new Triangle(1, 3, i, 36, 35, 34, 1);
sh_3_tri[i][35] = new Triangle(1, 3, i, 40, 38, 37, 2);
sh_3_tri[i][36] = new Triangle(1, 3, i, 41, 39, 37, 2);
sh_3_tri[i][37] = new Triangle(1, 3, i, 42, 39, 38, 2);
sh_3_tri[i][38] = new Triangle(1, 3, i, 42, 41, 40, 2);
sh_3_tri[i][39] = new Triangle(1, 3, i, 46, 44, 43, 3);
sh_3_tri[i][40] = new Triangle(1, 3, i, 47, 45, 43, 3);
sh_3_tri[i][41] = new Triangle(1, 3, i, 48, 45, 44, 3);
sh_3_tri[i][42] = new Triangle(1, 3, i, 48, 47, 46, 3);
sh_3_tri[i][43] = new Triangle(1, 3, i, 52, 50, 49, 4);
sh_3_tri[i][44] = new Triangle(1, 3, i, 53, 51, 49, 4);
sh_3_tri[i][45] = new Triangle(1, 3, i, 54, 51, 50, 4);
sh_3_tri[i][46] = new Triangle(1, 3, i, 54, 53, 52, 4);
sh_3_tri[i][47] = new Triangle(1, 3, i, 58, 56, 55, 5);
sh_3_tri[i][48] = new Triangle(1, 3, i, 59, 57, 55, 5);
sh_3_tri[i][49] = new Triangle(1, 3, i, 60, 57, 56, 5);
sh_3_tri[i][50] = new Triangle(1, 3, i, 60, 59, 58, 5);
sh_3_tri[i][51] = new Triangle(1, 3, i, 67, 64, 61, 1, 1);
sh_3_tri[i][52] = new Triangle(1, 3, i, 70, 65, 62, 1, 1);
sh_3_tri[i][53] = new Triangle(1, 3, i, 71, 68, 63, 1, 1);
sh_3_tri[i][54] = new Triangle(1, 3, i, 72, 69, 66, 1, 1);
sh_3_tri[i][55] = new Triangle(1, 3, i, 63, 62, 61, 1, 1);
sh_3_tri[i][56] = new Triangle(1, 3, i, 66, 65, 64, 1, 1);
sh_3_tri[i][57] = new Triangle(1, 3, i, 69, 68, 67, 1, 1);
sh_3_tri[i][58] = new Triangle(1, 3, i, 72, 71, 70, 1, 1);
sh_3_tri[i][59] = new Triangle(1, 3, i, 79, 76, 73, 2, 1);
sh_3_tri[i][60] = new Triangle(1, 3, i, 82, 77, 74, 2, 1);
sh_3_tri[i][61] = new Triangle(1, 3, i, 83, 80, 75, 2, 1);
sh_3_tri[i][62] = new Triangle(1, 3, i, 84, 81, 78, 2, 1);
sh_3_tri[i][63] = new Triangle(1, 3, i, 75, 74, 73, 2, 1);
sh_3_tri[i][64] = new Triangle(1, 3, i, 78, 77, 76, 2, 1);
sh_3_tri[i][65] = new Triangle(1, 3, i, 81, 80, 79, 2, 1);
sh_3_tri[i][66] = new Triangle(1, 3, i, 84, 83, 82, 2, 1);
sh_3_tri[i][67] = new Triangle(1, 3, i, 91, 88, 85, 3, 1);
sh_3_tri[i][68] = new Triangle(1, 3, i, 94, 89, 86, 3, 1);
sh_3_tri[i][69] = new Triangle(1, 3, i, 95, 92, 87, 3, 1);
sh_3_tri[i][70] = new Triangle(1, 3, i, 96, 93, 90, 3, 1);
sh_3_tri[i][71] = new Triangle(1, 3, i, 87, 86, 85, 3, 1);
sh_3_tri[i][72] = new Triangle(1, 3, i, 90, 89, 88, 3, 1);
sh_3_tri[i][73] = new Triangle(1, 3, i, 93, 92, 91, 3, 1);
sh_3_tri[i][74] = new Triangle(1, 3, i, 96, 95, 94, 3, 1);
sh_3_tri[i][75] = new Triangle(1, 3, i, 103, 100, 97, 4, 1);
sh_3_tri[i][76] = new Triangle(1, 3, i, 106, 101, 98, 4, 1);
sh_3_tri[i][77] = new Triangle(1, 3, i, 107, 104, 99, 4, 1);
sh_3_tri[i][78] = new Triangle(1, 3, i, 108, 105, 102, 4, 1);
sh_3_tri[i][79] = new Triangle(1, 3, i, 99, 98, 97, 4, 1);
sh_3_tri[i][80] = new Triangle(1, 3, i, 102, 101, 100, 4, 1);
sh_3_tri[i][81] = new Triangle(1, 3, i, 105, 104, 103, 4, 1);
sh_3_tri[i][82] = new Triangle(1, 3, i, 108, 107, 106, 4, 1);
sh_3_tri[i][83] = new Triangle(1, 3, i, 115, 112, 109, 5, 1);
sh_3_tri[i][84] = new Triangle(1, 3, i, 118, 113, 110, 5, 1);
sh_3_tri[i][85] = new Triangle(1, 3, i, 119, 116, 111, 5, 1);
sh_3_tri[i][86] = new Triangle(1, 3, i, 120, 117, 114, 5, 1);
sh_3_tri[i][87] = new Triangle(1, 3, i, 111, 110, 109, 5, 1);
sh_3_tri[i][88] = new Triangle(1, 3, i, 114, 113, 112, 5, 1);
sh_3_tri[i][89] = new Triangle(1, 3, i, 117, 116, 115, 5, 1);
sh_3_tri[i][90] = new Triangle(1, 3, i, 120, 119, 118, 5, 1);
sh_3_tri[i][91] = new Triangle(1, 3, i, 123, 122, 121);
sh_3_tri[i][92] = new Triangle(1, 3, i, 126, 125, 124);
sh_3_tri[i][93] = new Triangle(1, 3, i, 129, 128, 127);
sh_3_tri[i][94] = new Triangle(1, 3, i, 132, 131, 130);
sh_3_tri[i][95] = new Triangle(1, 3, i, 135, 134, 133);
sh_3_tri[i][96] = new Triangle(1, 3, i, 138, 137, 136);
sh_3_tri[i][97] = new Triangle(1, 3, i, 141, 140, 139);
sh_3_tri[i][98] = new Triangle(1, 3, i, 144, 143, 142);
sh_3_tri[i][99] = new Triangle(1, 3, i, 147, 146, 145);
sh_3_tri[i][100] = new Triangle(1, 3, i, 150, 149, 148);
sh_3_tri[i][101] = new Triangle(1, 3, i, 153, 152, 151);
sh_3_tri[i][102] = new Triangle(1, 3, i, 156, 155, 154);
sh_3_tri[i][103] = new Triangle(1, 3, i, 159, 158, 157);
sh_3_tri[i][104] = new Triangle(1, 3, i, 162, 161, 160);
sh_3_tri[i][105] = new Triangle(1, 3, i, 165, 164, 163);
sh_3_tri[i][106] = new Triangle(1, 3, i, 168, 167, 166);
sh_3_tri[i][107] = new Triangle(1, 3, i, 171, 170, 169);
sh_3_tri[i][108] = new Triangle(1, 3, i, 174, 173, 172);
sh_3_tri[i][109] = new Triangle(1, 3, i, 177, 176, 175);
sh_3_tri[i][110] = new Triangle(1, 3, i, 180, 179, 178);
sh_3_tri[i][111] = new Triangle(1, 3, i, 183, 182, 181);
sh_3_tri[i][112] = new Triangle(1, 3, i, 186, 185, 184);
sh_3_tri[i][113] = new Triangle(1, 3, i, 189, 188, 187);
sh_3_tri[i][114] = new Triangle(1, 3, i, 192, 191, 190);
sh_3_tri[i][115] = new Triangle(1, 3, i, 195, 194, 193);
sh_3_tri[i][116] = new Triangle(1, 3, i, 198, 197, 196);
sh_3_tri[i][117] = new Triangle(1, 3, i, 201, 200, 199);
sh_3_tri[i][118] = new Triangle(1, 3, i, 204, 203, 202);
sh_3_tri[i][119] = new Triangle(1, 3, i, 207, 206, 205);
sh_3_tri[i][120] = new Triangle(1, 3, i, 210, 209, 208);
sh_4_tri[i][1] = new Triangle(1, 4, i, 1, 2, 5);
sh_4_tri[i][2] = new Triangle(1, 4, i, 1, 3, 6);
sh_4_tri[i][3] = new Triangle(1, 4, i, 1, 4, 7);
sh_4_tri[i][4] = new Triangle(1, 4, i, 2, 3, 8);
sh_4_tri[i][5] = new Triangle(1, 4, i, 2, 4, 9);
sh_4_tri[i][6] = new Triangle(1, 4, i, 3, 4, 10);
sh_4_tri[i][7] = new Triangle(1, 4, i, 5, 6, 8);
sh_4_tri[i][8] = new Triangle(1, 4, i, 5, 7, 9);
sh_4_tri[i][9] = new Triangle(1, 4, i, 6, 7, 10);
sh_4_tri[i][10] = new Triangle(1, 4, i, 8, 9, 10);
sh_4_tri[i][11] = new Triangle(1, 4, i, 11, 12, 14, 1);
sh_4_tri[i][12] = new Triangle(1, 4, i, 11, 13, 15, 1);
sh_4_tri[i][13] = new Triangle(1, 4, i, 12, 13, 16, 1);
sh_4_tri[i][14] = new Triangle(1, 4, i, 14, 15, 16, 1);
sh_4_tri[i][15] = new Triangle(1, 4, i, 17, 18, 20, 2);
sh_4_tri[i][16] = new Triangle(1, 4, i, 17, 19, 21, 2);
sh_4_tri[i][17] = new Triangle(1, 4, i, 18, 19, 22, 2);
sh_4_tri[i][18] = new Triangle(1, 4, i, 20, 21, 22, 2);
sh_4_tri[i][19] = new Triangle(1, 4, i, 23, 24, 26, 3);
sh_4_tri[i][20] = new Triangle(1, 4, i, 23, 25, 27, 3);
sh_4_tri[i][21] = new Triangle(1, 4, i, 24, 25, 28, 3);
sh_4_tri[i][22] = new Triangle(1, 4, i, 26, 27, 28, 3);
sh_4_tri[i][23] = new Triangle(1, 4, i, 29, 30, 32, 4);
sh_4_tri[i][24] = new Triangle(1, 4, i, 29, 31, 33, 4);
sh_4_tri[i][25] = new Triangle(1, 4, i, 30, 31, 34, 4);
sh_4_tri[i][26] = new Triangle(1, 4, i, 32, 33, 34, 4);
sh_4_tri[i][27] = new Triangle(1, 4, i, 35, 36, 38, 5);
sh_4_tri[i][28] = new Triangle(1, 4, i, 35, 37, 39, 5);
sh_4_tri[i][29] = new Triangle(1, 4, i, 36, 37, 40, 5);
sh_4_tri[i][30] = new Triangle(1, 4, i, 38, 39, 40, 5);
sh_4_tri[i][31] = new Triangle(1, 4, i, 41, 42, 43);
sh_4_tri[i][32] = new Triangle(1, 4, i, 44, 45, 46);
sh_4_tri[i][33] = new Triangle(1, 4, i, 47, 48, 49);
sh_4_tri[i][34] = new Triangle(1, 4, i, 50, 51, 52);
sh_4_tri[i][35] = new Triangle(1, 4, i, 53, 54, 55);
sh_4_tri[i][36] = new Triangle(1, 4, i, 56, 57, 58);
sh_4_tri[i][37] = new Triangle(1, 4, i, 59, 60, 61);
sh_4_tri[i][38] = new Triangle(1, 4, i, 62, 63, 64);
sh_4_tri[i][39] = new Triangle(1, 4, i, 65, 66, 67);
sh_4_tri[i][40] = new Triangle(1, 4, i, 68, 69, 70);
list_1[i][1] = new List();
list_1[i][1].add(sh_1_tri[i][1]);
list_1[i][1].add(sh_1_tri[i][11]);
list_1[i][1].add(sh_1_tri[i][15]);
list_1[i][1].add(sh_1_tri[i][31]);
list_1[i][2] = new List();
list_1[i][2].add(sh_1_tri[i][2]);
list_1[i][2].add(sh_1_tri[i][12]);
list_1[i][2].add(sh_1_tri[i][19]);
list_1[i][2].add(sh_1_tri[i][32]);
list_1[i][3] = new List();
list_1[i][3].add(sh_1_tri[i][3]);
list_1[i][3].add(sh_1_tri[i][16]);
list_1[i][3].add(sh_1_tri[i][20]);
list_1[i][3].add(sh_1_tri[i][33]);
list_1[i][4] = new List();
list_1[i][4].add(sh_1_tri[i][4]);
list_1[i][4].add(sh_1_tri[i][13]);
list_1[i][4].add(sh_1_tri[i][23]);
list_1[i][4].add(sh_1_tri[i][34]);
list_1[i][5] = new List();
list_1[i][5].add(sh_1_tri[i][5]);
list_1[i][5].add(sh_1_tri[i][17]);
list_1[i][5].add(sh_1_tri[i][24]);
list_1[i][5].add(sh_1_tri[i][35]);
list_1[i][6] = new List();
list_1[i][6].add(sh_1_tri[i][6]);
list_1[i][6].add(sh_1_tri[i][21]);
list_1[i][6].add(sh_1_tri[i][25]);
list_1[i][6].add(sh_1_tri[i][36]);
list_1[i][7] = new List();
list_1[i][7].add(sh_1_tri[i][7]);
list_1[i][7].add(sh_1_tri[i][14]);
list_1[i][7].add(sh_1_tri[i][27]);
list_1[i][7].add(sh_1_tri[i][37]);
list_1[i][8] = new List();
list_1[i][8].add(sh_1_tri[i][8]);
list_1[i][8].add(sh_1_tri[i][18]);
list_1[i][8].add(sh_1_tri[i][28]);
list_1[i][8].add(sh_1_tri[i][38]);
list_1[i][9] = new List();
list_1[i][9].add(sh_1_tri[i][9]);
list_1[i][9].add(sh_1_tri[i][22]);
list_1[i][9].add(sh_1_tri[i][29]);
list_1[i][9].add(sh_1_tri[i][39]);
list_1[i][10] = new List();
list_1[i][10].add(sh_1_tri[i][10]);
list_1[i][10].add(sh_1_tri[i][26]);
list_1[i][10].add(sh_1_tri[i][30]);
list_1[i][10].add(sh_1_tri[i][40]);
list_2[i][1] = new List();
list_2[i][1].add(sh_2_tri[i][1]);
list_2[i][1].add(sh_2_tri[i][51]);
list_2[i][1].add(sh_2_tri[i][59]);
list_2[i][1].add(sh_2_tri[i][91]);
list_2[i][2] = new List();
list_2[i][2].add(sh_2_tri[i][2]);
list_2[i][2].add(sh_2_tri[i][52]);
list_2[i][2].add(sh_2_tri[i][67]);
list_2[i][2].add(sh_2_tri[i][92]);
list_2[i][3] = new List();
list_2[i][3].add(sh_2_tri[i][3]);
list_2[i][3].add(sh_2_tri[i][60]);
list_2[i][3].add(sh_2_tri[i][68]);
list_2[i][3].add(sh_2_tri[i][93]);
list_2[i][4] = new List();
list_2[i][4].add(sh_2_tri[i][4]);
list_2[i][4].add(sh_2_tri[i][53]);
list_2[i][4].add(sh_2_tri[i][75]);
list_2[i][4].add(sh_2_tri[i][94]);
list_2[i][5] = new List();
list_2[i][5].add(sh_2_tri[i][5]);
list_2[i][5].add(sh_2_tri[i][61]);
list_2[i][5].add(sh_2_tri[i][76]);
list_2[i][5].add(sh_2_tri[i][95]);
list_2[i][6] = new List();
list_2[i][6].add(sh_2_tri[i][6]);
list_2[i][6].add(sh_2_tri[i][69]);
list_2[i][6].add(sh_2_tri[i][77]);
list_2[i][6].add(sh_2_tri[i][96]);
list_2[i][7] = new List();
list_2[i][7].add(sh_2_tri[i][7]);
list_2[i][7].add(sh_2_tri[i][54]);
list_2[i][7].add(sh_2_tri[i][83]);
list_2[i][7].add(sh_2_tri[i][97]);
list_2[i][8] = new List();
list_2[i][8].add(sh_2_tri[i][8]);
list_2[i][8].add(sh_2_tri[i][62]);
list_2[i][8].add(sh_2_tri[i][84]);
list_2[i][8].add(sh_2_tri[i][98]);
list_2[i][9] = new List();
list_2[i][9].add(sh_2_tri[i][9]);
list_2[i][9].add(sh_2_tri[i][70]);
list_2[i][9].add(sh_2_tri[i][85]);
list_2[i][9].add(sh_2_tri[i][99]);
list_2[i][10] = new List();
list_2[i][10].add(sh_2_tri[i][10]);
list_2[i][10].add(sh_2_tri[i][78]);
list_2[i][10].add(sh_2_tri[i][86]);
list_2[i][10].add(sh_2_tri[i][100]);
list_2[i][11] = new List();
list_2[i][11].add(sh_2_tri[i][11]);
list_2[i][11].add(sh_2_tri[i][31]);
list_2[i][11].add(sh_2_tri[i][55]);
list_2[i][11].add(sh_2_tri[i][101]);
list_2[i][12] = new List();
list_2[i][12].add(sh_2_tri[i][12]);
list_2[i][12].add(sh_2_tri[i][32]);
list_2[i][12].add(sh_2_tri[i][63]);
list_2[i][12].add(sh_2_tri[i][102]);
list_2[i][13] = new List();
list_2[i][13].add(sh_2_tri[i][13]);
list_2[i][13].add(sh_2_tri[i][33]);
list_2[i][13].add(sh_2_tri[i][71]);
list_2[i][13].add(sh_2_tri[i][103]);
list_2[i][14] = new List();
list_2[i][14].add(sh_2_tri[i][14]);
list_2[i][14].add(sh_2_tri[i][34]);
list_2[i][14].add(sh_2_tri[i][79]);
list_2[i][14].add(sh_2_tri[i][104]);
list_2[i][15] = new List();
list_2[i][15].add(sh_2_tri[i][15]);
list_2[i][15].add(sh_2_tri[i][35]);
list_2[i][15].add(sh_2_tri[i][56]);
list_2[i][15].add(sh_2_tri[i][105]);
list_2[i][16] = new List();
list_2[i][16].add(sh_2_tri[i][16]);
list_2[i][16].add(sh_2_tri[i][36]);
list_2[i][16].add(sh_2_tri[i][64]);
list_2[i][16].add(sh_2_tri[i][106]);
list_2[i][17] = new List();
list_2[i][17].add(sh_2_tri[i][17]);
list_2[i][17].add(sh_2_tri[i][37]);
list_2[i][17].add(sh_2_tri[i][72]);
list_2[i][17].add(sh_2_tri[i][107]);
list_2[i][18] = new List();
list_2[i][18].add(sh_2_tri[i][18]);
list_2[i][18].add(sh_2_tri[i][38]);
list_2[i][18].add(sh_2_tri[i][87]);
list_2[i][18].add(sh_2_tri[i][108]);
list_2[i][19] = new List();
list_2[i][19].add(sh_2_tri[i][19]);
list_2[i][19].add(sh_2_tri[i][39]);
list_2[i][19].add(sh_2_tri[i][57]);
list_2[i][19].add(sh_2_tri[i][109]);
list_2[i][20] = new List();
list_2[i][20].add(sh_2_tri[i][20]);
list_2[i][20].add(sh_2_tri[i][40]);
list_2[i][20].add(sh_2_tri[i][65]);
list_2[i][20].add(sh_2_tri[i][110]);
list_2[i][21] = new List();
list_2[i][21].add(sh_2_tri[i][21]);
list_2[i][21].add(sh_2_tri[i][41]);
list_2[i][21].add(sh_2_tri[i][80]);
list_2[i][21].add(sh_2_tri[i][111]);
list_2[i][22] = new List();
list_2[i][22].add(sh_2_tri[i][22]);
list_2[i][22].add(sh_2_tri[i][42]);
list_2[i][22].add(sh_2_tri[i][88]);
list_2[i][22].add(sh_2_tri[i][112]);
list_2[i][23] = new List();
list_2[i][23].add(sh_2_tri[i][23]);
list_2[i][23].add(sh_2_tri[i][43]);
list_2[i][23].add(sh_2_tri[i][58]);
list_2[i][23].add(sh_2_tri[i][113]);
list_2[i][24] = new List();
list_2[i][24].add(sh_2_tri[i][24]);
list_2[i][24].add(sh_2_tri[i][44]);
list_2[i][24].add(sh_2_tri[i][73]);
list_2[i][24].add(sh_2_tri[i][114]);
list_2[i][25] = new List();
list_2[i][25].add(sh_2_tri[i][25]);
list_2[i][25].add(sh_2_tri[i][45]);
list_2[i][25].add(sh_2_tri[i][81]);
list_2[i][25].add(sh_2_tri[i][115]);
list_2[i][26] = new List();
list_2[i][26].add(sh_2_tri[i][26]);
list_2[i][26].add(sh_2_tri[i][46]);
list_2[i][26].add(sh_2_tri[i][89]);
list_2[i][26].add(sh_2_tri[i][116]);
list_2[i][27] = new List();
list_2[i][27].add(sh_2_tri[i][27]);
list_2[i][27].add(sh_2_tri[i][47]);
list_2[i][27].add(sh_2_tri[i][66]);
list_2[i][27].add(sh_2_tri[i][117]);
list_2[i][28] = new List();
list_2[i][28].add(sh_2_tri[i][28]);
list_2[i][28].add(sh_2_tri[i][48]);
list_2[i][28].add(sh_2_tri[i][74]);
list_2[i][28].add(sh_2_tri[i][118]);
list_2[i][29] = new List();
list_2[i][29].add(sh_2_tri[i][29]);
list_2[i][29].add(sh_2_tri[i][49]);
list_2[i][29].add(sh_2_tri[i][82]);
list_2[i][29].add(sh_2_tri[i][119]);
list_2[i][30] = new List();
list_2[i][30].add(sh_2_tri[i][30]);
list_2[i][30].add(sh_2_tri[i][50]);
list_2[i][30].add(sh_2_tri[i][90]);
list_2[i][30].add(sh_2_tri[i][120]);
list_3[i][1] = new List();
list_3[i][1].add(sh_3_tri[i][1]);
list_3[i][1].add(sh_3_tri[i][51]);
list_3[i][1].add(sh_3_tri[i][59]);
list_3[i][1].add(sh_3_tri[i][91]);
list_3[i][2] = new List();
list_3[i][2].add(sh_3_tri[i][2]);
list_3[i][2].add(sh_3_tri[i][52]);
list_3[i][2].add(sh_3_tri[i][67]);
list_3[i][2].add(sh_3_tri[i][92]);
list_3[i][3] = new List();
list_3[i][3].add(sh_3_tri[i][3]);
list_3[i][3].add(sh_3_tri[i][60]);
list_3[i][3].add(sh_3_tri[i][68]);
list_3[i][3].add(sh_3_tri[i][93]);
list_3[i][4] = new List();
list_3[i][4].add(sh_3_tri[i][4]);
list_3[i][4].add(sh_3_tri[i][53]);
list_3[i][4].add(sh_3_tri[i][75]);
list_3[i][4].add(sh_3_tri[i][94]);
list_3[i][5] = new List();
list_3[i][5].add(sh_3_tri[i][5]);
list_3[i][5].add(sh_3_tri[i][61]);
list_3[i][5].add(sh_3_tri[i][76]);
list_3[i][5].add(sh_3_tri[i][95]);
list_3[i][6] = new List();
list_3[i][6].add(sh_3_tri[i][6]);
list_3[i][6].add(sh_3_tri[i][69]);
list_3[i][6].add(sh_3_tri[i][77]);
list_3[i][6].add(sh_3_tri[i][96]);
list_3[i][7] = new List();
list_3[i][7].add(sh_3_tri[i][7]);
list_3[i][7].add(sh_3_tri[i][54]);
list_3[i][7].add(sh_3_tri[i][83]);
list_3[i][7].add(sh_3_tri[i][97]);
list_3[i][8] = new List();
list_3[i][8].add(sh_3_tri[i][8]);
list_3[i][8].add(sh_3_tri[i][62]);
list_3[i][8].add(sh_3_tri[i][84]);
list_3[i][8].add(sh_3_tri[i][98]);
list_3[i][9] = new List();
list_3[i][9].add(sh_3_tri[i][9]);
list_3[i][9].add(sh_3_tri[i][70]);
list_3[i][9].add(sh_3_tri[i][85]);
list_3[i][9].add(sh_3_tri[i][99]);
list_3[i][10] = new List();
list_3[i][10].add(sh_3_tri[i][10]);
list_3[i][10].add(sh_3_tri[i][78]);
list_3[i][10].add(sh_3_tri[i][86]);
list_3[i][10].add(sh_3_tri[i][100]);
list_3[i][11] = new List();
list_3[i][11].add(sh_3_tri[i][11]);
list_3[i][11].add(sh_3_tri[i][31]);
list_3[i][11].add(sh_3_tri[i][55]);
list_3[i][11].add(sh_3_tri[i][101]);
list_3[i][12] = new List();
list_3[i][12].add(sh_3_tri[i][12]);
list_3[i][12].add(sh_3_tri[i][32]);
list_3[i][12].add(sh_3_tri[i][63]);
list_3[i][12].add(sh_3_tri[i][102]);
list_3[i][13] = new List();
list_3[i][13].add(sh_3_tri[i][13]);
list_3[i][13].add(sh_3_tri[i][33]);
list_3[i][13].add(sh_3_tri[i][71]);
list_3[i][13].add(sh_3_tri[i][103]);
list_3[i][14] = new List();
list_3[i][14].add(sh_3_tri[i][14]);
list_3[i][14].add(sh_3_tri[i][34]);
list_3[i][14].add(sh_3_tri[i][79]);
list_3[i][14].add(sh_3_tri[i][104]);
list_3[i][15] = new List();
list_3[i][15].add(sh_3_tri[i][15]);
list_3[i][15].add(sh_3_tri[i][35]);
list_3[i][15].add(sh_3_tri[i][56]);
list_3[i][15].add(sh_3_tri[i][105]);
list_3[i][16] = new List();
list_3[i][16].add(sh_3_tri[i][16]);
list_3[i][16].add(sh_3_tri[i][36]);
list_3[i][16].add(sh_3_tri[i][64]);
list_3[i][16].add(sh_3_tri[i][106]);
list_3[i][17] = new List();
list_3[i][17].add(sh_3_tri[i][17]);
list_3[i][17].add(sh_3_tri[i][37]);
list_3[i][17].add(sh_3_tri[i][72]);
list_3[i][17].add(sh_3_tri[i][107]);
list_3[i][18] = new List();
list_3[i][18].add(sh_3_tri[i][18]);
list_3[i][18].add(sh_3_tri[i][38]);
list_3[i][18].add(sh_3_tri[i][87]);
list_3[i][18].add(sh_3_tri[i][108]);
list_3[i][19] = new List();
list_3[i][19].add(sh_3_tri[i][19]);
list_3[i][19].add(sh_3_tri[i][39]);
list_3[i][19].add(sh_3_tri[i][57]);
list_3[i][19].add(sh_3_tri[i][109]);
list_3[i][20] = new List();
list_3[i][20].add(sh_3_tri[i][20]);
list_3[i][20].add(sh_3_tri[i][40]);
list_3[i][20].add(sh_3_tri[i][65]);
list_3[i][20].add(sh_3_tri[i][110]);
list_3[i][21] = new List();
list_3[i][21].add(sh_3_tri[i][21]);
list_3[i][21].add(sh_3_tri[i][41]);
list_3[i][21].add(sh_3_tri[i][80]);
list_3[i][21].add(sh_3_tri[i][111]);
list_3[i][22] = new List();
list_3[i][22].add(sh_3_tri[i][22]);
list_3[i][22].add(sh_3_tri[i][42]);
list_3[i][22].add(sh_3_tri[i][88]);
list_3[i][22].add(sh_3_tri[i][112]);
list_3[i][23] = new List();
list_3[i][23].add(sh_3_tri[i][23]);
list_3[i][23].add(sh_3_tri[i][43]);
list_3[i][23].add(sh_3_tri[i][58]);
list_3[i][23].add(sh_3_tri[i][113]);
list_3[i][24] = new List();
list_3[i][24].add(sh_3_tri[i][24]);
list_3[i][24].add(sh_3_tri[i][44]);
list_3[i][24].add(sh_3_tri[i][73]);
list_3[i][24].add(sh_3_tri[i][114]);
list_3[i][25] = new List();
list_3[i][25].add(sh_3_tri[i][25]);
list_3[i][25].add(sh_3_tri[i][45]);
list_3[i][25].add(sh_3_tri[i][81]);
list_3[i][25].add(sh_3_tri[i][115]);
list_3[i][26] = new List();
list_3[i][26].add(sh_3_tri[i][26]);
list_3[i][26].add(sh_3_tri[i][46]);
list_3[i][26].add(sh_3_tri[i][89]);
list_3[i][26].add(sh_3_tri[i][116]);
list_3[i][27] = new List();
list_3[i][27].add(sh_3_tri[i][27]);
list_3[i][27].add(sh_3_tri[i][47]);
list_3[i][27].add(sh_3_tri[i][66]);
list_3[i][27].add(sh_3_tri[i][117]);
list_3[i][28] = new List();
list_3[i][28].add(sh_3_tri[i][28]);
list_3[i][28].add(sh_3_tri[i][48]);
list_3[i][28].add(sh_3_tri[i][74]);
list_3[i][28].add(sh_3_tri[i][118]);
list_3[i][29] = new List();
list_3[i][29].add(sh_3_tri[i][29]);
list_3[i][29].add(sh_3_tri[i][49]);
list_3[i][29].add(sh_3_tri[i][82]);
list_3[i][29].add(sh_3_tri[i][119]);
list_3[i][30] = new List();
list_3[i][30].add(sh_3_tri[i][30]);
list_3[i][30].add(sh_3_tri[i][50]);
list_3[i][30].add(sh_3_tri[i][90]);
list_3[i][30].add(sh_3_tri[i][120]);
list_4[i][1] = new List();
list_4[i][1].add(sh_4_tri[i][1]);
list_4[i][1].add(sh_4_tri[i][11]);
list_4[i][1].add(sh_4_tri[i][15]);
list_4[i][1].add(sh_4_tri[i][31]);
list_4[i][2] = new List();
list_4[i][2].add(sh_4_tri[i][2]);
list_4[i][2].add(sh_4_tri[i][12]);
list_4[i][2].add(sh_4_tri[i][19]);
list_4[i][2].add(sh_4_tri[i][32]);
list_4[i][3] = new List();
list_4[i][3].add(sh_4_tri[i][3]);
list_4[i][3].add(sh_4_tri[i][16]);
list_4[i][3].add(sh_4_tri[i][20]);
list_4[i][3].add(sh_4_tri[i][33]);
list_4[i][4] = new List();
list_4[i][4].add(sh_4_tri[i][4]);
list_4[i][4].add(sh_4_tri[i][13]);
list_4[i][4].add(sh_4_tri[i][23]);
list_4[i][4].add(sh_4_tri[i][34]);
list_4[i][5] = new List();
list_4[i][5].add(sh_4_tri[i][5]);
list_4[i][5].add(sh_4_tri[i][17]);
list_4[i][5].add(sh_4_tri[i][24]);
list_4[i][5].add(sh_4_tri[i][35]);
list_4[i][6] = new List();
list_4[i][6].add(sh_4_tri[i][6]);
list_4[i][6].add(sh_4_tri[i][21]);
list_4[i][6].add(sh_4_tri[i][25]);
list_4[i][6].add(sh_4_tri[i][36]);
list_4[i][7] = new List();
list_4[i][7].add(sh_4_tri[i][7]);
list_4[i][7].add(sh_4_tri[i][14]);
list_4[i][7].add(sh_4_tri[i][27]);
list_4[i][7].add(sh_4_tri[i][37]);
list_4[i][8] = new List();
list_4[i][8].add(sh_4_tri[i][8]);
list_4[i][8].add(sh_4_tri[i][18]);
list_4[i][8].add(sh_4_tri[i][28]);
list_4[i][8].add(sh_4_tri[i][38]);
list_4[i][9] = new List();
list_4[i][9].add(sh_4_tri[i][9]);
list_4[i][9].add(sh_4_tri[i][22]);
list_4[i][9].add(sh_4_tri[i][29]);
list_4[i][9].add(sh_4_tri[i][39]);
list_4[i][10] = new List();
list_4[i][10].add(sh_4_tri[i][10]);
list_4[i][10].add(sh_4_tri[i][26]);
list_4[i][10].add(sh_4_tri[i][30]);
list_4[i][10].add(sh_4_tri[i][40]);
d1_tet[i][1] = new Tet(1, i, 11);
d1_tet[i][2] = new Tet(1, i, 17);
d1_tet[i][3] = new Tet(1, i, 23);
d1_tet[i][4] = new Tet(1, i, 29);
d1_tet[i][5] = new Tet(1, i, 35);
d2_tet[i][1] = new Tet(2, i, 31);
d2_tet[i][2] = new Tet(2, i, 37);
d2_tet[i][3] = new Tet(2, i, 43);
d2_tet[i][4] = new Tet(2, i, 49);
d2_tet[i][5] = new Tet(2, i, 55);
d2_oct[i][1] = new Oct(2, i, 61);
d2_oct[i][2] = new Oct(2, i, 73);
d2_oct[i][3] = new Oct(2, i, 85);
d2_oct[i][4] = new Oct(2, i, 97);
d2_oct[i][5] = new Oct(2, i, 109);
d3_tet[i][1] = new Tet(3, i, 31);
d3_tet[i][2] = new Tet(3, i, 37);
d3_tet[i][3] = new Tet(3, i, 43);
d3_tet[i][4] = new Tet(3, i, 49);
d3_tet[i][5] = new Tet(3, i, 55);
d3_oct[i][1] = new Oct(3, i, 61);
d3_oct[i][2] = new Oct(3, i, 73);
d3_oct[i][3] = new Oct(3, i, 85);
d3_oct[i][4] = new Oct(3, i, 97);
d3_oct[i][5] = new Oct(3, i, 109);
d4_tet[i][1] = new Tet(4, i, 11);
d4_tet[i][2] = new Tet(4, i, 17);
d4_tet[i][3] = new Tet(4, i, 23);
d4_tet[i][4] = new Tet(4, i, 29);
d4_tet[i][5] = new Tet(4, i, 35);
sub[i][1] = new SubSpace(d1_tet[i][1], d2_oct[i][1], d3_tet[i][5]);
sub[i][2] = new SubSpace(d1_tet[i][2], d2_oct[i][2], d3_tet[i][4]);
sub[i][3] = new SubSpace(d1_tet[i][3], d2_oct[i][3], d3_tet[i][3]);
sub[i][4] = new SubSpace(d1_tet[i][4], d2_oct[i][4], d3_tet[i][2]);
sub[i][5] = new SubSpace(d1_tet[i][5], d2_oct[i][5], d3_tet[i][1]);
sub[i][6] = new SubSpace(d4_tet[i][5], d3_oct[i][5], d2_tet[i][1]);
sub[i][7] = new SubSpace(d4_tet[i][4], d3_oct[i][4], d2_tet[i][2]);
sub[i][8] = new SubSpace(d4_tet[i][3], d3_oct[i][3], d2_tet[i][3]);
sub[i][9] = new SubSpace(d4_tet[i][2], d3_oct[i][2], d2_tet[i][4]);
sub[i][10] = new SubSpace(d4_tet[i][1], d3_oct[i][1], d2_tet[i][5]);
// sub[i][1] = new SubSpace(d1_tet[i][1], d2_oct[i][1], d3_tet[i][5]);
// sub[i][2] = new SubSpace(d1_tet[i][2], d2_oct[i][2], d3_tet[i][4]);
// sub[i][3] = new SubSpace(d1_tet[i][3], d2_oct[i][3], d3_tet[i][3]);
// sub[i][4] = new SubSpace(d1_tet[i][4], d2_oct[i][4], d3_tet[i][2]);
// sub[i][5] = new SubSpace(d1_tet[i][5], d2_oct[i][5], d3_tet[i][1]);
//
// sub[i][6] = new SubSpace(d2_tet[i][1], d3_oct[i][5], d4_tet[i][5]);
// sub[i][7] = new SubSpace(d2_tet[i][2], d3_oct[i][4], d4_tet[i][4]);
// sub[i][8] = new SubSpace(d2_tet[i][3], d3_oct[i][3], d4_tet[i][3]);
// sub[i][9] = new SubSpace(d2_tet[i][4], d3_oct[i][2], d4_tet[i][2]);
// sub[i][10] = new SubSpace(d2_tet[i][5], d3_oct[i][1], d4_tet[i][1]);
}
}
public static void sToSharp()
{
if(copy_s_four)
{
for(int j = strataFirst; j < strataLast; j++)
{
for(int i = 0; i < 11; i++)
{
sh_1[j][i] = s_1[j][i];
sh_4[j][i] = s_4[j][i];
}
}
for(int j = strataFirst; j < strataLast; j++)
{
for(int i = 0; i < 31; i++)
{
sh_2[j][i] = s_2[j][i];
sh_3[j][i] = s_3[j][i];
}
}
}
for(int j = strataFirst; j < strataLast; j++)
{
for(int i = 1; i < 11; i++)
{
int a = list_1[j][i].get(0).getA();
int b = list_1[j][i].get(0).getB();
int c = list_1[j][i].get(0).getC();
list_1[j][i].get(1).setA(a);
list_1[j][i].get(1).setB(b);
list_1[j][i].get(1).setC(c);
list_1[j][i].get(2).setA(a);
list_1[j][i].get(2).setB(b);
list_1[j][i].get(2).setC(c);
if(a + b + c != 3)
{
list_1[j][i].get(3).setA(a);
list_1[j][i].get(3).setB(b);
list_1[j][i].get(3).setC(c);
}
a = list_4[j][i].get(0).getA();
b = list_4[j][i].get(0).getB();
c = list_4[j][i].get(0).getC();
list_4[j][i].get(1).setA(a);
list_4[j][i].get(1).setB(b);
list_4[j][i].get(1).setC(c);
list_4[j][i].get(2).setA(a);
list_4[j][i].get(2).setB(b);
list_4[j][i].get(2).setC(c);
if(a + b + c != 3)
{
list_4[j][i].get(3).setA(a);
list_4[j][i].get(3).setB(b);
list_4[j][i].get(3).setC(c);
}
}
for(int i = 1; i < 31; i++)
{
int a = list_2[j][i].get(0).getA();
int b = list_2[j][i].get(0).getB();
int c = list_2[j][i].get(0).getC();
list_2[j][i].get(1).setA(a);
list_2[j][i].get(1).setB(b);
list_2[j][i].get(1).setC(c);
list_2[j][i].get(2).setA(a);
list_2[j][i].get(2).setB(b);
list_2[j][i].get(2).setC(c);
if(a + b + c != 3)
{
list_2[j][i].get(3).setA(a);
list_2[j][i].get(3).setB(b);
list_2[j][i].get(3).setC(c);
}
a = list_3[j][i].get(0).getA();
b = list_3[j][i].get(0).getB();
c = list_3[j][i].get(0).getC();
list_3[j][i].get(1).setA(a);
list_3[j][i].get(1).setB(b);
list_3[j][i].get(1).setC(c);
list_3[j][i].get(2).setA(a);
list_3[j][i].get(2).setB(b);
list_3[j][i].get(2).setC(c);
if(a + b + c != 3)
{
list_3[j][i].get(3).setA(a);
list_3[j][i].get(3).setB(b);
list_3[j][i].get(3).setC(c);
}
}
if(tetSides(j, 1, 11) == 6) remakeTet(j, 1, 11);
if(tetSides(j, 1, 17) == 6) remakeTet(j, 1, 17);
if(tetSides(j, 1, 23) == 6) remakeTet(j, 1, 23);
if(tetSides(j, 1, 29) == 6) remakeTet(j, 1, 29);
if(tetSides(j, 1, 35) == 6) remakeTet(j, 1, 35);
if(tetSides(j, 4, 11) == 6) remakeTet(j, 4, 11);
if(tetSides(j, 4, 17) == 6) remakeTet(j, 4, 17);
if(tetSides(j, 4, 23) == 6) remakeTet(j, 4, 23);
if(tetSides(j, 4, 29) == 6) remakeTet(j, 4, 29);
if(tetSides(j, 4, 35) == 6) remakeTet(j, 4, 35);
if(tetSides(j, 2, 31) == 6) remakeTet(j, 2, 31);
if(tetSides(j, 2, 37) == 6) remakeTet(j, 2, 37);
if(tetSides(j, 2, 43) == 6) remakeTet(j, 2, 43);
if(tetSides(j, 2, 49) == 6) remakeTet(j, 2, 49);
if(tetSides(j, 2, 55) == 6) remakeTet(j, 2, 55);
if(tetSides(j, 3, 31) == 6) remakeTet(j, 3, 31);
if(tetSides(j, 3, 37) == 6) remakeTet(j, 3, 37);
if(tetSides(j, 3, 43) == 6) remakeTet(j, 3, 43);
if(tetSides(j, 3, 49) == 6) remakeTet(j, 3, 49);
if(tetSides(j, 3, 55) == 6) remakeTet(j, 3, 55);
if(octSides(j, 2, 61) == 12) remakeOct(j, 2, 61);
if(octSides(j, 2, 73) == 12) remakeOct(j, 2, 73);
if(octSides(j, 2, 85) == 12) remakeOct(j, 2, 85);
if(octSides(j, 2, 97) == 12) remakeOct(j, 2, 97);
if(octSides(j, 2, 109) == 12) remakeOct(j, 2, 109);
if(octSides(j, 3, 61) == 12) remakeOct(j, 3, 61);
if(octSides(j, 3, 73) == 12) remakeOct(j, 3, 73);
if(octSides(j, 3, 85) == 12) remakeOct(j, 3, 85);
if(octSides(j, 3, 97) == 12) remakeOct(j, 3, 97);
if(octSides(j, 3, 109) == 12) remakeOct(j, 3, 109);
}
}
public static void remakeTet(int num, int d, int first)
{
if(d == 1)
{
for(int i = 0; i < 6; i++)
{
sh_1[num][first + i] = 0;
}
}
if(d == 2)
{
for(int i = 0; i < 6; i++)
{
sh_2[num][first + i] = 0;
}
}
if(d == 3)
{
for(int i = 0; i < 6; i++)
{
sh_3[num][first + i] = 0;
}
}
if(d == 4)
{
for(int i = 0; i < 6; i++)
{
sh_4[num][first + i] = 0;
}
}
}
public static int tetSides(int num, int d, int first)
{
int collapsedSides = 0;
if(d == 1)
{
for(int i = 0; i < 6; i++)
{
collapsedSides = collapsedSides + sh_1[num][first + i];
}
}
if(d == 2)
{
for(int i = 0; i < 6; i++)
{
collapsedSides = collapsedSides + sh_2[num][first + i];
}
}
if(d == 3)
{
for(int i = 0; i < 6; i++)
{
collapsedSides = collapsedSides + sh_3[num][first + i];
}
}
if(d == 4)
{
for(int i = 0; i < 6; i++)
{
collapsedSides = collapsedSides + sh_4[num][first + i];
}
}
return collapsedSides;
}
public static void remakeOct(int num, int d, int first)
{
if(d == 2)
{
for(int i = 0; i < 12; i++)
{
sh_2[num][first + i] = 0;
}
}
if(d == 3)
{
for(int i = 0; i < 12; i++)
{
sh_3[num][first + i] = 0;
}
}
}
public static int octSides(int num, int d, int first)
{
int collapsedSides = 0;
if(d == 2)
{
for(int i = 0; i < 12; i++)
{
collapsedSides = collapsedSides + sh_2[num][first + i];
}
}
if(d == 3)
{
for(int i = 0; i < 12; i++)
{
collapsedSides = collapsedSides + sh_3[num][first + i];
}
}
return collapsedSides;
}
public static void subSpaceAnalysis(int i)
{
int numWorks;
int rightSub;
boolean works;
for(int j = 1; j < 11; j++)
{
numWorks = 0;
rightSub = -1;
int subSpaceCompleteHolder = SubSpaceComplete[i][j];
for(int k = 0; k < numSubs; k++)
{
works = true;
for(int m = 1; m < 7; m++)
{
if(subs_tetOne[k][m] == 0 && sub[i][j].getTetOne().get(m) == 1) works = false;
if(subs_tetTwo[k][m] == 0 && sub[i][j].getTetTwo().get(m) == 1) works = false;
}
for(int m = 1; m < 13; m++)
{
if(subs_oct[k][m] == 0 && sub[i][j].getOct().get(m) == 1) works = false;
}
if(works)
{
rightSub = k;
numWorks++;
}
}
if(subTrace) System.out.println(j + " " + numWorks);
if(numWorks == 1)
{
for(int m = 1; m < 7; m++)
{
sub[i][j].getTetOne().set(m, subs_tetOne[rightSub][m]);
sub[i][j].getTetTwo().set(m, subs_tetTwo[rightSub][m]);
}
for(int m = 1; m < 13; m++)
{
sub[i][j].getOct().set(m, subs_oct[rightSub][m]);
}
SubSpaceComplete[i][j] = 1;
if(subSpaceCompleteHolder != SubSpaceComplete[i][j]) globalChanged = true;
}
}
if(subTrace) outputTwo();
}
public static boolean shToShCmpTwo(List a, List b, int firstStart, int firstFinish, int secondStart, int secondFinish)
{
boolean toReturn = false;
for(int i = firstStart; i < firstFinish; i++)
{
for(int j = secondStart; j < secondFinish; j++)
{
if(sToShCmpTwo(a.get(i), b.get(j))) toReturn = true;
}
}
return toReturn;
}
public static void sharpListCmpTwo(SharpList a, SharpList b, int firstStart, int firstFinish, int secondStart, int secondFinish)
{
for(int i = firstStart; i < firstFinish; i++)
{
for(int j = secondStart; j < secondFinish; j++)
{
sharpCmpTwo(a.get(i), b.get(j));
}
}
}
public static void sharpListCmp(SharpList a, SharpList b, int firstStart, int firstFinish, int secondStart, int secondFinish)
{
for(int i = firstStart; i < firstFinish; i++)
{
for(int j = secondStart; j < secondFinish; j++)
{
sharpCmp(a.get(i), b.get(j));
}
}
}
public static boolean sToShCmp(Triangle a, Triangle b)
{
a.refresh();
b.refresh();
if(a.totalSides() != 1) return false;
// if(a.getThreeDimFig() != 0)
// {
// int sides;
// int first = -1;
// int delta = a.getdelta();
// int num = a.getnum();
//
// if(a.isOct())
// {
// if(a.getThreeDimFig() == 1) first = 61;
// if(a.getThreeDimFig() == 2) first = 73;
// if(a.getThreeDimFig() == 3) first = 85;
// if(a.getThreeDimFig() == 4) first = 97;
// if(a.getThreeDimFig() == 5) first = 109;
//
// sides = octSides(num, delta, first);
//
// if(sides < 6) return false;
// }
//
// else if(delta == 2 || delta == 3)
// {
// if(a.getThreeDimFig() == 1) first = 31;
// if(a.getThreeDimFig() == 2) first = 37;
// if(a.getThreeDimFig() == 3) first = 43;
// if(a.getThreeDimFig() == 4) first = 49;
// if(a.getThreeDimFig() == 5) first = 55;
//
// sides = tetSides(num, delta, first);
//
// if(sides < 2) return false;
// }
//
// else
// {
// if(a.getThreeDimFig() == 1) first = 11;
// if(a.getThreeDimFig() == 2) first = 17;
// if(a.getThreeDimFig() == 3) first = 23;
// if(a.getThreeDimFig() == 4) first = 29;
// if(a.getThreeDimFig() == 5) first = 35;
//
// sides = tetSides(num, delta, first);
//
// if(sides < 2) return false;
// }
// }
int aInit = b.getA();
int bInit = b.getB();
int cInit = b.getC();
int sOrSh = b.getsOrSh();
int num = b.getnum();
int delta = b.getdelta();
if(a.getA() == 1) b.setA(1);
if(a.getB() == 1) b.setB(1);
if(a.getC() == 1) b.setC(1);
int bNum = b.getnum();
int bDelta = b.getdelta();
if(aInit != b.getA() || bInit != b.getB() || cInit != b.getC())
{
if(trace)
{
System.out.println(a.getsOrSh() + " " + a.getdelta() + " " + b.getsOrSh() + " " + b.getdelta());
System.out.println(a.getATest() + " " + a.getBTest() + " " + a.getCTest() + " " + b.getATest() + " " + b.getBTest() + " " + b.getCTest());
System.out.println(a.getA() + " " + a.getB() + " " + a.getC() + " " + aInit + " " + bInit + " " + cInit);
System.out.println(a.getA() + " " + a.getB() + " " + a.getC() + " " + b.getA() + " " + b.getB() + " " + b.getC());
System.out.println();
}
if(aInit != b.getA()) checkTri(bNum, bDelta, b.getATest());
else if(bInit != b.getB()) checkTri(bNum, bDelta, b.getBTest());
else if(cInit != b.getC()) checkTri(bNum, bDelta, b.getCTest());
return true;
}
else return false;
}
public static void sharpCmp(SharpTriangle a, SharpTriangle b)
{
a.refresh();
b.refresh();
if(a.totalSides() != 1) return;
int aInit = b.getA();
int bInit = b.getB();
int cInit = b.getC();
int delta = b.getdelta();
if(a.getA() == 1) b.setA(1);
if(a.getB() == 1) b.setB(1);
if(a.getC() == 1) b.setC(1);
int bDelta = b.getdelta();
// System.out.println(a.getdelta() + " " + b.getdelta());
//
// System.out.println(a.getATest() + " " + a.getBTest() + " " + a.getCTest() + " " + b.getATest() + " " + b.getBTest() + " " + b.getCTest());
// System.out.println(a.getA() + " " + a.getB() + " " + a.getC() + " " + aInit + " " + bInit + " " + cInit);
// System.out.println(a.getA() + " " + a.getB() + " " + a.getC() + " " + b.getA() + " " + b.getB() + " " + b.getC());
//
// System.out.println();
if(aInit != b.getA() || bInit != b.getB() || cInit != b.getC())
{
if(aInit != b.getA()) sharpCheckTri(b, bDelta, b.getATest());
else if(bInit != b.getB()) sharpCheckTri(b, bDelta, b.getBTest());
else if(cInit != b.getC()) sharpCheckTri(b, bDelta, b.getCTest());
}
}
public static boolean sToShCmpTwo(Triangle a, Triangle b)
{
a.refresh();
b.refresh();
if(a.totalSides() != 1) return false;
// if(a.getThreeDimFig() != 0)
// {
// int sides;
// int first = -1;
// int delta = a.getdelta();
// int num = a.getnum();
//
// if(a.isOct())
// {
// if(a.getThreeDimFig() == 1) first = 61;
// if(a.getThreeDimFig() == 2) first = 73;
// if(a.getThreeDimFig() == 3) first = 85;
// if(a.getThreeDimFig() == 4) first = 97;
// if(a.getThreeDimFig() == 5) first = 109;
//
// sides = octSides(num, delta, first);
//
// if(sides < 6) return false;
// }
//
// else if(delta == 2 || delta == 3)
// {
// if(a.getThreeDimFig() == 1) first = 31;
// if(a.getThreeDimFig() == 2) first = 37;
// if(a.getThreeDimFig() == 3) first = 43;
// if(a.getThreeDimFig() == 4) first = 49;
// if(a.getThreeDimFig() == 5) first = 55;
//
// sides = tetSides(num, delta, first);
//
// if(sides < 2) return false;
// }
//
// else
// {
// if(a.getThreeDimFig() == 1) first = 11;
// if(a.getThreeDimFig() == 2) first = 17;
// if(a.getThreeDimFig() == 3) first = 23;
// if(a.getThreeDimFig() == 4) first = 29;
// if(a.getThreeDimFig() == 5) first = 35;
//
// sides = tetSides(num, delta, first);
//
// if(sides < 2) return false;
// }
// }
int aInit = b.getA();
int bInit = b.getB();
int cInit = b.getC();
if(a.getA() == 1) b.setC(1);
if(a.getB() == 1) b.setB(1);
if(a.getC() == 1) b.setA(1);
int bNum = b.getnum();
int bDelta = b.getdelta();
if(aInit != b.getA() || bInit != b.getB() || cInit != b.getC())
{
if(trace)
{
System.out.println(a.getsOrSh() + " " + a.getdelta() + " " + b.getsOrSh() + " " + b.getdelta());
System.out.println(a.getATest() + " " + a.getBTest() + " " + a.getCTest() + " " + b.getCTest() + " " + b.getBTest() + " " + b.getATest());
System.out.println(a.getA() + " " + a.getB() + " " + a.getC() + " " + cInit + " " + bInit + " " + aInit);
System.out.println(a.getA() + " " + a.getB() + " " + a.getC() + " " + b.getC() + " " + b.getB() + " " + b.getA());
System.out.println();
}
if(aInit != b.getA()) checkTri(bNum, bDelta, b.getATest());
else if(bInit != b.getB()) checkTri(bNum, bDelta, b.getBTest());
else if(cInit != b.getC()) checkTri(bNum, bDelta, b.getCTest());
return true;
}
else return false;
}
public static void sharpCmpTwo(SharpTriangle a, SharpTriangle b)
{
a.refresh();
b.refresh();
if(a.totalSides() != 1) return;
int aInit = b.getA();
int bInit = b.getB();
int cInit = b.getC();
if(a.getA() == 1) b.setC(1);
if(a.getB() == 1) b.setB(1);
if(a.getC() == 1) b.setA(1);
int bDelta = b.getdelta();
if(aInit != b.getA() || bInit != b.getB() || cInit != b.getC())
{
if(aInit != b.getA()) sharpCheckTri(b, bDelta, b.getATest());
else if(bInit != b.getB()) sharpCheckTri(b, bDelta, b.getBTest());
else if(cInit != b.getC()) sharpCheckTri(b, bDelta, b.getCTest());
}
}
public static void checkTri(int num, int delta, int edge)
{
if(delta == 1)
{
for(int i = 1; i < 41; i++)
{
if(sh_1_tri[num][i].getATest() == edge || sh_1_tri[num][i].getBTest() == edge || sh_1_tri[num][i].getCTest() == edge)
{
sh_1_tri[num][i].thirdSide();
}
}
}
if(delta == 4)
{
for(int i = 1; i < 41; i++)
{
if(sh_4_tri[num][i].getATest() == edge || sh_4_tri[num][i].getBTest() == edge || sh_4_tri[num][i].getCTest() == edge) sh_4_tri[num][i].thirdSide();
}
}
if(delta == 2)
{
for(int i = 1; i < 121; i++)
{
if(sh_2_tri[num][i].getATest() == edge || sh_2_tri[num][i].getBTest() == edge || sh_2_tri[num][i].getCTest() == edge) sh_2_tri[num][i].thirdSide();
}
}
if(delta == 3)
{
for(int i = 1; i < 121; i++)
{
if(sh_3_tri[num][i].getATest() == edge || sh_3_tri[num][i].getBTest() == edge || sh_3_tri[num][i].getCTest() == edge)
{
sh_3_tri[num][i].thirdSide();
}
}
}
}
public static void sharpCheckTri(SharpTriangle tri, int delta, int edge)
{
if(delta == 1)
{
for(int i = 1; i < 41; i++)
{
if(tri.getSharp().tri_1[i].getATest() == edge || tri.getSharp().tri_1[i].getBTest() == edge || tri.getSharp().tri_1[i].getCTest() == edge)
{
tri.getSharp().tri_1[i].thirdSide();
}
}
}
if(delta == 4)
{
for(int i = 1; i < 41; i++)
{
if(tri.getSharp().tri_4[i].getATest() == edge || tri.getSharp().tri_4[i].getBTest() == edge || tri.getSharp().tri_4[i].getCTest() == edge) tri.getSharp().tri_4[i].thirdSide();
}
}
if(delta == 3)
{
for(int i = 1; i < 121; i++)
{
if(tri.getSharp().tri_3[i].getATest() == edge || tri.getSharp().tri_3[i].getBTest() == edge || tri.getSharp().tri_3[i].getCTest() == edge) tri.getSharp().tri_3[i].thirdSide();
}
}
if(delta == 2)
{
for(int i = 1; i < 121; i++)
{
if(tri.getSharp().tri_2[i].getATest() == edge || tri.getSharp().tri_2[i].getBTest() == edge || tri.getSharp().tri_2[i].getCTest() == edge)
{
tri.getSharp().tri_2[i].thirdSide();
}
}
}
}
public static void triangleComparisonsDimensionTwo(int i)
{
for(int j = 1; j < 11; j++)
{
shToShCmp(list_1[i][j], list_1[i][j], 0, 4, 3, 4);
shToShCmp(list_4[i][j], list_4[i][j], 0, 4, 3, 4);
shToShCmp(list_1[i][j], list_2[i][j], 0, 4, 3, 4);
shToShCmp(list_3[i][j], list_4[i][j], 0, 4, 3, 4);
shToShCmp(list_2[i][j], list_1[i][j], 0, 4, 3, 4);
shToShCmp(list_4[i][j], list_3[i][j], 0, 4, 3, 4);
}
for(int j = 1; j < 31; j++)
{
shToShCmp(list_2[i][j], list_2[i][j], 0, 4, 3, 4);
shToShCmp(list_3[i][j], list_3[i][j], 0, 4, 3, 4);
}
}
public static void triangleComparisons(int i)
{
for(int j = 1; j < 11; j++)
{
if(shToShCmp(list_1[i][j], list_1[i][j], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmp(list_4[i][j], list_4[i][j], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmp(list_1[i][j], list_2[i][j], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmp(list_3[i][j], list_4[i][j], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmp(list_2[i][j], list_1[i][j], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmp(list_4[i][j], list_3[i][j], 0, 4, 1, 4)) globalChanged = true;
}
for(int j = 1; j < 31; j++)
{
if(shToShCmp(list_2[i][j], list_2[i][j], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmp(list_3[i][j], list_3[i][j], 0, 4, 1, 4)) globalChanged = true;
}
boolean changed;
if(twoToThree)
{
if(shToShCmpTwo(list_3[i][11], list_2[i][30], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][12], list_2[i][26], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][13], list_2[i][22], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][14], list_2[i][18], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][15], list_2[i][29], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][16], list_2[i][25], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][17], list_2[i][21], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][18], list_2[i][14], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][19], list_2[i][28], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][20], list_2[i][24], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][21], list_2[i][17], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][22], list_2[i][13], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][23], list_2[i][27], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][24], list_2[i][20], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][25], list_2[i][16], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][26], list_2[i][12], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][27], list_2[i][23], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][28], list_2[i][19], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][29], list_2[i][15], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][30], list_2[i][11], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][11], list_3[i][30], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][12], list_3[i][26], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][13], list_3[i][22], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][14], list_3[i][18], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][15], list_3[i][29], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][16], list_3[i][25], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][17], list_3[i][21], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][18], list_3[i][14], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][19], list_3[i][28], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][20], list_3[i][24], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][21], list_3[i][17], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][22], list_3[i][13], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][23], list_3[i][27], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][24], list_3[i][20], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][25], list_3[i][16], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][26], list_3[i][12], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][27], list_3[i][23], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][28], list_3[i][19], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][29], list_3[i][15], 0, 1, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][30], list_3[i][11], 0, 1, 1, 4)) globalChanged = true;
if(twoToThreeSecond)
{
if(shToShCmpTwo(list_3[i][11], list_2[i][30], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][12], list_2[i][26], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][13], list_2[i][22], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][14], list_2[i][18], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][15], list_2[i][29], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][16], list_2[i][25], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][17], list_2[i][21], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][18], list_2[i][14], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][19], list_2[i][28], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][20], list_2[i][24], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][21], list_2[i][17], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][22], list_2[i][13], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][23], list_2[i][27], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][24], list_2[i][20], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][25], list_2[i][16], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][26], list_2[i][12], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][27], list_2[i][23], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][28], list_2[i][19], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][29], list_2[i][15], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_3[i][30], list_2[i][11], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][11], list_3[i][30], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][12], list_3[i][26], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][13], list_3[i][22], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][14], list_3[i][18], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][15], list_3[i][29], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][16], list_3[i][25], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][17], list_3[i][21], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][18], list_3[i][14], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][19], list_3[i][28], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][20], list_3[i][24], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][21], list_3[i][17], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][22], list_3[i][13], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][23], list_3[i][27], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][24], list_3[i][20], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][25], list_3[i][16], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][26], list_3[i][12], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][27], list_3[i][23], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][28], list_3[i][19], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][29], list_3[i][15], 0, 4, 1, 4)) globalChanged = true;
if(shToShCmpTwo(list_2[i][30], list_3[i][11], 0, 4, 1, 4)) globalChanged = true;
}
}
}
public static void brancher(Sharp sharp, int ts)
{
boolean keepGoing = true;
if(recursionTrace) System.out.println(ts);
if(recursionTrace) printSharp(sharp);
// sharpTriangleComparisons(sharp);
// if(sharpOverCollapsed(sharp)) keepGoing = false;
if(ts > 10)
{
// sharpTriangleComparisons(sharp);
if(sharpOverCollapsed(sharp) == false)
{
hasGoodSharps[sharp.number] = true;
// sharpStack[sharp.number].addItem(sharp);
sharpCount[sharp.number]++;
// sharps[sharp.number][sharpCount[sharp.number]] = sharp;
if(!outputTen) System.out.print((sharp.number + 1) + " : ");
if(!outputTen) printSharp(sharp);
}
keepGoing = false;
}
if(keepGoing) sharpSubSpaceAnalysis(sharp, ts);
}
public static boolean sharpOverCollapsed(Sharp sharp)
{
boolean toReturn = false;
for(int i = 31; i < 41; i++)
{
if(sharp.tri_1[i].totalSides() > 1 ) toReturn = true;
if(sharp.tri_4[i].totalSides() > 1 ) toReturn = true;
}
for(int i = 91; i < 121; i++)
{
if(sharp.tri_2[i].totalSides() > 1 ) toReturn = true;
if(sharp.tri_3[i].totalSides() > 1 ) toReturn = true;
}
for(int i = 1; i < 6; i++)
{
if(sharp.d1_tet[i].totalSides() > 3 ) toReturn = true;
if(sharp.d2_tet[i].totalSides() > 3 ) toReturn = true;
if(sharp.d3_tet[i].totalSides() > 3 ) toReturn = true;
if(sharp.d4_tet[i].totalSides() > 3 ) toReturn = true;
if(sharp.d2_oct[i].totalSides() > 8 ) toReturn = true;
if(sharp.d3_oct[i].totalSides() > 8 ) toReturn = true;
}
return toReturn;
}
public static boolean sharpCompletelyCollapsed(Sharp sharp)
{
boolean toReturn = true;
for(int i = 31; i < 41; i++)
{
if(sharp.tri_1[i].totalSides() < 1 ) toReturn = false;
if(sharp.tri_4[i].totalSides() < 1 ) toReturn = false;
}
for(int i = 91; i < 121; i++)
{
if(sharp.tri_2[i].totalSides() < 1 ) toReturn = false;
if(sharp.tri_3[i].totalSides() < 1 ) toReturn = false;
}
return toReturn;
}
public static void sharpTriangleComparisons(Sharp sharp)
{
for(int j = 1; j < 11; j++)
{
sharpListCmp(sharp.sharpList_1[j], sharp.sharpList_1[j], 0, 4, 1, 4);
sharpListCmp(sharp.sharpList_4[j], sharp.sharpList_4[j], 0, 4, 1, 4);
sharpListCmp(sharp.sharpList_1[j], sharp.sharpList_2[j], 0, 4, 1, 4);
sharpListCmp(sharp.sharpList_3[j], sharp.sharpList_4[j], 0, 4, 1, 4);
sharpListCmp(sharp.sharpList_2[j], sharp.sharpList_1[j], 0, 4, 1, 4);
sharpListCmp(sharp.sharpList_4[j], sharp.sharpList_3[j], 0, 4, 1, 4);
}
for(int j = 1; j < 31; j++)
{
sharpListCmp(sharp.sharpList_2[j], sharp.sharpList_2[j], 0, 4, 1, 4);
sharpListCmp(sharp.sharpList_3[j], sharp.sharpList_3[j], 0, 4, 1, 4);
}
sharpListCmpTwo(sharp.sharpList_3[11], sharp.sharpList_2[30], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[12], sharp.sharpList_2[26], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[13], sharp.sharpList_2[22], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[14], sharp.sharpList_2[18], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[15], sharp.sharpList_2[29], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[16], sharp.sharpList_2[25], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[17], sharp.sharpList_2[21], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[18], sharp.sharpList_2[14], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[19], sharp.sharpList_2[28], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[20], sharp.sharpList_2[24], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[21], sharp.sharpList_2[17], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[22], sharp.sharpList_2[13], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[23], sharp.sharpList_2[27], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[24], sharp.sharpList_2[20], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[25], sharp.sharpList_2[16], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[26], sharp.sharpList_2[12], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[27], sharp.sharpList_2[23], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[28], sharp.sharpList_2[19], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[29], sharp.sharpList_2[15], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_3[30], sharp.sharpList_2[11], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[11], sharp.sharpList_3[30], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[12], sharp.sharpList_3[26], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[13], sharp.sharpList_3[22], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[14], sharp.sharpList_3[18], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[15], sharp.sharpList_3[29], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[16], sharp.sharpList_3[25], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[17], sharp.sharpList_3[21], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[18], sharp.sharpList_3[14], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[19], sharp.sharpList_3[28], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[20], sharp.sharpList_3[24], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[21], sharp.sharpList_3[17], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[22], sharp.sharpList_3[13], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[23], sharp.sharpList_3[27], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[24], sharp.sharpList_3[20], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[25], sharp.sharpList_3[16], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[26], sharp.sharpList_3[12], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[27], sharp.sharpList_3[23], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[28], sharp.sharpList_3[19], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[29], sharp.sharpList_3[15], 0, 4, 1, 4);
sharpListCmpTwo(sharp.sharpList_2[30], sharp.sharpList_3[11], 0, 4, 1, 4);
}
public static void sharpSubSpaceAnalysis(Sharp sharp, int ts)
{
boolean works;
if(recursionTrace) System.out.println("here's SSA sharp:");
if(recursionTrace) printSharp(sharp);
for(int k = 0; k < numSubs; k++)
{
works = true;
for(int m = 1; m < 7; m++)
{
if(subs_tetOne[k][m] == 0 && sharp.sharpSub[ts].getTetOne().get(m) == 1) works = false;
if(subs_tetTwo[k][m] == 0 && sharp.sharpSub[ts].getTetTwo().get(m) == 1) works = false;
}
for(int m = 1; m < 13; m++)
{
if(subs_oct[k][m] == 0 && sharp.sharpSub[ts].getOct().get(m) == 1) works = false;
}
if(works)
{
Sharp newSharp = new Sharp(sharp.d_1, sharp.d_2, sharp.d_3, sharp.d_4, sharp.number);
for(int m = 1; m < 7; m++)
{
newSharp.sharpSub[ts].getTetOne().set(m, subs_tetOne[k][m]);
newSharp.sharpSub[ts].getTetTwo().set(m, subs_tetTwo[k][m]);
}
for(int m = 1; m < 13; m++)
{
newSharp.sharpSub[ts].getOct().set(m, subs_oct[k][m]);
}
brancher(newSharp, (ts + 1));
}
}
// if(recursionTrace) System.out.println(ts + " " + numWorks);
//
// for(int i = 0; i < numWorks; i++)
// {
// if(recursionTrace) System.out.println("something worked");
//
// Sharp newSharp = new Sharp(sharp.d_1, sharp.d_2, sharp.d_3, sharp.d_4, sharp.number);
//
// for(int m = 1; m < 7; m++)
// {
// newSharp.sharpSub[ts].getTetOne().set(m, subs_tetOne[workers[i]][m]);
// newSharp.sharpSub[ts].getTetTwo().set(m, subs_tetTwo[workers[i]][m]);
// }
//
// for(int m = 1; m < 13; m++)
// {
// newSharp.sharpSub[ts].getOct().set(m, subs_oct[workers[i]][m]);
// }
//
// brancher(newSharp, (ts + 1));
// }
}
public static boolean remake(int j)
{
boolean remade = false;
if(tetSides(j, 1, 11) == 6) remade = true;
if(tetSides(j, 1, 17) == 6) remade = true;
if(tetSides(j, 1, 23) == 6) remade = true;
if(tetSides(j, 1, 29) == 6) remade = true;
if(tetSides(j, 1, 35) == 6) remade = true;
if(tetSides(j, 4, 11) == 6) remade = true;
if(tetSides(j, 4, 17) == 6) remade = true;
if(tetSides(j, 4, 23) == 6) remade = true;
if(tetSides(j, 4, 29) == 6) remade = true;
if(tetSides(j, 4, 35) == 6) remade = true;
if(tetSides(j, 2, 31) == 6) remade = true;
if(tetSides(j, 2, 37) == 6) remade = true;
if(tetSides(j, 2, 43) == 6) remade = true;
if(tetSides(j, 2, 49) == 6) remade = true;
if(tetSides(j, 2, 55) == 6) remade = true;
if(tetSides(j, 3, 31) == 6) remade = true;
if(tetSides(j, 3, 37) == 6) remade = true;
if(tetSides(j, 3, 43) == 6) remade = true;
if(tetSides(j, 3, 49) == 6) remade = true;
if(tetSides(j, 3, 55) == 6) remade = true;
if(octSides(j, 2, 61) == 12) remade = true;
if(octSides(j, 2, 73) == 12) remade = true;
if(octSides(j, 2, 85) == 12) remade = true;
if(octSides(j, 2, 97) == 12) remade = true;
if(octSides(j, 2, 109) == 12) remade = true;
if(remade)
{
if(tetSides(j, 1, 11) == 6) remakeTet(j, 1, 11);
if(tetSides(j, 1, 17) == 6) remakeTet(j, 1, 17);
if(tetSides(j, 1, 23) == 6) remakeTet(j, 1, 23);
if(tetSides(j, 1, 29) == 6) remakeTet(j, 1, 29);
if(tetSides(j, 1, 35) == 6) remakeTet(j, 1, 35);
if(tetSides(j, 4, 11) == 6) remakeTet(j, 4, 11);
if(tetSides(j, 4, 17) == 6) remakeTet(j, 4, 17);
if(tetSides(j, 4, 23) == 6) remakeTet(j, 4, 23);
if(tetSides(j, 4, 29) == 6) remakeTet(j, 4, 29);
if(tetSides(j, 4, 35) == 6) remakeTet(j, 4, 35);
if(tetSides(j, 2, 31) == 6) remakeTet(j, 2, 31);
if(tetSides(j, 2, 37) == 6) remakeTet(j, 2, 37);
if(tetSides(j, 2, 43) == 6) remakeTet(j, 2, 43);
if(tetSides(j, 2, 49) == 6) remakeTet(j, 2, 49);
if(tetSides(j, 2, 55) == 6) remakeTet(j, 2, 55);
if(tetSides(j, 3, 31) == 6) remakeTet(j, 3, 31);
if(tetSides(j, 3, 37) == 6) remakeTet(j, 3, 37);
if(tetSides(j, 3, 43) == 6) remakeTet(j, 3, 43);
if(tetSides(j, 3, 49) == 6) remakeTet(j, 3, 49);
if(tetSides(j, 3, 55) == 6) remakeTet(j, 3, 55);
if(octSides(j, 2, 61) == 12) remakeOct(j, 2, 61);
if(octSides(j, 2, 73) == 12) remakeOct(j, 2, 73);
if(octSides(j, 2, 85) == 12) remakeOct(j, 2, 85);
if(octSides(j, 2, 97) == 12) remakeOct(j, 2, 97);
if(octSides(j, 2, 109) == 12) remakeOct(j, 2, 109);
}
return remade;
}
public static boolean shToShCmp(List a, List b, int firstStart, int firstFinish, int secondStart, int secondFinish)
{
boolean toReturn = false;
for(int i = firstStart; i < firstFinish; i++)
{
for(int j = secondStart; j < secondFinish; j++)
{
if(sToShCmp(a.get(i), b.get(j))) toReturn = true;
}
}
return toReturn;
}
public static void outputForStacks(int i)
{
// System.out.println(i);
// System.out.println(sharpStack[i].hasAny());
// if(sharpStack[i].hasAny() == false) System.out.println(i + " null");
if(sharpCount[i] == 0) System.out.println(i + " null");
// System.out.println();
// System.out.println(sharpStack[i].hasMore() + " = hasMore");
// System.out.println(sharpStack[i].currentSharp.isFirst());
// printSharp(sharpStack[i].getCurrent());
// sharpStack[i].nextItem();
// System.out.println(sharpStack[i].hasMore() + " = hasMore");
// System.out.println(sharpStack[i].currentSharp.isFirst());
// printSharp(sharpStack[i].getCurrent());
else
{
for(int j = 1; j < sharpCount[i] + 1; j++)
{
// boolean toBreak = sharpStack[i].currentSharp.isFirst();
System.out.print(i + " " + " " + j);
printSharp(sharps[i][j]);
// if(toBreak) break;
// else sharpStack[i].nextItem();
}
}
}
public static void printSharp(Sharp sharp)
{
for(int j = 1; j < 11; j++) System.out.print(sharp.d_1[j] + " "); // s_1
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sharp.d_2[j] + " "); // s_2
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sharp.d_3[j] + " "); // s_3
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(sharp.d_4[j] + " "); // s_4
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(sharp.d_1[j] + " "); // sh_1 4d
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 4d
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 4d
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(sharp.d_4[j] + " "); // sh_4 4d
System.out.print(": ");
for(int j = 11; j < 17; j++) System.out.print(sharp.d_1[j] + " "); // sh_1 3d 0123
System.out.print(": ");
for(int j = 17; j < 23; j++) System.out.print(sharp.d_1[j] + " "); // sh_1 3d 0124
System.out.print(": ");
for(int j = 23; j < 29; j++) System.out.print(sharp.d_1[j] + " "); // sh_1 3d 0134
System.out.print(": ");
for(int j = 29; j < 35; j++) System.out.print(sharp.d_1[j] + " "); // sh_1 3d 0234
System.out.print(": ");
for(int j = 35; j < 41; j++) System.out.print(sharp.d_1[j] + " "); // sh_1 3d 1234
System.out.print(": ");
for(int j = 31; j < 37; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d tet 0
System.out.print(": ");
for(int j = 37; j < 43; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d tet 1
System.out.print(": ");
for(int j = 43; j < 49; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d tet 2
System.out.print(": ");
for(int j = 49; j < 55; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d tet 3
System.out.print(": ");
for(int j = 55; j < 61; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d tet 4
System.out.print(": ");
for(int j = 61; j < 73; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d oct 0123
System.out.print(": ");
for(int j = 73; j < 85; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d oct 0124
System.out.print(": ");
for(int j = 85; j < 97; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d oct 0134
System.out.print(": ");
for(int j = 97; j < 109; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d oct 0234
System.out.print(": ");
for(int j = 109; j < 121; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 3d oct 1234
System.out.print(": ");
for(int j = 31; j < 37; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d tet 0
System.out.print(": ");
for(int j = 37; j < 43; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d tet 1
System.out.print(": ");
for(int j = 43; j < 49; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d tet 2
System.out.print(": ");
for(int j = 49; j < 55; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d tet 3
System.out.print(": ");
for(int j = 55; j < 61; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d tet 4
System.out.print(": ");
for(int j = 61; j < 73; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d oct 0123
System.out.print(": ");
for(int j = 73; j < 85; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d oct 0124
System.out.print(": ");
for(int j = 85; j < 97; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d oct 0134
System.out.print(": ");
for(int j = 97; j < 109; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d oct 0234
System.out.print(": ");
for(int j = 109; j < 121; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 3d oct 1234
System.out.print(": ");
for(int j = 11; j < 17; j++) System.out.print(sharp.d_4[j] + " "); // sh_4 3d 0123
System.out.print(": ");
for(int j = 17; j < 23; j++) System.out.print(sharp.d_4[j] + " "); // sh_4 3d 0124
System.out.print(": ");
for(int j = 23; j < 29; j++) System.out.print(sharp.d_4[j] + " "); // sh_4 3d 0134
System.out.print(": ");
for(int j = 29; j < 35; j++) System.out.print(sharp.d_4[j] + " "); // sh_4 3d 0234
System.out.print(": ");
for(int j = 35; j < 41; j++) System.out.print(sharp.d_4[j] + " "); // sh_4 3d 1234
System.out.print(": ");
for(int k = 0; k < 10; k++) // sh_1 2d
{
for(int j = (41 + (3 * k)); j < (41 + (3 * k)) + 3; j++)
System.out.print(sharp.d_1[j] + " ");
System.out.print(": ");
}
for(int k = 0; k < 10; k++) // sh_2 2d to sh_1
{
for(int j = (121 + (3 * k)); j < (121 + (3 * k)) + 3; j++)
System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
}
for(int j = 187; j < 190; j++) System.out.print(sharp.d_2[j] + " "); // sh_2 2d to sh_3
System.out.print(": ");
for(int j = 199; j < 202; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 175; j < 178; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 202; j < 205; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 178; j < 181; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 190; j < 193; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 163; j < 166; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 205; j < 208; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 166; j < 169; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 193; j < 196; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 169; j < 172; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 181; j < 184; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 151; j < 154; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 208; j < 211; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 154; j < 157; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 196; j < 199; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 157; j < 160; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 184; j < 187; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 160; j < 163; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int j = 172; j < 175; j++) System.out.print(sharp.d_2[j] + " ");
System.out.print(": ");
for(int k = 0; k < 10; k++) // sh_3 2d to sh_4
{
for(int j = (121 + (3 * k)); j < (121 + (3 * k)) + 3; j++)
System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
}
for(int j = 187; j < 190; j++) System.out.print(sharp.d_3[j] + " "); // sh_3 2d to sh_2
System.out.print(": ");
for(int j = 199; j < 202; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 175; j < 178; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 202; j < 205; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 178; j < 181; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 190; j < 193; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 163; j < 166; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 205; j < 208; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 166; j < 169; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 193; j < 196; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 169; j < 172; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 181; j < 184; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 151; j < 154; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 208; j < 211; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 154; j < 157; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 196; j < 199; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 157; j < 160; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 184; j < 187; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 160; j < 163; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int j = 172; j < 175; j++) System.out.print(sharp.d_3[j] + " ");
System.out.print(": ");
for(int k = 0; k < 10; k++) // sh_4 2d
{
for(int j = (41 + (3 * k)); j < (41 + (3 * k)) + 3; j++)
System.out.print(sharp.d_4[j] + " ");
System.out.print(": ");
}
System.out.println();
}
public static void output()
{
for(int i = strataFirst; i < strataLast; i++)
{
System.out.println(i);
for(int j = 1; j < 71; j++) System.out.print(sh_1[i][j] + " ");
System.out.println();
for(int j = 1; j < 211; j++) System.out.print(sh_2[i][j] + " ");
System.out.println();
for(int j = 1; j < 211; j++) System.out.print(sh_3[i][j] + " ");
System.out.println();
for(int j = 1; j < 71; j++) System.out.print(sh_4[i][j] + " ");
System.out.println();
}
}
public static void printSub(int num)
{
for(int j = 1; j < 7; j++) System.out.print(subs_tetOne[num][j] + " ");
System.out.print(": ");
for(int j = 1; j < 13; j++) System.out.print(subs_oct[num][j] + " ");
System.out.print(": ");
for(int j = 1; j < 7; j++) System.out.print(subs_tetTwo[num][j] + " ");
System.out.println();
}
public static void printRealSub(int num, int subNum)
{
for(int j = 1; j < 7; j++) System.out.print(sub[num][subNum].getTetOne().get(j) + " ");
System.out.print(": ");
for(int j = 1; j < 13; j++) System.out.print(sub[num][subNum].getOct().get(j) + " ");
System.out.print(": ");
for(int j = 1; j < 7; j++) System.out.print(sub[num][subNum].getTetTwo().get(j) + " ");
System.out.println();
}
public static void outputTwo()
{
for(int i = strataFirst; i < strataLast; i++)
{
for(int j = 1; j < 11; j++) System.out.print(s_1[i][j] + " "); // s_1
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(s_2[i][j] + " "); // s_2
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(s_3[i][j] + " "); // s_3
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(s_4[i][j] + " "); // s_4
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(sh_1[i][j] + " "); // sh_1 4d
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sh_2[i][j] + " "); // sh_2 4d
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sh_3[i][j] + " "); // sh_3 4d
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(sh_4[i][j] + " "); // sh_4 4d
System.out.print(": ");
for(int j = 11; j < 17; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0123
System.out.print(": ");
for(int j = 17; j < 23; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0124
System.out.print(": ");
for(int j = 23; j < 29; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0134
System.out.print(": ");
for(int j = 29; j < 35; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0234
System.out.print(": ");
for(int j = 35; j < 41; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 1234
System.out.print(": ");
for(int j = 31; j < 37; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 0
System.out.print(": ");
for(int j = 37; j < 43; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 1
System.out.print(": ");
for(int j = 43; j < 49; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 2
System.out.print(": ");
for(int j = 49; j < 55; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 3
System.out.print(": ");
for(int j = 55; j < 61; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 4
System.out.print(": ");
for(int j = 61; j < 73; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0123
System.out.print(": ");
for(int j = 73; j < 85; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0124
System.out.print(": ");
for(int j = 85; j < 97; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0134
System.out.print(": ");
for(int j = 97; j < 109; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0234
System.out.print(": ");
for(int j = 109; j < 121; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 1234
System.out.print(": ");
for(int j = 31; j < 37; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 0
System.out.print(": ");
for(int j = 37; j < 43; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 1
System.out.print(": ");
for(int j = 43; j < 49; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 2
System.out.print(": ");
for(int j = 49; j < 55; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 3
System.out.print(": ");
for(int j = 55; j < 61; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 4
System.out.print(": ");
for(int j = 61; j < 73; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0123
System.out.print(": ");
for(int j = 73; j < 85; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0124
System.out.print(": ");
for(int j = 85; j < 97; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0134
System.out.print(": ");
for(int j = 97; j < 109; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0234
System.out.print(": ");
for(int j = 109; j < 121; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 1234
System.out.print(": ");
for(int j = 11; j < 17; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0123
System.out.print(": ");
for(int j = 17; j < 23; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0124
System.out.print(": ");
for(int j = 23; j < 29; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0134
System.out.print(": ");
for(int j = 29; j < 35; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0234
System.out.print(": ");
for(int j = 35; j < 41; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 1234
System.out.print(": ");
for(int k = 0; k < 10; k++) // sh_1 2d
{
for(int j = (41 + (3 * k)); j < (41 + (3 * k)) + 3; j++)
System.out.print(sh_1[i][j] + " ");
System.out.print(": ");
}
for(int k = 0; k < 10; k++) // sh_2 2d to sh_1
{
for(int j = (121 + (3 * k)); j < (121 + (3 * k)) + 3; j++)
System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
}
for(int j = 187; j < 190; j++) System.out.print(sh_2[i][j] + " "); // sh_2 2d to sh_3
System.out.print(": ");
for(int j = 199; j < 202; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 175; j < 178; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 202; j < 205; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 178; j < 181; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 190; j < 193; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 163; j < 166; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 205; j < 208; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 166; j < 169; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 193; j < 196; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 169; j < 172; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 181; j < 184; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 151; j < 154; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 208; j < 211; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 154; j < 157; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 196; j < 199; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 157; j < 160; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 184; j < 187; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 160; j < 163; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int j = 172; j < 175; j++) System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
for(int k = 0; k < 10; k++) // sh_3 2d to sh_4
{
for(int j = (121 + (3 * k)); j < (121 + (3 * k)) + 3; j++)
System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
}
for(int j = 187; j < 190; j++) System.out.print(sh_3[i][j] + " "); // sh_3 2d to sh_2
System.out.print(": ");
for(int j = 199; j < 202; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 175; j < 178; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 202; j < 205; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 178; j < 181; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 190; j < 193; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 163; j < 166; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 205; j < 208; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 166; j < 169; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 193; j < 196; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 169; j < 172; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 181; j < 184; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 151; j < 154; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 208; j < 211; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 154; j < 157; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 196; j < 199; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 157; j < 160; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 184; j < 187; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 160; j < 163; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int j = 172; j < 175; j++) System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
for(int k = 0; k < 10; k++) // sh_4 2d
{
for(int j = (41 + (3 * k)); j < (41 + (3 * k)) + 3; j++)
System.out.print(sh_4[i][j] + " ");
System.out.print(": ");
}
System.out.println();
}
}
public static void outputTwoDivisors()
{
for(int i = strataFirst; i < strataLast; i++)
{
System.out.print(divisorTags[i] + " ");
for(int j = 1; j < 11; j++) System.out.print(s_1[i][j] + " "); // s_1
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(s_2[i][j] + " "); // s_2
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(s_3[i][j] + " "); // s_3
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(s_4[i][j] + " "); // s_4
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(sh_1[i][j] + " "); // sh_1 4d
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sh_2[i][j] + " "); // sh_2 4d
System.out.print(": ");
for(int j = 1; j < 31; j++) System.out.print(sh_3[i][j] + " "); // sh_3 4d
System.out.print(": ");
for(int j = 1; j < 11; j++) System.out.print(sh_4[i][j] + " "); // sh_4 4d
System.out.print(": ");
for(int j = 11; j < 17; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0123
System.out.print(": ");
for(int j = 17; j < 23; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0124
System.out.print(": ");
for(int j = 23; j < 29; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0134
System.out.print(": ");
for(int j = 29; j < 35; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 0234
System.out.print(": ");
for(int j = 35; j < 41; j++) System.out.print(sh_1[i][j] + " "); // sh_1 3d 1234
System.out.print(": ");
for(int j = 31; j < 37; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 0
System.out.print(": ");
for(int j = 37; j < 43; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 1
System.out.print(": ");
for(int j = 43; j < 49; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 2
System.out.print(": ");
for(int j = 49; j < 55; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 3
System.out.print(": ");
for(int j = 55; j < 61; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d tet 4
System.out.print(": ");
for(int j = 61; j < 73; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0123
System.out.print(": ");
for(int j = 73; j < 85; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0124
System.out.print(": ");
for(int j = 85; j < 97; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0134
System.out.print(": ");
for(int j = 97; j < 109; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 0234
System.out.print(": ");
for(int j = 109; j < 121; j++) System.out.print(sh_2[i][j] + " "); // sh_2 3d oct 1234
System.out.print(": ");
for(int j = 31; j < 37; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 0
System.out.print(": ");
for(int j = 37; j < 43; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 1
System.out.print(": ");
for(int j = 43; j < 49; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 2
System.out.print(": ");
for(int j = 49; j < 55; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 3
System.out.print(": ");
for(int j = 55; j < 61; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d tet 4
System.out.print(": ");
for(int j = 61; j < 73; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0123
System.out.print(": ");
for(int j = 73; j < 85; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0124
System.out.print(": ");
for(int j = 85; j < 97; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0134
System.out.print(": ");
for(int j = 97; j < 109; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 0234
System.out.print(": ");
for(int j = 109; j < 121; j++) System.out.print(sh_3[i][j] + " "); // sh_3 3d oct 1234
System.out.print(": ");
for(int j = 11; j < 17; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0123
System.out.print(": ");
for(int j = 17; j < 23; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0124
System.out.print(": ");
for(int j = 23; j < 29; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0134
System.out.print(": ");
for(int j = 29; j < 35; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 0234
System.out.print(": ");
for(int j = 35; j < 41; j++) System.out.print(sh_4[i][j] + " "); // sh_4 3d 1234
System.out.print(": ");
for(int k = 0; k < 10; k++) // sh_1 2d
{
for(int j = (41 + (3 * k)); j < (41 + (3 * k)) + 3; j++)
System.out.print(sh_1[i][j] + " ");
System.out.print(": ");
}
for(int k = 0; k < 30; k++) // sh_2 2d
{
for(int j = (121 + (3 * k)); j < (121 + (3 * k)) + 3; j++)
System.out.print(sh_2[i][j] + " ");
System.out.print(": ");
}
for(int k = 0; k < 30; k++) // sh_3 2d
{
for(int j = (121 + (3 * k)); j < (121 + (3 * k)) + 3; j++)
System.out.print(sh_3[i][j] + " ");
System.out.print(": ");
}
for(int k = 0; k < 10; k++) // sh_4 2d
{
for(int j = (41 + (3 * k)); j < (41 + (3 * k)) + 3; j++)
System.out.print(sh_4[i][j] + " ");
System.out.print(": ");
}
System.out.println();
}
}
public static void outputThree()
{
collapsedStrataCount = 0;
for(int i = strataFirst; i < strataLast; i++)
{
boolean goodStratum = true;
for(int j = 1; j < 11; j++)
{
if(s_1[i][j] != sh_1[i][j]) goodStratum = false;
if(s_4[i][j] != sh_4[i][j]) goodStratum = false;
}
for(int j = 1; j < 31; j++)
{
if(s_2[i][j] != sh_2[i][j]) goodStratum = false;
if(s_3[i][j] != sh_3[i][j]) goodStratum = false;
}
if(goodStratum)
{
collapsedStrata[collapsedStrataCount] = i;
collapsedStrataCount++;
}
}
System.out.println(collapsedStrataCount);
for(int i = 0; i < collapsedStrataCount; i++) System.out.println(collapsedStrata[i]);
}
public static void outputFour()
{
for(int i = 0; i < number; i++)
{
int number = 0;
for(int j = 1; j < 11; j++)
{
number = number + s_1[i][j];
}
if(number == 4)
{
for(int j = 1; j < 11; j++) System.out.print(s_1[i][j] + " ");
System.out.println();
}
}
}
public static void outputFive()
{
collapsedStrataCount = 0;
for(int i = strataFirst; i < strataLast; i++)
{
boolean goodStratum = true;
for(int j = 1; j < 11; j++)
{
if(s_1[i][j] == 0 && sh_1[i][j] == 1) goodStratum = false;
if(s_4[i][j] == 0 && sh_4[i][j] == 1) goodStratum = false;
}
for(int j = 1; j < 31; j++)
{
if(s_2[i][j] == 0 && sh_2[i][j] == 1) goodStratum = false;
if(s_3[i][j] == 0 && sh_3[i][j] == 1) goodStratum = false;
}
if(goodStratum)
{
collapsedStrata[collapsedStrataCount] = i;
collapsedStrataCount++;
}
}
System.out.println(collapsedStrataCount);
for(int i = 0; i < collapsedStrataCount; i++) System.out.println(collapsedStrata[i]);
}
public static void outputSeven()
{
collapsedStrataCount = 0;
for(int j = strataFirst; j < strataLast; j++)
{
boolean goodStratum = true;
if(tetSides(j, 1, 11) < 2) goodStratum = false;
if(tetSides(j, 1, 17) < 2) goodStratum = false;
if(tetSides(j, 1, 23) < 2) goodStratum = false;
if(tetSides(j, 1, 29) < 2) goodStratum = false;
if(tetSides(j, 1, 35) < 2) goodStratum = false;
if(tetSides(j, 4, 11) < 2) goodStratum = false;
if(tetSides(j, 4, 17) < 2) goodStratum = false;
if(tetSides(j, 4, 23) < 2) goodStratum = false;
if(tetSides(j, 4, 29) < 2) goodStratum = false;
if(tetSides(j, 4, 35) < 2) goodStratum = false;
if(tetSides(j, 2, 31) < 2) goodStratum = false;
if(tetSides(j, 2, 37) < 2) goodStratum = false;
if(tetSides(j, 2, 43) < 2) goodStratum = false;
if(tetSides(j, 2, 49) < 2) goodStratum = false;
if(tetSides(j, 2, 55) < 2) goodStratum = false;
if(tetSides(j, 3, 31) < 2) goodStratum = false;
if(tetSides(j, 3, 37) < 2) goodStratum = false;
if(tetSides(j, 3, 43) < 2) goodStratum = false;
if(tetSides(j, 3, 49) < 2) goodStratum = false;
if(tetSides(j, 3, 55) < 2) goodStratum = false;
if(octSides(j, 2, 61) < 6) goodStratum = false;
if(octSides(j, 2, 73) < 6) goodStratum = false;
if(octSides(j, 2, 85) < 6) goodStratum = false;
if(octSides(j, 2, 97) < 6) goodStratum = false;
if(octSides(j, 2, 109) < 6) goodStratum = false;
if(octSides(j, 3, 61) < 6) goodStratum = false;
if(octSides(j, 3, 73) < 6) goodStratum = false;
if(octSides(j, 3, 85) < 6) goodStratum = false;
if(octSides(j, 3, 97) < 6) goodStratum = false;
if(octSides(j, 3, 109) < 6) goodStratum = false;
if(goodStratum)
{
collapsedStrata[collapsedStrataCount] = j;
collapsedStrataCount++;
}
}
System.out.println(collapsedStrataCount);
for(int i = 0; i < collapsedStrataCount; i++) System.out.println(collapsedStrata[i]);
}
public static void outputEight()
{
for(int i = strataFirst; i < strataLast; i++)
{
for(int j = 1; j < 71; j++)
{
System.out.print(sh_1[i][j]);
}
for(int j = 1; j < 211; j++)
{
System.out.print(sh_2[i][j]);
}
for(int j = 1; j < 211; j++)
{
System.out.print(sh_3[i][j]);
}
for(int j = 1; j < 71; j++)
{
System.out.print(sh_4[i][j]);
}
System.out.println(":");
}
}
public static void outputEightSOnly()
{
for(int i = strataFirst; i < strataLast; i++)
{
for(int j = 1; j < 11; j++)
{
System.out.print(s_1[i][j]);
}
for(int j = 1; j < 31; j++)
{
System.out.print(s_2[i][j]);
}
for(int j = 1; j < 31; j++)
{
System.out.print(s_3[i][j]);
}
for(int j = 1; j < 11; j++)
{
System.out.print(s_4[i][j]);
}
System.out.println(":");
}
}
public static void outputEightDivisors()
{
for(int i = strataFirst; i < strataLast; i++)
{
System.out.print(divisorTags[i]);
System.out.print(divisorTagsNumber[i]);
System.out.print (" ");
for(int j = 1; j < 71; j++)
{
System.out.print(sh_1[i][j]);
}
for(int j = 1; j < 211; j++)
{
System.out.print(sh_2[i][j]);
}
for(int j = 1; j < 211; j++)
{
System.out.print(sh_3[i][j]);
}
for(int j = 1; j < 71; j++)
{
System.out.print(sh_4[i][j]);
}
System.out.println(":");
}
}
public static void outputEightDivisorsSOnly()
{
for(int i = strataFirst; i < strataLast; i++)
{
System.out.print(divisorTags[i]);
System.out.print(divisorTagsNumber[i]);
System.out.print (" ");
for(int j = 1; j < 11; j++)
{
System.out.print(s_1[i][j]);
}
for(int j = 1; j < 31; j++)
{
System.out.print(s_2[i][j]);
}
for(int j = 1; j < 31; j++)
{
System.out.print(s_3[i][j]);
}
for(int j = 1; j < 11; j++)
{
System.out.print(s_4[i][j]);
}
System.out.println(":");
}
}
public static void outputNine()
{
int underCollapsedCount = 0;
int overCollapsedCount = 0;
for(int i = strataFirst; i < strataLast; i++)
{
boolean overCollapsedStrata = false;
boolean underCollapsedStrata = false;
for(int j = 31; j < 41; j++)
{
int triSides = sh_1_tri[i][j].totalSides();
if(triSides == 0) underCollapsedStrata = true;
if(triSides == 3) overCollapsedStrata = true;
triSides = sh_4_tri[i][j].totalSides();
if(triSides == 0) underCollapsedStrata = true;
if(triSides == 3) overCollapsedStrata = true;
}
for(int j = 91; j < 121; j++)
{
int triSides = sh_2_tri[i][j].totalSides();
if(triSides == 0) underCollapsedStrata = true;
if(triSides == 3) overCollapsedStrata = true;
triSides = sh_3_tri[i][j].totalSides();
if(triSides == 0) underCollapsedStrata = true;
if(triSides == 3) overCollapsedStrata = true;
}
if(tetSides(i, 1, 11) == 6) overCollapsedStrata = true;
if(tetSides(i, 1, 17) == 6) overCollapsedStrata = true;
if(tetSides(i, 1, 23) == 6) overCollapsedStrata = true;
if(tetSides(i, 1, 29) == 6) overCollapsedStrata = true;
if(tetSides(i, 1, 35) == 6) overCollapsedStrata = true;
if(tetSides(i, 4, 11) == 6) overCollapsedStrata = true;
if(tetSides(i, 4, 17) == 6) overCollapsedStrata = true;
if(tetSides(i, 4, 23) == 6) overCollapsedStrata = true;
if(tetSides(i, 4, 29) == 6) overCollapsedStrata = true;
if(tetSides(i, 4, 35) == 6) overCollapsedStrata = true;
if(tetSides(i, 2, 31) == 6) overCollapsedStrata = true;
if(tetSides(i, 2, 37) == 6) overCollapsedStrata = true;
if(tetSides(i, 2, 43) == 6) overCollapsedStrata = true;
if(tetSides(i, 2, 49) == 6) overCollapsedStrata = true;
if(tetSides(i, 2, 55) == 6) overCollapsedStrata = true;
if(tetSides(i, 3, 31) == 6) overCollapsedStrata = true;
if(tetSides(i, 3, 37) == 6) overCollapsedStrata = true;
if(tetSides(i, 3, 43) == 6) overCollapsedStrata = true;
if(tetSides(i, 3, 49) == 6) overCollapsedStrata = true;
if(tetSides(i, 3, 55) == 6) overCollapsedStrata = true;
if(octSides(i, 2, 61) == 12) overCollapsedStrata = true;
if(octSides(i, 2, 73) == 12) overCollapsedStrata = true;
if(octSides(i, 2, 85) == 12) overCollapsedStrata = true;
if(octSides(i, 2, 97) == 12) overCollapsedStrata = true;
if(octSides(i, 2, 109) == 12) overCollapsedStrata = true;
if(octSides(i, 3, 61) == 12) overCollapsedStrata = true;
if(octSides(i, 3, 73) == 12) overCollapsedStrata = true;
if(octSides(i, 3, 85) == 12) overCollapsedStrata = true;
if(octSides(i, 3, 97) == 12) overCollapsedStrata = true;
if(octSides(i, 3, 109) == 12) overCollapsedStrata = true;
if(tetSides(i, 1, 11) < 2) underCollapsedStrata = true;
if(tetSides(i, 1, 17) < 2) underCollapsedStrata = true;
if(tetSides(i, 1, 23) < 2) underCollapsedStrata = true;
if(tetSides(i, 1, 29) < 2) underCollapsedStrata = true;
if(tetSides(i, 1, 35) < 2) underCollapsedStrata = true;
if(tetSides(i, 4, 11) < 2) underCollapsedStrata = true;
if(tetSides(i, 4, 17) < 2) underCollapsedStrata = true;
if(tetSides(i, 4, 23) < 2) underCollapsedStrata = true;
if(tetSides(i, 4, 29) < 2) underCollapsedStrata = true;
if(tetSides(i, 4, 35) < 2) underCollapsedStrata = true;
if(tetSides(i, 2, 31) < 2) underCollapsedStrata = true;
if(tetSides(i, 2, 37) < 2) underCollapsedStrata = true;
if(tetSides(i, 2, 43) < 2) underCollapsedStrata = true;
if(tetSides(i, 2, 49) < 2) underCollapsedStrata = true;
if(tetSides(i, 2, 55) < 2) underCollapsedStrata = true;
if(tetSides(i, 3, 31) < 2) underCollapsedStrata = true;
if(tetSides(i, 3, 37) < 2) underCollapsedStrata = true;
if(tetSides(i, 3, 43) < 2) underCollapsedStrata = true;
if(tetSides(i, 3, 49) < 2) underCollapsedStrata = true;
if(tetSides(i, 3, 55) < 2) underCollapsedStrata = true;
if(octSides(i, 2, 61) < 6) underCollapsedStrata = true;
if(octSides(i, 2, 73) < 6) underCollapsedStrata = true;
if(octSides(i, 2, 85) < 6) underCollapsedStrata = true;
if(octSides(i, 2, 97) < 6) underCollapsedStrata = true;
if(octSides(i, 2, 109) < 6) underCollapsedStrata = true;
if(octSides(i, 3, 61) < 6) underCollapsedStrata = true;
if(octSides(i, 3, 73) < 6) underCollapsedStrata = true;
if(octSides(i, 3, 85) < 6) underCollapsedStrata = true;
if(octSides(i, 3, 97) < 6) underCollapsedStrata = true;
if(octSides(i, 3, 109) < 6) underCollapsedStrata = true;
if(overCollapsedStrata)
{
overCollapsedCount++;
System.out.println((i + 1) + " : Over Collapsed");
}
else if(underCollapsedStrata)
{
underCollapsedCount++;
System.out.println((i + 1) + " : Under Collapsed");
}
else
{
System.out.println((i + 1) + " : Completely Collapsed");
}
}
System.out.println();
System.out.println("Total Over Collapsed Strata : " + overCollapsedCount);
System.out.println("Total Under Collapsed Strata : " + underCollapsedCount);
System.out.println("Total Completely Collapsed Strata : " + (268 - overCollapsedCount - underCollapsedCount));
}
}
Notice: (null)(): [ALERT] Mailbox is over quota in Unknown on line 0