Example 2: Binary Classification Network

This example uses a database of a complete set of possible board configurations at the end of tic-tac-toe games, where "x" is assumed to have played first. The target concept is "win for x" (i.e., true when "x" has one of 8 possible ways to create a "three-in-a-row").

There are nine nominal input attributes for each square on the tic-tac-toe board and are encoded such that 0=player x has taken, 1=player o has taken, 2=blank.

Input attributes
  1. top-left-square: {x,o,b}
  2. top-middle-square: {x,o,b}
  3. top-right-square: {x,o,b}
  4. middle-left-square: {x,o,b}
  5. middle-middle-square: {x,o,b}
  6. middle-right-square: {x,o,b}
  7. bottom-left-square: {x,o,b}
  8. bottom-middle-square: {x,o,b}
  9. bottom-right-square: {x,o,b}

The predicted atribute is a win or lose at tic-tac-toe. For this example the first 626 observations are a win and the next 332 are loss.

The structure of the network consists of 27 input nodes and three layers, with five perceptrons in the first hidden layer, three perceptrons in the second hidden layer, and one perceptron in the output layer.

There are a total of 162 weights in this network. The activations functions are logistic for all layers. Since the target output is binary classification the logistic activation function must be used in the output layer. Training is conducted using the quasi-newton trainer using the binary entropy error function provided by the BinaryClassification class.

using System;
using Imsl.DataMining.Neural;
using PrintMatrix = Imsl.Math.PrintMatrix;
using PrintMatrixFormat = Imsl.Math.PrintMatrixFormat;
using Random = Imsl.Stat.Random;

//*****************************************************************************
// Three Layer Feed-Forward Network with 4 inputs, all 
// continuous, and 2 classification categories.
//
//  new classification training_ex4.c
//
// Three Layer Feed-Forward Network with 4 inputs, all 
// continuous, and 2 classification categories.
//     
//  This database encodes the complete set of possible board configurations
//   at the end of tic-tac-toe games, where "x" is assumed to have played
//   first.  The target concept is "win for x" (i.e., true when "x" has one
//   of 8 possible ways to create a "three-in-a-row"). 
//
//  Predicted attribute: win or loose at tic-tac-toe
//     First 626 obs are positive (win) and the next 332 are negative (loss)
//
//  Input Attributes (10 categorical Attributes)
//     Attribute Information: (0=player x has taken, 1=player o has taken, 2=blank)
//
//    1. top-left-square: {x,o,b}
//    2. top-middle-square: {x,o,b}
//    3. top-right-square: {x,o,b}
//    4. middle-left-square: {x,o,b}
//    5. middle-middle-square: {x,o,b}
//    6. middle-right-square: {x,o,b}
//    7. bottom-left-square: {x,o,b}
//    8. bottom-middle-square: {x,o,b}
//    9. bottom-right-square: {x,o,b}
//   10. Class: {positive,negative}
//
//*****************************************************************************

[Serializable]
public class BinaryClassificationEx2
{
   private static int nObs = 958; // number of training patterns
   private static int nInputs = 27; // 9 nominal coded as 0=x, 1=O, 2=blank
   private static int nOutputs = 1; // one continuous output (nClasses=2)
   private static int nPerceptrons1 = 5; // perceptrons in 1st hidden layer
   private static int nPerceptrons2 = 3; // perceptrons in 2nd hidden layer

   private static IActivation hiddenLayerActivation =
      Imsl.DataMining.Neural.Activation.Logistic;
   private static IActivation outputLayerActivation =
      Imsl.DataMining.Neural.Activation.Logistic;

   private static int[][] data = new int[][]{new int[]{0, 0, 0, 0, 1, 1, 0, 1, 1},
      new int[]{0, 0, 0, 0, 1, 1, 1, 0, 1}, new int[]{0, 0, 0, 0, 1, 1, 1, 1, 0},
      new int[]{0, 0, 0, 0, 1, 1, 1, 2, 2}, new int[]{0, 0, 0, 0, 1, 1, 2, 1, 2},
      new int[]{0, 0, 0, 0, 1, 1, 2, 2, 1}, new int[]{0, 0, 0, 0, 1, 2, 1, 1, 2},
      new int[]{0, 0, 0, 0, 1, 2, 1, 2, 1}, new int[]{0, 0, 0, 0, 1, 2, 2, 1, 1},
      new int[]{0, 0, 0, 0, 2, 1, 1, 1, 2}, new int[]{0, 0, 0, 0, 2, 1, 1, 2, 1},
      new int[]{0, 0, 0, 0, 2, 1, 2, 1, 1}, new int[]{0, 0, 0, 1, 0, 1, 0, 1, 1},
      new int[]{0, 0, 0, 1, 0, 1, 1, 0, 1}, new int[]{0, 0, 0, 1, 0, 1, 1, 1, 0},
      new int[]{0, 0, 0, 1, 0, 1, 1, 2, 2}, new int[]{0, 0, 0, 1, 0, 1, 2, 1, 2},
      new int[]{0, 0, 0, 1, 0, 1, 2, 2, 1}, new int[]{0, 0, 0, 1, 0, 2, 1, 1, 2},
      new int[]{0, 0, 0, 1, 0, 2, 1, 2, 1}, new int[]{0, 0, 0, 1, 0, 2, 2, 1, 1},
      new int[]{0, 0, 0, 1, 1, 0, 0, 1, 1}, new int[]{0, 0, 0, 1, 1, 0, 1, 0, 1},
      new int[]{0, 0, 0, 1, 1, 0, 1, 1, 0}, new int[]{0, 0, 0, 1, 1, 0, 1, 2, 2},
      new int[]{0, 0, 0, 1, 1, 0, 2, 1, 2}, new int[]{0, 0, 0, 1, 1, 0, 2, 2, 1},
      new int[]{0, 0, 0, 1, 1, 2, 0, 1, 2}, new int[]{0, 0, 0, 1, 1, 2, 0, 2, 1},
      new int[]{0, 0, 0, 1, 1, 2, 1, 0, 2}, new int[]{0, 0, 0, 1, 1, 2, 1, 2, 0},
      new int[]{0, 0, 0, 1, 1, 2, 2, 0, 1}, new int[]{0, 0, 0, 1, 1, 2, 2, 1, 0},
      new int[]{0, 0, 0, 1, 1, 2, 2, 2, 2}, new int[]{0, 0, 0, 1, 2, 0, 1, 1, 2},
      new int[]{0, 0, 0, 1, 2, 0, 1, 2, 1}, new int[]{0, 0, 0, 1, 2, 0, 2, 1, 1},
      new int[]{0, 0, 0, 1, 2, 1, 0, 1, 2}, new int[]{0, 0, 0, 1, 2, 1, 0, 2, 1},
      new int[]{0, 0, 0, 1, 2, 1, 1, 0, 2}, new int[]{0, 0, 0, 1, 2, 1, 1, 2, 0},
      new int[]{0, 0, 0, 1, 2, 1, 2, 0, 1}, new int[]{0, 0, 0, 1, 2, 1, 2, 1, 0},
      new int[]{0, 0, 0, 1, 2, 1, 2, 2, 2}, new int[]{0, 0, 0, 1, 2, 2, 0, 1, 1},
      new int[]{0, 0, 0, 1, 2, 2, 1, 0, 1}, new int[]{0, 0, 0, 1, 2, 2, 1, 1, 0},
      new int[]{0, 0, 0, 1, 2, 2, 1, 2, 2}, new int[]{0, 0, 0, 1, 2, 2, 2, 1, 2},
      new int[]{0, 0, 0, 1, 2, 2, 2, 2, 1}, new int[]{0, 0, 0, 2, 0, 1, 1, 1, 2},
      new int[]{0, 0, 0, 2, 0, 1, 1, 2, 1}, new int[]{0, 0, 0, 2, 0, 1, 2, 1, 1},
      new int[]{0, 0, 0, 2, 1, 0, 1, 1, 2}, new int[]{0, 0, 0, 2, 1, 0, 1, 2, 1},
      new int[]{0, 0, 0, 2, 1, 0, 2, 1, 1}, new int[]{0, 0, 0, 2, 1, 1, 0, 1, 2},
      new int[]{0, 0, 0, 2, 1, 1, 0, 2, 1}, new int[]{0, 0, 0, 2, 1, 1, 1, 0, 2},
      new int[]{0, 0, 0, 2, 1, 1, 1, 2, 0}, new int[]{0, 0, 0, 2, 1, 1, 2, 0, 1},
      new int[]{0, 0, 0, 2, 1, 1, 2, 1, 0}, new int[]{0, 0, 0, 2, 1, 1, 2, 2, 2},
      new int[]{0, 0, 0, 2, 1, 2, 0, 1, 1}, new int[]{0, 0, 0, 2, 1, 2, 1, 0, 1},
      new int[]{0, 0, 0, 2, 1, 2, 1, 1, 0}, new int[]{0, 0, 0, 2, 1, 2, 1, 2, 2},
      new int[]{0, 0, 0, 2, 1, 2, 2, 1, 2}, new int[]{0, 0, 0, 2, 1, 2, 2, 2, 1},
      new int[]{0, 0, 0, 2, 2, 1, 0, 1, 1}, new int[]{0, 0, 0, 2, 2, 1, 1, 0, 1},
      new int[]{0, 0, 0, 2, 2, 1, 1, 1, 0}, new int[]{0, 0, 0, 2, 2, 1, 1, 2, 2},
      new int[]{0, 0, 0, 2, 2, 1, 2, 1, 2}, new int[]{0, 0, 0, 2, 2, 1, 2, 2, 1},
      new int[]{0, 0, 0, 2, 2, 2, 1, 1, 2}, new int[]{0, 0, 0, 2, 2, 2, 1, 2, 1},
      new int[]{0, 0, 0, 2, 2, 2, 2, 1, 1}, new int[]{0, 0, 1, 0, 0, 1, 1, 1, 0},
      new int[]{0, 0, 1, 0, 1, 0, 0, 1, 1}, new int[]{0, 0, 1, 0, 1, 1, 0, 1, 0},
      new int[]{0, 0, 1, 0, 1, 1, 0, 2, 2}, new int[]{0, 0, 1, 0, 1, 2, 0, 1, 2},
      new int[]{0, 0, 1, 0, 1, 2, 0, 2, 1}, new int[]{0, 0, 1, 0, 2, 1, 0, 1, 2},
      new int[]{0, 0, 1, 0, 2, 2, 0, 1, 1}, new int[]{0, 0, 1, 1, 0, 0, 1, 0, 1},
      new int[]{0, 0, 1, 1, 0, 0, 1, 1, 0}, new int[]{0, 0, 1, 1, 0, 1, 0, 1, 0},
      new int[]{0, 0, 1, 1, 0, 1, 1, 0, 0}, new int[]{0, 0, 1, 1, 0, 1, 2, 0, 2},
      new int[]{0, 0, 1, 1, 0, 1, 2, 2, 0}, new int[]{0, 0, 1, 1, 0, 2, 1, 0, 2},
      new int[]{0, 0, 1, 1, 0, 2, 1, 2, 0}, new int[]{0, 0, 1, 1, 0, 2, 2, 0, 1},
      new int[]{0, 0, 1, 1, 0, 2, 2, 1, 0}, new int[]{0, 0, 1, 2, 0, 1, 1, 0, 2},
      new int[]{0, 0, 1, 2, 0, 1, 1, 2, 0}, new int[]{0, 0, 1, 2, 0, 1, 2, 1, 0},
      new int[]{0, 0, 1, 2, 0, 2, 1, 0, 1}, new int[]{0, 0, 1, 2, 0, 2, 1, 1, 0},
      new int[]{0, 0, 2, 0, 1, 1, 0, 1, 2}, new int[]{0, 0, 2, 0, 1, 1, 0, 2, 1},
      new int[]{0, 0, 2, 0, 1, 2, 0, 1, 1}, new int[]{0, 0, 2, 0, 2, 1, 0, 1, 1},
      new int[]{0, 0, 2, 1, 0, 1, 1, 0, 2}, new int[]{0, 0, 2, 1, 0, 1, 1, 2, 0},
      new int[]{0, 0, 2, 1, 0, 1, 2, 0, 1}, new int[]{0, 0, 2, 1, 0, 1, 2, 1, 0},
      new int[]{0, 0, 2, 1, 0, 2, 1, 0, 1}, new int[]{0, 0, 2, 1, 0, 2, 1, 1, 0},
      new int[]{0, 0, 2, 2, 0, 1, 1, 0, 1}, new int[]{0, 0, 2, 2, 0, 1, 1, 1, 0},
      new int[]{0, 1, 0, 0, 0, 1, 0, 1, 1}, new int[]{0, 1, 0, 0, 0, 1, 1, 1, 0},
      new int[]{0, 1, 0, 0, 1, 1, 0, 0, 1}, new int[]{0, 1, 0, 0, 1, 1, 0, 2, 2},
      new int[]{0, 1, 0, 0, 1, 2, 0, 2, 1}, new int[]{0, 1, 0, 0, 2, 1, 0, 1, 2},
      new int[]{0, 1, 0, 0, 2, 1, 0, 2, 1}, new int[]{0, 1, 0, 0, 2, 2, 0, 1, 1},
      new int[]{0, 1, 0, 1, 0, 0, 0, 1, 1}, new int[]{0, 1, 0, 1, 0, 0, 1, 1, 0},
      new int[]{0, 1, 0, 1, 0, 1, 0, 0, 1}, new int[]{0, 1, 0, 1, 0, 1, 0, 1, 0},
      new int[]{0, 1, 0, 1, 0, 1, 0, 2, 2}, new int[]{0, 1, 0, 1, 0, 1, 1, 0, 0},
      new int[]{0, 1, 0, 1, 0, 1, 2, 2, 0}, new int[]{0, 1, 0, 1, 0, 2, 0, 1, 2},
      new int[]{0, 1, 0, 1, 0, 2, 0, 2, 1}, new int[]{0, 1, 0, 1, 0, 2, 1, 2, 0},
      new int[]{0, 1, 0, 1, 0, 2, 2, 1, 0}, new int[]{0, 1, 0, 1, 1, 0, 1, 0, 0},
      new int[]{0, 1, 0, 1, 1, 0, 2, 2, 0}, new int[]{0, 1, 0, 1, 2, 0, 1, 2, 0},
      new int[]{0, 1, 0, 1, 2, 0, 2, 1, 0}, new int[]{0, 1, 0, 2, 0, 1, 0, 1, 2},
      new int[]{0, 1, 0, 2, 0, 1, 0, 2, 1}, new int[]{0, 1, 0, 2, 0, 1, 1, 2, 0},
      new int[]{0, 1, 0, 2, 0, 1, 2, 1, 0}, new int[]{0, 1, 0, 2, 0, 2, 0, 1, 1},
      new int[]{0, 1, 0, 2, 0, 2, 1, 1, 0}, new int[]{0, 1, 0, 2, 1, 0, 1, 2, 0},
      new int[]{0, 1, 0, 2, 2, 0, 1, 1, 0}, new int[]{0, 1, 1, 0, 0, 0, 0, 1, 1},
      new int[]{0, 1, 1, 0, 0, 0, 1, 0, 1}, new int[]{0, 1, 1, 0, 0, 0, 1, 1, 0},
      new int[]{0, 1, 1, 0, 0, 0, 1, 2, 2}, new int[]{0, 1, 1, 0, 0, 0, 2, 1, 2},
      new int[]{0, 1, 1, 0, 0, 0, 2, 2, 1}, new int[]{0, 1, 1, 0, 0, 1, 0, 1, 0},
      new int[]{0, 1, 1, 0, 0, 1, 0, 2, 2}, new int[]{0, 1, 1, 0, 0, 1, 1, 0, 0},
      new int[]{0, 1, 1, 0, 0, 1, 2, 2, 0}, new int[]{0, 1, 1, 0, 0, 2, 0, 1, 2},
      new int[]{0, 1, 1, 0, 0, 2, 0, 2, 1}, new int[]{0, 1, 1, 0, 0, 2, 1, 2, 0},
      new int[]{0, 1, 1, 0, 0, 2, 2, 1, 0}, new int[]{0, 1, 1, 0, 1, 0, 0, 0, 1},
      new int[]{0, 1, 1, 0, 1, 0, 0, 2, 2}, new int[]{0, 1, 1, 0, 1, 1, 0, 0, 0},
      new int[]{0, 1, 1, 0, 1, 2, 0, 0, 2}, new int[]{0, 1, 1, 0, 1, 2, 0, 2, 0},
      new int[]{0, 1, 1, 0, 2, 0, 0, 1, 2}, new int[]{0, 1, 1, 0, 2, 0, 0, 2, 1},
      new int[]{0, 1, 1, 0, 2, 1, 0, 0, 2}, new int[]{0, 1, 1, 0, 2, 1, 0, 2, 0},
      new int[]{0, 1, 1, 0, 2, 2, 0, 0, 1}, new int[]{0, 1, 1, 0, 2, 2, 0, 1, 0},
      new int[]{0, 1, 1, 0, 2, 2, 0, 2, 2}, new int[]{0, 1, 1, 1, 0, 0, 0, 1, 0},
      new int[]{0, 1, 1, 1, 0, 0, 1, 0, 0}, new int[]{0, 1, 1, 1, 0, 0, 2, 2, 0},
      new int[]{0, 1, 1, 1, 0, 1, 0, 0, 0}, new int[]{0, 1, 1, 1, 0, 2, 0, 2, 0},
      new int[]{0, 1, 1, 1, 0, 2, 2, 0, 0}, new int[]{0, 1, 1, 1, 1, 0, 0, 0, 0},
      new int[]{0, 1, 1, 1, 2, 2, 0, 0, 0}, new int[]{0, 1, 1, 2, 0, 0, 1, 2, 0},
      new int[]{0, 1, 1, 2, 0, 0, 2, 1, 0}, new int[]{0, 1, 1, 2, 0, 1, 0, 2, 0},
      new int[]{0, 1, 1, 2, 0, 1, 2, 0, 0}, new int[]{0, 1, 1, 2, 0, 2, 0, 1, 0},
      new int[]{0, 1, 1, 2, 0, 2, 1, 0, 0}, new int[]{0, 1, 1, 2, 0, 2, 2, 2, 0},
      new int[]{0, 1, 1, 2, 1, 2, 0, 0, 0}, new int[]{0, 1, 1, 2, 2, 1, 0, 0, 0},
      new int[]{0, 1, 2, 0, 0, 0, 1, 1, 2}, new int[]{0, 1, 2, 0, 0, 0, 1, 2, 1},
      new int[]{0, 1, 2, 0, 0, 0, 2, 1, 1}, new int[]{0, 1, 2, 0, 0, 1, 0, 1, 2},
      new int[]{0, 1, 2, 0, 0, 1, 0, 2, 1}, new int[]{0, 1, 2, 0, 0, 1, 1, 2, 0},
      new int[]{0, 1, 2, 0, 0, 1, 2, 1, 0}, new int[]{0, 1, 2, 0, 0, 2, 0, 1, 1},
      new int[]{0, 1, 2, 0, 0, 2, 1, 1, 0}, new int[]{0, 1, 2, 0, 1, 0, 0, 2, 1},
      new int[]{0, 1, 2, 0, 1, 1, 0, 0, 2}, new int[]{0, 1, 2, 0, 1, 1, 0, 2, 0},
      new int[]{0, 1, 2, 0, 1, 2, 0, 0, 1}, new int[]{0, 1, 2, 0, 1, 2, 0, 2, 2},
      new int[]{0, 1, 2, 0, 2, 0, 0, 1, 1}, new int[]{0, 1, 2, 0, 2, 1, 0, 0, 1},
      new int[]{0, 1, 2, 0, 2, 1, 0, 1, 0}, new int[]{0, 1, 2, 0, 2, 1, 0, 2, 2},
      new int[]{0, 1, 2, 0, 2, 2, 0, 1, 2}, new int[]{0, 1, 2, 0, 2, 2, 0, 2, 1},
      new int[]{0, 1, 2, 1, 0, 0, 1, 2, 0}, new int[]{0, 1, 2, 1, 0, 0, 2, 1, 0},
      new int[]{0, 1, 2, 1, 0, 1, 0, 2, 0}, new int[]{0, 1, 2, 1, 0, 1, 2, 0, 0},
      new int[]{0, 1, 2, 1, 0, 2, 0, 1, 0}, new int[]{0, 1, 2, 1, 0, 2, 1, 0, 0},
      new int[]{0, 1, 2, 1, 0, 2, 2, 2, 0}, new int[]{0, 1, 2, 1, 1, 2, 0, 0, 0},
      new int[]{0, 1, 2, 1, 2, 1, 0, 0, 0}, new int[]{0, 1, 2, 2, 0, 0, 1, 1, 0},
      new int[]{0, 1, 2, 2, 0, 1, 0, 1, 0}, new int[]{0, 1, 2, 2, 0, 1, 1, 0, 0},
      new int[]{0, 1, 2, 2, 0, 1, 2, 2, 0}, new int[]{0, 1, 2, 2, 0, 2, 1, 2, 0},
      new int[]{0, 1, 2, 2, 0, 2, 2, 1, 0}, new int[]{0, 1, 2, 2, 1, 1, 0, 0, 0},
      new int[]{0, 2, 0, 0, 1, 1, 0, 1, 2}, new int[]{0, 2, 0, 0, 1, 1, 0, 2, 1},
      new int[]{0, 2, 0, 0, 1, 2, 0, 1, 1}, new int[]{0, 2, 0, 0, 2, 1, 0, 1, 1},
      new int[]{0, 2, 0, 1, 0, 1, 0, 1, 2}, new int[]{0, 2, 0, 1, 0, 1, 0, 2, 1},
      new int[]{0, 2, 0, 1, 0, 1, 1, 2, 0}, new int[]{0, 2, 0, 1, 0, 1, 2, 1, 0},
      new int[]{0, 2, 0, 1, 0, 2, 0, 1, 1}, new int[]{0, 2, 0, 1, 0, 2, 1, 1, 0},
      new int[]{0, 2, 0, 1, 1, 0, 1, 2, 0}, new int[]{0, 2, 0, 1, 1, 0, 2, 1, 0},
      new int[]{0, 2, 0, 1, 2, 0, 1, 1, 0}, new int[]{0, 2, 0, 2, 0, 1, 0, 1, 1},
      new int[]{0, 2, 0, 2, 0, 1, 1, 1, 0}, new int[]{0, 2, 0, 2, 1, 0, 1, 1, 0},
      new int[]{0, 2, 1, 0, 0, 0, 1, 1, 2}, new int[]{0, 2, 1, 0, 0, 0, 1, 2, 1},
      new int[]{0, 2, 1, 0, 0, 0, 2, 1, 1}, new int[]{0, 2, 1, 0, 0, 1, 0, 1, 2},
      new int[]{0, 2, 1, 0, 0, 1, 1, 2, 0}, new int[]{0, 2, 1, 0, 0, 1, 2, 1, 0},
      new int[]{0, 2, 1, 0, 0, 2, 0, 1, 1}, new int[]{0, 2, 1, 0, 0, 2, 1, 1, 0},
      new int[]{0, 2, 1, 0, 1, 0, 0, 1, 2}, new int[]{0, 2, 1, 0, 1, 0, 0, 2, 1},
      new int[]{0, 2, 1, 0, 1, 1, 0, 0, 2}, new int[]{0, 2, 1, 0, 1, 1, 0, 2, 0},
      new int[]{0, 2, 1, 0, 1, 2, 0, 0, 1}, new int[]{0, 2, 1, 0, 1, 2, 0, 1, 0},
      new int[]{0, 2, 1, 0, 1, 2, 0, 2, 2}, new int[]{0, 2, 1, 0, 2, 0, 0, 1, 1},
      new int[]{0, 2, 1, 0, 2, 1, 0, 1, 0}, new int[]{0, 2, 1, 0, 2, 1, 0, 2, 2},
      new int[]{0, 2, 1, 0, 2, 2, 0, 1, 2}, new int[]{0, 2, 1, 0, 2, 2, 0, 2, 1},
      new int[]{0, 2, 1, 1, 0, 0, 1, 2, 0}, new int[]{0, 2, 1, 1, 0, 0, 2, 1, 0},
      new int[]{0, 2, 1, 1, 0, 1, 0, 2, 0}, new int[]{0, 2, 1, 1, 0, 1, 2, 0, 0},
      new int[]{0, 2, 1, 1, 0, 2, 0, 1, 0}, new int[]{0, 2, 1, 1, 0, 2, 1, 0, 0},
      new int[]{0, 2, 1, 1, 0, 2, 2, 2, 0}, new int[]{0, 2, 1, 1, 1, 2, 0, 0, 0},
      new int[]{0, 2, 1, 1, 2, 1, 0, 0, 0}, new int[]{0, 2, 1, 2, 0, 0, 1, 1, 0},
      new int[]{0, 2, 1, 2, 0, 1, 0, 1, 0}, new int[]{0, 2, 1, 2, 0, 1, 1, 0, 0},
      new int[]{0, 2, 1, 2, 0, 1, 2, 2, 0}, new int[]{0, 2, 1, 2, 0, 2, 1, 2, 0},
      new int[]{0, 2, 1, 2, 0, 2, 2, 1, 0}, new int[]{0, 2, 1, 2, 1, 1, 0, 0, 0},
      new int[]{0, 2, 2, 0, 0, 1, 0, 1, 1}, new int[]{0, 2, 2, 0, 0, 1, 1, 1, 0},
      new int[]{0, 2, 2, 0, 1, 0, 0, 1, 1}, new int[]{0, 2, 2, 0, 1, 1, 0, 0, 1},
      new int[]{0, 2, 2, 0, 1, 1, 0, 1, 0}, new int[]{0, 2, 2, 0, 1, 1, 0, 2, 2},
      new int[]{0, 2, 2, 0, 1, 2, 0, 1, 2}, new int[]{0, 2, 2, 0, 1, 2, 0, 2, 1},
      new int[]{0, 2, 2, 0, 2, 1, 0, 1, 2}, new int[]{0, 2, 2, 0, 2, 1, 0, 2, 1},
      new int[]{0, 2, 2, 0, 2, 2, 0, 1, 1}, new int[]{0, 2, 2, 1, 0, 0, 1, 1, 0},
      new int[]{0, 2, 2, 1, 0, 1, 0, 1, 0}, new int[]{0, 2, 2, 1, 0, 1, 1, 0, 0},
      new int[]{0, 2, 2, 1, 0, 1, 2, 2, 0}, new int[]{0, 2, 2, 1, 0, 2, 1, 2, 0},
      new int[]{0, 2, 2, 1, 0, 2, 2, 1, 0}, new int[]{0, 2, 2, 2, 0, 1, 1, 2, 0},
      new int[]{0, 2, 2, 2, 0, 1, 2, 1, 0}, new int[]{0, 2, 2, 2, 0, 2, 1, 1, 0},
      new int[]{1, 0, 0, 0, 0, 1, 0, 1, 1}, new int[]{1, 0, 0, 0, 0, 1, 1, 0, 1},
      new int[]{1, 0, 0, 0, 1, 0, 1, 1, 0}, new int[]{1, 0, 0, 1, 0, 0, 0, 1, 1},
      new int[]{1, 0, 0, 1, 0, 1, 0, 0, 1}, new int[]{1, 0, 0, 1, 0, 1, 0, 1, 0},
      new int[]{1, 0, 0, 1, 0, 1, 0, 2, 2}, new int[]{1, 0, 0, 1, 0, 1, 2, 0, 2},
      new int[]{1, 0, 0, 1, 0, 2, 0, 1, 2}, new int[]{1, 0, 0, 1, 0, 2, 0, 2, 1},
      new int[]{1, 0, 0, 1, 0, 2, 2, 0, 1}, new int[]{1, 0, 0, 1, 1, 0, 0, 1, 0},
      new int[]{1, 0, 0, 1, 1, 0, 2, 2, 0}, new int[]{1, 0, 0, 1, 2, 0, 2, 1, 0},
      new int[]{1, 0, 0, 2, 0, 1, 0, 1, 2}, new int[]{1, 0, 0, 2, 0, 1, 0, 2, 1},
      new int[]{1, 0, 0, 2, 0, 1, 1, 0, 2}, new int[]{1, 0, 0, 2, 0, 1, 2, 0, 1},
      new int[]{1, 0, 0, 2, 0, 2, 0, 1, 1}, new int[]{1, 0, 0, 2, 0, 2, 1, 0, 1},
      new int[]{1, 0, 0, 2, 1, 0, 1, 2, 0}, new int[]{1, 0, 0, 2, 1, 0, 2, 1, 0},
      new int[]{1, 0, 0, 2, 2, 0, 1, 1, 0}, new int[]{1, 0, 1, 0, 0, 0, 0, 1, 1},
      new int[]{1, 0, 1, 0, 0, 0, 1, 0, 1}, new int[]{1, 0, 1, 0, 0, 0, 1, 1, 0},
      new int[]{1, 0, 1, 0, 0, 0, 1, 2, 2}, new int[]{1, 0, 1, 0, 0, 0, 2, 1, 2},
      new int[]{1, 0, 1, 0, 0, 0, 2, 2, 1}, new int[]{1, 0, 1, 0, 0, 1, 1, 0, 0},
      new int[]{1, 0, 1, 0, 0, 1, 2, 0, 2}, new int[]{1, 0, 1, 0, 0, 2, 1, 0, 2},
      new int[]{1, 0, 1, 0, 0, 2, 2, 0, 1}, new int[]{1, 0, 1, 0, 1, 1, 0, 0, 0},
      new int[]{1, 0, 1, 1, 0, 0, 0, 0, 1}, new int[]{1, 0, 1, 1, 0, 0, 2, 0, 2},
      new int[]{1, 0, 1, 1, 0, 1, 0, 0, 0}, new int[]{1, 0, 1, 1, 0, 2, 0, 0, 2},
      new int[]{1, 0, 1, 1, 0, 2, 2, 0, 0}, new int[]{1, 0, 1, 1, 1, 0, 0, 0, 0},
      new int[]{1, 0, 1, 1, 2, 2, 0, 0, 0}, new int[]{1, 0, 1, 2, 0, 0, 1, 0, 2},
      new int[]{1, 0, 1, 2, 0, 0, 2, 0, 1}, new int[]{1, 0, 1, 2, 0, 1, 0, 0, 2},
      new int[]{1, 0, 1, 2, 0, 1, 2, 0, 0}, new int[]{1, 0, 1, 2, 0, 2, 0, 0, 1},
      new int[]{1, 0, 1, 2, 0, 2, 1, 0, 0}, new int[]{1, 0, 1, 2, 0, 2, 2, 0, 2},
      new int[]{1, 0, 1, 2, 1, 2, 0, 0, 0}, new int[]{1, 0, 1, 2, 2, 1, 0, 0, 0},
      new int[]{1, 0, 2, 0, 0, 0, 1, 1, 2}, new int[]{1, 0, 2, 0, 0, 0, 1, 2, 1},
      new int[]{1, 0, 2, 0, 0, 0, 2, 1, 1}, new int[]{1, 0, 2, 0, 0, 1, 1, 0, 2},
      new int[]{1, 0, 2, 0, 0, 1, 2, 0, 1}, new int[]{1, 0, 2, 0, 0, 2, 1, 0, 1},
      new int[]{1, 0, 2, 1, 0, 0, 2, 0, 1}, new int[]{1, 0, 2, 1, 0, 1, 0, 0, 2},
      new int[]{1, 0, 2, 1, 0, 1, 2, 0, 0}, new int[]{1, 0, 2, 1, 0, 2, 0, 0, 1},
      new int[]{1, 0, 2, 1, 0, 2, 2, 0, 2}, new int[]{1, 0, 2, 1, 1, 2, 0, 0, 0},
      new int[]{1, 0, 2, 1, 2, 1, 0, 0, 0}, new int[]{1, 0, 2, 2, 0, 0, 1, 0, 1},
      new int[]{1, 0, 2, 2, 0, 1, 0, 0, 1}, new int[]{1, 0, 2, 2, 0, 1, 1, 0, 0},
      new int[]{1, 0, 2, 2, 0, 1, 2, 0, 2}, new int[]{1, 0, 2, 2, 0, 2, 1, 0, 2},
      new int[]{1, 0, 2, 2, 0, 2, 2, 0, 1}, new int[]{1, 0, 2, 2, 1, 1, 0, 0, 0},
      new int[]{1, 1, 0, 0, 0, 0, 0, 1, 1}, new int[]{1, 1, 0, 0, 0, 0, 1, 0, 1},
      new int[]{1, 1, 0, 0, 0, 0, 1, 1, 0}, new int[]{1, 1, 0, 0, 0, 0, 1, 2, 2},
      new int[]{1, 1, 0, 0, 0, 0, 2, 1, 2}, new int[]{1, 1, 0, 0, 0, 0, 2, 2, 1},
      new int[]{1, 1, 0, 0, 0, 1, 0, 0, 1}, new int[]{1, 1, 0, 0, 0, 1, 0, 1, 0},
      new int[]{1, 1, 0, 0, 0, 1, 0, 2, 2}, new int[]{1, 1, 0, 0, 0, 2, 0, 1, 2},
      new int[]{1, 1, 0, 0, 0, 2, 0, 2, 1}, new int[]{1, 1, 0, 0, 1, 0, 1, 0, 0},
      new int[]{1, 1, 0, 0, 1, 0, 2, 2, 0}, new int[]{1, 1, 0, 0, 1, 1, 0, 0, 0},
      new int[]{1, 1, 0, 0, 2, 0, 1, 2, 0}, new int[]{1, 1, 0, 0, 2, 0, 2, 1, 0},
      new int[]{1, 1, 0, 1, 0, 0, 0, 0, 1}, new int[]{1, 1, 0, 1, 0, 0, 0, 1, 0},
      new int[]{1, 1, 0, 1, 0, 0, 0, 2, 2}, new int[]{1, 1, 0, 1, 0, 0, 2, 2, 0},
      new int[]{1, 1, 0, 1, 0, 1, 0, 0, 0}, new int[]{1, 1, 0, 1, 0, 2, 0, 0, 2},
      new int[]{1, 1, 0, 1, 0, 2, 0, 2, 0}, new int[]{1, 1, 0, 1, 1, 0, 0, 0, 0},
      new int[]{1, 1, 0, 1, 2, 0, 0, 2, 0}, new int[]{1, 1, 0, 1, 2, 0, 2, 0, 0},
      new int[]{1, 1, 0, 1, 2, 2, 0, 0, 0}, new int[]{1, 1, 0, 2, 0, 0, 0, 1, 2},
      new int[]{1, 1, 0, 2, 0, 0, 0, 2, 1}, new int[]{1, 1, 0, 2, 0, 0, 1, 2, 0},
      new int[]{1, 1, 0, 2, 0, 0, 2, 1, 0}, new int[]{1, 1, 0, 2, 0, 1, 0, 0, 2},
      new int[]{1, 1, 0, 2, 0, 1, 0, 2, 0}, new int[]{1, 1, 0, 2, 0, 2, 0, 0, 1},
      new int[]{1, 1, 0, 2, 0, 2, 0, 1, 0}, new int[]{1, 1, 0, 2, 0, 2, 0, 2, 2},
      new int[]{1, 1, 0, 2, 1, 0, 0, 2, 0}, new int[]{1, 1, 0, 2, 1, 0, 2, 0, 0},
      new int[]{1, 1, 0, 2, 1, 2, 0, 0, 0}, new int[]{1, 1, 0, 2, 2, 0, 0, 1, 0},
      new int[]{1, 1, 0, 2, 2, 0, 1, 0, 0}, new int[]{1, 1, 0, 2, 2, 0, 2, 2, 0},
      new int[]{1, 1, 0, 2, 2, 1, 0, 0, 0}, new int[]{1, 1, 2, 0, 0, 0, 0, 1, 2},
      new int[]{1, 1, 2, 0, 0, 0, 0, 2, 1}, new int[]{1, 1, 2, 0, 0, 0, 1, 0, 2},
      new int[]{1, 1, 2, 0, 0, 0, 1, 2, 0}, new int[]{1, 1, 2, 0, 0, 0, 2, 0, 1},
      new int[]{1, 1, 2, 0, 0, 0, 2, 1, 0}, new int[]{1, 1, 2, 0, 0, 0, 2, 2, 2},
      new int[]{1, 1, 2, 0, 1, 2, 0, 0, 0}, new int[]{1, 1, 2, 0, 2, 1, 0, 0, 0},
      new int[]{1, 1, 2, 1, 0, 2, 0, 0, 0}, new int[]{1, 1, 2, 1, 2, 0, 0, 0, 0},
      new int[]{1, 1, 2, 2, 0, 1, 0, 0, 0}, new int[]{1, 1, 2, 2, 1, 0, 0, 0, 0},
      new int[]{1, 1, 2, 2, 2, 2, 0, 0, 0}, new int[]{1, 2, 0, 0, 0, 0, 1, 1, 2},
      new int[]{1, 2, 0, 0, 0, 0, 1, 2, 1}, new int[]{1, 2, 0, 0, 0, 0, 2, 1, 1},
      new int[]{1, 2, 0, 0, 0, 1, 0, 1, 2}, new int[]{1, 2, 0, 0, 0, 1, 0, 2, 1},
      new int[]{1, 2, 0, 0, 0, 2, 0, 1, 1}, new int[]{1, 2, 0, 0, 1, 0, 1, 2, 0},
      new int[]{1, 2, 0, 0, 1, 0, 2, 1, 0}, new int[]{1, 2, 0, 0, 2, 0, 1, 1, 0},
      new int[]{1, 2, 0, 1, 0, 0, 0, 1, 2}, new int[]{1, 2, 0, 1, 0, 0, 0, 2, 1},
      new int[]{1, 2, 0, 1, 0, 0, 2, 1, 0}, new int[]{1, 2, 0, 1, 0, 1, 0, 0, 2},
      new int[]{1, 2, 0, 1, 0, 1, 0, 2, 0}, new int[]{1, 2, 0, 1, 0, 2, 0, 0, 1},
      new int[]{1, 2, 0, 1, 0, 2, 0, 1, 0}, new int[]{1, 2, 0, 1, 0, 2, 0, 2, 2},
      new int[]{1, 2, 0, 1, 1, 0, 0, 2, 0}, new int[]{1, 2, 0, 1, 1, 0, 2, 0, 0},
      new int[]{1, 2, 0, 1, 1, 2, 0, 0, 0}, new int[]{1, 2, 0, 1, 2, 0, 0, 1, 0},
      new int[]{1, 2, 0, 1, 2, 0, 2, 2, 0}, new int[]{1, 2, 0, 1, 2, 1, 0, 0, 0},
      new int[]{1, 2, 0, 2, 0, 0, 0, 1, 1}, new int[]{1, 2, 0, 2, 0, 0, 1, 1, 0},
      new int[]{1, 2, 0, 2, 0, 1, 0, 0, 1}, new int[]{1, 2, 0, 2, 0, 1, 0, 1, 0},
      new int[]{1, 2, 0, 2, 0, 1, 0, 2, 2}, new int[]{1, 2, 0, 2, 0, 2, 0, 1, 2},
      new int[]{1, 2, 0, 2, 0, 2, 0, 2, 1}, new int[]{1, 2, 0, 2, 1, 0, 0, 1, 0},
      new int[]{1, 2, 0, 2, 1, 0, 1, 0, 0}, new int[]{1, 2, 0, 2, 1, 0, 2, 2, 0},
      new int[]{1, 2, 0, 2, 1, 1, 0, 0, 0}, new int[]{1, 2, 0, 2, 2, 0, 1, 2, 0},
      new int[]{1, 2, 0, 2, 2, 0, 2, 1, 0}, new int[]{1, 2, 1, 0, 0, 0, 0, 1, 2},
      new int[]{1, 2, 1, 0, 0, 0, 0, 2, 1}, new int[]{1, 2, 1, 0, 0, 0, 1, 0, 2},
      new int[]{1, 2, 1, 0, 0, 0, 1, 2, 0}, new int[]{1, 2, 1, 0, 0, 0, 2, 0, 1},
      new int[]{1, 2, 1, 0, 0, 0, 2, 1, 0}, new int[]{1, 2, 1, 0, 0, 0, 2, 2, 2},
      new int[]{1, 2, 1, 0, 1, 2, 0, 0, 0}, new int[]{1, 2, 1, 0, 2, 1, 0, 0, 0},
      new int[]{1, 2, 1, 1, 0, 2, 0, 0, 0}, new int[]{1, 2, 1, 1, 2, 0, 0, 0, 0},
      new int[]{1, 2, 1, 2, 0, 1, 0, 0, 0}, new int[]{1, 2, 1, 2, 1, 0, 0, 0, 0},
      new int[]{1, 2, 1, 2, 2, 2, 0, 0, 0}, new int[]{1, 2, 2, 0, 0, 0, 0, 1, 1},
      new int[]{1, 2, 2, 0, 0, 0, 1, 0, 1}, new int[]{1, 2, 2, 0, 0, 0, 1, 1, 0},
      new int[]{1, 2, 2, 0, 0, 0, 1, 2, 2}, new int[]{1, 2, 2, 0, 0, 0, 2, 1, 2},
      new int[]{1, 2, 2, 0, 0, 0, 2, 2, 1}, new int[]{1, 2, 2, 0, 1, 1, 0, 0, 0},
      new int[]{1, 2, 2, 1, 0, 1, 0, 0, 0}, new int[]{1, 2, 2, 1, 1, 0, 0, 0, 0},
      new int[]{1, 2, 2, 1, 2, 2, 0, 0, 0}, new int[]{1, 2, 2, 2, 1, 2, 0, 0, 0},
      new int[]{1, 2, 2, 2, 2, 1, 0, 0, 0}, new int[]{2, 0, 0, 1, 0, 1, 0, 1, 2},
      new int[]{2, 0, 0, 1, 0, 1, 0, 2, 1}, new int[]{2, 0, 0, 1, 0, 1, 1, 0, 2},
      new int[]{2, 0, 0, 1, 0, 1, 2, 0, 1}, new int[]{2, 0, 0, 1, 0, 2, 0, 1, 1},
      new int[]{2, 0, 0, 1, 0, 2, 1, 0, 1}, new int[]{2, 0, 0, 1, 1, 0, 1, 2, 0},
      new int[]{2, 0, 0, 1, 1, 0, 2, 1, 0}, new int[]{2, 0, 0, 1, 2, 0, 1, 1, 0},
      new int[]{2, 0, 0, 2, 0, 1, 0, 1, 1}, new int[]{2, 0, 0, 2, 0, 1, 1, 0, 1},
      new int[]{2, 0, 0, 2, 1, 0, 1, 1, 0}, new int[]{2, 0, 1, 0, 0, 0, 1, 1, 2},
      new int[]{2, 0, 1, 0, 0, 0, 1, 2, 1}, new int[]{2, 0, 1, 0, 0, 0, 2, 1, 1},
      new int[]{2, 0, 1, 0, 0, 1, 1, 0, 2}, new int[]{2, 0, 1, 0, 0, 2, 1, 0, 1},
      new int[]{2, 0, 1, 1, 0, 0, 1, 0, 2}, new int[]{2, 0, 1, 1, 0, 0, 2, 0, 1},
      new int[]{2, 0, 1, 1, 0, 1, 0, 0, 2}, new int[]{2, 0, 1, 1, 0, 1, 2, 0, 0},
      new int[]{2, 0, 1, 1, 0, 2, 0, 0, 1}, new int[]{2, 0, 1, 1, 0, 2, 1, 0, 0},
      new int[]{2, 0, 1, 1, 0, 2, 2, 0, 2}, new int[]{2, 0, 1, 1, 1, 2, 0, 0, 0},
      new int[]{2, 0, 1, 1, 2, 1, 0, 0, 0}, new int[]{2, 0, 1, 2, 0, 0, 1, 0, 1},
      new int[]{2, 0, 1, 2, 0, 1, 1, 0, 0}, new int[]{2, 0, 1, 2, 0, 1, 2, 0, 2},
      new int[]{2, 0, 1, 2, 0, 2, 1, 0, 2}, new int[]{2, 0, 1, 2, 0, 2, 2, 0, 1},
      new int[]{2, 0, 1, 2, 1, 1, 0, 0, 0}, new int[]{2, 0, 2, 0, 0, 1, 1, 0, 1},
      new int[]{2, 0, 2, 1, 0, 0, 1, 0, 1}, new int[]{2, 0, 2, 1, 0, 1, 0, 0, 1},
      new int[]{2, 0, 2, 1, 0, 1, 1, 0, 0}, new int[]{2, 0, 2, 1, 0, 1, 2, 0, 2},
      new int[]{2, 0, 2, 1, 0, 2, 1, 0, 2}, new int[]{2, 0, 2, 1, 0, 2, 2, 0, 1},
      new int[]{2, 0, 2, 2, 0, 1, 1, 0, 2}, new int[]{2, 0, 2, 2, 0, 1, 2, 0, 1},
      new int[]{2, 0, 2, 2, 0, 2, 1, 0, 1}, new int[]{2, 1, 0, 0, 0, 0, 1, 1, 2},
      new int[]{2, 1, 0, 0, 0, 0, 1, 2, 1}, new int[]{2, 1, 0, 0, 0, 0, 2, 1, 1},
      new int[]{2, 1, 0, 0, 0, 1, 0, 1, 2}, new int[]{2, 1, 0, 0, 0, 1, 0, 2, 1},
      new int[]{2, 1, 0, 0, 0, 2, 0, 1, 1}, new int[]{2, 1, 0, 0, 1, 0, 1, 2, 0},
      new int[]{2, 1, 0, 0, 2, 0, 1, 1, 0}, new int[]{2, 1, 0, 1, 0, 0, 0, 1, 2},
      new int[]{2, 1, 0, 1, 0, 0, 0, 2, 1}, new int[]{2, 1, 0, 1, 0, 0, 1, 2, 0},
      new int[]{2, 1, 0, 1, 0, 0, 2, 1, 0}, new int[]{2, 1, 0, 1, 0, 1, 0, 0, 2},
      new int[]{2, 1, 0, 1, 0, 1, 0, 2, 0}, new int[]{2, 1, 0, 1, 0, 2, 0, 0, 1},
      new int[]{2, 1, 0, 1, 0, 2, 0, 1, 0}, new int[]{2, 1, 0, 1, 0, 2, 0, 2, 2},
      new int[]{2, 1, 0, 1, 1, 0, 0, 2, 0}, new int[]{2, 1, 0, 1, 1, 0, 2, 0, 0},
      new int[]{2, 1, 0, 1, 1, 2, 0, 0, 0}, new int[]{2, 1, 0, 1, 2, 0, 0, 1, 0},
      new int[]{2, 1, 0, 1, 2, 0, 1, 0, 0}, new int[]{2, 1, 0, 1, 2, 0, 2, 2, 0},
      new int[]{2, 1, 0, 1, 2, 1, 0, 0, 0}, new int[]{2, 1, 0, 2, 0, 0, 0, 1, 1},
      new int[]{2, 1, 0, 2, 0, 0, 1, 1, 0}, new int[]{2, 1, 0, 2, 0, 1, 0, 0, 1},
      new int[]{2, 1, 0, 2, 0, 1, 0, 1, 0}, new int[]{2, 1, 0, 2, 0, 1, 0, 2, 2},
      new int[]{2, 1, 0, 2, 0, 2, 0, 1, 2}, new int[]{2, 1, 0, 2, 0, 2, 0, 2, 1},
      new int[]{2, 1, 0, 2, 1, 0, 1, 0, 0}, new int[]{2, 1, 0, 2, 1, 0, 2, 2, 0},
      new int[]{2, 1, 0, 2, 1, 1, 0, 0, 0}, new int[]{2, 1, 0, 2, 2, 0, 1, 2, 0},
      new int[]{2, 1, 0, 2, 2, 0, 2, 1, 0}, new int[]{2, 1, 1, 0, 0, 0, 0, 1, 2},
      new int[]{2, 1, 1, 0, 0, 0, 0, 2, 1}, new int[]{2, 1, 1, 0, 0, 0, 1, 0, 2},
      new int[]{2, 1, 1, 0, 0, 0, 1, 2, 0}, new int[]{2, 1, 1, 0, 0, 0, 2, 0, 1},
      new int[]{2, 1, 1, 0, 0, 0, 2, 1, 0}, new int[]{2, 1, 1, 0, 0, 0, 2, 2, 2},
      new int[]{2, 1, 1, 0, 1, 2, 0, 0, 0}, new int[]{2, 1, 1, 0, 2, 1, 0, 0, 0},
      new int[]{2, 1, 1, 1, 0, 2, 0, 0, 0}, new int[]{2, 1, 1, 1, 2, 0, 0, 0, 0},
      new int[]{2, 1, 1, 2, 0, 1, 0, 0, 0}, new int[]{2, 1, 1, 2, 1, 0, 0, 0, 0},
      new int[]{2, 1, 1, 2, 2, 2, 0, 0, 0}, new int[]{2, 1, 2, 0, 0, 0, 0, 1, 1},
      new int[]{2, 1, 2, 0, 0, 0, 1, 0, 1}, new int[]{2, 1, 2, 0, 0, 0, 1, 1, 0},
      new int[]{2, 1, 2, 0, 0, 0, 1, 2, 2}, new int[]{2, 1, 2, 0, 0, 0, 2, 1, 2},
      new int[]{2, 1, 2, 0, 0, 0, 2, 2, 1}, new int[]{2, 1, 2, 0, 1, 1, 0, 0, 0},
      new int[]{2, 1, 2, 1, 0, 1, 0, 0, 0}, new int[]{2, 1, 2, 1, 1, 0, 0, 0, 0},
      new int[]{2, 1, 2, 1, 2, 2, 0, 0, 0}, new int[]{2, 1, 2, 2, 1, 2, 0, 0, 0},
      new int[]{2, 1, 2, 2, 2, 1, 0, 0, 0}, new int[]{2, 2, 0, 0, 0, 1, 0, 1, 1},
      new int[]{2, 2, 0, 0, 1, 0, 1, 1, 0}, new int[]{2, 2, 0, 1, 0, 0, 0, 1, 1},
      new int[]{2, 2, 0, 1, 0, 0, 1, 1, 0}, new int[]{2, 2, 0, 1, 0, 1, 0, 0, 1},
      new int[]{2, 2, 0, 1, 0, 1, 0, 1, 0}, new int[]{2, 2, 0, 1, 0, 1, 0, 2, 2},
      new int[]{2, 2, 0, 1, 0, 2, 0, 1, 2}, new int[]{2, 2, 0, 1, 0, 2, 0, 2, 1},
      new int[]{2, 2, 0, 1, 1, 0, 0, 1, 0}, new int[]{2, 2, 0, 1, 1, 0, 1, 0, 0},
      new int[]{2, 2, 0, 1, 1, 0, 2, 2, 0}, new int[]{2, 2, 0, 1, 2, 0, 1, 2, 0},
      new int[]{2, 2, 0, 1, 2, 0, 2, 1, 0}, new int[]{2, 2, 0, 2, 0, 1, 0, 1, 2},
      new int[]{2, 2, 0, 2, 0, 1, 0, 2, 1}, new int[]{2, 2, 0, 2, 0, 2, 0, 1, 1},
      new int[]{2, 2, 0, 2, 1, 0, 1, 2, 0}, new int[]{2, 2, 0, 2, 1, 0, 2, 1, 0},
      new int[]{2, 2, 0, 2, 2, 0, 1, 1, 0}, new int[]{2, 2, 1, 0, 0, 0, 0, 1, 1},
      new int[]{2, 2, 1, 0, 0, 0, 1, 0, 1}, new int[]{2, 2, 1, 0, 0, 0, 1, 1, 0},
      new int[]{2, 2, 1, 0, 0, 0, 1, 2, 2}, new int[]{2, 2, 1, 0, 0, 0, 2, 1, 2},
      new int[]{2, 2, 1, 0, 0, 0, 2, 2, 1}, new int[]{2, 2, 1, 0, 1, 1, 0, 0, 0},
      new int[]{2, 2, 1, 1, 0, 1, 0, 0, 0}, new int[]{2, 2, 1, 1, 1, 0, 0, 0, 0},
      new int[]{2, 2, 1, 1, 2, 2, 0, 0, 0}, new int[]{2, 2, 1, 2, 1, 2, 0, 0, 0},
      new int[]{2, 2, 1, 2, 2, 1, 0, 0, 0}, new int[]{2, 2, 2, 0, 0, 0, 1, 1, 2},
      new int[]{2, 2, 2, 0, 0, 0, 1, 2, 1}, new int[]{2, 2, 2, 0, 0, 0, 2, 1, 1},
      new int[]{2, 2, 2, 1, 1, 2, 0, 0, 0}, new int[]{2, 2, 2, 1, 2, 1, 0, 0, 0},
      new int[]{2, 2, 2, 2, 1, 1, 0, 0, 0}, new int[]{0, 0, 1, 0, 0, 1, 1, 2, 1},
      new int[]{0, 0, 1, 0, 0, 1, 2, 1, 1}, new int[]{0, 0, 1, 0, 0, 2, 1, 1, 1},
      new int[]{0, 0, 1, 0, 1, 0, 1, 1, 2}, new int[]{0, 0, 1, 0, 1, 0, 1, 2, 1},
      new int[]{0, 0, 1, 0, 1, 1, 1, 0, 2}, new int[]{0, 0, 1, 0, 1, 1, 1, 2, 0},
      new int[]{0, 0, 1, 0, 1, 1, 2, 0, 1}, new int[]{0, 0, 1, 0, 1, 2, 1, 0, 1},
      new int[]{0, 0, 1, 0, 1, 2, 1, 1, 0}, new int[]{0, 0, 1, 0, 1, 2, 1, 2, 2},
      new int[]{0, 0, 1, 0, 2, 0, 1, 1, 1}, new int[]{0, 0, 1, 0, 2, 1, 1, 0, 1},
      new int[]{0, 0, 1, 0, 2, 1, 2, 2, 1}, new int[]{0, 0, 1, 1, 0, 1, 0, 2, 1},
      new int[]{0, 0, 1, 1, 1, 0, 1, 0, 2}, new int[]{0, 0, 1, 1, 1, 0, 1, 2, 0},
      new int[]{0, 0, 1, 1, 1, 1, 0, 0, 2}, new int[]{0, 0, 1, 1, 1, 1, 0, 2, 0},
      new int[]{0, 0, 1, 1, 1, 1, 2, 0, 0}, new int[]{0, 0, 1, 1, 1, 2, 1, 0, 0},
      new int[]{0, 0, 1, 1, 2, 1, 0, 0, 1}, new int[]{0, 0, 1, 2, 0, 0, 1, 1, 1},
      new int[]{0, 0, 1, 2, 0, 1, 0, 1, 1}, new int[]{0, 0, 1, 2, 0, 1, 2, 2, 1},
      new int[]{0, 0, 1, 2, 1, 0, 1, 0, 1}, new int[]{0, 0, 1, 2, 1, 0, 1, 1, 0},
      new int[]{0, 0, 1, 2, 1, 0, 1, 2, 2}, new int[]{0, 0, 1, 2, 1, 1, 0, 0, 1},
      new int[]{0, 0, 1, 2, 1, 1, 1, 0, 0}, new int[]{0, 0, 1, 2, 1, 2, 1, 0, 2},
      new int[]{0, 0, 1, 2, 1, 2, 1, 2, 0}, new int[]{0, 0, 1, 2, 2, 1, 0, 2, 1},
      new int[]{0, 0, 1, 2, 2, 1, 2, 0, 1}, new int[]{0, 0, 2, 0, 0, 1, 1, 1, 1},
      new int[]{0, 0, 2, 0, 1, 0, 1, 1, 1}, new int[]{0, 0, 2, 0, 2, 2, 1, 1, 1},
      new int[]{0, 0, 2, 1, 0, 0, 1, 1, 1}, new int[]{0, 0, 2, 1, 1, 1, 0, 0, 1},
      new int[]{0, 0, 2, 1, 1, 1, 0, 1, 0}, new int[]{0, 0, 2, 1, 1, 1, 0, 2, 2},
      new int[]{0, 0, 2, 1, 1, 1, 1, 0, 0}, new int[]{0, 0, 2, 1, 1, 1, 2, 0, 2},
      new int[]{0, 0, 2, 1, 1, 1, 2, 2, 0}, new int[]{0, 0, 2, 2, 0, 2, 1, 1, 1},
      new int[]{0, 0, 2, 2, 2, 0, 1, 1, 1}, new int[]{0, 1, 0, 0, 0, 2, 1, 1, 1},
      new int[]{0, 1, 0, 0, 1, 0, 1, 1, 2}, new int[]{0, 1, 0, 0, 1, 0, 2, 1, 1},
      new int[]{0, 1, 0, 0, 1, 1, 2, 1, 0}, new int[]{0, 1, 0, 0, 1, 2, 1, 1, 0},
      new int[]{0, 1, 0, 0, 1, 2, 2, 1, 2}, new int[]{0, 1, 0, 0, 2, 0, 1, 1, 1},
      new int[]{0, 1, 0, 1, 1, 0, 0, 1, 2}, new int[]{0, 1, 0, 1, 1, 1, 0, 0, 2},
      new int[]{0, 1, 0, 1, 1, 1, 0, 2, 0}, new int[]{0, 1, 0, 1, 1, 1, 2, 0, 0},
      new int[]{0, 1, 0, 1, 1, 2, 0, 1, 0}, new int[]{0, 1, 0, 2, 0, 0, 1, 1, 1},
      new int[]{0, 1, 0, 2, 1, 0, 0, 1, 1}, new int[]{0, 1, 0, 2, 1, 0, 2, 1, 2},
      new int[]{0, 1, 0, 2, 1, 1, 0, 1, 0}, new int[]{0, 1, 0, 2, 1, 2, 0, 1, 2},
      new int[]{0, 1, 0, 2, 1, 2, 2, 1, 0}, new int[]{0, 1, 1, 0, 0, 1, 2, 0, 1},
      new int[]{0, 1, 1, 0, 1, 0, 1, 0, 2}, new int[]{0, 1, 1, 0, 1, 0, 1, 2, 0},
      new int[]{0, 1, 1, 0, 1, 0, 2, 1, 0}, new int[]{0, 1, 1, 0, 1, 2, 1, 0, 0},
      new int[]{0, 1, 1, 2, 0, 1, 0, 0, 1}, new int[]{0, 1, 1, 2, 1, 0, 0, 1, 0},
      new int[]{0, 1, 1, 2, 1, 0, 1, 0, 0}, new int[]{0, 1, 2, 0, 1, 0, 1, 1, 0},
      new int[]{0, 1, 2, 0, 1, 0, 2, 1, 2}, new int[]{0, 1, 2, 0, 1, 2, 2, 1, 0},
      new int[]{0, 1, 2, 1, 1, 0, 0, 1, 0}, new int[]{0, 1, 2, 2, 1, 0, 0, 1, 2},
      new int[]{0, 1, 2, 2, 1, 0, 2, 1, 0}, new int[]{0, 1, 2, 2, 1, 2, 0, 1, 0},
      new int[]{0, 2, 0, 0, 0, 1, 1, 1, 1}, new int[]{0, 2, 0, 0, 1, 0, 1, 1, 1},
      new int[]{0, 2, 0, 0, 2, 2, 1, 1, 1}, new int[]{0, 2, 0, 1, 0, 0, 1, 1, 1},
      new int[]{0, 2, 0, 1, 1, 1, 0, 0, 1}, new int[]{0, 2, 0, 1, 1, 1, 0, 1, 0},
      new int[]{0, 2, 0, 1, 1, 1, 0, 2, 2}, new int[]{0, 2, 0, 1, 1, 1, 1, 0, 0},
      new int[]{0, 2, 0, 1, 1, 1, 2, 0, 2}, new int[]{0, 2, 0, 1, 1, 1, 2, 2, 0},
      new int[]{0, 2, 0, 2, 0, 2, 1, 1, 1}, new int[]{0, 2, 0, 2, 2, 0, 1, 1, 1},
      new int[]{0, 2, 1, 0, 0, 1, 1, 0, 1}, new int[]{0, 2, 1, 0, 0, 1, 2, 2, 1},
      new int[]{0, 2, 1, 0, 1, 0, 1, 0, 1}, new int[]{0, 2, 1, 0, 1, 0, 1, 1, 0},
      new int[]{0, 2, 1, 0, 1, 0, 1, 2, 2}, new int[]{0, 2, 1, 0, 1, 1, 1, 0, 0},
      new int[]{0, 2, 1, 0, 1, 2, 1, 0, 2}, new int[]{0, 2, 1, 0, 1, 2, 1, 2, 0},
      new int[]{0, 2, 1, 0, 2, 1, 2, 0, 1}, new int[]{0, 2, 1, 1, 0, 1, 0, 0, 1},
      new int[]{0, 2, 1, 1, 1, 0, 1, 0, 0}, new int[]{0, 2, 1, 2, 0, 1, 0, 2, 1},
      new int[]{0, 2, 1, 2, 0, 1, 2, 0, 1}, new int[]{0, 2, 1, 2, 1, 0, 1, 0, 2},
      new int[]{0, 2, 1, 2, 1, 0, 1, 2, 0}, new int[]{0, 2, 1, 2, 1, 2, 1, 0, 0},
      new int[]{0, 2, 1, 2, 2, 1, 0, 0, 1}, new int[]{0, 2, 2, 0, 0, 2, 1, 1, 1},
      new int[]{0, 2, 2, 0, 2, 0, 1, 1, 1}, new int[]{0, 2, 2, 1, 1, 1, 0, 0, 2},
      new int[]{0, 2, 2, 1, 1, 1, 0, 2, 0}, new int[]{0, 2, 2, 1, 1, 1, 2, 0, 0},
      new int[]{0, 2, 2, 2, 0, 0, 1, 1, 1}, new int[]{1, 0, 0, 0, 0, 2, 1, 1, 1},
      new int[]{1, 0, 0, 0, 1, 0, 1, 2, 1}, new int[]{1, 0, 0, 0, 1, 0, 2, 1, 1},
      new int[]{1, 0, 0, 0, 1, 1, 0, 2, 1}, new int[]{1, 0, 0, 0, 1, 1, 2, 0, 1},
      new int[]{1, 0, 0, 0, 1, 2, 0, 1, 1}, new int[]{1, 0, 0, 0, 1, 2, 1, 0, 1},
      new int[]{1, 0, 0, 0, 1, 2, 2, 2, 1}, new int[]{1, 0, 0, 0, 2, 0, 1, 1, 1},
      new int[]{1, 0, 0, 1, 0, 0, 1, 1, 2}, new int[]{1, 0, 0, 1, 0, 0, 1, 2, 1},
      new int[]{1, 0, 0, 1, 0, 1, 1, 2, 0}, new int[]{1, 0, 0, 1, 0, 2, 1, 1, 0},
      new int[]{1, 0, 0, 1, 0, 2, 1, 2, 2}, new int[]{1, 0, 0, 1, 1, 0, 0, 2, 1},
      new int[]{1, 0, 0, 1, 1, 0, 1, 0, 2}, new int[]{1, 0, 0, 1, 1, 0, 2, 0, 1},
      new int[]{1, 0, 0, 1, 1, 1, 0, 0, 2}, new int[]{1, 0, 0, 1, 1, 1, 0, 2, 0},
      new int[]{1, 0, 0, 1, 1, 1, 2, 0, 0}, new int[]{1, 0, 0, 1, 1, 2, 0, 0, 1},
      new int[]{1, 0, 0, 1, 1, 2, 1, 0, 0}, new int[]{1, 0, 0, 1, 2, 0, 1, 0, 1},
      new int[]{1, 0, 0, 1, 2, 0, 1, 2, 2}, new int[]{1, 0, 0, 1, 2, 1, 1, 0, 0},
      new int[]{1, 0, 0, 1, 2, 2, 1, 0, 2}, new int[]{1, 0, 0, 1, 2, 2, 1, 2, 0},
      new int[]{1, 0, 0, 2, 0, 0, 1, 1, 1}, new int[]{1, 0, 0, 2, 1, 0, 0, 1, 1},
      new int[]{1, 0, 0, 2, 1, 0, 1, 0, 1}, new int[]{1, 0, 0, 2, 1, 0, 2, 2, 1},
      new int[]{1, 0, 0, 2, 1, 1, 0, 0, 1}, new int[]{1, 0, 0, 2, 1, 2, 0, 2, 1},
      new int[]{1, 0, 0, 2, 1, 2, 2, 0, 1}, new int[]{1, 0, 1, 0, 0, 1, 0, 2, 1},
      new int[]{1, 0, 1, 0, 1, 0, 0, 2, 1}, new int[]{1, 0, 1, 0, 1, 0, 1, 0, 2},
      new int[]{1, 0, 1, 0, 1, 0, 1, 2, 0}, new int[]{1, 0, 1, 0, 1, 0, 2, 0, 1},
      new int[]{1, 0, 1, 0, 1, 2, 0, 0, 1}, new int[]{1, 0, 1, 0, 1, 2, 1, 0, 0},
      new int[]{1, 0, 1, 0, 2, 1, 0, 0, 1}, new int[]{1, 0, 1, 1, 0, 0, 1, 2, 0},
      new int[]{1, 0, 1, 1, 2, 0, 1, 0, 0}, new int[]{1, 0, 1, 2, 1, 0, 0, 0, 1},
      new int[]{1, 0, 1, 2, 1, 0, 1, 0, 0}, new int[]{1, 0, 2, 0, 1, 0, 0, 1, 1},
      new int[]{1, 0, 2, 0, 1, 0, 1, 0, 1}, new int[]{1, 0, 2, 0, 1, 0, 2, 2, 1},
      new int[]{1, 0, 2, 0, 1, 1, 0, 0, 1}, new int[]{1, 0, 2, 0, 1, 2, 0, 2, 1},
      new int[]{1, 0, 2, 0, 1, 2, 2, 0, 1}, new int[]{1, 0, 2, 1, 0, 0, 1, 1, 0},
      new int[]{1, 0, 2, 1, 0, 0, 1, 2, 2}, new int[]{1, 0, 2, 1, 0, 2, 1, 2, 0},
      new int[]{1, 0, 2, 1, 1, 0, 0, 0, 1}, new int[]{1, 0, 2, 1, 1, 0, 1, 0, 0},
      new int[]{1, 0, 2, 1, 2, 0, 1, 0, 2}, new int[]{1, 0, 2, 1, 2, 0, 1, 2, 0},
      new int[]{1, 0, 2, 1, 2, 2, 1, 0, 0}, new int[]{1, 0, 2, 2, 1, 0, 0, 2, 1},
      new int[]{1, 0, 2, 2, 1, 0, 2, 0, 1}, new int[]{1, 0, 2, 2, 1, 2, 0, 0, 1},
      new int[]{1, 1, 0, 0, 1, 0, 0, 1, 2}, new int[]{1, 1, 0, 0, 1, 0, 0, 2, 1},
      new int[]{1, 1, 0, 0, 1, 0, 2, 0, 1}, new int[]{1, 1, 0, 0, 1, 2, 0, 0, 1},
      new int[]{1, 1, 0, 0, 1, 2, 0, 1, 0}, new int[]{1, 1, 0, 1, 0, 0, 1, 0, 2},
      new int[]{1, 1, 0, 1, 0, 2, 1, 0, 0}, new int[]{1, 1, 0, 2, 1, 0, 0, 0, 1},
      new int[]{1, 1, 1, 0, 0, 1, 0, 0, 2}, new int[]{1, 1, 1, 0, 0, 1, 0, 2, 0},
      new int[]{1, 1, 1, 0, 0, 1, 2, 0, 0}, new int[]{1, 1, 1, 0, 0, 2, 0, 0, 1},
      new int[]{1, 1, 1, 0, 0, 2, 0, 1, 0}, new int[]{1, 1, 1, 0, 0, 2, 0, 2, 2},
      new int[]{1, 1, 1, 0, 0, 2, 1, 0, 0}, new int[]{1, 1, 1, 0, 0, 2, 2, 0, 2},
      new int[]{1, 1, 1, 0, 0, 2, 2, 2, 0}, new int[]{1, 1, 1, 0, 1, 0, 0, 0, 2},
      new int[]{1, 1, 1, 0, 1, 0, 0, 2, 0}, new int[]{1, 1, 1, 0, 1, 0, 2, 0, 0},
      new int[]{1, 1, 1, 0, 2, 0, 0, 0, 1}, new int[]{1, 1, 1, 0, 2, 0, 0, 1, 0},
      new int[]{1, 1, 1, 0, 2, 0, 0, 2, 2}, new int[]{1, 1, 1, 0, 2, 0, 1, 0, 0},
      new int[]{1, 1, 1, 0, 2, 0, 2, 0, 2}, new int[]{1, 1, 1, 0, 2, 0, 2, 2, 0},
      new int[]{1, 1, 1, 0, 2, 2, 0, 0, 2}, new int[]{1, 1, 1, 0, 2, 2, 0, 2, 0},
      new int[]{1, 1, 1, 0, 2, 2, 2, 0, 0}, new int[]{1, 1, 1, 1, 0, 0, 0, 0, 2},
      new int[]{1, 1, 1, 1, 0, 0, 0, 2, 0}, new int[]{1, 1, 1, 1, 0, 0, 2, 0, 0},
      new int[]{1, 1, 1, 2, 0, 0, 0, 0, 1}, new int[]{1, 1, 1, 2, 0, 0, 0, 1, 0},
      new int[]{1, 1, 1, 2, 0, 0, 0, 2, 2}, new int[]{1, 1, 1, 2, 0, 0, 1, 0, 0},
      new int[]{1, 1, 1, 2, 0, 0, 2, 0, 2}, new int[]{1, 1, 1, 2, 0, 0, 2, 2, 0},
      new int[]{1, 1, 1, 2, 0, 2, 0, 0, 2}, new int[]{1, 1, 1, 2, 0, 2, 0, 2, 0},
      new int[]{1, 1, 1, 2, 0, 2, 2, 0, 0}, new int[]{1, 1, 1, 2, 2, 0, 0, 0, 2},
      new int[]{1, 1, 1, 2, 2, 0, 0, 2, 0}, new int[]{1, 1, 1, 2, 2, 0, 2, 0, 0},
      new int[]{1, 1, 2, 0, 1, 0, 0, 0, 1}, new int[]{1, 1, 2, 0, 1, 0, 0, 1, 0},
      new int[]{1, 1, 2, 1, 0, 0, 1, 0, 0}, new int[]{1, 2, 0, 0, 1, 0, 0, 1, 1},
      new int[]{1, 2, 0, 0, 1, 0, 1, 0, 1}, new int[]{1, 2, 0, 0, 1, 0, 2, 2, 1},
      new int[]{1, 2, 0, 0, 1, 1, 0, 0, 1}, new int[]{1, 2, 0, 0, 1, 2, 0, 2, 1},
      new int[]{1, 2, 0, 0, 1, 2, 2, 0, 1}, new int[]{1, 2, 0, 1, 0, 0, 1, 0, 1},
      new int[]{1, 2, 0, 1, 0, 0, 1, 2, 2}, new int[]{1, 2, 0, 1, 0, 1, 1, 0, 0},
      new int[]{1, 2, 0, 1, 0, 2, 1, 0, 2}, new int[]{1, 2, 0, 1, 0, 2, 1, 2, 0},
      new int[]{1, 2, 0, 1, 1, 0, 0, 0, 1}, new int[]{1, 2, 0, 1, 2, 0, 1, 0, 2},
      new int[]{1, 2, 0, 1, 2, 2, 1, 0, 0}, new int[]{1, 2, 0, 2, 1, 0, 0, 2, 1},
      new int[]{1, 2, 0, 2, 1, 0, 2, 0, 1}, new int[]{1, 2, 0, 2, 1, 2, 0, 0, 1},
      new int[]{1, 2, 1, 0, 0, 1, 0, 0, 1}, new int[]{1, 2, 1, 0, 1, 0, 0, 0, 1},
      new int[]{1, 2, 1, 0, 1, 0, 1, 0, 0}, new int[]{1, 2, 1, 1, 0, 0, 1, 0, 0},
      new int[]{1, 2, 2, 0, 1, 0, 0, 2, 1}, new int[]{1, 2, 2, 0, 1, 0, 2, 0, 1},
      new int[]{1, 2, 2, 0, 1, 2, 0, 0, 1}, new int[]{1, 2, 2, 1, 0, 0, 1, 0, 2},
      new int[]{1, 2, 2, 1, 0, 0, 1, 2, 0}, new int[]{1, 2, 2, 1, 0, 2, 1, 0, 0},
      new int[]{1, 2, 2, 1, 2, 0, 1, 0, 0}, new int[]{1, 2, 2, 2, 1, 0, 0, 0, 1},
      new int[]{2, 0, 0, 0, 0, 1, 1, 1, 1}, new int[]{2, 0, 0, 0, 1, 0, 1, 1, 1},
      new int[]{2, 0, 0, 0, 2, 2, 1, 1, 1}, new int[]{2, 0, 0, 1, 0, 0, 1, 1, 1},
      new int[]{2, 0, 0, 1, 1, 1, 0, 0, 1}, new int[]{2, 0, 0, 1, 1, 1, 0, 1, 0},
      new int[]{2, 0, 0, 1, 1, 1, 0, 2, 2}, new int[]{2, 0, 0, 1, 1, 1, 1, 0, 0},
      new int[]{2, 0, 0, 1, 1, 1, 2, 0, 2}, new int[]{2, 0, 0, 1, 1, 1, 2, 2, 0},
      new int[]{2, 0, 0, 2, 0, 2, 1, 1, 1}, new int[]{2, 0, 0, 2, 2, 0, 1, 1, 1},
      new int[]{2, 0, 1, 0, 0, 1, 0, 1, 1}, new int[]{2, 0, 1, 0, 0, 1, 2, 2, 1},
      new int[]{2, 0, 1, 0, 1, 0, 1, 0, 1}, new int[]{2, 0, 1, 0, 1, 0, 1, 1, 0},
      new int[]{2, 0, 1, 0, 1, 0, 1, 2, 2}, new int[]{2, 0, 1, 0, 1, 1, 0, 0, 1},
      new int[]{2, 0, 1, 0, 1, 1, 1, 0, 0}, new int[]{2, 0, 1, 0, 1, 2, 1, 0, 2},
      new int[]{2, 0, 1, 0, 1, 2, 1, 2, 0}, new int[]{2, 0, 1, 0, 2, 1, 0, 2, 1},
      new int[]{2, 0, 1, 0, 2, 1, 2, 0, 1}, new int[]{2, 0, 1, 1, 1, 0, 1, 0, 0},
      new int[]{2, 0, 1, 2, 0, 1, 0, 2, 1}, new int[]{2, 0, 1, 2, 1, 0, 1, 0, 2},
      new int[]{2, 0, 1, 2, 1, 0, 1, 2, 0}, new int[]{2, 0, 1, 2, 1, 2, 1, 0, 0},
      new int[]{2, 0, 1, 2, 2, 1, 0, 0, 1}, new int[]{2, 0, 2, 0, 0, 2, 1, 1, 1},
      new int[]{2, 0, 2, 0, 2, 0, 1, 1, 1}, new int[]{2, 0, 2, 1, 1, 1, 0, 0, 2},
      new int[]{2, 0, 2, 1, 1, 1, 0, 2, 0}, new int[]{2, 0, 2, 1, 1, 1, 2, 0, 0},
      new int[]{2, 0, 2, 2, 0, 0, 1, 1, 1}, new int[]{2, 1, 0, 0, 1, 0, 0, 1, 1},
      new int[]{2, 1, 0, 0, 1, 0, 2, 1, 2}, new int[]{2, 1, 0, 0, 1, 1, 0, 1, 0},
      new int[]{2, 1, 0, 0, 1, 2, 0, 1, 2}, new int[]{2, 1, 0, 0, 1, 2, 2, 1, 0},
      new int[]{2, 1, 0, 2, 1, 0, 0, 1, 2}, new int[]{2, 1, 0, 2, 1, 2, 0, 1, 0},
      new int[]{2, 1, 1, 0, 0, 1, 0, 0, 1}, new int[]{2, 1, 1, 0, 1, 0, 0, 1, 0},
      new int[]{2, 1, 1, 0, 1, 0, 1, 0, 0}, new int[]{2, 1, 2, 0, 1, 0, 0, 1, 2},
      new int[]{2, 1, 2, 0, 1, 0, 2, 1, 0}, new int[]{2, 1, 2, 0, 1, 2, 0, 1, 0},
      new int[]{2, 1, 2, 2, 1, 0, 0, 1, 0}, new int[]{2, 2, 0, 0, 0, 2, 1, 1, 1},
      new int[]{2, 2, 0, 0, 2, 0, 1, 1, 1}, new int[]{2, 2, 0, 1, 1, 1, 0, 0, 2},
      new int[]{2, 2, 0, 1, 1, 1, 0, 2, 0}, new int[]{2, 2, 0, 1, 1, 1, 2, 0, 0},
      new int[]{2, 2, 0, 2, 0, 0, 1, 1, 1}, new int[]{2, 2, 1, 0, 0, 1, 0, 2, 1},
      new int[]{2, 2, 1, 0, 0, 1, 2, 0, 1}, new int[]{2, 2, 1, 0, 1, 0, 1, 0, 2},
      new int[]{2, 2, 1, 0, 1, 0, 1, 2, 0}, new int[]{2, 2, 1, 0, 1, 2, 1, 0, 0},
      new int[]{2, 2, 1, 0, 2, 1, 0, 0, 1}, new int[]{2, 2, 1, 2, 0, 1, 0, 0, 1},
      new int[]{2, 2, 1, 2, 1, 0, 1, 0, 0}, new int[]{0, 0, 1, 1, 0, 0, 0, 1, 1},
      new int[]{0, 0, 1, 1, 1, 0, 0, 0, 1}, new int[]{0, 0, 1, 1, 1, 0, 0, 1, 0},
      new int[]{0, 1, 0, 0, 0, 1, 1, 0, 1}, new int[]{0, 1, 0, 0, 1, 0, 1, 0, 1},
      new int[]{0, 1, 0, 0, 1, 1, 1, 0, 0}, new int[]{0, 1, 0, 1, 0, 0, 1, 0, 1},
      new int[]{0, 1, 0, 1, 1, 0, 0, 0, 1}, new int[]{0, 1, 1, 1, 0, 0, 0, 0, 1},
      new int[]{1, 0, 0, 0, 0, 1, 1, 1, 0}, new int[]{1, 0, 0, 0, 1, 1, 0, 1, 0},
      new int[]{1, 0, 0, 0, 1, 1, 1, 0, 0}, new int[]{1, 0, 1, 0, 0, 1, 0, 1, 0},
      new int[]{1, 0, 1, 0, 1, 0, 0, 1, 0}, new int[]{1, 0, 1, 1, 0, 0, 0, 1, 0},
      new int[]{1, 1, 0, 0, 0, 1, 1, 0, 0}};

   private static double[] weights = new double[]{-0.00000000000000063401,
      0.00000000000000055700, 0.00000000000000012769, -0.52573653474162341000,
      0.43427498705107342000, 0.09146154769055023200, 0.00000000000000138130,
      -0.00000000000000118053, -0.00000000000000050631, 0.52573653474162607000,
      -0.43427498705107603000, -0.09146154769055094000, -0.00000000000000057743,
      0.00000000000000037314, -0.00000000000000023441, 0.52573653474162907000,
      -0.43427498705107787000, -0.09146154769055155100, -0.00000000000000405476,
      0.00000000000000339568, 0.00000000000000053496, -0.52573653474162763000,
      0.43427498705107587000, 0.09146154769055155100, -0.00000000000000116499,
      0.00000000000000111960, 0.00000000000000004464, 0.59181480684449950000,
      -0.48617039139374285000, -0.10564441545075645000, 0.33659693927260309000,
      -0.28023189914604213000, -0.05636504012656110000, -0.00000000000000339401,
      0.00000000000000312093, 0.00000000000000057542, 0.33659693927260292000,
      -0.28023189914604213000, -0.05636504012656087800, 0.00000000000000099480,
      -0.00000000000000067295, -0.00000000000000003901, -0.33659693927260537000,
      0.28023189914604435000, 0.05636504012656118300, -0.00000000000000284785,
      0.00000000000000269180, 0.00000000000000026089, -0.33659693927260426000,
      0.28023189914604330000, 0.05636504012656121800, -0.59181480684449039000,
      0.48617039139373414000, 0.10564441545075609000, 0.00000000000000098567,
      -0.00000000000000095474, -0.00000000000000021207, -0.33659693927260698000,
      0.28023189914604579000, 0.05636504012656142600, -0.59181480684449372000,
      0.48617039139373774000, 0.10564441545075645000, 0.33659693927260514000,
      -0.28023189914604435000, -0.05636504012656100300, -0.00000000000000010012,
      0.00000000000000001702, 0.00000000000000012437, -0.33659693927260204000,
      0.28023189914604152000, 0.05636504012656010100, 0.59181480684449428000,
      -0.48617039139373813000, -0.10564441545075638000, 0.33659693927260081000,
      -0.28023189914603991000, -0.05636504012656074600, 0.00000000000000216976,
      -0.00000000000000195478, -0.00000000000000023527, 0.39961448116107012000,
      -0.35734834346184241000, -0.04226613769922773400, -0.33634249144114892000,
      0.28239332896420155000, 0.05394916247694748300, 0.39961448116106396000,
      -0.35734834346183769000, -0.04226613769922723400, -0.33634249144114703000,
      0.28239332896420027000, 0.05394916247694724100, -0.21667948075941171000,
      0.12935693076722185000, 0.08732254999219028800, -0.33634249144114398000,
      0.28239332896419722000, 0.05394916247694688700, 0.39961448116106157000,
      -0.35734834346183453000, -0.04226613769922710200, -0.33634249144114919000,
      0.28239332896420105000, 0.05394916247694810100, 0.39961448116107307000,
      -0.35734834346184485000, -0.04226613769922824700, -0.54188833749531484000,
      0.49456532031183192000, 0.04732301718348254400, 0.00000000000000042643,
      -0.00000000000000052416, -0.00000000000000028161, 0.54188833749532672000,
      -0.49456532031184147000, -0.04732301718348516700, 0.00000000000000208148,
      -0.00000000000000170526, -0.00000000000000039120, -0.00000000000001165642,
      0.00000000000000998830, 0.00000000000000133016, -0.00000000000000389738,
      0.00000000000000286692, 0.00000000000000081238, 0.54188833749532805000,
      -0.49456532031184208000, -0.04732301718348581200, -0.00000000000000308117,
      0.00000000000000212213, 0.00000000000000117840, -0.54188833749532439000,
      0.49456532031183975000, 0.04732301718348420900, 0.20000000000000001000,
      0.20000000000000001000, 0.20000000000000001000, 0.20000000000000001000,
      0.20000000000000001000, 0.20000000000000001000, 0.20000000000000001000,
      0.20000000000000001000, 0.20000000000000001000, 0.20000000000000001000,
      0.20000000000000001000, 0.20000000000000001000, 0.20000000000000001000,
      0.20000000000000001000, 0.20000000000000001000, 0.33333333333333331000,
      0.33333333333333331000, 0.33333333333333331000, 0.00000000000000093850,
      -0.00000000000000054323, -0.00000000000000011761, -0.03290466729806285100,
      0.00000000000000063771, 0.00000000000000000000, 0.00000000000000000000,
      0.00000000000000000000, 0.00000000000000000000};

   // **********************************************************************
   // MAIN
   // **********************************************************************


   public static void  Main(System.String[] args)
   {
      double[,] xData; // Input  Attributes for Trainer
      int[] yData; // Output Attributes for Trainer
      int i, j; // array indicies
      int[,] z;
      
      // **********************************************************************
      // PREPROCESS TRAINING PATTERNS
      // **********************************************************************
      long t0 = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
      
      xData = new double[nObs,nInputs];
      yData = new int[nObs];
      
      /* Perform Binary Filtering. */
      for (i = 0; i < data.Length; i++)
      {
         for (j = 0; j < data[0].Length; j++)
         {
            data[i][j]++;
         }
      }
      int[] xx = new int[nObs];
      UnsupervisedNominalFilter filter = new UnsupervisedNominalFilter(3);
      for (i = 0; i < 9; i++)
      {
         // Copy each variable to a temp var
         for (j = 0; j < nObs; j++)
         {
            xx[j] = data[j][i];
         }
         //  Perform binary filter on temp var
         z = filter.Encode(xx);
         //  Copy binary encoded var to xData
         for (j = 0; j < nObs; j++)
         {
            for (int k = 0; k < 3; k++)
            {
               xData[j,k + (i * 3)] = (double) z[j,k];
            }
         }
      }
      
      for (i = 0; i < nObs; i++)
      {
         yData[i] = (i >= 626?0:1);
      }

      // **********************************************************************
      // CREATE FEEDFORWARD NETWORK
      // **********************************************************************
      FeedForwardNetwork network = new FeedForwardNetwork();
      network.InputLayer.CreateInputs(nInputs);
      network.CreateHiddenLayer().CreatePerceptrons(nPerceptrons1);
      network.CreateHiddenLayer().CreatePerceptrons(nPerceptrons2);
      network.OutputLayer.CreatePerceptrons(nOutputs);
      network.LinkAll();
      network.Weights = weights;
      Perceptron[] perceptrons = network.Perceptrons;
      for (i = 0; i < perceptrons.Length - 1; i++)
      {
         perceptrons[i].Activation = hiddenLayerActivation;
      }
      // **********************************************************************
      // SET OUTPUT LAYER ACTIVATION FUNCTION TO LOGISTIC FOR BINARY CLASSIFICATION
      // **********************************************************************
      perceptrons[perceptrons.Length - 1].Activation = outputLayerActivation;
      
      BinaryClassification classification = new BinaryClassification(network);
      
      QuasiNewtonTrainer stageITrainer = new QuasiNewtonTrainer();
      QuasiNewtonTrainer stageIITrainer = new QuasiNewtonTrainer();
      stageITrainer.SetError(classification.Error);
      stageIITrainer.SetError(classification.Error);
      stageITrainer.MaximumTrainingIterations = 8000;
      stageITrainer.MaximumStepsize = 10.0;
      stageIITrainer.MaximumStepsize = 10.0;
      stageIITrainer.MaximumTrainingIterations = 8000;
      EpochTrainer trainer = new EpochTrainer(stageITrainer, stageIITrainer);
      
      // Set Training Parameters
      trainer.NumberOfEpochs = 20;
      trainer.EpochSize = nObs;
      
      // Set random number seeds to produce repeatable output
      trainer.Random = new Random(5555);
      trainer.SetRandomSamples(new Random(5555), new Random(5555));
      classification.Train(trainer, xData, yData);
      System.Console.Out.WriteLine("trainer.getErrorValue = " +
         trainer.ErrorValue);
      System.Console.Out.WriteLine("StageITrainer.getErrorValue = " +
         stageITrainer.ErrorValue);
      System.Console.Out.WriteLine("StageIITrainer.getErrorValue = " +
         stageIITrainer.ErrorValue);
      
      // **********************************************************************
      // DISPLAY TRAINING STATISTICS
      // **********************************************************************
      double[] stats = classification.ComputeStatistics(xData, yData);
      System.Console.Out.WriteLine(
         "***********************************************");
      System.Console.Out.WriteLine("--> Cross-entropy error:        " +
         (float)stats[0]);
      System.Console.Out.WriteLine("--> Classification error rate:  " +
      (float)stats[1]);
      System.Console.Out.WriteLine(
         "***********************************************");
      System.Console.Out.WriteLine("");
      
      
      // **********************************************************************
      // OBTAIN AND DISPLAY NETWORK WEIGHTS AND GRADIENTS
      // **********************************************************************
      double[] weight = network.Weights;
      double[] gradient = trainer.ErrorGradient;
      double[][] wg = new double[weight.Length][];
      for (int i3 = 0; i3 < weight.Length; i3++)
      {
         wg[i3] = new double[2];
      }
      for (i = 0; i < weight.Length; i++)
      {
         wg[i][0] = weight[i];
         wg[i][1] = gradient[i];
      }
      PrintMatrixFormat pmf = new PrintMatrixFormat();
      pmf.SetColumnLabels(new System.String[]{"Weights", "Gradients"});
      new PrintMatrix().Print(pmf, wg);
      
      // **********************************************************************
      //     forecast the network
      // **********************************************************************
      double[][] report = new double[nObs][];
      for (int i4 = 0; i4 < nObs; i4++)
      {
         report[i4] = new double[2];
      }
      for (i = 0; i < 50; i++)
      {
         report[i][0] = yData[i];
            double[] tmp = new double[xData.GetLength(1)];
            for (j=0; j<xData.GetLength(1); j++)
                tmp[j] = xData[i,j];
         report[i][1] = classification.PredictedClass(tmp);
      }
      
      pmf = new PrintMatrixFormat();
      pmf.SetColumnLabels( new System.String[]{"Expected", "Predicted"});
      new PrintMatrix("Forecast").Print(pmf, report);
      
      long t1 = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
      double time = t1 - t0; //Math.max(small, (double)(t1-t0)/(double)iters);
      time = time / 1000;
      System.Console.Out.WriteLine("****************Time:  " + time);
      System.Console.Out.WriteLine("trainer.getErrorValue = " +
         trainer.ErrorValue);
      System.Console.Out.WriteLine("StageITrainer.getErrorValue = " +
         stageITrainer.ErrorValue);
      System.Console.Out.WriteLine("StageIITrainer.getErrorValue = " +
         stageIITrainer.ErrorValue);
   }
}

Output

trainer.getErrorValue = 1.38629447264277
StageITrainer.getErrorValue = 341.896192465936
StageIITrainer.getErrorValue = 1.38629447264277
***********************************************
--> Cross-entropy error:        1.386294
--> Classification error rate:  0.002087683
***********************************************

           Weights               Gradients        
  0   -26.6097976573308    -1.76013093157232E-07  
  1    79.2470900942513    -3.9259607432252E-09   
  2   -33.5433683376609    -9.95507902332743E-09  
  3     2.21041535535485    6.47606304741283E-12  
  4    15.9227299370867    -7.92672053349369E-08  
  5    32.2932177476722     2.16769316126848E-07  
  6  -110.229528537971      1.60009076640888E-09  
  7    43.0115071508866    -9.56560614455885E-08  
  8    -6.72341801061297   -1.99042706374008E-08  
  9     3.82202932248916   -3.44338957093567E-09  
 10    -1.52763776833912   -4.67416809899007E-34  
 11    19.096318145894      1.06581268595036E-37  
 12    -6.20159756258499   -3.75471657439398E-37  
 13     2.30629260428251    1.77102057507573E-37  
 14   -26.3461568303238    -1.45338905465151E-42  
 15   -27.912063156244     -3.23151405837895E-08  
 16    36.3210304224857     1.55178803567368E-09  
 17   -40.5700810470139    -1.00405026567488E-08  
 18     5.94185679788313   -2.10634338816164E-08  
 19    12.8231358563635    -8.13118613514597E-08  
 20    32.2113802373171     7.3071363553406E-08   
 21   -60.2258886605208    -3.87765801249E-09     
 22    42.8334049469       -9.55706378121672E-08  
 23     0.253218038120759   1.16563930726296E-09  
 24   -10.4192312451491    -1.39873355441285E-09  
 25     1.10132050954968    3.30048882191631E-27  
 26    12.199990492126      1.00794238510197E-27  
 27     3.15699338840009   -1.27487754292101E-36  
 28    -7.20259442259759   -4.97300892576816E-27  
 29    -9.99851831420775    2.66695912315823E-29  
 30   -26.3385484724221     1.52366554789366E-07  
 31    65.1653516520099    -2.59304404823118E-09  
 32   -40.2337421647594    -9.28867802769452E-08  
 33    12.7546549371301     1.16549218783095E-09  
 34   -36.9912885381589    -3.44339063945978E-09  
 35    31.8719580928069    -1.11610331819749E-07  
 36   -75.4669369173807     2.67174071414864E-10  
 37    38.3417469286413    -1.27243601919707E-08  
 38   -17.2123954014748    -2.10632867621844E-08  
 39    18.4014308721567    -7.92672042664128E-08  
 40    -1.43098018584262   -3.80193732612446E-34  
 41    -0.265020137782834   8.49527031810026E-29  
 42     6.4678253527918    -2.4129919645073E-38   
 43     4.0087366295492    -4.97308613230902E-27  
 44    10.4385823414027     3.27914964551473E-30  
 45   -28.1024762680355    -4.21249368544629E-07  
 46    62.8100726278876    -2.27685589155942E-09  
 47   -23.9829618085034    -9.56658507793321E-08  
 48   -18.4761944978989    -1.98977918245327E-08  
 49    30.645136501639     -1.39871670591387E-09  
 50    32.4353708210909     4.62005591514245E-07  
 51   -70.1218158127842    -4.90140852568933E-11  
 52    36.1916462883953    -9.94528968958386E-09  
 53     1.03638734536457   -2.74982069124107E-15  
 54   -13.5594811206575    -8.13118781999587E-08  
 55     0.18700276514072   -7.06279899438387E-43  
 56    -3.77324466133111    7.25858300892723E-38  
 57    -8.383749634121     -1.73858570142904E-36  
 58    17.5982428451326     7.54095767597564E-37  
 59   -24.6173879312637    -1.37785999442333E-40  
 60   -20.258351942152      2.8862622792285E-07   
 61    56.7905424920708     2.6635105374416E-10   
 62   -53.7883610055096    -9.5570637836146E-08   
 63    27.9844966690905    -1.98977923264668E-08  
 64   -54.4900399816996     2.04467393347846E-09  
 65    37.0571465811016    -2.47870004953234E-07  
 66   -73.9187059285026    -2.59222103056048E-09  
 67    57.7528833255766    -1.00405026327699E-08  
 68   -19.1914450829349    -2.24788663240107E-15  
 69    34.4658886111249    -8.4755268839351E-08   
 70   -13.1090289774173     1.76210736423409E-24  
 71     5.49900711796567    1.00424771675945E-27  
 72     1.70369231662346   -5.32757842089505E-23  
 73    -9.09289929443768   -3.52040697402979E-26  
 74    12.2953916658469     2.3390441586071E-29   
 75   -27.4818129360831     4.43281192065308E-07  
 76    48.1316658031404    -4.98371251655421E-11  
 77   -34.0761614176618    -7.63854604777945E-09  
 78   -10.6698732282012     3.71928374478061E-10  
 79   -20.7852963033874    -8.13118787175936E-08  
 80    32.5577122725433    -4.02524969095691E-07  
 81   -61.1887835024785    -2.27603285165078E-09  
 82    34.8170651512053    -9.79725944211365E-08  
 83     6.63722445362796   -2.02697229488315E-08  
 84    16.5220845779096    -1.39871618827893E-09  
 85    -0.160895088640468   3.30048890011806E-27  
 86     1.85827799132845    1.0935461721458E-27   
 87     3.78269514701215   -2.03606355425952E-37  
 88     2.97974747746492   -7.72068070714235E-32  
 89    -3.60575967549916    2.45076692281205E-27  
 90   -27.6593797606404     4.15232805139475E-07  
 91    72.3342855580823    -2.32585476757858E-09  
 92   -24.7298826022964    -7.56358115079602E-09  
 93     5.24227794358502   -2.06913578857583E-08  
 94   -16.9304351865014    -8.47552677708944E-08  
 95    30.7407379285903    -3.74476582169859E-07  
 96   -71.9479456279238    -1.52092377331025E-14  
 97    45.8003226113044    -9.80475593181199E-08  
 98   -24.6378777857398     7.93563311404888E-10  
 99     6.23728601645476    2.0446728650218E-09   
100     0.533861406588414   8.69622769614886E-35  
101   -11.5890280314343     1.39685762306099E-28  
102   -16.1548714189138    -6.28455381082345E-34  
103    18.9583573897183    -1.28719086134143E-25  
104     3.56568118146885    3.65618430530922E-34  
105   -28.465938502988      7.00620144653407E-08  
106    21.3448850345718    -3.87683496658173E-09  
107   -19.30027174882      -9.79620254277453E-08  
108    -2.77292404194946    7.87230245936389E-10  
109     1.83277246414745   -1.39873355441285E-09  
110    32.3382786494488    -2.93057914957237E-08  
111   -49.5952082003002     1.55096498976541E-09  
112    29.9349835508889    -7.64911504117054E-09  
113    -5.47912940998204   -2.06850248202898E-08  
114    -5.64894665504052   -8.13118613514597E-08  
115     0.260715006887127   1.75880687601373E-24  
116    16.6667759427184     3.69466844883976E-30  
117    -7.04065602320258   -5.32757842089507E-23  
118     7.02117525437252   -4.01770786660928E-26  
119    -3.11151101069225    3.27914964537858E-30  
120   -28.4825481958908    -5.36210077248606E-07  
121    71.1272184809125     1.60089856884223E-09  
122   -32.4116685301335    -1.10772699145759E-07  
123    -1.70847780496737   -2.02697238246857E-08  
124   -16.2557204309972    -8.27105943881702E-08  
125    30.3385841713894     5.76966300218224E-07  
126   -87.9377967090049    -3.92676854565855E-09  
127    50.246529583999      5.16155867684338E-09  
128   -10.096654805183      3.71929250332289E-10  
129    10.2633449323559    -5.17702391593651E-16  
130     1.96938482868274    1.75880687595947E-24  
131     5.34996503177684    1.59734938184303E-37  
132   -14.713205212991     -5.32757842089508E-23  
133    11.716720259857     -3.52040697399322E-26  
134    -2.0119500580206     2.76081718492693E-42  
135  -165.787101153353     -3.25241613346471E-08  
136  -153.126623517672     -2.18413261959866E-09  
137   -21.4407461371651     2.56421775779744E-09  
138    19.5580189313542    -1.05973313874125E-08  
139    44.9089494067269    -7.19785691192466E-09  
140   -49.083352621682      4.30604139136833E-09  
141   -18.9381369969533     1.76292638468803E-09  
142   -83.3719106138484     7.19716170610117E-09  
143   137.944766899566      4.36581809057208E-09  
144    39.0313514342063    -4.51667695917841E-08  
145    75.599341597783     -3.06933546775251E-11  
146   195.169995384174     -1.23667681444798E-10  
147   -83.0199447688769     1.86542026484299E-08  
148    25.8184987265264    -1.62741417975303E-10  
149   -97.6355018936802     4.35877811974283E-09  
150   160.889205710213     -2.45893958744307E-09  
151    84.4502033182748    -3.00133311935682E-09  
152  -112.732145115534     -3.33652618216474E-10  
153     4.22767450727702    4.07562229696174E-08  
154   -10.8342582573892    -2.32586997681632E-09  
155     4.39655805882639   -1.05611140468916E-07  
156    -0.553850439419576  -1.98977945743534E-08  
157    -8.20433040373114   -8.27105949058726E-08  
158   114.83608474643      -2.48317911575925E-08  
159   128.51819165101      -2.63457735094495E-09  
160    13.7239100272455    -1.99531479597656E-09  
161   -48.157060604333     -4.11525980456149E-09  

         Forecast
     Expected  Predicted  
  0     1          1      
  1     1          1      
  2     1          1      
  3     1          1      
  4     1          1      
  5     1          1      
  6     1          1      
  7     1          1      
  8     1          1      
  9     1          1      
 10     1          1      
 11     1          1      
 12     1          1      
 13     1          1      
 14     1          1      
 15     1          1      
 16     1          1      
 17     1          1      
 18     1          1      
 19     1          1      
 20     1          1      
 21     1          1      
 22     1          1      
 23     1          1      
 24     1          1      
 25     1          1      
 26     1          1      
 27     1          1      
 28     1          1      
 29     1          1      
 30     1          1      
 31     1          1      
 32     1          1      
 33     1          1      
 34     1          1      
 35     1          1      
 36     1          1      
 37     1          1      
 38     1          1      
 39     1          1      
 40     1          1      
 41     1          1      
 42     1          1      
 43     1          1      
 44     1          1      
 45     1          1      
 46     1          1      
 47     1          1      
 48     1          1      
 49     1          1      
 50     0          0      
 51     0          0      
 52     0          0      
 53     0          0      
 54     0          0      
 55     0          0      
 56     0          0      
 57     0          0      
 58     0          0      
 59     0          0      
 60     0          0      
 61     0          0      
 62     0          0      
 63     0          0      
 64     0          0      
 65     0          0      
 66     0          0      
 67     0          0      
 68     0          0      
 69     0          0      
 70     0          0      
 71     0          0      
 72     0          0      
 73     0          0      
 74     0          0      
 75     0          0      
 76     0          0      
 77     0          0      
 78     0          0      
 79     0          0      
 80     0          0      
 81     0          0      
 82     0          0      
 83     0          0      
 84     0          0      
 85     0          0      
 86     0          0      
 87     0          0      
 88     0          0      
 89     0          0      
 90     0          0      
 91     0          0      
 92     0          0      
 93     0          0      
 94     0          0      
 95     0          0      
 96     0          0      
 97     0          0      
 98     0          0      
 99     0          0      
100     0          0      
101     0          0      
102     0          0      
103     0          0      
104     0          0      
105     0          0      
106     0          0      
107     0          0      
108     0          0      
109     0          0      
110     0          0      
111     0          0      
112     0          0      
113     0          0      
114     0          0      
115     0          0      
116     0          0      
117     0          0      
118     0          0      
119     0          0      
120     0          0      
121     0          0      
122     0          0      
123     0          0      
124     0          0      
125     0          0      
126     0          0      
127     0          0      
128     0          0      
129     0          0      
130     0          0      
131     0          0      
132     0          0      
133     0          0      
134     0          0      
135     0          0      
136     0          0      
137     0          0      
138     0          0      
139     0          0      
140     0          0      
141     0          0      
142     0          0      
143     0          0      
144     0          0      
145     0          0      
146     0          0      
147     0          0      
148     0          0      
149     0          0      
150     0          0      
151     0          0      
152     0          0      
153     0          0      
154     0          0      
155     0          0      
156     0          0      
157     0          0      
158     0          0      
159     0          0      
160     0          0      
161     0          0      
162     0          0      
163     0          0      
164     0          0      
165     0          0      
166     0          0      
167     0          0      
168     0          0      
169     0          0      
170     0          0      
171     0          0      
172     0          0      
173     0          0      
174     0          0      
175     0          0      
176     0          0      
177     0          0      
178     0          0      
179     0          0      
180     0          0      
181     0          0      
182     0          0      
183     0          0      
184     0          0      
185     0          0      
186     0          0      
187     0          0      
188     0          0      
189     0          0      
190     0          0      
191     0          0      
192     0          0      
193     0          0      
194     0          0      
195     0          0      
196     0          0      
197     0          0      
198     0          0      
199     0          0      
200     0          0      
201     0          0      
202     0          0      
203     0          0      
204     0          0      
205     0          0      
206     0          0      
207     0          0      
208     0          0      
209     0          0      
210     0          0      
211     0          0      
212     0          0      
213     0          0      
214     0          0      
215     0          0      
216     0          0      
217     0          0      
218     0          0      
219     0          0      
220     0          0      
221     0          0      
222     0          0      
223     0          0      
224     0          0      
225     0          0      
226     0          0      
227     0          0      
228     0          0      
229     0          0      
230     0          0      
231     0          0      
232     0          0      
233     0          0      
234     0          0      
235     0          0      
236     0          0      
237     0          0      
238     0          0      
239     0          0      
240     0          0      
241     0          0      
242     0          0      
243     0          0      
244     0          0      
245     0          0      
246     0          0      
247     0          0      
248     0          0      
249     0          0      
250     0          0      
251     0          0      
252     0          0      
253     0          0      
254     0          0      
255     0          0      
256     0          0      
257     0          0      
258     0          0      
259     0          0      
260     0          0      
261     0          0      
262     0          0      
263     0          0      
264     0          0      
265     0          0      
266     0          0      
267     0          0      
268     0          0      
269     0          0      
270     0          0      
271     0          0      
272     0          0      
273     0          0      
274     0          0      
275     0          0      
276     0          0      
277     0          0      
278     0          0      
279     0          0      
280     0          0      
281     0          0      
282     0          0      
283     0          0      
284     0          0      
285     0          0      
286     0          0      
287     0          0      
288     0          0      
289     0          0      
290     0          0      
291     0          0      
292     0          0      
293     0          0      
294     0          0      
295     0          0      
296     0          0      
297     0          0      
298     0          0      
299     0          0      
300     0          0      
301     0          0      
302     0          0      
303     0          0      
304     0          0      
305     0          0      
306     0          0      
307     0          0      
308     0          0      
309     0          0      
310     0          0      
311     0          0      
312     0          0      
313     0          0      
314     0          0      
315     0          0      
316     0          0      
317     0          0      
318     0          0      
319     0          0      
320     0          0      
321     0          0      
322     0          0      
323     0          0      
324     0          0      
325     0          0      
326     0          0      
327     0          0      
328     0          0      
329     0          0      
330     0          0      
331     0          0      
332     0          0      
333     0          0      
334     0          0      
335     0          0      
336     0          0      
337     0          0      
338     0          0      
339     0          0      
340     0          0      
341     0          0      
342     0          0      
343     0          0      
344     0          0      
345     0          0      
346     0          0      
347     0          0      
348     0          0      
349     0          0      
350     0          0      
351     0          0      
352     0          0      
353     0          0      
354     0          0      
355     0          0      
356     0          0      
357     0          0      
358     0          0      
359     0          0      
360     0          0      
361     0          0      
362     0          0      
363     0          0      
364     0          0      
365     0          0      
366     0          0      
367     0          0      
368     0          0      
369     0          0      
370     0          0      
371     0          0      
372     0          0      
373     0          0      
374     0          0      
375     0          0      
376     0          0      
377     0          0      
378     0          0      
379     0          0      
380     0          0      
381     0          0      
382     0          0      
383     0          0      
384     0          0      
385     0          0      
386     0          0      
387     0          0      
388     0          0      
389     0          0      
390     0          0      
391     0          0      
392     0          0      
393     0          0      
394     0          0      
395     0          0      
396     0          0      
397     0          0      
398     0          0      
399     0          0      
400     0          0      
401     0          0      
402     0          0      
403     0          0      
404     0          0      
405     0          0      
406     0          0      
407     0          0      
408     0          0      
409     0          0      
410     0          0      
411     0          0      
412     0          0      
413     0          0      
414     0          0      
415     0          0      
416     0          0      
417     0          0      
418     0          0      
419     0          0      
420     0          0      
421     0          0      
422     0          0      
423     0          0      
424     0          0      
425     0          0      
426     0          0      
427     0          0      
428     0          0      
429     0          0      
430     0          0      
431     0          0      
432     0          0      
433     0          0      
434     0          0      
435     0          0      
436     0          0      
437     0          0      
438     0          0      
439     0          0      
440     0          0      
441     0          0      
442     0          0      
443     0          0      
444     0          0      
445     0          0      
446     0          0      
447     0          0      
448     0          0      
449     0          0      
450     0          0      
451     0          0      
452     0          0      
453     0          0      
454     0          0      
455     0          0      
456     0          0      
457     0          0      
458     0          0      
459     0          0      
460     0          0      
461     0          0      
462     0          0      
463     0          0      
464     0          0      
465     0          0      
466     0          0      
467     0          0      
468     0          0      
469     0          0      
470     0          0      
471     0          0      
472     0          0      
473     0          0      
474     0          0      
475     0          0      
476     0          0      
477     0          0      
478     0          0      
479     0          0      
480     0          0      
481     0          0      
482     0          0      
483     0          0      
484     0          0      
485     0          0      
486     0          0      
487     0          0      
488     0          0      
489     0          0      
490     0          0      
491     0          0      
492     0          0      
493     0          0      
494     0          0      
495     0          0      
496     0          0      
497     0          0      
498     0          0      
499     0          0      
500     0          0      
501     0          0      
502     0          0      
503     0          0      
504     0          0      
505     0          0      
506     0          0      
507     0          0      
508     0          0      
509     0          0      
510     0          0      
511     0          0      
512     0          0      
513     0          0      
514     0          0      
515     0          0      
516     0          0      
517     0          0      
518     0          0      
519     0          0      
520     0          0      
521     0          0      
522     0          0      
523     0          0      
524     0          0      
525     0          0      
526     0          0      
527     0          0      
528     0          0      
529     0          0      
530     0          0      
531     0          0      
532     0          0      
533     0          0      
534     0          0      
535     0          0      
536     0          0      
537     0          0      
538     0          0      
539     0          0      
540     0          0      
541     0          0      
542     0          0      
543     0          0      
544     0          0      
545     0          0      
546     0          0      
547     0          0      
548     0          0      
549     0          0      
550     0          0      
551     0          0      
552     0          0      
553     0          0      
554     0          0      
555     0          0      
556     0          0      
557     0          0      
558     0          0      
559     0          0      
560     0          0      
561     0          0      
562     0          0      
563     0          0      
564     0          0      
565     0          0      
566     0          0      
567     0          0      
568     0          0      
569     0          0      
570     0          0      
571     0          0      
572     0          0      
573     0          0      
574     0          0      
575     0          0      
576     0          0      
577     0          0      
578     0          0      
579     0          0      
580     0          0      
581     0          0      
582     0          0      
583     0          0      
584     0          0      
585     0          0      
586     0          0      
587     0          0      
588     0          0      
589     0          0      
590     0          0      
591     0          0      
592     0          0      
593     0          0      
594     0          0      
595     0          0      
596     0          0      
597     0          0      
598     0          0      
599     0          0      
600     0          0      
601     0          0      
602     0          0      
603     0          0      
604     0          0      
605     0          0      
606     0          0      
607     0          0      
608     0          0      
609     0          0      
610     0          0      
611     0          0      
612     0          0      
613     0          0      
614     0          0      
615     0          0      
616     0          0      
617     0          0      
618     0          0      
619     0          0      
620     0          0      
621     0          0      
622     0          0      
623     0          0      
624     0          0      
625     0          0      
626     0          0      
627     0          0      
628     0          0      
629     0          0      
630     0          0      
631     0          0      
632     0          0      
633     0          0      
634     0          0      
635     0          0      
636     0          0      
637     0          0      
638     0          0      
639     0          0      
640     0          0      
641     0          0      
642     0          0      
643     0          0      
644     0          0      
645     0          0      
646     0          0      
647     0          0      
648     0          0      
649     0          0      
650     0          0      
651     0          0      
652     0          0      
653     0          0      
654     0          0      
655     0          0      
656     0          0      
657     0          0      
658     0          0      
659     0          0      
660     0          0      
661     0          0      
662     0          0      
663     0          0      
664     0          0      
665     0          0      
666     0          0      
667     0          0      
668     0          0      
669     0          0      
670     0          0      
671     0          0      
672     0          0      
673     0          0      
674     0          0      
675     0          0      
676     0          0      
677     0          0      
678     0          0      
679     0          0      
680     0          0      
681     0          0      
682     0          0      
683     0          0      
684     0          0      
685     0          0      
686     0          0      
687     0          0      
688     0          0      
689     0          0      
690     0          0      
691     0          0      
692     0          0      
693     0          0      
694     0          0      
695     0          0      
696     0          0      
697     0          0      
698     0          0      
699     0          0      
700     0          0      
701     0          0      
702     0          0      
703     0          0      
704     0          0      
705     0          0      
706     0          0      
707     0          0      
708     0          0      
709     0          0      
710     0          0      
711     0          0      
712     0          0      
713     0          0      
714     0          0      
715     0          0      
716     0          0      
717     0          0      
718     0          0      
719     0          0      
720     0          0      
721     0          0      
722     0          0      
723     0          0      
724     0          0      
725     0          0      
726     0          0      
727     0          0      
728     0          0      
729     0          0      
730     0          0      
731     0          0      
732     0          0      
733     0          0      
734     0          0      
735     0          0      
736     0          0      
737     0          0      
738     0          0      
739     0          0      
740     0          0      
741     0          0      
742     0          0      
743     0          0      
744     0          0      
745     0          0      
746     0          0      
747     0          0      
748     0          0      
749     0          0      
750     0          0      
751     0          0      
752     0          0      
753     0          0      
754     0          0      
755     0          0      
756     0          0      
757     0          0      
758     0          0      
759     0          0      
760     0          0      
761     0          0      
762     0          0      
763     0          0      
764     0          0      
765     0          0      
766     0          0      
767     0          0      
768     0          0      
769     0          0      
770     0          0      
771     0          0      
772     0          0      
773     0          0      
774     0          0      
775     0          0      
776     0          0      
777     0          0      
778     0          0      
779     0          0      
780     0          0      
781     0          0      
782     0          0      
783     0          0      
784     0          0      
785     0          0      
786     0          0      
787     0          0      
788     0          0      
789     0          0      
790     0          0      
791     0          0      
792     0          0      
793     0          0      
794     0          0      
795     0          0      
796     0          0      
797     0          0      
798     0          0      
799     0          0      
800     0          0      
801     0          0      
802     0          0      
803     0          0      
804     0          0      
805     0          0      
806     0          0      
807     0          0      
808     0          0      
809     0          0      
810     0          0      
811     0          0      
812     0          0      
813     0          0      
814     0          0      
815     0          0      
816     0          0      
817     0          0      
818     0          0      
819     0          0      
820     0          0      
821     0          0      
822     0          0      
823     0          0      
824     0          0      
825     0          0      
826     0          0      
827     0          0      
828     0          0      
829     0          0      
830     0          0      
831     0          0      
832     0          0      
833     0          0      
834     0          0      
835     0          0      
836     0          0      
837     0          0      
838     0          0      
839     0          0      
840     0          0      
841     0          0      
842     0          0      
843     0          0      
844     0          0      
845     0          0      
846     0          0      
847     0          0      
848     0          0      
849     0          0      
850     0          0      
851     0          0      
852     0          0      
853     0          0      
854     0          0      
855     0          0      
856     0          0      
857     0          0      
858     0          0      
859     0          0      
860     0          0      
861     0          0      
862     0          0      
863     0          0      
864     0          0      
865     0          0      
866     0          0      
867     0          0      
868     0          0      
869     0          0      
870     0          0      
871     0          0      
872     0          0      
873     0          0      
874     0          0      
875     0          0      
876     0          0      
877     0          0      
878     0          0      
879     0          0      
880     0          0      
881     0          0      
882     0          0      
883     0          0      
884     0          0      
885     0          0      
886     0          0      
887     0          0      
888     0          0      
889     0          0      
890     0          0      
891     0          0      
892     0          0      
893     0          0      
894     0          0      
895     0          0      
896     0          0      
897     0          0      
898     0          0      
899     0          0      
900     0          0      
901     0          0      
902     0          0      
903     0          0      
904     0          0      
905     0          0      
906     0          0      
907     0          0      
908     0          0      
909     0          0      
910     0          0      
911     0          0      
912     0          0      
913     0          0      
914     0          0      
915     0          0      
916     0          0      
917     0          0      
918     0          0      
919     0          0      
920     0          0      
921     0          0      
922     0          0      
923     0          0      
924     0          0      
925     0          0      
926     0          0      
927     0          0      
928     0          0      
929     0          0      
930     0          0      
931     0          0      
932     0          0      
933     0          0      
934     0          0      
935     0          0      
936     0          0      
937     0          0      
938     0          0      
939     0          0      
940     0          0      
941     0          0      
942     0          0      
943     0          0      
944     0          0      
945     0          0      
946     0          0      
947     0          0      
948     0          0      
949     0          0      
950     0          0      
951     0          0      
952     0          0      
953     0          0      
954     0          0      
955     0          0      
956     0          0      
957     0          0      

****************Time:  100.988
trainer.getErrorValue = 1.38629447264277
StageITrainer.getErrorValue = 341.896192465936
StageIITrainer.getErrorValue = 1.38629447264277

Link to C# source.